KR101037233B1 - 클라이언트 디바이스에 동기화 통지를 제공하기 위한 방법 - Google Patents

클라이언트 디바이스에 동기화 통지를 제공하기 위한 방법 Download PDF

Info

Publication number
KR101037233B1
KR101037233B1 KR1020110022060A KR20110022060A KR101037233B1 KR 101037233 B1 KR101037233 B1 KR 101037233B1 KR 1020110022060 A KR1020110022060 A KR 1020110022060A KR 20110022060 A KR20110022060 A KR 20110022060A KR 101037233 B1 KR101037233 B1 KR 101037233B1
Authority
KR
South Korea
Prior art keywords
notification
client device
synchronization
sending
synchronization notification
Prior art date
Application number
KR1020110022060A
Other languages
English (en)
Other versions
KR20110033168A (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 KR20110033168A publication Critical patent/KR20110033168A/ko
Application granted granted Critical
Publication of KR101037233B1 publication Critical patent/KR101037233B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/275Synchronous replication
    • 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
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/12Arrangements for remote connection or disconnection of substations or of equipment thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/224Monitoring or handling of messages providing notification on incoming messages, e.g. pushed notifications of received messages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/02Speed or phase control by the received code signals, the signals containing no special synchronisation information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/58Message adaptation for wireless communication

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (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)
  • Information Transfer Between Computers (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

동기화 통지들을 클라이언트 디바이스에 제공하기 위한 방법이 기재된다. 본 발명은 디바이스 상태 정보를 관리한다. 관심의 이벤트가 모바일 디바이스에 발생했을 때, 서버는 디바이스가 동기화가 촉구될 필요가 있는지의 여부를 판정한다. 관심의 이벤트가 서버 관점에서 디바이스를 더 이상 업데이트하여 랜더링하지 않는지의 여부, 또는 관심의 이벤트가 발생하고 디바이스는 특정 시간 동안 서버와 연락하지 않았는지의 여부를 지시하는 파라미터는 그 디바이스에 최종 알려진 파라미터와 비교된다. 파라미터가 매치하고 현재 시간이 타임아웃 (timeout) 값 보다 더 크면, 동기화 통지가 전송된다. 파라미터들이 매치하지 않으면, 동기화 통지가 전송된다. 방법은 각 관심의 이벤트마다 반복된다.

Description

클라이언트 디바이스에 동기화 통지를 제공하기 위한 방법 {METHOD TO PROVIDE SYNC NOTIFICATIONS TO CLIENT DEVICES}
본 발명은 클라이언트 디바이스에 동기화 통지를 제공하기 위한 방법에 관한 것이다.
본 발명은 일반적으로 컴퓨터 기반 통지 시스템들에 관한 것이고, 더 구체적으로, 사용자에게 사용자 관심의 이벤트들을 통지하는 방법 및 시스템에 관한 것이다.
랩탑 컴퓨터들, 개인 디지탈 비서 (personal digital assistant) 디바이스들, 셀 폰들 등과 같은, 모바일 디바이스들의 개발 및 디플로이먼트 (deployment)와 인프라구조들에 의해, 소비자들 및 기업들은 실제 모바일 컴퓨팅, 공동 작업, 및 정보 교환의 잇점들을 점점 더 깨달아 가고 있다. 비지니스 여행자들은 더 이상 이메일 메세지들을 검색수취하고, 파일들을 다운로드하고, 또는 정보 교환을 위해, 여러 종류의 케이블들을 갖고 다니고 통신망에 단순히 연결하기 위해 이용가능한 데이타 포트(port)를 끝없이 찾아 다니지 않아도 된다. 회사들 및 홈(home) 소비자들은 더 이상 벽에 설치된 이써넷(Ethernet) 잭들의 위치에 의해 그들의 통신망들을 액세스할 수 있는 장소에 구애받지 않는다. 모임 참가자들과 친구들의 그룹들은 이제 그들 간에 케이블들을 연결하거나 어떤 기존의 통신망에 로그인하지 않고 그들 자체의 목적에 부합하는 통신망들을 형성할 수 있다.
모바일 디바이스들과 함께, 인터넷 상에서 전송되는 전자 메일("이메일") 및 인스턴트 메세징(instant messaging)과 같은 전자 메세징은, 사회에서 매우 빨리 퍼베이시브(pervasive)해지고 있을 뿐만 아니라, 그것의 약식(informality), 사용의 편리성, 및 저렴한 비용으로 인해, 다수의 개인들 및 조직들을 위한 선호된 통신 방법이 되고 있다. 그러나, 전자 메세징은 모바일 디바이스들의 사용자들이 메세지들을 수신하기 위해 그들이 연결되거나 가입한 무선망들의 범위 내에 있을 것을 요구한다. 사용자들이 범위 밖에 있다가 그 통신망으로 다시 돌아왔을 때, 또는 처음 로그인 했을 때, 사용자들은 종종 기다리는 메세지들이 있는지 여부를 알고 싶어 한다. 추가로, 다수의 사용자들은 특정 메세지의 도착, 이벤트의 뉴스(예를 들어, 캘랜더 업데이트(calendar update)) 등과 같은 관심 이벤트들이 발생했을 때 통지되어, 사용자들이 통신망 서버에 접속해서 그 메세지/이벤트/기타를 검색수취할 수 있도록 하는 것을 원한다.
사용자가 서버와 동기화(sync)가 유지되도록 보장하는 가장 쉬운 방법은 관심 이벤트가 서버에서 발생할 때마다 클라이언트들에게 동기화 통지(sync notification(예를 들어, 핑(ping)))를 전송하는 것이다. 그 다음, 클라이언트는 그 데이타를 검색수취하기 위해 서버에 다시 접속한다. 이 방법은 다수의 통지들을 하게 하고, 추가 서버 CPU 사이클, 통신망 대역 및 클라이언트의 배터리 시간을 소비시킨다. 통신망 사용자들이 시간대, 경과 시간, 및/또는 대역 사용에 기초해서 비용이 청구되는 오늘날의 통신망 환경들에서, 통지들은 사용자들의 비용을 증가시킬 수 있다. 예를 들어, 통지들이 SMS (Short Messaging Service)을 통해 배달되면, 이 접근법은 사용자의 월 사용료를 크게 증가시키고 캐리어 리소스들( carrier resources)을 낭비할 수 있다.
산업계에서는 통지 비용을 감소시키기 위해 몇 가지 단계들을 채택했다. 일부 감소책들은 통지를 전송하기 전에 특정 시간이 경과하거나 특정 수의 항목들이 누적되도록 기다리는 단계를 포함한다. 그러나, 모든 그런 접근법들은 있을 필요가 없는 지연을 시스템에게 유발시킨다. 이러한 접근법들은 사용자가 바로 받을 수 있을 때도 5분이나 10분, 또는 그 이상을 기다리게 만든다.
본 발명은, 서버 관점에서 모바일 디바이스가 업데이트 되었는지 여부를 표시하는 모바일 디바이스 상태 정보를 관리한다. 모바일 디바이스에 관심있을 이벤트가 발생할 때, 서버는 저장된 상태를 참조해서 디바이스가 동기화를 촉구해야 할지의 여부를 판정한다.
서버는 관심 이벤트가 도착했다는 통지를 수신한다. 관심 이벤트가 서버 관점에서 디바이스를 더 이상 업데이트시키지 않았는지 여부, 또는 관심 이벤트가 발생했고 서버가 특정 시간 동안 디바이스에 의해 연락되지 않았는지 여부를 표시하는 파라미터(즉, syncGUID)는 디바이스에게 그 파라미터의 최종으로 알려진 값과 비교된다. 파라미터는 사용자/디바이스를 위해 설정 파일에 저장된다.
파라미터가 메모리에 저장된 파라미터의 최종 알려진 값과 매치하고, 현재 시간이 타임아웃 값 보다 더 크면, 동기화 통지가 전송되고 새 타임아웃 값이 세트된다. 동기화 통지가 SMTP (simple mail transfer protocol) 프로토콜을 사용해서 전송될 수 있다. 파라미터가 최종 알려진 값과 일치하지 않으면, 그 최종 알려진 값은 그 파라미터 값으로 세트되고 동기화 통지가 전송된다. 타임아웃 값은 또한 새 값으로 세트된다.
타임아웃을 위한 새 값은 현재 시간과 미리 설정된 값을 합한 것과 같도록 세트된다. 미리 설정된 값은 서버에 의해 세트된 파라미터이고, 일 실시예에서, 통신망의 신뢰 레벨에 기초해서 통상적으로 세트되고, 통지를 디바이스에게 전송하는 것을 재시도하기 위해 얼마나 기다려야 하는지를 나타낸다. 그 값은 임의의 값에 세트될 수 있다. 1 시간 또는 2 시간의 값은 다수의 통신망들에게 충분하며, 15 분의 값이 다른 통신망들에게 필요된다.
본 발명의 추가 특징들 및 장점들은 첨부 도면들을 참조해서 진행되는 다음의 설명적 실시예들에 대한 상세한 기재로부터 명백해질 것이다.
본 발명은 사용자 디바이스가 서버와 동기화가 되지 않았으면 동기화 통지들을 통해 사용자에게 관심 이벤트들을 통지하는 프로세스를 제공한다. 본 발명은, 서버 관점에서 그 디바이스가 업데이트 되었는지 여부를 표시하는 모바일 디바이스의 상태 정보를 관리한다. 그 모바일 디바이스에 관심있는 이벤트가 발생할 때, 서버는 저장된 상태를 참조해서 그 디바이스가 동기화하도록 촉구해야 할 필요가 있는지의 여부를 판정한다. 모바일 디바이스는 서버가 그 디바이스는 동기화하기 위해 촉구되어야 한다고 판정하면 동기화되도록 촉구된다. 이 접근법을 사용해서, 사용자가 몇 시간 동안 그의 모바일 디바이스를 끄는 것과 같은 일반적 시나리오들은 클라이언트를 관리하기 위해 더욱 소수의 통지들을 요구할 것이다. 예를 들어, 사용자가 점심을 먹기 위해 나가는 동안 사용자는 몇 시간 동안 그의 모바일 디바이스를 끈다. 그 시간 동안, 그는 25 이메일들을 갖는다. 그가 그의 디바이스를 다시 가동하자마자, 그는 한 개 동기화 통지를 수신할 것이고, 그의 디바이스는 수 분 내에 업데이트될 것이다. 종래 통지 시스템들은 25 통지들을 전송하거나, 적어도 한 개 통지를 전송하기 전에 한 동안 기다릴 것이다.
본 발명은, 프로세서에 의해 실행되는, 프로그램 모듈들과 같은, 명령들을 사용해서, 셀 폰들, 핸드핼드 디바이스들, 무선 감시 디바이스들, 마이크로프로세서 기반 프로그램 가능한 소비자 전자제품들 등을 포함하는 다양한 타입들의 머신들을 채택하는 시스템에 구현될 수 있다. 일반적으로, 프로그램 모듈들은 특정 작업들을 수행하거나 특정 추상 데이타 타입들을 구현하는 루틴들, 객체들, 컴포넌트들, 데이타 구조들 등을 포함한다. "프로그램"이라는 용어는 한 개 이상의 프로그램 모듈들을 포함한다.
도 1은 본 발명이 구현된 컴퓨터 시스템의 예를 일반적으로 도시하는 블럭도이다.
도 2는 본 발명이 동작할 수 있는 환경의 예를 일반적으로 도시하는 블럭도이다.
도 3은 동기화 통지를 클라이언트에게 제공하는 프로세스를 도시하는 흐름도이다.
도 4는 도 2의 환경에서 도 3의 프로세스의 통신 흐름을 도시하는 블럭도이다.
참조 번호들이 해당 소자들을 가리키하는 도면들을 참조하면, 본 발명은 적절한 컴퓨팅 환경에서 구현되게 설명된다. 요구 사항은 아니지만, 본 발명은, 개인 컴퓨터에 의해 실행되는, 프로그램 모듈들과 같은, 컴퓨터 실행 가능 명령들의 일반 컨텍스트로 기재될 것이다. 일반적으로, 프로그램 모듈들은 특정 작업들을 수행하거나 특정 추상 데이타 타입들을 구현하는 루틴들, 프로그램들, 객체들, 컴포넌트들, 데이타 구조들 등을 포함한다. 더욱이, 그 기술의 숙련자들이라면, 본 발명이, 핸드핼드 디바이스들, 멀티 프로세서 시스템들, 마이크로프로세서 기반 또는 프로그램 가능한 소비자 전자 제품들, 통신망 PC들, 미니 컴퓨터들, 메인프레임 컴퓨터들 등을 포함하는, 기타 컴퓨터 시스템 구조들과 함께 실시될 수 있음을 이해할 것이다. 본 발명은, 작업들이 통신망을 통해 접속된 원격 프로세싱 디바이스들에 의해 수행되는 분산 컴퓨팅 환경들에서 또한 실시될 수 있다. 분산 컴퓨팅 환경에서, 프로그램 모듈들은 로컬 및 원격 메모리 스토리지 디바이스들 모두에 위치될 수 있다.
도 1은 본 발명의 일 실시예를 구현하기 위해 컴퓨팅 디바이스(100)의 예를 도시한다. 그것의 가장 기본 구조에서, 컴퓨팅 디바이스(100)는 적어도 프로세싱 유닛(102) 및 메모리(104)를 포함한다. 컴퓨팅 디바이스의 정확한 구조 및 타입에 의존해서, 메모리(104)는 휘발성(RAM과 같은), 비휘발성(ROM, 플래쉬 메모리 등과 같은), 또는 그 둘의 어떤 조합일 수 있다. 이 가장 기본 구조는 점선(106)으로 도 1에 도시된다. 추가로, 디바이스(100)는 또한 추가 특징들/기능을 갖는다. 예를 들어, 디바이스(100)는, 자기 또는 광 디스크들 또는 테입들을, 하지만 거기에 국한되지 않고, 포함하는 추가 스토리지(분리형 및/또는 비분리형)를 또한 포함할 것이다. 그런 추가 스토리지는 분리형 스토리지(108) 및 비분리형 스토리지(110)에 의해 도 1에 도시된다. 컴퓨터 스토리지 매체들은, 컴퓨터 판독 가능 명령들, 데이타 구조들, 프로그램 모듈들 또는 기타 데이타와 같은 정보 스토리지를 위한 임의의 방법 또는 기술로 구현된, 휘발성 및 비휘발성, 분리형 및 비분리형 매체들을 포함한다. 메모리(104), 분리형 스토리지(108), 및 비분리형 스토리지(110)는 모두 컴퓨터 스토리지 매체의 예들이다. 컴퓨터 스토리지 매체들은, RAM, ROM, EEPROM, 플래쉬 메모리 또는 기타 메모리 기술, CDROM, DVD, 또는 기타 광 스토리지, 자기 카세트들, 자기 테입, 자기 디스크 스토리지 또는 기타 자기 스토리지 디바이스들, 또는 원하는 정보를 저장하기 위해 사용될 수 있고 디바이스(100)에 의해 액세스될 수 있는 임의의 기타 매체를, 하지만 거기에 국한되지 않고, 포함한다. 임의의 그런 컴퓨터 스토리지 매체들은 디바이스(100)의 일부일 수 있다.
디바이스(100)는 또한 디바이스가 다른 디바이스들과 통신하도록 하는 한 개 이상의 통신 연결들(112)을 포함한다. 통신 연결들(112)은 통신 매체들의 한 예이다. 통신 매체들은 통상적으로 컴퓨터 판독 가능 명령들, 데이타 구조들, 프로그램 모듈들, 또는 캐리어 웨이브(carrier wave)나 기타 트랜스포트 메카니즘(transport mechanism)과 같은 변조 데이타 신호의 기타 데이타를 구현하고, 임의의 정보 전달 매체들을 포함한다. "변조 데이타 신호"라는 용어는 신호에 정보를 인코딩하는 방식에서 한 개 이상의 그 자체의 특성들을 세트하거나 변경하는 신호를 의미한다. 예를 들어, 하지만 거기에 국한되지 않고, 통신 매체들은 유선망 또는 직접 유선 연결과 같은 유선 매체들, 및 음향, RF, 적외선, 및 기타 무선 매체들과 같은 무선 매체들을 포함한다. 상술된 바와 같이, 본 명세서에서 사용되는 것처럼 컴퓨터 판독 가능 매체들이라는 용어는 스토리지 매체들 및 통신 매체들 모두를 포함한다.
디바이스(100)는 또한 키보드, 마우스, 펜, 음성 입력 디바이스, 터치(touch) 입력 디바이스 등과 같은 한 개 이상의 입력 디바이스들(114)을 갖는다. 디스플래이, 스피커들, 프린터 등과 같은 한 개 이상의 출력 디바이스들(116)은 또한 포함될 수 있다. 모든 이러한 디바이스들은 그 기술 분야에 잘 알려졌고, 본 명세서에서 더 길게 기재할 필요가 없다.
디바이스(100)는 모바일 디바이스로서 구성된다. 디바이스(100)가 모바일 디바이스로 구성되는 가운데, 그 기술에 숙련된 자들이라면, 그 디바이스는 모바일 디바이스일 필요는 없음을 인식할 것이다; 그것은 데스크탑 디바이스일 수도 있다. 디바이스(100)는 배터리 팩(battery pack), 연료 셀(fuel cell) 등과 같은, 포터블(portable) 전원 소스(120)가 제공된다. 전원 소스(120)는, 유선망에 접속하기 위한 AC 어뎁터 또는 전원 도킹 크래들(powered docking cradle)과 같은, 빌트-인(built-in) 배터리들/연료 셀을 오버라이드(override) 또는 재충전하는 외부 전원 소스를 더 포함할 것이다. 모바일 디바이스(100)는 상이한 타입들의 무선망들과 무선 통신하기 위한 통신망 인터페이스 카드(NIC)를 더 포함할 수 있다. NIC는 적절한 주파수 채널을 통해 무선으로 데이타를 전송하기 위한 안테나에 연결되는 전송기를 포함한다. 수신기는 또한, 디바이스가 통신하고 있는 통신망들로부터 무선 전송된 통신 패킷들을 수신하는 안테나에 연결된다. 통신망 인터페이스 모듈 카드 및 안테나는 통신 연결들(112)의 일부이다. 통신망 인터페이스 모듈의 인터페이스 타입 및 물리 구조는 본 발명에 중요하지 않다. 예를 들어, 인터페이스 타입은 PCI 또는 다른 타입일 수 있고, 통신망 인터페이스 모듈은 분리된 카드에 있을 필요가 없다. 그것은 컴퓨터의 마더보드(motherboard)에 포함되거나 또는 미래에는 프로세서 내에 구성되는 것도 가능할 것이다.
무선망 인터페이스 모듈을 통해, 모바일 디바이스(100)는 상이한 타입들의 무선망들과 통신할 수 있다. 예를 들어, 모바일 디바이스(100)는 액세스 포인트(access point)를 통해 인프라구조 통신망에 무선 연결될 수 있다. 모바일 디바이스(100)는 또한 기타 무선 디바이스들을 포함하는 에드혹(ad hoc) 통신망으로서 또한 참조될 수 있는 피어-투-피어(peer-to-peer) 통신망의 일부일 수 있다.
다음 설명에서, 본 발명은, 달리 지시되지 않는 한, 한 개 이상의 컴퓨터들에 의해 수행되는 작업들의 동작들 및 심볼릭 표현들을 참조해서 기재될 것이다. 그렇게, 때때로 컴퓨터 실행되는 것으로 언급되는 그런 동작들 및 작업들은 컴퓨터의 프로세싱 유닛에 의해 구조화된 형태로 데이타를 나타내는 전기 신호들을 조작(manipulation)하는 것을 포함함을 이해할 것이다. 그 기술의 숙련자들이 쉽게 이해할 수 있는 방식으로 컴퓨터 작업을 재구성하거나 그렇지 않으면 변경하는, 이 조작은 데이타를 변환하거나 컴퓨터의 메모리 시스템의 위치들에 데이타를 유지한다. 데이타가 유지되는 데이타 구조들은 데이타 포맷에 의해 정의된 특정 특성들을 갖는 메모리의 물리 위치들이다. 그러나, 본 발명이 앞의 컨텍스트로 기재되는 가운데, 그 기술의 숙련자들이라면 본 명세서에 기재된 다양한 동작들 및 작업이 또한 하드웨어로 구현 가능할 수 있음을 이해할 것처럼, 그것은 제한적일 의도는 아니다.
본 발명이 동작하는 환경의 일 예(200)가 도 2에 도시된다. 익스체인지(Exchange) 이메일 서버(202)는 본 발명을 기재하기 위해 사용될 것이다. 익스체인지는 마이크로소프트사에 의해 생산된 이메일 서버이다. 익스체인지가 사용되는 가운데, 본 발명은 인스턴트 메세징 서버들을 포함하는 기타 메세징 서버들과 함께 사용될 수 있다. 익스체인지 서버(202)는 유선망(208) 상의 디바이스들(204,206), 및 무선망(218) 범위 내에서 디바이스들(210-216)과 통신한다. 도 2에 도시된 바와 같이, 모바일 디바이스(216)는 통신망(218)의 범위에 있지 않다.
도 3을 참조하면, 서버(202)는 사용자를 위한 관심 이벤트가 발생했을 때 감지한다. 관심 이벤트는 이메일 도착, 새로운 또는 편집된 캘랜더 항목, 질의에 대한 답신, 트래픽(traffic) 업데이트, 인스턴트 메세징 등일 수 있다. 디바이스/사용자 설정 파일은 사용자를 위해 검색수취된다(단계(300)). 디바이스/사용자 설정 파일은 전화 번호(적용가능하다면), 사용자 이름, 및 사용자에 대한 기타 사항들을 갖는다. 디바이스/설정 파일에서 한 파라미터는 디바이스 상태 표현을 제공하고, 관심 이벤트가 서버 관점에서 더 이상 디바이스를 업데이트하지 않는지의 여부, 또는 관심 이벤트가 발생하고 서버가 특정 시간 동안 디바이스에 의해 연락되지 않았는지의 여부의 표시를 제공한다.
디바이스가, 서버가 아는 한, 서버와 완전히 동기화되었을 때(아래 기술된 바와 같이 바로 동기화 통지를 트리거링(triggering) 이벤트의 가능한 예를 제외함) 업데이트된다. 디바이스는 동기화 통지가 디바이스에 전송되어 서버와 동기화함을 알릴 때 동기화가 임박한 것이지만, 디바이스는 아직 동기화를 수행한 것은 아니다. 주로 스푸핑/리플레이(spoofing/replay) 어택들을 방지하기 위해 syncGUID라고 불리우는 파라미터가 사용될 수 있다. syncGUID는 동일 세만틱을 갖기 위해 발생한다. 디바이스에 대한 syncGUID는 서버와의 각각의 성공적인 디바이스 동기화 후에 업데이트된다. 디바이스/사용자 설정 파일은 syncGUID 또는 syncGUID로의 링크를 포함한다. 본 명세서에 사용된 바와 같이, syncGUID는 디바이스 상태 표현을 제공하는 파라미터를 표시하기 위해 사용될 것이고, 관심 이벤트가 서버 관점에서 디바이스를 더 이상 업데이트시키지 않았는지의 여부, 또는 관심 이벤트가 발생하고 서버가 특정 시간 동안 디바이스에 의해 연락되지 않았는지의 여부를 표시한다.
서버는, 설명 목적으로 trackingGUID이라고 명칭된, 각 디바이스에 대해 "최종 알려진" syncGUID들의 표를 메모리에 관리한다. syncGUID가, 주어진 디바이스에 대해 trackingGUID와 매치하면, 디바이스가 최종 이벤트/통지가 프로세스된 이후 수행하지 않았다고 결론지을 수 있다. 이것은, 디바이스가 임박한 동기화 상태에 있음을 의미한다. GUID들이 매치하지 않으면, 디바이스가 바로 통지를 트리거링한 이벤트 이전의 업데이트 상태에 있음을 나타내는, 디바이스가 최종 이벤트/통지가 프로세스된 이후 동기화가 수행되었다고 결론지을 수 있다.
서버는 사용자가 그 메세지를 검색수취했는지 여부를 보기 위해 체크한다. 사용자가 그 메세지를 검색수취했으면, 동기화 통지는 전송되지 않는다. 사용자가 그 메세지를 검색수취하지 않았으면, 다음 단계들이 수행된다. 사용자 설정 파일에 리스트된 각각의 디바이스에 대해, trackingGUID가 syncGUID에 비교된다. trackingGUID가 syncGUID와 동일하지 않으면, trackingGUID는 syncGUID에 동일하게 세트된다(단계(302)). 타임아웃 값은 현재 시간과 X 분을 합한 시간에 세트된다(단계(304)). X 분은 서버에 의해 세트되는 파라미터이고, 일 실시예에서, 통신망(208,218)의 신뢰 레벨에 기초해서 통상적으로 세트된다. 예를 들어, 통신망이 신뢰적이지 않고 메세지들이 드랍핑(dropping)되면, X 파라미터는 얼마나 오랫 동안 디바이스에 통지 전송을 재시도하기 위해 기다려야 하는가를 나타낸다. X 파라미터의 값은 임의의 값으로 세트될 수 있다. 1 내지 2 시간의 값은 다수의 통신망들에게 충분하고, 15 분의 값은 다른 통신망들을 위해 필요된다. 일단 타임아웃 값이 세트되면, 동기화 통지는 디바이스에 전송된다(스텝(306)).
trackingGUID가 syncGUID와 동일하면, 현재 시간은 타임아웃 시간과 비교된다. 시간이 타임아웃 시간보다 적으면, 동기화 통지는 전송되지 않는다. 시간이 타임아웃 값보다 크면, 동기화 통지는 전송되고(단계(308)), 새 타임아웃 값이 세트된다(단계(310)). 타임아웃 값은 상술된 바와 같이 현재 시간과 X 분의 합으로 세트된다. 도 3은 시간이 타임아웃 값보다 적으면 다른 이벤트가 발생하기를 기다리는 것을 나타내는 가운데, 다른 경우는, 시간이 타임아웃 값보다 같거나 클 때 사용자가 메세지를 검색수취했는지를 판정하는 것이고, 그 다음, 사용자가 인터림(interim) 시간 동안 메세지를 검색수취하지 않았으면 단계들(308,310)을 수행한다.
도 4를 참조하면, 프로세스의 구현이 도 2의 익스체인지(Exchange) 서버(202) 및 디바이스(216)를 사용해서 도시된다. 이메일과 같은 관심 이벤트는 서버(202)에 도착하고 스토어(store)(402)에 저장된다. 스토어는 이벤트를 지원하는 임의의 정보 스토어를 나타낸다. 이벤트의 도착은 모듈(406)에 전송되는 트리거(404)를 생성한다. 모듈(406)은 트리거(404)를 수신한 후에 단계들(300 내지 310)의 프로세스를 수행한다. 적용가능하면, 동기화 통지(408)는 SMS를 통해 디바이스(216)으로 전송된다. 단계들(300 내지 310)의 프로세스를 따르면, 통지들(408)은 디바이스(216)가 동기화될 때까지 디바이스(216)에 전송된다. 익스체인지(Exchange) 서버(202)는, 디바이스들이(예를 들어, 포켓 PC들 및 전화들) 디바이스들 및 모듈(406)이 데이타를 전송하고 검색수취하기 위해 읽고 쓰는 스토어(store)(402)로부터 데이타를 검색수취하기 위해 통신하는 에어 동기화 프로토콜(air sync protocol)(410)을 갖는다. 일단 디바이스(216)가 라인(412)에 의해 나타낸 것처럼 서버와 동기화하면, 에어 동기화 프로토콜은 라인(414)에 의해 나타낸 것처럼 디바이스/사용자 설정 파일에 syncGUID를 업데이트한다.
동기화 통지 타입은 텍스트 메세지이거나, 디바이스 타입에 기초할 수 있다. 디바이스가 이미지 랜더링(image rendering)을 지원하면 동기화 통지는 그래픽 이미지 또는 텍스트 이미지의 형태를 일 수 있고, 단지 텍스트 랜더링만 지원하는 디바이스는 단지 텍스트 기반의 동기화 통지들을 수신할 것이다. 예를 들어, 관심 이벤트가 사용자 캘런더의 매일 써머리(summary)이면, 그 써머리의 그래픽 이미지는 디바이스가 그래픽 랜더링을 지원하면 전송된다. 텍스트 써머리는 디바이스가 텍스트 랜더링만을 지원하면 전송된다.
일 실시예에서, 사용자 세트가능한 필터들은 언제 동기화 통지가 전송되는지를 결정하기 위해 사용된다. 이런 필터들은 특정 타입들의 통지들을 즉시 전송하고, 다음 타임아웃 이벤트 이후에 다른 타입들의 통지들을 전송하고, 비지니스 시간 동안에만 또는 오프(off) 시간 동안에만 통지들을 전송하는 등을 위해 셋업될 수 있다. 모듈(406)은 필터 셋팅에 따라 동기화 통지들을 전송한다. 필터 셋팅은 디바이스/사용자 설정 파일 또는 분리된 파일에서 저장될 수 있다.
앞에서 디바이스에 동기화 통지들을 제공하는 방법이 기재된 것을 볼 수 있다. 본 발명은 디바이스 상태 정보를 관리한다. 관심 이벤트가 모바일 디바이스에 대해 발생할 때, 서버는 디바이스가 동기화를 위해 촉구될 필요가 있는지 여부를 판정한다. 디바이스는 서버가 디바이스는 동기화가 촉구될 필요가 있다고 판정하면 동기화가 촉구된다. 이 방법은 종래 시스템들보다 통신망 리소스들의 더욱 효율적 사용을 하게 하고, 시스템에 추가 지연을 초래하지 않고 더 낮은 최종 사용자 비용을 제공한다.
본 발명의 원칙들이 적용될 수 있는 다수의 가능한 실시예들의 관점에서, 도면들에 대해 본 명세서에서 기재된 실시예는 설명을 위한 것일 뿐이고 본 발명의 범위를 제한하는 것으로 받아들여져서는 안됨을 인식해야 한다. 예를 들어, 그 기술의 숙련자들이라면 소프트웨어에서 나타난 설명적 실시예들의 소자들이 하드웨어에서 구현될 수 있고, 그 반대도 가능하며, 설명된 실시예는 본 발명의 취지에서 벗어나지 않고 배치 및 상세성에서 수정될 수 있다. 그러므로, 본 명세서에서 기재된 바와 같이 본 발명은 다음의 청구범위와 그것의 임의의 동격들의 범위 내에 올 수 있는 모든 그런 실시예들을 고려한다.
서버 관점에서 모바일 디바이스가 업데이트되었는지를 표시하는 모바일 디바이스 상태 정보를 메모리에 저장 관리하여, 모바일 디바이스 사용자에게 관심 있을 이벤트가 발생했을 시에, 서버는 저장된 모바일 디바이스 업데이트 상태를 참조해서 필요한 조건이 만족했을 때 동기화 통지를 보내고 동기화를 수행한다.

Claims (14)

  1. 클라이언트 디바이스에 동기화 통지(sync notification)를 제공하기 위한 방법으로서,
    관심 이벤트가 수신되었다는 통지를 서버에 의해 수신하는 단계;
    상기 서버가 상기 통지를 수신하는 것에 응답하여, 상기 클라이언트 디바이스의 상태를 판정하는 단계 - 상기 상태는 상기 클라이언트 디바이스가 미결 동기화 통지들을 갖고 있는지의 여부를 지시하며, 상기 상태는 trackingGUID 및 syncGUID에 기초하여 판정됨 -;
    상기 클라이언트 디바이스의 상태가 수신된 통지의 수신 전에 상기 클라이언트 디바이스가 미결 동기화 통지를 갖고 있지 않다는 것을 지시하는 것에 응답하여,
    상기 trackingGUID를 상기 syncGUID와 동일하게 셋팅하는 단계 - 상기 syncGUID는 상기 클라이언트 디바이스의 각각의 성공적인 디바이스 동기화 후에 업데이트됨 -;
    타임아웃을 현재 시간과 미리 설정된 값의 합과 동일하게 셋팅하는 단계;
    상기 동기화 통지에 필터를 적용하는 단계; 및
    적용된 필터에 기초하여 상기 동기화 통지를 상기 클라이언트 디바이스로 전송하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서, 상기 동기화 통지를 상기 클라이언트 디바이스로 전송하는 단계는 상기 동기화 통지를 즉시 전송하는 단계, 다음 타임아웃 이벤트 후에 상기 동기화 통지를 전송하는 단계, 및 특정 기간 동안에 상기 동기화 통지를 전송하는 단계 중에서 상기 적용된 필터에 의해 선택되는 하나의 단계를 포함하는 방법.
  3. 제2항에 있어서, 상기 필터는 상기 동기화 통지의 타입에 기초하여 상기 단계들 중 하나를 선택하는 방법.
  4. 제1항에 있어서,
    상기 클라이언트 디바이스가 적어도 하나의 미결 동기화 통지를 갖는다는 것을 상기 클라이언트 디바이스의 상태가 지시하는 것에 응답하여:
    상기 현재 시간이 상기 타임아웃보다 작은 경우에 상기 동기화 통지를 상기 클라이언트 디바이스로 전송하지 않는 단계 - 상기 타임아웃은 동기화 통지들 사이의 최대 시간을 결정하는 데 사용됨 -; 및
    상기 현재 시간이 상기 타임아웃보다 큰 경우에 상기 동기화 통지를 상기 클라이언트 디바이스로 전송하는 단계
    를 더 포함하는 방법.
  5. 제4항에 있어서,
    상기 현재 시간이 상기 타임아웃보다 큰 경우에 상기 동기화 통지를 상기 클라이언트 디바이스로 전송하는 단계는, 상기 trackingGUID가 상기 syncGUID와 동일하고, 상기 현재 시간이 상기 타임아웃보다 큰 경우에 상기 동기화 통지를 상기 클라이언트 디바이스로 전송하는 단계를 포함하고,
    상기 방법은 상기 타임아웃을 상기 현재 시간과 상기 미리 설정된 값의 합과 동일하게 셋팅하는 단계를 더 포함하는 방법.
  6. 제1항에 있어서,
    상기 syncGUID 및 상기 trackingGUID 중 적어도 하나를 갖는 디바이스/사용자 설정 파일을 수신하는 단계; 및
    상기 디바이스/사용자 설정 파일로부터 상기 syncGUID 및 상기 trackingGUID 중 상기 적어도 하나를 읽는 단계
    를 더 포함하는 방법.
  7. 동기화 통지를 클라이언트 디바이스에 제공하기 위한 컴퓨터 실행 가능한 명령어들을 저장한 적어도 하나의 컴퓨터 판독 가능한 저장 매체; 및
    상기 컴퓨터 실행 가능 명령어들을 실행하여,
    관심 이벤트가 수신되었다는 통지를 수신하는 단계;
    상기 통지의 수신에 응답하여, 상기 클라이언트 디바이스의 상태를 판정하는 단계 - 상기 상태는 상기 디바이스가 수신된 통지의 수신 전에 미결 동기화 통지들을 갖고 있는지의 여부를 지시하며, 상기 상태는 trackingGUID 및 syncGUID에 기초하여 판정됨 -;
    상기 수신된 통지에 필터를 적용하는 단계; 및
    상기 클라이언트 디바이스의 상태가 상기 수신된 통지의 수신 전에 상기 클라이언트 디바이스가 미결 동기화 통지를 갖고 있지 않다는 것을 지시하는 것에 응답하여,
    상기 trackingGUID를 상기 syncGUID와 동일하게 셋팅하는 단계 - 상기 syncGUID는 상기 클라이언트 디바이스의 각각의 성공적인 디바이스 동기화 후에 업데이트됨 -;
    타임아웃을 현재 시간과 미리 설정된 값의 합과 동일하게 셋팅하는 단계; 및
    적용된 필터에 기초하여 상기 동기화 통지를 상기 클라이언트 디바이스로 전송하는 단계
    를 수행하도록 구성되는 프로세서
    를 포함하는 시스템.
  8. 제7항에 있어서,
    상기 프로세서는
    상기 클라이언트 디바이스가 적어도 하나의 미결 동기화 통지를 갖는다는 것을 상기 클라이언트 디바이스의 상태가 지시하는 것에 응답하여:
    상기 현재 시간이 상기 타임아웃보다 작은 경우에 상기 동기화 통지를 상기 클라이언트 디바이스로 전송하지 않는 단계 - 상기 타임아웃은 동기화 통지들 사이의 최대 시간을 결정하는 데 사용됨 -;
    상기 현재 시간이 상기 타임아웃보다 큰 경우에 그리고 상기 trackingGUID가 상기 syncGUID와 동일한 경우에 상기 동기화 통지를 상기 클라이언트 디바이스로 전송하는 단계; 및
    상기 타임아웃을 상기 현재 시간과 상기 미리 설정된 값의 합과 동일하게 셋팅하는 단계
    를 수행하기 위한 컴퓨터 실행 가능 명령어들을 실행하도록 더 구성되는 시스템.
  9. 제7항에 있어서,
    상기 프로세서는
    상기 클라이언트 디바이스의 디바이스 타입의 함수로서 상기 동기화 통지의 포맷을 판정하는 단계; 및
    판정된 포맷으로 상기 동기화 통지를 상기 클라이언트 디바이스로 전송하는 단계 - 상기 동기화 통지의 판정된 포맷은 텍스트 메시지, 그래픽 이미지 및 텍스트 이미지 중 하나 이상임 -
    를 수행하기 위한 컴퓨터 실행 가능 명령어들을 실행하도록 더 구성되는 시스템.
  10. 제7항에 있어서, 상기 동기화 통지를 상기 클라이언트 디바이스로 전송하는 단계는 상기 동기화 통지를 즉시 전송하는 단계, 다음 타임아웃 이벤트 후에 상기 동기화 통지를 전송하는 단계, 및 특정 기간 동안에 상기 동기화 통지를 전송하는 단계 중에서 상기 적용된 필터에 의해 선택되는 하나의 단계를 실행하는 단계를 더 포함하고, 상기 적용된 필터는 상기 동기화 통지의 타입에 기초하여 상기 단계들 중 하나를 선택하는 시스템.
  11. 제10항에 있어서, 상기 프로세서는 상기 필터를 갖는 디바이스/사용자 설정 파일을 수신하기 위한 컴퓨터 실행 가능 명령어들을 실행하도록 더 구성되는 시스템.
  12. 클라이언트 디바이스에 동기화 통지를 제공하기 위한 방법으로서,
    관심 이벤트가 발생되었다는 통지를 컴퓨터에 의해 수신하는 단계;
    상기 통지에 응답하여, 상기 컴퓨터에 의해 상기 클라이언트 디바이스의 디바이스/설정 파일을 검색 수취하는 단계 - 상기 디바이스/설정 파일은 syncGUID 및 trackingGUID를 포함하고, 상기 syncGUID는 상기 클라이언트 디바이스의 상태를 지시하기 위해 상기 클라이언트 디바이스의 각각의 성공적인 디바이스 동기화 후에 업데이트되며, 상기 trackingGUID는 상기 클라이언트 디바이스에 대한 최종 공지된 syncGUID와 동일하게 셋팅됨 -;
    상기 trackingGUID에 기초하여, 수신된 통지의 수신 전에 상기 클라이언트 디바이스의 상태를 판정하는 단계 - 상기 trackingGUID가 상기 syncGUID와 동일하지 않을 때, 상기 클라이언트 디바이스는 이전 통지가 처리된 이후에 상기 클라이언트 디바이스가 동기화를 수행하였음을 지시하는 최신 상태에 있음 -;
    상기 클라이언트 디바이스의 디바이스 타입의 함수로서 상기 동기화 통지의 포맷을 판정하는 단계;
    판정된 포맷에 따라 상기 동기화 통지를 포맷팅하는 단계; 및
    상기 수신된 통지의 수신 전의 상기 클라이언트 디바이스의 결정된 상태가 상기 최신 상태인 경우에 포맷팅된 동기화 통지를 상기 클라이언트 디바이스로 전송하는 단계
    를 포함하는 방법.
  13. 제12항에 있어서,
    상기 포맷팅된 동기화 통지를 상기 클라이언트 디바이스로 전송하는 단계는 상기 전송 전에 상기 동기화 통지에 필터를 적용하는 단계를 포함하고,
    상기 포맷팅된 동기화 통지를 상기 클라이언트 디바이스로 전송하는 단계는 상기 동기화 통지를 즉시 전송하는 단계, 다음 타임아웃 이벤트 후에 상기 동기화 통지를 전송하는 단계, 및 특정 기간 동안에 상기 동기화 통지를 전송하는 단계 중에서 적용된 필터에 의해 선택되는 하나의 단계를 포함하는 방법.
  14. 제12항에 있어서, 상기 동기화 통지의 판정된 포맷은 텍스트 메시지, 그래픽 이미지 및 텍스트 이미지 중 하나 이상인 방법.
KR1020110022060A 2003-11-21 2011-03-11 클라이언트 디바이스에 동기화 통지를 제공하기 위한 방법 KR101037233B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/719,866 2003-11-21
US10/719,866 US7925754B2 (en) 2003-11-21 2003-11-21 Method and computer program product to provide synch notifications to client devices

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020040078253A Division KR101098730B1 (ko) 2003-11-21 2004-10-01 클라이언트 디바이스에 동기화 통지를 제공하기 위한 방법

Publications (2)

Publication Number Publication Date
KR20110033168A KR20110033168A (ko) 2011-03-30
KR101037233B1 true KR101037233B1 (ko) 2011-05-25

Family

ID=34435814

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020040078253A KR101098730B1 (ko) 2003-11-21 2004-10-01 클라이언트 디바이스에 동기화 통지를 제공하기 위한 방법
KR1020110022060A KR101037233B1 (ko) 2003-11-21 2011-03-11 클라이언트 디바이스에 동기화 통지를 제공하기 위한 방법

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020040078253A KR101098730B1 (ko) 2003-11-21 2004-10-01 클라이언트 디바이스에 동기화 통지를 제공하기 위한 방법

Country Status (5)

Country Link
US (3) US7925754B2 (ko)
EP (1) EP1533717B1 (ko)
JP (1) JP4546801B2 (ko)
KR (2) KR101098730B1 (ko)
CN (1) CN1620059B (ko)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6360221B1 (en) 1999-09-21 2002-03-19 Neostar, Inc. Method and apparatus for the production, delivery, and receipt of enhanced e-mail
US20040024910A1 (en) 2001-06-01 2004-02-05 Marl Coyle B. Adaptive synchronization of service data
US7275073B2 (en) * 2003-05-07 2007-09-25 Good Technology, Inc. System and method for notifying mobile devices based on device type and network capabilities
US7925754B2 (en) 2003-11-21 2011-04-12 Microsoft Corporation Method and computer program product to provide synch notifications to client devices
US20070190978A1 (en) * 2005-01-13 2007-08-16 Ianywhere Solutions, Inc. System and Methodology for Extending Enterprise Messaging Systems to Mobile Devices
US7685291B2 (en) 2005-11-08 2010-03-23 Mediatek Inc. Messaging service interoperability methods and related devices
CN100450108C (zh) * 2006-03-23 2009-01-07 华为技术有限公司 一种采用数据同步处理电子邮件的系统、装置及方法
US8478310B2 (en) * 2006-10-05 2013-07-02 Verizon Patent And Licensing Inc. Short message service (SMS) data transfer
CN1997015B (zh) * 2006-11-24 2011-04-20 华为技术有限公司 缓存应用方法与装置以及文件传输系统
KR101280437B1 (ko) 2007-01-04 2013-06-28 엘지전자 주식회사 이동통신 단말기 및 데이터 동기화 방법
US20080183623A1 (en) * 2007-01-29 2008-07-31 Zhangwei Xu Secure Provisioning with Time Synchronization
US9009292B2 (en) * 2007-07-30 2015-04-14 Sybase, Inc. Context-based data pre-fetching and notification for mobile applications
US8204870B2 (en) * 2007-08-03 2012-06-19 Sybase, Inc. Unwired enterprise platform
US20090327354A1 (en) * 2008-06-26 2009-12-31 Microsoft Corporation Notification and synchronization of updated data
KR101289944B1 (ko) 2008-12-12 2013-07-26 엘지전자 주식회사 초고처리율 무선랜 시스템에서 채널 추정 방법 및 이를 위한 장치
US8676914B2 (en) * 2010-03-04 2014-03-18 Canon Kabushiki Kaisha Synchronizing services across network nodes
CN102611724B (zh) * 2011-01-25 2015-04-22 中国移动通信集团公司 服务器通知数据同步及同步服务器迁移方法、系统及装置
US9294565B2 (en) * 2011-07-12 2016-03-22 Microsoft Technology Licensing, Llc Efficient data access on a shared data network
KR101383341B1 (ko) * 2011-11-25 2014-04-14 건국대학교 산학협력단 이기종 기반 소셜미디어 응용을 위한 업데이트 주기를 다이나믹하게 조정하는 시스템 및 그 방법
US10210480B2 (en) 2012-05-31 2019-02-19 Apple Inc. Avoiding a redundant display of a notification on multiple user devices
KR102015534B1 (ko) 2012-12-24 2019-08-28 삼성전자주식회사 복수의 단말들간의 메시지 싱크 방법, 기계로 읽을 수 있는 저장 매체 및 서버
WO2016112985A1 (en) * 2015-01-15 2016-07-21 Telefonaktiebolaget Lm Ericsson (Publ) Event signalling in a wireless backhaul network
US10332516B2 (en) 2016-05-10 2019-06-25 Google Llc Media transfer among media output devices
JP6797938B2 (ja) * 2016-05-13 2020-12-09 グーグル エルエルシーGoogle LLC 媒体出力装置間での媒体転送
CN108418746B (zh) * 2018-02-13 2020-06-12 论客科技(广州)有限公司 一种邮件同步方法、装置与计算机可读存储介质
US11082514B2 (en) 2019-05-24 2021-08-03 International Business Machines Corporation Push notification management

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030004917A1 (en) 2001-06-27 2003-01-02 Microsoft Corporation Method and system for processing notifications

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE431104B (sv) * 1982-05-27 1984-01-16 Akab Of Sweden Ab Fallformningsdon fallformningsdon
US4454174A (en) * 1982-05-31 1984-06-12 Hakko Co., Ltd. Method for lining pipes of a pipeline
US6044205A (en) * 1996-02-29 2000-03-28 Intermind Corporation Communications system for transferring information between memories according to processes transferred with the information
US5862325A (en) * 1996-02-29 1999-01-19 Intermind Corporation Computer-based communication system and method using metadata defining a control structure
US5918013A (en) * 1996-06-03 1999-06-29 Webtv Networks, Inc. Method of transcoding documents in a network environment using a proxy server
JP3781213B2 (ja) 1996-06-20 2006-05-31 ソニー株式会社 電子メールシステム、コンピユータ装置及び着信通知方法
US6064646A (en) * 1997-09-26 2000-05-16 Delco Electronics Corporation Data communication apparatus and method
US6295541B1 (en) * 1997-12-16 2001-09-25 Starfish Software, Inc. System and methods for synchronizing two or more datasets
EP1093626A1 (en) * 1998-07-08 2001-04-25 BRITISH TELECOMMUNICATIONS public limited company Requirements matching
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
WO2000067108A1 (en) 1999-05-05 2000-11-09 Contact Networks, Inc. Method and apparatus for populating a personal information record of a personal information management application
US6510439B1 (en) * 1999-08-06 2003-01-21 Lucent Technologies Inc. Method and system for consistent update and retrieval of document in a WWW server
US6839744B1 (en) * 1999-09-10 2005-01-04 Ianywhere Solutions, Inc. System, method, and computer program product for administering channels, content, and data for mobile devices
US6882659B1 (en) * 1999-09-20 2005-04-19 Telefonaktiebolaget Lm Ericsson (Publ) Wide area network synchronization
US6694336B1 (en) * 2000-01-25 2004-02-17 Fusionone, Inc. Data transfer and synchronization system
US6816944B2 (en) * 2000-02-02 2004-11-09 Innopath Software Apparatus and methods for providing coordinated and personalized application and data management for resource-limited mobile devices
US20010049613A1 (en) * 2000-02-29 2001-12-06 Gramann Henry T. Synchronizing reservation database
US6505200B1 (en) * 2000-07-06 2003-01-07 International Business Machines Corporation Application-independent data synchronization technique
US7219158B2 (en) * 2000-07-21 2007-05-15 Hughes Network Systems Llc Method and system for improving network performance using a performance enhancing proxy
US6823373B1 (en) * 2000-08-11 2004-11-23 Informatica Corporation System and method for coupling remote data stores and mobile devices via an internet based server
JP2002111707A (ja) 2000-09-26 2002-04-12 Matsushita Electric Ind Co Ltd メール着信通知システムおよびメール配信装置
US7099660B2 (en) * 2000-12-22 2006-08-29 Bellsouth Intellectual Property Corp. System, method and apparatus for a network-organized repository of data
US7224775B1 (en) * 2000-12-29 2007-05-29 Cisco Technology, Inc. System and method for providing prioritized access to a messaging system
US6952708B2 (en) 2001-06-27 2005-10-04 Microsoft Corporation Method and system for using a sync key
US6993522B2 (en) * 2001-06-27 2006-01-31 Microsoft Corporation System and method for resolving conflicts detected during a synchronization session
JP3758554B2 (ja) * 2001-10-31 2006-03-22 ソニー株式会社 情報提供システム及び情報提供方法、記憶媒体、並びにコンピュータ・プログラム
US7844688B2 (en) * 2001-11-20 2010-11-30 P-Cube Ltd. Apparatus, method, and software for analyzing network traffic in a service aware network
US7640491B2 (en) * 2001-12-05 2009-12-29 Microsoft Corporation Outputting dynamic local content on mobile devices
CN100361476C (zh) * 2002-02-05 2008-01-09 国际商业机器公司 发送、呈现电子邮件的方法和电子邮件客户机
US20030154254A1 (en) * 2002-02-14 2003-08-14 Nikhil Awasthi Assisted messaging for corporate email systems
AU2003223382A1 (en) 2002-03-29 2003-10-13 Good Technology, Inc. System and method for full wireless synchronization of a data processing apparatus with a data service
US7139748B1 (en) * 2002-05-02 2006-11-21 Palmsource, Inc. N-way synchronization of computer databases
JP3926712B2 (ja) * 2002-09-06 2007-06-06 セイコーインスツル株式会社 同期拍報知システム
US7180912B1 (en) 2003-01-06 2007-02-20 At&T Corp. System and method for providing a plurality of multi-media services using a number of media servers to form a preliminary interactive communication relationship with a calling communication device
US20050086306A1 (en) * 2003-03-14 2005-04-21 Lemke Ralph E. Providing background delivery of messages over a network
US7925754B2 (en) 2003-11-21 2011-04-12 Microsoft Corporation Method and computer program product to provide synch notifications to client devices
US7347382B2 (en) * 2004-02-06 2008-03-25 T-Ink, Llc System for securing personal cards
JP4286876B2 (ja) * 2007-03-01 2009-07-01 富士通テン株式会社 画像表示制御装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030004917A1 (en) 2001-06-27 2003-01-02 Microsoft Corporation Method and system for processing notifications

Also Published As

Publication number Publication date
US20050144293A1 (en) 2005-06-30
KR20050049334A (ko) 2005-05-25
US8495249B2 (en) 2013-07-23
US20130031272A1 (en) 2013-01-31
US20110153745A1 (en) 2011-06-23
CN1620059B (zh) 2010-12-08
EP1533717A1 (en) 2005-05-25
KR101098730B1 (ko) 2011-12-23
JP4546801B2 (ja) 2010-09-22
US7925754B2 (en) 2011-04-12
CN1620059A (zh) 2005-05-25
EP1533717B1 (en) 2019-01-16
KR20110033168A (ko) 2011-03-30
JP2005158039A (ja) 2005-06-16
US8307034B2 (en) 2012-11-06

Similar Documents

Publication Publication Date Title
KR101037233B1 (ko) 클라이언트 디바이스에 동기화 통지를 제공하기 위한 방법
US11468407B2 (en) Method and system for updating message threads
US8812614B2 (en) Data backup for a mobile computing device
US8583602B2 (en) Restoring of data to mobile computing device
US8381096B2 (en) Managing list tailoring for a mobile device
CN102769640B (zh) 用户信息的更新方法、服务器以及系统
US6901415B2 (en) Method and system for processing notifications
JP2005100384A (ja) Vpn接続を定義するためのwapxml拡張
US20130018915A1 (en) Mobile wireless communications device with search shortcut and related methods
US8874795B2 (en) Data synchronization system
US8050693B2 (en) Employing the SMS protocol as a transport layer protocol
US20110050437A1 (en) System and method of processing sensor information
US8898110B2 (en) Electronic device and method for managing storage of data
US9043390B2 (en) Communication system with PIM entry synchronization and related methods
JP2007066051A (ja) メールアドレス変更通知システム
CA2693729A1 (en) Communications system with polling server providing dynamic record id polling and related methods

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20140417

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160419

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170420

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20180417

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20190417

Year of fee payment: 9