(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0003】
以下の説明では、同じ要素を識別するために同じ参照番号が用いられる。さらに、図面は、例示的な実施形態の主な特徴を図式的に示すことを意図している。それらの図面は、実際の実施形態の全ての特徴を描写することも、描写される要素の相対的な寸法を描写することも意図するものではなく、縮尺通りではない。
【0004】
I.用語の定義
「通信者」は、1つ又は複数のネットワーク通信を介して相手(other persons)と通信するか、又は別の方法で対話する人であり、その通信又は対話は、仮想エリアとの関連で行われる場合も、行われない場合もある。「ユーザ」は、説明のための特定の視点を定義する特定のネットワークノードを運用している通信者である。
【0005】
ユーザの「コンタクト」は、ユーザ及びコンタクトのうちの少なくとも一方によって宣言される(そしてオプションで他方によって確認される)明示的なソーシャルネットワーク提携によって、又はユーザと人との間の対話から推定されるソーシャルネットワーク提携によってユーザに接続される通信者又は相手である。
【0006】
「通信者対話」は、通信者と別のネットワークエンティティとの間の任意のタイプの直接的又は間接的な行動又は作用であり、ネットワークエンティティは、例えば、別の通信者、仮想エリア又はネットワークサービスを含む場合がある。例示的なタイプの通信者対話は、通信者同士がリアルタイムに通信すること、通信者が仮想エリアに入ること、及び通信者がネットワークサービスからリソースへのアクセスを要求することを含む。
【0007】
「ソーシャルネットワーク」は、1つ又は複数のタイプの相互依存性によって接続されるノードのソーシャル構造又はマップである。「ノード」は、ネットワーク内の個々のエンティティ(例えば、個々の通信者、通信者のグループ、又は組織)を表す。ソーシャルネットワーク「提携」は、ソーシャルネットワーク内の一対のエンティティ間の関係を表す。ノードは、種々の異なるタイプの提携によって相互接続される場合がある。ソーシャルネットワーク「プロファイル」は、単一のユーザに関連付けられた1組のデータである。これらのデータは、ユーザを識別する属性(例えば、ユーザ名、年齢、性別、地理的なロケーション)、ユーザの友人及び知人を識別する属性、ユーザの興味を識別する属性(例えば、好きな音楽、本、映画、スポーツ、食べ物)、及びユーザのプリファレンスを特定する属性(例えば、システムがユーザに関連付けられたリソースへのアクセスを制御する方法に関する制約)を含む場合がある。
【0008】
「コンピュータ」は、一時的に、又は永久にコンピュータ可読媒体上に記憶されるコンピュータ可読命令に従ってデータを処理する任意の機械、デバイス又は装置である。「コンピュータオペレーティングシステム」は、タスクの性能、並びに計算リソース及びハードウェアリソースの共有を管理し、調整する、コンピュータシステムのソフトウェアコンポーネントである。「ソフトウェアアプリケーション」(ソフトウェア、アプリケーション、コンピュータソフトウェア、コンピュータアプリケーション、プログラム及びコンピュータプログラムとも呼ばれる)は、1つ又は複数の特定のタスクを実行するためにコンピュータが解釈し、実行することができる1組の命令である。「コンピュータデータファイル」は、ソフトウェアアプリケーションによって使用するためのデータを格納する情報ブロックである。
【0009】
「ウインドウ」は、通常、ユーザインタフェースを含む、ディスプレイの可視エリアである。ウインドウは通常、ソフトウェアプロセスの出力を表示し、通常、ユーザがそのソフトウェアプロセスのためのコマンド又はデータを入力できるようにする。親を有するウインドウは「子ウインドウ」と呼ばれる。親を有しないか、又はその親がデスクトップウインドウであるウインドウは、「最上位ウインドウ」と呼ばれる。「デスクトップ」は、グラフィカルユーザインタフェース(GUI)の背景を着色し、全てのソフトウェアプロセスによって表示される全てのウインドウのためのベースとしての役割を果たすシステム定義ウインドウである。
【0010】
「データベース」は、コンピュータによって検索することができる標準化されたフォーマットにおいて提示される、レコードの体系づけられた集合体である。データベースは、単一のコンピュータ上の単一のコンピュータ可読データ記憶媒体上に記憶することもできるし、1つ又は複数のコンピュータ上の複数のコンピュータ可読データ記憶媒体上にわたって分散することもできる。
【0011】
「データシンク」(本明細書では、単に「シンク」と呼ばれる)は、データを受信するデバイス(例えば、コンピュータ)、デバイスの一部、又はソフトウェアのいずれかである。
【0012】
「データソース」(本明細書では、単に「ソース」と呼ばれる)は、データを発信するデバイス(例えば、コンピュータ)、デバイスの一部、又はソフトウェアのいずれかである。
【0013】
「ネットワークノード」(本明細書では、単に「ノード」と呼ばれる)は、通信ネットワーク内の接合点又は接続点である。例示的なネットワークノードは、限定はしないが、端末、コンピュータ、及びネットワークスイッチを含む。「サーバ」ネットワークノードは、情報要求又はサービス要求に応答するネットワーク上のホストコンピュータである。「クライアント」ネットワークノードは、サーバから情報又はサービスを要求するネットワーク上のコンピュータである。「ネットワーク接続」は、2つの通信するネットワークノード間のリンクである。用語「ローカルネットワークノード」は、その時点で主な検討対象となっているネットワークノードを指している。用語「リモートネットワークノード」はネットワーク通信リンクによってローカルネットワークノードに接続されるネットワークノードを指している。「接続ハンドル」は、ネットワークノードにおいて通信者、リソース又はサービスとのネットワーク接続を確立するために用いることができるポインタ又は識別子(例えば、ユニフォームリソース識別子(URI))である。「ネットワーク通信」は、ネットワーク接続を介してネットワークノード間で送信されるか、又は別の方法で搬送される任意のタイプの情報(例えば、テキスト、音声、オーディオ、ビデオ、電子メールメッセージ、データファイル、モーションデータストリーム、及びデータパケット)を含むことができる。
【0014】
「リソース」は、ネットワークを介してアクセス可能である任意のタイプの情報(例えば、ウェブページ、ファイル、ストリーミングデータ及びプレゼンスデータ)又はサービス(例えば、別のユーザと通信リンクを確立するサービス)を指している。リソースは、ユニフォームリソース識別子(URI)によって識別することができる。
【0015】
同期会議は、通信者が同時に参加する通信を指している。同期会議は、インスタントメッセージング(例えば、テキストチャット)、オーディオ会議、ビデオ会議、アプリケーション共有、及びファイル共有技術を含む、全てのタイプのネットワーク化された連携技術を含む。
【0016】
「通信者対話」は、通信者と別のネットワークエンティティとの間の任意のタイプの直接的又は間接的な行動又は作用であり、ネットワークエンティティは、例えば、別の通信者、仮想エリア又はネットワークサービスを含む場合がある。例示的なタイプの通信者通信は、通信者同士がリアルタイムに通信すること、通信者が仮想エリアに入ること、及び通信者がネットワークサービスからリソースへのアクセスを要求することを含む。
【0017】
「プレゼンス」は、ネットワーク化されたエンティティ(例えば、通信者、サービス又はデバイス)の通信する能力及び意欲を指しており、そのような意欲は、ネットワーク上でそのエンティティを検出し、そのエンティティの状態についての情報を入手する能力、及びそのエンティティに接続する能力に影響を及ぼす。
【0018】
「リアルタイムデータストリーム」は、連続して流れるように構造化され、処理され、遅延することなく、又は知覚できるほど遅延することなく受信されるように設計されるデータである。リアルタイムデータストリームは、音声、ビデオ、ユーザ動作、顔の表情及び他の物理現象のデジタル表現と、例えば、アバタ動作命令、テキストチャット、リアルタイムデータフィード(例えば、センサデータフィード、機械制御命令フィード、トランザクションストリームフィード及び株式相場情報フィード)及びファイル転送を含む、迅速な送信、迅速な実行又は迅速な送信及び迅速な実行の両方から恩恵を受けることができるコンピューティング環境内のデータとを含む。
【0019】
「リンク」は、2つのネットワークノード間の接続であり、リアルタイム通信のために2つのノードによって割り当てられた最大帯域幅を表す。各リンクは、それぞれのリアルタイムデータストリームを搬送するチャネルに分割される。チャネルは、そのリンクに割り当てられた全帯域幅内で特定のストリームに割り当てられる。
【0020】
「仮想エリア」(本明細書において、「エリア」又は「場所」とも呼ばれる)は、コンピュータ管理空間又はシーンの表現である。仮想エリアは通常、1次元、2次元又は3次元表現である。ただし、実施形態によっては、仮想エリアは単一の点に対応する場合がある。多くの場合に、仮想エリアは、物理的な現実世界空間をシミュレートするように設計される。例えば、従来のコンピュータモニタを用いて、仮想エリアは、3次元コンピュータ生成空間の2次元グラフィックとして視覚化することができる。しかしながら、仮想エリアは、切替規則を実施するための関連する視覚化を必要としない。仮想エリアは通常、仮想エリアスキーマのインスタンスを指しており、スキーマは変数に関する仮想エリアの構造及びコンテンツを定義し、インスタンスは特定のコンテキストから求められた値に関する仮想エリアの構造及びコンテンツを定義する。
【0021】
「仮想エリアアプリケーション」(「仮想エリア仕様」とも呼ばれる)は、仮想環境を生成する際に用いられる仮想エリアの記述である。仮想エリアアプリケーションは通常、仮想エリアの1つ又は複数のゾーンに関連付けられた幾何学形状、物理的現象及びリアルタイム切替規則の定義を含む。
【0022】
「仮想環境」は、少なくとも1つの仮想エリアを含み、通信者間のリアルタイム通信をサポートするコンピュータ管理空間の表現である。
【0023】
「ゾーン」は、少なくとも1つの切替規則又は統治規則に関連付けられた仮想エリアの領域である。「切替規則」は、1つ又は複数の前提条件を受けて、1つ又は複数のリアルタイムデータソース及び1つ又は複数のリアルタイムデータシンクの接続又は切断を規定する命令である。切替規則は、仮想エリアとの関連で通信するネットワークノード間のリアルタイムデータストリームの切替(例えば、ルーティング、接続及び切断)を制御する。統治規則は、リソース(例えば、エリア、エリアの領域、又はそのエリア若しくは領域のコンテンツ)への通信者のアクセス、そのアクセスの範囲、及びそのアクセスの後続の結果(例えば、そのアクセスに関連する監査レコードを記録しなければならないという要件)を制御する。「描画可能ゾーン」は、個々の視覚化に関連付けられたゾーンである。
【0024】
仮想エリア内の「位置」は、仮想エリア内の点、又は面積、又は体積のロケーションを指している。点は通常、仮想エリア内のスポットを画定する1組の1次元、2次元、又は3次元座標(例えば、x、y、z)によって表される。面積は通常、仮想エリア内の閉じた2次元形状の境界を画定する3つ以上の同一平面上にある頂点の3次元座標によって表される。体積は通常、仮想エリア内の3次元形状の閉じた境界を画定する4つ以上の同一平面上にない頂点の3次元座標によって表される。
【0025】
「空間状態」は、仮想エリアにおいてユーザがプレゼンスを有する場所を記述する属性である。空間状態属性は通常、ユーザがプレゼンスを有するゾーンごとにそれぞれの値(例えば、zone_ID値)を有する。
【0026】
「通信状態」は、通信者のそれぞれが通信するように構成されるそれぞれの通信チャネルの状態を記述する属性である。
【0027】
仮想エリアとの関連において、「オブジェクト」(「プロップ」と呼ばれる場合もある)は、仮想エリアの幾何学形状とは別に有効に処理することができる、仮想エリア内の任意のタイプの個別要素である。例示的なオブジェクトはドア、門、窓、表示画面及びスピーカフォンを含む。オブジェクトは通常、仮想エリアの属性及び特性とは別の異なる属性又は特性を有する。「アバタ」は、仮想エリア内の通信者を表すオブジェクトである。
【0028】
用語「統計解析」は、一般化若しくは推定を行うか、予測モデルの変数の値を求めるか、データを要約する1つ若しくは複数の測定基準を決定するか、又はデータの1つ若しくは複数の態様若しくは主題を分類する目的でデータを解析するプロセスを指している。
【0029】
本明細書において用いられるときに、用語「〜含む」は、「限定はしないが、〜含む」を意味し、用語「〜を含んでいる」は、「限定はしないが、含んでいる」を意味する。用語「〜に基づく」は、「〜に少なくとも部分的に基づく」を意味する。
【0030】
II.ネットワーク通信環境において通信者対話を促進すること
A.序論
本明細書において記述される実施形態は、ネットワーク通信環境において通信者対話を促進するための改善されたシステム及び方法を提供する。詳細には、これらの実施形態は、異なる通信コンテキストにわたる通信者のコンタクトのリアルタイムの応対可能性(availability)及び活動のリアルタイムの視覚化を提供する。この視覚化は通常、通信者のコンタクトによって実行されるリアルタイムの活動を示す視覚的合図を含む。リアルタイムの視覚化によって与えられる情報は、通信者が、より多くの情報に基づいてネットワーク対話の判断(例えば、コンタクトと対話する時点の判断)を行うことを可能にし、通信者が他の通信者との対話を開始し、その情報がなければ通信者が認識していなかったコンテキスト(例えば、通信者間の継続中の会話)に加わるのを助長する。幾つかの実施形態は、通信者のコンタクトを、異なるサーバアプリケーションに対するそれぞれの状況に従って複数のグループに振り分けられる図像的アバタとして示す。例えば、通信者のコンタクトは、異なるサーバアプリケーションに対するそれぞれのメンバーシップ状況及び/又はプレゼンス状況に従ってグループ分けすることができる。加えて、幾つかの実施形態は、リアルタイムネットワーク化通信上に空間メタファを適用する。空間メタファは、リアルタイムネットワーク化通信に関与する通信者の現在の通信状態のコンテキストの追加の視覚的合図を与える。空間メタファは、リアルタイムネットワーク化通信に参加するために通信者によって用いられる種々のインタフェース要素の提示を編成するためのコンテキストも提供する。
【0031】
図1は、例示的なネットワーク通信環境10の一実施形態を示しており、そのネットワーク通信環境は、ネットワーク20によって相互接続される、第1のクライアントネットワークノード12(クライアントノードA)と、第2のクライアントネットワークノード14(クライアントノードB)と、仮想環境クリエータ18とを含む。ネットワーク20は、ローカルエリアネットワーク(LAN)、メトロポリタンエリアネットワーク(MAN)、及びワイドエリアネットワーク(WAN)(例えば、インターネット)のいずれかを含むことができる。ネットワーク20は通常、ネットワークノード間での多種多様の異なる媒体タイプ(例えば、テキスト、音声、オーディオ及びビデオ)の送信をサポートする幾つかの異なるコンピューティングプラットフォーム及び移送設備を含む。
【0032】
第1のクライアントネットワークノード12は、有形のコンピュータ可読メモリ22と、プロセッサ24と、入出力(I/O)ハードウェア26(ディスプレイを含む)とを含む。プロセッサ24は、メモリ22に記憶される少なくとも1つの通信アプリケーション28を実行する。第2のクライアントネットワークノード14は通常、第1のクライアントネットワークノード12と全体として概ね同じように構成され、少なくとも1つの通信アプリケーション32を記憶する有形のコンピュータ可読メモリ30と、プロセッサ34と、入出力(I/O)ハードウェア36(ディスプレイを含む)とを備えている。
【0033】
各ネットワークノード12、14は、それぞれの1組の1つ又は複数のソースと、例示的な1組の1つ又は複数のシンクとを有する。各ソースは特定のデータストリームコンテンツタイプのデータを発信するデバイス又はコンポーネントであり、各シンクは特定のデータストリームコンテンツタイプのデータを受信するデバイス又はコンポーネントである。同じデータストリームコンテンツタイプのソース及びシンクは、本明細書において「相補的」であると呼ばれる。例示的なソースは、オーディオソース(例えば、マイクロフォンのようなオーディオキャプチャデバイス)、ビデオソース(例えば、ビデオカメラのようなビデオキャプチャデバイス)、チャットソース(例えば、キーボードのようなテキストキャプチャデバイス)、モーションデータソース(例えば、コンピュータマウスのようなポインティングディバイス)、及び他のソース(例えば、ファイル共有ソース、カスタマイズされたリアルタイムデータストリームのソース)を含む。例示的なシンクは、オーディオシンク(例えば、スピーカ又はヘッドフォンのような、オーディオレンダリングデバイス)、ビデオシンク(例えば、ディスプレイモニタのような、ビデオレンダリングデバイス)、チャットシンク(例えば、ディスプレイモニタのような、テキストレンダリングデバイス)、モーションデータシンク(例えば、ディスプレイモニタのような、動きレンダリングデバイス)、及び他のシンク(例えば、共有ファイルを印刷するためのプリンタ、上記のものとは異なるリアルタイムデータストリームをレンダリングするためのデバイス、又は解析若しくはカスタマイズされたディスプレイのためのリアルタイムストリームを処理するソフトウェア)を含む。
【0034】
各ソースは、データを発信するためにソースが利用可能であるアクティブ状態と、データを発信するためにソースが利用可能でない非アクティブ状態とを有する。同様に、各シンクは、データを受信するためにシンクが利用可能であるアクティブ状態と、データを受信するためにシンクが利用可能でない非アクティブ状態とを有する。ソース及びシンクの状態は通常、通信アプリケーション28、32によって提供される制御を介して、クライアントノード12、14を運用している通信者によって制御することができる。例えば、幾つかの実施形態では、通信アプリケーション28、32は、クライアントネットワークノード12、14上のローカルマイクロフォン及びローカルスピーカ(例えば、ヘッドセット)をオン/オフするためのユーザ制御を提供する。
【0035】
仮想環境クリエータ18は、ネットワークインフラストラクチャサービス環境42を提供し、異なるサーバアプリケーション44をホスティングする少なくとも1つのサーバネットワークノード40を含む。クライアントノード12、14からそれぞれ動作する通信者は、通信アプリケーション28、32を通じて、サーバアプリケーション44に接続する。サーバアプリケーション44のうちの1つ又は複数は通常、同期会議サーバアプリケーションであり、同期会議サーバアプリケーションは、クライアントノード12と14との間の1つ又は複数のタイプの通信(例えば、インスタントメッセージング−例えば、テキストチャット、オーディオ会議、ビデオ会議、アプリケーション共有及びファイル共有)をサポートする。ネットワークインフラストラクチャサービス環境42は通常、通信者間の対話のレコード48、及び通信者のそれぞれに関連付けられたソーシャルネットワークプロファイル50を含む関係データベース46を保持する。各対話レコード48は、一対の通信者間の対話のコンテキストを記述する。各ソーシャルネットワークプロファイル50は通常、それぞれの通信者、又はその通信者によって想定される人物を記述する識別情報特性(例えば、名前、年齢、性別及び郵便宛先のような地理的ロケーション情報)、通信者によって宣言される明示的な関係情報、及びネットワーク通信環境10における通信者の対話から推定される関係情報を含む。
【0036】
クライアントノード12、14においてそれぞれ動作している通信アプリケーション28、32は通常、ソフトウェアリソース及びハードウェアリソースを含み、それらのリソースは、管理方針、ユーザプリファレンス(ユーザのプレゼンスのエクスポーテーション、並びにユーザとサーバアプリケーション及び他のユーザとの接続に関するプリファレンスを含む)、及び他の設定とともに、他のネットワークノードとのリアルタイム接続の管理に影響を及ぼすローカル構成を定義する。
【0037】
ネットワークノード間のネットワーク接続は、ピアツーピアアーキテクチャ、サーバ仲介アーキテクチャ、及びピアツーピアアーキテクチャの態様とサーバ仲介アーキテクチャの態様とを組み合わせるハイブリッドアーキテクチャを含む、種々の異なるストリームハンドリングトポロジにおいて構成することができる。これらのタイプの例示的なトポロジは、2007年10月24日に出願の米国特許出願第11/923,629号、2007年10月24に出願の米国特許出願第11/923,634号及び2009年12月4日に出願の米国特許出願第12/630,973号において記述されている。
【0038】
幾つかの実施形態において、サーバネットワークノード(複数の場合もある)40は、2010年6月29に出願の米国特許出願第12/825,512号において記述されているストリームトランスポートプロトコルに従って、リモートでホスティングされるサーバアプリケーション44からクライアントネットワークノードに命令(定義とも呼ばれる)を送信することによって、クライアント通信セッションを遠隔管理し、クライアントネットワークノード12、14上のオーディオ及びグラフィックレンダリングエンジン、並びにデータストリームの切替を遠隔構成する。これらの実施形態のうちの幾つかの実施形態では、サーバノード(複数の場合もある)40は、サーバアプリケーション44において規定される切替規則に従ってその相補的なソース及びシンクのうちのアクティブソースとアクティブシンクとの間でそれぞれのデータストリームを相互接続するようにクライアントノード12、14を構成するプロビジョニングメッセージを、各クライアントノード12、14に送信する。
【0039】
通信アプリケーション28、32、サーバアプリケーション44及びネットワークインフラストラクチャサービス環境42は合わせて、ネットワークノード12、14上で動作する通信者間の通信を管理するためのプラットフォーム(本明細書において、「プラットフォーム」と呼ばれる)を提供する。プラットフォームは、サーバアプリケーション44によって定義される異なる通信コンテキストにわたって通信者のリアルタイムの応対可能性及び活動を追跡する。この情報はリアルタイムの視覚化の形で通信者に提示され、リアルタイムの視覚化は、通信者がより多くの情報に基づいてネットワーク対話の判断(例えば、コンタクトと対話する時点の判断)を行うことを可能にし、通信者が他の通信者との対話を開始し、その情報がなければ通信者が認識していなかったコンテキスト(例えば、通信者間の継続中の会話)に加わるのを助長する。幾つかの実施形態では、リアルタイムの視覚化は、サーバアプリケーションとの関連における通信者のプレゼンス及び活動に関する視覚的合図を含む。これらの視覚的合図の提示は通常、サーバアプリケーションによって設定される統治規則、管理方針及びユーザプリファレンス(ユーザのプレゼンスのエクスポーテーション、並びにユーザとエリア及び他のユーザとの接続に関するプリファレンスを含む)のうちの1つ又は複数に依拠する。加えて、ユーザの詳細及び対話性のレベルは、ユーザが特定のサーバアプリケーション又はサーバアプリケーションの特定のゾーンのメンバであるか否か、及び/又は特定のサーバアプリケーション若しくはサーバアプリケーションの特定のゾーンにおいてプレゼンスを有するか否かに依拠する場合がある。
【0040】
B.コンタクト応対可能性及び活動のリアルタイムの視覚化
図2は、ネットワーク通信環境10の例示的な実施形態52を示しており、その仮想環境クリエータは3つのサーバアプリケーション54、56、58を含み、それらのサーバアプリケーションにそれぞれ1組の通信者C1A、C2A、C3A、C1B、C2B、C1C、C2C及びC3Cが接続される。この例では、通信者C2A、C1B、C1C及びC3C(色付きの丸によって表される)は、通信者C3Aのコンタクトである。プラットフォームは、C3Aのために、サーバアプリケーション54〜58によって定義される異なる通信コンテキストにわたって通信者C3Aのコンタクトのリアルタイムの応対可能性及び活動の視覚化を作成する。詳細には、プラットフォームは、グラフィカルユーザインタフェース60を作成し、グラフィカルユーザインタフェース60は、通信コンテキストのそれぞれにおけるC3Aのコンタクトを示し、通信者はそれぞれのグラフィカル表現(すなわち、アバタ)によって表される。したがって、コンタクトC2Aは、アプリケーションAとの関連で、同じくアプリケーションAに接続される通信者C1A及びC3Aとともに示される。コンタクトC1Bは、アプリケーションBとの関連で、同じくアプリケーションBに接続される通信者C2Bとともに示される。コンタクトC1C及びC3Cは、アプリケーションCとの関連で、同じくアプリケーションCに接続される通信者C2Cとともに示される。このようにして、通信者C3Aは、自分のコンタクトのいずれが通信及び他の対話に応対可能であるかを突き止め、かつ自分のコンタクトが接続されるサーバアプリケーション、並びに自分のコンタクトが現在、他の通信者と対話中であるか否か及びそれらの通信者の識別情報を含む、自分のコンタクトの応対可能性に関する現在のコンテキストを突き止めることができる。
【0041】
グラフィカルユーザインタフェース60は、それを介して通信者が通信するように構成される種々の通信チャネルの状態も示す。例えば、通信者のローカルスピーカチャネルの「オン」又は「オフ」状態が、通信者のグラフィック表現66上のヘッドフォングラフィック64の存否によって描写される。通信者のスピーカがオンであるとき、ヘッドフォングラフィック64が存在し、通信者のスピーカがオフであるとき、ヘッドフォングラフィック64は存在しない。通信者のマイクロフォンの「オン」又は「オフ」状態は、通信者のグラフィック表現上のマイクロフォングラフィック67の存否、及び一連の広がりつつある波として通信者のグラフィック表現から動的に放射状に広がる一連の同心円68によって示される。マイクロフォンがオンであるとき、マイクロフォングラフィック67及び放射状に広がる同心円68が存在し、マイクロフォンがオフであるとき、マイクロフォングラフィック67及び放射状に広がる同心円68が存在しない。ヘッドフォングラフィック64、マイクロフォングラフィック67及び放射状に広がる同心円68は、通信者のサウンド再生及びマイクロフォンデバイスの状態の視覚的合図としての役割を果たす。通信者のテキストチャットチャネルの「オン」又は「オフ」状態は、通信者のグラフィック表現に隣接するハンドグラフィック69の存否によって示される。通信者がテキストチャットデータを別のネットワークノードに送信しているとき、ハンドグラフィック69が存在し、通信者がテキストチャットデータを送信していないとき、ハンドグラフィック69は存在しない。幾つかの実施形態では、テキストチャットデータは、キーボードキーが押下されたときにのみ送信され、その場合に通信者のテキストチャネルの視覚化が、ハンドグラフィック69の点滅として現れる。人間ペイン62内に示される視覚的合図から、通信者は、通信者が通信に応対可能であるか否かを推定することができ、通信者が現在、別の通信者と通信しているか否かを推定することができる。
【0042】
図3は、異なる通信コンテキストにわたって対象通信者(この例では「アート」)のコンタクトのうちの幾つか又は全てのリアルタイムの応対可能性及び活動を示すグラフィカルユーザインタフェースの別の実施形態70を示す。グラフィカルユーザインタフェース70は、アートが動作しているクライアントネットワークノードのディスプレイ上に生成される。グラフィカルユーザインタフェース70は、2つのサーバアプリケーショングループ72、74及びコンタクトグループ76にセグメント化されたアートの通信者を示す。サーバアプリケーショングループ72、74は、アートがそのメンバであり、かつアート及びアートのコンタクトのうちの少なくとも一方が存在する各サーバアプリケーションに対応する。コンタクトグループ76は、サーバアプリケーショングループのいずれにも表されないアートのコンタクトの全て又は選択された部分を含む。通信者の第1のサーバアプリケーショングループ72は、「アプリケーション1」と題するヘッダバーを付されたセクション78内に含まれており、サーバアプリケーション「アプリケーション1」内にプレゼンスを有する全ての通信者を識別する。通信者の第2のサーバアプリケーショングループ74は、「アプリケーション2」と題するヘッダバーを付されたセクション80内に含まれており、サーバアプリケーション「アプリケーション2」内にプレゼンスを有する全ての通信者を識別する。通信のコンタクトグループ76は、「コンタクト」と題するヘッダバーを付されたセクション82内に含まれており、第1のサーバアプリケーショングループ72及び第2のサーバアプリケーショングループ74のいずれにも示されないアートの全てのコンタクト(すなわち、コンタクトはアプリケーション1及びアプリケーション2のいずれのメンバでもないか、又はいずれにも存在しない)を識別する。各ヘッダバーは、それぞれのトグル制御84、86、88を含み、関連するセクション78、80、82を選択的に折り畳み、展開するようにトグルすることができる。
【0043】
図3に示される例示的な実施形態では、サーバアプリケーションセクション78、80は、それぞれのサーバアプリケーションにおいて現在プレゼンスを有する通信者(アート及びアートのコンタクトのうちの少なくとも1人を含む)のグラフィカル表現(アバタ)を含み、コンタクトセクション82は、アプリケーション1及びアプリケーション2のいずれにも存在しないか、又はいずれのメンバでもないアートのコンタクトの残りの全てのグラフィカル表現(すなわち、アバタ)を含む。図示される例では、アート及びベスはサーバアプリケーション1のメンバであり、アート、カール及びダンはサーバアプリケーション2のメンバであり、エドはサーバアプリケーション2のゲストであり、フラン、ガース、ヘレン、ジャック及びキムはサーバアプリケーション1、サーバアプリケーション2のいずれのメンバでもない。この例では、ダン、フラン、ガース、ヘレン、ジャック及びキムはアートのコンタクトであるのに対して、ベス、カール及びエドはアートのコンタクトではない。
【0044】
各通信者は、通信者のそれぞれのユーザ名(すなわち、「アート」、「ベス」、「カール」、「ダン」、「エド」、「フラン」、「ガース」、「ヘレン」、「ジャック」、及び「キム」)を付された円形のスプライトのそれぞれによってグラフィック表示される。各スプライトは通信者についての付加情報を含む状況ラインのそれぞれと関連付けることもできる。幾つかの実施形態では、各状況ラインは、以下の情報のうちの1つ又は複数を含むことができる:プレゼンスのロケーション(例えば、サーバアプリケーション又はそのサーバアプリケーションのゾーン);応対可能性(例えば、ビジー、アイドル);状況メッセージ(例えば、「来週の水曜日に職場に不在」);及び通信者が動作しているクライアントノードの名称(例えば、「ワークステーション1」又は「移動電話」)。幾つかの実施形態では、各セクション78、80、82内の通信者のアバタの空間的位置の順序(例えば、上から下まで)はユーザ名のアルファベット順である。他の実施形態では、各サーバアプリケーションセクション78、80内の通信者アバタの空間的位置は、通信者がサーバアプリケーションでそのプレゼンスを確立した時刻に関する通信者の時間順に従って順序付けられる。コンタクトセクション82内の通信者アバタの空間的位置は、ユーザ名のアルファベット順に、又はコンタクトの頻度によって、又はコンタクトの最新性によって、又は他の並べ替え及びフィルタリング判定基準によって並べ替えることができる。
【0045】
サーバアプリケーションとの関連における通信者の活動は、通信者のそれぞれが通信するように構成される種々の通信チャネルの状態から推定することができる。通信チャネルの状態は、セクション78、80、82内の通信者のグラフィカル表現に関連して描写される視覚的合図によってグラフィカルユーザインタフェース70内に示される。
図2に示される実施形態と同様に、通信者のローカルスピーカチャネルの「オン」又は「オフ」状態が、通信者のスプライト上のヘッドフォングラフィック90の存否によって描写される。スプライトによって表される通信者のスピーカがオンであるとき、ヘッドフォングラフィック90が存在し(アート、カール及びダンのスプライトを参照)、通信者のスピーカがオフであるとき、ヘッドフォングラフィック90は存在しない(ベス及びエドのスプライトを参照)。通信者のマイクロフォンの「オン」又は「オフ」状態は、通信者のスプライト上のマイクロフォングラフィック90の存否によって描写される。マイクロフォンがオンであるとき、マイクロフォングラフィック90が存在し(ダンのスプライトを参照)、マイクロフォンがオフであるとき、マイクロフォングラフィック90は存在しない(アート、ベス、カール及びエドのスプライトを参照)。ヘッドフォングラフィック90及びマイクロフォングラフィック92は、通信者のサウンド再生及びマイクロフォンデバイスの活動状態の視覚的合図を与える。通信者のテキストチャットチャネルの活動状態は、通信者のスプライト(ベスのスプライトを参照)に隣接するハンドグラフィック94の存否によって描写される。したがって、通信者がテキストチャットデータを別のネットワークノードに送信しているとき、ハンドグラフィック94が存在し、通信者がテキストチャットデータを送信していないとき、ハンドグラフィック94は存在しない。幾つかの実施形態では、テキストチャットデータは、キーボードキーが押下されたときにのみ送信され、その場合に、通信者のテキストチャネルの視覚化が、ハンドグラフィック94の点滅として現れる。
【0046】
図3に示される例では、サーバアプリケーションのメンバは、メンバが存在しても、しなくても、そのサーバアプリケーションとの関連で生じる通信者活動の視覚的合図を受信することができる。したがって、アートに提示されるグラフィカルユーザインタフェース70は、アプリケーション1(アートが存在するアプリケーション)内に存在する通信者の通信チャネル状態、及びアプリケーション2(アートが存在しないアプリケーション)内に存在する通信者の通信チャネル状態を示す視覚的合図を示す。
【0047】
グラフィカルユーザインタフェース70では、アートのコンタクトは、サーバアプリケーション及びコンタクトグループ72〜76の中で繰り返されない。他の実施形態では、コンタクトグループ76は、サーバアプリケーショングループ72、74のいずれかに含まれるか否かにかかわらず、アートの全てのコンタクトを含むことができる。例えば、
図4は、グラフィカルユーザインタフェース70の実施形態106を示しており、コンタクトセクション82は、アートのコンタクトの全て又は選択された部分を含むコンタクトグループ108を含む。図示される例では、ダンは、サーバアプリケーション2グループ74及びコンタクトグループ108の両方において現れる。
【0048】
図5は、グラフィカルユーザインタフェース70の別の実施形態110を示しており、異なる通信コンテキストにわたる対象通信者(この例では、「アート」)のコンタクトのうちの幾つか又は全てのリアルタイムの応対可能性及び活動を描写する。この実施形態では、アートがそのメンバであり、かつアート及びアートのコンタクトのうちの少なくとも一方が存在するサーバアプリケーションごとに、サーバアプリケーションに対するそのプレゼンスの状況によって、サーバアプリケーションのメンバがセグメント化される。したがって、アプリケーション1のメンバは、存在グループ112及び不在グループ114に振り分けられ、アプリケーション2のメンバは存在グループ116及び不在グループ118に振り分けられる。このようにして、アートは、各サーバアプリケーションにおいて誰が存在し、どのメンバが不在であるかを容易に視覚化することができる。各グループ112〜118はトグル制御120、122、124、126のそれぞれに関連付けられたそれぞれの「存在」ラベル又は「不在」ラベルを付され、それは関連するグループ112〜114を選択的に折り畳み、展開するようにトグルすることができる。
【0049】
図6は、グラフィカルユーザインタフェース110の一実施形態128を示しており、異なる通信コンテキストにわたる対象通信者(この例では、「アート」)のコンタクトのうちの幾つか又は全てのリアルタイムの応対可能性及び活動を描写する。このグラフィカルユーザインタフェース実施形態は、グラフィカルユーザインタフェース110に対応するが、付加的な「共同プレゼンスゾーン」サーバアプリケーションフィルタリング判定基準を含むこと、及びコンタクトグループ内に列挙される通信者をフィルタリングするための付加的なフィルタリング判定基準を含むことが異なる。
【0050】
共同プレゼンスゾーンフィルタリング判定基準は、サーバアプリケーションの特定のゾーン内に共存する通信者を識別する。したがって、サーバアプリケーションごとに、サーバアプリケーションの同じゾーン内に存在する2人以上の通話者からなる各グループが、グラフィカルユーザインタフェース128の別の選択的に展開可能及び折り畳み可能な共同プレゼンスゾーンエリア130内に列挙される。アートのコンタクトのうちの幾つか又は全てを含む共同プレゼンスゾーンを描写することによって、アートは、アートがそのメンバであるサーバアプリケーションによって定義される通信コンテキストの全てにわたって生じている全ての会話を容易に視覚化できるようになる。このようにして、アートは、自分が参加したい任意の継続中の会話が存在するか否かを判断することができる。
【0051】
更なるフィルタリング判定基準は、アートのコンタクトがアートとの対話のそれぞれの頻度によって並べ替えられる頻繁コンタクトグループ132と、アートのコンタクトがアートとの対話のそれぞれの最新性によって並べ替えられる最新コンタクトグループ134と、アートのコンタクトがサードパーティサービス(インスタントメッセージングアプリケーション又はソーシャルネットワーク等)によって定義される異なるカテゴリに従ってフィルタリングされる一対のサードパーティカテゴリ136、138と、現在オンラインである(すなわち、ネットワーク20に接続されている)全てのアートのコンタクトを列挙するオンラインコンタクトグループ140と、現在オフラインである(すなわち、ネットワーク20から切断されている)全てのアートのコンタクトを列挙するオフラインコンタクトグループ142とを含む。
【0052】
各グラフィカルユーザインタフェースの実施形態70、106、110及び128(
図3〜
図6を参照)は、チャットボタン98、ゲットボタン100、招待ボタン102及びアカウントボタン104を含む、それぞれのツールバー96を含む。これらの制御ボタンの選択によって呼び出すことができる機能が、
図7A〜
図7Cとの関連で以下に説明される。
【0053】
チャットボタン98(
図7A)を選択することによって、チャットウインドウ150(
図7B)が開き、そのウインドウによって、アートは、アートが存在するサーバアプリケーション(すなわち、図示される例ではアプリケーション1)内に存在する他の通信者とのチャットを開始できるようになる。チャットボタン98の選択に応答して、別のチャットウインドウ150が開く。チャットウインドウ150は、ツールバー152、チャットログエリア154、テキストボックス156及び送信ボタン158を含む。チャットウインドウ150は、統合された人間ペイン159も含む。その方法の実施形態、及びチャットボタン98によって呼び出される機能に関する更なる詳細は、2009年1月15日に出願の米国特許出願第12/354,709号の§IV.B.2において記述されている。
【0054】
ゲットボタン100(
図7A)を選択することによって、ゲットウインドウ160(
図7C)が開き、そのウインドウによって、アートは、1人又は複数人の通信者を選択されたロケーション161(例えば、サーバアプリケーション又はそのサーバアプリケーション内のゾーン)に招待できるようになる。アートの現在の活動中心(focus)以外のサーバアプリケーションごとに、ゲットボタンがクリックされたときに、ゲットウインドウ160は、コンタクトリスト110内の選択された人々を列挙する受取人フィールド162を含む。加えて、アートは受取人フィールドに任意の電子メールアドレス、名前又は他のハンドルを打ち込むことができる。システムは、電子メールアドレス、名前又は他のハンドルを探索し、(システムがその電子メールアドレス、名前又は他のハンドルを認識する場合には)受取人フィールド内のその受取人のアバタを着色する。送信ボタン166の選択に応答して、プラットフォームは、選択された各通信者に、選択されたロケーション161においてアートと合流するためのそれぞれの招待状を送信する。そのメッセージは、その時点における受取人の応対可能性に応じて、チャットメッセージ又は電子メールメッセージ(又はその両方)によって受取人に送信される。アートは、招待状とともにメッセージ168(例えば、「アプリケーション1において私と合流して下さい」)を含むオプションを有する。
【0055】
招待ボタン102を選択することによって、招待ウインドウ(図示せず)が開き、そのウインドウによって、アートは、現在のサーバアプリケーション内に存在しない通信者を現在のサーバアプリケーションに招待できるようになる。応対可能な通信者のリスト内の通信者のうちの1人又は複数人をアートが選択するのに応答して、プラットフォームは、選択された通信者に、それぞれのサーバアプリケーション又はゾーンにおいてアートに合流するための招待状を送信する。その方法の実施形態、及び招待ボタン102によって呼び出される機能に関する更なる詳細は、コンタクトウインドウの取得ボタンとの関連において、2009年1月15日に出願の米国特許出願第12/354,709号の§IV.B.4において記述されている。
【0056】
アカウントボタン104を選択することによって、アカウントウインドウ(図示せず)が開き、そのウインドウによって、アートは自分のアカウント情報を管理できるようになる。
【0057】
また、アートは、グラフィカルユーザインタフェース70、106、110及び128内に列挙される通信者のグラフィカル表現のいずれかにマウスオーバし、通信者のそれぞれについての追加情報を表示させることができる。例えば、
図7Aに示されるように、キムのスプライト170にマウスオーバするのに応答して、キムについての情報を表示する情報ウインドウ172が提示される。この例では、情報ウインドウ172は、キムからのメッセージ(すなわち、「来週の水曜日に職場に不在」)、ローカル時間情報、ロケーション情報及びハイパーテキストリンクを示す。また、情報ウインドウ172は、キムとのチャットを開始するためのチャットボタンと、キムを選択されたロケーションに招待するゲットボタンとを有するツールバーも含む。その方法の実施形態、及びチャットボタン及びゲットボタンによって呼び出される機能に関する更なる詳細は、2009年1月15日に出願の米国特許出願第12/354,709号の§§IV.B.2及びIV.B.4において記述されている。
【0058】
C.通信者とネットワーク通信環境とのインタフェース接続
1.概説
図8は、プラットフォームが、クライアントノード12、14のそれぞれを運用している対象通信者と、ネットワーク通信環境内の他の通信者との間の対話を促進する方法の例示的な実施形態を示す。この方法によれば、対象通信者は、クライアントノードにサーバアプリケーション44のうちの対象サーバアプリケーションに接続するように指示する(
図8、ブロック174)。対象サーバアプリケーションをホスティングするサーバノードは、対象通信者に関連する通信者を突き止める(
図8、ブロック176)。サーバノードは、異なるサーバアプリケーション44に対する関連する通信者の状況を特定する(
図8、ブロック178)。サーバノードは、対象通信者に、関連する通信者及び関連する通信者の特定された状況の指示を送信する(
図8、ブロック180)。クライアントノードは、関連する通信者のグラフィカル表現、及び異なるサーバアプリケーションへの接続に対する関連する通信者の状況のグラフィカル指示をディスプレイ上に表示する(
図8、ブロック184)。
【0059】
上記で説明されたように、幾つかの実施形態では、複数の異なるサーバアプリケーションがそれぞれ、それぞれの通信者間の同期会議を実施できるようにする。
【0060】
サーバアプリケーションのうちの所与のサーバアプリケーションが、通信者のそれぞれがそれぞれと関連付けられることができる複数のゾーンを有することができる。これらの実施形態では、サーバノードは通常、対象通信者に、関連する通信者のそれぞれが、所与のサーバアプリケーションのゾーンのうちのいずれに関連付けられているかの指示を送信する。関連する通信者ごとに、サーバノードは、関連する通信者が少なくとも1人の他の通信者と共存する各ゾーンを特定することができ、サーバノードは、対象通信者に、関連する通信者の特定されたメンバーシップの指示を送信する。幾つかの実施形態(以下に説明される)では、所与のサーバアプリケーションの各ゾーンは、物理的環境の要素の、グラフィカル表現のそれぞれに関連付けられる。例えば、所与のサーバアプリケーションの各ゾーンは、オフィス環境の物理的空間の、グラフィカル表現のそれぞれに関連付けることができる。
【0061】
幾つかの実施形態では、サーバノードは、関連する通信者ごとに、関連する通信者がメンバーシップを有する各サーバアプリケーションを特定することができ、サーバノードは、対象通信者に、関連する通信者の特定されたメンバーシップの指示を送信する。
【0062】
関連する通信者を突き止めると(
図8、ブロック176)、サーバノードは、サーバアプリケーションのそれぞれに関連して対象通信者が対話した通信者を関連する通信者として識別することができる。このプロセスでは、サーバノードは、サーバアプリケーションのそれぞれに関連して与えられるリアルタイム通信機能を通じて対象通信者が通信した通信者を関連する通信者として識別することができる。リアルタイム通信機能は、オーディオ通信機能、ビデオ通信機能、リアルタイムテキストチャット通信機能、及びファイル共有通信機能のうちの少なくとも1つを含むことができる。
【0063】
関連する通信者を突き止めると、サーバノードは、対象者がコンタクトとして要求した通信者を「関連する通信者」として識別することができる。
【0064】
サーバノードは、対象通信者に、ネットワーク通信環境に現在接続されている関連する通信者の指示と、ネットワーク通信環境に現在接続されていない関連する通信者のそれぞれの指示とを送信することができる。
【0065】
幾つかの実施形態では、関連する通信者の状況を特定するプロセス(
図8、ブロック178)は、関連する通信者ごとに、関連する通信者がプレゼンスを有する各サーバアプリケーションを特定することを含む。サーバノードは通常、対象通信者に、関連する通信者のそれぞれが、サーバアプリケーションのうちのいずれにプレゼンスを有するかの指示を送信する。幾つかの実施形態では、サーバアプリケーションのうちの所与のサーバアプリケーションが、通信者のそれぞれがそれぞれのプレゼンスをそれぞれと確立することができる複数のゾーンを有し、関連する通信者ごとに、サーバノードは、関連する通信者がプレゼンスを有する所与のサーバアプリケーションの各ゾーンを特定し、対象通信者に、関連する通信者のそれぞれが、所与のサーバアプリケーションのゾーンのうちのいずれにプレゼンスを有するかの指示を送信する。
【0066】
幾つかの実施形態では、サーバノードは関連する通信者を並べ替え、並べ替えたことの指示を対象通信者に送信する。幾つかの実施形態では、並べ替えは、関連する通信者のそれぞれが関連付けられたサーバアプリケーションに従って、関連する通信者をサーバアプリケーショングループにグループ分けすることを含む。各サーバアプリケーショングループ内で、サーバノードは、サーバアプリケーションのそれぞれへの接続の状況によって、又はネットワーク通信環境内の対象通信者との対話の頻度によって、又はネットワーク通信環境内の対象通信者との対話の最新性によって、関連する通信者のそれぞれを並べ替えることができる。幾つかの実施形態では、サーバアプリケーションのうちの所与のサーバアプリケーションが、通信者のそれぞれがそれぞれのプレゼンスをそれぞれと確立することができる複数のゾーンを有する。これらの実施形態では、グループ分けすることは、所与のサーバアプリケーションに関連付けられた関連する通信者のそれぞれを、関連する通信者のそれぞれが関連付けられた所与のサーバアプリケーションのゾーンに従って、ゾーングループにグループ分けすることを含むことができる。グループ分けすることは、関連する通信者のうちの少なくとも2人が共存するゾーンに従って、所与のサーバアプリケーションに関連付けられた関連する通信者をそれぞれグループ分けすることを含むことができる。幾つかの実施形態では、並べ替えることは、対象通信者が所与のサーバアプリケーションのゾーンのうちのいずれのプレゼンスを有するかに従って、ゾーングループを並べ替えることを含む。幾つかの実施形態では、並べ替えることは、サーバアプリケーションのそれぞれとのそれぞれの接続状況に従って、関連する通信者をグループ分けすることを含む。並べ替えることは、サーバアプリケーションの全てに接続されていない関連する通信者を同じグループにグループ分けすることを含む。
【0067】
幾つかの実施形態では、サーバノードは、関連する通信者のそれぞれのリアルタイム活動状態を特定し、特定されたリアルタイム活動状態の指示を対象通信者に送信する。特定することは、関連する通信者のそれぞれのリアルタイム通信活動(例えば、オーディオ通信活動、ビデオ通信活動、リアルタイムテキストチャット活動及びファイル共有活動)を特定することを含むことができる。
【0068】
幾つかの実施形態では、サーバノードは、サーバアプリケーションのそれぞれに関連して関連する通信者のそれぞれと通信するために利用可能である通信チャネルを特定する。これらの実施形態では、サーバノードは、対象通信者に、関連する通信者のそれぞれに、かつサーバアプリケーションのそれぞれに関連して、特定された通信チャネルの指示を送信する。利用可能な通信チャネルを特定することは、関連する通信者のそれぞれのリアルタイム通信能力と、サーバアプリケーションのそれぞれによって可能にされるリアルタイム通信機能とを比較することを含む。幾つかの実施形態では、リアルタイム通信チャネルは、オーディオ通信チャネル、ビデオ通信チャネル、リアルタイムテキストチャットチャネル及びファイル共有チャネルのうちの少なくとも1つを含む。
【0069】
幾つかの実施形態では、クライアントノードによって受信した指示(
図8、ブロック182)は、関連する通信者のそれぞれが、サーバアプリケーションのうちのいずれのプレゼンスを有するかの指示を含む。これらの実施形態では、クライアントノードは通常、関連する通信者がプレゼンスを有する各サーバアプリケーションに関連して、関連する通信者のグラフィカル表現を表示する。幾つかの実施形態では、サーバアプリケーションのうちの所与のサーバアプリケーションが、通信者のそれぞれがそれぞれのプレゼンスをそれぞれと確立することができる複数のゾーンを有する。これらの実施形態では、クライアントノードによって受信される指示は通常、関連する通信者ごとに、関連する通信者がプレゼンスを有する所与のサーバアプリケーションの各ゾーンのそれぞれの指示を含む。この場合、クライアントノードは通常、関連する通信者がプレゼンスを有する所与のサーバアプリケーションの各ゾーンに関連して、関連する通信者のグラフィカル表現を表示する。幾つかの実施形態では、クライアントノードは、物理的環境(例えば、オフィス環境)の要素のそれぞれのグラフィカル表現としてゾーンを表示する。
【0070】
クライアントノードによって受信される指示は通常、関連する通信者のそれぞれが関連付けられたサーバアプリケーションの指示を含む。幾つかの実施形態では、クライアントノードは、関連する通信者のそれぞれが関連付けられたサーバアプリケーションに従って、サーバアプリケーショングループにグループ分けされた関連する通信者のグラフィカル表現を表示する。各サーバアプリケーショングループ内で、クライアントノードは、それぞれのサーバアプリケーションへの接続の状況によって、又はネットワーク通信環境内の所与の通信者との対話の頻度によって、又はネットワーク通信環境内の所与の通信者との対話の最新性によって並べ替えられた関連する通信者のそれぞれのグラフィカル表現を表示することができる。
【0071】
幾つかの実施形態では、サーバアプリケーションのうちの所与のサーバアプリケーションが、通信者のそれぞれがそれぞれのプレゼンスをそれぞれと確立することができる複数のゾーンを有する。これらの実施形態では、クライアントノードは、関連する通信者のそれぞれが関連付けられた所与のサーバアプリケーションのゾーンに従って、ゾーングループにグループ分けされた所与のサーバアプリケーションに関連付けられた関連する通信者のそれぞれのグラフィカル表現を表示することができる。このプロセスでは、クライアントノードは、関連する通信者のうちの少なくとも2人が共存するゾーンに従ってグループ分けされた所与のサーバアプリケーションに関連付けられた関連する通信者のそれぞれのグラフィカル表現を表示することを含む。クライアントノードは、所与の通信者が所与のサーバアプリケーションのゾーンのうちのいずれのプレゼンスを有するかに従って並べ替えられたゾーングループを表示することができる。クライアントノードは、サーバアプリケーションのそれぞれとのそれぞれの接続状況に従ってグループ分けされた関連する通信者のグラフィカル表現を表示することができる。このプロセスでは、クライアントノードは、サーバアプリケーションの全てに接続されていない、同じグループにグループ分けされた関連する通信者のグラフィカル表現を表示することができる。
【0072】
幾つかの実施形態では、クライアントノードによって受信される指示は、関連する通信者のそれぞれのリアルタイム活動状態の指示を含む。これらの実施形態では、クライアントノードは、関連する通信者のグラフィカル表現のそれぞれに関連して、リアルタイム活動状態のグラフィカル指示を表示することができる。リアルタイム通信活動は通常、オーディオ通信活動、ビデオ通信活動、リアルタイムテキストチャット活動及びファイル共有活動のうちの少なくとも1つを含む。
【0073】
幾つかの実施形態では、クライアントノードによって受信される指示は、サーバアプリケーションのそれぞれに関連して関連する通信者のそれぞれと通信するために利用可能な通信チャネルの指示を含む。これらの実施形態では、クライアントノードは、関連する通信者のそれぞれのグラフィカル表現に関連して通信チャネルのグラフィカル指示を表示することができる。リアルタイム通信チャネルは通常、オーディオ通信チャネル、ビデオ通信チャネル、リアルタイムテキストチャットチャネル及びファイル共有チャネルのうちの少なくとも1つを含む。
【0074】
クライアントノードによって受信した指示は、ネットワーク通信環境に接続される関連する通信者の指示と、ネットワーク通信環境に接続されない関連する通信者の指示とを含む。これらの実施の形態では、クライアントノードは、ネットワーク通信環境に接続される関連する通信者のグラフィカル表現に関連してオンライン接続状況インジケータを表示することができ、クライアントノードは、ネットワーク通信環境に接続されない関連する通信者のグラフィカル表現に関連してオフライン接続状況インジケータを表示することができる。
【0075】
図9は、プラットフォームが、クライアントノード12、14のそれぞれを運用する所与の通信者と、ネットワーク通信環境内の他の通信者との間の対話を促進する方法の例示的な実施形態を示す。この方法によれば、クライアントノードは、ネットワーク通信環境内の通信者のそれぞれがそれぞれ関与する異なるタイプのリアルタイム通信活動の指示を受信する(
図9、ブロック183)。クライアントノードは、ディスプレイ上に、通信者のうちの1人又は複数人のそれぞれの各グラフィカル表現を含む、コンタクトリストを表示し、表示は、1つ又は複数のグラフィカル表現に関連して、1人又は複数人の通信者がそれぞれ関与する突き止められたタイプの現在の対話活動を表す視覚的合図を描写することを含む。
【0076】
幾つかの実施形態では、クライアントノードは、通信者のそれぞれの通信活動から導出されたコンテンツを含むリアルタイムデータストリームと、受信したリアルタイムデータストリームのタイプを識別するコンテンツタイプ識別子の形のそれぞれの指示とを受信する。これらの実施形態では、クライアントノードは、それぞれのコンテンツタイプ識別子からリアルタイム通信活動のそれぞれのタイプを特定する。また、クライアントノードは通常、受信したリアルタイムデータストリームから人が知覚可能な出力を生成する。
【0077】
幾つかの実施形態では、クライアントノードは、ネットワーク通信環境内の通信者のうちの所与の通信者が関与するリアルタイムチャット活動の指示を受信し、所与の通信者のグラフィカル表現に関連してリアルタイムチャット活動を示す視覚的合図を表示する。
【0078】
幾つかの実施形態では、クライアントノードは、ネットワーク通信環境内の通信者のうちの所与の通信者が関与するリアルタイムファイル共有活動の指示を受信し、所与の通信者のグラフィカル表現に関連してリアルタイムファイル共有活動を示す視覚的合図を表示する。
【0079】
幾つかの実施形態では、クライアントノードは、ネットワーク通信環境内の通信者のうちの所与の通信者が関与するリアルタイムアプリケーション共有活動の指示を受信し、所与の通信者のグラフィカル表現に関連してリアルタイムアプリケーション共有活動を示す視覚的合図を表示する。
【0080】
幾つかの実施形態では、クライアントノードは、ネットワーク通信環境内の通信者のうちの所与の通信者が関与するリアルタイム音声活動の指示を受信し、所与の通信者のグラフィカル表現に関連してリアルタイム音声活動を示す視覚的合図を表示する。
【0081】
2.通信者同士の関連及び通信者とサーバアプリケーションとの関連
通信者は通常、他の通信者の「コンタクト」であることによって別の通信者に関連し、その通信者は、通信者のうちの少なくとも一方によって宣言される(そしてオプションでは他方によって確認される)明示的なソーシャルネットワーク提携によって、又は通信者間の対話から推定されるソーシャルネットワーク提携によって、他の通信者に接続される。幾つかの実施形態では、ネットワークインフラストラクチャサービス環境42は、通信者によって宣言される明示的な属性値、及び関係データベース46への問い合わせ結果の統計解析から導出される推定属性値に基づいて、通信者対話を促進する。各関係タイプ属性値は通常、ソーシャルネットワーク提携のタイプを規定する。例示的な関係タイプは、親族タイプ(例えば、〜の父、〜のいとこ)、感情タイプ(例えば、敬意、好意)、認識タイプ(例えば、知っている、友人、知人)及び社会的役割タイプ(例えば、〜の教師、職場の同僚)を含む。そのような属性値を推定する方法の実施形態の例が、2009年12月4日に出願の同時係属の米国特許出願第12/631,026号のセクションIVにおいて記述されている。
【0082】
通信者が異なるサーバアプリケーションとの間で有することができる関連の例示的なタイプの中には、メンバーシップ及びプレゼンスがある。通信者は通常、サーバアプリケーションに登録することによってサーバアプリケーションのメンバになる。通信者は、サーバアプリケーションに対してプレゼンスを現在有することなく、サーバアプリケーションのメンバであることができる。通信者は通常、サーバアプリケーションに接続することによって、サーバアプリケーションに対するプレゼンスを取得する。通信者は、サーバアプリケーションのメンバになることなく、そのサーバアプリケーションに対するプレゼンスを有することができる。この場合、通信者は通常、「ゲスト」と呼ばれる。幾つかの実施形態では、いくつかのゲスト通信者は、2010年1月26日に出願の米国特許出願第12/694,126号において記述されている方法のうちの1つ又は複数に従って、サーバアプリケーションとインタフェース接続することができる。
【0083】
図10は、5人の通信者(サリー、トム、コリン、ケアリー及びガス)と、2つのサーバアプリケーション(ランシングアビエーション(Lansing Aviation)及びエンジニアリング(Engineering))と該5人の通信者それぞれの関連との間の例示的な1組の関係を示すソーシャルグラフ190の一例を示す。サーバアプリケーションは、同期会議サーバアプリケーションを含む、通信者がそれぞれのプレゼンスを確立することができる任意のタイプのサーバアプリケーションとすることができる。図示される例では、ランシングアビエーション及びエンジニアリングサーバアプリケーションはSococoエリアアプリケーション(Social Communications Company社、www.sococo.comから入手できる)であり、そのアプリケーションはネットワーク通信環境内の通信者によって経験される没入レベルを高める、それぞれの空間コンテキストにおける通信者対話のためのそれぞれの空間視覚化及び切替規則を定義する。ソーシャルグラフ190において示されるように、サリー及びケアリーは、エンジニアリングエリアアプリケーションのメンバであり、ガスはエンジニアリングエリアアプリケーションのゲストである。サリーはコリンとともにランシングアビエーションエリアアプリケーションの共同メンバでもあり、コリンはサリーの相互Sococoコンタクトである。サリーはトムの相互Sococoコンタクトであり、トムはランシングアビエーション及びエンジニアリングのいずれのエリアアプリケーションのメンバでもない。サリーはヨランダの相互Yahooコンタクトでもあり、ゲーリーの相互Googleコンタクトでもある。
【0084】
3.通信者識別情報
サーバアプリケーションごとに、通信者は、サーバアプリケーションに対して通信者を一意に識別する1つ又は複数の識別子を有することができる。例えば、
図10のソーシャルグラフは、サリー及びトムがそれぞれSococo識別子SUID1及びSUID2によって一意に識別されるそれぞれのSococo識別情報を有することに加えて、第三者のサーバプロバイダ(すなわち、Yahoo、Gmail、Hotmail、AIM、及びFacebookサービスプロバイダ)で確立したそれぞれの1組の識別情報192、194も要求することを示す。詳細には、サリーは以下の識別情報識別子;sally@yahoo.com、sally@gmail.com、sally@hotmail.com、sally@aim.com及びsally@source.comを要求し、トムは以下の識別情報識別子;tom@yahoo.com、tom@gmail.com、tom@hotmail.com、tom@aim.com及びtom@target.comを要求した。サリー及びトムは相互Yahooコンタクト及び相互Facebookコンタクトでもある(「友人」とも呼ばれる)。この例では、サリー及びトムによって要求される識別情報は、それぞれのネットワークサービス(すなわち、Yahoo、Gmail、Hotmail、AIM及びFacebookサーバアプリケーション)との関連で通信するためのそれぞれの通信ハンドルである。
【0085】
幾つかの実施形態では、通信者ごとに、ネットワークインフラストラクチャサービス環境42は、その通信者によって要求される全ての識別情報を、ネットワーク通信環境においてその通信者を識別するそれぞれの単一のユニバーサルユーザ識別子(例えば、
図10に示されるSococo識別子SUID1及びSUID2)に関連付ける。このようにして、各通信者は、異なるサーバアプリケーション44によって定義される全ての異なる通信コンテキストにわたって、同じ識別子によって一貫して識別される。
【0086】
図11は、ネットワークインフラストラクチャサーバ環境42が、通信者のうちの1人又は複数人をそれぞれ他の通信者に対して提示し、ネットワーク通信環境においてそれぞれの単一の識別情報を用いて対話する方法の一実施形態を示す。
【0087】
図11の方法によれば、通信者のうちの1人又は複数人のそれぞれに対して、ネットワークインフラストラクチャサーバ環境42は、通信者によって要求されるそれぞれの1組の複数の識別情報を特定し、各識別情報はそれぞれのネットワークサービスに関連して通信者と通信するためのそれぞれの通信ハンドルに関連付けられ(
図11、ブロック195);ネットワークインフラストラクチャサーバ環境42は、それぞれの1組の複数の識別情報を、ネットワーク通信環境において通信者を識別するためのそれぞれの単一のユニバーサルユーザ識別子と関連付け(
図11、ブロック196);ネットワークインフラストラクチャサーバ環境42は、ユーザアカウントのそれぞれに関連付けられた通信者の1人又は複数人の、複数組のコンタクトを識別する(
図11、ブロック197)。
【0088】
ネットワークインフラストラクチャサーバ環境42は、通信者のうちの対象通信者に関連する通信者を突き止める(
図11、ブロック198)。このプロセスでは、通信者のそれぞれを、通信者によって要求されるそれぞれの識別情報に関連付けられたそれぞれの通信ハンドルに基づいて対象通信者のコンタクトのそれぞれに一致(match)させる。
【0089】
ネットワークインフラストラクチャサーバ環境42は、対象通信者に、それぞれのユニバーサル識別子によって識別された関連する通信者の指示を送信する(
図11、ブロック199)。
【0090】
幾つかの実施形態では、接続ハンドルは、リアルタイム通信サービス(例えば、インスタントメッセージングサービス、オーディオ会議サービス、ビデオ会議サービス及びファイル共有サービス)を介して、又は電子メールサービスを介して、又はソーシャルネットワーキングサービスを介して、通信者のそれぞれと通信するためのハンドルである。幾つかの実施形態では、そのメッセージが向けられた通信ハンドルから、他の通信者から受信したメッセージ(例えば会合、ゲット及び招待メッセージ)の通信コンテキストを通信者が推定できるように、各通信者はサーバアプリケーション44の異なるサーバアプリケーションごとに異なるそれぞれの通信ハンドルを規定することができる。
【0091】
幾つかの実施形態では、ネットワークインフラストラクチャサービス環境42は、サーバアプリケーションへの接続に対する関連する通信者の接続状況を特定し、対象通信者に、関連する通信者の仕様、及び関連する通信者の特定された接続状況を送信する。関連する通信者のうちの所与の通信者が、サーバアプリケーションのうちの所与のサーバアプリケーションから切断されているとの判断に応答して、ネットワークインフラストラクチャサービス環境42は、所与の関連する通信者がネットワークサービスのうちのいずれに接続されているかを判断し、対象通信者に、所与の関連する通信者が所与のサーバアプリケーションから切断されていることの指示、及び所与の関連する通信者が、その所与の関連する通信者が接続されていると判断されるネットワークサービスのうちの1つ又は複数を介して通信に応対可能であることの指示を送信する。
【0092】
4.通信者状況
異なるサーバアプリケーション44との関連に関して通信者について突き止めることができる状況の中には、サーバアプリケーション44に対する通信者の状態及び活動に関する状況がある。
【0093】
例示的な通信者状況は以下のものを含む。
【0095】
オンライン/オフライン状態は、通信者が現在通信に応対可能であるか否かを示す。例示される実施形態では、通信者がネットワーク通信環境に接続されるときに(例えば、サーバアプリケーション44のうちの1つ又は複数に対してプレゼンスを確立することによる)、その通信者はオンライン状態にあり、通信者がネットワーク通信環境に接続されないときに(例えば、サーバアプリケーション44のいずれに対してもプレゼンスを有しないことによる)、その通信者はオフライン状態にある。
【0096】
「プレゼンスのロケーション」状態は、通信者がネットワーク通信環境においてプレゼンスを確立した場所を示す。プレゼンスのロケーションは通常、そのユーザがプレゼンスを有するサーバアプリケーション44及び/又はサーバアプリケーション44のゾーンごとにそれぞれの属性値(例えば、application_ID及び/又はzone_ID値)を有する。
【0097】
アプリケーション固有識別情報は、その通信者が関連付けられた特定のサーバアプリケーションとの関連で通信者についての情報を示すために、他の通信者に通信される。アプリケーション固有識別情報は、以下のものを含む。
・サーバアプリケーションとの関連において他の通信者に対して通信者を識別するために用いられるアプリケーション固有名前属性;
・サーバアプリケーションとの関連において通信者の図像的表現の色を設定するために用いられるアプリケーション固有アバタ色属性;
・サーバアプリケーションとの関連において通信者の表現に関連付けられたユーザ選択画像を参照するアプリケーション固有写真属性;
・サーバアプリケーションとの関連において通信者の表現に関連付けられたメッセージを参照するアプリケーション固有状況メッセージ属性;及び
・サーバアプリケーションとの関連においてデータストリームを通信者に切り替えるために用いられる場合がある通信者の役割(例えば、ゲスト、メンバ、仲介者、所有者)を示すアプリケーション固有役割属性。
【0098】
アプリケーション固有応対可能性状態は、サーバアプリケーションとの関連において通信者の応対可能性を示す。アプリケーション固有応対可能性状態は通常、通信者がアイドル又はスリーピングである時点を示す属性値と、通信者がビジーである時点を示す属性値とを含む。
【0099】
「活動中心のステーション」状態は、通信者が動作しているクライアントネットワークノードを特徴付ける。「活動中心のステーション」状態は通常、クライアントネットワークノードのデバイスタイプ、クライアントネットワークノード上で動作するオペレーティングシステム(OS)、オペレーティングシステムのOSバージョンを識別する属性を含む。
【0100】
「活動中心のクライアント」状態は、通信者が現在活動中心を有するサーバアプリケーションを示す。「活動中心のクライアント」状態は通常、通信者がサーバアプリケーションと通信するのに用いているクライアント通信アプリケーションを識別するクライアント名属性、及びクライアント通信アプリケーションのバージョンを識別するクライアントバージョン属性を含む。
【0101】
「活動中心のクライアントによってサポートされるチャネル」状態は、ユーザのクライアントアプリケーションとの関連において通信者と通信するために利用可能である通信チャネルを示す。「活動中心のクライアントによってサポートされるチャネル」状態は通常、ユーザのクライアントアプリケーションが通信者とのチャット通信をサポートするか否かを示すチャット属性、ユーザのクライアントアプリケーションが通信者とのオーディオシンク及びオーディオソース通信をサポートするか否かをそれぞれ示すオーディオシンク及びオーディオソース属性、ユーザのクライアントアプリケーションが通信者とのビデオシンク及びビデオソース通信をサポートするか否かをそれぞれ示すビデオソース及びビデオシンク属性、及びユーザのクライアントアプリケーションが通信者とのファイル転送通信をサポートするか否かを示すファイル転送属性を含む。
【0102】
例示的な通信者活動は、通信者が通信のために現在開放しているチャネルを含み、通信者が現在、他の通信者といかに対話しているかを示す。幾つかの実施形態では、開放チャネル活動は、以下の属性を含む。
・通信者のオーディオシンクチャネル(例えば、スピーカ)が開いている時点を示すIsListening属性;
・通信者のオーディオソースチャネル(例えば、マイクロフォン)が開いている時点を示すHasMicOpen属性;
・通信者のオーディオソースチャネル上でオーディオの振幅が送信されている時点を示すIsSpeaking属性;
・通信者のビデオシンクチャネルに流れているビデオデータが画面上に表示される時点を示すIsWatching属性;
・通信者のチャットチャネルのための入力ボックスにユーザが盛んにタイピングしている時点を示すIsTyping属性;
・通信者のアプリケーション共有ビデオシンクチャネル上で、通信者に対してアプリケーション共有データがストリーミングされている時点を示すHasApplicationShareFocus属性;
・通信者のウェブカムビデオソースチャネルが開いている時点を示すHasWebCamOn属性;
・通信者のクライアントネットワークノードが、通信者が通信者のチャットチャネルに活動中心を有することを示す時点を示すHasChatInputFocus属性;及び
・通信者がビューアペインにおいてゾーン内のどのオブジェクトを見ているかを示すObjectOfFocus属性。
【0103】
5.仮想エリア
幾つかの実施形態では、プラットフォームは、仮想エリアのインスタンスによって定義される通信コンテキストにおいてネットワークノードとのリアルタイム接続を管理する。仮想エリアインスタンスは、抽象座標(例えば、関連するコンピュータデータファイル若しくはソフトウェアアプリケーション内の位置によって定義される座標、又はカスタマサービスデータベースがエリアである実施形態では、データベース内の各レコードがゾーンを構成する)に対して定義される抽象仮想空間に対応することができる。代替的には、仮想エリアインスタンスは、特定の視覚化に関連付けられた1次元、2次元又は3次元の幾何学的座標に対して定義される可視仮想空間に対応することができる。抽象仮想エリアは、個々の視覚化に関連付けられる場合も、そうでない場合もあるのに対して、可視仮想エリアは個々の視覚化に関連付けられる。
【0104】
図12は、ネットワーク通信環境10(
図1を参照)の実施形態300の概略図であり、エリアベースサーバアプリケーション310(本明細書において「仮想エリアアプリケーション」と呼ばれる)に従って、仮想エリア308内で第1のクライアントノード12及び第2のクライアントノード14のセッションを管理するネットワークインフラストラクチャサービス環境306を含む。仮想エリアアプリケーション310は、仮想エリア308によってホスティングされ、仮想エリア308の記述を含む。第1のクライアントネットワークノード12及び第2のクライアントネットワークノード14上で動作する通信アプリケーション26、32は、ネットワークインフラストラクチャサービス環境306から受信したデータに従って仮想エリア308のそれぞれの視野を提示し、通信者からのコマンドを受信し、かつ通信者間のリアルタイム通信を向上させる空間インタフェースを提供するためのそれぞれのインタフェースを提供する。通信者は通常、仮想エリア308においてそれぞれのアバタによって表され、それらのアバタは通常、それぞれのネットワークノードにおいて通信者によって入力されたコマンドに応答して、仮想エリア308を動き回る。仮想エリア308の各通信者の視野は、通信者のアバタの視点から提示され、その視点は通信者によって経験される没入レベルを高める。各通信者は通常、自分のアバタの周囲の仮想エリア308の任意の部分を視認することができる。幾つかの実施形態では、通信アプリケーション26、32は、仮想エリア308内の通信者のアバタの位置に基づいて、第1のクライアントネットワークノード12及び第2のクライアントネットワークノード14と、仮想エリア308を共有する他のネットワークノードとの間にリアルタイムデータストリーム接続を確立する。
【0105】
ネットワークインフラストラクチャサービス環境306は通常、クライアントノード12、14と他のネットワークノード(
図1及び
図18を参照)との間にネットワーク接続を確立し、管理するプロセスにおいて、通信アプリケーション26、32と協調する1つ又は複数のネットワークインフラストラクチャサービスを含む。ネットワークインフラストラクチャサービスは、単一のネットワークノード上で動作することができるか、又は複数のネットワークノードにわたって分散することができる。ネットワークインフラストラクチャサービスは通常、1つ又は複数の専用ネットワークノード(例えば、ルーティング及びスイッチングのような1つ又は複数のエッジサービスを実行するサーバコンピュータ又はネットワークデバイス)上で動作する。しかしながら、幾つかの実施形態では、ネットワークインフラストラクチャサービスのうちの1つ又は複数が、通信者のネットワークノードのうちの少なくとも1つにおいて動作する。ネットワークインフラストラクチャサービス環境306の例示的な実施形態に含まれるネットワークインフラストラクチャサービスの中には、アカウントサービス、セキュリティサービス、エリアサービス、ランデブーサービス及び対話サービスがある。
【0106】
アカウントサービス
アカウントサービスは、仮想環境のための通信者アカウントを管理する。また、アカウントサービスは認証トークンの作成及び発行も管理し、認証トークンは、ネットワークインフラストラクチャサービスのいずれかに対する認証のために、クライアントネットワークノードが用いることができる。
【0107】
セキュリティサービス
セキュリティサービスは、仮想環境の資産及び他のリソースに対する通信者のアクセスを制御する。セキュリティサービスによって実施されるアクセス制御方法は通常、能力(適切な能力又は許可を有するエンティティに対してアクセスが許可される場合)及びアクセス制御リスト(リスト上にある識別情報を有するエンティティに対してアクセスが許可される場合)のうちの1つ又は複数に基づく。特定の通信者が或るリソースへのアクセスを許可された後に、その通信者は通常、他のネットワークインフラストラクチャサービスによって提供される機能を用いて、ネットワーク通信環境300内で対話する。
【0108】
エリアサービス
エリアサービスは仮想エリアを管理する。幾つかの実施形態では、エリアサービスは、1組の制約312(
図12を参照)を受けて、仮想エリアアプリケーション308に従って第1のクライアントネットワークノード12及び第2のクライアントネットワークノード14上で動作する通信アプリケーション26、32を遠隔構成する。制約312は通常、仮想エリアへのアクセスに対する制御を含む。アクセス制御は通常、能力(適切な能力又は許可を有する通信者又はクライアントノードに対してアクセスが許可される場合)及びアクセス制御リスト(リスト上にある識別情報を有する通信者又はクライアントノードに対してアクセスが許可される場合)のうちの1つ又は複数に基づく。
【0109】
また、エリアサービスは、要求側エンティティの能力を受けて、仮想エリアに関連付けられたネットワーク接続を管理し、仮想エリアのためのグローバル状態情報を保持し、仮想エリア308によって定義されるコンテキストにおいて共有される通信セッションに関与するクライアントネットワークノードのためのデータサーバとしての役割を果たす。グローバル状態情報は、仮想エリア内にある全てのオブジェクト、及び仮想エリア内のオブジェクトのそれぞれのロケーションのリストを含む。エリアサービスは、クライアントネットワークノードを構成する命令を送信する。また、エリアサービスは、通信セッションへの参加を要求する他のクライアントネットワークノードを登録し、それらのノードに初期化情報を送信する。このプロセスにおいて、エリアサービスは、参加する各クライアントネットワークノードに、仮想エリアアプリケーション310に従ってクライアントネットワークノード上で仮想エリア308を描画するために必要とされるコンポーネント(例えば、プラグイン)のリストを送信することができる。また、エリアサービスは、通信障害が生じる場合には、クライアントネットワークノードがグローバル状態に同期できることを確実にする。エリアサービスは通常、仮想エリアに関連付けられた統治規則を介して、通信者の仮想エリアとの対話を管理する。
【0110】
ランデブーサービス
ランデブーサービスはプレゼンス情報の収集、記憶及び分配を管理し、要求側エンティティの能力を受けて、ネットワークノードが(例えば、接続ハンドルの分配を管理することによって)互いに通信するための機構を提供する。ランデブーサービスは通常、プレゼンスデータベース内にプレゼンス情報を記憶する。ランデブーサービスは通常、通信者プライバシプリファレンスを介して通信者同士の対話を管理する。
【0111】
対話サービス
対話サービスは通信者間の対話のレコード48を収容する関係データベース46を保持する。通信者間の対話ごとに、ネットワークインフラストラクチャサービス環境306の1つ又は複数のサービス(例えば、エリアサービス)が、対話サービスに対話データを送信する。それに応じて、対話サービスは、1つ又は複数のそれぞれの対話レコードを生成し、それらのレコードを関係データベースに記憶する。各対話レコードは、一対の通信者間の対話のコンテキストを記述する。例えば、幾つかの実施形態では、対話レコードは、通信者ごとの識別子、対話の場所に関する識別子(例えば、仮想エリアインスタンス)、対話場所の階層の記述(例えば、対話空間をより大きなエリアに関連付ける方法の記述)、対話の開始時刻及び終了時刻、並びに対話中に共有又は記録された全てのファイル及び他のデータストリームのリストを含む。したがって、リアルタイム対話ごとに、対話サービスは、その対話が生じた時点、生じた場所、その対話中に関与する通信者に関して起こったこと(例えば、進入及び退出)、起動/停止されたオブジェクト、及び共有されたファイルを追跡する。
【0112】
また、対話サービスは、要求側エンティティの能力を受けて、関係データベース46への問い合わせをサポートする。対話サービスは、仮想エリアに基づいて並べ替えられた順序(例えば、最も高い頻度又は最も高い最新性)において対話データベースレコードへの問い合わせ結果を提示する。その問い合わせ結果を用いて、仮想エリアにおいて通信者が出合ったコンタクトの頻度ソート、並びに仮想エリアに関係なく通信者が出会った人のソート及び通信者が最も頻繁に訪れた仮想エリアのソートを行うことができる。また、その問い合わせ結果は、アプリケーション開発者によって、関係に基づいて或るタスクを自動化するヒューリスティックシステムの一部として用いられる場合もある。このタイプのヒューリスティックの一例として、6回以上特定の仮想エリアを訪問した通信者がノックすることなくデフォルトで進入できるようにするヒューリスティック、又は特定の時刻に或るエリア内に存在した通信者が同じ時刻に同じエリア内に存在した別の通信者によって作成されたファイルを変更し、削除できるようにするヒューリスティックがある。関係データベース36への問い合わせは、他の探索と組み合わせることができる。例えば、関係データベースへの問い合わせは、ネットワークインフラストラクチャサービス環境306の領域外にある通信システム(例えば、Skype、Facebook及びFlickr)を用いてコンタクトと対話するために生成されたコンタクト履歴データへの問い合わせと組み合わせることができる。
【0113】
通信アプリケーション26及びネットワークインフラストラクチャサービス環境306は通常、仮想エリアのインスタンスによって定義される通信コンテキストにおいてネットワークノードとのリアルタイム接続を管理する。仮想エリアインスタンスは、抽象座標に対して定義される抽象(非幾何学的)仮想空間に対応することができる。代替的には、仮想エリアインスタンスは、特定の視覚化に関連付けられた1次元、2次元又は3次元幾何学的座標に対して定義される可視仮想空間に対応することができる。抽象仮想エリアはそれぞれの視覚化に関連付けられる場合も、関連付けられない場合もあるのに対して、可視仮想エリアはそれぞれの視覚化に関連付けられる。
【0114】
上記で説明されたように、通信者は通常、関連する視覚化を有する仮想エリアにおいてそれぞれのアバタ(例えば、スプライト)によって表される。それぞれのネットワークノードにおいて通信者によって入力されたコマンドに応答して、アバタは仮想エリアを動き回る。幾つかの実施形態では、仮想エリアインスタンスの通信者の視野は通常、通信者のアバタの視点から提示され、各通信者は通常、自分のアバタの周囲の可視仮想エリアの任意の部分を視認することができ、通信者によって経験される没入レベルが高まる。
【0115】
仮想エリアは通常、仮想エリア内のアバタによって表されるネットワークノード間のリアルタイムデータストリームの切替を支配するそれぞれの規則に関連付けられた1つ又は複数のゾーンを含む。切替規則は、仮想エリアのゾーン内の通信者のアバタのロケーションに基づいて、各ネットワークノード上で実行されるローカル接続プロセスが、他のネットワークノードとの通信をいかに確立するかを指示する。仮想エリアは通常、仮想エリアの幾何学的要素の記述と、切替規則及び統治規則を含む、1つ又は複数の規則とを含む仕様によって定義される。切替規則は、ネットワークノード間のリアルタイムストリーム接続を支配する。統治規則は、仮想エリア自体、仮想エリアを有する領域、及び仮想エリア内のオブジェクトのような、リソースへの通信者のアクセスを制御する。幾つかの実施形態では、仮想エリアの幾何学的要素は、COLLADA-Digital Asset Schema Release 1.4.1 April 2006仕様書(http://www.khronos.org/collada/から入手可能)に従って記述され、切替規則は、米国特許出願第11/923,629号及び第11/923,634号において記述されているCOLLADAストリーム関連仕様に従って拡張マークアップ言語(XML)テキストフォーマット(本明細書において、仮想空間記述フォーマット(VSDL)と呼ばれる)を用いて記述される。
【0116】
可視仮想エリアの幾何学的要素は通常、仮想エリアの物理的幾何学形状及び衝突幾何学形状を含む。物理的幾何学形状は仮想エリアの形状を記述する。物理的幾何学形状は通常、三角形、四角形又は多角形の表面から形成される。物理的幾何学形状上に色及びテクスチャを与えて、仮想エリアのためのより現実的な外観を生み出す。照明効果は、例えば、視覚的な幾何学形状上に光を描き、その光付近のテクスチャ、色及び輝度を変更することによって与えることができる。衝突幾何学形状は、仮想エリア内でオブジェクトが動くことができる方法を決定する不可視表面を描写する。衝突幾何学形状は可視幾何学形状と同一空間を占めることができるか、可視幾何学形状を簡単にした近似形状に対応することができるか、又は仮想エリア設計者のアプリケーション固有要件に関連付けることができる。
【0117】
切替規則は通常、仮想エリア内の位置に関してリアルタイムデータストリームのソース及びシンクを接続するための条件の記述を含む。各規則は通常、その規則が当てはまるリアルタイムデータストリームタイプと、その規則が当てはまる仮想エリア内の単数又は複数のロケーションとを定義する属性を含む。幾つかの実施形態では、各規則はオプションで、ソースの要求される役割、シンクの要求される役割、ストリームの優先順位、及び要求されるストリームハンドリングトポロジを規定する1つ又は複数の属性を含むことができる。幾つかの実施形態では、仮想エリアの特定の部分のために明示的な切替規則が定義されない場合には、仮想エリアのその部分に、1つ又は複数の暗黙的な、又はデフォルトの切替規則を適用することができる。1つの例示的なデフォルト切替規則は、方針規則を受けて、或るエリア内の全てのソースを全ての適合するシンクに接続する規則である。方針規則は、クライアントノード間の全ての接続に対して全体的に、又は個々のクライアントノードとのそれぞれの接続に対してのみ、当てはまる場合がある。方針規則の一例は、ソースを、仮想エリア内の互いの所定の距離(又は半径)内にあるそれぞれのオブジェクトに関連付けられた適合するシンクと接続することのみを認める近接方針規則である。
【0118】
幾つかの実施形態では、統治規則が仮想エリアに関連付けられ、仮想エリアにアクセスできる人、そのコンテンツにアクセスできる人、仮想エリアのコンテンツにアクセスできる範囲(例えば、ユーザがそのコンテンツで何をすることができるか)、それらのコンテンツにアクセスした後の結果(例えば、監査ログ及び支払要件のようなレコード保管)を制御する。幾つかの実施形態では、仮想エリア全体、又は仮想エリアのゾーンが、「統治メッシュ」に関連付けられる。幾つかの実施形態では、統治メッシュは、米国特許出願第11/923,629号及び第11/923、634号において記述されているゾーンメッシュの実施と同じようにして実施される。統治メッシュによって、ソフトウェアアプリケーション開発者は、統治規則を仮想エリア又は仮想エリアのゾーンと関連付けることができるようになる。これは、仮想エリア内のファイルごとに個々に許可を生成するのを不要にし、かつ同じドキュメントをコンテキストに応じて異なるように処理する必要があるときに生じる可能性がある複雑さに対処するのを不要にする。
【0119】
幾つかの実施形態では、仮想エリアは、仮想エリアの1つ又は複数のゾーンをデジタル著作権管理(DRM)機能に関連付ける統治メッシュに関連付けられる。DRM機能は仮想エリア、又は仮想エリア内の1つ若しくは複数のゾーン、又は仮想エリア内のオブジェクトのうちの1つ又は複数へのアクセスを制御する。DRM機能は、通信者が仮想エリア内の統治メッシュ境界を横切る度にトリガされる。DRM機能は、トリガ動作が許可されるか否かを判断し、許可される場合には、許可される動作の範囲、支払が必要とされるか否か、及び監査レコードが生成される必要があるか否かを判断する。仮想エリアの例示的な実施態様では、関連する統治メッシュは、通信者が仮想エリアに入ることができる場合には、その通信者が仮想エリアに関連付けられた全てのドキュメントに関する動作を実行することができるように構成され、その動作は、ドキュメントを操作すること、ドキュメントを閲覧すること、ドキュメントをダウンロードすること、ドキュメントを削除すること、ドキュメントを変更すること、及びドキュメントを再アップロードすることを含む。このようにして、仮想エリアは、仮想エリアによって定義されるコンテキストにおいて共有され、検討される情報のためのリポジトリになることができる。
【0120】
仮想エリアの仕様に関する更なる詳細は、米国特許出願第12/418,243号(2009年4月3日出願)、第11/923,629号(2007年10月24日出願)及び第11/923,634号(2007年10月24日出願)において記述されている。
【0121】
図13は、コンピュータシステム360によって実施される例示的なネットワークノードの一実施形態を示す。コンピュータシステム360は、ディスプレイモニタ362と、コンピュータマウス364と、キーボード366と、スピーカ368、370と、マイクロフォン372とを含む。ディスプレイモニタ362は、グラフィカルユーザインタフェース374を表示する。グラフィカルユーザインタフェース374は、複数のウインドウ、アイコン及びポインタ376を含むことができる、ウインドウベースのグラフィカルユーザインタフェースである。例示される実施形態では、グラフィカルユーザインタフェース374は、美術館を表す3次元視覚化に関連付けられた共有仮想エリア378の2次元描写を提示する。通信者は、仮想エリア378において、それぞれのアバタ380、382、384によって表され、各アバタは仮想エリア378との関連においてそれぞれの役割(例えば、館長、アーティスト及び訪問者)を有することができる。
【0122】
仮想エリア378は、ゾーン386、388、390、392、394を含み、それらのゾーンは仮想エリア378内のアバタ380〜384によって表されるネットワークノード間のリアルタイムデータストリームの切替を支配する規則のそれぞれに関連付けられる。(通常の通信セッション中に、
図13内のゾーン386〜394を画定する破線は通信者には視認できないが、そのようなゾーン境界に関連付けられた視覚的合図が存在する場合もある)。切替規則は、仮想エリア378のゾーン386〜394内の通信者のアバタ380〜384のロケーションに基づいて、各ネットワークノード上で実行されるローカル接続プロセスが他のネットワークノードとの通信をいかに確立するかを指示する。
【0123】
プラットフォームの実施形態によっては、ソフトウェアアプリケーション設計者は、ソフトウェアアプリケーション又はコンピュータデータファイル内の位置の意味を定義できるようになる。それぞれの接続規則との関連を通して、これらの位置定義を用いて、例えば、仮想エリアへの接続、仮想エリアへの進入、通信者、及びリアルタイムデータストリームの他のソース又はシンクへの接続、並びに通信者、ネットワークリソース、及びネットワークサービスに関連するプレゼンスデータの決定を制御することができる。
【0124】
「接続規則」は、仮想エリア及び接続対象のうちの少なくとも一方を指定し、ネットワーク接続を開始する際に適切に構成されたソフトウェアアプリケーション又はサービスの動きを誘導する1つ又は複数の接続条件のオプションの1組を含む。「接続対象」は、ネットワークノード上で通信者、リソース又はサービスとのネットワーク接続を確立するために用いることができる識別子又は接続ハンドル(例えば、ユニフォームリソース識別子(URI))を指している。「接続条件」は、ネットワーク接続の確立、ネットワーク接続の管理、又はネットワーク接続にわたって転送されるデータの処理に影響を及ぼす1つ又は複数のパラメータを規定する。例えば、接続条件は、ネットワーク接続が試行又は確立される前に満たされるべきである動作環境に関する前提を記述することができる。
【0125】
コンピュータデータファイルは、ソフトウェアアプリケーションによって使用するためのデータを永続的に記憶する任意の情報ブロックである(例えば、ソフトウェアアプリケーションのための入力として用いられ、かつ/又は出力として書き込まれる情報)。コンピュータデータファイルは、コンシューマ及びビジネスソフトウェアアプリケーションを含む、任意のタイプのソフトウェアアプリケーションとともに用いるために設計することができ、任意のタイプの公開又は非公開データファイルフォーマットにおいて記憶することができる。コンピュータデータファイルは、1つ又は複数のコンポーネントから構成され、そのコンポーネントのコンテンツ及び構造は、少なくとも部分的には、コンピュータデータファイル内に記憶されるデータのタイプ及び目的に、かつそのファイルを作成するために使用されたソフトウェアによって決まる。例えば、デスクトップパブリッシングソフトウェアアプリケーションとともに用いるためのコンピュータデータファイルは通常、文、段落、見出し及び区画に配置されるテキスト、図、表、行/列、頁、図面、プレゼンテーション用スライド、スプレッドシートのような所定のセクション若しくはデータカテゴリに、又はセキュリティ機能若しくは認証機能のような機能的特徴に対応するコンポーネントを有する。ソフトウェアアプリケーション開発者又はエンドユーザは、コンピュータデータファイルの1つ又は複数の構成コンポーネントから構成される、コンピュータデータファイルの1つ又は複数のセクションを定義することができる。セクションは、コンピュータデータファイル全体又はコンピュータデータファイルの一部を含むことができ、別のセクションと全体的に、又は部分的に重なり合うことができる。
【0126】
図14Aは、データファイルコンテナ597を含む例示的なコンピュータデータファイル596を示しており、データファイルコンテナは、コンポーネントA、B、C、D、コンポーネントBのサブコンポーネントB(1)、B(2)及びB(3)、並びにコンポーネントCのサブコンポーネントC(1)、C(2)及びC(3)からなる階層構成を保持する。コンピュータデータファイル596は3つのセクション(S1、S2、S3)に分割され、各セクションはコンピュータデータファイル596のコンポーネント及びサブコンポーネントのうちの1つ又は複数に関連付けられる。例えば、セクションS1はサブコンポーネントB(1)に関連付けられ、セクションS2はコンポーネントCに関連付けられ、セクションS3はサブコンポーネントB(3)及びコンポーネントCに関連付けられる。
【0127】
コンピュータデータファイルのコンポーネントとセクションとの間の関連は、種々の異なるデータ構造フォーマットに格納される場合がある。例えば、
図14Bは、例示的なコンピュータデータファイルセクション定義データベース598を示しており、そのデータベースはコンピュータデータファイル596内のセクションを定義するレコードを含む。セクション定義レコードは、レコード識別子、及びコンピュータデータファイル596の識別子によってインデックスを付される。幾つかの実施形態では、プラットフォームは、ソフトウェアアプリケーション開発者が、1つ又は複数のダイアログボックスを有するソフトウェアアプリケーションを設計できるようになる機能を提供し、そのダイアログボックスは、コンピュータデータファイルセクション定義データベース598内のレコードを作成するためにエンドユーザによって使用することができる。
【0128】
ソフトウェアアプリケーションは、記憶媒体(例えば、ハードドライブ、メモリ又はランダムアクセスメモリ)に命令がロードされた後にコンピュータが解釈し、実行することができる1組の命令である。ソフトウェアアプリケーションは、1つ若しくは複数の論理コンポーネント(例えば、ハードワイヤードコンポーネント、時間コンポーネント、文脈コンポーネント、テーブルルックアップコンポーネント)、又はそのコンテンツ及び構造がソフトウェアアプリケーションの機能及び設計のアーキテクチャに少なくとも部分的に依存する機能コンポーネント(例えば、機能又はエントリポイント)から構成される。例えば、幾つかのソフトウェアアプリケーションは、複数のコンポーネントから構成されるコンポーネント化されたアーキテクチャを使用し、各コンポーネントは、別々のライブラリ内に収容される場合があり、それぞれの1組のインタフェースを提示することができ、それらのインタフェースによって、コンポーネントはメイン実行ファイルによってホスティングされることが可能になる。ソフトウェアアプリケーション開発者は、ソフトウェアアプリケーションの1つ又は複数のコンポーネントから構成される、ソフトウェアアプリケーションの1つ又は複数のセクションを定義することができる。セクションは、ソフトウェアアプリケーション全体、又はソフトウェアアプリケーションの一部を含むことができ、別のセクションに全体的に、又は部分的に重なり合うことができる。
【0129】
図15Aは、アプリケーションコンテナ600を含む例示的なソフトウェアアプリケーション599を示しており、アプリケーションコンテナは、コンポーネントE、F、コンポーネントEのサブコンポーネントE(1)、E(2)及びE(3)、コンポーネントFのサブコンポーネントF(1)、F(2)、サブコンポーネントF(1)のサブコンポーネントF(i)及びF(ii)、並びにサブコンポーネントF(2)のサブコンポーネントF(iii)からなる階層構成を保持する。ソフトウェアアプリケーション600は6つのセクション(S4、S5、S6、S7、S8、S9)に分割され、各セクションはソフトウェアアプリケーション599のコンポーネント及びサブコンポーネントのうちの1つ又は複数に関連付けられる。例えば、セクションS4は、サブコンポーネントB(1)に関連付けられ、セクション5はコンポーネントFに関連付けられ、セクションS6はサブコンポーネントF(1)に関連付けられ、セクション7はサブコンポーネントF(2)に関連付けられ、セクションS8はサブコンポーネントF(ii)及びF(iii)に関連付けられ、セクションS9はサブコンポーネントE(3)及びF(i)に関連付けられる。
【0130】
ソフトウェアアプリケーションのコンポーネントとセクションとの間の関連は、種々の異なるデータ構造フォーマットに格納される場合がある。例えば、
図15Bは、ソフトウェアアプリケーション599内のセクションを定義するレコードを含む例示的なソフトウェアアプリケーションセクション定義データベース602を示す。セクション定義レコードは、レコード識別子、及びソフトウェアアプリケーション599の識別子によってインデックスを付される。幾つかの実施形態では、プラットフォームは1つ又は複数のダイアログボックスを与え、そのダイアログボックスによって、ソフトウェアアプリケーション開発者が、ソフトウェアアプリケーションセクション定義データベース602内のデータベースレコードを作成できるようになる。
【0131】
図16A及び
図16Bを参照すると、幾つかの実施形態では、コンピュータデータファイル又はソフトウェアアプリケーションの1つ又は複数のセクションが仮想エリアのそれぞれのゾーンに関連付けられる。
【0132】
例えば、幾つかの実施形態では、コンピュータデータファイル又はソフトウェアアプリケーションの1つ又は複数のセクションは、抽象仮想エリアのそれぞれのゾーンに関連付けられ、抽象仮想エリアは、関連するコンピュータデータファイル又はソフトウェアアプリケーション内の位置に対して一対一のマッピングを有する1次元又は多次元抽象位相空間内の座標に対して定義される。例えば、
図16Aは、2次元位相空間内のそれぞれの座標に対するソフトウェアアプリケーション599のセクションS4〜S9の例示的なマッピングを示しており、その位相空間は、ソフトウェアアプリケーション599のコンポーネント及びサブコンポーネントのそれぞれに直接マッピングする座標を有する。
【0133】
他の実施形態では、コンピュータデータファイル又はソフトウェアアプリケーションの1つ又は複数のセクションは1つ又は複数の可視仮想エリアのそれぞれのゾーンに関連付けられ、各ゾーンは、それぞれの視覚化に関連付けられた1次元、2次元又は3次元幾何学的座標に対して定義することができる。例えば、
図7Bは、2つの可視仮想エリア104及び78の座標のそれぞれに対するソフトウェアアプリケーション599のセクションS4〜S9の例示的なマッピングを示す。この例では、セクションS4は可視仮想エリア604に関連付けられ、その可視仮想エリアは会議室の3次元視覚化に関連付けられ、セクションS5〜S9は可視仮想エリア378のゾーンのそれぞれに関連付けられ、その可視仮想エリアは美術館の3次元視覚化に関連付けられる。
【0134】
ソフトウェアアプリケーション又はコンピュータデータファイル内の位置の意味を定義するシステム及び方法に関する更なる詳細は、2009年12月4日に出願の米国特許出願第12/631,008号において記述されている。
【0135】
図17は、データファイルA及びソフトウェアアプリケーションBによって定義される異なる通信コンテキストにわたって対象通信者(この例では「アート」)のコンタクトのうちの幾つか又は全てのリアルタイムの応対可能性及び活動を示すグラフィカルユーザインタフェース610の一実施形態を示す。ソフトウェアアプリケーションBは、コンシューマソフトウェアアプリケーション及びビジネスソフトウェアアプリケーション(例えば、Microsoft(登録商標)Outlook(登録商標)ソフトウェアアプリケーションのようなパーソナル情報マネージャソフトウェアアプリケーション;Microsoft(登録商標)Word(登録商標)ソフトウェアアプリケーションのようなドキュメント処理ソフトウェアアプリケーション;Microsoft(登録商標)Excel(登録商標)ソフトウェアアプリケーションのようなスプレッドシートソフトウェアアプリケーション及びMicrosoft(登録商標)Internt Explorer(登録商標)ソフトウェアアプリケーションのようなウェブブラウザソフトウェアアプリケーション)を含む、任意のタイプのソフトウェアアプリケーションとすることができる。この実施形態では、アートがそのメンバであり、アート及びアートのコンタクトのうちの少なくとも一方が存在するデータファイル及びソフトウェアアプリケーションBごとに、サーバアプリケーションのメンバが、データファイル又はソフトウェアアプリケーションに対するそのプレゼンスの状況によってセグメント化される。この例では、アートは、データファイルA及びソフトウェアアプリケーションBのメンバである。したがって、データファイルAのメンバは存在グループ612及び不在グループ614に振り分けられ、ソフトウェアアプリケーションBのメンバは、「共存ゾーン」グループ616、存在グループ618及び不在グループ620に振り分けられ、それらのゾーンは、データファイルA及びソフトウェアアプリケーションBのセクションのそれぞれに対応する。このようにして、アートは、自分がそのメンバであるデータファイル及びソフトウェアアプリケーションのそれぞれにおいて、誰が存在し、どのメンバが不在であるかを容易に視覚化することができる。
【0136】
幾つかの実施形態では、各通信アプリケーション26、32は、ユーザと空間仮想通信環境とをインタフェース接続するグラフィカルナビゲーション及び対話インタフェース(本明細書において「探索インタフェース(seeker interface)」と呼ばれる)も含む。探索インタフェースは、ユーザが仮想環境をナビゲートできるようにするナビゲーション制御と、ユーザが自分と仮想通信環境内の他の通信者との対話を制御できるようにする対話制御とを含む。ナビゲーション制御及び対話制御は通常、ユーザ選択に応答し、ユーザ選択は、コンピュータマウス、タッチパッド、タッチスクリーンディスプレイ、キーボード及びビデオゲームコントローラを含む、任意のタイプの入力デバイスを用いて行うことができる。探索インタフェースは、各クライアントネットワークノードにおいて動作するアプリケーションである。探索インタフェースは小型軽量のインタフェースであり、ユーザは自分のデスクトップ上に常時実行し続けることができる。探索インタフェースは、ユーザが仮想エリアアプリケーションを開始できるようにし、ユーザに、リアルタイムコンタクト及びリアルタイム共同場所(エリア)への即時アクセスを提供する。探索インタフェースが他のネットワークノードとのリアルタイム通信を開始し、かつ受信できるように、探索インタフェースは、リアルタイム通信アプリケーション、及び/又は根底にあるオペレーティングシステムのリアルタイム通信コンポーネントと統合される。ユーザが仮想環境クリエータ302によって作成された仮想環境の中にファイルをアップロードすることができ、かつ仮想エリア内に依然として存在しながら、仮想環境から独立して固有のクライアントソフトウェアアプリケーションを用いて、仮想エリアに関連して格納されるファイルを使用することができ、かつ更に一般的には、幾つかのアプリケーションのうちの1つとしてではなく、他のオペレーティングシステム機能と同じような動作環境の一態様として仮想エリア内のプレゼンス及び位置を処理することができるように、仮想エリアは探索インタフェースを通してユーザのデスクトップに統合される。
【0137】
空間的仮想通信環境は通常、場所(本明細書において「ロケーション」とも呼ばれる)及びオブジェクトの空間的階層としてモデル化することができる。空間的階層は、最上位から最下位までに及ぶ順序付けされた一連のレベルを含む。空間的階層のレベルのうちの連続するレベル内の各場所は、レベルのうちの先行するレベル内のそれぞれの場所に含まれる。空間的階層内の各オブジェクトは、それぞれの場所に含まれる。空間的階層のレベルは通常、それぞれの視覚化に関連付けられ、それらの視覚化は地理、建築又は都市メタファと一致し、それに応じてラベルを付される。各仮想エリアのゾーンはそれぞれのメッシュによって定義され、そのうちの幾つかは物理的環境の要素(例えば、建物に関連付けられた、部屋及び中庭のような空間)を定義し、それらの要素はオブジェクト(例えば、表示画面オブジェクト及び会議オブジェクトのような、アバタ及びプロップ)を含むことができる。
【0138】
探索インタフェースのナビゲーション制御によって、ユーザは、場所及びオブジェクトの根底を成す空間的階層に結び付けられるナビゲーションモデルに従って、仮想環境を通る経路を行き来できるようになる。ネットワークインフラストラクチャサービス環境306は、ユーザが行き来した経路を記録する。幾つかの実施形態では、ネットワークインフラストラクチャサービス環境306は履歴を記録し、履歴はユーザが仮想エリアの中をナビゲートするのに応じてユーザに提示される仮想エリアの視野の時間順リストを含む。各視野は通常、仮想エリアのそれぞれの描画可能なゾーンの視野に対応する。これらの実施形態では、ナビゲーション制御によって、ユーザは履歴内のゾーンのうちの選択されたゾーンに移動できるようになる。また、ナビゲーション制御は、仮想エリア内のユーザの現在の視野に対応する、空間的階層内のロケーションを示す深度経路のグラフィカル表現も含む。幾つかの実施形態では、深度経路のグラフィカル表現は、現在の視野の上方の仮想エリアの空間的階層モデル内の先行する各レベルのそれぞれの視野へのそれぞれのユーザ選択可能リンクを含む。
【0139】
探索インタフェースの対話制御によって、ユーザは他の通信者との対話を管理できるようになる。ユーザが利用可能な対話オプションは通常、ユーザがプレゼンスを有するゾーンによって決まる。幾つかの実施形態では、特定のゾーンにおいてプレゼンスを有する通信者が利用可能である対話オプションは、そのゾーンにおいてプレゼンスを有しない他の通信者が利用可能であるオプションとは異なる。ユーザの詳細及び対話性のレベルは通常、ユーザが特定のゾーンにおいてプレゼンスを有するか否かによる。1つの例示的な実施形態では、ユーザが仮想エリア外にいる場合には、ユーザは仮想エリア内で生じる対話の最低限の詳細レベルを提供される(例えば、ユーザはそのエリアの間取図の輪郭、背景テクスチャ、及び施設を見ることはできるが、ユーザは、そのエリア内の他の通信者が存在する場所を見ることはできない)。ユーザが仮想エリア内にいるが、そのエリアの特定のゾーンの外部にいる場合には、ユーザは特定のゾーン内で生じる対話の中間の詳細レベルを提供される(例えば、ユーザは、そのエリア内の他の通信者が存在する場所を見ることができ、そのヘッドフォン及びマイクロフォンがオンであるか否かは別として、それらの通信者の現在の状態、例えば、話をしている、チャットメッセージをタイピングしている等の視覚化を見ることができ、表示画面のいずれかがアクティブであるか否かを見ることができる);ユーザがそのエリアの特定のゾーン内にいる場合には、その特定のゾーン内で生じる対話の最大の詳細レベルを提供される(例えば、ユーザは、表示画面上で共有されるファイルのサムネイルを見ることができ、そのエリア内の他の通信者の話を聞き、それらの通信者と言葉を交わすことができ、そのゾーン内の通信者によって生成されたチャットメッセージのログの要素を見ることができる)。幾つかの実施形態では、仮想エリアのゾーンに関連付けられた切替規則及び統治規則が、ネットワークインフラストラクチャサービスが、特定のゾーンにおいてプレゼンスを有する人と、プレゼンスを有しない人とをいかに区別するかを制御する。
【0140】
図18は、ビューアペイン402内にアクメ仮想エリアの平面図又は間取図を提示し、ユーザにデフォルトの1組の対話オプションを提供する探索インタフェース400の一実施形態を示す。例示される実施形態では、仮想エリアの中庭ゾーン404内にプレゼンスが自動的に確立され、ユーザのマイクロフォン及びデフォルトのスピーカ(例えば、ヘッドフォン)がオンに切り替えられる。
図14に示される間取図では、ユーザは円形スプライト406によって表される。アクメ仮想エリア内の他のユーザもそれぞれの円形スプライトによって表される。ユーザのスピーカの状態は、ユーザのスプライト406上のヘッドフォングラフィックの存否によって描写される。スピーカがオンであるとき、ヘッドフォングラフィックが存在し、スピーカがオフであるとき、ヘッドフォングラフィックは存在しない。ユーザのマイクロフォンの状態は、ユーザのスプライト上のマイクロフォングラフィックの存否と、ユーザのスプライト406の周囲の一連の同心円とによって描写される。マクロフォンがオンであるとき、マイクロフォングラフィック及び同心円が存在し、マイクロフォンがオフであるとき、マイクロフォングラフィック及び同心円は存在しない。ヘッドフォングラフィック、同心円及びマイクロフォングラフィックは、ユーザのサウンド再生及びマイクロフォンデバイスの状態の視覚的リマインダとしての役割を果たす。
【0141】
探索インタフェースはツールバー408を含み、ツールバーは戻るボタン410、進むボタン412、プレイスマークボタン414、ホームボタン416及び一連の1つ又は複数のブレッドクラムリンク418を含み、ブレッドクラムリンクはマイサイトリンク419から始まり、それを含む。ブレッドクラムリンク418は、一連のユーザ選択可能リンクの階層的シーケンスに対応する。連続するリンクはそれぞれ、仮想エリアの階層モデル内のそれぞれのレベルの視野に対応し、連続するレベルはそれぞれ、レベルのうちの先行するレベルによって含まれる。例示される実施形態では、ブレッドクラムリンク418は、
図14に示されるウエストカンファレンス仮想エリアの現在の視野に対応するウエストカンファレンスリンク417を含む。ブレッドクラム418は、ユーザに、仮想環境の異なるレベルのそれぞれの視野への単一リンク選択アクセスを提供する。加えて、ツールバー408は、人間ペインボタン420、チャットペインボタン421、ビューペインボタン423及び設定ボタン422を含む。
【0142】
マイサイトボタン425は、ビューアペイン402内に、ユーザがそのメンバであるエリアのリストを表示する。マイサイトビュー内のサイト上をクリックすることによって、ユーザは目的エリアにナビゲートされ、その場所に存在するようになる。
【0143】
或るエリアが選択されるか、又は活動中心になっているとき、人間ペインボタン420が「People」を付された2人の図像的表現として現れ、そのボタンによって、メンバ及び仲介者が、現在のエリアに関連付けられた人々のリスト、それらの人々の他のメンバーシップエリア、及びそれらの人々のコンタクトを見ることができるようになる。人間ペインボタン420のユーザ選択に応答して、アクメ仮想エリアの全てのメンバのリスト、他のメンバーシップエリア、及び全てのユーザのコンタクトが人間ペイン427に表示される。ユーザは、リスト内の通信者のいずれかを選択し、ユーザインタフェース内に提示されるゲットボタンをクリックすることができる。それに応答して、プラットフォームは、選択された通信者に、ゾーンのうちの指定されたゾーンにおいてユーザに合流するように招待状を送信する。
【0144】
チャットペインボタンは、現在のプレゼンスゾーンに関連付けられたチャットログを含むチャットペイン429を表示及び非表示にする。
【0145】
ビューアペインボタン423は、マップを表示するか、又はビューア上の画像を着色することができる任意のプロップの図を表示するビューアペイン402を表示及び非表示にする。例は表示画面(画面共有のため)及びメッセージボードオブジェクトを含む。
【0146】
設定ボタン422は、ユーザに、現在のエリアに関連付けられたデフォルト設定を規定するための1組の制御へのアクセスを提供する。
【0147】
ユーザは、戻るボタン410をクリックすることによって、
図14に示されるアクメ仮想エリアの表示から以前の表示に戻るようにナビゲートすることができる。
【0148】
ユーザはアクメ仮想エリアのゾーンのいずれかにナビゲートすることができる。幾つかの実施形態では、或るゾーンに移動するために、(目的ゾーンのためのラベルをクリックすることによって、又はショートカットとして、ゾーンをダブルクリックすることによって)ユーザはモニタ上に表示されたゾーンのうちの1つを実行するためのコマンドを送信し、それに応答して、プラットフォームは、ゾーンオブジェクトに対応するゾーン内にユーザのアバタを描写する。ゾーン実行コマンドに応答して、探索インタフェースは、ブレッドクラムボタン418を更新し、階層内の現在のプレゼンスゾーンを表示する。そのプレゼンスゾーンに固有のツールバーボタンも、ブレッドクラムリンク418の下に現れる。
【0149】
また、ユーザは或るゾーン内に存在する任意のオブジェクト(例えば、画面、テーブル又はファイル)と対話することができる。幾つかの実施形態では、オブジェクトと対話するために、ユーザはオブジェクトをクリックし、それに応答して、プラットフォームは、そのオブジェクトに対する動作を実行する(例えば、オブジェクトのズームイン表示を提示する、対話インタフェースインドウを開く等)。オブジェクト実行コマンドに応答して、探索インタフェースは、プロップをアウトライン表示するか、又は別の方法でハイライトし(そのプロップが選択されたことをユーザに対して示す)、ブレッドクラムボタン418及びツールバーを更新して、その階層内の現在表示されているオブジェクトを示す。
【0150】
図19を参照すると、幾つかの実施形態では、ユーザがウエストカンファレンスゾーン430に入るのに応答して、プラットフォームは、ユーザと、選択されたゾーンを占有する他の通信者のそれぞれとの間のネットワーク接続を自動的に確立する。マップ上のゾーンの名前をクリックすることによって、ユーザはゾーンに入る(それにより、その中でプレゼンスを確立する)こともできる。これにより、プラットフォームは、ユーザのスプライトを現在のロケーション(例えば、中庭)から選択されたゾーン(例えば、ウエストカンファレンス)に動かす。ユーザのスピーカ及びマイクロフォンの状態は、対話制御432、434によって設定することができる。それらの状態は通常、ユーザが1つのロケーションから別のロケーションに動かされても変化しない。探索インタフェース400に関する更なる詳細は、2009年1月15日に出願の米国特許出願第12/354,709号から入手することができる。
【0151】
図20はグラフィカルユーザインタフェース110(
図5を参照)の実施形態450を示し、サーバアプリケーション空間78、80は仮想エリア452、454に対応する。この実施形態では、ユーザは、通信者のアバタを選択することによって、エリア内に存在する通信者のいずれかの対話のコンテキストを視覚化することができる。図示される例では、ユーザはダンのアバタ456を選択し、それに応答して、プラットフォームは、ダンが2人の他の通信者(すなわち、カール及びエド)と話をしている仮想エリア(すなわち、アクメ)のゾーン(すなわち、メイン)の2次元ミニマップ458を生成した。メインゾーン内に存在する通信者は、それぞれのスプライト460、462、464によって表される。各通信者は、スプライト460〜464上のヘッドフォンの存在によって示されるように、それぞれのスピーカチャネルをオンにしている。ダンも、ダンのスプライト460上のマイクロフォングラフィックの存在、及びダンのスプライト460から放射状に広がる同心円の存在によって示されるように、オン状態の自分のマイクロフォンチャネルをオンにしている。ミニマップ458に示されるように、メインゾーンは、ファイルオブジェクト468及び会議オブジェクト470を支えるテーブルオブジェクト466と、4つの表示画面オブジェクト472、474、476、478とを含む。ミニマップ458は、ダンからの状況メッセージ(すなわち、「来週の水曜日に職場に不在」)466にも関連付けられる。ユーザ(この例では「アート」)は、ミニマップ内のゾーンのためのラベル(すなわち、「メイン」)をクリックするか、又はミニマップ458内のフロアの画像上をダブルクリックし、プラットフォームにメインゾーン内にアートのためのプレゼンスを確立するように指示することによって、メインゾーンにおいて行われている会話に参加することができる。オブジェクト466〜470の機能及び動作を含む、メインゾーンとのナビゲーション及び対話に関する更なる詳細は、2009年1月15日に出願の米国特許出願第12/354,709号に記述されている。
【0152】
図21は、2つの異なるエリアベースサーバアプリケーション502、504(エリアアプリケーション1及びエリアアプリケーション2)を含む、仮想環境クリエータ302の実施形態500を示す。各エリアアプリケーション502、504は、それぞれのメンバリスト510、512に関連付けられる。エリアベースサーバアプリケーション502、504は、エリアサービスのそれぞれのインスタンス506、508によって管理される。エリアサービスインスタンス506、508は、ランデブーサービス514と協調して、通信者間にリアルタイム通信のためのそれぞれの異なる仮想エリアを作成する。ランデブーサービス514は関係データベース46、メンバリスト510、512を保持し、プレゼンス情報の収集、記憶及び分配を管理し、要求側エンティティの能力を受けて、(例えば、接続ハンドル516の分配を管理することによって)ネットワークノードが互いと通信するための機構を提供する。ランデブーサービスは通常、プレゼンスデータベース518内にプレゼンス情報を記憶する。ランデブーサービスは通常、通信者プライバシプリファレンス520を介して通信者同士の対話を管理する。
【0153】
例示される実施形態では、通信者C1A、C1B、C1C、C1D及びC2Aはエリアアプリケーション1のメンバであり、通信者C2A、C2B、C2C、C2D及びC1Aはエリアアプリケーション2のメンバである。通信者C1A及びC1Bは現在エリアアプリケーション1に接続されており、通信者C2A、C2B及びC2Cは現在エリアアプリケーション2に接続されている。この例では、通信者C1B、C1C、C1D、C2A、C2B、C2C及びC2Dの全てが通信者C1Aのコンタクトである。
【0154】
図22は、通信者C1Aをネットワーク通信環境に対してインタフェース接続するプロセスにおいて仮想環境クリエータ500によって実施される方法の一実施形態を示す。
図22の方法によれば、通信者C1Aがエリアアプリケーション1に接続するのに応答して、エリアサービス1はランデブーサービス514に、エリア、共同プレゼンス及びプレゼンスによって並べ替えられた、通信者C1Aがメンバである全てのエリアに関する問い合わせを送信する(
図22、ブロック530)。エリアサービス1からの問い合わせを受信するのに応答して、ランデブーサービス514は、通信者C1Aがメンバである全てのエリアを特定する(
図22、ブロック532)。ランデブーサービス514は、メンバリストに基づいて、特定されたエリアの全てのメンバを特定する(
図22、ブロック534)。ランデブーサービス514は通常、その接続状況(すなわち、オンライン又はオフライン)にかかわらず、特定のエリアの全てのメンバのリストを入手する。ランデブーサービス514は、全ての特定されたメンバのプレゼンス状態を特定する(
図22、ブロック536)。ランデブーサービス514は、エリアサービス1に、エリア、共同プレゼンス及びプレゼンスによって並べ替えられた、通信者C1Aがメンバである全てのエリアのための問い合わせ結果を送信する(
図22、ブロック538)。エリアサービス1は、通信者C1Aがエリアアプリケーション1に接続しているクライアントノード上で実行されている通信アプリケーションに問い合わせ結果を送信する(
図22、ブロック540)。
【0155】
図23は、通信者C1Aがエリアアプリケーション1に接続しているクライアントノード上で実行されている通信アプリケーションの一実施形態によって生成されるグラフィカルユーザインタフェース128(
図6を参照)の実施形態550を示す。この例では、グラフィカルユーザインタフェース550は、エリアアプリケーション1及びエリアアプリケーション2によって定義される異なる通信コンテキストにわたる対象通信者C1Aのコンタクトのリアルタイムの応対可能性及び活動を示す。詳細には、エリアアプリケーション1によって定義されるエリア1に関して、グラフィカルユーザインタフェース550は、対象通信者C1Aがエリア1の現在のプレゼンスゾーン内に存在し、通信者C1Bがエリア1に存在し、通信者C1C、C1D及びC2Aがエリア1内に存在しないことを示す。エリアアプリケーション2によって定義されるエリア2に関して、グラフィカルユーザインタフェース550は、通信者C2A及びC2Bがエリア2内の共同プレゼンスゾーン内に存在し、通信者C2Cがエリア2内に存在し、通信者C2D及びC1Aがエリア2内に存在しないことを示す。
【0156】
グラフィカルユーザインタフェース550のコンタクトセクション552をポピュレートする際に、ランデブーサービスは通常、関係データベース46から、対象通信者が対話していた全ての通信者のリストを入手する。関係データベース46は通常、その持続時間及び場所とともに、仮想環境のありとあらゆる仮想エリア内で対象通信者が有していた全ての対話(例えば、音声、チャット、画面共有対話)のレコードを含む。幾つかの実施形態では、コンタクトセクション552は、対象通信者が或るレベルにおいて対話していた全ての通信者を含む。幾つかの実施形態では、コンタクトは、通信者に割り当てられる関係重みスコアに基づいてグループ分けされる。場合によっては、関係重みスコアは、特定の期間(例えば、8時間間隔で過去15日間)中に生じた対話の解析から求められる。コンタクトごとに、それぞれの関係重みスコアは、コンタクトが対象通信者と対話していた間隔ごとにインクリメントされ、関係重みスコアが高いほど、最近の期間中にコンタクトと対象通信者との対話が頻繁であったことを示す。コンタクトは、関係重みスコアに基づいて、複数のカテゴリ(例えば、「頻繁」、「通常」及び「希少」にグループ分けすることができる。
【0157】
III.結論
本明細書において記述される実施形態は、ネットワーク通信環境内の通信者対話を促進するための改善されたシステム及び方法を提供する。詳細には、これらの実施形態は、種々の通信コンテキストにわたって通信者のコンタクトのリアルタイムの応対可能性及び活動のリアルタイムの視覚化を提供する。このリアルタイムの視覚化によって与えられる情報は、通信者が、より多くの情報に基づいてネットワーク対話の判断(例えば、コンタクトと対話する時点の判断)を行うことを可能にし、通信者が他の通信者との対話を開始し、その情報がなければ通信者が認識していなかったコンテキスト(例えば、通信者間の継続中の会話)に加わるのを助長する。
【0158】
他の実施形態も特許請求の範囲内にある。
尚、出願当初の特許請求の範囲は以下の通りである。
請求項1:
クライアントネットワークノード(12、14)のそれぞれから動作する通信者が、1つ又は複数のサーバネットワークノード(40)によってホスティングされる異なるサーバアプリケーション(44)に接続するネットワーク通信環境(10)において、
前記通信者のうちの対象通信者に関連する通信者を突き止めるステップと、
前記異なるサーバアプリケーション(44)に対する前記関連する通信者の状況を特定するステップと、
前記対象通信者に、前記関連する通信者、及び該関連する通信者の前記特定された状況の指示を送信するステップとを含む、方法。
請求項2:
複数の前記異なるサーバアプリケーション(44)はそれぞれ、前記通信者のそれぞれの間の同期会議を可能にする、請求項1に記載の方法。
請求項3:
前記サーバアプリケーション(44)のうちの所与のサーバアプリケーションは、前記通信者のそれぞれがそれぞれと関連付けられることができる複数のゾーンを有し、前記送信するステップは、前記関連する通信者のそれぞれが前記所与のサーバアプリケーションの前記ゾーンのうちのいずれに関連付けられているかの指示を送信するステップを含む、請求項1に記載の方法。
請求項4:
前記特定するステップは、前記関連する通信者ごとに、前記関連する通信者が少なくとも1人の他の通信者と共存する前記ゾーンのそれぞれを特定するステップを含み、前記送信するステップは、前記関連する通信者の特定されたメンバーシップの指示を送信するステップを含む、請求項3に記載の方法。
請求項5:
前記ゾーンのそれぞれは、物理的環境の要素の、グラフィカル表現のそれぞれに関連付けられる、請求項3に記載の方法。
請求項6:
前記ゾーンのそれぞれは、オフィス環境(378)の物理的空間の、グラフィカル表現のそれぞれに関連付けられる、請求項3に記載の方法。
請求項7:
前記特定するステップは、前記関連する通信者ごとに、前記関連する通信者がメンバーシップを有する前記サーバアプリケーション(44)のそれぞれを特定するステップを含み、前記送信するステップは、前記関連する通信者の前記特定されたメンバーシップの指示を送信するステップを含む、請求項1に記載の方法。
請求項8:
前記突き止めるステップは、前記サーバアプリケーション(44)のそれぞれに関連して前記対象通信者が対話した前記通信者を、前記関連する通信者のそれぞれとして識別するステップを含む、請求項1に記載の方法。
請求項9:
前記識別するステップは、前記サーバアプリケーション(44)のそれぞれに関連して与えられたリアルタイム通信機能を通じて前記対象通信者が通信した前記通信者を前記関連する通信者のそれぞれとして識別するステップを含む、請求項8に記載の方法。
請求項10:
前記リアルタイム通信機能は、オーディオ通信機能、ビデオ通信機能、リアルタイムテキストチャット通信機能、及びファイル共有通信機能のうちの少なくとも1つを含む、請求項9に記載の方法。
請求項11:
前記突き止めるステップは、前記対象通信者がコンタクトとして要求した前記通信者を前記関連する通信者のそれぞれとして識別するステップを含む、請求項1に記載の方法。
請求項12:
前記送信するステップは、前記ネットワーク通信環境(10)に現在接続されている前記関連する通信者の指示と、前記ネットワーク通信環境(10)に現在接続されていない前記関連する通信者のそれぞれの指示とを送信するステップを含む、請求項1に記載の方法。
請求項13:
前記特定するステップは、前記関連する通信者ごとに、前記関連する通信者がプレゼンスを有する前記サーバアプリケーション(44)のそれぞれを特定するステップを含み、
前記送信するステップは、前記関連する通信者のそれぞれが前記サーバアプリケーション(44)のうちのいずれにプレゼンスを有するかの指示を送信するステップを含む、請求項1に記載の方法。
請求項14:
前記サーバアプリケーション(44)のうちの所与のサーバアプリケーションが、前記通信者のそれぞれがそれぞれのプレゼンスをそれぞれと確立することができる複数のゾーンを有し、
前記関連する通信者ごとに、前記関連する通信者がプレゼンスを有する前記所与のサーバアプリケーションの各ゾーンを特定するステップを更に含み、
前記送信するステップは、前記関連する通信者のそれぞれが前記所与のサーバアプリケーションの前記ゾーンのうちのいずれにプレゼンスを有するかの指示を送信するステップを含む、請求項13に記載の方法。
請求項15:
前記関連する通信者を並べ替えるステップを更に含み、前記送信するステップは、前記並べ替えの指示を送信するステップを含む、請求項1に記載の方法。
請求項16:
前記並べ替えるステップは、前記関連する通信者と前記サーバアプリケーション(44)との間の関連に従って前記関連する通信者をサーバアプリケーショングループにグループ分けするステップを含む、請求項15に記載の方法。
請求項17:
前記グループ分けするステップは、各サーバアプリケーショングループ内で、それぞれの前記サーバアプリケーション(44)への接続の状況によって前記関連する通信者のそれぞれを並べ替えるステップを含む、請求項16に記載の方法。
請求項18:
前記グループ分けするステップは、各サーバアプリケーショングループ内で、前記ネットワーク通信環境における前記対象通信者との対話の頻度によって前記関連する通信者のそれぞれを並べ替えるステップを含む、請求項16に記載の方法。
請求項19:
前記サーバアプリケーション(44)のうちの所与のサーバアプリケーションが、前記通信者のそれぞれがそれぞれのプレゼンスをそれぞれと確立することができる複数のゾーンを有し、
前記グループ分けするステップは、前記所与のサーバアプリケーションに関連付けられた前記関連する通信者のそれぞれを、前記関連する通信者と前記所与のサーバアプリケーションの前記ゾーンとの間の関連に従ってゾーングループにグループ分けするステップを含む、請求項16に記載の方法。
請求項20:
前記グループ分けするステップは、前記通信者のうちの少なくとも2人が共存する前記ゾーンに従って、前記所与のサーバアプリケーションに関連付けられた前記関連する通信者のそれぞれをグループ分けするステップを含む、請求項19に記載の方法。
請求項21:
前記並べ替えるステップは、前記対象通信者が前記所与のサーバアプリケーションの前記ゾーンのうちのいずれのプレゼンスを有するかに従って前記ゾーングループを並べ替えるステップを含む、請求項19に記載の方法。
請求項22:
前記並べ替えるステップは、前記サーバアプリケーション(44)のそれぞれとの接続状況のそれぞれに従って前記関連する通信者をグループ分けするステップを含む、請求項16に記載の方法。
請求項23:
前記並べ替えるステップは、前記サーバアプリケーション(44)の全てに接続されていない前記関連する通信者を同じグループにグループ分けするステップを含む、請求項22に記載の方法。
請求項24:
前記関連する通信者のそれぞれのリアルタイム活動状態を特定するステップを更に含み、前記送信するステップは前記特定されたリアルタイム活動状態の指示を送信するステップを含む、請求項1に記載の方法。
請求項25:
前記特定するステップは、前記関連する通信者のそれぞれのリアルタイム通信活動を特定するステップを含む、請求項24に記載の方法。
請求項26:
前記リアルタイム通信活動は、オーディオ通信活動、ビデオ通信活動、リアルタイムテキストチャット活動及びファイル共有活動のうちの少なくとも1つを含む、請求項25に記載の方法。
請求項27:
前記サーバアプリケーション(44)のそれぞれに関連して前記関連する通信者のそれぞれと通信するために利用可能な通信チャネルを特定するステップを更に含み、前記送信するステップは、前記関連する通信者のそれぞれ、及び前記サーバアプリケーション(44)のそれぞれに関連して前記特定された通信チャネルの指示を送信するステップを含む、請求項1に記載の方法。
請求項28:
前記特定するステップは、前記関連する通信者のそれぞれのリアルタイム通信能力と、前記サーバアプリケーション(44)のそれぞれによって可能にされるリアルタイム通信機能とを比較するステップを含む、請求項27に記載の方法。
請求項29:
前記リアルタイム通信チャネルは、オーディオ通信チャネル、ビデオ通信チャネル、リアルタイムテキストチャットチャネル及びファイル共有チャネルのうちの少なくとも1つを含む、請求項27に記載の方法。
請求項30:
それぞれのクライアントネットワークノード(12、14)から動作する通信者が1つ又は複数のサーバネットワークノード(40)によってホスティングされる異なるサーバアプリケーション(44)に接続するネットワーク通信環境(10)内で動作する装置であって、
コンピュータ可読命令を記憶するコンピュータ可読メモリと、
前記メモリに結合され、前記命令を実行するように動作可能であり、前記命令の実行に少なくとも部分的に基づいて、
前記通信者のうちの対象通信者に関連する前記通信者を突き止める手順と、
前記異なるサーバアプリケーション(44)に対する前記関連する通信者の状況を特定する手順と、
前記対象通信者に、前記関連する通信者及び該関連する通信者の前記特定された状況の指示を送信する手順とを含む動作を実行するように動作可能であるデータプロセッサとを備える装置。
請求項31:
コンピュータ可読プログラムコードを埋め込んだ少なくとも1つのコンピュータ可読メモリデバイスであって、前記コンピュータ可読プログラムコードは、それぞれのクライアントネットワークノード(12、14)から動作する通信者が1つ又は複数のサーバネットワークノード(40)によってホスティングされる異なるサーバアプリケーション(44)に接続するネットワーク通信環境(10)内のコンピュータによって実行されると、前記コンピュータに、
前記通信者のうちの対象通信者に関連する前記通信者を突き止める手順と、
前記異なるサーバアプリケーション(44)に対する前記関連する通信者の状況を特定する手順と、
前記対象通信者に、前記関連する通信者及び該関連する通信者の前記特定された状況の指示を送信する手順とを含む動作を実行させる、
コンピュータ可読メモリデバイス。
請求項32:
それぞれのクライアントネットワークノード(12、14)から動作する通信者が1つ又は複数のサーバネットワークノード(40)によってホスティングされる異なるサーバアプリケーション(44)に接続するネットワーク通信環境(10)において、
前記通信者のうちの所与の通信者が動作している前記クライアントネットワークノード(12、14)のうちの所与のクライアントネットワークノードによって、
前記サーバアプリケーション(44)のうちの対象サーバアプリケーションに接続するステップと、
前記所与の通信者に関連する前記通信者、及び前記異なるサーバアプリケーション(44)との関連に対する前記関連する通信者の状況の指示を受信するステップと、
前記関連する通信者のグラフィカル表現と、前記異なるサーバアプリケーション(44)への接続に対する前記関連する通信者の前記状況のグラフィカル指示とをディスプレイ上に表示するステップとを含む、方法。
請求項33:
前記受信した指示は、前記関連する通信者のそれぞれが前記サーバアプリケーション(44)のうちのいずれにプレゼンスを有するかの指示を含み、
前記表示するステップは、前記関連する通信者がプレゼンスを有する前記サーバアプリケーション(44)のそれぞれに関連して前記関連する通信者のグラフィカル表現を表示するステップを含む、請求項32に記載の方法。
請求項34:
前記サーバアプリケーション(44)のうちの所与のサーバアプリケーションは、前記通信者のそれぞれがそれぞれのプレゼンスをそれぞれと確立することができる複数のゾーンを有し、
前記受信した指示は、前記関連する通信者ごとに、前記関連する通信者がプレゼンスを有する前記所与のサーバアプリケーションの各ゾーンのそれぞれの指示を含み、
前記表示するステップは、前記関連する通信者がプレゼンスを有する前記所与のサーバアプリケーションの前記ゾーンのそれぞれに関連して前記関連する通信者の前記グラフィカル表現を表示するステップを含む、請求項33に記載の方法。
請求項35:
前記表示するステップは、前記ゾーンを物理的環境(378)の要素の、グラフィカル表現のそれぞれとして表示するステップを含む、請求項34に記載の方法。
請求項36:
前記表示するステップは、前記ゾーンをオフィス環境に関連付けられた物理的空間の、グラフィカル表現のそれぞれとして表示するステップを含む、請求項35に記載の方法。
請求項37:
前記受信した指示は、前記関連する通信者のそれぞれが関連付けられた前記サーバアプリケーション(44)の指示を含み、
前記表示するステップは、前記関連する通信者と前記サーバアプリケーション(44)との間の関連に従ってサーバアプリケーショングループにグループ分けされた前記関連する通信者の前記グラフィカル表現を表示するステップを含む、請求項32に記載の方法。
請求項38:
前記表示するステップは、各サーバアプリケーショングループ内で、前記サーバアプリケーション(44)のそれぞれへの接続の状況によって並べ替えられた前記関連する通信者のそれぞれの前記グラフィカル表現を表示するステップを含む、請求項37に記載の方法。
請求項39:
前記表示するステップは、各サーバアプリケーショングループ内で、前記ネットワーク通信環境(10)における所与の通信者との対話の頻度によって並べ替えられた前記関連する通信者のそれぞれの前記グラフィカル表現を表示するステップを含む、請求項37に記載の方法。
請求項40:
前記サーバアプリケーション(44)のうちの所与のサーバアプリケーションは、前記通信者のそれぞれがそれぞれのプレゼンスをそれぞれと確立することができる複数のゾーンを有し、
前記表示するステップは、前記関連する通信者と前記所与のサーバアプリケーションの前記ゾーンとの間の前記関連に従ってゾーングループにグループ分けされた前記所与のサーバアプリケーションに関連付けられた前記関連する通信者のそれぞれのグラフィカル表現を表示するステップを含む、請求項37に記載の方法。
請求項41:
前記表示するステップは、前記関連する通信者のうちの少なくとも2人が共存する前記ゾーンに従ってグループ分けされた前記所与のサーバアプリケーションに関連付けられた前記関連する通信者のそれぞれのグラフィカル表現を表示するステップを含む、請求項40に記載の方法。
請求項42:
前記表示するステップは、前記所与の通信者が前記所与のサーバアプリケーションの前記ゾーンのうちのいずれのプレゼンスを有するかに従って並べ替えられた前記ゾーングループを表示するステップを含む、請求項40に記載の方法。
請求項43:
前記表示するステップは、前記サーバアプリケーション(44)のそれぞれとのそれぞれの接続状況に従ってグループ分けされた前記関連する通信者の前記グラフィカル表現を表示するステップを含む、請求項38に記載の方法。
請求項44:
前記表示するステップは、前記サーバアプリケーション(44)の全てに接続されていない、同じグループにグループ分けされた前記関連する通信者の前記グラフィカル表現を表示するステップを含む、請求項43に記載の方法。
請求項45:
前記受信した指示は、前記関連する通信者のそれぞれのリアルタイム活動状態の指示を含み、
前記表示するステップは、前記関連する通信者の前記グラフィカル表現のそれぞれに関連して前記リアルタイム活動状態のグラフィカル指示を表示するステップを含む、請求項32に記載の方法。
請求項46:
前記リアルタイム通信活動は、オーディオ通信活動、ビデオ通信活動、リアルタイムテキストチャット活動及びファイル共有活動のうちの少なくとも1つを含む、請求項45に記載の方法。
請求項47:
前記受信した指示は、前記サーバアプリケーション(44)のそれぞれに関連して前記関連する通信者のそれぞれと通信するために利用可能な通信チャネルの指示を含み、
前記表示するステップは、前記関連する通信者のそれぞれの前記グラフィカル表現に関連して前記通信チャネルのグラフィカル指示を表示するステップを含む、請求項32に記載の方法。
請求項48:
前記リアルタイム通信チャネルは、オーディオ通信チャネル、ビデオ通信チャネル、リアルタイムテキストチャットチャネル及びファイル共有チャネルのうちの少なくとも1つを含む、請求項47に記載の方法。
請求項49:
前記受信した指示は、前記ネットワーク通信環境(10)に接続される前記関連する通信者の指示と、前記ネットワーク通信環境に接続されない前記関連する通信者の指示とを含み、
前記表示するステップは、前記ネットワーク通信環境に接続される前記関連する通信者の前記グラフィカル表現に関連してオンライン接続状況インジケータを表示するステップと、前記ネットワーク通信環境に接続されない前記関連する通信者の前記グラフィカル表現に関連してオフライン接続状況インジケータを表示するステップとを含む、請求項32に記載の方法。
請求項50:
それぞれのクライアントネットワークノード(12、14)から動作する通信者が1つ又は複数のサーバネットワークノード(40)によってホスティングされる異なるサーバアプリケーション(44)に接続するネットワーク通信環境(10)において動作する装置であって、
コンピュータ可読命令を記憶するコンピュータ可読メモリと
前記メモリに結合され、前記命令を実行するように動作可能であり、前記命令の実行に少なくとも部分的に基づいて、
前記サーバアプリケーション(44)のうちの対象サーバアプリケーションに接続する手順と、
前記所与の通信者に関連する前記通信者、及び前記異なるサーバアプリケーション(44)との関連に対する前記関連する通信者の状況の指示を受信する手順と、
前記関連する通信者のグラフィカル表現と、前記異なるサーバアプリケーション(44)との接続に対する前記関連する通信者の前記状況のグラフィカル指示とをディスプレイ上に表示する手順とを含む動作を実行するように動作可能であるデータプロセッサとを備える、装置。
請求項51:
コンピュータ可読プログラムコードを組み入れた少なくとも1つのコンピュータ可読メモリデバイスであって、前記コンピュータ可読プログラムコードは、それぞれのクライアントネットワークノード(12、14)から動作する通信者が1つ又は複数のサーバネットワークノード(40)によってホスティングされる異なるサーバアプリケーション(44)に接続するネットワーク通信環境(10)内のコンピュータによって実行されると、前記コンピュータに、
前記サーバアプリケーション(44)のうちの対象サーバアプリケーションに接続する手順と、
前記所与の通信者に関連する前記通信者、及び前記異なるサーバアプリケーション(44)との関連に対する前記関連する通信者の状況の指示とを受信する手順と、
前記関連する通信者のグラフィカル表現と、前記異なるサーバアプリケーション(44)との接続に対する前記関連する通信者の前記状況のグラフィカル指示とをディスプレイ上に表示する手順とを含む動作を実行させる、コンピュータ可読メモリデバイス。
請求項52:
それぞれのクライアントネットワークノード(12、14)から動作する通信者が1つ又は複数のサーバネットワークノード(40)によってホスティングされる異なるサーバアプリケーション(44)に接続するネットワーク通信環境(10)において、
前記ネットワーク通信環境内の前記通信者のそれぞれがそれぞれ関与する異なるタイプのリアルタイム通信活動の指示を受信するステップと、
前記通信者のうちの1人又は複数人のそれぞれの、それぞれのグラフィカル表現を含むコンタクトリスト(60、70、106、110、128、450、550、610)をディスプレイ上に表示するステップとを含み、前記表示するステップは、前記1つ又は複数のグラフィカル表現に関連して、前記1人又は複数人の通信者がそれぞれ関与する突き止められたタイプの現在の対話活動を表す視覚的合図を描写するステップを含む、方法。
請求項53:
前記受信するステップは、前記通信者のそれぞれの通信活動から導出されたコンテンツを含むリアルタイムデータストリームと、前記受信したリアルタイムデータストリームのタイプを識別するコンテンツタイプ識別子の形のそれぞれの指示とを受信するステップを含み、前記それぞれのコンテンツタイプ識別子から前記リアルタイム通信活動の前記それぞれのタイプを特定するステップを更に含む、請求項52に記載の方法。
請求項54:
前記受信したリアルタイムデータストリームから人が知覚可能な出力を生成するステップを更に含む、請求項53に記載の方法。
請求項55:
前記受信するステップは、前記ネットワーク通信環境内の前記通信者のうちの所与の通信者が関与するリアルタイムチャット活動の指示を受信するステップを含み、前記表示するステップは、前記所与の通信者の前記グラフィカル表現に関連して前記リアルタイムチャット活動を示す視覚的合図を表示するステップを含む、請求項52に記載の方法。
請求項56:
前記受信するステップは、前記ネットワーク通信環境内の前記通信者のうちの所与の通信者が関与するリアルタイムファイル共有活動の指示を受信するステップを含み、前記表示するステップは、前記所与の通信者の前記グラフィカル表現に関連して前記リアルタイムファイル共有活動を示す視覚的合図を表示するステップを含む、請求項52に記載の方法。
請求項57:
前記受信するステップは、前記ネットワーク通信環境内の前記通信者のうちの所与の通信者が関与するリアルタイムアプリケーション共有活動の指示を受信するステップを含み、前記表示するステップは、前記所与の通信者の前記グラフィカル表現に関連して前記リアルタイムアプリケーション共有活動を示す視覚的合図を表示するステップを含む、請求項52に記載の方法。
請求項58:
前記受信するステップは、前記ネットワーク通信環境内の前記通信者のうちの所与の通信者が関与するリアルタイム音声活動の指示を受信するステップを含み、前記表示するステップは、前記所与の通信者の前記グラフィカル表現に関連して前記リアルタイム音声活動を示す視覚的合図を表示するステップを含む、請求項52に記載の方法。
請求項59:
それぞれのクライアントネットワークノード(12、14)から動作する通信者が1つ又は複数のサーバネットワークノード(40)によってホスティングされる異なるサーバアプリケーション(44)に接続するネットワーク通信環境(10)において、
前記通信者のうちの1人又は複数人のそれぞれについて、
前記通信者によって要求されるそれぞれの1組の複数の識別情報を特定するステップであって、該各識別情報は、ネットワークサービスのそれぞれとの関連で前記通信者と通信するための通信ハンドルのそれぞれに関連付けられる、特定するステップ、
各1組の複数の識別情報を、前記ネットワーク通信環境内の前記通信者を識別するそれぞれの単一のユニバーサルユーザ識別子と関連付けるステップ、及び
ユーザアカウントのそれぞれに関連付けられた前記通信者の複数組の1人又は複数人のコンタクトを識別するステップと、
前記通信者のうちの対象通信者に関連する前記通信者を突き止めるステップであって、該突き止めるステップは、前記通信者によって要求される前記それぞれの識別情報に関連付けられた前記それぞれの通信ハンドルに基づいて、前記通信者のそれぞれを前記対象通信者のコンタクトのそれぞれに一致させるステップを含む、突き止めるステップと、
前記対象通信者に、それぞれのユニバーサル識別子によって識別される前記関連する通信者の指示を送信するステップとを含む、方法。
請求項60:
前記接続ハンドルはリアルタイム通信サービスを介して前記通信者のそれぞれと通信するためのハンドルである、請求項59に記載の方法。
請求項61:
前記リアルタイム通信サービスは、インスタントメッセージングサービス、オーディオ会議サービス、ビデオ会議サービス、及びファイル共有サービスのうちの少なくとも1つを含む、請求項60に記載の方法。
請求項62:
前記接続ハンドルは、電子メールサービスを介して前記通信者のそれぞれと通信するためのハンドルである、請求項59に記載の方法。
請求項63:
前記接続ハンドルは、ソーシャルネットワークサービスを介して前記通信者のそれぞれと通信するためのハンドルである、請求項59に記載の方法。
請求項64:
前記サーバアプリケーション(44)への接続に対する前記関連する通信者の接続状況を特定するステップと、前記対象通信者に、前記関連する通信者の仕様と、該関連する通信者の前記特定された接続状況とを送信するステップとを更に含む、請求項59に記載の方法。
請求項65:
前記関連する通信者のうちの所与の関連する通信者が前記サーバアプリケーション(44)のうちの所与のサーバアプリケーションから切断されたとの判断に応答して、
前記所与の関連する通信者が前記ネットワークサービスのうちのいずれに接続されているかを判断するステップと、
前記対象通信者に、前記所与の関連する通信者が前記所与のサーバアプリケーションから切断されていることの指示と、前記所与の関連する通信者が、前記所与の関連する通信者が接続されていると判断される前記ネットワークサービスのうちの1つ又は複数を介して通信に応対可能であることの指示とを送信するステップとを含む、請求項64に記載の方法。
請求項66:
それぞれクライアントネットワークノード(12、14)から動作する通信者が、該通信者のそれぞれがそれぞれと関連付けられることができる複数のゾーンを有する仮想エリアに接続するネットワーク通信環境(10)において、
前記通信者のうちの対象通信者に関連する前記通信者を突き止めるステップと、
前記関連する通信者の少なくとも1人が前記少なくとも1人の他の通信者と共存する前記各ゾーンを特定するステップと、
前記関連する通信者と前記ゾーンとの間の関連に従ってゾーングループにグループ分けされた前記関連する通信者のグラフィカル表現をディスプレイ上に表示するステップとを含み、前記ゾーングループは前記特定されたゾーンごとに別々のそれぞれのゾーングループを含む、方法。
請求項67:
前記仮想エリアは空間視覚化に関連付けられた仮想エリアであり、前記ゾーンは前記空間視覚化のセクションのそれぞれに対応する、請求項66に記載の方法。
請求項68:
前記仮想エリアはソフトウェアアプリケーションを表し、前記ゾーンは前記ソフトウェアアプリケーションのセクションのそれぞれに対応する、請求項66に記載の方法。
請求項69:
前記仮想エリアはコンピュータデータファイルを表し、前記ゾーンは前記コンピュータデータファイルのセクションのそれぞれに対応する、請求項66に記載の方法。