大型多租戶云服務(wù)采用多個數(shù)據(jù)中心來向客戶提供服務(wù)。數(shù)據(jù)中心在地理上是分布式的。可以將租戶分配給地理上接近該租戶的位置的數(shù)據(jù)中心。這些云服務(wù)的基礎(chǔ)架構(gòu)是由服務(wù)器群和目錄服務(wù)森林的多個網(wǎng)絡(luò)來建立的。例如,不同的地區(qū)可以有不同的語言,并且可以在不同的時間升級區(qū)域性的版本。
為了理解產(chǎn)生中系統(tǒng)的用戶體驗,可以使用與用于使用具體的命名慣例來向客戶對租戶進行供應(yīng)的相同的用戶接口來手動地對測試租戶進行供應(yīng)。然而,手動創(chuàng)建測試租戶是消耗時間并且容易出錯的。當(dāng)涉及到諸如收入報告和其它類型的商業(yè)功能之類的商業(yè)智能時,必須注意以確保沒有將測試租戶錯誤地識別為真實租戶。此外,不存在對其中供應(yīng)了測試租戶的網(wǎng)絡(luò)、群、或者森林的直接控制。盡管可以通過地區(qū)和語言選擇來影響在哪里對租戶進行供應(yīng),但是不保證將測試任何特定的網(wǎng)絡(luò)、群、或者森林。
已經(jīng)關(guān)于這些和其他考慮而進行了本發(fā)明。盡管已經(jīng)討論了相對具體的問題,但應(yīng)當(dāng)理解的是,在本文中所公開的實施例不應(yīng)該限于解決在
背景技術(shù):
中所標(biāo)識的具體的問題。
技術(shù)實現(xiàn)要素:
提供了該發(fā)明內(nèi)容以用簡化的形式介紹在以下的具體實施方式中所進一步描述的概念的選擇。該發(fā)明內(nèi)容不旨在標(biāo)識所要求保護的主題的關(guān)鍵特征或本質(zhì)特征,也不旨在用來幫助確定所要求保護的主題的范圍。
租戶供應(yīng)系統(tǒng)的實施例直接地與商業(yè)平臺和與多租戶服務(wù)相關(guān)聯(lián)的目錄服務(wù)系統(tǒng)進行通信,以在所選擇的服務(wù)實例中創(chuàng)建并對租戶進行供應(yīng)。在各種實施例中,租戶供應(yīng)系統(tǒng)是如下的服務(wù),其可以對與多租戶服務(wù)的供應(yīng)者相關(guān)聯(lián)的用戶可用。租戶供應(yīng)系統(tǒng)對多租戶服務(wù)的終端用戶(即與客戶相關(guān)聯(lián)的用戶)不可用。
租戶供應(yīng)系統(tǒng)的實施例可以與獨立的工作流系統(tǒng)一起使用。工作流系統(tǒng)的實施例可以包括允許工作流被定義的腳本組件。工作流系統(tǒng)可以自動地應(yīng)用工作流來測試從租戶供應(yīng)系統(tǒng)中所獲得的租戶并且監(jiān)視這樣的工作流的結(jié)果。工作流系統(tǒng)可以用日志記錄工作流的狀態(tài)、動作、和/或結(jié)果,產(chǎn)生能夠由其他系統(tǒng)使用的報告或反饋,和/或當(dāng)工作流失敗或者識別出多租戶系統(tǒng)、工作負荷、服務(wù)實例、資源、或者租戶有問題時發(fā)送通知或生成警報。在各種實施例中,租戶供應(yīng)系統(tǒng)可以合并工作流系統(tǒng)的能力和功能中的一些或全部。
附圖說明
通過參考附圖,本公開的進一步的特征、方面、和優(yōu)點將通過參照附圖而變得更好理解,其中,元素不是按比例的以便清楚地示出細節(jié),并且其中,相同的附圖標(biāo)記在視圖的通篇中指示相同的元件。
圖1示出了在大規(guī)模、多租戶服務(wù)環(huán)境中的租戶供應(yīng)系統(tǒng)的一個實施例的系統(tǒng)架構(gòu);
圖2是由租戶供應(yīng)系統(tǒng)所采用的測試租戶供應(yīng)方法的一個實施例的高級流程圖;
圖3示出了用于在所選擇的服務(wù)實例中生成測試租戶的租戶供應(yīng)系統(tǒng)的一個實施例的操作流程;
圖4是示出了利用其可以實施本發(fā)明的實施例的計算設(shè)備的物理組件的一個實施例的框圖;并且
圖5A和圖5B是利用其可以實施本發(fā)明的實施例的移動計算設(shè)備的簡化框圖。
具體實施方式
參考形成了本文的一部分并且示出了具體的示例性實施例的附圖以在下文中更加充分地描述了各種實施例。然而,實施例可以以許多不同的形式來實現(xiàn),并且不應(yīng)該被理解為限于在本文中所闡述的實施例;相反,提供了這些實施例以使得該公開將是徹底的和完整的,并且將向本領(lǐng)域技術(shù)人員完整地傳達實施例的范圍??梢詫嵤├龑嵤榉椒ā⑾到y(tǒng)、或設(shè)備。從而,實施例可以采取硬件實現(xiàn)、完全軟件實現(xiàn)、或者組合了軟件和硬件方面的實現(xiàn)的形式。因此,以下的詳細描述不被理解為限制意義。
在本文中描述并且在附圖中示出了租戶供應(yīng)系統(tǒng)的實施例。系統(tǒng)允許用戶請求用于將具體的基礎(chǔ)架構(gòu)資源作為目標(biāo)的多租戶服務(wù)的測試租戶的創(chuàng)建,以及測試租戶的自動批量創(chuàng)建。將由系統(tǒng)所創(chuàng)建的測試租戶進行清楚地標(biāo)識以防止測試租戶被提供關(guān)于多租戶服務(wù)的信息的商業(yè)智能系統(tǒng)進行誤報。測試租戶的定期的自動供應(yīng)提供了一種用于監(jiān)視多租戶服務(wù)的操作的機制。此外,用于在具體的基礎(chǔ)架構(gòu)資源中對測試租戶進行供應(yīng)的能力允許對大多數(shù)或全部基礎(chǔ)架構(gòu)資源的綜合的操作測試,以及對個體的基礎(chǔ)架構(gòu)資源的目標(biāo)測試。系統(tǒng)可以提供具有有效期的測試租戶,以允許自動移除過期的測試租戶。系統(tǒng)降低了測試租戶的手動創(chuàng)建中固有的成本和錯誤。
圖1示出了在大型、多租戶服務(wù)環(huán)境中的租戶供應(yīng)系統(tǒng)100的一個實施例的系統(tǒng)架構(gòu)。多租戶服務(wù)102是由托管針對客戶的一個或多個工作負荷的多個數(shù)據(jù)中心組成的。在所示出的實施例中,多租戶服務(wù)是分布式服務(wù),例如,基于云的服務(wù),其具有多個地理上分布的數(shù)據(jù)中心106。當(dāng)客戶訂閱多租戶服務(wù)時,通常在地理上接近該客戶的地理位置的數(shù)據(jù)中心中提供租戶108。租戶通常是指多租戶服務(wù)內(nèi)的客戶(例如,公司)的層級表示中的最高等級的對象。
如在本文中所使用的,當(dāng)基于租戶的成因進行區(qū)分是有意義的時,術(shù)語“真實租戶”是指由客戶所創(chuàng)建的租戶,而“測試租戶”是指由租戶供應(yīng)系統(tǒng)所創(chuàng)建的租戶。通常而言,一旦被創(chuàng)建,則從功能的角度上真實租戶與測試租戶之間不存在有意義的差異,這是令人滿意的,因為測試租戶旨在用于模仿真實租戶以測試產(chǎn)品多租戶服務(wù)的操作。租戶供應(yīng)系統(tǒng)與用于供應(yīng)真實租戶的相同的系統(tǒng)中的多個系統(tǒng)進行交互。主要的區(qū)別是使測試租戶創(chuàng)建自動化的能力以及在供應(yīng)期間由租戶供應(yīng)系統(tǒng)所提供的控制的等級,該等級允許從一開始對測試租戶的各種方面進行配置,例如,在哪里對測試租戶進行供應(yīng)或者向測試租戶供應(yīng)什么資源、在不實際支付的情況下進行訂閱、增加測試租戶供應(yīng)、以及由其他系統(tǒng)準(zhǔn)備好識別租戶的身份。
目錄服務(wù)系統(tǒng)110保存關(guān)于多租戶服務(wù)的組織、資源、和用戶的信息。由目錄服務(wù)系統(tǒng)所存儲的信息可以包括但不限于以下中的一些或全部:域列表、用戶列表、安全組列表、訂閱信息、角色分配、許可分配、以及服務(wù)實例屬性。
商業(yè)平臺112管理對多租戶服務(wù)的訂閱。商業(yè)平臺保存對客戶可用的可用的服務(wù)計劃的列表114、接受訂閱可用的服務(wù)計劃的命令、生成發(fā)票、接受支付、并且向租戶供應(yīng)計劃。商業(yè)平臺可以保存針對租戶供應(yīng)系統(tǒng)使用而創(chuàng)建的特殊訂閱建議的列表116以專門用于對測試租戶進行供應(yīng)。
將由多租戶服務(wù)向客戶提供的個體的服務(wù)稱為工作負荷118。針對基于辦公/產(chǎn)生力應(yīng)用的大型服務(wù)的工作負荷的示例可以包括但不限于文字處理、郵件、消息傳送、會議、任務(wù)管理、日歷、協(xié)同、聯(lián)系人信息管理、筆記記錄、文檔管理、內(nèi)容管理、演示、電子表格、數(shù)據(jù)庫、媒體、以及繪畫應(yīng)用服務(wù)。
當(dāng)在租戶上供應(yīng)服務(wù)計劃時,分配針對任何工作負荷向其對租戶進行供應(yīng)的服務(wù)實例120。對于真實租戶而言,服務(wù)實例是基于由客戶在注冊期間所提供的信息和進行的選擇來選擇的。服務(wù)實例是工作負荷向與多租戶服務(wù)相關(guān)聯(lián)的目錄服務(wù)暴露的資源單元。每個工作負荷定義服務(wù)實例的范圍。服務(wù)實例用于標(biāo)識工作負荷在何時工作負荷向目錄服務(wù)查詢改變。每個服務(wù)實例具有與其相關(guān)聯(lián)的各種資源。資源是多租戶服務(wù)基礎(chǔ)架構(gòu)的組件,但不限于網(wǎng)絡(luò)、目錄服務(wù)樹(例如,賬戶或者郵箱)、一個或多個目錄服務(wù)樹的森林、以及服務(wù)器群。
租戶供應(yīng)系統(tǒng)直接地與商業(yè)平臺和目錄服務(wù)進行通信以在用于商業(yè)功能的所選擇的服務(wù)實例中創(chuàng)建并對租戶進行供應(yīng),所述商業(yè)功能例如但不限于對多租戶服務(wù)器進行監(jiān)視、測試、維護、和升級。在各種實施例中,租戶供應(yīng)系統(tǒng)是對與多租戶服務(wù)的提供商相關(guān)聯(lián)的用戶可用的服務(wù)。租戶供應(yīng)系統(tǒng)對多租戶服務(wù)的終端用戶(即,與客戶相關(guān)聯(lián)的用戶)不可用。一些實施例可以允許對租戶供應(yīng)系統(tǒng)的不同等級的訪問。例如,標(biāo)準(zhǔn)用戶可以被允許執(zhí)行基本功能,例如但不限于請求租戶以及創(chuàng)建生成并監(jiān)視一系列租戶的工作流。管理用戶可以被允許執(zhí)行較高等級的功能,例如但不限于對先前供應(yīng)的租戶添加新的訂閱。
在一些實施例中,租戶供應(yīng)系統(tǒng)可以包括允許創(chuàng)建工作流的腳本服務(wù)。工作流可以用于根據(jù)調(diào)度或者定期地自動生成租戶,并且利用或針對租戶執(zhí)行操作。租戶供應(yīng)系統(tǒng)的各種實施例可以包括監(jiān)視并記錄租戶供應(yīng)服務(wù)(例如,租戶的供應(yīng)和/或去供應(yīng))、租戶(例如,成功地創(chuàng)建或者被遷移)、和工作流(例如,所應(yīng)用的更新工作流)的狀態(tài)和/或活動的日志或報告服務(wù)。日志/報告服務(wù)的實施例還可以在識別出多租戶系統(tǒng)、工作負荷、服務(wù)實例、資源、或者租戶的問題時生成警報。
另外,租戶供應(yīng)系統(tǒng)的實施例可以與可選的獨立工作流系統(tǒng)122一起使用。工作流系統(tǒng)的實施例可以包括允許對工作流進行定義的腳本組件。工作流系統(tǒng)可以自動地應(yīng)用工作流來測試從租戶供應(yīng)系統(tǒng)所獲得的測試租戶并且監(jiān)視這樣的工作流的結(jié)果??梢葬槍σ韵碌墓δ軄硎褂帽O(jiān)視,所述功能例如但不限于持續(xù)地或者根據(jù)需要地評估多租戶服務(wù)或其任何組件的健康和操作,包括工作負荷、服務(wù)實例、工作流、群、森林、樹、網(wǎng)絡(luò)、應(yīng)用框架和其上建立的應(yīng)用、以及其他基礎(chǔ)架構(gòu)資源。工作流系統(tǒng)可以用日志記錄工作流的狀態(tài)、動作、和/或結(jié)果,生成能夠由其他系統(tǒng)使用的報告或反饋,和/或當(dāng)工作流失敗或者識別出多租戶系統(tǒng)、工作負荷、服務(wù)實例、資源、或者租戶有問題時發(fā)送通知或生成警報。
在各種實施例中,租戶供應(yīng)系統(tǒng)可以包含工作流系統(tǒng)的能力和功能中的一些或全部,其包括應(yīng)用和監(jiān)視工作流、日志、報告、以及生成警報。在租戶供應(yīng)系統(tǒng)內(nèi),可以出于以下的目的來使用工作流,例如根據(jù)調(diào)度或者定期地自動生成測試租戶和/或關(guān)于測試租戶的導(dǎo)入信息以及批量生成測試租戶。租戶供應(yīng)系統(tǒng)可以包括可以充當(dāng)測試租戶的倉庫的數(shù)據(jù)庫以及所報告的關(guān)于測試租戶的信息。
租戶供應(yīng)系統(tǒng)的實施例采用對商業(yè)平臺和/或目錄服務(wù)的安全訪問以避免錯誤使用租戶供應(yīng)系統(tǒng)的功能,例如,免費訂閱建議和將具體的基礎(chǔ)架構(gòu)資源定為目標(biāo)的能力。例如,通過對商業(yè)服務(wù)器的未授權(quán)的訪問,可以生成不符合針對測試租戶所期望的限制的未授權(quán)的免費訂閱建議,這可能導(dǎo)致在真實租戶和測試租戶之間進行區(qū)分的能力的損失,或者免費訂閱建議可能由真實用戶錯誤地使用,這可能導(dǎo)致收入損失。在另一個示例中,利用拒絕服務(wù)攻擊可以開發(fā)用于生成具體的服務(wù)實例的測試租戶的未授權(quán)的訪問,來將多租戶服務(wù)基礎(chǔ)架構(gòu)的部分定為目標(biāo)??梢酝ㄟ^對安全和驗證機制124的使用來提供安全訪問,所述安全和驗證機制124例如但不限于許可、安全證書、驗證令牌、以及適用于對所選擇的計算設(shè)備之間的通信或者來自經(jīng)授權(quán)的用戶的通信進行驗證的其他安全機制。
租戶供應(yīng)系統(tǒng)、商業(yè)平臺、目錄服務(wù)、工作流系統(tǒng)、以及多租戶服務(wù)是使用一個或多個計算設(shè)備來實現(xiàn)的,所述一個或多個計算設(shè)備執(zhí)行提供在本文中所描述的功能的對應(yīng)的計算機可執(zhí)行指令。所述計算機可執(zhí)行指令可以以程序、應(yīng)用、服務(wù)、腳本、或其他軟件為形式??梢詫⒂嬎阍O(shè)備實現(xiàn)為個體的服務(wù)器或者服務(wù)器群。租戶供應(yīng)系統(tǒng)的分布式組件與多租戶服務(wù)經(jīng)由一個或多個網(wǎng)絡(luò)進行通信,所述一個或多個網(wǎng)絡(luò)例如但不限于互聯(lián)網(wǎng)、廣域網(wǎng)、以及局域網(wǎng)。
圖2是由租戶供應(yīng)系統(tǒng)所采用的租戶供應(yīng)方法的一個實施例的高級流程圖。租戶供應(yīng)方法200可選地開始于建議定義操作202,在該操作中,在商業(yè)平臺中定義了一組特別訂閱建議。特別訂閱建議用于在對測試租戶進行供應(yīng)中的有限內(nèi)部使用,并且模仿對應(yīng)的已支付的服務(wù)計劃中除了賬單之外的一些或全部行為。在一些實施例中,特別訂閱建議可以具有更新或期限限制,例如,設(shè)置測試租戶的壽命的鏈接至賬單循環(huán)的特別終止規(guī)則。
在一些實施例中,可以生成對應(yīng)于每個已支付的訂閱計劃的特別訂閱建議。多租戶服務(wù)可以具有對客戶可用的大量已支付的服務(wù)計劃。在一些情況下,創(chuàng)建對應(yīng)于每個已支付的訂閱計劃的特別訂閱建議是不實際或者不必要的。從而,在一些實施例中,可以僅僅針對所選擇的已支付的服務(wù)計劃而生成特別訂閱建議。例如,特別訂閱建議可以對應(yīng)于最高供應(yīng)的已支付的服務(wù)計劃。
特別訂閱建議包含象征性收費(例如,$0.01或者其他大體上較少的金額)或者免費(即,零花費)訂閱建議。在生成大量的測試租戶的情況下使用免費訂閱建議可以特別有利,這是因為與在商業(yè)平臺中對測試租戶進行供應(yīng)相關(guān)聯(lián)的花費可能變得沉重。即使支付被返回至資金源(即,賠償),也可能存在以交易費(例如,信用卡交易費)的形式和/或要求維持足夠資金/信用限額以覆蓋針對所生成的每個測試租戶的訂閱花費的形式的未收回的花費。
供應(yīng)請求接收操作204接收由請求者所發(fā)送的對測試租戶進行供應(yīng)的請求。請求者可以是定期地或者基于用戶來生成請求的自動請求系統(tǒng),所述用戶是根據(jù)需要生成請求以測試多租戶服務(wù)的一個或多個資源的功能的,例如,服務(wù)開發(fā)者或者支持工程師。供應(yīng)請求可以分配針對測試租戶的供應(yīng)細節(jié)(例如,元數(shù)據(jù)),包括但不限于:待利用的設(shè)置、資源、以及訂閱建議。供應(yīng)細節(jié)可以分配特性,例如但不限于:其中待對測試租戶進行供應(yīng)的服務(wù)實例、用于由測試租戶使用的工作負荷版本、用于由測試租戶使用的數(shù)據(jù)庫、用于當(dāng)對測試租戶進行供應(yīng)時使用的訂閱建議、具體的標(biāo)識符(即,公司名稱)、測試租戶的語言、測試租戶的地區(qū)、以及測試租戶的壽命或有效期。實施例還可以分配用于生成一系列測試租戶的調(diào)度。
租戶創(chuàng)建操作206生成租戶信息,所述租戶信息用于基于供應(yīng)請求的內(nèi)容而在商業(yè)平臺中創(chuàng)建租戶。租戶創(chuàng)建操作涉及創(chuàng)建和保存租戶簡檔以及指導(dǎo)多租戶服務(wù)中的其他系統(tǒng)(例如,商業(yè)系統(tǒng)、目錄服務(wù)系統(tǒng)、或者工作負荷)來根據(jù)期望的測試場景的需要而以某些方式進行表現(xiàn)??梢酝ㄟ^傳遞分配指令和/或值(即,參數(shù))的元數(shù)據(jù)來完成指導(dǎo)其他系統(tǒng)。可以被傳遞至其他系統(tǒng)的元數(shù)據(jù)的示例包括但不限于:使用特別訂閱建議的指令、跳過針對測試租戶的賬單的指令、供應(yīng)具有特定的工作負荷版本的測試租戶的指令、使用測試租戶的分配的數(shù)據(jù)庫的指令、使用測試組合的分配的服務(wù)實例的指令、將租戶標(biāo)識為多租戶服務(wù)內(nèi)的測試租戶的指令、以及先前所描述供應(yīng)細節(jié)中的任何一個。
在各種實施例中,租戶創(chuàng)建操作可以被配置為按照日期第或者定期地(例如,每N分鐘、小時、或天)運行以生成用于心跳測試的測試租戶的進行中的序列,這允許連續(xù)地監(jiān)視服務(wù)實例的操作。在一些實施例中,可以根據(jù)需要調(diào)用租戶創(chuàng)建操作以響應(yīng)于特定的事件而生成用于測試所選擇的工作負荷實例的測試租戶。
測試租戶標(biāo)識操作208以允許其他系統(tǒng)、服務(wù)、和用戶將租戶標(biāo)識為測試租戶的方式來標(biāo)記租戶。在各種實施例中,租戶簡檔中的信息符合用于將租戶標(biāo)識為測試租戶的慣例??梢孕枰褂貌煌臏y試租戶標(biāo)識慣例來向多種不同的系統(tǒng)標(biāo)識測試租戶。租戶供應(yīng)系統(tǒng)、商業(yè)平臺、以及商業(yè)智能系統(tǒng)可以全都需要對測試租戶和真實租戶進行區(qū)分。例如,租戶信息可以生成符合測試租戶標(biāo)識慣例的針對租戶信息字段(例如,公司名稱或初始域)的前綴或后綴,或者確保所選擇的用于標(biāo)識測試租戶的字符串或其他值被并入到合適的租戶信息字段(例如,公司名稱)中。在另一個示例中,租戶創(chuàng)建操作還可以添加一個或多個標(biāo)簽或者填充一個或多個專用于將租戶標(biāo)識為測試租戶的字段。諸如商業(yè)平臺之類的一些系統(tǒng)可以將使用特別訂閱建議而被供應(yīng)的租戶標(biāo)識為測試租戶。
持續(xù)地對測試租戶與真實租戶進行區(qū)分的一個好處是防止測試租戶曲解服務(wù)和財務(wù)度量。例如,無法找出(account for)測試租戶可能會影響關(guān)于向多租戶服務(wù)添加資源的決策,這是因為在新的租戶的數(shù)字中或者在租戶的總數(shù)中可能會將測試租戶誤報成真實租戶。類似地,無法找出測試租戶可能會導(dǎo)致在基于測試租戶訂閱的有缺陷的收入預(yù)測基礎(chǔ)上的不準(zhǔn)確的財務(wù)報表??梢韵氲娇赡苡捎诓荒軌驕?zhǔn)確地標(biāo)識測試租戶而產(chǎn)生的其他不期望的場景。
一旦被創(chuàng)建,租戶供應(yīng)操作210在多租戶服務(wù)的目錄服務(wù)中對測試租戶進行供應(yīng)。此時,已經(jīng)創(chuàng)建并且以管理方式在多租戶服務(wù)中供應(yīng)了測試租戶,但是測試租戶還沒有購買訂閱。換句話說,已經(jīng)創(chuàng)建了針對測試租戶的賬戶,但是測試租戶還沒有被授權(quán)以使用由多租戶服務(wù)所提供的工作負荷中的任何一個工作負荷。
服務(wù)實例分配操作212在向測試租戶供應(yīng)訂閱建議之前將服務(wù)實例添加至測試租戶。服務(wù)實例分配操作指定被供應(yīng)有測試租戶的所選擇的服務(wù)實例。還可以使用服務(wù)實例分配操作來設(shè)置用于針對調(diào)試工作負荷的具體的實例所創(chuàng)建的測試租戶的服務(wù)實例。租戶遷移測試是期望設(shè)置具體的服務(wù)實例進行設(shè)置的場景的一個示例。在具有混合的基礎(chǔ)架構(gòu)(其具有準(zhǔn)備好升級的一些服務(wù)實例而沒有準(zhǔn)備好升級的一些服務(wù)實例)的多租戶服務(wù)中,基礎(chǔ)架構(gòu)可以提供處于準(zhǔn)備好升級的狀態(tài)的至少一個服務(wù)實例。在各種實施例中,所選擇的準(zhǔn)備好升級的服務(wù)實例可以被保留以用于租戶遷移測試,并且可以被排除在其中被供應(yīng)有真實租戶的服務(wù)實例之外。因為可以存在非必須明確地設(shè)置服務(wù)實例屬性的情況,所以在一些實施例中服務(wù)實例分配操作可以是可選的,例如,當(dāng)測試對針對其中所有服務(wù)實例總是準(zhǔn)備好升級的工作負荷的升級工作流的操作時。
在已經(jīng)設(shè)置了針對測試租戶的任何具體的服務(wù)實例之后,訂單供應(yīng)操作214將包含訂閱信息的訂單發(fā)送至商業(yè)平臺。所述訂閱信息指定用于由測試租戶使用的訂閱建議。在接收了訂單之后,在購買操作216中,商業(yè)平臺對所述訂單進行處理。免費的訂閱建議允許測試租戶訂閱服務(wù)計劃而不用實際上對與該測試租戶相關(guān)聯(lián)的資金源進行收費(即,不用進行支付)。象征性的收費訂閱建議使得訂閱花費最小化,但是仍然涉及在生成測試租戶之前完成財務(wù)交易。在租戶被期望在供應(yīng)工作負荷之前購買服務(wù)的產(chǎn)品多租戶服務(wù)中對測試租戶進行供應(yīng)而不用支付或者具有象征性的支付的能力是有利的,尤其是當(dāng)定期地創(chuàng)建大量的測試租戶時。盡管特別訂閱建議對于在生成測試租戶時最小化或者避免對處理涉及實際資金源的財務(wù)交易的需求而言是有用的,但是要生成測試租戶,定義和/或使用特別訂閱建議不是必須的。
在各種實施例中,商業(yè)平臺考慮使用全額支付的免費訂閱建議的測試租戶的賬戶。例如,免費訂閱建議可以使得商業(yè)平臺開具(issue)在測試租戶的壽命期間補償訂閱的花費的信額(credit)。換句話說,商業(yè)平臺將把測試租戶視為沒有欠費。因為免費的訂閱建議允許商業(yè)平臺放棄從測試租戶收集支付,所以可以完成測試租戶的創(chuàng)建而不用提供支付源(例如,信用卡或銀行路由信息)。取決于商業(yè)平臺,可以完全省略支付源信息或者可以使用虛構(gòu)的支付源信息(例如,信用卡號或銀行路由號完全由零組成)。
如先前所提及的,特別訂閱建議的使用不是必須的并且也可以使用固定支付的訂閱來對測試租戶進行供應(yīng)。在這樣的場景中,系統(tǒng)可以使用用于取消與測試租戶相關(guān)聯(lián)的花費的各種機制。例如,系統(tǒng)可以提供針對被合適地標(biāo)識為測試租戶的任何租戶的服務(wù)計劃的報銷。然而,必須小心地追蹤支付和報銷解決方案來確保當(dāng)報告針對多租戶服務(wù)的實際財務(wù)以及需要儲備足夠的資金來處理交易時測試租戶的財務(wù)交易是透明的,。類似地,可以修改商業(yè)平臺以使得輸入某些信息繞過財務(wù)交易的實際處理。這樣的實現(xiàn)需要小心的監(jiān)視以避免允許真實租戶訂閱而沒有支付以及其他誤用,并且就報銷而言,其需要小心的追蹤以確保財務(wù)透明性。
一旦購買完成,工作負荷供應(yīng)操作218就在目錄服務(wù)中供應(yīng)用于與訂閱建議相關(guān)聯(lián)的工作負荷的測試租戶。在各種實施例中,工作負荷通過其服務(wù)實例周期性地詢問(ask for)工作。換句話說,服務(wù)實例可以用于針對升級而對目錄服務(wù)進行查詢,所述升級例如最新創(chuàng)建或經(jīng)升級的測試租戶。如果經(jīng)升級的或最新創(chuàng)建的測試租戶存在,則將它們被供應(yīng)至合適的服務(wù)實例,所述合適的服務(wù)實例可以是由服務(wù)實例分配操作所設(shè)置的具體的服務(wù)實例,或者如果服務(wù)實例屬性沒有明確地設(shè)置,則是與所選擇的標(biāo)準(zhǔn)相匹配的任何可用的服務(wù)實例。取決于多租戶服務(wù),可以使用用于對測試租戶進行供應(yīng)的其他機制。例如,可以將測試租戶置于管理(例如,目錄服務(wù))側(cè)或工作負荷側(cè)的基于標(biāo)準(zhǔn)的隊列中,或者可以將測試租戶推送至合適的工作負荷或服務(wù)實例。
通常而言,測試租戶被供應(yīng)至具有與測試租戶的經(jīng)選擇的屬性相匹配的屬性的服務(wù)實例。例如,具有語言屬性設(shè)置為法語而地區(qū)設(shè)置為加拿大的訂閱至多租戶服務(wù)的郵件服務(wù)工作負荷的租戶將被供應(yīng)至在北美的被配置用于法語語言的數(shù)據(jù)中心中的郵件服務(wù)工作負荷的服務(wù)實例。如果還沒有設(shè)置租戶的服務(wù)實例屬性(在通過公共可訪問的注冊端口針對客戶所創(chuàng)建的租戶的情況下),則租戶可以在東海岸或者西海岸上的數(shù)據(jù)中心中將被供應(yīng)至使用法語語言的工作負荷的任何服務(wù)實例。作為示例,這可以是以下操作的結(jié)果:服務(wù)實例屬性將在訂單被提供至租戶時自動由商業(yè)平臺設(shè)置為與所選擇的標(biāo)準(zhǔn)相匹配的任何可用的服務(wù),或者當(dāng)與所選擇的標(biāo)準(zhǔn)相匹配的服務(wù)示例詢問新的租戶是否可用時由目錄服務(wù)將服務(wù)實例屬性設(shè)置為與所選擇的標(biāo)準(zhǔn)相匹配的任何可用的服務(wù)。
相反地,當(dāng)服務(wù)實例屬性在由租戶供應(yīng)系統(tǒng)下訂單之前已經(jīng)被設(shè)置了時,租戶將僅僅被供應(yīng)至所選擇的服務(wù)實例。換句話說,當(dāng)下訂單時,服務(wù)實例屬性沒有被重寫,或者服務(wù)實例屬性沒有被通常用于分配服務(wù)實例以詢問工作的屬性相匹配的第一服務(wù)實例重寫。
在測試租戶的壽命結(jié)束處,清理操作220從多租戶服務(wù)中禁用并且去供應(yīng)該測試租戶。測試租戶壽命的結(jié)束可以由特別訂閱建議的到期來觸發(fā)。與特別訂閱建議相關(guān)聯(lián)的賬單循環(huán)可以用于定義測試租戶的壽命期限。在各種實施例中,特別訂閱建議可以被配置為不自動更新??商娲兀?yīng)有虛構(gòu)的支付源信息的測試租戶將得出不成功的收集嘗試。無論在何種情況下,都可以將針對測試租戶的訂閱標(biāo)記為過期的。在過期之后的指定量的時間處,可以禁用訂閱(即,測試租戶對工作負荷的訪問)。隨后,當(dāng)禁用了訂閱之后經(jīng)過了一段時間時,將測試租戶去供應(yīng)。例如,特別訂閱建議可以具有60天的賬單循環(huán)。在初始的非更新或非支付之后,將訂閱標(biāo)記為過期的。賬單循環(huán)規(guī)則可以指定:在過期之后10天禁用過期的訂閱,并且在訂閱被禁用10天之后將具有禁用的訂閱的租戶去供應(yīng)??梢詫y試租戶從服務(wù)實例中去供應(yīng)或者從服務(wù)實例和目錄服務(wù)兩者中去供應(yīng)(即,凈化)。
圖3示出了用于在所選擇的服務(wù)實例中生成測試租戶的租戶供應(yīng)系統(tǒng)的一個實施例的操作流程。租戶供應(yīng)系統(tǒng)開始于創(chuàng)建租戶的提示(A),其可以從諸如用戶(例如,標(biāo)準(zhǔn)和管理用戶)、外部系統(tǒng)(例如,工作流系統(tǒng))、或者經(jīng)調(diào)度的工作流之類的源接收。租戶供應(yīng)系統(tǒng)建立和與多租戶服務(wù)相關(guān)聯(lián)的商業(yè)平臺的通信,并且發(fā)起對租戶的創(chuàng)建(B)。取決于所提供的接口,可以以各種方式來完成租戶供應(yīng)系統(tǒng)與外部系統(tǒng)的通信。例如,租戶供應(yīng)系統(tǒng)可以部署直接地操縱外部系統(tǒng)的工作者(例如,線程),如在所示出的實施例中所示??商娲?,租戶供應(yīng)系統(tǒng)可以向由外部系統(tǒng)所提供的網(wǎng)絡(luò)服務(wù)發(fā)送請求、對由外部系統(tǒng)所暴露的應(yīng)用程序接口進行調(diào)用、或者利用其他可用的通信機制。
租戶供應(yīng)系統(tǒng)以將租戶標(biāo)識為測試租戶的方式來標(biāo)記租戶(C)。商業(yè)平臺將租戶添加至多租戶服務(wù)的目錄服務(wù)(D)。接著,租戶供應(yīng)系統(tǒng)將所選擇的用于租戶中的一個或多個工作負荷的服務(wù)實例(E)設(shè)置在目錄服務(wù)中。一旦設(shè)置了針對租戶的服務(wù)實例,租戶供應(yīng)系統(tǒng)就使用所選擇的訂閱建議(其可以是特別/免費訂閱建議中的一個)向商業(yè)平臺下訂單(F),所選擇的訂閱建議可以包括諸如關(guān)閉針對租戶訂閱的自動更新(G)以使得租戶過期之類的動作。在完成了訂單之后,商業(yè)平臺向租戶供應(yīng)包括在訂閱中的工作負荷(H)。服務(wù)實例周期性地針對更新來對目錄服務(wù)進行查詢(I)。如果更新包括指定了進行查詢服務(wù)示例的新的租戶,則針對該服務(wù)實例而對租戶進行供應(yīng)(J)。
一般地,當(dāng)針對客戶而對租戶進行供應(yīng)時,在基于使用關(guān)于或來自客戶的信息(例如,地點、語音等)的映射算法在租戶上供應(yīng)訂閱計劃的時刻,建立客戶所訂閱的任何工作負荷的服務(wù)實例。在所示出的實施例中,多租戶服務(wù)基礎(chǔ)架構(gòu)包含沒有準(zhǔn)備好升級的服務(wù)實例和一些準(zhǔn)備好升級的服務(wù)實例的混合。如果目的是使用測試租戶來驗證升級工作流是適當(dāng)?shù)毓ぷ鞯模瑒t在沒有準(zhǔn)備好升級的服務(wù)實例中對測試租戶進行供應(yīng)是沒有幫助的。依賴于映射算法,不保證將在準(zhǔn)備好升級的服務(wù)實例中對測試租戶進行供應(yīng)。然而,因為租戶供應(yīng)系統(tǒng)在下訂單之前預(yù)先設(shè)置了服務(wù)實例,所以繞過了映射算法并且使用所選擇的服務(wù)實例來對租戶進行供應(yīng)。通過將租戶的服務(wù)實例設(shè)置為準(zhǔn)備好升級的服務(wù)實例的標(biāo)識符,確保了在準(zhǔn)備好升級的服務(wù)實例中對租戶進行供應(yīng),因此可以驗證升級工作流的功能。
如先前所提及的,租戶供應(yīng)系統(tǒng)的實施例可以充當(dāng)關(guān)于測試租戶的信息的倉庫。當(dāng)自動地對測試租戶進行供應(yīng)或者批量供應(yīng)測試租戶時,實施例可以使用用于導(dǎo)入測試租戶信息的自動機制。在各種實施例中,自動或批量測試租戶信息是由來自商業(yè)平臺的商業(yè)智能反饋(K)所提供的。商業(yè)智能反饋報告諸如供應(yīng)新的租戶以及修改現(xiàn)有的租戶之類的活動??梢詫⒃谏虡I(yè)智能反饋中所報告的測試租戶信息導(dǎo)入到租戶供應(yīng)系統(tǒng)中。
在一些實施例中,商業(yè)智能反饋是特定于租戶供應(yīng)系統(tǒng)的,并且通過應(yīng)用了使用測試租戶標(biāo)識符來篩選租戶的過濾器商業(yè)平臺僅僅包括測試租戶信息。在其他實施例中,商業(yè)智能反饋不限于測試租戶,并且由租戶供應(yīng)系統(tǒng)應(yīng)用過濾器來僅僅提取并導(dǎo)入測試租戶信息。
商業(yè)智能反饋可以在活動發(fā)生的時間和活動被報告的時間之間具有延遲。從而,租戶供應(yīng)系統(tǒng)實施例將延遲的因素考慮到工作流中以確保沒有丟失相關(guān)的信息。在用于驗證所選擇的服務(wù)實例中的工作流的操作的升級項目的期間將測試租戶從一個版本的工作負荷遷移至另一個版本的情況下,測試租戶可以被定期供應(yīng)并且通過升級工作流來運行。指示升級的結(jié)果的測試租戶信息可能在供應(yīng)了測試租戶之后的一些時間內(nèi)不可用,例如,24小時至48小時。從而,對升級工作流進行監(jiān)視可以尋找兩天之前所創(chuàng)建的測試租戶。
可以以多種方式來使用所生成的測試租戶,所述多種方式包括心跳監(jiān)視、分享客戶體驗、兼容性測試、故障排除、以及展示多租戶服務(wù)中的工作負荷、服務(wù)實例、工作流、和應(yīng)用。通常而言,監(jiān)視操作涉及將工作流應(yīng)用至測試租戶(L)以及用日志記錄或者以其他方式報告工作流結(jié)果(M)。如果發(fā)生錯誤,則可以生成警報(N)來通知合適的人員(例如,工程師)。
心跳監(jiān)視通常涉及生成持續(xù)的一系列測試租戶以確保服務(wù)實例適當(dāng)?shù)毓ぷ?。心跳測試將工作流應(yīng)用至測試租戶以驗證工作流是成功地完成的。如果對于測試租戶而言工作流是不成功的,則可以提高警報。使用測試租戶持續(xù)地監(jiān)視心跳提供了在客戶受影響之前檢測并解決問題的機會。
針對給定的工作流的客戶體驗可以由于各種因素而在不同的服務(wù)實例之間不同,所述因素例如運行不同的版本或不同結(jié)構(gòu)的工作負荷、或者具有不同的配置??蛻趔w驗監(jiān)視允許工作流開發(fā)者體驗客戶在所選擇的服務(wù)實例上的體驗?;谟脩趔w驗監(jiān)視的結(jié)果,工作流開發(fā)者可以針對服務(wù)實例中的一個或全部而修改工作流。
在一個示例中,當(dāng)將租戶從一個版本的工作負荷遷移至另一個版本時,測試租戶可以用于驗證升級工作流在所選擇的服務(wù)實例中是否適當(dāng)?shù)毓ぷ?。通過在所選擇的服務(wù)實例中生成測試租戶并且應(yīng)用升級工作流以在將升級工作流應(yīng)用至所選擇的服務(wù)實例中的真實租戶之前驗證所選擇的服務(wù)實例中的升級工作流的適當(dāng)?shù)牟僮鳎梢愿鶕?jù)需要來使用升級工作流監(jiān)視。通過在所選擇的服務(wù)實例中定期地(例如,每四個小時)創(chuàng)建測試租戶,并且應(yīng)用升級工作流以驗證升級工作流對所選擇的服務(wù)實例起作用,升級工作流監(jiān)視還可以被實現(xiàn)為心跳監(jiān)視。
在另一個示例中,工作負荷可以使用測試租戶的常規(guī)流來驗證其供應(yīng)工作流。在工作負荷的各種服務(wù)實例中創(chuàng)建測試租戶,并且應(yīng)用工作負荷等級的供應(yīng)工作流來驗證租戶供應(yīng)在工作流等級是適當(dāng)?shù)毓ぷ鞯摹?/p>
在另一個示例中,多租戶服務(wù)中的郵件客戶端與郵件服務(wù)器之間的連通性對多租戶服務(wù)的用戶而言是重要的,并且為多租戶服務(wù)的提供者呈現(xiàn)較大的支持問題中的一個問題??梢陨蓽y試租戶以測試來自多個版本的郵件服務(wù)器的郵件服務(wù)森林與郵件客戶端之間的通信以及來自不同的服務(wù)實例的郵件服務(wù)森林之間的通信。
運行在由工作負荷所提供的框架上的應(yīng)用的操作的驗證提供了使用測試租戶的監(jiān)視的另一個示例。測試租戶是在工作負荷的各種服務(wù)實例中創(chuàng)建的并且用應(yīng)用進行了測試以驗證該應(yīng)用在那些服務(wù)實例中是適當(dāng)?shù)毓ぷ鞯摹?yīng)用驗證可以用于測試在開發(fā)以及去部署期間與各種服務(wù)實例的兼容性以及所述部署,以及用于對應(yīng)用的運行狀態(tài)進行持續(xù)的(即,心跳)監(jiān)視。
測試租戶還可以由工程師來使用以調(diào)試多租戶服務(wù)、工作負荷、和/或服務(wù)實例。例如,響應(yīng)于所報告的服務(wù)實例的問題,可以在所選擇的服務(wù)實例中創(chuàng)建測試租戶以允許工程師嘗試重新創(chuàng)建并診斷所報告的問題。在進行了改變之后,測試租戶可以用于驗證問題已經(jīng)解決。使用測試租戶的調(diào)試允許工程更積極地響應(yīng)、更快速地解決問題、并且更大地確保改變已經(jīng)解決了問題,而全都不需要訪問真實租戶數(shù)據(jù)。
類似地,當(dāng)對來自客戶的請求進行響應(yīng)時,還可以由技術(shù)支持來使用測試租戶。例如,當(dāng)用戶針對多租戶服務(wù)而對幫助臺進行呼叫時,技術(shù)支持人員可以利用與真實租戶在同一服務(wù)實例中所創(chuàng)建的測試租戶。因此,當(dāng)對用戶進行幫助時,技術(shù)支持人員將與用戶具有相同的體驗,包括特定的服務(wù)實例的任何特性。另外,對在與真實租戶相同的服務(wù)實例中的測試租戶的使用允許技術(shù)支持人員確定用戶所體驗的問題是否是影響服務(wù)實例的所有用戶的系統(tǒng)性問題還是客戶特有的問題。如果技術(shù)支持人員使用測試租戶遭遇與用戶正在體驗的相同的結(jié)果,則問題可以被認為是系統(tǒng)性的。相反地,如果測試租戶沒有遭遇用戶正在體驗的問題,則問題可以被認為是特定于真實租戶的。
進一步的示例是使用測試租戶來展示各種市場中的多租戶服務(wù)。銷售和市場人員可以使用在所選擇的服務(wù)實例中所創(chuàng)建的測試租戶以向潛在的客戶確切地示出他們能夠期望的內(nèi)容。
測試租戶還可以用于驗證所選擇的服務(wù)實例的配置。當(dāng)服務(wù)實例被配置或升級時,測試租戶可以用于對體驗進行監(jiān)視。例如,工作負荷的新的結(jié)構(gòu)可以包括多個改變。可以將改變引入暴露了不同組的改變的不同的飛行(flight)中??梢栽诟鞣N服務(wù)實例中創(chuàng)建測試租戶。一旦已經(jīng)部署了飛行,則可以使用校驗工作流來驗證各種服務(wù)實例接收了合適的版本和結(jié)構(gòu),并且特征被適當(dāng)?shù)乇┞痘蚪?。如果在所選擇的服務(wù)實例中的測試租戶能夠訪問應(yīng)該禁用的特征或者不能夠訪問應(yīng)該啟用的特征,則可以生成警報。
最后,商業(yè)系統(tǒng)可以在特別訂閱建議過期處停用/去供應(yīng)訂閱(O)??梢栽谇謇砥陂g自動地對不具有活動的訂閱的租戶進行去供應(yīng)和凈化(P)。還可以通過用戶動作來手動地對租戶進行去供應(yīng)和/或凈化。
該申請的主題可以以多種實施例而被實施為系統(tǒng)、設(shè)備和其它制品或者被實施為方法。實施例可以被實現(xiàn)為硬件、軟件、計算機可讀介質(zhì)、或其組合。在本文中所描述的實施例和功能可以經(jīng)由多個計算系統(tǒng)來實現(xiàn),這些計算系統(tǒng)包括但不限于:臺式計算機系統(tǒng)、有線和無線計算系統(tǒng)、移動計算系統(tǒng)(例如,移動電話、上網(wǎng)本、平板或板型計算機、筆記本計算機、以及膝上型計算機)、手持設(shè)備、多處理器系統(tǒng)、基于微處理器的或可編程消費型電子產(chǎn)品、小型計算機、以及大型計算機。
可以經(jīng)由板載計算設(shè)備的顯示器或者經(jīng)由與一個或多個計算設(shè)備相關(guān)聯(lián)的遠程顯示單元來顯示各種類型的用戶接口和信息。例如,各種類型的用戶接口和信息可以在各種類型的用戶接口和信息所投射到的墻面上顯示或者與這樣的墻面進行交互。與可以利用其實施本發(fā)明的實施例的多個計算系統(tǒng)的交互包括:擊鍵輸入、觸摸屏輸入、語音或其它音頻輸入、手勢輸入,其中相關(guān)聯(lián)的計算設(shè)備裝備有檢測(例如,相機)功能以用于捕獲和解釋用于控制計算設(shè)備的功能等的用戶手勢。
圖4和圖5以及相關(guān)聯(lián)的描述提供了在其中可以實施本發(fā)明的方面的各種操作環(huán)境的討論。然而,圖示并討論的設(shè)備和系統(tǒng)是出于示例和說明的目的,而不限制可用于實施在本文中所描述的本發(fā)明的實施例的大量的計算設(shè)備配置。
圖4是利用其可以實施本發(fā)明的實施例的計算設(shè)備400的物理組件(即,硬件)的框圖。在下文中所描述的計算設(shè)備組件可以適用于實施計算設(shè)備,包括但不限于:個人計算機、平板計算機、平面計算機、以及智能電話、或者在本文中所討論的任何其它計算設(shè)備。在基本配置中,計算設(shè)備400可以包括至少一個處理單元402和系統(tǒng)存儲器404。取決于計算設(shè)備的配置和類型,系統(tǒng)存儲器404可以包括但不限于:易失性存儲設(shè)備(例如,隨機存取存儲器)、非易失性存儲設(shè)備(例如,只讀存儲器)、閃速存儲器、或者這樣的存儲器的任何組合。系統(tǒng)存儲器404可以包括操作系統(tǒng)405以及一個或多個程序模塊406,其適用于運行軟件應(yīng)用420,例如,租戶供應(yīng)系統(tǒng)100的組件、多租戶服務(wù)102(例如,工作負荷、服務(wù)實例)、目錄服務(wù)110、商業(yè)平臺112、工作流服務(wù)、以及商業(yè)智能服務(wù)。例如,操作系統(tǒng)405可以適用于控制計算設(shè)備400的操作。此外,本發(fā)明的實施例可以結(jié)合圖形庫、其它操作系統(tǒng)、或任意其它應(yīng)用程序來進行實施,并且所述實施例不限于任何特定的應(yīng)用或系統(tǒng)。該基本配置是由虛線408內(nèi)的那些組件所示出的。計算設(shè)備400可以具有額外的特征或功能。例如,計算設(shè)備400還可以包括額外的數(shù)據(jù)存儲設(shè)備(可移動的和/或不可移動的),例如,磁盤、光盤、或磁帶。這樣的額外的存儲設(shè)備是由可移動存儲設(shè)備409和不可移動存儲設(shè)備410所示出的。
如上所述,可以將多個程序模塊和數(shù)據(jù)文件存儲在系統(tǒng)存儲器404中。當(dāng)在處理單元402上執(zhí)行時,軟件應(yīng)用420可以執(zhí)行過程,包括但不限于租戶供應(yīng)方法200的步驟中的一個或多個步驟。可以根據(jù)本發(fā)明的實施例來使用的其它程序模塊可以包括電子郵件和聯(lián)系人應(yīng)用、文字處理應(yīng)用、電子表格應(yīng)用、數(shù)據(jù)庫應(yīng)用、幻燈片演示應(yīng)用、或繪圖應(yīng)用程序等。
此外,可以在包括分立電子元件、包含邏輯門的封裝的或集成的電子芯片、利用微處理器的電路的電子電路中、或在包含電子元件或微處理器的單個芯片上實施本發(fā)明的實施例。例如,可以經(jīng)由片上系統(tǒng)(SOC)來實施本發(fā)明的實施例,其中,所示出的組件中的每個或多個可以集成到單個集成電路上。這樣的SOC設(shè)備可以包括一個或多個處理單元、圖形單元、通信單元、系統(tǒng)虛擬化單元、以及各種應(yīng)用功能,這些全都作為單個集成電路集成(或“燒制”)到芯片襯底上。當(dāng)經(jīng)由SOC操作時,在本文中關(guān)于軟件應(yīng)用420所描述的功能可以經(jīng)由與單個集成電路(芯片)上的計算設(shè)備400的其它組件一起集成的專用邏輯來操作。還可以使用能夠執(zhí)行邏輯運算(例如,與、或、非)的其它技術(shù)來實施本發(fā)明的實施例,所述技術(shù)包括但不限于:機械、光學(xué)、流體、和量子技術(shù)。另外,可以在通用計算機中或者在任何其它電路或系統(tǒng)中實施本發(fā)明的實施例。
計算設(shè)備400還可以具有一個或多個輸入設(shè)備412,例如,鍵盤、鼠標(biāo)、筆、聲音輸入設(shè)備、觸摸輸入設(shè)備等。還可以包括諸如顯示器、揚聲器、打印機等之類的輸出設(shè)備414。前述設(shè)備是示例并且可以使用其它設(shè)備。計算設(shè)備400可以包括允許與其它計算設(shè)備418進行通信的一個或多個通信連接416。適當(dāng)?shù)耐ㄐ胚B接416的示例包括但不限于:RF發(fā)射機、接收機、和/或收發(fā)機電路;通用串行總線(USB)、并行、和/或串行端口。
如在本文中所使用的術(shù)語計算機可讀介質(zhì)可以包括計算機存儲介質(zhì)。計算機存儲介質(zhì)可以包括以用于存儲諸如計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊之類的信息的任何方法或技術(shù)來實現(xiàn)的易失性和非易失性、可移動和不可移動的介質(zhì)。系統(tǒng)存儲器404、可移動存儲設(shè)備409、和不可移動存儲設(shè)備410全都是計算機存儲介質(zhì)的示例(即,存儲器存儲)。計算機存儲介質(zhì)可以包括:隨機存取存儲器(RAM)、只讀存儲器(ROM)、電可擦除只讀存儲器(EEPROM)、閃速存儲器或其他存儲器技術(shù)、壓縮盤只讀存儲器(CD-ROM)、數(shù)字通用盤(DVD)或其他光存儲、盒式磁帶、磁帶、磁盤存儲器或其他磁存儲設(shè)備、或者可以用于存儲信息并且可以由計算設(shè)備400所訪問的任何其他制造物。任何這樣的計算機存儲介質(zhì)都可以是計算設(shè)備400的一部分。
圖5A和圖5B示出了可以利用其實施本發(fā)明的方面的移動計算設(shè)備500。適當(dāng)?shù)囊苿佑嬎阍O(shè)備的示例包括但不限于:移動電話、智能電話、平板計算機、以及膝上型計算機。在基本配置中,移動計算設(shè)備500是既具有輸入元件又具有輸出元件的手持式計算機。移動計算設(shè)備500通常包括顯示器505以及允許用戶將信息輸入到移動計算設(shè)備500中的一個或多個輸入按鈕510。移動計算設(shè)備500的顯示器505也可以充當(dāng)輸入設(shè)備(例如,觸摸屏顯示器)。如果被包括,則可選的側(cè)輸入元件515允許進一步的用戶輸入。側(cè)輸入元件515可以是旋轉(zhuǎn)開關(guān)、按鈕或任何其他類型的手動輸入元件。在可替代的實施例中,移動計算設(shè)備500可以包含更多或更少的輸入元件。例如,在一些實施例中,顯示器505不需要是觸摸屏。在另一可替換的實施例中,移動計算設(shè)備500是便攜式電話系統(tǒng),例如,蜂窩電話。移動計算設(shè)備500還可以包括可選的小鍵盤535??蛇x的小鍵盤535可以是物理小鍵盤或者在觸摸屏顯示器上生成的“軟”小鍵盤。在各種實施例中,輸出元件包括用于示出圖形用戶接口(GUI)的顯示器505、視覺指示器520(例如,發(fā)光二極管)、和/或音頻換能器525(例如,揚聲器)。在一些實施例中,移動計算設(shè)備500并入用于向用戶提供觸覺反饋的振動換能器。在另一實施例中,移動計算設(shè)備500并入用于向外部設(shè)備發(fā)送信號或從外部設(shè)備中接收信號的輸入和/或輸出端口,例如音頻輸入(例如,麥克風(fēng)插孔)、音頻輸出(例如,耳機插孔)、和視頻輸出(例如,HDMI端口)。
圖5B是示出了移動計算設(shè)備的一個實施例的架構(gòu)的框圖。即,移動計算設(shè)備500可以并入系統(tǒng)(即,架構(gòu))502來實現(xiàn)一些實施例。在一個實施例中,系統(tǒng)502被實現(xiàn)為能夠運行一個或多個應(yīng)用(例如,瀏覽器、電子郵件客戶端、記事本、聯(lián)系人管理器、消息傳送客戶端、游戲、和媒體客戶端/播放器)的智能電話。在一些實施例中,系統(tǒng)502被集成為計算設(shè)備,例如,集成的個人數(shù)字助理(PDA)以及無線電話。
一個或多個應(yīng)用程序565可以被加載到存儲器562中,并且在操作系統(tǒng)564上運行或者與操作系統(tǒng)564相關(guān)聯(lián)地運行。應(yīng)用程序的示例包括:電話撥號程序、電子郵件程序、個人信息管理(PIM)程序、文字處理程序、電子表格程序、互聯(lián)網(wǎng)瀏覽器程序、消息傳送程序等。系統(tǒng)502還包括存儲器562內(nèi)的非易失性存儲區(qū)域568。非易失性存儲區(qū)域568可以用于存儲在系統(tǒng)502斷電時不應(yīng)丟失的永久信息。應(yīng)用程序565可以使用信息并將信息存儲在非易失性存儲區(qū)域568中,例如電子郵件應(yīng)用程序所使用的電子郵件或其他消息等。同步應(yīng)用(未示出)也駐留在系統(tǒng)502上,并且被編程為與駐留在主機計算機上的對應(yīng)的同步應(yīng)用進行交互,以將存儲在非易失性存儲區(qū)域568中的信息與存儲在主機計算機上的對應(yīng)的信息保持同步。應(yīng)當(dāng)理解的是,包括在本文中所描述的軟件應(yīng)用420的其他應(yīng)用可以被加載到存儲器562中并且在移動計算設(shè)備500上運行。
系統(tǒng)502具有電源570,其可以被實現(xiàn)為一個或多個電池。電源570還可以包括外部電源,例如,AC適配器或者對電池供電或充電的加電對接托架。
系統(tǒng)502還可以包括執(zhí)行發(fā)送和接收射頻通信的功能的無線電設(shè)備572。無線電設(shè)備572促成經(jīng)由通信運載服務(wù)提供商或私有網(wǎng)絡(luò)的系統(tǒng)502和外部世界之間的無線連通性。往來于無線電設(shè)備572的傳輸是在操作系統(tǒng)564的控制下進行的。換句話說,由無線電設(shè)備572所接收到的通信可以經(jīng)由操作系統(tǒng)564散播至應(yīng)用程序565,反之亦然。
視覺指示器520可以用于提供視覺通知,并且/或音頻接口574可以用于經(jīng)由音頻換能器525來產(chǎn)生可聽見的通知。如圖所示,視覺指示器520可以是發(fā)光二極管(LED),而音頻換能器525可以是揚聲器。這些設(shè)備可以直接耦合至電源570,使得當(dāng)被激活時,即使為了保存電池電量可以關(guān)閉處理器560和其他組件,它們也在由通知機制所規(guī)定的期間內(nèi)保持通電。LED可以被編程為保持無限期地通電以指示設(shè)備的通電狀態(tài),直到用戶采取動作為止。音頻接口574用于向用戶提供可聽見的信號并從用戶處接收可聽見的信號。例如,除了耦合至音頻換能器525之外,音頻接口574還可以耦合至麥克風(fēng)以接收可聽見的輸入,從而例如促成電話對話。麥克風(fēng)也可以充當(dāng)音頻傳感器以促進對通知的控制,如將在下文中所描述的。系統(tǒng)502還可以包括使能夠操作板載相機530來記錄靜止的圖像、視頻流等的視頻接口576。
實現(xiàn)系統(tǒng)502的移動計算設(shè)備500可以具有額外的特征或功能。例如,移動計算設(shè)備500還可以包括額外的數(shù)據(jù)存儲設(shè)備(可移動的和/或不可移動的),例如,磁盤、光盤、或磁帶。由非易失性存儲區(qū)域568示出了這樣額外的存儲。
由移動計算設(shè)備500所生成或捕獲的、并且經(jīng)由系統(tǒng)502所存儲的數(shù)據(jù)/信息可以本地地存儲在移動計算設(shè)備500上,如上所述,或者所述數(shù)據(jù)可以存儲在可以由設(shè)備通過無線電設(shè)備572或者經(jīng)由移動計算設(shè)備500和與移動計算設(shè)備500相關(guān)聯(lián)的分離的計算設(shè)備之間的有線連接來訪問的任何數(shù)量的存儲介質(zhì)中,例如,分布式計算網(wǎng)絡(luò)(例如,互聯(lián)網(wǎng))中的服務(wù)器計算機。應(yīng)當(dāng)理解的是,這樣的數(shù)據(jù)/信息可以通過移動計算設(shè)備500經(jīng)由無線電設(shè)備572或者經(jīng)由分布式計算網(wǎng)絡(luò)來訪問。類似地,這樣的數(shù)據(jù)/信息可以根據(jù)公知的數(shù)據(jù)/信息傳輸和存儲單元(包括電子郵件和協(xié)作數(shù)據(jù)/信息共享系統(tǒng))而容易地在計算設(shè)備之間進行存儲和使用。
在該申請中所提供的對一個或多個實施例的描述和說明旨在向本領(lǐng)域技術(shù)人員提供對主題的完整范圍的完全徹底和完整的公開,而不旨在以任何方式限制或約束本發(fā)明的范圍。在該申請中所提供的實施例、示例、和細節(jié)被認為足以表達所有權(quán),并且使得本領(lǐng)域技術(shù)人員能夠?qū)嵤┧蟊Wo的發(fā)明的最佳模式。被認為是本領(lǐng)域技術(shù)人員所公知的對結(jié)構(gòu)、資源、操作、和動作的描述可以是簡短的或者被省略,以避免使得該申請的主題的較少人知道的方面或獨特的方面難以理解。除非在本文中明確地指出,否則,所要求保護的發(fā)明都不應(yīng)該被解釋為限于在該申請中所提供的任何實施例、示例、或細節(jié)。無論是組合還是單獨地被示出和描述,各種特征(包括結(jié)構(gòu)和方法)都旨在被選擇性地包括或省略,以產(chǎn)生具有一組特定特征的實施例。此外,任何或所有示出或描述的功能和動作可以以任意順序或同時執(zhí)行。在已經(jīng)提供了本申請的描述和說明之后,本領(lǐng)域技術(shù)人員可設(shè)想變型、修改和替代實施例,其落入到在該申請中所實施的總體構(gòu)思的更寬泛的方面的精神內(nèi),而不脫離所要求保護的發(fā)明的更寬泛的范圍。