(57)【特許請求の範囲】
【請求項１】
各ユーザのローカルデバイスとサーバデバイスを含むマルチユーザコンピュータシステムにおいて実行される、コンピュータシミュレーションに使用される方法であって、
各ユーザのローカルデバイスは、プロセッサ、メモリおよびユーザ入力デバイスを含み、
前記サーバデバイスの前記プロセッサが、マルチユーザセッションを開始するためのリクエストを第１ユーザのローカルデバイスから受信するステップと、
前記サーバデバイスの前記プロセッサが、第２ユーザに対するタグデータであって、前記第１ユーザを含む複数のユーザの中の１以上のユーザのローカルデバイスの前記ユーザ入力デバイスによって入力されたタグを含むタグデータを読み出すステップと、
前記サーバデバイスの前記プロセッサが、前記タグデータを評価するステップと、
前記サーバデバイスの前記プロセッサが、その評価結果にもとづいて前記第１ユーザを前記第２ユーザとマッチングさせるステップと、
前記サーバデバイスの前記プロセッサが、少なくとも前記第１ユーザおよび前記第２ユーザとともにマルチユーザセッションを開始するステップとを含み、
前記タグデータを評価するステップは、１以上のタグが、マルチユーザセッションを開始するためのリクエストをした前記第１ユーザによって入力されたものであるかどうかを判定するステップと、前記第１ユーザによって入力されたタグを重み付けファクタによって重み付けするステップとを含むことを特徴とする方法。
【請求項２】
前記タグデータを評価するステップは、前記第１ユーザによって入力され前記重み付けファクタによって重み付けされたタグを、前記１以上のユーザの中の前記第１ユーザ以外の他人によって入力され第２の重み付けファクタによって重み付けされたタグに追加するステップをさらに含むことを特徴とする請求項１の方法。
【請求項３】
前記重み付けファクタは、前記第１ユーザによって割り当てられた値に対応することを特徴とする請求項１の方法。
【請求項４】
前記サーバデバイスの前記プロセッサが、前記第１ユーザに対するプロファイルデータを読み出すステップをさらに含み、前記タグデータを評価するステップは、少なくとも部分的には前記プロファイルデータにもとづくことを特徴とする請求項１から３のいずれかの方法。
【請求項５】
前記タグデータを評価するステップは、前記第１ユーザの前記プロファイルデータおよび前記第２ユーザの前記タグデータにもとづいた少なくとも一つの値を計算するステップを含むことを特徴とする請求項４の方法。
【請求項６】
前記マッチングさせるステップは、前記計算された値にもとづいて前記第１ユーザおよび前記第２ユーザをマッチングさせるステップを含む請求項５の方法。
【請求項７】
前記マッチングさせるステップは、前記計算された値が所定の条件を満たすどうかを判定するステップと、前記所定の条件が満たされたとき、前記第１ユーザおよび前記第２ユーザをマッチングさせるステップとをさらに含む請求項５の方法。
【請求項８】
前記第１ユーザによって定義され前記プロファイルデータから読み出された所定の閾値を前記計算された値が超えるとき、前記所定の条件は満たされることを特徴とする請求項７の方法。
【請求項９】
前記第１ユーザの前記プロファイルデータは、前記第１ユーザに対するタグデータを含み、前記タグデータは前記複数のユーザによって入力されたタグに対応することを特徴とする請求項４〜８のいずれかに記載の方法。
【請求項１０】
前記タグデータを１以上のタグカテゴリにグループ分けするステップをさらに含み、前記タグデータを評価するステップは、１以上の前記タグカテゴリの前記タグデータを評価するステップを含むことを特徴とする請求項１〜８のいずれかに記載の方法。
【請求項１１】
前記１以上のタグカテゴリの各々は、それぞれがタグを表す１以上のタグデータを含み、前記タグカテゴリに表されたタグは、ユーザの特定の特徴を定義するものである請求項１０の方法。
【請求項１２】
前記タグデータを評価するステップは、タグは前記第２ユーザに対して入力された回数を判定するステップと、タグが統計的に正確であるかどうかを判定するために前記回数を所定の閾値と比較するステップとを含む請求項１〜８のいずれかに記載の方法。
【請求項１３】
前記サーバデバイスの前記プロセッサが、マルチユーザセッションの間、前記第１ユーザまたは前記第２ユーザに関するタグであって、前記第１ユーザ、前記第２ユーザまたは前記複数のユーザの別のユーザのローカルデバイスの入力デバイスによって入力されたタグを当該ローカルデバイスから受信するステップと、
前記サーバデバイスの前記プロセッサが、前記タグに対応するタグデータであって、少なくとも前記タグと前記タグを入力したユーザのアイデンティティを含むタグデータを生成するステップと、
前記サーバデバイスの前記プロセッサが、前記タグデータを格納するステップとをさらに含む請求項１〜８のいずれかに記載の方法。
【請求項１４】
前記サーバデバイスの前記プロセッサが、第３ユーザに対するタグデータであって、前記第１ユーザおよび前記第２ユーザを含む前記複数のユーザの中の１以上のユーザによって入力されたタグを含むタグデータを読み出すステップと、
前記サーバデバイスの前記プロセッサが、前記第３ユーザに対するタグデータを評価するステップと、
前記サーバデバイスの前記プロセッサが、その評価結果にもとづいて前記第１ユーザを前記第３ユーザにマッチングさせるステップと、
前記サーバデバイスの前記プロセッサが、前記第３ユーザを前記マルチユーザセッションに追加するステップとをさらに含む請求項１〜８のいずれかに記載の方法。
【請求項１５】
各ユーザのローカルデバイスとサーバデバイスを含むマルチユーザコンピュータシステムにおいて実行される、コンピュータシミュレーションで使用されるコンピュータプログラムを格納するコンピュータ読み取り可能なストレージ媒体であって、
各ユーザのローカルデバイスは、プロセッサ、メモリおよびユーザ入力デバイスを含み、
前記コンピュータプログラムは前記サーバデバイスの前記プロセッサに、
マルチユーザセッションを開始するためのリクエストを第１ユーザのローカルデバイスから受信するステップと、
第２ユーザに対するタグデータであって、前記第１ユーザを含む複数のユーザの中の１以上のユーザのローカルデバイスの前記ユーザ入力デバイスによって入力されたタグを含むタグデータを読み出すステップと、
前記タグデータを評価するステップと、
その評価結果にもとづいて前記第１ユーザを前記第２ユーザとマッチングさせるステップと、
少なくとも前記第１ユーザおよび前記第２ユーザとともにマルチユーザセッションを開始するステップとを実行させ、
前記タグデータを評価するステップは、１以上のタグが、マルチユーザセッションを開始するためのリクエストをした前記第１ユーザによって入力されたものであるかどうかを判定するステップと、前記第１ユーザによって入力されたタグを重み付けファクタによって重み付けするステップとを含むことを特徴とするコンピュータ読み取り可能なストレージ媒体。
【請求項１６】
各ユーザのローカルデバイスとサーバデバイスを含むマルチユーザコンピュータシステムにおいて実行される、コンピュータシミュレーションにおいて使用される方法であって、
各ユーザのローカルデバイスは、プロセッサ、メモリおよびユーザ入力デバイスを含み、
前記ユーザ入力デバイスは、複数のユーザの中の１以上のユーザが前記複数のユーザの中の他のユーザに対してタグを入力する機能を有し、
前記サーバデバイスの前記プロセッサが、前記複数のユーザに対するタグデータであって、前記複数のユーザに対して前記１以上のユーザのローカルデバイスの前記ユーザ入力デバイスによって入力されたタグを含むタグデータを受信するステップと、
前記サーバデバイスの前記プロセッサが、タグデータを評価するステップと、
前記サーバデバイスの前記プロセッサが、その評価結果にもとづいて前記複数のユーザの中のマルチユーザセッションを開始するためのリクエストをした第１ユーザを前記複数のユーザの中の１以上の他のユーザとマッチングさせるステップとを含み、
前記タグデータを評価するステップは、１以上のタグが、マルチユーザセッションを開始するためのリクエストをした前記第１ユーザによって入力されたものであるかどうかを判定するステップと、前記第１ユーザによって入力されたタグを重み付けファクタによって重み付けするステップとを含む方法。
【請求項１７】
前記タグデータを評価するステップは、入力された各タグのタイプを判定するステップと、入力された各タイプのタグの数を判定するステップとを含み、前記マッチングさせるステップは、入力された各タイプのタグの数にもとづいてマッチングを取るステップを含むことを特徴とする請求項１６の方法。
【請求項１８】
前記タグデータを評価するステップは、前記第１ユーザ以外の前記複数のユーザのそれぞれに対する前記第１ユーザの評価を表す値を計算するステップとを含み、前記マッチングさせるステップは、前記計算された前記複数のユーザのそれぞれに対する前記第１ユーザの評価を表す値を用いて前記第１ユーザを前記複数のユーザの１以上のユーザとマッチングさせるステップを含むことを特徴とする請求項１６の方法。
【請求項１９】
マッチングさせるステップは、前記計算された前記複数のユーザのそれぞれに対する前記第１ユーザの評価を表す値を前記第１ユーザの１以上の好みと比較するステップをさらに含む請求項１８の方法。
【請求項２０】
各ユーザのローカルデバイスとサーバデバイスを含むマルチユーザコンピュータシステムにおいて実行される、コンピュータシミュレーションで使用されるコンピュータプログラムを格納するコンピュータ読み取り可能なストレージ媒体であって、
各ユーザのローカルデバイスは、プロセッサ、メモリおよびユーザ入力デバイスを含み、
前記ユーザ入力デバイスは、複数のユーザの中の１以上のユーザが前記複数のユーザの中の他のユーザに対してタグを入力する機能を有し、
前記コンピュータプログラムは前記サーバデバイスの前記プロセッサに、
前記複数のユーザに対するタグデータであって、前記複数のユーザに対して前記１以上のユーザによって入力されたタグを含むタグデータを受信するステップと、
タグデータを評価するステップと、
その評価結果にもとづいて前記複数のユーザの中のマルチユーザセッションを開始するためのリクエストをした第１ユーザを前記複数のユーザの中の１以上の他のユーザとマッチングさせるステップとを実行させ、
前記タグデータを評価するステップは、１以上のタグが、マルチユーザセッションを開始するためのリクエストをした前記第１ユーザによって入力されたものであるかどうかを判定するステップと、前記第１ユーザによって入力されたタグを重み付けファクタによって重み付けするステップとを含むことを特徴とするコンピュータ読み取り可能なストレージ媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願の相互参照］
本願は、２００９年９月１０日に出願された「METHOD AND APPARATUS FOR MATCHING USERS IN MULTI-USER COMPUTER SIMULATIONS」と題する米国特許出願12/557,376号の継続出願であり、この米国特許出願は、２００９年６月１日に出願された「METHOD AND APPARATUS FOR MATCHING USERS IN MULTI-USER COMPUTER SIMULATIONS」と題する米国仮特許出願61/183,001号の利益を主張する。これらの開示内容の全体は両方とも参照によってここに組み入れられる。
【０００２】
［技術分野］
本発明は、一般にコンピュータシミュレーションに関し、より具体的にはマルチユーザコンピュータシミュレーションにおいてユーザのマッチングを取るプロセスに関する。
【背景技術】
【０００３】
マルチユーザコンピュータゲームのようなマルチユーザコンピュータシミュレーションでは、１以上のユーザがシミュレーションに参加することができる。そのようなマルチユーザコンピュータシミュレーションはしばしばオンラインで実行され、その結果、地理的に異なる場所にいるユーザが参加することができる。多くのマルチユーザコンピュータシミュレーションは、ユーザの異なるチームまたは仲間が互いに競争することに関係する。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上述のように、多くのマルチユーザコンピュータシミュレーションはしばしばオンラインで実行され、その結果、地理的に異なる場所にいるユーザが参加することができる。そのような多くのユーザは、数百あるいは数千マイルも互いに物理的に離れており、オンライン「コミュニティ」の外側では互いのことを知らないかもしれない。そのため、チーム（または仲間）を形成したり、対戦するユーザまたは敵チームを見つけることを目的に、ユーザが他のユーザを選んだり、他のユーザとマッチングを取ることはしばしば困難である。
【課題を解決するための手段】
【０００５】
ある実施の形態では、本発明は、コンピュータシミュレーションに使用される方法として特徴づけられ、マルチユーザセッションを開始するためのリクエストを第１ユーザから受信するステップと、第２ユーザに対するタグデータであって、前記第１ユーザを含む複数のユーザの中の１以上のユーザによって入力されたタグを含むタグデータを読み出すステップと、前記タグデータを評価するステップと、その評価結果にもとづいて前記第１ユーザを前記第２ユーザとマッチングさせるステップと、少なくとも前記第１ユーザおよび前記第２ユーザとともにマルチユーザセッションを開始するステップとを含む。
【０００６】
ある実施の形態では、本発明は、コンピュータシミュレーションで使用されるコンピュータプログラムを格納するコンピュータ読み取り可能なストレージ媒体として特徴づけられ、前記コンピュータプログラムはプロセッサベースのシステムに、マルチユーザセッションを開始するためのリクエストを第１ユーザから受信するステップと、第２ユーザに対するタグデータであって、前記第１ユーザを含む複数のユーザの中の１以上のユーザによって入力されたタグを含むタグデータを読み出すステップと、前記タグデータを評価するステップと、その評価結果にもとづいて前記第１ユーザを前記第２ユーザとマッチングさせるステップと、少なくとも前記第１ユーザおよび前記第２ユーザとともにマルチユーザセッションを開始するステップとを実行させる。
【０００７】
ある実施の形態では、本発明は、コンピュータシミュレーションにおいて使用される方法として特徴づけられ、複数のユーザの中の１以上のユーザが前記複数のユーザの中の他のユーザに対してタグを入力する能力をもつマルチユーザコンピュータシミュレーションを確立するステップと、前記複数のユーザに対するタグデータであって、前記複数のユーザに対して前記１以上のユーザによって入力されたタグを含むタグデータを受信するステップと、タグデータを評価するステップと、その評価結果にもとづいて前記複数のユーザの中の第１ユーザを前記複数のユーザの中の１以上の他のユーザとマッチングさせるステップとを含む。
【０００８】
ある実施の形態では、本発明は、コンピュータシミュレーションで使用されるコンピュータプログラムを格納するコンピュータ読み取り可能なストレージ媒体として特徴づけられ、前記コンピュータプログラムはプロセッサベースのシステムに、複数のユーザの中の１以上のユーザが前記複数のユーザの中の他のユーザに対してタグを入力する能力をもつマルチユーザコンピュータシミュレーションを確立するステップと、前記複数のユーザに対するタグデータであって、前記複数のユーザに対して前記１以上のユーザによって入力されたタグを含むタグデータを受信するステップと、タグデータを評価するステップと、その評価結果にもとづいて前記複数のユーザの中の第１ユーザを前記複数のユーザの中の１以上の他のユーザとマッチングさせるステップとを実行させる。
【０００９】
本発明の実施の形態の原理が用いられた具体的な実施の形態を説明する以下の詳細な説明とそれに伴う図面とを参照することによって、本発明の様々な実施の形態の特徴および利点をより良く理解することができる。
【図面の簡単な説明】
【００１０】
本発明のいくつかの実施の形態にかかる上記および他の態様、特徴、および利点は、以下の図面とともに提示される以下のより具体的な説明からさらに明らかになる。
【００１１】
【図１】本発明の実施の形態にしたがってマルチユーザシミュレーションにおいてユーザをマッチングさせる方法１００の一般的なフローを示す。
【図２】本発明のある実施の形態にしたがってマルチユーザセッションを開始する方法２００のフローダイアグラムを示す。
【図３】本発明のある実施の形態にしたがってユーザに対するタグデータを評価するプロセス３００のフローダイアグラムを示す。
【図４】本発明のいくつかの実施の形態にしたがって１以上のタグに対して割合値Ｑを計算するプロセス４００の詳細なフローダイアグラムを示す。
【図５】本発明の１以上の実施の形態に係るマルチユーザセッションのユーザに対する１以上の例示的なタグデータファイルを示す。
【図６】本発明のある実施の形態にしたがって、ユーザが他のユーザに対してタグを入力することのできるゲームセッションの例示的な表示を示す。
【図７】本発明の１以上の実施の形態にしたがってユーザにタグを割り当てる方法７００のフローダイアグラムを示す。
【図８】本発明の実施の形態にしたがってここに示され、記載された方法および／または技術を実行し、実装し、遂行するために使われるプロセッサベースのシステムを示すブロックダイアグラムである。
【図９】本願の方法と装置が実装される環境の例示的な実施の形態を示す。
【００１２】
図面のいくつかの表示を通じて、対応する参照文字は対応するコンポーネントを示す。当業者であれば、図のエレメントは簡潔で明確にするために図示されているのであって必ずしも縮尺通りに描かれていないことを理解するだろう。たとえば、図の各エレメントの大きさは、本発明の様々な実施の形態の理解を向上させるために他のエレメントと比較して誇張しているかもしれない。それに加えて、商業的に実現可能な実施の形態において有用または必要である一般的であるがよく理解されたエレメントは、本発明の様々な実施の形態がかえってわかりづらくならないように、表示されていない。
【発明を実施するための形態】
【００１３】
以下の説明は、限定する意味に取られるべきではなく、例示的な実施の形態の一般的な原理を説明する目的のためになされているに過ぎない。本発明の範囲はクレームを参照して決定されるべきである。
【００１４】
本発明の実施の形態は、マルチユーザコンピュータゲームのようなマルチユーザコンピュータシミュレーションにおいてユーザのマッチングを取る方法を提供する。ゲームでペアを組んだり、チーム（または仲間）を形成する目的、または、対戦するユーザまたは敵チームを探す目的でマッチングがなされる。一般に、ある実施の形態は、オンラインゲームユーザが仲間のユーザにフォークソノミー（folksonomy）タグを設定することができるメカニズムを提供する。これらのタグは、ゲームのペア探しのためのマッチングアルゴリズムにおけるファクタとして用いることができる。
【００１５】
たとえば、ある実施の形態では、ユーザは、自分が出会った他のユーザに対してタグを入力してもよい。タグは、プレイヤおよび／または彼／彼女の振る舞いについての記述であるラベルを含んでもよい。そのようなタグの例には、これに限定されないが、「良いスポーツマン」、「悪いスポーツマン」、「負け惜しみを言う人」、「泣き虫」、「泣き言を言う人」、「チームプレーヤー」、「ボールホグ（ボール独り占め）」、「目立ちたがり屋」、「ずるをする人」などが含まれる。ゲーム環境はその後、入力されたタグをフォークソノミーデータベースなどに格納する。フォークソノミーは、ときにはファジーで主観的で互いに関連づけることが難しい項目にもとづいているため、フォークソノミーデータベースまたは他のシステムはタグを互いに関連づけ、いろいろなタグとタグ付け者の「精度」に関して統計的な判定をしてもよい。たとえば、ある実施の形態では、与えられたユーザに対してタグが入力された回数を判定し、その回数を所定の閾値と比較してタグが統計的に正確かどうかを判定することによって、タグデータを評価してもよい。すなわち、ある実施の形態では、そのようなテストを満足することは、タグが統計的に正確であると把握されるか信じられることを示し、その結果、タグは統計的に正確であるものとして参照されるようになる。ある実施の形態では、タグは他の基準にもとづいて判定され、統計的に正確であると把握されるかどうか、したがってタグを統計的に正確であるものとして参照してもよいかどうかが判定される。
【００１６】
１以上の実施の形態において、スペリングまたは単語の用法によって異なる密接に関連するタグ間の関連付けを行ってもよい。いったんタグの閾値に到達すると、ユーザは、「タグ率（tag quotient）」のような値にもとづいてマッチングを取る過程で他のプレイヤを選択することができる。タグ率の一例は後述する。その後、タグ率はマッチングプロセスに送られ、マッチングプロセスがタグ率を重み付けし、ゲームプレイに対する１以上のマッチングの望ましさを計算するために他のゲームセレクションの重み付け値のすべてにタグ率を加える。このように、フォークソノミーは、コンピュータゲームのようなコンピュータシミュレーションにおいてプレイヤを選択するために実施の形態において用いられる。
【００１７】
以下の議論では、本発明の実施の形態は、ビデオゲームのようなマルチユーザまたはマルチプレイヤコンピュータゲームに関して記述される。しかしながら、ここに述べるシステムおよび方法は、コンピュータシミュレーションおよび／またはメディア再生システムで用いることもできることを理解すべきである。
【００１８】
図１は、本発明の実施の形態に係る、マルチユーザシミュレーションにおいてユーザをマッチングさせるための方法１００の一般的なフローを示す。この方法１００は、コンピュータゲームのようなコンピュータシミュレーションで用いられてもよい。ステップ１１０において、システムはマルチユーザセッションを確立する。たとえば、ある実施の形態では、マルチユーザコンピュータゲームセッションが確立される。次にステップ１２０において、システムは複数のユーザに対するタグデータを受信する。ある実施の形態では、システムがタグデータを受信する対象の複数のユーザは、ゲームサーバにいるすべてのユーザを含む。ある実施の形態では、システムがタグデータを受信する対象のユーザは、特定のグループまたはチームのメンバである。
【００１９】
システムはその後、ステップ１３０に進み、受信されたタグデータが評価される。ある実施の形態では、タグデータを評価するために、システムはユーザがタグ付けされた回数を判定する。たとえば、システムは、他の複数のユーザがあるユーザのために入力したタグを取り出し、同じまたは類似の意味をもつすべてのタグを決定し、タグが入力された回数を判定する。別の実施の形態では、システムは、１以上のユーザに対して入力されたタグに基づいた値を判定する。ある実施の形態では、評価するステップは、他のユーザによって入力された各ユーザに対するタグをそのユーザの好み（プレファレンス）と比較することを含む。ある実施の形態では、タグデータを用いてどのユーザがお互いにプレイするのにもっとも適しているかを決定する。したがって、評価するステップは、共通の特徴をもつユーザのグループを決定することを含む。タグデータの評価は、図３に関して以下でさらに述べる。
【００２０】
次に、システムはステップ１４０に進み、ステップ１３０において実行された評価の結果にもとづいて、第１ユーザを他のユーザとマッチングさせる。ある実施の形態では、ステップ１４０において、システムが複数のユーザを互いにマッチングさせるのは、このグループのユーザが共通の特徴をもつときである。ある実施の形態では、その後、これらのユーザはマルチユーザセッションに割り当てられてゲームをプレイする。ある実施の形態では、ユーザをそのユーザの好みにもとづいて他のユーザとマッチングさせる。ある実施の形態では、ユーザの好みはデータベースに格納される。別の実施の形態では、マルチユーザセッションが開始されるときに好みがユーザによってユーザ入力デバイスを用いて入力される。ある実施の形態では、第１ユーザを第１ユーザのスキルレベルと技能にもとづいて他のユーザとマッチングさせる。
【００２１】
図２は、本発明のある実施の形態に係る、マルチユーザセッションを開始するための方法２００のフローダイアグラムを示す。ステップ２１０において、システムは、第１ユーザからマルチユーザセッションを開始するためのリクエストを受信する。ある実施の形態では、このリクエストは、ユーザがゲームへの参加を求めるときに受信される。ある実施の形態では、ユーザはただちにセッションを開始することを要求する。別の実施の形態では、ユーザは将来のあるときにゲームセッションを開始することをリクエストするかもしれない。ある実施の形態では、システムはそのユーザに対するユーザプロファイルデータを読み出す。次にステップ２２０において、システムは第２ユーザに対するタグデータを読み出す。ある実施の形態では、第２ユーザに対するタグデータはリモートデータベースに格納される。別の実施の形態では、タグデータは、ゲームセッションを開始するゲームサーバをホスティングするマシーンにローカルに格納される。ある実施の形態では、第２ユーザはゲームサーバ上の複数のユーザの一人である。ある実施の形態では、タグデータは１以上のユーザに割り当てられたタグを含む。ある実施の形態では、システムがタグデータを受信する対象の第２ユーザは、ゲームサーバに会員登録したユーザの一人である。ある実施の形態では、第２ユーザは特定のグループまたはチームのメンバである。ある実施の形態では、たとえば、第２ユーザは、第１ユーザによって指定された時間にセッションに参加することのできるユーザの一人である。ある実施の形態では、ユーザによって指定された時間は現時刻に対応してもよく、他の実施の形態では、ユーザがセッションを開始したい将来のある時刻をユーザが指定してもよい。
【００２２】
プロセス２００はその後ステップ２３０に進み、システムは第２ユーザに対するタグデータを評価する。ある実施の形態では、プロセスは最初に、各タグが第２ユーザに割り当てられた回数を決定する。ある実施の形態では、この情報はタグデータの一部として利用可能であるが、他の実施の形態では、システムがタグデータを解析してすべてのタグを見つける。システムはタグを解析して、同じ単語のバリエーションであるか、類字する意味をもつすべてのタグを見つけ、タグの使用回数を決定する際にそれらのタグを同じタグとして扱う。ある実施の形態では、このステップの過程でシステムはさらにタグデータにもとづいて値を計算する。ある実施の形態では、たとえば、この値は、第１ユーザによる第２ユーザの評価（perspective）に対応する。別の実施の形態では、この値は、コミュニティ内の第２ユーザの全般的な評判に対応する。さらに別の実施の形態では、この値は、コミュニティ内のユーザの特定の仲間またはグループの評価に対応する。たとえば、ある実施の形態では、第１ユーザは１以上のグループに属し、この値は、１以上のこれらのグループまたは仲間による第２ユーザの全般的な評判に対応する。１以上の実施の形態において、この計算された値は、ユーザ、コミュニティ全体および／または１以上のチームまたは仲間による第２ユーザの評判を表す割合に対応する。
【００２３】
さらに、ステップ２３０においてシステムはタグデータの評価結果を１以上の条件と比較する。ある実施の形態では、たとえば、計算された値は第１ユーザによって指定された１以上の条件と比較される。ある実施の形態では、たとえば、この条件はユーザによってあらかじめ定められる。別の実施の形態では、ユーザはマウス、キーボード、ゲームコントローラなどの入力デバイスを用いて条件を入力する。たとえば、ある実施の形態では、ステップ２１０においてユーザがセッションを開始するリクエストをしたときに、ゲームサーバがユーザに１以上の条件を入力するように促してもよい。他の実施の形態では、条件はシステムによって定義される。さらに、ある実施の形態では、条件はコミュニティが定義する条件であってもよい。別の実施の形態では、条件はユーザが属するか、提携する仲間またはグループにしたがって定義される。条件は中央のサーバにローカルに格納されてもよく、リモートの場所に格納されてもよい。データを評価するプロセスは図３に関して以下にさらに詳しく述べる。
【００２４】
次に、ステップ２４０において第１ユーザと第２ユーザが以前のステップにおけるタグデータの評価にしたがってマッチングされる。たとえば、ある実施の形態では、以前のステップにおいてある条件が充足されていると判定されるなら、第１ユーザと第２ユーザがマッチングされる。プロセスはステップ２５０に進み、システムが第１ユーザとマッチングされるべき他のユーザを見つけ続けることを望むかどうかが決定される。もしシステムがより多くのユーザを探し続けることが決定されるなら、プロセスはステップ２２０に戻り、タグデータが次のユーザのために読み出される。ステップ２５０においてシステムが自分は第１のユーザとマッチングされるべきユーザを探し終えたと決定するまでこのプロセスは繰り返され、セッションは、ステップ２４０において第１ユーザとマッチングされたすべてのユーザとともに開始される。たとえば、ある実施の形態では、システムはステップ２６０に進み、これ以上ユーザが残っていないか、あるいは十分な数のユーザがセッションに割り当てられたと判定する。あるいは、セッションは、ユーザがセッションの開始をリクエストするステップ２１０において、またはステップ２１０の後に開始され、ユーザは一人ずつセッションに割り当てられる。
【００２５】
ある実施の形態では、システムが評価するユーザ数は、システムがリクエストを受信した時点でサーバにログインしており、その時点でセッションに参加することのできるユーザの数に等しい。別の実施の形態では、ユーザは開始すべきセッションを前もってリクエストしておき、サーバに会員登録したすべてのユーザが考慮され、セッションを開始する特定の時間にログインするようにユーザに招待状を送ることができるようにする。ある実施の形態では、ステップ２５０は、すべての適格のユーザが精査されたときに終わる。別の実施の形態では、十分な数のユーザがゲームにマッチングされるとすぐにステップ２５０は終了する。別の実施の形態では、すべてのユーザが評価され、どのユーザが第１ユーザにもっとも適するかが決定されるまでシステムはユーザのマッチングを取るのを待つ。
【００２６】
図３は、本発明のある実施の形態に係る、ユーザに対するタグデータを評価するためのプロセス３００のフローダイアグラムを示す。ステップ３１０において、第１ユーザに対するユーザプロファイルデータが読み出される。ある実施の形態では、ユーザプロファイルデータがあらかじめ定められ、ローカルに、またはリモートの場所に格納される。さらに、あるいはそれとは別に、ユーザがいったんセッションを開始するかセッションに参加することをリクエストすると、ユーザはそのようなデータの入力を促され、ユーザはユーザ入力デバイスを用いてそのような情報を入力してもよい。ある実施の形態では、第１ユーザは、図２のステップ２１０においてマルチユーザセッションを開始することをリクエストするユーザである。１以上の実施の形態において、ユーザプロファイルは、ユーザに関する情報を含む。たとえば、ユーザプロファイルデータは、ユーザが自分のチームに入れたいと望むユーザのタイプ、ユーザが対戦したいユーザのタイプ、ユーザが関連づけられたくないユーザのリストなどのユーザの好みを含む。
【００２７】
さらなる実施の形態において、ユーザプロファイルは、そのユーザに対するタグデータも含む。ある実施の形態では、ユーザプロファイルデータに含まれるタグデータは、ステップ２２０においてユーザに対して読み出したタグデータに類似する。ある実施の形態では、ユーザプロファイルデータはさらに、そのユーザをゲームサーバに会員登録した他のユーザにマッチングさせるために使われる重み付けファクタ値を含む。たとえば、ある実施の形態では、ユーザプロファイルデータは、ユーザおよびコミュニティ全体の両方に対する重み付けファクタを含む。別の実施の形態では、ユーザプロファイルデータは、仲間またはグループに対する重み付けファクタを含む。たとえば、プロファイルデータは、第１ユーザが属するか、連携する仲間またはグループに対する重み付けファクタを含む。ある実施の形態では、重み付けファクタは、ユーザ自身およびコミュニティによって入力されたタグにユーザが割り当てられる重みに対応する。
【００２８】
ある例示的な実施の形態では、ユーザプロファイルデータは、ユーザとコミュニティがそれぞれ他のユーザを観る方法に貢献することを望む度合い（重み）に対応する重みファクタｗＵおよびｗＥを含む。付加的に、あるいは、代替的に、ユーザプロファイルデータは、ユーザが連携するグループまたは仲間が他のユーザを観る方法に貢献することをユーザが望む度合いに対応する重みファクタＷｃを含む。他の実施の形態では、ユーザプロファイルデータは、第１ユーザが関連づけられたいと望む他のユーザのホワイトリストを含んでもよい。ユーザプロファイルは第１ユーザが関連づけられることを望まない他のユーザのブラックリストを含んでもよい。ある実施の形態では、プロセス３００のステップを実行する中央サーバまたはプロセッサにユーザプロファイルデータを格納してもよい。他の実施の形態では、ユーザプロファイルデータをリモートデータベースに格納してもよい。
【００２９】
ステップ３２０において、プロセスは続いて、第２ユーザに対するタグデータを読み出す。ある実施の形態では、第２ユーザは、ゲームサーバに会員登録した複数のユーザの一人である。別の実施の形態では、第２ユーザは、第１ユーザが関連づけられることを望むユーザのホワイトリストに含まれる多数のユーザの一人である。さらに別の実施の形態では、ユーザは、第１ユーザがゲームセッションを開始することをリクエストした時間にゲームサーバにログオンしているか、ログオン可能な多数のユーザの一人である。ある実施の形態では、タグデータは、第１ユーザを含む他のユーザによって第１ユーザに対して入力されたタグを含む。たとえば、ある実施の形態では、タグデータは、単に、ユーザに関連づけられたタグリストである。さらなる実施の形態では、タグデータにはタグに関するさらなる情報が含まれる。
【００３０】
たとえば、タグデータには、そのユーザに対してタグを入力した各人のアイデンティティがタグとともに含まれる。別の実施の形態では、タグデータは、あるタグがそのユーザに対して入力された回数を含む。タグが入力された時間のようなさらなる情報、タグを入力したユーザのアイデンティティ、タグが入力されたコンテキスト、たとえばタグ付けされたユーザがゲームに勝ったか負けたか、そのタグはタグ付けされたユーザのゲームを観戦するかともにプレイするユーザによって入力されたかどうかなどのコンテキストもまたタグデータとともに入力される。ある実施の形態では、１以上のユーザに対するタグデータは中央サーバにローカルに格納される。ある実施の形態では、複数のユーザに対するタグデータは１以上のリモートデータベースに格納される。複数のユーザＰ１〜Ｐ１３に対するタグデータの例がある実施の形態にしたがって図５に示される。タグデータはデータベース内に格納された分離したファイルとして示されており、各タグファイルは、ユーザＰ１〜Ｐ１３のそれぞれに対して入力されたタグを含む。
【００３１】
ある実施の形態では、Ｐ１３は、ゲームセッションを開始するリクエストをするユーザに対応する。図５に示されるように、タグデータは各ユーザに対して格納される。たとえば、ユーザＰ１はタグＡで３回、タグＢで５回、タグＣで６回タグ付けされた。ある実施の形態では、たとえば、各タグ、たとえば、タグＡからタグＨは、ユーザに割り当てることのできる特定の特徴に対応する。ある実施の形態では、タグは、プレイヤの態度、プレイのクラス、プレイのスタイル、技能などの異なるカテゴリに由来する。ある実施の形態では、たとえば、ありうるタグには、良いスポーツマン、悪いスポーツマン／負け惜しみを言う人、グリーファー（Griefer）、泣き虫、泣き言を言う人、チームプレーヤー、ボールホグ（ボール独り占め）、目立ちたがり屋、クラウチャー（Croucher）、ずるをする人、狙撃者など、プレイヤの態度を記述する用語が含まれてもよい。さらなる実施の形態では、タグには、破壊、乱闘、重たい銃、暴力、魔法使いなど、異なるユーザに対するプレイのクラスを説明する用語が含まれてもよい。ある実施の形態では、タグには、サポート、ディフェンス、リーダー、ガードなど異なるユーザに対するプレイのスタイルを説明する用語が含まれてもよい。
【００３２】
次にステップ３３０において、ステップ３１０および３２０で読み出されるデータを用いて値を計算する。ある実施の形態では、その値は、各タグがユーザに割り当てられた回数である。ある実施の形態では、これには、同義語をもつか、同じカテゴリに属するすべてのタグを含んでもよい。ある実施の形態では、その値は、第１ユーザによる第２ユーザの評価を示す割合に対応するか、その割合を含む。別の実施の形態では、その値は、コミュニティ内の第２ユーザの全般的な評判を表す割合に対応する。さらに別の実施の形態では、その値は、第１ユーザが属するか連携するグループまたは仲間内の第２ユーザの全般的な評判を表す割合に対応するか、その割合を含む。ある実施の形態では、ゲームプレイに対するマッチングの望ましさを計算するために、割合の値を含むいくつかの異なるゲームセレクション値を計算して組み合わせる。そのような割合値の一例を計算するための方法を図４に関して以下で詳述する。
【００３３】
次にステップ３４０において、システムは、計算された値が１以上の条件を満たすかどうかを決定する。ある実施の形態では、たとえば、計算された値をユーザが特定する１以上の条件と比較してもよい。ある実施の形態では、たとえば、ステップ３１０の過程でユーザプロファイルデータの一部として条件を読み出す。別の実施の形態では、ユーザは、マウス、キーボード、ゲームコントローラなどを用いて条件を入力してもよい。他の実施の形態では、システムが条件を定義してもよい。さらに、ある実施の形態では、情感は、中央サーバにローカルに格納されるか、リモートの場所に格納されたコミュニティ定義の条件であってもよい。
【００３４】
ステップ３４０において１以上の条件が満足されることが判定されるなら、プロセスはステップ３５０に進み、以前のステップにおけるタグデータの評価にしたがって第１ユーザおよび第２ユーザのマッチングが取られる。ユーザのマッチングが取られた後、あるいは、ステップ３４０において、条件を満足していないと判定された場合、プロセスは続けてステップ３６０に進み、システムが第１ユーザに対するマッチングを探し続けることを望むかどうかが判定される。システムがより多くのユーザを探し続けることを決定するなら、プロセスはステップ３２０に戻り、タグデータが次のユーザに対して読み出される。システムがステップ３６０においてこれ以上のユーザが残っていない、あるいは十分な数のユーザがセッションに割り当てられたと判定するまで、このプロセスは繰り返される。ある実施の形態では、考慮されるユーザ数は、システムがリクエストを受信した時点でサーバにログオンしているか、その時点でセッションに参加可能なユーザの数に等しい。別の実施の形態では、ユーザは開始すべきセッションを前もってリクエストしておき、サーバに会員登録したすべてのユーザが考慮され、セッションを開始する特定の時間にログインするようにユーザに招待状を送ることができるようにする。さらに別の実施の形態では、ユーザの部分集合だけが考慮される。たとえば、ある実施の形態では、ある基準、たとえば、ゲームモード、ユーザレベルなどを満足するユーザが考慮される。ある実施の形態では、プロセス３００は、十分な数のユーザが特定のセッションにマッチングされるとすぐに終了する。別の実施の形態では、十分な数のユーザが割り当てられたときにプロセス３００は終了せずに、最良のマッチングを判定するためにすべての適格なユーザについて考慮してもよい。さらに別の実施の形態では、あるレートの最適マッチングをもつ十分な数のユーザが割り当てられたときにプロセス３００は終了してもよい。
【００３５】
図４は、本発明のいくつかの実施の形態にしたがって、１以上のタグに対する割合値Ｑを計算するためのプロセス４００の詳細なフローダイアグラムを示す。ステップ４１０において、セッションを開始することをリクエストしたユーザとマッチングされる可能性のあるユーザに対するタグデータを受信する。上述のように、１以上の実施の形態において、タグデータは、ユーザに対して１以上の他のユーザによって入力された１以上の異なるタグを含む。プロセスはその後ステップ４２０に続き、第１タグが読み出される。ある実施の形態では、ステップ４２０の間、ユーザに対するタグデータは、あるタグがユーザに対して入力された回数を計算するために使われる。ある実施の形態では、このステップには、スペルミスしたエントリ、短縮したエントリ、同じまたは類似の意味をもつエントリ、および／またはコミュニティ定義の標準にしたがって同じ重要性をもつ単語などを含めて、類似するタグをグループ化する工程を含む。ある実施の形態では、システムは、用語集における１以上のタグを調べて、タグが他のタグとともにグループ化されるかどうかを判定する。タグ間の関連付けは、ユーザ定義、グループ定義、コミュニティ定義の標準にもとづいて構築される。別の実施の形態では、タグが入力される回数を計算するステップまたはタグをグループ化するステップが前もって実行され、読み出されたタグデータがいつでも使用できる状態になる。
【００３６】
ある実施の形態では、ユーザはある特徴にもとづいてマッチングをリクエストしてもよく、あるいは、システムがユーザの特定の特徴にもとづいてマッチングを実行してもよい。たとえば、ある実施の形態では、ユーザは、特定の特徴、スキル、および／または、たとえばディフェンダ、狙撃者などのタイプをもつプレイヤとチームを作りたいかもしれない。別の実施の形態では、ユーザは、特定の特徴、スキル、および／または、たとえばディフェンダ、狙撃者などのタイプをもつユーザと対戦したいかもしれない。そのような実施の形態では、ステップ４３０において、システムは、読み出されたタグが、ユーザがリクエストしたタイプまたはシステムが望んだタイプであるかどうかを判定する。たとえば、ある実施の形態では、ユーザは、良いディフェンダであるユーザとプレイしたいかもしれない。そのような実施の形態では、システムは、ユーザを他のユーザにマッチングさせる際に良いディフェンダであるユーザに関連づけられたタグが分析されているかどうか注意して見る。そのような実施の形態では、ステップ４３０においてタグがリクエストされたものであるとシステムが判定した場合、ステップ４４０に進み、Ｑｔａｇがタグに対して計算される。さもなければ、タグがリクエストされたタイプでないと判定される場合、プロセスはステップ４６０に進み、他のタグがユーザに対して利用可能であるかどうかを判定する。ある実施の形態では、どんな特定の特徴も指定されていない場合、プロセス４００はステップ４３０をスキップし、ステップ４２０におけるタグの読み出しの後、ステップ４４０に進む。
【００３７】
次に、ステップ４４０において、第１タグまたはタグのグループに対して割合値Ｑが計算される。ある実施の形態では、割合を計算する時点でシステムが重み付けファクタ値にアクセスする。ある実施の形態では、図３に関して上述のように、重み付けファクタを読み出されたユーザプロファイルデータの一部として読み出す。別の実施の形態では、マウス、キーボード、ゲームコントローラなどのユーザ入力デバイスを用いて、ユーザはセッションを開始するプロセスのある時点で重み付けファクタ値を入力する。たとえば、ある実施の形態では、ユーザがセッションの開始をリクエストするとき、ユーザは、この特定のセッションに対して重み付けファクタ値を要求するメッセージによって促される。ある実施の形態では、重み付けファクタはローカルに格納される。他の実施の形態では、臨界値が１以上のリモートデータベースに格納される。ある実施の形態では、割合値Ｑは次の等式にしたがって計算される。
【００３８】
【数１】
0005550720.tif 000002
【００３９】
ここでＴは選択されたタグラベルであり、ｗは重み付けファクタであり、Ｕはユーザが潜在的プレイヤをタグ付けしたかどうかを示し、Ｅはプレイヤ上の公衆（"Everyone's"）全体のタグを示す。ある実施の形態では、等式は追加項を含む。たとえば、ある実施の形態では、ユーザは、メンバであるか連携している特定のグループまたはすべてのグループによるユーザの評判に対して強い好みを示したかもしれない。それゆえ、この等式はさらにｗｃとＣＴを含んでもよい。ある実施の形態では、これらの項は、各グループに対して含まれていてもよく、あるいは、これらの項は、ユーザによって選択されたすべてのグループにしたがったユーザの評価の全体的な算定であってもよい。
【００４０】
ある実施の形態では、ＵＴおよびＥＴの一つまたは両方は０または１の値をもつ。ここで、１は、公衆が潜在的なユーザに対して選択された１つまたは複数のタグを入力したことがあることを示し、０は、潜在的なユーザが公衆、ユーザおよび／または異なるグループまたは仲間からその特定のタグを受け取ったことがないことを示す。ある実施の形態では、所定数のユーザが特定のタグを用いて潜在的なユーザをタグ付けした後、値が１になる。閾値となる数は、セッションを開始するリクエストをしたユーザがユーザ入力デバイスを通して入力することができ、あるいはそのユーザのユーザプロファイルの一部として読み出すことができる。別の実施の形態では、この数をシステムが決定し、ローカルにマシーンに格納するか、リモートデータベースに格納してもよい。別の実施の形態では、ＵＴおよびＥＴの一つまたは両方は百分率の値である。ある実施の形態において、ＵＴおよびＥＴの百分率値はそれぞれ、ユーザまたは公衆がタグを入力した回数を表す。たとえば、タグが２５回入力されるなら、その値は２５に等しい。図３に関して上述したように、様々な実施の形態では、重み付けファクタｗＥ、ｗＵおよび／または他の重み付けファクタは、セッション開始をリクエストするユーザのユーザプロファイルデータの一部として読み出されるか、ユーザ入力デバイスを通してユーザによって入力されるか、システムによって定義されるか、あるいは、ユーザ、グループまたはコミュニティ定義の値である。さらに、この値は１以上の上述の実施の形態にしたがって計算を実行するマシーンにローカルに格納されるか、リモートの格納場所に格納される。
【００４１】
特定のタグに対してＱ値を計算した後、プロセスはステップ４５０に進み、タグに対するＱ値に対応するＱｔａｇが、考慮されるすべてのタグに対するすべてのＱ値の総計に追加される。次に、システムは、Ｑｔａｇ値が計算されていない潜在的なユーザのタグデータとともに読み出された他のタグがあるかどうかを判定する。そのユーザに対して他のタグが利用可能であるなら、プロセスはステップ４２０に戻り、次のタグが読み出される。あるいは、ステップ４６０において、潜在的なユーザに対して他のどんなタグも存在しないことが判定されるなら、システムは、考慮されたすべてのタグに対するすべてのＱｔａｇ値の総計に対応するＱｏｖｅｒａｌｌを出力する。ある実施の形態では、この割合はその後、マッチングプロセスに送られ、マッチングプロセスがその割合を重み付けし、ゲームプレイに対するそのマッチングの望ましさを計算するために他のゲームセレクションの重み付けした値のすべてにその割合が足される。
【００４２】
タグはゲームセッションの中でユーザが入力してもよい。図６は、本発明の実施の形態にしたがって、ユーザが他のユーザに対してタグを入力することができるゲームセッションの例示的なディスプレイを示す。スクリーンはゲームを表示するディスプレイエリア６１０を含む。スクリーンは、ゲームにおける各ユーザに対するタグフィールド６２０ａ〜６２０ｎを含む。ある実施の形態では、ボタンの代わりに、スクリーンは、別のユーザをタグ付けしたいユーザがそのユーザの名前を入力することのできるテキストフィールドを含む。別の実施の形態では、タグ付けする人は、ドロップダウンリストから自分がタグ付けしたい名前を選択してもよい。次に、ユーザはタグフィールド６４０に選択されたユーザに対するタグを入力することができる。ある実施の形態では、タグフィールドは、ユーザがタグを入力できるテキストフィールドである。ある実施の形態では、タグフィールドは、オートフィルオプションの他、スペルチェック、同義語および他のテキストオプションをもつ。別の実施の形態では、スクリーンはタグルックアップボタン６３０を含む。ある実施の形態では、ユーザがルックアップボタンを選択すると、タグリストが現れ、そのタグリストからユーザは入力すべき１以上のタグを選択することができる。ある実施の形態では、タグフィールドはドロップダウンメニューであり、そのメニューからユーザは１以上のタグを選択することができる。ある実施の形態では、ユーザとともにゲームをプレイしている他のユーザによってタグは入力される。他の実施の形態では、たとえプレイヤの一人ではなくても、ゲームを観察しているすべてのユーザによってタグが入力される。
【００４３】
図７は、本発明の１以上の実施の形態にしたがってユーザにタグを割り当てるための方法７００のフローダイアグラムを示す。当該ユーザに対して一人または複数のユーザがタグを入力した後、ステップ７１０においてタグはシステムによって受信される。ある実施の形態において、ゲームサーバに会員登録しているか、１以上の他のユーザとのゲームを観戦しているかプレイしているすべてのユーザがタグを入力することができる。ある実施の形態では、システムは１以上のユーザに対してタグ付けの権利を制限してもよい。たとえば、ある実施の形態では、登録されたユーザだけが他のユーザをタグ付けできる。別の実施の形態では、態度が悪いか信頼できないタグ付け者であると判定される特定のユーザはタグ付けを許可されないか、あるいは、彼らのタグは考慮されないか格納されない。
【００４４】
たとえば、ある実施の形態では、ユーザは態度の悪いユーザであるとして他のユーザによって報告される。別の実施の形態では、ユーザは、特定のユーザまたはユーザのグループがそのユーザによってタグ付けされたくないことを示している場合、それらのユーザに対してタグを入力する権限は与えられない。ある実施の形態では、ステップ７１０において、オプションとして、システムは、タグを入力するユーザがタグ入力の権限のあるユーザの一人であるかどうかを調べてもよい。システムがユーザにはその権限がないと判定するなら、システムは、そのユーザに通知するメッセージを出力するか、あるいはそのタグを単に無視してもよい。たとえば、ある実施の形態では、ユーザがタグ入力の権限がないと判定されるなら、システムはユーザに通知し、ユーザにゲームサーバにおいて登録するオプションを与えてもよい。
【００４５】
システムはその後、ステップ７２０に進み、受信したタグに対応するタグデータを生成する。ある実施の形態では、生成されたタグデータは単に入力されたタグである。別の実施の形態では、タグデータはさらなる情報を含む。たとえば、ある実施の形態では、タグデータは、タグ付けする人のアイデンティティおよび／またはタグが入力されたコンテキストを含む。別の実施の形態では、ステップ７２０において、システムは１以上のカテゴリにタグを分類するプロセスを実行する。システムはまた、これらのタグを相互に関連づけて、いろいろなタグとタグ付けする人の「精度」についての統計的な判定をしたり、スペリングまたは単語の用法によって異なる密接に関連するタグ間の関連付けを行ったりする。たとえば、ある実施の形態では、タグがステップ７２０において受信された後、システムは、より広く使用されるか、コミュニティスタンダードとして強制されている入力タグの同義語を検索し、その同義語をタグに対する識別子として用いてもよい。
【００４６】
さらなる実施の形態では、タグ付けする人は、入力されたタグに対して使用された同義語が、事実、ユーザがタグによって意味するところであるかどうかを検証するためのメッセージで促される。他の実施の形態では、タグのスペリングを検証したり、タグのフォーマットを変更するなどしてもよい。タグデータが生成された後、システムはその後、タグ付けされたユーザに対してタグデータを格納することに進む。タグデータは、プロセス７００を実行するマシーンにローカルに格納されるか、あるいは、後で読み出すためにリモートの格納場所に格納される。ある例示的な実施の形態では、システムは、後で読み出すためにフォークソノミーデータベースにタグを格納してもよい。ある実施の形態では、タグは、データベースに格納された後または格納される直前に相互に関連づけられてもよい。ある実施の形態では、いったんタグの閾値に到達すると、ユーザは、上述の方法にしたがって、マッチングを取る過程で他のプレイヤを選択することができる。
【００４７】
タグ付けのために使われるのに加えて、あるいはその代わりに、ある実施の形態では、タグはまた、他の目的のためにシステムが使用する。たとえば、ある実施の形態では、タグはロードバランスのために使用される。ある実施の形態では、システムは、異なるスキルまたは技能をもつユーザを、そのスキルにもとづいて機能または利用可能性を制限することによってマッチングさせてもよい。ある実施の形態では、たとえば、システムはユーザに対して入力されたタグにもとづいてロードバランスする。たとえば、ある実施の形態では、ユーザが入力したタグを分析することによって、システムは、ユーザはゲームに一層熟練しているエリアを判定することでき、ゲームセッションの負荷をバランスするためにそのユーザの能力のある部分を取り除いてもよい。ある実施の形態では、たとえば、システムは、ユーザの能力を制限することによってバランスの取れたゲームを生成し、それによってマッチングシステムを高速化することができる。
【００４８】
ある実施の形態では、タグはデータマイニングに対して利用してもよい。たとえば、タグデータを用いて、広告あるいは他の目的のために、どのようなタイプの人々がゲームをプレイするかを判定してもよい。ある実施の形態では、タグにもとづいたマイニングは、ゲームに対するマーケティングデータを生成したり、特定のゲームのユーザに広告を向けるのに有益である。マイニングはまた、不正行為の検出、不正行為の相関関係のために行われてもよい。
【００４９】
ここに記載される方法および技術は、多くの異なるタイプのシステム上で利用され、実装されおよび／または実行される。図８を参照すると、そのような任意の実装に用いられるシステム８００が示されている。例えば上述のコンソール、ゲームコンソール、エンタテインメントシステム、プロセッサベースのシステム等の、上述の任意のシステムまたは装置を実装するために、１以上のシステム８００の構成要素が用いられる。しかしながら、システム８００またはその一部分を利用することは必須ではない。
【００５０】
例として、システム８００は、ＣＰＵ（central processing unit）８２０、ＧＰＵ（graphics processing unit）８３０、ＲＡＭ（random access memory）８４０、およびディスクドライブのような大容量ストレージ８５０、ディスプレイのようなユーザインタフェース８６０を含んでもよい。ＣＰＵ８２０および／またはＧＰＵ８３０は、ここに記載される方法および技術のステップと様々なプログラムコンテンツを実行あるいは実行を支援するために用いられてもよく、画像、ゲーム、シミュレーション、描写表現、コミュニティ、インタフェースなどがユーザインタフェース８６０に表示されてもよい。システム８００はさらにユーザ入力デバイス８１０を含んでもよい。ユーザ入力デバイスは、キーボード、マウス、ゲームコントローラなどの任意のユーザ入力デバイスを含んでもよい。システム８００はプロセッサベースのシステムの一例を含む。
【００５１】
大容量ストレージユニット８５０は任意のタイプのコンピュータ読み取り可能なストレージや記録媒体を含む。コンピュータ読み取り可能なストレージや記録媒体は大容量ストレージユニット８５０内に固定されているか、あるいは大容量ストレージユニット８５０は、ＤＶＤ（digital video disk）、ブルーレイ（登録商標）ディスク、ＣＤ（compact disk）、ＵＳＢストレージデバイス、フロッピーディスク（登録商標）、または他のメディアのような着脱可能なストレージ媒体８７０をオプションとして含んでもよい。例えば、大容量ストレージユニット８５０は、ディスクドライブ、ハードディスクドライブ、フラッシュメモリデバイス、ＵＳＢストレージデバイス、ブルーレイ（登録商標）ディスクドライブ、ＤＶＤドライブ、ＣＤドライブ、フロッピーディスクドライブ（登録商標）等を含む。大容量ストレージユニット８５０または着脱可能なストレージ媒体８７０は、ここに記載された方法および技術を実装するコードを格納するために用いられてもよい。
【００５２】
したがって、着脱可能なストレージ媒体８７０は、大容量ストレージユニット８５０とともにオブションとして利用されてもよく、上述のタグデータを格納し、セッションの開始を実行し、評価し、ユーザのマッチングを取るためのコード等の、ここに記載された方法および技術を実装するコードを格納するために用いられる。しかしながら、例えばＲＡＭ８４０や大容量ストレージユニット８５０のような任意のストレージデバイスが、そのようなコードを格納するために用いられてもよい。例えば、このような任意のストレージデバイスは、コンソール、システム、コンピュータ、あるいは他のプロセッサベースのシステムにここに記載された方法、コード、および／または技術の任意のステップを実行ないし遂行させるコンピュータプログラムを具体化するための有形のコンピュータストレージ媒体として機能する。さらに、ＲＡＭ８４０や大容量ストレージユニット８５０のような任意のストレージ装置は、任意の必要とされるデータベースを格納するために用いられてもよい。
【００５３】
ある実施の形態では、上述した１以上の実施の形態、方法、アプローチ、および／または技術がプロセッサベースのシステムによって実行されるコンピュータプログラムで実装されてもよい。例としては、そのようなプロセッサベースのシステムには、プロセッサベースのシステム８００、またはコンピュータ、エンタテインメントシステム、ゲームコンソール、グラフィックスワークステーション等が含まれる。このようなコンピュータプログラムは上述した方法および／または技術における様々なステップおよび／または特徴を実行するために用いられる。すなわち、コンピュータプログラムは、プロセッサベースのシステムに上述の機能を実行および達成させるよう構成される。例えば、そのようなコンピュータプログラムは、タグデータを生成し、タグデータにもとづいてプレイヤのマッチングを取るなどのための上述のステップまたは技術の任意の実施の形態を実装するために用いられる。他の例としては、そのようなコンピュータプログラムは、上述した実施の形態、方法、アプローチ、および／または技術の任意の１以上を使用する任意のタイプのツールやユーティリティを実装するために用いられる。ある実施の形態では、コンピュータプログラムは、ビデオゲーム、ＲＰＧ（role-playing game）、あるいは他のコンピュータシミュレーションを含む。ある実施の形態では、コンピュータプログラムは、ビデオゲーム、ロールプレイングゲーム（ＲＰＧ）、または他のコンピュータシミュレーションを含んでもよい。ある実施の形態では、コンピュータプログラム内のプログラムコードモジュール、ループ、サブルーチンなどは、上述の方法および／または技術の様々なステップおよび／または特徴を実行するために用いられる。ある実施の形態では、コンピュータプログラムは、例えばここに記載されるコンピュータ読み取り可能なストレージや記録媒体等のコンピュータ読み取り可能なストレージや記録媒体に格納される。
【００５４】
したがって、ある実施の形態では、本発明は、コンピュータに入力するためのコンピュータプログラムを具体化するための媒体を含むコンピュータプログラム製品を提供する。この媒体に具体化されたコンピュータプログラムは、コンピュータに、ここで述べた実施の形態、方法、アプローチ、および／または技術のいずれかに関する１以上のステップを含むステップを実行させる。たとえば、ある実施の形態では、本発明は、コンピュータシミュレーションで使用されるコンピュータプログラムを格納する記録媒体を提供する。このプログラムは、複数のステップをプロセッサベースのシステムに実行させる。その複数のステップは、複数のユーザの中の任意のユーザが、その複数のユーザの中の他の任意のユーザに対してタグを入力する能力をもつマルチユーザコンピュータシミュレーションを実行するステップと、複数のユーザに対するタグデータを受信するステップと、タグデータを評価するステップと、その評価結果にもとづいて複数のユーザの中の第１ユーザを複数のユーザの中の１以上の他のユーザとマッチングさせるステップとを含み、タグデータは、複数のユーザの中の任意のユーザに対して入力された任意のタグを含む。
【００５５】
図９は、本発明の方法および装置が、たとえば、マルチプレイヤゲームにおいて実装される環境の例示的な実施例を示す。システム９００は、ローカルデバイス９１０ａ、９１０ｂ、９１０ｃ、サーバデバイス９３０、およびネットワーク９２０を含む。ネットワーク９２０は、ローカルデバイス９１０ａ、９１０ｂ、９１０ｃを互いに、かつサーバ９３０に接続する。複数のローカルデバイス９１０ａ、９１０ｂ、９１０ｃは、ランダムアクセスメモリのようなメモリ９１４ａ、９１４ｂ、９１４ｃに結合されたプロセッサ９１２ａ、９１２ｂ、９１２ｃを含むようにそれぞれが構成される。サーバデバイス９３０はまたメモリ９３４に接続されたプロセッサ９３２を含む。ある実施の形態においてメモリ９３４はコンピュータ読み取り可能な媒体に結合されるか、コンピュータ読み取り可能な媒体を含む。ある実施の形態において、プロセッサ９１２ａ、９１２ｂ、９１２ｃ、および／または９３２は、コンピュータ読み取り可能な媒体に格納されたプログラムインストラクションを実行する。ある実施の形態では、メモリ９３４は、１以上の付加的な外部または内部デバイス、たとえば、これに限定するのではないが、データベースのような二次的データストレージエレメントに結合される。別の実施の形態では、メモリ９３４は、上述のようにリプレイおよび／またはメタデータを格納するためのデータベースとして機能する。ある実施の形態では、ローカルデバイス９１０ａ、９１０ｂ、９１０ｃおよびサーバデバイス９３０は上述の図８にしたがうプロセッサベースのシステム８００に類似する。
【００５６】
本明細書を通じて「ある実施の形態」、「一つの実施の形態」または同様の言葉を用いるときは、その実施の形態に関連して述べられた特定の特徴、構造または特性が、本発明の少なくとも一つの実施の形態に含まれることを意味する。このように、本明細書を通じて「ある実施の形態において」、「一つの実施の形態において」という語句および同様の言葉が現れるときは、同じ実施の形態について言及するものであるが、必ずしもそうでなくてもよい。
【００５７】
さらに、本発明の上述の特徴、構成または特性は、１以上の実施の形態において任意の好適な方法で組み合わせることができる。以下の説明において、発明の実施の形態を完全に理解するために、プログラミング、ソフトウェアモジュール、ユーザセレクション、ネットワークトランザクション、データベースクエリー、データベース構造、ハードウェアモジュールなどの例示のように、数多くの特定の詳細が述べられる。しかし、当業者であれば、本発明は、その特定の詳細がなくても実施することができ、あるいは、他の方法、コンポーネント、素材などを用いて実施することもできることを理解するであろう。
【００５８】
ここに開示される発明は具体的な実施の形態、例およびその適用を使って記載されているが、請求項に記載されている本発明の範囲を離れることなく、当業者によって多数の修正および変形を加えることができる。
【図１】
0005550720.tif 000003
【図２】
0005550720.tif 000004
【図３】
0005550720.tif 000005
【図４】
0005550720.tif 000006
【図５】
0005550720.tif 000007
【図６】
0005550720.tif 000008
【図７】
0005550720.tif 000009
【図８】
0005550720.tif 000010
【図９】
0005550720.tif 000011