(57)【要約】 【課題】  通信の失敗の原因を特定するのに好適な端末装置等を提供する。【解決手段】  端末装置２０１において、通信部５０１は、コンピュータ通信網を介して他の通信装置と通信し、セッション部５０２は、他の第１通信装置とのセッションが開始されてから終了するまでの間、通信部を介して、他の第１通信装置との通信を繰り返し、判定部５０３は、セッションが開始されてから終了するまでの間、通信部５０１による他の第１通信装置との通信が失敗した場合、通信部５０１を介して他の第２通信装置との通信を試みて、他の第２通信装置との通信が成功するか否かを判定し、出力部５０４は、判定部５０３により、成功したと判定された場合、他の第１通信装置との通信に障害がある旨を出力し、そうでない場合、コンピュータ通信網との通信に障害がある旨を出力する。【選択図】  図５
2005130166.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ通信網を介して他の通信装置と通信する通信部と、
他の第１の通信装置についての所定の第１の条件（以下、「セッション開始条件」という。）が満たされてから所定の第２の条件（以下、「セッション終了条件」という。）が満たされるまでの間、前記通信部を介して、他の第１の通信装置との通信を繰り返すセッション部と、
当該セッション開始条件が満たされてから当該セッション終了条件が満たされるまでの間、前記通信部による当該他の第１の通信装置との通信が失敗した場合、前記通信部を介して他の第２の通信装置との通信を試みて、当該他の第２の通信装置との通信が成功するか否かを判定する判定部と、
前記判定部により、
（ａ）当該他の第２の通信装置との通信が成功したと判定された場合、当該他の第１の通信装置との通信に障害がある旨を出力し、
（ｂ）当該他の第２の通信装置との通信が失敗したと判定された場合、当該コンピュータ通信網との通信に障害がある旨を出力する
出力部と、
を備えることを特徴とする端末装置。
【請求項２】
請求項１に記載の端末装置であって、前記判定部は、
当該他の第１の通信装置へ送信したメッセージに対する当該他の第１の通信装置からの返答が受信されず、当該他の第１の通信装置から送信されたメッセージが受信される場合、「当該他の第１の通信装置との通信が失敗した」と判定し、
当該他の第２の通信装置へ送信したメッセージに対する当該他の第２の通信装置からの返答が受信される場合、「当該他の第２の通信装置との通信が成功した」と判定する
ことを特徴とするもの。
【請求項３】
請求項１に記載の端末装置であって、
前記通信部は、ＴＣＰ／ＩＰ（Transmission Control Protocol/Internet Protocol）により他の通信装置と通信を行い、
前記判定部は、
当該他の第１の通信装置へ送信した「ＳＹＮフラグをセットしＡＣＫフラグをクリアしたパケット」に対する当該他の第１の通信装置からの「ＳＹＮフラグおよびＡＣＫフラグをセットしたパケット」が受信されず、当該他の第１の通信装置から送信された「ＳＹＮフラグをセットしＡＣＫフラグをクリアしたパケット」が受信される場合、「当該他の第１の通信装置との通信が失敗した」と判定し、
当該他の第２の通信装置へ送信した「ＳＹＮフラグをセットしＡＣＫフラグをクリアしたパケット」に対する当該他の第２の通信装置からの「ＳＹＮフラグおよびＡＣＫフラグをセットしたパケット」が受信される場合、「当該他の第２の通信装置との通信が成功した」と判定する
ことを特徴とするもの。
【請求項４】
請求項１に記載の端末装置であって、
前記通信部は、ＴＣＰ／ＩＰ（Transmission Control Protocol/Internet Protocol）により他の通信装置と通信を行い、
前記判定部は、
当該他の第１の通信装置から送信された「ＳＹＮフラグをセットしＡＣＫフラグをクリアしたパケット」が受信されず、当該他の第１の通信装置へ送信した「ＳＹＮフラグをセットしＡＣＫフラグをクリアしたパケット」に対する当該他の第１の通信装置からの「ＳＹＮフラグおよびＡＣＫフラグをセットしたパケット」が受信される場合、「当該他の第１の通信装置との通信が失敗した」と判定し、
当該他の第２の通信装置へ送信した「ＳＹＮフラグをセットしＡＣＫフラグをクリアしたパケット」に対する当該他の第２の通信装置からの「ＳＹＮフラグおよびＡＣＫフラグをセットしたパケット」が受信される場合、「当該他の第２の通信装置との通信が成功した」と判定する
ことを特徴とするもの。
【請求項５】
請求項２から４のいずれか１項に記載の端末装置であって、前記出力部は、
当該他の第１の通信装置との通信の障害の原因を当該他の第１の通信装置にあるとして当該障害がある旨を出力する
ことを特徴とするもの。
【請求項６】
請求項２から４のいずれか１項に記載の端末装置であって、前記出力部は、
当該他の第１の通信装置との通信の障害の原因を前記端末装置にあるとして当該障害がある旨を出力する
ことを特徴とするもの。
【請求項７】
通信部と、セッション部と、判定部と、出力部と、を備える端末装置にて実行される端末方法であって、
当該通信部が、コンピュータ通信網を介して他の通信装置と通信する通信工程と、
当該セッション部が、他の第１の通信装置についての所定の第１の条件（以下、「セッション開始条件」という。）が満たされてから所定の第２の条件（以下、「セッション終了条件」という。）が満たされるまでの間、前記通信部を介して、他の第１の通信装置との通信を繰り返すセッション工程と、
当該判定部が、当該セッション開始条件が満たされてから当該セッション終了条件が満たされるまでの間、前記通信部による当該他の第１の通信装置との通信が失敗した場合、前記通信部を介して他の第２の通信装置との通信を試みて、当該他の第２の通信装置との通信が成功するか否かを判定する判定工程と、
前記出力部が、前記判定部により、
（ａ）当該他の第２の通信装置との通信が成功したと判定された場合、当該他の第１の通信装置との通信に障害がある旨を出力し、
（ｂ）当該他の第２の通信装置との通信が失敗したと判定された場合、当該コンピュータ通信網との通信に障害がある旨を出力する
出力工程と、
を備えることを特徴とする端末方法。
【請求項８】
コンピュータを、
コンピュータ通信網を介して他の通信装置と通信する通信部、
他の第１の通信装置についての所定の第１の条件（以下、「セッション開始条件」という。）が満たされてから所定の第２の条件（以下、「セッション終了条件」という。）が満たされるまでの間、前記通信部を介して、他の第１の通信装置との通信を繰り返すセッション部、
当該セッション開始条件が満たされてから当該セッション終了条件が満たされるまでの間、前記通信部による当該他の第１の通信装置との通信が失敗した場合、前記通信部を介して他の第２の通信装置との通信を試みて、当該他の第２の通信装置との通信が成功するか否かを判定する判定部、および、
前記判定部により、
（ａ）当該他の第２の通信装置との通信が成功したと判定された場合、当該他の第１の通信装置との通信に障害がある旨を出力し、
（ｂ）当該他の第２の通信装置との通信が失敗したと判定された場合、当該コンピュータ通信網との通信に障害がある旨を出力する
出力部
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、端末装置、端末方法、ならびに、これらをコンピュータにて実現するプログラムに関する。
【背景技術】
【０００２】
インターネットの常時接続環境が普及するにともない、ネットワークゲームの人気がますます高まっている。ネットワークゲームでは、プレイヤーが有するゲーム装置（「端末」ともいう。）と、ゲーム提供者が有するサーバ装置とが、インターネットというコンピュータ通信網で接続される。そして、ゲーム世界内での種々の戦闘を行ったり、種々の課題を解決したり、種々のアイテムの交換や売買を行ったり、というセッションごとに各種のスコアが計算される。このスコアが累積加算されることによって、当該プレイヤー（もしくは、プレイヤーが操作するゲーム内のキャラクター。以下、単に「プレイヤー」という。）の各種のパラメータや所有するアイテムが決定され、プレイヤーがゲーム内で成長したり衰退したりする。
【０００３】
また、端末は、ルータやファイアウォールと呼ばれる機器を介してコンピュータ通信網と接続されることも多い。ルータやファイアウォールにおいては、「外部からの接続要求は拒否するが、内部からの接続要求は許可し、一旦接続が確立すれば双方向の通信を可能とする」等、種々の設定を行うことができる。
【０００４】
ネットワーク通信において広く用いられている通信プロトコルであるＴＣＰ／ＩＰ（Transmission Control Protocol/Internet Protocol）においては、ＳＹＮフラグをセットしたパケットを接続先に送信することによって、接続を要求する。接続先は、当該パケットを受信すると、ＳＹＮフラグとＡＣＫフラグをセットしたパケットを要求元に送信する。要求元がこれを受信することによって、両者の接続が確立される。ＡＣＫフラグは、応答確認のためのフラグであり、接続要求以外のすべてのパケットにセットされるフラグである。
【０００５】
さて、このようなネットワーク通信に関する先行技術としては、以下のようなものがある。
【特許文献１】特開平１１−１７５４０１号公報
【特許文献２】特開２００１−３１０８７７号公報
【特許文献３】特開平８−２０４６３４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
このようなネットワークゲームでは、「セッションの結果がプレイヤーの意に合わない場合に、ルータやファイアウォールの設定を変更して、セッションの相手先との通信を失敗させることにより、当該セッションそのものを無効にする」等のプレイヤーの悪意ある行為が行われることがある。このような行為は「チート行為」とも呼ばれる。ゲーム世界内でのモラルを維持するためには、このような不正行為をできるだけ検出して、これを防止することが望ましい。したがって、このような不正行為を検出する技術が強く望まれている。また、ネットワークゲームに限らず、端末同士の通信において、それまで成功していた通信が途中から失敗した場合に、その原因をできるだけつきとめる技術も望まれている。
【０００７】
本発明は、このような課題を解決するためになされたもので、通信の失敗の原因を特定するのに好適な端末装置、端末方法、ならびに、これらをコンピュータによって実現するプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
以上の目的を達成するため、本発明の原理にしたがって、下記の発明を開示する。
本発明の第１の観点に係る端末装置は、通信部と、セッション部と、判定部と、出力部と、を備え、以下のように構成する。
すなわち、通信部は、コンピュータ通信網を介して他の通信装置と通信する。
【０００９】
典型的にはコンピュータ通信網はインターネットである。また、ネットワークゲームに本端末装置を適用する場合には、他の通信装置としては、ネットワークゲームのサーバ装置や対戦相手のプレイヤーが用いる端末装置などが想定される。
【００１０】
一方、セッション部は、他の第１の通信装置についての所定の第１の条件（以下、「セッション開始条件」という。）が満たされてから所定の第２の条件（以下、「セッション終了条件」という。）が満たされるまでの間、通信部を介して、他の第１の通信装置との通信を繰り返す。
対戦型ネットワークゲームの場合には、対戦が開始される場合にセッション開始条件が満たされる。また、典型的な対戦型ゲームでは、一定時間内にいずれか一方のプレイヤーのスコアが所定の閾値よりも小さくなるか、当該一定時間が経過すると対戦が終了するので、この場合にセッション終了条件が満たされる。
【００１１】
さらに、判定部は、当該セッション開始条件が満たされてから当該セッション終了条件が満たされるまでの間、通信部による当該他の第１の通信装置との通信が失敗した場合、通信部を介して他の第２の通信装置との通信を試みて、当該他の第２の通信装置との通信が成功するか否かを判定する。
たとえばネットワークゲームにおいて、チート行為を行うプレイヤーは、対戦を開始した後に、自分の分が悪いと、ルータやファイアウォールの設定を変更して、対戦相手との通信を遮断することがある。判定部は、対戦相手との通信が遮断された場合、その原因を判定するのである。
【００１２】
そして、出力部は、判定部により、
（ａ）当該他の第２の通信装置との通信が成功したと判定された場合、当該他の第１の通信装置との通信に障害がある旨を出力し、
（ｂ）当該他の第２の通信装置との通信が失敗したと判定された場合、当該コンピュータ通信網との通信に障害がある旨を出力する。
【００１３】
ネットワークゲームに本発明を適用した場合に、（ａ）に該当したときは、ルータやファイアウォールの設定を変更して、対戦相手の通信装置との通信を遮断したと判定される。また、（ｂ）に該当したときは、コンピュータ通信網との接続ケーブルを抜いたり、ルータやファイアウォールの電源を切ったりして、コンピュータ通信網との通信を遮断したと判定されるのである。
【００１４】
本発明によれば、ある通信相手（第１の通信装置）との繰返し通信（セッション）の途中で通信に失敗した場合に、他の通信装置（第２の通信装置）をレフリーとして利用して、レフリーとの通信が成功するか否かによって、通信の失敗の原因を特定することができる。
【００１５】
また、本発明において、判定部は、当該他の第１の通信装置へ送信したメッセージに対する当該他の第１の通信装置からの返答が受信されず、当該他の第１の通信装置から送信されたメッセージが受信される場合、「当該他の第１の通信装置との通信が失敗した」と判定し、当該他の第２の通信装置へ送信したメッセージに対する当該他の第２の通信装置からの返答が受信される場合、「当該他の第２の通信装置との通信が成功した」と判定するように構成することができる。
【００１６】
本発明では、端末装置と第１の通信装置との間の通信について、非対称な通信状況が成立している場合、すなわち、端末装置から第１の通信装置への送信は失敗しているが、第１の通信装置から端末装置への送信は成功している（と予想される）場合であっても、端末装置と第１の通信装置との間の通信が失敗したと判定される。
【００１７】
すなわち、端末装置から第１の通信装置への送信も、第１の通信装置から端末装置への送信も、いずれも失敗している場合についてのみ、両者間の通信が失敗した、とするよりも、通信失敗の判定条件が緩和されているのである。
【００１８】
ルータやファイアウォールの設定によっては、外部のネットワークから内部への接続要求は拒否するが、内部のネットワークから外部への接続要求は許可する設定としたり、その逆の設定をしたりすることが可能である。本発明を利用すると、このような設定変更によって不正行為をしようとする場合であっても、そのような不正行為を検出することができる。
【００１９】
また、本発明において、通信部は、ＴＣＰ／ＩＰにより他の通信装置と通信を行い、判定部は、当該他の第１の通信装置へ送信した「ＳＹＮフラグをセットしＡＣＫフラグをクリアしたパケット」に対する当該他の第１の通信装置からの「ＳＹＮフラグおよびＡＣＫフラグをセットしたパケット」が受信されず、当該他の第１の通信装置から送信された「ＳＹＮフラグをセットしＡＣＫフラグをクリアしたパケット」が受信される場合、「当該他の第１の通信装置との通信が失敗した」と判定し、当該他の第２の通信装置へ送信した「ＳＹＮフラグをセットしＡＣＫフラグをクリアしたパケット」に対する当該他の第２の通信装置からの「ＳＹＮフラグおよびＡＣＫフラグをセットしたパケット」が受信される場合、「当該他の第２の通信装置との通信が成功した」と判定するように構成することができる。
【００２０】
上述のように、ＴＣＰ／ＩＰ通信では、各パケットはパケットの種類等を示すヘッダ部分とパケットにより伝送されるデータを格納するデータ部分とに分けられる。そして、ヘッダ部分には、パケットの種類を表すフラグを設定する領域がある。ＳＹＮフラグやＡＣＫフラグは、ＴＣＰ／ＩＰ通信の規格において定義されているフラグの一種である。ＴＣＰ／ＩＰでは、ＳＹＮフラグをセットしたパケットを接続先に送信することによって、接続を要求する。接続先は、当該パケットを受信すると、ＳＹＮフラグとＡＣＫフラグをセットしたパケットを要求元に送信する。要求元がこれを受信することによって、両者の接続が確立される。ＡＣＫフラグは、応答確認のためのフラグであり、接続要求以外のすべてのパケットにセットされるフラグである。
【００２１】
また、本願では、理解を容易にするため、「ＳＹＮフラグがセットされＡＣＫフラグがクリアされたパケット」を「ＳＹＮパケット」と、「ＳＹＮフラグがクリアされＡＣＫフラグがセットされたパケット」を「ＡＣＫパケット」と、「ＳＹＮフラグとＡＣＫフラグの両方がセットされたパケット」を「ＳＹＮ／ＡＣＫパケット」と、それぞれ適宜呼ぶものとする。
【００２２】
本発明は、ＴＣＰ／ＩＰ通信に特化した好適実施形態に係るものである。ルータやファイアウォールにおいて、内部から外部への接続要求は拒否するが、外部から内部への接続要求は許可するように設定を行って不正行為を行った場合に、その旨を検出するものである。本発明によれば、そのような不正行為を検出することができる。
【００２３】
また、本発明において、通信部は、ＴＣＰ／ＩＰにより他の通信装置と通信を行い、判定部は、当該他の第１の通信装置から送信された「ＳＹＮフラグをセットしＡＣＫフラグをクリアしたパケット」が受信されず、当該他の第１の通信装置へ送信した「ＳＹＮフラグをセットしＡＣＫフラグをクリアしたパケット」に対する当該他の第１の通信装置からの「ＳＹＮフラグおよびＡＣＫフラグをセットしたパケット」が受信される場合、「当該他の第１の通信装置との通信が失敗した」と判定し、当該他の第２の通信装置へ送信した「ＳＹＮフラグをセットしＡＣＫフラグをクリアしたパケット」に対する当該他の第２の通信装置からの「ＳＹＮフラグおよびＡＣＫフラグをセットしたパケット」が受信される場合、「当該他の第２の通信装置との通信が成功した」と判定するように構成することができる。
【００２４】
本発明は、ＴＣＰ／ＩＰ通信に特化した好適実施形態に係るものである。ルータやファイアウォールにおいて、内部から外部への接続要求は許可するが、外部から内部への接続要求は拒否するように設定を行って不正行為を行った場合に、その旨を検出するものである。本発明によれば、そのような不正行為を検出することができる。
【００２５】
また、本発明において、出力部は、当該他の第１の通信装置との通信の障害の原因を当該他の第１の通信装置にあるとして当該障害がある旨を出力するように構成することができる。逆に、出力部は、当該他の第１の通信装置との通信の障害の原因を端末装置にあるとして当該障害がある旨を出力するように構成することもできる。
【００２６】
セッション部における繰り返し通信をどのように行うかは、本発明が適用されるアプリケーションの態様によって異なる、そこで、上記のように、通信状況に非対称が生じている場合は、アプリケーションの態様に応じて当該非対称の一方の端末装置／通信装置に障害が生じているものと判断するものである。本発明によれば、たとえばネットワークゲームにおいて対戦相手同士の通信状況に非対称が生じているために通信障害が生じた場合に、当該対戦相手のどちらに責任があるか（どちらが不正行為と予想される行為をしているか）を特定することができる。
【００２７】
本発明の他の観点に係る端末方法は、通信部と、セッション部と、判定部と、出力部と、を備える端末装置にて実行され、通信工程と、セッション工程と、判定工程と、出力工程と、を備え、以下のように構成する。
すなわち、通信工程では、当該通信部が、コンピュータ通信網を介して他の通信装置と通信する。
【００２８】
一方、セッション工程では、当該セッション部が、、他の第１の通信装置についての所定の第１の条件（以下、「セッション開始条件」という。）が満たされてから所定の第２の条件（以下、「セッション終了条件」という。）が満たされるまでの間、通信部を介して、他の第１の通信装置との通信を繰り返す。
【００２９】
さらに、判定工程では、当該判定部が、当該セッション開始条件が満たされてから当該セッション終了条件が満たされるまでの間、通信部による当該他の第１の通信装置との通信が失敗した場合、通信部を介して他の第２の通信装置との通信を試みて、当該他の第２の通信装置との通信が成功するか否かを判定する。
【００３０】
そして、出力工程では、出力部が、判定部により、
（ａ）当該他の第２の通信装置との通信が成功したと判定された場合、当該他の第１の通信装置との通信に障害がある旨を出力し、
（ｂ）当該他の第２の通信装置との通信が失敗したと判定された場合、当該コンピュータ通信網との通信に障害がある旨を出力する。
【００３１】
本発明の他の観点に係るプログラムは、コンピュータを、上記の端末装置の各部として機能させ、もしくは、コンピュータに、上記の端末装置の各工程を実行させるように構成する。
【００３２】
また、本発明のプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読取可能な情報記録媒体に記録することができる。上記プログラムは、当該プログラムが実行されるコンピュータとは独立して、コンピュータ通信網を介して配布・販売することができる。また、上記情報記録媒体は、当該コンピュータとは独立して配布・販売することができる。
【発明の効果】
【００３３】
本発明によれば、通信の失敗の原因を特定するのに好適な端末装置、端末方法、ならびに、これらをコンピュータによって実現するプログラムを提供することができる。
【発明を実施するための最良の形態】
【００３４】
以下に本発明の実施形態を説明する。以下では、理解を容易にするため、ゲーム装置に本発明が適用される実施形態を説明するが、各種のコンピュータ、ＰＤＡ、携帯電話などの情報処理装置においても同様に本発明を適用することができる。すなわち、以下に説明する実施形態は説明のためのものであり、本願発明の範囲を制限するものではない。したがって、当業者であればこれらの各要素もしくは全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。
【実施例１】
【００３５】
図１は、本発明の実施形態の１つに係る端末装置が実現される典型的なゲーム装置の概要構成を示す模式図である。以下、本図を参照して説明する。
【００３６】
ゲーム装置１００は、ＣＰＵ（Central Processing Unit）１０１と、ＲＯＭ（Read Only Memory）１０２と、ＲＡＭ（Random Access Memory）１０３と、インターフェース１０４と、コントローラ１０５と、外部メモリ１０６と、画像処理部１０７と、ＤＶＤ（Digital Versatile Disk）−ＲＯＭドライブ１０８と、ＮＩＣ（Network Interface Card）１０９と、を備える。
【００３７】
ゲーム用のプログラムおよびデータを記憶したＤＶＤ−ＲＯＭをＤＶＤ−ＲＯＭドライブ１０８に装着して、ゲーム装置１００の電源を投入することにより、当該プログラムが実行され、本実施形態の端末装置が実現される。
【００３８】
ＣＰＵ  １０１は、ゲーム装置１００全体の動作を制御し、各構成要素と接続され制御信号やデータをやりとりする。
【００３９】
ＲＯＭ  １０２には、電源投入直後に実行されるＩＰＬ（Initial Program Loader）が記録され、これが実行されることにより、ＤＶＤ−ＲＯＭに記録されたプログラムをＲＡＭ  １０３に読み出してＣＰＵ  １０１による実行が開始される。また、ＲＯＭ  １０２には、ゲーム装置１００全体の動作制御に必要なオペレーティングシステムのプログラムや各種のデータを記録される。
【００４０】
ＲＡＭ  １０３は、データやプログラムを一時的に記憶するためのもので、ＤＶＤ−ＲＯＭから読み出したプログラムやデータ、その他ゲームの進行やチャット通信に必要なデータが保持される。
【００４１】
インターフェース１０４を介して接続されたコントローラ１０５は、ユーザがゲーム実行の際に行う操作入力を受け付ける。
【００４２】
インターフェース１０４を介して脱自在に接続された外部メモリ１０６には、ゲームの進行状態を示すデータ、チャット通信のログ（記録）のデータなどが書き換え可能に記憶される。ユーザは、コントローラ１０５を介して指示入力を行うことにより、これらのデータを適宜外部メモリ１０６に記録することができる。
【００４３】
ＤＶＤ−ＲＯＭドライブ１０８に装着されるＤＶＤ−ＲＯＭには、ゲームを実現するためのプログラムとゲームに付随する画像データや音声データが記録される。ＣＰＵ  １０１の制御によって、ＤＶＤ−ＲＯＭドライブ１０８は、これに装着されたＤＶＤ−ＲＯＭに対する読み出し処理を行って、必要なプログラムやデータを読み出し、これらはＲＡＭ  １０３等に一時的に記憶される。
【００４４】
画像処理部１０７は、ＤＶＤ−ＲＯＭから読み出されたデータをＣＰＵ  １０１や画像処理部１０７が備える画像演算プロセッサ（図示せず）によって加工処理した後、これを画像処理部１０７が備えるフレームメモリ（図示せず）に記録する。フレームメモリに記録された画像情報は、所定の同期タイミングでビデオ信号に変換され画像処理部１０７に接続されるモニタ（図示せず）へ出力される。これにより、各種の画像表示が可能となる。
【００４５】
画像演算プロセッサは、２次元の画像の重ね合わせ演算やαブレンディング等の透過演算、各種の飽和演算を高速に実行できる。
また、仮想３次元空間に配置され、各種のテクスチャ情報が付加されたポリゴン情報を、Ｚバッファ法によりレンダリングして、所定の視点位置から仮想３次元空間に配置されたポリゴンを俯瞰したレンダリング画像を得る演算の高速実行も可能である。
【００４６】
さらに、ＣＰＵ  １０１と画像演算プロセッサが協調動作することにより、文字の形状を定義するフォント情報にしたがって、文字列を２次元画像としてフレームメモリへ描画したり、各ポリゴン表面へ描画することが可能である。フォント情報は、ＲＯＭ  １０２に記録されているが、ＤＶＤ−ＲＯＭに記録された専用のフォント情報を利用することも可能である。
【００４７】
ＮＩＣ  １０９は、ゲーム装置１００をインターネット等のコンピュータ通信網（図示せず）に接続するためのものであり、ＬＡＮ（Local Area Network）を構成する際に用いられる１０ＢＡＳＥ−Ｔ／１００ＢＡＳＥ−Ｔ規格にしたがうものや、電話回線を用いてインターネットに接続するためのアナログモデム、ＩＳＤＮ（Integrated Services Digital Network）モデム、ＡＤＳＬ（Asymmetric Digital Subscriber Line）モデム、ケーブルテレビジョン回線を用いてインターネットに接続するためのケーブルモデム等と、これらとＣＰＵ  １０１との仲立ちを行うインターフェース（図示せず）により構成される。
【００４８】
音声処理部１１０は、ＤＶＤ−ＲＯＭから読み出した音声データをアナログ音声信号に変換し、これに接続されたスピーカ（図示せず）から出力させる。また、ＣＰＵ  １０１の制御の下、ゲームの進行の中で発生させるべき効果音や楽曲データを生成し、これに対応した音声をスピーカから出力させる。
【００４９】
このほか、ゲーム装置１００は、ハードディスク等の大容量外部記憶装置を用いて、ＲＯＭ  １０２、ＲＡＭ  １０３、外部メモリ１０６、ＤＶＤ−ＲＯＭドライブ１０８に装着されるＤＶＤ−ＲＯＭ等と同じ機能を果たすように構成してもよい。
【００５０】
一般的なコンピュータは、上記ゲーム装置１００と同様に、ＣＰＵ、ＲＡＭ、ＲＯＭ、ＤＶＤ−ＲＯＭドライブ、および、ＮＩＣを備え、ゲーム装置１００よりも簡易な機能を備えた画像処理部を備え、外部記憶装置としてハードディスクを有する他、フレキシブルディスク、光磁気ディスク、磁気テープ等が利用できるようになっている。また、コントローラではなく、キーボードやマウスなどを入力装置として利用する。
【００５１】
上記のように、ネットワークゲームでは、ゲーム専用機ではなく一般的なコンピュータを利用することも多々あることも考慮し、以下では、注記しない限り、端末装置について、図１に示したゲーム装置１００により説明を加えるが、これらは必要に応じて、適宜、一般的なコンピュータの要素に置換することができ、これらの実施形態も本発明の範囲に含まれる。
【００５２】
（通信の様子の概要）
図２は、本発明の実施形態の１つに係る端末装置を用いてネットワーク対戦ゲームを行う際の通信の様子の概要を示す説明図である。以下、本図を参照して説明する。
【００５３】
２人のプレイヤーは、それぞれ、自分が利用する端末装置２０１を用いて、ネットワーク対戦を行う。端末装置２０１同士は、インターネット２０５を介して接続されている。一方、ネットワーク対戦を行う相手を探したり、対戦相手を適宜選択してもらうためのロビー機能や、ネットワーク対戦の結果を蓄積して保存し、対戦結果のランキングを行うサーバ装置２０９が、インターネット２０５を介して、端末装置２０１のそれぞれと通信可能に配置されている。
【００５４】
図３は、端末装置２０１と、サーバ装置２０９とによって、ネットワーク対戦ゲームが行われる場合の、通信の様子を示す説明図である。以下、本図を参照して説明する。
【００５５】
プレイヤーが、ゲーム装置１００にＤＶＤ−ＲＯＭを挿入し、電源をオンにすると、ＤＶＤ−ＲＯＭからプログラムが読み出されたプログラムがゲーム装置１００にて実行され、当該ゲーム装置１００が端末装置２０１として機能するようになる。
【００５６】
ネットワーク対戦ゲームでは、まず、対戦相手を探すために、端末装置２０１は、あらかじめ用意されたサーバ装置２０９にログインする（３０１、３０２）。サーバ装置２０９では、現在当該サーバ装置２０９にログインしている端末装置２０１を管理しており、当該端末装置２０１を利用しているユーザ同士でのチャット通信を可能にしたり、プレイヤー同士のそれまでの成績の記録から、実力が同程度のプレイヤーを選択して、対戦相手のマッチングを行う。
【００５７】
そして、プレイヤー同士が対戦を開始する際には、当該端末装置２０１同士のＩＰアドレス（場合によっては、さらにポート番号も合わせて送る。以下、理解を容易にするため、「ＩＰアドレス」と言った場合には、実施形態によっては、「ＩＰアドレスとポート番号の組み合わせ」を意味するものとする。）を、相手方の端末装置２０１に通知する（３０３、３０４）。
【００５８】
それぞれの端末装置２０１は、対戦相手のＩＰアドレスをサーバ装置２０９から受信すると、対戦相手の端末装置２０１への接続を試みる。本実施形態では、ＴＣＰ／ＩＰ通信を用いるため、当該相手方のＩＰアドレスに、「ＳＹＮフラグをセットし、ＡＣＫフラグをクリアしたパケット」を送信することにより（３０５、３０６）、接続の確立を試みることとなる。
【００５９】
そして、対戦相手の端末装置２０１から送信された「ＳＹＮフラグをセットし、ＡＣＫフラグをクリアしたパケット」（以下「ＳＹＮパケット」という。）がやってきて、これを当該端末装置２０１が受信すると、「ＳＹＮフラグとＡＣＫフラグの両方をセットしたパケット」（以下「ＳＹＮ／ＡＣＫパケット」という。）を相手方に返送する（３０７、３０８）。
【００６０】
さらに、対戦相手の端末装置２０１から送信されたＳＹＮ／ＡＣＫパケットが受信できた場合には、当該端末装置２０１から対戦相手の端末装置２０１への通信接続が確立されたこととなる。
【００６１】
本実施形態では、これ以降は、通信接続が確立された経路を用いて、当該端末装置２０１から対戦相手の端末装置２０１への各種の情報メッセージの伝送が行われる（３１１〜３１４）。
【００６２】
両方向の伝送の通信接続が確立された場合には、当該端末装置２０１と、相手方端末装置２０１とのネットワーク対戦の開始が可能となる。すなわち、セッション開始条件が満たされることとなる。以降は、ネットワーク対戦に必要な情報が、当該経路を介して伝送される。この際に用いられるパケットは、ＳＹＮフラグがクリアされ、ＡＣＫフラグがセットされたものである（以下「ＡＣＫパケット」という。）。
【００６３】
相手方にＡＣＫパケットを用いて情報メッセージを送信した場合（たとえば、３１１）、これに対応するＡＣＫパケットが相手方から返送されると（３１２）、当該情報メッセージが相手方まで到達したことが、情報メッセージの送信元で確認できることとなる。
【００６４】
このような、対戦の通信（３１１〜３１４）は、セッション終了条件が満たされるまで繰り返される。
【００６５】
なお、ＴＣＰ／ＩＰ通信は、いわゆるベストエフォート型通信であり、一旦通信接続が確立された後であっても、インターネット内の混雑の度合によっては、当該確立された接続が切断されることがありうる。このような場合には、対戦途中であっても、再度上記のような接続の処理が行われる。
【００６６】
また、ネットワークゲームの実施形態によっては、当該確立された通信経路を対戦の間継続して維持するのではなく、通信の必要が生ずるたびに、通信経路を確立して、各種の情報メッセージを伝送する、という手法を採用する場合もある。
【００６７】
対戦が終了すると、それぞれの端末装置２０１は、対戦の結果をサーバ装置２０９に報告する（３１３、３１４）。サーバ装置２０９は、対戦結果を両端末装置２０１から受信して、これが矛盾しない場合には、有効な対戦が行われたものと判断し、サーバ装置２０９内に用意されたランキング計算のためのデータベースに、当該対戦結果を登録する。
【００６８】
さて、このようなネットワーク対戦ゲームにおいては、対戦の途中で自分の分が悪くなると、対戦を無効にして、サーバ装置２０９に当該対戦成績が記録されないように不正行為を働くプレイヤーが出てくる場合がある。対戦を無効にする手法としては、以下のようなものがある。
（１）対戦の途中で、ゲーム装置１００の電源をオフにする。
（２）対戦の途中で、ゲーム装置１００に挿入されているネットワーク通信用ケーブルを抜く。
（３）対戦の途中で、ゲーム装置１００とインターネット２０５との間に配置されているルータやファイアウォールの設定を変更し、対戦相手との通信ができないようにする。
【００６９】
このようにして、対戦相手との通信ができないようにすれば、対戦結果がサーバ装置２０９には報告されないこととなる。そこで、このような不正行為が行われないようにするために、対戦途中で電源がオフにされた場合やケーブルが抜かれた場合には、次回に電源がオンにされた場合やケーブルが挿入された場合に、前回の対戦が途中で中断された旨を検知し、自動的にサーバ装置２０９にその旨が報告されるようにして、ペナルティを与えるなどの手法を、発明者らは別の出願で提案している。
【００７０】
本発明は、上記（３）のような状況において、不正行為を働いたプレイヤーがいずれかをできるだけ正確に判定して、適切にペナルティを与えるために、適用することができる。
【００７１】
上記（３）のような不正行為を行うプレイヤーは、一般には、ネットワーク通信に詳しいことが多く、当該対戦相手との通信のみを遮断しようとすることが多い。一方で、ルータやファイアウォールには、外部のネットワーク（インターネット２０５側に配置される通信機器）からのＳＹＮパケットを拒絶し、内部のネットワーク（ユーザが使用する通信機器）からのＳＹＮパケットを許可することとして、外部からの接続要求ができないようにする設定が容易にできるようになっているものが多い。
【００７２】
したがって、このような不正行為は、典型的には、以下のように行われるものと想定される。
（１）対戦が開始されるまでは、ルータ等の設定を「外部からのＳＹＮパケットの受け入れを許可」にする。
（２）対戦が開始されて以後、対戦において自分の分が悪くなると、ルータ等の設定を「外部からのＳＹＮパケットの受け入れを拒絶」にする。
【００７３】
なお、ＳＹＮ／ＡＣＫパケットやＡＣＫパケットの送受については、設定の変更は、特にしないものと想定される。
【００７４】
このような設定を行った場合には、不正ユーザ側の端末装置２０１から相手方の端末装置２０１への接続要求は成功するが、相手方の端末装置２０１から不正ユーザ側の端末装置２０１への接続要求は失敗する、という非対称な通信状況が生ずることとなる。図４は、このような通信状況の様子を示す説明図である。本実施形態においては、この非対称な通信状況を検出して、不正行為を行っているプレイヤー側の端末装置２０１を同定する。
【００７５】
（端末装置の概要構成）
図５は、本実施形態に係る端末装置２０１の概要構成を示す模式図である。以下、本図を参照して説明する。
【００７６】
端末装置２０１は、通信部５０１と、セッション部５０２と、判定部５０３と、出力部５０４と、を備える。
【００７７】
すなわち、通信部５０１は、コンピュータ通信網、典型的にはインターネット２０５を介して対戦相手の端末装置２０１と通信する。したがって、ＮＩＣ  １０９は、ＣＰＵ  １０１と共働して、通信部５０１として機能する。
【００７８】
一方、セッション部５０２は、他の端末装置２０１とのネットワーク対戦が開始されてから、これが終了するまで、通信部５０１を介して、対戦相手の端末装置２０１との間で、ネットワーク対戦に必要な情報メッセージの通信を繰り返す。したがって、ＣＰＵ  １０１は、ＮＩＣ  １０９と共働して、セッション部５０２として機能する。
【００７９】
さらに、判定部５０３は、ネットワーク対戦が行われている間、通信部５０１による対戦相手の端末装置２０１との通信が成功したか失敗したかを監視する。そして、失敗したことが検出された場合は、通信部５０１を介してサーバ装置２０９（もしくは、対戦開始前にサーバ装置２０９に指定された他の通信装置。以下、サーバ装置２０９を例にあげて説明する。）への通信を試みて、サーバ装置２０９との通信が成功するか否かを判定する。したがって、ＣＰＵ  １０１は、ＮＩＣ  １０９と共働して、判定部５０３として機能する。
【００８０】
そして、出力部５０４は、サーバ装置２０９との通信が成功したと判定された場合、対戦相手の端末装置２０１との通信に障害がある旨を出力し、サーバ装置２０９との通信が失敗したと判定された場合、当該端末装置２０１とインターネット２０５との間の通信回線に障害がある旨を出力する。したがって、ＣＰＵ  １０１は、ＮＩＣ  １０９と共働して、出力部５０４として機能する。
【００８１】
ネットワーク対戦ゲームにおいては、当該出力部５０４の出力結果を、サーバ装置２０９に直ちに送信し、もしくは、当該出力結果を保存して、次回に当該ゲームが開始された場合等、サーバ装置２０９との通信が可能になった際に当該出力結果を送信する。これによって、サーバ装置２０９は、対戦が中断された場合のペナルティを、当該端末装置２０１を利用しているプレイヤーに課すことができるようになる。
【００８２】
以下、これら各部において実行される処理について、さらに詳細に説明する。
【００８３】
セッション部５０２は、対戦相手の端末装置２０１との間で、ネットワーク対戦に必要な情報メッセージの通信を繰り返す。具体的には、以下の条件が満たされている場合である。
（ａ）対戦相手の端末装置２０１に情報メッセージを送信する場合には、当該情報メッセージを送信した後所定のタイムアウト時間内に、当該対戦相手の端末装置２０１からＡＣＫパケットが返送される。
（ｂ）対戦相手の端末装置２０１から情報メッセージを受信する場合には、当該情報メッセージを受信した後、当該対戦相手の端末装置２０１へＡＣＫパケットを返送する。
【００８４】
そして、これら（ａ）（ｂ）のそれぞれが、当該ネットワーク対戦ゲームの内容や設定に応じた頻度で繰り返し行われている場合には、情報メッセージの通信が成功していることとなる。
【００８５】
一方、（ａ）（ｂ）のいずれか、もしくは両方が、所定のタイムアウト時間以上の間、行われなかった場合には、対戦相手の端末装置２０１との間で確立された接続が切れたものと考えて、上記のように、対戦相手の端末装置２０１に対して、ＳＹＮパケットを送信し、再接続を試みる。
【００８６】
また、対戦相手の端末装置２０１もまた、ＳＹＮパケットを当該端末装置２０１に送信して、再接続を試みることが期待される。
【００８７】
そこで、対戦相手の端末装置２０１からのＳＹＮ／ＡＣＫパケットが受信され、かつ、対戦相手の端末装置２０１からのＳＹＮパケットに対してＳＹＮ／ＡＣＫパケットを返送することができた場合には、対戦相手の端末装置２０１との通信経路が復活したものとして、セッション部５０２による処理を再開することとなる。
【００８８】
しかしながら、以下のような場合には、当該端末装置２０１と、対戦相手の端末装置２０１との間に何らかの通信障害（プレイヤーによる不正行為のほか、ネットワークケーブルの断線、端末装置２０１の故障、プロバイダにおける障害発生、通信回線の混雑など、種々の事象がありうる。）が生じているものと考えられる。
【００８９】
（ａ）当該端末装置２０１から対戦相手の端末装置２０１に対してＳＹＮパケットを送信してから所定の時間を経過しても、対戦相手の端末装置２０１からのＳＹＮ／ＡＣＫパケットが受信されない場合。
（ｂ）接続が切れたものと想定された時刻（あるいは、当該端末装置２０１から対戦相手の端末装置２０１に対してＳＹＮパケットを送信した時刻）から所定の時間を経過しても対戦相手の端末装置２０１からＳＹＮパケットが受信されない場合。
（ｃ）上記条件（ａ）（ｂ）の両方が成立する場合。
【００９０】
そこで、このような場合には、判定部５０３は、サーバ装置２０９に対して、ＳＹＮパケットを送信し、サーバ装置２０９との接続を試みる。
【００９１】
サーバ装置２０９からＳＹＮ／ＡＣＫパケットが返送されてきた場合には、判定部５０３は、ネットワークケーブルが断線していたり、プロバイダにおける障害が発生していたり、通信回線が混雑していたり、等の障害は発生していないと判断する。そこで、この場合は、出力部５０４は、当該端末装置２０１と、対戦相手の端末装置２０１と、の間に、何らかの通信障害があることを出力するのである。
【００９２】
一方、一定時間を経過しても、サーバ装置２０９からＳＹＮ／ＡＣＫパケットが返送されてこない場合には、判定部５０３は、ネットワークケーブルが断線していたり、プロバイダにおける障害が発生していたり、通信回線が混雑していたり、等の障害が発生していると判断する。そこで、この場合は、出力部５０４は、当該端末装置２０１と、インターネット２０５との通信そのものに、何らかの通信障害があることを出力する。
【００９３】
判定部５０４は、上記（ａ）（ｂ）のいずれが成立しているかによって、さらに詳しく判定を行う。上記のような不正行為の想定によれば、（ｂ）が成立し、（ａ）が成立しない場合は、当該端末装置２０１を利用しているプレイヤーが、ルータやファイアウォールの設定を変更することによって、不正行為をしている場合に該当する。そこで、このような場合には、当該端末装置２０１が不正行為を行ったと推定した旨も、あわせて出力部５０４に出力させる。
【００９４】
一方、（ａ）が成立し、（ｂ）が成立しない場合は、当該対戦相手の端末装置２０１を利用しているプレイヤーが、ルータやファイアウォールの設定を変更することによって、不正行為をしている場合に該当する。そこで、このような場合には、当該相手方の端末装置２０１が不正行為を行ったと推定した旨も、あわせて出力部５０４に出力させる。
（ａ）（ｂ）のいずれも成立する場合は、当該端末装置２０１も対戦相手の端末装置２０１も不正行為を行っていないと推定し、これをあわせて出力部５０４に出力させる。
【００９５】
これらの情報がサーバ装置２０９に送信されると、サーバ装置２０９では、対戦相手としてマッチングした端末装置２０１からの出力結果を調べて、いずれかの端末装置２０１が不正行為を行ったか否か、行ったとしたら、それはどちらか、を判定し、その判定結果に応じたペナルティをプレイヤーに課すことができるようになる。
【００９６】
なお、上記実施形態における、（ａ）（ｂ）の成立・不成立と不正行為が行われた端末装置２０１との対応付けは、ゲーム装置における通信形態などに応じて、逆にしたり等、種々の変更が可能であり、これらの変更した実施形態も、本発明の範囲に含まれる。
【産業上の利用可能性】
【００９７】
上記のように、本発明によれば、通信の失敗の原因を特定するのに好適な端末装置、端末方法、ならびに、これらをコンピュータによって実現するプログラムを提供することができ、当該装置や当該方法を、ネットワークゲームや各種の電子商取引などに適用することができる。
【図面の簡単な説明】
【００９８】
【図１】本発明の実施形態に係る端末装置等が実現される典型的なゲーム装置の概要構成を示す模式図である。
【図２】端末装置とインターネットとサーバ装置との関係を示す説明図である。
【図３】端末装置とサーバ装置との間でやりとりされるメッセージの様子を示す説明図である。
【図４】プレイヤーの不正行為の有無によって通信の様子が変わることを示す説明図である。
【図５】本実施形態の端末装置の概要構成を示す模式図である。
【符号の説明】
【００９９】
１００  ゲーム装置
１０１  ＣＰＵ
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  インターフェース
１０５  コントローラ
１０６  外部メモリ
１０７  画像処理部
１０８  ＤＶＤ−ＲＯＭドライブ
１０９  ＮＩＣ
１１０  音声処理部
２０１  端末装置
２０５  インターネット
２０９  サーバ装置
５０１  通信部
５０２  セッション部
５０３  判定部
５０４  出力部
【図１】
2005130166.tif 000003
【図２】
2005130166.tif 000004
【図３】
2005130166.tif 000005
【図４】
2005130166.tif 000006
【図５】
2005130166.tif 000007