【手続補正書】
【提出日】平成19年6月26日(2007.6.26)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ネットワーク接続可能な少なくとも一つのリモート・デバイスとネットワーク上で協調動作し互いに通信して該ネットワーク接続可能なリモート・デバイスとネットワーク接続可能なローカル・デバイスとが同じデータを協働して編集できるように構成されたネットワーク接続可能なローカル・デバイスであって、該ネットワーク接続可能なローカル・デバイスと該ネットワーク接続可能なリモート・デバイスのそれぞれが、 
Ａ）データ・モデルにしたがって前記データのローカル・コピーを格納するメモリと、 
Ｂ）前記メモリと接続され、相互に対して絶対的な順序を有する複数のデータ変更要求に応じて、前記データ・モデルに従って前記データのローカル・コピーを前記メモリ内に格納することを制御して該データのローカル・コピーを変更するためのデータ変更エンジンであって、前記データ変更要求にはローカルに生成されたデータ変更要求とリモート生成されたデータ変更要求とを含むことを特徴とするデータ変更エンジンと、 
Ｃ）前記データ変更エンジンと接続され、前記データ変更要求に応じて、前記エンジンを制御して前記データ変更要求の協働実行をするダイナミクス・マネージャとを含むことを特徴とし、前記ダイナミクス・マネージャは、前記データ変更要求に応じて、前記絶対的な順序でデータ変更の実行を行わさせ、前記絶対的な順序とは異なる順序で受信したデータ変更要求に応じて、前記絶対的な順序とは異なる順序のデータ変更要求に対応するデータ変更が実行されるべきポイントに対してデータ変更を選択的に取り消させ、前記絶対的な順序とは異なる順序でデータ変更の再実行をさせ、データ変更を取り消したものに対して前記絶対的な順序でデータ変更を実行させて、前記ネットワーク接続可能なローカル・デバイスと前記ネットワーク接続可能なリモート・デバイスとの双方に格納されたデータのローカル・コピーに対して同じ順序で同じデータ変更が実行されるようにすることができることを特徴とするネットワーク接続可能なローカル・デバイス。
【請求項２】
前記ダイナミクス・マネージャは、データ変更要求優先順位スキーマに応じて、データ変更の実行と、取り消しと、再実行とを行わせることを特徴とする請求項１に記載のネットワーク接続可能なローカル・デバイス。
【請求項３】
前記データ変更要求優先順位スキーマは、データ変更要求の相互に対する絶対的な順序を規定する要求シーケンス番号で前記データ変更要求を符号化することを含み、前記ダイナミクス・マネージャは前記要求シーケンス番号に応じて前記データ変更要求によって指定されたデータ変更を行なう順序を決定することを特徴とする請求項１に記載のネットワーク接続可能なローカル・デバイス。
【請求項４】
前記データ変更要求優先順位スキーマは前記要求を生成した前記ネットワーク接続可能なデバイスの特性に対応する識別子で前記データ変更要求を符号化することを含み、前記ダイナミクス・マネージャは前記識別子に応じてデータ変更を行なわせることを特徴とする請求項３に記載のネットワーク接続可能なローカル・デバイス。
【請求項５】
ネットワーク接続可能なデバイスの各々とそのユーザは、エンドポイントに対応し、前記識別子は前記データ変更要求を開始した前記エンドポイントに対応するエンドポイント番号を含むことを特徴とする請求項４に記載のネットワーク接続可能なローカル・デバイス。
【請求項６】
前記要求シーケンス番号はエンドポイントの相対的なシーケンス番号を含み、前記ダイナミクス・マネージャは前記エンドポイントの相対的なシーケンス番号と前記エンドポイント番号とに依存する順序でデータ変更要求を処理させることを特徴とする請求項５に記載のネットワーク接続可能なローカル・デバイス。
【請求項７】
前記データ変更要求優先順位スキーマは従属性識別子を前記データ変更要求の各々の中に含み、前記ダイナミクス・マネージャは前記従属性識別子に応じてデータ変更の取り消しや再実行を行なわせることを特徴とする請求項３に記載のネットワーク接続可能なローカル・デバイス。
【請求項８】
前記従属性識別子は前記符号化されたデータ変更要求の従属先のデータ変更要求を少なくとも一つ指定することを特徴とする請求項７に記載のネットワーク接続可能なローカル・デバイス。
【請求項９】
前記従属性識別子は前記符号化されたデータ変更要求の従属先のデータ変更要求を一つ指定することを特徴とする請求項８に記載のネットワーク接続可能なローカル・デバイス。
【請求項１０】
前記ダイナミクス・マネージャはデータ変更要求に関して実行、取り消し、再実行動作を実行して、データ変更要求の各々が前記一つのデータ変更要求の従属先である前記指定されたデータ変更要求が処理された後でのみ処理されることを保証することを特徴とする請求項８に記載のネットワーク接続可能なローカル・デバイス。
【請求項１１】
Ａ）前記要求シーケンス番号はエンドポイントの相対的なシーケンス番号を含み、 
Ｂ）前記ダイナミクス・マネージャは前記エンドポイントの相対的なシーケンス番号と前記エンドポイント番号とに依存した順序で前記データ変更要求を処理させ、 
Ｃ）前記ダイナミクス・マネージャは前記従属性識別子に応じてデータ変更を取り消させたり再実行させたりすることを特徴とする請求項８に記載のネットワーク接続可能なローカル・デバイス。
【請求項１２】
分散データ・モデルに準拠して同じデータのコピーを複数保持する分散型協調システムであって、前記複数のコピーはユーザのアクションに呼応して変更することができ、前記システムは 
Ａ）複数のコンピュータ・システムを含み、前記コンピュータ・システムの各々は前記データのローカル・コピーを変更するための複数のデータ変更要求をローカルに生成することと、前記ローカルに生成されたデータ変更要求と前記データの前記ローカル・コピーに前記要求された変更を行えるように前記コンピュータ・システムの他のシステムで生成されるリモートな場所で生成されたデータ変更要求とを含むデータ変更要求を実行することが可能であることを特徴とし、 
Ｂ）前記コンピュータ・システムの各々は、ローカルに生成されたデータ変更要求とリモート生成されたデータ変更要求とを受信するダイナミクス・マネージャであって、前記ローカルに生成されたデータ変更要求とリモート生成されたデータ変更要求とに含まれる情報に応じて、前記データのローカル・コピーに対して前記要求された変更が行なわれる順序を決定し、該決定された順序で要求されたデータ変更を実行し、リモート生成されたデータ変更要求が該決定された順序とは異なる順序で受信されたときに実行されたデータ変更を、該間違った順序のデータ変更要求に対応するデータ変更が実行できるポイントに対して、該決定された順序で取り消し、データ変更を取り消したものに対して前記絶対的な順序でデータ変更を再実行するダイナミクス・マネージャを含むことを特徴とする分散協調型システム。
【請求項１３】
各コンピュータ・システムの前記ダイナミクス・マネージャは前記データ変更要求に記録されたデータ従属性情報と要求シーケンス情報とに応じて前記データの前記ローカル・コピーに前記要求された変更が行なわれなければならない前記絶対的な順序を決定し、 前記データ従属性情報は前記データ変更要求の従属先である少なくとも一つの先行するデータ変更要求の表示を含み、 前記要求シーケンス情報は前記データ変更要求を生成した前記コンピュータ・システムによって生成される複数のデータ変更要求の中の前記データ変更要求のシーケンシャルな位置を表わすことを特徴とする請求項１２に記載のシステム。
【請求項１４】
アクティビティに基づくコラボレーションシステムに対して通信サービスを提供するフレームワーク装置であって、前記システムにおいて、デルタを含むデータ変更要求が、データのローカル・コピー間の一貫性を維持するために、ネットワーク接続可能なデバイス間でネットワークを介して通信され、各デルタは、他の全てのデルタに対する該デルタの絶対的な順序を決定する従属性情報を含み、前記フレームワーク装置は、ローカルに生成したデルタを、ネットワークを介して、ネットワーク接続可能な少なくとも一つのリモート・デバイスへ送信し、リモート生成されたデルタをネットワーク接続可能な少なくとも一つのリモート・デバイスから受信する動作を、ネットワーク接続可能なローカル・デバイス上で実行可能な通信マネージャと、前記デルタに含まれる従属性情報に応じて前記デルタを処理してデータの各ローカル・コピーを変更する順序を決定するためのダイナミクス・マネージャを含むことを特徴とするフレームワーク装置であって、該ダイナミクス・マネージャは、リモート生成されたデルタを該決定された順序とは異なる順序で受信することに応じて、データのローカル・コピーに対して実行されたデータ変更を選択的に取り消させ、間違った順序のデルタに対応したデータ変更を実行させ、データ変更を取り消したものに対して該決定された順序でデータ変更を選択的に再実行させることを特徴とするフレームワーク装置。
【請求項１５】
アクティビティに基づくコラボレーションシステムに対する通信サービスを提供する方法であって、前記システムにおいてデルタを含むデータ変更要求が、データのローカル・コピー間の一貫性を維持するために、ネットワーク接続可能なデバイス間でネットワークを介して通信され、各デルタは他の全てのデルタに対する該デルタの絶対的な順序を決定するシーケンス情報を含み、前記方法は 、
Ａ）ローカルに生成されたデルタを、ネットワーク接続可能なローカル・デバイスから、ネットワーク接続可能な少なくとも一つのリモート・デバイスへネットワークを介して送信し、リモート生成されたデルタを、ネットワーク接続可能な前記少なくとも一つのリモート・デバイスからネットワークを介して受信するステップと、 
Ｂ）前記デルタ内に含まれるシーケンス情報に基づいて前記デルタを処理する絶対的な順序を決定するステップと、 
Ｃ）前記決定した順序で前記デルタを処理することにより前記デルタによって要求された通りにデータのローカル・コピーに変更を行なうステップと、
Ｄ）前記デルタに含まれたシーケンス情報であって、リモート生成されたデルタが該決定された順序とは異なる順序で受信されたことを示すシーケンス情報に応じて、データのローカル・コピーに対して要求されて実行されたデータ変更を取り消すステップと、
Ｅ）間違った順序のデルタに対応するデータのローカル・コピーに対してデータ変更を実行するステップと、
Ｆ）前記決定された順序でデータ変更を再実行するステップと、
を含むことを特徴とする方法。
【請求項１６】
データのローカル・コピーとデータ変更要求を生成するデータ変更手段とを有しネットワーク接続可能なデバイスにおいてデータ変更要求を処理する方法であって、各データ変更要求は、他のすべてのデータ変更要求に対する該データ変更要求の絶対的な順序を決定する情報を含み、データのローカル・コピーに対して実行される変更を指定し、前記ネットワーク接続可能なデバイスは、ネットワーク接続可能な少なくとも二つの他のデバイスとネットワークを介して通信して、ネットワーク接続可能な全てのデバイスが編集セッション中に同じデータを協働して編集できるようにすることを特徴とし、該方法は、
（ａ）第１及び第２の受信されたデータ変更要求が、データのローカル・コピーに対して第３のデータ変更が既に実行されていることを要求するときは、該データ変更要求に含まれた情報に基づいて、該第１及び第２のデータ変更要求により指定された通りに、データ変更の絶対的な順序を決定するステップと、
（ｂ）前記第１及び第２のデータ変更要求の内の一つにより指定されたデータ変更が、他のデータ変更がデータのローカル・コピーに対して既に実行されているので、該データ変更要求により決定された順序では実行できないときは、データのローカル・コピーに対して他のデータ変更を取り消すステップと、
（ｃ）前記データ変更要求の一つにより指定された通りに、データのローカル・コピーに対してデータ変更を実行するステップと、
（ｄ）ステップ（ｂ）でデータ変更が取り消されたものに対してデータ変更を再実行して、ネットワーク接続可能な全てのデバイスにおいて、データのローカル・コピーに対して実行されたデータ変更と整合するようにデータのローカル・コピーに対するデータ変更を実行するステップと、
を有することを特徴とする方法。
【請求項１７】
搬送波で実現されるコンピュータ・データ信号であって、 
Ａ）第１のデータ変更要求を含む識別されたデータ変更を要求するためのデータ変更要求コードと、前記第１のデータ変更要求を実施するための少なくとも一つのコマンドを指定するためのコマンド・コードとを含むペイロード・コードと、 
Ｂ）従属性衝突解決コードを含むヘッダ・コードと を含むことを特徴とするコンピュータ・データ信号。
【請求項１８】
前記従属性衝突解決コードは前記データ変更要求間の従属性衝突を解決する際に使用するテレスペースのメンバーシップ・スポンサーシップの記録された表示と、少なくとも部分的にテレスペースのメンバーシップ・スポンサーシップに基づいた第２のデータ変更要求とを含むことを特徴とする請求項１７に記載のコンピュータ・データ信号。
【請求項１９】
前記従属性衝突解決コードは前記データ変更要求間の従属性衝突を解決する際に使用する前記データ変更要求を発生したエンドポイントの特性の記録された表示と、少なくとも部分的にエンドポイント特性の前記記録された表示に基づいた第２のデータ変更要求とを含むことを特徴とする請求項１７に記載のコンピュータ・データ信号。
【請求項２０】
前記従属性衝突解決コードは前記データ変更要求と第２のデータ変更要求との間の従属性衝突を少なくとも部分的に前記データ変更の種類に基づいて解決する際に使用するデータ変更の種類の記録された表示を含むことを特徴とする請求項１７に記載のコンピュータ・データ信号。
【請求項２１】
前記従属性衝突解決コードは前記データ変更要求と第２のデータ変更要求との間の従属性衝突を少なくとも部分的に前記アクティビティの種類に基づいて解決する際に使用するアクティビティの種類の記録された表示を含むことを特徴とする請求項１７に記載のコンピュータ・データ信号。
【請求項２２】
前記ヘッダは実質的に以下の形式の部分を含む Ｓｅｑ． Ｎｏ． ＡＡ ＠ ＥＰ． Ｎｏ． ＢＢ： Ｓｅｑ． Ｎｏ． ＣＣ ＠ ＥＰ． Ｎｏ． ＤＤ ことを特徴とする請求項１７に記載のコンピュータ・データ信号。
【請求項２３】
前記従属性衝突解決コードは前記データ変更要求が関係するデータを識別するための識別コードと、前記第１のデータ変更要求についてのエンドポイントとデータ変更要求シーケンス番号とを識別するため及び前記第１のデータ変更要求の従属先である第２のデータ変更要求についてのエンドポイントとデータ変更要求シーケンス番号とを識別するための一貫性データ・コードとを含むことを特徴とする請求項１７に記載のコンピュータ・データ信号。
【請求項２４】
前記一貫性データコードは前記第１のデータ変更要求についての前記エンドポイントと前記データ変更要求シーケンス番号とを識別し、前記第１のデータ変更要求の従属先である一つだけのデータ変更要求についてのみエンドポイントとデータ変更要求シーケンス番号とを識別し、前記一つのデータ変更要求は前記第２のデータ変更要求であることを特徴とする請求項２３に記載のコンピュータ・データ信号。
【請求項２５】
アクティビティに基づく分散型コラボレーションシステムであって、 
Ａ）コラボレーションのアクティビティのためのデータのローカルコピーに対して変更を行なうデータ変更要求の実行の順序を決定するためのデータ変更要求優先順位論理と、 
Ｂ）第３のデータ変更要求に共に実行が従属する第１のデータ変更要求と第２のデータ変更要求との間の従属性衝突を解決するための従属性衝突解決論理と を含むことを特徴とするシステム。
【請求項２６】
前記データ変更要求優先順位論理と前記従属性衝突解決論理はデータ変更要求に記録されたシーケンス番号情報と従属性情報に呼応して前記データ変更要求の実行中の前記データへの変更の実行と実行取り消しと再実行とを含むコンピュータに実装された演算を制御することを特徴とする請求項２５に記載のシステム。
【請求項２７】
ピア・ツー・ピア型コラボレーションシステムで使用するエンドポイントに称呼を割り当てるための分散型の方法であって、該方法が、 テレスペースの複数のメンバーの各々の各エンドポイントへユニークな称呼を割り当てるステップと、 メンバーの各称呼は前記テレスペースに前記メンバーが加入した順序を表わし、前記テレスペースの別のメンバーであって前記招待する側のメンバーを含むメンバーによって加入するよう誘致された各メンバーについては、前記招待する側のメンバーを表わすようにするステップと、 前記割り当てられた称呼を保存するステップと、 を含むことを特徴とする方法。
【請求項２８】
異なるエンドポイントの複数の前記称呼の各々は招待する側のメンバーの連鎖を表わすことを特徴とする請求項２７に記載の方法。
【請求項２９】
前記称呼は、前記テレスペースの創始メンバを表わす第１の順位と、前記創始メンバーによって前記テレスペースへ加入するように招待されたメンバーを表わす少なくとも第２の順位とを含む複数の順位を含むことを特徴とする請求項２７に記載の方法。
【請求項３０】
前記割り当てるステップは 
Ａ）前記テレスペースの作成時に、テレスペースの創始メンバーに対応するエンドポイントが第１の順位の数字を含むユニークな称呼をそれ自体に割り当てるステップと、 
Ｂ）前記テレスペースの作成に続いて、前記創始メンバーにより、前記テレスペースへ前記創始メンバーが招待した前記テレスペースの新規メンバーに対応する複数のエンドポイントの各々に対して、前記テレスペースの創始メンバーの前記第１の順位の数字と、前記新規メンバーが前記テレスペースへ加入した順序を表わすシーケンシャル順位である前記新規メンバーのエンドポイントの称呼の第２の順位の数字とを含むユニークな称呼を割り当てるステップと、 を含むことを特徴とする請求項２７に記載の方法。
【請求項３１】
前記割り当てるステップは前記招待する側のメンバーの各々が前記テレスペースへ前記相対する側のエンドポイントが招待する新規のテレスペース・メンバーの各々にユニークな称呼を割り当てるステップを含むことを特徴とする請求項２７に記載の方法。
【請求項３２】
ピア・ツー・ピア型コラボレーションシステムにおいて使用するエンドポイントへの称呼を割り当てるための分散型の方法であって、該方法が、 テレスペースの各々の招待する側のメンバーが前記招待する側のメンバーが順次前記テレスペースへ招待する新規のテレスペース・メンバーの各々の各エンドポイントにユニークな称呼を割り当てるステップと、 前記招待する側のメンバーが前記テレスペースへ招待する複数のテレスペース・メンバーに対して、メンバーの各称呼は前記テレスペース内ではユニークなものであることを保証するステップと、 を含むことを特徴とする方法。
【請求項３３】
前記保証するステップは前記招待する側のメンバーが前記テレスペースへ招待する複数のテレスペース・メンバーに対してメンバーの各称呼が前記コラボレーションシステムの中ではユニークなものであることを保証することを含むことを特徴とする請求項３２に記載の方法。
【請求項３４】
前記割り当てるステップは前記称呼を割り当てるために疑似乱数ジェネレータを使用することを含むことを特徴とする請求項３２に記載の方法。