不可靠计算环境中使用扰乱计算单元的分布式计算制造技术

技术编号:2861240 阅读:215 留言:0更新日期:2012-04-11 18:40
一种装置、程序产品和方法,在不可靠计算机上启动其它计算单元的运行的同时,启动扰乱计算单元的运行,以防止不可靠方对计算的重建。具体地说,在将特定计算分解为多个计算单元的同时,生成一个或多个扰乱计算单元,并将其提供给一个或多个资源提供者,以便与被分解的计算的那些计算单元一起运行。

【技术实现步骤摘要】

本专利技术涉及计算机和计算机软件,尤其涉及保护在不可靠分布式计算环境中执行的计算。
技术介绍
计算机工业开始越来越依赖于计算的效用模型(utility model)。与组织通常购买并维持满足它们各自计算需要所需的所有必要的硬件和软件计算机资源的传统计算范式相反,计算的效用模型更多在效用或服务方面来看待计算机资源,其可有效地为多个组织所共享,以满足所有那些组织的集体计算需要。一种这样的计算效用环境被称为网格(grid)计算,其中,将一组可能不同种类且地理上遥远的计算机系统以分布方式连接在一起,以共享它们各自的资源,并呈现出单个大型又强大的虚拟计算机系统的外部特征(appearance)。网格计算环境可用来共享各种硬件和软件资源,如处理器、应用、储存设备(storage)、存储器(memory)、打印机、网络连接、以及其它外设。在计算网格中,提取多个计算机的硬件和/或软件资源,其中使用专用软件以使基础资源的效用最大化的方式来将工作发到各个资源。网格计算在系统利用效率方面经常比已知有很多计算机在大多数时间经常严重地利用不足的传统计算环境更为有效。使用传统计算环境的组织通常需要维持足够的计算能力,以满足那些组织对其每一个计算系统的最大或峰值需求,而不管那些峰值需求的出现频率如何。另一方面,通过网格计算,可有效地共享多个组织的计算能力(或甚至同一组织所拥有的多个地点或系统的计算能力),使得可以将工作分发给网格中的不同资源,用于使整体系统利用率最大化。在很多情况下,网格中维持的集体计算能力可小于其它方式下满足网格的每个使用者的各计算需求所需的计算能力。在很多情况下,网格计算还提供很多复杂计算应用所期望的高度并行处理的可能性。此外,网格计算经常提供故障排除(failover)、负载平衡和其它高可用性能力来增加网格的可靠性和可用性,以及其它高级能力,如安全、管理等。尽管可在单个组织内维持一些计算效用环境,但在很多情况下,计算效用环境由多个组织使用,或甚至可以被公共维持和/或支持。例如,可利用网格和网络服务来从多个组织提取计算资源,并使网格的客户或使用者(甚至不在网格中贡献(host)任何计算资源的那些人)能够让一个或多个资源提供者为其执行计算或其它任务。此外,可开发成本结构来使网格的客户能够基于每次交易或预订而为资源使用付费。作为例子,可使用网格计算来执行通常在数百万美元的超级计算机上执行的多种类型的计算。通过使网格中成百上千个显著低价且低性能的计算机互连,并然后将复杂计算分解为由多个计算机并行处理的计算单元,网格可提供与很多超级计算机同等的性能,并且成本显著减小。很多组织更加愿意基于交易或预订而为使用网格付费,以避免为处理复杂计算而购买并维持自身充分的计算能力的需要。然而,网格计算和其它形式的分布式计算效用环境的一个缺点在于,由于网格的多组织结构而带来的安全性问题。例如,在很多分布式计算效用环境中,预期大量组织会将计算资源提供给该环境的底层结构(infrastructure)。在一些情况下,那些组织甚至可能彼此之间是竞争对手。因此,希望在这种环境中执行工作的客户可能不具有对其数据保密性的完全控制。尽管可使用加密通信来保护计算机之间的通信,但是当在计算效用环境中的特定计算机上执行数据的基础处理时,通常,计算机必须能够在执行计算之前对数据解密。换句话说,加密通常在客户端和资源之间的传送期间保护数据,而一旦由该资源接收并处理数据,则不保护数据。结果,计算效用环境中为客户执行的计算有可能至少部分地由竞争对手或其它不可靠方所贡献的计算资源来执行。因此,存在好奇或恶意的不可靠方将在贡献计算资源时对计算和/或与计算相关的通信进行窃听的实质性风险,从而产生了危及客户的保密数据的安全的风险。因此,本领域中存在对在计算效用或其它不可靠分布式计算环境中执行的计算加以保护的重大需要。
技术实现思路
本专利技术通过提供一种装置、程序产品和方法来解决与现有技术相关的这些和其它问题,其中在不可靠计算机上启动其它计算单元的运行的同时,启动扰乱计算单元的运行,以防止不可靠方对计算的重建。具体地说,在将特定计算分解为多个计算单元的同时,生成一个或多个扰乱计算单元,并将其提供给一个或多个资源提供者,以便与被分解的计算的那些计算单元一起运行。可以相信,扰乱计算单元随同作为分解所关注的计算的结果而生成的一个或多个计算单元的存在,可以使得从提供给不可靠计算机的计算单元对计算或其总的结果的检测和重建显著地复杂化。根据本专利技术的各个实施例可以以多种不同方式来实现扰乱计算单元。例如,可将扰乱计算单元实现为不用来生成结果数据的伪计算单元。作为另一个例子,可将扰乱计算单元实现为来自另一个被分解的计算的计算单元。当附加地与来自对多个不同的计算机的给定分解的其它计算单元的可选运行组合时,显著地减小了不可靠方重建计算的能力。然而,应当理解,上面讨论的特定例子实际上仅是说明性的,并且本专利技术不限于这些特定的例子。所附权利要求中阐述了表现本专利技术特征的这些和其它优点和特征。然而,为了更好地理解本专利技术和通过使用本专利技术而实现的优点和目的,应当参考附图和所附描述内容,其中描述了本专利技术的示例实施例。附图说明图1为适用于实现根据本专利技术的扰乱分布式计算的计算效用环境的方框图。图2为在图1的计算效用环境的示例实现中的软件层的方框图。图3为图1的计算效用环境的示例硬件和软件实现的方框图。图4为图示由图3中提到的代理(broker)计算机运行的实现根据本专利技术的扰乱分布式计算的示例处理计算例程的流程图。图5为图示由图3中提到的代理计算机运行的实现根据本专利技术的扰乱分布式计算的另一个示例处理计算例程的流程图。具体实施例方式下文中讨论的实施例利用扰乱计算单元来防止对至少部分由不可靠计算机运行的被分解的计算的重建。例如,不可靠计算机可被耦接到计算效用环境,如计算网格,由此利用网格服务、网络服务、以及其它分布式计算功能来允许使用计算资源来为客户执行计算。在这点上,计算机在以下意义上是不可靠的,即客户或计算的所有者不能确保可以访问该不可靠计算机或者向或从这样的计算机进行通信的一方将不能够“窃听”或以其它方式监视保密计算和/或数据业务。根据本专利技术,将计算分解或划分为多个计算单元,然后以使任何不可靠计算提供者不能够有效地重新组合计算单元以重建原始计算的方式,将所述多个计算单元分发给一个或多个计算提供者。然后将结果重新组合,以便通常在没有被未授权方窃听的危险的环境中产生最终结果。为防止对计算的重建或重新组合,将扰乱计算单元连同来自被分解的计算的计算单元一起分发给不可靠计算机。在此上下文中,扰乱计算单元为使不可靠计算机确定传递到不可靠计算机的那些计算单元中的哪些计算单元属于相同的被分解的计算的能力被扰乱或以其它方式复杂化的计算单元。例如,可将扰乱计算单元实现为伪计算单元,换句话说,不用来生成结果数据,但所述伪计算单元对不可靠计算机呈现为计算的成员。作为另一个例子,可将扰乱计算单元实现为来自另一个被分解的计算的计算单元,所述另一个被分解的计算甚至可以是同一计算的复制,以便将来自多个计算的单元以难以或不可能确定那些计算单元的成员资格的方式,发到不可靠计算机。还应当理解,可以通过将一些计算单元分发给在与特定的不可靠方不相关本文档来自技高网
...

【技术保护点】
一种启动计算在至少一个不可靠计算机上的执行的方法,该方法包括:    将该计算分解为多个计算单元,所述多个计算单元可组合而生成该计算的结果;    生成至少一个扰乱计算单元;    在不可靠计算机上启动至少一个扰乱计算单元和所述多个计算单元中的至少一个计算单元的运行,以防止不可靠方重建该计算。

【技术特征摘要】
US 2004-1-20 10/760,5921.一种启动计算在至少一个不可靠计算机上的执行的方法,该方法包括将该计算分解为多个计算单元,所述多个计算单元可组合而生成该计算的结果;生成至少一个扰乱计算单元;在不可靠计算机上启动至少一个扰乱计算单元和所述多个计算单元中的至少一个计算单元的运行,以防止不可靠方重建该计算。2.如权利要求1所述的方法,其中,扰乱计算单元包括通过分解第二计算而生成的计算单元。3.如权利要求2所述的方法,其中,启动至少一个扰乱计算单元和所述多个计算单元中的至少一个计算单元的运行的步骤包括使多个计算单元中的至少一个扰乱计算单元与所述多个计算单元交错。4.如权利要求2所述的方法,其中,使用与用于分解第二计算的算法不同的算法来分解该计算。5.如权利要求1所述的方法,其中,扰乱计算单元包括伪计算单元。6.如权利要求1所述的方法,其中,扰乱计算单元包括通过对该计算的第二分解生成的计算单元。7.如权利要求1所述的方法,还包括在第二计算机上启动所述多个计算单元中的至少一个计算单元的运行。8.如权利要求1所述的方法,还包括在不可靠计算机上启动全部所述多个计算单元的运行。9.如权利要求1所述的方法,其中,将该计算分解为多个计算单元包括使用中国剩余定理(CRT)来进行分解。10.如权利要求9所述的方法,其中,该计算包括多个变量,并且其中,将该计算分解为多个计算单元包括选择多个互质的模数;以及通过使用所述多个互质的模数中的一个来对所述多个变量中的每一个执行模运算,而生成每一个计算单元。11.如权利要求10所述的方法,其中,选择多个互质的模数包括从互质模数超集中选择每一个模数,该方法还包括使用从互质模数超集中选择的不同的模数集,来将多个计算分解为多个计算单元;以及在不可靠计算机上启动来自所述多个计算的计算单元的运行。12.如权利要求1所述的方法,还包括接收在所述多个计算单元中的每一个的运行期间生成的结果数据;以及从该结果数据生成该计算的结果。13.如权利要求1所述的方法,其中,不可靠计算机被耦接到网格计算网络。14.如权利要求13所述的方法,其中,由耦接到网格计算网络的客户端计算机来执行对该计算的分解。15.如权利要求13所述的方法,其中,由耦接到网格计算网络的代理计算机来执行对该计算的分解,该方法还包括从客户端计算机接收该计算。16.如权利要求1所述的方法,其中,由耦接到不可靠计算机的至少一个计算机来执行对该计算的分解、扰乱计算单元的生成、以及不可靠计算机上扰乱计算单元和所述多个计算单元中的一个计算单元的运行的启动,该方法还包括将扰乱计算单元和所述多个计算单元中的一个计算单元传递到不可靠计算机。17.一种装置,包括至少一个处理器;以及程序代码,配置为用来由至少一个处理器运行,以通过将计算分解为可组合而生成该计算的结果的多个计算单元,生成至少一个扰乱计算单元,并且在不可靠计算机上启动至少一个扰乱计算单元和所述多个计算单元...

【专利技术属性】
技术研发人员:斯科特N杰勒德
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1