[go: up one dir, main page]

JP4690432B2 - 通信システム、通信方法、ならびに、プログラム - Google Patents

通信システム、通信方法、ならびに、プログラム Download PDF

Info

Publication number
JP4690432B2
JP4690432B2 JP2008034497A JP2008034497A JP4690432B2 JP 4690432 B2 JP4690432 B2 JP 4690432B2 JP 2008034497 A JP2008034497 A JP 2008034497A JP 2008034497 A JP2008034497 A JP 2008034497A JP 4690432 B2 JP4690432 B2 JP 4690432B2
Authority
JP
Japan
Prior art keywords
communication
terminal device
router
terminal
computer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2008034497A
Other languages
English (en)
Other versions
JP2009189622A (ja
Inventor
昌二 森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Konami Digital Entertainment Co Ltd
Original Assignee
Konami Digital Entertainment Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Konami Digital Entertainment Co Ltd filed Critical Konami Digital Entertainment Co Ltd
Priority to JP2008034497A priority Critical patent/JP4690432B2/ja
Priority to CN2009801000557A priority patent/CN101785248B/zh
Priority to KR1020107003038A priority patent/KR101079609B1/ko
Priority to US12/867,744 priority patent/US8560676B2/en
Priority to PCT/JP2009/052283 priority patent/WO2009101962A1/ja
Priority to TW098104632A priority patent/TWI368423B/zh
Publication of JP2009189622A publication Critical patent/JP2009189622A/ja
Application granted granted Critical
Publication of JP4690432B2 publication Critical patent/JP4690432B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • A63F13/12
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/31Communication aspects specific to video games, e.g. between several handheld game devices at close range
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/71Game security or game management aspects using secure communication between game devices and game servers, e.g. by encrypting game data or authenticating players
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/75Enforcing rules, e.g. detecting foul play or generating lists of cheating players
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/131Protocols for games, networked simulations or virtual reality
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/33Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections
    • A63F13/335Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections using Internet
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/40Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of platform network
    • A63F2300/402Communication between platforms, i.e. physical link to protocol
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/40Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of platform network
    • A63F2300/407Data transfer via internet
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/53Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing
    • A63F2300/532Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing using secure communication, e.g. by encryption, authentication
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/55Details of game data or player data management
    • A63F2300/5586Details of game data or player data management for enforcing rights or rules, e.g. to prevent foul play

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Telephonic Communication Services (AREA)

Description

本発明は、ルータ装置を使用するユーザが通信対戦ゲームにおいてルータ装置の設定を変更することで通信対戦の結果を無効にしようとする等の不正行為を検出するのに好適な通信システム、通信方法、ならびに、これらをコンピュータにて実現するプログラムに関する。
従来から、インターネットを利用した通信対戦を可能とするネットワーク対戦ゲームの通信システムが提案されている。このような通信システムの多くにおいては、ユーザが利用する端末装置は、まず、ロビーサーバと呼ばれるサーバ装置に接続して対戦相手を紹介してもらう。そして、対戦相手が決まった後は、端末装置同士がピアツーピア通信を行って通信対戦ゲームを行い、勝敗を決して、対戦結果をサーバ装置に報告する。また、家庭内LAN(Local Area Network)の普及やネットワークセキュリティの観点から、端末装置がインターネットに接続するにあたっては、ルータ装置やファイアウォール等を介するのが一般的になりつつある。
このような通信対戦ゲームの通信システムにおいては、対戦の結果がプレイヤーの意に合わない場合に、当該ユーザが使用する端末装置に接続されたルータやファイアウォールの設定を変更したり接続を切断したりして、相手先との通信を失敗させることにより、当該対戦結果そのものを無効にする等の、プレイヤーの悪意ある行為が行われることがある。このような行為は「チート行為」とも呼ばれる。
このようなチート行為を検出する技術は、以下のような文献に開示されている。
特開2005−130166号公報
ゲームのプログラムそのものを書き換えることが困難な場合もあるため、ルータ装置との結線を切断したり、ルータ装置の電源を切ったりする等して、インターネットとの接続ができないようにして、チート行為を行うことがありうるが、[特許文献1]は、通信の失敗の原因が対戦中の端末装置のいずれにあるのかを特定して、このような行為に対応するものである。
すなわち、各端末装置は、対戦相手の端末装置との対戦を行っている間に通信が失敗すると、ロビーサーバ等の他の通信装置との通信を試みて、これが成功すれば対戦相手の端末装置に障害があると判定し、失敗すれば自身とコンピュータ通信網との間に障害があると判定するものである。そして、当該技術によれば、当該障害の有無をユーザのチート行為の判定基準とすることができる。
しかしながら、[特許文献1]等の先行技術では検出できないチート行為の手法、たとえば、ルータ装置のフィルタリングルールを一時的に変更して、対戦相手からの通信のみを拒否する等の手法も存在する。したがって、このような種々のチート行為を、新たな手法により検出する必要がある。また、上記手法に基づく通信断によってチート行為が生じたとしても、その行為を打ち消す処理を行って、チート行為の被害者側のユーザを救済したい、との要望もある。
本発明は、上記のような課題を解決するもので、ルータ装置を使用するユーザが通信対戦ゲームにおいてルータ装置の設定を変更することで通信対戦の結果を無効にしようとする等の不正行為を検出するのに好適な通信システム、通信方法、ならびに、これらをコンピュータにて実現するプログラムを提供することを目的とする。
以上の目的を達成するため、本発明の原理にしたがって、下記の発明を開示する。
本発明の第1の観点に係る通信システムは、コンピュータ通信網に第1ルータ装置を介して接続される第1端末装置と、当該コンピュータ通信網に第2ルータ装置を介して接続される第2端末装置と、当該コンピュータ通信網に接続されるサーバ装置と、を有し、第1端末装置と、第2端末装置と、が、第1ルータ装置と、コンピュータ通信網と、第2ルータ装置と、を介して、互いを通信相手として通信し、以下のように構成する。
すなわち、第1端末装置と、第2端末装置と、は、いずれも、相手方通信部、ルータ識別子取得部、ルータ通信部、状況送信部を有する。
ここで、相手方通信部は、当該端末装置が接続されるルータ装置を介して、当該通信相手との通信を行う。典型的には、相手方通信部は、ネットワーク通信対戦ゲームにおけるプレイヤー同士の対戦を実現するための通信処理を担うことになる。
一方、ルータ識別子取得部は、相手方通信部から当該通信相手への通信が成功すると、当該通信相手が接続されるルータ装置の通信識別子を取得する。ここで、通信識別子とは、典型的には、IPアドレスおよびポート番号を意味する。一般に、通信相手から送信されたパケットを受信すると、当該パケットには、当該パケットが経由した経路情報が記載されている。これから、通信相手のルータ装置を知得することができる。
このほか、ロビーサーバを介して通信相手の紹介をされた場合には、当該紹介にかかるIPアドレスは、当該通信相手のルータ装置のIPアドレスそのものに相当する。この場合は、通信相手との通信が成立している限り、紹介されたIPアドレスそのものがルータ装置の通信識別子であり、紹介されたIPアドレスおよびポート番号の組は、当該通信相手の端末装置の通信識別子に相当することになる。
さらに、相手方通信部から当該通信相手への通信が成功した後に失敗すると、ルータ通信部は、取得された通信識別子を有するルータ装置への通信を行う。
上記のように、通信相手との通信は、典型的には、IPアドレスおよびポート番号を使用して、所定の通信対戦プロトコルに則って行われる。そして、この通信対戦が、通信タイムアウト等によって不成立となると、ルータ通信部は、ルータ装置への通信が可能であるか否かを判定するのである。
上記のように、通信相手が接続されているルータ装置の通信識別子がIPアドレスである場合には、当該ルータ装置に対して、たとえば、PINGプロトコルに基づくパケットを送信してその応答を調べることにより、ルータ装置への通信が可能であるか否かを調べることができる。
さらに、状況送信部は、相手方通信部から当該通信相手への通信が成功しているか否か、および、ルータ通信部から当該通信相手が接続されるルータ装置への通信が成功しているか否かを指定する接続状況情報を、所定のタイミングでサーバ装置に送信する。
通信相手への通信が成功している場合には、当然に、通信相手のルータ装置への通信が成功していることとなるので、接続状況情報にルータ通信部による通信の成功の可否が指定されるのは、通信相手への通信が失敗している場合に限ることとしても良い。なお、所定のタイミングの典型例としては、一定時間おき、通信相手との通信に失敗したとき、通信相手との対戦が終了して対戦結果を報告するとき、またはこれらの適当な組み合わせ等が考えられる。
一方、サーバ装置は、状況受信部、不正判定部を有する。
ここで、状況受信部は、第1端末装置から送信される接続状況情報と、第2端末装置から送信される接続状況情報と、を受信する。当該接続状況情報は、上記のように所定のタイミングで送信されるものであり、状況受信部は、両端末装置から受信した最新の接続状況情報をRAM(Random Access Memory)等に保存することとするのが典型的である。
一方、不正判定部は、受信された第1端末装置からの接続状況情報と、第2端末装置からの接続状況情報と、に、より、
(1)第1端末装置から第2端末装置への通信が成功し、第2端末装置から第1端末装置への通信が失敗し、第2端末装置から第1ルータ装置への通信が成功している旨が指定されている場合、第1端末装置のユーザに不正行為があったと判定し、
(2)第2端末装置から第1端末装置への通信が成功し、第1端末装置から第2端末装置への通信が失敗し、第1端末装置から第2ルータ装置への通信が成功している旨が指定されている場合、第2端末装置のユーザに不正行為があったと判定する。
サーバ装置へ両端末装置からの接続状況情報が到達している状況を想定すると、第1端末装置と第1ルータ装置とインターネットの間、ならびに、第2端末装置と第2ルータ装置とインターネットの間には、機械的な障害(ケーブルが外れている、電源が切れている等)は存在しないと考えられる。
そこで、上記(1)では、第1ルータ装置を境界として、第2端末装置からのパケットの流入に障害があるか否かを判定し、上記(2)では、第2ルータ装置を境界として、第1端末装置からのパケットの流入に障害があるか否かを判定している。
本発明において、両端末装置のユーザが行う不正行為として想定する典型例は、「通信対戦が不利であると考えたときに、通信相手の端末装置からのパケットの流入を拒否するようなフィルタリングルールを一時的に採用することによって、対戦を不可能とし、対戦結果を無効にする」ようなチート行為である。
このような、[特許文献1]に記載の技術では必ずしも判定できないような不正行為であっても、サーバ装置を介在させることによって、上記(1)(2)のような条件により、不正行為の有無を判定することができる。なお、本発明は[特許文献1]に記載の技術と組み合わせて適用することも可能である。
本発明によれば、ルータ装置を使用するユーザが通信対戦ゲームにおいてルータ装置の設定を変更することで通信対戦の結果を無効にしようとする等の不正行為をできるだけ検出することができるようになる。
また、本発明の通信システムにおいて、不正判定部は、以下のように構成することができる。
(3)第1端末装置から送信されるべき接続状況情報が所定の期間受信されず、第2端末装置から送信されるべき接続状況情報が当該所定の期間に受信された場合、第1端末装置のユーザに不正行為があったと判定し、
(4)第2端末装置から送信されるべき接続状況情報が当該所定の期間受信されず、第1端末装置から送信されるべき接続状況情報が当該所定の期間に受信された場合、第2端末装置のユーザに不正行為があったと判定する。
本発明は上記発明の好適実施形態に係るもので、上記(3)(4)においてユーザが行う不正行為として想定する典型例は「通信対戦が不利であると考えたときに、自身の端末装置の通信を不可能とすることによって、対戦を不可能とし、対戦結果を無効にする」ようなチート行為である。
本発明によれば、ルータ装置を使用するユーザが通信対戦ゲームにおいてルータ装置の設定を変更したり電源を切ったり接続を断つことで、通信対戦の結果を無効にしようとする等の不正行為をできるだけ検出することができるようになる。
また、本発明の通信システムは、以下のように構成することができる。
すなわち、第1端末装置と、第2端末装置と、において、相手方通信部による当該通信相手との通信が失敗しており、ルータ通信部による当該通信相手が接続されるルータ装置との通信が成功している場合、状況送信部は、相手方通信部による当該通信相手との通信が失敗しており、ルータ通信部による当該通信相手が接続されるルータ装置との通信が成功している旨に加えて、相手方通信部が当該通信相手への送信に失敗した送付情報を、当該接続状況情報に指定してサーバ装置に送信する。
すなわち、接続状況情報には、以下の二つの情報が指定されることになる。
(1)相手方通信部による当該通信相手との通信が失敗しており、ルータ通信部による当該通信相手が接続されるルータ装置との通信が成功している旨。
(2)相手方通信部が当該通信相手への送信に失敗した送付情報。すなわち、通信相手に送信しようと試みて、送信に失敗したパケットの内容。
これらの情報は、接続状況情報に埋め込まれて、サーバ装置に送信される。
一方、サーバ装置は、情報中継部をさらに備え、情報中継部は、(1)の条件が成立する場合、第2端末装置からの接続状況情報に指定される送付情報を第1端末装置へ送信し、(2)の条件が成立する場合、第1端末装置からの接続状況情報に指定される送付情報を第2端末装置へ送信して、当該送付情報を中継する。
すなわち、不正行為を行っていると判定された端末装置に対する送信に失敗したパケットの内容を、サーバ装置から送信するのである。
さらに、第1端末装置と、第2端末装置と、は、それぞれ、情報受信部をさらに備え、情報受信部は、サーバ装置から送信された送付情報を受信し、相手方通信部は、情報受信部により受信された送付情報を当該通信相手から通信されたものとする。
通信相手から送信されてくるはずだったパケットが、何らかの事情で(典型的にはチート行為によって)到達せず、サーバ装置から中継され、これが受信されれば、その送付情報に基づいて対戦を続行するのである。
本発明によれば、上記のようなチート行為が生じた場合にも、加害者側の不正行為は検出できる一方で、サーバ装置を経由して通信対戦が継続されるため、被害者側はチート行為が生じなかったものとしてゲームが続行できる。
本発明のその他の観点に係る通信方法は、コンピュータ通信網に第1ルータ装置を介して接続される第1端末装置と、当該コンピュータ通信網に第2ルータ装置を介して接続される第2端末装置と、当該コンピュータ通信網に接続されるサーバ装置と、が実行し、第1端末装置と、第2端末装置と、は、第1ルータ装置と、コンピュータ通信網と、第2ルータ装置と、を介して、互いを通信相手として通信し、第1端末装置と、第2端末装置と、は、いずれも、相手方通信部、ルータ識別子取得部、ルータ通信部、状況送信部を備え、サーバ装置は、状況受信部、不正判定部を備え、当該通信方法は、相手方通信工程、ルータ識別子取得工程、ルータ通信工程、状況送信工程、状況受信工程、不正判定工程を備え、以下のように構成する。
すなわち、第1端末装置と、第2端末装置と、において、相手方通信工程では、相手方通信部が、当該端末装置が接続されるルータ装置を介して、当該通信相手との通信を行い、ルータ識別子取得工程では、相手方通信工程にて当該通信相手への通信が成功すると、ルータ識別子取得部が、当該通信相手が接続されるルータ装置の通信識別子を取得し、ルータ通信工程では、相手方通信工程にて当該通信相手への通信が成功した後に失敗すると、ルータ通信部が、取得された通信識別子を有するルータ装置への通信を行い、状況送信工程では、相手方通信工程にて当該通信相手への通信が成功しているか否か、および、ルータ通信工程にて当該通信相手が接続されるルータ装置への通信が成功しているか否かを指定する接続状況情報を、所定のタイミングでサーバ装置に送信する。
一方、サーバ装置において、状況受信工程では、状況受信部が、第1端末装置から送信される接続状況情報と、第2端末装置から送信される接続状況情報と、を受信し、不正判定工程では、不正判定部が、受信された第1端末装置からの接続状況情報と、第2端末装置からの接続状況情報と、に、より、
(1)第1端末装置から第2端末装置への通信が成功し、第2端末装置から第1端末装置への通信が失敗し、第2端末装置から第1ルータ装置への通信が成功している旨が指定されている場合、第1端末装置のユーザに不正行為があったと判定し、
(2)第2端末装置から第1端末装置への通信が成功し、第1端末装置から第2端末装置への通信が失敗し、第1端末装置から第2ルータ装置への通信が成功している旨が指定されている場合、第2端末装置のユーザに不正行為があったと判定する。
本発明のその他の観点に係るプログラムは、第1端末コンピュータを上記の通信システムの第1端末装置として機能させ、第2端末コンピュータを上記の通信システムの第2端末装置として機能させる端末プログラムと、サーバコンピュータを上記の通信システムのサーバ装置として機能させるサーバプログラムと、を有するように構成する。
また、本発明のプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読取可能な情報記憶媒体に記録することができる。
上記プログラムは、プログラムが実行されるコンピュータとは独立して、コンピュータ通信網を介して配布・販売することができる。また、上記情報記憶媒体は、コンピュータとは独立して配布・販売することができる。
本発明によれば、ルータ装置を使用するユーザが通信対戦ゲームにおいてルータ装置の設定を変更することで通信対戦の結果を無効にしようとする等の不正行為を検出するのに好適な通信システム、通信方法、ならびに、これらをコンピュータにて実現するプログラムを提供することができる。
以下に本発明の実施形態を説明する。以下では、理解を容易にするため、ゲーム用の情報処理装置を利用して本発明が実現される実施形態を説明するが、以下に説明する実施形態は説明のためのものであり、本願発明の範囲を制限するものではない。したがって、当業者であればこれらの各要素もしくは全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。
本実施形態に係る通信システムは、インターネット等のコンピュータ通信網に接続されたサーバコンピュータにおいて所定のプログラムを動作させてサーバ装置として機能させ、携帯電話や携帯ゲーム装置などの端末装置と通信可能に設定することによって、実現される。
ここで、端末装置とサーバ装置とは、処理能力等に相違はあるものの、その根本的な動作原理や構成は共通する。そこで、以下では、情報処理装置の概要を説明した上で、端末装置とサーバ装置に適用した場合の違いについては、それに応じて適宜説明することとする。
図1は、プログラムを実行することにより、本実施形態のサーバ装置や端末装置として機能しうる典型的な情報処理装置の概要構成を示す模式図である。以下、本図を参照して説明する。
情報処理装置100は、CPU(Central Processing Unit)101と、ROM 102と、RAM(Random Access Memory)103と、インターフェイス104と、コントローラ105と、外部メモリ106と、画像処理部107と、DVD−ROM(Digital Versatile Disc ROM)ドライブ108と、NIC(Network Interface Card)109と、音声処理部110と、マイク111と、を備えるように構成することができる。各種の入出力装置は、適宜省略することができる。
ゲーム用のプログラムおよびデータを記憶したDVD−ROMをDVD−ROMドライブ108に装着して、情報処理装置100の電源を投入することにより、当該プログラムが実行され、本実施形態のサーバ装置が実現される。
また、携帯ゲーム装置においては、携帯可能とするために、DVD−ROMドライブ108を利用するのではなく、ROMカセット用スロットを利用することも可能である。この場合、プログラムが記録されたROMカセットを挿入して、当該プログラムを実行することで、本実施形態の端末装置が実現される。
また、NIC 109は、家庭内無線LANが設定されている状況では、無線LANカードとなる。一方、サーバ装置においては、有線LANカードとしてインターネットに接続するのが典型的である。端末装置が有する無線LANカードがアクセスするアクセスポイント装置は、ルータ機能を有し、もしくは、他のルータ装置を介して、インターネットに接続され、端末装置とサーバ装置との通信が可能となる。
CPU 101は、情報処理装置100全体の動作を制御し、各構成要素と接続され制御信号やデータをやりとりする。また、CPU 101は、レジスタ(図示せず)という高速アクセスが可能な記憶域に対してALU(Arithmetic Logic Unit)(図示せず)を用いて加減乗除等の算術演算や、論理和、論理積、論理否定等の論理演算、ビット和、ビット積、ビット反転、ビットシフト、ビット回転等のビット演算などを行うことができる。さらに、マルチメディア処理対応のための加減乗除等の飽和演算や、三角関数等、ベクトル演算などを高速に行えるように、CPU 101自身が構成されているものや、コプロセッサを備えて実現するものがある。
ROM 102には、電源投入直後に実行されるIPL(Initial Program Loader)が記録され、これが実行されることにより、DVD−ROMに記録されたプログラムをRAM 103に読み出してCPU 101による実行が開始される。また、ROM 102には、情報処理装置100全体の動作制御に必要なオペレーティングシステムのプログラムや各種のデータが記録される。
RAM 103は、データやプログラムを一時的に記憶するためのもので、DVD−ROMから読み出したプログラムやデータ、その他ゲームの進行やチャット通信に必要なデータが保持される。また、CPU 101は、RAM 103に変数領域を設け、当該変数に格納された値に対して直接ALUを作用させて演算を行ったり、RAM 103に格納された値を一旦レジスタに格納してからレジスタに対して演算を行い、演算結果をメモリに書き戻す、などの処理を行う。
インターフェイス104を介して接続されたコントローラ105は、ユーザがゲーム実行の際に行う操作入力を受け付ける。
インターフェイス104を介して着脱自在に接続された外部メモリ106には、ゲーム等のプレイ状況(過去の成績等)を示すデータ、ゲームの進行状態を示すデータ、ネットワーク対戦の場合のチャット通信のログ(記録)のデータなどが書き換え可能に記憶される。ユーザは、コントローラ105を介して指示入力を行うことにより、これらのデータを適宜外部メモリ106に記録することができる。
DVD−ROMドライブ108に装着されるDVD−ROMには、ゲームを実現するためのプログラムとゲームに付随する画像データや音声データが記録される。CPU 101の制御によって、DVD−ROMドライブ108は、これに装着されたDVD−ROMに対する読み出し処理を行って、必要なプログラムやデータを読み出し、これらはRAM 103等に一時的に記憶される。
画像処理部107は、DVD−ROMから読み出されたデータをCPU 101や画像処理部107が備える画像演算プロセッサ(図示せず)によって加工処理した後、これを画像処理部107が備えるフレームメモリ(図示せず)に記録する。フレームメモリに記録された画像情報は、所定の同期タイミングでビデオ信号に変換され画像処理部107に接続されるモニタ(図示せず)へ出力される。これにより、各種の画像表示が可能となる。
画像演算プロセッサは、2次元の画像の重ね合わせ演算やαブレンディング等の透過演算、各種の飽和演算を高速に実行できる。
また、仮想3次元空間に配置され、各種のテクスチャ情報が付加されたポリゴン情報を、Zバッファ法によりレンダリングして、所定の視点位置から仮想3次元空間に配置されたポリゴンを所定の視線の方向へ俯瞰したレンダリング画像を得る演算の高速実行も可能である。
さらに、CPU 101と画像演算プロセッサが協調動作することにより、文字の形状を定義するフォント情報にしたがって、文字列を2次元画像としてフレームメモリへ描画したり、各ポリゴン表面へ描画することが可能である。
NIC 109は、情報処理装置100をインターネット等のコンピュータ通信網(図示せず)に接続するためのものであり、LANを構成する際に用いられる10BASE−T/100BASE−T規格にしたがうものや、電話回線を用いてインターネットに接続するためのアナログモデム、ISDN(Integrated Services Digital Network)モデム、ADSL(Asymmetric Digital Subscriber Line)モデム、ケーブルテレビジョン回線を用いてインターネットに接続するためのケーブルモデム等と、これらとCPU 101との仲立ちを行うインターフェース(図示せず)により構成される。
音声処理部110は、DVD−ROMから読み出した音声データをアナログ音声信号に変換し、これに接続されたスピーカ(図示せず)から出力させる。また、CPU 101の制御の下、ゲームの進行の中で発生させるべき効果音や楽曲データを生成し、これに対応した音声をスピーカや、ヘッドホン(図示せず)、イヤフォン(図示せず)から出力させる。
音声処理部110では、DVD−ROMに記録された音声データがMIDIデータである場合には、これが有する音源データを参照して、MIDIデータをPCMデータに変換する。また、ADPCM形式やOgg Vorbis形式等の圧縮済音声データである場合には、これを展開してPCMデータに変換する。PCMデータは、そのサンプリング周波数に応じたタイミングでD/A(Digital/Analog)変換を行って、スピーカに出力することにより、音声出力が可能となる。
さらに、情報処理装置100には、インターフェイス104を介してマイク111を接続することができる。この場合、マイク111からのアナログ信号に対しては、適当なサンプリング周波数でA/D変換を行い、PCM形式のディジタル信号として、音声処理部110でのミキシング等の処理ができるようにする。
このほか、情報処理装置100は、ハードディスク等の大容量外部記憶装置を用いて、ROM 102、RAM 103、外部メモリ106、DVD−ROMドライブ108に装着されるDVD−ROM等と同じ機能を果たすように構成してもよい。
また、ユーザからの文字列の編集入力を受け付けるためのキーボードや、各種の位置の指定および選択入力を受け付けるためのマウスなどを接続する形態も採用することができる。また、本実施形態の情報処理装置100にかえて、汎用のパーソナルコンピュータを利用することもできる。
上記のように、サーバ装置や端末装置は、情報処理装置100でプログラムを実行することで実現されるが、一般的なコンピュータ上に実現することとしても良い。情報処理装置100と一般的なコンピュータとは、その構成や機能に大きな相違はないからである。上記のように、本願では、一般的なコンピュータと情報処理装置100とを同じように扱って説明する。
たとえば、一般的なコンピュータは、いわゆるコンシューマ向けゲーム装置に相当する情報処理装置100と同様に、CPU、RAM、ROM、DVD−ROMドライブ、および、NICを備え、情報処理装置100よりも簡易な機能を備えた画像処理部を備え、外部記憶装置としてハードディスクを有する他、フレキシブルディスク、光磁気ディスク、磁気テープ等が利用できるようになっている。また、コントローラ105ではなく、キーボードやマウスなどを入力装置として利用する。
また、携帯電話、携帯ゲーム機器、カラオケ装置なども、一般的なコンピュータと同等の機能を有するため、これら種々の機器を、適宜端末装置やサーバ装置を実現するプラットフォームとして利用することにより、本発明を実現することが可能である。
(通信システム)
図2は、本実施形態に係る通信システムの概要構成を示す説明図である。以下、本図を参照して説明する。
通信システム201は、インターネット241を介して相互に通信可能な第1端末装置211、第2端末装置221、サーバ装置231から構成される。
ここで、第1端末装置211は、第1ルータ装置212を介してインターネット241に接続され、第2端末装置221は、第2ルータ装置222を介してインターネット241に接続されている。
第1ルータ装置212は、インターネット241と、第1端末装置211が存在する家庭内LANとの境界となり、ゲートウェイ/ファイアウォール/アドレス・ポート番号変換装置として機能する。
また、第2ルータ装置222は、インターネット241と、第2端末装置221が存在する家庭内LANとの境界となり、ゲートウェイ/ファイアウォール/アドレス・ポート番号変換装置として機能する。
第1端末装置211、および、第2端末装置221では、所定の端末プログラムが動作する。この端末プログラムは、通信対戦ゲームを実現するものである。
本実施形態では、通信対戦ゲームは、以下の手順で進行される。
すなわち、第1端末装置211が、ロビーサーバであるサーバ装置231に、対戦相手の紹介を申し込む。以下、サーバ装置231のIPアドレスを「S」、紹介申込のためのポート番号を「V」とし、通信の宛先を「S/V」のように表記する。
S/V宛の申し込みにおいて、第1端末装置211からサーバ装置231への通信は、第1ルータ装置212に中継されることとなる。
したがって、サーバ装置231では、対戦相手を求めている第1端末装置211の識別情報として、第1ルータ装置212のIPアドレス(以下「R1」という。)を取得する。
同様に、第2端末装置221からの対戦相手の紹介の申し込みがあると、サーバ装置231は、第2ルータ装置222のIPアドレス(以下「R2」という。)を取得する。
そして、この2つの申し込みに対して、両者を紹介する。この際に、当該IPアドレスの、あらかじめ定めたサーバ通信用ポート番号(以下「P」という。)に対して、紹介通知を行うのが典型的である。すなわち、R1/Pに対しては、R2を紹介する通知を行い、R2/Pに対しては、R1を紹介する通知を行うのである。
R1およびR2は、第1ルータ装置212および第2ルータ装置222のIPアドレスであるから、アドレス変換がされて、当該通知が第1端末装置211および第2端末装置221に中継される。すなわち、第1端末装置211のポート番号Pに対して、R2を紹介する通知が到達し、第2端末装置221のポート番号Pに対して、R1を紹介する通知が到達する。これらのアドレス変換ルールは、第1ルータ装置212および第2ルータ装置222のフィルタリングルールの一部として記憶される。
さて、通信対戦ゲームでは、対戦を行う端末装置同士が対戦通信に使用するために、あらかじめ定めた対戦用ポート番号(以下「Q」という。)を用いてピアツーピアの通信を行う。
そこで、第1端末装置211は、IPアドレスR2のあらかじめ定めた対戦用ポート番号Qに対して、通信を開始し、第2端末装置221は、IPアドレスR1のあらかじめ定めた対戦用ポート番号Qに対して、通信を開始する。
すると、R1/Qに対する通信は、第1ルータ装置212のアドレス変換により、第1端末装置211のポートQに到達し、R2/Qに対する通信は、第2ルータ装置222のアドレス変換により、第2端末装置221のポートQに到達する。
このようにして、ポートQ同士を介したピアツーピアの通信対戦が行われるのである。
また、第1ルータ装置212や第2ルータ装置222そのものがインターネット241に接続されていることを確認するため、ping/icmpプロトコル(ポート番号の既定値は1)に応答するように構成するのが典型的である。この場合、Qの値としては、1以外を採用する。
この場合、第2端末装置221において、第1端末装置211宛のパケットの宛先はR1/Qとなり、第1ルータ装置212宛のパケットの宛先はR1/1となる。これらのパケットの送付に対して、ACKが返ってきたら、第1端末装置211への通信ならびに第1ルータ装置212宛への通信が成功したことになる。
また、第1端末装置211において、第2端末装置221宛のパケットの宛先はR2/Qとなり、第2ルータ装置222宛のパケットの宛先はR2/1となる。これらのパケットの送付に対して、ACKが返ってきたら、第2端末装置221への通信ならびに第2ルータ装置222宛への通信が成功したことになる。
なお、ポート番号P、Qについては、必ずしも定数とする必要はない。また、ping/icmpプロトコル以外のプロトコルやポート番号を使用して、ルータ装置の接続確認を行うことも可能である。これらの第1端末装置211や第2端末装置221が家庭内LANで利用するポート番号と、第1ルータ装置212や第2ルータ装置222がインターネット241で利用するポート番号との対応関係が、何らかの手法で、サーバ装置231に伝達され、第1端末装置211と第2端末装置221への紹介の際に伝えられて、相互に知得できるようになっていれば、上記のような五者の通信を構成することができる。したがって、これらの実施形態も本発明の範囲に含まれる。
図3は、第1端末装置211、第1ルータ装置212、第2端末装置221、第2ルータ装置222、ならびに、サーバ装置231の間で、正常に通信が可能となっている様子を示す説明図である。以下、本図を参照して説明する。
本図においては、AからBへパケットの送信を試みたところBからAへACKが返ってきた、すなわち、AからBへの通信が成功したということを、A―○→Bのように○印を付した矢印で表記している。
通信対戦ゲームにおいて、主体的に通信を行うのは、第1端末装置211、第2端末装置221、サーバ装置231の3つであり、第1ルータ装置212と第2ルータ装置222の2つは、他者から通信されることによって処理を行うから、本図における矢印の始点は、第1端末装置211、第2端末装置221、サーバ装置231となっている。
さて、第1端末装置211のユーザが通信対戦ゲームにおいて、ある対戦結果を無効にするために、通信を不可能にするための方策としては、上記のように、以下の方策が考えられる。
(1)第1端末装置211の電源を切る。
(2)第1ルータ装置212の電源を切る。
(3)第1端末装置211と第1ルータ装置212の間の通信ケーブルを抜く。
(4)第1ルータ装置212とインターネット241の間の通信ケーブルを抜く。
(5)第1ルータ装置212のゲートウェイ/ファイアウォール設定を一時的に変更して、第1ルータ装置212とインターネット241との間の通信をすべて遮断する。
(6)第1ルータ装置212のゲートウェイ/ファイアウォール設定を一時的に変更して、第2端末装置221から第1端末装置211への通信を遮断する。
上記(1)〜(5)の方策に対しては、[特許文献1]に開示する技術等によって対応が可能である。本実施形態においては、上記(6)の不正行為に対して対応しようとするものである。
図4は、第1端末装置211、第1ルータ装置212、第2端末装置221、第2ルータ装置222、サーバ装置231の間で、上記のような不正な設定を行うことにより、一部で通信が不可能となっている様子を示す説明図である。以下、本図を参照して説明する。
本図と前図とを対比すると、第2端末装置221から第1端末装置211への矢印は、×印を付してある(「←×―」)が、それ以外の矢印は、○印が付されたままで通信可能な状態で残っている。そして、前図では、第1端末装置211と第2端末装置221とで対称だった矢印の配置が、本図では非対称になっている。本実施形態では、この非対称性を用いて、第1端末装置211のユーザの不正行為を検出する。
図5は、本実施形態の第1端末装置211および第2端末装置221として機能する端末装置の概要構成を示す模式図である。図6は、当該端末装置にて実行される端末処理の制御の流れを示すフローチャートである。以下、これらの図を参照して説明する。
端末装置501は、相手方通信部502、ルータ識別子取得部503、ルータ通信部504、状況送信部505、情報受信部506を有する。
端末処理が開始されると、上記のように、端末装置501は、ロビーサーバとして機能するサーバ装置231にアクセスして通信相手がインターネットに公開するIPアドレスおよびポート番号の紹介を受け、相手方通信部502においてピアツーピア通信の初期設定を行う(ステップS601)。ここで知得されるIPアドレスおよびポート番号は、相手方の端末装置501がインターネット241に直接接続されている場合には、相手方の端末装置501が直接使用するものである。
しかし、多くの場合、相手方の端末装置501はルータ装置を介してインターネット241に接続されている。したがって、相手方の端末装置501が使用するルータ装置のIPアドレスであり、当該相手方のルータ装置において、ステップS601で知得されるポート番号にパケットが到着すると、そのパケットは、当該相手方の端末装置501へ中継される。
ここで得られる相手方のIPアドレスおよびポート番号は、RAM 103等に一時的に記憶される。したがって、CPU 101は、NIC 109やRAM 103と共働して、ルータ識別子取得部503として機能する。
ついで、端末装置501は、相手方の端末装置501やサーバ装置231からパケットが到着していれば(ステップS602;Yes)、これを受信してから(ステップS603)、到着していなければ(ステップS602;No)そのまま、通信対戦ゲームの計算処理を行う(ステップS604)。通信対戦ゲームの計算処理内容は、各種のゲーム技術をそのまま適用することができる。
多くの場合、通信対戦が継続している間はパケットは相手方の端末装置501との間でやりとりされ、通信対戦が終了して対戦結果を報告する段階になると、パケットはサーバ装置231との間でやりとりされる。したがって、この場合には、CPU 101は、NIC 109やRAM 103と共働して、相手方通信部502として機能する。
また、後述するように、相手方の端末装置501からサーバ装置231を中継して到着したパケットを、相手方の端末装置501から直接到着したパケットとして、通信対戦ゲームの対戦を進める計算処理も行う。この場合には、CPU 101は、NIC 109やRAM 103と共働して、情報受信部506として機能する。
そして、通信対戦ゲームの計算処理によって相手方にパケットを送信すべき状況となったら(ステップS605;相手方)、相手方通信部502は、ステップS601にて紹介されたIPアドレスおよびポート番号へ、そのパケットの送信を試みる(ステップS606)。この場合も、CPU 101は、NIC 109やRAM 103と共働して、相手方通信部502として機能する。
パケット送信に対してタイムアウトが生じるまでにACKが返送されてきて、送信が成功したら(ステップS607;Yes)、成功した旨をサーバ装置231に通知するか否かを判断する(ステップS608)。サーバ装置231への通知は、一定期間おき、あるいは、一定個数のパケット送信が行われたときのほか、通信対戦が終了した際等、適宜間引きして行うのが典型的であるが、両者の対戦の様子をインターネット241の他の端末装置501に放送する場合には、通信対戦ゲームの様子を表す情報とともに、毎回行うのが典型的である。
通知することとなったら(ステップS608;Yes)、相手方への通信が成功した旨を指定する接続状況パケットをサーバ装置231へ送信して(ステップS609)ステップS602に戻り、そうでなければ(ステップS608;No)、そのままステップS602に戻る。
一方、相手方への通信においてタイムアウトが発生して、送信が失敗したら(ステップS607;No)、ステップS601にて紹介されたIPアドレスのping/icmpプロトコル用ポートに、当該プロトコルに基づいたパケット送信を試みて、相手方のルータ装置への通信が可能であるかを調べる(ステップS610)。
ping/icmpの問い合わせを相手方のルータ装置が受信すると、相手方のルータ装置は、LAN内にパケットを流入させることなく、ACKや応答パケットを返送してくる。したがって、上記(6)のような不正設定を行った場合であっても、相手方のルータ装置からのACKや応答パケットは得られるはずである。
そして、
(1)当該パケット送信が成功したか否かの結果、および、
(2)ステップS606、S607で送信に失敗した不達パケットの内容を送付情報として
指定する接続情報パケットを生成してサーバ装置231に送信し(ステップS611)、ステップS602に戻る。
なお、ステップS610におけるパケット送信が成功したか否かは、相手方のルータ装置への通信が成功したか否かを表す。また、ステップS611にて生成される接続状況パケットに不達パケットが含まれていれば、相手方端末装置501への通信が失敗したこととなる。したがって、相手方端末装置501への通信が失敗したことを、明示的に接続情報パケットに指定する必要性はない。
また、送信に失敗したパケットの内容をサーバ装置231に送信するのは、サーバ装置231を介して相手方端末装置501に当該パケットの内容を通知するためである。これによって、一時的なネットワーク不調に対応することや、相手方の不正行為を事実上無意味にすることが可能となる。
したがって、CPU 101は、RAM 103やNIC 109と共働して、状況送信部505として機能する。
相手方通信部502から当該通信相手への通信が成功しているか否か、および、ルータ通信部504から当該通信相手が接続されるルータ装置への通信が成功しているか否かを指定する接続状況情報を、所定のタイミングでサーバ装置に送信する。
通信相手への通信が成功している場合には、当然に、通信相手のルータ装置への通信が成功していることとなるので、接続状況情報にルータ通信部504による通信の成功の可否が指定されるのは、通信相手への通信が失敗している場合に限ることとしても良い。なお、所定のタイミングの典型例としては、一定時間おき、通信相手との通信に失敗したとき、通信相手との対戦が終了して対戦結果を報告するとき、またはこれらの適当な組み合わせ等が考えられる。
このようにして端末装置501では、通信対戦ゲームが行われる一方で、サーバ装置231は、端末装置501(第1端末装置211、第2端末装置221)から送信される接続状況パケットの内容を見て、不正行為が生じているか否かを判定する処理を行う。
図7は、サーバ装置231の概要構成を示す模式図であり、図8は、サーバ装置231にて実行されるサービス処理の制御の流れを示すフローチャートである。以下、本図を参照して説明する。なお、以下では理解を容易にするため、接続状況パケットの処理に着目して説明を行う。対戦相手を紹介したり、対戦結果を蓄積してランキングを生成する等のロビーサーバとしての機能については、各種の公知技術を適用することができる。
さて、サーバ装置231は、状況受信部701、不正判定部702、情報中継部703を備える。
本サービス処理が開始されると、サーバ装置231のCPU 101はNIC 109を監視して、第1端末装置211や第2端末装置221等の各種の外部装置からパケットが到着しているか否か調べ(ステップS801)、到着していなければ(ステップS801;No)、一定時間待機して、あるいは、他の処理を適宜コルーチン的に行ってから(ステップS802)、ステップS801に戻る。
一方、パケットが到着していれば(ステップS801;Yes)、当該パケットを受信する(ステップS803)。そして、そのパケットの種類を調べ(ステップS804)、これが第1端末装置211から送信された接続状況パケットであれば(ステップS804;第1端末より)、第1端末装置211からの最新の接続状況パケットとして、RAM 103内に記憶して(ステップS805)、ステップS811に進む。
また、これが第2端末装置221から送信された接続状況パケットであれば(ステップS804;第2端末より)、第2端末装置221からの最新の接続状況パケットとして、RAM 103内に記憶して(ステップS806)、ステップS811に進む。
これが、その他の種類のパケットであれば(ステップS804;その他)、当該パケットに対応する処理を実行して(ステップS807)、ステップS801に戻る。ここで行う処理には、たとえば、ロビーサーバとしての処理等が含まれる。
さて、第1端末装置211からの最新の接続状況パケットと、第2端末装置221からの最新の接続状況パケットと、が、揃ったら(ステップS811;Yes)、これらの接続状況パケットを吟味する(ステップS812)。
なお、ここでの処理は、両者からの接続状況パケットを1対1に対応付けて、到着順に吟味しても良いが、新たな接続状況パケットが到着するごとに過去のものは破棄して、最新のものを参照するとともに、下記の判断過程において判断の対象となった接続状況パケットは破棄して、判断がされた後に初めて両者からの接続状況パケットが揃ってから次の判断を行うのが典型的である。
すなわち、第1端末装置211から第2端末装置221への通信が成功し、第2端末装置221から第1端末装置211への通信が失敗し、第2端末装置221から第1ルータ装置212への通信が成功している旨が指定されている場合、(ステップS812;第1端末―○→第2端末,第1端末←×―第2端末,第1ルータ←○―第2端末)第1端末装置211のユーザに不正行為があったと判定し(ステップS821)、その旨をRAM 103内に記録する(ステップS822)。
そして、CPU 101は、NIC 109を介して、第2端末装置221からの接続状況パケットに指定されている不達パケットを、第1端末装置211に送信して(ステップS823)、ステップS871に進む。
一方、第2端末装置221から第1端末装置211への通信が成功し、第1端末装置211から第2端末装置221への通信が失敗し、第1端末装置211から第2ルータ装置222への通信が成功している場合(ステップS812;第1端末←○―第2端末,第1端末―×→第2端末,第1端末―○→第2ルータ)第2端末装置221のユーザに不正行為があったと判定し(ステップS831)、その旨をRAM 103内に記録する(ステップS832)。
そして、CPU 101は、NIC 109を介して、第1端末装置211からの接続状況パケットに指定されている不達パケットを、第2端末装置221に送信して(ステップS833)、ステップS871に進む。
したがって、サーバ装置231は、ステップS823およびステップS833で不達パケットの中継を行うため、CPU 101は、NIC 109と共働して、情報中継部703として機能する。
このほかの接続状況が発見された場合(ステップS812;その他)、たとえば[特許文献1]に開示される判断基準等を適用して不正行為の原因側を判定し(ステップS834)、その結果をRAM 103内に記録して(ステップS835)、ステップS871に進む。
一方、第1端末装置211からの最新の接続状況パケットと、第2端末装置221からの最新の接続状況パケットと、が揃っていない場合(ステップS811;No)、揃わない原因がいずれにあるかを調べる。すなわち、第1端末装置211から接続状況パケットが一定期間到着していなければ(ステップS841;第1端末)、第1端末装置211いのユーザに不正行為があったと判定し(ステップS851)、その旨をRAM 103に記録して(ステップS852)、ステップS871に進む。
また、第2端末装置221から接続状況パケットが一定期間到着していなければ(ステップS841;第2端末)、第2端末装置221のユーザに不正行為があったと判定し(ステップS853)、その旨をRAM 103に記録して(ステップS854)、ステップS871に進む。
また、最後に接続状況パケットを受信してから、第1端末装置211についても第2端末装置221についてもまだ当該一定期間が経過していなければ(ステップS841;猶予期間)、ステップS801に戻る。
さて、不正行為が検出された後は、RAM 103に記録された不正行為者のユーザの成績にペナルティを課す等、ゲーム成績の計算処理を行って(ステップS871)、ステップS801に戻る。
なお、サーバ装置231による通信性能、処理性能に制限がある場合には、不達パケットの中継処理は、適宜省略することとしても良い。
このような処理を行うことで、対戦相手からのパケット流入を一時的に遮断するような方策による不正行為があってもこれを検出してペナルティを課すとともに、そのような不正行為があっても不達パケットをサーバで中継することによって、不正行為そのものを無意味と化し、公平な通信対戦環境の維持に寄与することができるようになる。
以上説明したように、本発明によれば、ルータ装置を使用するユーザが通信対戦ゲームにおいてルータ装置の設定を変更することで通信対戦の結果を無効にしようとする等の不正行為を検出するのに好適な通信システム、通信方法、ならびに、これらをコンピュータにて実現するプログラムを提供することができる。
典型的な情報処理装置の概要構成を示す模式図である。 本実施形態に係る通信システムの概要構成を示す説明図である。 正常に通信が可能となっている様子を示す説明図である。 不正な設定を行うことにより、一部で通信が不可能となっている様子を示す説明図である。 本実施形態の端末装置の概要構成を示す模式図である。 当該端末装置にて実行される端末処理の制御の流れを示すフローチャートである。 サーバ装置の概要構成を示す模式図である。 サーバ装置にて実行されるサービス処理の制御の流れを示すフローチャートである。
符号の説明
100 情報処理装置
101 CPU
102 ROM
103 RAM
104 インターフェイス
105 コントローラ
106 外部メモリ
107 画像処理部
108 DVD−ROMドライブ
109 NIC
110 音声処理部
111 マイク
201 通信システム
211 第1端末装置
212 第1ルータ装置
221 第2端末装置
222 第2ルータ装置
231 サーバ装置
241 インターネット
501 端末装置
502 相手方通信部
503 ルータ識別子取得部
504 ルータ通信部
505 状況送信部
506 情報受信部
701 状況受信部
702 不正判定部
703 情報中継部

Claims (5)

  1. コンピュータ通信網に第1ルータ装置を介して接続される第1端末装置と、当該コンピュータ通信網に第2ルータ装置を介して接続される第2端末装置と、当該コンピュータ通信網に接続されるサーバ装置と、を有し、前記第1端末装置と、前記第2端末装置と、が、前記第1ルータ装置と、前記コンピュータ通信網と、前記第2ルータ装置と、を介して、互いを通信相手として通信する通信システムであって、
    (a)前記第1端末装置と、前記第2端末装置と、は、いずれも、
    当該端末装置が接続されるルータ装置を介して、当該通信相手との通信を行う相手方通信部、
    前記相手方通信部から当該通信相手への通信が成功すると、当該通信相手が接続されるルータ装置の通信識別子を取得するルータ識別子取得部、
    前記相手方通信部から当該通信相手への通信が成功した後に失敗すると、前記取得された通信識別子を有するルータ装置への通信を行うルータ通信部、
    前記相手方通信部から当該通信相手への通信が成功しているか否か、および、前記ルータ通信部から当該通信相手が接続されるルータ装置への通信が成功しているか否かを指定する接続状況情報を、所定のタイミングで前記サーバ装置に送信する状況送信部
    を備え、
    (b)前記サーバ装置は、
    前記第1端末装置から送信される接続状況情報と、前記第2端末装置から送信される接続状況情報と、を受信する状況受信部、
    前記受信された前記第1端末装置からの接続状況情報と、前記第2端末装置からの接続状況情報と、に、より、
    (1)前記第1端末装置から前記第2端末装置への通信が成功し、前記第2端末装置から前記第1端末装置への通信が失敗し、前記第2端末装置から前記第1ルータ装置への通信が成功している旨が指定されている場合、前記第1端末装置のユーザに不正行為があったと判定し、
    (2)前記第2端末装置から前記第1端末装置への通信が成功し、前記第1端末装置から前記第2端末装置への通信が失敗し、前記第1端末装置から前記第2ルータ装置への通信が成功している旨が指定されている場合、前記第2端末装置のユーザに不正行為があったと判定する
    不正判定部
    を備えることを特徴とする通信システム。
  2. 請求項1に記載の通信システムであって、前記不正判定部は、
    (3)前記第1端末装置から送信されるべき接続状況情報が所定の期間受信されず、前記第2端末装置から送信されるべき接続状況情報が当該所定の期間に受信された場合、前記第1端末装置のユーザに不正行為があったと判定し、
    (4)前記第2端末装置から送信されるべき接続状況情報が当該所定の期間受信されず、前記第1端末装置から送信されるべき接続状況情報が当該所定の期間に受信された場合、前記第2端末装置のユーザに不正行為があったと判定する
    ことを特徴とする通信システム。
  3. 請求項1または2に記載の通信システムであって、
    (c)前記第1端末装置と、前記第2端末装置と、において、前記相手方通信部による当該通信相手との通信が失敗しており、前記ルータ通信部による当該通信相手が接続されるルータ装置との通信が成功している場合、前記状況送信部は、前記相手方通信部による当該通信相手との通信が失敗しており、前記ルータ通信部による当該通信相手が接続されるルータ装置との通信が成功している旨に加えて、前記相手方通信部が当該通信相手への送信に失敗した送付情報を、当該接続状況情報に指定して前記サーバ装置に送信し、
    (d)前記サーバ装置は、前記(1)の条件が成立する場合、前記第2端末装置からの接続状況情報に指定される送付情報を前記第1端末装置へ送信し、前記(2)の条件が成立する場合、前記第1端末装置からの接続状況情報に指定される送付情報を前記第2端末装置へ送信して、当該送付情報を中継する情報中継部をさらに備え、
    (e)前記第1端末装置と、前記第2端末装置と、は、それぞれ、
    前記サーバ装置から送信された送付情報を受信する情報受信部をさらに備え、
    前記相手方通信部は、前記情報受信部により受信された送付情報を当該通信相手から通信されたものとする
    ことを特徴とする通信システム。
  4. コンピュータ通信網に第1ルータ装置を介して接続される第1端末装置と、当該コンピュータ通信網に第2ルータ装置を介して接続される第2端末装置と、当該コンピュータ通信網に接続されるサーバ装置と、が実行する通信方法であって、前記第1端末装置と、前記第2端末装置と、は、前記第1ルータ装置と、前記コンピュータ通信網と、前記第2ルータ装置と、を介して、互いを通信相手として通信し、
    (a)前記第1端末装置と、前記第2端末装置と、は、いずれも、相手方通信部、ルータ識別子取得部、ルータ通信部、状況送信部を備え、前記通信方法は、
    前記相手方通信部が、当該端末装置が接続されるルータ装置を介して、当該通信相手との通信を行う相手方通信工程、
    前記相手方通信工程にて当該通信相手への通信が成功すると、前記ルータ識別子取得部が、当該通信相手が接続されるルータ装置の通信識別子を取得するルータ識別子取得工程、
    前記相手方通信工程にて当該通信相手への通信が成功した後に失敗すると、前記ルータ通信部が、前記取得された通信識別子を有するルータ装置への通信を行うルータ通信工程、
    前記状況送信部が、前記相手方通信工程にて当該通信相手への通信が成功しているか否か、および、前記ルータ通信工程にて当該通信相手が接続されるルータ装置への通信が成功しているか否かを指定する接続状況情報を、所定のタイミングで前記サーバ装置に送信する状況送信工程
    を備え、
    (b)前記サーバ装置は、状況受信部、不正判定部を備え、前記通信方法は、
    前記状況受信部が、前記第1端末装置から送信される接続状況情報と、前記第2端末装置から送信される接続状況情報と、を受信する状況受信工程、
    前記不正判定部が、前記受信された前記第1端末装置からの接続状況情報と、前記第2端末装置からの接続状況情報と、に、より、
    (1)前記第1端末装置から前記第2端末装置への通信が成功し、前記第2端末装置から前記第1端末装置への通信が失敗し、前記第2端末装置から前記第1ルータ装置への通信が成功している旨が指定されている場合、前記第1端末装置のユーザに不正行為があったと判定し、
    (2)前記第2端末装置から前記第1端末装置への通信が成功し、前記第1端末装置から前記第2端末装置への通信が失敗し、前記第1端末装置から前記第2ルータ装置への通信が成功している旨が指定されている場合、前記第2端末装置のユーザに不正行為があったと判定する
    不正判定工程
    を備えることを特徴とする通信方法。
  5. コンピュータ通信網に第1ルータ装置を介して接続される第1端末コンピュータを第1端末装置として機能させ、当該コンピュータ通信網に第2ルータ装置を介して接続される第2端末コンピュータを第2端末装置として機能させる端末プログラムと、当該コンピュータ通信網に接続されるサーバコンピュータをサーバ装置として機能させるサーバプログラムと、を有するプログラムであって、前記第1端末装置と、前記第2端末装置と、が、前記第1ルータ装置と、前記コンピュータ通信網と、前記第2ルータ装置と、を介して、互いを通信相手として通信するように、機能させ、
    (a)前記端末プログラムは、前記第1端末コンピュータと、前記第2端末コンピュータと、の、それぞれを、
    当該端末装置が接続されるルータ装置を介して、当該通信相手との通信を行う相手方通信部、
    前記相手方通信部から当該通信相手への通信が成功すると、当該通信相手が接続されるルータ装置の通信識別子を取得するルータ識別子取得部、
    前記相手方通信部から当該通信相手への通信が成功した後に失敗すると、前記取得された通信識別子を有するルータ装置への通信を行うルータ通信部、
    前記相手方通信部から当該通信相手への通信が成功しているか否か、および、前記ルータ通信部から当該通信相手が接続されるルータ装置への通信が成功しているか否かを指定する接続状況情報を、所定のタイミングで前記サーバコンピュータに送信する状況送信部
    として機能させ、
    (b)前記サーバプログラムは、前記サーバコンピュータを、
    前記第1端末コンピュータから送信される接続状況情報と、前記第2端末コンピュータから送信される接続状況情報と、を受信する状況受信部、
    前記受信された前記第1端末コンピュータからの接続状況情報と、前記第2端末コンピュータからの接続状況情報と、に、より、
    (1)前記第1端末コンピュータから前記第2端末コンピュータへの通信が成功し、前記第2端末コンピュータから前記第1端末コンピュータへの通信が失敗し、前記第2端末コンピュータから前記第1ルータ装置への通信が成功している旨が指定されている場合、前記第1端末コンピュータのユーザに不正行為があったと判定し、
    (2)前記第2端末コンピュータから前記第1端末コンピュータへの通信が成功し、前記第1端末コンピュータから前記第2端末コンピュータへの通信が失敗し、前記第1端末コンピュータから前記第2ルータ装置への通信が成功している旨が指定されている場合、前記第2端末コンピュータのユーザに不正行為があったと判定する
    不正判定部
    として機能させることを特徴とするプログラム。
JP2008034497A 2008-02-15 2008-02-15 通信システム、通信方法、ならびに、プログラム Active JP4690432B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2008034497A JP4690432B2 (ja) 2008-02-15 2008-02-15 通信システム、通信方法、ならびに、プログラム
CN2009801000557A CN101785248B (zh) 2008-02-15 2009-02-12 通信系统、通信方法、信息记录介质及程序
KR1020107003038A KR101079609B1 (ko) 2008-02-15 2009-02-12 통신 시스템, 통신방법 및 정보기록매체
US12/867,744 US8560676B2 (en) 2008-02-15 2009-02-12 Communication system, communication method, information recording medium, and program
PCT/JP2009/052283 WO2009101962A1 (ja) 2008-02-15 2009-02-12 通信システム、通信方法、情報記録媒体、ならびに、プログラム
TW098104632A TWI368423B (en) 2008-02-15 2009-02-13 Communication system, communication method, and information recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008034497A JP4690432B2 (ja) 2008-02-15 2008-02-15 通信システム、通信方法、ならびに、プログラム

Publications (2)

Publication Number Publication Date
JP2009189622A JP2009189622A (ja) 2009-08-27
JP4690432B2 true JP4690432B2 (ja) 2011-06-01

Family

ID=40956992

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008034497A Active JP4690432B2 (ja) 2008-02-15 2008-02-15 通信システム、通信方法、ならびに、プログラム

Country Status (6)

Country Link
US (1) US8560676B2 (ja)
JP (1) JP4690432B2 (ja)
KR (1) KR101079609B1 (ja)
CN (1) CN101785248B (ja)
TW (1) TWI368423B (ja)
WO (1) WO2009101962A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5478198B2 (ja) * 2009-11-04 2014-04-23 任天堂株式会社 ゲームシステムおよびゲームプログラム
JP5675234B2 (ja) * 2010-09-10 2015-02-25 任天堂株式会社 情報処理システム、情報処理プログラムおよび情報処理方法
JP5675235B2 (ja) * 2010-09-10 2015-02-25 任天堂株式会社 情報処理システム、情報処理プログラムおよび情報処理方法
US10448007B2 (en) * 2015-07-28 2019-10-15 Spirent Communications, Inc. Discovery and identification of layer 2 coax problems in MoCA networks
US11258679B2 (en) 2015-07-28 2022-02-22 Spirent Communications, Inc. Systems and methods for automated testing of MoCA networks
US10129102B2 (en) 2016-05-11 2018-11-13 Spirent Communications, Inc. Service based testing
CN112370793B (zh) * 2020-11-25 2024-08-16 上海幻电信息科技有限公司 用户账号的风险控制方法及装置

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07131478A (ja) * 1993-11-05 1995-05-19 Fujitsu Ltd Lan間通信方法及びlan間接続装置
JPH10107795A (ja) * 1996-09-30 1998-04-24 Hitachi Software Eng Co Ltd ネットワーク管理システム
US7572188B1 (en) 1998-12-28 2009-08-11 Kabushiki Kaisha Sega Enterprises Backup memory managing device backup memory managing method game machine and recorded medium
JP2001034553A (ja) 1999-07-26 2001-02-09 Hitachi Ltd ネットワークアクセス制御方法及びその装置
JP2002082880A (ja) * 2000-06-28 2002-03-22 Oregadare Inc メッセージの送受信管理方法及びメッセージの送受信管理システム
US7263610B2 (en) * 2002-07-30 2007-08-28 Imagictv, Inc. Secure multicast flow
JP3563398B2 (ja) * 2003-01-20 2004-09-08 コナミ株式会社 スコアシステム
JP4330976B2 (ja) * 2003-10-23 2009-09-16 株式会社コナミデジタルエンタテインメント 端末装置、端末方法、プログラム、ならびに、通信システム
US20080019367A1 (en) * 2004-06-30 2008-01-24 Satoshi Ito Communication Device, Communication Setting Method, Communication Setting Program And Recording Medium On Which Is Recorded A Communication Setting Program
CN100586102C (zh) * 2004-07-06 2010-01-27 松下电器产业株式会社 移动路由器、归属代理、路由器位置登录方法以及移动网络系统
JP2006212288A (ja) * 2005-02-04 2006-08-17 Konami Digital Entertainment:Kk 不正行為防止方法、ゲーム装置及び不正行為防止プログラム
JP2006280817A (ja) * 2005-04-04 2006-10-19 Aruze Corp 不正行為監視システム
JP4048215B2 (ja) 2006-02-16 2008-02-20 株式会社コナミデジタルエンタテインメント ゲーム管理システム及びゲーム管理方法
JP5252676B2 (ja) * 2006-12-05 2013-07-31 株式会社バンダイナムコゲームス プログラム、情報記憶媒体、ゲーム機及びネットワークシステム
CN101119206B (zh) * 2007-09-13 2011-03-02 北京交通大学 基于标识的一体化网络终端统一接入控制方法

Also Published As

Publication number Publication date
TW200943839A (en) 2009-10-16
TWI368423B (en) 2012-07-11
CN101785248B (zh) 2012-07-18
KR101079609B1 (ko) 2011-11-03
JP2009189622A (ja) 2009-08-27
CN101785248A (zh) 2010-07-21
KR20100040922A (ko) 2010-04-21
US20100312889A1 (en) 2010-12-09
WO2009101962A1 (ja) 2009-08-20
US8560676B2 (en) 2013-10-15

Similar Documents

Publication Publication Date Title
JP4690432B2 (ja) 通信システム、通信方法、ならびに、プログラム
TWI253580B (en) Game apparatus, game method, and game program
JP4598018B2 (ja) 紹介システム、紹介方法、ならびに、プログラム
TWI419526B (zh) 定制式專用積體電路及交換資料包和VoIP包的方法和系統
CA2585765C (en) Game system and method for controlling game system, game server device therefor, and game device therefor
JP4785900B2 (ja) ネットワークシステム、サーバ装置、負荷軽減方法、および、プログラム
US20100062858A1 (en) Electronic gaming system and method
US7613782B2 (en) Communications control program, communications control server and communications control method
JP4343234B2 (ja) ゲーム装置、キャラクタ制御方法、および、プログラム
US9220987B2 (en) Method of exchanging data between communication terminals
JP2002153677A (ja) 情報端末、情報提供サーバ、オンラインゲーム方法および記録媒体
JP4330976B2 (ja) 端末装置、端末方法、プログラム、ならびに、通信システム
JP3563398B2 (ja) スコアシステム
WO2007074665A1 (ja) チャットシステム、チャット装置及びチャットサーバの制御方法、情報記憶媒体
JP3916601B2 (ja) 通信システム、サーバ装置、端末、サービス方法、端末方法、および、プログラム
JP2005157527A (ja) 通信システム、ゲートウェイ装置、データ中継方法、および、プログラム
WO2005059761A1 (ja) ネットワークゲームのメールコミュニティシステム、プログラム及び記録媒体
JP6030884B2 (ja) マッチング装置、ゲームシステム、マッチング方法、マッチングプログラム
JP5222899B2 (ja) ゲームシステム、サーバ装置、ログイン方法、ならびに、プログラム
JP2012185601A (ja) 配信システム、サーバ装置、端末装置、サービス方法、端末方法、並びにプログラム
JP4681659B2 (ja) 確認システム、通信システム、確認サーバ装置、確認方法、ならびに、プログラム
JP2004216033A (ja) 端末装置、プログラム及びゲームシステム
JP6194458B2 (ja) マッチング装置、ゲームシステム、マッチング方法、マッチングプログラム
JP3453616B2 (ja) 通信方法、通信システム、メールサーバ、及び記録媒体
Hiedels et al. UbiSettlers--a dynamically adapting mobile P2P multiplayer game for hybrid networks

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101130

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110120

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110215

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110217

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4690432

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140225

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250