(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-12-12
(45)【発行日】2022-12-20
(54)【発明の名称】複数の端末及び複数のネットワークをサポートするAndroidオンラインゲームアプリの分散型システム
(51)【国際特許分類】
A63F 13/355 20140101AFI20221213BHJP
G06F 15/00 20060101ALI20221213BHJP
H04N 21/218 20110101ALI20221213BHJP
H04N 21/414 20110101ALI20221213BHJP
【FI】
A63F13/355
G06F15/00 410B
H04N21/218
H04N21/414
(21)【出願番号】P 2021527276
(86)(22)【出願日】2019-10-16
(86)【国際出願番号】 CN2019111379
(87)【国際公開番号】W WO2020093843
(87)【国際公開日】2020-05-14
【審査請求日】2021-01-25
(31)【優先権主張番号】201811335622.4
(32)【優先日】2018-11-11
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】521529710
【氏名又は名称】湖南多行云計算機科技有限公司
(74)【代理人】
【識別番号】110002468
【氏名又は名称】特許業務法人後藤特許事務所
(72)【発明者】
【氏名】王 偉▲シュン▼
(72)【発明者】
【氏名】徐 琳
(72)【発明者】
【氏名】黄 晟
(72)【発明者】
【氏名】馬 超
(72)【発明者】
【氏名】周 磊
【審査官】岸 智史
(56)【参考文献】
【文献】米国特許出願公開第2015/0081764(US,A1)
【文献】中国特許出願公開第108021608(CN,A)
【文献】中国特許出願公開第105491021(CN,A)
【文献】米国特許出願公開第2015/0283462(US,A1)
【文献】米国特許出願公開第2015/0141143(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
A63F 9/24、13/00-13/98
G06F 15/00
H04N 21/00-21/858
(57)【特許請求の範囲】
【請求項1】
ユーザのAndroidオンラインゲームアカウント情報及びゲーム情報を記憶する
とともにAndroidオンラインゲームアプリに対してサービスして応答するオンラインゲームサーバを含む、複数の端末及び複数のネットワークをサポートするAndroidオンラインゲームアプリの分散型システムであって、
オンラインゲームサーバ並びに、Androidオンラインゲームビデオ及びリモートコントロールモードクライアント端末とネットワーク通信をそれぞれ確立し、拡張ARM CPUバージョンAndroid OSと、ARM CPUバージョンLinux(登録商標)で実行される拡張マルチインスタンスARM Linux(登録商標)Dockerコンテナ及びホストサーバ側と、拡張ARM CPUバージョンLinux(登録商標)とを含むAndroidオンラインゲームアプリ分散型ビデオ及びリモートコントロールサーバをさらに含み、
各ARMLinux(登録商標)Dockerコンテナでは、複数のARM CPUバージョンAndroid OSインスタンスが実行され、Androidオンラインゲームアプリは、拡張ARM CPUバージョンAndroid OSで実行され、
前記ホストサーバ側は、Androidオンラインゲームアプリ分散型ビデオ及びリモートコントロールサーバとオンラインゲームサーバとのインタラクション入出力ポートであり、Androidオンラインゲームアプリ分散型ビデオ及びリモートコントロールサーバとAndroidオンラインゲームビデオ及びリモートコントロールモードクライアント端末とのインタラクションポートでもあり、
前記Androidオンラインゲームビデオ及びリモートコントロールモードクライアント端末は、移動端末装置の性能情報並びに、Androidオンラインゲームアプリ分散型ビデオ及びリモートコントロールサーバと通信するネットワークステータス情報をさらに収集し、収集した性能情報及びネットワークステータス情報をAndroidオンラインゲームアプリ分散型ビデオ及びリモートコントロールサーバにアップロードし、Androidオンラインゲームアプリ分散型ビデオ及びリモートコントロールサーバが受信した性能情報及びネットワークステータス情報に基づいて、送信されるビデオストリームのサイズ及びネットワーク送信パラメータをリアルタイムで調整する、
ことを特徴とする複数の端末及び複数のネットワークをサポートするAndroidオンラインゲームアプリの分散型システム。
【請求項2】
前記ホストサーバ側は、対応するユーザのAndroidオンラインゲームアカウント情報及びゲーム情報をオンラインゲームサーバから取得し、Androidオンラインゲームサーバに基づいてAndroidオンラインゲームアプリがインタラクティブに実行されるようにARM Linux(登録商標)Dockerコンテナで実行される拡張ARM CPUバージョンAndroid OSにおけるAndroidオンラインゲームアプリに送信し、Androidオンラインゲームアプリの実行結果に基づいて対応するAndroidオンラインゲームアカウント情報を修正し、オンラインゲームサーバに記憶させるとともに、
ホストサーバ側は、Androidオンラインゲームの実行プロセスにおいて、Dockerコンテナの装置マッピング及びBinderサービスアシスタンスを介してAndroidオンラインゲームアプリのグラフィック表示をOpenGL_ESコマンドから単一又は複数のビデオストリームに変換し、Androidオンラインゲームビデオ及びリモートコントロールモードクライアント端末に送信し、Androidオンラインゲームビデオ及びリモートコントロールモードクライアント端末によってアップロードされた制御情報を受信し、当該制御情報をARM Linux(登録商標)Dockerコンテナで実行されるAndroidオンラインゲームアプリに送信し、
ホストサーバ側は、移動端末装置で実行されるAndroidオンラインゲームビデオ及びリモートコントロールモードクライアント端末に対してサービスし、Androidオンラインゲームアプリ分散型ビデオ及びリモートコントロールサーバから受信したビデオストリームをAndroidオンラインゲームビデオ及びリモートコントロールモードクライアント端末を介して再生するとともに、Androidオンラインゲームビデオ及びリモートコントロールモードクライアント端末を利用して制御情報を収集し、Androidオンラインゲームアプリ分散型ビデオ及びリモートコントロールサーバにアップロードする、
ことを特徴とする請求項1に記載の複数の端末及び複数のネットワークをサポートするAndroidオンラインゲームアプリの分散型システム。
【請求項3】
前記ホストサーバ側は、表示制御、ビデオストリームサービス層、コントロール管理、コントロールサービス層及びMesa、libdrm、vaapiライブラリをさらに含む、
ことを特徴とする請求項2に記載の複数の端末及び複数のネットワークをサポートするAndroidオンラインゲームアプリの分散型システム。
【請求項4】
前記Androidオンラインゲームビデオ及びリモートコントロールモードクライアント端末は、ビデオストリームクライアント端末ライブラリ、Androidオンラインゲームビデオ及びリモートコントロールモードクライアント端末を実行している移動端末装置で実行されるオペレーティングシステムのコントロールモジュール、端末及びネットワーク情報収集モジュールを含む、
ことを特徴とする請求項1に記載の複数の端末及び複数のネットワークをサポートするAndroidオンラインゲームアプリの分散型システム。
【請求項5】
ユーザがログイン情報をAndroidオンラインゲームアプリ分散型ビデオ及びリモートコントロールサーバに送信し、ホストサーバ側がログイン情報に基づいてオンラインゲームサーバに記憶されている対応するAndroidオンラインゲームアカウント情報及びゲーム情報を取得するステップ1と、
ホストサーバ側がAndroidオンラインゲームアカウント情報及びゲーム情報をARM Linux(登録商標)Dockerコンテナで実行されるARM CPUバージョンAndroid OSインスタンスに送信し、Androidオンラインゲームアカウント情報及びオンラインゲームコンテンツ情報に基づいて、拡張ARM CPUバージョンAndroid OSでAndroidオンラインゲームアプリを実行するステップ2と、
ホストサーバ側がAndroidオンラインゲームアプリの実行プロセスにおいて、Dockerコンテナの装置マッピング及びBinderサービスアシスタンスを介してAndroidオンラインゲームアプリのグラフィック表示をOpenGL_ESコマンドから単一又は複数のビデオストリームに変換し、ユーザが利用する移動端末装置で実行されるAndroidオンラインゲームビデオ及びリモートコントロールモードクライアント端末に送信するステップ3と、
Androidオンラインゲームビデオ及びリモートコントロールモードクライアント端末が受信したビデオストリームを現在の移動端末装置に表示させ、ユーザの表示された画面に基づいて実行した制御情報を捕捉し、収集した制御情報をホストサーバ側にアップロードするステップ4と、
ホストサーバ側が制御情報を受信した後、ARM Linux(登録商標)Dockerコンテナで実行されるAndroidオンラインゲームアプリに送信するステップ5と、を含み
、
前記Androidオンラインゲームビデオ及びリモートコントロールモードクライアント端末が作業プロセスにおいて、移動端末装置の性能情報並びに、Androidオンラインゲームアプリ分散型ビデオ及びリモートコントロールサーバと通信するネットワークステータス情報をさらに収集し、収集した性能情報及びネットワークステータス情報をAndroidオンラインゲームアプリ分散型ビデオ及びリモートコントロールサーバにアップロードし、Androidオンラインゲームアプリ分散型ビデオ及びリモートコントロールサーバが受信した性能情報及びネットワークステータス情報に基づいて、送信されるビデオストリームのサイズ及びネットワーク送信パラメータをリアルタイムで調整するステップをさらに含む、
ことを特徴とする請求項1に記載のシステムに基づく複数の端末及び複数のネットワークをサポートするAndroidオンラインゲームアプリの分散型方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数の端末及び複数のネットワークをサポートするAndroid(登録商標)オンラインゲームアプリの分散型システム及びそれに基づく方法に関するものである。
【背景技術】
【0002】
現在、Androidプラットフォームで実行されるオンラインゲーム(以下、Androidオンラインゲームという)は、ゲームコンテンツが豊富で、多くのプレーヤを引き付けるため、人気がある。現在まで、Androidオンラインゲームの実行アーキテクチャには、以下の二つのモードがある。
【0003】
一方のモードは、クライアント端末/サーバモードであり、システムアーキテクチャ図を
図1に示す。
図1に示すアーキテクチャにおいて、Androidオンラインゲームのアプリクライアント端末は、Android OSプラットフォームのスマートフォンやタブレットでのみ実行することができる。これにより、Androidオンラインゲームのアプリクライアント端末のグラフィック処理(OpenGL)は、Android OSプラットフォームのスマートフォンやタブレットのハードウェアに搭載されるグラフィックプロセッサ(以下、GPUという)及び中央処理ユニット(以下、CPUという)でのみ実行及び処理することができるように制限される。
【0004】
Android OSプラットフォームに基づくスマートフォンやタブレットのGPU及びCPUの性能は、コンピュータサーバやパーソナルコンピュータに搭載されるGPU及びCPUの性能のほぼ100分の1である。コンピュータサーバやパーソナルコンピュータで実行されるゲームは、グラフィック効果が映画のようにリアルになっているが、従来のAndroidオンラインゲームは、性能が制限されるため、グラフィック効果が十分にリアルではなく、ギャップがかなり大きい。
【0005】
他方のモードにおいて、ARM CPU仮想化技術及び付帯するGPU仮想化ドライバのGPU仮想化技術を利用して、ARM Linux(登録商標) KVMの仮想マシンでAndroid OSを実行し、Android OSでグラフィック処理パイプラインを修正し、グラフィックの分散型リモート処理を行う。この技術は、GPU仮想化技術を実現するために、GPU仮想化をサポートするGPUカード及び付帯するGPU仮想化ドライバを利用する必要がある。そのシステムアーキテクチャを
図2に示す。
【0006】
図2に示すアーキテクチャにおけるAndroidオンラインゲームの処理フロは次のとおりである。Androidオンラインゲームアプリは、Androidプラットフォームのグラフィックフレームワーク及び実行時(runtime)を呼び出し、変更されたAndroidグラフィック実行時を介してアプリグラフィック呼び出しを捕捉し、ネットワーク通信を介してこのAndroidオンラインゲームアプリグラフィック呼び出しをクライアント端末のスマートフォンに送信する。クライアント端末スマートフォンにおけるクライアント端末アプリは、グラフィック呼び出しを受信し、これらのグラフィック呼び出しをスマートフォンのAndroid OSに再生してグラフィック表示処理を行う。これらのグラフィック呼び出しは、クライアント端末スマートフォンの通常のLinuxカーネルGPUドライバ及びスマートフォンのGPUによって処理されて表示される。
【0007】
上記技術に存在する問題は、以下のとおりである。OS仮想化技術に依存し、仮想化技術のネットワーク及びGPU部分の性能が低く、コストが高い。依然としてスマートフォンのGPUを利用してグラフィック呼び出しをグラフィック処理するため、グラフィック表示効果は依然としてスマートフォンのGPUによって制限され、グラフィック効果は依然としてリアルな効果に到達することができない。
【発明の概要】
【0008】
上記目的を達成するために、本発明のある態様によれば、ユーザのAndroidオンラインゲームアカウント情報及びゲーム情報を記憶するためのオンラインゲームサーバを含む、複数の端末及び複数のネットワークをサポートするAndroidオンラインゲームアプリの分散型システムであって、
オンラインゲームサーバ並びに、Androidオンラインゲームビデオ及びリモートコントロールモードクライアント端末とネットワーク通信をそれぞれ確立し、拡張ARM CPUバージョンAndroid OSと、ARM CPUバージョンLinuxで実行される拡張マルチインスタンスARM Linux Dockerコンテナ及びホストサーバ側と、拡張ARM CPUバージョンLinuxとを含むAndroidオンラインゲームアプリ分散型ビデオ及びリモートコントロールサーバをさらに含み、
各ARMLinux Dockerコンテナでは、複数のARM CPUバージョンAndroid OSインスタンスが実行され、Androidオンラインゲームアプリは、拡張ARM CPUバージョンAndroid OSで実行される、
ことを特徴とする複数の端末及び複数のネットワークをサポートするAndroidオンラインゲームアプリの分散型システムが提供される。
【0009】
前記ホストサーバ側は、Androidオンラインゲームアプリ分散型ビデオ及びリモートコントロールサーバとオンラインゲームサーバとのインタラクション入出力ポートであり、対応するユーザのAndroidオンラインゲームアカウント情報及びゲーム情報をオンラインゲームサーバから取得し、Androidオンラインゲームサーバに基づいてAndroidオンラインゲームアプリがインタラクティブに実行されるようにARM Linux Dockerコンテナで実行される拡張ARM CPUバージョンAndroid OSにおけるAndroidオンラインゲームアプリに送信し、Androidオンラインゲームアプリの実行結果に基づいて対応するAndroidオンラインゲームアカウント情報を修正し、オンラインゲームサーバに記憶させるとともに、
ホストサーバ側は、Androidオンラインゲームアプリ分散型ビデオ及びリモートコントロールサーバとAndroidオンラインゲームビデオ及びリモートコントロールモードクライアント端末とのインタラクションポートでもあり、Androidオンラインゲームの実行プロセスにおいて、Dockerコンテナの装置マッピング及びBinderサービスアシスタンスを介してAndroidオンラインゲームアプリのグラフィック表示をOpenGL_ESコマンドから単一又は複数のビデオストリームに変換し、Androidオンラインゲームビデオ及びリモートコントロールモードクライアント端末に送信し、Androidオンラインゲームビデオ及びリモートコントロールモードクライアント端末によってアップロードされた制御情報を受信し、当該制御情報をARM Linux Dockerコンテナで実行されるAndroidオンラインゲームアプリに送信し、
ホストサーバ側は、移動端末装置で実行されるAndroidオンラインゲームビデオ及びリモートコントロールモードクライアント端末に対してサービスし、Androidオンラインゲームアプリ分散型ビデオ及びリモートコントロールサーバから受信したビデオストリームをAndroidオンラインゲームビデオ及びリモートコントロールモードクライアント端末を介して再生するとともに、Androidオンラインゲームビデオ及びリモートコントロールモードクライアント端末を利用して制御情報を収集し、Androidオンラインゲームアプリ分散型ビデオ及びリモートコントロールサーバにアップロードすることが好ましい。
【0010】
前記ホストサーバ側は、表示制御、ビデオストリームサービス層、コントロール管理、コントロールサービス層及びMesa、libdrm、vaapiライブラリをさらに含むことが好ましい。
【0011】
前記Androidオンラインゲームビデオ及びリモートコントロールモードクライアント端末は、移動端末装置の性能情報並びに、Androidオンラインゲームアプリ分散型ビデオ及びリモートコントロールサーバと通信するネットワークステータス情報をさらに収集し、収集した性能情報及びネットワークステータス情報をAndroidオンラインゲームアプリ分散型ビデオ及びリモートコントロールサーバにアップロードし、Androidオンラインゲームアプリ分散型ビデオ及びリモートコントロールサーバが受信した性能情報及びネットワークステータス情報に基づいて、送信されるビデオストリームのサイズ及びネットワーク送信パラメータをリアルタイムで調整することが好ましい。
【0012】
前記Androidオンラインゲームビデオ及びリモートコントロールモードクライアント端末は、ビデオストリームクライアント端末ライブラリ、Androidオンラインゲームビデオ及びリモートコントロールモードクライアント端末を実行している移動端末装置で実行されるオペレーティングシステムのコントロールモジュール、端末及びネットワーク情報収集モジュールを含むことが好ましい。
【0013】
本発明の他の態様によれば、ユーザがログイン情報をAndroidオンラインゲームアプリ分散型ビデオ及びリモートコントロールサーバに送信し、ホストサーバ側がログイン情報に基づいてオンラインゲームサーバに記憶されている対応するAndroidオンラインゲームアカウント情報及びゲーム情報を取得するステップ1と、
ホストサーバ側がAndroidオンラインゲームアカウント情報及びゲーム情報をARM Linux Dockerコンテナで実行されるARM CPUバージョンAndroid OSインスタンスに送信し、Androidオンラインゲームアカウント情報及びオンラインゲームコンテンツ情報に基づいて、拡張ARM CPUバージョンAndroid OSでAndroidオンラインゲームアプリを実行するステップ2と、
ホストサーバ側がAndroidオンラインゲームアプリの実行プロセスにおいて、Dockerコンテナの装置マッピング及びBinderサービスアシスタンスを介してAndroidオンラインゲームアプリのグラフィック表示をOpenGL_ESコマンドから単一又は複数のビデオストリームに変換し、ユーザが利用する移動端末装置で実行されるAndroidオンラインゲームビデオ及びリモートコントロールモードクライアント端末に送信するステップ3と、
Androidオンラインゲームビデオ及びリモートコントロールモードクライアント端末が受信したビデオストリームを現在の移動端末装置に表示させ、ユーザの表示された画面に基づいて実行した制御情報を捕捉し、収集した制御情報をホストサーバ側にアップロードするステップ4と、
ホストサーバ側が制御情報を受信した後、ARM Linux Dockerコンテナで実行されるAndroidオンラインゲームアプリに送信するステップ5と、を含む、
ことを特徴とする請求項1に記載のシステムに基づく複数の端末及び複数のネットワークをサポートするAndroidオンラインゲームアプリの分散型方法が提供される。
【0014】
前記Androidオンラインゲームビデオ及びリモートコントロールモードクライアント端末が作業プロセスにおいて、移動端末装置の性能情報並びに、Androidオンラインゲームアプリ分散型ビデオ及びリモートコントロールサーバと通信するネットワークステータス情報をさらに収集し、収集した性能情報及びネットワークステータス情報をAndroidオンラインゲームアプリ分散型ビデオ及びリモートコントロールサーバにアップロードし、Androidオンラインゲームアプリ分散型ビデオ及びリモートコントロールサーバが受信した性能情報及びネットワークステータス情報に基づいて、送信されるビデオストリームのサイズ及びネットワーク送信パラメータをリアルタイムで調整するステップをさらに含むことが好ましい。
【発明の効果】
【0015】
本発明の態様は、下記の有益な効果を奏する。
(1)Androidオンラインゲームアプリ側は、高性能サーバARM CPU及び高性能GPUを利用することができるため、Androidオンラインゲームアプリは、サーバGPUがサポート可能な映画のようなリアルなグラフィック効果を実現することができるとともに、AR、VRに必要な高性能グラフィック処理をサポートすることができる。
(2)Androidオンラインゲームアプリ側は、さまざまなネットワーク環境やさまざまなユーザ側スマート端末のOSプラットフォームにうまく適用することができる。ユーザは、さまざまなネットワーク環境やさまざまなスマート端末でグラフィック効果がリアルなゲームを利用することができる。
(3)性能が優れており、コストが低く、OS仮想化のIOオーバヘッドがなく、仮想化専用GPUカード及び専用OSに加えて専用のGPU仮想化ドライバをインストールする必要がない。
【図面の簡単な説明】
【0016】
【
図1】Androidオンラインゲームの従来のクライアント端末/サーバモードのシステムアーキテクチャ図である。
【
図2】Androidオンラインゲームの他のシステムアーキテクチャ図である。
【発明を実施するための形態】
【0017】
本発明をより理解しやすくするために、図面を参照しながら好適実施例を以下に詳細に説明する。
【0018】
ネットワーク技術の発展により、本発明のある態様によって提供される複数の端末及び複数のネットワークをサポートするAndroidオンラインゲームアプリの分散型システムは、名称が「複数の端末及び複数のネットワークを拡張してサポートするためのインタラクティブエンターテインメントアプリケーションのシステム及び方法」であり、特許番号がZL200610026512.0である発明特許を参照引用し、Androidオンラインゲームアプリの実行プラットフォームであるAndroid OSを分散型に改造し、オンラインゲームサーバ、Androidオンラインゲームアプリ分散型ビデオ及びリモートコントロールサーバ並びにAndroidオンラインゲームビデオ及びリモートコントロールモードクライアント端末に分割する。
【0019】
オンラインゲームサーバは、従来のオンラインゲームサーバを採用し、その機能も従来のオンラインゲームサーバと一致させ、ユーザのAndroidオンラインゲームアカウント情報及びゲーム情報(ゲームコンテンツプロットなど)を記憶し、Androidオンラインゲームアプリに対してサービスして応答するために利用される。
【0020】
Androidオンラインゲームアプリ分散型ビデオ及びリモートコントロールサーバは、オンラインゲームサーバ並びに、Androidオンラインゲームアプリビデオ及びリモートコントロールモードクライアント端末とネットワーク通信をそれぞれ確立し、拡張ARM CPUバージョンAndroid OSと、拡張マルチインスタンスARM Linux Dockerコンテナ及びホストサーバ側と、拡張ARM CPUバージョンLinuxとで構成される。
【0021】
各ARMLinux Dockerコンテナでは、複数のARM CPUバージョンAndroid OSインスタンスが実行され、Androidオンラインゲームアプリは、拡張ARM CPUバージョンAndroid OSで実行される。ここで、拡張ARM CPUバージョンAndroid OS部分の実施は、ホストLinuxのDockerコンテナ環境で起動するようにInitをカスタマイズし、システム呼び出しを増やすためにbionicをカスタマイズし、System Server適応サービスをカスタマイズし、属性システムをカスタマイズし、alsaを利用してサウンドをサポートし、ネットワークに適応することと、自己完結型のmesaを追加し、libdrm、llvm及びmesaの組み合わせによりレンダリングを完成させ、socketに書き込むことにより、合成されたDRMのbo(buffer object)及びその識別名並びに更新イベントを送信することである。
【0022】
拡張マルチインスタンスARMLinux Dockerコンテナ部分の実施は、binder装置を動的に増減させる機能を追加することと、Android OSミラーリ
ングのDockerにおけるカスタマイズ修正及び実行環境の構築をすることと、ARM LinuxホストhooksメカニズムをDockerに追加し、コンテナの起動前後、シャットダウン前後のhooks及び実行時におけるcgroupのoverrideを提供することにより、Dockerコンテナで実行される複数のAndroid OSインスタンスを開発して実現することである。
【0023】
拡張ARM CPUバージョンLinux部分の実施は、binderドライバを修正し、マルチbinder装置サポートを追加し、Linux cgoupsのGPUサポートを追加し、AppArmorをオープンし、コンテナ及びホストLinuxセキュリティを強化することである。Linuxには、ARM CPUをサポートするGPUドライバがさらに含まれている。
【0024】
ホストサーバ側は、Androidオンラインゲームアプリ分散型ビデオ及びリモートコントロールサーバとオンラインゲームサーバとのインタラクション入出力ポートであり、対応するユーザのAndroidオンラインゲームアカウント情報及びゲーム情報をオンラインゲームサーバから取得し、Androidオンラインゲームサーバに基づいてAndroidオンラインゲームアプリがインタラクティブに実行されるようにARM Linux Dockerコンテナで実行される拡張ARM CPUバージョンAndroid OSにおけるAndroidオンラインゲームアプリに送信し、Androidオンラインゲームアプリの実行結果に基づいて対応するAndroidオンラインゲームアカウント情報を修正し、オンラインゲームサーバに記憶させる。
【0025】
ホストサーバ側は、Androidオンラインゲームアプリ分散型ビデオ及びリモートコントロールサーバとAndroidオンラインゲームビデオ及びリモートコントロールモードクライアント端末とのインタラクションポートでもあり、Androidオンラインゲームの実行プロセスにおいて、Dockerコンテナの装置マッピング及びBinderサービスアシスタンスを介してAndroidオンラインゲームアプリのグラフィック表示をOpenGL_ESコマンドから単一又は複数のビデオストリームに変換し、Androidオンラインゲームビデオ及びリモートコントロールモードクライアント端末に送信し、Androidオンラインゲームビデオ及びリモートコントロールモードクライアント端末によってアップロードされた制御情報を受信し、当該制御情報をARM Linux Dockerコンテナで実行されるAndroidオンラインゲームアプリに送信する。
【0026】
本実施例において、ホストサーバ側は、表示制御、ビデオストリームサービス層、コントロール管理、コントロールサービス層及びMesa、libdrm、vaapiライブラリで構成される。ホストサーバ側部分の実施は、DRMを表示するboを送受信するsocketを実現することと、anboxに基づくホスト側が入力イベントを送受信するためにsocketを修正することである。サーバとクライアント端末とのインタラクションポートとしてのホストサーバ側の具体的な実施は、主な機能は、圧縮boビデオストリームと、本発明のAndroidオンラインゲームビデオ及びリモートコントロールモードクライアント端末とのインタラクションのためのプロトコルを開発し、コントロール入力及びセンサのsocketを受信し圧縮ビデオストリームのsocketを送信することと、受信した本発明のAndroidオンラインゲームビデオ及びリモートコントロールモードクライアント端末の報告に基づいて、情報を収集及び報告し、ビデオストリームフォーマット及びパラメータ並びに通信層プロトコルパラメータを動的に調整することと、AR又はVRオンラインゲームアプリを実行する場合、画角の必要性に応じて、二つ以上のビデオストリームを圧縮して送信することである。
【0027】
Androidオンラインゲームビデオ及びリモートコントロールモードクライアント端末は移動端末装置で実行され、Androidオンラインゲームアプリ分散型ビデオ及びリモートコントロールサーバから受信したビデオストリームをAndroidオンラインゲームビデオ及びリモートコントロールモードクライアント端末を介して再生するとともに、Androidオンラインゲームビデオ及びリモートコントロールモードクライアント端末を利用して制御情報を収集し、Androidオンラインゲームアプリ分散型ビデオ及びリモートコントロールサーバにアップロードする。本実施例において、前記Androidオンラインゲームビデオ及びリモートコントロールモードクライアント端末は、ビデオストリームクライアント端末ライブラリ、Androidオンラインゲームビデオ及びリモートコントロールモードクライアント端末を実行している移動端末装置で実行されるオペレーティングシステムのコントロールモジュール、端末及びネットワーク情報収集モジュールを含む。
【0028】
Androidオンラインゲームビデオ及びリモートコントロールモードクライアント端末部分の実施は、表示、マウス、キーボード、タッチ、センサの制御プロトコルを実現し、ビデオストリームを受信して再生し、ユーザ端末タイプの形式及びフォーマットを収集するとともにサーバからクライアント端末であるスマートフォン装置へのネットワーク遅延、パケットロスなどの情報を常に監視及び測定してホストサーバ側に報告することを実現することである。本クライアント端末の具体的な実施は、Android OS、iOS、Sailfish OSなどの複数の端末で実行されるスマートフォンOSをさらにサポートすることができる。
【0029】
本発明によって提供される複数の端末及び複数のネットワークをサポートするAndroidオンラインゲームアプリの分散型方法は、
ユーザがログイン情報をAndroidオンラインゲームアプリ分散型ビデオ及びリモートコントロールサーバに送信し、ホストサーバ側がログイン情報に基づいてオンラインゲームサーバに記憶されている対応するAndroidオンラインゲームアカウント情報及びゲーム情報を取得するステップ1と、
ホストサーバ側がAndroidオンラインゲームアカウント情報及びゲーム情報をARM Linux Dockerコンテナで実行されるARM CPUバージョンAndroid OSインスタンスに送信し、Androidオンラインゲームアカウント情報及びオンラインゲームコンテンツ情報に基づいて、拡張ARM CPUバージョンAndroid OSでAndroidオンラインゲームアプリを実行するステップ2と、
ホストサーバ側がAndroidオンラインゲームアプリの実行プロセスにおいて、Dockerコンテナの装置マッピング及びBinderサービスアシスタンスを介してAndroidオンラインゲームアプリのグラフィック表示をOpenGL_ESコマンドから単一又は複数のビデオストリームに変換し、ユーザが利用する移動端末装置で実行されるAndroidオンラインゲームビデオ及びリモートコントロールモードクライアント端末に送信するステップ3と、
Androidオンラインゲームビデオ及びリモートコントロールモードクライアント端末である当該クライアント端末が受信したビデオストリームを現在の移動端末装置に表示させ、ユーザの表示された画面に基づいて実行した制御情報を捕捉し、収集した制御情報をホストサーバ側にアップロードするステップ4と、
ホストサーバ側が制御情報を受信した後、ARM Linux Dockerコンテナで実行されるAndroidオンラインゲームアプリに送信するステップ5と、
前記Androidオンラインゲームビデオ及びリモートコントロールモードクライアント端末が作業プロセスにおいて、移動端末装置の性能情報(例えば、移動端末装置のタイプの形式、フォーマット)並びに、Androidオンラインゲームアプリ分散型ビデオ及びリモートコントロールサーバと通信するネットワークステータス情報(例えば、ネットワーク遅延、パケットロスなど)をさらに収集し、収集した性能情報及びネットワークステータス情報をAndroidオンラインゲームアプリ分散型ビデオ及びリモートコントロールサーバにアップロードし、Androidオンラインゲームアプリ分散型ビデオ及びリモートコントロールサーバが受信した性能情報及びネットワークステータス情報に基づいて、送信されるビデオストリームのサイズ(例えば、ビデオストリームのフォーマット及びパラメータの調整)及びネットワーク送信パラメータ(例えば、通信層のプロトコルパラメータの調整)をリアルタイムで調整するステップ6と、を含む。これにより、前記方法は、複数の端末及び複数のネットワーク並びにネットワークの送信帯域幅及び品質状況によく適応することができる。
【0030】
実施における方法ステップの詳細なプロセスは次のとおりである。ユーザは、Androidオンラインゲームビデオ及びリモートコントロールモードクライアント端末でスマートフォン及びそのセンサを操作する。当該クライアント端末は、入力プロトコルを介してこれらの操作作動情報及びセンサ情報をホストサーバ側に送信してから、ホストサーバ側を介してDockerコンテナに対応するAndroid OSにおけるAndroidオンラインゲームのアプリ側に送信し、これらの情報により当該Androidオンラインゲームのアプリ側の制御が実現される。制御が完了した後、Androidオンラインゲームのアプリ側は、Android OSのlibdrmを介してAndroid OS自体のMesaを呼び出し、Dockerを介してマッピングされたARM Linuxローカルグラフィックカードを利用して画像をレンダリング及びミキシングしてから、socketを介して合成された画像boロゴをホストサーバ側に送信する。ホストサーバ側は画像boロゴを取得した後、vaapiを呼び出してビデオストリームに圧縮してから、プロトコルを介して表示するためにAndroidオンラインゲームビデオ及びリモートコントロールモードクライアント端末に送信する。