JP2009506717A - 拡張可能な機能セットを有する可搬型遠隔装置 - Google Patents

拡張可能な機能セットを有する可搬型遠隔装置 Download PDF

Info

Publication number
JP2009506717A
JP2009506717A JP2008529049A JP2008529049A JP2009506717A JP 2009506717 A JP2009506717 A JP 2009506717A JP 2008529049 A JP2008529049 A JP 2008529049A JP 2008529049 A JP2008529049 A JP 2008529049A JP 2009506717 A JP2009506717 A JP 2009506717A
Authority
JP
Japan
Prior art keywords
interface
platform
client
interfacing
remote protocol
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.)
Granted
Application number
JP2008529049A
Other languages
English (en)
Other versions
JP4959706B2 (ja
Inventor
パテル ジェソン
ワイ.アブド ナディム
ポーター ネリー
チック ジョイ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2009506717A publication Critical patent/JP2009506717A/ja
Application granted granted Critical
Publication of JP4959706B2 publication Critical patent/JP4959706B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level

Abstract

特殊なリモートプロトコルを使用して通信を支援する拡張されたリモートプロトコルプラットホームを含むクライアント装置。ソフトウェアおよびハードウェアプラッフォームに依存しないマイクロコアまたはコアは、クライアント装置において、遠隔通信を支援するアプリケーションにインタフェースを提供する。マイクロコアを、クライアント装置が必要とする付加的な機能またはサービスを含むように拡張することができる。

Description

本発明は、拡張可能な機能セットを有する可搬型遠隔装置に関する。
本願は、2005年8月31日に出願された米国仮出願第60/712,994号を基礎とする米国特許法119条(e)項の優先権を主張し、その開示内容は本明細書に組み込まれる。
リモートクライアントアクセスプラットホームおよびシステムは、アプリケーションサーバまたはサーバ(サーバコンピュータ)にあり、これらのサーバによってホストされるアプリケーションプログラムからのデータに、コンピューテイング装置が遠隔的にアクセスできるようにする。クライアント装置は、パーソナルコンピュータ、パーソナル通信装置(例えば、携帯電話)、セットトップボックス、ゲーム機、テレビなどを含むことができる。
テレビ型クライアント装置などの特定のクライアント装置の場合、サーバコンピュータとクライアント装置との間の通信は、サーバコンピュータからのデータまたは情報の受信のみを伴う。他のクライアント装置の場合、サーバコンピュータとクライアント装置との間で、重要な双方向の通信ができる。ここでのクライアント装置は、サーバコンピュータにデータまたは情報を送信するコンピュータ装置(例えば、パーソナルコンピュータ)である。さらに、グラフィックデータなどのデータまたは情報の品質は、クライアント装置によって異なる。例えば、無線ネットワーク上の携帯電話では、ブロードバンドネットワーク上のパーソナルコンピュータに送信されるのと同量のグラフィック情報を必要としないまたは処理することができない。
サーバコンピュータとクライアント装置との間の通信は、典型的にはリモートデータプロトコルすなわちRDPなどの通信プロトコルの使用を伴う。インターネットプロトコル(TCP/IP)上の伝送制御プロトコルなどの低レベルのネットワークプロトコルもこれに伴う。通信プラットホームは、特殊な通信プロトコルを支援するためにクライアント装置において提供される。RDP通信を支援するために特別に装備されたクライアント装置は、RDPクライアントと呼ばれる。
RDPクライアントなどの特定のプロトコル用の通信プラットホームを支援するクライアント装置は、その可搬性および拡張性に制限がある。可搬性の制限については、特定のプロトコル用のクライアント装置を、他のオペレーティングシステム(例えば、ソフトウェアプラットホーム)および/またはハードウェアプラットホームによって支援すねことができない。拡張性の制限については、拡張機能セットまたは縮小機能セットを専用のクライアント装置に提供する必要性を含む。上記のとおり、特定のクライアント装置は、サーバコンピュータへの返信、豊富なグラフィック(例えば、典型的にはパーソナルコンピュータに送信されるグラフィック情報)などの特殊な機能セットを支援する必要がないまたは支援することができない。
専用のクライアント装置に対する特殊なプロトコルを支援するためには、通常、通信プラットホームは、クライアント装置を支援するように変更される。例えば、通信プラットホームのコードベースは、専用のクライアント装置を支援するために大きく変更される場合がある。さまざまな要求および処理資源を有するクライアント装置が多数あるために、これらのさまざまなクライアント装置に対応する通信プラットホームの変更は、かなりの費用になる。その上、このような変更をおこなうためにコードベースを提供することは、そのコードベースの所有者が、所有する情報を第三者に提供してしまうことにもなりかねない。
リモートプロトコルプラットホームに対する機能またはサービスの拡張されたセットは、複合的なのクライアント装置のために定義され、特にクライアント装置で実施される。リモートプロトコルプラットホームは、特殊なリモートプロトコルに基づく。アプリケーションプログラムインタフェース(インタフェース)は、各々の機能またはサービスを支援するために作成される。コンポーネントは、インタフェースと通信し、そしてそれらのインタフェースをクライアント装置にあるアプリケーションに表示させ、特殊なリモートプロトコルに基づいたリモート通信を可能にする。
本発明の開示は、簡略化した形式で、概念の一つの選択を提示するために提供され、以下の詳細な説明にさらに記載されている。本発明の開示は、請求された発明の対象の主要な機能または本質的な機能を明らかにする意図のものではなく、請求された発明の対象の範囲を決定する目的として使用される意図のものでもない。
本詳細な説明は、添付図を参照して記載される。図については、参照番号の最も左端にある数字は、最初に表す参照番号と同じである図の番号を示す。別の図の中での同じ参照番号の使用は、類似の項目または同一の項目を示す。
図1は、模範的なサーバクライアントシステム100を示す。システム100は、サーバコンピュータ102およびクライアント装置104によって代表される1または複数のクライアント装置を含む。クライアント装置104は、デスクトップおよびラップトップなどのパーソナルコンピュータ(PC)、携帯端末および携帯電話などのパーソナルコンピューティング装置、および、ゲーム機、セットトップボックスおよびテレビなどのマルチメディア装置を含む。サーバコンピュータ102およびクライアント装置104は、インターネットを含む1または複数のネットワークを含んだネットワーク106によって接続される。サーバコンピュータ102およびクライアント装置104は、リモートデータプロトコルすなわちRDPなどの通信用の特殊なリモートプロトコルを使用するように構成されている。クライアント装置104は、典型的には完全な機能をもつリモートプロトコルプラットホームによって支援される拡張サブセット機能または最小のサブセット機能を含んだリモートプロトコルプラットホームを含む。言い換えれば、クライアント装置104の種類または能力にかかわらず、クライアント装置104は、リモートプロトコルを支援する最小のサブセット機能を含む。以下論じる通り、リモートプロトコルの付加的な機能または「完全な機能」をもつプロトコルプラットホームを要求するクライアント装置は、拡張コアおよびインタフェースによって支援される。
サーバコンピュータ102は、中央処理装置またはプロセッサ108およびメモリ110を含む。サーバコンピュータ102では、オペレーティングシステム112および1または複数のアプリケーションプログラムまたはアプリケーション114をさらに含む。サーバコンピュータ102は、リモートプロトコルネゴシエータ116およびエンコーダ118も含む。プロトコルネゴシエーター116は、特殊なリモートプロトコルに基づくサーバコンピュータ102とクライアント装置104との間の通信を支援するように構成されている。さらに、使用される特殊なリモートプロトコルは、情報を表すデータパケットの提供および/またはデータの符号化を伴う。エンコーダ118を用いて、サーバコンピュータ102からクライアント装置104へ通信パケットをパッケージし、または構築することができる。
クライアント装置104は、中央処理装置またはプロセッサ120およびメモリ122を含む。クライアント装置104は、オペレーティングシステム124、および1または複数のアプリケーションプログラムまたはアプリケーション126も含む。クライアント装置104は、サーバコンピュータ102にインタフェースまたは通信を提供するフルクライアント128をさらに含む。特に、フルクライアント128は、特殊なリモートプロトコルを使用して通信を支援するコンポーネントまたはプロトコルプラットホームとして実施することができる。フルクライアント128は、縮小機能セットのマイクロクライアント130を含む。一般的に、マイクロクライアント130は、特にクライアント装置104用に組み込まれていて、複合的なソフトウェアプラットホームおよびハードウェアプラットホーム(例えば、プラットホームに依存しない)を支援するための可搬性、リモートプロトコルを支援する最小のサブセット機能を含むスケーラビリティ、およびマイクロクライアント130によって提供される機能を超える追加的に必要な機能を提供するための拡張性を有している。以下論じる通り、マイクロクライアント130およびインタフェースなどの拡張装置はいずれも、フルクライアント128に含まれている。
図2は、フルクライアント128およびマイクロクライアント130を含むクライアント装置104をさらに図示したブロック図である。クライアントコンピュータ104は、フルクライアントユーザインタフェース200をさらに含んだフルクライアント128を含む。フルクライアントユーザインタフェース200は、どのような通信機能がマイクロクライアント130に提供されるかどうかにかかわらず、特にサーバコンピュータ(例えば、サーバコンピュータ102)と通信するために使用できる。言い換えれば、クライアント装置104が、単にマイクロクライアント130によってまたは複合的な拡張(例えば、インタフェース)を有する完全な機能セットのリモートプロトコルプラットホームによって支援される縮小機能セットであるかどうかについて、インタフェースに関しては差異がない。グラフィックに限った特定の場合において、ユーザインタフェースは、入力が支援されない場合に実施されると考えられる。このような場合に、ユーザインタフェースは、入力を支援するクライアントとは異なる。
マイクロクライアント130は、複合的な装置に適用できる共通の抽象化レイヤ(PAL)を含む。PAL202は、RDPプラットホームなどのリモートプロトコルプラットホームのサービスを支援する定義されたインタフェースの共通セットである。PALS202に含まれる例示的なPALは、以下の通りである。
PAL202は、マイクロコア204とインタフェースすることができる。あるいはもう一つの考えとして、マイクロコア204は、PAL202をアプリケーションまたはアプリケーションプログラムに表示させることができる。マイクロコア204は、リモートプロトコルプラットホームの専用サービスに対してPAL202に依存し、例えば、例示的なPALを参照して以下の通りである。マイクロコア204(またはマイクロクライアント130)は、アプリケーションではないかもしれないが、アプリケーションに組み込まれたコンポーネントとなり得る。例えば、マイクロコア204は、マルチメディアアプリケーションの一部とすることができる。
マイクロコア204は、クライアント装置によって使用される共通の機能を含む。この例として、マイクロコア204は、サーバコンピュータ(例えば、サーバコンピュータ102)へのデータを圧縮するのに使用する圧縮サービス206、およびサーバコンピュータ(例えば、サーバコンピュータ102)へのデータまたはデータパケットを符号化する符号化サービス208を含んでいる。マイクロコア204によって提供されるその他の機能としては、リモートプロトコルの接続の確立、スクリーンデータ転送およびブロック転送を含んだ最小セットのリモートプロトコルグラフィック(例えば、RDPグラフィック)のレンダリング、キーボードまたはマウスなどの入力装置からの入力データまたはイベントの送信、および仮想チャンネルを介してのデータの有効化および送信を含む。仮想チャンネルプラグ‐イン210は、特に仮想チャンネル通信に提供される。
一般的に、マイクロコア204は、特殊なリモートプロトコルによって提供される拡張されたセット機能(例えば、拡張機能セット)を提供する。拡張機能セットは、異なったクライアント装置によって使用される共通ものである。例えば、拡張機能セットは、特に商業用に組み込まれたクライアント装置(例えば、テレビ)、または、異なったソフトウェア能力および異なったハードウェア能力を提供するクライアント装置である。
PAL202をアプリケーション(例えば、クライアントコンピュータ104の中にあるアプリケーション126)に表示させることに加えて、マイクロコア204は、他のアプリケーションプログラムのインタフェース(API)にも表示させることができる。このAPIは、API212をホストするマイクロコアによって表されて、マイクロコア204の制御、および、リモートプロトコルセッションの多数のプロパティ(例えば、色調や解像度)を設定する能力を含んだ、リモートプロトコルセッションを確立するまたは切断するメカニズムを提供するための最高レベルのAPIを含むことができる。別のAPIは、アプリケーションまたはアプリケーションレイヤが、マイクロコア204内部での重要な状態変化と見なす通知を受信することが可能なインタフェースを含んでいる。状態変化の例としては、連続した接続または不連続な接続、切断、および自動再接続を含む。
マイクロコア204は、ソフトウェアプラットホームに依存せず、およびハードウェアプラットホーム依存しないが、PAL202を介した基本的なインタフェースまたは共通のインタフェースおよび上述した共通のAPIを提供することによって可搬性をもつことができる。上述したAPIおよびPAL202は、クライアント装置のハードウェアプラットホームおよびソフトウェアプラットホームにかかわらず、クライアント装置に共通である。したがって、可搬性は、多様なハードウェアプラットホームおよびソフトウェアプラットホームによって超越されるまたはアクセスが可能なAPIおよびPAL202の共通の機能セットの中にある共通のコードベースから生じる。ある実施例においては、マイクロコア204は、その機能性を拡張するために拡張性ポイントを提供し、特殊なオペレーティングシステムの機能を提供する能力を有するが、プラットホームに依存しない方法で、マイクロコア204に対する小さなサブセットの機能を提供する。
以下は、PAL202に含まれる例示的なPALについてである。PAL202は、少ないPALおよび/または多様なPALを含むことができることを理解されたい。さらに、他のAPIまたはインタフェースは、マイクロコア204によって表示される。
入力PAL214は、入力ソースに対する抽象化である。ハードウェアによって生成される入力イベントは、入力PAL214によって供給され、マイクロコア204に送信されて、リモートプロトコルを介してサーバコンピュータ(例えば、サーバコンピュータ102)に送信される。マイクロコア204は、入力イベントをサーバコンピュータに送信することは認識するが、そのイベントのどのように作成されるかについて関与していない。
仮想チャンネルは、マイクロコア204にあるプラットホームに依存しない方法で実施される。しかし、仮想チャンネルプラグ‐イン210は、プラットホームに依存しない。特に、仮想チャンネルプラグ‐イン210がロードされた方法では、プラットホームに依存しない。もし仮想チャンネルプラグ‐イン210が動的にロードされた場合、ローディングは、動的コードをロードするオペレーティングシステムのメカニズムに依存する。仮想チャンネルのPAL216は、マイクロコア204にインタフェースを提供し、仮想チャンネルプラグ‐イン210を列挙し、ロードする。さらに、仮想チャンネルのPAL216は、仮想チャンネルのトラフィック用のメカニズムを提供し、専用のスレッドを通過する。
グラフィックPAL218は、マイクロコア204に、復号されたリモートプロトコルグラフィックのデータのレンダリングを可能にさせるインタフェースである。グラフィックPAL218は、描画表面に適用できる描画操作のセットを提供する。描画表面は、物理的なディスプレイ(例えば、モニタ)、プリンタ、またはメモリバッファへの入力を含む「出力ディスプレイ」に対する抽象化である。グラフィックPAL218の描画動作の一例として、「10×10ピクセル、およびX=50、Y=75に位置する青色の長方形を描く」が挙げられる。
ネットワークPAL220は、ネットワーク通信に対する抽象化である。マイクロコア204は、接続を確立するためにネットワークPAL220に依存し、サーバコンピュータ(例えば、サーバコンピュータ102)と共にデータをあちこちに送信する。実際のネットワーク通信プロトコルは、マイクロコア204から抽出される。マイクロコア204は、接続、切断およびデータの送受信を認識することができる。実行可能なネットワークPAL220の実施は、TCP(Transmission Control Protocol)、SSL(Secure Sockets Layer)、および/またはシリアルプロトコルを使用できる。
システムPAL222は、プラットホームに依存しないオペレーティングシステムAPLである。システムPAL222は、メモリの管理、ロッキング、タイマー、スレッドなどの機能を含んでいるが、これらに限定されない。一般的に、マイクロコア204は、オペレーティングシステム段階のサービスに対してシステムPAL222に依存している。セキュリティPAL224は、マイクロコア204が、リモートプロトコルのセキュリティおよび許可レイヤを実施するために使用する多数のセキュリティ機能に対する抽象化である。
拡張性は、マイクロクライアント130で提供されるAPIおよびPAL202の共通の機能セットで提供されるものに比べてより拡充したすなわち付加的なプラットホームの必需品(例えば、ソフトウェア、ハードウェア、通信プラットホーム)を有する装置を支援するためのものである。特殊なプラットホームの固有のプロパティの拡張性を支援するためには、フルクライアント128は、特殊な拡張インタフェースを提供する、ホスティング拡張アプリケーションプログラムインタフェース(API)226を含む。さらに、特殊な必需品または完全な機能セットに専用のPALは、リモートプロトコルの拡張PAL228を介して提供される。特定の場合においては、専用のグラフィックの実行およびAPI230を提供することができる。
拡張コア232は、拡張API226のホスト、リモートプロトコルの拡張PAL228、および、グラフィックの実行およびAPI230を表示させるために実施される。一実施例においては、拡張コア232は、マイクロコア204およびいずれのプラットホームに依存しない拡張装置(例えば、PAL202)も含むことができる。
通信または多様なインタフェース、PAL202、PALS228を介して通信されるデータ/情報は、特殊なリモートプロトコルを専用に支援するために提供されるリモートプロトコルPALインプリメンテーション234と言及されるコンポーネントを介して処理される。リモートプロトコルPALインプリメンテーション234は、特殊なインタフェース(例えば、PAL)へのAPIのコールストリームを受信する。リモートプロトコルPALインプリメンテーション234から通信されるデータ/情報は、リモートプロトコルチャンネル238に代表されるように、安全なソケットレイヤまたは他のチャンネルを通って通信される。リモートプロトコルチャンネル238も、サーバコンピュータ(サーバコンピュータ102)へのチャンネルを表す。リモートプロトコルレイヤ236は、データ/情報が通信される特殊なリモートプロトコルを表す。例えば、リモートプロトコルレイヤは、RDPレイヤである。
図3は、アプリケーションプログラムインタフェース(API)を提供するまたは表示させるプロセス300を示す。プロセス300は、マイクロコアを介してクライアント装置において実施される。プロセス300は、論理フローグラフにおけるブロックの集合として図示され、ハードウェア、ソフトウェア、ファームウェア、またはそれらの組み合わせのなかで実施することのできる一連の動作を表す。ソフトウェアの文脈において、ブロックは、1または複数のプロセッサによって実行される時に、列挙された動作を実行するというコンピュータの命令を表す。フローチャートとして記載されているにもかかわらず、特定のブロックは、同時にまたは異なった順番で起きると考えられる。プロセス300は、他の構成によって実施されるが、例えば、図1のシステム100、クライアント装置104およびマイクロコア204によって実施することができる。
ブロック302においては、プラットホームに依存するサービスのコアセットが定義されている。これらのサービスは、グラフィックインタフェーシング、ネットワークインタフェーシング、装置からの入力インタフェーシング、チャンネル(例えば、仮想チャンネル)、ハードウェアシステムおよび/またはオペレーティングシステムおよびセキュリティを含むことができる。依存サービスのコアセットは、特殊なリモートプロトコルおよびリモートプロトコルプラットホームを実施するいずれのクライアント装置によっても使用できるように見なされている。
ブロック304においては、十分に定義されたインタフェースまたはプラットホーム抽象化レイヤ(PAL)が作成される。各々のPALは、ブロック302において定義されるように、特殊なプラットホームに依存するサービスを支援する。例えば、グラフィックを支援するPAL、ネットワークインタフェーシングを支援するPAL、システムを支援するPAL、およびセキュリティを支援するPALがある。
ブロック306においては、他のコアインタフェースを、必要に応じて作成することができる。これらのコアインタフェースは、ブロック304において作成されるPALに付加される。これらのインタフェースの例として、提供する機能は、マイクロコア204などのコンポーネントの制御、およびリモートプロトコルセッションの多数のプロパティを設定する能力を含んだリモートプロトコルセッションの確立および切断を行うメカニズムの提供のための最高レベルのAPIを含む。もう一つのインタフェースは、アプリケーションまたはアプリケーションレイヤに、コンポーネント(例えば、マイクロコア204)内部で重要な状態変化と見なす通知を受信することを可能にさせるAPIとすることができる。状態変化の例では、連続接続または不連続接続、切断、および自動再接続を含む。
ブロック308においては、PALおよびインタフェースは、コンポーネントまたはマイクロコア(例えば、マイクロコア204)へ通信しまたは利用可能にする。マイクロコアは、プラットホームに依存せず、異なったハードウェアプラットホームおよびソフトウェアプラットホームによって使用されるまたはそれらに移植されることを意味する。言い換えれば、PALおよびインタフェースは、クライアントがプラットホーム(ハードウェアプラットホームおよびソフトウェアプラットホーム)依存しなくなることを可能にする。
ブロック310においては、マイクロコアは、PALを含むインタフェースをクライアント装置の中のアプリケーションに表示させる。アプリケーションは、キーボード、マウス、出力ディスプレイなどの入力装置および出力装置を支援するアプリケーションプログラムを含む。
ブロック312においては、特殊なリモートプロトコルプラットホームのなかに見られる付加的機能または完全な機能セットを支援するために、付加的なインタフェースおよびPALが提供される。インタフェースおよびPALの付加は、効果的にマイクロコアの機能性を拡張させる。
図4は、リモートリモートプロトコルに対する拡張された機能セットおよび拡張可能な機能セットを提供するプロセス400を示す。プロセス400は、リモートプロトコルを使用して、サーバコンピュータへ通信するクライアント装置において実施される。プロセス400は、論理フローグラフの中のブロックの集合として図示され、ハードウェア、ソフトウェア、ファームウェア、またはそれらの組み合わせのなかで実施することのできる一連の動作を表す。ソフトウェアの文脈において、ブロックは、1または複数のプロセッサによって実行される時に、列挙された動作を実行するというコンピュータの命令を表す。フローチャートとして記載されているにもかかわらず、特定のブロックは、同時にまたは異なった順番で起きると考えられる。プロセス400は、他の構成によって実施されるが、例えば、図1のシステム100、クライアント装置104によって実施することができる。
ブロック402においては、特殊なリモートプロトコルに対する拡張された機能セットが定義される。リモートプロトコルを支援するプロトコルプラットホームは、もっとも単純なクライアント装置が必要とするものよりも多くの機能を含んでいると予想される。従って、拡張された機能セットは、リモートプロトコルプラットホームに関しては、最小の資源容量および機能セットの必需品を有するクライアント装置を支援する最小機能のサブセットである。サブセット機能は、特殊なリモートプロトコルによって提供される完全な機能から選択される。
ブロック404においては、拡張された機能セットを支援するプラットホーム抽象化レイヤ(PAL)およびインタフェースが提供される。特に、PALおよびインタフェースは、マイクロコアを介してアプリケーションとの通信に使用される。各々のPALは、リモートプロトコルプラットホームの一部として特殊なサービスを支援するためのものである。PALによって支援されるまたは提供されるサービスの例では、グラフィックインタフェーシング、ネットワークインタフェーシング、入力インタフェーシング、システムインタフェーシング、およびセキュリティインタフェーシングを含む。PALは、プラットホームに依存するサービスに専用であるが、インタフェースとPAL、特にマイクロコアは、多様なハードウェアプラットホームおよびソフトウェアプラットホームを支援するかまたはそれらへ移植することができる。PALの統合またはグループ化、インタフェース、およびマイクロコアは、拡張されたリモートプロトコルプラットホームを構成する。
ブロック406においては、もしリモートプロトコルによって支援される付加的な機能が必要であれば、決定がなされる。付加的な機能は、マイクロコアを拡張することによって提供され、付加的なインタフェースおよびPALを加えることによって、拡張されたリモートプロトコルを提供する。
ブロック408においては、特殊なリモートプロトコルに基づくサーバコンピュータへの通信がおこなわれる。通信をおこなうためにマイクロコアが利用可能なインタフェースが作成される。通信は、完全な機能のクライアント装置に代表されるインタフェースを通過することができ、仮想チャンネルを含んだ1または複数のチャンネルを介することができる。
(結論)
上述した方法および装置は、クライアント装置において特殊なリモートプロトコルを使用した多様なプラットホームを支援する。本発明は、構造的な機能および/または方法論的な手法に特有な言語で記載しているが、添付の特許請求の範囲で定義された本発明は、記載された専用の機能または手法に必ずしも限定されるものではないことを理解されたい。むしろ、これらの専用の機能および手法は、請求された発明を実施する例示的な形式として開示される。
リモートプロトコルプラットホームのフルクライアント機能セットまたはマイクロクライアント機能セットを支援するサーバクライアントシステムの例示的な図である。 マイクロクライアントコンポーネントを含むフルクライアントコンポーネントを含んだクライアント装置の例示的な図である。 マイクロコアコンポーネントを介してプラットホームに依存しないアプリケーションプログラムのインタフェースを提供するプロセスを示したフローチャートである。 特殊なリモートプロトコルを支援するリモートプロトコルプラットホームの拡張された機能セットおよび拡張可能な機能セットを提供するプロセスを図示したフローチャートである。

Claims (20)

  1. リモートプロトコルを支援するリモートクライアント装置においてアプリケーションプログラムのインタフェースを表示させる方法であって、
    前記リモートプロトコルに基づくリモートプロトコルプラットホームを支援するサービスの拡張セットを定義すること、
    前記サービスの拡張セットを支援するアプリケーションプログラムのインタフェースを作成すること、および、
    前記アプリケーションプログラムのインタフェースを前記リモートクライアント装置にあるレジデントアプリケーションに表示させること
    を備えることを特徴とする方法。
  2. 前記定義されたサービスのセットは、グラフィックインタフェーシング、ネットワークインタフェーシング、入力インタフェーシング、システムインタフェーシング、およびセキュリティインタフェーシングのうちの1または複数のサービスを含むことを特徴とする請求項1に記載の方法。
  3. 前記アプリケーションプログラムのインタフェースを作成することは、リモートクライアント装置に対してプラットホームに依存しないプラットホーム抽象化レイヤ(PAL)を作成することを含み、各々のPALは、前記サービスのセットの特殊な機能を提供することを特徴とする請求項1に記載の方法。
  4. 前記各々のPALは、グラフィックインタフェーシング、ネットワークインタフェーシング、入力インタフェーシング、システムインタフェーシング、およびセキュリティインタフェーシングのうちの一つを提供することを特徴とする請求項3に記載の方法。
  5. 前記アプリケーションプログラムのインタフェースを作成することは、コアインタフェースを作成することを含み、該コアインタフェースの機能は、表示をおこなうコンポーネントの制御、およびリモートプロトコルセッションを確立するためのメカニズムの提供のうちの1または複数を含むことを特徴とする請求項1に記載の方法。
  6. 付加的なインタフェースを提供することによってリモートプロトコルプラットホームを拡張し、前記リモートプロトコルによって支援される付加的な機能を支援することをさらに備えることを特徴とする請求項1に記載の方法。
  7. 前記アプリケーションプログラムのインタフェースをマイクロコアコンポーネントに通信し、前記マイクロコアコンポーネントは、前記アプリケーションプログラムのインタフェースを前記レジデントアプリケーションに表示させることをさらに備えることを特徴とする請求項1に記載の方法。
  8. クライアント装置において拡張リモートプロトコルプラットホームを提供する方法であって、
    前記スケールリモートプロトコルプラットホームで提供される機能を定義すること、
    各々の機能を支援するためにクライアント装置のプラットホームに依存しないインタフェースおよびプログラム抽象化レイヤ(PAL)を提供することであって、マイクロコアは、インタフェースおよびPALを介して前記クライアント装置にあるアプリケーションと通信すること、および、
    前記拡張リモートプロトコルプラットホームを提供するために、前記インタフェース、前記PAL、および前記マイクロコアをグループ化すること
    を備えることを特徴とする方法。
  9. 前記機能を定義することは、最小セット機能に基づいて、特殊なリモートプロトコルを使用して通信を支援することを特徴とする請求項8に記載の方法。
  10. 前記機能を定義することは、特殊なリモートプロトコルによって提供されるサブセット機能に基づくことを特徴とする請求項8に記載の方法。
  11. 前記インタフェースおよびPALを提供することは、グラフィックインタフェーシング、ネットワークインタフェーシング、入力インタフェーシング、システムインタフェーシング、およびセキュリティインタフェーシングのうちの1または複数を提供することを含むことを特徴とする請求項8に記載の方法。
  12. 付加的な機能が必要か否かを判定すること、および前記必要な機能を支援するためにインタフェースを作成することをさらに備えることを特徴とする請求項8に記載の方法。
  13. フルクライアントインタフェースを介して前記拡張リモートプロトコルプラットホームを使用してサーバコンピュータと通信することをさらに備えることを特徴とする請求項8に記載の方法。
  14. クライアント装置であって、
    プロセッサと、
    前記プロセッサによって制御されるフルクライアントリモートプロトコルプラットホームと、
    前記フルクライアントリモートプロトコルプラットホームのなかに含まれるマイクロクライアントリモートプロトコルプラットホームと、
    前記マイクロクライアントリモートプロトコルプラットホームによってアクセスされ、サービスの拡張機能セットを支援する1または複数のプラットホームに依存しないインタフェースであって、前記マイクロクライアントリモートプラットホームは、前記インタフェースを前記クライアント装置にあるアプリケーションに表示させるインタフェースと
    を備えたことを特徴とするクライアント装置。
  15. 前記フルクライアントプロトコルプラットホームは、前記フルクライアントリモートプロトコルプラットホームおよび前記マイクロクライアントリモートプロトコルプラットホームによる通信に対するフルクライアントインタフェースを含むことを特徴とする請求項14に記載のクライアント装置。
  16. 前記マイクロクライアントは、ハードウェアおよびソフトウェアプラットホームに依存しないマイクロコアを含むことを特徴とする請求項14に記載のクライアント装置。
  17. 1または複数のインタフェースは、グラフィックインタフェーシング、ネットワークインタフェーシング、入力インタフェーシング、システムインタフェーシング、およびセキュリティインタフェーシングのうちの一つを支援する1または複数のプラットホーム抽象化レイヤを含むことを特徴とする請求項14に記載のクライアント装置。
  18. 前記フルクライアントリモートプロトコルプラットホームは、前記フルクライアントリモートプロトコルプラットホームおよび前記マイクロクライアントリモートプロトコルプラットホームによる通信に対するフルクライアントインタフェースを含むことを特徴とする請求項14に記載のクライアント装置。
  19. 前記クライアント装置は、組み込み装置であることを特徴とする請求項14に記載のクライアント装置。
  20. 付加的なサービスを支援する付加的なインタフェースを含んだ拡張コアをさらに備えたことを特徴とする請求項14に記載のクライアント装置。
JP2008529049A 2005-08-31 2006-08-04 拡張可能な機能セットを有する可搬型遠隔装置 Expired - Fee Related JP4959706B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US71299405P 2005-08-31 2005-08-31
US60/712,994 2005-08-31
US11/379,955 US20070050471A1 (en) 2005-08-31 2006-04-24 Portable Remoting Component With A Scaleable Feature Set
US11/379,955 2006-04-24
PCT/US2006/030484 WO2007027363A1 (en) 2005-08-31 2006-08-04 Portable remoting component with a scaleable feature set

Publications (2)

Publication Number Publication Date
JP2009506717A true JP2009506717A (ja) 2009-02-12
JP4959706B2 JP4959706B2 (ja) 2012-06-27

Family

ID=37805658

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008529049A Expired - Fee Related JP4959706B2 (ja) 2005-08-31 2006-08-04 拡張可能な機能セットを有する可搬型遠隔装置

Country Status (6)

Country Link
US (1) US20070050471A1 (ja)
EP (1) EP1920343A4 (ja)
JP (1) JP4959706B2 (ja)
KR (1) KR20080045117A (ja)
CN (1) CN101253490B (ja)
WO (1) WO2007027363A1 (ja)

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8347386B2 (en) 2008-10-21 2013-01-01 Lookout, Inc. System and method for server-coupled malware prevention
US8108933B2 (en) 2008-10-21 2012-01-31 Lookout, Inc. System and method for attack and malware prevention
US9043919B2 (en) 2008-10-21 2015-05-26 Lookout, Inc. Crawling multiple markets and correlating
US8984628B2 (en) 2008-10-21 2015-03-17 Lookout, Inc. System and method for adverse mobile application identification
US9367680B2 (en) * 2008-10-21 2016-06-14 Lookout, Inc. System and method for mobile communication device application advisement
US8533844B2 (en) 2008-10-21 2013-09-10 Lookout, Inc. System and method for security data collection and analysis
US9235704B2 (en) 2008-10-21 2016-01-12 Lookout, Inc. System and method for a scanning API
US8099472B2 (en) 2008-10-21 2012-01-17 Lookout, Inc. System and method for a mobile cross-platform software system
US8087067B2 (en) 2008-10-21 2011-12-27 Lookout, Inc. Secure mobile platform system
US8051480B2 (en) 2008-10-21 2011-11-01 Lookout, Inc. System and method for monitoring and analyzing multiple interfaces and multiple protocols
US9781148B2 (en) 2008-10-21 2017-10-03 Lookout, Inc. Methods and systems for sharing risk responses between collections of mobile communications devices
US8060936B2 (en) 2008-10-21 2011-11-15 Lookout, Inc. Security status and information display system
US8180905B2 (en) * 2008-12-09 2012-05-15 Microsoft Corporation User-mode based remote desktop protocol (RDP) encoding architecture
US8855601B2 (en) 2009-02-17 2014-10-07 Lookout, Inc. System and method for remotely-initiated audio communication
US8467768B2 (en) 2009-02-17 2013-06-18 Lookout, Inc. System and method for remotely securing or recovering a mobile device
US9042876B2 (en) 2009-02-17 2015-05-26 Lookout, Inc. System and method for uploading location information based on device movement
US9955352B2 (en) 2009-02-17 2018-04-24 Lookout, Inc. Methods and systems for addressing mobile communications devices that are lost or stolen but not yet reported as such
US8538815B2 (en) 2009-02-17 2013-09-17 Lookout, Inc. System and method for mobile device replacement
US8397301B2 (en) 2009-11-18 2013-03-12 Lookout, Inc. System and method for identifying and assessing vulnerabilities on a mobile communication device
US8738765B2 (en) 2011-06-14 2014-05-27 Lookout, Inc. Mobile device DNS optimization
US8788881B2 (en) 2011-08-17 2014-07-22 Lookout, Inc. System and method for mobile device push communications
US9165332B2 (en) * 2012-01-27 2015-10-20 Microsoft Technology Licensing, Llc Application licensing using multiple forms of licensing
US9407443B2 (en) 2012-06-05 2016-08-02 Lookout, Inc. Component analysis of software applications on computing devices
US9589129B2 (en) 2012-06-05 2017-03-07 Lookout, Inc. Determining source of side-loaded software
US8655307B1 (en) 2012-10-26 2014-02-18 Lookout, Inc. System and method for developing, updating, and using user device behavioral context models to modify user, device, and application state, settings and behavior for enhanced user security
US9208215B2 (en) 2012-12-27 2015-12-08 Lookout, Inc. User classification based on data gathered from a computing device
US9374369B2 (en) 2012-12-28 2016-06-21 Lookout, Inc. Multi-factor authentication and comprehensive login system for client-server networks
US8855599B2 (en) 2012-12-31 2014-10-07 Lookout, Inc. Method and apparatus for auxiliary communications with mobile communications device
US9424409B2 (en) 2013-01-10 2016-08-23 Lookout, Inc. Method and system for protecting privacy and enhancing security on an electronic device
US9642008B2 (en) 2013-10-25 2017-05-02 Lookout, Inc. System and method for creating and assigning a policy for a mobile communications device based on personal data
US9753796B2 (en) 2013-12-06 2017-09-05 Lookout, Inc. Distributed monitoring, evaluation, and response for multiple devices
US10122747B2 (en) 2013-12-06 2018-11-06 Lookout, Inc. Response generation after distributed monitoring and evaluation of multiple devices
JP6260458B2 (ja) * 2014-05-30 2018-01-17 京セラドキュメントソリューションズ株式会社 画像形成装置、画像形成方法、及び制御プログラム
WO2016178816A1 (en) 2015-05-01 2016-11-10 Lookout, Inc. Determining source of side-loaded software
US10757079B2 (en) * 2016-01-12 2020-08-25 Jens Schmidt Method and system for controlling remote session on computer systems using a virtual channel
US10218697B2 (en) 2017-06-09 2019-02-26 Lookout, Inc. Use of device risk evaluation to manage access to services

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002041309A (ja) * 2000-06-16 2002-02-08 Microsoft Corp 分散コンピューティング環境におけるオブジェクト間のインタラクティブ通信のためのシステム、その方法およびインタラクティブ分散コンポーネントオブジェクトモデル
JP2002175275A (ja) * 2000-08-28 2002-06-21 Abaco Pr Inc 制限されたクライアント装置がネットワーク接続されたサーバの全資源を使用することを可能にする方法および装置
JP2003330728A (ja) * 2002-04-15 2003-11-21 Microsoft Corp 遠隔クライアント上にオペレーティングシステムをカスタムインストールするためのシステムおよび方法

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5758074A (en) * 1994-11-04 1998-05-26 International Business Machines Corporation System for extending the desktop management interface at one node to a network by using pseudo management interface, pseudo component interface and network server interface
US5757925A (en) * 1996-07-23 1998-05-26 Faybishenko; Yaroslav Secure platform independent cross-platform remote execution computer system and method
US5899990A (en) * 1997-03-31 1999-05-04 Sun Microsystems, Inc. Java-to-Database Connectivity Server
US5974463A (en) * 1997-06-09 1999-10-26 Compaq Computer Corporation Scaleable network system for remote access of a local network
US6005568A (en) * 1997-09-30 1999-12-21 The United States Of America As Represented By The Secretary Of The Navy Computer system providing platform independent universal client device
US6910068B2 (en) * 1999-06-11 2005-06-21 Microsoft Corporation XML-based template language for devices and services
US6938080B1 (en) * 2000-06-07 2005-08-30 Nortel Networks Limited Method and computer system for managing data exchanges among a plurality of network nodes in a managed packet network
US6842777B1 (en) * 2000-10-03 2005-01-11 Raja Singh Tuli Methods and apparatuses for simultaneous access by multiple remote devices
US7177917B2 (en) * 2000-12-27 2007-02-13 Softwired Ag Scaleable message system
US9332058B2 (en) * 2001-11-01 2016-05-03 Benhov Gmbh, Llc Local agent for remote file access system
US7171444B2 (en) * 2001-11-14 2007-01-30 Sharp Laboratories Of America, Inc. Remote desktop protocol compression system
US7363363B2 (en) * 2002-05-17 2008-04-22 Xds, Inc. System and method for provisioning universal stateless digital and computing services
US7555538B2 (en) * 2002-12-26 2009-06-30 Research In Motion Limited System and method for building and execution of platform-neutral generic services' client applications
EP1618488B1 (en) * 2003-04-18 2006-11-08 International Business Machines Corporation System and method in a data table for managing insertion operations in recursive scalable template instances
US7676675B2 (en) * 2003-06-06 2010-03-09 Microsoft Corporation Architecture for connecting a remote client to a local client desktop
WO2005015935A1 (en) * 2003-08-07 2005-02-17 Pervenio Limited Server for determining and storing mobile device capability data
US7475125B2 (en) * 2003-11-24 2009-01-06 Microsoft Corporation Seamless discovery of workstation-installed remote applications from an extranet
US7698383B2 (en) * 2004-02-27 2010-04-13 Research In Motion Limited System and method for building component applications using metadata defined mapping between message and data domains
US20060235715A1 (en) * 2005-01-14 2006-10-19 Abrams Carl E Sharable multi-tenant reference data utility and methods of operation of same
EP1703382A1 (en) * 2005-03-16 2006-09-20 Sun Microsystems, Inc. Method for loading applications to a mobile device
US20080052396A1 (en) * 2006-08-22 2008-02-28 Motorola, Inc. Providing a service from an application service provider to a client in a communication system
US8019812B2 (en) * 2007-04-13 2011-09-13 Microsoft Corporation Extensible and programmable multi-tenant service architecture

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002041309A (ja) * 2000-06-16 2002-02-08 Microsoft Corp 分散コンピューティング環境におけるオブジェクト間のインタラクティブ通信のためのシステム、その方法およびインタラクティブ分散コンポーネントオブジェクトモデル
JP2002175275A (ja) * 2000-08-28 2002-06-21 Abaco Pr Inc 制限されたクライアント装置がネットワーク接続されたサーバの全資源を使用することを可能にする方法および装置
JP2003330728A (ja) * 2002-04-15 2003-11-21 Microsoft Corp 遠隔クライアント上にオペレーティングシステムをカスタムインストールするためのシステムおよび方法

Also Published As

Publication number Publication date
EP1920343A1 (en) 2008-05-14
JP4959706B2 (ja) 2012-06-27
CN101253490B (zh) 2011-06-08
EP1920343A4 (en) 2010-04-14
CN101253490A (zh) 2008-08-27
WO2007027363A1 (en) 2007-03-08
US20070050471A1 (en) 2007-03-01
KR20080045117A (ko) 2008-05-22

Similar Documents

Publication Publication Date Title
JP4959706B2 (ja) 拡張可能な機能セットを有する可搬型遠隔装置
EP2754328B1 (en) Wireless lan connection handover by docking system and generic network device driver
KR101664247B1 (ko) 무선 도킹을 위한 무선 대역폭의 효율적 사용을 위한 원격 렌더링
US7415525B2 (en) USB application adopting bluetooth profile with a sharing implementation
JP5385340B2 (ja) リモートデバイスのメディア能力を判定するシステムおよび方法
CN103283250B (zh) 一种视频重定向的方法、装置、系统
CN111803940B (zh) 游戏的处理方法、装置、电子设备及计算机可读存储介质
EP3273712B1 (en) Information processing device, information processing method, and program
WO2011109824A1 (en) System and method for two way communication and controlling content on a display screen
KR20150003192A (ko) 웹 클라이언트가 웹 서비스를 제공하는 것을 가능하게 하는 기법
WO2012065415A1 (zh) 基于虚拟化技术的终端、系统及业务提供方法
US9392315B1 (en) Remote display graphics
US8432966B2 (en) Communication apparatus and control method for communication apparatus
KR102082804B1 (ko) 로컬 네트워크 장치들의 클라우드 기반 전력 관리 방법 및 장치
CN110535839B (zh) 一种信息处理方法、设备、系统及计算机可读存储介质
US20080270512A1 (en) Virtual network projection system supporting multiple projection sources and method thereof
US10360172B1 (en) Decoupled peripheral devices
CN113617020B (zh) 游戏控制方法、装置、存储介质、服务器以及终端
WO2011135554A1 (en) Method and apparatus for allocating content components to different hardware interfaces
Lu et al. A generic application sharing architecture based on message-oriented middleware platform
Lee et al. The/spl mu/Jini proxy architecture for impromptu mobile services
Lee et al. The μJini proxy architecture for impromptu mobile services
Yerunkar et al. Implementing methodologies for achieving a communication channel between a mobile phone and a remote computer
CN116055473A (zh) 一种基于web的分布式部署云渲染方法和系统
Jung et al. Remote protocol in home virtualization system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090702

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110511

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110701

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110929

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: 20120313

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120321

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150330

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees