(57)【要約】  マルチプレーヤーオンラインゲーミングを容易にするためのシステム及び方法が開示される。システム１００は、クライアントコンピュータ端末１２０上に格納されてそこで動作するクライアントゲーミングプログラム１０８及びゲーミングＬＳＰ１１４を含む。クライアントゲーミングプログラム１０８は、あるユーザが識別した若干の個々の人達がオンラインゲームをプレーしている時間を検出し、現在オンラインでゲームをプレー中の個々の人達と、これらの個々の人達がプレー中のゲームとをそのユーザに通知する。クライアントゲーミングプログラム１０８は、進行中のゲームにそのユーザが容易に参加できるようにする。また、ゲーミングプログラム１０８及びＬＳＰは、端末１２０上で走っているゲームと、これらのゲームの接続ステータスとを監視し、検出する。ゲーミングプログラム１０８は、選択された個々の人達によって受信されるように、そのユーザ、これらのゲーム、及び接続ステータスに関するデータを、コンピュータネットワークを通して通信する。
2007531568.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータネットワーク上のマルチプレーヤーゲーミングを容易にするためのシステムであって、
端末上で走り、選択された個々の人達がコンピュータネットワーク上で若干のマルチプレーヤーゲームをプレーしている時間を自動的に検出し、前記ゲーム及び前記ゲームをプレー中の前記選択された個々の人達をあるユーザに通知するクライアントプログラム、
を含むことを特徴とするシステム。
【請求項２】
前記クライアントプログラムは更に、前記端末上でゲームのインスタンスを走らせて前記端末とあるゲームをホストしている位置とを接続することによって、前記ユーザとある個人とを前記ゲームで結合できるようになっていることを特徴とする請求項１に記載のシステム。
【請求項３】
前記クライアントプログラムは更に、あるアイコンを選択することによって前記ユーザとある個人とをあるゲームで結合できるようにするユーザインタフェースを生成することを特徴とする請求項２に記載のシステム。
【請求項４】
前記クライアントプログラムは更に、前記ユーザ端末上で走行中のゲームを検出し、前記走行中のゲーム及び前記ユーザを識別するデータを前記選択された個々の人達によって受信されるようにするために前記コンピュータネットワークを通して通信するようになっていることを特徴とする請求項２に記載のシステム。
【請求項５】
前記走行中のゲームの接続ステータスを決定し、前記接続ステータスを前記クライアントプログラムへ通信する第２のプログラムを更に含み、
前記クライアントプログラムは更に、前記走行中のゲームの接続ステータスを前記選択された個々の人達によって受信されるように前記コンピュータネットワークを通して通信するようになっている、
ことを特徴とする請求項４に記載のシステム。
【請求項６】
前記第２のプログラムは、ＬＳＰプログラムからなることを特徴とする請求項５に記載のシステム。
【請求項７】
前記接続ステータスは、対応するゲームをホストしているＩＰアドレスを含むことを特徴とする請求項５に記載のシステム。
【請求項８】
前記データ及び接続ステータスを受け、前記データ及び接続ステータスを前記選択された個々の人達に通信するようになっている１つまたはそれ以上のサーバーを更に含むことを特徴とする請求項５に記載のシステム。
【請求項９】
前記プログラムは更に、前記ユーザが前記選択された個々の人達へインスタントメッセージを送り、彼等からインスタントメッセージを受けることができるようになっていることを特徴とする請求項２に記載のシステム。
【請求項１０】
前記選択された個々の人達は、前記ユーザによって作成された友人リスト内に格納されている個々の人達を含むことを特徴とする請求項９に記載のシステム。
【請求項１１】
前記選択された個々の人達は、前記ユーザによって作成された友人リスト内に格納されているある個人によって作成された友人リスト内に格納されている個々の人達を含むことを特徴とする請求項１０に記載のシステム。
【請求項１２】
コンピュータネットワーク上のマルチプレーヤーゲームを容易にするための方法であって、
選択された個々の人達が前記コンピュータネットワーク上で若干のマルチプレーヤーゲームをプレーしている時間を検出するステップと、
前記ゲーム及び前記ゲームをプレー中の前記選択された個々の人達を、あるユーザへ通知するステップと、
ユーザ端末上で前記ゲームのインスタンスを走らせて前記ユーザ端末と前記ゲームをホストしているアドレスとを接続することによって、前記ユーザとある個人とを前記ゲームで結合できるようにするステップと、
を含むことを特徴とする方法。
【請求項１３】
前記ユーザ端末上で走行中のゲームを検出するステップと、
前記走行中のゲームの接続ステータスを検出するステップと、
前記ユーザ、走行中のゲーム、及び接続ステータスを識別するデータを、前記コンピュータネットワークを通して前記選択された個々の人達に通信するステップと、
を更に含むことを特徴とする請求項１２に記載の方法。
【請求項１４】
前記接続ステータスは、対応するゲームをホストしているＩＰアドレスを含むことを特徴とする請求項１３に記載の方法。
【請求項１５】
前記ユーザが前記選択された個々の人達へインスタントメッセージを送り、彼等からインスタントメッセージを受けることができるようにするステップ、
を更に含むことを特徴とする請求項１４に記載の方法。
【請求項１６】
前記選択された個々の人達は、前記ユーザに関連付けられたリスト内に含まれる第１の個々の人達からなることを特徴とする請求項１５に記載の方法。
【請求項１７】
前記選択された個々の人達は、前記第１の個々の人達の１人またはそれ以上に関連付けられたリスト内に含まれる第２の個々の人達からなることを特徴とする請求項１６に記載の方法。
【請求項１８】
マルチプレーヤーオンラインゲーミングを容易にするための方法を遂行するコンピュータ実施可能命令を有するコンピュータ可読媒体であって、上記方法は、
選択された個々の人達が前記コンピュータネットワーク上で若干のマルチプレーヤーゲームをプレーしている時間を検出するステップと、
前記ゲーム及び前記ゲームをプレー中の前記選択された個々の人達を、あるユーザへ通知するステップと、
を含むことを特徴とするコンピュータ可読媒体。
【請求項１９】
前記方法は更に、
ユーザ端末上で前記ゲームのインスタンスを走らせて前記ユーザ端末と前記ゲームをホストしているアドレスとを接続することによって、前記ユーザとある個人とを前記ゲームで結合できるようにするステップ、
を含むことを特徴とする請求項１８に記載のコンピュータ可読媒体。
【請求項２０】
前記方法は更に、
前記ユーザ端末上で走行中のゲームを検出するステップと、
前記走行中のゲームの接続ステータスを検出するステップと、
前記ユーザ、走行中のゲーム、及び接続ステータスを識別するデータを、前記コンピュータネットワークを通して前記選択された個々の人達に通信するステップと、
を含むことを特徴とする請求項１９に記載のコンピュータ可読媒体。
【請求項２１】
前記接続ステータスは、対応するゲームをホストしているＩＰアドレスを含むことを特徴とする請求項２０に記載のコンピュータ可読媒体。
【請求項２２】
前記方法は更に、
前記ユーザが前記選択された個々の人達へインスタントメッセージを送り、彼等からインスタントメッセージを受けることができるようにするステップ、
を含むことを特徴とする請求項２０に記載のコンピュータ可読媒体。
【請求項２３】
前記選択された個々の人達は、前記ユーザに関連付けられたリスト内に含まれる第１の個々の人達からなることを特徴とする請求項２２に記載のコンピュータ可読媒体。
【請求項２４】
前記選択された個々の人達は、前記第１の個々の人達の１人またはそれ以上に関連付けられたリスト内に含まれる第２の個々の人達からなることを特徴とする請求項２３に記載のコンピュータ可読媒体。
【請求項２５】
コンピュータネットワークを通して通信するためのコンピュータ化された方法であって、
あるユーザに関連付けられたリスト内に格納されている第１の個々の人達が、前記コンピュータネットワーク上に存在する時間を検出するステップと、
前記第１の個々の人達の１人またはそれ以上に関連付けられたリスト内に格納されている第２の個々の人達が、前記コンピュータネットワーク上に存在する時間を検出するステップと、
前記第１及び第２の個々の人達が前記コンピュータネットワーク上に存在することを、前記ユーザに通知するステップと、
前記ユーザが前記第１及び第２の個々の人達へメッセージを送り、彼等からメッセージを受けることができるようにするステップと、
を含むことを特徴とする方法。
【請求項２６】
前記メッセージは、インスタントメッセージからなることを特徴とする請求項２５に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的にはオンラインゲーミングシステムに関し、特定的には若干の個々の人達がオンラインで複数のコンピュータゲームをプレーしている時間及び場所を監視し、現在複数のオンラインゲームをプレーしているこれら個々の人達をあるユーザに通知し、そのユーザが若干の進行中のゲームに容易に参加できるようにすることによって、オンラインゲーミングを容易にするシステム及び方法に関する。
【背景技術】
【０００２】
近年、オンラインコンピュータゲーミングが人気を博し、流行してきている。インターネットは個々のコンピュータユーザ達に、遠隔位置に位置する複数の友人達または知人達とコンピュータゲームをプレーする場所を提供する。しかしながら、プレーヤーの数が増加しているにも拘わらず、従来技術のゲームオペレータ及びプレーヤーは多くの難題に直面している。現時点では、あるプレーヤーが参加したい複数のゲームを友人達及び知人達がプレー中であること（プレーしている時間）をそのプレーヤーが監視し、識別することは困難である。更に、たとえ友人達及び知人達があるゲームをプレーしていることをあるプレーヤーが気付いたとしても、そのプレーヤーは、たとえ補助プログラムを走らせていてもそのゲームに参加することは困難である。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
従って、若干の個々の人達がオンラインで複数のコンピュータゲームをプレーしている時間及び場所を監視し、現在複数のオンラインゲームをプレーしているこれら個々の人達をあるユーザに通知し、そのユーザが若干の進行中のゲームに容易に参加できるようにするマルチプレーヤーオンラインゲーミングのためのシステム及び方法を提供することが望ましい。
【課題を解決するための手段】
【０００４】
本発明は、マルチプレーヤーオンラインゲーミングを容易にするシステム及び方法を提供する。システムは、あるユーザが識別した若干の個々の人達がオンラインゲームをプレーしている時間を監視し、検出する。システムは、現在オンラインで複数のゲームをプレーしているこれら個々の人達、及びこれら個々の人達がプレーしている複数のゲームをそのユーザに通知し、そのユーザが進行中の若干のゲームに容易に参加できるようにする。
【０００５】
本発明の１つの長所は、友人達及び知人達が複数のオンラインゲームをプレーしている時間をあるユーザに通知し、そのユーザをそれらのゲームに容易に参加できるようにすることである。
【０００６】
本発明の別の長所は、あるユーザがあるオンラインゲームをプレーしている時間を、そのユーザの友人達及び知人達に自動的に通知するマルチプレーヤーオンラインゲーミングのためのシステムを提供することである。
【０００７】
本発明の別の長所は、複数のユーザが、あるオンラインゲームを中断することなく、そのゲームをプレーしながらインスタントメッセージを送受できるようにしたことである。
【０００８】
本発明の一面によれば、コンピュータネットワーク上のマルチプレーヤーゲーミングを容易にするシステムが提供される。本システムは、あるコンピュータ上で走るクライアントプログラムを含む。このクライアントプログラムは、選択された個々の人達がコンピュータネットワーク上で若干のマルチプレーヤーゲームをプレーしている時間を自動的に検出し、それらのゲーム及びそれらのゲームをプレーしている選択された個々の人達をあるユーザに通知する。またこのクライアントプログラムは、コンピュータ上であるゲームのインスタンスを走らせてそのゲームをホストしている位置とそのコンピュータとを接続することによって、あるユーザとある個人とをそのゲームで結合できるようにする。
【０００９】
クライアントプログラムは更に、ユーザ端末上で走っている複数のゲームを検出し、これらの走行中のゲーム及びそのユーザを識別するデータを、選択された個々の人達に受信させるためにコンピュータネットワークを通して通信するようにもなっている。システムは更に、走行中の複数のゲームの接続ステータスを決定し、その接続ステータスをクライアントプログラムへ通信する第２の（例えば、ＬＳＰ）プログラムを含むこともできる。クライアントプログラムは、走行中の複数のゲームの接続ステータスを、選択された個々の人達に受信させるためにコンピュータネットワークを通して通信することができる。
【００１０】
本発明の別の面によれば、コンピュータネットワークを通して複数のマルチプレーヤーゲームを容易にするためのコンピュータ化された方法が提供される。本方法は、選択された個々の人達がコンピュータネットワーク上で若干のマルチプレーヤーゲームをプレーしている時間を検出するステップと、これらのゲーム及びこれらのゲームをプレーしている選択された個々の人達をあるユーザに通知するステップと、ユーザコンピュータ上でゲームのインスタンスを走らせてユーザコンピュータとそのゲームをホストしているアドレスとを接続することによって、そのユーザとある個人とをそのゲームで結合できるようにするステップとを含むことができる。
【００１１】
本発明の別の面によれば、マルチプレーヤーオンラインゲーミングを容易にする方法を遂行するためのコンピュータ実行可能命令を有するコンピュータ可読媒体が提供される。この方法は、選択された個々の人達がコンピュータネットワーク上で若干のマルチプレーヤーゲームをプレーしている時間を検出するステップと、これらのゲーム及びこれらのゲームをプレーしている選択された個々の人達をあるユーザに通知するステップとを含む。この方法は更に、ユーザコンピュータ上でゲームのインスタンスを走らせてユーザコンピュータとそのゲームをホストしているアドレスとを接続することによって、そのユーザとある個人とをそのゲームで結合できるようにするステップを含むことができる。
【００１２】
本発明の別の面によれば、コンピュータネットワークを通して通信するためのコンピュータ化された方法が提供される。本方法は、１人のユーザに関連付けられたリスト内に格納されている第１の個々の人達がコンピュータネットワーク上に存在している時間を検出するステップと、これら第１の個々の人達の１人またはそれ以上に関連付けられたリスト内に格納されている第２の個々の人達がコンピュータネットワーク上に存在している時間を検出するステップと、これら第１及び第２の個々の人達がコンピュータネットワーク上に存在していることをそのユーザに通知するステップと、そのユーザが、これら第１及び第２の個々の人達へインスタントメッセージを送り、彼等からインスタントメッセージを受けることができるようにするステップとを含む。
【００１３】
本発明のこれらの、及び他の特色は、以下の添付図面を参照しての詳細な説明から明白になるであろう。
【発明を実施するための最良の形態】
【００１４】
以下に添付図面に基づいて本発明を詳細に説明するが、この説明は当業者が本発明を実施することを可能にするための単なる例示に過ぎない。特に、当業者には本発明の若干の要素をソフトウェア、ハードウェア、ファームウェア、またはそれらの何れかの組み合わせで実現できることは明白であろうから、添付図面及び以下の説明が本発明の範囲を限定するものではないことを理解されたい。更に、本発明の若干の要素は既知の構成要素を使用して部分的に、または完全に実現することができるが、本発明を理解するために必要な既知の構成要素の部分だけを説明し、既知の構成要素の他の部分の説明は省略する。本発明の好ましい実施の形態を図示してあるが、図面においては同じような、及び対応する部分には類似の参照番号を付してある。
【００１５】
本発明は、マルチプレーヤーオンラインゲーミングを容易にするためのシステム及び方法を提供する。図１は、マルチプレーヤーオンラインゲーミングを容易にするための本発明によるシステム１００の一実施の形態を示している。システム１００は、好ましくは、クライアント要素１０４をサーバー要素１０６に接続するコンピュータネットワーク１０２（例えば、インターネット）上に実現される。クライアント要素１０４は、ユーザのコンピュータ端末１２０上にインストールして走らせることができ、クライアントゲーミングプログラム１０８と、インターネットプログラミングインタフェース及び支援プログラム１１０と、ゲーミングＬＳＰ１１４を含むレイヤードサービスプロバイダ（“ＬＳＰ”）プログラム１１２と、１つまたはそれ以上のマルチプレーヤーオンラインゲーム１１６と、ＴＣＰ／ＩＰレイヤーのような低レベルネットワーク支援プログラム１１８とを含む。サーバー要素１０６は、１つまたはそれ以上の接続サーバー１２２と、プレゼンスサーバー１２４と、データベースサーバー１２６と、データベース１２８と、ゲームサーバー１３０とを含むことができる。
【００１６】
ユーザコンピュータ端末１２０は、ハードウェア及びソフトウェア構成要素を含む普通のマイクロプロセッサをベースとするコンピュータシステムであることができ、複数のマルチプレーヤーオンラインコンピュータゲーム１１６を走らせ、またコンピュータネットワーク１０２を通して通信するようになっている。例えば、コンピュータ端末１２０は、制御及びメモリユニットと、ユーザ入力デバイスと、視覚ディスプレイ即ちモニターと、通信ユニットとを含むことができる。制御及びメモリユニットは、１つまたはそれ以上のマイクロプロセッサと、揮発性及び不揮発性メモリと、１つまたはそれ以上の持続性記憶デバイスとを含むことができる。好ましい実施の形態においては、制御及びメモリユニットは、システム１００の動作を指令するオペレーティングソフトウェアの少なくとも一部分を格納している。ユーザ入力デバイスは、ユーザがデータをコンピュータ端末１２０内へ入力し、それからデータを受けてコンピュータゲームをプレーできるようにする１つまたはそれ以上の普通の市販デバイスを含むことができる。ユーザ入力デバイスは、キーボード、マウス、ジョイスティック等を含むことができる。視覚ディスプレイは、コンピュータ端末１２０がユーザに視覚データを表示することができるコンピュータモニター、フラットパネルディスプレイ、その他の普通のディスプレイデバイスのような普通の市販デバイスであることができる。通信ユニットは、通信ネットワーク１０２（例えば、インターネット）を通してデータを転送する適当な市販デバイス、またはデバイスの組み合わせであることができる。あるユーザまたはオペレータが、コンピュータネットワーク１０２を通して他の個々の人達とゲームすることができるように、ユーザ入力デバイス、ディスプレイ、及び通信ユニットが共働することを理解されたい。
【００１７】
一実施の形態においては、コンピュータ端末１２０はウィンドウズ（商品名）をベースとするオペレーティングシステムを走らせる。クライアントゲーミングプログラム１０８は好ましくはウィンドウズをベースとするプログラムであり、コンピュータ端末１２０に格納され、その上で動作する。クライアントゲーミングプログラム１０８によってユーザは、ネットワーク１０２を通して情報を送受し、オンラインゲームに参加し、そして他の個々の人達と通信することができる。一実施の形態においては、クライアントゲーミングプログラム１０８は、幾つかの機能を遂行するようになっている。第１に、クライアントゲーミングプログラム１０８は、接続サーバー１２２へのＴＣＰ／ＩＰ接続を開く。またクライアントゲーミングプログラム１０８は、所定のゲームのリストに関してユーザコンピュータ端末１２０のオペレーティングシステムを探索し、そのユーザが走らせている複数のゲームを接続サーバーへ通知する。クライアントゲーミングプログラム１０８はゲーミングＬＳＰ１１４と通信し、複数のゲーム１１６が接続されている複数のＩＰアドレスを決定する。クライアントゲーミングプログラム１０８はこの情報を、他のプレーヤーと（即ち、クライアントゲーミングプログラムの他のインスタンスと）データを共有する接続サーバー１２２へ送る。クライアントゲーミングプログラム１０８はこの情報を維持し、ゲームインスタンス１１６を自動的に走らせてそれを対応するネットワークアドレス（即ち、オンラインゲームをホストしているアドレス）へ接続することによって、ユーザと友人及び／または友人の友人とをオンラインゲームで容易に結合できるようにする。クライアントゲーミングプログラム１０８の動作の詳細に関しては図２に基づいて後述する。
【００１８】
一実施の形態においては、インターネットプログラミングインタフェース及び支援プログラム１１０は、ウィンソック（Winsock）を含む。ウィンソック１１０は、インターネットアプリケーションのための入力／出力要求を処理する。ＬＳＰ１１２は、ウィンソックにプラグインされる普通のレイヤードサービスプロバイダプログラムを含むことができる。ゲーミングＬＳＰ１１４は、全てのシステムプロセス内にマップされる。これによってＬＳＰ１１４は、ユーザが遠隔ゲーミングサーバーに接続される時間を検出して監視することができ、情報（例えば、接続アドレス）をクライアントゲーミングプログラム１０８へ供給する。低レベルネットワーク支援プログラム１０８は、ＴＣＰ／ＩＰレイヤーのようなネットワーク通信のための普通のプログラムである。
【００１９】
一実施の形態においては、接続サーバー１２２は、１つまたはそれ以上の普通のサーバーマシン上で走らせることができるリナックス（Linux）アプリケーションを含むことができる。接続サーバー１２２は、クライアント１０４から接続を受ける。接続サーバー１２２は、若干の要求をデータベースサーバー１２６へ転送し、若干をプレゼンスサーバー１２４へ転送する。一実施の形態においては、接続サーバー１２２は、データベース１２８からデータを検索し、それへデータを格納することによって処理できる全ての要求（例えば、ユーザの友人のリストの入手、ユーザのパスワードの検査、友人リストへある友人の追加、友人リストからある友人の削除、またはあるユーザの探索等）をデータベースサーバー１２６へ送る。接続サーバー１２２は、ログイン、インスタントメッセージの送り、またはユーザの好みの保管に含まれる伝送のような通信を、プレゼンスサーバー１２４へ送ることができる。また接続サーバー１２２は、データベース１２６及びプレゼンスサーバー１２４からメッセージを検索し、それらのメッセージをクライアント１０４へ転送する。好ましい実施の形態においては、データベースサーバー１２６は、接続サーバー１２２から送られた各メッセージに対する１つの応答（その要求の成功または失敗を指示する）と、関連データとを送り返す。プレゼンスサーバー１２４は、接続サーバー１２２からの各メッセージに応答して多くのメッセージを生成することができる。例えば、あるユーザがあるゲームに入った時に、１つのメッセージ（例えば、ユーザの識別、ゲーム、及び接続アドレス）をクライアントゲーミングプログラム１０８から接続サーバー１２２へ送ることができる。接続サーバー１２２は、そのメッセージをプレゼンスサーバー１２４へ転送する。プレゼンスサーバー１２４は、そのメッセージをそのユーザの友人（及び、もし“友人の友人”オプションが選択されていれば、彼等の友人の全て）毎に接続サーバー１２２へ送ることができる。接続サーバー１２２は、そのメッセージをこれらのユーザの各クライアントゲーミングプログラム１０８へ転送する。このようにして各クライアントゲーミングプログラム１０８は、複数の友人が現在オンラインゲームをプレーしていることをあるユーザに知らせ、もし望むならばそのユーザをこれらのゲームに接続する（例えば、ゲームインスタンスを走らせ、対応する接続アドレスに接続することによって）のに必要な情報を有することになる。接続サーバー１２２からの他のメッセージは、例えばあるユーザが別のユーザへインスタントメッセージを送る場合のように、プレゼンスサーバー１２４から１つのメッセージを生成するだけであろう。
【００２０】
一実施の形態においては、プレゼンスサーバー１２４は、普通のサーバーマシン上で走るリナックスアプリケーションを含むことができる。プレゼンスサーバー１２４は、接続サーバー１２２から複数のメッセージを受け、それらのメッセージをクライアント１０４へ送り返す。各ユーザにはシステムへのログインに成功した時に独特な番号が割当てられ、接続サーバー１２２及びプレゼンスサーバー１２４はユーザと彼等の現在の独特な番号との間のマッピングを格納している。プレゼンスサーバー１２４は、これらの独特な番号を使用して任意のユーザに転送されるメッセージをどの接続サーバー１２２へ送るかを決定する。データベースサーバー１２６は、普通のサーバーマシン上で走るリナックスアプリケーションを含むことができる。データベースサーバー１２６は接続サーバー１２２及びプレゼンスサーバー１２４と通信し、データベース１２８からの情報を供給する。データベース１２８は、アカウント名、パスワード、友人リスト、ユーザに関するプロフィールまたは情報等を格納する普通の関係型データベースであることができる。ゲームサーバー１３０は、対話式のオンラインゲームにおけるデータの通信を処理する普通のゲームサーバーであることができる。あるユーザが走らせることができる若干のゲーム１１６は、ネットワークを通して他のユーザとゲームをプレーするためにインターネットゲームサーバー１３０に接続される。
【００２１】
一実施の形態においては、クライアントゲーミングプログラム１０８はインスタントメッセージングクライアントとしても機能し、それによってユーザは我々のサーバー１２２及び１２４を通して他のユーザへインスタントメッセージを送ることができる。詳述すれば、クライアントゲーミングプログラム１０８を走らせている異なるユーザの間でテキストメッセージを送るために、クライアントゲーミングプログラム１０８、接続サーバー１２２、及びプレゼンスサーバー１２４を一緒に使用することができる。これが、インスタントメッセージ、即ちＩＭとして一般的に知られているものである。ユーザは、彼等のクライアントゲーミングプログラムによって表示される彼等の友人の何れにもメッセージを送ることができる。あるユーザがある友人にＩＭを送ると、その友人はマッピングを使用することによって、接続サーバー１２２を通してテキストメッセージを転送する。この実施の形態ではメッセージは接続サーバー１２２を通して受取人へ送られるが、代替実施の形態ではインスタントメッセージを発信人から受信者へ直接（例えば、接続サーバーをバイパスして）送ることができる。受信すると、メッセージは友人のコンピュータ上に直ちに表示される。またユーザは彼等の友人のどの友人にもメッセージを送ることができ、それらもクライアントゲーミングプログラム１０８によって表示され（例えば、後の図７に基づく説明を参照されたい）、メッセージも同様に配送される。
【００２２】
好ましい実施の形態においては、システムの各ユーザにはアカウント、即ちユーザ名及びパスワードが割当てられ、これらはデータベース１２８内に格納される。各ユーザは“友人”のリストを作成し、データベース１２８内に格納されているリストを変更することができる。“友人”は、あるユーザがオンライン及び／またはゲーミングステータスを共有することを望んでいる、そしてそのユーザの友人リストに格納されている１人の個人と定義される。ユーザがオンラインにある場合、即ちゲームをプレーしている場合、ユーザのステータス（即ち、ユーザがオンラインにあるか否か、ユーザが何のゲーム（もしあれば）をプレーしているか、及び／またはユーザが現在ゲームをプレーすることを望んでいるか否か）をそのユーザの友人リスト上の各個人へ通信することができる。同様に、全てのユーザの友人のステータスを、そのユーザへ伝送することができる。一実施の形態においては、ユーザは“友人の友人”とステータス情報を共有することを選択することもできる。“友人の友人”は、ユーザの友人リストには載ってはいないが、１人またはそれ以上のユーザの友人の友人リストに載っている個人のことである。
【００２３】
動作を説明する。クライアントゲーミングプログラム１０８及びゲーミングＬＳＰ１１４は、システムの種々のユーザのオンライン及びゲームステータスを監視し、ステータス情報を指名された個人のグループの間で共有するように一緒に動作する。このようにしてシステム１００は、個々の人達のオンライン及びゲームステータスを通知し、（例えば、グラフィカルユーザインタフェース内のあるアイテムを選択することによって）ユーザと個々の人達とをオンラインゲームで容易に結合できるようにする。一実施の形態においては、クライアントゲーミングプログラム１０８はクライアントコンピュータ１２０上で現在どのゲームが走っているかを決定し（図２）、ＬＳＰプログラム１１４はゲームの接続ステータスを決定する（図３）。
【００２４】
図２は、クライアントコンピュータ１２０上で現在走っているのはどのゲームかを決定するために、クライアントゲーミングプログラム１０８において走ることができるアプリケーションが遂行できる方法２００の一実施の形態を示している。本方法はステップ２０２から開始され、アプリケーションは方法２００の最後の繰り返し以降にどのシステムプロセスが終了したかを決定する。ステップ２０４において、アプリケーションは、最初に終了したプロセスを調べ、それを現在の走っているゲーム、即ち“走行中のゲームのセット”と比較する。もしそのプロセスが走行中のゲームのセット内になければ、アプリケーションはステップ２０６へ進んで他に終了したシステムプロセスが存在するか否かを決定する。もし他に終了したシステムプロセスが存在しなければ、アプリケーションはステップ２１２へ進む。存在する場合には、アプリケーションは、ステップ２０４を繰り返す。ステップ２０４において、もしアプリケーションが、そのシステムプロセスは走行中のゲームのセット内にあると決定すれば、アプリケーションはステップ２０８へ進む。ステップ２０８においてアプリケーションはそのプロセスに関連するゲームが最早アクティブではないことをクライアントゲーミングプログラム１０８へ通知し、ステップ２１０においてクライアントゲーミングプログラム１０８はそのプロセスを走行中のゲームのセットから除去する。
【００２５】
ステップ２１２−２２０において、アプリケーションは走行中のゲームのセット内の各システムプロセスを調べ、そのゲームが未だにシステムプロセス内で検出されるか否かを決定する。ステップ２１２−２２０によって、システムは複数のゲームを走らせ得るシステムプロセスを補償することができる。ステップ２１４において、アプリケーションはそのゲームがシステムプロセス内でアクティブであるか否かを決定する。もしそのゲームがアクティブでなければ、ステップ２１６においてアプリケーションはクライアントゲーミングプログラム１０８に通知し、ステップ２１８においてプログラム１０８はそのシステムプロセスを走行中のゲームのセットから除去する。ステップ２２０において、アプリケーションは他の何等かの分析すべきシステムプロセスが存在するか否かを決定し、もし他にプロセスが存在すればステップ２１４−２２０を繰り返す。全てのシステムプロセスを調べた後にアプリケーションはステップ２２２−２３０へ進み、走行中のゲームのセットの中にないゲームインスタンスについて全ての走行中のプロセスを調べる。ステップ２２２において、プロセスは全ての走行中のシステムプロセスを決定する。ステップ２２４において、プロセスは第１の走行中のシステムプロセスを調べ、そのプロセス内に何等かのゲームインスタンスが検出されたか否かを決定する。もしプロセス内にゲームインスタンスが存在すれば、ステップ２２６においてアプリケーションは新しいアクティブなゲームインスタンスをクライアントゲーミングプログラム１０８に通知する。ステップ２２８において、クライアントゲーミングプログラム１０８は、そのシステムプロセスを走行中のゲームのセットに追加する。もしステップ２２４においてシステムプロセス内にゲームが検出されなければ、アプリケーションはステップ２３０へ進む。もし調べられる他の走行中のプロセスが存在しなければ、方法２００が再始動する。方法は、直ちに、所定の時間の後に、または所定のイベントの後にの何れかに再始動することができる。もし調べられる他の走行中のプロセスが存在すれば、アプリケーションはステップ２２４−２３０を繰り返す。このようにして方法２００は、完全な、そして現在走行中のゲームのセットを、クライアントゲーミングプログラム１０８へ供給する。クライアントゲーミングプログラム１０８は、この走行中のゲームのセットをゲーミングＬＳＰ１１４へ通信する。
【００２６】
図３は、クライアントコンピュータ１２０上で走っているゲームの接続ステータス（例えば、ゲームがオンラインに接続されているか否か、及びゲームが接続されているネットワークアドレス）を決定するために、ゲーミングＬＳＰ１１４が遂行することができる方法３００の一実施の形態を示している。ＬＳＰ１１４は、この情報をクライアントゲーミングプログラム１０８へ通信する。クライアントゲーミングプログラム１０８は、この情報を接続サーバー１２２へ通信し、接続サーバー１２２はこの情報を、ユーザの“友人”（または、“友人の友人”）としてリストされている誰かに通信する。ステップ３０２において、ＬＳＰは、クライアントコンピュータ１２０が接続されている全てのアクティブな遠隔ネットワークアドレスを決定する。ＬＳＰは、ステップ３０４−３０８に示す手法でこれを決定することができる。ステップ３０４において、全てのシステムプロセスにマップされているＬＳＰは、何れかのシステムプロセスがネットワーク入力を受ける時点、またはネットワーク出力を送る時点を検出する。ステップ３０６において、ＬＳＰはプロセスが入力を受ける、または出力を送る遠隔ネットワークアドレスを追跡する。ステップ３０８において、ＬＳＰはシステムプロセス毎に最もアクティブな遠隔ネットワークアドレスを記録する。
【００２７】
ステップ３１０−３２４において、ＬＳＰは走行中のゲームのセット内に記録されている各ゲームインスタンスを調べ、ゲーム毎に現在のネットワーク接続ステータスを決定する。ステップ３１２において、ＬＳＰは、走行中のゲームのセット内のゲームインスタンスが遠隔ゲームサーバーに接続されているか否かを決定する。もしゲームインスタンスがネットワーク接続を有していれば、ＬＳＰはステップ３１４へ進む。ステップ３１４において、ＬＳＰはそのゲームインスタンスが、方法３００の先行繰り返し中に接続されていたネットワークアドレスと同一のネットワークアドレスに接続されているか否かを決定する。もしそのゲームインスタンスが同一のネットワークアドレスに接続されていれば、ＬＳＰはステップ３２４へ進み、走行中のゲームのセット内の他の何れかのゲームインスタンスのためにステップ３１２−３２４を繰り返す。もし走行中のゲームのセット内に他のゲームインスタンスが存在しなければ、方法３００は再始動する。ステップ３１４において、もしゲームインスタンスが同一のネットワーク接続を有していなければ、ＬＳＰはステップ３１６へ進み、そのゲームインスタンスが新しい接続アドレスを有していることをクライアントゲーミングプログラムへ通知する。ステップ３２０において、クライアントゲーミングプログラム１０８は、そのゲームインスタンスのための遠隔ネットワークアドレスを含む接続ステータスの全ての変化を格納する。ステップ３１２においてＬＳＰが、そのゲームインスタンスはネットワーク接続を有していないと決定すれば、ＬＳＰはステップ３２２へ進む。ステップ３２２において、ＬＳＰは、そのゲームインスタンスが方法３００の最終繰り返しの間ネットワーク接続を有していたか否かを決定する。もし有していなかったならば、ＬＳＰはステップ３２４へ進む。もしそのゲームインスタンスがネットワーク接続を有していたならばＬＳＰはステップ３１８へ進み、そのゲームインスタンスは最早接続されていないことをクライアントゲーミングプログラム１０８へ通知する。クライアントゲーミングプログラム１０８は、そのゲームインスタンスのための接続ステータス及び遠隔ネットワークアドレスの全ての変化を接続サーバー１２２へ通信する。接続サーバー１２２は、これらの変化を適切なユーザ（例えば、ユーザの“友人”及び“友人の友人”）へ通信する。このようにして、ネットワークに接続されている全てのユーザはオンラインにある彼等の友人、及び彼等がプレーしているゲームに関する現在の情報を受ける。この情報は、普通のグラフィカルユーザインタフェースによってユーザに表示することができる。
【００２８】
好ましい実施の形態においては、クライアントゲーミングプログラム１０８は、現在オンラインゲームをプレーしている選択された個人（例えば、友人、及び友人の友人）をユーザが見ることを可能にし、またユーザがゲームに容易に参加できるようにする。図４は、クライアントゲーミングプログラム１０８によって生成することができる主グラフィカルユーザインタフェース４００の例である。ユーザは、ユーザのデスクトップ上に現れているアイコンを選択することによって、主グラフィカルユーザインタフェース４００にアクセスすることができる。図示のように、インタフェース４００は、スクリーン名またはプレーヤーのユーザ名を表示するユーザ名カラム４１０、及びプレーヤーが現在プレーしているゲームの名前を表示するステータスカラム４２０を含む。ユーザ名カラム４１０は、ユーザが友人として指名した個人である“友人”、及びユーザの友人が友人として指名した個人である“友人の友人”のためのエントリを含む。個人がプレー中のゲームの名前はステータスカラム４２０内にユーザ名に対応して表示される。ユーザ名カラム４１０は、現在はどのオンラインゲームをもプレーしていないユーザの友人を表す“友人オフライン”エントリをも含む。一実施の形態においては、システムは、ユーザがオフラインでゲームをプレーしている時点を追跡してこの情報を他のユーザに通信するので、他のユーザはそのユーザをオンラインマルチプレーヤー環境でのゲームでプレーするように招待することができる。またシステムは、オンラインユーザが別の友人またはユーザと一緒にゲームをプレーすることを望んでいることを指示できるようにすることもできる。もしユーザがこのオプションを選択すれば、ステータスカラム４２０のプレーヤーのユーザ名の次にフレーズ“ゲーム希望（Up For Game）”が現れる。
【００２９】
主グラフィカルユーザインタフェース４００は、友人“追加（add）”アイコン４３０、“ＩＭ”アイコン４４０、“ゲーム参加（join game）”アイコン４５０、及び“プロフィール（profile）”アイコン４６０を更に含むことができる。ユーザがゲーム参加アイコン４５０を選択すると、クライアントゲーミングプログラム１０８がゲームのインスタンスをユーザの端末上で自動的に走らせ、そのゲームをホストしているＩＰアドレスへその端末を接続することによって、選択された個人とユーザとを選択されたゲームで結合させるようにする。プロフィールアイコン４６０は、ユーザに関する雑情報を入力できるようにする。友人追加アイコン４３０は、１人またはそれ以上の友人を追加するために、またはユーザの友人リストに追加するために、及びユーザの友人リストを変更するために、ユーザによって選択することができる。一実施の形態においては、追加アイコン４３０が選択されると、システムは友人追加グラフィカルユーザインタフェースを生成する。図５は、個々の人達を友人リストに追加するために、クライアントゲーミングプログラム１０８によって生成することができるグラフィカルユーザインタフェース５００の例である。図示のようにインタフェース５００は、ユーザが、ユーザ名、ｅメールアドレス、名前（first name）、及び姓（last name）を入力することができるエントリを含む。これらのエントリ内に情報を入力することによって、ユーザは、情報に対応するプレーヤーに関して全システムを探索することができるようになる。例えば、名前“マイク（Mike）”を入力し、探索ボタン５１０を選択することによって、クライアントゲーミングプログラム１０８は接続サーバー１２２と通信する。接続サーバー１２２はデータベースと通信し、“マイク”という名前を持つ全てのプレーヤーを検索する。このプレーヤーのリストはクライアントゲーミングプログラム１０８へ通信され、クライアントゲーミングプログラム１０８は領域５２０内にそれらのプレーヤーを表示する。ユーザは、追加を希望するプレーヤーを見出すまでリストをスクロールダウンすることができる。そのプレーヤーを選択することによってシステムは、そのプレーヤーをユーザの友人リストに自動的に追加する。ユーザは、ユーザをそのプレーヤーの友人リストに追加するように、そのプレーヤーに招待状を送ることもできる。ユーザは、ボタン５３０を選択することによって、ＩＭを通して招待状を送ることができる。ＩＭは、前述したような手法で送ることができる。別の実施の形態においては、ユーザはｅメールによって招待状を送ることもできる。ｅメールを送るために、クライアントゲーミングプログラム１０８は、普通の手法でシステムからｅメールを送るページにウェブブラウザーを開くことができる。
【００３０】
図７は、インスタントメッセージを送るためにクライアントゲーミングプログラム１０８によって生成することができるグラフィカルユーザインタフェース７００を示す例である。従来のＩＭシステムとは異なり、ユーザインタフェース７００は友人だけではなく、友人の友人をもリストする。図７に示す例においては、ユーザはスクリーン４００上で友人の友人としてリストされている個人（“wyndairn”）を選択している。個人名をハイライトさせた後に、ユーザはＩＭアイコン４４０を選択する。それに応答してクライアントゲーミングプログラム１０８は、ユーザインタフェース７００を生成する。図示のように、インタフェース７００は、過去に個々の人達が送った幾つかのメッセージを表示するメッセージ履歴領域７１０と、ユーザがメッセージを下書きすることができるメッセージ下書き領域７２０とを含む。メッセージを領域７２０内に下書きした後に、ユーザは送信（send）ボタン７３０を選択することによってそのメッセージを送ることができる。インタフェース７００は、ユーザがチャットしている個人に関する種々の情報を含む情報領域７４０を更に含むことができる。例えば、情報領域７４０は、個人のスクリーン名、個人のプロフィールへのリンク、個人がオンラインゲームをプレーしているサーバーＩＰアドレス、及びユーザと個人とが共有する共通の友人を含むことができる。
【００３１】
システムは、主グラフィカルユーザインタフェース４００（例えば、ツールメニューの下の）を通してアクセス可能なオプションを選択するためのグラフィカルユーザインタフェースを更に含むことができる。図６は、オプションを変化させるためにクライアントゲーミングプログラム１０８によって生成することができるグラフィカルユーザインタフェース６００の例である。インタフェース６００は、システムがあるユーザに提供するステータス情報の型をそのユーザが選択できるようにするプライバシーオプションを含む。図示のように、ユーザは、彼のゲームステータス（即ち、ユーザがどのゲーム（１つまたは複数の）をプレー中であるか）を友人及び／または友人の友人と共有する（または共有しない）ことを選択することができる。またユーザは、ユーザがプレーをしているゲームサーバーのアイデンティティを共有する（または共有しない）ことも選択できる。更に、インタフェース６００は、ユーザがクライアントゲーミングプログラム１０８の音響をターンオン／オフできるようにする。
【００３２】
以上に説明したように、本発明はマルチプレーヤーオンラインゲーミングを容易にするシステム及び方法を提供する。システムは、あるユーザによって識別された若干の個々の人達がオンラインゲームをプレーしている時間を監視し、検出する。システムは、現在オンラインでゲームをプレーしている個々の人達、それらの個々の人達がプレーしているゲームをユーザに通知し、進行中のゲームにユーザが容易に参加できるようにする。
【００３３】
以上、本発明をその好ましい実施の形態に関して説明したが、当業者ならば、本発明の思想及び範囲から逸脱することなく形状及び細部に上述した、及び他の変化を考案することが可能であろう。従って、本発明は特許請求の範囲によってのみその範囲を限定されるものであることを理解されたい。
【図面の簡単な説明】
【００３４】
【図１】マルチプレーヤーオンラインゲーミングを容易にするための本発明によるシステムを示す概要図である。
【図２】クライアントコンピュータ上で現在走っているのはどのゲームインスタンスであるのかを決定するために、図１に示すシステムによって遂行される方法を示す流れ図である。
【図３】何れかのアクティブなゲームインスタンスの接続ステータス及びネットワークアドレスを決定するために、図１に示すシステムによって遂行される方法を示す流れ図である。
【図４】選択されたプレーヤー及び彼等が現在プレー中のゲームを表示するために、システムによって生成することができるグラフィカルユーザインタフェースの例である。
【図５】個々の人達をユーザの友人リストに追加するために、システムによって生成することができるグラフィカルユーザインタフェースの例である。
【図６】オプションを変化させるために、システムによって生成することができるグラフィカルユーザインタフェースの例である。
【図７】インスタントメッセージを送るために、システムによって生成することができるグラフィカルユーザインタフェースの例である。
【図１】
2007531568.tif 000003
【図２】
2007531568.tif 000004
【図３】
2007531568.tif 000005
【図４】
2007531568.tif 000006
【図５】
2007531568.tif 000007
【図６】
2007531568.tif 000008
【図７】
2007531568.tif 000009