跨越計算機節(jié)點的可信任應用程序遷移的制作方法【專利摘要】實施例包括一種用于跨越互聯(lián)計算發(fā)送信息的安全和穩(wěn)定的方法。例如,所述方法可以包括在第一節(jié)點(例如,平板計算機)上執(zhí)行應用程序(例如,視頻播放器),以期望執(zhí)行“上下文遷移”到第二節(jié)點(例如,臺式計算機)。這可以允許用戶在平板計算機上觀賞電影、停止觀賞該電影,然后繼續(xù)從臺式計算機上恢復觀賞該電影。為了以安全和穩(wěn)定的方式如此操作,第一節(jié)點可以從第二節(jié)點請求安全性和性能憑證。如果這兩個憑證都滿足閾值,則第一節(jié)點可以轉移內(nèi)容(例如,電影的加密副本)和狀態(tài)信息(例如,指示當上下文轉移開始時電影位于何處的占位符)。此后,第二節(jié)點可以允許用戶在臺式計算機上恢復觀賞其電影。在本文中描述了其他實施例?!緦@f明】跨越計算機節(jié)點的可信任應用程序遷移【
背景技術:
】[0001]"互聯(lián)計算(ComputeContinuum)"跨越不同計算設備向用戶提供一致的客戶端感知連接環(huán)境?;ヂ?lián)計算將用戶置于他或她自己在不同計算設備當中的"云"的中心。[0002]例如,當用戶在乘坐飛機進行商務旅行時,可以將電影的副本下載至其平板計算機上進行觀看。在飛機的飛行結束時,用戶可以在其平板計算機上位于電影的位置X處停止觀賞該電影。然后,該用戶可以到達家中,并希望將電影轉移到該用戶的智能電視,其包括使用電視作為其顯示監(jiān)視器的臺式計算機。此外,用戶可能希望從位置X處開始繼續(xù)觀看電影。換句話說,用戶可能希望跨越互聯(lián)計算而對其計算上下文進行無縫遷移。也就是說,用戶可能希望將其可包括內(nèi)容(例如,電影、電子書、可執(zhí)行代碼等)和節(jié)點上屬于用戶的計算經(jīng)驗的狀態(tài)信息(例如,電影的位置X)的計算上下文從一個計算節(jié)點(例如,計算機節(jié)點)轉移至另一個計算節(jié)點。[0003]通過正確實現(xiàn)的互聯(lián)計算,用戶能夠完成上述任務,并跨越不同計算設備而管理其環(huán)境。然而,只是將電影的副本和相關信息(例如,屬于位置X的狀態(tài)信息)從平板計算機轉移到臺式計算機,可能會使該平板計算機和臺式計算機之一或二者暴露給惡意程序以及一般的安全性和穩(wěn)定性風險。例如,病毒可以從一個節(jié)點轉移到另一個節(jié)點。此外,對于用戶來說,臺式計算機可能不具有適當?shù)挠嬎闳萘?,并且可能因此無法穩(wěn)定地播放電影(例如,可能是具有高存儲器和處理需求的三維或互動性電影)?!緦@綀D】【附圖說明】[0004]本發(fā)明的實施例的特征和優(yōu)點將從所附的權利要求、一個或多個示例性實施例的詳細描述、以及對應附圖變得明顯,其中:[0005]圖1包括跨越計算機節(jié)點的可信任應用程序遷移的方法的概述;[0006]圖2包括本發(fā)明的實施例中的節(jié)點的示意框圖;[0007]圖3包括本發(fā)明實施例中的從轉移節(jié)點之一的觀點的安全計算上下文移動的示意性流程圖;[0008]圖4包括在本發(fā)明實施例中的從轉移節(jié)點的觀點的安全計算上下文移動的示意性流程圖;[0009]圖5包括用于實現(xiàn)此處所述的實施例的計算節(jié)點、代理(broker)、或其他部件的系統(tǒng)。【具體實施方式】[0010]在下面的描述中,對許多具體細節(jié)進行了闡述,但本發(fā)明的實施例可以不需要這些具體細節(jié)而實現(xiàn)。未詳細示出已知的電路、結構和技術,以避免模糊對本說明書的理解。"實施例"、"各種實施例"等表示這樣描述的實施例可以包括特定的特征、結構或特性,但并非每個實施例都一定包括該特定特征、結構或特性。某些實施例可能具有某些、全部或沒有針對其他實施例所描述的特征。"第一"、"第二"、"第三"等描述了共同的對象,并指出正在提及的類似對象的不同實例。這樣的形容詞并不暗示這樣描述的對象必須依照給定的順序,無論是在時間上、空間上、名次上、或是以任何其他方式。"連接"可以表示元件彼此直接物理性或電氣性接觸,而"耦合"可以表示元件彼此協(xié)作或彼此交互,但它們可能或可能不直接物理性或電氣性接觸。另外,雖然可以在不同的附圖中使用類似或相同的數(shù)字表示相同或相似的部件,但這樣做并不表示所有包括類似或相同數(shù)字的附圖都構成單個或相同的實施例。[0011]實施例包括一種用于跨越互聯(lián)計算而安全地遷移用戶的計算上下文的方法。例如,該方法可以包括從一個節(jié)點將用戶的計算上下文安全地發(fā)送(例如,轉移)到另一個節(jié)點。更具體地說,所述方法可以包括在第一節(jié)點(例如,平板計算機)上執(zhí)行第一應用程序(例如,視頻播放器),并且期望進行"上下文遷移"到第二個節(jié)點(例如,臺式計算機)。這可以允許用戶在平板計算機上觀賞電影、停止觀賞該電影,然后繼續(xù)從臺式計算機(第二節(jié)點)恢復觀賞該電影。為了以安全和穩(wěn)定的方式如此操作,第一節(jié)點可以從第二節(jié)點請求安全憑證(例如,關于第二節(jié)點是否被安全啟動的證據(jù))和性能憑證(例如,關于第二節(jié)點是否具有足夠的存儲器來穩(wěn)定播放從第一節(jié)點轉移的電影內(nèi)容的證據(jù))。如果第二節(jié)點的安全性和計算機性能憑證均滿足對應的閾值,則第一節(jié)點可以將內(nèi)容(例如,電影的加密副本)和/或狀態(tài)信息(例如,指出在內(nèi)容轉移開始時電影位于何處的占位符)轉移到第二節(jié)點。在從第一節(jié)點接收到上下文和狀態(tài)信息之后,第二節(jié)點可以允許用戶使用臺式計算機來恢復他或她的電影觀賞。電影觀賞可以"從用戶停止之處續(xù)接下去",所以用戶可以從其先前停止觀賞電影的位置開始觀賞電影。上述過程可以允許跨越互聯(lián)計算的安全和穩(wěn)定的上下文遷移。[0012]圖1包括跨計算機節(jié)點的可信任應用程序遷移的方法的概述。圖2、圖3和圖4為跨越計算機節(jié)點的可信任應用程序遷移提供實施例的更詳細地檢查。[0013]關于圖1,節(jié)點105和106可以分別各自包括至少一個處理器111、112。節(jié)點105可以經(jīng)由網(wǎng)絡耦合到節(jié)點106,所述網(wǎng)絡例如互聯(lián)網(wǎng)(云)、局域網(wǎng)(LAN)、廣域網(wǎng)(WAN)等。節(jié)點105可以包括應用程序114,其被存儲在存儲器113中并在處理器111上執(zhí)行。在一個實施例中,應用程序的相應實例(例如,拷貝或發(fā)行)作為應用程序117存在于節(jié)點106中。[0014]在操作115和120中,利用"信任和能力代理"邏輯模塊110,節(jié)點105可以從節(jié)點106請求并接收安全憑證。安全憑證可能涉及節(jié)點106的安全狀態(tài)(例如,信任根),例如,節(jié)點106是否被安全地啟動。更具體地,安全憑證可以基于節(jié)點106的二進制輸入/輸出系統(tǒng)(BIOS)的測量,該測量在啟動節(jié)點106的過程中以及在節(jié)點106的操作系統(tǒng)(0S)被啟動之前已經(jīng)進行。測量可能已經(jīng)被安全地存儲在節(jié)點106的可信任平臺模塊(TPM)108中。當在節(jié)點105處接收到時,該測量可以被存儲在TPM107中。[0015]在操作115和120中,節(jié)點105的信任和能力代理110也可以從節(jié)點106請求并接收計算能力憑證。計算能力憑證可能關于計算節(jié)點106所能勝任的等級。這些憑證可以涉及存儲器、處理能力等等。[0016]在操作125中,節(jié)點105的信任和能力代理110確定來自節(jié)點106的安全憑證和計算能力是否滿足各自的閾值。例如,安全閾值可以涉及節(jié)點106的安全信任根的證明。計算能力的閾值可以涉及節(jié)點106是否包括最小量的存儲器和/或處理能力。[0017]操作130包括:基于確定所轉移的安全證據(jù)滿足安全閾值,而將與應用程序114的執(zhí)行狀態(tài)有關的狀態(tài)信息轉移到節(jié)點106。例如,如果滿足安全閾值,則狀態(tài)信息可以被轉移到節(jié)點106。在實施例中,狀態(tài)信息的轉移可以進一步基于節(jié)點105確定計算能力憑證滿足計算能力閾值。[0018]節(jié)點105可能先前已經(jīng)借助于應用程序114處理了上下文。例如,應用程序114可以是播放例如電影的內(nèi)容的視頻播放器。節(jié)點105可能已播放和顯示電影內(nèi)容的第一部分,例如與電影的第一章節(jié)相關聯(lián)的場景?;跔顟B(tài)信息,節(jié)點105可以知曉第一章節(jié)的結尾是用戶停止觀看電影的地方,并試圖將其計算上下文從節(jié)點105遷移到節(jié)點106,因此,節(jié)點105可以將內(nèi)容的第二部分(例如電影的其余章節(jié))轉移到節(jié)點106。[0019]然后節(jié)點106可以使用在處理器112上運行的應用程序117來處理內(nèi)容?;跔顟B(tài)信息,節(jié)點106可以從第二章節(jié)的開頭開始播放上述電影。[0020]因此,圖1的方法公開了允許用戶將計算上下文從特定的計算節(jié)點無縫分離的實施例。接著,可以將上下文遷移到更適合用戶的當前位置(例如,在家里而不是在通勤列車上)的另一計算節(jié)點。遷移可以使用可信任計算塊(例如,存儲在TPM的可信任啟動測量),以確保上下文遷移是已認證的上下文遷移。"信任代理"可以用來改善對于目標機器的可信任度的懷疑,并且"能力代理"可以用來改善有關目標機器的計算能力的顧慮。該已認證的上下文遷移可能以值得信任的方式及跨越多種供應商平臺來跨越互聯(lián)計算而提供應用程序(例如,軟件應用程序)上下文移動性。[0021]圖2包括本發(fā)明的實施例中的節(jié)點的示意框圖。節(jié)點206包括主動信任測量的能力,并包括或耦合至用于在節(jié)點間交換(即,在節(jié)點205、206之間)信任憑證和/或計算能力的代理(例如,包括于節(jié)點205、節(jié)點206、和/或云中)。[0022]關于信任憑證,這種憑證可能涉及至少一個或多個因素。例如,第一因素涉及當被捕獲到例如測量表231(其可被保管于TPM207內(nèi))時,節(jié)點206是否具有穩(wěn)定建立的信任根。表231可以以類似于高級配置和電源接口(ACPI)規(guī)范的方式被格式化,其通過0S為設備配置和電源管理提供開放標準。因此,表231可以提供用于硬件發(fā)現(xiàn)、配置、電源管理和監(jiān)測的平臺無關接口。[0023]第二因素可能涉及驗證節(jié)點206的軟件堆棧(例如,0S)是可靠和值得信任的。信任根可以通過預啟動固件而建立。例如,軟件的可信任度可以通過在節(jié)點206上被實現(xiàn)為后臺服務的防病毒代理235來建立。[0024]因此,在一個實施例中構成憑證的第一和第二因素具有靜態(tài)部分和動態(tài)部分。靜態(tài)部分可以涉及到BIOS233的測量啟動。動態(tài)部分可以涉及經(jīng)由在0S234啟動之后操作的服務235所進行的后啟動測量。靜態(tài)測量和動態(tài)測量都可以存儲在查詢纜線表(query-cabletable)231中。[0025]關于TPM207,TPM包括可以存儲保護信息的加密密鑰的安全加密處理器。TPM可以符合可信計算組織TPM規(guī)范,例如TPM規(guī)范1.2修訂版116。除了硬件偽隨機數(shù)發(fā)生器之外,TPM207可以為安全生成加密密鑰提供設施,并且限制其使用。其還可以包括如遠程證明和密封儲存的功能。TPM207可以保證節(jié)點206的完整性。這可能需要證明從可信任情況開始的開機啟動過程,并且擴展了這種信任,直到BIOS233和0S234已經(jīng)全面啟動并且應用程序正在運行為止。連同BIOS233,TPM207可以基于0S測量237而形成信任根測量238,以共同形成主動信任測量236。TPM207包含允許安全存儲和報告安全相關度量的多個平臺配置寄存器(PCR)。這些度量可以用來檢測以前的配置的變化,并導出如何進行的決定。因此,BIOS233和OS234可以利用TPM207來保證平臺206的平臺完整性。[0026]在一個實施例中,如果用戶希望將其計算上下文從例如手持式(例如,節(jié)點205)移動到個人計算機(PC)(例如,節(jié)點206),他或她可以從節(jié)點205開始查詢節(jié)點206的主動信任測量236。這些測量可以構成節(jié)點205可以評估的安全憑證。正如操作239所指出的,節(jié)點206可以向可被實現(xiàn)為控制邏輯的信任和能力代理210注冊其安全/信任測量(T)和/或它的計算能力信息(C)。一旦由節(jié)點205接收到信任度量236,就可在做出關于是否全部或者部分批準或拒絕計算上下文移動的決定之前,由節(jié)點205來評估那些度量(例如,使用可包含于節(jié)點205、云等中的代理110)。[0027]圖3包括本發(fā)明實施例中的安全計算上下文移動的實施例。圖3是從節(jié)點205(在圖3中被稱為"節(jié)點1"或N1)的角度繪制的,該節(jié)點將轉移計算上下文到節(jié)點206(在圖3中被稱為"節(jié)點2"或N2)。節(jié)點205是"狀態(tài)節(jié)點",因為其包括(本地)應用程序的狀態(tài),其中所述狀態(tài)被轉移以使遷移對用戶而言是無縫的。在方框305中,節(jié)點1啟動。可以使用上面所討論的例如TPM等可信任計算模塊以安全方式如此操作。[0028]在方框310中,節(jié)點1試圖發(fā)現(xiàn)任何信任和能力代理是否駐留在或耦合到節(jié)點1。例如,節(jié)點1可以使用TCG或安全指定位置空間方式的"引用"來通知代理210其信任狀態(tài)和/或計算需求(即,圖2中的操作239的項目T和C)??杀淮鎯υ诠?jié)點205/206和/或云中的代理210會確保應用程序狀態(tài)到節(jié)點206的任何遷移并不減少應用程序114的信任或計算需求(圖1)。[0029]在方框315中,如果沒有代理,則可以在沒有本文中所描述的安全和穩(wěn)定性測量的情況下來進行任何上下文遷移。但是,如果代理被定位,則在方框320中,節(jié)點1可以向代理注冊其信任和計算能力憑證。從節(jié)點1的角度來看,這些實際上可能是節(jié)點205的要求,而不是節(jié)點1可能具有的憑證。這些值可以作為將與來自節(jié)點2的T和C值進行比較的閾值(在下文的步驟中進一步討論)。[0030]在方框325中,節(jié)點1繼續(xù)其BIOS、0S等的啟動和測量。節(jié)點1可以繼續(xù)以執(zhí)行應用程序。在方框330中,節(jié)點1確定是否需要從節(jié)點1到節(jié)點2的上下文遷移。如果否,則過程300可以返回到方框325,但是,如果想要遷移,則在方框335中,代理確定節(jié)點2的信任級別/憑證是否滿足節(jié)點1的注冊要求(見方框320)。如果節(jié)點2不滿足相應的閾值,則在方框340中,節(jié)點2上的相應應用程序可以在安全模式下運行,例如借助于安全的沙箱格式。例如,沙箱可以包括用于分離正在運行的程序的安全機制。其可以用于操作從節(jié)點1轉移到節(jié)點2的例如代碼的內(nèi)容。沙箱環(huán)境可以提供程序在其中運行的嚴格控制的一組資源,例如在磁盤和存儲器上的暫存空間(scratchspace)。可以禁止或嚴格限制網(wǎng)絡訪問,其是檢查主機系統(tǒng)或從節(jié)點2的輸入設備進行讀取的能力。沙箱可以使用虛擬化技術來實現(xiàn)。應用程序甚至可以在云上被執(zhí)行同時處于沙箱環(huán)境中。[0031]返回到方框335,如果節(jié)點2信任憑證確實滿足方框320的注冊要求/閾值,則在方框345中,代理可以確定節(jié)點2是否具有可信任計算元件(例如,TPM)。如果否,則過程300前進到方框350,在此節(jié)點2可以在沙箱環(huán)境、安全模式等中操作/處理應用程序和/或轉移的內(nèi)容。[0032]然而,如果方框345的答案是肯定的,則過程可進行到方框355,在此代理確定節(jié)點2的計算能力是否滿足方框320的對應閾值。如果節(jié)點2不滿足閾值,則在方框360中,所丟失的容量可以通過云服務被填充(例如,節(jié)點2的容量與經(jīng)由云所提供的服務相耦合,以操作應用程序并提供上下文遷移)。如果節(jié)點2滿足閾值,則在方框365中將計算上下文(例如,狀態(tài)信息和內(nèi)容,如數(shù)據(jù)、代碼等)轉移到節(jié)點2。[0033]因此,如圖3所示,當代理確定節(jié)點2的安全憑證不符合相應的閾值時,可使節(jié)點2在受限的安全模式中執(zhí)行第一應用程序的另一實例;其中受限的安全模式包括節(jié)點2的受限的功能和對被包含在/耦合到節(jié)點2的存儲器的受限的訪問。實施例可以提供在代理確定節(jié)點2的安全憑證不滿足相應的安全閾值之后,節(jié)點2在沙箱環(huán)境中執(zhí)行應用程序(運行在節(jié)點1上)的另一實例。關于安全憑證不匹配(例如,方框340)的實施例可能導致第二節(jié)點在沙箱等中處理所轉移的內(nèi)容。[0034]可以使用節(jié)點2的TPM能力來執(zhí)行強迫節(jié)點2在受限模式下操作的能力。例如,可對受限訪問設置進行加密,并將其從節(jié)點1的TPM轉移到節(jié)點2的TPM。每個TPM可以具有相應的密鑰,以便允許將這樣的設置的安全加密/解密。在一個實施例中,節(jié)點1可以直接依靠節(jié)點2首先創(chuàng)建沙箱環(huán)境。在另一個實施例中,節(jié)點1可以將沙箱環(huán)境轉移到節(jié)點2。一旦該沙箱環(huán)境被安裝在節(jié)點2上,應用程序上下文隨后可以被遷移到節(jié)點2,以工作在沙箱環(huán)境下。在另一個實施例中,沙箱環(huán)境可以位于原處,而應用程序正在被遷移。在這種情況下,應用程序可以負責調(diào)用(或不調(diào)用)該沙箱環(huán)境。例如,如果節(jié)點1的安全性高于應用程序所需要的,那么應用程序可以選擇禁用原處的沙箱環(huán)境。但是,在將上下文遷移到可包括低信任等級的節(jié)點2時,則應用程序可以選擇激活原處的沙箱。[0035]圖4包括在本發(fā)明實施例中從轉移節(jié)點的觀點的安全計算上下文移動的示意性流程圖。圖4包括關于節(jié)點1和2二者的過程400的流程圖。在方框405中,節(jié)點nl開啟。在方框410和415中,BIOS被啟動和測量,以建立安全的信任根。在方框420中,登記例如系統(tǒng)管理BIOS(SMBI0S)、ACPI等的各種平臺能力。SMBI0S涉及在BIOS中定義數(shù)據(jù)結構(及存取方法)的規(guī)范,其允許用戶或應用程序來存儲和取回尤其關于討論中的計算機的信息。這些能力有助于為節(jié)點建立測量。在方框425中,0S被啟動。[0036]方框406、411、416、421和426在節(jié)點2上執(zhí)行和節(jié)點1的方框405、410、415、420和425等價的操作。[0037]在方框430、435中,節(jié)點1執(zhí)行應用程序,例如視頻播放器。在方框440中,確定是否需要上下文遷移。如果是,則在方框445中,節(jié)點1從節(jié)點2請求計算能力和信任憑證,在方框446、447中,節(jié)點2接收并響應所述請求。在方框445中,由代理模塊/控制邏輯來評估(例如,與閾值進行比較)計算能力和信任憑證。如果計算能力和信任憑證使代理滿意,則在方框460中,節(jié)點1將計算上下文(例如,狀態(tài)信息和/或內(nèi)容,諸如數(shù)據(jù)、代碼等)推送到節(jié)點2。在方框465中,節(jié)點2接收上下文,并且在方框470中,開始上下文。[0038]因此,此處所描述的各種實施例包括捕獲可在計算節(jié)點之間共享的信任測量,以便促進以特定技術且供應商中立的可信任方式進行計算上下文移動。[0039]可以通過許多方式來分配實施例。例如,可以通過各種方式來確定節(jié)點2(計算上下文將被轉移到的節(jié)點)是否包括可接受的安全和/或計算能力憑證。節(jié)點1可以通過多種方式接收安全和計算能力憑證。從節(jié)點2轉移的憑證的實際實例可以被發(fā)送到節(jié)點1。但是,節(jié)點1可以代替地接收從來自節(jié)點2所轉移的憑證導出的一個或多個值。例如,節(jié)點2可以將憑證轉移到位于云中的代理,并且代理可以將表示節(jié)點2的安全和/或計算能力的消息轉移到節(jié)點1。在節(jié)點1必須查詢節(jié)點2的安全和/或計算能力的實施例中,可以通過位于節(jié)點1、節(jié)點2和/或云上的代理進行查詢。[0040]實施例允許構建與信任和虛擬化有關的方框,以使計算更加令人滿意。可以將可信任計算范例應用到未來的計算模型,例如移動計算上下文。[0041]針對使用本發(fā)明的實施例,上面的描述有時使用了回放電影作為用于說明上下文和環(huán)境的例子的手段。然而,實施例不限于觀看電影。例如,用戶可能希望轉移其與電子書閱讀相關的計算上下文。電子書可能具有數(shù)字版權限制,其允許用戶僅保留電子書的一個副本。在這種情況下,用戶可以閱讀書到第100頁。然后,他可能想從他的平板計算機遷移到他的智能手機。此處所描述的實施例可以審查手機的安全和/或計算能力,并當通過相應的閾值時,轉移內(nèi)容和狀態(tài)信息,從而用戶可以在其手機上在第100頁恢復閱讀電子書。此外,具有適當?shù)陌踩珣{證(例如,安全啟動和TPM)的手機可以確保書的加密副本保持加密和安全。[0042]其他例子可以涉及轉移代碼。用戶可以在其平板計算機上操作Java腳本程序。該程序可以涉及彈球游戲機,并且當用戶需要中止其在平板上比賽游戲時,該用戶可以得到200,000的分數(shù)。用戶可以執(zhí)行計算上下文遷移到其智能手機。本文所述的實施例可以審查手機的安全和/或計算能力,并且當通過相應的閾值時,轉移內(nèi)容(例如,Java腳本程序)和狀態(tài)信息(例如,得分等于200,000,并且剩下一顆彈球可以使用),這樣用戶可以在她的手機上繼續(xù)比賽具有200,000分數(shù)的視頻游戲。如果智能手機和平板計算機安全性不匹配,則Java腳本可以在手機上的沙箱環(huán)境/安全操作模式下操作。不匹配可以包括:平板比手機較不安全、平板比手機更安全、平板比手機具有更高的可用計算能力、平板比手機具有更小的可用計算能力,等等。[0043]作為另一例子,用戶可能期望轉移其與電子郵件相關的計算上下文。在這種情況下,用戶可以開始撰寫電子郵件。然后用戶可能想從他的平板計算機遷移到他的智能手機。此處所描述的實施例可以審查手機的安全和/或計算能力,并在通過相應的閾值時,轉移內(nèi)容(例如,電子郵件的正文)和狀態(tài)信息,因此用戶可以繼續(xù)在其手機上撰寫電子郵件。[0044]在實施例中,第一計算節(jié)點經(jīng)由網(wǎng)絡(如因特網(wǎng)、WAN、LAN、云等)耦合到第二計算節(jié)點。第一節(jié)點在第一計算節(jié)點上本地執(zhí)行應用程序。應用程序可以包括,例如,視頻播放器、電子郵件程序、電子書閱讀器、文字處理器、腳本(例如,Java腳本)等。當安全憑證滿足安全閾值時,第一節(jié)點可以將狀態(tài)信息從第一計算節(jié)點發(fā)送到第二計算節(jié)點,所述狀態(tài)信息與應用程序的執(zhí)行狀態(tài)(例如,撰寫了多少電子郵件,最后執(zhí)行的是程序的哪行)有關,并且其本地包含于第一計算節(jié)點上(例如,程序沒有被完全卸載到云)。安全憑證可以基于第二計算節(jié)點的安全狀態(tài)(例如,節(jié)點2是否被安全地啟動)。代理模塊可以確定安全憑據(jù)何時滿足安全閾值。代理可以被包括在第一節(jié)點、云、第二節(jié)點、任意這些元件的混合物中(例如,延伸于多個節(jié)點上的分布式計算網(wǎng)絡)。[0045]實施例可以以各種方式進行分布處理。在一個實施例中,第一計算節(jié)點可以將內(nèi)容(例如,電影或視頻、文本、腳本或程序)從第一計算節(jié)點發(fā)送到云、第二節(jié)點等。第二計算節(jié)點可以基于狀態(tài)信息而在第二計算節(jié)點上本地處理內(nèi)容的第一部分;并且當計算能力憑證不滿足計算能力閾值時(可能是由代理模塊所判斷的),網(wǎng)絡可以處理內(nèi)容的第二部分(例如,需要的計算能力在第二節(jié)點上不可得的內(nèi)容)。[0046]實施例可以包括第一計算節(jié)點從第一計算節(jié)點發(fā)送內(nèi)容,并且當安全憑證不滿足安全閾值時,由網(wǎng)絡處理內(nèi)容(例如,必須更加積極地保護其安全性的內(nèi)容,并且因此不合適具有有限安全保護的節(jié)點)。[0047]在實施例中,第二計算節(jié)點可以基于狀態(tài)信息而在第二計算節(jié)點上本地執(zhí)行應用程序的另一實例(例如,在第一節(jié)點上的應用程序的副本,如媒體播放器的另一副本)。[0048]在實施例中,當代理模塊確定安全憑證不滿足安全閾值時,第二計算節(jié)點可以在受限的安全模式下執(zhí)行應用程序的另一實例。[0049]可以在許多不同的系統(tǒng)類型中實現(xiàn)實施例?,F(xiàn)在參照圖5,示出了根據(jù)本發(fā)明實施例的系統(tǒng)(例如,節(jié)點1、節(jié)點2等)的方框圖。多處理器系統(tǒng)500是點對點互連系統(tǒng),并且包括經(jīng)由點對點互連550耦合的第一處理器570和第二處理器580。處理器570和580中的每個都可以是多核處理器。術語"處理器"可以指處理來自寄存器和/或存儲器的電子數(shù)據(jù)以將所述電子數(shù)據(jù)轉換成可被存儲在寄存器和/或存儲器中的其他電子數(shù)據(jù)的任何設備或設備的一部分。第一處理器570可以包括存儲器控制器中心(MCH)和點對點(P-P)接口。類似地,第二處理器580可包括MCH和P-P接口。MCH可以將處理器耦合到各自的存儲器,即存儲器532和存儲器534,其可以本地附連到各自處理器的主存儲器(例如,動態(tài)隨機存取存儲器(DRAM))的部分。第一處理器570和第二處理器580可以分別經(jīng)由P-P互連而耦合到芯片組590。芯片組590可以包括P-P接口。此外,芯片組590可以經(jīng)由接口而耦合到第一總線516。各種輸入/輸出(I/O)設備514連同總線橋518可以f禹合到第一總線516,總線橋518將第一總線516稱合到第二總線520。在一個實施例中,可以將各種設備奉禹合到第二總線520,例如包括:鍵盤/鼠標522、通信設備526、和可以包括代碼530的數(shù)據(jù)存儲單元528,如磁盤驅動器或其他大容量存儲設備。代碼可以包含在一個或多個存儲器中,所述存儲器包括存儲器528、532、534、經(jīng)由網(wǎng)絡而耦合到系統(tǒng)500的存儲器等。此外,可以將音頻I/O524耦合到第二總線520。[0050]實施例可以用代碼來實現(xiàn),并且可以存儲在其上存儲有指令的至少一個存儲介質上,所述指令能用于將系統(tǒng)編程以執(zhí)行所述指令。存儲介質可以包括,但不限于,任何類型的磁盤,包括:軟盤、光盤、固態(tài)驅動器(SSD)、壓縮盤只讀存儲器(⑶-ROM)、壓縮盤可重寫(CD-RW)以及磁光盤,半導體設備,例如只讀存儲器(ROM)、諸如動態(tài)隨機存取存儲器(DRAM)、靜態(tài)隨機存取存儲器(SRAM)的隨機存取存儲器(RAM)、可擦除可編程只讀存儲器(EPROM)、閃存、電可擦除可編程只讀存儲器(EEPR0M)、磁性卡或光學卡、或適用于存儲電子指令的任何其他類型的介質。[0051]此處,可以參考例如指令、函數(shù)、程序、數(shù)據(jù)結構、應用程序、配置設置、代碼等的數(shù)據(jù)來說明本發(fā)明的實施例。當由機器存取數(shù)據(jù)時,如本文中更詳細地描述的,機器可以通過執(zhí)行任務、定義抽象數(shù)據(jù)類型、建立低層硬件上下文、和/或執(zhí)行其他操作來做出響應。數(shù)據(jù)可以被存儲在易失性和/或非易失性數(shù)據(jù)存儲設備中。術語"代碼"或"程序"涵蓋廣泛范圍的部件和構造,包括應用程序、驅動程序、進程、例程、方法、模塊和子程序,并且可指當由處理系統(tǒng)執(zhí)行時,會進行所期望的一個或多個操作的任何指令的集合。此外,替代實施例可以包括:使用比所有公開的操作少的操作的過程、使用額外操作的過程、以不同序列使用的相同操作的過程、以及在其中組合、細分、或改變此處所公開的個體操作的過程。[0052]在一個實施例中,使用的術語"控制邏輯"包括硬件,例如晶體管、寄存器、或例如可編程邏輯器件(535)的其他硬件。然而,在另一實施例中,邏輯還包括軟件或代碼(531)??梢詫⑦@種邏輯與例如固件或微代碼(536)的硬件進行集成。處理器或控制器可以包括控制邏輯,控制邏輯意圖代表現(xiàn)有技術中已知的各種控制邏輯中的任意一種,因此,其可以被實現(xiàn)為微處理器、微控制器、現(xiàn)場可編程門陣列(FPGA)、專用集成電路(ASIC)、可編程邏輯器件(PLD)等。[0053]雖然已經(jīng)相對于有限的實施例描述了本發(fā)明,但本領域技術人員將認識到許多修改和變化。所附權利要求意圖覆蓋所有這些修改及變化,而不脫離本發(fā)明的實際精神和范圍?!緳嗬蟆?.一種由至少一個處理器執(zhí)行的方法,其包括第一計算節(jié)點用于:經(jīng)由網(wǎng)絡耦合到第二計算節(jié)點;在所述第一計算節(jié)點上本地執(zhí)行應用程序;以及當安全憑證滿足安全閾值時,將狀態(tài)信息從所述第一計算節(jié)點發(fā)送到所述第二計算節(jié)點,所述狀態(tài)信息與所述應用程序的執(zhí)行狀態(tài)有關,并且所述狀態(tài)信息被本地包含于所述第一計算節(jié)點上;其中,所述安全憑證是基于所述第二計算節(jié)點的安全狀態(tài)的。2.根據(jù)權利要求1所述的方法,包括:當計算能力憑證滿足計算能力閾值時,所述第一計算節(jié)點將所述狀態(tài)信息發(fā)送到所述第二計算節(jié)點;其中,所述計算能力憑證是基于所述第二計算節(jié)點的計算能力狀態(tài)的。3.根據(jù)權利要求1所述的方法,包括所述第一計算節(jié)點從所述第一計算節(jié)點發(fā)送與所述狀態(tài)信息不同的內(nèi)容;其中:所述第二計算節(jié)點基于所述狀態(tài)信息而在所述第二計算節(jié)點上本地處理所述內(nèi)容的第一部分;當計算能力憑證不滿足計算能力閾值時,包含于基于云的網(wǎng)絡中的所述網(wǎng)絡處理所述內(nèi)容的第二部分;以及所述計算能力憑證是基于所述第二計算節(jié)點的計算能力狀態(tài)的。4.根據(jù)權利要求1所述的方法,包括所述第一計算節(jié)點從所述第一計算節(jié)點發(fā)送與所述狀態(tài)信息不同的內(nèi)容;其中:當所述安全憑證不滿足所述安全閾值時,包含于基于云的網(wǎng)絡中的所述網(wǎng)絡處理所述內(nèi)容。5.根據(jù)權利要求1所述的方法,其中,耦合到第一節(jié)點的代理模塊確定所述安全憑證是否滿足所述安全閾值。6.根據(jù)權利要求5所述的方法,包括所述第一計算節(jié)點用于:播放視頻內(nèi)容;在第一時間點處中止播放所述視頻內(nèi)容;以及使所述狀態(tài)信息與所述視頻內(nèi)容和所述第一時間點相關。7.根據(jù)權利要求5所述的方法,其中,所述安全憑證基于以下中的一個:(i)在啟動所述第二計算節(jié)點期間以及在所述第二計算節(jié)點的操作系統(tǒng)(0S)被啟動之前所測量的所述第二計算節(jié)點的BIOS的測量,以及(ii)所述第二計算節(jié)點的所述0S的測量。8.根據(jù)權利要求5所述的方法,其中,所述第二計算節(jié)點基于所述狀態(tài)信息而在所述第二計算節(jié)點上本地執(zhí)行所述應用程序的另一實例。9.根據(jù)權利要求5所述的方法,其中,(i)當所述代理模塊確定所述安全憑證不滿足所述安全閾值時,所述第二計算節(jié)點在受限的安全模式中執(zhí)行所述應用程序的另一實例;以及(ii)所述受限的安全模式包括對包含于所述第二計算節(jié)點中的存儲器的受限訪問。10.根據(jù)權利要求5所述的方法,其中,當所述代理模塊確定所述安全憑證不滿足所述安全閾值時,所述第二計算節(jié)點在沙箱環(huán)境中執(zhí)行所述應用程序的另一實例。11.根據(jù)權利要求5所述的方法,包括所述第一計算節(jié)點用于:通過所述應用程序處理內(nèi)容的第一部分;以及當所述安全憑證滿足所述安全閾值時,將所述內(nèi)容的第二部分發(fā)送至所述第二計算節(jié)點。12.根據(jù)權利要求5所述的方法,包括:所述第一計算節(jié)點通過所述應用程序處理內(nèi)容的第一部分;以及所述第一計算節(jié)點將所述內(nèi)容的第二部分發(fā)送至所述第二計算節(jié)點;其中,當所述安全憑證不滿足所述安全閾值時,(i)所述第二計算節(jié)點通過所述應用程序的第二實例來處理所述內(nèi)容的第二部分,以及(ii)所述內(nèi)容的第二部分被維持在沙箱環(huán)境中。13.根據(jù)權利要求5所述的方法,包括:基于所述第一計算節(jié)點將所述狀態(tài)信息發(fā)送到所述第二計算節(jié)點,所述第一計算節(jié)點將其計算上下文發(fā)送到所述第二計算節(jié)點;其中:所述網(wǎng)絡包括基于云的網(wǎng)絡,并且所述代理是以下其中之一:(i)包含于所述第一計算節(jié)點中,(ii)包含于所述基于云的網(wǎng)絡中,以及(iii)包含于所述第一計算節(jié)點和所述基于z?的網(wǎng)絡-者中;所述安全憑證基于:(iii)所述第二計算節(jié)點是否被安全啟動,以及(iv)安全地包含于所述第二計算節(jié)點的密碼處理器中的值;以及計算機能力憑證是基于所述第二計算節(jié)點的存儲器容量的。14.駐留于至少一種存儲介質中的指令集,所述指令集由至少一個處理器執(zhí)行,以實現(xiàn)如權利要求1至13所述的方法。15.-種裝置,包括:至少一個處理器和被耦合到所述至少一個處理器的控制邏輯,用于:經(jīng)由網(wǎng)絡將第一計算節(jié)點耦合到第二計算節(jié)點;在所述第一計算節(jié)點上本地執(zhí)行應用程序;以及當安全憑證滿足安全閾值時,將狀態(tài)信息從所述第一計算節(jié)點發(fā)送到所述第二計算節(jié)點,所述狀態(tài)信息與所述應用程序的執(zhí)行狀態(tài)有關,并且所述狀態(tài)信息被本地包含于所述第一計算節(jié)點上;其中,所述安全憑證是基于所述第二計算節(jié)點的安全狀態(tài)的。16.根據(jù)權利要求15所述的裝置,其中:所述控制邏輯在計算能力憑證滿足計算能力閾值時,將所述狀態(tài)信息發(fā)送到所述第二計算節(jié)點;以及所述計算能力憑證是基于所述第二計算節(jié)點的計算能力狀態(tài)的。17.根據(jù)權利要求15所述的裝置,其中,耦合到第一節(jié)點的代理模塊確定所述安全憑證是否滿足所述安全閾值。18.根據(jù)權利要求17所述的裝置,其中,所述安全憑證基于以下中的一個:(i)在啟動所述第二計算節(jié)點期間以及在所述第二計算節(jié)點的操作系統(tǒng)(0S)被啟動之前所測量的所述第二計算節(jié)點的BIOS的測量,以及(ii)所述第二計算節(jié)點的所述0S的測量。19.根據(jù)權利要求17所述的裝置,其中,(i)當所述代理模塊確定所述安全憑證不滿足所述安全閾值時,所述第二計算節(jié)點在受限的安全模式中執(zhí)行所述應用程序的另一實例;以及(ii)所述受限的安全模式包括對包含于所述第二計算節(jié)點中的存儲器的受限訪問。20.根據(jù)權利要求15所述的裝置,其中,所述控制邏輯用于:播放視頻內(nèi)容;在第一時間點處中止播放所述視頻內(nèi)容;以及使所述狀態(tài)信息與所述視頻內(nèi)容和所述第一時間點相關?!疚臋n編號】G06F21/53GK104115157SQ201180076131【公開日】2014年10月22日申請日期:2011年12月30日優(yōu)先權日:2011年12月30日【發(fā)明者】M·布魯蘇,R·巴恩森,V·J·齊默,R·S·吉廷斯,R·C·斯旺森申請人:英特爾公司