JP2013514586A - プラグ着脱可能なコンテンツ操作システムにおける内容検索のオフローディングおよび復号化 - Google Patents

プラグ着脱可能なコンテンツ操作システムにおける内容検索のオフローディングおよび復号化 Download PDF

Info

Publication number
JP2013514586A
JP2013514586A JP2012544542A JP2012544542A JP2013514586A JP 2013514586 A JP2013514586 A JP 2013514586A JP 2012544542 A JP2012544542 A JP 2012544542A JP 2012544542 A JP2012544542 A JP 2012544542A JP 2013514586 A JP2013514586 A JP 2013514586A
Authority
JP
Japan
Prior art keywords
media
server
image
client
content handler
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
JP2012544542A
Other languages
English (en)
Other versions
JP2013514586A5 (ja
JP5911808B2 (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 JP2013514586A publication Critical patent/JP2013514586A/ja
Publication of JP2013514586A5 publication Critical patent/JP2013514586A5/ja
Application granted granted Critical
Publication of JP5911808B2 publication Critical patent/JP5911808B2/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
    • 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/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • 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/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1454Digital output to display device ; Cooperation and interconnection of the display device with other functional units involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/12Overlay of images, i.e. displayed pixel being the result of switching between the corresponding input pixels
    • G09G2340/125Overlay of images, i.e. displayed pixel being the result of switching between the corresponding input pixels wherein one of the images is motion video
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2350/00Solving problems of bandwidth in display systems
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/14Display of multiple viewports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

プラグ着脱可能なコンテンツ操作システムにおいて、内容検索をオフローディングし、復号化するためのシステム、方法、およびコンピュータ可読記憶媒体が開示される。サーバが、符号化されていないビデオ・データとフレームの残りの部分との2つの部分としてビデオを含むフレームをクライアントに送出することによって、これを実現することができる。次いで、クライアントは、アプリケーション・コンテンツ・ハンドラを使用して、ビデオ・データに対応するビデオ・イメージを復号化し、それをフレームの残りと組み合わせてフレームを再現する。サーバは、コンテンツ・ハンドラ用のプロキシを実行して、メディアを検索するために通信を実行することができる。クライアントは、コンテンツ・ハンドラに対応するスタブ・アプリケーションを使用するコンテンツ・ハンドラを実行することができ、その結果、コンテンツ・ハンドラが実行する動作は、コンテンツ・ハンドラがアプリケーションと対話しているかのように実行される。

Description

コンピュータは、かつては互いに切り離され、他のコンピュータとの対話が最小限またはほとんどなかったが、今や、ローカル・エリア・ネットワーク(LAN)、広域ネットワーク(WAN)、ダイヤルアップ接続などを介して他の様々なコンピュータと接触している。インターネットが広く普及するにつれて、コンピュータ間の接続性がより重要になり、多くの新規アプリケーションおよび技術をもたらしてきた。大規模ネットワークが成長し、低コストのパーソナル・コンピュータが広く利用可能になることにより、多くの人々が、働き、対話し、伝達し、プレイする方法が根本的に変化してきた。
広く普及しているネットワーキングの一形態は、一般に、遠隔プレゼンテーション・システムと呼ばれることがあり、リモート・デスクトップ・プロトコル(RDP)、インディペンデント・コンピューティング・アーキテクチャ(ICA)などのプロトコルを使用して、デスクトップおよび他のアプリケーションを遠隔クライアントと共用することができる。このようなコンピューティング・システムは、通常、キーボードの押下、および、マウスのクリックまたは選択を、クライアント・コンピューティング装置からサーバ・コンピューティング装置へと伝送し、通信ネットワーク(たとえば、INTERNET)上で画面更新を逆方向に戻し中継する。したがって、ユーザは、実際にはアプリケーションのスクリーンショットまたはフレームのみが、サーバ側で表示される通りにクライアントに送られているとき、自分のセッションがもっぱら自分のクライアント・コンピュータ上で実行されているような経験をする。
一般に、遠隔プレゼンテーション・システムでは、グラフィックス・データは、サーバ上で符号化され、次いでクライアント表示での提示のためにクライアントに転送される。ビデオまたはアニメーションなどのメディアは、遠隔で表示される場合には、まずネイティブ・フォーマット(たとえば、H.264またはWMV)からビットマップなど別のフォーマットに復号化される。次いで、クライアントへの転送のためにビットマップは符号化される。特に、サーバがこうした多くの遠隔プレゼンテーション・セッションを同時に実行し、復号化および符号化されたメディアをクライアントに転送するのに大量の帯域幅を必要とするとき(ネイティブに符号化されたメディアを転送するのに必要とされる帯域幅に対して測定すると)、この復号化および符号化のプロセスは計算するとサーバにとって高価である。この結果フレームの全てを必ずしも復号化できないか、またはフレームの全てはクライアントに送ることができないために、サーバがフレームを間引く必要が生じ、クライアントエクスペリエンスの質が低下することがある。
したがって、アプリケーション用のコンテンツ・ハンドラを使用してメディアを表示することになる遠隔プレゼンテーションにおいて、サーバへの要求を低減させることが、従来技術にわたり改善点になる。
一実施形態では、コンテンツ・ハンドラはプラグインである。たとえば、アプリケーションはMICROSOFT(登録商標) INTERNET EXPLORERでもよく、メディアはWINDOWS MEDIA(登録商標) VIDEOのビデオ・フォーマットでもよく、コンテンツ・ハンドラはMICROSOFT SILVERLIGHT(登録商標)のACTIVEX(登録商標)コンテンツ・ハンドラ・プラグインでもよく、このプラグインは、INTERNET EXPLORERのウェブページで見るときにメディアの復号化および提示を扱う。他の実施形態では、ビデオはFLASHフォーマットであり、コンテンツ・ハンドラはFLASHのACTIVEXコンテンツ・ハンドラである。
サーバが、符号化されたメディアとフレームの残りの部分という2つの部分としてのメディアを含むフレームを、クライアントに送出することによって、この改良が実現される。上記実施形態を使用すると、符号化されたメディアはビデオを含み、フレームの残りは、ビデオに占有されないINTERNET EXPLORERのアプリケーション・ウィンドウ(たとえば、ナビゲーション・ボタンおよび境界線、ならびにビデオが表示されるウェブページの残り)を含むことになる。次いで、クライアントは、スタブ・コンテナとともにコンテンツ・ハンドラを使用して、符号化されたメディア・データに対応するイメージを復号化し、このイメージをフレームの残りと組み合わせて、サーバ上に表示されるようにフレームを再現する(遠隔プレゼンテーション・セッションまたは同様のものを実行中の損失性の少ない符号化)。
スタブ・コンテナは、コンテンツ・ハンドラの対応するアプリケーションがコンテンツ・ハンドラを管理するのと同一の方法でコンテンツ・ハンドラを管理するように構成された軽量のアプリケーションを含んでもよい。再度上記の例を使用すると、スタブ・コンテナは、INTERNET EXPLORER内で実行する場合にSILVERKIGHTのACTIVEXコンテンツ・ハンドラが受信することになるのと同じ通信を、SILVERKIGHTのACTIVEXコンテンツ・ハンドラに提供することになる。これはたとえこのスタブ・コンテナが、ウェブページを復号化する機能(したがって、「軽量」アプリケーションとしてのスタブ・コンテナの指定)など、INTERNET EXPLORERの機能のほとんどを実装しなくても言える。
サーバから分離されたメディア・サーバ・コンピューティング装置にメディアが記憶される実施形態では、このメディアを、サーバを迂回してクライアントに直接送出することができる。
一実施形態では、メディア・サーバに記憶されたメディアをサーバが検索し、復号化するためにそれをクライアントに送る。サーバは、コンテンツ・ハンドラがそうするように、サーバと通信できるプロキシ・コンテンツ・ハンドラを使用してこれを実行し、次いで、受け取るメディア・データをクライアントに伝送することができる。
本開示は、システム、方法、およびこれらの内容を実装するためのコンピュータ可読記憶メディアを含む。
本明細書に記載の主要な実施形態では、コンピューティング装置の1つまたは複数のプロセッサによって実行されるコンピュータ実行可能命令を検討する。しかし、これらの技法は、もっぱら、フィールド・プログラマブル・ゲート・アレイ(FPGA)またはそれらの何らかの組合せを適切にプログラミングすることなどにより、ハードウェアの観点から実装することができることが理解されよう。本開示の1つまたは複数の様々な態様は、それだけには限らないが、本明細書において言及された本開示の態様を実行するための回路および/またはプログラミングを含むことができ、この回路および/またはプログラミングは、事実上、システム設計者の設計選択に応じて本明細書において言及された態様を実行するように構成された、ハードウェア、ソフトウェア、および/またはファームウェアの任意の組合せとすることができることが当業者には理解されよう。
前述した内容は概要であり、したがって、単純化、一般化、および詳細の割愛が必然的に含まれる。この概要は例示的なものに過ぎず、決して限定するものではないことが当業者には理解されよう。
添付図面を参照しながら、プラグ着脱可能なコンテンツ操作システムにおいて内容検索をオフローディングし、復号化するための、システム、方法、およびコンピュータ可読メディアをさらに説明する。
本明細書に記載の技法を具体化することができる、例示的な汎用コンピューティング環境を示す図である。 遠隔プレゼンテーション・セッションにおいてクライアントとサーバが通信し、サーバが、クライアント向けのメディア・サーバからメディアを検索するためのプロキシの働きをする例示的なシステムを示す図である。 図2で説明するように遠隔プレゼンテーション・セッションにおいてクライアントとサーバが通信し、クライアントが、遠隔プレゼンテーション・セッションにおいて表示されることになるメディアをメディア・サーバから検索する例示的なシステムを示す図である。 プラグ着脱可能なコンテンツ操作システムにおいて、コンテンツ検索のオフローディングおよび復号化が存在する遠隔プレゼンテーション・セッションに関与しているクライアント向けの、例示的な動作手順を示す図である。 プラグ着脱可能なコンテンツ操作システムにおいて、コンテンツ検索のオフローディングおよび復号化が存在する遠隔プレゼンテーション・セッションに関与しているサーバ向けの、例示的な動作手順を示す図である。 図2で参照されるように、メディアが表示される第1のブラウザ・ウィンドウ、および第2のブラウザ・ウィンドウを示す図である。 第2のブラウザ・ウィンドウが、第1のブラウザ・ウィンドウのメディアの一部分を隠蔽する、図6Aの第1および第2のブラウザ・ウィンドウを示す図である。
図1は、本明細書に記載の技法を利用することのできる汎用コンピューティング装置のブロック図である。コンピューティング・システム環境120は、適切なコンピューティング環境の一例に過ぎず、本明細書において開示する主題の使用または機能の範囲に関して、いかなる限定をも示唆するものではない。コンピューティング環境120は、この例示的な動作環境120に示した構成要素のうちの、任意の1つの構成要素もしくはそれらの組合せに関連するいかなる依存性または要求も有すると解釈すべきではない。実施形態によっては、図示した様々なコンピューティング構成要素には、本開示の具体的な態様を例示するように構成された回路が含まれ得る。たとえば、本開示で使用される回路という用語には、ファームウェアまたはスイッチによって(1つまたは複数の)機能を実行するように構成された専用のハードウェア構成部品を含むことができる。例示的な他の実施形態では、回路という用語には、(1つまたは複数の)機能を実行するよう動作可能に論理を具体化するソフトウェア命令によって構成された、汎用の処理ユニット、メモリなどが含まれ得る。回路がハードウェアとソフトウェアの組合せを含む例示的な実施形態では、実装者は、論理を具体化するソース・コードを書くことができ、このソース・コードは、汎用の処理ユニットが処理できる機械可読コードにコンパイルすることができる。最新技術により、ハードウェア、ソフトウェア、またはハードウェア/ソフトウェアの組合せの間にはわずかな差しかないことを当業者なら理解できるので、特定の機能を実行するためのハードウェア対ソフトウェアの選択は、実装者に委ねられた設計選択である。より具体的には、ソフトウェア処理は、等価のハードウェア構造体に変換でき、ハードウェア構造体は、それ自体等価のソフトウェア処理に変換できることが当業者なら理解できる。したがって、ハードウェア実装とソフトウェア実装の選択は、実装者に委ねられた設計選択の1つである。
コンピュータ141は、通常、様々なコンピュータ可読メディアを含む。コンピュータ可読メディアは、コンピュータ141がアクセスできる任意の利用可能なメディアとすることができ、揮発性メディアと不揮発性メディア、取外し可能メディアと取外し不可能のメディアの両方を含む。システム・メモリ122には、読取り専用メモリ(ROM)123およびランダム・アクセス・メモリ(RAM)160など、揮発性および/または不揮発性のメモリの形態のコンピュータ可読記憶メディアが含まれる。起動中などにコンピュータ141内の各要素間で情報転送を助ける基本的なルーチンを含む基本入出力システム124(BIOS)は、通常ROM123に記憶される。RAM160は、通常、処理ユニット159からただちにアクセス可能であり、かつ/または処理ユニット159によって現在操作されているデータおよび/またはプログラム・モジュールを含む。限定ではなく一例として、図1には、オペレーティング・システム125、アプリケーション・プログラム126、他のプログラム・モジュール127、およびプログラム・データ128が示してある。
またコンピュータ141には、他の取外し可能/取外し不可能、揮発性/不揮発性のコンピュータ記憶メディアが含まれ得る。ほんの一例として、図1には、取外し不可能で不揮発性の磁気メディアとの間で読み書きを行うハード・ディスク・ドライブ138、取外し可能で不揮発性の磁気ディスク154との間で読み書きを行う磁気ディスク・ドライブ139、および、CD ROMまたは他の光メディアなどの取外し可能で不揮発性の光ディスク153との間で読み書きを行う光ディスク・ドライブ140が示してある。例示的な動作環境で使用することができる、他の取外し可能/取外し不可能な、揮発性/不揮発性のコンピュータ記憶メディアには、磁気テープ・カセット、フラッシュ・メモリ・カード、デジタル多用途ディスク、デジタル・ビデオ・テープ、固体RAM、固体ROMなどが含まれるが、これらに限定されない。ハード・ディスク・ドライブ138は、通常、インターフェース134などの取外し不可能なメモリ・インターフェースを介してシステム・バス121に接続されており、磁気ディスク・ドライブ139および光ディスク・ドライブ140は、通常、インターフェース135などの取外し可能なメモリ・インターフェースによってシステム・バス121に接続されている。
上記で図1に示したドライブおよびその関連するコンピュータ記憶メディアは、コンピュータ141向けの、コンピュータ可読命令、データ構造、プログラム・モジュール、および他のデータを記憶する。図1には、たとえば、ハード・ディスク・ドライブ138が、オペレーティング・システム158、アプリケーション・プログラム157、他のプログラム・モジュール156、およびプログラム・データ155を記憶するものとして示してある。これらの構成部品は、オペレーティング・システム125、アプリケーション・プログラム126、他のプログラム・モジュール127、およびプログラム・データ128と同じであってもよく、また異なっていてもよいことに留意されたい。オペレーティング・システム158、アプリケーション・プログラム157、他のプログラム・モジュール156、およびプログラム・データ155は、少なくとも異なるコピーであることを示すために、ここでは異なる数が付与されている。ユーザは、キーボード151や、マウス、トラックボールまたはタッチ・パッドと通常呼ばれているポインティング装置152などの入力装置を用いて、コンピュータ141にコマンドおよび情報を入力することができる。他の入力装置(図示せず)には、マイクロホン、ジョイスティック、ゲーム・パッド、衛星用パラボラ・アンテナ、スキャナまたは同様のものが含まれる。上記その他の入力装置は、システム・バスに結合されたユーザ入力インターフェース160を介して、処理ユニット159にしばしば接続されているが、パラレル・ポートまたはユニバーサル・シリアル・バス(USB)など、他のインターフェースおよびバス構造によって接続可能である。ビデオ・インターフェース132などのインターフェースを介して、モニタ142または他のタイプの表示装置もシステム・バス121に接続される。モニタに加えて、コンピュータにはまた、出力周辺インターフェース133を介して接続することができるスピーカ144やプリンタ143など、他の周辺インターフェース出力装置が含まれ得る。
コンピュータ141は、リモート・コンピュータ146など1つまたは複数のコンピュータへの論理的な接続を使用するネットワーク化された環境で動作することができる。遠隔コンピュータ146は、パーソナル・コンピュータ、サーバ、ルータ、ネットワークPC、ピア装置(peer device)、または他の共通ネットワーク・ノードでもよく、通常、コンピュータ141に関連して前述した各要素のうちの多くまたは全てを含むが、図1にはメモリ記憶装置147のみが示してある。図1に示した論理接続は、ローカル・エリア・ネットワーク(LAN)145および広域ネットワーク(WAN)149を含むが、他のネットワークを含むこともできる。このようなネットワーキング環境は、オフィス、企業規模のコンピュータ・ネットワーク、イントラネット、およびインターネットではありふれたことである。
LANネットワーキング環境で使用するとき、コンピュータ141は、ネットワーク・インターフェースまたはアダプタ137を介してLAN145に接続される。WANネットワーキング環境で使用するとき、コンピュータ141は、通常、モデム150、またはインターネットなどWAN149上で通信を確立するための他の手段を備える。モデム150は、内部モデムでも外部モデムでもよく、ユーザ入力インターフェース136または他の適切な機構を介して、システム・バス121に接続することができる。ネットワーク化された環境では、コンピュータ141に関連して示したプログラム・モジュールまたはその各部分を、遠隔メモリ記憶装置に記憶することができる。限定ではなく一例として、図1には、遠隔アプリケーション・プログラム148がメモリ装置147上にある様子が示してある。図示したネットワーク接続は例示的なものであり、コンピュータ間の通信リンクを確立する他の手段を使用することができることが理解されよう。
図2は、遠隔プレゼンテーション・セッションにおいてクライアント204とサーバ202が通信し、サーバ202が、クライアント204向けにメディア・サーバ208からメディアを検索するためのプロキシの働きをする例示的なシステムを示す。
本構成要素、および本明細書において検討する他のシステムの各構成要素は論理的に構成されており、これらの構成要素は、一実施形態内に様々な順序で組み合わせることができ、全ての実施形態に全ての構成要素が存在するわけではないことが理解されよう。
一実施形態では、通信ネットワーク206にわたる遠隔プレゼンテーション・セッションにおいて、サーバ202とクライアント204が通信する。サーバ202とクライアント204は、通信リンク226を介して通信する。サーバ202とメディア・サーバ208は、通信リンク228を介して通信する。クライアント204とメディア・サーバ208が通信する場合、通信リンク226および通信リンク228を介してサーバ202を通して行われる。一実施形態では、サーバ202、クライアント204、およびメディア・サーバ208のそれぞれを、図1のコンピューティング装置において実装することができる。遠隔プレゼンテーション・セッション中には、サーバ202上で実行される1つまたは複数のアプリケーションのグラフィカル出力に対応する複数のフレームを、サーバ202がクライアント204に送出する。これらのフレームを送出している間、サーバ202は、通常、サーバ202がクライアント204に送出するイメージ・データとともに、復号化されたメディアのグラフィカル出力を含むフレームを送出しなければならないことがある(この場合、サーバ202は、固有に符号化されたメディアをメディア・サーバ208からフェッチし、復号化およびレンダリングするためにそれをクライアント204に送出している)。たとえば、これは、ビデオが再生されるウェブページを表示するウェブ・ブラウザを含むことができる。
概要で論じた例にあるように、ウェブ・ブラウザはINTERNET EXPLORERとすることができ、メディアは、SILVERLIGHTのACTIVEXのコンテンツ・ハンドラ212を使用してブラウザで再生されるWMVフォーマットのビデオである。他の実施形態では、メディアは、FLASHのコンテンツ・ハンドラ212を使用して再生されるFLASHフォーマットである。
本実施形態では、クライアント204は、遠隔プレゼンテーション・セッション・クライアント210、コンテンツ・ハンドラ212、コンテンツ・ハンドラ212用のスタブ・コンテナ214、およびジオメトリック・トラッカ(geometric tracker)・クライアント216を含む。
本明細書でのスタブ・コンテナ214は、回路、コンピュータ実行可能命令などを指し、コンテンツ・ハンドラ212に関連するアプリケーション222に類似している。コンテンツ・ハンドラ212は、通常、単独で実行されることはないが、関連するアプリケーション222との間で送受信されるコマンドに対して実行される。クライアント204がサーバ202と遠隔プレゼンテーション・セッションにある場合、その関連するアプリケーション222は、サーバ202上で実行され、そのアプリケーション222のグラフィカル出力がクライアント204に送出されることになる。クライアント204が、アプリケーション222のコピーを記憶または実行して、遠隔プレゼンテーション・セッションを通してそれを使用する必要はない。クライアント204は、アプリケーション222を有する場合でも、アプリケーション222の完全なコピーを実行して、コンテンツ・ハンドラ212を使用し、コンピューティング資源の関連するコストを含む必要はない。クライアント204は、スタブ・コンテナ214のみを実行することができ、次いで、遠隔プレゼンテーション・セッション内で必要になるように、コンテンツ・ハンドラ212とインターフェースする。スタブ・コンテナ214を実行してコンテンツ・ハンドラ212とインターフェースするには、通常、それを実行するために対応する完全なアプリケーション222を実行する場合よりもコンピューティング資源が少なくて済む(アプリケーション222などのアプリケーションを、ローカルではなく遠隔プレゼンテーション・セッションで遠隔に実行することができる他の理由がいくつかある)。たとえば、サーバ202上にアプリケーション222の単一のコピーを有することは、複数のクライアント204上にアプリケーションの別々のコピーを有する場合よりも、更新および維持するのが容易になることがある。
本実施形態では、サーバ202は、遠隔プレゼンテーション・セッション・サーバ218、プロキシ・コンテンツ・ハンドラ220およびアプリケーション222、ならびにジオメトリック・トラッカ224を備える。アプリケーション222は、クライアント204上のスタブ・コンテナ214に対応する。たとえば、アプリケーション222がINTERNET EXPLORERアプリケーションである場合、スタブ・コンテナ214はINTERNET EXPLORER用のスタブ・コンテナ214である。
サーバ202およびクライアント204は通信し、メディアの検索またはプレゼンテーションのいずれかをクライアント204が扱うのかどうかを決定し、扱う場合にはどの程度の量を扱うのかを決定することができる。この通信には、クライアント204が、メディアのローカル検索および復号化を実行することが可能かどうかを含むことができる。このような通信は、クライアント204でのコンテンツ・ハンドラ212の可用性、ネットワークの状態、クライアント204の計算資源、および、管理者またはユーザのプリファレンスを含むことができる。この通信は、たとえば、遠隔プレゼンテーション・セッションが初期化されるとき、または特定のコンテンツ・ハンドラ212が、この遠隔プレゼンテーション・セッション内で最初に必要になるときに生じることがある。この通信はまた、サーバが適切なプロキシ・コンテンツ・ハンドラを有するかどうかなど、サーバ202の機能を含むことができる。
この通信がいつ発生するかは、システムの個別事項に基づいて最適化することができる。一実施形態では、通信は、遠隔プレゼンテーション・セッションが初期化されるときに発生するよう選択することができるが、その理由は、これにより、プレゼンテーション向けにメディアが選択されるとき、後に遅延が低減される可能性があるからである。通信が発生している間、遠隔プレゼンテーション・セッションの中間における一時停止よりもセッション初期化期間が長くなることを、ユーザは煩わしいと思わないことがある。一実施形態では、通信は、特定のコンテンツ・ハンドラ212が、この遠隔プレゼンテーション・セッション内で最初に必要になるときに発生するよう選択することができる。このセッションでコンテンツ・ハンドラ212が使用される可能性が低い場合はこれが好ましいことがあり、その結果、通信に必要となる処理資源は、必要な場合にのみ使用しなければならない。
たとえば、メディアを復号化するための適切なコンテンツ・ハンドラ212をクライアント204が欠いている場合、サーバ202は、そのイメージ出力をクライアント204に送出する前に、メディアを検索し、復号化することができる。これは、コンテンツ・オフロードなしの遠隔プレゼンテーション・セッションを含む。
さらに、クライアント204は、メディアを復号化するとともに、メディア・サーバ208からそのメディアにアクセスする機能を有することを確定することができる。この場合、クライアント204は、サーバ202からの介入なしにメディア・サーバ208からメディアを受信し、このメディアを復号化することができる。図3を参照して、この実施形態をより詳細に論じる。
さらに、クライアント204は、メディアを復号化する機能を有するが、メディアが記憶されるメディア・サーバ208からメディアに直接アクセスする機能を有することはなく、サーバ202はメディア・サーバ208からメディアにアクセスできることを確定することができる。たとえば、クライアント204がアクセス権を有しないイントラネット通信ネットワーク上でメディア・サーバ208およびサーバ202が接続されているときに、これが発生する。これは、図2の実施形態に関して詳細に論じられた実施形態である。
サーバ202とクライアント204の両方がメディアを復号化することができる実施形態では、両者は、各コンピューティング装置の利用可能な処理資源などに基づいて、どちらがメディアを復号化するのかに関して取り決めることができる。
クライアント204がメディアを復号化することが、この通信を介して決定される場合、プロキシ・コンテンツ・ハンドラ220は、クライアント204上のスタブ・コンテナ214に初期化パラメータを送出する。このような初期化パラメータは、メディア・サーバ208のアドレス、サーバ202上のコンテンツ出力の視覚位置、およびセキュリティ設定のようなものを含むことができる。このようなパラメータにはまた、メディアを復号化しなければならない際の容量など、メディア・サーバ208からのパラメータが含まれる。スタブ・コンテナ214は、初期化パラメータを使用して、プロキシ・コンテンツ・ハンドラ220がサーバ202上で初期化されるのと同様に、コンテンツ・ハンドラ212を呼び出す。この点から、コンテンツ・ハンドラ212は、メディア・サーバ208からメディアを検索し、クライアント204に対してローカルにそれを復号化することができる。サーバ202にコンテンツ検索が要求される場合、プロキシ・コンテンツ・ハンドラ220は、メディア・サーバ208からデータを検索し、それをスタブ・コンテナ214にトンネリングし、スタブ・コンテナ214は、復号化するためにコンテンツ・ハンドラ212にデータを送る。
サーバ202は、メディアのプレゼンテーションをクライアント204にオフロードする場合、コンテンツ・ハンドラ212用のプロキシを動作させ、このプロキシは、コンテンツ・ハンドラ212がメディア・サーバ208と通信するのと同じ方法でメディア・サーバ208と通信するように構成される。たとえば、プロキシ・コンテンツ・ハンドラ220は、サーバ202と登録の取り決めを行うように構成されており、これにより、サーバ202上で実行されている含有アプリケーション222においてコンテンツ・ハンドラ212の代わりに、プロキシ・コンテンツ・ハンドラ220がロードされることになる。プロキシ・コンテンツ・ハンドラ220はまた、コンテンツ・ハンドラ212の入力コマンドの取り決めを行うように構成可能であり、これにより、プロキシ・コンテンツ・ハンドラ220は、(コンテンツ・ハンドラ220は、サーバ202上のプロキシ・コンテンツ・ハンドラ212の代わりになる場合にそれらを受信したはずなので)様々なコマンドおよびコールをアプリケーション222から受信することができる。プロキシ・コンテンツ・ハンドラ220はさらに、通知または出力のコマンドを取り決めるよう構成することができ、これにより、含有アプリケーション222が、コンテンツ・ハンドラ212から受信したのと同じ方法で、プロキシ・コンテンツ・ハンドラ220から通知を受信する。
遠隔プレゼンテーション・セッションの過程で、クライアント204により、コンテンツ・ハンドラ212がアプリケーション222と連動して実行される事象にサーバ202が直面することがある。たとえば、クライアント204は、サーバ202がウェブ・ブラウザ内でウェブ・サイトを開くように命令することができ、このウェブ・サイトは、ビデオなどのメディアを含んでおり、これはコンテンツ・ハンドラ212を介して提示される。アプリケーション222は、サーバ202上で実行される。アプリケーション222は、メディアに遭遇すると、コンテンツ・ハンドラ212をローディングすることとと一致する動作を実行する。しかしながら、クライアント204上のコンテンツ・ハンドラ212がメディアを復号化するとサーバ202およびクライアント204が判定した場合、アプリケーション222は代わりにプロキシ・コンテンツ・ハンドラ220をローディングすることになる。
アプリケーション222は、メディア・サーバ208と対話してメディアを検索する。アプリケーション222は、メディア・サーバ208から受信したメディアおよび命令をプロキシ・コンテンツ・ハンドラ220に送り、プロキシ・コンテンツ・ハンドラ220は、それをクライアント204上のコンテンツ・ハンドラ212に送る。たとえば、これを、プロキシ・コンテンツ・ハンドラ220がそれらを遠隔プレゼンテーション・セッション・サーバ218に送り、この遠隔プレゼンテーション・セッション・サーバがそれらを遠隔プレゼンテーション・セッション・クライアント210に送り、この遠隔プレゼンテーション・セッション・クライアントがそれらをスタブ・コンテナ214に送り、このスタブ・コンテナがそれらをコンテンツ・ハンドラ212に送ることによって、実行することができる。
コンテンツ・ハンドラ212は、メディアがどのような状態におかれるのかについての機能を含むことができ、この機能を使用することは、メディア・サーバ208に送られることになる命令を含むこともできる。たとえば、MICROSOFT SILVERLIGHTのコンテンツ・ハンドラ212は、新規のメディアを選択してMICROSOFT SILVERLIGHT内で提供されるリストから見ることなど、ナビゲーション機能を提供する機能を有し、このナビゲーション機能は、対応するやり方でメディア内において実行される。サーバ202がコンテンツ・ハンドラ212用のプロキシの役割を果たす場合、これらのナビゲーション・ボタンの使用がサーバ202を介して送られる。たとえば、コンテンツ・ハンドラ212内から新規のメディアが選択される場合、この選択がスタブ・コンテナ214によって受信され、このスタブ・コンテナがそれを遠隔プレゼンテーション・セッション・クライアント210に送出し、この遠隔プレゼンテーション・セッション・クライアントがそれを遠隔プレゼンテーション・セッション・サーバ218に送出し、この遠隔プレゼンテーション・セッション・サーバがそれをメディア・サーバ208に送出し、ここで新規のメディアが終了する。同様に、メディア・サーバ208からコンテンツ・ハンドラ212への通信が、同様の方法で送られる。
コンテンツの符号化および/また検索のプロセス中、プロキシ・コンテンツ・ハンドラ220は、入力コマンドをアプリケーション222からスタブ・コンテナ214に転送し、このスタブ・コンテナが、それらをコンテンツ・ハンドラ212に送出する。コンテンツ・ハンドラ212からの任意の通知または出力のコマンドが、クライアント204上のスタブ・コンテナ214に送られ、このスタブ・コンテナが、これをサーバ202上のプロキシ・コンテンツ・ハンドラ220に送る。プロキシ・コンテンツ・ハンドラ220は、これらの通知または出力のコマンドを複製し、それらをアプリケーション222に提供する。
プロキシ・コンテンツ・ハンドラ220の表示要素は、スタブ・コンテナ214(したがってコンテンツ・ハンドラ212)と同期され、その結果、クライアント204上の復号化されたフレームは、フレーム全体がサーバ202上で復号化され、表示のためにクライアント204に送出される場合と同じイメージを表す。
アプリケーション222がコンテンツ復号化を終了すると、プロキシ・コンテンツ・ハンドラ220がアンロードされる。アンロードの前に、プロキシ・コンテナがクライアント204にコマンドを送出して、スタブ・コンテナ214およびコンテンツ・ハンドラ212をアンロードする。
遠隔プレゼンテーション・セッション中、復号化されたメディアを隠蔽することができ、ジオメトリック・トラッキングを介してこれをモニタすることもできる。ジオメトリック・トラッキングは、サーバ202およびクライアント204が、クライアント204上でメディアが表示されることになるウィンドウの形状を相互に理解する際のプロセスと考えてもよい。たとえば、セッションが2つのウェブ・ブラウザのウィンドウを表示する場合、メディアを1つのウィンドウで復号化し、次いで第1のページの一部分または全部にわたって第2のウィンドウを移動することができる(これは図6Aおよび6Bに表現される)。ジオメトリック・トラッカ・サーバ224は、サーバ202上のウィンドウおよびメディアの表示および構成をモニタするよう動作する。ジオメトリック・トラッカ・サーバは、メディアが隠蔽されていることを検出すると、メディアの可視領域の形状を決定し、その可視領域がジオメトリック・トラッカ・クライアント216にとって何であるかの指示を転送する。
たとえば、メディアは、800×400画素の長方形を含むことができ、その長方形の右半分を隠蔽することができる。ジオメトリック・トラッカ・サーバ224は、これが発生したことを判定し、メディアの右端の400×400の画素領域を表示せず、左端の400×400の画素領域についてコンテナの形状のみを作成するという指示をジオメトリック・トラッカ・クライアント216に送出する。サーバ202上のウィンドウによって部分的に隠蔽することにより、メディアのコンテナ形状は長方形ではない、もしくはその形状タイプと異なることもある。
図3に、図2で説明するように遠隔プレゼンテーション・セッションにおいてクライアント240とサーバ202が通信し、クライアント204が、遠隔プレゼンテーション・セッションにおいて表示されるメディアをメディア・サーバから検索する例示的なシステムを示す。
図2に関して述べた通り、クライアント204およびサーバ202が遠隔プレゼンテーション・セッションを実行する場合、クライアント204は、サーバ202がアプリケーション222および関連するコンテンツ・ハンドラ212を実行し、表示するためにその実行のグラフィカル出力をクライアント204に送出することを要求することができる。サーバ202およびクライアント204は、図2と同様に通信リンク226を介して通信し、サーバ202およびメディア・サーバ208は、図2と同様に通信リンク228を介して通信する。しかし、図2と対照的に、クライアント204およびメディア・サーバ208は、サーバ230とは独立に、通信リンク230を介して通信するように構成されている。クライアント204およびメディア・サーバ208が通信リンク230を介して通信するように構成されている一実施形態では、両者はまた、サーバ202で、通信リンク226および通信リンク228を介して通信することができる。
図2で説明するクライアント204とサーバ202の間のネゴシエーションのプロセスでは、クライアント204が、サーバ202から介入されることなく、メディア・サーバ208からメディアにアクセスできると判定することができる。たとえば、クライアント204がメディア・サーバ208にpingを打ち、応答を受信することにより、または、メディア・サーバ208からメディアの一部分をクライアント204が首尾よくダウンロードすることによって、これを判定することができる。
この実施形態では、サーバ202は、メディア・サーバ208からのメディアを検索することも、また(復号化されているか、されていないかのいずれかの)メディアをクライアント204に送出することもない。これにより、遠隔プレゼンテーション・セッションにおいてサーバ202がクライアント204に送るはずのフレーム内にホールが残る。このホールは、復号化およびレンダリングされたメディアで占められている。
一実施形態では、サーバ202は、メディアが表示される位置に対応するフレームの一部分をクライアント204に送出しないことを、クライアント204に通知する。一実施形態では、サーバ202は、メディアによって占められることになるフレームの領域をイメージ(次いでこれは、復号化およびレンダリングされたメディアがその上部にオーバレイされるとき、クライアント204上で隠蔽される)で満たす。一実施形態では、サーバ202は、単色(たとえば白)など何らかの高度および/または容易に圧縮可能なもので領域を満たす。これを圧縮可能にする際、サーバ202は、それを圧縮するのに必要なそれ自体の処理資源、ならびにそれをクライアント204に送出するのに必要とされる帯域幅を低減させることができる。
クライアント204は、メディアとフレームの両方を受信する場合、遠隔プレゼンテーション・セッションを介して要求されるように、この2つを組み合わせてイメージを作成する。一実施形態では、サーバ202は、メディアが表示される場所のフレーム内の位置をクライアント204に指示し、クライアント204がイメージをそこに表示する。たとえば、遠隔プレゼンテーション・セッションがアプリケーション222のウィンドウをクライアント204上に含む場合、サーバ202は、ウィンドウ内の位置(たとえば、ウィンドウの左上隅から右および/または下への画素の数)を指示することができる。このようにして、アプリケーション222のウィンドウが移動するとき、メディアを表示する位置は変化しない。
図4に、プラグ着脱可能なコンテンツ操作システムにおいてコンテンツ検索のオフローディングおよび復号化が存在する遠隔プレゼンテーション・セッションに関与しているクライアント204向けの、例示的な動作手順を示す。
動作402は、通信ネットワークにわたって遠隔プレゼンテーション・セッションにおいてサーバ202と通信するステップを示している。
動作404は、サーバ202にフレームの遠隔表示を要求するステップを示しており、このフレームは、コンテンツ・ハンドラ212によって復号化することができるサーバ202からのメディアを含み、コンテンツ・ハンドラ212は、スタブ・コンテナ214と対話し、スタブ・コンテナ214は、コンテンツ・ハンドラ212に関連するアプリケーション222に対応する。
動作406は、フレームに対応するイメージをサーバ202から受信するステップを示している。
動作408は、サーバ202を用いて、メディアについてのデータ・オフローディングのレベルを判定するステップを示している。一実施形態では、データ・オフローディングのレベルは、メディアのオフローディング・アクセス、およびメディアのオフローディング・プレゼンテーションを含む。
動作410は、メディアを受信するステップを示す。一実施形態では、メディアの受信は、第2のサーバ208からメディアを受信するステップを含み、このメディアは、第2のサーバ202によって送信されることなく第2のサーバ202から受信される。一実施形態では、これは、第2のサーバ208からどのようにメディアを受信するかの指示をサーバ202から受信するステップを含む。
一実施形態では、メディアを受信するステップは、サーバ202からメディアを受信するステップを含み、このサーバ202は、第2のサーバ208からメディアを受信している。一実施形態では、この動作手順がクライアント204によって実行される場合、サーバ202は、第2のサーバ208からメディアを受信するように構成されるが、クライアント204は、第2のサーバ208からメディアを受信するように構成されない。
動作412は、スタブ・コンテナ214により、コンテンツ・ハンドラ212がメディアを復号化するよう命令するステップを示す。
動作414は、コンテンツ・ハンドラ212により、メディアに対応する第2のイメージを復号化するステップを示す。
動作416は、イメージにオーバレイされた第2のイメージを含む第3のイメージを表示するステップを示し、この第3のイメージはフレームを表す。第3のイメージは、その囲んでいるウェブ・ブラウザのウィンドウの上部にオーバレイされた、SILVERLIGHTビデオなどの構成されたフレームとすることができる。
一実施形態では、図4の動作を実行するクライアントは、クライアント表示上に遠隔プレゼンテーション・セッション用の親ウィンドウを作成することにより、これを実現することができる(次いでこれらのフレームが表示スクリーンにフレッシュされてグラフィカル出力を生成する、メモリ内のフレーム・バッファ内などで)。クライアントは、サーバから受信したフレームを表示することができ(たとえば、ウェブ・ブラウザ・ウィンドウ)、親ウィンドウ内の子ウィンドウ(親ウィンドウの一部分)をコンテンツ・ハンドラに委ね、次いでコンテンツ・ハンドラが、第2のイメージ(たとえば、ウェブページに埋め込まれたビデオ)用のレンダリング動作を実行する。したがって、イメージがリフレッシュされているときにクライアントがイメージを親ウィンドウにレンダリングしている間、コンテンツ・ハンドラは、第2のイメージを子ウィンドウにレンダリングすることができる。このようにして、イメージおよび第2のイメージのフレーム・レートは、互いに無関係である。この実施形態では、結果として生じる第3のイメージは、内部に含まれる子ウィンドウを含めて完全な親ウィンドウである。
別のウェブ・ブラウザのウィンドウで部分的に覆われる場合などに、ビデオ・イメージの一部分が隠蔽されることがある。一実施形態では、動作416は、第2のイメージの一部分がイメージによって隠蔽されるという指示を受信するステップと、イメージにオーバレイされた第2のイメージを含む第3のイメージを表示するステップとを含み、イメージにオーバレイされたイメージによって隠蔽されていない第2のイメージの一部分のみを表示するステップをさらに含む。
一実施形態では、これは、第2のイメージを表示する位置の指示を受信するステップを含み、第2のイメージを表示するステップが、この位置に第2のイメージを表示するステップを含む。
図5は、プラグ着脱可能なコンテンツ操作システムにおいてコンテンツ検索のオフローディングおよび復号化が存在する遠隔プレゼンテーション・セッションに関与しているサーバ202向けの、例示的な動作手順を説明する。
動作502は、遠隔プレゼンテーション・セッションにおいて、通信ネットワークを介してクライアント204と通信するステップを示す。
動作504は、コンテンツ・ハンドラ212に対応するメディアを含むイメージをクライアント204に送出する要求を受信するステップを示す。一実施形態では、このイメージはアプリケーション出力のフレームである。たとえば、イメージは、ブラウザのウィンドウ内に表示される埋込みビデオ(メディア)を含むウェブ・ブラウザのウィンドウとすることができる。
動作506は、クライアント204がコンテンツ・ハンドラ212でメディアを復号化できると判定するステップを示す。
動作508は、メディア・サーバ208からメディアを検索するステップを示す。
動作510は、クライアント204を用いて、メディアについてのデータ・オフローディングのレベルを判定するステップを示す。一実施形態では、データ・オフローディングのレベルは、メディアの検索またはメディアの復号化に対応する。
動作512は、クライアント204にメディアを送出するステップを示す。一実施形態では、これは、メディア・サーバ208上のメディアの位置の指示をクライアント204に送出するステップを含む。
動作514は、メディアに対応するイメージの一部分を判定するステップと、メディアに対応するイメージの一部分を第3のイメージで置換するステップを示す。たとえば、イメージが、フレームとしてクライアント204に送出すべきウェブ・ブラウザのウィンドウを含む場合、イメージに「ホール」が存在することになり、通常メディアは欠落することになるが、実際に欠落しており、それというのも、メディアは、クライアント204に別々に送出されることになるからである。
動作516は、クライアント204にイメージを送出するステップを示しており、クライアント204は、イメージを第2のイメージでオーバレイし、第2のイメージは、クライアント204がメディアをコンテンツ・ハンドラ212で復号化することにって作成される。
動作518は、イメージをどこで復号化するかの指示をクライアント204に送出するステップを示す。
動作520は、メディアが復号化される位置が部分的に隠蔽されていると判定するステップと、メディアが復号化される位置が部分的に隠蔽されているという指示をクライアント204に送出するステップとを示す。
動作522は、クライアント204のコンテンツ・ハンドラ212からのメディアをナビゲートする要求を受信するステップと、メディアをナビゲートするための要求を、メディアを記憶するメディア・サーバ208に伝送するステップと、メディア・サーバ208からの応答を受信するステップと、この応答をコンテンツ・ハンドラ212に伝送するステップとを示す。
図6Aは、図2で言及するように、メディア604が表示される第1のブラウザ・ウィンドウ602、および第2のブラウザ・ウィンドウ606を示す。
図6Bは、第2のブラウザ・ウィンドウ606が、第1のブラウザ・ウィンドウの602に表示されるメディア604の一部分を覆い隠す、図6Aの第1のブラウザ・ウィンドウ602および第2のブラウザ・ウィンドウ606を示す。
様々な図に示したように、好ましい態様に関して本開示を説明してきたが、本開示から逸脱することなく本開示の同じ機能を実行するために、他の同様な態様を使用することができ、また説明した態様に修正および追加を実施することができることが理解される。したがって、本開示は、いかなる単一の態様にも限定すべきでなく、むしろ添付特許請求の範囲の幅および範囲内で解釈すべきである。たとえば、本明細書に記載の様々な手順は、ハードウェアもしくはソフトウェア、または両方の組合せで実施することができる。したがって、開示された実施形態の各方法および装置、またはそれらの何らかの態様もしくは部分は、磁気ディスク、CD−ROM、ハード・ドライブ、または他の任意の機械可読記憶媒体など、有体の媒体で実施されるプログラム・コード(すなわち命令)の形をとることができる。プログラム・コードが、コンピュータなどの機械にロードされ実行されるとき、この機械は、開示された実施形態を実施するように構成された装置になる。本明細書において明瞭に説明した具体的な実装形態とともに、本明細書において開示された仕様を考慮することにより、他の態様および実装形態が当業者には明らかになろう。仕様および例示された実装形態は、ほんの例として考えるべきものである。

Claims (15)

  1. 遠隔プレゼンテーション・セッションにより通信ネットワークを介してサーバと通信するステップであって、前記サーバは表示用のフレームを送出し、前記フレームはコンテンツ・ハンドラによって復号化することができる、サーバからのメディアを含み、前記コンテンツ・ハンドラはスタブ・コンテナと対話し、前記スタブ・コンテナは前記コンテンツ・ハンドラに関連するアプリケーションに対応するステップと、
    前記メディアを受信するステップと、
    前記スタブ・コンテナが、前記コンテンツ・ハンドラに、前記メディアを復号化するように命令するステップと、
    前記コンテンツ・ハンドラが、前記メディアに対応するイメージを、復号化するステップと、
    前記イメージを表示するステップと
    を含むことを特徴とする方法。
  2. 第2のイメージを前記サーバから受信するステップをさらに含み、
    前記イメージを表示するステップは、前記イメージ上にオーバレイされた前記第2のイメージを含む第3のイメージを表示するステップを含み、前記第3のイメージは前記フレームを表すことを特徴とする請求項1に記載の方法。
  3. 前記サーバは、プロキシ・コンテンツ・ハンドラおよび第2のアプリケーションを備え、前記プロキシ・コンテンツ・ハンドラは前記サーバのコンテンツ・ハンドラに対応し、前記プロキシ・コンテンツ・ハンドラは前記コンテンツ・ハンドラに対応し、前記第2のアプリケーションは前記アプリケーションに対応することを特徴とする請求項1に記載の方法。
  4. 前記メディアを受信するステップは、前記メディアを第2のサーバから受信するステップを含み、前記メディアは、前記サーバが送信することなく前記第2のサーバから受信されることを特徴とする請求項1に記載の方法。
  5. 前記第2のサーバからどのようにメディアを受信するかの指示を前記サーバから受信するステップをさらに含むことを特徴とする請求項4に記載の方法。
  6. 前記メディアを受信するステップは、前記メディアを前記サーバから受信するステップを含み、前記サーバは、前記メディアを第2のサーバから受信していることを特徴とする請求項1に記載の方法。
  7. 前記サーバは、前記メディアを前記第2のサーバから受信するように構成されるが、クライアントは前記メディアを前記第2のサーバから受信するように構成されない、クライアントによって実行されることを特徴とする請求項6に記載の方法。
  8. 前記サーバが、前記メディア用のデータ・オフローディングのレベルを判定するステップであって、データ・オフローディングの前記レベルは、前記メディアのオフローディング・アクセスまたは前記メディアのオフローディング・プレゼンテーションを含む、判定するステップをさらに含むことを特徴とする請求項1に記載の方法。
  9. 前記第2のイメージの一部を、前記イメージによって隠蔽するという指示を受信するステップと、
    前記イメージ上にオーバレイされた前記第2のイメージを含む第3のイメージを表示するステップと
    前記イメージ上にオーバレイされた前記イメージによって隠蔽されていない前記第2のイメージの一部のみを表示するステップをさらに含む、請求項1に記載の方法。
  10. 前記第2のイメージを表示する位置の指示を受信するステップをさらに含み、前記第2のイメージを表示することは、前記位置に前記第2のイメージを表示することを含むことを特徴とする請求項1に記載の方法。
  11. 遠隔プレゼンテーション・セッションにより通信ネットワークを介してクライアントと通信する回路と、
    メディアおよびサブ・イメージを含むイメージを前記クライアントに送出することを決定する回路と、
    前記クライアントがコンテンツ・ハンドラを用いて前記メディアを復号化できることを決定する回路と、
    前記クライアントに前記メディアを送出する回路と、
    前記クライアントに前記サブ・イメージを送出する回路であって、前記クライアントは第2のイメージを用いてオーバレイされた前記サブ・イメージを含む前記イメージの表現を表示し、前記クライアントにより作成された前記第2のイメージは、前記コンテンツ・ハンドラを用いて前記メディアを復号化する、前記サブ・イメージを創出する回路と
    を備えたことを特徴とするシステム。
  12. 前記クライアントからの通信を受信する回路であって、前記通信は前記メディアを記憶するメディア・サーバに送られる、受信する回路と、
    前記通信を前記メディアを記憶するメディア・サーバに送信する回路と、
    前記メディア・サーバからの応答を受信する回路と、
    前記応答を前記クライアントに送信する回路と
    をさらに備えたことを特徴とする請求項11に記載のシステム。
  13. 前記通信は、前記メディアをナビゲートするための指示を含むことを特徴とする請求項11に記載のシステム。
  14. 前記メディアに対応する前記サブ・イメージの一部を判定する回路と、
    前記メディアに対応する前記サブ・イメージの一部を第3のイメージを用いて置換する回路と
    をさらに備えたことを特徴とする請求項11に記載のシステム。
  15. 前記第2のイメージをどこにオーバレイするかの指示を前記クライアントに送出する回路をさらに備えたことを特徴とする請求項11に記載のシステム。
JP2012544542A 2009-12-18 2010-11-18 遠隔プレゼンテーション・セッションにより通信を行うための方法及びシステム Expired - Fee Related JP5911808B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/642,581 2009-12-18
US12/642,581 US20110154214A1 (en) 2009-12-18 2009-12-18 Offloading Content Retrieval And Decoding In Pluggable Content-Handling Systems
PCT/US2010/057263 WO2011075269A2 (en) 2009-12-18 2010-11-18 Offloading content retrieval and decoding in pluggable content-handling systems

Publications (3)

Publication Number Publication Date
JP2013514586A true JP2013514586A (ja) 2013-04-25
JP2013514586A5 JP2013514586A5 (ja) 2013-12-12
JP5911808B2 JP5911808B2 (ja) 2016-04-27

Family

ID=44152925

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012544542A Expired - Fee Related JP5911808B2 (ja) 2009-12-18 2010-11-18 遠隔プレゼンテーション・セッションにより通信を行うための方法及びシステム

Country Status (5)

Country Link
US (1) US20110154214A1 (ja)
EP (1) EP2513807A4 (ja)
JP (1) JP5911808B2 (ja)
CN (1) CN102667750A (ja)
WO (1) WO2011075269A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2015136791A1 (ja) * 2014-03-11 2017-04-06 ソニー株式会社 情報処理装置、情報処理システムおよび情報処理方法

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI451268B (zh) * 2011-11-08 2014-09-01 Inst Information Industry 提供虛擬桌面之雲端系統、於虛擬桌面播放多媒體之方法以及其電腦可讀取記錄媒體
JP6873762B2 (ja) * 2017-03-15 2021-05-19 キヤノン株式会社 通信装置、通信システム、通信方法、および、プログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005057771A (ja) * 2003-08-04 2005-03-03 Samsung Electronics Co Ltd シンクライアント方式を改善したホームメディアゲートウェイのマルチメディアデータ処理装置及びその方法
JP2007311957A (ja) * 2006-05-17 2007-11-29 Hitachi Ltd シンクライアントシステム
US20090248802A1 (en) * 2008-04-01 2009-10-01 Microsoft Corporation Systems and Methods for Managing Multimedia Operations in Remote Sessions
US20090287772A1 (en) * 2008-05-19 2009-11-19 David Stone Systems and methods for remoting multimedia plugin calls

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6950991B2 (en) * 1995-11-13 2005-09-27 Citrix Systems, Inc. Interacting with software applications displayed in a web page
US6393497B1 (en) * 1998-03-20 2002-05-21 Sun Microsystems, Inc. Downloadable smart proxies for performing processing associated with a remote procedure call in a distributed system
AU2001236637A1 (en) * 2000-02-03 2001-08-14 Sony Electronics Inc. Web browser plug-in for tv
WO2002015004A2 (en) * 2000-08-14 2002-02-21 Transvirtual Technologies, Inc. Portable operating environment for information devices
US20020111995A1 (en) * 2001-02-14 2002-08-15 Mansour Peter M. Platform-independent distributed user interface system architecture
US20020129096A1 (en) * 2001-02-14 2002-09-12 Mansour Peter M. Platform-independent distributed user interface client architecture
US6990534B2 (en) * 2001-07-20 2006-01-24 Flowfinity Wireless, Inc. Method for a proactive browser system for implementing background frame maintenance and asynchronous frame submissions
US9061207B2 (en) * 2002-12-10 2015-06-23 Sony Computer Entertainment America Llc Temporary decoder apparatus and method
JP2006065857A (ja) * 2004-08-24 2006-03-09 Lg Electronics Inc 移動通信端末機のプログラム強制ダウンロード方法及び装置
US7590750B2 (en) * 2004-09-10 2009-09-15 Microsoft Corporation Systems and methods for multimedia remoting over terminal server connections
US8274518B2 (en) * 2004-12-30 2012-09-25 Microsoft Corporation Systems and methods for virtualizing graphics subsystems
US7392935B2 (en) * 2005-02-10 2008-07-01 Wells Fargo Bank, N.A. Method and apparatus for accepting check deposits via the internet using browser-based technology
US7657837B2 (en) * 2005-04-06 2010-02-02 Ericom Software Ltd. Seamless windows functionality to remote desktop sessions regarding z-order
US20060282855A1 (en) * 2005-05-05 2006-12-14 Digital Display Innovations, Llc Multiple remote display system
US7844442B2 (en) * 2005-08-16 2010-11-30 Exent Technologies, Ltd. System and method for providing a remote user interface for an application executing on a computing device
CN101300621B (zh) * 2005-09-13 2010-11-10 时空3D公司 用于提供三维图形用户界面的系统和方法
US8112513B2 (en) * 2005-11-30 2012-02-07 Microsoft Corporation Multi-user display proxy server
US20070174429A1 (en) * 2006-01-24 2007-07-26 Citrix Systems, Inc. Methods and servers for establishing a connection between a client system and a virtual machine hosting a requested computing environment
US20070260702A1 (en) * 2006-05-03 2007-11-08 University Of Washington Web browser architecture for virtual machine access
US7620899B2 (en) * 2006-06-30 2009-11-17 Microsoft Corporation Windows display synchronization
US8443398B2 (en) * 2006-11-01 2013-05-14 Skyfire Labs, Inc. Architecture for delivery of video content responsive to remote interaction
US8015581B2 (en) * 2007-01-05 2011-09-06 Verizon Patent And Licensing Inc. Resource data configuration for media content access systems and methods
US8140610B2 (en) * 2007-05-31 2012-03-20 Microsoft Corporation Bitmap-based display remoting
KR101407629B1 (ko) * 2007-06-04 2014-06-13 더 보드 오브 리젠츠 오브 더 유니버시티 오브 텍사스 시스템 자바 변환 가속 장치 및 방법
US7788398B2 (en) * 2007-08-08 2010-08-31 Swarmcast, Inc. Media player plug-in installation techniques
EP2224338A3 (en) * 2007-09-12 2011-03-16 Citrix Systems, Inc. Methods and systems for generating desktop environments providing integrated access to remote and local resources
KR100996682B1 (ko) * 2007-11-30 2010-11-25 주식회사 모션클라우드 리치 콘텐트 제작 시스템 및 그 방법과 그 방법에 대한컴퓨터 프로그램을 저장한 기록매체
US8890874B2 (en) * 2007-12-14 2014-11-18 Microsoft Corporation Changing visual content communication
US8253732B2 (en) * 2008-01-03 2012-08-28 International Business Machines Corporation Method and system for remote visualization client acceleration
US7937452B2 (en) * 2008-02-19 2011-05-03 Microsoft Corporation Framework for rendering plug-ins in remote access services
CN102007487A (zh) * 2008-02-27 2011-04-06 N处理有限公司 用于低带宽显示信息传输的系统和方法
US8745361B2 (en) * 2008-12-02 2014-06-03 Microsoft Corporation Sandboxed execution of plug-ins
US9444894B2 (en) * 2009-04-15 2016-09-13 Wyse Technology Llc System and method for communicating events at a server to a remote device
US8250653B2 (en) * 2009-04-30 2012-08-21 Microsoft Corporation Secure multi-principal web browser
US9525838B2 (en) * 2009-08-10 2016-12-20 Sling Media Pvt. Ltd. Systems and methods for virtual remote control of streamed media
US8266714B2 (en) * 2009-08-28 2012-09-11 Microsoft Corporation Access control in a multi-principal browser
US8341268B2 (en) * 2009-08-28 2012-12-25 Microsoft Corporation Resource sharing in multi-principal browser

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005057771A (ja) * 2003-08-04 2005-03-03 Samsung Electronics Co Ltd シンクライアント方式を改善したホームメディアゲートウェイのマルチメディアデータ処理装置及びその方法
JP2007311957A (ja) * 2006-05-17 2007-11-29 Hitachi Ltd シンクライアントシステム
US20090248802A1 (en) * 2008-04-01 2009-10-01 Microsoft Corporation Systems and Methods for Managing Multimedia Operations in Remote Sessions
EP2274682A2 (en) * 2008-04-01 2011-01-19 Microsoft Corporation Systems and methods for managing multimedia operations in remote sessions
KR20110007114A (ko) * 2008-04-01 2011-01-21 마이크로소프트 코포레이션 원격 세션에서의 멀티미디어 동작을 관리하는 시스템 및 방법
CN101981558A (zh) * 2008-04-01 2011-02-23 微软公司 用于管理远程会话中的多媒体操作的系统和方法
US20090287772A1 (en) * 2008-05-19 2009-11-19 David Stone Systems and methods for remoting multimedia plugin calls

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JPN6015021585; Alexander Moshchuk,Steven D.Gribble,Henry M.Levy: Flashproxy: Transparently Enabling Rich Web Content via Remote Execution , 2008 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2015136791A1 (ja) * 2014-03-11 2017-04-06 ソニー株式会社 情報処理装置、情報処理システムおよび情報処理方法
US10805672B2 (en) 2014-03-11 2020-10-13 Sony Corporation Information processing device, information processing system, and information processing method

Also Published As

Publication number Publication date
WO2011075269A3 (en) 2011-11-24
US20110154214A1 (en) 2011-06-23
EP2513807A4 (en) 2015-12-09
JP5911808B2 (ja) 2016-04-27
WO2011075269A2 (en) 2011-06-23
CN102667750A (zh) 2012-09-12
EP2513807A2 (en) 2012-10-24

Similar Documents

Publication Publication Date Title
US11005931B2 (en) WebRTC API redirection with window monitoring/overlay detection
US10592417B2 (en) Video redirection in virtual desktop environments
US9648378B2 (en) Virtual user interface including playback control provided over computer network for client device playing media from another source
CA2721174C (en) Method and system for virtually delivering software applications to remote clients
JP4923053B2 (ja) リモートクライアントのディスプレイからの隠しデータをフィルタリングする方法
US9264478B2 (en) Home cloud with virtualized input and output roaming over network
US20120042275A1 (en) Cloning specific windows on a wireless display surface
US20110214063A1 (en) Efficient navigation of and interaction with a remoted desktop that is larger than the local screen
US20100079480A1 (en) Methods and Systems for Per Pixel Alpha-Blending of a Parent Window and a Portion of a Background Image
KR20140080483A (ko) 애플리케이션 프로그램에 대한 비-침투적 원격 액세스
JP2011118662A (ja) シンクライアント型の情報処理システム
EP2143006A1 (en) Local themeing of remote applications
JP5911808B2 (ja) 遠隔プレゼンテーション・セッションにより通信を行うための方法及びシステム
Lee et al. FLUID-XP: Flexible user interface distribution for cross-platform experience
US8046698B1 (en) System and method for providing collaboration of a graphics session
US20120117170A1 (en) System and method for providing a geo-referenced virtual collaborative environment
JP2012133488A (ja) 画像処理装置、画像処理方法

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20130712

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20130719

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131024

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131024

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140821

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140916

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141212

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20150523

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150602

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150831

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160330

R150 Certificate of patent or registration of utility model

Ref document number: 5911808

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees