亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

呈現(xiàn)設(shè)備作為應(yīng)用的制作方法

文檔序號:6376783閱讀:327來源:國知局
專利名稱:呈現(xiàn)設(shè)備作為應(yīng)用的制作方法
呈現(xiàn)設(shè)備作為應(yīng)用
背景技術(shù)
從對大多數(shù)用戶有利的角度來看,應(yīng)用與設(shè)備的交互是簡單的。例如,當(dāng)文字處理程序的用戶想要打印文檔時,用戶只需要按下按鈕(或與對話框交互),然后在打印機(jī)處取走打印好的紙張。然而,在軟件和硬件級處的場景的背后,該過程可能涉及若干系統(tǒng)服務(wù)的復(fù)雜集成,導(dǎo)致打印的紙張停留在打印機(jī)托盤中。在許·多情況下,這種復(fù)雜性產(chǎn)生可抑制應(yīng)用與設(shè)備之間的交互的靈活性的緊密結(jié)合。設(shè)備通常經(jīng)由設(shè)備驅(qū)動程序呈現(xiàn)給計算設(shè)備。設(shè)備驅(qū)動程序是強(qiáng)類型化組件,其使得應(yīng)用和/或系統(tǒng)服務(wù)能夠直接和與驅(qū)動程序相關(guān)聯(lián)的設(shè)備交互。典型的設(shè)備驅(qū)動程序主要負(fù)責(zé)使主機(jī)計算設(shè)備和其所附連到的設(shè)備之間能夠通信。這種通信可經(jīng)由與中央處理器(CPU)上的特定針腳相關(guān)聯(lián)的電路板上的直接鏈路、經(jīng)由諸如外設(shè)部件互連(PCI)、內(nèi)置集成電路(I2C)或通用串行總線(USB)的通用擴(kuò)展總線、或者經(jīng)由諸如以太網(wǎng)的網(wǎng)絡(luò)媒介。在這種鏈路上的通信涉及命令和控制以及數(shù)據(jù)交換。設(shè)備驅(qū)動程序提供對特定設(shè)備的標(biāo)準(zhǔn)化(例如系統(tǒng)限定的)視圖,使得驅(qū)動程序表示一類設(shè)備;或者用于所關(guān)注的特定設(shè)備的專用實(shí)現(xiàn)。例如,從應(yīng)用的傳統(tǒng)打印可如圖I所描繪的那樣進(jìn)行。如圖所示,過程100開始于框102,其中用戶指示應(yīng)用(例如,文字處理應(yīng)用、圖像編輯器、電子表格程序等)將在特定打印設(shè)備上打印文檔。在框104中,應(yīng)用為被請求的打印機(jī)加載特定設(shè)備情境。設(shè)備情境常常是系統(tǒng)提供的實(shí)際設(shè)備的抽象且使得應(yīng)用、系統(tǒng)服務(wù)和打印機(jī)設(shè)備驅(qū)動程序之間能夠?yàn)榱诵纬纱蛴≥敵龆M(jìn)行交互。根據(jù)設(shè)備情境中提供的信息,應(yīng)用為特定打印設(shè)備確定可用于打印的一個或多個設(shè)置和/或選項(xiàng)。在框106中,應(yīng)用基于用戶指定的設(shè)置和/或選項(xiàng)創(chuàng)建用于待打印的每頁文檔的固定頁面布局的形式化描述。在一些情況下,代替創(chuàng)建固定的頁面布局,每一頁被描繪(例如,如在許多噴墨打印機(jī)中那樣)。在框108中,應(yīng)用經(jīng)由設(shè)備情境提交用于每一頁的形式化描述,這導(dǎo)致或者將(一個或多個)形式化頁面描述直接假脫機(jī)輸入至打印機(jī)或者經(jīng)由打印服務(wù)器提交該描述。在本示例中,應(yīng)用創(chuàng)建打印布局,然后經(jīng)由設(shè)備情境直接與設(shè)備交互以直接協(xié)商用于輸出的格式。然后設(shè)備情境將輸出傳送給打印子系統(tǒng),打印子系統(tǒng)接著進(jìn)行打印。因此,應(yīng)用或多或少地直接與打印機(jī)或其它類型的設(shè)備交互,從而在應(yīng)用和設(shè)備之間形成緊密結(jié)合。

發(fā)明內(nèi)容
本公開提供了一種用于在應(yīng)用和設(shè)備之間交互的新范例。如下所述,一個或多個管理組件管理并調(diào)解應(yīng)用之間的雙向交互。這使得能夠在第一應(yīng)用和第二應(yīng)用之間交互,第二應(yīng)用為物理設(shè)備(例如,打印機(jī)、網(wǎng)絡(luò)攝影機(jī)、視頻顯示器或其它設(shè)備)的虛擬化或提供到服務(wù)提供商、在線業(yè)務(wù)等的接口。這樣,可將設(shè)備看作與另一應(yīng)用交互的服務(wù)。例如,在第二應(yīng)用為物理打印設(shè)備的虛擬化的情況中,第二應(yīng)用用作打印服務(wù)而不是物理打印設(shè)備的表示,以便將設(shè)備的功能虛擬化到服務(wù)契約中。(一個或多個)管理組件可充當(dāng)操作系統(tǒng)(OS)的一部分,以允許OS協(xié)調(diào)雙向、應(yīng)用至應(yīng)用的交互,并且使得在交互中能具有更大靈活性。一些實(shí)施例包括應(yīng)用編程接口(API),以允許應(yīng)用經(jīng)由OS的(一個或多個)管理組件彼此交互。在本文所述實(shí)施例提供的范例中,數(shù)據(jù)交換的重要性增加,這種數(shù)據(jù)交換由在兩個應(yīng)用的情境中的用戶交互而不是命令和控制來調(diào)解。這與傳統(tǒng)的設(shè)備驅(qū)動程序模型形成對比,傳統(tǒng)模型支持由用戶提供的有限調(diào)解并且其中命令和控制扮演整個驅(qū)動程序設(shè)計的更重要部分。提供本發(fā)明內(nèi)容用于以簡化形式引入概念的選擇,這些概念將在下面的具體實(shí)施方式
中進(jìn)一步描述。本發(fā)明內(nèi)容并非旨在標(biāo)識要求保護(hù)的主題的關(guān)鍵特征或必要特征,也不旨在用來限制要求保護(hù)的主題的范圍。


參考附圖來描述詳細(xì)描述。在附圖中,附圖標(biāo)記中最左邊的數(shù)字(一個或多個)表示該附圖標(biāo)記首次出現(xiàn)的附圖。在不同附圖中相同的附圖標(biāo)記表示相似或相同的項(xiàng)目。 圖I描繪了用于從應(yīng)用打印文檔的傳統(tǒng)過程。圖2是描繪了其中可操作一個或多個實(shí)施例的示例環(huán)境的示意圖。圖3是針對一個或多個實(shí)施例的可作為圖2的示例環(huán)境的一部分部署的示例計算設(shè)備的示意圖。圖4是針對一個或多個實(shí)施例的用于調(diào)解應(yīng)用之間的雙向交互的示例配置的示意圖。圖5A描繪了針對一個或多個實(shí)施例的用于調(diào)解應(yīng)用之間的雙向交互的示例性過程。圖5B描繪了針對一個或多個實(shí)施例的用于提供在應(yīng)用之間的雙向交互的情境中的用戶體驗(yàn)的示例性過程。圖5C描繪了針對一個或多個實(shí)施例的用于應(yīng)用壽命管理的示例性過程。圖6是針對一個或多個實(shí)施例的用于調(diào)解應(yīng)用之間的雙向交互的示例配置的圖。圖7A和7B描繪了針對一個或多個實(shí)施例的用于調(diào)解應(yīng)用之間的雙向交互的示例性過程。圖8是針對一個或多個實(shí)施例的用于調(diào)解應(yīng)用之間的雙向交互的示例配置的圖。圖9A和9B描繪了針對一個或多個實(shí)施例的用于調(diào)解應(yīng)用之間的雙向交互的示例性過程。
具體實(shí)施例方式概述
簡而言之,實(shí)施例涉及調(diào)解應(yīng)用之間的交互的管理組件(或管理應(yīng)用)。通過這種調(diào)解,一個應(yīng)用產(chǎn)生由另一應(yīng)用消費(fèi)和/或處理的輸出。管理組件協(xié)調(diào)(broker)這種交互并管理與交互相關(guān)聯(lián)的用戶體驗(yàn)。在一些實(shí)施例中,管理組件可調(diào)解在第一應(yīng)用(例如,諸如文字處理應(yīng)用或其它應(yīng)用的用戶應(yīng)用)和第二應(yīng)用之間的雙向交互。第二應(yīng)用可以是設(shè)備(例如,諸如打印機(jī)的外圍設(shè)備)的虛擬化,或者第二應(yīng)用可以是到服務(wù)提供商(例如,在線打印服務(wù)業(yè)務(wù))的接口或前端。如本文所用,體驗(yàn)和用戶體驗(yàn)是指呈現(xiàn)給用戶以從用戶收集信息和/或?yàn)橛脩籼峁┬畔⒌囊粋€或多個對話框、顯示畫面、窗口、控件,以及其呈現(xiàn)的流、布置和/或定時。雖然本文可以使用術(shù)語對話框,但應(yīng)當(dāng)理解,該術(shù)語用于清楚描述的目的,并且應(yīng)理解為描述不限于單個對話框的廣義的體驗(yàn)。如本文所用,虛擬化描述了一種過程,其中應(yīng)用將硬件設(shè)備模擬、模仿或人格化為其它硬件或軟件組件,使得該設(shè)備和另一組件之間的交互經(jīng)由應(yīng)用進(jìn)行。不像通信重點(diǎn)往往集中在設(shè)備的命令和控制上的傳統(tǒng)設(shè)備驅(qū)動程序設(shè)計,本文所述虛擬化更多地關(guān)注操作的意圖和過程中交換的數(shù)據(jù)。這種不同的關(guān)注重點(diǎn)可使用作為示例的打印情景來示出。盡管傳統(tǒng)打印驅(qū)動程序主要關(guān)注如何與打印機(jī)會話并指示其在頁面上打印內(nèi)容,但本文所述虛擬化關(guān)注打印操作本身,并且將如何完成打印的實(shí)現(xiàn)留給虛擬化應(yīng)用。雖然這種虛擬化可包括設(shè)備驅(qū)動程序,但其也可包括提供比設(shè)備驅(qū)動程序更豐富的功能的虛擬化的應(yīng)用。在一些實(shí)施例中,管理組件是在客戶端設(shè)備上運(yùn)行的OS的一部分。此外,一些實(shí)施例包括管理API,其允許第一應(yīng)用(例如,諸如文字處理應(yīng)用的用戶應(yīng)用)與管理組件交互,以使得第一應(yīng)用和第二應(yīng)用之間能夠雙向交互,第二應(yīng)用是設(shè)備的虛擬化或到在線服務(wù)的前端。 由于交互是雙向的,第一用戶應(yīng)用可或者生成由第二應(yīng)用消費(fèi)的內(nèi)容,或者可以消費(fèi)由第二應(yīng)用生成的內(nèi)容。第一情景的示例是文字處理應(yīng)用(例如,Microsoft Word 、Corel WordPerfect 等),其生成將由打印機(jī)設(shè)備打印或作為打印作業(yè)提交給在線打印服務(wù)提供商的文檔。在該示例中,第二應(yīng)用充當(dāng)打印機(jī)設(shè)備的虛擬化或到打印服務(wù)提供商的前端/接口。第二情景的示例是使用由網(wǎng)絡(luò)攝影機(jī)或其它攝像設(shè)備產(chǎn)生的音頻/視頻內(nèi)容流的在線視頻會議或聊天程序(例如,Skype > Windows Live Messenger、Yahoo! Messenger等)。在該示例中,第二應(yīng)用充當(dāng)攝像設(shè)備的虛擬化。這兩種情景都將在下文中更詳細(xì)地描述。此外,雖然本文所列示例描述了雙向交互,但實(shí)施例不受此限制。由于管理組件和相關(guān)聯(lián)的API產(chǎn)生用于應(yīng)用(包括虛擬設(shè)備應(yīng)用)彼此通信的共同框架,實(shí)施例支持靈活的范例,其中能夠在多個應(yīng)用和設(shè)備之間進(jìn)行多向通信。例如,在一些實(shí)施例中,第一用戶應(yīng)用可充當(dāng)將發(fā)送給第二應(yīng)用的內(nèi)容的創(chuàng)建者和從第三應(yīng)用接收的其它內(nèi)容的消費(fèi)者兩者,其中在應(yīng)用之間的每對交互由OS的管理組件來調(diào)解。本文所述實(shí)施例允許管理組件調(diào)解兩個應(yīng)用之間的交互,并且為應(yīng)用彼此交互提供更大的靈活性。這種增加的靈活性可使用作為示例的打印功能來示出。傳統(tǒng)上,文字處理應(yīng)用為文檔創(chuàng)建打印布局,然后與打印機(jī)設(shè)備情境交互以便與該設(shè)備直接協(xié)商文檔的輸出格式。然后設(shè)備情境將打印布局傳送給打印子系統(tǒng),打印子系統(tǒng)在打印機(jī)上打印文檔。因此,在輸出打印布局中文檔的輸送由應(yīng)用經(jīng)由設(shè)備情境直接對打印機(jī)設(shè)備進(jìn)行。給定設(shè)備情境和設(shè)備驅(qū)動程序之間的傳統(tǒng)結(jié)合,這導(dǎo)致特定的命令集以打印機(jī)理解的某頁面定義語言(例如,PostScript或PCL)發(fā)送給打印機(jī)。這些命令被連接的打印機(jī)硬件直接轉(zhuǎn)化為動作。本文所述實(shí)施例與這種傳統(tǒng)的情景的不同在于,管理組件充當(dāng)源應(yīng)用(例如,文字處理應(yīng)用)和虛擬化打印概念(使用打印情景作為示例)的應(yīng)用之間的中介。代替直接與打印機(jī)設(shè)備交互,源應(yīng)用與中間管理組件交互,中間管理組件然后代表源應(yīng)用與虛擬化的應(yīng)用進(jìn)行交互。因此,源應(yīng)用可以在與用于打印機(jī)設(shè)備的特定設(shè)備驅(qū)動程序之間沒有任何直接交互的情況下操作。由于管理組件是源應(yīng)用和虛擬化應(yīng)用之間的中介,在這種交換中,相比基于傳統(tǒng)打印機(jī)情境的模型,源應(yīng)用可具備關(guān)于由打印組件支持的特征的一定程度上更有限的信息集。例如,所提供的信息可局限于諸如目標(biāo)輸出的大小(例如,信紙大小紙張)、其取向、以及目標(biāo)輸出的分辨率的信息。這些能力可由管理組件決定,如下文進(jìn)一步描述的。因此,實(shí)施例使得能夠從由應(yīng)用直接命令和控制設(shè)備的傳統(tǒng)模型轉(zhuǎn)變?yōu)椴僮鞯母庋b的表示(encapsulated representation)。在示例打印情景中,這導(dǎo)致采用諸如OpenXPS或Adobe 便攜文件格式(PDF)的更高級文檔交換格式的打印內(nèi)容的交換,而不是關(guān)于打印機(jī)應(yīng)如何操縱硬件以形成打印輸出的離散指令的交換。在一些實(shí)施例中,管理組件使虛擬化應(yīng)用能夠獲得其參與某些數(shù)據(jù)交換情景的能力。例如,用于打印的虛擬化應(yīng)用能夠通知用于打印的管理組件其準(zhǔn)備好作為目標(biāo)用于打印功能??蓪⒏鞣N模型用于配準(zhǔn)(register)虛擬化應(yīng)用與管理組件,以便在管理的數(shù)據(jù)交換中充當(dāng)目標(biāo)應(yīng)用。 此外,通過將用于操作的所選目標(biāo)移出源應(yīng)用并移入管理組件,更大的靈活性被引入整個系統(tǒng)中以適應(yīng)設(shè)備或服務(wù)的新創(chuàng)新或新能力。例如,當(dāng)管理組件為OS的一部分時,可隨時間推移而通過更新引入用于支持不同類型的虛擬化應(yīng)用的新形態(tài),而不需要更改源應(yīng)用。這不同于傳統(tǒng)的設(shè)備驅(qū)動程序模型,其中通過修改源應(yīng)用來添加用于特定新形態(tài)的支持而支持新形態(tài)。此外,管理組件作為中介的使用在所得用戶體驗(yàn)中提供了更大的靈活性。例如,在一些實(shí)施例中,管理組件可詢問打印機(jī)設(shè)備(例如,通過與人格化打印機(jī)設(shè)備的虛擬應(yīng)用交互)以確定其能力和可用打印選項(xiàng)。此外,管理組件可呈現(xiàn)公共對話框,以使用戶能夠選擇打印選項(xiàng)(例如,紙張大小、頁碼、多面、調(diào)色板等)并減少該任務(wù)的文字處理應(yīng)用。相似地,管理組件也可提供用戶界面以允許用戶預(yù)覽待打印的文檔,并且也減少該任務(wù)的文字處理應(yīng)用。在其它實(shí)施例中,管理組件可將用戶界面委托給虛擬化應(yīng)用來負(fù)責(zé)。這為虛擬化過程提供了明顯的益處,因?yàn)椴辉偈茉O(shè)備驅(qū)動程序抽象的傳統(tǒng)約束的限制。通常,實(shí)施例操作來從文字處理應(yīng)用抽象出打印功能和用戶體驗(yàn)(或抽象出其它與設(shè)備有關(guān)的交互),并且將格式協(xié)商功能與內(nèi)容流分開。這樣,實(shí)施例可允許呈現(xiàn)與打印(或其它類型的應(yīng)用與設(shè)備的交互)有關(guān)的更豐富的用戶體驗(yàn)。此外,本文所述實(shí)施例有利于使用充當(dāng)在線服務(wù)提供商的前端和/或接口的應(yīng)用。同樣使用打印作為示例,文字處理應(yīng)用的用戶可選擇針對打印服務(wù)提供商的應(yīng)用作為打印目標(biāo)。從用戶的角度來看,用戶選擇打印到目標(biāo),相反,管理組件啟動虛擬化的應(yīng)用以便完成打印體驗(yàn)。在一些情況下,該虛擬化應(yīng)用可呈現(xiàn)相比物理打印機(jī)設(shè)備不同的用戶體驗(yàn)。例如,可要求用戶提供某些形式的識別或證明以管理支付或其它審計。同樣,打印服務(wù)處可用的功能的類型可以不同于可從傳統(tǒng)打印設(shè)備得到的那些類型。一旦收集到合適的信息,管理組件可將文檔作為打印作業(yè)請求的一部分提交給打印服務(wù)提供商,而不是將文檔發(fā)送至打印設(shè)備以打印。用戶可接著前進(jìn)到打印服務(wù)提供商的商店以挑選輸出打印的文檔、出版的書籍、小冊子、海報或事實(shí)上任何其它格式的出版物。這樣,實(shí)施例允許這樣的服務(wù)提供商有效地人格化打印設(shè)備,以使得用戶能夠更容易地利用其服務(wù),而不需要創(chuàng)建設(shè)備驅(qū)動程序的開銷。此外,由于管理組件和API提供統(tǒng)一的用戶體驗(yàn)以允許用戶應(yīng)用(例如,文字處理應(yīng)用)與設(shè)備(例如,打印機(jī))或在線服務(wù)提供商(例如,在線打印店)交互,用戶應(yīng)用開發(fā)者不再必須編寫其應(yīng)用以支持不同類型的設(shè)備或各種在線服務(wù)提供商接口。管理組件和統(tǒng)一的API從用戶應(yīng)用提取出該功能,形成通用的、可能功能更豐富的用戶體驗(yàn)。在一些實(shí)施例中,管理組件也通過虛擬化應(yīng)用而使得更豐富的生態(tài)系統(tǒng)能支持類似設(shè)備的行為。例如,在傳統(tǒng)的設(shè)備驅(qū)動程序模型中,設(shè)備驅(qū)動程序的安裝視設(shè)備的存在情況而定。設(shè)備存在情況可取決于經(jīng)由其上操作管理組件的許多公共外設(shè)互連總線(例如,PCI、I2C、USB等)之一直接到主機(jī)計算機(jī)的物理連接。此外,設(shè)備存在情況也可取決于設(shè)備在網(wǎng)絡(luò)上的存在情況。在該傳統(tǒng)模型中,設(shè)備存在情況通常通過本領(lǐng)域的技術(shù)人員可認(rèn)識的許多可能的網(wǎng)絡(luò)設(shè)備發(fā)現(xiàn)協(xié)議之一來確定。這種傳統(tǒng)體驗(yàn)不同于根據(jù)本文所述實(shí)施例的虛擬化的應(yīng)用。在不需要物理設(shè)備硬件的情況下,如在打印服務(wù)的示例中那樣,可通過安裝虛擬化應(yīng)用而有利于功能的發(fā)現(xiàn)。該 應(yīng)用可直接從服務(wù)提供商或從某些形式的應(yīng)用市場獲得。在一些實(shí)施例中,通過市場環(huán)境可得的應(yīng)用壽命管理工具通過更簡單的自動更新程序、更靈活的編程環(huán)境等而為應(yīng)用開發(fā)者提供了更大的靈活性。這些壽命管理工具使得比傳統(tǒng)設(shè)備驅(qū)動程序模型更容易提供特定情景。示例性的環(huán)境
圖2描繪了實(shí)施例在其中操作的示例環(huán)境200。如圖所示,環(huán)境200的各種設(shè)備經(jīng)由一個或多個網(wǎng)絡(luò)202彼此通信,網(wǎng)絡(luò)202可包括允許這種通信的任何類型的網(wǎng)絡(luò)。例如,網(wǎng)絡(luò)202可包括諸如因特網(wǎng)的公共網(wǎng)絡(luò)、諸如機(jī)構(gòu)和/或個人內(nèi)聯(lián)網(wǎng)的專用網(wǎng)絡(luò)、或公共網(wǎng)絡(luò)和專用網(wǎng)絡(luò)的一些組合。網(wǎng)絡(luò)202還可包括任何類型的有線和/或無線網(wǎng)絡(luò),包括但不限于局域網(wǎng)(LAN)、廣域網(wǎng)(WAN)、Wi-Fi 、WiMax 、以及移動通信網(wǎng)絡(luò)(例如,3G、4G等)。網(wǎng)絡(luò)202可利用通信協(xié)議,包括基于分組的協(xié)議和/或基于數(shù)據(jù)報的協(xié)議,例如,互聯(lián)網(wǎng)協(xié)議(IP)、傳輸控制協(xié)議(TCP)、用戶數(shù)據(jù)報協(xié)議(UDP)或其它類型的協(xié)議。此外,網(wǎng)絡(luò)202還可包括有利于網(wǎng)絡(luò)通信和/或形成用于網(wǎng)絡(luò)的硬件基礎(chǔ)的多個設(shè)備,例如,交換機(jī)、路由器、網(wǎng)關(guān)、接入點(diǎn)、防火墻、基站、中繼器、骨干設(shè)備等。環(huán)境200還包括與(一個或多個)用戶相關(guān)聯(lián)的一個或多個客戶端設(shè)備204。簡而言之,(一個或多個)客戶端設(shè)備204可包括用戶可用來通過網(wǎng)絡(luò)202發(fā)送和接收信息的任何類型的計算設(shè)備。例如,(一個或多個)客戶端設(shè)備204可包括但不限于臺式計算機(jī)、膝上型計算機(jī)、平板計算機(jī)、佩戴式計算機(jī)、媒體播放器、汽車用計算機(jī)、移動計算設(shè)備、智能手機(jī)、個人數(shù)據(jù)助理(PDA)、游戲控制臺/平臺、移動游戲設(shè)備、機(jī)頂盒等。(一個或多個)客戶端設(shè)備204通常包括使用戶能通過網(wǎng)絡(luò)和/或因特網(wǎng)發(fā)送和接收信息的一個或多個應(yīng)用,包括但不限于網(wǎng)絡(luò)瀏覽器、電子郵件客戶端應(yīng)用、聊天或即時通訊(IM)客戶端、以及其它應(yīng)用。(一個或多個)客戶端設(shè)備204還可包括用于文字處理、會計、準(zhǔn)備演示、多媒體處理(例如,用于處理視頻、音頻、圖像、圖形等)、游戲、社交網(wǎng)絡(luò)、聊天/即時通訊(頂)的一個或多個應(yīng)用,或其它類型的應(yīng)用。(一個或多個)客戶端設(shè)備204可運(yùn)行OS,其包括用于調(diào)節(jié)雙向應(yīng)用間交互的調(diào)解和/或管理組件,如本文進(jìn)一步描述的。
如圖2所示,環(huán)境200還可包括一個或多個聯(lián)網(wǎng)外圍設(shè)備206。這樣的設(shè)備可通過(一個或多個)網(wǎng)絡(luò)202通信到諸如(一個或多個)客戶端設(shè)備204和/或(一個或多個)遠(yuǎn)程服務(wù)器設(shè)備208的其它設(shè)備以提供包括但不限于打印、多媒體顯示、通信等的功能。如本文進(jìn)一步描述的,這樣的(一個或多個)聯(lián)網(wǎng)外圍設(shè)備206可提供為設(shè)備的虛擬化的應(yīng)用。這樣的應(yīng)用可訪問管理API以便能夠與在客戶端設(shè)備204上運(yùn)行的應(yīng)用進(jìn)行雙向交互。環(huán)境200還可包括一個或多個遠(yuǎn)程服務(wù)器設(shè)備208。在一些實(shí)施例中,(一個或多個)遠(yuǎn)程服務(wù)器設(shè)備208可包括提供在線服務(wù)、貿(mào)易等的(一個或多個)服務(wù)器設(shè)備。利用本文所述實(shí)施例,遠(yuǎn)程服務(wù)器設(shè)備可提供應(yīng)用形式的接口,該應(yīng)用參與與在客戶端設(shè)備上運(yùn)行的應(yīng)用的雙向應(yīng)用到應(yīng)用通信,以允許用戶利用在線服務(wù)。例如,遠(yuǎn)程服務(wù)器設(shè)備206可由打印服務(wù)提供商管理以便打印文檔、制作廣告/營銷資料、出版手稿等。這樣的打印服務(wù)提供商可使用訪問管理API以便能夠與在客戶端設(shè)備204上運(yùn)行的文字處理應(yīng)用進(jìn)行雙向交互的應(yīng)用。這樣,運(yùn)行文字處理應(yīng)用的用戶可從 應(yīng)用選擇“打印”選項(xiàng),并且將文檔作為打印作業(yè)經(jīng)由作為客戶端設(shè)備的OS的一部分運(yùn)行的(一個或多個)管理組件發(fā)送給打印服務(wù)提供商。因此,實(shí)施例允許打印服務(wù)提供商便利地為用戶提供其服務(wù),方便的程度仿佛打印服務(wù)提供商是打印設(shè)備一樣。(一個或多個)服務(wù)器設(shè)備208也可代表應(yīng)用市場服務(wù)器,該服務(wù)器可有利于用戶發(fā)現(xiàn)、安裝和/或管理應(yīng)用。在一些實(shí)施例中,這樣的市場服務(wù)器有利于傳播虛擬化應(yīng)用以支持物理硬件設(shè)備以及用于提供在線服務(wù)、電子商務(wù)服務(wù)等的遠(yuǎn)程服務(wù)器應(yīng)用。環(huán)境200還可包括一個或多個本地外圍設(shè)備210,其經(jīng)由諸如PCI、I2C、USB等的計算機(jī)總線或通過其它連接模型直接連接到(一個或多個)客戶端設(shè)備204。這樣的(一個或多個)本地外圍設(shè)備210可提供包括但不限于打印、多媒體顯示、通信等的功能。如本文進(jìn)一步描述的,這樣的(一個或多個)本地外圍設(shè)備210可提供為設(shè)備的虛擬化的應(yīng)用。這樣的應(yīng)用可訪問管理API以便能夠與在一個或多個客戶端設(shè)備204上運(yùn)行的應(yīng)用進(jìn)行雙向交互。雖然未明確描繪,但環(huán)境200還可包括一個或多個數(shù)據(jù)庫或其它存儲設(shè)備,其被配置成存儲與本文所述各種操作有關(guān)的數(shù)據(jù)。這樣的存儲設(shè)備可并入所描繪的設(shè)備中的一個或多個內(nèi),或者可以是與設(shè)備中的一個或多個分開但通信的外部存儲設(shè)備。存儲的數(shù)據(jù)還可包括關(guān)于(一個或多個)客戶端設(shè)備204、( 一個或多個)聯(lián)網(wǎng)外圍設(shè)備206、( 一個或多個)遠(yuǎn)程服務(wù)器設(shè)備208、和/或(一個或多個)本地外圍設(shè)備210的操作的信息。通常,圖2中描繪的一個或多個設(shè)備中的每一個可包括布置在群集、服務(wù)器群或其它組中以共享工作量的多個計算設(shè)備。這樣的設(shè)備組可以是負(fù)荷平衡的或以其它方式被管理以提供更有效的操作。此外,雖然環(huán)境200的各種計算設(shè)備被描述為客戶端或服務(wù)器,但每個設(shè)備可以任一種能力操作以進(jìn)行與各個實(shí)施例有關(guān)的操作。因此,作為客戶端或服務(wù)器的設(shè)備的描述被提供來用于進(jìn)行示例性說明,而不限制可由該設(shè)備進(jìn)行的活動的范圍。示例性計算設(shè)備架構(gòu)
圖3描繪了用于圖2所描繪的各種設(shè)備的示例計算機(jī)系統(tǒng)架構(gòu)的框圖。如圖所示,計算設(shè)備300包括處理單元302。處理單元302可包括一個或多個處理單元(例如,處理器),并且可實(shí)現(xiàn)為硬件、軟件或它們的某種組合。如本文所用,處理器是指硬件組件。處理單元302可包括用任何合適的編程語言編寫以執(zhí)行本文所述各種功能的計算機(jī)可執(zhí)行、處理器可執(zhí)行、和/或機(jī)器可執(zhí)行指令。在一些實(shí)施例中,處理單元302還可包括一個或多個圖形處理單元(GPU)。計算設(shè)備300還包括系統(tǒng)存儲器304,其可包括易失性存儲器,例如,隨機(jī)存取存儲器(RAM)、靜態(tài)隨機(jī)存取存儲器(SRAM)、動態(tài)隨機(jī)存取存儲器(DRAM)等。系統(tǒng)存儲器304還可包括非易失性存儲器,例如,只讀存儲器(ROM)、閃存等。系統(tǒng)存儲器304還可包括高速緩沖存儲器。如圖所示,系統(tǒng)存儲器304包括一個或多個OS 306,例如,WindoWS 、Linux 、iOS 等。如下文進(jìn)一步描述的,(一個或多個)OS 306還可包括一個或多個管理組件308,其操作來管理和/或調(diào)解應(yīng)用和/或設(shè)備之間的雙向交互。系統(tǒng)存儲器304還可包括一個或多個可執(zhí)行組件310,其可包括可由(一個或多個)處理單元302加載和執(zhí)行的程序、應(yīng)用和/或過程。這些可包括用于文字處理、會計、準(zhǔn)備演示、多媒體處理(例如,用于處理視頻、音頻、圖像、圖形等)、游戲、社交網(wǎng)絡(luò)、聊天/即時通訊(頂)的(一個或多個)應(yīng)用312或其它類型應(yīng)用??蓤?zhí)行組件310還可包括其·它組件314。系統(tǒng)存儲器304中的各種組件、應(yīng)用、(一個或多個)OS可使用組件數(shù)據(jù)316作為存儲區(qū)以存儲與它們的各種功能有關(guān)的數(shù)據(jù)。如圖3所示,計算設(shè)備300還可包括可移動存儲320和/或不可移動存儲322,包括但不限于磁盤存儲、光盤存儲、磁帶存儲等。磁盤驅(qū)動器和相關(guān)聯(lián)的計算機(jī)可讀介質(zhì)可提供對計算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊和用于操作計算設(shè)備300的其它數(shù)據(jù)的非易失性存儲。通常,計算機(jī)可讀介質(zhì)包括計算機(jī)存儲介質(zhì)和通信介質(zhì)。計算機(jī)存儲介質(zhì)包括以任何方法或技術(shù)實(shí)現(xiàn)的用于存儲諸如計算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊和其它數(shù)據(jù)的信息的易失性和非易失性、可移動和不可移動介質(zhì)。計算機(jī)存儲介質(zhì)包括但不限于RAM、ROM、可擦除可編程只讀存儲器(EEPROM)、SRAM、DRAM、閃存或其它存儲器技術(shù)、致密盤只讀存儲器(CD-ROM)、數(shù)字多用盤(DVD)或其它光學(xué)存儲、磁盒、磁帶、磁盤存儲或其它磁性存儲設(shè)備、或可用于存儲信息以供計算設(shè)備訪問的任何其它非傳輸介質(zhì)。相比之下,通信介質(zhì)可具體化計算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或在已調(diào)制數(shù)據(jù)信號中的其它數(shù)據(jù),例如載波或其它傳輸機(jī)制。如本文所定義的,計算機(jī)存儲介質(zhì)不包括通信介質(zhì)。計算設(shè)備300可包括(一個或多個)輸入設(shè)備324,包括但不限于鍵盤、鼠標(biāo)、筆、語音輸入設(shè)備、觸摸輸入設(shè)備、游戲控制器等。計算設(shè)備300還可包括(一個或多個)輸出設(shè)備326包括但不限于顯示器、打印機(jī)、音頻揚(yáng)聲器、觸覺輸出接口等。計算設(shè)備300還可包括允許計算設(shè)備300與其它計算設(shè)備330通信的(一個或多個)通信連接328,這些其它計算設(shè)備包括(一個或多個)客戶端設(shè)備204、(一個或多個)遠(yuǎn)程服務(wù)器設(shè)備208、數(shù)據(jù)庫、(一個或多個)聯(lián)網(wǎng)外圍設(shè)備206、或通過(一個或多個)網(wǎng)絡(luò)202可訪問的其它計算設(shè)備。(一個或多個)通信連接328可包括網(wǎng)絡(luò)接口控制器(NIC)、網(wǎng)絡(luò)適配器、收發(fā)機(jī)等。(一個或多個)通信連接328也可允許與一個或多個外圍設(shè)備332通信,這些外圍設(shè)備與計算設(shè)備300物理上分開但經(jīng)由(一個或多個)網(wǎng)絡(luò)202或經(jīng)由串行、并行、Universal Serial Bus (USB)、High Definition Multimedia Interface (HDMI)、視聽(AV)或其它類型連接相連。這樣的外圍設(shè)備可包括(一個或多個)本地外圍設(shè)備210且包括諸如打印機(jī)、顯示器、外部存儲設(shè)備等的設(shè)備。示例性操作
圖4、6和8描繪了用于調(diào)解應(yīng)用和/或設(shè)備之間的交互的(一個或多個)管理組件的示例配置。這些圖中所示要素表示可在硬件、軟件或它們的組合中實(shí)現(xiàn)的組件、模塊、過程、對象和/或應(yīng)用。所示要素的布置旨在用于舉例說明,而不對要素的操作、控制流或特定位置的任何次序進(jìn)行限制。因此,所示要素中的一個或多個可以是相同設(shè)備或不同設(shè)備的組件。此外,雖然附圖描繪了雙向箭頭,但這些箭頭旨在圖示各種要素之間的通信,并且這樣的通信在各種情況下可以是單向和/或雙向的。圖4是用于調(diào)解應(yīng)用之間的雙向交互的示例配置的示意圖。如圖4所示,OS 306包括一個或多個管理組件308,其用于調(diào)解第一應(yīng)用402和第二應(yīng)用406之間的交互。在 一些實(shí)施例中,第一應(yīng)用402可以是諸如第一設(shè)備404的物理設(shè)備的虛擬化。這樣,第一應(yīng)用402可以結(jié)合(一個或多個)管理組件308和第二應(yīng)用406有效地人格化第一設(shè)備404。類似地,在一些實(shí)施例中,第二應(yīng)用406可以是諸如第二設(shè)備408的物理設(shè)備的虛擬化,其有效地人格化第二設(shè)備408。( 一個或多個)管理組件308調(diào)解第一應(yīng)用402和第二應(yīng)用406之間的交互,以使得應(yīng)用之間的通信通過(一個或多個)管理組件308且由其管理。在一些實(shí)施例中,第一應(yīng)用402和/或第二應(yīng)用406可以是結(jié)合到外部應(yīng)用服務(wù)器的設(shè)備行為的虛擬化,而不是物理設(shè)備。雖然第一應(yīng)用402和/或第二應(yīng)用406可以是在與OS 306相同的設(shè)備(例如,客戶端設(shè)備)上執(zhí)行的用戶應(yīng)用,但實(shí)施例不受此限制。事實(shí)上支持圖4的要素的任何布置,使得在特定情景迫切需要的情況下各種要素可在不同設(shè)備或相同設(shè)備上執(zhí)行。此外,一些實(shí)施例支持管理API,其暴露諸如功能、方法、過程、接口、變量等的功能性。第一應(yīng)用402和/或第二應(yīng)用406可利用管理API的功能來與(一個或多個)管理組件308通信。在一些實(shí)施例中,(一個或多個)管理組件308可通過公共設(shè)備對話框提供豐富的用戶體驗(yàn),用戶可通過該對話框在選項(xiàng)中選擇以與特定設(shè)備交互。這些選項(xiàng)可取決于(一個或多個)管理組件308,管理組件308通過其相關(guān)聯(lián)的虛擬化應(yīng)用詢問設(shè)備,以確定設(shè)備能力和/或該設(shè)備所需的信息。在備選實(shí)施例中,(一個或多個)管理組件308可能造成虛擬化設(shè)備應(yīng)用的用戶體驗(yàn)被呈現(xiàn)給用戶,以便允許用戶配置和完成設(shè)備所需的一個或多個選項(xiàng)。這樣的實(shí)施例參照圖6-9更詳細(xì)地描述。圖5A、5B、5C、7A、7B、9A和9B描繪了示出根據(jù)各種實(shí)施例的示例過程的流程圖。這些過程的操作在各個框中示出并結(jié)合這些框概述。過程示出為邏輯流程圖,其中每個操作可表示能在硬件、軟件或它們的組合中實(shí)現(xiàn)的一組操作。在軟件的背景中,操作表示存儲在一個或多個計算機(jī)存儲介質(zhì)上的計算機(jī)可執(zhí)行指令,這些指令在由一個或多個處理器執(zhí)行時使該一個或多個處理器能夠執(zhí)行所引述的操作。通常,計算機(jī)可執(zhí)行指令包括執(zhí)行特定功能或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)等。操作的描述次序并非意圖被理解為限制,并且任何數(shù)量的所描述的操作可以任何次序組合、分成子操作和/或并行進(jìn)行以實(shí)現(xiàn)過程。根據(jù)各種實(shí)施例的過程可包括在邏輯流程圖中描繪的操作中的一些或全部。圖5A描繪了用于調(diào)解應(yīng)用之間的雙向交互的示例性過程500。在一些實(shí)施例中,過程500作為(一個或多個)管理組件308的部分而執(zhí)行。如圖4所示,應(yīng)用中的一個或兩個可以是物理設(shè)備(例如,諸如打印機(jī)、攝像機(jī)等的外圍設(shè)備)的虛擬化或用于在線服務(wù)(例如,打印服務(wù))的前端。在框502中,接收指示選擇第二應(yīng)用以與第一應(yīng)用交互的指示。在一些實(shí)施例中,第一應(yīng)用可以是用戶應(yīng)用(例如,文字處理應(yīng)用、視頻會議應(yīng)用等),并且第二應(yīng)用可以是諸如打印機(jī)或網(wǎng)絡(luò)攝影機(jī)的目標(biāo)設(shè)備的虛擬化,或者到用戶希望第一應(yīng)用與之交互的諸如打印服務(wù)提供商的在線服務(wù)的前端。根據(jù)所支持的通信協(xié)議,指示可作為通信包的部分被接收、從第一應(yīng)用傳遞到管理組件。在一些實(shí)施例中,第二應(yīng)用的指示可由用戶在第一應(yīng)用或(一個或多個)管理組件308的對話框內(nèi)進(jìn)行的虛擬化設(shè)備和/或服務(wù)的選擇來觸發(fā),以便或者消費(fèi)由第一應(yīng)用生成的數(shù)據(jù),或者生成將由第一應(yīng)用消費(fèi)的數(shù)據(jù)。應(yīng)當(dāng)理解,一些實(shí)施例可包括虛擬化的應(yīng)用與管理組件的配準(zhǔn)。這種配準(zhǔn)使得第 一應(yīng)用的用戶能夠通過信息確定第二應(yīng)用。例如,將第二應(yīng)用與管理組件配準(zhǔn)可以使管理組件或第一應(yīng)用能夠?yàn)橛脩舫尸F(xiàn)用于與第一應(yīng)用交互的可能目標(biāo)的列表。然后用戶可選擇用于交互的特定第二應(yīng)用。配準(zhǔn)和虛擬化的應(yīng)用壽命管理的其它方面參照圖5C更詳細(xì)地描述。在框504中,可以實(shí)例化用于調(diào)解第一和第二應(yīng)用之間的交互的管理對象。在一些實(shí)施例中,管理對象可以是作為一類實(shí)現(xiàn)的管理組件的執(zhí)行實(shí)例,并且管理對象的特定實(shí)例被創(chuàng)建以調(diào)解在第一應(yīng)用和第二應(yīng)用之間的特別請求的交互。由于管理對象被實(shí)例化以調(diào)解與特定應(yīng)用(例如,第二應(yīng)用)之間的交互,管理對象可描述為結(jié)合到第二應(yīng)用。在一些實(shí)施例中,只要第一應(yīng)用與第二應(yīng)用在交互,管理對象的特定實(shí)例就存在。在一些實(shí)施例中,特定實(shí)例可高速緩存或以其它方式保存并再次使用以處理第一和第二應(yīng)用之間的后續(xù)交互,和/或另一應(yīng)用和第二應(yīng)用之間的后續(xù)交互。在一些實(shí)施例中,管理對象可以是特定類別的第二應(yīng)用(例如,作為諸如打印機(jī)設(shè)備的特定類型設(shè)備的虛擬化的應(yīng)用)通有的。在框506中,管理對象可詢問第二應(yīng)用以確定其能力。例如,在第二應(yīng)用充當(dāng)打印機(jī)設(shè)備的虛擬化時,管理對象可詢問以確定打印能力(例如,雙面打印、調(diào)色板可用性、橫向布局與縱向布局、頁編號、水印等)。在框508中,可基于在框506中確定的第二應(yīng)用的能力為在第一和第二應(yīng)用之間的交互生成一個或多個選項(xiàng)。在框510中,可由管理對象為用戶提供體驗(yàn)。這種體驗(yàn)可使用戶能夠從在框510中確定的一個或多個選項(xiàng)中進(jìn)行選擇。在一些實(shí)施例中,所呈現(xiàn)的體驗(yàn)可以是對特定類別的第二應(yīng)用(例如,作為打印機(jī)設(shè)備的虛擬化的那些應(yīng)用)通有的共同體驗(yàn)。在其它實(shí)施例中,體驗(yàn)可特定于特定第二應(yīng)用及其能力。下文參照圖5B更詳細(xì)地描述體驗(yàn)的提供。在框512中,可以基于由用戶通過在框510處提供的體驗(yàn)而選擇的那些選項(xiàng)來啟動第一和第二應(yīng)用之間的雙向交互。在一些實(shí)施例中,交互可在管理對象的一個或多個附加步驟(未示出)之后啟動,該附加步驟為第一和/或第二應(yīng)用提供用戶選擇的選項(xiàng)。這種提供可以使第一和/或第二應(yīng)用能夠基于由用戶選擇的那些選項(xiàng)而生成特定數(shù)據(jù)和/或內(nèi)容。例如,在打印的情景中,用戶的打印選項(xiàng)選擇可提供至第一應(yīng)用(例如,文字處理應(yīng)用),第一應(yīng)用可以接著回流(reflow)并基于選項(xiàng)生成待打印的幾頁文檔的形式化描述。參照圖6、7A和7B更詳細(xì)地描述該示例。圖5B描繪了針對一個或多個實(shí)施例的用于提供在應(yīng)用之間的雙向交互的情境中的用戶體驗(yàn)的示例性過程530。在一些實(shí)施例中,提供用戶體驗(yàn)可以是用于調(diào)解在應(yīng)用之間的雙向交互的過程500的一部分,并且可包括提供對話框,如參照圖5A的步驟510所描述的。在步驟532中,對是否向用戶提供共同體驗(yàn)(例如,公共對話框)或是否提供由第二應(yīng)用生成且源自第二應(yīng)用的體驗(yàn)做出決策,后一體驗(yàn)表示物理設(shè)備的虛擬化或用于在線服務(wù)提供商的前端。在一些實(shí)施例中,這種確定可基于由第二應(yīng)用在與管理組件配準(zhǔn)時(如參照圖5C所描述的)提供的信息。例如,在配準(zhǔn)期間,第二應(yīng)用可為管理組件規(guī)定管理組件將作為其對第一和第二應(yīng)用之間的交互的調(diào)解的一部分來提供公共對話框。備選地,第二應(yīng)用可規(guī)定管理組件將提供特定于第二應(yīng)用和/或由第二應(yīng)用生成的對話框,并且該對話框包括特定于第二應(yīng)用的選項(xiàng)和/或要求?!?br> 在備選實(shí)施例中,管理組件可自動地確定是否采用公共對話框或使用由第二應(yīng)用提供的對話框。在某些情況下,管理組件可決定始終使用公共對話框來與第二應(yīng)用交互。在其它情況下,管理組件可確定始終使用由虛擬化應(yīng)用提供的對話框。此外,在一些情況下,管理組件可根據(jù)正完成的雙向通信的特定情境決定要顯示的對話框。在用于完成雙向打印通信的一個非限制性示例中,管理組件可確定所有虛擬化的打印機(jī)設(shè)備可使用公共對話框,同時所有虛擬化的打印機(jī)服務(wù)可呈現(xiàn)其自己的用戶體驗(yàn)。如果決定提供至少部分地特定于第二應(yīng)用或?yàn)槠涠ㄖ频捏w驗(yàn),則過程530進(jìn)行到框534,其中管理組件促使由第二應(yīng)用生成的對話框被呈現(xiàn)。在這種情況下,管理組件呈現(xiàn)由第二應(yīng)用提供的體驗(yàn),并且因此充當(dāng)協(xié)調(diào)在第一和第二應(yīng)用之間的配置信息移動的中介。應(yīng)當(dāng)理解,可以為管理組件采用各種模型以促使由第二應(yīng)用呈現(xiàn)用戶體驗(yàn)。在一個非限制性示例中,管理組件可提供其中第二應(yīng)用能夠呈現(xiàn)其用戶體驗(yàn)的托管模型。在另一個非限制性示例中,管理組件可從第二應(yīng)用接收用戶體驗(yàn)的說明性描述并完全代表第二應(yīng)用呈現(xiàn)用戶體驗(yàn)。應(yīng)該指出的是,在一些實(shí)施例中,這種情景可允許管理組件具有較不復(fù)雜的實(shí)現(xiàn),假設(shè)管理組件充當(dāng)呈現(xiàn)由第二應(yīng)用生成的用戶體驗(yàn)的管道,而不是管理對話框等的特定能力。備選地,如果決定提供共同體驗(yàn),則過程530進(jìn)行到框536,其中管理組件生成用于共同體驗(yàn)的對話框。在一些實(shí)施例中,用于共同體驗(yàn)的對話框可以是包括第二應(yīng)用的一類應(yīng)用共同的。例如,當(dāng)?shù)诙?yīng)用為打印機(jī)設(shè)備的虛擬化時,公共對話框可以是用于一類打印機(jī)設(shè)備的虛擬化應(yīng)用共同的。這樣的類別可包括在該類中的所有設(shè)備(例如,所有打印機(jī)設(shè)備)、或者某些子集,例如具有特定制造商的設(shè)備、采用特定技術(shù)的設(shè)備(例如,激光打印機(jī)或噴墨打印機(jī))、支持特定功能的設(shè)備(例如,調(diào)色板、黑白、多面打印、特定打印分辨率等)、或其它類別。應(yīng)當(dāng)理解,在一些實(shí)施例中,公共對話框模型可視為其中管理組件使得能夠?yàn)樘幚硪活愂熘脑O(shè)備而呈現(xiàn)第二應(yīng)用的用戶體驗(yàn)的模型的專門化。在這樣的實(shí)施例中,提供公共對話框可通過安裝另一虛擬化應(yīng)用而實(shí)現(xiàn),該應(yīng)用提供用于一類熟知的設(shè)備的共同體驗(yàn)。例如,用于雙向打印體驗(yàn)的管理組件可被配置成顯示來自第二應(yīng)用的體驗(yàn)。在需要公共類別的體驗(yàn)的情況中,例如為了提供用于該類別所有打印機(jī)設(shè)備的功能,管理組件可自動地選擇和使用管理組件直接已知用于該目的的預(yù)安裝的應(yīng)用。這樣,管理組件仍然能夠代表該類熟知的設(shè)備提供共同體驗(yàn),同時保持用于呈現(xiàn)所有用戶體驗(yàn)的公共模型。在框538中,為用戶提供(例如,顯示)了對話框,并且將由用戶通過對話框提供的信息用于進(jìn)一步處理,如參照圖5A所描述的。雖然圖5B未描繪,但在一些實(shí)施例中,管理組件可為用戶提供體驗(yàn),該體驗(yàn)是共同體驗(yàn)和特定于第二設(shè)備的體驗(yàn)的組合。例如,管理組件可提供用于特定類別設(shè)備的公共對話框以及更特定于第二應(yīng)用的第二對話框。該第二對話框可以是伴隨對話框,其顯示用于與第二應(yīng)用交互的附加選項(xiàng)和/或收集第二應(yīng)用為滿足用戶請求而需要的信息。下文將更詳細(xì)地描述包括伴隨對話框的這樣的實(shí)施例。此外,在一些實(shí)施例中,管理組件可詢問第二應(yīng)用以確定任何第二應(yīng)用特別需要的信息。例如,當(dāng)?shù)诙?yīng)用為用于在線服務(wù)提供商(例如,電子商務(wù))的前端時,所需信息可包括用戶作為服務(wù)提供商的客戶的識別和/或支付信息,例如,姓名、地址、電話號碼、電 子郵箱地址、信用卡號、遞送/取件信息、用戶的包裝偏好等。在一些實(shí)施例中,隱私考量可使用戶能夠在共享任何個人、隱私或敏感信息之前決定采用信息共享政策,或者決定不采用數(shù)據(jù)共享政策以防止共享任何此類信息。圖5C描繪了針對一個或多個實(shí)施例的用于應(yīng)用壽命管理的示例性過程560。這樣的壽命管理用于一個或多個應(yīng)用,包括本文描述為第一或第二應(yīng)用的應(yīng)用,其提供物理設(shè)備的虛擬化或用于在線服務(wù)的前端。圖5C所示操作可由(一個或多個)管理組件或備選地由(一個或多個)管理組件和通常設(shè)計用于支持應(yīng)用的壽命管理的其它系統(tǒng)組件來執(zhí)行。在步驟562中,過程560發(fā)現(xiàn)將與管理組件配準(zhǔn)的一個或多個應(yīng)用,并且使其可用于參與和源應(yīng)用的雙向交互。在一些實(shí)施例中,這一發(fā)現(xiàn)過程是由管理組件啟動的主動過程,該管理組件為可用于與管理組件配準(zhǔn)的應(yīng)用發(fā)送通信查詢。在一些實(shí)施例中,發(fā)現(xiàn)過程是被動的,因?yàn)楣芾斫M件收聽正發(fā)送請求配準(zhǔn)的通信的應(yīng)用。在步驟564中,一個或多個發(fā)現(xiàn)或檢測到的應(yīng)用在管理組件處進(jìn)行配準(zhǔn)。在一些實(shí)施例中,管理組件使虛擬化應(yīng)用能夠獲得其參與和源應(yīng)用的某些數(shù)據(jù)交換情景的能力。例如,用于打印的虛擬化應(yīng)用能夠通知用于打印的管理組件其可用作目標(biāo)用于打印功能??蓪⒏鞣N模型用于配準(zhǔn)虛擬化應(yīng)用與管理組件,以便在管理的數(shù)據(jù)交換中充當(dāng)目標(biāo)應(yīng)用。在一些實(shí)施例中,虛擬化應(yīng)用的配準(zhǔn)可包括向管理組件通信虛擬化的應(yīng)用和/或其所虛擬化的物理設(shè)備或服務(wù)的各種能力和/或要求。在步驟566中,過程支持(一個或多個)配準(zhǔn)的應(yīng)用的使用。這種使用通常如本文別處參照圖5-9所描述的那樣進(jìn)行。在步驟568中,可以更新一個或多個配準(zhǔn)的應(yīng)用。這樣的更新允許將應(yīng)用的新的和/或不同的功能傳遞給管理組件,以使得管理組件能在提供給用戶的體驗(yàn)(例如對話框)中包括新的選項(xiàng)和/或要求。在操作570中,可移除一個或多個配準(zhǔn)的應(yīng)用和/或?qū)⑵鋸墓芾斫M件取消配準(zhǔn),以使得它們不再可用于參與由管理組件調(diào)解的雙向交互。圖6是用于調(diào)解應(yīng)用之間的雙向交互的示例配置的圖。圖6描繪了與圖4的要素類似的要素,并且圖4的描述大體上適用于圖6。然而,圖6稍微不同于圖4,并且圖6示出了第一應(yīng)用602正在生成將由第二應(yīng)用604處理和/或消費(fèi)的數(shù)據(jù)和/或內(nèi)容的實(shí)施例。這樣的情況可適用于第一應(yīng)用602為文字處理應(yīng)用且生成一個或多個待打印文檔的情形。在這樣的實(shí)施例中,第二應(yīng)用604可以是諸如第二設(shè)備606的物理打印設(shè)備的虛擬化,或者是用于諸如打印服務(wù)提供商的在線服務(wù)提供商608的前端/接口。雖然圖6、7A和7B的描述采用打印功能作為示例,但實(shí)施例不限于此。實(shí)施例支持用戶應(yīng)用生成將由表示設(shè)備或服務(wù)提供商的第二應(yīng)用消費(fèi)的內(nèi)容的其它情景。例如,該情景可支持生成多媒體內(nèi)容的第一應(yīng)用和消費(fèi)多媒體內(nèi)容以用于處理(例如,其中服務(wù)提供商608為視頻后期完成和/或編輯服務(wù))、顯示(例如,其中第二設(shè)備606為視頻監(jiān)視器、電視機(jī)、錄像設(shè)備等)或其它目的的第二應(yīng)用。在另一示例情景中,第一應(yīng)用可以是繪圖程序,其生成將由導(dǎo)航設(shè)備消費(fèi)的路標(biāo)點(diǎn)、路線、和/或其它地理或位置信息。作為另一示例,第一應(yīng)用可以是自動化程序,其生成一組指令以用于管理家庭、辦公室或其它場景中的各種電子設(shè)備。這樣,實(shí)施例實(shí)際上支持任何情景,在這些情景中,可以將交互描述為在源應(yīng)用和虛擬化設(shè)備之間的特定格式數(shù)據(jù)·的交換,從而消除直接編程到設(shè)備的必要性。圖7A和7B描繪了示例性過程700,其用于根據(jù)其中第一應(yīng)用生成將由第二應(yīng)用消費(fèi)的數(shù)據(jù)和/或內(nèi)容的實(shí)施例調(diào)解兩個應(yīng)用之間的雙向交互。在一些實(shí)施例中,過程700作為(一個或多個)管理組件308的部分而執(zhí)行。在框702中,選擇可以被接收,該選擇指示第二應(yīng)用處理和/或消費(fèi)由第一應(yīng)用生成的內(nèi)容。在一些實(shí)施例中,由第一應(yīng)用的用戶選擇第二應(yīng)用,并且通過使用控件、對話框或管理組件的其它用戶界面要素而制作第二應(yīng)用。例如,在與打印功能有關(guān)的一些實(shí)施例中,第一應(yīng)用可以是文字處理、圖像編輯或其它文檔處理用戶應(yīng)用。用戶可打開打印菜單或按下打印按鈕以促使管理組件308呈現(xiàn)用戶體驗(yàn),用戶可根據(jù)該用戶體驗(yàn)經(jīng)由選項(xiàng)列表選擇第二應(yīng)用,針對打印或處理文檔的目標(biāo)。這種選擇可觸發(fā)到OS和/或管理組件的通信以指示用戶對打印目標(biāo)的選擇。在框704中,管理對象被實(shí)例化以便調(diào)解第一和第二應(yīng)用之間的交互,如參照圖5A所描述的。在一些實(shí)施例中,第二應(yīng)用是可處理、消費(fèi)或以其它方式使用第一應(yīng)用生成的內(nèi)容的目標(biāo)設(shè)備的虛擬化。例如,第二應(yīng)用可以是用于打印由文字處理應(yīng)用生成的文檔的打印設(shè)備、或用于顯示由第一應(yīng)用生成或從其流化的多媒體內(nèi)容的顯示設(shè)備、監(jiān)視器、電視機(jī)的虛擬化。在其它實(shí)施例中,第二應(yīng)用為用于諸如企業(yè)或其它實(shí)體的在線服務(wù)提供商的前端或接口,這些實(shí)體可通過以某種方式處理由第一應(yīng)用生成的內(nèi)容而提供服務(wù)。例如,這樣的在線服務(wù)提供商可以是出版公司、打印服務(wù)提供商、圖像處理公司、音頻/視頻處理公司或其他實(shí)體。在框706中,管理對象和/或管理組件詢問第二應(yīng)用以確定其能力和/或其要求。能力可包括限制、選項(xiàng)或與第二應(yīng)用處理或消費(fèi)第一應(yīng)用生成的內(nèi)容的能力有關(guān)的其它信息。例如,當(dāng)?shù)诙?yīng)用虛擬化打印設(shè)備時,所確定的能力可包括打印設(shè)備的打印能力(例如,調(diào)色板的可用性、雙面打印、紙張類型、輸出尺寸、放大倍率、橫向與縱向布局、頁編號、水印等)。作為另一示例,當(dāng)?shù)诙?yīng)用虛擬化顯示設(shè)備或視頻處理設(shè)備時,所確定的能力可包括支持的音頻/視頻格式、顯示尺寸等。在一些實(shí)施例中,如上文參照圖5B所描述的,可進(jìn)一步詢問第二應(yīng)用以確定任何特別要求的第二應(yīng)用的信息。
在框708中,基于所確定的第二應(yīng)用的能力和/或要求來確定用于處理內(nèi)容的一個或多個選項(xiàng)。在框710中,這些選項(xiàng)可作為對話框的部分呈現(xiàn)給用戶。用戶可采用對話框來選擇一個或多個選項(xiàng)以用于處理內(nèi)容和/或提供第二應(yīng)用需要的任何信息。在一些實(shí)施例中,對話框可以是所有類型第二應(yīng)用共同的。在其它實(shí)施例中,對話框可以是跨一種或多種特定類型的第二應(yīng)用共同的(例如,虛擬化打印設(shè)備的應(yīng)用通有的)。對話框用針對第二設(shè)備的能力和/或要求的選項(xiàng)來填充。如參照圖5B所描述,對話框可以是用戶體驗(yàn)的一部分,該用戶體驗(yàn)是或者由管理組件生成的共同用戶體驗(yàn)或者更針對第二應(yīng)用且從第二應(yīng)用生成的體驗(yàn)。在一些實(shí)施例中,可在框710中將第二對話框進(jìn)一步呈現(xiàn)給用戶。該第二對話框可為用戶呈現(xiàn)用于處理內(nèi)容的第二組選項(xiàng)。在一些實(shí)施例中,該第二組選項(xiàng)可特定于第二應(yīng)用并可在框706中作為詢問的一部分或作為在管理組件或?qū)ο蠛偷诙?yīng)用之間的單獨(dú)通信的一部分從第二應(yīng)用接收。 在第二應(yīng)用虛擬化設(shè)備的實(shí)施例中,該第二組選項(xiàng)可表示除了對于該類設(shè)備共同的那些能力之外的設(shè)備的特別能力。例如,打印機(jī)設(shè)備可具有許多打印機(jī)可用的通常能力和/或選項(xiàng),但可具有用于該打印機(jī)型號和/或制造商的附加能力,例如,更清晰圖像的打印機(jī)、可使用更生動的調(diào)色板,等等。第二對話框(例如,伴隨對話框)使特定設(shè)備制造商能夠在第二對話框中包括針對設(shè)備的選項(xiàng)以及(可選地)針對該設(shè)備型號和/或制造商的品牌、營銷和更多信息,以便創(chuàng)建特定于該設(shè)備的用戶體驗(yàn)。這樣的伴隨對話框也可特別地有用于第二應(yīng)用表示在線服務(wù)提供商或電子商務(wù)(例如,打印店)的情況。在這種情況下,伴隨對話框可被配置成收集客戶、支付和服務(wù)提供商為滿足用戶需求而需要的任何其它信息(例如,上述所需信息)。伴隨對話框也可顯示針對服務(wù)提供商的品牌、營銷、聯(lián)系人信息等。在一些實(shí)施例中,上述對話框從管理組件或在OS內(nèi)運(yùn)行的對象顯示,而不是從第一應(yīng)用顯示。因此,本文所述實(shí)施例使得第一應(yīng)用不必提供這種功能。通過從管理組件而不是應(yīng)用提供對話框,可為用戶提供公共且更富有特征的體驗(yàn)以與設(shè)備進(jìn)行交互。繼續(xù)到圖7B,在框712中,將所選選項(xiàng)提供給第一應(yīng)用。這些選項(xiàng)可包括由用戶通過上述第一和/或第二對話框選擇的那些選項(xiàng),并且還可包括未被用戶專門選擇的一個或多個默認(rèn)選項(xiàng)。在框714中,從第一應(yīng)用接收輸出流。該輸出流可基于在框712中提供給第一應(yīng)用的那些選項(xiàng)而為內(nèi)容生成。例如,在打印情景中,選項(xiàng)可包括由用戶選擇的那些打印選項(xiàng)。當(dāng)把那些選項(xiàng)提供給第一應(yīng)用(例如,文字處理應(yīng)用)時,應(yīng)用可基于這些選項(xiàng)回流文檔,并且基于選項(xiàng)生成對待打印的每一頁的形式化描述。在一些實(shí)施例中,形式化描述采用諸如Adobe PostScript 或XML文件規(guī)格書(XPS)的文檔交換格式,即用于描述頁面上的信息的通用抽象格式。因此,在打印示例中,所接收的輸出流可以是檔案輸出流。然而,實(shí)施例不限于特定類型的流。所接收的輸出流可以是沒有預(yù)定約束的流,例如,流化的視頻流,只要攝像機(jī)或其它設(shè)備使內(nèi)容(例如,實(shí)時、連續(xù)的數(shù)據(jù)流)流化。流也可以是用已知約束固定的流,例如,包含文本、圖形、多媒體或其它類型數(shù)據(jù)的流化的數(shù)據(jù)文件。在不脫離本文所述實(shí)施例的精神或范圍的情況下,可支持用于輸出流的各種格式。此外,雖然為清楚起見而將輸出流描述為流,但實(shí)施例支持包括數(shù)據(jù)包或包括流類型或文件類型兩者的各種類型的對象的輸出流??蛇x地,在框716中,可將輸出流的預(yù)覽呈現(xiàn)給用戶。在打印示例中,預(yù)覽可以是待打印的輸出流的打印預(yù)覽。從在OS內(nèi)的管理組件提供這樣的預(yù)覽使應(yīng)用不必提供這樣的功能,并且可以允許提供更豐富的共同用戶體驗(yàn)。雖然未示出,但預(yù)覽也可使用戶能夠更改所選選項(xiàng)以便在將之發(fā)送至第二應(yīng)用之前改變和微調(diào)輸出流。在其它實(shí)施例中,呈現(xiàn)預(yù)覽的任務(wù)留給管理組件,但用于預(yù)覽的內(nèi)容的實(shí)際生成仍然在應(yīng)用的控制之下。在框718中,輸出流被提供給第二應(yīng)用以便由第二應(yīng)用消費(fèi)、處理或以其它方式使用。在第二應(yīng)用為設(shè)備(例如,打印機(jī))的虛擬化的實(shí)施例中,輸出流可在框720中經(jīng)由第二應(yīng)用假脫機(jī)輸入或以其它方式提供給設(shè)備。在第二應(yīng)用為在線服務(wù)(例如,打印服務(wù))的前端的實(shí)施例中,輸出流被提交給在線服務(wù)(例如,作為將根據(jù)用戶指定的選項(xiàng)完成的打印作業(yè))。用于將輸出流輸送至最終目的地的方法不受實(shí)施例的限制,并且支持將輸出流的內(nèi)容傳輸至目的地的任何方法。
在一些實(shí)施例中,代替將內(nèi)容直接發(fā)送給設(shè)備,經(jīng)由服務(wù)器設(shè)備(例如,在打印情景中的打印服務(wù)器)來發(fā)送內(nèi)容。此外,在目標(biāo)設(shè)備或服務(wù)不直接支持流的內(nèi)容的一些實(shí)施例中,可存在中間步驟,其中流被轉(zhuǎn)化為設(shè)備所支持的格式(例如,在打印的情況中的PDL)。在一些情況下,這種轉(zhuǎn)化可以在將流發(fā)送到設(shè)備或服務(wù)器之前進(jìn)行。在將內(nèi)容發(fā)送給隨后將流轉(zhuǎn)送至目標(biāo)設(shè)備的服務(wù)器(例如,打印服務(wù)器)的實(shí)施例中,轉(zhuǎn)化可在流被發(fā)送到服務(wù)器之后和流被發(fā)送到目標(biāo)設(shè)備之前進(jìn)行。在一些實(shí)施例中,轉(zhuǎn)化由設(shè)備驅(qū)動程序(例如,打印機(jī)驅(qū)動程序)進(jìn)行。圖8是用于調(diào)解應(yīng)用之間的雙向交互的示例配置的示意圖。圖8描繪了與圖4的要素類似的要素,并且圖4的描述整體適用于圖8。然而,圖8稍微不同于圖4,并且圖8示出了其中第一應(yīng)用802正在消費(fèi)由第二應(yīng)用804生成的數(shù)據(jù)和/或內(nèi)容的實(shí)施例。這樣的情況可適用于第一應(yīng)用802為視頻會議或視頻聊天應(yīng)用的情形,該應(yīng)用使用由第二設(shè)備806 (例如,網(wǎng)絡(luò)攝影機(jī)或其它攝像機(jī))生成且通過充當(dāng)?shù)诙O(shè)備806的虛擬化的第二應(yīng)用804而提供的內(nèi)容。雖然圖8、9A和9B的描述采用攝像機(jī)功能作為示例,但實(shí)施例不限于此。實(shí)施例包括其中用戶應(yīng)用正在消費(fèi)由虛擬化設(shè)備的第二應(yīng)用生成的內(nèi)容的其它情景。例如,在一種情景中,健身應(yīng)用可從健身設(shè)備(例如,鍛煉器械)、生物統(tǒng)計監(jiān)視器(例如心律監(jiān)視器)接收流化數(shù)據(jù)或其它數(shù)據(jù)。作為另一示例,第一應(yīng)用可以是環(huán)境、氣候或其它監(jiān)視程序,其從測量溫度、壓力、濕度、風(fēng)速、氣載污染物的環(huán)境傳感器接收實(shí)時、半實(shí)時、和/或歷史數(shù)據(jù)、或其它數(shù)據(jù)。通常,由第一應(yīng)用接收和/或發(fā)送的數(shù)據(jù)可為實(shí)時流或一個或多個分立文件的流的形式。圖9A和9B描繪了示例性過程900,其用于根據(jù)其中第一應(yīng)用消費(fèi)由第二應(yīng)用生成的數(shù)據(jù)的實(shí)施例調(diào)解兩個應(yīng)用之間的雙向交互。在一些實(shí)施例中,過程900作為(一個或多個)管理組件308的部分而執(zhí)行。在框902中,選擇可以被接收,該選擇指示第二應(yīng)用提供將由第一應(yīng)用消費(fèi)的內(nèi)容。在一些實(shí)施例中,由第一應(yīng)用的用戶選擇第二應(yīng)用,并且通過使用控件、對話框或管理組件的其它用戶界面要素而制作第二應(yīng)用。例如,在與攝像機(jī)有關(guān)的實(shí)施例中,第一應(yīng)用可以是視頻聊天或視頻會議應(yīng)用。用戶可打開菜單或用于選擇視頻數(shù)據(jù)源以在會議會聊天會話中使用的其它用戶界面要素,從而促使管理組件呈現(xiàn)用戶體驗(yàn)以用于選擇第二應(yīng)用,第二應(yīng)用可以是流化視頻數(shù)據(jù)的設(shè)備(例如,網(wǎng)絡(luò)攝影機(jī)或其它攝像機(jī))的虛擬化。這種選擇可觸發(fā)到OS和/或管理組件的通信以指示用戶對視頻源的選擇。在框904中,管理對象被實(shí)例化以便調(diào)解第一和第二應(yīng)用之間的交互,如參照圖5A所描述的。在框906中,管理對象和/或管理組件詢問第二應(yīng)用以便確定其能力和/或其要求以用于提供內(nèi)容。例如,當(dāng)?shù)诙?yīng)用虛擬化攝像設(shè)備時,所確定的能力可包括攝像機(jī)的視頻或音頻能力,包括但不限于設(shè)置亮度、色調(diào)、調(diào)色板、支持的視頻格式和圖像尺寸的能力、產(chǎn)生效果的能力、進(jìn)行面部識別的能力,等等。在框908中,基于所確定的第二應(yīng)用的能力和/或要求來確定用于提供內(nèi)容的一個或多個選項(xiàng)。在框910中,這些選項(xiàng)可作為用戶體驗(yàn)(例如,一個或多個對話框)的一部分來呈現(xiàn)。如本文所討論的,在一些實(shí)施例中,對話框可從管理組件呈現(xiàn)。然而,在其它實(shí)施例中,對話框可從第二應(yīng)用(例如,虛擬化應(yīng)用)呈現(xiàn)。然后用戶可采用對話框來選擇一個或多個選項(xiàng)以便第二應(yīng)用提供內(nèi)容和/或提供第二應(yīng)用需要的任何信息。如上所述,在一些實(shí)施例中,對話框可以是所有類型的第二應(yīng)用共同的。在其它實(shí)施例中,對話框可以是 跨特定類別或類型的第二應(yīng)用共同的(例如,虛擬化攝像設(shè)備的應(yīng)用通有的)。對話框用與第二設(shè)備的能力和/或要求相關(guān)聯(lián)的選項(xiàng)來填充。如參照圖5B所描述,對話框可以是用戶體驗(yàn)的一部分,該用戶體驗(yàn)是或者由管理組件生成的共同用戶體驗(yàn)或者更特定于第二應(yīng)用且從第二應(yīng)用生成的體驗(yàn)。此外,在一些實(shí)施例中,可在框910中將第二對話框進(jìn)一步呈現(xiàn)給用戶。該第二對話框可將特定于特定第二應(yīng)用和/或其可虛擬化的設(shè)備的第二組選項(xiàng)呈現(xiàn)給用戶,如上文參照圖7A所描述的。繼續(xù)到圖9B,在框912中,將所選選項(xiàng)提供給第二應(yīng)用。這些選項(xiàng)可包括由用戶通過上述(一個或多個)對話框選擇的那些選項(xiàng),并且還可包括未被用戶專門選擇的一個或多個默認(rèn)選項(xiàng)。第二應(yīng)用可接著基于指定的選項(xiàng)生成所需內(nèi)容。在框914中,從第二應(yīng)用接收輸出流,并且在框916中,將輸出流提供給第一應(yīng)用以由第一應(yīng)用消費(fèi)、處理或以其它方式使用。與此前的示例一樣,第二應(yīng)用可以是設(shè)備(例如,攝像機(jī))的虛擬化。第二應(yīng)用也可以是到在線服務(wù)(例如,提供安全視頻饋送或其它內(nèi)容的服務(wù))的前端/接口。實(shí)施例可采用實(shí)際上用于接收輸出流的任何方法和/或模型。結(jié)論
雖然已經(jīng)用特定于結(jié)構(gòu)特征和/或方法動作的語言描述了技術(shù),但應(yīng)當(dāng)理解,所附權(quán)利要求未必局限于所描述的特定特征或動作。相反,特定特征和動作以實(shí)現(xiàn)這樣的技術(shù)的示例性形式而公開。
權(quán)利要求
1.一種系統(tǒng),包括 一個或多個處理器(302);和 管理組件(308),所述管理組件(308)由所述一個或多個處理器來執(zhí)行且執(zhí)行包括下列各項(xiàng)的動作 確定第二應(yīng)用以處理由第一應(yīng)用生成的內(nèi)容(702); 確定用于處理所述內(nèi)容的所述第二應(yīng)用的一個或多個能力(706); 從所述第一應(yīng)用接收基于一個或多個選項(xiàng)而為所述內(nèi)容生成的輸出流(714);以及 提供將由所述第二應(yīng)用消費(fèi)的所述輸出流(718)。
2.根據(jù)權(quán)利要求I所述的系統(tǒng),其中,所述第二應(yīng)用為目標(biāo)設(shè)備¢06)的虛擬化。
3.根據(jù)權(quán)利要求I所述的系統(tǒng),其中,所述輸出流為待打印(702)的文檔,其中所述第二應(yīng)用為打印機(jī)設(shè)備¢06)的虛擬化,并且其中消費(fèi)所述輸出流包括在所述打印機(jī)設(shè)備處打印所述輸出流(720)。
4.根據(jù)權(quán)利要求I所述的系統(tǒng),其中,所述輸出流為待打印(702)的文檔,其中所述第二應(yīng)用為打印服務(wù)¢08),并且其中消費(fèi)所述輸出流包括將所述輸出流在打印作業(yè)請求中提交給所述打印服務(wù)(722)。
5.根據(jù)權(quán)利要求I所述的系統(tǒng),其中,所述動作還包括在提供將由所述第二應(yīng)用消費(fèi)的所述輸出流之前呈現(xiàn)所述輸出流的預(yù)覽(716)。
6.根據(jù)權(quán)利要求I所述的系統(tǒng),其中,所述動作還包括提供體驗(yàn)以使用戶能夠從一個或多個可用選項(xiàng)中選擇所述一個或多個選項(xiàng)以用于生成所述輸出流(510,710),并且其中所述一個或多個可用選項(xiàng)基于所述第二應(yīng)用的所述一個或多個能力(708)。
7.根據(jù)權(quán)利要求6所述的系統(tǒng),其中,所述體驗(yàn)由所述管理組件生成,并且其中所述體驗(yàn)是包括所述第二應(yīng)用的一類應(yīng)用共同的(536)。
8.根據(jù)權(quán)利要求6所述的系統(tǒng),其中,所述體驗(yàn)由所述第二應(yīng)用生成且特定于所述第二應(yīng)用(534)。
9.一種由計算設(shè)備(300)實(shí)現(xiàn)的方法,所述方法包括 在執(zhí)行于所述計算設(shè)備上的管理應(yīng)用處,接收對第二應(yīng)用消費(fèi)由第一應(yīng)用生成的內(nèi)容的指示(702); 在所述管理應(yīng)用處,詢問所述第二應(yīng)用以基于所述第二應(yīng)用的一個或多個能力確定用于消費(fèi)所述內(nèi)容的第一組選項(xiàng)(706,708); 從所述管理應(yīng)用提供第一對話框以實(shí)現(xiàn)從所述第一組選項(xiàng)中選擇(710); 將來自所述管理應(yīng)用的所選擇的選項(xiàng)提供給所述第一應(yīng)用(712); 在所述管理應(yīng)用中,從所述第一應(yīng)用接收根據(jù)所選擇的選項(xiàng)而為所述內(nèi)容生成的內(nèi)容流(714);以及 將來自所述管理應(yīng)用的所述內(nèi)容流提供給所述第二應(yīng)用(718)。
10.一種由計算設(shè)備實(shí)現(xiàn)的方法,所述方法包括 基于第二應(yīng)用的選擇(502),實(shí)例化管理對象以用于調(diào)解在第一應(yīng)用和第二應(yīng)用之間的交互(504); 從所述管理對象,確定所述第二應(yīng)用的一個或多個能力(506); 從所述管理對象,提供用于從一組選項(xiàng)中選擇的體驗(yàn)以用于所述交互(510),其中,基于所述第二應(yīng)用的所述一個或多個能力而生成所述一組選項(xiàng)(508);以及 根據(jù)所述選擇的選項(xiàng)啟動所述第一應(yīng)用和所述第二應(yīng)用之間的所述交互(512)。
11.一個或多個存儲指令的計算機(jī)可讀存儲介質(zhì),所述指令在被執(zhí)行時指示計算設(shè)備執(zhí)行如權(quán)利要求9或10所述的方法。
全文摘要
一個或多個管理組件調(diào)解應(yīng)用之間的雙向交互。該組件調(diào)解諸如文字處理、視頻會議或多媒體應(yīng)用的第一應(yīng)用和第二應(yīng)用之間的交互,第二應(yīng)用為諸如打印機(jī)、攝像機(jī)或多媒體設(shè)備的物理設(shè)備的虛擬化。此外,實(shí)施例還支持為服務(wù)提供商、在線服務(wù)等提供接口的第二應(yīng)用。(一個或多個)管理組件可充當(dāng)操作系統(tǒng)(OS)的一部分,以允許OS調(diào)解交互,并且允許更大的靈活性和更豐富的用戶體驗(yàn),包括呈現(xiàn)用于交互的共同用戶體驗(yàn)和/或充當(dāng)中介以呈現(xiàn)從第二應(yīng)用生成的體驗(yàn)。實(shí)施例還包括統(tǒng)一應(yīng)用編程接口(API),以允許應(yīng)用經(jīng)由OS的(一個或多個)管理組件彼此交互。
文檔編號G06F3/12GK102945142SQ20121033588
公開日2013年2月27日 申請日期2012年9月12日 優(yōu)先權(quán)日2011年9月12日
發(fā)明者M.G.莫里斯, D.R.戴維斯, F.戈金伊 申請人:微軟公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1