JP6637837B2 - 情報処理システム、情報処理プログラム及び情報処理方法 - Google Patents

情報処理システム、情報処理プログラム及び情報処理方法 Download PDF

Info

Publication number
JP6637837B2
JP6637837B2 JP2016098382A JP2016098382A JP6637837B2 JP 6637837 B2 JP6637837 B2 JP 6637837B2 JP 2016098382 A JP2016098382 A JP 2016098382A JP 2016098382 A JP2016098382 A JP 2016098382A JP 6637837 B2 JP6637837 B2 JP 6637837B2
Authority
JP
Japan
Prior art keywords
packet
information
client
processing
server
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
JP2016098382A
Other languages
English (en)
Other versions
JP2017126973A (ja
JP2017126973A5 (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.)
DeNA Co Ltd
Original Assignee
DeNA 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 DeNA Co Ltd filed Critical DeNA Co Ltd
Priority to JP2016098382A priority Critical patent/JP6637837B2/ja
Publication of JP2017126973A publication Critical patent/JP2017126973A/ja
Publication of JP2017126973A5 publication Critical patent/JP2017126973A5/ja
Application granted granted Critical
Publication of JP6637837B2 publication Critical patent/JP6637837B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Communication Control (AREA)

Description

本発明は、情報処理システム、情報処理プログラム及び情報処理方法に関する。
インターネット等の情報通信網を介して複数のプレイヤが同時にプレイできるマルチプレイヤオンラインゲームが知られている。このようにオンラインで処理される電子ゲームシステムでは、ゲームで使用される情報がサーバとクライアントとの間で互いに送受信される。
情報は、複数のパケットに分割されて、サーバからクライアント又はクライアントからサーバへ送信される。例えば、TCP/IPのようなストリーム・ソケットのプロトコルでは、図7に示すように、情報はパケットP1〜Pnに分割され、時間間隔Δt毎にパケットが順にサーバから送出される。各パケットは遅延時間tだけ遅れてサーバからクライアントに到着する。例えば、時刻t0に送出されたパケットP1は遅延時間t後の時刻t1に到着し、時刻t0+Δtに送出されたパケットP2は遅延時間t後の時刻t2(=t1+Δt)に到着する。
もしパケットの送受信においてエラーが発生した場合、クライアントからサーバに対してパケットの再送信の要求が出され、エラーが発生したパケットがサーバからクライアントへ再送出される。このとき、クライアントが再送出されたパケットを受信するまでの遅延時間は2t[=2×(t1−t0)]となる。
ところで、ネットゲームでは、サーバから送信された情報がクライアントのゲームアプリケーションにおけるコマンドの実行に使用される。
例えば、マルチプレイヤゲームにおいてはユーザ毎にゲームパラメータが与えられるが、各クライアントではゲームパラメータ毎にコマンドが実行される。図8に示すように、ユーザA及びユーザBに対するパラメータ並びにユーザCに対するパラメータの一部がパケットP1に含められ、ユーザCに対するパラメータの残りがパケットP2に含められたとする。パケットP2が受信できなかった場合、ユーザCのパラメータの一部が欠けた状態となる。このような状態で、パケットP1に含まれるユーザCに対するパラメータの一部のみを用いてコマンドを実行すると構文エラーが発生し、コマンドによる処理は実行できない場合がある。そこで、クライアントからサーバへパケットP2の再送信の要求が出され、クライアントからサーバへパケットP2が再送される。その結果、遅延時間後に再送出されたパケットP2がエラー無く受信できた場合にようやくユーザCに対するパラメータを用いた処理が実行されることになる。
そこで、本発明は、コマンド実行時にできるだけ構文エラーの発生を抑制し、処理を円滑に進めることを可能とする情報処理システム、情報処理プログラム及び情報処理方法を提供することを目的とする。
本発明の1つの態様は、ネットワークを介してサーバから提供される情報を用いてクライアントにおいて処理を行う情報処理システムであって、前記サーバは、前記クライアントでの処理において構文エラーが発生しない処理単位毎に前記情報を分割して、分割された情報の各々を単一のパケットに含めるようにパケット化するパケット生成手段と、前記パケット生成手段に生成されたパケットを前記クライアントに送信するパケット送信手段と、を備えることを特徴とする情報処理システムである。
本発明の別の態様は、ネットワークを介してサーバから提供される情報を用いてクライアントにおいて処理を行う情報処理プログラムであって、コンピュータを、前記クライアントでの処理において構文エラーが発生しない処理単位毎に前記情報を分割して、分割された情報の各々を単一のパケットに含めるようにパケット化するパケット生成手段と、前記パケット生成手段に生成されたパケットを前記クライアントに送信するパケット送信手段と、として機能させることを特徴とする情報処理プログラムである。
本発明の別の態様は、ネットワークを介してサーバから提供される情報を用いてクライアントにおいて処理を行う情報処理方法であって、前記サーバにおいて、前記クライアントでの処理において構文エラーが発生しない処理単位毎に前記情報を分割して、分割された情報の各々を単一のパケットに含めるようにパケット化するパケット生成処理と、前記パケット生成処理に生成されたパケットを前記クライアントに送信するパケット送信処理と、を行うことを特徴とする情報処理方法である。
ここで、ネットワークを介して複数のプレイヤが参加するマルチプレイヤゲームを提供する情報処理であって、前記パケット生成手段(処理)は、前記プレイヤ毎及び前記クライアントでの処理において構文エラーが発生しない処理単位毎に前記情報を分割して、分割された情報の各々を単一のパケットに含めるようにパケット化することが好適である。
また、前記サーバから前記クライアントへのパケット送信はデータグラム・ソケットにて行われることが好適である。
本発明によれば、電子ゲームにおいてパケットの受信エラーに起因するコマンド実行時における構文エラーの発生を抑制し、処理を円滑に進めることができる。
本発明の実施の形態における情報処理システムの構成を示す図である。 本発明の実施の形態におけるサーバの構成を示す図である。 本発明の実施の形態におけるクライアントの構成を示す図である。 本発明の実施の形態におけるパケットの送受信処理を示すフローチャートである。 本発明の実施の形態におけるパケットの構成方法を説明する図である。 本発明の実施の形態におけるパケットの構成方法を説明する図である。 パケットの送受信及び再送信について説明する図である。 従来のパケットの構成方法を説明する図である。
本発明の実施の形態における情報処理システム100は、図1に示すように、サーバ102及びクライアント104を含んで構成される。サーバ102とクライアント104は、インターネット等の情報通信網106を介して情報交換可能に接続される。本実施の形態では、サーバ102から複数のプレイヤが参加可能なマルチプレイヤゲームを提供する態様について説明するので、サーバ102は複数のクライアント104(104a・・・104n)と接続される。
サーバ102は、図2に示すように、処理部10、記憶部12、入力部14、出力部16及び通信部18を含んで構成される。処理部10は、CPU等の演算処理を行う手段を含む。処理部10は、記憶部12に記憶されているゲーム提供プログラムを実行することによって、本実施の形態における情報処理システム100において複数のクライアント104を接続したマルチプレイヤゲームを提供するための機能を実現する。記憶部12は、半導体メモリやメモリカード等の記憶手段を含む。記憶部12は、処理部10とアクセス可能に接続され、ゲーム提供プログラム、その処理に必要な情報を記憶する。入力部14は、情報を入力する手段を含む。入力部14は、例えば、管理者からの入力を受けるキーボード、タッチパネル、ボタン等を備える。出力部16は、管理者から入力情報を受け付けるためのユーザインターフェース画面(UI)等のサーバ102での処理結果を出力する手段を含む。出力部16は、例えば、管理者に対して画像を呈示するディスプレイを備える。通信部18は、情報通信網106を介して、クライアント104との情報の通信を行うインターフェースを含んで構成される。通信部18による通信は有線及び無線を問わない。
クライアント104は、図3に示すように、処理部20、記憶部22、入力部24、出力部26及び通信部28を含んで構成される。処理部20は、CPU等の演算処理を行う手段を含む。処理部20は、記憶部22に記憶されているクライアントプログラムを実行することによって、本実施の形態における情報処理システム100におけるマルチプレイヤゲームの端末としての機能を実現する。例えば、クライアントプログラムは、クライアント104においてウェブブラウザの機能を利用してクライアント104から提供される情報(ゲームのパラメータ等)を用いてマルチプレイヤゲームにおける処理を実現する。記憶部22は、半導体メモリやメモリカード等の記憶手段を含む。記憶部22は、処理部20とアクセス可能に接続され、クライアントプログラム、その処理に必要な情報を記憶する。入力部24は、情報を入力する手段を含む。入力部24は、例えば、ユーザからの入力を受けるキーボード、タッチパネル、ボタン等を備える。出力部26は、ユーザから入力情報を受け付けるためのユーザインターフェース画面(UI)や投稿された情報を呈示する画面等のクライアント104での処理に必要な情報を出力する手段を含む。出力部26は、例えば、ユーザに対して画像を呈示するディスプレイを備える。通信部28は、情報通信網106を介して、サーバ102との情報の通信を行うインターフェースを含んで構成される。通信部28による通信は有線及び無線を問わない。
クライアント104は、例えば、パーソナルコンピュータ、タブレット端末、スマートフォン端末、携帯電話等とすることができる。
なお、本実施の形態では、サーバ102と接続されているクライアント104a,104b,104cを使用するプレイヤA,B,Cが電子ゲームをプレイする態様を例に説明する。
電子ゲームでは、クライアント104a〜104cにおけるプレイヤA〜Cによるプレイの状況に応じてゲームで使用される情報(パラメータ等)が変更される処理が行われる。例えば、クライアント104a〜104cはサーバ102へ変更された情報を送信する。サーバ102は、変更された情報を記憶部12に記憶して管理すると共に、クライアント104a〜104cから受信した情報を纏めてクライアント104a〜104cへ送信する。
以下、図4のフローチャートを参照して、サーバ102から各クライアント104へ情報を送信する際の処理について説明する。
ステップS10では、サーバ102からクライアント104へ送信される情報がパケット化される。当該ステップでの処理によって、サーバ102はパケット生成手段として機能する。処理部10は、記憶部12に予め記憶されている各クライアント104a〜104cのゲームに関する情報を読み出し、通信プロトコルに応じた情報の伝送単位のサイズに分割してパケット化する。
例えば、TCPパケットの場合、データ部として送信可能なサイズに情報を分割した後、分割された情報に先頭から順にシーケンス番号を割り当てる。そして、分割された情報毎に送信元ポート番号、宛先ポート番号、シーケンス番号、ACK番号等のヘッダ部を付したパケットを生成する。
また、例えば、UDPパケットの場合、データ部として送信可能なサイズに情報を分割する。そして、分割された情報毎に送信元ポート番号、宛先ポート番号、メッセージ長等のヘッダ部を付したパケットを生成する。
ここで、本実施の形態では、各クライアント104での電子ゲームアプリケーションの処理において構文エラーが発生しない処理単位毎に情報を分割して、分割された情報の各々を単一のパケットに含めるようにパケット化する。すなわち、1つのパケットに含まれる情報は、各クライアント104がそのパケットに含まれる情報だけで電子ゲームアプリケーションのコマンドが実行できる単位とする。言い換えると、あるパケットに含まれる情報を用いてコマンドを実行するために他のパケットに含まれる情報を必要としないように情報を分割してパケット化する。
例えば、クライアント104の電子ゲームアプリケーションにおいて、各プレイヤA〜Cのヒットポイント(HP)を組み合わせて1つの引数としてヒットポイント(HP)を画面表示させるコマンドがあった場合、図5(a)に示すように、プレイヤA〜Cのヒットポイント(HP)を組み合わせたデータが1つのパケットに含まれるようにパケット化する。すなわち、図5(b)に示すように、プレイヤA〜Cのヒットポイントが異なるパケットに分割されてパケット化されないようにする。
また、例えば、クライアント104の電子ゲームアプリケーションにおいて、プレイヤA〜C毎にヒットポイント(HP)、マジックポイント(MP)を組み合わせて1つの引数としてヒットポイント(HP)を画面表示させるコマンドがあった場合、図6(a)に示すように、プレイヤA〜C毎にヒットポイント(HP)及びマジックポイント(MP)を組み合わせたデータが1つのパケットに含まれるようにパケット化する。すなわち、図6(b)に示すように、プレイヤA〜C毎のヒットポイント(HP)及びマジックポイント(MP)が異なるパケットに分割されてパケット化されないようにする。
なお、情報のパケット化はこれらの例に限定されるものではなく、各パケットに含まれる情報毎に各クライアント104での電子ゲームアプリケーションの処理において構文エラーが発生しない処理単位毎に情報を分割して、分割された情報の各々を単一のパケットに含めるようにパケット化するものであればよい。
ステップS12では、サーバ102からクライアント104へパケットが送信される。当該ステップにおける処理によって、サーバ102はパケット送信手段として機能する。サーバ102は、通信部18を介して、ゲームに参加しているプレイヤA〜Cが使用しているクライアント104a〜104cに対してステップS10において生成されたパケットを送信する。
ステップS14では、クライアント104においてパケットが受信される。当該ステップにおける処理によって、クライアント104はパケット受信手段として機能する。クライアント104a〜104cは、通信部28を介して、ステップS12においてクライアント104から送信されたパケットを受信する。
このとき、インターネット等の情報通信網の障害や通信部18、通信部28の不具合等によってパケットが受信できない受信エラーが生ずることができる。その場合、クライアント104は、クライアント104に対して受信できなかったパケットを特定して再送信の要求を行う。クライアント104では、パケットの再送信の要求を受信すると、対象となるパケットを再度送信する。
ステップS16では、パケットに含まれる情報を用いた処理が行われる。当該ステップにおける処理によって、クライアント104はゲーム進行手段として機能する。クライアント104a〜104cは、それぞれステップS14にて受信したパケットに含まれる情報を用いて電子ゲームアプリケーションのコマンドを実行して電子ゲームを進行させる。
このとき、本実施の形態では、各クライアント104での電子ゲームアプリケーションの処理において構文エラーが発生しない処理単位毎に情報を分割して、分割された情報の各々を単一のパケットに含めるようにパケット化することによって、1つのパケットに含まれている情報だけで処理を進められるようになる。したがって、パケットの送受信時にエラーが発生し、パケットの欠落が生じた場合であっても、受信できたパケットに含まれる情報だけを用いて電子ゲームアプリケーションにおける処理において構文エラーを発生させることなく処理を進めることが可能となる。
また、図5(b)や図6(b)のように、別々のパケットに構文エラーが発生しない処理単位の情報が分割されて含まれている場合、1つのパケットが正常に受信できなかった場合、そのパケットに対して再送信要求を行ってサーバ102からパケットが再度送信されてくるまで他のパケットに含まれていた情報をバッファ等に保持しておく必要がある。これに対して、本実施の形態のように電子ゲームアプリケーションの処理において構文エラーが発生しない処理単位毎に情報を分割して、分割された情報の各々を単一のパケットに含めるようにパケット化することによって、1つのパケットが正常に受信できなかった場合であっても他のパケットに含まれている情報を保持しておく必要がなくなる。
特に、UDP等のデータグラム・ソケットのプロトコルでは、パケットを順番に受信する必要がないので、送受信におけるパケットの欠落が生じたとしても欠落を問題とすることなく、受信できたパケットに含まれる情報だけを用いてクライアント104での処理を進めておくことができる。
なお、本実施の形態では情報処理システムを例に説明したが、本発明の適用範囲はこれに限定されるものではなく、情報通信網を介して情報を送受信するシステムであれば適用することができる。例えば、複数のユーザがチャットを行うマルチチャットシステム、複数のユーザが音声によりチャットを行うマルチボイスチャットシステム等にも適用が可能である。特に、パケットの欠落による処理の遅延が問題となるようなリアルタイム性が要求されるようなシステムにおいて本発明の効果は顕著となる。
10 処理部、12 記憶部、14 入力部、16 出力部、18 通信部、20 処理部、22 記憶部、24 入力部、26 出力部、28 通信部。

Claims (4)

  1. ネットワークを介して複数のプレイヤが参加するマルチプレイヤゲームを提供するためにサーバから提供される情報を用いてクライアントにおいて処理を行う情報処理システムであって、
    前記サーバは、
    前記プレイヤ毎及び前記クライアントでの処理において構文エラーが発生しない処理単位毎に前記情報を分割して、分割された情報の各々を単一のパケットに含めるようにパケット化するパケット生成手段と、
    前記パケット生成手段に生成されたパケットを前記クライアントに送信するパケット送信手段と、
    を備える情報処理システム。
  2. 請求項1に記載の情報処理システムであって、
    前記サーバから前記クライアントへのパケット送信はデータグラム・ソケットにて行われることを特徴とする情報処理システム。
  3. ネットワークを介して複数のプレイヤが参加するマルチプレイヤゲームを提供するためにサーバから提供される情報を用いてクライアントにおいて処理を行う情報処理プログラムであって、
    コンピュータを、
    前記プレイヤ毎及び前記クライアントでの処理において構文エラーが発生しない処理単位毎に前記情報を分割して、分割された情報の各々を単一のパケットに含めるようにパケット化するパケット生成手段と、
    前記パケット生成手段に生成されたパケットを前記クライアントに送信するパケット送信手段と、
    を備えることを特徴とする情報処理プログラム。
  4. ネットワークを介して複数のプレイヤが参加するマルチプレイヤゲームを提供するためにサーバから提供される情報を用いてクライアントにおいて処理を行う情報処理方法であって、
    前記サーバにおいて、
    前記プレイヤ毎及び前記クライアントでの処理において構文エラーが発生しない処理単位毎に前記情報を分割して、分割された情報の各々を単一のパケットに含めるようにパケット化するパケット生成処理と、
    前記パケット生成処理に生成されたパケットを前記クライアントに送信するパケット送信処理と、
    を備える情報処理方法。
JP2016098382A 2016-05-17 2016-05-17 情報処理システム、情報処理プログラム及び情報処理方法 Active JP6637837B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016098382A JP6637837B2 (ja) 2016-05-17 2016-05-17 情報処理システム、情報処理プログラム及び情報処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016098382A JP6637837B2 (ja) 2016-05-17 2016-05-17 情報処理システム、情報処理プログラム及び情報処理方法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2016005780A Division JP5940231B1 (ja) 2016-01-15 2016-01-15 情報処理システム、情報処理プログラム及び情報処理方法

Publications (3)

Publication Number Publication Date
JP2017126973A JP2017126973A (ja) 2017-07-20
JP2017126973A5 JP2017126973A5 (ja) 2019-02-14
JP6637837B2 true JP6637837B2 (ja) 2020-01-29

Family

ID=59364487

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016098382A Active JP6637837B2 (ja) 2016-05-17 2016-05-17 情報処理システム、情報処理プログラム及び情報処理方法

Country Status (1)

Country Link
JP (1) JP6637837B2 (ja)

Also Published As

Publication number Publication date
JP2017126973A (ja) 2017-07-20

Similar Documents

Publication Publication Date Title
US10773156B2 (en) Systems and methods for establishing direct communication between a server system and a video game controller
JP4807517B2 (ja) 情報処理装置、データ処理方法、プログラム、および記録媒体
US11130055B2 (en) System and method for granting remote access to a video game executed on a video game console or network client
Gutwin et al. Real-time groupware in the browser: testing the performance of web-based networking
US10091281B1 (en) Multi-user application host-system selection system
WO2012053273A1 (ja) 画像処理システム、画像処理方法、動画像送信装置、動画像受信装置、情報記憶媒体及びプログラム
EP2493142A1 (en) Gateway/STB interacting with cloud server that performs high end video processing
US10729975B1 (en) Network connection selection processing system
US11146662B2 (en) Method and system of transmitting state based input over a network
Lindblom et al. Investigating network performance of a multi-user virtual reality environment for mining education
WO2012053274A1 (ja) 画像処理システム、画像処理方法、情報記憶媒体及びプログラム
JP6637837B2 (ja) 情報処理システム、情報処理プログラム及び情報処理方法
JP5940231B1 (ja) 情報処理システム、情報処理プログラム及び情報処理方法
JP6671676B1 (ja) プログラム、通信装置、および通信方法
WO2014007245A1 (ja) 通信先判定装置、ゲームシステム、通信先判定方法、通信先判定プログラム
JP6030884B2 (ja) マッチング装置、ゲームシステム、マッチング方法、マッチングプログラム
CN107982912A (zh) 一种信息处理方法和终端
JP6194458B2 (ja) マッチング装置、ゲームシステム、マッチング方法、マッチングプログラム
WO2022085585A1 (ja) ゲームシステム、エッジ側サーバ、クラウド側サーバ、ゲーム端末及びゲーム制御方法
JP4912451B2 (ja) 通信システム、ならびに、通信方法
Mieschke Deterministic Lockstep in Networked Games
JP6547001B2 (ja) クラウド入力チャネル管理
Andersson Multiplayer game server for turn-based mobile games in Erlang
TW201351342A (zh) 用於改善託管應用程式之圖像效能的系統及方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190104

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190104

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: 20191217

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191223

R150 Certificate of patent or registration of utility model

Ref document number: 6637837

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250