KR20110034598A - 상이한 네트워크들을 통해 데이터를 동기화하기 위한 어댑터 - Google Patents

상이한 네트워크들을 통해 데이터를 동기화하기 위한 어댑터

Info

Publication number
KR20110034598A
KR20110034598A KR1020107028410A KR20107028410A KR20110034598A KR 20110034598 A KR20110034598 A KR 20110034598A KR 1020107028410 A KR1020107028410 A KR 1020107028410A KR 20107028410 A KR20107028410 A KR 20107028410A KR 20110034598 A KR20110034598 A KR 20110034598A
Authority
KR
South Korea
Prior art keywords
data
synchronization
transport mechanism
messages
synchronized
Prior art date
Application number
KR1020107028410A
Other languages
English (en)
Other versions
KR101634822B1 (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 KR20110034598A publication Critical patent/KR20110034598A/ko
Application granted granted Critical
Publication of KR101634822B1 publication Critical patent/KR101634822B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/24Accounting or billing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services

Abstract

본 발명의 시스템은 2개의 상이한 네트워크를 통해 2개의 동기화 엔드포인트를 연결하는 브리지(또는 어댑터)를 포함한다. 브리지는 우선 동기화될 정보를 수신하고 메타데이터를 생성하여, 그것을 제1 프로토콜에 따라 제1 네트워크를 통해 트랜스포트될 메시지로 만든다. 게이트웨이는 제1 트랜스포트 메커니즘을 통해 메시지를 수신하고, 제2 프로토콜에 따라 제2 네트워크를 통해 트랜스포트될 수 있는 동기화 피드를 생성한다.

Description

상이한 네트워크들을 통해 데이터를 동기화하기 위한 어댑터{ADAPTER FOR SYNCHRONIZING DATA OVER DIFFERENT NETWORKS}
애플리케이션들 간에서의 데이터의 동기화가 과거에 행해져왔다. 그러한 동기화를 행하는 데에 있어서의 많은 어려움들이 반드시 해결되어야만 한다. 예를 들어, 애플리케이션들은 네트워크에 대하여 상이한 유형의 접속을 갖는 시스템들에 상주할 수 있다. 주어진 네트워크의 특정한 특성(idiosyncrasies)은 다양한 네트워크들에 걸쳐서 다양한 애플리케이션들과 함께 동작하는 일반적인 동기화 시스템을 생성하는 데에 있어서 장애가 될 수 있다.
데이터를 동기화하기 위해 현재 이용되고 있는 시스템의 한 유형은 웹 블로그 엔트리, 뉴스 헤드라인, 포드 캐스트 등과 같이 빈번하게 업데이트되는 컨텐츠를 게시(publish)하기 위해 이용되는 웹 피드 포맷군(a family of web feed formats)을 이용한다. 이러한 웹 피드 포맷군은 RSS(Really Simple Syndication) 포맷이라고 칭해진다. 또한, 그러한 시스템은 "ATOM 피드 포맷"이라고 칭해지는 유사한 포맷을 이용할 수 있다. RSS 또는 ATOM 피드 포맷을 이용하여 송신될 수 있는 데이터는 전형적으로, 사용자가 주어진 피드에 가입할 때 송신된다. 사용자의 시스템 상의 리더(reader)는 새로운 컨텐츠를 찾기 위해 사용자가 가입한 링크를 체크하고, 사용자가 원하는 컨텐츠에 대한 임의의 업데이트들을 다운로드한다.
상기 논의는 단순히 일반적인 배경 정보를 위해 제공된 것이며, 청구되는 발명의 주제의 범위를 결정하는 데에 있어서 도움으로 사용되도록 의도된 것이 아니다.
단순 공유 확장(Simple sharing extensions)(FeedSync라고도 알려져 있음)은 다양한 데이터 소스를 이용하는 것에 의한 정보의 집계를 가능하게 하는 RSS 및 ATOM 피드 포맷에 대한 확장이다. 이러한 확장은 RSS 또는 ATOM 피드 포맷을 이용하여 엔드포인트들의 메시(mesh)에 걸쳐 데이터를 동기화하는 방법을 제공한다.
이러한 유형의 동기화의 현재의 전형적인 구현은 엔드포인트들 간의 지속적인 고속 네트워크 접속을 필요로 한다. 예를 들어, 이러한 유형의 동기화 시스템의 현재의 몇몇 구현에서, 클라이언트 노드는 피드에 대한 업데이트를 요청하기 위해 서버 노드를 정기적으로 폴링(polling)한다. 또한, 클라이언트 노드는 자신의 로컬 변경들이 다른 엔드포인트들에 게시될 수 있도록, 그러한 변경들을 서버에 보낸다. 노드들은 지속적으로 접속되어 있는 고속 네트워크를 통해 접속된다. 이러한 유형의 구현에서, 개발자는 전형적으로 게시를 위한 각 요청마다 클라이언트와 서버 간에서 통신되는 데이터의 크기에 대해 염려할 필요가 없다. 또한, 개발자는 동기화되는 데이터 세트의 전체 크기에 대해서도 염려할 필요가 없다. 이러한 유형의 네트워크들은 단순히 전형적인 데이터 세트를 쉽게 다룰 수 있을 정도로 충분히 강건(robust)하다.
그러나, 훨씬 더 적은 용량의 네트워크를 갖는 구현에서도 데이터를 동기화하는 것이 바람직할 수 있다. 이러한 유형의 네트워크의 예는 셀룰러 전화기의 단문 메시지 서비스(short message service)(SMS) 네트워크이다. SMS는 모바일 통신을 위한 글로벌 시스템(global system from mobile communication, GSM)(여기에서, GSM은 모바일 통신을 위한 표준을 규정함)에서 동작하는 모바일 핸드셋으로 또는 모바일 핸드셋으로부터 160 캐릭터까지의 메시지를 보내기 위한 통신 프로토콜을 정의한다.
그러한 시나리오에서, 요청마다의 데이터 크기 및 전체 데이터 세트의 크기 둘다가 심각한 문제를 제기한다. 위에서 언급된 바와 같이, SMS 메시지들은 메시지당 약 160 캐릭터로 제한되고, 비교적 느리게 송신된다. 또한, 메시지들은 흔하게, 송신되었지만 수신되지 않는다.
그러므로, 본 발명의 시스템은 2개의 상이한 네트워크를 통해 2개의 동기화 엔드포인트를 연결하는 브리지(또는 어댑터)를 포함한다. 브리지는 우선 동기화될 정보를 수신하고 메타데이터를 생성하여, 그것을 제1 프로토콜에 따라 제1 네트워크를 통해 트랜스포트될 메시지로 만든다. 게이트웨이는 제1 트랜스포트 메커니즘을 통해 메시지를 수신하고, 제2 프로토콜에 따라 제2 네트워크를 통해 트랜스포트될 수 있는 동기화 피드를 생성한다. 일 실시예에서, 제1 트랜스포트 메커니즘은 SMS 메시지를 트랜스포트하고, 제2 트랜스포트 메커니즘은 하이퍼텍스트 트랜스포트 프로토콜(HTTP)을 이용하는 네트워크를 통해 제공되는 동기화 피드를 포함한다.
본 개요는 이하의 상세한 설명에서 더 설명되는 개념들 중 선택된 것들을 단순한 형태로 소개하기 위해 제공된 것이다. 본 개요는 청구되는 발명의 주제의 핵심적인 특징 또는 본질적인 특징을 식별하도록 의도된 것이 아니며, 청구되는 발명의 주제의 범위를 결정하는 데에 도움으로서 사용되도록 의도된 것도 아니다. 청구되는 발명의 주제는 배경기술에서 언급된 문제점들 중 일부 또는 전부를 해결하는 구현들로만 한정되지 않는다.
도 1은 한 예시적인 통신 시스템의 블록도이다.
도 2는 도 1에 도시된 시스템의 일 실시예를 도시한 흐름도이다.
도 3은 도 1에 도시된 시스템의 동작의 다른 실시예를 도시한 흐름도이다.
도 4는 통신 시스템의 더 상세한 실시예이다.
도 5는 한 예시적인 컴퓨팅 환경의 블록도이다.
도 1은 한 예시적인 동기화 시스템(100)의 블록도이다. 시스템(100)은 데이터 소스(102)로부터의 데이터를 동기화 엔드 포인트들(104)에 동기화한다. 시스템(100)은 동기화 어댑터(106), 모바일 장치(108), 제1 트랜스포트(111)를 통해 모바일 장치(108)에 연결된 모바일 장치(110), 동기화 게이트웨이(112), 및 제2 트랜스포트(116)를 통해 게이트웨이(112)에 접속된 동기화 웹 서비스(114)를 포함한다.
도 1에 도시된 실시예에서, 데이터 소스(102)는 예시적으로, 하나 이상의 동기화 엔드포인트(104)에서의 데이터와 동기화될 애플리케이션 데이터를 갖는 임의의 원하는 애플리케이션일 수 있다. 예를 들어, 도 1에 도시된 실시예에서, 데이터 소스(102)는 데이터베이스 애플리케이션일 수 있다.
또한, 도 1에 도시된 실시예에서, 모바일 장치(108 및 110)는 제1 트랜스포트(111)를 따라 서로와 통신한다. 제1 트랜스포트(111)는 예시적으로 단문 메시지 서비스(SMS) 링크와 같은 저속 링크일 수 있다. SMS 링크(111)는 RSS 또는 ATOM 피드 포맷과 같은 동기화 포맷을 지원하지 않는다. 그러므로, 도 1에 도시된 실시예에서, 동기화 어댑터(106)는 데이터 소스(102)로부터 동기화될 데이터를 수신하고, 그것을 제1 트랜스포트(111)를 이용하여 모바일 장치(108)에 의해 보내질 수 있는 단문 메시지로 변환한다.
메시지는 모바일 장치(110)에 의해 수신되고, 동기화 게이트웨이(112)에 제공된다. 도 1에 도시된 실시예에서, 제2 트랜스포트(116)는 동기화 포맷을 지원하는 트랜스포트이다. 예를 들어, 제2 트랜스포트(116)는 예시적으로, 하이퍼텍스트 트랜스퍼 프로토콜(HTTP)을 이용하여 통신하는 트랜스포트일 수 있다. 이것은 제1 트랜스포트(111)가 구현되는 네트워크에 비하여 상대적으로 고속이고 강건한 네트워크이다. 그러므로, 동기화 게이트웨이(112)는 모바일 장치(110)로부터 단문 메시지를 수신하고, 메시지가 동기화 포맷을 이용하여 제2 트랜스포트(116)를 통해 동기화 웹 서비스(114)로 전달될 수 있도록, 메시지를 동기화 포맷으로 하기 위해 필요한 메타데이터를 생성한다.
일 실시예에서, 동기화 웹 서비스(114)는 지속적인 고속 트랜스포트(116)를 통해 단순 공유 확장으로 메시지를 받아들이며, 원하는 동기화 포맷(예를 들어, RSS 또는 ATOM 피드 포맷)에 따라 엔트포인트들(104)의 메시에 게시되는 동기화 피드(118)를 생성한다.
도 2는 도 1에 도시된 시스템(100)의 전체 동작을 더 상세하게 도시한 흐름도이다. 이하에서는, 도 1 및 도 2가 함께 설명될 것이다. 그러나, 도 1 및 도 2를 설명하기 전에, 동기화 어댑터(106) 및 동기화 게이트웨이(112)는 동기화될 데이터를 비교적 저속이고 약한(fragile) 임의의 제1 트랜스포트(111)를 통해 데이터 소스(102)로부터 동기화 엔드포인트들(104)로 전달하도록 구성될 수 있음에 주목해야 한다. 즉, 본 발명의 시스템이 이용될 수 있는 매우 낮은 대역폭 및 하이 레이턴시(high latency) 채널들이 다수 존재한다. SMS가 일례이지만, 그러한 트랜스포트 메커니즘의 다른 예는 햄(ham) 라디오 송신이 보내지는 채널이다. SMS에 관한 설명은 단지 예시에 지나지 않는다.
어쨌든, 동기화 어댑터(106)가 우선 데이터 소스(102)로부터 동기화될 데이터를 수신한다. 위에서 논의된 바와 같이, 데이터 소스(102)는 동기화 엔드포인트들(104)에서의 데이터와 동기화될 애플리케이션 데이터를 갖는 임의의 애플리케이션일 수 있다. 어댑터(106)에서 동기화될 데이터를 수신하는 것은 도 2에서 블록(150)에 의해 나타나 있다.
그 다음, 동기화 어댑터(106), 또는 다른 별도의 컴포넌트가 동기화될 데이터를 선택적으로 압축할 수 있다. 제1 트랜스포트(111)는 비교적 낮은 대역폭의 하이 레이턴시 트랜스포트이므로, 동기화될 데이터가 실제로 더 신속하게 동기화 엔드포인트들(104)에 도달할 수 있도록, 제1 트랜스포트(111)를 통해 송신되는 데이터의 양을 감소시키는 것이 유리할 수 있다. 동기화될 데이터의 압축은 도 2의 블록(152)에 의해 나타나 있다.
또한, 어댑터(106)는 애플리케이션(102)으로부터 동기화될 데이터를 다양한 서로 다른 방법들로 수신할 수 있음에 주목해야 한다. 애플리케이션(102)이 변경되어 동기화가 필요한 임의의 새로운 데이터를 동기화 어댑터(106)에 푸시할 수 있고, 다르게는 어댑터(106)가 새로운 데이터에 관하여 데이터 소스(102)를 폴링할 수 있다. 동기화될 데이터는 도 1의 블록(119)에 의해 나타나 있다.
동기화 어댑터(106)가 새로운 데이터를 찾을 때, 가장 최근의 동기화 동작의 타임 스탬프를 초과하는 타임 스탬프를 갖는 데이터만을 검색할 수 있도록, 데이터가 타임 스탬프로 마킹될 수 있다. 대안적으로, 물론, 동기화될 데이터의 각 항목은 해당 항목에 변경이 이루어질 때마다 증가하는 무한 증가값(ever increasing value)에 연관지어질 수 있다. 그러면, 어댑터(106)는 동기화될 항목들 각각에 연관된 값이 최종 동기화 동작 이후에 증가되었는지를 보기 위해, 그 값들을 체크할 수 있다. 데이터 소스(102) 내의 데이터가 변경되어 동기화가 필요한지를 결정하지 위한 다양한 다른 방법들도 물론 이용될 수 있다. 설명된 것들은 단지 예시로서 사용된 것에 지나지 않는다.
동기화 어댑터(106)가 엔트포인트들(104)에 동기화될 데이터 항목들을 획득하고 나면, 동기화 어댑터(106)는 제1 트랜스포트(111)를 통한 장치(108)에 의한 송신을 위해 적합한 데이터 패킷들로 데이터를 분할한다. 장치(108)가 셀룰러 전화기이고 트랜스포트(111)가 SMS 트랜스포트인 실시예에서, 어댑터(106)는 데이터 소스(102)로부터 수신된 데이터를 (160 캐릭터까지의) 단문 메시지로 분할하고, 제1 트랜스포트(111)를 통한 송신을 위해 필요한 메타데이터를 생성한다. 메타데이터는 예를 들어, 헤더 정보, 체크섬 정보, 또는 어댑터(106)에 의해 생성된 메시지를 설명하는 임의의 다른 원하는 메타데이터를 포함할 수 있다. 메시지들은 도 1의 블록(120)에 의해 나타나 있다. 본 실시예에서, 데이터를 모바일 장치 메시지들로 분할하는 것과 함께 메타데이터를 생성하는 것은 도 2의 블록(154)에 의해 나타나 있다.
그 다음, 메시지들(120)은 모바일 장치(108)에 제공되고, 제1 트랜스포트(111)를 통해 모바일 장치(108)에 의해 송신된다. 이는 도 2의 블록(156)에 의해 나타나 있다.
메시지들(120)은 모바일 장치(110)에서 트랜스포트(111)를 통해 수신되고, 모바일 장치(110)는 그 메시지들을 동기화 게이트웨이(112)에 제공한다. 게이트웨이(112)에서 모바일 장치 메시지를 수신하는 것은 도 2의 블록(158)에 의해 나타나 있다.
그 다음, 게이트웨이(112)는 메시지들(120)을 제2 트랜스포트(116)를 통한 송신을 위해 적합한 포맷으로 어셈블링한다. 도 1에 도시된 실시예에서, 제2 트랜스포트(116)는 HTTP를 이용하여 동작한다. 예를 들어, 동기화 게이트웨이(112)는 예시적으로 메시지들(120) 내의 데이터를, 빈번하게 업데이트되는 컨텐츠를 게시하기 위해 이용되는 웹 피드 포맷군인 RSS 포맷으로 포맷팅한다. 대안적으로, 게이트웨이(112)는 메시지들(120)로부터의 데이터를, 역시 빈번하게 업데이트되는 컨텐츠를 게시하기 위해 사용되는 포맷인 ATOM 피드 포맷으로 할 수 있다. 이러한 포맷들은 예시로서 주어진 것이며, 다른 웹 동기화 포맷들도 물론 사용될 수 있다. 모바일 장치 메시지들(120)을 웹 동기화 포맷 메시지들로 어셈블링하는 것은 도 2의 블록(160)에 의해 나타나 있다. 웹 동기화 포맷 메시지들은 도 1의 블록(122)에 의해 나타나 있다.
또한, 동기화 게이트웨이(112)는 예시적으로, 동기화될 데이터의 일부로서 동기화 어댑터(106)로부터 보내진 메시지들(120)을 웹 포맷 메시지들(122)로 포맷팅하는 것을 시작하기 전에, 그 메시지들 전부가 수신되는 것을 확실히 하기 위해 체크한다.
제1 트랜스포트(111)와 같은 트랜스포트 메커니즘에서는, 일부 메시지들 또는 메시지들의 부분들이 송신 동안 손실되어, 목표 시스템에 의해 수신되지 않는 경우가 흔하다. 그러므로, 완전한 웹 포맷 메시지들(122)이 준비될 수 있기 전에 메시지들이 재송신되어야 할 수도 있다. 그러한 경우에서, 동기화 게이트웨이(112)는 예시적으로, 웹 포맷 메시지(122)를 생성하는 데에 필요한 프로세싱 오버헤드를 초래하기 전에, 동기화될 데이터 전부가 수신되기를 기다린다.
메시지들 전부가 수신되고 나면, 동기화 게이트웨이(112)는 예시적으로, 제1 트랜스포트(111)를 통해 장치(110)에 의해 송신될 수 있는 메시지 포맷으로 응답(124)을 생성한다. 응답은 어댑터(106)에게 모든 메시지가 수신되었음을 나타낸다. 응답을 송신하는 것은 도 2의 블록(159)에 의해 나타나 있다.
웹 동기화 포맷 메시지들(122)은 동기화 웹 서비스(114)에 제공된다. 웹 동기화 포맷 메시지들(122)은 예시적으로, 그들이 RSS 또는 ATOM 피드를 이용하여 엔드포인트들(104)의 메시에 걸쳐서 동기화될 수 있도록, 단순 공유 확장으로 포맷될 수 있다. 제2 트랜스포트(116)는 비교적 고속이고 지속적인 네트워크이므로, 웹 동기화 포맷 메시지들(122)은 이러한 포맷들을 이용하여 보내질 수 있다.
그 다음, 동기화 웹 서비스(114)는 동기화 엔드포인트들(104)로의 동기화 피드들(118)로서 웹 동기화 포맷 메시지들(122)을 게시한다. 이것은 도 2의 블록(162)에 의해 나타나 있다.
도 3은 동기화 엔드포인트들(104) 중 하나에서 변경된 데이터를 2개의 상이한 트랜스포트(111 및 116)를 통해 데이터 소스(102) 내의 데이터와 동기화하는 데에 있어서의 도 1의 시스템(100)의 동작을 도시한 흐름도이다. 이러한 유형의 동기화를 수행하는 데에 있어서, 동기화 게이트웨이(112)는 예시적으로, 동기화 엔드포인트들(104) 중 하나에 의해 게시되었고 데이터 소스(102)에서의 데이터와 동기화될 임의의 데이터에 관하여 동기화 웹 서비스(114)를 폴링한다.
동기화될 임의의 새로운 데이터가 존재하는지를 결정하기 위해, 동기화 어댑터(106)에 대하여 위에서 설명된 것과 동일하거나 다른 기법들이 게이트웨이(112)에 의해 이용될 수 있다. 예를 들어, 동기화 게이트웨이(112)는 그것의 가장 최근의 동기화 동작에 관련된 타임 스탬프를 유지할 수 있다. 그러면, 그것이 웹 서비스(114)를 폴링할 때, 동기화 게이트웨이(112)는 그것의 가장 최근의 동기화 동작 이전에 이루어진 모든 변경들을 무시하고, 그 이후에 이루어진 변경들만을 찾는다. 동기화 게이트웨이(112)가 복수의 상이한 동기화 어댑터(106)와 함께 동작할 때, 그 동기화 게이트웨이는 예시적으로, 각 어댑터(106)에 대해 수행된 가장 최근의 동기화 동작을 추적한다. 예를 들어, 동기화 게이트웨이(112)가, 하나 이상의 상이한 데이터 소스(102)에 각각 연관된 복수의 상이한 동기화 어댑터(106)를 서빙할 수도 있다. 그러한 경우에서, 동기화 게이트웨이(112)는 각 어댑터(106)에 대해 수행된 가장 최근의 동기화 동작을 추적한다.
동기화 엔드포인트(104)에 의해 게시된 데이터가 데이터 소스(102)에 대해 동기화될 필요가 있는지를 결정하기 위한 다른 메커니즘들도 물론 사용될 수 있다. 예를 들어, 각 동기화 어댑터(106)는 그것의 최후의 동기화 동작이 언제 수행되었는지를 결정하기 위해 게이트웨이(112)에 의해 질의를 받을 수 있다. 그러한 방식으로, 게이트웨이(112)는 각 클라이언트에 대해 이 정보를 추적할 필요가 없지만, 클라이언트 어댑터 자체가 이 정보를 유지할 수 있다.
또한, 엔드포인트(104)와 동기화될 각 데이터 항목은 그것이 변경된 최종 시간을 나타내는 자기 자신의 타임 스탬프를 가질 수 있다. 그러면, 게이트웨이(112)는 데이터 항목이 최종 변경된 이후로부터 동기화 동작이 수행되었는지를 결정하기 위해, 동기화를 위해 동기화 웹 서비스(114)에 의해 게시된 각 데이터 항목 상의 타임 스탬프를 체크할 수 있다. 어느 데이터 항목들이 동기화될 필요가 있는지를 식별하기 위한 이러한 기법들 전부는 단지 예시로서만 설명된 것이며, 다른 것들도 물론 사용될 수 있다.
어쨌든, 동기화 게이트웨이(112)는 동기화 게이트웨이(112)가 함께 동작하고 있는 클라이언트 동기화 어댑터(106)에 동기화될 필요가 있는 임의의 데이터를 동기화 웹 서비스(114)가 게시하고 있는지를 결정한다. 이것은 도 3의 블록(200)에 의해 나타나 있으며, 동기화될 데이터는 도 1의 웹 포맷 메시지 블록(122)에 의해 나타나 있다.
그러한 데이터가 존재하는 경우, 동기화 게이트웨이(112)(또는 다른 장치)는 선택적으로, 로우 레이턴시의 저속 트랜스포트(111)를 통해 송신되는 데이터의 양이 최소화되도록, 또는 적어도 소정 범위까지 감소되도록, 메시지들(122) 내의 데이터를 압축할 수 있다. 데이터의 압축은 도 3의 블록(202)에 의해 나타나 있다.
그 다음, 게이트웨이(112)는 동기화될 데이터(250)를 모바일 장치(110)에 의해 트랜스포트(111)를 통해 송신될 수 있는 메시지들(120)로 분할한다. 클라이언트 동기화 어댑터(106)에 관하여 위에서 설명된 바와 같이, 트랜스포트(111)가 SMS 트랜스포트인 경우, 동기화될 데이터(250)는 160 캐릭터를 넘지 않는 SMS 메시지들로 분할되고, 게이트웨이(112)는 또한 SMS 트랜스포트에 의해 이용되는 (헤더 및 체크섬 데이터와 같은) 필요한 메타데이터를 생성한다. 데이터를 모바일 장치 메시지들로 분할하는 것은 도 3의 블록(204)에 의해 나타나 있다.
그 다음, 메시지(120)는 모바일 장치(110)에 제공되고, 여기에서 메시지들은 제1 트랜스포트(111)를 통해 모바일 장치(108)에 송신된다. 그 다음, 모바일 장치(108)는 메시지들(120)을 클라이언트 동기화 어댑터(106)에 제공한다. 제1 트랜스포트(예를 들어, 모바일 장치 네트워크)(111)를 통해 메시지들을 송신하는 것은 도 3의 블록(206)에 의해 나타나 있다.
그 다음, 클라이언트 동기화 어댑터(106)는 메시지들(120) 내의 데이터가 데이터 소스(102) 내의 대응 데이터와 동기화될 수 있도록 그 데이터를 준비한다. 예를 들어, 데이터 소스(102)가 특정 포맷의 데이터를 예상하는 특정 애플리케이션인 경우, 어댑터(106)는 메시지들(120) 내에 포함된 데이터를 데이터 소스(102)가 원하는 포맷으로 어셈블링한다. 그 다음, 적절한 포맷으로 된 동기화될 데이터(119)가 데이터 소스(102)에 제공되고, 여기에서 그 데이터는 데이터 소스(102) 내의 대응하는 데이터 항목들과 동기화된다. 메시지들(120)로부터 데이터를 검색하고 데이터 소스(102) 내의 데이터를 동기화하는 것은 도 3의 블록(208)에 의해 나타나 있다.
도 4는 하나는 비교적 저속인 로우 레이턴시 트랜스포트(111)이고 다른 하나는 고속의 지속적인 트랜스포트(116)인 2개의 상이한 데이터 트랜스포트를 통해 데이터를 동기화하기 위한 시스템(100)의 한 예시적인 실시예의 보다 상세한 블록도이다. 도 4는 회사의 제1 지사(300)로부터의 데이터가 로우 레이턴시 트랜스포트(111)를 통해 제2 지사(302)로 송신되는 실시예를 도시하고 있다. 그러면, 데이터는 고빈도(high frequency) 트랜스포트(116)를 통한 송신을 위해 준비되고, 복수의 동기화 엔드포인트(104)로의 게시를 위해 웹 서비스(114)에 제공된다.
도 4는 데이터 소스(102)가 작업 관리자(job manager) 컴포넌트(306)에 의해 액세스되는 데이터베이스 애플리케이션(304)일 수 있는 것을 도시한다. 작업 관리자 컴포넌트(306)는 데이터베이스 애플리케이션(304)과 상호작용하여, 데이터베이스 애플리케이션(304)으로부터 데이터를 검색하고 데이터를 데이터베이스 애플리케이션(304)에 기입하며, 일반적으로 데이터를 데이터베이스 애플리케이션(304) 내에 유지한다. 도 4에 도시된 실시예에서, 클라이언트 동기화 어댑터(106)는 SMS 데스크탑 클라이언트 컴포넌트(308)로서 구현된다. SMS 데스크탑 클라이언트 컴포넌트(308)는 예시적으로, 도 4에서 화살표(310)에 의해 나타내어진, 작업 관리자(306)에 노출된 API 또는 임의의 다른 인터페이스를 이용하여 작업 관리자(306)에 연결된다. 도 4에 도시된 실시예는 또한 모바일 장치(108)가 예시적으로, USB 접속(314) 등을 이용하여 SMS 데스크탑 클라이언트 컴포넌트(308)에 접속될 수 있는 PDA(personal digital assistant)(312)로서 구현되는 것을 도시하고 있다. 또한, 도 4에 도시된 실시예에서, 모바일 장치(110)도 PDA(316)로서 구현된다. 모바일 장치(312 및 316)는 모바일 전화기를 포함하는 PDA로서 도 4에 도시되고, SMS 패킷을 트랜스포트(111)를 통해 보냄으로써 트랜스포트(111)를 통해 서로 통신한다.
또한, 도 4는, 일 실시예에서 동기화 게이트웨이(112)가 예를 들어 USB 접속(320)을 이용하여 모바일 장치(316)에 접속된 SMS 게이트웨이 컴포넌트(318)로서 구현되는 것을 도시하고 있다.
도 4는 동기화 웹 서비스(114)가 동기화 피드들(118)을 생성하고 그들을 동기화 엔드포인트들(104)에 게시하기 위해 단순 공유 확장을 이용할 수 있다는 것도 도시하고 있다.
따라서, SMS 데스크탑 클라이언트 컴포넌트(308)는 데이터베이스 애플리케이션(304)으로부터 작업 관리자(306)를 통해 동기화될 데이터를 수신하고, 그 데이터를 USB 접속(314)을 통해 클라이언트(312)에 송신되는 SMS 패킷들로 만들도록 구성된다. 또한, SMS 데스크탑 클라이언트 컴포넌트(308)는 USB 접속(314)을 통해 SMS 패킷들을 수신하고, 그들을 데이터베이스 애플리케이션(304) 내의 데이터와의 동기화를 위해 작업 관리자(306)에게 원하는 포맷으로 제공하도록 구성된다.
SMS 게이트웨이 컴포넌트(318)는 모바일 장치(316)에 송신되고 USB 접속(320)을 통해 SMS 게이트웨이 컴포넌트(318)에 전달된 SMS 패킷들을 수신하도록 구성된다. 또한, SMS 게이트웨이 컴포넌트(318)는 동기화 엔드포인트들(104)에 게시하기 위해 동기화 피드(118)를 생성하는 동기화 웹 서비스(114)로의 HTTP 링크(116)를 통한 송신을 위해, 웹 피드 포맷으로 메시지들을 생성하도록 구성된다. 마찬가지로, SMS 게이트웨이 컴포넌트(318)는 역방향으로 동작하여, HTTP 링크(116)를 통해 동기화 피드(118)를 수신하고, 그 피드로부터 링크(320)를 통한 모바일 장치(316)로의 송신을 위한 SMS 패킷을 생성할 수 있으며, 모바일 장치(316)에서 그 SMS 패킷들은 SMS 링크(111)를 통해 모바일 장치(312)에 더 송신된다.
이와 같이, 본 발명의 시스템은 SMS 네트워크와 같은 매우 느린 트랜스포트(111)를 통해서도 애플리케이션들로부터의 데이터의 동기화를 제공함을 알 수 있다. 그 다음, 데이터는 고속 트랜스포트(116)를 이용한 동기화를 위해 웹 피드 포맷으로 준비된다. 물론, 데이터가 웹 피드 포맷을 이용하여 준비되고 나면, 그 데이터는 동기화 엔드포인트들(104)의 메시와 동기화될 수 있다. 따라서, 엔드포인트들이 웹 피드 포맷을 사용하기가 상당히 어려운 비교적 느린 네트워크에 의해 분리되어 있더라도, 컴포넌트들(106 및 112)은 웹 피드 포맷을 이용하여 2개의 엔드포인트(102 및 104)를 접속하는 브리지로서 동작한다.
또한, 어댑터(106)가 모바일 장치(108) 내에서 직접 구현될 수 있고, 게이트웨이(112)는 모바일 장치(110) 내에서 직접 구현될 수 있다는 것도 물론 인식될 것이다. 또한, 마찬가지로, 모바일 장치(108 및 110)는 어댑터(106) 및 게이트웨이(112) 둘다를 포함할 수 있다. 또한, 모바일 장치(316)는 컴포넌트(304, 306 및 310)를 포함할 수 있다. 그러므로, 이러한 컴포넌트들이 도 1 및 도 4에서 분리되어 도시되어 있더라도, 그들이 실제로 별개의 컴포넌트 또는 장치일 필요는 없다.
도 5는 본 발명이 구현될 수 있는 적합한 컴퓨팅 시스템 환경(400)의 예시를 도시한 것이다. 컴퓨팅 시스템 환경(400)은 적합한 컴퓨팅 환경의 일례에 지나지 않으며, 본 발명의 이용 또는 기능성의 범위에 관하여 어떠한 제한을 제안하도록 의도된 것이 아니다. 또한, 컴퓨팅 환경(400)은 예시적인 운영 환경(400)에 도시된 컴포넌트들 중 임의의 하나 또는 그들의 조합에 관한 어떠한 종속성 또는 요구조건을 갖는 것으로 해석되어서도 안 된다.
본 발명은 다수의 다른 일반 목적 또는 특수 목적의 컴퓨팅 시스템 환경 또는 구성들과 함께 동작할 수 있다. 본 발명과 함께 사용될 수 있는 공지된 컴퓨팅 시스템, 환경 및/또는 구성은 개인용 컴퓨터, 서버 컴퓨터, 핸드핼드형 또는 랩탑 장치, 멀티프로세서 시스템, 마이크로프로세서 기반 시스템, 셋탑 박스, 프로그래밍가능한 소비자 가전장치, 네트워크 PC, 미니컴퓨터, 메인프레임 컴퓨터, 상기의 시스템 또는 장치 중 임의의 것을 포함하는 분산형 컴퓨팅 환경 등을 포함하지만 이에 한정되지 않는다.
본 발명은 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터 실행가능 명령어들의 일반적인 맥락에서 설명될 수 있다. 일반적으로, 프로그램 모듈은 특정 태스크를 수행하거나 특정 추상 데이터 유형을 구현하는 루틴, 프로그램, 개체, 컴포넌트, 데이터 구조 등을 포함한다. 또한, 본 발명은 통신 네트워크를 통해 링크된 원격 처리 장치들에 의해 태스크들이 수행되는 분산형 컴퓨팅 환경에서도 실시될 수 있다. 분산형 컴퓨팅 환경에서, 프로그램 모듈들은 메모리 저장 장치를 포함하는 로컬 및 원격 컴퓨터 저장 매체 둘다에 위치될 수 있다.
도 5를 참조하면, 본 발명을 구현하기 위한 예시적인 시스템은 컴퓨터(410)의 형태로 된 일반 목적의 컴퓨팅 장치를 포함한다. 컴퓨터(410)의 컴포넌트들은 처리 장치(420), 시스템 메모리(430), 및 시스템 메모리를 포함하는 다양한 시스템 컴포넌트들을 처리 장치(420)에 연결하는 시스템 버스(421)를 포함할 수 있지만, 이에 제한되지는 않는다. 시스템 버스(421)는 메모리 버스 또는 메모리 컨트롤러, 주변장치 버스, 및 다양한 버스 아키텍처 중 임의의 것을 이용하는 로컬 버스를 포함하는 여러 유형의 버스 아키텍처 중 임의의 것일 수 있다. 제한이 아닌 예를 들면, 그러한 아키텍처는 ISA(Industry Standard Architecture) 버스, MCA(Micro Channel Architecture) 버스, EISA(Enhanced ISA) 버스, VESA(Video Electronics Standards Association) 로컬 버스, 및 메자닌 버스(Mezzanine bus)로도 알려진 PCI(Peripheral Component Interconnect) 버스를 포함한다.
전형적으로, 컴퓨터(410)는 다양한 컴퓨터 판독가능한 매체를 포함한다. 컴퓨터 판독가능 매체는 컴퓨터(410)에 의해 액세스될 수 있는 임의의 이용가능한 매체를 포함할 수 있고, 휘발성 및 비휘발성 매체, 이동식 및 비이동식 매체 둘다를 포함한다. 제한이 아닌 예를 들면, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위해 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성의 이동식 및 비이동식 매체 둘다를 포함한다. 컴퓨터 저장 매체는 RAM, ROM, EEPROM, 플래시 메모리 또는 기타 메모리 기술, CD-ROM, DVD(digital versatile disks) 또는 기타 광 디스크 저장 장치, 자기 카세트, 자기 테이프, 자기 디스크 저장장치 또는 기타 자기 저장 장치, 또는 원하는 정보를 저장하기 위해 사용될 수 있고 컴퓨터(410)에 의해 액세스될 수 있는 임의의 다른 매체를 포함하지만, 이에 제한되지는 않는다. 전형적으로, 통신 매체는 반송파 또는 기타 전송 메커니즘과 같은 변조된 데이터 신호 내에 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터를 구현하며, 임의의 정보 전달 매체를 포함한다. "변조된 데이터 신호"라는 용어는 신호 내에 정보를 인코딩하도록 그 특성 중 하나 이상을 설정 또는 변경시킨 신호를 의미한다. 제한이 아닌 예를 들면, 통신 매체는 유선 네트워크 또는 직접 배선 접속과 같은 유선 매체, 및 음향, RF, 적외선 및 기타 무선 매체와 같은 무선 매체를 포함한다. 상기의 것들 중 임의의 것들의 조합도 컴퓨터 판독가능 매체의 범위 내에 포함되어야 한다.
시스템 메모리(430)는 판독 전용 메모리(ROM)(431) 및 랜덤 액세스 메모리(RAM)(432)와 같은 휘발성 및/또는 비휘발성 메모리의 형태로 된 컴퓨터 저장 매체를 포함한다. 기동 시 등에서 컴퓨터(410) 내의 구성요소들 간의 정보의 전송을 돕는 기본 루틴을 포함하는 기본 입력/출력 시스템(433)(BIOS)은 전형적으로 ROM(431) 내에 저장된다. RAM(432)은 전형적으로 처리 장치(420)가 즉시 액세스할 수 있고/거나 현재 처리 장치(420) 상에서 동작되고 있는 데이터 및/또는 프로그램 모듈을 포함한다. 제한이 아닌 예를 들면, 도 5는 운영 체제(434), 애플리케이션 프로그램(435), 기타 프로그램 모듈(436) 및 프로그램 데이터(437)를 도시하고 있다.
또한, 컴퓨터(410)는 다른 이동식/비이동식 휘발성/비휘발성 컴퓨터 저장 매체를 포함할 수 있다. 오직 예시로서, 도 5는 비이동식 비휘발성 자기 매체로부터 판독하고 그에 기입하는 하드 디스크 드라이브(441), 이동식 비휘발성 자기 디스크(452)로부터 판독하고 그에 기입하는 자기 디스크 드라이브(451), CD ROM 또는 기타 광학 매체와 같은 이동식 비휘발성 광학 디스크(456)로부터 판독하고 그에 기입하는 광학 디스크 드라이브(455)를 도시한다. 예시적인 운영 환경에서 사용될 수 있는 다른 이동식/비이동식 휘발성/비휘발성 컴퓨터 저장 매체는 자기 테이프 카세트, 플래시 메모리 카드, DVD(digital versatile disks), 디지털 비디오 테이프, 고상 RAM, 고상 ROM 등을 포함하지만, 그에 제한되지는 않는다. 전형적으로, 하드 디스크 드라이브(441)는 인터페이스(440)와 같은 비이동식 메모리 인터페이스를 통해 시스템 버스(421)에 접속되며, 자기 디스크 드라이브(451) 및 광학 디스크 드라이브(455)는 전형적으로 인터페이스(450)와 같은 이동식 메모리 인터페이스에 의해 시스템 버스(421)에 접속된다.
위에서 논의되고 도 5에 설명된 드라이브들 및 관련 컴퓨터 저장 매체는 컴퓨터(410)를 위해 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 및 기타 데이터의 저장을 제공한다. 도 5에서, 예를 들어 하드 디스크 드라이브(441)는 운영 체제(444), 애플리케이션 프로그램(445), 기타 프로그램 모듈(446) 및 프로그램 데이터(447)를 저장하는 것으로서 도시된다. 이러한 컴포넌트들은 운영 체제(434), 애플리케이션 프로그램(435), 기타 프로그램 모듈(436) 및 프로그램 데이터(437)와 동일할 수도 있고 다를 수도 있음에 주목해야 한다. 운영 체제(444), 애플리케이션 프로그램(445), 기타 프로그램 모듈(446) 및 프로그램 데이터(447)는 최소한 그들이 상이한 사본이라는 것을 나타내기 위해 여기에서 상이한 번호들을 부여받는다. 시스템(100)의 다양한 부분들은 모듈(446), 프로그램(445) 내에, 또는 원격을 포함하여 어딘가 다른 곳에 저장될 수 있다.
사용자는 키보드(462), 마이크로폰(463), 및 마우스, 트랙볼 또는 터치 패드와 같은 포인팅 장치(461)와 같은 입력 장치들을 통해 컴퓨터(410)에 커맨드 및 정보를 입력할 수 있다. 다른 입력 장치들(도시되지 않음)은 조이스틱, 게임 패드, 위성 안테나, 스캐너 등을 포함할 수 있다. 이러한 것과 그외의 입력 장치들은 주로 시스템 버스에 연결된 사용자 입력 인터페이스(460)를 통해 처리 장치(420)에 접속되지만, 병렬 포트, 게임 포트 또는 USB(universal serial bus)와 같은 다른 인터페이스 및 버스 구조들에 의해서도 접속될 수 있다. 모니터(491) 또는 다른 유형의 디스플레이 장치도 비디오 인터페이스(490)와 같은 인터페이스를 통해 시스템 버스(421)에 접속된다. 모니터 이외에, 컴퓨터는 출력 주변장치 인터페이스(495)를 통해 접속될 수 있는 스피커(497) 및 프린터(496)와 같은 기타 주변 출력 장치들도 포함할 수 있다.
컴퓨터(410)는 원격 컴퓨터(480)와 같은 하나 이상의 원격 컴퓨터로의 논리 접속을 이용하여 네트워크화된 환경에서 동작할 수 있다. 원격 컴퓨터(480)는 개인용 컴퓨터, 핸드핼드형 장치, 서버, 라우터, 네트워크 PC, 피어 장치 또는 기타 공통 네트워크 노드일 수 있으며, 전형적으로 컴퓨터(410)에 관련하여 위에서 설명된 구성요소들 중 다수 또는 전부를 포함한다. 도 5에 도시된 논리 접속들은 LAN(local area network)(471) 및 WAN(wide area network)(473)을 포함하지만, 다른 네트워크들도 포함할 수 있다. 그러한 네트워킹 환경들은 사무실, 전사적(enterprise-wide) 컴퓨터 네트워크, 인트라넷 및 인터넷에서 흔한 것이다.
LAN 네트워킹 환경에서 이용될 때, 컴퓨터(410)는 네트워크 인터페이스 또는 어댑터(470)를 통해 LAN(471)에 접속된다. WAN 네트워킹 환경에서 이용될 때, 컴퓨터(410)는 전형적으로 인터넷과 같은 WAN(473)을 통해 통신을 확립하기 위한 모뎀(472) 또는 기타 수단을 포함한다. 내장형 또는 외장형일 수 있는 모뎀(472)은 사용자 입력 인터페이스(460) 또는 기타 적합한 메커니즘을 통해 시스템 버스(421)에 접속될 수 있다. 네트워크화된 환경에서, 컴퓨터(410)에 관하여 설명된 프로그램 모듈들 또는 그 일부는 원격 메모리 저장 장치에 저장될 수 있다. 제한이 아닌 예를 들면, 도 5는 원격 애플리케이션 프로그램(485)을 원격 컴퓨터(480) 상에 상주하는 것으로서 도시하고 있다. 도시된 네트워크 접속들은 예시적인 것이며, 컴퓨터들 간에 통신 링크를 확립하는 다른 수단도 이용될 수 있음을 알 것이다.
발명의 주제가 구조적 특징 및/또는 방법론적 액트(act)에 특정한 언어로 설명되었지만, 첨부된 청구항들에 정의된 발명의 주제는 반드시 위에서 설명된 특정한 특징 또는 액트에 한정되는 것이 아님을 이해해야 한다. 오히려, 위에서 설명된 특정한 특징 및 액트는 청구항들을 구현하는 예시적인 형태로서 개시된 것이다.

Claims (20)

  1. 복수의 애플리케이션 간에서 데이터를 동기화하는 방법으로서,
    제1 프로토콜에 따라 메시지들을 트랜스포트하는 제1 네트워크 트랜스포트 메커니즘을 통해, 제1 애플리케이션으로부터 동기화될 데이터를 포함하는 메시지들을 수신하는 단계;
    상기 동기화될 데이터를, 상기 제1 프로토콜과는 다른 제2 프로토콜을 이용하여 데이터를 트랜스포트하는 웹 트랜스포트 메커니즘을 통해 송신하기 위해 웹 피드 포맷에 따른 동기화 피드로 어셈블링하는 단계; 및
    상기 동기화 피드를 상기 웹 트랜스포트 메커니즘을 통해 제2 애플리케이션을 포함하는 동기화 엔드포인트에 게시하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서,
    제1 애플리케이션으로부터 동기화될 데이터를 수신하는 단계; 및
    상기 데이터를, 상기 제1 네트워크 트랜스포트 메커니즘을 통한 송신을 위한 메시지들로 어셈블링하는 단계
    를 더 포함하는 방법.
  3. 제2항에 있어서,
    상기 메시지들을 상기 제1 네트워크 트랜스포트 메커니즘을 통해 송신하는 단계
    를 더 포함하는 방법.
  4. 제3항에 있어서,
    상기 제1 네트워크 트랜스포트 메커니즘은 단문 메시지 서비스(short message service) 트랜스포트 메커니즘을 포함하고,
    상기 데이터를 메시지들로 어셈블링하는 단계는, 상기 데이터를 160 캐릭터를 넘지 않는 단문 메시지들로 분할하고, 상기 단문 메시지들을 위한 메타데이터를 생성하는 단계를 포함하는 방법.
  5. 제4항에 있어서,
    상기 데이터를 웹 피드 포맷에 따른 동기화 피드로 어셈블링하는 단계는, 상기 데이터를, 하이퍼텍스트 트랜스포트 프로토콜에 따라 데이터를 송신하는 웹 트랜스포트 메커니즘을 통한 송신을 위해 웹 피드 포맷으로 어셈블링하는 단계를 포함하는 방법.
  6. 제4항에 있어서,
    상기 메시지들을 상기 단문 메시지 서비스 트랜스포트 메커니즘을 통해 송신하기 전에, 상기 동기화될 데이터를 압축하는 단계를 더 포함하는 방법.
  7. 제1항에 있어서,
    상기 메시지들을 수신하는 단계는 클라이언트 동기화 어댑터로부터 메시지들을 수신하는 단계를 포함하고,
    상기 방법은,
    상기 제1 프로토콜에 따라 상기 클라이언트 동기화 어댑터로의 응답을 생성하는 단계; 및
    상기 제1 네트워크 트랜스포트 메커니즘을 통해 상기 클라이언트 동기화 어댑터로의 응답을 송신하는 단계
    를 더 포함하는 방법.
  8. 제1항에 있어서,
    상기 웹 트랜스포트 메커니즘을 통해 상기 동기화 엔드포인트로부터 동기화될 추가의 데이터를 수신하는 단계;
    상기 제1 프로토콜에 따라 상기 제1 네트워크 트랜스포트 메커니즘을 통해 송신하기 위해 상기 추가의 데이터를 포함하는 메시지들을 생성하는 단계; 및
    상기 제1 네트워크 트랜스포트 메커니즘을 통해 상기 동기화될 추가의 데이터를 포함하는 메시지들을 송신하는 단계
    를 더 포함하는 방법.
  9. 제8항에 있어서,
    상기 추가의 데이터를 포함하는 메시지들을 생성하기 전에, 상기 추가의 데이터를 압축하는 단계를 더 포함하는 방법.
  10. 제9항에 있어서,
    상기 동기화될 추가의 데이터를 수신하는 단계는, 복수의 상이한 동기화 엔드포인트로부터의 동기화를 위해 웹 트랜스포트 메커니즘을 통해 데이터를 송신하는 동기화 웹 서비스로부터 상기 추가의 데이터를 수신하는 단계를 포함하는 방법.
  11. 복수의 상이한 동기화 엔드포인트 간에서 데이터를 동기화하기 위한 동기화 시스템으로서,
    제1 프로토콜에 따라 제1 트랜스포트 메커니즘을 통해, 동기화될 데이터를 포함하는 메시지들을 수신하도록 구성된 제1 모바일 장치; 및
    상기 제1 프로토콜과는 다른 제2 프로토콜에 따라, 웹 트랜스포트 메커니즘을 통한 송신을 위해, 동기화될 데이터를 포함하는 동기화 피드를 생성하고, 상기 웹 트랜스포트 메커니즘을 통해 상기 동기화 피드를 송신함으로써 상기 동기화 피드를 복수의 상이한 동기화 엔드포인트에 게시하도록 구성된 게이트웨이 컴포넌트
    를 포함하는 동기화 시스템.
  12. 제11항에 있어서,
    애플리케이션으로부터 동기화될 데이터를 수신하고, 상기 제1 트랜스포트 메커니즘을 통한 송신을 위해 메시지들을 생성하도록 구성된 동기화 어댑터를 더 포함하는 동기화 시스템.
  13. 제12항에 있어서,
    상기 동기화 어댑터에 연결되고, 상기 메시지들을 상기 제1 트랜스포트 메커니즘을 통해 송신하도록 구성된 제2 모바일 장치를 더 포함하는 동기화 시스템.
  14. 제13항에 있어서,
    상기 제1 트랜스포트 메커니즘은 단문 메시지 서비스(small message service) 트랜스포트 메커니즘을 포함하는 동기화 시스템.
  15. 제14항에 있어서,
    상기 제1 모바일 장치 및 상기 제2 모바일 장치는 제1 셀룰러 전화기 및 제2 셀룰러 전화기를 포함하는 동기화 시스템.
  16. 제15항에 있어서,
    상기 제1 셀룰러 전화기는 상기 게이트웨이 컴포넌트를 포함하는 동기화 시스템.
  17. 제16항에 있어서,
    상기 제2 셀룰러 전화기는 상기 동기화 어댑터를 포함하는 동기화 시스템.
  18. 제11항에 있어서,
    상기 게이트웨이에 연결되고, 상기 동기화 엔드포인트들에 상기 동기화 피드를 게시하도록 구성된 웹 서비스 컴포넌트를 더 포함하는 동기화 시스템.
  19. 복수의 애플리케이션 간에서 데이터를 동기화하는 방법으로서,
    제1 애플리케이션으로부터 동기화될 데이터를 수신하는 단계;
    상기 데이터를, 단문 메시지 서비스(SMS) 트랜스포트 메커니즘을 통한 송신을 위한 메시지들로 어셈블링하는 단계;
    SMS 프로토콜에 따라 메시지들을 트랜스포트하는 SMS 트랜스포트 메커니즘을 통해, 상기 제1 애플리케이션으로부터 동기화될 데이터를 포함하는 메시지들을 수신하는 단계;
    상기 동기화될 데이터를, 하이퍼텍스트 트랜스퍼 프로토콜을 이용하여 데이터를 트랜스포트하는 웹 트랜스포트 메커니즘을 통한 송신을 위해 웹 피드 포맷에 따른 동기화 피드로 어셈블링하는 단계; 및
    상기 동기화 피드를 상기 웹 트랜스포트 메커니즘을 통해 제2 애플리케이션을 포함하는 동기화 엔드포인트에 게시하는 단계
    를 포함하는 방법.
  20. 제19항에 있어서,
    상기 메시지들을 상기 단문 메시지 서비스 트랜스포트 메커니즘을 통해 송신하기 전에, 상기 동기화될 데이터를 압축하는 단계를 더 포함하는 방법.
KR1020107028410A 2008-06-25 2009-06-25 상이한 네트워크들을 통해 데이터를 동기화하기 위한 어댑터 KR101634822B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/145,509 2008-06-25
US12/145,509 US8515467B2 (en) 2008-06-25 2008-06-25 Adapter for synchronizing data over different networks

Publications (2)

Publication Number Publication Date
KR20110034598A true KR20110034598A (ko) 2011-04-05
KR101634822B1 KR101634822B1 (ko) 2016-07-08

Family

ID=41445311

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020107028410A KR101634822B1 (ko) 2008-06-25 2009-06-25 상이한 네트워크들을 통해 데이터를 동기화하기 위한 어댑터

Country Status (6)

Country Link
US (1) US8515467B2 (ko)
EP (1) EP2291952A4 (ko)
JP (1) JP5469166B2 (ko)
KR (1) KR101634822B1 (ko)
CN (1) CN102077517A (ko)
WO (1) WO2009158535A2 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BR112017007998A2 (pt) * 2014-11-19 2017-12-19 Lantiq Beteiligungs Gmbh & Co Kg interligação de camadas dependentes do meio físico
WO2017210670A1 (en) * 2016-06-03 2017-12-07 The Johns Hopkins University Systems and methods for messaging in medical system environments
CN107566499B (zh) * 2017-09-08 2020-12-29 创新先进技术有限公司 数据同步的方法、装置和系统
CN114338797B (zh) * 2021-11-12 2024-03-19 上海铂铸信息科技有限公司 适于多版本时序数据传输和重放的系统及方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000099384A (ja) * 1998-09-17 2000-04-07 Nippon Telegr & Teleph Corp <Ntt> 異なる通信ネットワーク間の高セキュリティのデータ連携方法及び異なる通信ネットワーク間における高セキュリティのデータ連携システム及びデータ連携プログラムを格納した記憶媒体
US20060155698A1 (en) * 2004-12-28 2006-07-13 Vayssiere Julien J System and method for accessing RSS feeds
JP2007516629A (ja) * 2003-06-20 2007-06-21 トムソン ライセンシング さまざまなタイプの端末装置間でコンタクトデータ、例えば電話番号を同期化するための端末装置およびサーバ
WO2007142765A1 (en) * 2006-06-01 2007-12-13 Microsoft Corporation Auto-subscribing to syndication feeds using contact lists

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6246688B1 (en) * 1999-01-29 2001-06-12 International Business Machines Corp. Method and system for using a cellular phone as a network gateway in an automotive network
US6424841B1 (en) 1999-02-18 2002-07-23 Openwave Systems Inc. Short message service with improved utilization of available bandwidth
US20020087408A1 (en) * 1999-06-25 2002-07-04 Burnett Jonathan Robert System for providing information to intending consumers
US6718178B1 (en) * 1999-10-01 2004-04-06 Sprint Spectrum, L.P. Automatic in-line messaging system
WO2001037592A1 (de) 1999-11-17 2001-05-25 Swisscom Mobile Ag Verfahren und system zur ausarbeitung und übermittlung von sms-meldungen in einem mobilfunknetz
US6961330B1 (en) * 2000-06-23 2005-11-01 Comverse Ltd. Web development and deployment using SMS and USSD
US7245928B2 (en) 2000-10-27 2007-07-17 Cellemetry, Llc Method and system for improved short message services
ITTO20010296A1 (it) 2001-03-30 2002-09-30 Telecom Italia Lab Spa Metodo per la trasmissione di dati di localizzazione di apparati mobli per telefonia cellulare.
US7139259B2 (en) * 2002-07-09 2006-11-21 Qualcomm, Inc. Method and apparatus for conveying reports for SMS messages in wireless communication systems
US7376091B1 (en) * 2002-07-22 2008-05-20 Sprint Spectrum L.P. Wireless bridge for interfacing an 802.11 network with a cellular network
CN1274125C (zh) * 2002-11-12 2006-09-06 华为技术有限公司 终端与增值业务提供商应用之间多媒体消息转发的方法
CN1249965C (zh) * 2002-11-12 2006-04-05 华为技术有限公司 多媒体消息在不同多媒体消息中心之间转发的方法
US20040185883A1 (en) 2003-03-04 2004-09-23 Jason Rukman System and method for threading short message service (SMS) messages with multimedia messaging service (MMS) messages
US20050037741A1 (en) 2003-08-12 2005-02-17 Siemens Information And Communication Networks, Inc. System and method for telephonic presence via e-mail and short message service
EP2285076B1 (en) 2003-08-20 2013-03-27 Accenture Global Services Limited Methods and systems for providing information to mobile users over limited bandwidth
GB0422921D0 (en) 2004-10-15 2004-11-17 Clark David Apparatus and method for monitoring the usage status of an asset
US7729363B2 (en) * 2005-01-24 2010-06-01 Research In Motion Limited System and method for managing communication for component applications
CN101164291A (zh) * 2005-03-02 2008-04-16 高通股份有限公司 用于提供移动无线存取点的方法和系统
KR100663421B1 (ko) * 2005-04-19 2007-01-02 삼성전자주식회사 Sms 메시지 교환 시스템 및 방법
US7684815B2 (en) * 2005-04-21 2010-03-23 Microsoft Corporation Implicit group formation around feed content for mobile devices
US20070198633A1 (en) * 2005-07-20 2007-08-23 Q2 Labs, Llc System and method for delivery of PC content through a server based relay system using really simple syndication
EP1910923A2 (en) 2005-07-25 2008-04-16 Hercules Software, LLC Direct execution virtual machine
US20070116223A1 (en) * 2005-10-28 2007-05-24 Burke Paul M Telephony and web services coordination
US20070105528A1 (en) * 2005-11-10 2007-05-10 Juergen Haas System and method for communicating emergency data
WO2007063408A2 (en) * 2005-12-02 2007-06-07 Nokia Corporation System and method for using web syndication protocols as an out-of-band upnp service discovery system
JP4652994B2 (ja) * 2006-03-14 2011-03-16 オリンパスメディカルシステムズ株式会社 変換アダプタ、医療システム、及び通信方法。
US20080021963A1 (en) * 2006-07-21 2008-01-24 At&T Corp. Content dissemination using a multi-protocol converter

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000099384A (ja) * 1998-09-17 2000-04-07 Nippon Telegr & Teleph Corp <Ntt> 異なる通信ネットワーク間の高セキュリティのデータ連携方法及び異なる通信ネットワーク間における高セキュリティのデータ連携システム及びデータ連携プログラムを格納した記憶媒体
JP2007516629A (ja) * 2003-06-20 2007-06-21 トムソン ライセンシング さまざまなタイプの端末装置間でコンタクトデータ、例えば電話番号を同期化するための端末装置およびサーバ
US20060155698A1 (en) * 2004-12-28 2006-07-13 Vayssiere Julien J System and method for accessing RSS feeds
WO2007142765A1 (en) * 2006-06-01 2007-12-13 Microsoft Corporation Auto-subscribing to syndication feeds using contact lists

Also Published As

Publication number Publication date
KR101634822B1 (ko) 2016-07-08
US20090325610A1 (en) 2009-12-31
JP5469166B2 (ja) 2014-04-09
US8515467B2 (en) 2013-08-20
EP2291952A2 (en) 2011-03-09
WO2009158535A2 (en) 2009-12-30
CN102077517A (zh) 2011-05-25
EP2291952A4 (en) 2012-05-30
WO2009158535A3 (en) 2010-03-11
JP2011527783A (ja) 2011-11-04

Similar Documents

Publication Publication Date Title
CN110609872B (zh) 用于同步节点数据的方法和装置
KR101037233B1 (ko) 클라이언트 디바이스에 동기화 통지를 제공하기 위한 방법
RU2471227C2 (ru) Содействуемая обслуживающим узлом и одноранговая синхронизация
EP1915670B1 (en) Partial item change tracking and synchronization
EP2574004B1 (en) Method, apparatus and system for improving synchronization efficiency of really simple syndication service
US8825749B2 (en) Method of tracking offline user interaction in a rendered document on a mobile device
CN111711663A (zh) 发布及订阅服务的处理方法、装置及电子设备
US7870412B2 (en) Passing client or server instructions via synchronized data objects
KR20080014747A (ko) 수정가능 문서를 다수의 클라이언트들과 동기화시키는방법, 시스템 및 컴퓨터 판독가능 매체
CN101316226A (zh) 一种获取资源的方法、装置及系统
CN108093015B (zh) 文件传输系统
JP5936755B2 (ja) ページ化更新プロトコルの方法および装置
KR101634822B1 (ko) 상이한 네트워크들을 통해 데이터를 동기화하기 위한 어댑터
US20140013007A1 (en) Access log management method
CN102223405A (zh) 一种媒体类型分析的方法、系统及媒体服务器
CN112688793B (zh) 数据包获取方法、装置及电子设备
CN113553511A (zh) 用户实时推荐方法、装置、系统、设备及可读存储介质
CN111460020A (zh) 用于解析消息的方法、装置、电子设备和介质
CN111541667A (zh) 一种系统间消息通信的方法、设备、存储介质
US11860951B2 (en) Optimization of a file format
CN113726827A (zh) 基于分布式集群的数据包处理方法和装置
CN111694869A (zh) 用于查询数据的方法和装置
CN116303988A (zh) 查询请求处理方法、装置、电子设备、介质和程序产品
CN116701532A (zh) 数据同步方法、装置、计算机设备和存储介质
CN116527614A (zh) 接龙消息的显示方法、装置、设备及介质

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
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: 20190530

Year of fee payment: 4