KR20000047671A - 원격 및 로컬 메일 시스템의 메일 동기화 - Google Patents

원격 및 로컬 메일 시스템의 메일 동기화 Download PDF

Info

Publication number
KR20000047671A
KR20000047671A KR1019990051381A KR19990051381A KR20000047671A KR 20000047671 A KR20000047671 A KR 20000047671A KR 1019990051381 A KR1019990051381 A KR 1019990051381A KR 19990051381 A KR19990051381 A KR 19990051381A KR 20000047671 A KR20000047671 A KR 20000047671A
Authority
KR
South Korea
Prior art keywords
mail
synchronization
inbox
message
messages
Prior art date
Application number
KR1019990051381A
Other languages
English (en)
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 KR20000047671A publication Critical patent/KR20000047671A/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • 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/214Monitoring or handling of messages using selective forwarding
    • 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/42Mailbox-related aspects, e.g. synchronisation of mailboxes
    • 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)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

본 발명은 사용자의 서로 다른 전자메일 메일박스들(어카운트들)을 동기화하기 위한 개선된 기술들에 관한 것이다. 그러므로, 사용자는 두 개의 다른 전자 메일박스의 동기화된 결합인 단일 "가상" 메일박스를 효과적으로 살펴보고 상호 작용한다. 전자 메일박스들은 수령과 관련된 전자 메일박스들로 네트워크를 통해 전자메일을 수신, 저장, 읽기 및 전송하기 위해 사용한다. 전자메일은 문자, 그래픽, 영상을 내재하는 전자 메시지들을 포함할 수 있다. 두 개의 서로 다른 전자 메일박스들의 동기화는 사용자의 상호작용 없이 양방향 방식으로 자동으로 실행될 수 있다. 동기화는 또한 공중 네트워크에 의해서 전송되는 전자 메시지까지도 안전하게 실행될 수 있다.

Description

원격 및 로컬 메일 시스템의 메일 동기화{Mail Synchronization of Remote and Local Mail Systems}
본 발명은 전자메일 시스템에 관한 것으로, 보다 상세하게는 전자메일 시스템의 동기화에 관한 것이다.
오늘날, 다양한 종류의 파지형(hand-held) 컴퓨팅 장치들의 널리 사용된다. 파지형 컴퓨팅 장치들의 예로는 호출기, 이동전화, 개인용 정보 단말기(PDA), 팜탑(palm-top) 컴퓨터 및 전자 스케줄러(electronic scheduler)들을 포함한다.
대중적인 파지형 컴퓨팅 장치의 하나는 3COM 코포레이션에 의해 제작된 팜파일러트(PalmPilot)이다. 이 팜파일러트는 달력 기능을 제공한다. 동기화 작동(synchronization operation)은 사용자가 전용 코드 또는 전선(예컨대, 전형적으로 크레이들(cradle) 장치를 사용하는)에 의해서 데스크탑(desktop) 컴퓨터에 팜파일러트를 연결한 후에 사용자에 의해 요구된다. 동기화 작동은 (ⅰ) 데스크탑 컴퓨터에서 동작하는 달력 프로그램과 동기화되도록 사용자가 팜파링러트에 날짜를 미리 입력하는 것 (ⅱ) 팜파일러트와 동기화되는 데스크탑 컴퓨터의 사용자가 날짜를 미리 입력하는 것을 허용한다.
어떤 파지형 컴퓨팅 장치들은 전자메일을 전송 및 수신할 수 있다. 이들 장치들의 사용자들은 전형적으로 네트워크에 연결된 데스크탑 컴퓨터를 가지고 있고 사용자는 전자메일을 읽기, 작성 및 전송할 수 있다. 그와 같이, DLEMF 사용자들은 전자메일을 수신하기 위한 두 개의 메일박스, 하나는 휴대용 컴퓨터 장치용이고 다른 하나는 데스크탑 컴퓨터용을 가지고 있다. 통상적으로, 전자메일에 관하여, 전자메일을 수신하기 위한 다중(multiple) 메일박스들을 가진 사용자는 수신된 전자메일을 하나의 메일박스에서 다른 메일박스로 전송(한방향 전송)할 수 있다. 또한, 어떤 파지형 컴퓨터 장치들(예컨대, 팜파일러트)은 사용자에 의해 수동으로 요구될 때 전자메일을 동기화할 수 있다. 이들 시스템들은 전자메일의 동기화를 제공하고 또한 파지형 컴퓨터 장치 및 데스크탑 컴퓨터 사이의 전용 전선을 통해 전자메일의 동기화를 수행한다.
그러므로, 사용자의 서로 다른 전자메일 어카운트(account)를 동기화하기 위한 개선된 기술들이 필요하다.
대체로 말하면, 본 발명은 사용자의 다른 전자메일 메일박스들(어카운트들)을 동기화하기 위한 개선된 기술들에 관한 것이다. 그러므로, 사용자는 두 개의 다른 전자메일박스의 동기화된 결합인 단일의 "가상(virtual)" 메일박스를 효과적으로 살펴보고 상호 작용한다.
전자 메일박스들은 수신자와 관련된 전자 메일박스들로 네트워크를 통해 전자메일을 수신, 저장, 읽기 및 전송한다. 전자메일은 문자, 그래픽, 음성, 영상 또는 디지털 방식으로 부호화된 다른 데이터를 포함하는 전자 메시지들을 포함한다. 두 개의 서로 다른 전자 메일박스들의 동기화는 예를 들면, 하나의 메일박스에서 다른 메일박스로 도착하는 신규 메시지의 삽입, 하나의 메일박스에서 행해지면 다른 메일박스로부터 존재하는 메시지의 삭제, 하나의 메일박스에 복원되면 다른 메일박스에 삭제된 메시지의 복원 및 하나의 메일박스에서 행해질 때 다른 메일박스에 읽기/읽지 않음 상태의 표시를 포함한다. 동기화는 또한 하나의 메일박스에서 다른 메일박스로의 전달을 포함하고 거기에서 메시지가 자동으로 전송된다.
본 발명은 방법, 장치, 컴퓨터 판독 매체 및 컴퓨터 시스템 등을 포함하는 다수의 방법으로 실행될 수 있다. 본 발명의 몇 개의 실시예들은 후술한다.
네트워크를 통해서 통신하는 제 1 및 제 2 전자메일 시스템간의 메시지를 자동으로 동기화하기 위한 방법에 있어서, 본 발명의 일 실시예는 상기 제 1 및 제 2 전자메일 시스템에 관련된 메시지 리스트의 동기화를 자동으로 시작하고; 상기 동기화가 시작된 후에 상기 네트워크를 통하여 상기 제 1 및 제 2 전자메일 시스템간의 연결을 제공하고; 상기 연결을 통해서 제 2 전자메일 시스템에서 상기 제 1 전자메일 시스템으로 메시지 정보를 전송하는 동작을 포함한다. 선택적으로, 연결은 보안 연결이고, 제 2 전자메일 시스템은 메일 서비스를 무선의 방법으로 이동 기기에 제공한다.
제 1 메일 시스템 및 공중 네트워크를 통하여 상기 제 1 메일 시스템과 통신하는 제 2 메일 시스템의 동기화 방법에 있어서, 본 발명의 일 실시예는 상기 제 1 메일 시스템에 대한 제 1 인박스를 유지하고, 상기 제 1 인박스는 상기 제 1 메일 시스템에 관련된 제 1 메시지 리스트를 구비하며; 상기 공중 네트워크를 통하여 상기 제 1 메일 시스템과 상기 제 2 메일 시스템간의 보안 연결을 확립하고; 상기 보안 연결에 의해서 상기 제 2 메일 시스템으로부터 제 2 메시지 리스트를 요구하고, 상기 제 2 메시지 리스트는 상기 제 2 메일 시스템에 대한 제 2 인박스와 관련되며; 미싱 메시지들을 식별하기 위해 상기 제 1 메시지 리스트와 상기 제 2 메시지를 비교하고, 상기 미싱 메시지들은 상기 제 1 인박스에 존재하지 않고 상기 제 2 인박스에 존재할 때 식별되는 메시지들이며; 상기 보안 연결에 의해서 상기 제 2 메일 시스템으로부터 상기 미싱 메시지들을 요구하고; 상기 공중 네트워크를 통하여 상기 보안 연결에 의해서 상기 제 2 메일 시스템으로부터 상기 미싱 메시지들을 수신하고; 상기 제 1 메일 시스템의 상기 제 1 인박스로 수신된 상기 미싱 메시지들을 삽입하는 동작을 포함한다.
제 1 전자메일 응용과 제 2 전자메일 응용은 공중 네트워크를 통하여 연결되고, 상기 제 1 전자메일 응용의 제 1 인박스와 상기 제 2 전자메일 응용의 제 2 인박스의 동기화 방법에 있어서, 본 발명의 일 실시예는, 동작 리스트로부터 동작 엔트리를 획득하고, 상기 동작 리스트는 마지막 동기화 때부터 상기 제 2 인박스에서 발생된 변화들을 나타내며; 상기 동작 엔트리를 기준으로 동기화 동작 메시지를 준비하고; 상기 제 1 전자메일 응용이 상기 제 1 인박스와 상기 제 2 인박스를 더욱 일치시키기 위해 상기 동기화 메시지의 상기 동기화 동작을 실행할 수 있도록, 상기 공중 네트워크를 통하여 상기 제 1 전자메일 응용으로 상기 동기화 동작 메시지를 전송하고; 상기 동기화 동작이 실행되는 상기 제 1 전자메일 응용으로부터 확인을 수신하고; 그 후에, 상기 확인이 수신되면 상기 동작 리스트로부터 상기 동작 엔트리를 삭제하는 동작을 포함한다.
제 1 메일박스는 방화벽에 의해 보호되는 데이터 네트워크에 접속된 제 1 컴퓨팅 장치와 관련되고, 제 2 메일박스는 제 2 컴퓨팅 장치와 관련되며, 상기 제 1 및 상기 제 2 메일박스간의 동기화 시작 방법에 있어서, 본 발명의 일 실시예는, 상기 제 1 및 제 2 메일박스간의 동기화 세션을 시작하기 위해 상기 제 2 컴퓨팅 장치에서 요구를 수신하고; 전자메일 메시지를 요구하는 동기화를 발생하고; 상기 제 2 메일박스에서 상기 제 1 메일박스로 전자메일 메시지를 요구하는 상기 동기화를 전송하고; 그 후에 전자메일 메시지를 요구하는 상기 동기화에 의해 요구될 때 상기 제 1 컴퓨팅 장치를 통해서 제 1 및 제 2 메일박스간의 동기화를 시작하는 동작을 포함한다.
제 1 메일박스는 제 1 컴퓨팅 장치에 관련되고, 제 2 메일박스는 제 2 컴퓨팅 장치에 관련되며, 상기 제 1 및 제 2 메일박스간의 동기화 세션 동안 전자메일 메시지의 자동 전송 방법에 있어서, 본 발명의 일 실시예는, 목적지 주소로 전송되는 상기 제 2 컴퓨팅 장치상의 전자메일 메시지를 제공하고; 상기 제 2 컴퓨팅 장치에서 상기 전자메일 메시지를 저장하고; 상기 제 1 및 제 2 메일박스간의 동기화 세션 동안 상기 제 1 컴퓨팅 장치에 상기 전자메일 메시지를 전달하고; 그 후에, 상기 제 1 컴퓨팅 장치에서 상기 목적지 주소로 상기 전달된 전자메일 메시지를 자동적으로 전송하는 단계를 포함한다.
메일 동기화 시스템에 있어서, 본 발명의 일 실시예는 이동장치에 전자메일 서비스들을 제공하기 위한 원격 메일 시스템과, 데스크탑 컴퓨터에 전자메일 서비스들을 제공하기 위한 로컬 메일 시스템을 포함한다. 원격 메일 시스템은 이동장치 메일 응용, 이동장치 메일 서버 및 메일 동기화 서버를 포함한다. 이동장치 메일 서버는 이동장치에 대한 전자메일 메시지의 저장, 수령 및 전달을 관리한다. 이동장치는 원격 인박스의 전자메일 메시지의 리스트를 디스플레이 할 수 있다. 원격 인박스에 대한 전자메일 메시지의 리스트는 이동장치 메일 서버에 저장되고 이동장치 메일 응용에 의해 이동장치에 사용될 수 있다. 로컬 메일 시스템은 로컬 메일 서버 및 메일 동기화 클라이언트를 포함한다. 로컬 메일 서버는 데스트탑 컴퓨터에 대한 전자메일 메시지의 저장, 수령 및 전달을 관리한다. 데스트탑 컴퓨터는 로컬 인박스의 전자메일 메시지의 리스트를 디스플레이 할 수 있다. 로컬 인박스에 대한 전자메일 메시지의 리스트는 로컬 메일 서버에 저장되고 데스크탑 컴퓨터에 사용될 수 있다. 메일 동기화 클라이언트 및 메일 동기화 서버는 각각의 로컬 메일 서버 및 원격 메일 서버에 의해 유지되는 로컬 인박스에 대한 전자메일 메시지의 리스트 및 원격 인박스에 대한 전자메일 메시지의 리스트를 동기화 하기 위해 상호작용 한다.
네트워크를 통해 통신하는 제 1 및 제 2 전자메일 시스템을 자동으로 동기화하기 위한 컴퓨터 프로그램 코드를 포함하는 컴퓨터 판독 매체에 있어서, 본 발명의 일 실시예는 상기 제 1 및 제 2 전자메일 시스템에 관련된 메시지 리스트의 동기화를 자동으로 시작하기 위해 구성된 컴퓨터 프로그램 코드; 상기 동기화가 시작된 후에 상기 네트워크를 통하여 상기 제 1 및 제 2 전자메일 시스템간의 연결을 제공하기 위해 구성된 컴퓨터 프로그램 코드; 및 상기 연결을 통해서 상기 제 2 전자메일 시스템에서 상기 제 1 전자메일 시스템으로 메시지 정보를 전송하기 위해 구성된 컴퓨터 프로그램 코드를 포함한다.
본 발명의 장점은 여러 가지 있다. 서로 다른 실시예 또는 구현예는 하나 또는 그 이상의 다음 장점들을 산출할 수 있다. 본 발명의 하나의 가능한 장점은 사용자가 두 개의 별개 전자메일 어카운트들(메일박스들)을 마치 동일한 전자메일 어카운트처럼 사용할 수 있다는 것이다. 본 발명의 다른 가능한 장점은 두 개의 별개 전자메일 어카운트들이 사용자와의 상호 작용없이 자동으로 동기화될 수 있다는 것이다. 본 발명의 또다른 가능한 장점은 두 개의 별개 전자메일 어카운트들 사이의 동기화가 공중 네트워크를 통해 달성될 수 있다는 것이다. 본 발명의 또다른 가능한 장점은 동기화에 관련된 메시지를 수신하는 메일박스로부터 출력 메시지가 자동으로 전송할 수 있다는 것이다.
본 발명의 다른 양태 및 장점은 본 발명의 원리를 예로서 설명하는 첨부 도면과 함께 인용된 다음의 상세한 설명으로부터 명백해 질 것이다.
도 1은 본 발명의 실시예에 의한 메일 동기화 시스템의 블록도이고,
도 2a는 본 발명의 일 실시예에 의한 무선 메일 시스템의 블록도이고,
도 2b는 본 발명의 일 실시예에 의한 메일 동기화 클라이언트의 블록도이고,
도 2c는 본 발명의 일 실시예에 의한 메일 동기화 서버의 블록도이고,
도 3a는 본 발명의 일 실시예에 의한 동기화 처리과정의 흐름도이고,
도 3b는 본 발명의 일 실시예에 의한 초기 동기화의 흐름도이고,
도 3c는 본 발명의 일 실시예에 의한 갱신 동기화의 흐름도이고,
도 4는 본 발명의 일 실시예에 의한 클라이언트-측 초기 동기화 처리과정의 흐름도이고,
도 5는 본 발명의 일 실시예에 의한 서버-측 초기 동기화 처리과정의 흐름도이고,
도 6a 및 6b는 메일 동기화 클라이언트에 대한 정규화 처리과정의 흐름도이고,
도 7a 및 7b는 본 발명의 일 실시예에 의한 클라이언트-측 풀 동기화의 흐름도이고,
도 8은 본 발명의 일 실시예에 의한 서버-측 풀 동기화의 흐름도이고,
도 9a 및 9b는 본 발명의 일 실시예에 의한 클라이언트-측 갱신 동기화 처리과정의 흐름도이고,
도 10a 및 10b는 본 발명의 실시예에 의한 서버-측 갱신 동기화 처리과정의 흐름도이고,
도 11a는 본 발명의 일 실시예에 의한 서버-측 동기화 초기 처리과정의 흐름도이고,
도 11b는 본 발명의 일 실시예에 의한 클라이언트-측 동기화 초기 처리과정의 흐름도이고,
도 12는 본 발명의 실시예에 의한 출력 메일 동기화 처리과정의 흐름도이다.
♣ 도면의 주요 부분에 대한 부호의 설명 ♣
100: 메일 동기화 시스템 102: 원격 메일 시스템
104: 로컬 메일 시스템 108: 이동장치
112, 200: 무선 메일 시스템 114: 사용자 컴퓨터
116: 로컬 메일 서버 118,208: 메일 동기화 클라이언트
202: 무선장치 메일 응용 204: 무선장치 메일 서버
206: 메일 동기화 서버 1211: 출력 동기화 큐
본 발명은 사용자의 다른 전자메일 메일박스들(어카운트들)을 동기화하기 위한 개선된 기술들에 관한 것이다. 그러므로, 사용자는 두 개의 다른 전자 메일박스의 동기화(미러(mirror))된 결합인 단일의 "가상" 메일박스를 효과적으로 살펴보고 상호 작용한다.
전자 메일박스들은 수령과 관련된 전자 메일박스들로 네트워크를 통해 전자메일을 수신, 저장, 읽기 및 전송하기 위해 사용한다. 전자메일은 문자, 그래픽, 음성, 영상 또는 디지털 방식으로 부호화된 다른 데이터를 포함하는 전자 메시지들을 포함한다. 두 개의 서로 다른 전자 메일박스들의 동기화는 예를 들면, 하나의 메일박스에서 다른 메일박스로 도착하는 신규 메시지의 삽입, 하나의 메일박스에서 행해지면 다른 메일박스로부터 존재하는 메시지의 삭제, 하나의 메일박스에 복원되면 다른 메일박스에 삭제된 메시지의 복원 및 하나의 메일박스에서 행해질 때 다른 메일박스에 읽음/읽지 않음 상태의 표시를 포함한다. 동기화는 또한 하나의 메일박스에서 다른 메일박스로의 전달을 포함하고 거기에서 메시지가 자동으로 전송된다.
전자 메일박스들은 전형적으로 사용자의 이익을 위한 컴퓨팅 장치상에 제공된다. 컴퓨팅 장치들은 다른 크기, 성능 및 이동도를 가진 광범위하게 다양한 임의의 장치들일 수 있다. 본 발명은 특히 전자메일 메시지 동작(electronic mail message operations)을 공급하는 이동장치와 함께 사용하는 것이 바람직하다. 이동장치(이동 컴퓨팅 장치 또는 무선 장치)의 예로는 호출기, 이동전화, 개인용 정보 단말기(PDA), 팜탑 컴퓨터, 전자 스케줄러 및 다른 정보 기구를 포함한다. 그런 경우에, 하나의 메일박스는 이동장치에 결합되고 다른 메일박스는 개인용 컴퓨터(예컨대, 데스크탑 컴퓨터)에 결합된다. 컴퓨터의 메일박스는 전화기 메일박스보다 저장용량이 훨씬 크기 때문에 모든 메시지들은 컴퓨터의 메일박스에 보관된다. 전화기의 메일박스는 가상 메일박스의 최상위 메시지의 고정된 수의 창(window)을 나타낸다.
본 발명의 양태의 실시예는 도 1-12를 참조하여 후술된다. 그렇지만, 도면에 대하여 여기에 제시된 상세한 설명은 예시적인 목적을 위한 것이므로 본 발명은 제한된 실시예의 범위를 넘어서 확대 해석한다는 것은 본 기술분야의 전문가에게 쉽게 인식될 것이다.
도 1은 본 발명의 실시예에 의한 메일 동기화 시스템(100)의 블록도이다. 메일 동기화 시스템(100)은 원격 메일 시스템(102)과 로컬 메일 시스템(104)을 동기화하기 위해 동작한다. 원격 메일 시스템(102)은 인터넷(106)을 통해 로컬 메일 시스템(104)과 통신한다. 보다 일반적으로, 인터넷(106)은 임의의 네트워크일 수 있지만 본 발명은 공중 네트워크와 함께 사용하기에 특히 적합하다. 네트워크의 예로는 인트라넷 및 인터넷을 포함한다.
원격 메일 시스템(102)은 캐리어 네트워크(110)를 통해 무선 메일 시스템(112)과 통신하는 이동장치(108)를 포함한다. 무선 메일 시스템(112)은 인터넷(106)에 연결한다. 일 실시예에 의하면, 무선 메일 시스템(112)에는 이동장치(108)로 하여금 인터넷(106)과 통신할 수 있도록 하는 게이트웨이 서버(gateway server) 또는 프록시 서버(proxy server)가 제공된다. 무선 메일 시스템은 이동장치(108)에 전자메일 서비스들을 제공한다.
로컬 메일 시스템(104)은 사용자 컴퓨터(114), 로컬 메일 서버(116) 및 메일 동기화 클라이언트(mail synchronization client)(118)를 포함한다. 사용자 컴퓨터(114)는 전형적으로는 로컬 메일 서버(116) 및 네트워크(120)를 통해 메일 동기화 클라이언트(118)에 연결한다. 일 실시예에 의하면, 메일 동기화 클라이언트(118)는 사용자 컴퓨터(114)내에 제공된다. 한 예로서, 로컬 메일 서버(116)는 교환-유형 서버(Exchange-type server)(예컨대, 마이크로소프트 교환-유형) 또는 SMTP-유형 서버로 할 수 있다. 로컬 네트워크(120)는 예를 들면, 근거리 통신망(LAN) 또는 다른 유형의 소규모 네트워크(small scale network)이다. 일 실시예에 의하면, 로컬 네트워크는 조직 내의 한 사용자인 사용자 및 조직의 종업원에게 메일 서비스를 제공하는 메일 서버(116)를 가진 조직에 의해 제공될 수 있다. 다른 실시예에 의하면, 로컬 네트워크(120)와 분리 로컬 메일 서버(separate local mail server)는 필요하지 않고 로컬 메일 서버(116)와 메일 동기화 클라이언트(118)는 사용자 컴퓨터(114)에서 모두 제공된다. 로컬 메일 시스템(104)은 또한 인터넷(106)과 로컬 네트워크(120)를 연결하는 프록시 서버(122)(또는 방화벽 서버(firewall server)를 포함한다. 프록시 서버(122)는 로컬 네트워크(120) 및 로컬 네트워크(120)상에 상주하는 임의의 자원(resource)으로의 엑세스를 방지하기 위해 방화벽으로서 동작할 수 있다.
도 2a는 본 발명의 일 실시예에 의한 무선 메일 시스템(200)의 블록도이다. 무선 메일 시스템(200)은 예를 들면, 도 1에 설명된 무선 메일 시스템(112)으로서 사용되기에 적합하다.
무선 메일 시스템(200)은 무선장치 메일 응용(wireless mail server application)(202), 무선장치 메일 서버(204) 및 메일 동기화 서버(206)를 포함한다. 무선장치 메일 응용은 원격 메일 시스템(102)의 이동장치(108)들을 위한 메일 처리과정을 제공한다. 다시 말해서, 이동장치들(108)은 전형적으로는 단지 처리용량의 제한된 양을 제공하므로, 다수의 메일 응용 처리과정은 이동장치(108)에 대해 원격 위치한 서버 컴퓨터 상에 상주하는 무선장치 메일 응용(202)에 의해 실행된다. 이 실시예에 의하면, 서버 컴퓨터는 무선 메일 시스템(200)을 지원하는 서버 컴퓨터이다. 그러므로, 무선장치 메일 응용(202)은 캐리어 네트워크(110)를 통해 이동장치(108)와 통신한다. 무선장치 메일 응용은 또한 무선장치 메일 서버(204)와 통신한다.
무선장치 메일 서버(204)는 이동장치(108)의 사용자들에 대한 전자메일의 수령 및 전달을 관리하기 위해 무선 메일 시스템(200)내에 제공된다. 이에 관하여, 무선장치 메일 서버(204)는 인터넷(106)을 통해 로컬 메일 서버에 통신한다. 메일 동기화 서버(206)는 로컬 메일 시스템(104)의 로컬 메일 서버(116)와 무선장치 메일 서버(204)의 동기화를 관리하기 위해 무선 메일 시스템(200)내에 제공된다. 메일 동기화 서버(206)는 또한 인터넷(106)에 연결한다.
도 2b는 본 발명의 일 실시예에 의한 메일 동기화 클라이언트(208)의 블록도이다. 메일 동기화 클라이언트(208)는 예를 들면, 도 1에 설명된 메일 동기화 클라이언트(118)로서 사용되기에 적합하다. 메일 동기화 클라이언트(208)는 로컬 메일 서버(116)와 무선장치 메일 서버(204)의 동기화에 관련된 동작을 제공하는 메일 동기화 클라이언트 프로세스(210)를 포함한다. 메일 동기화 클라이언트 프로세스(210)에 의해 실행되는 동기화 동작을 용이하게 하기 위해, 메일 동기화 클라이언트(208)는 또한 클라이언트 맵핑 테이블(client mapping table)(212), 인박스 상태 테이블(inbox state table)(214) 및 동작 리스트(action list)(215)를 포함한다. 클라이언트 맵핑 테이블(212)은 이동장치(108)상의 전자메일 메시지와 사용자 컴퓨터(114)상의 전자메일 메시지를 결합시킨다. 인박스 상태 테이블은 원격 메일 시스템(102)과 로컬 메일 시스템(104) 사이에서 발생된 마지막 동기화가 이루어질 때 사용자 컴퓨터(114)에 대한 인박스 상태를 저장한다. 동작 리스트(215)는 무선장치 메일 서버(206)가 로컬 메일 서버(116)와 마지막으로 동기화 된 때부터 로컬 메일 서버(116)에 대하여 발생된 동작(즉, 동기화 동작)의 리스트를 포함한다.
도 2c는 본 발명의 일 실시예에 의한 메일 동기화 서버(216)의 블록도이다. 메일 동기화 서버(216)는 예를 들면, 도 2a에 설명된 메일 동기화 서버(206)와 같이 사용하는 것이 바람직하다. 메일 동기화 서버(216)는 메일 동기화 서버(216)에 의해 실행된 동기화 동작을 관리하는 메일 동기화 서버 프로세스(218)를 포함한다. 메일 동기화 서버 프로세스(218)가 동기화 동작을 실행하는 것을 돕기 위해, 메일 동기화 서버 프로세스(218)는 동작 리스트(220), 동기화 메시지 아웃박스(synchronization message outbox)(222) 및 가비지 수집기(garbage collector)(224)를 사용한다. 동작 리스트(220)는 메일 동기화 클라이언트(208)로 전송하기 위한 동기화 동작의 리스트를 제공한다. 동기화 동작은 무선장치 메일 서버(204)에 대하여 일어나는 변화 또는 변경, 즉, 무선장치 메일 응용(202)에 의해 유지되는 이동장치(108)에 대한 인박스의 변화를 추적하도록 작동한다. 동기화 메시지 아웃박스(222)는 동기화 처리 중에 전송하기 위해 이동장치(108)에 의해 작성되는 메시지를 저장한다. 가비지 수집기(226)는 다수의 메시지가 이동장치(108)에 대하여 이용 가능한 자원들이 초과되어 저장될 때 무선 메일 시스템(112)의 자원에서 가장 오래된 메시지를 삭제하도록 작동한다.
도 3a는 본 발명의 일 실시예에 의한 동기화 처리과정(300)의 흐름도이다. 동기화 처리과정(300)은 예를 들면, 도 1 및 2a에 각각 설명된 메일 동기화 클라이언트(118) 및 메일 동기화 서버(206)에 의해 실행된다.
동기화 처리과정(300)은 블록(302)에서 메일 동기화 서버(MSS)와 메일 동기화 클라이언트(MSC)간의 보안 연결을 확립함으로써 개시된다. 예를 들면, 메일 동기화 서버는 도 2a에 설명된 메일 동기화 서버(206)로 할 수 있고 메일 동기화 클라이언트는 도 1에 설명된 메일 동기화 클라이언트(118)로 할 수 있다. 한 예로서, 보안 연결은 보안 소켓 레이어(SSL: secure socket layer) 프로토콜 또는 공지된 다른 암호화 기술들을 사용하여 형성될 수 있다. 부가적으로, 메일 동기화 서버와 메일 동기화 클라이언트간의 연결은 네트워크를 통한 전용 연결 또는 경로이다. 연결을 통해 사용된 네트워크 프로토콜은 하이퍼텍스트 전송 프로토콜(HTTP:Hyper Text Transport Protocol) 또는 파일전송 프로토콜(FTP:File Transport Protocol)를 포함할 수 있지만 변경할 수 있다. 연결이 보안 연결일 경우, 연결 프로토콜은 보안 HTTP(또는 HTTPs)를 이용할 수 있다.
다음에, 판단블록(304)에서 메일 동기화 클라이언트가 이미 동기화 되었는지를 판단한다. 메일 동기화 클라이언트가 이미 동기화 되었을 경우, 동기화 처리과정(300)은 블록(306)에서 메일 동기화 서버가 메일 동기화 클라이언트와 이미 동기화 되었는지를 나타내도록 메일 동기화 서버에게 요구한다. 그리고 나서, 판단블록(308)에서 메일 동기화 서버가 이미 동기화 되었는지를 판단한다. 판단블록(308)이 메일 동기화 서버가 이미 동기화 되었다고 판단한 경우, 블록(310)에서, 메일 동기화 클라이언트와 메일 동기화 서버간의 갱신 동기화를 실행한다. 그 후에, 블록(314)에서 메일 동기화 클라이언트와 메일 동기화 서버간의 보안 연결이 종결된다. 블록(314) 다음에, 동기화 처리과정을 종료 및 완료한다.
선택적으로, 메일 동기화 클라이언트가 이미 동기화 되지 않았다고 판단블록(304)이 판단하거나 메일 동기화 서버가 이미 동기화 되지 않았다고 판단블록(308)이 판단하는 경우, 블록(312)에서 메일 동기화 클라이언트와 메일 동기화 서버간의 초기 동기화를 실행한다. 여기서, 하나 또는 양자는 서로간에 이미 동기화 되지 않기 때문에 갱신 동기화를 대신하여 초기 동기화가 실행된다. 블록(312) 다음에, 동기화 처리과정(300)은 블록(314) 및 후속 블록들을 실행한다.
도 3b는 본 발명의 일 실시예에 의한 초기 동기화(320)의 흐름도이다. 초기 동기화(320)는 예를 들면, 도 3a의 블록(312)과 결합된 처리과정이다. 초기 동기화(320)는 블록(322)에서 초기 동기화 처리과정을 실행함으로써 개시된다. 그리고 나서, 블록(324)에서 정규화 처리과정이 실행된다. 블록(324) 후에, 블록(326)에서 풀(pull) 동기화 처리과정이 실행된다. 블록(326) 다음에, 초기 동기화(320)를 완료 및 종료한다.
도 3c는 본 발명의 일 실시예에 의한 갱신(update) 동기화(330)의 흐름도이다. 갱신 동기화(330)는 예를 들면, 도 3a의 블록(310)과 결합된 처리과정이다. 갱신 동기화(330)는 블록(332)에서 갱신 동기화 처리과정을 실행함으로써 개시된다. 그리고 나서, 블록(334)에서 풀 동기화가 실행된다. 블록(334) 다음에, 갱신 동기화(330)를 완료 및 종료한다.
도 4는 본 발명의 일 실시예에 의한 클라이언트-측 초기 동기화 처리과정(400)의 흐름도이다. 클라이언트-측 초기 동기화 처리과정(400)은 예를 들면, 메일 동기화 클라이언트와 메일 동기화 서버간의 초기 동기화를 제공하도록 도 3a에 설명된 블록(312) 또는 도 3b에 설명된 블록(322)에 의해 실행된다.
클라이언트-측 초기 동기화 처리과정(400)은 블록(402)에서 컴퓨터의 메시지 리스트를 획득한다. 컴퓨터의 메시지 리스트는 컴퓨터와 결합된 메일 인박스에 존재하는 메시지의 리스트이다. 다음에, 전화기의 메시지 리스트를 요구한다. 전화기의 메시지 리스트는 전화기에 대한 메일 인박스에 존재하는 메시지의 리스트이다. 블록(404) 다음에, 판단블록(406)은 전화기의 메시지 리스트가 메일 동기화 클라이언트에서 요구 및 수신되었는지를 판단한다. 판단블록(406)은 전화기의 메시지 리스트이 수신될 때까지 클라이언트-측 초기 동기화 처리과정(400)을 대기한다. 일단 전화기의 메시지 리스트가 수신되면, 블록(408)에서 컴퓨터의 메시지 리스트는 미싱(missing) 메시지를 식별하기 위해 전화기의 메시지 리스트와 비교된다.
그리고 나서, 메일 동기화 클라이언트는 블록(410)에서 메일 동기화 서버로부터 미싱 메시지를 요구한다. 블록(410) 다음에, 판단블록(412)은 소정의 삽입 거래가 메일 동기화 서버로부터 수신된 임의의 요구된 미싱 메시지와 결합되었는지를 판단한다. 판단블록(412)은 그러한 삽입 거래가 수신될 때까지 클라이언트-측 초기 동기화 처리과정(400)을 대기한다. 일단 판단블록(412)에 의해 삽입 거래가 하나의 미싱 메시지를 수신하였다고 판단하면, 블록(414)에서 컴퓨터에 대한 인박스로 메시지의 삽입이 실행된다. 메시지는 서버 식별자(server identifier)에 의해 서버-측에서 식별되고 클라이언트 식별자에 의해 클라이언트-측에서 식별된다. 일단 메시지가 인박스로 삽입되면(블록(414)), 메시지는 클라이언트-측에 상호관계(예컨대, 맵)되므로 메시지에 대한 서버 식별자와 메시지에 대한 클라이언트 식별자는 상호관계(예컨대, 맵)된다.
블록(414) 다음에, 판단블록(416)은 처리할 미싱 메시지가 더 있는지를 판단한다. 판단블록(416)이 처리할 미싱 메시지가 더 있다고 판단하면, 클라이언트-측 초기 동기화 처리과정(400)은 판단블록(412) 및 후속 블록들을 반복하기 위해 복귀한다. 반면에, 일단 판단블록(416)이 처리할 미싱 메시지가 더 이상 없다고 판단하면, 클라이언트-측 초기 동기화 처리과정(400)을 완료 및 복귀한다.
부가적으로, 클라이언트-측 초기 동기화 처리과정(400)은 전화기 또는 이동장치에 대한 동기화 상태 정보(synchronization state information)를 삭제함으로써 개시된다. 클라이언트-측 초기 동기화 처리과정(400)은 또한 동기화 상태 정보를 삭제하기 위해 메일 동기화 서버로 요구를 발행할 수 있다. 클라이언트-측 초기 동기화 처리과정(400)은 초기 동기화가 처음 시작할 때 모든 동기화 상태 정보를 리셋하기 위해 작동한다. 판단블록(412)은 또한 메일 동기화 클라이언트가 메일 동기화 서버로부터 삽입 거래(transaction)의 수령에 대하여 무기한으로 대기하지 않도록 하기 위하여 시간종료(timeout) 조건을 포함할 수 있다. 그러한 시간종료 조건을 포함하는 메일 동기화 클라이언트와 메일 동기화 서버간의 통신을 제공하기 위해 사용되는 공중 네트워크가 제시되는 것이 유용하다.
도 5는 본 발명의 일 실시예에 의한 서버-측 초기 동기화 처리과정(500)의 흐름도이다. 서버-측 초기 동기화 처리과정(500)은 예를 들면, 도 2a에 설명된 메일 동기화 서버(206) 또는 도 2c에 설명된 메일 동기화 서버(216)에 의해 실행된다. 보다 상세하게, 서버-측 초기 동기화 처리과정(500)은 예를 들면, 메일 동기화 클라이언트와 메일 동기화 서버간의 초기 동기화를 제공하기 위하여 도 3b에 설명된 블록(322)에 의해 실행된다.
서버-측 초기 동기화 처리과정(500)은 전화기 메시지 리스트가 수신되었는지를 판단하는 판단블록(502)에서 개시된다. 여기서, 사실상, 서버-측 초기 동기화 처리과정(500)은 메일 동기화 서버가 메일 동기화 클라이언트로부터 전화기 메시지 리스트에 대한 요구를 수신할 때 야기된다. 일단 전화기 메시지 리스트에 대한 요구가 수신되면, 블록(504)에서 전화기 메시지 리스트는 메일 동기화 클라이언트로 전송된다. 만일 전화기 메시지 리스트를 아직 이용할 수 없으면, 전화기 메시지 리스트를 먼저 산출하고 나서 메일 동기화 클라이언트로 전송된다.
블록(504) 다음에, 판단블록(506)은 미싱 메시지 요구가 수신되었는지를 판단한다. 일단 미싱 메시지 요구가 수신되면, 판단블록(508)은 처리할 미싱 메시지가 더 있는지를 판단한다. 먼저, 정상적으로 하나 또는 그 이상의 미싱 메시지는 미싱 메시지 요구로 요구될 것이다. 그러므로, 하나 또는 그 이상의 미싱 메시지는 순서에 의해 처리되고 나서 미싱 메시지 요구로 나타난다. 어쨌든, 처리될 메시지가 더 있는 경우, 블록(510)에서 다음 미싱 메시지를 선택한다. 그리고 나서, 블록(512)에서 삽입 거래는 선택된 미싱 메시지를 준비시킨다. 다음에, 삽입 거래는 블록(514)에서 메일 동기화 클라이언트로 전송된다.
블록(514) 다음에, 판단블록(516)은 확인(acknowledgment)이 메일 동기화 클라이언트에 의해 수신되었는지를 판단한다. 판단블록(516)은 확인이 아직 수신되지 않았다고 판단하면, 판단블록(518)은 시간종료가 발생되었는지를 판단한다. 시간종료가 아직 발생되지 않으면, 서버-측 초기 동기화 처리과정(500)은 삽입 거래를 재전송하기 위해 블록(514)을 반복하기 위해 복귀한다. 반면에, 판단블록(518)이 시간종료가 발생되지 않았다고 판단하면, 블록(520)에서 에러 상태가 기록된다. 판단블록(516) 뿐만 아니라 블록(520) 다음에, 삽입 거래의 수령이 확인되고 전송되는 경우, 서버-측 초기 동기화 처리과정(500)은 판단블록(508) 및 후속 블록들을 반복하기 위해 복귀한다. 어쨌든, 일단 판단블록(508)이 처리될 미싱 메시지가 더 이상 없다고 판단하면, 서버-측 초기 동기화 처리과정(500)을 완료 및 종료한다.
도 4 및 5에 도시된 바와 같이 초기 동기화 다음에, 컴퓨터의 인박스에 존재하는 메시지와 함께 전화기의 인박스상에 존재하는 메시지를 동기화하기 위하여 정규화 처리과정 및 풀 동기화가 실행된다. 정규화 처리과정은 도 3b에 설명된 블록(324)과 관계하고, 풀 동기화는 도 3b에 설명된 블록(326) 및 도 3c에 설명된 블록(334)과 관계한다. 전형적으로 전화기의 인박스 크기는 컴퓨터에 의해 제공된 것보다 휠씬 작은 최대 크기를 가지므로, 인박스 내용의 동기화는 단지 전화기의 인박스의 범위까지이다.
도 6a 및 6b는 메일 동기화 클라이언트에 대한 정규화 처리과정(600)의 흐름도이다. 정규화 처리과정(600)은 예를 들면, 도 3b에 설명된 블록(324)에 의해 실행된다.
정규화 처리과정(600)은 블록(602)에서 전화기(전화) 인박스(MAX-MSGS)의 최대 메시지 수를 처음에 얻는다. 전형적으로, 이 최대 수는 메일 동기화 서버로부터 미리 얻거나 그 때 요구된다. 그리고 나서, 카운트 및 색인(i)은 블록(604)에서 제로(0)로 세트된다. 블록(604) 다음에, 판단블록(606)은 컴퓨터 인박스의 컴퓨터 메시지(i)가 전화기 인박스 범위 내에 있는지를 판단한다. 일 실시예에 의하면, 클라이언트 맵핑 테이블(212)은 컴퓨터 인박스의 컴퓨터 메시지(i)가 전화기 인박스(즉, 클라이언트 맵핑 테이블(212)내의 컴퓨터 메시지(i)에 대한 맵핑일 경우) 범위 내에 있는지를 신속히 판단할 수 있다. 판단블록(606)에 의해 컴퓨터 메시지(i)가 전화기 인박스 범위 내에 있다고 판단되면, 블록(608)에서 카운트는 증가된다. 반면에, 판단블록(606)이 컴퓨터 메시지(i)가 전화기 인박스 범위 내에 있지 않다고 판단하면, 블록(608)은 통과된다.
블록(606) 뿐만 아니라 블록(608) 다음에, 블록(610)에서 색인(i)은 증가된다. 그리고 나서, 블록(612)에서 판단블록(612)은 색인(i)이 전화기 인박스의 최대 메시지 수(MAX-MSGS)보다 큰지를 판단한다. 색인(i)이 전화기 인박스의 최대 메시지 수보다 크지 않으면, 정규화 처리과정(600)은 판단블록(606) 및 후속 블록들을 반복하기 위해 복귀하므로 추가적인 컴퓨터 메시지는 전화기 인박스 내의 추가적인 컴퓨터 메시지의 존재를 검사한다. 일단 판단블록(612)에 의해 색인(i)이 전화기 인박스의 최대 메시지 수보다 크다고 판단되면, 블록(614)에서 삭제 카운트(delete count)가 결정된다. 삭제 카운트는 전화기 인박스의 최대 메시지 수(MAX-MSGS)로부터 감산되는 카운트에 의해 결정될 수 있다.
다음에, 판단블록(616)은 삭제 카운트가 제로(0)보다 큰지를 판단한다. 판단블록(616)에 의해 삭제 카운트가 제로보다 크지 않다고 판단되면, 정규화 처리과정(600)을 완료 및 종료한다. 반면에, 판단블록(616)에 의해 삭제 카운트가 제로보다 크다고 판단되면, 판단블록(618)은 컴퓨터 메시지(i)가 전화기 인박스 범위 내에 있는지를 판단한다. 또, 일 실시예에 의하면, 클라이언트 맵핑 테이블(212)은 컴퓨터 인박스의 컴퓨터 메시지(i)가 전화기 인박스 범위 내에 있는지를 신속히 판단할 수 있다.
판단블록(618)에 의해 컴퓨터 메시지(i)가 전화기 인박스 밖이라고 판단되면, 처리과정은 전화기 인박스의 관련된 메시지를 삭제하기 위해 실행된다. 특히, 블록(620)에서 전화기 메시지(i)에 대한 삭제 거래(delete transaction)이 준비된다. 여기서, 삭제하기 위한 전화기 메시지(i)에 대한 클라이언트 식별자는 메일 동기화 서버에 의해 사용되는 관련 서버 식별자에 상호관계(예컨대, 맵)된다. 그리고 나서, 삭제 거래는 블록(622)에서 메일 동기화 서버로 전송된다. 바람직하게, 삭제 거래는 기확립된 보안 연결(도 3a, 블록(302))을 사용하여 메일 동기화 서버로 전송된다.
블록(622) 다음에, 판단블록(624)은 메일 동기화 서버로부터 확인될 때까지 정규화 처리과정(600)을 대기한다. 일단 판단블록(624)이 메일 동기화 서버로부터 확인이 수신되었다고 판단하면, 메시지가 전화기 인박스로부터 삭제되기 때문에 삭제 카운트는 블록(626)에서 감소된다. 다음에, 색인(i)은 블록(628)에서 증가된다. 블록(628) 다음에, 판단블록(630)은 색인(i)이 컴퓨터 메시지의 전체 수보다 큰지를 판단한다. 색인(i)이 컴퓨터 메시지의 전체 수보다 크지 않다고 판단되면, 정규화 처리과정(600)은 판단블록(616) 및 후속 블록들을 반복하기 위해 복귀한다. 반면에, 판단블록에 의해 색인(i)이 컴퓨터 메시지의 전체 수보다 크다고 판단되면, 정규화 처리과정(600)을 완료 및 종료한다.
반면에, 판단블록(618)에 의해 컴퓨터 메시지(i)가 이미 저화기 인박스에 있다고 판단되면, 블록들(620-626)은 통과된다. 어쨌든, 정규화 처리과정(600)은 전화기 인박스로부터의 임의의 메시지를 삭제하지 않는다.
도 7a 및 7b는 본 발명의 일 실시예에 의한 클라이언트-측 풀 동기화(700)의 흐름도이다. 풀 동기화(700)는 예를 들면, 도 1에 설명된 메일 동기화 클라이언트(118) 또는 도 2b에 설명된 메일 동기화 클라이언트(208)와 같은 메일 동기화 클라이언트에 의해 실행된다. 풀 동기화(700)는 클라이언트-측에 관한 도 3b에 설명된 블록(324)의 풀 동기화 처리과정 뿐만 아니라 클라이언트-측에 관한 도 3c에 설명된 블록(334)의 풀 동기화 처리과정의 실시예이다.
풀 동기화(700)는 블록(702)에서 메일 동기화 서버로부터의 전화기 인박스의 자유 슬롯 수(number of free slots)에 대한 요구에 의해 개시된다. 다음에, 판단블록(704)은 자유 슬롯 수가 메일 동기화 서버로부터 수신되었는지를 판단한다. 일단 판단블록(704)에 의해 자유 슬롯 수가 수신되었다고 판단되면, 색인은 블록(706)에서 제로(0)로 세트된다. 블록(706) 다음에, 판단블록(708)은 자유 슬롯 수가 영보다 큰지를 판단한다. 판단블록(708)에 의해 자유 슬롯 수가 영보다 크지 않다고 판단되면, 전화기 인박스가 손쉽게 풀(pull)되므로 더 이상의 처리과정이 필요없기 때문에 풀 동기화(700)를 완료 및 종료한다. 정규화 처리과정(600)은 전화기 인박스의 크기에 일치하는 컴퓨터 인박스의 초기 부분인 컴퓨터 인박스 내의 임의의 메시지와 같은 전화기 인박스에 잔존하는 메시지를 미리 형성한다.
반면에, 판단블록(708)에 의해 자유 슬롯 수가 전화기 인박스 내의 자유 슬롯이라고 판단되면, 추가적인 처리과정이 실행된다. 특히, 판단블록(710)은 컴퓨터 메시지(i)가 전화기 인박스 내에 있는지를 판단한다. 또, 일 실시예에 의하면, 클라이언트 맵핑 테이블(212)은 컴퓨터 인박스의 컴퓨터 메시지(i)가 전화기 인박스 범위 내에 있는지를 신속히 판단할 수 있다.
컴퓨터 메시지(i)가 전화기 인박스에 있지 않으면, 처리과정은 전화기 인박스로 컴퓨터 메시지(i)에 관련된 메시지를 삽입하기 위해 실행된다. 명확하게, 삽입 거래 요구는 블록(712)에서 준비된다. 삽입 거래 요구는 전화기 인박스로 컴퓨터 메시지(i)와 일치하는 신규 전화기 메시지를 삽입하기 위한 요구이다. 다음에, 삽입 거래 요구는 블록(714)에서 메일 동기화 서버로 전송된다. 바람직하게, 삽입 거래 요구는 기확립된 보안 연결(도 3a, 블록(302))을 사용하여 메일 동기화 서버로 전송된다. 그리고 나서, 판단블록(716)은 메일 동기화 서버가 삽입 거래 요구를 확인하고 메시지에 대한 전화기 메시지 식별자(ID)를 제공하였는지를 판단한다. 일단 판단블록(716)에 의해 확인 및 전화기 메시지 ID가 수신되었다고 판단되면, 전화기 메시지 ID는 블록(718)에서 컴퓨터 메시지 ID와 상호 관계시킨다. 이 상호 관계는 또한 전화기 메시지 식별자와 컴퓨터 메시지 식별자간의 관련(association) 또는 맵핑으로 참조될 수 있다. 일 실시예에 의하면, 전화기 메시지 ID는 제어 식별자이고 컴퓨터 메시지 ID는 전화기 메시지 ID에 맵핑된다. 한 바와 같이, 일 실시예에 의하면, 이러한 맵핑은 도 2b에 설명된 클라이언트 맵핑 테이블(212)에 저장될 수 있다. 다음에, 자유 슬롯 수는 미리 사용가능한 임의의 자유 슬롯이 가득 채워졌기 때문에 블록(720)에서 감소된다. 또한, 색인(i)은 블록(722)에서 증가된다. 블록(722) 다음에, 판단블록(724)은 색인(i)이 컴퓨터 메시지의 전체 수보다 큰지를 판단한다. 판단블록(724)에 의해 색인(i)이 컴퓨터 메시지의 전체 수보다 크지 않다고 판단되면, 풀 동기화(700)는 판단블록(708) 및 후속 블록들을 반복하기 위해 복귀한다. 선택적으로, 판단블록(724)에 의해 색인(i)이 컴퓨터 메시지의 전체 수보다 크다고 판단되면, 풀 동기화(700)를 완료 및 종료한다.
반면에, 판단블록(710)에 의해 컴퓨터 메시지(i)가 이미 전화기 인박스에 있다고 판단되면, 풀 동기화 처리과정(700)은 블록들(712-720)을 통과한다. 블록들(712-720)은 메시지가 이미 전화기 인박스에 존재하므로 전화기 인박스로 메시지를 삽입할 필요가 없기 때문에 통과될 수 있다.
도 8은 본 발명의 일 실시예에 의한 서버-측 풀 동기화(800)의 흐름도이다. 풀 동기화(800)는 예를 들면, 도 2a에 설명된 메일 동기화 서버(206) 또는 도 2c에 설명된 메일 동기화 서버(216)와 같은 메일 동기화 서버에 의해 실행된다. 풀 동기화(800)는 서버-측에 관한 도 3b에 설명된 블록(326)의 풀 동기화 처리과정 뿐만 아니라 서버-측에 관한 도 3c에 설명된 블록(334)의 풀 동기화 처리과정의 실시예이다.
풀 동기화(800)는 자유 슬롯 요구가 메일 동기화 클라이언트로부터 수신되었는지를 판단하는 판단블록(802)에 의해 개시된다. 판단블록(802)에 의해 자유 슬롯 요구가 메일 동기화 클라이언트로부터 수신되었다고 판단되면, 자유 슬롯 수는 블록(804)에서 결정된다. 그리고 나서, 블록(806)에서 자유 슬롯 수는 메일 동기화 클라이언트로 전송된다. 반면에, 판단블록(802)에 의해 자유 슬롯 요구가 메일 동기화 클라이언트로부터 수신되지 않았다고 판단되면, 블록(804) 및 블록(806)은 통과된다.
판단블록(802)에서 자유 슬롯 요구가 수신되지 않은 경우뿐만 아니라 블록(806)에서 자유 슬롯 요구가 수신되는 경우 다음에, 판단블록(808)은 삽입 거래 요구가 수신되었는지를 판단한다. 판단블록(808)에 의해 삽입 거래 요구가 메일 동기화 클라이언트로부터 수신되지 않았다고 판단되면, 풀 동기화(800)는 판단블록(802) 및 후속 블록들을 반복하기 위해 복귀하므로 그 후에 수신된 요구들의 처리과정이 처리될 수 있다. 반면에, 판단블록(808)에 의해 삽입 거래 요구가 메일 동기화 클라이언트로부터 수신되었다고 판단되면, 블록(810)에서 전화기 인박스로 메시지의 삽입이 실행된다. 그리고 나서, 전화기 메시지 ID가 블록(812)에서 산출된다. 그 후에, 블록(814)에서 전화기 메시지 식별자와 함께 확인이 메일 동기화 클라이언트로 전송된다. 블록(814) 다음에, 풀 동기화(800)는 블록(802) 및 후속 블록들을 반복하기 위해 복귀되므로 그 후에 수신된 요구들이 처리될 수 있다.
도 9a 및 9b는 본 발명의 일 실시예에 의한 클라이언트-측 갱신 동기화 처리과정(900)의 흐름도이다. 클라이언트-측 갱신 동기화 처리과정(900)은 예를 들면, 도 1에 설명된 메일 동기화 클라이언트(118) 또는 도 2b에 설명된 메일 동기화 클라이언트(208)와 같은 메일 동기화 클라이언트에 의해 실행된다. 클라이언트-측 갱신 동기화 처리과정(900)은 클라이언트-측에 관한 도 3a에 설명된 블록(310)에 실행되는 처리과정의 실시예이다.
블록(902)에서 클라이언트-측 갱신 동기화 처리과정(900)은 먼저 동작 리스트를 생성한다. 동작 리스트는 마지막 동기화 때부터 발생되는 변화를 설명한다. 동작 리스트는 다양한 방법으로 산출될 수 있다. 동작 리스트를 산출할 수 있는 한 방법은 마지막 동기화 때부터 메일 동기화 클라이언트와 관련된 로컬 메일 서버에 대해 발생되는 모든 사건들을 추적하는 것이다. 일 실시예에 의하면, 동작 리스트는 인박스에 대한 변화에 제한된다. 다른 실시예에 의하면, 동작 리스트는 인박스에 대한 변화에 제한되지 않지만 예를 들면, 아웃박스에 대한 변화를 포함한다. 동작 리스트를 산출 또는 생성하는 다른 방법은 동기화가 시작할 때 로컬 메일 서버의 인박스(아웃박스)의 상태를 저장하고, 그리고 나서 다음 번 동기화가 시작되는 것이고, 저장된 인박스(아웃박스)와 현재 인박스간의 비교가 확립되고 차이들은 동작 리스트 내의 동작 항목으로 변환된다.
블록(902) 다음에, 판단블록(904)은 동작 리스트가 비어 있는지를 판단한다. 이 시점에서, 동작 리스트가 비어 있고 동작 리스트 내에 처리될 동작들이 있다고 가정한다. 그러므로, 동작 리스트가 비어 있지 않으면, 블록(906)에서 다음 동작이 동작 리스트로부터 선택된다. 먼저, 동작 리스트로부터 제 1 동작이 선택될 수 있다. 그리고 나서, 동기화 동작 메시지는 블록(908)에서 선택된 동작에 준비된다. 그리고 나서, 동기화 동작 메시지는 블록(910)에서 메일 동기화 서버로 전송된다. 바람직하게, 동기화 동작 메시지는 기확립된 보안 연결(도 3a, 블록(302))을 사용하여 메일 동기화 서버로 전송된다. 동기화 동작 메시지는 신규 메시지의 삽입, 읽기 또는 읽지 않음과 같은 메시지 표시, 휴지통(trash area)으로 메시지 이동, 휴지통으로부터 메시지 회복 또는 메시지 말소(destroy)를 포함하는 다양한 운영 또는 동작을 실행하기 위해 메일 동기화 서버를 요구할 수 있다.
블록(910) 다음에, 판단블록(912)은 메일 동기화 서버가 동기화 동작 메시지를 확인하고 전화기 메시지 ID를 제공하는지를 판단한다. 예를 들면, 메시지의 삽입에 요구된 동작 메시지의 경우에, 메일 동기화 클라이언트는 메일 동기화 서버로부터의 확인 및 전화기 메시지 ID에 응하여 수신하기를 기대한다. 판단블록(912)에 의해 메일 동기화 서버가 전화기 메시지 ID와 함께 동기화 동작 메시지를 확인하지 않았다고 판단되면, 판단블록(914)은 메일 동기화 서버가 단지 동기화 동작 메시지를 확인하였는지를 판단한다. 판단블록(914)에 의해 메일 동기화 서버가 아직도 동기화 동작 메시지를 확인하지 않았다고 판단되면, 판단블록(916)은 시간종료가 발생했는지를 판단한다. 시간종료가 발생하지 않으면, 클라이언트-측 갱신 동기화 처리과정(900)은 블록(910) 및 후속 블록들을 반복하기 위해 복귀되므로 원한다면 동기화 동작 메시지를 전송할 수 있다. 선택적으로, 판단블록(916)에 의해 시간종료가 발생했다고 판단되면, 블록(918)에서 에러 상태가 기록된다.
반면에, 판단블록(912)에 의해 메일 동기화 서버가 동기화 동작 메시지를 확인하고 전화기 메시지 ID를 제공했다고 판단되면, 블록(920)에서 전화기 메시지 ID는 컴퓨터 메시지 식별자와 상호 관계된다. 블록(920) 다음에, 메일 동기화 서버가 동기화 동작 메시지를 정말로 확인할 때의 블록(914) 다음 및 블록(918) 다음에, 블록(922)에서 선택된 동작은 동작 리스트로부터 삭제된다. 블록(922) 다음에, 클라이언트-측 갱신 동기화 처리과정(900)은 판단블록(904) 및 후속 블록들을 반복하기 위해 복귀되므로 동작 리스트내의 추가적인 동작 항목들이 처리될 수 있다.
판단블록(904)을 반복하면, 동작 리스트내의 모든 동작 항목이 처리되기 때문에 동작 리스트는 결국 비어 있게 될 것이다. 그러므로, 판단블록(904)에 의해 동작 리스트가 비어 있다고 판단되는 경우, 블록(924)에서 교체 요구(swap request)는 메일 동기화 서버로 전송된다. 교체 요구는 메일 동기화 서버의 동기화 동작을 실행하기 위해 메일 동기화 서버에 신호를 보낸다. 그러므로, 지금까지, 클라이언트-측에 발생된 동작들은 서버-측으로 통과시키고 나서 갱신되고, 서버-측에 발생된 동작들은 클라이언트-측으로 제공되고 나서 갱신된다.
블록(924) 다음에, 판단블록(926)은 동작 메시지가 수신되었는지를 판단한다. 여기서, 클라이언트-측 갱신 동기화 처리과정(900)은 메일 동기화 서버로부터 동작 메시지의 수령을 기다린다. 판단블록(926)에서 동작 메시지가 수신되지 않은 경우, 판단블록(928)은 동기화 완료 메시지가 수신되었는지를 판단한다. 동기화 완료 메시지는 동기화가 완료될 경우 전송되고 클라이언트-측 갱신 동기화 처리과정(900)을 종료한다. 일 실시예에 의하면, 동기화 완료 메시지는 교체 메시지로 할 수 있다.
이와 같이, 판단블록(928)에 의해 동기화 완료 메시지가 수신되었다고 판단되면, 클라이언트-측 갱신 동기화 처리과정(900)을 완료 및 종료한다. 선택적으로, 판단블록(928)에 의해 동기화 완료 메시지가 수신되지 않았다고 판단되면, 클라이언트-측 갱신 동기화 처리과정(900)은 판단블록(926) 및 후속 블록들을 반복하기 위해 복귀되므로 그 후에 수신된 메시지가 처리될 수 있다.
일단 판단블록(926)에 의해 동작 메시지가 수신되었다고 판단되면, 블록(930)에서 동기화 동작 메시지에 의해 요구된 동기화 동작은 실행된다. 동기화 동작 메시지는 신규 메시지의 삽입, 읽음 또는 읽지 않음과 같은 메시지 표시, 휴지통(trash area)으로 메시지 이동, 휴지통으로부터 메시지 회복, 메일 동기화 서버에 더 이상 메시지를 맵하지 않거나 메시지 삭제를 포함하는 다양한 다른 동기화 동작들을 요구할 수 있다. 신규 메시지의 삽입에 대한 동작이 수신되면, 서버 메시지 ID는 클라이언트 메시지 ID와 상호 관계된다. 블록(930) 다음에, 블록(932)에서 확인 메시지는 메일 동기화 서버로 전송된다. 바람직하게, 확인 메시지는 기확립된 보안 연결(도 3a, 블록(302))을 사용하여 메일 동기화 서버로 전송된다. 블록(932) 다음에, 클라이언트-측 갱신 동기화 처리과정은 판단블록(926) 및 후속 블록들을 반복하기 위해 복귀되므로 추가적인 동작 메시지들이 수령되면 추가적인 동작 메시지들을 처리할 수 있다.
도 10a 및 10b는 본 발명의 실시예에 의한 서버-측 갱신 동기화 처리과정(1000)의 흐름도이다. 서버-측 갱신 동기화 처리과정(1000)은 예를 들면, 도 2b에 설명된 메일 동기화 서버(206) 또는 도 2c에 설명된 메일 동기화 서버(216)와 같은 메일 동기화 서버에 의해 실행된다. 서버-측 갱신 동기화 처리과정(1000)은 서버-측에 관한 도 3a에 설명된 블록(310)에서 실행된 처리과정의 실시예이다.
서버-측 갱신 동기화 처리과정(1000)은 동작 메시지가 수신되었는가를 판단하는 판단블록(1002)에서 개시한다. 판단블록(1002)에 의해 동작 메시지가 수신되었다고 판단되면, 블록(1004)에서 동기화 동작 메시지에 의해 요구된 동기화 동작은 실행된다. 그리고 나서, 판단블록(1006)은 신규 전화기 메시지 ID가 필요한지를 판단한다. 판단블록(1006)에 의해 신규 전화기 메시지 ID가 필요하지 않다고 판단되면, 블록(1008)에서 확인 메시지는 메일 동기화 클라이언트로 전송된다. 선택적으로, 판단블록(1006)에 의해 신규 전화기 메시지 ID가 필요하다고 판단되면, 블록(1010)에서 전화기 메시지 ID가 산출된다. 그리고 나서, 블록(1012)에서, 전화기 메시지 ID와 함께 확인이 메일 동기화 클라이언트로 전송된다. 블록(1012) 다음 및 블록(1008) 다음에, 서버-측 갱신 동기화 처리과정(1000)은 판단블록(1012) 및 후속 블록들을 반복하기 위해 복귀된다.
반면에, 판단블록(1002)에 의해 동작 메시지가 수신되지 않았다고 판단되면, 판단블록(1014)은 교체 요구가 수신되었는지를 판단한다. 메일 동기화 클라이언트로부터의 교체 요구는 메일 동기화 서버의 동기화 동작을 실행할 것을 메일 동기화 서버에 알린다. 그러므로, 지금까지, 클라이언트-측에 발생된 동작들은 서버-측으로 통과시키고 나서 갱신되고, 서버-측에 발생된 동작들은 클라이언트-측으로 제공되고 나서 갱신된다.
판단블록(1014)에 의해 교체 요구가 수신되지 않았다고 판단되면, 서버-측 갱신 동기화 처리과정(1000)은 판단블록(1002) 및 후속 블록들을 반복하기 위해 복귀된다. 그렇지만, 판단블록(1014)에 의해 교체 요구가 수신되었다고 판단되면, 메일 동기화 서버는 서버-측에 발생된 변화를 처리하기 위해 동작되므로 클라이언트-측은 그것에 따라서 갱신된다. 특히, 마지막 동기화 때부터의 변화를 설명하는 동작 리스트는 블록(1016)에서 생성된다. 전형적으로, 서버-측에서의 동작 리스트는 서버-측 메일 서버(예컨대, 인박스 또는 아웃박스)에 형성된 변화 또는 변경과 같이 생성된다. 그러므로, 교체 요구가 수신되면, 동작 리스트는 이미 준비될 수 있다. 블록(1016) 다음에, 판단블록(1018)은 동작 리스트가 비어 있는지를 판단한다. 이 시점에서, 동작 리스트는 처음에 비어 있지 않다고 가정한다. 그러므로, 판단블록(1018)에 의해 동작 리스트가 비어 있지 않다고 판단되면, 다음 동작이 동작 리스트로부터 선택된다(1020). 먼저, 동작 리스트의 제 1 동작이 선택될 것이다. 다음에, 동기화 동작 메시지는 블록(1022)에서 선택된 동작에 대해 준비된다. 그리고 나서, 블록(1024)에서 동기화 동작 메시지는 메일 동기화 클라이언트로 전송된다. 블록(1024) 후에, 판단블록(1026)은 메일 동기화 클라이언트가 동기화 동작 메시지를 확인하였는지를 판단한다. 판단블록(1026)에 의해 확인이 수신되지 않았다고 판단되면, 판단블록(1028)은 시간종료가 발생되었는지를 판단한다. 판단블록(1028)에 의해 시간종료가 아직 발생하지 않았다고 판단되면, 서버-측 갱신 동기화 처리과정(1000)은 블록(1024) 및 후속 블록들을 반복하기 위해 복귀한다. 선택적으로, 판단블록(1028)에 의해 시간종료가 발생했다고 판단되면, 블록(1030)에서 에러 상태가 기록된다. 블록(1030) 다음 또는 확인이 메일 동기화 클라이언트로부터 수신되는 경우의 판단블록(1026) 다음에, 블록(1032)에서 선택된 동작은 동작 리스트로부터 삭제된다. 블록(1032) 다음에, 서버-측 갱신 동기화 처리과정(1000)은 판단블록(1018) 및 후속 블록들을 반복하기 위해 복귀한다. 일단 판단블록(1018)에 의해 동작이 비어 있다고 판단되면, 블록(1038)에서 동기화 완료 메시지는 전송된다. 일 실시예에 의하면, 동기화 완료 메시지는 교체 메시지로 할 수 있다. 이 시점에서, 클라이언트-측 및 서버-측의 갱신 동기화 처리과정은 완료한다.
전화기 인박스와 컴퓨터 인박스의 동기화 예는 본 발명의 동작을 보다 상세하게 설명된다. 먼저, 컴퓨터 인박스 및 전화기 인박스의 각각의 내용은 다음과 같다고 가정한다. 전화기 인박스는 적어도 컴퓨터 인박스의 크기와 비교해서 자원 제약조건에 기인한 크기(예컨대, 단지 6 메일 슬롯)로 때때로 제한된다.
컴퓨터슬롯 ID
12345678910.... C1C2C3C4C5C6C7C8C9C10
전화기슬롯 ID
123456 215471470-
이 예에 의하면, 컴퓨터 인박스는 먼저 슬롯 1-10의 메시지를 포함하고 남는 슬롯은 열어둔다. 정상적으로, 인박스는 주요 라인(subject line)과 센더(sender)와 같은 메시지 설명어(message descriptors)를 단지 디스플레이한다. 슬롯 1-10의 메시지들은 또한 컴퓨터 식별자 C1-C10에 의해 컴퓨터 시스템 안에서 식별된다. 대조에 의하면, 전화기 인박스는 먼저 슬롯 1-5의 메시지를 포함하고 6번째 슬롯은 열어둔다. 전화기 인박스의 슬롯 1-6의 메시지들은 전화기 메시지 식별자 21, 54, 7, 14 및 70에 의해 전화기 안에서 식별된다.
다음에, 컴퓨터 인박스 및 전화기 인박스는 초기 동기화(예컨대, 블록(322), 도 3b)를 수행한다. 여기서, 컴퓨터 인박스가 아닌 전화기 인박스의 메시지들은 메일 동기화 서버에 의해 검색되고 컴퓨터 인박스로 삽입된다. 이 예에 의하면, 전화기 메시지 식별자 21, 54, 7, 14 및 70을 가진 메시지들은 검색되고 컴퓨터 인박스로 삽입되고 각각의 컴퓨터 메시지 식별자 C11-C15에 배정된다. 또한, 이러한 메시지에 대한 맵핑이 구성되고 메일 동기화 클라이언트에 저장된다. 맵핑은 컴퓨터 메시지 식별자와 전화기 메시지 식별자를 관련시킨다. 여기서, 컴퓨터 인박스로 삽입된 메시지들은 날짜 순서(예컨대, 수신된 날짜)로 재정리된다. 이 예에 의하면, 메시지 식별자 C11, 메시지 C3-C10을 가진 메시지를 현재 포함하는 컴퓨터 인박스의 슬롯 3은 한 슬롯 아래로 이동하고, 슬롯 12-15가 채워진다.
컴퓨터슬롯 ID 맵핑
123456789101112131415 C1C2C11C3C4C5C6C7C8C9C10C12C13C14C15 215471470
전화기슬롯 ID
123456 215471470
다음에, 컴퓨터 인박스 및 전화기 인박스는 초기 동기화(예컨대, 블록(322), 도 3b)를 경험한다. 여기서, 컴퓨터 인박스가 아닌 전화기 인박스의 메시지들은 메일 동기화 서버에 의해 검색되고 컴퓨터 인박스로 삽입된다. 이 예에 의하면, 전화기 메시지 식별자 21, 54, 7, 14 및 70을 가진 메시지들은 검색되고 컴퓨터 인박스로 삽입되고 각각의 컴퓨터 메시지 식별자 C11-C15에 배정된다. 또한, 이러한 메시지에 대한 맵핑이 구성되고 메일 동기화 클라이언트에 저장된다. 맵핑은 컴퓨터 메시지 식별자와 전화기 메시지 식별자를 관련시킨다. 여기서, 컴퓨터 인박스로 삽입된 메시지들은 날짜 순서(예컨대, 수신된 날짜)로 재정리된다. 이 예에 의하면, 메시지 식별자 C11, 메시지 C3-C10을 가진 메시지를 현재 포함하는 컴퓨터 인박스의 슬롯 3은 한 슬롯 아래로 이동하고, 슬롯 12-15이 채워진다.
컴퓨터슬롯 ID 맵핑
123456789101112131415 C1C2C11C3C4C5C6C7C8C9C10C12C13C14C15 21
전화기슬롯 ID
123456 21-----
정규화 다음에, 풀 동기화는 컴퓨터 인박스로부터의 메시지를 전화기 인박스에 채우기 위해 실행되므로 메시지의 동일 리스트는 양 인박스들에 나타난다. 풀 동기화가 실행된 후에, 컴퓨터 인박스 및 전화기 인박스들은 다음과 같다.
컴퓨터슬롯 ID 맵핑
123456789101112131415 C1C2C11C3C4C5C6C7C8C9C10C12C13C14C15 1001621582115
전화기슬롯 ID
123456 1001621582115
이 시점에서, 초기 동기화는 완료된다. 그 후에, 사용자가 판독, 전송, 수신, 삭제 또는 회복 메시지의 문맥에 상호 작용하기 때문에 갱신 동기화는 컴퓨터 인박스 및 전화기 인박스의 동기화된 상태를 유지하기 위해 주기적으로 실행된다.
갱신 동기화 도달에 대한 주기 시간의 경우, 갱신 동기화는 사용자 상호 작용의 필요없이 실행된다. 이 시점에서, 컴퓨터 인박스가 다음과 같다고 가정한다.
컴퓨터슬롯 ID 맵핑
123456789101112131415 C2C11C3C4C5C6C7C8C9C10C12C13C14C15- 1621582115
여기서, 초기 동기화(또는 마지막 동기화)의 완료 다음의 상태와 비교하는 컴퓨터 인박스는 두 가지 변화가 발생함을 나타낸다. 두 가지 변화는 (1) 컴퓨터 메시지 식별자 C1을 가진 컴퓨터 메시지는 컴퓨터 시스템에서 메일 시스템과 상호 작용하는 사용자에 의해 삭제되고, (2) 컴퓨터 메시지 식별자 C2를 가진 컴퓨터 메시지는 판독되고 판독에 따라 표시되는 것이다. 이 실시예에 의하면, 메시지가 읽기 또는 읽지 않음 되는지에 관해서는 구별되지 않으므로 메시지 식별자 C2는 컴퓨터 인박스의 다른 메시지에 대한 동일 상대 위치에 머문다. 그렇지만, 다은 실시예는 판독 메시지 전에 미판독 메시지를 기입할 수 있다. 따라서, 동작 리스트는 다음과 같은 예에 대한 메일 동기화 클라이언트와 관련된다.
동작 리스트: (클라이언트에 대한)
삭제 메시지 (100)
표시 메시지 (16) 판독
동작 리스트는 컴퓨터 인박스의 상태를 비교함으로써 동작 리스트를 구성하거나 컴퓨터 인박스에 영향을 주는 사건을 추적함으로써 결정될 수 있다.
메일 동기화 클라이언트와 관련된 동작 리스트에 기인하여, 전화기 인박스는 갱신되고 다음과 같이 된다. 즉, 전화기 메시지 식별자 100을 가진 메시지는 전화기 인박스로부터 삭제된다. 전화기 메시지 식별자 16을 가진 메시지의 표시는 도시되지 않지만 전형적으로 메시지 기술어에 의해 그림과 같이 나타난다.
전화기슬롯 ID
123456 129162158115
그 후에, 교체 명령(swap command)이 발생되고 메일 동기화 서버는 전화기 인박스에 대한 갱신 동기화를 처리한다. 갱신 동기화를 시작하기 전에, 전화기 인박스는 다음과 같다고 가정한다.
전화기슬롯 ID
123456 129100162158-
갱신 동기화가 시작(마지막 동기화 때부터)할 때에 발생되는 변화는 전화기 메시지 식별자 129를 가진 메시지가 전화기 인박스로 삽입된다는 것이다. 인박스 상태의 비교 또는 변화 추적에 의해, 메일 동기화 서버에 대한 동작 리스트는 다음과 같다.
동작 리스트: (서버에 대한)
삽입 메시지 (129)
삭제 메시지 (2)
컴퓨터 인박스는 그리고 나서 메일 동기화 서버로부터 사기 동작 리스트에 의해 갱신된다. 명확하게, 신규 메시지 C16은 컴퓨터 인박스에 추가되고 전화기 메시지 식별자 129로 맵핑된다.
컴퓨터슬롯 ID 맵핑
123456789101112131415 C16C2C11C3C5C6C7C8C9C10C12C13C14C15- 129162158115
그리고 나서, 풀 동기화는 컴퓨터 인박스로부터의 메시지를 전화기 인박스에 채우기 위해 실행되므로 메시지의 동일 리스트는 양 인박스들에 나타난다. 여기서, 전화기 메시지 식별자 95는 전화기 인박스의 슬롯 6에 추가되고 컴퓨터의 인박스에 맵된다. 풀 동기화가 실행된 후에, 컴퓨터 인박스 및 전화기 인박스는 다음과 같다. 이 시점에서, 전화기 인박스의 메시지를 컴퓨터 인박스( 전화기 인박스의 크기의 범위에 대하여)의 일치하는 슬롯에 일치하도록 동기화는 갱신된다.
컴퓨터슬롯 ID 맵핑
123456789101112131415 C2C11C3C5C6C7C8C9C10C12C13C14C15-- 12921581151995
전화기슬롯 ID
123456 12921581151995
본 발명의 다른 양태는 사용자에게 이동장치로부터 동기화 동작을 시작하도록 허용하는 기술에 관계한다. 전형적으로, 본 발명의 초기 양태에 관하여 한 바와 같이, 동기화 동작은 사용자 상호 작용없이 자동으로 트리거된다. 그렇지만, 사용자는 그들이 그러한 동기화를 발생시킬 시간 또는 방법을 종종 구성할 수 있다. 방화벽의 존재를 가정하기 때문에 자동 트리거는 클라이언트 측 즉, 메일 동기화 클라이언트로부터 발생한다. 방화벽(블록(122), 도 1에 도시)은 전형적으로 인터넷에 로컬 네트워크(예컨대, 인트라넷)를 안전하게 연결하기 위해 제시된다. 그러한 방화벽은 전자메일을 제외한 로컬 네트워크의 외부로부터의 모든 네트워크 소통량(traffic)을 허용하지 않는다. 결과로서, 방화벽이 제시되는 경우, 이동장치 또는 이동장치 사용자는 동기화 동작을 시작할 수 없다. 이동장치로부터의 수동(manual) 동기화 요구는 예를 들면, 상대적으로 긴 동기화 간격으로 구성된 사용자에게 유용하지만, 중간기(interim)를 원하는 사용자는 이동장치로부터 전자메일을 판독 및 전송할 때 사용자들이 통용되는 것이 보증되어야 한다.
본 발명의 이 양태에 의하면, 이동장치 또는 이동장치 사용자는 이동장치상의 동기화 명령, 버튼 또는 아이콘을 선택함으로써 동기화 동작을 수동으로 시작할 수 있다. 선택의 효과는 이동장치가 로컬 메일 시스템으로 특별한 동기화 전자메일 메시지를 전송하는 것이다. 특별한 동기화 전자메일 메시지는 특정 단어 또는 어드레스의 번호, 특별한 동기화 전자메일 메시지의 주요 라인 또는 본문을 포함하는 것과 같은 다양한 형태를 취할 수 있다. 특별한 동기화 전자메일 메시지는 로컬 네트워크를 보호하기 위해 제시된 방화벽을 통과할 수 있다. 그리고 나서, 메일 동기화 클라이언트는 메시지의 수신을 인지할 수 있고 그것에 응하는 동기화 동작(세션(session))을 트리거한다. 그 후에, 특별한 동기화 전자메일 메시지는 사용자가 그러한 메시지를 찾지 않을 때 로컬 메일 시스템(예컨대, 컴퓨터 인박스로부터)으로부터 삭제된다.
도 11a는 본 발명의 일 실시예에 의한 서버-측 동기화 초기 처리과정(1100)의 흐름도이다. 서버-측 동기화 초기 처리과정(1100)은 예를 들면, 도 2a에 설명된 메일 동기화 서버(206) 또는 도 2c에 설명된 메일 동기화 서버(216)에 의해 실행된다. 서버-측 동기화 초기 처리과정(1100)은 수동 동기화 요구가 수신되었는가를 판단하는 판단블록(1102)으로 개시한다. 여기서, 판단블록(1102)은 이동장치의 사용자가 이동장치와 관련된 명령, 버튼, 아이콘 또는 다른 표시기를 선택함으로써 동기화 동작을 요구하는지를 판단하기 위해 동작한다. 어쨌든, 그러한 동기화 요구가 수신되면, 서버-측 동기화 초기 처리과정(1100)은 효과적으로 실시된다. 일단 실시되면, 블록(1104)에서 특별한 동기화 전자메일 메시지는 자동적으로 생성된다. 그리고 나서, 특별한 동기화 전자메일 메시지는 블록(1106)에서 메일 동기화 클라이언트로 전송된다. 블록(1106) 다음에, 서버-측 동기화 초기 처리과정(1100)을 완료 및 종료한다.
도 11b는 본 발명의 일 실시예에 의한 클라이언트-측 동기화 초기 처리과정(1150)의 흐름도이다. 클라이언트-측 동기화 초기 처리과정(1150)은 예를 들면, 도 1에 설명된 메일 동기화 클라이언트(118) 또는 도 2b에 설명된 메일 동기화 클라이언트(208)에 의해 실행된다. 클라이언트-측 동기화 초기 처리과정(1150)은 특별한 동기화 메시지가 로컬 메일 시스템 안에 수신되었는지를 판단하는 판단블록(1152)에 의해 개시된다. 하면, 특별한 동기화 전자메일 메시지는 도 11a의 블록(1106)에서 메일 동기화로 전송된다. 특히, 판단블록(1152)은 특별한 동기화 메시지가 컴퓨터 인박스에서 수신되었는지를 판단한다. 일단 특별한 동기화 메시지가 수신되었다고 판단되면, 클라이언트-측 동기화 초기 처리과정(1150)은 효과적으로 실시된다. 일단 실시되면, 블록(1154)에서 특별한 동기화 전자메일 메시지는 컴퓨터 인박스로부터 삭제된다. 사용자가 그러한 메시지를 판독하는 것을 원하지 않기 때문에 특별한 동기화 전자메일 메시지의 삭제가 실행된다. 다음에, 블록(1156)에서 동기화 동작(세션)이 시작된다. 동기화 동작은 도 3a 및 연속 도면들에 관하여 상술한 바와 같이 처리될 수 있다. 블록(1156) 다음에, 클라이언트-측 동기화 초기 처리과정(1150)을 완료 및 종료한다.
본 발명의 다른 양태는 이동장치와 개인용 컴퓨터(예컨대, 데스크탑 컴퓨터)간의 출력 전자메일을 자동적으로 동기화하기 위한 능력에 관계한다. 종종, 전자메일은 내부 네트워크(예컨대, 인트라넷) 또는 외부 네트워크(예컨대, 인터넷)를 위해 생성된다. 네트워크의 특수한 유형에 의하면, 전자메일 어드레스는 다르다. 또한, 전자메일이 인터넷을 통해 전송되는 경우에는, 인터넷이 공중 네트워크이기 때문에 보안상의 손실이 있다. 대조하면, 인트라넷을 통해 전송되는 전자메일은 사업상 전형적으로 제한되는 인트라넷의 영역 내에서 보호되기 쉽다. 사용자의 인트라넷 메일 시스템내의 전자메일 어드레스는 이동장치에 사용되는 전자메일 어드레스와 호환되거나 호환되지 않을 수 있고, 사용자의 인트라넷 메일 시스템은 이동장치에 연결된 데이터 네트워크에 게이트웨이(gateway)를 가지거나 갖지 않을 수 있다. 그러므로, 이동장치로 하여금 사용자의 개인용 컴퓨터(예컨대, 데스크탑 컴퓨터)에 결합된 인트라넷을 통하여 사용자에게 보안 방법으로 전자메일의 전송을 용이하게 할 필요가 있다.
도 12는 본 발명의 실시예에 의한 출력 메일 동기화 처리과정(1200)의 흐름도이다. 출력 메일 동기화 처리과정(1200)은 도 2a에 설명된 메일 동기화 서버(206) 또는 도 2c에 설명된 메일 동기화 서버(216)와 같은 메일 동기화 서버에 의해 처음으로 실행된다. 출력 메일 동기화 처리과정(1200)은 메시지가 작성되고 그리고 나서 이동장치로부터 전송될 때 개시된다. 그러므로, 출력 메일 동기화 처리과정(1200)은 처음에 블록(1202)에서 출력 전자메일 메시지를 준비한다. 그리고 나서, 판단블록(1204)에서, 사용자는 출력 전자메일 메시지가 동기화를 거쳐 전송될 수 있도록 요구되었는가에 관하여 판단한다.
판단블록(1204)에 의해 출력 전자메일 메시지가 동기화를 거쳐 전송되지 않았다고 판단되면, 출력 전자메일 메시지는 재래식 방식의 이동장치로부터 전송된다. 명확하게, 블록(1206)에서 전자메일 메시지는 SMTP (Small Message Transport Protocol)에 의한 인터넷을 통하여 전송된다. 여기서, 전자메일 메시지는 재래식 프로토콜 SMTP를 사용하는 공중 네트워크(예컨대, 인터넷)를 통하여 전송되므로 불안전한 방법으로 된다. 다음에, 블록(1208)에서 전자메일 메시지는 전화기의 전송 메시지 박스에 배치된다. 그리고 나서, 블록(1209)에서 전송 메시지 동작이 동작 리스트에 추가되므로 전송된 메시지는 동기화를 거쳐 컴퓨터의 전송 메시지 박스에 복사될 수 있다. 블록(1209) 다음에, 출력 메일 동기화 처리과정(1200)은 출력 메일 메시지가 동기화 되는 중에 전송되도록 요구되지 않은 경우에 완료 및 종료한다.
반면에, 판단블록(1204)에 의해 출력 전자메일이 동기화 되는 중에 전송되었다고 판단되면, 출력 전자메일 메시지의 전송은 다음 동기화 동작(세션)이 발생할 때까지 지연된다. 명확하게, 블록(1210)에서 전자메일 메시지는 출력 동기화 큐에 저장된다. 한 예로서, 출력 동기화 큐는 예를 들면, 도 2c에 설명된 메일 동기화 서버(216)의 출력 동기화 큐(1211)와 같이 제공된다. 다음에, 블록(1212)에서 전달 동작(delivery action)이 메일 동기화 서버와 결합된 동작 리스트에 추가된다. 전달 동작은 관련된 메시지의 전달이 동기화 되는 중에 요구되었다는 것을 메일 동기화 클라이언트에 통지하는(동기화 동작 동안 메일 동기화 서버에 의해 전송된 후에) 동기화 동작이다.
블록(1212) 다음에, 출력 메일 동기화 처리과정(1200)은 동기화 동작이 발생할 때까지 원래 진행하지 않는다. 전달 동작을 포함하는 동작 리스트 항목으로 동기화 동작이 되는 중에는 다른 동기화 동작과 같이 메일 동기화 클라이언트에 전송되고 메일 동기화 클라이언트에 의해 실행된다. 블록(1214)에서, 전자메일 메시지는 컴퓨터 아웃박스로 동기화 된다. 그리고 나서 블록(1214)은 메일 동기화 클라이언트 및 메일 동기화 클라이언트 서버에 의해 전달 동작의 실행을 나타낸다.
이 시점에서, 서버-측으로부터의 출력 메일 동기화 처리과정은 완료되지만 클라이언트-측으로부터의 추가적인 처리과정이 실행된다. 즉, 전자메일 메시지가 컴퓨터 아웃박스에 도달한 후에, 블록(1216)에서 전자메일 메시지는 컴퓨터로부터 전송된다. 컴퓨터로부터 전자메일 메시지의 전송에 의해 로컬 또는 인트라넷 어드레스는 이동전화에 의한 사용이 적당하고, 메시지는 보안 방법으로 인트라넷 내에서 전송될 수 있다. 또한, 인터넷을 통하여 메일 동기화 서버에서 클라이언트 동기화 서버로 동기화 되는 중에 전자메일 메시지의 전송도 보안 방법으로 실행되는 것을 유의하라. 블록(1216) 후에, 블록(1218)에서 전자메일 메시지는 컴퓨터 전송 메시지 박스로 이동된다. 컴퓨터 전송 메시지 박스는 컴퓨터로부터 전송되는 메시지들을 저장한다. 컴퓨터 전송 메시지 박스는 또한, 원한다면 전화기 전송 메시지 박스와 동기화 될 수 있다. 블록(1218) 다음에, 전자메일 메시지가 동기화 동안 전송된 상태이기 때문에 출력 메일 동기화 처리과정(1200)을 완료 및 종료한다.
본 발명은 또한 컴퓨터 판독 매체상의 컴퓨터 판독 코드와 같이 실시될 수 있다. 컴퓨터 판독 매체은 그 후에 컴퓨터 시스템에 의해 판독될 수 있는 데이터를 저장하는 임의의 데이터 저장장치이다. 컴퓨터 판독 매체의 예로는 ROM, RAM, CD-ROMs, 자기 테이프, 광학 데이터 저장장치, 반송파를 포함한다. 컴퓨터 판독 매체는 또한 컴퓨터 시스템에 연결된 네트워크를 통하여 분산될 수 있으므로 컴퓨터 판독 코드는 분산방식으로 저장 및 실행된다.
네트워크 게이트웨이 또는 프록시 서버들의 사용을 포함하는 전자메일 서비스 제공에 대한 추가적인 상세한 설명은 "네트워크 가용불능 동안 전자메일 서비스 제공방법 및 장치"로 명명되고, 의 내용은 본 발명에 참조하여 인용되는 1998. 10. 13에 제출된 미국 출원 제 09/172,105 호에 포함되어 있다.
본 발명의 장점은 여러 가지 있다. 별개의 실시예 또는 구현예는 하나 또는 그 이상의 다음 장점들을 산출할 수 있다. 본 발명의 하나의 가능한 장점은 마치 동일 전자메일 어카운트로 보이는 두 개의 별개 전자메일 어카운트들(메일박스들)을 사용자가 사용할 수 있다는 것이다. 본 발명의 다른 가능한 장점은 두 개의 별개 전자메일 어카운트들이 사용자 상호 작용없이 자동적으로 동기화 될 수 있다는 것이다. 본 발명의 또다른 가능한 장점은 두 개의 별개 전자메일 어카운트들 사이의 동기화가 공중 네트워크를 통해 달성될 수 있다는 것이다. 본 발명의 또다른 가능한 장점은 동기화에 관련된 메시지를 수신하는 메일박스로부터 출력 메시지가 자동으로 전송할 수 있다는 것이다.
본 발명의 많은 특징 및 장점들은 작성된 상세한 설명에 의해 명백하고, 첨부된 청구범위에 의해 본 발명의 모든 특징 및 장점을 포함하려는 것이다. 또한, 본 기술분야의 기술자가 다수의 변경 및 변화를 쉽게 발생시킬 수 있으므로 도시되거나 설명된 바와 같은 정확한 구성 및 동작으로 본 발명을 제한하는 것은 원하지 않는다. 그러므로, 모든 올바른 변경 및 균등물은 본 발명의 범위에 속하는 것으로 이해되어야 한다.

Claims (68)

  1. 네트워크를 통해서 통신하는 제 1 및 제 2 전자메일 시스템간의 메시지를 자동으로 동기화하기 위한 방법에 있어서,
    상기 제 1 및 제 2 전자메일 시스템에 관련된 메시지 리스트의 동기화를 자동으로 시작하고;
    상기 동기화가 시작된 후에 상기 네트워크를 통하여 상기 제 1 및 제 2 전자메일 시스템간의 연결을 제공하고;
    상기 연결을 통해서 제 2 전자메일 시스템에서 상기 제 1 전자메일 시스템으로 메시지 정보를 전송하는 단계;를 포함하는 방법.
  2. 제 1 항에 있어서, 상기 연결은 보안 연결인 방법.
  3. 제 2 항에 있어서, 상기 네트워크는 인터넷인 방법.
  4. 제 1 항에 있어서,
    상기 연결을 통해서 상기 제 1 전자메일 시스템에서 상기 제 2 전자메일 시스템으로 메시지 정보를 전송하는 단계를 더 포함하는 방법.
  5. 제 1 항에 있어서, 상기 메시지 정보의 전송단계는, 상기 제 1 전자메일 시스템의 인박스에 적어도 하나의 메시지를 배치시키기 위하여 상기 연결을 통해 상기 제 2 전자메일 시스템에서 상기 제 1 전자메일 시스템으로 적어도 하나의 메시지를 전송하는 방법.
  6. 제 1 항에 있어서, 상기 제 1 및 제 2 전자메일 시스템은 상기 동일 사용자에 관련되고, 상기 방법은 사용자의 상호작용 없이 실행되는 방법.
  7. 제 6 항에 있어서, 상기 방법은 사용자의 상호작용 없이 주기적으로 실행되는 방법.
  8. 제 6 항에 있어서, 상기 메시지 리스트의 상기 동기화를 자동으로 시작하는 단계는, 상기 동기화가 자동으로 시작될 때 시간을 형성하는 단계를 포함하는 방법.
  9. 제 6 항에 있어서, 상기 제 2 전자메일 시스템은 무선 방식으로 이동장치들에게 메일 서비스들을 제공하는 방법.
  10. 제 9 항에 있어서, 상기 이동장치들은 상기 제 2 인박스 및 관련된 메시지들을 전개하기 위한 디스플레이 스크린을 구비한 이동전화들인 방법.
  11. 제 10 항에 있어서, 상기 네트워크는 상기 인터넷을 포함하는 방법.
  12. 제 9 항에 있어서, 상기 이동장치들은 휴대용 컴퓨터, 호출기, 개인용 정보 단말기(PDA) 및 셀룰러 전화기 중에서 적어도 하나를 포함하는 방법.
  13. 제 1 항에 있어서, 상기 제 1 및 제 2 전자메일 시스템간의 상기 연결은 상기 공중 네트워크를 통한 전용 연결인 방법.
  14. 제 13 항에 있어서, 상기 전송단계는 상기 메시지 정보를 전송하기 위해 HTTP, HTTPs 및 FTP로 구성된 상기 그룹으로부터 선택된 네트워크 프로토콜을 사용하는 방법.
  15. 제 1 항에 있어서, 상기 메시지 정보는 적어도 하나의 메시지를 포함하는 방법.
  16. 제 1 항에 있어서, 상기 메시지 정보는 적어도 하나의 메시지 동작을 포함하는 방법.
  17. 제 16 항에 있어서, 상기 적어도 하나의 메시지 동작은 읽기, 삭제, 전송, 삽입, 이동 및 표시 중의 하나인 방법.
  18. 제 1 항에 있어서, 상기 네트워크는 전용 네트워크 또는 공중 네트워크 중의 하나인 방법.
  19. 제 1 메일 시스템 및 공중 네트워크를 통하여 상기 제 1 메일 시스템과 통신하는 제 2 메일 시스템의 동기화 방법에 있어서,
    상기 제 1 메일 시스템에 대한 제 1 인박스를 유지하고, 상기 제 1 인박스는 상기 제 1 메일 시스템에 관련된 제 1 메시지 리스트를 구비하며;
    상기 공중 네트워크를 통하여 상기 제 1 메일 시스템과 상기 제 2 메일 시스템간의 보안 연결을 확립하고;
    상기 보안 연결에 의해서 상기 제 2 메일 시스템으로부터 제 2 메시지 리스트를 요구하고, 상기 제 2 메시지 리스트는 상기 제 2 메일 시스템에 대한 제 2 인박스와 관련되며;
    미싱 메시지들을 식별하기 위해 상기 제 1 메시지 리스트와 상기 제 2 메시지를 비교하고, 상기 미싱 메시지들은 상기 제 1 인박스에 존재하지 않고 상기 제 2 인박스에 존재할 때 식별되는 메시지들이며;
    상기 보안 연결에 의해서 상기 제 2 메일 시스템으로부터 상기 미싱 메시지들을 요구하고;
    상기 공중 네트워크를 통하여 상기 보안 연결에 의해서 상기 제 2 메일 시스템으로부터 상기 미싱 메시지들을 수신하고;
    상기 제 1 메일 시스템의 상기 제 1 인박스로 수신된 상기 미싱 메시지들을 삽입하는 단계를 포함하는 방법.
  20. 제 19 항에 있어서, 상기 공중 네트워크는 상기 인터넷 또는 인트라넷을 포함하는 방법.
  21. 제 20 항에 있어서, 상기 제 1 메일 시스템과 상기 제 2 메일 시스템간의 상기 보안 연결은 상기 공중 네트워크를 통하고 보안 소켓 레이어 프로토콜에 의해 제공되는 방법.
  22. 제 19 항에 있어서, 상기 제 2 메일 시스템은 무선 방식으로 이동장치들에게 메일 서비스들을 제공하는 방법.
  23. 제 22 항에 있어서, 상기 이동장치들은 상기 제 2 인박스를 전개하기 위한 디스플레이 스크린을 구비한 이동장치들인 방법.
  24. 제 22 항에 있어서, 상기 이동장치들은 휴대용 컴퓨터, 호출기, 개인용 정보 단말기 및 셀룰러 전화기 중에서 적어도 하나를 포함하는 방법.
  25. 제 19 항에 있어서,
    상기 미싱 메시지들의 상기 수신단계는 상기 공중 네트워크를 통하여 상기 제 2 메일 시스템으로부터 각각의 상기 미싱 메시지들에 대한 삽입 거래 메시지를 수신하는 단계를 포함하고,
    상기 미싱 메시지들의 상기 삽입단계는 상기 삽입 거래 메시지에 의해 지시되는 삽입 거래를 실행하는 단계를 포함하는 방법.
  26. 제 25 항에 있어서, 상기 삽입 거래 메시지는 삽입 명령, 전화기 메시지 식별자 및 메시지 내용을 포함하는 방법.
  27. 제 19 항에 있어서, 상기 제 1 메일 시스템은 로컬 메일 시스템이고, 상기 제 2 메일 시스템은 원격 메일 시스템인 방법.
  28. 제 19 항에 있어서,
    상기 제 1 인박스에 존재하는 것을 알고 있는 상기 제 2 인박스로부터 적어도 하나의 상기 메시지를 삭제하는 단계를 더 포함하는 방법.
  29. 제 28 항에 있어서,
    상기 삭제 단계에 이어서, 상기 보안 연결에 의해서 상기 제 2 메일 응용에서 수신하고, 상기 제 1 인박스로부터의 적어도 하나의 메시지는 이미 상기 제 2 인박스 내에 없으며;
    상기 제 1 인박스로부터 상기 제 2 인박스로 상기 적어도 하나의 메시지를 삽입하는 단계를 더 포함하는 방법.
  30. 제 28 항에 있어서, 상기 삭제 및 삽입 단계 다음에, 상기 제 2 인박스에 관련된 상기 메시지 리스트는 상기 제 1 인박스에 관련된 상기 메시지 리스트에서 상기 메시지의 적어도 하나의 제 1 세트와 일치하는 방법.
  31. 제 29 항에 있어서, 상기 삭제 단계에 의해 삭제된 메시지의 수는 상기 삽입 단계에 의해 삽입된 메시지의 수와 동일한 방법.
  32. 제 28 항에 있어서,
    이미 상기 제 2 인박스 내에 없는 상기 제 1 인박스로부터의 적어도 하나의 메시지를 상기 보안 연결에 의해서 상기 제 2 메일 응용에서 계속해서 수신하고;
    상기 제 1 인박스로부터 상기 제 2 인박스로 상기 적어도 하나의 메시지를 계속해서 삽입하는 단계를 더 포함하는 방법.
  33. 제 32 항에 있어서, 상기 계속해서 수신하는 단계 다음에, 상기 제 2 인박스에 관련된 상기 메시지 리스트는 상기 제 1 인박스에 관련된 상기 메시지 리스트에서 상기 메시지의 적어도 제 1 세트와 일치시키는 방법.
  34. 제 19 항에 있어서, 상기 제 1 및 제 2 전자메일 시스템간의 상기 보안 연결은 상기 공중 네트워크를 통한 전용 연결인 방법.
  35. 제 34 항에 있어서, 상기 전송단계는 상기 메시지 정보를 전송하기 위해 HTTP, HTTPs 및 FTP로 구성된 상기 그룹으로부터 선택된 네트워크 프로토콜을 사용하는 방법.
  36. 제 1 전자메일 응용과 제 2 전자메일 응용은 공중 네트워크를 통하여 연결되고, 상기 제 1 전자메일 응용의 제 1 인박스와 상기 제 2 전자메일 응용의 제 2 인박스의 동기화 방법에 있어서,
    동작 리스트로부터 동작 엔트리를 획득하고, 상기 동작 리스트는 마지막 동기화 때부터 상기 제 2 인박스에서 발생된 변화들을 나타내며;
    상기 동작 엔트리를 기준으로 동기화 동작 메시지를 준비하고;
    상기 제 1 전자메일 응용이 상기 제 1 인박스와 상기 제 2 인박스를 더욱 일치시키기 위해 상기 동기화 메시지의 상기 동기화 동작을 실행할 수 있도록, 상기 공중 네트워크를 통하여 상기 제 1 전자메일 응용으로 상기 동기화 동작 메시지를 전송하고;
    상기 동기화 동작이 실행되는 상기 제 1 전자메일 응용으로부터 확인을 수신하고;
    그 후에, 상기 확인이 수신되면 상기 동작 리스트로부터 상기 동작 엔트리를 삭제하는 단계를 포함하는 방법.
  37. 제 36 항에 있어서, 상기 제 2 메일 응용은 무선 방식으로 이동장치들에게 메일 서비스들을 제공하는 방법.
  38. 제 37 항에 있어서, 상기 이동장치들은 상기 제 2 인박스를 전개하기 위한 디스플레이 스크린을 구비한 이동장치들인 방법.
  39. 제 38 항에 있어서, 상기 공중 네트워크는 상기 인터넷을 포함하는 방법.
  40. 제 36 항에 있어서, 상기 제 1 인박스 및 제 2 인박스는 메시지들을 포함하고,
    상기 제 1 인박스에 존재하는 것을 알고 있는 상기 제 2 인박스로부터 적어도 하나의 상기 메시지를 삭제하는 단계를 더 포함하는 방법.
  41. 제 40 항에 있어서,
    상기 삭제단계 후에, 상기 제 2 인박스에 존재하는 것을 알지 못하는 상기 제 1 인박스로부터 적어도 하나의 메시지를 상기 제 2 메일 응용에서 수신하고;
    상기 제 1 인박스로부터 상기 제 2 인박스로 적어도 하나의 상기 메시지를 삽입하는 단계를 더 포함하는 방법.
  42. 제 41 항에 있어서, 상기 삭제 단계 및 상기 삽입 단계 다음에 상기 제 2 인박스 내의 상기 메시지를 상기 제 1 인박스에서 상기 메시지들의 적어도 제 1 세트와 일치시키는 방법.
  43. 제 41 항에 있어서, 상기 삭제 단계에 의해 삭제된 상기 메시지의 수는 상기 삽입 단계에 의해 삽입된 메시지의 수와 동일한 방법.
  44. 제 36 항에 있어서, 상기 동작 엔트리는 읽기, 삭제, 전송, 삽입, 이동 및 표시중의 하나인 방법.
  45. 제 36 항에 있어서, 상기 제 1 전자메일 응용은 제 1 메일 서버 상에서 동작하고, 상기 제 2 전자메일 응용은 제 2 메일 서버 상에서 동작하는 방법.
  46. 제 45 항에 있어서, 적어도 하나의 상기 제 1 및 제 2 응용은 무선장치들에 전자메일 서비스들을 제공하는 방법.
  47. 제 45 항에 있어서, 상기 전송단계 및 상기 수신단계는 상기 공중 네트워크를 통하여 전용 연결에 의해서 상기 제 1 및 제 2 전자메일 응용간에 통신하는 방법.
  48. 제 47 항에 있어서, 상기 전용 연결은 보안 연결인 방법.
  49. 제 48 항에 있어서, 상기 전용 연결에 의한 상기 통신은 HTTP, HTTPs 및 FTP로 구성된 상기 그룹으로부터 선택된 네트워크 프로토콜을 사용하는 방법.
  50. 제 36 항에 있어서, 상기 동기화 동작 메시지는 읽기, 삭제, 전송, 삽입, 이동 및 표시중 하나의 상기 동기화 동작을 실행하기 위해 상기 제 1 전자메일 응용을 지시하는 방법.
  51. 제 1 메일박스는 방화벽에 의해 보호되는 데이터 네트워크에 접속된 제 1 컴퓨팅 장치와 관련되고, 제 2 메일박스는 제 2 컴퓨팅 장치와 관련되며, 상기 제 1 및 상기 제 2 메일박스간의 동기화 시작 방법에 있어서,
    상기 제 1 및 제 2 메일박스간의 동기화 세션을 시작하기 위해 상기 제 2 컴퓨팅 장치에서 요구를 수신하고;
    전자메일 메시지를 요구하는 동기화를 발생하고;
    상기 제 2 메일박스에서 상기 제 1 메일박스로 전자메일 메시지를 요구하는 상기 동기화를 전송하고;
    그 후에 전자메일 메시지를 요구하는 상기 동기화에 의해 요구될 때 상기 제 1 컴퓨팅 장치를 통해서 제 1 및 제 2 메일박스간의 동기화를 시작하는 단계를 포함하는 방법.
  52. 제 51 항에 있어서,
    상기 제 1 및 제 2 컴퓨팅 장치는 상기 인터넷을 통하여 접속되고,
    상기 동기화 동안, 동기화 메시지는 상기 인터넷을 통한 보안 연결을 사용하는 상기 제 1 및 제 2 메일박스간에 전송되는 방법.
  53. 제 52 항에 있어서, 상기 제 1 컴퓨팅 장치는 개인용 컴퓨터이고, 상기 제 2 컴퓨팅 장치는 무선 방식으로 상기 제 1 컴퓨팅 장치와 통신하는 이동장치인 방법.
  54. 제 51 항에 있어서, 상기 제 1 및 제 2 인박스간의 상기 동기화는 양방향 동기화인 방법.
  55. 제 1 메일박스는 제 1 컴퓨팅 장치에 관련되고, 제 2 메일박스는 제 2 컴퓨팅 장치에 관련되며, 상기 제 1 및 제 2 메일박스간의 동기화 세션 동안 전자메일 메시지의 자동 전송 방법에 있어서,
    목적지 주소로 전송되는 상기 제 2 컴퓨팅 장치상의 전자메일 메시지를 제공하고;
    상기 제 2 컴퓨팅 장치에서 상기 전자메일 메시지를 저장하고;
    상기 제 1 및 제 2 메일박스간의 동기화 세션 동안 상기 제 1 컴퓨팅 장치에 상기 전자메일 메시지를 전달하고;
    그 후에, 상기 제 1 컴퓨팅 장치에서 상기 목적지 주소로 상기 전달된 전자메일 메시지를 자동적으로 전송하는 단계를 포함하는 방법.
  56. 제 55 항에 있어서,
    상기 제 1 및 제 2 컴퓨팅 장치는 인터넷을 통하여 접속되고,
    상기 동기화 세션 동안, 상기 전자메일 메시지는 상기 인터넷을 통한 보안 연결을 통해서 상기 제 2 컴퓨팅 장치에서 상기 제 1 메일박스로 전송되는 방법.
  57. 제 55 항에 있어서, 상기 제 1 컴퓨팅 장치는 개인용 컴퓨터이고, 상기 제 2 컴퓨팅 장치는 무선 방식으로 상기 제 1 컴퓨팅 장치와 통신하는 이동장치인 방법.
  58. 제 55 항에 있어서, 상기 제 1 및 제 2 인박스간의 상기 동기화는 양방향 동기화인 방법.
  59. 이동장치에 전자메일 서비스들을 제공하기 위한 원격 메일 시스템, 상기 원격 메일 시스템은 이동장치 메일 응용, 이동장치 메일 서버 및 메일 동기화 서버를 포함하고, 상기 이동장치 메일 서버는 상기 이동장치에 대한 전자메일 메시지의 저장, 수령 및 전달을 관리하고, 상기 이동장치는 원격 인박스의 전자메일 메시지의 리스트를 디스플레이 할 수 있고, 상기 원격 인박스에 대한 상기 전자메일 메시지의 리스트는 상기 이동장치 메일 서버에 저장되고 상기 이동장치 메일 응용에 의해 상기 이동장치에 사용될 수 있고; 및
    데스크탑 컴퓨터에 전자메일 서비스들을 제공하기 위한 로컬 메일 시스템, 상기 로컬 메일 시스템은 로컬 메일 서버 및 메일 동기화 클라이언트를 포함하고, 상기 로컬 메일 서버는 상기 데스트탑 컴퓨터에 대해 전자메일 메시지의 저장, 수령 및 전달을 관리하고, 상기 데스트탑 컴퓨터는 로컬 인박스의 전자메일 메시지의 리스트를 디스플레이 할 수 있고, 상기 로컬 인박스에 대한 상기 전자메일 메시지의 리스트는 상기 로컬 메일 서버에 저장되고 상기 데스크탑 컴퓨터에 사용될 수 있고;를 포함하고,
    상기 메일 동기화 클라이언트 및 상기 메일 동기화 서버는, 상기 로컬 인박스에 대한 상기 전자메일 메시지의 리스트를, 상기 로컬 메일 서버 및 상기 원격 메일 서버에 의해 유지되는 상기 원격 인박스에 대한 상기 전자메일 메시지의 상기 리스트와 각각 동기화시키기 위해 상호작용하는 메일 동기화 시스템.
  60. 제 59 항에 있어서, 상기 로컬 인박스에 대한 상기 전자메일 메시지의 상기 리스트 및 상기 원격 인박스에 대한 상기 전자메일 메시지의 상기 리스트의 상기 동기화는 사용자의 상호작용 없이 주기적으로 실행되는 메일 동기화 시스템.
  61. 제 60 항에 있어서, 상기 로컬 인박스에 대한 상기 전자메일 메시지의 상기 리스트 및 상기 원격 인박스에 대한 상기 전자메일 메시지의 상기 리스트의 상기 동기화는 네트워크를 통해 상기 원격 메일 시스템 및 상기 로컬 메일 시스템간에 전송되는 동기화 메시지들에 의해 달성되는 메일 동기화 시스템.
  62. 제 61 항에 있어서,
    상기 네트워크는 상기 인터넷이고,
    상기 동기화 메시지들은 상기 인터넷을 통한 보안 연결을 사용하여 상기 원격 메일 시스템 및 상기 로컬 메일 시스템간에 전송되는 메일 동기화 시스템.
  63. 제 62 항에 있어서, 상기 이동장치는 무선 방식으로 상기 원격 메일 서버와 통신하는 메일 동기화 시스템.
  64. 제 60 항에 있어서, 상기 로컬 인박스에 대한 상기 전자메일 메시지의 상기 리스트 및 상기 원격 인박스에 대한 상기 전자메일 메시지의 상기 리스트의 상기 동기화는 양방향 동기화인 메일 동기화 시스템.
  65. 제 59 항에 있어서, 상기 원격 인박스와 상기 로컬 인박스의 상기 동기화는 각각의 상기 원격 인박스 및 상기 로컬 인박스에 디스플레이되는 전자메일 메시지의 리스트와 함께 상기 전자메일 메시지에 대한 상태 정보를 동기화 하기 위해 동작하는 메일 동기화 시스템.
  66. 제 59 항에 있어서, 상기 원격 인박스와 상기 로컬 인박스의 상기 동기화는 두 개의 서로 다른 전자메일 어카운트들의 상기 인박스들을 미러링하기 위해 동작하는 메일 동기화 시스템.
  67. 제 65 항에 있어서, 상기 원격 인박스와 상기 로컬 인박스의 상기 동기화는 두 개의 서로 다른 전자메일 어카운트들의 상기 아웃박스들을 미러링하기 위해 추가로 동작하는 메일 동기화 시스템.
  68. 네트워크를 통해 통신하는 제 1 및 제 2 전자메일 시스템을 자동으로 동기화하기 위한 컴퓨터 프로그램 코드를 포함하는 컴퓨터 판독 매체에 있어서,
    상기 제 1 및 제 2 전자메일 시스템에 관련된 메시지 리스트의 동기화를 자동으로 시작하기 위해 구성된 컴퓨터 프로그램 코드;
    상기 동기화가 시작된 후에 상기 네트워크를 통하여 상기 제 1 및 제 2 전자메일 시스템간의 연결을 제공하기 위해 구성된 컴퓨터 프로그램 코드; 및
    상기 연결을 통해서 상기 제 2 전자메일 시스템에서 상기 제 1 전자메일 시스템으로 메시지 정보를 전송하기 위해 구성된 컴퓨터 프로그램 코드를 포함하는 컴퓨터 판독 매체.
KR1019990051381A 1998-11-19 1999-11-18 원격 및 로컬 메일 시스템의 메일 동기화 KR20000047671A (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US10908898P 1998-11-19 1998-11-19
US60/109,088 1998-11-19
US09/219,072 1998-12-22
US09/219,072 US6983308B1 (en) 1998-11-19 1998-12-22 Mail synchronization of remote and local mail systems

Publications (1)

Publication Number Publication Date
KR20000047671A true KR20000047671A (ko) 2000-07-25

Family

ID=26806601

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990051381A KR20000047671A (ko) 1998-11-19 1999-11-18 원격 및 로컬 메일 시스템의 메일 동기화

Country Status (4)

Country Link
US (1) US6983308B1 (ko)
EP (1) EP1014629A3 (ko)
JP (1) JP2000156704A (ko)
KR (1) KR20000047671A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002098082A1 (en) * 2001-05-29 2002-12-05 Jeong-Hwan Choi Deleting/editing of already sent electronic mails
KR20020094782A (ko) * 2001-06-13 2002-12-18 엘지전자 주식회사 이동통신 단말기를 이용한 복수의 이-메일 계정 관리 방법

Families Citing this family (101)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7346472B1 (en) * 2000-09-07 2008-03-18 Blue Spike, Inc. Method and device for monitoring and analyzing signals
US6704118B1 (en) * 1996-11-21 2004-03-09 Ricoh Company, Ltd. Method and system for automatically and transparently archiving documents and document meta data
US6438585B2 (en) * 1998-05-29 2002-08-20 Research In Motion Limited System and method for redirecting message attachments between a host system and a mobile data communication device
US9374435B2 (en) 1998-05-29 2016-06-21 Blackberry Limited System and method for using trigger events and a redirector flag to redirect messages
US7209949B2 (en) * 1998-05-29 2007-04-24 Research In Motion Limited System and method for synchronizing information between a host system and a mobile data communication device
US6779019B1 (en) * 1998-05-29 2004-08-17 Research In Motion Limited System and method for pushing information from a host system to a mobile data communication device
US6219694B1 (en) 1998-05-29 2001-04-17 Research In Motion Limited System and method for pushing information from a host system to a mobile data communication device having a shared electronic address
JP4119063B2 (ja) * 1999-11-05 2008-07-16 株式会社東芝 メッセージ処理装置、メッセージ処理システム及びメッセージ処理方法
US7024457B1 (en) * 2000-02-17 2006-04-04 J2 Global Communications, Inc. E-mail synchronization between heterogeneous mail servers
GB2365260B (en) * 2000-02-24 2004-05-26 Ibm Database synchronisation for mobile computing devices
CA2343932C (en) * 2000-04-10 2006-10-17 Research In Motion Limited System and method for bundling information
CN1207675C (zh) * 2000-08-31 2005-06-22 国际商业机器公司 电子邮件分发系统和方法
JP3586208B2 (ja) 2001-03-27 2004-11-10 コニカミノルタビジネステクノロジーズ株式会社 メール不達情報通知方法およびデータ通信装置
US20020184234A1 (en) * 2001-06-01 2002-12-05 Lundberg Steven W. Internet-based patent and trademark applicaton management system
WO2002086744A1 (en) * 2001-04-23 2002-10-31 Schwegman, Lundberg, Woessner & Kluth, P.A. Methods, systems and emails to link emails to matters and organizations
US7653631B1 (en) * 2001-05-10 2010-01-26 Foundationip, Llc Method for synchronizing information in multiple case management systems
US6993522B2 (en) * 2001-06-27 2006-01-31 Microsoft Corporation System and method for resolving conflicts detected during a synchronization session
US7743119B2 (en) 2001-08-07 2010-06-22 Motorola, Inc. System and method for mapping identification codes
US7596565B2 (en) * 2001-08-07 2009-09-29 Good Technology System and method for maintaining wireless file folders at a wireless device
US7243163B1 (en) 2001-08-07 2007-07-10 Good Technology, Inc. System and method for full wireless synchronization of a data processing apparatus with a messaging system
US7155483B1 (en) * 2001-08-07 2006-12-26 Good Technology, Inc. Apparatus and method for conserving bandwidth by batch processing data transactions
US7962622B2 (en) 2001-08-07 2011-06-14 Motorola Mobility, Inc. System and method for providing provisioning and upgrade services for a wireless device
JP2003099380A (ja) * 2001-09-26 2003-04-04 Toyota Keeramu:Kk システム間通信方法、コンピュータ及びインタフェイスモジュール用プログラム。
EP1466261B1 (en) * 2002-01-08 2018-03-07 Seven Networks, LLC Connection architecture for a mobile network
US20030167181A1 (en) * 2002-03-01 2003-09-04 Schwegman, Lundberg, Woessner & Kluth, P.A. Systems and methods for managing information disclosure statement (IDS) references
US7162513B1 (en) * 2002-03-27 2007-01-09 Danger, Inc. Apparatus and method for distributing electronic messages to a wireless data processing device using a multi-tiered queuing architecture
WO2003083667A1 (en) * 2002-03-29 2003-10-09 Good Technology, Inc. System and method for full wireless synchronization of a data processing apparatus with a data service
US7447799B2 (en) * 2002-04-24 2008-11-04 Good Technology, Inc. System and method for automatically updating a wireless device
GB0211736D0 (en) * 2002-05-21 2002-07-03 Commtag Ltd Data communications systems
US9813514B2 (en) 2002-06-12 2017-11-07 Good Technology Holdings Limited Information repository system including a wireless device and related method
US7103844B2 (en) 2002-06-26 2006-09-05 International Business Machines Corporation Portal/portlet application data synchronization
US8516034B1 (en) 2002-07-08 2013-08-20 Good Technology Software, Inc System and method for modifying application behavior based on network bandwidth
US7505571B2 (en) 2002-09-12 2009-03-17 Sabeer Bhatia Communications systems and methods for exchanging messages between users
JP2004120555A (ja) * 2002-09-27 2004-04-15 Hitachi Electronics Service Co Ltd メール通信相手別通信情報編集表示機能付携帯電話機
US7836131B2 (en) * 2002-10-25 2010-11-16 Sierra Wireless, Inc. Redirection of notifications to a wireless user device
US20040098483A1 (en) * 2002-11-14 2004-05-20 Engel Glenn R. Triggering communication from devices that self-initiate communication
GB0226596D0 (en) * 2002-11-14 2002-12-24 Commtag Ltd Data communication systems
US7107314B2 (en) * 2003-01-21 2006-09-12 Red Hat, Inc. Mail system synchronization using multiple message identifiers
US20050021371A1 (en) * 2003-01-31 2005-01-27 Basone Michael A. System for facilitating weight control incorporating hand-held computing device
US8762577B2 (en) * 2003-06-30 2014-06-24 Apple Inc. Method and system for providing network synchronization with a unified messaging system
US20050076095A1 (en) * 2003-07-11 2005-04-07 Boban Mathew Virtual contextual file system and method
US20050033863A1 (en) * 2003-08-07 2005-02-10 Sierra Wireless, Inc. A Canadian Corp. Data link characteristic cognizant electronic mail client
US8880735B2 (en) * 2003-09-05 2014-11-04 Sierra Wireless, Inc. Mail server based application record synchronization
US7467190B2 (en) 2003-10-06 2008-12-16 Hitachi, Ltd. Method and apparatus for alert distribution and archive sharing
FR2866134B1 (fr) * 2004-02-10 2007-02-16 Jean Pierre Daniel An Gauthier Dispositif antememoire de courriers electroniques de type "e-mail"
US7797386B2 (en) * 2004-02-27 2010-09-14 Research In Motion Limited System and method for remotely configuring a desktop mailbox
EP1743257A1 (en) * 2004-04-01 2007-01-17 Nokia Corporation A method, a device, and a system for enabling data synchronization between multiple devices
US7783706B1 (en) * 2004-04-21 2010-08-24 Aristotle.Net, Inc. Filtering and managing electronic mail
US20060031340A1 (en) * 2004-07-12 2006-02-09 Boban Mathew Apparatus and method for advanced attachment filtering within an integrated messaging platform
US7702669B2 (en) 2004-09-02 2010-04-20 Ringcentral, Inc. Synchronization in unified messaging systems
US7506006B2 (en) * 2004-09-03 2009-03-17 Microsoft Corporation Synchronization for smart clients
US7558783B2 (en) * 2004-09-03 2009-07-07 Microsoft Corporation Conversion between application objects and smart client objects
US8103723B1 (en) * 2004-10-07 2012-01-24 Google Inc. Message server that retains messages deleted by one client application for access by another client application
FR2877793B1 (fr) * 2004-11-05 2007-02-09 Michel Gilles Albert Lemonier Systeme distribue de consultation et d'echange de messages electroniques economique et simple d'utilisation
JP4928821B2 (ja) * 2005-04-28 2012-05-09 オセ−テクノロジーズ ビーブイ ネットワークシステムにおけるデジタル文書の取り扱い
KR100640401B1 (ko) 2005-07-13 2006-10-30 삼성전자주식회사 모바일 이메일 서버와 클라이언트 단말 간 동기 유지방법과 시스템 및 그 단말
US20070100902A1 (en) * 2005-10-27 2007-05-03 Dinesh Sinha Two way incremental dynamic application data synchronization
US7620392B1 (en) 2006-02-27 2009-11-17 Good Technology, Inc. Method and system for distributing and updating software in wireless devices
CN100450108C (zh) * 2006-03-23 2009-01-07 华为技术有限公司 一种采用数据同步处理电子邮件的系统、装置及方法
US20070226300A1 (en) * 2006-03-27 2007-09-27 Suzelle Smith System and method to prevent the sending of email messages to unqualified recipients
US20070244996A1 (en) * 2006-04-14 2007-10-18 Sonasoft Corp., A California Corporation Web enabled exchange server standby solution using mailbox level replication
WO2008101072A1 (en) * 2007-02-15 2008-08-21 Teamon Systems, Inc. Email communications system with wireless device move reconciliation features and related methods
US9166941B2 (en) 2007-04-24 2015-10-20 Microsoft Technology Licensing, Llc Synchronizing email messages between external and local email servers and/or a wireless device
US7720920B2 (en) * 2007-06-27 2010-05-18 Microsoft Corporation Client side based data synchronization and storage
US7885948B2 (en) * 2007-06-28 2011-02-08 Microsoft Corporation Automatically managing incoming communications between sender and recipient, analyzing factors, selectively applying observed behavior, performing designated action
EP2112842B1 (en) 2007-07-27 2013-08-21 Research In Motion Limited Wireless communication systems
EP2019527B1 (en) 2007-07-27 2012-02-29 Research In Motion Limited Information exchange in wireless servers
DE602008001344D1 (de) 2007-07-27 2010-07-08 Research In Motion Ltd Vorrichtung und Verfahren zum Betrieb eines drahtlosen Servers
EP2034776B1 (en) 2007-07-27 2013-02-13 Research In Motion Limited Wireless communication system installation
EP2031914B1 (en) 2007-07-27 2011-02-02 Research In Motion Limited Administration of wireless systems
EP2031909B1 (en) 2007-07-27 2011-02-16 Research In Motion Limited Remote control in a wireless communication system
EP2031913B1 (en) 2007-07-27 2011-01-12 Research In Motion Limited Apparatus and methods for coordination of wireless systems
ATE538608T1 (de) 2007-07-27 2012-01-15 Research In Motion Ltd Verwaltung von richtlinien für drahtlose vorrichtungen in einem drahtlosen kommunikationssystem
US8270577B2 (en) * 2007-12-13 2012-09-18 Verizon Patent And Licensing Inc. Multiple visual voicemail mailboxes
US8458127B1 (en) 2007-12-28 2013-06-04 Blue Coat Systems, Inc. Application data synchronization
US8346874B2 (en) * 2008-01-22 2013-01-01 Microsoft Corporation Mail object migration
US20090193338A1 (en) 2008-01-28 2009-07-30 Trevor Fiatal Reducing network and battery consumption during content delivery and playback
US9483755B2 (en) * 2008-03-04 2016-11-01 Apple Inc. Portable multifunction device, method, and graphical user interface for an email client
US8516095B2 (en) 2008-05-23 2013-08-20 Research In Motion Limited Remote administration of mobile wireless devices
US7555526B1 (en) 2008-07-11 2009-06-30 International Business Machines Corporation Actions on auto-generated emails from the inbox
CN101355532B (zh) * 2008-09-19 2010-10-20 中国网通集团宽带业务应用国家工程实验室有限公司 电子邮件业务实现方法和邮件服务器
US8965954B2 (en) 2008-10-21 2015-02-24 Google Inc. Always ready client/server data synchronization
KR101559046B1 (ko) * 2008-10-21 2015-10-08 구글 인코포레이티드 항상 준비된 클라이언트/서버 데이터 동기화 방법
US9367599B2 (en) 2008-10-21 2016-06-14 Google Inc. Search based specification for data synchronization
US8612768B2 (en) * 2009-01-08 2013-12-17 Microsoft Corporation Unique account identification
US9407686B2 (en) 2009-02-27 2016-08-02 Blackberry Limited Device to-device transfer
US8065361B2 (en) 2009-02-27 2011-11-22 Research In Motion Limited Apparatus and methods using a data hub server with servers to source and access informational content
US20110161437A1 (en) * 2009-12-31 2011-06-30 International Business Machines Corporation Action-based e-mail message quota monitoring
US10255587B2 (en) 2012-01-18 2019-04-09 Microsoft Technology Licensing, Llc System and method for blended presentation of locally and remotely stored electronic messages
US10210480B2 (en) * 2012-05-31 2019-02-19 Apple Inc. Avoiding a redundant display of a notification on multiple user devices
WO2014047619A2 (en) 2012-09-24 2014-03-27 Chris Rorres Methods and apparatus for moving fluid using a strake
US10122665B2 (en) * 2014-03-06 2018-11-06 Dropbox, Inc. Distributed synchronization data in a message management service
US9787769B2 (en) 2014-08-04 2017-10-10 Oracle International Corporation Power and network traffic optimization in communication synchronization
WO2016036509A1 (en) 2014-09-02 2016-03-10 Apple Inc. Electronic mail user interface
US9992258B2 (en) * 2015-01-13 2018-06-05 Whatsapp Inc. Techniques for managing a remote web client from an application on a mobile device
US11310314B1 (en) * 2017-07-28 2022-04-19 Zero Cognitive Systems, Inc. Automatic data synchronization across applications installed on multiple devices via mail server
US10855761B1 (en) 2018-12-31 2020-12-01 Facebook, Inc. Techniques for in-place directive execution
US10979500B1 (en) * 2018-12-31 2021-04-13 Facebook, Inc. Techniques for directive-based messaging synchronization
US11025576B1 (en) * 2018-12-31 2021-06-01 Facebook, Inc. Techniques for backend-specific cursor tracking
US11055314B1 (en) 2018-12-31 2021-07-06 Facebook, Inc. Techniques for a database-driven messaging user interface
US10951703B1 (en) 2019-10-15 2021-03-16 Microsoft Technology Licensing, Llc Peer-to-peer email content replication and synchronization

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2756392B2 (ja) 1992-08-27 1998-05-25 富士通株式会社 電子メールと電話の連携機能を備えたコンピュータ
US5710922A (en) * 1993-06-02 1998-01-20 Apple Computer, Inc. Method for synchronizing and archiving information between computer systems
US5625818A (en) 1994-09-30 1997-04-29 Apple Computer, Inc. System for managing local database updates published to different online information services in different formats from a central platform
US5758354A (en) 1995-04-28 1998-05-26 Intel Corporation Application independent e-mail synchronization
US5966714A (en) * 1995-04-28 1999-10-12 Intel Corporation Method and apparatus for scaling large electronic mail databases for devices with limited storage
US5757669A (en) * 1995-05-31 1998-05-26 Netscape Communications Corporation Method and apparatus for workgroup information replication
US5727202A (en) * 1995-10-18 1998-03-10 Palm Computing, Inc. Method and apparatus for synchronizing information on two different computer systems
US5802510A (en) 1995-12-29 1998-09-01 At&T Corp Universal directory service
US5826039A (en) 1995-12-29 1998-10-20 Lucent Technologies Inc. Universal connection point for resources and communication unrelated to a physical endpoint
US5742763A (en) 1995-12-29 1998-04-21 At&T Corp. Universal message delivery system for handles identifying network presences
US6401112B1 (en) * 1997-01-29 2002-06-04 Palm, Inc. Method and apparatus for synchronizing an Email client on a portable computer system with an Email client on a desktop computer
US5961590A (en) * 1997-04-11 1999-10-05 Roampage, Inc. System and method for synchronizing electronic mail between a client site and a central site
US6052735A (en) * 1997-10-24 2000-04-18 Microsoft Corporation Electronic mail object synchronization between a desktop computer and mobile device
US6442570B1 (en) * 1997-10-27 2002-08-27 Microsoft Corporation Object identification and data communication during an object synchronization process
US6304881B1 (en) * 1998-03-03 2001-10-16 Pumatech, Inc. Remote data access and synchronization
US6018762A (en) * 1998-03-31 2000-01-25 Lucent Technologies Inc. Rules-based synchronization of mailboxes in a data network
US6131096A (en) * 1998-10-05 2000-10-10 Visto Corporation System and method for updating a remote database in a network

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002098082A1 (en) * 2001-05-29 2002-12-05 Jeong-Hwan Choi Deleting/editing of already sent electronic mails
KR20020094782A (ko) * 2001-06-13 2002-12-18 엘지전자 주식회사 이동통신 단말기를 이용한 복수의 이-메일 계정 관리 방법

Also Published As

Publication number Publication date
US6983308B1 (en) 2006-01-03
EP1014629A2 (en) 2000-06-28
EP1014629A3 (en) 2001-11-21
JP2000156704A (ja) 2000-06-06

Similar Documents

Publication Publication Date Title
KR20000047671A (ko) 원격 및 로컬 메일 시스템의 메일 동기화
US10326721B2 (en) Real-time messaging method and apparatus
US20060265463A1 (en) Systems and methods for remotely updating e-mail message status information for messages forwarded from a host system e-mail account across a firewall to a wireless handheld device
EP2237580B1 (en) System and method for indicating the state of a message
US8688789B2 (en) Progressive messaging apparatus and method capable of supporting near real-time communication
US8849927B2 (en) Method for implementing real-time voice messaging on a server node
US8832299B2 (en) Using the addressing, protocols and the infrastructure of email to support real-time communication
KR20000028800A (ko) 네트워크가 가용 불능한 동안 전자 메일 서비스를제공하는 장치 및 방법
US8645477B2 (en) Progressive messaging apparatus and method capable of supporting near real-time communication
JP2012059286A (ja) ホストシステムからモバイルデータ通信デバイスへと情報をプッシュするシステムおよび方法
JP2009141969A (ja) 無線データ処理機器に電子メッセージを配信する装置及び方法
US20100312914A1 (en) System and method for operating a server for real-time communication of time-based media
WO2006047201A2 (en) Deferred email message system, service and client
US20210328956A1 (en) Real-time messaging method and apparatus
JP2001265674A (ja) 電子メール転送装置及び電子メール転送システム
CN106850980B (zh) 一种移动终端中邮件附件的清理方法和移动终端
JP3827415B2 (ja) 電子メールシステムの端末装置
US8190691B2 (en) Terminal and method for distinguishing between email recipients using specific identifier
JPH10136010A (ja) 電子メール通信装置および電子メール通信システム
CA2746734A1 (en) Email client capable of supporting near real-time communication and methods for using the addressing, protocols and the infrastructure of email to support near real-time communication
EP2391076B1 (en) Method and device for communication of real-time media
AU2013202611B2 (en) Method and device for near real-time communication

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid