首页> 中国专利> 网格计算环境内的优化的并行数据下载

网格计算环境内的优化的并行数据下载

摘要

在具有与客户端计算机和下载管理系统进行网络通信的多个下载服务器的网格计算机系统中,客户端从下载管理系统中请求下载计划,以便将数据并行地从多个下载服务器下载到客户端。客户端从由下载计划标识的下载服务器请求数据块。客户端监视正在下载数据块的下载服务器的性能,并在下载服务器之间重新分配数据块的某些部分,以便改进完成数据块的下载的性能。下载数据块是多个文件、一个文件或数据文件的一部分中的任何一种。

著录项

  • 公开/公告号CN1939036A

    专利类型发明专利

  • 公开/公告日2007-03-28

    原文格式PDF

  • 申请/专利权人 国际商业机器公司;

    申请/专利号CN200580009702.5

  • 申请日2005-06-07

  • 分类号H04L29/08(20060101);H04L29/06(20060101);

  • 代理机构中国国际贸易促进委员会专利商标事务所;

  • 代理人付建军

  • 地址 美国纽约

  • 入库时间 2023-12-17 18:25:15

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-05-17

    未缴年费专利权终止 IPC(主分类):H04L29/08 专利号:ZL2005800097025 申请日:20050607 授权公告日:20110831

    专利权的终止

  • 2011-08-31

    授权

    授权

  • 2007-05-23

    实质审查的生效

    实质审查的生效

  • 2007-03-28

    公开

    公开

说明书

技术领域

本发明涉及计算机数据处理。特别涉及在网格计算环境中下载数据。

背景技术

网格计算是用于创建单个系统映像的诸如处理能力、网络带宽和存储容量之类的分布式计算资源的虚拟化,给用户和应用程序提供了对巨大的IT能力的无缝的访问。有关网格计算的更多信息的来源可以在由Foster、Kesselman、Nick和Tuecke所著的发布在万维网上的“The Physiology of the Grid-an open grid services architecture fordistributed systems integration”一文中找到,网址是“www.globus.org/research/papers/ogsa.pdf”,在此引用了该文作为参考。

Llevist和Bengsson(Chalmers University of Technology)所著的论文“Grid Computing Distribution Using Network Processors”讨论了网格计算。该论文专门讲述了一种新的计算模型,该模型向网络节点(网格)分发代码和数据,网络的路由器将基于由路由器所收集的知识来确定应该选择哪些节点来执行代码。

在专利“Mulli-Server File Download”-美国6,339,785 B1(Feigenbaum)中,当从一个服务器的下载速度低于预定义的预期的速率时,Feigenbaum删除该服务器。当某一个服务器完成它的那部分数据块时,如果不需要(如果所有其他服务器都大于预定义的预期的速率),Feigenbaum就不再使用它。更重要的是,在Feigenbaum的专利中,有些情况下,有两台服务器达到10k/s。那么,以两个相同的数据块开始下载。第一服务器达10k/s,因此它符合预期的速度。第二服务器达1000k/s(因为网络是动态的),并立刻完成其数据块的下载。Feigenbaum将保持第一数据块10k/s的下载速度,直到完成...(“万一服务器的性能低于预先定义的级别,链接就中断”)。没有办法向速率为1000k/s的服务器重新分配10k/s的数据块,对此我们将继续讨论。

在格型网络中需要智能地从服务器中下载数据。

发明内容

本发明提供了如权利要求1和14所述的方法以及对应的计算机程序和系统。

网格计算是用于创建单个系统映像的诸如处理能力、网络带宽和存储容量之类的分布式计算资源的虚拟化,给用户和应用程序提供了对巨大的IT能力的无缝的访问。在此发明中,我们描述了网格计算环境内的下载服务。

不是使用传统的客户端/服务器或对等模式,本发明使用服务提供商、消费者和代理的模式。代理负责提供服务的路线图、保护应用程序的安全和维护记录。消费者可以联络服务提供商,只有在从代理获得了必需的授权和凭据之后才可以从它们接收服务。此外,代理可以指示消费者同时从多个服务提供商接收服务。在下载网格的上下文中,代理是作为管理服务来实现的,服务生产商是作为下载服务器来实现的,消费者是作为客户端代理来实现的。代理代表最终用户启动和处理文件下载。此模式可以应用于各种网格应用。

本发明提供高吞吐量的下载服务,同时有效地管理网络资源和控制对分布式资产的访问。

优选情况下,本发明提供了多个并行的数据流,以支持基于优化的计划的从多个服务器进行的并行数据传送(下载)。优选情况下,优化是基于下列各项进行的:1)服务请求节点(或客户端)的网络访问点;2)服务器的拓扑,3)请求服务时的网络流量;以及4)客户端的服务级别合同。

优选情况下,本发明使用X.509代理来封装凭据和优化的计划两者。

优选情况下,知道对于客户端的最大允许的带宽;计算为客户端提供服务的服务器的初始数量。服务器的数量是可调整的,以达到复制过程的最大性能。

优选情况下,在对于客户端的最大允许的带宽预先是不知道的情况下,服务器的初始数量将从一个开始,系统将进行调整以找出达到最大复制速度的服务器的数量。

优选情况下,本发明提供了复制过程的反馈,以使优化计划的质量得到改善。

优选情况下,本发明使用反馈系统和网格计算基础架构,来从网格中去激活服务,并按需重新激活。

优选情况下,对于给定数据(或文件),本发明基于服务请求访问点的分布,优化服务器在网络拓扑上的分布,以减少广泛范围内的流量或优化其他标准。

附图说明

在本说明书结尾处在权利要求书中特别指出并明确声明了被视为本发明的主题。通过下面的结合附图对本发明进行的详细说明,可以更好地理解本发明的前述和其他目的、特征和优点,其中:

图1是计算机系统的组件的描述;

图2是采用现有技术的客户端/服务器网络的描述;

图3是采用现有技术的格型网络的描述;

图4是高级别下载网格体系结构示例的图;

图5是示例控制并行下载会话的数量的进程的流程图;

图6A是示例下载重新调整的过程的流程图;

图6B是示例数据块重新分配过程的图形描述;

图7是根据本发明向网格下载系统提供内容的流程图;

图8是根据本发明向网格下载系统下载内容的流程图;以及

图9是根据本发明的启动网格下载的流程图。

详细的描述通过参考附图说明了本发明的优选实施例,以及优点和特征。

具体实施方式

优选情况下,本发明提供了网格计算环境内的下载服务。不是使用传统的客户端/服务器或对等模式。优选实施例使用服务提供商、消费者和代理的模式。代理负责提供服务的路线图、保护应用程序的安全和维护记录。消费者可以联络服务提供商,并且只有在从代理获得了必需的授权和凭据之后才从它们接收服务。此外,代理可以指示消费者同时从多个服务提供商接收服务。在下载网格的上下文中,代理是作为管理服务来实现的,服务生产商是作为下载服务器来实现的,消费者是作为客户端代理来实现的。代理代表最终用户启动和处理文件下载。此模式可以应用于各种网格应用。

下载网格必须是可缩放的、可靠的、安全、适应性强的并且有效的:

可缩放性:本发明应该利用任何属于网格的资源集合。下载网格使用下载服务器的动态集合。因此,本发明是可缩放的。

可靠性:下载网格不是依赖单个服务器,而是具有许多服务器。单个服务器的故障将不会中止下载服务。因此,本发明是可靠的。

安全性:本发明使用私钥基础架构(PKI)和X.509证书作为安全性基础架构。因此,它是安全的。

适应性:下载网格可以动态地分配一个文件要从多个服务器同时下载的那些部分。本发明具有适应性,因为分配是基于每一特定服务器的被感觉到的性能而进行的。

效率:管理服务控制对于特定下载,可以使用资源的哪一个子集。它进行此选择的目的是最小化网络资源的总的占用率(带宽占用率)。因此,本发明是有效率的。

优选情况下,本发明提供高吞吐量的下载服务,同时有效地管理网络资源和控制对分布式资产的访问。

图1显示了其中可以应用本发明的典型的工作站或服务器硬件系统。图1的系统100包括诸如个人计算机,工作站或服务器之类的包括可选外围设备的典型的计算机系统101。工作站101包括一个或多个处理器106,用于根据已知技术连接处理器106和系统101的其他组件并在它们之间进行通信的总线。该总线将处理器106连接到存储器105和可以例如包括硬盘驱动器、软盘驱动器或磁带驱动器等等的长期存储器107。系统101还可以包括通过总线将微处理器106连接到一个或多个接口设备(如键盘104、鼠标103、打印机/扫描仪110和/或其他接口设备)的用户界面适配器,该适配器可以是任何用户界面设备,如触敏屏幕、数字化输入垫等等。总线还可以通过显示适配器将诸如LCD屏幕或监视器之类的显示设备102连接到微处理器106。

系统101可以通过能够与网络109进行通信的网络适配器来与其他计算机或计算机网络进行通信。通信信道、令牌环、以太网或调制解调器是网络适配器的示例。或者,工作站101可以使用诸如CDPD(蜂窝数字数据包数据)卡之类的无线接口来进行通信。工作站101可以与局域网(LAN)或广域网(WAN)中的这样的其他计算机关联,或者,工作站101也可以是具有另一个计算机的客户端/服务器布局中的客户端,等等。所有这些配置,以及相应的通信硬件和软件,都是现有技术中已知的。

图2显示可以应用本发明的数据处理网络200。数据处理网络200可以包括多个单个网络,如无线网络和有线网络,其中每一个网络都包括多个单个工作站101。另外,如本领域普通技术人员所理解的,可以包括一个或多个LAN,其中,LAN可以包括多个连接到主机处理器的智能工作站。

仍请参看图2,网络还可以包括大型计算机或服务器,如网关计算机(客户端服务器206)或应用服务器(可以访问数据知识库的远程服务器208)。网关计算机206充当到每一个网络207的入口点。当将一个网络协议连接到另一个网络协议时,需要网关。优选情况下,网关206可以通过通信链路连接到另一个网络(例如,因特网207)。网关206还可以使用通信链路直接连接到一个或多个工作站101。可以利用IBM推出的IBM eServer、zServer 900 Server来实现网关计算机。

实现本发明的软件编程代码通常被系统101的处理器106从诸如CD-ROM驱动器或硬盘驱动器之类的长期存储介质107进行访问。软件编程代码可以包含在诸如磁盘、硬盘驱动器或CD-ROM之类的供数据处理系统使用的各种已知介质中的任何一种介质中。代码可以在这样的介质上分发,也可以从一个计算机系统的存储器通过网络分发给其他计算机系统的用户,供这样的其他系统的用户使用。

或者,编程代码111也可以包含在存储器105中,并由处理器106使用处理器总线进行访问。这样的编程代码包括控制不同的计算机组件和一个或多个应用程序的功能和交互的操作系统。程序代码通常从密的存储介质107被分页到提供给处理器106进行处理的高速存储器105。用于将软件编程代码放到存储器中、物理介质上和/或通过网络分发软件代码的技术和方法已为大家所熟知,这里就不再进行讨论。

在优选实施例中,本发明是作为一个或多个计算机软件程序111来实现的。本发明的软件的实现可以在用户的工作站上操作,作为应请求被调用的一个或多个模块或应用程序111(在面向对象的编程中也被称为代码子例程,或“对象”)。或者,软件可以在网络中的服务器上,或在能够执行实现本发明的程序代码的任何设备中操作。实现本发明的逻辑可以集成在应用程序的代码内,也可以作为被该应用程序调用的一个或多个单独的实用程序模块来实现,而不会偏离这里所说明的发明构思。应用程序111可以在Web环境中执行,其中,Web服务器响应通过因特网连接的客户端的请求来提供服务。在另一个实施例中,应用程序可以在公司的企业内部互联网或企业外部互联网中,或在任何其他网络环境中执行。该环境的配置包括客户端/服务器网络、对等网络(其中客户端通过执行客户端和服务器两种功能直接进行交互)以及多层环境。这些环境和配置在现有技术中已为大家所熟知。

图3表示通过网络结构313进行通信的服务器301-312的采用现有技术的网格结构的高级表示法。服务器309通过局域网与服务器310和311连接在一起。服务器308提供网格代理服务。TheGrid Broker is discussed in″在“Grid Service Broker A GridScheduler for Computational and Data Grids”(www.gridbus.org/broker)和“A Grid service for SchedulingDistributed Data-Oriented Appellations on local Grids”(www.gridbus.org/papers/g.PDF)中讨论了网格代理。

图4描述了下载网格系统的高级别的体系结构。优选情况下,管理服务402包含四个模块和知识库数据库406。网格系统中有许多由408和409表示的服务器,它们在管理服务中心402进行了注册。此外,允许下载的所有文件都要在管理中心进行注册。四个模块的功能是:

优化器405-确定优化的下载计划(包括服务器的优化列表)并将它提供给客户端;

注册系统407-提供服务器和文件的注册表;

反馈系统403-从客户端401收集有关服务器状态和性能的反馈;以及

统计信息系统404-对来自反馈系统的应用程序使用状况信息进行分析并提供报告。

图5显示了客户端用来确定它将用来从多个下载服务器中并行地下载数据块的会话数量的优选过程。客户端首先启动与优化列表中的某一个服务器的会话501。它将连续地监视来自相应的服务器的数据块的每一部分的下载速率。每隔LOOP_TIMOUT秒,它都将分析监视的速率。

在第一LOOP_TIMEOUT时段502结束时,如果没有满足QoS(服务质量)要求,则它将启动与列表中的某一个未使用的服务器的第二会话503。

在随后的迭代中,将按如下方式进行:

如果利用当前会话数量实现的最大下载速率(max_download_rate)优于预先定义的阈值(THRESHOLD_{N}),如果(N=2505或N=3506),则它将试图与另一个服务器开始第(N+1)个会话。

否则,如果N>3,则它将检查从最后一次添加获得的相对和绝对增益,并相应地进行操作。如果(507):

MAX_RATE(N servers)0 MAX_RATE(N-1 servers)>THRESHOLD_INC

(MAX_RATE(N servers)0 MAX_RATE(N-1 servers))/MAX_RATE(N-1 servers)>INC_FACTOR

其中,MAX_RATE(N servers)是利用N个会话实现的最大下载速率,MAX_RATE(N-1 servers)是利用N-1个服务器实现的最大速率;THRESHOLD_INC和INC_FACTOR分别是预先定义的绝对阈值和相对阈值。

它将与另一个服务器开始第(N+1)个会话509。

初始THRESHOLD_N限制是为避免太多用低下载速率建立的会话而进行的调整。在示例实施例中,各种参数的值如下:

THRESHOLD_2=40k字节/秒

THRESHOLD_3=75k字节/秒

INC_FACTOR=20%

THRESHOLD_INC=30k字节/秒

LOOP_TIMEOUT=0.150秒

此方案可以有许多变体。例如,将一个包括两个文件的包从服务器下载到客户端,每一个服务器都具有这两个文件。从第一组服务器开始下载一个文件的某些部分,从第二组开始下载第二个文件的某些部分。当第一组的一个服务器下载完它的那一部分时,客户端可以选择开始下载该服务器上一个文件或第二文件的一部分。

作为另一个示例,不是在每一个步骤中随机选择服务器,可以按照管理服务指定的顺序来选择它们。同样,不是从单个服务器开始,而可以从多个服务器开始。类似地,不是以不同的方式对待N=2以及N=3的情况,而是可以以不同的方式对待较多或较少的N。另一个变体将是使INC_FACTOR取决于N本身。这些是这些方案的可能的变化的示例,而不代表穷尽式列举。在本发明的范围内可以使用现有技术中已知的其他变体。

图6A详细描述了在下载过程中发生的调整。当启动新下载时,数据块被分配到不同的服务器。数据块是被分配要从特定服务器下载的文件的某一部分或全部。在下载请求是针对由多个文件构成的一个组的情况下,数据块可以对应于该组中的所有文件。每一数据块的大小都取决于优化计划中列出的属性服务器速度。由于网络是动态的,因此,某些数据块会比预期的完成得更早。图6A描述了数据块重新分配算法。

当服务器X完成其数据块601时,客户端将检查每一个活动的下载,并基于数据块的剩余大小以及它的当前下载速率,计算每一个数据块的预期剩余时间。然后,它从服务器Y选择潜在地需要最长的时间才能完成的数据块(602)。在图6B中,选定数据块被表示为653。如果选定数据块653的大小小于预先指定的阈值(603),则将不采取进一步的操作。否则(604),它将确定服务器X和服务器Y的实现的下载速率。它将通过考虑了服务器X和服务器Y的实际速度及其他参数的调节因数划分(步骤605)数据块的剩余大小,以便从服务器X和服务器Y两者的下载同时完成。在图6B中,对应的数据块通过654和655来表示。换句话说,服务器X将与服务器Y完成数据块654(end_y)同时完成新数据块655(begin_x-end_x)。然后,它将(606)从服务器X开始下载数据块655,而服务器Y完成数据块的下载直到657。

在确定数据块的相对大小时,也考虑速率之外的参数。这些参数可以包括诸如会话建立时间,以及剩余数据块大小之类的因素。优选情况下,算法将在重新分配太小数据块没有意义的情况下避免重新分配太小的数据块。

此算法有许多变体。这只是为了说明本发明的示例实现方式。

在优选实施例中(图7),文件提供商利用适当的凭据701与管理服务进行联络,文件提供商利用某些属性704特征化702下载数据的数据块,文件提供商将某些属性704发送703到管理系统,并将数据块上传705到下载网格上的单个服务器。属性704包括优先级、所希望的文件的地理邻近程度或对客户端的授予下载文件的权限的限制中的任何一个。文件提供商生成解密密钥,对文件进行加密,并安全地向管理服务发送解密密钥。

管理服务从内容提供商接受下载数据(图9)901,将下载数据分发706到基础架构中,基础架构包括多个。下载服务器。当管理服务从客户端接收到对于将下载数据下载到客户端的下载计划的请求902时(该请求指定QoS要求,QoS要求包括指定下载速率或所希望的下载完成时间),它创建903下载计划,所述下载计划包括具有下载数据的两个或更多下载服务器的列表,并进一步包括两个或更多下载服务器的性能信息,然后,将下载计划发送904到客户端。下载计划包括部署在网格基础架构中的多个下载服务器的优化列表。

客户端从应用程序接收(图8)801对下载数据的请求。然后,它从管理服务请求802下载计划,然后联络下载计划中指定的下载服务器,然后开始803从联络的两个或更多下载服务器中的每一个下载服务器下载所述下载数据的下载数据块。客户端监视805 806下载服务器的下载性能,基于两个或更多下载服务器的下载性能,调整804正在被下载的下载数据块的数量。然后,它将两个或更多下载服务器的下载性能报告807到管理服务。

当客户端完成下载808时,管理服务从客户端接收服务器的新下载性能信息907。它基于新的下载性能信息,更新906下载服务器的性能信息。

管理服务动态地执行下列活动,如,选择用于接收上传文件的单个服务器,激活两个或更多下载服务器中的一个服务器,使两个或更多下载服务器中的一个服务器无效或更新两个或更多下载服务器中的一个服务器。

管理服务基于下列事项创建下载计划:客户端的位置、下载服务器的状态和使用状况信息、QoS要求、选定的下载服务器与客户端的网络邻近程度、选定的下载服务器与客户端的地理邻近程度、服务器的网络的出站带宽、服务器支持的数据块下载的当前数量或允许的最大并行数据块下载(其中,客户端代理的位置是基于任何一个客户端代理的网络地址或通过由客户端代理所提供的信息自动地确定的)。

优选情况下,开始下载包括下列步骤:

a.开始从联络的两个或更多下载服务器中的第一服务器下载“下载数据”的下载数据块的第一部分;

b.保存下载数据块部分的下载性能的指示;

c.开始从联络的两个或更多下载服务器中的新服务器下载“下载数据”的下载数据块的新的部分;

d.监视下载数据块部分的下载性能;

e.如果被监视的下载性能大于保存的下载性能的指示,而下载性能小于预先确定的最大性能,联络的两个或更多下载服务器中的全部都还没有开始,则重复步骤b到e。

客户端监视来自开始的下载服务器中的每一个服务器的下载数据的下载数据块部分的下载性能,并将第一服务器的数据块部分的子部分重新分配到第二服务器,其中,重新分配的子部分的大小是下列几种情况中的任何一种:与开始的两个或更多下载服务器的已实现的下载性能成比例、与留待第一服务器下载的那部分数据块成比例或基本上为留待第一服务器下载的那部分数据块部分的一半。在下载结束时,客户端检查文件的完整性,并将完整性检查的指示发送到管理服务。

客户端记录从每一个服务器下载的数据块的大小、每一个服务器的下载性能或不对请求作出响应的服务器的身份的信息,并将记录的信息发送到管理服务。优选情况下,数据块具有关联的访问控制列表,只有访问控制列表上指定的最终用户才可以下载文件。数据块以加密形式存储和分发。由客户端代理使用它从管理服务安全地获取的密钥来对文件进行最后的解密。

优选情况下,当前下载网格系统是使用Web服务实现的。下载操作是利用客户端和服务器之间的专有协议实现的。管理服务是使用SUN MICROSYSTEMS公司的JAVA实现的。知识库是关系数据库。

优选情况下,下载网格服务器是以Java实现的。服务器使用标准TCP/IP协议,并具有动态地调整文件传输速率的算法。

优选情况下,客户端是作为独立Java应用程序以及基于Web浏览器的Java小程序实现的。

优选情况下,安全机制使用Globus2.2网格安全性基础架构(GSI)实现方式来控制访问。在“Grid Security Infrastructure”(www-unix.globusorg/security)和在“Overview of the Grid SecurityInfrastructure”(www-unix.globusorg/security/overviewhtml)中描述了GSI。管理服务具有由现有的网格的证书颁发中心(CA)颁发的证书,如“GSI Key Concepts”中所讨论的,网址是:

www-unix.globus.org/toolkit/docs/3.2/gsi/key/index.html。

每个下载服务器和客户端都信任此证书。X.509代理被用来委派管理服务的权限,以允许客户端身份验证和直接从下载服务器中进行下载。在ITU-T Recommendation X.509 version 3(1997)(ITU-T建议X.509版本3)″Information Technology-Open SystemsInterconnection-The Directory Authentication Framework″ISO/IEC 9594-8:1997中描述了X.509。

在优选实施例中,基于客户端和候选下载服务器之间的地理距离来计算优化计划的确定。客户端的IP地址和服务器的IP地址,连同将IP地址映射到地理位置的表,被用作此确定过程的基础。优化计划以XML格式被封装在X.509代理证书的内部。

本发明的功能可以以软件、固件、硬件或其某些组合来实现。

作为一个示例,本发明的一个或多个方面可以包括在具有计算机可使用的介质的产品中(例如,一个或多个计算机程序产品)。介质中包含了例如用于提供和促进本发明的功能的计算机可读取的程序代码装置。产品可以作为计算机系统的一部分包括在计算机系统中,也可以单独地销售。

另外,可以提供至少一个由机器可读取的程序存储设备,其中有形地包含了由机器可执行的至少一个指令程序以执行本发明的功能。

这里所描述的流程图只是示例。在不偏离本发明的精神的情况下,对这里所描述的这些图表或步骤(或操作)可以有许多更改。例如,可以以不同顺序执行各个步骤,也可以添加、删除或修改步骤。所有这些变化被视为要求保护的发明的一部分。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号