(57)【特許請求の範囲】
【請求項１】
第１のドキュメントを少なくとも第２のドキュメントとマージして第３のドキュメントを生成する、コンピュータによる方法であって、前記第１および第２のドキュメントのそれぞれは１つまたは複数のデータ・ユニットを含み、各データ・ユニットはユニット識別子および編集識別子に関連付けられ、前記方法は、
前記第１のドキュメントの前記データ・ユニットに関連付けられた前記ユニット識別子を取得するステップと、
前記第２のドキュメントの前記データ・ユニットに関連付けられた前記ユニット識別子を取得するステップと、
前記第１および第２のドキュメントのそれぞれの前記ユニット識別子を前記第１および第２のドキュメントの他方の前記ユニット識別子と比較して、前記ユニット識別子のそれぞれがマッチするユニット識別子であるかマッチしないユニット識別子であるかを判定するステップであって、前記マッチするユニット識別子のそれぞれは、対応する前記第１および第２のドキュメントのデータ・ユニットを示し、前記マッチしないユニット識別子のそれぞれは、前記第１および第２のドキュメントの他方のデータ・ユニットと対応しない前記第１および第２のドキュメントのうち一方のデータ・ユニットを示す、ステップと、
前記マッチするユニット識別子に関連付けられた前記データ・ユニットの編集識別子を比較して、マッチする編集識別子を確認するステップであって、前記マッチする編集識別子のそれぞれは、前記第１および第２のドキュメントのうち一方の前記データ・ユニットが前記対応する前記第１および第２のドキュメントの他方のデータ・ユニットとマッチすることを示すステップと、
マッチしないユニット識別子に関連付けられた前記第１および第２のドキュメントのデータ・ユニットを前記第３のドキュメントに直接挿入するステップと、
マッチするユニット識別子とマッチする編集識別子とに関連付けられた前記第１および第２のドキュメントのデータ・ユニットを前記第３のドキュメントに直接挿入するステップと、
マッチするユニット識別子とマッチしない編集識別子とに関連付けられた前記第１および第２のドキュメントのデータ・ユニットを前記第３のドキュメントにマージするステップとを備え、更に、
前記第１のドキュメントの１のデータ・ユニットが編集されたときに、新しい編集識別子を前記１のデータ・ユニットに割り当てるステップと、
前記新しい編集識別子を前記第１のドキュメント内に格納して、以前に格納されていた前記編集識別子と置き換えるステップと、
を備えることを特徴とする、方法。
【請求項２】
前記第１のドキュメントの前記データ・ユニットの前記ユニット識別子は前記第１のドキュメント内に格納されることを特徴とする請求項１に記載の方法。
【請求項３】
前記新しい編集識別子を格納するステップは、ユーザが前記第１のドキュメントを保存するときに前記新しい編集識別子を格納するステップを含むことを特徴とする請求項１に記載の方法。
【請求項４】
前記新しい編集識別子はランダムに生成されたことを特徴とする請求項１に記載の方法。
【請求項５】
前記第１のドキュメントの前記データ・ユニットの前記ユニット識別子を取得するステップは、前記第１のドキュメントのパラグラフのパラグラフ識別子を取得するステップを含むことを特徴とする請求項１に記載の方法。
【請求項６】
システムメモリと、
少なくとも２つのドキュメントをマージして第３のドキュメントを生成するように構成されたドキュメント処理アプリケーションを生成する、前記システムメモリに格納された命令を実行する処理ユニットと、
前記ドキュメント処理アプリケーションによって処理されるように構成された第１のドキュメントであって、
前記第１のドキュメントはコンテンツおよびメタデータを格納し、前記第１のドキュメントの前記コンテンツは少なくとも１つのデータ・ユニットを含み、
前記第１のドキュメントの前記メタデータは各データ・ユニットに関連付けられたユニット識別子と編集識別子を含み、
各データ・ユニットの前記ユニット識別子は、前記データ・ユニットが作成されるときに生成され、
各データ・ユニットの前記編集識別子は、前記データ・ユニットに対する修正が保存され、前記第１のドキュメント内に格納されるときに新たに生成されて以前の編集識別子と置き換えられる、第１のドキュメントと、
前記ドキュメント処理アプリケーションによって処理されるように構成された第２のドキュメントであって、前記第２のドキュメントは少なくとも１のデータ・ユニットを含む、第２のドキュメントと
を備え、
前記ドキュメント処理アプリケーションは、
前記第１のドキュメントのユニット識別子を前記第２のドキュメントのユニット識別子と比較して、前記ユニット識別子のそれぞれがマッチするユニット識別子であるかマッチしないユニット識別子であるかを判定するステップであって、前記マッチするユニット識別子のそれぞれが、対応する前記第１および第２のドキュメントのデータ・ユニットを示し、前記マッチしないユニット識別子のそれぞれが、前記第１および第２のドキュメントの他方のデータ・ユニットと対応しない前記第１および第２のドキュメントの一方のデータ・ユニットを示す、ステップと、
前記マッチするユニット識別子に関連付けられた前記データ・ユニットの編集識別子を比較して、マッチする編集識別子を確認するステップであって、前記マッチする編集識別子のそれぞれは、前記第１および第２のドキュメントのうち一方の前記データ・ユニットが前記対応する前記第１および第２のドキュメントの他方のデータ・ユニットとマッチすることを示す、ステップと、
マッチしないユニット識別子に関連付けられた前記第１および第２のドキュメントのデータ・ユニットを前記第３のドキュメントに直接挿入するステップと、
マッチするユニット識別子とマッチする編集識別子とに関連付けられた前記第１および第２のドキュメントのデータ・ユニットを前記第３のドキュメントに直接挿入するステップと、
マッチするユニット識別子とマッチしない編集識別子とに関連付けられた前記第１および第２のドキュメントのデータ・ユニットを前記第３のドキュメントにマージするステップと
を行うように構成されたことを特徴とするドキュメント処理システム。
【請求項７】
前記ドキュメント処理アプリケーションは、前記データ・ユニットが作成されるときに各データ・ユニットの前記ユニット識別子が生成されるように構成されることを特徴とする請求項６に記載のドキュメント処理システム。
【請求項８】
前記第２のドキュメントと関連付けられ、前記第２のドキュメントとは別々に格納され、前記第２のドキュメントの前記コンテンツに関するメタデータを含むメタデータ・ファイルであって、前記メタデータ・ファイルの前記メタデータは、前記メタデータがどのデータ・ユニットに関係するかを示すユニット識別子を含む、メタデータ・ファイルをさらに備えることを特徴とする請求項６に記載のドキュメント処理システム。
【請求項９】
前記メタデータ・ファイルに格納された前記メタデータは、前記メタデータに含まれる前記ユニット識別子によって示された前記データ・ユニットと関連付けられることを特徴とする請求項８に記載のドキュメント処理システム。
【請求項１０】
前記ドキュメントはテキスト・ドキュメントであることを特徴とする請求項６に記載のドキュメント処理システム。
【請求項１１】
前記データ・ユニットはパラグラフであることを特徴とする請求項６に記載のドキュメント処理システム。
【請求項１２】
第１のドキュメントおよび第２のドキュメントからマージされたドキュメントを生成する方法を実装するコンピュータ実行可能命令を有するコンピュータ可読記憶媒体であって、前記方法は、
前記第１のドキュメントが、前記第１のドキュメントを識別する第１のドキュメント識別子を有するか否かを判定するステップと、
前記第１のドキュメントが第１のドキュメント識別子を有する場合には、前記第１のドキュメント識別子を取得するステップと、
前記第２のドキュメントが、前記第２のドキュメントを識別する第２のドキュメント識別子を有するか否かを判定するステップと、
前記第２のドキュメントが前記第２のドキュメント識別子を有する場合には、前記第２のドキュメント識別子を取得するステップと、
前記第１のドキュメントの前記第１のドキュメント識別子を前記第２のドキュメントの前記第２のドキュメント識別子と比較するステップと、
前記第１および第２のドキュメントのいずれもがドキュメント識別子を有さない場合には、前記第１および第２のドキュメントの従来式のマージを実行して前記マージされたドキュメントを生成するステップと、
前記第１のドキュメントの前記第１のドキュメント識別子が前記第２のドキュメントの前記第２のドキュメント識別子と異なる場合には、前記第１および第２のドキュメントの従来式のマージを実行して前記マージされたドキュメントを生成するステップと、
前記第１のドキュメントの前記第１のドキュメント識別子が前記第２のドキュメントの前記第２のドキュメント識別子とマッチする場合には、前記第１および第２のドキュメントの高速マージを実行して前記マージされたドキュメントを生成するステップと
を備え、
前記高速マージを実行するステップが、
前記第１のドキュメントの各データ・ユニットの一意かつ不変な識別子と、前記第２のドキュメントの各データ・ユニットの一意かつ不変な識別子とを比較することによって、前記第１のドキュメントのどのデータ・ユニットが前記第２のドキュメントのデータ・ユニットにマッチするかを識別するステップと、
前記識別されたデータ・ユニットを前記マージされたドキュメントに直接挿入して前記マージされたドキュメントのデータ・ユニットを作成するステップと、
前記第１および第２のドキュメントの他方のデータ・ユニットとマッチしない前記第１および第２のドキュメントのうち一方の各データ・ユニットを、従来式のマージを用いてマージして、前記マージされたドキュメントの前記データ・ユニットをさらに作成するステップとを含み、
前記第１のドキュメントの各データ・ユニットの前記一意かつ不変な識別子を前記第２のドキュメントの各データ・ユニットの前記一意かつ不変な識別子と比較するステップが、前記第１のドキュメントの各データ・ユニットのユニット識別子および編集識別子を、前記第２のドキュメントの各データ・ユニットのユニット識別子および編集識別子と比較するステップを含み、
前記第１のドキュメントの１のデータ・ユニットが編集されたときに、新しい編集識別子が前記１のデータ・ユニットに割り当てられ、該新しい編集識別子を前記第１のドキュメント内に格納して、前記編集識別子として、以前に格納されていた前記編集識別子と置き換えることを特徴とする、コンピュータ可読記憶媒体。
【請求項１３】
前記方法は、
前記第１および第２のドキュメントがドキュメント識別子を有しない場合は、一意かつ不変な識別子を前記マージされたドキュメントの前記データ・ユニットのそれぞれに追加するステップと、
前記第１のドキュメントの前記ドキュメント識別子が前記第２のドキュメントの前記ドキュメント識別子と異なる場合は、一意かつ不変な識別子を前記マージされたドキュメントの前記データ・ユニットのそれぞれに追加するステップとをさらに備えることを特徴とする請求項１２に記載のコンピュータ可読記憶媒体。
【請求項１４】
前記一意かつ不変な識別子を前記マージされたドキュメントの前記データ・ユニットのそれぞれに追加するステップは、前記一意かつ不変な識別子を前記マージされたドキュメント内に格納するステップを含むことを特徴とする請求項１３に記載のコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
マージは、同一のドキュメントの異なるコピーに加えられた複数の変更を調整する動作である。
【背景技術】
【０００２】
最も頻繁にあるのは、２人が同時にドキュメントを修正した場合にマージが必要となることである。後に、これらの変更を単一の新しいドキュメントにマージして双方の作者の意図を反映する必要がある。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
従来式のマージは扱い難く時間がかかる恐れがあるため、より効率のよいマージが望まれている。
【課題を解決するための手段】
【０００４】
本明細書で論ずるように、実施形態の一態様では、第１のドキュメントを少なくとも第２のドキュメントとマージして第３のドキュメントを生成する方法に関する。第１および第２のドキュメントはそれぞれ、少なくとも一つのデータ・ユニットを含む。各データ・ユニットはユニット識別子と編集識別子に関連付けられている。本方法は、第１のドキュメントのデータ・ユニットのユニット識別子を取得するステップを含む。本方法はまた、第２のドキュメントのデータ・ユニットのユニット識別子を取得するステップを含む。第１および第２のドキュメントそれぞれのユニット識別子は、第１および第２のドキュメントの他方のユニット識別子と比較され、ユニット識別子のそれぞれがマッチするユニット識別子であるかマッチしないユニット識別子であるかが判定される。マッチするユニット識別子は第１および第２のドキュメントの対応するデータ・ユニットを示す。マッチしないユニット識別子のそれぞれは、第１および第２のドキュメントのうち一方のデータ・ユニットであって、第１および第２のドキュメントの他方のデータ・ユニットと対応しないデータ・ユニットを示す。マッチするユニット識別子に関連付けられたデータ・ユニットの編集識別子は、マッチする編集識別子を確認するために互いに比較される。マッチする編集識別子のそれぞれは、第１および第２のドキュメントのうち一方のデータ・ユニットが第１および第２のドキュメントの他方の対応するデータ・ユニットとマッチすることを示す。マッチしないユニット識別子に関連付けられた第１および第２のドキュメントのデータ・ユニットは第３のドキュメントに直接挿入される。さらに、マッチするユニット識別子およびマッチする編集識別子に関連付けられている第１および第２のドキュメントのデータ・ユニットは、第３のドキュメントに直接挿入される。最後に、マッチするユニット識別子とマッチしない編集識別子に関連付けられている第１および第２のドキュメントのデータ・ユニットは、第３のドキュメントにマージされる。
【０００５】
幾つかの実施形態の別の態様はドキュメント処理システムに関する。ドキュメント処理システムはドキュメント処理アプリケーションと第１のドキュメントを含む。ドキュメント処理アプリケーションは、少なくとも２つのドキュメントをマージして第３のドキュメントを生成するように構成される。第１のドキュメントは、ドキュメント処理アプリケーションによって処理されるように構成される。第１のドキュメントはコンテンツとメタデータを格納する。コンテンツは少なくとも１つのデータ・ユニットを含む。メタデータは各データ・ユニットに関連付けられているユニット識別子と編集識別子を含む。各データ・ユニットのユニット識別子は、そのデータ・ユニットが作成されるときに生成される。各データ・ユニットの編集識別子は、データ・ユニットに加えられた修正が保存されるときに生成される。
【０００６】
さらなる態様は、第１および第２のドキュメントからマージされたドキュメントを生成する方法を実装するコンピュータ実行可能命令を有するコンピュータ可読記憶媒体に関する。本方法は、第１のドキュメントが第１のドキュメント識別子を有するか否か、および第２のドキュメントが第２のドキュメント識別子を有するか否かを判定するステップを含む。本方法はまた、第１および第２のドキュメントのうち一方が第１および第２のドキュメント識別子のうち一方を有する場合に、第１および第２のドキュメント識別子のうち一方を取得するステップを含む。本方法はさらに、第１のドキュメントの第１のドキュメント識別子を第２のドキュメントの第２のドキュメント識別子と比較するステップを含む。本方法は、第１および第２のドキュメントのいずれもドキュメント識別子を有さない場合に、第１および第２のドキュメントに対して従来式のマージを実行してマージされたドキュメントを生成するステップを含む。さらに、本方法は、第１のドキュメント識別子が第２のドキュメント識別子と異なる場合に、第１および第２のドキュメントに対して従来式のマージを実行してマージされたドキュメントを生成するステップを含む。最後に、本方法は、第１のドキュメント識別子が第２のドキュメント識別子にマッチする場合に、第１および第２のドキュメントに対して高速なマージを実行してマージされたドキュメントを生成するステップを含む。
【０００７】
本概要は、選択した概念を簡潔な形で導入するために提供している。その概念は、発明を実施するための形態において、後にさらに説明する。本発明の概要は、クレーム主題の主要な特徴または本質的な特徴を特定しようとするものではなく、決してクレーム主題の範囲を限定するために使用しようとするものでもない。
【図面の簡単な説明】
【０００８】
【図１】例示的なドキュメント処理システムのブロック図である。
【図２】図１の例示的なドキュメント処理アプリケーションによって処理されるように構成した例示的なドキュメントを示すブロック図である。
【図３】図２に示すドキュメントに対する例示的な形式を示すブロック図である。
【図４】メタデータ・ファイルがドキュメントとは別に格納されることを除いて、図３に示すものと同様な別の例示的なドキュメントを示すブロック図である。
【図５】第１のドキュメントを第２のドキュメントとマージして第３のドキュメントを生成するステップを示すブロック図である。
【図６】本開示の態様を実装する例示的なコンピューティング・システムの図である。
【図７】第１のドキュメントを第２のドキュメントとマージして第３のドキュメントを生成する方法の例を示す図である。
【図８】ユニット識別子と編集識別子をドキュメントの各データ・ユニットに割り当て、格納する方法の例を示す図である。
【図９】第１のドキュメントを第２のドキュメントとマージしてマージされたドキュメントを生成する別の方法の例を示す図である。
【発明を実施するための形態】
【０００９】
本開示では、添付図面を参照して例示的な実施形態をさらに説明する。添付図面には具体的な実施形態を示している。しかし、他の態様を多種多様な形態で具現化してもよく、種々の具体的な実施形態を本開示に含めたことは、係る態様を本明細書に記載した実施形態に限定するものと解釈すべきではない。そうではなく、図面に示す実施形態は、徹底的且つ完全な開示を提供するために含めたものであり、意図した範囲を当業者に完全に伝達するものである。図を参照すると、全体を通して、図示した同一の構造と要素を同一の参照番号で示している。
【００１０】
本開示の実施形態は一般にドキュメントのマージに関する。１つの非限定的な例では、第１のドキュメントを少なくとも第２のドキュメントとマージして第３のドキュメントを生成することについて説明する。第１および第２のドキュメントはそれぞれ少なくとも１つのデータ・ユニットを含む。各データ・ユニットはユニット識別子と編集識別子に関連付けられている。さらなる実施形態はドキュメント処理システムに関する。ドキュメント処理システムは、少なくとも２つのドキュメントをマージして第３のドキュメントを生成するように構成されたドキュメント処理アプリケーションを含む。
【００１１】
図１は例示的なドキュメント処理システムのブロック図である。ドキュメント処理システム１００はドキュメント処理アプリケーション１１０とドキュメント１２０を含む。ドキュメント処理アプリケーション１１０は、ドキュメント１２０をマージしてマージされたドキュメントを生成するように構成される。代替的な実施形態では、ドキュメント処理アプリケーション１１０は、３つ以上のドキュメントをマージしてマージされたドキュメントを生成するように構成される。
【００１２】
１つの可能な実施形態では、ドキュメント処理アプリケーション１１０は、ＭＩＣＲＯＳＯＦＴ「登録商標」  Ｏｆｆｉｃｅ  Ｗｏｒｄアプリケーションのようなワード・プロセッシング・アプリケーションであるが、これに限らない。他の可能な実施形態では、ドキュメント処理システム１００は、イメージ、データ、音声、または他の任意の適切なドキュメント処理システムである。同様に、ドキュメント処理アプリケーション１１０は、イメージ、データ、音声、または他の任意の適切なドキュメント処理アプリケーションである。この他の任意の適切なドキュメント処理アプリケーションは、例えば、Ｍｉｃｒｏｓｏｆｔ「登録商標」  ＯｆｆｉｃｅのＰＯＷＥＲＰＯＩＮＴ「登録商標」、ＥＸＣＥＬ「登録商標」、ＶＩＳＩＯ「登録商標」、ＡＣＣＥＳＳ「商標」、およびＯＵＴＬＯＯＫ「登録商標」ソフトウェア・アプリケーションであるがこれらに限らない。ドキュメント１２０は、テキストまたはリッチテキストのドキュメント、プレゼンテーション、スプレッドシート、図面、データ、電子メール、および適切な形式である他の任意のドキュメントであることができる。
【００１３】
図２は図１の例示的なドキュメント処理アプリケーション１１０によって処理されるように構成した例示的なドキュメント１２０を示すブロック図である。ドキュメント１２０は、１つまたは複数のデータ・ユニット１２４に分割される。各データ・ユニット１２４は、データ・ユニット１２４の存続期間だけ存在する一意なユニット識別子１２６に割り当てられる。ユニット識別子１２６は、関連付けられたデータ・ユニット１２４を、ドキュメント１２０内の他の任意のデータから識別し、区別する。
【００１４】
データ・ユニット１２４はまた、データ・ユニット１２４が作成され、編集され、または修正されたときに編集識別子１２８に割り当てられる。具体的には、データ・ユニット１２４が作成され、編集され、または変更されるときは常に、新しい編集識別子１２８がデータ・ユニット１２４に割り当てられ、その結果、新しい編集識別子１２８がデータ・ユニット１２４の以前の編集識別子と（もしあれば）置き換えられる。新しい編集識別子１２８は、データ・ユニット１２４の以前の編集識別子（もしあれば）とは異なる。１つの可能な実施形態では、編集識別子１２８はランダムに生成される。
【００１５】
例示的な実施形態では、ドキュメント１２０は、様々な方法を用いてデータ・ユニット１２４に分解される。例えば、ドキュメント１２０がテキスト・ドキュメントである場合には、ドキュメントの各パラグラフを別々のデータ・ユニットに分解することができる。換言すれば、テキスト・ドキュメントの例では、データ・ユニット１２４をパラグラフと呼ぶこともできる。係る例では、ユニット識別子１２６はパラグラフ識別子と称する。他種のドキュメントでは、他の方法を用いてドキュメント１２０をデータ・ユニットに分解することができる。例えば、ドキュメント内のオブジェクト、グラフィック、スライド、または他の選択可能な項目を用いてドキュメントを別々のデータ・ユニットに分解することができる。
【００１６】
ユニット識別子１２６と編集識別子１２８は、データ・ユニット１２４を識別するための任意の適切な形式であることができる。ユニット識別子１２６と編集識別子１２８の１つの可能で例示的な形式は、３２ビットの整数のような、数字、文字、および／または記号の組合せである。当業者には、ユニット識別子１２６と編集識別子１２８に対する他の多くの適切な識別子の形式が理解されよう。ユニット識別子１２６と編集識別子１２８を、ドキュメント１２０に、別々のファイルに、または他の任意の適切な記憶可能でアクセス可能な媒体に、記憶することができる。ユニット識別子１２６と編集識別子１２８を記憶する例示的な形式の一部を、後に図３および図４でより詳細に論ずる。
【００１７】
ドキュメント１２０はまた、ドキュメント１２０を識別するためのドキュメント識別子１２２を含む。１つの可能な実施形態では、ドキュメント１２０が新たに作成されたときに、ドキュメント識別子１２２がドキュメント１２０に割り当てられる。別の可能な実施形態では、ドキュメント１２０にドキュメント識別子がない場合に、ドキュメント識別子１２２がドキュメント１２０に割り当てられる。例えば、ユニット識別子または編集識別子を認識しないアプリケーションによってドキュメント１２０が以前に編集されているとき、ドキュメント識別子１２２がドキュメント１２０に割り当てられる。
【００１８】
ドキュメント識別子１２２がドキュメント１２０に割り当てられるとき、ドキュメント識別子１２２は、一意かつ不変である。換言すれば、ドキュメント識別子１２２はドキュメント１２０の存続期間だけ存続する。ドキュメント１２０が編集され修正される場合でも、ドキュメント識別子１２２は変化しない。さらに、別のドキュメントがドキュメント１２０から作成される場合でも、ドキュメント識別子１２２は当該別のドキュメントに付随する。これは、ユーザがドキュメントを新しいドキュメントにコピーするか、またはドキュメントのユーザ・コピーを複数作成し、複数のユーザが同一のドキュメントを編集できるようにする場合に生ずる可能性がある。
【００１９】
図３は、図２に示すドキュメント１２０に対する例示的な形式を示すブロック図である。具体的には、ドキュメント１２０はコンテンツ１３０とメタデータ１４０を含む。ドキュメント１２０はコンテンツ１３０とメタデータ１４０を記憶する。コンテンツ１３０は少なくとも１つのデータ・ユニット１２４を含む。メタデータ１４０は各データ・ユニット１２４に関連付けられたユニット識別子１２６と編集識別子１２８を含む。ユニット識別子１２６は、データ・ユニット１２４が作成されるときに生成される。データ・ユニット１２４に加えた修正がドキュメントに保存されるときは常に、編集識別子１２８が生成される。メタデータ１４０はドキュメント１２０に保存される。
【００２０】
図４は、メタデータ・ファイル１５０が別にドキュメント１２０から保存されることを除いて、図３に示すものと同様な別の例示的なドキュメント１２０を示すブロック図である。メタデータ・ファイル１５０がドキュメント１２０のコンテンツ１３０に関するメタデータ１４０を含むことが好ましい。メタデータ・ファイル１５０のメタデータ１４０は、メタデータ１４０がどのデータ・ユニット１２４に関するかを示すユニット識別子１２６を含む。また、１つの可能な実施形態では、メタデータ１４０は編集識別子１２８も含むことができる。データ・ユニット１２４は、メタデータ１４０に含まれるユニット識別子１２６によって示される。
【００２１】
図５は、第１のドキュメント２２０を第２のドキュメント２４０とマージして第３のドキュメント２６０を生成するステップを示すブロック図である。第１のドキュメント２２０と第２のドキュメント２４０の例示的な構造は図１〜４において上述した。第３のドキュメント２６０は第１のドキュメント２２０と第２のドキュメント２４０をマージすることによって作成された、マージされたドキュメントである。
【００２２】
図５に示す１つの例として、第１のドキュメント２２０は第１ドキュメント識別子１２２ａとデータ・ユニット１２４ａ〜ｃを含む。第１のドキュメント識別子１２２ａは第１のドキュメント２２０を識別する。図５では３つのデータ・ユニット１２４ａ〜ｃを示しているが、第１のドキュメント２２０が含むデータ・ユニットの数はこれより多くても少なくてもよい。示したデータ・ユニット１２４ａ〜ｃに関して、データ・ユニット１２４ａは、データ・ユニット１２４ａに関連付けられた、ユニット識別子Ｕ１と編集識別子Ｅ１を有する。データ・ユニット１２４ｂは、データ・ユニット１２４ｂに関連付けられた、ユニット識別子Ｕ２と編集識別子Ｅ２０を有する。データ・ユニット１２４ｃは、データ・ユニット１２４ｃに関連付けられた、ユニット識別子Ｕ３と編集識別子Ｅ３を有する。
【００２３】
同様に、第２のドキュメント２４０は、第２のドキュメント識別子１２２ｂとデータ・ユニット１２４ｄ〜ｆを含む。第２のドキュメント識別子１２２ｂは第２のドキュメント２４０を識別する。図５では３つのデータ・ユニット１２４ｄ〜ｆを示しているが、第２のドキュメント２４０が含むデータ・ユニットの数はこれより多くても少なくてもよい。データ・ユニット１２４ｄは、データ・ユニット１２４ｄに関連付けられたユニット識別子Ｕ１と編集識別子Ｅ１を有する。データ・ユニット１２４ｅは、データ・ユニット１２４ｅに関連付けられたユニット識別子Ｕ２と編集識別子Ｅ２１を有する。第２のドキュメント２４０内のデータ・ユニット１２４ｅの編集識別子Ｅ２１が、第１のドキュメント２２０内のデータ・ユニット１２４ｂの編集識別子Ｅ２０と異なることに留意されたい。データ・ユニット１２４ｆは、データ・ユニット１２４ｆに関連付けられたユニット識別子Ｕ４と編集識別子Ｅ４を有する。
【００２４】
図５に示す例示的なマージにおいて、第１のドキュメント２２０の第１のドキュメント識別子１２２ａは、第２のドキュメント２４０の第２のドキュメント識別子１２２ｂと同じである。したがって、第１のドキュメント２２０と第２のドキュメント２４０は、後に詳述する高速マージで実行される。第１のドキュメント２２０と第２のドキュメント２４０が同じドキュメント識別子を有するため、第１のドキュメント２２０と第２のドキュメント２４０は共通の起点あるいは親を共有する。したがって、第１のドキュメント２２０を、以下で説明する高速なマージ・プロセスのうち１つまたは複数を用いて第２のドキュメント２４０とマージすることができる。
【００２５】
第１のドキュメント２２０のデータ・ユニット１２４ａは、第２のドキュメント２４０のデータ・ユニット１２４ｄと同じユニット識別子Ｕ１と編集識別子Ｅ１を有する。したがって、データ・ユニット１２４ａをデータ・ユニット１２４ｄと同じものとして示してある。換言すれば、データ・ユニット１２４ｄはデータ・ユニット１２４ａから変更も修正もされていない。したがって、データ・ユニット１２４ａとデータ・ユニット１２４ｄをマージする必要はない。そうではなく、データ・ユニット１２４ａ（または、データ・ユニット１２４ａと同じであるデータ・ユニット１２４ｄ）はデータ・ユニット１２４ｇで表した第３のドキュメント２６０に直接挿入される。データ・ユニット１２４ａとデータ・ユニット１２４ｄをマージする必要がないため、マージされたドキュメント（すなわち、第３のドキュメント）２６０内のデータ・ユニット１２４ｇは、データ・ユニット１２４ｇに関連付けられたユニット識別子Ｕ１と編集識別子Ｅ１を保持する。データ・ユニット１２４ａ内のコンテンツをデータ・ユニット１２４ｄ内のコンテンツとさらに比較する必要のないこの直接挿入によって、時間を節約し、効率性を向上させ、マージ精度を高めることができる。
【００２６】
データ・ユニット１２４ｂとデータ・ユニット１２４ｅは、同じユニット識別子Ｕ２と、異なる編集識別子Ｅ２０、Ｅ２１を有する。異なる編集識別子Ｅ２０、Ｅ２１は、データ・ユニット１２４ｂとデータ・ユニット１２４ｅが異なってもよいことを示す。換言すれば、データ・ユニット１２４ｂとデータ・ユニット１２４ｅをマージする必要がある。したがって、第３のドキュメント２６０内のデータ・ユニット１２４ｈは、データ・ユニット１２４ｂとデータ・ユニット１２４ｅのマージから生成される。ユニット識別子Ｕ２はデータ・ユニット１２４ｈ内に保持される。新しい編集識別子Ｅ２２が、２つのデータ・ユニット１２４ｂと１２４ｅをマージすることにより作成される。
【００２７】
第１のドキュメント２２０のデータ・ユニット１２４ｃは、データ・ユニット１２４ｃのユニット識別子Ｕ３とマッチするユニット識別子を有する第２のドキュメント２４０内のデータ・ユニットを有することはできない。そのため、データ・ユニット１２４ｃはマージされずに第３のドキュメント２６０に直接挿入され、第３のドキュメント２６０においてデータ・ユニット１２４ｉと表される。したがって、データ・ユニット１２４ｉはデータ・ユニット１２４ｉに関連付けられたユニット識別子Ｕ３と編集識別子Ｅ３を含む。第３のドキュメント２６０内のデータ・ユニット１２４ｉは、第１のドキュメント２２０内のデータ・ユニット１２４ｃと全く同じである。１つの可能な実施形態では、データ・ユニット１２４ｃは第３のドキュメント２６０の末尾に直接付加される。別の可能な実施形態では、（データ・ユニット１２４ｃのコンテンツがマージされていない）データ・ユニット１２４ｃは、データ・ユニット１２４ａ〜ｊ間の関係に従って第３のドキュメント２６０内の適切な位置に挿入するために整列される。
【００２８】
同様に、第２のドキュメントのデータ・ユニット１２４ｆは、データ・ユニット１２４ｆのユニット識別子Ｕ４とマッチするユニット識別子を有する第１のドキュメント２２０内のデータ・ユニットを有することはできない。そのため、データ・ユニット１２４ｆはマージされずに第３のドキュメント２６０に直接挿入され、第３のドキュメント２６０においてデータ・ユニット１２４ｊと表される。したがって、データ・ユニット１２４ｊはデータ・ユニット１２４ｊに関連付けられたユニット識別子Ｕ４と編集識別子Ｅ４を含む。第３のドキュメント２６０内のデータ・ユニット１２４ｊは、第２のドキュメント２４０内のデータ・ユニット１２４ｆと全く同じである。１つの可能な実施形態では、データ・ユニット１２４ｆは第３のドキュメント２６０の末尾に直接付加される。別の可能な実施形態では、（データ・ユニット１２４ｆのコンテンツがマージされていない）データ・ユニット１２４ｆは、データ・ユニット１２４ａ〜ｊ間の関係に従って第３のドキュメント２６０内の適切な位置に挿入するために整列される。
【００２９】
このように、マージされたドキュメント２６０はデータ・ユニット１２４ｇ〜ｊを含む。データ・ユニット１２４ｇ〜ｊのそれぞれはまた、ユニット識別子と編集識別子に関連付けられる。さらに、ドキュメント識別子１２２ａ（または、１２２ａと同じである１２２ｂ）は、マージされたドキュメント２６０内に留まり、図５のドキュメント識別子１２２ｃとして表される。
【００３０】
別の可能な実施形態では、第１のドキュメント２２０のドキュメント識別子１２２ａが第２のドキュメント２４０のドキュメント識別子１２２ｂと異なる場合、従来式のマージは第１のドキュメントと第２のドキュメントの間で実行される。さらに別の可能な実施形態では、第１のドキュメント２２０と第２のドキュメント２４０のいずれもがドキュメント識別子を有さない場合、従来式のマージを実行して第３のドキュメントを生成する。
【００３１】
図５の例は、２つのドキュメントを共に、マージされた第３のドキュメントにマージすることを示す。しかし、図５の例は２つのみのドキュメントをマージすることに限定されない。そうではなく、本明細書で示した概念と原理は３つ以上のドキュメントをマージすることにも適用することができる。
【００３２】
図６は本開示の態様を実装する例示的なコンピューティング・システム６００である。例えば、コンピューティング・システム６００は、１つのドキュメントを作成するか上述のドキュメント２２０、２４０のような２つ以上のドキュメントをマージするために使用される上述のドキュメント処理システム１００であることができる。その最も基本的な構成では、コンピューティング・システム６００は一般には、少なくとも１つの処理装置６０２とメモリ６０４を含む。コンピューティング・システムの厳密な構成と種類に応じて、メモリ６０４は、（ＲＡＭのような）揮発性であるか、（ＲＯＭ、フラッシュ・メモリ、等のような）不揮発性であるか、またはその２つの何らかの組合せであってもよい。この最も基本的な構成を図６において破線６０６によって示す。さらに、コンピューティング・システム６００は追加の特徴／機能を有してもよい。例えば、コンピューティング・システム６００は（取外し可能および／または取外し不能な）追加のストレージを備えてもよく、そのストレージには、磁気ディスクもしくは磁気テープまたは光ディスクもしくは光テープが含まれるがこれらに限らない。図６において、係る追加のストレージを、取外し可能ストレージ６０８および取外し不能ストレージ６１０によって示す。コンピュータ記憶媒体には、コンピュータ可読命令、データ構造、プログラム・モジュールまたは他のデータのような情報を記憶するための任意の方法または技術で実装した、揮発性および不揮発性媒体、取外し可能および取外し不能媒体が含まれる。メモリ６０４、取外し可能ストレージ６０８、および取外し不能ストレージ６１０はすべてコンピュータ記憶媒体の例である。コンピュータ記憶媒体には、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュ・メモリまたは他のメモリ技術、ＣＤ−ＲＯＭ、ＤＶＤ（ｄｉｇｉｔａｌ  ｖｅｒｓａｔｉｌｅ  ｄｉｓｋ）もしくは他の光ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージもしくは他の磁気記憶装置、または所望の情報の記憶に使用できコンピューティング・システム６００がアクセスできる他の任意の媒体が含まれるがこれらに限らない。係る任意のコンピュータ記憶媒体はコンピューティング・システム６００の一部であってもよい。
【００３３】
コンピューティング・システム６００はまた、コンピューティング・システムが他の装置と通信できるようにする通信接続（群）６１２を含んでもよい。通信接続（群）６１２は通信媒体の一例である。通信媒体は、一般に、コンピュータ可読命令、データ構造、プログラム・モジュールまたは搬送波や他の伝送機構のような変調データ信号内の他のデータを具体化し、通信媒体には任意の情報伝達媒体が含まれる。「変調データ信号」という用語は、その１つまたは複数の特性を有するかまたは信号内の情報をエンコードするように変化した信号を意味する。限定ではなく例として、通信媒体には、有線ネットワークまたは直接有線接続のような有線媒体、および音響、ＲＦ、赤外線および他の無線媒体のような無線媒体が含まれる。本明細書で用いるコンピュータ可読媒体という用語には、記憶媒体と通信媒体の両方が含まれる。
【００３４】
コンピューティング・システム６００はまた、キーボード、マウス、ペン、音声入力装置、タッチ入力装置、等のような入力装置（群）６１４を有してもよい。ディスプレイ、スピーカ、プリンタ、等のような出力装置（群）６１６を含めてもよい。これらの装置は全て当業者によく知られており、ここで詳細に論じる必要はない。
【００３５】
幾つかの実施形態では、メモリ６０４は、オペレーティング・システム６２０、アプリケーション・プログラム６２２、他のプログラム・モジュール６２４、およびプログラム・データ６２６のうちの１つまたは複数を含む。例えば、アプリケーション・プログラム６２２は、２つ以上のドキュメントを作成および／またはマージするために使用されるテキストまたはワード・プロセッシング・アプリケーションを含むことができる。
【００３６】
図７は、第１のドキュメントを第２のドキュメントとマージして第３のドキュメントを生成する方法の例７００を示す。示した方法では、第１および第２のドキュメントはそれぞれ少なくとも１つのデータ・ユニットを含む。各データ・ユニットはユニット識別子と編集識別子に関連付けられる。ドキュメント処理アプリケーションは、第１のドキュメントと第２のドキュメントをマージして第３のドキュメントを生成するように構成される。上述したように、１つの可能な実施形態では、ドキュメントはテキスト・ドキュメントである。
【００３７】
動作７０２で、ドキュメント処理アプリケーションは、第１のドキュメントのデータ・ユニットのユニット識別子を取得する。１つの可能な実施形態では、ユニット識別子は第１のドキュメントに格納される。別の可能な実施形態では、ユニット識別子は第１のドキュメントから分離されたメタデータ・ファイルに格納される。
【００３８】
動作フローは動作７０４に進む。動作７０４で、ドキュメント処理アプリケーションは第２のドキュメントのデータ・ユニットのユニット識別子を取得する。１つの可能な実施形態では、ユニット識別子は第２のドキュメント内に格納される。別の可能な実施形態では、ユニット識別子は第２のドキュメントから分離されたメタデータ・ファイルに格納される。
【００３９】
動作フローは動作７０６に進む。動作７０６で、ドキュメント処理アプリケーションは、第１および第２のドキュメントのそれぞれのユニット識別子を、第１および第２のドキュメントの他方のユニット識別子と比較して、ユニット識別子のそれぞれがマッチするユニット識別子であるかマッチしないユニット識別子であるかを判定する。マッチするユニット識別子の意味するところは、第１のドキュメント内のユニット識別子が第２のドキュメント内のユニット識別子と同一であると分かるということである。これらのマッチするユニット識別子は、対応する第１および第２のドキュメントのデータ・ユニットを示す。マッチしないユニット識別子の意味するところは、第１および第２のドキュメントのうち一方の中のユニット識別子が第１および第２のドキュメントの他方の中のユニット識別子と一致し得ないということである。マッチしないユニット識別子のそれぞれは、第１および第２のドキュメントのうち一方のデータ・ユニットを示し、そのデータ・ユニットは、第１および第２のドキュメントの他方のデータ・ユニットと一致しない。
【００４０】
動作フローは比較動作７０８に進む。比較動作７０８では、第１および第２のドキュメントのうち一方の中のユニット識別子が、第１および第２のドキュメントの他方の中のユニット識別子とマッチするか否かを判定する。比較動作７０８で第１および第２のドキュメントのうち一方の中のユニット識別子が第１および第２のドキュメントの他方の中のユニット識別子とマッチしないと判定される場合には、動作フローは「いいえ」に分岐し、動作７１０へと進む。動作７１０で、マッチしないユニット識別子に関連付けられたデータ・ユニットは第３のドキュメントに直接挿入される。
【００４１】
比較動作７０８で第１および第２のドキュメントのうち一方の中のユニット識別子が第１および第２のドキュメントの他方の中のユニット識別子とマッチすると判定される場合には、動作フローは「はい」に分岐し、動作７１２へと進む。
【００４２】
動作７１２で、ドキュメント処理アプリケーションは、マッチする編集識別子を確認するために、マッチするユニット識別子に関連付けられたデータ・ユニットの編集識別子を比較する。マッチする編集識別子はそれぞれ、第１および第２のドキュメントのうち一方のデータ・ユニットが対応する第１および第２のドキュメントの他方のデータ・ユニットとマッチすることを示す。他方、マッチしない編集識別子はそれぞれ、第１および第２のドキュメントのうち一方のデータ・ユニットが対応する第１および第２のドキュメントの他方のデータ・ユニットとマッチしないことを示す。
【００４３】
動作フローは比較動作７１４に進む。比較動作７１４は、マッチするユニット識別子に関連付けられたデータ・ユニットの編集識別子が互いにマッチするか否かを判定する。比較動作７０８で編集識別子が互いにマッチすると判定される場合には、動作フローは「はい」に分岐し、動作７１０へと進む。動作７１０で、マッチするユニット識別子とマッチする編集識別子とに関連付けられたデータ・ユニットは、第３のドキュメントに直接挿入される。
【００４４】
比較動作７１４でマッチするユニット識別子に関連付けられたデータ・ユニットの編集識別子が互いにマッチしないと判定される場合には、動作フローは「いいえ」に分岐し、動作７１６へと進む。動作７１６で、マッチするユニット識別子とマッチしない編集識別とに関連付けられたデータ・ユニットは第３のドキュメントのデータ・ユニットにマージされる。これは、例えば三方向のマージ・アルゴリズムのような従来式のマージ・プロセスを使用して行うことができる。他の従来式のマージ・プロセスを使用することもできる。
【００４５】
図７で示す例は、２つのドキュメントを、マージされた第３のドキュメントへとマージする方法を示す。しかし、この例は２つのドキュメントをマージすることに限定されない。そうではなく、本明細書で示した概念と原理は３つ以上のドキュメントをマージすることにも適用することができる。
【００４６】
図８は、ユニット識別子と編集識別子をドキュメントの各データ・ユニットに割り当て、格納する方法の例８００を示す。具体的には、動作８０２で、ユニット識別子はドキュメントの各データ・ユニットに割り当てられる。ユニット識別子は一意かつ不変である。ユニット識別子はデータ・ユニットの存続期間だけ存在する。ユニット識別子は、関連付けられたデータ・ユニットをドキュメント内の他の任意のデータ・ユニットから識別し、区別する。
【００４７】
動作フローは動作８０４へと進む。動作８０４で、ユニット識別子はドキュメント内に格納される。１つの可能な実施形態では、ユニット識別子はドキュメント内のメタデータに格納される。別の可能な実施形態では、ユニット識別子はドキュメントから分離されたメタデータ・ファイルに格納される。
【００４８】
動作フローは動作８０６へと進む。動作８０６で、データ・ユニットが作成または編集されるときは常に、編集識別子がドキュメントの各データ・ユニットに割り当てられる。したがって、編集識別子は、データ・ユニットが新たに作成されるか、または編集されることを示す。編集識別子はユニット識別子から分離されている。新しく割り当てられた編集識別子は、それがデータ・ユニットに割り当てられるときには、データ・ユニットの以前の編集識別子（もしあれば）とは異なるものであり、その以前の識別子と置き換えられる。１つの可能な実施形態では、編集識別子はランダムに生成される。換言すれば、編集識別子をランダムな識別子に割り当てることができる。
【００４９】
動作フローは動作８０８へと進む。動作８０８で、編集識別子はドキュメント内に格納される。１つの可能な実施形態では、編集識別子はドキュメント内のメタデータに格納される。別の可能な実施形態では、編集識別子はドキュメントから分離されたメタデータ・ファイルに格納される。さらに別の可能な実施形態では、ユーザがドキュメントを保存するとき、編集識別子はそのドキュメントと共に格納される。
【００５０】
図９は第１のドキュメントを第２のドキュメントとマージしてマージされたドキュメントを生成する別の方法の例９００を示す。ドキュメント処理アプリケーションは、第１と第２のドキュメントをマージしてマージされたドキュメントを生成するように構成される。方法９００は、特に、第１および／または第２のドキュメントに関連付けられたドキュメント識別子を有さない可能性がある、第１および第２のドキュメントをどのように処理するかを示す。換言すれば、１つの可能な実施形態では、方法９００は、ドキュメン処理アプリケーションの以前のバージョンによって作成および／または編集されたドキュメントをどのように遡及的に扱うかを示す。方法９００は、ドキュメント処理アプリケーションが以前のアプリケーションのバージョンとのドキュメント下位互換性をどのように扱うかを示す。
【００５１】
動作フローは動作９０２で開始する。動作９０２は、第１のドキュメントが第１のドキュメントに関連付けられた第１のドキュメント識別子を有するかどうかを判定する。動作９０２で、第１のドキュメントが第１のドキュメントに関連付けられた第１のドキュメント識別子を持たないと判定される場合には、動作フローは「いいえ」に分岐し、動作９１４（後で詳細に論ずる）へと進む。動作９０２で、第１のドキュメントが第１のドキュメントに関連付けられた第１のドキュメント識別子を有すると判定される場合には、動作フローは「はい」に分岐し、動作９０４へと進む。動作９０４で、第１のドキュメント識別子を第１のドキュメントから取得する。
【００５２】
動作フローは動作９０６に進む。動作９０６では、第２のドキュメントが第２のドキュメントに関連付けられた第２のドキュメント識別子を有するかどうかを判定する。動作９０６で、第２のドキュメントが第２のドキュメントに関連付けられた第２のドキュメント識別子を有さないと判定される場合には、動作フローは「いいえ」に分岐し、動作９１４へ進む。動作９０６で、第２のドキュメントが第２のドキュメントに関連付けられた第２のドキュメント識別子を有すると判定される場合には、動作フローは「はい」に分岐し、動作９０８へと進む。動作９０８で、第２のドキュメント識別子を第２のドキュメントから取得する。
【００５３】
動作フローは比較動作９１０に進む。比較動作９１０で、第１のドキュメントの第１のドキュメント識別子が、第２のドキュメントの第２のドキュメント識別子にマッチするかどうかを判定する。比較動作９１０で、第１のドキュメントの第１のドキュメント識別子が、第２のドキュメントの第２のドキュメント識別子にマッチすると判定される場合には、動作フローは「はい」に分岐し、動作９１２へと進む。動作９１２で、図７〜８で上述したように高速なドキュメント・マージが実行される。比較動作９１０で、第１のドキュメントの第１のドキュメント識別子が第２のドキュメントの第２のドキュメント識別子にマッチしないと判定される場合には、動作フローは「いいえ」に分岐し、動作９１４へと進む。動作９１４で、従来式のドキュメント・マージが実行される。
【００５４】
従来式のドキュメント・マージが動作９１４で完了した後、動作フローは動作９１６へと進む。動作９１６で、ドキュメント識別子がマージされたドキュメントに割り当てられる。ドキュメント識別子は一意かつ不変である。ドキュメント識別子はマージされたドキュメントの存続期間だけ存在する。
【００５５】
動作フローは動作９１８に進む。動作９１８で、マージされたドキュメント内の各データ・ユニットが、データ・ユニットの存続期間だけ存在する一意なユニット識別子に割り当てられる。ユニット識別子は、関連付けられたデータ・ユニットを、マージされたドキュメント内の他の任意のデータ・ユニットから識別し、区別する。
【００５６】
動作フローは動作９２０に進む。動作９２０で、ユニット識別子がマージされたドキュメント内に格納される。１つの可能な実施形態では、ユニット識別子はドキュメント内のメタデータに格納される。別の可能な実施形態では、ユニット識別子は、マージされたドキュメントから分離されたメタデータ・ファイルに格納される。
【００５７】
動作フローは動作９２２に進む。動作９２２で、編集識別子がデータ・ユニットのそれぞれに割り当てられる。編集識別子は、データ・ユニットが新たに作成されるか、または編集されることを示す。編集識別子はユニット識別子から分離されている。
【００５８】
動作フローは動作９２４に進む。動作９２４で、編集識別子がマージされたドキュメント内に格納される。１つの可能な実施形態では、編集識別子はマージされたドキュメント内のメタデータに格納される。別の可能な実施形態では、編集識別子は、マージされたドキュメントと分離されたメタデータ・ファイルに格納される。さらに別の可能な実施形態では、編集識別子は、ユーザがドキュメントを保存するときに格納される。さらに、編集識別子にランダムな識別子を割り当てることができる。
【００５９】
動作９１６〜９２４の後、マージされたドキュメントは、そのマージされたドキュメントが後で編集および／または複製されるときに、高速マージの準備ができているドキュメントへと変換される。例えば、マージされたドキュメントが或るユーザによって第４のドキュメントへと修正され、かつ別のユーザによって第５のドキュメントへと修正された場合、第４のドキュメントと第５のドキュメントを上述の高速マージ方法でマージすることができる。
【００６０】
図９で示す例は、２つのドキュメントを、マージされた第３のドキュメントへとマージする方法を示す。しかし、この例は２つのドキュメントのみをマージすることに限定されない。そうではなく、本明細書で示した概念と原理は３つ以上のドキュメントをマージすることに適用することができる。
【００６１】
主題を構造的特徴および／または方法論的動作に固有な言葉で説明したが、添付の特許請求の範囲で定義した主題は必ずしも上述の具体的な特徴または動作に限定されないことは理解されよう。そうではなく、上述の具体的な特徴および動作は特許請求の範囲を実装する形態の例として開示されている。
【図１】
0005502745.tif 000002
【図２】
0005502745.tif 000003
【図３】
0005502745.tif 000004
【図４】
0005502745.tif 000005
【図５】
0005502745.tif 000006
【図６】
0005502745.tif 000007
【図７】
0005502745.tif 000008
【図８】
0005502745.tif 000009
【図９】
0005502745.tif 000010