(57)【要約】  比較的大型の変更可能文書を、各種デバイスを利用する複数のクライアントと同期して共有するための方法、システム、およびコンピュータ可読記憶媒体。この方法は、１人以上のクライアントから、それぞれのクライアントデバイスで使用するための好適なフォーマットに関する命令を受信する。この方法はさらに、文書原本中の意味的な区切りに基づいて共有文書のサブセクションを定義し、各サブセクションについてサブセクションＩＤを作成する。このサブセクションＩＤをクライアントに対し送信すると、クライアントはそのＩＤを参照して、１以上のサブセクションを各自のデバイス上で受信することを要求することができる。要求されたサブセクションは、要求に応じてそれぞれのクライアントデバイス上での使用のためコード変換をして、クライアントに対し送信する。このとき、クライアントが１以上のサブセクションを変更すると、これらの変更を他のクライアントデバイス上にある対応するサブセクションに加えることができる。
2008542875.tif 000002
【特許請求の範囲】
【請求項１】
文書を複数クライアントと同期するための方法であって、
前記１人以上のクライアントのそれぞれがデータを受信することを望むフォーマットに関して、前記１人以上のクライアントから指示を受信することと、
１人以上の前記クライアントにとって興味を持つ可能性のある文書原本の、前記文書原本の中の意味的な区切りに対応するサブセクションを定義することと、
前記サブセクションのそれぞれを特定するサブセクションＩＤを作成することと、
前記１人以上のクライアントに対し、前記サブセクションＩＤのリストを送信することと、
前記１人以上のクライアントのうち少なくとも一人から、１以上の前記サブセクションに対し購読(subscribe)する要求を受信することと、
前記要求に応じて、１人以上の前記クライアントが購読を望む前記文書原本の１以上の前記サブセクションを、１人以上のクライアントのそれぞれがデータを受信するための前記フォーマットに、コード変換することと、
前記コード変換され購読されたサブセクションを、前記１人以上のクライアントに対し、それぞれの購読要求にしたがって送信することと
を備えたことを特徴とする方法。
【請求項２】
少なくとも一つの操作を前記購読しているクライアントのうち一人から受信して、前記文書原本の購読されたサブセクションを変更することをさらに備えたことを特徴とする請求項１に記載の方法。
【請求項３】
１人以上のクライアントが購読する前記文書原本の前記１以上のサブセクションを、前記文書原本の前記コンテンツを示す数値にハッシュすることと、
前記文書原本の前記変更されたサブセクションを、前記少なくとも一つの変更されたサブセクションの前記コンテンツを示す数値にハッシュすることと、
前記文書原本の前記サブセクションの前記数値を、前記変更されたサブセクションの前記数値と比較して、前記文書原本の前記サブセクションが変更されたか否かを判定することと、
前記サブセクションを購読するクライアントに対して、前記クライアントが前記サブセクションを変更するに当たって使用するため、前記サブセクションに関連する前記少なくとも一つの操作を提供することと
をさらに備えたことを特徴とする請求項２に記載の方法。
【請求項４】
前記文書原本の前記１以上のサブセクションを前記ハッシュすること、および前記文書原本の前記変更されたサブセクションを前記ハッシュすることの前に、前記１以上のサブセクションの前記フォーマット属性を削除することをさらに備えたことを特徴とする請求項３に記載の方法。
【請求項５】
少なくとも一つの操作を前記購読しているクライアントの一人から前記受信することは、対象となる前記サブセクションのコンテンツを変更するための少なくとも一つの操作を受信すること、対象となる前記サブセクションに対してコンテンツを追加するための少なくとも一つの操作を受信すること、対象となる前記サブセクションからコンテンツを削除するための少なくとも一つの操作を受信することのうち少なくとも一つの操作を含むことを特徴とする請求項２に記載の方法。
【請求項６】
前記少なくとも一つの操作によりサブセクションにコンテンツが追加されるとき、前記サブセクションＩＤの更新リストをすべてのクライアントに対し送信することと、
前記少なくとも一つの操作が前記サブセクションのコンテンツを変更または削除するとき、前記購読しているクライアントのうち一人からの前記少なくとも一つの操作を購読しているクライアントに対して送信することと
をさらに備えたことを特徴とする請求項５に記載の方法。
【請求項７】
少なくとも一つの操作を前記購読している他のクライアントから受信して、前記購読されたサブセクションを変更することと、
前記購読しているクライアントの一人から受信する前記少なくとも一つの操作と、前記購読している他のクライアントから同じ購読されたサブセクションを変更するために受信する前記少なくとも一つの操作との間に衝突(conflict)があればそれを解決することと
をさらに備えたことを特徴とする請求項２に記載の方法。
【請求項８】
前記任意の衝突を解決することは、変更権限の階層構造を適用して、前記購読しているクライアントのうち一人または前記購読している他のクライアントから受信する前記少なくとも一つの操作を適用するか否かを、前記階層構造の中での購読しているそれぞれのクライアントの前記位置に基づいて決定することを備えたことを特徴とする請求項７に記載の方法。
【請求項９】
前記任意の衝突を解決することは、前記購読しているクライアントが前記少なくとも一つの操作のそれぞれを開始したタイミングに基づいて、時間的な条件を満たす前記少なくとも一つの操作を利用することをさらに備えたことを特徴とする請求項７に記載の方法。
【請求項１０】
前記文書原本の前記サブセクションを前記定義することは、前記前記文書を、前記前記文書に関連するコンテンツのテーブルに基づいて、前記文書の中の論理的な区切りを特定する前記サブセクションに分割することを備えたことを備えたことを特徴とする請求項１に記載の方法。
【請求項１１】
前記文書原本の前記サブセクションを前記定義することは、前記文書の固有の構造に基づいて、前記コンテンツのテーブルを作成することをさらに備えたことを特徴とする請求項１０に記載の方法。
【請求項１２】
前記文書原本の前記サブセクションを前記定義することは、クライアント定義のコンテンツのテーブルを利用することをさらに備えたことを特徴とする請求項１０に記載の方法。
【請求項１３】
前記サブセクションのそれぞれを特定するサブセクションＩＤを前記作成することは、前記サブセクションの前記名称と前記文書の中における前記サブセクションの前記位置とを合わせて関連付けることをさらに備えたことを特徴とする請求項１に記載の方法。
【請求項１４】
前記サブセクションの前記コンテンツの前記サンプル部分を参照するため、非購読のクライアントに対してサブセクションのサンプル部分を提供することと、
前記サンプルに選ばれたサブセクションに対し購読するかまたは購読しないかを決意するため、前記非購読のクライアントに対して選択要素を提供すること
をさらに備えたことを特徴とする請求項１に記載の方法。
【請求項１５】
前記サンプル部分を要求するための選択要素を、前記非購読のクライアントに対して提供することをさらに備えたことを特徴とする請求項１４に記載の方法。
【請求項１６】
サブセクションのサンプル部分を前記提供することは、前記ネットワークと前記デバイスとのうち少なくとも一つ前記の能力に基づいて、前記非購読のクライアントの前記デバイスへのダウンロードと格納とのため合理的なサイズのサンプル部分を提供することをさらに備えたことを特徴とする請求項１４に記載の方法。
【請求項１７】
前記クライアントが前記文書のサブセクションに対し購読または非購読することができる少なくとも一つの選択要素を有するユーザインタフェースを提供することをさらに備えたことを特徴とする請求項１に記載の方法。
【請求項１８】
文書を、ネットワークを経由するシステムとの接続に適合する複数のクライアントと同期するためのシステムであって、
前記ネットワークとの接続に適合するサーバであって、前記１人以上の前記クライアントのそれぞれが前記ネットワークを経由して前記サーバからデータを受信することを望むフォーマットに関する指示を、１人以上の前記クライアントから受信するサーバと、
前記クライアントの一人以上にとって興味をもつ可能性のある文書原本を格納するための、前記サーバとの接続に適合するデータベースと
を備えるシステムであって、
前記サーバは、
前記データベース上に格納する前記文書原本の、前記文書原本中での意味的な区切りに対応するサブセクションを定義することと、
前記サブセクションのそれぞれを特定するサブセクションＩＤを作成することと、
前記１人以上のクライアントに対し、前記ネットワークを経由して前記サブセクションＩＤのリストを送信することと、
前記１人以上のクライアントのうち少なくとも一人から、前記ネットワークを経由して１以上のサブセクションに購読を望む要求を受信することと、
前記要求に応じて、１人以上の前記クライアントが購読を望む前記文書原本の１以上の前記サブセクションを、コード変換することと、
前記コード変換され購読されたサブセクションを、前記１人以上のクライアントに対し、それぞれの購読要求にしたがって送信することと
を備えたサーバであることを特徴とするシステム。
【請求項１９】
１人以上のクライアントのそれぞれがデータを受信するためのフォーマットに関する指示を、前記１人以上のクライアントから受信する受信ステップと、
１人以上の前記クライアントにとって興味を持つ可能性のある文書原本に関し、前記文書原本の中の意味的な区切りに対応するサブセクションを定義する定義ステップと、
前記サブセクションのそれぞれを特定するサブセクションＩＤを作成する作成ステップと、
前記１人以上のクライアントに対し、前記サブセクションＩＤのリストを送信する送信ステップと、
前記１人以上のクライアントのうち少なくとも一人から、前記１以上のサブセクションに購読を望む要求を受信する受信ステップと、
前記要求に応じて、１人以上の前記クライアントが購読を望む文書原本の１以上の前記サブセクションを、前記１人以上のクライアントのそれぞれがデータを受信するための前記フォーマットにコード変換するコード変換ステップと、
前記コード変換され購読されたサブセクションを、前記１人以上のクライアントに対し、それぞれの購読要求にしたがって送信する送信ステップと
を実行するための、文書を複数クライアントと同期するためのコンピュータ実行可能命令を有することを特徴とするコンピュータ可読記憶媒体。
【請求項２０】
少なくとも一つの操作を前記購読しているクライアントのうち一人から受信して、前記文書原本の購読されたサブセクションを変更する受信ステップと、
１人以上のクライアントが購読する前記文書原本の１以上の前記サブセクションを、前記文書原本の前記コンテンツを示す数値にハッシュするハッシュステップと、
前記文書原本の前記変更されたサブセクションを、前記少なくとも一つの変更サブセクションの前記コンテンツを示す数値にハッシュするハッシュステップと、
前記文書原本の前記サブセクションの数値と前記変更されたサブセクションの前記数値とを比較して、前記文書原本のサブセクションが変更されたか否かを判定する比較ステップと、
前記サブセクションを購読しているクライアントに対し、前記クライアントが前記サブセクションを変更するに当たって使用するため、前記サブセクションに関連する前記少なくとも一つの操作を提供する提供ステップと
を実行するためのコンピュータ実行可能命令をさらに備えることを特徴とする請求項１９に記載のコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施例は、複数のクライアントがネットワークを経由し、各種デバイス上でアクセスおよび変更可能な文書を同期および更新することに関する。より詳しくは、本発明の実施例は、特定の各クライアントにとって興味を持つ部分の文書のみを提供して通信速度を増し、ファイル格納要求を最小限に抑えることで、比較的大型の文書を複数のクライアント間で断片的に、オンデマンドで同期できる方法、コンピュータ可読記憶媒体、およびデータ構造に関する。
【背景技術】
【０００２】
多数の組織が、とりわけＨＴＭＬ（ハイバーテキスト マークアップ言語）、マイクロソフトワード、ＰＤＦ（ポータブル ドキュメント フォーマット）、およびテキストなどの各種のフォーマットで格納されている比較的大きい共有文書を利用する。例えば、このような大型文書には、法律事務所が保有する共有法律文書または、技術関係の事務所または法人が保有する共有技術文書が含まれる。一般的なデバイス上での利用を阻むこのような文書には、３つの重要な特性がある。（１）文書が極めて膨大になり得る、（２）文書が頻繁に変更される、および（３）文書が、各クライアントの利用する特定のデバイス（モバイルデバイスを含む）を用いて読み取りおよび表示が可能なフォーマットではないことがある。詳細には、今日のモバイルデバイスの多くは、少なくとも三つの領域、すなわち、接続性、ストレージ、および機能性においてデスクトップデバイスに後れを取っている。例えば、ＧＰＲＳ（Ｇｅｎｅｒａｌ  Ｐａｃｋｅｔ  Ｒａｄｉｏ  Ｓｅｒｖｉｃｅ）通信は、帯域幅が狭く、接続待ち時間が長い特性を示す。その上、典型的な、低価格、普及型、モバイルデバイスの有するであろうメモリはおよそ３２ＭＢなので、これが格納できる文書のサイズを厳しく制限する。また、多数のデバイス上で文書にアクセスし表示するためのコードまたはプログラムは存在しない。その上、ユーザインタフェースのスケーリング問題のため、フォーマットによってはうまくレンダリングできるものとそうでないものがある。加えて、文書フォーマットによっては、少ないメモリを使用して拡張できるものとそうでないものがある。これらの問題全部が相俟って、各種のデバイス、特にモバイルデバイス上で比較的大型の文書を協同し広範に使用することを阻んでいる。
【０００３】
デバイス上への、比較的大型の文書のダウンロード、表示、編集、および更新に伴う他の問題は、このような文書をダウンロードするために必要な時間である。一例として、比較的大型の文書をすでにデバイス上にダウンロードしており、文書の中で小さい変更だけが必要であるとき、文書全部をダウンロードすることは、乏しい帯域幅、メモリ、時間、および費用（例えば、転送データ量によるネットワーク課金）の無駄遣いである。
【０００４】
従来のシステムは、ファイル同期システムおよび方法を用いてこれらの問題を対処しようとする。従来のファイル同期ソリューションは、文書全部をデバイスに対して複製することを必要とする。ＰＣベースのアプリケーションの中には、一歩先に進んで、文書をデバイスが読み取ることのできるフォーマットにコード変換するものがあるが、これら従来のソリューションの双方が抱える問題は、未だに数多い。例えば、文書全体の大規模な同期は、上述のように、すべてのデバイスが、限られたメモリの中に文書のコンテンツ全体を格納することができることを必要とする。その上、文書の小さい部分を変更することは、文書全体をそのデバイスにダウンロードする結果となる。無線ネットワーク（例えば，ＧＰＲＳ）の帯域幅が狭く待ち時間が長い従来の特性、および転送データのバイト当たりで支払う従来の料金体系のため、文書全体をデバイスにダウンロードするのは、（費用と時間の双方で）高くつく。他の従来の方法においては、長い文書の個別のページを、１ページずつダウンロードして、一度に転送するデータの量を軽減することもできる。しかしながら、このソリューションは、ストリーミング可能なファイル（例えば、ｈｔｍｌファイル）のみにしか適用することができず、クライアントデバイスとプログラムとの間の相違のため、クライアントが受信ページを編集するのには余り向いていないことが多い。その上、このプロセスによっては、情報のダウンロードができるのみであって、クライアント変更の編集および更新は提供していない。他の従来システムは、データをオフラインで同期して、信頼性の低い接続に伴う問題を回避する。このソリューションは、しかしながら、不適切な格納と転送時間の問題には対処していない。これらは大型の文書サイズのため、未だにオフライン同期が抱える問題なのかもしれない。
【０００５】
残念ながら、従来のシステムはいずれもこれらの問題に対処していない。したがって、複数クライアントの間での大型文書の同期を改善する解決法が望ましい。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
したがって、これらおよびその他の欠点の一つまたは複数に対処するには、興味を持つ部分の文書のみを特定の各クライアントに対して送信することにより比較的大型の文書を複数のクライアントの間で断片的に、オンデマンドで同期する方法（またはコンピュータ可読記憶媒体またはデータ構造）が望まれる。好都合なことに、本発明の少なくとも一つの実施形態は、文書の各部分を特定のモバイルデバイスが理解するフォーマットに個別にコード変換する。加えて、変更を加える毎に変更されたサブセクション全体をダウンロードするのではなく、本発明の少なくとも一つの実施形態は、クライアントが購読する文書のこれら変更部分のみを変更するための指示をダウンロードする。一般的に、本発明の態様では、１人以上のクライアントから好適なデータフォーマットに関する命令を受信することにより複数のクライアントが文書を同期すること、文書原本のサブセクションを定義すること、各サブセクションを特定するサブセクションＩＤを作成すること、１人以上のクライアントに対してそのサブセクションＩＤのリストを送信すること、１人以上のクライアントのうち少なくとも一人から、１以上のサブセクションを購読する要求を受信すること、要求に応じて、１以上のサブセクションを各クライアントにとって好適なフォーマットにコード変換すること、およびコード変換され購読されたサブセクションを、それぞれのクライアントの購読要求にしたがって送信することができる。例えば、本発明の実施形態は、それぞれが別個のデバイスを利用するクライアントのグループによる、一つの大型共有文書上での協同作業に適している。図面を通じて、対応する参照文字は対応する部分を示す。
【課題を解決するための手段】
【０００７】
本発明の一態様においては、複数のクライアントが文書を同期するための方法を開示する。その方法は、１人以上のクライアントのそれぞれがデータを受信するためのフォーマットに関する命令を、１人以上のクライアントからの受信を含む。その方法はさらに、１人以上のクライアントが興味をもつ可能性がある得る文書原本に関してサブセクションを定義する。このサブセクションは文書原本中の意味の変わり目に対応する。その方法はさらに、サブセクションのそれぞれを特定するサブセクションＩＤを作成して、そのサブセクションＩＤのリストを１人以上のクライアントへの送信を含む。その方法はさらに、１人以上のクライアントのうち少なくとも一人から、１以上のサブセクションの購読を望む要求を受信し、その要求に応じて、１人以上のクライアントが購読を望む文書原本の１以上のサブセクションを、１人以上のクライアントのそれぞれがデータを受信するためのフォーマットにコード変換する。その方法はまた、コード変換され購読されたサブセクションを、１人以上のクライアントに対し、それぞれの購読要求にしたがって送信する。
【０００８】
本発明の他の態様において、ネットワークを経由してシステムとの接続に適した複数のクライアントと文書を同期するためのシステムは、サーバおよびデータベースを含む。このシステムはよりネットワークとの接続に適しており、１人以上のクライアントから、１人以上のクライアントのそれぞれがネットワーク経由でサーバからデータを受信するためのフォーマットに関する命令を受信することに適している。このシステムはさらに、１人以上のクライアントが興味をもつ可能性がある文書原本を格納するためサーバに接続するのに適するデータベースを含む。サーバはさらに、データベースに格納する文書原本のサブセクションを定義する構成となっている。定義するサブセクションは、文書原本中の意味的な区切りに対応する。このシステムはさらにサブセクションのそれぞれを特定するサブセクションＩＤを作成し、サブセクションＩＤのリストを１人以上のクライアントそれぞれに対し、ネットワークを経由して送信する。このシステムはさらに、１人以上のクライアントのうち少なくとも一人から、１以上のサブセクションを購読する要求をネットワーク経由で受信する。システムはまた、受信した要求に応じて、１人以上のクライアントが購読を望む文書原本の１以上のサブセクションをコード変換し、コード変換され購読されたサブセクションを、１人以上のクライアントに対し、それぞれの購読要求にしたがって送信する。
【０００９】
本発明のさらに他の態様において、本発明の方法およびシステムに関係して一般的に上述するような、受信、定義、作成、送信、受信、コード変換、および送信のためのコンピュータ実行可能命令を有するコンピュータ可読記憶媒体を開示する。
【００１０】
本発明は、代替として各種の他の方法、コンピュータ可読記憶媒体、システムおよびデータ構造を含んでもよい。
【００１１】
他の特徴は、以下において、一部は明白にし、一部は指摘する。
【発明を実施するための最良の形態】
【００１２】
ここで図１を参照して、ネットワーク２９経由でシステムとの接続に適応する複数のクライアント２５が文書を同期するための、概して２１で示される本発明のシステムを描写した図を示す。このシステム２１の詳細はここで説明し、かつ以下の説明を通じて参照する。システム２１は、一般的にサーバ３３とデータベース３７を含む。図解する実施形態の中のサーバ３３は、４１においてクライアント２５に対しネットワーク経由で命令を送信するためおよび、４５において１人以上のクライアントからネットワーク経由で命令を受信するため、ネットワーク２９との接続に適応している。データベース３７は、１人以上のクライアント２５に対し、興味を持ちうる文書原本を格納するためサーバ３３との接続に適応している。さらに、サーバ３３は４９において命令をデータベース３７に対して送信し、５１において命令をデータベースから受信することができる。クライアント２５のそれぞれは、５５において、ネットワークに対する連絡の送信およびネットワークからの連絡の受信を含めて、ネットワーク２９と直接通信する構成となっている。システム２１のサーバ３３とデータベース３７も、本発明の複数の方法と関連して下記に説明する機能を提供する構成となっている。
【００１３】
文書を複数のクライアントと同期する方法
図１および図３−３Ｄを参照して、複数のクライアント２５と文書を同期するための方法を開示し、直前に上述したシステム２１および図３−３Ｄのフローチャートに関連して記述する。ここで使用される、デバイスを経由してやりとりするクライアントまたはユーザ２１は、任意の数のエンティティでよく、個人、個人のグループ、または１人以上の個人の制御下で機能する自動化されたデバイスをあらわしている。ここで使用されるデバイス、コンピュータ、またはコンピューティングデバイスという用語は、各種多様なデバイスを含んでもよく、特にパーソナルコンピュータ、ラップトップコンピュータ、またはハンドヘルドコンピュータはもちろん、携帯電話、携帯情報端末、および他のポータブルメディアデバイスを含むがこれに限定されるものではない。ここに明記されていない、文書にアクセスするための他のデバイスまたは手段も、本発明の範囲内にあると考える。
【００１４】
本方法によると、サーバ３３は、４５において、１人以上のクライアント２５から、１人以上のクライアントのそれぞれがデータを受信するためのフォーマットに関する命令を受信する（図３を参照）。一例において、このフォーマット選択は、プロセスの早期に生じてデバイスとのすべての通信が理解可能のフォーマットで行われるのを確実にする場合もあるが、このような選択がプロセスの後期に起こることも考慮される。それぞれのクライアントは、任意の数の異なるフォーマットを要求でき、とりわけｈｔｍｌ形式、フォーマットしたテキスト文書（例えば、マイクロソフトワード文書、リッチテキスト形式文書、ポータブルドキュメントフォーマット（ＰＤＦ）など）、ＡＳＣＩＩテキスト形式、を含む。システム２１と本発明の方法とは、４１において各クライアントに送信するためのデータをコード変換するときにこれらのフォーマット命令を利用でき、そのため各クライアントが送信されたデータにアクセスできるのを確実にする。
【００１５】
ここで図２を参照すると、１人以上のクライアント２５の興味を持ちうる文書の図を一般的に６１で示す。共通文書を用い協同する複数のクライアント２５は、本発明のシステムおよび方法から恩恵を受ける。詳細には、特定の大型文書を共有するクライアント２５は、本発明のシステムおよび方法を利用することにより、機能面で多大な利益を得られる。図２の文書６１がこのような比較的大型の文書であると仮定すると、本発明の方法は、７５においてさらに、それぞれ６５で示される文書原本のサブセクションＡ−Ｆを定義する（図３を参照）。これらのサブセクションは、文書原本６１中の意味または論理的な区切りに対応する。一例において、サブセクション６５は、文書原本に付随するコンテンツのテーブルによって設定する。文書６１のコンテンツのテーブルまたは別の論理的組織的体系を利用してサブセクションを設定することにより、本発明は文書をクライアント２５が理解できる論理的なサブセクションに分割できる。その上、サブセクション６５は文書の中の論理的な位置から始まって終わる可能性が高い。この独特の基本構想は、本文のページの終わり、各サブセクション中の語数、各サブセクションのメモリ割当、または他の無原則な尺度に基づいて文書を分割する従来の方法よりも遙かに直観的で有用である。
【００１６】
一例において、７５において文書原本６１のサブセクション６５の定義は、同じく７５において、文書の中の論理的な区切りを特定しながら文書に付随するコンテンツのテーブルに基づいて文書を分割することを含む（図３を参照）。コンテンツのテーブルは文書６１の起案者がすでに文書のコンテンツにしたがって論理的に作成してあるものなので、このようなコンテンツのテーブルを利用することで適切なサブセクション６５を定義することができる。一例においては、このようなコンテンツのテーブルをクライアントが定義する。コンテンツのテーブルが存在しない場合は、文書原本６１のサブセクション６５は、文書自体の本来の構造に基づいてコンテンツのテーブルを作成することにより定義できる。例えば、コンテンツのテーブルの自動作成は、任意の数の方法で行うことが可能であり、それらはマイクロソフトワード文書のアウトラインビューを活用すること、文書が含むタイトルまたは副題を利用すること、および文書の中のホワイトスペース認識を利用すること、を含む。コンテンツのテーブルを自動的に設定するための他の方法も、権利を主張する発明の範囲内と考える。
【００１７】
本方法は、７９において、サブセクション６５のそれぞれを特定するサブセクションＩＤの作成について考える（図３を参照）。これらのサブセクションＩＤは、クライアントによる参照および検討を容易にするため、任意の数の論理的な方法で構造化することができる。一例において、サブセクションＩＤの作成は、同じく７９において、サブセクション６５の名称と文書内のサブセクションの位置とを連結することを含む。この方法により、サブセクション６５の概要と他のサブセクションに対するその相対位置との双方が、単にサブセクションＩＤを参照することで容易に分かる。図２のサブセクション６５については、例えば、１Ａ、２Ｂ、３Ｃ、４Ｄ、５Ｅ、および６Ｆ、のように簡単でもよい。ここで、サブセクションＩＤの数値部分は文書６１中のサブセクションの位置を示し、文字Ａ−Ｆはそのサブセクション中に記述されている要旨を示す。図２の例示的な実施形態において、文字Ａ−Ｆはサブセクションのコンテンツを示す見出し的なタイトルで置き換えることができる（例えば、１リンゴ、２バナナ、など）。当業者は容易に考えるように、このようなサブセクションＩＤを特定する他の方法も、権利を主張する発明の範囲を逸脱することなく、使用される。
【００１８】
サブセクションＩＤを決定すると、４１において、サーバ３３はサブセクションＩＤのリストを１人以上のクライアント２５に対しネットワーク２９経由で送信するので、クライアントはサブセクションＩＤを参照して、自分が購読を望むサブセクションを決定することができる（図１および３を参照）。このようにして、クライアント２５は迅速に文書６１のサブセクションＩＤすなわちそのコンテンツの要約を精査して、サブセクションＩＤを参照する前に文書全体または文書の一部すらダウンロードすることなく、サブセクション６５のいずれかを購読したいか否かを決定することができる。
【００１９】
それぞれのクライアント２５は、５５において、ネットワーク２９を経由し、１以上のサブセクション６５を購読する要求を送信する選択肢を有する。サーバ３３は、このような１以上のサブセクション６５を購読する要求を、８３において、１人以上のクライアント２５のうち少なくとも一人から受信する（図３を参照）。サーバ３３は、各クライアント２５からの各種購読要求を受信することができ、各クライアントが各自のデバイス上の文書６１をカスタマイズできるようにする。例えば、図１および２に示すように、サーバ３３は、４５において、クライアント１からサブセクションＡを受信する要求を受ける一方で、クライアント２はサブセクションＡ、Ｃ、およびＦを受信することを決め、その間にクライアント３はサブセクションＦのみを受信することを選択する。この例において、システム２１は、文書全体をそれぞれのクライアント２５に対して送信するのではなく、単数または複数のサブセクション６５のみを、要求したクライアントそれぞれに対して送信できる。
【００２０】
４１においてデータを１人以上のクライアントに対して送信する前に、サーバ３３は８７において、（単数または複数の）クライアントの要求に応じ、１人以上のクライアント２５が購読を望む文書原本６１の１以上のサブセクション６５を、１人以上のクライアントのそれぞれがデータの受信希望フォーマットに、コード変換する（図３を参照）。上述の例において、購読されたサブセクション６５のそれぞれを、各クライアント２５特定のフォーマット要求にしたがって、アクセスと変更のためコード変換する。ここで使用されているように、コード変換する項目は、使用するアプリケーション、使用する言語、採用する表示デバイス、または必要な通信プロトコルにかかわりなく、各種の異なるプラットホームの上で、アクセスし、表示し、変更し、および／または別途に利用することができるように、フォーマットまたは設定する項目である。コード変換された文書を利用すること、またはコード変換した表示を作成することにより、幾つかの異なるクライアント２５が、同一の文書６１またはファイルを、異なるプログラム、画面、プロトコル、などを用いる異なるデバイス上に表示することができる。これにより、それぞれが別個のデバイスを用いるクライアント２５のグループによる、大型共有文書６１の上での協同作業が可能になる。ここで、コード変換は代替としてクライアント２５において生じる場合もあることに注意しなければならない。
【００２１】
コード変換し終えると、サーバ３３は、９１において、コード変換され購読されたサブセクション６５を１人以上のクライアント２５に対し、それぞれの購読要求にしたがって送信する（図３を参照）。こうして、クライアント２５は、自分が購読したサブセクション６５のコンテンツを表示することができる。一例において、サーバ３３は、特定のクライアント２５が購読するサブセクションのみを送信する。この例において、サーバ３３は、クライアントが購読していないサブセクションをそのクライアントに送信することはない。各クライアントは、以下に詳細を説明するように、任意の時期にサブセクションの追加、サブセクションの削除、またはサブセクションの変更ができ、個別に購読の変更ができる。
【００２２】
サブセクションのサンプリング
他の例において、本発明の特徴を具体化する方法はさらに、９５において、サブセクションのコンテンツのサンプル部分を参照するため、非購読のクライアント２５に対してサブセクション６５のサンプル部分７１を提供する（図３Ａを参照）。ある場合には、サブセクションＩＤのみでは、文書６１のサブセクション６５に対する購読を考えているそれぞれの非購読のクライアント２５に対して、適切な情報を提供できないかもしれない。システム２１は、１以上のサブセクション６５のサンプル部分７１を参照のためクライアントに対し追加提供する。一例において、システム２１は、９７において、１以上のサブセクション６５のサンプル部分７１を要求する非購読のクライアント２５に対し追加して選択要素を提供する（図３Ａを参照）。他の例においては、システム２１は、一つあるいは幾つか、または全サブセクション６５をサンプル部分７１として自動的に提供する。サンプル部分７１がサブセクションＩＤに含まれる場合、システム２１は、９９において、サンプルとして選択されたサブセクション６５を購読するか購読しないかを選択させるため、非購読のクライアントに対して選択要素を提供する。他の機能は、任意の特定のクライアント２５がダウンロードまたはアップロードするデータの量を最小限にすることにより、本方法の比較的な使いやすさを維持することに役立つ。詳しく説明すると、サブセクション６５のサンプル部分７１を提供することはさらに、同じく９５において、ネットワークとデバイスのうち少なくとも一つの能力に基づき、非購読のクライアント２５のデバイスにとって適当なダウンロードおよび格納のためにサンプル部分のサイズを定める。当業者は、本発明の包括的な恩恵、すなわち、帯域幅およびクライアントデバイスおよびネットワークのメモリを、特定のクライアント２５の要望を満たすのに必要なほぼ最小限度まで賢明に使用することに対し、否定的な影響を与えない正しいサイズのサンプル部分７１を選択する方法を容易に理解するであろう。
【００２３】
ここでの選択要素は一般的に、本方法によりクライアント２５がシステム２１のサーバ３３とやりとりすることができるように提供される。一例において、サーバ３３は、１０３において、クライアント２５とやりとりするためのクライアントのデバイスに組み込まれたユーザインタフェースを提供することにより、このような機能を提供する（図３を参照）。このようなユーザインタフェースは、例えば、クライアントが文書６１のサブセクション６５に対し購読または非購読することのできる少なくとも一つの選択要素を含む。ここで説明するように、別の選択要素も、ユーザインタフェースを通じて各クライアント６５に提供できる。
【００２４】
クライアントによるサブセクションの変更
特定のサブセクション６５の参照を完了すると、クライアント２５は、自分のデバイス上のアプリケーションを使用してサブセクションに対し１以上の変更を行うことがある。これらの変更は、二、三例を挙げると、本文の追加、本文の削除、本文の変更、本文の再編成を含む多数のことを行う。詳細に説明すると、サーバ３３は、１０５において、購読しているクライアント２５のうち一人から、興味を持ちうるサブセクション６５のコンテンツを変更する、興味を持ちうるサブセクションのコンテンツに追加する、または興味を持ちうるサブセクションのコンテンツを削除する命令を含む少なくとも一つの操作を受信する（図３を参照）。これらの操作のうち１以上の組合せも、本方法によりサーバ３３が受信し得る。これらの変更は、自動的にまたはクライアント２５が明確に指示して、サーバ３３に送信される。ここで、変更されたサブセクション６５全体をサーバ３３に対して送信する必要はなく、購読しているクライアント２５のうち一人がサブセクションに対して開始した操作のみを送信することに注意することが重要である。例えば、クライアント２５が第一の文字列（例えば、「Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ」）の表現全部を削除して、それらを第二の文字列（例えば、「ＷＷＷ」）で置き換えようとするとき、第一の文字列を第二の文字列で置換する比較的簡単な操作のみを、それぞれの購読しているクライアントためにサブセクション６５への適用をサーバ３３に対して送信する必要があるだけである。変更されたサブセクション全体ではなく、操作のみを送受信することにより、遙かに少ないデータが転送され、それにより更新をサーバ３３が受信し購読しているクライアント２５に対して返信する必要メモリ量を軽減して速度を増加する。
【００２５】
ここで、図３Ｄを参照すると、本発明の特徴によりさらに同期のチェックを行うことができる。定期的に、または、クライアント２５が特定のサブセクション６５を変更したことを示す情報をサーバ３３が受信し、それに応じて、本システム２１のサーバは、データベース３７の中に格納するサブセクションを、クライアントデバイス中に格納されたサブセクションの一つあるいは幾つか、または全部と比較できる。一例において、システム２１は、１０７において、文書原本の対象となる（単数または複数の）サブセクション６５であって、１人以上のクライアント２５が購読するサブセクション６５を、文書原本のコンテンツを表示する数値にハッシュする（図３Ｄを参照）。次いでシステム２１は、１０９において、文書原本６１の変更されたサブセクション６５を、少なくとも一つの変更されたサブセクションのコンテンツを表示する数値にハッシュする。これら二つのハッシュ数値を用い、システム２１は、１１１において、文書原本６１のサブセクション６５の数値を変更されたサブセクションの数値と比較して、文書原本のサブセクションが変更されたか否かを判定する（図３Ｄを参照）。単にデータの追加または削除であっても、一旦変更を検出すると、システム２１は、１１３において、そのサブセクションを購読するクライアント２５に対して、各クライアントがそのサブセクションを変更する際に使用する、変更されたサブセクション６５に関連する（単数または複数の）操作を提供する。このような変更の後、各クライアント２５は変更されたサブセクションの同一のコピーを有し、それにより文書６１における最新の変更を即座に参照しアクセスすることができる。一例において、サーバ３３は、１１５において、（複数または単数の）操作によりサブセクション６５にコンテンツが追加されると、サブセクションＩＤの更新リストを全クライアントに送信する。この動作により、購読しているクライアントに対しては、それらが特別興味のあるサブセクション６５に関係する情報を与え、非購読のクライアントに対しては、追加コンテンツに特別の関心があるときそのサブセクションを購読する機会を与える。
【００２６】
（単数または複数の）操作が、サブセクション６５のコンテンツを変更するか削除するだけである他の例において、サーバ３３は、１１７において、購読しているクライアント２５のうち一人からの（単数または複数の）操作を、購読しているすべてのクライアントに対して送信する（図３Ｃを参照）。この例において、購読しているクライアントはサブセクション６５の更新版を、自分のデバイス上に維持したいという意思が表れている。しかしながら、サーバは、これらの変更または削除の操作を非購読のクライアント２５に対しては送信しない。というのもサブセクション６５中の情報の削除または変更は、非購読のクライアントにとって関心事項にならないと思われるからである。
【００２７】
他の例において、サーバ３３は、１１９において、文書原本６１の１以上のサブセクションをハッシュする前および、文書原本の変更されたサブセクションをハッシュする前に、１以上のサブセクション６５のフォーマット属性を削除する（図３Ｄを参照）。これにより、クライアントデバイス上のサブセクション６５に生じたかも知れないフォーマット変更が、元のサブセクションと変更の可能性のあるサブセクションとのハッシュを比較するとき、変更された文書のサブセクションに誤って影響しないことを確実にする。
【００２８】
購読しているクライアント２５に対して変更を送信することに加え、システムは、変更されたサブセクション６５に関する通知を、変更されたサブセクションに購読していないクライアントにも送信する。一例において、変更されたサブセクション６５に関する通知を、変更されたサブセクションに購読していないクライアントに送信することは、１１５において、サブセクションＩＤのリストを更新して変更されたサブセクションを示すことを含む（図３Ｃを参照）。この方法により、非購読のクライアント２５は、単にサブセクションＩＤの更新リストを参照するだけで、この場合も各サブセクションをダウンロードすることなく、サブセクションが変更されたか否かを判定することができる。
【００２９】
さらに他の例において、二人以上のクライアント２５が、同一文書サブセクション６５に対して変更を試み、システム２１が衝突を解決する方法の採用を必要とする場合がある。このような場合に、サーバ３３は、１２１において、二人以上の購読しているクライアント２５（例えば、クライアント１とクライアント２）から同一購読のサブセクションを変更する少なくとも一つの操作を受信することがある（図３Ｂを参照）。サーバ３３は、１２３において、同一購読のサブセクション６５を変更するため、購読しているクライアント２５のうち一人から受信する（単数または複数の）操作と、購読している他のクライアントから受信する（単数または複数の）操作との間に衝突があれば、衝突を解決する方法を採用することにより、解決する。一例において、サーバ３３は、変更権限の階層構造を適用し、クライアント１からまたはクライアント２から受信する少なくとも一つの操作を適用するか否かを、階層構造の中における購読しているクライアント２５それぞれの位置に基づいて決定する。例えば、クライアント２がクライアント１より変更権限階層構造において上に格付けされているときは、クライアント１の変更の代わりにクライアント２の変更を利用する。他の例において、サーバ３３は、衝突があれば、購読しているクライアント２５がそれぞれの操作を実行したタイミングに基づいて、受信操作のうち時間的な要件を満たす操作を利用することにより、解決する。サーバ３３は、二、三例を挙げると、二つの変更操作の早い方、二つの変更操作の遅い方、または特定の時間に近い方の変更操作を利用する。システム２１は、同時にまたは代替として、衝突解決のため自身の変更は使用されない結果となったとき、クライアント２５に対して通知するので、当該変更は利用されないことをクライアントが認知する。
【００３０】
他の例において、サーバ３３は、少なくとも一つの操作をクライアント１とクライアント２から受信して、一人のクライアント（例えば、クライアント１）の操作を他のクライアント（例えば、クライアント２）に対し送信する。自身の有する操作とサーバから送信されたクライアント１の操作とを用いて、クライアント２は、次いで、提示された変更のそれぞれを逐次参照し、あるとすれば二組の操作のうちどの操作を採用すべきかを判定する。このようにして、クライアント２５のうち一人は、衝突解決の役割を果たす。当業者には容易に理解されるように、発明の権利範囲を逸脱することなく、任意の数の衝突解決策を利用することができる。
【００３１】
文書を複数クライアントと同期するためのコンピュータ可読記憶媒体
図４は、一般的に１２５で示す本発明のコンピュータ可読記憶媒体（ＣＲＭ）の図解である。コンピュータ可読記憶媒体は、文書を複数クライアントと同期するためコンピュータ実行可能命令を有する。各ステップを実行するためのコンピュータ実行可能命令は、１人以上のクライアントのそれぞれがデータを受信するためのフォーマットに関する命令を、１人以上のクライアントから受信するための受信命令を含む。コンピュータ実行可能命令はさらに、１人以上のクライアントが興味を持つ可能性のある文書原本において、当該文書原本内の意味的な区切りに対応するサブセクションを定義するための定義命令を含む。コンピュータ実行可能命令はさらに、サブセクションのそれぞれを特定するサブセクションＩＤを作成するための作成命令、およびサブセクションＩＤのリストを１人以上のクライアントに対し送信するための送信命令を含む。コンピュータ実行可能命令はさらに、１人以上のクライアントから、１以上のサブセクションに購読する要求を受信するための受信命令を含む。コンピュータ実行可能命令はさらに、要求に応答して、１人以上のクライアントが購読を望む１以上の文書原本のサブセクションを、１人以上のクライアントのそれぞれがデータを受信するためのフォーマットにコード変換するためのコード変換命令を含む。コンピュータ実行可能命令はさらに、コード変換され購読されたサブセクションを、１人以上のクライアントに対して、それぞれの購読要求にしたがって、送信するための送信命令を含む。
【００３２】
同じく図４に描写する他の実施例において、コンピュータ実行可能命令はさらに、文書原本の購読されたサブセクションを変更する少なくとも一つの操作を、購読しているクライアントのうち一人から受信するための、受信命令を含む。コンピュータ実行可能命令はさらに、１人以上のクライアントが購読する１以上の文書原本のサブセクションを、文書原本のコンテンツを示す数値にハッシュするためのハッシュ命令および、文書原本の変更されたサブセクションを、少なくとも一つの変更されたサブセクションのコンテンツを示す数値にハッシュするためのハッシュ命令を含む。コンピュータ実行可能命令はさらに、文書原本のサブセクションの数値を、変更されたサブセクションの数値と比較して、文書原本のサブセクションが変更されたか否かを判定するための比較命令を含む。コンピュータ実行可能命令はさらに、サブセクションに購読するクライアントに対して、そのクライアントがそのサブセクションを変更する際に使用するため、サブセクションに関連する少なくとも一つの操作を提供するための提供命令を含む。
【００３３】
例
以下の例は、本発明の模範的同期アルゴリズムを示す。一般的に上述したように、クライアント２５は、サーバ３３に対して、自身が受信を望むデータのフォーマットを明確にすることから開始する（例えば、サーバ文書６１はマイクロソフトワード形式で格納されるのに対し、デバイスは基本的なＨＴＭＬしか理解しない）。ここに模範的なユーザ要求を示す。
【００３４】
＜Ｓｙｎｃ＞
＜ＣｏｎｔｅｎｔＴｙｐｅ＞ＢａｓｉｃＨｔｍｌ＜／ＣｏｎｔｅｎｔＴｙｐｅ＞
＜／Ｓｙｎｃ＞
この例における文書原本６１の五つのサブセクション６５を定義し、サブセクションそれぞれを特定する固有のサブセクションＩＤ（例えば、Ｐａｒｔ１、Ｐａｒｔ２、など）を作成した後、サーバ３３は、４１において、ＩＤのリストを送信することによりクライアント２５に応答し、その後、クライアントは文書の特定のサブセクションに「購読」することができる。模範的なサーバ応答は次のようになるであろう。
＜Ｓｙｎｃ＞
＜ＳｕｂＳｅｃｔｉｏｎ＞
＜Ｉｄ＞Ｐａｒｔ１＜／Ｉｄ＞
＜Ｔｉｔｌｅ＞
これは、ＨＴＭＬ形式にコード変換したｐａｒｔ１のサブセクションタイトルである
＜／Ｔｉｔｌｅ＞
＜／ＳｕｂＳｅｃｔｉｏｎ＞
＜ＳｕｂＳｅｃｔｉｏｎ＞
＜Ｉｄ＞Ｐａｒｔ２＜／Ｉｄ＞
＜Ｔｉｔｌｅ＞
これは、ＨＴＭＬ形式にコード変換したｐａｒｔ２のサブセクションタイトルである
＜／Ｔｉｔｌｅ＞
＜ＳｕｂＳｅｃｔｉｏｎ＞
＜Ｉｄ＞Ｐａｒｔ３＜／Ｉｄ＞
＜Ｔｉｔｌｅ＞
これは、ＨＴＭＬ形式にコード変換したｐａｒｔ３のサブセクションタイトルである
＜／Ｔｉｔｌｅ＞
＜／ＳｕｂＳｅｃｔｉｏｎ＞
＜ＳｕｂＳｅｃｔｉｏｎ＞
＜Ｉｄ＞Ｐａｒｔ４＜／Ｉｄ＞
＜Ｔｉｔｌｅ＞
これは、ＨＴＭＬ形式にコード変換したｐａｒｔ４のサブセクションタイトルである
＜／Ｔｉｔｌｅ＞
＜ＳｕｂＳｅｃｔｉｏｎ＞
＜Ｉｄ＞Ｐａｒｔ５＜／Ｉｄ＞
＜Ｔｉｔｌｅ＞
これは、ＨＴＭＬ形式にコード変換したｐａｒｔ５のサブセクションタイトルである
＜／Ｔｉｔｌｅ＞
＜／ＳｕｂＳｅｃｔｉｏｎ＞
＜／Ｓｙｎｃ＞
サブセクションＩＤをクライアント２５に表示した後、クライアントは、そのクライアントが購読したいサブセクション６５を明確にして、サーバ３３に対し要求を送信する。当該要求の以下の例において、サブセクション６５はサブセクションＩＤにより確認する。
＜Ｓｕｂｓｃｒｉｂｅ＞
＜ＳｕｂＳｅｃｔｉｏｎ＞Ｐａｒｔ１＜／ＳｕｂＳｅｃｔｉｏｎ＞
＜ＳｕｂＳｅｃｔｉｏｎ＞Ｐａｒｔ３＜／ＳｕｂＳｅｃｔｉｏｎ＞
＜／Ｓｕｂｓｃｒｉｂｅ＞
【００３５】
サーバ３３は、クライアント２５それぞれに送信するサブセクションの追加、変更、および削除の組合せを判定する。削除を判定するには、サーバ３３が、特定のサブセクション６５が文書６１から消滅したことを認知する。変更を判定するには、サーバ３３は、クライアント２５がすでに購読しているサブセクション６５に関してコンテンツのハッシュが変化したことを認知する。追加を判定するには、サーバ３３は、文書６１に新規のサブセクション６５が導入されたか、またはクライアント２５が以前に購読していたサブセクションに購読したかのいずれかを認知する。サーバ３３による応答４１は、個別のクライアントサブセクションに関する追加、変更、および削除を含む。４１においてクライアント２５に対し送信する変更は、クライアントが購読しているとき、サブセクション６５のコンテンツを含むのみである。そうでないとき、クライアント２５は変更、および幾つかの例においては、基本的サブセクションＩＤの変化に関する通知を受ける。以下は、サーバ３３の典型的な応答である。
【００３６】
＜Ｓｙｎｃ＞
＜Ｃｈａｎｇｅ＞
＜Ｉｄ＞Ｐａｒｔ１＜／Ｉｄ＞
＜Ｄａｔａ＞
これは文書のｐａｒｔ１の中のデータである。サブセクションＩＤを送信していないことに注意。サーバがこのデータを送信するのは、クライアントが文書のｐａｒｔ１に購読しているからである。
【００３７】
＜／Ｄａｔａ＞
＜／Ｃｈａｎｇｅ＞
＜Ｃｈａｎｇｅ＞
＜Ｉｄ＞Ｐａｒｔ３＜／Ｉｄ＞
＜Ｄａｔａ＞
変更がないので、サーバはｐａｒｔ２を送信していないことに注意。
【００３８】
＜／Ｄａｔａ＞
＜／Ｃｈａｎｇｅ＞
＜Ｃｈａｎｇｅ＞
＜Ｉｄ＞Ｐａｒｔ４＜／Ｉｄ＞
＜Ｔｉｔｌｅ＞
Ｐａｒｔ４のタイトルが変更された。クライアントはＰａｒｔ４に購読していないが、サーバは、タイトルを送信していることに注意。これにより、クライアントは、必要であれば、Ｐａｒｔ４に購読し始める決定を的確に行うことができる。
【００３９】
＜／Ｔｉｔｌｅ＞
＜／Ｃｈａｎｇｅ＞
＜Ｄｅｌｅｔｅ＞
＜Ｉｄ＞Ｐａｒｔ５＜／Ｉｄ＞
＜／Ｄｅｌｅｔｅ＞
＜Ａｄｄ＞
＜Ｉｄ＞Ｐａｒｔ６＜／Ｉｄ＞
＜Ｔｉｔｌｅ＞
文書に対し新規のサブセクション（Ｐａｒｔ６）を導入した。クライアントは次回の同期において購読を選択することができる。
【００４０】
＜／Ｔｉｔｌｅ＞
＜／Ａｄｄ＞
＜／Ｓｙｎｃ＞
【００４１】
それぞれのサブセクション６５は、元のサブセクション自体ではなく、コード変換されたサブセクションの表示を含むことに注意。これにより、サーバ３３は、与えられたサブセクションコンテンツをデバイスの固有の制約に合わせることができる（例えば、基本的なＨＴＭＬの表示のみをサポートし一時に単一のサブセクションしか格納できないデバイス）。
【００４２】
汎用コンピューティングデバイス
図５は、コンピュータ１３０の形の汎用コンピューティングデバイスの一例である。本発明の一実施形態において、コンピュータ１３０などのコンピュータは、ここに示し説明する他の図における使用に適している。一例において、上述のクライアント コンピュータまたはデバイスは、コンピュータ１３０により具体化することができる。コンピュータ１３０は、追加して、１以上のプロセッサまたは処理ユニット１３２およびシステムメモリ１３４を有する。図示する実施形態において、システムバス１３６は、システムメモリ１３４を含む各種システム構成要素をプロセッサ１３２に対して接続する。バス１３６は、メモリバスまたはメモリコントローラ、周辺バス、加速グラフィックスポート（ＡＧＰ）、および各種のバスアーキテクチャのいずれかを使用するプロセッサまたはローカルバスを含む幾つかのタイプのバス構造のいずれかのうち一つまたは複数をあらわす。限定はしないが一例として、このようなアーキテクチャは、ＩＳＡ（Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅバス、ＭＣＡ（Ｍｉｃｒｏ  Ｃｈａｎｎｅｌ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、ＥＩＳＡ（Ｅｎｈａｎｃｅｄ  ＩＳＡ）バス、ＶＥＳＡ（Ｖｉｄｅｏ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｓｔａｎｄａｒｄ  Ａｓｓｏｃｉａｔｉｏｎ）ローカル バス、およびメザニンバスとしても知られるＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）バスを含む。
【００４３】
コンピュータ１３０は典型的に、少なくとも何らかの形のコンピュータ可読記憶媒体を有する。揮発性および非揮発性媒体とリムーバブルメディアおよび非リムーバブルメディアの双方を含むコンピュータ可読記憶媒体は、コンピュータ１３０がアクセスすることができて利用可能な媒体であればよい。限定はしないが一例として、コンピュータ可読記憶媒体は、コンピュータ蓄積媒体および通信媒体を含む。コンピュータ蓄積媒体は揮発性および非揮発性、リムーバブルおよび非リムーバブルメディアを含み、コンピュータ可読命令、データ構造、プログラムモジュールまたは他のデータなどの情報を記憶するための任意の方法または技術を提供する。一例において、コンピュータ記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリまたは他のメモリ技術、ＣＤ−ＲＯＭ、ＤＶＤ（ｄｉｇｉｔａｌ  ｖｅｒｓａｔｉｌｅ  ｄｉｓｋｓ）または他の光ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置または他の磁気記憶装置、もしくは望まれる情報の記憶に使用することができてコンピュータ１３０がアクセスすることのできる他の任意の媒体を含む。通信媒体は典型的に、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータを、搬送波または他の搬送機構などの変調データ信号の中で具体化するものであり、任意の情報配信媒体を含む。当業者は、情報を信号の中に符号化する方法でその特性の一つまたは複数を、設定または変更する変調データ信号には精通しているであろう。有線ネットワークまたは直接配線接続などの有線媒体および、音響、ＲＦ、赤外線および他の無線媒体などの無線媒体は、通信媒体の一例である。上述のいずれかの組合せも、コンピュータ可読記憶媒体の範囲内に入る。
【００４４】
システムメモリ１３４は、リムーバブルおよび／または非リムーバブル、揮発性および／または非揮発性メモリの形のコンピュータ記憶媒体を含む。説明する実施形態において、システムメモリ１３４は、リードオンリメモリ（ＲＯＭ）１３８およびランダムアクセスメモリ（ＲＡＭ）１４０を含む。立ち上がりの間などにコンピュータ１３０中の要素間で情報を搬送するのを助ける基本ルーチンを含むＢＩＯＳ（ベーシックインプット／アウトプットシステム）１４２は、典型的にＲＯＭ１３８の中に記憶される。ＲＡＭ１４０は典型的に、処理ユニット１３２が直ちにアクセス可能である、かつ／または現在処理中の、データおよび／またはプログラムモジュールを記憶する。限定はしないが一例として、図５は、オペレーティングシステム１４４、アプリケーションプログラム１４６、その他のプログラムモジュール１４８、およびプログラムデータ１５０を図示する。
【００４５】
コンピュータ１３０は、他のリムーバブル／非リムーバブル、揮発性／非揮発性コンピュータ記憶媒体も含む。一例において、図５は、非リムーバブル、非揮発性磁気媒体に対し読み取りおよび書き込みを行うハードディスクドライブ１５４を示す。図５はまた、リムーバブル、非揮発性磁気ディスク１５８に対し読み取りおよび書き込みを行う磁気ディスクドライブ１５６、およびＣＤ−ＲＯＭなどのリムーバブル、非揮発性光ディスク１６２または他の光学媒体に対し読み取りおよび書き込みを行う光ディスクドライブ１６０をも図示する。模範的な動作環境で使用することのできる他のリムーバブル／非リムーバブル、揮発性／非揮発性コンピュータ記憶媒体には、これらに限定するものではないが、磁気テープカセット、フラッシュメモリカード、ＤＶＤ、デジタルビデオテープ、半導体ＲＡＭ、半導体ＲＯＭ、および類似のものが含まれる。ハードディスクドライブ１５４および、磁気ディスクドライブ１５６および光ディスクドライブ１６０は典型的に、インタフェース１６６などの非揮発性メモリインタフェースを通じてシステムバス１３６に接続される。
【００４６】
上述した図１に示すドライブまたは他の大量記憶装置およびその関連のコンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュールおよび他のデータの記憶を、コンピュータ１３０のため提供する。例えば、図５において、ハードディスクドライブ１５４は、オペレーティングシステム１７０、アプリケーションプログラム１７２、他のプログラムモジュール１７４、およびプログラムデータ１７６を記憶する装置として示す。これらのコンポーネントは、それぞれオペレーティングシステム１４４、アプリケーションプログラム１４６、他のプログラムモジュール１４８、およびプログラムデータ１５０と同一であることも異なることもあることに注意する。ここでは、オペレーティングシステム１７０、アプリケーションプログラム１７２、他のプログラムモジュール１７４、およびプログラムデータ１７６に異なる参照番号を割り当てて、最小限として、これらが異なるコピーであることを示す。
【００４７】
ユーザは、キーボード１８０およびポインティングデバイス１８２（例えば、マウス、トラックボール、ペンまたはタッチパッド、など）などの入力装置またはユーザインタフェース選択デバイスを通してコンピュータ１３０に対しコマンドおよび情報を入力できる。他の入力装置（示さず）には、マイクロフォン、ジョイスティック、ゲームパッド、カメラ、スキャナ、および類似のものが含まれる。これらおよび他の入力装置は、システムバス１３６に連結するユーザ入力インタフェース１８４を通じて処理ユニット１３２に接続されるが、パラレルポート、ゲームポート、またはユニバーサルシリアルバス（ＵＳＢ）を用いて接続することもある。モニタ１８８または他の型の表示装置も、ビデオインタフェース１９０などのインタフェースを経由してシステムバス１３６に接続される。モニタ１８８に加えて、コンピュータは、プリンタおよびスピーカなどの、他の周辺出力機器（示さず）を含むことが多い。これらは出力周辺機器インタフェース（示さず）を通じて接続する。
【００４８】
コンピュータ１３０は、リモートコンピュータ１９４などの、１以上のリモートコンピュータに対する論理結合を用いてネットワーク環境の中で動作する。リモートコンピュータ１９４は、パーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ピア装置または他の共通ネットワークノードであって、典型的にコンピュータ１３０に関する上述した要素の多数または全部を含む。図５に描写する論理結合は、ローカルエリアネットワーク（ＬＡＮ）１９６および広域ネットワーク（ＷＡＮ）１９８を含むが、他のネットワークも含むことがある。ＬＡＮ１３６および／またはＷＡＮ１３８は、有線ネットワーク、無線ネットワーク、それらの組合せ、などであることができる。このようなネットワーク環境は、事務所、企業規模のコンピュータネットワーク、イントラネット、および世界規模のコンピュータネットワークにおいてよって一般的なものである。
【００４９】
ローカルエリアネットワーク環境において使用するとき、コンピュータ１３０は、ネットワークインタフェースまたはアダプタ１８６を通じてＬＡＮ１９６に接続する。ＷＡＮネットワーク環境において使用するとき、コンピュータ１３０は典型的に、インターネットなどのＷＡＮ１９８上で通信を確立するためのモデム１７８または他の手段を含む。内蔵または外付けのモデム１７８は、ユーザ入力インタフェース１８４または他の適切なメカニズムを経由してシステムバス１３６に接続する。ネットワーク環境においては、コンピュータ１３０に関係して描写するプログラムモジュール、またはそれらの一部は、リモートメモリ記憶装置（示さず）に記憶される。限定はしないが一例として、図５は、リモートアプリケーションプログラム１９２を、メモリ装置に常駐するとして図示する。参照したネットワーク接続は模範的であり、コンピュータの間の通信リンクを確立する他の手段を使用してもよいことは理解されるであろう。
【００５０】
一般的に、コンピュータ１３０のデータ処理装置は、異なる時間にそのコンピュータの各種コンピュータ可読記憶媒体に記憶される命令手段によりプログラムを作成する。プログラムおよびオペレーティングシステムは典型的に、一例では、フロッピー（登録商標）ディスクまたはＣＤ−ＲＯＭ上に分散されている。そこから、それらをコンピュータの二次メモリの中にインストールまたは読み込む。実行に当たって、それらを少なくとも部分的にコンピュータの一次電子メモリに読み込む。ここに記述する発明は、以下に記述する操作をマイクロプロセッサまたは他のデータ処理装置との関連で実行するための命令またはプログラムを含んでいるとき、これらおよび他の各種の型のコンピュータ可読記憶媒体を含む。
【００５１】
説明の目的で、オペレーティングシステムなどの、プログラムおよび他の実行可能プログラム構成要素を、ここでは別個のブロックとして示す。しかしながら、このようなプログラムおよび構成要素は、コンピュータの異なる記憶要素の中にいろいろな場面で存在し、コンピュータのデータ処理装置によって実行されるということは理解されている。
【００５２】
模範的なコンピューティングシステム環境との関連で記述するが、コンピュータ１３０を含めて、本発明はその他数多くの汎用または専用のコンピューティングシステム環境または構成を用いて動作する。コンピューティングシステム環境は、本発明の用途または機能性の範囲に関し任意の制限を示唆する目的ではない。さらに、コンピューティングシステム環境は、模範的な動作環境で示される構成要素のいずれか一つまたは組合せに関係する任意の従属性または条件を有すると解釈してはならない。本発明を用いるのに適する公知のコンピューティングシステム，環境、および／または構成は、限定されるものではないが、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドまたはラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサに基づくシステム、セットトップボックス、プログラム可能家電製品、携帯電話、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、上述のシステムまたはデバイスのいずれかを含む分散コンピューティング環境、および類似のものを含む。
【００５３】
動作に当たって、サーバ３３として働くコンピュータ１３０は、文書を複数クライアントと同期するため上述のような方法を実行する。コンピュータ１３０またはその構成要素は、１人以上のクライアントから、１人以上のクライアントのそれぞれがデータを受信するためのフォーマットに関する指示を受信する。コンピュータ１３０またはその構成要素は、１人以上のクライアントが興味を持つ可能性のある文書原本の、文書原本内での意味的な区切りに対応するサブセクションを定義する。コンピュータ１３０またはその構成要素は、それぞれのサブセクションを特定するサブセクションＩＤを作成する。コンピュータ１３０またはその構成要素は、そのサブセクションＩＤのリストを１人以上のクライアントに対して送信する。コンピュータ１３０またはその構成要素は、１人以上のクライアントのうち少なくとも一人から、１以上のサブセクションに対する購読の要求を受信する。コンピュータ１３０またはその構成要素は、その要求に応答して、１人以上のクライアントが購読を望む文書原本の１以上のサブセクションを、１人以上のクライアントがデータを受信するためのフォーマットにコード変換する。コンピュータ１３０またはその構成要素は、コード変換され購読されたサブセクションを、１人以上のクライアントに対し、それら各々の購読要求にしたがって送信する。
【００５４】
当業者は、ここに説明し記述する方法の実行または動作の順序は、別途明記しない限り、重要ではないことに気付くであろう。すなわち、別途明記しない限り、本方法の要素は任意の順序で実行してもよく、本方法はここに開示するよりも多いまたは少ない要素を含んでもよいことを意図する。
【００５５】
本発明の要素、またはその実施形態を紹介するとき、冠詞「ａ」、「ａｎ」、「ｔｈｅ」、および「ｓａｉｄ」は１以上の要素があることを意味している。「ｃｏｍｐｒｉｓｉｎｇ」、「ｉｎｃｌｕｄｉｎｇ」、および「ｈａｖｉｎｇ」の用語は、包括的であることを意味し、記載する要素の他に追加の要素があることを意味している。
【００５６】
上述の観点から、本発明の幾つかの目的が達成され他にも有益な結果が得られたことが理解されたい。
【００５７】
上述の製品および方法には、本発明の範囲から逸脱することなく、各種の変更を行うことができるものであり、上述に含まれる内容および附属の図面で示される内容のすべては、説明用であって限定することを意図しないことを理解されたい。
【図面の簡単な説明】
【００５８】
【図１】本発明のシステムの図である。
【図２】本発明による複数のサブセクションを有する文書の図である。
【図３】本発明の方法のフローチャートである。
【図３Ａ】本発明の方法のフローチャートである。
【図３Ｂ】本発明の方法のフローチャートである。
【図３Ｃ】本発明の方法のフローチャートである。
【図３Ｄ】本発明の方法のフローチャートである。
【図４】本発明のコンピュータ可読記憶媒体（ＣＲＭ）の図である。
【図５】本発明を実施するのに適切なコンピューティングシステム環境の一例を示すブロック図である。
【図１】
2008542875.tif 000003
【図２】
2008542875.tif 000004
【図３】
2008542875.tif 000005
【図３Ａ】
2008542875.tif 000006
【図３Ｂ】
2008542875.tif 000007
【図３Ｃ】
2008542875.tif 000008
【図３Ｄ】
2008542875.tif 000009
【図４】
2008542875.tif 000010
【図５】
2008542875.tif 000011
【国際調査報告】
2008542875.tif 000012