KR101319718B1 - 쿼리 기반 동기화 - Google Patents
쿼리 기반 동기화 Download PDFInfo
- Publication number
- KR101319718B1 KR101319718B1 KR1020077030349A KR20077030349A KR101319718B1 KR 101319718 B1 KR101319718 B1 KR 101319718B1 KR 1020077030349 A KR1020077030349 A KR 1020077030349A KR 20077030349 A KR20077030349 A KR 20077030349A KR 101319718 B1 KR101319718 B1 KR 101319718B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- file
- crm
- query
- computer
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/40—Data acquisition and logging
-
- 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/273—Asynchronous replication or reconciliation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
- Telephonic Communication Services (AREA)
Abstract
오프라인 애플리케이션을 온라인 애플리케이션과 동기화하기 위한 쿼리 기반 시스템에 관한 방법, 시스템 및 유저 인터페이스가 개시된다. 쿼리는 유저가 정의가능해서 오프라인 유저가 업데이트되기를 원하는 제한된 데이터만을 식별할 수 있고, 이들 쿼리를 만족하는 데이터는 온라인 애플리케이션 상에 동기화 파일에 저장될 수 있다. 동기화 파일이 오프라인 장치에 성공적으로 통신되면, 온라인 시스템상의 오프라인 애플리케이션의 상태 파일 및 동기화 파일이 업데이트되어서 성공적인 반영될 수 있다.
쿼리, 동기화
Description
세상이 더 모바일화될 수록, 영구적으로 네트워크에 접속하는 컴퓨터 시스템 및 애플리케이션의 유저가 적어진다. 유저는 더 자주 임시로 원하는 네트워크에 로그인해서 오프라인 시스템과 온라인 시스템을 동기화한다. 다른 환경으로, 유저는 네트워크에 무선 액세스할 수 있다. 무선 접속은 무선 네트워크의 완전 드롭 오프를 포함해서 품질과 속도가 달라질 수 있다. 유선 및 무선 환경 모두에서, 오프라인 시스템에는 없고 온라인 시스템에 있는 데이터의 양은 막대할 수 있고, 이 데이터의 동기화는 고속 연결에도 불구하고 상당한 시간이 소요될 수 있다. 또한, 오프라인 유저는 소정 애플리케이션에 관해서 업데이트된 데이터만을 수신하기를 원할 수 있고, 온라인 시스템상의 새로운 모든 데이터를 필요로 하지 않을 수 있다.
오프라인 애플리케이션을 온라인 애플리케이션과 동기화하기 위한 쿼리 기반 시스템에 관한 방법, 시스템 및 유저 인터페이스가 개시된다. 쿼리는 유저가 정의가능해서 오프라인 유저가 업데이트하기를 원하는 제한된 데이터만을 식별할 수 있다, 이 쿼리는, 예컨대 CRM 데이터 베이스에 대해서 실행될 수 있는 SQL 쿼리로 변역될 수 있다. 온라인 시스템은 오프라인 유저가 업데이트하기를 원하는 데이터의 유저 정의 쿼리를 만족하는, 데이터베이스 테이블일 수 있는, 데이터의 파일을 보관할 수 있다. 업데이트 파일은 소정의 시간 간격 동안이나 온라인 애플리케이션 상에 새 데이터의 현재 양만큼 생성될 때마다, 오프라인 애플리케이션이 온라인 애플리케이션과 통신을 설정할 때와 같이 다양한 조건하에서 오프라인 장치에 통신될 수 있다. 동기화 파일은 통신 방법에 따라서 적절한 크기의 패킷으로 분해될 수 있다. 또한, 오프라인 시스템의 현재 업데이트된 상태를 추적하는 파일이 온라인상에서 저장될 수 있다. 동기화 파일이 성공적으로 오프라인 장치와 통신하면, 온라인 시스템상의 오프라인 애플리케이션의 상태 파일 및 동기화 파일이 갱신되어서 이 업데이트를 반영할 수 있다.
도 1은 방법, 시스템 및 유저 인터페이스가 동작될 수 있는 컴퓨터 시스템의 예시.
도 2는 청구항에 따라서, 쿼리 기반 동기화 방법의 도시
도 3은 쿼리 생성 디스플레이의 도시.
도 4는 쿼리를 선택해서 획득할 수 있는 추가 상세 사항의 도시.
도 5는 동기화되는 데이터를 선택시 생성될 수 있는 추가적인 조건들의 도시.
다음은 다수의 다양한 실시예를 상세하게 기술함에도, 이들 기술의 법적 범위는 본 명세서의 말미에 있는 청구항의 단어들에 의해 정의되는 것으로 이해되어 야 한다. 본 상세한 설명은 예시적인 것으로만 해석되어야 하고, 모든 가능한 실시예들을 기술하지는 않는데, 불가능한 것은 아니어도 모든 실시예들을 기술하는 것은 실용적인 것은 아니기 때문이다. 현재 기술이나 본원의 출원일 이후에 개발된 기술을 사용해서, 다양한 다른 실시예들이 구현될 수 있는데, 이들 역시 본 청구항의 범위에 속한다.
본 특허에서 명시적으로 용어들이 "본 명세서에서는, 용어 ' '은 본 명세서에서 ...를 의미하는 것으로 정의된다" 또는 이와 유사한 문장으로 정의되지 않으면, 평이하고 보통의 의미 이상으로, 명시적이거나 함축적으로, 그 용어의 의미를 한정할 의도는 없고, 본 특허의 임의 부분(청구항의 언어들 제외)에서 만들어진 소정 문장에 기초한 범위로 한정해서 해석되어서는 안 된다. 본원 후단의 이들 청구항에 기재된 어떠한 용어는 어느 정도 단일 의미로 일관되게 본 특허에서 언급되고 있는데, 이는 독자를 혼란스럽지 않게 하기 위한 목적만으로 명확하게 하기 위한 것이지, 그런 청구항 용어가 이 단일 의미로 한정되는 것을 암시적 또는 다른 식으로 의도한 것이 아니다. 마지막으로, 임의의 구조에 대한 언급 없이 "수단" 및 기능을 언급해서 청구항 요소가 정의되지 않으면, 35 U.S.C.§112, 6번째 문단의 적용에 기초해서, 임의의 청구항 요소를 해석하는 것을 의도한 것이 아니다.
도 1은 청구된 방법의 단계들을 위한 시스템 및 장치가 구현되는데 적당한 컴퓨팅 시스템 환경(100)의 예를 도시한다. 컴퓨팅 시스템 환경(100)은 적절한 컴퓨팅 환경의 하나의 예일 뿐이고, 청구항들의 장치나 방법의 사용이나 기능의 범위 에 제한을 가하지 않는다. 또한, 컴퓨팅 시스템 환경(100)은 예시적인 운영 환경(100)에 도시된 임의 요소나 이들의 결합과 연관된 어떠한 의존관계나 요청사항을 갖는 것으로 해석되어서는 안 된다.
청구된 방법의 단계들 및 장치는 다양한 다른 범용이나 전용 컴퓨팅 시스템 환경이나 구성에 의해서 동작된다. 청구항의 방법이나 장치에 사용되기에 적합할 수 있는 공지의 컴퓨팅 시스템, 환경 및/또는 구성의 예들은 상술한 시스템이나 장치 등 중 임의를 포함하는 개인용 컴퓨터, 서버 컴퓨터, 핸드-핼드나 랩톱 장치, 멀티프로세서 시스템, 멀티프로세서 기반 시스템, 셋톱 박스, 프로그램가능한 소비자 전자기기, 네트워크 PC, 미니컴퓨터, 메인프레임 컴퓨터, 상술한 시스템이나 장치를 포함하는 분산형 컴퓨팅 환경을 포함할 수 있는데, 이에 한정되는 것은 아니다.
청구된 방법의 단계들 및 장치는 프로그램 모듈과 같이, 컴퓨터로 실행되는 컴퓨터 실행가능 명령어들의 일반 콘택스트로 기술될 수 있다. 일반적으로, 프로그램 모듈은 특정 태스크를 수행하거나 특정 추상 데이터 타입을 구현하는 루틴, 프로그램, 오브젝트, 컴포넌트, 데이터 구조 등을 포함한다. 방법 및 장치는 통신 네트워크를 통해 연결된 원격 프로세싱 장치에 의해서 태스크가 수행될 수 있는 분산 컴퓨팅 환경에서 실행될 수도 있다. 분산 컴퓨팅 환경에서, 프로그램 모듈은 메모리 저장 장치를 포함하는 로컬 및 원격 컴퓨터 저장장치에 위치될 수 있다.
도 1을 참조하면, 청구된 방법의 단계 및 장치를 구현하기 위한 예시적인 시스템은 컴퓨터(110) 형태의 범용 컴퓨팅 디바이스를 포함한다. 컴퓨터(110)의 컴 포넌트들은, 처리 장치(120), 시스템 메모리(130), 및 이 시스템 메모리를 포함하는 각종 시스템 컴포넌트들을 처리 장치(120)에 연결하는 시스템 버스(121)를 포함할 수 있지만, 이들에 한정되지는 않는다. 시스템 버스(121)는, 각종 버스 아키텍처 중 어느 하나를 이용한, 메모리 버스 또는 메모리 컨트롤러, 주변 버스, 및 로컬 버스를 포함하는, 몇몇 타입의 버스 구조들 중 어느 하나일 수 있다. 한정이 아니라 예로서, 그러한 아키텍처는 ISA(Industry Standard Architecture) 버스, MCA(Micro Channel Architecture) 버스, EISA(Enhanced ISA) 버스, VESA(Video Electronics Standards Association) 로컬 버스, 및 Mazzanine 버스로도 알려져 있는 PCI(Peripheral Component Interconnect) 버스를 포함한다.
컴퓨터(110)는 전형적으로 갖가지 컴퓨터 판독 가능 매체를 포함한다. 컴퓨터 판독 가능 매체는 컴퓨터(110)에 의해 액세스될 수 있고 휘발성 및 비휘발성 매체, 분리형(removable) 및 비분리형(non-removable) 매체 모두를 포함하는 임의의 이용 가능한 매체일 수 있다. 한정이 아니라 예로서, 컴퓨터 판독 가능 매체는 컴퓨터 기억 매체 및 통신 매체를 포함한다. 컴퓨터 기억 매체는 컴퓨터 판독 가능 명령들, 데이터 구조들, 프로그램 모듈들 또는 다른 데이터와 같은 정보의 저장을 위해 임의의 방법 및 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 포함한다. 컴퓨터 기억 매체는 RAM, ROM, EPROM, EEPROM, 플래시 메모리, 또는 다른 메모리 기술; CD-ROM, 디지털 다용도 디스크(DVD: digital versatile disks), 또는 다른 광 디스크 기억 장치; 자기 카세트, 자기 테이프, 자기 디스크 기억 장치, 또는 다른 자기 기억 장치들; 또는 소망의 정보를 저장하기 위해 이용될 수 있 고 컴퓨터(110)에 의해 액세스될 수 있는 임의의 다른 매체들을 포함하지만, 이들에 한정되지는 않는다. 통신 매체는 전형적으로 컴퓨터 판독 가능 명령들, 데이터 구조들, 프로그램 모듈들 또는 다른 데이터를 반송파(carrier wave)와 같은 변조된 데이터 신호 또는 다른 전달 메커니즘(transport mechanism)으로 구현하고 임의의 정보 전달 매체를 포함한다. "변조된 데이터 신호"(modulated data signal)라는 용어는 그 신호의 특성들 중 하나 이상이 그 신호 내에 정보를 인코딩하도록 설정되거나 변경된 신호를 의미한다. 한정이 아니라 예로서, 통신 매체는 유선 네트워크(wired network) 또는 직접 유선 접속(direct-wired connection)과 같은 유선 매체, 및 음향, RF, 적외선 및 다른 무선 매체와 같은 무선 매체를 포함한다. 상기한 것들 중 임의의 것들의 조합들도 컴퓨터 판독 가능 매체의 범위 내에 포함되어야 한다.
시스템 메모리(130)는 ROM(131) 및 RAM(132)과 같은 휘발성 및/또는 비휘발성 메모리의 형태의 컴퓨터 기억 매체를 포함한다. 시동(start-up) 중과 같이, 컴퓨터(110) 내의 엘리먼트들 간에 정보를 전송하는 것을 돕는 기본 루틴들을 포함하는 기본 입출력 시스템(133)(BIOS)은 전형적으로 ROM(131)에 저장된다. RAM(132)은 전형적으로 처리 장치(120)에 의해 즉시 액세스 가능하고/가능하거나 그 처리 장치에 의해 현재 실행되고 있는 데이터 및/또는 프로그램 모듈들을 포함한다. 한정이 아니라 예로서, 도 1은 운영 시스템(134), 애플리케이션 프로그램(135), 기타 프로그램 모듈(136), 및 프로그램 데이터(137)를 예시한다.
컴퓨터(110)는 또한 다른 분리형/비분리형, 휘발성/비휘발성 컴퓨터 기억 매 체를 포함할 수 있다. 단지 예로서, 도 1은 비분리형, 비휘발성 자기 매체로부터 판독하거나 거기에 기록하는 하드 디스크 드라이브(141), 분리형, 비휘발성 자기 디스크(152)로부터 판독하거나 거기에 기록하는 자기 디스크 드라이브(151), 및 CD ROM 또는 다른 광학 매체와 같은 분리형, 비휘발성 광 디스크(156)로부터 판독하거나 거기에 기록하는 광 디스크 드라이브(155)를 예시한다. 예시적인 운영 환경에서 사용될 수 있는 다른 분리형/비분리형, 휘발성/비휘발성 컴퓨터 기억 매체로는, 자기 테이프 카세트, 플래시 메모리 카드, DVD, 디지털 비디오 테이프, 고체 상태 RAM, 고체 상태 ROM 등을 포함하지만, 이들에 한정되지는 않는다. 하드 디스크 드라이브(141)는 전형적으로 인터페이스(140)와 같은 비분리형 메모리 인터페이스를 통하여 시스템 버스(121)에 접속되고, 자기 디스크 드라이브(151) 및 광 디스크 드라이브(155)는 전형적으로 인터페이스(150)와 같은 분리형 메모리 인터페이스에 의해 시스템 버스(121)에 접속된다.
위에서 논의되고 도 1에 예시된 드라이브들 및 그들의 관련 컴퓨터 기억 매체는, 컴퓨터 판독 가능 명령들, 데이터 구조들, 프로그램 모듈들 및 컴퓨터(110)용의 다른 데이터의 저장을 제공한다. 도 1에서, 예를 들면, 하드 디스크 드라이브(141)는 운영 시스템(144), 애플리케이션 프로그램(145), 기타 프로그램 모듈들(146), 및 프로그램 데이터(147)를 저장하는 것으로 예시되어 있다. 이들 컴포넌트들은 운영 시스템(134), 애플리케이션 프로그램(135), 기타 프로그램 모듈들(136), 및 프로그램 데이터(137)와 동일하거나 또는 다를 수 있다는 점을 주목해야 할 것이다. 운영 시스템(144), 애플리케이션 프로그램(145), 기타 프로그램 모 듈들(146), 및 프로그램 데이터(147)에 대해서는 최소한 그것들이 상이한 카피들임을 예시하기 위해 여기에서 상이한 번호가 부여되었다. 유저는 키보드(162) 및 통상적으로 마우스, 트랙볼 또는 터치 패드로 불리는 포인팅 디바이스(161)와 같은 입력 장치들을 통하여 컴퓨터(110) 내에 커맨드 및 정보를 입력할 수 있다. (도시되지 않은) 다른 입력 장치들은 마이크로폰, 조이스틱, 게임 패드, 위성 안테나(satellite dish), 스캐너, 라디오 수신기, 및 텔레비전 또는 방송 비디오 수신기 또는 그와 유사한 것을 포함할 수 있다. 이들 및 다른 입력 장치들은 흔히 시스템 버스(121)에 연결되어 있는 유선 또는 무선 유저 입력 인터페이스(160)를 통하여 처리 장치(120)에 접속되지만, 예컨대, 병렬 포트, 게임 포트, USB(universal serial bus)와 같은 다른 인터페이스 및 버스 구조들에 의해 접속될 수도 있다. 모니터(191) 또는 다른 타입의 디스플레이 장치가 또한 비디오 인터페이스(190)와 같은 인터페이스를 통하여 시스템 버스(121)에 접속된다. 모니터 외에, 컴퓨터는 또한 다른 출력 주변 인터페이스(190)를 통하여 접속될 수 있는 스피커(197) 및 프린터(196)와 같은 다른 주변 출력 장치들을 포함할 수 있다.
컴퓨터(110)는 원격 컴퓨터(180)와 같은 하나 이상의 원격 컴퓨터들에의 논리적 접속들을 이용한 네트워킹 된 환경에서 동작할 수도 있다. 원격 컴퓨터(180)는 퍼스널 컴퓨터, 서버, 라우터, 네트워크 PC, 피어 디바이스(peer device), 또는 다른 통상의 네트워크 노드일 수 있고, 전형적으로 컴퓨터(110)와 관련하여 위에서 설명한 엘리먼트들의 다수 또는 전부를 포함하지만, 도 1에서는 메모리 기억 장치(181)만이 예시되어 있다. 도 1에 도시된 논리적 접속들은 근거리 네트워 크(LAN)(171) 및 광역 네트워크(WAN)(173)를 포함하지만, 다른 네트워크들을 포함할 수도 있다. 그러한 네트워킹 환경들은 사무실, 전사적 컴퓨터 네트워크(enterprise-wide computer networks), 인트라넷, 및 인터넷에서 흔한 것이다.
LAN 네트워킹 환경에서 사용될 때, 컴퓨터(110)는 네트워크 인터페이스 또는 어댑터(170)를 통하여 LAN(171)에 접속된다. WAN 네트워킹 환경에서 사용될 경우, 컴퓨터(110)는 전형적으로 인터넷과 같은 WAN(173)을 통하여 통신을 확립하기 위한 모뎀(172) 또는 다른 수단들을 포함한다. 내장형 또는 외장형일 수 있는 모뎀(172)은 사용자 입력 인터페이스(160), 또는 다른 적당한 메커니즘을 통하여 시스템 버스(121)에 접속될 수 있다. 네트워킹 된 환경에서, 컴퓨터(110)와 관련하여 도시된 프로그램 모듈들 또는 그 일부는 원격 메모리 기억 장치에 저장될 수 있다. 한정이 아니라 예로서, 도 1은 원격 애플리케이션 프로그램들(185)이 메모리 디바이스(181)에 상주하는 것으로 예시하고 있다. 도시된 네트워크 접속들은 예시적인 것이고 컴퓨터들 간에 통신 링크를 확립하기 위한 다른 수단들이 이용될 수도 있다는 것을 알 것이다.
도 2는 청구항에 따른 방법의 도시이다. 블록(200)에서 데이터 동기화 요청이 수신될 수 있다. 데이터 동기화 요청은 다양한 방법으로 수신될 수 있다. 동기화는 시간 주기에 기초할 수 있다. 예컨대, 오프라인 장치가 무선 연결로 도달하면, 데이터 동기화 요청이 주기적으로 생성되어서 데이터가 주기적으로 전송될 수 있다. 동기화 요청은 유저에 의해서도 생성될 수도 있다. 예컨대, 고객 관계 관리 시스템의 유저는 원격 컴퓨터로부터 로그인할 수 있고, 이 로그인은 데이터 동기화 요청을 트리거할 수 있다. 다른 예에서, 데이터의 변형이 데이터 동기화 요청의 트리거일 수 있다. 또 다른 예는, 새 데이터의 소정 양이 모이면, 이것이 동기화 요청의 트리거할 수 있다. 당연히, 다른 트리거도 가능하다.
블록(205)에서, 방법은 필터나 쿼리를 로드할 수 있다. 이 쿼리는 유저에 의해 정의될 수 있다. 오프라인 유저가 온라인이었던 이후에 온라인 애플리케이션에 추가된 모든 데이터를 오프라인 유저가 수신할 필요는 없을 수 있다. 따라서, 유저는 오프라인 유저가 업데이트하기를 원하는 데이터를 획득할 수 있는 쿼리를 정의할 수 있다. 예컨대, 유저의 고객이 새로운 주문을 내면, 유저가 CRM(customer relationship management) 애플리케이션으로부터 알기를 원할 수 있다. 유저는 회사가 받은 모든 주문을 알 필요가 없고 자신의 고객이 낸 주문만을 알고 싶을 수 있다. 오프라인 유저가 마지막으로 업데이트를 받은 이후로, 유저는 자신의 고객이 된 모든 주문을 반환할 쿼리를 정의할 수 있다. 더 넓은 쿼리는, 오프라인 장치의 최후 업데이트 이후의 온라인 장치에 더해진 온라인 장치상의 모든 정보로 오프라인 장치상의 전 정보를 업데이트할 수 있다. 유저가 정의할 수 있는 쿼리의 종류와 양은 가상적으로 무제한이다. 또 다른 예로서, CRM 오프라인 유저는 쿼리를 생성해서, 예컨대 50만불과 같은 임계치 이상에 위치한 모든 신규 주문에 대한 데이터를 획득할 수 있다. 이 정보는 통상 동기화되기엔 너무 큰 CRM 시스템 정보를 포함하는 임의의 원하는 정보일 수 있다.
다른 실시예로서, 쿼리는 복수의 미리 정의된 복수의 쿼리로부터 선택될 수 있다. 쿼리는 소프트웨어 벤더가 제공하거나 다른 유저가 생성한 탬플레이트일 수 있다. 이들 미지 정의된 쿼리는 유저 자신의 요구를 더 충족시키기 위해서 변형될 수도 있다.
쿼리는 종래의 탑-다운 형식이나 바텁-업 형식으로 생성될 수 있다. 바텁- 업 쿼리는 하이어라키(hierarchy)에 기초해서 오프라인 데이터가 더 단순하게 세밀화될 수 있게 한다. 예컨대, "내 소유의 모든 계정 및 해당 계정과 연관된 모든 기록을 달라. 그러나, 1년 이상된 모든 판매 주문, 폐쇄된 서비스 건들은 원하지 않는다.... " 등과 같은 탑-레벨 쿼리를 생성하는 대신에, 유저는 자신이 원하는 계정을 정의할 수 있고, 모 기록(parent record)의 존재에 기초해서 자 기록(child record)에서 조항을 사용할 수 있다. 예컨대, 계정 쿼리가 "내 소유의 계정을 달라"일 수 있다. 이후, 판매 쿼리는 "내가 모 계정을 다운로드하고 있는 곳으로, 1년 미만의 판매 주문을 달라(Give me sales orders that are less than a year where I'm also downloading the parent account)"일 수 있다.
도 3에 도시된 바와 같이, 쿼리는 프로그램 언어나 SQL 코드를 유저가 알기를 요구하지 않는 단순한 유저 인터페이스를 이용해서 생성될 수 있다. 예컨대, 쿼리 목록이 디스플레이되고(310), 장래 동기화의 부분으로서 선택될 수 있다. 도 4는 팝업될 수 있고, 도 3으로부터 선택된 쿼리(310)가 더 변형될 수 있도록 하는 더 상세한 화면을 도시한다. 도 5는 도 4에 디스플레이된 팝업 원도우의 디스플레이다. 도 5는 유저(505)가 가지길 원하는 유저(505)에 속한 약속(502)과, 유저가 다운로드하는 유저 콘택트(515) 또는(520) 계정(510)과 연관된 임의 약속들을 가지기를 원하는 것을 도시하는데, 여기서 유저는 동기화된 지난(540) 30일(550)에 변 형된(530) 약속(525)의 참석자이다. 분명하게, 유저가 생성할 수 있는 무제한적인 개수의 쿼리가 항상 있다. 또 다른 예에서, 유저가 쿼리를 디자인하는 것을 보조하기 위한 위자드(wizard)나 새로운 윈도우가 표시될 수 있다.
쿼리는 애플리케이션의 각 사용자별로 정의될 수 있다. 예컨대, 회사 A의 각 판매원은 자신의 쿼리를 가질 수 있다. 또한, 쿼리는 더 분할될 수 있다. 예컨대, 판매원은 5천만달러가 넘는 고객 A에 대한 모든 판매에 대해서 업데이트되고, 50달러가 넘은 고객 B에 대한 모든 판매에 대해서 업데이트되기를 원할 수도 있다.
도 2를 참조하면, 블록(210)에서, 필터가 SQL 쿼리로 변환될 수 있다. 다수 애플리케이션 유저는 SQL 쿼리를 생성하는 기술이 없으므로, 이 변환을 자동으로 하는 방법이 실행될 수 있다. 쿼리는 고정된 옵션 집합(공지의 명칭, 이상, 미만 등과 같은 공지의 조건 등)을 사용해서 생성될 수 있다. SQL 쿼리는 CRM 데이터 베이스와 같은 데이터베이스에 대해서 만들어진 패치 명령들일 수도 있다.
블록(215)에서, SQL 스테이트먼트는 원하는 데이터베이스에 대해서 실행될 수 있다. 상술한 바와 같이, 블록(205)에서 임의 데이터베이스는 CRM 데이트베이스일 수 있고, SQL 스테이트먼트는 유저에 의해 생성된 쿼리의 SQL 번역일 수 있다. 원하는 데이터 및 데이터의 다른 소스를 획득하는 다른 방식이 가능하다.
블록(220)에서, SQL 스테이트먼트의 결과는 동기 가능한 파일일 수 있는 파일 내에 저장될 수 있다. 예컨대, 블록(205)의 쿼리가 오프라인 판매원의 고객이 한 모든 신규 주문을 요청하면, 마지막 동기화 이후 연관된 오프라인 판매의 모든 고객에 의한 새 주문들 전부가 파일에 저장될 수 있다. 일 예로서, 파일은 표일 수 있으나, 동기화 파일은 온라인 및 오프라인 애플리케이션이 파일 내 데이터를 이해할 수만 있다면 어떠한 가상적인 형식을 가질 수 있다. 동기화 파일이 표이면, 통상의 SQL 스테이트먼트가 표를 생성하는데 사용될 수 있다. 예컨대, 머지 명령(merge command)은 삭제된 레코드 및 업데이트된 레코드를 동기화 파일에 추가하는데 사용될 수 있다. 추가해서, 인서트 명령(insert command)은 새 레코드를 동기화 파일에 추가하는데 사용될 수 있다.
블록(225)에서, 동기화 파일은 오프라인 애플리케이션과 통신될 수 있다. 오프라인 애플리케이션은 다양한 폼을 가지는데, 예컨대 네트워크에 로깅하는 웹 기반 애플리케이션, 단방향 및/또는 양방향으로 데이터를 수신하는 무선 장치, 셀폰 형 장치 및 온라인 장치와 통신하는 임의의 다른 전자 장치가 그러하다. 오프라인 장치가 온라인에 이르면, 온라인 장치 및 오프라인 장치가 통신하는 데는 많은 방법이 있다. 온라인 장치 및 온라인으로 온 오프라인 장치 사이의 통신을 제어하기 위한 프로토콜 및 표준이 이미 있다. 예컨대, 오프라인 장치가 인터넷을 사용하면, 통상 방법들은 http, TCP/IP. ftp 등을 포함한다.
상술한 바와 같이, 동기화 파일은 오프라인 장치와 통신하기 위한 방법에 적절한 크기의 패키지로 분리될 수 있다. 예컨대, 오프라인 장치가 온라인 장치에도 연결된 10 메가비트 이더넷 네트워크에 연결되면, 동기화 파일 패키지의 크기는 거의 문제가 되지 않을 수 있다. 그러나, 오프라인 장치가, 예컨대 초당 10Kb이고 패키지가 쉽게 분실되어서 저품질의 낮은 밴드폭의 무선 링크를 통해서 연결되면, 더 작은 크기의 패키지를 사용하는 것이 적절할 수 있다. 패키지의 크기는 애플리케이션에 의해 동적으로 변형되거나 미리 설정되거나, 유저에 의해 변형되거나 또는 탬플릿에 의해 변형될 수 있다.
블록(230)에서, 동기화 파일이 오프라인 장치와 통신하면, 온라인 장치는 일부 일상적 업무를 수행할 수 있다. 동기화 파일은 오프라인 장치와 통신한 모든 엔트리가 없을 수 있다. 추가해, 오프라인 장치의 상태 파일은 업데이트될 수 있다. 상태 파일은 동기화 파일이 통신한 마지막 시간과 같은 오프라인 장치의 상태를 저장할 수 있다. 추가해, 오프라인 장치에 의해 동기화 파일이 성공적으로 수신되었는지에 대한 확인일 있을 수도 있다.
상술한 바와 같이 상세한 설명이 다양하고 상이한 실시예들을 설명하고 있음에도 불구하고, 본 특허의 범위는 말미에 있는 청구항의 단어들에 의해 정의되는 것으로 이해되어야 한다. 본 상세한 설명은 예시적인 것으로만 해석되어야 하고, 모든 가능한 실시예들을 기술하지는 않는데, 불가능한 것은 아니어도 모든 실시예들을 기술하는 것이 실용적인 것은 아니기 때문이다. 현재 기술이나 본원의 출원일 이후에 개발된 기술을 사용해서, 다양한 다른 실시예들이 구현될 수 있는데, 이들 역시 본 청구항의 범위에 속한다.
그래서, 본 청구항의 사상 및 범위를 벗어나지 않고 본 명세서에 기술 및 예시된 기술 및 구조에 있어서 다수의 변형 및 변경이 만들어질 수 있다. 따라서, 본 명세서에 기술된 방법 및 장치는 단지 예시적인 것이지, 본 청구항의 범위를 한 정하지 않는 것으로 이해되어야 한다.
Claims (20)
- 제1 장치와 제2 장치 사이에 동기화되는 고객 관계 관리(CRM: customer relationship management) 애플리케이션 내에서 데이터를 정의하는 방법으로서,상기 제1 장치로부터 상기 제2 장치로 동기화될 CRM 데이터베이스로부터의 CRM 데이터의 서브세트를 선택하기 위한 쿼리(query)를 로딩하는 단계;상기 쿼리에 의해 정의되는 상기 CRM 데이터의 상기 서브세트를 검색하기 위해 상기 쿼리를 상기 CRM 데이터베이스에 대해 실행될 수 있는 패치 스테이트먼트(fetch statements)로 번역하는 단계;상기 CRM 데이터의 상기 서브세트를 획득하기 위해 상기 CRM 데이터베이스에 대해 상기 패치 스테이트먼트를 실행하는 단계;상기 제2 장치로의 전달을 위해 상기 제1 장치의 동기화 파일에 상기 CRM 데이터의 상기 서브세트를 저장하는 단계; 및상기 제2 장치가 상기 제1 장치와 온라인 연결되었는지 여부를 판정하고, 상기 제2 장치가 상기 제1 장치와 온라인 연결되었다는 판정에 응답하여, 상기 동기화 파일을 상기 제2 장치로 통신하고 상기 제1 장치 상에서 상기 제2 장치의 업데이트 상태를 저장하는 제2 장치 상태 파일(a second device status file)을 업데이트하는 단계를 포함하는, 장치 간에 동기화된 데이터를 정의하는 방법.
- 제1항에 있어서, 상기 쿼리는 상기 CRM 데이터의 상이한 서브세트를 선택하기 위해 구성된 복수의 미리 정의된 쿼리들로부터 선택되는 것인, 장치 간에 동기화된 데이터를 정의하는 방법.
- 삭제
- 제1항에 있어서,상기 CRM 데이터의 상기 서브세트를 상기 제2 장치 상태 파일 내의 업데이트 상태와 비교하는 단계; 및상기 제2 장치 상에 존재하지 않는 데이터로서 상기 제2 장치를 업데이트하는 단계를 더 포함하는, 장치 간에 동기화된 데이터를 정의하는 방법.
- 삭제
- 삭제
- 삭제
- 제1항에 있어서,상기 동기화 파일에 업데이트된 데이터가 추가되었는지 여부를 판정하는 단계; 및업데이트된 데이터가 상기 동기화 파일에 추가되었다는 판정에 응답하여, 상기 동기화 파일을 상기 제2 장치로 바로 통신하는 단계를 더 포함하는, 장치 간에 동기화된 데이터를 정의하는 방법.
- 제1항에 있어서, 상기 동기화 파일을 패키지들로 분할하는 단계를 더 포함하며, 상기 패키지들의 크기는 사용자에 의해 변경 가능한 것인, 장치 간에 동기화된 데이터를 정의하는 방법.
- 제1항에 있어서, 상기 제1 장치 및 상기 제2 장치를 연결하기 위해 사용되는 통신 채널에 기초한 크기의 패키지들로 상기 동기화 파일을 분할하는 단계를 더 포함하는, 장치 간에 동기화된 데이터를 정의하는 방법.
- 제1항에 있어서,상기 동기화 파일이 상기 제2 장치로 성공적으로 통신되었는지 여부를 판정하는 단계; 및상기 동기화 파일이 상기 제2 장치로 성공적으로 통신되었다는 판정에 응답하여, 상기 제2 장치에 전달된 데이터가 상기 제2 장치에 대해 더 이상 새 데이터가 아님을 나타내도록 상기 동기화 파일을 업데이트하는 단계를 더 포함하는, 장치 간에 동기화된 데이터를 정의하는 방법.
- 제1항에 있어서, 상이한 엔터티(entities)에 대해서 상이한 쿼리가 생성되도록 하는 단계를 더 포함하는, 장치 간에 동기화된 데이터를 정의하는 방법.
- 제1항에 있어서, 상기 제2 장치 상태 파일은 데이터베이스 표(table)인, 장치 간에 동기화된 데이터를 정의하는 방법.
- 제13항에 있어서, 상기 제2 장치 상태 파일을 생성하는 것은, 상기 데이터베이스 표에, 삭제된 레코드, 업데이트된 레코드 및 인서트(inser)된 레코드를 병합(merge)하는 것을 포함하는, 장치 간에 동기화된 데이터를 정의하는 방법.
- 제1항에 있어서, 특정 사용자에 대해서 개별적인 쿼리를 생성하도록 하는 단계를 더 포함하는, 장치 간에 동기화된 데이터를 정의하는 방법.
- 컴퓨터 실행가능 코드를 저장하는 컴퓨터 판독 가능 기록 매체로서, 상기 컴퓨터 실행가능 코드는 컴퓨터에 의해 실행되었을 때, 상기 컴퓨터로 하여금,제1 장치로부터 제2 장치로 동기화될 CRM 데이터베이스로부터의 CRM 데이터의 서브세트를 선택하기 위한 사용자 정의된 쿼리(query)를 로딩하는 단계;상기 사용자 정의된 쿼리를 상기 CRM 데이터베이스에 대해 실행될 수 있는 하나 이상의 데이터베이스 패치 스테이트먼트(database fetch statements)로 번역하는 단계;상기 CRM 데이터베이스 내에 저장된 상기 CRM 데이터의 상기 서브세트를 획득하기 위해 상기 CRM 데이터베이스에 대해 상기 패치 스테이트먼트를 실행하는 단계;동기화 파일에 상기 CRM 데이터의 상기 서브세트를 저장하는 단계; 및상기 제1 장치가 통신 가능하여 상기 제2 장치와 온라인 연결되었는지 여부를 판정하고, 상기 제1 장치가 통신 가능하여 상기 제2 장치와 온라인 연결되었다는 판정에 응답하여, 상기 동기화 파일을 상기 제2 장치로 통신하여 상기 제2 장치를 상기 제2 장치 내에 존재하지 않던 데이터로 업데이트하고, 상기 제2 장치의 업데이트 상태를 저장하고 있는 상기 제1 장치 상의 오프라인 장치 상태 파일을 업데이트하는 단계를 포함하는 방법을 수행하도록 하는, 컴퓨터 판독 가능 기록 매체.
- 제16항에 있어서, 상기 컴퓨터에 의해 실행되어, 상기 컴퓨터로 하여금상기 동기화 파일이 상기 제2 장치로 성공적으로 통신되었는지 여부를 판정하는 단계; 및상기 동기화 파일이 상기 제2 장치로 성공적으로 통신되었다는 판정에 응답하여, 상기 동기화 파일 내 데이터가 상기 제2 장치에 전달되었음을 나타내도록 상기 동기화 파일을 업데이트하는 단계를 더 수행하도록 하는 컴퓨터 실행 가능 코드를 더 포함하는, 컴퓨터 판독 가능 기록 매체.
- 제16항에 있어서, 상기 컴퓨터에 의해 실행되어, 상기 컴퓨터로 하여금상기 제1 장치 및 상기 제2 장치의 연결에 사용되는 통신 채널에 기초한 크기의 패키지로 상기 동기화 파일을 분할하는 단계를 더 수행하도록 하는 컴퓨터 실행 가능 코드를 더 포함하는, 컴퓨터 판독 가능 기록 매체.
- 컴퓨팅 장치로서,비디오 이미지를 생성할 수 있는 디스플레이 유닛;입력 장치;상기 디스플레이 유닛 및 상기 입력 장치와 동작하도록 연결되는 처리 유닛;네트워크 및 상기 처리 유닛에 연결되는 네트워크 인터페이스; 및컴퓨터 실행 가능 코드를 포함하는 메모리를 포함하며,상기 컴퓨터 실행 가능 코드는 상기 처리 유닛에 의해 실행되어 상기 컴퓨팅 장치로 하여금제2 장치로 동기화될 CRM 데이터베이스로부터의 CRM 데이터의 서브세트를 선택하기 위한 쿼리(query)를 로딩하는 단계;상기 로딩된 쿼리를 상기 CRM 데이터베이스에 대해 실행될 수 있는 하나 이상의 구조화 쿼리 언어(SQL: structured query language) 스테이트먼트로 번역하는 단계;상기 CRM 데이터의 상기 서브세트를 획득하기 위해 상기 CRM 데이터베이스에 대해 상기 SQL 스테이트먼트를 실행하는 단계;동기화 파일에 상기 CRM 데이터의 상기 서브세트를 저장하는 단계;상기 네트워크 인터페이스를 통해 상기 제2 장치가 상기 컴퓨팅 장치와 통신 가능하고 온라인 연결되었는지 여부를 판정하는 단계;상기 제2 장치가 상기 컴퓨팅 장치와 통신 가능하고 온라인 연결되었다는 판정에 응답하여, 상기 동기화 파일을 상기 제2 장치로 통신하여 상기 제2 장치를 상기 제2 장치에 존재하지 않던 CRM 데이터로 업데이트하고, 상기 컴퓨팅 장치에서 상기 제2 장치의 업데이트 상태를 저장하는 제2 장치 상태 파일을 업데이트하고, 상기 동기화 파일에 의해 상기 제2 장치로 전달된 데이터를 나타내기 위하여 상기 동기화 파일을 업데이트하는 단계를 수행하도록 하는, 컴퓨팅 장치.
- 제19항에 있어서, 상기 메모리는 상기 처리 유닛에 의해 실행되었을 때 상기 컴퓨팅 장치로 하여금 상기 컴퓨팅 장치 및 상기 제2 장치를 상호 연결하는 데 사용되는 통신 채널에 기초한 크기의 패키지들로 상기 동기화 파일을 분할하도록 상기 동기화 파일을 업데이트하도록 하는 컴퓨터 실행 가능 코드를 더 포함하는, 컴퓨팅 장치.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US69648705P | 2005-07-01 | 2005-07-01 | |
US60/696,487 | 2005-07-01 | ||
US11/289,867 US20070005579A1 (en) | 2005-07-01 | 2005-11-30 | Query based synchronization |
US11/289,867 | 2005-11-30 | ||
PCT/US2006/025910 WO2007005788A2 (en) | 2005-07-01 | 2006-06-30 | Query based synchronization |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20080021061A KR20080021061A (ko) | 2008-03-06 |
KR101319718B1 true KR101319718B1 (ko) | 2013-10-17 |
Family
ID=37590946
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020077030349A KR101319718B1 (ko) | 2005-07-01 | 2006-06-30 | 쿼리 기반 동기화 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20070005579A1 (ko) |
EP (1) | EP1899868A4 (ko) |
JP (1) | JP5193034B2 (ko) |
KR (1) | KR101319718B1 (ko) |
CN (1) | CN101213544B (ko) |
WO (1) | WO2007005788A2 (ko) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090024645A1 (en) * | 2007-07-16 | 2009-01-22 | Sudhir Krishna S | Method and system for generating offline applications |
US8270577B2 (en) * | 2007-12-13 | 2012-09-18 | Verizon Patent And Licensing Inc. | Multiple visual voicemail mailboxes |
WO2010106832A1 (ja) | 2009-03-18 | 2010-09-23 | 日本電気株式会社 | データ同期システム |
US8661014B2 (en) * | 2010-09-23 | 2014-02-25 | Hewlett-Packard Development Company, L.P. | Stream processing by a query engine |
US8620945B2 (en) * | 2010-09-23 | 2013-12-31 | Hewlett-Packard Development Company, L.P. | Query rewind mechanism for processing a continuous stream of data |
US8880493B2 (en) | 2011-09-28 | 2014-11-04 | Hewlett-Packard Development Company, L.P. | Multi-streams analytics |
US20130097116A1 (en) * | 2011-10-17 | 2013-04-18 | Research In Motion Limited | Synchronization method and associated apparatus |
CN104767779A (zh) * | 2014-01-07 | 2015-07-08 | 联想(北京)有限公司 | 一种信息处理的方法及一种电子设备 |
CN104980492A (zh) * | 2015-05-08 | 2015-10-14 | 天脉聚源(北京)教育科技有限公司 | 一种远程控制的方法及装置 |
US9836527B2 (en) * | 2016-02-24 | 2017-12-05 | Google Llc | Customized query-action mappings for an offline grammar model |
US10268637B2 (en) | 2017-06-28 | 2019-04-23 | Dharma Platform, Inc. | Off-line log system |
CN113377874A (zh) * | 2021-06-28 | 2021-09-10 | 上海浦东发展银行股份有限公司 | 数据同步处理方法、装置、电子设备及存储介质 |
CN113961546B (zh) * | 2021-10-27 | 2024-03-22 | 国网江苏省电力有限公司营销服务中心 | 一种支持在线分析统计的实时查询库设计方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030023619A1 (en) * | 2001-07-27 | 2003-01-30 | Siemens Information And Communication Networks, Inc. | Apparatus and method for mobile device synchronization |
JP2005038030A (ja) * | 2003-07-15 | 2005-02-10 | Toshiba Solutions Corp | 携帯端末、同期制御プログラム |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0778176A (ja) * | 1993-06-30 | 1995-03-20 | Mitsubishi Electric Corp | データベースシステム |
US6212529B1 (en) * | 1996-11-13 | 2001-04-03 | Puma Technology, Inc. | Synchronization of databases using filters |
US5924096A (en) * | 1997-10-15 | 1999-07-13 | Novell, Inc. | Distributed database using indexed into tags to tracks events according to type, update cache, create virtual update log on demand |
JP2000076113A (ja) * | 1998-08-31 | 2000-03-14 | Kano Densan Hongkong Yugenkoshi | ファイル制御システム、ファイル更新方法、携帯情報端末装置、パーソナルコンピュータ装置および記憶媒体 |
US6366898B2 (en) * | 1998-09-21 | 2002-04-02 | Sun, Microsystems, Inc. | Method and apparatus for managing classfiles on devices without a file system |
US7016977B1 (en) * | 1999-11-05 | 2006-03-21 | International Business Machines Corporation | Method and system for multilingual web server |
US8793374B2 (en) * | 1999-12-02 | 2014-07-29 | Western Digital Technologies, Inc. | Managed peer-to-peer applications, systems and methods for distributed data access and storage |
US6625621B2 (en) * | 2000-01-04 | 2003-09-23 | Starfish Software, Inc. | System and methods for a fast and scalable synchronization server |
JP2001331362A (ja) * | 2000-03-17 | 2001-11-30 | Sony Corp | ファイル変換方法、データ変換装置及びファイル表示システム |
US6505200B1 (en) * | 2000-07-06 | 2003-01-07 | International Business Machines Corporation | Application-independent data synchronization technique |
US6591266B1 (en) * | 2000-07-14 | 2003-07-08 | Nec Corporation | System and method for intelligent caching and refresh of dynamically generated and static web content |
JP2003167761A (ja) * | 2001-11-30 | 2003-06-13 | Casio Comput Co Ltd | 情報処理装置 |
WO2003054694A2 (en) * | 2001-12-18 | 2003-07-03 | Becomm Corporation | Method and system for attribute management in a namespace |
US7275105B2 (en) * | 2002-01-16 | 2007-09-25 | Laszlo Systems, Inc. | Enabling online and offline operation |
FR2840086B3 (fr) | 2002-05-27 | 2004-11-12 | Jean Paul Smets | Procede de synchronisation selective d'un systeme de bases de donnees d'objets |
US7440746B1 (en) * | 2003-02-21 | 2008-10-21 | Swan Joseph G | Apparatuses for requesting, retrieving and storing contact records |
US20040093317A1 (en) * | 2002-11-07 | 2004-05-13 | Swan Joseph G. | Automated contact information sharing |
US7366460B2 (en) * | 2003-01-23 | 2008-04-29 | Dexterra, Inc. | System and method for mobile data update |
US7406499B2 (en) * | 2003-05-09 | 2008-07-29 | Microsoft Corporation | Architecture for partition computation and propagation of changes in data replication |
GB0323780D0 (en) * | 2003-10-10 | 2003-11-12 | Ibm | A data brokering method and system |
-
2005
- 2005-11-30 US US11/289,867 patent/US20070005579A1/en not_active Abandoned
-
2006
- 2006-06-30 CN CN2006800238367A patent/CN101213544B/zh not_active Expired - Fee Related
- 2006-06-30 KR KR1020077030349A patent/KR101319718B1/ko not_active IP Right Cessation
- 2006-06-30 WO PCT/US2006/025910 patent/WO2007005788A2/en active Application Filing
- 2006-06-30 EP EP06774445A patent/EP1899868A4/en not_active Ceased
- 2006-06-30 JP JP2008520324A patent/JP5193034B2/ja not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030023619A1 (en) * | 2001-07-27 | 2003-01-30 | Siemens Information And Communication Networks, Inc. | Apparatus and method for mobile device synchronization |
JP2005038030A (ja) * | 2003-07-15 | 2005-02-10 | Toshiba Solutions Corp | 携帯端末、同期制御プログラム |
Also Published As
Publication number | Publication date |
---|---|
US20070005579A1 (en) | 2007-01-04 |
JP5193034B2 (ja) | 2013-05-08 |
WO2007005788A2 (en) | 2007-01-11 |
CN101213544A (zh) | 2008-07-02 |
KR20080021061A (ko) | 2008-03-06 |
CN101213544B (zh) | 2010-05-19 |
EP1899868A4 (en) | 2009-07-15 |
WO2007005788A3 (en) | 2007-05-24 |
JP2009500749A (ja) | 2009-01-08 |
EP1899868A2 (en) | 2008-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101319718B1 (ko) | 쿼리 기반 동기화 | |
US9298747B2 (en) | Deployable, consistent, and extensible computing environment platform | |
JP6482602B2 (ja) | 予測ストレージサービス | |
US8589403B2 (en) | Compressed journaling in event tracking files for metadata recovery and replication | |
US9594821B2 (en) | Method and apparatus for synchronizing how data is stored in different data stores | |
EP2153346B1 (en) | Method of deriving web service interfaces from form and table metadata | |
US20070220089A1 (en) | Modular distributed mobile data applications | |
US8266104B2 (en) | Method and system for cascading a middleware to a data orchestration engine | |
KR101685215B1 (ko) | 대체 메일박스들의 자동 검색 | |
US7836429B2 (en) | Data synchronization mechanism for change-request-management repository interoperation | |
US20140006368A1 (en) | Model-based Backend Service Adaptation of Business Objects | |
CN110321544B (zh) | 用于生成信息的方法和装置 | |
CN112765103A (zh) | 一种文件解析方法、系统、装置及设备 | |
US20060074996A1 (en) | System and method for synchronizing data | |
CN113486095A (zh) | 一种民航空管跨网安全数据交换管理平台 | |
US20170262538A1 (en) | Method of and system for grouping object in a storage device | |
US20070006182A1 (en) | Method and system for on-demand programming model transformation | |
CN114461270A (zh) | 项目处理方法及装置 | |
US9069751B1 (en) | Systems and methods for managing document pedigrees | |
US11500908B1 (en) | Trends in a messaging platform | |
CN112711446A (zh) | 一种新手引导服务的实现方法、装置和系统 | |
US8131587B2 (en) | Methods, communications devices, and computer program products for adding displayed advertisement contact data to networked address books |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E90F | Notification of reason for final refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20160921 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20170919 Year of fee payment: 5 |
|
LAPS | Lapse due to unpaid annual fee |