(57)【要約】【課題】複数の移動デバイスと１つのアプリケーション・サーバを含むシステムにおいて、オン・デマンド移動通信サービスの性能を改善する。【解決手段】中継ノード５０は、第１の移動デバイス１８からデータを受け取る。そのデータはゲーム・サーバ５６に関する行先アドレスを有する。中継ノード５０は、受け取ったデータの中からサービス・フラグを検出し、その受け取ったデータを、保存されているルーティング規則に基づいて第２の移動デバイス２０へと送信する。受け取ったデータは、ＵＤＰプロトコルを用いて、重要データのパケット配送を保証するためにエラー修正コードを含めて送信される。移動デバイスは、クライアント・アプリケーションの動作中にアイドル通信周期の継続時間を追跡し、その継続時間が所定の閾値を超えたときに、割り当てられている資源の解放を防止するためにゲーム・サーバにダミー・パケットを送信する。【選択図】図２
2008011536.tif 000002
【特許請求の範囲】
【請求項１】
複数の移動デバイスと１つのゲーム・サーバとを備えた無線ネットワークにおけるオンライン・ゲームのための方法であって、
前記ゲーム・サーバに関する行先アドレスを有するデータを第１の移動デバイスから受け取るステップと、
前記受け取ったデータを認証するステップと、
前記受け取ったデータからサービス・フラグを検出するステップと、
前記サービス・フラグが設定されている場合に、保存されているルーティング規則に従って、ゲーム・サーバを迂回して、前記受け取ったデータを第２の移動デバイスに送信するステップと、を備えていることを特徴とするオンライン・ゲームのための方法。
【請求項２】
前記送信ステップが、前記受け取ったデータを第３の移動デバイスに送信するステップをさらに備えていることを特徴とする請求項１に記載の方法。
【請求項３】
前記送信ステップが、前記受け取ったデータを、第２の移動デバイスに服務する中継ノードに送信するステップをさらに備えていることを特徴とする請求項１に記載の方法。
【請求項４】
前記送信ステップが、前記サービス・フラグが設定されていない場合に、前記受け取ったデータを前記ゲーム・サーバに送信するステップをさらに備えていることを特徴とする請求項１に記載の方法。
【請求項５】
前記受け取ったデータがＵＤＰフォーマットを有することを特徴とする請求項１記載の方法。
【請求項６】
前記ゲーム・サーバからルーティング規則を受け取ると共に保存するステップさらに備えていることを特徴とする請求項１に記載の方法。
【請求項７】
多数参加オンライン無線ゲーム・システムに用いるための無線クライアント・デバイスであって、
ゲーム・セッション中にゲーム・データを生成するように適合されているクライアント・アプリケーションと、
前記生成されたゲーム・データがゲーム・サーバによる処理を要求するのかどうかを決定すると共に、そのゲーム・データがゲーム・サーバによる処理を要求しない場合にのみ設定されるサービス・フラグを有するヘッダを含んでいる場合に当該ゲーム・データをゲーム・サーバに送信するように、当該クライアント・デバイスにさせるプログラム命令を含んでいる中継ライブラリと、
前記送信されるゲーム・データに中継キーを関連づけるように当該クライアント・デバイスにさせるプログラム命令を含んでいる認証ライブラリと、を備えていることを特徴とする無線クライアント・デバイス。
【請求項８】
前記送信されるゲーム・データが、エラー修正コードを含んでいることを特徴とする請求項７に記載のクライアント・デバイス。
【請求項９】
前記エラー修正コードが、インターリーブされたデータを含んでいることを特徴とする請求項８に記載のクライアント・デバイス。
【請求項１０】
前記中継ライブラリが、前記送信されるゲーム・データに中継キーを含めるように当該クライアント・デバイスにさせるプログラム命令をさらに含んでいることを特徴とする請求項７に記載のクライアント・デバイス。
【請求項１１】
前記中継ライブラリが、前記クライアント・アプリケーションの実行中にアイドル通信周期の継続時間を追跡し、その継続時間が所定の閾値を超えたときにゲーム・サーバに向けてダミー・パケットを送信するように当該クライアント・デバイスにさせるプログラム命令を含んでいる監視アプリケーションをさらに備えていることを特徴とする請求項７に記載のクライアント・デバイス。
【請求項１２】
前記監視アプリケーションが、当該監視アプリケーションが始動したときに請求書発行サーバに第１の請求書通知を送信し、当該監視アプリケーションが終了したときに請求書発行サーバに第２の請求書通知を送信するように当該クライアント・デバイスにさせるプログラム命令を含んでいることを特徴とする請求項１１に記載のクライアント・デバイス。
【請求項１３】
データ・ネットワークを介して接続された、複数の移動デバイスと１つのアプリケーション・サーバとを含む無線ネットワークにおける中継ノードであって、
前記データ・ネットワークへのインターフェイスと、
ルーティング規則を保存しているメモリと、
第１の移動デバイスの発信元アドレスとアプリケーション・サーバの行先アドレスとを含んでいるデータを無線ネットワークから受け取り、
前記受け取ったデータを認証し、
前記受け取ったデータからサービス・フラグを検出し、
前記サービス・フラグが設定されている場合に、前記保存されているルーティング規則に基づいて、受け取ったデータを第２の移動デバイスに送信するように、当該中継ノードにさせるプログラム命令を含んでいるプログラム・メモリと、を備えていることを特徴とする中継ノード。
【請求項１４】
前記サービス・フラグが設定されている場合に、前記保存されているルーティング規則に基づいて、前記受け取ったデータが第３の移動デバイスに送信されることを特徴とする請求項１３に記載の中継ノード。
【請求項１５】
前記受け取ったデータが第２の移動デバイスに服務している第２の中継ノードに送信されることを特徴とする請求項１３に記載の中継ノード。
【請求項１６】
前記インターフェイスがＵＤＰデータを扱う機能を有していることを特徴とする請求項１３に記載の中継ノード。
【請求項１７】
前記保存されているルーティング規則が前記アプリケーション・サーバから受け取られることを特徴とする請求項１３に記載の中継ノード。
【請求項１８】
前記プログラム・メモリが、前記サービス・フラグが設定されていない場合に、前記受け取ったデータを前記アプリケーション・サーバに送信するように当該中継ノードにさせるプログラム命令をさらに含んでいることを特徴とする請求項１３に記載の中継ノード。
【請求項１９】
前記アプリケーション・サーバがゲーム・サーバであり、前記受け取ったデータがゲーム・データであることを特徴とする請求項１３に記載の中継ノード。
【請求項２０】
前記アプリケーション・サーバがＰＴＴサーバであり、前記受け取ったデータがＰＴＴ通信データを含んでいることを特徴とする請求項１３に記載の中継ノード。
【請求項２１】
前記プログラム・メモリが、前記受け取ったデータに対して呼詳細記録を生成して保存するように当該中継ノードにさせるプログラム命令をさらに含んでいることを特徴とする請求項１３に記載の中継ノード。
【請求項２２】
前記プログラム・メモリが、前記受け取ったデータから中継キーを検出し、前記中継キーを保存されている中継キーと比較することによって前記受け取ったデータを認証し、前記中継キーが保存されている中継キーと付合する場合のみ、前記受け取ったデータを送信し、前記中継キーが保存されている中継キーと付合しない場合には受け取ったデータを放棄するように当該中継ノードにさせるプログラム命令をさらに含んでいることを特徴とする請求項１３に記載の中継ノード。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は広く無線通信システムに関し、無線ネットワークのための通信プロトコル最適化を含み、特に、オン・デマンド通信における無線通信ネットワークを最適化するシステムと方法に関する。
【背景技術】
【０００２】
オンライン・ゲーム・システムは、インターネットなどのような通信ネットワークで接続された離れたユーザが互いにコンピュータ・ゲームをすることを可能とする。ユーザ等は、パーソナル・コンピュータのようなクライアント・デバイスからオンライン・ゲーム・サーバに接続する。クライアント・デバイスは、ゲームのためのグラフィックスと音響の処理を行い、プレーヤに相互交渉的ゲーム体験を提供する。オンライン・ゲームの速さと応答性は、通常、クライアント・デバイスとゲーム・サーバとの間の通信遅延によって制約される。各クライアント・デバイスは、ゲーム中の各プレーヤの動きと動作に関するデータ・メッセージを定期的にゲーム・サーバに送信する。ゲーム・サーバは、受信したデータに基づいて各プレーヤを追跡し、ゲームの動きが同調するように、データを他のクライアント・デバイスに送信する。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
無線環境は、通常、固定ネットワークに比べて通信遅延が大きく、それはオンライン・ゲームの体験性をさらに制約する。例えば、多くの無線通信システムは、移動デバイス（mobile device）に費用効果の良い電話サービスを提供するように設計され構成されている。従来の電話サービスで受け容れられている大きな遅延は、オンライン・ゲームのようなオン・デマンド通信を必要とする用途にとって、受け容れられない。さらに、移動デバイスは、パーソナル・コンピュータよりも処理能力と表示能力が低いことによる制約を受ける。
【０００４】
無線通信遅延は、プッシュ・トゥ・トーク（Push-to-Talk，ＰＴＴ）通信のような、他のオン・デマンド通信用途についても制約する。このように、オンライン・ゲームや、その他のオン・デマンド・サービスを円滑に進めるための改善された無線ネットワーク運用システム、および方法が要求されている。
【０００５】
本発明は、上記課題を解消するものであって、無線ネットワークにおけるオン・デマンド移動通信サービスの性能を改善するシステムと方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を達成するために、本発明の一実施形態において、無線ネットワークは複数の移動デバイスと、１つの中継ノードと、１つのアプリケーション・サーバとを含んでいる。中継ノードは、第１の移動デバイスから、アプリケーション・サーバに関する行先アドレスを有するデータを受け取る。その中継ノードは、受け取ったデータ中にサービス・フラグを検出し、その受け取ったデータを、保存されているルーティング規則に基づいて、第２の移動デバイスに配送するように適合されている。受け取ったデータは、パケット配送を保証するために、重要なデータのためのエラー修正コードを含めて、ユーザ・データグラム・プロトコル（User Datagram Protocol，ＵＤＰ）を用いて送信される。クライアント・デバイスは、さらに、クライアント・アプリケーションの動作中に、アイドル通信時間の持続時間を追跡するようにされ、また、持続時間が所定の閾値を超えるときに、割り当てられたシステム資源が放棄されるのを阻止するためにゲーム・サーバにダミー・パケットを送信するようにされる。本発明は、広く無線通信システムに関し、無線ネットワークのための通信プロトコルの最適化を含み、特に、オン・デマンド通信における無線通信ネットワークを最適化するシステムと方法に関するものである。
【発明を実施するための最良の形態】
【０００７】
以下、本発明の実施形態に係る無線ネットワークにおけるオンライン・ゲームのための方法、クライアント・デバイス、および中継ノードについて、図面を参照して説明する。
【０００８】
本発明の第１の実施形態が図１に示されている。移動ネットワーク（移動デバイス用の無線ネットワーク）１０は、複数の基地局（base station）１２と１４を含み、これらは複数の移動デバイス１６，１８，２０のそれぞれに無線通信サービスを行う。この移動ネットワーク１０は、移動通信のための大域システム（Global System for Mobile Communications，ＧＳＭ）ネットワークである。しかしながら、本発明は他の無線通信システムや、ＴＤＭＡ，ＣＤＭＡ、およびＷＣＤＭＡネットワークのようなプロトコルも取り扱って支援するものと理解される。移動デバイス１６，１８，２０は、移動電話や、個人用デジタル器（ＰＤＡ）または手持ちコンピュータのような、基地局１２，１４と通信を行うように適合された任意の装置とすることができる。
【０００９】
基地局１２は、移動切替センタ（Mobile Switching Center，ＭＳＣ）２６を介して公共切替電話網（Public Switched Telephone Network，ＰＳＴＮ）２４にむけての相互通信をルーティング（経路指定）する基地局制御装置（ＢＳＣ）２２に接続されている。パケット・データ通信は、基地局１２から、移動ネットワーク１０をＧＧＳＮ（Gateway GPRS Support Node、GPRS：General Packet Radio Service）５４に接続するＳＧＳＮ（Serving GPRS Support Node）２８へとルーティングされる。基地局１４は、相互交渉通信をＭＳＣ３４によってＰＳＴＮ２４へとルーティングし、パケット・データ通信をＧＧＳＮ５４に接続されているＳＧＳＮ３６へとルーティングする基地局制御装置３２に接続されている。
【００１０】
移動デバイス１６，１８，２０は、アプリケーション・サーバを介してオンライン・ゲームを実行をするように適合されている。従来の構成では、例えば、移動デバイス１６は、インターネット４２を介してアプリケーション・サーバにアクセスして（ジャバ・アプリケーションのような）ゲームのクライアント用バージョンをダウンロードし、ゲーム環境を構築し、１つまたはそれ以上の移動デバイス１８，２０、または他のクライアント・デバイスと共にオンライン・ゲーム実行に参加する。各移動デバイスは、ゲーム実行の間、ゲーム実行を同調させるため、また、キャラクタ位置や他のデータなどのゲーム状態情報を分け合うために、インターネット４２を介してアプリケーション・サーバ４０と通信する。アプリケーション・サーバ４０は、受け取った情報を処理し、ゲーム同調のための情報を参加している移動デバイスの各々に送信する。
【００１１】
より応答性の良い多数参加ゲーム実行と、より速いデータ送信とを円滑に進めるために、本実施形態の移動ネットワーク１０は、少なくとも１つの中継ノード５０と１つのアプリケーション・サーバ４４とを備えている。中継ノード５０は、移動デバイス１６，１８、およびアプリケーション・サーバ４４の間でデータ通信リンクを与えるＧＧＳＮ３０に接続されたルータであり、移動デバイス１６，１８，２０の間のピア・トゥ・ピア・ルーティングを円滑に進める。また、中継ノード５０は、例えば、移動デバイス１６とインターネット４２間のように、移動デバイスと他のネットワークとの間でデータ通信を行うように適合させてもよい。アプリケーション・サーバ４４は、（図示のように）移動ネットワーク１０や、外部システムの一部分としてもよい。
【００１２】
中継ノード５０は、運用時にＳＧＳＮ２８からのゲーム・データ・パケットの選別を行い、アプリケーション・サーバ４４による処理が不要とされるゲーム情報のピア・トゥ・ピア・ルーティングを円滑に進める。例えば、中継ノード５０は、移動デバイス１６からデータ・パケットを受け取り、アプリケーション・サーバ４４を迂回して、移動デバイス１８にルーティングし、または、移動デバイス２０に送信するために２番目の中継ノード５２にルーティングし、または、保存されているルーティング規則に示される複数の行先にルーティングして、そのデータ・パケットを送信する。要求された場合には、データ・パケットの複製がアプリケーション・サーバ４４へと送信される。もし、アプリケーション・サーバ４４による処理が要求されるならば、中継ノード５０は、そのデータ・パケットをアプリケーション・サーバ４４に送信する。アプリケーション・サーバ４４は、受け取ったデータを処理し、更新されたゲーム・データを、中継ノード５０，５２を介して移動デバイス１６，１８，２０に送信する。
【００１３】
中継ノード５０が、ゲーム・サーバやプッシュ・トゥ・トーク・サーバを含む任意のアプリケーション・サーバに接続できることは、当業者にとって明らかである。ＰＴＴの場合、２つの移動デバイスの間でＰＴＴセッションが構築された後、アプリケーション・サーバを迂回してより多くの即時通信を提供し、中継ノードを介したピア・トゥ・ピア通信が行われる。
【００１４】
図２を参照して、ゲーム・アプリケーションの一実施形態を説明する。この実施形態において、移動デバイス１８と移動デバイス２０は、ゲーム・サーバ５６を介してオンライン・ゲームに参加する。移動デバイス１８のユーザは、移動デバイス１８に搭載したゲーム・アプリケーションを介してゲーム・サーバ５６にアクセスし、ゲームセッションを開始する。移動デバイス１８とゲーム・サーバ５６との通信６０は、中継ノード５０を介して送られる。移動デバイス２０のユーザは、同様に、移動デバイス２０に搭載したゲーム・アプリケーションを介してゲーム・サーバ５６にアクセスし、ゲーム・セッションに参加する。移動デバイス２０とゲーム・サーバ５６との通信６２は、中継ノード５２を介して送られる。
【００１５】
ゲーム・サーバ５６は、セッション・ルーティング規則６４ａ，６４ｂを、移動デバイスに対して服務するそれぞれの中継ノード５０，５２に渡す。ルータにおける保存されたルーティング規則を更新するためのシステムとプロトコルは、当技術分野において知られており、本発明の種々の実施形態と共に用いることができる。ゲームの実行は、ゲーム・データ６６ａ，６６ｂがそれぞれの移動デバイスに送られた後に始まる。ゲーム実行中において、各移動デバイスは、お互い同士とゲーム・サーバとの間で同調データを供給する必要がある。ゲーム・データ６８は、移動デバイス１８からゲーム・サーバ５６へと送信される。このとき、ゲーム・データ６８は、中継ノード５０で受け取られ、中継ノード５０は、その中にサービス・フラグが設定されていないことを決定し、そのゲーム・データ６８をセッション・ルーティング規則６４ａに基づいてゲーム・サーバ５６に送る。ゲーム・サーバ５６は、必要に応じてそのデータを処理し、処理されたデータ７０を移動デバイス２０に送る。処理されたデータは、送信内容を移動デバイス２０に送信する中継ノード５２に送られる。
【００１６】
ゲーム・サーバ５６によって処理される必要のない送信内容の場合、移動デバイス１８はゲーム・データ７２のヘッダ中にサービス・フラグを設定する。移動デバイス１８がゲーム・データ７２をゲーム・サーバ５６に送信するとき、中継ノード５０は、ゲーム・サーバ５６を迂回するようにセッション・ルーティング規則６４ａを適用する。適切なルーティング規則は、セッションンｉｄ、ソースｉｄ、行先ｉｄ、および／または他の識別子に基づいて識別される。一実施形態において、中継ノード５０は、移動デバイス１８を発信源とし、ゲーム・サーバ５６を行先とし、サービス・フラグを設定し、規則６４ａを適用して、中継ノード５２を介してゲーム・データ７２を移動デバイス２０に送る。セッション終了後（通信７４ａ，７４ｂ参照）、ゲーム・サーバ５６は、中継ノード５０，５２、および通信７４ａ，７４ｂから、セッション規則６４ａ，６４ｂを消去する。
【００１７】
図３は、エクスプレス・ネットワーク（express network、商用サービスの１つ）における中継ノードの一実施形態を示す。中継ノード１００は、エクスプレス・ネットワーク１１０の構成要素である。エクスプレス・ネットワーク１１０は、さらに、プッシュ・プロキシ・ゲートウエイ（Push Proxy Gateway，ＰＰＧ）１１２、認証サーバ１１４、ディレクトリ・サーバ１１６、請求書発行サーバ１１８、および少なくとも１つのアプリケーション・サーバ１３０を含む。エクスプレス・ネットワーク１１０は、ＭＳＣ／ＳＭＳＣ１２４とＳＧＳＮ／ＧＧＳＮ１２６を介して、少なくとも１つの移動デバイス１６０に無線通信サービスを提供する無線ネットワーク１２２に接続されている。
【００１８】
移動デバイス１６０は、図４に示すように、移動デバイス１６０とエクスプレス・ネットワーク１１０の間の通信を可能とするエクスプレス・クライアント・ライブラリ１６２を保存するメモリを有し、中継ノード１００を介して行われるアプリケーション・サーバ１３０とのＵＤＰパケット通信を支援する中継ライブラリ１６４を有する。一実施形態において、移動デバイス１６０は、さらに、トレーニング・ライブラリ１６６、認証ライブラリ１６８、およびページング・ライブラリ１７０を有している。トレーニング・ライブラリ１６６は、移動デバイス１６０とアプリケーション・サーバ１３０との間の通信性能を測定するロジックを有しており、それは中継ライブラリ１６４が通信を行うための適切なモードを決定するためのものである。認証ライブラリ１６８は、エクスプレス・ネットワーク１１０内のデータ通信に対する認証ロジックを有しており、それは、本明細書に記載されているように、中継キーとトークンの使用に対するロジックを含んでいる。ページング・ライブラリ１７０は、移動デバイス間の通信を円滑に進めるため、および、ＰＰＧ１１２からのページングの要求を受け取るためのロジックを有している。例えば、移動デバイス１６０は、他の移動デバイスがオンライン・ゲームに参加しようとして発するページング要求を受け取り、ページング・ライブラリ１７０は、要求を受けたときに、関連するゲーム・アプリケーションを始動するように適合される。
【００１９】
移動デバイス１６０は、また、クライアント・アプリケーション１７２および関連するアプリケーション・データ１７４を保存している。クライアント・アプリケーション１７２は、デバイス・ファームウエアに含まれたり、アプリケーション・サーバ１３０からダウンロードされたり、ＷＡＰゲートウエイ１８２を介してダウンロード・サーバ１８０からダウンロードされたり、または、他の方法により取得されたりするものである。クライアント・アプリケーション１７２は、ここで説明されるように、ＵＤＰプロトコルを用いてアプリケーション・サーバ１３０に向けて、データ・メッセージを送信するためのロジックを含んでいる。クライアント・アプリケーション１７２は、エクスプレス・ネットワーク１１０内において、ＨＴＴＰ／ＴＣＰを含む、他の通信プロトコルを用いることができる。
【００２０】
アプリケーション・サーバ１３０は、図５に示すように、サーバ・アプリケーション１３２、アプリケーション・データ１３４、およびエクスプレス・サーバ・ライブラリ１３６を保存しているメモリを含んでいる。一実施形態において、アプリケーション・サーバ１３０との通信は、エクスプレス・サーバ・ライブラリ１３６を用いて進められ、それは、中継ライブラリ１３８、認証ライブラリ１４０、ページング・ライブラリ１４４、チャージング・ライブラリ１４６、およびクライアント状態ライブラリ１４８を含んでいる。中継ライブラリ１３８は、移動デバイス１６０とのＵＤＰパケット通信を支援するような、中継ノード１００を介しての通信を円滑に進めるためのロジックを含んでいる。チャージング・ライブラリ１４６は、オンライン・アプリケーションを使用するための請求書発行方法を定義し、請求書発行サーバ１１８との通信を円滑に進める。認証ライブラリ１４０は、アプリケーション・サーバ１３０と移動デバイス１６０および中継ノード１００との間におけるデータ認証を円滑に進める。ページング・ライブラリ１４４は、フィーチャ（features）を待っていたり、または、アプリケーション・セッションに参加するように要求されたりしている移動ユーザ等と接触するためにＰＰＧ１１２を用いて通信するためのロジックを含んでいる。クライアント状態ライブラリ１４８は、アプリケーション・サーバ１３０に登録された移動デバイスの状態に関する情報を保全維持するためのロジックを含んでいる。
【００２１】
中継ノード１００は、図６ａに示すように、ルーティング表１０２、ルーティング規則１０４、および中継ロジックおよびエクスプレス・ライブラリ１０６を含んでいる。中継ロジック１０６は、アプリケーション・データ・パケットをエクスプレス・ネットワーク１１０における他の中継ノード、アプリケーション・サーバ１３０、またはインターネットまたは他のＩＰネットワークへと送るように構成されている。ルーティングは、ＴＣＰ／ＩＰまたはＵＤＰのようなプロトコルに基づいており、アプリケーション・サーバ１３０の行先ＩＰアドレス、または他のルーティング技術に基づいている。
【００２２】
ルーティング表１０２は、移動デバイス１６０の中継コンテクストを含んでおり、他のネットワーク要素を特定する。ルーティング表１０２の例が、図６ｂに示されている。ルーティング表１０２は、移動クライアントＩＰアドレス１０２ａ、クライアント・アプリケーションで用いるクライアントＵＤＰポート番号１０２ｂ、クライアント・アプリケーションで用いるクライアントＴＣＰポート１０２ｃ、クライアントが活性（ＵＰ）か、または不活性（ＤＯＷＮ）のため時間切れとなっているかということを示すクライアント状態１０２ｄ、ダウン・リンク中継キー（ＤＬＲＫ）１０２ｅ、中継キー１０２ｆ、トークン１０２ｇ、ユーザ識別子１０２ｈ、およびアプリケーションＩＤ  １０２ｉを含んでいる。中継キー１０２ｆは、各クライアント・ゲーム・アプリケーションに割り当てられているキーであり、ＵＤＰデータを確認するために用いられる。一実施形態において、ＤＬＲＫ１０２ｅは、中継キー１０２ｆのハッシュであり、また、時間因子であり、それは、中継ノードによって、クライアント・データをコンテンツ・サーバへとアップ・リンクするために用いられる。トークン１０２ｇは、ＴＣＰデータを確認するために用いられ、各クライアントゲーム・アプリケーションに対して割り付けられたセッション・キー情報を含んでいる。
【００２３】
図３および図６ａに戻って、これらを参照する。ルーティング規則１０４は、アプリケーション・サーバ１３０によって構成できる規則を含み、中継ノード１００をして移動デバイス１６０から他の移動デバイスへとデータ・パケットを送るようにさせる規則を含んでいる。一実施形態において、中継ノード１００は、中継ノード１００および／またはアプリケーション・サーバ１３０の使用に対する請求書発行を円滑に進めるため、呼詳細記録（call detail records，ＣＤＲｓ）を作成する。ＣＤＲｓは、請求書発行サーバ１１８が移動ユーザに請求書発行する際に用いるため、データベース１２０に供給される。
【００２４】
従来のゲーム・アプリケーションにおいて、データは、ゲーム・サーバとクライアントとの間で、送信制御プロトコル（Transmission Control Protocol，ＴＣＰ）を用いて送信される。ＴＣＰは全データが受け取られることを保証しているので、紛失パケットまたは遅延パケットがデータ送信速度を低下させ、ゲーム実行を妨げる。
【００２５】
本実施形態において、エクスプレス中継プロトコルが、移動デバイス１６０とアプリケーション・サーバ１３０との間でＵＤＰを用いて定義される。ＵＤＰの使用は、オンライン・ゲーム・アプリケーションや、他のオン・デマンド・アプリケーションのための、低通信遅延のデータ通信環境の実現を容易にする。ＵＤＰは、通常、固定ネットワークにおけるストリーミング媒体のような安定した通信環境における実時間通信に使われる。ストリーミング媒体アプリケーションにおいて、紛失データ・パケットは重要ではなく放棄される。しかしながら、無線環境は、通常、固定ネットワークのようには安定しておらず、しかも、非ストリーミング・アプリケーションにおける一部のデータは、重要であり、紛失は許されない。本実施形態において、ＵＤＰプロトコルは、無線オン・デマンド・アプリケーションに用いるために、サービス・フラグ、エラー修正、および認証マーク（authentication features）を含むように変更されている。
【００２６】
一実施形態において、クライアントおよびサーバの中継ライブラリ１６４，１３８（図４、図５）は、それぞれ、移動デバイスとアプリケーション・サーバとの間で、通常情報、重要情報、およびＴＣＰの３つの型の情報送信を行うことができる。低遅延が要求される通常情報は、ＵＤＰを介して送られる。この型の情報は、重要ではなく、データの流れの中でしばしば繰り返され、それで、幾つかのデータ・パケットの紛失は容認される。例えば、ゲーム実行者の姿勢、移動および動きは、ゲーム実行中を通して送信され、僅かの数のパケットが脱落したとしても、ゲーム体験の全体に対する主たる打撃を与えない。重要な情報は、最も低い遅延が要求されたときのデータ加速、パケットの冗長性、またはデータ・インターリービングのようなデータのエラー修正を含んでいる、１つまたはそれ以上のサブ・モードを用いてＵＤＰを介して送られる。インターリービングの使用は、通常の情報送信と比べてデータ・レートになんらかの追加の遅延を起こすが、信号割込によるデータ紛失を防止する助けをする。ゲーム環境の外部に送られるデータを含む他のデータは、ＴＣＰを用いて送信される。一実施形態において、別に分離された複数の中継ノードが、ＴＣＰおよびＵＤＰデータ送信モードのそれぞれを扱うために構築される。
【００２７】
本実施形態において、中継ノード１００は、移動デバイス１６０とアプリケーション・サーバ１３０との間の低遅延通信におけるＵＤＰパケットの確実な送信を支援する。中継ロジック１０６（図６ａ）は、来入データ・パケットを操作してルーティングするためのロジックを含んでいる。中継ロジック１０６の一実施形態が、図７に示されている。ステップ２３０において、中継ノードが来入データを受け取る。ステップ２３２において、プロトコルが何であるかが決定され、ＴＣＰデータが受け取られた場合、ステップ２３４においてデータがＩＰネットワークに送られる。もしＴＣＰデータがアプリケーション・サーバに向けられるものなら、中継ノードは、通信セッションにおけるトークンについてメッセージ・ヘッダ（例えば、ＨＴＴＰメッセージ・ヘッダ）を調べ、そのトークンが有効の場合、そのデータ・パケットをアプリケーション・サーバに送信する。一実施形態において、クライアントがエクスプレス・ネットワークに参加するとき、トークンが中継コンテクストとしてクライアントに提供され、クライアントはエクスプレス・ネットワークから離脱するまで、同じトークンを使用する。トークンの有効性は、受け取られたトークンと、ユーザＩＤ（ＵＩＤ）およびアプリケーションＩＤの対に関連して保存されたトークンとの比較によって、中継ノードにより決定される。アプリケーション・サーバは要求を受け取り、ＨＴＴＰ応答を中継ノードを介して移動デバイスに返送する。
【００２８】
ＵＤＰデータが中継ノードによって受け取られると、ステップ２３６において、中継ノードは、来入データにエラー修正が用いられているならエラー修正を行う。ステップ２３８において、中継ノードは、認証が必要な場合に実施形態における中継キーを用いて来入データを認証する。ステップ２４０において、中継ノードは、もし設定されているならサービス・フラグを検出し、ステップ２４２においてルーティング規則を適用して、アプリケーション・サーバを迂回して、そのデータを他の移動デバイスへと送信する。もし、サービス・フラグが設定されていないなら、中継ノードは、ステップ２４４において、そのデータをアプリケーション・サーバに送る。
【００２９】
図８に、移動デバイス１６０からのＵＤＰパケットを受け取るための中継ロジック１０６の一実施形態が示されている。クライアント移動デバイスは、ＵＤＰパケット２５０を、中継ルータを介してアプリケーション・サーバへと送信する。各ＵＤＰパケット２５０は、中継キー、ユーザＩＤ（ＵＩＤ）、アプリケーションＩＤ、およびサービス・フラグを含んでいるヘッダ・データを含んでいる。中継ルータは、データ２５０を受け取り、ステップ２５２において、ルーティング表に保存されたデータと照合して中継キーを試験する。もし、中継キーが有効なら、ルータはステップ２５６と２５８において、それぞれ、ＵＩＤとアプリケーションＩＤとを試験する。ステップ２６０において、中継ルータは関連する中継コンテクストからのダウンリンク中継キー（ＤＬＲＫ）を試験し、もし期限切れの場合、ステップ２６２において、新たなダウンリンク中継キーを計算する。一実施形態において、新しいＤＬＲＫは中継キーと時間因子のハッシュ関数を用いて計算される。ステップ２６４において、クライアントから受け取ったデータのヘッダにある中継キーがダウンリンク中継キーと置き換えられる。エクスプレス・ネットワークのためのアドレス変換は、ステップ２６６で行われる。一実施形態において、中継ノードはアップリンク活動監視タイマを保持しており、それはＵＤＰデータがクライアントからアプリケーション・サーバへと送られたときにリセットされる。もし、不活性のため活動タイマが期限切れの場合、中継ノードは、中継コンテクストにおけるクライアント状態（ＳＴＡＴＵＳ）をＵＰからＤＯＷＮに変更する。このステップにおいて、活性タイマがリセットされ、不活性の新しい周期が開始される。次に、データ２６８が、アプリケーション・サーバへ、または、サービス・フラグがオンのときは、直接、他の移動デバイスへと送られる。
【００３０】
図９に、アプリケーション・サーバ１３０からＵＤＰパケットを受け取るための中継ロジック１０６の一実施形態が示されている。アプリケーション・サーバ１３０は、ＵＤＰパケット２８０を、中継ルータを介して移動デバイスへと送信する。各ＵＤＰパケット２８０は、ＤＬＲＫ、ＵＩＤ、およびアプリケーションＩＤを含むヘッダを含んでいる。中継ルータは、ステップ２８２において、対応するＵＩＤ／アプリケーションＩＤの対に基づく対応するエントリ・ベースについてルーティング表に問い合わせる。もし、エントリが見つかると、状態、ＵＩＤ、およびアプリケーションＩＤが、それぞれステップ２８６，２８８，２９０において、中継コンテクストに関して保存された値と照合して試験される。もし、ステップ２８６，２８８，２９０における試験のいずれかが、失敗すると、データ・パケットは、ステップ２８４において放棄される。例えば、もし、状態（ＳＴＡＴＵＳ）が、所定の期間において移動クライアントからのアップリンク活性がないことによってＤＯＷＮとなっている場合、ＵＤＰデータは移動クライアントに向けて送られることはない。もし、受け取ったデータが有効であれば、ステップ２９２において、ＤＬＲＫは、中継キーと置き換えられ、ステップ２９４におけるアドレス変換の後に、データ２９６がクライアントへ送られる。
【００３１】
一実施形態において、移動ユーザは、中継ノードを介してコンテンツ・プロバイダにアクセスするためにコンテンツ・プロバイダと購読契約する。図１０に、エクスプレス・ネットワークにおける購読契約サービスの実施形態が示されている。ステップ３００において、移動クライアントは、コンテンツ・プロバイダとの購読契約を行う。購読契約は、インターネットを介して、または業界で知られている他の方法を介してコンテンツ・プロバイダにアクセスすることにより、キャリア・ダウンロード・サーバを介して確立される。移動クライアントは、ステップ３０２において、関連するクライアント・アプリケーションをダウンロードする。一実施形態において、クライアント・アプリケーションは、無線キャリアの現存するコンテンツ・ダウンロード手順を用いて、または、コンテンツ・サーバから直接に、ダウンロードされる。
【００３２】
ステップ３０４において、クライアント・アプリケーションが移動デバイスにおいて始動される。クライアント・アプリケーションが最初に始動されるとき、クライアント登録要求（ＵＩＤとアプリケーションＩＤとを含む）が認証サーバへと送信される。認証サーバは、ディレクトリ・サーバにおいて移動クライアントのためにエントリを生成し、請求書発行情報を生成し、関連するエクスプレス・ネットワークのパスワードを移動クライアントに返送する。移動デバイスと認証サーバとの間の通信は、ＨＴＴＰ，ＴＣＰ／ＩＰ、または他のプロトコルを用いることができる。
【００３３】
ステップ３０６において、移動クライアントはエクスプレス・ネットワークに接続する。一実施形態において、クライアントは、移動クライアントのＵＩＤ、アプリケーションＩＤ、およびエクスプレス・ネットワークのパスワードを含む参加要求（attach request）を、認証サーバに送信する。認証サーバは、受け取ったデータをディレクトリ・サーバを介して検証する。要求が受け容れられる場合、認証サーバは、中継コンテクスト・セットアップ要求を中継ノードに送信する。それは、トランザクションＩＤ確認セットアップ要求、ＵＩＤ、アプリケーションＩＤとクライアントから受け取ったクライアントＩＰアドレス、および、認証サーバから供給された関連する中継キーとトークンを含んでいる。中継ノードは、中継表にエントリを生成し、受け取った情報を保存し、チャージング情報の生成を開始し、トランザクションＩＤと結果コードとを認証サーバに返信する。中継ノードによって中継コンテクストが構築された後、認証サーバは、移動デバイスがエクスプレス・ネットワークに加わったという確認メッセージを、移動クライアントに返信する。確認メッセージは、中継キー、トークン、中継ノードＩＰアドレス、および他の中継コンテクスト情報を含んでいる。
【００３４】
移動クライアントのエクスプレス・ネットワークへの接続の後、ステップ３０８において、移動クライアントは、コンテンツ・プロバイダにログインする。ログインの間、通常は低遅延状態の必要はなく、ログイン・データはＨＴＴＰ／ＴＣＰを用いて送信される。一実施形態において、移動クライアントは、ＵＩＤ、アプリケーションＩＤ、および関連するトークンを含むログイン要求を、中継ノードを介してコンテンツ・サーバに送信する。中継ノードは、データをアプリケーション・データとして処理し、トークンを中継コンテクストのためのルーティング表に保存されたトークンと照合してチェックする。もし、トークンが有効の場合、ログイン要求はコンテンツ・サーバに送られる。コンテンツ・サーバは、ＵＩＤ、アプリケーションＩＤ、およびトークンを認証サーバに送ることにより、認証サーバを介して、移動クライアントを確認する。認証は、受け取ったトークンを中継コンテクストに保存されたトークン値と比較することによって実行される。認証サーバは、ログインの間中、クライアントに対するチャージング情報を生成する。コンテンツ・サーバは、クライアント毎に使われた最後のトークンを記録し、トークンを確認すると共に応答を移動デバイスに送信する中継ノードを経由して、移動デバイスに返信する。
【００３５】
ステップ３１０において、アプリケーションが始まり、移動クライアント、コンテンツ・サーバ、および他の移動クライアントの間でデータの送信が、中継ノードを介して進められる。アプリケーション・データは、クライアントがエクスプレス・ネットワークに参加し、コンテンツ・サーバにログインされた後からのみ、送信される。データ・パケットの送信は、データ送信事象に対する請求書発行情報を生成する中継ノードを経由して行われる。請求書発行情報は、送信モード（ＵＤＰまたはＴＣＰ）、行先、開始時間、終了時間、データ量、加速の使用、および、他のデータ送信情報を含む。コンテンツ・サーバは、ページング要求のような種々のアプリケーション事象、およびアプリケーション・データに基づく請求に対する、請求書発行情報を生成する。
【００３６】
ステップ３１２において、移動クライアントはコンテンツ・プロバイダからログアウトする。クライアントは、ＵＩＤ、アプリケーションＩＤ、およびトークンを含むログアウト要求を、コンテンツ・サーバに送信することによってエクスプレス・ネットワークからログアウトする。中継ノードは、トークンを確認し、ログアウト要求をコンテンツ・サーバに送信する。コンテンツ・サーバは、トークンを確認し、ログアウトの成功について移動クライアントに返信し、ユーザがログアウトしたことを認証サーバに報せる。
【００３７】
移動クライアントは、ステップ３１４において、エクスプレス・ネットワークから離脱する。移動クライアントは、ＵＩＤ、アプリケーションＩＤ、およびパスワードを含む離脱メッセージを、認証サーバに送信することにより、エキスプレス・ネットワークから離脱する。認証サーバは、クライアント離脱応答を移動デバイスに送信し、移動クライアントの離脱に対するチャージング情報を生成し、中継コンテクストの消去要求を中継ノードに送信する。中継ノードは、中継コンテクストを消去し、クライアントに対するチャージング情報の生成を停止し、認証サーバに返信する。
【００３８】
離脱は、タイムアウト期間の後に中継ノードによって、またはアプリケーション・サーバからの通知によっても引き起こされる。移動クライアントが離脱したとき、中継コンテクストは中継ノードから消去され、移動クライアントと中継ノードとの間のデータ送信が禁止される。認証サーバは、接続されたセッションに対する請求書発行情報を終了する。ユーザは、ステップ３１６において、もし望むなら、コンテンツ・プロバイダとの契約を取り消す。コンテンツ・プロバイダは、ＵＩＤとアプリケーションＩＤを、認証サーバに報告する。認証サーバは、ＵＩＤ／アプリケーションＩＤ対に関連するデータ・エントリを変更または除去することによってクライアント・アプリケーションの登録を取り消す。
【００３９】
本発明の他の実施形態を、図１１乃至図１３を参照して説明する。図１１に示すように、移動デバイス４００が無線キャリア４０４を介してアプリケーション・サーバ４０２との通信を確立する場合、無線キャリア４０４は、通信のためのネット・ワーク資源４０６を割り当てて通信経路を確立する。移動デバイス４００は、通信セッションが終了するとき、または、ある不活性期間の後に、割り当てられた資源４０６を解放する。資源が解放された後、移動デバイス４００とアプリケーション・サーバ４０２との間の次の通信は、資源４０６が割り当てられるまで遅延される。多くのネットワークにおいて、その遅延は新資源の回復と活性通信状態への復帰のための時間であって３−６秒である。３−６秒の遅延は、オンライン・ゲームやプッシュ・トゥ・トーク通信のような多くのオン・デマンド通信アプリケーションにおいて、受け容れられないものである。
【００４０】
本実施形態によれば、移動デバイス４００は、通信間のアイドル時間を測定するためのソフトウエア監視アプリケーション４０８を含んでいる。もし、移動デバイス４００がオンライン・ゲーム、ＰＴＰ通信、または他の実時間アプリケーションの実行中に、アイドル時間が予め設定した閾値を超えると、移動デバイス４００はダミー・パケットをアプリケーション・サーバ４０２に送信する。無線キャリア４０４を介してダミー・パケットを通すことにより、資源４０６が確保され、新しいアイドル・セッションが開始する。監視アプリケーション４０８は、システム・ソフトウエア、または移動デバイス４００のライブラリの一部とすることができる。
【００４１】
監視アプリケーション４０８の運用の一実施形態が、図１２に示されている。ステップ４１０において、タイマが所定の通信間隔に設定される。所定の通信間隔は、割り当てた資源を解放する前のネットワークに許容される最大のアイドル期間に設定される。この間隔は無線ネットワークによって変化する。一部の３Ｇ  ＧＰＲＳネットワークには、ネットワークがアイドル状態に入ってデータ通信が７０から８０秒の間なされないときに、ネットワーク資源を解放するというものがある。一実施形態において、移動デバイス４００は、適切な通信間隔を決定するため、ネットワークを試験する。最初のパケットの送信遅延を測定し、ある間隔のアイドル状態を維持し、そして、次のパケットの送信遅延を測定することによりネットワークが試験される。この試験は、遅延周期が比較的安定している間、順番に長い間隔に増加させるように繰り返される。最終的に、アイドル周期の長さが長くなると、ネットワークが、割り当てられた資源を手放す。そこで、移動デバイス４００がダミー・パケットを送信することにより、新しい資源が割り当てられる。そこで、前もって試験された間隔によって、ステップ４１０で用いるのに適切な間隔が設定される。
【００４２】
ステップ４１２において、監視アプリケーション４０８が、移動デバイスにおける無線通信の発生を検出した場合、タイマはステップ４１０でリセットされる。ステップ４１４において、タイマが時間切れとなった場合、ステップ４１６において、ダミー・パケットが送信される。そして、タイマはステップ４１０でリセットされる。
【００４３】
無線通信における資源には限界があるので、無線キャリア４０４は、監視アプリケーション４０８によって資源をつなぎ止めることに対して、割増金を請求する。図１３に示すように、ステップ４２０において、実時間通信を要求するアプリケーションが監視アプリケーションを伴って始動されると、請求書発行通知記録が無線キャリアの請求書発行システムに送信される。ステップ４２２において、監視アプリケーションが周期的にダミー・パケットをネットワークに送信することによってシステム資源を保持する間、実時間アプリケーションが実行される。監視アプリケーションの使用が終了するとき、ステップ４２４において、割り増し実時間サービスの終了を記録するため、第２の請求書発行通知記録が請求書発行システムに送信される。
【００４４】
本発明のこのように記述された種々の実施形態を有することにより、記述されたシステムにおいて確かな優位性が達成されることが、当業者にとって明らかである。種々の変形、適用、および、それらの代替の実施形態が、本発明の範囲と精神の中に含まれることを認識されるべきである。本発明は、上記構成に限られることなく種々の変形が可能である。例えば、上述した各実施形態の構成を矛盾のない範囲で互いに組み合わせた構成とすることができ、そのような組合せ可能な構成の実施形態は明記されていなくても当然に本発明に含まれる。
【図面の簡単な説明】
【００４５】
【図１】本発明の一実施形態に係る移動ネットワークを示す図。
【図２】移動ネットワークのデータ・フローの実施形態を示す図。
【図３】本発明の一実施形態に係る移動ネットワークを示す図。
【図４】本発明の一実施形態に係る移動デバイスを示す図。
【図５】本発明の一実施形態に係るアプリケーション・サーバを示す図。
【図６ａ】は本発明の一実施形態に係る中継ノードを示す図。
【図６ｂ】は本発明の一実施形態に係るルーティング表を示す図。
【図７】図６ａの中継ノードの動作の一実施形態を示すフロー図。
【図８】移動デバイスからＵＤＰパケットを受け取るための中継ロジックの一実施形態を示す図。
【図９】アプリケーション・サーバからＵＤＰパケットを受け取るための中継ロジックの一実施形態を示す図。
【図１０】本発明の一実施形態に係る請求書発行方法を示すフロー図。
【図１１】本発明の一実施形態に係る無線ネットワークの図。
【図１２】図１１の監視アプリケーションの動作の一実施形態を示すフロー図。
【図１３】本発明の一実施形態に係る請求書発行ロジックを示すフロー図。
【符号の説明】
【００４６】
１０，１２２    無線ネットワーク
１６，１８，２０，１６０，４００    移動デバイス
４０，４４，１３０，４０２    アプリケーション・サーバ
５０，５２，１００  中継ノード
５６    ゲーム・サーバ
６６ａ，６６ｂ，６８，７２    ゲーム・データ
６４ａ，６４ｂ，１０４    ルーティング規則
１０２ｆ，１０２ｅ    中継キー
１１８    請求書発行サーバ
１３８，１６４    中継ライブラリ
１４０，１６８    認証ライブラリ
１７２    クライアント・アプリケーション
４０８    監視アプリケーション
【図１】
2008011536.tif 000003
【図２】
2008011536.tif 000004
【図３】
2008011536.tif 000005
【図４】
2008011536.tif 000006
【図５】
2008011536.tif 000007
【図６ａ】
2008011536.tif 000008
【図６ｂ】
2008011536.tif 000009
【図７】
2008011536.tif 000010
【図８】
2008011536.tif 000011
【図９】
2008011536.tif 000012
【図１０】
2008011536.tif 000013
【図１１】
2008011536.tif 000014
【図１２】
2008011536.tif 000015
【図１３】
2008011536.tif 000016