1又はそれ以上のプロセッサと、前記1又はそれ以上のプロセッサによって実行され、第1のアプリケーションによって生成されるコンテンツを処理する第2のアプリケーションを決定することと、前記コンテンツを処理するための前記第2のアプリケーションの1又はそれ以上の機能を決定することと、1又はそれ以上のオプションに基づき前記コンテンツについて生成される出力ストリームを前記第1のアプリケーションから受け取ることと、前記第2のアプリケーションによって消費されるよう前記出力ストリームを供給することとを含む動作を実行する管理コンポーネントとを有するシステム。前記第2のアプリケーションは、対象デバイスの仮想化である、請求項1に記載のシステム。前記出力ストリームは、印刷される文書であり、前記第2のアプリケーションは、プリンタデバイスの仮想化であり、前記出力ストリームの消費は、前記プリンタデバイスで前記出力ストリームを印刷することを含む、請求項1に記載のシステム。前記出力ストリームは、印刷される文書であり、前記第2のアプリケーションは、プリントサービスであり、前記出力ストリームの消費は、前記プリントサービスへのプリントジョブ要求において前記出力ストリームを提示することを含む、請求項1に記載のシステム。前記動作は、前記第2のアプリケーションによって消費されるよう前記出力ストリームを供給することの前に前記出力ストリームのプレビューを提示することを更に含む、請求項1に記載のシステム。前記動作は、ユーザが前記出力ストリームを生成するために1又はそれ以上の利用可能なオプションの中から前記1又はそれ以上のオプションを選択することを可能にするエクスペリエンスを提供することを更に含み、前記1又はそれ以上の利用可能なオプションは、前記第2のアプリケーションの前記1又はそれ以上の機能に基づく、請求項1に記載のシステム。前記エクスペリエンスは、前記管理コンポーネントによって生成され、前記エクスペリエンスは、前記第2のアプリケーションを含むアプリケーションのクラスに共通である、請求項6に記載のシステム。前記エクスペリエンスは、前記第2のアプリケーションによって生成され、該第2のアプリケーションに特有である、請求項6に記載のシステム。コンピュータ装置によって実施される方法であって、前記コンピュータ装置で実行される管理アプリケーションで、第1のアプリケーションによって生成されるコンテンツを消費する第2のアプリケーションのインジケーションを受け取るステップと、前記管理アプリケーションで、前記第2のアプリケーションの1又はそれ以上の機能に基づき、該第2のアプリケーションに前記コンテンツを消費するための第1のオプションの組を決定するよう問い合わせを行うステップと、前記第1のオプションの組からの選択を可能にするよう前記管理アプリケーションから第1のダイアログを提供するステップと、選択されたオプションを前記管理アプリケーションから前記第1のアプリケーションへ提供するステップと、前記管理アプリケーションで、前記第1のアプリケーションから、前記選択されたオプションに従って前記コンテンツについて生成されたコンテンツストリームを受け取るステップと、前記コンテンツストリームを前記管理アプリケーションから前記第2のアプリケーションへ提供するステップとを有する方法。コンピュータ装置に、第1のアプリケーションと第2のアプリケーションとの間のインタラクションを仲介する管理オブジェクトを、前記第2のアプリケーションの選択に基づきインスタンス化する動作と、前記管理オブジェクトから、前記第2のアプリケーションの1又はそれ以上の機能を決定する動作と、前記管理オブジェクトから、前記第2のアプリケーションの前記1又はそれ以上の機能に基づき生成される前記インタラクションのためのオプションの組から選択するエクスペリエンスを提供する動作と、選択されたオプションに従って、前記第1のアプリケーションと前記第2のアプリケーションとの間の前記インタラクションを開始する動作とを実行するよう指示する命令を記憶する1又はそれ以上のコンピュータ可読記憶媒体。本開示は、アプリケーションとデバイスとの間のインタラクションのための新しいパラダイムを提供する。後述されるように、1又はそれ以上の管理コンポーネントは、アプリケーション間の双方向のインタラクションを管理し仲介する。これは、第1のアプリケーションと、物理的デバイス例えば、プリンタ、ウェブカメラ、ビデオディスプレイ、又は他のデバイスの仮想化であるか又はサービスプロバイダやオンラインビジネス等へのインターフェースを提供する第2のアプリケーションとの間のインタラクションを可能にする。このように、デバイスは、他のアプリケーションと連動するサービスとして扱われてよい。例えば、第2のアプリケーションが物理的なプリンタデバイスの仮想化である場合に、第2のアプリケーションは、物理的な印刷デバイスよりむしろ、印刷サービスの表現の役割を果たし、それにより、デバイスの機能はサービスコントラクトに仮想化される。管理コンポーネントは、オペレーティングシステムOperatingSystem:以下、OSと称する。の部分として機能してよく、OSが双方向のアプリケーション間インタラクションを調停すること可能にし、インタラクションにおけるより高い柔軟性を可能にする。幾つかの実施形態は、アプリケーションがOSの管理コンポーネントを介して互いに相互作用することを可能にするアプリケーションプログラミングインターフェースApplicationProgrammingInterface:以下、APIと称する。を含む。本願で記載される実施形態によって表されるパラダイムにおいて、より重要なことは、コマンド及び制御ではなく、両アプリケーションとの関連でユーザインタラクションによって仲介されるデータ交換にある。これは、ユーザによる限られた仲介をサポートし且つコマンド及び制御が全体的なドライバ設計のより重要な部分に相当する従来のデバイスドライバモデルとは対照的である。本概要は、詳細な説明において以下で更に説明される簡略化された形において概念の選択を導入するよう設けられる。本概要は、請求される対象の重要な特徴又は必須の特徴を特定するよう意図されず、更に、請求される対象の適用範囲を制限するよう用いられるよう意図されない。詳細な説明は、添付の図を参照して記載される。図中、参照符号の左端の数字は、その参照符号が最初に現れる図を特定する。異なる図における同じ参照符号は、類似する又は同じ事項を示す。[概要]簡単に記載すると、実施形態は、アプリケーション間のインタラクションを仲介する管理コンポーネント又は管理アプリケーションを対象とする。この仲介により、一方のアプリケーションは、他方のアプリケーションによって消費及び/又は処理される出力を生成する。管理コンポーネントは、このインタラクションを調停し、且つ、インタラクションに関連するユーザエクスペリエンスを管理する。幾つかの実施形態において、管理コンポーネントは、第1のアプリケーション例えば、ワード処理アプリケーションのようなユーザアプリケーション、又は他のアプリケーションと第2のアプリケーションとの間の双方向のインタラクションを仲介してよい。第2のアプリケーションは、デバイス例えば、プリンタのような周辺機器の仮想化であってよく、あるいは、第2のアプリケーションは、サービスプロバイダ例えば、オンラインのプリントサービス事業へのインターフェース又はフロントエンドであってよい。本願で使用されるように、エクスペリエンス及びユーザエクスペリエンスは、ユーザから情報を集め及び/又はユーザへ情報を提示するようユーザに提示される1又はそれ以上のダイアログ、表示、ウィンドウ、制御と、それらの提示のフロー、配置及び/又はタイミングとを指す。語ダイアログが本願で使用されることがあるが、当然のことながら、この語は記載の明瞭さのために使用され、個々のダイアログに制限されない幅広いエクスペリエンスを記述すると解釈されるべきである。本願で使用されるように、仮想化は、アプリケーションが他のハードウェア又はソフトウェアコンポーネントに対してハードウェアデバイスをシミュレーションし、模倣し、又は体現して、デバイスと他のコンポーネントとの間のインタラクションがアプリケーションを介して起こるようにする処理を表す。通信の焦点がしばしばデバイスのコマンド及び制御にある従来のデバイスドライバ設計とは異なり、本願で記載される仮想化は、処理において交換されるデータ及び動作の目的に、より焦点を当てる。この異なる焦点は、一例として印刷シナリオを用いて説明されてよい。従来の印刷ドライバは、プリンタにページの内容を印刷するよう指示するために如何にしてプリンタにデータを送信するかに焦点を当て、一方、本願で記載される仮想化は、印刷の動作自体に焦点を当て、如何にして印刷が達成されるかの実施は、仮想化アプリケーションに任される。この仮想化はデバイスドライバを含んでよいが、それはまた、デバイスドライバよりも豊かな機能を提供する仮想化されたアプリケーションを含んでよい。幾つかの実施形態において、管理コンポーネントは、クライアントデバイスで実行されるOSの部分である。更に、幾つかの実施形態は、第1のアプリケーション例えば、ワード処理アプリケーションのようなユーザアプリケーションが、第1のアプリケーションとオンラインサービスへのフロントエンド又はデバイスの仮想化である第2のアプリケーションとの間の双方向のインタラクションを可能にするよう管理コンポーネントと相互作用することを可能にする管理APIを含む。インタラクションは双方向であるから、第1のユーザアプリケーションは、第2のアプリケーションによって消費されるコンテンツを生成してよく、あるいは、第2のアプリケーションによって生成されるコンテンツを消費してよい。第1のシナリオの例は、プリンタデバイスによって印刷される文書又はオンラインの印刷サービスプロバイダへの印刷ジョブを生成するワード処理アプリケーション例えば、Microsoft登録商標のWord登録商標、Corel登録商標のWordPerfect登録商標、等である。この例では、第2のアプリケーションは、プリンタデバイスの仮想化として又は印刷サービスプロバイダへのフロントエンド/インターフェースとして動作する。第2のシナリオの例は、ウェブカメラ又は他のカメラデバイスによって生成されるオーディオ/ビデオコンテンツストリームを消費するオンラインビデオ会議又はチャットプログラム例えば、Skype登録商標、Windows登録商標Liveメッセンジャ、Yahoo登録商標メッセンジャ、等である。この例では、第2のアプリケーションは、カメラデバイスの仮想化として動作する。それらのシナリオのいずれも以下でより詳細に記載される。更に、本願で挙げられている例は双方向のインタラクションを記載するが、実施形態はそのように制限されない。管理コンポーネント及び関連するAPIは、アプリケーション仮想デバイスアプリケーションを含む。が互いに通信する共通フレームワークを生成するので、実施形態は、多方向通信が多数のアプリケーション及びデバイスの間で可能にされる柔軟なパラダイムをサポートする。例えば、幾つかの実施形態において、第1のユーザアプリケーションは、第2のアプリケーションへ送信されるコンテンツの作成者、及び第3のアプリケーションから受信される他のコンテンツの消費者の両方として動作してよく、このとき、アプリケーション間の各インタラクション対はOSの管理コンポーネントによって仲介される。本願で記載される実施形態は、管理コンポーネントが、2つのアプリケーションの間のインタラクションを仲介することを可能にし、アプリケーションが互いに相互作用するためのより高い柔軟性を提供する。このような柔軟性の高まりは、一例として印刷機能を用いて説明されてよい。従来、ワード処理アプリケーションは、文書のための印刷レイアウトを生成し、次いでプリンタデバイスコンテキストと相互作用して、文書のための出力フォーマットをそのデバイスと直接交渉する。次いで、デバイスコンテキストは印刷レイアウトを印刷サブシステムへ送り、印刷サブシステムはプリンタで文書を印刷する。このように、出力印刷レイアウトにおける文書の配信は、デバイスコンテキストを介してプリンタデバイスに対して直接にアプリケーションによって実行される。デバイスコンテキストとデバイスドライバとの間の従来の結合を考えると、これは、プリンタが理解する何らかのページ定義言語例えば、ポストスクリプト登録商標又はPCLにおいて特定のコマンドの組がプリンタへ送信されることを生じさせる。そのようなコマンドは、接続されるプリンタハードウェアによる動作に直接変換される。本願で記載される実施形態は、管理コンポーネントがソースアプリケーション例えば、ワード処理アプリケーションと、一例として印刷シナリオを用いると、印刷の概念を仮想化するアプリケーションとの間の媒介として動作する点で、この従来のシナリオと相違する。プリンタデバイスと直接相互作用するのではなく、ソースアプリケーションは中間の管理コンポーネントと相互作用し、次いで、管理コンポーネントは、ソースアプリケーションに代わって、仮想化アプリケーションと通信する。このように、ソースアプリケーションは、プリンタデバイスのための特定のデバイスドライバとの如何なる直接的インタラクションも伴わずに動作してよい。管理コンポーネントはソースアプリケーションと仮想化アプリケーションとの間の媒介であるから、この交換において、ソースアプリケーションは、印刷コンポーネントによってサポートされる機能に関して、従来のプリンタコンテキストに基づくモデルでよりも幾らか限られた情報の組を提供され得る。例えば、提供される情報は、目標の出力のサイズ例えば、用紙の文字サイズ片、その向き、及び目標の出力の解像度のような情報に制限されてない。そのような機能は、以下で更に記載されるように、管理コンポーネントによって決定されてよい。このように、実施形態は、アプリケーションによるデバイスの直接的なコマンド及び制御の従来モデルから動作のより被殻化された表現へのシフトを可能にする。印刷シナリオの例では、これは、如何にしてプリンタが印刷出力を生成するようハードウェアを操作すべきかに関する離散的な命令の交換に代えて、OpenXPS又はAdobe登録商標のポータブルドキュメントフォーマットPDFのような、より高度な文書交換フォーマットの形での印刷コンテンツの交換をもたらす。幾つかの実施形態において、管理コンポーネントは、仮想化アプリケーションが特定のデータ交換シナリオに関与するよう自身の機能を登録すること可能にする。例えば、印刷のための仮想化アプリケーションは、それが印刷機能のための対象として使用されるよう利用可能であることを印刷のための管理コンポーネントに知らせるよう有効にされてよい。様々なモデルが、管理されるデータ交換における対象アプリケーションとして機能する目的で管理コンポーネントに仮想化アプリケーションを登録するために、用いられてよい。更に、ソースアプリケーションの外及び管理コンポーネントの中に動作のための対象の選択を移動することによって、より高い柔軟性が、デバイス又はサービスの新しい機能又は新しい革新に適合するようシステム全体に導入される。例えば、管理コンポーネントがOSの部分である場合に、異なるタイプの仮想化アプリケーションをサポートするための新しいモダリティは、ソースアプリケーションへの変更を要求することなしに、更新を通じて時間をかけて導入されてよい。これは、新しいモダリティが、特定の新しいモダリティのためのサポートを加えるソースアプリケーションの変更によりサポートされる従来のデバイスドライバモデルと相違する。更に、媒介としての管理コンポーネントの使用は、結果として得られるユーザエクスペリエンスにおいて、より高い柔軟性を提供する。例えば、幾つかの実施形態において、管理コンポーネントは、例えば、プリンタデバイスを体現する仮想化アプリケーションとのインタラクションを通じてプリンタデバイスに問い合わせて、その機能及び利用可能な印刷オプションを決定してよい。更に、管理コンポーネントは、ユーザが印刷オプション例えば、用紙サイズ、ページネーション、両面/片面、色パレット、等を選択することを可能にする共通ダイアログを提示し、ワード処理アプリケーションをそのタスクから解放してよい。同様に、管理コンポーネントはまた、ユーザが印刷される文書をプレビューすることを可能にするユーザインターフェースを提供し、ワード処理アプリケーションをそのタスクからも解放してよい。他の実施形態において、管理コンポーネントは、ユーザインターフェースの負担を仮想化アプリケーションへ委任してよい。これは、仮想化された処理に、それがデバイスドライバアブストラクションの従来の制約によってもはや束縛されないので、有利な利点を提供する。概して、実施形態は、ワード処理アプリケーションから印刷機能及びユーザエクスペリエンスを抽出し又は、他のデバイスに関連するインタラクションを抽出し、フォーマット交渉機能をコンテンツフローから分離するよう動作する。このように、実施形態は、印刷に関連するより豊かなユーザエクスペリエンス又は他のタイプのアプリケーション-デバイス間インタラクションの提供を可能にしてよい。更に、本願で記載される実施形態は、オンラインのサービスプロバイダのためのフロントエンド及び/又はインターフェースとして動作するアプリケーションの使用を容易にする。先と同じく一例として印刷を用いると、ワード処理アプリケーションのユーザは、印刷目標として、印刷サービスプロバイダのためのアプリケーションを選択してよい。ユーザの観点から、ユーザが目標へ印刷するよう選択しているが、代わりに、管理コンポーネントが、印刷エクスペリエンスを完了する目的で、仮想化アプリケーションをアクティブにする。幾つかの場合に、この仮想化アプリケーションは、物理的なプリンタデバイスと比較して異なるユーザエクスペリエンスを提供してよい。例えば、ユーザは、支払い又は他の監査を管理するために何らかの形の識別又は認証を提供するよう求められ得る。また、印刷サービスで利用可能な機能のタイプは、従来の印刷デバイスから利用可能なものとは異なってよい。適切な情報が収集されると、管理コンポーネントは、印刷されるよう印刷デバイスへ文書を送信するのではなく、印刷サービスへのプリントジョブ要求の部分として文書を提示してよい。ユーザは次いで、出力印刷文書、刊行本、パンフレット、ポスター、又は実質的に如何なる他のフォーマットの印刷物でも手に入れるために印刷サービスプロバイダの店へ赴いてよい。このように、実施形態は、そのようなサービスプロバイダが、デバイスドライバを作成するオーバヘッドを必要とすることなく、ユーザがサービスプロバイダのサービスをより容易に利用することを可能にするよう印刷デバイスを事実上まねることを可能にする。更に、管理コンポーネント及びAPIは、ユーザアプリケーション例えば、ワード処理アプリケーションがデバイス例えば、プリンタ又はオンラインのサービスプロバイダ例えば、オンラインの印刷ショップと相互作用することを可能にする統合されたユーザエクスペリエンスを提供するので、ユーザアプリケーション開発者はもはや、異なる種類のデバイス又は様々なオンラインのサービスプロバイダインターフェースをサポートするようアプリケーションを書く必要がない。管理コンポーネント及び統合APIは、ユーザアプリケーションから離れてその機能を抽象化し、共通の、潜在的により機能豊富なユーザのエクスペリエンスをもたらす。幾つかの実施形態において、管理コンポーネントはまた、仮想化アプリケーションを介してデバイスのような挙動をサポートするための、より豊かなエコシステムを可能にする。例えば、従来のデバイスドライバモデルでは、デバイスドライバのインストールはデバイスの存在を条件とする。デバイスの存在は、管理コンポーネントが動作している多くの共通した周辺機器相互接続バス例えば、PCT、I2C、USB、等の1つを介した直接にホストコンピュータへのデバイスの物理接続によって、決定されてよい。更に、デバイスの存在はまた、ネットワークでのデバイスの存在によって決定されてよい。この従来モデルでは、デバイスの存在は、通常は、当業者に認識できる多くの可能なネットワークデバイス発見プロトコルの1つにより決定される。この従来のエクスペリエンスは、本願で記載される実施形態に従う仮想化アプリケーションモデルと相違する。物理的なデバイスハードウェアが必要とされない場合に、印刷サービスの例において見られるように、機能の発見は、仮想化アプリケーションのインストールにより容易にされ得る。このアプリケーションは、サービスプロバイダから又は何らかの形態のアプリケーション市場から直接に利用可能であってよい。幾つかの実施形態において、市場環境を通じて利用可能なアプリケーション耐用年限管理機関は、より簡単な自動更新プロシージャ、より柔軟なプログラミング環境、等を通じて、より高い柔軟性をアプリケーション開発者へ提供する。そのような耐用年限管理機関は、従来のデバイスドライバモデルにおいてよりも、特定のシナリオを供給することを容易にする。[実施例]図2は、実施形態が動作する、例となる環境200を表す。図示されるように、環境200の様々なデバイスは、そのような環境を可能にする如何なるタイプのネットワークも有しうる1以上のネットワーク202を介して互いに通信する。例えば、ネットワーク202は、インターネットのような公衆ネットワーク、組織的及び/又は個人的イントラネットのような私的ネットワーク、あるいは、私的ネットワーク及び公衆ネットワークの何らかの組み合わせを有してよい。ネットワーク202はまた、ローカルエリアネットワークLocalAreaNetwork:以下、LANと称する。、ワイドエリアネットワークWideAreaNetwork:以下、WANと称する。、Wi-Fi登録商標、WiMAX登録商標、及びモバイル通信ネットワーク例えば、3G、4G、等を含むかこれらに限られないあらゆるタイプの有線及び/又は無線ネットワークを有してよい。ネットワーク202は、インターネットプロトコルInternetProtocol:以下、IPと称する。、伝送制御プロトコルTransmissionControlProtocol:以下、TCPと称する。、ユーザダイアグラムプロトコルUserDiagramProtocol:以下、UDPと称する。、又は他のタイプのプロトコルのようなパケットベース及び/又はデータグラムベースのプロトコルを含む通信プロトコルを利用してよい。更に、ネットワーク202はまた、ネットワーク通信を容易にし及び/又はスイッチ、ルータ、ゲートウェイ、アクセスポイント、ファイヤウォール、基地局、中継局、バックボーンデバイス、等のようなネットワークのためのハードウェア基部を形成する多数のデバイスを有してよい。環境200は、ユーザに関連する1以上のクライアントデバイス204を更に有する。簡単に記載すると、クライアントデバイス204は、ネットワーク202上で情報を送信及び受信するためにユーザにより用いられ得る如何なるタイプのコンピュータ装置を有してもよい。例えば、クライアントデバイス204は、デスクトップコンピュータ、ラップトップコンピュータ、パッドコンピュータ、装用性コンピュータ、メディアプレーヤ、車載コンピュータ、モバイルコンピュータ装置、スマートフォン、パーソナルデジタルアシスタントPersonalDigitalAssistant:以下、PDAと称する。、ゲーム機/プラットフォーム、携帯ゲーム機、セットトップボックス、等を有してよいがこれらに限られない。クライアントデバイス204は、概して、ユーザがウェブ及び/又はインターネット上で情報を送信及び受信することを可能にする1以上のアプリケーションを有し、アプリケーションは、ウェブブラウザ、電子メールクライアントアプリケーション、チャット又はインスタントメッセージングInstantMessaging:以下、IMと称する。クライアント、及び他のアプリケーションを有するがこれらに限られない。クライアントデバイス204は、ワード処理、計算、プレゼンテーション準備、マルチメディア処理例えば、映像、音声、画像、グラフィクス、等を処理するため、ゲーム、ソーシャルネットワーキング、チャット/IM、又は他のタイプの用途のための1以上のアプリケーションを更に有してよい。クライアントデバイス204は、本願で更に記載されるように、双方向のアプリケーション間インタラクションを仲介するための媒介及び/又は管理コンポーネントを含むOSを実行してよい。図2で図示されるように、環境200は、1以上のネットワーク化された周辺デバイス206を更に有してよい。かかるデバイスは、印刷、マルチメディア表示、通信、等を含むがこれらに限られない機能を提供するよう、クライアントデバイス204及び/又は遠隔のサーバデバイス208のような他のデバイスとネットワーク202を介して通信してよい。本願で更に記載されるように、そのようなネットワーク化された周辺デバイス206は、デバイスの仮想化であるアプリケーションを提供してよい。かかるアプリケーションは、クライアントデバイス204で実行されるアプリケーションとの双方向インタラクションを可能にするよう管理APIを呼び出してよい。環境200は、1以上の遠隔のサーバデバイス208を更に有してよい。幾つかの実施形態において、遠隔のサーバデバイス208は、オンラインサービス、商取引、等を提供するサーバデバイスを有してよい。本願で記載される実施形態を用いると、遠隔のサーバデバイス208は、ユーザがオンラインサービスを利用することを可能にするよう、クライアントデバイス204で実行されるアプリケーションとの双方向のアプリケーション間インタラクションに関与するアプリケーションの形でインターフェースを提供してよい。例えば、遠隔のサーバデバイス208は、文書を印刷すること、広告/販売物を作成すること、原稿を公表すること、等のために、印刷サービスプロバイダによって管理されてよい。かかる印刷サービスプロバイダは、クライアントデバイス204で実行されるワード処理アプリケーションとの双方向インタラクションを可能にするよう管理APIを呼び出すアプリケーションを使用してよい。このように、ワード処理アプリケーションを実行するユーザは、アプリケーションから印刷オプションを選択し、クライアントデバイス204のOSの部分として実行される管理コンポーネントを介して印刷サービスプロバイダへプリントジョブとして文書を送信しよい。よって、実施形態は、印刷サービスプロバイダが印刷デバイスである場合と同じように便利に、印刷サービスプロバイダが自身のサービスをユーザに利用可能にすることを可能にする。サーバデバイス208はまた、ユーザによるアプリケーションの発見、インストール、及び/又は管理を容易にするアプリケーション市場サーバに相当してよい。幾つかの実施形態において、かかる市場サーバは、オンラインサービス、電子ビジネスサービス、等を提供する遠隔サーバアプリケーションと同じようにうまく、物理的なハードウェアデバイスをサポートする仮想化アプリケーションの普及を促す。環境200は、PCI、I2C、USB、等のようなコンピュータバスを介してクライアントデバイス204へ直接接続される1以上の局所周辺デバイス210を更に有してよい。かかる局所周辺デバイス210は、印刷、マルチメディア表示、通信、等を含むがこれらに限られない機能を提供してよい。本願で更に記載されるように、かかる局所周辺デバイス210は、デバイスの仮想化であるアプリケーションを提供してよい。係るアプリケーションは、1以上のクライアントデバイス204で実行されるアプリケーションとの双方向インタラクションを可能にするよう管理APIを呼び出してよい。明示的に表されていないが、環境200は、本願で記載される様々な動作に関連するデータを記憶するよう構成される1以上のデータベース又は他の記憶デバイスを更に有してよい。かかる記憶デバイスは、表されているデバイスの1又はそれ以上に組み込まれてよく、あるいは、デバイスの1又はそれ以上から離されておりそれらと通信する外部の記憶デバイスであってよい。記憶されるデータは、クライアントデバイス204、ネットワーク化された周辺デバイス206、遠隔のサーバデバイス208、及び/又は局所周辺デバイス210の動作に関する情報を更に含んでよい。概して、図2で表されるデバイスの1又はそれ以上の夫々は、作業負荷を共有するようクラスタ、サーバファーム、又は他のグループにおいて配置される複数のコンピュータ装置を有してよい。そのようなデバイスのグループは、より効率的な動作を提供するよう負荷が分散されるか又は別なふうに管理されてよい。更に、環境200の様々なコンピュータ装置はクライアント又はサーバとして記載されているが、夫々のデバイスは、様々な環境に関連する動作を実行するよういずれの性質においても動作してよい。よって、クライアント又はサーバとしてのデバイスの記載は、説明のために与えられたものであり、デバイスによって実行され得る活動の範囲を制限しない。[例となるコンピュータ装置アーキテクチャ]図3は、図2で表される様々なデバイスのためのコンピュータシステムアーキテクチャの例のブロック図である。図示されるように、コンピュータ装置300は処理ユニット302を有する。処理ユニット302は1以上の処理ユニット例えば、プロセッサを有してよく、ハードウェア、ソフトウェア、又はそれらの何らかの組み合わせとして実施されてよい。本願で使用されるように、プロセッサはハードウェア部品を指す。処理ユニット302は、本願で記載される様々な機能を実行するよう何らかの適切なプログラミング言語で書かれたコンピュータ実行可能、プロセッサ実行可能、及び/又は機械実行可能な命令を有してよい。幾つかの実施形態において、処理ユニット302は1以上のグラフィクス処理ユニットGraphicsProcessingUnit:以下、GPUと称する。を更に有してよい。コンピュータ装置300はシステムメモリ304を更に有し、システムメモリ304は、ランダムアクセスメモリRandomAccessMemory:以下、RAMと称する。、静的RAMStaticRandomAccessMemory:以下、SRAMと称する。、動的RAMDynamicRandomAccessMemory:以下、DRAMと称する。、等のような揮発性メモリを有してよい。システムメモリ304は、読み出し専用メモリReadOnlyMemory:以下、ROMと称する。、フラッシュメモリ、等のような不揮発性メモリを更に有してよい。システムメモリ304はキャッシュメモリを更に有してよい。図示されるように、システムメモリ304は、Windows登録商標、Linux登録商標、iOS登録商標、等のような1以上のOS306を含む。以下で更に記載されるように、OS306は、アプリケーション及び/又はデバイスの間の双方向インタラクションを管理及び/又は仲介するよう動作する1以上の管理コンポーネント308を更に含んでよい。システムメモリ304は1以上の実行可能コンポーネント310を更に含んでよく、実行可能コンポーネント310は、処理ユニット302によってロード及び実行可能であるプログラム、アプリケーション及び/又は処理を有してよい。それらは、ワード処理、会計、プレゼンテーション準備、マルチメディア処理例えば、映像、音声、画像、グラフィクス、等を処理するため、ゲーム、ソーシャルネットワーキング、チャット/IM、又は他のタイプの用途のためのアプリケーションを含んでよい。実行可能コンポーネント310は他のコンポーネント314を更に含んでよい。システムメモリ304内の様々なコンポーネント、アプリケーション、OSは、それらの様々な機能に関連するデータを記憶する記憶領域としてコンポーネントデータ316を用いてよい。図3で図示されるように、コンピュータ装置300は、磁気ディスクストレージ、光ディスクストレージ、テープストレージ、等を含むがこれらに限られないリムーバブルストレージ320及び/又は非リムーバブルストレージ322を更に有してよい。ディスクドライブ及び関連するコンピュータ可読媒体は、コンピュータ装置300の動作のためのコンピュータ可読命令、データ構造、プログラムモジュール、及び他のデータの不揮発性記憶を提供してよい。概して、コンピュータ可読媒体にはコンピュータ記憶媒体及び通信媒体がある。コンピュータ記憶媒体には、コンピュータ可読命令、データ構造、プログラムモジュール、及び他のデータのような情報の記憶のために如何なる方法又は技術においても実施され得る揮発性及び不揮発性の、リムーバブル及び非リムーバブル媒体がある。コンピュータ記憶媒体には、RAM、ROM、消去可能なプログラム可能ROMErasableProgrammableReadOnlyMemory:以下、EEPROMと称する。、SRAM、DRAM、フラッシュメモリ若しくは他のメモリ技術、コンパクトディスクROMCompactDiscReadOnlyMemory:以下、CD-ROMと称する。、デジタルバーサタイルディスクDigitalVersatileDisc:以下、DVDと称する。若しくは他の光学ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ若しくは他の磁気ストレージデバイス、又はコンピュータ装置によるアクセスのための情報を記憶するために使用可能な何らかの他の非伝送媒体があるがこれらに限られない。対照的に、通信媒体は、搬送波又は他の伝送メカニズムのような変調データ信号においてコンピュータ可読命令、データ構造、プログラムモジュール、又は他のデータを具現してよい。本願で定義されるように、コンピュータ記憶媒体は通信媒体を含まない。コンピュータ装置300は入力デバイス324を有してよく、入力デバイス324は、キーボード、マウス、ペン、音声入力デバイス、タッチ入力デバイス、ゲームコントローラ、等を含むがこれらに限られない。コンピュータ装置300は出力デバイス326を更に有してよく、出力デバイス326は、ディスプレイ、プリンタ、音声スピーカ、触覚出力インターフェース、等を含むがこれらに限られない。コンピュータ装置300は、コンピュータ装置300が、クライアントデバイス204、遠隔のサーバデバイス208、データベース、ネットワーク化された周辺デバイス206、又はネットワーク202上でアクセス可能な他のコンピュータ装置を含む他のコンピュータ装置330と通信することを可能にする通信接続328を更に有してよい。通信接続328は、ネットワークインターフェースコントローラNetworkInterfaceController:以下、NICと称する。、ネットワークアダプタ、トランシーバ、等を有してよい。通信接続328はまた、コンピュータ装置300から物理的に分かれているがネットワーク202を介して又はシリアル、パラレル、USB、高精細マルチメディアインターフェースHighDefinitionMultimediaInterface:以下、HDMIと称する。、オーディオ-ビジュアルAudioVisual:以下、AVと称する。、若しくは他のタイプの接続を介して接続される1以上の周辺デバイス332との通信を可能にしてよい。かかる周辺デバイスは局所周辺デバイス210を有し、且つ、プリンタ、ディスプレイ、外部ストレージデバイス、等のようなデバイスを有してよい。[例となる動作]図4、6及び8は、アプリケーション及び/又はデバイスの間のインタラクションを仲介する管理コンポーネントのための構成の例を表す。それらの図で示される要素は、ハードウェア、ソフトウェア、又はそれらの組み合わせにおいて実施され得るコンポーネント、モジュール、処理、オブジェクト、及び/又はアプリケーションを表す。図示される要素の配置は例示であるよう意図され、要素の動作、制御フロー、又は特定の位置の如何なる順序に関しても制限しない。よって、図示される要素の1又はそれ以上は、同じデバイス又は異なるデバイスの構成要素であってよい。更に、図は双方向の矢印を表すが、かかる矢印は、様々な要素の間の通信を例示するよう意図され、かかる通信は、様々な環境下で単一方向及び/又は双方向であってよい。図4は、アプリケーション間の双方向インタラクションを仲介するための構成例の図である。図4で図示されるように、OS306は、第1のアプリケーション402と第2のアプリケーション406との間のインタラクションを仲介する1以上の管理コンポーネント308を含む。幾つかの実施形態において、第1のアプリケーション402は、第1のデバイス404のような物理デバイスの仮想化であってよい。このように、第1のアプリケーション402は、管理コンポーネント308及び第2のアプリケーション406に対して第1のデバイス404を事実上体現してよい。同様に、幾つかの実施形態において、第2のアプリケーション406は、第2のデバイス408のような物理デバイスの仮想化であってよく、事実上第2のデバイス408を体現する。管理コンポーネント308は、第1のアプリケーション402と第2のアプリケーション406との間のインタラクションを仲介し、それにより、アプリケーション間の通信が管理コンポーネント308を通り且つ管理コンポーネント308によって管理されるようにする。幾つかの実施形態において、第1のアプリケーション402及び/又は第2のアプリケーション406は、物理デバイスではなく、外部のアプリケーションサーバに結合されるデバイス動作の仮想化であってよい。第1のアプリケーション402及び/又は第2のアプリケーション406はOS306と同じデバイス例えば、クライアントデバイスで実行されるユーザアプリケーションであってよいが、実施形態はそのように制限されない。実質的に、図4の要素の如何なる配置もサポートされ、それにより、様々な要素は、特定のシナリオの要件を鑑みて、異なるデバイス又は同じデバイスで実行されてよい。更に、幾つかの実施形態は、関数、メソッド、処理、インターフェース、変数、等のような機能を顕在化させる管理APIをサポートする。第1のアプリケーション402及び/又は第2のアプリケーション406は、管理コンポーネント308と通信するよう管理APIの機能を用いてよい。幾つかの実施形態において、管理コンポーネント308は、共通のデバイスダイアログを通じて豊かなユーザエクスペリエンスを提供してよく、かかるダイアログによって、ユーザは、特定のデバイスと相互作用するためのオプションを選択してよい。かかるオプションは、管理コンポーネント308がデバイスによって必要とされる情報及び/又はデバイス機能を決定するようその関連する仮想化アプリケーションを通じてデバイスに問い合わせることによって、決定されてよい。代替の実施形態では、管理コンポーネント308は、仮想化されたデバイスアプリケーションのユーザエクスペリエンスを、ユーザがデバイスによって必要とされる1以上のオプションを設定し満たすことを可能にするために、ユーザに提示する。そのような実施形態は図6乃至9に関してより詳細に記載される。図5A、5B、5C、7A、7B、9A及び9Bは、様々な実施形態に従う処理の例を示すフローチャートを表す。それらの処理の動作は、個々のブロックにおいて例示され、それらのブロックを参照して要約される。処理は論理流れ図として表されており、その各動作は、ハードウェア、ソフトウェア、又はそれらの組み合わせにおいて実施され得る動作の組を表してよい。ソフトウェアとの関連で、動作は、1以上のプロセッサによって実行される場合に該1以上のプロセッサが挙げられている動作を実行することを可能にする、1以上のコンピュータ記憶媒体に記憶されたコンピュータ実行可能命令に相当する。概して、コンピュータ実行可能命令は、特定の機能を実行するか又は特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、モジュール、コンポーネント、データ構造、等を含む。動作が記載される順序は、限定として解釈されるよう意図されず、如何なる数の記載される動作も、処理を実施するために、如何なる順序においても結合され、従属する動作に分離され、及び/又は並行して実行され得る。様々な実施形態に従う動作は、論理流れ図において表される動作の一部又は全てを含んでよい。図5Aは、2つのアプリケーションの間の双方向インタラクションを仲介する処理500の例を表す。幾つかの実施形態において、処理500は、管理コンポーネント308の部分として実行する。図4で図示されたように、アプリケーションのうちの一方又は両方は、物理デバイスプリンタ、カメラ、等のような周辺デバイスの仮想化又はオンラインサービス例えば、プリントサービスのためのフロントエンドであってよい。ブロック502で、第1のアプリケーションと相互作用するための第2のアプリケーションの選択を示すインジケーションが受け取られる。幾つかの実施形態において、第1のアプリケーションはユーザアプリケーション例えば、ワード処理アプリケーション、ビデオ会議アプリケーション、等であってよく、第2のアプリケーションは、ユーザが第1のアプリケーションに相互作用するよう望むプリンタ若しくはウェブカメラのような対象デバイスの仮想化又は印刷サービスプロバイダのようなオンラインサービスへのフロントエンドであってよい。インジケーションは、サポートされる通信プロトコルに従って第1のアプリケーションから管理コンポーネントへ送信される通信パケットの部分として受信されてよい。幾つかの実施形態において、第2のアプリケーションのインジケーションは、第1のアプリケーションによって生成されたデータを消費するか又は第1のアプリケーションによって消費されるデータを生成する仮想化されたデバイス及び/又はサービスの、第1のアプリケーション又は管理コンポーネントのダイアログ内のユーザ選択によってトリガされてよい。幾つかの実施形態は、管理コンポーネントにより仮想化アプリケーションの登録を含んでよいことが明らかである。この登録は、第1のアプリケーションのユーザによる第2のアプリケーションの詳細な情報得た上での決定を可能にする。例えば、管理コンポーネントによる第2のアプリケーションの登録は、管理コンポーネント又は第1のアプリケーションの何れかが第1のアプリケーションとのインタラクションのための可能な対象のリストをユーザに提示することを可能にしてよい。次いで、ユーザは、インタラクションのための特定の第2のアプリケーションを選択してよい。仮想化アプリケーションの耐用年限管理の登録及び他の側面は、図5Cに関連してより詳細に記載される。ブロック504で、第1及び第2のアプリケーションの間のインタラクションを仲介する管理オブジェクトがインスタンス化されてよい。幾つかの実施形態において、管理オブジェクトは、クラスとして実施される管理コンポーネントの実行インスタンスであってよく、管理オブジェクトの特定のインスタンスは、第1のアプリケーションと第2のアプリケーションとの間の特に要求されるインタラクションを仲介するよう作成される。管理オブジェクトは特定のアプリケーション例えば、第2のアプリケーションとのインタラクションを仲介するようインスタンス化されるので、管理オブジェクトは第2のアプリケーションに結合されるよう記載されてよい。幾つかの実施形態において、管理オブジェクトの特定のインスタンスは、第1のアプリケーションが第2のアプリケーションと相互作用している限り存在する。幾つかの実施形態において、特定のインスタンスは、キャッシュ又は別なふうにセーブされ、第1及び第2のアプリケーションの間のその後のインタラクション、及び/又は他のアプリケーションと第2のアプリケーションとの間のその後のインタラクションと扱うために再利用されてよい。幾つかの実施形態において、管理オブジェクトは、第2のアプリケーションの特定のクラス例えば、プリンタデバイスのような特定のタイプのデバイスの仮想化であるアプリケーションに一般的であってよい。ブロック506で、管理オブジェクトは、第2のアプリケーションに、その機能を決定するよう問い合わせてよい。例えば、第2のアプリケーションがプリンタデバイスのための仮想化として動作している場合に、管理オブジェクトは、印刷機能例えば、両面印刷、利用可能な色パレット、横長対縦長レイアウト、ページ番号、ウォータマーク、等を決定するよう問い合わせを行ってよい。ブロック508で、1以上のオプションが、ブロック506で決定された第2のアプリケーションの機能に基づき、第1及び第2のアプリケーションの間のインタラクションのために生成されてよい。ブロック510で、ユーザは、管理オブジェクトによってエクスペリエンスを提供されてよい。このエクスペリエンスは、ユーザがブロック508で決定された1以上のオプションの中から選択することを可能にしてよい。幾つかの実施形態において、与えられるエクスペリエンスは、第2のアプリケーションの特定のクラス例えば、プリンタデバイスの仮想化であるアプリケーションに一般的である共通のエクスペリエンスであってよい。他の実施形態において、エクスペリエンスは、特定の第2のアプリケーション及びその機能に特有であってよい。エクスペリエンスの提供は、図5Bに関連して以下でより詳細に記載される。ブロック512で、第1及び第2のアプリケーションの間の双方向インタラクションが、ブロック510で提供されるエクスペリエンスを通じてユーザによって選択されたオプションに基づき、開始されてよい。幾つかの実施形態において、インタラクションは、管理オブジェクトが第1及び/又は第2のアプリケーションへユーザにより選択されたオプションを提供する追加のステップ図示せず。に続いて、開始されてよい。この提供は、第1及び/又は第2のアプリケーションがユーザによって選択されたオプションに基づき特定のデータ及び/又はコンテンツを生成することを可能にしてよい。例えば、印刷シナリオにおいて、印刷オプションのユーザの選択は第1のアプリケーション例えば、ワード処理アプリケーションへ提供されてよく、第1のアプリケーションは次いで、オプションに基づき、印刷される文書のページの様式化された記述をリフロー及び生成してよい。この例は、図6、7A及び7Bに関連してより詳細に記載される。図5Bは、1又はそれ以上の実施形態に関して、アプリケーション間の双方向インタラクションとの関連でユーザエクスペリエンスを提供する処理530の例を表す。幾つかの実施形態において、ユーザエクスペリエンスを提供することは、アプリケーション間の双方向インタラクションを仲介する処理500の部分であってよく、図5Aのステップ510に関して記載されたようにダイアログを提供することを含んでよい。ステップ532で、ユーザに共通エクスペリエンス例えば、共通ダイアログを提供するか、あるいは、物理デバイスの仮想化又はオンラインサービスプロバイダのためのフロントエンドに相当する第2のアプリケーションによって生成されて発せられたエクスペリエンスを提供するかが、決定される。幾つかの実施形態において、この決定は、第2のアプリケーションが管理コンポーネントにより図5Cに関して記載されるように登録される場合に第2のアプリケーションによって提供される情報に基づいてよい。例えば、登録の間、第2のアプリケーションは、管理コンポーネントが第1及び第2のアプリケーションの間のインタラクションのその媒介の部分として共通ダイアログを提供すべきことを管理コンポーネントに示してよい。代替的に、第2のアプリケーションは、管理コンポーネントが、第2のアプリケーションに特有であり及び/又は該第2のアプリケーションから生成され、第2のアプリケーションに特有であるオプション及び/又は要件を含むダイアログを提供すべきことを示す。代替の実施形態において、管理コンポーネントは、共通ダイアログを使用するか、又は第2のアプリケーションによって提供されるダイアログを使用するかを自動的に決定してよい。幾つかのシナリオにおいて、管理コンポーネントは、第2のアプリケーションとのインタラクションのために常に共通ダイアログを使用すると決定してよい。他の場合に、管理コンポーネントは、仮想化アプリケーションによって提供されるダイアログを常に使用すると決定してよい。更に、幾つかの場合に、管理コンポーネントは、双方向通信の特定のコンテキストが完了されることに依存して、どちらのダイアログを示すべきかを決定してよい。双方向の印刷通信を完了する1つの制限されない例において、管理コンポーネントは、全ての仮想化されたプリンタデバイスが共通ダイアログを使用してよく、一方、全ての仮想化されたプリンタサービスがそれ自身のユーザエクスペリエンスを提供してよいと決定してよい。少なくとも部分的に第2のアプリケーションに特有の又は合わせられたエクスペリエンスを提供するとの決定がなされると、処理530はブロック534へ進み、管理コンポーネントは、第2のアプリケーションによって生成されるダイアログを提示させられる。この場合に、管理コンポーネントは、第2のアプリケーションによって提供されるエクスペリエンスを提示し、よって、第1及び第2のアプリケーションの間の設定情報の移動を調停する媒介の役割を果たす。管理コンポーネントがユーザエクスペリエンスを第2のアプリケーションによって提供されるようにするために、様々なモデルが用いられてよいことは明らかである。1つの制限されない例において、管理コンポーネントは、第2のアプリケーションがそのユーザエクスペリエンスを提供することを可能にされるホスティングモデルを提供してよい。他の制限されない例において、管理コンポーネントは、第2のアプリケーションからユーザエクスペリエンスの宣言記述を受け取り、完全に第2のアプリケーションに成り代わってユーザエクスペリエンスを提供してよい。幾つかの実施形態において、このシナリオは、管理コンポーネントが、ダイアログの特定の機能を管理すること等よりむしろ、第2のアプリケーションによって生成されるユーザエクスペリエンスを提示するようコンジットとして動作していると考えれば、より複雑でない実施により管理コンポーネントを可能にし得ることが留意されるべきである。代替的に、共通エクスペリエンスを提供するとの決定がなされると、処理530はブロック536へ進み、管理コンポーネントは共通エクスペリエンスのためのダイアログを生成する。幾つかの実施形態において、共通エクスペリエンスのためのダイアログは、第2のアプリケーションを含むアプリケーションのクラスに共通であってよい。例えば、第2のアプリケーションがプリンタデバイスの仮想化である場合に、共通ダイアログは、プリンタデバイスのクラスのための仮想化アプリケーションに共通であってよい。かかるクラスは、クラスに含まれる全てのデバイス例えば、全てのプリンタデバイス、又は特定の製造者よるデバイス、特定の技術を用いるデバイス例えば、レーザプリンタ又はインクジェットプリンタ、特定の機能例えば、色パレット、白黒、両面印刷、特定の印刷分解能、等をサポートするデバイス、若しくは他の分類のような何らかのサブセットを含んでよい。幾つかの実施形態において、共通ダイアログモデルは、管理コンポーネントがよく知られているデバイスのクラスを扱うために第2のアプリケーションのユーザエクスペリエンスの提示を可能にするモデルの特殊化と見なされてよいことが明らかである。そのような実施形態において、共通ダイアログを提供することは、よく知られているデバイスのクラスのための共通エクスペリエンスを提供する他の仮想化アプリケーションのインストールを通じて、達成されてよい。例えば、双方向の印刷エクスペリエンスのための管理コンポーネントは、第2のアプリケーションからのエクスペリエンスを示すよう構成されてよい。エクスペリエンスの共通のクラスが必要とされる場合に、例えば、全てのプリンタデバイスのクラスのための機能を提示するよう、管理コンポーネントは、このために管理コンポーネントに直接知られる予めインストールされたアプリケーションを自動的に選択し使用してよい。このように、管理コンポーネントは、全てのユーザエクスペリエンスの提示のための共通モデルを保持しながら、よく知られているデバイスのクラスに成り代わって共通エクスペリエンスを提供することを依然として可能にされる。ブロック538で、ダイアログがユーザに提供例えば、表示され、ダイアログを通じてユーザによって与えられる情報は、図5Aに関して記載されるように、更なる処理のために用いられる。図5Bで表されていないが、幾つかの実施形態において、管理コンポーネントは、共通エクスペリエンスと第2のデバイスに特有のエクスペリエンスとの組み合わせであるエクスペリエンスをユーザに提供してよい。例えば、管理コンポーネントは、デバイスの特定のクラスのための共通ダイアログと、より第2のアプリケーションに特有である第2のダイアログとを提供してよい。この第2のダイアログは、第2のアプリケーションと相互作用するための追加のオプションを表示し及び/又はユーザの要求に答えるために第2のアプリケーションによって必要とされる情報を集めるコンパニオンダイアログであってよい。コンパニオンダイアログを有するかかる実施形態は、以下でより詳細に記載される。更に、幾つかの実施形態において、第2のアプリケーションは、第2のアプリケーションの特に必要とされる如何なる情報も決定するよう、管理コンポーネントによって問い合わせを行われる。例えば、第2のアプリケーションがオンラインサービスプロバイダ例えば、電子ビジネスのためのフロントエンドである場合に、必要とされる情報は、氏名、住所、電話番号、電子メールアドレス、クレジットカード番号、配送/集配情報、ユーザの包装好み、等のような、サービスプロバイダの顧客としてのユーザの識別及び/又は支払い情報を含んでよい。幾つかの実施形態において、プライバシー配慮は、ユーザに、如何なる個人的な、私的な、又は微妙な内容の情報を共有する前に情報共有規定への参加を選択するか、又は如何なるそのような情報も共有しないようデータ共有規定への不参加を選択することができるようにしてよい。図5Cは、1又はそれ以上の実施形態に関して、アプリケーション耐用年限管理のための処理560の例を表す。かかる耐用年限管理は、オンラインサービスのためのフロントエンド又は物理デバイスの仮想化を提供する、第1又は第2のアプリケーションとして本願で記載されるアプリケーションを含む1以上のアプリケーションのためである。図5Cで示される動作は、管理コンポーネントによって、又は代替的に、管理コンポーネントと、概してアプリケーションの耐用年限管理をサポートするよう設計された他のシステムコンポーネントとによって、実行されてよい。ステップ562で、処理560は、管理コンポーネントにより登録されており且つソースアプリケーションとの双方向インタラクションに関与するよう利用可能にされる1以上のアプリケーションを発見する。幾つかの実施形態において、この発見処理は、管理コンポーネントによって開始される能動的処理であり、管理コンポーネントは、管理コンポーネントに登録することが可能であるアプリケーションのための通信クエリーを送信する。幾つかの実施形態において、発見処理は、管理コンポーネントが、登録を要求する通信を送信しているアプリケーションをリッスンする点で受動的である。ステップ564で、1以上の発見又は検出されたアプリケーションが管理コンポーネントで登録される。幾つかの実施形態において、管理コンポーネントは、仮想化アプリケーションが、ソースアプリケーションとの特定のデータ交換シナリオに参加するための自身の能力を登録することを可能にする。例えば、印刷のための仮想化アプリケーションは、印刷機能のための対象として使用されることが可能であることを印刷のための管理コンポーネントに知らせることを可能にされてよい。様々なモデルは、管理されたデータ交換における対象アプリケーションとして機能する目的で管理コンポーネントに仮想化アプリケーションを登録するために用いられてよい。幾つかの実施形態において、仮想化アプリケーションの登録は、仮想化アプリケーション及び/又はそれが仮想化する物理デバイス又はサービスの様々な機能及び/又は要件を管理コンポーネントへ伝えることを含んでよい。ステップ566で、処理は、登録されたアプリケーションの使用をサポートする。この使用は、概して図5乃至9に関連して本願の別の場所で記載されるように起こる。ステップ568で、1以上の登録されたアプリケーションは更新されてよい。かかる更新は、アプリケーションの新しい及び/又は異なる機能が管理コンポーネントへ伝えられることを可能にし、それにより、管理コンポーネントは、ユーザへ提供されるエクスペリエンス例えば、ダイアログに新しいオプション及び/又は要件を含めることができる。動作570で、1以上の登録されたアプリケーションは、管理コンポーネントから解除及び/又は抹消されてよく、それにより、それらはもはや、管理コンポーネントによって仲介される双方向インタラクションに関与するのに利用可能でない。図6は、アプリケーション間の双方向インタラクションを仲介するための構成例の図である。図6は図4と同じ要素を表し、図4の説明は大体において図6に当てはまる。しかし、図6は図4とは若干相違しており、図6は、第1のアプリケーション602が第2のアプリケーション604によって処理及び/又は消費されるデータ及び/又はコンテンツを生成している実施形態を表す。そのような状況は、第1のアプリケーション602が、印刷される1以上の文書を生成するワード処理アプリケーションである場合に該当する。かかる実施形態において、第2のアプリケーション604は、第2のデバイス606のような物理的なプリンタデバイスの仮想化、又はプリントサービスプロバイダのようなオンラインサービスプロバイダ608のためのフロントエンド/インターフェースのいずれかであってよい。なお、図6、7A及び7Bの記載は一例として印刷機能を用いるが、実施形態はそのように制限されない。実施形態は、ユーザアプリケーションが、デバイス又はサービスプロバイダに相当する第2のアプリケーションによって消費されるコンテンツを生成している他のシナリオをサポートする。例えば、このシナリオは、マルチメディアコンテンツを生成する第1のアプリケーションと、処理例えば、サービスプロバイダ608が映像加工及び/又は編集サービスである場合、表示例えば、第2のデバイス606がビデオモニタ、テレビ受像機、録画デバイス、等である場合、及び他の目的のためにマルチメディアコンテンツを消費する第2のアプリケーションとをサポートしてよい。他の例となるシナリオでは、第1のアプリケーションは、ナビゲーションデバイスによって消費される航路定点、経路、及び/又は他の地理若しくは位置情報を生成するマッピングプログラムであってよい。更なる例として、第1のアプリケーションは、家、職場、又は他の環境において様々な電子デバイスを管理する命令の組を生成するオートメーションプログラムであってよい。このように、実施形態は、インタラクションがソースアプリケーションと仮想化デバイスとの間の特定のフォーマットにおけるデータの交換として記載され得る事実上如何なるシナリオもサポートし、よって、直接にデバイスへプログラミングする必要性を排する。図7A及び7Bは、第1のアプリケーションが第2のアプリケーションによって消費されるデータ及び/又はコンテンツを生成している実施形態に従って、2つのアプリケーションの間の双方向インタラクションを仲介するための処理700の例を表す。幾つかの実施において、処理700は、管理コンポーネント308の部分として実行する。ブロック702で、第1のアプリケーションによって生成されたコンテンツを処理及び/又は消費する第2のアプリケーションを示す選択が受け取られてよい。幾つかの実施形態において、第2のアプリケーションは、第1のアプリケーションのユーザによって選択され、管理コンポーネントの制御、ダイアログ、又は他のユーザインターフェース要素の使用を通じてなされる。例えば、印刷機能に関連する幾つかの実施形態において、第1のアプリケーションはワード処理、画像編集、又は他の文書処理ユーザアプリケーションであってよい。ユーザは、印刷メニューを開くか又は印刷ボタンを押して、管理コンポーネント308に、ユーザが文書を印刷又は処理する対象のためのオプションのリストを介して第2のアプリケーションを選択するユーザエクスペリエンスを提示させてよい。この選択は、印刷対象についてのユーザの選択を示すOS及び/又は管理コンポーネントへの通信をトリガしてよい。ブロック704で、管理オブジェクトが、図5Aに関連して記載されたように、第1及び第2のアプリケーションの間のインタラクションを仲介するためにインスタンス化される。幾つかの実施形態において、第2のアプリケーションは、第1のアプリケーションによって生成されたコンテンツを処理し、消費し、又は別なふうに使用する対象デバイスの仮想化である。例えば、第2のアプリケーションは、ワード処理アプリケーションによって生成される文書を印刷する印刷デバイス、又は第1のアプリケーションによって生成されるか若しくは該第1のアプリケーションからストリーミングされるマルチメディアコンテンツを表示する表示デバイス、モニタ、テレビ受像機の仮想化であってよい。他の実施形態において、第2のアプリケーションは、例えば、第1のアプリケーションによって生成されたコンテンツを何らかの方法で処理することによってサービスを提供することができるビジネス又は他のエンティティのようなオンラインサービスプロバイダのためのフロントエンド又はインターフェースである。例えば、そのようなオンラインサービスプロバイダは、出版社、印刷サービスプロバイダ、画像処理会社、音声/映像処理、又は他のエンティティであってよい。ブロック706で、管理オブジェクト及び/又は管理コンポーネントは、第2のアプリケーションに、その機能及び/又はその要件を決定するよう問い合わせる。機能は、第1のアプリケーションで生成されたコンテンツを処理又は消費するための第2のアプリケーションの能力に関する制限、オプション又は他の情報を含んでよい。例えば、第2のアプリケーションが印刷デバイスを仮想化する場合に、決定される機能は、印刷デバイスの印刷機能例えば、利用可能な色パレット、両面印刷、用紙タイプ、出力サイズ、倍率、横長対縦長レイアウト、ページ番号、ウォータマークの挿入、等を含んでよい。他の例として、第2のアプリケーションが表示デバイス又は映像処理デバイスを仮想化する場合に、決定される機能は、サポートされる音声/映像フォーマット、表示サイズ、等を含んでよい。幾つかの実施形態において、図5Bに関連して上述されたように、第2のアプリケーションは更に、第2のアプリケーションの特に必要とされる如何なる情報も決定するよう問い合わせを行われてよい。ブロック708で、1以上のオプションが、第2のアプリケーションの決定された機能及び/又は要件に基づき、コンテンツを処理するために決定される。それらのオプションは、ブロック710で、ダイアログの部分としてユーザに提示されてよい。ユーザは、コンテンツを処理するために1以上のオプションを選択し、及び/又は第2のアプリケーションによって必要とされる如何なる情報も供給するために、ダイアログを用いてよい。幾つかの実施形態において、ダイアログは、第2のアプリケーションの全てのタイプにわたって共通であってよい。他の実施形態では、ダイアログは、第2のアプリケーションの特定のタイプにわたって共通例えば、印刷デバイスを仮想化するアプリケーションに一般的であってよい。ダイアログは、第2のデバイスの機能及び/又は要件に特有のオプションを入力される。図5Bに関連して記載されたように、ダイアログは、管理コンポーネントによって生成される共通ユーザエクスペリエンス、又はより第2のアプリケーションに特有であり且つ第2のアプリケーションによって生成されるエクスペリエンスのいずれかであるユーザエクスペリエンスの部分であってよい。幾つかの実施形態において、第2のダイアログがさらにブロック710でユーザに提示されてよい。この第2のダイアログは、コンテンツを処理するためのオプションの第2組をユーザに提示してよい。幾つかの実施形態において、第2のオプションの組は、第2のアプリケーションに特有であってよく、ブロック706での問い合わせの部分として、又は管理コンポーネント又はオブジェクトと第2のアプリケーションとの間の別個の通信の部分として第2のアプリケーションから受信されてよい。第2のアプリケーションがデバイスを仮想化する実施形態において、この第2のオプションの組は、そのデバイスのクラスにとって共通である機能を超えて、デバイスの特定の機能を表してよい。例えば、プリンタデバイスは、プリンタが利用可能な通常の機能及び/又はオプションの多くを有してよいが、鮮明化された画像のプリンタ、より鮮明な、利用可能な色パレット、等のような、プリンタモデル及び/又は製造者にとって追加的な機能を有してよい。第2のダイアログ例えば、コンパニオンダイアログは、特定のデバイス製造者が、任意にデバイスモデル及び/又は製造者にとって特有の商標設定、マーケティング及び更なる情報とともに、デバイスに特有のオプションを第2のダイアログに含めることによって、そのデバイスに特有であるユーザエクスペリエンスを作成することを可能にする。そのようなコンパニオンダイアログはまた、第2のアプリケーションがオンラインサービスプロバイダ又は電子ビジネス例えば、プリントショップに相当する場合に特に有用であり得る。この場合に、コンパニオンダイアログは、ユーザのニーズに答えるようサービスプロバイダによって必要とされる顧客、支払い、及び如何なる他の情報例えば、上記の必要とされる情報も収集するよう構成されてよい。コンパニオンダイアログはまた、サービスプロバイダに特有の商標設定、マーケティング、連絡先、等を表示してよい。幾つかの実施形態において、上記のダイアログは、第1のアプリケーションからではなく、OS内で実行される管理コンポーネント又はオブジェクトから表示される。よって、本願で記載される実施形態は、第1のアプリケーションを、この機能を提供する必要性から解放する。アプリケーションに代えて管理コンポーネントからダイアログを提供することによって、ユーザは、デバイスと相互作用するための共通した且つより機能豊富なエクスペリエンスを提供され得る。図7Bへ進むと、ブロック712で、選択されたオプションが第1のアプリケーションへ供給される。それらのオプションは、上記の第1及び/又は第2のダイアログを通じてユーザによって選択されたオプションを含んでよく、また、特にユーザによって選択されていない1以上のデフォルトのオプションを含んでよい。ブロック714で、出力ストリームが第1のアプリケーションから受信される。この出力ストリームは、ブロック712で第1のアプリケーションへ供給されたオプションに基づきコンテンツについて生成されてよい。例えば、印刷シナリオでは、オプションは、ユーザによって選択された印刷オプションを含んでよい。それらのオプションが第1のアプリケーション例えば、ワード処理アプリケーションへ供給される場合に、アプリケーションは、オプションに基づき文書をリフローし、オプションに基づき印刷される各ページの様式化された記述を生成してよい。幾つかの実施形態において、様式化された記述は、Adobe登録商標のポストスクリプト登録商標又はXMLPaperSpecificationXPSのような、ページに関する情報を記述する共通の抽象フォーマットである文書交換フォーマットにある。よって、印刷の例では、受信される出力ストリームは、アーカイバル出力ストリームであってよい。なお、実施形態は特定のタイプのストリームに制限されない。受信される出力ストリームは、カメラ又は他のデバイスがコンテンツ例えば、ライブの連続したデータストリームをストリーミングしている限りストリーミングされる映像ストリームのような、所定の境界を有さないストリームであってよい。ストリームはまた、テキスト、グラフィクス、マルチメディア、又は他のタイプのデータを含むストリーミングされるデータファイルのような、既知の境界により固定されるストリームであってもよい。様々なフォーマットが、本願で記載される実施形態の精神又は適用範囲から逸脱することなしに、出力ストリームについてサポートされてよい。更に、出力ストリームは明瞭さのためにストリームとして記載されるが、実施形態は、ストリームタイプ及びファイルタイプの両方を含む様々なタイプのデータパッケージ又はオブジェクトを含む出力ストリームをサポートする。任意に、ブロック716で、出力ストリームのプレビューがユーザに提示されてよい。印刷の例では、プレビューは、印刷される出力ストリームの印刷プレビューであってよい。OS内の管理コンポーネントからそのようなプレビューを提供することは、アプリケーションをそのような機能を提供する必要性から自由にするとともに、より豊かな共通ユーザエクスペリエンスが提供されることを可能にすることができる。図示されていないが、プレビューはまた、ユーザが、出力ストリームを第2のアプリケーションへ送信する前に変更し且つ手直しするよう、選択されたオプションを変更することを可能にしてよい。他の実施形態において、プレビューを提示する責任は管理コンポーネントに任されるが、プレビューの中身の生成はアプリケーションの制御下のままである。ブロック718で、出力ストリームは、第2のアプリケーションによって消費され、処理され、又は別なふうに使用されるよう第2のアプリケーションへ供給される。第2のアプリケーションがデバイス例えば、プリンタの仮想化である実施形態において、出力ストリームは、ブロック720で第2のアプリケーションを介してデバイスへスプールされ、又は別なふうに供給されてよい。第2のアプリケーションがオンラインサービス例えば、プリントサービスのフロントエンドである実施形態において、出力ストリームは、例えば、ユーザの指定されるオプションに従って完了されるプリントジョブとしてオンラインサービスへ与えられる。最終の宛先へ出力ストリームを供給する方法は実施形態によって制限されず、宛先へ出力ストリームのコンテンツを転送する如何なる方法もサポートされる。幾つかの実施形態において、デバイスへ直接コンテンツを送信することに代えて、コンテンツはサーバデバイス例えば、印刷シナリオにおけるプリントサーバを介して送信される。更に、対象デバイス又はサービスがストリームのコンテンツを直接サポートしない幾つかの実施形態においては、ストリームがデバイスによってサポートされるフォーマット例えば、印刷の場合におけるPDLへ変換される中間ステップが存在してよい。幾つかの場合に、この変換は、デバイス又はサービスへストリームを送信する前に実行されてよい。コンテンツがサーバ例えば、プリントサーバへ送信され、次いでサーバがストリームを対象デバイスへ転送する実施形態では、変換は、ストリームがサーバへ送信された後且つそれが対象デバイスへ送信される前に起こり得る。幾つかの実施形態において、変換はデバイスドライバ例えば、プリンタドライバによって実行される。図8は、アプリケーション間の双方向インタラクションを仲介する構成例の図である。図8は、図4と同様の要素を表し、図4の記載は大体において図8に当てはまる。しかし、図8は図4とは若干相違し、図8は、第1のアプリケーション802が第2のアプリケーション804によって生成されたデータ及び/又はコンテンツを消費している実施形態を表す。そのような状況は、第1のアプリケーション802が、第2のデバイス806例えば、ウェブカメラまたは他のビデオカメラによって生成されて第2のデバイス806の仮想化として機能する第2のアプリケーション804を通じて提供されるビデオコンテンツを用いるビデオ会議又はビデオチャットアプリケーションである場合に該当する。なお、図8、9A及び9Bの記載は一例としてカメラ機能を用いており、実施形態はそのように制限されない。実施形態は、ユーザアプリケーションが、デバイスを仮想化する第2のアプリケーションによって生成されたコンテンツを消費している他のシナリオを含む。例えば、1つのシナリオでは、フィットネスアプリケーションが、フィットネスデバイス例えば、エクササイズマシンや生体測定モニタ例えば、心拍モニタからのストリーミングされたデータ、又は他のデータを受け取ってよい。他の例として、第1のアプリケーションは、温度、圧力、湿度、風速、気中浮遊汚染物質/粒子、又は他のデータを測定する環境センサからの実時間、半実時間、及び/又は過去のデータを受信する環境、気候、又は他のモニタリングプログラムであってよい。概して、第1のアプリケーションによって受信及び/又は送信されるデータは、実時間ストリーム、又は1以上の別個のファイルのストリームの形をとってよい。図9A及び9Bは、第1のアプリケーションが第2のアプリケーションによって生成されたデータを消費している実施形態に従って、2つのアプリケーション間の双方向インタラクションを仲介する処理900の例を表す。幾つかの実施形態において、処理900は管理コンポーネントの部分として実行する。ブロック902で、第1のアプリケーションによって消費されるコンテンツを提供する第2のアプリケーションを示す選択が受け取られる。幾つかの実施形態において、第2のアプリケーションは、第1のアプリケーションのユーザによって選択され、管理コンポーネントの制御、ダイアログ、又は他のユーザインターフェース要素の使用によりなされる。例えば、カメラに関連する実施形態では、第1のアプリケーションはビデオチャット又はビデオ会議アプリケーションであってよい。ユーザは、会議又はチャットセッションにおいて使用するビデオデータのソースを選択するメニュー又は他のユーザインターフェース要素を開いて、管理コンポーネントに第2のアプリケーションを選択するユーザエクスペリエンスを提示させてよい。第2のアプリケーションは、ビデオデータをストリーミングするデバイス例えば、ウェブカメラ又は他のカメラの仮想化であってよい。この選択は、ビデオソースのためのユーザの選択を示すOS及び/又は管理コンポーネントへの通信をトリガしてよい。ブロック904で、管理オブジェクトが、図5に関して記載されたように、第1及び第2のアプリケーションの間のインタラクションを仲介するためにインスタンス化される。ブロック906で、管理オブジェクト及び/又は管理コンポーネントは、第2のアプリケーションに、コンテンツを提供するためのその機能及び/又はその要件を決定するよう問い合わせを行う。例えば、第2のアプリケーションがカメラデバイスを仮想化する場合に、決定される機能は、輝度、色調、色パレット、サポートされる映像フォーマット及び画像サイズを設定する能力、効果を生成する能力、顔認識を行う能力、等を含むがこれらに限られないカメラの映像又は音声機能を含んでよい。ブロック908で、1以上のオプションが、第2のアプリケーションの決定された機能及び/又は要件に基づき、コンテンツを提供するために決定される。それらのオプションは、ブロック910で、ユーザエクスペリエンス例えば、1又はそれ以上のダイアログの部分としてユーザに提示されてよい。本願で論じられるように、幾つかの実施形態において、ダイアログは管理コンポーネントから提示されてよい。しかし、他の実施形態においては、ダイアログは第2のアプリケーション例えば、仮想化されたアプリケーションから提示されてよい。次いで、ユーザは、第2のアプリケーションがコンテンツを提供するための1以上のオプションを提供し、及び/又は第2のアプリケーションによって必要とされる何らかの情報を提供するためにダイアログを用いてよい。上述されたように、幾つかの実施形態において、ダイアログは、全てのタイプの第2のアプリケーションにわたって共通であってよい。他の実施形態においては、ダイアログは、特定のクラス又はタイプの第2のアプリケーションにわたって共通例えば、カメラを仮想化するアプリケーションに一般的であってよい。ダイアログは、第2のデバイスの機能及び/又は要件に関連するオプションを入力される。図5Bに関連して記載されるように、ダイアログは、管理コンポーネントによって生成される共通のユーザエクスペリエンス、又は第2のアプリケーションにより特有であり且つ第2のアプリケーションによって生成されるエクスペリエンスのいずれかであるユーザエクスペリエンスの部分であってよい。更に、幾つかの実施形態において、第2のダイアログが更にブロック910でユーザに提示されてよい。この第2のダイアログは、図7Aに関して上述されたように、特定の第2のアプリケーション及び/又はそれが仮想化するデバイスに特有の第2のオプションの組をユーザに提示してよい。図9Aに続いて、ブロック912で、選択されたオプションが第2のアプリケーションへ提供される。それらのオプションは、上記のダイアログを通じてユーザによって選択されたオプションを含んでよく、更に、特にユーザに選択されない1以上のデフォルトのオプションを含んでよい。第2のアプリケーションは次いで、特定されたオプションに基づき所望のコンテンツを生成してよい。ブロック914で、出力ストリームが第2のアプリケーションから受け取られ、ブロック916で、出力ストリームが、第1のアプリケーションによって消費され、処理され、又は別なふうに使用されるよう第1のアプリケーションへ供給される。先の例と同じく、第2のアプリケーションはデバイス例えば、カメラの仮想化であってよい。第2のアプリケーションはまた、オンラインサービス例えば、安全な映像フィード又は他のコンテンツを提供するサービスへのフロントエンド/インターフェースであってよい。実施形態は、出力ストリームを受け取る事実上如何なる方法及び/又はモデルを用いてもよい。[結び]技術は、構造的な特徴及び/又は方法論的な動作に特有の言語において記載されてきたが、添付の特許請求の範囲は、必ずしも、記載される具体的な特徴又は動作に制限されないことが理解されるべきである。むしろ、具体的な特徴及び動作は、かかる技術を実施する例となる形態として開示される。