複数のユーザコンピュータによって共有デジタルデータの編集を協調する方法であって、前記方法は、協調デバイスにおいて、複数の独立して動作されるユーザコンピュータから共有デジタルデータを編集するコマンドを受信すること、それぞれのユーザコンピュータからの前記コマンドのうち2以上が相互に排他的であることを判定すること、前記複数のコマンドのうちの1つのコマンドをグローバルコマンドキューに組み込んで、他のコマンドを無効にすること、前記グローバルコマンドを全ユーザコンピュータに伝送して、前記同じ共有デジタルデータを実施するために局所的に実行させること、を備える、方法。前記ユーザコンピュータのうちの1つから受信されるコマンドは、前記協調デバイスを前記他のユーザコンピュータからのコマンドを制限するようにトリガする、請求項1の方法。前記協調デバイスにおいて、前記トリガコマンドと同じ前記共有デジタルデータの同じ領域の編集に関係する前記他のコンピュータからのコマンドを無効にすることを含む、請求項2の方法。前記協調デバイスにおいて、前記共有デジタルデータの一部もしくは全体を編集するための一時的な排他的許可を、前記複数のコンピュータのうちの1台に付与することを含む、請求項1の方法。前記共有デジタルデータの前記一部もしくは全体を編集する排他的許可を有する前記コンピュータは、所定の期間内にドキュメントの前記一部もしくは全体を編集するコマンドを伝送する前記ユーザコンピュータのうちの最初のユーザコンピュータである、請求項4の方法。同じもしくは重複デジタルデータの編集に関係する場合、コマンドは相互に排他的であると判定される、請求項1の方法。同時にもしくは所定の時間間隔内に伝送または受信される場合、コマンドは相互に排他的であると判定される、請求項1の方法。前記複数のユーザコンピュータのそれぞれに局所的に格納されている前記共有デジタルデータの各バージョンは、前記グローバルコマンドを前記共有デジタルデータに実施する前に、独立して修正してもよい、請求項1の方法。全ユーザコンピュータは、前記共有デジタルデータの制御に対し等しい優先度を有する、請求項1の方法。前記ユーザコンピュータは、前記共有デジタルデータの制御の優先度が異なってもよい、請求項1の方法。前記編集することは、前記共有デジタルデータのコンテンツを修正することを含む、請求項1の方法。前記編集することは、前記共有デジタルデータの表示を修正することを含む、請求項1の方法。同じかもしくは重複共有デジタルデータを編集または修正するために、電子ネットワーク上の複数のユーザコンピュータからのコマンドを協調するシステムおよび方法への満たされないニーズが存在し、これがあれば非常に有用であろう。ネットワーク経由で複数のコンピュータ上の編集データの表示を制御および同期しながら、当該デジタルデータの共有および編集を可能にするシステムおよび方法への満たされないニーズも存在し、これがあれば非常に有用であろう。電子ネットワーク上であるセッションのすべての参加者によってデジタルデータの編集上の制御を可能にするシステムおよび方法への満たされないニーズも存在し、これがあれば非常に有用であろう。本発明は、ネットワーク経由で共有デジタルデータを制御するために、複数のユーザからの同時または干渉コマンドを協調するシステムおよび方法を提供することによって、背景技術の欠点を克服する。当該デジタルデータの非制限的な例には、映像、音声、テキストもしくはマルチメディアドキュメント、ゲーム、1以上の画像、またはプレゼンテーションを含んでもよい。いくつかの実施形態によると、本発明は、コミュニティにデータコンテンツを共有させることのできるウェブサイトによって実施してもよい。他の実施形態によると、本発明は、ピアトゥーピアプロトコルを介してネットワーク上で通信するアプリケーションによって実施してもよい。ウェブサイトとしてまたはピアトゥーピアアプリケーションとして実施するかを問わず、アプリケーションはセッション中に操作してもよい。セッションのメンバーは複数の接続コンピュータ例、ウェブサイトの実施態様ではウェブサイトに接続され、またはピアトゥーピアの実施態様では他のコンピュータに接続されるであってもよい。各セッションはメンバーのうちの1人によって開始してもよい。例示のために、セッションのイニシエータをイニシエータということがある。イニシエータは他のメンバーにセッションに参加するよう勧誘することによって、セッションを始めてもよい。セッション中、メンバーはセッションに参加しても、またはセッションから離脱してもよい。セッションは、イニシエータがセッションを停止または離脱したときに終了するのが好ましい。本発明の他の実施形態によると、セッションの各メンバーは、例えば、メモリ位置など、セッションの全メンバーがアクセスできる共有場所に、例えばユニフォームリソースロケータURLもしくは他のアドレス情報を使用してコンテンツを置くことによって、またはユーザ自身のコンピュータに置かれているコンテンツを指し示すことによって、自身のデジタルコンテンツを共有してもよい。後者の場合、コンテンツはサーバにアップロードしてもよい。アップロードはユーザに透過的にするのが好ましい。本発明のいくつかの実施形態によると、セッションイニシエータはセッションを制御してもよく、または代わりに、各ユーザが等しい制御を有してもよい。さらに別の実施形態では、各コンピュータはコンピュータの優先レベルに関連付けられている所定の制御レベルを有してもよい。セッションイニシエータはセッションの制御をセッションの1人以上のメンバーに委任してもよい。セッションの制御は、共有デジタルデータのアップロード、共有デジタルコンテンツの編集、共有映像コンテンツの再生、停止、休止、巻き戻しまたは早送りを含んでもよい。コンテンツがドキュメントまたはプレゼンテーションまたはフォトアルバムまたはあらゆる他のマルチページもしくはマルチレイヤードキュメントを含む場合、セッションの制御はドキュメントコンテンツの編集、またはレイヤーの特定のページもしくはレイヤーへの切り替え、例えば前進、逆戻りを含んでもよい。本発明のいくつかの実施形態によると、コントローラのうちの1つがこれらのコマンドのうちの1つを行うときは必ず、例えばHTTPプロトコルウェブサイトの実施態様の場合またはピアトゥーピアプロトコルピアトゥーピアの実施態様の場合を使用して、コマンドをセッションの他の全メンバーに転送してもよい。コマンドは映像/音声/テキストコンテンツをセッションのメンバーの全コンピュータで同時にもしくは一様に変更させてもよい。これらのコマンドは単なる例としてあげられており、本発明のシステムおよび方法により他のコマンドも与えてもよいことが理解されるべきである。本発明の他の実施形態によると、データコンテンツは1以上のコンテンツサービスデバイスに格納してもよい。現在再生されているコンテンツはコンテンツサービスデバイスからセッションに参加する全コンピュータに送信してもよい。コンテンツは、テキストエディタまたは映像もしくはメディアプレーヤなどのアプリケーションによって各コンピュータに表示してもよい。制御コマンドはセッションに参加するコンピュータのうちの1つのアプリケーションから、サーバなどの協調デバイスに送信してもよい。協調デバイスはまず他の制御コンピュータから保留中の相反するコマンドがあるかどうかを判定してもよく、なければ、サーバが検証されたコマンドを他のコンピュータの対応するアプリケーションに送信してもよい。本発明の他の実施形態によると、複数のコンピュータが共有デジタルデータのコンテンツを編集するためにそれぞれのコマンドを入力する場合、協調デバイス、例えば、アプリケーション、コンピュータまたはサーバはこれらのコマンドを協調してもよい。各コマンドが共有デジタルデータの同じもしくは重複コンテンツを修正するために相反する、冗長なもしくは相互に排他的な編集または動作をトリガする場合、協調デバイスはコマンドのうちの1つを選択して実行してもよく、相反するもしくは干渉する編集または動作の実行を防止するために他のコマンドを無効にするかまたは削除してもよい。本発明の他の実施形態によると、セッションの参加者は、ネットワーク上でチャット、映像/音声会議、ボイスオーバーインターネットプロトコルIPまたは他の通信を介してセッション中に通信してもよい。通信ネットワークはデジタルデータを共有するネットワークと同じでも、または異なっていてもよい。ある実施例では、デジタルデータを共有するネットワークはインターネットなどのコンピュータネットワークであってもよいが、通信ネットワークは電話網であってもよい。別の実施例では、両方のネットワークがインターネットであってもよい。別途定義しない限り、本明細書で使用するすべての技術用語および科学用語は、本発明が属する技術分野の当業者が一般に理解するのと同じ意味を有する。本明細書で提供する材料、方法および実施例は単なる例示的なものであり、制限することを意図していない。本発明の方法およびシステムの実施態様は、手動、自動もしくはその組み合わせで一定の選択されたタスクもしくはステージを実施または完了することを含んでもよい。さらに、本発明の方法およびシステムの好適な実施形態の実際の設備および機器に従い、選択された幾つかのステージはあらゆるファームウェアのあらゆるオペレーティングシステムのハードウェアもしくはソフトウェア、またはその組み合わせにより実施してもよい。例えば、ハードウェアとして、本発明の選択されたステージはチップまたは回路として実施してもよい。ソフトウェアとして、本発明の選択されたステージは、あらゆる適したオペレーティングシステムを使用するコンピュータによって実行される複数のソフトウェア命令として実施してもよい。いずれの場合においても、本発明の方法およびシステムの選択されたステージは、複数の命令を実行するためのコンピューティングプラットフォームなどのデータプロセッサによって実施するものとして記述されてもよい。本発明はコンピュータネットワーク上のコンピュータに関して説明するが、任意でデータプロセッサおよび/または1以上の命令を実行する能力を特徴とするあらゆるデバイスが、パーソナルコンピュータPC、サーバ、ミニコンピュータ、携帯電話、スマートフォン、スマート携帯電話、パーソナルデータアシスタントPDA、ポケットベル、テレビTVデコーダ、ゲーム機、デジタルミュージックプレーヤ、現金自動預け払い機ATMもしくは他の現金支払機、販売時点情報管理POSクレジットカード端末、または電子式現金登録機を含むが、それだけに限定されないコンピュータとして記述されてもよいことに留意するべきである。互いに通信する当該デバイスのうちの2以上、またはあらゆる他のコンピュータと通信するあらゆるコンピュータのうちの2以上が任意でコンピュータネットワークを構成してもよい。本発明をデジタルデータに関して説明するときは必ず、デジタルデータは音楽、スライドショー、ドキュメント、画像、映像データ、テキストデータおよびドキュメント、ゲーム、またはあらゆるマルチメディアデータを含んでもよいが、それだけに限定されないことに留意するべきである。以下オンラインとは、公衆交換電話網PSTN、携帯電話またはその組み合わせを介したデータ伝送;ハイパーテキスト転送プロトコルHTTPまたはマークアップ言語ドキュメントを使用もしくは経由した通信用のあらゆる他のプロトコルに従うウェブページ経由の情報交換;電子メールeメール、例えばICQ商標登録などのメッセージングサービス、およびあらゆる他の種類のメッセージングサービス経由のメッセージ交換;あらゆる種類のネットワーク上での映像データの伝送;上記定義したコンピュータデバイスを使用したあらゆる種類の通信;ならびに伝送用の電子媒体を組み込んだあらゆる他の種類の通信を含むが、それだけに限定されない電子通信媒体経由で行われる通信をいう。本発明は本明細書において、単なる例として、添付の図面を参照して説明する。ここで特に詳細な図面に関し、図示する明細は、例として、単に本発明の好適な実施形態を例示的に説明する目的で、本発明の原理および概念的な側面の最も有用で容易に理解される説明と考えられるものを提供するために提示していることを強調しておく。この点に関し、本発明の構造的な詳細を本発明の基本的な理解に要するよりもより詳しく示そうとするものではなく、図面と合わせて読まれる説明は本発明のいくつかの形態をどのように実施化できるかを当業者に明らかにする。本発明の実施形態は、複数の独立して動作されるユーザコンピュータによって共有されるデジタルデータドキュメントの編集を協調するシステムおよび方法を提供する。協調は、リモートサーバまたは例えば優先度の最も高いか、もしくはイニシエータコンピュータなどの複数のユーザコンピュータのうちの1つなど、複数のコンピュータを動作可能に接続する協調デバイスで実行してもよい。協調デバイスは、例えばネットワークを介して複数のコンピュータに接続してもよく、パイプラインまたはファンネルとして機能し、コマンドの生成を併合し、キューに入れ、順序を付け、および優先付けて、全コンピュータによって共有される単一の一貫性のあるチェーンのコマンドを作成して、共有デジタルデータを一斉に修正してもよい。いくつかの実施形態では、中央協調デバイスに伝送する前に、各接続コンピュータの各ローカルドキュメントを部分的に修正して修正を共有ドキュメントのグローバルバージョンで実施してもよい。例えば、ユーザはコンピュータ上で部分的に変更を行ってもよく、変更を個々に、もしくは2以上の変更のグループとしてまとめて協調デバイスに供給してもよい。各ユーザについて、それによって生成され、且つ協調デバイスでグローバルに実施される変更は残してもよく、拒絶される変更は、例えば自動的に、ユーザのコンピュータの共有デジタルデータのローカルバージョンで削除してもよい。いくつかの実施形態では、受け入れおよび/または拒絶されるコマンドのリストまたは示標を各ユーザコンピュータに送信してもよい。協調デバイスはデジタルデータを共有する全コンピュータに単一の一貫性のあるグローバルチェーンのコマンドを伝送してもよい。さらに複数のコンピュータの各々がそれに格納またはストリームされるドキュメントのバージョンでローカルにグローバルチェーンのコマンドを実施してもよい。したがって、各接続コンピュータの各ドキュメントは、例えば、同じグローバルチェーンのコマンドによって、実質的に同じかつ同期して修正してもよい。いくつかの実施形態では、全コンピュータに共有デジタルデータを制御する等しい優先度を与えてもよい。他の実施形態では、いくつかのコンピュータが他のものよりも多くの制御を有する優先度の階層があってもよい。例えば、協調デバイスが別々のコンピュータから同時にまたは所定の時間間隔内に相反する2つのコマンドを受信する場合、中央協調デバイスは相対的に高い優先度をもつコンピュータから受信するコマンドを実行してもよく、相対的に低い優先度をもつコンピュータから受信するコマンドを廃棄してもよい。共有デジタルデータは、例えば、テキストドキュメント用のテキストエディタ、画像ドキュメント用のフォトエディタ、および/または映像ファイル用のメディアプレーヤなどの標準的な、もしくは特定目的の表示用ソフトウェアを使用して、各ユーザコンピュータに表示してもよい。共有デジタルデータは、インターネット、メディアもしくはデータサーバなどのデジタルデータプロバイダによって提供されてもよい。本発明の他の実施形態により同期して任意で編集および表示してもよい他の種類の知覚またはデジタルデータは、画像データ、音楽もしくは他の音声データ、テキストファイルおよび同様な他のものを含んでもよいが、それだけに限定されない。画像データは任意で、オンラインフォトアルバムなど、例えば写真を含んでもよい。本発明の原理および動作は、図面および添付の説明を参照するとよりよく理解できるであろう。以下の図は、単なる説明のために、複数のユーザコンピュータから共有デジタルデータの制御コマンドを協調することに関して、本発明のある実施形態を示しており、一切制限することを意図していないことに留意するべきである。ここで図面を参照すると、図1は、本発明のある実施形態による複数の独立して動作されるコンピュータで共有デジタルデータを制御するシステムの模式図を示す。システム100は協調デバイス110と、複数のコンピュータ140および150と、デジタルデータサーバ130とを含んでもよく、そのすべてがインターネットなどのネットワーク120を介して接続されている。図1では単なる例示目的のために2台のコンピュータ140および150しか示していないが、本明細書で説明するシステムおよび方法はこれより多くのコンピュータの取り扱いができることが理解されるべきである。ユーザコンピュータ140および150は、パーソナルコンピュータ、デスクトップコンピュータ、モバイルコンピュータ、ラップトップコンピュータおよびノートブック型コンピュータまたは、携帯電話、パーソナルデジタルアシスタントPDA、映像ゲーム機等などのあらゆる他の適したデバイスであってもよく、有線もしくは無線接続またはモデムを含んでもよい。ユーザコンピュータ140および150は、ユーザから入力またはコマンドを受信するために例、ポインティングデバイス、クリックホイールもしくはマウス、キー、タッチスクリーン、レコーダ/マイクロホン、または他の入力コンポーネントを介して、それぞれ1以上の入力デバイス142および152を含んでもよい。ユーザコンピュータ140および150は、それぞれ1以上の出力デバイス144および154を含んで共有ドキュメントを各ユーザに表示してもよい。デジタルデータサーバ130は、共有デジタルデータをホストできるコンピュータまたはコンピュータシステムを含んでもよい。共有デジタルデータはデジタルデータサーバ130に、例えば、ウェブページ、テキストドキュメントもしくはファイル、マルチメディアドキュメントもしくはファイル、画像、映像ファイルもしくは動画および/またはゲームの形態で格納してもよい。共有デジタルデータは、例えば、編集セッションの開始時に一度、各編集セッションごとに一度、または1以上のグローバルコマンドがそこで実施されるごとに編集セッションを通して繰り返し、各ユーザコンピュータ140および150に伝送してもよい。協調デバイス110、デジタルデータサーバ130ならびにユーザコンピュータ140および150を接続するネットワーク120は、インターネットなどのあらゆるプライベートまたは公衆アクセス可能なネットワークであってもよい。ネットワーク120へのアクセスは、有線、地上無線、衛星または当技術分野で周知の他のシステムを経由してもよい。協調デバイス110、デジタルデータサーバ130ならびにユーザコンピュータ140および150は、それぞれ1以上のコントローラもしくはプロセッサ116、136、146および156を含んで動作を実行させてもよく、それぞれ1以上のメモリユニット118、138、148および158を含んでプロセッサによって実行可能なデータおよび/または命令例、ソフトウェアを格納してもよい。プロセッサ116、136、146および/または156は、例えば、中央処理装置CPU、デジタル信号プロセッサDSP、マイクロプロセッサ、コントローラ、チップ、マイクロチップ、集積回路IC、またはあらゆる他の適した多目的もしくは特定用途向けプロセッサもしくはコントローラを含んでもよい。メモリユニット118、138、148および/または158は、例えば、ランダムアクセスメモリRAM、ダイナミックRAMDRAM、フラッシュメモリ、揮発性メモリ、不揮発性メモリ、キャッシュメモリ、バッファ、短期メモリユニット、長期メモリユニット、または他の適したメモリユニットもしくは記憶装置を含んでもよい。共有デジタルデータは、コンピュータ140および150に局所的に、例えばそれぞれのメモリユニット148および158に格納してもよく、任意で、協調デバイス110またはデジタルデータサーバ130のそれぞれのメモリユニット118および138にリモートに格納してもよい。共有デジタルデータは、例えば、ウェブページ、テキストドキュメント、マルチメディアドキュメント、画像、動画および/またはゲームを含んでもよい。共有デジタルデータの各セットは、当技術分野で一般に周知のように、1以上のページからなるドキュメントまたはファイルであってもよい。共有デジタルデータはネットワーク120を介して協調デバイス110またはデジタルデータサーバ130によってコンピュータ140および150に供給されてもよく、デジタルデータサーバは、例えば、ワールドワイドウェブウェブホスト、ドキュメントもしくはマルチメディアサーバ、ゲームネットワークもしくはサーバ等を含んでもよい。あるいは、デジタルデータはコンピュータ140および150のうちの1台によって供給されて、ネットワーク120によるピアトゥーピアプロトコル接続で他のコンピュータに伝送してもよい。複数のコンピュータ140および150は、例えば各々がそれぞれのユーザによって制御される独立して動作可能なコンピュータであってもよい。コンピュータ140および150は共有デジタルデータを独立して修正してもよい。協調デバイス110は複数のコンピュータ140および150からコマンドを受信してもよく、受信した全コマンドをメモリユニット118に格納してもよい。協調デバイス110は、複数のユーザコンピュータ140および150から受信するコマンドを協調して、同じまたは重複デジタルデータの共有編集を可能にしてもよい。協調デバイス110は、例えば、論理ソフトウェアを有するコンピューティングモジュール115を含んで、本明細書で開示する実施形態により、受信したコマンドのうちのどれを実行するか、どれを削除するか、および実行する順序を判定してもよい。協調デバイス110は実行するべきグローバルコマンドのセットを、例えば実行バッファ117に格納してもよい。グローバルコマンドのセットは接続されている全コンピュータ140および150に伝送してもよく、それに格納されている共有ドキュメントの全バージョンで局所的に実行してもよい。コンピューティングモジュール115は、協調デバイス110のプロセッサ、共有デジタルデータサーバ130のプロセッサ136、および/またはユーザコンピュータ140および150のプロセッサ146および/または156にそれぞれ統合してもよく、またはこれらとは個別にしてもよい。実行バッファ117はメモリユニット118に統合してもよく、またはこれとは個別にしてもよい。いくつかの実施形態では、個別のコンピュータ140および150の2人以上のユーザは、それぞれのコマンドを入力して、同じまたは重複デジタルデータのコンテンツを、相反して、冗長に、または相互に排他的に編集してもよい。一実施例では、同じもしくは重複テキスト、画像またはマルチメディアドキュメントがコンピュータ140および150に表示される場合、コンピュータ140のユーザはある段落を削除するコマンドを選択してもよく、一方でコンピュータ150のユーザは同じ段落内のある文を修正するコマンドを選択してもよい。別の実施例では、複数のコンピュータ140および150で同期される映像が再生されている場合、コンピュータ140のユーザは早送りコマンドを選択してもよく、一方でコンピュータ150のユーザは巻き戻しコマンドを選択してもよい。コンピュータ140および150から共有デジタルデータを修正するためのそれぞれのコマンドは相互に排他的でもよく、協調デバイス110は、例えば、それぞれのコマンドのうちのどれを実行または無効にするか、コマンドを実行する順序を協調してもよい。コンピューティングモジュール115は、例えば、メモリユニット118に格納されているコンピュータ140および150からのコマンドを受け入れてもよく、それらからのそれぞれのコマンドが相互に排他的である場合を判定してもよい。一実施例では、コンピュータ140および150からのコマンドは、同じもしくは重複ドキュメントのコンテンツ、例えば、あるテキストドキュメント内の同じ文字、語、文、段落、ページもしくはドキュメント全体、またはある画像ドキュメント内の同じ1以上の画素、複数の所定の画像サブ領域の1つ、象限、マルチレイヤードキュメントのレイヤー、画像オブジェクト、タグもしくはマーカー、ウィンドウ、マルチフレーム画像ストリームもしくは動画のフレーム等を修正するときに、相互に排他的であってもよい。別の実施例では、コンピュータ140および150からのコマンドは、コマンドが共有デジタルデータを、例えば、同じ映像データを早送りおよび巻き戻しするため、またはあるテキストもしくは画像ドキュメント内の同じコンテンツに異なるもしくは相反する修正をするためなど、相反するように修正する場合に相互に排他的であってもよい。別の実施例では、コンピュータ140および150からのコマンドは、コマンドが同時に、重複する時に、または所定のロックアウト期間、ラグもしくは遅延内に、コンピュータ140および150によって伝送されるか、または協調デバイス110で受信される場合に相互に排他的であってもよい。ある実施例では、一貫性のあるまたは相互に排他的ではないコンピュータ140および150からのそれぞれのコマンドを、協調デバイス110によって併合しおよびキューに入れ、さらに共有デジタルデータでグローバルに実行してもよい。それぞれのコマンドは、それが異なるか、もしくは重複しないコンテンツを編集する時、同じもしくは重複コンテンツを編集するが、テキスト修正およびフォーマット変更などの異なる種類の編集に関係する時、または実質的に異なるもしくは重複しない時、例えば所定のロックアウト期間、ラグもしくは遅延が経過した後で、コンピュータ140および150によって伝送され、もしくは協調デバイス110で受信される時に、一貫性があるとしてもよい。モジュール115は、コンピュータ140および150からのそれぞれのコマンドが相互に排他的であるか、または反対に一貫性があるかを判定するために他の基準もしくはこれらの基準の組み合わせを使用してもよい。いくつかの実施形態では、コンピュータ140および150からのそれぞれのコマンドに関連付けられているメタデータを分析して、モジュール115は、コマンドが相互に排他的であるか、または一貫性があるかを判定してもよい。あるいは、協調プロセッサ116は、モジュール115がコマンドを他のコマンドと比較して相反があるかどうかを判定するためにコマンドのコンテンツが十分に解読されるまで、各コマンドを処理してもよい。一般に、協調サーバ110は各コマンドを、それがコンピュータ140および150から受信される順序で、順に処理してもよい。各編集は、同じドキュメント領域もしくは編集の種類に属する他のコマンドが共有ドキュメントで受け入れもしくは実行できないブラックアウトもしくはロックアウト期間をトリガしてもよい。ロックアウト期間は、例えば、コンピュータ140および150からのそれぞれのコマンドを分析してモジュール115が前もしくは後のコマンドが相互に排他的であるか、または一貫性があるかを判定するのにかかる大よその時間であってもよい。あるいは、ロックアウト期間は、全コンピュータ140および150が共有デジタルデータのそれぞれのバージョンでロックアウト期間をトリガしたグローバルコマンドを実行するのにかかる大よその時間であってもよい。ロックアウト期間中、同じドキュメントのサブ領域もしくは同じ編集の種類に属するコンピュータ140および150から受信されるコマンドを阻止、無効または廃棄してもよい。ある実施形態では、ブラックアウト期間をトリガしたコマンドを送信したユーザコンピュータは、ユーザが生成した変更がすでにそのユーザコンピュータのドキュメントのローカルバージョンで実施されるため、この期間中共有ドキュメントを編集する排他的な権利を有してもよい。コンピューティングモジュール115がコンピュータ140および150からのコマンドが相互に排他的であると判定する場合、モジュール115は相互に排他的なコマンドのうちのどれを実行するか、およびそのコマンドを実行する実行順を判定してもよい。ある実施形態では、コンピュータ140および150からのそれぞれのコマンドが相互に排他的である場合、協調デバイス110は1つのコンピュータ140にロックインしてもよく、例えば、そのコンピュータに共有データの一部もしくは全体を修正する排他的許可を与え、および/または他の接続コンピュータ150をロックアウトし、例えば、そのコンピュータが共有データの同じ一部もしくは全体を修正するのを制限する。協調デバイス110は、その領域に関連したコマンドを受信した後、コンピュータがあるドキュメントまたはそのレイヤーまたはページのある領域もしくは全体を修正するのを自動的にロックアウトしてもよい。コンピューティングモジュール115は、例えば、編集コマンドを受信するか又は伝送する最初のコンピュータ、ドキュメントの一部もしくは全体を編集する排他的権利を有するようにロックインを要求する最初のコンピュータ、各コンピュータに関連付けられている優先レベル例、教師コンピュータは生徒コンピュータのロックされた領域の編集を撤回し、またはそれに干渉してもよい、セキュリティもしくはパスワード許可、または他の基準に基づいて、コンピュータ140および150のうちの1つに編集許可を与えてもよい。ある実施形態では、共有デジタルデータドキュメントのある領域の編集からロックアウトされているコンピュータは、ドキュメントのそのローカルバージョンに変更を入力できない。例えば、ロックアウトされているコンピュータのユーザはカーソル位置を選択できず、またはロックアウトされている領域内のテキストもしくは画像オブジェクトを強調表示できない。デジタルデータドキュメントの保護動作が、ロックされている領域もしくはデジタルデータドキュメント全体に実行されてもよい。あるいは、ユーザはデジタルデータのそのローカルバージョンに変更を入力してもよいが、デジタルデータの共有グローバルバージョンに変更を入力できない。ユーザはローカルに変更を行ってから、協調デバイス110にローカル変更を提出するために提出ボタンもしくは指定キーを入力してもよく、編集がコンピュータがロックアウトされている領域に関係する場合、協調デバイス110はそのコマンドを拒絶もしくは無効にし、任意でロックアウトされているコンピュータに、例えばロックアウト:あなたの編集は入力されませんと示すメッセージを送信してもよい。ロックアウトされたコンピュータのユーザがOKボタンを選択すると、ユーザはメッセージが受信されたことを示し、または所定の時間が経過すると、グローバルに入力できなかったローカル編集をユーザドキュメントのローカルバージョンから自動的に削除してもよい。別の実施形態では、ユーザは拒絶された編集を手動で削除してもよい。ある実施形態では、1台のユーザコンピュータ140は他のユーザコンピュータ150をロックアウトしてもよい。いくつかの実施形態では、例えば、十分な優先度、パスワードもしくはセキュリティ許可を有する何人かのユーザのみ、またはグループセッションのイニシエータが他のコンピュータをロックアウトしてもよい。あるいは、あらゆるユーザコンピュータがあらゆる他のユーザコンピュータをロックアウトしてもよい。ユーザコンピュータ140は、例えば共有デジタルデータのコンテンツを修正することによって、自動的に、または例えばロックインするためのロックインキーもしくは他のコンピュータをロックアウトするためのロックアウトキーを入力することによって、手動で他のユーザコンピュータ150をロックアウトしてもよい。いくつかの実施形態では、ユーザはどのユーザコンピュータ150をロックアウトするかを選択してもよい。ある実施形態では、ユーザはセキュリティもしくは優先レベルが等しいおよび/または低い他のユーザのみをロックアウトしてもよい。いくつかの実施形態では、ユーザはロックアウト領域を選択または線引きしてもよい。例えば、ユーザオペレーティングコンピュータ140は、一時的な排他的編集権を要求する共有デジタルデータドキュメントの領域を指示してもよい。ユーザは、協調を入力するためのキーボードまたは円形もしくは矩形などの領域を強調表示もしくは線引きするためのマウスなどの入力デバイス142を使用して、ディスプレイ144に領域を指示してもよい。指示される領域が別のユーザによってすでに編集されている別の領域と重複する場合、モジュール115または別のローカルコマンドモジュールはこれを要求側ユーザに指摘してもよい。モジュールは要求される領域のうちユーザが編集してもよい利用可能な部分、要求される領域のうちの利用できない部分、および/または他のユーザがすでに編集している領域の全体を、例えばそれぞれの色で強調表示して、要求側ユーザの共有ドキュメントのバージョンに表示してもよい。別の実施形態では、要求される領域の一部もしくは全体がすでに編集されている場合、要求側コンピュータ140をキューに入れて、例えばこれであなたの編集を入力できますと表示するメッセージによって自動的に通知してもよく、領域が編集に利用可能になるときに排他的アクセスを与えてもよい。ある実施形態では、共有ドキュメントは、例えば現在のコンピュータが修正してもよい領域をある色で、コンピュータが編集できない領域を1以上の別の色にして、編集セッションを通して各コンピュータ140および150に繰り返しもしくは継続的に強調表示またはその他マーキングしてもよい。一実施例では、各接続コンピュータはそれに関連付けた色もしくは記号を有して、ユーザもしくは共同作業者のチームが共有ドキュメントを編集するときに、各ユーザの編集がその関連色もしくは記号で強調表示またはその他マーキングして、どのユーザがどの編集を生成したかが明確になるようにしてもよい。ある実施形態では、協調デバイス110は、例えば、各コンピュータに共有デジタルデータへの等しいまたは加重した割合の編集アクセスを与えるために、ロックインしているコンピュータ140と150とを交替または切り替えてもよい。この実施形態は、例えばあるコンピュータが他のコンピュータよりも協調デバイス110に対して優れた接続を有する場合、各コンピュータに共有データを編集する機会を等しく与えるのに特に便利であろう。協調デバイス110はロックイン/アウトするコンピュータ140と150とを、現在ロックインされているコンピュータがある段落、サブ領域もしくはレイヤーの編集を止めた後、またはコンピュータが編集終了ボタンを選択するかもしくはロックインボタンを解除した後に所定のロックアウト時間遅らせて切り替えてもよい。例えば、ロックインされているコンピュータが共有デジタルデータの所定の領域、例えば、テキストドキュメントのある段落または画像ドキュメントのサブ領域もしくはレイヤーの編集を止めた後、そのコンピュータはその領域の編集からロックアウトしてもよい。別の実施形態では、協調デバイス110は、各コマンド、所定数のコマンド、所定数の計算サイクル、または所定期間、例えばビーコン信号もしくはクロックサイクルの数の後に、ロックインされるコンピュータを切り替えてもよい。さらに別の実施形態では、協調デバイス110は、実行中のコンピュータがコマンドの接続シーケンスを終了するか、またはコマンドの種類を変更するときに、ロックインされるコンピュータを切り替えてもよい。例えば、コンピュータは、コンピュータが同じ種類のコマンドの定シーケンスを維持する限りロックインされていてもよい。例えば、コンピュータは動画を望むだけの時間早送りしてもよいが、例えば動画を再生するかもしくは巻き戻すためにコンピュータが一旦コマンドの種類を切り替えたら、コンピュータはデジタルデータを修正する排他的権利を断念し、ロックアウトしてもよい。協調デバイス110は、コンピュータ140および150に格納されている共有ドキュメントのローカルバージョンで実施するべきコマンドを転送して、コマンドのグローバルシーケンスもしくは順序付きキューを生成してもよい。ある実施形態では、協調デバイス110は、実行バッファ117に、例えば実行する順序でキューに、コマンドのグローバルシーケンスを格納してもよい。コマンドのグローバルシーケンスは、ロックインされているかもしくはコマンドに関連するコンテンツの編集を許可されているコンピュータ140および/または150から受信したコマンドを含んでもよく、ロックアウトされているかもしくは当該編集を行うのを禁止されているコンピュータ140および/または150からのコマンドを排除してもよい。各コンピュータ140および150は、それぞれ対応する実行バッファ147および157を有して、共有デジタルデータのローカルバージョンでコマンドを実行してもよい。協調デバイス110は、例えば定期的に、1以上の所定数の新たなコマンドがバッファ117に格納される毎に、または領域を編集するためのロックアウト期間が終了した後に、実行バッファ117から更新バッファ147および157にデータを伝送してもよい。プロセッサ146および156は更新バッファ147および157に格納されているコマンドを、例えば格納されるおよび/またはキューに入れられる順序で、各コンピュータ140および150の共有デジタルデータのローカルバージョンでそれぞれ実行してもよい。本発明の当該実施形態によると、帯域幅を節約するために、共有デジタルデータドキュメントを修正するためのコマンドのリストもしくはキューのみを、協調デバイス110からコンピュータ140および150に伝送し、典型的にはコマンドだけを搬送するよりも非常に多くのメモリおよび計算力を要するデジタルデータ自体の伝送はしない。一方、代替実施形態では、協調デバイス110は、協調デバイス110の中央バージョンcentralversionに格納されている実際の共有デジタルデータを修正するかまたは更新してから、デジタルデータドキュメントの修正部分もしくはデジタルデータドキュメント全体のコピーをコンピュータ140および150の各々に送信してそれに格納されている最新バージョンと置き換えてもよい。コンピュータ140および150は一定の変更をグローバルに入力するのを制限してもよいが、本発明のいくつかの実施形態では、ユーザは各コンピュータ140および150の共有デジタルデータのそのローカルバージョンにあらゆる変更を入力してもよい。例えば、ユーザはロックインされている、ロックアウトされている、または協調デバイス110でグローバルにその変更をするのを許可もしくは制限されているかどうかに関係なく、各コンピュータ140および150でローカルに変更を入力してもよい。変更をローカルに入力した後、ユーザは協調デバイス110にローカル変更を提出するために提出ボタンまたは指定キーを入力してもよい。コマンドは受け入れられるかまたは拒絶されて、本明細書で説明するように、コマンドのグローバルシーケンスに併合されてもよい。ある実施形態では、更新されたコマンドのグローバルシーケンスは全接続コンピュータに送信してもよい。あるいは、別の実施形態では、更新されたコマンドは、これらのコマンドはそれを生成するコンピュータにはすでに実施されているため、当初コマンドを生成しなかったコンピュータにのみ送信してもよい。後者の実施形態では、各コンピュータ140および150で共有ドキュメントの同じバージョンを生成するために、協調デバイス110は各コンピュータ140および150に別のシーケンスのコマンドを伝送してもよく、これは共有デジタルデータに行われた累積変更のすべてを含んでもよいが、個々のコンピュータが生成したコマンドは排除してもよい。ある実施形態では、コンピュータ140のユーザが1以上の編集をドキュメントに入力すると、編集は他の全コンピュータ150に表示されるデジタルデータの全共有バージョンでリアルタイムに修正されてもよい。編集は同時にまたはその後に協調デバイス110に伝送されて、そこで本明細書で説明するように受け入れるかまたは削除されてもよい。別の実施形態では、各コンピュータ140で局所的に行われる編集は、協調デバイス110が変更を受け入れてそれをグローバルコマンドチェーンで実施した後にのみ、他のコンピュータ150に入力される。ある実施形態では、協調デバイス110から受け入れられた各コンピュータ140または150からのグローバル編集は、最初に変更にマークまたは履歴を付けて他のコンピュータに入力してもよい。編集は、それが他のユーザによって生成されたことを示すか、またはそれを生成した個々のユーザもしくはユーザのグループを示す記号または色でマーキングまたは強調表示してもよい。編集は、共有編集チームの全メンバーがドキュメントのそれぞれのバージョンで編集を受け入れるときに限り、例えばプレインテキストとして、共有デジタルデータに組込み、最終的に入力してもよい。各コンピュータ140または150の共有ドキュメントは共有環境に関係する情報を提供するマーキング、強調表示または他のラベルが異なっていてもよいが、共有ドキュメントの実際のコンテンツ、例えばテキスト、画像、音声、映像、フレームは完全に一様であってもよく、既存および/または新規のコンテンツの編集は各メンバーコンピュータ140または150の共有ドキュメントの全バージョンで編集セッションを通して重複してもよい。ある実施形態では、複数のコンピュータ140および150が複数の相反する編集を入力する場合、例えばコンピューティングモジュール115による当該自動判定の代わりに、またはそれに追加して、ユーザはどの編集を実施し、どれを拒絶するかを手動で選択してもよい。例えば、コンピュータ140および150の例えばフッター、マージン、タブまたは付箋に、複数の相反する編集を提示してもよく、各それぞれのユーザは1以上の優先的な編集を選択、例えばクリックしてもよい。ユーザの選択は協調サーバ110に伝送してもよく、そこでコンピューティングモジュール115は優先的な編集をバッファ117のグローバルコマンドのシーケンスで実施してもよい。コンピューティングモジュール115は、編集を選択したコンピュータの優先度により加重したピック数に基づいて、最大数の選択または最大累積値を有するコマンドを実施してもよい。ある実施形態では、ユーザはドキュメントをオフラインで修正してから、すでに進行中または終了したオンラインセッションに変更を入力してもよい。ユーザはそのローカルに修正したドキュメントを協調デバイス110にアップロードしてもよい。アップロードされたドキュメントは、共有ドキュメントを修正するために、コマンド列に変換してもよい。アップロードされたドキュメントからのコマンドまたは修正の多くは、共有デジタルデータがオンラインセッション内で継続的に変更されているため、すでに関係がないかもしれない。共有データの最新バージョンにまだ関係し、他の保留中のコマンドと相反しないコマンドだけを実行してもよい。協調デバイス110は、受け入れられてドキュメントに組み込まれている各ユーザのコマンドのリストもしくは示標、および/または拒絶された各ユーザのコマンドのリストもしくは示標を生成してもよい。ある実施形態では、受け入れられた変更および拒絶された変更は、その変更を要求したユーザの共有ドキュメントバージョンのマージンに示してもよい。受け入れられた変更は、例えばフォントの色または下線で示してもよく、拒絶された変更は、例えば異なるフォントの色によって、テキストを取消線もしくは二重括弧に入れて示してもよい。いくつかの実施形態では、協調デバイス110は、複数の動作モードを有してコンピュータ140および150を協調してもよい。いくつかの実施形態では、ユーザコンピュータ、例えばイニシエータコンピュータは、協調デバイス110が動作してもよい利用可能なモードのうちの1以上を選択してもよい。あるモードでは、協調デバイス110はコマンドを受信する順序でキューに入れてもよい。2以上のコマンドを同時にもしくはロックアウト期間内に受信する場合、協調デバイス110は、例えば、優先度の高い方のコンピュータからのコマンド、最も最近もしくは最も過去に別のコマンドを要求したコンピュータからのコマンド、拒絶されたコマンド数が相対的に多いかもしくは少ないコンピュータからのコマンド、より重要なもしくはより重要でない変更を生じさせたコマンド、または無作為に選択したコマンド等を実行することを選択するように編集に優先度を付ける予め選択した基準に従って動作してもよい。例えば、ある実施形態では、変更の重要度は、コマンドによって影響を受けるテキストドキュメント内の文字数もしくは段落数、または画像ドキュメント内の画素数もしくはレイヤー数に比例してもよい。例えば、別の実施形態では、変更の重要度は変更の種類に関係してもよく、各種類は所定の重要度の階層に順序付けされる。別のモードでは、協調デバイス110はロックインしているコンピュータ140と150、およびそれによって生成されるキューイングコマンドを交替もしくは切り替えてもよい。別のモードでは、数人のユーザにリアルタイムの編集セッションで他のユーザとインタラクティブにドキュメントを修正するためのオンラインアクセスを与えてもよく、一方で他のユーザにドキュメントをオフラインで修正するオフラインアクセスのみを与えて、その後すでに進行中のオンラインセッションもしくは終了したセッションで変更を入力してもよい。オフラインユーザは一度にその全コマンドを入力して、その修正したドキュメントもしくはファイルをアップロードしてもよい。このモードでは、協調デバイス110はアップロードされた各ドキュメントから実行するべきコマンドのセットもしくは列を生成してもよい。ある実施形態では、コマンド列は、オンラインセッションのコマンドと相反するコマンド以外のアップロードされたドキュメントからの全コマンドの組み合わせであってもよい。別の実施形態では、相反するコマンドの各セットについて、コマンド列はドキュメントの現行バージョンと最も相反しないコマンドまたは他のコマンドと相反する数が最も少ないコマンドを含んでもよい。別のモードでは、グローバル編集は最初に変更にマークもしくは履歴を付けて各コンピュータ140または150の共有デジタルデータに入力する。編集は、1人以上のユーザが受け入れる場合、例えば視覚的にはプレインテキストとして、または実質的には新しいドキュメントコンテンツとして、共有デジタルデータに完全に組み込んでもよい。別のモードでは、協調デバイス110は、共有デジタルデータのコンテンツだけでなく、データを表示する方法も同期させてもよい。例えば、あるコンピュータ140が共有デジタルデータドキュメントを拡大もしくは縮小またはスクロールダウンするコマンドを送信する場合、協調デバイス110は、他の全コンピュータ150の共有デジタルデータバージョンに同じ表示変更を実行するコマンドを実施して伝送してもよい。上記以外のモードを協調デバイス110にプログラミングして、協調デバイス110で使用してもよい。本発明のいくつかの実施形態では、協調デバイス110は、どの変更が各コンピュータ140および150に関連するかを示す記録を保管してもよい。例えば、協調デバイス110は各コンピュータに関連する変更ログを保管してもよく、各コンピュータのそれぞれのコマンドへのポインタの集計表tallyもしくはテーブルを格納してもよく、各コンピュータごとに個別にコマンドを保存してもよく、またはコマンドを生成したコンピュータを示すマーカーでコマンド自体にタグ付けしてもよい。ある実施形態では、ユーザはコマンドのログを閲覧して、各個々のコンピュータが生成する変更を閲覧してもよい。別の実施形態では、各ユーザに色コードを割り当ててもよく、協調デバイス110は、各コンピュータの変更をそれに関連付けられる色で強調表示して、共有ドキュメントを表示してもよい。さらに別の実施形態では、協調デバイス110は、コンピュータ140および150のうちの1つ、またはコンピュータ140および150のサブセットもしくは組み合わせによって生成されるコマンドのみを実行してもよい。例えば、協調デバイス110は、編集グループのエディタの各個もしくは組み合わせから編集を実施して、共有デジタルデータの異なるバージョンを生成してもよい。ある実施形態では、各ユーザコンピュータ140および150は、動作させるユーザが生成した全変更受け入れられたものおよび拒絶されたものを含むデジタルデータの個別もしくはパーソナルバージョン、およびデジタルデータのグローバル共有バージョンを動作させてもよい。例えば比較するために、2つのバージョンを各ユーザのディスプレイ144および154の隣接ウィンドウで視聴してもよい。本明細書で使用する場合、編集は、例えばそのコンテンツを変更するために、例えば言語もしくは画像を削除、追加もしくは修正するために、デジタルデータをあらゆる形態で変更すること、または例えばワイドスクリーンから標準ビューに切り替えるため、拡大もしくはスクロールダウンするため、または早送り、巻き戻し、速度を上げるかもしくは下げるため、または動画のフレームのサブセット、例えばn番目の整数おきに再生するために、デジタルデータを編集せずに残しながらデータを表示、フォーマット化もしくはユーザに可視化する方法を変更することを含んでもよい。本発明の実施形態は共有ドキュメントで実行される複数のコンピュータ例、図1のコンピュータ140および150からのコマンドを遠隔制御するリモートサーバ例、図1の協調デバイス110を説明しているが、当該能力は1以上のローカルコンピュータで実施してもよいことは当業者には認識されるであろう。例えば、図1に関し、コンピュータ140および/または150はグローバルコマンドのセットをキューに入れるコンピューティングモジュール115を含んでもよく、それぞれバッファ147および157を使用して、キューに入れたコマンドを格納してもよい。例えば、共有ドキュメントの編集セッションを開始するイニシエータコンピュータは、それ自体および他のコンピュータから入力されるコマンドを協調してもよい。本発明のある実施形態による図1のシステムによって動作されるデジタルデータ共有ディスプレイの模式図である図2を参照する。ユーザコンピュータ140は、デジタルデータ共有ディスプレイ160をロードするためにプロセッサ146を動作してもよい。ウェブサイトの実施態様では、データ共有ディスプレイ160は、例えばネットワーク120で提供されるウェブホストなどのデジタルデータサーバ130からウェブブラウザ170を使用して閲覧されるウェブページであってもよい。ピアトゥーピアの実施態様では、データ共有ディスプレイ160は、1台もしくはすべての接続コンピュータ140および150にインストールされるデータ共有アプリケーションによって提供されてもよい。プロセッサ146および156は各ユーザコンピュータ140および150上でそれぞれのデータ共有ディスプレイ160を動作させてもよい。プロセッサ146および156は共有デジタルデータ155のコンテンツ例、デジタルデータサーバ130からを検索するためのコード175、およびディスプレイ160を実施してグローバルコマンドのセット例、協調サーバ110のバッファ117からを検索して、共有デジタルデータ155でグローバルに実行するためのコード180を呼び出してもよい。コード175は、テキストドキュメントの場合はテキストエディタ、画像ドキュメントの場合はフォトエディタ、および/または映像ファイルの場合はメディアプレーヤなど、標準もしくは特定目的の表示用ソフトウェアによって、共有デジタルデータ155を提供してもよい。コード180は、共有デジタルデータ155でグローバルコマンドのセットを一斉に実行して、接続コンピュータ140および150間で編集を同期させてもよい。協調デバイス110がコンピュータ140および150から離れた遠隔デバイスの場合、コード180は比較的単純にしてもよく、例えば編集要求を協調デバイス110に伝送して、協調デバイス110からグローバル編集を受信しそれを実施して共有デジタルデータ155を修正するためにのみ使用してもよい。しかし、コンピュータ140および/または他のコンピュータ150がピアトゥーピアの実施態様で編集を協調する場合、コンピュータ自体が協調デバイス110である。この実施形態では、協調コンピュータ140および/または150に格納されているコード180は、タイミング合わせ、バッファリング、どのコマンドを実行してどれを無効にするか、コマンドの順序、それぞれのコマンドが一貫性があるか、もしくは相互に排他的であるかなど、コマンドおよびデータコンテンツ間の類似性および相違、および/または図1のコンピューティングモジュール115に関して説明した他の論理を判定するために、複雑な論理を含んでもよい。コード175およびコード180は、各コンピュータ140および150が編集セッションにログインされるときに、例えば少なくとも一時的に、コンピュータ140および150のメモリユニット148もしくは158にそれぞれロードして格納してもよい。協調デバイス110はユーザコンピュータ140および150から、データ共有ディスプレイ160を使用して表示される共有コンテンツを編集する要求を受信してもよい。編集情報に加えて、要求は、要求される編集の種類の数、ユーザの優先レベルもしくはコード、ページを閲覧するユーザのIPアドレス、ユーザの過去の編集に関する履歴ログもしくは情報、編集が関係する共有デジタルデータ155のコンテンツもしくはそれに関連するメタデータを記述する記述情報、ユーザ識別コード、セキュリティコード、ウェブページのURLもしくはアドレスまたはピアトゥーピア環境、および/または編集が関係する共有デジタルデータ155からの実際のコンテンツなどのパラメータまたは情報を含んでもよい。協調デバイス110は、例えばコマンド自体に追加してもしくはその代わりに、当該データを使用して、どのコマンドを、どの順序でどの優先度でグローバルに実行するかを判定してもよい。他の情報を利用して、どの編集をコンピュータ140および150でグローバルに実施するかを判断してもよい。共有デジタルデータ155を編集するためにコンピュータ140および150から要求が与えられると、協調デバイス110は全ユーザコンピュータ140および150で共有デジタルデータ155の全バージョンで一様に実施するべきグローバルコマンドのセットを生成してもよい。プロセッサ146および156は、例えば、バッファ117から1以上のグローバルコマンドを検索してもよく、バッファ147および157にローカルにコマンドを格納してもよい。プロセッサ146および156は実行バッファ147および157に格納されているコマンドを、各コンピュータ140および150の共有デジタルデータのローカルバージョンでそれぞれ実行してもよい。ある実施形態では、検索されるコマンドは、全接続コンピュータ140および150で生成される共有ドキュメントで実行されるべき全累積コマンドを含んでもよい。別の実施形態では、各コンピュータ140または150で生成されるコマンドが協調デバイス110によってグローバルに承認される前にすでに局所的に入力されている場合、各コンピュータが検索するコマンドのセットはコンピュータ自体が生成するコマンドを除外してもよい。全累積コマンドが受信されると、各コンピュータのコード180は、個々のコンピュータが生成するコマンドを削除するかもしくはフィルタリングする追加機能を含んでもよい。主にコンピュータ140等価表現をコンピュータ150に関して使用してもよいの動作に関係する例示的な実施形態では、コンピュータ140は、共有デジタルデータ155を部分的に修正して編集コンテンツ165および185を生成してもよく、コンピュータ150は、共有デジタルデータ155を部分的に修正して編集コンテンツ175を生成してもよい。対応するコマンドを協調デバイス110に送信してもよい。例えば、協調デバイス110は編集コンテンツ165および175を生成するコマンドを承認してもよいが、編集コンテンツ185は承認しない。協調デバイス110は承認された編集コンテンツ165および175に対応するコマンドのセットをバッファ117に格納してもよく、禁止された編集コンテンツ185に対応するコマンドを破棄してもよい。コンピュータ140はバッファ117からのコマンドのセットを検索してもよい。バッファ117からコンピュータ140に送信されるコマンドは、グローバルに承認されたコマンドを含んでもよく、コンピュータ140自体によって生成されるコマンドを含んでもまたは含まなくてもよい。コンピュータ140は検索されたコマンドをバッファ147に部分的に格納してもよい。プロセッサ146はバッファ147に格納されている新たに検索されたコマンドもしくは全コマンドを実行して、共有デジタルデータ155を更新してもよい。したがって、プロセッサ146は禁止された編集コンテンツ185を削除し、そのままにするか、もしくは承認された編集コンテンツ165を最終的に統合し、他のコンピュータ150が生成する承認された編集コンテンツ175を追加してもよい。いくつかの実施形態では、編集の各セットは、ラベル、色コードまたはその他のマーキングして、編集が最終的に共有デジタルデータ155の全共有バージョンに統合されたかどうか、編集が承認保留中であるかどうか、編集が承認もしくは拒絶されたかどうか、および/または編集が現在のコンピュータ140もしくは別のコンピュータ150で生成されたかどうかを示してもよい。本発明のある実施形態により映像データを共有するために使用される図1のシステムのある実施例の模式図である図3を参照する。図示するように、システム300は、例えば図1および図2のデジタルデータサーバ130のようなサーバなどのコンテンツ提供デバイス302を含んでもよい。コンテンツ提供デバイス302はネットワーク314にストリーム配信する映像/音声データを提供してもよい。コンテンツ提供デバイス302はネットワーク314を介してテキスト、音声、画像またはマルチメディアの単一もしくは複数のページドキュメントを提供してもよい。コンテンツ提供デバイス302はコンテンツサービスプロバイダに属してもよい。ネットワーク314は、インターネットなど、例えば図1および図2のネットワーク120など本明細書で説明するあらゆる種類のネットワークであってもよい。コンテンツ提供デバイス302は、好ましくは符号化されたフォーマットであってもよい映像データを伝送するための送信機312を含んでもよい。送信機312は、例えばビデオオーバーIP規格に従って伝送するための映像データを準備することによって、ネットワーク314上に映像データを伝送するために必要なあらゆる処理を行ってもよい。送信機312はネットワークインターフェース310経由で映像データを伝送してもよい。送信機312はネットワーク314上に映像データを伝送するための規格に従って映像データを伝送してもよい。当該規格の非制限的な例は、H.323、リアルタイム転送プロトコルRTP、リアルタイムストリーミングプロトコルRTSP、および好ましくはビデオ会議に使用されるセッション開始プロトコルSIPを含む。RTPは任意でH.323および/またはSIPと組み合わせて使用してもよい。音声データは適切なプロトコルに従って伝送してもよい。複数ページのドキュメントの転送は、ハイパーテキスト転送プロトコルHTTP規格またはセキュアHTTPHTTPSを含むが、それだけに限定されない当該データの伝送用の規格に従って行ってもよい。当該映像伝送のタイミングは、基準クロック308によって制御してもよく、これは当技術分野で周知のあらゆる種類のリアルタイムメカニズムとして実施してもよく、また当技術分野で周知のハードウェア、ソフトウェアもしくはファームウェアとして実施してもよい。複数のユーザコンピュータ304および306は、それぞれユーザコンピュータAおよびユーザコンピュータBとしてラベルを付けて図示するようにネットワーク314を介して接続してもよい。当然ながら、あらゆる数のユーザコンピュータを任意でネットワーク314を介して接続してもよい。コンピュータ304および306は、図1および図2のコンピュータ140および150に関して上記説明したように、本発明の実施形態に従って動作してもよい。各ユーザコンピュータ304および306は、それぞれ映像デコーダ316および320を含んでもよい。映像デコーダ316および320は伝送された映像データを受信して、それぞれ出力ディスプレイ324および332で視聴されるためのデータを準備してもよい。映像デコーダ316および320は、例えばアップルコンピュータインク社APPLECOMPUTERInc.が製造するメディアファイル管理および再生用のiTunes商標登録ソフトウェア、および/またはWindows商標登録メディアプレーヤマイクロソフトインク社MicrosoftInc.を含め、当技術分野で周知のあらゆる種類のメディアアプリケーションとして実施してもよい。映像デコーダ316および320の動作、したがって映像データの表示のタイミングは、それぞれクロック318および328によって制御してもよく、これは任意で当技術分野で周知のあらゆる種類のリアルタイムメカニズムとして実施してもよく、また当技術分野で周知のハードウェア、ソフトウェアもしくはファームウェアとして実施してもよい。クロック318および328は、例えばネットワークタイムプロトコルNTPを使用して、映像提供デバイス302の基準クロック308と同期させてもよい。本発明の例示的な実施形態によると、ユーザコンピュータ304は、この実施例では、セッションイニシエータであってもよい。ユーザコンピュータ304はネットワーク314上で要求をコンテンツ提供デバイス302に送信して、同期された再生を開始してもよい。ユーザコンピュータ306はユーザコンピュータ304から直接要求を受信してもよく、または代わりにコンテンツ提供デバイス302から要求を受信してもよい。セッション開始後、ユーザコンピュータ304はセッションを制御する能力をユーザコンピュータ306に委任してもよい。クロック318および328ならびに基準クロック308は、例えば上記説明するように、同期させてもよい。ユーザコンピュータ304および306が一旦セッションの制御を有すると、両コンピュータは出力ディスプレイ324および332で同期される映像データの再生を制御してもよい。この実施例の目的上、共有コンテンツとは映像コンテンツである。コンテンツ提供デバイス302はユーザコンピュータ304および306への映像データのストリーミングを始めてもよい。任意で、また好ましくは、ユーザコンピュータ304および306のそれぞれの映像デコーダ316および320はともに映像データをバッファリングして、例えば、ネットワークジッタを防止するとともに、同期をより容易に可能にする。映像データはユーザコンピュータ304および306の出力ディスプレイ324および332にそれぞれ表示してもよい。ユーザコンピュータ304および306は、それぞれ映像共有ソフトウェア325および322を含んでもよい。ユーザコンピュータ304の映像共有ソフトウェア325が、例えば停止、休止、巻き戻しおよび/または早送り機能の起動により映像データのフローを変更するコマンドを受信すると、対応するコマンドがユーザコンピュータ306の映像共有ソフトウェア322に送信されてもよい。同様に、ユーザコンピュータ306の映像共有ソフトウェア322が、例えば停止、休止、巻き戻しおよび/または早送り機能の起動により、映像データのフローを変更するコマンドを受信すると、対応するコマンドがユーザコンピュータ304の映像共有ソフトウェア325に送信されてもよい。ユーザコンピュータ304および306の映像デコーダ316および320はさらに、ユーザコンピュータ304および306の映像データのディスプレイの同期を維持するために、対応するコマンドを実行してもよい。例えば、1つのユーザコンピュータの映像デコーダ316または320が映像データの再生を停止するコマンドを実行すると、他のコンピュータの映像デコーダ320または316はそれぞれ同様に同じまたは重複映像データの再生を停止する。コマンドは、例えばピアトゥーピアプロトコルを使用して、ユーザコンピュータ304または306の映像デコーダ316または320から直接ユーザコンピュータ306または304の映像デコーダ320または316にそれぞれ送信してもよい。あるいは、コマンドはコンテンツ提供デバイス302経由で伝送してもよい。映像データは巻き戻しおよび早送りなどのコマンドをサポートするために十分にバッファリングしてもよい。いくつかの実施形態によると、ユーザコンピュータ304および306の両方が、互いにコマンドを送信して各他方のそれぞれの映像デコーダ316および320を制御してもよい。図3では単なる例示目的のために2台のユーザコンピュータのみを描いているが、本明細書で説明するシステムおよび方法はそれ以上のユーザコンピュータの取り扱いができることが理解されるべきである。上記の説明では、セッションを制御するコンピュータは実質的に同時に他の全コンピュータにコマンドを送信してもよい。本明細書で説明する映像データは単なる例として使用しており、複数ページ、マルチメディアまたはテキストデータを使用する場合、ユーザコンピュータ304および306は1以上の協調または同期された編集コマンド例えば、データの特定のページもしくは他のユニットに移動する、テキストをリライトする、またはドキュメントを再フォーマット化するを実行することを支援するオフィスツール326および330を含んでもよいことに留意するべきである。好ましくは、各セッションは、セッションを再スタートする必要なく、複数の映像クリップ、画像、テキストオブジェクト、楽曲および同様な他のもの、および/またはその組み合わせなど、デジタルコンテンツの複数のユニットを表示することを含んでもよい。共有動画ストリーム例、図3に関して説明するものにおける映像データの同期は、例えば編集が映像データの再生速度の修正を含む場合、共有デジタルデータ例、図1および図2に関して説明するものの編集の協調に関して説明した実施形態に従って実施してもよい。本発明のある実施形態によりデジタルデータ共有ディスプレイ400の模式図である図4を参照する。ディスプレイ400は、例えば図1のディスプレイ160を含め、本明細書で説明するあらゆる種類のディスプレイであってもよい。ディスプレイ400は、例えば図2のウェブブラウザ170などのウェブブラウザを使用して閲覧されるウェブページとして、ウェブサイトにより実施してもよい。ディスプレイ400は、Microsoft商標登録ウィンドウズなどの既存のオペレーティングシステムのうちの1つを使用して、ウィンドウとして実施してもよい。ディスプレイ400は共有デジタルデータ図2に関して説明する共有デジタルデータ155、図3に関して説明する映像および/または音声データなどを表示するためにコンテンツディスプレイ402を含んでもよい。共有デジタルデータが音声データを含む場合、ディスプレイは例えばラウドスピーカまたは他のオーディオ機器により再生されることを含んでもよい。ディスプレイ400は、1以上の制御ボタン404を含んで、制御コマンドを実行してもよい。コンテンツが音声または映像の場合、制御ボタンは、例えば再生、巻き戻し、早送りおよび停止を含んでもよい。コンテンツが複数ページのドキュメントの場合、制御ボタンは、例えばドキュメントの表示を始めるためのスタート、次ページに進むための次、前ページに戻るための前、および特定のページにジャンプするためのジャンプであってもよい。制御コマンドはピアトゥーピアプロトコルで送信してもよいが、代わりに中央サーバ経由で送信してもよい。また制御コマンドは他のメンバーをセッションに勧誘するためのコマンドおよびセッションの制御を他のメンバーのコンピュータに委任するためのコマンドを含んでもよい。セッションの制御を委任するための制御ボタンは、セッションのイニシエータのみに利用できるのが好ましい。ディスプレイ400は映像共有セッションの1以上の参加者の視覚表示および/または対応するアバターを表示する参加者ディスプレイ406を含んでもよい。前者の場合、視覚表示は、全参加者がまだデータを視聴していることを確認するため、および/またはボディランゲージのフィードバックを提供するために使用してもよい。チャットモジュール408およびボイスオーバーIPモジュール510は、映像データを表示する様々なコンピュータのセッションユーザが通信できるようにするため、例えば表示されるデータに関する情報および/または意見を交換できるようにするために任意で設けてもよい。コンテンツテーブル407は、全共有コンテンツを表示するために使用してもよい。このテーブルは、セッションの参加者間で共有される映像、クリップ、ドキュメントおよび同様な他のもののURLを任意で表示できる。URLはサムネイル画像として表示してもよい。セッションの制御を許可されている各参加者は、このテーブルからコンテンツのうちの1つを選び、このコンテンツの再生を始めてもよい。本発明のある実施形態により共有映像データを表示する図4のソフトウェア共有アプリケーションディスプレイの実施例である図5を参照する。ディスプレイ500の共有映像データの再生は、他の接続コンピュータの同じまたは重複データの再生と同期させてもよい。同期は、コンピュータがセッションで接続してもよいウェブサイトを介して実施してもよい。あるいは、同期は、セッションの1以上のコンピュータにインストールされているピアトゥーピアアプリケーションを使用して実施してもよい。各セッションは、セッションのメンバーによって共有され同期される動画などのデジタルメディアコンテンツを操作してもよい。図5に図示するように、ディスプレイ500は、現在実行中のコンテンツを表示してもよいコンテンツプレーヤディスプレイ510と、実行中のコンテンツを制御する制御ボタン550と、コンテンツデータのリストを含むコンテンツテーブル520とを含む。ディスプレイ500はまた、参加者のアバターのディスプレイ例、ユーザのコンピュータ上の表象を備える会議エリア540とチャットエリア530とを含んでもよい。ディスプレイ500のインターフェースを使用して実行されるコマンドは、図1および図2のネットワーク120などのネットワークで送信してもよい。ネットワークはピアトゥーピアプロトコルを使用してもよく中央サーバ経由で動作するプロトコルも使用してもよいが、デジタルコンテンツ510の再生を同期するため、例えば複数のメディアプレーヤが現在共有している動画のスタート、停止または巻き戻しをするために使用してもよい。本発明のある実施形態によるコマンド構造の例示的な図である図6を参照する。コマンド構造600は演算コード601とパラメータ602とを含んでもよい。演算コード601は行わなければならないコマンドの演算コードであってもよい。演算コード601は、例えば共有デジタルデータのコンテンツを編集するためのコマンドの演算コード例、図2の共有デジタルデータ155の編集コンテンツ165、175および/または185を生成する、データのコンテンツ表示を編集するための共有デジタルデータのフォーマット化例、スクロールアップもしくはダウン、拡大もしくは縮小、動画再生、動画巻き戻し、動画早送り、写真表示、次の写真、前の写真、ドキュメント表示、次ページ、前ページ、ページ番号にジャンプ、および同様な他のことをするためであってもよい。パラメータ602は、例えば、共有デジタルデータコンテンツの共有メモリ位置のURL、動画を停止もしくは動画を巻き戻すフレーム番号コンテンツが動画の場合、ページ番号コンテンツがドキュメントの場合、および同様な他のものを含んでもよい。コマンド構造600は任意で、好ましくはコマンドを伝送するために使用されるプロトコルに従う、列またはあらゆる他のメッセージ構造であってもよい。本発明のある実施形態により複数の独立して動作されるユーザコンピュータで共有デジタルデータを制御するための方法のフローチャートである図7を参照する。本発明のある実施形態によると、1台のユーザコンピュータは、他のコンピュータに参加を勧誘して、例えばドキュメントの編集または動画あたりの再生速度を修正するよう勧誘して、セッションを開始してもよい。ある実施形態では、イニシエータコンピュータは共有デジタルデータを編集するための制御を他のユーザコンピュータに委任してもよい。他の実施形態では、共有デジタルデータを編集するための制御はセッションの全参加者によって自動的に共有されてもよい。動作700で、第1ユーザコンピュータAは共有デジタルデータのセッションを開始し、または入ってもよい。セッションは、インターネットなどのネットワーク上のウェブサイトにより、または代わりにピアトゥーピア接続を使用するセッションメンバーのコンピュータのうちの1台によってサポートしてもよい。動作710で、ユーザコンピュータAは共有メモリ位置例、図1および図2のデジタルデータサーバ130もしくは図4のコンテンツテーブル407などのデジタルコンテンツを供給するかまたはそれにアクセスしてもよい。デジタルデータを共有メモリ位置に格納することは、デジタルデータをセッションの全参加者が共有することを可能にしてもよい。動作720で、複数の独立して動作されるユーザコンピュータBおよび/またはCがセッションに参加してもよい。ユーザコンピュータBおよび/またはCは、Aからの勧誘を受け入れることによってセッションに参加してもよい。勧誘はピアトゥーピアプロトコルを介して送信してもよい。セッション中、参加者のいずれも他のメンバーを参加するように勧誘してもよい。この状況において、ユーザコンピュータBはユーザコンピュータDにセッションへの参加を勧誘してもよい。ユーザコンピュータDはセッションに参加する勧誘を受け入れてもよい。ユーザコンピュータAは1以上の他のメンバーコンピュータにセッションの制御を許可してもよい。一実施例では、ユーザコンピュータAは動画の再生を始めてもよく、例えば制御コマンドを使用して例、図4の制御ボタン404を介して、動画の制御をユーザコンピュータBおよびDに委任してもよい。別の実施例では、ユーザコンピュータAはデジタルデータドキュメントの編集を始めてもよく、ドキュメントの制御をユーザコンピュータBおよびDに委任してもよい。再生または編集コマンドの結果として、セッションの全参加者のコンピュータのデータ共有ソフトウェアは、コンテンツ提供デバイスの共有メモリ位置からダウンロードを始めてもよい。動画が再生されている間、またはデータドキュメントが編集されている間、ユーザコンピュータCはユーザコンピュータEにセッションへの参加を勧誘してもよい。データ共有ソフトウェアの制御コマンドは各コンピュータに現在共有されているフレームを照会させてもよいため、ユーザコンピュータEは現在再生されているフレームから動画の視聴を始めてもよく、またはデータドキュメントの現在の状態で編集に参加してもよい。動画の実施例では、ユーザコンピュータAはさらに動画を停止してもよく、全ユーザコンピュータは場面を話し合ってもよい。話し合いはチャット、ビデオ会議、ボイスオーバーIP、またはネットワークで話し合いを実施するための他のあらゆる方法例、図4のチャットモジュール408を使用するを介して実施してもよい。話し合いが終了すると、動画の再生速度を制御する能力も有するユーザコンピュータDは、再び動画の再生を始めてもよい。動画が終了すると、ユーザコンピュータBはドキュメントを共有エリアに置いて、他のユーザコンピュータへのドキュメントの提示を始めてもよい。セッション中、一部の参加コンピュータはセッションを離れてもよく、一方で他のコンピュータは参加したままでもよい。動作730で、セッション中、複数のコマンドが複数のユーザコンピュータA、B、C、Dおよび/またはEのうちの2台以上によって伝送され、および/または協調デバイスによって同時にまたは指定の時間間隔内に受信される。時間間隔は、例えば、協調デバイスが複数のコンピュータからのコマンドを分析して、コマンドが相反する、冗長である、もしくは相互に排他的であるかどうかを判定する動作740ためにかかる推定時間もしくは大よその時間であってもよく、または代わりにコマンドを伝送および/または受信してから動作730セッション内の全コンピュータがコマンドのうちの少なくとも1以上を実行する動作780ためにかかる推定時間もしくは大よその時間であってもよい。動作740で、協調デバイスは、2以上のユーザコンピュータによって伝送されたそれぞれのコマンドが、共有デジタルデータを相反する、冗長であるもしくは相互に排他的であるように修正する編集または動作をトリガするかどうかを判定してもよい。トリガしない場合、プロセスは動作755に進んでもよい。トリガする場合、プロセスは動作750に進んでもよい。動作750で、協調デバイスはそれぞれのコマンドの中から実行するものを選択し、他のコマンドは無効にまたは削除して、相反するかもしくは干渉する編集もしくは動作の実行を防止してもよい。動作755で、複数のコマンド間で相反もしくは干渉がないため、協調デバイスは複数のコマンドの全部を実行するために選択してもよい。動作760で、協調デバイスは、選択したコマンド動作750もしくは動作755からをグローバルコマンドキューに保存し、または組み込んでもよい。動作770で、協調デバイスはグローバルコマンドキューをセッション内の複数のユーザコンピュータの各々に送信または転送してもよい。動作780で、その複数のユーザコンピュータの各々は、共有デジタルデータのそのローカルバージョンでグローバルコマンドキューを実施してもよい。動作シーケンスの他の動作を使用してもよい。本発明は少数の実施形態に関して説明してきたが、本発明の多くの変型、変更および他のアプリケーションを行えることは認識されるであろう。