説明

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

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

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

【特許請求の範囲】
【請求項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に記載のシステム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6A】
image rotate

【図6B】
image rotate


【公表番号】特表2013−514586(P2013−514586A)
【公表日】平成25年4月25日(2013.4.25)
【国際特許分類】
【出願番号】特願2012−544542(P2012−544542)
【出願日】平成22年11月18日(2010.11.18)
【国際出願番号】PCT/US2010/057263
【国際公開番号】WO2011/075269
【国際公開日】平成23年6月23日(2011.6.23)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.FLASH
【出願人】(500046438)マイクロソフト コーポレーション (3,165)
【Fターム(参考)】