(57)【要約】【課題】  クライアント間でピアツーピア通信を確立するための安全な環境を提供するサーバを提供すること。【解決手段】  サーバの２つのクライアントがピアツーピア通信を望むとき、まずサーバに接続する。サーバは、それぞれのクライアントを認証し、認証されたクライアントがピアツーピア通信を確立できるようにするための情報を、認証クライアントに提供する。ピアツーピア通信の特権を乱用するどんなクライアントもが、認証を受ける権利を失い得る。サーバは、好ましくは、音声ベースのピアツーピア通信を使用するゲームサーバであり、またゲームに参加するクライアントである。それぞれ異なるレベルの権限を異なるクライアントに提供して、クライアント間の対話を制限することができる。【選択図】  図５
2005100419.tif 000002
【特許請求の範囲】
【請求項１】
サーバを使用して、クライアントが該クライアント間でピアツーピア通信を確立することができるように、信頼できるセッション環境を確立するための方法であって、
（ａ）前記サーバを使用して、前記クライアントが前記ピアツーピア通信を確立する前に、最初にアクセスするセッションをホストするステップと、
（ｂ）資格情報が前記サーバによって承認されたクライアントだけが前記セッションへのアクセスを許されるように、前記サーバによってホストされる前記セッションにアクセスしようとする各クライアントの資格情報をチェックするステップと、
（ｃ）前記セッションへのアクセスが現在許されている１つ又は複数の他のクライアントを識別するリストを、前記セッションへのアクセスが許された第１クライアントに提供するステップと、
（ｄ）前記第１クライアントが前記リストから第２クライアントを選択できるようにするステップであって、前記第１クライアントによって選択された前記第２クライアントを前記サーバに知らせるステップと、
（ｅ）前記サーバから前記第１クライアントに、前記第２クライアントに関する情報を送信するステップであって、前記情報は、前記第１クライアントと前記第２クライアントの間でピアツーピア通信を確立できるように前記第２クライアントのアドレスを含んでいるステップと
を有することを特徴とする方法。
【請求項２】
（ａ）前記セッションにアクセスしようとする各クライアントの前記資格情報をチェックする前記ステップは、それぞれのクライアントを認証し、認証された各クライアントが前記セッションの特定の部分にアクセスすることを許可するステップを有し、
（ｂ）前記第１クライアントに提供される前記リストは、前記セッションの前記第１クライアントと同じ部分にアクセスすることを許可されたクライアントだけを識別する
ことを特徴とする請求項１に記載の方法。
【請求項３】
前記サーバによって受信された、前記サーバの他のクライアントとのピアツーピア通信における前記クライアントの振舞いに関するフィードバックに応答して、前記セッションの特定の部分にアクセスするクライアントの権限を変更するステップを有することを特徴とする請求項２に記載の方法。
【請求項４】
前記サーバは、クライアントがピアツーピア通信を確立することが可能にされた、信頼できるセッション環境を確立すること以上の機能を、クライアントに提供することを特徴とする請求項１に記載の方法。
【請求項５】
前記サーバは、ゲームサーバを含み、それぞれのクライアントは、ネットワーク化されたゲーム用のコンピューティング装置を使用して、前記サーバにアクセスすることを特徴とする請求項４に記載の方法。
【請求項６】
前記第１クライアントに提供される１つ又は複数のクライアントの前記リストは、前記ゲームサーバによって制御されるゲーム環境内で対話しているクライアントだけを含むことを特徴とする請求項５に記載の方法。
【請求項７】
１つのゲーム用コンピューティング装置は、複数の異なるクライアントをサポートできることを特徴とする請求項５に記載の方法。
【請求項８】
前記第２クライアントに関する情報を、前記サーバから前記第１クライアントに送信する前記ステップは、前記第２クライアントの外部ＩＰアドレスと前記第２クライアントに関連する内部ＩＰアドレスと前記第２クライアントとのピアツーピア通信のために必要ないずれかのポートアドレスを送信するステップを有することを特徴とする請求項１に記載の方法。
【請求項９】
各々のクライアントの前記資格情報をチェックする前記ステップは、各々のクライアントに一意のユーザキーを割り当てるステップを有し、前記サーバから前記第１クライアントに送信される、前記第２クライアントに関する前記情報は、前記第２クライアントのユーザキーを含み、前記第２クライアントに、前記第１クライアントとピアツーピア通信を開始する要求が信頼できるソースから来ていることを保証することを特徴とする請求項８に記載の方法。
【請求項１０】
前記第２クライアントに関する前記情報を受信した後に、前記第１クライアントが前記第２クライアントと前記ピアツーピア通信を確立することができない場合に、
（ａ）前記第１クライアントによる、前記ピアツーピア通信を確立する試みが失敗したことを、前記サーバに通知するステップと、
（ｂ）前記サーバから前記第２クライアントに、前記第１クライアントに関する情報を送信するステップであって、前記情報は、前記第１クライアントと前記第２クライアントの間のピアツーピア通信を確立できるように前記第１クライアントのアドレスを含んでいるステップと、
（ｃ）前記第２クライアントに、前記第１クライアントとのピアツーピア通信の確立を要求するステップと
を有することを特徴とする請求項１に記載の方法。
【請求項１１】
前記第１クライアントに関する前記情報を受信した後に、前記第２クライアントが前記第１クライアントと前記ピアツーピア通信を確立することができない場合に、前記第１クライアントと前記第２クライアントの間のすべての通信を、前記サーバを介してルーティングするステップを有することを特徴とする請求項１０に記載の方法。
【請求項１２】
請求項１に記載の各ステップを実行するためのマシン命令が格納されていることを特徴とするコンピュータ読み取り可能なメモリ媒体。
【請求項１３】
ユーザが他のユーザとピアツーピア通信を確立することができるように、信頼できるセッション環境を提供するためのシステムであって、
（ａ）プロセッサと、
（ｂ）該プロセッサと通信可能で、該プロセッサに複数の機能を実施させるマシン命令を格納するメモリで、該マシン命令が、
（ｉ）選別されたユーザだけが前記セッションへのアクセスを許されるように、前記システムにホストされるセッションにアクセスしようとする各ユーザを、前記ユーザの資格情報をチェックすることによって選別するステップと、
（ｉｉ）選別された第１のユーザに、前記セッションへのアクセスが現在許可されている、選別された少なくとも１人の他のユーザを含むリストを提供するステップと、
（ｉｉｉ）選別された前記第１ユーザからの要求に応じて、選別された前記第１ユーザに、前記リストに含まれる選別された第２のユーザに関する情報を提供するステップであって、前記情報は、選別された前記第２ユーザと前記ピアツーピア通信を確立するために必要ないずれかのアドレスを含んでいるステップと
を有することを特徴とするシステム。
【請求項１４】
前記マシン命令が、
（ａ）選別された前記第１ユーザによる、選別された前記第２ユーザと前記ピアツーピア通信を確立する試みが失敗したことの通知を受けた場合、選別された前記第２ユーザに、選別された前記第１ユーザに関する情報を提供するステップであって、前記情報は、選別された前記第１ユーザと前記ピアツーピア通信を確立するために必要ないずれかのアドレスを含んでいるステップと、
（ｂ）選別された前記第２ユーザに、選別された前記第１ユーザとのピアツーピア通信の確立を要求するステップと
の機能を、前記プロセッサに実行させることを特徴とする請求項１３に記載のシステム。
【請求項１５】
選別された前記第２ユーザによる、選別された前記第１ユーザと前記ピアツーピア通信を確立する試みが失敗したことの通知を受けた場合に、選別された前記第１ユーザと選別された前記第２ユーザの間のすべての通信を、前記システムを介してルーティングするステップを有することを特徴とする請求項１４に記載のシステム。
【請求項１６】
サーバのクライアント間のピアツーピア通信を円滑化する安全な環境を提供するための方法であって、
（ａ）前記サーバを使用して、前記クライアントに前記安全な環境へのアクセスを許す前に、それぞれのクライアントを認証し許可するステップと、
（ｂ）前記サーバを使用して、前記安全な環境へのアクセスが許された第１のクライアントに、前記安全な環境へのアクセスがやはり許された第２のクライアントに関する識別子を提供するステップと、
（ｃ）前記第１クライアントによる要求に応答して、前記サーバを使用して、前記第１クライアントと前記第２クライアントの間でピアツーピア通信を確立することを可能にするための情報を、前記サーバによるさらなる対話を必要とせずに、前記第１クライアントに提供するステップと
を有することを特徴とする方法。
【請求項１７】
前記サーバによって、それぞれ異なるアクセスポリシーが、クライアントの異なる各クラスに適用されるように、それぞれのクライアントをクラスに割り当てるステップを有し、前記サーバを使用して、それぞれのクライアントを認証し許可する前記ステップは、前記クライアントが属するクラスを判断するステップを有することを特徴とする請求項１６に記載の方法。
【請求項１８】
それぞれのクライアントをクラスに割り当てる前記ステップは、前記クライアントが匿名のユーザであるかどうかを判断するステップを有し、そうである場合は、前記クライアントに、前記安全な環境にアクセスする前記クライアントの権限を定義する所定の許可を与え、前記許可は、他のクライアントが１つのクライアントにデータへの一方向アクセスを提供するサーバの働きをするように、匿名ユーザである前記１つのクライアントが、匿名でない前記他のクライアントと制限付きのピアツーピア通信を確立できるように、それぞれの匿名ユーザの権限を定義することを特徴とする請求項１７に記載の方法。
【請求項１９】
それぞれのクライアントをクラスに割り当てる前記ステップは、前記クライアントが制限付き認証ユーザであるかどうかを判断するステップを有し、そうである場合は、前記クライアントに、前記安全な環境にアクセスする前記クライアントの権限を定義する所定の許可を与え、前記所定の許可は、制限付き認証ユーザであるクライアントが、制限付き認証ユーザとのピアツーピア通信の許可に同意した他のクライアントとピアツーピア通信を確立できるようにするために、それぞれの制限付き認証ユーザの権限を定義することを特徴とする請求項１７に記載の方法。
【請求項２０】
それぞれのクライアントをクラスに割り当てる前記ステップは、前記クライアントが認証ユーザであるかどうかを判断するステップを有し、そうである場合は、前記クライアントに、前記安全な環境にアクセスする前記クライアントの権限を定義する所定の許可を与え、前記許可は、認証ユーザであるクライアントが、認証ユーザとのピアツーピア通信の許可に同意した他のクライアントとピアツーピア通信を確立できるように、それぞれの認証ユーザの権限を定義することを特徴とする請求項１７に記載の方法。
【請求項２１】
それぞれのクライアントをクラスに割り当てる前記ステップは、前記クライアントが掲載エンティティであるかどうかを判断するステップを有し、そうである場合は、前記クライアントに、前記安全な環境にアクセスする前記クライアントの権限を定義する所定の許可を与え、前記許可は、掲載エンティティであるクライアントが、他のクライアントの前記クラスに基づいて前記他のクライアントと直接に通信できるように、それぞれの掲載エンティティの権限を定義することを特徴とする請求項１７に記載の方法。
【請求項２２】
前記サーバを使用して、前記第１クライアントに、前記第２クライアントに関連する前記識別子を提供するステップは、前記第１クライアントと同じクラスのクライアントに関連する識別子だけを、前記第１クライアントに提供するステップを有することを特徴とする請求項１７に記載の方法。
【請求項２３】
（ａ）前記サーバは、クライアントが参加を希望するピアツーピア通信の話題に基づいて、複数の異なるクライアントグループを設定し、
（ｂ）前記サーバを使用して、前記サーバにアクセスするそれぞれのクライアントを認証する前記ステップは、特定のクライアントが関連する各グループを判断するステップを有し、
（ｃ）前記サーバを使用して、第１のクライアントに、前記第２クライアントに関する前記識別子を提供する前記ステップは、前記第１クライアントと共通の少なくとも１つのグループを共有するクライアントに関連する識別子だけを、前記第１クライアントに提供するステップを有することを特徴とする請求項１６に記載の方法。
【請求項２４】
前記サーバを使用して、前記サーバにアクセスする各クライアントを認証し許可する前記ステップは、
（ａ）ウェブサイトのサインインを使用して、それぞれのクライアントを認証し許可するステップと、
（ｂ）公開鍵暗号技術を使用して、それぞれのクライアントを認証し許可するステップと、
（ｃ）信頼できる機関を使用して、認証のために、前記クライアントによって使用されるチケットを付与するステップのうちの少なくとも１つを含むことを特徴とする請求項１６に記載の方法。
【請求項２５】
前記サーバは、前記クライアントに、ピアツーピア通信を確立できるようにすること以上の機能を提供することを特徴とする請求項１６に記載の方法。
【請求項２６】
前記サーバは、ゲームサーバを含むことを特徴とする請求項２５に記載の方法。
【請求項２７】
前記サーバを使用して、第１のクライアントに、前記第２クライアントに関する前記識別子を提供する前記ステップは、前記ゲームサーバによって制御されるゲーム環境で、前記第１クライアントと対話するクライアントの識別子を、前記クライアントと前記第１クライアントの間のピアツーピア通信を可能にするために、前記第１クライアントに提供するステップを有することを特徴とする請求項２６に記載の方法。
【請求項２８】
前記情報は、前記第２クライアントの外部ＩＰアドレスと前記第２クライアントに関連する内部ＩＰアドレスと前記第２クライアントとのピアツーピア通信に必要ないずれかのポートアドレスとを含むことを特徴とする請求項１６に記載の方法。
【請求項２９】
前記サーバを使用して、前記サーバにアクセスする各クライアントを認証し許可する前記ステップは、それぞれのクライアントに、一意のユーザキーを割り当てるステップを含み、前記情報は、前記第２クライアントのユーザキーを含み、前記第２クライアントに、ピアツーピア通信の開始を求める前記要求は、信頼できるソースから来ていることを保証することを特徴とする請求項２８に記載の方法。
【請求項３０】
前記第２クライアントに関する情報を受信した後に、前記第１クライアントが前記第２クライアントと前記ピアツーピア通信を確立することができない場合に、
（ａ）前記第１クライアントによる、前記第２クライアントと前記ピアツーピア通信を確立する試みが失敗したことを、前記サーバに通知するステップと、
（ｂ）前記サーバを使用して、前記第２クライアントが前記第１クライアントとピアツーピア通信を確立できるようにするのに必要な、前記第１クライアントに関する情報を、前記第２クライアントに提供するステップと、
（ｃ）前記第２クライアントに、前記第１クライアントとのピアツーピア通信の確立を要求するステップと
を有することを特徴とする請求項２８に記載の方法。
【請求項３１】
前記第１クライアントに関する情報を受信した後に、前記第２クライアントが前記第１クライアントと前記ピアツーピア通信を確立することができない場合に、前記第１クライアントと前記第２クライアントの間のすべての通信を、前記サーバを介してルーティングするステップを有することを特徴とする請求項３０に記載の方法。
【請求項３２】
請求項１６に記載の各ステップを実行するためのマシン命令が格納されていることを特徴とするコンピュータ読み取り可能なメモリ媒体。
【請求項３３】
大規模マルチプレイヤーゲームをホストするゲームサーバの作業負荷を大幅に軽減するために、前記大規模マルチプレイヤーゲームのプレイヤーがピアツーピアの関係で互いに通信できるようにするための方法であって、
（ａ）前記大規模マルチプレイヤーゲームに、プレイヤーとして参加を望む各プレイヤーに、前記ゲームサーバを運営するゲームサービスにまず登録することを求めるステップと、
（ｂ）登録を行った者だけがプレイヤーとして前記ゲームサーバにアクセスできるようにするために、前記プレイヤーが前記ゲームサービスに登録しているかどうかを判断することによって、前記ゲームサーバにアクセスしようとする各プレイヤーを認証するステップと、
（ｃ）前記ゲームサーバによってホストされている前記大規模マルチプレイヤーゲームの第１のプレイヤーと対話することができる、少なくとも１人の他のプレイヤーを識別するリストを、前記第１のプレイヤーに提供するステップと、
（ｄ）前記第１プレイヤーが前記リストから第２のプレイヤーを選択できるようにするステップであって、選択された前記第２プレイヤーについて、前記ゲームサーバに知らせるステップと、
（ｅ）前記ゲームサーバから前記第１プレイヤーに、前記第２プレイヤーに関する情報を送信するステップであって、前記情報は、前記第１プレイヤーと前記第２プレイヤーの間でピアツーピア通信を確立できるようにするのに必要であるステップと
を有することを特徴とする方法。
【請求項３４】
前記ゲームサーバにアクセスしようとする各プレイヤーを認証する前記ステップは、それぞれのプレイヤーに一意のユーザキーを割り当てるステップを有し、前記サーバから前記第１プレイヤーに、前記第２プレイヤーに関する情報を送信する前記ステップは、前記第２プレイヤーのユーザキーを送信するステップを有し、前記第２プレイヤーに、前記ピアツーピア通信の開始を求める前記要求は、前記ゲームサーバによってホストされる前記大規模マルチプレイヤーゲームに参加する、信頼できるプレイヤーから来ていることを保証することを特徴とする請求項３３に記載の方法。
【請求項３５】
前記第２プレイヤーに関する情報を受信した後に、前記第１プレイヤーが前記第２プレイヤーと前記ピアツーピア通信を確立することができない場合に、
（ａ）前記第１プレイヤーによる、前記ピアツーピア通信を確立する試みが失敗したことを、前記ゲームサーバに通知するステップと、
（ｂ）前記第１プレイヤーに関する情報を、前記ゲームサーバから前記第２プレイヤーに送信するステップであって、前記情報は、前記第１プレイヤーと前記第２プレイヤーの間のピアツーピア通信を確立できるようにするために必要であるステップと、
（ｃ）前記第２プレイヤーに、前記第１プレイヤーとのピアツーピア通信の確立を要求するステップと
を有することを特徴とする請求項３３に記載の方法。
【請求項３６】
前記第１プレイヤーに関する情報を受信した後に、前記第２プレイヤーが前記第１プレイヤーと前記ピアツーピア通信を確立することができない場合に、前記第１プレイヤーと前記第２プレイヤーの間のすべての通信を、前記ゲームサーバを介してルーティングするステップを有することを特徴とする請求項３５に記載の方法。
【請求項３７】
請求項３３に記載の各ステップを実行するためのマシン命令が格納されていることを特徴とするコンピュータ読み取り可能なメモリ媒体。
【請求項３８】
ゲームプレイ時に、許可されたプレイヤーだけが許可された他のユーザとピアツーピア通信を確立することを許されるゲーム環境を提供し、プレイヤー間の進行中の通信を管理するために、ネットワークゲームシステムからのリソースを必要とせずに、ゲームプレイを向上させるための前記ネットワークゲームシステムであって、
（ａ）プロセッサと、
（ｂ）該プロセッサと通信可能で、該プロセッサに複数の機能を実施させるマシン命令を格納するメモリで、該マシン命令が、
（ｉ）許可されたプレイヤーだけが、前記ゲームシステムによってホストされる前記ゲーム環境へのアクセスを許可されるように、前記ゲームシステムによってホストされる前記ゲーム環境にアクセスしようとする各プレイヤーを選別するステップと、
（ｉｉ）許可された第１のプレイヤーに、前記ゲーム環境に参加する少なくとも１人の許可された他のプレイヤーを含むリストを提供するステップと、
（ｉｉｉ）許可された前記第１プレイヤーが、前記リストから、許可された第２のプレイヤーを識別できるようにするステップと、
（ｉｖ）許可された前記第２プレイヤーに関する情報を、前記ゲームシステムから許可された前記第１プレイヤーに送信するステップであって、前記情報は、許可された前記第１プレイヤーと許可された前記第２プレイヤーの間で、前記ピアツーピア通信を確立できるようにするために必要ないずれかのアドレスを含んでいるステップと
を有することを特徴とするシステム。
【請求項３９】
前記情報は、前記ゲームシステムによって、許可された前記第２プレイヤーに割り当てられたユーザキーを含み、許可された前記第２プレイヤーに、前記ピアツーピア通信の開始を求める前記要求は、信頼できるプレイヤーから来ていることを保証することを特徴とする請求項３８に記載のシステム。
【請求項４０】
前記マシン命令は、
（ａ）許可された前記第１プレイヤーによる、許可された前記第２プレイヤーと前記ピアツーピア通信を確立する試みが失敗したことの通知を受けた場合、許可された前記第２プレイヤーに、許可された前記第１プレイヤーに関する情報を提供するステップであって、前記情報は、許可された前記第１プレイヤーと許可された前記第２プレイヤーの間で前記ピアツーピア通信を確立できるようにするために必要ないずれかのアドレスを含んでいるステップと、
（ｂ）許可された前記第２プレイヤーに、許可された前記第１プレイヤーとの前記ピアツーピア通信の確立を要求するステップと
を前記プロセッサに実施させることを特徴とする請求項３８に記載のシステム。
【請求項４１】
サーバを使用して、クライアントが該クライアント間でピアツーピア通信を確立することが可能で、信頼できるセッション環境を確立するための方法であって、
（ａ）前記サーバを使用して、前記クライアントが前記ピアツーピア通信を確立する前に、最初にアクセスするセッションをホストするステップと、
（ｂ）資格情報が前記サーバによって承認されるクライアントだけが、前記セッションへのアクセスを許されるように、前記サーバによってホストされる前記セッションにアクセスしようとする各クライアントの資格情報をチェックするステップと、
（ｃ）資格情報が前記サーバによって承認されている、１つ又は複数の他のクライアントを識別するリストを、前記セッションへのアクセスが許された第１のクライアントに提供するステップと、
（ｄ）前記第１クライアントが前記リストから第２のクライアントを選択できるようにするステップであって、前記第１クライアントによって選択された前記第２クライアントを、前記サーバに知らせるステップと、
（ｅ）前記サーバから前記第１クライアントに、前記第２クライアントに関する接続情報を送信するステップであって、前記接続情報は、前記第１クライアントと前記第２クライアントの間でピアツーピア通信を確立できるようにするステップと
を有することを特徴とする方法。
【請求項４２】
前記第２クライアントに関する情報を受信した後に、前記第１クライアントが前記第２クライアントと前記ピアツーピア通信を確立することができない場合に、
（ａ）前記第１クライアントによる、前記ピアツーピア通信を確立する試みが失敗したことを、前記サーバに通知するステップと、
（ｂ）前記サーバから前記第２クライアントに、前記第１クライアントに関する情報を送信するステップであって、前記情報は、前記第１クライアントと前記第２クライアントの間のピアツーピア通信を確立できるようにするために必要であるステップと、
（ｃ）前記第２クライアントに、前記第１クライアントとのピアツーピア通信の確立を要求するステップと
を有することを特徴とする請求項４１に記載の方法。
【請求項４３】
前記第１クライアントに関する情報を受信した後に、前記第２クライアントが前記第１クライアントと前記ピアツーピア通信を確立することができない場合に、前記第１クライアントと前記第２クライアントの間のそれぞれの通信を、前記サーバを介してルーティングするステップを有することを特徴とする請求項４１に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ピアツーピアコンピューティング（ｐｅｅｒ−ｔｏ−ｐｅｅｒ  ｃｏｍｐｕｔｉｎｇ）に関し、より詳細には、サーバを使用して、許可されたクライアントを認証し、認証されたクライアント間のピアツーピア通信の確立を可能にするようにしたサーバ制御技術に関する。
【背景技術】
【０００２】
電子装置のユーザが、コンピュータを用いて他のユーザと対話し、チャットセッション（ｃｈａｔ  ｓｅｓｓｉｏｎ）、インスタントメッセージング（ｉｎｓｔａｎｔ  ｍｅｓｓａｇｉｎｇ）、共同作業プロジェクト、マルチプレイヤーゲーム（ｍｕｌｔｉｐｌａｙｅｒ  ｇａｍｅ）を含めて、グループ活動に参加することは、今日では一般的である。具体的には、ゲーム及び他のコンピュータを用いた活動のための音声通信は、インターネット又は他のネットワークを介して接続された個人に、ますます普及している。マルチプレイヤーゲームに参加する者にとって、音声通信は、楽しさを大いに増し、ゲームのプレイヤー間の社会的な交流を非常に深めるものである。
【０００３】
こうした多くの適用例では、ユーザは、グループに参加する間、匿名のままでいることができ、それによって、グループのデリケートな議論に参加し、奇抜な考えを提供し、又はユーザの身元がグループの他の者に知られているならば、ユーザが取らないであろう社会的にリスクの伴う他の行動を取ることに対するどんな不安もが軽減される。したがって、こうした電子的コミュニティ及びグループセッションを介した他のユーザとの交流によってしばしば、個人ユーザとグループの両方の生産性が高まり、教育的な体験及び娯楽が充実する。
【０００４】
残念ながら、オープンなフォーラムの乱用によってしばしば、一部の選ばれた少数を除く者にとってのこうした公開フォーラムの有用性及び楽しみが台無しになる。例えば、公開インターネット通信ディレクトリの採用は、「アダルトマテリアル（ａｄｕｌｔ  ｍａｔｅｒｉａｌ）」によって（破壊までとはいかなくとも）妨害されてきた。グループのメンバの名簿が使用できるようになると、「アダルト」企業が、卑猥なマテリアルを広告し又は送信するために、こうした名簿を使用するという経験が明らかになっている。こうした広告の内容によって、一部のユーザが離れていくことになるだけでなく、このような名簿を維持するグループの主催者は、グループのメンバを対象にしたこうしたアダルト広告の量が極めて膨大なので、他の話題に関して対話を設けることに興味があるユーザが、実際には卑猥でない話題に関心がある適切なメンバを見分けるのが困難であるという経験をしてきた。かつて、マイクロソフトコーポレーション社は、ピアツーピア通信のために、マイクロソフト社のサーバ上で、公開のインターネット検索サービス（ＩＬＳ；Ｉｎｔｅｒｎｅｔ  Ｌｏｏｋｕｐ  Ｓｅｒｖｉｃｅ）のディレクトリを維持していた。その初回リリース後に、アダルトマテリアルは、ますます大量に登場し始め、ついには、ディレクトリの内容の大部分が、本来の興味の話題ではなく、卑猥なマテリアルに関するものになった。このような望まれないマテリアルが、意図された個人又は企業の通信に使用するためのこうしたディレクトリの有用性に、非常に悪影響を及ぼしたので、マイクロソフトコーポレーション社は、ディレクトリサービスを終了した。
【０００５】
オンラインコミュニティ（ｏｎｌｉｎｅ  ｃｏｍｍｕｎｉｔｙ）の大部分のメンバが、定められた又は暗黙の行動規範に忠実であっても、参加者の間で行動基準を実施し強制するために、ユーザコミュニティ（ｃｏｍｍｕｎｉｔｙ  ｏｆ  ｕｓｅｒｓ）がそれ自体でできることはほとんどない。もちろん、コンピュータ上のグループの通信が第３者ホストによる全体的な制御下に置かれるならば、そのホストは、コミュニティの基準を確立し、必要時に介入することができる。この手法は、個々のメンバがサーバの各クライアントであり、また、クライアント間の通信がサーバ、及びクライアントによる環境の使用を制御するのに十分なほどの権限を有するホストによって管理される、従来のクライアント／サーバ環境では効果がある。オンラインゲームは、それぞれのプレイヤーがゲームサーバのクライアントであるので、こうした枠組みの典型的な例である。ゲームサーバが、様々なプレイヤー間で、通信サービス、テキスト及び／又は音声を提供する限りは、ホストは、クライアントのサーバへのアクセスを制御することによって統制力を発揮することができる。同様に、個々のユーザ間のピアツーピア通信の確立を容易にする、信頼できる環境を作るための方法及びシステムを提供することが望ましい。
【０００６】
特に、サーバの主要な役割が、クライアント間の通信を管理すること以外であれば、クライアント間の通信の全体量が非常に増加して、サーバに望ましくない負担をかけることになり得る。オンラインゲームをホストするサーバの例では、プレイヤー間の音声通信を管理するのに必要なサーバのオーバヘッドが、かなりの量になり得る。
【０００７】
例えば、大規模なマルチプレイヤーゲームは、何千ものクライアントが接続され得る、大型の中央サーバ（又はサーバ群）によってホストされる。中央サーバは、「世界の状態」の責任を担い、クライアント（すなわち、プレイヤーのコンピュータ又はゲームコンソール）は、一般に全体の世界観のごく一部にすぎない、プレイヤーの視点からの世界の表示の責任を担う。クライアントは、サーバに、プレイヤーの入力及び状態を連続的に送る。サーバは、世界を更新し、クライアントに、新しい世界の情報を連続的に返す。
【０００８】
現在、すべての周知の大規模マルチプレイヤーゲームのネットワークは、中央サーバを介してすべての通信をルーティングする。つまり、プレイヤーＡがプレイヤーＢにテキストメッセージを送信したい場合、プレイヤーＡは、サーバにメッセージを送信し、サーバがプレイヤーＢに、そのメッセージを中継する。これを行うのには、多くのよい理由がある。
・テキストチャットでは、帯域幅の追加が、サーバの大きなオーバヘッドにならない。
・ピアツーピア接続の確立には時間がかかる。
・サーバからの追加の補助なしでは、ピアツーピア接続は機能しないことがある。
・複数のプレイヤーへのメッセージの「展開」は、サーバ上で効率的に行われる。
・プレイヤーのＩＰアドレスの送信が、受信側のプレイヤーに公開されない。
【０００９】
しかしながら、音声チャットは、テキストチャットよりもかなり多くの帯域幅を必要とし、したがって、大規模マルチプレイヤーゲームネットワークに、音声チャット機能を追加することは、ゲームをホストする中央サーバへの非常に大きい負担になる。
【００１０】
【特許文献１】米国特許出願第１０／１５１，７９３号明細書
【発明の開示】
【発明が解決しようとする課題】
【００１１】
本発明は、このような状況に鑑みてなされたもので、その目的とするところは、ピアツーピア通信が開始され得る安全な環境を依然として提供しながら、サーバリソースの需要を低減するために、ゲームサーバがプレイヤー間のピアツーピア通信を円滑化できるようにするためのシステム及び方法を提供することにある。
【課題を解決するための手段】
【００１２】
本発明は、信頼できる環境にアクセスすることができるユーザ間のピアツーピア通信の確立を容易にする、信頼できる環境を提供するための方法及びシステムを対象とする。具体的には、サーバは、それぞれのユーザが、サーバへのアクセスを許される前に、特定の基準を満たすようにすることによって、ユーザのために信頼できるセッション環境（ｓｅｓｓｉｏｎ  ｅｎｖｉｒｏｎｍｅｎｔ）を提供する。サーバは、セッションをホストし、サーバによって資格情報（ｃｒｅｄｅｎｔｉａｌ）が承認されたユーザだけがセッションへの参加を許可されるように、セッションへのアクセスを試みる各ユーザの資格情報をチェックする。セッションの間、ユーザは、サーバによって現在承認されている１人又は複数の他のユーザを識別するリストにアクセスすることができる。好ましくは、このリストは、セッションに現在アクセスしているユーザを含む。第１ユーザは、こうしたリストの中から第２ユーザを選択し、サーバに、第１及び第２ユーザの間で形成されるピアツーピア接続を容易にするための情報の提供を要求する。サーバは、第１ユーザに、必要とされる情報を送信し、次いで、第１ユーザは、第２ユーザとのピアツーピア通信リンクの確立を試みる。試みが失敗すると、第１ユーザは、サーバに、失敗について知らせ、次いで、サーバは、第２ユーザに情報を送信し、したがって、第２ユーザは、ピアツーピア通信の確立を試みることができる。
【００１３】
また、サーバは、同時に、異なるセッションをホストすることができ、ユーザは、個々のユーザに付与されたアクセスレベルに基づいて、こうしたすべてのセッションより少ないセッションにアクセスすることができる。例えば、サーバは、複数の異なるゲームセッションをホストしていることがあり、それぞれのユーザは、同じゲームセッションにアクセスする他のユーザとだけの通信に制限され得る。
【００１４】
ピアツーピア通信の確立を容易にするためにサーバによって提供される情報は、ユーザの外部ＩＰアドレス、ユーザに関連するいずれかの内部ＩＰアドレス、及びユーザに関連するいずれかのポートアドレスを含む。好ましくは、それぞれのユーザがサーバにアクセスするときは、サーバによって、一意のユーザキーが、そのユーザに割り当てられる。次いで、そのユーザキーが、サーバによって提供される情報に追加され、それによって、ピアツーピア接続の受付け要求を受信するユーザに、その要求が信頼できるソースから来ていることを保証することができる。
【００１５】
ある実施形態では、安全なセッションをホストするサーバは、ユーザ間のピアツーピア通信を容易にすることとは別のコア機能を有する。この実施形態の好ましい実施は、サーバがマルチプレイヤーゲームをホストする、ネットワーク化されたゲーム環境である。サーバの主要機能は、ゲームをホストすることであり、ピアツーピアの円滑化は、ゲーム環境を向上させるものである。
【００１６】
他の実施形態では、サーバのコア機能は、ユーザがユーザ自身の間のピアツーピア通信を確立することができる、安全な環境を提供することである。この第２の実施形態の実施では、サーバは、ユーザの資格情報及び興味に基づいて、それぞれ異なるセッション又はサービスの一部への個々のアクセスを許可する。ある個人ユーザの行動について、他のユーザから不満が受信されると、サーバは、そのユーザが以降のセッションに参加することを禁じることができる。
【００１７】
以下に述べるように、本発明の他の実施態様は、上述した本発明によるステップを実施するためのマシン命令を格納するメモリ媒体を対象とする。
【００１８】
上述した実施態様及び付随する本発明の利点の多くは、添付した図面に併せて、以下の詳細な説明を参照することによって、それがよりよく理解されるようになるので、容易に評価されるようになろう。
【発明を実施するための最良の形態】
【００１９】
以下、図面を参照して本発明の実施の態様について説明する。  
本発明の好ましい一実施形態は、共通のクライアント間のピアツーピア通信を円滑にし、それに対して、ある程度の制御を行うサーバを使用する。サーバは、ピアツーピアの内容の監視又は制御にリアルタイムには関与しないが、参加者を認証し許可する。次いで、参加者は、サーバによって同様に認証され許可された他の参加者にアクセスすることを許される。サーバを使用して、認証されたユーザ間のピアツーピア通信リンクの確立を容易にすることができる。
【００２０】
本発明の実施形態１では、サーバのコア機能は、クライアントに他の一部の機能を提供することであり、ピアツーピア通信の円滑化は、２次的な機能である。実施形態１の一例では、サーバの１次機能は、オンラインゲームをホストすることであり、ゲームサーバによってイネーブルされたピアツーピア通信が提供されて、ゲームプレイヤーの体験を向上させる。
【００２１】
本発明の実施形態２では、サーバのコア機能は、信頼できるクライアント間のピアツーピア通信を円滑化する信頼できる環境を提供することである。実施形態２の一例では、興味を共有するメンバ間のピアツーピア通信を円滑化するために、公開インターネットディレクトリが確立される。このような公開インターネットディレクトリが以前に存在していたが、こうしたディレクトリは、信頼できる環境では確立されておらず、直ちに、卑猥な内容を提供する者による乱用の格好の的になり、こうした者によって、ディレクトリの本来の目的に興味をもつ他のクライアントが、直ぐに出ていくことになった。この実施形態の１つの形では、サーバは、それぞれ異なるエンティティの「クラス（ｃｌａｓｓ）」（匿名ユーザ、認証されたユーザ、ビジネス、大学など）に、安全に実施され得るそれぞれ異なるアクセス権を割り当てることを可能にすることによって、安全な環境を提供する。
【００２２】
ネットワーク化されたゲーム環境で、ピアツーピア通信を円滑化することは、本発明の好ましい機能であるので、以下の説明では、例示的なゲームシステムについて説明する。ゲームサーバの実施形態は、最初に好ましい適用例であるが、本発明は、本明細書で詳細に説明するゲームサーバの実施形態、又はサーバの主要機能がピアツーピア通信の円滑化以外である実施形態に単に限定されるものではないことを理解されたい。本明細書及び特許請求の範囲で説明する中心的な概念は、それぞれの実施形態に適用され、ゲームサーバの実施形態は、本発明を限定するものではなく、例示的なものにすぎないと見なすべきである。本発明は、ネットワークゲームシステムを含めて、様々なコンピューティング装置を使用して実施され得ることが当業者には理解されよう。したがって、本発明は、セットトップボックス（ｓｅｔ−ｔｏｐ  ｂｏｘ）を使用して、アーケードゲーム機で、ハンドヘルド装置を使用して、パーソナルコンピュータ（ＰＣ；ｐｅｒｓｏｎａｌ  ｃｏｍｐｕｔｅｒ）上で実行されるアプリケーションに関連して、また、共通のサーバを共有する信頼できるクライアント間でピアツーピア通信を円滑化することが望まれる他のネットワーク化されたシステムで実施することも可能である。
【００２３】
＜例示的なゲームシステム＞
図１は、本発明を実施するのに適した例示的な電子ゲームシステムの構成図で、ゲームコンソール及び最大４つのユーザ入力装置のためのサポートを含む、例示的な電子ゲームシステムの構成図である。
【００２４】
電子ゲームシステム１００は、ゲームコンソール１０２、ならびにコントローラ１０４ａ及び１０４ｂなど、最大４つのユーザ入力装置のためのサポートを備えている。ゲームコンソール１０２は、内部ハードディスクドライブ（図示せず）と光記憶ディスク１０８で表される、様々な形態のポータブル光記憶媒体を読み出す光メディアドライブ１０６を備えている。適切なポータブル記憶媒体の例には、デジタル多用途ディスク（ＤＶＤ；ｄｉｇｉｔａｌ  ｖｅｒｓａｔｉｌｅ  ｄｉｓｃ）、及びコンパクトディスク読出し専用メモリディスク（ＣＤ−ＲＯＭ；ｃｏｍｐａｃｔ  ｄｉｓｋ−ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ  ｄｉｓｃ）が含まれる。このゲームシステムでは、好ましくは、ゲームプログラムは、ゲームコンソールで使用するために、ＤＶＤディスクで配布されるが、その代わりに、他の記憶媒体が、このシステム又は本発明を使用する他のタイプのシステムで使用され得ることも予期されている。
【００２５】
ゲームコンソール１０２の正面には、サポートされるコントローラとの接続のために、４つのスロット１１０が配置されているが、スロットの数及び構成は、それよりも多い又は少ないコントローラをサポートするように、必要に応じて、修正することができる。電源ボタン１１２及び取出しボタン１１４もまた、ゲームコンソール１０２の正面に配置される。電源ボタン１１２は、ゲームコンソールの電力の使用を制御し、取出しボタン１１４は、光メディアドライブ１０６のトレイ（図示せず）の開閉を交互に行って、記憶ディスク１０８の挿入及び取出しを可能にし、それによって、その上のデジタルデータを、ゲームコンソールによって使用するために、読み出すことができる。
【００２６】
ゲームコンソール１０２は、オーディオ／ビジュアル（Ａ／Ｖ：ａｕｄｉｏ／ｖｉｓｕａｌ）インターフェイスケーブル１２０を介して、テレビ１２１、あるいは他の表示モニタ又は画面に接続する。電源ケーブルプラグ１２２は、従来の交流の電線源（図示せず）に接続されるときに、ゲームコンソールに電力を送る。ゲームコンソール１０２は、（例えば、ハブ又は交換機（図示せず）との接続を介した）ネットワーク上で、例えば、ｘＤＳＬインターフェイス、ケーブルモデム、又は他のブロードバンドインターフェイス（図示せず）を介したインターネット上で、データを送受信するためのイーサネット（登録商標）データコネクタ１２４を含む。本発明を実施する他のタイプのゲームコンソールが、従来の電話モデムを使用して通信することによって、互いに又はリモートサーバに結合され得る。
【００２７】
それぞれコントローラ１０４ａ及び１０４ｂは、リード線（あるいは無線インターフェイス）を介してゲームコンソール１０２に結合される。例示する実装では、コントローラはＵＳＢコンパチブルであり、ＵＳＢケーブル１３０を介してゲームコンソール１０２に接続されるが、その代わりに、他のタイプのデータインターフェイスを使用できることも予期している。ゲームコンソール１０２は、ゲームソフトウェアと対話し、それを制御するための様々なユーザ装置のいずれかを備えることができる。図１に示すように、それぞれのコントローラ１０４ａ及び１０４ｂは、２つのサムスティック（ｔｈｕｍｂｓｔｉｃｋ）１３２ａ及び１３２ｂ、方向パッド（Ｄ−ｐａｄ）１３４、ボタン１３６及び２つのトリガ（ｔｒｉｇｇｅｒ）１３８を備える。これらのコントローラは、例示的なものにすぎず、ゲームコンソール１０２で使用するために、他のゲーム用の入力及び制御装置を、図１に示すものの代わりに使用し、又はそれに加えることができる。
【００２８】
取出し可能な機能ユニット１４０を、任意選択で、それぞれのコントローラ１０４ａ及び１０４ｂに挿入して、追加の特徴及び機能を提供することができる。例えば、ポータブルメモリユニット（ＭＵ；ｍｅｍｏｒｙ  ｕｎｉｔ）によって、ユーザは、ゲームパラメータを格納し、ポータブルＭＵを、他のゲームコンソールに接続されたコントローラに挿入することによって、他のゲームコンソール上でプレイするために、それを移植することができる。別の取出し可能な機能ユニットは、ユーザが口頭で他のユーザとローカルに及び／又はネットワークを介して通信できるようにする音声通信ユニットを含む。音声通信ユニットには、ブームマイク１４４を含むヘッドセット１４２が接続されている。あるいは、音声通信ユニットの回路を、コントローラに組み込むことができ、また、ブームマイク付きのヘッドセットを、取出し可能に又は永続的に、コントローラに接続することもできる。好ましくは、それぞれのコントローラは、２つの取出し可能な機能ユニットを収容するように構成されるが、その代わりに、２つより多い又は少ない取出し可能機能ユニット又はモジュールを使用することもできる。
【００２９】
ゲームシステム１００は、例えば、ゲーム、音楽及びビデオなどを再生することができる。他の機能が、ハードディスクドライブ内に格納され、又はドライブ１０６内の光記憶ディスク１０８から読み出されるデジタルデータを使用して、あるいはオンラインソース又はＭＵから取得されるデジタルデータを使用して実装され得ることが予期されている。例えば、ゲームシステム１００は、以下の再生が潜在的に可能である。
・光メディアドライブによって読み出されるＣＤ及びＤＶＤディスク内に格納され、又はハードディスクドライブ内に格納され、あるいはオンラインソースからダウンロードされるゲームタイトル。
・光メディアドライブ１０６によって読み出されるＣＤ内に、又はハードディスクドライブ上のファイル（ＷＩＮＤＯＷＳ（登録商標）  ＭＥＤＩＡ  ＡＵＤＩＯ（商標）（ＷＭＡ）フォーマットなど）内に格納され、あるいはインターネット又は他のネットワーク上のオンラインストリーミングソースから得られるデジタル音楽。
・光メディアドライブ１０６によって読み出されるＤＶＤディスク内に、又はハードディスクドライブ上のファイル（アクティブストリーミングフォーマット（ａｃｔｉｖｅ  ｓｔｒｅａｍｉｎｇ  ｆｏｒｍａｔ）など）内に格納され、あるいはインターネット又は他のネットワークを介して、オンラインストリーミングソースからアクセスされるデジタルＡ／Ｖデータ。
【００３０】
図２は、ゲームシステムの機能構成要素をより詳細に示す機能ブロック図である。ゲームコンソール１０２は、ＣＰＵ２００と、ＣＰＵから読出し専用メモリ（ＲＯＭ；ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ）２０４と、ランダムアクセスメモリ（ＲＡＭ；ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）２０６と、ハードディスクドライブ２０８と、ポータブル光メディアドライブ１０６へのアクセスを容易にするメモリコントローラ２０２とを備えている。ＣＰＵ２００は、必要なメモリアクセスのサイクル数を減らし、それによってゲームシステムの処理速度及びスループットを向上させるために、一時的にデータを格納するレベル１キャッシュ２１０及びレベル２キャッシュ２１２を備える。ＣＰＵ２００とメモリコントローラ２０２と様々なメモリ装置は、シリアル及びパラレルバス、メモリバス、周辺バス、ならびに様々なバスアーキテクチャのうちのいずれかを使用するプロセッサバス又はローカルバスを含めて、１つ又は複数のバスを介して相互接続される。例示すると、こうしたアーキテクチャには、業界標準アーキテクチャ（ＩＳＡ；Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、マイクロチャネルアーキテクチャ（ＭＣＡ；Ｍｉｃｒｏ  Ｃｈａｎｎｅｌ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、拡張ＩＳＡ（ＥＩＳＡ；Ｅｎｈａｎｃｅｄ  ＩＳＡ）バス、ビデオ電子規格協会（ＶＥＳＡ；Ｖｉｄｅｏ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｓｔａｎｄａｒｄｓ  Ａｓｓｏｃｉａｔｉｏｎ）ローカルバス、及び周辺コンポーネント相互接続（ＰＣＩ；Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔｓ）バスが含まれ得る。
【００３１】
適切なある実装例として、ＣＰＵ２００とメモリコントローラ２０２とＲＯＭ２０４とＲＡＭ２０６は、共通のモジュール２１４内に統合されている。この実装例では、ＲＯＭ２０４は、ＰＣＩバス及びＲＯＭバス（いずれも図示せず）を介してメモリコントローラ２０２に接続されるフラッシュＲＯＭとして構成されている。ＲＡＭ２０６は、別個のバス（図示せず）を介してメモリコントローラ２０２によって独立に制御される複数のダブルデータレート同期ダイナミックＲＡＭ（ＤＤＲ  ＳＤＲＡＭ；ｄｏｕｂｌｅ  ｄａｔａ  ｒａｔｅ  ｓｙｎｃｈｒｏｎｏｕｓ  ｄｙｎａｍｉｃ  ＲＡＭ）モジュールとして構成されている。ハードディスクドライブ２０８及び光メディアドライブ１０６は、ＰＣＩバス及び高度技術接続（ＡＴＡ；ａｄｖａｎｃｅｄ  ｔｅｃｈｎｏｌｏｇｙ  ａｔｔａｃｈｍｅｎｔ）バス２１６を介してメモリコントローラに接続されている。
【００３２】
３Ｄグラフィック処理装置（ＧＰＵ；ｇｒａｐｈｉｃｓ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）２２０及びビデオエンコーダ２２２は、高速及び高解像度グラフィック処理のために、動画処理パイプラインを形成する。データは、デジタルビデオバス（図示せず）を介して、ＧＰＵ２２０からビデオエンコーダ２２２に送られる。音声処理装置２２４及び音声エンコーダ／デコーダ（ＣＯＤＥＣ）２２６は、ハイファイのステレオ音声データ処理のための対応するオーディオ処理パイプラインを形成する。通信リンク（図示せず）を介して、音声処理装置２２４と音声ＣＯＤＥＣ２２６の間で、音声データが送られる。動画及び音声処理パイプラインは、テレビ又は他の表示モニタに送信するために、Ａ／Ｖポート２２８に、データを出力する。図示する実装では、動画及び音声処理構成要素２２０〜２２８は、モジュール２１４に取り付けられている。
【００３３】
モジュール２１４には、ＵＳＢホストコントローラ２３０及びネットワークインターフェイス２３２も実装される。ＵＳＢホストコントローラ２３０は、バス（ＰＣＩバスなど）を介してＣＰＵ２００及びメモリコントローラ２０２に結合され、周辺ゲームコントローラ１０４ａ〜１０４ｄのホストの働きをする。ネットワークインターフェイス２３２は、ネットワーク（インターネット、ホームネットワークなど）へのアクセスを提供し、イーサネット（登録商標）カード、電話モデムインターフェイス、Ｂｌｕｅｔｏｏｔｈモジュール、ケーブルモデムインターフェイス、ｘＤＳＬインターフェイスなどを含めて、幅広い様々な有線又は無線インターフェイス構成要素のいずれかを含み得る。
【００３４】
ゲームコンソール１０２は、２つのデュアルコントローラサポートサブアセンブリ（ｄｕａｌ  ｃｏｎｔｒｏｌｌｅｒ  ｓｕｐｐｏｒｔ  ｓｕｂａｓｓｅｍｂｌｙ）２４０ａ及び２４０ｂを含み、それぞれのアセンブリがゲームコントローラ１０４ａ〜１０４ｄのうちの２つをサポートする。フロントパネル入出力（Ｉ／Ｏ：ｉｎｐｕｔ／ｏｕｔｐｕｔ）サブアセンブリ２４２は、電源ボタン１１２及び取出しボタン１１４、ならびにゲームコンソールの外面に露出された、発光ダイオード（ＬＥＤ；ｌｉｇｈｔ−ｅｍｉｔｔｉｎｇ  ｄｉｏｄｅ）又は他のインジケータの機能をサポートする。サブアセンブリ２４０ａ、２４０ｂ及び２４２は、１つ又は複数のケーブルアセンブリ２４４を介してモジュール２１４に結合される。
【００３５】
８つの機能ユニット１４０ａ〜１４０ｈは、４つのコントローラ１０４ａ〜１０４ｄに接続可能であり、すなわち、それぞれのコントローラについて、２つの機能ユニットが接続可能なものとして示されている。各機能ユニットは、ゲーム、ゲームパラメータ、及び他のデータのための追加の機能又はストレージを提供する。ＭＵがコントローラに挿入されると、ＭＵに、メモリコントローラ２０２からアクセスすることができる。
【００３６】
システム電力供給モジュール２５０は、ゲームシステム１００の構成要素に電力を供給する。ファン２５２は、ゲームコンソール１０２内の構成要素及び回路を冷却する。
【００３７】
本発明を実施するために、ＤＶＤ又は他の記憶媒体に格納された（又はネットワークを介してダウンロードされた）マシン命令を含むゲームソフトウェアアプリケーション２６０は、ＣＰＵ２００による実行のため、ＲＡＭ２０６及び／又は、キャッシュ２１０及び／又はキャッシュ２１２にロードされる。ソフトウェアアプリケーション２６０の一部が、必要時にだけＲＡＭにロードされることも、また（サイズに応じて）すべてのソフトウェアアプリケーションが、ＲＡＭ２０６にロードされることもある。ソフトウェアアプリケーション２６０、及び本発明を実施するためにそれが実行する関連の機能について、以下に詳しく説明する。
【００３８】
ゲームシステム１００は、単にシステムをテレビ又は他の表示画面に接続することによって、スタンドアローンのシステムとして動作することができる。このスタンドアローンモードでは、ゲームシステム１００は、１人又は複数のユーザがゲームを行い、映画を鑑賞し、又は音楽を聴くことを可能にする。しかし、ネットワークインターフェイス２３２を介して可能になるインターネット又は他のネットワークとの接続によって、ゲームシステム１００はさらに、より大規模なネットワークゲームコミュニティの構成要素として動作して、インターネット又は他のネットワークを介して他のゲームシステムを使用するプレイヤーとゲームが行われる、複数のプレイヤーによるオンラインでの対話が可能になる。ゲームシステム１００は、ピアツーピア通信で、ネットワークインターフェイス及び適切なケーブルを使用する他のゲームシステム（図示せず）に結合することもできる。
【００３９】
＜第１の実施形態のための例示的なゲームネットワーク＞
図３は、ネットワークを介して複数のゲームシステムを相互接続する、例示的なネットワークゲーム環境を示す構成図である。
【００４０】
好ましくは、それぞれのゲームシステムは、少なくとも１つの対応するヘッドセット１４２ａ、・・・１４２ｎ、及びプレイヤー間の音声通信のための対応するマイク１４４ａ、・・・１４４ｎを備えている。ネットワーク３０２は、様々なデータ通信ネットワークのいずれかであり、公設の部分（インターネットなど）、及び私設の部分（住居用又は商用のローカルエリアネットワーク（ＬＡＮ；ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ）を含み得る。ネットワーク３０２は、有線と無線の両方のタイプを含めて、様々な従来の通信構成のいずれか１つ又は複数を使用して実装され得る。公開プロトコルと自社開発のプロトコルの両方を含めて、様々な通信プロトコルのいずれかを使用して、ネットワーク３０２を介してデータを通信することができる。こうしたプロトコルの例には、ＴＣＰ／ＩＰ、ＩＰＸ／ＳＰＸ、ＮｅｔＢＥＵＩなどが含まれる。
【００４１】
ゲームシステム１００ａ、・・・１００ｎに加えて、参加者のための様々なサービス、例えば、オンラインゲームのサービス及び／又はホスティング、ダウンロード可能な音楽又は動画ファイルのサービス、ゲーム大会のホスティング、ストリーミングＡ／Ｖファイルのサービス、電子メール又は他の媒体による通信の交換を可能することなどを提供する、１つ又は複数のオンラインサービス３０４ａ、・・・３０４ｎに、ネットワーク３０２を介してアクセスすることができる。ネットワークゲーム環境３００はさらに、個々のプレイヤー及び／又はゲームシステム１００ａ、・・・１００ｎを認証する役割を担う鍵配布センタ３０６を、それらの相互接続のため、またオンラインサービス３０４ａ、・・・３０４ｓとの相互接続のために使用する。配布センタ３０６は、有効な参加者に，鍵及びサービスチケットを配布し、次いで、この鍵及びサービスチケットを使用して、複数のプレイヤーを含む、ゲームをプレイするグループを形成し、又はオンラインサービス３０４ａ、・・・３０４ｓからサービスを購入することができる。
【００４２】
ネットワークゲーム環境３００は、個々のゲームシステム１００ａ、・・・１００ｎで使用可能な別のメモリソース、すなわち、オンラインストレージを取り入れる。光記憶ディスク１０８とハードディスクドライブ２０８と機能ユニット１４０上のデータにアクセスすることに加えて、ゲームシステム１００ａ、・・・１００ｎは、オンラインサービス３０４ｓのリモートストレージ３０８で例示するように、ネットワーク３０２を介したリモート記憶場所で使用可能なデータファイルにアクセスすることもできる。
【００４３】
ネットワークゲーム環境は、例えば、セキュリティの強化及び、他のコンピューティング装置によるアクセスの制限を提供するために、仮想プライベートネットワークトンネル（ｖｉｒｔｕａｌ  ｐｒｉｖａｔｅ  ｎｅｔｗｏｒｋ  ｔｕｎｎｅｌ）を介した通信を使用する、他のゲームシステム及びゲーム環境にだけアクセスを提供する、閉じたネットワークであり得ることに留意されたい。
【００４４】
＜オンラインサービス及びサーバコンピュータのための例示的なシステム＞
図４は、オンラインサービス用の例示的なシステムで使用するための、従来のサーバコンピュータの形態の汎用コンピューティング装置の機能ブロック図である。
【００４５】
図４を参照すると、オンラインサービス３０４ａ、・・・３０４ｓのための本発明による例示的なシステムは、処理装置４２１とシステムメモリ４２２とシステムバス４２３を備えた従来型のサーバコンピュータ（ＳＣ；ｓｅｒｖｅｒ  ｃｏｍｐｕｔｅｒ）４２０の形の汎用コンピューティング装置を備えている。システムバスは、システムメモリを含めて様々なシステム構成要素を、処理装置４２１に結合し、メモリバス又はメモリコントローラ、周辺バス、及び様々なバスアーキテクチュアのいずれかを使用するローカルバスを含めて、複数のタイプのバス構造のいずれかであり得る。システムメモリは、ＲＯＭ４２４及びＲＡＭ４２５を含む。例えば、起動時などに、ＳＣ４２０内の要素間で情報を転送する助けとなる基本ルーチンを含む基本入出力システム（ＢＩＯＳ／ｂａｓｉｃ  ｉｎｐｕｔ／ｏｕｔｐｕｔ  ｓｙｓｔｅｍ）４２６は、ＲＯＭ４２４に格納される。ＳＣ４２０は、ハードディスク（図示せず）から読み出し、そこに書き込むための１つ又は複数のハードディスクドライブ４２７、取出し可能磁気ディスク４２９から読み出し、又はそこに書き込むための磁気ディスクドライブ４２８、及びＣＤ−ＲＯＭ又は他の光メディアなどの取出し可能光ディスク４３１から読み出し、又はそこに書き込むための光ディスクドライブ４３０をさらに含み得る。ハードディスクドライブ４２７、磁気ディスクドライブ４２８及び光ディスクドライブ４３０は、ハードディスクドライブインターフェイス４３２、磁気ディスクドライブインターフェイス４３３及び光ディスクドライブインターフェイス４３４によってそれぞれ、システムバス４２３に接続される。ドライブ及びその関連するコンピュータ読取り可能な媒体は、コンピュータ読取り可能なマシン命令、データ構造体、プログラムモジュール及びＳＣ４２０の他のデータの不揮発記憶域を提供する。本明細書で述べる例示的な環境では、バードディスク、取出し可能磁気ディスク４２９及び取出し可能光ディスク４３１を使用しているが、磁気カセット、フラッシュメモリカード、デジタルビデオディスク（ＤＶＤ；ｄｉｇｉｔａｌ  ｖｉｄｅｏ  ｄｉｓｃ）、ベルヌーイカートリッジ（Ｂｅｒｎｏｕｌｌｉ  ｃａｒｔｒｉｄｇｅ）、ＲＡＭ、ＲＯＭなど、コンピュータによってアクセス可能なデータ及びマシン命令を格納することができる他のタイプのコンピュータ読取り可能な媒体を、例示的なオペレーティング環境で使用することも可能である。
【００４６】
オペレーティングシステム４３５、１つ又は複数のアプリケーションプログラム４３６、他のプログラムモジュール４３７及びプログラムデータ４３８を含めて、複数のプログラムモジュールを、ハードディスク、磁気ディスク４２９、光ディスク４３１、ＲＯＭ４２４又はＲＡＭ４２５内に格納することができる。ユーザは、キーボード４４０及びポインティング装置４４２などの入力装置によって、ＳＣ４２０に、コマンド及び情報を入力し、また制御入力を提供することができる。ポインティング装置４４２は、マウス、スタイラスペン（ｓｔｙｌｕｓ）、無線リモートコントロール又は他のカーソルコントロールを含み得る。以下では、用語「マウス」は、画面上のカーソル位置を制御するのに有用な事実上どんなポインティング装置をも包含するものである。他の入力装置（図示せず）には、マイク、ジョイスティック、触覚ジョイスティック、ヨーク（ｙｏｋｅ）、フットペダル、ゲームパッド、パラボラアンテナ、スキャナなどが含まれる。こうした及び他のＩ／Ｏデバイスはしばしば、システムバス４２３に結合されたＩ／Ｏインターフェイス４４６を介して、処理装置４２１に接続される。用語Ｉ／Ｏインターフェイスは、具体的には、シリアルポート、パラレルポート、ゲームポート、キーボードポート及び／又はユニバーサルシリアルバス（ＵＳＢ；ｕｎｉｖｅｒｓａｌ  ｓｅｒｉａｌ  ｂｕｓ）ポート用に使用される各インターフェイスを包含するものである。モニタ４４７又は他のタイプの表示装置もまた、ビデオアダプタ４４８などの適切なインターフェイスを介してシステムバス４２３に接続され、アプリケーションプログラム、グラフィック画像、ウェブページ及び／又は他の情報を表示するために使用することができる。モニタに加えて、ＳＣは、（サウンドカード又は他の音声インターフェイス（図示せず）を介した）スピーカ及びプリンタなどの他の周辺出力装置（図示せず）に結合することができる。
【００４７】
ＳＣ４２０は、好ましくは、リモートコンピュータ４４９や上述したゲームシステムなど、１つ又は複数のリモートコンピューティング装置との論理接続を使用する、ネットワーク化された環境内で動作する。したがって、リモートコンピュータ４４９は、別のＳＣ、ゲームコンソール、（一般に、構成がＳＣ４２０に非常に類似している）パーソナルコンピュータ、ルータ、ネットワークＰＣ、ピアデバイス（ｐｅｅｒ  ｄｅｖｉｃｅ）、あるいはサテライト又は他の通常のネットワークノードとすることができ、また図４には、外部メモリ記憶装置４５０しか図示されていないが、ＳＣ４２０に関連して上記で述べた要素の多く又はすべてを通常含む。図３のネットワーク３０２に関して上述したように、図４に示す論理接続は、ローカルエリアネットワーク（ＬＡＮ）４５１、及び広域エリアネットワーク（ＷＡＮ；ｗｉｄｅ  ａｒｅａ  ｎｅｔｗｏｒｋ）４５２を含む。こうしたネットワーキング環境は、家庭では比較的に一般的であり、オフィス、企業規模のコンピュータネットワーク、イントラネット及びインターネットでは非常に一般的である。
【００４８】
ＬＡＮネットワーキング環境で使用される場合、ＳＣ４２０は、ネットワークインターフェイス又はアダプタ４５３を介してＬＡＮ４５１に接続される。ＷＡＮネットワーキング環境で使用される場合、ＳＣ４２０は一般に、モデム４５４、あるいはケーブルモデム、ＤＳＬインターフェイス、サービス総合デジタルネットワーク（ＩＳＤＮ；Ｉｎｔｅｇｒａｔｅｄ  Ｓｅｒｖｉｃｅ  Ｄｉｇｉｔａｌ  Ｎｅｔｗｏｒｋ）インターフェイスなど、インターネットのようなＷＡＮ４５２上で通信を確立するための他の手段を含む。モデム４５４は、内部にあっても、外部にあってもよく、システムバス４２３に接続され、又はＩ／Ｏデバイスインターフェイス４４６、すなわちシリアルポートを介してバスに結合される。ネットワーク化された環境では、ＳＣ４２０に関して示したプログラムモジュール又はその一部を、リモートメモリ記憶装置内に格納することができる。図示するネットワーク接続は、例示的なものであり、コンピュータ／コンピューティング装置間で、無線通信や広帯域ネットワークリンクなどの通信リンクを確立するための他の手段を使用できる。
【００４９】
＜実施形態１と実施形態２の両方に適用可能な中心的概念＞
図５は、サーバのクライアント間のピアツーピア接続の確立を容易にするように、信頼できる環境を提供するサーバの概略図である。
【００５０】
図５に示すように、ネットワーク５１０は、サーバ５１２とクライアント５１４、５１６及び５１８を備えている。サーバ５１２は、サーバによってホストされるセッションにアクセスすることを許されたクライアントを制御することによって、信頼できる環境を提供する。サーバ５１２は、サーバによってホストされるセッションにアクセスするために各クライアントが料金を支払う、サブスクリプションサービス（ｓｕｂｓｃｒｉｐｔｉｏｎ  ｓｅｒｖｉｃｅ）として動作し得る。あるいは、クライアントは、セッションにアクセスする料金を請求されないことがあるが、サーバがどのクライアントがサーバによってホストされるセッションにアクセスできるかを制御するために、各セッションへの登録が求められる。例えば、登録プロセスでは、クライアントは、ピアツーピアの状況で、他のクライアントと性的関連の通信を行うことを控えるなど、コミュニティのポリシーに合意しなければならないことがある。他のクライアントがこのポリシーについての不正を報告すると、違反したクライアントは、それ以降、サーバへのアクセスを禁じられ得る。サーバは、複数のセッションを操作することも、クライアントのアクセスを特定のセッションだけに制限することもある。例えば、サーバ５１２は、１０代向けセッション、鉄道模型に重点を置く趣味のセッション、及びクライアント間の性的に露骨な通信に関してより寛容なアダルトセッションを同時にホストすることができる。登録を行う１８歳未満のクライアントは、１０代向けセッション、及び趣味のセッションへのアクセスは許されるが、アダルトセッションへのアクセスは許されない。大人のクライアント登録者は、所望であれば、アダルトセッションを除くこともできる。サーバ５１２がゲームサーバである場合、様々なゲーム及び様々な難易度のゲームプレイに対応する、複数の異なるセッションが利用可能である。
【００５１】
本発明の１つの重要な概念は、サーバによってホストされるセッションへのアクセスを制御することによって、サーバによって設けられた行動規範を違反するクライアントが、以降のセッションへのアクセスを禁じられ得ることである。違反は、いくつかの状況で発生し得る。クライアントは、サーバによってサポートされていない話題（例えば、性的又は政治的関連の話題など）に関するピアツーピア通信への参加を求める要求をサーバに書き込むことがある。サーバは、その書き込みを削除し、そのクライアントが将来サーバにアクセスすることを禁じることができる。別の状況では、クライアントは、ピアツーピアの状況で、他のクライアントと、不快な嫌がらせの通信を行うことがある。サーバは、こうした振舞いに関して、他のクライアントからフィードバックを収集し、必要に応じて、不快なクライアントをアクセス禁止にすることができる。本願の譲渡人に譲渡された特許文献１「Ａｕｔｏｍａｔｉｃ  Ｆｅｅｄｂａｃｋ  ａｎｄ  Ｐｌａｙｅｒ  Ｄｅｎｉａｌ」では、オンラインゲーム環境で、プレイヤーの振舞いに関するフィードバックを収集するためのシステム及び方法が開示されている。そこに記載されたシステム及び方法を使用して、サーバ５１２のクライアントに関するフィードバックを収集し、必要に応じて、クライアントをアクセス禁止にすることができる。
【００５２】
サーバ５１２によってホストされるセッションは、多岐に渡る。上述したように、実施形態１では、サーバの重要な機能は、ピアツーピア通信の円滑化ではなく、オンラインゲームをホストするなどの別の機能を実施することである。この実施形態では、クライアント（プレイヤー）間でピアツーピア通信を確立することによって、ゲーム体験を向上させる。実施形態２では、サーバのコア機能は、クライアントがピアツーピア通信の確立を希望する他のクライアントを検出できるようにすることである。どちらの実施形態が実施されるにせよ、サーバ５１２は、サーバによってイネーブルされたセッションへのアクセスを許されたクライアントをサーバが制御する、信頼できる環境を提供する。
【００５３】
サーバ５１２は、複数の異なるハードウェア構成を使用して実装され得る。サーバ５１２は、単一のコンピューティングプラットフォームとして実装されることも、連携して共に機能する複数のコンピューティングプラットフォームとして実装されることもある。用語「サーバ」は、単一のコンピューティング装置だけに限定するものではなく、より広い意味で、本明細書で述べる「サーバ」の機能を実施する複数のコンピューティング装置を包含するものである。
【００５４】
図５を再び参照すると、クライアント５１４、５１６及び５１８はそれぞれ、サーバ５１２とサーバ／クライアント接続５２０を確立している。サーバ５１２によって提供される情報に基づいて、クライアント５１４は、クライアント５１６とピアツーピア接続５２２を確立している。クライアント５１８は、同様に、クライアント５１６とピアツーピア接続５２２を確立している。
【００５５】
図６は、サーバによって、クライアント間のピアツーピア通信が円滑化される安全な環境を提供するために、サーバを使用するための論理を一般的に示すフローチャートを示す図である。
【００５６】
ブロック６１２で、論理が開始し、ブロック６１４で、サーバが、セッションに参加するために、サーバによってホストされるセッションにアクセスしようとする各クライアントを認証し許可する。ブロック６１６で、サーバは、現在セッションにアクセスしている許可された他のクライアントを含むリストを、クライアントに提供する。状況によっては、現在はセッションに参加していないが、ピアツーピア通信を希望するクライアントを含むことが望ましい場合があるが、しかし、ほとんどの状況では、こうしたリスト上の各クライアントは、オンラインでサーバにログオンし、ピアツーピア通信を確立することができる。リストは、単一のクライアントだけを含み得るが、一般には複数のクライアントを含む。
【００５７】
クライアントにリストが提示されるやり方は、様々であり得る。リストの内容もまた、様々なやり方で構成され得る。例えば、サーバがゲームサーバである場合、リストは、第１クライアントの「チーム」のメンバであるクライアントだけに限定され、したがって、リストは、セッションに参加するすべてのクライアントを含むとは限らない。主要な機能が、クライアント間のピアツーピア通信を円滑化することであるサーバの状況では、リストは、特定のクライアントに関連する許可に基づき得る。アダルトセッション、１０代向けセッション及び趣味セッションをホストするサーバについて考えてみる。第１クライアントの年齢に基づいて、リストは、アダルトセッションからのどんなクライアントをも含まないことがある。具体的には、サーバがピアツーピア通信の円滑化に専用のものである状況では、特定の興味を共有する他のクライアントを識別するために、クライアントがリストを限定できることが望ましい。例えば、第１クライアントは、アダルトセッションに参加するのに十分な年齢であり得るが、実際には、クライアントが存在するのと同じ地理的領域内の愛好家とだけ通信を希望することがあり得る。その場合、サーバによって提供されるリストは、話題及び地理によって限定される。他の多くの変形物が可能である。
【００５８】
フローチャート６１０を再び参照すると、ブロック６１８で、第１クライアントが、リストから第２クライアントを選択できるようにする。次いで、ブロック６２０で示すように、サ−バは、第２クライアントに関する接続情報を、第１クライアントに送信する。こうした接続情報は、第１クライアントが第２クライアントとピアツーピア通信を確立するのに必要とする情報を最小限含む。例えば、第２クライアントの外部ＩＰアドレスが含まれる。（例えば、共有のインターネット接続ネットワーク上で）第２クライアントが内部ＩＰアドレス及び／又は特定のポートアドレスに関連付けられている場合、その情報も同様に含まれる。情報がサーバによって提供されたユーザキーをも含むことが好ましく、それによって、第２クライアントが第１クライアントとのピアツーピア通信確立の要求を受信する場合に、第１クライアントがサーバによって第２クライアントに割り当てられたユーザキーを有しているという事実によって、第１クライアントがサーバから信頼されていることが示される。
【００５９】
ブロック６２２で、第１クライアントは、サーバから受信された第２クライアントに関する接続情報を使用して、第２クライアントとピアツーピア通信の確立を試みる。判断ブロック６２４で、その試みが成功したかどうかを判断する。そうである場合は、ブロック６２６で示すように、接続が参加者の１人によって（又はネットワークの不具体によって）切断されるまで維持される。試みが失敗であった場合は、ブロック６２８で示すように、サーバは、第２クライアントに、第１クライアントの接続情報を送信する。ブロック６３０で、第２クライアントは、第１クライアントの接続情報を使用して、第１クライアントとのピアツーピア通信リンクの確立を試みる。判断ブロック６３２で、その試みが成功したかどうかを判断する。そうである場合は、ブロック６２６で示したように、ここでも、接続が参加者の１人によって（又はネットワークの不具体によって）切断されるまで、維持される。ブロック６３６で、論理は終了する。ピアツーピア通信リンク確立の第２の試みが不成功である場合は、論理は、ブロック６１８に戻ることができ、したがって、サーバは、（判断ブロック６３２をブロック６１８に連結する破線で示すように）第１クライアントに、第２クライアントの接続要求を再び送信し、又は任意選択のブロック６３４で示すように、サーバは、音声トラフィック（又はクライアント間の他の通信）を、任意選択で、サーバを介してルーティングし得ることに留意されたい。ブロック６３０で、ピアツーピア接続が確立されなかった場合のさらに別のオプションは、通信の試みが失敗したことを単に示し、ブロック６３６で、論理を終了することである。
【００６０】
＜実施形態１のゲームサーバの実装に関する詳細＞
図７は、図５に基づいており、オンラインゲーム環境の状況で、本発明の概念がどのように適用されるかについて示す図で、サーバがゲームサーバであり、それぞれのクライアントがプレイヤーである本発明の好ましい一実施形態を示す図である。
【００６１】
ネットワーク７１０は、大規模マルチプレイヤーゲームサーバ７１２とプレイヤー７１４、７１６、７１８及び７１９を備えている。図７に示すように、好ましい一実装では、それぞれクライアントは、図１及び２に関して上記で述べたようなゲームコンソールを使用するプレイヤーである。図７の各プレイヤーは、異なるタイプのゲーム装置、あるいはパーソナル又はラップトップコンピュータを使用して、ゲームサーバにアクセスし得る。
【００６２】
それぞれのプレイヤーは、サーバ／クライアント接続７２０を使用して、ゲームサーバ７１２によってホストされるゲームセッションにアクセスする。サーバ７１２によって提供される情報に基づいて、プレイヤー７１４は、プレイヤー７１６とピアツーピア接続７２２を確立している。プレイヤー７１４は同様に、プレイヤー７１８とピアツーピア接続７２２を確立している。
【００６３】
ゲームネットワーク３００の状況では、好ましくは、それぞれプレイヤー７１４〜７１９は、上述したように、最大４人のプレイヤーをサポートすることができる、ゲームコンソール１０２を使用する。したがって、図７に示す各クライアント／プレイヤーは、他のゲームコンソールを使用する選択された個々のプレイヤーと、それぞれがピアツーピア通信の確立を可能にされた、最大４人の個々のプレイヤーを実際は含み得るので、図７は、いくらか単純化されたものである。好ましくは、単一の接続は、それぞれのネットワークエンティティ（すなわち各ゲームコンソール又は各コンピュータ）から行われており、そのエンティティ上のすべてのプレイヤーは、同じピアツーピア接続を使用する。
【００６４】
図８は、図３に示す例示的なネットワークゲーム環境の構成要素をより詳細に示す機能ブロック図で、ゲームコンソールがセッションで、１１人のプレイヤー間の通信をどのようにサポートするかについて説明するための図である。
【００６５】
図８を参照すると、図示するゲームコンソール８３２（すなわち、ＧＡＭＥ  ＣＯＮＳＯＬＥ２）は、２人のプレイヤーをサポートしており、図示するゲームコンソール８３６（すなわち、ＧＡＭＥ  ＣＯＮＳＯＬＥ３）は、１人のプレイヤーをサポートしているが、図８のそれぞれのゲームコンソールは、最大４人のプレイヤーをサポートできることを理解されたい。したがって、図８に示すセッションでは、１１人のプレイヤーだけが通信しているが、こうした構成では、（ゲームコンソール８３２で、さらに２人のプレイヤー、及びゲームコンソール８３６で、さらに３人のプレイヤーが加わり）最大１６人のプレイヤー間の通信がサポートされ得る。
【００６６】
ゲームコンソール１０２を使用するプレイヤーは、メッセージを入力するためのキーボードを有していないので、図示する例で、音声チャットを含むのが可能であることは、重要である。ゲームコンソール１０２で使用するゲームタイトルを開発するゲームデザイナは、音声チャットのサポートに関して多くの異なる機能を提供することができるが、ゲームコンソール１０２を使用する音声チャットは、好ましくは、以下の機能を含む。
・プレイヤーが自身の声を消すこともできるべきであり、したがって、他人から話を聞かれることはなくなる。
・プレイヤーは、ゲーム中に他のプレイヤーが話し掛けないように、他のプレイヤーの音を消すことができるべきである。
・あるプレイヤーの音を永久的に消すことによって、その者と再び話しをすることが確実になくなるように、将来、どのゲームにおいても、他のプレイヤーが話し掛けないように、他のプレイヤーの音を消すことができるべきである。
・ある人物の声によって、性別や年齢などの身元が分かる特性を含めて、テキストチャットでは通常明らかにされないある人物についての詳細が明らかになり得る。したがって、プレイヤーは、その声をマスキングできるべきである。ユーザが、音声マスクが掛けられた自身の声を聞くことができるのが、奨励されるやり方である。好ましくは、音声マスクは、初期設定では、オンになっており、ユーザによって、いつでもオン又はオフにすることができる。
・ゲームコンソール１０２で行われるゲームでは、プレイヤーが任意選択で（ゲームデザイナの判断に応じて）、空想に基づいたロールプレイングゲームのドラゴンや妖精などの画面上のキャラクタに合うように声を変更することが許され得る。
【００６７】
また、図８には、ゲームコンソール８１０がどのように音声チャットをサポートするかについて図示してある。高品質の音声チャットを維持するために、音声チャットセッションは、一定の割合で、ゲームタイトルごとに更新されなければならない。ゲームが一定のビデオフレーム率を維持しなければならないように、一定の音声フレーム率も同様に、維持されなければならない。そうでない場合は、音声品質が低下し、ユーザ体験も同様に、低下する。ゲームコンソール８１０は、一般に発生する様々なシナリオで、音声チャットを適切に実施するように最適化される。主な制限要因は、音声フレームごとに行われ得る、符号化及び復号の数である。ゲームコンソール８１０は一般に、ゲームコンソール１０２と同一であることを理解されたい。上述したように、ゲームコンソール１０２は、音声処理装置２２４、音声ＣＯＤＥＣ２２６を含む。ゲームコンソール８１０では、音声処理装置２２４及び音声ＣＯＤＥＣ２２６は、実装される音声処理をより明確に説明するために、追加の機能ブロックに分けられている。例えば、ゲームコンソール１０２に関連して上述したように、音声ＣＯＤＥＣ２２６は、エンコーダとデコーダの両方を含むが、音声チャット中に発生する音声信号処理をより明確に説明するために、エンコーダ及びデコーダは、ゲームコンソール８１０内の別個の機能ブロックとして示されている。（ゲームコンソール１０２に関連して上述したように）音声処理装置２２４は、複数のネットワークキュー８１６ａ、８１６ｂ及び８１６ｃを含み、好ましくは、エンティティ間に、いずれかのネットワーク待ち時間が存在するので、異なるネットワークエンティティとの各接続について１つのキューを含む。図８に、必要なものであり、またゲームコンソール１０２に関して、上述していない、入力ルータ８２６及び出力ルータ８２０が示されている。ゲームコンソール８１０は、最大１６人の話者（すなわちゲームコンソールごとに最大４人の話者を含む、ネットワークを介してリンクされた最大４つのゲームコンソール）を同時に確実にサポートするように設計されている。好ましくは、ゲームコンソール８１０は、スムーズなゲームフレーム率をサポートするように、音声フレームごとに定められたデータ量を符号化及び復号することができる。
【００６８】
ゲームコンソール８１０は、各プレイヤー８２８ａ〜８２８ｄのヘッドセットのマイクから、各プレイヤーの可聴音声ストリームを受信するように構成された、入力８２４ａ〜８２４ｄを備えている。入力８２４ａ〜８２４ｄは、入力ルータ８２６に結合され、このルータは、どのプレイヤーが話しができるかを判断し、話しができるプレイヤーに対応する音声ストリームだけを転送する。転送された音声ストリームは、入力ルータ８２６に論理的に結合されたエンコーダ８１４によって受信される。エンコーダ８１４は、可聴スピーチを音声データに圧縮し、この音声データは、必要に応じて、ネットワーク８３０を介して受信側のゲームコンソール８３２、８３６又は８４０に送信することができる。またエンコーダ８１４は、ゲーム及び音声トラフィックを、ネットワーク８３０を介して送信する役割を担う、ネットワーク層８１２に論理的に結合される。
【００６９】
ゲームコンソール８１０は、ネットワーク８３０を介してゲームコンソール８１０にリンクされた他のゲームコンソールそれぞれについて、ネットワークキューを含む。好ましくは、ゲームコンソール８１０は、最大３つの他のゲームコンソール（すなわち、コンソール８３２、８３６、８４０）と通信することができる。したがって、ゲームコンソール８１０は、３つのネットワークキュー８１６ａ、８１６ｂ及び８１６ｃを確立できるほど十分なメモリ及び処理リソースを割り当てることができる。データ送信するそれぞれのネットワークエンティティについて、受信側エンティティに、単一のキューがあるのが好ましい。ゲームコンソール８３６は、１人のプレイヤー８３８だけをサポートし、ネットワークキュー８１６ｂは、プレイヤー８３８からのデータだけをキューに入れる。ネットワークキュー８１６ｃは、４人のプレイヤー８４２ａ〜８４２ｄをサポートする、ゲームコンソール８４０からデータを受信するので、より多くのリソースを必要とする。ネットワークキューは、インターネット又は他の相互接続ネットワークを介して送信されるパケットの到着時間の違いによって引き起こされる、「ジッター」効果を取り除く。ネットワークキューは、音声データが入ってくるときに、それを格納し、音声データの再生をスムーズにし、したがって、聞き手には、ネットワークを伝搬する音声パケットのいずれかの遅延によって引き起こされる「ポップ音」が聞こえない。
【００７０】
それぞれのネットワークキューは、デコーダ８１８に論理的に結合される。エンコーダ８１４及びデコーダ８１８を制御するアルゴリズムは、補完的である。デコーダ８１８は、出力ルータ８２０に論理的に結合され、この出力ルータは、復号された可聴ストリームを受信し、プレイヤーごとの正確な出力オブジェクトに、それを送信する。したがって、出力ルータ８２０は、出力８２２ａ〜８２２ｄに論理的に結合され、この出力は、プレイヤー８２８ａ〜８２８ｄのうちの適切なプレイヤーに、可聴ストリームを提供する。それぞれの出力は、すべての適切なストリームをミキシングし、適切なプレイヤーのヘッドセットにそれを送信する役割を担う。
【００７１】
ゲームコンソール８１０での音声チャットをサポートするのに何が必要であるかを分析する際に、ゲームベースの音声チャットを３つの主なシナリオに分類することが役立つ。ポイントツーポイント（ｐｏｉｎｔ−ｔｏ−ｐｏｉｎｔ）のシナリオでは、ゲームコンソールごとに、１人がチャットし、２つのゲームコンソールがある。マルチポイントのシナリオでは、ゲームコンソールごとに、１人がチャットし、最大１６のゲームコンソールがある。最後に、マルチゲームコンソール上のマルチプレイヤーのシナリオでは、ゲームコンソールごとに最大４人の話者、及び最大４つのゲームコンソールがある。ほとんどのゲームは、これらのシナリオのうちの１つに当てはまる。
【００７２】
ポイントツーポイントは、あるゲームコンソール上の単一のプレイヤーが、別のコンソール上の別の単一プレイヤーと話すことに対応する。一般的な例は、プレイヤーが、２人だけであり、プレイ中に通信することを望む、チェスなどのゲームである。この場合、それぞれのゲームコンソールは、１つのエンコーダ及び１つのデコーダをインスタンス化する。音声フレームの更新時は、それぞれのゲームコンソールは、必要に応じて、いずれかの符号化及びいずれかの復号を更新する。この場合、音消しは、音消しされるプレイヤーの音声ストリームを単に復号しないことによって処理される。
【００７３】
マルチポイントのシナリオでは、それぞれのゲームコンソールごとにプレイヤーは１人であるが、セッションに複数のゲームコンソールが存在する。一例は、コンソールごとに単一のプレイヤーだけが許される、４人のプレイヤーによるブリッジゲームである。ゲームでは、すべてのプレイヤーが皆と話すかどうかを決定することができ、又はチームがある場合は、プレイヤーの一部が互いに話し得るかどうかを決定することができる。この場合、それぞれゲームコンソールは、１つのエンコーダ及び４ｉｎ１デコーダをインスタンス化する。音声フレームの更新時に、それぞれのゲームコンソールは、（ゲームコンソール上の単一のユーザのために）いずれかの符号化及び（他のゲームコンソールからの最大３ユーザのために）いずれかの復号を更新する。４ｉｎ１デコーダは、複数の入力ストリームを受けることができるマルチストリームの並列デコーダとして実装され、周波数ドメインで、それを組み合わせ、次いで、その組み合わせ上で単一の操作を実施して、１つの出力ストリームに変換する。この最適化によって、それぞれの単一ストリーム上の別個の操作をより効率的に組合せて、組み合わせ後にすべてのストリームに適用される単一の操作にすることができる。
【００７４】
マルチゲームコンソール上のマルチプレイヤーのシナリオでは、それぞれのゲームコンソールは、複数のプレイヤー及び複数のゲームコンソールが接続され得るようにすることができる。一例は、それぞれのコンソール上に最大４人のプレイヤー、及び最大４つのコンソールが可能である、１６プレイヤーによるゲームである。
【００７５】
ゲームデザイナは、すべてのプレイヤーが互いに話すことができるかどうか、又はチームがある場合は、プレイヤーの一部だけが互いに話しをし得るかどうかを決定することができる。プレイヤーが１６人である場合、同時に話すことができる人の数を制限し（例えば、４人だけなど）、したがって、会話が理解し難くならないことが好ましい。
【００７６】
それぞれゲームコンソールの音声フレームごとに、プレイヤー当たり１つのエンコーダ及び４つの４ｉｎ１デコーダをインスタンス化し処理することは、それぞれのゲームコンソール内にあるプロセッサに負担をかける可能性が高い。しかし、状況に対処するために、以下のことが想定される。
・４人以上の話を聞くことは、扱い難く望まれないものと想定する。この想定を用いて、一度に復号される音声の数を制限する。好ましいアルゴリズムは、ゲームコンソール上の聞き手ごとに、「最も大きい」４つの音声を選択する。したがって、最悪のケースのシナリオは、ゲームコンソール上で２人リスナが、それぞれ４人の（おそらくそのリスナに一意である）他の話者を同時に聞くことである。
・音声を実際に符号化する時間がない場合には、符号化時に、音声フレームを複製することができると想定する。この想定に基づいて、２つのエンコーダ及び（後述の）「ラウンドロビン（ｒｏｕｎｄ−ｒｏｂｉｎ）」システムを使用することによって、それぞれの音声フレームで、４つのすべての音声が処理され得る。
・音声「チャネル」が単純に、双方向無線機のチャネルのように使用される。チャネル上のすべての話者は、（個別の音消しが考慮される前は）互いに話を聞くことができる。チャットをするプレイヤーがセッションに入るとき、そのプレイヤーは、それらがオンになっているチャネルを、明示的に設定しなければならない。一般に、チャネルを使用して、「チーム」のすべてのメンバが互いに話しができるようにする（初期設定では、１つのチャネルが、ゲームのすべてのプレイヤーのために使用され得る）。チャネルを使用して、音声のネットワークトラフィックを最適化することができる。
・追加のプロセッサパワーを使用することを選択するタイトルは、追加のデコーダを使用可能にするオプションを有する。このオプションによって、音声フレーム時に、追加の音声を同時に聞くことができる。
【００７７】
したがって、マルチゲームコンソール上のマルチプレイヤーのシナリオでは、それぞれのゲームコンソールは、１つの４ｔｏ４デコーダをインスタンス化する。音声フレームの更新時に、それぞれのゲームコンソールは、（ゲームコンソール上の最大４ユーザのために）いずれかの符号化及び（他のゲームコンソールからの最大４ユーザのために）いずれかの復号を更新する。この音声フレーム時に、４つより多い異なる音声ストリームが使用可能である場合は、復号のために、最も音の大きい４つのストリームが選択される。ゲームデザイナが、チャットのために、より多くの処理パワーの使用を許すことを選択している場合は、追加のデコーダをインスタンス化して、フレームごとに復号される複数の音声ストリームの数を増加させることができる。
【００７８】
２つだけのエンコーダによる符号化（エンコーダのインスタンスは４つであるが、音声間隔では、２つだけが動作することを意味する）は、以下のように機能する。プレイヤー１、２、３及び４のすべてが同時に話し、また符号化された最後の２つの音声の履歴が維持されると想定する。プレイヤー１の音声について、現在のマイクのパケットが分析され、存在する場合は、符号化される。次いで、プレイヤー２の音声について、現在のマイクのパケットが分析され、存在する場合は、符号化される。処理は、停止し、履歴が｛３，４，１，２｝として更新される。次のマイク間隔（通常４０マイクロ秒）時に、プレイヤー３及び４（すなわち、前のマイクのパケットで処理されなかった２人のプレイヤー）について、マイクのパケットが分析される。マイクのパケットが分析され、プレイヤー３の音声が検出されなかった場合は、符号化は実施されない。プレイヤー４の音声が検出された場合、符号化が実施され、履歴が、｛３，１，２，４｝に更新される。同じマイクのパケット時に、プレイヤー１の音声があれば符号化され、履歴は、｛３，２，４，１｝になる。そのマイクパケットの間隔で、分析では、プレイヤー３及び２の音声を探す。プレイヤー３の音声が依然として無い場合は、プレイヤー２及び４について、符号化が実施され、履歴が、｛３，１，２，４｝に更新される。
【００７９】
ラウンドロビン符号化方法は、一度に、２つの音声フレーム上にだけ動作し、現在符号化していないストリームの他のフレームについて繰り返す。すべてのプレイヤーが話す場合、最終的には、音声の劣化がもたらされるが、その際に、追加の処理パワーは使用されない。
【００８０】
＜実施形態１のための例示的な方法＞
図９は、本発明の実施形態１の好ましい実装に従って、ゲームプレイ中のプレイヤー間のピアツーピア通信を円滑化するために、ゲームサーバによって使用される論理を示すフローチャートを示す図である。
【００８１】
ブロック９１２で、論理が開始し、ブロック９１４で、使用されるゲームコンソール（ゲームコンソール１０２など）のために策定された基準に従って、特定のゲームのための通信コントロールが設定される。ブロック９１６に示すように、この基準に基づいて、特定のゲームによってサポートされる通信のタイプ（テキストのみ、テキスト及び音声、メニュで選択可能な録音された音声応答、又はリアルタイム応答など）がサポートされる。ブロック９１４及び９１６を包含する、破線９１３によって示すように、ブロック９１４及び９１６に関連するステップが、ゲームデザイナによって実装される。
【００８２】
次いで、ブロック９１８で示すように、ゲームサーバは、このようにして設定されたゲームパラメータに基づいて、ゲームセッションをホストすることができる。ブロック９２０で、ゲームサーバによってホストされるゲームセッションにアクセスするそれぞれのプレイヤーは、ゲームサーバによって、認証され許可される。ブロック９２２で示すように、ゲームサーバは、ゲームサーバにアクセスする各ゲームコンソールを識別するだけでなく、特定のゲームコンソールによってサービスされる個別の各プレイヤーを識別しなければならない。好ましくは、ゲームサーバは、ログオン時に、個別の各プレイヤーに、ユーザキーを割り当て、次いで、ユーザキーを使用して、ゲームサーバによって信頼される、プレイヤー間のピアツーピア通信の確立を容易にする。
【００８３】
ブロック９２４で、サーバは、要望に応じて、プレイヤーが互いにピアツーピア通信リンクを確立できるようにする。後述する図１０に、ブロック９２４に関する具体的な詳細を示す。ブロック９２６で示すように、イネーブルされたプレイヤー間のピアツーピア通信でのゲームプレイは、所望される間、継続する。最後のブロック９２８で、プレイヤーがゲーム環境から出たときに、この論理は、終了する。
【００８４】
図１０は、プレイヤー間のピアツーピア通信を円滑化するために、ゲームサーバによって使用される論理に関する追加の詳細をフローチャートに示した図である。
【００８５】
図１０に示したフローチャート１０１０で、ゲームサーバは、ブロック１０１２で示すように、それぞれのプレイヤーに、他のプレイヤーのリストを提供することによって、プレイヤー間のピアツーピア通信の確立を容易にする。このリストは一般に、ゲーム環境内で、プレイヤー間の通信が望ましくまた現実的なものであるように、同じチームのプレイヤー、又は互いに十分隣接したゲーム世界内のプレイヤーに限定される。ブロック１０１４で、サーバは、ＣＯＮＳＯＬＥ１−Ｐ１で識別されるプレイヤー（すなわち、第１のゲームコンソールを使用してゲームサーバにアクセスする第１のプレイヤー）が、音声通信のために、ＣＯＮＳＯＬＥ２−Ｐ４で識別されるプレイヤー（すなわち、第２のゲームコンソールを使用してゲームサーバにアクセスする第４のプレイヤー）を選択できるようにする。この選択は、ＣＯＮＳＯＬＥ１−Ｐ１がリストをスクロールし、ＣＯＮＳＯＬＥ２−Ｐ４を選択できるように、スクロール可能な他のプレイヤーのリストを表示することによって、容易にすることができる。
【００８６】
次いで、ブロック１０１６で示すように、サーバは、ＣＯＮＳＯＬＥ１−Ｐ１に、ＣＯＮＳＯＬＥ２−Ｐ４の接続情報を提供する。この情報は、ＣＯＮＳＯＬＥ２の外部ＩＰアドレス、（それが内部アドレスを有する場合は）ＣＯＮＳＯＬＥ２の内部ＩＰアドレス、及びＣＯＮＳＯＬＥ２の第４プレイヤーが接続されるポートの数を含む。好ましくは、サーバは、ＣＯＮＳＯＬＥ２−Ｐ４がゲームサーバにログオンしたときに、ＣＯＮＳＯＬＥ２−Ｐ４に割り当てられたユーザキーをも、ＣＯＮＳＯＬＥ１−Ｐ１に送信し、それによって、ＣＯＮＳＯＬＥ２−Ｐ４は、ＣＯＮＳＯＬＥ１−Ｐ１からピアツーピア接続の確立要求を受信するときに、ＣＯＮＳＯＬＥ１−Ｐ１を、ゲームサーバによって信頼されているものと認識する。ＣＯＮＳＯＬＥ１−Ｐ１が信頼されなかった場合には、ゲームサーバは、ＣＯＮＳＯＬＥ１−Ｐ１がＣＯＮＳＯＬＥ２−Ｐ４のユーザキーにアクセスすることを許していないはずである。ブロック１０１８で、ＣＯＮＳＯＬＥ１−Ｐ１は、ＣＯＮＳＯＬＥ２−Ｐ４とのピアツーピア通信リンクの確立を試みる。このステップは、ゲームコンソールＣＯＮＳＯＬＥ１によって、自動的に実施される。
【００８７】
判断ブロック１０２０で、試みが成功したかどうかを判断する。ＣＯＮＳＯＬＥ１−Ｐ１とＣＯＮＳＯＬＥ２−Ｐ４の間のピアツーピア通信リンクが確立された場合は、プレイヤーの１人によって（又はネットワークの不具合によって）切断されるまで、ブロック１０２４に示すように、通信が維持される。試みが失敗であった場合、ブロック１０２２に示すように、ゲームサーバは、第２プレイヤー（すなわちＣＯＮＳＯＬＥ２−Ｐ４）に、第１プレイヤー（すなわち、ＣＯＮＳＯＬＥ１−Ｐ１）の接続情報を送信する。図６を参照して上述したように、ピアツーピア通信リンクを確立する第２の試みが失敗であった場合は、論理は、ブロック１０１６に戻ることができ、したがって、ゲームサーバが第１プレイヤーに、第２プレイヤーの接続情報を再び送信し、あるいはゲームサーバは、プレイヤー間のすべての通信を、ゲームサーバを介してルーティングすることができ、あるいは、ゲームサーバは、ピアツーピアの関係の接続の失敗について知らせることができる。
【００８８】
＜実施形態２に関する詳細＞
図１１は、ホスティングサーバへのそれぞれ異なるアクセス権を有する異なるクライアントのクラスを含む、クライアント間のピアツーピア通信確立を容易にすることをコア機能とする、ホスティングサーバを含む例示的なネットワークの概略図で、サーバ１１１４ａ〜１１１４ｓを含む、例示的なネットワーク１１１０を示している。
【００８９】
このネットワークの主な機能は、クライアント間のピアツーピア接続の確立を容易にすることである。本発明のこの実施形態の好ましい一実装では、サーバは、ホスティングサーバに対するそれぞれ異なるアクセス権を有し得る、異なるクラスのクライアントを識別するように構成される。
【００９０】
図１１に示す実施形態では、それぞれ異なる「クラス」のエンティティ（匿名ユーザ、認証されたユーザ、企業、大学など）に、安全に実施され得るそれぞれ異なるアクセスポリシーを提供することによって、クライアント自身の間のピアツーピア通信を確立しようとするクライアントの公開インターネットディレクトリを扱い易くする。例えば、サーバは、匿名のユーザ１１１６がサーバに接続するときに、匿名のユーザ１１１６に、サーバによってホストされているセッション１へのアクセスだけを許すように構成される。セッション１は、複数の様々なやり方で構成され得る。セッション１にアクセスする各クライアントは、自身のサイトにデータの流れを引き付けようとする、ウェブサイトを運営する広告主であり得る。したがって、匿名のユーザ１１１６は、ピアツーピア通信を希望する個人に関する接続情報を取得することができるが、ネットワーク１１１０を使用して、こうしたウェブサイトにだけアクセスすることができる。あるいは、セッション１は、ほとんど又は全く制約の無いピアツーピア通信の確立を好むことを示したクライアントを含み得る。
【００９１】
また、ネットワーク１１１０内のサーバは、制限付きの認証されたユーザ１１１８がサーバにアクセスするときに、セッション１及びセッション２へのアクセスが付与されるように、制限付きの認証ユーザを認識するように構成される。したがって、制限付きの認証ユーザ１１１８は、匿名ユーザ１１１６がアクセスすることができないクライアントへのアクセスを有する（すなわち、セッション２にアクセスするクライアントである）。サーバはさらに、別の異なるアクセス権が付与された認証ユーザを認識するように構成される。認証ユーザ１１２０は、セッション１、セッション２又はセッション３へのアクセスを許され得るが、その場合、セッション３は、さらに別のオプションを提供する。ネットワーク１１１０は、接続を他のクライアントに公表することをサーバによって許された、掲載エンティティ（ｌｉｓｔｉｎｇ  ｅｎｔｉｔｙ）１１２２ａ及び１１２２ｂをも含む。
【００９２】
好ましくは、通信ネットワークへの接続を望む各クライアントは、認証され許可されなければならない。認証及び許可（Ａ＆Ａ；Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  ａｎｄ  Ａｕｔｈｏｒｉｚａｔｉｏｎ）は、マイクロソフトコーポレーション社のパスポート、信頼の階層を有する証明書を使用する公開鍵暗号技術、信頼できる機関（ＴＡ；Ｔｒｕｓｔｅｄ  Ａｕｔｈｏｒｉｔｙ）を使用して、「チケット」を付与する、Ｋｅｒｂｅｒｏｓ（ＲＦＣ１５１０）のような安全なプロトコルなどによる、ウェブサイトのサインイン（ｓｉｇｎ  ｉｎ）に基づき得る。本発明のこの実施態様に関連して、こうした機構のいずれか、又はこうした機構の組み合わせが有用である。
【００９３】
認証は、サーバにアクセスしようとするクライアントの身元を確認するプロセスである。認証は、ユーザ名／パスワードの組合せ、あるいはクライアントに関連するスマートカード及び／又はパスワードの所有など、安全な資格情報を提供することによって実現され得る。認証では、クライアントを「保証」することができる何らかのエンティティに依存し得る。例えば、新しいクライアントが他のクライアントへのアクセスを得るためにサーバに登録する場合、認証は、クレジットカード、ルート認証局、又は他の第３者の信頼できる機関を使用して実現され得る。
【００９４】
認証は、クライアントに、サービス（又はサービスの一部）を使用する許可を与える。図１１に、匿名のユーザ１１１６、制限付きの認証ユーザ１１１８、及び認証ユーザ１１２０にそれぞれ、異なる権限が与えられている。クライアントが認証されると、そのクライアントの権限データは、サービス、又はサービスの異なる部分（すなわち、セッション１、セッション２及び／又はセッション３）にアクセスする許可を含む。権限によって、アクセス及びポリシーの実施が許される。ディレクトリのポリシーは、サービスの設計者によって決定することができ、多岐に渡り得る。例えば、ネットワーク１１１０で、匿名ユーザには認証が求められず、セッション１は、非常に限られたサービスの部分にすぎないことが好ましい。匿名ユーザは一般に、匿名の接続を受け付ける（イエローページへのアクセスに類似の）、限られた公共向けの（ｐｕｂｌｉｃ−ｆａｃｉｎｇ）掲載エンティティ（すなわち、広告主、企業及び／又は大学）をブラウズすることを許される。匿名接続のための接続タイプは、掲載エンティティによって決定され、オンラインコンテンツを視聴し、読むなどの一方向の通信に制限され得る。
【００９５】
図１１のユーザ１１１８など、制限付きの認証ユーザは、安全な資格情報を提供することによって、身分を証明したユーザである。制限付きの認証ユーザは、限られた公共向けの掲載エンティティを見て接続することができ、またこうしたエンティティと双方向の通信を行うことも許され得る。それらは、不適切なコンテンツを掲載するエンティティの違反について報告することもできる。
【００９６】
認証ユーザ（すなわち、図１１のユーザ１１２０）は、安全な資格情報を提供することによって、身分を証明し、また権限を許可する企業と取引があり、したがって、制限付きの認証ユーザよりも大きいアクセスをそれに許可する、権限の上位セットが付与されているユーザである。認証ユーザは、制限付き認証ユーザのすべての許可を有するが、より安全な通信（イントラネットの企業ディレクトリへのアクセスなど）を望むクライアントを含むものなどの、追加のセッションにアクセスすることもできる。
【００９７】
好ましくは、掲載エンティティは、匿名ユーザ、制限付き認証ユーザ、及び認証ユーザのいずれにも接続を公表し得るものである。掲載エンティティは、個人、企業、教会、大学及び他の組織であり得る。掲載エンティティは、ユーザのセットに基づいて、そのアクセスを設定することができる。例えば、カスタマサポートを提供する掲載エンティティは、匿名ユーザが、コンピュータから自動化されたヘルプを、制限付きの認証ユーザが、制限付きのカスタマサポート担当者の時間を、またそれとのサポート契約を有する認証ユーザが最高のサポートを得ることができるようにする。
【００９８】
本発明について、それを実施する好ましい形、及びその修正に関連して説明したが、特許請求の範囲内で、本発明に対する他の多くの修正が行われ得ることが当業者には理解されよう。例えば、話者は、ネットワークゲームサービスとは関係なく、ゲームシステムのローカルネットワーク内で、視覚的に識別され得る。さらに、論理フローで実施され、上述したステップは、他の構成で配置することができる。したがって、本発明の技術的範囲は、上述した説明によって決して限定されるものではなく、特許請求の範囲への参照によって、完全に決定されるものである。
【図面の簡単な説明】
【００９９】
【図１】ゲームコンソール及び最大４つのユーザ入力装置のためのサポートを含む、例示的な電子ゲームシステムの構成図である。
【図２】ゲームシステムの構成要素をより詳細に示す機能ブロック図である。
【図３】ネットワークを介して複数のゲームシステムを相互接続する、例示的なネットワークゲーム環境を示す構成図である。
【図４】オンラインサービス用の例示的なシステムで使用するための、従来のサーバコンピュータの形態の汎用コンピューティング装置の機能ブロック図である。
【図５】サーバのクライアント間のピアツーピア接続の確立を容易にする、信頼できる環境を提供するサーバの概略図である。
【図６】サーバが、そのクライアント間のピアツーピア接続の確立を容易にする信頼できる環境を提供できるようにするために、本発明で使用される論理をフローチャートに示した図である。
【図７】図５に基づくもので、サーバがゲームサーバであり、それぞれのクライアントがプレイヤーである本発明の好ましい一実施形態を示す図である。
【図８】図３に示した例示的なネットワークゲーム環境の構成要素をより詳細に示す機能ブロック図である。
【図９】ゲームのプレイ中に、プレイヤー間のピアツーピア通信を円滑化するために、ゲームサーバによって使用される論理をフローチャートに示した図である。
【図１０】プレイヤー間のピアツーピア通信を円滑化するために、ゲームサーバによって使用される論理に関する追加の詳細をフローチャートに示した図である。
【図１１】ホスティングサーバへのそれぞれ異なるアクセス権を有する異なるクライアントのクラスを含む、クライアント間のピアツーピア通信確立を容易にすることをコア機能とする、ホスティングサーバを含む例示的なネットワークの概略図である。
【符号の説明】
【０１００】
１００  電子ゲームシステム
１０２  ゲームコンソール
１０４ａ，１０４ｂ，１０４ｃ，１０４ｄ  コントローラ
１０６  光メディアドライブ（ポータブルメディアドライブ）
１０８  光記憶ディスク（ポータブルメディア）
１１０  スロット
１１２  電源ボタン
１１４  取出しボタン
１２０  オーディオ／ビジュアルインターフェイスケーブル
１２１  テレビ
１２２  電源ケーブルプラグ
１２４  イーサネット（登録商標）データコネクタ
１３０  ＵＳＢケーブル
１３２ａ，１３２ｂ  サムスティック
１３４  方向パッド
１３６  ボタン
１３８  トリガ
１４０  取出し可能な機能ユニット
１４０ａ〜１４０ｈ  機能ユニット
１４２  ヘッドセット
１４４  ブームマイク
２００  中央処理装置
２０２  メモリコントローラ
２０４  フラッシュＲＯＭメモリ
２０６  ＲＡＭメモリ
２０８  ハードディスクドライブ
２１０  レベル１キャッシュ
２１２  レベル２キャッシュ
２１６  ＡＴＡケーブル
２２０  ３Ｄグラフィック処理装置
２２２  ビデオエンコーダ
２２４  音声処理装置
２２６  音声ＣＯＤＥＣ
２２８  ＡＶポート
２３０  ＵＳＢホストコントローラ
２４０ａ  デュアルコントローラポートサブアセンブリ
２４０ｂ  デュアルコントローラポートサブアセンブリ
２４２  フロントパネルＩ／Ｏサブアセンブリ
２５０  システム電力供給モジュール
２５２  ファン
３０２  ネットワーク
３０４ａ  オンラインサービス
３０４ｓ  オンラインサービス
３０６  鍵配布センタ
３０８  リモートストレージ
４２１  処理装置
４２３  システムバス
４３２  ハードディスクドライブインターフェイス
４３３  磁気ディスクドライブインターフェイス
４３４  光ディスクドライブインターフェイス
４３５  オペレーティングシステム
４３６  アプリケーションプログラム
４３７  他のプログラムモジュール
４３８  プログラムデータ
４４０  キーボード
４４６  Ｉ／Ｏデバイスインターフェイス（シリアルなど）
４４７  モニタ
４４８  ビデオアダプタ
４４９  リモートコンピュータ
４５３  ネットワークインターフェイス
４５４  モデム
７１２  ＭＭＰサーバ
７１４  ゲームコンソール１
７１６  ゲームコンソール２
７１８  ゲームコンソール３
７１９  ゲームコンソール４
８１２  ネットワーク層
８１４  エンコーダ
８１６ａ  コンソール２用のネットワークキュー
８１６ｂ  コンソール３用のネットワークキュー
８１６ｃ  コンソール４用のネットワークキュー
８１８  デコーダ
８２０  出力ルータ
８２２ａ  ヘッドセット１ａへの出力
８２２ｂ  ヘッドセット１ｂへの出力
８２２ｃ  ヘッドセット１ｃへの出力
８２２ｄ  ヘッドセット１ｄへの出力
８２４ａ  マイク１ａからの入力
８２４ｂ  マイク１ｂからの入力
８２４ｃ  マイク１ｃからの入力
８２４ｄ  マイク１ｄからの入力
８２６  入力ルータ
８２８ａ  プレイヤー１ａ
８２８ｂ  プレイヤー１ｂ
８２８ｃ  プレイヤー１ｃ
８２８ｄ  プレイヤー１ｄ
８３０  ネットワーク
８３２  ゲームコンソール２
８３４ａ  プレイヤー２ａ
８３４ｂ  プレイヤー２ｂ
８３６  ゲームコンソール３
８３８  プレイヤー３ａ
８４０  ゲームコンソール４
８４２ａ  プレイヤー４ａ
８４２ｂ  プレイヤー４ｂ
８４２ｃ  プレイヤー４ｃ
８４２ｄ  プレイヤー４ｄ
【図１】
2005100419.tif 000003
【図２】
2005100419.tif 000004
【図３】
2005100419.tif 000005
【図４】
2005100419.tif 000006
【図５】
2005100419.tif 000007
【図６】
2005100419.tif 000008
【図７】
2005100419.tif 000009
【図８】
2005100419.tif 000010
【図９】
2005100419.tif 000011
【図１０】
2005100419.tif 000012
【図１１】
2005100419.tif 000013