KR20070045326A - 데이터의 유틸리티를 기반으로 하여 데이터 저장장소로부터 데이터를 선택하는 시스템 - Google Patents

데이터의 유틸리티를 기반으로 하여 데이터 저장장소로부터 데이터를 선택하는 시스템 Download PDF

Info

Publication number
KR20070045326A
KR20070045326A KR1020077006182A KR20077006182A KR20070045326A KR 20070045326 A KR20070045326 A KR 20070045326A KR 1020077006182 A KR1020077006182 A KR 1020077006182A KR 20077006182 A KR20077006182 A KR 20077006182A KR 20070045326 A KR20070045326 A KR 20070045326A
Authority
KR
South Korea
Prior art keywords
storage location
data
data storage
objects
data objects
Prior art date
Application number
KR1020077006182A
Other languages
English (en)
Other versions
KR100914895B1 (ko
Inventor
애덤 버거
리차드 로메로
Original Assignee
노키아 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 노키아 코포레이션 filed Critical 노키아 코포레이션
Publication of KR20070045326A publication Critical patent/KR20070045326A/ko
Application granted granted Critical
Publication of KR100914895B1 publication Critical patent/KR100914895B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/212Monitoring or handling of messages using filtering or selective blocking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본원에는 소스 데이터 저장 장소에 내재하는 데이터 객체들의 집합으로부터 상기 데이터 객체들의 집합에 내재하는 데이터 객체들 각각에 대하여 유틸리티를 지정하는 소정의 방법에 따라 데이터 객체들을 선택하는 방법 및 대응 장치가 개시되어 있다. 상기 유틸리티를 지정하는 소정의 방법은 복수 개의 인자들을 고려하는 것이 전형적이며, 각각의 인자에 대한 가중치들을 제공하여, 예를 들면 데이터 객체에 지정된 유틸리티가 시간 경과에 따라 감소하지만, 상기 데이터 객체가 아직 사용자에게 보이지 않은 경우나 후속 동작이 필요하다는 것을 나타내도록 상기 데이터 객체가 마크된 경우에 증강되게 한다. 본 발명은 예를 들면 데이터 객체들의 전체 집합에 내재하는 유틸리티가 높은 데이터 객체(메시지들)만을 상기 이동 전화에 저장하는 이동 전화 메시징 사용자 에이전트의 일부로부터 또는 그러한 이동 전화 메시징 사용자 에이전트와 관련하여 유용하다.

Description

데이터의 유틸리티를 기반으로 하여 데이터 저장 장소로부터 데이터를 선택하는 시스템{System for selecting data from a data store based on utility of the data}
본 발명은 데이터 저장 장소 내의 데이터 저장에 관한 것이며, 더 구체적으로 기술하면 예컨대 타깃 데이터 저장 장소를 소스 데이터 저장 장소와 적어도 부분적으로 동기화시키거나 메일박스 내에 보관하도록 전자메일 또는 전자메일 첨부파일들을 선택함에 있어서 데이터 저장 장소 내에 저장하기 위해 데이터 집합에서 단지 데이터 부분집합만을 선택하는 것에 관한 것이다.
소규모 데이터 저장 장소를 대규모 저장 장소와 동기화시킴에 있어서, 일반적으로 상기 대규모 데이터 저장 장소에 내재하는 모든 데이터가 상기 소규모 데이터 저장 장소에 전달될 수는 없다. 따라서, 그러한 동기화는 단지 상기 대규모 데이터 저장 장소에서의 데이터 부분집합만의 선택을 포함하여야 한다.
대규모 데이터 집합으로부터 (때때로 데이터 객체들 또는 간단히 객체들이라고 지칭됨으로써, 데이터 저장 장소의 데이터 레코드 또는 파일, 또는 레코드 또는 파일 자체에 내재하는 데이터와 같은 임의의 가능한 정보 편성을 포함하는) 데이터 부분집합을 선택하는 문제가 다른 여러 태스크의 이동 정보 액세스에서 빈번히 생 기고 있다. 그러한 태스크들은 일반적으로 이동 전화 또는 USB 키체인, 또는 개인 휴대 정보 단말기 등등과 같은 이동 장치에 데이터를 전송하는 것을 언급하는 서버-모바일 동기화로서 특징화될 수 있다. 이동 전화는 캘린더, 전화번호부, 투-두 리스트(to-do list) 소프트웨어 애플리케이션, 및 메일박스와 같은 여러 개인 정보 관리(Personal Information Management; PIM) 소프트웨어 애플리케이션들을 포함하는 것이 전형적이다. 사용자들은 이러한 이동 소프트웨어 애플리케이션들 내에 수동으로 정보를 입력할 수 있지만, 대부분의 사람은 주로 그러한 정보의 주 저장 장소인 원격 그룹-웨어 서버 또는 개인용 컴퓨터(PC)에 의존한다. 더욱이, 사람들은 서버 기반의 주 레포지토리(primary repository)의 "미러(mirror)" 또는 캐시로서 자신들의 이동 전화들에 관한 전자메일/개인 정보 관리(PIM) 소프트웨어 애플리케이션들을 사용하고 있다.
이동 장치에 정보를 복사하기 위해, 사용자는 동기화 프로그램을 호출하여 하나 또는 다른 하나의 동기화 프로토콜에 따라 상기 이동 장치 및 원격 컴퓨터 간에 데이터를 전송할 수 있다. 통상적인 동기화 프로토콜은 www.syncml.org에서 입수가능한 사양을 갖는 SyncML 프로토콜 v1.1.1이다. 최종 동기화 이후로 상기 서버상에 저장된 데이터의 양에 따라, 그러한 동기화는 상당량의 데이터 전송을 포함할 수 있다. 예를 들면, 각각의 전자메일이 첨부파일을 포함할 수 있고 일부 전자메일이 클 수 있기(특히 큰 그래픽 이미지들일 수 있기) 때문에 단지 비교적 적은 개수의 전자메일만이 메일박스에 있더라도 메일박스가 수십 또는 심지어는 수백 메가바이트(MB)를 초과하는 것이 이상하지는 않다.
무선 인터페이스를 통해, 네트워크 성능 및 운영자 부담 요금 때문에 전체 데이터 저장 장소가 이동 장치와 동기화하지 못하게 될 수 있다. 심지어는 무료 및/또는 고속 접속을 통해서도, 이동 장치는 전체 데이터 저장 장소를 저장할 용량이 부족할 수 있다. 그러한 경우에, 상기 데이터 저장 장소에 내재하는 단지 일부 객체들만이, 다시 말하면 선택된 부분집합에 내재하는 객체들이 상기 이동 장치에 전송될 수 있다. 종래 기술에서는 전송할 객체들을 선택하는 간단한 방법들, 즉 "가장 최근에 생성된 객체들의 저장"과 같은 규칙을 사용하는 방법들이 제공되어 있다. 종종, 그러한 간단한 해결방안은 예컨대 이전의 객체들이 중요하다고 할 경우에, 새로운 객체들이 중요하지 않다고 할 경우에 또는 대규모의 새로운 객체가 다른 모든 것을 밀쳐낸 경우에 결코 이상적이지 않다. 종래 기술에 의해 제공된 다른 한 해결방안은 사용자가 동기화하는 객체들을 수동으로 선택해야 할 필요가 있지만, 그러한 해결방안은 번거로운 것임을 분명히 알 수 있다. (이동 메시징 사용자 에이전트 메시지가 저장될 경우에, 종래 기술에서는 또한 가장 최근 메시지들 중 단지 슬라이딩 윈도우(sliding window)만을 이동 장치상에 저장하고, 상기 윈도우를 이탈한 메시지들을 자동으로 제거하는 것이 교시되어 있다. 이는 "최근에 생성된 객체들의 저장" 규칙을 사용하여 객체들을 선택하는 형태로 간주될 수 있다.)
데이터 집합으로부터 단지 데이터 부분집합만을 선택하는 문제는 또한 클라이언트에 대한 인터넷 서비스 제공자(Internet Service Provider; ISP) 또는 다른 엔터프라이즈 호스팅 전자메일의 경우에 생긴다. 대부분의 인터넷 서비스 제공자(ISP)들 및 엔터프라이즈들은 사용자의 메일박스의 크기를 할당(quota)한다. 그 러한 할당은 때때로 5MB 정도로 작다. 어느 고정된 할당, 심지어는 대규모 할당으로 사용자들은 상기 메일박스로부터 메시지들을 제거하거나 상기 메시지들을 다른 저장 레포지토리로 이동하는 데 시간을 소비해야 한다. 위에서와 같이, 그러한 태스크는 수동이거나 종래 기술에 의해 제공된 간단한 해결방안들을 사용하여 수행될 수 있다.
따라서, 데이터 집합에서 단지 일부 데이터만을 선택하는 더 정교한 자동화된 절차, 즉 종래 기술에 의해 제공되는 간단한 자동화된 해결방안들보다 확실히 더 유용하다고 생각되는 절차가 필요하다.
따라서, 본 발명의 제1 실시태양에 의하면, 소스 데이터 저장 장소에 내재하는 데이터 객체들의 집합으로부터 데이터 객체들의 부분집합을 선택하는 단계; 및 타깃 데이터 저장 장소 내에 상기 선택된 데이터 객체들을 저장하는 단계를 포함하며, 상기 데이터 객체들의 부분집합을 선택하는 단계는 상기 데이터 객체들의 집합에 내재하는 데이터 객체들 각각에 대하여 유틸리티를 지정하는 소정의 방법에 따라 수행되는 방법이 제공된다.
본 발명의 제1 실시태양에 의하면, 상기 데이터 객체들의 부분집합을 선택하는 단계는 상기 유틸리티를 지정하는 소정의 방법에 따라 높은 유틸리티를 지니는 상기 소스 데이터 저장 장소에 내재하는 적어도 일부 데이터 객체를 상기 부분집합에 포함시키도록 수행될 수 있다.
또한, 본 발명의 제1 실시태양에 의하면, 상기 유틸리티를 지정하는 소정의 방법은 복수 개의 인자들을 고려하고, 상기 인자들 각각에 대한 가중치들을 제공한 모델을 기반으로 할 수 있다. 더욱이, 상기 가중치들은 적어도 하나의 사용자에 의한 데이터 객체들의 액세스를 모니터링한 것을 기반으로 할 수 있다. 또한, 상기 가중치들은 사용자들의 집합에 의한 데이터 객체들의 액세스를 모니터링한 것을 기반으로 하고 이어서 특정 사용자를 모니터링한 것을 기반으로 하여 상기 특정 사용자에 적응될 수 있다.
또한, 본 발명의 제1 실시태양에 의하면, 상기 인자들은 데이터 객체에 지정된 유틸리티가 시간 경과에 따라 연속해서 감소하지만, 상기 데이터 객체가 아직 보이지 않은 경우나 후속 동작이 필요하다는 것을 나타내도록 상기 데이터 객체가 마크(mark)된 경우에 증강되도록 구성될 수 있다.
또한, 본 발명의 제1 실시태양에 의하면, 상기 소스 데이터 저장 장소는 이동 장치에 의해 호스트(host)될 수 있으며 상기 타깃 데이터 저장 장소는 단지 상기 소스 데이터 저장 장소의 압축 동안에만 존재하는 임시 데이터 저장 장소일 수 있고, 상기 이동 장치는 또한 원격 메일 서버로부터 새로운 전자메일 메시지들을 인출하며 상기 새로운 전자메일 메시지들을 상기 소스 데이터 저장 장소에 배치하는 전자메일 사용자 에이전트를 호스트(host)할 수 있고, 때때로 상기 이동 장치에 의해 호스트되는 전자메일 사용자 에이전트 또는 관련 모듈은 상기 소스 데이터 저장 장소의 크기를 검사할 수 있으며, 상기 크기가 소정의 크기 한도를 초과할 경우에, 상기 부분집합 선택 단계를 수행한 다음에 새로운 타깃 데이터 저장 장소에 상기 선택된 객체들을 저장하고, 상기 소스 데이터 저장 장소를 삭제하고, 마지막으로 새로운 전자메일 메시지들을 수신하기 위해 상기 새로운 타킷 데이터 저장 장소를 새로운 소스 데이터 저장 장소로서 사용함으로써 상기 소스 데이터 저장 장소를 압축할 수 있다.
또한, 본 발명의 제1 실시태양에 의하면, 상기 소스 데이터 저장 장소는 동기화 서버에 의해 호스트될 수 있으며 상기 타깃 데이터 저장 장소는 동기화 클라이언트 장치상의 데이터 저장 장소일 수 있고, 상기 서버는 상기 타깃 데이터 저장 장소와 관련된 크기 한도를 초과하지 않는 객체들의 집합을 제공하도록 상기 소스 데이터 저장 장소에 내재하는 객체들의 부분집합 선택 단계를 수행할 수 있으며, 이어서, 객체들을 상기 클라이언트 장치에 전송할 수 있다. 또한, 상기 서버는 또한 상기 타깃 데이터 저장 장소 내에 저장하기 위해 선택되지 않은 모든 객체들에 대한 마커 및 객체 플래그먼트를 상기 클라이언트 장치에 전송하며, 상기 클라이언트 장치가 상기 마커를 삭제할 경우에, 상기 서버는 다음 동기화 동작으로 완전한 객체를 전송할 수 있다.
또한, 본 발명의 제1 실시태양에 의하면, 상기 부분집합을 선택 및 저장하는 단계들은 상기 소스 데이터 저장 장소로서 사용자 메일박스를 사용하여, 그리고 상기 타깃 데이터 저장 장소를 임시 데이터 저장 장소로서 사용하여 전자메일 서버에 의해 때때로 수행될 수 있으며, 때때로, 상기 전자메일 서버는 상기 소스 데이터 저장 장소의 크기를 검사할 수 있고, 상기 크기가 소정의 크기 한도를 초과한 경우에, 상기 부분집합 선택 단계를 수행한 다음에 상기 선택된 객체들을 새로운 타깃 데이터 저장 장소에 저장하고, 상기 소스 데이터 저장 장소를 삭제하고, 마지막으로, 새로운 전자메일 메시지들을 수신하기 위해 새로운 타깃 데이터 저장 장소를 새로운 소스 데이터 저장 장소로서 사용함으로써 상기 소스 데이터 저장 장소를 압축할 수 있다.
본 발명의 제2 실시태양에 의하면, 컴퓨터 프로세서에 의한 실행을 위해 컴퓨터 프로그램 코드가 포함되어 있는 컴퓨터 판독가능 저장 구조를 포함하는 컴퓨터 프로그램 생성물이 제공되며, 상기 컴퓨터 프로그램 코드는 소스 데이터 저장 장소에 내재하는 데이터 객체들의 집합으로부터 데이터 객체들의 부분집합을 선택하는 단계; 및 타깃 데이터 저장 장소에 상기 선택된 데이터 객체들을 저장하는 단계를 포함하는 방법을 수행하는 명령어들을 포함하며, 상기 데이터 객체들의 부분집합을 선택하는 단계는 상기 데이터 객체들의 집합에 내재하는 데이터 객체들 각각에 대하여 유틸리티를 지정하는 소정의 방법에 따라 수행된다.
본 발명의 제3 실시태양에 의하면, 소스 데이터 저장 장소에 내재하는 데이터 객체들의 집합으로부터 데이터 객체들의 부분집합을 선택하는 수단; 및 상기 선택된 데이터 객체들을 타깃 데이터 저장 장소에 저장하거나 상기 선택된 데이터 객체들을 다른 장치에 전송하여 상기 선택된 데이터 객체들을 타깃 데이터 저장 장소에 저장하는 수단을 포함하며, 상기 데이터 객체들의 부분집합을 선택하는 수단은 상기 데이터 객체들의 집합에 내재하는 데이터 객체들 각각에 대하여 유틸리티를 지정하는 소정의 방법에 따라 그렇게 수행한다.
본 발명의 제3 실시태양에 의하면, 그리고 본 발명의 제1 실시태양에 대응하여, 상기 데이터 객체들의 부분집합을 선택하는 수단은 상기 유틸리티를 지정하는 소정의 방법에 따라 높은 유틸리티를 지니는 상기 소스 데이터 저장 장소에 내재하는 적어도 일부 데이터 객체들을 상기 부분집합에 포함시킬 수 있고, 상기 유틸리티를 지정하는 소정의 방법은 복수 개의 인자들을 고려하며, 상기 인자들 각각에 대한 가중치들을 제공한 모델을 기반으로 할 수 있고, 상기 가중치들은 적어도 하나의 사용자에 의한 데이터 객체들의 액세스를 모니터링한 것을 기반으로 할 수 있거나 사용자들의 집합에 의한 데이터 객체들의 액세스를 모니터링한 것을 기반으로 하며, 이어서 특정 사용자를 모니터링한 것을 기반으로 하여 상기 특정 사용자에 적응될 수 있다. 또한, 그리고 다시 본 발명의 제1 실시태양에 대응하여, 상기 인자들은 데이터 객체에 지정된 유틸리티가 시간 경과에 따라 연속해서 감소하지만, 상기 데이터 객체가 아직 보이지 않은 경우나 후속 동작이 필요하다는 것을 나타내도록 상기 데이터 객체가 마크(mark)된 경우에 증강되도록 구성될 수 있다.
본 발명의 제4 실시태양에 의하면, 복수 개의 이동 장치들; 및 상기 복수 개의 이동 장치들에 연결되고 데이터를 압축하는 장치를 포함하거나 데이터를 압축하는 장치에 연결된 원격 통신 네트워크의 요소를 포함하고, 상기 데이터를 압축하는 장치는 소스 데이터 저장 장소에 내재하는 데이터 객체들의 집합으로부터 데이터 객체들의 부분집합을 선택하는 수단; 및 상기 선택된 데이터 객체들을 상기 복수 개의 이동 장치들 중 한 이동 장치 또는 다른 한 이동 장치에 전송하여 상기 복수 개의 이동 장치들 중 한 이동 장치 또는 다른 한 이동 장치상의 타깃 데이터 저장 장소 내에 상기 선택된 데이터 객체들을 저장하는 수단을 포함하며, 상기 데이터 객체들의 부분집합을 선택하는 수단은 상기 데이터 객체들의 집합에 내재하는 데이터 객체들 각각에 대하여 유틸리티를 지정하는 소정의 방법에 따라 그렇게 수행하는 시스템이 제공된다.
본 발명의 위에서 언급된 목적, 특징 및 이점 및 다른 목적, 특징 및 이점은 첨부도면들과 연관지어 제공된 이하의 상세한 설명을 고려하면 자명해질 것이다.
도 1은 본 발명에 따른 소스 데이터 저장 장소로부터 객체들의 부분집합을 선택하는 모듈을 블록도 및 흐름도로 보여주는 도면이다.열려질 수 있게 한다
도 2는 본 발명에 의해 제공되는 방법을 플로차트로 보여주는 도면이다.
개념상, 본 발명은 데이터 객체들(예컨대, 각각의 데이터 객체는 레코드 또는 파일을 이루고 있는 데이터, 또는 레코드 또는 파일 자체임)의 집합 및 상기 데이터 객체들의 집합의 부분집합들에 대한 크기 할당(Q)을 입력으로서 취한다. 이는 Q보다 크지 않은 크기를 갖는 데이터 객체들의 가능한 모든 부분집합을 고려하고, 상기 부분집합에 내재하는 개별 데이터 객체들의 유틸리티의 합산을 기반으로 하여 사용자에 대해 가장 높은 총합 유틸리티를 지니는 부분집합을 선택하는데, 이 경우에 지정된 데이터 객체의 유틸리티는 상기 데이터 객체들의 집합에 내재하는 다른 데이터 객체들 중 어느 한 데이터 객체 이전에 사용자가 다음의 데이터 객체에 액세스하게 될 추정 확률을 나타낸다. 달리 표현하면, 본 발명은 다음 액세스에 대한 실패 확률을 최소화한다.
본 발명은 데이터 객체의 유틸리티를 추정하는 확률 모델에 의존한다. 상기 모델의 매개변수 형태(parametric form)와 아울러, 시간 경과에 따라 사용자들의 집합 행위를 관찰함으로써 최대 공산(maximum likelihood)을 사용하여 상기 모델 매개변수에 대한 값들을 추정해야 하는 방식이 이하에서 설명될 것이다. 그 외에도, 데이터 객체들의 (전체) 집합에 내재하는 각각의 데이터 객체에 하나의 유틸리티를 지정한 후에, 본 발명이 이상적인 유틸리티 최대 및 할당 참작 데이터 객체들의 부분집합을 탐색하는 방식이 또한 설명될 것이다.
객체 유틸리티 지정
본 발명이 하나의 부분집합을 선택하여야 하는 데이터 객체들의 집합(C)을 고려해보기로 한다. 일반적으로 기술하면, 이러한 객체들 중 일부는 신형이고, 이러한 객체들 중 일부는 구형이며; 이러한 객체들 중 일부는 최근에 사용자에 의해 기록/편집/액세스된 것이고, 이러한 객체들 중 나머지는 장시간 동안 활동을 보이지 않은 것이다. 가장 중요한 점으로는, 식별 정보가 본 발명에 알려져 있지 않은 하나의 객체로서, 사용자가 상기 데이터 객체들의 집합(C)에 내재하는 모든 데이터 객체 중에서 다음에 액세스하게 되는 하나의 객체가 존재한다는 것이다. 특정 모델에 의해 상기 데이터 객체들의 집합(C)에 내재하는 각각의 데이터 객체에 지정될 확률로 상기 데이터 객체들의 집합(C)을 통한 확률 분포가 가정될 수 있는데, 이 경우에 지정된 확률은 상기 객체가 다음에 액세스될 공산이다. 이 같은 데이터 객체에 대한 확률, 즉 상기 데이터 객체가 다음에 요구될 객체일 확률은 여기서 데이터 객체의 "유틸리티(utility)"라고 지칭된다.
그러한 논의를 더 구체화하기 위해, 상기 집합(C)이 메일박스인 경우를 고려 해보기로 한다. 어느 한 순간에, 사용자는 상기 메일박스에 일정 수(즉, N개)의 메시지들을 지닌다. 상기 메일박스에 내재하는 모든 메시지 중에서 사용자가 다음에 보게 될 메시지가 하나 존재한다. 상기 메시지들을 통한 확률 분포가 지정되는데, 이 경우에 상기 모델에 의해 한 메시지에 지정되는 확률은 현재 상기 메일박스에 내재하는 기타의 메시지들 이전에 상기 메시지가 보이게 될 공산이다.
상기 확률 분포 및 심지어는 상기 분포의 형태는 알려져 있지 않지만, 그에 대해서는 어느 정도 경험을 통해 추측될 수 있다. 예컨대 제목에 "케이블 디스크램블러(cable descrambler)" 또는 "다이어트 필(diet pills)"이 기재된 비즈니스 및 개인 통신과는 다른 것들을 나타내는 주제를 갖는 메시지와 같은 특정 메시지들은 영이 될 정도로 작은 다음에 읽혀질 확률을 지니지만, 최고 경영자(CEO)로부터의 아주 최근에 도착된 메시지와 같은 나머지 메시지들은 높은 확률을 지닌다. 일반적으로 말하면, 메일박스에 내재하는 모든 N개의 메시지를 통한 확률 분포가 존재할 수 있다. 상기 메일박스에 내재하는 집합 {1,2,3...N} 중에서 어느 메시지가 다음에 사용자에 의해 읽혀질지를 나타내는 확률 변수를 X로 나타내기로 한다. 또한, 이러한 확률 변수의 값을 x로 나타내기로 하고 메시지(x)가 다음에 사용자에 의해 읽혀지게 될 사건의 확률을 P(X=x)로 나타내기로 한다.
일반적으로, 사용자의 메시지 액세스 행위에 대한 예측 모델은 예를 들면 메시지(x)의 연령; 메시지(x)의 전송자; 메시지(x)의 제목; 메시지(x)의 제목 내의 특정 주요 단어들/구들의 존재; 메시지(x)가 후속(follow-up) 조치를 위해 표시되었는지의 여부; 메시지(x)가 "중요한" 것으로 표시되었는지의 여부; 메시지(x)가 이미 읽혀진 횟수; 및 메일박스에서 동일한 스레드(thread)에 새로운 메시지가 존재하는지의 여부 중 하나 이상을 포함하는 여러 변수를 고려함으로써 특정 값을 P(X=x)로 지정한다.
여기서 유념할 점은 위에 리스트된 변수들 중에 메시지(x)의 크기가 존재하지 않는다는 것이다. 이는 의도적인 것으로, 이와 관련하여 메시지의 크기 자체가 동적인 양이라고 간주되는데, 그 이유는 상기 메시지가 압축되기 때문이다. 즉, 상기 메시지의 크기는 독립 변수가 아니다.
특정 모델이 P(X=x)를 제공하는데 적합한 개시점은 이하의 수학식 1과 같이 모델들의 조합이다.
Figure 112007021462769-PCT00001
상기 수학식 1 중에서, 0≤A,B,C≤1은 다음과 같은 제약 조건, 다시 말하면,
Figure 112007021462769-PCT00002
에 따른 가중 인자들이고,
Figure 112007021462769-PCT00003
는 일자들과 같은 개별 단위들로 측정된 데이터 객체(x)(이 경우에 메시지)의 연령이며,
Figure 112007021462769-PCT00004
는 0 또는 1 값을 지니는 서술/논리 함수로서, 메시지(x)가 읽혀지지 않을 경우와 단지 메시지(x)가 읽혀지지 않을 경우에만 1로 평가하는 서술/논리 함수이고,
Figure 112007021462769-PCT00005
는 메시지(x)가 후속 조치를 위해 플래그된 경우와 단지 메시지(x)가 후속 조치를 위해 플래그된 경우에 만 1로 평가하는 서술 함수이며, 경고(caveat)를 제외하고는
Figure 112007021462769-PCT00006
이고
Figure 112007021462769-PCT00007
이며
Figure 112007021462769-PCT00008
이고 이들은 모두 정규화 인자(normalizing factor)이다. 상기 경고는
Figure 112007021462769-PCT00009
또는
Figure 112007021462769-PCT00010
가 0인 경우들을 다루어야 한다. 여기서 유념할 점은 상기 메일박스가 어떠한 읽혀진 메시지들이라도 포함할 경우에
Figure 112007021462769-PCT00011
이라는 것이다. 이는 0으로의 나눗셈 때문에 상기 수학식 1에서의 2번째 항이 무한대 값을 갖게 하는 결과를 초래한다. 본 발명의 구현예에 있어서, 어떠한 메시지들이라도 읽혀질 경우에는 단순히 상기 수학식 1에서의 2번째 항이 0이도록 정의된다. 상기 수학식 1에서의 세번째 항에 대해 유사한 문제가 생김으로써 어떠한 메시지들이라도 플래그되는 경우에는 단순히 상기 수학식 1에서의 세번째 항이 0이도록 정의된다.
상기 수학식 1에 의해 제공된 P(X)의 형태는 여기서 사용된 의미에서 특정 메시지의 유틸리티가 시간에 따라 지수적으로 감소(첫 번째 항)하지만, 상기 메시지가 아직 읽혀지지 않은(두 번째 항) 경우에나 상기 메시지가 후속 조치를 위해 마크된(세 번째 항) 경우에 향상된다고 규정한 것이다.
상기 수학식 1에서
Figure 112007021462769-PCT00012
로 표시된 연령은 상기 메시지가 전송되거나 수신된 이래로부터 현재까지의 시간 또는 상기 메시지가 최종적으로 읽혀진 이래로부터 현재까지의 시간을 포함하는 다른 여러 가능한 해석을 지닌다. 본 발명이 전형적으로 채용하고 있는 것은 이러한 해석들 중 마지막의 해석이다. 이러한 선택 이면의 직관적 사실은 2주 전에 수신되었지만 한 시간 전에 최종적으로 액세스된 메시지가 일주일 전에 수신된 메시지로서 그 이래로 보이지 않은 메시지보다 빨리 다시 액세스될 가능성이 크다.
상기 수학식 1에 대응하는 모델은 때때로 단지 매우 정확도가 떨어지는 추정값인 것만을 제공하는데, 다시 말하면 특정 메시지가 다음에 보이게 되는 메시지일 공산에 관계가 있는 이전에 언급된 인자들 대부분을 고려하지 않은 추정값을 제공한다. 추가의 인자들을 병합한 더 복잡한 모델이 가정될 수 있다. 조합 모델 공식화의 이점은 조합 모델 공식화가 추가의 인자들을 용이하게 수용할 수 있다는 것인데, 여기서, 각각의 추가의 인자는 자기 자신의 계수를 지닌다. 다른 한 조합 모델의 이점은 비효율적인 모델들(불량한 예측 능력을 갖는 비효율적인 모델들)이 전혀 유해하지 않다는 것이지만, 이하에서 언급되는 최대 공산 추정이 구성원 모델들에 대한 최적의 가중치들을 나타내기 위한 방법이다. 충분한 양의 데이터가 제공된 경우에, 최대 공산은 비효율적인 인자들에 작은 가중치를 지정하게 된다.
본 발명을 구현함에 있어서, 본 발명이 메일박스 압축을 수행할 때마다, 상기 메일박스에 내재하는 모든 메시지(x)에 대하여 P(X=x)가 계산되어야 한다. 원시적인 구현예는 CPU 집약적일 수 있다. 그러나, 이하의 몇 가지 관찰 결과가 효율적인 구현예를 제공하는데 도움이 될 것이다.
먼저,
Figure 112007021462769-PCT00013
로 승산되는
Figure 112007021462769-PCT00014
, 즉 상기 메일박스에 내재하는 읽혀지지 않은 메시지들의 수가 상기 메일박스에 내재하는 모든 메시지를 방문함으로써 원시적인 구현 예에서 계산된다. 그러나, 그렇게 수행하는 것보다는 오히려, 메일 클라이언트들이 API 호출을 통해 여러 메일 서버로부터 이러한 정보를 직접 결정할 수 있다. 예를 들면, 이러한 수는
Figure 112007021462769-PCT00015
과 같은 포맷에 따라 "STATUS" 커맨드를 상기 메일 서버에 제공함으로써 IMAP 메일 서버로부터 직접 결정될 수 있다.
유사한 방안이
Figure 112007021462769-PCT00016
을 결정하는데 적용된다.
자명한 방식으로
Figure 112007021462769-PCT00017
을 계산하려면 모든 메시지(x)에 대하여
Figure 112007021462769-PCT00018
가 계산될 필요가 있다. 그러나, 일자들(의 총수)로 시간이 측정된다고 가정하면, t = 0, 1, 2, 3, ... 일자의 모든 값에 대해
Figure 112007021462769-PCT00019
의 값을 최종적으로 계산한 다음에 그 결과를 특정 테이블에 기록함으로써 (
Figure 112007021462769-PCT00020
의) 계산이 덜어질 수 있다. 상기 기록된 값들을
Figure 112007021462769-PCT00021
로 나타내기 한다. 이제부터, 이를테면
Figure 112007021462769-PCT00022
이 계산될 필요가 있으며 메일박스에는 t 일자가 지난
Figure 112007021462769-PCT00023
메시지들이 존재한다. 이때,
Figure 112007021462769-PCT00024
은 다음과 같이 이들 2개의 항의 도트-프로덕트(dot-product)(2개의 n-터플(tuple)의 스칼라 곱)으로서 표기될 수 있다.
Figure 112007021462769-PCT00025
위의 설명에서는, C가 (예컨대, 메일박스에 내재하는) 메시지들의 집합(모임)일 경우에 대한 주의에 국한되었다. 상기 수학식 1로 표현된 모델은 이러한 경우로 특정된다. 그러나, 캘린더 엔트리들 또는 파일들과 같은 다른 객체들에 대한 모델을 설계하는 것은 간단하다. 후자의 경우에는, 특정 모델이 파일(x)의 연령; MIME(Multipurpose Internet Mail Extensions; 다목적 인터넷 메일 확장 기능) 타입의 파일(x); 및 파일(x)이 이미 액세스된 횟수와 같은 인자들을 고려한 것이다. 본 발명은 P(X)에 대한 어느 한 특정 공식화에 한정되지 않는다. 수학식 1을 사용하는 본 발명의 실시예는 단지 다른 여러 가능한 실시예 중 하나 이상의 실시예들만을 나타낸 것이다.
최적의 부분집합 조사
위의 설명은 본 발명이 객체들의 집합(모임)에 내재하는 각각의 객체에 대해 유틸리티 스코어를 지정하는 방식을 보여준 것이다. 지금부터는 어느 객체들이 특정 기준에 따라 크기로 한정되며 마찬가지로 한정된 모든 가능한 부분집합의 가장 큰 가능한 유틸리티를 지니는 선택된 부분집합을 포함해야 하는지를 결정하기 위해 그러한 스코어(유틸리티 측정값)를 사용해야 하는 방식이 설명될 것이다.
공식적으로, 부분집합 선택 문제는 다음과 같이 언급될 수 있다.
입력:
Figure 112007021462769-PCT00026
Figure 112007021462769-PCT00027
가 객체(
Figure 112007021462769-PCT00028
)의 크기이며
Figure 112007021462769-PCT00029
가 달리 P(X=k)로서 표기되는 터플들(
Figure 112007021462769-PCT00030
,
Figure 112007021462769-PCT00031
)은 객체(
Figure 112007021462769-PCT00032
)가 다음에 액세스될 추정 확률임.
Figure 112007021462769-PCT00033
할당(Q)(크기가 할당(Q)를 초과하지 않게 하도록 임의의 가능한 부분집합을 한정함).
출력:
객체들의 전체 집합 {1, 2, 3, ...N}의 부분집합(S), 이 경우에 상기 부분집합(S)은 다음과 같은 2가지 조건을 만족한다.
1.
Figure 112007021462769-PCT00034
, 즉 상기 선택된 부분집합(의 바이트 수)의 전체 크기가 상기 할당을 초과하지 않음.
2.
Figure 112007021462769-PCT00035
는 상기 제1 조건을 만족하는 모든 부분집합 중 최대임, 즉 사용자에 의해 액세스된 다음 객체가 상기 부분집합(S)에서 나오게 될 합산 확률이 최대로 됨.
정확한 해는 상기 집합에 내재하는 객체들의 수에서 지수적인 크기를 갖는 해들의 구역에 걸쳐 탐색해야 할 필요가 있음으로써, 본 발명은 상기 정확한 해에 대한 근사를 결정한다.
매개변수 추정
이러한 단락에서는 상기 수학식 1의 A,B,C 계수들을 계산하기 위해 최대 공산을 기반으로 한 2가지 기법이 설명될 것이다. 먼저, 단일의 {A,B,C} 트리플릿을 계산하기 위한 정적 추정(static estimation) 기법이 설명될 것이다. 이때, 사용자에 행위를 관찰함으로써 시간 경과에 따라 본 발명이 채택될 수 있는 방법이 설명될 것이다. 즉, 사용자가 어느 메시지들을 보는지(그리고 메시지가 도착한 후에 얼마나 빨리 상기 메시지가 읽혀지는지)를 추적함으로써, 본 발명은 사용자의 우선순위들과 더 일치하도록 자신의 모델(P(X=x)을 조정함으로써, 사용자가 어떠한 방식으로 특정 메시지에 중요성을 지정하는지와 더 일치하게끔 유틸리티 스코어들을 지 정할 수 있다. 그러한 기술은 상기 수학식 1을 참조하여 본원에 설명되겠지만, 그러한 기술은 또한 조합 모델로 조합되는 임의 개수의 모델에 마찬가지로 적용된다.
최대 공산 추정
계수들(A,B,C)이 각각 다른 서브모델들을 가중하는 3가지의 개별 확률 분포 또는 서브모델을 포함하는 수학식 1을 기반으로 하여 본 발명이 각각의 메시지(x)에 대하여 확률(P(X=x))을 지정한다는 것을 상기해 보기로 한다. 상기 서브모델들은 다른 정보(상기 객체의 연령 등등)를 사용하여 상기 메시지(x)에 대하여 확률 값을 지정함으로써 상기 메시지(x)가 객체들의 전체 집합 또는 모임에 내재하는 모든 객체들 중에서 다음에 액세스될 객체인 확률을 나타낸다. 상기 A,B,C 계수들을 가중 인자들로서 해석함에 있어서, A에 대한 상대적인 크기는 예를 들면
Figure 112007021462769-PCT00036
에서의 연령-감소 항의 가중에 대응한다.
본 발명은 소위 최대 공산(maximum likelihood; ML)을 사용하여 상기 수학식 1의 계수들(A,B,C)에 대한 값들을 제공한다. 상기 메일박스 압축 문제를 취하고 예로 상기 수학식 1에 대응하는 모델을 통해 (학습 과정(learning process)으로서 설명될 수 있는 부분에) 최대 공산 계수 값들에 대한 값들을 제공하기 위해, 사용자가 읽을 메시지들을 메일박스로부터 선택할 경우에 시간 경과에 따라 (사용자 인터페이싱 행위를 모니터링함으로써) 사용자가 "감시(watching)"된다. 사용자가 특정 메시지(x)를 선택할 때마다, 트리플릿{
Figure 112007021462769-PCT00037
,
Figure 112007021462769-PCT00038
,
Figure 112007021462769-PCT00039
}이 기록되고, 상기 트리플릿의 각각의 구성요소는 상기 메시지(x)가 상기 메일박스로 부터 액세스되는 다음 메시지일 확률로 각각의 서브모델이 지정하는 스코어를 나타낸다.
시간 경과에 따라 사용자의 행위를 관찰함으로써, 여기서 단일 사용자 관찰들이라고 지칭되는 그러한 여러 관찰이 수집되고 사용자에게 상기 모델이 맞춰질 수 있다. 이때, 사용자들의 그룹이 관찰되고 그러한 관찰들이 모여짐으로써, 사용자들의 그룹에 대해 상기 모델이 맞춰질 수 있다.
모여진 단일 사용자 관찰 데이터를 사용하여, 각각의 서브모델의 "스코어(score)"(상기 서브모델에 의해 다음으로 액세스될 객체에 지정된 확률들의 합)이 모두 계산되고 그들이 정규화됨으로써, 예컨대, 다음과 같은 수학식 2가 성립되게 한다(B 및 C에 대해서도 마찬가지로 계산됨).
Figure 112007021462769-PCT00040
여기에서의 계산은 계수들(A,B,C), 즉 모든 사용자에 대한 하나의 계수 집합에 대하여 정적 값들이 결정되는 결과를 초래한다. 그러한 정적 값들을 결정한 후에, 본 발명은 수학식 1을 통해 유틸리티들을 계산하는데 사용될 수 있다.
위에서 설명된 A,B,C의 정적 계산 해결방안과 관련된 문제는 모든 사용자에 대해 최적인 A,B,C에 대한 하나의 단일 설정값이 전혀 존재하지 않는다는 것이다. 예를 들면, 몇몇 사용자는 단지 최근에 도착된 메시지들만을 보게 되고, 이러한 사 용자들에 대하여는, A
Figure 112007021462769-PCT00041
1이고 B,C
Figure 112007021462769-PCT00042
0이다. 기타의 사용자들은 단지 후속 조치를 위해 마크된 메시지들만을 보게 되고, 이러한 사용자들에 대하여는, C
Figure 112007021462769-PCT00043
1이고 A,B
Figure 112007021462769-PCT00044
0이다. 사용 패턴들이 사용자마다 다르다는 사실은 적응 방법을 위해 유틸리티 스코어들을 지정할 때 개별 사용자를 고려한 것을 보여준다. (여기서 유념할 점은 이러한 것이 각각의 사용자에 대하여 A,B,C 값들을 개별적으로 학습하는 것과 다르다는 것이며, 여기서 요구되는 점은 각각의 사용자에 대하여 충분한 데이터가 존재하여야 한다는 것이고, 종종 각각의 사용자에 대한 데이터가 불충분해서 각각의 사용자에 대해 개별적으로 A,B,C 값들을 학습하는 문제가 종종 희소 데이터 문제로서 특징화될 수 있다는 경우에, 각각의 사용자에 대한 매개변수들을 확고하게 추정하는데 각각의 사용자로부터의 충분한 예들이 없을 수 있다. 바꾸어 말하면, 트레이닝 데이터(training data)를 모두 풀링(pooling)하고 전체 A,B,C 값들을 추정하는 값이 존재하며, 충분한 추가적인 예들을 제공하는 사용자들에 대하여는, 그들의 용도가 전체 기준과는 어떻게 다르고, 그에 따라서 그들의 개별적인 A,B,C 값들을 어떻게 업데이트/적응시킬지에 대한 학습이 이루어질 수 있다. 그러한 절차는 종종 "베이지안 모델링(Bayesian modeling)"이라고 지징된다.)
본 발명이 유틸리티 스코어들을 계산하는 방법은 시간 경과에 따라 사용자의 동작들을 관찰함으로써 각각의 사용자에 따라 제공될 수 있다. 바꾸어 말하면, 본 발명은 사용자가 다음에 어느 객체를 보게 될지를 예측할 경우에 개별적인 사용자의 의견 차이들을 설명할 수 있다. 이를 달성하기 위하여는, 먼저 위에서 언급된 바와 같이 정적 후속 조치 단계에서 전체 계수들의 집합이 계산된다. 그리고나서, 본 발명은 각각의 사용자에게 계수 값들의 집합을 지정한다. 처음에는, 각각의 사용자에 대한 계수 값들이 정적/전체 ML 추정 단계 동안 계산된 전체 계수들과 동일하게 설정된다. 그러나, 시간 경과에 따라, 본 발명은 사용자에 의해 선택된 실제 메시지들 및 추정된 유틸리티들 간의 불일치(mismatch)를 관찰하고, 그에 따라서 사용자의 계수 스코어들을 조정한다.
새로운 데이터가 수신됨에 따라, 상기 계수들(A,B,C)을 적합하게 적응시키기 위한 방법을 규정하는 언어 모델링 및 포트폴리오 선택 애플리케이션들에서 사용되는 학습 알고리즘이 존재한다. 그 중 한 가지 예는 커버의 믹서 알고리즘(1991년 금융 수학(Mathematical Finance) 1(1):1-29에 실린 토마스 커버(Thomas Cover)의 "유니버설 포트폴리오(Universal portfolios)")이다. 새로운 데이터가 수신됨에 따라 계수 값들을 동적으로 적응시키는 커버의 믹서 알고리즘은 모든 데이터가 수신된 다음에 경험으로 얻은 지식으로 선택된 가장 양호한 정적 모델 조합과 거의 마찬가지로 수행하도록 보장된다. 믹서(MIXER)와 거의 마찬가지로 수행하는 더 효율적인 알고리즘, 즉 스위처(SWITCHER)는 Proceedings of the International Conference on Acoustics, Speech, and Signal Processing (ICASSP 1999)에 실린 에이. 카라이(A. Kalai)와 그의 동료의 "언어 모델들을 조합하는 온라인 알고리즘들(Online algorithms for combining language models)"에 (언어 모델링이라는 의미로) 언급되어 있다.
따라서, 그리고 도 1을 지금부터 참조하면, 본 발명에 의하면, 이하에서 언급되는 바와 같이 예를 들면 (도시되지 않은) 이동 전화의 이동 메시징 사용자 에 이전트의 모듈일 수 있는 부분집합 선택기(11)는 유틸리티를 지정하기 위한 하나 이상의 규칙들, 즉 부분집합 선택기 내에 고정 배선될 수 있거나 상기 부분집합 선택기에 입력으로서 제공될 수 있는 (그럼으로써 때때로 변경될 수 있는) 규칙들을 사용하여 소스 데이터 저장 장소에 내재하는 데이터 객체들 각각에 대하여 대응하는 유틸리티 값을 지정한 것을 기반으로 하여 소스 데이터 저장 장소(12a)로부터 선택되는 데이터 객체들의 집합을 타깃 데이터 저장 장소(12b)에 저장한다. 그러므로, 상기 지정은 위에서 언급된 바와 같이 유틸리티를 지정하는 규칙들의 조합을 사용할 수 있다. 위에서 언급된 바와 같이, 상기 부분집합 선택기는 가능한 모든 부분집합 중에서 미리 결정된 할당과 일치하는 것을 부분집합으로서 선택하는 것이 전형적이다. 예를 들면, 상기 부분집합은 크기면에서 특정의 상한(upper limit)보다 크지 않으며 그러한 모든 할당과 일치하는 부분집합 중에서 가장 큰 총합 유틸리티를 지닌다. 한 데이터 객체에 대한 대응하는 유틸리티를 할당함에 있어서, 상기 부분집합 선택기는 선택적인 유틸리티 표시자 데이터 저장 장소(12c) 내의 유틸리티 표시자, 즉 상기 소스 데이터 저장 장소에 내재하는 데이터 객체들에 대한 사용자(사용자들)에 의한 액세스를 관찰함으로써 시간 경과에 따라 획득된 (특정 시간 주기에 한 데이터 객체가 액세스되는 횟수와 같은) 유틸리티 표시자를 사용할 수 있다. 그러한 표시자를 획득하기 위해, 상기 소스 데이터 저장 장소에 대한 액세스를 제공하는 (도시되지 않은) 모듈은 액세스가 이루어질 때마다 상기 부분집합 선택기에 통지해 줄 수도 있고, 상기 유틸리티 표시자 데이터 저장 장소에 직접 상기 표시자와 관련된 정보를 제공할 수도 있다. 변형적으로, 모든 액세스는 상기 부 분집합 선택기를 통해 이루어질 수 있다. 그리고나서, 상기 타깃 데이터 저장 장소(12b)는 (이하에서 언급되는 바와 같은) 특정 실시예들에서 상기 소스 데이터 저장 장소(12a)로서 (또는 상기 소스 데이터 저장 장소(12a) 대신에) 사용됨으로써, 정미 효과(net effect)가 (도 1에서 점선으로 나타낸 바와 같이) 상기 소스 데이터 저장 장소를 압축하는 것이게 될 수 있다.
또한 도 2를 지금부터 참조하면, 본 발명은 부분집합 선택기(11)가 소스 데이터 저장 장소(12a)에 내재하는 데이터 객체들의 액세스를 (그러한 액세스를 제공하는 모델을 통해서나 직접) 모니터링하고 유틸리티를 지정하기 위한 하나 이상의 규칙들에 따라 상기 데이터 객체들의 유틸리티에 관한 정보를 유틸리티 표시자 데이터 저장 장소(12c)에 저장하는 제1(선택) 단계(21)를 포함하는 방법을 제공하는 것으로 도시되어 있다. 다음 단계(22)에서는, 상기 유틸리티 표시자 데이터 저장 장소에 선택적으로 저장된 정보를 사용하는 단계를 포함하여, 유틸리티를 지정하기 위한 하나 이상의 규칙들을 사용하여 지정되는 데이터 객체들의 집합에 내재하는 데이터 객체들 각각에 대한 대응하는 유틸리티 값을 기반으로 하여 상기 부분집합 선택기(11)가 상기 소스 데이터 저장 장소에 내재하는 데이터 객체들로부터 데이터 객체들의 부분집합을 선택한다. 상기 선택된 부분집합은 특정의 크기 한도(할당)보다 작은 크기를 지니는 것이 전형적이며, 상기 크기 한도보다 작은 크기를 지니는 가능한 모든 부분집합의 가장 높은 총합 지정 유틸리티를 지닌다. 다음 단계(23)에서, 상기 부분집합 선택기(11)는 상기 타깃 데이터 저장 장소에 내재하는 선택된 데이터 객체들을 저장하거나, 상기 타깃 데이터 저장 장소가 상기 부분집합 선택기 를 호스트하는 장치와는 다른 장치에 의해 호스트될 경우에, 상기 타깃 데이터 저장 장소에 저장하기 위해 상기 선택된 데이터 객체들을 그러한 장치에 전송한다.
특정의 예시적인 구현예들
이동 전화의 이동 메시징 사용자 에이전트(MMA)
이동 전화들의 여러 MMA는 새로운 전자메일 메시지들이 도착함에 따라 원격메일 서버로부터 상기 새로운 전자메일 메시지들을 계속 인출한 다음에 상기 새로운 전자메일 메시지들을 저장하도록 구성될 수 있다. 더 새로운 전화들은 대규모의 전자메일 메시지들을 신속하게 다운로드할 수 있게 하는 802.11x 및 3G와 같은 고대역폭 네트워크들을 통해 통신할 수 있다. 고대역폭 네트워크들을 사용할 경우에, 특정 전화상의 저장 용량이 고갈되는 것이 오래 걸리지 않는다. 더욱이, 앞서 언급된 바와 같이, 심지어는 대용량 장치들의 경우에, 여러 사용자는 그들의 MMA 상에 저장된 메시지들의 수를 제한하여 상기 메시지를 통한 용이한 탐색 및 스크롤링을 허용하기를 선호하는 경향이 있다.
본 발명의 부분집합 선택 시스템은 이동 전화 또는 다른 이동 장치 상에 개별 애플리케이션으로서 설치될 수 있다. 본 발명은 상기 MMA와 독립적으로 실행하지만 상기 MMA 메시지 저장 장소에 접근하도록 구현될 수 있다. 본 발명은 할당(Q)을 통해 사용자가 구성할 수도 있고, 상기 할당은 상기 장치상에서 이용가능한 영구 저장 장소의 특정한 고정 퍼센트로 디폴트(default)될 수 있다.
일정 간격으로(또는 이러한 정보가 이용가능할 경우, 각각의 새로운 메시지가 상기 MMA에 도착한 다음에), 본 발명은 상기 MMA 메시지 저장 장소의 크기를 검 사하며, 상기 크기가 할당(Q)을 초과할 경우에, 모든 객체들의 유틸리티를 계산한 다음에 부분집합-선택을 수행함으로써 메일박스를 압축하도록 구현될 수 있다.
그러한 메일박스 압축 프로세스가 자원-집약적일 수 있기 때문에, 예컨대, 전화/이동 장치가 예를 들면 밤 늦게 충전될 경우에, 상기 메일박스 압축 프로세스는 한정된 활동 시간 동안 수행되도록 스케줄링될 수 있다.
특정 애플리케이션들에서는, 본 발명이 특정 메시지에 관한 '중요" 플래그를 참작하도록 구성되는 것이 유리할 수 있다. 그리고나서, 그러한 메시지들은 항상 선택된 부분집합(S)에 포함되게 한다.
그 외에도, 본 발명은 전자메일 헤더들을 유지하고 선택되지 않은 메시지들의 부분집합에 내재하는 메시지들의 본문만을 삭제하도록 구현될 수 있다. 그러한 방식으로, 사용자는 상기 MMA 메시지 저장 장소로부터 어느 메시지들이 제거되었는지를 알 수 있으며 필요할 경우에 상기 MMA를 사용하여 상기 메일 서버로부터 다시 메시지를 다운로드할 수 있다. (물론, 사용자는 이때 상기 메시지가 다시 제거되지 않게 하도록 상기 메시지를 '중요한' 것으로 마크해야 한다.)
물론, 본 발명은 또한 메시지들을 제거하기 전에 사용자에게 대화방식으로 프롬프트(prompt)하도록 구성될 수 있다.
동기화 서버
본 발명은 동기화 서버에 내장될 수 있다. 동기화와 관련된 한가지 문제는 이동 장치가 그러한 서버로부터 모든 데이터를 유지할 수 있는 충분한 저장 용량을 지닐 수 없다는 것이다. 비록 저장 용량이 충분하다 하더라도, 전체 동기화 동작으 로 초래되는 시간 및 비용은 상당히 많을 수 있다. 이는 바로 제1 클라이언트-서버 동기화 동작에 특히 해당된다. 그리고 이는 처리량이 적은 무선 또는 적외선(IR) 채널들, 예컨대 CDMA, GPRS 또는 블루투스 채널들을 통해 상기 동기화가 수행될 경우에 특히 해당된다.
이러한 문제들을 해결하기 위해, 동기화 서버는 사용자들이 동기화되기를 바라는 객체들(메시지들, 연락처들, 파일들 등등)을 사용자들이 배치해야 하는 동기화 서버상의 전용 카테고리 또는 디렉토리(폴더)를 종종 지정한다. 물론, 이는 사용자가 수동으로 선택된 객체들에 주석을 달거나 선택된 객체들을 상기 전용 카테고리 또는 디렉토리 내로 이동시켜야 할 필요가 있다. 본 발명의 자동 부분집합 선택 절차는 이러한 수동 해결방안에 대한 변형예이다. 동기화 서버에 내장되는 본 발명은 상기 이동 장치로의 전송을 위해 동기화될 수 있는 가능한 모든 데이터 중에서 단지 압축하고 유틸리티가 높은 데이터 부분집합만을 제공할 수 있다.
2002년 10월, SyncML 프로토콜 v1.1.1에 언급되어 있는 바와 같은 SyncML(synchronization markup language; 동기화 마크업 언어)에서, <freemen>이라고 지칭되는 요소는 특정 클라이언트가 특정 서버에 대한 할당을 규정하는 방법을 제공한다. 프로토콜은 이러한 정보가 동기화 개시 동안 교환되어야 한다는 것을 규정한다. 그러므로, 상기 동기화 서버는 SyncML 장치로부터의 값(Q)을 수신한다.
본 발명이 지원된 동기화 서버에 대한 전형적인 구성은 단지 느린 동기화(예컨대, 제1 시간 동기화) 동안에만 부분집합 선택 프로세스를 수행하는 것이다. 후속 동기화 동작들이 대개는 본 발명의 사용을 필요로 하지 않는데, 그 이유는 동기 화될 정보량이 대개는 훨씬 적게 되기 때문이다.
전형적인 실시예에서, 본 발명이 지원되는 동기화 서버는 최대 유틸리티 Q 객체들의 부분집합을 계산하고 그러한 객체들을 클라이언트에 전송한다. 이는 또한 다른 모든 객체에 대한 마커, 예를 들면 전자메일에 대한 메시지 헤더를 전송한다. 재생 동기화에서, 최종 동기화 이래로 상기 서버상에 생성된 모든 새로운 객체가 상기 클라이언트에 전송된다. 상기 사용자가 누락된 객체를 보기를 원할 경우, 사용자는 단지 상기 마커를 제거할 필요만이 있으며, 상기 동기화 서버는 (다음 재생 동기화 동작시) 상기 클라이언트 객체에 대한 변경을 검출하며 상기 클라이언트에 완전한 객체 버전을 전송한다.
본 발명은 상기 클라이언트(예컨대, PC) 또는 상기 서버(예컨대, 그룹웨어 서버)에 배치될 수 있다.
본 발명은 소위 신속한 동기화를 가능하게 하는데, 그 이유는 단지 높은 유틸리티 객체들만이 동기화되기 때문이다. 사용자는 시간 한도를 규정할 수 있고 본 발명은 그러한 시간 내에서 상기 서버 상의 가장 높은 유틸리티 부분집합을 동기화시킨다. 예를 들면, 2분의 시간 한도에서 30kb/s 채널을 통해 약 500KB에 맞춰진다. 부적격 객체들은 전부 무시될 수도 있고 단축 형태, 예를 들면 전자메일 메시지들에 대한 헤더만으로 전송될 수도 있다. 후자의 경우에, 상기 클라이언트(예컨대, 이동 장치)는 상기 서버로부터의 완전 객체의 온-디맨드(on-demand) 동기화를 수행할 수 있는 가능성을 사용자에게 제공할 수 있다.
메일 서버
첨부파일들, 예컨대, 이미지들, 워드 프로세싱 또는 스프레드시트 또는 다른 소위 오피스 문서들, 및 오디오/비디오 파일들의 보급으로, 전자메일 메일박스는 신속하게 대형화될 수 있다. 예를 들면, 사용자가 매주 10MB의 전자메일을 수신하여 메일박스 크기가 1GB에 이르게 되려면 2년 미만이 소요된다.
대부분의 회사 및 인터넷 서비스 제공 사업자(ISP)들은 각각의 사용자의 메일박스에 할당되는 서버 디스크 공간에 제한을 두고 있다. 이러한 제한에 따르기 위해, 사용자들은 상기 서버로부터의 메시지를 과감히 삭제하거나 자신들의 PC/랩톱 상의 로컬 메모리 저장 장소상으로 상기 서버로부터의 메시지를 다운로드하는 것이 전형적이다. 어떠한 해결방안도 바람직하지 않다. 특정 메시지를 완전히 삭제하면 상기 메시지가 앞으로 필요할 수 있다는 리스크가 따르며 특정 메시지 사용자 에이전트(Message User Agent; MUA)에 메시지들을 다운로드하면 특정 사용자가 앞으로 다른 한 MUA로부터 자신의 메일박스에 액세스하고자 할 수 있는 가능성이 허용되지 않는다.
본 발명은 메일 서버상의 메시지 저장 장소에 본 발명에 따른 압축을 직접 적용하는 다른 한 해결방안을 제공한다. 평균적으로 주당 1MB를 유지하는 메일박스 내에 주당 10MB를 수신하는 메일박스를 활성적으로 압축하여 1GB에 이르게 하려면 상기 메일박스에 대하여 거의 20년이 소요하게 된다. 상기 서버상의 메시지를 압축하는 동안, 원본은 선택적으로 아카이브(archive) 파일, 예컨대 테이프 백업으로 유지될 수 있다.
여기서 이해하여야 할 점은 위에서 설명된 구성들이 단지 본 발명의 원리들 의 적용을 예시한 뿐이라는 것이다. 여러 수정 및 변형 구성이 본 발명의 범위로부터 벗어나지 않고서도 당업자에 의해 고안될 수 있으며, 첨부된 청구항들은 그러한 변형 및 구성들을 포함하도록 의도된 것이다.

Claims (18)

  1. 소스 데이터 저장 장소에 내재하는 데이터 객체들의 집합으로부터 데이터 객체들의 부분집합을 선택하는 단계; 및
    타깃 데이터 저장 장소 내에 상기 선택된 데이터 객체들을 저장하는 단계를 포함하며,
    상기 데이터 객체들의 부분집합을 선택하는 단계는 상기 데이터 객체들의 집합에 내재하는 데이터 객체들 각각에 대하여 유틸리티를 지정하는 소정의 방법에 따라 수행되는 방법.
  2. 제1항에 있어서, 상기 데이터 객체들의 부분집합을 선택하는 단계는 상기 유틸리티를 지정하는 소정의 방법에 따라 높은 유틸리티를 지니는 상기 소스 데이터 저장 장소에 내재하는 적어도 일부 데이터 객체를 상기 부분집합에 포함시키도록 수행되는 것을 특징으로 하는 방법.
  3. 제1항에 있어서, 상기 유틸리티를 지정하는 소정의 방법은 복수 개의 인자들을 고려하고, 상기 인자들 각각에 대한 가중치들을 제공한 모델을 기반으로 하는 것을 특징으로 하는 방법.
  4. 제3항에 있어서, 상기 가중치들은 적어도 하나의 사용자에 의한 데이터 객체 들의 액세스를 모니터링한 것을 기반으로 하는 것을 특징으로 하는 방법.
  5. 제3항에 있어서, 상기 가중치들은 사용자들의 집합에 의한 데이터 객체들의 액세스를 모니터링한 것을 기반으로 하고 이어서 특정 사용자를 모니터링한 것을 기반으로 하여 상기 특정 사용자에 적응되는 것을 특징으로 하는 방법.
  6. 제1항에 있어서, 상기 인자들은 데이터 객체에 지정된 유틸리티가 시간 경과에 따라 연속해서 감소하지만, 상기 데이터 객체가 아직 보이지 않은 경우나 후속 동작이 필요하다는 것을 나타내도록 상기 데이터 객체가 마크(mark)된 경우에 증강되도록 구성되는 것을 특징으로 하는 방법.
  7. 제1항에 있어서, 상기 소스 데이터 저장 장소는 이동 장치에 의해 호스트(host)되며 상기 타깃 데이터 저장 장소는 단지 상기 소스 데이터 저장 장소의 압축 동안에만 존재하는 임시 데이터 저장 장소이고, 상기 이동 장치는 또한 원격 메일 서버로부터 새로운 전자메일 메시지들을 인출하며 상기 새로운 전자메일 메시지들을 상기 소스 데이터 저장 장소에 배치하는 전자메일 사용자 에이전트를 호스트하고, 때때로 상기 이동 장치에 의해 호스트되는 전자메일 사용자 에이전트 또는 관련 모듈은 상기 소스 데이터 저장 장소의 크기를 검사하며, 상기 크기가 소정의 크기 한도를 초과할 경우에, 상기 부분집합 선택 단계를 수행한 다음에 새로운 타깃 데이터 저장 장소 내에 상기 선택된 객체들을 저장하고, 상기 소스 데이터 저장 장소를 삭제한 다음에 새로운 전자메일 메시지들을 수신하기 위해 상기 새로운 타킷 데이터 저장 장소를 새로운 소스 데이터 저장 장소로서 사용함으로써 상기 소스 데이터 저장 장소를 압축하는 것을 특징으로 하는 방법.
  8. 제1항에 있어서, 상기 소스 데이터 저장 장소는 동기화 서버에 의해 호스트되며 상기 타깃 데이터 저장 장소는 동기화 클라이언트 장치상의 데이터 저장 장소이고, 상기 서버는 상기 타깃 데이터 저장 장소와 관련된 크기 한도를 초과하지 않는 객체들의 집합을 제공하도록 상기 소스 데이터 저장 장소에 내재하는 객체들의 부분집합 선택 단계를 수행하며, 상기 객체들을 상기 클라이언트 장치에 전송하는 것을 특징으로 하는 방법.
  9. 제8항에 있어서, 상기 서버는 또한 상기 타깃 데이터 저장 장소 내에 저장하기 위해 선택되지 않은 모든 객체들에 대한 마커 및 객체 플래그먼트를 상기 클라이언트 장치에 전송하며, 상기 클라이언트 장치가 상기 마커를 삭제할 경우에, 상기 서버는 다음 동기화 동작으로 완전한 객체를 전송하는 것을 특징으로 하는 방법.
  10. 제1항에 있어서, 상기 부분집합을 선택 및 저장하는 단계들은 상기 소스 데이터 저장 장소로서 사용자 메일박스를 사용하여, 그리고 상기 타깃 데이터 저장 장소를 임시 데이터 저장 장소로서 사용하여 전자메일 서버에 의해 때때로 수행되 며, 때때로, 상기 전자메일 서버는 상기 소스 데이터 저장 장소의 크기를 검사하고, 상기 크기가 소정의 크기 한도를 초과한 경우에, 상기 부분집합 선택 단계를 수행한 다음에 상기 선택된 객체들을 새로운 타깃 데이터 저장 장소 내에 저장하고, 상기 소스 데이터 저장 장소를 삭제한 다음에, 새로운 전자메일 메시지들을 수신하기 위해 상기 새로운 타깃 데이터 저장 장소를 새로운 소스 데이터 저장 장소로서 사용함으로써 상기 소스 데이터 저장 장소를 압축하는 것을 특징으로 하는 방법.
  11. 컴퓨터 프로세서에 의한 실행을 위해 컴퓨터 프로그램 코드가 포함되어 있는 컴퓨터 판독가능 저장 구조를 포함하는 컴퓨터 프로그램 생성물에 있어서,
    상기 컴퓨터 프로그램 코드는,
    소스 데이터 저장 장소에 내재하는 데이터 객체들의 집합으로부터 데이터 객체들의 부분집합을 선택하는 단계; 및
    타깃 데이터 저장 장소에 상기 선택된 데이터 객체들을 저장하는 단계를 포함하는 방법을 수행하는 명령어들을 포함하며,
    상기 데이터 객체들의 부분집합을 선택하는 단계는 상기 데이터 객체들의 집합에 내재하는 데이터 객체들 각각에 대하여 유틸리티를 지정하는 소정의 방법에 따라 수행되는 것을 특징으로 하는 컴퓨터 프로그램 생성물.
  12. 소스 데이터 저장 장소에 내재하는 데이터 객체들의 집합으로부터 데이터 객 체들의 부분집합을 선택하는 수단; 및
    상기 선택된 데이터 객체들을 타깃 데이터 저장 장소에 저장하거나 상기 선택된 데이터 객체들을 다른 장치에 전송하여 상기 선택된 데이터 객체들을 타깃 데이터 저장 장소에 저장하는 수단을 포함하며,
    상기 데이터 객체들의 부분집합을 선택하는 수단은 상기 데이터 객체들의 집합에 내재하는 데이터 객체들 각각에 대하여 유틸리티를 지정하는 소정의 방법에 따라 그렇게 수행하는 것을 특징으로 하는 장치.
  13. 제12항에 있어서, 상기 데이터 객체들의 부분집합을 선택하는 수단은 상기 유틸리티를 지정하는 소정의 방법에 따라 높은 유틸리티를 지니는 상기 소스 데이터 저장 장소에 내재하는 적어도 일부 데이터 객체들을 상기 부분집합에 포함시키는 것을 특징으로 하는 장치.
  14. 제12항에 있어서, 상기 유틸리티를 지정하는 소정의 방법은 복수 개의 인자들을 고려하고, 상기 인자들 각각에 대한 가중치들을 제공한 모델을 기반으로 하는 것을 특징으로 하는 장치.
  15. 제14항에 있어서, 상기 가중치들은 적어도 하나의 사용자에 의한 데이터 객체들의 액세스를 모니터링한 것을 기반으로 하는 것을 특징으로 하는 장치.
  16. 제14항에 있어서, 상기 가중치들은 사용자들의 집합에 의한 데이터 객체들의 액세스를 모니터링한 것을 기반으로 하며, 이어서 특정 사용자를 모니터링한 것을 기반으로 하여 상기 특정 사용자에 적응되는 것을 특징으로 하는 장치.
  17. 제12항에 있어서, 상기 인자들은 데이터 객체에 지정된 유틸리티가 시간 경과에 따라 연속해서 감소하지만, 상기 데이터 객체가 아직 보이지 않은 경우나 후속 동작이 필요하다는 것을 나타내도록 상기 데이터 객체가 마크된 경우에 증강되도록 구성되는 것을 특징으로 하는 장치.
  18. 복수 개의 이동 장치들; 및
    상기 복수 개의 이동 장치들에 연결되고 데이터를 압축하는 장치를 포함하거나 데이터를 압축하는 장치에 연결된 원격 통신 네트워크의 요소를 포함하고, 상기 데이터를 압축하는 장치는,
    소스 데이터 저장 장소에 내재하는 데이터 객체들의 집합으로부터 데이터 객체들의 부분집합을 선택하는 수단; 및
    상기 선택된 데이터 객체들을 상기 복수 개의 이동 장치들 중 한 이동 장치 또는 다른 한 이동 장치에 전송하여 상기 복수 개의 이동 장치들 중 한 이동 장치 또는 다른 한 이동 장치상의 타깃 데이터 저장 장소 내에 상기 선택된 데이터 객체들을 저장하는 수단을 포함하며,
    상기 데이터 객체들의 부분집합을 선택하는 수단은 상기 데이터 객체들의 집 합에 내재하는 데이터 객체들 각각에 대하여 유틸리티를 지정하는 소정의 방법에 따라 그렇게 수행하는 것을 특징으로 하는 시스템.
KR1020077006182A 2004-08-27 2005-07-21 데이터의 유틸리티를 기반으로 하여 데이터 저장소로부터 데이터를 선택하는 시스템 KR100914895B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/928,615 US20060080354A1 (en) 2004-08-27 2004-08-27 System for selecting data from a data store based on utility of the data
US10/928,615 2004-08-27

Publications (2)

Publication Number Publication Date
KR20070045326A true KR20070045326A (ko) 2007-05-02
KR100914895B1 KR100914895B1 (ko) 2009-08-31

Family

ID=35967189

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077006182A KR100914895B1 (ko) 2004-08-27 2005-07-21 데이터의 유틸리티를 기반으로 하여 데이터 저장소로부터 데이터를 선택하는 시스템

Country Status (5)

Country Link
US (1) US20060080354A1 (ko)
EP (1) EP1782590A1 (ko)
KR (1) KR100914895B1 (ko)
CN (1) CN101036358A (ko)
WO (1) WO2006021840A1 (ko)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101017365B1 (ko) * 2006-02-14 2011-02-28 삼성전자주식회사 복수의 컨텐츠 디렉토리 서비스 장치를 동기화하는 방법,컨텐츠 디렉토리 서비스 장치 및 시스템
US7890646B2 (en) * 2006-04-27 2011-02-15 Microsoft Corporation Synchronization orchestration
US20080028031A1 (en) * 2006-07-25 2008-01-31 Byron Lewis Bailey Method and apparatus for managing instant messaging
US7949626B1 (en) * 2006-12-22 2011-05-24 Curen Software Enterprises, L.L.C. Movement of an agent that utilizes a compiled set of canonical rules
US8230023B2 (en) * 2007-05-17 2012-07-24 International Business Machines Corporation Managing email disk usage based on user specified conditions
US8700750B2 (en) * 2009-01-16 2014-04-15 Microsoft Corporation Web deployment functions and interfaces
US8290900B2 (en) * 2010-04-24 2012-10-16 Research In Motion Limited Apparatus, and associated method, for synchronizing directory services
US8612526B2 (en) * 2010-07-21 2013-12-17 At&T Intellectual Property I, L.P. System and method for prioritizing message transcriptions
US8879695B2 (en) 2010-08-06 2014-11-04 At&T Intellectual Property I, L.P. System and method for selective voicemail transcription
US10543715B2 (en) * 2016-09-08 2020-01-28 Stempf Automotive Industries, Inc. Wheel centering sleeve
US9338112B2 (en) 2012-07-12 2016-05-10 Microsoft Technology Licensing, Llc Safety protocols for messaging service-enabled cloud services
US9977828B2 (en) * 2012-10-16 2018-05-22 Evernote Corporation Assisted memorizing of event-based streams of mobile content
WO2014064814A1 (ja) * 2012-10-25 2014-05-01 富士通株式会社 情報端末装置、ストレージサービス利用方法及びストレージサービス利用プログラム
CN103856536B (zh) * 2012-12-05 2018-01-09 腾讯科技(北京)有限公司 同步控制方法及同步控制装置
US9361322B1 (en) 2013-03-15 2016-06-07 Twitter, Inc. Unidirectional lookalike campaigns in a messaging platform
US10650408B1 (en) 2013-03-15 2020-05-12 Twitter, Inc. Budget smoothing in a messaging platform
US10530725B2 (en) * 2015-03-09 2020-01-07 Microsoft Technology Licensing, Llc Architecture for large data management in communication applications through multiple mailboxes
US10530724B2 (en) * 2015-03-09 2020-01-07 Microsoft Technology Licensing, Llc Large data management in communication applications through multiple mailboxes
US10033680B2 (en) * 2015-10-27 2018-07-24 Blackberry Limited Method for priming inbox and conversations during initial synchronization of messages
US11405345B2 (en) 2016-11-01 2022-08-02 Microsoft Technology Licensing, Llc E-mail with smart reply and roaming drafts
US10516630B2 (en) 2016-11-01 2019-12-24 Microsoft Technology Licensing, Llc Switching synchronization systems for synchronizing server/client data
US10956453B2 (en) 2017-05-24 2021-03-23 International Business Machines Corporation Method to estimate the deletability of data objects
US11620292B1 (en) * 2021-10-12 2023-04-04 Johnson Controls Tyco IP Holdings LLP Systems and methods for preserving selections from multiple search queries
CN113886396B (zh) * 2021-10-20 2022-03-29 电子科技大学 基于高效用频繁模式挖掘的电力系统故障检测方法及系统

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999009479A1 (en) * 1997-08-15 1999-02-25 Seagate Technology, Inc. Redundancy implementation on object oriented data storage device
US6182133B1 (en) * 1998-02-06 2001-01-30 Microsoft Corporation Method and apparatus for display of information prefetching and cache status having variable visual indication based on a period of time since prefetching
US6275850B1 (en) * 1998-07-24 2001-08-14 Siemens Information And Communication Networks, Inc. Method and system for management of message attachments
KR20010021089A (ko) * 1999-07-23 2001-03-15 스테븐 디.피터스 네트워크 대역폭을 효율적으로 이용하여 전자 메일서비스를 이동 장치에 제공하기 위한 방법 및 장치
US6738766B2 (en) * 2000-02-02 2004-05-18 Doongo Technologies, Inc. Apparatus and methods for providing personalized application search results for wireless devices based on user profiles
US20020073076A1 (en) * 2000-12-11 2002-06-13 Yongjie Xu System and method for enabling off-line database functionality
US7570668B2 (en) * 2001-10-03 2009-08-04 Nokia Corporation Data synchronization
US7155521B2 (en) * 2001-10-09 2006-12-26 Nokia Corporation Starting a session in a synchronization system
US7522910B2 (en) * 2002-05-31 2009-04-21 Oracle International Corporation Method and apparatus for controlling data provided to a mobile device
US7174332B2 (en) * 2002-06-11 2007-02-06 Ip. Com, Inc. Method and apparatus for safeguarding files
JP2005536962A (ja) * 2002-08-30 2005-12-02 コニンクリーケ・ケイピーエヌ・ナムローゼ・フェンノートシャップ データを段階的に取得する方法及びシステム
WO2004051509A1 (en) * 2002-12-04 2004-06-17 Nokia Corporation Selecting data for synchronization and for software configuration

Also Published As

Publication number Publication date
US20060080354A1 (en) 2006-04-13
EP1782590A1 (en) 2007-05-09
WO2006021840A1 (en) 2006-03-02
CN101036358A (zh) 2007-09-12
KR100914895B1 (ko) 2009-08-31

Similar Documents

Publication Publication Date Title
KR100914895B1 (ko) 데이터의 유틸리티를 기반으로 하여 데이터 저장소로부터 데이터를 선택하는 시스템
EP1510050B1 (en) Method and apparatus for providing e-mail to a mobile device
TWI430176B (zh) 管理持久的方法、裝置及電腦程式
US7899891B2 (en) Network adapted for mobile devices
US8116288B2 (en) Method for distributing data, adapted for mobile devices
US20080071798A1 (en) Apparatus and methods for managing data used by a mobile device
US20090177704A1 (en) Retention policy tags for data item expiration
EP1941658A2 (en) Managing content to constrained devices
US20140237024A1 (en) Network communication devices and file tracking methods thereof
JP5628799B2 (ja) 個人情報ファイル管理ツール
CN102238102A (zh) 基于配额的存档
US20060074996A1 (en) System and method for synchronizing data
US11184451B2 (en) Intelligently delivering notifications including summary of followed content and related content
KR20080049455A (ko) 데이터 동기화 시스템
US8805942B2 (en) Storing and partitioning email messaging data
US20090013284A1 (en) Systems and Methods for Communicating Information
US20080059538A1 (en) Method and system for synchronizing offline records
US8290906B1 (en) Intelligent resource synchronization
JP2001155029A (ja) 放送型情報システム、放送情報キャッシング方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体
WO2015132603A1 (en) Improved database
JP2004310447A (ja) データベース管理システム及びデータベース管理方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee