オンラインゲームサーバのデータ分散処理方法およびデータ分散処理システム
本発明は、隣接するゲームゾーン境界の所定部分をバッファセクタとして定義し、表示領域が前記バッファセクタを含む状態によってクライアントと接続されるゾーンサーバが柔軟に制御されるようにするデータ分散処理方法およびデータ分散処理システムに関する。
本発明によると、ゲームゾーンの境界を基準とした所定範囲をバッファセクタとして定義し、表示領域にバッファセクタの一部領域が含まれることよってユーザキャラクタが次に移動するゲームゾーンのゾーンサーバをクライアントに接続させるオンラインゲームサーバのデータ分散処理方法およびデータ分散処理システムを提供することができるという利点がある。
本発明によると、ゲームゾーンの境界を基準とした所定範囲をバッファセクタとして定義し、表示領域にバッファセクタの一部領域が含まれることよってユーザキャラクタが次に移動するゲームゾーンのゾーンサーバをクライアントに接続させるオンラインゲームサーバのデータ分散処理方法およびデータ分散処理システムを提供することができるという利点がある。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、オンラインゲームサーバのデータ分散処理方法およびデータ分散処理システムに関し、より詳細には、隣接するゲームゾーン境界の所定部分をバッファセクタとして定義し、表示領域が前記バッファセクタを含む状態によってクライアントと接続するゾーンサーバが柔軟に制御されるようにするデータ分散処理方法およびデータ分散処理システムに関する。
【背景技術】
【0002】
一般的なオンラインゲーム環境において、広範囲なゲーム領域を一つのゲームサーバで信号処理するには、システム能力や信号処理の効率面において多くの問題点が生じるようになる。このような問題点を解消しようと、多様なデータ分散方式が登場してサービス運営を成している。
【0003】
従来に紹介されたデータ分散方式の代表的なものとして、ゲーム領域を一定基準に従ってゾーン(Zone)に区分し、区分されたゾーンに専用ゲームサーバが割り当てられるようにしてデータ分散が誘導されるようにする方式を例として挙げることができる。
【0004】
このようなゾーンの区分および専用ゲームサーバを用いたデータ分散処理において、クライアントのキャラクタがゲーム進行中に現在のゾーンから他のゾーンに移動する場合、次に接続する専用ゲームサーバの接続時期または接続状態が重要な要素となっている。これは、クライアントの専用ゲームサーバの接続時期または接続状態によってデータ分散処理の効率性に明らかな差が生じる恐れがあるためである。
【0005】
現在、提示されている専用ゲームサーバの接続時期または接続状態を考慮したデータ分散方式について次のように簡略に説明する。
【0006】
まず、クライアントと専用ゲームサーバとの間にセッションサーバ(Session Server)を備えるデータ分散方式がある。該データ分散方式は、セッションサーバを経由してクライアントに専用ゲームサーバのデータが送信されるようにする構成であって、専用ゲームサーバで生成されたデータはセッションサーバに一時記録され、これをクライアントが受信するようになる。これに従い、クライアントに提供されるゾーンが2つ以上である場合、セッションサーバは各ゾーンと関連する専用ゲームサーバに所定のデータを要請してこれを受信し、そのデータをクライアントに伝達する。このようなデータ分散方式は、必要とするゾーンと関連したデータが常にセッションサーバを経由しなければならないため、データ処理による負荷がセッションサーバに集中する恐れがあるという短所を有する。
【0007】
また、セッションサーバを用いず、クライアントのキャラクタがゾーン境界に接近する際に生成される隣接ゾーン関連データを現在キャラクタが位置するゾーンの専用ゲームサーバから受信してクライアントに提供されるようにするデータ分散方式がある。例えば、クライアントのキャラクタがゾーンAにいながら隣接ゾーンであるゾーンBも見ている場合、クライアントは専用ゲームサーバAと接続するようになり、専用ゲームサーバBがゾーンBで起きるイベントに関するデータを専用ゲームサーバAに伝達し、専用ゲームサーバAでゲームゾーンA、ゲームゾーンBの両データを総合してクライアントに伝達するようになる。
【0008】
しかし、このようなデータ分散方式は、専用ゲームサーバ間で通信負荷が急増するという問題点を抱いている。また、キャラクタがゾーンAからゾーンBに移動する場合、クライアントがゾーンAとの接続を遮断してゾーンBとの接続を設定しなければならないため、接続による時差が生じる恐れがある。クライアントの立場においては、ゾーンの移動によって一定時間をローディングすることでゲーム進行が可能であるという制約があり、ゲームの集中度が低下する恐れがあるという憂慮を内在するようになる。
【0009】
従って、特定の専用ゲームサーバにデータの負荷が集中することを防止することで効果的なデータ分散処理が遂行されるようにする新しい概念のデータ分散処理モデルの登場が切に求められている。同時に、隣接するゲームゾーン境界の所定範囲をバッファセクタとして定義し、表示領域がバッファセクタを含む場合、次のゾーンサーバをクライアントに接続させることで通信負荷を著しく減少させることができるデータ分散処理モデルが更に求められている。
【発明の開示】
【発明が解決しようとする課題】
【0010】
本発明は、前記のような問題点を解決するために案出されたものであって、ゲームゾーン境界を基準とした所定範囲をバッファセクタとして定義し、表示領域にバッファセクタの一部領域が含まれることによってユーザキャラクタが次に移動するゲームゾーンのゾーンサーバをクライアントに接続させるオンラインゲームサーバのデータ分散処理方法およびデータ分散処理システムを提供することを目的とする。
【0011】
また、本発明は、表示領域が異種のゲームゾーン上に位置することを確認し、関連するゾーンサーバをクライアントに接続させることでデータの負荷が特定ゾーンサーバに集中することを抑制することができるオンラインゲームサーバのデータ分散処理方法およびデータ分散処理システムを提供することを目的とする。
【0012】
また、本発明は、表示領域内のユーザキャラクタがゲームゾーンを変更して位置する時点で、キャラクタ情報に対する情報移管が遂行されるようにするオンラインゲームサーバのデータ分散処理方法およびデータ分散処理システムを提供することを他の目的とする。
【0013】
また、本発明は、ユーザキャラクタの位置によるキャラクタ情報に対する更新処理および情報移管が柔軟に成されることでキャラクタ情報の流失や歪曲を最大限抑制するオンラインゲームサーバのデータ分散処理方法およびデータ分散処理システムを提供することを他の目的とする。
【課題を解決するための手段】
【0014】
前記の目的を達成するために、本発明の一実施形態に係るオンラインゲームサーバのデータ分散処理方法は、一つ以上のゲームゾーンに区画されるゲーム地図データを保存するためのゾーン情報データベースを維持する段階と、ユーザキャラクタに対する命令処理を遂行するためのゾーンサーバを前記ゲームゾーンそれぞれに割り当てる段階と、所定のディスプレイ手段に表示される表示領域を前記ゲーム地図データにマッピングし、前記マッピングされた表示領域が位置するゲームゾーンを識別する段階と、前記識別されたゲームゾーンに割り当てられるゾーンサーバと所定のクライアントを接続させる段階と、を含み、前記識別されたゲームゾーンに割り当てられるゾーンサーバと所定のクライアントを接続させる前記段階は、所定ユーザキャラクタが位置する第1ゲームゾーンの第1ゾーンサーバと前記クライアントを接続させる段階と、第2ゲームゾーンとの境界を基準として前記第1ゲームゾーンの一部をバッファセクタとして定義する段階と、前記表示領域が前記バッファセクタの少なくとも一部を含む場合、前記第2ゾーンサーバと前記クライアントを接続させる段階と、を含む。
【0015】
また、前記目的を達成するための技術的構成として、オンラインゲームサーバのデータ分散処理システムは、一つ以上のゲームゾーンに区画されるゲーム地図データを保存するためのゾーン情報データベースと、ユーザキャラクタに対する命令処理を遂行するためのゾーンサーバを前記ゲームゾーンそれぞれに割り当てるゾーンサーバ管理手段と、隣接するゲームゾーンとの境界を基準として前記ゲームゾーンの一部をバッファセクタとして定義するバッファセクタ定義手段と、所定のディスプレイ手段に表示される表示領域を前記ゲーム地図データにマッピングし、前記表示領域が位置するゲームゾーンを識別する表示領域マッピング手段と、前記識別されたゲームゾーンに割り当てられるゾーンサーバと所定のクライアントを接続させるゲーム作動制御手段と、を含み、ゲーム作動制御手段は、前記表示領域の少なくとも一部が前記バッファセクタに位置する場合、前記隣接する一つ以上のゲームゾーンと関連する前記ゾーンサーバを前記クライアントに接続するように制御することを特徴とする。
【発明の効果】
【0016】
以上の説明から知ることができるように、本発明によると、ゲームゾーンの境界を基準とした所定範囲をバッファセクタとして定義し、表示領域にバッファセクタの一部領域が含まれることよってユーザキャラクタが次に移動するゲームゾーンのゾーンサーバをクライアントに接続させるオンラインゲームサーバのデータ分散処理方法およびデータ分散処理システムが提供される。
【0017】
また、本発明によると、表示領域が異種のゲームゾーン上に位置することを確認し、関連するゾーンサーバをクライアントに接続させることでデータの負荷が特定ゾーンサーバに集中することを抑制することができるオンラインゲームサーバのデータ分散処理方法およびデータ分散処理システムが提供される。
【0018】
また、本発明によると、表示領域内のユーザキャラクタがゲームゾーンを変更して位置する時点でキャラクタ情報に対する情報移管が遂行されるようにするオンラインゲームサーバのデータ分散処理方法およびデータ分散処理システムが提供される。
【0019】
また、本発明によると、ユーザキャラクタの位置によるキャラクタ情報に対する更新処理および情報移管が柔軟に成されるようにすることで、キャラクタ情報の流失や歪曲を最大限抑制するオンラインゲームサーバのデータ分散処理方法およびデータ分散処理システムが提供される。
【発明を実施するための最良の形態】
【0020】
以下、添付の図面を参照して、データ分散処理方法およびデータ分散処理システムに対して説明する。
【0021】
本明細書で持続的に用いられるゲームゾーンとは、ゲーム進行の背景となるゲーム地図データを所定基準によって区画した一地域を意味し、ゲームゾーンそれぞれには、該当地域で生じる命令処理が限定して遂行されるように個別ゲームサーバ(以下、ゾーンサーバとする)が割り当てられる。このようなゲームゾーンは、大規模な範囲のゲーム地図領域を一つのゲームサーバで担当するにはシステム的に無理があるという判断に起因するものであり、区画されるゲームゾーンの領域範囲は、割り当てられるゾーンサーバのシステム能力などを考慮した上で、本システムの運営者が柔軟に設定することができる。また、ゾーンサーバとは、担当するゲームゾーンに対する命令処理を遂行するゲームサーバを指称し、ゲームの進行によるユーザキャラクタのキャラクタ情報(例えば、能力値、保有アイテムなど)を更新させる役割をする。
【0022】
図1は、本発明に係るデータ分散処理システムの概略的な構成を説明するための図である。
【0023】
データ分散処理システム100は、所定の地域に区画されるゲームゾーン114単位でデータが処理されるように制御することで、オンラインゲームサービスにおける命令処理を分散させる役割をする。
【0024】
まず、オンラインゲームサーバ110は、本発明のデータ分散処理システム100を介してクライアント120の所定端末手段(未図示)と連結し、所定の契約関係にあるクライアント120にオンラインでゲームサービスが提供されるようにする役割をし、例えば、マッド(MUD;Multiple User Dialogue)ゲームサーバ、マグ(MUG;Multiple User Graphic)ゲームサーバなどを意味する。オンラインゲームサーバ110から提供するゲームサービスは、端末手段にゲームと関連するプログラムを設置したクライアント120がオンラインゲームサーバ110に接続する場合、ゲームに必要な所定のゲーム進行データまたはゲームパッチを端末手段に送信させ、クライアント120によって制御されるユーザキャラクタを用いてゲーム進行が成されるように支援する。また、オンラインゲームサーバ110は、ゲーム進行に必要なゲーム地図データを所定領域の範囲(サイズ)に区画してゲームゾーン114として形成させ、形成された各ゲームゾーン114にゾーンサーバ112が割り当てられるようにする。例えば、図1では、ゲーム地図データを4つのゲームゾーン(ゲームゾーンA〜ゲームゾーンD)に区分して、各ゲームゾーンに割り当てられる4つのゾーンサーバ(ゾーンサーバA〜ゾーンサーバD)を例示している。上述したように、ゲームゾーン114は、本システムの運営者によって領域サイズおよび数などが設定され、オンラインゲームにおける命令処理がゲームゾーン114単位で限定されてデータ分散処理が遂行されるようにする。
【0025】
ここで、命令処理とは、クライアント120から受信される命令信号によって特定ユーザキャラクタの操作を介したゲーム進行が成されるようにする信号処理を意味する。例えば、ゲームゾーン114で生じる命令処理としては、クライアント120の制御操作によってユーザキャラクタを移動させたり、モンスターに攻撃を加えたりするなどのユーザキャラクタの操作制御に関連する処理、該当ゲームゾーン114に登場する背景物(木、建物、水など)やその他のキャラクタ(モンスター、他のユーザキャラクタ、NPCなど)がユーザキャラクタの移動によって変更されて表示されるようにする処理などがあり得る。
【0026】
クライアント120は、通信網130との接続のための端末手段を保有しており、所定のゲームサービス提供の契約関係にあるオンラインゲームサーバ110からゲーム進行のためのゲームデータまたはゲームパッチを受信することでオンラインゲームサービスの提供を受けるインターネットユーザを意味する。端末手段とは、インターネット網、電話線などの通信網130を介してオンラインゲームサーバ110との接続状態を維持しながらオンラインゲームを具現するする装置であって、例えば、パーソナルコンピュータ、ハンドヘルドコンピュータ(handheld computer)、PDA(Personal Digital Assistant)、携帯電話、スマートフォンなどのように所定のメモリ手段を備えて所定のマイクロプロセッサを搭載することで所定の演算能力を備えた端末機を通称する。
【0027】
データ分散処理システム100は、ユーザキャラクタの移動によって端末手段上に表示されるゲームゾーン114の領域を識別し、識別されたゲームゾーン114に割り当てられるゾーンサーバ112がクライアント120に接続されるように制御する役割をする。このようなゾーンサーバ112に対する接続制御は、特定ゾーンサーバ112にデータ負荷が加重されないように考慮して具現されている。以下、図2を参照して、本発明のデータ分散処理システム200の具体的な構成を説明する。
【0028】
図2は、本発明の好ましい実施形態に係るデータ分散処理システムを示す構成図である。
【0029】
本発明のデータ分散処理システム200は、ゾーン情報データベース210と、ゾーンサーバ管理手段220と、バッファセクタ定義手段230と、表示領域マッピング手段240と、ゲーム作動制御手段250と、キャラクタ位置確認手段260と、キャラクタ情報データベース270と、を含む。
【0030】
まず、ゾーン情報データベース210は、一つ以上のゲームゾーン114に区画されるゲーム地図データを保存するための装置であり、所定オンラインゲームで用いられる地図に対する情報を保存する役割をする。すなわち、ゾーン情報データベース210は、ゲーム進行に必要な全体地図を保有しており、後述されるゲーム作動制御手段250によって特定地域に対する地図抽出要求が生じる場合、該当領域のゲーム地図データを抽出して提供されるようにする。ゲームゾーン114の区画は、本システムの運営者によって各ゲームゾーン114に割り当てられるゾーンサーバ112の能力または数を考慮して設定することができる。以下、図3を参照して、ゲーム地図データ310を区画するゲームゾーン320について説明する。
【0031】
図3は、本発明によるゲーム地図データおよび、ゲーム地図データを区画して形成されるゲームゾーンを説明するための図である。
【0032】
図3に示したように、ゲーム地図データ310は多数のセクタ330から構成されており、一つのゲームゾーン320は所定数のセクタ330を群集して形成する。図3では、6×6セクタを有するゲーム地図データ310を例示しており、区画されている3つのゲームゾーン320、すなわち、ゲームゾーンAとゲームゾーンBは3×4セクタ、ゲームゾーンCは6×2セクタを保有している。各セクタ330は、該当領域においてゲームキャラクタ(ユーザキャラクタ、NPCなど)、アイテム(武器、ポーションなど)、物体(山、道など)に対する制御管理、またはユーザキャラクタのゲーム進行によるキャラクタ情報に対する更新処理の基本単位となる。また、一部のセクタ330は、隣接する他のゲームゾーン320との境界から所定数(または幅)をバッファセクタとして定義することができ(図4参照)、定義されたバッファセクタに関する情報は、ゾーン情報データベース210に保存される。
【0033】
ゾーンサーバ管理手段220は、区画されたゲームゾーン320それぞれに命令処理を遂行するためのゾーンサーバ112を割り当てる装置であって、特に、ゲームゾーン320として限定される範囲領域で生じる命令処理を特定ゾーンサーバ112で専用で処理されるようにすることで、データ分散を介したデータ負荷の集中現象を抑制することができる。例えば、図3では、ゲームゾーン320が3つに区画されることによって、各ゲームゾーン320に割り当てられるゾーンサーバ112も3つ以上が具備されなければならない。このとき、ゲームゾーン320に対するゾーンサーバ112の割り当ては、ゲームゾーン320が保有したセクタ330の数に基づき、多数のセクタ330を保有するゲームゾーン320には優れた能力のゾーンサーバ112が、反対に、少数のセクタ330を保有したゲームゾーン320には比較的優秀さに欠ける能力のゾーンサーバ112が割り当てられるようにする。これは、命令処理を遂行する領域範囲に比例して最適な能力のゾーンサーバ112が割り当てられるようにするためである。例えば、図3では、各ゲームゾーン320が同一数のセクタ330を保有することによって類似した能力のゾーンサーバ112が割り当てられるようにする。本実施形態では、区画されたゲームゾーン320に含まれるセクタ330の数を考慮してゾーンサーバ112が割り当てられるようにすることを例示しているが、これは説明の便宜のためであり、例えば、ゾーンサーバ112の能力を考慮して各ゾーンサーバ112ごとに適合したセクタ330の数を設定し、設定されたセクタ330の数に適合するようにゲームゾーン320が区画されるようにするなど、多様な区画方式があり得ることは勿論である。
【0034】
バッファセクタ定義手段230は、隣接するゲームゾーン320との境界を基準としてゲームゾーン320の一部をバッファセクタとして定義する装置であり、定義されるバッファセクタの領域範囲は、例えば、ゲーム進行速度による表示領域のマッピング変更速度、または接続変更されるゾーンサーバ112とクライアント120の接続ローディング時間を考慮して設定したりする。すなわち、ゲーム進行速度が速かったり接続ローディング時間が遅延する場合、バッファセクタとして定義される領域を広くして安定したゾーンサーバ112の接続変更が成されるようにする。特に、ゲーム地図データ310が多数のセクタ330から構成される本実施形態に限定して、バッファセクタ定義手段230は、他のゲームゾーン320との境界に隣接するセクタ330をバッファセクタとして定義することができる。また、バッファセクタ定義手段230は、所定数のセクタ330をバッファセクタとして定義するのかによってバッファセクタの領域範囲を決めることができる(例えば、図4では、セクタ330の1つの幅をバッファセクタの領域として決めている)。ここで、バッファセクタとは、ゲーム進行によってユーザキャラクタが移動しながら位置するゲームゾーン320の変化が生じる場合、クライアント120と接続されるゾーンサーバ112の変更を予め本発明のデータ分散処理システム200によって認知されるようにする機能を保有したセクタを指称する。本実施形態では、クライアント120のディスプレイ手段(未図示)にゲーム画面として提供される表示領域のマッピング位置と前記バッファセクタとを比較し、その相関関係によってクライアント120と接続されるゾーンサーバ112を調整するようになる。すなわち、マッピングされる表示領域が前記定義されたバッファセクタの少なくとも一部を含む場合、隣接したゲームゾーン320のゾーンサーバ112をクライアント120に接続させる。
【0035】
表示領域マッピング手段240は、クライアント120のディスプレイ手段に表示される表示領域をゲーム地図データ310上にマッピングし、前記表示領域が位置するゲームゾーン320を識別する装置である。すなわち、表示領域マッピング手段240は、クライアント120に提供される地図をゲーム地図データ310から抽出することができるようにゲーム地図データ310上に位置表示が成されるようにする役割をする。このため、ゲーム地図データ310には所定の仮想座標の設定が可能であり、前記仮想座標を介して表示領域の位置がゲーム地図データ310上にマッピングされるようにする。本実施形態では、ゲーム地図データ310が多数の独立的なセクタ330から構成されており、ゲーム地図データ310内におけるセクタ330位置としてマッピングされる表示領域の位置を決めることができる。このとき、表示領域のサイズは、セクタ330の広さの定倍数になるように制御することができ、これによって表示領域内にセクタ120が完全に含まれるようにし、セクタ330単位で遂行される命令処理が安定に成されるようにする。
【0036】
ゲーム作動制御手段250は、識別されたゲームゾーン320に割り当てられるゾーンサーバ112とクライアント120を接続させるための装置であって、ゲーム地図データ310上でマッピングされる表示領域およびユーザキャラクタの位置を識別し、所定条件によって選択的に特定ゾーンサーバ112とクライアント120を接続させたり、またはキャラクタ情報に対する情報移管(Hand off)が遂行されるようにする。データ分散処理において、ゲームゾーン320別に命令処理を分担するゾーンサーバ112をクライアント120に接続させる時点が重要であり、本実施形態では、上述したバッファセクタを用いて特定ゾーンサーバ112に対する接続時点を判断するようになる。以下、図4を参照して、クライアント120とゾーンサーバ112の接続状態を多様な事例を例示しながら説明する。
【0037】
図4は、本発明のユーザキャラクタの移動によるクライアントとゾーンサーバの接続状態を説明するための図である。
【0038】
図4で、ユーザキャラクタ360がゲームゾーンA(ゾーンサーバA割り当て)からゲームゾーンB(ゾーンサーバB割り当て)に移動しながらゲームが進行されていると仮定する。また、バッファセクタ340、345は、ゲームゾーンAとゲームゾーンBの境界に隣接するセクタ330の列として定義し、表示領域350のサイズは、セクタ330の広さの4倍数になるように仮定する。
【0039】
まず、画面1で、表示領域350は、第1バッファセクタ340ではないゲームゾーンAの所定セクタ330でのみマッピングが成され、これによって、クライアント120は、ゾーンサーバAと接続して命令処理を遂行するようになる。すなわち、画面1では、クライアント120とゾーンサーバAが接続された状態であり、ゾーンサーバAによる命令処理によって変更されるキャラクタ情報はゾーンサーバAに保有される。
【0040】
ゲーム中、ユーザキャラクタ360の移動が進行し、画面2のように表示領域350の一部がゲームゾーンAの第1バッファセクタ340上にマッピングされる場合、ゲーム作動制御手段250は、ユーザキャラクタ360が次に位置すると予想されるゲームゾーンBのゾーンサーバBがクライアント120に接続されるようにする。このとき、ゾーンサーバAは、クライアント120と接続維持される。特に、ゲーム作動制御手段250は、表示領域350の第1バッファセクタ340への進入を確認し、表示領域350のマッピング方向に基づいて次に接続可能なゾーンサーバ112に対するネットワークアドレス(URL、IP address、domainなど:図4では、ゾーンサーバBのネットワークアドレス)をクライアント120の端末手段に提供してゾーンサーバBとの接続が成されるようにする。このようなネットワークアドレスに対する情報はセクタ330から供給可能であり、セクタ330は表示領域350のマッピングが成されることによって既に設定されて保存していた特定ゾーンサーバのネットワークアドレスに関する情報をゲーム作動制御手段250に供給する。但し、画面2で、ユーザキャラクタ360は、ゲームゾーンAに位置しており、ゾーンサーバAによる命令処理が維持されるようにする。すなわち、画面2では、クライアント120とゾーンサーバAおよびゾーンサーバBが同時に接続されている状態であり、表示領域350でゲームゾーンAに該当する地域はゾーンサーバAによって表示されるようにし、ユーザキャラクタ360の移動によって次の表示領域350に含まれるゲームゾーンBに該当する地域はゾーンサーバBによって表示されるようにする。このとき、ゾーンサーバAは、上述した命令処理が持続的に遂行されるように維持し、ゾーンサーバBは、イベント処理(ゾーンサーバBの命令処理によって遂行される他のキャラクタの動きなどがディスプレイ手段に具現されるようにする処理)が遂行されるようにする。キャラクタ情報は、ユーザキャラクタの位置によってゾーンサーバAに保有される。
【0041】
画面3は、ユーザキャラクタ360がゲームゾーンAからゲームゾーンBに移動する場合を示しており、マッピングされる表示領域350は、ゲームゾーンBの第2バッファセクタ345を一部含んでいる場合である。これによって、ゾーンサーバAとゾーンサーバBの処理種類が相互交換され、ゾーンサーバAではイベント処理が、ゾーンサーバBでは命令処理が遂行される。また、ユーザキャラクタ360のゲームゾーン320の変更によってキャラクタ情報に対する情報移管が生じ、既存のゾーンサーバAで保有していたユーザキャラクタ360のキャラクタ情報を複製してゾーンサーバBに送信されるようにする。但し、ゾーンサーバAで保有するキャラクタ情報は、所定条件が満たされるまで削除せずに保有されるようにすることで、情報移管によって生じる恐れのあるキャラクタ情報の流失や送信エラーによるキャラクタ情報変更に備えるようにする。
【0042】
画面4は、ユーザキャラクタ360の移動がより進展して表示領域350のマッチング地点が第2バッファセクタ345を離脱するようになり、第2バッファセクタ345ではないゲームゾーンBのセクタ330でのみ表示領域350のマッピングが成される場合を示す。これによって、ゲーム動作制御手段250は、ゾーンサーバAとクライアント120との接続を遮断するようになると同時に、ゾーンサーバAに保有していたキャラクタ情報に対する削除処理が遂行されるようにする。
【0043】
これによって、バッファセクタ340、345上に表示領域のマッピングが成される場合に限って、各ゲームゾーン320に関連するゾーンサーバ112がクライアント120に接続されるように制御することで、有機的な情報移管の実現およびデータ分散処理に効率的なゾーンサーバ接続変更が成されるようにすることができる。
【0044】
また、図4で、表示領域350に含まれる移動制御線370は、表示領域350に対するマッピング変更が成されるようにするためのものであって、ユーザキャラクタ360の位置が移動制御線370と一致する場合、ユーザキャラクタ360の進入(移動)方向に基づいて表示領域に対するマッピング作業が再遂行されるようにする。これによって、ユーザキャラクタ360の移動による表示領域350のマッピングの再遂行が可能になると同時に、ユーザキャラクタ360が位置するゲームゾーン320の変更によってゾーンサーバ112に対する接続変更制御が可能となってデータ分散効果を極大化することができる。
【0045】
図4で、表示領域350に対するマッピングは、セクタ330を完全に含むようにする方式で説明しているが、ゲーム画面転換の柔軟性を考慮して、特定セクタ330の一部のみが表示領域350に含まれるようにすることが可能であるということは、本発明が属する技術分野の当業者にとって当然なことであろう。
【0046】
キャラクタ位置確認手段260は、ゲーム進行中にユーザキャラクタ360が位置する地図(またはステージ)を確認してキャラクタ位置情報を生成するための装置であって、生成されたキャラクタ位置情報は、表示領域350のマッピング位置を設定するのに基準資料として用いられる。すなわち、キャラクタ位置確認手段260は、クライアント120に提供されるオンラインゲームにおけるキャラクタ位置を認知し、表示領域マッピング手段240による表示領域350のマッピング位置が選定されるように支援する。
【0047】
キャラクタ情報データベース270は、ゲーム進行によって変更されるキャラクタ情報を更新保存するための装置であって、更新処理の権限を有するゾーンサーバ112から更新処理されるキャラクタ情報を記録維持するようになる。本実施形態におけるキャラクタ情報管理は、前記キャラクタ情報データベース270で主に管理されるが、クライアント120の接続によるゲーム進行中には、命令処理を遂行するゾーンサーバ112からキャラクタ情報に対して管理が成されるようにすることがある。すなわち、キャラクタ情報データベース270に保存されたキャラクタ情報は、更新処理の権限が付与されたゾーンサーバ112に複製/送信され、送信されたキャラクタ情報に対する更新処理がゾーンサーバ112によって遂行されるようにする。ゾーンサーバ112で更新されたキャラクタ情報は、更新処理の権限の変更によって他のゲームゾーン320(またはキャラクタ情報データベース270)に情報移管されたり、またはクライアント120のゲーム接続終了信号によってキャラクタ情報データベース270に送信されたりする。
【0048】
図2には示されていないが、本発明の好ましい一実施形態に係るデータ分散処理システム200は、上述したデータベース210、270を管理するためのデータベース管理モジュールを更に含むことがある。本発明に係るデータ分散処理システム200のデータベース管理モジュールは、オラクル(Oracle)、インフォミックス(Infomix)、サイベース(Sybase)、DB2のようなリレーショナルデータベース管理システム(RDBMS)や、ゲムストン(Gemston)、オリオン(Orion)、O2などのようなオブジェクト指向データベース管理システム(OODBMS)を用いて本発明の目的に適合するように具現可能である。
【0049】
このような構成を有する本発明に係るデータ分散処理システム200の流れを詳しく説明する。
【0050】
図5は、本発明の好ましい実施形態に係るデータ分散処理方法を具体的に示したフローチャートである。
【0051】
本実施形態に係るデータ分散処理方法は、上述したデータ分散処理システム200によって遂行される。
【0052】
まず、段階510では、データ分散処理システム200が、一つ以上のゲームゾーン320に区画されるゲーム地図データ310を保存するためのゾーン情報データベース210を維持する。本段階は、ゲーム地図データ310を構成するゲームゾーン320に対する情報を記録維持するための過程であって、ゲーム進行が成される全体の地図を保存するようになる(図3参照)。
【0053】
次に、段階520では、データ分散処理システム200が、ゲームゾーン320それぞれにユーザキャラクタ360に対する命令処理を遂行するためのゾーンサーバ112を割り当てる。本段階は、特定領域別に担当ゾーンサーバ112を関連させることで物理的なデータ分散効果が生じるようにするための過程であって、ゲームゾーン320に対するゾーンサーバ112の割り当ては、ゾーンサーバ112のデータ処理能力またはゲームゾーン320のサイズ(保有セクタ330の数)を考慮して、最適なデータ分散効果が生じるように連関されるようにする。
【0054】
また、段階530では、データ分散処理システム200が、所定のディスプレイ手段に表示される表示領域350をゲーム地図データ310上にマッピングし、表示領域350が位置するゲームゾーン320を識別する。本段階は、ゲーム上におけるユーザキャラクタ360の位置をゲーム地図データ310で確認し、ユーザキャラクタ360を含む所定領域を抽出してディスプレイ手段上に表示されるようにする過程である。
【0055】
続いて、段階540では、データ分散処理システム200が、識別されたゲームゾーン320に割り当てられるゾーンサーバ112とクライアント120を接続させる。本段階は、ユーザキャラクタ360に対するクライアント120の操作制御命令を処理するゾーンサーバ112を決め、決められたゾーンサーバ112がクライアント120と接続されるようにする過程である。特に、本段階は、表示領域350のマッピング地点によって接続されるゾーンサーバ112の数を柔軟に調整することができる。このようなゾーンサーバ112の接続柔軟性を保障するために、本発明においては、ゲームゾーン320の所定領域範囲をバッファセクタとして定義するようになる。以下、図6を参照して、表示領域350のマッピング位置によってクライアント120に接続されるゾーンサーバ112の変化に対して説明する。
【0056】
図6は、本発明に係る表示領域のマッピング位置に基づいて接続されるゾーンサーバの変更方法を示すフローチャートである。
【0057】
ここで、記述されている第1ゲームゾーンとは、ユーザキャラクタ360が現在位置するゲームゾーン320を指称しており(例、図4におけるゲームゾーンA)、第2ゲームゾーンとは、ユーザキャラクタ360が移動しようとする次に位置するゲームゾーン320を指称する(例、図4におけるゲームゾーンB)。
【0058】
まず、段階610では、データ分散処理システム200が、ユーザキャラクタ360が位置する第1ゲームゾーンに割り当てられる第1ゾーンサーバとクライアント120を接続させる。本段階は、クライアント120から受信される操作制御命令を処理する第1ゾーンサーバ112の接続過程であって、このとき、クライアント120と接続する第1ゾーンサーバは、ユーザキャラクタ360に対する命令処理を遂行するようになる。
【0059】
次に、段階620では、データ分散処理システム200が、第2ゲームゾーンとの境界を基準として第1ゲームゾーンの一部をバッファセクタとして定義する。本段階は、ユーザキャラクタ360の移動によって第1ゲームゾーンと第2ゲームゾーンの境界をデータ分散処理システム200によって認知されるようにする過程である。例えば、バッファセクタ定義手段230によってセクタ330をバッファセクタとして定義したり、ゲームゾーン320の境界から所定領域(幅)範囲をバッファセクタとして定義したりする。本実施形態では、説明の統一のためにゲームゾーン320が所定数のセクタ330から構成されることを考慮して、特定セクタ330がバッファセクタとして定義されるものと限定して説明する。
【0060】
続いて、段階630では、データ分散処理システム200が、表示領域350がバッファセクタの少なくとも一部を含むのかを判断する。本段階は、ユーザキャラクタ360の移動によってマッピングされる表示領域350のマッピング地点が前記バッファセクタとして定義した範囲(幅)と重なる部分があるのかを判断する過程である。例えば、ゲーム作動制御手段250によって所定の仮想座標で特定されるバッファセクタと表示領域350とが一致するかを確認するようになる。
【0061】
前記判断段階で、表示領域350がバッファセクタの一部領域を含むものと判断される場合(段階630でYes方向)、段階640では、データ分散処理システム200が、第2ゲームゾーンに割り当てられた第2ゾーンサーバのネットワークアドレスをクライアント120に送信する。本段階は、ユーザキャラクタ360の移動によって、近時間以内にユーザキャラクタ360が位置するゲームゾーン320の変更を予告するための過程である。例えば、表示領域350のマッピング進行方向(ユーザキャラクタ360の移動進入方向)を考慮して、表示領域350の次にマッピングが可能なゲームゾーン320をあらかじめ認知するようになる。このとき、次にマッピングが可能なゲームゾーン320は一つ以上であり、ゲームゾーン320に割り当てられるゾーンサーバ112のネットワークアドレスとしては、IPアドレス、URL、ドメイン(Domain)などがあり得る。
【0062】
また、段階650では、データ分散処理システム200が、送信されたネットワークアドレスに基づいて第2ゾーンサーバとクライアント120を接続させる。本段階は、表示領域350の一部がバッファセクタに進入することによって、既に送信されたネットワークアドレスに基づいてクライアント120と第2ゾーンサーバが接続されるようにする過程である。すなわち、本段階は、クライアント120に提供されるゲーム画面のうち、近時間以内に第2ゲームゾーンと関連するゲーム画面提供の必要性に起因したものであって、ユーザキャラクタ360がゲームゾーン境界に接近することによって関連するゾーンサーバ112すべてをクライアント120に接続する。これによって、クライアント120と接続するゾーンサーバ112は第1ゾーンサーバおよび第2ゾーンサーバとなり、表示領域350のマッピング地点がバッファセクタ上に位置する場合に限定して2つ以上のゾーンサーバ320が接続されるようにすることで、データ分散効果を効率的に発生させるようにするための本発明の目的が忠実に実行される。
【0063】
また、前記段階では、データ分散処理システム200が、表示領域350内のユーザキャラクタ360の位置によってクライアント120に接続するゾーンサーバ112が担当する処理種類を相違して制御することができ、これと関連した説明は図7で行う。
【0064】
図7は、本発明によるゾーンサーバにおける処理種類が特定されるようにする方法を示すフローチャートである。
【0065】
図7に示したように、段階752では、データ分散処理システム200が、命令処理を第1ゾーンサーバで担当するように制御する。本段階は、ユーザキャラクタ360が第1ゲームゾーンに位置することを考慮して、ユーザキャラクタ360に対する命令処理が第1ゾーンサーバによって遂行されるようにする過程である。
【0066】
また、段階754では、データ分散処理システム200が、表示領域350に表示される第2ゲームゾーンにおけるイベント処理を第2ゾーンサーバで担当されるように制御する。本段階は、第2ゾーンサーバによって命令処理されるその他のキャラクタ(他のユーザキャラクタ、NPC、モンスターなど)のゲーム進行状態が、ユーザキャラクタを第1ゲームゾーンに位置させるクライアント120に視覚化されて提供されるようにする過程であり、このようなイベント処理が第2ゾーンサーバによって遂行されるようにする。
【0067】
従って、ユーザキャラクタ360がゲームゾーン320の境界に接近して互いに相違したゾーンサーバ112からデータの受信を受ける必要が生じる場合に限定して、関連するゾーンサーバ112が同時にクライアント120に接続されるようにすることで、特定ゾーンサーバ112にデータが集中するという現象を防止する効果を得ることができる。
【0068】
但し、本実施形態では、ユーザキャラクタが第1ゲームゾーンと第2ゲームゾーンの境界を越えたのかに関して特別に限定していないが、もし、ユーザキャラクタがゲームゾーン境界を越えて第2ゲームゾーンに進入する際には、既存第2ゲームゾーンが第1ゲームになり、上述した各種実施形態に準じて第1ゾーンサーバまたは第2ゾーンサーバが担当する処理種類の変更が成されるということを容易に類推することができるであるだろう。
【0069】
以下、本発明の他の実施形態として、ゲーム進行によって変更されるキャラクタ情報に対する更新処理およびキャラクタ情報の情報移管に対して説明する。
【0070】
図8は、本発明によるキャラクタ情報の更新処理方法を示すフローチャートである。
【0071】
図8のキャラクタ情報に対する更新処理およびキャラクタ情報の情報移管は、図6の段階650に続いて遂行される。
【0072】
まず、段階810では、データ分散処理システム200が、ユーザキャラクタ360のキャラクタ情報を保存するためのキャラクタ情報データベース270を維持する。本段階は、ユーザキャラクタ360が保有する能力値、アイテム、技術などに関するキャラクタ情報を保存する過程であって、キャラクタ情報データベース270へのキャラクタ情報の保存は、各ゾーンサーバ112からリアルタイムで更新される情報の入力を受けて保存されるようにしたり、更新処理の権限が還元される時点でゾーンサーバ112から該当ユーザキャラクタ360のキャラクタ情報の入力を一度に受けて保存されるようにしたりする。本発明は、上述した2つの保存方式のいずれも適用可能である。以下の実施形態では、説明の便宜のために更新処理の権限の変更によってキャラクタ情報の保存が成されるようにする方式を例示して説明する。
【0073】
次に、段階820では、データ分散処理システム200が、キャラクタ情報データベース270からキャラクタ情報を複製して第1ゾーンサーバに提供する。本段階は、ユーザキャラクタ360が位置する第1ゲームゾーンの第1ゾーンサーバにキャラクタ情報を提供する過程である。例えば、クライアント120がゲームに最初に接続した際にキャラクタ情報に対する送信が成されたりする。
【0074】
また、段階830では、データ分散処理システム200が、提供されたキャラクタ情報に対する更新処理の権限を第1ゾーンサーバに付与する。本段階は、ユーザキャラクタ360のゲーム進行よって変更される各種数値または獲得したアイテム/技術などに関する更新処理が、ユーザキャラクタ360に対する命令処理を遂行する第1ゾーンサーバに付与されるようにする過程である。すなわち、ユーザキャラクタが位置するゲームゾーン320のゾーンサーバ112によってキャラクタ情報に対するアップデートが遂行されるようにする。
【0075】
続いて、段階840では、データ分散処理システム200が、第1ゾーンサーバの命令処理によってキャラクタ情報に対する更新処理を遂行する。本段階は、ユーザキャラクタに対する命令処理を介して生じるデータ変更事項がキャラクタ情報に反映されるようにする過程であって、これによって持続的かつ実時間的なキャラクタ情報に対するアップデートが可能となる。更新されたキャラクタ情報は、第1ゾーンサーバの所定記憶手段(未図示)に記録されるようになる。
【0076】
ゲーム進行中、ユーザキャラクタ360の移動によって、第1ゲームゾーンからユーザキャラクタ360が離脱する場合、段階850では、データ分散処理システム200が、付与された更新処理の権限が還元(retrieve)されるようにする。本段階は、ユーザキャラクタ360が位置するゲームゾーン320を変更する際に、既存第1ゲームゾーンに付与した更新処理の権限を還元し、ユーザキャラクタ360が移動したゲームゾーン320のゾーンサーバ112に該当ユーザキャラクタ360に対する更新処理の権限が付与されるようにする過程である。このとき、データ分散処理システム200は、上述した更新処理の権限以外に、更新されたキャラクタ情報をユーザキャラクタ360が移動したゲームゾーン320のゾーンサーバ320(またはキャラクタ情報データベース270)に情報移管するように制御することができる。
【0077】
従って、本発明によると、ユーザキャラクタ360の位置によるキャラクタ情報に対する更新処理および情報移管が柔軟に成されるようにすることで、キャラクタ情報の流失や歪曲を最大限抑制するという効果を得ることができる。
【0078】
以下、図9を参照して、ユーザキャラクタ360のゲームゾーン320の移動によるキャラクタ情報の情報移管に対して説明する。
【0079】
図9は、本発明によるキャラクタ情報に対する情報移管方法を示すフローチャートである。
【0080】
段階960では、データ分散処理システム200が、第1ゾーンサーバから更新処理されたキャラクタ情報を複製し、複製されたキャラクタ情報を第2ゾーンサーバに送信する。本段階は、ユーザキャラクタ360が第1ゲームゾーンを離脱して第2ゲームゾーンに進入する場合、キャラクタ情報に対する情報移管が遂行されるようにする過程である。例えば、ゲーム作動制御手段250によって更新されたキャラクタ情報を第1ゾーンサーバからコピーして第2ゾーンサーバに記録されるようにする。このとき、第1ゾーンサーバは、キャラクタ情報を記録維持することで生じる恐れがあるキャラクタ情報の流失または歪曲に備える。
【0081】
次に、段階970では、データ分散処理システム200が、第2ゾーンサーバに更新処理の権限を付与することで命令処理が第2ゾーンサーバで担当されるように制御する。本段階は、ユーザキャラクタ360に対する命令処理を第2ゾーンサーバで遂行するようにすることで、情報移管されたキャラクタ情報をゲーム進行によって更新されるようにする過程である。すなわち、ユーザキャラクタ360が第2ゲームゾーンに位置することによって、命令処理を遂行するゾーンサーバ112を変更するようになる。
【0082】
続いて、段階980では、データ分散処理システム200が、表示領域350に表示される第1ゲームゾーンにおけるイベント処理を第1ゾーンサーバで担当するように制御する。本段階は、既存の命令処理を遂行していた第1ゾーンサーバがイベント処理を遂行するように処理種類の転換が成されるようにする過程であって、表示領域350上の第1ゲームゾーンと関連する画面をクライアント120に提供するようになる(図4参照)。
【0083】
従って、ユーザキャラクタ360のゲームゾーン320の移動によるゾーンサーバ112間における柔軟な処理種類の転換が成されるようにすることで、ゲームゾーン320の境界間のデータ分散処理が効率的に成されるようにするという効果を得ることができる。
【0084】
本発明の他の実施形態として、上述した更新処理の権限が還元されるようにする段階850は、表示領域350のマッピング地点が第2ゲームゾーンに定義されるバッファセクタを離脱するのかによって第1ゾーンサーバとクライアント120との接続が遮断されるようにする。
【0085】
図10は、本発明による第1ゾーンサーバとクライアントとの接続遮断の可否を判断する方法を示すフローチャートである。
【0086】
まず、段階1051では、データ分散処理システム200が、第1ゲームゾーンとの境界を基準として第2ゲームゾーンの一部を第2バッファセクタとして定義する。本段階は、バッファセクタ定義手段230による第2ゲームゾーンの一部セクタ330をバッファセクタとして定義する過程である。この説明に関しては、上述したバッファセクタの定義過程(段階620)の説明と置き換えてここでは省略する。
【0087】
次に、段階1052では、データ分散処理システム200が、表示領域350が第2バッファセクタの少なくとも一部を含むのかを判断する。本段階は、ユーザキャラクタ360の第1ゲームゾーンの離脱後、表示領域350のマッピングが第2バッファセクタに形成されるのかを確認する過程である。すなわち、第2ゲームゾーンに位置したユーザキャラクタ360が第1ゲームゾーンとの境界にどの程度接近するのかを識別し、クライアント120に提供されるゲーム画面のうち、第1ゲームゾーンと関連したゲーム画面の提供必要性を確認するようになる。
【0088】
判断結果、表示領域350が第2バッファセクタの一部を含む場合(段階1052のYes方向)、段階1053では、データ分散処理システム200が、第1ゾーンサーバとクライアント120の接続を維持する。本段階は、第1ゾーンサーバによるイベント処理が可能となるように第1ゾーンサーバとの接続を持続させる過程であり、一定周期の経過後に前記段階1052に帰還するように制御し、表示領域350がバッファセクタの少なくとも一部を含むのかに関して持続的に判断されるようにする。
【0089】
一方、判断の結果、表示領域350が第2バッファセクタを含まない場合(段階1052のNo方向)、段階1054では、データ分散処理システム200が、第1ゾーンサーバとクライアント120との接続を遮断する。本段階は、表示領域350内に第1ゲームゾーンと関連してイベント処理対象の消滅によって第1ゾーンサーバとクライアント120の接続を解除する過程であって、以後、クライアント120は、ユーザキャラクタ360に対する命令処理のための第2ゾーンサーバのみの接続を維持する。
【0090】
続いて、判断の結果、表示領域350がバッファセクタを含まない場合、段階1055では、データ分散処理システム200が、第1ゾーンサーバに保有するキャラクタ情報を削除する。本段階は、ユーザキャラクタ360の位置が第2ゲームゾーンに変更され、表示領域350のマッピング地点が第2バッファセクタを離脱するようになる時点で、第1ゾーンサーバにあるキャラクタ情報を消去させる過程である。すなわち、キャラクタ情報の情報移管の際に、流失や歪曲に備えて第1ゾーンサーバに保有していたキャラクタ情報を削除し、キャラクタ情報に対する更新処理が第2ゾーンサーバで遂行されるようにする。本実施形態で、キャラクタ情報の削除は、表示領域350のマッピング地点が第1ゲームゾーンを離脱する時点を基準としているが、これは本発明の一実施形態に過ぎず、例えば、ユーザキャラクタ360の位置がゲームゾーン320を変更するようになる時点を基準とするなど、多様な基準設定方式があり得ることは勿論である。このようなキャラクタ情報の削除時点に対する基準方式は、システム環境を考慮した本システムの運営者によって柔軟に決められる。
【0091】
従って、本発明によると、ユーザキャラクタ360の移動によってクライアント120と接続されるゾーンサーバ112の変更が最適化されるようにして特定ゾーンサーバ112にデータ負荷が集中する現象を抑制すると同時に、キャラクタ情報の情報移管時の情報流失や歪曲を最小化するという効果を得ることができる。
【0092】
以下、本発明の他の実施形態として、ユーザキャラクタ360の移動による表示領域350の再マッピングに対して説明する。
【0093】
図11は、本発明による表示領域のマッピング地点を再設定する方法を示すフローチャートである。
【0094】
本実施形態は、上述した表示領域350が位置するゲームゾーン320を識別する段階530に含まれて遂行されることができる。また、移動制御線370は、上述した図4で点線で表示されている。
【0095】
まず、段階1110では、データ分散処理システム200が、表示領域350内にゲーム地図上におけるマッピング地点変更のための移動制御線370を確定する。本段階は、表示領域350のマッピング地点変更を認知するために一種の仮想線を区画する過程である。移動制御線370は、例えば、ユーザキャラクタ360の移動と、これによって柔軟なゲーム画面がクライアント120に提供されるようにする最適な範囲を考慮して、本システムの運営者によって柔軟に決められる。
【0096】
次に、段階1120では、データ分散処理システム200が、表示領域350におけるユーザキャラクタ360位置を識別する。本段階は、マッピングされる表示領域内でユーザキャラクタ360の位置を認知する過程であって、特に、段階1125では、ユーザキャラクタ360の位置が移動制御線370と一致するのかを判断するようになる。すなわち、ユーザキャラクタ360の移動が一定方向に持続することによってユーザキャラクタ360が移動制御線370に接近するようになり、所定時点で移動制御線370上にユーザキャラクタ360が位置するのかを識別するようになる。
【0097】
前記判断段階1125で、ユーザキャラクタ360の位置が移動制御線370と一致する場合、段階1130では、データ分散処理システム200が、ユーザキャラクタ360の進入方向に基づいて表示領域350をゲーム地図上で再マッピングする。すなわち、ゲーム画面の背景となる所定のゲーム地図データ310をユーザキャラクタ360の移動を考慮して再抽出し、抽出された地図をクライアント120に提供するようになる。
【0098】
一方、判断段階1125で、ユーザキャラクタ360の位置が移動制御線370と一致しない場合、データ分散処理システム200は、ゲーム画面に提供される地図を維持してユーザキャラクタ360に対する命令処理が遂行されるようにする。また、データ分散処理システム200は、所定周期(またはリアルタイム)ごとに前記判断段階1125が遂行されるようにし、ユーザキャラクタ360の位置に対する持続的な識別が成されるようにする。
【0099】
従って、本発明によると、ユーザキャラクタ360の移動による表示領域350の再マッピングが成されるようすることで、柔軟な画面転換が成されるようにすることができる。同時に、一定範囲内におけるユーザキャラクタ360の移動を画面転換をしなくても可能になるように保障することで、不必要な画面転換を抑制してシステム資源を節約するという効果を得ることができる。
【0100】
本発明の実施形態は、コンピュータにより具現される多様な動作を実行するためのプログラム命令を含むコンピュータ読み取り可能な媒体を含む。前記媒体は、プログラム命令、データファイル、データ構造などを単独または組み合わせて含むこともできる。前記媒体およびプログラム命令は、本発明の目的のために特別に設計されて構成されたものでもよく、コンピュータソフトウェア分野の技術を有する当業者にとって公知であり使用可能なものであってもよい。コンピュータ読み取り可能な記録媒体の例としては、ハードディスク、フロッピー(登録商標)ディスクおよび磁気テープのような磁気媒体、CD−ROM、DVDのような光記録媒体、フロプティカルディスクのような磁気−光媒体、およびROM、RAM、フラッシュメモリなどのようなプログラム命令を保存して実行するように特別に構成されたハードウェア装置が含まれる。前記媒体は、プログラム命令、データ構造などを保存する信号を送信する搬送波を含む光または金属線、導波管などの送信媒体でもある。プログラム命令の例としては、コンパイラによって生成されるもののような機械語コードだけでなく、インタプリタなどを用いてコンピュータによって実行される高級言語コードを含む。
【0101】
図12は、本発明に係るデータ分散処理方法を実行するのに採用される汎用コンピュータの内部ブロック図である。
【0102】
コンピュータシステム1200は、主記憶装置(一般的には、random access memoryまたはRAM1220)および主記憶装置(一般的には、read only memoryまたはROM1230)を含む記憶装置と連結される一つ以上のプロセッサ1210(中央処理装置またはCPUとも呼ばれる)を含む。本技術分野において広く知られているように、ロム1230は、データおよび命令を単一方向にCPUに送信する役割をし、ラム1220は通常、データおよび命令を双方向的な方法で送信するのに用いられる。これら主記憶装置は、両方とも前記したコンピュータ読み取り可能な媒体のあらゆる好適な形態を含むことができる。大容量記憶装置(Mass Storage)1240は、双方向的にCPUに連結され、追加的なデータ保存能力を提供し、前記したコンピュータ読み取り可能な媒体のいずれかを含むことができる。大容量記憶装置1240は、プログラム、データなどを記憶するのに用いられ、通常、主記憶装置より速度が遅いハードディスク等の補助記憶装置である。CD−ROM1260などの特定の大容量記憶装置が単一方向にCPUにデータを送ることもある。プロセッサ1210は、ビデオモニタ、トラックボール、マウス、キーボード、マイクロフォン、タッチスクリーン型ディスプレイ、カード読み取り機、磁気または紙テープ読み取り機、音声または筆記認識機、ジョイスティック、または他のコンピュータなどの他の公知の入力装置のような一つ以上の入出力装置を含むインターフェイス1250と連結される。最後に、プロセッサ1210は、ネットワークインターフェイス1270に一般的に示されるようなネットワーク接続を用いてコンピュータまたは無線通信ネットワークに接続されてもよい。このようなネットワーク接続を介して、前記した方法の手順を実行することにより、CPUが前記ネットワークから情報の入力を受けたり、前記ネットワークに情報を出力したりすることが意図される。前記した装置および道具は、コンピュータハードウェアおよびソフトウェア技術分野の当業者にとって周知である。
【0103】
前記したハードウェア装置は、本発明の動作を実行するために一以上のソフトウェアモジュールとして作動するように構成される。
【0104】
上述したように、本発明の好ましい実施形態を参照して説明したが、該当の技術分野において熟練した当業者にとっては、特許請求の範囲に記載された本発明の思想および領域から逸脱しない範囲内で、本発明を多様に修正および変更させることができることを理解することができるであろう。
【0105】
すなわち、本発明の技術的範囲は、特許請求の範囲に基づいて定められ、発明を実施するための最良の形態により制限されるものではない。
【図面の簡単な説明】
【0106】
【図1】本発明に係るデータ分散処理システムの概略的な構成を説明するための図である。
【図2】本発明の好ましい実施形態に係るデータ分散処理システムを示す構成図である。
【図3】本発明によるゲーム地図データおよびゲーム地図データを区画して形成されるゲームゾーンを説明するための図である。
【図4】ユーザキャラクタの移動によるクライアントとゾーンサーバの接続状態を説明するための図である。
【図5】本発明の好ましい実施形態に係るデータ分散処理方法を具体的に示したフローチャートである。
【図6】本発明による表示領域のマッピング位置に基づいて接続されるゾーンサーバの変更方法を示すフローチャートである。
【図7】ゾーンサーバにおける処理種類が特定されるようにする方法を示すフローチャートである。
【図8】本発明によるキャラクタ情報の更新処理方法を示すフローチャートである。
【図9】キャラクタ情報に対する情報移管方法を示すフローチャートである。
【図10】第1ゾーンサーバとクライアントとの接続遮断の可否を判断する方法を示すフローチャートである。
【図11】本発明による表示領域のマッピング地点を再設定する方法を示すフローチャートである。
【図12】本発明に係るデータ分散処理方法を実行するために採用される汎用コンピュータ装置の内部ブロック図である。
【技術分野】
【0001】
本発明は、オンラインゲームサーバのデータ分散処理方法およびデータ分散処理システムに関し、より詳細には、隣接するゲームゾーン境界の所定部分をバッファセクタとして定義し、表示領域が前記バッファセクタを含む状態によってクライアントと接続するゾーンサーバが柔軟に制御されるようにするデータ分散処理方法およびデータ分散処理システムに関する。
【背景技術】
【0002】
一般的なオンラインゲーム環境において、広範囲なゲーム領域を一つのゲームサーバで信号処理するには、システム能力や信号処理の効率面において多くの問題点が生じるようになる。このような問題点を解消しようと、多様なデータ分散方式が登場してサービス運営を成している。
【0003】
従来に紹介されたデータ分散方式の代表的なものとして、ゲーム領域を一定基準に従ってゾーン(Zone)に区分し、区分されたゾーンに専用ゲームサーバが割り当てられるようにしてデータ分散が誘導されるようにする方式を例として挙げることができる。
【0004】
このようなゾーンの区分および専用ゲームサーバを用いたデータ分散処理において、クライアントのキャラクタがゲーム進行中に現在のゾーンから他のゾーンに移動する場合、次に接続する専用ゲームサーバの接続時期または接続状態が重要な要素となっている。これは、クライアントの専用ゲームサーバの接続時期または接続状態によってデータ分散処理の効率性に明らかな差が生じる恐れがあるためである。
【0005】
現在、提示されている専用ゲームサーバの接続時期または接続状態を考慮したデータ分散方式について次のように簡略に説明する。
【0006】
まず、クライアントと専用ゲームサーバとの間にセッションサーバ(Session Server)を備えるデータ分散方式がある。該データ分散方式は、セッションサーバを経由してクライアントに専用ゲームサーバのデータが送信されるようにする構成であって、専用ゲームサーバで生成されたデータはセッションサーバに一時記録され、これをクライアントが受信するようになる。これに従い、クライアントに提供されるゾーンが2つ以上である場合、セッションサーバは各ゾーンと関連する専用ゲームサーバに所定のデータを要請してこれを受信し、そのデータをクライアントに伝達する。このようなデータ分散方式は、必要とするゾーンと関連したデータが常にセッションサーバを経由しなければならないため、データ処理による負荷がセッションサーバに集中する恐れがあるという短所を有する。
【0007】
また、セッションサーバを用いず、クライアントのキャラクタがゾーン境界に接近する際に生成される隣接ゾーン関連データを現在キャラクタが位置するゾーンの専用ゲームサーバから受信してクライアントに提供されるようにするデータ分散方式がある。例えば、クライアントのキャラクタがゾーンAにいながら隣接ゾーンであるゾーンBも見ている場合、クライアントは専用ゲームサーバAと接続するようになり、専用ゲームサーバBがゾーンBで起きるイベントに関するデータを専用ゲームサーバAに伝達し、専用ゲームサーバAでゲームゾーンA、ゲームゾーンBの両データを総合してクライアントに伝達するようになる。
【0008】
しかし、このようなデータ分散方式は、専用ゲームサーバ間で通信負荷が急増するという問題点を抱いている。また、キャラクタがゾーンAからゾーンBに移動する場合、クライアントがゾーンAとの接続を遮断してゾーンBとの接続を設定しなければならないため、接続による時差が生じる恐れがある。クライアントの立場においては、ゾーンの移動によって一定時間をローディングすることでゲーム進行が可能であるという制約があり、ゲームの集中度が低下する恐れがあるという憂慮を内在するようになる。
【0009】
従って、特定の専用ゲームサーバにデータの負荷が集中することを防止することで効果的なデータ分散処理が遂行されるようにする新しい概念のデータ分散処理モデルの登場が切に求められている。同時に、隣接するゲームゾーン境界の所定範囲をバッファセクタとして定義し、表示領域がバッファセクタを含む場合、次のゾーンサーバをクライアントに接続させることで通信負荷を著しく減少させることができるデータ分散処理モデルが更に求められている。
【発明の開示】
【発明が解決しようとする課題】
【0010】
本発明は、前記のような問題点を解決するために案出されたものであって、ゲームゾーン境界を基準とした所定範囲をバッファセクタとして定義し、表示領域にバッファセクタの一部領域が含まれることによってユーザキャラクタが次に移動するゲームゾーンのゾーンサーバをクライアントに接続させるオンラインゲームサーバのデータ分散処理方法およびデータ分散処理システムを提供することを目的とする。
【0011】
また、本発明は、表示領域が異種のゲームゾーン上に位置することを確認し、関連するゾーンサーバをクライアントに接続させることでデータの負荷が特定ゾーンサーバに集中することを抑制することができるオンラインゲームサーバのデータ分散処理方法およびデータ分散処理システムを提供することを目的とする。
【0012】
また、本発明は、表示領域内のユーザキャラクタがゲームゾーンを変更して位置する時点で、キャラクタ情報に対する情報移管が遂行されるようにするオンラインゲームサーバのデータ分散処理方法およびデータ分散処理システムを提供することを他の目的とする。
【0013】
また、本発明は、ユーザキャラクタの位置によるキャラクタ情報に対する更新処理および情報移管が柔軟に成されることでキャラクタ情報の流失や歪曲を最大限抑制するオンラインゲームサーバのデータ分散処理方法およびデータ分散処理システムを提供することを他の目的とする。
【課題を解決するための手段】
【0014】
前記の目的を達成するために、本発明の一実施形態に係るオンラインゲームサーバのデータ分散処理方法は、一つ以上のゲームゾーンに区画されるゲーム地図データを保存するためのゾーン情報データベースを維持する段階と、ユーザキャラクタに対する命令処理を遂行するためのゾーンサーバを前記ゲームゾーンそれぞれに割り当てる段階と、所定のディスプレイ手段に表示される表示領域を前記ゲーム地図データにマッピングし、前記マッピングされた表示領域が位置するゲームゾーンを識別する段階と、前記識別されたゲームゾーンに割り当てられるゾーンサーバと所定のクライアントを接続させる段階と、を含み、前記識別されたゲームゾーンに割り当てられるゾーンサーバと所定のクライアントを接続させる前記段階は、所定ユーザキャラクタが位置する第1ゲームゾーンの第1ゾーンサーバと前記クライアントを接続させる段階と、第2ゲームゾーンとの境界を基準として前記第1ゲームゾーンの一部をバッファセクタとして定義する段階と、前記表示領域が前記バッファセクタの少なくとも一部を含む場合、前記第2ゾーンサーバと前記クライアントを接続させる段階と、を含む。
【0015】
また、前記目的を達成するための技術的構成として、オンラインゲームサーバのデータ分散処理システムは、一つ以上のゲームゾーンに区画されるゲーム地図データを保存するためのゾーン情報データベースと、ユーザキャラクタに対する命令処理を遂行するためのゾーンサーバを前記ゲームゾーンそれぞれに割り当てるゾーンサーバ管理手段と、隣接するゲームゾーンとの境界を基準として前記ゲームゾーンの一部をバッファセクタとして定義するバッファセクタ定義手段と、所定のディスプレイ手段に表示される表示領域を前記ゲーム地図データにマッピングし、前記表示領域が位置するゲームゾーンを識別する表示領域マッピング手段と、前記識別されたゲームゾーンに割り当てられるゾーンサーバと所定のクライアントを接続させるゲーム作動制御手段と、を含み、ゲーム作動制御手段は、前記表示領域の少なくとも一部が前記バッファセクタに位置する場合、前記隣接する一つ以上のゲームゾーンと関連する前記ゾーンサーバを前記クライアントに接続するように制御することを特徴とする。
【発明の効果】
【0016】
以上の説明から知ることができるように、本発明によると、ゲームゾーンの境界を基準とした所定範囲をバッファセクタとして定義し、表示領域にバッファセクタの一部領域が含まれることよってユーザキャラクタが次に移動するゲームゾーンのゾーンサーバをクライアントに接続させるオンラインゲームサーバのデータ分散処理方法およびデータ分散処理システムが提供される。
【0017】
また、本発明によると、表示領域が異種のゲームゾーン上に位置することを確認し、関連するゾーンサーバをクライアントに接続させることでデータの負荷が特定ゾーンサーバに集中することを抑制することができるオンラインゲームサーバのデータ分散処理方法およびデータ分散処理システムが提供される。
【0018】
また、本発明によると、表示領域内のユーザキャラクタがゲームゾーンを変更して位置する時点でキャラクタ情報に対する情報移管が遂行されるようにするオンラインゲームサーバのデータ分散処理方法およびデータ分散処理システムが提供される。
【0019】
また、本発明によると、ユーザキャラクタの位置によるキャラクタ情報に対する更新処理および情報移管が柔軟に成されるようにすることで、キャラクタ情報の流失や歪曲を最大限抑制するオンラインゲームサーバのデータ分散処理方法およびデータ分散処理システムが提供される。
【発明を実施するための最良の形態】
【0020】
以下、添付の図面を参照して、データ分散処理方法およびデータ分散処理システムに対して説明する。
【0021】
本明細書で持続的に用いられるゲームゾーンとは、ゲーム進行の背景となるゲーム地図データを所定基準によって区画した一地域を意味し、ゲームゾーンそれぞれには、該当地域で生じる命令処理が限定して遂行されるように個別ゲームサーバ(以下、ゾーンサーバとする)が割り当てられる。このようなゲームゾーンは、大規模な範囲のゲーム地図領域を一つのゲームサーバで担当するにはシステム的に無理があるという判断に起因するものであり、区画されるゲームゾーンの領域範囲は、割り当てられるゾーンサーバのシステム能力などを考慮した上で、本システムの運営者が柔軟に設定することができる。また、ゾーンサーバとは、担当するゲームゾーンに対する命令処理を遂行するゲームサーバを指称し、ゲームの進行によるユーザキャラクタのキャラクタ情報(例えば、能力値、保有アイテムなど)を更新させる役割をする。
【0022】
図1は、本発明に係るデータ分散処理システムの概略的な構成を説明するための図である。
【0023】
データ分散処理システム100は、所定の地域に区画されるゲームゾーン114単位でデータが処理されるように制御することで、オンラインゲームサービスにおける命令処理を分散させる役割をする。
【0024】
まず、オンラインゲームサーバ110は、本発明のデータ分散処理システム100を介してクライアント120の所定端末手段(未図示)と連結し、所定の契約関係にあるクライアント120にオンラインでゲームサービスが提供されるようにする役割をし、例えば、マッド(MUD;Multiple User Dialogue)ゲームサーバ、マグ(MUG;Multiple User Graphic)ゲームサーバなどを意味する。オンラインゲームサーバ110から提供するゲームサービスは、端末手段にゲームと関連するプログラムを設置したクライアント120がオンラインゲームサーバ110に接続する場合、ゲームに必要な所定のゲーム進行データまたはゲームパッチを端末手段に送信させ、クライアント120によって制御されるユーザキャラクタを用いてゲーム進行が成されるように支援する。また、オンラインゲームサーバ110は、ゲーム進行に必要なゲーム地図データを所定領域の範囲(サイズ)に区画してゲームゾーン114として形成させ、形成された各ゲームゾーン114にゾーンサーバ112が割り当てられるようにする。例えば、図1では、ゲーム地図データを4つのゲームゾーン(ゲームゾーンA〜ゲームゾーンD)に区分して、各ゲームゾーンに割り当てられる4つのゾーンサーバ(ゾーンサーバA〜ゾーンサーバD)を例示している。上述したように、ゲームゾーン114は、本システムの運営者によって領域サイズおよび数などが設定され、オンラインゲームにおける命令処理がゲームゾーン114単位で限定されてデータ分散処理が遂行されるようにする。
【0025】
ここで、命令処理とは、クライアント120から受信される命令信号によって特定ユーザキャラクタの操作を介したゲーム進行が成されるようにする信号処理を意味する。例えば、ゲームゾーン114で生じる命令処理としては、クライアント120の制御操作によってユーザキャラクタを移動させたり、モンスターに攻撃を加えたりするなどのユーザキャラクタの操作制御に関連する処理、該当ゲームゾーン114に登場する背景物(木、建物、水など)やその他のキャラクタ(モンスター、他のユーザキャラクタ、NPCなど)がユーザキャラクタの移動によって変更されて表示されるようにする処理などがあり得る。
【0026】
クライアント120は、通信網130との接続のための端末手段を保有しており、所定のゲームサービス提供の契約関係にあるオンラインゲームサーバ110からゲーム進行のためのゲームデータまたはゲームパッチを受信することでオンラインゲームサービスの提供を受けるインターネットユーザを意味する。端末手段とは、インターネット網、電話線などの通信網130を介してオンラインゲームサーバ110との接続状態を維持しながらオンラインゲームを具現するする装置であって、例えば、パーソナルコンピュータ、ハンドヘルドコンピュータ(handheld computer)、PDA(Personal Digital Assistant)、携帯電話、スマートフォンなどのように所定のメモリ手段を備えて所定のマイクロプロセッサを搭載することで所定の演算能力を備えた端末機を通称する。
【0027】
データ分散処理システム100は、ユーザキャラクタの移動によって端末手段上に表示されるゲームゾーン114の領域を識別し、識別されたゲームゾーン114に割り当てられるゾーンサーバ112がクライアント120に接続されるように制御する役割をする。このようなゾーンサーバ112に対する接続制御は、特定ゾーンサーバ112にデータ負荷が加重されないように考慮して具現されている。以下、図2を参照して、本発明のデータ分散処理システム200の具体的な構成を説明する。
【0028】
図2は、本発明の好ましい実施形態に係るデータ分散処理システムを示す構成図である。
【0029】
本発明のデータ分散処理システム200は、ゾーン情報データベース210と、ゾーンサーバ管理手段220と、バッファセクタ定義手段230と、表示領域マッピング手段240と、ゲーム作動制御手段250と、キャラクタ位置確認手段260と、キャラクタ情報データベース270と、を含む。
【0030】
まず、ゾーン情報データベース210は、一つ以上のゲームゾーン114に区画されるゲーム地図データを保存するための装置であり、所定オンラインゲームで用いられる地図に対する情報を保存する役割をする。すなわち、ゾーン情報データベース210は、ゲーム進行に必要な全体地図を保有しており、後述されるゲーム作動制御手段250によって特定地域に対する地図抽出要求が生じる場合、該当領域のゲーム地図データを抽出して提供されるようにする。ゲームゾーン114の区画は、本システムの運営者によって各ゲームゾーン114に割り当てられるゾーンサーバ112の能力または数を考慮して設定することができる。以下、図3を参照して、ゲーム地図データ310を区画するゲームゾーン320について説明する。
【0031】
図3は、本発明によるゲーム地図データおよび、ゲーム地図データを区画して形成されるゲームゾーンを説明するための図である。
【0032】
図3に示したように、ゲーム地図データ310は多数のセクタ330から構成されており、一つのゲームゾーン320は所定数のセクタ330を群集して形成する。図3では、6×6セクタを有するゲーム地図データ310を例示しており、区画されている3つのゲームゾーン320、すなわち、ゲームゾーンAとゲームゾーンBは3×4セクタ、ゲームゾーンCは6×2セクタを保有している。各セクタ330は、該当領域においてゲームキャラクタ(ユーザキャラクタ、NPCなど)、アイテム(武器、ポーションなど)、物体(山、道など)に対する制御管理、またはユーザキャラクタのゲーム進行によるキャラクタ情報に対する更新処理の基本単位となる。また、一部のセクタ330は、隣接する他のゲームゾーン320との境界から所定数(または幅)をバッファセクタとして定義することができ(図4参照)、定義されたバッファセクタに関する情報は、ゾーン情報データベース210に保存される。
【0033】
ゾーンサーバ管理手段220は、区画されたゲームゾーン320それぞれに命令処理を遂行するためのゾーンサーバ112を割り当てる装置であって、特に、ゲームゾーン320として限定される範囲領域で生じる命令処理を特定ゾーンサーバ112で専用で処理されるようにすることで、データ分散を介したデータ負荷の集中現象を抑制することができる。例えば、図3では、ゲームゾーン320が3つに区画されることによって、各ゲームゾーン320に割り当てられるゾーンサーバ112も3つ以上が具備されなければならない。このとき、ゲームゾーン320に対するゾーンサーバ112の割り当ては、ゲームゾーン320が保有したセクタ330の数に基づき、多数のセクタ330を保有するゲームゾーン320には優れた能力のゾーンサーバ112が、反対に、少数のセクタ330を保有したゲームゾーン320には比較的優秀さに欠ける能力のゾーンサーバ112が割り当てられるようにする。これは、命令処理を遂行する領域範囲に比例して最適な能力のゾーンサーバ112が割り当てられるようにするためである。例えば、図3では、各ゲームゾーン320が同一数のセクタ330を保有することによって類似した能力のゾーンサーバ112が割り当てられるようにする。本実施形態では、区画されたゲームゾーン320に含まれるセクタ330の数を考慮してゾーンサーバ112が割り当てられるようにすることを例示しているが、これは説明の便宜のためであり、例えば、ゾーンサーバ112の能力を考慮して各ゾーンサーバ112ごとに適合したセクタ330の数を設定し、設定されたセクタ330の数に適合するようにゲームゾーン320が区画されるようにするなど、多様な区画方式があり得ることは勿論である。
【0034】
バッファセクタ定義手段230は、隣接するゲームゾーン320との境界を基準としてゲームゾーン320の一部をバッファセクタとして定義する装置であり、定義されるバッファセクタの領域範囲は、例えば、ゲーム進行速度による表示領域のマッピング変更速度、または接続変更されるゾーンサーバ112とクライアント120の接続ローディング時間を考慮して設定したりする。すなわち、ゲーム進行速度が速かったり接続ローディング時間が遅延する場合、バッファセクタとして定義される領域を広くして安定したゾーンサーバ112の接続変更が成されるようにする。特に、ゲーム地図データ310が多数のセクタ330から構成される本実施形態に限定して、バッファセクタ定義手段230は、他のゲームゾーン320との境界に隣接するセクタ330をバッファセクタとして定義することができる。また、バッファセクタ定義手段230は、所定数のセクタ330をバッファセクタとして定義するのかによってバッファセクタの領域範囲を決めることができる(例えば、図4では、セクタ330の1つの幅をバッファセクタの領域として決めている)。ここで、バッファセクタとは、ゲーム進行によってユーザキャラクタが移動しながら位置するゲームゾーン320の変化が生じる場合、クライアント120と接続されるゾーンサーバ112の変更を予め本発明のデータ分散処理システム200によって認知されるようにする機能を保有したセクタを指称する。本実施形態では、クライアント120のディスプレイ手段(未図示)にゲーム画面として提供される表示領域のマッピング位置と前記バッファセクタとを比較し、その相関関係によってクライアント120と接続されるゾーンサーバ112を調整するようになる。すなわち、マッピングされる表示領域が前記定義されたバッファセクタの少なくとも一部を含む場合、隣接したゲームゾーン320のゾーンサーバ112をクライアント120に接続させる。
【0035】
表示領域マッピング手段240は、クライアント120のディスプレイ手段に表示される表示領域をゲーム地図データ310上にマッピングし、前記表示領域が位置するゲームゾーン320を識別する装置である。すなわち、表示領域マッピング手段240は、クライアント120に提供される地図をゲーム地図データ310から抽出することができるようにゲーム地図データ310上に位置表示が成されるようにする役割をする。このため、ゲーム地図データ310には所定の仮想座標の設定が可能であり、前記仮想座標を介して表示領域の位置がゲーム地図データ310上にマッピングされるようにする。本実施形態では、ゲーム地図データ310が多数の独立的なセクタ330から構成されており、ゲーム地図データ310内におけるセクタ330位置としてマッピングされる表示領域の位置を決めることができる。このとき、表示領域のサイズは、セクタ330の広さの定倍数になるように制御することができ、これによって表示領域内にセクタ120が完全に含まれるようにし、セクタ330単位で遂行される命令処理が安定に成されるようにする。
【0036】
ゲーム作動制御手段250は、識別されたゲームゾーン320に割り当てられるゾーンサーバ112とクライアント120を接続させるための装置であって、ゲーム地図データ310上でマッピングされる表示領域およびユーザキャラクタの位置を識別し、所定条件によって選択的に特定ゾーンサーバ112とクライアント120を接続させたり、またはキャラクタ情報に対する情報移管(Hand off)が遂行されるようにする。データ分散処理において、ゲームゾーン320別に命令処理を分担するゾーンサーバ112をクライアント120に接続させる時点が重要であり、本実施形態では、上述したバッファセクタを用いて特定ゾーンサーバ112に対する接続時点を判断するようになる。以下、図4を参照して、クライアント120とゾーンサーバ112の接続状態を多様な事例を例示しながら説明する。
【0037】
図4は、本発明のユーザキャラクタの移動によるクライアントとゾーンサーバの接続状態を説明するための図である。
【0038】
図4で、ユーザキャラクタ360がゲームゾーンA(ゾーンサーバA割り当て)からゲームゾーンB(ゾーンサーバB割り当て)に移動しながらゲームが進行されていると仮定する。また、バッファセクタ340、345は、ゲームゾーンAとゲームゾーンBの境界に隣接するセクタ330の列として定義し、表示領域350のサイズは、セクタ330の広さの4倍数になるように仮定する。
【0039】
まず、画面1で、表示領域350は、第1バッファセクタ340ではないゲームゾーンAの所定セクタ330でのみマッピングが成され、これによって、クライアント120は、ゾーンサーバAと接続して命令処理を遂行するようになる。すなわち、画面1では、クライアント120とゾーンサーバAが接続された状態であり、ゾーンサーバAによる命令処理によって変更されるキャラクタ情報はゾーンサーバAに保有される。
【0040】
ゲーム中、ユーザキャラクタ360の移動が進行し、画面2のように表示領域350の一部がゲームゾーンAの第1バッファセクタ340上にマッピングされる場合、ゲーム作動制御手段250は、ユーザキャラクタ360が次に位置すると予想されるゲームゾーンBのゾーンサーバBがクライアント120に接続されるようにする。このとき、ゾーンサーバAは、クライアント120と接続維持される。特に、ゲーム作動制御手段250は、表示領域350の第1バッファセクタ340への進入を確認し、表示領域350のマッピング方向に基づいて次に接続可能なゾーンサーバ112に対するネットワークアドレス(URL、IP address、domainなど:図4では、ゾーンサーバBのネットワークアドレス)をクライアント120の端末手段に提供してゾーンサーバBとの接続が成されるようにする。このようなネットワークアドレスに対する情報はセクタ330から供給可能であり、セクタ330は表示領域350のマッピングが成されることによって既に設定されて保存していた特定ゾーンサーバのネットワークアドレスに関する情報をゲーム作動制御手段250に供給する。但し、画面2で、ユーザキャラクタ360は、ゲームゾーンAに位置しており、ゾーンサーバAによる命令処理が維持されるようにする。すなわち、画面2では、クライアント120とゾーンサーバAおよびゾーンサーバBが同時に接続されている状態であり、表示領域350でゲームゾーンAに該当する地域はゾーンサーバAによって表示されるようにし、ユーザキャラクタ360の移動によって次の表示領域350に含まれるゲームゾーンBに該当する地域はゾーンサーバBによって表示されるようにする。このとき、ゾーンサーバAは、上述した命令処理が持続的に遂行されるように維持し、ゾーンサーバBは、イベント処理(ゾーンサーバBの命令処理によって遂行される他のキャラクタの動きなどがディスプレイ手段に具現されるようにする処理)が遂行されるようにする。キャラクタ情報は、ユーザキャラクタの位置によってゾーンサーバAに保有される。
【0041】
画面3は、ユーザキャラクタ360がゲームゾーンAからゲームゾーンBに移動する場合を示しており、マッピングされる表示領域350は、ゲームゾーンBの第2バッファセクタ345を一部含んでいる場合である。これによって、ゾーンサーバAとゾーンサーバBの処理種類が相互交換され、ゾーンサーバAではイベント処理が、ゾーンサーバBでは命令処理が遂行される。また、ユーザキャラクタ360のゲームゾーン320の変更によってキャラクタ情報に対する情報移管が生じ、既存のゾーンサーバAで保有していたユーザキャラクタ360のキャラクタ情報を複製してゾーンサーバBに送信されるようにする。但し、ゾーンサーバAで保有するキャラクタ情報は、所定条件が満たされるまで削除せずに保有されるようにすることで、情報移管によって生じる恐れのあるキャラクタ情報の流失や送信エラーによるキャラクタ情報変更に備えるようにする。
【0042】
画面4は、ユーザキャラクタ360の移動がより進展して表示領域350のマッチング地点が第2バッファセクタ345を離脱するようになり、第2バッファセクタ345ではないゲームゾーンBのセクタ330でのみ表示領域350のマッピングが成される場合を示す。これによって、ゲーム動作制御手段250は、ゾーンサーバAとクライアント120との接続を遮断するようになると同時に、ゾーンサーバAに保有していたキャラクタ情報に対する削除処理が遂行されるようにする。
【0043】
これによって、バッファセクタ340、345上に表示領域のマッピングが成される場合に限って、各ゲームゾーン320に関連するゾーンサーバ112がクライアント120に接続されるように制御することで、有機的な情報移管の実現およびデータ分散処理に効率的なゾーンサーバ接続変更が成されるようにすることができる。
【0044】
また、図4で、表示領域350に含まれる移動制御線370は、表示領域350に対するマッピング変更が成されるようにするためのものであって、ユーザキャラクタ360の位置が移動制御線370と一致する場合、ユーザキャラクタ360の進入(移動)方向に基づいて表示領域に対するマッピング作業が再遂行されるようにする。これによって、ユーザキャラクタ360の移動による表示領域350のマッピングの再遂行が可能になると同時に、ユーザキャラクタ360が位置するゲームゾーン320の変更によってゾーンサーバ112に対する接続変更制御が可能となってデータ分散効果を極大化することができる。
【0045】
図4で、表示領域350に対するマッピングは、セクタ330を完全に含むようにする方式で説明しているが、ゲーム画面転換の柔軟性を考慮して、特定セクタ330の一部のみが表示領域350に含まれるようにすることが可能であるということは、本発明が属する技術分野の当業者にとって当然なことであろう。
【0046】
キャラクタ位置確認手段260は、ゲーム進行中にユーザキャラクタ360が位置する地図(またはステージ)を確認してキャラクタ位置情報を生成するための装置であって、生成されたキャラクタ位置情報は、表示領域350のマッピング位置を設定するのに基準資料として用いられる。すなわち、キャラクタ位置確認手段260は、クライアント120に提供されるオンラインゲームにおけるキャラクタ位置を認知し、表示領域マッピング手段240による表示領域350のマッピング位置が選定されるように支援する。
【0047】
キャラクタ情報データベース270は、ゲーム進行によって変更されるキャラクタ情報を更新保存するための装置であって、更新処理の権限を有するゾーンサーバ112から更新処理されるキャラクタ情報を記録維持するようになる。本実施形態におけるキャラクタ情報管理は、前記キャラクタ情報データベース270で主に管理されるが、クライアント120の接続によるゲーム進行中には、命令処理を遂行するゾーンサーバ112からキャラクタ情報に対して管理が成されるようにすることがある。すなわち、キャラクタ情報データベース270に保存されたキャラクタ情報は、更新処理の権限が付与されたゾーンサーバ112に複製/送信され、送信されたキャラクタ情報に対する更新処理がゾーンサーバ112によって遂行されるようにする。ゾーンサーバ112で更新されたキャラクタ情報は、更新処理の権限の変更によって他のゲームゾーン320(またはキャラクタ情報データベース270)に情報移管されたり、またはクライアント120のゲーム接続終了信号によってキャラクタ情報データベース270に送信されたりする。
【0048】
図2には示されていないが、本発明の好ましい一実施形態に係るデータ分散処理システム200は、上述したデータベース210、270を管理するためのデータベース管理モジュールを更に含むことがある。本発明に係るデータ分散処理システム200のデータベース管理モジュールは、オラクル(Oracle)、インフォミックス(Infomix)、サイベース(Sybase)、DB2のようなリレーショナルデータベース管理システム(RDBMS)や、ゲムストン(Gemston)、オリオン(Orion)、O2などのようなオブジェクト指向データベース管理システム(OODBMS)を用いて本発明の目的に適合するように具現可能である。
【0049】
このような構成を有する本発明に係るデータ分散処理システム200の流れを詳しく説明する。
【0050】
図5は、本発明の好ましい実施形態に係るデータ分散処理方法を具体的に示したフローチャートである。
【0051】
本実施形態に係るデータ分散処理方法は、上述したデータ分散処理システム200によって遂行される。
【0052】
まず、段階510では、データ分散処理システム200が、一つ以上のゲームゾーン320に区画されるゲーム地図データ310を保存するためのゾーン情報データベース210を維持する。本段階は、ゲーム地図データ310を構成するゲームゾーン320に対する情報を記録維持するための過程であって、ゲーム進行が成される全体の地図を保存するようになる(図3参照)。
【0053】
次に、段階520では、データ分散処理システム200が、ゲームゾーン320それぞれにユーザキャラクタ360に対する命令処理を遂行するためのゾーンサーバ112を割り当てる。本段階は、特定領域別に担当ゾーンサーバ112を関連させることで物理的なデータ分散効果が生じるようにするための過程であって、ゲームゾーン320に対するゾーンサーバ112の割り当ては、ゾーンサーバ112のデータ処理能力またはゲームゾーン320のサイズ(保有セクタ330の数)を考慮して、最適なデータ分散効果が生じるように連関されるようにする。
【0054】
また、段階530では、データ分散処理システム200が、所定のディスプレイ手段に表示される表示領域350をゲーム地図データ310上にマッピングし、表示領域350が位置するゲームゾーン320を識別する。本段階は、ゲーム上におけるユーザキャラクタ360の位置をゲーム地図データ310で確認し、ユーザキャラクタ360を含む所定領域を抽出してディスプレイ手段上に表示されるようにする過程である。
【0055】
続いて、段階540では、データ分散処理システム200が、識別されたゲームゾーン320に割り当てられるゾーンサーバ112とクライアント120を接続させる。本段階は、ユーザキャラクタ360に対するクライアント120の操作制御命令を処理するゾーンサーバ112を決め、決められたゾーンサーバ112がクライアント120と接続されるようにする過程である。特に、本段階は、表示領域350のマッピング地点によって接続されるゾーンサーバ112の数を柔軟に調整することができる。このようなゾーンサーバ112の接続柔軟性を保障するために、本発明においては、ゲームゾーン320の所定領域範囲をバッファセクタとして定義するようになる。以下、図6を参照して、表示領域350のマッピング位置によってクライアント120に接続されるゾーンサーバ112の変化に対して説明する。
【0056】
図6は、本発明に係る表示領域のマッピング位置に基づいて接続されるゾーンサーバの変更方法を示すフローチャートである。
【0057】
ここで、記述されている第1ゲームゾーンとは、ユーザキャラクタ360が現在位置するゲームゾーン320を指称しており(例、図4におけるゲームゾーンA)、第2ゲームゾーンとは、ユーザキャラクタ360が移動しようとする次に位置するゲームゾーン320を指称する(例、図4におけるゲームゾーンB)。
【0058】
まず、段階610では、データ分散処理システム200が、ユーザキャラクタ360が位置する第1ゲームゾーンに割り当てられる第1ゾーンサーバとクライアント120を接続させる。本段階は、クライアント120から受信される操作制御命令を処理する第1ゾーンサーバ112の接続過程であって、このとき、クライアント120と接続する第1ゾーンサーバは、ユーザキャラクタ360に対する命令処理を遂行するようになる。
【0059】
次に、段階620では、データ分散処理システム200が、第2ゲームゾーンとの境界を基準として第1ゲームゾーンの一部をバッファセクタとして定義する。本段階は、ユーザキャラクタ360の移動によって第1ゲームゾーンと第2ゲームゾーンの境界をデータ分散処理システム200によって認知されるようにする過程である。例えば、バッファセクタ定義手段230によってセクタ330をバッファセクタとして定義したり、ゲームゾーン320の境界から所定領域(幅)範囲をバッファセクタとして定義したりする。本実施形態では、説明の統一のためにゲームゾーン320が所定数のセクタ330から構成されることを考慮して、特定セクタ330がバッファセクタとして定義されるものと限定して説明する。
【0060】
続いて、段階630では、データ分散処理システム200が、表示領域350がバッファセクタの少なくとも一部を含むのかを判断する。本段階は、ユーザキャラクタ360の移動によってマッピングされる表示領域350のマッピング地点が前記バッファセクタとして定義した範囲(幅)と重なる部分があるのかを判断する過程である。例えば、ゲーム作動制御手段250によって所定の仮想座標で特定されるバッファセクタと表示領域350とが一致するかを確認するようになる。
【0061】
前記判断段階で、表示領域350がバッファセクタの一部領域を含むものと判断される場合(段階630でYes方向)、段階640では、データ分散処理システム200が、第2ゲームゾーンに割り当てられた第2ゾーンサーバのネットワークアドレスをクライアント120に送信する。本段階は、ユーザキャラクタ360の移動によって、近時間以内にユーザキャラクタ360が位置するゲームゾーン320の変更を予告するための過程である。例えば、表示領域350のマッピング進行方向(ユーザキャラクタ360の移動進入方向)を考慮して、表示領域350の次にマッピングが可能なゲームゾーン320をあらかじめ認知するようになる。このとき、次にマッピングが可能なゲームゾーン320は一つ以上であり、ゲームゾーン320に割り当てられるゾーンサーバ112のネットワークアドレスとしては、IPアドレス、URL、ドメイン(Domain)などがあり得る。
【0062】
また、段階650では、データ分散処理システム200が、送信されたネットワークアドレスに基づいて第2ゾーンサーバとクライアント120を接続させる。本段階は、表示領域350の一部がバッファセクタに進入することによって、既に送信されたネットワークアドレスに基づいてクライアント120と第2ゾーンサーバが接続されるようにする過程である。すなわち、本段階は、クライアント120に提供されるゲーム画面のうち、近時間以内に第2ゲームゾーンと関連するゲーム画面提供の必要性に起因したものであって、ユーザキャラクタ360がゲームゾーン境界に接近することによって関連するゾーンサーバ112すべてをクライアント120に接続する。これによって、クライアント120と接続するゾーンサーバ112は第1ゾーンサーバおよび第2ゾーンサーバとなり、表示領域350のマッピング地点がバッファセクタ上に位置する場合に限定して2つ以上のゾーンサーバ320が接続されるようにすることで、データ分散効果を効率的に発生させるようにするための本発明の目的が忠実に実行される。
【0063】
また、前記段階では、データ分散処理システム200が、表示領域350内のユーザキャラクタ360の位置によってクライアント120に接続するゾーンサーバ112が担当する処理種類を相違して制御することができ、これと関連した説明は図7で行う。
【0064】
図7は、本発明によるゾーンサーバにおける処理種類が特定されるようにする方法を示すフローチャートである。
【0065】
図7に示したように、段階752では、データ分散処理システム200が、命令処理を第1ゾーンサーバで担当するように制御する。本段階は、ユーザキャラクタ360が第1ゲームゾーンに位置することを考慮して、ユーザキャラクタ360に対する命令処理が第1ゾーンサーバによって遂行されるようにする過程である。
【0066】
また、段階754では、データ分散処理システム200が、表示領域350に表示される第2ゲームゾーンにおけるイベント処理を第2ゾーンサーバで担当されるように制御する。本段階は、第2ゾーンサーバによって命令処理されるその他のキャラクタ(他のユーザキャラクタ、NPC、モンスターなど)のゲーム進行状態が、ユーザキャラクタを第1ゲームゾーンに位置させるクライアント120に視覚化されて提供されるようにする過程であり、このようなイベント処理が第2ゾーンサーバによって遂行されるようにする。
【0067】
従って、ユーザキャラクタ360がゲームゾーン320の境界に接近して互いに相違したゾーンサーバ112からデータの受信を受ける必要が生じる場合に限定して、関連するゾーンサーバ112が同時にクライアント120に接続されるようにすることで、特定ゾーンサーバ112にデータが集中するという現象を防止する効果を得ることができる。
【0068】
但し、本実施形態では、ユーザキャラクタが第1ゲームゾーンと第2ゲームゾーンの境界を越えたのかに関して特別に限定していないが、もし、ユーザキャラクタがゲームゾーン境界を越えて第2ゲームゾーンに進入する際には、既存第2ゲームゾーンが第1ゲームになり、上述した各種実施形態に準じて第1ゾーンサーバまたは第2ゾーンサーバが担当する処理種類の変更が成されるということを容易に類推することができるであるだろう。
【0069】
以下、本発明の他の実施形態として、ゲーム進行によって変更されるキャラクタ情報に対する更新処理およびキャラクタ情報の情報移管に対して説明する。
【0070】
図8は、本発明によるキャラクタ情報の更新処理方法を示すフローチャートである。
【0071】
図8のキャラクタ情報に対する更新処理およびキャラクタ情報の情報移管は、図6の段階650に続いて遂行される。
【0072】
まず、段階810では、データ分散処理システム200が、ユーザキャラクタ360のキャラクタ情報を保存するためのキャラクタ情報データベース270を維持する。本段階は、ユーザキャラクタ360が保有する能力値、アイテム、技術などに関するキャラクタ情報を保存する過程であって、キャラクタ情報データベース270へのキャラクタ情報の保存は、各ゾーンサーバ112からリアルタイムで更新される情報の入力を受けて保存されるようにしたり、更新処理の権限が還元される時点でゾーンサーバ112から該当ユーザキャラクタ360のキャラクタ情報の入力を一度に受けて保存されるようにしたりする。本発明は、上述した2つの保存方式のいずれも適用可能である。以下の実施形態では、説明の便宜のために更新処理の権限の変更によってキャラクタ情報の保存が成されるようにする方式を例示して説明する。
【0073】
次に、段階820では、データ分散処理システム200が、キャラクタ情報データベース270からキャラクタ情報を複製して第1ゾーンサーバに提供する。本段階は、ユーザキャラクタ360が位置する第1ゲームゾーンの第1ゾーンサーバにキャラクタ情報を提供する過程である。例えば、クライアント120がゲームに最初に接続した際にキャラクタ情報に対する送信が成されたりする。
【0074】
また、段階830では、データ分散処理システム200が、提供されたキャラクタ情報に対する更新処理の権限を第1ゾーンサーバに付与する。本段階は、ユーザキャラクタ360のゲーム進行よって変更される各種数値または獲得したアイテム/技術などに関する更新処理が、ユーザキャラクタ360に対する命令処理を遂行する第1ゾーンサーバに付与されるようにする過程である。すなわち、ユーザキャラクタが位置するゲームゾーン320のゾーンサーバ112によってキャラクタ情報に対するアップデートが遂行されるようにする。
【0075】
続いて、段階840では、データ分散処理システム200が、第1ゾーンサーバの命令処理によってキャラクタ情報に対する更新処理を遂行する。本段階は、ユーザキャラクタに対する命令処理を介して生じるデータ変更事項がキャラクタ情報に反映されるようにする過程であって、これによって持続的かつ実時間的なキャラクタ情報に対するアップデートが可能となる。更新されたキャラクタ情報は、第1ゾーンサーバの所定記憶手段(未図示)に記録されるようになる。
【0076】
ゲーム進行中、ユーザキャラクタ360の移動によって、第1ゲームゾーンからユーザキャラクタ360が離脱する場合、段階850では、データ分散処理システム200が、付与された更新処理の権限が還元(retrieve)されるようにする。本段階は、ユーザキャラクタ360が位置するゲームゾーン320を変更する際に、既存第1ゲームゾーンに付与した更新処理の権限を還元し、ユーザキャラクタ360が移動したゲームゾーン320のゾーンサーバ112に該当ユーザキャラクタ360に対する更新処理の権限が付与されるようにする過程である。このとき、データ分散処理システム200は、上述した更新処理の権限以外に、更新されたキャラクタ情報をユーザキャラクタ360が移動したゲームゾーン320のゾーンサーバ320(またはキャラクタ情報データベース270)に情報移管するように制御することができる。
【0077】
従って、本発明によると、ユーザキャラクタ360の位置によるキャラクタ情報に対する更新処理および情報移管が柔軟に成されるようにすることで、キャラクタ情報の流失や歪曲を最大限抑制するという効果を得ることができる。
【0078】
以下、図9を参照して、ユーザキャラクタ360のゲームゾーン320の移動によるキャラクタ情報の情報移管に対して説明する。
【0079】
図9は、本発明によるキャラクタ情報に対する情報移管方法を示すフローチャートである。
【0080】
段階960では、データ分散処理システム200が、第1ゾーンサーバから更新処理されたキャラクタ情報を複製し、複製されたキャラクタ情報を第2ゾーンサーバに送信する。本段階は、ユーザキャラクタ360が第1ゲームゾーンを離脱して第2ゲームゾーンに進入する場合、キャラクタ情報に対する情報移管が遂行されるようにする過程である。例えば、ゲーム作動制御手段250によって更新されたキャラクタ情報を第1ゾーンサーバからコピーして第2ゾーンサーバに記録されるようにする。このとき、第1ゾーンサーバは、キャラクタ情報を記録維持することで生じる恐れがあるキャラクタ情報の流失または歪曲に備える。
【0081】
次に、段階970では、データ分散処理システム200が、第2ゾーンサーバに更新処理の権限を付与することで命令処理が第2ゾーンサーバで担当されるように制御する。本段階は、ユーザキャラクタ360に対する命令処理を第2ゾーンサーバで遂行するようにすることで、情報移管されたキャラクタ情報をゲーム進行によって更新されるようにする過程である。すなわち、ユーザキャラクタ360が第2ゲームゾーンに位置することによって、命令処理を遂行するゾーンサーバ112を変更するようになる。
【0082】
続いて、段階980では、データ分散処理システム200が、表示領域350に表示される第1ゲームゾーンにおけるイベント処理を第1ゾーンサーバで担当するように制御する。本段階は、既存の命令処理を遂行していた第1ゾーンサーバがイベント処理を遂行するように処理種類の転換が成されるようにする過程であって、表示領域350上の第1ゲームゾーンと関連する画面をクライアント120に提供するようになる(図4参照)。
【0083】
従って、ユーザキャラクタ360のゲームゾーン320の移動によるゾーンサーバ112間における柔軟な処理種類の転換が成されるようにすることで、ゲームゾーン320の境界間のデータ分散処理が効率的に成されるようにするという効果を得ることができる。
【0084】
本発明の他の実施形態として、上述した更新処理の権限が還元されるようにする段階850は、表示領域350のマッピング地点が第2ゲームゾーンに定義されるバッファセクタを離脱するのかによって第1ゾーンサーバとクライアント120との接続が遮断されるようにする。
【0085】
図10は、本発明による第1ゾーンサーバとクライアントとの接続遮断の可否を判断する方法を示すフローチャートである。
【0086】
まず、段階1051では、データ分散処理システム200が、第1ゲームゾーンとの境界を基準として第2ゲームゾーンの一部を第2バッファセクタとして定義する。本段階は、バッファセクタ定義手段230による第2ゲームゾーンの一部セクタ330をバッファセクタとして定義する過程である。この説明に関しては、上述したバッファセクタの定義過程(段階620)の説明と置き換えてここでは省略する。
【0087】
次に、段階1052では、データ分散処理システム200が、表示領域350が第2バッファセクタの少なくとも一部を含むのかを判断する。本段階は、ユーザキャラクタ360の第1ゲームゾーンの離脱後、表示領域350のマッピングが第2バッファセクタに形成されるのかを確認する過程である。すなわち、第2ゲームゾーンに位置したユーザキャラクタ360が第1ゲームゾーンとの境界にどの程度接近するのかを識別し、クライアント120に提供されるゲーム画面のうち、第1ゲームゾーンと関連したゲーム画面の提供必要性を確認するようになる。
【0088】
判断結果、表示領域350が第2バッファセクタの一部を含む場合(段階1052のYes方向)、段階1053では、データ分散処理システム200が、第1ゾーンサーバとクライアント120の接続を維持する。本段階は、第1ゾーンサーバによるイベント処理が可能となるように第1ゾーンサーバとの接続を持続させる過程であり、一定周期の経過後に前記段階1052に帰還するように制御し、表示領域350がバッファセクタの少なくとも一部を含むのかに関して持続的に判断されるようにする。
【0089】
一方、判断の結果、表示領域350が第2バッファセクタを含まない場合(段階1052のNo方向)、段階1054では、データ分散処理システム200が、第1ゾーンサーバとクライアント120との接続を遮断する。本段階は、表示領域350内に第1ゲームゾーンと関連してイベント処理対象の消滅によって第1ゾーンサーバとクライアント120の接続を解除する過程であって、以後、クライアント120は、ユーザキャラクタ360に対する命令処理のための第2ゾーンサーバのみの接続を維持する。
【0090】
続いて、判断の結果、表示領域350がバッファセクタを含まない場合、段階1055では、データ分散処理システム200が、第1ゾーンサーバに保有するキャラクタ情報を削除する。本段階は、ユーザキャラクタ360の位置が第2ゲームゾーンに変更され、表示領域350のマッピング地点が第2バッファセクタを離脱するようになる時点で、第1ゾーンサーバにあるキャラクタ情報を消去させる過程である。すなわち、キャラクタ情報の情報移管の際に、流失や歪曲に備えて第1ゾーンサーバに保有していたキャラクタ情報を削除し、キャラクタ情報に対する更新処理が第2ゾーンサーバで遂行されるようにする。本実施形態で、キャラクタ情報の削除は、表示領域350のマッピング地点が第1ゲームゾーンを離脱する時点を基準としているが、これは本発明の一実施形態に過ぎず、例えば、ユーザキャラクタ360の位置がゲームゾーン320を変更するようになる時点を基準とするなど、多様な基準設定方式があり得ることは勿論である。このようなキャラクタ情報の削除時点に対する基準方式は、システム環境を考慮した本システムの運営者によって柔軟に決められる。
【0091】
従って、本発明によると、ユーザキャラクタ360の移動によってクライアント120と接続されるゾーンサーバ112の変更が最適化されるようにして特定ゾーンサーバ112にデータ負荷が集中する現象を抑制すると同時に、キャラクタ情報の情報移管時の情報流失や歪曲を最小化するという効果を得ることができる。
【0092】
以下、本発明の他の実施形態として、ユーザキャラクタ360の移動による表示領域350の再マッピングに対して説明する。
【0093】
図11は、本発明による表示領域のマッピング地点を再設定する方法を示すフローチャートである。
【0094】
本実施形態は、上述した表示領域350が位置するゲームゾーン320を識別する段階530に含まれて遂行されることができる。また、移動制御線370は、上述した図4で点線で表示されている。
【0095】
まず、段階1110では、データ分散処理システム200が、表示領域350内にゲーム地図上におけるマッピング地点変更のための移動制御線370を確定する。本段階は、表示領域350のマッピング地点変更を認知するために一種の仮想線を区画する過程である。移動制御線370は、例えば、ユーザキャラクタ360の移動と、これによって柔軟なゲーム画面がクライアント120に提供されるようにする最適な範囲を考慮して、本システムの運営者によって柔軟に決められる。
【0096】
次に、段階1120では、データ分散処理システム200が、表示領域350におけるユーザキャラクタ360位置を識別する。本段階は、マッピングされる表示領域内でユーザキャラクタ360の位置を認知する過程であって、特に、段階1125では、ユーザキャラクタ360の位置が移動制御線370と一致するのかを判断するようになる。すなわち、ユーザキャラクタ360の移動が一定方向に持続することによってユーザキャラクタ360が移動制御線370に接近するようになり、所定時点で移動制御線370上にユーザキャラクタ360が位置するのかを識別するようになる。
【0097】
前記判断段階1125で、ユーザキャラクタ360の位置が移動制御線370と一致する場合、段階1130では、データ分散処理システム200が、ユーザキャラクタ360の進入方向に基づいて表示領域350をゲーム地図上で再マッピングする。すなわち、ゲーム画面の背景となる所定のゲーム地図データ310をユーザキャラクタ360の移動を考慮して再抽出し、抽出された地図をクライアント120に提供するようになる。
【0098】
一方、判断段階1125で、ユーザキャラクタ360の位置が移動制御線370と一致しない場合、データ分散処理システム200は、ゲーム画面に提供される地図を維持してユーザキャラクタ360に対する命令処理が遂行されるようにする。また、データ分散処理システム200は、所定周期(またはリアルタイム)ごとに前記判断段階1125が遂行されるようにし、ユーザキャラクタ360の位置に対する持続的な識別が成されるようにする。
【0099】
従って、本発明によると、ユーザキャラクタ360の移動による表示領域350の再マッピングが成されるようすることで、柔軟な画面転換が成されるようにすることができる。同時に、一定範囲内におけるユーザキャラクタ360の移動を画面転換をしなくても可能になるように保障することで、不必要な画面転換を抑制してシステム資源を節約するという効果を得ることができる。
【0100】
本発明の実施形態は、コンピュータにより具現される多様な動作を実行するためのプログラム命令を含むコンピュータ読み取り可能な媒体を含む。前記媒体は、プログラム命令、データファイル、データ構造などを単独または組み合わせて含むこともできる。前記媒体およびプログラム命令は、本発明の目的のために特別に設計されて構成されたものでもよく、コンピュータソフトウェア分野の技術を有する当業者にとって公知であり使用可能なものであってもよい。コンピュータ読み取り可能な記録媒体の例としては、ハードディスク、フロッピー(登録商標)ディスクおよび磁気テープのような磁気媒体、CD−ROM、DVDのような光記録媒体、フロプティカルディスクのような磁気−光媒体、およびROM、RAM、フラッシュメモリなどのようなプログラム命令を保存して実行するように特別に構成されたハードウェア装置が含まれる。前記媒体は、プログラム命令、データ構造などを保存する信号を送信する搬送波を含む光または金属線、導波管などの送信媒体でもある。プログラム命令の例としては、コンパイラによって生成されるもののような機械語コードだけでなく、インタプリタなどを用いてコンピュータによって実行される高級言語コードを含む。
【0101】
図12は、本発明に係るデータ分散処理方法を実行するのに採用される汎用コンピュータの内部ブロック図である。
【0102】
コンピュータシステム1200は、主記憶装置(一般的には、random access memoryまたはRAM1220)および主記憶装置(一般的には、read only memoryまたはROM1230)を含む記憶装置と連結される一つ以上のプロセッサ1210(中央処理装置またはCPUとも呼ばれる)を含む。本技術分野において広く知られているように、ロム1230は、データおよび命令を単一方向にCPUに送信する役割をし、ラム1220は通常、データおよび命令を双方向的な方法で送信するのに用いられる。これら主記憶装置は、両方とも前記したコンピュータ読み取り可能な媒体のあらゆる好適な形態を含むことができる。大容量記憶装置(Mass Storage)1240は、双方向的にCPUに連結され、追加的なデータ保存能力を提供し、前記したコンピュータ読み取り可能な媒体のいずれかを含むことができる。大容量記憶装置1240は、プログラム、データなどを記憶するのに用いられ、通常、主記憶装置より速度が遅いハードディスク等の補助記憶装置である。CD−ROM1260などの特定の大容量記憶装置が単一方向にCPUにデータを送ることもある。プロセッサ1210は、ビデオモニタ、トラックボール、マウス、キーボード、マイクロフォン、タッチスクリーン型ディスプレイ、カード読み取り機、磁気または紙テープ読み取り機、音声または筆記認識機、ジョイスティック、または他のコンピュータなどの他の公知の入力装置のような一つ以上の入出力装置を含むインターフェイス1250と連結される。最後に、プロセッサ1210は、ネットワークインターフェイス1270に一般的に示されるようなネットワーク接続を用いてコンピュータまたは無線通信ネットワークに接続されてもよい。このようなネットワーク接続を介して、前記した方法の手順を実行することにより、CPUが前記ネットワークから情報の入力を受けたり、前記ネットワークに情報を出力したりすることが意図される。前記した装置および道具は、コンピュータハードウェアおよびソフトウェア技術分野の当業者にとって周知である。
【0103】
前記したハードウェア装置は、本発明の動作を実行するために一以上のソフトウェアモジュールとして作動するように構成される。
【0104】
上述したように、本発明の好ましい実施形態を参照して説明したが、該当の技術分野において熟練した当業者にとっては、特許請求の範囲に記載された本発明の思想および領域から逸脱しない範囲内で、本発明を多様に修正および変更させることができることを理解することができるであろう。
【0105】
すなわち、本発明の技術的範囲は、特許請求の範囲に基づいて定められ、発明を実施するための最良の形態により制限されるものではない。
【図面の簡単な説明】
【0106】
【図1】本発明に係るデータ分散処理システムの概略的な構成を説明するための図である。
【図2】本発明の好ましい実施形態に係るデータ分散処理システムを示す構成図である。
【図3】本発明によるゲーム地図データおよびゲーム地図データを区画して形成されるゲームゾーンを説明するための図である。
【図4】ユーザキャラクタの移動によるクライアントとゾーンサーバの接続状態を説明するための図である。
【図5】本発明の好ましい実施形態に係るデータ分散処理方法を具体的に示したフローチャートである。
【図6】本発明による表示領域のマッピング位置に基づいて接続されるゾーンサーバの変更方法を示すフローチャートである。
【図7】ゾーンサーバにおける処理種類が特定されるようにする方法を示すフローチャートである。
【図8】本発明によるキャラクタ情報の更新処理方法を示すフローチャートである。
【図9】キャラクタ情報に対する情報移管方法を示すフローチャートである。
【図10】第1ゾーンサーバとクライアントとの接続遮断の可否を判断する方法を示すフローチャートである。
【図11】本発明による表示領域のマッピング地点を再設定する方法を示すフローチャートである。
【図12】本発明に係るデータ分散処理方法を実行するために採用される汎用コンピュータ装置の内部ブロック図である。
【特許請求の範囲】
【請求項1】
オンラインゲームサーバのデータ分散処理方法において、
一つ以上のゲームゾーンに区画されるゲーム地図データを保存するためのゾーン情報データベースを維持する段階と、
ユーザキャラクタに対する命令処理を遂行するためのゾーンサーバを前記ゲームゾーンそれぞれに割り当てる段階と、
所定のディスプレイ手段に表示される表示領域を前記ゲーム地図データにマッピングし、前記マッピングされた表示領域が位置するゲームゾーンを識別する段階と、
前記識別されたゲームゾーンに割り当てられるゾーンサーバと所定のクライアントを接続させる段階と、
を含み、
前記識別されたゲームゾーンに割り当てられるゾーンサーバと所定のクライアントを接続する前記段階は、
所定ユーザキャラクタが位置する第1ゲームゾーンの第1ゾーンサーバと前記クライアントを接続する段階と、
第2ゲームゾーンとの境界を基準として前記第1ゲームゾーンの一部をバッファセクタとして定義する段階(前記第2ゲームゾーンは、前記第1ゲームゾーンに隣接するゲームゾーンである)と、
前記表示領域が前記バッファセクタの少なくとも一部を含む場合、前記第2ゾーンサーバと前記クライアントを接続する段階と、
を含むことを特徴とするオンラインゲームサーバのデータ分散処理方法。
【請求項2】
前記第2ゾーンサーバと前記クライアントを接続する前記段階は、
前記命令処理を前記第1ゾーンサーバで担当するように制御する段階(前記命令処理は、前記ユーザキャラクタに対する操作制御を意味する)と、
前記表示領域に表示される前記第2ゲームゾーンにおけるイベント処理を前記第2ゾーンサーバで担当されるように制御する段階(前記イベント処理は、その他のキャラクタのゲーム進行状態の視覚化を意味する)と、
を含むことを特徴とする請求項1に記載のオンラインゲームサーバのデータ分散処理方法。
【請求項3】
前記ユーザキャラクタのキャラクタ情報を保存するためのキャラクタ情報データベースを維持する段階と、
前記キャラクタ情報を複製して前記第1ゾーンサーバに提供する段階と、
前記提供されたキャラクタ情報に対する更新処理の権限を前記第1ゾーンサーバに付与する段階と、
前記第1ゾーンサーバの命令処理によって前記キャラクタ情報に対する更新処理を遂行する段階と、
前記ユーザキャラクタが前記第1ゲームゾーンを離脱する場合、前記付与された更新処理の権限が還元されるようにする段階と、
を更に含むことを特徴とする請求項2に記載のオンラインゲームサーバのデータ分散処理方法。
【請求項4】
前記第1ゾーンサーバから更新処理された前記キャラクタ情報を複製し、前記複製されたキャラクタ情報を前記第2ゾーンサーバに送信する段階と、
前記第2ゾーンサーバに更新処理の権限を付与し、前記命令処理が前記第2ゾーンサーバで担当されるように制御する段階と、
前記表示領域に表示される前記第1ゲームゾーンにおけるイベント処理を前記第1ゾーンサーバで担当されるように制御する段階と、
を更に含むことを特徴とする請求項3に記載のオンラインゲームサーバのデータ分散処理方法。
【請求項5】
前記付与された更新処理の権限が還元されるようにする前記段階は、
第1ゲームゾーンとの境界を基準として前記第2ゲームゾーンの一部を第2バッファセクタとして定義する段階と、
前記表示領域が前記第2バッファセクタの少なくとも一部を含むのかを判断する段階と、
前記判断の結果、前記表示領域が前記第2バッファセクタを含まない場合、前記第1ゾーンサーバと前記クライアントとの接続を遮断する段階と、
を含むことを特徴とする請求項4に記載のオンラインゲームサーバのデータ分散処理方法。
【請求項6】
前記第1ゾーンサーバと前記クライアントとの接続を遮断する前記段階は、
前記第1ゾーンサーバに保有する前記キャラクタ情報を削除する段階、
を更に含むことを特徴とする請求項5に記載のオンラインゲームサーバのデータ分散処理方法。
【請求項7】
前記表示領域内に前記ゲーム地図上におけるマッピング地点変更のための移動制御線を確定する段階と、
前記表示領域における前記ユーザキャラクタの位置を識別する段階と、
前記ユーザキャラクタの位置が前記移動制御線と一致する場合、前記ユーザキャラクタの進入方向に基づいて前記表示領域を前記ゲーム地図上で再マッピングする段階と、
を更に含むことを特徴とする請求項1に記載のオンラインゲームサーバのデータ分散処理方法。
【請求項8】
オンラインゲームサーバのデータ分散処理方法において、
隣接する第1ゲームゾーンと第2ゲームゾーン間に所定サイズのバッファセクタを配置するゲーム地図データを保存するためのゾーン情報データベースを維持する段階と、
前記第1ゲームゾーンに第1ゾーンサーバを前記第2ゲームゾーンに第2ゾーンサーバをそれぞれ割り当てる段階と、
所定のディスプレイ手段に表示される表示領域を前記ゲーム地図データにマッピングする段階と、
前記表示領域のマッピング位置を識別し、前記識別されたマッピング位置に基づいて前記第1ゾーンサーバまたは第2ゾーンサーバを所定のクライアントに接続されるように制御する段階と、
を含み、
前記識別されたマッピング位置に基づいて前記第1ゾーンサーバまたは第2ゾーンサーバを所定のクライアントに接続されるように制御する前記段階は、
前記表示領域が前記バッファセクタの少なくとも一部を含む場合、前記第1ゾーンサーバおよび前記第2サーバを前記クライアントに接続させることを特徴とするオンラインゲームサーバのデータ分散処理方法。
【請求項9】
請求項1ないし8のいずれか一項の方法を実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項10】
オンラインゲームサーバのデータ分散処理システムにおいて、
一つ以上のゲームゾーンに区画されるゲーム地図データを保存するためのゾーン情報データベースと、
ユーザキャラクタに対する命令処理を遂行するためのゾーンサーバを前記ゲームゾーンそれぞれに割り当てるゾーンサーバ管理手段と、
隣接するゲームゾーンとの境界を基準として前記ゲームゾーンの一部をバッファセクタとして定義するバッファセクタ定義手段と、
所定のディスプレイ手段に表示される表示領域を前記ゲーム地図データにマッピングし、前記表示領域が位置するゲームゾーンを識別する表示領域マッピング手段と、
前記識別されたゲームゾーンに割り当てられるゾーンサーバと所定のクライアントを接続させるゲーム作動制御手段と、
を含み、
ゲーム作動制御手段は、前記表示領域の少なくとも一部が前記バッファセクタに位置する場合、前記隣接する一つ以上のゲームゾーンと連関する前記ゾーンサーバを前記クライアントに接続されるように制御することを特徴とするオンラインゲームサーバのデータ分散処理システム。
【請求項1】
オンラインゲームサーバのデータ分散処理方法において、
一つ以上のゲームゾーンに区画されるゲーム地図データを保存するためのゾーン情報データベースを維持する段階と、
ユーザキャラクタに対する命令処理を遂行するためのゾーンサーバを前記ゲームゾーンそれぞれに割り当てる段階と、
所定のディスプレイ手段に表示される表示領域を前記ゲーム地図データにマッピングし、前記マッピングされた表示領域が位置するゲームゾーンを識別する段階と、
前記識別されたゲームゾーンに割り当てられるゾーンサーバと所定のクライアントを接続させる段階と、
を含み、
前記識別されたゲームゾーンに割り当てられるゾーンサーバと所定のクライアントを接続する前記段階は、
所定ユーザキャラクタが位置する第1ゲームゾーンの第1ゾーンサーバと前記クライアントを接続する段階と、
第2ゲームゾーンとの境界を基準として前記第1ゲームゾーンの一部をバッファセクタとして定義する段階(前記第2ゲームゾーンは、前記第1ゲームゾーンに隣接するゲームゾーンである)と、
前記表示領域が前記バッファセクタの少なくとも一部を含む場合、前記第2ゾーンサーバと前記クライアントを接続する段階と、
を含むことを特徴とするオンラインゲームサーバのデータ分散処理方法。
【請求項2】
前記第2ゾーンサーバと前記クライアントを接続する前記段階は、
前記命令処理を前記第1ゾーンサーバで担当するように制御する段階(前記命令処理は、前記ユーザキャラクタに対する操作制御を意味する)と、
前記表示領域に表示される前記第2ゲームゾーンにおけるイベント処理を前記第2ゾーンサーバで担当されるように制御する段階(前記イベント処理は、その他のキャラクタのゲーム進行状態の視覚化を意味する)と、
を含むことを特徴とする請求項1に記載のオンラインゲームサーバのデータ分散処理方法。
【請求項3】
前記ユーザキャラクタのキャラクタ情報を保存するためのキャラクタ情報データベースを維持する段階と、
前記キャラクタ情報を複製して前記第1ゾーンサーバに提供する段階と、
前記提供されたキャラクタ情報に対する更新処理の権限を前記第1ゾーンサーバに付与する段階と、
前記第1ゾーンサーバの命令処理によって前記キャラクタ情報に対する更新処理を遂行する段階と、
前記ユーザキャラクタが前記第1ゲームゾーンを離脱する場合、前記付与された更新処理の権限が還元されるようにする段階と、
を更に含むことを特徴とする請求項2に記載のオンラインゲームサーバのデータ分散処理方法。
【請求項4】
前記第1ゾーンサーバから更新処理された前記キャラクタ情報を複製し、前記複製されたキャラクタ情報を前記第2ゾーンサーバに送信する段階と、
前記第2ゾーンサーバに更新処理の権限を付与し、前記命令処理が前記第2ゾーンサーバで担当されるように制御する段階と、
前記表示領域に表示される前記第1ゲームゾーンにおけるイベント処理を前記第1ゾーンサーバで担当されるように制御する段階と、
を更に含むことを特徴とする請求項3に記載のオンラインゲームサーバのデータ分散処理方法。
【請求項5】
前記付与された更新処理の権限が還元されるようにする前記段階は、
第1ゲームゾーンとの境界を基準として前記第2ゲームゾーンの一部を第2バッファセクタとして定義する段階と、
前記表示領域が前記第2バッファセクタの少なくとも一部を含むのかを判断する段階と、
前記判断の結果、前記表示領域が前記第2バッファセクタを含まない場合、前記第1ゾーンサーバと前記クライアントとの接続を遮断する段階と、
を含むことを特徴とする請求項4に記載のオンラインゲームサーバのデータ分散処理方法。
【請求項6】
前記第1ゾーンサーバと前記クライアントとの接続を遮断する前記段階は、
前記第1ゾーンサーバに保有する前記キャラクタ情報を削除する段階、
を更に含むことを特徴とする請求項5に記載のオンラインゲームサーバのデータ分散処理方法。
【請求項7】
前記表示領域内に前記ゲーム地図上におけるマッピング地点変更のための移動制御線を確定する段階と、
前記表示領域における前記ユーザキャラクタの位置を識別する段階と、
前記ユーザキャラクタの位置が前記移動制御線と一致する場合、前記ユーザキャラクタの進入方向に基づいて前記表示領域を前記ゲーム地図上で再マッピングする段階と、
を更に含むことを特徴とする請求項1に記載のオンラインゲームサーバのデータ分散処理方法。
【請求項8】
オンラインゲームサーバのデータ分散処理方法において、
隣接する第1ゲームゾーンと第2ゲームゾーン間に所定サイズのバッファセクタを配置するゲーム地図データを保存するためのゾーン情報データベースを維持する段階と、
前記第1ゲームゾーンに第1ゾーンサーバを前記第2ゲームゾーンに第2ゾーンサーバをそれぞれ割り当てる段階と、
所定のディスプレイ手段に表示される表示領域を前記ゲーム地図データにマッピングする段階と、
前記表示領域のマッピング位置を識別し、前記識別されたマッピング位置に基づいて前記第1ゾーンサーバまたは第2ゾーンサーバを所定のクライアントに接続されるように制御する段階と、
を含み、
前記識別されたマッピング位置に基づいて前記第1ゾーンサーバまたは第2ゾーンサーバを所定のクライアントに接続されるように制御する前記段階は、
前記表示領域が前記バッファセクタの少なくとも一部を含む場合、前記第1ゾーンサーバおよび前記第2サーバを前記クライアントに接続させることを特徴とするオンラインゲームサーバのデータ分散処理方法。
【請求項9】
請求項1ないし8のいずれか一項の方法を実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項10】
オンラインゲームサーバのデータ分散処理システムにおいて、
一つ以上のゲームゾーンに区画されるゲーム地図データを保存するためのゾーン情報データベースと、
ユーザキャラクタに対する命令処理を遂行するためのゾーンサーバを前記ゲームゾーンそれぞれに割り当てるゾーンサーバ管理手段と、
隣接するゲームゾーンとの境界を基準として前記ゲームゾーンの一部をバッファセクタとして定義するバッファセクタ定義手段と、
所定のディスプレイ手段に表示される表示領域を前記ゲーム地図データにマッピングし、前記表示領域が位置するゲームゾーンを識別する表示領域マッピング手段と、
前記識別されたゲームゾーンに割り当てられるゾーンサーバと所定のクライアントを接続させるゲーム作動制御手段と、
を含み、
ゲーム作動制御手段は、前記表示領域の少なくとも一部が前記バッファセクタに位置する場合、前記隣接する一つ以上のゲームゾーンと連関する前記ゾーンサーバを前記クライアントに接続されるように制御することを特徴とするオンラインゲームサーバのデータ分散処理システム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公表番号】特表2007−528762(P2007−528762A)
【公表日】平成19年10月18日(2007.10.18)
【国際特許分類】
【出願番号】特願2006−550958(P2006−550958)
【出願日】平成17年2月4日(2005.2.4)
【国際出願番号】PCT/KR2005/000341
【国際公開番号】WO2005/076189
【国際公開日】平成17年8月18日(2005.8.18)
【出願人】(505205812)エヌエイチエヌ コーポレーション (408)
【Fターム(参考)】
【公表日】平成19年10月18日(2007.10.18)
【国際特許分類】
【出願日】平成17年2月4日(2005.2.4)
【国際出願番号】PCT/KR2005/000341
【国際公開番号】WO2005/076189
【国際公開日】平成17年8月18日(2005.8.18)
【出願人】(505205812)エヌエイチエヌ コーポレーション (408)
【Fターム(参考)】
[ Back to top ]