KR20060041737A - 다중 동기화 소스의 크로스-폴리네이션 - Google Patents
다중 동기화 소스의 크로스-폴리네이션 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/275—Synchronous replication
-
- A—HUMAN NECESSITIES
- A01—AGRICULTURE; FORESTRY; ANIMAL HUSBANDRY; HUNTING; TRAPPING; FISHING
- A01G—HORTICULTURE; CULTIVATION OF VEGETABLES, FLOWERS, RICE, FRUIT, VINES, HOPS OR SEAWEED; FORESTRY; WATERING
- A01G9/00—Cultivation in receptacles, forcing-frames or greenhouses; Edging for beds, lawn or the like
- A01G9/02—Receptacles, e.g. flower-pots or boxes; Glasses for cultivating flowers
- A01G9/021—Pots formed in one piece; Materials used therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B44—DECORATIVE ARTS
- B44C—PRODUCING DECORATIVE EFFECTS; MOSAICS; TARSIA WORK; PAPERHANGING
- B44C5/00—Processes for producing special ornamental bodies
- B44C5/06—Natural ornaments; Imitations thereof
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
- Y10S707/99953—Recoverability
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
도 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)
- 장치를 데이터 소스들과 동기화하고, 상기 데이터 소스들을 크로스-폴리네이션(cross-pollination)하도록 하는 방법에 있어서,제1 데이터 소스 및 제2 데이터 소스를 생성하는 단계;상기 장치를 제1 데이터 소스와 접속시키는 단계;상기 장치를 상기 제1 데이터 소스와 동기화하는 단계;상기 장치를 제2 소스와 접속시키는 단계; 및상기 장치를 상기 제2 소스와 동기화하는 단계를 포함하고,상기 장치는 상기 제1 데이터 소스와 상기 제2 데이터 소스를 크로스-폴리네이트하는데 사용될 수 있는 방법.
- 제1항에 있어서, 아이템이 이미 동기화되었는지를 결정하는 중복 검출 검사를 수행하는 단계를 더 포함하는 방법.
- 제2항에 있어서, 상기 중복 검출 검사를 수행하는 단계는 특성 비교를 수행하는 단계를 더 포함하는 방법.
- 제2항에 있어서, 상기 중복 검출 검사를 수행하는 단계는 동기화 해시값을 계산하는 단계를 더 포함하는 방법.
- 제2항에 있어서, 상기 아이템이 이미 동기화되었을 때, 상기 아이템을 갱신하는 단계를 더 포함하는 방법.
- 제1항에 있어서, 삭제 명령을 수신하는 단계, 및 상기 삭제 명령을 수행하는 단계를 더 포함하고, 상기 삭제 명령은 소프트 삭제 및 하드 삭제로부터 선택되는 방법.
- 제2항에 있어서, 상기 데이터 소스들 간의 크로스-폴리네이션을 제한하는 단계를 더 포함하는 방법.
- 제2항에 있어서, 상기 제1 데이터 소스 및 상기 제2 데이터 소스를 생성하는 단계는, 데이터 소스 타입을 지시하는 단계, 및 상기 제1 데이터 소스 및 상기 제2 데이터 소스 각각과 결합된 식별자를 저장하는 단계를 더 포함하는 방법.
- 제2항에 있어서, 상기 장치를 상기 제1 데이터 소스와 동기화하는 단계는 제1 동기화 프로토콜을 사용하고, 상기 장치를 상기 제2 프로토콜과 동기화하는 단계는 제2 동기화 프로토콜을 사용하는 방법.
- 데이터 소스들을 크로스-폴리네이팅하기 위한 컴퓨터 판독가능 매체에 있어서,장치와 동기화할 적어도 2개의 데이터 소스를 생성하는 단계;상기 장치를 상기 적어도 2개의 데이터 소스와 동기화하는 단계; 및상기 적어도 2개의 데이터 소스들 간의 데이터를 크로스-폴리네이팅하는 단계를 포함하는 컴퓨터 판독가능 매체.
- 제10항에 있어서, 아이템이 이미 동기화되었는지를 결정하는 중복 검출 검사를 수행하는 단계를 더 포함하는 컴퓨터 판독가능 매체.
- 제11항에 있어서, 상기 중복 검출 검사를 수행하는 단계는 동기화 해시값을 계산하는 단계를 더 포함하는 컴퓨터 판독가능 매체.
- 제11항에 있어서, 삭제 명령을 수신하는 단계, 및 상기 삭제 명령을 수행하는 단계를 더 포함하고, 상기 삭제 명령은 소프트 삭제 및 하드 삭제로부터 선택되는 컴퓨터 판독가능 매체.
- 제13항에 있어서, 상기 데이터 소스들 간의 크로스-폴리네이션을 제한하는 단계를 더 포함하는 컴퓨터 판독가능 매체.
- 제13항에 있어서, 상기 적어도 2개의 데이터 소스를 생성하는 단계는, 데이터 소스 타입을 지시하는 단계, 및 상기 적어도 2개의 데이터 소스 각각과 결합된 식별자를 저장하는 단계를 더 포함하는 컴퓨터 판독가능 매체.
- 제13항에 있어서, 상기 장치를 상기 적어도 2개의 데이터 소스와 동기화하는 단계는 하나 이상의 동기화 프로토콜을 사용하는 컴퓨터 판독가능 매체.
- 데이터 소스들을 크로스-폴리네이팅하기 위한 시스템에 있어서,서로 크로스-폴리네이트하는 적어도 2개의 데이터 소스; 및크로스-폴리네이트하는 상기 적어도 2개의 데이터 소스들 간의 셔틀(shuttle)로서 작용하도록 구성되고, 적어도 2개의 데이터 소스들과 동기화하도록 구성되는 장치를 포함하는 시스템.
- 제17항에 있어서, 상기 장치는 또한, 아이템이 이미 동기화되었는지를 결정하는 중복 검출 검사를 수행하도록 구성된 시스템.
- 제18항에 있어서, 상기 중복 검출 검사를 수행하는 것은 동기화 해시값의 계산을 더 포함하는 시스템.
- 제18항에 있어서, 상기 장치는 소프트 삭제 명령 및 하드 삭제 명령을 처리하도록 구성되는 시스템.
- 제20항에 있어서, 상기 장치는 또한, 적어도 2개의 데이터 소스들 간의 크로스-폴리네이션을 제한하도록 구성되는 시스템.
- 제21항에 있어서, 상기 장치를 적어도 2개의 데이터 소스들과 동기화하는 것은 하나 이상의 동기화 프로토콜을 사용하는 시스템.
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)
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)
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 |
-
2004
- 2004-02-04 US US10/771,896 patent/US7526768B2/en active Active
-
2005
- 2005-01-27 EP EP05100528A patent/EP1569141A3/en not_active Ceased
- 2005-02-04 KR KR1020050010522A patent/KR101137101B1/ko active IP Right Grant
- 2005-02-04 JP JP2005029647A patent/JP4726508B2/ja active Active
- 2005-02-04 CN CNB2005100091586A patent/CN100530176C/zh not_active Expired - Fee Related
- 2005-04-25 US US11/113,688 patent/US8386558B2/en active Active
-
2013
- 2013-01-29 US US13/752,717 patent/US9292585B2/en not_active Expired - Lifetime
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 |