KR20060041737A - 다중 동기화 소스의 크로스-폴리네이션 - Google Patents

다중 동기화 소스의 크로스-폴리네이션 Download PDF

Info

Publication number
KR20060041737A
KR20060041737A KR1020050010522A KR20050010522A KR20060041737A KR 20060041737 A KR20060041737 A KR 20060041737A KR 1020050010522 A KR1020050010522 A KR 1020050010522A KR 20050010522 A KR20050010522 A KR 20050010522A KR 20060041737 A KR20060041737 A KR 20060041737A
Authority
KR
South Korea
Prior art keywords
item
cross
data source
synchronization
data
Prior art date
Application number
KR1020050010522A
Other languages
English (en)
Other versions
KR101137101B1 (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 KR20060041737A publication Critical patent/KR20060041737A/ko
Application granted granted Critical
Publication of KR101137101B1 publication Critical patent/KR101137101B1/ko

Links

Images

Classifications

    • 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
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/275Synchronous replication
    • AHUMAN NECESSITIES
    • A01AGRICULTURE; FORESTRY; ANIMAL HUSBANDRY; HUNTING; TRAPPING; FISHING
    • A01GHORTICULTURE; CULTIVATION OF VEGETABLES, FLOWERS, RICE, FRUIT, VINES, HOPS OR SEAWEED; FORESTRY; WATERING
    • A01G9/00Cultivation in receptacles, forcing-frames or greenhouses; Edging for beds, lawn or the like
    • A01G9/02Receptacles, e.g. flower-pots or boxes; Glasses for cultivating flowers
    • A01G9/021Pots formed in one piece; Materials used therefor
    • 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
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B44DECORATIVE ARTS
    • B44CPRODUCING DECORATIVE EFFECTS; MOSAICS; TARSIA WORK; PAPERHANGING
    • B44C5/00Processes for producing special ornamental bodies
    • B44C5/06Natural ornaments; Imitations thereof
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Environmental Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은, 사용자가, 크로스-폴리네이트하는 적어도 2개의 데이터 소스들과 장치를 동기화할 수 있도록 한다. 사용자의 장치는 소스들 간의 변경을 전달하고, 변경이 다중 소스의 아이템에서 동시에 이루어질 때 충돌을 해결하는데 사용된다. 사용자의 장치는 각 동기화 소스가 어느 버젼의 아이템을 갖는지를 계속 추적하고, 이 소스들 각각을 최종 버젼의 아이템으로 동기화한다.
동기화, 크로스-폴리네이션, 중복 검출 시나리오, 아이템, 이동 컴퓨팅 장치

Description

다중 동기화 소스의 크로스-폴리네이션{CROSS-POLLINATION OF MULTIPLE SYNC SOURCES}
도 1 및 2는 본 발명의 양호한 일 실시예에서 사용될 수 있는 양호한 컴퓨팅 장치를 도시하는 도면.
도 3은 크로스-폴리네이션 동기화 시스템을 도시하는 도면.
도 4는 크로스-폴리네이션의 가능 및 불가능을 도시하는 도면.
도 5는 양호한 동기화표 구조를 도시하는 도면.
도 6은 소프트 삭제 및 하드 삭제를 도시하는 도면.
도 7은 아이템을 장치에 부가하라는 명령의 처리를 도시하는 도면.
도 8은 양호한 중복 검출 시나리오를 도시하는 도면.
도 9는 장치에 있는 중복된 기존 아이템에 대한 부가 명령의 처리를 도시하는 도면.
도 10은 v1 및 v3 서버의 크로스-폴리네이션을 도시하는 도면.
도 11 및 12는 양호한 동기화 시나리오를 나타내는 도면.
도 13은 데이터 소스 생성을 도시하는 도면.
도 14는 데이터 소스를 삭제하는 프로세스를 나타내는 도면.
도 15는 본 발명의 양상에 따라서, 동기화되지 않은 데이터 소스 정보의 조 정을 도시하는 도면.
<도면의 주요 부분에 대한 부호의 설명>
100 : 컴퓨팅 장치
102 : 프로세싱부
104 : 시스템 메모리
105 : 오퍼레이팅 시스템
106 : 애플리케이션
107 : 프로그램 데이터
109 : 삭제가능 스토리지
110 : 삭제불가능 스토리지
112 : 입력 장치
114 : 출력 장치
116 : 통신 접속
118 : 다른 컴퓨팅 장치
120 : 피닝 애플리케이션
260 : 프로세서
262 : 메모리
228 : 디스플레이
232 : 키패드
305 : PDA 장치
310 : 워크 PC
315 : 홈 PC
320 : 아이템 A
510 : DB 파일
520 : 달력
522 : 업무 표
524 : 컨택
사용자는 일 장치를 다른 장치와 동기화할 수 있다. 예를 들어, 사용자는 자신의 작업 컴퓨터를 자신의 이동 장치에 동기화할 수 있다. 이동 장치와의 동기화 후에, 컴퓨터는 동기화되도록 선택된 동일한 정보를 포함한다. 동기화의 기본적인 목적은 2개의 시스템을 서로 동시에 유지하는 것이다. 일 소스에서 이루어지는 변경은 장치가 동기화될 때 다른 소스로 전파된다.
예를 들어, 사용자는 다른 이동 장치에 대한 컨택을 자신의 홈 PC와 동기화하고, 그 다음 홈 PC와 이동 장치는, 동기화가 완료된 후에 동일한 컨택을 가질 것이다. 다수의 사용자는 그들의 문서 뿐만 아니라 이메일, 컨택, 달력, 아이템을 포함하는 아이템들을 동기화한다. 그러나, 2개 이상의 서로 다른 장치들 사이의 정보를 동기화하는 것은 매우 어렵다. 따라서, 다중 동기 소스들을 동기화하는 방 법이 요구된다.
본 발명은 장치를 하나 이상의 컴퓨팅 장치("동기 소스")와 동기화하는 것에 관한 것이다.
본 발명의 일 양상에 따르면, 장치는 그들의 데이터를 "크로스-폴리네이션(cross-pollination)"한다. 이동 장치와 같은 컴퓨팅 장치들 중 하나는 각 데이터 소스가 어느 버젼의 아이템을 갖는지 추적하고, 데이터 소스를 최종 버젼의 아이템으로 동기화한다. 사용자는 아이템 및 데이터 소스에 대해 선택적으로 크로스-폴리네이션할 수 있거나, 크로스-폴리네이션할 수 없다.
본 발명의 다른 양상에 따르면, 중복 검출 알고리즘은 장치들에 대해서 중복 데이터의 발생을 피하도록 돕는다.
본 발명의 또 다른 양상에 따르면, 아이템의 삭제는 삭제된 아이템과 더이상 사용자의 필터에 있지 않은 아이템을 비교해서 그 차이에 따라 다르게 처리된다.
본 발명의 또 다른 양상에 따르면, 크로스-폴리네이션은, 동기화 소스가 서로 다른 버젼의 동기화 프로토콜을 사용하더라도 발생할 수 있다.
명세서 및 청구항에 걸쳐서, 다음의 용어들은, 그 내용이 명확하게 명시되어 있지 않은 한, 본 명세서와 결합됨으로써 그 의미가 분명해지는 것이다. "크로스-폴리네이션"이라는 용어는 다중 동기화 소스들로부터 데이터를 믹싱 및 함께 혼합하는 것을 의미한다.
예시적 동작 환경
도 1을 참조하면, 본 발명을 구현하기 위한 하나의 양호한 시스템은 컴퓨팅 장치(100)와 같은 컴퓨팅 장치를 포함한다. 매우 기본적인 구성에서, 컴퓨팅 장치(100)는 적어도 하나의 프로세싱부(102) 및 시스템 메모리(104)를 일반적으로 포함한다. 컴퓨팅 장치의 정확한 구성 및 유형에 따라서, 시스템 메모리(104)는 (RAM과 같은) 휘발성 메모리, (ROM, 플래시 메모리, 등과 같은) 비휘발성 메모리, 또는 이 둘의 조합일 수 있다. 시스템 메모리(104)는 일반적으로 오퍼레이팅 시스템(105), 하나 이상의 애플리케이션(106)을 포함하고, 프로그램 데이터(107)도 포함할 수 있다. 일 실시예에서, 애플리케이션(106)은 동기화 애플리케이션(120)을 포함할 수 있다. 이러한 기본 구성은 점선 108에 포함된 성분들로서 도 1에 도시된다.
컴퓨팅 장치(100)는 추가적인 특성 및 기능성을 갖는다. 예를 들어, 컴퓨팅 장치(100)는 또한, 예를 들어, 자기 디스크, 광학 디스크, 또는 테이프와 같은 추가의 (삭제가능 및/또는 삭제불가능) 데이터 저장 장치를 포함할 수 있다. 이러한 추가의 저장 장치는 삭제가능 스토리지(109) 및 삭제불가능 스토리지(110)로서 도 1에서 도시된다. 컴퓨터 저장 매체는, 컴퓨터 판독가능 명령, 데이터 구조, 프로그램 모듈, 또는 다른 데이터와 같은 정보를 저장하기 위한 소정의 방법 또는 기술로서 구현되는 삭제가능 및 삭제불가능 매체, 휘발성 및 비휘발성 매체를 포함한다. 시스템 메모리(104), 삭제가능 스토리지(109), 및 삭제불가능 스토리지(110)는 모두 컴퓨터 저장 매체의 예들이다. 컴퓨터 저장 매체는, RAM, ROM, EEPROM, 플래시 메모리, 또는 다른 메모리 기술의 메모리, CD-ROM, 디지털 다기능 디스크(DVD) 또는 다른 광학 스토리지, 즉, 자기 카세트, 자기 테이프, 자기 디스크 스토리지 또는 다른 자기 저장 장치, 또는 희망 정보를 저장하는 데 사용될 수 있으며, 컴퓨팅 장치(100)에 의해 액세스될 수 있는 소정의 다른 매체를 포함하지만, 이것들로 제한되는 것은 아니다. 소정의 이러한 컴퓨터 저장 매체는 장치(100)의 일부를 구성한다. 컴퓨팅 장치(100)는 또한, 키보드, 마우스, 펜, 음성 입력 장치, 터치 입력 장치, 등과 같은 입력 장치(들)(112)를 포함한다. 또한, 디스플레이, 스피커, 프린터, 등과 같은 출력 장치(들)(114)도 포함된다.
컴퓨팅 장치(100)는 또한, 장치가 네트워크 등을 통해서 다른 컴퓨팅 장치(118)와 통신할 수 있도록 하는 통신 접속(116)을 포함한다. 통신 접속(116)은 통신 매체의 일 예이다. 통신 매체에는 일반적으로, 컴퓨터 판독가능 명령, 데이터 구조, 프로그램 모듈, 또는, 반송파 또는 다른 전송 메카니즘 등으로 변조된 데이터 신호의 기타 데이터가 내장되고, 통신 매체는 소정의 정보 전달 매체를 포함한다. "변조된 데이터 신호"라는 용어는 하나 이상의 특성 세트를 포함하거나, 신호의 정보를 암호화하는 방식으로 변경된 신호를 의미한다. 예시적으로, 통신 매체는, 유선 네트워크 또는 직접-배선 접속과 같은 유선 매체, 및 음향, RF, 적외선과 같은 무선 매체, 및 기타 무선 매체를 포함하지만, 이것으로 제한되는 것은 아니다. 본 명세서에서 사용된 컴퓨터 판독가능 매체라는 용어는 저장 매체 및 통신 매체 둘 다를 포함한다.
도 2는 본 발명의 양호한 실시예에 따라 사용될 수 있는 이동 컴퓨팅 장치를 도시한다. 도 2를 참조하면, 본 발명을 구현하기 위한 양호한 일 시스템은 이동 컴퓨팅 장치(200)와 같은 이동 컴퓨팅 장치를 포함한다. 이동 컴퓨팅 장치(200)는 프로세서(260), 메모리(262), 디스플레이(228), 및 키패드(232)를 포함한다. 메모리(262)는 일반적으로 휘발성 메모리(예를 들어, RAM) 및 비휘발성 메모리(예를 들어, ROM, 플래시 메모리, 등) 둘 다를 포함한다. 이동 컴퓨팅 장치(200)는 마이크로소프트사의 윈도우 CE 오퍼레이팅 시스템과 같은 오퍼레이팅 시스템(264), 또는 메모리(262)에 상주하며, 프로세서(260)에서 실행되는 다른 오퍼레이팅 시스템을 포함한다. 키패드(232)는 (일반적인 전화기와 같은) 푸쉬 버튼 숫자식 다이얼링 패드, (종래의 키보드와 같은) 멀티-키 키보드일 수 있다. 디스플레이(228)는 액정 디스플레이일 수 있고, 또는 이동 컴퓨팅 장치에서 통상 사용되는 다른 타입의 디스플레이일 수 있다. 디스플레이(228)는 접촉-감지식일 수 있고, 이는 입력 장치로서의 역할을 할 수도 있다.
하나 이상의 애플리케이션 프로그램(266)은 메모리(262)로 로드되어, 오퍼레이팅 시스템(264)에서 실행된다. 동기화 애플리케이션은 이동 컴퓨팅 장치(200)에 상주하고, 동기화 애플리케이션이 수행되도록 프로그램된다. 동기화 애플리케이션은 장치의 하드웨어 또는 소프트웨어에 상주할 수 있다. 이동 컴퓨팅 장치(200)는 또한 메모리(262)내에 비휘발성 스토리지(268)를 포함한다. 비휘발성 스토리지(268)는, 이동 컴퓨팅 장치(200)가 파워 다운되었을 경우 손실되면 안되는 지속 정보를 저장하는데 사용된다.
이동 컴퓨팅 장치(200)는, 하나 이상의 배터리로서 구현되는 전력 공급기 (270)를 포함한다. 전력 공급기(270)는 배터리를 공급하거나 충전하는 AC 어댑터 또는 전력공급된 도킹 요람과 같은 외부 전력 소스를 더 포함할 수 있다.
이동 컴퓨팅 장치(200)는 2개 타입의 선택적 외부 공지 메카니즘, 즉 LED(240) 및 오디오 인터페이스(274)를 포함하는 것으로 도시된다. 이들 장치는 전력 공급기(270)에 직접 연결되어, 활성화되었을 때, 프로세서(260) 및 다른 구성 요소들이 배터리 전력 유지를 중단하더라도, 공지 메카니즘에 의해 규정된 기간동안 온 상태를 유지한다. 오디오 인터페이스(274)는 사용자에게 청취가능 신호를 제공하고, 사용자로부터 청취가능 신호를 수신하는데 사용된다. 예를 들어, 오디오 인터페이스(274)는, 전화 통화를 용이하게 하기 위해서 청취가능 출력을 제공하기 위한 스피커, 및 청취가능 입력을 수신하기 위한 마이크로폰에 접속될 수 있다.
이동 컴퓨팅 장치(200)는 또한, 통신을 전송하고 수신하는 기능을 수행하는 무선 인터페이스층(272)을 포함한다. 무선 인터페이스층(272)은 이동 컴퓨팅 장치(200)와 외부 세계와의 무선 접속을 가능하게 한다. 일 실시예에 따르면, 무선 인터페이스층(272)으로/으로부터의 송신은 오퍼레이팅 시스템(264)의 제어하에서 수행된다. 즉, 무선 인터페이스층(272)에 의해 수신된 통신은 오퍼레이팅 시스템(264)을 통해 애플리케이션 프로그램(266)으로 전달될 수 있고, 그 역도 가능하다.
다중 동기화 소스들의 크로스-폴리네이션
도 3은 본 발명의 양상에 따른 크로스-폴리네이션 동기화 시스템을 나타낸다. 사용자는 장치 1(305)과 같은 컴퓨팅 장치를 하나 이상의 컴퓨팅 장치들과 동기화할 수 있고, 이 컴퓨팅 장치들은 각각 "동기화 소스"로 고려된다.
양호한 크로스-폴리네이션 시나리오에서, 사용자는 2개의 동기화 소스와 동기화되는 단일의 장치를 갖는다. 사용자는 장치를 두 소스와 동기화하고, 크로스-폴리네이션은 소스들이 서로 동기화를 유지하도록 한다. 사용자의 장치는 소스들 사이의 변경을 전달하고, 변경이 다중 소스의 아이템에서 동시에 이루어질 때 충돌을 해결하는데 사용된다. 사용자의 장치는, 각 동기화 소스가 어느 버젼의 아이템을 갖는지를 계속 추적하고, 이 소스들 각각을 최종 버젼의 아이템으로 동기화한다.
크로스-폴리네이션의 예로서, 사용자는 자신의 PDA 장치(305)를 홈 PC(315)와 동기화시키고, 또한 워크 PC(310)와도 동기화시킨다. 일단 동기화되면, 각 장치(PDA 장치(305), 워크 PC(310), 및 홈 PC(315))는 아이템 A(320)를 포함할 것이다. 사용자가 자신의 PDA를 워크 PC와 동기화시키면, 아이템 A는 PDA에 의해 수신된다. 사용자가 PDA를 홈 PC와 동기화시키면, 워크 PC로부터 PDA로 나온 아이템 A는 자동적으로 홈 PC로 보내질 것이다. 또한, 홈 PC에서 생성되는 소정의 아이템은, 크로스-폴리네이션이 가능할 때 PDA를 통해 자동적으로 워크 PC로 보내질 것이다.
일 실시예에 따르면, 사용자는 소스들 간의 크로스-폴리네이션을 가능하게 하거나, 불가능하게 한다. 즉, 사용자는 소스들 사이의 크로스-폴리네이션을 할 수 있거나, 아이템을 분리하여 유지할 수 있다. 이 크로스-폴리네이션 설정은 어느때나 온 오프 전환될 수 있다. 예를 들어, 사용자는 홈 PC(315)와 크로스-폴리네이트할 수 있는 능력을 턴 오프할 수 있다. 크로스-폴리네이션이 홈 PC에서 불 가능한 경우, 워크 PC로부터의 아이템은 홈 PC로 이동되지 않을 것이다. 또한, 사용자는 하나의 소스를 분리되게 유지할 수 있고, 2개의 다른 소스들을 크로스-폴리네이션할 수 있다. 이러한 유동성은 사용자가 어떻게 데이터를 동기화할 지를 전체적으로 제어할 수 있도록 돕는다.
본 발명의 일 실시예에 따라서, 장치가 단일 소스와 더이상 동기화하지 않으면, 모든 데이터는 장치로부터 제거된다. 데이터는 또한 장치에 남겨질 수도 있다. 장치가 2개 이상의 소스와 동기화하는 경우, 데이터는 다른 소스와 동기하고 있기 때문에 장치에 남겨진다. ID 컬럼은 동기화되지 않은 데이터 소스에 대해 클리어되고, 이 소스에 대한 추적 데이터는 제거된다.
도 4는 본 발명의 양상에 따라서 크로스-폴리네이션의 가능 및 불가능을 도시한다. 크로스-폴리네이션 동기화 장치는 자신이 동기화하고 있는 소스들을 알고 있다. 일 실시예에 따라서, 동기화 소스 구성 정보는 이동 장치에 저장되고, 이 장치는 AirSync 프로토콜을 사용한다. 구성 정보는 다른 위치에도 저장될 수 있고, 장치는 다른 동기화 프로토콜을 사용할 수 있다.
일 실시예에 따라서, 관리자는, 장치가 동기화할 수 있는 소스의 수를 제한하도록 장치에 대한 방침을 설정한다. 이러한 특성은 장치가, 동기화할 수 있는 소스들을 선정된 수로 제한함으로써 크로스-폴리네이션을 차단하는데 사용될 수 있다. 다른 실시예에 따르면, 소정의 인증된 사용자가 장치에 대한 방침을 설정할 수 있다.
예 1은 하나의 데이터 소스(워크 PC(310))와 PDA(305)의 동기화를 나타낸다. 도시된 바와 같이 아이템 A는 두 장치 모두에서 복사된다.
예 2는 제2 데이터 소스(홈 PC(315))의 부가를 도시한다. PDA(305)는 워크 PC 및 홈 PC 둘 다와 동기화되고, 이들 각 장치는 모든 장치의 각 아이템을 포함한다. 원래 워크 PC에 있던 아이템 A는 PDA(305) 및 홈 PC에 복사된다. 원래 홈 PC에 있던 아이템 B는 PDA(305) 및 워크 PC에 복사된다.
예 3은, 장치에 생성된 아이템을 워크 PC에 동기화하며, 워크 PC 및 홈 PC가 크로스-폴리네이트하지 않도록 하는 동기화 설정의 변경을 도시한다. 도시된 바와 같이, 장치에 생성된 아이템 C는 워크 PC와 동기화되지만, 홈 PC와는 크로스-폴리네이션되지 않는다.
예 4는 워크 PC에 동기하는 장치에 생성된 아이템, 및 워크 PC와 크로스-폴리네이트하지 않는 홈 PC에서 새롭게 생성된 아이템을 도시한다. 이 예에서, 아이템 D는 홈 PC에서 생성되고, 장치와 동기화되지만, 워크 PC와는 동기화되지 않는다.
예 5는 모든 장치에서 새롭게 생성된 아이템을 크로스-폴리네이트하는 동기화 설정의 변경을 도시한다. 이 예에서, 아이템 E는 워크 PC에서 생성되고, 장치 및 홈 PC와 동기화된다. 일 실시예에 따르면, 서로 다른 동기화 설정에서 생성된 아이템들은 그들의 동기화 설정을 유지한다. 예를 들어, 도 3 및 도 4에 도시된 서로 다른 동기화 설정 아래서 생성된 아이템 C 및 아이템 D는 크로스-폴리네이트되지 않는다.
예 6은 홈 PC 동기화 소스의 삭제를 도시한다. 일 실시예에 따르면, 제거된 장치에서 생성된 소정의 아이템은, 제거된 장치에만 있는 아이템이라면, 다른 동기화 장치로부터도 제거된다. 이 예에서, 아이템 D는 장치로부터 제거되지만, 아이템 B는 워크 PC에도 동기화되기 때문에 제거되지 않는다.
도 5는 본 발명의 양상에 따라서 양호한 동기화 표 구조를 도시한다. 일 실시예에 따르면, SQL-CE는 동기화 상태를 유지하는데 사용된다.
DB 파일(510)은 동기화되는 각 데이터의 타입에 대한 단일 표를 포함한다. 이 예는 컨택, 달력, 및 업무의 동기화를 나타낸다. 아이템에 대한 변경이 다수의 표에서 발생하기 때문에, 아이템과 연관된 최종변경된 필드(LastModified field;540)는 아이템이 편집될 때마다 갱신된다. 이는 모든 변경들이 공지되고 동기화되도록 한다. 아이템 표, 카테고리 결합 표, 또는 소정의 다른 관련 표에서의 아이템에 대한 변경들은 최종변경된 필드를 갱신하도록 한다. 일 실시예에 따르면, 이 값은 현재의 장치 날짜 및 시간으로 설정된다. 이 플래그는, SQL-CE 변경 추적 시스템이 소정의 아이템 변경을 적절하게 추적하는 것을 보장하도록 하는 아이템에 대한 각각의 갱신에 따라서 일부 수정된다. 도시된 바와 같이, 최종변경된 컬럼은 컨택(524), 달력(520), 및 업무 표(522)에 부가된다. 최종변경된 컬럼은 아이템이 변경될 때마다 갱신된다.
다음은 표에 있는 아이템의 양호한 설명이다.
카테고리 내용
데이터소스 타입 alAirSyncServer 1
alAirSyncDesktop 2
데이터 소스 - 각 데이터 소스에 대해 추적하는 데이터
데이터소스ID PK, GUID 데이터 소스에 대한 특정 식별자
데이터소스타입 long 어느 타입의 데이터 소스인지를 지시한다. 성능을 추적하는데 사용된다.
친근한이름 nvarchar 스토어를 식별하기 위해 애플리케이션에 의해 사용되는 데이터 소스의 이름
네트워크어드레스 nvarchar 데이터 소스에 대한 어드레스. 데이터 소스 타입에 따라 값이 설정된다.
본 발명의 일 실시예에 따르면, 각 데이터 소스에 대한 관습 특성(Sync Custom Props 5560)은 등록부(Registry)에 저장된다. 이러한 관습 특성은 동기화 엔진이 추적하는 상세한 내용을 포함한다. 일 실시예에 따르면, 서버는 사용자이름, 패스워드, 도메인, 및 룰(Rule)을 계속 추적한다. 데스크탑 소스는 사용자이름, 패스워드(선택적), 도메인, 룰, 및 기기명을 계속 추적한다.
다음은, 본 발명의 양상에 따른 양호한 데이터 소스 애플리케이션 프로그램 인터페이스의 리스트이다.
데이터 소스 APIS
기능성 설명
데이터 소스 생성 HRESULT CreateDataSource([in]UNIT cProps, [in]CEPROPVALS*rgVals, [out]GUID*pDataSourceID); 파라미터; DataSourceType FriendlyName NetworkAddress ExchangeServer 새로운 데이터 소스가 생성되고, 성공적이라면, 새로운 데이터소스ID가 OUT 파라미터로 되돌려진다. 통과된 친근한 이름은 유일한 것이다. 요구된 FriendlyName이 이미 존재하면, 에러가 호출 함수로 반환된다.
데이터 소스 편집 HRESULT GetDataSourceProps([in]GUID DataSourceID, [in]UNIT cProps, [in]CEPROPVALS*rgVals); 어느 데이터 소스가 갱신될지를 나타내는 DataSourceID에서 통과. 생성 동작에서의 모든 특성 세트가 편집될 수 있다.
HRESULT SetDataSourceProps([in]GUID DataSourceID, [in]UNIT cProps, [in]CEPROPVALS*rgVals); 이들 필드 중 임의의 필드를 편집하는 것은 동기화 키의 리셋을 요구하지 않는다.
데이터 소스 삭제 HRESULT DeleteDataSource([in]GUID DataSourceID); 요구된 데이터 소스를 삭제하고, 표로부터 이 데이터 소스에 대한 컬럼을 삭제한다. 아이템이 동기화하지만, 이제 더이상 동기화 소스에 접속되지 않으면, 표로부터 아이템을 삭제한다.
데이터 소스 획득 HRESULT EnumDataSourceFirst([out] HANDLE*phEnum, [out]GUID*pDataSourceID); HRESULT EnumDataSourceNext([in] HANDLE hEnum, [out]GUID*pDataSourceID); 데이터 소스의 리스트를 통해 검색 및 계산
아이템에 대한 셋팅으로 동기화 설정/검색 struct SyncDataSource{ GUID DataSourceID; BOOL fSyncing }
HRESULT GetDataSourceForItem([in]GUID itemID, [in]GUID itemType,[out] SyncDataSource**ppSDS); HRESULT SetDataSourceForItem([in]GUID itemID, [in]GUID itemType,[in] SyncDataSource*pSDS); 아이템에 대한 데이터 소스 획득 새로운 아이템에 대해 이 API는, 동기화될 수 있는 아이템 타입의 데이터 소스 및 디폴트 값의 리스트 (어느 데이터 소스가 디폴트에 의해 동기화되어야 하는 새로운 아이템을 갖는지)를 결정하도록 호출된다. 기존 아이템에 대해 이 API는 유효 데이터의 리스트를 결정하도록 호출된다. 아이템이 동기화될 수 있는 소스, 및 (아이템이 현재 동기화하고 있는) 현재 동기화 값 특정 아이템ID에 대해 동기화할(Sync To) 값을 설정하도록 이 API를 사용한다. 아이템에 대한 데이터 소스 설정 이 함수는 여러 상황들에 대응한다. 1: 새로운 아이템 - 관련되는(pending) 플래그를 설정 2: 동일한 값으로 편집 - 아무것도 하지 않음 3: 새로운 값으로 편집 - 관련된 삭제 또는 관련되는 적합 장소에 대해 표시
하드 및 소프트 삭제 사이의 차이점
도 6은 본 발명의 양상에 따라 소프트 삭제 및 하드 삭제를 도시한다. 일 실시예에 따르면, 동기화 프로토콜은, 아이템이 필터 밖으로 나가거나(즉, 더이상 동기화하지 않으면), 또는 물리적으로 제거되면, 아이템에 대한 삭제를 아래로 보낸다. 일 실시예에 따르면, 크로스-폴리네이팅하는 아이템에 대한 필터 설정은 장치 범위에서의(device-wide) 설정이다. 크로스-폴리네이팅하는 소스들에 대한 삭제가 필터 외부로 전달됨으로써 데이터의 손실이 가능하기 때문에, Hard Delete 명령은 소프트 삭제와 하드 삭제를 차별화하도록 하는데 사용된다.
"Hard Delete"라는 용어는 각 스토어로부터 아이템을 물리적으로 삭제하는 것을 의미한다. 하드 삭제는 모든 크로스-폴리네이팅하는 소스들에 대해 전파된다. "Soft Delete"는 아이템을 필터밖으로 내보냈다는 것을 의미한다. 소프트 삭제는 장치로부터 아이템을 삭제하지만, 이 삭제가 어느 다른 소스로 전파되는 것은 아니다.
동기화 프로토콜의 버젼이 소프트 삭제를 지원하지 않는다면, 삭제 명령이 수신될 때, 장치는 그 스토어로부터만 아이템을 삭제할 것이다. 즉, 이 삭제는 크로스-폴리네이션되지 않는다. 아이템이 최종 동기화후에 필터에서 완료될 수 있기 때문에, Soft Delete는 Sync 세션의 끝에서 발생한다.
예를 들어, 아이템(610)은 서버로부터 소프트 삭제되고, 그 다음, 아이템이 장치로부터 삭제될 것이지만, 삭제(620)로 도시된 바와 같이, 홈 PC에서는 삭제되지 않는다. 반대의 경우라면, 아이템은 워크 PC에서 하드 삭제되어, 삭제(625)로 도시된 바와 같이, 아이템(610)은 장치 및 홈 PC로부터 삭제된다. 삭제 명령은, 장치가 존재하지 않는 아이템에 대한 삭제 명령을 수신하는 경우 무시된다.
중복 검출
도 7은 본 발명의 양상에 따라서 장치에 아이템을 부가하라는 명령의 처리를 도시한다. 아이템이 장치에 부가되기 전에, 중복 검출 검사가 완료된다. 중복 검출 검사를 수행하는 것은, 크로스-폴리네이팅되고 있는 서로 다른 장치에서 중복이 발생하지 않도록 보장하도록 한다. 일 실시예에 따르면, 중복 검출은 아이템 특성 비교에 기초하고, 중복 검출 코드는 (도 3에 도시되어 있는 장치(305)와 같은) 장치에서 구현된다.
블록 710에서, 장치는 동기화되고 있는 데이터 소스로부터 부가 명령을 수신한다. 블록 715로 진행하여, 장치는 부가될 아이템에 대한 해시값을 계산하고, 동일한 해시값을 갖는 소정의 다른 아이템에 대해서 스토어를 검색한다. 해시값은 아이템을 유일한 것으로서 식별하는데 사용된다. 아이템을 유일한 것으로서 식별하는 다른 방법들도 사용될 수 있다. 판단 블록 720으로 진행하여, 장치가 크로스-폴리네이팅되는지 여부가 결정된다.
해시가 판단 블록 725에 위치하면, 장치는 아이템이 중복된 것으로 고려하여, 판단 블록 735로 이동한다. 동기화 해시가 발견되지 않으면, 프로세스는 블록 730으로 진행하고, 여기에서 아이템은 장치에 부가되고, 동기화 팬딩(pending) 비트가 설정된다. 판단 블록 735에서, 발견된 아이템이 현재 이 데이터 소스와 동기화된다면, 아이템이 생성되고, 동기화 팬딩 필드가 블록 730에서 설정된다. 일 실시예에 따르면, 동기화 해시와 매칭되는 장치상의 아이템이 이미 소스와 동기화된다면, 장치는 어느것도 중복되는 것으로 고려하지 않을 것이다.
아이템이 데이터 소스와 현재 동기화하지 않으면, 프로세스는 블록 740으로 진행하고, 여기에서 아이템은 중복된 것으로 검출된다. 이 시점에서, 장치는 이미 가졌던 버젼을 유지하며, 새로운 아이템에 대한 ID를 기존의 기록에 단순히 부가할 것이다.
도 8은 본 발명의 양상에 따라서 양호한 중복 검출 시나리오를 도시한다. 일반적으로, 아이템이 장치에 부가되면, SyncHash(810)는 아이템 특성의 서브셋에서 계산된다. 아이템 A는 HASH101(815)의 동기화 해시값을 갖는다. 장치가 부가 될 아이템을 수신하면, 장치는 새로운 아이템의 SyncHash와 기존 아이템을 비교하여, 장치가 중복을 검출하도록 한다.
단계 1로 돌아가서, 아이템 A는 서버 1로부터 장치에 이미 동기화되었다. 이 시점에서, 아이템 A는 서버 1에 있고, 장치는 HASH101의 SyncHash 값을 갖는다. 단계 2에서, 사용자는 자신의 장치로부터 서버 1로 아이템 A를 복사하여, 장치의 서버 1에서 아이템 B를 생성한다. 아이템 B는 아이템 A와 동일한 SyncHash 값을 갖는다. 장치가 단계 3에서 서버와 동기화될 때, 아이템 B는 이미 서버와 동기화하기 때문에, 장치에서 생성될 것이다.
해시 계산
2개의 특성 레벨 매칭이 SyncHash를 계산하는데 사용된다.
정확한 데이터 비교(주(primary) 키셋): 필드 세트는 아이템이 중복된 것으로 고려하도록 비교되는 주 특성으로서 정의된다. 이 필드 세트는 각 데이터 타입에 대해 다를 것이다. 선택된 필드 세트는 주요 코드 변경없이 코드에 적용될 수 있어야 한다. 이는 헤더 파일의 필드 리스팅을 포함할 수 있고, 이에 따라 알고리즘은 테스트 프로세스 동안에 조정될 수 있다.
특성 존재(부(secondary) 키셋): 거의 완전하게 포함할 수 있는 더 큰 필드 세트는 이러한 특성들의 데이터가 단순히 존재하는 지에 대한 검사에 사용된다. 이는, 필드가 일 아이템에 설정되어 있고, 또 다른 아이템에는 비어있다면, 주 키가 매칭되더라도, 아이템들이 서로 중복된 것으로 고려되지 않을 것이라는 것을 보장한다.
해시 저장/갱신
아이템이 처음으로 동기화되면, SyncHash는 계산되어 아이템에 저장된다. SyncHash 값은 이미 동기화된 아이템이 편집될 때 갱신된다. 다음은 본 발명의 일 실시예에 따른 컨택, 달력, 및 업무에 대한 양호한 주 및 부 키셋이다. 다른 특성들은 동기화될 다른 아이템들에 대한 주 및 부 키셋을 생성하는데 사용된다.
컨택 동기화 해시 알고리즘 특성
주 키셋 (정확한 데이터 비교) 이름(FirstName) 성(LastName) 집전화번호의 최종 4개 숫자 회사전화번호의 최종 4개 숫자 (4 디짓보다 작다면, 소정의 존재하는 것 사용)
부 키셋 (특성 존재) 기념일, 점원이름, 점원전화번호, 생일, 바디, 회사2전화번호, 회사도시, 회사국가, 회사우편코드, 회사스테이트, 회사스트리트, 회사팩스번호, 차량전화번호, 회사명, 부서, 이메일주소, 이메일2주소, 이메일3주소, 파일에즈(FileAs), 집2전화번호, 홈도시, 홈국가, 홈우편코드, 홈스테이트, 홈스트리트, 홈팩스번호, 직업명, 중간이름, 이동전화번호, 회사위치, 다른도시, 다른국가, 다른우편코드, 다른스테이트, 다른스트리트, 무선호출기번호, 무선전화번호, 배우자, 부가물, 타이틀, 웹페이지, 요미회사명(YomicompanyName), 요미이름, 요미성(YomiLastName)
달력 동기화 해시 알고리즘 특성
주 키셋 (정확한 데이터 비교) UID, 개시시간, 위치, 서브젝트
부 키셋 (특성 존재) 하루이벤트(AllDayEvent), 이메일, 이름, DtStamp, 종료시간, 삭제됨, 예외개시시간, 회의스테이터스, 주최자이메일, 주최자이름, 반복(Recurrence), 타입, 기한(Until), 발생(Occurrences), 간격, 주간날짜(DayOfWeek), 월간날짜(DayOfMonth), 월간주(WeekOfMonth), 년간달((MonthOfYear)), 리마인더
업무 동기화 해시 알고리즘 특성
주 키셋 (정확한 데이터 비교) 서브젝트, 기한일, 카테고리
부 키셋 (특성 존재) 개시날짜, 완료날짜, 중요성, 완료(IsComplete), 반복(IsRecurring), 민감성, 리마인더설정, 리마인더시간, 바디
아이템이 크로스-폴리네이션에 대해 표시되면, 장치에 사용가능한 데이터는 다른 데이터 소스들과 크로스-폴리네이트될 것이다. 아이템의 단절된 버젼들은 장치 제한때문에 크로스-폴리네이트할 것이다. 일 실시예에 따르면, 텍스트[생략된 메시지]는, 단절이 발생할 때, 주의 필드의 말단에 부가된다. 따라서, 사용자는 완전한 오리지널 사본을 갖지 않았다는 것을 알게 된다.
장치의 동기화 엔진은 먼저 데이터 소스로부터의 모든 부가들(Adds)을 요구한다. 다음으로, 데이터 소스로 아직 남아 있는 모든 부가들을 보낸다(중복된 부가들은 표시되고, 이에 따라 발행되지 않는다).
일 실시예에 따라서, 장치의 아이템은 3개의 특성을 추적한다. 서버ID 값 및 SyncHash는 각 아이템에 관습 특성으로서 저장될 것이다.
특성 설명
아이템ID 이는 아이템을 식별하는데 사용된다.
서버ID1...N 이는 서버/데스크탑에서 아이템을 식별하는 ID이다. 아이템은 아이템에 관습 특성으로서 저장된 다중 서버 ID들을 가질 수 있다.
SyncHash 이는 중복을 검출하는데 사용되는 동기화 해시값이다. 이 값은 각 변경에 따라 계산 및 재계산된다.
서버ID 특성은 다음 4개의 상태를 갖는다:
동기화 상태 설명
동기화 팬딩 아이템은 장치에 있지만, 목표 데이터 소스로 아직 동기화되지 않는다. 아이템은 다음 동기화에 따라서 데이터 소스에서 생성된다.
유효 서버ID 아이템 서버ID는 데이터 소스와의 적절한 매핑을 가능하게 하도록 저장된다.
팬딩 삭제 아이템은 이 데이터 소스에 대해 과거에 동기화되었지만, 사용자는 이 아이템이 더이상 동기화되지 않을 것을 요구한다. 다음 동기화에서, 데이터 소스로부터 이 아이템을 삭제하여, 그 특성을 클리어한다.
비동기화 아이템은 이 데이터 소스와 동기화하지 않는다.
도 9는 본 발명의 양상에 따라서 장치에 있는 기존의 아이템의 중복에 대한 부가 명령의 처리를 도시한다. 중복된 것으로 고려되는 아이템에 대해서, 프로세스는, 부가 명령이 변경 명령으로 전환되는 블록 910으로 진행한다. 전체 아이템을 장치로 복사하는 대신에, 아이템이 갱신된다. 블록 920에서, 특성 리스트는 공지된 도표와 비교된다. 블록 930에 따르면, 확실한 삭제는 제공되지 않은 공지된 특성들에 대한 변경 명령에 부가된다. 블록 940은 갱신된 명령을 도시한다. 블록 950에서, 변경 명령이 처리된다.
서로 다른 동기화 버젼들에 대한 크로스-폴리네이션
특성 레벨 변경 추적은, 다중의 동기화 프로토콜 버젼의 크로스-폴리네이팅을 지원하는 것을 돕고, 불필요한 기입을 최소화하기 위해 구현된다. 각 동기화 제공자는 동기화하는 특성 세트를 알아야 하고, 제공자가 관심을 갖는 특성에 변경이 발생하는 경우 동기화를 개시해야만 한다. 동기화 제공자는 자신이 알고 있는 특성들만을 변경하기 때문에, 장치의 아이템이, 병합된 특성 세트를 포함하는 것이 가능하고, 여기에서 일부 특성들은 v1 서버로부터 나온 것이며, 다른 특성들은 v3 서버만이 동기화하는 것이다.
도 10은 본 발명의 양상에 따라서 v1 및 v3 서버의 크로스-폴리네이션을 도시한다. 서로 다른 버젼의 동기화 프로토콜은 서로 다른 특성을 지원한다. 도시된 예에서와 같이, V1 프로토콜은 특성 A 및 B를 지원하지만, V3 프로토콜은 특성 A, B, 및 Z를 지원한다.
처음에, 장치는 V1 서버 또는 V3 서버와 동기화되지 않는다. 901에서, 장치는 V3 서버와 동기화한다. 아이템 A 및 B는 중복된 것으로 검출되고, 아이템 A, B, 및 Z는 장치에 동기화된다. 930에서, 장치가 V1 서버와 다시 동기화할 때, 아이템 Z만이 변경되고, 이는 V1 서버에 의해 지원되지 않기 때문에 동기화는 발생하지 않는다.
도 11은 본 발명의 양상에 따라서 양호한 동기화 시나리오를 나타낸다. 단계 1110은, 아이템 A가 홈 PC 및 워크 서버와 사전에 크로스-폴리네이트된 것을 나타낸다. 1120에서, 아이템 A는 아이템 A의 편집된 생성 버젼 2(v2)이다. 장치는 1130에서 워크 서버와 동기화하고, 여기에서 버젼 2는 장치에 동기화된다. 다음으로, 블록 1140에서, 장치는 홈 PC와 동기화한다. 장치가 서버 윈(win)으로 설정되기 때문에, 아이템 A(버젼 1)는 이제 장치에 있게 된다. 장치가 워크 서버와 다시 동기화할 때, 여기에 충돌은 없고, 아이템 A - 버젼 1은 워크 서버(1150)에 있게 된다.
도 12는 본 발명의 양상에 따라서 양호한 동기화 시나리오를 도시한다. 단계 1210은 아이템 A가 홈 PC 및 워크 서버와 사전에 크로스-폴리네이트된 것을 나 타낸다. 1220에서, 동기화 키가 워크 서버에서 0의 값을 갖는다고 식별된다. 사용자는 워크 서버 ID가 블록 1230에서 삭제되도록(1224) 크로스-폴리네이팅한다. 블록 1240으로 진행하여, 동기화는 스크래치(scratch)로부터 시작되고, 장치는 아이템 A를 장치에 부가하라고 요구하는 부가 명령을 수신한다. 아이템은 중복된 것으로 검출되고, 홈 PC로부터의 아이템은 유지된다. 워크 서버 ID는 아이템 태그에 부가된다.
데이터 소스 생성
도 13은 본 발명의 양상에 따라서 데이터 소스 생성을 도시한다. 개시 블록 후에, 프로세스는 블록 1310으로 진행하고, 여기에서 새로운 데이터 소스에 대한 계수 정보가 획득된다. 블록 1320에 따라서, 새로운 데이터 소스를 시스템에 등록하라는 요청이 이루어진다. 블록 1330에서, 데이터 소스 타입은 데이터 소스와 결합된 타입으로 설정된다. 일 실시예에 따르면, 데이터 소스 타입은 장치의 타입, 즉, 데스크탑동기화 및 서버동기화에 관련된다. 다음으로, 블록 1340에서, 기기명이 기록된다. 이는, 데스크탑 동기화 정보가 손실된다면, 장치가 데스크탑(대부분의 경우)에 재접속할 수 있도록 한다. 다음에 프로세스는 종료 블록으로 진행하여, 다른 동작들을 처리하도록 돌아간다.
데이터 소스 제거
도 14는 본 발명의 양상에 따라서 데이터 소스의 제거 프로세스를 도시한다. 데이터 소스의 삭제는 데이터 소스 및 데이터 소스가 동기화하는 모든 아이템을 삭제한다. 아이템이 하나 이상의 데이터 소스와 동기화하거나, 동기화하고 있는 중 이면, 아이템은 삭제되지 않을 것이다.
개시 블록 후에, 프로세스는 블록 1410으로 진행하여, 얼마나 많은 소스들이 장치와 동기화하고 있는지를 판단한다. 판단 블록 1420으로 진행하여, 여기에 데이터 소스가 단지 하나 있다면, 프로세스는 블록 1430으로 진행하고, 여기에서 삭제된 데이터 소스와 동기화되는 아이템은 장치로부터 제거된다. 하나 이상의 장치가 있다면, 프로세스는 블록 1440으로 진행하고, 여기에서 장치의 크로스-폴리네이션되지 않은 아이템은 제거된다. 블록 1450으로 이동하여, 삭제된 소스의 ID가 장치로부터 제거된다. 일 실시예에 따르면, 이 데이터 소스에 대한 관습 컬럼은 애플리케이션 표로부터 제거된다. 일 실시예에 따르면, 소정 데이터를 제거하기 전에 경고 메시지가 사용자에게 제공된다.
다음은 보다 구체화하는 예이다. 장치가 그의 컨택 및 달력을 제1 소스로서 동기화하고, 장치가 달력 및 업무를 제2 소스로서 동기화한다고 가정한다. 그 다음, 사용자는 제1 소스를 삭제한다. 제1 소스를 삭제한 결과로서, 모든 컨택들은 장치로부터 제거된다. 달력 아이템 및 업무는 장치에 남아 있고, 제1 소스에 대한 ID들은 제거된다.
동기화되지 않은 데이터 소스 정보 조정
도 15는 본 발명의 양상에 따라서 동기화되지 않은 데이터 소스 정보의 조정을 도시한다.
다음 예들은 설명하는데 사용될 것이다. 데이터 소스(워크 PC)는, 워크 PC가 더이상 알지 못하는 장치에 존재한다. 이러한 경우는 다수의 이유로서 발생할 수 있다. 예를 들어, 사용자가 동기화 프로그램을 재설치하거나, 또는 기기를 재구축하는 경우 발생할 수 있다. 장치가 데스크탑에 접속될 때, 데스크탑은 장치가 동기화하는 데이터 소스 셋업을 이미 갖는 것을 감지한다. 이는 장치의 데이터 소스의 네트워크 기기명과 워크 PC의 명칭을 비교함으로써 결정된다. 기존의 데스크탑 소스는 삭제되고, 새로운 데스크탑 소스가 생성된다.
데이터 소스는 장치가 더이상 알지 못하는 데스크탑에 존재한다. 이 경우는 예를 들어, 장치가 콜드 부트(cold boot)할 때 발생할 수 있다. 데이터 소스에 대해 데스크탑에 저장된 장치ID와 장치의 장치ID를 비교함으로써, 장치가 데스크탑과 동기하도록 사용되는지 결정될 수 있고, 이는 장치가 데스크탑과 동기화하도록 다시 설정되어야 하는지 여부에 따라서 결정된다. 사용자가 '예'라고 답하면, 사용자에 대해 새로운 데이터 소스가 생성된다.
상술한 설명, 예, 및 데이터는 본 발명의 제조 및 구성의 사용에 대해 전체적인 설명을 제공한다. 본 발명의 다수의 실시예는 본 발명의 사상 및 범위를 벗어나지 않는 한 이루어질 수 있으며, 본 발명은 다음에 첨부된 청구항에 따른다.
다중 동기 소스들을 동기화하는 방법을 제공함으로써, 2개 이상의 서로 다른 장치들 사이의 정보를 동기화할 수 있도록 한다.

Claims (22)

  1. 장치를 데이터 소스들과 동기화하고, 상기 데이터 소스들을 크로스-폴리네이션(cross-pollination)하도록 하는 방법에 있어서,
    제1 데이터 소스 및 제2 데이터 소스를 생성하는 단계;
    상기 장치를 제1 데이터 소스와 접속시키는 단계;
    상기 장치를 상기 제1 데이터 소스와 동기화하는 단계;
    상기 장치를 제2 소스와 접속시키는 단계; 및
    상기 장치를 상기 제2 소스와 동기화하는 단계
    를 포함하고,
    상기 장치는 상기 제1 데이터 소스와 상기 제2 데이터 소스를 크로스-폴리네이트하는데 사용될 수 있는 방법.
  2. 제1항에 있어서, 아이템이 이미 동기화되었는지를 결정하는 중복 검출 검사를 수행하는 단계를 더 포함하는 방법.
  3. 제2항에 있어서, 상기 중복 검출 검사를 수행하는 단계는 특성 비교를 수행하는 단계를 더 포함하는 방법.
  4. 제2항에 있어서, 상기 중복 검출 검사를 수행하는 단계는 동기화 해시값을 계산하는 단계를 더 포함하는 방법.
  5. 제2항에 있어서, 상기 아이템이 이미 동기화되었을 때, 상기 아이템을 갱신하는 단계를 더 포함하는 방법.
  6. 제1항에 있어서, 삭제 명령을 수신하는 단계, 및 상기 삭제 명령을 수행하는 단계를 더 포함하고, 상기 삭제 명령은 소프트 삭제 및 하드 삭제로부터 선택되는 방법.
  7. 제2항에 있어서, 상기 데이터 소스들 간의 크로스-폴리네이션을 제한하는 단계를 더 포함하는 방법.
  8. 제2항에 있어서, 상기 제1 데이터 소스 및 상기 제2 데이터 소스를 생성하는 단계는, 데이터 소스 타입을 지시하는 단계, 및 상기 제1 데이터 소스 및 상기 제2 데이터 소스 각각과 결합된 식별자를 저장하는 단계를 더 포함하는 방법.
  9. 제2항에 있어서, 상기 장치를 상기 제1 데이터 소스와 동기화하는 단계는 제1 동기화 프로토콜을 사용하고, 상기 장치를 상기 제2 프로토콜과 동기화하는 단계는 제2 동기화 프로토콜을 사용하는 방법.
  10. 데이터 소스들을 크로스-폴리네이팅하기 위한 컴퓨터 판독가능 매체에 있어서,
    장치와 동기화할 적어도 2개의 데이터 소스를 생성하는 단계;
    상기 장치를 상기 적어도 2개의 데이터 소스와 동기화하는 단계; 및
    상기 적어도 2개의 데이터 소스들 간의 데이터를 크로스-폴리네이팅하는 단계
    를 포함하는 컴퓨터 판독가능 매체.
  11. 제10항에 있어서, 아이템이 이미 동기화되었는지를 결정하는 중복 검출 검사를 수행하는 단계를 더 포함하는 컴퓨터 판독가능 매체.
  12. 제11항에 있어서, 상기 중복 검출 검사를 수행하는 단계는 동기화 해시값을 계산하는 단계를 더 포함하는 컴퓨터 판독가능 매체.
  13. 제11항에 있어서, 삭제 명령을 수신하는 단계, 및 상기 삭제 명령을 수행하는 단계를 더 포함하고, 상기 삭제 명령은 소프트 삭제 및 하드 삭제로부터 선택되는 컴퓨터 판독가능 매체.
  14. 제13항에 있어서, 상기 데이터 소스들 간의 크로스-폴리네이션을 제한하는 단계를 더 포함하는 컴퓨터 판독가능 매체.
  15. 제13항에 있어서, 상기 적어도 2개의 데이터 소스를 생성하는 단계는, 데이터 소스 타입을 지시하는 단계, 및 상기 적어도 2개의 데이터 소스 각각과 결합된 식별자를 저장하는 단계를 더 포함하는 컴퓨터 판독가능 매체.
  16. 제13항에 있어서, 상기 장치를 상기 적어도 2개의 데이터 소스와 동기화하는 단계는 하나 이상의 동기화 프로토콜을 사용하는 컴퓨터 판독가능 매체.
  17. 데이터 소스들을 크로스-폴리네이팅하기 위한 시스템에 있어서,
    서로 크로스-폴리네이트하는 적어도 2개의 데이터 소스; 및
    크로스-폴리네이트하는 상기 적어도 2개의 데이터 소스들 간의 셔틀(shuttle)로서 작용하도록 구성되고, 적어도 2개의 데이터 소스들과 동기화하도록 구성되는 장치
    를 포함하는 시스템.
  18. 제17항에 있어서, 상기 장치는 또한, 아이템이 이미 동기화되었는지를 결정하는 중복 검출 검사를 수행하도록 구성된 시스템.
  19. 제18항에 있어서, 상기 중복 검출 검사를 수행하는 것은 동기화 해시값의 계산을 더 포함하는 시스템.
  20. 제18항에 있어서, 상기 장치는 소프트 삭제 명령 및 하드 삭제 명령을 처리하도록 구성되는 시스템.
  21. 제20항에 있어서, 상기 장치는 또한, 적어도 2개의 데이터 소스들 간의 크로스-폴리네이션을 제한하도록 구성되는 시스템.
  22. 제21항에 있어서, 상기 장치를 적어도 2개의 데이터 소스들과 동기화하는 것은 하나 이상의 동기화 프로토콜을 사용하는 시스템.
KR1020050010522A 2004-02-04 2005-02-04 다중 동기화 소스의 크로스-폴리네이션 KR101137101B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/771,896 US7526768B2 (en) 2004-02-04 2004-02-04 Cross-pollination of multiple sync sources
US10/771,896 2004-02-04

Publications (2)

Publication Number Publication Date
KR20060041737A true KR20060041737A (ko) 2006-05-12
KR101137101B1 KR101137101B1 (ko) 2012-04-19

Family

ID=34750440

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050010522A KR101137101B1 (ko) 2004-02-04 2005-02-04 다중 동기화 소스의 크로스-폴리네이션

Country Status (5)

Country Link
US (3) US7526768B2 (ko)
EP (1) EP1569141A3 (ko)
JP (1) JP4726508B2 (ko)
KR (1) KR101137101B1 (ko)
CN (1) CN100530176C (ko)

Families Citing this family (157)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003058879A1 (en) * 2002-01-08 2003-07-17 Seven Networks, Inc. Secure transport for mobile communication network
US8468126B2 (en) * 2005-08-01 2013-06-18 Seven Networks, Inc. Publishing data in an information community
US7917468B2 (en) * 2005-08-01 2011-03-29 Seven Networks, Inc. Linking of personal information management data
US7853563B2 (en) * 2005-08-01 2010-12-14 Seven Networks, Inc. Universal data aggregation
US7526768B2 (en) * 2004-02-04 2009-04-28 Microsoft Corporation Cross-pollination of multiple sync sources
US9075805B2 (en) * 2004-02-04 2015-07-07 Sony Corporation Methods and apparatuses for synchronizing and tracking content
US7873646B2 (en) 2004-02-25 2011-01-18 Research In Motion Limited Method for modifying notifications in an electronic device
US7398061B2 (en) * 2004-02-26 2008-07-08 Research In Motion Limited Method and apparatus for changing the behavior of an electronic device
US8010082B2 (en) 2004-10-20 2011-08-30 Seven Networks, Inc. Flexible billing architecture
US7441271B2 (en) 2004-10-20 2008-10-21 Seven Networks Method and apparatus for intercepting events in a communication system
US7643818B2 (en) * 2004-11-22 2010-01-05 Seven Networks, Inc. E-mail messaging to/from a mobile terminal
US7706781B2 (en) * 2004-11-22 2010-04-27 Seven Networks International Oy Data security in a mobile e-mail service
FI117152B (fi) 2004-12-03 2006-06-30 Seven Networks Internat Oy Sähköpostiasetusten käyttöönotto matkaviestimelle
US7877703B1 (en) 2005-03-14 2011-01-25 Seven Networks, Inc. Intelligent rendering of information in a limited display environment
US8438633B1 (en) 2005-04-21 2013-05-07 Seven Networks, Inc. Flexible real-time inbox access
US7796742B1 (en) 2005-04-21 2010-09-14 Seven Networks, Inc. Systems and methods for simplified provisioning
US7657574B2 (en) * 2005-06-03 2010-02-02 Microsoft Corporation Persistent storage file change tracking
WO2006136660A1 (en) 2005-06-21 2006-12-28 Seven Networks International Oy Maintaining an ip connection in a mobile network
US8069166B2 (en) * 2005-08-01 2011-11-29 Seven Networks, Inc. Managing user-to-user contact with inferred presence information
US7996442B2 (en) * 2005-10-17 2011-08-09 Oracle International Corporation Method and system for comparing and re-comparing data item definitions
US9049285B2 (en) * 2005-12-01 2015-06-02 At&T Intellectual Property I, L.P. Synchronization of client application data between POTS telephone and content portal through PSTN
US7769395B2 (en) 2006-06-20 2010-08-03 Seven Networks, Inc. Location-based operations and messaging
KR100789376B1 (ko) * 2006-04-13 2007-12-28 한국전자통신연구원 개인화된 데이터 관리 정책에 따른 정보생명주기관리 서비스 제공 방법
US8165221B2 (en) 2006-04-28 2012-04-24 Netapp, Inc. System and method for sampling based elimination of duplicate data
US8423347B2 (en) * 2006-06-06 2013-04-16 Microsoft Corporation Natural language personal information management
US8370423B2 (en) * 2006-06-16 2013-02-05 Microsoft Corporation Data synchronization and sharing relationships
US20070290787A1 (en) * 2006-06-20 2007-12-20 Trevor Fiatal Systems and methods for group messaging
US20080001717A1 (en) * 2006-06-20 2008-01-03 Trevor Fiatal System and method for group management
US8332908B2 (en) 2006-06-22 2012-12-11 Nec Corporation Sharing management system, sharing management method and program
US7921077B2 (en) * 2006-06-29 2011-04-05 Netapp, Inc. System and method for managing data deduplication of storage systems utilizing persistent consistency point images
US8412682B2 (en) 2006-06-29 2013-04-02 Netapp, Inc. System and method for retrieving and using block fingerprints for data deduplication
US7730404B2 (en) 2006-07-31 2010-06-01 Research In Motion Limited Electronic device and method of messaging meeting invitees
US20080027955A1 (en) * 2006-07-31 2008-01-31 May Darrell R System and method for storage and display of time-dependent events
US8145200B2 (en) * 2006-07-31 2012-03-27 Research In Motion Limited Method and apparatus for configuring unique profile settings for multiple services
US7827138B2 (en) * 2006-10-02 2010-11-02 Salesforce.Com, Inc. Method and system for synchronizing a server and an on-demand database service
US20080104206A1 (en) * 2006-10-31 2008-05-01 Microsoft Corporation Efficient knowledge representation in data synchronization systems
US20080103977A1 (en) * 2006-10-31 2008-05-01 Microsoft Corporation Digital rights management for distributed devices
US8453066B2 (en) * 2006-11-06 2013-05-28 Microsoft Corporation Clipboard augmentation with references
US8020112B2 (en) * 2006-11-06 2011-09-13 Microsoft Corporation Clipboard augmentation
US20080109464A1 (en) * 2006-11-06 2008-05-08 Microsoft Corporation Extending Clipboard Augmentation
US9552571B2 (en) 2007-02-02 2017-01-24 Blackberry Limited Electronic device and method of meeting notification
US7620659B2 (en) * 2007-02-09 2009-11-17 Microsoft Corporation Efficient knowledge representation in data synchronization systems
US7849056B2 (en) 2007-02-09 2010-12-07 Research In Motion Limited System and method for managing databases associated with respective personal information manager service accounts
EP1956499A1 (en) 2007-02-09 2008-08-13 Research In Motion Limited System and method for managing databases associated with respective personal information manager service accounts
US8751442B2 (en) 2007-02-12 2014-06-10 Microsoft Corporation Synchronization associated duplicate data resolution
JPWO2008102754A1 (ja) * 2007-02-21 2010-05-27 日本電気株式会社 情報関連付けシステム、ユーザー情報を関連付ける方法およびプログラム
US7933296B2 (en) * 2007-03-02 2011-04-26 Microsoft Corporation Services for data sharing and synchronization
US7900203B2 (en) * 2007-04-24 2011-03-01 Microsoft Corporation Data sharing and synchronization with relay endpoint and sync data element
US7725456B2 (en) * 2007-04-27 2010-05-25 Microsoft Corporation Item management with data sharing and synchronization
US7895246B2 (en) 2007-05-31 2011-02-22 Microsoft Corporation Collection bin for data management and transformation
US8762345B2 (en) * 2007-05-31 2014-06-24 Netapp, Inc. System and method for accelerating anchor point detection
US8805425B2 (en) 2007-06-01 2014-08-12 Seven Networks, Inc. Integrated messaging
US8693494B2 (en) 2007-06-01 2014-04-08 Seven Networks, Inc. Polling
WO2009062182A1 (en) 2007-11-09 2009-05-14 Topia Technology Architecture for management of digital files across distributed network
US8364181B2 (en) 2007-12-10 2013-01-29 Seven Networks, Inc. Electronic-mail filtering for mobile devices
US8793305B2 (en) 2007-12-13 2014-07-29 Seven Networks, Inc. Content delivery to a mobile device from a content service
US9002828B2 (en) 2007-12-13 2015-04-07 Seven Networks, Inc. Predictive content delivery
US8107921B2 (en) * 2008-01-11 2012-01-31 Seven Networks, Inc. Mobile virtual network operator
US8862657B2 (en) 2008-01-25 2014-10-14 Seven Networks, Inc. Policy based content service
US20090193338A1 (en) * 2008-01-28 2009-07-30 Trevor Fiatal Reducing network and battery consumption during content delivery and playback
US20090248670A1 (en) * 2008-03-31 2009-10-01 Trevor Fiatal Content search engine
US8296671B2 (en) 2008-05-01 2012-10-23 Microsoft Corporation Enabling access to rich data by intercepting paste operations
US8285675B2 (en) * 2008-05-12 2012-10-09 Research In Motion Limited Electronic device and method for managing storage of data
US8787947B2 (en) * 2008-06-18 2014-07-22 Seven Networks, Inc. Application discovery on mobile devices
US8700301B2 (en) 2008-06-19 2014-04-15 Microsoft Corporation Mobile computing devices, architecture and user interfaces based on dynamic direction information
US9200901B2 (en) 2008-06-19 2015-12-01 Microsoft Technology Licensing, Llc Predictive services for devices supporting dynamic direction information
US8467991B2 (en) 2008-06-20 2013-06-18 Microsoft Corporation Data services based on gesture and location information of device
US20090319166A1 (en) * 2008-06-20 2009-12-24 Microsoft Corporation Mobile computing services based on devices with dynamic direction information
US20090315775A1 (en) * 2008-06-20 2009-12-24 Microsoft Corporation Mobile computing services based on devices with dynamic direction information
US8078158B2 (en) 2008-06-26 2011-12-13 Seven Networks, Inc. Provisioning applications for a mobile device
US8909759B2 (en) * 2008-10-10 2014-12-09 Seven Networks, Inc. Bandwidth measurement
US8412676B2 (en) * 2008-10-21 2013-04-02 Microsoft Corporation Forgetting items with knowledge based synchronization
US10303787B2 (en) 2008-10-21 2019-05-28 Microsoft Technology Licensing, Llc Forgetting items with knowledge based synchronization
US8122092B2 (en) 2008-11-10 2012-02-21 Microsoft Corporation Auto-resolve recipients cache
US8872767B2 (en) 2009-07-07 2014-10-28 Microsoft Corporation System and method for converting gestures into digital graffiti
US8375285B2 (en) * 2009-12-15 2013-02-12 International Business Machines Corporation Enabling access to data files unsupported by a computing device
US20110149086A1 (en) 2009-12-23 2011-06-23 Winbush Iii Amos Camera user content synchronization with central web-based records and information sharing system
US8555187B2 (en) * 2010-02-16 2013-10-08 Google Inc. Server-based data sharing in computer applications using a clipboard
WO2011126889A2 (en) 2010-03-30 2011-10-13 Seven Networks, Inc. 3d mobile user interface with configurable workspace management
US20110258160A1 (en) * 2010-04-15 2011-10-20 Po-Yen Lee Data synchronization methods for synchronizing data in communication system and communication systems
EP2569720B1 (en) * 2010-05-14 2015-04-08 BlackBerry Limited Communication system with PIM entry synchronization and related methods
CN102314454A (zh) * 2010-06-30 2012-01-11 百度在线网络技术(北京)有限公司 自动添加内链的方法及系统
CN102314411B (zh) * 2010-06-30 2015-02-18 百度在线网络技术(北京)有限公司 处理词条编创冲突的方法与系统
WO2012018556A2 (en) 2010-07-26 2012-02-09 Ari Backholm Mobile application traffic optimization
EP2599345B1 (en) 2010-07-26 2017-09-06 Seven Networks, LLC Distributed implementation of dynamic wireless traffic policy
US8838783B2 (en) 2010-07-26 2014-09-16 Seven Networks, Inc. Distributed caching for resource and mobile network traffic management
CA2806527A1 (en) 2010-07-26 2012-02-09 Seven Networks, Inc. Mobile network traffic coordination across multiple applications
US20120096368A1 (en) * 2010-10-14 2012-04-19 Microsoft Corporation Cloud-based virtual clipboard
US8843153B2 (en) 2010-11-01 2014-09-23 Seven Networks, Inc. Mobile traffic categorization and policy for network use optimization while preserving user experience
US8326985B2 (en) 2010-11-01 2012-12-04 Seven Networks, Inc. Distributed management of keep-alive message signaling for mobile network resource conservation and optimization
US8484314B2 (en) 2010-11-01 2013-07-09 Seven Networks, Inc. Distributed caching in a wireless network of content delivered for a mobile application over a long-held request
US9060032B2 (en) 2010-11-01 2015-06-16 Seven Networks, Inc. Selective data compression by a distributed traffic management system to reduce mobile data traffic and signaling traffic
GB2499534B (en) 2010-11-01 2018-09-19 Seven Networks Llc Caching adapted for mobile application behavior and network conditions
US8417823B2 (en) 2010-11-22 2013-04-09 Seven Network, Inc. Aligning data transfer to optimize connections established for transmission over a wireless network
US8166164B1 (en) 2010-11-01 2012-04-24 Seven Networks, Inc. Application and network-based long poll request detection and cacheability assessment therefor
US8190701B2 (en) 2010-11-01 2012-05-29 Seven Networks, Inc. Cache defeat detection and caching of content addressed by identifiers intended to defeat cache
WO2012060995A2 (en) 2010-11-01 2012-05-10 Michael Luna Distributed caching in a wireless network of content delivered for a mobile application over a long-held request
US9330196B2 (en) 2010-11-01 2016-05-03 Seven Networks, Llc Wireless traffic management system cache optimization using http headers
WO2012071384A2 (en) 2010-11-22 2012-05-31 Michael Luna Optimization of resource polling intervals to satisfy mobile device requests
EP2661697B1 (en) 2011-01-07 2018-11-21 Seven Networks, LLC System and method for reduction of mobile network traffic used for domain name system (dns) queries
KR101755421B1 (ko) * 2011-01-10 2017-07-10 삼성전자주식회사 클라이언트 장치를 이용한 호스트 장치의 파일 정보 시스템 편집 방법 및 시스템
US20120271903A1 (en) 2011-04-19 2012-10-25 Michael Luna Shared resource and virtual resource management in a networked environment
GB2505585B (en) 2011-04-27 2015-08-12 Seven Networks Inc Detecting and preserving state for satisfying application requests in a distributed proxy and cache system
WO2012149216A2 (en) 2011-04-27 2012-11-01 Seven Networks, Inc. Mobile device which offloads requests made by a mobile application to a remote entity for conservation of mobile device and network resources and methods therefor
US9465696B2 (en) 2011-06-03 2016-10-11 Apple Inc. Methods and apparatus for multi-phase multi-source backup
US8819471B2 (en) * 2011-06-03 2014-08-26 Apple Inc. Methods and apparatus for power state based backup
US8868859B2 (en) 2011-06-03 2014-10-21 Apple Inc. Methods and apparatus for multi-source restore
US9411687B2 (en) 2011-06-03 2016-08-09 Apple Inc. Methods and apparatus for interface in multi-phase restore
CN102841897B (zh) * 2011-06-23 2016-03-02 阿里巴巴集团控股有限公司 一种实现增量数据抽取的方法、装置及系统
EP2737742A4 (en) 2011-07-27 2015-01-28 Seven Networks Inc AUTOMATIC PRODUCTION AND DISTRIBUTION OF GUIDELINES INFORMATION ON MOBILE MOBILE TRANSPORT IN A WIRELESS NETWORK
US10599620B2 (en) * 2011-09-01 2020-03-24 Full Circle Insights, Inc. Method and system for object synchronization in CRM systems
KR101888648B1 (ko) * 2011-09-01 2018-08-16 삼성전자주식회사 주소록에서 자동으로 그룹을 생성하고 관리하는 방법 및 그 장치
EP2789138B1 (en) 2011-12-06 2016-09-14 Seven Networks, LLC A mobile device and method to utilize the failover mechanisms for fault tolerance provided for mobile traffic management and network/device resource conservation
US8918503B2 (en) 2011-12-06 2014-12-23 Seven Networks, Inc. Optimization of mobile traffic directed to private networks and operator configurability thereof
GB2498064A (en) 2011-12-07 2013-07-03 Seven Networks Inc Distributed content caching mechanism using a network operator proxy
WO2013086447A1 (en) 2011-12-07 2013-06-13 Seven Networks, Inc. Radio-awareness of mobile device for sending server-side control signals using a wireless network optimized transport protocol
US9396277B2 (en) 2011-12-09 2016-07-19 Microsoft Technology Licensing, Llc Access to supplemental data based on identifier derived from corresponding primary application data
US8861354B2 (en) 2011-12-14 2014-10-14 Seven Networks, Inc. Hierarchies and categories for management and deployment of policies for distributed wireless traffic optimization
WO2013090834A1 (en) 2011-12-14 2013-06-20 Seven Networks, Inc. Operation modes for mobile traffic optimization and concurrent management of optimized and non-optimized traffic
WO2013090212A1 (en) 2011-12-14 2013-06-20 Seven Networks, Inc. Mobile network reporting and usage analytics system and method using aggregation of data in a distributed traffic optimization system
US9367397B1 (en) * 2011-12-20 2016-06-14 Emc Corporation Recovering data lost in data de-duplication system
GB2499306B (en) 2012-01-05 2014-10-22 Seven Networks Inc Managing user interaction with an application on a mobile device
US9203864B2 (en) 2012-02-02 2015-12-01 Seven Networks, Llc Dynamic categorization of applications for network access in a mobile network
WO2013116852A1 (en) 2012-02-03 2013-08-08 Seven Networks, Inc. User as an end point for profiling and optimizing the delivery of content and data in a wireless network
US9110892B2 (en) * 2012-03-13 2015-08-18 Microsoft Technology Licensing, Llc Synchronizing local and remote data
US8812695B2 (en) 2012-04-09 2014-08-19 Seven Networks, Inc. Method and system for management of a virtual network connection without heartbeat messages
WO2013155208A1 (en) 2012-04-10 2013-10-17 Seven Networks, Inc. Intelligent customer service/call center services enhanced using real-time and historical mobile application and traffic-related statistics collected by a distributed caching system in a mobile network
WO2014011216A1 (en) 2012-07-13 2014-01-16 Seven Networks, Inc. Dynamic bandwidth adjustment for browsing or streaming activity in a wireless network based on prediction of user behavior when interacting with mobile applications
WO2014047606A2 (en) * 2012-09-24 2014-03-27 President And Fellows Of Harvard College Techniques for data synchronization using compressive sensing
US9161258B2 (en) 2012-10-24 2015-10-13 Seven Networks, Llc Optimized and selective management of policy deployment to mobile clients in a congested network to prevent further aggravation of network congestion
US20140177497A1 (en) 2012-12-20 2014-06-26 Seven Networks, Inc. Management of mobile device radio state promotion and demotion
US10348821B2 (en) * 2012-12-21 2019-07-09 Dropbox, Inc. Prioritizing structural operations and distributing changes in a synced online content management system
US9542423B2 (en) 2012-12-31 2017-01-10 Apple Inc. Backup user interface
US9241314B2 (en) 2013-01-23 2016-01-19 Seven Networks, Llc Mobile device with application or context aware fast dormancy
US8874761B2 (en) 2013-01-25 2014-10-28 Seven Networks, Inc. Signaling optimization in a wireless network for traffic utilizing proprietary and non-proprietary protocols
US8750123B1 (en) 2013-03-11 2014-06-10 Seven Networks, Inc. Mobile device equipped with mobile network congestion recognition to make intelligent decisions regarding connecting to an operator network
US9858052B2 (en) * 2013-03-21 2018-01-02 Razer (Asia-Pacific) Pte. Ltd. Decentralized operating system
US9053165B2 (en) 2013-07-08 2015-06-09 Dropbox, Inc. Structured content item synchronization
US9065765B2 (en) 2013-07-22 2015-06-23 Seven Networks, Inc. Proxy server associated with a mobile carrier for enhancing mobile traffic management in a mobile network
US9715548B2 (en) 2013-08-02 2017-07-25 Google Inc. Surfacing user-specific data records in search
US9892184B1 (en) 2013-08-29 2018-02-13 Servpro Industries, Inc. System and method for synchronizing incident response profiles across distinct computing platforms
JP6116065B2 (ja) * 2013-11-01 2017-04-19 フリュー株式会社 管理装置および管理装置の制御方法
US9998555B2 (en) 2014-04-08 2018-06-12 Dropbox, Inc. Displaying presence in an application accessing shared and synchronized content
US10270871B2 (en) 2014-04-08 2019-04-23 Dropbox, Inc. Browser display of native application presence and interaction data
US10091287B2 (en) 2014-04-08 2018-10-02 Dropbox, Inc. Determining presence in an application accessing shared and synchronized content
US10171579B2 (en) 2014-04-08 2019-01-01 Dropbox, Inc. Managing presence among devices accessing shared and synchronized content
US9661440B2 (en) 2014-07-25 2017-05-23 Qualcomm Incorporated Methods and systems for triggering efficient application synchronization
US9846528B2 (en) 2015-03-02 2017-12-19 Dropbox, Inc. Native application collaboration
US10248933B2 (en) 2015-12-29 2019-04-02 Dropbox, Inc. Content item activity feed for presenting events associated with content items
US10620811B2 (en) 2015-12-30 2020-04-14 Dropbox, Inc. Native application collaboration
US10382502B2 (en) 2016-04-04 2019-08-13 Dropbox, Inc. Change comments for synchronized content items
WO2017189921A1 (en) 2016-04-29 2017-11-02 Dotalign, Inc. Method, apparatus, and computer-readable medium for identifying
US10956406B2 (en) * 2017-06-12 2021-03-23 Palantir Technologies Inc. Propagated deletion of database records and derived data
CN109711644B (zh) * 2019-02-25 2023-04-18 安徽大学 基于改进花粉算法的火电机组负荷优化分配方法
US10887157B1 (en) 2019-07-31 2021-01-05 Splunk Inc. Dual-sourced incident management and monitoring system
US11023511B1 (en) * 2019-07-31 2021-06-01 Splunk Inc. Mobile device composite interface for dual-sourced incident management and monitoring system
CN112015738A (zh) * 2020-08-28 2020-12-01 支付宝(杭州)信息技术有限公司 用于实现多个数据明细表的联表处理的方法及装置

Family Cites Families (78)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6041365A (en) * 1985-10-29 2000-03-21 Kleinerman; Aurel Apparatus and method for high performance remote application gateway servers
US4714992A (en) * 1985-11-26 1987-12-22 International Business Machines Corporation Communication for version management in a distributed information service
US5490765A (en) * 1993-05-17 1996-02-13 Cybor Corporation Dual stage pump system with pre-stressed diaphragms and reservoir
JP3865775B2 (ja) * 1995-04-11 2007-01-10 キネテック インコーポレイテッド データ処理システムにおけるデータの識別
US5974238A (en) * 1996-08-07 1999-10-26 Compaq Computer Corporation Automatic data synchronization between a handheld and a host computer using pseudo cache including tags and logical data elements
US6647432B1 (en) * 1996-08-19 2003-11-11 Geoquest, A Division Of Schlumberger Technology Corporation Distributed framework for intertask communication between workstation applications
JP3554115B2 (ja) * 1996-08-26 2004-08-18 株式会社コガネイ 薬液供給装置
US5822758A (en) * 1996-09-09 1998-10-13 International Business Machines Corporation Method and system for high performance dynamic and user programmable cache arbitration
US6044381A (en) * 1997-09-11 2000-03-28 Puma Technology, Inc. Using distributed history files in synchronizing databases
US6405218B1 (en) * 1996-11-13 2002-06-11 Pumatech, Inc. Synchronizing databases
US6909708B1 (en) * 1996-11-18 2005-06-21 Mci Communications Corporation System, method and article of manufacture for a communication system architecture including video conferencing
US5867495A (en) * 1996-11-18 1999-02-02 Mci Communications Corporations System, method and article of manufacture for communications utilizing calling, plans in a hybrid network
US6754181B1 (en) * 1996-11-18 2004-06-22 Mci Communications Corporation System and method for a directory service supporting a hybrid communication system architecture
US6335927B1 (en) * 1996-11-18 2002-01-01 Mci Communications Corporation System and method for providing requested quality of service in a hybrid network
US5867494A (en) * 1996-11-18 1999-02-02 Mci Communication Corporation System, method and article of manufacture with integrated video conferencing billing in a communication system architecture
US7145898B1 (en) * 1996-11-18 2006-12-05 Mci Communications Corporation System, method and article of manufacture for selecting a gateway of a hybrid communication system architecture
US5999525A (en) * 1996-11-18 1999-12-07 Mci Communications Corporation Method for video telephony over a hybrid network
US6731625B1 (en) * 1997-02-10 2004-05-04 Mci Communications Corporation System, method and article of manufacture for a call back architecture in a hybrid network with support for internet telephony
US6633924B1 (en) * 1997-10-02 2003-10-14 Charles Wu Object synchronization between objects stores on different computers
US6260077B1 (en) * 1997-10-24 2001-07-10 Sun Microsystems, Inc. Method, apparatus and program product for interfacing a multi-threaded, client-based API to a single-threaded, server-based API
US6870546B1 (en) * 1998-06-01 2005-03-22 Autodesk, Inc. Protectable expressions in objects having authorable behaviors and appearances
US6317754B1 (en) * 1998-07-03 2001-11-13 Mitsubishi Electric Research Laboratories, Inc System for user control of version /Synchronization in mobile computing
US6314533B1 (en) * 1998-09-21 2001-11-06 Microsoft Corporation System and method for forward custom marshaling event filters
US6367034B1 (en) * 1998-09-21 2002-04-02 Microsoft Corporation Using query language for event filtering and aggregation
US6275957B1 (en) * 1998-09-21 2001-08-14 Microsoft Corporation Using query language for provider and subscriber registrations
US6131096A (en) * 1998-10-05 2000-10-10 Visto Corporation System and method for updating a remote database in a network
US6449622B1 (en) * 1999-03-08 2002-09-10 Starfish Software, Inc. System and methods for synchronizing datasets when dataset changes may be received out of order
US6343299B1 (en) * 1998-11-16 2002-01-29 International Business Machines Corporation Method and apparatus for random update synchronization among multiple computing devices
US6650739B1 (en) * 1998-12-28 2003-11-18 Pitney Bowes Inc. Method of providing personal messaging using a virtual messaging assistant
US6463427B1 (en) * 1999-03-16 2002-10-08 Microsoft Corporation Use of object signature property as a search parameter during synchronization of objects on a computer
US6678741B1 (en) * 1999-04-09 2004-01-13 Sun Microsystems, Inc. Method and apparatus for synchronizing firmware
US6725281B1 (en) * 1999-06-11 2004-04-20 Microsoft Corporation Synchronization of controlled device state using state table and eventing in data-driven remote device control model
US6401104B1 (en) * 1999-07-03 2002-06-04 Starfish Software, Inc. System and methods for synchronizing datasets using cooperation among multiple synchronization engines
US6609128B1 (en) * 1999-07-30 2003-08-19 Accenture Llp Codes table framework design in an E-commerce architecture
US6601233B1 (en) * 1999-07-30 2003-07-29 Accenture Llp Business components framework
US6523027B1 (en) * 1999-07-30 2003-02-18 Accenture Llp Interfacing servers in a Java based e-commerce architecture
US6704873B1 (en) * 1999-07-30 2004-03-09 Accenture Llp Secure gateway interconnection in an e-commerce based environment
US7100195B1 (en) * 1999-07-30 2006-08-29 Accenture Llp Managing user information on an e-commerce system
US6633878B1 (en) * 1999-07-30 2003-10-14 Accenture Llp Initializing an ecommerce database framework
US6718535B1 (en) * 1999-07-30 2004-04-06 Accenture Llp System, method and article of manufacture for an activity framework design in an e-commerce based environment
US6601195B1 (en) * 1999-09-09 2003-07-29 International Business Machines Corporation Switch adapter testing
US6560720B1 (en) * 1999-09-09 2003-05-06 International Business Machines Corporation Error injection apparatus and method
US6487208B1 (en) * 1999-09-09 2002-11-26 International Business Machines Corporation On-line switch diagnostics
US6694336B1 (en) * 2000-01-25 2004-02-17 Fusionone, Inc. Data transfer and synchronization system
EP1130513A3 (en) * 2000-01-25 2004-04-07 FusionOne, Inc. Data transfer and synchronization system
US6907546B1 (en) * 2000-03-27 2005-06-14 Accenture Llp Language-driven interface for an automated testing framework
US6701514B1 (en) * 2000-03-27 2004-03-02 Accenture Llp System, method, and article of manufacture for test maintenance in an automated scripting framework
US6502102B1 (en) * 2000-03-27 2002-12-31 Accenture Llp System, method and article of manufacture for a table-driven automated scripting architecture
US6598059B1 (en) * 2000-04-22 2003-07-22 Oracle Corp. System and method of identifying and resolving conflicts among versions of a database table
US6470329B1 (en) * 2000-07-11 2002-10-22 Sun Microsystems, Inc. One-way hash functions for distributed data synchronization
US20060031927A1 (en) * 2000-08-23 2006-02-09 Masahiro Mizuno Information management system, information management method, and system control apparatus
WO2002019096A2 (en) * 2000-08-31 2002-03-07 Docubase Reconfiguration and preservation of setup data
US6502170B2 (en) * 2000-12-15 2002-12-31 Intel Corporation Memory-to-memory compare/exchange instructions to support non-blocking synchronization schemes
US7017105B2 (en) * 2001-02-02 2006-03-21 Microsoft Corporation Deleting objects from a store of a device
GB2372590B (en) 2001-02-23 2005-03-23 Proksim Software Inc Duplication space
US7099896B2 (en) * 2001-04-06 2006-08-29 Patientkeeper, Inc. Synchronizing data between disparate schemas using composite version
US6918120B2 (en) * 2001-04-20 2005-07-12 Hewlett-Packard Development Company, L.P. Remote file system using network multicast
AU2002345935A1 (en) * 2001-06-26 2003-03-03 Enterprises Solutions, Inc. Transaction verification system and method
US7054955B2 (en) * 2001-06-27 2006-05-30 Microsoft Corporation System and method for recovering from a failed synchronization session
US7761535B2 (en) * 2001-09-28 2010-07-20 Siebel Systems, Inc. Method and system for server synchronization with a computing device
FI112015B (fi) * 2001-11-12 2003-10-15 Nokia Corp Datan synkronoinnin järjestäminen tietoliikennejärjestelmässä
IL162008A0 (en) * 2001-11-15 2005-11-20 Visto Corp System and methods for asychronous synchronization
US7574711B2 (en) * 2001-12-14 2009-08-11 Nvidia International, Inc. System for replaying and synchronizing patterns on a client and external data source devices
US20050073991A1 (en) * 2002-02-19 2005-04-07 Roberts Chad A. Multiple wireless device synchronization server
US7606881B2 (en) * 2002-04-25 2009-10-20 Oracle International Corporation System and method for synchronization of version annotated objects
US6983293B2 (en) * 2002-07-24 2006-01-03 International Business Machines Corporation Mid-tier-based conflict resolution method and system usable for message synchronization and replication
US7890091B2 (en) * 2003-05-08 2011-02-15 Good Technology, Inc. Collaborative data and intelligent synchronization for mobile devices
US7219329B2 (en) * 2003-06-13 2007-05-15 Microsoft Corporation Systems and methods providing lightweight runtime code generation
KR100491541B1 (ko) * 2003-08-01 2005-05-25 니트젠테크놀러지스 주식회사 네트웍 환경에서의 컨텐츠 동기화 시스템 및 동기화 방법
US7584082B2 (en) * 2003-08-07 2009-09-01 The Mathworks, Inc. Synchronization and data review system
US7596790B2 (en) * 2003-08-29 2009-09-29 Intel Corporation Allocating computing resources in a distributed environment
US20050060370A1 (en) * 2003-09-17 2005-03-17 Sony Corporation Version based content distribution and synchronization system and method
US7281006B2 (en) * 2003-10-23 2007-10-09 International Business Machines Corporation System and method for dividing data into predominantly fixed-sized chunks so that duplicate data chunks may be identified
US20070067373A1 (en) * 2003-11-03 2007-03-22 Steven Higgins Methods and apparatuses to provide mobile applications
US7080104B2 (en) * 2003-11-07 2006-07-18 Plaxo, Inc. Synchronization and merge engines
US8909712B2 (en) * 2003-11-25 2014-12-09 Sap Ag System and method for a generic mobile synchronization framework
US20050165884A1 (en) * 2003-12-29 2005-07-28 Masek William J. System and method for automated distributed account maintenance
US7526768B2 (en) * 2004-02-04 2009-04-28 Microsoft Corporation Cross-pollination of multiple sync sources

Also Published As

Publication number Publication date
US20130138609A1 (en) 2013-05-30
US20060020804A1 (en) 2006-01-26
JP4726508B2 (ja) 2011-07-20
JP2005222552A (ja) 2005-08-18
US9292585B2 (en) 2016-03-22
EP1569141A2 (en) 2005-08-31
US20050172296A1 (en) 2005-08-04
CN100530176C (zh) 2009-08-19
KR101137101B1 (ko) 2012-04-19
EP1569141A3 (en) 2006-11-02
US8386558B2 (en) 2013-02-26
CN1658195A (zh) 2005-08-24
US7526768B2 (en) 2009-04-28

Similar Documents

Publication Publication Date Title
KR101137101B1 (ko) 다중 동기화 소스의 크로스-폴리네이션
JP4718847B2 (ja) オフラインのグローバルアドレスリスト
US7680067B2 (en) Peer-to-peer data synchronization architecture
US7711771B2 (en) Management and synchronization application for network file system
US8175643B1 (en) Switching states between two computing devices
US7017105B2 (en) Deleting objects from a store of a device
US8886598B1 (en) Tag-based synchronization
US6243705B1 (en) Method and apparatus for synchronizing information on two different computer systems
US20060031587A1 (en) Method of synchronising between three or more devices
US8589353B2 (en) Method for backing up terminal data and system thereof
US6976038B2 (en) Method and apparatus for real time creation and modification of a change log for multi-server synchronization
US7130871B2 (en) Method and apparatus for representing deleted data in a synchronizable database
KR20060121803A (ko) 모바일 디바이스 사용자 설정을 유지하기 위한 방법,시스템 및 프로그램 제품
JP4142866B2 (ja) データベース同期化装置及びプログラム
JP2007094477A (ja) ファイル同期方法
US20080059538A1 (en) Method and system for synchronizing offline records
KR20180113720A (ko) 유에스비 백업시스템
CN117407359A (zh) 一种协同文档的版本回退方法、装置、电子设备及介质
KR20000014913A (ko) 온라인 개인 디렉토리 제공 서비스 시스템 및 그방법
CN117992274A (zh) 非关系型数据库的数据恢复方法、装置、计算设备集群
KR20010064749A (ko) 멀티 데이터베이스 어플리케이션의 이동 유연성을확대하기 위한 커넥션 인식 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20160318

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170317

Year of fee payment: 6