(58)【調査した分野】(Int.Cl.,DB名)
前記プログラムデータベースに記録された前記双方向プログラムのいくつかは、その参加者のために前記個人向け表示を個別に構成するための参加者に使用可能な1つ以上の参加者コンポーネントを含む、請求項8に記載のシステム。
前記複数の双方向ノードと前記連携ノードとの間でプログラム更新メッセージを送信することにより前記共有された双方向体験を連携する、ことを更に含む、請求項11から請求項16のいずれか1項に記載の方法。
【発明を実施するための形態】
【0016】
多数の具体的な詳細が本書に記載された典型的な実施形態の理解をもたらすために示されることが分かるであろう。しかし、本書に記載された実施形態は、これらの具体的な詳細なしで実施されてもよいことが、当業者により理解されるであろう。ある事例では、よく知られている方法、手順及びコンポーネントは、本書に記載された実施形態を曖昧にしないために詳細に記載されない。さらに、本説明は、決して本書に記載された実施形態の範囲を限定するものとして考えられるべきではなく、むしろ、いくつかの例示的実施形態の実施を単に説明するものとして考えられるべきである。
【0017】
本書に記載されたシステム及び方法と、これらのコンポーネントノード、装置及びシステムの実施形態は、ハードウェア、ソフトウェア、又は両方の組み合わせで実施されてもよい。しかし、好ましくは、これらの実施形態は、それぞれが少なくとも1つのプロセッサと、(揮発性及び不揮発性メモリ、及び/又は、記憶素子を含む)データ記憶装置と、少なくとも1つの入力装置と、少なくとも1つの出力装置とを備えるプログラマブルコンピュータ上で動くコンピュータプログラムで実施される。
【0018】
一例のため、かつ、制限なしに、様々なプログラマブルコンピュータは、パーソナルコンピュータ、ラップトップ、タブレット、個人情報端末、携帯電話機、スマートフォン装置、UMPCタブレット及び無線ハイパーメディア装置、又は、何らかのその他のデータ処理もしくはコンピューティング装置でもよい。プログラムコードは、本書に記載された機能を実行し、出力情報を生成するために入力データに適用される。出力情報は、知られている方法で1つ以上の出力装置に適用される。
【0019】
各プログラムは、好ましくは、高水準手続き型もしくはオブジェクト指向型プログラミング、及び/又は、例えば、FlashもしくはJava(登録商標)のようなスクリプト言語、又は、両方の組み合わせで実施される。しかし、好ましくは、これらの実施形態は、それぞれが少なくとも1つのプロセッサと、(揮発性及び不揮発性メモリ、及び/又は、記憶素子を含む)データ記憶装置と、少なくとも1つの入力装置と、少なくとも1つの出力装置とを備えるプログラマブルコンピュータ上で動くコンピュータプログラムで実施される。
【0020】
一例のため、かつ、制限なしに、様々なプログラマブルコンピュータは、パーソナルコンピュータ、ラップトップ、タブレット、個人情報端末、携帯電話機、スマートフォン装置、UMPCタブレット及び無線ハイパーメディア装置、又は、何らかのその他のデータ処理もしくはコンピューティング装置でもよい。プログラムコードは、本書に記載された機能を実行し、出力情報を生成するために入力データに適用される。出力情報は、知られている方法で1つ以上の出力装置に適用される。
【0021】
各プログラムは、コンピュータシステムと通信するために、好ましくは、高水準手続き型もしくはオブジェクト指向型プログラミング、及び/又は、例えば、FlashもしくはJava(登録商標)のようなスクリプト言語で実施される。しかし、プログラムは、必要に応じて、アセンブリ言語又は機械語で実施され得る。いかなる場合でも、言語は、コンパイル型又はインタープリタ型言語でもよい。1つ1つのこのコンピュータプログラムは、記憶媒体又は装置が本書に記載された手続きを実行するためにコンピュータにより準備ができているときにコンピュータを構成し動作させるため、好ましくは、汎用又は専用プログラマブルコンピュータにより読み取り可能又はアクセス可能である非一時的記憶媒体又は装置(例えば、ROM又は磁気ディスク)に記憶される。様々な実施形態では、コンピュータプログラムは、局所的に、又は、コンピュータから離れている場所で、非一時的記憶媒体に記憶されてもよい。ある実施形態では、コンピュータプログラムは、ローカルエリアネットワーク(LAN)又はインターネットのようなワイドエリアネットワーク(WAN)を介して装置に記憶されていてもよい。主題システムは、コンピュータプログラムを用いて構成された、コンピュータ読み取り可能な記憶媒体として実施されると考えられることもあり、このように構成された記憶媒体は、本書に記載された機能を実行するために具体的かつ所定の方式でコンピュータを動作させる。
【0022】
さらに、記載された実施形態のシステム、プロセス及び方法は、1つ以上のプロセッサのためのコンピュータ使用可能な命令を運ぶコンピュータ読み取り可能な媒体を備えるコンピュータプログラムプロダクトに分散可能である。この媒体は、1枚以上のディスケット、コンパクトディスク、テープ、チップ、有線伝送、衛星伝送、インターネット伝送又はダウンロード、磁気及び電子記憶媒体、デジタル及びアナログ信号、ネットワークベースストレージなどのような様々な形式で提供されてもよい。コンピュータ使用可能な命令は、コンパイル型及び非コンパイル型コードを含む様々な形式でもよい。
【0023】
マルチロケーション双方向システム100を示す
図1を最初に参照する。双方向システム100は、連携ノード102と、複数の多人数参加型パブリック双方向ノード104と、複数の多人数参加型プライベート双方向ノード106と、複数の個人双方向ノード108とを含む。システム100内の各双方向ノード104、106、108は、ネットワーク110を介して連携ノード102と通信し、このネットワークは、インターネットのようなワイドエリアネットワーク110a、直接ポイントツーポイント接続110b、セルラ通信ネットワーク110c、衛星ベース通信ネットワーク110d、ローカルエリアネットワーク、又は、その他のタイプの通信ネットワームもしくはシステムのようないかなるタイプの通信ネットワーク又はネットワークコンポーネントでも含んでいてもよい。ある実施形態では、双方向ノードの一部は、ネットワーク110を介してこれらの双方向ノード自体の間で直接的に通信してもよい。
【0024】
多人数参加型パブリック双方向ノード104aを示す
図2を次に参照する。多人数参加型双方向ノード104は、パブリックノードと称されることもある。パブリックノード104aは、パブリック場所又は会場112に位置している。パブリックノード104aは、ローカルコントローラ122、第1の表示スクリーン124、及び複数の参加者装置126を含む。ローカルコントローラ122は、ネットワーク110を介して直接的又は間接的に連携ノード102に連結されている。ローカルネットワーク129は、パブリック場所112で利用可能である。本実施形態では、ローカルネットワーク129は、Wi−Fiネットワーク、Bluetooth(登録商標)ネットワーク、又は、その他のタイプの通信ネットワークもしくはシステムのような無線ネットワークである。
【0025】
典型的に、各参加者装置126は、携帯型無線コンピューティング装置であることがよくある。各参加者装置126は、第2の表示スクリーン127と、キーパッド、キーボード、タッチスクリーン、ボタン、スクロールホイール、スクロールボール、ジャイロスコープ、加速度計、コンパス、水準器、姿勢センサ又はこれらの装置の組み合わせのような1つ以上の入力装置128とを含む。各参加者装置126は、ローカルネットワーク129を介してローカルコントローラ122に連結されている。参加者装置126は、例えば、スマートフォン、携帯電話機又はその他の携帯型コンピューティング装置といった様々な汎用装置のような異なる装置でもよく、これらの装置は、典型的に、ローカルネットワーク129の無線通信コンポーネントを介してローカルコントローラに連結されている。
【0026】
その他の実施形態では、参加者装置は、ローカルネットワーク129の有線通信コンポーネントを介してローカルコントローラ122に物理的に連結されている有線装置でもよい。ある参加者装置は、固定位置に取り付けられるか、又は、パブリック場所内の固定場所に緊結されてもよい。例えば、ある参加者装置は、この参加者装置の盗難を防止するためにシート又はテーブルに固定されてもよい。このような物理的にアンカー固定されるか、又は、繋がれた参加者装置は、ローカルネットワーク129の有線又は無線通信コンポーネントを介してローカルコントローラに連結されてもよい。
【0027】
第1の表示スクリーン124は、ローカルコントローラ122にさらに連結され、このローカルコントローラは、第1の表示スクリーン124上のデータの表示を制御する。第1の表示スクリーン124は、情報の主表示をパブリック場所に居るすべての参加者及び観察者に提示するために使用される。ローカルコントローラ122は、第1の表示スクリーン124及び参加者装置126の1つずつでの情報の表示を制御するように構成されてもよい。ある実施形態では、会場に居る参加者及びその他の人が第1のスクリーンのうちの1つ以上を閲覧することを可能にさせるために、2台以上の第1のスクリーンが位置付けされている。同一又は類似した主表示は、典型的に第1の表示のすべてに表されることがよくある。
【0028】
本書で使用されるように、用語「連結されている」は、データ及びその他の情報が2台以上の装置の間で伝送され得るように2台以上の装置が通信できることを意味する。連結は、ケーブル、通信ネットワーク及び装置又はその他の装置を介する物理的な連結でもよい。連結は、無線通信プロトコル又はネットワークを介する無線連結でもよい。連結は、物理的連結及び無線連結を両方共に組み込んでいてもよい。
【0029】
パブリック場所112は、例えば、映画館、スポーツ設備、バー、レストラン、又は、公衆のメンバーが第1の表示を閲覧することができるその他の場所といった、公衆の複数のメンバーが第1の表示スクリーン124を提示し、閲覧するいかなる場所であってもよい。ローカルコントローラ122は、パブリック場所112にある1つ以上のパブリックノード104の一部でもよい。例えば、パブリック場所が複数のホールを有する映画館である場合、個々のホールの一部又は全部は、パブリックノードを有していてもよい。ホールの前方にある映写スクリーンは、第1の表示スクリーンとして使用され、個々の映画視聴者は、入力を与えるため第2のスクリーン上の個々の情報を閲覧するために参加者装置を使用してもよい。パブリックノードは、各ホールに提供される。様々なホール内の様々なパブリックノードのためのローカルコントローラは、2台以上のパブリックノードの間で共有されてもよい。
【0030】
プライベートノードとも称される多人数参加型プライベート双方向ノード106aを示す
図3を次に参照する。プライベート106aは、民家のようなプライベート場所130に位置している。プライベートノード106aは、ローカルコントローラ132と、ローカルコントローラ132に連結されている第1の表示スクリーン134と、複数の参加者装置136とを含む。
【0031】
ローカルコントローラ132は、本実施形態では、無線ネットワークであるローカルプライベートロケーションネットワーク140を介して、かつ、ISPネットワーク142及びネットワーク110を介して連携ノード102に連結されている。ISPネットワーク142は、プライベート場所130に位置しているローカルコントローラ132のような装置へのインターネットアクセスを提供する。その他の実施形態では、ローカルコントローラ132は、有線連結を介して、又はコンピューティング装置を連結するその他の手段を介して、連携ノード102に連結されてもよい。
【0032】
ローカルコントローラ132は、参加者装置136にさらに連結されている。プライベートノード106では、ローカルコントローラ132及び参加者装置136は、相互に運用できるように具体的に設計されていてもよい。例えば、ローカルコントローラ132は、ゲーミングコンソールでもよく、参加者装置は、ゲーミングコンソールと共に用いられるゲームコントローラでもよい。例えば、ローカルコントローラは、Sony Playstation 3(登録商標)、Nintendo Wii(登録商標)、Microsoft XBOX 360(登録商標)、あるいは、セットトップテレビジョンもしくは衛星通信ボックス、又はコンピュータのような別のこのような装置又はコンソールでもよい。その他の実施形態では、コントローラは、テレビジョンもしくはモニタのような表示装置、又は、連携ノード及び参加者装置と通信可能な別のタイプの装置に一体化されてもよい。例えば、ある実施形態では、ローカルコントローラは、Apple TV(登録商標)のようなインターネットテレビジョン又はビデオサービス装置でもよく、参加者装置は、テレビジョン、又は、Apple iPhones(登録商標),iPods(登録商標)又はiPads(登録商標)のようなビデオサービス装置と通信することができる装置でもよい。
【0033】
ゲーミングコンソール又は装置の1つずつは、ゲームコントローラでもよく、それぞれのコンソール又は装置と通信するため設計された参加者装置と通信し、参加者装置から入力を受信可能である。各参加者装置136は、本実施形態によれば、第2の表示スクリーン144及び1つ以上の入力装置146を有する。ある実施形態では、特定のプライベートノード106内の参加者装置136は、基本的に同じ構造でもよい。すなわち、参加者装置は、ローカルコントローラ132は参加者装置の1つずつと双方向に独立して通信することができるが、同じ異なる物理的構造及び制御を有してもよい。他の実施形態では、参加装置は異なる物理的構造、構成又は配置構成であってもよい。
【0034】
ローカルコントローラ132は、第1の表示スクリーン134上の主表示及び参加者装置の第2の表示スクリーン144上の個人向け表示の表示を制御する。
【0035】
ある実施形態では、ローカルコントローラ132は、ネットワーク内に存在する仮想コンポーネント、又は、連携ノード102及び参加者装置136に連結される装置でもよい。例えば、ローカルコントローラ132は、連携ノードと同じ場所にあるか、又は、別の場所にあるコンピュータで動く仮想コンポーネントでもよい。ある実施形態では、仮想コントローラは、異なる場所にある異なる双方向ノードの間で共有されてもよい。
【0036】
個人双方向ノード108a及び108bを示す
図4及び5を次に参照する。個人双方向ノードは、個人ノードと称されてもよい。典型的に、各個人ノードは、表示スクリーン150及び1つ以上の入力装置152付きの内蔵型装置である。ある実施形態では、ある個人ノードは、一体として連結され、表示スクリーン150及び1つ以上の入力装置152を有する一体型ユニットとして機能するマルチユニット装置であってもよい。
【0037】
各個人双方向ノード108は、主表示及び参加者装置の両方として動作するように構成されている。本明細書では、用語「参加者装置」は、特に指定されない限り、又は、文脈によって特に指示されない限り、個人双方向ノードを含む。
【0038】
個人ノード108の表示スクリーン150は、第1の表示スクリーン及び第2の表示スクリーンの両方として使用される。ある個人ノードに対し、又は、ある双方向体験では、これは、(パブリックノード及びプライベートノードで第1の表示スクリーンに示される主表示に対応する)主表示を表示すべき表示スクリーン150の一部と、パブリックノード及びプライベートノードで使用される参加者装置の第2の表示スクリーンに対応する)プライベート表示を表示すべき表示スクリーン150の一部とを選択することによって行われてもよい。ある個人ノード又はある双方向体験において、これは、ある時点で主表示を表示スクリーン150に表示し、ある時点で主表示を表示スクリーン150に、他の時点で表示スクリーン150に個人向け表示を表示することによって行われてもよい。参加者は、主表示と個人向け表示との間で選択されてもよい。2つの技術は、ある個人ノード又はある双方向体験において組み合わされてもよい。
【0039】
個人ノード108aは、キーパッド、コントロールホイール、コントロールボール、及び様々なその他のボタンを含む種々の入力装置152を有する。個人ノード108bは、ボタン及びタッチスクリーンを含む数台の入力装置152を有する。個人ノード108bは、参加者が装置を傾斜又は回転させることにより入力を行うことを可能にする姿勢又は傾きセンサと、参加者が装置を運動させることにより入力を行うことを可能にする加速度計とをさらに有する。
【0040】
各個人ノード108は、連携ノード102に連結されている。
図4では、個人ノード108aは、無線通信サービスプロバイダによって無線データサービスが提供されるスマートフォンである。個人ノード108aは、ネットワーク110に連結されている無線通信ネットワークに連結されている。
【0041】
パブリックノード104、プライベートノード106及び個人ノード108は、双方向ノードと総称されてもよい。システム100において、各双方向ノードは、連携ノード102に連結されているが、双方向ノードが連携ノード102に連結されるときに用いられる通信ネットワーク及びモードは変化してもよい。
【0042】
システム100は、種々の参加者装置126、136、108を使用する参加者が共有体験に双方向参加することを可能にする。例えば、システム100は、参加者が共有ゲーミング、プレゼンテーション、マーケティング、トレーニング、測量又はその他の双方向体験に従事することを可能にするために使用されてもよい。
【0043】
ある実施形態では、システム100は、ゲーミングシステムとして構成されている。このような構成では、ゲームは、少なくとも2つの場所に居る参加者によってプレーされる。各場所で、各参加者は、少なくとも2つの表示:共有情報を表示する主表示、及び、対応する参加者に個人的な情報を含む個人向け表示を閲覧することができる。
【0044】
例えば、ゲームは、自動車レースゲームでもよい。レーストラックの俯瞰図が主表示に表示されてもよい。各参加者は、トラックに沿って移動する1台の自動車を制御する。参加者は、参加者の自動車に固有の情報又はレース中の性能を個人向け装置上で閲覧することも可能である。例えば、参加者の個人向け表示は、自動車内の運転者の視点から参加者自動車及びトラックを示されてもよい。参加者の表示は、参加者装置に示され、この特定の装置は、参加者が自動車を運転し、自動車レースゲームのためのその他の入力を行うことも可能にする。
【0045】
ある実施形態では、システム100は、賭け又は賭博システムとして構成されてもよい。各双方向ノードでの主表示は、スポーツイベント、ルーレット盤又はカードディーラーのようなビデオプレゼンテーションを表示するために使用される。参加者は、自分の個人向け参加者装置の個人向け表示上の種々の賭け選択肢を閲覧し、ビデオプレゼンテーション内のイベントに賭けてもよい。例えば、参加者は、スポーツイベントの結果、又は、(次に得点するチーム、次の罰則、次のプレーの結果などのような)スポーツイベント中に起こるイベントと、ルーレット台で次に振り出される数字、カードディーラーにより配られるカード又は手役に賭けてもよい。各参加者は、独立かつ個人的に、可能な賭けに関する情報にアクセスし、このような賭けを行い、そのようなものに対する結果を受け取ることができる。個々の賭けは、ある賭けに対するオッズの最新版に、又は、参加者により申し込まれた賭け又は賭けの結果を表示するために反映されてもよい。
【0046】
ある実施形態では、システム100は、教育システム又はトレーニングシステムとして構成されてもよい。情報は、いくつかの場所に居る参加者のグループに提示されてもよい。各参加者は、主表示に提示された共有情報を閲覧してもよいし、又は、個人向け表示上のプライベート情報をさらに閲覧してもよい。
【0047】
例えば、トレーニングシステムでは、一連のスライドがすべての参加者に示される主表示ですべての参加者に提示されてもよい。参加者の一部又は全部は、個人向け表示で各参加者が回答しなければならない一連の質問のような1人1人の参加者に固有のコンテンツがさらに提示されてもよい。個人向け表示は、参加者が参加者自身のペースで質問を見て回答することを可能にしてもよく、又は、異なる質問を異なる参加者に表示してもよい。個人向け表示は、参加者装置で各プレーヤーに示されことがあり、各プレーヤーは、質問に回答するために、又は、そうではない場合、トレーニングセッションに参加するために、参加者装置上の入力装置を使用してもよい。
【0048】
連携ノード102を示す
図6を次に参照する。連携ノード102は、プログラムデータベース610と、参加者データベース612と、1つ以上のプログラム制御モジュール614と、1つ以上のシステムアクセスアプリケーション616とを含む。
【0049】
複数の双方向プログラムは、プログラムデータベース610に記録される。前述の双方向ゲーミング及び教育体験は、プログラムデータベース610に記録された双方向プログラムにより提供されてもよい体験の例である。各双方向プログラムは、参加者装置128、136及び108で動作する参加者コンポーネントを含み、連携ノードで動作してもよい中央又はコアコンポーネントを含んでいてもよい。さらに、ある双方向プログラムは、パブリックノード及びプライベートノードのローカルコントローラの一部又は全部で動作するローカルコントローラコンポーネントを含んでいてもよい。参加者コンポーネント、中央コンポーネント及びローカルコントローラコンポーネントの1つずつは、システム100上のそれぞれの装置で実行可能であるソフトウェアオブジェクト又はコンポーネントである。
【0050】
プログラム制御モジュール614は、様々な双方向ノードに居る参加者の間で共有体験を連携するために連携ノード102内で動作する。典型的に、各プログラム制御モジュール614は、連携ノード内のプロセッサで実行するソフトウェアオブジェクト又はコンポーネントである。プロセッサは、プログラムデータベース610、参加者データベース612及びシステムアクセスアプリケーション616が記録された非一時的メモリにアクセスすることができる。1つ以上のプログラム制御モジュール614は、1つ以上の双方向体験の動作を管理するために常にアクティブ状態でもよい。
【0051】
システムアクセスアプリケーション616は、異なる参加者装置にインストールされ、動作するソフトウェアオブジェクト又はコンポーネントである。各システムアクセスアプリケーションは、参加者が参加者装置上の個人向け表示を閲覧し、参加者装置上の入力装置を使用して入力を行うために、それぞれの参加者装置を使用することを可能にする。ある実施形態では、異なるシステムアクセスアプリケーションが異なる参加者装置のため、又は、異なる双方向ノードにおける参加者装置の使用のため提供されてもよい。例えば、Blackberry(登録商標)スマートフォンで動作するシステムアクセスアプリケーションは、Apple(登録商標) iPhone(登録商標)スマートフォンで動作するシステムアクセスアプリケーションとは、異なっていてもよい。異なるシステムアクセスアプリケーションは、異なるモードでの特定のスマートフォン(又はその他の参加者装置)の使用のために提供されてもよい。例えば、異なるシステムアクセスアプリケーションは、参加者装置がパブリックノード104の一部として、プライベートノード106の一部として、又は個人ノード108として使用されるとき、参加者装置で動作してもよい。ある実施では、単一のシステムアクセスアプリケーション616は、システムアクセスアプリケーションが2つ以上のモードで動作することを可能にするモジュール及びコンポーネントを含んでいてもよい。
【0052】
個人モジュール108で用いるためのシステムアクセスアプリケーション616は、ローカルコントローラとして個人ノードを動作させる別個のローカルコントローラソフトウェアコンポーネントと、個人ノードを参加者装置として動作させる別個の参加者ソフトウェアコンポーネントとを含む。ソフトウェアコンポーネントの2つの識別可能なグループは、その他の双方向ノードにあるローカルコントローラ及び参加者装置に関連して本書に記載された方式で、同時に動作し、互いに通信してもよい。その他の実施形態では、個人ノードで用いられるシステムアクセスアプリケーションは、ローカルコントローラとして連携ノードと通信し、参加者が一体化された方式でこの装置を参加者装置として使用することを可能にするように、個人ノードを動作させる一体型ソフトウェアコンポーネントを含んでいてもよい。
【0053】
個人ノード108にあるシステムアクセスアプリケーション616は、個人向け表示の代わりに、又は、個人向け表示と併せて表示される主表示を生成してもよい。システムアクセスアプリケーションは、個人ノード108と連携ノード102との間で制御及び通信サービスをさらに提供してもよい。
【0054】
複数の参加者記録が参加者データベース612に格納される。ある実施形態では、システム100を使用して双方向体験に参加する各参加者は、参加者レコードに格納されるアカウント又はプロファイルを作成するために求められてもよい。参加者レコードは、識別及び認証情報と、参加者に関するデモグラフィック(demographic)及び個人的情報と、1つ以上のプログラムにおける参加者の過去の成功又は進歩を記録するプログラム体験情報とを含んでいてもよい。
【0055】
識別及び認証情報は、参加者が参加者のレコードに確実にアクセスすることを可能にするために使用されてもよい。
【0056】
デモグラフィック及び個人的情報は、個人化された情報を参加者に提供するため使用されてもよい。参加者は、双方向体験における参加者の以前の実績に基づいて、又は、参加者に関するデモグラフィックもしくは状態情報に基づいて参加者の個人向け表示に情報を受信してもよい。例えば、教育双方向体験において、新しい企業自発性、様々な企業及びその他の場所における様々な従業員に関して指導従業員を対象とする。各場所で、従業員は、主表示上の共通情報を閲覧する。各従業員は、この従業員が働く部署に基づいて、自発性に関するカスタマイズされた情報を個人向け表示に受信してもよい。
【0057】
各プログラム制御モジュール614は、同時に1つの進行中の双方向体験を管理する。双方向ノード104、106及び108は、双方向体験に参加するためにプログラム制御モジュール614と通信する。他の実施形態では、単一のプログラム制御モジュールは、2つ以上の同時進行中の双方向体験を管理してもよい。
【0058】
システム100の動作が次にシステムの例示的ゲーミング構成に関連して説明される。特定の例は、様々なパブリックノード、プライベートノード及び個人ノードにおける個々の参加者が、仮想自動車がトラックを動き回るときに仮想自動車をそれぞれ制御する自動車レースゲームである。異なる参加者により制御される異なる自動車は、トラックを走り回り、トラックのあちらこちらに自分の仮想自動車を操作する1番目の参加者がレースの勝者である。
【0059】
図7を参照する。多人数参加型双方向体験の間に、各プレーヤーは、主表示及び個人向け表示を閲覧してもよい。各パブリックノード又はプライベートノードでの各主表示は、このノードの第1の表示スクリーンに示される。
図7は、例示的な自動車レースゲームに対する例示的な主表示710を示す。主表示710は、俯瞰トラック表示712と、トラックに沿って位置付けされた複数の自動車714と、参加者がレースの途中のいずれかの時点又は最後に位置している順位を識別する参加者リスト716とを含む。主表示は、ある双方向ノードから次へ変化してもよい。しかし、各主表示は、参加者が関与している双方向体験に関係した少なくともある共通情報を示すことがよくある。例えば、各主表示は、
図7に示された情報を含んでいてもよい。主表示の一部又は全部は、それぞれの双方向ノードが位置している会場に固有の情報をさらに含んでいてもよい。例えば、パブリック双方向ノード104が映画館のホールに位置している場合、ノードの第1の表示スクリーン(典型的にホール内の映写スクリーン)に示された主表示、特定のホールにおける主表示は、ホールで上映される次の映画に関係した情報と、映画館で入手可能な営業権及びサービスについての広告と、来るべき双方向体験に参加する命令と、その他の情報とを、システム100内のその他の双方向ノードに表示された情報に加えて含んでいてもよい。
【0060】
例えば、ある実施形態では、参加者又はその他の人は、システム100を使用してテキストチャット、ビデオチャット又はその他の相互作用に参加してもよい。相互作用のあるコンポーネントは、双方向ノードに示された主表示に表示してもよい。例えば、参加者又はその他の人によって送信されたテキストチャット又はインスタントメッセージが表示されてもよい。ある実施形態では、テキストチャット又はその他のサービスは、第1の双方向プログラムと同時発生する第2の双方向プログラムとして提供されることがあり、両方のプログラムのコンポーネントは、システムの主表示の一部又は全部に表示されてもよい。それぞれの双方向プログラムの参加者は、それぞれの双方向体験に参加するために参加者のそれぞれの参加装置を使用する。
【0061】
同時に、プライベートノード106上の主表示(
図3)は、ローカルコントローラ132又は特定のノードにある参加者装置136に関係した情報を含んでいてもよい。例えば、プライベートノード106の第1のスクリーン134に表示される主表示は、自動車レースゲームにおいてプライベートノードを使用して各参加者の順位に関する情報を含んでいてもよい。別の一例として、参加者装置がバッテリー給電式である場合、各参加者装置内のバッテリーの強度又は状態が主表示に表示されてもよい。
【0062】
システム内の各個人ノード108で、それぞれの参加者は、主表示及び個人向け表示をさらに閲覧してもよい。ある個人ノードで、参加者は、主表示が示される第1の表示モードと個人向け表示が示される第2の表示モードとの間で個人ノード装置108を切り替えられてもよい。ある個人ノードで、第1の表示及び個人向け表示の両方を示す複合表示が示される。
【0063】
図8A及び8Bが次に参照される。
図8Aは、例示的な自動車レースゲーム用の第1の個人向け表示810を示す。個人向け表示810は、自動車812の後方に位置している視点からの、レース中の第1の参加者の自動車812の画像を含む。第1の参加者は、同じ視点からトラック814も見ることができる。個人向け表示810は、レース中の第1の参加者の位置816、速度818、及び、参加者がレース中に参加者の自動車を加速するか、又は、他の参加者の自動車を妨害するために有することができる選択肢820をさらに含む。
【0064】
図8Bは、例示的な自動車レースゲームにおける第2の参加者のための異なる個人向け表示830を示す。個人向け表示830は、車内の視点からの第2の参加者の自動車832の画像を含む。個人向け表示830は、トラック814と、レース中の第2の参加者の位置836と、速度838と、第2の参加者がレース中に有する選択肢840とをさらに含む。
【0065】
多人数プレーヤー双方向体験中に、主表示は、すべての参加者により閲覧するため利用可能である。特定の参加者に示された具体的な主表示は、参加者の場所に依存してもよい。個人ノードを使用する参加者の場合、参加者が利用可能な主表示は、参加者の装置又は参加者の嗜好に依存してもよい。このような選択肢は、双方向プログラムの参加者コンポーネントにより提供されてもよい。例えば、ある参加者コンポーネントは、参加者装置のスクリーン上に個人向け表示と一緒に主表示を表示してもよい。その他の参加者装置は、参加者の嗜好に基づいて表示してもよい、主表示のいくつかの構成を提供してもよい。同様に、プライベートノードにあるローカルコントローラコンポーネントは、プライベートノード又はパブリックノードにある主表示に様々な代替的なフォーマットを提供してもよい。
【0066】
異なる双方向ノードに居る参加者に共有双方向体験を提供するためにシステム100を動作させる方法1000を示す
図10を参照する。
【0067】
方法1000は、2箇所以上の場所に居る複数の参加者が双方向体験に参加するために登録するステップ1002で始まる。登録するために、各参加者は、システムアクセスアプリケーション616を起動する。パブリック又はプライベートノードに位置している参加者は、システムアクセスアプリケーション616をダウンロードするために参加者装置を使用してノードのためのそれぞれのローカルコントローラ122又は132にアクセスであってもよい。例えば、パブリックノード104で、それぞれのローカルコントローラ122にアクセスする命令は、パブリックノードの第1のスクリーン124に表示されてもよい。参加者は、ローカルコントローラ122にアクセスし、次に、参加者装置上での動作のため適したシステムアクセスアプリケーションをダウンロードするために参加者装置126を使用してもよい。
【0068】
プライベートノード106で、参加者装置136と用いるため適したシステムアクセスアプリケーション616は、参加者装置の小売客への納入前に参加者装置にプリインストールされていてもよい。ある実施形態では、システムアクセスアプリケーション616は、プライベートノード106のローカルコントローラ132にダウンロードされてもよく、次に、ローカルコントローラ132から参加者装置にインストールされてもよい。
【0069】
個人ノード108で、システムアクセスアプリケーション616は、アプリケーションストアもしくはアプリケーションサービスから、又は、個人ノード装置が連結されてもよいコンピュータもしくはその他の装置からシステムアクセスアプリケーション616をダウンロードすることにより、個人ノードにインストールされてもよい。
【0070】
各システムアクセスアプリケーションは、参加者が連携ノード102と通信することを可能にする。
【0071】
パブリックノード104において、システムアクセスアプリケーション616は、パブリックノード104のローカルコントローラ122を介して連携ノード102と通信する。
【0072】
本実施形態では、プライベートノード106で、参加者装置は、通信ノードと直接的に通信しない場合がある。その代わり、参加者装置は、プライベートノードのローカルコントローラ132だけと通信し、このローカルコントローラが次に連携ノードと通信する。ある実施形態では、パブリックノード102は、この構成をさらに有していてもよい。
【0073】
個人ノード108は、さらに、(典型的には、様々な通信ネットワーク要素を介するが)直接的に連携装置102と通信する参加者装置である。
【0074】
連携ノード102は、システム100の動作中に、現在のところ利用可能である双方向体験のリストを維持する。ある双方向体験は、すべての参加者が利用可能であってもよいが、その他のものは、ある一定の双方向ノード又はある一定のタイプの双方向ノードだけに位置している参加者が利用可能である。例えば、ある双方向体験は、映画館内の参加者が映画の開始前に待っていることがある、短期間を越える比較的長時間続くように設計されていてもよい。このような双方向体験は、映画館のようなパブリックノードからシステム100にアクセスする参加者が利用できない場合がある。バー又はその他の社会的施設からシステム100にアクセスする参加者のような常連が長期間に亘り共有体験に参加する傾向があるパブリックノードに居るその他の参加者は、このような双方向体験に参加することを許可されてもよい。ある双方向ノードで、すべての参加者は、同じ双方向体験に参加することを要求されてもよい。例えば、単一の双方向体験のための主表示を示すために単一の第1の表示だけを有するパブリック又はプライベートノードで、すべての参加者は、この双方向体験に参加しなければならない。ある実施形態では、第1の表示は、2つの異なる双方向体験のための主表示を第1のスクリーンの異なる部分に示すために使用されてもよい。
【0075】
各参加者は、参加者の装置126、136又は108上でそれぞれのシステムアクセスアプリケーションを起動する。システムアクセスアプリケーションは、プレーヤーがシステム100にアクセスしたときに用いた双方向ノードに基づいて、連携ノード102から現在利用可能な双方向体験のリストを取得する。参加者が利用できる利用可能な双方向体験のリストは、参加者の装置に表示され、参加者は、体験のうちの1つを選択し、それによって、選択された双方向体験に参加するために登録する。
【0076】
その他の実施形態では、参加者は、参加者のそれぞれのローカルコントローラの制御下で双方向体験を直接的に選択してもよい。各双方向ノードで利用可能な双方向体験は、それぞれのローカルコントローラに(リアルタイム又は事前に)記録されてもよい。参加者装置は、参加者が利用できる双方向体験のリストを提示するためにローカルコントローラと通信し、参加者は、その後にリストから選択してもよい。
【0077】
方法1000はステップ1004に進み、双方向体験のため必要とされる何らかの参加者コンポーネントが登録された参加者の装置にインストールされる。参加者の装置が双方向体験のため事前に使用されていない場合、双方向体験を行うため参加者の装置に必要な何らかの参加者コンポーネントが送信され、参加者の装置にインストールされる。参加者コンポーネントが装置に事前にインストールされている場合、旧式のコンポーネントは最新の参加者コンポーネントで更新されてもよい。特定の参加者装置にインストールされた特定の参加者コンポーネントは、参加者装置の特徴、参加者が登録した特定の双方向体験、又は両方に依存することがあり、例えば、参加者装置がタッチスクリーン、姿勢センサ、加速度計、又はその他の入力装置を有する場合、参加者装置にインストールされた参加者コンポーネントは、参加者がこのような入力装置を使用することを可能にするように設計されてもよい。参加者コンポーネントは、連携ノードから、ローカルコントローラから、又は、双方向システムに連結されているアセットサーバから送信されてもよい。
【0078】
方法1000は次にステップ1006に進み、登録されたプレーヤーが双方向体験に参加することになる場所にある双方向ノードのためのローカルコントローラが、必要に応じて、更新される。ある双方向プログラムは、双方向ノード104、106及び108にあるローカルコントローラで動作するローカルコントローラコンポーネントを含んでいてもよい。典型的に、必ずではないが、このようなローカルコントローラコンポーネントは、これらのローカルコントローラコンポーネントが動作する具体的な双方向ノードのタイプに依存して異なっていてもよい。例えば、パブリックノード104内のローカルコントローラ122のためのローカルコントローラコンポーネントは、プライベートノード106内のゲーミングコンソールのようなローカルコントローラ132のためのローカルコントローラコンポーネントとは異なって構成されていてもよい。同様に、個人ノード108のためのローカルコントローラコンポーネントは、ローカルコントローラ及び参加者装置の両方としての役目を果たすことがあり、典型的に、これらのローカルコントローラコンポーネントが使用される具体的な参加者装置のタイプのため構成されていてもよい。
【0079】
ローカルコントローラコンポーネントが新たに登録された参加者がシステム100にアクセスしたとき用いた双方向ノードのそれぞれのローカルコントローラに事前にインストールされていない場合、ローカルコントローラコンポーネントがインストールされる。ローカルコントローラコンポーネントが事前にインストールされている場合、これらはローカルコントローラコンポーネントの何らかの変更を反映するために更新されてもよい。
【0080】
異なる双方向プログラムのためのローカルコントローラコンポーネントは、双方向プログラムの性質に依存して変わってもよい。例えば、前述の自動車レースゲームでは、ローカルコントローラコンポーネントは、ゲームにおける仮想トラック及び仮想自動車に関する情報を含んでいてもよい。例えば、レースゲームのためのプログラムコンポーネントは、レース中に参加者により使用されてもよい車両の制御、表示及び相互作用に関係した様々なコアコンポーネントを含んでいてもよい。具体的な車両がどのように制御され、表示されるか、そして、具体的な車両が他の車両及び自動車レースプログラムのその他の要素とどのように相互作用するかを決定するためにコアコンポーネントにより使用されることになる具体的な特性を含む各車両の具体的な詳細。新しい車両がプログラムに追加される場合、新しい車両に関係したローカルコントローラコンポーネントは、このステップでローカルコントローラにアップロードされてもよい。コアコンポーネントは、双方向自動車レース双方向体験において新しい車両を表示するか、そうではない場合、使用するために新しい車両に固有のコンポーネントを使用する。ローカルコントローラコンポーネントは、ゲームのルール及び連携ノードとローカルコントローラと参加者装置との間で交換されることになる情報メッセージの詳細をさらに含んでいてもよい。教育又は測量双方向体験の場合、ローカルコントローラコンポーネントは、双方向ノードの主表示に表示されるべき、又は、ローカルノードにある参加者装置に送信されるか、もしくは、表示されるべき質問、スライド又はその他の情報を含んでいてもよい。
【0081】
ステップ1004及び1006は、双方向プログラムのためのプログラムコンポーネントがローカルコントローラ及び参加者装置で更新されることを可能にする。これらのステップは、選択できるものであり、ある実施形態では実行されない場合がある。例えば、ある実施形態では、参加者装置は、参加者が双方向体験に参加することができる方法1000とは独立に更新されてもよい。同様に、ある実施形態では、ローカルコントローラは、新しいコンポーネントを追加するために(毎晩又は毎週の更新のような)定期更新中に更新されてもよい。他の実施形態では、限定された数の双方向プログラムコンポーネントが方法1000の間に参加者装置に送信されてもよい。例えば、特定の双方向プログラムがグラフィック、計算又はその他のアセットもしくはコンポーネントを必要とする場合、アセットが参加者装置に送信又はインストールされてもよい。
【0082】
異なる双方向体験は、異なる人数の参加者が登録されることを許可又は必要としてもよい。適切な人数の参加者が双方向体験に登録されたとき、方法1000は、次にステップ1008に進み、双方向体験が登録された参加者に提供される。
【0083】
双方向体験を提供するためにシステム100で使用されるある程度の数のメッセージを示す
図9を参照する。双方向体験中に、連携ノード602内で動作するプログラム制御モジュール614は、双方向体験を管理する。プログラム制御モジュール614は、表示が必要とされるとき、各参加者からの入力がすべての主表示に表示され、その他の参加者への共有体験の配信が考慮されるように、異なるノードに居るプレーヤー(及び同じノードに居る異なるプレーヤー)に配信された共有双方向体験が同期させられることを保証する。双方向体験に依存して、参加者の一部又は全部からの入力の結果が主表示に同時に表示されることが望ましい場合がある。例えば、自動車レース双方向体験において、各プレーヤーからの加速、制動及び操縦入力のような車両制御入力は、受信されたときに主表示に示されてもよい。プレーヤーが相互に密かに決定を行う異なる双方向体験では、プレーヤーの入力の一部又は全部は、体験中の適切な時点まで、又は、おそらく全く主スクリーンに反映されない場合がある。
【0084】
プログラム制御モジュール614は、プログラム更新メッセージ902を共有体験における参加者が登録された双方向ノード104、106及び108の1つずつに送信する。プログラム更新メッセージ902は、以下の種々のメッセージを含んでいてもよい。
−ローカルコントローラ122、132、108に双方向ノードの第1の表示124、134、150上の双方向体験の主表示を更新することを指示する主表示制御メッセージ。
−双方向体験に変化が発生したときにローカルコントローラもしくは参加者装置又は両方に指示する双方向体験制御メッセージ。例えば、制御メッセージは、双方向体験が開始、停止又はあるモードから別のモードに遷移するときを指示してもよい。例えば、双方向体験制御メッセージは、体験の状態が双方向ノードの間で共有され同期させられることを可能にする双方向体験の状態を含んでいてもよい。ローカルコントローラは、特定の双方向ノードにおける双方向体験の主表示を更新し、対応する制御メッセージを参加者装置に送信し、又は、そうではない場合、制御メッセージに応答してもよい。
−ローカルコントローラが修正又は無修正形式で指定された参加者装置に宛先を変更する参加者装置メッセージ。
【0085】
プログラム制御モジュール614は、参加者装置126、136及び108から参加者入力メッセージ904をさらに受信する。参加者入力メッセージは、参加者の装置で入力装置を使用して参加者により入れられた入力に基づいて生成される。
【0086】
参加者コンポーネントは、参加者が双方向体験に参加するためのインターフェースを提供する。双方向体験に依存して、参加者コンポーネントは、参加者が参加者の装置の第2のスクリーンに示された個人向け表示を変更すること、又は、入力制御を参加者により好まれる入力制御に変更することを可能にする。
【0087】
例えば、自動車レースゲームの例では、参加者コンポーネントは、レース中の参加者の自動車の内部、後方又は前方からの様々な表示視点又は見え方を提供してもよい。参加者は、参加者の自動車の前方からの前部又は後方からの後部を見ることが可能であってもよい。その他の見え方は、参加者の自動車の俯瞰図を含んでいてもよい。このような入力は、参加者の装置の第2の表示に様々な個人向け表示を生成し、提供するように構成されてもよい、参加者コンポーネントにより完全に処理されてもよい。
【0088】
その他の参加者入力は、その他の参加者の共有双方向体験に影響を与えてもよい。例えば、ある参加者入力は、方向(すなわち、操縦入力)又は速度(すなわち、加速度入力又は制動入力)に関係してもよい。このような入力は、レース中の参加者の自動車の位置に影響を与える。参加者コンポーネントは、参加者の装置上の個人向け表示を修正するためにこのような入力を処理してもよい。例えば、仮想自動車の速度は、参加者コンポーネントによる個人向け表示で更新されてもよい。このような入力、又は、このような入力の変動は、参加者入力メッセージ904でローカルコントローラ122又は132に送信される。ローカルコントローラは、参加者入力をさらに処理してもよい。例えば、ローカルコントローラは、双方向ノードで第1の表示に示された主表示を修正してもよい。ローカルコントローラは、次に、これの参加者入力メッセージ904(又はコピーもしくは変形)を連携ノード102内の対応するプログラム制御モジュール614に送信する。
【0089】
連携ノードで、プログラム制御モジュール614は、参加者入力メッセージ904を受信し、共有双方向体験への参加者入力の影響を決定し、1つ以上の反応アクションをとる。このようなアクションは、参加者入力メッセージが発生した参加者装置をもつ参加者のプレーヤープロファイルを更新すること、双方向体験の状態を記録するためにプログラム制御モジュールにより記録された双方向体験情報を更新すること、後でローカルコントローラに送信される1つ以上のプログラム更新メッセージ902を生成すること、又は、これらのアクションの組み合わせを含んでいてもよい。参加者入力メッセージ904が双方向体験に関連しない場合(例えば、双方向体験が終了した後にメッセージが受信された場合)、プログラム制御モジュールは、参加者入力メッセージ904を廃棄してもよい。
【0090】
プログラム制御モジュールは、以下を含む様々な方式で参加者装置からのプログラム更新メッセージ902を処理し、反応してもよい:−参加者入力が様々な双方向ノードでの双方向体験の主表示に影響を与える場合、プログラム制御モジュール614が主表示に必要とされる修正を決定し、主表示制御メッセージをこの修正を識別する各双方向ノードでローカルコントローラに送信する。様々な実施形態では、主表示制御メッセージは、主表示のコンテンツのすべてを識別し、主表示で変更されるべきコンポーネントだけを識別し、又は、それぞれの双方向ノードにあるローカルコントローラが主表示を生成することを可能にする情報を提供してもよい。−参加者入力が別の参加者の双方向体験に影響を与える場合、プログラム制御モジュール614は、参加者装置メッセージをその他の参加者がシステム100にアクセスしている場所にある双方向ノードのローカルコントローラに送信する。ローカルコントローラは、参加者装置メッセージを適切な参加者装置に渡す。参加者装置メッセージは、以下の様々なタイプの情報を参加者装置に提供してもよい:
−参加者の装置の第2の表示に個人向け表示を描くために双方向プログラムの参加者コンポーネントにより使用される個人向け表示情報。このような情報は、双方向体験へのその他の参加者の参加の詳細を含んでいてもよい。自動車レースの例では、この情報は、自動車レース中のその他の参加者の自動車の位置、速度及び加速度を含むことがあり、参加者の装置上の参加者コンポーネントがこのような情報を考慮して個人向け表示を描くことを可能にする。
−参加者が利用できる選択肢を識別する参加者選択肢情報。例えば、自動車レース又はその他のゲーミング双方向体験において、プレーヤーが双方向体験におけるマイルストーンを達成した場合、プレーヤーは、双方向体験における現在選択肢又は特徴にアクセスする資格が与えられてもよい。
【0091】
双方向体験は、主としてステップ1008で参加者に提供される。典型的に、ある体験終了条件が満たされる場合、双方向プログラムが終了する。例えば、ゲーミング双方向体験において、参加者又は参加者のチームがゲームに勝利した場合、選択された期間が満了した場合、又は、別の体験終了10条件が満たされた場合、ゲームは終了してもよい。異なる参加者が共通主スクリーンを閲覧し、独立に又は個人向け表示で同時に質問に回答する測量、教育又はその他の双方向体験の場合、体験は、参加者が質問のすべてに回答したとき、主スクリーン上に表示されたプログラムの終了時、選択された期間後、参加者のうちの選択された割合もしくは人数が質問のうちの選択された割合もしくは個数、又は、その他の動作を完了したとき、終了してもよい。参加者が共通主表示でビデオプログラムを閲覧し、ビデオプログラムに示されたイベントに基づいて同時に賭け金を置いている賭け双方向体験の場合、双方向体験は、ビデオプログラムが終了したときに終了してもよい。
【0092】
体験終了条件が満たされたとき、方法1000は、ステップ1010に進む。ステップ1010で、プログラム制御モジュール614は、双方向体験が終了させられたことを指示するプログラム更新メッセージをすべてのローカルコントローラ及び各個人ノードに送信する。ローカルコントローラは、対応するプログラム更新メッセージを各パブリック及びプライベートノードにある各参加者装置に送信する。
【0093】
ローカルコントローラは、双方向体験の結果を反映するために主表示を更新してもよい。例えば、主表示は、ゲーミング双方向体験の勝者を特定するために、双方向体験の概要を表示するために、又は、単に双方向体験が終了したことを表示するために更新してもよい。
【0094】
同様に、双方向プログラムの参加者コンポーネントは、参加者装置の第2の表示スクリーンに示された個人向け表示に双方向体験の終了を指示するメッセージのような参加者の双方向体験の結果を表示してもよい。
【0095】
ステップ1010の間に、ある双方向体験制御メッセージは、双方向ノードの範囲内だけに送信されてもよい。例えば、双方向体験制御メッセージが1人の参加者だけ、又は、このメッセージが発せられた双方向ノードにおける参加者だけ関連するゲームの状態の変更を指示する場合、これは、このノードのローカルコントローラにより連携ノードに送信されない場合がある。ある実施形態では、ローカルコントローラは、連携ノード又はその他の双方向ノードにおける参加者に関連する情報だけを双方向体験制御メッセージで送信してもよい。
【0096】
ある実施形態では、ローカルコントローラもしくは連携ノード又は両方は、双方向ノードにおける参加者に関連する情報だけがこのノードに送信されるように、双方向プログラム制御メッセージを修正してもよい。これは、双方向体験がより素早く、もしくは、より少ない通信帯域幅を用いて、又は、両方で同期させられることを可能にして、双方向プログラム制御メッセージの個数及びサイズを削減してもよい。
【0098】
場合によっては、方法1000は、双方向体験が繰り返されることを可能にするために、繰り返し実行されてもよい。
【0099】
方法1000は、双方向体験を離隔した場所に位置している複数の参加者に提供する。各参加者は、同じ双方向体験を共有し、主表示上の共通情報を閲覧する。同時に、各参加者は、個々の参加者に個人的である豊富なグラフィカル体験を提供する参加者の個人向け装置に示された個人向け表示を有している。
【0100】
ある双方向体験は、この体験の進行中に、参加者が双方向体験に加わること、又は、双方向体験から出ることを許可してもよい。例えば、ポーカー体験のようなある賭け双方向体験では、参加者は、個別に双方向体験に加わること、又は、双方向体験から離れることができることがあり、双方向体験は特定の参加者が双方向体験に参加する前後で継続している。
【0101】
双方向体験が開始した後に参加者が参加してもよい双方向体験では、参加者は、ステップ1002及び1004を独立に完了してもより。ステップ1006は、このような状況で、特に、新たに登録された参加者により使用されるローカルコントローラがその他の参加者によりさらに用いられる場合、必要とされない場合がある。
【0102】
双方向体験がその他のプレーヤーに対し終了する前に参加者が離れるか、又は、除去される場合がある双方向体験では、離れていく参加者は、その他の参加者がステップ1008において双方向体験を継続する間に、ステップ1010に移ってもよい。
【0103】
ある双方向体験では、参加者装置は、ステップ1008で更新を必要としない場合がある。例えば、ある双方向体験では、参加者が体験に参加するため必要とされるすべてのコンポーネントは、ステップ1004で配信されることがあり、ステップ1008で更新メッセージを参加者装置に送信することは必要ではない場合がある。このような体験では、更新メッセージは、参加者からの入力に基づいて連携ノードに送信される。連携ノードは、その後、ローカルコントローラがそれぞれの主表示を更新することを可能にする対応する更新メッセージを双方向ノードに送信する。
【0104】
図1を参照する。様々な実施形態が双方向体験を特定のタイプの双方向ノードにおける参加者に配信してもよい。
【0105】
ある実施形態では、各双方向ノードは、パブリックノード104でもよい。その他の実施形態では、各双方向ノードは、プライベートノード106でもよい。その他の実施形態では、パブリックノード、プライベートノード及び個人ノードの様々な組み合わせが認められてもよい。
【0106】
別のマルチロケーション双方向システム1100を示す
図11を参照する。
図11は、ソフトウェアアーキテクチャの観点からシステム1100を示す。システム1100の様々なノード及び装置は、システム100の対応するノード及び装置に構造及び動作が類似し、対応するノード、装置及びコンポーネントが類似する符号によって識別される。
【0107】
システム1100は、連携ノード1102と、1つ以上のパブリックノード1104(そのうちの1つだけが図示される)と、1つ以上のプライベートノード1106(そのうちの1つだけが図示される)と、1つ以上の個人ノード1108(そのうちの1つだけが図示される)とを含む。
【0108】
システム1100は、中央連携コンポーネント1150と、ローカル連携コンポーネント1154と、参加者連携コンポーネント1156とを含む連携フレームワークを含む。
【0109】
連携ノード1102に格納された双方向プログラムは、中央コンポーネント1162と、ローカル制御コンポーネント1164と、参加者コンポーネント1166とを含む。
【0110】
システム1100が特定の双方向プログラムを使用して双方向体験を提供するために使用されるとき、システム100のコンポーネントは、以下の通り動作する。
【0111】
連携ノード1102で、中央コンポーネントは、プログラム制御モジュール1114と共に動作する。プログラム制御モジュール1114は、中央連携コンポーネント1150と共に動作する。双方向プログラムの中央コンポーネントは、双方向体験又は双方向プログラムに固有である機能及びサービスを提供する。プログラム制御モジュールは、各双方向ノードでの主表示、各参加者装置での個人向け表示、及び、各参加者装置から受信された参加者入力の処理の管理を含めて、様々な参加者ノードでの双方向体験におけるすべての参加者に対する双方向体験の連携を管理する。中央連携コンポーネントは、通信及びその他のサービスをプログラム制御モジュール1114及び中央連携コンポーネント1150に提供してもよい。ある実施形態では、プログラム制御モジュール1114は、一体型プログラム制御モジュールがプログラム制御モジュールと中央連携コンポーネントとの両方の機能を提供するように、中央連携コンポーネント1150と組み合わされてもよい。
【0112】
各ローカルコントローラ1122、1132で、ローカルコントローラコンポーネント1164は、ローカル連携コンポーネント1154と共に動作する。ローカルコントローラコンポーネント1164は、双方向体験又は双方向プログラムに固有であるサービス及び機能を提供する。ローカル連携コンポーネント1154は、通信及びその他のサービスをさらに提供する。ローカル連携コンポーネントは、パブリック又はプライベートノードにおいて第1のスクリーンに示された主表示をさらに管理する。
【0113】
各参加者ノード1126又は1136で、加入者コンポーネント1166は、参加者連携コンポーネント1156と共に動作する。参加者コンポーネント1166は、双方向体験又は双方向プログラムに固有であるサービス又は機能を提供する。参加者連携コンポーネント1156は、通信及びその他のサービスを加入者コンポーネント1166に提供してもよい。
【0114】
典型的に、連携フレームワークは、複数の双方向プログラムに共通している連携サービスを提供する。このような実施形態では、双方向プログラムは、連携サービスのための連携フレームワークに依拠することがあり、双方向プログラムの開発者が双方向プログラム及びこれらのそれぞれのコンポーネントを双方向プログラムにより提供された双方向体験に固有であるソフトウェア、データ及びその他のコンテンツに制限することを可能にする。複数の双方向プログラムにより必要とされる連携サービスは、連携フレームワークにより提供される。このことは、双方向体験が提供されることが可能である前にローカルコントローラ及び参加者装置にそれぞれインストールされなければならないローカルコンポーネント及び参加者コンポーネントのサイズを縮小する場合がある。これは双方向体験をより均一にするためにも役立つことになり、参加者が以前に獲得された知識及び技能を使用して新しい双方向体験により容易に参加することを可能にする。
【0115】
連携フレームワークは、様々なサービスを提供してもよい。
【0116】
ある実施形態では、連携フレームワークは、ノード間通信サービスを提供してもよい。例えば、連携コンポーネント1150、1154及び1156は、双方向プログラムコンポーネント1162、1164及び1166が相互に通信することを可能にするメッセージ又はデータ受け渡しサービスを提供してもよい。連携コンポーネントは、相互に通信する。双方向プログラムコンポーネントは、同じノードにインストールされたそれぞれの連携コンポーネントと通信し、連携コンポーネントを介して相互に間接的に通信する。
【0117】
ある実施形態では、連携フレームワークは、参加者アカウントサービスを提供してもより。例えば、中央連携コンポーネントは、連携ノードに格納された参加者データベースとインターフェースしてもよい。中央連携コンポーネントは、中央コンポーネントに直接的に、又は、その他の連携フレームワークコンポーネントを介してローカルコントローラコンポーネントに、もしくは、双方向プログラムの参加者装置コンポーネントに、のどちらか一方で、参加者のアカウントからの詳細を双方向アプリケーションに提供してもよい。双方向プログラムコンポーネントは、参加者の体験を個人化又は修正するために参加者のアカウントからの情報を通知してもよい。さらに、双方向アプリケーションは、参加者のアカウントに格納されるように参加者のアカウントについての更新された情報を中央連携コンポーネントに提供してもより。このような更新されたアカウント情報は、参加者データベースに記録されてもよい。
【0118】
連携フレームワークは、アカウント作成サービスをさらに提供してもよい。参加者装置にインストールされた参加者連携コンポーネントは、アカウント作成機能を含んでいてもよい。参加者アクセスシステム1100がシステムアクセスアプリケーション又は双方向アプリケーションの参加者コンポーネントのいずれかを使用するとき、参加者は、アカウントを作成したいと思うことがある。参加者連携コンポーネントは、参加者アカウントのため必要とされる情報を収集し、次に、このような情報を中央連携コンポーネントに転送するアカウント作成モジュールを含んでいてもよい。中央連携コンポーネントは、その後、参加者データベースに参加者のための新しいアカウントを作成してもよい。
【0119】
ある実施形態では、連携フレームワークは、装置インターフェースサービスを提供してもよい。例えば、参加者連携コンポーネントは、参加者装置に組み込まれた、又は、付属させられた入力装置とインターフェースしてもよい。参加者連携コンポーネントは、様々なタイプの入力装置から受信された様々なタイプの入力を、その後、双方向アプリケーションの参加者コンポーネント、ローカルコントローラコンポーネント及び中央コンポーネントに提供される一貫した入力の組に変換してもよい。これは、同一又は類似の参加者コンポーネントが参加者装置の異なる入力装置とは無関係に参加者装置にインストールされることを可能にする。参加者装置におけるその他の相違は、異なる参加者コンポーネントが異なる参加者装置にインストールされることを依然として必要とする場合がある。
【0120】
ある実施形態では、連携フレームワークは、双方向体験のためのコンテンツが連携ノードから双方向ノードにあるローカルコントローラ及び参加者装置へ押し進められるコンテンツ配信サービスを提供してもよい。例えば、双方向プログラムは、双方向体験の開始時又は期間中に双方向体験のためのメディアコンポーネントを双方向ノードへ押し進めるために連携フレームワークを使用してもよい。
【0121】
ある実施形態では、連携フレームワークは、参加者双方向サービスを提供してもよい。例えば、連携フレームワークは、ビデオチャット、ボイスチャット、マルチメディアメッセージング、(情報をFacebook(登録商標)又はTwitter(登録商標)に、又は、Facebook(登録商標)又はTwitter(登録商標)を使用して自動的に送信するためのインターフェースのような)ソーシャルメディアインターフェースを提供する。
【0122】
ある実施形態では、連携フレームワークは、報酬システムを提供してもよい。例えば、連携フレームワーク又は双方向アプリケーションは、様々な双方向体験への参加又は成功に対して参加者に報酬を出してもよい。参加者の双方向体験は、参加者により獲得された報酬に基づいて変化してもよい。典型的に、参加者の獲得した報酬は、連携ノード内の参加者のアカウントレコードに記録されることになる。参加者の報酬状態は、アカウントサービスに関連して前述されたように双方向アプリケーションに提供されてもよい。
【0123】
ある実施形態では、報酬システムは、クーポン、インセンティブ、又はその他の情報を参加者に提供してもよい。ある実施形態では、参加者嗜好がプレーヤーのアカウントと共に記録されてもよい。参加者の嗜好は、ゲーム中の支給及びその他の広告と、クーポンと、その他の情報とを含めて、よりカスタマイズされた体験を参加者に提供するために使用されてもよい。
【0124】
ある実施形態では、連携フレームワークは、グラフィカル及び物理処理サービスを提供してもよい。例えば、連携は、衝突、シーン管理、グラフィックレイヤリング及びその他の処理集約型動作のようなイベントの結果を計算する数学的アルゴリズム及びルーチンを提供することがあり、双方向プログラムのコンポーネントがこのようなアルゴリズム及びコンポーネントを取り入れる必要性を取り除く。連携フレームワークにより提供されるその他のサービスのような双方向アプリケーションのコンポーネントは、このようなサービスを呼び出すことがあり、このようなサービスを双方向アプリケーションコンポーネントに取り入れる必要性を低減する。
【0125】
ある実施形態では、連携フレームワークは、測位サービスを提供してもよい。例えば、連携フレームワーク内の参加者連携コンポーネントは、参加者装置の場所を推定するために、参加者装置に組み込まれた全地球測位システムセンサ、Wi−Fi(802.11)アンテナ及びその他の装置のような測位装置を使用してもよい。位置は、参加者の体験がプレーヤーの場所に基づいてカスタマイズされることを可能にするために双方向プログラムに提供されてもよい。
【0126】
ある実施形態では、様々な参加者がチームに編成されてもよい。例えば、自動車レースの例では、参加者は、指定された条件が満たされる場合に一方のチームが勝利するように、第1のチーム及び第2のチームに編成されてもよい。このような実施形態におけるプログラム制御モジュールは、各チーム内の参加者の会員資格を追跡する。各チームのメンバーに示される個人向け表示は、チーム全体に関連した情報を含んでいてもよい。このようにして、一方のチームの参加者は、もう一方のチームに提供されない情報を共有することが可能である。ある実施形態では、特定のノードにおけるすべての参加者は、同じチームの一員でもよい。このような実施形態では、ノードで示された主表示は、チームに示されるべき情報を含んでいてもよい。
【0127】
システム100及び1100では、3つのタイプの双方向ノード:パブリックノード、プライベートノード及び個人ノードが記載されている。ある実施形態では、パブリックノードだけが提供されてもよい。その他の実施形態では、プライベートノードだけが提供されてもよい。その他の実施形態では、パブリックノード及びプライベートノードだけが提供されてもよい。その他の実施形態では、個人ノードだけが提供されてもよい。ある実施形態では、パブリックノード及び個人ノードだけが提供されてもよい。ある実施形態では、プライベートノード及び個人ノードだけが提供されてもよい。いずれの場合でも、いかなるノードにおける参加者でもその他の主表示にも示される情報を収容する主表示と、この参加者に固有である情報を収容する個人向け表示とを見ることができる。
【0128】
別のマルチロケーション双方向システム1200を示す
図12を次に参照する。システム1200の様々な要素は、システム100及び1100の要素と類似している。対応する要素は、類似した符号によって識別される。
【0129】
システム1200は、連携ノード1202と、1つ以上のパブリックノード1204(そのうちの1つだけが図示される)と、1つ以上のプライベートノード1206(そのうちの1つだけが図示される)と、1つ以上の個人ノード1208(そのうちの1つだけが図示される)とを含む。
【0130】
パブリックノード1204aは、ローカルコントローラを含んでいない。連携ノード1202は、双方向ノードコントローラモジュール1222を含む。双方向ノードコントローラモジュール1222は、双方向ノード制御コンポーネント1264を含む。双方向ノード制御コンポーネントは、パブリックノード1204aにある第1の表示スクリーン1234aと通信し、1つ以上の参加者装置1226とさらに通信する。双方向ノード制御コンポーネント1264は、パブリックノード1104に対するパブリックノード104及び1104のローカルコントローラに関連して前述された機能を提供する。
【0131】
同様に、プライベートノード1206aは、ローカルコントローラを有していない。その代わり、双方向ノード制御モジュール1264内の双方向ノード制御コンポーネントは、プライベートノード106及び1106のローカルコントローラの機能を提供する。
【0132】
個人ノード1208aもまたローカルコントローラコンポーネントを有していない。その代わり、双方向ノード制御モジュール1122内の双方向ノード制御コンポーネント1264は、個人ノード108及び1108のローカルコントローラの機能を提供する。
【0133】
システム1200において、連携ノード1202内の双方向ノード制御コンポーネント1264は、システム内の双方向ノードの一部又は全部に対する仮想ローカルコントローラとして動作する。双方向ノード制御コンポーネント1264を利用する双方向ノードに対して、双方向ノード制御コンポーネントは、各双方向ノードで主表示を制御し、双方向ノードにある各参加者装置と通信し、各参加者装置を制御する。
【0134】
ある実施形態では、双方向ノード制御モジュール1122は、連携ノード内のその他のコンポーネントと一体化されてもよい。例えば、双方向ノード制御モジュール1122は、プログラム制御モジュール1214と一体化されてもよい。連携フレームワークを含む実施形態では、双方向ノード制御モジュール1122は、代替的又は付加的に、中央連携コンポーネントと一体化されてもよい。このような実施形態では、主表示の制御。
【0135】
様々な実施形態では、双方向ノード制御モジュール1222は、連携ノードと同じもしくは異なる場所で、又は、同じもしくは異なるコンピューティング装置で動作してもよい。例えば、ある実施形態では、双方向ノード制御モジュールは、ネットワーク1210内部のノードで動作することがあり、連携ノードと通信し、ネットワークを介して双方向ノードと通信してもよい。ある実施形態は、各双方向ノード制御モジュールが1つ以上の双方向ノードの動作を制御する2台以上の双方向ノード制御モジュールを含んでいてもよい。
【0136】
本発明は、単に一例として説明されている。様々な変更及び変形が発明の趣旨及び範囲から逸脱することなくこれらの例示的な実施形態に行われてもよい。