卒論 preview 12/14 全体ミーティング 米澤研究室卒論生 山崎孝裕 テーマ Massively Multiplayer Online Game (MMOG)をP2P上に実装する 内容 MMOGとは? P2P技術を使ったMMOGの提案 実装の方針 今後の予定 MMOGとは? オンラインゲーム MOG MMOG アプリケーションモデル 一般的な分散システムとの差異 従来のネットワークモデル MMOGの現状 オンラインゲーム ネットワークで繋がれたコンピュータ上に仮 想世界を構築 複数のプレイヤーが仮想世界上で相互作 用 計算ノードが人間(クライアント)である分散 シミュレーションとして見られる 規模による分類:MOGとMMOG MOG Multiplayer Online Game 数人~十数人のプレイヤー プレイヤーのあるノードがサーバになり、そこに ほかのノードが接続する形が一般的 プレイヤーのマッチング用に中央サーバを置く こともある MMOG Massively Multiplayer Online Game 数十人~数千人以上のプレイヤー 全プレイヤーがひとつの世界を共有 ゲームステートを管理する特別なサーバ(ゲー ムサーバ)が存在する形が一般的 ゲームサーバへ接続するためのサーバが存在 アプリケーションモデル(1) 仮想世界中にオブジェクトが存在 オブジェクト同士が相互作用 Player Character(PC) Non-player Character(NPC) プレイヤーがクライアントを通して行動を決定 コンピュータが行動を決定 その他 アプリケーションモデル(2) エリアの概念 広大な仮想世界を分割 基本的には実装上の都合 相互作用の複雑度の低下 Interest Management 一般的な分散システムとの差異 ノードの物理的位置が固定 クライアントノードの位置は固定 リアルタイム性の重視 逆に正確性はゲームの性質次第では緩めるこ とができる 従来のネットワークモデル(1) クライアントサーバモデルが主流 サーバ 運営側が全サーバを管理 仮想空間の状態を一括して計算・管理 非常に大きな計算能力と回線帯域が必要 →Scalabilityに問題 従来のネットワークモデル(2) クライアント ゲーム空間の周囲の情報をサーバから得る サーバにPCの行動を送信 例:FINAL FANTASY XI のネットワーク構成 P2Pを利用したMMOG サーバの機能をPeerに分散 ゲーム空間の管理をPeerに任せる 通常はエリアごとなど 高いScalability 運営側の必要なリソースが小さい →コスト面で大きなメリット Peerは信頼できない →故障耐性・セキュリティがより重要 実装の方針 Phoenixを使った実装 実装の詳細 Phoenixを使った実装(1) オーバレイネットワークにPhoenixを使用 仮想ノードによる抽象化 ノードの動的参加/脱退が容易 故障検知機能 Phoenixを使った実装(2) 複数のPhoenixオーバレイを作成することで システムのScalabilityをあげる ノード管理オーバレイ 全エリア管理オーバレイ エリア管理オーバレイ 実装の詳細 中央で管理するサーバ 認証・データサーバ エリアマスターサーバ Peer上のノード エリアサーバ エリアレプリカ クライアント 認証・データサーバ ノード管理オーバレイを管理 クライアント情報とPCのデータベースを保持 クライアントにPCデータと所属エリアを提示 (マッチング) 長期的なPersistency確保 ユーザ数に対するScalabilityはない エリアマスターサーバ 全エリア管理オーバレイを管理 エリアサーバの管理 全エリアサーバのメタ情報を保持 エリアサーバ移行時の調停 エリアオーバレイへのエントリポイントを提示 ユーザ・エリア数に対するScalabilityはない エリアマスターの分散も考えられるが今回は考 えない エリアサーバ・レプリカサーバ エリアオーバレイを管理 対応するエリアの管理 エリア状態の保持 エリア状態の計算 クライアントとの通信 脱退時・故障時の移行処理 クライアント 各エリア管理オーバレイに接続 PCに対応する仮想ノード番号をassume システムと物理的なプレイヤーとの橋渡し エリアサーバやレプリカと物理ノードを共有 することもあるが、別プロセスで処理 今後の予定 故障を考慮に入れないプロトタイプを作成 エリアサーバ故障時のプロトコルの考案 →これをメインテーマにする予定 参考文献 [1] B. Knutsson, H. Lu, W. Xu, B. Hopkins. Peerto-Peer Support for Massively Multiplayer Games [2] K. Taura, T. Endo, K. Kaneda, A. Yonezawa. Phoenix: a Parallel Programming Model for Accommodating Dynamically Joining/Leaving Resources
© Copyright 2024 ExpyDoc