当業者が本開示内の解決策をよりよく理解するのを容易にするために、本開示の実施形態における技術的解決策は、本開示の実施形態における図面に関連してこの後に明瞭かつ完全に説明される。当然ながら、説明される実施形態は、本開示の実施形態のうちの少数にすぎない。創作的労力を伴わずに本開示の実施形態に基づいて当業者が入手するすべての他の実施形態は、本開示の保護範囲に含まれる。
本開示の本明細書、特許請求の範囲、および図面内の用語「第1の」、「第2の」、および類似物が、特定のシーケンスまたは順序を記述するのではなく、同様の物体を区別するのに使用されることに留意されたい。この形で使用される用語が、適当な状況の下で交換可能であり、本明細書で説明される本開示の実施形態が、図示されまたは本明細書内で説明されるものに加えて、他のシーケンスにおいて実施され得ることを理解されたい。さらに、「含む」、「有する」、およびそのすべての他の変形などの用語は、非排他的エンクロージャを包含することが意図されている。たとえば、一連のステップまたはユニットを含む、プロセス、方法、システム、製品、またはデバイスは、明瞭にリストされたステップまたはユニットに限定されず、オプションで、リストされないまたはプロセス、方法、製品、もしくはデバイスに固有ではない他のステップまたはユニットを含む。
第1の実施形態
端末間でアプリケーションデータを移行するための方法実施形態が、本開示の一実施形態に従って提供される。図面の流れ図内に示されたステップが、コンピュータ実行可能命令のセットなど、コンピュータシステム内で実行され得ることに留意されたい。さらに、論理シーケンスが流れ図内に示されるが、図示されまたは説明されるステップが、いくつかの状況で本明細書で説明されるシーケンスとは異なる他のシーケンスにおいて実行され得る。
本開示の第1の実施形態による方法実施形態は、モバイル端末、コンピュータ端末、または類似物などの算術デバイス上で実施され得る。コンピュータ端末デバイス上の動作を例にとると、図1は、本開示の実施形態による端末間でアプリケーションデータを移行するための方法を実行するコンピュータ端末のハードウェアの構造ブロック図である。図1に示されているように、第1の端末デバイスとして働くコンピュータ端末10は、1つまたは複数の(この図には1つだけを図示)プロセッサ102、データを記憶するように構成されたメモリ104、および通信機能を実行するための伝送デバイス106を含む。プロセッサ102は、マイクロコントローラユニットMCUまたはフィールドプログラマブルゲートアレイFPGAを含むことができるが、これらに限定されない。当業者は、図1に示された構造が、例示のみのためのものであり、上記の電子デバイスの構造が、これに限定されないことを理解することができる。たとえば、コンピュータ端末10は、図1に示された構成要素より多数またはより少数の構成要素を含むことができ、あるいは、図1とは異なる構成を有することができる。
メモリ104は、本開示の実施形態に従って端末間でアプリケーションデータを移行するための方法に対応するプログラム命令/モジュールなど、ソフトウェアプログラムおよびアプリケーションのモジュールを記憶するように構成され得る。プロセッサ102は、メモリ104内に記憶されたソフトウェアプログラムおよびモジュールを実行することによって、様々な機能アプリケーションおよびデータ処理すなわち、端末間でアプリケーションデータを移行するための上記の方法の実施を実行する。メモリ104は、高速ランダムアクセスメモリを含むことができ、1つまたは複数の磁気ストレージデバイス、フラッシュメモリ、または他の不揮発性ソリッドステートメモリなどの不揮発性メモリをも含むことができる。いくつかの実施形態において、メモリ104は、プロセッサ102からリモートに配置されたメモリをさらに含むことができ、リモートメモリは、ネットワークを介してコンピュータ端末10に接続され得る。ネットワークの例は、インターネット、イントラネット、ローカルエリアネットワーク、モバイル通信ネットワーク、およびその組合せを含むが、これらに限定されない。
伝送デバイス106は、ネットワークを介してデータを受信しまたは送信するように構成される。ネットワークの例は、コンピュータ端末10の通信プロバイダによって提供されるワイヤレスネットワークを含むことができる。一例では、伝送デバイス106は、基地局を介して他のネットワークデバイスに接続され得、これによってインターネットと通信することのできるネットワークインターフェースコントローラ(NIC)を含む。一例では、伝送デバイス106は、ワイヤレスモードにおいてインターネットと通信するように構成された無線周波数(RF)モジュールとされ得る。
上記の動作環境内で、端末間でアプリケーションデータを移行するための方法が、図2に示されているように本開示に従って提供される。図2は、本開示の第1の実施形態による、端末間でアプリケーションデータを移行するための方法の流れ図である。
図2に示されているように、端末間でアプリケーションデータを移行するための方法は、ステップS20からS28を含むことができる。
ステップS20において、アプリケーションが、第1の端末デバイス上で実行させられる。
上記の解決策のアプリケーションは、スーパーマリオ(登録商標)またはPlane Warsなどのゲームタイプアプリケーションを含むが、これらに限定されないことに留意されたい。第1の端末デバイスは、スマートフォンまたはタブレットコンピュータなどのインテリジェント端末デバイスを含むが、これらに限定されない。
ステップS22において、第1の端末デバイスが、移行命令を受信し、第1の端末上で実行するアプリケーションの第1の状態のリソースデータを入手する。第1の状態は、スタートアップから移行命令が受信される瞬間までの期間中のアプリケーションの状態である。
上記のステップS22のオプションの実施態様において、第1の端末デバイス上でアプリケーションを実行させる過程において、第1の瞬間に移行命令を受信した後に、第1の端末デバイスは、第1の端末デバイスがアプリケーションを起動する瞬間から第1の瞬間までの期間中にアプリケーションの動作のリソースデータを入手することができる。
第1の端末デバイス上でアプリケーションを実行させる上記の過程において、ユーザは、第1の瞬間に第1の端末デバイスに移行命令を送ることができる。移行命令が、第1の端末デバイス上に表示されるボタンコントロールがユーザによってトリガされた後に生成される命令とされ得、あるいは、サードパーティデバイスによって第1の端末デバイスに送信される命令とされ得ることに留意されたい。移行命令を受信した後に、第1の端末デバイスは、移行命令に応答して、アプリケーションの起動から第1の瞬間までの期間中のアプリケーションの動作のリソースデータを入手する。リソースデータは、スタートアップから第1の瞬間までの期間中のアプリケーションのシナリオデータとされ得る。
たとえば、ユーザは、端末デバイス上でスーパーマリオゲームを実行させる。端末デバイス上でスーパーマリオを実行させる過程において、ユーザは、劣悪なゲーム経験を有する。たとえば、ユーザは、ゲームが難しすぎると感じ、友人に助けを求めたいと思い、または友人にゲームを経験してもらいたいと思う。第1の瞬間に、ユーザは、移行命令を生成するために、端末デバイス上のボタンコントロールをトリガすることができる。移行命令の受信時に、端末デバイスは、スタートアップから第1の瞬間までの期間中のスーパーマリオのリソースデータを即座に入手する。第1の瞬間が、スーパーマリオゲームがあるステージまたはゲームレベルに達する時点とされ得ることに留意されたい。ゲーム内でユーザによって実行されるいくつかの操作のゆえに、スーパーマリオゲームは、ある経過またはステージに達する。したがって、リソースデータは、次のデータのうちの複数になる可能性がある。ゲーム自体のアプリケーション、第1の瞬間におけるスーパーマリオゲームの第nのレベルのシナリオデータ(水シナリオまたは陸シナリオなど)、およびユーザによって制御されるキャラクタの特徴(キャラクタのサイズ、アミュレットの有無、およびファイアボールの機能の有無など)。
ステップS24において、リソースデータが、所定のストレージアドレスに記憶される。
本開示による上記のステップS24は、リソースデータを所定のストレージアドレスにある所定の磁気ディスクに記憶することによって実施され得る。所定の磁気ディスクは、第1の端末デバイス自体の磁気ディスクとされ得、あるいは、サードパーティサーバによって提供されるデータベースディスクとされ得る。移行命令を受信した後に、第1の端末デバイスは、コンテキストファイルフォーマットなどのファイルフォーマットにおいてアプリケーションのリソースデータを記憶することができる。リソースデータが、ローカルに記憶され、クラウド内に記憶され、ネットワークを介してバックグラウンドにおいて記憶され、または他の形で記憶され得ることがわかる。
ステップS26において、第2の端末デバイスが、リソースデータの移行の宛先として決定される。第2の端末デバイスは、アプリケーションを伴って構成される。好ましくは、2つの端末デバイスの間の通信関係は、2つの端末デバイスが移行関係を有するように、移行命令が第1の端末デバイスによって受信される時または移行命令が第1の端末デバイスによって受信される前に確立され得る。
第2の端末デバイスは、上記のステップS24において、ユーザがアプリケーションを移行することを望むターゲット端末デバイスとされ得る。今まで通りユーザが端末デバイス上でスーパーマリオゲームを実行させるケースを例にとると、スーパーマリオゲームを操作する過程において、ユーザは、ゲームが難しすぎると感じ、友人に助けを求めたいと思う、すなわち、ユーザは、友人にスーパーマリオゲームを経験してもらい、ゲーム戦略を提供してもらいたいと思う。スーパーマリオゲームを実行させる第1の端末デバイスに移行命令を送る間に、ユーザは、スーパーマリオゲームをユーザの友人すなわち第2の端末デバイスに移行すると決定する。
ステップS28において、リソースデータのストレージアドレスが、第2の端末デバイスに送信され、第2の端末デバイスは、ストレージアドレスにアクセスすることによってリソースデータを入手し、リソースデータをロードする。好ましくは、第2の端末デバイスは、所定の磁気ディスクからリソースデータを入手することができる。
アプリケーションのリソースデータを入手した後に、第2の端末デバイスは、上記のステップS28において、そのローカルアプリケーションにリソースデータをロードすることができる。すなわち、第2の端末は、第1の端末デバイスと同一のアプリケーションを実行させる。
今まで通りユーザが端末デバイス上でスーパーマリオゲームを実行させるケースを例にとると、スーパーマリオゲームを操作する過程において、ユーザは、ゲームが難しすぎると感じ、友人に助けを求めたいと思う、すなわち、ユーザは、友人にスーパーマリオゲームを経験してもらい、ゲーム戦略を提供してもらいたいと思う。ユーザは、スーパーマリオゲームのアプリケーションデータと、スーパーマリオゲームの第nのレベルのシナリオデータ(水シナリオまたは陸シナリオなど)およびユーザによって制御されるキャラクタの特徴(キャラクタのサイズ、アミュレットの有無、およびファイアボールの機能の有無など)などの第1の瞬間のスーパーマリオゲームのリソースデータとを、端末デバイスを介して所定の磁気ディスクに送信する。その後、ユーザの友人すなわち第2の端末デバイスは、リソースデータを入手し、彼自身の端末デバイスにリソースデータをロードすることができる。
上記から、本開示の第1の実施形態による解決策において、第1の端末上でアプリケーションを実行させる過程において、第1の瞬間に移行命令を受信した後に、第1の端末デバイスが、第1の端末デバイスがアプリケーションを起動した瞬間から第1の瞬間までの期間中のアプリケーションの動作のリソースデータを入手し、リソースデータを所定のストレージアドレスに記憶することがわかる。移行命令が第1の端末デバイスによって受信される時に、第2の端末デバイスがリソースデータのストレージアドレスに基づいてリソースデータを入手するように、第1の端末デバイスとの移行関係を有する第2の端末デバイスが決定され得る。上記の解決策を用いると、ユーザの端末デバイス上で実行するアプリケーションのリソースデータは、ユーザの友人の端末デバイスに送信され得、ユーザの友人の端末デバイスは、上記のリソースデータに基づいてアプリケーションを実行させることができる。この形において、アプリケーションが共有され、端末デバイス間でアプリケーションリソースを共有する時に端末デバイス間の協力の効率が悪いという従来の技術における技術的問題が解決される。
図3に示されているように、本開示におけるオプションの解決策によれば、上記のステップS22は、ステップS221からS223をさらに含むことができる。
ステップS221において、第1の端末デバイスが、第1の瞬間に移行命令を受信し、移行命令をアプリケーションカーネルモジュールに転送する。
ステップS222において、第1の端末デバイスが、移行命令に応答してアプリケーションカーネルモジュールによって生成されたブレークポイント命令を受信する。
図5を参照すると、本開示による上記のステップS222内のブレークポイント命令は、移行命令が第1の端末デバイスによって受信された後に、移行命令に応答して第1の端末デバイスのバックグラウンドにおいてアプリケーションカーネルモジュールによって生成される命令とされ得る。具体的には、アプリケーションカーネルモジュールは、ブレークポイント命令を生成するためのポートを提供する。移行命令が受信された後に、ブレークポイント命令は、ポートを介してBLCRデータベースLIB内のブレークポイント関数を呼び出すことによって生成され、ブレークポイント命令は、第1の端末デバイスに返される。
ステップS223において、第1の端末デバイスが、ブレークポイント命令に応答してアプリケーションを一時停止し、アプリケーションの第1の状態のリソースデータを入手する。
本開示による上記のステップS223を介して、アプリケーションカーネルモジュールによって生成されたブレークポイント命令が第1の端末デバイスによって受信された後に、ブレークポイント命令は、現在実行中のアプリケーションを一時停止するように第1の端末デバイスを制御する。一時停止する時刻は、第1の瞬間である。すなわち、バックグラウンドは、第2の端末に同期化されるリソースデータが、第1の端末デバイスによるアプリケーションの起動から第1の瞬間までの期間中のリソースデータであることを知らされる。本明細書で説明されるリソースデータは、少なくとも、オペレーティング環境、アプリケーションを実行させる様々な関数の関数名、ならびにアプリケーションを実行させる様々なオブジェクトの名前およびコンテンツを含む。リソースデータは、第2の端末デバイス上のシナリオおよびコンテンツが、リソースデータが第2の端末デバイスによってロードされた後に、第1の端末デバイス上のシナリオおよびコンテンツと正確に同一であることを保証する。
今まで通りユーザが端末デバイス上でスーパーマリオゲームを実行させるケースを例にとると、ユーザの端末デバイスは、アプリケーションカーネルから受信されたブレークポイント命令に応答して実行中のスーパーマリオゲームを一時停止し、さらに、スーパーマリオゲームの第nのレベルのシナリオデータ(水シナリオまたは陸シナリオなど)およびユーザによって制御されるキャラクタの特徴(キャラクタのサイズ、アミュレットの有無、およびファイアボールの機能の有無など)など、ユーザの端末デバイスがスーパーマリオゲームを起動した瞬間から第1の瞬間までの期間中のスーパーマリオゲームの動作のリソースデータを入手するステップを実行する。
図4に示されているように、本開示の別のオプションの解決策によれば、ステップS28の後に、端末間でアプリケーションデータを移行するための方法は、以下のステップS30およびS32をさらに含むことができる。
ステップS30において、アプリケーションカーネルモジュールが、再起動インターフェースを介して第2の端末デバイスに再起動命令を送信する。再起動インターフェースは、アプリケーションカーネルモジュールによって提供される。
図5を参照すると、本開示による上記のステップS30内の再起動命令は、リソースデータが第2の端末デバイスによって所定のストレージアドレスから入手された後に、第2の端末デバイスのバックグラウンドにおいてアプリケーションカーネルモジュールによって提供される命令とされ得る。再起動命令は、アプリケーションを起動し、入手されたリソースデータを現在実行中のアプリケーションにロードするように第2の端末デバイスを制御するのに使用される。具体的には、アプリケーションカーネルモジュールは、再起動命令を生成するためのポートを提供する。再起動命令が受信された後に、再起動命令は、ポートを介してデータベースLIB内の再起動関数およびロード関数を呼び出すことによって生成される。
ユーザが端末デバイス上でスーパーマリオゲームを実行させるケースを例にとると、ユーザの友人の端末デバイスすなわち上で説明された第2の端末デバイスは、スーパーマリオゲームを操作することによってユーザの端末デバイスによって入手された第1の瞬間のゲームのデータを受信した後に、アプリケーションカーネルモジュールによって提供される再起動インターフェースを介して、アプリケーションカーネルモジュールによって送信された再起動命令を受信する。
ステップS32において、第2の端末デバイスおよび第1の端末デバイスがアプリケーションを第1の状態において同期させて実行するように、第2の端末デバイスが、再起動命令に応答してアプリケーションを起動する。
今まで通りユーザが端末デバイス上でスーパーマリオゲームを実行させるケースを例にとると、ユーザの友人の端末デバイスすなわち上で説明された第2の端末デバイスは、再起動命令に応答して、入手されたスーパーマリオゲームを起動することができる。スーパーマリオゲームの第nのレベルのシナリオデータ(水シナリオまたは陸シナリオなど)およびユーザによって制御されるキャラクタの特徴(キャラクタのサイズ、アミュレットの有無、およびファイアボールの機能の有無など)など、ユーザの端末デバイスがスーパーマリオゲームを起動する瞬間から第1の瞬間までの期間中のスーパーマリオゲームの動作のリソースデータが、第2の端末デバイスによって入手されるので、第2の端末デバイスおよび第1の端末デバイスが、スーパーマリオゲームを第1の瞬間から同期させて実行することができることに留意されたい。すなわち、スーパーマリオゲームを第2の端末デバイス上で実行する時に、ゲームプロセス、シナリオ、およびゲームキャラクタの特徴などのデータは、第1の端末デバイス上で実行するスーパーマリオゲームのデータと正確に同一であり、これによってゲーム同期化が達成される。
図6に示されているように、本開示の別のオプションの解決策によれば、ステップS28は、ステップS281からS282をさらに含む。
ステップS281において、リソースデータのストレージアドレスが、第2の端末デバイスに送信される。
上記のステップS281内のリソースデータのストレージアドレスは、所定の磁気ディスクのアドレスとされ得る。所定の磁気ディスクのアドレスは、第1の端末デバイスのローカルディスクのアドレスまたはサードパーティサーバによって提供されるデータベースディスクのアドレスとされ得る。
ステップS282において、第2の端末デバイスは、リソースデータのストレージアドレスに基づいて所定の磁気ディスクにアクセスし、所定の磁気ディスクから記憶されたリソースデータを入手する。
ユーザが端末デバイス上でスーパーマリオゲームを実行させるケースを例にとると、第2の端末デバイスは、ユーザの友人の端末デバイスとされ得る。ユーザの友人の端末デバイスによって所定の磁気ディスクから入手されるリソースデータが、スーパーマリオゲームを実行させるステージにおいてユーザの端末デバイスすなわち第1の端末デバイスによって生成されたデータとされ得ることに留意されたい。すなわち、リソースデータは、第1の瞬間のスーパーマリオゲームの第nのレベルのシナリオデータ(水シナリオまたは陸シナリオなど)およびユーザによって制御されるキャラクタの特徴(キャラクタのサイズ、アミュレットの有無、およびファイアボールの機能の有無など)など、第1の瞬間に生成されたデータとされ得る。
好ましくは、本開示による上記のステップにおいて、所定の磁気ディスクのアドレスは、ネットワーク通信モード、Bluetooth(登録商標)通信モード、ニアフィールドペイメント(near field payment)モード、およびショートメッセージモードという送信モードのうちの少なくとも1つにおいて第2の端末デバイスに送信され得る。
ユーザが端末デバイス上でスーパーマリオゲームを実行させるケースを例にとると、ユーザの端末デバイス上で実行するスーパーマリオゲームのリソースデータが、所定の磁気ディスクに記憶された後に、所定の磁気ディスクのアドレスは、ネットワーク通信モード、Bluetooth通信モード、ニアフィールドペイメントモード、およびショートメッセージモードというモードにおいてユーザの友人の端末デバイスに送信され得る。ユーザの友人の端末デバイスは、所定の磁気ディスクのアドレスに基づいてリソースデータを入手することができる。
たとえば、Wi-Fi通信モードが採用される場合に、第1の端末は、Wi-Fiを介して照会することによって第2の端末デバイスのアクセスアドレスを入手し、第2の端末デバイスのアクセスアドレスに基づいて、リソースデータを記憶するための所定の磁気ディスクのアドレスを第2の端末デバイスに送信することができる。
結論として、図7を参照すると、本開示の第1の実施形態によるアプリケーションは、スーパーマリオまたはPlane Warsなどのゲームのクライアントアプリケーションとされ得る。第1の端末デバイスおよび第2の端末デバイスは、それぞれ、スマートフォンまたはタブレットコンピュータなどのモバイル端末とされ得る。本開示における解決策を3つのオプションのアプリケーションシナリオに適用することによって実現される機能を、以下で詳細に説明する。
ステップAにおいて、グラフィックスアプリケーションAPP移行技術が、第1のモバイル端末および第2のモバイル端末に適用される。ゲームクライアントが、第1のモバイル端末および第2のモバイル端末にインストールされた後に、グラフィックスアプリケーションAPP移行は、第1のモバイル端末上の移行ボタンをトリガすることによって起動される、すなわち、ゲームは、友人が実行中のアプリケーションを操作し続けることを可能にするために、第1のモバイル端末上での実行の過程において第2のモバイル端末(友人の携帯電話機)に切り替えられる。
ステップBにおいて、第1のモバイル端末上の移行ボタンが第1の瞬間にトリガされた後に、アプリケーションカーネルモジュールは、第1のモバイル端末のバックグラウンドにおいて、第1のモバイル端末上で実行しているゲームを第1の瞬間に一時停止するための一時停止命令と、第1の瞬間が所定のアドレスにあるメモリに記憶される前のゲームのリソースデータとを送る。
ステップCにおいて、第1のモバイル端末は、ある通信モードにおいて、メモリの所定のアドレスを第2のモバイル端末に送信する。
ステップDにおいて、第2のモバイル端末は、メモリの所定のアドレスに基づいて、第1の瞬間の前の、第1のモバイル端末上のゲームのリソースデータを入手する。
ステップEにおいて、再起動命令を受信した後に、第2のモバイル端末は、ローカルゲームアプリケーションを起動し、ゲームの入手されたリソースデータを現在実行中のゲームアプリケーションにロードし、これによって、ゲームを第1のモバイル端末から引き継ぐ。
上記から、本開示のステップAからEの解決策が、端末間の有効で効率的な相互作用を達成するために、以下のアプリケーションシナリオに適用され得ることがわかる。
第1のアプリケーションにおいて、第1のモバイル端末上のAPPがあるステージに達する時に、ユーザAは、上記の解決策を用いて、第1のモバイル端末上の切替の前のシナリオからAPPを操作し続けるために、ユーザBの携帯電話機などの第2のモバイル端末にAPPを瞬間的に切り替え、これによって、ある端末上のAPPを別の端末上の同一のAPPによって引き継ぐことができる。
第2のアプリケーションにおいて、グラフィックスアプリケーションAPP移行技術が、ソーシャルゲームに適用される。具体的には、第1のモバイル端末のユーザAが、ゲームAPPをあるゲームレベルまで実行させる時に、携帯電話機などの第2のモバイル端末のユーザBが、この解決策を用いて瞬間的に第1のモバイル端末のユーザAのゲームアプリケーションに参加することができ、その結果、ゲームのシナリオが、切替の時の前のシナリオから継続され得るようになる。
具体的には、オプションの解決策において、ユーザBは、ユーザAのゲームレベルを引き継ぎ、ゲームを継続することができる。
本開示の別の実施形態によれば、ステップS32の後に、この方法は、第2の端末デバイスおよび第1の端末デバイスがアプリケーションを第1の状態において同期させて実行するように、第2の端末デバイスによって、アプリケーション内で新しいオブジェクトを作成するステップであって、作成される新しいオブジェクトは、第2の端末デバイスのユーザによって制御される、作成するステップをさらに含むことができる。
オプションの解決策において、ゲームは、2つの端末の間で共有され得る。すなわち、第2の端末デバイスは、第1のモバイル端末のユーザAのゲームを継続できるだけではなく、同一の形でユーザBのゲームリソースをユーザAにフィードバックすることもでき、これによって、2人のゲームユーザによって一緒にゲームをプレイすることができる。この形において、ユーザAおよびユーザBは、1つのゲーム内でお互いに対抗してプレイすることができる。
第3のアプリケーションにおいて、グラフィックスアプリケーションAPP移行技術は、ホームデバイスにも適用され得る。具体的には、第1のモバイル端末のユーザAが、携帯電話機上でゲームなどのアプリケーションを経験し、その後、そのゲームを継続するために家の中のPCマシンまたは家の中のテレビジョンに切り替えることを望む場合に、移行は、本開示による上記の解決策を用いて瞬間的に完了され得る。
上記の方法実施形態が、単純さのために一連のアクションの組合せとして表されることに留意されたい。当業者は、本開示によれば、いくつかのステップが他のシーケンスにおいて実行され得、あるいは、同時に実行され得るので、本開示が、アクションの説明されるシーケンスに限定されないことを知るべきである。さらに、当業者は、本明細書内で説明される実施形態のすべてが、好ましい実施形態であり、用いられるアクションおよびモジュールが、本開示に必要ではないことを知るべきである。
上記の実施態様の説明に基づいて、当業者は、上記の実施形態による方法が、ソフトウェアと必要な全般的なハードウェアプラットフォームとによってまたはハードウェアによって実施され得ることを理解することができる。ほとんどの状況において、前者が好ましい実施態様である。この理解に基づいて、本開示の技術的解決策の本質または技術的解決策のうちで従来の技術に貢献する部分は、記憶媒体(ROM/RAM、磁気ディスク、または光ディスクなど)内に記憶され、本開示の実施形態による方法を実行するように端末デバイス(携帯電話機、コンピュータ、サーバ、またはネットワークデバイスなどとされ得る)を制御するための複数の命令を含む、ソフトウェア製品の形において実施され得る。
第2の実施形態
上記の方法実施形態を実施するデバイス実施形態が、本開示の実施形態に従ってさらに提供される。本開示の実施形態による装置は、コンピュータ端末内で動作することができる。
図8は、本開示の第2の実施形態による、端末間でアプリケーションデータを移行するための装置の概略構造図である。
図8に示されているように、端末間でアプリケーションデータを移行するための装置は、実行モジュール80、第1の入手モジュール82、第1の記憶モジュール84、判定モジュール86、および第1の移行モジュール88を含むことができる。
具体的には、実行モジュール80は、第1の端末デバイス上でアプリケーションを実行させるように構成される。
第1の入手モジュール82は、移行命令を受信し、第1の端末デバイス上で実行するアプリケーションの第1の状態のリソースデータを入手するように構成され、第1の状態は、スタートアップから移行命令が受信される瞬間までの期間中のアプリケーションの状態である。
第1の記憶モジュール84は、リソースデータを所定のストレージアドレスに記憶するように構成される。
決定モジュール86は、リソースデータの移行の宛先として第2の端末デバイスを決定するように構成され、第2の端末デバイスは、アプリケーションを伴って構成される。
第1の移行モジュール88は、リソースデータのストレージアドレスを第2の端末デバイスに送信するように構成され、第2の端末デバイスは、ストレージアドレスにアクセスすることによってリソースデータを入手し、リソースデータをロードする。
上記から、本開示の第2の実施形態による解決策において、第1の端末デバイス上でアプリケーションを実行させる過程において、第1の瞬間に移行命令を受信した後に、第1の端末デバイスが、第1の端末デバイスがアプリケーションを起動する瞬間から第1の瞬間までの期間中のアプリケーションの動作のリソースデータを入手し、リソースデータを所定のストレージアドレスに記憶することがわかる。移行命令が第1の端末デバイスによって受信される時に、第2の端末デバイスがリソースデータのストレージ経路に基づいてリソースデータを入手するように、第1の端末デバイスとの移行関係を有する第2の端末デバイスが決定され得る。上記の解決策を用いると、ユーザの端末デバイス上で実行するアプリケーションのリソースデータは、ユーザの友人の端末デバイスに送信され得、ユーザの友人の端末デバイスは、上記のリソースデータに基づいてアプリケーションを実行させることができる。この形において、アプリケーションが共有され、端末デバイス間でアプリケーションリソースを共有する時に端末デバイス間の協力の効率が悪いという従来の技術における技術的問題が解決される。
実行モジュール80、第1の入手モジュール82、第1の記憶モジュール84、判定モジュール86、および第1の移行モジュール88が、第1の実施形態内のステップS20からS28に対応することに留意されたい。モジュールの例およびアプリケーションシナリオは、対応するステップのそれらと同一であるが、第1の実施形態において開示された内容に限定はされない。装置の一部としてのモジュールが、第1の実施形態に従ってコンピュータ端末10内で動作することができ、ソフトウェアまたはハードウェアによって実施され得ることに留意されたい。
好ましくは、図9に示されているように、第1の入手モジュール82は、第1の送信ユニット821、ブレークポイント命令生成ユニット822、および入手ユニット823をさらに含むことができる。
具体的には、送信ユニット821は、第1の瞬間に移行命令を受信し、移行命令をアプリケーションカーネルモジュールに転送するように構成される。
ブレークポイント命令生成ユニット822は、第1の端末デバイスによって、移行命令に応答してアプリケーションカーネルモジュールによって生成されたブレークポイント命令を受信するように構成される。
入手ユニット823は、ブレークポイント命令に応答してアプリケーションを一時停止し、アプリケーションの第1の状態のリソースデータを入手するように構成される。
第1の送信ユニット821、ブレークポイント命令生成ユニット822、および入手ユニット823が、第1の実施形態内のステップS221からS223に対応することに留意されたい。モジュールの例およびアプリケーションシナリオは、対応するステップのそれらと同一であるが、第1の実施形態において開示された内容に限定はされない。装置の一部としてのモジュールが、第1の実施形態に従ってコンピュータ端末10内で動作することができ、ソフトウェアまたはハードウェアによって実施され得ることに留意されたい。
好ましくは、図10に示されているように、端末間でアプリケーションデータを移行するための装置は、第2の送信モジュール90をさらに含むことができる。
具体的には、第2の送信モジュール90は、第2の端末デバイスおよび第1の端末デバイスがアプリケーションを第1の状態において同期させて実行するように、アプリケーションカーネルモジュールによって提供される再起動インターフェースを介して第2の端末デバイスに再起動命令を送信し、第2の端末デバイスによって、再起動命令に応答してアプリケーションを起動し、リソースデータをロードするように構成される。
第2の送信モジュール90が、第1の実施形態内のステップS30からS32に対応することに留意されたい。モジュールの例およびアプリケーションシナリオは、対応するステップのそれらと同一であるが、第1の実施形態において開示された内容に限定はされない。装置の一部としてのモジュールが、第1の実施形態に従ってコンピュータ端末10内で動作することができ、ソフトウェアまたはハードウェアによって実施され得ることに留意されたい。
一実施形態において、図11に示されているように、第1の移行モジュール88は、第3の送信ユニット881および第1のアクセスユニット882をさらに含むことができる。
具体的には、第3の送信ユニット881は、所定のストレージアドレスを第2の端末デバイスに送信するように構成される。第1のアクセスユニット882は、所定のストレージアドレスに基づいて所定の磁気ディスクにアクセスし、所定の磁気ディスクから記憶されたリソースデータを入手するように構成される。
第3の送信ユニット881および第1のアクセスユニット882が、第1の実施形態内のステップS281からS282に対応することに留意されたい。この2つのモジュールの例およびアプリケーションシナリオは、対応するステップのそれらと同一であるが、第1の実施形態において開示された内容に限定はされない。装置の一部としてのモジュールが、第1の実施形態に従ってコンピュータ端末10内で動作することができ、ソフトウェアまたはハードウェアによって実施され得ることに留意されたい。
好ましくは、本開示の第2の実施形態による解決策において、所定の磁気ディスクのアドレスは、ネットワーク通信モード、Bluetooth通信モード、ニアフィールドペイメントモード、およびショートメッセージモードという送信モードのうちの1つまたは複数において第2の端末デバイスに送信され得る。
上記から、本開示の上記のデバイス実施形態によって実現される解決策が、端末間の有効で効率的な相互作用を達成することのできる、以下のアプリケーションシナリオに適用され得ることがわかる。
第1のアプリケーションにおいて、第1のモバイル端末上のAPPがあるステージに達する時に、ユーザAは、上記の解決策を用いて、第1のモバイル端末上の切替の前のシナリオからAPPのシナリオを操作し続けるために、ユーザBの携帯電話機などの第2のモバイル端末にAPPを瞬間的に切り替え、これによって、ある端末上のAPPを別の端末上の同一のAPPによって引き継ぐことができる。
第2のアプリケーションにおいて、グラフィックスアプリケーションAPP移行技術が、ソーシャルゲームに適用される。具体的には、第1のモバイル端末のユーザAが、ゲームAPPをあるゲームレベルまで実行させる時に、携帯電話機などの第2のモバイル端末のユーザBが、この解決策を用いて瞬間的に第1のモバイル端末のユーザAのゲームアプリケーションに参加することができ、その結果、ゲームのシナリオが、切替の時の前のシナリオから継続され得るようになる。
具体的には、オプションの解決策において、ユーザAのゲームレベルが、ゲームを継続するために引き継がれ得る。
本開示の別の実施形態によれば、リソースデータをロードした後に、第2の端末デバイスは、第2の端末デバイスおよび第1の端末デバイスがアプリケーションを第1の状態において同期させて実行するように、アプリケーション内で新しいオブジェクトを作成する。作成される新しいオブジェクトは、第2の端末デバイスのユーザによって制御される。
オプションの解決策において、ゲームは、2つの端末の間で共有され得る。すなわち、第2の端末デバイスは、第1のモバイル端末のユーザAのゲームを継続できるだけではなく、同一の形でユーザBのゲームリソースをユーザAにフィードバックすることもでき、これによって、2人のゲームユーザによって一緒にゲームをプレイすることができる。この形において、ユーザAおよびユーザBは、1つのゲーム内でお互いに対抗してプレイすることができる。
第3のアプリケーションにおいて、グラフィックスアプリケーションAPP移行技術は、ホームデバイスにも適用され得る。具体的には、第1のモバイル端末のユーザAが、携帯電話機上でゲームなどのアプリケーションを経験し、その後、そのゲームを継続するために家の中のPCマシンまたは家の中のテレビジョンに切り替えることを望む場合に、移行は、本開示による上記の解決策を用いて瞬間的に完了され得る。
第3の実施形態
上記のデバイス実施形態を実施するシステム実施形態が、本開示の実施形態に従ってさらに提供される。図12は、本開示の第3の実施形態による、端末間でアプリケーションデータを移行するためのシステムの概略構造図である。
図12に示されているように、端末間でアプリケーションデータを移行するためのシステムは、第1の端末デバイス90と第2の端末デバイス92とを含むことができる。
具体的には、第1の端末デバイス90は、アプリケーションを実行させ、移行命令を受信し、第1の端末デバイス上で実行するアプリケーションの第1の状態のリソースデータを入手し(第1の状態は、スタートアップから移行命令が受信される瞬間までの期間中のアプリケーションの状態である)、リソースデータを所定のストレージアドレスに記憶し、リソースデータの移行の宛先として第2の端末デバイスを決定し、リソースデータのストレージアドレスを第2の端末デバイスに送信するように構成される。
第2の端末デバイス92は、アプリケーションを伴って構成され、第1の端末デバイスとの通信関係を有し、リソースデータのストレージアドレスにアクセスすることによってリソースデータを入手し、リソースデータをロードするように構成される。すなわち、第2の端末デバイスは、リソースデータのストレージアドレスに基づいてリソースデータを入手し、リソースデータをそのローカルアプリケーションにロードする。
上記から、本開示の第3の実施形態による解決策において、第1の端末デバイス上でアプリケーションを実行させる過程において、第1の瞬間に移行命令を受信した後に、第1の端末デバイスが、第1の端末デバイスがアプリケーションを起動する瞬間から第1の瞬間までの期間中のアプリケーションの動作のリソースデータを入手し、リソースデータを所定の経路にある所定の磁気ディスクに記憶することがわかる。移行命令が第1の端末デバイスによって受信される時に、第2の端末デバイスが所定の磁気ディスクからリソースデータを入手するように、第1の端末デバイスとの移行関係を有する第2の端末デバイスが決定される。上記の解決策を用いると、ユーザの端末デバイス上で実行するアプリケーションのリソースデータは、ユーザの友人の端末デバイスに送信され得、ユーザの友人の端末デバイスは、上記のリソースデータに基づいてアプリケーションを実行させることができる。この形において、アプリケーションが共有され、端末デバイス間でアプリケーションリソースを共有する時に端末デバイス間の協力の効率が悪いという従来の技術における技術的問題が解決される。
このシステム実施形態内のアプリケーションが、スーパーマリオまたはPlane Warsなどのゲームタイプアプリケーションに限定されないことに留意されたい。第1の端末デバイスは、スマートフォンまたはタブレットコンピュータなどのインテリジェント端末デバイスに限定されない。第1の端末デバイス上でアプリケーションを実行させる過程において、ユーザは、第1の瞬間に第1の端末デバイスに移行命令を送ることができる。
さらに、移行命令が、第1の端末デバイス上に表示されるボタンコントロールがユーザによってトリガされた後に生成される命令とされ得、あるいは、サードパーティデバイスによって第1の端末デバイスに送信される命令とされ得ることに留意されたい。移行命令を受信した後に、第1の端末デバイスは、移行命令に応答して、第1の端末デバイスによるアプリケーションの起動から第1の瞬間までの期間中のアプリケーションの動作のリソースデータを入手する。リソースデータは、スタートアップから第1の瞬間までの期間中のアプリケーションのシナリオデータとされ得る。所定の磁気ディスクは、第1の端末デバイス自体の磁気ディスクとされ得、あるいは、サードパーティサーバによって提供されるデータベースディスクとされ得る。移行命令を受信した後に、第1の端末デバイスは、コンテキストファイルフォーマットなどのファイルフォーマットにおいてアプリケーションのリソースデータを記憶することができる。
さらに、第2の端末デバイスは、ユーザがアプリケーションを移行することを望むターゲット端末デバイスとされ得る。アプリケーションのリソースデータを入手した後に、第2の端末デバイスは、そのローカルアプリケーションにリソースデータをロードすることができる、すなわち、第2の端末は、第1の端末デバイスと同一のアプリケーションを実行させる。
好ましくは、このシステムは、メモリと、アプリケーションカーネルの機能を有するサードパーティサーバとをさらに含む。メモリは、リソースデータを記憶するのに使用される。アプリケーションカーネルは、第1の端末デバイスまたは第2の端末デバイスによって提供され得、あるいは、サードパーティサーバによって提供され得る。
このシステムの好ましいまたはオプションの実施形態が、方法の第1の実施形態と同一の実施態様またはアプリケーションシナリオを有することができるが、第1の実施形態の開示に限定されないことに留意されたい。
オプションのアプリケーションにおいて、第1の端末デバイスがアプリケーションを起動する瞬間から第1の瞬間までの期間中のアプリケーションの動作のリソースデータを入手する機能を実行する前に、第1の端末デバイスは、移行命令が第1の端末デバイスによって受信されたことが検出される場合に、アプリケーションカーネルモジュールによって生成されたブレークポイント命令を受信することができる。この場合に、端末デバイスは、ブレークポイント命令に応答してアプリケーションを一時停止し、第1の端末デバイスがアプリケーションを起動する瞬間から第1の瞬間までの期間中のアプリケーションの動作のリソースデータを入手するステップを実行することができる。
上記のシステムのオプションの解決策において、ブレークポイント命令は、移行命令が第1の端末デバイスによって受信された後に、移行命令に応答して第1の端末デバイスのバックグラウンドにおいてアプリケーションカーネルモジュールによって生成される命令とされ得ることに留意されたい。具体的には、アプリケーションカーネルモジュールは、ブレークポイント命令を生成するためのポートを提供する。移行命令が受信された後に、ブレークポイント命令は、ポートを介してデータベースLIB内のブレークポイント関数を呼び出すことによって生成され、ブレークポイント命令は、第1の端末デバイスに返される。
さらに、アプリケーションカーネルモジュールによって生成されたブレークポイント命令が第1の端末デバイスによって受信された後に、ブレークポイント命令は、現在実行中のアプリケーションを一時停止するように第1の端末デバイスを制御する。一時停止する時刻は、第1の瞬間である。すなわち、バックグラウンドは、第2の端末に同期化されるリソースデータが、アプリケーションの起動から第1の瞬間までの期間中の第1の端末デバイス上のリソースデータであることを知らされる。本明細書で説明されるリソースデータは、少なくとも、オペレーティング環境、アプリケーションを実行させる様々な関数の関数名、ならびにアプリケーションを実行させる様々なオブジェクトの名前およびコンテンツを含む。リソースデータは、第2の端末デバイス上のシナリオおよびコンテンツが、リソースデータが第2の端末デバイスによってロードされた後に、第1の端末デバイス上のシナリオおよびコンテンツと正確に同一であることを保証する。
別のオプションの解決策において、システム実施形態において、リソースデータが第2の端末デバイスによって入手された後に、再起動命令が、アプリケーションカーネルモジュールを介して第2の端末デバイスに送信され得る。第2の端末デバイスは、アプリケーションカーネルモジュールによって提供される再起動インターフェースを介して再起動命令を入手する。その後、第2の端末デバイスは、第2の端末デバイスおよび第1の端末デバイスが第1の瞬間から同期させてアプリケーションを実行するように、再起動命令に応答して、リソースデータをロードされるアプリケーションを起動する。
再起動命令は、リソースデータが第2の端末デバイスによって所定の磁気ディスクから入手された後に、第2の端末デバイスのバックグラウンドにおいてアプリケーションカーネルモジュールによって提供される命令とされ得ることに留意されたい。再起動命令は、アプリケーションを起動し、入手されたリソースデータを現在実行中のアプリケーションにロードするように第2の端末デバイスを制御するのに使用される。具体的には、アプリケーションカーネルモジュールは、再起動命令を生成するためのポートを提供する。再起動命令が受信された後に、再起動命令は、ポートを介してデータベースLIB内の再起動関数およびロード関数を呼び出すことによって生成される。
さらに、スーパーマリオゲームの第nのレベルのシナリオデータ(水シナリオまたは陸シナリオなど)およびユーザによって制御されるキャラクタの特徴(キャラクタのサイズ、アミュレットの有無、およびファイアボールの機能の有無など)など、ユーザの端末デバイスがアプリケーションを起動する瞬間から第1の瞬間までの期間中のアプリケーションの動作のリソースデータが、第2の端末デバイスによって入手されるので、第2の端末デバイスおよび第1の端末デバイスが、第1の瞬間から同期させてスーパーマリオゲームを実行することができることに留意されたい。すなわち、スーパーマリオゲームを第2の端末デバイス上で実行する時に、ゲームプロセス、シナリオ、およびゲームキャラクタの特徴などのデータは、第1の端末デバイス上で実行するスーパーマリオゲームのデータと正確に同一であり、これによってゲーム同期化が達成される。
別のオプションの解決策において、第1の端末デバイスとの移行関係を有する第2の端末デバイスが、システムによって決定された後に、所定の磁気ディスクのアドレスが、第2の端末デバイスに送信され得る。その後、第2の端末デバイスは、所定の磁気ディスクのアドレスに基づいて所定の磁気ディスクにアクセスし、所定の磁気ディスクから記憶されたリソースデータを入手する。
好ましくは、システムは、所定の磁気ディスクのアドレスを、ネットワーク通信モード、Bluetooth通信モード、ニアフィールドペイメントモード、およびショートメッセージモードという送信モードのうちの少なくとも1つにおいて第2の端末デバイスに送信することができる。たとえば、Wi-Fi通信モードが採用される場合に、第1の端末は、Wi-Fiを介して照会することによって第2の端末デバイスのアクセスアドレスを入手し、第2の端末デバイスのアクセスアドレスに基づいて、リソースデータを記憶するための所定の磁気ディスクのアドレスを第2の端末デバイスに送信することができる。
第4の実施形態
端末間でアプリケーションデータを移行するための方法実施形態が、本開示の一実施形態に従って提供される。図面の流れ図内に示されたステップが、コンピュータ実行可能命令のセットなど、コンピュータシステム内で実行され得ることに留意されたい。さらに、論理シーケンスが流れ図内に示されるが、図示されまたは説明されるステップが、いくつかの状況で本明細書で説明されるシーケンスとは異なる他のシーケンスで実行され得る。
本開示の第4の実施形態による方法実施形態は、モバイル端末、コンピュータ端末、または類似物などの算術デバイス上で実施され得る。本開示の第4の実施形態による方法実施形態が、図1に示されたコンピュータ端末上で実施され得ることに留意されたい。
例としての上記の動作環境において、端末間でアプリケーションデータを移行するための方法が、図13に示されているように本開示に従って提供される。図13は、本開示の第4の実施形態による、端末間でアプリケーションデータを移行するための方法の流れ図である。
図13に示されているように、端末間でアプリケーションデータを移行するための方法は、ステップS120からS130を含むことができる。
ステップS120において、第1の端末デバイス上でアプリケーションを実行させる過程において、第2の端末デバイスは、第1の端末デバイスと第2の端末デバイスとの間で移行関係を確立するために、第1の端末デバイスに移行要求を送信する。
好ましくは、2つの端末デバイスの間の通信関係は、2つの端末デバイスの間で移行関係を構築するために、移行命令が第1の端末デバイスによって受信される時または移行命令が第1の端末デバイスによって受信される前に確立され得る。
本開示による上記のステップS120内のアプリケーションは、スーパーマリオまたはPlane Warsなどのゲームタイプアプリケーションに限定されない。第1の端末デバイスまたは第2の端末デバイスは、スマートフォンまたはタブレットコンピュータなどのインテリジェント端末デバイスに限定されない。第1の端末デバイス上でアプリケーションを実行させる過程において、第2の端末デバイスは、第1の端末デバイスおよび第2の端末デバイスが移行関係を有するように、第1の端末デバイスに移行要求を送信することができる。
たとえば、ユーザは、端末デバイス上でスーパーマリオゲームを実行させる。端末デバイス上でスーパーマリオを実行させる過程において、ユーザの友人が、そのゲームを経験することを望み、あるいは、ユーザが、ゲームが難しすぎると感じ、友人にスーパーマリオゲームを経験してもらい、ゲーム戦略を提供してもらいたいと思う。ユーザの友人の端末デバイスすなわち第2の端末デバイスは、ユーザの端末デバイスすなわち第1の端末デバイスに移行要求を送信することができる。この形において、移行関係が、ユーザの端末デバイスとユーザの友人の端末デバイスとの間で確立される。
ステップS122において、移行要求を確認した後に、第1の端末デバイスは、第1の端末デバイス上で実行するアプリケーションの第1の状態のリソースデータを入手する。第1の状態は、スタートアップから移行命令が受信される瞬間までの期間中のアプリケーションの状態である。
本開示による上記のステップS122において、第2の端末デバイスによって送信された移行要求を受信した後に、第1の端末デバイスは、移行要求に応答して、アプリケーションの起動から移行要求が受信される瞬間までの期間中の第1の端末デバイスのリソースデータを入手することができる。リソースデータは、第1の状態におけるシナリオデータとされ得る。
今まで通りユーザが端末デバイス上でスーパーマリオゲームを実行させるケースを例にとると、移行要求の受信時に、ユーザの端末デバイスは、スタートアップから移行要求がユーザの端末デバイスによって受信される瞬間までの期間中のスーパーマリオのリソースデータを即座に入手することができる。スーパーマリオゲームの起動から移行要求がユーザの端末デバイスによって受信される瞬間までの期間に関して、移行要求がユーザの端末デバイスによって受信される瞬間が、スーパーマリオゲームがあるステージまたはゲームレベルに達した時点とされ得ることに留意されたい。ゲーム内でユーザによって実行されるいくつかの操作のゆえに、スーパーマリオゲームは、ある経過またはステージに達する。したがって、移行要求が、ユーザの端末デバイスによって受信される時に、リソースデータは、次のデータのうちの複数になる可能性がある。ゲーム自体のアプリケーション、移行要求がユーザの端末デバイスによって受信される瞬間におけるスーパーマリオゲームの第nのレベルのシナリオデータ(水シナリオまたは陸シナリオなど)、およびユーザによって制御されるキャラクタの特徴(キャラクタのサイズ、アミュレットの有無、およびファイアボールの機能の有無など)。
ステップS124において、第1の端末デバイスは、リソースデータを所定のストレージアドレスに記憶する。
本開示による上記のステップS124は、リソースデータを所定のストレージアドレスにある所定の磁気ディスクに記憶することとして実施され得る。所定の磁気ディスクは、第1の端末デバイス自体の磁気ディスクとされ得、あるいは、サードパーティサーバによって提供されるデータベースディスクとされ得る。移行命令を受信した後に、第1の端末デバイスは、コンテキストファイルフォーマットなどのファイルフォーマットにおいてアプリケーションのリソースデータを記憶することができる。リソースデータが、ローカルに記憶され、クラウド内に記憶され、ネットワークを介してバックグラウンドにおいて記憶され、または他の形で記憶され得ることがわかる。
ステップS126において、移行要求を確認した後に、第1の端末デバイスは、リソースデータのストレージアドレスを第2の端末デバイスに送信する。
アプリケーションのリソースデータを入手した後に、第2の端末デバイスは、上記のステップS126において、そのローカルアプリケーションにリソースデータをロードすることができる。すなわち、第2の端末も、アプリケーションの第1の状態を有する。
今まで通りユーザが端末デバイス上でスーパーマリオゲームを実行させるケースを例にとると、ユーザの友人もスーパーマリオゲームを経験したいと思う場合があり、または、スーパーマリオゲームを操作する過程において、ユーザは、ゲームが難しすぎると感じ、友人にスーパーマリオゲームを経験してもらい、ゲーム戦略を提供してもらいたいと思う。ユーザは、スーパーマリオゲームのアプリケーションデータと、スーパーマリオゲームの第nのレベルのシナリオデータ(水シナリオまたは陸シナリオなど)およびユーザによって制御されるキャラクタの特徴(キャラクタのサイズ、アミュレットの有無、およびファイアボールの機能の有無など)などの、ユーザの友人の端末デバイスによって送信された移行要求が受信される瞬間のスーパーマリオゲームのリソースデータとを、端末デバイスを介して所定の磁気ディスクに送信する。ユーザの友人すなわち第2の端末デバイスは、リソースデータを入手し、彼自身の端末デバイスにリソースデータをロードすることができる。
ステップS128において、第2の端末デバイスは、ストレージアドレスにアクセスすることによってアプリケーションのリソースデータを入手し、リソースデータをロードする。すなわち、リソースデータを入手した後に、第2の端末デバイスは、そのローカルアプリケーションにリソースデータをロードすることができる。好ましくは、第2の端末デバイスは、所定の磁気ディスクからリソースデータを入手することができる。
上記から、本開示の第4の実施形態による解決策において、第1の端末デバイス上でアプリケーションを実行させる過程において、第1の端末デバイスおよび第2の端末デバイスが移行関係を有するように、第2の端末デバイスが、第1の端末デバイスに移行要求を送信することがわかる。移行要求が第1の端末デバイスによって確認された後に、アプリケーションの起動から移行要求が受信される瞬間までの期間中のアプリケーションの動作のリソースデータが、入手され、リソースデータは、所定のストレージ経路に記憶される。移行要求が第1の端末デバイスによって確認された後に、第2の端末デバイスがリソースデータを入手するように、リソースデータのストレージアドレスが、第2の端末デバイスに送信される。その後、第2の端末デバイスは、そのローカルアプリケーションにリソースデータをロードする。上記の解決策を用いると、ユーザの端末デバイス上で実行するアプリケーションのリソースデータは、ユーザの友人の端末デバイスに送信され得、ユーザの友人の端末デバイスは、上記のリソースデータに基づいてアプリケーションを実行させることができる。この形において、アプリケーションが共有され、端末デバイス間でアプリケーションリソースを共有する時に端末デバイス間の協力の効率が悪いという従来の技術における技術的問題が解決される。
本開示によるオプションの解決策において、上記のステップS122は、以下のステップをさらに含むことができる。
第1の端末デバイスは、移行命令を第1の瞬間に受信し、その移行命令をアプリケーションカーネルモジュールに転送する。
第1の端末デバイスは、移行命令に応答してアプリケーションカーネルモジュールによって生成されたブレークポイント命令を受信する。
第1の端末デバイスは、ブレークポイント命令に応答してアプリケーションを一時停止し、アプリケーションの第1の状態のリソースデータを入手する。
図5を参照すると、ブレークポイント命令は、移行要求が第1の端末デバイスによって受信された後に、移行要求に応答して第1の端末デバイスのバックグラウンドにおいてアプリケーションカーネルモジュールによって生成される命令とされ得る。具体的には、アプリケーションカーネルモジュールは、ブレークポイント命令を生成するためのポートを提供する。移行要求が受信された後に、ブレークポイント命令は、ポートを介してデータベースLIB内のブレークポイント関数を呼び出すことによって生成され、ブレークポイント命令は、第1の端末デバイスに返される。
アプリケーションカーネルモジュールによって生成されたブレークポイント命令が第1の端末デバイスによって受信された後に、ブレークポイント命令は、現在実行中のアプリケーションを一時停止するように第1の端末デバイスを制御する。一時停止する時刻は、第2の端末デバイスによって送信された移行要求が第1の端末デバイスによって受信される瞬間である。すなわち、バックグラウンドは、第2の端末デバイスに同期化されるリソースデータが、第1の端末デバイスによるアプリケーションの起動から移行要求が受信される瞬間までの期間中のリソースデータであることを知らされる。本明細書で説明されるリソースデータは、少なくとも、オペレーティング環境、アプリケーションを実行させる様々な関数の関数名、ならびにアプリケーションを実行させる様々なオブジェクトの名前およびコンテンツを含む。リソースデータは、第2の端末デバイス上のシナリオおよびコンテンツが、リソースデータが第2の端末デバイスによってロードされた後に、第1の端末デバイス上のシナリオおよびコンテンツと正確に同一であることを保証する。
今まで通りユーザが端末デバイス上でスーパーマリオゲームを実行させるケースを例にとると、ユーザの端末デバイスは、アプリケーションカーネルから受信されたブレークポイント命令に応答して実行中のスーパーマリオゲームを一時停止し、さらに、スーパーマリオゲームの第nのレベルのシナリオデータ(水シナリオまたは陸シナリオなど)およびユーザによって制御されるキャラクタの特徴(キャラクタのサイズ、アミュレットの有無、およびファイアボールの機能の有無など)など、ユーザの端末デバイスがスーパーマリオゲームを起動した瞬間から移行要求がユーザの端末デバイスによって受信される瞬間までの期間中のスーパーマリオゲームの動作のリソースデータを入手するステップを実行する。
本開示による別のオプションの解決策において、ステップS126の後に、端末間でアプリケーションデータを移行するための方法は、以下のステップをさらに実行することができる。
ステップS128において、アプリケーションカーネルモジュールが、第2の端末デバイスに再起動命令を送信する。第2の端末デバイスは、アプリケーションカーネルモジュールによって提供される再起動インターフェースを介して再起動命令を入手する。
図5を参照すると、本開示による上記のステップS128内の再起動命令は、リソースデータが第2の端末デバイスによって所定のストレージアドレスから入手された後に、第2の端末デバイスのバックグラウンドにおいてアプリケーションカーネルモジュールによって提供される命令とされ得る。再起動命令は、アプリケーションを起動し、入手されたリソースデータを現在実行中のアプリケーションにロードするように第2の端末デバイスを制御するのに使用される。具体的には、アプリケーションカーネルモジュールは、再起動命令を生成するためのポートを提供する。再起動命令が受信された後に、再起動命令は、ポートを介してデータベースLIB内の再起動関数およびロード関数を呼び出すことによって生成される。
ユーザが端末デバイス上でスーパーマリオゲームを実行させるケースを例にとると、ユーザの友人の端末デバイスすなわち上で説明された第2の端末デバイスは、スーパーマリオゲームを操作することによってユーザの端末デバイスによって入手される、移行要求がユーザの端末デバイスによって受信される瞬間のゲームのデータを受信した後に、アプリケーションカーネルモジュールによって提供される再起動インターフェースを介して、アプリケーションカーネルモジュールによって送信される再起動命令を受信する。
ステップS130において、第2の端末デバイスおよび第1の端末デバイスがアプリケーションを第1の状態において同期させて実行するように、第2の端末デバイスが、再起動命令に応答してアプリケーションを起動する。
ユーザが端末デバイス上でスーパーマリオゲームを実行させるケースを例にとると、ユーザの友人の端末デバイスすなわち上で説明された第2の端末デバイスは、再起動命令に応答して、入手されたスーパーマリオゲームを起動することができる。移行要求が受信される瞬間のスーパーマリオゲームの第nのレベルのシナリオデータ(水シナリオまたは陸シナリオなど)およびユーザによって制御されるキャラクタの特徴(キャラクタのサイズ、アミュレットの有無、およびファイアボールの機能の有無など)など、ユーザの端末デバイスがスーパーマリオゲームを起動する瞬間から移行要求が受信される瞬間までの期間中のスーパーマリオゲームの動作のリソースデータが、第2の端末デバイスによって入手されるので、第2の端末デバイスおよび第1の端末デバイスが、スーパーマリオゲームを移行要求が受信される瞬間から同期させて実行することができることに留意されたい。すなわち、スーパーマリオゲームを第2の端末デバイス上で実行する時に、ゲームプロセス、シナリオ、およびゲームキャラクタの特徴などのデータは、第1の端末デバイス上で実行するスーパーマリオゲームのデータと正確に同一であり、これによってゲーム同期化が達成される。
本開示による別のオプションの解決策において、ステップS126は、以下のステップをさらに含むことができる。
リソースデータのストレージアドレスが、第2の端末デバイスに送信され、ストレージアドレスは、所定の磁気ディスクのアドレスとされ得る。
第2の端末デバイスは、リソースデータのストレージアドレスに基づいて所定の磁気ディスクにアクセスし、所定の磁気ディスクから記憶されたリソースデータを入手する。
所定の磁気ディスクのアドレスは、第1の端末デバイスのローカルディスクのアドレスまたはサードパーティサーバによって提供されるデータベースディスクのアドレスとされ得る。
ユーザが端末デバイス上でスーパーマリオゲームを実行させるケースを例にとると、第2の端末デバイスは、ユーザの友人の端末デバイスとされ得る。ユーザの友人の端末デバイスによって所定の磁気ディスクから入手されるリソースデータが、スーパーマリオゲームを実行させるステージにおいてユーザの端末デバイスすなわち第1の端末デバイスによって生成されたデータとされ得ることに留意されたい。すなわち、リソースデータは、移行要求がユーザの端末デバイスによって受信される瞬間のスーパーマリオゲームの第nのレベルのシナリオデータ(水シナリオまたは陸シナリオなど)およびユーザによって制御されるキャラクタの特徴(キャラクタのサイズ、アミュレットの有無、およびファイアボールの機能の有無など)など、移行要求がユーザの端末デバイスによって受信される瞬間のデータとされ得る。
好ましくは、本開示による上記のステップにおいて、所定の磁気ディスクのアドレスは、ネットワーク通信モード、Bluetooth通信モード、ニアフィールドペイメントモード、およびショートメッセージモードという送信モードのうちの少なくとも1つにおいて第2の端末デバイスに送信され得る。
ユーザが端末デバイス上でスーパーマリオゲームを実行させるケースを例にとると、ユーザの端末デバイス上で実行するスーパーマリオゲームのリソースデータが、所定の磁気ディスクに記憶された後に、所定の磁気ディスクのアドレスは、ネットワーク通信モード、Bluetooth通信モード、ニアフィールドペイメントモード、およびショートメッセージモードというモードにおいてユーザの友人の端末デバイスに送信され得る。ユーザの友人の端末デバイスは、所定の磁気ディスクのアドレスに基づいてリソースデータを入手することができる。
たとえば、Wi-Fi通信モードが採用される場合に、第1の端末デバイスは、Wi-Fiを介して照会することによって第2の端末デバイスのアクセスアドレスを入手し、第2の端末デバイスのアクセスアドレスに基づいて、リソースデータを記憶するための所定の磁気ディスクのアドレスを第2の端末デバイスに送信することができる。
結論として、図7を参照すると、本開示の第4の実施形態によるアプリケーションは、スーパーマリオまたはPlane Warsなどのゲームのクライアントアプリケーションとされ得る。第1の端末デバイスおよび第2の端末デバイスは、それぞれ、スマートフォンまたはタブレットコンピュータなどのモバイル端末とされ得る。本開示における解決策を3つのオプションのアプリケーションシナリオに適用することによって実現される機能を、以下で詳細に説明する。
ステップAにおいて、グラフィックスアプリケーションAPP移行技術が、第1のモバイル端末および第2のモバイル端末に適用される。ゲームクライアントが、第1のモバイル端末および第2のモバイル端末にインストールされた後に、グラフィックスアプリケーションAPP移行は、第1のモバイル端末上の移行ボタンをトリガすることによって起動される、すなわち、ゲームは、友人が実行中のアプリケーションを操作し続けることを可能にするために、第1のモバイル端末上で実行する過程において第2のモバイル端末(友人の携帯電話機)に切り替えられる。
ステップBにおいて、移行要求が受信された後に、第1のモバイル端末上の移行ボタンが、トリガされ得る。アプリケーションカーネルモジュールは、第1のモバイル端末のバックグラウンドにおいて、第1のモバイル端末上で実行しているゲームを一時停止するための一時停止命令を送り、移行要求が受信される前のゲームのリソースデータは、所定のアドレスにあるメモリに記憶される。
ステップCにおいて、第1のモバイル端末は、ある通信モードにおいて、メモリの所定のアドレスを第2のモバイル端末に送信する。
ステップDにおいて、第2のモバイル端末は、メモリの所定のアドレスに基づいて、移行要求が受信される前の、第1のモバイル端末上のゲームのリソースデータを入手する。
ステップEにおいて、再起動命令を受信した後に、第2のモバイル端末は、ローカルゲームアプリケーションを起動し、ゲームの入手されたリソースデータを現在実行中のゲームアプリケーションにロードし、これによって、ゲームを第1のモバイル端末から引き継ぐ。
上記から、本開示のステップAからEの解決策が、端末間の有効で効率的な相互作用を達成するために、以下のアプリケーションシナリオに適用され得ることがわかる。
第1のアプリケーションにおいて、第1のモバイル端末上のAPPがあるステージに達する時に、ユーザAは、上記の解決策を用いて、第1のモバイル端末上の切替の前のシナリオからAPPを操作し続けるために、ユーザBの携帯電話機などの第2のモバイル端末にAPPを瞬間的に切り替え、これによって、ある端末上のAPPを別の端末上の同一のAPPによって引き継ぐことができる。
第2のアプリケーションにおいて、グラフィックスアプリケーションAPP移行技術が、ソーシャルゲームに適用される。具体的には、第1のモバイル端末のユーザAが、ゲームAPPをあるゲームレベルまで実行させる時に、携帯電話機などの第2のモバイル端末のユーザBが、この解決策を用いて瞬間的に第1のモバイル端末のユーザAのゲームアプリケーションに参加することができ、その結果、ゲームのシナリオが、切替の時の前のシナリオから継続され得るようになる。
具体的には、オプションの解決策において、ユーザAのゲームレベルが、ゲームを継続するために引き継がれ得る。
本開示の別の実施形態によれば、ステップS130の後に、この方法は、第2の端末デバイスおよび第1の端末デバイスがアプリケーションを第1の状態において同期させて実行するように、第2の端末デバイスによって、アプリケーション内で新しいオブジェクトを作成することをさらに含むことができ、作成される新しいオブジェクトは、第2の端末デバイスのユーザによって制御される。
オプションの解決策において、ゲームは、2つの端末の間で共有され得る。すなわち、第2の端末デバイスは、第1のモバイル端末のユーザAのゲームを継続できるだけではなく、同一の形でユーザBのゲームリソースをユーザAにフィードバックすることもでき、これによって、2人のゲームユーザによって一緒にゲームをプレイすることができる。この形において、ユーザAおよびユーザBは、1つのゲーム内でお互いに対抗してプレイすることができる。
第3のアプリケーションにおいて、グラフィックスアプリケーションAPP移行技術は、ホームデバイスにも適用され得る。具体的には、第1のモバイル端末のユーザAが、携帯電話機上でゲームなどのアプリケーションを経験し、その後、そのゲームを継続するために家の中のPCマシンまたは家の中のテレビジョンに切り替えることを望む場合に、移行は、本開示による上記の解決策を用いて瞬間的に完了され得る。
上記の方法実施形態が、単純さのために一連のアクションの組合せとして表されることに留意されたい。当業者は、本開示によれば、いくつかのステップが他のシーケンスで実行され得、あるいは、同時に実行され得るので、本開示が、アクションの説明されるシーケンスに限定されないことを知るべきである。さらに、当業者は、本明細書内で説明される実施形態のすべてが、好ましい実施形態であり、用いられるアクションおよびモジュールが、本開示に必要ではないことを知るべきである。
上記の実施態様の説明に基づいて、当業者は、上記の実施形態による方法が、ソフトウェアと必要な全般的なハードウェアプラットフォームとによってまたはハードウェアによって実施され得ることを理解することができる。ほとんどの状況において、前者が好ましい実施態様である。この理解に基づいて、本開示の技術的解決策の本質または技術的解決策のうちで従来の技術に貢献する部分は、記憶媒体(ROM/RAM、磁気ディスク、または光ディスクなど)内に記憶され、本開示の実施形態による方法を実行するように端末デバイス(携帯電話機、コンピュータ、サーバ、またはネットワークデバイスなどとされ得る)を制御するための複数の命令を含む、ソフトウェア製品の形において実施され得る。
第5の実施形態
上記の方法実施形態を実施するデバイス実施形態が、本開示の実施形態に従ってさらに提供される。本開示の実施形態による装置は、コンピュータ端末内で動作することができる。
図14は、本開示の第5の実施形態による、端末間でアプリケーションデータを移行するための装置の概略構造図である。
図14に示されているように、端末間でアプリケーションデータを移行するための装置は、第2の入手モジュール110、第2の記憶モジュール112、および移行モジュール114を含むことができる。
第2の入手モジュール110は、第1の端末デバイス上でアプリケーションを実行させる過程において、第2の端末デバイスによって送信された移行要求が第1の端末デバイスによって受信され、確認された後に、第1の端末デバイス上で実行するアプリケーションの第1の状態のリソースデータを入手するように構成される。第1の状態は、スタートアップから移行要求が受信される瞬間までの期間中のアプリケーションの状態である。第2の記憶モジュール112は、リソースデータを所定のストレージアドレスに記憶するように構成される。移行モジュール114は、第2の端末デバイスが、ストレージアドレスにアクセスすることによってアプリケーションのリソースデータを入手し、リソースデータをロードするように、移行要求が第1の端末デバイスによって確認された後に、リソースデータのストレージアドレスを第2の端末デバイスに送信するように構成される。
第2の入手モジュール110、第2の記憶モジュール112、および移行モジュール114が、第4の実施形態内のステップS120からS126に対応することに留意されたい。モジュールの例およびアプリケーションシナリオは、対応するステップのそれらと同一であるが、第4の実施形態において開示された内容に限定はされない。装置の一部としてのモジュールが、第4の実施形態に従ってコンピュータ端末10内で動作することができ、ソフトウェアまたはハードウェアによって実施され得ることに留意されたい。
好ましくは、図15に示されているように、第2の入手モジュール110は、第4の送信モジュール1101をさらに含むことができる。
第4の送信モジュール1101は、移行要求が第1の端末デバイスによって確認されることが検出される場合に、アプリケーションカーネルモジュールによって生成されたブレークポイント命令を第1の端末デバイスに送信するように構成され得る。第1の端末デバイスは、ブレークポイント命令に応答してアプリケーションを一時停止し、第1の端末デバイスがアプリケーションを起動した瞬間から第1の瞬間までの期間中のアプリケーションの動作のリソースデータを入手するステップを実行する。
第4の送信モジュール1101が、第4の実施形態内の特定のステップに対応することに留意されたい。モジュールの例およびアプリケーションシナリオは、対応するステップのそれらと同一であるが、第4の実施形態において開示された内容に限定はされない。装置の一部としてのモジュールが、第4の実施形態に従ってコンピュータ端末10内で動作することができ、ソフトウェアまたはハードウェアによって実施され得ることに留意されたい。
好ましくは、図16に示されているように、端末間でアプリケーションデータを移行するための装置は、第5の送信モジュール118およびロードモジュール120をさらに含むことができる。
具体的には、第5の送信モジュール118は、再起動命令を第2の端末デバイスに送信するように構成される。第2の端末デバイスは、アプリケーションカーネルモジュールによって提供される再起動インターフェースを介して再起動命令を入手する。
ロードモジュール120は、第2の端末デバイスおよび第1の端末デバイスがアプリケーションを第1の状態において同期させて実行するように、再起動命令に応答してアプリケーションにリソースデータをロードするように構成される。
第5の送信モジュール118およびロードモジュール120が、第4の実施形態内のステップS128からS130に対応することに留意されたい。モジュールの例およびアプリケーションシナリオは、対応するステップのそれらと同一であるが、第4の実施形態において開示された内容に限定はされない。装置の一部としてのモジュールが、第4の実施形態に従ってコンピュータ端末10内で動作することができ、ソフトウェアまたはハードウェアによって実施され得ることに留意されたい。
好ましくは、図17に示されているように、端末間でアプリケーションデータを移行するための装置内の移行モジュール114は、第6の送信モジュール122および第2のアクセスモジュール124をさらに含むことができる。
第6の送信モジュール122は、所定のストレージアドレスを第2の端末デバイスに送信するように構成される。第2のアクセスモジュール124は、所定のストレージアドレスに基づいて所定の磁気ディスクにアクセスし、所定の磁気ディスクから記憶されたリソースデータを入手するように構成される。
第6の送信モジュール122および第2のアクセスモジュール124が、第4の実施形態内の特定のステップに対応することに留意されたい。モジュールの例およびアプリケーションシナリオは、対応するステップのそれらと同一であるが、第4の実施形態において開示された内容に限定はされない。装置の一部としてのモジュールが、第4の実施形態に従ってコンピュータ端末10内で動作することができ、ソフトウェアまたはハードウェアによって実施され得ることに留意されたい。
好ましくは、本開示の第5の実施形態による解決策において、所定の磁気ディスクのアドレスは、ネットワーク通信モード、Bluetooth通信モード、ニアフィールドペイメントモード、およびショートメッセージモードという送信モードのうちの1つまたは複数において第2の端末デバイスに送信され得る。
上記から、本開示の上記のデバイス実施形態によって実現される解決策が、端末間の有効で効率的な相互作用を達成することのできる、以下のアプリケーションシナリオに適用され得ることがわかる。
第1のアプリケーションにおいて、第1のモバイル端末上のAPPがあるステージに達する時に、ユーザAは、上記の解決策を用いて、第1のモバイル端末上の切替の前のシナリオからAPPのシナリオを操作し続けるために、ユーザBの携帯電話機などの第2のモバイル端末にAPPを瞬間的に切り替え、これによって、ある端末上のAPPを別の端末上の同一のAPPによって引き継ぐことができる。
第2のアプリケーションにおいて、グラフィックスアプリケーションAPP移行技術が、ソーシャルゲームに適用される。具体的には、第1のモバイル端末のユーザAが、ゲームAPPをあるゲームレベルまで実行させる時に、携帯電話機などの第2のモバイル端末のユーザBが、この解決策を用いて瞬間的に第1のモバイル端末のユーザAのゲームアプリケーションに参加することができ、その結果、ゲームのシナリオが、切替の時の前のシナリオから継続され得るようになる。
具体的には、オプションの解決策において、ユーザAのゲームレベルが、ゲームを継続するために引き継がれ得る。
本開示の別の実施形態によれば、リソースデータをロードした後に、第2の端末デバイスは、第2の端末デバイスおよび第1の端末デバイスがアプリケーションを第1の状態において同期させて実行するように、アプリケーション内で新しいオブジェクトを作成する。作成される新しいオブジェクトは、第2の端末デバイスのユーザによって制御される。
オプションの解決策において、ゲームは、2つの端末の間で共有され得る。すなわち、第2の端末デバイスは、第1のモバイル端末のユーザAのゲームを継続できるだけではなく、同一の形でユーザBのゲームリソースをユーザAにフィードバックすることもでき、これによって、2人のゲームユーザによって一緒にゲームをプレイすることができる。この形において、ユーザAおよびユーザBは、1つのゲーム内でお互いに対抗してプレイすることができる。
第3のアプリケーションにおいて、グラフィックスアプリケーションAPP移行技術は、ホームデバイスにも適用され得る。具体的には、第1のモバイル端末のユーザAが、携帯電話機上でゲームなどのアプリケーションを経験し、その後、そのゲームを継続するために家の中のPCマシンまたは家の中のテレビジョンに切り替えることを望む場合に、移行は、本開示による上記の解決策を用いて瞬間的に完了され得る。
第6の実施形態
上記のデバイス実施形態を実施するシステム実施形態が、本開示の実施形態に従ってさらに提供される。本開示の実施形態によるデバイスは、コンピュータ端末内で動作することができる。
図12に示されているように、本開示による端末間でアプリケーションデータを移行するためのシステムは、第1の端末デバイス90と第2の端末デバイス92とを含むことができる。
第1の端末デバイス90は、アプリケーションを実行させ、第1の端末デバイス上で実行するアプリケーションの第1の状態のリソースデータを入手し(第1の状態は、スタートアップから移行命令が受信される瞬間までの期間中のアプリケーションの状態である)、リソースデータを所定のストレージアドレスに記憶し、リソースデータのストレージアドレスを第2の端末デバイスに送信するように構成される。第2の端末デバイス92は、アプリケーションを伴って構成され、第1の端末デバイスとの通信関係を有し、リソースデータのストレージアドレスにアクセスすることによってリソースデータを入手し、リソースデータをロードするように構成される。
上記から、本開示の第6の実施形態による解決策において、第1の端末デバイスがアプリケーションを実行させるように構成されることがわかる。第2の端末デバイスは、第1の端末デバイスとの通信関係を有し、第1の端末デバイス上のアプリケーションを実行させる過程において、第1の端末デバイスに移行要求を送信し、第1の端末デバイス上のリソースデータをそのローカルアプリケーションにロードするように構成される。移行要求が第1の端末デバイスによって確認された後に、アプリケーションの起動から移行要求が受信される瞬間までの期間中のアプリケーションの動作のリソースデータが、所定の経路に記憶される。移行要求が第1の端末デバイスによって確認された後に、第2の端末デバイスがリソースデータを入手するように、リソースデータのストレージアドレスが、第2の端末デバイスに送信される。上記の解決策を用いると、ユーザの端末デバイス上で実行するアプリケーションのリソースデータは、ユーザの友人の端末デバイスに送信され得、ユーザの友人の端末デバイスは、上記のリソースデータに基づいてアプリケーションを実行させることができる。この形において、アプリケーションが共有され、端末デバイス間でアプリケーションリソースを共有する時に端末デバイス間の協力の効率が悪いという従来の技術における技術的問題が解決される。
このシステム実施形態内のアプリケーションが、スーパーマリオまたはPlane Warsなどのゲームタイプアプリケーションに限定されないことに留意されたい。第1の端末デバイスまたは第2の端末デバイスは、スマートフォンまたはタブレットコンピュータなどのインテリジェント端末デバイスに限定されない。第1の端末デバイス上でアプリケーションを実行させる過程において、第1の端末デバイスおよび第2の端末デバイスが移行関係を有するように、第2の端末デバイスは、移行要求を第1の端末デバイスに送信することができる。
さらに、第2の端末デバイスによって送信された移行要求を受信した後に、システム実施形態内の第1の端末デバイスは、移行要求に応答して、第1の端末デバイスによるアプリケーションの起動から移行要求が受信される瞬間までの期間中のアプリケーションの動作のリソースデータを入手することができることに留意されたい。リソースデータは、スタートアップから移行要求が第1の端末デバイスによって受信される瞬間までの期間中のアプリケーションのシナリオデータとされ得る。
さらに、アプリケーションのリソースデータを入手した後に、第2の端末デバイスが、そのローカルアプリケーションにリソースデータをロードできることに留意されたい。すなわち、第2の端末デバイスは、第1の端末デバイスと同一のアプリケーションを実行させる。
オプションの解決策において、第1の端末デバイスがアプリケーションを起動する瞬間から移行要求が受信される瞬間までの期間中のアプリケーションの動作のリソースデータを入手することがシステムによって実行される前に、第1の端末デバイスは、移行要求が第1の端末デバイスによって確認されたことが検出される場合に、アプリケーションカーネルモジュールによって生成されたブレークポイント命令を受信することができる。端末デバイスは、ブレークポイント命令に応答してアプリケーションを一時停止し、第1の端末デバイスがアプリケーションを起動する瞬間から移行要求が受信される瞬間までの期間中のアプリケーションの動作のリソースデータを入手するステップを実行する。
本開示のシステム実施形態におけるブレークポイント命令が、移行要求が第1の端末デバイスによって受信された後に、移行要求に応答して第1の端末デバイスのバックグラウンドにおいてアプリケーションカーネルモジュールによって生成される命令とされ得ることに留意されたい。具体的には、アプリケーションカーネルモジュールは、ブレークポイント命令を生成するためのポートを提供する。移行要求が受信された後に、ブレークポイント命令は、ポートを介してデータベースLIB内のブレークポイント関数を呼び出すことによって生成され、ブレークポイント命令は、第1の端末デバイスに返される。
さらに、本開示のシステム実施形態において、アプリケーションカーネルモジュールによって生成されたブレークポイント命令が第1の端末デバイスによって受信された後に、ブレークポイント命令が、現在実行中のアプリケーションを一時停止するように第1の端末デバイスを制御することに留意されたい。一時停止する時刻は、第2の端末デバイスによって送信された移行要求が第1の端末デバイスによって受信される瞬間である。すなわち、バックグラウンドは、第2の端末デバイスに同期化されるリソースデータが、アプリケーションの起動から移行要求が受信される瞬間までの期間中の第1の端末デバイス上のリソースデータであることを知らされる。本明細書で説明されるリソースデータは、少なくとも、オペレーティング環境、アプリケーションを実行させる様々な関数の関数名、ならびにアプリケーションを実行させる様々なオブジェクトの名前およびコンテンツを含む。リソースデータは、第2の端末デバイス上のシナリオおよびコンテンツが、リソースデータが第2の端末デバイスによってロードされた後に、第1の端末デバイス上のシナリオおよびコンテンツと正確に同一であることを保証する。
オプションの解決策において、システム実施形態において、リソースデータが入手された後に、再起動命令が、アプリケーションカーネルモジュールを介して第2の端末デバイスに送信され得る。第2の端末デバイスは、アプリケーションカーネルモジュールによって提供される再起動インターフェースを介して再起動命令を入手する。その後、第2の端末デバイスは、第2の端末デバイスおよび第1の端末デバイスが、移行要求が受信される瞬間から同期させてアプリケーションを実行するように、再起動命令に応答して、リソースデータをロードされるアプリケーションを起動する。
本開示のシステム実施形態において、再起動命令は、リソースデータが第2の端末デバイスによって所定の磁気ディスクから入手された後に、第2の端末デバイスのバックグラウンドにおいてアプリケーションカーネルモジュールによって提供される命令とされ得ることに留意されたい。再起動命令は、アプリケーションを起動し、入手されたリソースデータを現在実行中のアプリケーションにロードするように第2の端末デバイスを制御するのに使用される。具体的には、アプリケーションカーネルモジュールは、再起動命令を生成するためのポートを提供する。再起動命令が受信された後に、再起動命令は、ポートを介してデータベースLIB内の再起動関数およびロード関数を呼び出すことによって生成される。
オプションの解決策において、第1の端末デバイスとの移行関係を有する第2の端末デバイスが決定された後に、システムは、所定の磁気ディスクのアドレスを第2の端末デバイスに送信することができる。その後、第2の端末デバイスは、所定の磁気ディスクのアドレスに基づいて所定の磁気ディスクにアクセスし、所定の磁気ディスクから記憶されたリソースデータを入手する。
好ましくは、システムは、所定の磁気ディスクのアドレスを、ネットワーク通信モード、Bluetooth通信モード、ニアフィールドペイメントモード、およびショートメッセージモードという送信モードのうちの少なくとも1つにおいて第2の端末デバイスに送信することができる。たとえば、Wi-Fi通信モードが採用される場合に、第1の端末は、Wi-Fiを介して照会することによって第2の端末デバイスのアクセスアドレスを入手し、第2の端末デバイスのアクセスアドレスに基づいて、リソースデータを記憶するための所定の磁気ディスクのアドレスを第2の端末デバイスに送信することができる。
第7の実施形態
記憶媒体が、本開示の実施形態に従ってさらに提供される。オプションで、この実施形態において、記憶媒体は、第1の実施形態による端末間でアプリケーションデータを移行するための方法を実施するプログラムコードを記憶するように構成され得る。
オプションで、この実施形態において、記憶媒体は、コンピュータネットワーク内のコンピュータ端末のグループの任意のサーバ内に配置され得る。
オプションで、この実施形態において、記憶媒体は、以下のステップS20からS28を実行するプログラムコードを記憶するように構成され得る。
ステップS20において、アプリケーションが、第1の端末デバイス上で実行させられる。
ステップS22において、移行命令が、第1の端末デバイスによって受信され、第1の端末デバイス上で実行するアプリケーションの第1の状態のリソースデータが、入手される。第1の状態は、スタートアップから移行命令が受信される瞬間までの期間中のアプリケーションの状態である。
ステップS24において、リソースデータが、所定のストレージアドレスに記憶される。
ステップS26において、第2の端末デバイスが、リソースデータの移行の宛先として決定され、第2の端末デバイスは、アプリケーションを伴って構成される。
ステップS28において、リソースデータのストレージアドレスが、第2の端末デバイスに送信され、第2の端末デバイスは、ストレージアドレスにアクセスすることによってリソースデータを入手し、リソースデータをロードする。
オプションで、記憶媒体は、第1の端末デバイスが、第1の瞬間に移行命令を受信し、移行命令をアプリケーションカーネルモジュールに転送するステップと、第1の端末デバイスが、移行命令に応答してアプリケーションカーネルモジュールによって生成されたブレークポイント命令を受信するステップと、第1の端末デバイスが、ブレークポイント命令に応答してアプリケーションを一時停止し、アプリケーションの第1の状態のリソースデータを入手するステップとを実行するプログラムコードを記憶するようにさらに構成される。
オプションで、記憶媒体は、アプリケーションカーネルモジュールが、再起動インターフェースを介して第2の端末デバイスに再起動命令を送信するステップであって、再起動インターフェースは、アプリケーションカーネルモジュールによって提供される、送信するステップと、第2の端末デバイスおよび第1の端末デバイスがアプリケーションを第1の状態において同期させて実行するように、第2の端末デバイスが、再起動命令に応答してアプリケーションを起動するステップとを実行するプログラムコードを記憶するようにさらに構成される。
オプションで、記憶媒体は、リソースデータの所定のストレージアドレスが、第2の端末デバイスに送信されるステップと、第2の端末デバイスが、所定の磁気ディスクのアドレスに基づいて所定の磁気ディスクにアクセスし、所定の磁気ディスクから記憶されたリソースデータを入手するステップとを実行するプログラムコードを記憶するようにさらに構成される。
オプションで、記憶媒体は、所定の磁気ディスクのアドレスが、ネットワーク通信モード、Bluetooth通信モード、ニアフィールドペイメントモード、およびショートメッセージモードという送信モードのうちの1つまたは複数において第2の端末デバイスに送信されるステップを実行するプログラムコードを記憶するようにさらに構成される。
オプションで、この実施形態において、記憶媒体は、USBフラッシュディスク、読取専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、モバイルハードディスク、磁気ディスク、または光ディスクなど、プログラムコードを記憶することのできる媒体を含むことができるが、これらに限定はされない。
オプションで、この実施形態の特定の例に関して、第1の実施形態、第2の実施形態、および第3の実施形態において説明された例を参照することができ、これらは、ここでは説明されない。
第8の実施形態
記憶媒体が、本開示の実施形態に従ってさらに提供される。オプションで、この実施形態において、記憶媒体は、第1の実施形態による端末間でアプリケーションデータを移行するための方法を実施するプログラムコードを記憶するように構成され得る。
一実施形態において、記憶媒体は、コンピュータネットワーク内のコンピュータ端末のグループの任意のサーバ内に配置され得る。
一実施形態において、記憶媒体は、以下のステップS120からS128を実行するプログラムコードを記憶するように構成され得る。
ステップS120において、第1の端末デバイス上でアプリケーションを実行させる過程において、第2の端末デバイスは、第1の端末デバイスと第2の端末デバイスとの間で移行関係を確立するために、第1の端末デバイスに移行要求を送信する。
ステップS122において、移行要求を確認した後に、第1の端末デバイスは、第1の端末デバイス上で実行するアプリケーションの第1の状態のリソースデータを入手し、第1の状態は、スタートアップから移行命令が受信される瞬間までの期間中のアプリケーションの状態である。
ステップS124において、第1の端末デバイスは、リソースデータを所定のストレージアドレスに記憶する。
ステップS126において、移行要求を確認した後に、第1の端末デバイスは、リソースデータのストレージアドレスを第2の端末デバイスに送信する。
ステップS128において、第2の端末デバイスは、ストレージアドレスにアクセスすることによってアプリケーションのリソースデータを入手し、リソースデータをロードする。
一実施形態において、記憶媒体は、第1の端末デバイスが、第1の瞬間に移行命令を受信し、移行命令をアプリケーションカーネルモジュールに転送するステップと、第1の端末デバイスが、移行命令に応答してアプリケーションカーネルモジュールによって生成されたブレークポイント命令を受信するステップと、第1の端末デバイスが、ブレークポイント命令に応答してアプリケーションを一時停止し、アプリケーションの第1の状態のリソースデータを入手するステップとを実行するプログラムコードを記憶するようにさらに構成される。
一実施形態において、記憶媒体は、アプリケーションカーネルモジュールが、第2の端末デバイスに再起動命令を送信するステップであって、第2の端末デバイスは、アプリケーションカーネルモジュールによって提供される再起動インターフェースを介して再起動命令を入手する、送信するステップと、第2の端末デバイスおよび第1の端末デバイスがアプリケーションを第1の状態において同期させて実行するように、第2の端末デバイスが、再起動命令に応答してアプリケーションを起動するステップとを実行するプログラムコードを記憶するようにさらに構成される。
一実施形態において、記憶媒体は、所定の磁気ディスクのアドレスを、ネットワーク通信モード、Bluetooth通信モード、ニアフィールドペイメントモード、およびショートメッセージモードという送信モードのうちの1つまたは複数において第2の端末デバイスに送信するステップを実行するプログラムコードを記憶するようにさらに構成される。
この実施形態において、記憶媒体は、USBフラッシュディスク、読取専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、モバイルハードディスク、磁気ディスク、または光ディスクなど、プログラムコードを記憶することのできる媒体を含むことができるが、これらに限定はされない。
オプションで、この実施形態の特定の例に関して、第4の実施形態、第5の実施形態、および第7の実施形態において説明された例を参照することができ、これらは、ここでは説明されない。
本開示の上記の実施形態のシーケンス番号は、説明のみのために使用され、諸実施形態の品質を表さない。
上記の実施形態内の一体化されたユニットが、ソフトウェア機能ユニット内で実施され、別々の製品として販売されまたは使用される場合に、そのユニットは、コンピュータ可読記憶媒体内に記憶され得る。この理解に基づいて、技術的解決策の本質、技術的解決策のうちで従来の技術に貢献する部分、または本開示の技術的解決策のすべてもしくは一部は、記憶媒体内に記憶され、本開示の実施形態による方法内のステップのすべてまたは一部を実行するように1つまたは複数のコンピュータデバイス(パーソナルコンピュータ、サーバ、またはネットワークデバイスなどとされ得る)を制御する複数の命令を含む、ソフトウェア製品の形で実施され得る。
上記の実施形態において、様々な実施形態の説明は、それ自体の焦点を有する。ある実施形態において詳細には説明されないセクションに関して、他の実施形態内の関連する説明を参照することができる。
本開示のいくつかの実施形態による開示されるクライアント装置が、他の形において実施され得ることを理解されたい。上で説明されたデバイス実施形態は、例示にすぎない。たとえば、ユニットは、論理機能において分割されるだけであり、論理機能は、実際の実施態様において別の形によって分割され得る。たとえば、複数のユニットまたは構成要素が、別のシステムに組み合わされまたは一体化される場合があり、あるいは、いくつかの特徴が、無視されまたは実行されない場合がある。さらに、開示されまたは論じられる相互結合、直接結合、または通信接続は、電気または他の形において実施され得るいくつかのインターフェース、ユニット、またはモジュールを介する間接的な結合または通信接続とされ得る。
別々の構成要素として説明されるユニットは、物理的に分離されてもされなくてもよい。1つのユニットとして表示される構成要素は、物理ユニットであってもなくてもよく、1つの位置に配置されても複数のネットワークユニット上に分散されてもよい。構成要素の一部またはすべてが、実用上の要件に基づいて実施形態における解決策の目的を達成するために選択され得る。
さらに、本開示の実施形態内の機能ユニットは、プロセスユニット内に一体化されても物理的に分離されてもよく、あるいは、2つ以上のユニットが1つのユニットに一体化されてもよい。上で説明された一体化されたユニットは、ハードウェアまたはソフトウェア機能ユニット内で実施され得る。
上記は、本開示の好ましい実施形態にすぎない。当業者にとって、変形および変更が、本開示の原理から逸脱することなく行われ得、それらの変形および変更は、本開示の保護範囲に含まれると考えられなければならないことに留意されたい。