(57)【要約】オンライン・ゲーム・セッションなどのセッションが、ユーザが非アクティブであるときでさえもユーザの代わりにプロキシ・エージェントによって維持される。エージェントはその他のコンポーネントと共に、セッションを開始および実行することが費やす時間を大幅に削減する新規の「常にオンの」アーキテクチャを形成する。
2009532765.tif 000002
【特許請求の範囲】
【請求項１】
クライアントの存在状態を監視するステップと、
前記状態がクライアントが非アクティブであることを示すときでさえも前記クライアントの代わりにセッションを維持するステップと
を含む、セッションを維持するための方法。
【請求項２】
前記クライアントがアクティブであるときに前記クライアントにメッセージを転送するステップをさらに含み、前記メッセージは、前記クライアントが非アクティブであったときに受信された、請求項１に記載の方法。
【請求項３】
前記セッションはオンライン・ゲームに関連する、請求項１に記載の方法。
【請求項４】
前記メッセージは無線で転送される、請求項２に記載の方法。
【請求項５】
前記クライアントが非アクティブであるときでさえも１人または複数人の第三者ユーザに関する存在状態情報を収集するステップをさらに含む、請求項１に記載の方法。
【請求項６】
１つまたは複数のインジケータを更新するために前記クライアントにメッセージを転送するステップをさらに含み、前記インジケータのうちの少なくとも１つは、１人または複数人の第三者ユーザの存在状態情報に関連付けられる、請求項１に記載の方法。
【請求項７】
１人または複数人の第三者ユーザの１つまたは複数の識別情報を受信するステップと、
特定された第三者ユーザのプロフィールを、セッションを開始する要求の属性と比較することによって、前記第三者ユーザのうちの任意の第三者ユーザが前記セッションに参加する資格を与えられるかどうかを判定する比較ステップと、
前記要求を開始したユーザと共に、前記セッションに参加する資格を得る第三者ユーザを含むグループを形成するステップと
を含む、１つまたは複数のセッションに関連する１つまたは複数のグループを形成するための方法。
【請求項８】
前記要求によって必要とされる実質的に同じスキル・レベルを有する各第三者ユーザを前記グループに追加するステップ
をさらに含む請求項７に記載の方法。
【請求項９】
要求を満足する第三者ユーザを特定するために第三者ロビーに前記要求の要件を転送するステップと、
前記要求を満足する各第三者ユーザの識別情報を受信するステップと、
前記要求を開始したユーザと共に、前記要求を満足する第三者ユーザを含むグループを形成するステップと
をさらに含む請求項７に記載の方法。
【請求項１０】
オンライン・ゲーム・セッションを維持するためのシステムであって、
クライアントの存在状態を監視し、
前記状態がクライアントが非アクティブであることを示すときでさえも前記クライアントの代わりにオンライン・ゲーム・セッションを維持し、
前記クライアントがアクティブであるときに、前記クライアントが非アクティブであるときに受信されたメッセージを前記クライアントに無線で転送する
ように動作するエージェントを含む、システム。
【発明の詳細な説明】
【技術分野】
【０００１】
ユーザが、オンラインゲームを含む全ての種類の通信に関連するセッションを実行するためのＰ−キテクチャに関する。
【背景技術】
【０００２】
インターネットおよびその他のネットワークを介してオンライン・ゲームをプレイすることに参加する人の数の爆発的増加が現在存在する。これらのゲームは、ゲーム内で１人または複数人の間のインタラクティブなプレイを可能にする。この発展と平行して生じたのは、インタラクティブなオンライン・ゲームが成長することを可能にするための、ネットワークを介して送信されなければならないシグナリングおよび情報メッセージの量の増大である。そのようなネットワークのサービス・プロバイダが直面する変化の一部は、（ａ）どのようにしてオンライン・ゲームをより個人化するか、（ｂ）どのようにしてネットワークによって引き起こされるあらゆる遅延を削減するか、（ｃ）どのようにしてそのようなゲームのインタラクティブな性質を高めるか、および（ｄ）それらのサービス・プロバイダのコストを大きく増大することなしにこれらの目的を達成するためにどのようにそれらのサービス・プロバイダの既存のネットワークを使用するかを含む。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
（ａ）の例として、オンライン・ゲームをプレイしたいユーザに、そのユーザの親友（「仲間」と呼ばれることもある）もオンラインであり、ゲームをプレイすることが可能なときを知る手段を提供することが望ましい。同様に、仲間がオンラインであり、ゲームをプレイすることが可能な場合、そのようなゲームを非常に迅速に開始することができることが望ましい。そのようにする際、サービス・プロバイダが、それらのサービス・プロバイダの既存のネットワークをアップグレードまたは変更することに多額の金を費やす必要なしにこれらの特徴を提供することを可能にすることが望ましい。
【課題を解決するための手段】
【０００４】
上述の希望およびその他の希望を叶えるために、本発明は、ユーザが、オンライン・ゲームを含む全ての種類の通信に関連するセッションを実行するために互いにより容易におよびより迅速に通信することを可能にする新規のアーキテクチャを提供する。本発明の一実施形態において、「常にオンの」アーキテクチャが、「常にオンの」プロキシ・エージェントを用いて「常にオンの」セッションを開始する「常にオンの」クライアントを含む。その後、エージェントは、クライアントが非アクティブになる（例えば、クライアントを含むデバイスがもはや電源がオンでないなど）としても、クライアントに代わってセッションを維持するように動作可能である。クライアントが非アクティブである可能性があるとしても、エージェントは、クライアントを対象とする情報メッセージを選別するか、またはそうでなければフィルタリングすることができる。クライアントが最終的に再びアクティブになるとき、エージェントは、選別されたメッセージをクライアントに転送することができる。エージェントがクライアントに代わって動作するので、通信セッションが速やかに開始および再開されることができる。
【０００５】
実質的にほとんど無線リンク時間が使用されないことを保証するために、本発明のさらなる実施形態において、クライアントおよびエージェントは、短いバイナリ・メッセージとして、または無線リンクおよび／もしくは帯域幅を節約することに役立つ別のフォーマットでフォーマットされたメッセージを交換することができる。
【０００６】
また、新規のアーキテクチャは、「常にオンのロビー」も含むことができる。本発明の一実施形態において、ロビーは、ユーザ・グループを形成し、維持管理するように動作可能であることができ、各グループは、特定の種類のアプリケーション（例えば、オンライン・ゲーム）に関連付けられることができる。
【０００７】
アーキテクチャの３つのコンポーネントのそれぞれ、すなわち、クライアント、エージェント、およびロビーは、コンパクト・ディスク、ハード・ドライブ、メモリ、プロセッサ、または今述べたデバイスの何らかの組合せなどのコンピュータ可読媒体上に記憶される１つもしくは複数のファームウェアまたはソフトウェア・アプリケーションの形態を取ることができる。そして今度は、これらのデバイスは、電話、携帯情報端末（ＰＤＡ）、ゲーム機、コンピュータ（デスクトップもしくはラップトップ）、サーバ、または何らかの種類の管理デバイスなどのより大きな有線または無線デバイス内に組み込まれることができる。
【発明を実施するための最良の形態】
【０００８】
ここで図１を参照すると、本発明の一実施形態によるアーキテクチャ１が示されている。このアーキテクチャ１は、プロバイダのネットワークに対する最小限の量の変更またはアップグレードを要求しながら、以前に可能と考えられていたよりも高速なやり方で１つまたは複数のサービスを提供するためにサービス・プロバイダによって使用されることができる。示されるように、アーキテクチャ１は、少なくとも１つの常にオンのクライアント２、少なくとも１つの常にオンのプロキシ・エージェント３、および少なくとも１つの常にオンのロビー４を含む。同様に示されるのは、少なくとも１つのその他のアプリケーションのクライアント２ａ（例えば、ゲーム・クライアント）、アプリケーションのエンジン５（例えば、ゲーム・エンジン）、およびエージェント３００などの１つまたは複数の任意的な第三者エージェントである。クライアント２およびアプリケーションのクライアント２ａは、何らかの種類の単一のコンピュータ可読媒体２０に一緒に配置され、記憶されることができる１つもしくは複数のソフトウェアまたはファームウェア・プログラム／アプリケーションを含むことができ、そしてまた、その単一のコンピュータ可読媒体２０は、有線もしくは無線電話、ＰＤＡ、コンピュータ、ゲーム機、または１つもしくは複数の機能（例えば、電子メールおよびボイス・メッセージ）を組み合わせるデバイスなどのより大きなデバイス２００内に組み込まれることができる。代替として、クライアント２およびアプリケーションのクライアント２ａは、２つ以上の媒体に記憶されることができるか、または別個の媒体に記憶されることができる。同様に、エージェント３およびロビー４も１つまたは複数のアプリケーションを含むことができ、やはりサーバ３４などの１つまたは複数のより大きなデバイスの一部である何らかの種類のコンピュータ可読媒体３０、４０にそれぞれ記憶されることができる。１つのコンポーネント３４として示されるが、エージェント３およびロビー４は別個のコンポーネント／アプリケーションであってよく、一緒に配置される必要がない可能性があることを理解されたい。コンピュータ可読媒体上に記憶されるとき、コンポーネント２、２ａ、３、４、および５の特徴および機能は、それぞれのアプリケーションなどを構成するコードによって実行および／または制御されることができる。
【０００９】
以下に続く検討はオンライン・ゲームに焦点を当てるが、本発明によって提供される「常にオンの」アーキテクチャは任意の数のサービスに対して使用されることができ、すなわち、それらの「常にオンの」アーキテクチャは、ゲーム・サービス、アプリケーション、または活動だけに限定されないことを理解されたい。
【００１０】
さらに、サービス・プロバイダは、任意の数のやり方で、本発明によって提供される常にオンのアーキテクチャを実装することを選択することができることを理解されたい。例えば、アーキテクチャ（アーキテクチャ１など）は、そのアーキテクチャが別の通信アプリケーション（例えば、ゲーム・アプリケーション）の「下部に」あるようにサービス・プロバイダによって実装されることができる。換言すれば、サービス・プロバイダが有する利用可能な任意の第三者通信アプリケーションは、常にオンのアーキテクチャの上にあることができる。
【００１１】
我々は、以下の順序、すなわち、クライアント２、その次にエージェント３、その次にロビー４の順序でアーキテクチャ１の要素のそれぞれを検討する。
【００１２】
本発明の一実施形態において、クライアント２は、無線電話、ＰＤＡ、ラップトップ・コンピュータ、２つ以上の機能（電子メールおよび音声）を組み合わせるデバイスなどのより大きなデバイス上で実行されるいわゆる「薄い・コンポーネント」を含むことができる。
【００１３】
クライアント２（および／またはアプリケーションのクライアント２ａ）を組み込むデバイス２００が電源をオンにされるとき、クライアント２は、初期化プロセスを実行するように動作可能である。この期間中に、クライアント２は、クライアント２にプロビジョニングされた（すなわち、割り当てられた）プロキシ・エージェント３の識別情報を受信するために、（図１に示されていない）プロビジョニング・サーバなどと通信する。本発明の一実施形態によれば、プロビジョニング・サーバは、クライアント２に近いエージェントを選択することができる。
【００１４】
本発明の一実施形態において、セッションを開始するために、ゲーム・セッションか、それとも別の種類の通信セッションかに関わらず、クライアント２は、クライアント２と特定されたエージェント３との間の初期セッションを確立する同期プロセスを開始するために、そのように特定されたプロキシ・エージェント３に登録命令を転送するように動作可能である。この同期プロセス中に、クライアント２およびエージェント３は、例えば、短いバイナリ・メッセージとしてフォーマットされることができるシグナリング・メッセージを互いに交換する。メッセージがそのようにフォーマットされるので、それぞれの交換は、実質的にほとんど無線リンク時間を必要としない。
【００１５】
クライアント２およびエージェント３が同期された後、エージェント３は、クライアント２に情報メッセージを転送するようにさらに動作可能であることができる。これらのメッセージは、デバイス２００の（図１に示されていない）ディスプレイ上に表示されることができる１つまたは複数のメニューを生成するためにクライアント２によって使用されることができる。情報メッセージも、短いバイナリ・メッセージとしてフォーマットされることができる。そしてまた、各メニューは、いくつかの値を表す１つもしくは複数のアイコンまたはインジケータ（例えば、ソフトまたはハード・キー）を含むことができる。例えば、１つのアイコンが、デバイス２００のユーザが最も頻繁に参加するゲーム、アプリケーション、または活動を表すことができる。別のアイコンが、ユーザが最も頻繁に通信する（例えば、一緒にゲームをプレイする）個人（すなわち、「仲間」）を表すことができる。さらに別のアイコンが、ユーザと現在通信可能であるおよび／または通信することが望ましい個人を表すことができる。今述べたアイコンは、デバイス２００に関連するディスプレイ上で生成され、表示されることができる多くのアイコンおよび／またはインジケータのうちのごくわずかである。
【００１６】
クライアント２とエージェント３との間で交換される初期化、同期、シグナリング、および情報メッセージは、無線で、または有線通信チャネルを介して送信されることができる。同様に、図１に示されたコンポーネントのそれぞれは、有線デバイスか、または無線デバイスであってよい。
【００１７】
以下でより詳細に検討されるように、エージェント３がクライアント２に送信することができる情報メッセージの種類は、エージェント３によって実行されている機能に依存して変わる可能性がある。例えば、エージェントは、デバイス２００のユーザの通信の傾向を監視するように動作可能であることができる。エージェント３がこの監視中に収集する情報に基づいて、エージェントは、パターンを特定するためにこの情報を処理、分析、および更新（集合的に「処理」と呼ばれる）することができる。これらのパターンに基づいて、エージェントは、活動／アプリケーションを実行するためにユーザがアクセスする１つもしくは複数のアイコンまたはメニューなどを更新するためにクライアント２にメッセージを転送することができる。ユーザの傾向を監視することに加えて、エージェント３は、デバイス２００のユーザの「存在状態」を監視するように動作可能であることもできる。存在状態によって意味されるのは、例えば、デバイス２００が電源を投入されているか否か、またはユーザがアクティブにデバイス２００を使用している（例えば、ソフト・キーを押しているか、もしくはアイコンを選択している）かどうかである。
【００１８】
本発明のさらなる実施形態において、エージェント３は、エージェント３００に関連付けられるデバイスのユーザなどのその他のユーザの存在状態を監視し、クライアント２を介してデバイス２００にこの情報を渡すこともできる。本発明のさらに追加的な実施形態において、エージェント３は、デバイス２００が非アクティブであるときでさえもデバイス２００およびクライアント２に変わってプロキシとして動作することができる。さらに進む前に、我々がデバイス２００の動作と言うとき、動作のうちの多くが、クライアント・アプリケーション／コンポーネント２によって実行および／または制御されることを理解されたい。
【００１９】
幾分話を前に戻して、クライアント２およびエージェント３が同期された後に、エージェント３が、デバイス２００のユーザによってプレイされることが可能なゲームと、そのようなゲームを現在プレイすることが可能な仲間とに関してクライアント２に情報メッセージを転送するとする。これらのメッセージは、利用可能なゲームおよび利用可能な仲間の情報を１つの「現在ゲームをプレイ可能な仲間」アイコンにまとめるアイコンなどの１つまたは複数のアイコンを作成するために使用される。このアイコンは、場合によっては複数のレベルのメニューを「掘り下げる」またはナビゲートすることをユーザに要求することなしにデバイス２００のユーザに情報を直感的に示す。さらに、アイコンが表示されたしばらく後に、ユーザが、現在利用可能な仲間と共にゲームを呼び出すかまたは開始するために、このアイコン（もしくはキー）を押すか、または別なやり方で選択するとする。キーを押すか、またはアイコンを選択すると、ゲームをプレイするための（または、概して、ユーザによって選択されたアイコンに関連するアプリケーションにおいてアクティブになるための）ユーザの要求をエージェント３に知らせる信号が、クライアント２からエージェント３に送信される。
【００２０】
さらに進む前に、本発明の代替実施形態において、エージェント３は、ユーザがアイコンを選択したかまたはキーを押したことを示す信号を受信した後にのみクライアント２に情報メッセージを転送することを理解されたい。例えば、ユーザがキーを選択するとき、このことは、ユーザおよびデバイス２００がアクティブ状態であることを保証する。ユーザまたはデバイス２００がアクティブ状態であるときのみ、エージェント３が、例えば、デバイス２００上に表示されたメニュー内のアイコンなどを更新するために情報メッセージを転送することが本当に必要である。すなわち、ユーザが非アクティブである（例えば、注意を向けていない、デバイス２００のディスプレイまたはキーボードを使用していないなど）場合、エージェント３によって送信されたいかなる更新も、いずれにしろユーザによって見られない。情報が無視されるだけでなく、貴重な無線リンク時間が不必要に使用されたであろう。したがって、ユーザまたはデバイス２００がアクティブ状態であるまで待つことによって、貴重な無線リンク時間が節約される。
【００２１】
上記の例を続けると、現在ゲームをプレイすることが可能である仲間とゲームをプレイし始めるためにユーザがアイコンを選択したことを示す信号を受信すると、エージェント３は、この信号を処理し、適切な場合は、仲間のそれぞれに関連する（１つまたは複数の）エージェントに要求信号を転送するように動作可能である。例えば、そのような要求が、第三者エージェント３００に転送されることができる。第三者エージェント３００は、いくつかのやり方で応答することができる。１つの応答が、（関連するクライアントを介した）その第三者エージェント３００の関連するユーザが利用可能なだけでなく、デバイス２００のユーザと共にゲームをプレイすることを望んでいることを示すことができる。その他の応答は、第三者ユーザがゲームをプレイすることを望んでいないことなどを示すことができる。同様のやり方で、エージェント３は、デバイス２００のユーザによって選択されたアイコンに関連付けられる各仲間または個人に関連する各第三者エージェントにそのような要求を転送することができる。第三者エージェントの全てから応答を受信すると、エージェント３は、どの個人がデバイス２００のユーザと共にゲームをプレイすることに同意したか（あるいは、より広く、どの個人がユーザと通信すること、または活動もしくはアプリケーションを実行することに同意したか）を判定するように動作可能である。
【００２２】
本発明のさらなる実施形態において、エージェント３は、デバイス２００のユーザと共にゲームをプレイすることに同意した第三者ユーザのそれらの識別情報をロビー４に転送するように動作可能であることができる。これらの識別情報を受信すると、ロビー４は、ゲームまたはアプリケーション／活動に関連する「グループ」を生成するように動作可能である。グループが形成されると、ロビー４は、デバイス２００のユーザによって要求されたゲームを開始するために必要なゲームおよびサーバに固有の情報（例えば、ゲーム・サーバの識別情報、セッションＩＤなど）を取得するためにゲーム・サーバ５に要求を転送するようにさらに動作可能である。
【００２３】
しかし、我々がロビー４の動作を検討する前に、エージェント３の動作についてさらに多くのことが述べられることができる。上で与えられた例においては、エージェント３はゲームをプレイするための要求に関連する第三者ユーザの存在状態または嗜好を知らないことが仮定された。そうである必要はない。本発明のさらに追加的な実施形態において、エージェント３（実際には各エージェント）は、その他のユーザに関連する存在状態、嗜好、およびその他の情報を受信するように動作可能であることができる。この情報は、エージェント３内に記憶もしくはキャッシュされることができるか、または「ジャスト・イン・タイム」のやり方で（例えば、オンデマンドで）提供されることができる。この情報を保持して、エージェント３は、特定の第三者ユーザのエージェントに要求信号を転送する前に、初めに、この情報を処理し、そのような第三者ユーザが実際に現在ゲームをプレイすることが可能であるかどうかを判定することができる。
【００２４】
その他のユーザの存在状態または嗜好を記憶するこの能力は、ゲームをプレイすることに興味があるグループを形成するために必要とされる時間を大きく削減することでき、使用される無線リンク時間の量も削減することができる。もはや、デバイス２００のユーザは、各第三者ユーザが要求に応答することを待たなくてよい。その代わりに、エージェント３は、エージェント３が、クライアント２から信号を受信してゲームを開始するときに、第三者ユーザの存在状態（例えば、アクティブ／非アクティブ）の知識を持つことができる。そのような場合、エージェント３は、招待された第三者ユーザのうちの誰が実際にゲームをプレイすることが可能であるかをロビー４に知らせるための代替的なステップを踏むことができる。例えば、エージェント３は、クライアント２からの要求を、そのエージェント３のメモリ内の全ての第三者ユーザの存在状態と比較し、その後、存在状態がそれらの第三者ユーザが本当に現在ゲームをプレイすることが可能であることを示す第三者ユーザの識別情報だけをロビー４に提供することができる。
【００２５】
本発明のさらに追加的な実施形態において、エージェント３は、デバイス２００のユーザおよび１人または複数人の第三者ユーザの両方の存在情報および嗜好を継続的に収集している。この情報は、第三者エージェント、第三者ユーザから、または存在サーバなどのその他のソースから収集されることができる。
【００２６】
この検討を通して、語「セッション」が使用される。セッションによって意味されるのは、アプリケーション、特徴、または機能が、例えば、デバイス２００またはエージェント３上でアイコン、キーなどにアクセスすることによって選択される時間と、ユーザ／エージェントがアプリケーション、特徴、または機能を終了することを決定する時間との間に経過する期間である。しばしば、語「セッション」および「アプリケーション」は、交換可能であるように使用される。我々の検討との関連で、このことは、本明細書における説明を過度に複雑にすることを避けるために許容される。とは言うものの、セッションは、アプリケーションがネットワーク１内のコンポーネントに記憶される間の期間であることを理解されたい。このことを念頭に置いて、本発明は、エージェント３がクライアント２およびそのクライアント２の関連するユーザの代わりにプロキシ・エージェントとして動作する代替実施形態を提供する。
【００２７】
エージェント３は、デバイス２００のユーザおよびその他のユーザに関連する（収集される情報のうちのごくわずかな例として）通信の傾向（例えば、ゲーム活動）、存在状態、および嗜好に関する情報を収集することができるので、エージェント３は、必ずしもユーザと通信せずにユーザに代わって動作するように準備される。この能力は、エージェント３とクライアント２との間で交換されるシグナリングおよびその他のメッセージの量を削減することを可能にし、このことは、ひいては貴重な無線リンク時間を節約する。
【００２８】
さらにもう一度話を前に戻すと、本発明のさらなる実施形態において、クライアント２と通信する前に、エージェント３は、その識別情報を（図１に示されていない）プロビジョニング・サーバに登録するように最初に動作可能である。それに応じて、サーバは、エージェント３をクライアント（この場合はクライアント２）に割り当てる。プロビジョニング・サーバは、とりわけクライアント／エージェントの割り当てを追跡記録する。サーバに登録し、クライアントに割り当てられると、エージェント３は、クライアント２およびデバイス２００のユーザに関連する記憶された情報（例えば、ユーザの通信の活動、嗜好、傾向、使用パターンなどのプロフィール）を受信するように動作可能である。この情報はサーバによって記憶されるので、クライアント２にサービスを提供するエージェントは、適宜、必要に応じて変更されることができる。しかし、任意の所与の期間中、単一のエージェントが単一のクライアントに割り当てられることに留意されたい。
【００２９】
本発明によれば、エージェント３は、多くの異なる場合、クライアント２およびそのクライアント２の関連するユーザのプロキシとして動作することができ、それらの場合のうちのほんのわずかな場合だけが本明細書において検討される。場合の網羅的なリストを提供するあらゆる試みは、大幅に長い検討を必要とし、本発明の理解のために必要ではない。我々は、エージェント３がプロキシ、すなわち、クライアント２またはデバイス２００と通信することなしに、どの第三者ユーザがユーザと共に現在ゲームをプレイすることが可能であるかを判定するエージェントの能力として動作する１種類のセッションの例について上で述べた。概して、エージェント３は、最初にクライアント２およびデバイス２００のいずれとも通信せずにクライアント２およびデバイス２００の特徴および機能のうちの多くを実行するように動作可能であることができる。例えば、エージェント３は、その他の第三者ユーザへの／その他の第三者ユーザからの情報メッセージのプロキシされる受信機または送信機として動作するようにプログラムされるか、またはそうでなければ設計されることができる。エージェント３がデバイス２００の能力を与えられており、当該デバイスとシグナリング・メッセージなどを交換することなしにそのデバイス２００の代わりに動作することができる限り、これは無線リンク時間を大幅に節約することができ、デバイス２００のユーザと別の第三者ユーザとの間の通信を高速化することができる。もはや、第三者は、ユーザから戻ってくる応答を受信するためにシグナリング・メッセージの交換とその後の情報メッセージの交換とを待たなくてよい。その代わりに、そのような応答はエージェント３によって生成されることができる。
【００３０】
ここまで、我々の検討は、クライアント２、デバイス２００、および／またはユーザがアクティブである（例えば、デバイス２００のディスプレイにアクセスしているなど）と仮定していた。本発明のさらなる実施形態において、エージェント３は、クライアント２、デバイス２００、および／またはそのユーザが非アクティブであるときでさえもプロキシ・エージェントとして動作することができる。
【００３１】
例えば、デバイス２００が電源を落とすとき、エージェント３は、それでもなお、前に開始されたセッションを維持するように動作可能である。そのようなセッションは、例えば、１つまたは複数のその他の第三者デバイス／ユーザを含む可能性がある。デバイス２００が非アクティブである期間中、エージェント３は、デバイス２００（および、もちろん、そのデバイス２００の関連するユーザ）の代わりにデバイス２００の機能および特徴の多くを実行し、上でおよび以降で検討されるそのデバイス２００自体の存在状態監視を実行するように動作可能であることができる。本発明の代替実施形態において、エージェント３は、ユーザが前に参加していたゲーム・セッションにおいてユーザのプロキシとして動作するように構成（例えば、プログラム、または設計）されることもできる。ゲームの技術分野に精通している者は、この能力を「ロボット化」と呼ぶ場合がある。
【００３２】
プロキシ・エージェントとして動作することの別の例は以下の通りである。デバイス２００のユーザを対象とする情報メッセージが、デバイス２００が電源を落とされている間に送信されるとする。デバイス２００が電源をオンにされているかどうかを判定するために最初にシグナリング・メッセージを送信することによってデバイス２００にこれらの情報メッセージを転送するように無駄に試みる（これは、多くの既存の技術の動作の仕方である）代わりに、エージェント３は、これらのメッセージを傍受、フィルタリング、またはそうでなければ選別（集合的に「選別」と呼ばれる）するように動作可能である。エージェント３はデバイス２００などの存在状態を監視することができるので、エージェント３は、デバイス２００がアクティブである（例えば、電源を入れられている／オンにされている）か否かを前もって知っている。したがって、デバイス２００のユーザを対象とするメッセージを受信すると、エージェント３は、例えば、デバイス２００またはユーザがアクティブである場合にのみデバイス２００にメッセージを転送するように動作可能であることができる。上で検討されたエージェント３のその他の特徴／機能と組み合わされた、ユーザが非アクティブである間にデバイス２００のユーザの代わりに動作するこの能力は、第三者からのメッセージに応答することが費やす時間を大幅に削減することができ、そして言うまでもなく、これは、サービス・プロバイダのネットワークの無線リンク時間または帯域幅の容量を大幅に節約することもできる。
【００３３】
エージェント３はメッセージを選別するように動作可能であるので、エージェント３は、エージェント３が、スパムか、あるいは悪意あるメッセージであると判定するメッセージを遮断するスパム・フィルタとして動作するように動作可能であることもできる。
【００３４】
プロキシされるセッション中にメッセージを選別することに加えて、エージェント３は、デバイス２００を対象とするメッセージを記憶することもできる。本発明のさらに別の実施形態によれば、デバイス２が電源を入れられるか、またはユーザが別なやり方でアクティブになる（例えば、デバイス２００に関連するディスプレイまたはキーボードを使用して選択を行う）と、エージェント３は、エージェント３がデバイスまたはユーザが非アクティブであった間にデバイス２００の代わりに記憶またはキャッシュしたメッセージを転送するように動作可能であることができる。
【００３５】
記憶されたメッセージを転送することに加えて、デバイス２００が再びアクティブになると、エージェント３は、デバイス２００上に表示されるか、またはそうでなければデバイス２００のキーボードに関連付けられるキー、アイコン、またはメニューのうちの１つまたは複数を更新（または作成）するための情報を転送するように動作可能であることができる。例えば、エージェント３は、ユーザの仲間に関する更新された存在状態情報、またはデバイス２００のユーザと共に現在ゲームをプレイすることが可能である無名の個人に関する存在状態情報を転送することができる。また、転送される情報は、ユーザによって現在アクセスされることが可能なゲームまたはアプリケーションを含むことができる。デバイス２００は単独でアイコン、メニューなどを作成し、転送するように動作可能であることができるが、代替として、エージェント３が、フォーマットされたメッセージを作成するように動作可能であることができ、次に、そのフォーマットされたメッセージが、デバイス２００による多くの処理なしにアイコン、キー、メニューを作成または更新するためにデバイス２００によって使用されることができる。
【００３６】
本発明によって提供されるロボット化の特徴に関して、エージェント３は、例えば、デバイス２００が非アクティブになる前にデバイス２００のユーザによって提供された命令の集合をデバイス２００のユーザの代わりに実行するように動作可能であることができる。
【００３７】
上で検討された例のうちの１つにおいて、エージェント３は、デバイス２００のユーザと共に現在ゲームをプレイすることが可能な第三者ユーザの識別情報をロビー４に転送する。ここで、我々は、ロビー４などの、本発明によって提供されるロビーの特徴および機能の一部を指摘するためにこの例を続ける。
【００３８】
概して、本発明によって提供されるロビーは、（ａ）グループの形成および管理、ならびに（ｂ）セッションに関連するマッチメイク活動を実行する。ロビー４などのロビーは、複数のグループを維持管理するように動作可能であることができる。ロビー４によって作成および管理されることができるグループの種類のごくわずかな例を挙げると、例えば、ロビー４は、（１）特定の１つのゲームまたは複数のゲームをプレイすることに興味があるユーザ、（２）特定の１つのゲームまたは複数のゲームをプレイしたことがあるユーザ、および（３）特定の１つのゲームまたは複数のゲームにおいて同じスキル・レベルを有するユーザを含むグループを形成および管理することができる。
【００３９】
本発明のさらなる実施形態において、ロビー４は、そのロビー４のマッチメイク機能を使用して、そのロビー４がエージェント３から識別情報を受信した第三者ユーザが本当に同じグループの一部にされるべきかどうかを判定することができる。おそらく、デバイス２００のユーザは、当該ユーザと同じスキル・レベルを持たない誰かにゲームに加わるように誤って要求した。ロビー４は、それぞれの特定されたユーザのスキル・レベルを、要求に含まれるスキル・レベルと比較して、この要件が満たされることを保証するように動作可能であることができる。ロビー４は、そのロビー４が記憶したスキル・レベルを、要求内のスキル・レベルと比較することによってこの比較を実行することができる。この比較は、ロビー４のマッチメイク能力のほんの一例である。
【００４０】
我々が前に開始した例のために、招待された第三者ユーザのそれぞれの識別情報を受信すると、ロビー４は、そのロビー４のマッチメイク機能を通じて、各ユーザが、デバイス２００のユーザとゲームをプレイするかまたはそうでなければ通信する資格を与えられることを判定すると仮定する。その後、ロビー４は、デバイス２００のユーザに加えて、特定された第三者ユーザの全てからなるグループを形成するように動作可能である。今やグループを形成し、記憶したので、ロビーは、クライアント２に中継されるグループ形成指示をエージェント３に送信するためにそのロビーの管理機能を呼び出すようにさらに動作可能である。このようにして、デバイス２００のユーザは、例えば、ゲームをプレイするためにグループが形成されたことのアイコン、キー、または何らかのその他の種類の指示／インジケータを受信することができる。
【００４１】
エージェント３とインターフェースを取ることに加えて、ロビー４は、そのロビー４の管理機能を呼び出して、ゲーム・エンジン／サーバ５などのアプリケーション・サーバ、および（図１に示されていない）その他のロビーとインターフェースを取ることもできる。ロビー４は、ゲームなどの、サーバ５を必要とするアプリケーション／セッションを開始すること、維持すること、および終了することに関連する情報および信号（例えば、ゲーム・セッションＩＤ）を要求および受信するためにサーバ５とインターフェースを取ることができる。ロビー４は、アプリケーション／セッション情報をエージェント３に転送することができ、エージェント３は、この情報をデバイス２００のユーザ、およびロビー４によって形成されたグループに含まれる第三者ユーザに関連するエージェントに中継する。代替として、第三者ユーザおよび／またはそのユーザのエージェントがロビー４に関連付けられない場合、ロビー４は第三者ユーザおよび／またはそのユーザのエージェントに関連付けられるロビーにアプリケーション／セッション情報を転送することができ、したがって、第三者ユーザはゲームまたはその他のアプリケーション／活動に参加することができる。
【００４２】
アプリケーション／セッション情報を受信すると、クライアント２は、クライアント２ａがサーバ５とのリンクを作成してアプリケーションを開始する（例えば、ゲームを開始する）ことを要求するためにアプリケーションのクライアント２ａと通信するように動作可能であることができる。同様のやり方で、アプリケーション／セッション情報を受信する各第三者クライアントは、ゲームに参加し始めるために、その第三者クライアント自体のアプリケーションのクライアントを呼び出してサーバ５（またはゲーム・セッションに関連するサーバ）に連絡する。
【００４３】
先ほど示されたように、ロビー４（ならびにクライアント２と、アプリケーションのクライアント２ａと、エージェント３および３００と）は、媒体にコンポーネントをダウンロードすることによることを含む知られている方法を使用して何らかの種類のコンピュータ可読媒体上に記憶される１つもしくは複数のソフトウェアまたはファームウェア・アプリケーションを含むことができる。本発明の代替実施形態において、ロビー４のマッチメイクおよび管理機能ならびにその他の機能は、異なる下位コンポーネント／アプリケーションに分割されることができる。例えば、ロビー４は、（ｉ）セッション管理下位コンポーネント４ａ、（ｉｉ）通信サーバ下位コンポーネント４ｂ、および（ｉｉｉ）比較／マッチメイク下位コンポーネント４ｃを含むことができる。
【００４４】
本発明の一実施形態において、セッション管理下位コンポーネント４ａは、セッションが開始したか、または開始することができるときなどに、所与のアプリケーション／セッションに関する情報（例えば、前に述べたゲーム・セッションＩＤ）をユーザに提供するように動作可能であることができる。また、セッション・マネージャは、ゲーム／活動／アプリケーションに対して適切なときに、既存のユーザを削除するか、または新しいユーザを追加することによってゲームへのユーザの参加を管理するように動作可能であることができる。
【００４５】
本発明によれば、通信サーバ下位コンポーネント４ｂは、セッションに参加しているか、または参加していた、グループ内の１つまたは複数のクライアント／ユーザの間で情報メッセージを中継するように動作可能であることができる。これらのメッセージは、例えば、音声、テキスト、ビデオ、および／またはマルチメディア・コンテンツを含むことができる。
【００４６】
この場合もまた、本明細書において検討されるアプリケーション／セッションの主な種類はゲームであるが、音声会議などの多くの異なる種類のアプリケーション／セッションが本発明の技術によって処理されることができることを理解されたい。
【００４７】
上述の最後の下位コンポーネントはマッチメイク下位コンポーネント４ｃであり、我々は、このコンポーネントの機能を前に検討した。この下位コンポーネントによって実行されることができる１つのその他の機能は、各ユーザがアクティブであるか否か、または非アクティブであるか否か（すなわち、それらのユーザの存在状態）に基づくセッションからの１人または複数人の第三者ユーザの追加／削除である。これは、例えば、依然としてアクティブなユーザが全てのその他のユーザの状態を知らされるのを助ける。
【００４８】
ほとんど、上記の例は、デバイス２００のユーザに知られている第三者ユーザに焦点を置く。エージェント３、ロビー４、およびクライアント２の特徴および機能は、デバイス２００のユーザに未知の第三者ユーザ（とはいえ、それらの第三者ユーザは、例えば、ロビー４に知られている可能性がある）を招待するか、特定するか、資格を与えるか、またはそうでなければ追加／削除するために使用されることもできることを理解されたい。これらのユーザは、無名ユーザと呼ばれる場合もある。
【００４９】
例えば、クライアント２は、招待されたユーザの識別情報をエージェント３に提供することなしに、ゲームに参加するための特定のスキル・レベルを有する任意のユーザを招待するようにエージェント３に要求を送信することができる。エージェント３は、資格を与えられる無名ユーザを特定するためにその記憶されたグループまたはユーザ・プロフィールを調べることができるロビー４にそのような招待を任せることができる。１人または複数人のユーザがロビー４によって特定されると、ロビーは、特定された個人および要求を開始したデバイス２００のユーザのうちの１人または複数人からなるグループを形成することができる。ロビー４は、ランダムか、または何らかの順序に従うことを含む任意の数のやり方で個人を選択することができる。
【００５０】
ロビー４が、デバイス２００のユーザによって開始された要求の要件を満たすグループを形成することができないことが起こる可能性がある。このことが起こるとき、ローカル・ロビー４（そのロビー４がエージェント３およびクライアント２に関連付けられるので「ローカル」である）は、（図１に示されていない）１つもしくは複数の第三者またはリモート・グローバル・ロビーに要求の要件を転送することができる。次に、各グローバル・ロビーは、要求の要件を満足する属性を有するユーザ（およびそれらのユーザのプロフィール）を特定するように試みる。各グローバル・ロビーは、ローカル・ロビー４よりも、要求を満足することができるより多くのユーザおよびそれらのユーザの嗜好などを知っている。何らかの種類の各ユーザの識別情報が、それぞれのグローバル・ロビーによってローカル・ロビー４に送信される。その後、ローカル・ロビー４がグループを形成することができる。
【００５１】
完全を期すために、読者は、本発明の実施形態に従って図１に示されたコンポーネントの間で行われるメッセージングおよびシグナリング・フローを示す図２から５を調べることを望むことができる。
【００５２】
我々は、これらの図に詳細に示されたシグナリングおよびメッセージ・フローを検討しないが、これらのフローは本発明のコンポーネントの間のフローのほんの一部であることを理解されたい。
【００５３】
上記の検討は、本発明の特徴および機能の一部の例を説明するように試みた。しかし、本発明の真の範囲は、添付の特許請求の範囲において述べられる。
【図面の簡単な説明】
【００５４】
【図１】本発明の実施形態によるアーキテクチャの構成図である。
【図２】本発明の実施形態による、ネットワークとのユーザの認証および認可中に発生するメッセージングおよびシグナリング・イベントを示す図である。
【図３】本発明の実施形態による、ローカルなマッチングを使用する、ユーザと、ゲームをプレイすることに興味のある無名のプレイヤとの間のメッセージングおよびシグナリング・フローを示す図である。
【図４】本発明の実施形態による、ローカルなマッチングを使用する、ユーザと、ゲームをプレイすることに興味のある無名のプレイヤとの間のメッセージングおよびシグナリング・フローを示す図である。
【図５】本発明の実施形態による、グローバルなマッチングを使用する、ゲームを開始するためのメッセージングおよびシグナリング・フローを示す図である。
【図１】
2009532765.tif 000003
【図２】
2009532765.tif 000004
【図３】
2009532765.tif 000005
【図４】
2009532765.tif 000006
【図５】
2009532765.tif 000007
【国際調査報告】
2009532765.tif 000008
2009532765.tif 000009
2009532765.tif 000010
2009532765.tif 000011
2009532765.tif 000012