(57)【特許請求の範囲】
【請求項１】
ネットワークを介してサーバから提供される情報を用いてクライアントにおいて電子ゲームアプリケーションによる処理を行う情報処理システムであって、
前記サーバは、
前記クライアントでの処理において、前記電子ゲームアプリケーションで使用されるコマンドでの構文エラーが発生しない処理単位毎に前記情報を分割して、分割された情報の各々を単一のパケットに含めるようにパケット化するパケット生成手段と、
前記パケット生成手段に生成されたパケットを前記クライアントに送信するパケット送信手段と、
を備えることを特徴とする情報処理システム。
【請求項２】
請求項１に記載の情報処理システムは、ネットワークを介して複数のプレイヤが参加するマルチプレイヤゲームを提供する情報処理システムであって、
前記パケット生成手段は、前記プレイヤ毎及び前記クライアントでの処理において構文エラーが発生しない処理単位毎に前記情報を分割して、分割された情報の各々を単一のパケットに含めるようにパケット化することを特徴とする情報処理システム。
【請求項３】
請求項１又は２に記載の情報処理システムであって、
前記サーバから前記クライアントへのパケット送信はデータグラム・ソケットにて行われることを特徴とする情報処理システム。
【請求項４】
ネットワークを介してサーバから提供される情報を用いてクライアントにおいて電子ゲームアプリケーションによる処理を行う情報処理プログラムであって、
コンピュータを、
前記クライアントでの処理において、前記電子ゲームアプリケーションで使用されるコマンドでの構文エラーが発生しない処理単位毎に前記情報を分割して、分割された情報の各々を単一のパケットに含めるようにパケット化するパケット生成手段と、
前記パケット生成手段に生成されたパケットを前記クライアントに送信するパケット送信手段と、
として機能させることを特徴とする情報処理プログラム。
【請求項５】
ネットワークを介してサーバから提供される情報を用いてクライアントにおいて電子ゲームアプリケーションによる処理を行う情報処理方法であって、
前記サーバにおいて、
前記クライアントでの処理において、前記電子ゲームアプリケーションで使用されるコマンドでの構文エラーが発生しない処理単位毎に前記情報を分割して、分割された情報の各々を単一のパケットに含めるようにパケット化するパケット生成処理と、
前記パケット生成処理に生成されたパケットを前記クライアントに送信するパケット送信処理と、
を行うことを特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、情報処理プログラム及び情報処理方法に関する。
【背景技術】
【０００２】
インターネット等の情報通信網を介して複数のプレイヤが同時にプレイできるマルチプレイヤオンラインゲームが知られている。このようにオンラインで処理される電子ゲームシステムでは、ゲームで使用される情報がサーバとクライアントとの間で互いに送受信される。
【０００３】
情報は、複数のパケットに分割されて、サーバからクライアント又はクライアントからサーバへ送信される。例えば、ＴＣＰ／ＩＰのようなストリーム・ソケットのプロトコルでは、図７に示すように、情報はパケットＰ１〜Ｐｎに分割され、時間間隔Δｔ毎にパケットが順にサーバから送出される。各パケットは遅延時間ｔだけ遅れてサーバからクライアントに到着する。例えば、時刻ｔ０に送出されたパケットＰ１は遅延時間ｔ後の時刻ｔ１に到着し、時刻ｔ０＋Δｔに送出されたパケットＰ２は遅延時間ｔ後の時刻ｔ２（＝ｔ１＋Δｔ）に到着する。
【０００４】
もしパケットの送受信においてエラーが発生した場合、クライアントからサーバに対してパケットの再送信の要求が出され、エラーが発生したパケットがサーバからクライアントへ再送出される。このとき、クライアントが再送出されたパケットを受信するまでの遅延時間は２ｔ［＝２×（ｔ１−ｔ０）］となる。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、ネットゲームでは、サーバから送信された情報がクライアントのゲームアプリケーションにおけるコマンドの実行に使用される。
【０００６】
例えば、マルチプレイヤゲームにおいてはユーザ毎にゲームパラメータが与えられるが、各クライアントではゲームパラメータ毎にコマンドが実行される。図８に示すように、ユーザＡ及びユーザＢに対するパラメータ並びにユーザＣに対するパラメータの一部がパケットＰ１に含められ、ユーザＣに対するパラメータの残りがパケットＰ２に含められたとする。パケットＰ２が受信できなかった場合、ユーザＣのパラメータの一部が欠けた状態となる。このような状態で、パケットＰ１に含まれるユーザＣに対するパラメータの一部のみを用いてコマンドを実行すると構文エラーが発生し、コマンドによる処理は実行できない場合がある。そこで、クライアントからサーバへパケットＰ２の再送信の要求が出され、クライアントからサーバへパケットＰ２が再送される。その結果、遅延時間後に再送出されたパケットＰ２がエラー無く受信できた場合にようやくユーザＣに対するパラメータを用いた処理が実行されることになる。
【０００７】
そこで、本発明は、コマンド実行時にできるだけ構文エラーの発生を抑制し、処理を円滑に進めることを可能とする情報処理システム、情報処理プログラム及び情報処理方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の１つの態様は、ネットワークを介してサーバから提供される情報を用いてクライアントにおいて電子ゲームアプリケーションによる処理を行う情報処理システムであって、前記サーバは、前記クライアントでの処理において、前記電子ゲームアプリケーションで使用されるコマンドでの構文エラーが発生しない処理単位毎に前記情報を分割して、分割された情報の各々を単一のパケットに含めるようにパケット化するパケット生成手段と、前記パケット生成手段に生成されたパケットを前記クライアントに送信するパケット送信手段と、を備えることを特徴とする情報処理システムである。
【０００９】
本発明の別の態様は、ネットワークを介してサーバから提供される情報を用いてクライアントにおいて電子ゲームアプリケーションによる処理を行う情報処理プログラムであって、コンピュータを、前記クライアントでの処理において、前記電子ゲームアプリケーションで使用されるコマンドでの構文エラーが発生しない処理単位毎に前記情報を分割して、分割された情報の各々を単一のパケットに含めるようにパケット化するパケット生成手段と、前記パケット生成手段に生成されたパケットを前記クライアントに送信するパケット送信手段と、として機能させることを特徴とする情報処理プログラムである。
【００１０】
本発明の別の態様は、ネットワークを介してサーバから提供される情報を用いてクライアントにおいて電子ゲームアプリケーションによる処理を行う情報処理方法であって、前記サーバにおいて、前記クライアントでの処理において、前記電子ゲームアプリケーションで使用されるコマンドでの構文エラーが発生しない処理単位毎に前記情報を分割して、分割された情報の各々を単一のパケットに含めるようにパケット化するパケット生成処理と、前記パケット生成処理に生成されたパケットを前記クライアントに送信するパケット送信処理と、を行うことを特徴とする情報処理方法である。
【００１１】
ここで、ネットワークを介して複数のプレイヤが参加するマルチプレイヤゲームを提供する情報処理であって、前記パケット生成手段（処理）は、前記プレイヤ毎及び前記クライアントでの処理において構文エラーが発生しない処理単位毎に前記情報を分割して、分割された情報の各々を単一のパケットに含めるようにパケット化することが好適である。
【００１２】
また、前記サーバから前記クライアントへのパケット送信はデータグラム・ソケットにて行われることが好適である。
【発明の効果】
【００１３】
本発明によれば、電子ゲームにおいてパケットの受信エラーに起因するコマンド実行時における構文エラーの発生を抑制し、処理を円滑に進めることができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施の形態における情報処理システムの構成を示す図である。
【図２】本発明の実施の形態におけるサーバの構成を示す図である。
【図３】本発明の実施の形態におけるクライアントの構成を示す図である。
【図４】本発明の実施の形態におけるパケットの送受信処理を示すフローチャートである。
【図５】本発明の実施の形態におけるパケットの構成方法を説明する図である。
【図６】本発明の実施の形態におけるパケットの構成方法を説明する図である。
【図７】パケットの送受信及び再送信について説明する図である。
【図８】従来のパケットの構成方法を説明する図である。
【発明を実施するための形態】
【００１５】
本発明の実施の形態における情報処理システム１００は、図１に示すように、サーバ１０２及びクライアント１０４を含んで構成される。サーバ１０２とクライアント１０４は、インターネット等の情報通信網１０６を介して情報交換可能に接続される。本実施の形態では、サーバ１０２から複数のプレイヤが参加可能なマルチプレイヤゲームを提供する態様について説明するので、サーバ１０２は複数のクライアント１０４（１０４ａ・・・１０４ｎ）と接続される。
【００１６】
サーバ１０２は、図２に示すように、処理部１０、記憶部１２、入力部１４、出力部１６及び通信部１８を含んで構成される。処理部１０は、ＣＰＵ等の演算処理を行う手段を含む。処理部１０は、記憶部１２に記憶されているゲーム提供プログラムを実行することによって、本実施の形態における情報処理システム１００において複数のクライアント１０４を接続したマルチプレイヤゲームを提供するための機能を実現する。記憶部１２は、半導体メモリやメモリカード等の記憶手段を含む。記憶部１２は、処理部１０とアクセス可能に接続され、ゲーム提供プログラム、その処理に必要な情報を記憶する。入力部１４は、情報を入力する手段を含む。入力部１４は、例えば、管理者からの入力を受けるキーボード、タッチパネル、ボタン等を備える。出力部１６は、管理者から入力情報を受け付けるためのユーザインターフェース画面（ＵＩ）等のサーバ１０２での処理結果を出力する手段を含む。出力部１６は、例えば、管理者に対して画像を呈示するディスプレイを備える。通信部１８は、情報通信網１０６を介して、クライアント１０４との情報の通信を行うインターフェースを含んで構成される。通信部１８による通信は有線及び無線を問わない。
【００１７】
クライアント１０４は、図３に示すように、処理部２０、記憶部２２、入力部２４、出力部２６及び通信部２８を含んで構成される。処理部２０は、ＣＰＵ等の演算処理を行う手段を含む。処理部２０は、記憶部２２に記憶されているクライアントプログラムを実行することによって、本実施の形態における情報処理システム１００におけるマルチプレイヤゲームの端末としての機能を実現する。例えば、クライアントプログラムは、クライアント１０４においてウェブブラウザの機能を利用してクライアント１０４から提供される情報（ゲームのパラメータ等）を用いてマルチプレイヤゲームにおける処理を実現する。記憶部２２は、半導体メモリやメモリカード等の記憶手段を含む。記憶部２２は、処理部２０とアクセス可能に接続され、クライアントプログラム、その処理に必要な情報を記憶する。入力部２４は、情報を入力する手段を含む。入力部２４は、例えば、ユーザからの入力を受けるキーボード、タッチパネル、ボタン等を備える。出力部２６は、ユーザから入力情報を受け付けるためのユーザインターフェース画面（ＵＩ）や投稿された情報を呈示する画面等のクライアント１０４での処理に必要な情報を出力する手段を含む。出力部２６は、例えば、ユーザに対して画像を呈示するディスプレイを備える。通信部２８は、情報通信網１０６を介して、サーバ１０２との情報の通信を行うインターフェースを含んで構成される。通信部２８による通信は有線及び無線を問わない。
【００１８】
クライアント１０４は、例えば、パーソナルコンピュータ、タブレット端末、スマートフォン端末、携帯電話等とすることができる。
【００１９】
なお、本実施の形態では、サーバ１０２と接続されているクライアント１０４ａ，１０４ｂ，１０４ｃを使用するプレイヤＡ，Ｂ，Ｃが電子ゲームをプレイする態様を例に説明する。
【００２０】
電子ゲームでは、クライアント１０４ａ〜１０４ｃにおけるプレイヤＡ〜Ｃによるプレイの状況に応じてゲームで使用される情報（パラメータ等）が変更される処理が行われる。例えば、クライアント１０４ａ〜１０４ｃはサーバ１０２へ変更された情報を送信する。サーバ１０２は、変更された情報を記憶部１２に記憶して管理すると共に、クライアント１０４ａ〜１０４ｃから受信した情報を纏めてクライアント１０４ａ〜１０４ｃへ送信する。
【００２１】
以下、図４のフローチャートを参照して、サーバ１０２から各クライアント１０４へ情報を送信する際の処理について説明する。
【００２２】
ステップＳ１０では、サーバ１０２からクライアント１０４へ送信される情報がパケット化される。当該ステップでの処理によって、サーバ１０２はパケット生成手段として機能する。処理部１０は、記憶部１２に予め記憶されている各クライアント１０４ａ〜１０４ｃのゲームに関する情報を読み出し、通信プロトコルに応じた情報の伝送単位のサイズに分割してパケット化する。
【００２３】
例えば、ＴＣＰパケットの場合、データ部として送信可能なサイズに情報を分割した後、分割された情報に先頭から順にシーケンス番号を割り当てる。そして、分割された情報毎に送信元ポート番号、宛先ポート番号、シーケンス番号、ＡＣＫ番号等のヘッダ部を付したパケットを生成する。
【００２４】
また、例えば、ＵＤＰパケットの場合、データ部として送信可能なサイズに情報を分割する。そして、分割された情報毎に送信元ポート番号、宛先ポート番号、メッセージ長等のヘッダ部を付したパケットを生成する。
【００２５】
ここで、本実施の形態では、各クライアント１０４での電子ゲームアプリケーションの処理において構文エラーが発生しない処理単位毎に情報を分割して、分割された情報の各々を単一のパケットに含めるようにパケット化する。すなわち、１つのパケットに含まれる情報は、各クライアント１０４がそのパケットに含まれる情報だけで電子ゲームアプリケーションのコマンドが実行できる単位とする。言い換えると、あるパケットに含まれる情報を用いてコマンドを実行するために他のパケットに含まれる情報を必要としないように情報を分割してパケット化する。
【００２６】
例えば、クライアント１０４の電子ゲームアプリケーションにおいて、各プレイヤＡ〜Ｃのヒットポイント（ＨＰ）を組み合わせて１つの引数としてヒットポイント（ＨＰ）を画面表示させるコマンドがあった場合、図５（ａ）に示すように、プレイヤＡ〜Ｃのヒットポイント（ＨＰ）を組み合わせたデータが１つのパケットに含まれるようにパケット化する。すなわち、図５（ｂ）に示すように、プレイヤＡ〜Ｃのヒットポイントが異なるパケットに分割されてパケット化されないようにする。
【００２７】
また、例えば、クライアント１０４の電子ゲームアプリケーションにおいて、プレイヤＡ〜Ｃ毎にヒットポイント（ＨＰ）、マジックポイント（ＭＰ）を組み合わせて１つの引数としてヒットポイント（ＨＰ）を画面表示させるコマンドがあった場合、図６（ａ）に示すように、プレイヤＡ〜Ｃ毎にヒットポイント（ＨＰ）及びマジックポイント（ＭＰ）を組み合わせたデータが１つのパケットに含まれるようにパケット化する。すなわち、図６（ｂ）に示すように、プレイヤＡ〜Ｃ毎のヒットポイント（ＨＰ）及びマジックポイント（ＭＰ）が異なるパケットに分割されてパケット化されないようにする。
【００２８】
なお、情報のパケット化はこれらの例に限定されるものではなく、各パケットに含まれる情報毎に各クライアント１０４での電子ゲームアプリケーションの処理において構文エラーが発生しない処理単位毎に情報を分割して、分割された情報の各々を単一のパケットに含めるようにパケット化するものであればよい。
【００２９】
ステップＳ１２では、サーバ１０２からクライアント１０４へパケットが送信される。当該ステップにおける処理によって、サーバ１０２はパケット送信手段として機能する。サーバ１０２は、通信部１８を介して、ゲームに参加しているプレイヤＡ〜Ｃが使用しているクライアント１０４ａ〜１０４ｃに対してステップＳ１０において生成されたパケットを送信する。
【００３０】
ステップＳ１４では、クライアント１０４においてパケットが受信される。当該ステップにおける処理によって、クライアント１０４はパケット受信手段として機能する。クライアント１０４ａ〜１０４ｃは、通信部２８を介して、ステップＳ１２においてクライアント１０４から送信されたパケットを受信する。
【００３１】
このとき、インターネット等の情報通信網の障害や通信部１８、通信部２８の不具合等によってパケットが受信できない受信エラーが生ずることができる。その場合、クライアント１０４は、クライアント１０４に対して受信できなかったパケットを特定して再送信の要求を行う。クライアント１０４では、パケットの再送信の要求を受信すると、対象となるパケットを再度送信する。
【００３２】
ステップＳ１６では、パケットに含まれる情報を用いた処理が行われる。当該ステップにおける処理によって、クライアント１０４はゲーム進行手段として機能する。クライアント１０４ａ〜１０４ｃは、それぞれステップＳ１４にて受信したパケットに含まれる情報を用いて電子ゲームアプリケーションのコマンドを実行して電子ゲームを進行させる。
【００３３】
このとき、本実施の形態では、各クライアント１０４での電子ゲームアプリケーションの処理において構文エラーが発生しない処理単位毎に情報を分割して、分割された情報の各々を単一のパケットに含めるようにパケット化することによって、１つのパケットに含まれている情報だけで処理を進められるようになる。したがって、パケットの送受信時にエラーが発生し、パケットの欠落が生じた場合であっても、受信できたパケットに含まれる情報だけを用いて電子ゲームアプリケーションにおける処理において構文エラーを発生させることなく処理を進めることが可能となる。
【００３４】
また、図５（ｂ）や図６（ｂ）のように、別々のパケットに構文エラーが発生しない処理単位の情報が分割されて含まれている場合、１つのパケットが正常に受信できなかった場合、そのパケットに対して再送信要求を行ってサーバ１０２からパケットが再度送信されてくるまで他のパケットに含まれていた情報をバッファ等に保持しておく必要がある。これに対して、本実施の形態のように電子ゲームアプリケーションの処理において構文エラーが発生しない処理単位毎に情報を分割して、分割された情報の各々を単一のパケットに含めるようにパケット化することによって、１つのパケットが正常に受信できなかった場合であっても他のパケットに含まれている情報を保持しておく必要がなくなる。
【００３５】
特に、ＵＤＰ等のデータグラム・ソケットのプロトコルでは、パケットを順番に受信する必要がないので、送受信におけるパケットの欠落が生じたとしても欠落を問題とすることなく、受信できたパケットに含まれる情報だけを用いてクライアント１０４での処理を進めておくことができる。
【００３６】
なお、本実施の形態では情報処理システムを例に説明したが、本発明の適用範囲はこれに限定されるものではなく、情報通信網を介して情報を送受信するシステムであれば適用することができる。例えば、複数のユーザがチャットを行うマルチチャットシステム、複数のユーザが音声によりチャットを行うマルチボイスチャットシステム等にも適用が可能である。特に、パケットの欠落による処理の遅延が問題となるようなリアルタイム性が要求されるようなシステムにおいて本発明の効果は顕著となる。
【符号の説明】
【００３７】
１０  処理部、１２  記憶部、１４  入力部、１６  出力部、１８  通信部、２０  処理部、２２  記憶部、２４  入力部、２６  出力部、２８  通信部。
【要約】
【課題】電子ゲームにおいてパケットの受信エラーに起因するコマンド実行時における構文エラーの発生を抑制し、処理を円滑に進めることを可能とする。
【解決手段】クライアント１０４での処理において構文エラーが発生しない処理単位毎に情報を分割して、分割された情報の各々を単一のパケットに含めるようにパケット化し、生成されたパケットをクライアント１０４に送信するサーバ１０２を備えた情報処理システムとする。
【選択図】図４【図１】
0005940231.tif 000002
【図２】
0005940231.tif 000003
【図３】
0005940231.tif 000004
【図４】
0005940231.tif 000005
【図５】
0005940231.tif 000006
【図６】
0005940231.tif 000007
【図７】
0005940231.tif 000008
【図８】
0005940231.tif 000009