JP7101780B2 - App遠隔制御方法及び関連するデバイス - Google Patents

App遠隔制御方法及び関連するデバイス Download PDF

Info

Publication number
JP7101780B2
JP7101780B2 JP2020531971A JP2020531971A JP7101780B2 JP 7101780 B2 JP7101780 B2 JP 7101780B2 JP 2020531971 A JP2020531971 A JP 2020531971A JP 2020531971 A JP2020531971 A JP 2020531971A JP 7101780 B2 JP7101780 B2 JP 7101780B2
Authority
JP
Japan
Prior art keywords
terminal device
application program
interface
service device
instruction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2020531971A
Other languages
English (en)
Other versions
JP2021509190A (ja
Inventor
リー,ダーウエイ
リー,リー
シュイ,ボー
アン,ピーン
ジン,ウエイ
リー,イーンハオ
Original Assignee
オナー デバイス カンパニー リミテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by オナー デバイス カンパニー リミテッド filed Critical オナー デバイス カンパニー リミテッド
Publication of JP2021509190A publication Critical patent/JP2021509190A/ja
Application granted granted Critical
Publication of JP7101780B2 publication Critical patent/JP7101780B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04817Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/452Remote windowing, e.g. X-Window System, desktop virtualisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • User Interface Of Digital Computer (AREA)
  • Telephonic Communication Services (AREA)
  • Information Transfer Between Computers (AREA)
  • Selective Calling Equipment (AREA)

Description

本発明は、通信技術の分野に関し、特に、APP遠隔制御方法及び関連するデバイスに関する。
遠隔制御は、(例えば、すなわち、主制御端又はクライアント等の)ある1つのコンピュータが、ネットワークにおける(例えば、すなわち、制御端又はサービスサーバ端等の)他のコンピュータを遠隔で制御する技術である。
現在、2つのコンピュータの間の遠隔制御を実装するために、サービスサーバ端は、通常、ビデオストリーム方式によってクライアントに制御対象のインターフェイスを送信し、そのクライアントは、ビデオストリームを受信した後に、その制御対象のインターフェイスを取得し、それにより、その制御対象のインターフェイスに対して操作を実行し、その次に、そのクライアントは、サービスサーバ端に、その操作に対応する命令を送信するか、又は、その命令の送信のほかに、そのクライアントは、ビデオストリーム方式によってそのサービスサーバ端に操作されたインターフェイスを送信する必要があり、それによって、そのサービスサーバ端は、受信した命令に基づいて、対応する操作を実行することが可能である。その操作を完了した後に、クライアントに操作結果を送信する必要がある場合に、そのサービスサーバ端は、依然として、ビデオストリーム方式によって、その操作されたインターフェイスを送信することが可能である。
例えば、従来技術においては、仮想ネットワークコンピューティング(Virtual Network Computing, VNC)は、遠隔制御ソフトウェアであり、その遠隔制御ソフトウェアは、ネットワークを介して、コンピュータAの完全なウィンドウインターフェイスを他のコンピュータBのスクリーンに伝送し、そして、コンピュータBのスクリーンを介してコンピュータAにおいて操作を実行することが可能である。VNCは、遠隔フレームバッファ(Remote Frame Buffer, RFB)プロトコルに基づいて、通信を実行し、そのRFBは、TCPに基づくアプリケーション層プロトコルであるため(そのRFBは、フレームバッファレベルで動作するため)、そのVNCの中のクライアントは、サービスサーバ端にイベントメッセージを転送し、そのサービスサーバ端は、(x*yのサイズの矩形領域の画素値/画素データである)矩形のシーケンスによって、クライアントに、対応するオリジナル画像を転送する。
とりわけ、従来技術においては、遠隔制御は、通常、ビデオストリームを伝送することによって実装される。一方で、ビデオストリーム伝送は、ネットワークにおいて比較的高い要件を必要とする。ネットワークが不安定であるときに、リアルタイムのビデオストリーム伝送は、大きな影響を受ける場合があり、ビデオストリームを伝送することさえ不可能であり、それによって、遠隔制御を実装することは不可能である。ビデオストリーム伝送は、また、比較的大きなトラフィックを消費することを必要とする。したがって、従来技術における遠隔制御は、大きな伝送リソース消費、比較的低い伝送効率、及び流動性の悪さ等の問題を有する。
本発明の複数の実施形態は、APP遠隔制御方法及び関連するデバイスを提供し、それにより、遠隔制御システムにおける遠隔制御効率を改善する。
第1の態様によれば、本発明のある1つの実施形態は、APP遠隔制御方法を提供し、当該方法は、
端末デバイスが送信する第1の操作命令をサービスデバイスによって受信するステップであって、前記第1の操作命令は、第1の入力に基づいて前記端末デバイスによって生成され、前記第1の入力は、第1のアプリケーションプログラムのアプリケーションアイコンの起動に作用する入力及び/又は前記第1のアプリケーションプログラムのユーザインターフェイスに作用する入力を含み、前記第1のアプリケーションプログラムは、前記サービスデバイスにおいて実行され、前記第1のアプリケーションプログラムの前記アプリケーションアイコン及び前記第1のアプリケーションプログラムの前記ユーザインターフェイスは、前記端末デバイスに表示される、ステップと、前記サービスデバイスによって、前記第1のアプリケーションプログラムにより前記第1の操作命令に応答し、そして、第1の応答結果を生成するステップと、前記サービスデバイスによって、前記第1の応答結果から第1のインターフェイス描画命令を抽出し、そして、前記端末デバイスに前記第1のインターフェイス描画命令を送信するステップと、を含んでもよく、前記第1のインターフェイス描画命令は、前記端末デバイスが前記第1の応答結果に対応する部分的なインターフェイス又は完全なインターフェイスを描画するのに使用される。
本発明のこの実施形態において、APP遠隔制御において、サービスデバイス側に既にインストールされているAPPを使用して、端末デバイスに存在するとともにそのAPPのための操作命令に応答し、それによって、サービスデバイスにおいて応答結果を取得する。その応答結果から(ビデオストリームではない)インターフェイス描画命令を抽出することにより、その応答結果に対応するインターフェイス描画命令は、その端末デバイスに送信され、それによって、その端末デバイスは、インターフェイス描画命令に基づいて、その応答結果に対応するインターフェイスをローカルに描画し及び生成する。したがって、ビデオストリームにより遠隔制御を実装する方式を回避し、伝送帯域幅を減少させ、APP遠隔制御の効率及び流動性を改善する。
ある1つの可能な実装において、前記サービスデバイスによって、前記第1のアプリケーションプログラムにより前記第1の操作命令に応答し、そして、第1の応答結果を生成する前記ステップは、前記サービスデバイスによって、前記第1のアプリケーションプログラムにより前記第1の操作命令に応答し、そして、分析により第1のハードウェア命令を取得するステップと、前記サービスデバイスによって前記端末デバイスに、前記第1のハードウェア命令を送信するステップであって、前記第1のハードウェア命令は、前記第1のハードウェアデバイスを駆動して、データを収集するように前記端末デバイスに指示するのに使用される、ステップと、前記端末デバイスが送信する前記第1のハードウェアデバイスの収集結果を前記サービスデバイスによって受信するステップと、前記サービスデバイスによって、前記第1のハードウェアデバイスの前記収集結果に基づいて、第1の応答結果を生成するステップと、を含む。本発明のこの実施形態において、第1の操作命令に応答した後に、サービスデバイスは、分析によりハードウェア命令を取得し、そのことは、この場合において、端末デバイスにおける関連するハードウェアに指示し及び関連するハードウェアを駆動して、関連するデータを収集する必要がある場合があるということを示す。例えば、第1のハードウェア命令は、ユーザがカメラを能動的にタップし、写真、音声記録、地図位置決定、センサを利用して、データを収集する等の命令である。この場合に、サービスデバイスが返送する第1の応答結果の中の内容の一部又はすべては、端末デバイスがフィードバックするハードウェア収集結果に基づいて生成される、すなわち、データは、端末デバイス又はセンサデバイスのローカルハードウェアを使用することによって収集されて、データを頻繁に交換するシナリオにおいて、遠隔制御のリアルタイムパフォーマンスを満足し、それにより、遠隔制御の品質及び効率を改善する。
ある1つの可能な実装において、前記サービスデバイスによって、前記第1のアプリケーションプログラムにより前記第1の操作命令に応答し、そして、第1の応答結果を生成する前記ステップは、前記サービスデバイスによって、前記第1の操作命令に基づいて、前記第1のアプリケーションプログラムを使用することによって、第2のアプリケーションプログラムを起動し、そして、前記第1の応答結果を生成するステップを含み、前記第1のインターフェイス描画命令は、前記端末デバイスが前記第1の応答結果に対応する前記部分的なインターフェイスを描画するのに使用され、前記第1の応答結果に対応する前記部分的なインターフェイスは、前記第2のアプリケーションプログラムのユーザインターフェイスを含まず、当該方法は、前記サービスデバイスによって前記端末デバイスに、第1の制御命令を送信するステップをさらに含み、前記第1の制御命令は、ローカルな第3のアプリケーションプログラムを起動するように前記端末デバイスに指示するのに使用され、前記第3のアプリケーションプログラムは、前記第2のアプリケーションプログラムとあらかじめ一致しているアプリケーションプログラムである。本発明のこの実施形態において、第3のアプリケーションは、端末デバイスにおけるローカルなアプリケーションであってもよく、第2のアプリケーションは、サービスデバイスに存在しているとともに、第3のアプリケーションと同じ機能を有するローカルなアプリケーションであってもよい。例えば、第3のアプリケーションプログラムは、ローカルな入力方法、ローカルな計算機、ローカルな呼ソフトウェア、又はローカルなダイヤルキーボード等、すなわち、操作を頻繁に実行するローカルなアプリケーションであり、或いは、操作を実行するときに、その交換操作周波数は、比較的高くなる。第1の応答結果が第2のアプリケーションを起動する動作を含むときに、第1のインターフェイス描画命令は、第2のアプリケーションに関する描画命令を含まず、代替的に、制御命令の追加的な送信によって、表示のために、第2のアプリケーションと同じ機能を有する第3のアプリケーションをローカルに起動するように端末デバイスに指示し、それによって、複数のネットワークの間の頻繁な伝送のオーバヘッドを節約する。
ある1つの可能な実装において、前記サービスデバイスは、前記端末デバイスが送信する第2の操作命令を受信し、前記第2の操作命令は、第2の入力に基づいて前記端末デバイスによって生成され、前記第2の入力は、前記第3のアプリケーションプログラムのユーザインターフェイスに作用する入力であり、前記サービスデバイスは、前記第1のアプリケーションプログラムによって起動される前記第2のアプリケーションプログラムにより前記第2の操作命令に応答し、そして、第2の応答結果を生成し、前記サービスデバイスは、前記第2の応答結果から第2のインターフェイス描画命令を抽出し、そして、前記端末デバイスに前記第2のインターフェイス描画命令を送信し、前記第2のインターフェイス描画命令は、前記端末デバイスが前記第2の応答結果に対応する部分的なインターフェイスを描画するのに使用され、前記第2の応答結果に対応する前記部分的なインターフェイスは、前記第2のアプリケーションプログラムの前記ユーザインターフェイスを含まない。本発明のこの実施形態において、端末デバイスにおいて第3のアプリケーションを起動し、そして、ユーザが第3のアプリケーションに対して行う操作を受信した後に、サービスデバイスにその操作に対応する命令を送信し、サービスデバイスにおける第2のアプリケーションによりその操作に応答し、それによって、応答結果を出力する。最後に、インターフェイス描画命令方式によって、端末デバイスにその応答結果を返送し、インターフェイス描画命令は、依然として、第2のアプリケーションのユーザインターフェイスを含む必要はない。
ある1つの可能な実装において、前記サービスデバイスは、サービスサーバが送信する第1のメッセージを受信し、前記第1のメッセージは、前記第1のアプリケーションプログラムの受信メッセージであり、前記サービスデバイスは、前記第1のアプリケーションプログラムにより前記第1のメッセージに応答し、そして、第3の応答結果を生成し、前記サービスデバイスは、前記第3の応答結果から第3のインターフェイス描画命令を抽出し、そして、前記端末デバイスに前記第3のインターフェイス描画命令を送信し、前記第3のインターフェイス描画命令は、前記端末デバイスが前記第3の応答結果に対応する部分的なインターフェイス又は完全なインターフェイスを描画するのに使用される。本発明のこの実施形態において、端末デバイスが、その端末デバイスから来た操作命令を有するのではなく、(例えば、QQサーバ又はウィーチャットサーバ等の)サービスサーバから来たメッセージを有するときに、その端末デバイスは、サービスサーバから来た(例えば、写真又は文字等の)第1のメッセージを受動的に受信する必要があるのみであり、すなわち、サービスデバイスは、端末デバイスに第1のメッセージのインターフェイス描画命令を能動的に送信し、それによって、端末デバイスは、第3のインターフェイス描画命令に基づいて、第1のメッセージに対応する第3の応答結果をローカルに描画し及び生成する。
ある1つの可能な実装において、当該方法は、前記サービスデバイスによって、前記第3の応答結果から第2のハードウェア命令を抽出し、そして、前記端末デバイスに前記第2のハードウェア命令を送信するステップをさらに含み、前記第2のハードウェア命令は、前記第2のハードウェア命令に基づいて第2のハードウェアデバイスを駆動して出力を実行するように前記端末デバイスに指示するのに使用される。本発明のこの実施形態において、端末デバイス側が受動的に受信するメッセージは、また、ハードウェア出力メッセージであってもよい。したがって、インターフェイス描画命令を送信する必要があるのみならず、サービスデバイスは、また、ハードウェア命令を送信して、端末デバイスにおいて対応するハードウェアデバイスを駆動し、その結果、ハードウェアデータ出力を実行する必要がある。
ある1つの可能な実装において、前記サービスデバイスが前記端末デバイスに送信する前記インターフェイス描画命令は、シリアル化及び圧縮処理を受ける。本発明のこの実施形態において、第1のインターフェイス描画命令及び/又は第2のインターフェイス描画命令を抽出した後であって、且つ、端末デバイスに第1のインターフェイス描画命令及び/又は第2のインターフェイス描画命令を送信する前に、サービスデバイスは、その抽出したインターフェイス描画命令をシリアル化し及び圧縮して、インターフェイス描画命令のデータ伝送量を減少させる必要があり、それによって、さらに帯域幅消費を減少させる。
第2の態様によれば、本発明のある1つの実施形態は、APP遠隔制御方法を提供し、当該方法は、
端末デバイスによって第1の入力を受信し、そして、前記第1の入力に基づいて、第1の操作命令を生成するステップであって、前記第1の入力は、第1のアプリケーションプログラムのアプリケーションアイコンの起動に作用する入力及び/又は前記第1のアプリケーションプログラムのユーザインターフェイスに作用する入力を含み、前記第1のアプリケーションプログラムは、前記サービスデバイスにおいて実行され、前記第1のアプリケーションプログラムの前記アプリケーションアイコン及び前記第1のアプリケーションプログラムの前記ユーザインターフェイスは、前記端末デバイスに表示される、ステップと、前記端末デバイスによって前記サービスデバイスに、前記第1の操作命令を送信するステップであって、前記第1の操作命令は、前記サービスデバイスが、前記第1のアプリケーションプログラムにより前記第1の操作命令に応答し、そして、第1の応答結果を生成するのに使用される、ステップと、前記サービスデバイスが送信する第1のインターフェイス描画命令を前記端末デバイスによって受信するステップであって、前記第1のインターフェイス描画命令は、前記サービスデバイスによって、前記第1の応答結果から抽出される、ステップと、前記端末デバイスによって、前記第1のインターフェイス描画命令に基づいて、前記第1の応答結果に対応する部分的なインターフェイス又は完全なインターフェイスを描画するステップと、を含んでもよい。
ある1つの可能な実装において、当該方法は、前記端末デバイスによって前記サービスデバイスの第1のハードウェア命令を受信するステップであって、前記第1のハードウェア命令は、前記サービスデバイスが前記第1のアプリケーションプログラムにより前記第1の操作命令に応答した後に分析により得られるハードウェア命令である、ステップと、前記端末デバイスによって、前記第1のハードウェア命令に基づいて、第1のハードウェアデバイスを駆動して、データを収集し、そして、前記第1のハードウェアデバイスの収集結果を取得するステップと、前記端末デバイスによって前記サービスデバイスに、前記第1のハードウェアデバイスの前記収集結果を送信するステップと、を含む
ある1つの可能な実装において、前記第1の応答結果は、前記第1のアプリケーションプログラムを使用して第2のアプリケーションプログラムを起動することによって、前記サービスデバイスが前記第1の操作命令に基づいて生成する応答結果であり、前記第1のインターフェイス描画命令は、前記端末デバイスが前記第1の応答結果に対応する前記部分的なインターフェイスを描画するのに使用され、前記第1の応答結果に対応する前記部分的なインターフェイスは、前記第2のアプリケーションプログラムのユーザインターフェイスを含まず、当該方法は、前記サービスデバイスが送信する第1の制御命令を前記端末デバイスによって受信するステップと、前記端末デバイスによって、前記第1の制御命令に基づいて、ローカルな第3のアプリケーションプログラムを起動するステップと、をさらに含み、前記第3のアプリケーションプログラムは、前記第2のアプリケーションプログラムとあらかじめ一致しているアプリケーションプログラムである。
ある1つの可能な実装において、前記端末デバイスは、前記サービスデバイスに第2の操作命令を送信し、前記第2の操作命令は、前記端末デバイスによって第2の入力に基づいて生成され、前記第2の入力は、前記第3のアプリケーションプログラムのユーザインターフェイスに作用する入力であり、前記端末デバイスは、前記サービスデバイスが送信する第2のインターフェイス描画命令を受信し、前記第2のインターフェイス描画命令は、前記サービスデバイスによって、第2の応答結果から抽出され、前記第2の応答結果は、前記サービスデバイスが、前記第1のアプリケーションプログラムによって起動される前記第2のアプリケーションプログラムにより前記第2の操作命令に応答した後に生成される応答結果であり、前記端末デバイスは、前記第2のインターフェイス描画命令に基づいて、前記第2の応答結果に対応する部分的なインターフェイスを描画し、前記部分的なインターフェイスは、前記第2のアプリケーションプログラムの前記ユーザインターフェイスを含まない。
上記の第1の態様又は第2の態様のいずれかの実装に関して、ある1つの可能な実装において、端末デバイスは、サービスデバイスが送信する第2のハードウェア命令を受信し、第2のハードウェア命令は、サービスデバイスによって第3の応答結果から抽出され、端末デバイスは、第2のハードウェア命令に基づいて、第2のハードウェアデバイスを駆動して、出力を実行する。
上記の第1の態様のいずれかの実装又は第2の態様のいずれかの実装に関して、ある1つの可能な実装において、前記サービスデバイスが生成する応答結果は、第1の画像リソースを含み、前記第1の画像リソースは、あらかじめ設定されているしきい値よりも大きい画像リソースであり、前記第1の画像リソースが前記端末デバイスにおいてバッファリングされているときに、前記サービスデバイスが前記応答結果から抽出する前記インターフェイス描画命令は、第1の識別子を含み、前記第1の識別子は、前記第1の画像リソースのバッファに基づいて、前記第1の画像リソースを表示するように前記端末デバイスに指示するのに使用され、第1の画像リソースが前記端末デバイスにおいてバッファリングされていないときに、前記サービスデバイスが前記応答結果から抽出する前記インターフェイス描画命令は、前記第1の画像リソースの画像描画命令を含む。本発明のこの実施形態において、応答結果が比較的大きい画像を有するときに、サービスデバイスは、最初に、端末デバイスにその比較的大きな画像のバッファが存在するか否かを決定し、その比較的大きな画像のバッファが存在する場合に、インターフェイス描画命令のみが、バッファリングされている画像の識別子を含む必要があり、比較的大きな画像のバッファが存在しない場合には、インターフェイス描画命令は、その画像の画像描画命令を含む必要がある。したがって、応答結果が比較的大きな画像を有するときは、遠隔制御の伝送リソースを節約し、遠隔制御の効率を改善する。
上記の第1の態様のいずれかの実装又は第2の態様のいずれかの実装に関して、ある1つの可能な実装において、前記生成されている応答結果から前記サービスデバイスが抽出する前記インターフェイス描画命令は、アンドロイドオペレーティングシステムのView層におけるCanvas命令及び前記アンドロイドオペレーティングシステムのLibraries層におけるOpenGL命令を含む。生成されている応答結果は、第1の応答結果及び/又は第2の応答結果であってもよい。対応して、インターフェイス描画命令は、第1のインターフェイス描画命令及び/又は第2のインターフェイス描画命令であってもよい。本発明のこの実施形態において、インターフェイス描画命令は、アンドロイドオペレーティングシステムの関連する層における命令を含んでもよい。
第3の態様によれば、本発明のある1つの実施形態は、サービスデバイスを提供し、当該サービスデバイスは、
端末デバイスが送信する第1の操作命令を受信するように構成される第1の受信ユニットであって、前記第1の操作命令は、第1の入力に基づいて前記端末デバイスによって生成され、前記第1の入力は、第1のアプリケーションプログラムのアプリケーションアイコンの起動に作用する入力及び/又は前記第1のアプリケーションプログラムのユーザインターフェイスに作用する入力を含み、前記第1のアプリケーションプログラムは、前記サービスデバイスにおいて実行され、前記第1のアプリケーションプログラムの前記アプリケーションアイコン及び前記第1のアプリケーションプログラムの前記ユーザインターフェイスは、前記端末デバイスに表示される、第1の受信ユニットと、
前記第1のアプリケーションプログラムにより前記第1の操作命令に応答し、そして、第1の応答結果を生成するように構成される第1の出力ユニットと、
前記第1の応答結果から第1のインターフェイス描画命令を抽出し、そして、前記端末デバイスに前記第1のインターフェイス描画命令を送信するように構成される第1の送信ユニットと、を含んでもよく、前記第1のインターフェイス描画命令は、前記端末デバイスが前記第1の応答結果に対応する部分的なインターフェイス又は完全なインターフェイスを描画するのに使用される。
ある1つの可能な実装において、前記第1の出力ユニットは、特に、
前記第1のアプリケーションプログラムにより前記第1の操作命令に応答し、そして、分析により第1のハードウェア命令を取得し、前記端末デバイスに、前記第1のハードウェア命令を送信し、前記第1のハードウェア命令は、前記第1のハードウェアデバイスを駆動して、データを収集するように前記端末デバイスに指示するのに使用され、前記端末デバイスが送信する前記第1のハードウェアデバイスの収集結果を受信し、そして、前記第1のハードウェアデバイスの前記収集結果に基づいて、前記第1の応答結果を生成する、ように構成される。
ある1つの可能な実装において、前記第1の出力ユニットは、特に、
前記第1の操作命令に基づいて、前記第1のアプリケーションプログラムを使用することによって、第2のアプリケーションプログラムを起動し、そして、前記第1の応答結果を生成する、ように構成され、
前記第1のインターフェイス描画命令は、前記端末デバイスが前記第1の応答結果に対応する前記部分的なインターフェイスを描画するのに使用され、前記第1の応答結果に対応する前記部分的なインターフェイスは、前記第2のアプリケーションプログラムのユーザインターフェイスを含まず、当該サービスデバイスは、
前記端末デバイスに第1の制御命令を送信するように構成される第1の制御ユニットをさらに含み、前記第1の制御命令は、ローカルな第3のアプリケーションプログラムを起動するように前記端末デバイスに指示するのに使用され、前記第3のアプリケーションプログラムは、前記第2のアプリケーションプログラムとあらかじめ一致しているアプリケーションプログラムである。
ある1つの可能な実装において、当該サービスデバイスは、
前記端末デバイスが送信する第2の操作命令を受信するように構成される第2の受信ユニットであって、前記第2の操作命令は、第2の入力に基づいて前記端末デバイスによって生成され、前記第2の入力は、前記第3のアプリケーションプログラムのユーザインターフェイスに作用する入力である、第2の受信ユニットと、
前記第1のアプリケーションプログラムによって起動される前記第2のアプリケーションプログラムにより前記第2の操作命令に応答し、そして、第2の応答結果を生成するように構成される第2の出力ユニットと、
前記第2の応答結果から第2のインターフェイス描画命令を抽出し、そして、前記端末デバイスに前記第2のインターフェイス描画命令を送信するように構成される第2の送信ユニットと、をさらに含み、前記第2のインターフェイス描画命令は、前記端末デバイスが前記第2の応答結果に対応する部分的なインターフェイスを描画するのに使用され、前記第2の応答結果に対応する前記部分的なインターフェイスは、前記第2のアプリケーションプログラムの前記ユーザインターフェイスを含まない。
ある1つの可能な実装において、当該サービスデバイスは、
サービスサーバが送信する第1のメッセージを受信するように構成される第3の受信ユニットであって、前記第1のメッセージは、前記第1のアプリケーションプログラムの受信メッセージである、第3の受信ユニットと、
前記第1のアプリケーションプログラムにより前記第1のメッセージに応答し、そして、第3の応答結果を生成するように構成される第3の出力ユニットと、
前記第3の応答結果から第3のインターフェイス描画命令を抽出し、そして、前記端末デバイスに前記第3のインターフェイス描画命令を送信するように構成される第3の送信ユニットと、さらに含み、前記第3のインターフェイス描画命令は、前記端末デバイスが前記第3の応答結果に対応する部分的なインターフェイス又は完全なインターフェイスを描画するのに使用される。
ある1つの可能な実装において、当該サービスデバイスは、
前記第3の応答結果から第2のハードウェア命令を抽出し、そして、前記端末デバイスに前記第2のハードウェア命令を送信するように構成される第4の送信ユニットをさらに含み、前記第2のハードウェア命令は、前記第2のハードウェア命令に基づいて第2のハードウェアデバイスを駆動して出力を実行するように前記端末デバイスに指示するのに使用される。
ある1つの可能な実装において、当該サービスデバイスが前記端末デバイスに送信するインターフェイス描画命令は、シリアル化及び圧縮処理を受ける。
第4の態様によれば、本発明のある1つの実施形態は、端末デバイスを提供し、当該端末デバイスは、
第1の入力を受信し、そして、前記第1の入力に基づいて、第1の操作命令を生成するように構成される第1の受信ユニットであって、前記第1の入力は、第1のアプリケーションプログラムのアプリケーションアイコンの起動に作用する入力及び/又は前記第1のアプリケーションプログラムのユーザインターフェイスに作用する入力を含み、前記第1のアプリケーションプログラムは、前記サービスデバイスにおいて実行され、前記第1のアプリケーションプログラムの前記アプリケーションアイコン及び前記第1のアプリケーションプログラムの前記ユーザインターフェイスは、当該端末デバイスに表示される、第1の受信ユニットと、
前記サービスデバイスに前記第1の操作命令を送信するように構成される第1の送信ユニットであって、前記第1の操作命令は、前記サービスデバイスが、前記第1のアプリケーションプログラムにより前記第1の操作命令に応答し、そして、第1の応答結果を生成するのに使用される、第1の送信ユニットと、
前記サービスデバイスが送信する第1のインターフェイス描画命令を受信するように構成される第2の受信ユニットであって、前記第1のインターフェイス描画命令は、前記サービスデバイスによって、前記第1の応答結果から抽出される、第2の受信ユニットと、
前記第1のインターフェイス描画命令に基づいて、前記第1の応答結果に対応する部分的なインターフェイス又は完全なインターフェイスを描画するように構成される第1の描画ユニットと、を含んでもよい。
ある1つの可能な実装において、当該端末デバイスは、
前記サービスデバイスの第1のハードウェア命令を受信するように構成される第3の受信ユニットであって、前記第1のハードウェア命令は、前記サービスデバイスが前記第1のアプリケーションプログラムにより前記第1の操作命令に応答した後に分析により得られるハードウェア命令である、第3の受信ユニットと、
前記第1のハードウェア命令に基づいて、第1のハードウェアデバイスを駆動して、データを収集し、そして、前記第1のハードウェアデバイスの収集結果を取得するように構成される第1の収集ユニットと、
前記サービスデバイスに前記第1のハードウェアデバイスの前記収集結果を送信するように構成される第2の送信ユニットと、をさらに含む。
ある1つの可能な実装において、前記第1の応答結果は、前記第1のアプリケーションプログラムを使用して第2のアプリケーションプログラムを起動することによって、前記サービスデバイスが前記第1の操作命令に基づいて生成する応答結果であり、前記第1のインターフェイス描画命令は、前記端末デバイスが前記第1の応答結果に対応する前記部分的なインターフェイスを描画するのに使用され、前記第1の応答結果に対応する前記部分的なインターフェイスは、前記第2のアプリケーションプログラムのユーザインターフェイスを含まず、当該端末デバイスは、
前記サービスデバイスが送信する第1の制御命令を受信するように構成される第4の受信ユニットと、
前記第1の制御命令に基づいて、ローカルな第3のアプリケーションプログラムを起動するように構成される第1の起動ユニットと、をさらに含み、前記第3のアプリケーションプログラムは、前記第2のアプリケーションプログラムとあらかじめ一致しているアプリケーションプログラムである。
ある1つの可能な実装において、当該端末デバイスは、
前記サービスデバイスに第2の操作命令を送信するように構成される第3の送信ユニットであって、前記第2の操作命令は、当該端末デバイスによって第2の入力に基づいて生成され、前記第2の入力は、前記第3のアプリケーションプログラムのユーザインターフェイスに作用する入力である、第3の送信ユニットと、
前記サービスデバイスが送信する第2のインターフェイス描画命令を受信するように構成される第5の受信ユニットであって、前記第2のインターフェイス描画命令は、前記サービスデバイスによって、第2の応答結果から抽出され、前記第2の応答結果は、前記サービスデバイスが、前記第1のアプリケーションプログラムによって起動される前記第2のアプリケーションプログラムにより前記第2の操作命令に応答した後に生成される応答結果である、第5の受信ユニットと、
前記第2のインターフェイス描画命令に基づいて、前記第2の応答結果に対応する部分的なインターフェイスを描画するように構成される第2の描画ユニットと、をさらに含み、前記部分的なインターフェイスは、前記第2のアプリケーションプログラムの前記ユーザインターフェイスを含まない。
ある1つの可能な実装において、当該端末デバイスは、
前記サービスデバイスが送信する第3のインターフェイス描画命令を受信するように構成される第6の受信ユニットであって、前記第3のインターフェイス描画命令は、前記サービスデバイスによって第3の応答結果から抽出され、前記第3の応答結果は、前記サービスデバイスが前記第1のアプリケーションプログラムにより第1のメッセージに応答した後に出力され、前記第1のメッセージは、前記第1のアプリケーションプログラムの受信メッセージである、第6の受信ユニットと、
前記第3のインターフェイス描画命令に基づいて、前記第3の応答結果に対応する部分的なインターフェイス又は完全なインターフェイスを描画するように構成される第3の描画ユニットと、をさらに含む。
ある1つの可能な実装において、当該端末デバイスは、
前記サービスデバイスが送信する第2のハードウェア命令を受信するように構成される第7の受信ユニットであって、前記第2のハードウェア命令は、前記サービスデバイスによって前記第3の応答結果から抽出される、第7の受信ユニットと、
前記第2のハードウェア命令に基づいて、第2のハードウェアデバイスを駆動して、出力を実行するように構成される第1の出力ユニットと、をさらに含む。
上記の第3の態様のいずれかの実装又は第4の態様のいずれかの実装に関して、
ある1つの可能な実装において、前記サービスデバイスが生成する応答結果は、第1の画像リソースを含み、前記第1の画像リソースは、あらかじめ設定されているしきい値よりも大きい画像リソースであり、前記第1の画像リソースが当該端末デバイスにおいてバッファリングされているときに、前記サービスデバイスが前記応答結果から抽出する前記インターフェイス描画命令は、第1の識別子を含み、前記第1の識別子は、前記第1の画像リソースのバッファに基づいて、前記第1の画像リソースを表示するように当該端末デバイスに指示するのに使用され、第1の画像リソースが当該端末デバイスにおいてバッファリングされていないときに、前記サービスデバイスが前記応答結果から抽出する前記インターフェイス描画命令は、前記第1の画像リソースの画像描画命令を含む。
上記の第3の態様のいずれかの実装又は第4の態様のいずれかの実装に関して、前記生成されている応答結果から前記サービスデバイスが抽出する前記インターフェイス描画命令は、アンドロイドオペレーティングシステムのView層におけるCanvas命令及び前記アンドロイドオペレーティングシステムのLibraries層におけるOpenGL命令を含む。
第5の態様によれば、この出願は、サービスデバイスを提供し、そのサービスデバイスは、いずれかのAPP遠隔制御方法の実施形態によってその方法を実装する機能を有する。その機能は、ハードウェアによって実装されてもよく、又は、対応するソフトウェアを実行することによってハードウェアによって実装されてもよい。ハードウェア又はソフトウェアは、上記の機能に対応する1つ又は複数のモジュールを含む。
第6の態様によれば、この出願は、端末デバイスを提供し、その端末デバイスは、いずれかのAPP遠隔制御方法の実施形態によってその方法を実装する機能を有する。その機能は、ハードウェアによって実装されてもよく、又は、対応するソフトウェアを実行することによってハードウェアによって実装されてもよい。ハードウェア又はソフトウェアは、上記の機能に対応する1つ又は複数のモジュールを含む。
第7の態様によれば、この出願は、サービスデバイスを提供し、そのサービスデバイスは、プロセッサを含み、そのプロセッサは、そのサービスデバイスが、第1の態様にしたがったAPP遠隔制御方法における対応する機能を実行するのを支援するように構成される。そのサービスデバイスは、メモリをさらに含んでもよく、そのメモリは、プロセッサに接続されて、サービスデバイスのための必要なプログラム命令及び必要なデータを格納するように構成される。そのサービスデバイスは、通信インターフェイスをさらに含んでもよく、その通信インターフェイスは、サービスデバイスと他のデバイス又は通信ネットワークとの間の通信を実行するように構成される。
第8の態様によれば、この出願は、端末デバイスを提供し、その端末デバイスは、プロセッサを含み、そのプロセッサは、その端末デバイスが、第2の態様にしたがったAPP遠隔制御方法における対応する機能を実行するのを支援するように構成される。その端末デバイスは、メモリをさらに含んでもよく、そのメモリは、プロセッサに接続されて、端末デバイスのための必要なプログラム命令及び必要なデータを格納するように構成される。その端末デバイスは、通信インターフェイスをさらに含んでもよく、その通信インターフェイスは、端末デバイスと他のデバイス又は通信ネットワークとの間の通信を実行するように構成される。
第9の態様によれば、この出願は、コンピュータ記憶媒体を提供し、そのコンピュータ記憶媒体は、上記の第7の態様にしたがったサービスデバイスが使用するコンピュータソフトウェア命令を格納するように構成され、そのコンピュータソフトウェア命令は、上記の複数の態様を実装するように設計されるプログラムを含む。
第10の態様によれば、この出願は、コンピュータ記憶媒体を提供し、そのコンピュータ記憶媒体は、上記の第8の態様にしたがった端末デバイスが使用するコンピュータソフトウェア命令を格納するように構成され、そのコンピュータソフトウェア命令は、上記の複数の態様を実装するように設計されるプログラムを含む。
第11の態様によれば、本発明のある1つの実施形態は、コンピュータプログラムを提供し、そのコンピュータプログラムは、命令を含み、そのコンピュータプログラムがコンピュータによって実行されるときに、そのコンピュータが、上記の第1の態様又は第2の態様におけるいずれかのAPP遠隔制御方法によって処理を実行することを可能とすることが可能である。
第12の態様によれば、この出願は、チップシステムを提供し、そのチップシステムは、プロセッサを含み、そのプロセッサは、例えば、上記のAPP遠隔制御方法に関連するインターフェイス描画命令を抽出するといったように、サービスデバイス又は端末デバイスが、上記の複数の態様に関連する機能を実装することを支援するように構成される。ある1つの可能な設計において、チップシステムは、メモリをさらに含んでもよく、そのメモリは、サービスデバイス又は端末デバイスのための必要なプログラム命令及び必要なデータを格納するように構成される。チップシステムは、チップを含んでもよく、又は、チップ及び他の個別のデバイスを含んでもよい。
本発明の複数の実施形態における技術的解決方法又は背景技術における技術的解決方法をより明確に説明するために、以下の記載は、本発明のそれらの複数の実施形態又は背景技術を説明するのに必要となる複数の添付の図面を簡潔に説明する。
本発明のある1つの実施形態にしたがった通信システムのアーキテクチャ図である。 本発明のある1つの実施形態にしたがった上記のシステムアーキテクチャに基づいて提供される遠隔制御シナリオの概略的な図である。 本発明のある1つの実施形態にしたがった上記のシステムアーキテクチャに基づいて提供される遠隔制御シナリオの概略的な図である。 本発明のある1つの実施形態にしたがったC/Sシステムのアーキテクチャ図である。 本発明のある1つの実施形態にしたがったAPP遠隔制御方法の概略的なフローチャートである。 本発明のある1つの実施形態にしたがったインターフェイス描画命令の送信の概略的な図である。 本発明のある1つの実施形態にしたがった入力方法の遠隔応答の概略的な図である。 本発明のある1つの実施形態にしたがったローカルな入力方法の起動の概略的なフローチャートである。 本発明のある1つの実施形態にしたがったローカルな入力方法を非表示にすることの概略的なフローチャートである。 本発明のある1つの実施形態にしたがったローカルな入力方法を使用することによるコンテンツの表示の概略的な図である。 本発明のある1つの実施形態にしたがったサービスデバイスの概略的な構成図である。 本発明のある1つの実施形態にしたがった端末デバイスの概略的な構成図である。 本発明のある1つの実施形態にしたがったデバイスの概略的な構成図である。 本発明のある1つの実施形態にしたがったAPP遠隔制御システムの概略的な構成図である。
以下の記載は、本発明の複数の実施形態における複数の添付の図面を参照して、本発明のそれらの複数の実施形態を説明する。
この出願の明細書、特許請求の範囲、及び添付の図面において、"第1の"、"第2の"、"第3の"、及び"第4の"等の語は、複数の異なる対象を区別することを意図し、ある特定の順序を示すものではない。加えて、"含む"、"包含する"、又はそれらのいずれかの他の変形語は、非排他的包含関係を取り扱うことを意図している。例えば、一連のステップ又はユニットを含むプロセス、方法、システム、製品、又はデバイスは、列記されているステップ又はユニットには限定されず、選択的に、列記されていないステップ又はユニットをさらに含むか、或いは、選択的に、そのプロセス、方法、製品、又はデバイスの他の固有のステップ又はユニットをさらに含む。
明細書における"実施形態"への言及は、実施形態を参照して説明されているある特定の特性、構造、又は特徴が、この出願の少なくとも1つの実施形態に含まれていてもよいということを意味する。明細書の中のさまざまな箇所に示されている句は、必ずしも同じ実施形態を指しているわけではなく、他の実施形態とは相いれない独立の実施形態又は選択的な実施形態ではない。当業者は、明細書の中で説明されている実施形態を他の実施形態と組み合わせてもよいということを明示的に且つ黙示的に理解する。
この明細書の中で使用されている"構成要素"、"モジュール"、"システム"等の語は、コンピュータに関連するエンティティ、ハードウェア、ファームウェア、ハードウェア及びソフトウェアの組み合わせ、ソフトウェア、又は実行中のソフトウェアを示すのに使用される。例えば、構成要素は、これらには限定されないが、プロセッサによって実行されるプロセス、プロセッサ、オブジェクト、実行可能なファイル、実行スレッド、プログラム、及び/又はコンピュータであってもよい。図に示されているように、コンピューティングデバイス及びコンピューティングデバイスによって実行されているアプリケーションの双方は、構成要素であってもよい。1つ又は複数の構成要素は、プロセス及び/又は実行スレッドの中に存在していてもよく、構成要素は、1つのコンピュータに位置していてもよく、及び/又は、2つ又はより多くのコンピュータの間で分散されていてもよい。加えて、これらの構成要素は、さまざまなデータ構造を格納しているさまざまなコンピュータ読み取り可能な媒体によって実行されてもよい。例えば、構成要素は、ローカルなプロセス及び/又はリモートプロセスを使用することによって、且つ、例えば、(例えば、ローカルシステム、分散システムの中の他の構成要素と相互作用する2つの構成要素からのデータ、及び/又は、信号を使用することによって他のシステムと相互作用するインターネット等のネットワークを通るデータ等の)1つ又は複数のデータパケットを有する信号にしたがって通信してもよい。
この出願におけるいくつかの用語を最初に説明して、当業者がより正しく理解するのを支援する。
(1) アプリケーションプログラムは、アプリケーション(Application, APP)であってもよく、1つ又は複数の特定の動作を完了するためのコンピュータプログラム、すなわち、ユーザが使用することが可能であるプログラム設計言語及びそれらのプログラム設計言語によってコンパイルされているアプリケーションプログラムのセットと称されてもよい。アプリケーションプログラムは、例えば、携帯電話又はコンピュータにおけるさまざまなタイプのオペレーティングシステムがダウンロードするアプリケーション等のユーザプログラム及びアプリケーションソフトウェアパッケージに分割され、或いは、アプリケーションプログラムは、端末デバイスのオペレーティングシステムがいくつかの機能を有する実行可能なアプリケーションプログラムと称されてもよい。
(2) アプリケーションプログラミングインターフェイス(Application Programming Interface, API)は、いくつかのあらかじめ定義されている機能であり、アプリケーションプログラム及び開発者が、ソースコードアクセスする必要なく又は内部動作メカニズムの細部を理解する必要なく、ソフトウェア又はハードウェアに基づいてルーチンのグループにアクセスすることが可能である能力を提供することを目的とする。
(3) オープングラフィックスライブラリ(Open Graphics Library, OpenGL)は、プロフェッショナルグラフィックスプログラムインターフェイスであり、適宜的に起動することが可能であるとともに強力な機能を有する基本となるグラフィックスライブラリである。
(4) また、ディスプレイコア、ビジュアルプロセッサ、又はディスプレイチップと呼ばれるグラフィックス処理ユニット(Graphics Processing Unit, GPU)は、パーソナルコンピュータ、ワークステーション、ゲーム機、及び(タブレットコンピュータ及びスマートフォン等の)いくつかのモバイルデバイスにおいて特に画像操作を実行するマイクロプロセッサである。そのグラフィックス処理ユニットは、コンピュータシステムが必要とする表示情報に対して変換及び駆動を実行し、そして、行走査信号をディスプレイに提供して、正しく表示するようにそのディスプレイを制御するように構成される。グラフィックス処理ユニットは、ディスプレイ及びパーソナルコンピュータメインボードを接続する重要な構成要素であり、また、"人とコンピュータの対話"の複数の重要なデバイスのうちの1つである。ディスプレイカードは、コンピュータホストの中の重要な構成要素部分として、ディスプレイグラフィックスを出力するタスクを担う。ディスプレイカードは、プロフェッショナルグラフィックスデザインに取り組む者にとってきわめて重要である。
(5) Androidのグラフィカルユーザインターフェイス(Graphical User Interface, GUI)システムは、クライアント/サービスサーバ(Client/Server, C/S)モデルのウィンドウシステムであり、すなわち、バックグラウンドは、1つの表面フリンガ(Surface Flinger)を実行し、クライアントプログラムがスクリーンを描画する必要があるときに、最初に、ウィンドウを作成することをサービス端に要求し、そして、その次に、そのウィンドウにコンテンツを描画する。各々のクライアントは、スクリーンがクライアントによって独立して占有されているということを感知し、サービス端は、各々のクライアントウィンドウに異なる層の値を割り当て、そして、ユーザ対話状態に基づいて、そのウィンドウの層の値を動的に変更してもよい。Androidアプリケーションプログラムによって表示するプロセスは、AndroidアプリケーションプログラムによってSurface Flingerを起動して、測定され、配置され、そして描画されているSurfaceを表示スクリーンにレンダリングするといったように、簡単に要約される。Surface Flingerは、Androidシステムに役立ち、Androidシステムのフレームバッファ、すなわち、表示スクリーンの管理に関与する。Surfaceは、描画平面を記述するのに使用され、そのSurfaceの内側は、平面のサイズ、スクリーンにおけるその平面の位置、及びスクリーンバッファのメモリの部分を含む。
(6) Canvas命令は、描画命令セットであり、例えば、drawColor()、drawText()、及びDrawCircleOp等のさまざまな描画機能を含む。
(7) ハードウェア抽象化層(Hardware Abstraction Layer, HAL)は、オペレーティングシステムのカーネルとハードウェア回路との間のインターフェイス層に位置し、ハードウェアを抽象化することを目的とする。ハードウェア抽象化層は、ある特定のプラットフォームのハードウェアインターフェイスの詳細を非表示にし、そして、オペレーティングシステムに仮想ハードウェアプラットフォームを提供し、それによって、そのオペレーティングシステムは、ハードウェア独立性を有し、複数のプラットフォームにおいて移行を実行することが可能である。ソフトウェア検査及びハードウェア検査の観点から、ソフトウェア検査及びハードウェア検査の作業は、それぞれ、ハードウェア抽象化層に基づいて完了されてもよく、それによって、ソフトウェア検査及びハードウェア検査の作業は、おそらく、並行して実行されてもよい。
次に、この出願の適用シナリオ及び解決する必要がある技術的問題が提案される。通信技術の発達に伴って、遠隔制御は、複数のパーソナルコンピュータ(Personal Computer, PC)の間、さまざまなモバイルインテリジェント端末の間の遠隔制御、又はサービスサーバとモバイルインテリジェント端末との間に関連するのみならず、より一般的になっており、例えば、ファットクライアント/シンクライアントモード及びファットサービスサーバ/シンクライアントモード等、すなわち、比較的処理能力の高いファットクライアント/ファットサービスサーバは、情報記憶及び情報処理等の機能のほとんどを完了するように構成され、一方で、比較的処理能力の低いシンクライアントは、ユーザと対話するツールとして使用されるにすぎない。この出願において遠隔制御の解決方法を適用する複数のシナリオは、複数の例を使用することによって以下で列記され、特に、以下のシナリオ1及びシナリオ2を含んでもよい。
シナリオ1: 複数の異なるオペレーティングシステムの複数のデバイスの間の遠隔制御
例えば、端末デバイス1のオペレーティングシステムは、Windows又はIOS等のプラットフォームである。一方で、端末デバイス1のオペレーティングシステムは、アンドロイドシステムではなく、端末デバイス1のオペレーティングシステムは、アンドロイドAPPに対して使用することは不可能であるか又はアンドロイドAPPとは互換性がないため、この場合には、ユーザは、端末デバイス1によって、アンドロイドアプリケーション(Application, APP)をダウンロードし、そして、使用する必要があり、劣悪なユーザ体験につながる。この出願においては、APP遠隔制御方法の適用により、プロキシとして端末デバイス2(すなわち、この出願におけるサービスデバイス)にインストールされているアンドロイドオペレーティングシステムを使用することによって、アンドロイドAPPを処理することが可能であり、処理結果は、リアルタイムで端末デバイス1に同期させられる。したがって、端末デバイス1のユーザは、アンドロイドAPPをインストールする必要なく、そのオペレーティングシステムによらずアンドロイドAPPを使用することが可能であり、それにより、携帯電話APPの遠隔制御を実装するとともに、遠隔アシスタンス等の機能要件を満足する。
シナリオ2: 同じオペレーティングシステム又は複数の異なるオペレーティングシステムの複数のデバイスの間のクラウド管理
例えば、端末デバイス1は、シンクライアントとしてファットサービスサーバを使用するか、又は、サービス端としてファットクライアントを使用して、クラウド管理を実行する必要がある。したがって、端末デバイス1にAPP1を実際にインストールする必要はなく、一方で、端末デバイス2(すなわち、この出願におけるサービスデバイス)にAPP1を実際にインストールする必要がある。したがって、端末デバイス2は、APP1を実際に実行し、リアルタイムで端末デバイス1に実行結果を同期させ、ユーザは、端末デバイス1によってAPPに対して可視化された対話操作を実行し、それによって、端末デバイス1にAPP1を実際にインストールする必要なく、端末デバイス2によって又はクラウドとしてサービスサーバ1を使用することによって提供されるAPP1の複数の関連するサービスを体験することが可能である。端末デバイス側のAPPは、クラウドに配置され、それによって、もはや、その端末デバイスに大きな数のAPPを配置する必要はない。携帯電話のデータのクラウド記憶装置の実装は、携帯電話の迅速な変更を可能とするとともに、データの円滑な移行の実行を可能とする。ファットサービスサーバは、サービス端として、複数の仮想的なオペレーティングシステムを有することが可能であり、同時に、複数のシンクライアントにクラウドサービスを提供するということを理解することが可能である。
とりわけ、上記のシナリオにおいて、APPの実行側の処理デバイスとして複数のデバイスのうちの一方のデバイス(端末デバイス又はサービスサーバ)を使用する必要があり、APPのインターフェイス表示用対話ツールとして他方のデバイス(端末デバイス)を使用する。したがって、リアルタイムでの2つのデバイスの間でのAPPの処理結果(対話用インターフェイス)の送信のプロセスを伴う。一方で、対話用インターフェイスは、大きな伝送データ量を有し、伝送リアルタイム性能に対する高い要件を必要とするので、従来技術のビデオストリーム伝送方式を使用する場合には、大きなトラフィック消費、流動性の低さ、及び不十分なテキスト表示効果等の問題に直面する。したがって、この出願によって解決することが必要である問題は、リアルタイムでの2つのデバイスの間でのAPPの処理結果の送信の効率及び表示効果をどのように改善するかということである。
上記の説明に基づいて、以下の記載は、最初に、本発明のそれらの複数の実施形態の基となっている通信システムのアーキテクチャを説明する。図1は、本発明のある1つの実施形態にしたがった通信システムのアーキテクチャ図であり、その通信システムのアーキテクチャは、(例えば、スマートフォン又はスマートバンド等の)複数の端末デバイス、(例えば、サーバ又は端末デバイス等の)サービスデバイス、及び(例えば、ソーシャルソフトウェアAPP1のサービスサーバ等の)少なくとも1つのサービスサーバを含んでもよい。図1において、端末デバイスは、APP1の表示用対話ツールとして、可視化された操作用対話インターフェイスをユーザに提供し、サービスデバイスは、APP1の記憶処理サービス端として、APP1を実際に実行し、それにより、端末デバイス側に同期している上記の可視化された操作用対話インターフェイスのデータソースを取得する。
端末デバイスは、APP1の表示用対話ツールとして、ユーザの(押圧、タップ、ダブルタッチ、又はスワイプ等の操作命令等の)操作命令を受信し及び捕捉し、そして、その次に、サービスデバイスにその操作命令を送信する。この出願における端末デバイスは、いずれかのオペレーティングシステムをインストールしている端末デバイスであってもよく、例えば、そのオペレーティングシステムは、Android(アンドロイド)、iOS(iOS)、及びWindows(ウィンドウズ)等を含んでもよい。この出願における端末デバイスは、さらに、ユーザ機器(User Equipment, UE)、無線ローカルエリアネットワーク(Wireless Local Area Networks, WLAN)の中の局(STATION, ST)、セルラ電話、無線ローカルループ(Wireless Local Loop, WLL)局、パーソナルディジタルアシスタント(Personal Digital Assistant, PDA)デバイス、無線通信機能を有するハンドヘルドデバイス、コンピューティングデバイス、無線モデムに接続される他の処理デバイス、車載型デバイス、又はウェアラブルデバイス等であってもよい。
端末デバイスが捕捉するユーザの操作命令を受信した後に、サービスデバイスは、関連するAPIによって、そのサービスデバイスにインストールされているAPP1に対して操作命令を投入し(すなわち、ユーザの操作命令は、そのサービスデバイスにインストールされているAPP1に対してシミュレートされ及び実行される)、操作応答結果を取得した後に、サービスデバイスは、その操作応答結果の中のインターフェイス描画命令を抽出し、そして、端末デバイスにそのインターフェイス描画命令を送信する。この時点で、ユーザは、APP1に対する操作の実行、及び、端末デバイスとサービスデバイスとの間の遠隔制御によるAPP1に対する応答を完了する。この出願におけるサービスデバイスは、端末デバイスの遠隔の制御デバイス、遠端の制御デバイス、又はクラウド制御デバイスであり、クラウドサービスサーバであってもよく、又は、遠隔制御端末デバイスであってもよい。例えば、サービスデバイスは、アンドロイド端末デバイス、すなわち、アンドロイドオペレーティングシステムをインストールしている端末デバイスであってもよく、又は、アンドロイドオペレーティングシステムをインストールしている仮想マシンをインストールしているアンドロイドクラウドサービスサーバであってもよい。この出願においては、インターフェイス描画命令の抽出を伴うため、オペレーティングシステムのカーネルを修正する必要があり、この出願におけるサービスデバイスにインストールされているオペレーティングシステムは、この出願によって提供されるAPP遠隔制御方法及び関連するインターフェイス描画をサポートするように構成されることが可能であるアンドロイドオペレーティングシステムである必要がある。例えば、図2A及び図2Bに示されているように、図2A及び図2Bは、本発明のある1つの実施形態にしたがった上記のシステムアーキテクチャに基づいて提供される遠隔制御シナリオの概略的な図である。そのシナリオにおいては、サービスデバイスは、複数の仮想的なアンドロイドオペレーティングシステムを有し、端末デバイスは、個別に、COS、Android、iOS、又はWindows等のオペレーティングシステムをインストールしているスマートフォンであり、そのスマートフォンは、サービスデバイスに対して、仮想的なアンドロイドシステムにインストールされているAPPによって、端末デバイスにサービスを提供し、その端末デバイスは、対話用表示ツールとして使用されるにすぎない。
選択的に、サービスサーバは、サービスデバイスにインストールされている上記のAPP1に関連するビジネスサービスを提供する。この出願における第1のアプリケーションプログラムが、例えば、ノートパッド、計算機、又はローカルな小型ゲーム等のローカルなアプリケーションであるときに、サービスサーバは、この出願における対話には参加しないということを理解することが可能である。この出願における第1のアプリケーションプログラムが、例えば、モバイル決済アプリケーション、ビデオ再生アプリケーション、モバイルブラウザ、又はモバイルソーシャルアプリケーション等の対話型のアプリケーションであるときに、サービスサーバは、その対話に参加する必要がある。例えば、サービスサーバは、決済サービスサーバ、ビデオサービスサーバ、コンテンツサービスサーバ、又はソーシャルサービスサーバ等である。
図1の通信システムのアーキテクチャは、本発明のこの実施形態におけるある1つの例示的な実装であるにすぎず、本発明のこの実施形態における通信システムのアーキテクチャは、これらには限定されないが、上記の通信システムのアーキテクチャを含むということを理解することが可能である。
上記の図1のシステムアーキテクチャに基づいて、本発明のこの実施形態は、クライアント/サービスサーバ(Client/Server, C/S)システムアーキテクチャを提供し、そのC/Sシステムアーキテクチャは、この出願におけるAPP遠隔制御方法を実装するように構成される。図3に示されているように、図3は、本発明のある1つの実施形態にしたがったC/Sシステムのアーキテクチャ図であり、そのシステムアーキテクチャは、1つのClient及び1つのServerを含み、それらの1つのClient及び1つのServerは、それぞれ、端末デバイス及びサービスデバイスにインストールされている。例えば、Clientは、(IOS、アンドロイド、windows等の)いずれかのオペレーティングシステムによって実行されるアプリケーションプログラムRDP Client processであり、Serverは、アンドロイドオペレーティングシステムのカーネルにおける(RDP Server及びSurface Fingerを含む)サービスプロセスである。端末デバイスは、上記のRDP Client processをインストールすることによって、サービスデバイスに存在するRDP Server及びSurface Fingerと対話し、それにより、遠隔制御サービスデバイスにインストールされているクライアントの機能を実装する。上記のC/Sアーキテクチャに基づいて、以下の記載は、それぞれ、端末デバイス及びサービスデバイスのシステムの組織図を説明する。
サービスデバイスは、サービス端(Server)として、例えば、Androidオペレーティングシステムのカーネルに対して修正又は構成を実行する必要がある。Serverの全体的なフレームワークは、上位から下位まで、個別に、アプリケーション(Application)層、フレームワーク(Framework)層、システムライブラリ(System Library)層、ハードウェア抽象化層(HAL)、及びカーネル(Kernel)層となる。
(1) Application層は、例えば、ソーシャルアプリケーションのウィーチャット又はショッピングアプリケーションのタオバオ等のサードパーティプログラムを実行するように構成される。
(2) Framework層は、Android開発者に、一連のサービス及びアプリケーションプログラムプログラミングインターフェイスAPIのインターフェイスを提供する。フレームワーク層は、View Systemモジュール、OpenGLモジュール、Rdp Serverモジュール、及びNetworkモジュールを含んでもよい。View Systemモジュールは、主として、Canvas描画命令を抽出するように構成され、OpenGLモジュールは、主として、OpenGL描画命令を抽出するように構成され、Rdp Serverモジュールは、主として、ネットワークを初期化し、APPの起動を制御し、そして、(スワイプ、タップ、又はタッチ等の)ユーザ操作命令を配信するように構成され、Networkモジュールは、主として、ネットワーク通信、描画命令、ユーザ操作命令の送信又は受信、命令が依存している画像及びテキスト等のリソースの描画のために構成される。
(3) System Library層は、システムクラスライブラリファイルであり、オペレーティングシステムが実行されているときに必要とされるクラスライブラリである。System Library層は、Videoモジュール、Audioモジュール、及びSF(Surface Finger)モジュールを含む。Videoモジュールは、主として、ビデオを抽出するように構成され、Audioモジュールは、主として、オーディオを抽出するように構成され、SFモジュールは、主として、層描画情報を抽出するように構成される。
(4) HAL & Kernel層であり、HALは、ハードウェア抽象化層である。HALは、仮想ハードウェア層Virtual Hardware Layerを含んでもよく、その仮想ハードウェア層は、主として、スピーカSpeaker、マイクロホンMIC、全地球測位システムGPS、及びセンサSensor等の情報を抽出するのに使用され、Linuxカーネル(Linux kernel)は、コンピュータオペレーティングシステムのカーネルである。
端末デバイスは、クライアント(Client)として、通常、APP又はEXE等の形態で存在し、IOS、Android、Window、又はLinux等の複数のタイプのプラットフォームにおいて実行されてもよい。ある1つの例として、Androidであるオペレーティングシステムを使用し、Clientの全体的なフレームワークは、上位から下位まで、個別に、UI層、View System層、System Library層、Adapter層、及びPlatform層である。
(1) UI層は、インターフェイス層である。UI層は、可視化された対話用インターフェイスであり、ユーザがAPPに対して実行する操作は、すべて、そのUI層において実行される操作である。すなわち、UI層は、ユーザの(タップ、スワイプ、ダブルタッチ、又は押圧等の)操作命令を受信するのに使用される。
(2) View System層は、Androidの中に存在するとともに、インターフェイスのコンテンツを表示するのに使用される構成要素である。View System層は、主として、サービスデバイスのインターフェイス描画命令を受信した後に、端末デバイスが、インターフェイス描画命令の中に存在するCanvas命令及びOpenGL命令に基づいて、UIの描画を実行しそしてUIを配置するのに使用される。View Systemは、矩形を描画する場所において及び矩形を描画する時点において、矩形の描画等のある特定のサービスを行うためのツールを使用する。
(3) System Library層は、システムクラスライブラリファイルであり、システムが実行されているときに必要とされるクラスライブラリである。そのSystem Libraryは、ツールライブラリであり、描画機能及びネットワーク機能等を有し、Skiaモジュール、OpenGLモジュール、APIモジュール、及びNetworkモジュールを含んでもよい。Skiaモジュールは、主として、Canvas命令及びSurfaceを描画するように構成され、2Dグラフィックス及び3Dグラフィックスの一部を含み、OpenGLは、主として、OpenGL命令を描画するように構成され、Networkモジュールは、ClientとServer端との間のネットワーク対話のために構成され、データフロー及び制御フローを含む。
(4) Adapter層は、プラットフォーム適応層であり、主として、各々のプラットフォームの実行環境と互換性を保つために使用される。したがって、Clientは、オペレーティングシステムプラットフォームにおいて実行されてもよい。Adapter層は、プラットフォーム適応層である、すなわち、IOS、Android、及びWindowプラットフォームと互換性を有することが可能であり、それにより、プラットフォーム横断を実装する。
(5) Platform層は、Client側がサポートするプラットフォーム、すなわち、例えば、IOS、Android、又はWindow等のプラットフォーム等の端末デバイス側がサポートするオペレーティングシステムである。
本発明のこの実施形態におけるAPP遠隔制御方法は、また、ブラウザ/サービスサーバ(Browser/Server, B/S)モードに基づいていてもよい、すなわち、Clientは、ブラウザに変更され、その原理は、同様であり、Server端との通信接続を確立するために、そのブラウザに、関連するプラグインをインストールする必要があり、遠隔制御の原理は同じであるということを理解することが可能である。
上記の図1及び図3に対応するシステムアーキテクチャに基づいて、以下の記載は、特に、この出願によって提供される遠隔制御方法の複数の実施形態を参照して、この出願によって提案される技術的な問題を分析し及び解決する。
図4は、本発明のある1つの実施形態にしたがったAPP遠隔制御方法の概略的なフローチャートであり、上記の図1又は図3の通信システムに適用されてもよい。以下の記載は、端末デバイスとサービスデバイスとの間の対話側の観点から、図4を参照して説明し、その方法は、以下のステップS401乃至ステップS403を含んでいてもよい。
ステップS401: 端末デバイスは、第1の入力を受信し、その第1の入力に基づいて、第1の操作命令を生成する。
具体的には、上記のC/Sアーキテクチャを参照して、端末デバイスにおけるClientは、最初に、サービスデバイスServerのIP及びポートを知る必要がある。その次に、そのClientは、上記のIP及びポートを介してサービスデバイスに遠隔制御接続要求を送信し、そのサービスデバイスが端末デバイスの識別情報を確認した後に、例えば、TCP/IPプロトコルに基づくSocketリンクを確立するといったように、端末デバイスとサービスデバイスとの間の通信接続を確立する。サービスデバイスに複数の仮想Serverが存在するときに、サービスデバイスにおける複数の一致している仮想Serverのうちの1つと端末デバイスとの間で通信接続を実行するということを理解することが可能である。例えば、ウィーチャットAPPは、Server端の仮想Androidオペレーティングシステムにインストールされ、Client端の携帯電話において、遠隔制御されるクライアントAPPを起動し、Server端のIPアドレス及びポート番号を設定する。クライアントAPPを起動した後に、クライアントAPPに、Server端のウィーチャットのインターフェイスを投影し、ユーザーは、そのクライアントにおいてウィーチャットの操作を実行する。
端末デバイスが受信する第1の入力は、第1のアプリケーションプログラムのアプリケーションアイコンの起動に作用する入力及び/又は第1のアプリケーションプログラムのユーザインターフェイスに作用する入力を含み、第1のアプリケーションプログラムは、上記のサービスデバイスにおいて実行され、第1のアプリケーションプログラムのアプリケーションアイコン及び第1のアプリケーションプログラムのユーザインターフェイスは、端末デバイスに表示される。すなわち、第1のアプリケーションプログラムの起動及び起動されているユーザインターフェイスは、端末デバイスに表示され、起動されているユーザインターフェイスのデータソースは、サービスデバイスにおいて実行されている第1のアプリケーションプログラムから生じる。この出願における第1の入力は、2つのタイプを含んでもよく、1つ目のタイプは、第1のアプリケーションプログラムを開き又は有効化する入力操作の起動であり、2つ目のタイプは、第1のアプリケーションプログラムを有効化した後に、その有効化されている第1のアプリケーションプログラムに対する入力操作である。
第1の入力が第1のアプリケーションプログラムを有効化する入力操作であるときに、端末デバイスが、サービスデバイスへの接続を要求し、そして、サービスデバイスにおいて第1のアプリケーションプログラムを有効化することを要求するのに、第1の入力を同時に使用してもよい。1つ目のタイプの場合には、端末デバイスにおいて受信する第1の入力は、端末デバイスのローカルなClientのインターフェイスに対する操作として理解されてもよい。
第1の入力がその有効化されている第1のアプリケーションプログラムに対する入力操作であるときに、端末デバイスが、サービスデバイスにおける第1のアプリケーションプログラムに対して、第1の入力に対応する機能の操作を実行することを要求するのに、第1の入力を使用する。2つ目のタイプの場合には、端末デバイスにおいて受信する第1の入力は、サービスデバイスにおける第1のアプリケーションプログラムの現在の出力インターフェイスに対する操作として理解されてもよい。一方で、出力インターフェイスは、その端末デバイスに同期されているので、その端末デバイスの同期されているインターフェイスに対して第1の入力を実行するが、本質的に、第1の入力は、依然として、そのサービスデバイスに対する遠隔操作となる。Serverに表示スクリーンが存在するときに、上記の出力インターフェイスを表示してもよく、バックグラウンドサービスデバイスとして、Serverを使用するにすぎないときには、その表示スクリーンによってその出力インターフェイスを表示しなくてもよいということを理解することが可能である。このことは、この出願においては特には限定されない。
上記のステップS401において、端末デバイスは、ユーザの第1の入力を受信してもよく、その第1の入力は、ある特定の操作領域に対するタップ、押し下げ、ダブルタッチ、スワイプ、及び入力等の操作を含んでもよい。第1の入力の受信及びモニタリングの際に、端末デバイスは、第1の入力を識別し、サービスデバイスが識別することが可能である第1の操作命令へと第1の入力を変更する。例えば、第1の入力がスクリーン座標(100,100)の位置における"タップ"操作であるときに、その端末デバイスは、サービスデバイスに、その操作の操作タイプ情報(この例では"タップ")及び操作位置情報(この例では、座標点100,100)を送信してもよく、サービスデバイスは、1回、座標(100,100)の位置において"タップ"操作をシミュレートし及びトリガしてもよい。
ステップS402: 端末デバイスは、サービスデバイスに第1の操作命令を送信し、サービスデバイスは、端末デバイスが送信する第1の操作命令を受信する。
具体的には、端末デバイスは、Clientによって、且つ、以前に確立されている通信接続によって、対応するIPアドレス及び対応するポートのServerに、第1の入力に基づいて生成された第1の操作命令を送信し、対応するServerがClientの第1の操作命令のうちの1つを聴いているときに、Clientの要求を処理するために新たなスレッドを取得し及び生成する。
ステップS403: サービスデバイスは、第1のアプリケーションプログラムにより第1の操作命令に応答し、第1の応答結果を生成する。
具体的には、第1のアプリケーションプログラムは、サービスデバイスにインストールされているため、操作命令又は第1のアプリケーションプログラムの受信の際に、そのサービスデバイスは、そのサービスデバイスに存在する第1のアプリケーションプログラムに関する操作命令をシミュレートし及び再び実行する。例えば、操作命令がスワイプ操作である場合に、そのスワイプ操作を受信した後に、サービスデバイスは、第1のアプリケーションプログラムにそのスワイプ操作をローカル的に投入して、スワイプ操作を実行する必要があり、そして、応答結果を取得する。例えば、第1の操作命令がスワイプ命令である場合に、その応答結果は、次のページを提示し、新たなコンテンツをロードし、又は、呼に応答する等である。第1の操作命令がタップ命令である場合に、その応答結果は、確認検索コンテンツのロード及び表示、又は、提示確認結果の表示等である。
例えば、端末デバイスがサービスデバイスに接続された後に、遠隔制御は、実際には、そのサービスデバイスに端末デバイスの(touch event等の)第1の入力を投入することが可能であり、インターフェイス描画命令により端末デバイスにそのサービスデバイスの出力を返送するということである。端末デバイスからサービスデバイスに(touch又はkey等の)イベントを投入するために、サービスデバイスは、例えば、Android入力イベントループサブシステムのアクセスを書き込む必要があり、サービスデバイスから端末デバイスに表示を返送するために、サービスデバイスは、Android表示サブシステムのアクセスを読み出す必要がある。最後に、第1のアプリケーションプログラムの遠隔制御を実装する、すなわち、サービスデバイス(携帯電話)において実行されている第1のアプリケーションプログラム(APP)のインターフェイスを端末デバイス(他の携帯電話クライアント)に表示し、それによって、ユーザは、その携帯電話クライアントを操作することによって、遠端の携帯電話又はサービスサーバにインストールされているAPPの機能のすべてを完了する。
サービスデバイスが第1の操作命令に応答するプロセスにおいて、サービスデバイスは、アプリケーションサービスサーバと対話する必要がある場合があるということを理解することが可能である。例えば、ユーザの第1の入力は、そのページのロード又は更新をタップすることであり、第1のアプリケーションプログラムに対してそのタップを実行する命令を投入した後に、サービスデバイスは、実際に、サービスサーバと対話する必要があり、それによって、コンテンツの対応するロードを達成することが可能である。すなわち、サービスデバイスがサービスサーバと対話した後に、最終的な応答結果を出力することが可能である。サービスサーバと対話する必要がない複数のサービスデバイスのうちのいくつかについては、サービスデバイスに対してその最終的な応答結果を直接的に出力する。
第1の操作命令の中に含まれているある特定の操作命令のタイプが異なっているとき、例えば、第1の操作命令が、センサ又はハードウェアデバイスのデータ収集命令を含むとき、或いは、第1の操作命令が、ある特定のアプリケーションの操作命令を含むときに、サービスデバイスがどのようにして第1のアプリケーションプログラムにより第1の操作命令に応答するかについての具体的な実装は、異なっていてもよいということに留意すべきである。例えば、その具体的な実装は、以下の2つの実装を含んでもよい。
ある1つの可能な実装において、サービスデバイスは、第1のアプリケーションプログラムにより第1の操作命令に応答し、分析により第1のハードウェア命令を取得し、サービスデバイスは、端末デバイスに第1のハードウェア命令を送信し、端末デバイスは、サービスデバイスの第1のハードウェア命令を受信し、端末デバイスは、その第1のハードウェア命令に基づいて、第1のハードウェアデバイスを駆動して、データを収集し、第1のハードウェアデバイスの収集結果を取得し、サービスデバイスに第1のハードウェアデバイスの収集結果を送信し、サービスデバイスは、端末デバイスが送信する第1のハードウェアデバイスの収集結果を受信し、そして、第1のハードウェアデバイスの収集結果に基づいて、第1の応答結果を生成する。すなわち、この時点においてサービスデバイスが生成する第1の応答結果の中のコンテンツの一部は、端末デバイスの関連するハードウェアデバイスによって収集されそして取得される。例えば、第1の操作命令が、ユーザが実行するカメラに対するタップ、記録ボタン、及びマップの照会等の機能を含むときに、サービスデバイスは、第1の操作命令に応答した後に、分析により関連するハードウェア命令を取得する。関連するハードウェア命令は、カメラを駆動させて写真を撮るように端末デバイスに指示する命令、音声記録命令、又は地図位置決定命令等に対応する。関連するハードウェア命令を受信した後に、端末デバイスは、関連するハードウェアを駆動して、データを収集し、それに対応して、端末デバイスは、ローカルなカメラを駆動して、画像撮影データを収集し、マイクロホンを駆動して、音声データを収集し、ローカルな地図アプリケーションを駆動して、地理的位置データを収集し、そして、サービスデバイスに収集したデータを返送し、それによって、サービスデバイスは、ハードウェアデバイスの収集結果に基づいて、最終的な第1の応答結果を生成する。したがって、サービスデバイスが返送する第1の応答結果の中のコンテンツの一部又はすべては、端末デバイスがフィードバックするハードウェア収集結果に基づいて生成される、すなわち、データは、端末デバイスのローカルなハードウェア又はセンサデバイスを使用することによって収集されて、データを頻繁に交換するシナリオにおいて、遠隔制御のリアルタイムパフォーマンスを満足し、それにより、遠隔制御の品質及び効率を改善する。
他の可能な実装において、第1のインターフェイス描画命令は、第1の応答結果に対応する部分的なインターフェイスを描画するように端末デバイスに指示するのに使用され、第1の応答結果に対応する部分的なインターフェイスは、第2のアプリケーションプログラムのユーザインターフェイスを含まず、サービスデバイスは、第1の操作命令に基づいて、第1のアプリケーションプログラムを使用することによって、第2のアプリケーションプログラムを起動し、そして、第1の応答結果を生成し、サービスデバイスは、端末デバイスに第1の制御命令を送信し、端末デバイスは、サービスデバイスが送信する第1の制御命令を受信し、端末デバイスは、第1の制御命令に基づいて、ローカルな第3のアプリケーションプログラムを起動し、第3のアプリケーションプログラムは、第2のアプリケーションプログラムとあらかじめ一致しているアプリケーションプログラムである。本発明のこの実施形態において、第3のアプリケーションは、端末デバイスにおけるローカルなアプリケーションであってもよく、第2のアプリケーションは、第3のアプリケーションと同じ機能を有するとともにサービスデバイスに存在しているローカルなアプリケーションであってもよい。例えば、第3のアプリケーションプログラムは、ローカルな入力方法、ローカルな計算機、ローカルな呼ソフトウェア、又はローカルなダイヤルキーボード等、すなわち、操作が頻繁に実行されるか、又は、操作が実行されるときに、交換操作の頻度が比較的高いローカルなアプリケーションである。第1の応答結果が第2のアプリケーションを起動する動作を含むときに、第1のインターフェイス描画命令は、第2のアプリケーションに関する描画命令を含まず、代替的に、追加的に制御命令を送信することによって、表示のために、第2のアプリケーションと同じ機能を有する第3のアプリケーションをローカル的に起動するように端末デバイスに指示し、それによって、複数のネットワークの間の頻繁な送信のオーバヘッドを節約する。
さらに、選択的に、端末デバイスは、サービスデバイスに第2の操作命令を送信し、サービスデバイスは、端末デバイスが送信する第2の操作命令を受信する。サービスデバイスは、第1のアプリケーションプログラムによって起動される第2のアプリケーションプログラムにより第2の操作命令に応答し、そして、第2の応答結果を生成する。サービスデバイスは、第2の応答結果から第2のインターフェイス描画命令を抽出し、端末デバイスに第2のインターフェイス描画命令を送信し、端末デバイスは、サービスデバイスが送信する第2のインターフェイス描画命令を受信する。端末デバイスは、第2のインターフェイス描画命令に基づいて、第2の応答結果に対応する部分的なインターフェイスを描画し、その部分的なインターフェイスは、第2のアプリケーションプログラムのユーザインターフェイスを含まない。第2の操作命令は、第2の入力に基づいて端末デバイスによって生成され、第2の入力は、第3のアプリケーションプログラムのユーザインターフェイスに作用する入力である。端末デバイスによって第3のアプリケーションを起動し、ユーザが第3のアプリケーションに対して実行する操作を受信した後に、サービスデバイスにその操作に対応する命令を送信し、サービスデバイスにおいて第2のアプリケーションによりその操作に応答し、それによって、応答結果を出力する。最後に、その応答結果は、インターフェイス描画命令方式によって端末デバイスに返送され、インターフェイス描画命令は、依然として、第2のアプリケーションのユーザインターフェイスを含む必要はない。
例えば、ユーザが端末デバイスに対して実行する第1の入力は、複数の動的な対話のフィードバックを有していてもよく、インターフェイス命令が、それらの対話のフィードバックのためにリアルタイムで抽出され及び描画される場合に、低い同期効率及び大きなネットワーク帯域幅消費等の問題を引き起こす場合がある。加えて、それらの対話のフィードバックは、応答プロセスをより鮮明にし、且つ、より個別化するのに使用され、通常は、最終的な応答結果ではない。例えば、図6に示されているように、図6は、本発明のある1つの実施形態にしたがった入力方法の遠隔応答の概略的な図であり、その入力方法の対話プロセスにおいて、文字がタップされるときに、その文字は、強調形態によって又は拡張現実感の方式によって、現在タップされている文字を近傍のユーザに認識させてもよく、その次に、強調されている文字アイコンは、第2のフィードバックと考えられてもよい。
以下の記載は、複数の例を使用することによって、この出願におけるAPP遠隔制御方法の入力方法のコンテンツを起動し、非表示にし、及び表示するある特定のプロセスを説明する。
その入力方法は、ユーザのノックの頻度が比較的高い応用例であり、Server端の入力方法を使用する場合に、キーボードをノックするたび毎に、命令のネットワーク伝送を伴い、流動性に影響を与える場合がある。したがって、ローカルな入力方法の解決方法を使用し、クライアントが入力を実行するときに、クライアントの携帯電話の入力方法を起動して、入力を実行し、それにより、入力速度を改善するとともに、ユーザ操作体験を最適化する。
(1) ローカルな入力方法の起動手順
Server端の入力方法がポップアップするときに、その入力方法は、クライアントにポップアップメッセージを送信し、そのメッセージは、ユーザ定義され、エディター情報(EditorInfo)を搬送する。その情報を受信した後に、クライアントは、ローカルな入力方法を起動し、Server端が送信するEditorInfoを設定する。ある特定のプロセスは、図7に示され、図7は、本発明のある1つの実施形態にしたがったローカルな入力方法の起動の概略的なフローチャートである。
(2) ローカルな入力は表示されない
Server端の入力方法が終了させられるときに、その入力方法は、クライアントに1つのHideメッセージを送信し、クライアントは、そのメッセージを受信した後に、そのローカルな入力方法を非表示にする。ある特定のプロセスは、図8に示され、図8は、本発明のある1つの実施形態にしたがったローカルな入力方法を非表示にする概略的なフローチャートである。
(3) ローカルな入力方法の使用による入力コンテンツの表示の実装
ローカルな入力方法がポップアップされた後に、ユーザは、入力方法のキーボードをノックして、テキストを入力してもよく、そのキーボードのローカル的なノックからそのテキストの表示まで、ユーザ定義のInput Connectionは、本明細書において実装され、また、RDP Input Connectionと称される。ユーザ定義のInput Connectionは、インターフェイスのパケットであり、入力を受信するアプリケーションプログラムとInput Methodとの間の通信チャネルである。RDP Input Connectionは、インターフェイスのパケットを実装し、アプリケーションプログラムと入力方法プログラムとの間で通信情報を傍受するのに使用される。その次に、その情報は、シリアル化され、Server端に送信され、その情報を受信した後に、そのServer端は、その次に、ローカルなInput Connectionを起動するとともに、ローカルなInput Connectionのインターフェイスを起動し、それによって、Client端がキーボードをノックした後に、Server端は、コンテンツを表示してもよく、その次に、Canvas命令によりClient端にコンテンツを復元する。ある特定のプロセスは、図9に示され、図9は、本発明のある1つの実施形態にしたがったローカルな入力方法の使用によるコンテンツの表示の概略的な図である。
サービスデバイスが生成する応答結果の変動が、連続的な時間にわたって比較的小さい場合、例えば、同じインターフェイスにおいてボタンのみが変化する場合に、サービスデバイスは、その応答結果の中の変更されるコンテンツについてのインターフェイス命令を抽出してもよく、その応答結果の中の変更されないコンテンツは、繰り返しては抽出されないということに留意すべきである。それに対応して、端末デバイス側は、変更されるコンテンツに対応するインターフェイス描画命令に基づいて、描画を再び実行する必要があるにすぎず、他の変更されない部分は、前回描画されているインターフェイスを使用してもよい。それにより、帯域幅消費を減少させ、インターフェイスの遠隔での表示の流動性を改善する。
ステップS404: サービスデバイスは、第1の応答結果から第1のインターフェイス描画命令を抽出し、そして、端末デバイスに第1のインターフェイス描画命令を送信し、端末デバイスは、サービスデバイスが送信する第1のインターフェイス描画命令を受信する。
具体的には、第1のインターフェイス描画命令は、端末デバイスが第1の応答結果に対応する部分的なインターフェイス又は完全なインターフェイスを描画するのに使用される。インターフェイスによって第1の応答結果のすべてを描画することが可能であるときに、第1のインターフェイス描画命令は、端末デバイスが第1の応答結果の完全なインターフェイスを描画するのに使用され、第1の応答結果の一部がインターフェイスであるとともに、第1の応答結果の他の部分が(例えば、センサデータ及びハードウェアデータ等の)他のデータであるときに、第1のインターフェイス描画命令は、端末デバイスが第1の応答結果の部分的なインターフェイスを描画するのに使用され、第1の応答結果の中の他の部分は、他のタイプの命令に基づいて復元される。完全なアンドロイドシステムにおいては、応答結果は、インターフェイスを表示するのに使用されるインターフェイス描画命令及びセンサ層におけるセンサ命令等を完全に含んでいる。センサ命令は、ハードウェア抽象化層HALが抽出するセンサ及び他のデバイスのAPI起動命令を含んでもよい。サービスデバイスが応答結果から第1のインターフェイス描画命令を抽出することの目的は、端末デバイスの場合には、第1のアプリケーションプログラムは、実際には、端末デバイスにインストールされていないため、ユーザの操作命令を受信した後に、端末デバイスは、本質的に、その操作命令を処理することは不可能であり、端末デバイスは、第1のアプリケーションプログラムを実際にインストールしているサービスデバイスに第1の操作命令を送信することが可能であるにすぎず、それによって、サービスデバイスにおいては、アンドロイドオペレーティングシステムに存在するとともにサービスデバイスにインストールされている第1のアプリケーションプログラムに対して、ユーザの第1の操作命令を再び操作し、そして、応答結果を取得するということである。サービスデバイスが応答結果を出力することの目的は、サービスデバイスに表示するということではなく、最終的に端末デバイスに表示するということである。したがって、サービスデバイスが応答結果を出力した後に、その応答結果に対応する第1のインターフェイス描画命令を抽出し、そして、端末デバイスに送信してもよく、それによって、端末デバイスは、最終的に、インターフェイスに応答結果を復元することが可能である。
ある1つの可能な実装において、上記の第1のインターフェイス描画命令及び/又は第2のインターフェイス描画命令は、アンドロイドオペレーティングシステムのView層におけるCanvas命令及びアンドロイドオペレーティングシステムのLibraries層におけるOpenGL命令を含む。
ある1つの可能な実装において、サービスデバイスが、応答結果から第1のインターフェイス描画命令を抽出し、そして、端末デバイスに第1のインターフェイス描画命令を送信することは、特に、サービスデバイスによって、応答結果から第1のインターフェイス描画命令を抽出するステップ、あらかじめ設定されたシリアル化アルゴリズムを使用することによって、第1のインターフェイス描画命令の順序情報を生成するステップ、その次に、あらかじめ設定された圧縮アルゴリズムを使用することによって、順序情報の圧縮情報を生成するステップ、及び、最後に、端末デバイスに圧縮されているとともにシリアル化されているインターフェイス描画命令を送信するステップ、を含む。本発明のこの実施形態がClient/Serverデータ通信を伴うときに、第1のインターフェイス描画命令のデータ構造の複雑さを考慮すると、端末デバイスとサービスデバイスとの間の伝送において、メッセージの転送は、シリアル化方式によって実行され、第1のインターフェイス描画命令のデータは、圧縮されて、さらに、帯域幅消費を減少させる。すなわち、第1のインターフェイス描画命令は、符号化され、圧縮され、そして、その次に、端末デバイスに送信され、符号化されているとともに圧縮されているインターフェイス描画命令を受信した後に、端末デバイスは、最初に、解凍を実行し、その次に、逆シリアル化を実行し、そして、最後に、インターフェイス描画命令を取得する必要がある。後に続く第2のインターフェイス描画命令及び第3のインターフェイス描画命令は、同様に、さらに、シリアル化され、圧縮されてもよい。以下では、詳細は説明されない。図5に示されているように、図5は、本発明のある1つの実施形態にしたがったインターフェイス描画命令の送信の概略的な図であり、サービスデバイスは、最初に、シリアル化アルゴリズムにより第1のインターフェイス描画命令をシリアル化し、その次に、圧縮アルゴリズムにより圧縮を実行し、そして、最後に、端末デバイスとサービスデバイスとの間に確立されている通信リンクにより送信を実行し、端末デバイス側は、最初に、同じ解凍アルゴリズムにより解凍を実行し、そして、最後に、シリアル化アルゴリズムを使用することによって、逆シリアル化を実行し、それにより、第1のインターフェイス描画命令を復元する。選択的に、シリアル化アルゴリズムは、ProtocolBufを使用してもよく、圧縮アルゴリズムは、LZ4を使用してもよい。
ある1つの可能な実装において、サービスデバイスが生成する応答結果は、第1の画像リソースを含み、第1の画像リソースは、あらかじめ設定されているしきい値よりも大きい画像リソースであり、第1の画像リソースが端末デバイスにおいてバッファリングされているときに、サービスデバイスが応答結果から抽出するインターフェイス描画命令は、第1の識別子を含み、第1の識別子は、第1の画像リソースのバッファに基づいて、第1の画像リソースを表示するように端末デバイスに指示するのに使用され、第1の画像リソースが端末デバイスにおいてバッファリングされていないときに、サービスデバイスが応答結果から抽出するインターフェイス描画命令は、第1の画像リソースの画像描画命令を含む。すなわち、第1のインターフェイス描画命令を抽出するプロセスにおいて、応答結果が、例えば、画像、ビデオ、又はフラッシュFlash等の比較的大きな第1の画像リソースを伴うときに、第1の画像リソースの繰り返しの送信が引き起こす帯域幅消費を減少させ、同時に、画像リソースの表示の流動性を改善するために、端末デバイスは、1回目に第1の画像リソースを受信した後に、その第1の画像リソースをローカル的にバッファリングする必要があり、次にその第1の画像リソースを視るか又は操作する必要があるときに、サービスデバイスは、第1の画像リソースのためのインターフェイス描画命令を再び抽出する必要はなく、端末デバイスが第1の画像リソースを描画し及びバッファリングするか否かを決定する必要があるにすぎない。第1の画像リソースがバッファリングされている場合に、端末デバイスに第1の画像リソースの識別子を送信する必要があるにすぎず、それによって、その端末デバイスは、直接的且つローカル的にロードすることが可能であり、第1の画像リソースがバッファリングされていない場合に、描画のために、端末デバイスに、対応する第1の画像リソースの画像描画命令を送信する必要がある。
選択的に、上記の第1の画像リソースのバッファリング方式は、非同期バッファリング方式であってもよい。具体的には、端末デバイスは、描画命令を実行する描画スレッド及び画像リソースの同期を実行する画像同期スレッドの2つの異なるスレッド有し、2つのスレッドは、独立して実行され、互いに干渉しない。画像リソースを圧縮し及び送信するプロセスは、独立しているスレッドによって実行され、それにより、描画スレッドの実行に対する影響を回避するとともに、インターフェイス描画の流動性を改善する。画像を描画する必要があるときに、クライアントデバイスは、最初に、画像がローカル的に格納されているか否かを検査してもよく、画像がローカル的に格納されている場合に、その画像は、描画スレッドにおいて直接的に描画され、画像がローカル的に格納されていない場合に、同期スレッドにおいて、その画像を同期させる操作を起動してもよい。画像同期操作を実行するときに、描画スレッドは、他の描画命令を継続して実行し、画像同期操作を完了するときに、GUIインターフェイスは、リフレッシュされるようにトリガされ、それによって、描画スレッドは、画像を再び描画する。後に続く第2の応答結果、第2のインターフェイス描画命令、及び第3のインターフェイス描画命令は、また、上記の方法を使用してもよいということを理解することが可能である。以下では、詳細は説明されない。
ステップS405: 端末デバイスは、第1のインターフェイス描画命令に基づいて、第1の応答結果に対応する部分的なインターフェイス又は完全なインターフェイスを描画する。
具体的には、端末デバイスは、第1のインターフェイス描画命令に基づいて、応答結果に対応するインターフェイスを描画する。端末デバイスにおけるオペレーティングシステムは、サービスデバイスにおけるオペレーティングシステムとは異なっていてもよいが、例えば、端末デバイスにおけるオペレーティングシステムは、IOSである。しかしながら、オペレーティングシステムのほとんどは、同じアンドロイドグラフィックス描画(Skia)命令セットをサポートする。したがって、サービスデバイスのオペレーティングシステムにおいて本発明のこの実施形態によって抽出されるとともに、Skiaの基準を満たす描画命令は、同様にSkia命令のセットをサポートする他のオペレーティングシステムにおいて復元されてもよい。したがって、インターフェイス描画命令を受信した後に、端末デバイスは、端末デバイスのインターフェイス描画要素又はインターフェイス描画オブジェクトによって応答結果を再び描画してもよい。
選択的に、この出願は、ステップS406乃至ステップS409をさらに含んでもよい。
ステップS406: サービスデバイスは、サービスサーバが送信する第1のメッセージを受信し、第1のメッセージは、第1のアプリケーションプログラムの受信メッセージである。
ステップS407: サービスデバイスは、第1のアプリケーションプログラムにより第1のメッセージに応答し、そして、第3の応答結果を生成する。
ステップS408: サービスデバイスは、第3の応答結果から第3のインターフェイス描画命令を抽出し、そして、端末デバイスに第3のインターフェイス描画命令を送信し、端末デバイスは、サービスデバイスが送信する第3のインターフェイス描画命令を受信する。
ステップS409: 端末デバイスは、第3のインターフェイス描画命令に基づいて、第3の応答結果に対応する部分的なインターフェイス又は完全なインターフェイスを描画する。
上記のステップS406乃至ステップS409において、受信メッセージがサービスサーバから来るとき、すなわち、この場合には、端末デバイスの操作命令が存在しないときに、端末デバイスは、サービスサーバから来るメッセージのコンテンツを受動的に受信する必要がある。この場合には、端末デバイスは、サービスデバイスに操作命令を送信する必要はなく、代替的に、サービスデバイスは、サービスサーバが送信するメッセージのコンテンツを受信し、そして、その次に、端末デバイスにその更新されたメッセージのコンテンツを能動的に送信し、端末デバイスにおけるClientは、視覚化されたインターフェイスを更新する必要があるにすぎない。第2の応答結果及び第2のインターフェイス描画命令の関連する処理方法については、上記の第1の応答結果及び第1のインターフェイス描画命令の関連する説明を参照すべきである。本明細書においては、詳細は繰り返しては説明されない。
選択的に、サービスデバイスは、また、第3の応答結果から第2のハードウェア命令を抽出し、そして、端末デバイスに第2のハードウェア命令を送信し、端末デバイスは、サービスデバイスが送信する第2のハードウェア命令を受信し、端末デバイスは、第2のハードウェア命令に基づいて、第2のハードウェアデバイスを駆動して、出力を実行する。端末デバイス側が受動的に受信するメッセージは、また、ハードウェア出力メッセージが存在してもよい。したがって、インターフェイス描画命令を送信する必要があるのみならず、サービスデバイスは、また、ハードウェア命令を送信して、端末デバイスにおいて対応するハードウェアデバイスを駆動し、その結果、ハードウェアデータ出力を実行する必要がある。具体的には、第2のハードウェアデバイスを駆動して出力を実行することは、スピーカを駆動してを再生すること、カメラのフラッシュを駆動して光を発すること、又は振動デバイスを駆動して振動させること等であってもよい。例えば、チャットウィンドウが、音声を伴う画像を受信するときに、この場合には、インターフェイス描画命令が必要となるのみならず、端末デバイスにおけるスピーカを駆動して、関連する音声情報を再生することが必要となる。
本発明のこの実施形態において、APP遠隔制御において、サービスデバイス側に既にインストールされているAPPを使用して、端末デバイスに存在するとともにそのAPPのための操作命令に応答し、それによって、サービスデバイスにおいて応答結果を取得する。その応答結果から(ビデオストリームではない)インターフェイス描画命令を抽出することにより、その応答結果に対応するインターフェイス描画命令は、その端末デバイスに送信され、それによって、その端末デバイスは、インターフェイス描画命令に基づいて、その応答結果に対応するインターフェイスをローカルに描画し及び生成する。したがって、ビデオストリームにより遠隔制御を実装する方式を回避し、伝送帯域幅を減少させ、APP遠隔制御の効率及び流動性を改善する。
上記では、本発明の複数の実施形態における方法を詳細に説明し、以下では、本発明の複数の実施形態における関連する装置を提供する。
図10は、本発明のある1つの実施形態にしたがったサービスデバイスの概略的な構成図であり、サービスデバイス10は、第1の受信ユニット101、第1の出力ユニット102、及び第1の送信ユニット103を含んでもよい。それらのユニットは、以下で詳細に説明される。
第1の受信ユニット101は、端末デバイスが送信する第1の操作命令を受信するように構成され、第1の操作命令は、第1の入力に基づいて端末デバイスによって生成され、第1の入力は、第1のアプリケーションプログラムのアプリケーションアイコンの起動に作用する入力及び/又は第1のアプリケーションプログラムのユーザインターフェイスに作用する入力を含み、第1のアプリケーションプログラムは、サービスデバイスにおいて実行され、第1のアプリケーションプログラムのアプリケーションアイコン及び第1のアプリケーションプログラムのユーザインターフェイスは、端末デバイスに表示される。
第2の出力ユニット102は、第1のアプリケーションプログラムにより第1の操作命令に応答し、そして、第1の応答結果を生成するように構成される。
第1の送信ユニット103は、第1の応答結果から第1のインターフェイス描画命令を抽出し、そして、端末デバイスに第1のインターフェイス描画命令を送信するように構成され、第1のインターフェイス描画命令は、端末デバイスが第1の応答結果に対応する部分的なインターフェイス又は完全なインターフェイスを描画するのに使用される。
ある1つの可能な実装において、第1の出力ユニット102は、特に、
第1のアプリケーションプログラムにより第1の操作命令に応答し、そして、分析により第1のハードウェア命令を取得し、端末デバイスに、第1のハードウェア命令を送信し、第1のハードウェア命令は、第1のハードウェアデバイスを駆動して、データを収集するように端末デバイスに指示するのに使用され、端末デバイスが送信する第1のハードウェアデバイスの収集結果を受信し、そして、第1のハードウェアデバイスの収集結果に基づいて、第1の応答結果を生成する、ように構成される。
ある1つの可能な実装において、第1の出力ユニット102は、特に、
第1の操作命令に基づいて、第1のアプリケーションプログラムを使用することによって、第2のアプリケーションプログラムを起動し、そして、第1の応答結果を生成する、ように構成され、
第1のインターフェイス描画命令は、端末デバイスが第1の応答結果に対応する部分的なインターフェイスを描画するのに使用され、第1の応答結果に対応する部分的なインターフェイスは、第2のアプリケーションプログラムのユーザインターフェイスを含まず、当該サービスデバイスは、
端末デバイスに第1の制御命令を送信するように構成される第1の制御ユニットをさらに含み、第1の制御命令は、ローカルな第3のアプリケーションプログラムを起動するように端末デバイスに指示するのに使用され、第3のアプリケーションプログラムは、第2のアプリケーションプログラムとあらかじめ一致しているアプリケーションプログラムである。
ある1つの可能な実装において、サービスデバイス10は、
端末デバイスが送信する第2の操作命令を受信するように構成される第2の受信ユニット104であって、第2の操作命令は、第2の入力に基づいて端末デバイスによって生成され、第2の入力は、第3のアプリケーションプログラムのユーザインターフェイスに作用する入力である、第2の受信ユニット104と、
第1のアプリケーションプログラムによって起動される第2のアプリケーションプログラムにより第2の操作命令に応答し、そして、第2の応答結果を生成するように構成される第2の出力ユニット105と、
第2の応答結果から第2のインターフェイス描画命令を抽出し、そして、端末デバイスに第2のインターフェイス描画命令を送信するように構成される第2の送信ユニット106と、をさらに含み、第2のインターフェイス描画命令は、端末デバイスが第2の応答結果に対応する部分的なインターフェイスを描画するのに使用され、第2の応答結果に対応する部分的なインターフェイスは、第2のアプリケーションプログラムのユーザインターフェイスを含まない。
ある1つの可能な実装において、サービスデバイス10は、
サービスサーバが送信する第1のメッセージを受信するように構成される第3の受信ユニット107であって、第1のメッセージは、第1のアプリケーションプログラムの受信メッセージである、第3の受信ユニット107と、
第1のアプリケーションプログラムにより第1のメッセージに応答し、そして、第3の応答結果を生成するように構成される第3の出力ユニット108と、
第3の応答結果から第3のインターフェイス描画命令を抽出し、そして、端末デバイスに第3のインターフェイス描画命令を送信するように構成される第3の送信ユニット109と、さらに含み、第3のインターフェイス描画命令は、端末デバイスが第3の応答結果に対応する部分的なインターフェイス又は完全なインターフェイスを描画するのに使用される。
ある1つの可能な実装において、サービスデバイス10は、
第3の応答結果から第2のハードウェア命令を抽出し、そして、端末デバイスに第2のハードウェア命令を送信するように構成される第4の送信ユニット110をさらに含み、第2のハードウェア命令は、第2のハードウェア命令に基づいて第2のハードウェアデバイスを駆動して出力を実行するように端末デバイスに指示するのに使用される。
ある1つの可能な実装において、サービスデバイスが端末デバイスに送信するインターフェイス描画命令は、シリアル化及び圧縮処理を受ける。
ある1つの可能な実装において、サービスデバイスが生成する応答結果は、第1の画像リソースを含み、第1の画像リソースは、あらかじめ設定されているしきい値よりも大きい画像リソースであり、
第1の画像リソースが端末デバイスにおいてバッファリングされているときに、サービスデバイスが応答結果から抽出するインターフェイス描画命令は、第1の識別子を含み、第1の識別子は、第1の画像リソースのバッファに基づいて、第1の画像リソースを表示するように端末デバイスに指示するのに使用され、
第1の画像リソースが端末デバイスにおいてバッファリングされていないときに、サービスデバイスが応答結果から抽出するインターフェイス描画命令は、第1の画像リソースの画像描画命令を含む。
ある1つの可能な実装において、生成されている応答結果からサービスデバイスが抽出するインターフェイス描画命令は、アンドロイドオペレーティングシステムのView層におけるCanvas命令及びアンドロイドオペレーティングシステムのLibraries層におけるOpenGL命令を含む。
本発明のこの実施形態の中で説明されているサービスデバイス10の中の複数の機能ユニットの機能については、上記の図4の方法の実施形態におけるステップS401乃至ステップS409の関連する説明を参照すべきであるということに留意すべきである。本明細書においては、詳細は繰り返しては説明されない。
図11は、本発明のある1つの実施形態にしたがった端末デバイスの概略的な構成図であり、端末デバイス20は、第1の受信ユニット201、第1の送信ユニット202、第2の受信ユニット203、及び第1の描画ユニット204を含んでもよい。それらのユニットは、以下で詳細に説明される。
第1の受信ユニット201は、第1の入力を受信し、そして、第1の入力に基づいて、第1の操作命令を生成するように構成され、第1の入力は、第1のアプリケーションプログラムのアプリケーションアイコンの起動に作用する入力及び/又は第1のアプリケーションプログラムのユーザインターフェイスに作用する入力を含み、第1のアプリケーションプログラムは、サービスデバイスにおいて実行され、第1のアプリケーションプログラムのアプリケーションアイコン及び第1のアプリケーションプログラムのユーザインターフェイスは、当該端末デバイスに表示される。
第1の送信ユニット202は、サービスデバイスに第1の操作命令を送信するように構成され、第1の操作命令は、サービスデバイスが、第1のアプリケーションプログラムにより第1の操作命令に応答し、そして、第1の応答結果を生成するのに使用される。
第2の受信ユニット203は、サービスデバイスが送信する第1のインターフェイス描画命令を受信するように構成され、第1のインターフェイス描画命令は、サービスデバイスによって、第1の応答結果から抽出される。
第1の描画ユニット204は、第1のインターフェイス描画命令に基づいて、第1の応答結果に対応する部分的なインターフェイス又は完全なインターフェイスを描画するように構成される。
ある1つの可能な実装において、端末デバイス20は、
サービスデバイスの第1のハードウェア命令を受信するように構成される第3の受信ユニット205であって、第1のハードウェア命令は、サービスデバイスが第1のアプリケーションプログラムにより第1の操作命令に応答した後に分析により得られるハードウェア命令である、第3の受信ユニット205と、
第1のハードウェア命令に基づいて、第1のハードウェアデバイスを駆動して、データを収集し、そして、第1のハードウェアデバイスの収集結果を取得するように構成される第1の収集ユニット206と、
サービスデバイスに第1のハードウェアデバイスの収集結果を送信するように構成される第2の送信ユニット207と、をさらに含む。
ある1つの可能な実装において、第1の応答結果は、第1のアプリケーションプログラムを使用して第2のアプリケーションプログラムを起動することによって、サービスデバイスが第1の操作命令に基づいて生成する応答結果であり、第1のインターフェイス描画命令は、端末デバイスが第1の応答結果に対応する部分的なインターフェイスを描画するのに使用され、第1の応答結果に対応する部分的なインターフェイスは、第2のアプリケーションプログラムのユーザインターフェイスを含まず、当該端末デバイスは、
サービスデバイスが送信する第1の制御命令を受信するように構成される第4の受信ユニット208と、
第1の制御命令に基づいて、ローカルな第3のアプリケーションプログラムを起動するように構成される第1の起動ユニット209と、をさらに含み、第3のアプリケーションプログラムは、第2のアプリケーションプログラムとあらかじめ一致しているアプリケーションプログラムである。
ある1つの可能な実装において、端末デバイス20は、
サービスデバイスに第2の操作命令を送信するように構成される第3の送信ユニット210であって、第2の操作命令は、当該端末デバイスによって第2の入力に基づいて生成され、第2の入力は、第3のアプリケーションプログラムのユーザインターフェイスに作用する入力である、第3の送信ユニット210と、
サービスデバイスが送信する第2のインターフェイス描画命令を受信するように構成される第5の受信ユニット211であって、第2のインターフェイス描画命令は、サービスデバイスによって、第2の応答結果から抽出され、第2の応答結果は、サービスデバイスが、第1のアプリケーションプログラムによって起動される第2のアプリケーションプログラムにより第2の操作命令に応答した後に生成される応答結果である、第5の受信ユニット211と、
第2のインターフェイス描画命令に基づいて、第2の応答結果に対応する部分的なインターフェイスを描画するように構成される第2の描画ユニット212と、をさらに含み、部分的なインターフェイスは、第2のアプリケーションプログラムのユーザインターフェイスを含まない。
ある1つの可能な実装において、端末デバイス20は、
サービスデバイスが送信する第3のインターフェイス描画命令を受信するように構成される第6の受信ユニット213であって、第3のインターフェイス描画命令は、サービスデバイスによって第3の応答結果から抽出され、第3の応答結果は、サービスデバイスが第1のアプリケーションプログラムにより第1のメッセージに応答した後に出力され、第1のメッセージは、第1のアプリケーションプログラムの受信メッセージである、第6の受信ユニット213と、
第3のインターフェイス描画命令に基づいて、第3の応答結果に対応する部分的なインターフェイス又は完全なインターフェイスを描画するように構成される第3の描画ユニット214と、をさらに含む。
ある1つの可能な実装において、端末デバイス20は、
サービスデバイスが送信する第2のハードウェア命令を受信するように構成される第7の受信ユニット215であって、第2のハードウェア命令は、サービスデバイスによって第3の応答結果から抽出される、第7の受信ユニット215と、
第2のハードウェア命令に基づいて、第2のハードウェアデバイスを駆動して、出力を実行するように構成される第1の出力ユニット216と、をさらに含む。
ある1つの可能な実装において、サービスデバイスが生成する応答結果は、第1の画像リソースを含み、第1の画像リソースは、あらかじめ設定されているしきい値よりも大きい画像リソースであり、
第1の画像リソースが当該端末デバイスにおいてバッファリングされているときに、サービスデバイスが応答結果から抽出するインターフェイス描画命令は、第1の識別子を含み、第1の識別子は、第1の画像リソースのバッファに基づいて、第1の画像リソースを表示するように当該端末デバイスに指示するのに使用され、
第1の画像リソースが当該端末デバイスにおいてバッファリングされていないときに、サービスデバイスが応答結果から抽出するインターフェイス描画命令は、第1の画像リソースの画像描画命令を含む。
ある1つの可能な実装において、生成されている応答結果からサービスデバイスが抽出するインターフェイス描画命令は、アンドロイドオペレーティングシステムのView層におけるCanvas命令及びアンドロイドオペレーティングシステムのLibraries層におけるOpenGL命令を含む。
本発明のこの実施形態の中で説明されている端末デバイス20の中の複数の機能ユニットの機能については、上記の図4の方法の実施形態におけるステップS401乃至ステップS409の関連する説明を参照すべきであるということに留意すべきである。本明細書においては、詳細は繰り返しては説明されない。
図12に示されているように、図12は、本発明のある1つの実施形態にしたがったデバイスの概略的な構成図である。サービスデバイス及び端末デバイスの双方は、図12における構成を使用することによって実装されてもよく、デバイス30は、少なくとも1つのプロセッサ301、少なくとも1つのメモリ302、及び少なくとも1つの通信インターフェイス303を含む。加えて、そのデバイスは、アンテナ等の普遍的な構成要素をさらに含んでもよい。本明細書においては、詳細は繰り返しては説明されない。
プロセッサ301は、汎用の中央処理ユニット(CPU)、マイクロプロセッサ、特定用途向け集積回路(application-specific integrated circuit, ASIC)、或いは、上記の解決方法によってプログラムの実行を制御するように構成される1つ又は複数の集積回路であってもよい。
通信インターフェイス303は、イーサネット、無線アクセスネットワーク(RAN)、又は無線ローカルエリアネットワーク(wireless local area networks, WLAN)等の他のデバイス又は通信ネットワークと通信するように構成される。
メモリ302は、静的な情報及び静的な命令を格納することが可能である読み取り専用メモリ(read-only memory, ROM)又は他のタイプの静的な記憶デバイス、或いは、情報及び命令を格納することが可能であるランダムアクセスメモリ(random access memory, RAM)又は他のタイプの動的な記憶デバイスであってもよく、或いは、電気的に消去可能且つプログラム可能な読み取り専用メモリ(electrically erasable programmable read-only memory, EEPROM)、コンパクトディスク読み取り専用メモリ(compact disc read-only memory, CD-ROM)又は他のコンパクトディスク記憶媒体、(コンパクトディスク、レーザディスク、光ディスク、ディジタル多用途ディスク、ブルーレイディスク等を含む)光ディスク記憶媒体、又は磁気ディスク記憶媒体、他の磁気記憶デバイス、或いは、コンピュータがアクセスすることが可能であるとともに、命令又はデータ構造の形態で予期されるプログラムコードを搬送し又は格納するように構成されてもよい他の媒体であってもよい。このことは、本明細書においては限定されない。メモリは、独立して存在していてもよく、バスを使用することによってプロセッサに接続されていてもよい。代替的に、記憶デバイスは、プロセッサと一体化されていてもよい。
メモリ302は、上記の解決方法を実行するためのアプリケーションプログラムコードを格納するように構成され、その実行は、プロセッサ301によって制御される。プロセッサ301は、メモリ302の中に格納されているアプリケーションプログラムコードを実行するように構成される。
図12に示されているデバイスが、この出願におけるサービスデバイスであるときに、メモリ302が格納しているコードは、上記で提供されているAPP遠隔制御方法を実行してもよく、例えば、サービスデバイスは、端末デバイスが送信する第1の操作命令を受信し、第1の操作命令は、第1の入力に基づいて端末デバイスによって生成され、第1の入力は、第1のアプリケーションプログラムのアプリケーションアイコンの起動に作用する入力及び/又は第1のアプリケーションプログラムのユーザインターフェイスに作用する入力を含み、第1のアプリケーションプログラムは、サービスデバイスにおいて実行され、第1のアプリケーションプログラムのアプリケーションアイコン及び第1のアプリケーションプログラムのユーザインターフェイスは、端末デバイスに表示され、第1のアプリケーションプログラムにより第1の操作命令に応答し、そして、第1の応答結果を生成し、第1の応答結果から第1のインターフェイス描画命令を抽出し、そして、端末デバイスに第1のインターフェイス描画命令を送信し、第1のインターフェイス描画命令は、端末デバイスが第1の応答結果に対応する部分的なインターフェイス又は完全なインターフェイスを描画するのに使用される。
図12に示されているデバイスが、この出願における端末デバイスであるときに、メモリ302の中に格納されているコードは、上記で提供されているAPP遠隔制御方法を実行してもよく、例えば、端末デバイスは、第1の入力を受信し、そして、第1の入力に基づいて、第1の操作命令を生成し、第1の入力は、第1のアプリケーションプログラムのアプリケーションアイコンの起動に作用する入力及び/又は第1のアプリケーションプログラムのユーザインターフェイスに作用する入力を含み、第1のアプリケーションプログラムは、サービスデバイスにおいて実行され、第1のアプリケーションプログラムのアプリケーションアイコン及び第1のアプリケーションプログラムのユーザインターフェイスは、端末デバイスに表示され、サービスデバイスに、第1の操作命令を送信し、第1の操作命令は、サービスデバイスが、第1のアプリケーションプログラムにより第1の操作命令に応答し、そして、第1の応答結果を生成するのに使用され、サービスデバイスが送信する第1のインターフェイス描画命令を受信し、第1のインターフェイス描画命令は、サービスデバイスによって、第1の応答結果から抽出され、第1のインターフェイス描画命令に基づいて、第1の応答結果に対応する部分的なインターフェイス又は完全なインターフェイスを描画する。
本発明のこの実施形態の中で説明されているサービスデバイス及び端末デバイスの中の複数の機能ユニットの機能については、上記の図4の方法の実施形態における関連する説明を参照すべきであるということに留意すべきである。本明細書においては、詳細は繰り返しては説明されない。
図13は、本発明のある1つの実施形態にしたがったAPP遠隔制御システムの概略的な構成図であり、そのシステム40は、サービスデバイス401及び端末デバイス402を含む。
サービスデバイス401及び端末デバイス402の構成については、それに対応して、図12に示されているデバイス30を参照するべきである。本発明のこの実施形態におけるシステム40は、関連するサービスを提供するスイッチ及びルートデバイス等をさらに含んでもよいということを理解することが可能である。システム40の中にあるサービスデバイス401及び端末デバイス402の機能については、それに対応して、上記の図4の方法の実施形態の具体的な実装を参照するべきである。本明細書においては、詳細は繰り返しては説明されない。
本発明の複数の実施形態は、さらに、コンピュータプログラムを提供し、コンピュータプログラムは、命令を含み、コンピュータプログラムがコンピュータによって実行されるときに、そのコンピュータが、いずれかのAPP遠隔制御方法の複数のステップのうちの一部又はすべてを実行することを可能とする。
上記の複数の実施形態のうちで、各々の実施形態の説明は、それぞれの焦点を有している。ある1つの実施形態において詳細には説明されていない部分については、他の実施形態における関連する説明を参照すべきである。
説明を簡潔にするために、上記の複数の方法の実施形態は、一連の動作として表されるということに留意すべきである。一方で、当業者は、この出願によれば、複数のステップのうちのいくつかが、他の順序で又は同時に実行されてもよいので、この出願は、それらの複数の動作の説明されている順序には限定されないということを理解するはずである。さらに、当業者は、本明細書において説明されているそれらの複数の実施形態がすべて例示的な実施形態に属し、関連する動作及びモジュールが必ずしもこの出願によって必要とされないということを理解するはずである。
この出願によって提供される複数の実施形態のうちのいくつかにおいて、開示されている装置は、他の方式によって実装されてもよいということを理解すべきである。例えば、説明されている装置の実施形態は、例であるにすぎない。例えば、ユニットへの分割は、論理的な機能の分割であるにすぎず、実際の実装においては他の分割であってもよい。例えば、複数のユニット又は構成要素を組み合わせるか又は一体化して、他のシステムとしてもよく、或いは、いくつかの特徴を無視してもよく又は実行しなくてもよい。加えて、示され又は説明されている相互の結合、直接的な結合、又は通信接続は、複数のインターフェイスのうちのいくつかによって実装されてもよい。複数の装置又は複数のユニットの間の非直接的な結合又は通信接続は、電子的な形態又は他の形態によって実装されてもよい。
個別の部分として説明されている上記の複数のユニットは、物理的に分離されていてもよく、又は、物理的に分離されていなくてもよく、複数のユニットとして示されている部分は、複数の物理的なユニットであってもよく、又は、複数の物理的なユニットでなくてもよく、1つの場所に配置されていてもよく、又は、複数のネットワークユニットに分散されていてもよい。それらの複数のユニットのうちの一部又はすべては、実際の要件に基づいて選択されて、それらの複数の実施形態の複数の解決方法の目的を達成してもよい。
加えて、この出願のそれらの複数の実施形態における複数の機能的なユニットを一体化して、1つの処理ユニットとしてもよく、又は、それらの複数のユニットのうちの各々は、物理的に単独で存在していてもよく、又は、2つ又はそれ以上のユニットを一体化して、1つのユニットとしてもよい。一体化されたユニットは、ハードウェアの形態で実装されてもよく、又は、ソフトウェアの機能的なユニットの形態で実装されてもよい。
上記の一体化されたユニットが、ソフトウェアの機能的なユニットの形態で実装され、独立した製品として販売され又は使用されるときに、その一体化されたユニットは、コンピュータ読み取り可能な記憶媒体の中に格納されてもよい。そのような理解に基づいて、この出願の複数の技術的解決方法は、本質的に、或いは、先行技術に寄与する部分又はそれらの複数の技術的解決方法のうちのすべて又は一部は、ソフトウェア製品の形態で実装されてもよい。そのソフトウェア製品は、記憶媒体の中に格納され、いくつかの命令を含み、それらのいくつかの命令は、この出願のそれらの複数の実施形態において説明されている複数の方法の複数のステップのうちのすべて又は一部を実行するように、(パーソナルコンピュータ、サーバ、又はネットワークデバイスであってもよい)コンピュータデバイスに指示する。上記の記憶媒体は、プログラムコードを格納することが可能であるUSBフラッシュドライブ、取り外し可能なハードディスク、磁気ディスク、光ディスク、読み取り専用メモリ(Read-Only Memory, 略称: ROM)、又はランダムアクセスメモリ(Random Access Memory, 略称: RAM)等のいずれかの媒体を含む。
上記の複数の実施形態は、この出願の複数の技術的解決方法を説明することを意図しているにすぎず、この出願を限定することを意図してはいない。この出願は、上記の複数の実施形態を参照して詳細に説明されているが、当業者が、この出願の複数の実施形態の複数の技術的解決方法の趣旨及び範囲から離れることなく、上記の複数の実施形態において説明されているそれらの複数の技術的解決方法に対してさらに修正を行ってもよく、又は、それらの複数の実施形態の複数の技術的特徴のうちのいくつかに対して等価な置換を行ってもよいということを当業者は理解するはずである。

Claims (22)

  1. APP遠隔制御方法であって、
    端末デバイスが送信する第1の操作命令をサービスデバイスによって受信するステップであって、前記第1の操作命令は、第1の入力に基づいて前記端末デバイスによって生成され、前記第1の入力は、第1のアプリケーションプログラムのアプリケーションアイコンの開始に作用する入力及び/又は前記第1のアプリケーションプログラムのユーザインターフェイスに作用する入力を含み、前記第1のアプリケーションプログラムは、前記サービスデバイスにおいて動作し、前記第1のアプリケーションプログラムの前記アプリケーションアイコン及び前記第1のアプリケーションプログラムの前記ユーザインターフェイスは、前記端末デバイスに表示される、ステップと、
    前記サービスデバイスによって、前記第1のアプリケーションプログラムにより前記第1の操作命令に応答し、そして、第1の応答結果を生成するステップと、
    前記サービスデバイスによって、前記第1の応答結果から、前記サービスデバイスに表示するものではない第1のインターフェイス描画命令を抽出し、そして、前記端末デバイスに前記第1のインターフェイス描画命令を送信するステップと、を含み、前記第1のインターフェイス描画命令は、前記端末デバイスが前記第1の応答結果に対応する部分的なインターフェイス又は完全なインターフェイスを描画するのに使用され、
    前記サービスデバイスによって、前記第1のアプリケーションプログラムにより前記第1の操作命令に応答し、そして、第1の応答結果を生成する前記ステップは、
    前記サービスデバイスによって、前記第1のアプリケーションプログラムにより前記第1の操作命令に応答し、そして、分析により第1のハードウェア命令を取得するステップと、
    前記サービスデバイスによって前記端末デバイスに、前記第1のハードウェア命令を送信するステップであって、前記第1のハードウェア命令は、第1のハードウェアデバイスを駆動して、データを収集するように前記端末デバイスに指示するのに使用される、ステップと、
    前記端末デバイスが送信する前記第1のハードウェアデバイスの収集結果を前記サービスデバイスによって受信するステップと、
    前記サービスデバイスによって、前記第1のハードウェアデバイスの前記収集結果に基づいて、前記第1の応答結果を生成するステップと、を含む、
    方法。
  2. APP遠隔制御方法であって、
    端末デバイスが送信する第1の操作命令をサービスデバイスによって受信するステップであって、前記第1の操作命令は、第1の入力に基づいて前記端末デバイスによって生成され、前記第1の入力は、第1のアプリケーションプログラムのアプリケーションアイコンの開始に作用する入力及び/又は前記第1のアプリケーションプログラムのユーザインターフェイスに作用する入力を含み、前記第1のアプリケーションプログラムは、前記サービスデバイスにおいて動作し、前記第1のアプリケーションプログラムの前記アプリケーションアイコン及び前記第1のアプリケーションプログラムの前記ユーザインターフェイスは、前記端末デバイスに表示される、ステップと、
    前記サービスデバイスによって、前記第1のアプリケーションプログラムにより前記第1の操作命令に応答し、そして、第1の応答結果を生成するステップと、
    前記サービスデバイスによって、前記第1の応答結果から、前記サービスデバイスに表示するものではない第1のインターフェイス描画命令を抽出し、そして、前記端末デバイスに前記第1のインターフェイス描画命令を送信するステップと、を含み、前記第1のインターフェイス描画命令は、前記端末デバイスが前記第1の応答結果に対応する部分的なインターフェイス又は完全なインターフェイスを描画するのに使用され、
    前記サービスデバイスによって、前記第1のアプリケーションプログラムにより前記第1の操作命令に応答し、そして、第1の応答結果を生成する前記ステップは、
    前記サービスデバイスによって、前記第1の操作命令に基づいて、前記第1のアプリケーションプログラムを使用することによって、第2のアプリケーションプログラムを起動し、そして、前記第1の応答結果を生成するステップを含み、
    前記第1のインターフェイス描画命令は、前記端末デバイスが前記第1の応答結果に対応する前記部分的なインターフェイスを描画するのに使用され、前記第1の応答結果に対応する前記部分的なインターフェイスは、前記第2のアプリケーションプログラムのユーザインターフェイスを含まず、当該方法は、
    前記サービスデバイスによって前記端末デバイスに、第1の制御命令を送信するステップをさらに含み、前記第1の制御命令は、ローカルな第3のアプリケーションプログラムを起動するように前記端末デバイスに指示するのに使用され、前記第3のアプリケーションプログラムは、前記第2のアプリケーションプログラムとあらかじめ一致しているアプリケーションプログラムである、
    方法。
  3. 当該方法は、
    前記端末デバイスが送信する第2の操作命令を前記サービスデバイスによって受信するステップであって、前記第2の操作命令は、第2の入力に基づいて前記端末デバイスによって生成され、前記第2の入力は、前記第3のアプリケーションプログラムのユーザインターフェイスに作用する入力である、ステップと、
    前記サービスデバイスによって、前記第1のアプリケーションプログラムによって起動される前記第2のアプリケーションプログラムにより前記第2の操作命令に応答し、そして、第2の応答結果を生成するステップと、
    前記サービスデバイスによって、前記第2の応答結果から第2のインターフェイス描画命令を抽出し、そして、前記端末デバイスに前記第2のインターフェイス描画命令を送信するステップと、をさらに含み、前記第2のインターフェイス描画命令は、前記端末デバイスが前記第2の応答結果に対応する部分的なインターフェイスを描画するのに使用され、前記第2の応答結果に対応する前記部分的なインターフェイスは、前記第2のアプリケーションプログラムの前記ユーザインターフェイスを含まない、請求項2に記載の方法。
  4. 当該方法は、
    サービスサーバが送信する第1のメッセージを前記サービスデバイスによって受信するステップであって、前記第1のメッセージは、前記第1のアプリケーションプログラムの受信メッセージである、ステップと、
    前記サービスデバイスによって、前記第1のアプリケーションプログラムにより前記第1のメッセージに応答し、そして、第3の応答結果を生成するステップと、
    前記サービスデバイスによって、前記第3の応答結果から第3のインターフェイス描画命令を抽出し、そして、前記端末デバイスに前記第3のインターフェイス描画命令を送信するステップと、をさらに含み、前記第3のインターフェイス描画命令は、前記端末デバイスが前記第3の応答結果に対応する部分的なインターフェイス又は完全なインターフェイスを描画するのに使用される、請求項1乃至3のうちのいずれか1項に記載の方法。
  5. 当該方法は、
    前記サービスデバイスによって、前記第3の応答結果から第2のハードウェア命令を抽出し、そして、前記端末デバイスに前記第2のハードウェア命令を送信するステップをさらに含み、前記第2のハードウェア命令は、前記第2のハードウェア命令に基づいて第2のハードウェアデバイスを駆動して出力を実行するように前記端末デバイスに指示するのに使用される、請求項4に記載の方法。
  6. 前記サービスデバイスが前記端末デバイスに送信するインターフェイス描画命令は、シリアル化及び圧縮処理を受ける、請求項1乃至5のうちのいずれか1項に記載の方法。
  7. APP遠隔制御方法であって、
    端末デバイスによって第1の入力を受信し、そして、前記第1の入力に基づいて、第1の操作命令を生成するステップであって、前記第1の入力は、第1のアプリケーションプログラムのアプリケーションアイコンの開始に作用する入力及び/又は前記第1のアプリケーションプログラムのユーザインターフェイスに作用する入力を含み、前記第1のアプリケーションプログラムは、サービスデバイスにおいて動作し、前記第1のアプリケーションプログラムの前記アプリケーションアイコン及び前記第1のアプリケーションプログラムの前記ユーザインターフェイスは、前記端末デバイスに表示される、ステップと、
    前記端末デバイスによって前記サービスデバイスに、前記第1の操作命令を送信するステップであって、前記第1の操作命令は、前記サービスデバイスが、前記第1のアプリケーションプログラムにより前記第1の操作命令に応答し、そして、第1の応答結果を生成するのに使用される、ステップと、
    前記サービスデバイスが送信する、前記サービスデバイスに表示するものではない第1のインターフェイス描画命令を前記端末デバイスによって受信するステップであって、前記第1のインターフェイス描画命令は、前記サービスデバイスによって、前記第1の応答結果から抽出される、ステップと、
    前記端末デバイスによって、前記第1のインターフェイス描画命令に基づいて、前記第1の応答結果に対応する部分的なインターフェイス又は完全なインターフェイスを描画するステップと、を含み、
    当該方法は、
    前記端末デバイスによって前記サービスデバイスの第1のハードウェア命令を受信するステップであって、前記第1のハードウェア命令は、前記サービスデバイスが前記第1のアプリケーションプログラムにより前記第1の操作命令に応答した後に分析により得られるハードウェア命令である、ステップと、
    前記端末デバイスによって、前記第1のハードウェア命令に基づいて、第1のハードウェアデバイスを駆動して、データを収集し、そして、前記第1のハードウェアデバイスの収集結果を取得するステップと、
    前記端末デバイスによって前記サービスデバイスに、前記第1のハードウェアデバイスの前記収集結果を送信するステップと、を含む、
    方法。
  8. APP遠隔制御方法であって、
    端末デバイスによって第1の入力を受信し、そして、前記第1の入力に基づいて、第1の操作命令を生成するステップであって、前記第1の入力は、第1のアプリケーションプログラムのアプリケーションアイコンの開始に作用する入力及び/又は前記第1のアプリケーションプログラムのユーザインターフェイスに作用する入力を含み、前記第1のアプリケーションプログラムは、サービスデバイスにおいて動作し、前記第1のアプリケーションプログラムの前記アプリケーションアイコン及び前記第1のアプリケーションプログラムの前記ユーザインターフェイスは、前記端末デバイスに表示される、ステップと、
    前記端末デバイスによって前記サービスデバイスに、前記第1の操作命令を送信するステップであって、前記第1の操作命令は、前記サービスデバイスが、前記第1のアプリケーションプログラムにより前記第1の操作命令に応答し、そして、第1の応答結果を生成するのに使用される、ステップと、
    前記サービスデバイスが送信する、前記サービスデバイスに表示するものではない第1のインターフェイス描画命令を前記端末デバイスによって受信するステップであって、前記第1のインターフェイス描画命令は、前記サービスデバイスによって、前記第1の応答結果から抽出される、ステップと、
    前記端末デバイスによって、前記第1のインターフェイス描画命令に基づいて、前記第1の応答結果に対応する部分的なインターフェイス又は完全なインターフェイスを描画するステップと、を含み、
    前記第1の応答結果は、前記第1のアプリケーションプログラムを使用して第2のアプリケーションプログラムを起動することによって、前記サービスデバイスが前記第1の操作命令に基づいて生成する応答結果であり、前記第1のインターフェイス描画命令は、前記端末デバイスが前記第1の応答結果に対応する前記部分的なインターフェイスを描画するのに使用され、前記第1の応答結果に対応する前記部分的なインターフェイスは、前記第2のアプリケーションプログラムのユーザインターフェイスを含まず、当該方法は、
    前記サービスデバイスが送信する第1の制御命令を前記端末デバイスによって受信するステップと、
    前記端末デバイスによって、前記第1の制御命令に基づいて、ローカルな第3のアプリケーションプログラムを起動するステップと、をさらに含み、前記第3のアプリケーションプログラムは、前記第2のアプリケーションプログラムとあらかじめ一致しているアプリケーションプログラムである、
    方法。
  9. 当該方法は、
    前記端末デバイスによって前記サービスデバイスに第2の操作命令を送信するステップであって、前記第2の操作命令は、前記端末デバイスによって第2の入力に基づいて生成され、前記第2の入力は、前記第3のアプリケーションプログラムのユーザインターフェイスに作用する入力である、ステップと、
    前記サービスデバイスが送信する第2のインターフェイス描画命令を前記端末デバイスによって受信するステップであって、前記第2のインターフェイス描画命令は、前記サービスデバイスによって、第2の応答結果から抽出され、前記第2の応答結果は、前記サービスデバイスが、前記第1のアプリケーションプログラムによって起動される前記第2のアプリケーションプログラムにより前記第2の操作命令に応答した後に生成される応答結果である、ステップと、
    前記端末デバイスによって、前記第2のインターフェイス描画命令に基づいて、前記第2の応答結果に対応する部分的なインターフェイスを描画するステップと、をさらに含み、前記部分的なインターフェイスは、前記第2のアプリケーションプログラムの前記ユーザインターフェイスを含まない、請求項8に記載の方法。
  10. 当該方法は、
    前記サービスデバイスが送信する第3のインターフェイス描画命令を前記端末デバイスによって受信するステップであって、前記第3のインターフェイス描画命令は、前記サービスデバイスによって第3の応答結果から抽出され、前記第3の応答結果は、前記サービスデバイスが前記第1のアプリケーションプログラムにより第1のメッセージに応答した後に出力され、前記第1のメッセージは、前記第1のアプリケーションプログラムの受信メッセージである、ステップと、
    前記端末デバイスによって、前記第3のインターフェイス描画命令に基づいて、前記第3の応答結果に対応する部分的なインターフェイス又は完全なインターフェイスを描画するステップと、をさらに含む、請求項7乃至9のうちのいずれか1項に記載の方法。
  11. 当該方法は、
    前記サービスデバイスが送信する第2のハードウェア命令を前記端末デバイスによって受信するステップであって、前記第2のハードウェア命令は、前記サービスデバイスによって前記第3の応答結果から抽出される、ステップと、
    前記端末デバイスによって、前記第2のハードウェア命令に基づいて、第2のハードウェアデバイスを駆動して、出力を実行するステップと、をさらに含む、請求項10に記載の方法。
  12. 前記サービスデバイスが生成する応答結果は、第1の画像リソースを含み、前記第1の画像リソースは、あらかじめ設定されているしきい値よりも大きい画像リソースであり、
    前記第1の画像リソースが前記端末デバイスにおいてバッファリングされているときに、前記サービスデバイスが前記応答結果から抽出するインターフェイス描画命令は、第1の識別子を含み、前記第1の識別子は、前記第1の画像リソースのバッファに基づいて、前記第1の画像リソースを表示するように前記端末デバイスに指示するのに使用され、
    第1の画像リソースが前記端末デバイスにおいてバッファリングされていないときに、前記サービスデバイスが前記応答結果から抽出する前記インターフェイス描画命令は、前記第1の画像リソースの画像描画命令を含む、請求項1乃至11のうちのいずれか1項に記載の方法。
  13. 前記生成されている応答結果から前記サービスデバイスが抽出する前記インターフェイス描画命令は、アンドロイドオペレーティングシステムのView層におけるCanvas命令及び前記アンドロイドオペレーティングシステムのLibraries層におけるOpenGL命令を含む、請求項12に記載の方法。
  14. サービスデバイスであって、
    命令を格納するように構成されるメモリと、
    前記メモリに接続されるプロセッサと、を含み、前記プロセッサは、前記命令を実行して、当該サービスデバイスに、請求項1乃至612、及び13のうちのいずれか1項に記載の方法を実装させるように構成される、サービスデバイス。
  15. 端末デバイスであって、
    命令を格納するように構成されるメモリと、
    前記メモリに接続されるプロセッサと、を含み、前記プロセッサは、前記命令を実行して、当該端末デバイスに、請求項7乃至13のうちのいずれか1項に記載の方法を実装させるように構成される、端末デバイス。
  16. 通信システムであって、当該通信システムは、サービスデバイス及び端末デバイスを含み、
    前記サービスデバイスは、請求項14に記載のサービスデバイスであり、
    前記端末デバイスは、請求項15に記載の端末デバイスである、
    通信システム。
  17. チップシステムであって、当該チップシステムは、少なくとも1つのプロセッサ、メモリ、及びインターフェイス回路を含み、前記メモリ、前記インターフェイス回路、及び前記少なくとも1つのプロセッサは、配線によって互いに接続され、前記メモリは、命令を格納し、前記命令が前記少なくとも1つのプロセッサによって実行されるときに、請求項1乃至612、及び13のうちのいずれか1項に記載の方法を実装する、チップシステム。
  18. チップシステムであって、当該チップシステムは、少なくとも1つのプロセッサ、メモリ、及びインターフェイス回路を含み、前記メモリ、前記インターフェイス回路、及び前記少なくとも1つのプロセッサは、配線によって互いに接続され、前記メモリは、命令を格納し、前記命令が前記少なくとも1つのプロセッサによって実行されるときに、請求項7乃至13のうちのいずれか1項に記載の方法を実装する、チップシステム。
  19. コンピュータ記憶媒体であって、当該コンピュータ記憶媒体は、コンピュータプログラムを格納し、プロセッサによって実行されるときに、前記コンピュータプログラムは、請求項1乃至612、及び13のうちのいずれか1項に記載の方法を実装する、コンピュータ記憶媒体。
  20. コンピュータ記憶媒体であって、当該コンピュータ記憶媒体は、コンピュータプログラムを格納し、プロセッサによって実行されるときに、前記コンピュータプログラムは、請求項7乃至13のうちのいずれか1項に記載の方法を実装する、コンピュータ記憶媒体。
  21. コンピュータプログラムであって、当該コンピュータプログラムは、命令を含み、当該コンピュータプログラムがコンピュータによって実行されるときに、前記コンピュータが請求項1乃至612、及び13のうちのいずれか1項に記載の方法を実行することを可能とする、コンピュータプログラム。
  22. コンピュータプログラムであって、当該コンピュータプログラムは、命令を含み、当該コンピュータプログラムがコンピュータによって実行されるときに、前記コンピュータが請求項7乃至13のうちのいずれか1項に記載の方法を実行することを可能とする、コンピュータプログラム。
JP2020531971A 2017-12-12 2018-05-08 App遠隔制御方法及び関連するデバイス Active JP7101780B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201711320141.1 2017-12-12
CN201711320141 2017-12-12
PCT/CN2018/086084 WO2019114185A1 (zh) 2017-12-12 2018-05-08 一种app远程控制方法及相关设备

Publications (2)

Publication Number Publication Date
JP2021509190A JP2021509190A (ja) 2021-03-18
JP7101780B2 true JP7101780B2 (ja) 2022-07-15

Family

ID=66819936

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020531971A Active JP7101780B2 (ja) 2017-12-12 2018-05-08 App遠隔制御方法及び関連するデバイス

Country Status (5)

Country Link
US (1) US11451619B2 (ja)
EP (1) EP3716059B1 (ja)
JP (1) JP7101780B2 (ja)
CN (1) CN111433743B (ja)
WO (1) WO2019114185A1 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112968991B (zh) 2019-06-20 2022-07-29 华为技术有限公司 一种输入方法、电子设备和投屏系统
CN111459148B (zh) * 2020-04-03 2023-12-22 北京四维智联科技有限公司 一种信息处理方法及装置
CN111813404B (zh) * 2020-07-24 2024-04-26 广州彩熠灯光股份有限公司 基于混合图形显示的应用方法、介质及客户端
CN111818085B (zh) * 2020-07-24 2022-10-21 广州彩熠灯光股份有限公司 以太网的图形显示系统、处理显示方法、服务端及客户端
CN114157907A (zh) * 2020-09-07 2022-03-08 华为云计算技术有限公司 基于云手机的vr应用设计方法及系统
CN112070481A (zh) * 2020-09-08 2020-12-11 广东电网有限责任公司肇庆供电局 一种远程报装系统及方法
CN112468535A (zh) * 2020-10-22 2021-03-09 国网浙江省电力有限公司绍兴供电公司 一种安全型人机交互服务实现方法、装置及系统
CN114428655B (zh) * 2020-10-29 2023-10-27 荣耀终端有限公司 设备的远程控制方法、终端设备、系统和存储介质
CN113179322B (zh) * 2021-04-28 2023-08-22 维沃移动通信有限公司 远程交互方法、装置、电子设备及存储介质
CN113282064B (zh) * 2021-05-17 2023-02-17 一汽解放汽车有限公司 车身焊装控制系统、方法、装置、计算机设备和存储介质
CN113849289A (zh) * 2021-09-30 2021-12-28 联想(北京)有限公司 一种控制方法和电子设备
CN115639920B (zh) * 2021-12-24 2023-12-22 荣耀终端有限公司 绘制方法、电子设备和可读存储介质
CN114979735B (zh) * 2022-05-23 2024-08-30 海信视像科技股份有限公司 一种显示设备及应用启动方法
CN114816630A (zh) * 2022-04-18 2022-07-29 珠海全志科技股份有限公司 界面切换方法、装置、电子设备及可读存储介质
KR20240062268A (ko) * 2022-10-28 2024-05-09 주식회사 엘지유플러스 Iptv 또는 ott 앱의 홈 메뉴를 위한 그래픽 사용자 인터페이스 제공 방법 및 장치

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002111893A (ja) 2000-07-26 2002-04-12 Nec Corp 遠隔操作システムとその遠隔操作方法、及び遠隔操作プログラムを記録した記録媒体
JP2006323660A (ja) 2005-05-19 2006-11-30 Nec Corp シンクライアントシステム
JP2011091522A (ja) 2009-10-21 2011-05-06 Fujifilm Corp ドキュメント画像生成サーバ及びプログラム、並びにドキュメント閲覧システム
JP2016532952A (ja) 2013-08-02 2016-10-20 華為技術有限公司Huawei Technologies Co.,Ltd. 画像表示方法および装置
US20160328486A1 (en) 2013-06-28 2016-11-10 Guangzhou Ucweg Computer Tecnology Co., Ltd. Canvas element rendering method and apparatus implemented on android system based on gpu

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8010701B2 (en) * 2005-12-19 2011-08-30 Vmware, Inc. Method and system for providing virtualized application workspaces
US8117240B1 (en) 2008-07-23 2012-02-14 Southern Company Services, Inc. Remote application linking infrastructure
US8676926B2 (en) * 2009-04-15 2014-03-18 Wyse Technology L.L.C. System and method for handling remote drawing commands
CN102270152A (zh) 2010-06-07 2011-12-07 华东师范大学 面向掌上型移动设备的远程应用程序系统
US9245047B2 (en) 2010-12-10 2016-01-26 Wyse Technology L.L.C. Methods and systems for facilitating a remote desktop session utilizing a remote desktop client common interface
SG10201606764XA (en) * 2011-08-15 2016-10-28 Calgary Scient Inc Non-invasive remote access to an application program
US8941673B2 (en) 2011-11-08 2015-01-27 Red Hat, Inc. Rendering images in a remote web browser
CN103176804B (zh) * 2013-04-19 2017-06-20 中国海洋大学 一种用户界面实现方法
CN103593227B (zh) 2013-11-08 2017-02-22 何钦淋 在客户端运行桌面虚拟系统的方法及客户端
US9148494B1 (en) 2014-07-15 2015-09-29 Workiva Inc. Font loading system and method in a client-server architecture
US9912996B2 (en) 2014-11-19 2018-03-06 Alticast Corporation System and method for providing cloud based user interfaces
CN107977272A (zh) * 2016-10-25 2018-05-01 腾讯科技(深圳)有限公司 应用运行的方法及装置
US20190079787A1 (en) * 2016-11-14 2019-03-14 Google Llc Systems and methods for providing interactive streaming media

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002111893A (ja) 2000-07-26 2002-04-12 Nec Corp 遠隔操作システムとその遠隔操作方法、及び遠隔操作プログラムを記録した記録媒体
JP2006323660A (ja) 2005-05-19 2006-11-30 Nec Corp シンクライアントシステム
JP2011091522A (ja) 2009-10-21 2011-05-06 Fujifilm Corp ドキュメント画像生成サーバ及びプログラム、並びにドキュメント閲覧システム
US20160328486A1 (en) 2013-06-28 2016-11-10 Guangzhou Ucweg Computer Tecnology Co., Ltd. Canvas element rendering method and apparatus implemented on android system based on gpu
JP2016532952A (ja) 2013-08-02 2016-10-20 華為技術有限公司Huawei Technologies Co.,Ltd. 画像表示方法および装置

Also Published As

Publication number Publication date
EP3716059A4 (en) 2021-06-02
CN111433743A (zh) 2020-07-17
US20210168194A1 (en) 2021-06-03
WO2019114185A1 (zh) 2019-06-20
EP3716059B1 (en) 2024-07-10
CN111433743B (zh) 2022-05-20
US11451619B2 (en) 2022-09-20
JP2021509190A (ja) 2021-03-18
EP3716059A1 (en) 2020-09-30

Similar Documents

Publication Publication Date Title
JP7101780B2 (ja) App遠隔制御方法及び関連するデバイス
US11875010B2 (en) Systems, methods, and computer-readable media for managing collaboration on a virtual work of art
US10397627B2 (en) Desktop-cloud-based media control method and device
WO2020221056A1 (zh) 图像绘制的方法、装置、电子设备及计算机存储介质
CN106843715B (zh) 用于远程化的应用的触摸支持
TWI453603B (zh) 平台無關之資訊處理系統,其通訊方法,及其電腦程式產品
US10303820B2 (en) Selective simulation of virtualized hardware inputs
WO2016197590A1 (zh) 用于在终端设备上提供截屏服务的方法、装置、存储介质及设备
CN108304239B (zh) 用于远程操作的快速界面交互方法及装置
WO2023098732A1 (zh) 跨设备的交互方法、装置、电子设备以及存储介质
CN112799801A (zh) 一种模拟鼠标指针绘制方法、装置、设备和介质
CN108733602B (zh) 数据处理
US20150145876A1 (en) Graphics Data Processing Method, Apparatus, and System
CN114570020A (zh) 数据处理方法以及系统
KR20170105317A (ko) 하드웨어 기반의 gpu를 이용한 가상머신의 화면 전송 방법 및 이를 이용한 장치
EP3285143A1 (en) Ar/vr device virtualisation
CN115756696A (zh) 信息处理方法、装置、设备和介质
CN113835816A (zh) 一种虚拟机桌面显示方法、装置、设备及可读存储介质
CN111176596B (zh) 一种图像显示区域切换方法、装置、存储介质及电子设备
KR20160041353A (ko) 가상 데스크탑 기반의 데이터 처리 장치 및 방법
CN112862945B (zh) 一种记录生成方法和装置
CN116775217A (zh) 一种云桌面vgpu实现方法、装置、设备及存储介质
CN115767182A (zh) 图像渲染方法、装置、电子设备及存储介质
CN111913781A (zh) 一种使用终端设备操作云环境中虚拟设备的系统及方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200803

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200803

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20210520

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210831

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210914

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211214

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20220111

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220511

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20220511

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20220520

C21 Notice of transfer of a case for reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C21

Effective date: 20220524

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220607

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220705

R150 Certificate of patent or registration of utility model

Ref document number: 7101780

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150