JP2002149464A - データ転送および同期システム用のベースローリングエンジン - Google Patents
データ転送および同期システム用のベースローリングエンジンInfo
- Publication number
- JP2002149464A JP2002149464A JP2001287834A JP2001287834A JP2002149464A JP 2002149464 A JP2002149464 A JP 2002149464A JP 2001287834 A JP2001287834 A JP 2001287834A JP 2001287834 A JP2001287834 A JP 2001287834A JP 2002149464 A JP2002149464 A JP 2002149464A
- Authority
- JP
- Japan
- Prior art keywords
- data
- transaction
- data package
- information
- identification number
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/273—Asynchronous replication or reconciliation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/10015—Access to distributed or replicated servers, e.g. using brokers
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Hardware Redundancy (AREA)
- Information Transfer Between Computers (AREA)
Abstract
(57)【要約】
【課題】 様々なタイプの装置の間で個人情報を同期さ
せること。 【解決手段】 第1データパッケージは、識別番号、ア
クション、複数のフィールドを有する。第2データパッ
ケージは第1トランザクションの後に続く第2トランザ
クションを有する。第2トランザクションは識別番号、
アクション、属性を持つフィールドを有する。ベースロ
ーリングエンジンは、第2トランザクションの識別番号
が第1トランザクションの識別番号に対応するか決定
し、第2トランザクションの識別番号が第1トランザク
ションのフィールドの1つと対応するか決定する。第1
および第2トランザクションの識別番号が対応し、第2
トランザクションのフィールドが第1トランザクション
のフィールドの1つに対応する際、第1および第2デー
タパッケージが結合される。結合データパッケージは第
2データパッケージに置き換わり、第1データパッケー
ジは消去される。
せること。 【解決手段】 第1データパッケージは、識別番号、ア
クション、複数のフィールドを有する。第2データパッ
ケージは第1トランザクションの後に続く第2トランザ
クションを有する。第2トランザクションは識別番号、
アクション、属性を持つフィールドを有する。ベースロ
ーリングエンジンは、第2トランザクションの識別番号
が第1トランザクションの識別番号に対応するか決定
し、第2トランザクションの識別番号が第1トランザク
ションのフィールドの1つと対応するか決定する。第1
および第2トランザクションの識別番号が対応し、第2
トランザクションのフィールドが第1トランザクション
のフィールドの1つに対応する際、第1および第2デー
タパッケージが結合される。結合データパッケージは第
2データパッケージに置き換わり、第1データパッケー
ジは消去される。
Description
【0001】(関連出願への言及)本出願は、発明の名
称がすべて「データ転送および同期システム」である以
下に示す出願、すなわち、2000年1月25日出願の
米国特許出願第09/490,550号、ならびに、2
000年1月26日出願の米国特許出願第09/49
1,675号および米国特許出願第09/491,694
号についての一部継続出願である。
称がすべて「データ転送および同期システム」である以
下に示す出願、すなわち、2000年1月25日出願の
米国特許出願第09/490,550号、ならびに、2
000年1月26日出願の米国特許出願第09/49
1,675号および米国特許出願第09/491,694
号についての一部継続出願である。
【0002】(著作権の告示)本特許文書の一部には、
著作権保護を受ける題材が含まれている。著作権保持者
は、何人が米国特許商標庁の包袋または記録に現れてい
るような本特許文書すなわち本特許明細書をそのまま複
写することに対して意義を唱えないが、その代わりこれ
らについてすべての著作権を保有する。
著作権保護を受ける題材が含まれている。著作権保持者
は、何人が米国特許商標庁の包袋または記録に現れてい
るような本特許文書すなわち本特許明細書をそのまま複
写することに対して意義を唱えないが、その代わりこれ
らについてすべての著作権を保有する。
【0003】(技術分野)本発明は、データが各システ
ムで保持される形体とは無関係の2つのシステム間にお
けるデータ転送に関し、特に、システム間および装置間
においてデータ通信を行う効果的な手段を提供すること
に関する。
ムで保持される形体とは無関係の2つのシステム間にお
けるデータ転送に関し、特に、システム間および装置間
においてデータ通信を行う効果的な手段を提供すること
に関する。
【0004】(背景技術)パーソナルコンピュータまた
はワークステーションに限らず、計算に関連した装置が
進歩してきている。パーソナル計算装置のタイプおよび
フォーマットの両方が実質的に増えてきている。小型ハ
ンドヘルド計算装置は、連絡情報、個人的情報、文書情
報およびその他の情報を多数保持し、また、ユーザがフ
ァクシミリ通信、電子メールの送信およびその他の方法
によるワイヤレス通信を行うことができるよう十分に高
性能なものとなっている。発展した携帯電話であって
も、連絡情報を記憶し、ウェブをサーフィンし、テキス
トメッセージを供給するのに十分なメモリおよび処理能
力を有している。これらの装置がますます高性能となっ
ていることに加えて、これらの装置の間で情報を転送す
る必要性も同様に高くなってきている。
はワークステーションに限らず、計算に関連した装置が
進歩してきている。パーソナル計算装置のタイプおよび
フォーマットの両方が実質的に増えてきている。小型ハ
ンドヘルド計算装置は、連絡情報、個人的情報、文書情
報およびその他の情報を多数保持し、また、ユーザがフ
ァクシミリ通信、電子メールの送信およびその他の方法
によるワイヤレス通信を行うことができるよう十分に高
性能なものとなっている。発展した携帯電話であって
も、連絡情報を記憶し、ウェブをサーフィンし、テキス
トメッセージを供給するのに十分なメモリおよび処理能
力を有している。これらの装置がますます高性能となっ
ていることに加えて、これらの装置の間で情報を転送す
る必要性も同様に高くなってきている。
【0005】様々な装置のタイプが多数売り出されてお
り、それらの様々な装置の間で情報を同期させることが
ますます課題となっている。例えば、ある人物が、特定
の個人情報管理アプリケーションを用いて、オフィスの
パーソナルコンピュータに日程情報を記憶させていると
する。この人物は、通常、それと同じ情報を、携帯電
話、ハンドヘルドオーガナイザ(hand-held organize
r)および多分家庭用パーソナルコンピュータで利用し
たいと思うであろう。そのうえ、その人物は、プレゼン
テーションまたは作業文書のような、オフィスのコンピ
ュータとの間で同期するファイルデータを必要とするノ
ートブックコンピュータを持っているかもしれない。
り、それらの様々な装置の間で情報を同期させることが
ますます課題となっている。例えば、ある人物が、特定
の個人情報管理アプリケーションを用いて、オフィスの
パーソナルコンピュータに日程情報を記憶させていると
する。この人物は、通常、それと同じ情報を、携帯電
話、ハンドヘルドオーガナイザ(hand-held organize
r)および多分家庭用パーソナルコンピュータで利用し
たいと思うであろう。そのうえ、その人物は、プレゼン
テーションまたは作業文書のような、オフィスのコンピ
ュータとの間で同期するファイルデータを必要とするノ
ートブックコンピュータを持っているかもしれない。
【0006】今までは、文書間および個人情報マネージ
ャ間の両方で同期をとることは、装置間を直接接続する
ことにより、一般的には、ある装置における個人情報マ
ネージャと別の装置における個人情報マネージャのよう
なアプリケーションの間を直接接続することにより、ま
たは、中間同期マッピングプログラム(intermediarysy
nc-mapping program)を用いることにより、行われてき
た。
ャ間の両方で同期をとることは、装置間を直接接続する
ことにより、一般的には、ある装置における個人情報マ
ネージャと別の装置における個人情報マネージャのよう
なアプリケーションの間を直接接続することにより、ま
たは、中間同期マッピングプログラム(intermediarysy
nc-mapping program)を用いることにより、行われてき
た。
【0007】このような同期の一例としては、3Com Pal
m(登録商標)シリーズ計算装置のような3Com Palm(登
録商標)OSベースのオーガナイザを一般的に用いるも
のがある。このオーガナイザは、独自の日程システムを
用いるが、Symantec社ACT!、Microsoft社Outlook(登録
商標)およびその他のシステムのような様々な異なる個
人情報管理ソフトウェアパッケージを用いて、このオー
ガナイザ内のデータをユーザに同期させている。この例
では、Puma Technology社Intellisync(登録商標)のよ
うな中間同期プログラムが必要とされる。Intellisync
(登録商標)は、ハンドヘルド装置と、同型でないデー
タレコード間における情報データシステムおよびマップ
データシステムを記憶するコンピュータと、の両方で動
作するアプリケーションプログラムである。別の例で
は、Microsoft社Outlook(登録商標)のコンピュータベ
ースのクライアントとMicrosoft社Windows(登録商標)
CE "Pocket Outlook"アプリケーションとの間の転送の
ようなアプリケーション間の直接転送が可能である。そ
れにもかかわらず、上記両方の場合では、同期をとるこ
とは、パーソナルコンピュータとパーソナル計算装置と
の間を直接接続することにより行われる。このような接
続としては、一般的には、例えばクレードル(cradle)
におけるPalm(登録商標)をパーソナルコンピュータケ
ーブルにケーブルを介して直接接続するものがあり、こ
の接続はワイヤレスでも同様に行われる。
m(登録商標)シリーズ計算装置のような3Com Palm(登
録商標)OSベースのオーガナイザを一般的に用いるも
のがある。このオーガナイザは、独自の日程システムを
用いるが、Symantec社ACT!、Microsoft社Outlook(登録
商標)およびその他のシステムのような様々な異なる個
人情報管理ソフトウェアパッケージを用いて、このオー
ガナイザ内のデータをユーザに同期させている。この例
では、Puma Technology社Intellisync(登録商標)のよ
うな中間同期プログラムが必要とされる。Intellisync
(登録商標)は、ハンドヘルド装置と、同型でないデー
タレコード間における情報データシステムおよびマップ
データシステムを記憶するコンピュータと、の両方で動
作するアプリケーションプログラムである。別の例で
は、Microsoft社Outlook(登録商標)のコンピュータベ
ースのクライアントとMicrosoft社Windows(登録商標)
CE "Pocket Outlook"アプリケーションとの間の転送の
ようなアプリケーション間の直接転送が可能である。そ
れにもかかわらず、上記両方の場合では、同期をとるこ
とは、パーソナルコンピュータとパーソナル計算装置と
の間を直接接続することにより行われる。このような接
続としては、一般的には、例えばクレードル(cradle)
におけるPalm(登録商標)をパーソナルコンピュータケ
ーブルにケーブルを介して直接接続するものがあり、こ
の接続はワイヤレスでも同様に行われる。
【0008】これらの同期システムの1つの要素は、同
期処理が、特定のデータベースが変更される間の時間を
表現できなければならず、かつ、変更されたフィールド
を置換するかどうかについて決定しなくてはならない、
ということである。通常、これは、ある1つのデータベ
ースが変更されたことと、第2のデータベースが変更さ
れていないこととにより、測定される。両方のデータベ
ースが同期の間において変更される場合もいくらかあろ
う。この場合には、同期動作を行う際には、なされた2
つの変化のうちいずれを「勝ち(win)」とするのかを
決定し、同期をとる間、他方の変化を置換しなくてはな
らない。一般的には、競合(conflict)が存在するかど
うかを決定する決定物(determinant)によって、この
競合をユーザに解決させるいくつかの手段が与えられ
る。
期処理が、特定のデータベースが変更される間の時間を
表現できなければならず、かつ、変更されたフィールド
を置換するかどうかについて決定しなくてはならない、
ということである。通常、これは、ある1つのデータベ
ースが変更されたことと、第2のデータベースが変更さ
れていないこととにより、測定される。両方のデータベ
ースが同期の間において変更される場合もいくらかあろ
う。この場合には、同期動作を行う際には、なされた2
つの変化のうちいずれを「勝ち(win)」とするのかを
決定し、同期をとる間、他方の変化を置換しなくてはな
らない。一般的には、競合(conflict)が存在するかど
うかを決定する決定物(determinant)によって、この
競合をユーザに解決させるいくつかの手段が与えられ
る。
【0009】技術的には、この方法による同期は、一般
的には、システム間の全レコードをコピーすることによ
り達成される。あるレベルでは、ユーザは、一般的に
は、データフィールドを1つのアプリケーションから別
のアプリケーションにマッピングし、かつ、どのデータ
フィールドを異なる装置の対応するどこのフィールドに
割り当てるかを指定する必要がある。開発者がアプリケ
ーションの様々なプラットフォームをしっかりとサポー
トする場合には、マッピングはほとんど必要とされな
い。
的には、システム間の全レコードをコピーすることによ
り達成される。あるレベルでは、ユーザは、一般的に
は、データフィールドを1つのアプリケーションから別
のアプリケーションにマッピングし、かつ、どのデータ
フィールドを異なる装置の対応するどこのフィールドに
割り当てるかを指定する必要がある。開発者がアプリケ
ーションの様々なプラットフォームをしっかりとサポー
トする場合には、マッピングはほとんど必要とされな
い。
【0010】多くの例では、同期の対象となるデータ
は、一般的には、アドレスレコード、連絡情報、日程情
報、メモ、および、その他のタイプの連絡情報のような
テキストデータの形をとっている。ある例では、同期の
対象となるデータは、バイナリフォーマットの実行可能
ファイルまたはワードプロセッサに特化した文書であ
る。文書の同期が必要とされる多くの場合には、同期ル
ーチンによって、単に、対象となっている文書が変更さ
れたか否かを決定し、2つのファイルのうちいずれが新
しいかを決定するために、時間をベースにした表現を用
い、上記2つのファイルのうち古い方のファイルが実際
に変更されていなければ、同期を達成するために古い方
のファイルを新しい方のファイルに置換している。これ
は、Microsoft社のWindows(登録商標)に基づいたシス
テムにおけるよく知られた「ブリーフケース」で用いら
れているモデルである。両方のファイルが変更されてい
る場合には、ユーザは、競合を解決する選択権を同期ル
ーチンによって与えられる。一般的に、このような同期
方法は、同期リンクを介して転送すべき文書またはバイ
ナリファイルの全帯域を必要とするので、あまり効率的
なものではない。加えて、あるレベルでは、同期プログ
ラムは、異なるプログラム間に所定のフィールドをマッ
ピングするために、ユーザによる対話を必要とする。
は、一般的には、アドレスレコード、連絡情報、日程情
報、メモ、および、その他のタイプの連絡情報のような
テキストデータの形をとっている。ある例では、同期の
対象となるデータは、バイナリフォーマットの実行可能
ファイルまたはワードプロセッサに特化した文書であ
る。文書の同期が必要とされる多くの場合には、同期ル
ーチンによって、単に、対象となっている文書が変更さ
れたか否かを決定し、2つのファイルのうちいずれが新
しいかを決定するために、時間をベースにした表現を用
い、上記2つのファイルのうち古い方のファイルが実際
に変更されていなければ、同期を達成するために古い方
のファイルを新しい方のファイルに置換している。これ
は、Microsoft社のWindows(登録商標)に基づいたシス
テムにおけるよく知られた「ブリーフケース」で用いら
れているモデルである。両方のファイルが変更されてい
る場合には、ユーザは、競合を解決する選択権を同期ル
ーチンによって与えられる。一般的に、このような同期
方法は、同期リンクを介して転送すべき文書またはバイ
ナリファイルの全帯域を必要とするので、あまり効率的
なものではない。加えて、あるレベルでは、同期プログ
ラムは、異なるプログラム間に所定のフィールドをマッ
ピングするために、ユーザによる対話を必要とする。
【0011】異なる計算装置間で同期をとることの難し
さの1つとして、アプリケーション同士およびプラット
フォーム同士が互いにいくらか異なっているということ
がある。これにもかかわらず、すべての同期プログラム
は、通常、広範囲に利用することができるようにするた
めに、所定の機能を必要とする。具体的には、同期プロ
グラムは、様々なプラットフォームにおいて普及したア
プリケーションを処理しなくてはならない。発生した同
期間において、異なる装置間における同一の情報が変更
される際には、同期アプリケーションは競合を解決しな
くてはならない。同期プログラムは、連絡情報、電子メ
ール、日程情報、メモもしくはその他の文書の形をとる
テキストデータであろうと、または、特定タイプのフォ
ーマットにより形成された文書またはプログラムの形を
とるバイナリデータであろうと、あらゆるタイプのフォ
ーマットにより形成されたデータについて、同期を行わ
なくてはならない。
さの1つとして、アプリケーション同士およびプラット
フォーム同士が互いにいくらか異なっているということ
がある。これにもかかわらず、すべての同期プログラム
は、通常、広範囲に利用することができるようにするた
めに、所定の機能を必要とする。具体的には、同期プロ
グラムは、様々なプラットフォームにおいて普及したア
プリケーションを処理しなくてはならない。発生した同
期間において、異なる装置間における同一の情報が変更
される際には、同期アプリケーションは競合を解決しな
くてはならない。同期プログラムは、連絡情報、電子メ
ール、日程情報、メモもしくはその他の文書の形をとる
テキストデータであろうと、または、特定タイプのフォ
ーマットにより形成された文書またはプログラムの形を
とるバイナリデータであろうと、あらゆるタイプのフォ
ーマットにより形成されたデータについて、同期を行わ
なくてはならない。
【0012】もっと広い意味では、全くタイプの異なる
装置間でデータを効果的に同期させるアプリケーション
によれば、例えばPalm(登録商標)計算装置のような個
人情報マネージャハードウェア装置と、パーソナルコン
ピュータとの間で独自の個人情報を同期させること以上
に、利益が得られる。個人情報管理(PIM)装置とデ
スクトップシステムとの間においてデータ転送を確立す
る際にも顕著となる同じ目的は、異なるプラットフォー
ム上の他タイプの装置の間でデータ転送を行わなければ
ならないアプリケーションの役に立つ。これらの目的に
は、スピード、低バンド幅、精度およびプラットフォー
ムの独立性が含まれる。
装置間でデータを効果的に同期させるアプリケーション
によれば、例えばPalm(登録商標)計算装置のような個
人情報マネージャハードウェア装置と、パーソナルコン
ピュータとの間で独自の個人情報を同期させること以上
に、利益が得られる。個人情報管理(PIM)装置とデ
スクトップシステムとの間においてデータ転送を確立す
る際にも顕著となる同じ目的は、異なるプラットフォー
ム上の他タイプの装置の間でデータ転送を行わなければ
ならないアプリケーションの役に立つ。これらの目的に
は、スピード、低バンド幅、精度およびプラットフォー
ムの独立性が含まれる。
【0013】例えば、現在の電子メールシステムは、全
体のメッセージまたはファイルが異なるシステム間でそ
のまま転送されるような、互いに全く異なる装置用の同
期方法にいくらか類似したシステムを用いている。ユー
ザが電子メールに応答する際には、通常、オリジナルメ
ッセージの全テキストが送信者に戻される。このとき、
この送信者は、自分がもともと送信した電子メールテキ
ストについては2コピー持っている。電子メールの添付
ファイル(attachment)が変更され戻されたとしても同
じようなことが起こる。両システム間で同一である全テ
キストは、本来、送信者のシステムでコピーが取られて
いる。
体のメッセージまたはファイルが異なるシステム間でそ
のまま転送されるような、互いに全く異なる装置用の同
期方法にいくらか類似したシステムを用いている。ユー
ザが電子メールに応答する際には、通常、オリジナルメ
ッセージの全テキストが送信者に戻される。このとき、
この送信者は、自分がもともと送信した電子メールテキ
ストについては2コピー持っている。電子メールの添付
ファイル(attachment)が変更され戻されたとしても同
じようなことが起こる。両システム間で同一である全テ
キストは、本来、送信者のシステムでコピーが取られて
いる。
【0014】(発明の開示)本発明は、データ転送およ
び同期システムに格納されたデータパッケージを崩壊さ
せるベースローリングエンジンに関する。第1データパ
ッケージが供給される。この第1データパッケージは、
識別番号と、アクションと、複数のフィールドとを有す
る。各フィールドは、変更情報を示す属性を有する。ま
た、第2データパッケージも供給される。この第2デー
タパッケージは、上記第1トランザクションの後に続く
ようにされた第2トランザクションを有する。この第2
トランザクションは、識別番号と、アクションと、属性
を持ったフィールドとを有する。ベースローリングエン
ジンは、第2トランザクションの識別番号が第1トラン
ザクションの識別番号に対応するかどうかを決定する。
ベースローリングエンジンもまた、第2トランザクショ
ンのフィールドが第1トランザクションのフィールドの
1つに対応するかどうかを決定する。第1トランザクシ
ョンおよび第2トランザクションの識別番号が互いに対
応し、かつ、第2トランザクションのフィールドが第1
トランザクションのフィールドの1つに対応する際に、
第1データパッケージと第2データパッケージとが結合
される。この結果、結合されたデータパッケージ(結合
データパッケージ)は、上記識別番号を持った結合され
たトランザクション(結合トランザクション)を有する
ように定められる。第2データパッケージは、結合デー
タパッケージに置き換えられる。
び同期システムに格納されたデータパッケージを崩壊さ
せるベースローリングエンジンに関する。第1データパ
ッケージが供給される。この第1データパッケージは、
識別番号と、アクションと、複数のフィールドとを有す
る。各フィールドは、変更情報を示す属性を有する。ま
た、第2データパッケージも供給される。この第2デー
タパッケージは、上記第1トランザクションの後に続く
ようにされた第2トランザクションを有する。この第2
トランザクションは、識別番号と、アクションと、属性
を持ったフィールドとを有する。ベースローリングエン
ジンは、第2トランザクションの識別番号が第1トラン
ザクションの識別番号に対応するかどうかを決定する。
ベースローリングエンジンもまた、第2トランザクショ
ンのフィールドが第1トランザクションのフィールドの
1つに対応するかどうかを決定する。第1トランザクシ
ョンおよび第2トランザクションの識別番号が互いに対
応し、かつ、第2トランザクションのフィールドが第1
トランザクションのフィールドの1つに対応する際に、
第1データパッケージと第2データパッケージとが結合
される。この結果、結合されたデータパッケージ(結合
データパッケージ)は、上記識別番号を持った結合され
たトランザクション(結合トランザクション)を有する
ように定められる。第2データパッケージは、結合デー
タパッケージに置き換えられる。
【0015】(発明を実施するための最良の形態)本発
明の様々な実施形態を参照して本発明を説明する。本明
細書および添付図面を参照すれば、本発明の他の特徴お
よび利点が明白となろう。
明の様々な実施形態を参照して本発明を説明する。本明
細書および添付図面を参照すれば、本発明の他の特徴お
よび利点が明白となろう。
【0016】図1は、本発明の一実施形態に基づいて構
成された第1データ転送および同期システムを示す一般
化されたブロック図である。第1システムまたは装置で
あるシステムA、および、第2システムまたは装置であ
るシステムBは、通信ライン110により接続されてい
る。通信ライン110が、2つのシステムを直接接続す
るものであり、データがシステム間を通過できるように
していることは、すぐに理解できよう。例えば、様々な
実施形態として、このような接続には、シリアルポート
接続、パラレルポート接続、イーサネット(登録商標)
接続、他タイプのネットワーク、赤外線接続、およびこ
れらと同様なものが含まれる。様々な実施形態として、
システムAおよびまたはシステムBは、パーソナルコン
ピュータ(PC)、スマート電話、携帯電話、個人情報
計算装置、ハンドヘルドコンピュータ、ノートパソコン
およびウェブブラウザである。その他の実施形態とし
て、システムAおよびまたはシステムBは、コンピュー
タシステムにおけるハードウェア構成要素、ならびに、
例えば受信しかつ他の装置に対して情報を提供するよう
に設けられたプロセッサおよびメモリを含むハードウェ
アを別の方法で組み合わせたものを含む。その他の実施
形態としてのシステムAおよびまたはシステムBは、そ
のような情報を含みかつハードウェアの集合に存在する
ソフトウェアを含む。そのようなソフトウェアの一例に
は、個人情報マネージャのようなアプリケーションが含
まれる。この個人情報マネージャは、Microsoft社のWin
dows(登録商標) NT オペレーティングシステム、Unix
(登録商標)オペレーティングシステム、Linuxオペレ
ーティングシステム、および、異なるタイプのアプリケ
ーションフォーマットに翻訳される、バイナリフォーマ
ットを有するファイルタイプを格納することが可能なそ
の他のシステムにより用いられるような、連絡情報およ
びその他のそういった情報、電子メールシステムならび
にファイルシステムを含む。
成された第1データ転送および同期システムを示す一般
化されたブロック図である。第1システムまたは装置で
あるシステムA、および、第2システムまたは装置であ
るシステムBは、通信ライン110により接続されてい
る。通信ライン110が、2つのシステムを直接接続す
るものであり、データがシステム間を通過できるように
していることは、すぐに理解できよう。例えば、様々な
実施形態として、このような接続には、シリアルポート
接続、パラレルポート接続、イーサネット(登録商標)
接続、他タイプのネットワーク、赤外線接続、およびこ
れらと同様なものが含まれる。様々な実施形態として、
システムAおよびまたはシステムBは、パーソナルコン
ピュータ(PC)、スマート電話、携帯電話、個人情報
計算装置、ハンドヘルドコンピュータ、ノートパソコン
およびウェブブラウザである。その他の実施形態とし
て、システムAおよびまたはシステムBは、コンピュー
タシステムにおけるハードウェア構成要素、ならびに、
例えば受信しかつ他の装置に対して情報を提供するよう
に設けられたプロセッサおよびメモリを含むハードウェ
アを別の方法で組み合わせたものを含む。その他の実施
形態としてのシステムAおよびまたはシステムBは、そ
のような情報を含みかつハードウェアの集合に存在する
ソフトウェアを含む。そのようなソフトウェアの一例に
は、個人情報マネージャのようなアプリケーションが含
まれる。この個人情報マネージャは、Microsoft社のWin
dows(登録商標) NT オペレーティングシステム、Unix
(登録商標)オペレーティングシステム、Linuxオペレ
ーティングシステム、および、異なるタイプのアプリケ
ーションフォーマットに翻訳される、バイナリフォーマ
ットを有するファイルタイプを格納することが可能なそ
の他のシステムにより用いられるような、連絡情報およ
びその他のそういった情報、電子メールシステムならび
にファイルシステムを含む。
【0017】図1において、システムAは、相違送信機
を表す機能ブロック100を含む。システムBは、相違
受信機を表す機能ブロック102を含む。相違送信機1
00は、この送信機を動作させる制御信号を受信するこ
とにより、システムBに送信される情報の指定されたデ
ータ構造を調べる。相違送信機100は、このような情
報をシステムAから抽出し、抽出した情報を相違情報Δ
に変換する。相違情報Δは、システムBで発生したシス
テムBに対する変更事項、および、これらの変更事項を
実行するための指示のみを含む。これにより、転送すべ
きデータがシステムBに存在するファイルに対する変更
事項であれば、相違情報Δは、そのようなファイルにお
ける相違点およびそのような相違点が発生する場所のみ
を含む。システムBにデータが全く存在しなければ、相
違情報Δは全ファイルとなる。システムBにおける相違
受信機102が受信した相違情報Δは、システムBにお
いて再構築され、相違情報Δ内に反映された変更事項
は、システムBにおいて更新される。例えば、システム
AおよびシステムBがともにコンピュータであり、か
つ、システムAの所定バイナリファイルを更新する必要
があるならば、システムAにおける相違送信機は、シス
テムBに存在する既知ファイルおよび新ファイルにおけ
る相違点を抽出し、それらの相違点(これらの相違点を
挿入する場所についての指示)のみを相違受信機102
に送信する。相違受信機102は、相違情報(Δ)を解
釈し、システムBにおけるバイナリファイルを再構築す
る。この方法によれば、システム間で全バイナリファイ
ルを転送しなくとも、システムBにおける情報は更新さ
れる。
を表す機能ブロック100を含む。システムBは、相違
受信機を表す機能ブロック102を含む。相違送信機1
00は、この送信機を動作させる制御信号を受信するこ
とにより、システムBに送信される情報の指定されたデ
ータ構造を調べる。相違送信機100は、このような情
報をシステムAから抽出し、抽出した情報を相違情報Δ
に変換する。相違情報Δは、システムBで発生したシス
テムBに対する変更事項、および、これらの変更事項を
実行するための指示のみを含む。これにより、転送すべ
きデータがシステムBに存在するファイルに対する変更
事項であれば、相違情報Δは、そのようなファイルにお
ける相違点およびそのような相違点が発生する場所のみ
を含む。システムBにデータが全く存在しなければ、相
違情報Δは全ファイルとなる。システムBにおける相違
受信機102が受信した相違情報Δは、システムBにお
いて再構築され、相違情報Δ内に反映された変更事項
は、システムBにおいて更新される。例えば、システム
AおよびシステムBがともにコンピュータであり、か
つ、システムAの所定バイナリファイルを更新する必要
があるならば、システムAにおける相違送信機は、シス
テムBに存在する既知ファイルおよび新ファイルにおけ
る相違点を抽出し、それらの相違点(これらの相違点を
挿入する場所についての指示)のみを相違受信機102
に送信する。相違受信機102は、相違情報(Δ)を解
釈し、システムBにおけるバイナリファイルを再構築す
る。この方法によれば、システム間で全バイナリファイ
ルを転送しなくとも、システムBにおける情報は更新さ
れる。
【0018】図2は、本発明の一実施形態に基づいて構
成された第2データ転送および同期システムの一般化さ
れたブロック図を示す。図2において、システムAおよ
びシステムBは、それぞれ相違同期装置を表す機能ブロ
ック104を含む。同期装置104の機能は、送信機と
受信機とを組み合わせたものの機能と同様である。すな
わち、同期装置は、相違情報Δを送信および受信の両方
を行うことができる。例えば、システムAおよびシステ
ムBは、それぞれポータブルコンピュータおよびデスク
トップコンピュータである。連絡情報のような情報が2
つのシステム間で同期する必要がある際には、両システ
ムが同一データを確実に保持することができるようにす
るために、相違同期装置104は、システムAおよびシ
ステムBのいずれかにおける連絡情報になされた変更事
項を抽出し、上記システム間で情報Δを所定回数だけ送
信し、送信側システムからの情報を更新するために受信
側システムにおけるデータを再構築する。
成された第2データ転送および同期システムの一般化さ
れたブロック図を示す。図2において、システムAおよ
びシステムBは、それぞれ相違同期装置を表す機能ブロ
ック104を含む。同期装置104の機能は、送信機と
受信機とを組み合わせたものの機能と同様である。すな
わち、同期装置は、相違情報Δを送信および受信の両方
を行うことができる。例えば、システムAおよびシステ
ムBは、それぞれポータブルコンピュータおよびデスク
トップコンピュータである。連絡情報のような情報が2
つのシステム間で同期する必要がある際には、両システ
ムが同一データを確実に保持することができるようにす
るために、相違同期装置104は、システムAおよびシ
ステムBのいずれかにおける連絡情報になされた変更事
項を抽出し、上記システム間で情報Δを所定回数だけ送
信し、送信側システムからの情報を更新するために受信
側システムにおけるデータを再構築する。
【0019】図3は、本発明の一実施形態に基づいて構
成された第3データ転送および同期システムの一般化さ
れたブロック図を示す。繰り返すが、システムAは相違
送信機を含み、システムBは相違受信機102を含む。
この実施形態では、格納サーバ300がシステムAとシ
ステムBとの間に接続されている。格納サーバ300
は、システムAにより供給される相違情報Δの独立した
データベースを格納する。このデータベースによって、
システムAは、第1の時点において格納サーバ300に
対して相違情報Δを供給することができ、格納サーバ3
00は、第1の時点とは同一でない第2の時点におい
て、上記と同一の相違情報ΔをシステムBに供給するこ
とができる。加えて、相違情報Δの多重セットは、それ
ぞれ異なる時点において供給され、後の検索のためにシ
ステムBにより格納される。さらに、相違情報のセット
は、システムAまたはシステムBのいずれかにおけるデ
ータを以前の状態に戻すことができるように、サーバ3
00に保持される。
成された第3データ転送および同期システムの一般化さ
れたブロック図を示す。繰り返すが、システムAは相違
送信機を含み、システムBは相違受信機102を含む。
この実施形態では、格納サーバ300がシステムAとシ
ステムBとの間に接続されている。格納サーバ300
は、システムAにより供給される相違情報Δの独立した
データベースを格納する。このデータベースによって、
システムAは、第1の時点において格納サーバ300に
対して相違情報Δを供給することができ、格納サーバ3
00は、第1の時点とは同一でない第2の時点におい
て、上記と同一の相違情報ΔをシステムBに供給するこ
とができる。加えて、相違情報Δの多重セットは、それ
ぞれ異なる時点において供給され、後の検索のためにシ
ステムBにより格納される。さらに、相違情報のセット
は、システムAまたはシステムBのいずれかにおけるデ
ータを以前の状態に戻すことができるように、サーバ3
00に保持される。
【0020】再度繰り返すが、格納サーバ300は、シ
ステムAおよびシステムBの両方に対して直接接続11
0により接続されている。格納サーバ300は、具体的
には、受信機100からの相違情報Δを受信しかつこの
相違情報Δを送信機102に対して供給するように設け
られたサーバである。一実施形態として、サーバ300
は、このような転送を実現するための特定の機能ルーチ
ンを含む。これに代えて、サーバ300は、ファイル転
送プロトコル(FTP)またはハイパーテキスト転送プ
ロトコル(HTTP)のような標準インターネット通信
プロトコルに応答する、標準情報サーバタイプを具備す
る。
ステムAおよびシステムBの両方に対して直接接続11
0により接続されている。格納サーバ300は、具体的
には、受信機100からの相違情報Δを受信しかつこの
相違情報Δを送信機102に対して供給するように設け
られたサーバである。一実施形態として、サーバ300
は、このような転送を実現するための特定の機能ルーチ
ンを含む。これに代えて、サーバ300は、ファイル転
送プロトコル(FTP)またはハイパーテキスト転送プ
ロトコル(HTTP)のような標準インターネット通信
プロトコルに応答する、標準情報サーバタイプを具備す
る。
【0021】図4は、本発明のシステムのさらに別の一
実施形態を示し、この実施形態では、システムAおよび
システムBは、直接接続ライン110により格納サーバ
300に対して再度直接接続されており、システムAお
よびシステムBのそれぞれが、相違同期装置104を含
む。相違情報Δは、第1の時点において、同期装置10
4を介してシステムAに送られかつシステムAから送ら
れ、格納サーバ300に送られかつ格納サーバ300か
ら送られ、第2の時点において、システムBに送られか
つシステムBから送られる。この実施形態では、格納サ
ーバ300は、各システムが同期した最新時点の後、シ
ステムAおよびシステムBの両方で別々に変化したデー
タの間での競合を解決するための、後述するようなルー
チンを含む。
実施形態を示し、この実施形態では、システムAおよび
システムBは、直接接続ライン110により格納サーバ
300に対して再度直接接続されており、システムAお
よびシステムBのそれぞれが、相違同期装置104を含
む。相違情報Δは、第1の時点において、同期装置10
4を介してシステムAに送られかつシステムAから送ら
れ、格納サーバ300に送られかつ格納サーバ300か
ら送られ、第2の時点において、システムBに送られか
つシステムBから送られる。この実施形態では、格納サ
ーバ300は、各システムが同期した最新時点の後、シ
ステムAおよびシステムBの両方で別々に変化したデー
タの間での競合を解決するための、後述するようなルー
チンを含む。
【0022】図5は、4つのシステム、すなわち、相違
同期装置104を含むシステムA、相違受信機102を
含むシステムB、相違同期装置104を含むシステムC
および相違送信機100を含むシステムDを含む、本発
明のさらに別の一実施形態を示す。各システムが格納サ
ーバ300に直接接続されているので、異なるシステム
の間での相違データΔの転送を制御することが可能であ
る。サーバ300は、システムAからシステムDを具備
しかつ相違情報Δにおける様々な構成要素を様々なシス
テムのそれぞれに対して送信することを制御する、様々
なタイプのシステムを調査するルーチン(これの詳細に
ついては後述する)を含む。例えば、システムBは相違
受信機102だけしかを含まないので、システムBに供
給される相違情報Δ2は、格納サーバ300とシステム
Aとの間で転送される相違情報の副構成要素でもありう
るし、または、単にシステムDからの受信同報情報Δ4
でもありうる。本発明のシステムの一実施形態では、サ
ーバ300自体は、各受信機/送信機/同期装置から得
られた相違情報の経路を定めない。サーバ300は、上
記情報のレポジトリ(repository)として動作し、どの
相違情報Δがどの受信機/送信機/同期装置のものであ
るかについては、各受信機/送信機/同期装置により決
定される。
同期装置104を含むシステムA、相違受信機102を
含むシステムB、相違同期装置104を含むシステムC
および相違送信機100を含むシステムDを含む、本発
明のさらに別の一実施形態を示す。各システムが格納サ
ーバ300に直接接続されているので、異なるシステム
の間での相違データΔの転送を制御することが可能であ
る。サーバ300は、システムAからシステムDを具備
しかつ相違情報Δにおける様々な構成要素を様々なシス
テムのそれぞれに対して送信することを制御する、様々
なタイプのシステムを調査するルーチン(これの詳細に
ついては後述する)を含む。例えば、システムBは相違
受信機102だけしかを含まないので、システムBに供
給される相違情報Δ2は、格納サーバ300とシステム
Aとの間で転送される相違情報の副構成要素でもありう
るし、または、単にシステムDからの受信同報情報Δ4
でもありうる。本発明のシステムの一実施形態では、サ
ーバ300自体は、各受信機/送信機/同期装置から得
られた相違情報の経路を定めない。サーバ300は、上
記情報のレポジトリ(repository)として動作し、どの
相違情報Δがどの受信機/送信機/同期装置のものであ
るかについては、各受信機/送信機/同期装置により決
定される。
【0023】図6は、同期装置が格納サーバ300に設
けられている、さらに別の一実施形態を示す。回送機
(forwarder)およびまたは受信機を同様にサーバ30
0に設けることも可能であることに認識されたい。ここ
で示す特定の実施形態は、装置が携帯電話である場合の
ように、装置の処理パワーおよびメモリが限定されるよ
うな場合に有利となろう。このような実施形態において
システムAと装置エンジン104aとの間で転送される
データが相違情報であるか否かが、システムAが相違情
報を検出し出力する能力を有しているかどうかに依存す
るであろう、ということに注意されたい。各装置は、相
違受信機、相違送信機または相違同期装置を含む。相違
同期装置の一部がシステムAに存在し、他の部分がサー
バ300に存在しうることを理解されたい。
けられている、さらに別の一実施形態を示す。回送機
(forwarder)およびまたは受信機を同様にサーバ30
0に設けることも可能であることに認識されたい。ここ
で示す特定の実施形態は、装置が携帯電話である場合の
ように、装置の処理パワーおよびメモリが限定されるよ
うな場合に有利となろう。このような実施形態において
システムAと装置エンジン104aとの間で転送される
データが相違情報であるか否かが、システムAが相違情
報を検出し出力する能力を有しているかどうかに依存す
るであろう、ということに注意されたい。各装置は、相
違受信機、相違送信機または相違同期装置を含む。相違
同期装置の一部がシステムAに存在し、他の部分がサー
バ300に存在しうることを理解されたい。
【0024】図7は、図6に示すような複数の装置が、
インターネットのような公衆または私用ネットワーク7
00を組み合わせたものに接続される、本発明のさらに
別の実施形態を示している。ネットワーク700は、1
つ以上の格納サーバ3001、3002を含み、この場合
には、このようなサーバのうち1つにおける中間記憶領
域を介して各装置の間で送信される相違情報Δを含む。
ネットワーク700は、相違回送装置、受信機または同
期装置を含むように具体的に設計されたサーバのような
1つ以上の特殊な機能サーバに対して、装置を接続す
る。図7における装置は、限定しないとすると説明上、
オフィス用パーソナルコンピュータ(PC)702と、
スマート電話または携帯電話704と、個人情報Palm
(登録商標)計算装置708と、家庭用PC710と、
ウェブブラウザ712とを具備する。格納サーバ300
1、3002に存在するデータが、特定の受信機または同
期装置がこれらが設けられた装置におけるデータを同期
させるために用いる相違情報を含むかどうかを決定する
ために、装置702−712に存在する各相違受信機、
各相違送信機およびまたは各相違同期装置は、格納サー
バ3001、3002に格納されたデータをポーリングす
る手段を含む。
インターネットのような公衆または私用ネットワーク7
00を組み合わせたものに接続される、本発明のさらに
別の実施形態を示している。ネットワーク700は、1
つ以上の格納サーバ3001、3002を含み、この場合
には、このようなサーバのうち1つにおける中間記憶領
域を介して各装置の間で送信される相違情報Δを含む。
ネットワーク700は、相違回送装置、受信機または同
期装置を含むように具体的に設計されたサーバのような
1つ以上の特殊な機能サーバに対して、装置を接続す
る。図7における装置は、限定しないとすると説明上、
オフィス用パーソナルコンピュータ(PC)702と、
スマート電話または携帯電話704と、個人情報Palm
(登録商標)計算装置708と、家庭用PC710と、
ウェブブラウザ712とを具備する。格納サーバ300
1、3002に存在するデータが、特定の受信機または同
期装置がこれらが設けられた装置におけるデータを同期
させるために用いる相違情報を含むかどうかを決定する
ために、装置702−712に存在する各相違受信機、
各相違送信機およびまたは各相違同期装置は、格納サー
バ3001、3002に格納されたデータをポーリングす
る手段を含む。
【0025】以下の記載では、相違受信機、送信機およ
び同期装置について記載する実施形態を、データの同期
をとることに関連して、複数の異なる装置の間で、連絡
情報、日程情報およびバイナリファイル情報を同期させ
る際に使用する場合を参照し、説明する。本発明のシス
テムが、同期アプリケーション、または、連絡情報もし
くは日程情報のような特定タイプのデータに依存するア
プリケーションに、限定されないことは、容易に理解さ
れよう。具体的には、異なるシステムおいてデータを抽
出しかつデータを再構築するルーチンにより、2つのシ
ステムの間におけるデータの変更事項のみを具備するデ
ータを送信することは、効率的なデータ伝送の進歩に資
することができる。本発明によれば、データに対する変
更事項のみが伝送されるので、2つのシステムの間でデ
ータを転送するために用いるバンド幅を効果的に削減で
きることが考慮されている。この結果、伝送すべきデー
タは、システム間で全ファイルが転送されるとしたら転
送されるであろうデータよりも実質的に小さくなるの
で、このようなトランザクションが発生するスピードを
速くすることができる。
び同期装置について記載する実施形態を、データの同期
をとることに関連して、複数の異なる装置の間で、連絡
情報、日程情報およびバイナリファイル情報を同期させ
る際に使用する場合を参照し、説明する。本発明のシス
テムが、同期アプリケーション、または、連絡情報もし
くは日程情報のような特定タイプのデータに依存するア
プリケーションに、限定されないことは、容易に理解さ
れよう。具体的には、異なるシステムおいてデータを抽
出しかつデータを再構築するルーチンにより、2つのシ
ステムの間におけるデータの変更事項のみを具備するデ
ータを送信することは、効率的なデータ伝送の進歩に資
することができる。本発明によれば、データに対する変
更事項のみが伝送されるので、2つのシステムの間でデ
ータを転送するために用いるバンド幅を効果的に削減で
きることが考慮されている。この結果、伝送すべきデー
タは、システム間で全ファイルが転送されるとしたら転
送されるであろうデータよりも実質的に小さくなるの
で、このようなトランザクションが発生するスピードを
速くすることができる。
【0026】一般的には、システムは、相違送信機10
0、相違受信機102および装置エンジンの形をとる相
違同期装置104のそれぞれの機能を提供するクライア
ントソフトウェアを具備する。この装置エンジンは、こ
の装置エンジンが起動する装置のタイプに固有の構成要
素を少なくとも1つ含んでおり、この構成要素によっ
て、装置から情報を抽出し、この情報を相違情報に変換
し、かつ、格納サーバに対してこの相違情報を伝送する
ことが可能となる。これにより、本発明のシステムに接
続されたあらゆるシステムを通して、情報の応答を行う
ことができる。本発明のシステムで利用される格納サー
バ300は、インターネットサーバまたはFTPサーバ
のような、どのようなタイプの格納サーバであってもよ
いし、インターネットサービスプロバイダ(ISP)の
ようなどのようなソースからも供給されうるけれども、
有効であって、かつ、本発明の部品として接続されるシ
ステムの間で情報を最適に転送できるようにカスタマイ
ズされる格納サーバのの独特な面について、以下に説明
する。装置間でインターネット接続を利用できる限りに
おいて、本発明の同期システムを用いてこれらの装置を
同期させることができる。装置間または装置とサーバと
の間で、同一時点にインターネット接続を形成しておく
必要はなく、かつ、いかなる時点においても情報を損失
することなく本発明のシステムに新しい装置を追加する
ことができる。このシステムは、情報に対して全体的に
明白なアクセスを行い、かつ、各装置における装置エン
ジンは、本発明にしたがって、個人情報サービスをシー
ムレスに統合することが可能となるようにオペレーティ
ングシステムを自由に拡張することができる。加えて、
本発明のシステムにおける他のシステムに転送する必要
がある、情報に対する変更事項は、非常に早い応答時間
を可能とするように伝送される。本発明のさらに別の面
として、この方法で転送される情報は、インターネット
の公衆部分での安全性を確保するために、暗号化され
る。
0、相違受信機102および装置エンジンの形をとる相
違同期装置104のそれぞれの機能を提供するクライア
ントソフトウェアを具備する。この装置エンジンは、こ
の装置エンジンが起動する装置のタイプに固有の構成要
素を少なくとも1つ含んでおり、この構成要素によっ
て、装置から情報を抽出し、この情報を相違情報に変換
し、かつ、格納サーバに対してこの相違情報を伝送する
ことが可能となる。これにより、本発明のシステムに接
続されたあらゆるシステムを通して、情報の応答を行う
ことができる。本発明のシステムで利用される格納サー
バ300は、インターネットサーバまたはFTPサーバ
のような、どのようなタイプの格納サーバであってもよ
いし、インターネットサービスプロバイダ(ISP)の
ようなどのようなソースからも供給されうるけれども、
有効であって、かつ、本発明の部品として接続されるシ
ステムの間で情報を最適に転送できるようにカスタマイ
ズされる格納サーバのの独特な面について、以下に説明
する。装置間でインターネット接続を利用できる限りに
おいて、本発明の同期システムを用いてこれらの装置を
同期させることができる。装置間または装置とサーバと
の間で、同一時点にインターネット接続を形成しておく
必要はなく、かつ、いかなる時点においても情報を損失
することなく本発明のシステムに新しい装置を追加する
ことができる。このシステムは、情報に対して全体的に
明白なアクセスを行い、かつ、各装置における装置エン
ジンは、本発明にしたがって、個人情報サービスをシー
ムレスに統合することが可能となるようにオペレーティ
ングシステムを自由に拡張することができる。加えて、
本発明のシステムにおける他のシステムに転送する必要
がある、情報に対する変更事項は、非常に早い応答時間
を可能とするように伝送される。本発明のさらに別の面
として、この方法で転送される情報は、インターネット
の公衆部分での安全性を確保するために、暗号化され
る。
【0027】図8は、本発明の一実施形態に基づいて構
成されたデータ転送および同期システムのシステム構造
を示す一般化されたブロック図である。この実施形態で
は、本発明のシステムによれば、ある人物が個人情報を
取り扱う際に用いる、パーソナル装置およびアプリケー
ションの集合を接続することができる。このシステム
は、やはり様々な装置タイプに対して公衆または私用情
報を放送するために使用されうる。本発明のシステムの
一部として示される、各装置についての装置エンジンの
形をとるシステムソフトウェアは、同期を可能とするた
めに、装置の集合を通して配布される。装置エンジン
は、例えばインターネット接続を介して転送されるイン
ストールパッケージにより配布される。本質的には、本
発明の装置エンジンソフトウェアは、システムにおける
すべての情報を完全に同期させることを維持する分散処
理ネットワークを形成する。このサービスの配達に伴う
処理負荷は、大きなアプリケーションに対してシステム
を容易に評価させる末端装置に押し付けられる。
成されたデータ転送および同期システムのシステム構造
を示す一般化されたブロック図である。この実施形態で
は、本発明のシステムによれば、ある人物が個人情報を
取り扱う際に用いる、パーソナル装置およびアプリケー
ションの集合を接続することができる。このシステム
は、やはり様々な装置タイプに対して公衆または私用情
報を放送するために使用されうる。本発明のシステムの
一部として示される、各装置についての装置エンジンの
形をとるシステムソフトウェアは、同期を可能とするた
めに、装置の集合を通して配布される。装置エンジン
は、例えばインターネット接続を介して転送されるイン
ストールパッケージにより配布される。本質的には、本
発明の装置エンジンソフトウェアは、システムにおける
すべての情報を完全に同期させることを維持する分散処
理ネットワークを形成する。このサービスの配達に伴う
処理負荷は、大きなアプリケーションに対してシステム
を容易に評価させる末端装置に押し付けられる。
【0028】図8には2つのタイプの装置エンジンが示
されている。一方のタイプは、様々な装置に配置されて
おり、変更データをサーバに対して出力し、もう一方の
タイプは、サーバに組み込まれており、装置に生成され
た変更情報をデバイスから受信する。これに代わる一実
施形態には、2つの装置エンジンのハイブリッドが含ま
れる。すなわち、装置エンジンの一部が、装置とサーバ
における一部とに存在している。
されている。一方のタイプは、様々な装置に配置されて
おり、変更データをサーバに対して出力し、もう一方の
タイプは、サーバに組み込まれており、装置に生成され
た変更情報をデバイスから受信する。これに代わる一実
施形態には、2つの装置エンジンのハイブリッドが含ま
れる。すなわち、装置エンジンの一部が、装置とサーバ
における一部とに存在している。
【0029】図8に示すように、任意数および任意タイ
プの装置802〜808が、本発明のシステムに従って
用いられうる。電話802は、携帯電話または標準PO
TS接続電話を含む。電話802は、連絡情報、新世代
携帯電話にサポートされているように、データ構造81
2に格納された予約およびタスクデータを含む。このよ
うな情報を含むアプリケーションデータ822を利用す
るアプリケーション812は、すべて電話ユニット80
2に格納される。同様に、Palm(登録商標)計算装置8
04のような携帯情報端末は、アプリケーション814
と、連絡、予約およびタスクのような情報を含み、さら
に、PDA804により生成され格納される文書のよう
なファイル情報をも含むアプリケーションデータ824
とを含む。装置806は、Microsoft社のWindows(登録
商標) 95,98,NTまたは2000のようなオペレーティング
システムを起動するWindows(登録商標)パーソナルコ
ンピュータとして表現される。装置806上で起動する
アプリケーション816は、Windows(登録商標)オペ
レーティングシステム自体、Microsoft社のOutlook、Sy
matec社のACT 個人情報マネージャ、Goldmine Software
社のGoldmine、Lotus社のOrganizer、Microsoft社のイ
ンターネットエクスプローラウェブブラウザ、Netscape
社のCommunicator Suite、Qualcomm社のEudora e-mai
l、およびその他の様々なプログラムを含み、これらの
それぞれは、システム806の外部にある装置と同期を
とるのみならず、システム内にある装置間およびアプリ
ケーション間において同期をとる必要があるアプリケー
ションデータ826の独自セットを有している。最後
に、アプリケーションデータ828の独自セットを有す
るウェブポータルアプリケーション816にインターネ
ットを介して接続している、専用ウェブブラウザクライ
アント808が示されている。独自のハードウェアに実
質的にアプリケーションおよびアプリケーションデータ
を格納する装置806とは違って、ウェブポータルアプ
リケーションは、別々のサーバに提供されているととも
に、インターネット接続を介してブラウザ808にも提
供されている。やはり、ポータルアプリケーションプロ
バイダに格納されているウェブポータルアプリケーショ
ンは、ユーザが同期をさせたいと思うアプリケーション
データ828のセットを含む。例えば、Yahoo!およびSn
ap.comのような大きなウェブポータルは、それらのユー
ザに対して、free e-mailおよび連絡情報の保存のよう
なサービスを提供している。ユーザは、これを自分の携
帯電話、PDAまたはWindows(登録商標)装置上で起
動するアプリケーションと同期させたいと思うであろ
う。
プの装置802〜808が、本発明のシステムに従って
用いられうる。電話802は、携帯電話または標準PO
TS接続電話を含む。電話802は、連絡情報、新世代
携帯電話にサポートされているように、データ構造81
2に格納された予約およびタスクデータを含む。このよ
うな情報を含むアプリケーションデータ822を利用す
るアプリケーション812は、すべて電話ユニット80
2に格納される。同様に、Palm(登録商標)計算装置8
04のような携帯情報端末は、アプリケーション814
と、連絡、予約およびタスクのような情報を含み、さら
に、PDA804により生成され格納される文書のよう
なファイル情報をも含むアプリケーションデータ824
とを含む。装置806は、Microsoft社のWindows(登録
商標) 95,98,NTまたは2000のようなオペレーティング
システムを起動するWindows(登録商標)パーソナルコ
ンピュータとして表現される。装置806上で起動する
アプリケーション816は、Windows(登録商標)オペ
レーティングシステム自体、Microsoft社のOutlook、Sy
matec社のACT 個人情報マネージャ、Goldmine Software
社のGoldmine、Lotus社のOrganizer、Microsoft社のイ
ンターネットエクスプローラウェブブラウザ、Netscape
社のCommunicator Suite、Qualcomm社のEudora e-mai
l、およびその他の様々なプログラムを含み、これらの
それぞれは、システム806の外部にある装置と同期を
とるのみならず、システム内にある装置間およびアプリ
ケーション間において同期をとる必要があるアプリケー
ションデータ826の独自セットを有している。最後
に、アプリケーションデータ828の独自セットを有す
るウェブポータルアプリケーション816にインターネ
ットを介して接続している、専用ウェブブラウザクライ
アント808が示されている。独自のハードウェアに実
質的にアプリケーションおよびアプリケーションデータ
を格納する装置806とは違って、ウェブポータルアプ
リケーションは、別々のサーバに提供されているととも
に、インターネット接続を介してブラウザ808にも提
供されている。やはり、ポータルアプリケーションプロ
バイダに格納されているウェブポータルアプリケーショ
ンは、ユーザが同期をさせたいと思うアプリケーション
データ828のセットを含む。例えば、Yahoo!およびSn
ap.comのような大きなウェブポータルは、それらのユー
ザに対して、free e-mailおよび連絡情報の保存のよう
なサービスを提供している。ユーザは、これを自分の携
帯電話、PDAまたはWindows(登録商標)装置上で起
動するアプリケーションと同期させたいと思うであろ
う。
【0030】図8に示す各システムの特定アプリケーシ
ョンデータにアクセスするために、装置エンジンは各タ
イプの装置と関連している。携帯装置エンジン862
は、携帯電話のアプリケーションデータ822と通信
し、かつ、アプリケーションデータ822に組み込まれ
ている。同様に、PDA装置エンジン864が同様に設
けられている。このPDA装置エンジン864は、Palm
(登録商標)オペレーティングシステム、Windows(登
録商標) CE オペレーティングシステム、または、その
他のPDA型オペレーティングシステムのいずれかを必
ずベースにしている。Windows(登録商標)をベースと
した装置エンジン866は、サポートされたWindows
(登録商標)アプリケーション816からアプリケーシ
ョンデータ826を抽出するといった、後述するメカニ
ズムを含んでおり、ウェブサービス装置エンジン868
は、ウェブポータルアプリケーション818からアプリ
ケーションデータ828を抽出するために合体してい
る。
ョンデータにアクセスするために、装置エンジンは各タ
イプの装置と関連している。携帯装置エンジン862
は、携帯電話のアプリケーションデータ822と通信
し、かつ、アプリケーションデータ822に組み込まれ
ている。同様に、PDA装置エンジン864が同様に設
けられている。このPDA装置エンジン864は、Palm
(登録商標)オペレーティングシステム、Windows(登
録商標) CE オペレーティングシステム、または、その
他のPDA型オペレーティングシステムのいずれかを必
ずベースにしている。Windows(登録商標)をベースと
した装置エンジン866は、サポートされたWindows
(登録商標)アプリケーション816からアプリケーシ
ョンデータ826を抽出するといった、後述するメカニ
ズムを含んでおり、ウェブサービス装置エンジン868
は、ウェブポータルアプリケーション818からアプリ
ケーションデータ828を抽出するために合体してい
る。
【0031】図8に示すように、デバイス全体に供給さ
れている装置エンジン(ここでは「デスクトップ装置エ
ンジン」という。)もあれば、後部サーバ(格納サーバ
850または図9Bに示すような特定サーバを具備する
後部サーバ)に構成要素を含んでいる装置エンジンもあ
る。これは、一般的には図8における実線832、83
4、836および838により示される。また、図8に
は、点線855の上に位置する構成要素は、本発明のシ
ステムの管理者またはサービスプロバイダにより提供さ
れる。装置エンジン862、864、866および86
8のそれぞれは、これらが設けられた装置のタイプに関
連して構成される。例えば、携帯電話装置エンジン86
2はこの携帯電話に設けられる1つ以上の構成要素を含
む一方、その他の構成要素はサーバ850に存在する。
逆に、装置エンジン866は、その装置全体がWindows
(登録商標)装置に存在する。
れている装置エンジン(ここでは「デスクトップ装置エ
ンジン」という。)もあれば、後部サーバ(格納サーバ
850または図9Bに示すような特定サーバを具備する
後部サーバ)に構成要素を含んでいる装置エンジンもあ
る。これは、一般的には図8における実線832、83
4、836および838により示される。また、図8に
は、点線855の上に位置する構成要素は、本発明のシ
ステムの管理者またはサービスプロバイダにより提供さ
れる。装置エンジン862、864、866および86
8のそれぞれは、これらが設けられた装置のタイプに関
連して構成される。例えば、携帯電話装置エンジン86
2はこの携帯電話に設けられる1つ以上の構成要素を含
む一方、その他の構成要素はサーバ850に存在する。
逆に、装置エンジン866は、その装置全体がWindows
(登録商標)装置に存在する。
【0032】各装置からのデータは、インターネット接
続710を介して格納サーバ850に接続される。上述
したように、格納サーバ850は、包括的な格納サー
バ、または、後述するような本発明のシステムを用いて
使用するために具体的に設けられた格納サーバであろ
う。1つ以上の格納サーバ850は、システム802、
804、806および808の集合の間でトランザクシ
ョンを通信するために用いられる。任意数の様々なタイ
プのシステム802、804、806および808が、
本発明にしたがって設けられるとともにシステム内に組
み込まれることは、容易に理解できる。しかしながら、
簡略化のために、現在使用中または開発中である市場で
入手可能な計算装置(本発明のシステムが組み込まれる
であろう計算装置)の様々なタイプをすべて列挙してい
るわけではない。
続710を介して格納サーバ850に接続される。上述
したように、格納サーバ850は、包括的な格納サー
バ、または、後述するような本発明のシステムを用いて
使用するために具体的に設けられた格納サーバであろ
う。1つ以上の格納サーバ850は、システム802、
804、806および808の集合の間でトランザクシ
ョンを通信するために用いられる。任意数の様々なタイ
プのシステム802、804、806および808が、
本発明にしたがって設けられるとともにシステム内に組
み込まれることは、容易に理解できる。しかしながら、
簡略化のために、現在使用中または開発中である市場で
入手可能な計算装置(本発明のシステムが組み込まれる
であろう計算装置)の様々なタイプをすべて列挙してい
るわけではない。
【0033】最もシンプルな実施形態では、格納サーバ
850は、データ処理能力をもたない単なる格納サーバ
であるが、装置エンジンのそれぞれは、システムにおけ
るその他の装置エンジンによりアクセス可能な特定位置
に格納されるように、この格納サーバ850に対して相
違情報のみを送信する。一実施形態では、各装置エンジ
ンは、システム全体を完全に同期させた状態を維持する
ために必要な全処理を実行する。ある特定時点におい
て、1つの装置エンジンだけしか格納サーバ850に接
続する必要がない。これにより、切断方法を適用した多
重システムを同期させることができる。各装置エンジン
は、最新の同期がなされてから生じた変更事項を含むす
べてのトランザクションをサーバからダウンロードし、
これらの変更事項を特定の装置に対して適用する。
850は、データ処理能力をもたない単なる格納サーバ
であるが、装置エンジンのそれぞれは、システムにおけ
るその他の装置エンジンによりアクセス可能な特定位置
に格納されるように、この格納サーバ850に対して相
違情報のみを送信する。一実施形態では、各装置エンジ
ンは、システム全体を完全に同期させた状態を維持する
ために必要な全処理を実行する。ある特定時点におい
て、1つの装置エンジンだけしか格納サーバ850に接
続する必要がない。これにより、切断方法を適用した多
重システムを同期させることができる。各装置エンジン
は、最新の同期がなされてから生じた変更事項を含むす
べてのトランザクションをサーバからダウンロードし、
これらの変更事項を特定の装置に対して適用する。
【0034】変更事項または相違情報(Δ)は、1つ以
上のデータパッケージに供給される。ここで、このデー
タパッケージの構造について説明する。各データパッケ
ージは、アプリケーションデータ、ファイル、フォル
ダ、アプリケーション設定およびこれらと同様なものに
限定されないものを含んだ、あらゆる装置にわたる任意
および全転送情報に対する変更事項を記述する。各装置
エンジンは、特定の装置エンジンに取り付けられた特定
ローカル装置802、804、806または808に適
用される様々な階級の情報を含むデータパッケージをダ
ウンロードすることを制御可能である。例えば、装置エ
ンジン862は、アプリケーションデータ822におけ
る連絡情報および電話番号を記述する情報に対する変更
情報を扱う必要があるのみであるが、装置エンジン86
6は、アプリケーションデータ826がアプリケーショ
ンデータ822よりも非常に大量となってからは、電子
メールに対する変更事項、連絡情報および住所情報だけ
でなく文書ファイルおよびメモに対する変更事項をも扱
う必要がある。
上のデータパッケージに供給される。ここで、このデー
タパッケージの構造について説明する。各データパッケ
ージは、アプリケーションデータ、ファイル、フォル
ダ、アプリケーション設定およびこれらと同様なものに
限定されないものを含んだ、あらゆる装置にわたる任意
および全転送情報に対する変更事項を記述する。各装置
エンジンは、特定の装置エンジンに取り付けられた特定
ローカル装置802、804、806または808に適
用される様々な階級の情報を含むデータパッケージをダ
ウンロードすることを制御可能である。例えば、装置エ
ンジン862は、アプリケーションデータ822におけ
る連絡情報および電話番号を記述する情報に対する変更
情報を扱う必要があるのみであるが、装置エンジン86
6は、アプリケーションデータ826がアプリケーショ
ンデータ822よりも非常に大量となってからは、電子
メールに対する変更事項、連絡情報および住所情報だけ
でなく文書ファイルおよびメモに対する変更事項をも扱
う必要がある。
【0035】各装置エンジンは、インターネット接続7
10を介して送信されたデータパッケーに対する暗号化
および圧縮化を可能とする圧縮化/伸張化および暗号化
/解読化構成要素を含む。データパッケージに対する圧
縮化および符号化については、任意に設けられるという
ことを認識されたい。各装置エンジンは、データパッケ
ージを、アプリケーションデータ格納部822−828
における情報タイプに要するローカルフォーマットに適
用するために必要なマッピングおよび変換処理を実行す
る。また、装置エンジンは、最新の更新がなされて以
来、ユーザが2つの異なるシステムにおける特定データ
フィールドに対するデータを同時に変更した場合に、不
明瞭な更新を調査することを可能となる構成要素を含
む。この場合には、装置エンジンは、ユーザがこのよう
な事態に気付かせるメカニズム、および、ユーザが競合
を解決できるようにするメカニズムを含む。
10を介して送信されたデータパッケーに対する暗号化
および圧縮化を可能とする圧縮化/伸張化および暗号化
/解読化構成要素を含む。データパッケージに対する圧
縮化および符号化については、任意に設けられるという
ことを認識されたい。各装置エンジンは、データパッケ
ージを、アプリケーションデータ格納部822−828
における情報タイプに要するローカルフォーマットに適
用するために必要なマッピングおよび変換処理を実行す
る。また、装置エンジンは、最新の更新がなされて以
来、ユーザが2つの異なるシステムにおける特定データ
フィールドに対するデータを同時に変更した場合に、不
明瞭な更新を調査することを可能となる構成要素を含
む。この場合には、装置エンジンは、ユーザがこのよう
な事態に気付かせるメカニズム、および、ユーザが競合
を解決できるようにするメカニズムを含む。
【0036】図9Aは、包括アプリケーション810お
よび包括格納サーバ850とともに用いられる装置エン
ジンの一例を示す。具体的には、すべての処理はこの装
置上で発生し、相違情報のみしかサーバ850に送信さ
れないので、図9Aにおける装置エンジンはデスクトッ
プ装置エンジンである。やはり、デスクトップ装置エン
ジンを理解することは、サーバ側装置エンジンを理解す
ることの手助けになる。このサーバ側装置エンジンにつ
いて以下に説明する。図9には、ブロック形式による装
置エンジンの機能的構成要素、および、これらの構成要
素間の相互関係が示されている。装置エンジン860
は、図1−7に示した相違シーケンサ104の機能的ブ
ロックと均等なものである。特定アプリケーションによ
り必要とされるような転送専用(相違送信機)または受
信専用(相違受信機)の能力のために、必要な際に一部
の機能性が用いられる。
よび包括格納サーバ850とともに用いられる装置エン
ジンの一例を示す。具体的には、すべての処理はこの装
置上で発生し、相違情報のみしかサーバ850に送信さ
れないので、図9Aにおける装置エンジンはデスクトッ
プ装置エンジンである。やはり、デスクトップ装置エン
ジンを理解することは、サーバ側装置エンジンを理解す
ることの手助けになる。このサーバ側装置エンジンにつ
いて以下に説明する。図9には、ブロック形式による装
置エンジンの機能的構成要素、および、これらの構成要
素間の相互関係が示されている。装置エンジン860
は、図1−7に示した相違シーケンサ104の機能的ブ
ロックと均等なものである。特定アプリケーションによ
り必要とされるような転送専用(相違送信機)または受
信専用(相違受信機)の能力のために、必要な際に一部
の機能性が用いられる。
【0037】システムにおいて、装置についてのユーザ
の個人情報ネットワークを構成する各装置および全装置
について、装置エンジンが存在する。図9Aに示すよう
に、各装置エンジン860は、アプリケーションオブジ
ェクト910を含む。このアプリケーションオブジェク
トは、各特定アプリケーション810に固有のものであ
り、かつ、装置エンジンと本発明のデータ転送システム
のバランスとの間における標準インターフェイス、およ
び、装置エンジンとアプリケーションデータ810との
間の標準インターフェイスを提供する。以下、このアプ
リケーションオブジェクトの詳細について説明する。ア
プリケーションオブジェクトは、広範囲な種類のコンピ
ュータメーカ独自のアプリケーションをサポートする接
続可能な構成のことである。アプリケーションオブジェ
クトの役割は、アプリケーションデータに対してアクセ
スするために任意数の標準インターフェイスを介してア
プリケーションに接続することにより、アプリケーショ
ンからのデータを一時的すなわち「汎用」データ構造に
マッピングすることである。アプリケーションオブジェ
クトのデータ構造は、格納サーバに対して供給するデー
タパッケージを生成するために、装置エンジンの構成要
素により用いられる包括的または「汎用なデータ」フォ
ーマットにデータを変換することである。
の個人情報ネットワークを構成する各装置および全装置
について、装置エンジンが存在する。図9Aに示すよう
に、各装置エンジン860は、アプリケーションオブジ
ェクト910を含む。このアプリケーションオブジェク
トは、各特定アプリケーション810に固有のものであ
り、かつ、装置エンジンと本発明のデータ転送システム
のバランスとの間における標準インターフェイス、およ
び、装置エンジンとアプリケーションデータ810との
間の標準インターフェイスを提供する。以下、このアプ
リケーションオブジェクトの詳細について説明する。ア
プリケーションオブジェクトは、広範囲な種類のコンピ
ュータメーカ独自のアプリケーションをサポートする接
続可能な構成のことである。アプリケーションオブジェ
クトの役割は、アプリケーションデータに対してアクセ
スするために任意数の標準インターフェイスを介してア
プリケーションに接続することにより、アプリケーショ
ンからのデータを一時的すなわち「汎用」データ構造に
マッピングすることである。アプリケーションオブジェ
クトのデータ構造は、格納サーバに対して供給するデー
タパッケージを生成するために、装置エンジンの構成要
素により用いられる包括的または「汎用なデータ」フォ
ーマットにデータを変換することである。
【0038】前回データの抽出および同期が行われた後
のある時点における装置のデータのコピーを含む、アプ
リケーションオブジェクト格納部(AOS)920もま
た設けられている。アプリケーションオブジェクト格納
部920は、装置エンジンにおけるアプリケーションオ
ブジェクト910からのデータの前回の状態についての
スナップショットを格納する、反映型インターフェイス
である。AOSのサイズは、各装置エンジンにより収集
されているデータに依存する。
のある時点における装置のデータのコピーを含む、アプ
リケーションオブジェクト格納部(AOS)920もま
た設けられている。アプリケーションオブジェクト格納
部920は、装置エンジンにおけるアプリケーションオ
ブジェクト910からのデータの前回の状態についての
スナップショットを格納する、反映型インターフェイス
である。AOSのサイズは、各装置エンジンにより収集
されているデータに依存する。
【0039】アプリケーションオブジェクトの包括的な
出力は、デルタモジュール950に供給される。デルタ
モジュール950は、アプリケーションオブジェクト9
10の出力と、アプリケーションオブジェクト格納部
(AOS)920に供給されるデータのコピーとの間に
おける、データについての相違を計算する。実際の相違
およびパッチルーチンは、XデルタまたはYデルタのよ
うなルーチンを具備する。デルタモジュール950は、
本明細書のある部分ではこれに代えて「CS構造デル
タ」と称される。加えて、相違情報は、これに代えて
「変更ログ」と称される。各変更ログ(または相違情報
のセット)は、自己記述(self describing)シリーズ
の同期トランザクションである。後述するように、変更
ログは、ネットワークに出力される前に、暗号化および
圧縮化される。
出力は、デルタモジュール950に供給される。デルタ
モジュール950は、アプリケーションオブジェクト9
10の出力と、アプリケーションオブジェクト格納部
(AOS)920に供給されるデータのコピーとの間に
おける、データについての相違を計算する。実際の相違
およびパッチルーチンは、XデルタまたはYデルタのよ
うなルーチンを具備する。デルタモジュール950は、
本明細書のある部分ではこれに代えて「CS構造デル
タ」と称される。加えて、相違情報は、これに代えて
「変更ログ」と称される。各変更ログ(または相違情報
のセット)は、自己記述(self describing)シリーズ
の同期トランザクションである。後述するように、変更
ログは、ネットワークに出力される前に、暗号化および
圧縮化される。
【0040】これにより、同期の間においては、アプリ
ケーションオブジェクトは、後述するメカニズムを用い
ることにより、装置における各アプリケーションからデ
ータを抽出し、抽出したデータを汎用データフォーマッ
トに変換する。この後、デルタモジュールは、アプリケ
ーションオブジェクト出力とAOS出力とを比較するこ
とにより、相違セットを生成する。この相違情報は、デ
ータパッケージの形をとる格納サーバ850の出力のた
めの暗号化および圧縮化ルーチンに転送される。これに
代えて、1つのアプリケーションからのデータは、別の
アプリケーション、例えば図10における矢印1050
が示すWindows(登録商標)の環境におけるデータに同
期させるために用いられうる。
ケーションオブジェクトは、後述するメカニズムを用い
ることにより、装置における各アプリケーションからデ
ータを抽出し、抽出したデータを汎用データフォーマッ
トに変換する。この後、デルタモジュールは、アプリケ
ーションオブジェクト出力とAOS出力とを比較するこ
とにより、相違セットを生成する。この相違情報は、デ
ータパッケージの形をとる格納サーバ850の出力のた
めの暗号化および圧縮化ルーチンに転送される。これに
代えて、1つのアプリケーションからのデータは、別の
アプリケーション、例えば図10における矢印1050
が示すWindows(登録商標)の環境におけるデータに同
期させるために用いられうる。
【0041】アプリケーションオブジェクトが、非構造
的バイナリデータまたは構造的アプリケーションデータ
との間の直接的なインターフェイスとなりうることは、
明確に理解されよう。相違ルーチンは、比較生成におい
て2つのデルタモジュール950を用いることをサポー
トしている。
的バイナリデータまたは構造的アプリケーションデータ
との間の直接的なインターフェイスとなりうることは、
明確に理解されよう。相違ルーチンは、比較生成におい
て2つのデルタモジュール950を用いることをサポー
トしている。
【0042】アプリケーションオブジェクトおよびデル
タモジュールの動作は、PDAのアプリケーションのよ
うないくつかのアプリケーションがそのデータへの変更
事項を出力する能力を有するという事実によって簡略化
される場合がいくらかある。このような場合には、AO
Sとの比較は必要でない、すなわち、アプリケーション
は既にこのアプリケーションのデータになされた変更事
項を調査するメカニズムを含んでいるので、デルタモジ
ュール950は、データパッケージにデータを供給する
だけでよい。しかしながら、多くの場合、アプリケーシ
ョンは、Microsoft社のOBDCインターフェイス、Microso
ft社の標準アプリケーションプログラミングインターフ
ェイス(API)またはその他の同様な標準インターフ
ェイスのような、データにアクセスするための標準イン
ターフェイスをせいぜい提供するのみである。
タモジュールの動作は、PDAのアプリケーションのよ
うないくつかのアプリケーションがそのデータへの変更
事項を出力する能力を有するという事実によって簡略化
される場合がいくらかある。このような場合には、AO
Sとの比較は必要でない、すなわち、アプリケーション
は既にこのアプリケーションのデータになされた変更事
項を調査するメカニズムを含んでいるので、デルタモジ
ュール950は、データパッケージにデータを供給する
だけでよい。しかしながら、多くの場合、アプリケーシ
ョンは、Microsoft社のOBDCインターフェイス、Microso
ft社の標準アプリケーションプログラミングインターフ
ェイス(API)またはその他の同様な標準インターフ
ェイスのような、データにアクセスするための標準イン
ターフェイスをせいぜい提供するのみである。
【0043】さらに、装置エンジン860は、データパ
ッケージにおけるオブジェクトごとにバージョン番号を
付与するバージョンモジュールを含む。後述するよう
に、データパッケージにおける各オブジェクトは、汎用
的に固有ID(UUID)が割り当てられる。これによ
り、以前の多くの同期システムとは異なり、本発明のシ
ステムは、2セットのデータの時間スタンプを比較する
ことのみでは、データを同期させない。バージョンモジ
ュール915によって、各装置エンジンは、どのデータ
パッケージを適用するかを決定するために、格納サーバ
に供給されているデータパッケージに対する最新の同期
の状態を調べることが可能となっている。これにより、
装置エンジンは、別の装置エンジンが格納サーバに対す
る変更事項をアップロードする回数とは無関係に、この
装置エンジン自体を同期させることができる。別言すれ
ば、第1の装置エンジンは、第2の装置エンジンがサー
バに対してデータパッケージを何回アップロードするか
を問題としない。
ッケージにおけるオブジェクトごとにバージョン番号を
付与するバージョンモジュールを含む。後述するよう
に、データパッケージにおける各オブジェクトは、汎用
的に固有ID(UUID)が割り当てられる。これによ
り、以前の多くの同期システムとは異なり、本発明のシ
ステムは、2セットのデータの時間スタンプを比較する
ことのみでは、データを同期させない。バージョンモジ
ュール915によって、各装置エンジンは、どのデータ
パッケージを適用するかを決定するために、格納サーバ
に供給されているデータパッケージに対する最新の同期
の状態を調べることが可能となっている。これにより、
装置エンジンは、別の装置エンジンが格納サーバに対す
る変更事項をアップロードする回数とは無関係に、この
装置エンジン自体を同期させることができる。別言すれ
ば、第1の装置エンジンは、第2の装置エンジンがサー
バに対してデータパッケージを何回アップロードするか
を問題としない。
【0044】事象モジュール925は、同期初期化事象
を制御する。いつ同期を行うか、どのように同期を行う
かのようなアイテムは、デルタモジュール950が同期
動作を実行するきっかけとなる。
を制御する。いつ同期を行うか、どのように同期を行う
かのようなアイテムは、デルタモジュール950が同期
動作を実行するきっかけとなる。
【0045】ユーザインターフェイス930は、装置エ
ンジン860が接続されている特定装置のシステムユー
ザに対して、付加的な機能的特徴を割り当てるために設
けられる。このユーザインターフェイスは、競合解決モ
ジュール940、フィルタリングモジュール945およ
びフィールドマッピングモジュール935に接続されて
いる。これらのモジュールのそれぞれは、全同期プログ
ラムおよびユーザが期待するかの両方に必要な機能性を
提供する。
ンジン860が接続されている特定装置のシステムユー
ザに対して、付加的な機能的特徴を割り当てるために設
けられる。このユーザインターフェイスは、競合解決モ
ジュール940、フィルタリングモジュール945およ
びフィールドマッピングモジュール935に接続されて
いる。これらのモジュールのそれぞれは、全同期プログ
ラムおよびユーザが期待するかの両方に必要な機能性を
提供する。
【0046】フィルタリングモジュール945は、例え
ばフィールドレベルコンテンツサーチに基づいた、様々
なタイプのコンテンツ用のフィルタリングを行う。フィ
ールドマッピングモジュール935によって、ユーザ
は、文書ストリームに供給されたアイテムの所定変換を
再マッピングする。例えば、装置エンジン860がパー
ソナルコンピュータを作動させていれば、このパーソナ
ルコンピュータとノートブックコンピュータとの間には
同期が発生しており、ユーザは、このノートブックコン
ピュータ上の異なるディレクトリにマッピングしたいと
思っている、パーソナルコンピュータ上に「マイドキュ
メント」ディレクトリを持っており、フィールドマッピ
ングモジュール935は、発生する再マッピングを考慮
する。フィールドマッピングモジュールはデータパッケ
ージ出力を指示する際における変更事項を考慮するとい
うことを認識されたい。フィールドマッピングモジュー
ル935は、フィールドマッピングおよび同期アプリケ
ーションを使用するような従来方式とは異なり、例え
ば、Microsoft社のOutlookのような1つのアプリケーシ
ョンからの連絡情報の特定データフィールドを、Symant
ec社のACTのような別のアプリケーションにマッピング
する必要はない。
ばフィールドレベルコンテンツサーチに基づいた、様々
なタイプのコンテンツ用のフィルタリングを行う。フィ
ールドマッピングモジュール935によって、ユーザ
は、文書ストリームに供給されたアイテムの所定変換を
再マッピングする。例えば、装置エンジン860がパー
ソナルコンピュータを作動させていれば、このパーソナ
ルコンピュータとノートブックコンピュータとの間には
同期が発生しており、ユーザは、このノートブックコン
ピュータ上の異なるディレクトリにマッピングしたいと
思っている、パーソナルコンピュータ上に「マイドキュ
メント」ディレクトリを持っており、フィールドマッピ
ングモジュール935は、発生する再マッピングを考慮
する。フィールドマッピングモジュールはデータパッケ
ージ出力を指示する際における変更事項を考慮するとい
うことを認識されたい。フィールドマッピングモジュー
ル935は、フィールドマッピングおよび同期アプリケ
ーションを使用するような従来方式とは異なり、例え
ば、Microsoft社のOutlookのような1つのアプリケーシ
ョンからの連絡情報の特定データフィールドを、Symant
ec社のACTのような別のアプリケーションにマッピング
する必要はない。
【0047】さらに、デルタモジュール950は、圧縮
化モジュール970および暗号化モジュール960に接
続されている。圧縮化モジュールをイネーブルにする必
要がないということを認識されたい。一般的なPK Zipま
たはWinzipモジュールまたはHiFn Corporationより入手
可能なモジュールのような、任意タイプの圧縮モジュー
ル970を、本発明に従って利用することができる。さ
らに、MD5、RCH6、TwoFish、Blowfishまたはその他の対
称暗号化アルゴリズムを用いることもできる。本発明の
一実施形態では、圧縮化を行わない暗号化が用いられ
る。本発明の題2実施形態では、暗号化を行わない圧縮
化が用いられる。本発明の第3実施形態では、圧縮化も
暗号化も用いられず、本発明の第4実施形態では、圧縮
化および暗号化の両方が用いられる。
化モジュール970および暗号化モジュール960に接
続されている。圧縮化モジュールをイネーブルにする必
要がないということを認識されたい。一般的なPK Zipま
たはWinzipモジュールまたはHiFn Corporationより入手
可能なモジュールのような、任意タイプの圧縮モジュー
ル970を、本発明に従って利用することができる。さ
らに、MD5、RCH6、TwoFish、Blowfishまたはその他の対
称暗号化アルゴリズムを用いることもできる。本発明の
一実施形態では、圧縮化を行わない暗号化が用いられ
る。本発明の題2実施形態では、暗号化を行わない圧縮
化が用いられる。本発明の第3実施形態では、圧縮化も
暗号化も用いられず、本発明の第4実施形態では、圧縮
化および暗号化の両方が用いられる。
【0048】また、バージョンモジュール915によっ
て、装置エンジン860は、独特な同期プロファイルを
持った多数のユーザをサポートすることができる。これ
により、同一のマシンにアクセスしている多数のユーザ
は、それぞれ、同一の装置エンジンを用いて、各自のデ
ータセットを同期させることができる。例えば、特定装
置におけるアプリケーション810がMicrosoft社のExc
hangeサーバに接続されたパーソナルコンピュータ上にM
icrosoft社のOutlookを備え、かつ、Outlookがマルチユ
ーザのプロファイルを有するように構成されている場合
には、バージョンモジュール915は、同期要求が発生
する際に装置エンジンを通して適用されるデータを調査
する。これにより、異なるデータセットにアクセスす
る、同一のOutlookクライアントソフトウェアの2つの
ユーザは、同一のマシンを介して、同一の装置エンジン
および本発明のシステムを利用することができる。さら
なる実施形態では、特定装置は、同一の接続を介してシ
ステムにアクセスする全く異なる装置のユーザをサポー
トする。例えば、Palm(登録商標)装置は、コンピュー
タおよびまたはインターネット接続に接続するために、
クレードル(cradle)を用いる。特定ユーザが、別ユー
ザのPalm(登録商標)pilotを同期させるために、別ユ
ーザに自分のPalm(登録商標)pilotクレードル接続を
使用してほしいのであれば、装置エンジンは、全く異な
る装置のローカルアプリケーションオブジェクト格納部
を更新するために、データパッケージを生成することが
できる。したがって、アプリケーションオブジェクト格
納部は、全く異なる装置の同期を実現する場合の一時的
な格納部として用いられうる。
て、装置エンジン860は、独特な同期プロファイルを
持った多数のユーザをサポートすることができる。これ
により、同一のマシンにアクセスしている多数のユーザ
は、それぞれ、同一の装置エンジンを用いて、各自のデ
ータセットを同期させることができる。例えば、特定装
置におけるアプリケーション810がMicrosoft社のExc
hangeサーバに接続されたパーソナルコンピュータ上にM
icrosoft社のOutlookを備え、かつ、Outlookがマルチユ
ーザのプロファイルを有するように構成されている場合
には、バージョンモジュール915は、同期要求が発生
する際に装置エンジンを通して適用されるデータを調査
する。これにより、異なるデータセットにアクセスす
る、同一のOutlookクライアントソフトウェアの2つの
ユーザは、同一のマシンを介して、同一の装置エンジン
および本発明のシステムを利用することができる。さら
なる実施形態では、特定装置は、同一の接続を介してシ
ステムにアクセスする全く異なる装置のユーザをサポー
トする。例えば、Palm(登録商標)装置は、コンピュー
タおよびまたはインターネット接続に接続するために、
クレードル(cradle)を用いる。特定ユーザが、別ユー
ザのPalm(登録商標)pilotを同期させるために、別ユ
ーザに自分のPalm(登録商標)pilotクレードル接続を
使用してほしいのであれば、装置エンジンは、全く異な
る装置のローカルアプリケーションオブジェクト格納部
を更新するために、データパッケージを生成することが
できる。したがって、アプリケーションオブジェクト格
納部は、全く異なる装置の同期を実現する場合の一時的
な格納部として用いられうる。
【0049】相違tエンジン900の出力は、格納サー
バ850に出力されるデータパッケージを備える。上述
したように、所定時間には、1つの装置エンジンのみを
格納サーバ850に接続すればよい。データパッケージ
は、別の装置エンジンにより格納サーバの特定一実施形
態としてに対する要求がなされるまで、格納サーバ85
0に格納されうる。同様に、デルタエンジン900は、
本発明のシステム内の同期されたデータへアクセスする
ために、格納サーバにおける別の位置を問い合わせるこ
とができる。格納サーバの領域に対するアクセスは、以
下にさらに具体的に説明するマネジメントサーバ(M
S)により制御される。一実施形態では、各同期動作時
には、装置を立証しかつ格納サーバにおける各装置のデ
ータパッケージの位置を装置エンジンを供給するため
に、各装置についての装置エンジンがマネジメントサー
バにログインすることが要求される。
バ850に出力されるデータパッケージを備える。上述
したように、所定時間には、1つの装置エンジンのみを
格納サーバ850に接続すればよい。データパッケージ
は、別の装置エンジンにより格納サーバの特定一実施形
態としてに対する要求がなされるまで、格納サーバ85
0に格納されうる。同様に、デルタエンジン900は、
本発明のシステム内の同期されたデータへアクセスする
ために、格納サーバにおける別の位置を問い合わせるこ
とができる。格納サーバの領域に対するアクセスは、以
下にさらに具体的に説明するマネジメントサーバ(M
S)により制御される。一実施形態では、各同期動作時
には、装置を立証しかつ格納サーバにおける各装置のデ
ータパッケージの位置を装置エンジンを供給するため
に、各装置についての装置エンジンがマネジメントサー
バにログインすることが要求される。
【0050】データパッケージは、ストリーミングフォ
ーマットの格納サーバより装置エンジンに効果的に供給
されるので、バンド幅の最小値および装置の格納部を用
いて、処理を発生させることができる。装置エンジン8
60および特にデルタモジュール950は、バージョン
情報およびアプリケーションオブジェクト格納部920
に存在する反映型データに基づいて、データパッケージ
を変換する。格納サーバ850からデルタモジュール9
50に対してデータが戻される際には、デルタモジュー
ルは、後にデルタ情報をアプリケーション810用に利
用される特定インターフェイスに変換する特定アプリケ
ーション用のアプリケーションオブジェクト910に対
して、相違データを戻す。装置エンジンは、一旦入力ス
トリームからの全データパッケージを完全に適用する
と、ローカルシステムになされた変更事項を記述した一
連のデータパッケージを生成する。装置エンジンは、最
新同期済バージョンの各アプリケーションの実データを
調査し続けるために、ローカルアプリケーションオブジ
ェクト格納部920を用いる。このデータは、この後、
次の同期要求時にデルタモジュールが次のデータを比較
する際に用いられる。発生したデータパッケージは、上
述したような不明瞭な事態を解決することに起因して生
成された、動作および暗号化変更事項を含む。
ーマットの格納サーバより装置エンジンに効果的に供給
されるので、バンド幅の最小値および装置の格納部を用
いて、処理を発生させることができる。装置エンジン8
60および特にデルタモジュール950は、バージョン
情報およびアプリケーションオブジェクト格納部920
に存在する反映型データに基づいて、データパッケージ
を変換する。格納サーバ850からデルタモジュール9
50に対してデータが戻される際には、デルタモジュー
ルは、後にデルタ情報をアプリケーション810用に利
用される特定インターフェイスに変換する特定アプリケ
ーション用のアプリケーションオブジェクト910に対
して、相違データを戻す。装置エンジンは、一旦入力ス
トリームからの全データパッケージを完全に適用する
と、ローカルシステムになされた変更事項を記述した一
連のデータパッケージを生成する。装置エンジンは、最
新同期済バージョンの各アプリケーションの実データを
調査し続けるために、ローカルアプリケーションオブジ
ェクト格納部920を用いる。このデータは、この後、
次の同期要求時にデルタモジュールが次のデータを比較
する際に用いられる。発生したデータパッケージは、上
述したような不明瞭な事態を解決することに起因して生
成された、動作および暗号化変更事項を含む。
【0051】図9Bには、サーバをベースとした装置エ
ンジンが本発明のシステムにどのような設けられるかが
描かれている。この実施形態で示すPalm(登録商標)の
例、ここでは、Palm(登録商標)装置が、インターネッ
トおよびサービスプロバイダのデータセンタ900に直
接接続できる能力を有する例が示されている。このデー
タセンタは、データセンタ900に存在するサーバとの
間で未許可の通信が行われるのを防止し、かつ、データ
の完全性を保護するために、ファイアウォール975を
含んでいる。格納サーバ850は、マネジメントサーバ
(MS)1410がそうであるように、ファイアウォー
ルを通して直接通信を行うことができる。この図には、
それぞれが1つの特定タイプのアプリケーションを同期
させる目的で設けられた、2つの同期サーバ982およ
び984が示されている。同期サーバ982はPalm(登
録商標)装置専用として設けられている一方、同期サー
バ980は、例えばポータルアプリケーション(ポータ
ル1)専用として設けられている。
ンジンが本発明のシステムにどのような設けられるかが
描かれている。この実施形態で示すPalm(登録商標)の
例、ここでは、Palm(登録商標)装置が、インターネッ
トおよびサービスプロバイダのデータセンタ900に直
接接続できる能力を有する例が示されている。このデー
タセンタは、データセンタ900に存在するサーバとの
間で未許可の通信が行われるのを防止し、かつ、データ
の完全性を保護するために、ファイアウォール975を
含んでいる。格納サーバ850は、マネジメントサーバ
(MS)1410がそうであるように、ファイアウォー
ルを通して直接通信を行うことができる。この図には、
それぞれが1つの特定タイプのアプリケーションを同期
させる目的で設けられた、2つの同期サーバ982およ
び984が示されている。同期サーバ982はPalm(登
録商標)装置専用として設けられている一方、同期サー
バ980は、例えばポータルアプリケーション(ポータ
ル1)専用として設けられている。
【0052】Palm(登録商標)装置804aは、そのデ
ータに対する変更事項を送信するメカニズムを含んでい
るので、データは、AOSにおけるデータに対する相違
計算および更新が実行された後に変更事項がPalm(登録
商標)804aにダウンロードされうるような同期サー
バ982に対して、ファイアウォール975を介したH
TTP要求および応答を用いて、送信されうる。
ータに対する変更事項を送信するメカニズムを含んでい
るので、データは、AOSにおけるデータに対する相違
計算および更新が実行された後に変更事項がPalm(登録
商標)804aにダウンロードされうるような同期サー
バ982に対して、ファイアウォール975を介したH
TTP要求および応答を用いて、送信されうる。
【0053】アプリケーションにおける同期サーバは、
ユーザのデータに対して同時に発生した同期を扱う。各
同期サーバは、実行可能な同一の同期サーバを用いて、
同期対象となる多数の装置に対するプラグインサポート
を含む。各装置タイプは、同期時にどのAO/AOS構
成要素を用いるのかを識別する独自の名前を有する。
ユーザのデータに対して同時に発生した同期を扱う。各
同期サーバは、実行可能な同一の同期サーバを用いて、
同期対象となる多数の装置に対するプラグインサポート
を含む。各装置タイプは、同期時にどのAO/AOS構
成要素を用いるのかを識別する独自の名前を有する。
【0054】同期サーバは、この同期サーバ内部の同期
相違エンジン、AOSおよびAOのような外部エンティ
ティに対してデータを送信する際、ならびに、この外部
エンティティから検索をする際に、汎用データレコード
の概念を用いる。よって、Palm(登録商標)アプリケー
ションでは、サーバAOの役割は、単に、装置特有のフ
ォーマットのレコードを獲得して汎用レコードフォーマ
ットに変換することである。
相違エンジン、AOSおよびAOのような外部エンティ
ティに対してデータを送信する際、ならびに、この外部
エンティティから検索をする際に、汎用データレコード
の概念を用いる。よって、Palm(登録商標)アプリケー
ションでは、サーバAOの役割は、単に、装置特有のフ
ォーマットのレコードを獲得して汎用レコードフォーマ
ットに変換することである。
【0055】同期サーバは、サードパーティのアプリケ
ーションパートナーが自分のサービスをサーバ内に容易
に追加できるように、プラグイン構造を有する。現在で
は、サーバがMicrosoft社のWindows(登録商標) NTサ
ーバ内で動作していれば、同期サーバは、Windows(登
録商標) NT レジストリを介して同期構成要素を発見
する。別の実施形態では、このような機能は、サーバに
おけるAOおよびAOSのそれぞれによる処理を維持す
るために、各同期サーバ上で動作するコンポーネントマ
ネージャ(Component Manager)で実行される。AOお
よびAOSのそれぞれは、初期化時またはコンポーネン
トマネージャを介して新しい構成要素を追加する際に同
期サーバがロードするスタンドアローンDLLとして実
行される。
ーションパートナーが自分のサービスをサーバ内に容易
に追加できるように、プラグイン構造を有する。現在で
は、サーバがMicrosoft社のWindows(登録商標) NTサ
ーバ内で動作していれば、同期サーバは、Windows(登
録商標) NT レジストリを介して同期構成要素を発見
する。別の実施形態では、このような機能は、サーバに
おけるAOおよびAOSのそれぞれによる処理を維持す
るために、各同期サーバ上で動作するコンポーネントマ
ネージャ(Component Manager)で実行される。AOお
よびAOSのそれぞれは、初期化時またはコンポーネン
トマネージャを介して新しい構成要素を追加する際に同
期サーバがロードするスタンドアローンDLLとして実
行される。
【0056】各同期サーバは、単一アプリケーション専
用なものとなっている様子が示されている。しかしなが
ら、同期サーバは、多数の装置タイプを扱うことができ
る。
用なものとなっている様子が示されている。しかしなが
ら、同期サーバは、多数の装置タイプを扱うことができ
る。
【0057】図9Bに示す実施形態では、装置タイプに
依存して、AOSおよびAOについて様々な構成がとら
れる。例えば、Palm(登録商標)AOデータ格納部10
50は、Palm(登録商標)装置804a自体に存在し、
個別AOSデータ格納部1052は、この構成(Oracle
データベース)のために存在する。ポータル1の場合に
は、AOSおよびAOはデータ格納部1054を用い
る。
依存して、AOSおよびAOについて様々な構成がとら
れる。例えば、Palm(登録商標)AOデータ格納部10
50は、Palm(登録商標)装置804a自体に存在し、
個別AOSデータ格納部1052は、この構成(Oracle
データベース)のために存在する。ポータル1の場合に
は、AOSおよびAOはデータ格納部1054を用い
る。
【0058】装置エンジンは、他のシステムにおける同
期問題を解決することを意図したデータパッケージを追
加生成することができる。例えば、競合解決モジュール
940との間でインターフェイスをとる際に、ユーザ
は、自分のPalm(登録商標)pilot上のアプリケーショ
ンオブジェクトにおける特定データ格納部に変更を施し
た後、自分のパーソナルコンピュータにおける個人情報
マネージャ(PIM)アプリケーションにさらに変更を
施す場合には、このユーザは、Δエンジンおよびバージ
ョン情報により2つの装置の間における競合が検出され
た際には、このパーソナルコンピュータになされる変更
が「勝つ(win)」ということを指定することができ
る。これは、本質的には、ある特定セットのデータが正
しいものであり、この特定セットのデータが第2セット
のデータに置き換わるということを定義している。
期問題を解決することを意図したデータパッケージを追
加生成することができる。例えば、競合解決モジュール
940との間でインターフェイスをとる際に、ユーザ
は、自分のPalm(登録商標)pilot上のアプリケーショ
ンオブジェクトにおける特定データ格納部に変更を施し
た後、自分のパーソナルコンピュータにおける個人情報
マネージャ(PIM)アプリケーションにさらに変更を
施す場合には、このユーザは、Δエンジンおよびバージ
ョン情報により2つの装置の間における競合が検出され
た際には、このパーソナルコンピュータになされる変更
が「勝つ(win)」ということを指定することができ
る。これは、本質的には、ある特定セットのデータが正
しいものであり、この特定セットのデータが第2セット
のデータに置き換わるということを定義している。
【0059】図10は、例えばMicrosoft社のWindows
(登録商標)をベースとしたオペレーティングシステム
環境で用いられるデスクトップ装置エンジンの一実施形
態を示す。Windows(登録商標)オペレーティングシス
テムは、同期を必要とする少なくとも3つの特定アプリ
ケーションを有する。図10では、システムは、ブック
マーク1021、連絡情報1022および電子メール1
023のようなデータを有するNetscape Communicator
アプリケーションと、連絡情報1024、日程情報10
25、電子メール情報1026、メモ情報1027およ
びタスク情報1028を含むMicrosoft社のOutlookアプ
リケーション1042と、お気に入りデータ1029、
ファイルシステム情報1030および個人情報1031
を含むWindows(登録商標)オペレーティングシステム
と、を備える。
(登録商標)をベースとしたオペレーティングシステム
環境で用いられるデスクトップ装置エンジンの一実施形
態を示す。Windows(登録商標)オペレーティングシス
テムは、同期を必要とする少なくとも3つの特定アプリ
ケーションを有する。図10では、システムは、ブック
マーク1021、連絡情報1022および電子メール1
023のようなデータを有するNetscape Communicator
アプリケーションと、連絡情報1024、日程情報10
25、電子メール情報1026、メモ情報1027およ
びタスク情報1028を含むMicrosoft社のOutlookアプ
リケーション1042と、お気に入りデータ1029、
ファイルシステム情報1030および個人情報1031
を含むWindows(登録商標)オペレーティングシステム
と、を備える。
【0060】各特定アプリケーション1040、104
2、1044は、関連したアプリケーションオブジェク
ト1010、1012、1014を有する。各アプリケ
ーションオブジェクトのそれぞれは、図9Aに示した装
置について上記のように説明した内容にかかるデルタモ
ジュールにより使用可能な包括的フォーマットとなって
いるデルタモジュール950に対して、データを戻す。
さらに、図10より、同一の特定サーバ上を起動するア
プリケーション間でデータを同期させるために、デルタ
モジュールをどのように利用できるかを理解できる。よ
って、装置エンジンは、例えばNetscapeからの連絡情報
1022とOutlookからの連絡情報1024との間でイ
ントラシステムの同期を行う。
2、1044は、関連したアプリケーションオブジェク
ト1010、1012、1014を有する。各アプリケ
ーションオブジェクトのそれぞれは、図9Aに示した装
置について上記のように説明した内容にかかるデルタモ
ジュールにより使用可能な包括的フォーマットとなって
いるデルタモジュール950に対して、データを戻す。
さらに、図10より、同一の特定サーバ上を起動するア
プリケーション間でデータを同期させるために、デルタ
モジュールをどのように利用できるかを理解できる。よ
って、装置エンジンは、例えばNetscapeからの連絡情報
1022とOutlookからの連絡情報1024との間でイ
ントラシステムの同期を行う。
【0061】図10は、さらに、1つの装置上で起動す
る全アプリケーションを一体化するべくこの1つの装置
に提供すべき任意数の様々なアプリケーションオブジェ
クトを、装置エンジンに含ませることを可能とする、本
発明のシステムのモジュラリティを示している。動作時
には、特定システムに装置エンジンをインストールする
間において、インストールプログラムは、所定システム
に存在しうるアプリケーションオブジェクトを提供する
ように調整される。例えば、Windows(登録商標)マシ
ーン用のインストールプログラムは、Windows(登録商
標)マシーンに存在しうるシステムおよびアプリケーシ
ョン用の任意数のアプリケーションオブジェクトを持っ
ている。このインストーラは、所定アプリケーションが
存在しているかをチェックする。また、このインストー
ラによって、ユーザは、このインストーラが有している
アプリケーションオブジェクトによるアプリケーション
サポート用の通常のデフォルトインストール領域ではな
い場所にインストールされうる付加的なアプリケーショ
ン、または、理由はどうであれ、ユーザがアプリケーシ
ョンオブジェクトをインストールしたくないものであっ
て、かつ、本発明のシステムの一部を明け渡したくない
ような非選択の所定アプリケーションを追加することが
できる。
る全アプリケーションを一体化するべくこの1つの装置
に提供すべき任意数の様々なアプリケーションオブジェ
クトを、装置エンジンに含ませることを可能とする、本
発明のシステムのモジュラリティを示している。動作時
には、特定システムに装置エンジンをインストールする
間において、インストールプログラムは、所定システム
に存在しうるアプリケーションオブジェクトを提供する
ように調整される。例えば、Windows(登録商標)マシ
ーン用のインストールプログラムは、Windows(登録商
標)マシーンに存在しうるシステムおよびアプリケーシ
ョン用の任意数のアプリケーションオブジェクトを持っ
ている。このインストーラは、所定アプリケーションが
存在しているかをチェックする。また、このインストー
ラによって、ユーザは、このインストーラが有している
アプリケーションオブジェクトによるアプリケーション
サポート用の通常のデフォルトインストール領域ではな
い場所にインストールされうる付加的なアプリケーショ
ン、または、理由はどうであれ、ユーザがアプリケーシ
ョンオブジェクトをインストールしたくないものであっ
て、かつ、本発明のシステムの一部を明け渡したくない
ような非選択の所定アプリケーションを追加することが
できる。
【0062】インターネットで実行される同期システム
において安全性を確保し特定ユーザの識別を行うため
に、マネジメントサーバが本発明のシステムに設けられ
る。このマネジメントサーバは、全ユーザにわたって、
装置エンジンのネットワーク全体の作用および特性を制
御する集中型サーバである。
において安全性を確保し特定ユーザの識別を行うため
に、マネジメントサーバが本発明のシステムに設けられ
る。このマネジメントサーバは、全ユーザにわたって、
装置エンジンのネットワーク全体の作用および特性を制
御する集中型サーバである。
【0063】図14は、本発明の一システムに統合され
るマネジメントサーバ1410の概略図を示す。また、
図14には、マネジメントサーバ1410、格納サーバ
1415および包括的FTPサーバ1420のすべてに
対するHTTPリンクを有している装置エンジンの一例
が示されている。本発明の処理および図15から図17
に示すデータの特定インプリメンテーションを参照して
後に説明するように、マネジメントサーバは、装置エン
ジンとの間で相互に作用して、格納サーバ、すなわち、
本発明のシステムにかかる装置に特化した情報格納部1
430にアクセスするための包括的FTPサーバ142
0、1425における情報に対する許可されたアクセス
を制御する。これにより、インターネットに接続されて
いる任意の装置は、マネジメントプロトコルに対してア
クセスすることができ、かつ、本発明のシステムにより
同期されているデータがアクセスする必要のある、全プ
ラットフォームにわたるユーザ情報を保持することがで
きる。マネジメントサーバは、好ましくは、安全性を確
保するために、SSL(secure socket layer)を用い
て実行されうるハイパーテキスト転送プロトコル(HT
TP)を用いて、通信を行う。マネジメントサーバは、
同期の実行前に、各装置エンジンにこのマネジメントサ
ーバを用いて認証させる必要のある、認証インターフェ
イスをサポートする。所定の格納サーバを使用する際に
は、多数の装置エンジン用の格納部に対する読み込みお
よび書き込みアクセスを制御するために、ロッキング意
味論(Locking semantics)を利用することができる。
例えば、包括的なFTP要求では、2つの装置エンジン
が同一データに対して同時に接続しようとした場合、同
一データに対して同時にアクセスする装置エンジンを妨
げるためには、ある形式のロッキング制御がなければな
らない。この場合には、マネジメントサーバは、装置エ
ンジンの取得および更新、ならびに、ネットワークに格
納されたデータに対するロックの解除を制御する。
るマネジメントサーバ1410の概略図を示す。また、
図14には、マネジメントサーバ1410、格納サーバ
1415および包括的FTPサーバ1420のすべてに
対するHTTPリンクを有している装置エンジンの一例
が示されている。本発明の処理および図15から図17
に示すデータの特定インプリメンテーションを参照して
後に説明するように、マネジメントサーバは、装置エン
ジンとの間で相互に作用して、格納サーバ、すなわち、
本発明のシステムにかかる装置に特化した情報格納部1
430にアクセスするための包括的FTPサーバ142
0、1425における情報に対する許可されたアクセス
を制御する。これにより、インターネットに接続されて
いる任意の装置は、マネジメントプロトコルに対してア
クセスすることができ、かつ、本発明のシステムにより
同期されているデータがアクセスする必要のある、全プ
ラットフォームにわたるユーザ情報を保持することがで
きる。マネジメントサーバは、好ましくは、安全性を確
保するために、SSL(secure socket layer)を用い
て実行されうるハイパーテキスト転送プロトコル(HT
TP)を用いて、通信を行う。マネジメントサーバは、
同期の実行前に、各装置エンジンにこのマネジメントサ
ーバを用いて認証させる必要のある、認証インターフェ
イスをサポートする。所定の格納サーバを使用する際に
は、多数の装置エンジン用の格納部に対する読み込みお
よび書き込みアクセスを制御するために、ロッキング意
味論(Locking semantics)を利用することができる。
例えば、包括的なFTP要求では、2つの装置エンジン
が同一データに対して同時に接続しようとした場合、同
一データに対して同時にアクセスする装置エンジンを妨
げるためには、ある形式のロッキング制御がなければな
らない。この場合には、マネジメントサーバは、装置エ
ンジンの取得および更新、ならびに、ネットワークに格
納されたデータに対するロックの解除を制御する。
【0064】各装置エンジンは、マネジメントサーバに
より、個別に識別され調査される。これにより、マネジ
メントサーバと、特定タイプの格納システムおよび装置
エンジン構成要素との間における調整作用が考慮され
る。装置エンジン構成要素のすべては、タグが付けら
れ、かつ、マネジメントサーバを介してマネジメントに
対するバージョンが付与される。
より、個別に識別され調査される。これにより、マネジ
メントサーバと、特定タイプの格納システムおよび装置
エンジン構成要素との間における調整作用が考慮され
る。装置エンジン構成要素のすべては、タグが付けら
れ、かつ、マネジメントサーバを介してマネジメントに
対するバージョンが付与される。
【0065】装置を実行させることにより、各装置エン
ジン構成要素の更新済コピーを要求して、装置エンジン
システムの自己更新および再構成を行うことができる。
これにより、後に付加的に要求された構成要素を装置エ
ンジンがダウンロードすることを可能とする低バンド幅
接続がなされた装置エンジンに対して、最小限のダウン
ロードをデザインすることができる。
ジン構成要素の更新済コピーを要求して、装置エンジン
システムの自己更新および再構成を行うことができる。
これにより、後に付加的に要求された構成要素を装置エ
ンジンがダウンロードすることを可能とする低バンド幅
接続がなされた装置エンジンに対して、最小限のダウン
ロードをデザインすることができる。
【0066】システムのさらに別の態様では、マネジメ
ントサーバがクライアントの広告メカニズムをサポート
できるような場所に、付加価値構成要素が設けられてい
るので、ウェブブラウザを必要とすることなく、装置エ
ンジンシステム上にバナーまたは同様の広告を表示する
ことができる。広告、統計収集およびこれらと同等なも
のを循環させることおは、マネジメントサーバのプロト
コルを介して処理される。オンライン購入および購読メ
カニズムもまた、マネジメントサーバのプロトコルを用
いてサポートされる。
ントサーバがクライアントの広告メカニズムをサポート
できるような場所に、付加価値構成要素が設けられてい
るので、ウェブブラウザを必要とすることなく、装置エ
ンジンシステム上にバナーまたは同様の広告を表示する
ことができる。広告、統計収集およびこれらと同等なも
のを循環させることおは、マネジメントサーバのプロト
コルを介して処理される。オンライン購入および購読メ
カニズムもまた、マネジメントサーバのプロトコルを用
いてサポートされる。
【0067】マネジメントサーバは、さらに、システム
における各ユーザに対して、アカウンティング、サイン
アップ登録、装置の編集(device selection)、格納サ
ーバの選択(storage server selection)および同様な
機能をサポートしている。一実施形態では、マネジメン
トサーバは、所定ユーザのアカウントについて、パスワ
ード情報および暗号情報を保持することができる。第2
実施形態では、このような情報は保持されない。この第
2実施形態によれば、マネジメントサーバを維持装置が
ユーザのアカウントにおけるデータにアクセスするため
のパスワードを保持していなければ、ユーザがさらに安
心感を持つことができる、という有利な点がもたらされ
る。
における各ユーザに対して、アカウンティング、サイン
アップ登録、装置の編集(device selection)、格納サ
ーバの選択(storage server selection)および同様な
機能をサポートしている。一実施形態では、マネジメン
トサーバは、所定ユーザのアカウントについて、パスワ
ード情報および暗号情報を保持することができる。第2
実施形態では、このような情報は保持されない。この第
2実施形態によれば、マネジメントサーバを維持装置が
ユーザのアカウントにおけるデータにアクセスするため
のパスワードを保持していなければ、ユーザがさらに安
心感を持つことができる、という有利な点がもたらされ
る。
【0068】さらに、マネジメントサーバに関連する情
報、および、マネジメントサーバから本発明のシステム
における他の構成要素に対するデータのフローについて
は、図15から図17に示す処理フロー図およびデータ
フロー図を説明することにより明らかとなる。
報、および、マネジメントサーバから本発明のシステム
における他の構成要素に対するデータのフローについて
は、図15から図17に示す処理フロー図およびデータ
フロー図を説明することにより明らかとなる。
【0069】図17は、データフローの概略図および本
発明に基づいて用いられるマネジメントサーバの機能的
仕様を示す。
発明に基づいて用いられるマネジメントサーバの機能的
仕様を示す。
【0070】図17に示すように、ウェルカム要求17
10に引き続いて、ユーザは、追加ユーザモジュール1
712を使用可能(イネーブル)にし、この後、追加装
置モジュール1714を使用可能(イネーブル)にする
サインアウトを行うことが許される。サインアップが要
求されなければ、情報は、モジュール1718を介して
供給される。
10に引き続いて、ユーザは、追加ユーザモジュール1
712を使用可能(イネーブル)にし、この後、追加装
置モジュール1714を使用可能(イネーブル)にする
サインアウトを行うことが許される。サインアップが要
求されなければ、情報は、モジュール1718を介して
供給される。
【0071】図17に示すように、追加ユーザモジュー
ル1712は、装置データベース1750におけるユー
ザに対してユーザレコードを追加する。そのうえ、追加
装置モジュール1714は、ユーザ装置データベース1
750に対してユーザおよび装置を追加する。装置リス
ト1720、ならびに、装置エンジンダウンロードおよ
び更新データベース1722は、追加装置モジュール1
714に対して選択データを供給する。アカウント認証
モジュール1724は、1710におけるウェルカムス
クリーンでのユーザログイン、および、追加装置モジュ
ール1714の両方からの直接入力を受信する。
ル1712は、装置データベース1750におけるユー
ザに対してユーザレコードを追加する。そのうえ、追加
装置モジュール1714は、ユーザ装置データベース1
750に対してユーザおよび装置を追加する。装置リス
ト1720、ならびに、装置エンジンダウンロードおよ
び更新データベース1722は、追加装置モジュール1
714に対して選択データを供給する。アカウント認証
モジュール1724は、1710におけるウェルカムス
クリーンでのユーザログイン、および、追加装置モジュ
ール1714の両方からの直接入力を受信する。
【0072】一旦アカウントが認証および確認される
と、1770における私用データ格納部を有する本発明
のシステムの管理者は、ファイル1756、電子メール
1758、カレンダー1760、連絡情報1762、メ
モ1764およびタスク1766のようなユーザのレコ
ードに対してアクセスすることができるウェブデスクト
ップ1754の提供を選択することができる。情報は、
上述したような本発明のシステムに基づいて同期するプ
ロバイダーデータベース1752から選別される。本質
的には、プロバイダデータベース1752は、上述した
ような、格納サーバと、各装置エンジン1785と、設
定データベース1787とを含む装置エンジン1780
からのデータに対してアクセスする。
と、1770における私用データ格納部を有する本発明
のシステムの管理者は、ファイル1756、電子メール
1758、カレンダー1760、連絡情報1762、メ
モ1764およびタスク1766のようなユーザのレコ
ードに対してアクセスすることができるウェブデスクト
ップ1754の提供を選択することができる。情報は、
上述したような本発明のシステムに基づいて同期するプ
ロバイダーデータベース1752から選別される。本質
的には、プロバイダデータベース1752は、上述した
ような、格納サーバと、各装置エンジン1785と、設
定データベース1787とを含む装置エンジン1780
からのデータに対してアクセスする。
【0073】マネジメントサーバの別の部分には、同期
を開始し(1732)、同期をカウントし(173
4)、同期を終了させ(1736)るためのロッキング
モジュールと、ユーザを変更し(1742)、装置を追
加し(1744)、装置を除去し(1746)および装
置を変更(1748)することを含んだ、ユーザ情報を
更新するためのロッキングモジュールと、が含まれる。
を開始し(1732)、同期をカウントし(173
4)、同期を終了させ(1736)るためのロッキング
モジュールと、ユーザを変更し(1742)、装置を追
加し(1744)、装置を除去し(1746)および装
置を変更(1748)することを含んだ、ユーザ情報を
更新するためのロッキングモジュールと、が含まれる。
【0074】図14には、格納サーバ1415の一例が
示されている。格納サーバは、本発明に基づいて、任意
数の標準インターネットプロトコルによってアクセス可
能な包括的格納モデルを含む一方、本発明のシステムを
様々な方法で標準的に実行させることが可能なフレキシ
ブル格納構造が設けられている。これにより、新しいサ
ーバアプリケーションをインストールすることなく、ネ
ットワークサービスを実現することができるとともに、
多数の装置エンジンの間における変更情報を矛盾のない
方法で通信することが可能となる。
示されている。格納サーバは、本発明に基づいて、任意
数の標準インターネットプロトコルによってアクセス可
能な包括的格納モデルを含む一方、本発明のシステムを
様々な方法で標準的に実行させることが可能なフレキシ
ブル格納構造が設けられている。これにより、新しいサ
ーバアプリケーションをインストールすることなく、ネ
ットワークサービスを実現することができるとともに、
多数の装置エンジンの間における変更情報を矛盾のない
方法で通信することが可能となる。
【0075】1つ以上の格納サーバ1415は、装置の
収集の間でトランザクションを通信するために用いられ
うる。ユーザの個人情報ネットワークのそれぞれは、そ
のネットワーク各自のデータパッケージ格納部内の固有
アカウントにより表される。格納サーバ1415は、デ
ータパッケージの継続性(persistent)格納収集を保持
する。この格納収集は、最低でも、ユーザの所定情報ネ
ットワークにおける最も旧式なシステムを同期させるこ
とができる程度に十分なデータパッケージであるか、ま
たは、ネットワークに供給される新しい装置に情報を追
加することができる程度に十分なデータパッケージであ
る。付加的なデータパッケージは、前バージョンの情報
をロールバックすることができるように維持されうる。
格納サーバは、自動的に、古い方のデータパッケージの
記憶を処分し、使われていないアカウントの経年変化を
サポートする。
収集の間でトランザクションを通信するために用いられ
うる。ユーザの個人情報ネットワークのそれぞれは、そ
のネットワーク各自のデータパッケージ格納部内の固有
アカウントにより表される。格納サーバ1415は、デ
ータパッケージの継続性(persistent)格納収集を保持
する。この格納収集は、最低でも、ユーザの所定情報ネ
ットワークにおける最も旧式なシステムを同期させるこ
とができる程度に十分なデータパッケージであるか、ま
たは、ネットワークに供給される新しい装置に情報を追
加することができる程度に十分なデータパッケージであ
る。付加的なデータパッケージは、前バージョンの情報
をロールバックすることができるように維持されうる。
格納サーバは、自動的に、古い方のデータパッケージの
記憶を処分し、使われていないアカウントの経年変化を
サポートする。
【0076】各格納サーバ1415は、任意のオペレー
ティングシステムプラットフォーム用の標準FTPサー
バを含む様々なインプリメンテーションを用いて実現さ
れうる。格納サーバは、効率を向上させかつファイアウ
ォールを避けるためのHTTPプロトコルを用いて実現
されうる。格納サーバは、データベースアクセスまたは
ユーザの全ファイルシステムツリーの単一ファイル記憶
のようなローカル記憶用の技術を用いて実現されうる。
格納サーバ1415は、データパッケージのコピーをシ
ステムにおける別の格納サーバに移動させるための、格
納された外部プロトコルモデルを用いることができる。
一実施形態では、格納サーバは、ファイアウォールが親
プロトコル(originating protocol)を妨げるような場
合には、他の格納サーバに対して別のプロトコルを用い
ることにより、情報のトンネリング(tunneling)を可
能とする。例えば、格納サーバは、HTTPプロトコル
内部のFTPトラフィックを中継することができる。格
納サーバは、別々のマネジメントサーバを必要とせず
に、同一のサーバに対する多数の装置エンジンによるア
クセスを仲裁するために、各自のロッキング意味論を含
むことができる。たとえ格納サーバ1415が非常に多
くのユーザにわたる大量のデータパッケージを保持する
ことができても、各装置エンジンは、特定ユーザのデー
タパッケージ記憶領域のみに対してアクセスすることが
可能である。これにより、ファイルシステム技術を用い
て格納サーバが実現される際には、増加した位取り(sc
aling)を考慮することができる。
ティングシステムプラットフォーム用の標準FTPサー
バを含む様々なインプリメンテーションを用いて実現さ
れうる。格納サーバは、効率を向上させかつファイアウ
ォールを避けるためのHTTPプロトコルを用いて実現
されうる。格納サーバは、データベースアクセスまたは
ユーザの全ファイルシステムツリーの単一ファイル記憶
のようなローカル記憶用の技術を用いて実現されうる。
格納サーバ1415は、データパッケージのコピーをシ
ステムにおける別の格納サーバに移動させるための、格
納された外部プロトコルモデルを用いることができる。
一実施形態では、格納サーバは、ファイアウォールが親
プロトコル(originating protocol)を妨げるような場
合には、他の格納サーバに対して別のプロトコルを用い
ることにより、情報のトンネリング(tunneling)を可
能とする。例えば、格納サーバは、HTTPプロトコル
内部のFTPトラフィックを中継することができる。格
納サーバは、別々のマネジメントサーバを必要とせず
に、同一のサーバに対する多数の装置エンジンによるア
クセスを仲裁するために、各自のロッキング意味論を含
むことができる。たとえ格納サーバ1415が非常に多
くのユーザにわたる大量のデータパッケージを保持する
ことができても、各装置エンジンは、特定ユーザのデー
タパッケージ記憶領域のみに対してアクセスすることが
可能である。これにより、ファイルシステム技術を用い
て格納サーバが実現される際には、増加した位取り(sc
aling)を考慮することができる。
【0077】一態様として、格納サーバは、各動作につ
いて標準FTPまたはHTTP接続を用いて実現され
る。HTTPは、要求と応答とをペアで備えている。す
べての要求はコマンドを通知することになっている。パ
ラメータは、"application/X-www-form-URLENCODED"の
ような一般的な形式で設定されうる。符号化はRFC1
866に明記されている。格納サーバ用の機能は、格納
サーバがシンプルテキスト列を検索する他のユーザにた
どり着くことができるかどうかをテストすることと、バ
イナリストリームの副次物に存在するようなファイルの
内容を転送する"get"コマンドと、格納サーバに対する
バイナリストリームのデータのようなputコマンドと、
ディレクトリリスティングコマンドと、削除コマンド
と、改名コマンドと、存在するコマンドと、これらと同
等のコマンドと、を含む。
いて標準FTPまたはHTTP接続を用いて実現され
る。HTTPは、要求と応答とをペアで備えている。す
べての要求はコマンドを通知することになっている。パ
ラメータは、"application/X-www-form-URLENCODED"の
ような一般的な形式で設定されうる。符号化はRFC1
866に明記されている。格納サーバ用の機能は、格納
サーバがシンプルテキスト列を検索する他のユーザにた
どり着くことができるかどうかをテストすることと、バ
イナリストリームの副次物に存在するようなファイルの
内容を転送する"get"コマンドと、格納サーバに対する
バイナリストリームのデータのようなputコマンドと、
ディレクトリリスティングコマンドと、削除コマンド
と、改名コマンドと、存在するコマンドと、これらと同
等のコマンドと、を含む。
【0078】図15は、本発明にかかる「プル(pul
l)」同期処理を表現している。図15に示すプル同期
および図16に示すプッシュ同期の両方は、装置エンジ
ンの観点から実行される。図15に示したようなプル同
期は、好ましくは、プッシュ同期の前に実行される。こ
れにより、装置エンジンは、独自のデータを同期させる
必要があるか否かを認識することができる。
l)」同期処理を表現している。図15に示すプル同期
および図16に示すプッシュ同期の両方は、装置エンジ
ンの観点から実行される。図15に示したようなプル同
期は、好ましくは、プッシュ同期の前に実行される。こ
れにより、装置エンジンは、独自のデータを同期させる
必要があるか否かを認識することができる。
【0079】各装置は、同期を開始するための独自のト
リガメカニズムを有する。Windows(登録商標)のクラ
イアントおよびPalm(登録商標)pilotのようないくつ
かの装置は、ユーザが「同期」ボタンを押圧した際に手
動によりトリガされる。携帯電話のような他の装置は、
他の装置が同期を完了させた後に、自動的にトリガされ
る。規則的なタイムベーストリガも同様にサポートされ
る。ウェブをベースにしたアプリケーションポータル
は、ユーザがウェブサイト安全性認証メカニズムにログ
インする際に同期し、選択的には、ユーザのログアウト
またはセッションタイムアウトにより同期を行うことも
できるが、これは、そのユーザがセッションの間におい
てデータを変更した場合に限られる。各同期について、
トリガが発生した場合には、どのアプリケーションタイ
プが装置のために同期を行うべきかが指定される。これ
により、トリガの発生により、特定アプリケーションタ
イプのための同期のみがトリガされうる。マネジメント
サーバは、格納サーバに対するトラフィックを最小化す
るために、特定タイプのアプリケーションに対する同期
が必要でないことを指定することができる。同期はサー
バに対するHTTP要求によりトリガされうる。この要
求は、どの装置が同期の対象となるのかについての情
報、ならびに、認証および確認(validation)用のマネ
ジメントサーバに送られるユーザログイン情報を保持し
ている。HTTP要求をサーバに対して送信し、この要
求のデータ部分における認証情報をマネジメントサーバ
に対して送信することにより、同期がトリガされる。各
装置は、サーバに対して同期要求を出す前に、要求を検
索しこの要求の適切なフォーマットを確保することを担
うservletを含む。
リガメカニズムを有する。Windows(登録商標)のクラ
イアントおよびPalm(登録商標)pilotのようないくつ
かの装置は、ユーザが「同期」ボタンを押圧した際に手
動によりトリガされる。携帯電話のような他の装置は、
他の装置が同期を完了させた後に、自動的にトリガされ
る。規則的なタイムベーストリガも同様にサポートされ
る。ウェブをベースにしたアプリケーションポータル
は、ユーザがウェブサイト安全性認証メカニズムにログ
インする際に同期し、選択的には、ユーザのログアウト
またはセッションタイムアウトにより同期を行うことも
できるが、これは、そのユーザがセッションの間におい
てデータを変更した場合に限られる。各同期について、
トリガが発生した場合には、どのアプリケーションタイ
プが装置のために同期を行うべきかが指定される。これ
により、トリガの発生により、特定アプリケーションタ
イプのための同期のみがトリガされうる。マネジメント
サーバは、格納サーバに対するトラフィックを最小化す
るために、特定タイプのアプリケーションに対する同期
が必要でないことを指定することができる。同期はサー
バに対するHTTP要求によりトリガされうる。この要
求は、どの装置が同期の対象となるのかについての情
報、ならびに、認証および確認(validation)用のマネ
ジメントサーバに送られるユーザログイン情報を保持し
ている。HTTP要求をサーバに対して送信し、この要
求のデータ部分における認証情報をマネジメントサーバ
に対して送信することにより、同期がトリガされる。各
装置は、サーバに対して同期要求を出す前に、要求を検
索しこの要求の適切なフォーマットを確保することを担
うservletを含む。
【0080】装置の名前および装置のクラスは、同期さ
れている特定の装置タイプを独自に識別し、マネジメン
トサーバに含まれている。各ユーザは、マネジメントサ
ーバ認証レコードにおいて1つ以上の装置エンティティ
を有しており、各装置の名前は、このユーザの空間にお
いて固有なものとなっている。例えば、ユーザが自分の
個人識別番号を持った5つの装置を持っている場合、5
つの認証レコードが存在する。これらは、2つのWindow
s(登録商標)装置、2つの異なるPalm(登録商標)装
置、1つのウェブサービスポータルであるかもしれない
が、これらはそれぞれ、独自の個人識別番号を有してい
る。
れている特定の装置タイプを独自に識別し、マネジメン
トサーバに含まれている。各ユーザは、マネジメントサ
ーバ認証レコードにおいて1つ以上の装置エンティティ
を有しており、各装置の名前は、このユーザの空間にお
いて固有なものとなっている。例えば、ユーザが自分の
個人識別番号を持った5つの装置を持っている場合、5
つの認証レコードが存在する。これらは、2つのWindow
s(登録商標)装置、2つの異なるPalm(登録商標)装
置、1つのウェブサービスポータルであるかもしれない
が、これらはそれぞれ、独自の個人識別番号を有してい
る。
【0081】図15に示すように、プル同期処理は、上
述したトリガの発生が同期要求をトリガする際に、アイ
ドル状態1405で開始する。同期要求は1410で確
認され、この要求が照合されれば、工程1415におい
て格納サーバに対する接続がなされる。一旦接続が確立
されると、マネジメントサーバを介してユーザ識別を認
証するために、工程1420においてマネジメントサー
バに対する接続がなされる。認証が成功すると、マネジ
メントサーバは、競合する装置エンジンが同一データに
対して同時に接続することができないように、格納サー
バにおいてマネジメントサーバロックを開始する。工程
1410−1425のどこかで失敗が生ずると、システ
ムはアイドル状態1405に戻る。一旦エンジンサーバ
ロックが必要になると、格納サーバ上に新バージョンの
データが存在するか否かを決定するために、格納サーバ
は工程1430においてチェックされる。新バージョン
が存在しなければ、同期処理は終了する。
述したトリガの発生が同期要求をトリガする際に、アイ
ドル状態1405で開始する。同期要求は1410で確
認され、この要求が照合されれば、工程1415におい
て格納サーバに対する接続がなされる。一旦接続が確立
されると、マネジメントサーバを介してユーザ識別を認
証するために、工程1420においてマネジメントサー
バに対する接続がなされる。認証が成功すると、マネジ
メントサーバは、競合する装置エンジンが同一データに
対して同時に接続することができないように、格納サー
バにおいてマネジメントサーバロックを開始する。工程
1410−1425のどこかで失敗が生ずると、システ
ムはアイドル状態1405に戻る。一旦エンジンサーバ
ロックが必要になると、格納サーバ上に新バージョンの
データが存在するか否かを決定するために、格納サーバ
は工程1430においてチェックされる。新バージョン
が存在しなければ、同期処理は終了する。
【0082】新バージョンのデータが存在すれば、装置
エンジンは、工程1435において、相違情報"o get
Δ"を検索する。
エンジンは、工程1435において、相違情報"o get
Δ"を検索する。
【0083】一旦Δが検索されると、競合は工程145
0において解決される。競合解決工程によって、ユーザ
は、装置のサーバ部分およびローカルデータの両方に対
して変更がなされている多数のタイプのデータに対する
競合を解決することができる。
0において解決される。競合解決工程によって、ユーザ
は、装置のサーバ部分およびローカルデータの両方に対
して変更がなされている多数のタイプのデータに対する
競合を解決することができる。
【0084】一旦競合が工程1450において解決され
ると、Δ'sが工程1455で付与される。Δ付与工程1
455は、フィルタおよびマッピングがシステムのロー
カル装置エンジン側に報告されるようにする。工程14
60、1465、1470および1475に示すよう
に、Δは、アイテムレベル1460、アプリケーション
レベル1465、装置レベル1470、または、ネット
ワークレベル1475における更新を含む。上述した工
程のそれぞれにおいて、Δ検索工程1435へ戻るルー
プが設けられている。もはやΔ'sが利用可能でなけれ
ば、マネジメントサーバロックは、工程1440におい
て解除される。
ると、Δ'sが工程1455で付与される。Δ付与工程1
455は、フィルタおよびマッピングがシステムのロー
カル装置エンジン側に報告されるようにする。工程14
60、1465、1470および1475に示すよう
に、Δは、アイテムレベル1460、アプリケーション
レベル1465、装置レベル1470、または、ネット
ワークレベル1475における更新を含む。上述した工
程のそれぞれにおいて、Δ検索工程1435へ戻るルー
プが設けられている。もはやΔ'sが利用可能でなけれ
ば、マネジメントサーバロックは、工程1440におい
て解除される。
【0085】図16は、本発明のシステムおよび方法に
かかるプッシュ同期の一例を示す。アイドル状態150
5から始まって、工程1510で確認されれば同期が発
生し、工程1515においてΔ'sがチェックされる。ど
のタイプの変更事項が発生したかによって、ネットワー
クΔ1520、装置Δ1525、場所Δ1530または
アイテムΔ1535が生成される。
かかるプッシュ同期の一例を示す。アイドル状態150
5から始まって、工程1510で確認されれば同期が発
生し、工程1515においてΔ'sがチェックされる。ど
のタイプの変更事項が発生したかによって、ネットワー
クΔ1520、装置Δ1525、場所Δ1530または
アイテムΔ1535が生成される。
【0086】一旦所定アプリケーションに対してΔ'sが
生成されると、本発明にかかる方法は、格納サーバに対
する接続を可能にする工程1540にとどまる。格納サ
ーバに対する接続がなされている際には、システムにお
けるユーザを認証するために、マネジメントサーバ15
45に対してさらなる接続が発生しうる。上述した時点
のどこかで失敗が生ずると、処理はアイドル状態150
5に戻ることになる。認証時には、マネジメントサーバ
ロックは、多数の装置エンジンが同一データに対して同
時に接続することのないように、イネーブルとされる。
生成されると、本発明にかかる方法は、格納サーバに対
する接続を可能にする工程1540にとどまる。格納サ
ーバに対する接続がなされている際には、システムにお
けるユーザを認証するために、マネジメントサーバ15
45に対してさらなる接続が発生しうる。上述した時点
のどこかで失敗が生ずると、処理はアイドル状態150
5に戻ることになる。認証時には、マネジメントサーバ
ロックは、多数の装置エンジンが同一データに対して同
時に接続することのないように、イネーブルとされる。
【0087】一旦工程1555でロックがかけられる
と、Δ'sがシステムにアップロードされる。図示してい
るように、この工程1555は、アイテムΔ1575お
よびアプリケーションΔ1570をアップロードするこ
と、装置Δ1565またはネットワークΔ1560をア
ップロードすることを含む。一旦Δ'sがサーバにアップ
ロードされてしまうと、マネジメントロックサーバ15
80が解放され、格納サーバに対する接続が工程158
5において終了する。
と、Δ'sがシステムにアップロードされる。図示してい
るように、この工程1555は、アイテムΔ1575お
よびアプリケーションΔ1570をアップロードするこ
と、装置Δ1565またはネットワークΔ1560をア
ップロードすることを含む。一旦Δ'sがサーバにアップ
ロードされてしまうと、マネジメントロックサーバ15
80が解放され、格納サーバに対する接続が工程158
5において終了する。
【0088】このようなプッシュ同期は、サーバに直接
発生する必要はないが、図1から図7に示した本発明の
多数の実施形態で説明した内容にかかる第2の装置エン
ジンに直接生じうる。
発生する必要はないが、図1から図7に示した本発明の
多数の実施形態で説明した内容にかかる第2の装置エン
ジンに直接生じうる。
【0089】一旦汎用データフォーマットに情報が供給
されると、装置エンジンはこのフォーマットをデータパ
ッケージ内に編成する。これにより、各データパッケー
ジは、特定アプリケーションについての任意かつすべて
の情報に対する変更事項の記述を含み、データパッケー
ジの収集によって、あらゆる異なるタイプのデータを含
む全装置エンジンにわたる変更事項を記述される。暗号
化および圧縮化に伴って、データパッケージは非常にコ
ンパクトなものとなるので、本発明のシステムにわたっ
てバンド幅および記憶必要条件を最小にすることができ
る。
されると、装置エンジンはこのフォーマットをデータパ
ッケージ内に編成する。これにより、各データパッケー
ジは、特定アプリケーションについての任意かつすべて
の情報に対する変更事項の記述を含み、データパッケー
ジの収集によって、あらゆる異なるタイプのデータを含
む全装置エンジンにわたる変更事項を記述される。暗号
化および圧縮化に伴って、データパッケージは非常にコ
ンパクトなものとなるので、本発明のシステムにわたっ
てバンド幅および記憶必要条件を最小にすることができ
る。
【0090】本発明の一特定態様として、データパッケ
ージを暗号化することは、ストリーミングフォーマット
に設けられうるので、装置エンジンレベルで、最小限の
記憶容量およびメモリ構成を有する装置エンジンによる
処理を可能とする。
ージを暗号化することは、ストリーミングフォーマット
に設けられうるので、装置エンジンレベルで、最小限の
記憶容量およびメモリ構成を有する装置エンジンによる
処理を可能とする。
【0091】装置エンジンは、ストリームを読み込み、
この装置エンジンが設けられているシステムに存在する
特定情報を更新するために、この装置エンジンがどのア
プリケーションのどのレコードが必要であるのかを、決
定する。
この装置エンジンが設けられているシステムに存在する
特定情報を更新するために、この装置エンジンがどのア
プリケーションのどのレコードが必要であるのかを、決
定する。
【0092】データパッケージは、バイナリデータフォ
ーマットで供給されうる。これにより、データパッケー
ジは、バイトレベルで非アプリケーションデータに対す
る変更事項を暗号化することができる。よって、システ
ムにおける単一ビットが変更した場合、本発明のシステ
ムは、別のシステムにおけるそのビットを同期させるこ
とができる。変更事項は、一連のバイトレベル変更動作
として、記述される。このような暗号化の1つは、一連
の挿入およびコピー動作を用いている。挿入およびコピ
ーの動作は、通常、ソースファイルから多くのバイトを
特定の方法により「挿入する」こと、次いで、変更され
たソースをどれくらいのバイトだけ特定ファイルに挿入
しなくてはならないのか、次いで、特定の新ファイルか
らどれくらいのバイトだけ挿入するのか、を定めている
ので、相違エンジンは、ストリームの中からバイトを取
りだし、この取り出したバイトを新ファイルに挿入し
て、このファイルの新バージョンを生成する。
ーマットで供給されうる。これにより、データパッケー
ジは、バイトレベルで非アプリケーションデータに対す
る変更事項を暗号化することができる。よって、システ
ムにおける単一ビットが変更した場合、本発明のシステ
ムは、別のシステムにおけるそのビットを同期させるこ
とができる。変更事項は、一連のバイトレベル変更動作
として、記述される。このような暗号化の1つは、一連
の挿入およびコピー動作を用いている。挿入およびコピ
ーの動作は、通常、ソースファイルから多くのバイトを
特定の方法により「挿入する」こと、次いで、変更され
たソースをどれくらいのバイトだけ特定ファイルに挿入
しなくてはならないのか、次いで、特定の新ファイルか
らどれくらいのバイトだけ挿入するのか、を定めている
ので、相違エンジンは、ストリームの中からバイトを取
りだし、この取り出したバイトを新ファイルに挿入し
て、このファイルの新バージョンを生成する。
【0093】当業者であれば容易に理解できることであ
るが、これにより、ユーザは、例えば、ワードプロセッ
サ文書またはその他のタイプの添付物のようなバイナリ
ファイルを変更し、このような添付物をバイナリレベル
で同期させることができる。具体的には、ある第1の人
物が、ワード文書の電子メールを第2の人物に転送した
ならば、この第2の人物は、この文書を修正し、修正し
たこの文書を第1の人物に送り返したいと思う。なぜな
らば、第1の人物は、自分のシステム上にオリジナルフ
ァイルを持っており、両方のシステムが本発明のシステ
ムにおいてイネーブル(使用可能)とされれば、第2の
システムは、第2のユーザにより意図されたような文書
を作成するべく変更データを用いて第1のシステムが第
2のシステム上で文書を再構築することができるように
するために、第1のシステムに対して変更事項または相
違情報を送信するだけでよいからである。
るが、これにより、ユーザは、例えば、ワードプロセッ
サ文書またはその他のタイプの添付物のようなバイナリ
ファイルを変更し、このような添付物をバイナリレベル
で同期させることができる。具体的には、ある第1の人
物が、ワード文書の電子メールを第2の人物に転送した
ならば、この第2の人物は、この文書を修正し、修正し
たこの文書を第1の人物に送り返したいと思う。なぜな
らば、第1の人物は、自分のシステム上にオリジナルフ
ァイルを持っており、両方のシステムが本発明のシステ
ムにおいてイネーブル(使用可能)とされれば、第2の
システムは、第2のユーザにより意図されたような文書
を作成するべく変更データを用いて第1のシステムが第
2のシステム上で文書を再構築することができるように
するために、第1のシステムに対して変更事項または相
違情報を送信するだけでよいからである。
【0094】本発明のシステムに基づいて通信イシュー
(Communication issue)を取り扱うために、データパ
ッケージの世代およびアプリケーションをマルチキャッ
シングすることが利用される。さらに、データパッケー
ジがこれより大きなメタデータパッケージに合併されう
るということを理解されたい。多数の装置パッケージの
編成のような、このようなメタデータ情報は、より大き
なシステムパッケージに暗号化される。各システムパッ
ケージは、本質的には、データパッケージの暗号化され
たシーケンスである。
(Communication issue)を取り扱うために、データパ
ッケージの世代およびアプリケーションをマルチキャッ
シングすることが利用される。さらに、データパッケー
ジがこれより大きなメタデータパッケージに合併されう
るということを理解されたい。多数の装置パッケージの
編成のような、このようなメタデータ情報は、より大き
なシステムパッケージに暗号化される。各システムパッ
ケージは、本質的には、データパッケージの暗号化され
たシーケンスである。
【0095】図12は、本発明に基づいて用いられる、
データパッケージの一般的フォーマット、および、オブ
ジェクトストリーム階層構造の汎用データフォーマット
を示す。図11および図12を参照するに、特定アプリ
ケーションデータ構造における各アイテムが、図13に
示すような、ファイル、フォルダ、連絡情報、電子メー
ル、カレンダー等のような特定の分類を有していること
は明らかである。汎用データ構造は、システムによりサ
ポートされた各アプリケーションから、各タイプのデー
タについてマッピングされたアイテムフィールドを含ん
でいる。よって、各データフィールドマッピングの「マ
スター」リストは、多数のアイテムを含む。各アプリケ
ーションオブジェクトは、このようなフィールドのサブ
セットを必要とする。他のウェブポータルを含む、あら
ゆる装置上で利用可能なあらゆる情報に対してアクセス
できるようにするウェブポータルアプリケーションのた
めに用いられるアプリケーションオブジェクトが1つの
例外となっている。
データパッケージの一般的フォーマット、および、オブ
ジェクトストリーム階層構造の汎用データフォーマット
を示す。図11および図12を参照するに、特定アプリ
ケーションデータ構造における各アイテムが、図13に
示すような、ファイル、フォルダ、連絡情報、電子メー
ル、カレンダー等のような特定の分類を有していること
は明らかである。汎用データ構造は、システムによりサ
ポートされた各アプリケーションから、各タイプのデー
タについてマッピングされたアイテムフィールドを含ん
でいる。よって、各データフィールドマッピングの「マ
スター」リストは、多数のアイテムを含む。各アプリケ
ーションオブジェクトは、このようなフィールドのサブ
セットを必要とする。他のウェブポータルを含む、あら
ゆる装置上で利用可能なあらゆる情報に対してアクセス
できるようにするウェブポータルアプリケーションのた
めに用いられるアプリケーションオブジェクトが1つの
例外となっている。
【0096】所定アイテム1250用に含まれるアイテ
ムフィールド1260の特定例が図13に示されてい
る。これらの例示アイテムオブジェクトは、例えばMicr
osoft社のOutlookのような割り当てからものである。Ou
tlookは、メモアイテム1310、電子メールアイテム
1320、タスクアイテム1330、カレンダーアイテ
ム1340、ブックマークアイテム1350、ファイル
アイテム1360、チャネルアイテム1370、フォル
ダアイテム1380および連絡情報アイテム1390を
準備しており、また、これらのすべては、図13に示し
たようなフィールドを有する。
ムフィールド1260の特定例が図13に示されてい
る。これらの例示アイテムオブジェクトは、例えばMicr
osoft社のOutlookのような割り当てからものである。Ou
tlookは、メモアイテム1310、電子メールアイテム
1320、タスクアイテム1330、カレンダーアイテ
ム1340、ブックマークアイテム1350、ファイル
アイテム1360、チャネルアイテム1370、フォル
ダアイテム1380および連絡情報アイテム1390を
準備しており、また、これらのすべては、図13に示し
たようなフィールドを有する。
【0097】データフォーマットは、また、アイテムの
分類と、この後特定カテゴリに続くこれらのアイテムに
関連したアイテムフィールドとを与える、フォルダ情報
1240を含む。
分類と、この後特定カテゴリに続くこれらのアイテムに
関連したアイテムフィールドとを与える、フォルダ情報
1240を含む。
【0098】アプリケーションオブジェクト1230
は、ストリームにおける情報が含まれたものからの、様
々なタイプのアプリケーション上の情報を含む。装置オ
ブジェクト1220は、この情報の発信源である、元の
タイプの装置上の情報を含む。ネットワークオブジェク
ト1210は、データストリームにおける情報が特定ユ
ーザから送られたものであるということを定めるため
の、ユーザレベル上の情報を含む。
は、ストリームにおける情報が含まれたものからの、様
々なタイプのアプリケーション上の情報を含む。装置オ
ブジェクト1220は、この情報の発信源である、元の
タイプの装置上の情報を含む。ネットワークオブジェク
ト1210は、データストリームにおける情報が特定ユ
ーザから送られたものであるということを定めるため
の、ユーザレベル上の情報を含む。
【0099】上述したように、各アプリケーションオブ
ジェクトは、フォルダレベル上の情報の収集を管理する
ことを可能とし、かつ、情報のフォルダ階層を管理する
ことを可能とする、フォルダ記憶インターフェイスをサ
ポートする。このアプリケーションオブジェクトは、ま
た、レコードもしくはファイルのような各情報エンティ
ティ、または、レコード内のフィールドのような情報エ
ンティティの構成要素を許容するアイテムインターフェ
イスを含む。さらに、各アプリケーションオブジェクト
は、コンピュータメーカのアプリケーションを検出する
ためのインターフェイスをサポートしている。
ジェクトは、フォルダレベル上の情報の収集を管理する
ことを可能とし、かつ、情報のフォルダ階層を管理する
ことを可能とする、フォルダ記憶インターフェイスをサ
ポートする。このアプリケーションオブジェクトは、ま
た、レコードもしくはファイルのような各情報エンティ
ティ、または、レコード内のフィールドのような情報エ
ンティティの構成要素を許容するアイテムインターフェ
イスを含む。さらに、各アプリケーションオブジェクト
は、コンピュータメーカのアプリケーションを検出する
ためのインターフェイスをサポートしている。
【0100】データパックは、本質的には、情報に対す
る変更事項を記述した一連のトランザクションを含んで
いる。この情報は、2つの基本的なタイプ、すなわち、
構造的データすなわちアプリケーションデータと、非構
造的データすなわちバイナリファイルデータと、に及
ぶ。トランザクションは、実際の内容オブジェクトを表
現するために、タグを有した効果的なストリーミングフ
ォーマットを用いて暗号化される。この技術によれば、
新しい内容がサポートされた際に、データパックフォー
マットを連続的に拡張させることができる。
る変更事項を記述した一連のトランザクションを含んで
いる。この情報は、2つの基本的なタイプ、すなわち、
構造的データすなわちアプリケーションデータと、非構
造的データすなわちバイナリファイルデータと、に及
ぶ。トランザクションは、実際の内容オブジェクトを表
現するために、タグを有した効果的なストリーミングフ
ォーマットを用いて暗号化される。この技術によれば、
新しい内容がサポートされた際に、データパックフォー
マットを連続的に拡張させることができる。
【0101】パッケージの一般的構造は、データパッケ
ージに含まれることになる、アプリケーションデータ、
ファイルデータ、ファイル、オブジェクトおよび識別子
を規定する。通常、トランザクション、アプリケーショ
ンデータ、ファイルデータおよびファイルは、事前に記
述されている。
ージに含まれることになる、アプリケーションデータ、
ファイルデータ、ファイル、オブジェクトおよび識別子
を規定する。通常、トランザクション、アプリケーショ
ンデータ、ファイルデータおよびファイルは、事前に記
述されている。
【0102】データパッケージの第1部分は、このデー
タパッケージの識別子である。各トランザクションは、
オブジェクトおよび動作の基本的構造を有する。各内容
は、オブジェクトと称され、UUID(Universally Un
ique Identifier)を用いて個別に表現される。オブジ
ェクトは、一般的には、動的に生成されたUUIDによ
り表現されるが、これよりも共通のオブジェクトは、静
的UUIDにより表現される。各UUIDは、好ましく
は、システムプロバイダにより割り当てられた固有の1
28ビット値を有する。
タパッケージの識別子である。各トランザクションは、
オブジェクトおよび動作の基本的構造を有する。各内容
は、オブジェクトと称され、UUID(Universally Un
ique Identifier)を用いて個別に表現される。オブジ
ェクトは、一般的には、動的に生成されたUUIDによ
り表現されるが、これよりも共通のオブジェクトは、静
的UUIDにより表現される。各UUIDは、好ましく
は、システムプロバイダにより割り当てられた固有の1
28ビット値を有する。
【0103】トランザクションは、個別ファイルの形を
とる処理しやすいブロックに解体される。この後、これ
らのファイルは、選択的に、圧縮され、暗号化され、お
よび、適当なヘッダが先頭に付与される。トランザクシ
ョンは、以下に示す規則に基づいて、特定ファイルに分
類される。
とる処理しやすいブロックに解体される。この後、これ
らのファイルは、選択的に、圧縮され、暗号化され、お
よび、適当なヘッダが先頭に付与される。トランザクシ
ョンは、以下に示す規則に基づいて、特定ファイルに分
類される。
【0104】・アカウント情報に関連したトランザクシ
ョンは、データパックファイルに分類される。
ョンは、データパックファイルに分類される。
【0105】・特定データクラスに関連するトランザク
ションは、データパックファイルに分類される。
ションは、データパックファイルに分類される。
【0106】・バイナリデータに関連するトランザクシ
ョンは、各ファイルオブジェクト毎に別々のデータパッ
クファイルに分類される。
ョンは、各ファイルオブジェクト毎に別々のデータパッ
クファイルに分類される。
【0107】データパックファイルは、ファイルネーム
に基づく特定規則を用いて識別される。形式"UUID.VER"
というファイルネームについては、UUIDが特定オブ
ジェクト用の識別子であり、VERはトランザクション
バージョン番号である。このバージョン番号は、大きな
バージョン番号用に用いられる付加ディジットを用い
た"D0001"の形式をとる。この"D000"値は、好ましく
は、オブジェクト用ベースバージョンのために確保され
ている。
に基づく特定規則を用いて識別される。形式"UUID.VER"
というファイルネームについては、UUIDが特定オブ
ジェクト用の識別子であり、VERはトランザクション
バージョン番号である。このバージョン番号は、大きな
バージョン番号用に用いられる付加ディジットを用い
た"D0001"の形式をとる。この"D000"値は、好ましく
は、オブジェクト用ベースバージョンのために確保され
ている。
【0108】ユーザアカウント用のUUIDは、マネジ
メントサーバ(MS)により生成される。MSは、ま
た、ユーザアカウント内のデータパックファイルを理解
するためのルート構造を与える、UUID値およびバー
ジョン番号の現在のテーブルを保持する。MSは、ま
た、多数の装置エンジンが同期をしようとする際に整合
性を維持するのに必要なロッキング意味論を供給する。
メントサーバ(MS)により生成される。MSは、ま
た、ユーザアカウント内のデータパックファイルを理解
するためのルート構造を与える、UUID値およびバー
ジョン番号の現在のテーブルを保持する。MSは、ま
た、多数の装置エンジンが同期をしようとする際に整合
性を維持するのに必要なロッキング意味論を供給する。
【0109】すべてのデータパックは、データパックに
関する基本的な内容の情報を与える標準ヘッダが先頭に
付与される。圧縮化および暗号化ヘッダは、必要とあれ
ば、データパックヘッダの後に付与される。
関する基本的な内容の情報を与える標準ヘッダが先頭に
付与される。圧縮化および暗号化ヘッダは、必要とあれ
ば、データパックヘッダの後に付与される。
【0110】データパッケージヘッダ情報は、バージョ
ンシグネチャ、付与されたバージョン情報、コンテンツ
タイプ、Δエンジンタイプ、圧縮タイプ、暗号タイプ、
付与されたサイズ、暗号化されたサイズ、圧縮化された
サイズ、ローデータのサイズ、および、アプリケーショ
ン用の使用可能なフォーマットにデータを変換するべく
このデータを解読化する際に、装置エンジンに用いられ
るその他のデータを、含んでいる。
ンシグネチャ、付与されたバージョン情報、コンテンツ
タイプ、Δエンジンタイプ、圧縮タイプ、暗号タイプ、
付与されたサイズ、暗号化されたサイズ、圧縮化された
サイズ、ローデータのサイズ、および、アプリケーショ
ン用の使用可能なフォーマットにデータを変換するべく
このデータを解読化する際に、装置エンジンに用いられ
るその他のデータを、含んでいる。
【0111】ヘッダのフォーマットは好ましくは次のよ
うになる。
うになる。
【0112】
【表1】 以下のようコンテンツタイプ(ContentType)値が利用
可能である。
可能である。
【0113】
【表2】 デルタタイプ(DeltaType)は、用いられるバイナリフ
ァイル相違のタイプを暗号化する。以下に示すデルタタ
イプ値は、デルタパッケージデルタタイプを用いて利用
可能である。
ァイル相違のタイプを暗号化する。以下に示すデルタタ
イプ値は、デルタパッケージデルタタイプを用いて利用
可能である。
【0114】
【表3】 圧縮タイプは、データパックが圧縮化されているかどう
かを明記する。圧縮タイプが明記されていれば、データ
パック圧縮ヘッダがデータパックヘッダの後に続く。以
下に示すような圧縮タイプ(CompressionType)値は、
データパッケージ圧縮タイプ(DataPackageCompression
Type)を用いて、利用可能である。
かを明記する。圧縮タイプが明記されていれば、データ
パック圧縮ヘッダがデータパックヘッダの後に続く。以
下に示すような圧縮タイプ(CompressionType)値は、
データパッケージ圧縮タイプ(DataPackageCompression
Type)を用いて、利用可能である。
【0115】
【表4】 暗号タイプは、データパックが暗号化されているかどう
かを明記する。暗号タイプが明記されていれば、データ
パック暗号化ヘッダがデータパックヘッダの後に続く。
以下に示す暗号タイプ値はデータパック暗号タイプ(Da
taPackageEncryptionType)を用いることにより、利用
可能である。
かを明記する。暗号タイプが明記されていれば、データ
パック暗号化ヘッダがデータパックヘッダの後に続く。
以下に示す暗号タイプ値はデータパック暗号タイプ(Da
taPackageEncryptionType)を用いることにより、利用
可能である。
【0116】
【表5】 すべてのデータパック圧縮ヘッダは、以下に示すフォー
マットを用いて暗号化される。
マットを用いて暗号化される。
【0117】
【表6】 以下に示すヘッダタイプ(HeaderType)値は、データパ
ッケージヘッダタイプ(DataPackageHeaderType)を用
いることにより利用可能である。
ッケージヘッダタイプ(DataPackageHeaderType)を用
いることにより利用可能である。
【0118】
【表7】 すべてのデータパック暗号ヘッダは、以下に示すフォー
マットを用いて暗号化される。
マットを用いて暗号化される。
【0119】
【表8】 以下に示す動作値は動作クラスを用いることにより利用
可能である。
可能である。
【0120】
【表9】 以下に示すフィールドデータタイプ(FieldDataType)
値がデータタイプ(clDataType)を用いることにより利
用可能である。
値がデータタイプ(clDataType)を用いることにより利
用可能である。
【0121】
【表10】 データパッケージオブジェクトは、以下に示すような階
層に編成される。 Account::= DeviceList + DataClassList DeviceList::= {Device} DataClassList::= {DataClass} + ProviderList ProviderList:: = {Provider} + DataStoreList DataStoreList:: = {Folder} + ItemList ItemList::= {Item} + FieldList FieldList::= {Field} アカウントは、ユーザアカウントについての情報を認識
するルート構造である。このアカウントは、ネーム、パ
スワード、ユーザネームおよびバージョンのような、具
体的なフィールドタグ(eFieldTag_[NAME])を有するこ
とができる。フィールドタグアイテムタイプ値は、加算
アイテムタイプを用いて、ItemType_PINのように明記さ
れる。
層に編成される。 Account::= DeviceList + DataClassList DeviceList::= {Device} DataClassList::= {DataClass} + ProviderList ProviderList:: = {Provider} + DataStoreList DataStoreList:: = {Folder} + ItemList ItemList::= {Item} + FieldList FieldList::= {Field} アカウントは、ユーザアカウントについての情報を認識
するルート構造である。このアカウントは、ネーム、パ
スワード、ユーザネームおよびバージョンのような、具
体的なフィールドタグ(eFieldTag_[NAME])を有するこ
とができる。フィールドタグアイテムタイプ値は、加算
アイテムタイプを用いて、ItemType_PINのように明記さ
れる。
【0122】装置は、アカウントの一部分として認識さ
れたシステムである。これの例には、パーソナルコンピ
ュータ、ハンドヘルド、ウェブサイトなどが含まれる。
装置は、"name"、"type"、ならびに、ポータル、Palm、
Windows(登録商標)、携帯電話といったアイテムタイ
プ値(eDevice_[Name])のようなタグ(eField_[Nam
e])を有することができる。
れたシステムである。これの例には、パーソナルコンピ
ュータ、ハンドヘルド、ウェブサイトなどが含まれる。
装置は、"name"、"type"、ならびに、ポータル、Palm、
Windows(登録商標)、携帯電話といったアイテムタイ
プ値(eDevice_[Name])のようなタグ(eField_[Nam
e])を有することができる。
【0123】データクラスは、類似する情報タイプの集
合である。多くのデータクラスは、特定アカウントのた
めに表現される。データクラスは、ネーム、アイテムタ
イプ、サブタイプ、保持中、プロバイダ、フィルタおよ
びバージョンのようなタグ(eFieldTag_[Name])を含む
ことができる。
合である。多くのデータクラスは、特定アカウントのた
めに表現される。データクラスは、ネーム、アイテムタ
イプ、サブタイプ、保持中、プロバイダ、フィルタおよ
びバージョンのようなタグ(eFieldTag_[Name])を含む
ことができる。
【0124】以下に示すアイテムタイプ値は、加算デー
タクラス(eDataClass_[Name])を用いることにより利
用可能である。 (eDataClass_[Name]): Tag 記述 UNKNOWN 未知 CONTACT 連絡/アドレスブック EMAIL 電子メール CALENDAR カレンダー TASK 実行すべきタスク NOTE ノート/メモ JOURNAL ジャーナル BROWSER ウェブブラウザのお気に入り、クッキー等 FILESET ファイルの収集 PIN アカウント情報 DEVICE 装置情報 FILEBODY ファイルの内容 プロバイダは、データクラス内に特定情報を保持するア
プリケーションである。特定データクラスには1つ以上
のプロバイダが存在しうる。フィールドタグは、ネー
ム、適用オブジェクトID、パスワード、ユーザネーム
およびバージョンを含む。このプロバイダ(eProvide[N
ame])に利用可能なプロバイダタグの例では、ポータ
ル、Palm(登録商標)、MicrosoftOutlook(登録商
標)、LotusOrganizer、MicrosoftInternetExplorer、M
icrosoftWindows(登録商標)等を含む。
タクラス(eDataClass_[Name])を用いることにより利
用可能である。 (eDataClass_[Name]): Tag 記述 UNKNOWN 未知 CONTACT 連絡/アドレスブック EMAIL 電子メール CALENDAR カレンダー TASK 実行すべきタスク NOTE ノート/メモ JOURNAL ジャーナル BROWSER ウェブブラウザのお気に入り、クッキー等 FILESET ファイルの収集 PIN アカウント情報 DEVICE 装置情報 FILEBODY ファイルの内容 プロバイダは、データクラス内に特定情報を保持するア
プリケーションである。特定データクラスには1つ以上
のプロバイダが存在しうる。フィールドタグは、ネー
ム、適用オブジェクトID、パスワード、ユーザネーム
およびバージョンを含む。このプロバイダ(eProvide[N
ame])に利用可能なプロバイダタグの例では、ポータ
ル、Palm(登録商標)、MicrosoftOutlook(登録商
標)、LotusOrganizer、MicrosoftInternetExplorer、M
icrosoftWindows(登録商標)等を含む。
【0125】データ記憶部は、プロバイダ内に情報を格
納するためのコンテナである。特定プロバイダには1つ
以上のデータ格納部が存在しうる。フォルダは、データ
格納部内の情報についての構造化組織である。データ格
納部は、フォルダをサポートするためには必要とならな
い。各データ格納部用にサポートされるタグ(eFieldTa
g_[Name])は、ネーム、アイテムタイプ、保持中、オリ
ジナルパスを含む。データ格納部のために利用可能なア
イテムタイプは、アンノウン、MAPI、データベースおよ
びStore_Fileを含む。
納するためのコンテナである。特定プロバイダには1つ
以上のデータ格納部が存在しうる。フォルダは、データ
格納部内の情報についての構造化組織である。データ格
納部は、フォルダをサポートするためには必要とならな
い。各データ格納部用にサポートされるタグ(eFieldTa
g_[Name])は、ネーム、アイテムタイプ、保持中、オリ
ジナルパスを含む。データ格納部のために利用可能なア
イテムタイプは、アンノウン、MAPI、データベースおよ
びStore_Fileを含む。
【0126】フォルダは、データ格納部内の情報につい
ての構造的組織を表現する。データ格納部は、フォルダ
をサポートするために必要とはならない。フォルダは、
UUIDにより表現され、かつ、以下に示すようなフィ
ールドタグ(eFieldTag_[Name])のいずれかを含む。す
なわち、フィールドタグは、ネーム、アイテムタイプ、
保持中、ファイル属性、生成日、変更日、アクセス日お
よび特別フォルダタイプである。
ての構造的組織を表現する。データ格納部は、フォルダ
をサポートするために必要とはならない。フォルダは、
UUIDにより表現され、かつ、以下に示すようなフィ
ールドタグ(eFieldTag_[Name])のいずれかを含む。す
なわち、フィールドタグは、ネーム、アイテムタイプ、
保持中、ファイル属性、生成日、変更日、アクセス日お
よび特別フォルダタイプである。
【0127】eFieldTag_ItemType値は、加算アイテムタ
イプを用いて、eItemType_FOLDERのように明記される。
イプを用いて、eItemType_FOLDERのように明記される。
【0128】アイテムは、実際のユーザデータからなる
個別情報構成要素である。これらのアイテムは、ネー
ム、アイテムタイプ、保持中およびバージョンのような
フィールドタグを含む。
個別情報構成要素である。これらのアイテムは、ネー
ム、アイテムタイプ、保持中およびバージョンのような
フィールドタグを含む。
【0129】ファイルアイテムは、一般的には、以下の
ような付加フィールドタグ(eFieldTag_[Name])を含
む。 (eFieldTag_[Name]): FileAttributes CreationDate ModificationDate AccessDate FileSize FileBody DeltaSize Hash アイテムタイプは、フォーマット(eItemType_[Name])
を採用し、拡張(extended)、フォルダ、添付物(atta
chment)、連絡情報、個別リスト(distlist)、電子メ
ール、カレンダー、タスク、コール(call)、メモ、ポ
スト(post)、ジャーナル、フォーム、スクリプト(sc
ript)、規則、お気に入り(favorites)、サブスクリ
プション(subscription)、common_favorites、デスク
トップ、common_desktop、スタートメニュー、チャネ
ル、クッキー(cookies)、プログラム、common_progra
m、スタートアップ、common_startup、送信(sendt
o)、現在(recent)、internet_cache、ヒストリ、map
ped_drives、プリンタ、ドキュメント、ドキュメントの
テンプレート(doctemplate)、フォント、window_sett
ings、app_data_folder、app_settings、ファイルセッ
ト(fileset)、ピン(pin)、装置、data_store、ファ
イル、プロバイダ、data_class、インターナル(intern
al)を含む。
ような付加フィールドタグ(eFieldTag_[Name])を含
む。 (eFieldTag_[Name]): FileAttributes CreationDate ModificationDate AccessDate FileSize FileBody DeltaSize Hash アイテムタイプは、フォーマット(eItemType_[Name])
を採用し、拡張(extended)、フォルダ、添付物(atta
chment)、連絡情報、個別リスト(distlist)、電子メ
ール、カレンダー、タスク、コール(call)、メモ、ポ
スト(post)、ジャーナル、フォーム、スクリプト(sc
ript)、規則、お気に入り(favorites)、サブスクリ
プション(subscription)、common_favorites、デスク
トップ、common_desktop、スタートメニュー、チャネ
ル、クッキー(cookies)、プログラム、common_progra
m、スタートアップ、common_startup、送信(sendt
o)、現在(recent)、internet_cache、ヒストリ、map
ped_drives、プリンタ、ドキュメント、ドキュメントの
テンプレート(doctemplate)、フォント、window_sett
ings、app_data_folder、app_settings、ファイルセッ
ト(fileset)、ピン(pin)、装置、data_store、ファ
イル、プロバイダ、data_class、インターナル(intern
al)を含む。
【0130】フィールドは、ベースタイプ定義のセット
のうちの1つに基づいている。すべてのフィールドタグ
情報は、以下に示すフォーマットを用いて暗号化され
る。
のうちの1つに基づいている。すべてのフィールドタグ
情報は、以下に示すフォーマットを用いて暗号化され
る。
【0131】
【表11】 アンノウン(unknown)、ロング(long)、dword、日付
(date)、ストリング(string)、バイナリ、フロート
(float)、ダブル(double)、収集、ユニークID(u
niqueid)、UUID、ファイル、無効(invalid)を含
む多くのフィールドタイプが利用可能である。LONG
は、ビッグエンディアン(big-endian)フォーマットで
暗号化された4バイト値である。フィールドタイプDW
ORDは、ビッグエンディアンフォーマットで暗号化さ
れた4バイト値である。フィールドタイプString
は、1NULLバイトが後に続く一連のユニコードキャ
ラクタである。MBCS値にはインターフェイスが設け
られる。フィールドタイプBinaryは一連のバイト
である。フィールドタイプUniqueIDは、汎用固
有識別子(UUID)標準により定義されるような一連
のバイトである。AOインターフェイスが、ローカル個
別識別子(LUID)値に設けられる。フィールドタイ
プQWORDは、ビッグエンディアンフォーマットで暗
号化された8バイト値である。フィールドタイプFil
eは、ファイルボディデータを含む個別データパックを
表現するUUIDである。ファイルに対して全パスを記
述する1NULLバイトが後に続く一連のユニコードキ
ャラクタに、AOインターフェイスが設けられる。任意
数のファイルサブタイプが利用可能である。各サブタイ
プは、サポートされた全ユーザアプリケーションから利
用可能な全データタイプを含む。十分に理解できるよう
に、サブタイプの数が、非常に大きくなり、かつ、本発
明のシステムによりサポートされる各新アプリケーショ
ンが追加されるにつれて変化する、という可能性があ
る。サブタイプには、例えば以下に示すものが含まれ
る。 サブフィールドの記述 記述 Base サブタイプが未指定 EmailAddress 電子メールアドレス EmailAddressList 電子メールアドレスリスト SearchKey 検索キー CategoryList カテゴリリスト StringList ストリングリスト DistributionList 配布リスト Gender ジェンダー(enumGender) TimeZone タイムゾーン(enumTimeZone) Boolean ブール(TBD) NonZeroBool ゼロ値を有するブール(enumNonZeroBool) Priority 優先度 Sensitivity 感度(enumSensitivity) Importance 重要度(enumImportance) SelectedMailingAddr 選択された送信アドレス(enumSelectedMailingA ddr) TaskStatus タスク状態(enumTaskStatus) FlagStatus フラグ状態(enumFlagStatus) RecurrenceType 繰返しタイプ(enumRecurrenceType) DayOfWeek 週における日(enumDayOfWeek) DayOfMonth 月における日(1〜31) InstanceOfMonth 月の例(enumInstanceOfMonth) MonthOfYear 年における月(enumMonthOfYear) BusyStatus ビジー状態(enumBusyStatus) AttachmentType 添付物タイプ(enumAttachmentType) MailBodyType メール本体タイプ(enumMailBodyType) RGB RGBカラー値 ManagedState 処理状態(enumManagedState) FaoId プロバイダに対するFAO−ID SpecificationFolderType 特別フォルダタイプ(enumSpecialFolderType) ResponseState 応答状態(TBD) ResponseStatus 応答ステータス(TBD) JournalStatus ジャーナルステータス PageStyle ページスタイル PageNumberMethod ページ番号方法 DelegationState 削除状態 MeetingStatus ミーティングステータス MeetingInvitation ミーティング招待 CalendarType カレンダータイプ DateOnly 日付のみ TimeOnly 時間のみ PhoneNumber 電話番号 URL URL FilePath ファイルパス PopMessageID POPメッセージID MIMEType MIMEタイプ INVALID すべての値はこれ以下でなくてはならない 図18は、上述した様々な構成要素を含む、データ転送
および同期システムの一例の一般化されたブロック図で
ある。具体的には、このシステムは図7に示したような
ネットワーク700を含む。ネットワーク700は、図
7における格納サーバ3001、3002のような1つ以
上の格納媒体を含む。図7に示すような複数の装置は、
ネットワークに接続することが可能なものであり、か
つ、上述した技術を用いて、オフライン方法により同期
情報を交換することが可能なものである。これらの装置
は、家庭用PC710およびオフィス用PC702を含
み、これらは両方とも上述した技術を用いてお互いに同
期することが可能である。上述したような装置エンジン
は、様々な装置とネットワーク700との間に接続され
る。
(date)、ストリング(string)、バイナリ、フロート
(float)、ダブル(double)、収集、ユニークID(u
niqueid)、UUID、ファイル、無効(invalid)を含
む多くのフィールドタイプが利用可能である。LONG
は、ビッグエンディアン(big-endian)フォーマットで
暗号化された4バイト値である。フィールドタイプDW
ORDは、ビッグエンディアンフォーマットで暗号化さ
れた4バイト値である。フィールドタイプString
は、1NULLバイトが後に続く一連のユニコードキャ
ラクタである。MBCS値にはインターフェイスが設け
られる。フィールドタイプBinaryは一連のバイト
である。フィールドタイプUniqueIDは、汎用固
有識別子(UUID)標準により定義されるような一連
のバイトである。AOインターフェイスが、ローカル個
別識別子(LUID)値に設けられる。フィールドタイ
プQWORDは、ビッグエンディアンフォーマットで暗
号化された8バイト値である。フィールドタイプFil
eは、ファイルボディデータを含む個別データパックを
表現するUUIDである。ファイルに対して全パスを記
述する1NULLバイトが後に続く一連のユニコードキ
ャラクタに、AOインターフェイスが設けられる。任意
数のファイルサブタイプが利用可能である。各サブタイ
プは、サポートされた全ユーザアプリケーションから利
用可能な全データタイプを含む。十分に理解できるよう
に、サブタイプの数が、非常に大きくなり、かつ、本発
明のシステムによりサポートされる各新アプリケーショ
ンが追加されるにつれて変化する、という可能性があ
る。サブタイプには、例えば以下に示すものが含まれ
る。 サブフィールドの記述 記述 Base サブタイプが未指定 EmailAddress 電子メールアドレス EmailAddressList 電子メールアドレスリスト SearchKey 検索キー CategoryList カテゴリリスト StringList ストリングリスト DistributionList 配布リスト Gender ジェンダー(enumGender) TimeZone タイムゾーン(enumTimeZone) Boolean ブール(TBD) NonZeroBool ゼロ値を有するブール(enumNonZeroBool) Priority 優先度 Sensitivity 感度(enumSensitivity) Importance 重要度(enumImportance) SelectedMailingAddr 選択された送信アドレス(enumSelectedMailingA ddr) TaskStatus タスク状態(enumTaskStatus) FlagStatus フラグ状態(enumFlagStatus) RecurrenceType 繰返しタイプ(enumRecurrenceType) DayOfWeek 週における日(enumDayOfWeek) DayOfMonth 月における日(1〜31) InstanceOfMonth 月の例(enumInstanceOfMonth) MonthOfYear 年における月(enumMonthOfYear) BusyStatus ビジー状態(enumBusyStatus) AttachmentType 添付物タイプ(enumAttachmentType) MailBodyType メール本体タイプ(enumMailBodyType) RGB RGBカラー値 ManagedState 処理状態(enumManagedState) FaoId プロバイダに対するFAO−ID SpecificationFolderType 特別フォルダタイプ(enumSpecialFolderType) ResponseState 応答状態(TBD) ResponseStatus 応答ステータス(TBD) JournalStatus ジャーナルステータス PageStyle ページスタイル PageNumberMethod ページ番号方法 DelegationState 削除状態 MeetingStatus ミーティングステータス MeetingInvitation ミーティング招待 CalendarType カレンダータイプ DateOnly 日付のみ TimeOnly 時間のみ PhoneNumber 電話番号 URL URL FilePath ファイルパス PopMessageID POPメッセージID MIMEType MIMEタイプ INVALID すべての値はこれ以下でなくてはならない 図18は、上述した様々な構成要素を含む、データ転送
および同期システムの一例の一般化されたブロック図で
ある。具体的には、このシステムは図7に示したような
ネットワーク700を含む。ネットワーク700は、図
7における格納サーバ3001、3002のような1つ以
上の格納媒体を含む。図7に示すような複数の装置は、
ネットワークに接続することが可能なものであり、か
つ、上述した技術を用いて、オフライン方法により同期
情報を交換することが可能なものである。これらの装置
は、家庭用PC710およびオフィス用PC702を含
み、これらは両方とも上述した技術を用いてお互いに同
期することが可能である。上述したような装置エンジン
は、様々な装置とネットワーク700との間に接続され
る。
【0132】図18において、クライアントソフトウェ
アは、家庭用PC710とオフィス用PC702の両方
にインストールされており、Microsoft社のWindows(登
録商標)のようなオペレーティングシステムに関連して
動作するように構成されている。実行時には、クライア
ントソフトウェアは、ユーザPC上の様々なアプリケー
ションと相互に作用を及ぼす。ユーザは、クライアント
ソフトウェアと対話し、アプリケーションが優先される
ようにこのソフトウェアを構成する。この後、データ
が、様々なアプリケーションから抽出され、このデータ
が生成された特定アプリケーションおよび装置とは関係
のないフォーマットで編成され、データパッケージに組
み込まれる。本発明の具体的な実施形態では、連絡情
報、ブックマークおよび日程行事を含む様々なクラスの
データが、この方法により処理される。
アは、家庭用PC710とオフィス用PC702の両方
にインストールされており、Microsoft社のWindows(登
録商標)のようなオペレーティングシステムに関連して
動作するように構成されている。実行時には、クライア
ントソフトウェアは、ユーザPC上の様々なアプリケー
ションと相互に作用を及ぼす。ユーザは、クライアント
ソフトウェアと対話し、アプリケーションが優先される
ようにこのソフトウェアを構成する。この後、データ
が、様々なアプリケーションから抽出され、このデータ
が生成された特定アプリケーションおよび装置とは関係
のないフォーマットで編成され、データパッケージに組
み込まれる。本発明の具体的な実施形態では、連絡情
報、ブックマークおよび日程行事を含む様々なクラスの
データが、この方法により処理される。
【0133】一実施形態では、Microsoft社のOutlookが
図18における家庭用PC710にインストールされ
る。この例では、10個の連絡情報がOutlookでプログ
ラムされる。ユーザは、クライアントソフトウェアに対
してOutlookを用いてこれらの連絡情報を同期させるよ
うに指示する。クライアントソフトウェアは、Outlook
にアクセスし、上記10個の連絡情報を抽出し、この連
絡情報をデータパックCONT.D000に統合する。ここで、
UUID“CONT”は特定オブジェクトのような連絡
情報を示し、“D000”はこのデータパックがバージ
ョン「0」であることを示している。これらの連絡情報
は、それぞれが固有のID番号1、2、...10を割り
当てられた10個のトランザクションとして、データパ
ックCONT.D000の中に結合される。例えば、ID2は、J
ohn Smith用の連絡情報を示す。この例では、各トラン
ザクション1、2、...10は関連したアクション(ass
ociated action)である「追加」を有する。この後、デ
ータパックCONT.D000は、ネットワーク700にアップ
ロードされ、格納サーバ3002に格納される。
図18における家庭用PC710にインストールされ
る。この例では、10個の連絡情報がOutlookでプログ
ラムされる。ユーザは、クライアントソフトウェアに対
してOutlookを用いてこれらの連絡情報を同期させるよ
うに指示する。クライアントソフトウェアは、Outlook
にアクセスし、上記10個の連絡情報を抽出し、この連
絡情報をデータパックCONT.D000に統合する。ここで、
UUID“CONT”は特定オブジェクトのような連絡
情報を示し、“D000”はこのデータパックがバージ
ョン「0」であることを示している。これらの連絡情報
は、それぞれが固有のID番号1、2、...10を割り
当てられた10個のトランザクションとして、データパ
ックCONT.D000の中に結合される。例えば、ID2は、J
ohn Smith用の連絡情報を示す。この例では、各トラン
ザクション1、2、...10は関連したアクション(ass
ociated action)である「追加」を有する。この後、デ
ータパックCONT.D000は、ネットワーク700にアップ
ロードされ、格納サーバ3002に格納される。
【0134】この後、オフィス用PC702は、ネット
ワークに接続し、データパックCONT.D000を識別する。
具体的には、このような識別には、オフィス用PC70
2がマネジメントサーバ1802に対して信号を送信す
ること、この例では、オフィスPC702が特定データ
クラス(この例では連絡情報)用のいかなるデータパッ
クをもダウンロードしていないということをマネジメン
トサーバ1802に通知することが含まれる。マネジメ
ントサーバ1802は、オフィス用PC702に対し
て、オフィス用PC702がネットワーク700に前回
接続して以来、連絡情報用変更情報のデータパッケージ
がサーバ3002に格納されていないことを示す信号を
送信して応答する。これに応えて、オフィスPC702
は、マネジメントサーバ1802に対して、データパッ
ケージを要求する信号を送信する。サーバ3001に格
納されている最新のデータパッケージは、この例では、
バージョン0の連絡情報であるCONT.D000と識別され
る。このデータパックCONT.D000は、この後、オフィス
用PC702にダウンロードされる。このデータパック
における変更情報、この例では、連絡情報における「追
加」が、この後、オフィス用PC702における適切な
アプリケーションに適用される。この例では、オフィス
用PC上のクライアントソフトウェアは、Lotus Notes
アプリケーションを用いて連絡情報を同期させるように
構成されている。この結果、CONT.D000からの10個の
追加は、Lotus Notesの連絡情報に適用されるので、家
庭用PC710およびオフィス用PC702における連
絡情報は同期する。オフィス用PC702は、この後、
オフィス用PC702は、バージョン番号0の連絡情報
データパッケージをオフィス用PC702が適用したこ
とを示す信号を、マネジメントサーバ1802に返送す
る。この情報は、好ましくは、ネットワークに接続され
ている全装置のそれぞれが変更情報をダウンロードおよ
びアップロードすることができるように、マネジメント
サーバ1802によりレジストリ1804に保持され
る。
ワークに接続し、データパックCONT.D000を識別する。
具体的には、このような識別には、オフィス用PC70
2がマネジメントサーバ1802に対して信号を送信す
ること、この例では、オフィスPC702が特定データ
クラス(この例では連絡情報)用のいかなるデータパッ
クをもダウンロードしていないということをマネジメン
トサーバ1802に通知することが含まれる。マネジメ
ントサーバ1802は、オフィス用PC702に対し
て、オフィス用PC702がネットワーク700に前回
接続して以来、連絡情報用変更情報のデータパッケージ
がサーバ3002に格納されていないことを示す信号を
送信して応答する。これに応えて、オフィスPC702
は、マネジメントサーバ1802に対して、データパッ
ケージを要求する信号を送信する。サーバ3001に格
納されている最新のデータパッケージは、この例では、
バージョン0の連絡情報であるCONT.D000と識別され
る。このデータパックCONT.D000は、この後、オフィス
用PC702にダウンロードされる。このデータパック
における変更情報、この例では、連絡情報における「追
加」が、この後、オフィス用PC702における適切な
アプリケーションに適用される。この例では、オフィス
用PC上のクライアントソフトウェアは、Lotus Notes
アプリケーションを用いて連絡情報を同期させるように
構成されている。この結果、CONT.D000からの10個の
追加は、Lotus Notesの連絡情報に適用されるので、家
庭用PC710およびオフィス用PC702における連
絡情報は同期する。オフィス用PC702は、この後、
オフィス用PC702は、バージョン番号0の連絡情報
データパッケージをオフィス用PC702が適用したこ
とを示す信号を、マネジメントサーバ1802に返送す
る。この情報は、好ましくは、ネットワークに接続され
ている全装置のそれぞれが変更情報をダウンロードおよ
びアップロードすることができるように、マネジメント
サーバ1802によりレジストリ1804に保持され
る。
【0135】この後、オフィス用PC702のユーザ
は、Lotus Notesの連絡情報を更新し、1つ以上の連絡
情報を追加する。この例では、20の連絡情報が追加さ
れる。この後、Lotus Notesアプリケーションは、ネッ
トワーク700に対して第2のデータパッケージをアッ
プロードする。この第2のデータパッケージは20個の
連絡情報を含んでおり、それぞれの連絡情報は関連する
アクション「追加」を有する。このデータパッケージ
は、勿論、CONT.D000における情報よりも新しい変更情
報を表現する。オフィス用PC702によりアップロー
ドされたデータパッケージは、固有のファイルネーム、
この例ではCONT.D001により識別される。加えて、オフ
ィス用PC702は、マネジメントサーバ1802に対
して、CONT.D001がネットワーク700にアップロード
されたことを確認する信号を送信する。オフィス用PC
702が、現行であること、すなわち、CONT.D001にお
ける変更情報を既に適用していることを示すために、レ
ジストリ1804がアップロードされる。
は、Lotus Notesの連絡情報を更新し、1つ以上の連絡
情報を追加する。この例では、20の連絡情報が追加さ
れる。この後、Lotus Notesアプリケーションは、ネッ
トワーク700に対して第2のデータパッケージをアッ
プロードする。この第2のデータパッケージは20個の
連絡情報を含んでおり、それぞれの連絡情報は関連する
アクション「追加」を有する。このデータパッケージ
は、勿論、CONT.D000における情報よりも新しい変更情
報を表現する。オフィス用PC702によりアップロー
ドされたデータパッケージは、固有のファイルネーム、
この例ではCONT.D001により識別される。加えて、オフ
ィス用PC702は、マネジメントサーバ1802に対
して、CONT.D001がネットワーク700にアップロード
されたことを確認する信号を送信する。オフィス用PC
702が、現行であること、すなわち、CONT.D001にお
ける変更情報を既に適用していることを示すために、レ
ジストリ1804がアップロードされる。
【0136】この後、家庭用PC710はネットワーク
700に接続し、家庭用PC710におけるクライアン
トソフトウェアは、ネットワーク700に接続されたマ
ネジメントサーバ1802と通信を行う。具体的には、
家庭用PCは、家庭用PC719がデータネットワーク
700に前回接続して以来の、最新バージョンの変更情
報としてのCONT.D000を識別する信号を、マネジメント
サーバ1802に対して送信する。マネジメントサーバ
1802は、格納サーバに対して、もっと新しい、連絡
情報に対する変更情報のデータパッケージを問い合わせ
る。マネジメントサーバ1802は、このようなデータ
パッケージ、この例ではCONT.D001を識別し、家庭用P
C710に対してそのようなデータパッケージが存在す
ることを通知する情報を、家庭用PC710に対して送
信する。この後、家庭用PC710におけるクライアン
トソフトウェアは、新しいデータパッケージを要求した
後、マネジメントサーバ1802は、このデータパッケ
ージを家庭用PC710に対してダウンロードする。こ
の後、このデータパッケージにおける変更情報、この場
合には追加すべきCONT.D000からの20個の連絡情報
は、家庭用PC710におけるMicrosoft社のOutlookに
より保持されている連絡情報に適用される。Microsoft
社のOutlookに対して変更情報を通信すること、およ
び、この後Outlookにおける連絡情報を更新すること
は、家庭用PC710におけるクライアントソフトウェ
アにより調整される。この後、家庭用PC710および
オフィス用PC702における連絡情報は、再度同期す
る。
700に接続し、家庭用PC710におけるクライアン
トソフトウェアは、ネットワーク700に接続されたマ
ネジメントサーバ1802と通信を行う。具体的には、
家庭用PCは、家庭用PC719がデータネットワーク
700に前回接続して以来の、最新バージョンの変更情
報としてのCONT.D000を識別する信号を、マネジメント
サーバ1802に対して送信する。マネジメントサーバ
1802は、格納サーバに対して、もっと新しい、連絡
情報に対する変更情報のデータパッケージを問い合わせ
る。マネジメントサーバ1802は、このようなデータ
パッケージ、この例ではCONT.D001を識別し、家庭用P
C710に対してそのようなデータパッケージが存在す
ることを通知する情報を、家庭用PC710に対して送
信する。この後、家庭用PC710におけるクライアン
トソフトウェアは、新しいデータパッケージを要求した
後、マネジメントサーバ1802は、このデータパッケ
ージを家庭用PC710に対してダウンロードする。こ
の後、このデータパッケージにおける変更情報、この場
合には追加すべきCONT.D000からの20個の連絡情報
は、家庭用PC710におけるMicrosoft社のOutlookに
より保持されている連絡情報に適用される。Microsoft
社のOutlookに対して変更情報を通信すること、およ
び、この後Outlookにおける連絡情報を更新すること
は、家庭用PC710におけるクライアントソフトウェ
アにより調整される。この後、家庭用PC710および
オフィス用PC702における連絡情報は、再度同期す
る。
【0137】「追加」だけでなく他のトランザクション
が、本発明の一実施形態に提供される。これらのトラン
ザクションのうちの1つは、「変更」トランザクション
である。この例を用いると、CONT.D001がネットワーク
700にアップロードされた後、ある人物についての連
絡情報が変更されることがある。例えば、John Smith
は、電話でユーザに電話し、このユーザに対して自分の
電話番号が変わったことを教えることがある。この後、
このユーザは、オフィス用PC710にアクセスして、
自分の連絡情報におけるJohn Smithの電話番号を変更す
る。
が、本発明の一実施形態に提供される。これらのトラン
ザクションのうちの1つは、「変更」トランザクション
である。この例を用いると、CONT.D001がネットワーク
700にアップロードされた後、ある人物についての連
絡情報が変更されることがある。例えば、John Smith
は、電話でユーザに電話し、このユーザに対して自分の
電話番号が変わったことを教えることがある。この後、
このユーザは、オフィス用PC710にアクセスして、
自分の連絡情報におけるJohn Smithの電話番号を変更す
る。
【0138】この後、上記ユーザは、例えば、クライア
ントソフトウェアによるコンピュータスクリーンに表示
された「同期」ボタンを適用するので、新データパッケ
ージすなわち変更ログCONT.D002が生成されネットワー
ク700にアップロードされ格納サーバ3001、30
02のうちの1つに格納される。マネジメントサーバ1
802に対してデータパッケージCONT.D002がアップロ
ードされたことを通知する、オフィス用PC710によ
りマネジメントサーバ1802に対して送信された信号
がアップロードされる。データパッケージCONT.D002
は、アクション「変更」が「追加」に代えて用いられて
いる点において、データパッケージCONT.D000およびCON
T.D001と異なっている。変更コマンドおよび関連する変
更情報は、特定ユーザに関連している。具体的には、変
更指示は、適切なID、この場合にはJohn Smithを表す
ID番号2に関連している。加えて、データパッケージ
CONT.D002は、変更すべきフィールド、この場合には
「電話」およびその新しい情報(この場合にはJohn Smi
thの新しい電話番号)を含む。
ントソフトウェアによるコンピュータスクリーンに表示
された「同期」ボタンを適用するので、新データパッケ
ージすなわち変更ログCONT.D002が生成されネットワー
ク700にアップロードされ格納サーバ3001、30
02のうちの1つに格納される。マネジメントサーバ1
802に対してデータパッケージCONT.D002がアップロ
ードされたことを通知する、オフィス用PC710によ
りマネジメントサーバ1802に対して送信された信号
がアップロードされる。データパッケージCONT.D002
は、アクション「変更」が「追加」に代えて用いられて
いる点において、データパッケージCONT.D000およびCON
T.D001と異なっている。変更コマンドおよび関連する変
更情報は、特定ユーザに関連している。具体的には、変
更指示は、適切なID、この場合にはJohn Smithを表す
ID番号2に関連している。加えて、データパッケージ
CONT.D002は、変更すべきフィールド、この場合には
「電話」およびその新しい情報(この場合にはJohn Smi
thの新しい電話番号)を含む。
【0139】この結果、家庭用PC702が上述した技
術を用いてネットワーク700に接続する際には、デー
タパッケージCONT.D002が家庭用PC702にダウンロ
ードされ、クライアントソフトウェアは、ID番号2に
ついて、フィールド「電話」内の情報が更新されている
ことを認識する。家庭用PCがネットワーク700に次
回接続する際には、家庭用PC702は、この家庭用P
C702がCONT.D002を受信したことを示す信号をマネ
ジメントサーバに送信する。この後、Microsoft社のOut
lookによりこの連絡情報に対して変更がなされる。家庭
用PC702は、この後、家庭用PC702がバージョ
ン番号2の連絡情報データパッケージにおける変更情報
を受信して適用したことを確認する確認情報を、マネジ
メントサーバ1802に対して送信する。家庭用PC7
02についてのレジストリにおける適切な情報がこの後
更新される。連絡情報についての変更情報を有するデー
タパッケージがこの後格納サーバに格納されていなけれ
ば、データパッケージは家庭用PC702にダウンロー
ドされない。
術を用いてネットワーク700に接続する際には、デー
タパッケージCONT.D002が家庭用PC702にダウンロ
ードされ、クライアントソフトウェアは、ID番号2に
ついて、フィールド「電話」内の情報が更新されている
ことを認識する。家庭用PCがネットワーク700に次
回接続する際には、家庭用PC702は、この家庭用P
C702がCONT.D002を受信したことを示す信号をマネ
ジメントサーバに送信する。この後、Microsoft社のOut
lookによりこの連絡情報に対して変更がなされる。家庭
用PC702は、この後、家庭用PC702がバージョ
ン番号2の連絡情報データパッケージにおける変更情報
を受信して適用したことを確認する確認情報を、マネジ
メントサーバ1802に対して送信する。家庭用PC7
02についてのレジストリにおける適切な情報がこの後
更新される。連絡情報についての変更情報を有するデー
タパッケージがこの後格納サーバに格納されていなけれ
ば、データパッケージは家庭用PC702にダウンロー
ドされない。
【0140】様々なクラスのデータについて変更がなさ
れるにつれて、データパッケージは、格納サーバ300
1、3002に蓄積し、格納空間を費やしてしまう。格納
されたデータパッケージの数が増加するにつれて、格納
サーバで利用できる格納空間が減少していく。上述した
例では、データパッケージCONT.D000は2キロバイト
(K)を占有し、CONT.D001は1Kを占有し、CONT.D002
は0.5Kを占有する。この結果、格納サーバで合計3.
5Kの格納空間がこれらの3つのファイルにより占有さ
れる。格納空間が例えば25メガバイト(M)に限定さ
れ、かつ、ユーザアカウントに制限が加えられることが
あるような状況では、格納サーバにユーザが利用可能な
格納空間がなくなるまで、利用可能な格納空間の量は情
報が更新されるにつれて減少し続ける。この後、ユーザ
は、もう変更ログを格納することができないので、スト
レスを感じ、データ転送および同期システム全体に対し
て不満を感じるであろう。
れるにつれて、データパッケージは、格納サーバ300
1、3002に蓄積し、格納空間を費やしてしまう。格納
されたデータパッケージの数が増加するにつれて、格納
サーバで利用できる格納空間が減少していく。上述した
例では、データパッケージCONT.D000は2キロバイト
(K)を占有し、CONT.D001は1Kを占有し、CONT.D002
は0.5Kを占有する。この結果、格納サーバで合計3.
5Kの格納空間がこれらの3つのファイルにより占有さ
れる。格納空間が例えば25メガバイト(M)に限定さ
れ、かつ、ユーザアカウントに制限が加えられることが
あるような状況では、格納サーバにユーザが利用可能な
格納空間がなくなるまで、利用可能な格納空間の量は情
報が更新されるにつれて減少し続ける。この後、ユーザ
は、もう変更ログを格納することができないので、スト
レスを感じ、データ転送および同期システム全体に対し
て不満を感じるであろう。
【0141】当業者であってもなくても、次に示すよう
なシナリオにおけるユーザのフラストレーションを理解
できるであろう。この例では、ユーザは自分の家庭用P
C702におけるMicrosoft社のOutlookの「インボック
ス」に2000通の電子メールを持っている。このユー
ザは、オフィス用PC710のようなその他の自分の装
置を家庭用PC702に同期させたいと思う。よって、
データパッケージMAIL.D000が、家庭用PC702にお
けるクライアントソフトウェアにより生成され、かつ、
格納を目的としてネットワーク700にアップロードさ
れる。このデータパッケージは、2000通すべての電
子メールを含んでおり、それぞれのデータパッケージ
は、関連するID番号および関連するアクション「追
加」を有している。この例では、データパッケージMAI
L.D000は、自分のアカウントに割り当てられた全25M
を有するユーザについて、ほぼ10Mのメモリを占有す
る。これを認識して、このユーザは、占有された空間の
量を減らすために、2000通のメッセージのうちの1
500通を消去する消去コマンドを実行する。この後、
1500の「消去」アクションを含んだ、新データパッ
ケージMAIL.D001が生成される。これらのアクションの
それぞれは、データパッケージMAIL.D000における電子
メールID番号のアクションのうちの特定のものに関連
している。新データパッケージMAIL.D001は、さらに1
Mのメモリを占有するので、結果としてサーバの格納空
間がさらに占有されてしまう。この結果、すべてのイベ
ントにおけるユーザは、占有された格納空間の量を10
Mからこの値の約1/4すなわち2.5Mにまで減らす
ことを期待するけれども、実際にはその量は11Mに増
加する。
なシナリオにおけるユーザのフラストレーションを理解
できるであろう。この例では、ユーザは自分の家庭用P
C702におけるMicrosoft社のOutlookの「インボック
ス」に2000通の電子メールを持っている。このユー
ザは、オフィス用PC710のようなその他の自分の装
置を家庭用PC702に同期させたいと思う。よって、
データパッケージMAIL.D000が、家庭用PC702にお
けるクライアントソフトウェアにより生成され、かつ、
格納を目的としてネットワーク700にアップロードさ
れる。このデータパッケージは、2000通すべての電
子メールを含んでおり、それぞれのデータパッケージ
は、関連するID番号および関連するアクション「追
加」を有している。この例では、データパッケージMAI
L.D000は、自分のアカウントに割り当てられた全25M
を有するユーザについて、ほぼ10Mのメモリを占有す
る。これを認識して、このユーザは、占有された空間の
量を減らすために、2000通のメッセージのうちの1
500通を消去する消去コマンドを実行する。この後、
1500の「消去」アクションを含んだ、新データパッ
ケージMAIL.D001が生成される。これらのアクションの
それぞれは、データパッケージMAIL.D000における電子
メールID番号のアクションのうちの特定のものに関連
している。新データパッケージMAIL.D001は、さらに1
Mのメモリを占有するので、結果としてサーバの格納空
間がさらに占有されてしまう。この結果、すべてのイベ
ントにおけるユーザは、占有された格納空間の量を10
Mからこの値の約1/4すなわち2.5Mにまで減らす
ことを期待するけれども、実際にはその量は11Mに増
加する。
【0142】したがって、可能であれば常に、格納サー
バに格納されているデータパッケージを、可能であれば
常に崩壊させることが望ましい。本発明の一実施形態に
基づいて提供されるように、データパッケージを崩壊さ
せる際には、通常、特定クラスのデータのためのデータ
パッケージを、消去されている余計な情報に結合させる
必要がある。上述した例を用いると、データパッケージ
MAIL.D000とMAIL.D001は、新データパッケージMAIL.D00
1を明確にするために、MAIL.D001における「消去」アク
ションが前データパッケージMAIL.D000における同一の
ID番号用の「追加」に置き換わるように、結合する。
別の例では、「消去」コマンドは、所定トランザクショ
ンにおける1つ以上のフィールドにしか適用されない。
この新データパッケージは、好ましくは、オリジナルの
MAIL.D001、すなわち「消去」アクションのみを有する
ものの上に上書きされる。したがって、データパッケー
ジMAIL.D000はもはや関係のないものとなるので消去さ
れる。この方法による「ベースをロール(コピー)する
こと」を実行した後、格納サーバには新MAIL.D001デー
タパッケージのみが残り、この結果、占有された格納空
間の量は、ユーザが期待していたように、10Mから約
2.5Mにまで減少する。
バに格納されているデータパッケージを、可能であれば
常に崩壊させることが望ましい。本発明の一実施形態に
基づいて提供されるように、データパッケージを崩壊さ
せる際には、通常、特定クラスのデータのためのデータ
パッケージを、消去されている余計な情報に結合させる
必要がある。上述した例を用いると、データパッケージ
MAIL.D000とMAIL.D001は、新データパッケージMAIL.D00
1を明確にするために、MAIL.D001における「消去」アク
ションが前データパッケージMAIL.D000における同一の
ID番号用の「追加」に置き換わるように、結合する。
別の例では、「消去」コマンドは、所定トランザクショ
ンにおける1つ以上のフィールドにしか適用されない。
この新データパッケージは、好ましくは、オリジナルの
MAIL.D001、すなわち「消去」アクションのみを有する
ものの上に上書きされる。したがって、データパッケー
ジMAIL.D000はもはや関係のないものとなるので消去さ
れる。この方法による「ベースをロール(コピー)する
こと」を実行した後、格納サーバには新MAIL.D001デー
タパッケージのみが残り、この結果、占有された格納空
間の量は、ユーザが期待していたように、10Mから約
2.5Mにまで減少する。
【0143】図18において、本発明の一実施形態に基
づいて構成されたベースローリングエンジン1806
は、データパッケージを期待通りに崩壊させるように設
けられている。ベースローリングエンジン1806は、
望ましくは、ネットワーク700に接続された装置エン
ジン1808の1つの中に配置される。一実施形態で
は、ベースローリングエンジン1806の実行はユーザ
により制御されるが、別の実施形態では、ベースローリ
ングエンジンは、データ転送および同期システムにより
自動的に実行される。ベースローリングエンジンが手動
で実行される場合には、ユーザは、家庭用PC702の
ような自分の装置の1つにより自分のアカウントにアク
セスし、自分のデータを圧縮するためのコマンドを出
す。一例としては、このコマンドは、ユーザのディスプ
レイスクリーンにグラフィカルインターフェイスの一部
として表示されている「ベースをロールする」ボタンの
上にポインタを単に移動させ、マウスまたはトラックボ
ールのような制御装置を用いてこのボタンをクリックす
ることにより、実行される。
づいて構成されたベースローリングエンジン1806
は、データパッケージを期待通りに崩壊させるように設
けられている。ベースローリングエンジン1806は、
望ましくは、ネットワーク700に接続された装置エン
ジン1808の1つの中に配置される。一実施形態で
は、ベースローリングエンジン1806の実行はユーザ
により制御されるが、別の実施形態では、ベースローリ
ングエンジンは、データ転送および同期システムにより
自動的に実行される。ベースローリングエンジンが手動
で実行される場合には、ユーザは、家庭用PC702の
ような自分の装置の1つにより自分のアカウントにアク
セスし、自分のデータを圧縮するためのコマンドを出
す。一例としては、このコマンドは、ユーザのディスプ
レイスクリーンにグラフィカルインターフェイスの一部
として表示されている「ベースをロールする」ボタンの
上にポインタを単に移動させ、マウスまたはトラックボ
ールのような制御装置を用いてこのボタンをクリックす
ることにより、実行される。
【0144】図19は、本発明の一実施形態に基づいて
実行される、データパッケージの崩壊方法を示す図であ
る。上述したように、各データパッケージすなわち各変
更ログは、格納サーバ3001、3002のようなレポジ
トリに格納されている。各変更ログ内には、複数のアイ
テム、一例としては、親ID、ID、アクション、およ
び1つ以上のフィールドが含まれている。親IDは、例
えば、アイテムが階層的に関連している状況において、
特定アイテムと別のアイテムとの関係を識別する。ID
およびアクションアイテムは、上述したように定義され
ている。各データパッケージのフィールドは、どの特定
フィールド、例えばデータのクラスを変更すべきなのか
を識別する。各フィールドは、好ましくは、固有の数値
を有し、かつ、フィールドについての変更情報を表現す
る属性を含む。
実行される、データパッケージの崩壊方法を示す図であ
る。上述したように、各データパッケージすなわち各変
更ログは、格納サーバ3001、3002のようなレポジ
トリに格納されている。各変更ログ内には、複数のアイ
テム、一例としては、親ID、ID、アクション、およ
び1つ以上のフィールドが含まれている。親IDは、例
えば、アイテムが階層的に関連している状況において、
特定アイテムと別のアイテムとの関係を識別する。ID
およびアクションアイテムは、上述したように定義され
ている。各データパッケージのフィールドは、どの特定
フィールド、例えばデータのクラスを変更すべきなのか
を識別する。各フィールドは、好ましくは、固有の数値
を有し、かつ、フィールドについての変更情報を表現す
る属性を含む。
【0145】図19には、ベースバージョンD000お
よびこの後のバージョンD001の2つのデータパッケ
ージが存在している。両バージョンとも、上述したアイ
テムと、1つ以上のフィールドを含む。具体的には、ベ
ースバージョンD000は、IDとしての2と、アクシ
ョン「追加」と、3つのフィールド、すなわち、属性"J
ohn"を持った「ファーストネーム」、属性"Smith"を持
った「ラストネーム」、関連するURL"http:://..."
を持った「ウェブページ」とを有する。バージョンD0
02は、IDとして2を持っているが、変更アクション
は「追加」ではなく「変更」である。バージョンD00
1は、1つのフィールド、すなわち、属性"Scott"を持
った「ファーストネーム」のみしか有していない。
よびこの後のバージョンD001の2つのデータパッケ
ージが存在している。両バージョンとも、上述したアイ
テムと、1つ以上のフィールドを含む。具体的には、ベ
ースバージョンD000は、IDとしての2と、アクシ
ョン「追加」と、3つのフィールド、すなわち、属性"J
ohn"を持った「ファーストネーム」、属性"Smith"を持
った「ラストネーム」、関連するURL"http:://..."
を持った「ウェブページ」とを有する。バージョンD0
02は、IDとして2を持っているが、変更アクション
は「追加」ではなく「変更」である。バージョンD00
1は、1つのフィールド、すなわち、属性"Scott"を持
った「ファーストネーム」のみしか有していない。
【0146】図19には、ユーザが「ベースをロールす
る」ためのコマンドを出すと、ベースローリングエンジ
ンは、バージョンD000およびD002が1つ以上の
同一のID番号を持っているかどうかを決定する。この
例では、D000もD002も同一のID番号2を有し
ているので、2つのデータパッケージは崩壊して1つの
ファイルになる。具体的には、新バージョンD002
は、生成されて、オリジナルのD002データパッケー
ジに置き換わる。親IDおよびID番号の2は変わらず
に、D002からの変更情報はバージョンD000に適
用される。具体的には、D000とD002の両方が共
通して持っているフィールド「ファーストネーム」は、
識別されて、データパッケージD002からの最新の属
性"Scott"が割り当てられる。アクションは「追加」の
ままであり、フィールド「ラストネーム」および「ウェ
ブページ」は、それぞれバージョンD000からの"Smi
th"および"URL"http://..."のままである。これによ
り、この例では、新しいD002は、フィールド「ファ
ーストネーム」が属性"Scott"に置き換わったことを除
いて、D000と本質的に同一である。元々のデータパ
ッケージD002に含まれた変更事項がデータパッケー
ジD000にも実際になされ、この結果、新しいデータ
パッケージD0002が生成される。この後、データパ
ッケージD000は消去される。
る」ためのコマンドを出すと、ベースローリングエンジ
ンは、バージョンD000およびD002が1つ以上の
同一のID番号を持っているかどうかを決定する。この
例では、D000もD002も同一のID番号2を有し
ているので、2つのデータパッケージは崩壊して1つの
ファイルになる。具体的には、新バージョンD002
は、生成されて、オリジナルのD002データパッケー
ジに置き換わる。親IDおよびID番号の2は変わらず
に、D002からの変更情報はバージョンD000に適
用される。具体的には、D000とD002の両方が共
通して持っているフィールド「ファーストネーム」は、
識別されて、データパッケージD002からの最新の属
性"Scott"が割り当てられる。アクションは「追加」の
ままであり、フィールド「ラストネーム」および「ウェ
ブページ」は、それぞれバージョンD000からの"Smi
th"および"URL"http://..."のままである。これによ
り、この例では、新しいD002は、フィールド「ファ
ーストネーム」が属性"Scott"に置き換わったことを除
いて、D000と本質的に同一である。元々のデータパ
ッケージD002に含まれた変更事項がデータパッケー
ジD000にも実際になされ、この結果、新しいデータ
パッケージD0002が生成される。この後、データパ
ッケージD000は消去される。
【0147】図20に示す別の実施形態では、3つの装
置、すなわち、装置A、装置Bおよび装置Cは、データ
ネットワーク700に接続することが可能である。一例
では、装置Aはパームトップコンピュータであり、装置
Bは家庭用PCであり、装置Cはオフィス用PCであ
る。別の例では、上述したような様々な別の装置が、装
置A、BおよびCとして用いられる。図20には、連絡
情報について少なくとも15個の異なる変更ログがデー
タネットワークにアップロードされているが、装置A、
BおよびCは、それぞれ異なるバージョンの連絡情報を
有する。装置Aの連絡情報は、CONT.D003にお
ける変更事項を含むようにしか更新されておらず、装置
BはCONT.D010を組み込むように更新され、装
置CはCONT.D015に更新されている。この例で
は、D0XXは連絡情報の連続的なバージョンを表す。
すなわち、このシーケンスにおける1番目の変更ログは
CONT.D000であり、このシーケンスにおける1
5番目の変更ログはCONT.D015である。これら
の変更ログすべては、データネットワークに接続された
格納サーバに格納されている。
置、すなわち、装置A、装置Bおよび装置Cは、データ
ネットワーク700に接続することが可能である。一例
では、装置Aはパームトップコンピュータであり、装置
Bは家庭用PCであり、装置Cはオフィス用PCであ
る。別の例では、上述したような様々な別の装置が、装
置A、BおよびCとして用いられる。図20には、連絡
情報について少なくとも15個の異なる変更ログがデー
タネットワークにアップロードされているが、装置A、
BおよびCは、それぞれ異なるバージョンの連絡情報を
有する。装置Aの連絡情報は、CONT.D003にお
ける変更事項を含むようにしか更新されておらず、装置
BはCONT.D010を組み込むように更新され、装
置CはCONT.D015に更新されている。この例で
は、D0XXは連絡情報の連続的なバージョンを表す。
すなわち、このシーケンスにおける1番目の変更ログは
CONT.D000であり、このシーケンスにおける1
5番目の変更ログはCONT.D015である。これら
の変更ログすべては、データネットワークに接続された
格納サーバに格納されている。
【0148】図20では、様々な装置間における連絡情
報のバージョンは、分割されている、すなわち、連続し
ていないが、格納サーバに格納された15のデータパッ
ケージは、本発明の一実施形態に基づいて崩壊される。
第1に、複数のベースバージョンが定められる。この例
では、第1ベースデータパッケージは、CONT.D0
00から始まって装置Aのバージョン(この例ではCO
NT.D003)まで続く上述したような連続的なデー
タパッケージを崩壊させることにより、定められる。第
2ベースデータパッケージは、装置AのバージョンCO
NT.D003および崩壊している連続した変更ログか
ら、装置Bのバージョン(この例ではCONT.D01
0)までにわたって、定められる。第3ベースデータパ
ッケージは、CONT.D010とCONT.D015
との間における、崩壊している連続したデータパッケー
ジにより、同様に定められる。これにより、3つの連続
したベースデータパッケージが、それぞれ、データパッ
ケージCONT.D013、D014およびD015に
置き換わる。この後、装置Aは新しいCONT.D01
3を含む連絡情報に対する変更事項を含むように、装置
BはCONT.D014を含むように、装置Cはバージ
ョンD015を含むように、それぞれ更新される。
報のバージョンは、分割されている、すなわち、連続し
ていないが、格納サーバに格納された15のデータパッ
ケージは、本発明の一実施形態に基づいて崩壊される。
第1に、複数のベースバージョンが定められる。この例
では、第1ベースデータパッケージは、CONT.D0
00から始まって装置Aのバージョン(この例ではCO
NT.D003)まで続く上述したような連続的なデー
タパッケージを崩壊させることにより、定められる。第
2ベースデータパッケージは、装置AのバージョンCO
NT.D003および崩壊している連続した変更ログか
ら、装置Bのバージョン(この例ではCONT.D01
0)までにわたって、定められる。第3ベースデータパ
ッケージは、CONT.D010とCONT.D015
との間における、崩壊している連続したデータパッケー
ジにより、同様に定められる。これにより、3つの連続
したベースデータパッケージが、それぞれ、データパッ
ケージCONT.D013、D014およびD015に
置き換わる。この後、装置Aは新しいCONT.D01
3を含む連絡情報に対する変更事項を含むように、装置
BはCONT.D014を含むように、装置Cはバージ
ョンD015を含むように、それぞれ更新される。
【0149】新ベースデータパッケージを定める処理を
通して、マネジメントサーバ1802は、各装置につい
てのレジストリにおいて、その装置に格納された最新バ
ージョン番号の連絡情報を維持する。上記した例では、
崩壊動作の前では、装置Aはバージョン3の状態であ
り、装置Bはバージョン10の状態であり、装置Cはバ
ージョン15の状態である。ベースローリングエンジン
はマネジメントサーバ1802と通信を行っているの
で、データパッケージが崩壊する際には、ベースローリ
ングエンジンは、マネジメントサーバ1802に対して
特定ユーザについての装置情報を要求して、このマネジ
メントサーバ1802から受信する。この装置情報は、
ユーザによって登録された装置すべてを識別し、かつ、
各装置に格納されたデータクラスの最新バージョンがど
のようなものであるかを識別する情報を含んでいる。
通して、マネジメントサーバ1802は、各装置につい
てのレジストリにおいて、その装置に格納された最新バ
ージョン番号の連絡情報を維持する。上記した例では、
崩壊動作の前では、装置Aはバージョン3の状態であ
り、装置Bはバージョン10の状態であり、装置Cはバ
ージョン15の状態である。ベースローリングエンジン
はマネジメントサーバ1802と通信を行っているの
で、データパッケージが崩壊する際には、ベースローリ
ングエンジンは、マネジメントサーバ1802に対して
特定ユーザについての装置情報を要求して、このマネジ
メントサーバ1802から受信する。この装置情報は、
ユーザによって登録された装置すべてを識別し、かつ、
各装置に格納されたデータクラスの最新バージョンがど
のようなものであるかを識別する情報を含んでいる。
【0150】この結果、崩壊動作の後に、装置Bを同期
させる際には、マネジメントサーバは装置Bがバージョ
ン14の状態にあることを認識するので、データパッケ
ージCONT.D015のみを装置Bにダウンロードす
る必要がある。同様に、装置Aが同期を行うためにネッ
トワークに接続する際には、CONT.D014におけ
る変更情報が最初に適用され、この後、CONT.D0
15における変更情報が適用される。このような更新は
すべて上述した技術を用いて実現される。
させる際には、マネジメントサーバは装置Bがバージョ
ン14の状態にあることを認識するので、データパッケ
ージCONT.D015のみを装置Bにダウンロードす
る必要がある。同様に、装置Aが同期を行うためにネッ
トワークに接続する際には、CONT.D014におけ
る変更情報が最初に適用され、この後、CONT.D0
15における変更情報が適用される。このような更新は
すべて上述した技術を用いて実現される。
【0151】装置がネットワークに接続される間に、1
つか2つの更新を実行することは、計算的に複雑ではな
いので、更新の全シーケンスを実行することよりも速く
なされる。これは、すべてのファイルをダウンロードす
るためには、通信チャネルを確立し、ファイルをダウン
ロードし、この後、このチャネルを閉じる必要がある、
という事実に基づく。このように接続を開閉することに
伴って高オーバーヘッドが生ずる。これを多く繰り返す
につれて、より多くの時間がかかるので、より高いコス
トがかかってしまう。上記例では、装置Aにバージョン
番号13の現行情報を与えるためにベースを上述したよ
うにロールしないとすれば、装置Aをバージョン番号3
からバージョン番号15に更新することが必要となるで
あろう。上記例を用いると、12個のファイルについて
は、接続を開き、ファイルをダウンロードし、接続を閉
じることを、12回行わなければならない。3個のファ
イルについては、このような繰り返しを3回だけ実行す
る必要がある。より少ないデータパッケージがネットワ
ークから装置Aに対して送信されるので、データの量が
小さくなる。この結果、徐々に、装置Aによる処理が少
なくなり、効率が向上する。
つか2つの更新を実行することは、計算的に複雑ではな
いので、更新の全シーケンスを実行することよりも速く
なされる。これは、すべてのファイルをダウンロードす
るためには、通信チャネルを確立し、ファイルをダウン
ロードし、この後、このチャネルを閉じる必要がある、
という事実に基づく。このように接続を開閉することに
伴って高オーバーヘッドが生ずる。これを多く繰り返す
につれて、より多くの時間がかかるので、より高いコス
トがかかってしまう。上記例では、装置Aにバージョン
番号13の現行情報を与えるためにベースを上述したよ
うにロールしないとすれば、装置Aをバージョン番号3
からバージョン番号15に更新することが必要となるで
あろう。上記例を用いると、12個のファイルについて
は、接続を開き、ファイルをダウンロードし、接続を閉
じることを、12回行わなければならない。3個のファ
イルについては、このような繰り返しを3回だけ実行す
る必要がある。より少ないデータパッケージがネットワ
ークから装置Aに対して送信されるので、データの量が
小さくなる。この結果、徐々に、装置Aによる処理が少
なくなり、効率が向上する。
【0152】本発明の上述した一実施形態によれば、ネ
ットワークサービスを介して個人情報を届けるためのユ
ーザ中心の通信モデルを提供することができる。このモ
デルは、様々な時間に、インターネットのようなネット
ワークに接続されていない装置を収容することができ
る。存在する情報にサーバ中心のモデルを押し付けるの
ではなく、個人情報は局部的に存在し続けることができ
る。
ットワークサービスを介して個人情報を届けるためのユ
ーザ中心の通信モデルを提供することができる。このモ
デルは、様々な時間に、インターネットのようなネット
ワークに接続されていない装置を収容することができ
る。存在する情報にサーバ中心のモデルを押し付けるの
ではなく、個人情報は局部的に存在し続けることができ
る。
【0153】上述した説明によれば、格納および転送情
報のブロードキャストが用いられる。存在する情報に対
する変更事項は、インターネット格納サーバにコピーが
取られた後、変更事項は、ネットワークにおける他の装
置によって装置に特化した時間に検索される。この方法
により、1対1の通信を必要とすることなく、直接クラ
イアント通信(direct client communication)が実現
される。1つの通信が本発明のシステムによってサポー
トされているが、これは必要ではない。
報のブロードキャストが用いられる。存在する情報に対
する変更事項は、インターネット格納サーバにコピーが
取られた後、変更事項は、ネットワークにおける他の装
置によって装置に特化した時間に検索される。この方法
により、1対1の通信を必要とすることなく、直接クラ
イアント通信(direct client communication)が実現
される。1つの通信が本発明のシステムによってサポー
トされているが、これは必要ではない。
【0154】本発明は、様々なタイプの装置の間で個人
情報を同期させることを目的として、インターネット格
納および転送ブロードキャストの形で表現されている
が、上述したシステムのためのアプリケーション専用と
して、同期を実現する必要はないことは、用意に理解で
きる。具体的には、システムは、一部分のデータのみし
かクライアントアプリケーションで変更する必要がない
ようないわゆる「プッシュ」がた情報アプリケーション
における情報に対する変更事項を効率的にブロードキャ
ストするために用いられうる。例えば、ストックプライ
スの変更事項のような情報を複数のユーザに対してブロ
ードキャストする必要があるようなシステムでは、上述
した技術を実行するクライアントアプリケーションは、
特定のストックプライスに関連した、クライアントアプ
リケーションにおける特定部分のデータを変更すること
のみにより、更新される。これは、他の装置を用いて以
前に決定されているものよりも小さいバンド幅を用いて
実行されうる。
情報を同期させることを目的として、インターネット格
納および転送ブロードキャストの形で表現されている
が、上述したシステムのためのアプリケーション専用と
して、同期を実現する必要はないことは、用意に理解で
きる。具体的には、システムは、一部分のデータのみし
かクライアントアプリケーションで変更する必要がない
ようないわゆる「プッシュ」がた情報アプリケーション
における情報に対する変更事項を効率的にブロードキャ
ストするために用いられうる。例えば、ストックプライ
スの変更事項のような情報を複数のユーザに対してブロ
ードキャストする必要があるようなシステムでは、上述
した技術を実行するクライアントアプリケーションは、
特定のストックプライスに関連した、クライアントアプ
リケーションにおける特定部分のデータを変更すること
のみにより、更新される。これは、他の装置を用いて以
前に決定されているものよりも小さいバンド幅を用いて
実行されうる。
【0155】上述した一実施形態が本発明の原理を説明
するだけのためものであることを理解されたい。さらな
る変更は当業者にとって明らかであるので、本発明の範
囲および思想から逸脱することなくこのような変更を施
すことが可能である。よって、本発明は、上述した特定
の詳細事項に限定されない。むしろ、別記請求項が本発
明の範囲内および思想内にあるような変形および変更を
含む、ということが意図されている。
するだけのためものであることを理解されたい。さらな
る変更は当業者にとって明らかであるので、本発明の範
囲および思想から逸脱することなくこのような変更を施
すことが可能である。よって、本発明は、上述した特定
の詳細事項に限定されない。むしろ、別記請求項が本発
明の範囲内および思想内にあるような変形および変更を
含む、ということが意図されている。
【図1】本発明の一実施形態に基づいて構成されたデー
タ転送および同期システムの一般化されたブロック図
タ転送および同期システムの一般化されたブロック図
【図2】本発明の一実施形態に基づいて構成されたデー
タ転送および同期システムの一般化されたブロック図
タ転送および同期システムの一般化されたブロック図
【図3】本発明の一実施形態に基づいて構成されたデー
タ転送および同期システムの一般化されたブロック図
タ転送および同期システムの一般化されたブロック図
【図4】本発明の一実施形態に基づいて構成されたデー
タ転送および同期システムの一般化されたブロック図
タ転送および同期システムの一般化されたブロック図
【図5】本発明の一実施形態に基づいて構成されたデー
タ転送および同期システムの一般化されたブロック図
タ転送および同期システムの一般化されたブロック図
【図6】本発明の一実施形態に基づいて構成されたデー
タ転送および同期システムの一般化されたブロック図
タ転送および同期システムの一般化されたブロック図
【図7】本発明の一実施形態に基づいて構成されたデー
タ転送および同期システムの一般化されたブロック図
タ転送および同期システムの一般化されたブロック図
【図8】本発明の一実施形態に基づいて構成されたデー
タ転送および同期システムにおけるシステム構造の一般
化されたブロック図
タ転送および同期システムにおけるシステム構造の一般
化されたブロック図
【図9A】本発明の一実施形態に基づいて構成されたデ
スクトップ装置エンジンの一般化されたブロック図
スクトップ装置エンジンの一般化されたブロック図
【図9B】本発明の一実施形態に基づいて構成されたサ
ーバ側装置エンジンの一般化されたブロック図
ーバ側装置エンジンの一般化されたブロック図
【図10】本発明の一実施形態に基づいて、Windows
(登録商標)のようなオペレーティングシステム環境に
おけるデスクトップ装置エンジンの一般化されたブロッ
ク図
(登録商標)のようなオペレーティングシステム環境に
おけるデスクトップ装置エンジンの一般化されたブロッ
ク図
【図11】本発明の一実施形態に基づいて構成された装
置エンジンに組み込まれるアプリケーションオブジェク
トの一般化されたブロック図
置エンジンに組み込まれるアプリケーションオブジェク
トの一般化されたブロック図
【図12】本発明の一実施形態に基づいて構成されたシ
ステムに用いられる汎用データフォーマットの格納オブ
ジェクト階層の一般化されたブロック図
ステムに用いられる汎用データフォーマットの格納オブ
ジェクト階層の一般化されたブロック図
【図13】本発明の一実施形態に基づいて実行されるル
ーチンに用いるアイテムオブジェクトのリスト
ーチンに用いるアイテムオブジェクトのリスト
【図14】本発明の一実施形態に基づいて構成されるマ
ネジメント格納サーバの一般化されたブロック図
ネジメント格納サーバの一般化されたブロック図
【図15】本発明の一実施形態に基づいて実行されるプ
ル同期を示す一般化されたフロー図
ル同期を示す一般化されたフロー図
【図16】本発明の一実施形態に基づいて実行されるプ
ッシュ同期を示す一般化されたフロー図
ッシュ同期を示す一般化されたフロー図
【図17】本発明の一実施形態に基づいて構成されたマ
ネジメントサーバ構造の一般化されたブロック図
ネジメントサーバ構造の一般化されたブロック図
【図18】本発明の一実施形態に基づいて構成されたベ
ースロールエンジンを有するデータ転送および同期シス
テムの一般化されたブロック図
ースロールエンジンを有するデータ転送および同期シス
テムの一般化されたブロック図
【図19】本発明の一実施形態に基づいて実行されるデ
ータパッケージを崩壊させる様子を示す図
ータパッケージを崩壊させる様子を示す図
【図20】それぞれが本発明の一実施形態に基づいて実
行される異なるバージョンのアプリケーション情報を有
する、データネットワークに接続された複数の装置のた
めのデータパッケージを崩壊させる様子を示す図
行される異なるバージョンのアプリケーション情報を有
する、データネットワークに接続された複数の装置のた
めのデータパッケージを崩壊させる様子を示す図
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ロバート イー ガーナー アメリカ合衆国 ジョージア州 30043 ローレンスヴィル ヒドゥン ウッド コ ート 309 (72)発明者 レイトン エイ リッドガード アメリカ合衆国 ジョージア州 30294 エレンウッド フレイクス ミル マナー レーン 4152 (72)発明者 ライアム ジェイ スタナード アメリカ合衆国 ジョージア州 30043 ローレンスヴィル プロスペクト ロード 1584 (72)発明者 ドナルド ダブリュ キャッシュ アメリカ合衆国 ジョージア州 30338 ダンウッディー ヴァンダーリン ドライ ヴ 1748 (72)発明者 ジョセフ ロバートソン アメリカ合衆国 ジョージア州 30683 ウィンターヴィル チャーリー ボルトン ロード 802 Fターム(参考) 5B082 GB02 HA05
Claims (6)
- 【請求項1】 データ転送および同期システムに格納さ
れるデータパッケージを崩壊させる方法であって、 識別番号と、アクションと、それぞれが変更情報を示す
属性を持った、複数のフィールドと、を含む第1トラン
ザクションを有する第1データパッケージを供給する工
程と、 前記第1トランザクションの後に続くようにされ、識別
番号と、アクションと、属性を持ったフィールドと、を
含む第2トランザクションを有する第2データパッケー
ジを供給する工程と、 前記第2トランザクションの前記識別番号が前記第1ト
ランザクションの前記識別番号に対応するかどうかを決
定する工程と、 前記第2トランザクションの前記フィールドが前記第1
トランザクションの前記フィールドの1つに対応するか
どうかを決定する工程と、 前記第1トランザクションおよび前記第2トランザクシ
ョンの前記識別番号が互いに対応し、かつ、前記第2ト
ランザクションの前記フィールドが前記第1トランザク
ションの前記フィールドの1つに対応する際に、前記識
別番号を持つ結合トランザクションを有する結合データ
パッケージを定めるために、前記第1データパッケージ
と前記第2データパッケージとを結合する工程と、 前記第2データパッケージを前記結合データパッケージ
に置き換える工程と、を具備することを特徴とする方
法。 - 【請求項2】 前記第1データパッケージを消去する工
程を具備することを特徴とする請求項1に記載の方法。 - 【請求項3】 前記第1データパッケージと前記第2デ
ータパッケージとを結合する工程は、 前記第2トランザクションのアクションの前記タイプを
決定する工程と、 前記第2トランザクションの前記アクションが「追加」
である際に、「追加」アクションと、対応するフィール
ドと、前記第2トランザクションの前記属性と、を含む
前記結合トランザクションを定める工程と、 前記第2トランザクションの前記アクションが「変更」
である際に、「変更」アクションと、対応するフィール
ドと、前記第2トランザクションの前記属性と、を含む
前記結合トランザクションを定める工程と、 前記第2トランザクションの前記アクションが「消去」
である際に、「消去」アクションと、対応するフィール
ドとを含む前記結合トランザクションを定める工程と、
を具備することを特徴とする請求項1に記載のデータパ
ッケージを崩壊させる方法。 - 【請求項4】 データ転送および同期システムに格納さ
れたデータパッケージを崩壊させる方法であって、 それぞれが、識別番号と、アクションと、それぞれが変
更情報を示す属性を有する複数のフィールドと、含む複
数の第1トランザクションを有する第1データパッケー
ジを供給する工程と、 前記第1トランザクションの後に続くようにされ、識別
番号と、アクションと、属性を持ったフィールドと、を
含む第2トランザクションを有する第2データパッケー
ジを供給する工程と、 前記第2トランザクションの前記識別番号が前記第1ト
ランザクションの前記識別番号の1つに対応するかどう
かを決定する工程と、 前記第2トランザクションの前記識別番号が前記第1ト
ランザクションの前記識別番号に対応する際に、前記1
つの第1トランザクションを認識する工程と、 前記第2トランザクションの前記フィールドが前記識別
された第1トランザクションの前記フィールドの1つに
対応するかどうかを決定する工程と、 前記第2トランザクションおよび前記識別された第1ト
ランザクションの識別番号が互いに対応し、かつ、前記
第2トランザクションの前記フィールドが前記識別され
た第1トランザクションの前記フィールドの1つに対応
する際に、前記識別番号を持った結合トランザクション
を有する結合データパッケージを定めるために、前記第
1データパッケージと前記第2データパッケージとを結
合する工程と、 前記第2データパッケージを前記結合データパッケージ
に置き換える工程と、を具備することを特徴とする方
法。 - 【請求項5】 データ転送および同期システムに格納さ
れたデータパッケージを崩壊させる方法であって、 第1装置に関連する第1ベースデータパッケージを定め
るために、第1複数のデータパッケージを崩壊させる工
程であって、各データパッケージは、トランザクション
と、前記第1装置のデータに適用されているすべての前
記トランザクションとを有する工程と、 第2装置に関連する第2ベースデータパッケージを定め
るために、第2複数のデータパッケージを崩壊させる工
程であって、各データパッケージは、トランザクション
と、前記第2装置のデータに適用されているすべての前
記トランザクションとを有する工程と、 第3装置に関連する第3ベースデータパッケージを定め
るために、第3複数のデータパッケージを崩壊させる工
程であって、各データパッケージは、トランザクション
と、前記第3装置のデータに適用されているすべての前
記トランザクションとを有する工程と、を具備する方
法。 - 【請求項6】 データネットワークに接続されたサーバ
における装置エンジン内に配置され、データ転送および
同期システムに格納されたデータパッケージを崩壊させ
るベースローリング装置であって、 識別番号と、アクションと、それぞれが変更情報を示す
属性を持った複数のフィールドとを含む第1トランザク
ションを有する第1データパッケージを供給する第1供
給部と、 前記第1トランザクションの後に続くようにされ、識別
番号と、アクションと、属性を持ったフィールドとを含
む第2トランザクションを有する第2データパッケージ
を供給する第2供給部と、 前記第1トランザクションの前記識別番号が前記第2ト
ランザクションの前記識別番号に対応するかどうかを決
定する第1決定部と、 前記第2トランザクションの前記フィールドが前記第1
トランザクションの前記フィールドの1つに対応するか
どうかを決定する第2決定部と、 前記第1トランザクションおよび前記第2トランザクシ
ョンの前記識別番号が互いに対応し、かつ、前記第2ト
ランザクションの前記フィールドが前記第1トランザク
ションの前記フィールドの1つに対応する際に、前記識
別番号を持った結合トランザクションを有する結合デー
タパッケージを定めるために、前記第1データパッケー
ジと前記第2データパッケージとを結合する第3結合部
と、 前記第2データパッケージを前記結合データパッケージ
に置き換える置換部と、を具備することを特徴とする装
置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/641,028 US7035878B1 (en) | 2000-01-25 | 2000-08-17 | Base rolling engine for data transfer and synchronization system |
US09/641028 | 2000-08-17 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2002149464A true JP2002149464A (ja) | 2002-05-24 |
Family
ID=24570647
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001287834A Pending JP2002149464A (ja) | 2000-08-17 | 2001-08-17 | データ転送および同期システム用のベースローリングエンジン |
Country Status (2)
Country | Link |
---|---|
EP (1) | EP1187421A3 (ja) |
JP (1) | JP2002149464A (ja) |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005293560A (ja) * | 2004-04-01 | 2005-10-20 | Microsoft Corp | 項目収束(すなわち、データ収束)を施行するための競合解決を伝播するシステムおよび方法 |
JP2005332388A (ja) * | 2004-05-03 | 2005-12-02 | Microsoft Corp | ピア・ツー・ピア規則に基づいたプル型自律的同期化システムを実施するためのシステムおよび方法 |
JP2006236350A (ja) * | 2005-02-22 | 2006-09-07 | Microsoft Corp | ゴースト化による同期 |
JP2007503049A (ja) * | 2003-08-21 | 2007-02-15 | マイクロソフト コーポレーション | 同期スキーマの実装のためのシステム |
JP2007503050A (ja) * | 2003-08-21 | 2007-02-15 | マイクロソフト コーポレーション | ハードウェア/ソフトウェアインタフェースシステムにより管理可能な情報のユニットに対する同期処理サービスを実現するシステムおよび方法 |
JP2007515695A (ja) * | 2003-08-21 | 2007-06-14 | マイクロソフト コーポレーション | ハードウェア/ソフトウェアインターフェースシステムにより管理可能な情報のユニットに対する関係および階層の同期サービスを実現するシステムおよび方法 |
JP2008525886A (ja) * | 2004-12-22 | 2008-07-17 | ソニー エリクソン モバイル コミュニケーションズ, エービー | モバイル金融トランザクション管理システム及び方法 |
JP2009129195A (ja) * | 2007-11-22 | 2009-06-11 | Ntt Docomo Inc | バックアップサーバ、移動機、およびこれらを用いた通信システム、ならびにバックアップ方法 |
JP2009527055A (ja) * | 2006-02-15 | 2009-07-23 | マイクロソフト コーポレーション | 同期ピア参加モデル |
US7574444B2 (en) | 2006-11-15 | 2009-08-11 | Palm, Inc. | Device-side data de-duping |
US7603435B2 (en) | 2006-11-15 | 2009-10-13 | Palm, Inc. | Over-the-air device kill pill and lock |
US7917534B2 (en) | 2003-08-21 | 2011-03-29 | Microsoft Corporation | Systems and methods for extensions and inheritance for units of information manageable by a hardware/software interface system |
JP2011519441A (ja) * | 2008-03-11 | 2011-07-07 | マイクロソフト コーポレーション | 切断データ/オフラインデータの処理/入力の同期化 |
US8001177B2 (en) | 2001-06-18 | 2011-08-16 | Hewlett-Packard Development Company, L.P. | Method and apparatus for automated personal information management data transfer for a wireless enabled handheld |
US8166101B2 (en) | 2003-08-21 | 2012-04-24 | Microsoft Corporation | Systems and methods for the implementation of a synchronization schemas for units of information manageable by a hardware/software interface system |
US8238696B2 (en) | 2003-08-21 | 2012-08-07 | Microsoft Corporation | Systems and methods for the implementation of a digital images schema for organizing units of information manageable by a hardware/software interface system |
JP2013178819A (ja) * | 2008-03-04 | 2013-09-09 | Apple Inc | データ同期プロトコル |
US9037685B2 (en) | 2006-11-15 | 2015-05-19 | Qualcomm Incorporated | Intelligent migration between devices having different hardware or software configuration |
JP2015153111A (ja) * | 2014-02-13 | 2015-08-24 | キヤノン株式会社 | 画像形成装置及びその制御方法 |
JP2015524677A (ja) * | 2012-05-23 | 2015-08-27 | キングドットコム リミテッドKing.Com Ltd | インタラクティブ・ゲームプレイのためのシステム及び方法 |
JP2015181246A (ja) * | 2006-02-23 | 2015-10-15 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | 電気通信デバイス間のプロファイルデータ共有 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6804699B1 (en) | 2000-07-18 | 2004-10-12 | Palmone, Inc. | Identifying and locating lost or stolen personal digital assistant devices via a landline- or wireless-connected web server |
GB2420882A (en) * | 2004-12-02 | 2006-06-07 | Nec Technologies | Database synchronisation system |
US8135798B2 (en) | 2006-11-15 | 2012-03-13 | Hewlett-Packard Development Company, L.P. | Over-the-air device services and management |
CN111753141B (zh) * | 2019-03-26 | 2024-06-11 | 华为技术有限公司 | 一种数据管理方法及相关设备 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5392390A (en) * | 1992-04-10 | 1995-02-21 | Intellilink Corp. | Method for mapping, translating, and dynamically reconciling data between disparate computer platforms |
US5706509A (en) * | 1995-04-28 | 1998-01-06 | Intel Corporation | Application independent record level synchronization |
AU6500596A (en) * | 1995-07-20 | 1997-02-18 | Novell, Inc. | Transaction log management in a disconnectable computer and network |
US5884323A (en) * | 1995-10-13 | 1999-03-16 | 3Com Corporation | Extendible method and apparatus for synchronizing files on two different computer systems |
US5819020A (en) * | 1995-10-16 | 1998-10-06 | Network Specialists, Inc. | Real time backup system |
WO1998021648A1 (en) * | 1996-11-13 | 1998-05-22 | Puma Technology, Inc. | Synchronization of databases |
US5999947A (en) * | 1997-05-27 | 1999-12-07 | Arkona, Llc | Distributing database differences corresponding to database change events made to a database table located on a server computer |
-
2001
- 2001-08-17 JP JP2001287834A patent/JP2002149464A/ja active Pending
- 2001-08-17 EP EP01306992A patent/EP1187421A3/en not_active Withdrawn
Cited By (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8001177B2 (en) | 2001-06-18 | 2011-08-16 | Hewlett-Packard Development Company, L.P. | Method and apparatus for automated personal information management data transfer for a wireless enabled handheld |
US7917534B2 (en) | 2003-08-21 | 2011-03-29 | Microsoft Corporation | Systems and methods for extensions and inheritance for units of information manageable by a hardware/software interface system |
US8238696B2 (en) | 2003-08-21 | 2012-08-07 | Microsoft Corporation | Systems and methods for the implementation of a digital images schema for organizing units of information manageable by a hardware/software interface system |
JP2007503049A (ja) * | 2003-08-21 | 2007-02-15 | マイクロソフト コーポレーション | 同期スキーマの実装のためのシステム |
JP2007503050A (ja) * | 2003-08-21 | 2007-02-15 | マイクロソフト コーポレーション | ハードウェア/ソフトウェアインタフェースシステムにより管理可能な情報のユニットに対する同期処理サービスを実現するシステムおよび方法 |
JP2007515695A (ja) * | 2003-08-21 | 2007-06-14 | マイクロソフト コーポレーション | ハードウェア/ソフトウェアインターフェースシステムにより管理可能な情報のユニットに対する関係および階層の同期サービスを実現するシステムおよび方法 |
US8166101B2 (en) | 2003-08-21 | 2012-04-24 | Microsoft Corporation | Systems and methods for the implementation of a synchronization schemas for units of information manageable by a hardware/software interface system |
JP2005293560A (ja) * | 2004-04-01 | 2005-10-20 | Microsoft Corp | 項目収束(すなわち、データ収束)を施行するための競合解決を伝播するシステムおよび方法 |
JP4690076B2 (ja) * | 2004-04-01 | 2011-06-01 | マイクロソフト コーポレーション | 項目収束(すなわち、データ収束)を施行するための競合解決を伝播するシステムおよび方法 |
JP2005332388A (ja) * | 2004-05-03 | 2005-12-02 | Microsoft Corp | ピア・ツー・ピア規則に基づいたプル型自律的同期化システムを実施するためのシステムおよび方法 |
JP2008525886A (ja) * | 2004-12-22 | 2008-07-17 | ソニー エリクソン モバイル コミュニケーションズ, エービー | モバイル金融トランザクション管理システム及び方法 |
JP2006236350A (ja) * | 2005-02-22 | 2006-09-07 | Microsoft Corp | ゴースト化による同期 |
JP2009527055A (ja) * | 2006-02-15 | 2009-07-23 | マイクロソフト コーポレーション | 同期ピア参加モデル |
JP2015181246A (ja) * | 2006-02-23 | 2015-10-15 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | 電気通信デバイス間のプロファイルデータ共有 |
US9037685B2 (en) | 2006-11-15 | 2015-05-19 | Qualcomm Incorporated | Intelligent migration between devices having different hardware or software configuration |
US8903945B2 (en) | 2006-11-15 | 2014-12-02 | Qualcomm Incorporated | Over the air services for mobile devices |
US7603435B2 (en) | 2006-11-15 | 2009-10-13 | Palm, Inc. | Over-the-air device kill pill and lock |
US7574444B2 (en) | 2006-11-15 | 2009-08-11 | Palm, Inc. | Device-side data de-duping |
JP2009129195A (ja) * | 2007-11-22 | 2009-06-11 | Ntt Docomo Inc | バックアップサーバ、移動機、およびこれらを用いた通信システム、ならびにバックアップ方法 |
JP4719732B2 (ja) * | 2007-11-22 | 2011-07-06 | 株式会社エヌ・ティ・ティ・ドコモ | バックアップサーバ、移動機、およびこれらを用いた通信システム、ならびにバックアップ方法 |
JP2013178819A (ja) * | 2008-03-04 | 2013-09-09 | Apple Inc | データ同期プロトコル |
JP2011519441A (ja) * | 2008-03-11 | 2011-07-07 | マイクロソフト コーポレーション | 切断データ/オフラインデータの処理/入力の同期化 |
JP2015524677A (ja) * | 2012-05-23 | 2015-08-27 | キングドットコム リミテッドKing.Com Ltd | インタラクティブ・ゲームプレイのためのシステム及び方法 |
JP2015153111A (ja) * | 2014-02-13 | 2015-08-24 | キヤノン株式会社 | 画像形成装置及びその制御方法 |
Also Published As
Publication number | Publication date |
---|---|
EP1187421A3 (en) | 2004-04-14 |
EP1187421A2 (en) | 2002-03-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7035878B1 (en) | Base rolling engine for data transfer and synchronization system | |
JP2002149464A (ja) | データ転送および同期システム用のベースローリングエンジン | |
US6671757B1 (en) | Data transfer and synchronization system | |
US6694336B1 (en) | Data transfer and synchronization system | |
US8156074B1 (en) | Data transfer and synchronization system | |
EP1130511A2 (en) | Data transfer and synchronization system | |
US9418132B2 (en) | System for an open architecture deployment with centralized synchronization | |
CN101167069B (zh) | 文件对等同步的系统和方法 | |
US6578054B1 (en) | Method and system for supporting off-line mode of operation and synchronization using resource state information | |
US6694335B1 (en) | Method, computer readable medium, and system for monitoring the state of a collection of resources | |
CN103595730B (zh) | 一种密文云存储方法和系统 | |
US20010037407A1 (en) | System and method for managing user-specific data | |
US20020078180A1 (en) | Information collection server, information collection method, and recording medium | |
US7587446B1 (en) | Acquisition and synchronization of digital media to a personal information space | |
WO2003083684A1 (en) | Method and apparatus for synchronizing how data is stored in different data stores | |
CN101399729A (zh) | 资料下载与上传管理系统及方法 | |
US20040015811A1 (en) | Method and apparatus for the creation of software applications |