(57)【要約】  ユーザのゲームプレイ行動を監視しゲーム環境におけるゲームプレイデータ（３１４）を報告するためのコンピュータによって実施される方法、データ処理システム及びコンピュータプログラムプロダクト。ユーザ（３００）によるゲームの開始に応答して、ユーザ（３００）のゲーミング特性を監視するためのソフトウェアエージェント（３０１）を提供する。また、本ソフトウェアエージェント（３０１）は、ゲーミング特性に基づいてゲームステート（７１８）を識別する。ソフトウェアエージェント（３０１）は、ゲームステート（７１８）が変更されると（４０８）、ユーザ（３００）のゲームプレイデータ（３１４）を収集し、このゲームプレイデータ（３１４）を処理のために報告する。
2009509647.tif 000002
【特許請求の範囲】
【請求項１】
ユーザのゲームプレイ行動を監視しゲーミング環境におけるユーザのゲームプレイデータを報告するための、コンピュータによって実施される方法であって、
ユーザによるゲームの開始に応答して、上記ユーザのゲーミング特性を監視することと、
上記ゲーミング特性に基づいてゲームステートを識別することと、
上記ゲームステートが変更されたときに、上記ユーザのゲームプレイデータを収集することと、
上記ゲームプレイデータを処理のために報告することとを含むコンピュータによって実施される方法。
【請求項２】
上記ゲーミング特性は、ユーザのマウスの移動、ユーザのジョイスティックの操作、ユーザのキーボードの操作、ユーザのアクティブな処理、メモリの使用及びプロセッサの利用を含む請求項１記載のコンピュータによって実施される方法。
【請求項３】
上記監視するステップ、識別するステップ、収集するステップ及び報告するステップは、ソフトウェアエージェントによって実行される請求項１記載のコンピュータによって実施される方法。
【請求項４】
上記識別するステップは、
ユーザ入力に基づいてゲーミング特性を検証することと、
ルールセットに基づいてゲーミング特性を検証することを含む請求項１記載のコンピュータによって実施される方法。
【請求項５】
上記ルールセットは監視される各特性に関する限界値を含む請求項１記載のコンピュータによって実施される方法。
【請求項６】
上記報告するステップは、
上記ゲームプレイデータをクライアントのクライアントゲームデータファイルに蓄積することと、
上記クライアントにおいてネットワーク接続が利用可能でありかつしきい値に達しているときに、上記ゲームプレイデータを、安全な通信プロトコルを介してサーバに送信することを含む請求項１記載のコンピュータによって実施される方法。
【請求項７】
上記ゲームプレイデータをデータベースに更新することと、
上記データベースから動的なデータを受信することとをさらに含み、
上記動的なデータはストリーミングの統計、チャットへの参加、チャットバディのステータス、ローカルユーザのステータス及びリアルタイムのパフォーマンスの統計を含む請求項６記載のコンピュータによって実施される方法。
【請求項８】
上記ゲームプレイデータは、ユーザがゲームをして費やした時間の長さ、時間帯、ゲームの名称及びパフォーマンスの統計を含む請求項１記載のコンピュータによって実施される方法。
【請求項９】
サポートされる複数のゲームのリストを、ゲームリストファイルから読み出すことをさらに含み、
上記ゲームリストファイルは、上記サポートされるゲームのリストを、上記ユーザがオンラインプロファイルにおいて更新するときに生成されかつ修正され、
上記方法は、上記ゲームの上記ゲームリストから新しいゲームオブジェクトを生成することにより、上記ゲームを開始することをさらに含む請求項１記載のコンピュータによって実施される方法。
【請求項１０】
上記ユーザによって開始されるチャットの複数の機能を管理することをさらに含み、
上記チャットの機能は、グループチャットに参加することと、グループチャットを開始することと、他のユーザをブロックすることと、他のユーザの参加を排除することと、他のユーザの参加を追加することと、他のユーザにメッセージを送信することと、他のユーザからメッセージを受信することとを含む請求項１記載のコンピュータによって実施される方法。
【請求項１１】
ユーザのゲームプレイ行動を監視し、ユーザのゲームプレイデータを報告するゲーミングシステムであって、
バスと、
コンピュータにおいて利用可能なコードを含む記憶装置と、
上記バスに接続される通信ユニットと、
ユーザ入力装置と、
上記バスに接続される処理ユニットとを備え、
上記処理ユニットは、上記コンピュータにおいて利用可能なコードを実行することにより、ユーザによるゲームの開始に応答して上記ユーザのゲーミング特性を監視し、上記ゲーミング特性に基づいてゲームステートを識別し、上記ゲームステートが変更されたときに、上記ユーザのゲームプレイデータを収集し、上記ゲームプレイデータを処理のために報告するゲーミングシステム。
【請求項１２】
上記処理ユニットは、上記コンピュータにおいて利用可能なコードを実行することにより、上記ゲーミング特性に基づいてゲームステートを識別することにおいて、上記コンピュータにおいて利用可能なコードを実行することにより、ユーザ入力に基づいてゲーミング特性を検証し、ルールセットに基づいてゲーミング特性を検証する請求項１１記載のゲーミングシステム。
【請求項１３】
上記処理ユニットは、上記コンピュータにおいて利用可能なコードを実行することにより上記ゲームプレイデータを処理のために報告することにおいて、上記コンピュータにおいて利用可能なコードを実行することにより、クライアントのクライアントゲームデータファイルに上記ゲームプレイデータを蓄積し、上記クライアントでネットワーク接続が利用可能でありかつしきい値に達しているときに、上記ゲームプレイデータを、安全な通信プロトコルを介してサーバに送信する請求項１１記載のゲーミングシステム。
【請求項１４】
上記処理ユニットは、上記コンピュータにおいて利用可能なコードを実行することにより上記ゲームプレイデータを処理のために報告することにおいて、さらに上記コンピュータにおいて利用可能なコードを実行することにより上記ゲームプレイデータをデータベースに更新し、上記データベースから動的なデータを受信し、
上記動的なデータはストリーミングの統計、チャットへの参加、チャットバディのステータス、ローカルユーザのステータス及びリアルタイムのパフォーマンスの統計を含む請求項１４記載のゲーミングシステム。
【請求項１５】
上記処理ユニットはさらに、上記コンピュータにおいて利用可能なコードを実行することにより、サポートされる複数のゲームのリストを、ゲームリストファイルから読み出し、
上記ゲームリストファイルは、上記ユーザがオンラインプロファイルにおいて上記サポートされるゲームのリストを更新するときに生成されかつ修正され、
上記処理ユニットは上記ゲームの上記ゲームリストから新しいゲームオブジェクトを生成することにより、上記ゲームを開始する請求項１１記載のゲーミングシステム。
【請求項１６】
上記処理ユニットはさらに、上記コンピュータにおいて利用可能なコードを実行することにより上記ユーザにより開始されるチャットの複数の機能を管理し、
上記チャットの機能は、グループチャットに参加することと、グループチャットを開始することと、他のユーザをブロックすることと、他のユーザの参加を排除することと、他のユーザの参加を追加することと、他のユーザにメッセージを送信することと、他のユーザからメッセージを受信することとを含む請求項１１記載のゲーミングシステム。
【請求項１７】
ユーザのゲームプレイ行動を監視しかつゲーミング環境におけるユーザのゲームプレイデータを報告するための、コンピュータにおいて利用可能なプログラムコードを有する、コンピュータにおいて利用可能な媒体を備えたコンピュータプログラムプロダクトであって、
ユーザによるゲームの開始に応答して、上記ユーザのゲーミング特性を監視するためのコンピュータにおいて利用可能なプログラムコードと、
上記ゲーミング特性に基づいてゲームステートを識別するためのコンピュータにおいて利用可能なプログラムコードと、
上記ゲームステートが変更されたときに、上記ユーザのゲームプレイデータを収集するためのコンピュータにおいて利用可能なプログラムコードと、
上記ゲームプレイデータを処理のために報告するためのコンピュータにおいて利用可能なプログラムコードとを備えたコンピュータプログラムプロダクト。
【請求項１８】
上記ゲーミング特性に基づいてゲームステートを識別するための上記コンピュータにおいて利用可能なプログラムコードは、
ユーザ入力に基づいてゲーミング特性を検証するためのコンピュータにおいて利用可能なプログラムコードと、
ルールセットに基づいてゲーミング特性を検証するためのコンピュータにおいて利用可能なプログラムコードとを備えた請求項１７記載のコンピュータプログラムプロダクト。
【請求項１９】
上記ゲームプレイデータをデータベースに更新するためのコンピュータにおいて利用可能なプログラムコードと、
上記データベースから動的なデータを受信するためのコンピュータにおいて利用可能なプログラムコードとをさらに備え、
上記動的なデータはストリーミングの統計、チャットへの参加、チャットバディのステータス、ローカルユーザのステータス及びリアルタイムのパフォーマンスの統計を含む請求項１７記載のコンピュータプログラムプロダクト。
【請求項２０】
上記ユーザによって開始されるチャットの複数の機能を管理するためのコンピュータにおいて利用可能なプログラムコードをさらに備え、
上記チャットの機能はグループチャットに参加することと、グループチャットを開始することと、他のユーザをブロックすることと、他のユーザの参加を排除することと、他のユーザの参加を追加することと、他のユーザにメッセージを送信することと、他のユーザからメッセージを受信することとを含む請求項１７記載のコンピュータプログラムプロダクト。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般にゲーミング環境に関する。特に、本発明はゲーミング環境におけるゲームプレイに関する。さらに具体的には、本発明はユーザのゲームプレイ行動の監視及びゲーミング環境におけるゲームプレイデータの報告に関する。
【背景技術】
【０００２】
インターネットの発達により、世界中のゲーマーは位置及び／又は時差の制約なしにゲームをオンラインで対話式にプレイすることができる。オンラインのゲームコミュニティ（gaming community）を介して、ゲーマーはゲームに関する情報のみならず、例えば使い勝手、所望の機能などのゲーミングに関する他の関心事を共有することができる。これらのゲームを製造するゲーム会社にとっては、ゲーマーの関心事は、ゲームのマーケティング、開発及び製造に関する有益な情報源となる。また、ゲーマーの関心事は、企業が販売傾向を明らかにする手助けとなる統計を作り上げる。有益な統計は、例えば、地理に基づく販売数量、料金及び売上高に対する時価総額の倍率（price to sales ratio）を含む。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ゲーマーメトリックス（GamerMetrics）等のゲームコミュニティソフトウェアは、ゲーム会社のためにゲーマーの関心事の分析を行う。ゲーマーメトリックスは、アイエヌジーエンターテイメント社（ING Entertainment, Inc.）から入手可能な製品である。ゲーマーメトリックスは、主として、ゲームの購入サイクルの局面からゲーマーのアクティビティを取り扱う。ゲーマーメトリックスは、ゲーマーがゲームを抽出（サンプル）してから、当該ゲームの購入へとゲーマーの決定を誘う要素を収集する。しかしながら、ゲーマーメトリックスは、ゲーマーのアクティビティを販売時点までしか監視しないので、ゲームが購入されてしまうと、ゲーマーメトリックスによってそれ以上何の分析も実行されない。他のオンラインゲームコミュニティソフトウェアは、販売時点後も幾つかのデータを提供するが、ゲームがプロモーション中であるか、プレイに料金がかかるかの何れかであるので、このデータの大部分は偏っている。さらに、現行のゲームコミュニティソフトウェアでは真のゲームアクティビティは検証されない。例えば、月決め加入のユーザはゲームサーバに２日間ログインしても、アクティブにゲームをするのは２時間だけかもしれない。
【０００４】
販売前のデータは、ゲーム会社にとってどのようなタイプのゲームを製造すべきかを決定する上で重要であるが、将来の販売傾向を監視する意味では、販売後のデータも同じく重要である。販売後のデータは、販売後のゲーマーの行動の分析、及びゲーマーがゲームを購入した後に起きたことの分析を可能にする。販売後のデータによって回答を得ることのできる問題点としては、そのゲームがプレイされる程度、そのゲームがプレイされる時間、販売以降のプレイされる期間（何日、何週間、何か月、何年）、誰がゲームをするか（人口統計（デモグラフィック））及びゲームをする場所（地理）が含まれる。
【０００５】
さらに、販売後のデータは、ゲームの評判及び寿命を見抜く手助けをする。この販売後の情報は、続編を開発すべきかどうか、マーケットにおける他の互換性のあるゲームとの相関性、ターゲットにすべき視聴者のタイプ、ゲームタイトルの将来的開発の遂行、将来のゲームがターゲットとする人口統計の詳細、このような将来的な開発のタイミング、並びに将来のゲーム開発の予算及びマーケティング上の制約を決定する上で有益である場合がある。現時点では、このような販売後のデータを提供する解決方法は存在しない。また、ゲーマーがオフラインである間にゲームプレイデータを監視するための解決方法も存在しない。ゲーマーメトリックスのような解決方法は、ゲームがオンラインでプレイされている間の分析しか提供しない。さらに、他の解決方法は、プロモーション中のゲームをプレイしている２人以上のゲーマーのゲームプレイデータしか提供しないので、単独プレーヤの偏りのないゲームプレイデータを提供する解決方法も存在しない。
【０００６】
さらに、ＩＧＮのゲーマーメトリックス及びゲームスパイ（Gamespy）のようなサービスにゲーマーが参加することは、そのサービスが料金をとって提供されるという事実によって妨げられる。ゲーマーは、単独又は複数のプレーヤの環境に関わらずこれらのサービスに加入するかもしれない。問題は、これらのゲーマーによるアクティビティから収集されるデータもやはり、ＩＧＮが運営しかつ促進しているネットワークサーバをソースとしていることにある。ゲーム使用法の大部分は、オフライン使用である可能性もある個人使用、一人用のオンライン専用ネットワーク使用及び複数のプレーヤによるゲーミングに属する。
【課題を解決するための手段】
【０００７】
本発明の態様は、ユーザのゲームプレイ行動を監視しかつゲーミング環境におけるゲームプレイデータを報告するためのコンピュータによって実施される方法、データ処理システム及びコンピュータプログラムプロダクトを提供する。ユーザのゲーミング特性は、ゲームの開始時に監視される。ゲームステート（状態）は、ゲーミング特性に基づいて識別される。ユーザのゲームプレイデータはゲームステートに任意の変化があったときに収集され、上記ゲームプレイデータが処理用に報告される。
【０００８】
本発明の特性であると確信される新規の特徴は、添付の特許請求の範囲に記載されている。しかしながら、本発明自体並びにその使用の好適な態様、その別の目的及び優位点は、例示的な実施形態に関する以下の詳細な説明を添付の図面に関連して参照することにより、最もよく理解されるであろう。
【発明を実施するための最良の形態】
【０００９】
図１〜図２は、本発明の実施形態が実装されてもよいデータ処理環境として提示された例示的な図である。図１〜図２が単なる例示であり、本発明の態様又は実施形態が実装されてもよい環境に関して限定を主張又は含意するためのものでない点は認識されるべきである。描かれている環境に対しては、本発明の精神及び範囲を逸脱することなく多くの変形が行われてもよい。
【００１０】
次に、諸図を参照すると、図１は、本発明の態様が実装されてもよいデータ処理システムのネットワークの図的記述である。ネットワークデータ処理システム１００は、本発明の実施形態が実装されてもよいコンピュータのネットワークである。ネットワークデータ処理システム１００は、ネットワークデータ処理システム１００内に共に接続される様々な装置及びコンピュータ間に通信リンクを提供するように用いられる媒体であるネットワーク１０２を含む。ネットワーク１０２は、有線、無線通信リンク又は光ファイバケーブル等の接続部を含んでもよい。
【００１１】
描かれている例では、サーバ１０４及びサーバ１０６は記憶装置ユニット１０８と共にネットワーク１０２に接続される。また、クライアント１１０、１１２及び１１４はネットワーク１０２に接続される。クライアント１１０、１１２及び１１４は、例えばパーソナルコンピュータ又はネットワークコンピュータであってもよい。描かれている例では、サーバ１０４は、ブートファイル、オペレーティングシステムの画像及びアプリケーション等のデータを、クライアント１１０、１１２及び１１４に提供する。本例では、クライアント１１０、１１２及び１１４はサーバ１０４のクライアントである。サーバ１０４は、例えば、クライアント１１０、１１２及び１１４におけるユーザによってプレイされるゲームをホストするゲーマーサーバであってもよい。ネットワークデータ処理システム１００は、図示されていない追加のサーバ、クライアント及び他の装置を含んでもよい。
【００１２】
描かれている例では、ネットワークデータ処理システム１００は、互いに通信し合うためのプロトコルである通信制御プロトコル／インターネットプロトコルスイート（TCP/IP suite）を用いるネットワーク及びゲートウェイの全世界的な集合体を表す、ネットワーク１０２を有するインターネットである。インターネットの中核には、データ及びメッセージをルーティングする何千もの商用、政府関連、教育及び他のコンピュータシステムから成る、主要なノード又はホストコンピュータ間の高速データ通信回線であるバックボーンがある。当然ながら、ネットワークデータ処理システム１００は、例えばイントラネット、ローカルエリアネットワーク（ＬＡＮ）又は広域ネットワーク（ＷＡＮ）等の幾つかの異なるタイプのネットワークとして実装される場合もある。図１は例示を意図するものであり、本発明の異なる実施形態のアーキテクチャを限定するためのものではない。
【００１３】
次に、図２を参照すると、本発明の態様が実装されてもよいデータ処理システムのブロック図が示されている。データ処理システム２００は、本発明の実施形態の処理を実装するコンピュータにおいて利用可能なコード又は命令が位置づけられてもよい、図１におけるサーバ１０４又はクライアント１１０等のコンピュータの一例である。
【００１４】
描かれている例では、データ処理システム２００は、ノースブリッジ／メモリコントローラハブ（ＮＢ／ＭＣＨ）２０２と、サウスブリッジ及び入力／出力（Ｉ／Ｏ）コントローラハブ（ＳＢ／ＩＣＨ）２０４とを含むハブアーキテクチャを用いる。処理ユニット２０６、メインメモリ２０８及びグラフィックスプロセッサ２１０は、ＮＢ／ＭＣＨ２０２に接続される。グラフィックスプロセッサ２１０は、アクセラレーテッドグラフィックスポート（ＡＧＰ）を介して、ＮＢ／ＭＣＨ２０２に接続されてもよい。
【００１５】
描かれている例では、ローカルエリアネットワーク（ＬＡＮ）アダプタ２１２がＳＢ／ＩＣＨ２０４に接続される。オーディオアダプタ２１６、キーボード及びマウスアダプタ２２０、モデム２２２、読み取り専用メモリ（ＲＯＭ）２２４、ハードディスクドライブ（ＨＤＤ）２２６、ＣＤ−ＲＯＭドライブ２３０、ユニバーサルシリアルバス（ＵＳＢ）ポート及び他の複数の通信ポート２３２及び複数のＰＣＩ／ＰＣＩｅ装置２３４は、バス２３８及びバス２４０を介してＳＢ／ＩＣＨ２０４に接続する。ＰＣＩ／ＰＣＩｅ装置は、例えばイーサネットアダプタ、アドインカード及びノートブックコンピュータのＰＣカードを含んでもよい。ＰＣＩはカードバスコントローラを用いるが、ＰＣＩｅはカードバスコントローラを用いない。ＲＯＭ２２４は、例えばフラッシュバイオス（ＢＩＯＳ）であってもよい。
【００１６】
ＨＤＤ２２６及びＣＤ−ＲＯＭドライブ２３０は、バス２４０を介してＳＢ／ＩＣＨ２０４に接続する。ＨＤＤ２２６及びＣＤ−ＲＯＭドライブ２３０は、例えばアイディーイー（Integrated drive electronics, IDE）又はシリアルエーティーエー（Serial advanced technology attachment, SATA）インタフェースを用いてもよい。スーパーＩ／Ｏ（ＳＩＯ）装置２３６がＳＢ／ＩＣＨ２０４に接続されてもよい。
【００１７】
オペレーティングシステムは処理ユニット２０６上で動作し、図２におけるデータ処理システム２００内の様々な構成要素を調整しこれらの制御を提供する。クライアントとして、上記オペレーティングシステムは、マイクロソフト（Microsoft）（登録商標）ウィンドウズ（Windows）（登録商標）ＸＰ（マイクロソフト及びウィンドウズは米国、他の国々又は両方におけるマイクロソフト社の商標である）等の市販のオペレーティングシステムであってもよい。ジャバ（Java）（商標）プログラミングシステム等のオブジェクト指向プログラミングシステムは、上記オペレーティングシステムと共に動作してもよく、ジャバ（商標）プログラム又はデータ処理システム２００上で実行されるアプリケーションから上記オペレーティングシステムに要求（call）を提供する（ジャバは米国、他の国々又は両方におけるサン・マイクロシステムズ株式会社の商標である）。
【００１８】
サーバとして、データ処理システム２００は、例えばエーアイエックス（Advanced Interactive Executive, AIX（登録商標））のオペレーティングシステム又はリナックス（LINUX）のオペレーティングシステムを実行するＩＢＭ（登録商標）イーサーバ（eServer（商標））ピーシリーズ（pSeries）（登録商標）のコンピュータシステムであってもよい（イーサーバ、ピーシリーズ及びエーアイエックスは米国、他の国々又は両方におけるアイビーエム（International Business Machines Corporation）の商標であり、リナックスは米国、他の国々又は両方におけるリーナス・トーバルズ（Linus Torvalds）の商標である）。データ処理システム２００は、処理ユニット２０６内に複数のプロセッサを含む対称型のマルチプロセッサ（Symmetric multiprocessor, SMP）システムであってもよい。或いは、単一のプロセッサシステムが用いられてもよい。
【００１９】
オペレーティングシステム、オブジェクト指向プログラミングシステム及びアプリケーション又はプログラムに対する命令はＨＤＤ２２６等の記憶装置に位置づけられ、メインメモリ２０８にロードされて処理ユニット２０６により実行されてもよい。本発明の実施形態のための処理は、処理ユニット２０６によって、例えばメインメモリ２０８、ＲＯＭ２２４又は１つ又は複数の周辺装置２２６及び２３０等のメモリ内に位置づけられてもよいコンピュータにおいて利用可能なプログラムコードを用いて、実行される。
【００２０】
一般的な当業者は、図１〜図２におけるハードウェアは実装に依存して変わってもよいことを認識するであろう。図１〜図２に描かれているハードウェアに加えて、又はこれに代えて、フラッシュメモリ、等価な不揮発性メモリ又は光ディスクドライブ等の他の内部ハードウェア又は周辺装置が用いられてもよい。また、本発明の処理はマルチプロセッサのデータ処理システムに適用されてもよい。
【００２１】
例示的な実施例によっては、データ処理システム２００は、オペレーティングシステムファイル及び／又はユーザによって生成されたデータを記憶するための不揮発性メモリを設けるように、フラッシュメモリを用いて構成されるパーソナルデジタルアシスタント（ＰＤＡ）であってもよい。
【００２２】
バスシステムは、図２に示すようなバス２３８又はバス２４０等の１つ又は複数のバスで構成されてもよい。当然ながら、バスシステムは、通信ファブリック又はアーキテクチャに付随する、異なる構成要素又は装置間のデータ転送を提供する、任意のタイプの通信ファブリック又はアーキテクチャを用いて実装されてもよい。通信ユニットは、データの送受信に用いられる、図２のモデム２２２又はネットワークアダプタ２１２等の１つ又は複数の装置を含んでもよい。メモリは、例えば図２におけるメインメモリ２０８、ＲＯＭ２２４又はＮＢ／ＭＣＨ２０２内に存在するようなキャッシュであってもよい。図１〜図２に描かれている例及び上述の例は、アーキテクチャの限定を含意するためのものではない。例えば、データ処理システム２００は、ＰＤＡの形式をとることに加えて、タブレットコンピュータ、ラップトップコンピュータ又は電話装置であってもよい。
【００２３】
本発明の態様は、ユーザのゲームプレイ行動を監視し、ゲームプレイデータを報告する。ユーザからゲームプレイデータを生成するために、本発明のある態様は、ユーザがそのゲーミングシステムにダウンロードしインストールすることのできるソフトウェアエージェントを提供する。ゲーミングシステムは、図２のデータ処理システム２００等のコンピュータシステム、又はコードのダウンロード又はインストールをサポートする他の任意のゲームエンターテイメントシステムを含む。ゲームエンターテイメントシステムは、例えば、ソニーコンピュータエンターテイメントアメリカ社（Sony Computer Entertainment America Inc.）から市販されているプレイステーション（Playstation）（登録商標）２、又はマイクロソフト社から市販されているエックスボックス（XBox）（登録商標）を含む。ソフトウェアエージェントは、所定のゲーミング特性を正確に監視することにより、ユーザがアクティブにゲームをしているか否かを決定し、ユーザのステートが代わったときに、ユーザのゲームプレイデータを収集する。ソフトウェアエージェントが監視するゲーミング特性は、例えば、マウスの使用、ジョイスティックの使用、キーボードの使用、ユーザＣＰＵの使用、ユーザのアクティブウィンドウ、ユーザのメモリの使用、ユーザのネットワークへの接続性等を含む。
【００２４】
ユーザのゲームプレイデータは、ユーザがゲームをどのようにプレイしているかを反映するデータである。ユーザは、ゲームをする前に、ソフトウェアエージェントを起動することにより、ゲームプレイデータを収集する。ソフトウェアエージェントは、ユーザがアクティブにゲームをしていることをゲーミング特性に基づいて決定したとき、又はゲームステートに任意の変化があったことを決定したときに、ユーザのゲームプレイデータを収集し、ユーザのゲームプレイ行動の監視を続ける。或いは、ソフトウェアエージェントは、ユーザがゲームを開始したときに自動的に起動してもよい。ユーザのゲームプレイデータの例は、プレイの持続時間、ゲームがプレイされた時間帯、プレイされるゲームの名称及び他のパフォーマンスの統計を含む。他の一般的なゲームコミュニティソフトウェアとは異なり、本発明のソフトウェアエージェントは、オンライン及びオフライン両方のユーザのゲームプレイデータを収集してもよい。
【００２５】
ユーザのゲームプレイデータは、ソフトウェアエージェントが実行されている間に収集されるユーザのゲームプレイデータである。ユーザは、インターネットに接続されている間に遠隔からゲームをしても、インターネットに接続せずにパーソナルコンピュータ上でローカルにゲームをしてもよい。本発明のソフトウェアエージェントは、オンラインで遠隔的にユーザのゲームプレイデータを収集してもよく、オフラインでローカルにユーザのゲームプレイデータを収集してもよい。ユーザのゲームプレイデータは、ユーザ間の通信を目的とする動的なユーザインタフェースのみならず、対話式のコツ及びヒントを目的とする動的なサービスを生成するために用いられてもよい。生成される動的なサービスは、例えば競争リーグ（competitive leagues）、トーナメント競技及び統計競技（statistical competitions）を含むが、この限りではない。
【００２６】
ソフトウェアエージェントは、オンライン及び／又はオフラインでユーザのゲームプレイデータを収集した後はいつでも、ネットワーク接続が利用可能であることを条件として、サーバと通信することによりユーザの収集されたデータを記憶し処理してもよい。ネットワーク接続を常には利用できないときには、ゲームプレイデータは、ネットワーク接続が利用可能になったときに記憶され送信される。ほとんどの場合、ネットワーク接続は、インターネットへの直接的な又は間接的な接続である。これらの例では、ソフトウェアエージェントとサーバは、例えばハイパーテキスト転送プロトコル（ＨＴＴＰＳ）上のシンプルオブジェクトアクセスプロトコル（ＳＯＡＰ）である安全な通信プロトコルを介して互いに通信する。ＳＯＡＰは、ホスト間のマークアップ言語メッセージの送信に基づく確立されたプロトコルである。ＨＴＴＰＳは、ハイパーテキスト転送プロトコル（ＨＴＴＰ）を用いてデータを転送するための安全な手段である。ＨＴＴＰＳは、４０ビットの暗号化又は１２８ビットの暗号化を用いる。ある例示的な実施形態では、本発明の態様は、ＳＯＡＰに加えて、サーバとクライアントとの間で送信されるマークアップ言語メッセージをカスタマイズするウェブサービスを提供する。マークアップ言語メッセージのフォーマットは、カスタマイズされたウェブサービス記述言語（ＷＳＤＬ）ファイルを用いて定義される。
【００２７】
ソフトウェアエージェント及びサーバは、静的なデータ及び動的なデータの両方を互いに配信し合う。静的なデータは、エージェントのスキンファイル、ゲームリスト、ルールセット及びソフトウェアエージェントを構成するための他のコンフィギュレーションファイルを含む。動的なデータは、ストリーミングの統計、チャットバディ（Buddy）のリスト、バディステータス、ローカルユーザのステータス（アクティブ、アイドル又は非アクティブ）及びリアルタイムのパフォーマンスの統計を含む。エージェントのスキンファイルは、ウィンドウの外観と雰囲気をカスタマイズするようにアプリケーションウィンドウ上に重ねられる画像ファイルである。ネットワーク接続が利用できない場合、収集されたユーザのゲームプレイデータは、ネットワーク接続が検出されるまでクライアントのゲームプレイデータファイル内にローカルに蓄積される。ネットワーク接続が利用可能である場合も、クライアントのゲームプレイデータはローカルに蓄積される。しかしながら、クライアントのゲームデータは、定義された限界値（threshold limit）に基づいてサーバにアクティブに送信される。例えば、ユーザがオンラインであって１０個の更新を蓄積しているときには、これらの更新はサーバへ送信され、クライアントのゲームプレイデータファイルはリセットされる。これは、クライアントのゲームデータは、ローカルな装置に記憶されるゲームデータ及び／又はサーバにリアルタイムでストリームされつつある他のゲームデータを含むことを意味する。
【００２８】
サーバは、ソフトウェアエージェントから収集されたユーザのゲームプレイデータを受信した後に、そのデータを適宜処理する。データの処理は、収集されたゲームプレイデータをデータベースに更新することを含む。ある例示的な実施形態では、データベースは、異なるユーザに関して収集される全てのゲームプレイデータを含む。本発明の別の態様は、データベース内の更新されたデータに基づいてユーザの個人口座（パーソナルアカウント）を管理する。ユーザの個人口座は、ユーザが仮想商店街（バーチャルモール）における製品及び／又はサービスの清算（redeem）に用いてもよいアカウントクレジットを含む。
【００２９】
ユーザの個人口座を管理することは、ユーザにアカウントクレジットをクレジットし、仮想商店街におけるアカウントクレジットの支出を管理することを含む。ユーザは、仮想商店街において提供される製品及び／又はサービスに対してそのアカウントクレジットを支出してもよい。アカウントクレジットのクレジットは、例えばゲームに費やされる合計時間である、リアルタイムで蓄積されるゲームプレイデータに基づいてもよい。またアカウントクレジットのクレジットは、例えばユーザがゲームで得るポイント数である、インセンティブに基づいてもよい。費やされる時間及び得られるポイント数に加えて、ユーザへのクレジットには、殺しの回数、レベル、ミッション完了、ステータス及び勝利の数を含む他のタイプのインセンティブが用いられてもよい。
【００３０】
次に図３を参照すると、本発明の例示的実施形態による、本発明の構成要素間の相互作用の図が描かれている。図３に示すように、本発明のソフトウェアエージェント３０１は、データ処理システム３０２又はゲームコンソール３１０内に実装されてもよい。データ処理システム３０２は、図２におけるデータ処理システム２００のように実装されてもよい。ゲームコンソール３１０は、ソニーコンピュータエンターテイメントアメリカ社から市販されているプレイステーション（登録商標）２又はマイクロソフト社から市販されているエックスボックス（登録商標）等のゲームエンターテイメントシステムのように実装されてもよい。
【００３１】
ユーザのゲームプレイデータを生成するために、ソフトウェアエージェント３０１は、所定のゲーミング特性を監視することにより、ユーザ３００がアクティブにゲームをしているか否かを決定する。これらのゲーミング特性は、マウスの使用、ジョイスティックの使用、キーボードの使用、ユーザプロセッサの使用、ユーザのアクティブウィンドウ、ユーザのメモリの使用、ユーザのネットワーク接続性等を含む。ソフトウェアエージェント３０１は、マウス３０６の物理的状態を定期的に照会することによってマウスの使用を確認する。同様に、キーボード及びジョイスティックの使用は、キーボード３０８及びジョイスティック３０４の物理的状態を定期的に照会することによって確認される。さらに、ソフトウェアエージェント３０１は、例えばパーソナルデジタルアシスタント（ＰＤＡ）３２８及びスマートフォン３３２であるハードウェア装置の物理的状態を定期的に照会することによって他の入力装置の使用を確認してもよい。
【００３２】
ユーザプロセッサの使用、ユーザのアクティブウィンドウ、ユーザのメモリの使用及びユーザのネットワーク接続性等の他のゲーミング特性は、現時点でデータ処理システム３０２上で実行されているオペレーティングシステムから、ユーザ３００を邪魔することなく決定されてもよい。データ処理システム３０２のオペレーティングシステムは、ソフトウェアエージェント３０１がこれらのゲーミング特性を抽出できるようにするインタフェースを提供する。このようなオペレーティングシステムの一例は、マイクロソフト社から市販されている製品であるウィンドウズ（登録商標）ＸＰである。ゲームコンソール３１０にソフトウェアエージェント３０１が実装されているときには、ゲーミング特性は、例えばユーザ３００によるゲームコントローラ３１２を介するゲームコンソール３１０への入力から確認されるゲームコントローラの使用を含んでもよい。
【００３３】
ゲーミング特性に基づいて、ソフトウェアエージェント３０１は、ユーザ３００がアクティブにゲームをしているか否かを決定する。この例示的な実施例では、ソフトウェアエージェント３０１はゲーム状態の変化を絶えず監視し、これらの状態の変化に関するデータを絶えず収集する。例えば、ソフトウェアエージェント３０１は、状態がアイドルからアクティブへ、アクティブから非アクティブへ、非アクティブからアイドルへ、等々と変わるときに、クライアントのゲームデータを収集する。ユーザのゲームプレイデータは、ユーザ３００がどのようにゲームをしているかを反映するデータである。このユーザのゲームプレイデータは、プレイされているゲームの名称、ユーザ名、プレイの持続時間及び得られる合計ポイント数等の他の統計及びパフォーマンスデータを含む。パフォーマンスの統計は、プレイされているゲームに関する成功（success）の任意の関連の尺度を含んでもよい。
【００３４】
ソフトウェアエージェント３０１によって収集されるゲームプレイデータは、そのゲームプレイデータが非監視環境下でサンプリングされる完全な販売後のデータであるという点で独自である。このユーザのゲームプレイデータは、そうでなければ販売後には入手できない情報を提供するので、現時点で他のゲームコミュニティソフトウェアにより収集されているデータよりも効果的である。この情報が販売時点より後に入手できるとしても、通常は歪められた、又は偏ったものであり、アクティブなゲームプレイを説明するものではない。ソフトウェアエージェント３０１によって収集されるユーザのゲームプレイデータは、販売後の時点で何が起こっているかを反映するだけでなく、企業がゲームプレイの将来の傾向を予測する手助けにもなる。販売されたユニット数と、プレイされるユニット数とはかなり異なる可能性がある。ソフトウェアエージェント３０１を用いれば、実際にプレイされるユニットの数が所定のゲーミング特性に基づいて決定される場合がある。従って、有益な販売後市場調査データが、ゲームメディアのプランナ又はバイヤ、ゲーム発行元、ゲーム開発者、ゲーム企業アナリスト及びゲーム業界の他の分析専門家を含む様々な企業投資家に提供される場合がある。
【００３５】
本発明の態様により提供される販売後のデータには偏りがなく、売り手により提供される専用サービスを介する参加だけではない、ゲームアクティビティ後の真の姿を示す。食に関する消費者の望みと行動の決定から類推すると、レストラン又はビュッフェからのデータは幾分歪んだものになると思われる。レストランには、レストラン側が得意とする所定のメニュがある。従って、レストランが収集するデータはレストランが提供するものへと歪められることになる。同様にビュッフェでは、食されるフードの量及び選択は過食へと歪められる。これに代わってデータを収集する良い方法は、個人的な食事並びに提供される食事における個々人の食の傾向を長期的に調べることであろう。この方法で収集されるデータは、レストラン又はビュッフェが提供する食物のタイプによって歪められる、又は偏ることがない。
【００３６】
収集されるユーザのゲームプレイデータの独自性に加えて、ソフトウェアエージェント３０１は、オンライン及びオフラインの両方でユーザのゲームプレイデータを収集してもよいことにおいて、現行のゲームコミュニティソフトウェアを凌ぐ優位点を提供する。現行のゲームコミュニティソフトウェアの大部分は、ユーザがインターネット又はローカルネットワークの何れかで他のユーザとオンラインでゲームをしている間にユーザのゲームプレイデータを収集する。ユーザのゲームプレイデータがオンライン中のユーザ間で収集される場合、このユーザのゲームプレイデータは歪められる、又は偏る場合があり、アクティブなゲームプレイを反映しない。ユーザのゲームプレイデータがローカルネットワークでプレイしているユーザ間で収集される場合、このユーザのゲームプレイデータは、外部ソースによる監視用に直ぐに利用することができない。さらに、大部分のゲームコミュニティソフトウェアは２名以上のユーザがゲームしている間しかユーザのゲームプレイデータを収集しないので、現行のゲームコミュニティソフトウェアは、オフラインで発生する場合のある単独プレーヤゲームのユーザのゲームプレイデータを収集しない。
【００３７】
ユーザのゲームプレイデータが収集されるときに、ソフトウェアエージェント３０１は、ネットワーク接続がデータ処理システム３０２又はゲームコンソール３１０の何れかにおいて利用可能であるか否かを決定する。ネットワーク接続が利用可能であるときには、ソフトウェアエージェント３０１はＨＴＴＰＳ上のＳＯＡＰ等の安全な通信プロトコルを用いて、データ処理システム３０２又はゲームコンソール３１０上のクライアントのゲームデータファイル３１４に蓄積されている収集されたデータを、インターネット３１６を介してサーバ３２０に送信する。ソフトウェアエージェント３０１は、クライアントのゲームデータファイル３１４に蓄積される収集されたユーザのゲームプレイデータをサーバ３２０へ、所定のしきい値（threshold）及び頻度で、例えば１０分毎に送信する。ネットワーク接続が利用可能でないときには、収集されるユーザのゲームプレイデータは、ネットワーク接続が検出されるまで、引き続きデータ処理システム３０２又はゲームコンソール３１０上のクライアントのゲームデータファイル３１４に蓄積される。ネットワーク接続が検出されると、データは少しずつ送信される。クライアントのゲームデータファイル３１４は、ユーザ３００がオフライン又はオンラインでゲームをしている間にユーザのゲームプレイデータを収集する。
【００３８】
収集されたデータが受信されると、サーバ３２０は収集されたユーザのゲームプレイデータを抽出して処理する。サーバ３２０は、既存のゲームプレイデータを有するデータベース３２２を更新することによって、収集されたユーザのゲームプレイデータを処理する。サーバ３２０は、収集されたユーザのゲームプレイデータを、インターネット接続を介してデータベース３２２に送ってもよい。データベース３２２は、異なるユーザから収集されるゲームプレイデータの履歴を含む。サーバ３２０が収集されたデータをデータベース３２２に更新すると、データは本発明の別の態様によって、異なるビジネス機能を実行するように用いられてもよい。
【００３９】
例えば、本発明の態様によって実行されてもよい一つのビジネス機能は、更新されたデータから導出される動的統計をソフトウェアエージェント３０１及び／又はデータ処理システム３０２又はゲームコンソール３１０上のウェブページへ直接的に送信することである。このようにして、ユーザ３００はユーザの個人口座のステータスに関する即時のフィードバックを受信してもよい。
【００４０】
本発明の態様によって実行されてもよい別のビジネス機能は、ユーザの個人口座を管理することである。個人口座は、ユーザが製品及び／又はサービスを清算するために用いてもよいアカウントクレジットを含む。本発明のこの態様は、ユーザにアカウントクレジットをクレジットし、本発明の別の態様によって提供される仮想商店街３２４におけるアカウントクレジットの支出を管理してもよい。
【００４１】
仮想商店街３２４は、ユーザによる清算に利用可能な様々な製品及び／又はサービスを含んでいる。仮想商店街３２４は、ウェブサーバ３２１等のウェブサーバに実装されてもよい。ユーザ３００は、データ処理システム３０２を介して仮想商店街３２４と対話してもよい。仮想商店街３２４において提供される製品及びサービスの例は、家電、娯楽ソフトウェア、食品又はレストランの引換券及び映画チケット等の映画関連製品を含む。
【００４２】
上述したように、ユーザは、仮想商店街３２４において提供される製品及び／又はサービスに対してそのアカウントクレジットを支出してもよい。アカウントクレジットのクレジットは、例えばユーザがゲームプレイに費やす合計時間であるゲームプレイに関する累積のリアルタイムのデータ、又は例えばユーザがゲームで得たポイント数であるインセンティブに基づいてもよい。これに加えて、ソフトウェアエージェント３０１は、インターネット３１６を介してチャットサーバ３２６と通信することにより、ユーザ３００と他のユーザとのチャットの機能も容易にする。
【００４３】
次に、図４を参照すると、本発明の例示的な一実施形態に係る、ユーザのゲームプレイデータを収集しユーザにクレジットするための処理のフローチャートが描かれている。この例示的な処理は、図３におけるソフトウェアエージェント３０１のようなソフトウェアエージェントに実装されてもよい。図４に示すように、ソフトウェアエージェントの視点からすると、処理は、ユーザによってソフトウェアエージェントがダウンロードされかつデータ処理システム又はゲームコンソール上にインストールされたときに（ステップ４０２）開始される。
【００４４】
次に、ソフトウェアエージェントは、ユーザによってゲーム開始より前に起動される（ステップ４０４）。ソフトウェアエージェントは次に、所定のゲーミング特性を監視する（ステップ４０６）。次にソフトウェアエージェントは、特性に基づいて、ゲームステートが変化するかどうかに関する決定を下す（ステップ４０８）。ソフトウェアエージェントによりこの決定がどのように下されるかの詳細については、図９Ａ及び図９Ｂにおいて論じる。ゲームステートが変化するときに、ソフトウェアエージェントはそのゲームプレイデータを収集し（ステップ４１０）、収集されたデータをクライアントのゲームデータファイルに格納する（ステップ４１２）。ソフトウェアエージェントがユーザのゲームプレイデータをどのように収集するかに関するさらに詳しい内容は、図１３Ａ及び１３Ｂにおいて論じる。ゲームステートが変化しないときには、ソフトウェアエージェントは、ゲーミング特性の監視を続けるステップ４０６及びゲームステートが変化したか否かを決定するステップ４０８に戻る。
【００４５】
ソフトウェアエージェントはユーザのゲームプレイデータを累積的に収集し、上記データをクライアントのゲームデータファイルに格納する。更新の回数及び／又は頻度のしきい値に到達すると（ステップ４１３）、ソフトウェアエージェントは、ユーザがオンラインであるかどうかに関する決定を下す（ステップ４１４）。この決定は、ネットワーク接続が図３におけるデータ処理システム３０２又はゲームコンソール３１０において利用可能であるかどうかに基づいて下される。その時点でユーザがオンラインであるときには、ソフトウェアエージェントは収集されたデータを格納し処理するサーバと通信する（ステップ４１６）。ユーザがオフラインのときには、処理はステップ４１０に戻ってユーザのゲームプレイデータを累積的に収集し、ステップ４１２でデータを累積的に記憶する。
【００４６】
蓄積されたデータは、図３におけるデータ処理システム３０２又はゲームコンソール３１０等のユーザシステムにおけるクライアントのゲームデータファイルに格納されてもよい。ソフトウェアエージェントは、後に、ユーザの個人口座の更新を要求し、サーバからクレジットの確認を受信してもよい（ステップ４１８）。次にソフトウェアエージェントは、ユーザに口座の更新を通知してもよい（ステップ４２０）。ステップ４２０はオプションのステップであり、処理はこれで終了する。
【００４７】
次に図５を参照すると、本発明の例示的な一実施形態に係る、ユーザのゲームプレイデータを処理する処理のフローチャートが描かれている。この例示的な処理は、図３におけるサーバ３２０のようなサーバに実装されてもよい。図５に示すように、サーバの視点からすると、処理はソフトウェアエージェントが図４のステップ４１６においてサーバと通信した後に開始される。処理は、サーバがソフトウェアエージェントからの通信を検出することによって開始される（ステップ５０２）。続いて、サーバはデータベースを収集されたデータで更新する（ステップ５０４）。データベースは、異なるユーザのゲームプレイデータ履歴を含む。
【００４８】
データベースが収集されたデータで更新されると、サーバは、収集されたデータに基づいてユーザの個人口座にクレジットしてもよい（ステップ５０６）。サーバは、例えばゲームに費やされる合計時間である累積のリアルタイムのゲームプレイデータに基づいてユーザの個人口座にクレジットしてもよい。また、アカウントクレジットのクレジットは、例えばそのゲームでユーザが得点したポイント数であるインセンティブに基づいてもよい。後に、ユーザは個人口座の更新を要求してもよく、サーバは次に口座の更新をソフトウェアエージェント又はウェブサイトに送信する（ステップ５０８）。
【００４９】
アカウントクレジットがユーザの個人口座にクレジットされると、ユーザは、そのクレジット残高を見てもよく、仮想商店街における製品及び／又はサービスに対してそのアカウントクレジットを清算してもよい。本発明の別の態様は、その仮想商店街におけるアカウントクレジットの支出又は清算を管理する。次に図６を参照すると、本発明の例示的な一実施形態に係る、ユーザによるアカウントクレジットの支出を管理する処理のフローチャートが描かれている。この例示的な処理は、図３におけるウェブサーバ３２１のようなウェブサーバに実装されてもよい。図６に示すように、ウェブサーバの視点からすると、処理はユーザが清算のために仮想商店街にログインすると開始される（ステップ６０２）。次に、ウェブサーバはデータベース内の更新されたデータを検索する（ステップ６０４）。次に、ウェブサーバはユーザにアカウント（口座）情報を表示する（ステップ６０６）。このステップは、清算すべきクレジットが存在することをユーザに知らせる広告を表示することによって実装されてもよい。例えば、クレジットは、ユーザがゲームプレイに費やした時間の長さが所定のしきい値を超えていることを理由にユーザに与えられる場合がある。
【００５０】
アカウント情報が表示された後、ウェブサーバは、仮想商店街において利用できる製品及び／又はサービスのユーザによる選択を検出してもよい（ステップ６０８）。次に、ウェブサーバはユーザの選択された製品及び／又はサービスを清算する（ステップ６１０）。よって、処理はこの後に終了する。
【００５１】
次に図７を参照すると、本発明の例示的な一実施形態に係る、ゲーマー、ソフトウェアエージェント、データベースサーバ、ウェブサーバ及びチャットサーバによって実行される使用事例を示す使用事例図が描かれている。図７に示すように、ゲーマー７００は、ジョイスティック、キーボード又はマウスを動かすことを含むユーザ入力装置７０２によってゲームと対話する。ゲーマー７００は、本発明の精神及び範囲を逸脱することなく、ゲームコントローラを含む他のタイプの入力ゲーミング装置を用いてもよい。
【００５２】
ゲーマー７００は、エージェント７０８が起動されるとゲームを開始することができる７０１。エージェント７０８は、ジョイスティック、キーボード及びマウスを含む入力装置の動作を監視し、ゲーマー７００がアクティブにゲームをしているか否かを決定する。これらの特性はユーザ入力として知られ、ソフトウェアエージェントによるユーザ入力決定のための使用事例はエントロピーの検証７１０と称される。エントロピーを検証すること７１０に加えて、エージェント７０８は他のゲーミング特性も追跡することによりユーザがアクティブにゲームをしているか否かを決定する。これらの特性は、アクティブな処理７１２、メモリの使用７１４及びＣＰＵの使用７１６を含む。これらの特性は、ゲーマー７００がその時点で用いている図３のデータ処理システム３０２又はゲームコンソール３１０のオペレーティングシステムによって提供されるインタフェースから取得されてもよい。
【００５３】
ユーザがアクティブ、アイドル又は非アクティブであるかどうかの決定に際しては、エージェント７０８はまた、ルールセットファイル内の、予め定義されたアルゴリズム及び人工知能を用いる。ルールセットファイルは、エージェント７０８が容易にインタフェースすることのできる汎用のプラグインとして実装されてもよい。ルールセットは、ソフトウェアエージェントにより監視される各属性又は特性の限界値を定義する。各属性の限界値を定義することにより、ゲーム会社又はリソースはユーザ行動を監視するための異なる基準を指定してもよい。
【００５４】
ルールセットは、ゲーム名（GameName）、ゲームＩＤ番号（GameID#）、しきい値＿０、しきい値＿１，…，しきい値＿Ｎとして定義されてもよい。ゲーム名は、監視されているゲームの名称を示す。ゲームＩＤ番号は、監視されているゲームのランダムなゲームコード又は「タグ」を示す。しきい値＿０は、属性＿０のポイント重み付けを示し、しきい値＿１，…，しきい値＿Ｎは属性＿１から属性＿Ｎまでのポイント重み付けを示す。
【００５５】
ルールセットの一例は、「hl2.exe」，４，４０，２，６，７，１０，…，であってもよい。これは、「hl2.exe」と称するゲームＩＤ番号４を有するゲームの場合、属性＿０のしきい値は４０であり、属性＿１のしきい値は２である，…を意味する。各属性は、特定のサイクルにとってその属性が善いか悪いかの決定方法に関して知識を有する関数にマッピングされる。例えば、ウィンドウズ（登録商標）環境においては、ウィンドウズ（登録商標）フォアグラウンドにプログラムが存在することを指示するためにウィンドウＺオーダー（WindowZorder）属性が用いられる。ウィンドウＺオーダー属性は、「calWindowZorderWin32」と称される関数にマッピングされるが、この関数は、その属性の限界得点（スコア）が合計得点に加算されるべきであれば真を返し、その属性の限界得点が加算されるべきでなければ偽を返す。合計得点は、ユーザを「アクティブ」であると見なすためにはどのゲームも到達しなければならない予め定義された、又は静的な得点である。関数「calWindowZorderWin32」が偽を返すときには、ユーザは「非アクティブ」であると見なされる。しかしながら、エントロピーの検証７１０においてユーザ入力が検出されないときには、ユーザは「アイドル」と見なされる。ある例示的な実施形態では、「非アクティブ」ステータスは「アイドル」ステータスを凌ぐ優先順位をとる。
【００５６】
ルールセット及びエントロピーの検証７１０に基づいて、エージェント７０８は、ユーザがアクティブ、アイドル又は非アクティブの何れであるかを決定する。次に、エージェント７０８はゲームステートを設定し７１８、クライアントのゲームデータを更新する７２０。上述の使用事例は、収集されるゲームデータが所定の限界値に達するまで繰り返され、一方でエージェントは、クライアントがオンラインであれば更新を送信し、ユーザがオフラインであればクライアントのゲームデータの蓄積を続ける。更新が送信されると、エージェント７０８はローカルクライアントの時間データをリセットし７３２、ウェブサーバはウェブサーバ７３４上のクライアントの時間データをリセットする。エージェントが特定の動的な統計データを要求すると７３０、データベースサーバ７２８はそれをローカルクライアントに送信する。さらに、ゲーマー７００はユーザのクレジットの更新７３６を要求してもよい。この場合、エージェントは、本発明の態様による規定に従って、その時点で蓄積されているローカルクライアントのゲームデータをウェブサーバ７３４に送信し、その時点の口座残高（balance）をゲーマー７００に表示するように要求する。
【００５７】
本発明の態様によれば、ゲーマー７００はエージェントのコンフィギュレーションを変更してもよく７２２、例えば、ゲーマー７００が利用できる機能又はオプションを変えてもよい。またゲーマー７００は、ゲームリスト７２４を更新することにより、エージェントがどのゲームを監視できるかを規定してもよい。エージェントのコンフィギュレーション７２２又はゲームリスト７２４が変更されると、エージェントの機能性も更新されるが（エージェント処理の更新７２６）、これは、データベースサーバ７２８へ送信されるデータに影響を与える場合がある。さらにエージェント７０８は、ゲーマー７００がチャット７４０を要求するとチャットの機能を管理する７３８。チャットの機能は、図３におけるチャットサーバ３２６のようなチャットサーバ７４４によるチャットのメッセージの処理７４２、及びチャットゲートウェイ７４８を介して外部チャットサーバと通信することによる外部チャットの処理７４６を含む。
【００５８】
次に図８Ａ−図８Ｂを参照すると、本発明の例示的な一実施形態に係る、ゲーマー、ソフトウェアエージェント、サーバ及びチャットサーバによって実行されるアクティビティを示すアクティビティ図が描かれている。図８Ａ及び図８Ｂにおけるアクティビティは、図７に示す先の使用事例を実行するときに含まれるアクティビティを反映している。図８Ａに示すように、ゲーマー８００がまずソフトウェアエージェントを開始し８０４、クライアント／エージェント８０２は接続性を検証して８０６、ゲーマー８００がサーバ８０８に接続されているか否かを決定する。ゲーマー８００がサーバ８０８に接続されているときには、ゲーマー８００はサーバ８０８にログインする８１２。しかしながら、ゲーマー８００がサーバ８０８に接続されていないときには、プロンプトが表示され８１４、ゲーマー８００がログインを続けるかどうかが問い合わされる。ゲーマー８００がログインした後、クライアント／エージェント８０２はゲーマー８００の資格認証を、オフラインであればローカルに、オンラインであれば遠隔的に検証する８１６。
【００５９】
ゲーマー８００がログインした後、ゲーマー８００はゲーム開始を選択してもよい８１８。選択の受信に応答して、クライアント／エージェント８０２はＧａｍｅ．ｅｘｅの開始を実行し８２０、ゲームを開始してゲーミング特性を監視する。アクティビティ８１８及び８２０は、図７における使用事例のゲーム開始７０１を実行するときに必要とされる。ゲーマー８００がゲームアクティビティ８２２を実行するときに、クライアント／エージェント８０２はＣＰＵの使用、メモリの使用等を含む様々な処理を監視し８２４、ユーザ入力からエントロピーの検証を実行する８２６。アクティビティ８２４及び８２６に関するより詳しい内容については、図９Ａ及び図９Ｂにおいて論じる。次に、クライアント／エージェント８０２により、追跡された処理及び検証されたエントロピーに基づいてゲーマー８００がアクティブ、非アクティブ又はアイドルの何れであるかが決定される。次にクライアント／エージェント８０２は、ゲーマー８００がアクティブ、非アクティブ又はアイドルの何れであるかを反映するゲームステートを設定する８２８。ゲームステートが設定されると、クライアント／エージェント８０２はクライアントのゲームデータを更新する８３０。アクティビティ８２４、８２６、８２８及び８３０は各々、図７において使用事例７１０、７１２−７１６、７１８及び７２０を実行するときに必要とされる。
【００６０】
オンラインである場合、ゲーマー８００は、個人口座へのクレジットの更新要求８３４を送信するようにクライアント／エージェント８０２を手動でトリガしてもよい。要求を受信すると、クライアント／エージェント８０２はサーバ８０８にクレジットの更新を送信し８３４、サーバ８０８はデータベースを更新してクレジットの更新を処理する８３８。クレジットの更新を処理した後に、サーバ８０８はクライアント／エージェント８０２にクレジットの更新が成功したことを示すメッセージを送信し、クライアント／エージェント８０２はクレジットの更新の受信をローカルに表示することができる８３６。アクティビティ８３２、８３４、８３６及び８３８は、図７におけるユーザのクレジットの更新の使用事例を実行するときに必要とされる。
【００６１】
次に図８Ｂを参照すると、ゲーマー８００がサーバ８０８に接続されているときには、ゲーマー８００はゲームリストの更新を要求してもよい８４０。ユーザは、ユーザのオンラインプロファイルにおけるウェブブラウザを介してゲームリストの更新を実行する。ゲームリストが更新されると、サーバ８０８はサーバ８０８に記憶されているサポートされたゲームリストを更新し８４６、更新されたゲームリストファイルをクライアント／エージェント８０２に送信し、クライアント／エージェント８０２は更新されたゲームリストファイルをローカルに記憶する８４４。アクティビティ８４０、８４４及び８４６は、図７におけるゲームリスト更新７２４の使用事例及びエージェント処理の更新７２６を実行するときに必要とされる。
【００６２】
ゲーマー８００がエージェントをサーバ８０８に同期させるように要求した後８４８、サーバ８０８は同期要求を受信し８５０、静的なデータをクライアント／エージェント８０２に送信し８５２、クライアント／エージェント８０２は静的なデータを受信する８５４。静的なデータは、ルールセット、ゲームリスト及び他のコンフィギュレーションファイルを含んでもよい。静的なデータを要求することに加えて、クライアント／エージェント８０２はまたサーバ８０８からの動的なデータを要求してもよい８５６。動的なデータは、ストリーミングの統計、チャットバディのリスト、バディステータス、ローカルユーザのステータス及びリアルタイムのパフォーマンスの統計を含む。動的なデータの要求を受信すると、サーバ８０８はクライアント／エージェント８０２に動的なデータを送信し８５８、クライアント／エージェント８０２は動的なデータを受信する８６０。アクティビティ８５６−８６０は、図７における動的なデータの送信７３０の使用事例を実行するときに必要とされる。
【００６３】
上記に加えて、クライアント／エージェント８０２はチャットのアクティビティも促進する。ゲーマー８００がチャットするためにログインすれば（チャットログイン）８６２、クライアント／エージェント８０２はサーバ８０８からの新しいパスワードを要求する８６４。サーバ８０８は、クライアント／エージェント８０２に新しいパスワード要求を割り当てる８６６。クライアント／エージェント８０２がサーバ８０８から新しいパスワードを受信した後８６８、新しいパスワードは、そのパスワードがクライアント／エージェント８０２によってタイプインされているかのようにチャットサーバ８１０に送信される。このパスワードは、クライアント／エージェント８０２のカレントチャットパスワードと称される。チャットサーバ８１０は次にこの新しいパスワードを検証し８７０、クライアント／エージェント８０２にチャットの準備が整っていることを知らせる８７２。続いて、クライアント／エージェント８０２は様々なチャットの機能を管理し８７４、一方でチャットサーバ８１０はチャットを処理する８７６。アクティビティ８６２−８７６は、図７において使用事例７３８−７４２を実行するときに必要とされる。
【００６４】
如何なる時点においても、ゲーマー８００は、クライアント／エージェント８０２のコンフィギュレーションを変更することを希望すれば８７８、例えばエージェントのスキンファイルである幾つかのコンフィギュレーションオプションをローカルに修正してもよい。ローカルコンフィギュレーションオプション８８０は、ネットワークの接続ステータスに関わらず変更されることが可能であり、ユーザのオンラインプロファイルへのアクセスを必要としない。クライアント／エージェント８０２の大部分のコンフィギュレーションオプションは、ゲーマーのオンラインプロファイルを介してアクセスされる。変化が生じると、サーバ８０８はコンフィギュレーションの更新を処理し８８２、コンフィギュレーションの変更を記憶する８８４。アクティビティ８７８−８８４は、図７においてエージェントコンフィギュレーション変更７２２の使用事例及びエージェント処理更新７２６の使用事例を実行するときに必要とされる。
【００６５】
次に図９を参照すると、本発明の例示的な一実施形態に係る、ゲームステートを決定する処理のフローチャートが描かれている。この例示的な処理は、図３におけるソフトウェアエージェント３０１のようなソフトウェアエージェントに実装されてもよい。図９に示すように、ソフトウェアエージェントの視点からすると、処理は、ソフトウェアエージェントがユーザシステムのオペレーティングシステムのスナップショットをとったときに開始される（ステップ９００）。ソフトウェアエージェントは、ユーザのゲームプレイ中にこのステップを周期的に、例えば毎分実行してもよく、スナップショットはユーザシステムのメモリに保存されてもよい。
【００６６】
次に、ソフトウェアエージェントは、カテゴリのセットのルールセットを取得する（ステップ９０２）。これらのカテゴリは、プロセッサの使用、メモリの使用、ネットワーク接続性、ウィンドウのＺオーダー及び他のユーザ入力を含む。ルールセットは、関数によって監視されつつある各カテゴリの限界値を定義する。オペレーティングシステムのスナップショットから、次にソフトウェアエージェントは、カテゴリのセットにおける次のカテゴリに割り当てられる各得点（スコア）を検索する（ステップ９０４）。各カテゴリについて、各得点が割り当てられ、例えば、プロセッサの使用には得点４０が割り当てられてもよく、ウィンドウのＺオーダーには得点３５が割り当てられてもよい。
【００６７】
ソフトウェアエージェントは次に、各得点が各カテゴリに定義されている限界値に達しているかどうかに関して決定を下す（ステップ９０６）。各得点が限界値に達しているときには、その各得点はその時点の累積の合計点に加算される（ステップ９０８）。しかしながら、各得点が限界値に達していないときには、処理は引き続きステップ９１４に進む。
【００６８】
ステップ９０８の後、ソフトウェアエージェントは、その時点の累積の合計点がアクティブ状態に関して予め定義された合計得点以上であるかどうかに関して決定を下す（ステップ９１０）。合計得点は、そのユーザを「アクティブ」であると見なすためにはどのゲームも到達しなければならない予め定義された、又は静的な得点である。その時点の累積の合計点がアクティブ状態に関して予め定義された合計得点以上であるときには、ソフトウェアエージェントはゲームステートを「アクティブ」に設定し（ステップ９１２）、この後処理は終了する。「アクティブ」状態は、ユーザがゲームプレイにアクティブに関わっていることを意味する。その時点の累積の合計点がアクティブ状態に関して予め定義された合計得点に達していないときには、処理は引き続きステップ９１４に進む。
【００６９】
ステップ９１４では、ソフトウェアエージェントにより、そのカテゴリのセット内に追加のカテゴリが存在するかどうかに関して決定が下される。存在するときには、処理はステップ９０４に戻ってカテゴリのセットから次のカテゴリを検索する。存在しないときには、ソフトウェアエージェントにより、ユーザのアクティブウィンドウがフォアグラウンドに存在するかどうかに関して決定が下される（ステップ９１６）。このステップは、オペレーティングシステムのスナップショットを調べることによって実行される。アクティブウィンドウがフォアグラウンドに存在するときには、ソフトウェアエージェントはゲームステートを「アイドル」に設定する（ステップ９１８）。「アイドル」ステータスの一例は、ユーザがあるレベルを完了している場合であり、何分かに渡ってクリップが示されていてもよい。従って、その何分かの間、プロセッサ及びメモリはアクティブである場合もあるが、ユーザには何の動作もないと思われる。アクティブウィンドウがフォアグラウンドに存在しないときには、ソフトウェアエージェントはゲームステートを「非アクティブ」に設定する（ステップ９２０）。「非アクティブ」状態とは、その時点でユーザはゲームプレイに関わっていないことを意味する。よって、処理はこの後終了する。
【００７０】
次に図１０Ａ〜図１０Ｃを参照すると、本発明の例示的な一実施形態に係る、ユーザのゲームプレイデータを認証し、記憶し、転送するときに関連するアクティビティ及びデータの図が描かれている。図１０Ａは、ローカルクライアントのデータの流れ及びユーザのゲームプレイデータの検証を示す。
【００７１】
図１０Ａに示すように、処理はエージェント１０００が開始されたときに開始される。エージェント１０００の開始は、イーモン（Eamonn）エンジンを開始させる１００２。イーモンエンジン１００２は複数の新しいゲームを追跡する機能を開始し１００４、上記機能はローカルデータ記憶装置１００８内に記憶されるルールセットファイル１０１６からユーザ固有のゲームリストを引き出す。ユーザ固有のゲームリストは、ユーザが当該ユーザのオンラインプロファイルにおけるゲームリストを更新するときに生成され、修正される。ゲームリストが修正されるときに、エージェント１０００は、この新しい情報をサポートするように同期されなければならない。図８Ｂに示すエージェントを同期させるアクティビティ８４８は、ローカルなルールセットファイルを必要に応じて動的に更新する。
【００７２】
新しいゲームの追跡１００４は、ゲーマー１０１０によって新しいゲームが開始されたこと１０１２を検出する。新しいゲームが開始されたときには、エージェント１０００は、ルールセットファイル１０１６内の、予め定義されたアルゴリズム及び人工知能を用いて新しいゲームオブジェクトを生成すること１０１４により、ゲームステート１０２２の必要とされる検証の一部を提供する。残りの検証は、エージェント１０００により実行されるエントロピーを集めること１０２０から生じる。エントロピーを集めること１０２０は、ゲーマー１０１０がゲームをしている間にユーザの複数のアクション１０１８を検出する。これらのアクションは、キーボードの操作、ジョイスティックの操作、マウスの移動等を含む。エントロピーを集めること１０２０及びルールセット１０１６のパラメータの組合せは、ゲームステート１０２２を決定する。ゲームステート１０２２が代わったときには、エージェント１０００は随時クライアントのゲームデータを暗号化し１０２４、当該データをクライアントのゲームデータファイル１０２６に保存する。この検証処理は、ユーザのゲームデータが所定のしきい値又は限度に達するまで繰り返される。
【００７３】
クライアントのゲームデータ１０２６が蓄積される間、エージェント１０００は、クライアントのゲームデータ１０２６がサーバにいつどのように転送されるかを決定する別の処理を実行する。この処理は、図１０Ｂに示すローカルデータの転送１０３０として知られる。図１０Ｂにおいて、ローカルデータの転送１０３０は、ゲーマー１０１０によって、クレジットを更新するように手動で起動されてもよく１０２８、もしくは定期的な間隔で自動的に起動される。エージェント１０００は、まずネットワークステータスを取得する１０３２。処理が手動で起動されかつゲーマー１０１０がオフラインであるときには、エージェント１０００は、個人口座のアカウントクレジットを更新するためにはインターネット接続が必要であることを警告するメッセージをゲーマー１０１０に送信し、処理は終了する。ローカルデータの転送１０３０がエージェントによって自動的に起動され、ゲーマー１０１０がオフラインであるときには、エージェント１０００はメッセージなしに処理を終了する。しかしながら、ゲーマー１０１０がオンラインであるときには、エージェント１０００はクライアントのゲームデータのしきい値をチェックし１０３４、そのしきい値に到達しているか否かを決定する。しきい値に達しているときには、エージェント１０００はサーバの更新をサーバに、測定され制御されたサイズ及び頻度で送信する１０３６。クライアントのゲームデータ１０２６においてさらなる更新を得ることができるときには、ローカルデータの転送１０３０が繰り返される。しかしながら、しきい値に達していないときには、エージェント１０００は処理を終了する。
【００７４】
図１０Ｃは、サーバでのデータの流れ及びユーザのゲームプレイデータの検証を示す。この処理は、クライアント又はエージェントがクライアントのゲームデータの更新を送信する準備が整っていることを仮定している。この処理は、クライアントのハロー１０４２がウェブサーバ１０４０に送信されたときに開始され、サーバは、ハローがエージェント１０００によって受信されることを確認する１０４４。ある例示的な実施形態では、ウェブサーバ１０４０及びエージェント１０００は、ＨＴＴＰＳ上のＳＯＡＰ等の安全な通信プロトコルを用いて互いに通信する。
【００７５】
次に、エージェント１０００は、ウェブサーバ１０４０へのゲームの更新の送信を開始する１０４６。次に、ウェブサーバ１０４０はクライアントのゲームデータの受信を確認し１０４８、更新されたデータをデータベースサーバ１０５１に挿入する１０５０。データベースサーバ１０５１が更新された後に、ゲームの更新の確認１０５２がエージェント１０００に戻される。エージェント１０００は、データの更新のチェックを継続し１０５３、クライアントのゲームデータファイルにおける更新された全てのクライアントゲームデータ１０４８が送信されるまで、ウェブサーバ１０４０にゲームの更新を送信し続ける１０５４。全てのゲームデータが送信されると、エージェント１０００は、ウェブサーバ１０４０にグッバイメッセージを送信することによってサーバセッションを終了する１０５６。ウェブサーバ１０４０は次に、データベースサーバ１０５１との接続を終了することを含むセッションの終了を実行し１０５８、エージェント１０００にグッバイメッセージを送信し、処理を終了する。
【００７６】
上述したように、データベースサーバ１０５１内のデータは様々なビジネス機能に用いられてもよい。上記機能は、エージェント１０００への動的な統計１０６２の送信、ゲーマーの銀行のアカウントクレジット１０６４の管理及び仮想商店街におけるショッピングカート１０６０を用いるアカウントクレジットの支出管理を含む。
【００７７】
次に図１１Ａ及び図１１Ｂを参照すると、本発明の例示的な一実施形態に係る、本発明の態様の実装に用いられる例示的なクラスのクラス図が描かれている。図１１Ｂに示すように、ゲーマーは、ｌａｕｎｃｈＧａｍｅ１１１８関数を呼び出すことによりユーザインタフェース１１２４を介してゲームを開始し、チャット１１０８のｉｎｖｏｋｅＣｈａｔ１１１４関数を用いてチャットを呼び出し、チャット１１０８のｖｉｅｗＢｕｄｄｉｅｓ１１１０関数を呼び出すことによってバディのリストを見てもよい。さらに、ゲーマーは、ユーザインタフェース１１２４において取得できる任意のオプションを更新してもよい。ゲーマーは、ソフトウェアエージェントと同期するときに、静的コンテンツ１１７０又は動的コンテンツ１１７２への更新はソフトウェアエージェントによって要求され、図１０Ｃにおけるウェブサーバ１０４０のようなウェブサーバによって送信される。
【００７８】
イーモンユーザクラス１１００は、ユーザ名（userName）１１０２及びパスワード（password）１１０４等のユーザ情報を保持する。ソフトウェアエージェントが開始されるときに、イーモンエンジン１１０１は、新しいゲームの追跡、エントロピーの処理、ゲームステートの決定、ローカルデータの転送等を開始するように起動される。イーモンエンジン１１０１は、予め定義されたサポートされるゲームのリストに基づいて新しいゲームを追跡する。このリストは、ゲームの名称、ｉｄ及びルールセット１１３４を含む。ゲーマーによって新しいゲームが開始されたことを検出すると、イーモンエンジン１１０１は、開始されたゲームがリストに含まれているときには、図１１Ａに示すようなゲームオブジェクト１１０６を生成する。図１１Ａにおいて、ゲームオブジェクト１１０６は、ゲーマーがアクティブ、アイドル又は非アクティブの何れであるかを示すゲームステート１１３０を含む。ソフトウェアエージェントがゲーマーにより開始されるユーザアクションを検出すると、処理エントロピー１１３２は、マウスの移動、キーボードの操作、ジョイスティックの操作、ＣＰＵの使用、メモリの使用、ネットワーク接続性等のゲーミング特性データを取得する。処理エントロピー１１３２は、ｍｏｕｓｅＳｔａｔｅ１１３６、ｋｅｙｂｏａｒｄＳｔａｔｅ１１３８、ｊｏｙｓｔｉｃｋＳｔａｔｅ１１４０並びにｃｐｕＵｔｉｌｉｚａｔｉｏｎ１１４２、ｍｅｍｏｒｙＵｓａｇｅ１１４４、ｐｉｄ１１４６、ｗｉｎｄｏｗＺｌｅｖｅｌ１１４８、ｎｅｔｗｏｒｋＣｏｎｎｅｃｔｉｖｉｔｙ１１５０等を監視する。処理エントロピー１１３２に加えて、ゲームステートの決定にはイーモンエンジン１１０１によってルールセット１１３４も用いられる。ルールセット１１３４は、監視されている、例えばｗｉｎｄｏｗＺｏｒｄｅｒ１１３７、ｕｓｅｒＩｎｐｕｔｓ１１３９、ｃｐｕＵｓａｇｅ１１４１、ｍｅｍｏｒｙＵｓａｇｅ１１４３及びｎｅｔｗｏｒｋＣｏｎｎｅｃｔｉｖｉｔｙ１１４５である各属性のしきい値を定義する。
【００７９】
イーモンエンジン１１０１は、状態の変化があったと決定すると、ｕｓｅｒＮａｍｅ１１５４、ｃｏｍｐｕｔｅｒＧｕｉｄ１１５８、ｓｔａｒｔＴｉｍｅ１１６０、ｅｎｄＴｉｍｅ１１６２及びｇａｍｅＳｔａｔｅ１１６４を含むクライアントゲームデータ１１５２を収集する。しかしながら、イーモンエンジン１１０１は、殺しの回数、ポイント数、レベル、ミッションの完了、ステータス及び勝利数等の他のクライアントゲームデータを収集してもよい。クライアントのゲームデータ１１５２が蓄積されると、ネットワーク接続が利用できるときには、予め定義された頻度で又は限界値が満たされているときに、イーモンエンジン１１０１は、例えば図１１ＢにおけるＧＳＯＡＰ１１７４である安全な通信プロトコルを介してサーバに上記データを送信する。次にサーバは、インターネット接続を介して図１１Ｂにおけるデータベース１１７６のデータを更新する。
【００８０】
次に図１２Ａ及び図１２Ｂを参照すると、本発明の例示的な一実施形態に係る、本発明の態様により提供されるチャットの機能のアクティビティ図が描かれている。図１２Ａに示すように、エージェントはユーザの設定（プリファレンス）をチェックして、起動時にチャットに署名（サインイン）するか否かを決定する。ユーザの設定が起動時のチャットへの署名を示しているときには、エージェントはウェブサーバからチャットパスワードを要求する１２００。そうでなければ、チャットクライアントはアイドル状態に留まり１２０２、ユーザは手動でウェブサーバにログインしてチャットパスワードを要求する１２００。
【００８１】
ウェブサーバはエージェントにチャットパスワードを送信し１２０４、クライアントはパスワードを受け入れる１２０６。エージェントがウェブサーバから新しいパスワードを受信した後、エージェントは新しいパスワードを、そのパスワードがクライアントによってタイプインされているかのように認証のためにチャットサーバに送信する１２０８。このパスワードは、クライアントのカレントチャットパスワードと称される。チャットサーバは、新しいパスワードを検証することによってユーザを認証する１２１０。認証が成功したときに、エージェントとチャットサーバとの間にハンドシェークが完了する１２１２。エージェントは、チャットサーバをログオフしてもよく１２１４、チャット又はチャットの機能の選択を終了する。しかしながら、認証に失敗したときには、ユーザにはエラーメッセージ１２１６が返され、再試行が生じる場合がある。
【００８２】
本発明の態様は、複数のチャットの機能を提供する。図１２Ｂに示すように、これらのチャットの機能は、グループチャットに参加すること１２１８と、グループチャットを開始すること１２２０と、他のユーザをブロックすること１２２２と、バディ（Buddy）の参加を排除すること１２２４と、他のユーザからの参加要求を受け入れること１２２６と、他のユーザの参加を追加すること１２２８と、他のユーザにメッセージを送信すること１２３０と、他のユーザからメッセージを受信すること１２３２とを含む。
【００８３】
ユーザが他のユーザからメッセージを受信すると１２３２、エージェントは、当該他のユーザがブロックされているか、名簿に載っているか、名簿に載っていないかを決定する。ユーザがブロックされているときには、メッセージはドロップされる１２３４。ユーザが名簿に載っているときには、メッセージは表示される１２３８。ユーザが名簿に載っていないときには、ユーザがメッセージの受け入れ又は拒絶の何れを希望するかを問うプロンプトが表示される１２３６。ユーザがメッセージを受け入れたときには、メッセージは表示される１２３８。そうでなければ、メッセージはドロップされる１２３４。
【００８４】
次に図１３Ａを参照すると、本発明の例示的な一実施形態に係る、サーバの視点によりゲームからユーザのゲームプレイデータを収集する処理のフローチャートが描かれている。この例示的な処理は、図３におけるサーバ３２０のようなサーバに実装されてもよい。図１３Ａに示すように、本処理は、サーバの視点から、サーバがユーザのオンラインプロファイルにおける各ゲームリストのユーザ更新を検出するときに開始される（ステップ１３００）。次にサーバは、サーバ上のユーザのゲームリストデータを更新する（ステップ１３０２）。エージェントから、同期の要求が受信される（ステップ１３０４）。エージェントは、この同期要求を行うことにより新しいゲームリストをローカルに取得する。次にサーバは、そのゲームリストを、ゲームリストにおける更新されたゲームに関連づけられる動的ライブラリと共にエージェントに送信する（ステップ１３０６）。サポートされる各ゲームは、潜在的に異なる動的ライブラリを有してもよい。エージェントが全く同期されないときには、新しいゲームリスト及び新しい動的ライブラリは全く送信されない。その後、サーバはソフトウェアエージェントからの通信要求を検出する（ステップ１３０８）。サーバは、エージェントからクライアントのゲームデータ更新を上記更新されたゲームリスト上の特定のゲームに対するサポートとともに受信する（ステップ１３１０）。
【００８５】
次にサーバは、ユーザがゲームをして費やした時間の長さ等の累積のリアルタイムのゲームプレイデータに基づいて与えられるクレジットに加えて、合計得点等のパフォーマンスインセンティブに基づくクレジットをユーザの個人口座にクレジットすることができる（ステップ１３１２）。次にサーバは、ユーザからの要求により、又は動的統計のために、口座の更新をソフトウェアエージェントに送信することができ（ステップ１３１４）、よってユーザは口座の状態を見てもよい。よって処理は、この後に終了する。
【００８６】
次に図１３Ｂを参照すると、本発明の例示的な一実施形態に係る、ソフトウェアエージェントの視点によりゲームからユーザのゲームプレイデータを収集する処理のフローチャートが描かれている。この例示的な処理は、図３におけるソフトウェアエージェント３０１のようなソフトウェアエージェントに実装されてもよい。図１３Ｂに示すように、処理は、ユーザが新しいゲームを開始しつつあることをソフトウェアエージェントが検出したときに開始される（ステップ１３２０）。次に、ソフトウェアエージェントは、対応する動的ライブラリ及びそのゲームのゲーム変数リストをメモリへロードする（ステップ１３２２）。ゲーム変数リストは、そのゲームが絶えず監視している変数を含む。このリストは、ゲーム開発者によって提供されてもよい。
【００８７】
メモリに変数をロードした後に、ソフトウェアエージェントは、このゲーム変数リストを用いて追加の関数をメモリにロードする（ステップ１３２４）。各ゲーム変数は、動的ライブラリにその変数を計算することのできる対応する関数を有する。ゲーム変数と対応する関数の一例は、上述したようなウィンドウＺオーダーと「ｃａｌＷｉｎｄｏｗＺｏｒｄｅｒＷｉｎ３２」である。
【００８８】
ある設定された間隔で、ソフトウェアエージェントは対応する関数を呼び出すことにより、その関数によって収集されるデータを記憶する（ステップ１３２６）。データは、クライアントのゲームデータファイル又は別のファイルに暗号化されて記憶されてもよい。ネットワーク接続が利用可能でありかつしきい値に達しているときには、ソフトウェアエージェントは、上記関数によって収集されるデータを含むクライアントのゲームデータをサーバに送信する（ステップ１３２８）。よって処理は、この後に終了する。
【００８９】
要するに、本発明の態様は、ユーザのゲームプレイデータをオンライン及びオフラインで収集し、収集されるデータに従ってユーザにクレジットするモデルを提供する。このユーザのゲームプレイデータは、他の方法では歪められる、あるいは偏る販売後の市場調査データである。ゲームプレイデータを収集することに加えて、本発明は、ユーザの口座の管理、チャットの管理、ゲームリストの管理等を含む様々な機能を実行するソフトウェアエージェントを提供する。さらに、本発明の態様は、単独のプレーヤのゲームプレイに関する偏りのないゲームプレイデータを提供する。さらに、本発明の別の態様は、例えば、ライブゲーム内の動的に効率的な目標の広告を促進するために用いられるデータのみならず、ユーザのために双方向環境を開始する動的なデータ、ユーザ間の競合の分析である固有のサービスを提供するように、企業がデータの主要な態様を利用する方法を含む。
【００９０】
本発明は、完全なハードウェアの実施形態、完全なソフトウェアの実施形態又はハードウェア及びソフトウェア要素の両方を含む実施形態の形式をとることができる。ある好適な実施形態では、本発明は、ファームウェア、常駐のソフトウェア、マイクロコードなどを含む、但しこれらに限定されないソフトウェアに実装される。
【００９１】
さらに、本発明は、コンピュータ又は任意の命令実行システムによって、又はこれらに接続して用いるためのプログラムコードを提供するコンピュータにおいて利用可能な媒体又は有形のコンピュータ読み取り可能な媒体からアクセス可能なコンピュータプログラムプロダクトの形式をとることができる。この説明の目的に沿って、コンピュータにおいて利用可能な媒体又はコンピュータ読み取り可能な媒体は、命令実行システム、装置又は機器によって、又はこれらに接続して用いるためのプログラムを含み、記憶し、伝達し、伝搬し、又は転送することのできる任意の装置であることが可能である。
【００９２】
上記媒体は、電子的、磁気的、光学的、電磁的、赤外線又は半導体システム（或いは装置又は機器）であることも、伝達のための媒体であることも可能である。コンピュータ読み取り可能な媒体の例は、半導体又はソリッドステートメモリ、磁気テープ、取外し可能コンピュータディスケット、ランダムアクセスメモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、硬い磁気ディスク及び光ディスクを含む。光ディスクの現行例は、コンパクトディスク−読み取り専用メモリ（ＣＤ−ＲＯＭ）、コンパクトディスク−読み取り／書込み（ＣＤ−Ｒ／Ｗ）及びデジタルビデオディスク（ＤＶＤ）を含む。上記媒体は、実装に依存して有形であっても無形であってもよい。
【００９３】
プログラムコードの記憶及び／又は実行に適するデータ処理システムは、システムバスを介して直接的に又は間接的にメモリ素子に結合される少なくとも１つのプロセッサを含む。メモリ素子は、プログラムコードを実際に実行している間に用いられるローカルメモリ、大容量記憶装置及び実行中にコードが大容量記憶装置から検索されなければならない回数を減らすために少なくとも任意のプログラムコードの一時的記憶装置を提供するキャッシュメモリを含むことが可能である。
【００９４】
上記システムには、入力／出力又はＩ／Ｏ装置（キーボード、ディスプレイ、ポインティング装置などを含むがこれらに限定されない）を直接的に又はＩ／Ｏコントローラを介在させて結合することができる。
【００９５】
また上記システムには、データ処理システムが専用ネットワーク又は公衆ネットワークを介して他のデータ処理システム又はリモートプリンタ又は記憶装置に結合された状態になれるようにするネットワークアダプタが結合されてもよい。モデム、ケーブルモデム及びイーサネットカードは、単に、現時点で利用可能なタイプのネットワークアダプタのうちの幾つかである。
【００９６】
本発明を例示及び説明を目的として提示してきたが、上記説明は網羅的であること、又は本発明を開示した形式に限定することを意図するものではない。一般的な当業者には、多くの変形及び変更が明らかとなるであろう。実施形態は、本発明の原理及び実際のアプリケーションを最もよく説明し、かつ他の一般的な当業者が様々に修正された様々な実施形態のための本発明を企図された特定の使用に適するものとして理解できるようにするために選択され、記述されたものである。
【図面の簡単な説明】
【００９７】
【図１】本発明が実装されてもよいデータ処理システムのネットワークの図的記述である。
【図２】本発明の例示的な一実施形態に係る、サーバとして実装されてもよいデータ処理システムのブロック図である。
【図３】本発明の例示的な一実施形態に係る、本発明の構成要素間の相互作用の図である。
【図４】本発明の例示的な一実施形態に係る、ユーザのゲームプレイデータを収集しかつユーザにクレジットするための処理のフローチャートである。
【図５】本発明の例示的な一実施形態に係る、ユーザのゲームプレイデータを処理するための処理のフローチャートである。
【図６】本発明の例示的な一実施形態に係る、ユーザによるアカウントクレジットの支出を管理する処理のフローチャートである。
【図７】本発明の例示的な一実施形態に係る、ゲーマー、ソフトウェアエージェント、データベースサーバ、ウェブサーバ及びチャットサーバによって実行される使用事例を示す使用事例図である。
【図８Ａ】本発明の例示的な一実施形態に係る、ゲーマー、ソフトウェアエージェント、サーバ及びチャットサーバによって実行されるアクティビティを示すアクティビティ図である。
【図８Ｂ】本発明の例示的な一実施形態に係る、ゲーマー、ソフトウェアエージェント、サーバ及びチャットサーバによって実行されるアクティビティを示すアクティビティ図である。
【図９】本発明の例示的な一実施形態に係る、ゲームステートを決定するための処理のフローチャートである。
【図１０Ａ】本発明の例示的な一実施形態に係る、ユーザのゲームプレイデータを認証し、記憶し、転送するときに関連するアクティビティ及びデータの図である。
【図１０Ｂ】本発明の例示的な一実施形態に係る、ユーザのゲームプレイデータを認証し、記憶し、転送するときに関連するアクティビティ及びデータの図である。
【図１０Ｃ】本発明の例示的な一実施形態に係る、ユーザのゲームプレイデータを認証し、記憶し、転送するときに関連するアクティビティ及びデータの図である。
【図１１Ａ】本発明の例示的な一実施形態に係る、本発明の態様の実装に用いられる例示的なクラスを示すクラス図である。
【図１１Ｂ】本発明の例示的な一実施形態に係る、本発明の態様の実装に用いられる例示的なクラスを示すクラス図である。
【図１２Ａ】本発明の例示的な一実施形態に係る、本発明の態様により提供されるチャットの機能を示すアクティビティ図である。
【図１２Ｂ】本発明の例示的な一実施形態に係る、本発明の態様により提供されるチャットの機能を示すアクティビティ図である。
【図１３Ａ】本発明の例示的な一実施形態に係る、ゲームからユーザのゲームプレイデータを収集するための処理の、サーバの視点からのフローチャートである。
【図１３Ｂ】本発明の例示的な一実施形態に係る、ゲームからユーザのゲームプレイデータを収集するための処理の、ソフトウェアエージェントの視点からのフローチャートである。
【図１】
2009509647.tif 000003
【図２】
2009509647.tif 000004
【図３】
2009509647.tif 000005
【図４】
2009509647.tif 000006
【図５】
2009509647.tif 000007
【図６】
2009509647.tif 000008
【図７】
2009509647.tif 000009
【図８Ａ】
2009509647.tif 000010
【図８Ｂ】
2009509647.tif 000011
【図９】
2009509647.tif 000012
【図１０Ａ】
2009509647.tif 000013
【図１０Ｂ】
2009509647.tif 000014
【図１０Ｃ】
2009509647.tif 000015
【図１１Ａ】
2009509647.tif 000016
【図１１Ｂ】
2009509647.tif 000017
【図１２Ａ】
2009509647.tif 000018
【図１２Ｂ】
2009509647.tif 000019
【図１３Ａ】
2009509647.tif 000020
【図１３Ｂ】
2009509647.tif 000021
【手続補正書】
【提出日】平成20年6月3日(2008.6.3)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ゲーミング環境においてコンピュータによって実施される方法であって、
ユーザによるゲームの開始に応答して、上記ユーザがゲームすることの結果としてデータ処理システムに発生されるゲーミング特性を監視することと、
上記ゲーミング特性に基づいてゲームステートを識別することと、
上記ゲームステートの変更に応答して、ゲームプレイデータを収集することと、
上記ゲームプレイデータを報告することと、
上記ゲームプレイデータを記憶することとを含むコンピュータによって実施される方法。
【請求項２】
上記ゲーミング特性は、ユーザのマウスの移動、ユーザのジョイスティックの操作、ユーザのキーボードの操作、ユーザのアクティブな処理、メモリの使用及びプロセッサの利用のうちの少なくとも１つを含む請求項１記載のコンピュータによって実施される方法。
【請求項３】
上記監視すること、識別すること、収集すること及び報告することは、ソフトウェアエージェントによって実行される請求項１記載のコンピュータによって実施される方法。
【請求項４】
上記識別することは、
ユーザ入力及びルールセットの少なくとも一方に基づいて上記ゲーミング特性を検証することを含む請求項１記載のコンピュータによって実施される方法。
【請求項５】
上記ルールセットは上記ゲーミング特性の限界値を備えた請求項１記載のコンピュータによって実施される方法。
【請求項６】
上記報告することは、
上記ゲームプレイデータをクライアントのクライアントゲームデータファイルに蓄積することと、
しきい値に達しているときに、上記ゲームプレイデータを、通信プロトコルを介してサーバに送信することとを含む請求項１記載のコンピュータによって実施される方法。
【請求項７】
上記ゲームプレイデータをデータベースに更新することと、
上記データベースから動的なデータを受信することとをさらに含み、
上記動的なデータはストリーミングの統計、チャットへの参加、チャットバディのステータス、ローカルユーザのステータス及びリアルタイムのパフォーマンスの統計のうちの少なくとも１つを含む請求項６記載のコンピュータによって実施される方法。
【請求項８】
上記ゲームプレイデータは、ユーザがゲームをして費やした時間の長さ、時間帯、ゲームの名称及びパフォーマンスの統計のうちの少なくとも１つを含む請求項１記載のコンピュータによって実施される方法。
【請求項９】
サポートされる複数のゲームのリストを、ゲームリストファイルから読み出すことをさらに含み、
上記ゲームリストファイルはユーザプロファイルに基づき、
上記ゲームは上記サポートされるゲームのリストに存在し、
上記方法は、上記ゲームに関連づけられる新しいゲームオブジェクトを生成することをさらに含み、
上記新しいゲームオブジェクトは上記ゲームリストファイル内の対応するエントリに基づく請求項１記載のコンピュータによって実施される方法。
【請求項１０】
上記ユーザによって開始されるチャットの複数の機能を管理することをさらに含み、
上記チャットの機能は、グループチャットに参加することと、グループチャットを開始することと、第２のユーザをブロックすることと、第３のユーザの参加を排除することと、第４のユーザの参加を追加することと、第５のユーザにメッセージを送信することと、第６のユーザからメッセージを受信することとのうちの少なくとも１つを含み、
上記第１、第２、第３、第４、第５及び第６のユーザは上記ユーザ以外の異なるユーザを含む請求項１記載のコンピュータによって実施される方法。
【請求項１１】
バスと、
コンピュータにおいて利用可能なコードを含む記憶装置と、
上記バスに接続される通信ユニットと、
ユーザ入力装置と、
上記バスに接続される処理ユニットとを備え、
上記処理ユニットは、上記コンピュータにおいて利用可能なコードを実行することにより、ユーザによるゲームの開始に応答して上記ユーザがゲームをすることの結果として上記ユーザ入力装置により発生されるゲーミング特性を監視し、上記ゲーミング特性に基づいてゲームステートを識別し、上記ゲームステートの変更に応答してゲームプレイデータを収集し、上記ゲームプレイデータを報告するゲーミングシステム。
【請求項１２】
上記処理ユニットは、上記コンピュータにおいて利用可能なコードを実行することにより、ユーザ入力及びルールセットの少なくとも一方に基づいて上記ゲーミング特性を検証する請求項１１記載のゲーミングシステム。
【請求項１３】
上記処理ユニットは、上記コンピュータにおいて利用可能なコードを実行することにより、クライアントのクライアントゲームデータファイルに上記ゲームプレイデータを蓄積し、しきい値に達しているときに、上記ゲームプレイデータを、通信プロトコルを介してサーバに送信する請求項１１記載のゲーミングシステム。
【請求項１４】
上記処理ユニットはさらに、上記コンピュータにおいて利用可能なコードを実行することにより上記ゲームプレイデータをデータベースに更新し、上記データベースから動的なデータを受信し、
上記動的なデータはストリーミングの統計、チャットへの参加、チャットバディのステータス、ローカルユーザのステータス及びリアルタイムのパフォーマンスの統計のうちの少なくとも１つを含む請求項１４記載のゲーミングシステム。
【請求項１５】
上記処理ユニットはさらに、上記コンピュータにおいて利用可能なコードを実行することにより、サポートされる複数のゲームのリストを、ゲームリストファイルから読み出し、
上記ゲームリストファイルはユーザプロファイルに基づき、
上記ゲームは上記サポートされるゲームのリストに存在し、
上記処理ユニットは上記ゲームに関連づけられる新しいゲームオブジェクトを生成し、
上記新しいゲームオブジェクトは上記ゲームリストファイル内の対応するエントリに基づく請求項１１記載のゲーミングシステム。
【請求項１６】
上記処理ユニットはさらに、上記コンピュータにおいて利用可能なコードを実行することにより上記ユーザにより開始されるチャットの複数の機能を管理し、
上記チャットの機能は、グループチャットに参加することと、グループチャットを開始することと、第２のユーザをブロックすることと、第３のユーザの参加を排除することと、第４のユーザの参加を追加することと、第５のユーザにメッセージを送信することと、第６のユーザからメッセージを受信することとのうちの少なくとも１つを含み、
上記第１、第２、第３、第４、第５及び第６のユーザは上記ユーザ以外の異なるユーザを含む請求項１１記載のゲーミングシステム。
【請求項１７】
ゲーミング環境において方法を実行するためのコンピュータにおいて利用可能なプログラムコードを有する、コンピュータにおいて利用可能な媒体を備えたコンピュータプログラムプロダクトであって、
ユーザによるゲームの開始に応答して、上記ユーザがゲームをすることの結果としてデータ処理システム上で発生されるゲーミング特性を監視するためのコンピュータにおいて利用可能なプログラムコードと、
上記ゲーミング特性に基づいてゲームステートを識別するためのコンピュータにおいて利用可能なプログラムコードと、
上記ゲームステートの変更に応答してゲームプレイデータを収集するためのコンピュータにおいて利用可能なプログラムコードと、
上記ゲームプレイデータを報告するためのコンピュータにおいて利用可能なプログラムコードとを備えたコンピュータプログラムプロダクト。
【請求項１８】
上記識別するためのコンピュータにおいて利用可能なプログラムコードは、
ユーザ入力及びルールセットの少なくとも一方に基づいて上記ゲーミング特性を検証するためのコンピュータにおいて利用可能なプログラムコードを備えた請求項１７記載のコンピュータプログラムプロダクト。
【請求項１９】
上記ゲームプレイデータをデータベースに更新するためのコンピュータにおいて利用可能なプログラムコードと、
上記データベースから動的なデータを受信するためのコンピュータにおいて利用可能なプログラムコードとをさらに備え、
上記動的なデータはストリーミングの統計、チャットへの参加、チャットバディのステータス、ローカルユーザのステータス及びリアルタイムのパフォーマンスの統計のうちの少なくとも１つを含む請求項１７記載のコンピュータプログラムプロダクト。
【請求項２０】
上記ユーザによって開始されるチャットの複数の機能を管理するためのコンピュータにおいて利用可能なプログラムコードをさらに備え、
上記チャットの機能は、グループチャットに参加することと、グループチャットを開始することと、第２のユーザをブロックすることと、第３のユーザの参加を排除することと、第４のユーザの参加を追加することと、第５のユーザにメッセージを送信することと、第６のユーザからメッセージを受信することとのうちの少なくとも１つを含み、
上記第１、第２、第３、第４、第５及び第６のユーザは上記ユーザ以外の異なるユーザを含む請求項１７記載のコンピュータプログラムプロダクト。
【請求項２１】
ゲーム実行の検出に応答して、ソフトウェアエージェントの処理を初期化することと、
ユーザが上記ゲームをアクティブにプレイすることに応答して、上記ゲームプレイデータを収集することと、
上記ゲームプレイデータを通信リンクを介して宛先に送信することとをさらに含む請求項１記載のコンピュータによって実施される方法。
【請求項２２】
上記ゲームプレイデータは、上記ゲームが上記ユーザにより購入された後の当該ユーザの行動を示す販売後のデータを含む請求項２１記載のコンピュータによって実施される方法。
【請求項２３】
上記ゲームプレイデータは、ユーザがゲームをして費やした時間の長さ、時間帯、ゲームの名称及び上記ゲームにおけるユーザパフォーマンスに関連するパフォーマンスの統計のうちの少なくとも１つを含む請求項２１記載のコンピュータによって実施される方法。
【請求項２４】
上記収集するステップは、上記ゲームのステートに変化があるか否かを決定することと、
上記ゲームのステートの変化が検出されるときにのみ、上記ユーザのゲームプレイ統計を収集することを含む請求項２１記載のコンピュータによって実施される方法。
【請求項２５】
上記ユーザがゲームをして費やした時間の長さに基づいて、上記ユーザのユーザ口座にアカウントクレジットをクレジットすることをさらに含む請求項２２記載のコンピュータによって実施される方法。
【請求項２６】
パフォーマンスの統計に基づいて、上記ユーザのユーザ口座にアカウントクレジットをクレジットすることをさらに含む請求項２２記載のコンピュータによって実施される方法。
【請求項２７】
上記パフォーマンスの統計は、上記ユーザが得点したポイント数、上記ユーザが行った殺しの回数、上記ユーザが達成したゲームレベル、上記ユーザが果たしたミッション、上記ユーザのステータス及び上記ユーザが達成した勝利数のうちの少なくとも１つを含む請求項２６記載のコンピュータによって実施される方法。
【請求項２８】
上記宛先はサーバであり、
上記送信するステップは、上記収集されるゲームプレイデータを送信することを含む請求項２１記載のコンピュータによって実施される方法。
【請求項２９】
上記サーバは上記収集されるゲームプレイデータをデータベースに更新する請求項２８記載のコンピュータによって実施される方法。
【請求項３０】
仮想商店街における製品及びサービスに対する上記ユーザ口座におけるアカウントクレジットの支出を管理することをさらに含む請求項２５記載のコンピュータによって実施される方法。
【請求項３１】
上記収集するステップは、上記収集されるユーザのゲームプレイデータをクライアントのゲームデータファイルに蓄積することを含む請求項２８記載のコンピュータによって実施される方法。
【請求項３２】
上記収集することは、上記収集されるゲームプレイデータをローカルに蓄積することを含む請求項２１記載のコンピュータによって実施される方法。
【請求項３３】
上記収集されるゲームプレイデータに基づいて、対話式のコツ及びヒントを提供することをさらに含む請求項３２記載のコンピュータによって実施される方法。
【請求項３４】
上記処理ユニットは、
上記コンピュータにおいて利用可能なコードを実行することにより、ゲーム実行の検出に応答してソフトウェアエージェントの処理を初期化し、
ユーザが上記ゲームをアクティブにプレイすることに応答して、上記ゲームプレイデータをソフトウェアエージェントの処理を介して収集することにより、収集されたゲームプレイデータを形成し、
上記収集されたゲームプレイデータを通信リンクを介して宛先に送信する請求項１１記載のゲーミングシステム。
【請求項３５】
上記処理ユニットはさらに、上記コンピュータにおいて利用可能なコードを実行することにより、上記ユーザがゲームをして費やした時間の長さに基づいて、上記ユーザのユーザ口座にアカウントクレジットをクレジットすることをさらに含む請求項３４記載のゲーミングシステム。
【請求項３６】
上記処理ユニットはさらに、上記コンピュータにおいて利用可能なコードを実行することにより、上記ゲームにおけるユーザパフォーマンスに関連するパフォーマンスの統計に基づいて、上記ユーザのユーザ口座にアカウントクレジットをクレジットすることをさらに含む請求項３４記載のゲーミングシステム。
【請求項３７】
上記宛先はサーバであり、
上記処理ユニットは、上記コンピュータにおいて利用可能なコードを実行することにより、上記収集されたゲームプレイデータを通信リンクを介して宛先に送信することにおいて、上記コンピュータにおいて利用可能なコードを実行することにより上記収集されたゲームプレイデータを一定の時間間隔で送信する請求項３４記載のゲーミングシステム。
【請求項３８】
ゲーム実行の検出に応答して、ソフトウェアエージェントの処理を初期化し、ユーザが上記ゲームをアクティブにプレイすることに応答して、収集されたゲームプレイデータを形成する上記ソフトウェアエージェントの処理を介して上記ユーザのゲームプレイデータを収集し、上記収集されたゲームプレイデータを通信リンクを介して宛先に送信するためのコンピュータにおいて利用可能なプログラムコードをさらに備えた請求項１７記載のコンピュータプログラムプロダクト。
【請求項３９】
上記ユーザがゲームをして費やした時間の長さに基づいて、上記ユーザのユーザ口座にアカウントクレジットをクレジットするためのコンピュータにおいて利用可能なプログラムコードをさらに備えた請求項３８記載のコンピュータプログラムプロダクト。
【請求項４０】
上記ゲームにおけるユーザパフォーマンスに関連するパフォーマンスの統計に基づいて、上記ユーザのユーザ口座にアカウントクレジットをクレジットするためのコンピュータにおいて利用可能なプログラムコードをさらに備えた請求項３８記載のコンピュータプログラムプロダクト。
【請求項４１】
上記ゲームプレイデータは、上記ゲームが上記ユーザにより購入された後の上記ユーザの行動を示す販売後のデータを含む請求項１記載のコンピュータによって実施される方法。
【請求項４２】
上記ゲームプレイデータは、ユーザがゲームをして費やした時間の長さ、時間帯、ゲームの名称及び上記ゲームにおけるユーザパフォーマンスに関連するパフォーマンスの統計のうちの少なくとも１つを含む請求項１記載のコンピュータによって実施される方法。
【請求項４３】
上記ユーザがゲームをして費やした時間の長さに基づいて、上記ユーザのユーザ口座にアカウントクレジットをクレジットすることをさらに含む請求項４１記載のコンピュータによって実施される方法。
【請求項４４】
パフォーマンスの統計に基づいて、上記ユーザのユーザ口座にアカウントクレジットをクレジットすることをさらに含む請求項４１記載のコンピュータによって実施される方法。
【請求項４５】
上記ゲームプレイデータは、上記ゲームが上記ユーザにより購入された後の上記ユーザの行動を示す販売後のデータを含む請求項１７記載のコンピュータプログラムプロダクト。
【請求項４６】
上記ゲームプレイデータは、ユーザがゲームをして費やした時間の長さ、時間帯、ゲームの名称及び上記ゲームにおけるユーザパフォーマンスに関連するパフォーマンスの統計のうちの少なくとも１つを含む請求項１７記載のコンピュータプログラムプロダクト。
【請求項４７】
上記ユーザがゲームをして費やした時間の長さに基づいて、上記ユーザのユーザ口座にアカウントクレジットをクレジットすることをさらに含む請求項４５記載のコンピュータプログラムプロダクト。
【請求項４８】
パフォーマンスの統計に基づいて、上記ユーザのユーザ口座にアカウントクレジットをクレジットすることをさらに含む請求項４５記載のコンピュータプログラムプロダクト。
【国際調査報告】
2009509647.tif 000022