JP2005521938A - データサービスによるデータ処理装置の全無線同期システム及び方法 - Google Patents

データサービスによるデータ処理装置の全無線同期システム及び方法 Download PDF

Info

Publication number
JP2005521938A
JP2005521938A JP2003581023A JP2003581023A JP2005521938A JP 2005521938 A JP2005521938 A JP 2005521938A JP 2003581023 A JP2003581023 A JP 2003581023A JP 2003581023 A JP2003581023 A JP 2003581023A JP 2005521938 A JP2005521938 A JP 2005521938A
Authority
JP
Japan
Prior art keywords
data object
message
wireless device
service
data
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
JP2003581023A
Other languages
English (en)
Other versions
JP2005521938A5 (ja
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=28673633&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JP2005521938(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Priority claimed from US10/109,928 external-priority patent/US7243163B1/en
Application filed by グッド テクノロジー インコーポレイテッド filed Critical グッド テクノロジー インコーポレイテッド
Publication of JP2005521938A publication Critical patent/JP2005521938A/ja
Publication of JP2005521938A5 publication Critical patent/JP2005521938A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • 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/273Asynchronous replication or reconciliation
    • 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

Abstract

データ処理デバイス130がメッセージングサービス120と完全に同期するシステムが開示される。システムの一実施例は、無線データ処理デバイス、ユーザのためのメッセージ102及び他の情報102を保持するメッセージングサービス、並びに前記メッセージ及び他の情報の同期を無線デバイス及びメッセージングサービス間で保持する同期化ロジックを含む。

Description

本発明は、ネットワークデータサービス分野全般に関係し、より詳細には、無線メッセージングサービスによる無線データ処理デバイスを同期させる装置及び方法に関する。
(関連分野の説明)
様々な無線データ処理機器が、過去何年にもわたって導入されてきた。これらには、手持ち式のPalm(R) VIIxのような無線式の携帯型情報端末(PDA)、データ処理能力を備えたセル式(移動)電話(例えば、無線アプリケーション・プロトコル(WAP)サポート)、そして最近では、リサーチ・イン・モーション(RIM)TMによって開発されたBlackberryTM無線ページャーのような無線メッセージングデバイスが含まれる。
Palmデバイスなどの携帯型情報端末は、まさに限定された無線メッセージング能力(例えば、インスタント・メッセージング及び基本的なインターネットアクセス)を提供するのが典型的である。例えば、これらのデバイスは、インターネットサービス・プロバイダ(ISP)経由によるインターネットへの接続、又はEメイルメッセージをチェックする会社サーバへの接続をユーザが手作業で確立する必要がある。
RIM Blackberryなどの会社メッセージングシステムは、より広範囲なメッセージング能力を提供するが、これらのシステムには重大な制限がある。特に、これらのシステムは、ある状況に遭遇するときのみメッセージを無線デバイスに宛先変更する、Eメイル「宛先変更」又は「転送」技術を用いる。「宛先変更イベント」と称されるこれらの状況は、例えば、ユーザが会社のデスクトップ機で仕事をしないことの表示(例えば、デスクトップ架台からの無線デバイスの撤去、デスクトップで作動するスクリーンセーバなど)、又は(例えば、無線デバイス又は会社のデスクトップ機経由で)ユーザによって開始された手作業の宛先変更命令を含むことができる。このようなメッセージ宛先システムは、米国特許No.6,219,694(「ホストシステムから共有電子アドレスを有する移動データ通信デバイスへ情報をプッシュするシステム及び方法」)に記載されている。
結果として、これらのシステムは、(実際には、)無線デバイスと会社のEメイルデータベースとの間の完全な同期を提供することができない。例えば、メッセージは、ある状況の下で(例えば宛先変更イベントを転送する)、無線デバイスに宛先変更されるので、任意の時点で、無線デバイスは不完全な集合のEメイルデータを含むかもしれない。さらに、メッセージがアクティブで無線デバイスに転送される場合、無線デバイス及びEメイルデータベースに格納されたEメイルデータは、正確には同期されていない。例えば、無線デバイスで実行されるあるタイプのトランザクション、即ち、ユーザが一覧するメッセージ、メッセージの削除、あるフォルダから別のフォルダへのメッセージ移動などであるが、これらはEメイルサービスにおいて無線で更新されない。
さらに、メッセージの送受信などの基本的なEメイル機能だけが、無線デバイスで制御される。より高度なEメイル管理機能は、ユーザのデスクトップで設定されなければならない(例えば、Eメイルフィルタの構成、Eメイル署名の発信、パスワードなどのセキュリティ設定など)。
加えて、従来のメッセージングシステムは、ユーザがオフィスにいるとき、デバイスに接続しなければならない会社のデスクトップを必要とする。この問題は、単に会社のデスクトップが必要であるというのではなく、会社のデスクトップが、ソフトウェアで構成されるとともに無線デバイスに対して直接通信することができる所有者の「架台」でなければならない。
したがって、要求されることは、無線デバイスとメッセージングサービスとの間の完全な同期及び管理(例えば、会社のEメイルアカウント)を提供するシステム及び方法である。さらに要求されることは、会社のデスクトップを必要とせず、又は会社のデスクトップでインストールされ且つ実行される任意のソフトウェアを必要としないEメイル送受信用の無線装置である。
(優先権主張)
本出願は、2001年8月7日に出願された「バッチ処理データトランザクションによって帯域幅を保存する装置及び方法」と題する同時継続出願の一部継続出願である。
(概要)
データ処理デバイスとメッセージングサービスとが完全に同期するシステムが開示される。システムの一実施例は、無線データ処理デバイス、ユーザのメッセージ及び他の情報を保持するメッセージングサービス、及び前記メッセージ及び他の情報の同期を無線デバイス及びメッセージングサービス間で保持する同期化ロジックを含む。
(発明の詳細)
説明のために、以下の記載では本発明の完全な理解をもたらす多数の特定した詳細を述べる。しかしながら、当業者であればこれら特定の詳細なしに実行可能であることは明らかである。他の例では、本発明の不明瞭さを避けるためにブロック図の形式で、よく知られた構造及び装置を示す。
<典型的なネットワークアーキテクチャ>
図1は、ここで述べる圧縮技術を実行するネットワークアーキテクチャの一実施例である。図1に示された“顧客サイト”120は、複数のサーバ103及びクライアント110が通信する任意のローカルエリア又はワイドエリアネットワークである。例えば、顧客サイトは、一企業によって管理されるすべてのサーバ及びクライアントを含むことができる。様々な異なるメッセージング及びグループウェアサービス102(例えば、Eメイル、インスタント・メッセージング、カレンダー記録など)をネットワークユーザに提供するようサーバ103を構成することができる。一実施例では、これらのサービスはマイクロソフトエクスチャンジ(Microsoft ExchangeTM)によって提供される。しかしながら、本発明の基本的な原理は、特定のメッセージング/グループウェアプラットフォームに限定されない。
本発明の一実施例において、インタフェース100は、サービス102によって管理されるデータオブジェクト(例えば、Eメイル、インスタント・メッセージング、カレンダー記録など)を、(図1に無線デバイス130として表された)複数の無線データ処理デバイスへ、外部データネットワーク170及び/又は無線サービスプロバイダーネットワーク171経由で転送する。
例えば、サービス102がEメイルデータベースを含む場合、インタフェース100はサービス102のユーザメイルボックスに到着する新たなEメイルを、(ネットワーク170及び/又は171を越えて)当該ユーザの無線データ処理デバイスへ送信する。あるいは又はこれに加えて、サービス102は、そのEメイルを要求のあったユーザのローカルコンピュータ(クライアント110等)に提供することができる(つまり、その結果、ユーザは外出していれば彼らの無線デバイス130で、オフィスにいれば彼らのパソコン110でEメイルを受信するだろう)。逆に、ユーザの無線データ処理デバイス130から送信されたEメイルメッセージは、インタフェース100を介してサービス102へ送信される。
一実施例において、インタフェース100は、特定のサービス102で作用するのに適したソフトウェアモジュールである。しかしながら、インタフェース100は、本発明の基本的な原理を満たしながら、ハードウェア又はハードウェア及びソフトウェアの任意の組み合わせで実行されることに留意されたい。
一実施例おいて、外部データネットワーク170は、インタフェース100と無線デバイス130との間でデータを送信する、複数のサーバ/クライアント(不図示)及び他のネットワーキングハードウェア(例えば、ルータ、ハブなど)で構成される。一実施例では、インタフェース100は、データを、無線デバイス130を識別するアドレスを含む1以上のパケットにカプセル化する(例えば、24ビットのMobitexアクセス番号「MAN#」など)。外部データネットワーク170は、パケットを無線サービスプロバイダーネットワーク171へ送信し、次に、無線サービスプロバイダーネットワーク171は、無線通信リンク上のパケット(又はそこに含まれるデータ)を無線デバイス130へ送信する。一実施例において、無線サービスプロバイダーネットワークは、双方向ページングネットワークである。しかしながら、本発明の基本的な原理を満たしながら、様々な他のネットワークタイプ(例えば、CDMA2000、PCSなど)を実行することもできる。
同じ構成で、無線サービスプロバイダーネットワーク171及び外部データネットワーク170(及び関連するインタフェース100)を支配/操作させることができたり、或いはまた、外部データネットワーク170の支配者/操作者は、無線サービスプロバイダーネットワークから無線サービスを借りる(リースする)ことができる。本発明の基本的な原理は、特定のサービス取決めに限定されない。
本発明の一実施例において、サービス102(例えば、Eメイルデータベース)が無線データ処理デバイス130と十分に同期する。このため、無線デバイス130で実行される任意の動作が、サービス102で自動的に更新され、且つサービス102で生じる任意のトランザクションがデバイス130で自動的に反映される。このタイプの同期化更新は、デバイス構成の変更に限定されるものではないが、カレンダー更新、Eメイルメッセージ更新、インスタントメッセージ、予定事項リストの更新、及び/又は他のタイプの個人情報管理トランザクション或いは企業データ管理トランザクション(以後、“メッセージトランザクション”と称する)を含むことができる。一例として、ユーザがデバイス130を用いてEメイルメッセージを閲覧するとき、ユーザがメッセージを閲覧したという知らせが(インタフェース100経由で)サービス102へ送信される。したがって、ユーザがその後にクライアント110を介してEメイルに接続する場合、既に閲覧したEメイルとして表れるだろう。メッセージ削除、アクティビティを整理する(例えば、メッセージを特定のフォルダーに移動させる)、メッセージ応答、ミーティング確認/追加などの他のアクションが、サービス102へ自動的に反映される。これにより、(使用されるのであれば)サービス102、デバイス130及び/又はクライアント110間の完全な同期をもたらす。
最新のメッセージシステムは、完全な無線デバイス同期を提案していない。これらのシステムは、受信された所定のタイプの同期化更新にデバイスが結び付けられる「架台(cradle)」付きのデスクトップコンピュータをユーザが有することを要求する。これに対する1つの理由は、先行システムがかなり非効率な方法でメッセージトランザクションを処理し、限定的な圧縮技術のみを用いるということであり、これにより、完全な同期化を不可能にさせる。完全な無線同期を理解するために、本発明の実施例は、以下の圧縮及び/又はメッセージ処理技術を1つ以上用いる。
<状態に基づく圧縮>
図2は、無線データ処理デバイス130及びインタフェース100の一態様を詳細に示している。一実施例において、データ処理デバイス130は、ローカルデータ圧縮/伸長モジュール225(以後、“コーディックモジュール225”と称する)、及びローカルメッセージキャッシュ210より構成される。ローカルコーディックモジュール225は、ここで述べる様々な圧縮技術を用いて、出て行くデータを圧縮し、入ってくるデータを伸長する。
ローカルメッセージキャッシュ210は、入ってくるメッセージを一時的に格納するための入力待ち行列211と、出て行くメッセージを格納する出力待ち行列212から構成される。分離された論理ユニットとして図2に示されているが、キャッシュ置き換え方針に従って入ってくるメッセージと出て行くメッセージの両方を格納する単一ブロックのメモリだけからローカルメッセージキャッシュ210を構成することができる。一実施例において、入れ先出し法(FIFO)の置き換え方針を用いながら、入力待ち行列及び/又は出力待ち行列のメッセージを管理する。しかしながら、本発明の基本的な原理を満たしながら、様々な他のキャッシュ置き換え技術を用いることができる。例えば、最長時間末参照(LRU)方針を実行することができ、その場合、ローカルコーディックモジュール225により、使用頻度の少ないメッセージが、使用頻度が高いキャッシュよりも時間間隔が短いキャッシュ内に格納される。後述するように、ローカルコーディックモジュール225により使用頻度の高いメッセージが、共通のEメイルスレッドの部分を形成するメッセージを頻繁に含むことができるのに対して、使用頻度の少ないメッセージがジャンクメール又は“スパム”(つまり、一方的に送られて来るメッセージトランザクションが発生すること)を含むことができる。
一実施例のインタフェース100は、遠隔データの圧縮/伸長モジュール220(以後、“コーディックモジュール220”と称する)と、遠隔入力待ち行列201及び遠隔出力待ち行列202を備えた遠隔メッセージキャッシュ200とにより構成される。ここで述べられる技術に従い、コーディックモジュール220は、無線データ処理デバイス130に送信されたメッセージを圧縮し、無線データ処理デバイス130から受信したメッセージを伸長する。遠隔メッセージキャッシュ200は、(例えば、前述したような様々なキャッシュ置き換えアルゴリズムを用いて)無線データ処理デバイス130へ/無線データ処理デバイス130から送信されたメッセージを一時的に格納する。一実施例において、インタフェース100で実行されるキャッシュ置き換え方針は、無線デバイス130で実行される方針と同じになる(すなわち、その結果、遠隔キャッシュ200とローカルキャッシュ210との間でキャッシュ内容が同期する)。
図3a−cは、本発明の様々な態様を述べるために用いられる典型的な一連のEメイルメッセージを示している。図3aは、初期のEメイルメッセージ300を示しており、殆どのEメイルメッセージではヘッダ情報部分305とテキスト情報部分310とに論理的に分けられている。また、図3aには添付ファイル320を示しており、これは、メッセージに文書と電子署名が添付され、送信者(すなわち、John Smith)のEメイルクライアントによってメッセージに自動的に挿入することができるということを示している。
図3bは、初期のEメイルメッセージに答えて、ユーザのRoger Collinsによって引き続き送信された第2のEメイルメッセージ301を示している。新たなヘッダ情報335が示すように、本メッセージは初期の送信者であるJohn Smithへ、さらにそのカーボンコピー(CC)宛てのユーザであるTom Websterへは直接送信される。また、メッセージは、初期のメッセージが送信されたグループ内の他のすべての人にもカーボンコピーで送信される。この“全員に返信”の特徴は、殆どのEメイルクライアントで見出され、個々の共通グループが一連のEメイルメッセージを閲覧することができるようにするための単純なメカニズムを与えている。
図3bに示されるように、初期のEメイルメッセージ300の本文310が、新たなEメイルメッセージで実質的に再生成される。この“経過付き返信”の特徴もまた殆どのEメイルクライアントで共通しており、共通グループにおける個人からの一連のコメントを、あるEメイルメッセージから次のEメイルメッセージにわたり追跡することができる。また、オリジナルなEメイル本文の冒頭の各行には、返信者(Roger Collin)のEメイルシステムによって挿入された複数の記号316が示されている。この特徴は、(すべてではないが)かなりのEメイルシステムで共通し、ユーザが新しい本文と古い本文とを区別することができるようになっている。
したがって、一連のEメイルにおける初期のEメイル返信後であっても、Eメイル経過(すなわち、前のメッセージから再生成された本文部分と添付ファイル)が、メッセージ全体の重要な部分となり、Eメイルの本文とヘッダ部分の両方における相当な量の冗長な情報が無線ネットワーク上で送信されるということを引き起こす。
図3cは、一連のメッセージにおける最後のEメイルメッセージ302を示し、第2のEメイル受信者は第2のEメイル送信者とグループ内の他のすべてのCC宛てメンバーに返信する。図に示すように、Eメイルメッセージ302では、冗長でない情報というのは本文355のほんの数行である。グループメンバー全員のメイルアドレスは、前の2つのメッセージのものと同じである(異なるフィールド間で切り替えられているが、基本アドレスは同じである)、そして添付ファイル320を含む前のメッセージ300、301からの本文及びヘッダ情報は、若干の修正(例えば、Eメイルシステムによって挿入される付加記号“>”)だけで再生成される。
本発明の一実施例は、この高いレベルの冗長性を利用することによってEメイルメッセージを圧縮する。特に、新しいEメイルメッセージに含まれる実際の内容を送信するよりも、キャッシュ200、201に格納された前のEメイルメッセージで特定される新たなメッセージ部分が、冗長部分に対するポインタによって置き換わる。例えば、ユーザ無線デバイスのキャッシュに記憶されたメッセージ301内の冗長内容を特定するポインタは、メッセージ302において、メッセージ301からの冗長内容のすべてを置き換えることができる。これらや他の圧縮技術の詳細については後述する。
図4は、前のメッセージで見出された冗長内容を使ってメッセージを圧縮する方法の一実施例を示したものである。この実施例は、メッセージインタフェース100のある態様を詳細に示した図5に関連して述べられるだろう。400で、インタフェース100はメッセージ(又はメッセージ集合)を受信し、特定の無線データ処理デバイス130へ送信する。405で、当該メッセージを解析し、前のメッセージに冗長なデータが含まれているかどうかを判断する。一実施例では、これは図5に示すメッセージ識別ロジック500を介して行われ、前のEメイルメッセージをスキャンして冗長なデータを含むメッセージを探し出す。
メッセージを検索するため、メッセージ識別ロジック500は、様々なメッセージ識別パラメータ505を用いることができる。例えば、一実施例において、メッセージ識別ロジック500は、新たなメッセージが一連のメッセージ内で最新のものであるかどうかを判断することをまず試みるだろう。この判断を行うにあたって、メッセージ識別ロジック500は様々な技術を用いることができる。例えば、一実施例において、メッセージ識別ロジック500は、新たなメッセージが前のメッセージの返信であるかを示すスティング(sting)メッセージの主題(サブジェクト)フィールドを検索するだろう。これらのスティングが特定される場合、次に、メッセージ識別ロジック500は、(例えば、主題フィールドで見つかる文字列に基づいて)一連のメッセージの中で最新のメッセージを探すことができる。例えば、図3a−cに戻ると、メッセージ302を受信すると、メッセージ識別ロジック500は、主題フィールドの“RE:Patent Issues”を含んでいるという事実に基づき、一連の部分としてのメッセージ302を特定することができる。メッセージ識別ロジック500は、RE:(又はそのメッセージが転送される場合には、FW:)を無視し、主題フィールド(即ち、“Patent Issues”)の残りに適合する他のメッセージ内の文字列をスキャンし、その主題ヘッダ内の文字列を含む最新の前メッセージを特定することができる。
メッセージ主題が一連のメッセージの部分であることを示すRE:又はFW:などの文字を含まない場合、メッセージ識別ロジック500は、前メッセージを特定するメッセージ識別パラメータ505の異なる組を用いることができる。例えば、一実施例において、メッセージ識別ロジック500は最新のメッセージを検索し、そこでは新たなメッセージ送信者は(例えば、受信者として)ヘッダでリストされるだろう。さらに、メッセージ識別ロジック500は、所定のキーワード又はメッセージが関連データ(例えば、図3a−cに示された電子署名315など)を含んでいることを示す語句の組合わせを検索することができる。一実施例において、メッセージ識別ロジック500は、メッセージに関する優先付けられた部分集合を生成することができ、それは(定義されたパラメータ505に基づいて)新たなメッセージで見出される内容を含むのに最も適当な候補である。
410での判断で、前のメッセージに冗長なデータがまったく存在しない場合、次に420で、メッセージを圧縮するために後述するような付加的な圧縮技術が用いられる。しかしながら、前のメッセージで冗長なデータが存在する場合は、415で、無線デバイス130のキャッシュ210上(又はメッセージトランザクションの方向性に依存するインタフェース100のキャッシュ200内)の冗長データを特定するポインタ/オフセットと、その冗長データが置き換わる。図5に示すように、一実施例において、メッセージ識別ロジック500により特定されたメッセージを用いてポインタ/オフセットを生成する、状態に基づく圧縮ロジック510がこれを実行する。
図6は、状態に基づく圧縮ロジック510が生成した状態を基本とする圧縮フォーマットの一実施例を示したものである。図に示すように、そのフォーマットは、オフセット602、612によって分離された1以上の非冗長データ601、610、620、長さ603、613と、データブロックを前のメッセージと区別するメッセージ識別データ604、614とのかたまりから構成される。例えば、図6の圧縮フォーマットが図3cに示されるメッセージ302を符合化するために用いられる場合、非冗長データ601として新たな本文302を格納することができるのに対して、特定のメッセージID604によってメッセージ301のすべてを特定し、メッセージ301からの内容をコピーすることを始める箇所を特定するオフセット602、及びそのオフセットから特定されるアドレスポインタからどれだけの内容を読み出すかを示す長さ603が続く。
同様に、状態に基づく圧縮ロジック510が、図3bからのメッセージ301を符合化する場合、非冗長データ601として新たな本文部分340を格納することができる。さらに、Eメイルシステム316によって自動的に挿入される“>”の各記号は、非冗長データとして送信され、それはオフセット及び長さによって特定される冗長データの行により分離される(即ち、新たなメッセージにおいて、長さ/オフセットによって特定されたメッセージ300の各冗長な行の終わりで、新しい非冗長な“>”が挿入される)。
一実施例において、ユーザが長い期間メッセージを受信しなかった場合、膨大な関連メッセージ(例えば、メッセージ300−302など)をEメイルサービス102の受信箱で構築することができる。したがって、一実施例では、インタフェース100は、ユーザの無線デバイスのキャッシュ内にまだ到着しないメッセージに対するポインタを使いながら、前述したような状態に基づく圧縮技術を用いるだろう。つまり、ユーザがサービスにひとたび再接続すれば、インタフェース100は、(サービス102のユーザ受信箱に格納された)グループ内のメッセージが無線データ処理デバイス130のキャッシュ210に格納される箇所を特定するだろう。
再度、図4及び図5に戻ると、状態に基づく圧縮ロジック510がメッセージの圧縮を完了すれば、ユーザの無線デバイス130へ圧縮メッセージ515を送信することができる。あるはまた、420で、メッセージをさらに圧縮するために、(後述する)付加的な圧縮技術を用いることができる。メッセージが十分に圧縮されれば、(425で)それは無線デバイスに送信され、コーデックモジュール225を介してそれを伸長することができる。
無線デバイス130にメッセージを送信する前に、状態に基づく圧縮技術が、インタフェース100でメッセージを圧縮することを前述した。しかしながら、インタフェース100にメッセージを送信する前に、無線デバイス130によって同様な圧縮技術を実行することができることを認識されたい。(例えば、長さ/オフセットが遠隔メッセージキャッシュ200に記憶された冗長データを特定することができる)。加えて、Eメイルメッセージについて前述したが、様々な他のメッセージタイプ(例えば、ニュースグループ論文、インスタントメッセージ、HTML文書など)を圧縮するために、述べてきた圧縮技術を用いることができる。
<補足的/代替的な圧縮技術>
前述した状態に基づく圧縮技術に加えたり又は代わりとして、様々な付加的な圧縮技術を用いることができる。
本発明の一実施例において、比較的小さなコード単語を用いて共通の文字及び文字列(即ち、無線デバイス130とインタフェース100との間で頻繁に送信されるもの)を符合化するのに対して、比較的大きなコード単語を用いてめったにない文字又は文字列を符合化する。この方法でデータを符合化するために、共通の文字列を特定する統計解析が実行される。この統計解析に基づき、図7に示されたものと同様なルックアップテーブルが生成され、デバイス130及びインタフェース100の両方で管理される。図に示すように、会社のEメイル“@good.com”として使用されたドメイン、及び会社の電話番号の最初の6桁、例えば“(408)720-”などの所定の文字列は、完全に共通することができる。これら共通のビット列を比較的小さなコード単語に置き換えることは、かなりの圧縮につなげることができる。メッセージ300−302に戻ると、この圧縮技術を使って、各メッセージヘッダで何度も遭遇するドメイン“@good.com”を、短い数ビットの符合単語によって置き換えることができる。
一実施例において、インタフェース100と無線データ処理デバイス130間で送信される異なるデータタイプのために、異なるルックアップテーブルを生成することができるので、共通の文字列を特定が非常に正確になる。例えば、会社のアドレス帳を圧縮するために用いる他に、Eメイルメッセージを圧縮するために異なる組のコード単語を用いることができる。したがって、Eメイルメッセージを圧縮するために用いられるコード単語テーブルは、最も共通するEメイルドメイン用の比較的小さなコード単語を含むのに適しているが、会社のアドレス帳は、会社の住所と、会社の電話番号部分用の比較的小さなコード単語を含むことができる。
さらに、一実施例において、特定のタイプのデータにおける各フィールドのために、唯一のコード単語テーブルを生成することができる。例えば、Eメイルメッセージの残りのために用いる以外に、Eメイルヘッダフィールドのために異なるコード単語テーブルを用いることができる。同様に、“Eメイルアドレス”フィールドのために用いる以外に、会社のアドレス帳の“アドレス”フィールドのために異なるテーブルを生成することができ、コード単語の組を生成が非常に正確になる。
各フィールドのためのコード単語テーブルを統計的に生成し且つ送信するのではなく、代替的に又は付加的に、本発明の一実施例では英語辞書のような“既知の”単語辞書を参照することにより、その結果、データとともに辞書を送信することを不要にできる。例えば、一実施例では、無線デバイス130及び/又はインタフェース100上で管理されたスペルチェック辞書を内容の圧縮のために用いることができる。Eメイルメッセージの実際の本文を送信するよりも、スペルチェック辞書の入力によってメッセージの各単語は特定されるだろう(例えば、入力#3944によって単語“会議(meeting)”を置き換えることができる)。
前述したタイプの圧縮に特に適したあるタイプのデータが、殆どの会社のEメイルサーバで管理される会社アドレス帳である。本発明の一実施例において、会社アドレス帳は、クライアント110への直接リンクを介して始めに同期される(図1参照)。初期の同期では(例えば、無線デバイスがクライアント110に直接的にリンクされる場合)、共通文字の統計量及び“トークン”(例えば、名前、領域コード、Eメイルドメイン)が生成される。次に、その統計量及びトークンは、前述したようなデータを圧縮するために用いられる。その後、アドレス帳に対する任意の変更を無線で送信する。その後の更新では、両側(無線デバイス130及びインタフェース100)での圧縮器が、集められた初期の統計量を参照するだろう。そしてこの結果、新たな統計量又は単語のない圧縮が送信される。
更新はアドレス帳全体にしてみれば僅かなパーセンテージであるが、所定の会社で使用されるすべての無線デバイスが多重化される際はとくに、多くのバイトを表すことになる。したがって、前述したようなアドレス帳への更新を送信する際に必要なデータ量の削減は、伝送コストを節約するのに重要となる。加えて、アドレス帳はクライアントで利用可能な記憶容量を非常に大きくする可能性があるので、クライアントのアドレス帳を圧縮形式で記憶することは、より多くの入力を記憶することを可能にさせる。
一実施例において、付加的スペースを節約するため、会社アドレス帳の所定のフィールドのみが無線で同期されるだろう。例えば、名前、住所、Eメイル、及び電話番号フィールドを無線で更新することができる。無線デバイスがクライアント110に直接的に再びリンクされると、アドレス帳のすべてのフィールドを更新することができる。
図8は、コード単語テーブルを生成する方法の一実施例を示している。810で、標準のハフマン圧縮アルゴリズムによる使用のために、所定のバイト列の発生を計算する。820で、そのフィールドタイプのために自然な境界(boundary)に基づく特定のフィールドのために、所定の“トークン”を生成する。例えば、前述したEメイルアドレスを、Eメイルフィールドの“.com”及び“@good.com”に分割することができる。電話番号を、アドレス帳フィールドの“(650)”及び“(650)620-”に分割することができる。
830で、ある発生について言えば、4バイトトークンはカウントを4増加させるのだが、バイト列がカウントされる際の発生と同様の方法でトークンの発生はカウントされる。840で、1回以上発生する文字及びトークンすべてのコード単語テーブル(又は1回以上発生するトップNのトークンかもしれない)を生成する。そのテーブル部分はトークン自身を含むだろう。850で、コード単語テーブルの文字及びトークンを用いて、各レコードを圧縮し、860で、無線デバイス130にコード単語テーブル及び圧縮したレコードを送信する。
一実施例において、タイムスタンプのような唯一の番号により、コード単語テーブルを識別する。インタフェース100及び無線デバイス130の両方ともに、前記テーブルを格納する。無線デバイス130で、スペースを節約するためにレコードは圧縮されたままであり、開封されるときのみ伸長される。次の同期で、無線デバイス130は、会社の辞書に対する更新を要求することができる。要求の一部として、無線デバイス130は、コード単語テーブルに割当てられた唯一の番号(ユニークナンバー)を含むことができる。ある理由によって、無線デバイス130がオリジナルなテーブルを持たない場合、インタフェース100に知らせるために特定のタイプのIDを送信することができる。(例えば、ID用の“0”を使用することによって)。同様に、ある理由によって、ホストがIDを認識しない場合、オリジナルなテーブルを無視し、新たなテーブルを生成することができる。
しかしながら、殆どの場合、無線デバイス130及びインタフェース100は、どのようなIDであるか一致するだろうし、更新に関する圧縮は、前に計算した既存のコード単語テーブルを使用するだろう。例えば、既存の従業員の前に付けた同一のEメイル・ドメイン及び電話により、新たな従業員はうまく圧縮されるだろう。更新はアドレス帳全体のわじかなパーセンテージであるべきなので、既存のデータに非常に類似させることが最も適切であろう。
本発明の一実施例では、アルファベット文字(例えば、標準アスキー文字列)を独自開発の可変ビット文字フォーマットに変換し、共通文字用の比較的少ないビット及び共通でない文字用の比較的多いビットに割当てる。ある特定の実施例では、殆どの文字に6ビットを割当て、他の文字すべてに12ビットを割当てる。この実施例は、後述するエスケープ機能を介して、前述した他の圧縮形式で継ぎ目なしに統合される(例えば、メッセージポインタ生成、コード単語ルックアップなど)。
殆どのメッセージは、それらにアスキー文を有している。例えば、EメイルフィールドのTO:、又はアドレス帳入力の名前は、アスキー文字で構成されるのが一般的である。殆どのアスキー文は7ビット/文字を使用する。典型的な例外は、
Figure 2005521938
のようなアクセント(強勢)文字であるが、テキストフィールドの殆どの文字は、a−z、0−9、スペース、及び僅かな記号より構成される。
前述したようなコード単語テーブルを用いたテキスト圧縮は、膨大な量のテキストを符合化するには適した方法である。なぜなら、所定の文字の出現頻度に関する統計量を集め、少ないビットで多くの反復文字あらわすからである。例えば、文字‘e’は文字‘k’よりも頻繁に出現し、それは3ビットで表すことができる。また、同一の文字列が規則的に表れる(例えば、Eメイル・ドメインの“@good.com”など)ことが既知な特定のデータフィールドにデータを圧縮するのに特に適している。しかしながら、この技術における1つの問題は、その符合化されたテキストとともに統計情報を伝送し且つ格納することが要求されるということである。僅かな量のテキストにとっては(例えば、短いEメイルメッセージ)、これは実用的でない。
6ビット文字フォーマットは、64個の文字を提供する(26=64)。一実施例において、次の記号が6ビットを使って符合化される。それは、文字列の終わりを表すのに便利な零、‘a’〜‘z’、‘0’〜‘9’、スペース、最も共通した記号(例えば、ドット、カンマ、タブ、復帰改行、@、括弧、!、コロン、セミコロン、シングル引用符、ダブル引用符など)である。64個の値のうち48個が前述した値であり、16個の値はそのままである。
一実施例において、残りの16個の値が次のエスケープ値のために使用される。
(1)任意の可能なアスキー値が2つの6ビット値で符合化されるようにするため、次の6ビットにより組み合わせた4個の値である。前述した文字は、上位10内に無い記号、アクセント(強勢)記号などを許可する。例えば、60、61、62、63のバイナリー値は、基本の文字情報を含む他の6ビット値をそれぞれ識別することができる。これは、完全なUSアスキー文字集合を符合化するのに十二分な、付加的な256文字(4*64=256)の符合化のために提供される。
(2)シフトロックである。次のシフトロックがシフトを止めるまでシフトする。文字にすれば、これはキャップスロックのようなものである。数字及び記号にすれば、これは何の効果もないかもしれない。あるいはまた、シフトロックがオンの時は、第2の組の値を定義することができる(例えば、記号に関する第2の“上位10”のリスト)。
一実施例において、残りの11個の6ビット文字は、“インストール可能なエスケープ値”であり、1以上の標準又は従来の圧縮器を許可する。例えば、EメイルすべてにあるTO:、FROM:CC:、及びBCC:フィールドは、セミコロンによって分離されるEメイルアドレスのリストを含む。次の特別なエスケープ値を定義することができる。
(1)顧客の/ユーザのEメイルアドレスを6ビットに変換することができる。
(2)顧客の/ユーザのドメインを6ビットに変換することができる(例えば、“@Good.Com”は6ビットになる)。
(3)“共通”ドメインネーム及び接尾部(サフィックス)を6ビット値及び6ビット引数に変換することができる(例えば、“共通”リストは、殆ど共通した64個の名前であり、且つ“@aol.com”、“@webtv.com”、“.com”、“.net”、“.org”、“.gov”、“.us”、“.uk”など)。
(4)Eメイルの“最近使用された”名前を6ビット値及び6ビット引数に変換することができる。メッセージがEメイルIDであるメッセージの他の所は、これが左右される。引数は、フィールド(TO:、FROM:、CC:、BCC:)を識別する2ビット、及びそのフィールドの最初の16個のEメイルアドレスを識別する4ビットを含むだろう。
前述した他のタイプの圧縮によって(例えば、コード単語、置き換え文字、LZ圧縮、辞書探索、及び/又は前メッセージの参照)、新たな文字フォーマットを連続的に用いることができる。一実施例において、図9に示すように、テキスト圧縮モジュール900は、前述した6ビット文字フォーマットに従ってテキストを圧縮し、様々な他の圧縮モジュール間で圧縮機能を調整する。図示した実施例では、前述したようなキャッシュした前メッセージ、及び(例えば、前述したようなスペルチェック辞書を参照しながら統計的に解析されたトークンを符合化することによって)コード単語を使って共通文字列を圧縮する、コード単語圧縮モジュール920のための状態に基づく圧縮モジュール910を含む。さらに、代替圧縮モジュール930により示されるように、巨大レベルの圧縮(例えば、標準LZ圧縮)を達成するために、様々な他のタイプの圧縮をシステム上で用いることができる。
図10は、本発明のこの実施例による符合化された(図3cからの)Eメイルメッセージ302の典型的な一部を示したものである。Eメイルメッセージ302の右上隅からはじまり、テキスト圧縮モジュール900は、文字の第1の組を符合化する(即ち、アドレスフィールド“TO:”により開始する)。各文字で、テキスト圧縮モジュール900は、他の圧縮モジュール910、920、930を調整し、これらのモジュールが巨大圧縮を実現できるかどうかを判断する。実現できない場合、テキスト圧縮モジュール900は、6ビット文字フォーマットに従ってテキストを符合化する。しかしながら、他の圧縮モジュール910、920、930の1つによって高レベルの圧縮を実現できる場合、テキスト圧縮モジュール900は、そのモジュールに圧縮タスクを引き渡し、そのモジュールが圧縮タスクを達成する箇所を示すビット“エスケープ”シーケンスを挿入する。
例えば、図10に示すように、最初の3文字(“TO:”)に続くエスケープシーケンス“110010”は、コード単語生成モジュール920が次のデータ部分を圧縮することを示している。実行時に、Eメイルメッセージのこのポイントにくると、コード単語生成モジュール920は、コード単語を用いた(例えば、トークン化されたEメイルアドレスを用いて)高レベルの圧縮を行うことができることをテキスト圧縮モジュール900に知らせる。したがって、エスケープシーケンス“110010”に続くシーケンス“1011001000”は、トークン化されたEメイルアドレス“Collins,Roger”<rcollins@good.com>を表すコード単語である。
あるいはまた、システムが用いる特定のコード単語の組に依存したEメイルアドレスを符合化するために、2以上のコード単語を用いることができる(例えば、個人ネーム用のものと、ドメイン“@good.com”用の別のもの)。図10に示すように、次に、テキスト圧縮モジュール900は、トークン化されたEメイルアドレス(即ち、復改文字の後の“FROM:”)の次の符合化プロセスを得る。
Eメイルヘッダー情報が符合化された後、新たなテキスト355のかたまりが6ビット文字フォーマットを用いて符合化される。もちろん、コード単語生成モジュール920及び/又はシステムの前のEメイルによって用いられるコード単語に依存し、コード単語及び/又は前メッセージへのポインタを使って、新たなテキスト355のかたまりの一部を符合化することができる。テキストかたまり355に次いで、状態に基づく圧縮モジュール910は、メッセージを解析後に、前メッセージに見出された内容を特定することによって高レベルの圧縮を行うことができることをテキスト圧縮モジュール900に知らせる。圧縮が、状態に基づく圧縮モジュール910によってそのポイントの前方から処理されることを示すエスケープシーケンス“110011”が生成される。次に、状態に基づく圧縮モジュール910は、(メッセージ301を示す)メッセージIDコードを使って前のEメイルメッセージを特定し、且つ(例えば、前述したような1以上の状態に基づく圧縮技術を用いて)そのEメイルメッセージ内の特定の内容を示すオフセットと長さを生成する。
図10に示す特別の例は図示するためのものに過ぎないことに留意すべきである。システム及び/又はシステム上で記憶された前メッセージによって用いられた符合単語に依存し、Eメイルメッセージ302の実際の符合化は、図示したものと異なって表れるかもしれない。例えば、前述したように、6ビット文字フォーマットと同様な、コード単語及び/又は前メッセージに対するポインタを使って、テキスト355のかたまりを符合化する。
また、(例えば、代替圧縮モジュール930によってあらわされた)様々な補足的/代替的な圧縮技術を用いることができる。一実施例において、あるタイプのデータは、無線データ処理デバイス130とインタフェース100との間、無線で送信されない。例えば、一実施例において、デバイスがある期間(例えば、1週間)メッセージを受信できない場合は、メッセージヘッダーだけがまずデバイス130に送信され、これにより、過度に長いダウンロード時間を避けることができる(即ち、そこでは、利用不可能な期間に受信したメッセージすべてがデバイスへ転送される)。代替的に又は付加的に、一実施例において、デバイスが延長期間に接触しない場合、(例えば、24時間を越えて受信された)関連する新たなメッセージだけが、オンラインに戻ったときにデバイスに送信される。同様に、一実施例において、ユーザがカーボンコピー(CC)受信者であるとき及び/又はEメイルがユーザ受信箱以外からのものであるとき、Eメイルヘッダー情報だけが、(例えば、主題及び送信者を示しながら)無線デバイス130に送信される。
一実施例では、所定のフィールドのみがデバイス130で更新される。例えば、会社又は個人のアドレス帳に関連して、名前、Eメイルアドレス、及び電話番号フィールドをデバイス130で同期させることができる。デバイスがクライアントに直接的に接続されるとき、すべてのフィールドを更新することができる。
一実施例において、デバイス130にEメイルメッセージを送信する前に、より圧縮させるために、Eメイルメッセージから所定の細目(detail)が除去される。例えば、ある特定のヘッダ情報のみを送信することができる(宛先、送信者、カーボンコピー(CC)先、日付、主題、本文など)。同様に、あるサイズ以上の(例えば、20文字の後の)主題行を短縮することができる。さらに、添付ファイル及び様々なフォーマット形式の主題(例えば、埋め込まれた画像)を送信することができない。一実施例において、ユーザが出て行くメッセージのカーボンコピー受信者として彼/彼女自身をリストする場合、このメッセージは無線デバイス130へ送り返されないだろう。
一実施例では、無線デバイスに添付ファイルを送信することができないが、ユーザはその添付ファイルを無線デバイスから他人へ転送することができる(もちろん、添付ファイルをEメイルサーバに格納することもできるだろう)。さらに、一実施例では、無線デバイス130からのユーザコマンドを受けて、添付ファイルをファクシミリ機器に送ることができる。したがって、ユーザがオフィスから離れ、特定の添付ファイルを見直す必要がある場合、彼はすぐ近くのファクシミリ機器の番号をタイプし、その情報をインタフェース100に送信することが可能である。次に、インタフェース100は、添付されたファイルタイプ(例えば、ワード、パワーポイントなど)にとってのビューワーを用いてその添付ファイルを開け、ユーザが入力したファクシミリ番号を使ってモデムを介し文書を送信するだろう。この結果、ユーザはデバイスでその添付ファイルを受信することなく閲覧することができる。
<メッセージトランザクションのバッチ処理>
図11に示すように、ある状況下で、デバイス130とサービス102との間の完全な同期を維持することは、かなりの量の無線帯域幅を消費するかもしれない。例えば、ユーザが延長された期間又は時間(例えば、デバイスの電源が切られている)帯域外にいるならば、デバイスが帯域内に戻った際に、インタフェース100から無線デバイス130へ複数のメッセージを連続して送信することができる。もちろん、幾つかのケースでは、ユーザは帯域外にいる必要はまったくない。むしろ、ユーザは、非常に多くの連続したEメイルメッセージを受信/送信することができる。
図示するように、ユーザがデバイス130でメッセージの閲覧を開始すると、メッセージトランザクションの更新は、インタフェース100に絶えず送られる。例えば、ユーザがメッセージ1を読み出すとき、メッセージが読み出された知らせがインタフェース100に送信される。この後、(例えば、通信を受信したことを知らせながら、)インタフェース100からの肯定応答(ACK)が続く。同様に、ユーザがメッセージ2を読み出し且つ削除する場合、メッセージが読み出され且つ削除されたことの個別の知らせが、インタフェース100に送信され、各トランザクションの肯定応答がこの後それぞれに続く。
デバイス130とインタフェース100との間の個々のデータトランザクションが、かなりの量のオーバヘッド(例えば、デバイスアドレス130などのヘッダ情報)を含むので、そして各メッセージがインタフェース100からの肯定応答を要求するので、この方法でメッセージを同期させることは、非常に多くの帯域幅を消費するかもしれない。別の方法では、制御データ(例えば、ヘッダデータ)に対する実際のデータ(例えば、データベース更新)の割合はかなり低いだろう。さらに、このタイプの連続したデータ伝送は、かなり多くの電力(パワー)を消費する傾向があるだろう(これは、デバイスの無線通信が、低電源モードに入るほど十分に長い休止状態でない理由などによる)。
したがって、本発明の一実施例では、(後述する)ある状況下で、デバイス130とインタフェース100間のデータトランザクションを組み合わせたり、帯域幅を節約するためのバッチ処理が行われたりする。例えば、図12に示すように、この実施例では、デバイスがサービス102と同期する前に、複数のメッセージトランザクションをデータ処理デバイス上で実行することができる。引き続き、すべての同期更新を含む単一の伝送1201(例えば、メッセージを見ること及び削除すること、メッセージ応答など)がインタフェース100に送信され、更新を受信したという単一の肯定応答1202が続く。
同様に、ある状況下では、デバイス130に送信する前に、サービス102でのデータベース変更をバッチ処理で行うことができる。例えば、オフィスにいるユーザが、(例えば、クライアント110からの)一連のEメイルメッセージを読んで返事を出し、各メッセージトランザクションを無線デバイス130送信する場合、前述した理由により、互いの独立性は有効でないかもしれない。このため、一実施例において、これらのトランザクション(又はこれの部分集合)が組み合わされ、同時に無線デバイス130へ送信される。
図12に示したように、バッチ処理が開始される特別の状況、且つ(開始されれば)メッセージが組み合わされる特別の方法は、無線デバイス130及び/又はインタフェース100それぞれに構築された処理パラメータ1210、1220に基づいて行われる。例えば、一実施例において、ユーザが延長期間(例えば、2日)間、メッセージをチェックしなかった場合、バッチ処理が起動されるだろう。この場合、ユーザがメッセージのチェックを開始すると、比較的短い期間内に、彼/彼女が非常に多くのメッセージトランザクションを実行することが期待される。しかしながら、本発明の基本的な原理を満たしながら、様々なバッチ処理起動を用いることができることに留意されたい(例えば、所定時間内の2以上の連続したメッセージトランザクション、エンドユーザによって設定された手作業の起動作業など)。
バッチ処理が起動されると、各間隔の終わりで、周期的な間隔(例えば、10分ごと)で出現するメッセージトランザクションを組み合わせて送信することができる。代替的に又は追加的に、組み合わされたメッセージトランザクションが、(例えば、トランザクションの完全な番号、及び/又は組み合わされたトランザクション内に含まれるデータ量に基づく)ある所定の閾値に達すると、その組み合わされたメッセージを一緒に送信することができる。本発明の基本的な原理を満たしながら、様々な他のメッセージ組み合わせパラメータを用いることができる。
メッセージトランザクションのバッチ処理を実行する方法の一実施例を図13に示す。1301で、現在のメッセージトランザクション条件が評価される(例えば、メッセージトランザクションが実行される頻度で、最後のメッセージトランザクションが開始されるときなど)。1305で、現在の条件がバッチ処理に要求された閾値条件に適合するかどうかを判断する。例えば、前述したように、ユーザの無線処理デバイス130が所定の期間、帯域外にいる場合、及び/又はユーザが周期的に自分のEメイルをチェックしない場合、バッチ処理モードを呼び出すことができる。
前記条件が適合しない場合、1310で、システムは標準メッセージトランザクションモードのままである。しかしながら、条件が適合している場合、1315で、そのシステム(即ち、無線デバイス130及び/又はインタフェース100)は、確立されたバッチ処理パラメータに従ってメッセージを処理する。例えば、この段階で、無線デバイス130及び/又はインタフェース100は、所定の周期で生じる(又は前述したような、特定の数のトランザクション又はデータ量になる)メッセージトランザクションを組み合わせることができる。
1325で、再度、標準メッセージの処理条件が適合しているかどうかを判断する。例えば、バッチ処理モードに入った後、ユーザのデータ処理デバイスが所定の期間帯域にあって、且つユーザがメッセージを周期的に受信し迅速に返信する場合、これは、システムが標準メッセージ伝送モードに戻るようにすることができる。システム構成によって、様々な追加的/代替的条件は、システムがその標準メッセージ処理モードに入るようにすることができる。
<マルチレベルのバッチ処理>
本発明の一実施例において、2レベルのバッチ処理が用いられる。1つは顧客サイト120でのものであり、もう1つは外部のデータネットワーク170に配置されたデータセンターのものである。本実施例は図14に関連して述べられ、図14は外部ゲートウェイ1413を経由した顧客サイトに、及び無線ゲートウェイ1411を経由した無線ネットワーク171に通信可能に接続されたデータセンター1410を示している。
顧客サイトでのバッチ処理ロジック1400は、第1のレベルのバッチ処理を提供する。特に、一実施例において、ユーザがメッセージトランザクショングループを同時に実行する場合、バッチ処理ロジック1400は、データセンター1410に送信する前に、メッセージトランザクションを論理的に組み合わせる。例えば、(個々の削除/移動を連続して送信し、且つデータセンター1410からの個々の肯定応答の数に等しいだけ待つ場合に対して、)ユーザがEメイルメッセージのかたまりを削除したり、あるフォルダから別のフォルダへメッセージのかたまりを移動する場合には、それぞれの削除/移動のかたまりがグループとして送信される。さらに、メッセージトランザクションのかたまりは、(図2に関して前述したように、)遠隔メッセージキャッシュ200内、又は顧客サイトでの代替キャッシュ内に完全に一時的に格納される。
データセンター1410で、バッチ処理メッセージトランザクションは、まず、“メッセージ切り替え”1412としてここで称される第2のキャッシュに完全に格納される。メッセージトランザクションのかたまりを受信し且つ格納した後、メッセージ切り替えは、ブロックの肯定応答をバッチ処理ロジック1400に送信し、その後、バッチ処理ロジック1400は、遠隔メッセージキャッシュ200からそのメッセージトランザクションかたまりを削除することができる。あるいはまた、バッチ処理ロジック1400は、ある所定の時間の、又はある所定のイベントが発生した後のメッセージトランザクションのかたまりを格納し続けることができる(例えば、無線デバイス130によってメッセージトランザクションがうまく受信されたという知らせをバッチ処理ロジック1400が受け取るまで)。
無線デバイスが無線ネットワークに有効に接続される場合、メッセージトランザクションが、グループとして、メッセージ切り替え1412から無線デバイスへ(無線ゲートウェイ1411を経由して)転送される。例えば、10個のメッセージがユーザの“受信箱”フォルダから“保存メイル”フォルダへ移動されるという知らせを一緒に送信することができる。次に、無線デバイス130は、10個すべてのメッセージトランザクションを受信したという単一の肯定応答付きの返答をすることができる。あるいはまた、1つのメッセージトランザクションがうまく受信されなかった場合、(“メッセージトランザクションの正しい順序の配信”という表題の章で後述するように、)無線デバイス130は、グループ全体に対して、独立したメッセージトランザクションを要求することができる。
一実施例において、メッセージ切り替え1412は、顧客サイトで、バッチ処理ロジック1400により実行される第1のレベルのバッチ処理に加え(又は代わりに)、第2のレベルのバッチ処理機能を実行する。特に、メッセージ切り替え1412は、大量のメッセージトランザクション(例えば、“10個のメッセージを削除”)に対する時間に生成される一連のメッセージトランザクションをバッチ処理する。例えば、ユーザは顧客サイトで1つの新しいEメイルメッセージを読み出した後、別のものを読み出すのが典型的であり、そして新たな予定事項リストの入力、及び一日にわたるカレンダー入力を絶え間なく追加することができる。一実施例において、これらの個々のメッセージトランザクションは、それらがサービス102で発生するときにインタフェース100からメッセージ切り替え1412へ送信される。例えば、ユーザが単一の新たなEメイルメッセージを読み出すとき、メッセージが読み出されたという知らせがメッセージ切り替え1412に送信される。同様に、ユーザが新しいカレンダー入力を生成するとき、その新たな入力がメッセージ切り替え1412へ自動的に送信される。
一実施例において、メッセージ切り替え1412は、無線デバイス130に送信する前に様々な個々のメッセージトランザクションを一緒にグループ化する。無線デバイス130が無線ネットワークに有効に接続される場合、メッセージ切り替え1412は、所定数のメッセージトランザクションを一緒にグループ化することができ、及び/又はそれらをグループとして無線デバイス130へ送信する前の時間に発生するすべてのメッセージトランザクションを一緒にグループ化することができる。
無線デバイス130が無線ネットワーク上で有効に通信しない間、メッセージ切り替え1412は、すべてのメッセージトランザクションを組み合わせ、且つ無線デバイスがオンラインになるとそれらをグループとして送信することができる。一実施例において、メッセージ切り替え1412及び/又はバッチ処理ロジック1400は、図12に関して述べたバッチ処理パラメータ1210、1220に基づくメッセージトランザクションをバッチ処理することができる。
<正しい順序の配信>
この中で述べたように、無線デバイス130をサービス102と十分に同期させるためには、メッセージトランザクションが無線デバイスから及びデバイスへ確かに通信されるだけでなく、メッセージトランザクションが正しい順序(例えば、メッセージトランザクションがサービスで発生したのと同じ連続した順序)で通信されることも重要である。例えば、ユーザがサービス102で新たなフィルダを作り、次にそのフォルダ内に数個のメッセージを移動させる場合、移動トランザクションの前に無線デバイスによって、フォルダを作るトランザクションを受信しなければならない。
Mobitexのような無線ネットワークはデータを信頼して配信することを保証するが、配信されるデータが正しい順序で到着することを必ずしも保証していない。さらに、転送制御プロトコル(“TCP”)のようなネットワークプロトコルは、正しい順序のデータ配信を保証していないが、これらのプロトコルは、送信ノードと受信ノードの両方が常に有効であることを保証する。これにより、1つのノードが延長期間有効でないシステムに対して必ずしも適合されない。
図15に示す本発明の一実施例は、正しい順序の制御ロジック1500、1510、1520を顧客サイトで用い、データセンター及び/又は無線デバイスそれぞれは、メッセージトランザクションに関する正しい順序の配信を保証する。動作では、顧客サイトでの各メッセージトランザクションが、メッセージトランザクションが生成された順序を示す一連のコードに割当てられる。一実施例において、一連のメッセージトランザクションが無線デバイス130に送信される(又は無線デバイス130からインタフェース100に送信される)とき、無線デバイス130(又はインタフェース100)は、前の連続したメッセージトランザクションすべてを受信するまで特定のメッセージトランザクションを実行しないだろう。その結果、無線デバイス130が1〜3、及び5〜10までの連続してコード化された一連のメッセージトランザクションを受信する場合、メッセージトランザクション1〜メッセージトランザクション3を実行することができ、メッセージトランザクション4を受信するまでメッセージトランザクション5〜10を実行しないだろう。
一実施例において、(例えば、メッセージトランザクションは送信中に失われるという理由で)無線デバイスが所定期間後にメッセージトランザクション4を受信しなかった場合、無線デバイス130はデータセンター1410及び/又はインタフェース100へ要求を送り、メッセージトランザクション4を転送するだろう。次に、インタフェース100及び/又はデータセンター1410でそれぞれ実行される正しい順序の制御ロジック1500又は1510は、遠隔メッセージキャッシュ200又はメッセージ切り替え1412それぞれからのメッセージトランザクション4を転送するだろう。
無線デバイス130は、メッセージトランザクション4をうまく受信すると、インタフェース100及び/又は無線切り替え1412に通知し、これによってメッセージトランザクションが、遠隔メッセージキャッシュ200及び/又はメッセージ切り替え1412から除去されるようになる(即ち、ここで述べられる他のキャッシュ除去条件が適合されたということを仮定する)。一実施例において、無線デバイスは、各メッセージトランザクションに関する個々の通知に対して、ブロック通知を送ることができる。例えば、メッセージトランザクション4を受信したという通知を単に送るよりも、無線デバイス130はメッセージ1−10(又はかわりに使えるメッセージトランザクションの数)をうまく受信したという単一の通知を送ることができ、これにより、単一の通知によってすべてのメッセージが遠隔メッセージキャッシュ200及び/又はメッセージ切り替え1412からクリアーされるようになる。前述した連続のトランザクション番号は説明のためだけに用いられていることに留意すべきである。本発明の基本的な原理を満たしながら、メッセージトランザクション順序を示すために、様々な代替的な連続コードを用いることができる。
<識別コードの割当て>
各Eメイルメッセージ、カレンダー入力、予定事項リストの入力などは、サービス102による唯一の識別コードが割当てられる。例えば、サービスがマイクロソフトエクスチェンジ(Microsoft Exchange)である場合、新たなデータオブジェクトそれぞれに対して128バイトの識別コードを生成する。したがって、無線デバイス130をサービス102に完全に同期させるとき、どんな冗長の識別コードも2つの分断したデータオブジェクトのために割当てられないということを保証するためにあるメカニズムを準備しなければならない。例えば、サービス102と無線デバイス130の両方がデータオブジェクトを個々に生成することができる場合、両方ともに矛盾を生じるような同一の識別コードを有するデータオブジェクトを同時に生成するかもしれない。
この問題を解決するための1つのメカニズムは、無線デバイス130を必要とし、新たなデータオブジェクトを生成するたびごとに、サービス102から新たな識別コードを要求することである。このシナリオによる可能性のある問題の1つは、無線デバイス130が識別コードを獲得するのにかかる時間が不当に長く、無線ネットワークの速度に依存するということである。例えば、新たなEメイルメッセージの入力やカレンダー入力を開始するのを待つ理不尽な時間は、数秒とみなすことができる。
あるいはまた、一実施例において、可能性のあるすべてのデータオブジェクトコードの範囲は、無線デバイス130とサービス103との間で分けられる。言い換えると、可能性のあるすべてのコードの所定のパーセンテージ(例えば、1/2)が、無線デバイス130に割当てられ、残りの可能性のあるコードがサービス103に割当てられる。動作において、無線デバイスで新たなデータオブジェクトが生成されるとき(例えば、新たな“予定事項”リストの入力)、無線デバイス130がデータオブジェクトコードを事前に割当てられた範囲からのみ選択し、これによりサービス102での矛盾を避けるだろう。ある特別の実施例において、負のコードすべてが無線デバイス130に割当てられ、正のコードすべてがサービス102に割当てられる。32ビット(4バイト)コードが用いられる場合、これは2,147,483,648(231)個の負コードと、2,147,483,648(231)個の正コードとを生じさせるだろう。しかしながら、コードを分割するこの特別の方法は、本発明の基本的原理とは関係がない。
無線デバイスがサービスと完全に同期する際に存在する別のあり得る問題としては、多くのサービスによって用いられる標準データのオブジェクト識別コードが不必要に大きいということである。前述したように、マイクロソフトエクスチェンジは、128バイト(1024ビット)コードを生成し、それぞれの唯一のデータオブジェクトを識別する。
したがって、図16に示された本発明の位置実施例において、インタフェース100は、標準データのオブジェクト識別コード1620(例えば、マイクロソフトエクスチェンジによって用いられる128バイトコードなど)を、ここで述べる同期システムの使用のために特別に生成されるデータオブジェクト識別コード(ID)1610(以後、「同期システム識別コード1610」と称する)へマッピングするオブジェクト識別コードマッピングロジック1600を含む。図示したように、オブジェクト識別コードマッピングロジック1600は、各標準識別コード1620を対応する同期システム識別コード1610に関連付けるデータオブジェクト識別テーブル1605を保持する。前述したように、一実施例において、同期システム識別コード1610は32ビット長であり、これにより、無線ネットワーク上に伝送される情報量を格段に削減させる。さらに、図16に示すように、負の識別コード1610が、無線デバイス130によって生成されるデータオブジェクトを識別し、そして正の識別コード1610が、サービス102で生成された(例えば、ローカルデスクトップPCからの)データオブジェクトを識別する。
<データオブジェクトの不一致解決>
無線デバイス130及びサービス102の両方で、データオブジェクトのコピーを保持することができるので、本発明の一実施例では、無線デバイス130及びサービス102両方での同じデータオブジェクトに対する同時修正が、論理的な方法で解決されることを保証するための技術を用いる。例えば、一実施例において、バージョン番号が各データオブジェクトに関連付けられる。データオブジェクトが修正される度ごとに、そのバージョンコードが変更され新たなバージョンを表すことになる。
一実施例では、図17に示すように、インタフェース100及び/又は無線データ処理デバイス130は、不一致検出ロジック1700,1701をそれぞれに含み、バージョン不一致が発生した時期、そしてそのバージョン不一致を解決するために1以上の所定の不一致解決技術を実行する不一致解決ロジック1710を検出する。図17の例示の方法によれば、バージョン1のデータオブジェクトXのコピーは、最初、無線デバイス130及びサービス102の両方に格納される。例えば、バージョン1は、カレンダー入力又は予定事項リスト入力の初期バージョンであり得る。バージョン1のデータオブジェクトXの2つのコピーは、サービス102及び無線デバイス130で同時に修正され、バージョン不一致を生み出すバージョン21とバージョン22をそれぞれ生成する。これが起こり得る1つの方法は、ユーザが無線デバイス130でデータオブジェクトXを修正するのと同時に、ユーザの管理的なアシスタントがサービス102でデータオブジェクトXを修正するということである。無線デバイス130は、バージョン22でサービス102を更新することをその後に試み、同様に、サービス102は、バージョン21で無線デバイス130を更新することを試みる。
一実施例において、不一致検出ロジック1700,1701は、インタフェース100及び/又は無線デバイス130でそれぞれ実行し、バージョン不一致を検出する。応答時では、1以上の不一致解決技術を適用することによって当該不一致の解決を試みる不一致解明ロジック1710,1711を誘引する。不一致を解決するために、様々な技術を用いることができる。例えば、一実施例において、サービス102で、データオブジェクトのバージョン(バージョン21)が自動的に保持され、そしてユーザは、無線デバイス130からのデータオブジェクトに対する自分の修正が入力されないことが通知される。新たなバージョン(バージョン22)の可視的表示、及び/又は修正が入力されない理由に関する説明によってこの通知を達成することができる。あるいはまた、一実施例において、ユーザはデータ処理デバイスから促されて、2つの可能性のあるバージョン間の選択を行う。選択を行うことで、その選択されたバージョンは、無線デバイス130及びサービス102の両方に格納されるだろう。別の個人が試みて選択されていないバージョンを入力する場合(例えば、ユーザの管理的なアシスタント)、その後に当該個人を通知することができる。一実施例では、選択されるバージョンは、それを入力した人物に基づく。例えば、ユーザ(即ち、ユーザの管理的アシスタントでない)によって生成されたバージョンを常に受け入れるよう本発明の一実施例を構成することができる。その結果、ユーザが無線デバイス130又はサービス102で直接的の何れかより(即ち、サービス102に接続されたデスクトップから)データオブジェクトXを修正する場合、ユーザの修正は他の任意の修正を超えて受け入れられるだろう。
前述した特有の不一致解決技術は、説明の目的のみのためであることに留意すべきである。本発明の基本的な原理を満たしながら、不一致解決ロジック1710,1711によって、様々な付加的な不一致解決技術を用いることができる。
<完全な無線同期及びゼロデスクトップのインストール>
前述した高等の圧縮及びメッセージ処理技術は、無線デバイス130がサービス102と完全に同期することができるようにする。例えば、本発明の一実施例において、メッセージサービスの主な構成要素すべてが無線デバイス130上で完全に同期される。例えば、サービスがマイクロソフトエクスチェンジである場合、これらの構成要素は、Eメイル並びに電子的なカレンダー、コンタクト、タスク、及びノートを含むだろう。したがって、すべてのユーザトランザクションが、クレードル(架台)を必要とすることなく、無線デバイス上での交信を保持する。
一実施例において、メッセージが同期されるばかりでなく、サービス102の完全な状態もまた同期することができる。例えば、この状態情報は、新たなフォルダ、古いフォルダの削除、フォルダへのメッセージファイリング、デバイスからのメッセージ読み出し、未読メッセージの印つけ、Eメイル削除、新たなメッセージの到着、フォルダへのメッセージコピー、メッセージ及び/又はサービスで保持されたメイルボックスに影響を及ぼす他の任意のトランザクションに関するファイリングを含むことができる。
さらに、一実施例において、無線デバイス130は、無線で供給される。したがって、ユーザのアカウントがサービスで使用可能になると、ユーザの初期データすべてが無線で送信される。例えば、このデータは初期のコンタクト(例えば、アドレス帳)、ノート、タスク、及びカレンダーデータを含むことができる。一実施例において、デバイスとサービスとの間の通信を暗号化するため(例えば、デバイスインストールソフトウェアによって)、無線デバイス130上で唯一の暗号鍵を初めにインストールすることができる。
一実施例において、たとえ無線デバイス130のデータが完全に同期されなくとも、デバイス上のスペースを節約するために成熟したアルゴリズムを用いることができる。例えば、ある時点の所定の位置で、サービスは40,000個のデータオブジェクト(例えば、Eメイルメッセージ、カレンダー入力など)を格納することができるのに対して、(メモリ量の限界がある)無線デバイスは、20,000個のデータオブジェクトしか格納することができないかもしれない。したがって、一実施例において、無線デバイス130は、最長期間、修正又はその他の場合は操作(例えば、あるフォルダから別のフォルダへの移動)されなかったデータオブジェクトを格納するだろう。一実施例において、ユーザはどんなタイプのメッセージが自動的に削除されるべきかを特定することができる(例えば、「送信メイル」フォルダ内のメッセージのみ、1月を超える任意のメッセージなど)。しかしながら、メッセージがデバイスから移動されると、サービスからそのメッセージを常に取り戻すことができる。
例えば、ユーザはあるデータオブジェクトを要求し、1以上の特定の変量(例えば、作成者、クライアント、送信者、受信者、データ範囲など)に基づいたサービス102より再送信することができる。同様に、一実施例において、ユーザが無線デバイス130から、ユーザのデスクトップから削除されているデータオブジェクトを操作する場合(例えば、あるフォルダから別のフォルダへのEメイルメッセージ移動)、データオブジェクトは、無線デバイスに再送信され、宛先フォルダ内に格納されるだろう。
本発明の一実施例は、システムの任意の部分(例えば、データネットワーク170及び/又は無線サービスプロバイダーネットワーク171)がたとえ“ダウン(故障)”しても、同期イベントを保持する。例えば、前述したように、データセンター1410及び/又はインタフェース100それぞれで、バッチ処理キャッシュ210又は200の1つにおいて、システムのダウン時間のあいだに生じる任意の同期イベントを保持することができる。したがって、インタフェース100はある期間ダウンし、データネットワーク170は使用不可能になり、無線デバイス130は停止、有効範囲外または中断するかもしれないが、それでも同期更新は維持されるだろう。システムのすべての部分が再び正常に稼動すると、待ち行列に入っていた同期更新が処理される。
インタフェース100の一実施例において、効果的な方法で、「移動」イベントが削除され且つ処理される。図18のサービス102及びインタフェース100間で示されるように、マイクロエクスチェンジなどのメッセージシステム上のあるフォルダから別のフォルダへ(例えば、「送信メイル」フォルダから「保存メイル」フォルダへ、「受信箱」フォルダから「読み出しメイル」フォルダへなど)、メッセージ(又は他のデータオブジェクト)を移動するとき、メッセージの新たなコピーが宛先フォルダの位置で作られ、次に、送信元フォルダからオリジナルなメッセージを削除する。あるいはまた、最初に、送信元フォルダからメッセージを削除し、次に宛先フォルダに再生成することができる。削除コマンドの送信後又は生成されると、無線デバイス130に対する基本メッセージのコピーは、移動トランザクションを実行するのに非高率な方法である。したがって、図18に示すように、インタフェース100の一実施例は、データオブジェクト(即ち、メッセージ)識別コード、ソースフォルダ、及び/又は宛先フォルダを使って、「削除」コマンド及び「新規」コマンドを組み合わせて1つの「移動」コマンドにする。これにより、無線ネットワーク上で伝送される情報量が大幅に削減されるようになる。
この方法で無線デバイス130に移動コマンドを提供するために、システム(例えば、インタフェース100)は、移動されるべきメッセージをまず特定しなければならない。インタフェースの一実施例は、図19a及び/又は図19bの何れか又は組み合わせて、前述した方法を用いてメッセージを特定する。図19aをまず参照すると、1900で、インタフェース100は、メッセージXがフォルダAから削除されることを検出する。1910で、インタフェース100は、その削除が移動コマンドの部分を形成するかどうかを判断することを試みる。ユーザのアカウント内の他のフォルダを検索し、同一のメッセージを探し出す。特定のフォルダ、例えばフォルダBに同一のメッセージがある場合、1930で、無線デバイス130へ移動コマンドを送信し、メッセージXがフォルダAからフォルダBへ移動されるべきであることを示す。しかしながら、別のフォルダにメッセージXを探し出せない場合、削除コマンドを無線デバイスへ送信し、メッセージXがフォルダAから削除されるべきであることを示す。
ここで図19bを参照すると、一実施例において、インタフェース100は、まず、メッセージXがフォルダBに到着したかを検出する。これに反応して、インタフェース100は、データオブジェクト識別コード1605のテーブル(例えば、図16参照)を検索し、メッセージXに関連した識別コード用の一致を探し出す。(1970での判断の結果、)一致がみつからなければ、インタフェース100は移動コマンドを無線デバイス130へ送信し、メッセージXがフォルダAからフォルダBへ移動されるべきであることを示す。しかしながら、インタフェース100が識別コード一致を探し出さない場合は、削除コマンドを無線デバイスへ送信し、メッセージXがフォルダAから削除されるべきであることを示す。
無線デバイス130が、延長期間のあいだサービス102と“接触外”であった場合、同期するのに必要な非常に多数のトランザクションが蓄積する。したがって、一実施例において、デバイス上の帯域幅及び時間の両方の節約のために(例えば、それを非同期データであふれさせない)、幾つかのデータの典型的な部分を送信することができる。例えば、無線デバイス130が2週間、停止していた場合、メッセージヘッダのみ(即ち、メッセージ本文でなく)をそのデバイスへ送信することができる。これの基本的な理由は、ユーザがデバイス上の古いメイルすべてを読み出すことを望まない/必要としないのが殆どだからである。
一実施例において、ユーザによって、延長期間後にデータがデバイスへ伝送される特別の方法を選択することができる。この結果、ユーザはある時間期間を選択することができ、それ以降のヘッダのみが送信される(例えば、1週間以上古いもの、送信されなかったものなど)。いずれにしても、ユーザはヘッダが送信された後で、完全なメッセージ本文を要求することができる。
ここで用いられるように、「ゼロ デスクトップ インストール」は無線デバイス130の能力を意味し、ユーザのデスクトップコンピュータにどんなクライアントソフトウェアもインストールすることなく正常に機能させることをいう。本発明の一実施例では、デスクトップを要求しない。というのは、前述したように、無線デバイスによって、メッセージングの特徴のすべて(例えば、デバイスオプションの管理、メッセージングサービスの構成、メッセージングフィルタ、発信Eメイルの署名、安全性の設定など)にアクセスすることができる。最新の無線デバイスは全メッセージング機能の部分集合しかサポートしていないので、この特長は最新のメッセージングシステムでは有効でない。よって、最新システムは、同期処理を完成させるためにデスクトップソフトウェア及び架台(クレードル)を必要とする。
一実施例において、無線デバイスの構成設定は、メッセージングサーバに記憶され、絶え間なく更新される。したがって、デバイス設定が消失された場合(例えば、デバイスがインストールされたり、無くなったりするなどして)、その設定をメッセージデータと一緒に自動的に回復することができる。実際、一実施例において、メッセージングサーバに同期しないデバイスに固有なデータはまったく無いので、デバイスをバックアップする必要はない。
さらに、一実施例において、ソフトウェアのアップグレードは、デバイスに対して無線で送信され、これにより、デバイスとデスクトップ間に要求される任意のリンクを完全に除去することができる。ソフトウェアアップグレードは、アプリケーションのインストールと同様に、デバイスのオペレーティングシステムへのアップグレードも含む。
本発明の実施例は、前述したような様々なステップを含むことができる。装置で実行可能な命令にそのステップを埋め込むことができる。その命令は、汎用目的又は特定目的のために用いることができ、所定のステップを実行する。あるいはまた、ステップを実行するハードウェアロジックを含んだ特定のハードウェア要素によって、又はプログラムされたコンピュータ要素と顧客ハードウェア要素との任意の組み合わせによって、これらのステップを実行することができる。
また、本発明の要素は、装置で実行可能な命令を記憶する読み出し可能な記録媒体として提供されることができる。この読み出し可能な記録媒体は、これらに限定するものではないが、フロッピー(登録商標)ディスク、光ディスク、CD−ROM、磁気光ディスクづく、ROM,RAM,EPROM、EEPROM,磁気又は光カード、伝播媒体又は他のタイプの媒体/電子的命令を記憶するのに適した読み出し可能な媒体を含んでいる。
例えば、本発明は、通信リンク(例えば、モデム又はネットワーク接続)を経由した搬送波又は他の伝播媒体に埋め込まれたデータ信号方法によって、遠隔コンピュータ(例えば、サーバ)から要求側のコンピュータ(例えば、クライアント)へ転送されるコンピュータプログラムとしてダウンロードされる。
先の記述の全般について言えることだが、多くの特定した詳細は、説明をする上で本発明の全体の理解をするために提供されたものである。しかしながら、本発明の当業者であればこれら特定の詳細がなくても実行可能であることは明白である。例えば、サーバ103上で実行されるサービス102に対するインタフェース100が図示されているが(図1参照)、本発明の基本的原理は、ネットワーク上でデータを伝送する単一のクライアント上で実行されてもよいことは明白であろう。さらに、無線データ処理デバイスの内容で述べられているが、本発明の基本的原理は、実質的には、有線と無線の両方の任意のネットワーク環境で、データを圧縮するために実行することもできる。したがって、本発明の範囲及び精神は、特許請求の範囲で判断されるべきである。
本発明の要素を実行するために用いられる典型的なネットワークアーキテクチャを示す図である。 圧縮データ用のシステムの一例を示す図である。 Eメイルメッセージに関係した典型的なシーケンス図である。 前メッセージで見つかった冗長データを用いてデータを圧縮する方法の一例を示した図である。 状態に基づく圧縮を実行する装置の一例を示した図である。 状態に基づくデータ圧縮フォーマットの一例を示した図である。 本発明の一実施例による、データを圧縮するために用いるコード単語テーブルを示す図である。 コード単語でデータを圧縮する方法の一例を示した図である。 複数の他の圧縮モジュール間でデータ圧縮タスクを調整するテキスト圧縮モジュールを示す図である。 本発明の一実施例による、圧縮されたデータフォーマットを示す図である。 無線デバイスとサービス間のメッセージトランザクションを同期させるシステムの一実施例を示す図である。 無線デバイスとサービス間のメッセージトランザクションを同期させるシステムの改良した実施例を示す図である。 バッチ処理モードを入力するかどうかを判断する方法を示す図である。 マルチレベルのバッチ処理を用いる本発明の実施例を示す図である。 順序よく制御機能を用いる本発明の実施例を示した図である。 同期識別コードを標準識別コードにマッピングする本発明の一実施例を示す図である。 データオブジェクトのバージョン不一致(コンフリクト)を検出かつ解決する本発明の一実施例を示す図である。 削除コマンド及び新たなコマンドの代わりに、無線デバイスに対して移動コマンドを送信する本発明の一実施例を示す図である。 移動コマンドを生成する方法の実施例を示す図である。

Claims (41)

  1. 無線データ処理デバイスと、
    ユーザのためにデータオブジェクトを保持するメッセージングサービスと、
    無線ネットワーク上の前記無線デバイスと前記メッセージングサービスとの間で、前記データオブジェクトの同期を保持する同期手段とを備え、
    前記同期手段は、前記サービスで生じるデータオブジェクトのトランザクション更新を、前記無線デバイスに送信するとともに、前記無線デバイスで生じるデータオブジェクトのトランザクション更新を前記サービスに送信することを特徴とするシステム。
  2. 前記データオブジェクトは、Eメイルメッセージを含むことを特徴とする請求項1に記載のシステム。
  3. 前記データオブジェクトは、電子カレンダーデータを含むことを特徴とする請求項2に記載のシステム。
  4. 前記データオブジェクトは、予定事項リストデータを含むことを特徴とする請求項3に記載のシステム。
  5. 前記データオブジェクトは、接触情報を含むことを特徴とする請求項4に記載のシステム。
  6. 前記同期手段は、さらに、
    前記メッセージ及び、前記無線デバイスと前記サービスとの間で送信される他の情報を圧縮する圧縮手段を備えることを特徴とする請求項1に記載のシステム。
  7. 前記同期手段は、さらに、
    前記無線データ処理デバイスと前記メッセージングサービスとの間でデータオブジェクトのトランザクション更新を伝送する前に、前記更新の集合を合体させるバッチ処理手段を備えることを特徴とする請求項1に記載のシステム。
  8. 前記データ処理デバイスは、前記ユーザにより、前記データ処理デバイスからのメッセージングサービスの構成パラメータを修正することができるようにする制御手段を含むことを特徴とする請求項1に記載のシステム。
  9. 前記サービスが機能するネットワークに対して前記無線デバイスを直接つなげることなく、前記サービス及び前記無線データ処理デバイスを無線で完全同期させることを特徴とする請求項1に記載のシステム。
  10. 前記同期手段は、Eメイルフォルダ間のメッセージ移動を含むメッセージトランザクション更新を同期させることを特徴とする請求項1に記載のシステム。
  11. 前記メッセージトランザクション更新の1つは、前記ユーザが前記無線データ処理デバイスからのメッセージを閲覧したという指示を含むことを特徴とする請求項10に記載のシステム。
  12. 前記同期手段は、さらに、
    前記サービスが機能する顧客側で構成される第1のバッチ処理手段と、
    前記無線データ処理デバイスと前記顧客サイトとの間を通信で結んだデータセンターで構成された第2のバッチ処理手段とを含むことを特徴とする請求項1に記載のシステム。
  13. 前記第1のバッチ処理手段は、前記データオブジェクトトランザクションを伝送する前に、前記顧客サイトでユーザによって同時に実行されたデータオブジェクトトランザクションを結び付け、かつ第2のバッチ処理手段は、前記ユーザによって同時には実行されていないデータオブジェクトトランザクションを結び付けることを特徴とする請求項12に記載のシステム。
  14. 前記ユーザによって同時にされたデータオブジェクトトランザクションは、前記ユーザによって同時に削除されたEメイルメッセージの集合を含むことを特徴とする請求項13に記載のシステム。
  15. 前記結び付けられたデータオブジェクトトランザクション更新が、正しい連続した順序で個々の宛先において実行されることを保証する、正しい順序の配信手段をさらに備えることを特徴とする請求項7に記載のシステム。
  16. 前記正しい順序の配信手段は、前のすべてのトランザクション更新を受信するまで、前記無線データ処理デバイスが特定のトランザクション更新を実行できないようにすることを特徴とする請求項15に記載のシステム。
  17. 前記同期手段は、さらに、
    前記無線データ処理デバイスと前記メッセージングサービスとの間の新たなデータオブジェクトに関する可能性のある複数の識別コードを割当てる、データオブジェクト識別(ID)コード割当て手段を備えることを特徴とする請求項1に記載のシステム。
  18. 前記無線デバイスで生成されたデータオブジェクトに対して負のIDコードを割当て、前記メッセージングサービスで生成されたIDコードに対して正のIDコードを割当てることを特徴とする請求項17に記載のシステム。
  19. 前記同期手段は、さらに、
    特定のデータオブジェクトのコピーに対する、前記無線デバイス及び前記サービスの両方での最新の修正が、1以上の不一致解決パラメータに基づいて論理的に解決されることを保証するデータオブジェクト不一致解決手段を備えることを特徴とする請求項1に記載のシステム。
  20. 前記データオブジェクト不一致解決手段は、データオブジェクトに対する各修正に関連した新たなバージョン番号を生成することを特徴とする請求項19に記載のシステム。
  21. 複数の第1識別コードを無線デバイスに関連づけし、かつ複数の第2識別コードをメッセージサービスに関連づけし、前記無線デバイスは、新たなデータオブジェクトを生成するときには前記複数の第1識別コードからのコードのみを使用し、そして、前記メッセージサービスは、新たなデータオブジェクトを生成するときには前記複数の第1識別コードからのコードのみ使用し、
    新たなデータオブジェクトが前記メッセージサービスで生成されるとき、前記無線デバイスに対して前記新たなデータオブジェクトを含む更新を自動的に伝送し、そして新たなデータオブジェクトが前記無線デバイスで生成されるとき、前記メッセージサービスに対して前記新たなデータオブジェクトを含む更新を自動的に伝送することを含む無線デバイスとサービスとを同期させる方法。
  22. 前記メッセージサービスで、前記データオブジェクトに対する複数のトランザクションを合体させ、
    前記データオブジェクトに対する合体された複数のトランザクションをまとめて前記無線デバイスに伝送することを含む請求項21に記載の方法。
  23. 前記メッセージが機能する顧客サイトで、ユーザによって同時に実行されたデータオブジェクトにトランザクションを結び付け、
    前記データオブジェクト及び前記結び付けられたトランザクションへ、前記データオブジェクトへ、前記顧客サイトと前記無線デバイスとの間で通信的につながったデータセンターへ、個々のトランザクションを伝送することをさらに含む請求項21に記載の方法。
  24. 前記無線デバイスは、前記データオブジェクトに対する前記複数のトランザクションの全部でないが1つ以上を受信し、
    前記無線デバイスは、前記複数のトランザクションのうち1つ以上の再伝送を要求することをさらに含む請求項22に記載の方法。
  25. 前記トランザクションを前記データオブジェクトに連続して番号付けすることをさらに含み、
    前記無線デバイスは、前記1以上のトランザクションが受信され且つ実行されるまで、前記データオブジェクトに対する前記1以上のトランザクションの後に生じるトランザクションを実行することを控えることを特徴とする請求項24に記載の方法。
  26. 前記データオブジェクトの幾つかは、Eメイルメッセージを含むことを特徴とする請求項21に記載の方法。
  27. 前記トランザクションは、新たなEメイルメッセージを送信することを特徴とする請求項26に記載の方法。
  28. 前記トランザクションは、Eメイルメッセージを削除することを特徴とする請求項27に記載の方法。
  29. 前記無線デバイス及び/又は前記サービスに対するトランザクションの前に、前記データオブジェクトを圧縮することをさらに含む請求項21に記載の方法。
  30. 前記サービスで及びア無線デバイスで同時に修正されたデータオブジェクト間でバージョン不一致を検出し、
    前記バージョン不一致を解決する1以上の不一致解決技術を用いることをさらに含む請求項21に記載の方法。
  31. 前記不一致解決技術の1つは、前記サービスで実行された修正を保持し、且つそれに応じて前記無線デバイスを更新することを含む請求項30に記載の方法。
  32. 前記複数の第1及び第2データオブジェクト識別コードを、前記メッセージサービスで典型的に用いられる識別コードの組にマッピングすることをさらに含む請求項21に記載の方法。
  33. 前記メッセージサービスは、マイクロソフトエクスチェンジ(Microsoft Exchange)であることを特徴とする請求項32に記載の方法。
  34. 前記サービスと前記無線デバイスとの間で通信的につながったインタフェースを備え、
    前記インタフェースは、前記サービスがインストールされ且つ構成された顧客サイトで実行され、前記サービスでのデータオブジェクトトランザクションに反応して、前記無線デバイスに対してデータオブジェクトのトランザクション更新を提供するとともに、前記無線デバイスでのデータオブジェクトトランザクションに反応して、前記サービスに対してデータオブジェクトのトランザクション更新を提供するようにインストール且つ構成されることを特徴とする無線デバイスとサービスとを同期させるシステム。
  35. 前記無線デバイス及び/又は前記インタフェースに対して伝送する前に、前記データオブジェクトトランザクション更新をまとめてグループ化するバッチ処理ロジックをさらに含むことを特徴とする請求項34に記載のシステム。
  36. 前記バッチ処理ロジックは、前記インタフェースで実行される第1のレベルのバッチ処理ロジックを備え、
    前記第1のレベルのバッチ処理ロジックは、前記データオブジェクトのトランザクション更新を伝送する前に、ユーザによって同時に実行されたデータオブジェクトのトランザクション更新をグループ化し、
    前記データセンターで実行される第2のレベルのバッチ処理ロジックをさらに備え、
    前記第2のレベルのバッチ処理ロジックは、前記無線デバイスに前記データオブジェクトのトランザクション更新を伝送する前に、前記ユーザによって個々に実行されたデータオブジェクトのトランザクション更新をグループ化することを特徴とする請求項35に記載のシステム。
  37. 前記インタフェースは、前記サービスで2以上のデータオブジェクトトランザクションを、前記無線デバイスに伝送されるべき等価な単一のデータオブジェクトトランザクションに合体させることを特徴とする請求項34に記載のシステム。
  38. 前記2以上のデータオブジェクトトランザクションは、前記サービス上のソース場所からデータオブジェクトを削除する削除コマンド、及び宛先場所に前記データオブジェクトを再生成する新規コマンドを含み、前記無線デバイスに伝送された単一のデータオブジェクトトランザクションは、移動コマンドであることを特徴とする請求項37に記載のシステム。
  39. 前記移動コマンドは前記データオブジェクトの識別子、前記ソース場所の識別子、及び前記宛先場所の識別子を含むことを特徴とする請求項38に記載のシステム。
  40. 前記削除コマンドが前記新たなコマンドより前に行われる場合、前記インタフェースは前記データオブジェクトのためのサービスを探索し、前記削除コマンドに続く前記サービス上の前記新たな場所にあるオブジェクトを識別することにより、前記2つのデータオブジェクトトランザクションが単一の移動コマンドと等価であることを判断することを特徴とする請求項38に記載のシステム。
  41. 前記新規コマンドが前記削除コマンドより前に行われる場合、前記インタフェースは、前記データオブジェクトが前記新規コマンドより前に異なる場所にすでに存在していたかどうかを判断するデータオブジェクト識別コードを有するテーブルを探索することによって、前記2つのデータオブジェクトトランザクションが単一の移動コマンドと等価であることを判断することを特徴とする請求項38に記載のシステム。
JP2003581023A 2002-03-29 2003-03-26 データサービスによるデータ処理装置の全無線同期システム及び方法 Pending JP2005521938A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/109,928 US7243163B1 (en) 2001-08-07 2002-03-29 System and method for full wireless synchronization of a data processing apparatus with a messaging system
PCT/US2003/009576 WO2003083667A1 (en) 2002-03-29 2003-03-26 System and method for full wireless synchronization of a data processing apparatus with a data service

Publications (2)

Publication Number Publication Date
JP2005521938A true JP2005521938A (ja) 2005-07-21
JP2005521938A5 JP2005521938A5 (ja) 2006-05-18

Family

ID=28673633

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003581023A Pending JP2005521938A (ja) 2002-03-29 2003-03-26 データサービスによるデータ処理装置の全無線同期システム及び方法

Country Status (5)

Country Link
EP (1) EP1493086A4 (ja)
JP (1) JP2005521938A (ja)
CN (1) CN1306413C (ja)
AU (1) AU2003223382A1 (ja)
WO (1) WO2003083667A1 (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008527538A (ja) * 2005-01-06 2008-07-24 テーベラ・インコーポレーテッド メッセージング・システム内のキャッシング・エンジン
JP2009528617A (ja) * 2006-03-03 2009-08-06 マイクロソフト コーポレーション メディア装置コンテンツの変更の識別
JP2010525741A (ja) * 2007-04-24 2010-07-22 デンジャー,インコーポレーテッド 外部電子メールサーバ及び/又はローカル電子メールサーバ及び/又は無線装置の間での電子メールメッセージの同期
US8126845B2 (en) 2007-01-07 2012-02-28 Apple Inc. Synchronization methods and systems
KR101138549B1 (ko) 2007-01-07 2012-05-21 애플 인크. 동기화 방법 및 시스템
JP2014182810A (ja) * 2013-03-15 2014-09-29 Intel Corp デフレート圧縮のために高速で高圧縮のlz77トークン化及びハフマンエンコーディングを行う並列装置
JP2015502596A (ja) * 2011-10-27 2015-01-22 マイクロソフト コーポレーション モバイルデバイスからのリモートアクセス
KR20160119070A (ko) * 2013-12-13 2016-10-12 아브 이니티오 테크놀로지 엘엘시 데이터 처리 애플리케이션의 모드를 동적으로 결정하는 방법

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7962622B2 (en) 2001-08-07 2011-06-14 Motorola Mobility, Inc. System and method for providing provisioning and upgrade services for a wireless device
US9134989B2 (en) 2002-01-31 2015-09-15 Qualcomm Incorporated System and method for updating dataset versions resident on a wireless device
US9092286B2 (en) 2002-12-20 2015-07-28 Qualcomm Incorporated System to automatically process components on a device
US8626146B2 (en) 2003-10-29 2014-01-07 Qualcomm Incorporated Method, software and apparatus for performing actions on a wireless device using action lists and versioning
US7925754B2 (en) 2003-11-21 2011-04-12 Microsoft Corporation Method and computer program product to provide synch notifications to client devices
US7184753B2 (en) * 2004-01-22 2007-02-27 Research In Motion Limited Mailbox pooling pre-empting criteria
US7797386B2 (en) 2004-02-27 2010-09-14 Research In Motion Limited System and method for remotely configuring a desktop mailbox
EP1708097A1 (de) 2005-03-31 2006-10-04 Ubs Ag Rechnernetzwerksystem zum Synchronisieren einer zweiten Datenbank mit einer ersten Datenbank sowie Vorgehensweise hierfür
US8307036B2 (en) 2005-09-27 2012-11-06 Research In Motion Limited Email server with enhanced least recently used (LRU) cache
DE602005020033D1 (de) 2005-11-23 2010-04-29 Research In Motion Ltd Verfahren und Vorrichtung zur Synchronisierung von mittels drahtloser Schnittstelle verbundenen Datenbanken
EP1798644B1 (en) 2005-11-23 2009-11-04 Research In Motion Limited Method and apparatus for memory management in an electronic device
US7747566B2 (en) 2005-11-23 2010-06-29 Research In Motion Limited Method and apparatus for synchronizing databases connected by wireless interface
CN100450108C (zh) 2006-03-23 2009-01-07 华为技术有限公司 一种采用数据同步处理电子邮件的系统、装置及方法
US8121585B2 (en) 2006-08-25 2012-02-21 International Business Machines Corporation Technique for synchronizing data with a mobile device based on a synchronization context
EP2100236B1 (en) * 2006-11-30 2016-05-25 Intellisync Corporation Method, apparatus and computer program product for providing intelligent synchronization
GB0625643D0 (en) * 2006-12-21 2007-01-31 Symbian Software Ltd Sync field filtering
DE102007025020A1 (de) * 2007-05-28 2008-12-04 Schrimpf, Werner Verfahren und Vorrichtung zum automatischen Übermitteln von Informationen
EP2163075A2 (en) * 2007-06-19 2010-03-17 Qualcomm Incorporated Methods and apparatus for dataset synchronization in a wireless environment
GB2459494A (en) * 2008-04-24 2009-10-28 Symbian Software Ltd A method of managing a cache
US20140258358A1 (en) * 2013-03-11 2014-09-11 Htc Corporation Method of combining network data and mobile device using the same
CN105763587A (zh) * 2014-12-18 2016-07-13 中国移动通信集团公司 一种数据同步方法及装置
CN105897545B (zh) * 2015-01-26 2019-09-10 九玉(北京)科技有限公司 一种邮件同步的方法及装置
CN109271444A (zh) * 2018-08-10 2019-01-25 武汉达梦数据库有限公司 一种基于触发器的表级双向同步实现方法和系统
CN109947801A (zh) * 2019-02-25 2019-06-28 交通银行股份有限公司 数据库数据同步系统、方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11266279A (ja) * 1998-03-16 1999-09-28 Mitsubishi Electric Corp 電子メール管理システム
JP2000156704A (ja) * 1998-11-19 2000-06-06 Fon Dot Com Japan Kk リモ―ト及びロ―カルメ―ルシステムのメ―ル同期
JP2001274841A (ja) * 2000-02-24 2001-10-05 Internatl Business Mach Corp <Ibm> 携帯コンピューティング・デバイスのデータベース同期化
JP2001339442A (ja) * 2000-05-25 2001-12-07 Mitsubishi Electric Corp 信号伝送方式

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5666530A (en) * 1992-12-02 1997-09-09 Compaq Computer Corporation System for automatic synchronization of common file between portable computer and host computer via communication channel selected from a plurality of usable channels there between
FI100159B (fi) * 1995-01-19 1997-09-30 Nokia Telecommunications Oy Tietoliikenneyhteyden tahdistaminen matkaviestinjärjestelmässä
US6052735A (en) * 1997-10-24 2000-04-18 Microsoft Corporation Electronic mail object synchronization between a desktop computer and mobile device
US6151606A (en) * 1998-01-16 2000-11-21 Visto Corporation System and method for using a workspace data manager to access, manipulate and synchronize network data
SE517204C2 (sv) * 1998-01-30 2002-05-07 Ericsson Telefon Ab L M Förfarande och anordning för att etablera en krypterad förbindelse i ett mobiltelefonsystem
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
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
US6226618B1 (en) * 1998-08-13 2001-05-01 International Business Machines Corporation Electronic content delivery system
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11266279A (ja) * 1998-03-16 1999-09-28 Mitsubishi Electric Corp 電子メール管理システム
JP2000156704A (ja) * 1998-11-19 2000-06-06 Fon Dot Com Japan Kk リモ―ト及びロ―カルメ―ルシステムのメ―ル同期
JP2001274841A (ja) * 2000-02-24 2001-10-05 Internatl Business Mach Corp <Ibm> 携帯コンピューティング・デバイスのデータベース同期化
JP2001339442A (ja) * 2000-05-25 2001-12-07 Mitsubishi Electric Corp 信号伝送方式

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008527538A (ja) * 2005-01-06 2008-07-24 テーベラ・インコーポレーテッド メッセージング・システム内のキャッシング・エンジン
JP2009528617A (ja) * 2006-03-03 2009-08-06 マイクロソフト コーポレーション メディア装置コンテンツの変更の識別
TWI477990B (zh) * 2006-03-03 2015-03-21 Microsoft Corp 辨識媒體裝置內容之改變
KR101138549B1 (ko) 2007-01-07 2012-05-21 애플 인크. 동기화 방법 및 시스템
US8126845B2 (en) 2007-01-07 2012-02-28 Apple Inc. Synchronization methods and systems
US8886600B2 (en) 2007-01-07 2014-11-11 Apple Inc. Synchronization methods and systems
US9652518B2 (en) 2007-01-07 2017-05-16 Apple Inc. Synchronization methods and systems
US10891301B2 (en) 2007-01-07 2021-01-12 Apple Inc. Synchronization methods and systems
JP2010525741A (ja) * 2007-04-24 2010-07-22 デンジャー,インコーポレーテッド 外部電子メールサーバ及び/又はローカル電子メールサーバ及び/又は無線装置の間での電子メールメッセージの同期
JP2015502596A (ja) * 2011-10-27 2015-01-22 マイクロソフト コーポレーション モバイルデバイスからのリモートアクセス
JP2014182810A (ja) * 2013-03-15 2014-09-29 Intel Corp デフレート圧縮のために高速で高圧縮のlz77トークン化及びハフマンエンコーディングを行う並列装置
KR20160119070A (ko) * 2013-12-13 2016-10-12 아브 이니티오 테크놀로지 엘엘시 데이터 처리 애플리케이션의 모드를 동적으로 결정하는 방법
JP2017504106A (ja) * 2013-12-13 2017-02-02 アビニシオ テクノロジー エルエルシー データ処理アプリケーションのモードの動的決定
US10261801B2 (en) 2013-12-13 2019-04-16 Ab Initio Technology Llc Dynamically determining a mode of a data processing application
KR102307221B1 (ko) 2013-12-13 2021-09-29 아브 이니티오 테크놀로지 엘엘시 데이터 처리 애플리케이션의 모드를 동적으로 결정하는 방법
US11340910B2 (en) 2013-12-13 2022-05-24 Ab Initio Technology Llc Dynamically determining a mode of a data processing application

Also Published As

Publication number Publication date
CN1306413C (zh) 2007-03-21
AU2003223382A1 (en) 2003-10-13
EP1493086A1 (en) 2005-01-05
WO2003083667A1 (en) 2003-10-09
CN1656454A (zh) 2005-08-17
EP1493086A4 (en) 2006-09-20

Similar Documents

Publication Publication Date Title
JP2005521938A (ja) データサービスによるデータ処理装置の全無線同期システム及び方法
US7243163B1 (en) System and method for full wireless synchronization of a data processing apparatus with a messaging system
US7064688B2 (en) System and method for compressing data on a bandwidth-limited network
US7155483B1 (en) Apparatus and method for conserving bandwidth by batch processing data transactions
US20100254410A1 (en) System and method for compressing data using field-based code word generation
US7849199B2 (en) Content router
US7623515B2 (en) Content router notification
JP5383660B2 (ja) 外部電子メールサーバ及び/又はローカル電子メールサーバ及び/又は無線装置の間での電子メールメッセージの同期
JP4794311B2 (ja) サブキューを使用してローカルメッセージ処理を向上させること
US8577982B2 (en) Method and apparatus for efficiently managing “messages sent” file and resending of messages from mobile wireless communication device
US20070038703A1 (en) Content router gateway
US20070028293A1 (en) Content router asynchronous exchange
US20070014277A1 (en) Content router repository
US20070014307A1 (en) Content router forwarding
US20040054739A1 (en) System and method for maintaining wireless file folders at a wireless device
GB2349044A (en) Transfer of data to a PDA
JP2004040304A (ja) 電子メールアドレス管理方法およびプログラム、電子メール端末装置
JP2004005199A (ja) 共有情報管理方法、移動通信端末及び共有情報管理システム
JP2002094570A (ja) メールシステム,管理装置,メール送信方法,プログラムおよびプログラムを記録したコンピュータ読取可能な記録媒体
JP2004274489A (ja) メールデータ圧縮方法
JPH06276223A (ja) 電子メール配信処理方法
JP2004326344A (ja) 電子メール作成装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060323

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060323

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080530

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080609

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080909

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20081014

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090212

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090310

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110701

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110706

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110726