JP5729709B2 - 共有デジタルデータの同時編集を協調するシステムおよび方法 - Google Patents

共有デジタルデータの同時編集を協調するシステムおよび方法 Download PDF

Info

Publication number
JP5729709B2
JP5729709B2 JP2013501492A JP2013501492A JP5729709B2 JP 5729709 B2 JP5729709 B2 JP 5729709B2 JP 2013501492 A JP2013501492 A JP 2013501492A JP 2013501492 A JP2013501492 A JP 2013501492A JP 5729709 B2 JP5729709 B2 JP 5729709B2
Authority
JP
Japan
Prior art keywords
digital data
commands
computers
shared digital
user computers
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2013501492A
Other languages
English (en)
Other versions
JP2013522804A (ja
JP2013522804A5 (ja
Inventor
ザロム、ロニー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Watchitoo Inc
Original Assignee
Watchitoo Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Watchitoo Inc filed Critical Watchitoo Inc
Publication of JP2013522804A publication Critical patent/JP2013522804A/ja
Publication of JP2013522804A5 publication Critical patent/JP2013522804A5/ja
Application granted granted Critical
Publication of JP5729709B2 publication Critical patent/JP5729709B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • H04L65/403Arrangements for multi-party communication, e.g. for conferences
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • G06F9/526Mutual exclusion algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Computer Hardware Design (AREA)
  • Tourism & Hospitality (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Information Transfer Between Computers (AREA)
  • Document Processing Apparatus (AREA)
  • User Interface Of Digital Computer (AREA)
  • Hardware Redundancy (AREA)

Description

本発明は、デジタルデータを共有するためのシステムおよび方法に関係し、具体的には、ネットワーク上の複数のコンピュータによって当該データの編集を協調するためのシステムおよび方法に関係する。
インターネットは世界中のコンピュータユーザが電子的に対話し通信するのを可能にしている。例えば、ユーザは電子メールのメッセージを送受信し、ウェブページを閲覧し、音楽、ソフトウェア、映像をダウンロードし、多数の他の活動を行うことができる。
映像データはインターネット経由の送信に特に人気がある。YouTube、MetaCafeおよび同様な他のものなどの人気の映像共有ウェブサイトは、ユーザが作成したコンテンツおよび他の映像コンテンツをアップロードしてユーザがインターネット経由で視聴者と共有するのを可能にする。
映像コンテンツ共有ウェブサイトは、当該映像コンテンツをますます多くの量受信して表示するようになっている。しかし、現在、遠隔地の別のユーザと一緒に映像コンテンツを視聴したいユーザが完璧な共有経験を手軽にすることはできない。例えば、あるユーザがあるフレームを調べるために映像を停止して、「巻き戻し」(ストリームを逆戻りする)または「早送り」(ストリームの先に進む)したい場合、そのユーザの映像コンテンツはもはや他のユーザのものとは同期しないことがある。
例えば、ビジネス、教育または他の目的のための様々な種類のグループ活動のために、ネットワーク上でデータを共有するための他の考えられる実施態様は、動画、テキストもしくはマルチメディアドキュメント、1つ以上の画像、プレゼンテーション、またはあらゆる他のデジタルデータなどのデータを編集する2以上の関係者を含んでもよい。
映像データの同期は、例えば特許文献1に記述されるように、物理的に同様な場所にある2台のデバイスの場合は難しくはない。この出願では、別の映像デバイスに映像データを送信して1台の映像デバイスが同期を制御する。この種の共有はインターネットについては提案されているが、映像データは事実上サーバから第1コンピュータに、さらに第1コンピュータから第2コンピュータに送信されるため、明らかに非効率的である。
特許文献2は、ホストコンピュータを複数のクライアントデバイスに接続する別の種類の同期システムを記述している。しかし、クライアントデバイスは専用映像プレーヤとして記述されているが、ホストコンピュータはアップル・コンピュータ・インク社(APPLE COMPUTER Inc.)のiTunes(商標登録)ソフトウェアなどのオペレーティングメディアソフトウェアとして記述されている。このようなシステムは、例えば、ユーザにプライベートネットワークでメディアを放送させる家庭内では適しているであろう。これは遠隔ユーザがインターネットなどのネットワーク経由で映像などのデジタルコンテンツを共有し、その編集を同期させるという問題は解決しない。
現在利用できる解決策は、1台のコンピュータから共有データを放送するユーザが、複数の接続コンピュータで共有データの表示を制御することを可能にする。しかし、複数のコンピュータで共有データを制御し編集するために複数のユーザからの同時コマンドを協調することは、本発明による以外では、現在利用できる解決策を使用しては不可能である。
米国特許出願公開公報第2007/0136769号 国際特許出願公開公報第2007/079334号
同じかもしくは重複共有デジタルデータを編集または修正するために、電子ネットワーク上の複数のユーザコンピュータからのコマンドを協調するシステムおよび方法への満たされないニーズが存在し、これがあれば非常に有用であろう。
ネットワーク経由で複数のコンピュータ上の編集データの表示を制御および同期しながら、当該デジタルデータの共有および編集を可能にするシステムおよび方法への満たされないニーズも存在し、これがあれば非常に有用であろう。
電子ネットワーク上であるセッションのすべての参加者によってデジタルデータの編集上の制御を可能にするシステムおよび方法への満たされないニーズも存在し、これがあれば非常に有用であろう。
本発明は、ネットワーク経由で共有デジタルデータを制御するために、複数のユーザからの同時または干渉コマンドを協調するシステムおよび方法を提供することによって、背景技術の欠点を克服する。当該デジタルデータの非制限的な例には、映像、音声、テキストもしくはマルチメディアドキュメント、ゲーム、1以上の画像、またはプレゼンテーションを含んでもよい。
いくつかの実施形態によると、本発明は、コミュニティにデータコンテンツを共有させることのできるウェブサイトによって実施してもよい。
他の実施形態によると、本発明は、ピア・トゥー・ピアプロトコルを介してネットワーク上で通信するアプリケーションによって実施してもよい。
ウェブサイトとしてまたはピア・トゥー・ピアアプリケーションとして実施するかを問わず、アプリケーションはセッション中に操作してもよい。セッションのメンバーは複数の接続コンピュータ(例、ウェブサイトの実施態様ではウェブサイトに接続され、またはピア・トゥー・ピアの実施態様では他のコンピュータに接続される)であってもよい。各セッションはメンバーのうちの1人によって開始してもよい。例示のために、セッションのイニシエータを「イニシエータ」ということがある。イニシエータは他のメンバーにセッションに参加するよう勧誘することによって、セッションを始めてもよい。セッション中、メンバーはセッションに参加しても、またはセッションから離脱してもよい。セッションは、イニシエータがセッションを停止または離脱したときに終了するのが好ましい。
本発明の他の実施形態によると、セッションの各メンバーは、例えば、メモリ位置など、セッションの全メンバーがアクセスできる共有場所に、例えばユニフォームリソースロケータ(URL)もしくは他のアドレス情報を使用してコンテンツを置くことによって、またはユーザ自身のコンピュータに置かれているコンテンツを指し示すことによって、自身のデジタルコンテンツを共有してもよい。後者の場合、コンテンツはサーバにアップロードしてもよい。アップロードはユーザに透過的にするのが好ましい。
本発明のいくつかの実施形態によると、セッションイニシエータはセッションを制御してもよく、または代わりに、各ユーザが等しい制御を有してもよい。さらに別の実施形態では、各コンピュータはコンピュータの優先レベルに関連付けられている所定の制御レベルを有してもよい。セッションイニシエータはセッションの制御をセッションの1人以上のメンバーに委任してもよい。セッションの制御は、共有デジタルデータのアップロード、共有デジタルコンテンツの編集、共有映像コンテンツの再生、停止、休止、巻き戻しまたは早送りを含んでもよい。コンテンツがドキュメントまたはプレゼンテーションまたはフォトアルバムまたはあらゆる他のマルチページもしくはマルチレイヤードキュメントを含む場合、セッションの制御はドキュメントコンテンツの編集、またはレイヤーの特定のページもしくはレイヤーへの切り替え、例えば前進、逆戻りを含んでもよい。
本発明のいくつかの実施形態によると、コントローラのうちの1つがこれらのコマンドのうちの1つを行うときは必ず、例えばHTTPプロトコル(ウェブサイトの実施態様の場合)またはピア・トゥー・ピアプロトコル(ピア・トゥー・ピアの実施態様の場合)を使用して、コマンドをセッションの他の全メンバーに転送してもよい。コマンドは映像/音声/テキストコンテンツをセッションのメンバーの全コンピュータで同時にもしくは一様に変更させてもよい。これらのコマンドは単なる例としてあげられており、本発明のシステムおよび方法により他のコマンドも与えてもよいことが理解されるべきである。
本発明の他の実施形態によると、データコンテンツは1以上のコンテンツサービスデバイスに格納してもよい。現在再生されているコンテンツはコンテンツサービスデバイスからセッションに参加する全コンピュータに送信してもよい。コンテンツは、テキストエディタまたは映像もしくはメディアプレーヤなどのアプリケーションによって各コンピュータに表示してもよい。制御コマンドはセッションに参加するコンピュータのうちの1つのアプリケーションから、サーバなどの協調デバイスに送信してもよい。協調デバイスはまず他の制御コンピュータから保留中の相反するコマンドがあるかどうかを判定してもよく、なければ、サーバが検証されたコマンドを他のコンピュータの対応するアプリケーションに送信してもよい。
本発明の他の実施形態によると、複数のコンピュータが共有デジタルデータのコンテンツを編集するためにそれぞれのコマンドを入力する場合、協調デバイス、例えば、アプリケーション、コンピュータまたはサーバはこれらのコマンドを協調してもよい。各コマンドが共有デジタルデータの同じもしくは重複コンテンツを修正するために相反する、冗長なもしくは相互に排他的な編集または動作をトリガする場合、協調デバイスはコマンドのうちの1つを選択して実行してもよく、相反するもしくは干渉する編集または動作の実行を防止するために他のコマンドを無効にするかまたは削除してもよい。
本発明の他の実施形態によると、セッションの参加者は、ネットワーク上でチャット、映像/音声会議、ボイスオーバーインターネットプロトコル(IP)または他の通信を介してセッション中に通信してもよい。通信ネットワークはデジタルデータを共有するネットワークと同じでも、または異なっていてもよい。ある実施例では、デジタルデータを共有するネットワークはインターネットなどのコンピュータネットワークであってもよいが、通信ネットワークは電話網であってもよい。別の実施例では、両方のネットワークがインターネットであってもよい。
別途定義しない限り、本明細書で使用するすべての技術用語および科学用語は、本発明が属する技術分野の当業者が一般に理解するのと同じ意味を有する。本明細書で提供する材料、方法および実施例は単なる例示的なものであり、制限することを意図していない。
本発明の方法およびシステムの実施態様は、手動、自動もしくはその組み合わせで一定の選択されたタスクもしくはステージを実施または完了することを含んでもよい。さらに、本発明の方法およびシステムの好適な実施形態の実際の設備および機器に従い、選択された幾つかのステージはあらゆるファームウェアのあらゆるオペレーティングシステムのハードウェアもしくはソフトウェア、またはその組み合わせにより実施してもよい。例えば、ハードウェアとして、本発明の選択されたステージはチップまたは回路として実施してもよい。ソフトウェアとして、本発明の選択されたステージは、あらゆる適したオペレーティングシステムを使用するコンピュータによって実行される複数のソフトウェア命令として実施してもよい。いずれの場合においても、本発明の方法およびシステムの選択されたステージは、複数の命令を実行するためのコンピューティングプラットフォームなどのデータプロセッサによって実施するものとして記述されてもよい。
本発明は「コンピュータネットワーク」上の「コンピュータ」に関して説明するが、任意でデータプロセッサおよび/または1以上の命令を実行する能力を特徴とするあらゆるデバイスが、パーソナルコンピュータ(PC)、サーバ、ミニコンピュータ、携帯電話、スマートフォン、スマート携帯電話、パーソナル・データ・アシスタント(PDA)、ポケットベル、テレビ(TV)デコーダ、ゲーム機、デジタルミュージックプレーヤ、現金自動預け払い機(ATM)もしくは他の現金支払機、販売時点情報管理(POS)クレジットカード端末、または電子式現金登録機を含むが、それだけに限定されないコンピュータとして記述されてもよいことに留意するべきである。互いに通信する当該デバイスのうちの2以上、またはあらゆる他のコンピュータと通信するあらゆるコンピュータのうちの2以上が任意で「コンピュータネットワーク」を構成してもよい。
本発明をデジタルデータに関して説明するときは必ず、デジタルデータは音楽、スライドショー、ドキュメント、画像、映像データ、テキストデータおよびドキュメント、ゲーム、またはあらゆるマルチメディアデータを含んでもよいが、それだけに限定されないことに留意するべきである。
以下「オンライン」とは、公衆交換電話網(PSTN)、携帯電話またはその組み合わせを介したデータ伝送;ハイパーテキスト転送プロトコル(HTTP)またはマークアップ言語ドキュメントを使用もしくは経由した通信用のあらゆる他のプロトコルに従うウェブページ経由の情報交換;電子メール(eメール)、例えばICQ(商標登録)などのメッセージングサービス、およびあらゆる他の種類のメッセージングサービス経由のメッセージ交換;あらゆる種類のネットワーク上での映像データの伝送;上記定義したコンピュータデバイスを使用したあらゆる種類の通信;ならびに伝送用の電子媒体を組み込んだあらゆる他の種類の通信を含むが、それだけに限定されない電子通信媒体経由で行われる通信をいう。
本発明のある実施形態による複数の独立して動作されるコンピュータ上で共有デジタルデータを制御するシステムの模式図である。 本発明のある実施形態による図1のシステムによって動作されるデジタルデータ共有アプリケーションの模式図である。 本発明のある実施形態により映像データを共有するために使用される図1のシステムの実施例の模式図である。 本発明のある実施形態によるデジタルデータ共有ソフトウェアディスプレイの模式図である。 本発明のある実施形態による図4のソフトウェア共有アプリケーションディスプレイに表示される共有映像の実施例である。 本発明のある実施形態によるコマンド構造の例示的な図である。 本発明のある実施形態による複数の独立して動作されるコンピュータ上で共有デジタルデータを制御する方法のフローチャートである。
本発明は本明細書において、単なる例として、添付の図面を参照して説明する。ここで特に詳細な図面に関し、図示する明細は、例として、単に本発明の好適な実施形態を例示的に説明する目的で、本発明の原理および概念的な側面の最も有用で容易に理解される説明と考えられるものを提供するために提示していることを強調しておく。この点に関し、本発明の構造的な詳細を本発明の基本的な理解に要するよりもより詳しく示そうとするものではなく、図面と合わせて読まれる説明は本発明のいくつかの形態をどのように実施化できるかを当業者に明らかにする。
本発明の実施形態は、複数の独立して動作されるユーザコンピュータによって共有されるデジタルデータドキュメントの編集を協調するシステムおよび方法を提供する。協調は、リモートサーバまたは例えば優先度の最も高いか、もしくはイニシエータコンピュータなどの複数のユーザコンピュータのうちの1つなど、複数のコンピュータを動作可能に接続する協調デバイスで実行してもよい。協調デバイスは、例えばネットワークを介して複数のコンピュータに接続してもよく、パイプラインまたはファンネルとして機能し、コマンドの生成(influx)を併合し、キューに入れ、順序を付け、および優先付けて、全コンピュータによって共有される単一の一貫性のあるチェーンのコマンドを作成して、共有デジタルデータを一斉に修正してもよい。
いくつかの実施形態では、中央協調デバイスに伝送する前に、各接続コンピュータの各ローカルドキュメントを部分的に修正して修正を共有ドキュメントのグローバルバージョンで実施してもよい。例えば、ユーザはコンピュータ上で部分的に変更を行ってもよく、変更を個々に、もしくは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)、ダイナミックRAM(DRAM)、フラッシュメモリ、揮発性メモリ、不揮発性メモリ、キャッシュメモリ、バッファ、短期メモリユニット、長期メモリユニット、または他の適したメモリユニットもしくは記憶装置を含んでもよい。
共有デジタルデータは、コンピュータ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の中央バージョン(central version)に格納されている実際の共有デジタルデータを修正するかまたは更新してから、デジタルデータドキュメントの修正部分もしくはデジタルデータドキュメント全体のコピーをコンピュータ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)規格またはセキュアHTTP(HTTPS)を含むが、それだけに限定されない当該データの伝送用の規格に従って行ってもよい。
当該映像伝送のタイミングは、基準クロック308によって制御してもよく、これは当技術分野で周知のあらゆる種類のリアルタイムメカニズムとして実施してもよく、また当技術分野で周知のハードウェア、ソフトウェアもしくはファームウェアとして実施してもよい。
複数のユーザコンピュータ304および306は、それぞれ「ユーザコンピュータA」および「ユーザコンピュータB」としてラベルを付けて図示するようにネットワーク314を介して接続してもよい。当然ながら、あらゆる数のユーザコンピュータを任意でネットワーク314を介して接続してもよい。コンピュータ304および306は、図1および図2のコンピュータ140および150に関して上記説明したように、本発明の実施形態に従って動作してもよい。
各ユーザコンピュータ304および306は、それぞれ映像デコーダ316および320を含んでもよい。映像デコーダ316および320は伝送された映像データを受信して、それぞれ出力ディスプレイ324および332で視聴されるためのデータを準備してもよい。映像デコーダ316および320は、例えばアップル・コンピュータ・インク社(APPLE COMPUTER Inc.)が製造するメディアファイル管理および再生用のiTunes(商標登録)ソフトウェア、および/またはWindows(商標登録)メディアプレーヤ(マイクロソフト・インク社(Microsoft Inc.))を含め、当技術分野で周知のあらゆる種類のメディアアプリケーションとして実施してもよい。
映像デコーダ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で、その複数のユーザコンピュータの各々は、共有デジタルデータのそのローカルバージョンでグローバルコマンドキューを実施してもよい。
動作シーケンスの他の動作を使用してもよい。
本発明は少数の実施形態に関して説明してきたが、本発明の多くの変型、変更および他のアプリケーションを行えることは認識されるであろう。

Claims (14)

  1. 独立して動作される複数のユーザコンピュータにおいて共有デジタルデータの編集を協調する方法であって、前記方法は、
    協調デバイスにおいて、
    前記独立して動作される複数のユーザコンピュータから共有デジタルデータを編集するコマンドを受信すること、
    前記独立して動作される複数のユーザコンピュータのうちの2以上のユーザコンピュータの各々からの前記コマンドのうちの2以上によって共有デジタルデータのコンテンツを相反して編集する場合、前記コマンドのうち2以上が相互に排他的であることを判定すること、
    前記2以上の相互に排他的であるコマンドのうちの1つのコマンドをグローバルコマンドのキューに組み込んで、前記2以上の相互に排他的であるコマンドのうちの他のコマンドを無効にすること、
    前記グローバルコマンドのキューに組み込まれたコマンドが、前記独立して動作される複数のユーザコンピュータの各々に記憶された共有デジタルデータのローカルバージョンで実行されるように、前記共有デジタルデータではなく前記グローバルコマンドのキューを前記独立して動作される複数のユーザコンピュータの全てに伝送することを備え、
    前記グローバルコマンドのキューが、前記2以上の相互に排他的であるコマンドのうちの1つのコマンドをグローバルコマンドのキューに組み込んだ後に局所的に実行させるべき前記組み込まれたコマンドに対する前記独立して動作される複数のユーザコンピュータの各々に伝送される、方法。
  2. 前記独立して動作される複数のユーザコンピュータのうちの1つから受信されるコマンドは、前記協調デバイスを他の独立して動作される複数のユーザコンピュータからのコマンドを制限するようにトリガする、請求項1の方法。
  3. 前記協調デバイスにおいて、トリガコマンドと同じ前記共有デジタルデータの同じ領域の編集に関係する前記他の独立して動作される複数のユーザコンピュータからのコマンドを無効にすることを含む、請求項2の方法。
  4. 前記協調デバイスにおいて、前記共有デジタルデータの一部もしくは全体を編集するための一時的な排他的許可を、前記独立して動作される複数のユーザコンピュータのうちの1台に付与することを含む、請求項1の方法。
  5. 前記共有デジタルデータの前記一部もしくは全体を編集する排他的許可を有する前記ユーザコンピュータは、所定の期間内にドキュメントの前記一部もしくは全体を編集するコマンドを伝送する前記独立して動作される複数のユーザコンピュータのうちの最初のユーザコンピュータである、請求項4の方法。
  6. 2以上のコマンドが前記共有デジタルデータの同じ部分もしくは重複部分の編集に関係する場合、2以上のコマンドは相互に排他的であると判定される、請求項1の方法。
  7. 2以上のコマンドが同時にもしくは所定の時間間隔内に伝送または受信される場合、2以上のコマンドは相互に排他的であると判定される、請求項1の方法。
  8. 前記独立して動作される複数のユーザコンピュータのそれぞれに局所的に格納されている前記共有デジタルデータの各バージョンは、前記グローバルコマンドを前記共有デジタルデータに実施する前に、独立して修正してもよい、請求項1の方法。
  9. 前記独立して動作される複数のユーザコンピュータの全ては、前記共有デジタルデータの制御に対し等しい優先度を有する、請求項1の方法。
  10. 前記独立して動作される複数のユーザコンピュータは、前記共有デジタルデータの制御の優先度が異なってもよい、請求項1の方法。
  11. 前記編集することは、前記共有デジタルデータのコンテンツを修正することを含む、請求項1の方法。
  12. 前記編集することは、前記共有デジタルデータの表示を修正することを含む、請求項1の方法。
  13. 独立して動作される複数のユーザコンピュータにおいて共有デジタルデータの編集を協調するシステムであって、
    前記システムは、協調デバイスを備え、
    前記協調デバイスは、
    メモリと、
    プロセッサであって、
    前記独立して動作される複数のユーザコンピュータから共有デジタルデータを編集するコマンドを受信すること、
    前記独立して動作される複数のユーザコンピュータのうちの2以上のユーザコンピュータの各々からの前記コマンドのうちの2以上によって共有デジタルデータのコンテンツを相反して編集する場合、前記コマンドのうち2以上が相互に排他的であることを判定すること、
    前記2以上の相互に排他的であるコマンドのうちの1つのコマンドをグローバルコマンドのキューに組み込んで、前記2以上の相互に排他的であるコマンドのうちの他のコマンドを無効にすること、
    前記グローバルコマンドのキューに組み込まれたコマンドが、前記独立して動作される複数のユーザコンピュータの各々に記憶された共有デジタルデータのローカルバージョンで実行されるように、前記共有デジタルデータではなく前記グローバルコマンドのキューを前記独立して動作される複数のユーザコンピュータの全てに伝送することを実行するように動作可能に構成される、前記プロセッサとを含み、
    前記グローバルコマンドのキューが、前記2以上の相互に排他的であるコマンドのうちの1つのコマンドをグローバルコマンドのキューに組み込んだ後に局所的に実行させるべき前記組み込まれたコマンドに対する前記独立して動作される複数のユーザコンピュータの各々に伝送される、システム。
  14. 前記システムは、
    前記独立して動作される複数のユーザコンピュータによってアクセス可能な前記共有デジタルデータを格納する共有メモリ位置を備える、請求項13に記載のシステム。
JP2013501492A 2010-03-24 2011-03-24 共有デジタルデータの同時編集を協調するシステムおよび方法 Expired - Fee Related JP5729709B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/730,401 2010-03-24
US12/730,401 US8788589B2 (en) 2007-10-12 2010-03-24 System and method for coordinating simultaneous edits of shared digital data
PCT/US2011/029838 WO2011119861A1 (en) 2010-03-24 2011-03-24 System and method for coordinating simultaneous edits of shared digital data

Publications (3)

Publication Number Publication Date
JP2013522804A JP2013522804A (ja) 2013-06-13
JP2013522804A5 JP2013522804A5 (ja) 2014-05-01
JP5729709B2 true JP5729709B2 (ja) 2015-06-03

Family

ID=44673626

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013501492A Expired - Fee Related JP5729709B2 (ja) 2010-03-24 2011-03-24 共有デジタルデータの同時編集を協調するシステムおよび方法

Country Status (12)

Country Link
US (3) US8788589B2 (ja)
EP (1) EP2550577A4 (ja)
JP (1) JP5729709B2 (ja)
KR (1) KR101504719B1 (ja)
AU (1) AU2011232339B2 (ja)
BR (1) BR112012024118A2 (ja)
CA (1) CA2794270C (ja)
IL (1) IL222129A (ja)
RU (1) RU2530249C2 (ja)
SG (1) SG184226A1 (ja)
WO (1) WO2011119861A1 (ja)
ZA (1) ZA201207223B (ja)

Families Citing this family (154)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8936101B2 (en) 2008-07-17 2015-01-20 Halliburton Energy Services, Inc. Interventionless set packer and setting method for same
US7702995B2 (en) * 2000-04-24 2010-04-20 TVWorks, LLC. Method and system for transforming content for execution on multiple platforms
US9788058B2 (en) 2000-04-24 2017-10-10 Comcast Cable Communications Management, Llc Method and system for automatic insertion of interactive TV triggers into a broadcast data stream
US8009586B2 (en) 2004-06-29 2011-08-30 Damaka, Inc. System and method for data transfer in a peer-to peer hybrid communication network
US8369655B2 (en) 2006-07-31 2013-02-05 Ricoh Co., Ltd. Mixed media reality recognition using multiple specialized indexes
US7702673B2 (en) 2004-10-01 2010-04-20 Ricoh Co., Ltd. System and methods for creation and use of a mixed media environment
US8510283B2 (en) 2006-07-31 2013-08-13 Ricoh Co., Ltd. Automatic adaption of an image recognition system to image capture devices
US8838591B2 (en) 2005-08-23 2014-09-16 Ricoh Co., Ltd. Embedding hot spots in electronic documents
US9384619B2 (en) 2006-07-31 2016-07-05 Ricoh Co., Ltd. Searching media content for objects specified using identifiers
US8949287B2 (en) 2005-08-23 2015-02-03 Ricoh Co., Ltd. Embedding hot spots in imaged documents
US8335789B2 (en) 2004-10-01 2012-12-18 Ricoh Co., Ltd. Method and system for document fingerprint matching in a mixed media environment
US8825682B2 (en) 2006-07-31 2014-09-02 Ricoh Co., Ltd. Architecture for mixed media reality retrieval of locations and registration of images
US8176054B2 (en) * 2007-07-12 2012-05-08 Ricoh Co. Ltd Retrieving electronic documents by converting them to synthetic text
US8868555B2 (en) 2006-07-31 2014-10-21 Ricoh Co., Ltd. Computation of a recongnizability score (quality predictor) for image retrieval
US8989431B1 (en) 2007-07-11 2015-03-24 Ricoh Co., Ltd. Ad hoc paper-based networking with mixed media reality
US8276088B2 (en) 2007-07-11 2012-09-25 Ricoh Co., Ltd. User interface for three-dimensional navigation
US9373029B2 (en) 2007-07-11 2016-06-21 Ricoh Co., Ltd. Invisible junction feature recognition for document security or annotation
US8195659B2 (en) 2005-08-23 2012-06-05 Ricoh Co. Ltd. Integration and use of mixed media documents
US9530050B1 (en) 2007-07-11 2016-12-27 Ricoh Co., Ltd. Document annotation sharing
US7970171B2 (en) 2007-01-18 2011-06-28 Ricoh Co., Ltd. Synthetic image and video generation from ground truth data
US9171202B2 (en) 2005-08-23 2015-10-27 Ricoh Co., Ltd. Data organization and access for mixed media document system
US8184155B2 (en) * 2007-07-11 2012-05-22 Ricoh Co. Ltd. Recognition and tracking using invisible junctions
US8156427B2 (en) * 2005-08-23 2012-04-10 Ricoh Co. Ltd. User interface for mixed media reality
US8600989B2 (en) 2004-10-01 2013-12-03 Ricoh Co., Ltd. Method and system for image matching in a mixed media environment
US9405751B2 (en) 2005-08-23 2016-08-02 Ricoh Co., Ltd. Database for mixed media document system
US8856108B2 (en) 2006-07-31 2014-10-07 Ricoh Co., Ltd. Combining results of image retrieval processes
US8521737B2 (en) 2004-10-01 2013-08-27 Ricoh Co., Ltd. Method and system for multi-tier image matching in a mixed media environment
US8156116B2 (en) * 2006-07-31 2012-04-10 Ricoh Co., Ltd Dynamic presentation of targeted information in a mixed media reality recognition system
US8332401B2 (en) * 2004-10-01 2012-12-11 Ricoh Co., Ltd Method and system for position-based image matching in a mixed media environment
US7552383B2 (en) 2005-06-23 2009-06-23 International Business Machines Corporation Method for efficiently processing comments to records in a database, while avoiding replication/save conflicts
US8201076B2 (en) * 2006-07-31 2012-06-12 Ricoh Co., Ltd. Capturing symbolic information from documents upon printing
US8676810B2 (en) 2006-07-31 2014-03-18 Ricoh Co., Ltd. Multiple index mixed media reality recognition using unequal priority indexes
US9020966B2 (en) 2006-07-31 2015-04-28 Ricoh Co., Ltd. Client device for interacting with a mixed media reality recognition system
US8489987B2 (en) 2006-07-31 2013-07-16 Ricoh Co., Ltd. Monitoring and analyzing creation and usage of visual content using image and hotspot interaction
US9176984B2 (en) 2006-07-31 2015-11-03 Ricoh Co., Ltd Mixed media reality retrieval of differentially-weighted links
US9063952B2 (en) 2006-07-31 2015-06-23 Ricoh Co., Ltd. Mixed media reality recognition with image tracking
US8380859B2 (en) 2007-11-28 2013-02-19 Damaka, Inc. System and method for endpoint handoff in a hybrid peer-to-peer networking environment
US8342968B2 (en) 2008-02-01 2013-01-01 Fuccillo Ralph C Methods and system for improving a user's reaction time and accuracy in propelling an object
KR101594861B1 (ko) * 2008-06-03 2016-02-19 삼성전자주식회사 애니메이션 협업 제작 서비스를 제공하는 웹서버 및 그방법
US8700776B2 (en) 2009-03-23 2014-04-15 Google Inc. System and method for editing a conversation in a hosted conversation system
US9021386B1 (en) 2009-05-28 2015-04-28 Google Inc. Enhanced user interface scrolling system
US8527602B1 (en) 2009-05-28 2013-09-03 Google Inc. Content upload system with preview and user demand based upload prioritization
US9602444B2 (en) 2009-05-28 2017-03-21 Google Inc. Participant suggestion system
US8385660B2 (en) 2009-06-24 2013-02-26 Ricoh Co., Ltd. Mixed media reality indexing and retrieval for repeated content
US20110078236A1 (en) * 2009-09-29 2011-03-31 Olsen Jr Dan R Local access control for display devices
US8892646B2 (en) 2010-08-25 2014-11-18 Damaka, Inc. System and method for shared session appearance in a hybrid peer-to-peer environment
US9734124B2 (en) * 2010-03-04 2017-08-15 International Business Machines Corporation Direct linked two way forms
US9043488B2 (en) 2010-03-29 2015-05-26 Damaka, Inc. System and method for session sweeping between devices
US9191416B2 (en) 2010-04-16 2015-11-17 Damaka, Inc. System and method for providing enterprise voice call continuity
US8352563B2 (en) 2010-04-29 2013-01-08 Damaka, Inc. System and method for peer-to-peer media routing using a third party instant messaging system for signaling
US8510399B1 (en) 2010-05-18 2013-08-13 Google Inc. Automated participants for hosted conversations
US9380011B2 (en) 2010-05-28 2016-06-28 Google Inc. Participant-specific markup
US9026935B1 (en) 2010-05-28 2015-05-05 Google Inc. Application user interface with an interactive overlay
US11777782B2 (en) * 2010-05-28 2023-10-03 Ram Caspi Methods and apparatus for interactive social TV multimedia communication
US8508614B2 (en) 2010-06-02 2013-08-13 Futurity Ventures LLC Teleprompting system and method
US8611540B2 (en) 2010-06-23 2013-12-17 Damaka, Inc. System and method for secure messaging in a hybrid peer-to-peer network
US20120059884A1 (en) * 2010-09-07 2012-03-08 Matthew Inventions Llc Devices, systems, and methods of accessing and sharing digital media content among users with a web based server
JP5740972B2 (ja) * 2010-09-30 2015-07-01 ソニー株式会社 情報処理装置および情報処理方法
US8743781B2 (en) 2010-10-11 2014-06-03 Damaka, Inc. System and method for a reverse invitation in a hybrid peer-to-peer environment
US8560846B2 (en) 2011-01-13 2013-10-15 Hewlett-Packard Development Company, L.P. Document security system and method
US8407314B2 (en) 2011-04-04 2013-03-26 Damaka, Inc. System and method for sharing unsupported document types between communication devices
US8656181B2 (en) 2011-05-26 2014-02-18 Hewlett-Packard Development Company, L.P. Method and system for business workflow cycle of a composite document
US9363448B2 (en) 2011-06-02 2016-06-07 Touchcast, Llc System and method for providing and interacting with coordinated presentations
CN102289282B (zh) * 2011-06-13 2013-11-06 鸿富锦精密工业(深圳)有限公司 用于同步控制系统中的电子设备及其同步控制方法
US8832284B1 (en) 2011-06-16 2014-09-09 Google Inc. Virtual socializing
US9058331B2 (en) 2011-07-27 2015-06-16 Ricoh Co., Ltd. Generating a conversation in a social network based on visual search results
US8935719B2 (en) 2011-08-25 2015-01-13 Comcast Cable Communications, Llc Application triggering
US20130061280A1 (en) * 2011-09-07 2013-03-07 Research In Motion Limited Apparatus, and associated method, for providing synchronized media play out
US9270718B2 (en) * 2011-11-25 2016-02-23 Harry E Emerson, III Internet streaming and the presentation of dynamic content
EP2786590A4 (en) 2011-12-02 2015-07-15 Hewlett Packard Development Co VIDEO CLONE FOR DISPLAY MATRIX
US20130159849A1 (en) 2011-12-20 2013-06-20 Keng Fai Lee Jump to Collaborator Cursor
US8806339B2 (en) 2012-02-06 2014-08-12 Apple Inc. User interface control for media editing application
TWI517696B (zh) * 2012-05-28 2016-01-11 正文科技股份有限公司 呈現器與控制器與其管理方法
CN104412257A (zh) * 2012-07-12 2015-03-11 索尼公司 显示控制设备、显示控制方法、程序和通信系统
US20140033058A1 (en) * 2012-07-30 2014-01-30 Plantronics, Inc. Use of multiple mobile devices to control an application
JPWO2014024751A1 (ja) * 2012-08-10 2016-07-25 エイディシーテクノロジー株式会社 音声応答装置
US9208189B2 (en) 2012-08-24 2015-12-08 Facebook, Inc. Distributed request processing
US8868525B2 (en) * 2012-08-24 2014-10-21 Facebook, Inc. Distributed information synchronization
US9529785B2 (en) * 2012-11-27 2016-12-27 Google Inc. Detecting relationships between edits and acting on a subset of edits
JP6171319B2 (ja) * 2012-12-10 2017-08-02 株式会社リコー 情報処理装置、情報処理方法、情報処理システム及びプログラム
CN103914439B (zh) * 2013-01-04 2018-06-12 中国移动通信集团公司 一种文档在线编辑方法、设备以及系统
WO2014116384A2 (en) * 2013-01-23 2014-07-31 Thomson Licensing Set handling in asset-driven workflow modeling
US8990303B2 (en) * 2013-01-31 2015-03-24 Paramount Pictures Corporation System and method for interactive remote movie watching, scheduling, and social connection
US9414114B2 (en) 2013-03-13 2016-08-09 Comcast Cable Holdings, Llc Selective interactivity
US9542377B2 (en) * 2013-05-06 2017-01-10 Dropbox, Inc. Note browser
US20140351716A1 (en) * 2013-05-23 2014-11-27 Microsoft Corporation Notes Page Sharing and Notification Features
JP6050724B2 (ja) * 2013-06-11 2016-12-21 Sky株式会社 通信端末制御システム
US11488363B2 (en) 2019-03-15 2022-11-01 Touchcast, Inc. Augmented reality conferencing system and method
US11659138B1 (en) 2013-06-26 2023-05-23 Touchcast, Inc. System and method for interactive video conferencing
US9852764B2 (en) 2013-06-26 2017-12-26 Touchcast LLC System and method for providing and interacting with coordinated presentations
US11405587B1 (en) 2013-06-26 2022-08-02 Touchcast LLC System and method for interactive video conferencing
US10757365B2 (en) 2013-06-26 2020-08-25 Touchcast LLC System and method for providing and interacting with coordinated presentations
US10075676B2 (en) 2013-06-26 2018-09-11 Touchcast LLC Intelligent virtual assistant system and method
US9661256B2 (en) 2014-06-26 2017-05-23 Touchcast LLC System and method for providing and interacting with coordinated presentations
US10523899B2 (en) 2013-06-26 2019-12-31 Touchcast LLC System and method for providing and interacting with coordinated presentations
US9787945B2 (en) 2013-06-26 2017-10-10 Touchcast LLC System and method for interactive video conferencing
US10297284B2 (en) 2013-06-26 2019-05-21 Touchcast LLC Audio/visual synching system and method
US9666231B2 (en) 2014-06-26 2017-05-30 Touchcast LLC System and method for providing and interacting with coordinated presentations
US10356363B2 (en) 2013-06-26 2019-07-16 Touchcast LLC System and method for interactive video conferencing
WO2014210379A2 (en) * 2013-06-26 2014-12-31 Touchcast, Llc System and method for providing and interacting with coordinated presentations
US10084849B1 (en) 2013-07-10 2018-09-25 Touchcast LLC System and method for providing and interacting with coordinated presentations
US9027032B2 (en) 2013-07-16 2015-05-05 Damaka, Inc. System and method for providing additional functionality to existing software in an integrated manner
JP2015035136A (ja) * 2013-08-09 2015-02-19 本田技研工業株式会社 入力装置
US9971752B2 (en) 2013-08-19 2018-05-15 Google Llc Systems and methods for resolving privileged edits within suggested edits
US9357016B2 (en) * 2013-10-18 2016-05-31 Damaka, Inc. System and method for virtual parallel resource management
US20150118672A1 (en) * 2013-10-24 2015-04-30 Google Inc. System and method for learning management
US20150178294A1 (en) * 2013-12-19 2015-06-25 International Business Machines Corporation Resolving content editing conflicts arising from concurrent drafts
WO2015121813A1 (en) * 2014-02-11 2015-08-20 Wix.Com Ltd. System for synchronization of changes in edited websites and interactive applications
US11076205B2 (en) 2014-03-07 2021-07-27 Comcast Cable Communications, Llc Retrieving supplemental content
US9875446B2 (en) * 2014-04-03 2018-01-23 Amadeus S.A.S. Travel product information sharing
US10474330B1 (en) * 2014-05-23 2019-11-12 Amazon Technologies, Inc. Supplementary content layers
US10073905B2 (en) * 2014-05-30 2018-09-11 Microsoft Technology Licensing, Llc Remote control and modification of live presentation
US10255251B2 (en) 2014-06-26 2019-04-09 Touchcast LLC System and method for providing and interacting with coordinated presentations
WO2016022574A1 (en) 2014-08-05 2016-02-11 Damaka, Inc. System and method for providing unified communications and collaboration (ucc) connectivity between incompatible systems
US9652212B2 (en) 2014-09-24 2017-05-16 Oracle International Corporation Managing change events for devices in an enterprise system
US20160127428A1 (en) * 2014-11-04 2016-05-05 Valentin Flunkert Data Collaboration in an Enterprise Environment
CN104572912B (zh) * 2014-12-26 2017-03-29 北京京东尚科信息技术有限公司 一种网页页面加载方法及系统
US10013396B2 (en) * 2015-01-29 2018-07-03 Dropbox, Inc. Modifying native documents with formulas in a preview
US10819759B2 (en) * 2015-04-30 2020-10-27 At&T Intellectual Property I, L.P. Apparatus and method for managing events in a computer supported collaborative work environment
US20160321226A1 (en) * 2015-05-01 2016-11-03 Microsoft Technology Licensing, Llc Insertion of unsaved content via content channel
US10909080B2 (en) * 2015-05-04 2021-02-02 Microsoft Technology Licensing, Llc System and method for implementing shared document edits in real-time
CN106293319B (zh) * 2015-06-11 2019-12-06 阿里巴巴集团控股有限公司 业务对象传输方法及装置
US9930627B2 (en) * 2015-06-29 2018-03-27 Ciena Corporation Metered interface
CN104991886B (zh) * 2015-07-22 2018-05-22 网易(杭州)网络有限公司 一种数据表的编辑方法、装置与系统
KR102429260B1 (ko) * 2015-10-12 2022-08-05 삼성전자주식회사 음성 에이전트 기반의 제어 명령 처리 장치 및 방법과, 에이전트 장치
WO2017083418A1 (en) * 2015-11-09 2017-05-18 Nexvidea Inc. Methods and systems for recording, producing and transmitting video and audio content
US10091025B2 (en) 2016-03-31 2018-10-02 Damaka, Inc. System and method for enabling use of a single user identifier across incompatible networks for UCC functionality
US10430212B1 (en) * 2016-07-13 2019-10-01 Screenshare Technology Ltd. Method for recording, editing and reproduction of computer session
KR101826625B1 (ko) * 2016-08-04 2018-02-07 주식회사 한글과컴퓨터 문서의 동시 편집을 지원하는 문서 협업 지원 장치 및 그 동작 방법
KR101880507B1 (ko) * 2017-04-21 2018-07-20 주식회사 한글과컴퓨터 웹 문서에 삽입된 도형의 크기 조정을 지원하는 클라이언트 단말 장치 및 그 동작 방법
KR101880508B1 (ko) * 2017-04-27 2018-07-20 주식회사 한글과컴퓨터 웹 문서에서 목록 생성을 지원하는 웹 문서 편집 지원 장치 및 방법
US10834021B1 (en) * 2017-07-28 2020-11-10 EMC IP Holding Company LLC Dynamic management of concurrent access to shared computing resources
CN107491429B (zh) * 2017-08-18 2021-02-26 杭州安恒信息技术股份有限公司 一种解决同时编辑文档内容冲突的方法
US11283685B1 (en) * 2017-09-11 2022-03-22 LumaForge Inc. Shared storage systems and methods for collaborative workflows
KR102017338B1 (ko) * 2017-10-13 2019-10-21 주식회사 한글과컴퓨터 협업 시의 충돌을 방지하는 방법 및 이를 이용하는 장치
US20190146758A1 (en) * 2017-11-14 2019-05-16 Microsoft Technology Licensing, Llc Collaborative editing of source code with intelligent operations
US11263179B2 (en) 2018-06-15 2022-03-01 Microsoft Technology Licensing, Llc System for collaborative editing based on document evaluation
US10798152B2 (en) 2018-06-20 2020-10-06 Microsoft Technology Licensing, Llc Machine learning using collaborative editing data
US10938824B2 (en) * 2018-06-20 2021-03-02 Microsoft Technology Licensing, Llc Metric-based content editing system
US11100052B2 (en) 2018-06-20 2021-08-24 Microsoft Technology Licensing, Llc System for classification based on user actions
KR101932600B1 (ko) 2018-07-19 2018-12-27 이지에듀정보 주식회사 공유 문서 편집 방법
US10887357B2 (en) * 2018-08-22 2021-01-05 International Business Machines Corporation Document collaboration tool
JP7041030B2 (ja) * 2018-09-19 2022-03-23 東京瓦斯株式会社 コミュニケーションシステムおよびプログラム
EP3736706B1 (en) * 2019-05-06 2022-07-27 Bentley Systems, Incorporated Locking of spatial regions of fully-connected large-scale multi-dimensional spatial data for collaborative updating
CN110309494A (zh) * 2019-05-31 2019-10-08 深圳壹账通智能科技有限公司 基于页面端同步编辑文档的方法、装置及计算机设备
US11038955B2 (en) * 2019-06-24 2021-06-15 Screenovate Technologies Ltd. Method and a system for controlling multimedia file on external screen device
US11652930B2 (en) * 2019-07-30 2023-05-16 Cimpress Schweiz Gmbh Systems and methods for synchronizing document edits using application state variables
US10904481B1 (en) * 2019-12-31 2021-01-26 Facebook, Inc. Broadcasting and managing call participation
US11388209B2 (en) * 2020-03-19 2022-07-12 DTEN, Inc. Interactive broadcast
US11978444B2 (en) 2020-11-24 2024-05-07 International Business Machines Corporation AR (augmented reality) based selective sound inclusion from the surrounding while executing any voice command
CN112700687A (zh) * 2021-01-13 2021-04-23 中教云智数字科技有限公司 一种数字教材制作系统
CN113204528A (zh) * 2021-03-29 2021-08-03 北京意匠文枢科技有限公司 一种分享文档的方法与设备
US11991232B2 (en) 2021-05-28 2024-05-21 Spotify Ab Command buffering
CN115374759B (zh) * 2022-10-24 2023-03-10 天津联想协同科技有限公司 在线文档编辑区域定位方法、装置、服务器及存储介质

Family Cites Families (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5220657A (en) * 1987-12-02 1993-06-15 Xerox Corporation Updating local copy of shared data in a collaborative system
US5008853A (en) * 1987-12-02 1991-04-16 Xerox Corporation Representation of collaborative multi-user activities relative to shared structured data objects in a networked workstation environment
US5515491A (en) * 1992-12-31 1996-05-07 International Business Machines Corporation Method and system for managing communications within a collaborative data processing system
US5689641A (en) * 1993-10-01 1997-11-18 Vicor, Inc. Multimedia collaboration system arrangement for routing compressed AV signal through a participant site without decompressing the AV signal
JP2701806B2 (ja) * 1995-08-21 1998-01-21 日本電気株式会社 ファイル同期方式
JPH09172598A (ja) * 1995-12-21 1997-06-30 Nec Corp サーバ/クライアントシステムおよびデータ転送システム
US6240414B1 (en) * 1997-09-28 2001-05-29 Eisolutions, Inc. Method of resolving data conflicts in a shared data environment
US6898642B2 (en) * 2000-04-17 2005-05-24 International Business Machines Corporation Synchronous collaboration based on peer-to-peer communication
JP2002116996A (ja) 2000-10-05 2002-04-19 Hokkaido Technology Licence Office Co Ltd 協調作業支援方法およびシステム、並びに協調作業用クライアント端末装置および協調作業コーディネータ並びに記録媒体
US20040096645A1 (en) 2000-10-25 2004-05-20 Hancy Leonard James Floor structures
US7409700B1 (en) * 2000-11-03 2008-08-05 The Walt Disney Company System and method for enhanced broadcasting and interactive
US20030088875A1 (en) * 2001-11-08 2003-05-08 Gay Lance J Simultaneous viewing of video files on networked computer systems
US7587695B2 (en) * 2001-12-10 2009-09-08 Mentor Graphics Corporation Protection boundaries in a parallel printed circuit board design environment
JP2003271530A (ja) 2002-03-18 2003-09-26 Oki Electric Ind Co Ltd 通信システム,システム間関連装置,プログラム,及び,記録媒体
US20080086494A1 (en) * 2006-09-11 2008-04-10 Apple Computer, Inc. Transfer and synchronization of media data
US7065249B2 (en) * 2002-07-25 2006-06-20 Microsoft Corp. System and method for image editing
US8001187B2 (en) * 2003-07-01 2011-08-16 Apple Inc. Peer-to-peer active content sharing
KR20060061790A (ko) 2003-07-08 2006-06-08 유에스 링크스 엘엘씨 가상 문서 아키텍쳐를 통해 공동 편집과 어카운트빌리티를용이하게 하는 자동 출판 시스템
US7567987B2 (en) 2003-10-24 2009-07-28 Microsoft Corporation File sharing in P2P group shared spaces
GB0325813D0 (en) 2003-11-05 2003-12-10 Winter William Sacrificial shutter
JP2005236462A (ja) 2004-02-18 2005-09-02 Nippon Telegr & Teleph Corp <Ntt> 映像共有方法、映像共有システム、コミュニティ内映像共有方法、コミュニティシステム及び記録媒体
JP2005258877A (ja) 2004-03-12 2005-09-22 Iwatsu Electric Co Ltd Web同期システムにおける動作記録再生方式
JP2005294941A (ja) 2004-03-31 2005-10-20 Nippon Telegraph & Telephone West Corp 映像コンテンツ再生システム、その再生制御方法、クライアント端末、同期サーバ及びそのプログラム
JP2005301838A (ja) * 2004-04-14 2005-10-27 Sharp Corp 情報処理装置,情報処理システム,ファイル同時編集方法,及びファイル同時編集プログラム
WO2005114467A2 (en) * 2004-05-19 2005-12-01 Universität Zürich Computer-based system and computer program product for collaborative editing of documents
US7603357B1 (en) * 2004-06-01 2009-10-13 Adobe Systems Incorporated Collaborative asset management
US7448061B2 (en) * 2004-06-21 2008-11-04 Dolby Laboratories Licensing Corporation Frame synchronization in an ethernet NTP time-keeping digital cinema playback system
JP4655190B2 (ja) 2004-08-06 2011-03-23 ソニー株式会社 情報処理装置および方法、記録媒体、並びにプログラム
US7792158B1 (en) * 2004-08-18 2010-09-07 Atheros Communications, Inc. Media streaming synchronization
US7792788B2 (en) * 2005-03-04 2010-09-07 Microsoft Corporation Method and system for resolving conflicts operations in a collaborative editing environment
US8238376B2 (en) * 2005-04-13 2012-08-07 Sony Corporation Synchronized audio/video decoding for network devices
US7669219B2 (en) 2005-04-15 2010-02-23 Microsoft Corporation Synchronized media experience
US20070005694A1 (en) * 2005-06-30 2007-01-04 Pando Networks, Inc. System and method for distributed multi-media production, sharing and low-cost mass publication
US8326926B2 (en) * 2005-09-13 2012-12-04 Mentor Graphics Corporation Distributed electronic design automation architecture
WO2007042050A1 (en) 2005-10-10 2007-04-19 Nielsen Bjarne Oerum Method and foundation system for the transfer and spreading of load from a building structure onto stable layers
US20070244906A1 (en) * 2006-04-14 2007-10-18 Aptana Incorporated Collaborative Content Generation System And Method
US20070271338A1 (en) * 2006-05-18 2007-11-22 Thomas Anschutz Methods, systems, and products for synchronizing media experiences
US8631088B2 (en) * 2007-01-07 2014-01-14 Apple Inc. Prioritized data synchronization with host device
US20080183608A1 (en) * 2007-01-26 2008-07-31 Andrew Gavin Payment system and method for web-based video editing system
US7783703B2 (en) * 2007-01-29 2010-08-24 Sony Corporation Shared home media platform to support multi-user control
US7769810B1 (en) * 2007-04-26 2010-08-03 Adobe Systems Incorporated Method and system for collaborative editing
CN101690136A (zh) * 2007-06-26 2010-03-31 汤姆逊许可证公司 实时协议流迁移
US8572256B2 (en) * 2007-07-16 2013-10-29 Qualcomm Incorporated Method for supporting multiple diversified data applications with efficient use of network resources
US8984154B2 (en) * 2007-09-28 2015-03-17 Intel Corporation System and method for synchronizing simultaneous media stream playback across nonsynchronized network timing/clock islands
JP2011501260A (ja) 2007-10-12 2011-01-06 ザロム、ロニー 同期的にビデオを共有するシステムおよび方法

Also Published As

Publication number Publication date
US20100174783A1 (en) 2010-07-08
US9270715B2 (en) 2016-02-23
CA2794270A1 (en) 2011-09-29
KR101504719B1 (ko) 2015-03-23
EP2550577A4 (en) 2014-05-07
BR112012024118A2 (pt) 2017-08-08
RU2012145121A (ru) 2014-04-27
US20160277458A1 (en) 2016-09-22
US20140297757A1 (en) 2014-10-02
US8788589B2 (en) 2014-07-22
JP2013522804A (ja) 2013-06-13
WO2011119861A1 (en) 2011-09-29
ZA201207223B (en) 2013-06-26
IL222129A (en) 2016-06-30
KR20120135523A (ko) 2012-12-14
SG184226A1 (en) 2012-11-29
EP2550577A1 (en) 2013-01-30
RU2530249C2 (ru) 2014-10-10
AU2011232339B2 (en) 2014-05-29
AU2011232339A1 (en) 2012-10-18
CA2794270C (en) 2014-12-02

Similar Documents

Publication Publication Date Title
JP5729709B2 (ja) 共有デジタルデータの同時編集を協調するシステムおよび方法
US11960826B2 (en) Managing a sharing of media content among client computers
US11662970B2 (en) Collaborative remote interactive platform
US11190557B1 (en) Collaborative remote interactive platform
US8788584B2 (en) Methods and systems for sharing photos in an online photosession
US11272251B2 (en) Audio-visual portion generation from a live video stream
US20080229215A1 (en) Interaction In A Virtual Social Environment
US20130103770A1 (en) Distributed semi-synchronized event driven playback of multimedia
US11349889B1 (en) Collaborative remote interactive platform
CN113242472B (zh) 电视图文播控管理方法、装置、计算机设备及存储介质

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140203

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140203

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140314

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20140314

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20140416

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140617

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20140917

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20140925

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141217

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150324

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150331

R150 Certificate of patent or registration of utility model

Ref document number: 5729709

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees