首页> 中国专利> 用于以非破坏性方式应用破坏性固件更新的系统和方法

用于以非破坏性方式应用破坏性固件更新的系统和方法

摘要

一种用于以非破坏性方式应用破坏性固件更新的系统、方法和计算机可用介质。根据本发明的优选实施例,在多处理器数据处理系统的操作期间,服务处理器更新在多处理器数据处理系统中的固件从第一固件设置到第二固件设置。服务处理器通过如下步骤向多服务器数据处理系统中的硬件重复应用第二固件设置:当第二固件设置包括至少一个定向于第一硬件设备的破坏性操作时重新分配第一硬件设备,在第一硬件设备上进行破坏性操作,以及当完成破坏性操作时将第一硬件设备重新分配入多处理器数据处理系统。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2012-05-30

    授权

    授权

  • 2008-04-30

    实质审查的生效

    实质审查的生效

  • 2008-03-05

    公开

    公开

说明书

技术领域

本发明通常涉及数据处理系统领域,特别是涉及更新数据处理系统领域。更具体地说本发明涉及用于应用破坏性固件更新的系统和方法。

背景技术

目前,被用作网页服务器的许多数据处理系统是多处理器数据处理系统(MP)。这些MP包括被用于进行作为整体而影响MP的许多任务的“服务处理器”,诸如例如,监控MP的温度以便可以在适当的时候接通和断开排气扇。该服务处理器还可以监控在MP内由可能在该系统上执行的一些不同的主机操作系统共享的其他资源。

在系统启动(boot)处理期间,在MP硬件内出现了状态的软件控制转变(transition)。在每个状态期间,MP硬件可以执行固件中指示的初始化过程(procedure)以在启动处理的结束时达到所期望的配置。正如在现有技术中所知的,如下结合图1所讨论的,有时存在对服务处理器进行固件更新以获得新的MP配置的需求。这些固件更新可能频繁地发生,如果固件更新包括“破坏性操作”则影响MP的产率。破坏性操作是当在MP硬件上执行时,使得该硬件脱机(重启)的操作。如果该更新不包括破坏性操作,则能够应用该更新,并立即在运行中的系统中的硬件上操作该更新。如果更新包括破坏性操作,则MP必须被重启以执行固件更新。

参考图1,图1示出了描述根据现有技术的在MP上的固件更新的高级逻辑流程图。该处理开始于步骤100并继续到步骤102,其示出了MP开始启动处理。处理继续进行到步骤104,其描述了执行第一固件设置的MP中的服务处理器。该固件设置以第一方式在MP内的硬件上操作。例如,第一固件设置可以设置第一组温度阈值来确定何时激活和重新分配排气扇。处理继续到步骤108,其示出了MP完成启动处理。如步骤109所示,MP内的服务处理器被更新到第二固件设置,其以不同方式的第二方式在MP硬件上操作。处理继续到步骤110,其示出了MP在固件更新之后重启。处理继续进行到步骤112,其描述在重启后以第二方式操作在MP硬件上的第二固件设置。例如,第二固件设置可以设置第二组温度阈值以确定何时激活和重新分配排气扇。如步骤114所示,MP完成重启,如步骤116所示,处理结束。

无论在时间损失还是减少的产率中,重启整个MP以完成固件更新是消耗巨大的。因此,存在用于以非破坏性方式应用破坏性固件更新的系统和方法以解决现有技术的局限的需要。

发明内容

本发明包括用于以非破坏性方式应用破坏性固件更新的系统、方法和计算机可用介质。根据本发明的优选实施例,在多处理器数据处理系统的操作期间,服务处理器更新在多处理器数据处理系统中的固件从第一固件设置到第二固件设置。服务处理器通过如下步骤向多服务器数据处理系统中的硬件重复应用第二固件设置:当第二固件设置包括至少一个定向于第一硬件设备的破坏性操作时重新分配第一硬件设备,在第一硬件设备上进行破坏性操作,以及当完成破坏性操作时将第一硬件设备再分配入多处理器数据处理系统。

本发明的以上内容、以及附加目的、特征和优点将在以下具体论述的描述中变得显而易见。

附图说明

在所附权利要求中阐述了本发明的所信赖的新颖性特征。但是,当结合附图来阅读时,将通过参考以下图示实施例的具体描述来最佳理解本发明本身以及使用的优选模式,及其目的和优点,其中:

图1是示出了固件现有技术的多处理器数据处理系统(MP)中的固件更新的处理的高级逻辑流程图;

图2是根据本发明的一个实施例的被设计具有被用于提供各种热插特性的构造(fabric)控制逻辑电路的MP(服务器)的方框图;

图3A-B是根据本发明的一个实施例的包括被配置用于热插的图2的两个服务器的MP的方框图;

图4是根据本发明的一个实施例的使能所有主要组件的热插扩展的MP的方框图;

图5是图示根据本发明的优选实施例的在MP中服务部件和处理器集之间的关系的方框图;

图6是图示根据本发明的优选实施例的用于以非破坏性方式对MP应用破坏性固件更新的示范方法的高级逻辑流程图;

图7A-B示出了被用于配置能够执行图6所示和所描述的步骤的步骤的流程图;以及

图8A-B示出了被用于使用按需服务提供商来执行图6所示和所描述的步骤的步骤的流程图。

具体实施方式

如在此将更详细地讨论的,本发明包括用于以非破坏性方式应用破坏性固件更新的系统和方法。当多处理器数据处理系统(MP)更新第一组固件到第二组固件时,服务处理器反复地应用第二组固件到MP内的硬件。服务处理器确定第二组固件是否包括至少一个破坏性操作。如果该第二组固件包括定向(targeted)为第一硬件设备的至少一个破坏性操作,则服务处理器经由热拔(hot-removal)过程来重新分配第一硬件设备。服务处理器在第一硬件设备上进行破坏性操作,且当完成该破坏性操作时,服务处理器经由热插(hot-plug)过程将第一硬件设备重新分配给MP。

现在转到图2,存在被设计具有使能实施本发明的热拔特性的构造(fabric)208和其他组件。MP 200包括处理器201和处理器202。MP 200还包括存储器204和输入/输出(I/O)控制器/设备206。包括热插/热拔连接器220的各种组件经由互连构造208来互连。如下面将进一步详细描述的,经由互连构造208的热插/热拔连接器220来(直接或间接)完成新的热插/热拔硬件组件的添加。

互连构造208包括接线和用于在组件之间路由通信以及控制MP 200对硬件配置中的改变的响应的控制逻辑电路。逻辑控制电路包括路由逻辑电路207和配置设置逻辑电路209。具体地,如插入在MP200左侧的图所示,配置设置逻辑电路209包括第一和第二配置设置、配置A214和配置B216。配置A214和配置B216被耦合到由锁存器217控制的模式设置寄存器218。以下将更详细地描述在配置设置逻辑电路209内的组件的实际操作。

除了上述组件以外,MP 200还包括服务部件(SE)212。SE212是包括(与操作系统(OS)分离的)被用于维护MP的组件和完成对于大规模系统的接口操作的专用的编码软件逻辑电路的小的微型控制器。因而SE212运行控制MP 200所需的代码。SE212通知OS有关在MP内附加的处理器资源(即处理器数量的增加/减少)以及其他MP资源(即,存储器和I/O等等)的添加/移除。

图3示出了与经由各自的热插/热拔连接器220而被耦合在一起以创建更大的对称MP(SMP)系统的图2的MP200的类似的两个MP。MP200被标记为部件0和部件1,且如此是为了描述目的而被标记。部件1可以经由接线、连接器管脚或被设计用于耦合分离的MP200的热插/热拔连接器220的电缆连接来被耦合于部件0。在本发明的一个实施例中,每个MP可以逐个(literally)被插入使得客户的SMP的扩展能够适应附加的MP的后台处理器扩展架。

通过示例,部件0是期望增加他的主要MP的处理容量/资源的客户的主要MP(或服务器)。部件1是通过系统技术人员添加到主要MP中的次要MP。根据本发明的优选实施例,部件1的添加经由在此提供的热插操作而发生,且当部件1被连接时客户从未体验过部件0的停机时间(downtime)。在部件0和部件1被组合以增加MP的处理容量/资源之后,系统技术人员可以为了维修或其他目的而从部件1上分离部件0。可以经由还保证了客户在分离期间遇到最小限度或没有停机时间的热拔过程实现该分离。

如在图3中所述,SMP 300包括由点线指示的分离部件0和部件1的物理分区210。物理分区210使得每个MP200稍微独立于其他而操作,且在某些实现中,物理分区210实质上防护了每个MP200不受其他MP200的操作问题和停机时间的影响。

由图4示出了热插/热拔功能的一个附加的扩展。具体地,图4扩充了上述非破坏性、热插/热拔功能的特性以覆盖附加存储器和I/O通道以及不同的处理器的热插添加。MP 400包括类似于图2的MP 200的主要组件,以及通过也“4”字开头的标号而识别的新组件。除了主要组件(即,经由互连的构造208而被耦合在一起的处理器201和处理器202、存储器404A、和I/O通道406A)以外,MP 400包括在构造208上的几个附加的连接器端口。这些连接器端口包括热插/热拔存储器扩展端口421、热插/热拔扩展端口422和热插/热拔处理器扩展端口423。

每个扩展端口具有对应的配置逻辑电路409A、409B和409C以控制对于它们各自的组件的热插操作。除了存储器404A以外,附加的存储器404B可以被类似于关于MP 300和部件0及部件1所描述的处理那样“插”入构造208的存储器扩展端口421。地址0到N的初始存储器范围现在被扩展到包括地址N+1到M。当添加附加存储器404B时,经由SE2 12所设置的锁存器517A,对于任何大小的存储器的配置模式是可选择的。而且,可以通过热插I/O通道406B、406C向热插/热拔I/O扩展端口422提供附加I/O通道。另外,当添加和/移除附加的I/O通道406B、406C时,经由SE212所设置的锁存器517C,对于I/O通道的大小的配置模式是可选择的。而且,MP 400被耦合于在此结合图7-8更详细地讨论的服务提供者服务器402。

上述配置使得MP能够根据MP 400上的最小处理延迟来减少/增加处理器、存储器和/或I/O通道。具体地,上述配置使能对于存储器和I/O两者的可用地址空间的增加(和减少)。如所示,独立于其他即处理器对存储器或I/O来处理且由分离的逻辑电路来控制每个添入或移除。相应地,本发明将“热插/热拔”的概念扩展到传统地不能按照传统的观念来热插/热拔的设备中。

为了移除在MP 200中的热插的组件(即部件1),技术人员、用户或自动处理(例如SE 212固件更新)选择运行在MP上的软件配置工具(utility)内的移除选项。SE 212通知操作系统处理部件1资源的丢失。相应地,操作系统重新分配从部件1到部件0的任务/工作量,并空出部件1。SE212监视操作系统有关操作系统已经完成了从部件1到部件0的所有处理(和数据存储)的重新分配的指示,且确定是否完成了重新分配。一旦完成了重新分配,操作系统通知SE 212,并且SE 212将可替换的配置设置装载到配置寄存器218中。通过SE 212设置在锁存器217内用于选择该配置设置的值来完成该可替换的配置设置的装载。部件1是逻辑地从MP 200重新分配(热拔)的。为了重新分配(热插)部件1到MP 200中,SE 212通知操作系统关于部件1的引入,且操作系统重新分配并重新平衡所有已连接的部件之间的任务/工作量。SE 212将原始配置设置装载到配置寄存器218中。

如前所讨论的,被存储在SE 212内的固件可以被周期地更新以在MP启动或开机时更改SE 212与MP 400内的组件交互的方式。这些固件更新可以经常发生,并在固件更新包括“破坏性操作”的情况下影响MP产率。破坏性操作是当在数据处理系统硬件上执行时使得硬件脱机的操作。如果更新不包括破坏性操作,则更新可以被应用,且立即在运行的MP中的硬件上实行。如结合图1所述的,如果该更新包括破坏性操作,则现有技术需要整个MP重启。

根据本发明的优选实施例,在固件更新包括至少一个破坏性操作的情况下,那些操作可以以非破坏性的方式被应用到MP 400内的组件。图5是图示根据本发明的优选实施例的在每个MP 400内的服务部件和处理器之间的关系的方框图。

通常,服务部件(SE)212经由服务部件控制协议502与在MP 400中的每个处理器201和202通信。处理器201和202使用处理互连总线控制器504通过互连构造208彼此通信。处理器201还经由存储器总线506与存储器404A通信。

根据本发明,如第一和第二固件设置所示,运行在SE 212上的服务部件操作系统和应用是正被更新的固件。根据本发明的优选实施例,如果当操作系统运行在MP 400上,被存储在SE 212上的固件被更新,且新的固件包括至少一个破坏性操作时,可以在不重启MP 400的情况下应用该破坏性操作。例如,如果破坏性操作定向为处理器201,则服务部件212通过对处理器202重新分配工作量、装载可替换的配置设置到诸如配置寄存器218的配置寄存器中并重新分配(例如热拔)处理器201,来将经由前述热拔处理来重新分配处理器201。服务部件212将保证该处理器202保持运行以处理所重新分配的工作量。一旦完成了破坏性操作,服务部件212将经由前述热插过程来重新分配处理器201。服务部件212将该破坏性操作反复地应用到MP 400中的所有所定向的设备/处理器。如果存在定向为处理器202的破坏性操作,则服务部件212将对处理器201重新分配工作量,热拔处理器202,进行定向为处理器202的破坏性操作,并重分配(例如热插)处理器202到MP 400中,而处理器201在破坏性操作期间处理所重分配的任务。

图6是图示根据本发明的优选实施例的用于以破坏性方式实现破坏性固件更新的示例方法的高级逻辑流程图。最好是该方法被重复应用到整个MP(例如MP 200或MP 400),以便至少一个处理器一直保持活跃。处理开始于步骤600,并进行到步骤602,其示出了MP 400开始MP启动处理。如步骤606所示,在MP 400内的SE 212包括以第一方式实行在MP 400内的设备/处理器上的第一固件设置。处理继续到步骤608,其示出了MP 400完成启动处理。处理继续前进到步骤610,其示出了MP 400内的SE 212更新该第一固件设置到第二固件设置。处理继续到步骤612,其示出了SE 212确定对于第二固件设置的更新是否包括任何破坏性操作。如前述,当破坏性操作被应用于MP 400内的设备/处理器时,那些设备/处理器必须被脱机。如果对第二固件设置的更新中不存在破坏性操作,则处理继续到步骤622,其示出了SE212在MP 400内的所影响的设备/处理器上进行非破坏性操作。然后处理继续前进到步骤620。

但是,如果SE 212确定对第二固件设置的更新中存在破坏性操作,处理继续到步骤614,其示出了经由结合图2-4所讨论的“热拔”过程SE 212重新分配受破坏性操作影响的任何设备/处理器。

如步骤616所示,一旦受影响的设备/处理器从MP 400被重新分配,SE212将重启该设备/处理器并在那些设备/处理器上执行破坏性操作。处理继续到步骤618,其示出了根据结合图2-4的详细描述的“热插”方法SE 212再分配受影响的设备/处理器。

处理继续前进到步骤620,其示出了SE 212确定在固件更新内是否还存在应用于固件B的操作。如果存在将被执行的剩余操作,操作返回步骤612并以重复的式样继续。如果不再存在将被执行的操作,处理继续前进到步骤622,其示出了处理结束。根据本发明的优选实施例,当发生由破坏性操作所定向的设备/处理器的重新分配时,至少一个处理器保持活跃。在先前重新分配由破坏性操作所定向的设备/处理器期间保持活跃的处理器可能稍后被重新分配以应用该固件更新。

而且,本发明的优选实施例考虑应用破坏性操作期间的重新分配的范围。例如,破坏性操作和平台配置的特性可以要求多于一个将被重新分配的处理器。在本发明的另一实施例,SE 212重新分配尽可能少的处理器。当在所重新分配的处理器上执行破坏性操作时,这最小化了对于MP的其余的性能影响。如前所述,在先前重新分配由破坏性操作所定向的设备/处理器期间保持活跃的处理器可能稍后被重新分配以应用该固件更新。如果破坏性操作被定向于特定用途集成电路(ASIC)(例如存储器控制器、L3芯片、动态随机存取存储器(DRAM)等等)而不是处理器,则SE 212还将重新分配与该ASIC关联的处理器。如前所述,重复重新分配、操作和再分配过程被重复直到固件更新已经被应用到整个MP中的所有必需的硬件。

如所述的,本发明包括用于以非破坏性方式应用破坏性固件更新的系统、方法和计算机可用介质。根据本发明的优选实施例,在多处理器数据处理系统的操作期间,服务处理器更新在多处理器数据处理系统中的固件从第一固件设置到第二固件设置。服务处理器通过当第二固件设置包括至少一个定向于第一硬件设备的破坏性操作时重新分配第一硬件设备、在第一硬件设备上进行破坏性操作和当完成该破坏性操作时再分配第一硬件设备到多处理器数据处理系统中来重复应用第二固件设置到多处理器数据处理系统内的硬件。

应该理解,本发明的至少某些方面可以可替换地在包含程序产品的计算机可用介质中实现。在本发明中定义的功能的程序可以经由各种信号承载介质、系统存储器和通信介质被发送到数据存储系统或计算机系统,其中所述信号承载介质包括但不局限于非可写存储介质(例如CD-ROM)、可写存储介质(例如,硬盘驱动器、读/写CD-ROM、光介质)、和诸如但不局限于随机存取存储器(RAM)的系统存储器、和诸如计算机和包括以太网、因特网、无线网络等等网络系统的电话网络的通信介质。因此,应该理解,当携带或编码是指向本发明中的方法功能的计算机可读指令时这种信号承载介质表现出本发明的可替换实施例。另外,将理解,可以由具有以如在此描述的硬件、软件或软件和硬件组合或它们的等同物的形式的手段的系统来实现本发明。

软件配置

如上所述,在一个实施例中,由服务提供者服务器402进行由本发明所述的处理。可替换地,可以配置在此所描述的且具体如图6所示和描述的方法作为从服务提供者服务器402向客户计算机(例如MP 200或400)的处理软件。更具体地,可以通过另一服务提供者服务器(未示出)向服务提供者服务器402配置用于所描述方法的处理软件。

然后参考图7A-B,步骤700开始处理软件的配置。第一件事是确定当执行该处理软件时是否存在将驻留在一个服务器或多个服务器的任何程序(询问块702)。如果是这种情况,则识别将包含可执行表的服务器(块704)。对于该一个服务器或多个服务器的处理软件经由文件传送协议(FTP)或某些其他协议或通过使用共享的文件系统来复制而被直接传送到服务器的存储器中(块706)。然后,处理软件被安装在该服务器上(块708)。

接下来,确定是否将通过用户存取一个服务器或多个服务器上的处理软件来配置该处理软件(询问块710)。如果用户将存取服务器上的处理软件,则识别存储该处理软件的服务器地址(块712)。

确定是否将建立代理服务器(询问块714)以存储该处理软件。代理服务器是位于诸如web浏览器的客户端应用程序和真实服务器之间的服务器。它向真实服务器截接所有请求以查看它自身是否能满足它的请求。如果否,则转发该请求到真实服务器。代理服务器的两个主要好处是改善性能和过滤请求。如果需要代理服务器,则安装代理服务器(块716)。经由诸如FTP的协议或经由文件共享从源文件直接复制到服务器文件来向服务器发送该处理软件(块718)。另一实施例将向包含了处理软件的服务器发送事务,并使得该服务器处理该事务,然后接收并将处理软件复制到服务器的文件系统。一旦该处理软件被存储在服务器,则用户经由它们的客户端计算机存取在服务器上的该处理软件,并将它们复制到客户端计算机(块720)。另一实施例是使得服务器自动地复制该处理软件到每个客户端,然后在每个客户端计算机上运行对于该处理软件的安装程序。用户执行安装该处理软件到他的客户端计算机上的程序(块722),然后退出该处理(终结器块724)。

在询问步骤726中,确定是否通过经由电子邮件向用户传送该处理软件来配置该处理软件。在配置该处理软件的情况下与用户客户端计算机的地址一起识别用户集(块728)。经由电子邮件该处理软件被传送到每个用户的客户端计算机(块730)。然后,用户接收该电子邮件(块732),并将该处理软件从电子邮件分离到他们的客户端计算机的目录(块734)。用户执行在他的客户端计算机上安装该处理软件的程序(块722),并然后退出该处理(终结器块724)。

最后,确定该处理软件是否将被直接寄给他们的客户端计算机上的用户目录(询问块736)。如果是,则用户目录被识别(块738)。该处理软件被直接传送给用户的客户端计算机目录(块740)。这可以用几种方式来完成,但不局限于此,共享文件系统目录,然后从寄件人的文件系统复制到收件人用户的文件系统,或使用诸如文件传送协议(FTP)的传送协议。用户存取在他的客户端文件系统上的目录,准备安装该处理软件(块742)。用户执行安装该处理软件到他的客户端计算机上的程序(块722),然后退出该处理(终结器块724)。

VPN配置

本软件可以被配置为第三方作为服务的部分,其中,提供第三方VPN服务作为安全配置手段(vehicle),或其中按照特定配置所需的要求来建立VPN。

虚拟私有网络(VPN)是能被用于保护通过其他未受保护或不可信的网络的连接的技术的任何组合。VPN改善了安全并减少了操作成本。VPN利用公共网,通常是利用因特网来将远程站点或用户连接在一起。替代使用诸如租用线之类的专用、真实世界的连接,VPN使用“虚拟”连接,其从公司的私有网络通过因特网路由到远程站点或雇员。可以通过特别地构造为了递送(delivery)或执行处理软件(即,软件驻留在别处)目的的VPN来提供经由VPN对软件进行的存取作为服务,其中VPM的生命期基于所花费的量而局限于给定的时间段或给定的配置数量。

可以通过远程存取或站点到站点VPN来配置、存取和执行处理软件。当使用远程存取VPN时,经由通过第三方服务提供商在公司的私有网络和远程用户之间的安全、被加密的连接来配置、存取和执行该处理软件。企业服务提供商(ESP)设置网络存取服务器(NAS)并向远程用户提供用于他们的计算机的桌面客户端软件。然后,远程办公者能拨打免费号码或经由电缆或DSL调制解调器直接附联接以到达NAS,并使用他们的VPN客户端软件来存取联合网络并存取、下载和执行该处理软件。

当使用站点到站点VPN时,通过使用被用于连接在诸如因特网的公共网络上的公司的多个固定站点的专用器件和大范围加密,来配置、存取和执行该处理软件。

经由即将整个包放置于另一信息包内并在网络上发送它的处理的隧道技术在VPN上传输该处理软件。通过网络以及包进入和退出该网络的被称之为沟接口的二点来了解外部包的协议。

软件集成

可以通过将该处理软件与应用、操作系统和网络操作系统软件并存,且然后将该处理软件安装在该处理软件将运行的环境中的客户端和服务器上,使由用于实现在此描述的处理的代码所构成的该处理软件被集成到客户端、服务器和网络环境中。

第一个步骤是在包括该处理软件所需要的或结合该处理软件而工作的该处理软件将被配置所在的网络操作系统的客户端和服务器上识别任一软件。这包括通过添加网络特征来增强基本操作系统的软件的网络操作系统。

接下来,将识别该软件应用和版本号,并将其与已经被检验以与该处理软件一起工作的软件应用程序和版本号的列表进行比较。那些丢失了或与正确的版本不匹配的软件应用程序将用正确的版本号来更新。将校验从该处理软件传递参数到该软件应用程序的程序指令,以保证该参数列表与该处理软件所需的参数列表匹配。相反,将校验由该软件应用向该处理软件传递的参数,以保证该参数与该处理软件所需的参数匹配。将识别包括了网络操作系统的客户端和服务器操作系统,并将其与已经被检验以与该处理软件一起工作的操作系统、版本号、网络软件的列表进行比较。那些与该所检验的操作系统和版本号的列表不匹配的操作系统、版本号和网络软件将在客户端和服务器上被升级到所需级别。

在保证将配置该处理软件处的软件处于已经被检验以与该处理软件一起工作的正确的版本级之后,通过在客户端和服务器上安装该处理软件来完成该集成。

按需

在服务多个客户端的同时,以灵活、自动的方式共享该处理软件。需要很少的用户化是标准化的,提供账单到期即付模式的按需的容量是可伸缩的。

可以在从一个或多个服务器可存取的共享文件系统上存储该处理软件。经由包含数据和使用所存取的服务器上的CPU单元的服务器处理请求的事务来执行该处理软件。CPU单元是在服务器的中央处理器上的诸如分、秒和时的时间单元。另外,所存取的服务器可以请求需要CPU单元的其他服务器。CPU单元是代表的示例而不是使用的一种度量。其他的使用的度量包括但不局限于网络带宽、存储器利用、存储(storage)利用、包传送、完成事务等等。

当多个客户使用相同的处理软件应用程序时,通过识别对于该客户的唯一客户和服务的种类的被包含在事务中的参数来区分他们的事务。记录用于每个客户服务所使用的所有CPU单元和其他度量。当任何一个服务器的事务的数量达到开始影响该服务器的性能的数量时,存取其他服务器以增加容量并分享工作量。类似地,当诸如网络带宽、存储器利用、存储利用等的使用的其他度量接近影响性能的容量时,添加附加的网络带宽、存储器利用、存储等等来分享工作量。

在提供该处理软件的共享执行的服务器网络中,向将用于任何地方处理的每个服务的每个用户的使用的度量相加的集合(collecting)服务器发送用于每个服务和客户的使用的度量。周期地将相加的使用单元的度量与单位费用相乘,且交替地将所得的总的处理软件应用程序服务费用发送到客户和/或将其显示在由随后将款项付到服务提供商的客户所存取的网页上。

在另一实施例中,服务提供商直接从客户在银行或金融机构的帐户上请求付款。

在另一实施例中,如果服务提供商也是使用该处理软件应用程序的客户的客户,则对该服务提供商所欠的款项与该服务提供商所欠的款项相抵消以最小化款项的转移。

现在参考图8A-B,起始块802开始按需处理。创建包含进一步指定服务类型的唯一客户识别、所请求的服务类型和任何服务参数的事务(块804)。然后将该事务发送给主服务器(块806)。在按需环境中,起初主服务器可以只是一个服务器,然后随着容量的消耗,其他的服务器被添加到按需环境中。

询问在按需环境中的服务器中央处理单元(CPU)容量(块808)。评估该事务的CPU需求,然后将在按需环境中的服务器的可用CPU容量与该事务CPU需求进行比较,来得到是否有足够的CPU容量可用于处理该事务的任何服务器中(询问块810)。如果没有足够的服务器CPU容量可用,则分配附加的服务器CPU容量来处理该事务(块812)。如果已经有足够可用的CPU容量,则发送该事务到所选服务器(块814)。

在执行该事务之前,校验是否保持按需环境,来确定该环境是否有足够可用的容量用于处理该事务。该环境容量包括但不局限于如下事物:网络带宽、处理器存储器、存储、等等(块816)。如果没有足够可用的容量,则将添加容量到按需环境(块818)。接下来,存取处理该事务所需的软件,并将其装载入存储器,然后执行该事务(块820)。

记录使用的度量(块822)。使用度量由在按需环境中那些被用于处理该事务的功能的部分来组成。被记录的这种功能的使用如下但不局限于:网络带宽、处理器存储器、存储和CPU周期。将使用度量相加,并乘以单位费用,然后被记录作为向客户请求的收费(块824)。如果客户已经请求将按需费用发布到网站(询问块826),则发布它们(块828)。如果客户已经请求将按需费用经由电子邮件发送到客户地址(询问块830),则发送这些费用到客户(块832)。如果客户已经请求将按需费用直接从客户帐户中支付(询问块834),则直接从客户帐户接收付款(块836)。然后按需处理在终结器块838退出。

虽然已经参考优选实施例具体地示出并描述了本发明,但是本领域技术人员将理解,可以在不脱离本发明的精神和范围的情况下进行在形式和细节上的各种改变。另外,如被用于本说明书和所附权利要求的,术语“计算机”或“系统”或“计算机系统”或“计算设备”包括任何数据处理系统,其包括但不局限于个人计算机、服务器、工作站、网络计算机、主机计算机、路由器、交换机、个人数字助理(PDA)、电话和其他任何能够处理、传输、接收、捕获和/或存储数据的系统。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号