(57)【要約】【解決手段】持続的なパーティルームを利用する方法は、コンピューティングデバイスを介して、階層的なサーバアーキテクチャにしたがってグローバル配列を初期化するステップと、コンピューティングデバイスを介して、新しい持続的なパーティルームを生成するべきか、あるいは以前ブックマークされた持続的なパーティルームに参加するべきかどうかを決定するステップと、コンピューティングデバイスを介して、前記グローバル配列にインデックスされた位置に前記新しい持続的なパーティルームを生成するステップと、コンピューティングデバイスを介して、前記グローバル配列を用いて前記以前ブックマークされた持続的なパーティルームを検索することにより前記以前ブックマークされた持続的なパーティルームに参加するステップとを含む。【選択図】図１
2015525380.tif 000002
【特許請求の範囲】
【請求項１】
持続的なパーティルームを利用する方法であって、
コンピューティングデバイスを介して、階層的なサーバアーキテクチャにしたがってグローバル配列を初期化するステップと、
コンピューティングデバイスを介して、新しい持続的なパーティルームを生成するべきか、あるいは以前ブックマークされた持続的なパーティルームに参加するべきかどうかを決定するステップと、
コンピューティングデバイスを介して、前記グローバル配列にインデックスされた位置に前記新しい持続的なパーティルームを生成するステップと、
コンピューティングデバイスを介して、前記グローバル配列を用いて前記以前ブックマークされた持続的なパーティルームを検索することにより前記以前ブックマークされた持続的なパーティルームに参加するステップとを含む方法。
【請求項２】
前記階層的なサーバアーキテクチャは、関連づけられたサーバＩＤを有する少なくとも１つのサーバの構造を含み、前記少なくとも１つのサーバの各々は、関連づけられたワールドＩＤを有する少なくとも１つのワールドを有し、前記少なくとも１つのワールドは、関連づけられたルームＩＤを有する少なくとも１つのルームを有する請求項１の方法。
【請求項３】
前記グローバル配列は、複数のサーバをまたがるワールドＩＤを含む配列であり、前記グローバル配列は、クライアント間で統一性を保証するためにワールドＩＤでソートされる請求項２の方法。
【請求項４】
前記新しい持続的なパーティルームを生成するステップは、
ネットワークプラットフォームＩＤおよび現在時刻を用いることによりブックマークＩＤを生成するステップと、
前記ブックマークＩＤに含まれるデータを加算し、加算されたデータを新しいワールドリストチャンク値に格納するステップと、
グローバル配列インデックスおよび前記新しいワールドリストチャンク値を用いて前記グローバル配列から１つのワールドＩＤをインデックスするステップと、
前記インデックスされたワールドを用いて前記新しい持続的なパーティルームを生成するステップとを含む請求項１の方法。
【請求項５】
前記以前ブックマークされた持続的なパーティルームに参加するステップは、
前記ブックマークＩＤを有する一つの既存の持続的なパーティルームがあるかどうかを決定するために、前記グローバル配列における前記インデックスされたワールドＩＤ上で前記ブックマークＩＤを検索するステップと、
前記ブックマークＩＤを有する持続的なパーティルームが存在しないとき、前記ブックマークＩＤを有する新しい持続的なパーティルームを生成し、前記新しい持続的なパーティルームに参加するステップと、
前記ブックマークＩＤを有する任意の既存の持続的なパーティルームがあるかどうかを決定するために、前記グローバル配列における前記インデックスされたワールドＩＤ上で前記ブックマークＩＤを再度検索するステップと、
前記ブックマークＩＤを有する検索結果においてただ一つの持続的なパーティルームが返されたとき、その返された持続的なパーティルームに参加するステップとを含む請求項４の方法。
【請求項６】
前記以前ブックマークされた持続的なパーティルームに参加するステップは、
前記ブックマークＩＤを有する一つの既存の持続的なパーティルームがあるかどうかを決定するために、前記グローバル配列における前記インデックスされたワールドＩＤ上で前記ブックマークＩＤを検索するステップと、
前記ブックマークＩＤを有する持続的なパーティルームが存在しないとき、前記ブックマークＩＤを有する新しい持続的なパーティルームを生成し、前記新しい持続的なパーティルームに参加するステップと、
前記ブックマークＩＤを有する任意の既存の持続的なパーティルームがあるかどうかを決定するために、前記グローバル配列における前記インデックスされたワールドＩＤ上で前記ブックマークＩＤを再度検索するステップと、
同じブックマークＩＤを有する２以上の持続的なパーティルームが存在するとき、前記参加した新しい持続的なパーティルームが前記検索結果における最初のものであることを検証するステップと、
前記参加した新しい持続的なパーティルームが前記検索結果における最初のものでないとき、前記検索結果における最初のものである持続的なパーティルームに参加するステップとを含む請求項４の方法。
【請求項７】
前記以前ブックマークされた持続的なパーティルームに参加するステップは、
前記ブックマークＩＤを有する一つの既存の持続的なパーティルームがあるかどうかを決定するために、前記グローバル配列における前記インデックスされたワールドＩＤ上で前記ブックマークＩＤを検索するステップと、
前記ブックマークＩＤを有する２以上の持続的なパーティルームが存在するとき、前記検索結果に返された最初の持続的なパーティルームに参加するステップとを含む請求項４の方法。
【請求項８】
前記以前ブックマークされた持続的なパーティルームに参加するステップは、
前記グローバル配列をワールドＩＤでソートするステップと、
前記ブックマークＩＤを有する一つの既存の持続的なパーティルームがあるかどうかを決定するために、前記グローバル配列における前記インデックスされたワールドＩＤ上で前記ブックマークＩＤを検索するステップと、
前記ブックマークＩＤを有する２以上の持続的なパーティルームが存在するとき、前記検索結果に返された最初の持続的なパーティルームに参加するステップとを含む請求項４の方法。
【請求項９】
オンラインゲームをプレイしているメンバおよび少なくとも一人の他のメンバが、前記新しい持続的なパーティルームまたは前記以前ブックマークされた持続的なパーティルームに属することを認識するステップと、
参加ゲームアクノレッジ機能を介して、前記少なくとも一人の他のメンバが参加するべき前記オンラインゲームにおいて前記メンバに対するスポットを予約するステップと、
前記少なくとも一人の他のメンバが前記予約されたスポットにおいて前記オンラインゲームに参加することを許可するステップとをさらに含む請求項１の方法。
【請求項１０】
コンピュータプログラムを格納する非一時的なコンピュータ読み取り可能な記録媒体であって、前記コンピュータプログラムは、持続的なパーティルームを利用する方法をコンピュータに実行させる実行可能なインストラクションを含み、前記方法は、
階層的なサーバアーキテクチャにしたがってグローバル配列を初期化するステップと、
新しい持続的なパーティルームを生成するべきか、あるいは以前ブックマークされた持続的なパーティルームに参加するべきかどうかを決定するステップと、
前記グローバル配列にインデックスされた位置に前記新しい持続的なパーティルームを生成するステップと、
前記グローバル配列を用いて前記以前ブックマークされた持続的なパーティルームを検索することにより前記以前ブックマークされた持続的なパーティルームに参加するステップとを含む記録媒体。
【請求項１１】
前記階層的なサーバアーキテクチャは、関連づけられたサーバＩＤを有する少なくとも１つのサーバの構造を含み、前記少なくとも１つのサーバの各々は、関連づけられたワールドＩＤを有する少なくとも１つのワールドを有し、前記少なくとも１つのワールドは、関連づけられたルームＩＤを有する少なくとも１つのルームを有する請求項１０の記録媒体。
【請求項１２】
前記グローバル配列は、複数のサーバをまたがるワールドＩＤを含む配列であり、前記グローバル配列は、クライアント間で統一性を保証するためにワールドＩＤでソートされる請求項１０の記録媒体。
【請求項１３】
前記新しい持続的なパーティルームを生成するステップは、
ネットワークプラットフォームＩＤおよび現在時刻を用いることによりブックマークＩＤを生成するステップと、
前記ブックマークＩＤに含まれるデータを１６ビットチャンクで加算し、加算されたデータを新しいワールドリストチャンク値に格納するステップと、
グローバル配列インデックスおよび前記新しいワールドリストチャンク値を用いて前記グローバル配列から１つのワールドＩＤをインデックスするステップと、
前記インデックスされたワールドを用いて前記新しい持続的なパーティルームを生成するステップとを含む請求項１０の記録媒体。
【請求項１４】
前記以前ブックマークされた持続的なパーティルームに参加するステップは、
前記ブックマークＩＤを有する一つの既存の持続的なパーティルームがあるかどうかを決定するために、前記グローバル配列における前記インデックスされたワールドＩＤ上で前記ブックマークＩＤを検索するステップと、
前記ブックマークＩＤを有する持続的なパーティルームが存在しないとき、前記ブックマークＩＤを有する新しい持続的なパーティルームを生成し、前記新しい持続的なパーティルームに参加するステップと、
前記ブックマークＩＤを有する任意の既存の持続的なパーティルームがあるかどうかを決定するために、前記グローバル配列における前記インデックスされたワールドＩＤ上で前記ブックマークＩＤを再度検索するステップと、
前記ブックマークＩＤを有する検索結果においてただ一つの持続的なパーティルームが返されたとき、その返された持続的なパーティルームに参加するステップとを含む請求項１３の記録媒体。
【請求項１５】
前記以前ブックマークされた持続的なパーティルームに参加するステップは、
前記ブックマークＩＤを有する一つの既存の持続的なパーティルームがあるかどうかを決定するために、前記グローバル配列における前記インデックスされたワールドＩＤ上で前記ブックマークＩＤを検索するステップと、
前記ブックマークＩＤを有する持続的なパーティルームが存在しないとき、前記ブックマークＩＤを有する新しい持続的なパーティルームを生成し、前記新しい持続的なパーティルームに参加するステップと、
前記ブックマークＩＤを有する任意の既存の持続的なパーティルームがあるかどうかを決定するために、前記グローバル配列における前記インデックスされたワールドＩＤ上で前記ブックマークＩＤを再度検索するステップと、
同じブックマークＩＤを有する２以上の持続的なパーティルームが存在するとき、前記参加した新しい持続的なパーティルームが前記検索結果における最初のものであることを検証するステップと、
前記参加した新しい持続的なパーティルームが前記検索結果における最初のものでないとき、前記検索結果における最初のものである持続的なパーティルームに参加するステップとを含む請求項１３の記録媒体。
【請求項１６】
前記以前ブックマークされた持続的なパーティルームに参加するステップは、
前記ブックマークＩＤを有する一つの既存の持続的なパーティルームがあるかどうかを決定するために、前記グローバル配列における前記インデックスされたワールドＩＤ上で前記ブックマークＩＤを検索するステップと、
前記ブックマークＩＤを有する２以上の持続的なパーティルームが存在するとき、前記検索結果に返された最初の持続的なパーティルームに参加するステップとを含む請求項１３の記録媒体。
【請求項１７】
前記以前ブックマークされた持続的なパーティルームに参加するステップは、
前記グローバル配列をワールドＩＤでソートするステップと、
前記ブックマークＩＤを有する一つの既存の持続的なパーティルームがあるかどうかを決定するために、前記グローバル配列における前記インデックスされたワールドＩＤ上で前記ブックマークＩＤを検索するステップと、
前記ブックマークＩＤを有する２以上の持続的なパーティルームが存在するとき、前記検索結果に返された最初の持続的なパーティルームに参加するステップとを含む請求項１３の記録媒体。
【請求項１８】
オンラインゲームをプレイしているメンバおよび少なくとも一人の他のメンバが、前記新しい持続的なパーティルームまたは前記以前ブックマークされた持続的なパーティルームに属することを認識するステップと、
参加ゲームアクノレッジ機能を介して、前記少なくとも一人の他のメンバが参加するべき前記オンラインゲームにおいて前記メンバにスポットを予約させるステップと、
前記少なくとも一人の他のメンバが前記予約されたスポットにおいて前記オンラインゲームに参加することを許可するステップとをさらに含む請求項１０の記録媒体。
【請求項１９】
持続的なパーティルームを利用するシステムであって、
持続的なパーティルームソフトウェアを含む少なくとも１つのコンピュータシステムと、
前記持続的なパーティルームソフトウェアと適合する持続的なパーティルーム情報を格納する少なくとも１つのサーバと、
前記少なくとも１つのコンピュータシステムと前記少なくとも１つのサーバを接続するネットワークとを含むシステム。
【請求項２０】
前記持続的なパーティルームソフトウェアは、
前記少なくとも１つのサーバによって格納された前記持続的なパーティルーム情報内で階層的なサーバアーキテクチャにしたがってグローバル配列を初期化する手段と、
新しい持続的なパーティルームを生成するべきか、あるいは以前ブックマークされた持続的なパーティルームに参加するべきかどうかを決定する手段と、
前記グローバル配列にインデックスされた位置に前記新しい持続的なパーティルームを生成する手段と、
前記グローバル配列を用いて前記以前ブックマークされた持続的なパーティルームを検索することにより前記以前ブックマークされた持続的なパーティルームに参加する手段とを含む請求項１９のシステム。
【発明の詳細な説明】
【背景技術】
【０００１】
本願は、オンラインゲーム環境に関し、特に、ゲームをプレイする間に利用されるパーティルームまたはチャットルームに関する。
【０００２】
パーティルームは、ゲームやオンラインゲームをプレイしながら、ゲームの間やゲームの休憩の間に、ゲーマーがボイスチャット、テキストチャット、ビデオチャットなどをするオンラインチャット環境である。パーティルームに関する問題の一つは、パーティルームが一時的なものであり、セッションからセッションへ持続しないということである。これまでは、みんながルームから去ったときはいつも、誰かがそのパーティルームに戻りたいか、新しいパーティルームに参加したい場合、ユーザはパーティルームを作り直さなければならなかった。このアプローチはエンドユーザの観点からは効率が悪い。
【発明の概要】
【課題を解決するための手段】
【０００３】
本願の実装は、持続性があってブックマークして戻ることができる持続的なパーティルームを提供する。
【０００４】
ある実装では、持続的なパーティルームを利用する方法が提供される。この方法は、コンピューティングデバイスを介して、階層的なサーバアーキテクチャにしたがってグローバル配列を初期化するステップと、コンピューティングデバイスを介して、新しい持続的なパーティルームを生成するべきか、あるいは以前ブックマークされた持続的なパーティルームに参加するべきかどうかを決定するステップと、コンピューティングデバイスを介して、前記グローバル配列にインデックスされた位置に前記新しい持続的なパーティルームを生成するステップと、コンピューティングデバイスを介して、前記グローバル配列を用いて前記以前ブックマークされた持続的なパーティルームを検索することにより前記以前ブックマークされた持続的なパーティルームに参加するステップとを含む。
【０００５】
別の実装では、コンピュータプログラムを格納する非一時的なコンピュータ読み取り可能な記録媒体が適用される。前記コンピュータプログラムは、持続的なパーティルームを利用する方法をコンピュータに実行させる実行可能なインストラクションを含み、前記方法は、階層的なサーバアーキテクチャにしたがってグローバル配列を初期化するステップと、新しい持続的なパーティルームを生成するべきか、あるいは以前ブックマークされた持続的なパーティルームに参加するべきかどうかを決定するステップと、前記グローバル配列にインデックスされた位置に前記新しい持続的なパーティルームを生成するステップと、前記グローバル配列を用いて前記以前ブックマークされた持続的なパーティルームを検索することにより前記以前ブックマークされた持続的なパーティルームに参加するステップとを含む。
【０００６】
さらに別の実装では、持続的なパーティルームを利用するシステムが提供される。このシステムは、持続的なパーティルームソフトウェアを含む少なくとも１つのコンピュータシステムと、前記持続的なパーティルームソフトウェアと適合する持続的なパーティルーム情報を格納する少なくとも１つのサーバと、前記少なくとも１つのコンピュータシステムと前記少なくとも１つのサーバを接続するネットワークとを含む。
【０００７】
本願の他の特徴および利点は、以下の詳細な説明および図面を参照することにより当業者により容易に明らかになる。
【図面の簡単な説明】
【０００８】
【図１】本願の実装に係る持続的なパーティルームの例のスクリーンショットを説明する図である。
【図２】本願の実装に係るサーバアーキテクチャを説明する図である。
【図３】本願の実装に係る持続的なパーティルームを作成し参加するための方法を示すフローチャートを説明する図である。
【図４】本願のある実装に係る初期化方法を示すフローチャートを説明する図である。
【図５】本願のある実施の形態に係る新しい持続的なパーティルームを作成する方法を示すフローチャートを説明する図である。
【図６】本願のある実装に係る、ブックマークされたルームに参加するときの第１ルートに対して生じる方法を示すフローチャートを説明する図である。
【図７】本願のある実装に係る、ブックマークされたルームに参加するときの第２ルートに対して生じる方法を示すフローチャートを説明する図である。
【図８】本願のある実装に係る、ブックマークされたルームに参加するときの第３ルートに対して生じる方法を示すフローチャートを説明する。
【図９Ａ】本願のある実装に係るコンピュータシステムおよびユーザを説明する図である。
【図９Ｂ】本願のある実装に係るログインした人をホストするコンピュータシステムを説明する機能ブロック図である。
【発明を実施するための形態】
【０００９】
ここで開示されるように、ある実装は、持続的なパーティルームを提供する。この説明を読めば、本願をいろいろな代替的な実施の形態や代替的な応用例に実装する方法が明らかになる。もっとも、本発明のいろいろな実装がここに記載されるが、これらの実装は例示のみを目的として提示されており、限定されるものではない。したがって、いろいろな代替的な実装の詳細な説明は本願の範囲や外延を限定するものと解されるべきではない。
【００１０】
ある実装では、持続的なパーティルームは、ユーザにとって永続的なパーティルームとして見える擬似的に永続的なパーティルームであり、破棄された後、ユーザがそのパーティルーム（それはブックマークされうる）に戻ったときに生成されることもある。友達やオンラインプレイヤがゲームからゲームへ移動し、たとえ彼らが異なるゲームタイトルをプレイしているとしても、ボイスチャット、テキストチャット、ビデオチャットに関わり続けることで、友達やオンラインプレイヤが離ればなれにならないようにするためにパーティルームが使われる。持続的なパーティルームを用いて、後で同じパーティルームに再び参加しやすくするために、友達はパーティルームをブックマークしたり、保存してもよい。
【００１１】
ブックマークされた持続的なパーティルームは、友達が互いにゲームをプレイする気分にあるとき、彼らがそろって行こうとする中心的な場所である。たとえば、ブックマークされた持続的なパーティルームは、ファーストパーソンシューターをプレイしたいユーザの友達に対して「ＦＰＳ」と名付けることができる。また、レーシングゲームをしたい友達に対してルームを「レーシング」と名付けることができる。ユーザがプレイしたいゲーム、ユーザの気分、あるいは、持続的なパーティルームにいる人々が多いか少ないかに依存して、ユーザは持続的なパーティルームのどれかに参加することができる。持続的なパーティルームを管理するために使われるバックエンドソフトウェアは、持続的なパーティルームの関連づけられたユニークＩＤを格納する。ユーザが持続的なパーティルームに参加したいとき、システムは、関連づけられたユニークＩＤのブックマークが存在するかどうかを決定するためにサーチを行う。ブックマークが存在しないならば、新しい関連づけられたユニークＩＤが生成される。このアプローチは、これらの持続的なパーティルームを常に手元に維持することによってリソースを節約する。ユーザにとって、あたかも持続的なパーティルームがいつも存在するかのように見えるが、現実には、全員が持続的なパーティルームを去ったとき、そのルームは破棄される（保存され、関連づけられたユニークＩＤを表すポインタによってブックマークされる）。その後、ブックマークされた持続的なパーティルームに最初のユーザが参加するとき、持続的なパーティルームの関連づけられたユニークＩＤがシステムによって調べられ、再度そのルームが生成される。
【００１２】
現在、パーティルームの実装によって、ユーザは、友達が参加を招待されるか、あるいは、通常サーチを通して参加を許可される、１つのパーティルームを生成することができる。すべてのユーザがパーティルームを去ったとき、そのパーティルームは破棄される。その後ユーザがそのパーティルームに入りたいときは、パーティルームはそのユーザによって作り直される。
【００１３】
本願によって開示されるように、持続的なパーティルームは、手早く参照したり、後で利用することができるように、関連づけられたユニークＩＤを介して持続的なパーティルームをブックマークするか保存することによってこの不効率の問題を解決する。ユーザは、自分の友達とともに異なるタイプのアクティビティを中心として異なるタイプの持続的なパーティルームを生成してもよい。さらに、友達が持続的なパーティルームにおいて良い時間をもっているならば、彼らの友達のすべてあるいは幾人かが次回プレイ可能になったときに、同じ持続的なパーティルームに参加できるように、彼らはその持続的なパーティルームをブックマークして自分たちのアクティビティを調整することを選択することができる。ゲームのスケジューリングはさらに、持続的なパーティルームと連携して参加ゲームアクノレッジ機能を用いることで便利にすることができ、その結果、ゲームにおけるスロットがあらかじめ予約される。
【００１４】
ある実装では、ユーザがゲーム、テキストチャット、ボイスチャット、ビデオチャットなどをするためにグループを作ることのできる持続的なパーティルームを生成するためにコンピュータシステムによって格納され実行される持続的なパーティルームソフトウェアが提供される。ある実装では、コンピュータシステムは、ソニープレイステーション（登録商標）のような次世代ゲームコンソールであってもよい。
【００１５】
図１は、本願の実装に係る、持続的なパーティルーム１００の例のスクリーンショットを示す。持続的なパーティルーム１００は、現在の持続的なパーティルームツールバー１０２、持続的なパーティルームチャットボックス１０４、現在のメンバリスト１０６、持続的なパーティルームリスト１０８、ユーザチャットＧＵＩウインドウ１１０、ユーザチャットボタン１１２、およびユーザ情報ボックス１１４を含む。ユーザが持続的なパーティルームアプリケーションを起動したとき、持続的なパーティルーム１００に似たスクリーンが登場する。
【００１６】
現在の持続的なパーティルームツールバー１０２は、ユーザが現在どの持続的なパーティルームにいるかを表示する。ツールバー１０２におけるハートアイコンは、現在の持続的なパーティルームがブックマークされていないならば、グレー表示されてもよい。ユーザがグレー表示されたハートアイコンをタッチするならば、そのハートアイコンは赤くなり、現在の持続的なパーティルームがブックマークされ、（当該ルームの関連づけられたユニークＩＤのような）関連するブックマークデータ情報がローカルストレージに保存されてもよい。ローカルストレージに保存されたブックマーク情報は、友達または他のユーザによって使用されているパーティルームのブックマーク情報と比較されてもよい。
【００１７】
現在のメンバリスト１０６は、現在の持続的なパーティルームにいるユーザまたは友達を示す。ユーザによって使用されたルームが、以前にブックマークされたルームと一致するならば、ツールバー１０２におけるハートアイコンはそのルームの名前の横で赤くなる。さらに、現在のメンバリスト１０６にリストされたユーザをタッチすると、ユーザ情報ボックスにそのユーザのプロファイルが現れる。ある実装では、カーソルがユーザ名の上に置かれたならば、ユーザ情報ボックスがカーソルの近くに現れる。別の実装では、ユーザ名をクリックすると、ユーザ情報ボックスを表示する別のページが開かれるか、ユーザ情報ボックスを表示する小さなウインドウが開かれる。
【００１８】
持続的なパーティルームリスト１０８は、ユーザがいつでも参加することを決定できるようにブックマークされたルームのリストを提供する。ルーム名の横のハートアイコンもまたルームがブックマークされているかどうかを示す。ブックマークされたパーティルームが存在せず、ユーザがルームを作りたいなら、持続的なパーティルームが、関連づけられたユニークＩＤとともにサーバ上で作成される。
【００１９】
ユーザチャットＧＵＩウインドウ１１０は、ユーザが他のユーザとコミュニケーションするために、テキスト、ビデオ、リンク、または他の情報を入力することを可能にする。ユーザチャットボタン１１２は他のユーザとコミュニケーションするいろいろなモード（テキスト、ビデオ、電話など）を反映し、コミュニケーションのこれらのモードはここに示されたボタンに限定されない。ユーザ情報ボックス１１４は現在のユーザについての情報をまとめる。
【００２０】
図２は、本願の実装に係るサーバアーキテクチャを説明する。特に、図２は、少なくとも１つのサーバ２０２を示すサーバアーキテクチャ２００を説明する。各サーバ２０２は少なくとも１つのワールド２０４を含み、各ワールド２０４は少なくとも１つのルーム２０６を含む。
【００２１】
ある実装では、ルーム２０６は、持続的なパーティルームが格納される場所であり、各永続性のあるルーム（ルーム２０６）は１つのワールド２０４に存在し、そのワールド２０４は１つのサーバ２０２上に存在する。ある実装では、各サーバ２０２は複数のワールド２０４をもち、各ワールド２０４は複数のルーム２０６をもつ。各持続的なパーティルーム（たとえばルーム２０６）は特定のサーバ２０２およびワールド２０４上で作成される。ルーム２０６、ワールド２０４およびサーバ２０２は、それぞれ関連づけられたユニークＩＤ（たとえばルームＩＤ、ワールドＩＤ、サーバＩＤ）をもつ。ある実装では、各ルームＩＤはこのユニークＩＤの中でワールドＩＤおよびサーバＩＤを用いる。別の実装では、各ワールドＩＤは、そのユニークＩＤの中でサーバＩＤを用いる。別の実装では、各ＩＤは、他のＩＤと関連づけられた情報についてのデータを追跡することができる（たとえば、各サーバＩＤはそれに関連づけられたワールドＩＤおよびルームＩＤについての情報を特定することができ、各ワールドＩＤはそれに関連づけられたサーバＩＤおよびルームＩＤについての情報を特定することができ、各ルームＩＤはそれに関連づけられたサーバＩＤおよびワールドＩＤについての情報を特定することができる）。
【００２２】
図３は、本願の実装に係る持続的なパーティルームを作成し参加するための方法３００を示すフローチャートを説明する。ある実装では、方法３００はボックス３０２で開始するが、図３の他の場所から開始してもよく、以下で説明するボックスはまた任意の順序で実行されてもよい。ボックス３０４において、初期化プロセス（図４を参照して以下でさらに説明される）が実行される。
【００２３】
決定ボックス３０６において、ブックマークされた持続的なパーティルームに参加するか、新しい持続的なパーティルームを作成するかを決定する。決定ボックス３０６に対する回答が、新しい持続的なパーティルームを作成することである場合、次のボックスはボックス３１０であり、そこで新しい持続的なパーティルームが作成される。決定ボックス３０６に対する回答が、ブックマークされた持続的なパーティルームに参加することである場合、次のボックスはボックス３０８であり、そこからは３つの異なるシナリオの少なくとも一つに分岐する。ルートＡであればボックス３１２、ルートＢであればボックス３１４、ルートＣであればボックス３１６である。
【００２４】
ルートＡの後のボックス３１２は、ブックマークされた持続的なパーティルームが見つからず、重複した持続的なパーティルームが見つからない場合のシナリオであり、図６を参照して以下でさらに説明される。ルートＢの後のボックス３１４は、ブックマークされた持続的なパーティルームが見つからず、重複した持続的なパーティルームが見つかる場合のシナリオであり、図７を参照して以下でさらに説明される。ルートＣの後のボックス３１６は、ブックマークされた持続的なパーティルームが見つかる場合のシナリオであり、図８を参照して以下でさらに説明される。
【００２５】
ボックス３１０、もしくはボックス３１２、３１４あるいは３１６の後、次のボックスは決定ボックス３１８であり、方法３００の処理が完了したかどうか（すなわちさらに持続的なパーティルームを作成するか、または参加するか）を聞く。決定ボックス３１８に対する回答が「いいえ」なら、方法３００はボックス３０６に戻る。ある実装では、上記のボックスは、本願で議論された持続的なパーティルームソフトウェアまたは技術を実装するシステムによって実行されてもよい。
【００２６】
図４は、本願のある実装に係るボックス３０４（図３）の初期化方法を示すフローチャートを説明する。ある実装では、ボックス３０４０は図３におけるボックス３０２からの続きである。ある実装では、以下で説明する方法はボックス３０４０で開始するが、図４の他の場所から開始してもよく、以下で説明するボックスはまた任意の順序で実行されてもよい。ボックス３０４１はサーバＩＤのリストを取得する。ボックス３０４２において、ワールドＩＤのリストを各サーバＩＤから受け取る。ボックス３０４３において、サーバをまたがるワールドＩＤを含む配列（たとえばGlobalWorldlDListArrayと名付ける）が生成される。たとえば、それぞれ４つのワールドをもつ２つのサーバがある場合、サーバをまたがるワールドＩＤのリストは合計で８個のアイテムを含むことになる。ボックス３０４４において、当該配列は、後で利用するため、たとえば（以下で詳述するように）持続的なパーティルームが作成されるときのために、格納される。ボックス３０４５において、当該配列はまた、当該配列がクライアントをまたいで統一されており、実質的に類似する（たとえば同じ順序をもつ）ことを保証するために安全のためワールドＩＤでソートされる。そして、ボックス３０４６ですべてが終了し、ある実装では、ボックス３０４６からの次のボックスは図３の３０６である。
【００２７】
ある実装では、上述の処理はすべてのサーバＩＤのリストを取得し、各サーバＩＤからすべてのワールドＩＤのリストを取得し、すべてのサーバをまたがるすべてのワールドを含む配列を生成し、すべてのクライアント間で同じで順序が正しいことが保証されるように安全のためその配列をソートしてもよい。
【００２８】
図５は、本願のある実施の形態に係るボックス３１０（図３）の新しい持続的なパーティルームを作成する方法を示すフローチャートを説明する。ある実装では、ボックス３１００は図３におけるボックス３０６からの続きである。ある実装では、以下で説明する方法はボックス３１００で開始するが、図５の他の場所から開始してもよく、以下で説明するボックスはまた任意の順序で実行されてもよい。ボックス３１０１において、ブックマークＵＩＤ（ユーザＩＤ）は、ネットワークプラットフォームＩＤおよび現在時刻を用いて生成される。ある実装では、ブックマークＵＩＤは、ネットワークプラットフォームＩＤと現在時刻のスナップショットを含むデータ構造である。ネットワークプラットフォームＩＤは、持続的なパーティルームソフトウェアによって利用されるネットワークにログインしている現在のユーザのユーザネームまたはログインネームである。
【００２９】
ある実装では、ブックマークＵＩＤは、おおよそ６４バイトのデータである。ブックマークＵＩＤはまた、（配列たとえばGlobalWorldlDListArrayからの）どのワールドＩＤにおいて持続的なパーティルームを生成するべきかを決定するために用いられる。ボックス３１０２において、ブックマークＵＩＤに含まれるデータをたとえば１６ビットチャンクで加算し、別のワールドリスト配列（たとえばWorldListChunkと名付ける）に格納することによって、ブックマークＵＩＤが用いて、配列からのいずれのワールドＩＤにおいて持続的なパーティルームを生成するべきかを決定する。ある実装では、ワールドリスト配列は別の１６ビット（あるいは２バイト）値であり、ブックマークＵＩＤ構造におけるすべてのバイトが加算され、たとえば、WorldListChunkと名付けられた１６ビット値として保存される。加算の際に起こるオーバーフローは任意であり、目標は、ブックマークＵＩＤ構造におけるすべてのバイトを用いてあるランダム性を取得することである。その後、ボックス３１０３において、ワールドＩＤは、たとえば、以下の式を用いることによってGlobalWorldlDListArrayからインデックスされ選択される。
WorldListChunk % Count (GlobalWorldlDListArray) = GlobalWorldlDListArrayIndex
ここでGlobalWorldlDListArraylndexは、GlobalWorldlDListArrayへのインデックスを表し、持続的なパーティルームが生成されるワールドＩＤを含む。また、％はモジュロ演算であり、CountはGlobalWorldlDListArrayの長さである。したがって、ブックマークＵＩＤはGlobalWorldlDListArrayをインデックスするために使われる。ボックス３１０４において、GlobalWorldlDListArraylndexは、GlobalWorldlDListArrayへのインデックスとして用いられ、持続的なパーティルームが生成されるワールドＩＤを含む。その後、ボックス３１０６において、この処理は終了し、ある実装では、次のボックスは図３におけるボックス３１８である。
【００３０】
図６は、本願のある実装に係る、ブックマークされたルームに参加するときの第１ルートに対して生じるボックス３１２（図３）の方法を示すフローチャートを説明する。ボックス３１２は図３のルートＡに続く。ある実装では、ボックス３１２０は図３におけるボックス３０８からの続きである。ある実装では、以下で説明する方法はボックス３１２０で開始するが、図６の他の場所から開始してもよく、以下で説明するボックスはまた任意の順序で実行されてもよい。ボックス３１２１はブックマークＵＩＤおよびGlobalWorldIDListArray内のGlobalWorldIDListArrayIndexを取得し、持続的なパーティルームがどのワールドＩＤ上で存在するべきかを決定する。ボックス３１２２において、（ある実装ではサーチ可能な属性である）ブックマークＵＩＤに対してこのワールドＩＤ上でサーチが実行され、このワールドＩＤをもつ何らかの持続的なパーティルームが既に存在するかどうかを決定する。
【００３１】
決定ボックス３１２３において、ブックマークＵＩＤをもつ何らかの持続的なパーティルームが既に存在するかどうかの分岐問い合わせがなされる。
【００３２】
決定ボックス３１２３に対する回答が「いいえ」であるなら、次のボックスはボックス３１２４であり、そこで新しい持続的なパーティルームが生成される。ボックス３１２５において、ボックス３１２４で生成された新しい持続的なパーティルームにブックマークＵＩＤで参加し、その後、当該方法はボックス３１２２に戻り、現在のブックマークＵＩＤでどれだけの持続的なパーティルームが存在するかを決定するために別のサーチを実行する。その後、ボックス３１２３および３１２６が繰り返され、ボックス３１２７で終了する。ある実装では、最初のパスで決定ボックス３１２３に対する回答は「いいえ」であってもよい。
【００３３】
しかしながら、ボックス３１２３に対する回答が「はい」であれば、次のボックスはボックス３１２６であり、上述と同じブックマークＵＩＤをもつ、ただ一つの持続的なパーティルーム（現在の持続的なパーティルーム）だけが存在するかどうかを検証する。もしただ一つの持続的なパーティルームだけが存在するなら、この方法はボックス３１２７で終了し、ある実装では図３のボックス３１８に進む。ある実装では、決定ボックス３１２３に対する回答は最初のパスで「はい」であってもよく、これは２以上のブックマークされたルームが発見されたことを意味する。
【００３４】
図７は、本願のある実装に係る、ブックマークされたルームに参加するときの第２ルートに対して生じるボックス３１４（図３）の方法を示すフローチャートを説明する。ボックス３１４は図３のルートＢに続く。ある実装では、ボックス３１４０は図３におけるボックス３０８からの続きである。ある実装では、以下で説明する方法はボックス３１４０で開始するが、図７の他の場所から開始してもよく、以下で説明するボックスはまた任意の順序で実行されてもよい。ボックス３１４１はブックマークＵＩＤおよびGlobalWorldIDListArray内のGlobalWorldIDListArrayIndexを取得し、持続的なパーティルームがどのワールドＩＤ上に存在するべきかを決定する。ボックス３１４２において、（ある実装ではサーチ可能な属性である）ブックマークＵＩＤに対してこのワールドＩＤ上でサーチが実行され、このワールドＩＤをもつ何らかの持続的なパーティルームが既に存在するかどうかを決定する。
【００３５】
決定ボックス３１４３において、ブックマークＵＩＤをもつ何らかの持続的なパーティルームが既に存在するかどうかの分岐問い合わせがなされる。
【００３６】
決定ボックス３１４６に対する回答が「いいえ」であるなら、ボックス３１４７が実行され、サーチ結果における最初の持続的なパーティルームに参加し、事実上、現在の持続的なパーティルームを破棄するか、参加した持続的なパーティルームで置換する。その後、当該方法はボックス３１４８で終了し、図３のボックス３１８に進む。ある実装では、最初のパスで決定ボックス３１４６に対する回答が「いいえ」であってもよい。
【００３７】
しかしながら、ボックス３１４３に対する回答が「はい」であれば、この方法は決定ボックス３１４６に進む。決定ボックス３１４６において、同じブックマークＵＩＤをもつ持続的なパーティルームが２以上存在する場合、現在の持続的なパーティルームがサーチ結果に現れる最初のものであるかどうかを決定する。決定ボックス３１４６に対する回答が「はい」ならば、当該方法はボックス３１４８で終了し、ある実装では、図３のボックス３１８に進む。ある実装では、ボックス３１２３に対する回答は最初のパスで「はい」であってもよく、これは２以上のブックマークされたルームが発見されたことを意味する。
【００３８】
決定ボックス３１４３に戻り、決定ボックス３１４３に対する回答が「いいえ」であるなら、当該方法はボックス３１４４に進み、新しい持続的なパーティルームが生成される。ボックス３１４５において、ボックス３１４４で生成された新しい持続的なパーティルームにブックマークＵＩＤで参加し、その後、当該方法はボックス３１４２に戻り、現在のブックマークＵＩＤでどれだけの持続的なパーティルームが存在するかを決定するために別のサーチを実行する。その後、ボックス３１４３、３１４６および３１４７が繰り返され、ボックス３１４８で終了する。
【００３９】
図８は、本願のある実装に係る、ブックマークされたルームに参加するときの第３ルートに対して生じるボックス３１６（図３）の方法を示すフローチャートを説明する。ボックス３１６は図３のルートＣに続く。ある実装では、ボックス３１６０は図３におけるボックス３０８からの続きである。ある実装では、以下で説明する方法はボックス３１６０で開始するが、図８の他の場所から開始してもよく、以下で説明するボックスはまた任意の順序で実行されてもよい。ボックス３１６１はブックマークＵＩＤおよびGlobalWorldIDListArray内のGlobalWorldIDListArrayIndexを取得し、持続的なパーティルームがどのワールドＩＤ上に存在するべきかを決定する。ボックス３１６２において、（ある実装ではサーチ可能な属性である）ブックマークＵＩＤに対してこのワールドＩＤ上でサーチが実行され、このワールドＩＤをもつ何らかの持続的なパーティルームが既に存在するかどうかを決定する。ボックス３１６３において、ブックマークＵＩＤをもつ１以上のルームが見つかったなら、サーチ結果で返された最初のルームに参加する。ある実装では、サーチ結果は、参加すべき持続的なパーティルームを特定するルームＩＤとして示され、ボックス３１６３に対して同じブックマークＵＩＤを同じ順序でいつも返す。もしそうでないなら、たとえば、GlobalWorldlDListArrayが初期化されるときに、GlobalWorldlDListArrayにおける持続的なパーティルームはルームＩＤでソートされ、ソートされたサーチ結果における最初のルームを結果的に使う。ボックス３１６３の後で、当該方法はボックス３１６４で終了し、ある実装では図３のボックス３１８に続く。
【００４０】
ある実装では、参加ゲームアクノレッジ機能が持続的なパーティルームに統合されてもよい。本質的には、参加ゲームアクノレッジは、あるゲームによって支援される機能である。参加ゲームアクノレッジ機能によって、ゲームをプレイするプレイヤは、プレイ中の現在のゲームからプレイヤの注意をそらすことなく、別のプレイヤに対するスロットを予約することができるようになる。すなわち、スロットの予約および編成が舞台裏で行われる。たとえば、プレイヤＡがあるゲームをプレイしているときに、プレイヤＢは、プレイヤＡがプレイ中のゲームと同じゲームに参加することに興味をもつ。空きスロットが利用可能になるのを待ち、空きゲームスクリーンを出しながらぶらぶら待つ代わりに、あるいは、ゲームを不必要に起動してプレイヤＢのゲームがロードされる頃にはプレイヤＡのゲームが満員になっていることがわかるだけとなってしまう代わりに、プレイヤＢは、参加ゲームアクノレッジ機能を用いて、事前にゲームのスロットを予約してもよい。プレイヤＢはまた、プレイヤＡのゲームを起動しようとする前にプレイヤＡのゲームが満員である旨のダイアログまたはダイアログボックスを取得してもよい。ゲームは、参加ゲームアクノレッジ機能を有し、プレイヤＡにプレイヤＢに対するスポットをあらかじめ予約させることなく、舞台裏で動作する。プレイヤＢにはその後、与えられたスポットが予約されるとの確認が送られる。
【００４１】
ある実装では、参加ゲームアクノレッジ機能は、ＮＰベーシックシステムを支援する。ＮＰベーシックは、ゲームプレゼンス（たとえば、友達のオンライン／オフラインステータス）の送受信を可能にするシステムであってもよく、それはまた、参加可能なゲームまたは参加不可能なゲーム（たとえばシングルプレイヤゲーム）におけるゲームプレゼンスの送受信を可能にする。参加可能なゲームにおいて、ゲームプレゼンスは、他の友達が参加できるオンラインゲームセッションの詳細を含んでもよい。パーティルームで待っているユーザがアクティブなゲームにすぐに参加することができたり、スロットが空くのをぶらぶら待たずにアクティブゲームにおいてスポットを予約できるように、参加ゲームアクノレッジ機能は、持続的なパーティルームおよび（永続性のないパーティルームを含めて）すべてのタイプのパーティルームと連動して使われてもよい。参加ゲームアクノレッジ機能を用いて、パーティルームにいるユーザらは、彼らが同じパーティにいる限り、互いのゲームにおいてゲームスロットを予約してもよい。ユーザらは、パーティメンバによってプレイされる他のゲームが満員であるか無効であるか（たとえば、ゲームセッションがもはや存在しない）を直ちに知ることができるから、参加ゲームアクノレッジ機能はさらに、任意のパーティルームにいるユーザらに対してより良いユーザ経験を提供する。ゲームに対するロード時間はときには数分に達することもあり、このため、別のパーティメンバのゲームが満員であるか無効であるかを調べる前にユーザがゲームの起動を待たなければならないなら、ユーザはいらいらすることになる。参加ゲームアクノレッジ機能は、実現しない何かのためにユーザを無用に待たせないようにすることによって、この問題を巧みに回避する。
【００４２】
ある実装では、持続的なパーティルームのアプリケーションプログラミングインタフェースが、ＮＰベーシックシステムまたはＮＰベーシックプログラムコールをサポートしてもよい。持続的なパーティルームのアプリケーションプログラミングインタフェースはまた、参加ゲームアクノレッジ機能、あるゲームが参加ゲームアクノレッジ機能をサポートするかどうか、および／または、パーティメンバが参加ゲームアクノレッジ機能をサポートするゲームをプレイしているかどうかをやりとりするために用いられるフラグ（これは各パーティメンバに対して格納される）とともに実装されてもよい。またサポートされるのは、持続的なパーティルームまたは任意の他のタイプのパーティルームのパーティメンバが与えられたゲームをプレイしているかどうか、および、ゲームのどのセッションが現在プレイされているかを説明するデータである。
【００４３】
図９Ａは、コンピュータシステム９００およびユーザ９０２を示す図である。ユーザ９０２はコンピュータシステム９００を用いて持続的なパーティルームを生成、検索、または参加する。コンピュータシステム９００は持続的なパーティルームソフトウェア９９０を格納して実行する。
【００４４】
図９Ｂは、本開示の実施の形態に係る、持続的なパーティルームソフトウェア９９０をホストするコンピュータシステム９００を示す機能ブロック図である。コントローラ９１０は、プログラム可能なプロセッサであり、コンピュータシステム９００およびその構成部品の動作を制御する。コントローラ９１０は、メモリ９２０または内蔵の制御メモリ（図示せず）から命令（例えばコンピュータプログラムの形で）をロードし、システムをコントロールするためにこれらの命令を実行する。その実行において、コントローラ９１０は、持続的なパーティルームソフトウェア９９０に持続的なパーティルームの生成、検索、または参加を可能にするようなソフトウェアシステムを提供する。あるいは、このサービスは、コントローラ９１０またはコンピュータシステム９００の別のハードウェアコンポーネントとして実装することもできる。
【００４５】
メモリ９２０は、コンピュータシステム９００の他の構成部品が用いるために一時的にデータを格納する。ある実施の形態では、メモリ９２０はＲＡＭ（Random Access Memory）として実装される。ある実施の形態では、メモリ９２０はフラッシュメモリおよび／またはＲＯＭ（Read Only Memory）のような長期または固定メモリ（permanent memory）も含む。
【００４６】
記憶装置９３０は、コンピュータシステム９００の他の構成部品によって用いられるために、たとえば持続的なパーティルームソフトウェア９９０によって使用されるデータを格納するために、一時的または長期間に渡ってデータを格納する。ある実施の形態では、記憶装置９３０はハードディスクドライブである。
【００４７】
メディア機器９４０は、リムーバブルな機器を受信（receive）して、内蔵のメディアからデータを読み出したり書き込んだりする。メディア機器９４０は、例えば光学ディスクドライブである。
【００４８】
ユーザインタフェース９５０は、コンピュータシステム９００のユーザからの入力を受け付けたり、情報をユーザに提示したりするためのコンポーネントを含む。ある実施の形態では、ユーザインタフェース９５０はキーボード、マウス、オーディオスピーカ、およびディスプレイを含む。コントローラ９１０は、ユーザからの入力を用いてコンピュータシステム９００の動作を調整する。
【００４９】
Ｉ／Ｏインタフェース９６０は外部記憶装置や追加の機器（例えばプリンタやＰＤＡ）のような１以上のＩ／Ｏデバイスを接続するための対応するＩ／Ｏポートを含む。ある実施の形態では、Ｉ／Ｏインタフェース９６０のポートは、ＵＳＢ（Universal Serial Bus）ポート、ＰＣＭＣＩＡポート、シリアルポート、および／またはパラレルポートのようなポートを含む。他の実施の形態では、Ｉ／Ｏインタフェース９６０は外部機器とワイヤレスで通信するためのワイヤレスインタフェースを含む。
【００５０】
ネットワークインタフェース９７０は、有線および／またはＲＪ−４５やイーサネット（登録商標）接続をサポートする"Ｗｉ−Ｆｉ（登録商標）"インタフェース（限定しないが８０２．１１を含む）のような無線ネットワーク接続を含む。
【００５１】
簡略化のため図９Ｂに具体的には示していないが、コンピュータシステム９００は、コンピュータシステムの典型的な追加のハードウェアおよびソフトウェア（例えば、電源、クーラー、オペレーティングシステム）を含む。他の実施の形態ではコンピュータシステムの別の構成（例えば、異なるバスまたは記憶装置の構成、あるいはマルチプロセッサの構成）を用いることができる。ある実装では、コンピュータシステムは、ソニープレイステーション（登録商標）のような次世代ゲームコンソールである。
【００５２】
ある実装では、持続的なパーティルームを用いることにより、大きなバンド幅節約が経験される。現在のパーティルーム実装によるパーティルームは破棄され、セッション毎に再生成されるため、与えられた持続的なパーティルームについての情報を格納するブックマークポインタを用いることにより、持続的なパーティルームは大きなバンド幅を節約する。さらに、持続的なパーティルームは、プレイヤがゲームをプレイするためにロビーで待っているときに使用されるスター型、グリッド型またはメッシュ型ネットワークに関連するバンド幅問題を回避する。
【００５３】
開示された実装の上述の説明は、当該分野の当業者が本願を作成し、利用することができるように提供される。これらの実装に種々の変更を加えられることは当業者には容易に理解され、ここで明らかにした一般的な原則は、本願の趣旨と範囲から逸脱することなく、他の実装に適用することができる。たとえば、明細書はオンラインゲームのコンテキストで持続的なパーティルームを説明したが、持続的なパーティルームは任意のオンラインまたはオフラインアクティビティ（イントラネット、たとえばローカルホームネットワークにおけるオフライン）とともに用いることができる。別の例では、持続的なパーティルームは、ゲームコンソールに加えて、コンピュータやモバイルデバイス上で用いることもできる。このように、本願は、ここに示された実装に限定する意図はなく、ここに開示した原則や新規の特徴に合ったもっとも広い範囲が認められるべきである。
【００５４】
本願のいろいろな実装は、電子的なハードウェア、コンピュータソフトウェア、あるいはこれらの技術の組み合わせで実現される。ある実装は、１以上のコンピューティングデバイスによって実行される１以上のコンピュータプログラムを含む。一般に、コンピューティングデバイスは１以上のプロセッサ、１以上のデータストレージコンポーネント（たとえば、揮発性または不揮発性メモリモジュールや、ハードディスクドライブ、フロッピー（登録商標）ディスクドライブ、ＣＤ−ＲＯＭドライブ、磁気テープドライブのような永続性のある光ストレージデバイスおよび磁気ストレージデバイス）、１以上の入力デバイス（たとえば、ゲームコントローラ、マウスおよびキーボード）、および１以上の出力デバイス（たとえば、ディスプレイデバイス）を含む。
【００５５】
コンピュータプログラムは、通常、永続性のあるストレージメディアに格納されており、実行時にメモリにコピーされる。少なくとも１つのプロセッサは、所定の順序でメモリからプログラムインストラクションを読み出してコードを実行する。プログラムコードを実行するとき、コンピュータは入力デバイスおよび／またはストレージデバイスからデータを受け取り、そのデータを操作し、その後、結果として得られたデータを出力デバイスおよび／またはストレージデバイスに供給する。
【００５６】
ここで述べた様々な例示的なモジュールおよび方法のステップを、電子的なハードウェア、ソフトウェア、ファームウェアあるいはこれらの組み合わせで実装するできることは、当業者であれば理解できよう。ハードウェアとソフトウェアの間でこのような入れ替えが可能であることを明確に説明するために、様々な例示的なモジュールおよび方法のステップをここでは機能性の観点から一般的に説明した。そのような機能性をハードウェアとして実装するか、ソフトウェアとして実装するかは、その特定のアプリケーションやシステム全体に課された設計上の制約に依存する。当業者は、ここに述べた機能を特定アプリケーション毎にいろいろな方法で実装することができるが、そのような実装の決定を本願の範囲からの逸脱をもたらすものとして解釈するべきではない。また、モジュールまたはステップ内に機能をグループ化したことは説明を簡単にするためである。特定の機能をあるモジュールまたはステップから別のモジュールまたはステップに移しても、本願から逸脱することはない。
【００５７】
さらに、ここに開示する実装に関連づけて説明した方法やアルゴリズムのステップは、直接ハードウエアで具体化してもよく、プロセッサで実行されるソフトウエアモジュールで具体化してもよく、あるいは両者の組み合わせで具体化してもよい。ソフトウエアモジュールは、ＲＡＭメモリ、フラッシュメモリ、ＲＯＭメモリ、ＥＰＲＯＭメモリ、ＥＥＰＲＯＭメモリ、レジスタ、ハードディスク、リムーバブルディスク、ＣＤ−ＲＯＭ、あるいはネットワークストレージメディアを含む他の形態のストレージメディアに格納することができる。典型的なストレージメディアは、プロセッサがストレージメディアに対して情報を読み書きすることができるように、プロセッサに接続される。別の例では、ストレージメディアをプロセッサに統合してもよい。プロセッサとストレージメディアをＡＳＩＣ内に搭載することもできる。
【００５８】
上述の各例のすべての特徴は本願の特定の実装において必ずしも要求されない。また、ここに提示された説明および図面は、本願によって広く考えられる主題を代表するものであると理解されるべきである。さらに、本願の範囲は当業者にとって自明な他の実装を完全に含み、本願の範囲は請求項以外の何物によっても限定されないことも理解されるべきである。
【図１】
2015525380.tif 000003
【図２】
2015525380.tif 000004
【図３】
2015525380.tif 000005
【図４】
2015525380.tif 000006
【図５】
2015525380.tif 000007
【図６】
2015525380.tif 000008
【図７】
2015525380.tif 000009
【図８】
2015525380.tif 000010
【図９Ａ】
2015525380.tif 000011
【図９Ｂ】
2015525380.tif 000012
【手続補正書】
【提出日】平成26年4月8日(2014.4.8)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
持続的なパーティルームを利用する方法であって、
コンピューティングデバイスを介して、階層的なサーバアーキテクチャにしたがってグローバル配列を初期化するステップと、
コンピューティングデバイスを介して、新しい持続的なパーティルームを生成するべきか、あるいは以前ブックマークされた持続的なパーティルームに参加するべきかどうかを決定するステップと、
コンピューティングデバイスを介して、前記グローバル配列にインデックスされた位置に前記新しい持続的なパーティルームを生成するステップと、
コンピューティングデバイスを介して、前記グローバル配列を用いて前記以前ブックマークされた持続的なパーティルームを検索することにより前記以前ブックマークされた持続的なパーティルームに参加するステップとを含む方法。
【請求項２】
前記階層的なサーバアーキテクチャは、関連づけられたサーバＩＤを有する少なくとも１つのサーバの構造を含み、前記少なくとも１つのサーバの各々は、関連づけられたワールドＩＤを有する少なくとも１つのワールドを有し、前記少なくとも１つのワールドは、関連づけられたルームＩＤを有する少なくとも１つのルームを有する請求項１の方法。
【請求項３】
前記グローバル配列は、複数のサーバをまたがるワールドＩＤを含む配列であり、前記グローバル配列は、クライアント間で統一性を保証するためにワールドＩＤでソートされる請求項２の方法。
【請求項４】
前記新しい持続的なパーティルームを生成するステップは、
ネットワークプラットフォームＩＤおよび現在時刻を用いることによりブックマークＩＤを生成するステップと、
前記ブックマークＩＤに含まれるデータを加算し、加算されたデータを新しいワールドリストチャンク値に格納するステップと、
グローバル配列インデックスおよび前記新しいワールドリストチャンク値を用いて前記グローバル配列から１つのワールドＩＤをインデックスするステップと、
前記インデックスされたワールドを用いて前記新しい持続的なパーティルームを生成するステップとを含む請求項１の方法。
【請求項５】
前記以前ブックマークされた持続的なパーティルームに参加するステップは、
前記ブックマークＩＤを有する一つの既存の持続的なパーティルームがあるかどうかを決定するために、前記グローバル配列における前記インデックスされたワールドＩＤ上で前記ブックマークＩＤを検索するステップと、
前記ブックマークＩＤを有する持続的なパーティルームが存在しないとき、前記ブックマークＩＤを有する新しい持続的なパーティルームを生成し、前記新しい持続的なパーティルームに参加するステップと、
前記ブックマークＩＤを有する任意の既存の持続的なパーティルームがあるかどうかを決定するために、前記グローバル配列における前記インデックスされたワールドＩＤ上で前記ブックマークＩＤを再度検索するステップと、
前記ブックマークＩＤを有する検索結果においてただ一つの持続的なパーティルームが返されたとき、その返された持続的なパーティルームに参加するステップとを含む請求項４の方法。
【請求項６】
前記以前ブックマークされた持続的なパーティルームに参加するステップは、
前記ブックマークＩＤを有する一つの既存の持続的なパーティルームがあるかどうかを決定するために、前記グローバル配列における前記インデックスされたワールドＩＤ上で前記ブックマークＩＤを検索するステップと、
前記ブックマークＩＤを有する持続的なパーティルームが存在しないとき、前記ブックマークＩＤを有する新しい持続的なパーティルームを生成し、前記新しい持続的なパーティルームに参加するステップと、
前記ブックマークＩＤを有する任意の既存の持続的なパーティルームがあるかどうかを決定するために、前記グローバル配列における前記インデックスされたワールドＩＤ上で前記ブックマークＩＤを再度検索するステップと、
同じブックマークＩＤを有する２以上の持続的なパーティルームが存在するとき、前記参加した新しい持続的なパーティルームが前記検索結果における最初のものであることを検証するステップと、
前記参加した新しい持続的なパーティルームが前記検索結果における最初のものでないとき、前記検索結果における最初のものである持続的なパーティルームに参加するステップとを含む請求項４の方法。
【請求項７】
前記以前ブックマークされた持続的なパーティルームに参加するステップは、
前記ブックマークＩＤを有する一つの既存の持続的なパーティルームがあるかどうかを決定するために、前記グローバル配列における前記インデックスされたワールドＩＤ上で前記ブックマークＩＤを検索するステップと、
前記ブックマークＩＤを有する２以上の持続的なパーティルームが存在するとき、前記検索結果に返された最初の持続的なパーティルームに参加するステップとを含む請求項４の方法。
【請求項８】
前記以前ブックマークされた持続的なパーティルームに参加するステップは、
前記グローバル配列をワールドＩＤでソートするステップと、
前記ブックマークＩＤを有する一つの既存の持続的なパーティルームがあるかどうかを決定するために、前記グローバル配列における前記インデックスされたワールドＩＤ上で前記ブックマークＩＤを検索するステップと、
前記ブックマークＩＤを有する２以上の持続的なパーティルームが存在するとき、前記検索結果に返された最初の持続的なパーティルームに参加するステップとを含む請求項４の方法。
【請求項９】
オンラインゲームをプレイしているメンバおよび少なくとも一人の他のメンバが、前記新しい持続的なパーティルームまたは前記以前ブックマークされた持続的なパーティルームに属することを認識するステップと、
参加ゲームアクノレッジ機能を介して、前記少なくとも一人の他のメンバが参加するべき前記オンラインゲームにおいて前記メンバに対するスポットを予約するステップと、
前記少なくとも一人の他のメンバが前記予約されたスポットにおいて前記オンラインゲームに参加することを許可するステップとをさらに含む請求項１の方法。
【請求項１０】
コンピュータプログラムを格納する非一時的なコンピュータ読み取り可能な記録媒体であって、前記コンピュータプログラムは、持続的なパーティルームを利用する方法をコンピュータに実行させる実行可能なインストラクションを含み、前記方法は、
階層的なサーバアーキテクチャにしたがってグローバル配列を初期化するステップと、
新しい持続的なパーティルームを生成するべきか、あるいは以前ブックマークされた持続的なパーティルームに参加するべきかどうかを決定するステップと、
前記グローバル配列にインデックスされた位置に前記新しい持続的なパーティルームを生成するステップと、
前記グローバル配列を用いて前記以前ブックマークされた持続的なパーティルームを検索することにより前記以前ブックマークされた持続的なパーティルームに参加するステップとを含む記録媒体。
【請求項１１】
持続的なパーティルームを利用するシステムであって、
持続的なパーティルームソフトウェアを含む少なくとも１つのコンピュータシステムと、
前記持続的なパーティルームソフトウェアと適合する持続的なパーティルーム情報を格納する少なくとも１つのサーバと、
前記少なくとも１つのコンピュータシステムと前記少なくとも１つのサーバを接続するネットワークとを含むシステム。
【請求項１２】
前記持続的なパーティルームソフトウェアは、
前記少なくとも１つのサーバによって格納された前記持続的なパーティルーム情報内で階層的なサーバアーキテクチャにしたがってグローバル配列を初期化する手段と、
新しい持続的なパーティルームを生成するべきか、あるいは以前ブックマークされた持続的なパーティルームに参加するべきかどうかを決定する手段と、
前記グローバル配列にインデックスされた位置に前記新しい持続的なパーティルームを生成する手段と、
前記グローバル配列を用いて前記以前ブックマークされた持続的なパーティルームを検索することにより前記以前ブックマークされた持続的なパーティルームに参加する手段とを含む請求項１１のシステム。
【手続補正書】
【提出日】平成27年3月19日(2015.3.19)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
持続的なパーティルームを利用する方法であって、
コンピューティングデバイスを介して、階層的なサーバアーキテクチャにしたがってグローバル配列を初期化するステップと、
コンピューティングデバイスを介して、新しい持続的なパーティルームを生成するべきか、あるいは以前ブックマークされた持続的なパーティルームに参加するべきかどうかを決定するステップと、
コンピューティングデバイスを介して、前記グローバル配列にインデックスされた位置に前記新しい持続的なパーティルームを生成するステップと、
コンピューティングデバイスを介して、前記グローバル配列を用いて前記以前ブックマークされた持続的なパーティルームを検索することにより前記以前ブックマークされた持続的なパーティルームに参加するステップとを含む方法。
【請求項２】
前記階層的なサーバアーキテクチャは、関連づけられたサーバＩＤを有する少なくとも１つのサーバの構造を含み、前記少なくとも１つのサーバの各々は、関連づけられたワールドＩＤを有する少なくとも１つのワールドを有し、前記少なくとも１つのワールドは、関連づけられたルームＩＤを有する少なくとも１つのルームを有する請求項１の方法。
【請求項３】
前記グローバル配列は、複数のサーバをまたがるワールドＩＤを含む配列であり、前記グローバル配列は、クライアント間で統一性を保証するためにワールドＩＤでソートされる請求項２の方法。
【請求項４】
前記新しい持続的なパーティルームを生成するステップは、
ネットワークプラットフォームＩＤおよび現在時刻を用いることによりブックマークＩＤを生成するステップと、
前記ブックマークＩＤに含まれるデータを加算し、加算されたデータを新しいワールドリストチャンク値に格納するステップと、
グローバル配列インデックスおよび前記新しいワールドリストチャンク値を用いて前記グローバル配列から１つのワールドＩＤをインデックスするステップと、
前記インデックスされたワールドを用いて前記新しい持続的なパーティルームを生成するステップとを含む請求項１の方法。
【請求項５】
前記以前ブックマークされた持続的なパーティルームに参加するステップは、
前記ブックマークＩＤを有する一つの既存の持続的なパーティルームがあるかどうかを決定するために、前記グローバル配列における前記インデックスされたワールドＩＤ上で前記ブックマークＩＤを検索するステップと、
前記ブックマークＩＤを有する持続的なパーティルームが存在しないとき、前記ブックマークＩＤを有する新しい持続的なパーティルームを生成し、前記新しい持続的なパーティルームに参加するステップと、
前記ブックマークＩＤを有する任意の既存の持続的なパーティルームがあるかどうかを決定するために、前記グローバル配列における前記インデックスされたワールドＩＤ上で前記ブックマークＩＤを再度検索するステップと、
前記ブックマークＩＤを有する検索結果においてただ一つの持続的なパーティルームが返されたとき、その返された持続的なパーティルームに参加するステップとを含む請求項４の方法。
【請求項６】
前記以前ブックマークされた持続的なパーティルームに参加するステップは、
前記ブックマークＩＤを有する一つの既存の持続的なパーティルームがあるかどうかを決定するために、前記グローバル配列における前記インデックスされたワールドＩＤ上で前記ブックマークＩＤを検索するステップと、
前記ブックマークＩＤを有する持続的なパーティルームが存在しないとき、前記ブックマークＩＤを有する新しい持続的なパーティルームを生成し、前記新しい持続的なパーティルームに参加するステップと、
前記ブックマークＩＤを有する任意の既存の持続的なパーティルームがあるかどうかを決定するために、前記グローバル配列における前記インデックスされたワールドＩＤ上で前記ブックマークＩＤを再度検索するステップと、
同じブックマークＩＤを有する２以上の持続的なパーティルームが存在するとき、前記参加した新しい持続的なパーティルームが前記検索結果における最初のものであることを検証するステップと、
前記参加した新しい持続的なパーティルームが前記検索結果における最初のものでないとき、前記検索結果における最初のものである持続的なパーティルームに参加するステップとを含む請求項４の方法。
【請求項７】
前記以前ブックマークされた持続的なパーティルームに参加するステップは、
前記ブックマークＩＤを有する一つの既存の持続的なパーティルームがあるかどうかを決定するために、前記グローバル配列における前記インデックスされたワールドＩＤ上で前記ブックマークＩＤを検索するステップと、
前記ブックマークＩＤを有する２以上の持続的なパーティルームが存在するとき、前記検索結果に返された最初の持続的なパーティルームに参加するステップとを含む請求項４の方法。
【請求項８】
前記以前ブックマークされた持続的なパーティルームに参加するステップは、
前記グローバル配列をワールドＩＤでソートするステップと、
前記ブックマークＩＤを有する一つの既存の持続的なパーティルームがあるかどうかを決定するために、前記グローバル配列における前記インデックスされたワールドＩＤ上で前記ブックマークＩＤを検索するステップと、
前記ブックマークＩＤを有する２以上の持続的なパーティルームが存在するとき、前記検索結果に返された最初の持続的なパーティルームに参加するステップとを含む請求項４の方法。
【請求項９】
オンラインゲームをプレイしているメンバおよび少なくとも一人の他のメンバが、前記新しい持続的なパーティルームまたは前記以前ブックマークされた持続的なパーティルームに属することを認識するステップと、
参加ゲームアクノレッジ機能を介して、前記少なくとも一人の他のメンバが参加するべき前記オンラインゲームにおいて前記メンバに対するスポットを予約するステップと、
前記少なくとも一人の他のメンバが前記予約されたスポットにおいて前記オンラインゲームに参加することを許可するステップとをさらに含む請求項１の方法。
【請求項１０】
コンピュータプログラムを格納する非一時的なコンピュータ読み取り可能な記録媒体であって、前記コンピュータプログラムは、持続的なパーティルームを利用する方法をコンピュータに実行させる実行可能なインストラクションを含み、前記方法は、
階層的なサーバアーキテクチャにしたがってグローバル配列を初期化するステップと、
新しい持続的なパーティルームを生成するべきか、あるいは以前ブックマークされた持続的なパーティルームに参加するべきかどうかを決定するステップと、
前記グローバル配列にインデックスされた位置に前記新しい持続的なパーティルームを生成するステップと、
前記グローバル配列を用いて前記以前ブックマークされた持続的なパーティルームを検索することにより前記以前ブックマークされた持続的なパーティルームに参加するステップとを含む記録媒体。
【請求項１１】
持続的なパーティルームを利用するシステムであって、
持続的なパーティルームソフトウェアを含む少なくとも１つのコンピュータシステムと、
前記持続的なパーティルームソフトウェアと適合する持続的なパーティルーム情報を格納する少なくとも１つのサーバと、
前記少なくとも１つのコンピュータシステムと前記少なくとも１つのサーバを接続するネットワークとを含むシステム。
【請求項１２】
前記持続的なパーティルームソフトウェアは、
前記少なくとも１つのサーバによって格納された前記持続的なパーティルーム情報内で階層的なサーバアーキテクチャにしたがってグローバル配列を初期化する手段と、
新しい持続的なパーティルームを生成するべきか、あるいは以前ブックマークされた持続的なパーティルームに参加するべきかどうかを決定する手段と、
前記グローバル配列にインデックスされた位置に前記新しい持続的なパーティルームを生成する手段と、
前記グローバル配列を用いて前記以前ブックマークされた持続的なパーティルームを検索することにより前記以前ブックマークされた持続的なパーティルームに参加する手段とを含む請求項１１のシステム。
【国際調査報告】
2015525380.tif 000013