首页 / 专利库 / 专利权 / 专利合作条约 / 第II章 / 跨越计算机节点的可信任应用程序迁移

跨越计算机节点的可信任应用程序迁移

阅读:54发布:2020-05-26

专利汇可以提供跨越计算机节点的可信任应用程序迁移专利检索,专利查询,专利分析的服务。并且实施例 包括一种用于跨越互联计算发送信息的安全和稳定的方法。例如,所述方法可以包括在第一 节点 (例如,平板计算机)上执行应用程序(例如,视频播放器),以期望执行“上下文迁移”到第二节点(例如,台式计算机)。这可以允许用户在平板计算机上观赏电影、停止观赏该电影,然后继续从台式计算机上恢复观赏该电影。为了以安全和稳定的方式如此操作,第一节点可以从第二节点 请求 安全性和性能凭证。如果这两个凭证都满足 阈值 ,则第一节点可以转移内容(例如,电影的加密副本)和状态信息(例如,指示当上下文转移开始时电影位于何处的占位符)。此后,第二节点可以允许用户在台式计算机上恢复观赏其电影。在本文中描述了其他实施例。,下面是跨越计算机节点的可信任应用程序迁移专利的具体信息内容。

1.一种由至少一个处理器执行的方法,其包括第一计算节点用于:
经由网络耦合到第二计算节点;
在所述第一计算节点上本地执行应用程序;以及
当安全凭证满足安全阈值时,将状态信息从所述第一计算节点发送到所述第二计算节点,所述状态信息与所述应用程序的执行状态有关,并且所述状态信息被本地包含于所述第一计算节点上;
其中,所述安全凭证是基于所述第二计算节点的安全状态以及以下中的一个的:(i)在启动所述第二计算节点期间以及在所述第二计算节点的操作系统OS被启动之前所测量的所述第二计算节点的BIOS的测量,以及(ii)所述第二计算节点的所述OS的测量;
其中,耦合到所述第一节点的代理模确定所述安全凭证是否满足所述安全阈值;
其中,所述第二计算节点基于所述状态信息而在所述第二计算节点上本地执行所述应用程序的另一实例。
2.根据权利要求1所述的方法,包括所述第一计算节点用于:
请求计算能凭证;
确定所述计算能力凭证满足计算能力阈值;
响应于确定所述计算能力凭证满足所述计算能力阈值,将所述状态信息发送到所述第二计算节点;
其中,所述计算能力凭证是基于所述第二计算节点的计算能力状态的。
3.根据权利要求1所述的方法,包括所述第一计算节点从所述第一计算节点发送与所述状态信息不同的内容;其中:
所述第二计算节点基于所述状态信息而在所述第二计算节点上本地处理所述内容的第一部分;
当计算能力凭证不满足计算能力阈值时,包含于基于的网络中的所述网络处理所述内容的第二部分;以及
所述计算能力凭证是基于所述第二计算节点的计算能力状态的。
4.根据权利要求1所述的方法,包括所述第一计算节点从所述第一计算节点发送与所述状态信息不同的内容;其中:当所述安全凭证不满足所述安全阈值时,包含于基于云的网络中的所述网络处理所述内容。
5.根据权利要求1所述的方法,包括所述第一计算节点用于:
播放视频内容;
在第一时间点处中止播放所述视频内容;以及
使所述状态信息与所述视频内容和所述第一时间点相关。
6.根据权利要求1所述的方法,其中,(i)当所述代理模块确定所述安全凭证不满足所述安全阈值时,所述第二计算节点在受限的安全模式中执行所述应用程序的所述另一实例;以及(ii)所述受限的安全模式包括对包含于所述第二计算节点中的存储器的受限访问
7.根据权利要求1所述的方法,其中,当所述代理模块确定所述安全凭证不满足所述安全阈值时,所述第二计算节点在沙箱环境中执行所述应用程序的所述另一实例。
8.根据权利要求1所述的方法,包括所述第一计算节点用于:
通过所述应用程序处理内容的第一部分;以及
当所述安全凭证满足所述安全阈值时,将所述内容的第二部分,而不是所述第一部分,发送至所述第二计算节点;
其中,所述第一部分和所述第二部分对应于视频的不同章节。
9.根据权利要求1所述的方法,包括:
所述第一计算节点通过所述应用程序处理内容的第一部分;以及
所述第一计算节点将所述内容的第二部分发送至所述第二计算节点;
其中,当所述安全凭证不满足所述安全阈值时,(i)所述第二计算节点通过所述应用程序的所述另一实例来处理所述内容的第二部分,以及(ii)所述内容的第二部分被维持在沙箱环境中。
10.根据权利要求1所述的方法,包括:基于所述第一计算节点将所述状态信息发送到所述第二计算节点,所述第一计算节点将其计算上下文发送到所述第二计算节点;其中:
所述网络包括基于云的网络,并且所述代理是以下其中之一:(i)包含于所述第一计算节点中,(ii)包含于所述基于云的网络中,以及(iii)包含于所述第一计算节点和所述基于云的网络二者中;
所述安全凭证基于:(iii)所述第二计算节点是否被安全启动,以及(iv)安全地包含于所述第二计算节点的加密处理器中的值;以及
计算机能力凭证是基于所述第二计算节点的存储器容量的。
11.一种由至少一个处理器执行的装置,其包括:
用于经由网络将第一计算节点耦合到第二计算节点的单元;
用于在所述第一计算节点上本地执行应用程序的单元;以及
用于当安全凭证满足安全阈值时,将状态信息从所述第一计算节点发送到所述第二计算节点的单元,所述状态信息与所述应用程序的执行状态有关,并且所述状态信息被本地包含于所述第一计算节点上;
其中,所述安全凭证是基于所述第二计算节点的安全状态以及以下中的一个的:(i)在启动所述第二计算节点期间以及在所述第二计算节点的操作系统OS被启动之前所测量的所述第二计算节点的BIOS的测量,以及(ii)所述第二计算节点的所述OS的测量;
其中,耦合到所述第一节点的代理模块确定所述安全凭证是否满足所述安全阈值;
其中,所述第二计算节点基于所述状态信息而在所述第二计算节点上本地执行所述应用程序的另一实例。
12.一种用于跨越计算机节点的可信任应用程序迁移的装置,包括:
至少一个处理器和被耦合到所述至少一个处理器的控制逻辑,用于:
经由网络将第一计算节点耦合到第二计算节点;
在所述第一计算节点上本地执行应用程序;以及
当安全凭证满足安全阈值时,将状态信息从所述第一计算节点发送到所述第二计算节点,所述状态信息与所述应用程序的执行状态有关,并且所述状态信息被本地包含于所述第一计算节点上;
其中,所述安全凭证是基于所述第二计算节点的安全状态以及以下中的一个的:(i)在启动所述第二计算节点期间以及在所述第二计算节点的操作系统OS被启动之前所测量的所述第二计算节点的BIOS的测量,以及(ii)所述第二计算节点的所述OS的测量;
其中,耦合到所述第一节点的代理模块确定所述安全凭证是否满足所述安全阈值;
其中,所述第二计算节点基于所述状态信息而在所述第二计算节点上本地执行所述应用程序的另一实例。
13.根据权利要求12所述的装置,其中:
所述控制逻辑在计算能力凭证满足计算能力阈值时,将所述状态信息发送到所述第二计算节点;以及
所述计算能力凭证是基于所述第二计算节点的计算能力状态的。
14.根据权利要求12所述的装置,其中,所述控制逻辑用于:
播放视频内容;
在第一时间点处中止播放所述视频内容;以及
使所述状态信息与所述视频内容和所述第一时间点相关。

说明书全文

跨越计算机节点的可信任应用程序迁移

背景技术

[0001] “互联计算(Compute Continuum)”跨越不同计算设备向用户提供一致的客户端感知连接环境。互联计算将用户置于他或她自己在不同计算设备当中的“”的中心。
[0002] 例如,当用户在乘坐飞机进行商务旅行时,可以将电影的副本下载至其平板计算机上进行观看。在飞机的飞行结束时,用户可以在其平板计算机上位于电影的位置X处停止观赏该电影。然后,该用户可以到达家中,并希望将电影转移到该用户的智能电视,其包括使用电视作为其显示监视器的台式计算机。此外,用户可能希望从位置X处开始继续观看电影。换句话说,用户可能希望跨越互联计算而对其计算上下文进行无缝迁移。也就是说,用户可能希望将其可包括内容(例如,电影、电子书、可执行代码等)和节点上属于用户的计算经验的状态信息(例如,电影的位置X)的计算上下文从一个计算节点(例如,计算机节点)转移至另一个计算节点。
[0003] 通过正确实现的互联计算,用户能够完成上述任务,并跨越不同计算设备而管理其环境。然而,只是将电影的副本和相关信息(例如,属于位置X的状态信息)从平板计算机转移到台式计算机,可能会使该平板计算机和台式计算机之一或二者暴露给恶意程序以及一般的安全性和稳定性险。例如,病毒可以从一个节点转移到另一个节点。此外,对于用户来说,台式计算机可能不具有适当的计算容量,并且可能因此无法稳定地播放电影(例如,可能是具有高存储器和处理需求的三维或互动性电影)。附图说明
[0004] 本发明实施例的特征和优点将从所附的权利要求、一个或多个示例性实施例的详细描述、以及对应附图变得明显,其中:
[0005] 图1包括跨越计算机节点的可信任应用程序迁移的方法的概述;
[0006] 图2包括本发明的实施例中的节点的示意框图
[0007] 图3包括本发明实施例中的从转移节点之一的观点的安全计算上下文移动的示意性流程图
[0008] 图4包括在本发明实施例中的从转移节点的观点的安全计算上下文移动的示意性流程图;
[0009] 图5包括用于实现此处所述的实施例的计算节点、代理(broker)、或其他部件的系统。

具体实施方式

[0010] 在下面的描述中,对许多具体细节进行了阐述,但本发明的实施例可以不需要这些具体细节而实现。未详细示出已知的电路、结构和技术,以避免模糊对本说明书的理解。“实施例”、“各种实施例”等表示这样描述的实施例可以包括特定的特征、结构或特性,但并非每个实施例都一定包括该特定特征、结构或特性。某些实施例可能具有某些、全部或没有针对其他实施例所描述的特征。“第一”、“第二”、“第三”等描述了共同的对象,并指出正在提及的类似对象的不同实例。这样的形容词并不暗示这样描述的对象必须依照给定的顺序,无论是在时间上、空间上、名次上、或是以任何其他方式。“连接”可以表示元件彼此直接物理性或电气性接触,而“耦合”可以表示元件彼此协作或彼此交互,但它们可能或可能不直接物理性或电气性接触。另外,虽然可以在不同的附图中使用类似或相同的数字表示相同或相似的部件,但这样做并不表示所有包括类似或相同数字的附图都构成单个或相同的实施例。
[0011] 实施例包括一种用于跨越互联计算而安全地迁移用户的计算上下文的方法。例如,该方法可以包括从一个节点将用户的计算上下文安全地发送(例如,转移)到另一个节点。更具体地说,所述方法可以包括在第一节点(例如,平板计算机)上执行第一应用程序(例如,视频播放器),并且期望进行“上下文迁移”到第二个节点(例如,台式计算机)。这可以允许用户在平板计算机上观赏电影、停止观赏该电影,然后继续从台式计算机(第二节点)恢复观赏该电影。为了以安全和稳定的方式如此操作,第一节点可以从第二节点请求安全凭证(例如,关于第二节点是否被安全启动的证据)和性能凭证(例如,关于第二节点是否具有足够的存储器来稳定播放从第一节点转移的电影内容的证据)。如果第二节点的安全性和计算机性能凭证均满足对应的阈值,则第一节点可以将内容(例如,电影的加密副本)和/或状态信息(例如,指出在内容转移开始时电影位于何处的占位符)转移到第二节点。在从第一节点接收到上下文和状态信息之后,第二节点可以允许用户使用台式计算机来恢复他或她的电影观赏。电影观赏可以“从用户停止之处续接下去”,所以用户可以从其先前停止观赏电影的位置开始观赏电影。上述过程可以允许跨越互联计算的安全和稳定的上下文迁移。
[0012] 图1包括跨计算机节点的可信任应用程序迁移的方法的概述。图2、图3和图4为跨越计算机节点的可信任应用程序迁移提供实施例的更详细地检查。
[0013] 关于图1,节点105和106可以分别各自包括至少一个处理器111、112。节点105可以经由网络耦合到节点106,所述网络例如互联网(云)、局域网(LAN)、广域网(WAN)等。节点105可以包括应用程序114,其被存储在存储器113中并在处理器111上执行。在一个实施例中,应用程序的相应实例(例如,拷贝或发行)作为应用程序117存在于节点106中。
[0014] 在操作115和120中,利用“信任和能代理”逻辑模110,节点105可以从节点106请求并接收安全凭证。安全凭证可能涉及节点106的安全状态(例如,信任根),例如,节点106是否被安全地启动。更具体地,安全凭证可以基于节点106的二进制输入/输出系统(BIOS)的测量,该测量在启动节点106的过程中以及在节点106的操作系统(OS)被启动之前已经进行。测量可能已经被安全地存储在节点106的可信任平台模块(TPM)108中。当在节点
105处接收到时,该测量可以被存储在TPM 107中。
[0015] 在操作115和120中,节点105的信任和能力代理110也可以从节点106请求并接收计算能力凭证。计算能力凭证可能关于计算节点106所能胜任的等级。这些凭证可以涉及存储器、处理能力等等。
[0016] 在操作125中,节点105的信任和能力代理110确定来自节点106的安全凭证和计算能力是否满足各自的阈值。例如,安全阈值可以涉及节点106的安全信任根的证明。计算能力的阈值可以涉及节点106是否包括最小量的存储器和/或处理能力。
[0017] 操作130包括:基于确定所转移的安全证据满足安全阈值,而将与应用程序114的执行状态有关的状态信息转移到节点106。例如,如果满足安全阈值,则状态信息可以被转移到节点106。在实施例中,状态信息的转移可以进一步基于节点105确定计算能力凭证满足计算能力阈值。
[0018] 节点105可能先前已经借助于应用程序114处理了上下文。例如,应用程序114可以是播放例如电影的内容的视频播放器。节点105可能已播放和显示电影内容的第一部分,例如与电影的第一章节相关联的场景。基于状态信息,节点105可以知晓第一章节的结尾是用户停止观看电影的地方,并试图将其计算上下文从节点105迁移到节点106,因此,节点105可以将内容的第二部分(例如电影的其余章节)转移到节点106。
[0019] 然后节点106可以使用在处理器112上运行的应用程序117来处理内容。基于状态信息,节点106可以从第二章节的开头开始播放上述电影。
[0020] 因此,图1的方法公开了允许用户将计算上下文从特定的计算节点无缝分离的实施例。接着,可以将上下文迁移到更适合用户的当前位置(例如,在家里而不是在通勤列车上)的另一计算节点。迁移可以使用可信任计算块(例如,存储在TPM的可信任启动测量),以确保上下文迁移是已认证的上下文迁移。“信任代理”可以用来改善对于目标机器的可信任度的怀疑,并且“能力代理”可以用来改善有关目标机器的计算能力的顾虑。该已认证的上下文迁移可能以值得信任的方式及跨越多种供应商平台来跨越互联计算而提供应用程序(例如,软件应用程序)上下文移动性。
[0021] 图2包括本发明的实施例中的节点的示意框图。节点206包括主动信任测量的能力,并包括或耦合至用于在节点间交换(即,在节点205、206之间)信任凭证和/或计算能力的代理(例如,包括于节点205、节点206、和/或云中)。
[0022] 关于信任凭证,这种凭证可能涉及至少一个或多个因素。例如,第一因素涉及当被捕获到例如测量表231(其可被保管于TPM 207内)时,节点206是否具有稳定建立的信任根。表231可以以类似于高级配置和电源接口(ACPI)规范的方式被格式化,其通过OS为设备配置和电源管理提供开放标准。因此,表231可以提供用于硬件发现、配置、电源管理和监测的平台无关接口。
[0023] 第二因素可能涉及验证节点206的软件堆栈(例如,OS)是可靠和值得信任的。信任根可以通过预启动固件而建立。例如,软件的可信任度可以通过在节点206上被实现为后台服务的防病毒代理235来建立。
[0024] 因此,在一个实施例中构成凭证的第一和第二因素具有静态部分和动态部分。静态部分可以涉及到BIOS 233的测量启动。动态部分可以涉及经由在OS 234启动之后操作的服务235所进行的后启动测量。静态测量和动态测量都可以存储在查询缆线表(query-cable table)231中。
[0025] 关于TPM 207,TPM包括可以存储保护信息的加密密钥的安全加密处理器。TPM可以符合可信计算组织TPM规范,例如TPM规范1.2修订版116。除了硬件伪随机数发生器之外,TPM 207可以为安全生成加密密钥提供设施,并且限制其使用。其还可以包括如远程证明和密封储存的功能。TPM 207可以保证节点206的完整性。这可能需要证明从可信任情况开始的开机启动过程,并且扩展了这种信任,直到BIOS 233和OS 234已经全面启动并且应用程序正在运行为止。连同BIOS 233,TPM 207可以基于OS测量237而形成信任根测量238,以共同形成主动信任测量236。TPM 207包含允许安全存储和报告安全相关度量的多个平台配置寄存器(PCR)。这些度量可以用来检测以前的配置的变化,并导出如何进行的决定。因此,BIOS 233和OS 234可以利用TPM 207来保证平台206的平台完整性。
[0026] 在一个实施例中,如果用户希望将其计算上下文从例如手持式(例如,节点205)移动到个人计算机(PC)(例如,节点206),他或她可以从节点205开始查询节点206的主动信任测量236。这些测量可以构成节点205可以评估的安全凭证。正如操作239所指出的,节点206可以向可被实现为控制逻辑的信任和能力代理210注册其安全/信任测量(T)和/或它的计算能力信息(C)。一旦由节点205接收到信任度量236,就可在做出关于是否全部或者部分批准或拒绝计算上下文移动的决定之前,由节点205来评估那些度量(例如,使用可包含于节点205、云等中的代理110)。
[0027] 图3包括本发明实施例中的安全计算上下文移动的实施例。图3是从节点205(在图3中被称为“节点1”或N1)的度绘制的,该节点将转移计算上下文到节点206(在图3中被称为“节点2”或N2)。节点205是“状态节点”,因为其包括(本地)应用程序的状态,其中所述状态被转移以使迁移对用户而言是无缝的。在方框305中,节点1启动。可以使用上面所讨论的例如TPM等可信任计算模块以安全方式如此操作。
[0028] 在方框310中,节点1试图发现任何信任和能力代理是否驻留在或耦合到节点1。例如,节点1可以使用TCG或安全指定位置空间方式的“引用”来通知代理210其信任状态和/或计算需求(即,图2中的操作239的项目T和C)。可被存储在节点205/206和/或云中的代理210会确保应用程序状态到节点206的任何迁移并不减少应用程序114的信任或计算需求(图1)。
[0029] 在方框315中,如果没有代理,则可以在没有本文中所描述的安全和稳定性测量的情况下来进行任何上下文迁移。但是,如果代理被定位,则在方框320中,节点1可以向代理注册其信任和计算能力凭证。从节点1的角度来看,这些实际上可能是节点205的要求,而不是节点1可能具有的凭证。这些值可以作为将与来自节点2的T和C值进行比较的阈值(在下文的步骤中进一步讨论)。
[0030] 在方框325中,节点1继续其BIOS、OS等的启动和测量。节点1可以继续以执行应用程序。在方框330中,节点1确定是否需要从节点1到节点2的上下文迁移。如果否,则过程300可以返回到方框325,但是,如果想要迁移,则在方框335中,代理确定节点2的信任级别/凭证是否满足节点1的注册要求(见方框320)。如果节点2不满足相应的阈值,则在方框340中,节点2上的相应应用程序可以在安全模式下运行,例如借助于安全的沙箱格式。例如,沙箱可以包括用于分离正在运行的程序的安全机制。其可以用于操作从节点1转移到节点2的例如代码的内容。沙箱环境可以提供程序在其中运行的严格控制的一组资源,例如在磁盘和存储器上的暂存空间(scratch space)。可以禁止或严格限制网络访问,其是检查主机系统或从节点2的输入设备进行读取的能力。沙箱可以使用虚拟化技术来实现。应用程序甚至可以在云上被执行同时处于沙箱环境中。
[0031] 返回到方框335,如果节点2信任凭证确实满足方框320的注册要求/阈值,则在方框345中,代理可以确定节点2是否具有可信任计算元件(例如,TPM)。如果否,则过程300前进到方框350,在此节点2可以在沙箱环境、安全模式等中操作/处理应用程序和/或转移的内容。
[0032] 然而,如果方框345的答案是肯定的,则过程可进行到方框355,在此代理确定节点2的计算能力是否满足方框320的对应阈值。如果节点2不满足阈值,则在方框360中,所丢失的容量可以通过云服务被填充(例如,节点2的容量与经由云所提供的服务相耦合,以操作应用程序并提供上下文迁移)。如果节点2满足阈值,则在方框365中将计算上下文(例如,状态信息和内容,如数据、代码等)转移到节点2。
[0033] 因此,如图3所示,当代理确定节点2的安全凭证不符合相应的阈值时,可使节点2在受限的安全模式中执行第一应用程序的另一实例;其中受限的安全模式包括节点2的受限的功能和对被包含在/耦合到节点2的存储器的受限的访问。实施例可以提供在代理确定节点2的安全凭证不满足相应的安全阈值之后,节点2在沙箱环境中执行应用程序(运行在节点1上)的另一实例。关于安全凭证不匹配(例如,方框340)的实施例可能导致第二节点在沙箱等中处理所转移的内容。
[0034] 可以使用节点2的TPM能力来执行强迫节点2在受限模式下操作的能力。例如,可对受限访问设置进行加密,并将其从节点1的TPM转移到节点2的TPM。每个TPM可以具有相应的密钥,以便允许将这样的设置的安全加密/解密。在一个实施例中,节点1可以直接依靠节点2首先创建沙箱环境。在另一个实施例中,节点1可以将沙箱环境转移到节点2。一旦该沙箱环境被安装在节点2上,应用程序上下文随后可以被迁移到节点2,以工作在沙箱环境下。在另一个实施例中,沙箱环境可以位于原处,而应用程序正在被迁移。在这种情况下,应用程序可以负责调用(或不调用)该沙箱环境。例如,如果节点1的安全性高于应用程序所需要的,那么应用程序可以选择禁用原处的沙箱环境。但是,在将上下文迁移到可包括低信任等级的节点2时,则应用程序可以选择激活原处的沙箱。
[0035] 图4包括在本发明实施例中从转移节点的观点的安全计算上下文移动的示意性流程图。图4包括关于节点1和2二者的过程400的流程图。在方框405中,节点n1开启。在方框410和415中,BIOS被启动和测量,以建立安全的信任根。在方框420中,登记例如系统管理BIOS(SMBIOS)、ACPI等的各种平台能力。SMBIOS涉及在BIOS中定义数据结构(及存取方法)的规范,其允许用户或应用程序来存储和取回尤其关于讨论中的计算机的信息。这些能力有助于为节点建立测量。在方框425中,OS被启动。
[0036] 方框406、411、416、421和426在节点2上执行和节点1的方框405、410、415、420和425等价的操作。
[0037] 在方框430、435中,节点1执行应用程序,例如视频播放器。在方框440中,确定是否需要上下文迁移。如果是,则在方框445中,节点1从节点2请求计算能力和信任凭证,在方框446、447中,节点2接收并响应所述请求。在方框445中,由代理模块/控制逻辑来评估(例如,与阈值进行比较)计算能力和信任凭证。如果计算能力和信任凭证使代理满意,则在方框
460中,节点1将计算上下文(例如,状态信息和/或内容,诸如数据、代码等)推送到节点2。在方框465中,节点2接收上下文,并且在方框470中,开始上下文。
[0038] 因此,此处所描述的各种实施例包括捕获可在计算节点之间共享的信任测量,以便促进以特定技术且供应商中立的可信任方式进行计算上下文移动。
[0039] 可以通过许多方式来分配实施例。例如,可以通过各种方式来确定节点2(计算上下文将被转移到的节点)是否包括可接受的安全和/或计算能力凭证。节点1可以通过多种方式接收安全和计算能力凭证。从节点2转移的凭证的实际实例可以被发送到节点1。但是,节点1可以代替地接收从来自节点2所转移的凭证导出的一个或多个值。例如,节点2可以将凭证转移到位于云中的代理,并且代理可以将表示节点2的安全和/或计算能力的消息转移到节点1。在节点1必须查询节点2的安全和/或计算能力的实施例中,可以通过位于节点1、节点2和/或云上的代理进行查询。
[0040] 实施例允许构建与信任和虚拟化有关的方框,以使计算更加令人满意。可以将可信任计算范例应用到未来的计算模型,例如移动计算上下文。
[0041] 针对使用本发明的实施例,上面的描述有时使用了回放电影作为用于说明上下文和环境的例子的手段。然而,实施例不限于观看电影。例如,用户可能希望转移其与电子书阅读相关的计算上下文。电子书可能具有数字版权限制,其允许用户仅保留电子书的一个副本。在这种情况下,用户可以阅读书到第100页。然后,他可能想从他的平板计算机迁移到他的智能手机。此处所描述的实施例可以审查手机的安全和/或计算能力,并当通过相应的阈值时,转移内容和状态信息,从而用户可以在其手机上在第100页恢复阅读电子书。此外,具有适当的安全凭证(例如,安全启动和TPM)的手机可以确保书的加密副本保持加密和安全。
[0042] 其他例子可以涉及转移代码。用户可以在其平板计算机上操作Java脚本程序。该程序可以涉及弹球游戏机,并且当用户需要中止其在平板上比赛游戏时,该用户可以得到200,000的分数。用户可以执行计算上下文迁移到其智能手机。本文所述的实施例可以审查手机的安全和/或计算能力,并且当通过相应的阈值时,转移内容(例如,Java脚本程序)和状态信息(例如,得分等于200,000,并且剩下一颗弹球可以使用),这样用户可以在她的手机上继续比赛具有200,000分数的视频游戏。如果智能手机和平板计算机安全性不匹配,则Java脚本可以在手机上的沙箱环境/安全操作模式下操作。不匹配可以包括:平板比手机较不安全、平板比手机更安全、平板比手机具有更高的可用计算能力、平板比手机具有更小的可用计算能力,等等。
[0043] 作为另一例子,用户可能期望转移其与电子邮件相关的计算上下文。在这种情况下,用户可以开始撰写电子邮件。然后用户可能想从他的平板计算机迁移到他的智能手机。此处所描述的实施例可以审查手机的安全和/或计算能力,并在通过相应的阈值时,转移内容(例如,电子邮件的正文)和状态信息,因此用户可以继续在其手机上撰写电子邮件。
[0044] 在实施例中,第一计算节点经由网络(如因特网、WAN、LAN、云等)耦合到第二计算节点。第一节点在第一计算节点上本地执行应用程序。应用程序可以包括,例如,视频播放器、电子邮件程序、电子书阅读器、文字处理器、脚本(例如,Java脚本)等。当安全凭证满足安全阈值时,第一节点可以将状态信息从第一计算节点发送到第二计算节点,所述状态信息与应用程序的执行状态(例如,撰写了多少电子邮件,最后执行的是程序的哪行)有关,并且其本地包含于第一计算节点上(例如,程序没有被完全卸载到云)。安全凭证可以基于第二计算节点的安全状态(例如,节点2是否被安全地启动)。代理模块可以确定安全凭据何时满足安全阈值。代理可以被包括在第一节点、云、第二节点、任意这些元件的混合物中(例如,延伸于多个节点上的分布式计算网络)。
[0045] 实施例可以以各种方式进行分布处理。在一个实施例中,第一计算节点可以将内容(例如,电影或视频、文本、脚本或程序)从第一计算节点发送到云、第二节点等。第二计算节点可以基于状态信息而在第二计算节点上本地处理内容的第一部分;并且当计算能力凭证不满足计算能力阈值时(可能是由代理模块所判断的),网络可以处理内容的第二部分(例如,需要的计算能力在第二节点上不可得的内容)。
[0046] 实施例可以包括第一计算节点从第一计算节点发送内容,并且当安全凭证不满足安全阈值时,由网络处理内容(例如,必须更加积极地保护其安全性的内容,并且因此不合适具有有限安全保护的节点)。
[0047] 在实施例中,第二计算节点可以基于状态信息而在第二计算节点上本地执行应用程序的另一实例(例如,在第一节点上的应用程序的副本,如媒体播放器的另一副本)。
[0048] 在实施例中,当代理模块确定安全凭证不满足安全阈值时,第二计算节点可以在受限的安全模式下执行应用程序的另一实例。
[0049] 可以在许多不同的系统类型中实现实施例。现在参照图5,示出了根据本发明实施例的系统(例如,节点1、节点2等)的方框图。多处理器系统500是点对点互连系统,并且包括经由点对点互连550耦合的第一处理器570和第二处理器580。处理器570和580中的每个都可以是多核处理器。术语“处理器”可以指处理来自寄存器和/或存储器的电子数据以将所述电子数据转换成可被存储在寄存器和/或存储器中的其他电子数据的任何设备或设备的一部分。第一处理器570可以包括存储器控制器中心(MCH)和点对点(P-P)接口。类似地,第二处理器580可包括MCH和P-P接口。MCH可以将处理器耦合到各自的存储器,即存储器532和存储器534,其可以本地附连到各自处理器的主存储器(例如,动态随机存取存储器(DRAM))的部分。第一处理器570和第二处理器580可以分别经由P-P互连而耦合到芯片组590。芯片组590可以包括P-P接口。此外,芯片组590可以经由接口而耦合到第一总线516。各种输入/输出(I/O)设备514连同总线桥518可以耦合到第一总线516,总线桥518将第一总线516耦合到第二总线520。在一个实施例中,可以将各种设备耦合到第二总线520,例如包括:键盘/鼠标522、通信设备526、和可以包括代码530的数据存储单元528,如磁盘驱动器或其他大容量存储设备。代码可以包含在一个或多个存储器中,所述存储器包括存储器528、532、534、经由网络而耦合到系统500的存储器等。此外,可以将音频I/O 524耦合到第二总线520。
[0050] 实施例可以用代码来实现,并且可以存储在其上存储有指令的至少一个存储介质上,所述指令能用于将系统编程以执行所述指令。存储介质可以包括,但不限于,任何类型的磁盘,包括:软盘、光盘、固态驱动器(SSD)、压缩盘只读存储器(CD-ROM)、压缩盘可重写(CD-RW)以及磁光盘,半导体设备,例如只读存储器(ROM)、诸如动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)的随机存取存储器(RAM)、可擦除可编程只读存储器(EPROM)、闪存、电可擦除可编程只读存储器(EEPROM)、磁性卡或光学卡、或适用于存储电子指令的任何其他类型的介质。
[0051] 此处,可以参考例如指令、函数、程序、数据结构、应用程序、配置设置、代码等的数据来说明本发明的实施例。当由机器存取数据时,如本文中更详细地描述的,机器可以通过执行任务、定义抽象数据类型、建立低层硬件上下文、和/或执行其他操作来做出响应。数据可以被存储在易失性和/或非易失性数据存储设备中。术语“代码”或“程序”涵盖广泛范围的部件和构造,包括应用程序、驱动程序、进程、例程、方法、模块和子程序,并且可指当由处理系统执行时,会进行所期望的一个或多个操作的任何指令的集合。此外,替代实施例可以包括:使用比所有公开的操作少的操作的过程、使用额外操作的过程、以不同序列使用的相同操作的过程、以及在其中组合、细分、或改变此处所公开的个体操作的过程。
[0052] 在一个实施例中,使用的术语“控制逻辑”包括硬件,例如晶体管、寄存器、或例如可编程逻辑器件(535)的其他硬件。然而,在另一实施例中,逻辑还包括软件或代码(531)。可以将这种逻辑与例如固件或微代码(536)的硬件进行集成。处理器或控制器可以包括控制逻辑,控制逻辑意图代表现有技术中已知的各种控制逻辑中的任意一种,因此,其可以被实现为微处理器微控制器、现场可编程阵列(FPGA)、专用集成电路(ASIC)、可编程逻辑器件(PLD)等。
[0053] 虽然已经相对于有限的实施例描述了本发明,但本领域技术人员将认识到许多修改和变化。所附权利要求意图覆盖所有这些修改及变化,而不脱离本发明的实际精神和范围。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈