CN101142553A - 跨越多个计算平台的操作系统不可知的资源共享 - Google Patents
跨越多个计算平台的操作系统不可知的资源共享 Download PDFInfo
- Publication number
- CN101142553A CN101142553A CNA2004800180348A CN200480018034A CN101142553A CN 101142553 A CN101142553 A CN 101142553A CN A2004800180348 A CNA2004800180348 A CN A2004800180348A CN 200480018034 A CN200480018034 A CN 200480018034A CN 101142553 A CN101142553 A CN 101142553A
- Authority
- CN
- China
- Prior art keywords
- resource
- computing platform
- data
- server
- blade
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4405—Initialisation of multiprocessor systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
Abstract
用于跨越多个计算平台来共享资源的方法、设备和系统。为操作系统运行期可用性来加载在每个平台上所提供的固件。共享资源被作为本地资源展示给在平台上运行的操作系统,而事实上它们通常被其它平台所拥有。操作系统资源访问请求由请求平台接收并且被重新路由到实际上拥有用于服务所述资源访问请求的目标资源的另一平台。使用全局资源映象来确定适当的拥有者平台。经由带外(OOB)通信信道或网络来进行在所述平台之间的通信。执行隐藏执行模式以便实现经由OOB信道的数据重新路由,使得以对在所述平台上运行的操作系统来说是透明的方式来执行所述方法。所述共享资源包括存储器、输入和视频装置。所述方法可以用来支持共享KVM资源和共享磁盘存储器。
Description
技术领域
本发明的领域总体上涉及群集计算环境,诸如刀片式服务器(blade server)计算环境,并且更具体地说并不仅仅涉及用于共享由单个平台(节点)拥有(host)的资源以便创建可以跨越所有节点来共享的全局资源的技术。
背景技术
信息技术(IT)管理者和信息总监(CIO)承受着在不降低能力的同时减少资金和运营费用的巨大压力。所述压力驱使IT管理提供更有效地利用所有基础结构资源的计算资源。为了达成此目标,常常要解决下列方面的问题:怎样更好地管理服务器的使用;怎样应对较少的IT职员级别;怎样更好地利用地面空间;并且怎样处理电源问题。
典型情况下,公司的IT(信息技术)基础结构以计算机服务器为中心,所述计算机服务器经由各种类型的网络连接,诸如专用局域网(LAN)和专用和公共广域网(WAN)。服务器用来部署各种应用并且管理数据存储和事务过程。通常,这些服务器可能会包括独立服务器和/或高密度安装在机架上的服务器,诸如4U、2U和1U服务器。
近来,已经引入了新的服务器配置,其提供了空前的服务器密度和经济的可扩展性。此服务器配置被称为是“刀片式服务器”。刀片式服务器使用位于通用机箱中的多个紧密间隔的“服务器刀片”(刀片)来提供高密度的计算功能。每个刀片提供完整的计算平台,包括集成在单个系统板上的一个或多个处理器、存储器、网络连接和磁盘存储器。同时,诸如电源和风扇之类的其它组件在给定机箱和/或机架中的刀片之间共享。这与常规的安装在机架上的服务器相比较明显降低了固定设备成本。
通常,刀片式服务器面向两个市场:其中用单个刀片来处理独立任务的高密度服务器环境,诸如网络主机;和扩展的计算机群集环境。可扩展的计算群集(SCC)是一组两个或更多的计算机系统,也称为计算节点,被配置为同时工作以便执行计算密集的任务。通过配置多个节点以便合作来执行计算任务,与由单个系统执行任务相比可以更加迅速地完成所述任务。理论上,应用于任务的节点越多,就能够越快地完成任务。事实上,可以有效地用来完成任务的节点数目取决于所使用的应用。
使用基于Intel的服务器来构建典型的SCC,所述服务器运行Linux操作系统和群集基础结构软件。这些服务器常常被称为非定制产品(COTS)服务器。它们经由网络连接来形成群集。在执行计算密集任务时,SCC通常需要几十到上百服务器有效。为此需要把大量的服务器集中在一个单元,以便形成完全适合于刀片式服务器的集群。刀片式服务器的机箱设计和体系结构提供了把大量的计算机马力置于单个单元中的能力。此外,刀片式服务器体系结构的内置联网和切换能力使得能够添加或拔除单个刀片,以便对于给定任务能够最优扩展。利用这种灵活性,基于刀片式服务器的SCC提供了对其它用于执行计算任务的基础结构(诸如巨型计算机)的有成本效益的替换方案。
如上所述,刀片式服务器中的每个刀片能够提供完整的平台功能,从而能够独立于服务器中的其它刀片的操作。然而,每个刀片可用的资源照样被限制为其自己的资源。因而,在许多实例中,没有有效地利用资源。在当前体系结构下,没有能够实现有效的服务器范围的资源共享的模式。
附图说明
参考下列详细说明并且结合附图,本发明的上述方面和许多伴随优点将变得更容易理解,其中除非另作说明否则贯穿各个附图,相同的附图标记指的是相同的部分:
图1a是示例性的刀片式服务器机箱的前等距视图,在所述机箱中安装了多个服务器刀片;
图1b是图1a的刀片式服务器机箱的后等距视图;
图1c是示例性的刀片式服务器机架的等距前视图,其中安装了对应于图1a和1b的多个安装在机架上的刀片式服务器机箱;
图2示出了典型服务器刀片的组件的细节;
图3是示出用于依照ACPI标准部署电源管理的各个固件和操作系统组件的示意性框图;
图4是依照本发明的一个实施例举例说明在刀片初始化期间用来配置刀片以便实现电源管理模式的操作和逻辑的流程图;
图5是依照本发明的一个实施例举例说明在初始化过程期间用来建立资源共享的操作和逻辑;
图6是举例说明在图6的初始化过程期间出现的各个数据流的示意图;
图7是依照本发明的一个实施例举例说明响应于在请求计算平台所接收的资源访问请求而用来服务所述请求的操作和逻辑的流程图,其中所述服务资源由另一计算平台拥有;
图8a和8b是举例说明在共享资源访问期间一对计算平台之间的数据流的示意图,其中在图8a中所举例说明的模式使用本地全局资源映象,而在图8b中所举例说明的模式使用由全局资源管理器拥有的单个全局资源映象;
图9a是举例说明被配置为虚拟存储体的共享存储器资源的示意图,所述虚拟存储体集合了多个磁盘驱动器的存储容量;
图9b是举例说明图9a的共享存储器资源模式的变化的示意图,其中在资源访问期间使用RAID-1实施方式;
图10a是举例说明图9a的虚拟体存储模式的更多细节的示意图;
图10b是举例说明图9b的RAID-1实施方式的更多细节的示意图;
图11是依照本发明的一个实施例举例说明共享键盘、视频和鼠标(KVM)访问模式的示意图;
图12是举例说明在支持共享视频资源的一对计算平台之间的数据流的示意图;和
图13是举例说明在支持共享用户输入资源的一对计算平台之间的数据流的示意图;
具体实施方式
这里描述了用于跨越群集平台环境(诸如刀片式服务器环境)来执行资源共享的方法和计算机组件及系统的实施例。在下面描述中,阐明了许多具体细节以便提供对本发明的实施例的更彻底的了解。然而,相关领域的技术人员将认识到可以在没有一个或多个具体细节的情况下,或用其它方法、组件、材料等来实施本发明。在其它实例中,没有示出或详细描述众所周知的结构、材料或操作以免模糊本发明的特征。
贯穿整个说明书,“一个实施例”或“一实施例”指的是结合实施例所描述的特定特点、结构或特征包含在本发明至少一个实施例中。因此,遍及此说明书在不同位置出现的短语“在一个实施例中”或“在一实施例中”不必都参照相同的实施例。此外,可以在一个或多个实施例中以任何适当的方式组合特定的特征、结构或特性。
依照本发明一方面,这里公开了用于在某种意义上跨越群集平台环境来共享资源的技术,据此由单个平台拥有的资源可以由其它平台节点访问。所述技术使用基于固件的功能,其在不要求任何OS涉足的情况下,提供了“后台”访问机制。实际上,资源共享和访问操作对于在刀片上运行的操作系统来说是完全透明的,从而操作系统是独立的。从而,由这里公开的新技术所提供的能力可以用在现有的及将来的分布式平台环境中,而不要求对为了环境对操作系统做出任何改变。
依照一个方面,由“暴露”资源的几个平台来实行资源共享机制,集合所述资源以便形成全局资源。每个平台使用各自的固件集,所述固件集在操作系统加载预引导)之前运行并且与操作系统运行期一致。在一个实施例中,被称为系统管理模式(SMM)的隐藏执行模式使运行期部署变得易于进行,所述隐藏执行模式具有接收并响应定期的系统管理中断(SMI)的能力,以便允许资源共享和访问信息被透明地传送到被配置实行所述机制的固件SMM代码。SMM资源管理代码采用对OS透明的方式经由带外(OOB)网络或通信信道向其它节点传达信息和消息。
为了说明性目的,下面在刀片式服务器环境的范围内公开了本发明的几个实施例。作为概述,在图1a-c和2中示出了典型的刀片式服务器组件和系统,通常其可以实现依照本发明实施例的资源共享模式。在典型的配置中,使用安装在机架上的机箱100来向多个服务器刀片102提供功率和通信功能,每个刀片102占据相应的槽。(应当注意,不需要机箱中的所有槽被占满。)随后,多个机箱100之一可以被安装在图1c所示出的刀片式服务器机架103中。当经由一个或多个配合连接器安装时,每个刀片与接口面板104(即,后面板或中间面板)耦合。典型情况下,接口面板将包括多个相应的配合连接器,用于向所述刀片提供功率和通信信号。在当前实施下,许多接口面板提供了“热插拔”功能,即在不关闭整个机箱的情况下、通过适当的功率和数据信号缓冲可以即时添加或拔除(“热插拔”)刀片。
在图1a和1b中示出了典型的中间面板接口面板结构。接口面板104的后方与一个或多个电源106耦合。时常,电源是冗余的并且是可热插拔的,与适当的电源面板和调节电路耦合,以便在发生电源故障的情况下,能够继续运行。在可选择的结构中,可以使用电源阵列来向刀片的整个机架提供电源,其中在电源和机箱之间不存在一对一的对应关系。使用多个冷却风扇108来抽取机箱中的空气以便冷却服务器刀片。
所有刀片式服务器所需要的重要特征是与其它IT基础结构进行外部通信的能力。典型情况下,这经由一个或多个网络连接卡110来便于进行,每个网络连接卡110与接口面板104耦合。通常,网络连接卡可以包括包含有多个网络端口连接(例如,RJ-45端口)的物理接口,或可以包括高密度连接器,所述高密度连接器被设计成用于直接连接到网络装置,诸如网络交换机、集线器或路由器。
刀片式服务器通常提供了某种类型的管理接口,用于管理单个刀片的操作。这通常通过带外网络或一个或多个通信信道来便于进行。例如,用于使“专用”或“管理”网络以及适当的切换便于进行的一个或多个总线可以内置于接口面板,或者可以经由紧密耦合的网络布线和网络来实现专用网络。选择性地,切换及其它管理功能可以由与接口面板的后方或前方耦合的管理卡112来提供。作为又一选择,管理服务器可以用来管理刀片活动,其中经由诸如以太网之类的标准计算机联网基础结构来处理通信。
参考图2,示出了示例性刀片200的更多细节。如上所述,每个刀片包括被配置为执行服务器类型的功能的独立计算平台,即是“卡上服务器”。据此,每个刀片包括对常规服务器通用的组件,包括主电路板201,用于提供内部接线(即,总线)以便耦合安装到板上的适当集成电路(IC)及其它组件。这些组件包括一个或多个处理器202,其与系统存储器204(例如,DDR RAM)、高速缓冲存储器206(例如,SDRAM)和固件存储装置208(例如,闪速存储器)耦合。提供“公共”NIC(网络接口)芯片210以便支持常规的网络通信功能,例如支持在刀片和外部网络基础结构之间的通信。其它举例说明的组件包括状态LED 212、RJ-45控制台端口214和接口面板连接器216。附加的组件包括各个无源组件(例如,电阻,电容器)、电源调节组件和外围装置连接器。
通常,每个刀片200可能还会提供板载存储装置。典型情况下,这经由一个或多个内置磁盘控制器和与一个或多个磁盘驱动器相耦合的相应的连接器来进行。例如,典型的磁盘控制器包括Ultra ATA控制器、SCSI控制器等。作为选择,可以与相同或单独机架中的刀片分离安装磁盘驱动器,诸如可以是其中使用网络附加存储(NAS)设备来存储大量数据的情况。
依照本发明一方面,提供了用于在刀片之间带外通信的设备,并且选择性地,是专用管理组件。如这里所用,带外通信信道包括支持在设备之间以OS透明方式通信的通信装置,即用于在不要求操作系统涉足的情况下能够进行刀片间通信的装置。通常,可以使用各种方法来提供OOB信道。这些方法包括但不局限于使用诸如用于实现SMBUS标准的系统管理总线(www.smbus.org)之类的专用总线、诸如使用VLAN-802.1Q的基于以太网的网络之类的专用或管理网络,或串行通信模式,例如使用RS-485串行通信标准。还把用于支持这种通信功能的一个或多个适当的IC安装到主板201上,如OOB信道芯片220所描述。同时,接口面板104可能会包括相应的总线或内置的网络探查,以便支持所选择的OOB模式。选择性地,在硬连线网络模式(例如,以太网)情况下,可以在机箱100之内或之外部署适当的网络布线和联网装置。
如上所述,本发明的实施例使用基于固件的模式来实行资源共享配置和访问机制,以便能够跨越刀片式服务器节点来共享资源。特别地是,资源管理固件代码在每个刀片的初始化期间被加载并且在OS运行期期间可访问。在初始化期间,还收集资源信息,并且构建全局资源信息。根据所述全局资源信息,向每个刀片提供适当的全局资源访问。此信息当其初始化时被交给操作系统,使得全局资源(在OS立场看来)好像是本地资源。在OS运行期操作期间,结合经由OOB信道便于进行的资源访问管理,经由在OS和/或OS驱动器和相应固件之间的交互来处理对共享资源的访问。
在一个实施例中,经由被称为可扩展固件接口(EFI)(在http://developer.intel.com/technology/efi可以找到其说明和例子)的可扩展固件架构来使资源共享便于进行。EFI是描述在平台固件和压缩-包装操作系统或其它定制应用程序环境之间的抽象编程接口的公共工业规范(2003年1月7日公布了当前版本1.10)。EFI架构包括提供除了由存储在平台BIOS装置(例如,闪速存储器)中的BIOS代码提供的BIOS功能之外的扩展BIOS功能。更特别地是,EFI使得能够从各种不同的资源中加载固件模块和驱动器形式的固件,所述资源包括主要和次要闪速装置、选件ROM、各种持久性存储装置(例如,硬盘、CD ROM等),甚至包括经由计算机网络加载。
图3示出了用于举例说明所述架构下的平台响应于冷启动(例如,电源关/开重置)所执行的操作的事件顺序/体系结构图。所述过程逻辑上被分成几个阶段,包括预先EFI初始化环境(PEI)阶段、驱动器执行环境(DXE)阶段、引导装置选择(BDS)阶段、瞬时系统加载(TSL)阶段和操作系统运行期(RT)阶段。所述阶段彼此依赖以便向OS和平台提供适当的运行期环境。
PEI阶段向处理器(CPU)、芯片组和主板提供了用于加载并调用具体初始配置例程的标准化方法。PEI阶段负责足够初始化系统以便为下面阶段提供稳定的基础。在PEI阶段期间执行平台核心组件的初始化,所述平台核心组件包括CPU、芯片组和主板(即,母板)。此阶段还被称为“早期初始化”阶段。在此阶段期间所执行的典型操作包括POST(加电自检)操作,以及发现平台资源。特别地是,PEI阶段发现存储器并且准备资源映象,其被转换到DXE阶段。在PEI阶段结束时的系统状态通过一列位置无关的数据结构(称作转换块(HOB))被传送到DXE阶段。
DXE阶段是执行大部分系统初始化的阶段。包括DXE核心300、DXE调度器302和一组DXE驱动器304的几个组件使DXE阶段便于进行。DXE核心300生成一组引导服务306、运行期服务308和DXE服务310。DXE调度器302负责以正确的次序发现并执行DXE驱动器304。DXE驱动器304负责初始化处理器、芯片组和平台组件,以及向控制台和引导装置提供软件抽象。这些组件合作以便初始化平台并且提供引导操作系统所需要的服务。DXE和引导装置选择阶段合作以便建立控制台并且试图引导操作系统。当操作系统成功开始其引导过程时(即,BDS阶段开始),终止DXE阶段。只允许运行期服务和所选择的由DXE核心提供的DXE服务和所选择的由运行期DXE驱动器提供的服务持续到OS运行期环境中。DXE的结果是完全形式的EFI接口的表示。
DXE核心被设计成是完全可移植的,没有CPU、芯片组或平台相关性。这通过几个特征的设计来实现。第一,DXE核心只依赖于其初始状态的HOB列表。这意味着DXE核心不依赖于来自先前阶段的任何服务,这样一旦所述HOB列表被传送到DXE核心,那么就可以卸载所有的在前阶段。第二,DXE核心不包含任何硬编码的地址。这还意味着DXE核心可以加载在物理存储器中的任何地方,并且不管物理存储器或固件段在处理器的地址空间中位于什么地方DXE核心都可以正确起作用。第三,DXE核心不包含任何具体CPU、具体芯片组或具体平台的信息。相反,DXE核心是通过一组体系结构协议接口从系统硬件中抽象出来的。这些体系结构协议接口由DXE驱动器304生成,所述DXE驱动器304由DXE调度器302调用。
DXE核心生成EFI系统表400及其相关联的引导服务306和运行期服务308的集合,如图4所示。DXE核心还保持一句柄数据库402。所述句柄数据库包括包含一个或多个句柄的列表,其中一个句柄是一个或多个唯一协议GUID(全局唯一标识符)的列表,所述GUID映象到各自的协议404。协议是服务集的软件抽象。某些协议抽象I/O装置,而其它协议抽象通用的系统服务集。典型情况下,协议包含一组API和一些数据字段。每个协议由一个GUID命名,并且DXE核心生成允许协议在句柄数据库注册的服务。当DXE调度器执行DXE驱动器时,附加协议将被添加到句柄数据库中,所述协议包括用于从平台具体细节中抽象DXE核心的体系结构协议。
引导服务包括在DXE和BDS阶段期间所使用的服务集。其中,这些服务包括存储器服务、协议处理机服务和驱动器支持服务:存储器服务提供用于分配和释放存储页面以及按照字节界限分配和释放存储池的服务。存储器服务还提供了用于获取在平台中所有当前物理存储器使用情况的映象的服务。协议处理机服务提供了用于从句柄数据库添加和删除句柄的服务。它还提供了用于根据协议数据库中的句柄来添加和删除协议的服务。附加服务可用于允许任何组件在句柄数据库中查找句柄,并且开放和关闭句柄数据库中的协议。支持服务提供了用于把驱动器与平台中的装置连接和断开的服务。由BDS阶段使用这些服务以便把所有驱动器连接到所有装置,或者只把最小数目的驱动器连接到建立控制台和引导操作系统所需要的装置(即,以便支持快速引导机制)。
与引导服务相反,运行期服务既可用于预引导操作也可用于OS运行期操作。由在这里所公开的实施例影响的运行期服务之一是变量服务。如下面所进一步详述,变量服务提供了用于从易失和非易失性存储器中查找、添加和删除环境变量的服务。
DXE服务表包括对应于只可用于预引导期间的第一DXE服务集406A和既可用于预引导又可用于OS运行期的第二DXE服务集406B的数据。只在预引导期间可用的服务包括全局一致域服务,其提供用于管理平台中的I/O资源、存储映象的I/O资源和系统存储器资源的服务。还包括的是DXE调度器服务,其提供了用于管理DXE调度器所调度的DXE驱动器的服务。
由引导服务306、运行期服务308和DXE服务310中的每个所提供的服务经由各自的API集312、314和316访问。API提供了抽象接口,使得随后加载的组件能影响所选择的、由DXE核心所提供的服务。
在初始化DXE核心300之后,控制交给DXE调度器302。DXE调度器负责加载并调用在固件体中找到的DXE驱动器,所述固件体对应于逻辑存储部件,在EFI体制下从所述逻辑存储部件加载所述固件。DXE调度器在由HOB列表所描述的固件体中搜索驱动器。随着执行的继续,可以定位其它固件存储体。当定位它们时,调度器也搜索它们的驱动器。
存在两个DXE驱动器子类。第一子类包括DXE阶段中很早就执行的DXE驱动器。这些DXE驱动器的执行次序取决于先验文件的存在和内容以及对相关性表示的估计。这些早期的DXE驱动器典型情况下会包含处理器、芯片组和平台初始化代码。这些早期驱动器典型情况下还会生成体系结构协议,DXE核心需要所述体系结构协议以便生成对引导服务和运行期服务的完整补充。
第二类DXE驱动器是那些符合EFI1.10驱动器模型的驱动器。这些驱动器当由DXE调度器执行时,不执行任何硬件初始化。作为替代,它们把驱动器绑定协议接口注册在句柄数据库中。驱动器绑定协议集由BDS阶段使用,以把驱动器连接到建立控制台并提供对引导装置的访问所需要的装置上。符合EFI1.10驱动器模型的DXE驱动器最终向控制台装置和引导装置提供软件抽象,当它们被明确要求这样做时。
任何DXE驱动器可能消耗引导服务和运行期服务以便执行它们的功能。然而,早期DXE驱动器需要知道当它们执行时并不是所有的这些服务都可用,这是因为可能尚未注册所有的体系结构协议。在执行之前DXE驱动器必须使用相关性表达式以便保证它们所要求的服务和协议接口是可用的。
符合EFI 1.10驱动器模型的DXE驱动器不必考虑这种可能性。这些驱动器在它们执行时简单地在句柄数据库中注册驱动器绑定协议。此操作可以在不使用任何体系结构协议的情况下执行。结合注册驱动器绑定协议,DXE驱动器可以通过使用InstallConfigurationTable函数来“发布”API。此发布的驱动器由API318来描述。在EFI下,API的发布使得该API可由其它固件组件访问。API向装置、总线或服务提供接口,在它们各自的生存期DXE驱动器与它们对应。
BDS体系结构协议在BDS阶段期间执行。BDS体系结构协议定位并加载在预引导服务环境中所执行的各个应用。这种应用可以表示传统的OS引导加载器,或可以代替或在加载最终OS之前运行的扩展服务。这种扩展的预引导服务可以包括启动配置、扩展诊断、闪速更新支持、OEM增值或OS引导代码。在BDS阶段期间使用引导调度器320以便能够选择引导目标,例如要由系统引导的OS。
在TSL阶段期间,运行最终的OS引导加载器322以便加载所选择的OS。一旦已经加载OS,那么不再需要引导服务306,并且不再需要经由API318结合DXE驱动器304所提供的许多服务以及DXE服务306A。据此,在OS运行期期间可以访问的这些减少的API集被描述为图3中的API316A和318A。
在本发明的原理下,使用对OS透明的带外通信模式以允许跨越服务器节点共享各种类型的资源。同时,使用基于固件的组件(例如,固件驱动器和API),以便使通过OOB信道低级访问所述资源并且重新路由数据便于进行。可以跨越多个计算平台实现所述模式,所述计算平台包括刀片组、单个机箱、机架或机架组。在系统初始化期间,每个平台上提供的固件被加载并执行以便建立OOB信道和适当的资源访问和数据重新路由机制。然后每个刀片通过OOB向全局资源管理器发送关于其共享资源的信息。全局资源管理器集合数据并且配置“虚拟”全局资源。然后全局资源描述符形式的全局资源配置数据被发送回刀片以便向所述刀片通知全局资源的配置和访问机制。然后配置驱动器以便支持对全局资源的访问。随后,在OS加载期间全局资源描述符被交给操作系统,其中虚拟全局资源在操作系统看来像本地设备一样,并且从而在OS运行期操作期间被如此使用,而不必要求对OS代码做任何修改。在图5和7中示出了依照一个实施例的所述过程的流程图操作和逻辑,而在图6、8a和8b中示意地举例说明了在各个组件之间相应的操作和交互作用。
参考图5,所述过程通过对每个刀片执行几个初始化操作以便建立资源装置驱动器和OOB通信架构而开始。响应于在开始块500中所描述的加电或重置事件,系统依照上面参考图3所描述的方式来执行预引导系统初始化操作。首先,在块502中通过加载并执行在每个刀片的引导固件装置(BFD)中所存储的固件,来执行早期初始化操作。在EFI下,BFD包括存储用于引导系统的固件的固件装置;服务器刀片200的BFD包括固件装置208。
继续至块502,处理器202执行重置存根(stub)代码,其通过重置向量把执行跳转到BFD的引导块的基地址。引导块包含用于执行早期初始化的固件指令,所述指令由处理器202执行来初始化CPU、芯片组和主板。(应当注意在热启动(重置)期间早期初始化并不执行,或者至少以有限的方式执行。)接下来执行对应于EFI核心的固件指令,使得进入DXE阶段。在DXE核心初始化期间,依照上面参考图3和4论述的方式来设置变量服务。在初始化DXE核心之后,DXE调度器302开始加载DXE驱动器304。每个DXE驱动器对应于一个系统组件,并且提供用于直接访问该组件的接口。包括在所述DXE驱动器内的是OOB监视器驱动器,该驱动器随后将用来使OOB通信便于进行。
接下来在块504中,OOB监视器驱动器被安装在每个刀片中的保护区域内。如上所述,独立于由操作系统所管理的网络通信而操作的带外通信信道或网络被用来以OS透明的方式使中间刀片通信便于进行。
在块502的上述系统初始化操作期间,系统存储器204的一部分被设置用于系统管理目的。此部分存储器称为SMRAM600(参见图6),并且对随后加载的操作系统隐藏。
结合固件加载,存储在固件中的SMM OOB通信代码602被加载到SMRAM600中,并且被设置用于处理OOB通信的相应的OOB通信SMM处理机604。SMM处理机是一种中断处理机,并且响应于系统管理中断(SMI)被调用。随后,SMI中断可以经由系统处理器上的SMI引脚而被置为有效。响应于SMI中断,处理器存储其当前环境(即,关于当前操作的信息,包括当前执行模式、栈和注册信息等),并且把其执行模式切换到系统管理模式。然后SMM处理机被顺次地调度以便确定它们是否为用于服务所述SMI事件的适当处理机。在SMM处理机代码中很早进行此确定,以便在确定哪个处理机适当时只要很少的等待时间。当此处理机被识别时,允许它执行直到完成以便服务所述SMI事件。在服务SMI事件之后,发布一条RSM(恢复)指令,以便使用先前保存的环境数据把处理器返回到先前的执行模式。最终结果是,SMM操作对操作系统来说是完全透明的。
返回到图5的流程图,在判定块506中确定是否发现由刀片拥有的、一个或多个可共享的资源。通常,共享资源是可用于共享访问的任何刀片组件或装置。这种组件和装置包括但不限于固定存储装置、可移动介质装置、输入装置(例如,键盘,鼠标)、视频装置、音频装置、易失性存储器(即,系统RAM)和非易失性存储器。
如果判定块506的答案是肯定的,那么对于所发现的每个可共享资源,逻辑继续执行在各自的开始和结束循环块508和509内所定义的循环操作。这包括块510中的操作,其中构造用于描述共享资源的装置路径并且收集配置参数。装置路径向外部用户提供了用于访问资源的装置。配置参数用来构建全局资源,如下所进一步详述。
在执行了块510的操作之后,在所举例说明的实施例中,在块512中装置路径和资源配置信息经由OOB通信信道610被发送或广播到全局资源管理器608。全局资源管理器通常可以由现有的组件拥有,诸如刀片或管理卡112之一。如下所述,在一个实施例中,使用多个本地全局资源管理器,其中通过聚集过程而不是使用单个管理器来处理全局资源管理。如果其中事先知道拥有全局资源管理器的组件的地址,那么可以使用到该组件的选择传输。如果不知道所述地址,那么首先经由OOB信道广播一条消息来识别所述拥有者组件的位置。
依照下列方式来实行在上述SMM隐藏执行模式下的OOB通信。首先,有必要把对其执行刀片间通信的刀片上的处理器的操作模式切换到SMM。因此,产生一个SMI以便使处理器切换到SMM,如在图6中所示在BLADE1所发生的。这可以通过两个手段之一来完成——把处理器SMI引脚置为有效(即,基于硬件产生),或通过发布一条“SMI”指令(即,基于软件产生)。
在一个实施例中,把SMI引脚置为有效可以通过在管理总线上设置适当的信号等来实现。例如,当使用I2C来部署SMBUS时,可以把总线线路之一经由刀片连接器硬连线到每个刀片处理器的SMI引脚。选择性地,接口面板可以提供用于生成类似结果的独立装置。依赖于该配置,所有SMI引脚通常可以连接到单总线线路,或者可以将所述总线构造为能够对于各刀片独立地把SMI引脚置为有效。作为又一选择,诸如由Intel制作的某些网络接口芯片(NIC)除了提供用于常规的网络通信的主要MAC地址之外,还提供用作“反向信道(backchannel)”的第二MAC地址。此外,这些NIC提供了内置系统管理部件,其中引用第二MAC地址的输入通信使NIC把SMI信号置为有效。此模式能够经由与“公共”网络(未示出)相同的布线来部署OOB信道。
在一个实施例中,使用固件驱动器来访问OOB信道。例如,当经由网络或串行装置来实现OOB信道时,将提供适当的固件驱动器以便访问网络或串行端口。因为预先会知道固件驱动器的配置(并且从而独立于操作系统),所以SMM处理机可以经由该固件驱动器直接访问OOB信道。选择性地,在诸如I2C之类的专用管理总线情况下,SMM处理机可以使用直接访问而不需要相应的固件驱动器,不过也可以使用后一选择。
响应于SMI引脚被置为有效,所置为有效的处理器切换到SMM执行模式并且开始调度其SMM处理机,直到调度到适当的处理机(例如,通信处理机604)来使OOB通信便于进行。从而,在每个OOB通信网络/信道选项中,当刀片处理器依照SMM操作时执行OOB通信,借此所述通信对在那些刀片上运行的操作系统来说是透明的。
依照块514,由全局资源管理器608接收共享装置路径和资源配置信息。采用类似的方式,由全局资源管理器接收其它刀片的共享装置路径和资源配置信息。
依照本发明的一个方面,可以组合单个资源以便形成全局资源。例如,由单个存储装置(例如,硬盘和系统RAM)提供的存储可以被集合起来以便形成一个或多个“虚拟”存储体。这通过在块516中集合资源配置信息来部分地完成。在硬盘资源的情况下,资源配置信息典型情况下可以包括存储容量,诸如存储块的数目、分区信息、及其它用于访问装置的信息。在集合资源配置信息之后,构建全局资源访问机制(例如,API)和全局资源描述符612。全局资源描述符包含用于识别怎样访问资源的信息,并且描述所述资源的配置(从全局和/或本地角度)。
在完成块516的操作之后,在块518中全局资源描述符612经由OOB信道被发送到机架中的活动节点。此发送操作可以使用节点对节点的OOB通信或经由OOB广播来执行。响应于接收到全局资源描述符,在块520中由接收节点将其存储,这导致处理下一资源。对于所发现的每个资源采用类似的方式重复块510、512、514、516、518和520的操作,直到处理了所有可共享的资源。
依照一个实施例,在块522中由相应的固件装置驱动器来提供对共享资源的访问,所述固件装置驱动器被配置为经由它们的全局资源API来访问所发现的共享资源。下面论述当应用于具体资源时此访问模式进一步的细节。如后续块524所描述,然后如上所述继续预引导平台初始化操作以便准备OS加载。
在块526中的OS加载期间,对应于所发现的任何共享资源的全局资源描述符被交给操作系统。应当注意,被交给OS的全局资源描述符可以与在块516中构建的那些相同或不同。实质上,全局资源描述符包含用于使操作系统能配置经由它自己的装置驱动器访问资源的信息。例如,在单个共享存储体的情况下,OS接收表明可以访问“本地”存储装置(或选择性地联网存储装置)的信息,所述存储装置具有覆盖所共享的单个存储装置的单个存储容量的存储容量。在多个共享存储体的情况下,各自的存储容量信息将被交给每个存储体的OS。OS加载的完成导致继续OS运行期操作,如由后续块528所描述的。
在OS运行期期间,通过操作系统和固件组件的组合来访问全局资源,所述组合被配置为提供对共享资源的“低级”访问。在现代OS/固件体系结构下,有意抽象装置访问模式,使得不要求操作系统厂商写入对每个单个装置来说都是特定的装置驱动器。相反地,由相应的固件装置驱动器来提供更多的显式访问细节。此体系结构的一个结果在于操作系统可以不直接访问硬件装置。这在许多方面都证明是有益的。最值得注意地是,这意味着操作系统不必知道所述装置的特定低级访问配置。从而,可以“构建”集合了单个装置资源的“虚拟”资源,并且经由适当配置的固件驱动器可以抽象对这种装置的相应访问,借此OS认为所述虚拟资源是真正的本地装置。
在一个实施例中,此抽象的访问模式被配置为多层体系结构,如图8a和8b所示。每个刀片BLADE1和BLADE2具有各自的体系结构组件的拷贝,包括OS装置驱动器800-1和800-2、管理/访问驱动器802-1和802-2、资源装置驱动器804-1和804-2以及OOB通信处理机604-1和604-2。
在图7中示出了举例说明依照一个实施例来访问共享资源的示例性过程的流程图。所述过程从来自请求者的访问请求开始,如在开始块700中所描述。典型的请求者可以是在平台的操作系统上运行的应用。对应于这种应用的可执行代码通常存储在系统存储器204中,如图8a和8b中的运行期(RT)应用(APP)806和808所描述。例如,假定运行期应用806想要访问共享的数据存储器资源。在此例子中,访问请求对应于打开先前存储的文件。运行期应用首先将请求操作系统(810)访问所述文件,提供所述文件的位置(例如,驱动目标、路径和文件名)。此外,驱动目标是由操作系统先前为包括多个磁盘驱动器218的虚拟全局存储器资源所分配的驱动器号,所述磁盘驱动器218包括BLADE1的资源1和BLADE2上的资源2。
响应于所述请求,在块702中操作系统810使用其OS装置驱动器800-1来访问存储器资源。通常,OS装置驱动器800-1会直接与资源驱动器804-1接口以便访问资源1。然而,可以访问管理/访问驱动器802-1以作为替代。为了完成此改变,在OS加载期间将诸如API等接口信息交给OS,借此每当存在访问相应资源(例如,资源1)的请求时,指示OS访问管理/访问驱动器802-1。
为了确定哪个共享资源将服务所述请求,提供了一种用于识别特定拥有者的机制,经由所述拥有者可以访问适当的资源。在一个实施例中,经由全局资源映象使此机制便于进行。在图8a的实施例中,通用的全局资源映象的本地拷贝812-1和812-2被存储在各自的刀片BLADE1和BLADE2上。在图8b的实施例中,由全局资源管理器608拥有所共享的全局资源映象812a。所述全局资源映象把具体资源与那些具体资源所拥有的全局资源部分相匹配。
继续图7的流程图,在块704中,管理/访问驱动器查询本地全局资源映象812以便确定在特定访问请求下的资源的拥有者。此资源和/或其拥有者被称为是“资源目标”;在所举例说明的例子中,资源目标包括由BLADE2拥有的资源2。
一旦识别所述资源目标,预先形成OOB通信操作以便把资源访问请求传送到所述资源目标。首先,请求平台上的管理/访问驱动器(例如,802-1)把SMI置为有效以便激活该平台的本地OOB通信处理机604-1。作为响应,在块708中BLADE1上的处理器将其模式切换到SMM,并且调度其SMM处理机直到启动OOB通信处理机604-1。作为响应,OOB通信处理机把资源目标拥有者(BLADE2)上的SMI信号置为有效以便开始在两个刀片之间的OOB通信。响应于所述SMI,在块710中BLADE2上的处理器模式被切换到SMM,启动其OOB通信处理机。在此,BLADE1和2能够经由OOB信道610通信,并且由OOB通信处理机604-2接收所述访问请求。在已经发送资源访问请求之后,在一个实施例中,向BLADE1上的处理器发布“RSM”指令以便把处理器的操作模式切换回到在被切换为SMM之前的模式。
在块712中,然后访问请求被经由其API传送到管理/访问驱动器802-2。在可选择的实施例中,然后在块714中执行查询以便证实接收访问请求的平台是目标资源的实际拥有者。在一个实施例中,如果它不是正确的拥有者,表示此的消息被传送回请求者(未示出)。在另一实施例中,将该情况通知适当的全局资源管理器。实质上,如果本地全局资源映象包含不同的信息(即,不再同步)那么可能会出现这种情况。作为响应,全局资源管理器可能会发布用于重新同步本地全局资源映象的命令(均未示出)。
继续至块716,然后使用平台拥有者的资源装置驱动器(804-2)来访问资源(例如,资源2)以便服务所述访问请求。在给出的例子下,所述访问返回所请求的数据文件。然后在块718中对应于请求的数据经由OOB信道610被返回到请求者。在通信完成时,向BLADE2上的处理器发布“RSM”指令以便把该处理器的操作模式切换回到在被切换为SMM之前的模式。
取决于特定的实施方式,请求者的处理器此时可以操作或不操作SMM。例如,在上述实施例中,在块708中请求者(BLADE1)的处理器从SMM切换回来。在这种情况下,在块722中新的SMI被置为有效以便激活OOB通信处理机。如果(依照可选择的模式)在发送访问请求之后SMM模式没有终止,那么OOB通信处理机已经在等待接收所返回的数据。不论哪种状况,在块724中,经由OOB信道610接收返回的数据,并且将所述数据传送到请求者的管理/访问驱动器(802-1)。随后,在块726中此固件驱动器把所述数据传送回到OS装置驱动器800-1,这导致在块728中请求者通过操作系统收到所述数据。
在图8b的实施例中,使用单个的全局资源映象代替全局资源映象的本地拷贝来执行类似的资源访问过程。简言之,除使用全局资源管理器608作为访问资源的代理,而不是使用本地全局资源映象以外,许多操作与上面参考图8a论述的操作相同。因而,资源访问请求经由OOB信道610被发送到全局资源管理器608,而不是直接发送到所识别的资源目标。一旦收到所述请求,执行对全局资源映象812a的查找以便确定所述资源目标。随后,数据请求连同用于识别请求者的信息一起,被发送到所识别的资源目标。当接收到所述请求时,除可选择的操作714外,预先形成块712-728的操作。
前述每个模式提供了它们自己的优点。当使用本地全局资源映象时,不需要代理,因而不需要改变在任何刀片式服务器组件上操作的任何软件组件。然而,应当有用于使全局资源映象同步便于进行的机制,并且增加了每个刀片的管理开销。使用单个全局资源管理器的主要优点在于确保全局资源映象的同步性(由于只有一个拷贝),并且在不需要单个刀片涉入的情况下可以改变所述映象。在最多的实施方式下,主要缺点将为全局资源管理器功能提供一个拥有者。典型情况下,所述拥有者可以是管理组件或刀片之一(例如,指定的或默认选择的刀片)。
在一个实施例中,通过一个指定过程识别拥有全局资源管理器功能的刀片,其中每个刀片可以包括用于执行管理任务的固件。通常,指定模式可以基于物理分配,诸如机箱槽,或可以基于激活模式,诸如先入次序模式。例如,在基于槽的模式下,可能向具有分组的最低槽分配的刀片分配功率判优器任务。如果拔出该刀片,那么可能会从其余刀片中指定具有最低槽分配的刀片拥有全局资源管理器。在先入次序模式下,根据插入或激活刀片的次序,可能会向每个刀片分配安装次序标识符(例如,数字)。全局管理任务可能会被分配给具有最小数目的刀片,也就是说从最先安装的刀片开始。当拔出该刀片时,具有下一最小安装数目的刀片可能会被指定为新的功率判优器。为了确保跨过全局资源管理器中的变化而继续操作,可以实现冗余模式,其中第二刀片被指定为实时的备份。
通常,全局资源映象数据可以被存储在系统存储器中或作为固件变量数据。如果被存储为固件变量数据,那么映象数据将能在平台关机后仍然保持。在一个实施例中,映象数据被存储在对操作系统隐藏的一部分系统存储器中。所隐藏的这部分系统存储器可以包括在预引导操作期间由固件保留的一部分存储器或一部分SMRAM。用于跨越关机而保持全局资源映象数据的另一方式是把数据存储在持久性存储装置上,诸如磁盘驱动器。然而,当使用磁盘驱动器时,最好以难以被平台操作系统访问的方式存储所述映象数据,诸如存储在磁盘驱动器的主机保护区域(HPA)中。当全局资源映象数据被存储在中央储存库中时(即,如由图8b的实施例所举例说明的),可以使用与上面给出的选项类似的各个存储选项。如果其中全局资源管理器被除了多个服务器刀片以外的组件拥有(诸如被管理卡112或外部管理服务器拥有),那么由于这些拥有者不能被在所述刀片上运行的操作系统访问,所以可以安全地实现磁盘存储。
在图9a-b和10a-b中举例说明了资源共享的更具体的实施方式。在这些例子中,共享的资源包括磁盘驱动器218。在图9a和10a所举例说明的实施例900中,集合由多个磁盘驱动器218所提供的存储器资源以便形成虚拟存储体“V:”。为了清楚起见,把每个磁盘驱动器的存储器资源描写成包括10个块的各I/O存储器组。此外,每个BLADE1-16被描绘成拥有单个磁盘驱动器218;应当理解,在实际实施方式中每个刀片可以拥有0-N个磁盘驱动器(取决于其配置),每个磁盘驱动器的块数目可以改变,而实际的块数目将比这里所描述的高几个数量级。
从操作系统角度,虚拟存储体V:看起来像单个存储装置。通常,所共享的存储器资源可以被配置为1-N个虚拟存储体,每个存储体覆盖各自的存储装置集。事实上,虚拟存储体V:覆盖16个磁盘驱动器218。为了完成这点,使用包括查找表1000的全局资源映象。查找表把相应的I/O块范围映射到拥有所述I/O块的磁盘驱动器所驻留的刀片。在单个刀片能够拥有多个磁盘驱动器的情况下,所述映象可能会包含用于识别每个刀片上的具体存储装置的进一步信息。通常,可能会使用寻址模式而不是简单地识别刀片号;然而,为了清楚和简单描绘了所举例说明的刀片号分配。
图9b和10b举例说明了依照RAID(独立磁盘冗余阵列)-1标准使用镜像和双工的RAID实施例902。在RAID-1下,使各存储装置集成对,并且通过把相同的数据集写入所述对中的每个存储装置来镜像数据。以类似于上述的方式,所集合的存储器在操作系统看来作为虚拟存储体V:。在所举例说明的实施例中,存储装置的数目和类型与实施例900的是相同的,从而虚拟存储体的I/O块存储容量被一分为二至80块。全局资源映象包含在查找表1002中,用于确定当操作系统进行相应的I/O块访问请求时将访问哪个磁盘驱动器。磁盘驱动器对被分成标为A-H的逻辑存储器实体。
依照RAID-1原理,当执行对逻辑存储器实体的写入访问时,数据被写入下面的每个存储装置。相比之下,在读取访问期间,(通常)从单个存储装置获取数据。取决于RAID-1实施方式的复杂性,所述对中的一个可以被分配为默认的读取装置,或者两个存储装置可以使读取功能便于进行,允许并行读取(双工)。
除所举例说明的配置之外,一种配置可以使用一个或多个磁盘驱动器218作为“热备份”。在这个例子中,热备份的存储装置在正常访问操作期间并不使用,而是保留以便替换已经出故障的任何装置或刀片。在标准实践下,当发生热备份替换时,存储在(所述对中)未出故障的装置上的数据被写入替换装置以便使存储系统返回到完整的冗余。这可以通过交互方式来执行(例如,允许并发地写入新数据),或可以在允许新的写入之前执行。
通常,可以使用单个的全局资源管理器或经由本地管理来部署RAID-1模式。例如,如果其中使用“静态”映象(对应于静态资源配置),那么适当的映象信息可以存储在每个刀片上。在一个实施例中,此信息可以作为固件变量数据存储,从而它在平台重置或关闭之后仍然存在。对于动态配置环境,建议使用中央全局资源管理器,至少用于确定对应配置变化的更新的资源映象。
除RAID-1之外,可以使用其它RAID标准冗余存储模式,包括RAID-0、RAID-2、RAID-3、RAID-5和RAID-10。由于这些模式中的每一种包括某种形式的分散读写(striping),所以实质上增加了全局资源映象的复杂性。因为这个及其它原因,通过中央全局资源管理器而不是单个本地管理器通常更易于实现RAID-0、RAID-2、RAID-3、RAID-5和RAID-10。
应当注意,尽管在刀片式服务器环境的背景中论述了上述原理,但并不是限制性的。每个刀片可以被认为是独立的平台,诸如安装在机架上的服务器或独立的服务器,其中可以依照与上述类似的方式经由OOB信道来实现跨越多个平台的资源共享。例如,在安装在机架上的服务器配置中,可以提供布线和/或路由以支持OOB信道。
适于安装在机架上的服务器等的本发明的特定实施方式涉及共享键盘、视频和鼠标I/O,其通常被称为KVM。在典型的机架服务器中,使用KVM切换器以便使单个的键盘、视频显示器和鼠标能由机架中的所有服务器共享。KVM切换器把KVM信号从单个服务器(经由各自的电缆)路由到单个的键盘、视频和鼠标I/O端口,借此可以通过调节选择旋钮或选择输入的信号源来访问所选择服务器的KVM信号。对于高密度服务器,除用于布线和安装的成本之外,KVM切换器可能花费$1500或更多。KVM布线还降低了通风和可访问性。
上述问题由在图11-13中所举例说明的共享KVM实施例克服。在图11中,多个安装在机架上的服务器1100中的每个经由切换器1102和相应的以太网布线(被描述为网络云1104)被连接到其它服务器。每个服务器1100包括主板1106,其上安装有或与其耦合有多个组件,包括处理器1108、存储器1110、固件存储装置1112和NIC1114。多个I/O端口还与主板耦合,包括鼠标和键盘端口1116和1118以及视频端口1120。典型情况下,每个服务器还会包括多个磁盘驱动器1122。
依照上述基于NIC的反向信道OOB模式,使用被分配给每个服务器1100的NIC1114的第二MAC地址来支持OOB信道1124。键盘1126、视频显示器1128和鼠标1130经由各自电缆与位于服务器1100A后方的各自的I/O端口1118、1120和1116耦合。每个服务器1110上的固件提供支持以便拥有本地全局资源映象1132,其经由服务器1100A把KVM信号路由到键盘1126、视频显示器1128和鼠标1130。
在图12中示出了举例说明依照一个实施例怎样处理视频信号(最复杂的KVM信号)的协议堆栈。在所述例子中,用于生成相应视频信号的视频数据被从服务器1100N重新路由到服务器1100A。服务器1100N上协议堆栈的软件端包括操作系统视频驱动器1200N,而固件组件包括视频路由器驱动器1202N、视频装置驱动器1204N和OOB通信处理机604N。数据流与上面参考图7和8a所述的类似,并且如下进行。
在服务器1100N上运行的操作系统接收更新视频显示器的请求,典型情况下响应于运行期应用的用户输入。操作系统使用其OS视频驱动器1200N来实行改变。通常,OS视频驱动器会根据由操作系统所保持的虚拟视频显示器来产生视频数据,其中执行从虚拟到物理的显示映象。例如,在具有不同分辨率的监视器上显示的相同文本/图形内容要求为所述分辨率所特有的不同视频数据。然后OS视频驱动器与视频路由器驱动器1202N接口以便把视频数据传递到其认为的目标装置上,服务器1100N的视频芯片1206N。至于涉及操作系统,视频路由器驱动器1202N是服务器的固件视频装置驱动器,即是视频装置驱动器1204N。然而,当接收视频数据时,视频路由器驱动器1202N通过查找全局资源映象1134N来查找视频数据目标服务器,并且把SMI置为有效以便开始经由各自的OOB通信处理机604N和604A与服务器1100A的OOB通信。
当接收到视频数据时,经由视频装置驱动器1204A将其写入视频芯片1206A。以类似于上述的方式,此视频数据的传送可以直接从OOB通信处理机604A到视频装置驱动器1204A,或者也可以通过视频路由器驱动器1202A路由。响应于接收到视频数据,视频芯片1206A更新由视频监视器1128经由视频端口1120所接收的视频输出信号。作为选项,可以执行对全局资源映象1134A的校验查找以便校验该服务器1100A是正确的视频数据目标服务器。
采用类似的方式处理键盘和鼠标信号。就像对于视频,操作系统典型情况下保持虚拟指针映象,指示装置的虚拟位置可以从所述虚拟指针映象交叉引用到虚拟视频显示器,借此能够确定光标相对于视频显示器的位置。通常,鼠标信息将遍历视频信号的反向路由——即经由服务器1100A所接收的鼠标输入将经由OOB信道被传送到所选择的平台(例如,服务器1100N)。这会要求更新服务器1100A上的全局资源映象1134A以便反映适当的目标平台。路由键盘信号也将要求类似的映象更新。与键盘信号的差异在于它们是双向的,这样要求重新路由输入和输出数据。
在图13中示出了示例性的键盘输入信号处理协议堆栈和流程图。服务器1100N上协议堆栈的软件端包括操作系统键盘驱动器1300N,而固件组件包括键盘路由器驱动器1302N、视频装置驱动器1304N和OOB通信处理机604N。类似的组件组成服务器1100A的协议堆栈。
响应于经由键盘1126的用户输入,产生键盘输入信号,所述键盘输入信号由键盘芯片1306A经由键盘端口1118A接收。然后键盘芯片1306生成相应的键盘(KB)数据,所述数据由键盘装置驱动器1304A接收。在此,键盘输入的处理与在不使用资源共享的单个平台上(例如,台式计算机)所实现的相同。通常,键盘装置驱动器1304A可能会与OS键盘驱动器1300A接口以便把键盘数据传送到操作系统。然而,目的在于接收键盘数据的OS键盘驱动器在服务器1100N上运行。因此,由键盘装置驱动器1304所处理的视频数据被传送到键盘路由器驱动器1302A以便使重新路由所述键盘数据便于进行。
响应于接收键盘数据,键盘路由器驱动器查询全局资源映象1134以便确定所述键盘数据将被重新路由到的目标服务器(在此例子中是服务器1100N)。然后键盘路由器驱动器把SMI置为有效以便使在服务器1100A上运行的处理器进入SMM,并且连同服务器目标识别数据一起把所述键盘数据传送到OOB通信处理机604A。然后OOB通信处理机604A与OOB通信处理机604N相交互以便使在两个服务器之间经由OOB信道1124的OOB通信便于进行,使得所述键盘数据由OOB通信处理机604N接收。响应于接收键盘数据,OOB通信处理机604N把所述键盘数据转送到键盘路由器驱动器1302N。在此,键盘路由器驱动器可以把所述键盘数据直接传送到OS键盘驱动器1300N,或执行全局资源映象1134 N的路由校验查找,以便在把数据传送到OS键盘驱动器1300N之前确保服务器1100N是接收键盘数据的适当服务器。然后OS键盘驱动器处理键盘数据并且向具有当前焦点的运行期应用提供所处理的数据。
如上所述,经由存储在每个刀片或平台上的固件至少部分地实现了资源共享。典型情况下可能包括用于实现这里所描述的各种操作的指令和数据的固件,通常将存储在非易失性存储装置上,所述非易失性存储装置诸如但不局限于闪速装置、ROM或EEPROM。所述指令是机器可读的,可以由真实机器直接读取(即,机器代码)或经由虚拟机解释(例如,所解释的字节代码)。从而,本发明的实施例可以被用作或支持在某种形式的处理核心(诸如计算机的CPU)上执行的或在计算机可读介质上或内执行或实现的固件。处理器可读介质包括用于以可由机器(例如,处理器)读取的形式来存储或发送信息的任何机制。例如,计算机可读介质可以包括诸如只读存储器(ROM);随机访问存储器(RAM);磁盘存储介质;光存储介质和闪速存储装置等介质。另外,计算机可读介质可以包括传播的信号,诸如电、光、声或其它形式传播的信号(例如,载波、红外信号、数字信号等)。
以上对于本发明所举例说明的实施例的描述,包括在摘要中所描述的内容,并非意在把本发明穷举或限制为所公开的形式。虽然,为了说明性目的描述了本发明的具体实施例和例子,然而相关领域内分技术人员将认识到,在本发明的范围内可以进行各种等效的修改。
按照上述详细说明可以对本发明进行这些修改。用于下列权利要求的术语不应当被解释为把本发明限制为在说明书和权利要求中所公开的具体实施例中。相反地,本发明的范围完全由下列权利要求来确定,依照所建立的权利要求解释规则来解释权利要求。
Claims (30)
1.一种用于跨越多个计算平台共享资源的方法,包括:
在第一计算平台上接收用于访问共享资源的资源访问请求;
确定第二计算平台,经由所述第二计算平台可以访问所述共享资源;
向所述第二计算平台发送所述资源访问请求;并且
经由所述第二计算平台访问所述共享资源。
2.如权利要求1所述的方法,其中多个计算平台包括在刀片式服务器环境中操作的多个服务器刀片。
3.如权利要求1所述的方法,其中对在多个计算平台上运行的操作系统以透明的方式来执行所述方法。
4.如权利要求1所述的方法,其中由在多个计算平台中的每一个上运行的固件来使所述方法便于进行。
5.如权利要求1所述的方法,其中经由带外(OOB)通信信道向所述第二计算平台发送所述资源访问请求。
6.如权利要求5所述的方法,其中所述OOB通信信道包括系统管理总线、基于以太网的网络或串行通信链路之一。
7.如权利要求5所述的方法,其中目标资源包括存储装置。
8.如权利要求7所述的方法,其中所述资源访问请求包括存储装置写入请求,并且所述方法还包括经由OOB通信信道发送对应于所述存储装置写入请求的数据。
9.如权利要求7所述的方法,其中所述资源访问请求包括存储装置读取请求,并且所述方法还包括:
从所述共享资源获取对应于所述读取请求的数据;并且
经由OOB通信信道把所获取的数据发送回第一计算平台。
10.如权利要求1所述的方法,还包括:保持全局资源映象数据,其用于识别哪些资源经由哪些计算平台是可访问的;并且
使用所述全局资源映象数据来确定哪个计算平台用于访问所述共享资源。
11.如权利要求10所述的方法,其中在多个计算平台中的每一个上保持所述全局资源映象数据的本地拷贝。
12.如权利要求10所述的方法,其中由中央全局资源管理器保持所述全局资源映象数据。
13.一种用于跨越多个计算平台共享多个存储装置的方法,包括:
把多个存储装置配置为虚拟存储体;
保持全局资源映象,所述全局资源映象把为虚拟存储体定义的输入/输出(I/O)块映射到实际上拥有所述I/O块的相应存储装置;
接收用于识别I/O块的数据访问请求,经由虚拟存储体从所述I/O块访问数据;
识别计算平台,经由所述计算平台通过使用全局资源映象来访问实际上拥有I/O块的目标存储装置;
把数据访问请求路由到所识别的计算平台;并且
经由所识别的计算平台来访问所述目标存储装置上的I/O块。
14.如权利要求13所述的方法,还包括:
把多个存储装置配置为至少一个RAID(独立磁盘冗余阵列)存储体;
保持RAID配置映象信息,所述RAID配置映象信息把为所述至少一个RAID虚拟存储体定义的输入/输出(I/O)块映射到实际上拥有所述I/O块的相应存储装置;并且
响应于读取和写入访问请求,使用所述RAID配置映象信息来访问适当的存储装置。
15.如权利要求14所述的方法,其中依照RAID-1标准来配置RAID虚拟存储体。
16.一种用于跨越多个计算平台共享输入装置的方法,包括:
把在第一计算平台所产生的输入数据路由到第二计算平台,所述输入数据响应于接收到由耦合到第一计算平台的输入装置所生成的输入信号而产生;并且
向在所述第二计算平台上运行的操作系统提供所述输入数据。
17.如权利要求16所述的方法,其中对在所述第二计算平台上运行的操作系统以透明的方式通过固件来执行所述方法。
18.如权利要求16所述的方法,其中所述输入装置包括键盘和鼠标之一。
19.一种用于跨越多个计算平台共享键盘、视频和鼠标资源的方法,包括:
响应于经由与资源拥有者计算平台相耦合的键盘和鼠标的用户输入,把在所述资源拥有者计算平台生成的用户输入数据路由到目标计算平台;
向在所述目标计算平台上运行的操作系统提供所述用户输入数据;
把由在所述目标计算平台上运行的操作系统所生成的视频数据路由到所述资源拥有者计算平台;并且
在所述资源拥有者计算平台处理所述视频数据,以便产生用于驱动与所述资源拥有者计算平台耦合的视频显示器的视频显示信号。
20.如权利要求19所述的方法,其中在资源拥有者计算平台和目标计算平台中的每个上存储的固件使所述方法便于进行。
21.如权利要求19所述的方法,还包括保持用于识别所述资源拥有者计算平台和目标计算平台的全局资源映象信息。
22.如权利要求19所述的方法,其中经由带外通信信道路由所述用户输入和视频数据。
23.一种包括计算机可读介质的制造产品,在所述计算机可读介质中存储有指令,所述指令当在第一和第二计算平台上执行时通过执行下列操作来支持共享与所述第一计算平台耦合的键盘、视频和鼠标资源,所述操作包括:
响应于经由所述键盘和鼠标的用户输入,把在所述第一计算平台生成的输入数据路由到第二计算平台;
向在所述第二计算平台上运行的操作系统提供所述输入数据;并且
把由在所述第二计算平台上运行的操作系统生成的视频数据路由到所述第一计算平台上的视频信号产生组件。
24.如权利要求23所述的制造产品,其中所述指令包括固件指令。
25.如权利要求23所述的制造产品,其中所述制造产品包括闪速装置。
26.如权利要求23所述的制造产品,其中对在所述第二计算平台上运行的操作系统以透明的方式来执行所述操作。
27.一种刀片式服务器系统,包括:
机箱,包括其中可以插入各自服务器刀片的多个槽;
具有多个连接器的接口面板,所述多个连接器用于与所插入的服务器刀片上的相应连接器紧密配合,并且在多个连接器之间提供通信路径以便使带外(OOB)通信信道便于进行;和
多个服务器刀片,其每一个在其上包括可执行下列操作的固件和处理器,所述操作包括:
从在请求服务器刀片上运行的操作系统接收资源访问请求以便访问由多个服务器刀片中的至少一个所拥有的共享资源;
从拥有可以服务所述资源访问请求的目标资源的多个服务器刀片中确定目标资源拥有者;
向所述目标资源拥有者发送所述资源访问请求;并且
经由所述目标资源拥有者访问所述目标资源以便服务所述资源访问请求。
28.如权利要求27所述的刀片式服务器系统,其中对可以在多个服务器刀片上运行的操作系统以透明的方式来执行所述操作。
29.如权利要求27所述的刀片式服务器系统,其中由带外OOB通信信道使在多个服务器刀片之间的通信便于进行。
30.如权利要求29所述的刀片式服务器系统,其中每个处理器支持隐藏执行模式,所述隐藏执行模式用于使经由OOB信道的通信便于进行。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/606,636 | 2003-06-25 | ||
US10/606,636 US20050015430A1 (en) | 2003-06-25 | 2003-06-25 | OS agnostic resource sharing across multiple computing platforms |
PCT/US2004/018253 WO2005006186A2 (en) | 2003-06-25 | 2004-06-09 | Os agnostic resource sharing across multiple computing platforms |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101142553A true CN101142553A (zh) | 2008-03-12 |
CN101142553B CN101142553B (zh) | 2012-05-30 |
Family
ID=34062276
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2004800180348A Expired - Fee Related CN101142553B (zh) | 2003-06-25 | 2004-06-09 | 跨越多个计算平台的操作系统不可知的资源共享 |
Country Status (5)
Country | Link |
---|---|
US (2) | US20050015430A1 (zh) |
EP (1) | EP1636696B1 (zh) |
JP (1) | JP4242420B2 (zh) |
CN (1) | CN101142553B (zh) |
WO (1) | WO2005006186A2 (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102016821A (zh) * | 2008-04-30 | 2011-04-13 | 通用仪表公司 | 限制对共享媒体内容的访问 |
CN101594235B (zh) * | 2009-06-02 | 2011-07-20 | 浪潮电子信息产业股份有限公司 | 一种基于smbus总线对刀片服务器进行管理的方法 |
CN102985914A (zh) * | 2010-07-14 | 2013-03-20 | 英特尔公司 | 通过端口共享硬件对存储设备的带外访问 |
CN101421700B (zh) * | 2006-04-19 | 2013-05-01 | 英特尔公司 | 支持处理系统的分区中的独立操作系统的方法和设备 |
CN102067101B (zh) * | 2008-06-20 | 2013-07-24 | 惠普开发有限公司 | 低层级初始化器 |
CN103379104A (zh) * | 2012-04-23 | 2013-10-30 | 联想(北京)有限公司 | 一种远程数据共享方法及装置 |
CN102132251B (zh) * | 2008-07-17 | 2014-04-30 | Lsi公司 | 在虚拟服务器平台上启动可启动虚拟存储设备的系统和方法 |
CN104937567A (zh) * | 2013-01-31 | 2015-09-23 | 惠普发展公司,有限责任合伙企业 | 用于大共享地址空间的映射机构 |
CN105808550A (zh) * | 2014-12-30 | 2016-07-27 | 迈普通信技术股份有限公司 | 一种访问文件的方法及装置 |
CN107272549A (zh) * | 2016-04-07 | 2017-10-20 | 欧姆龙株式会社 | 控制装置、控制方法以及程序 |
CN109328338A (zh) * | 2016-07-22 | 2019-02-12 | 英特尔公司 | 用于确定和处理物理资源的度量数据的技术 |
CN111402083A (zh) * | 2020-02-21 | 2020-07-10 | 浙江口碑网络技术有限公司 | 资源信息的处理方法及装置、存储介质、终端 |
Families Citing this family (119)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004098715A2 (en) * | 2003-05-02 | 2004-11-18 | Op-D-Op, Inc. | Lightweight ventilated face shield frame |
US7434231B2 (en) * | 2003-06-27 | 2008-10-07 | Intel Corporation | Methods and apparatus to protect a protocol interface |
US20050256942A1 (en) * | 2004-03-24 | 2005-11-17 | Mccardle William M | Cluster management system and method |
US20060053215A1 (en) * | 2004-09-07 | 2006-03-09 | Metamachinix, Inc. | Systems and methods for providing users with access to computer resources |
US8150973B2 (en) * | 2004-12-30 | 2012-04-03 | Intel Corporation | Virtual serial port and protocol for use in serial-over-LAN communication |
US7949798B2 (en) * | 2004-12-30 | 2011-05-24 | Intel Corporation | Virtual IDE interface and protocol for use in IDE redirection communication |
US7623515B2 (en) * | 2005-07-14 | 2009-11-24 | Yahoo! Inc. | Content router notification |
US20070014277A1 (en) * | 2005-07-14 | 2007-01-18 | Yahoo! Inc. | Content router repository |
US7849199B2 (en) * | 2005-07-14 | 2010-12-07 | Yahoo ! Inc. | Content router |
US7631045B2 (en) * | 2005-07-14 | 2009-12-08 | Yahoo! Inc. | Content router asynchronous exchange |
US20070014307A1 (en) * | 2005-07-14 | 2007-01-18 | Yahoo! Inc. | Content router forwarding |
US20070038703A1 (en) * | 2005-07-14 | 2007-02-15 | Yahoo! Inc. | Content router gateway |
US20070016636A1 (en) * | 2005-07-14 | 2007-01-18 | Yahoo! Inc. | Methods and systems for data transfer and notification mechanisms |
US20070058657A1 (en) * | 2005-08-22 | 2007-03-15 | Graham Holt | System for consolidating and securing access to all out-of-band interfaces in computer, telecommunication, and networking equipment, regardless of the interface type |
US20070074191A1 (en) * | 2005-08-30 | 2007-03-29 | Geisinger Nile J | Software executables having virtual hardware, operating systems, and networks |
US20070050765A1 (en) * | 2005-08-30 | 2007-03-01 | Geisinger Nile J | Programming language abstractions for creating and controlling virtual computers, operating systems and networks |
US20070074192A1 (en) * | 2005-08-30 | 2007-03-29 | Geisinger Nile J | Computing platform having transparent access to resources of a host platform |
US20070050770A1 (en) * | 2005-08-30 | 2007-03-01 | Geisinger Nile J | Method and apparatus for uniformly integrating operating system resources |
US20070067769A1 (en) * | 2005-08-30 | 2007-03-22 | Geisinger Nile J | Method and apparatus for providing cross-platform hardware support for computer platforms |
US7356638B2 (en) | 2005-10-12 | 2008-04-08 | International Business Machines Corporation | Using out-of-band signaling to provide communication between storage controllers in a computer storage system |
US7873696B2 (en) * | 2005-10-28 | 2011-01-18 | Yahoo! Inc. | Scalable software blade architecture |
US7870288B2 (en) * | 2005-10-28 | 2011-01-11 | Yahoo! Inc. | Sharing data in scalable software blade architecture |
US7779157B2 (en) * | 2005-10-28 | 2010-08-17 | Yahoo! Inc. | Recovering a blade in scalable software blade architecture |
US8024290B2 (en) | 2005-11-14 | 2011-09-20 | Yahoo! Inc. | Data synchronization and device handling |
US8065680B2 (en) * | 2005-11-15 | 2011-11-22 | Yahoo! Inc. | Data gateway for jobs management based on a persistent job table and a server table |
US7986844B2 (en) * | 2005-11-22 | 2011-07-26 | Intel Corporation | Optimized video compression using hashing function |
TW200725475A (en) * | 2005-12-29 | 2007-07-01 | Inventec Corp | Sharing method of display chip |
US7930681B2 (en) * | 2005-12-30 | 2011-04-19 | Sap Ag | Service and application management in information technology systems |
US8527542B2 (en) * | 2005-12-30 | 2013-09-03 | Sap Ag | Generating contextual support requests |
US7979733B2 (en) | 2005-12-30 | 2011-07-12 | Sap Ag | Health check monitoring process |
US9367832B2 (en) * | 2006-01-04 | 2016-06-14 | Yahoo! Inc. | Synchronizing image data among applications and devices |
JP5082252B2 (ja) * | 2006-02-09 | 2012-11-28 | 株式会社日立製作所 | サーバ情報収集方法 |
JP2007293518A (ja) * | 2006-04-24 | 2007-11-08 | Hitachi Ltd | コンピュータのシステム構成方法、コンピュータ及びシステム構成プログラム |
US7818558B2 (en) * | 2006-05-31 | 2010-10-19 | Andy Miga | Method and apparatus for EFI BIOS time-slicing at OS runtime |
US8078637B1 (en) * | 2006-07-28 | 2011-12-13 | Amencan Megatrends, Inc. | Memory efficient peim-to-peim interface database |
US20080034008A1 (en) * | 2006-08-03 | 2008-02-07 | Yahoo! Inc. | User side database |
US7685476B2 (en) * | 2006-09-12 | 2010-03-23 | International Business Machines Corporation | Early notification of error via software interrupt and shared memory write |
JP2008129869A (ja) * | 2006-11-21 | 2008-06-05 | Nec Computertechno Ltd | サーバ監視操作システム |
US20080270629A1 (en) * | 2007-04-27 | 2008-10-30 | Yahoo! Inc. | Data snychronization and device handling using sequence numbers |
US7853669B2 (en) * | 2007-05-04 | 2010-12-14 | Microsoft Corporation | Mesh-managing data across a distributed set of devices |
US7721013B2 (en) * | 2007-05-21 | 2010-05-18 | Intel Corporation | Communicating graphics data via an out of band channel |
US8386614B2 (en) * | 2007-05-25 | 2013-02-26 | Microsoft Corporation | Network connection manager |
US7932479B2 (en) * | 2007-05-31 | 2011-04-26 | Abbott Cardiovascular Systems Inc. | Method for laser cutting tubing using inert gas and a disposable mask |
US7873846B2 (en) * | 2007-07-31 | 2011-01-18 | Intel Corporation | Enabling a heterogeneous blade environment |
US7716309B2 (en) * | 2007-08-13 | 2010-05-11 | International Business Machines Corporation | Consistent data storage subsystem configuration replication |
US20090125901A1 (en) * | 2007-11-13 | 2009-05-14 | Swanson Robert C | Providing virtualization of a server management controller |
ES2541106T3 (es) * | 2007-11-22 | 2015-07-16 | Telefonaktiebolaget Lm Ericsson (Publ) | Procedimiento y dispositivo para cómputo o cálculo ágil |
TW200931259A (en) * | 2008-01-10 | 2009-07-16 | June On Co Ltd | Computer adaptor device capable of automatically updating the device-mapping |
US8838669B2 (en) * | 2008-02-08 | 2014-09-16 | Oracle International Corporation | System and method for layered application server processing |
US8572033B2 (en) | 2008-03-20 | 2013-10-29 | Microsoft Corporation | Computing environment configuration |
US9753712B2 (en) | 2008-03-20 | 2017-09-05 | Microsoft Technology Licensing, Llc | Application management within deployable object hierarchy |
US9298747B2 (en) * | 2008-03-20 | 2016-03-29 | Microsoft Technology Licensing, Llc | Deployable, consistent, and extensible computing environment platform |
US8484174B2 (en) * | 2008-03-20 | 2013-07-09 | Microsoft Corporation | Computing environment representation |
US20090248737A1 (en) * | 2008-03-27 | 2009-10-01 | Microsoft Corporation | Computing environment representation |
US7886021B2 (en) * | 2008-04-28 | 2011-02-08 | Oracle America, Inc. | System and method for programmatic management of distributed computing resources |
US8555048B2 (en) * | 2008-05-17 | 2013-10-08 | Hewlett-Packard Development Company, L.P. | Computer system for booting a system image by associating incomplete identifiers to complete identifiers via querying storage locations according to priority level where the querying is self adjusting |
WO2009140978A1 (en) * | 2008-05-21 | 2009-11-26 | Telefonaktiebolaget L M Ericsson (Publ) | Blade cluster switching center server and method for signaling |
RU2507703C2 (ru) * | 2008-05-21 | 2014-02-20 | Телефонактиеболагет Л М Эрикссон (Пабл) | Объединение ресурсов в сервере центра коммутации с кластером с электронными платами |
CN105117309B (zh) * | 2008-05-21 | 2019-03-29 | 艾利森电话股份有限公司 | 刀片集群交换中心服务器中的资源池化 |
US8041794B2 (en) * | 2008-09-29 | 2011-10-18 | Intel Corporation | Platform discovery, asset inventory, configuration, and provisioning in a pre-boot environment using web services |
US7904630B2 (en) * | 2008-10-15 | 2011-03-08 | Seagate Technology Llc | Bus-connected device with platform-neutral layers |
CN101783736B (zh) * | 2009-01-15 | 2016-09-07 | 华为终端有限公司 | 一种终端接受多服务器管理的方法、装置及通信系统 |
CN102449622A (zh) * | 2009-05-29 | 2012-05-09 | 惠普开发有限公司 | 用于向虚拟机分配服务器资源的系统和方法 |
US8271704B2 (en) | 2009-06-16 | 2012-09-18 | International Business Machines Corporation | Status information saving among multiple computers |
US8402186B2 (en) * | 2009-06-30 | 2013-03-19 | Intel Corporation | Bi-directional handshake for advanced reliabilty availability and serviceability |
US7970954B2 (en) * | 2009-08-04 | 2011-06-28 | Dell Products, Lp | System and method of providing a user-friendly device path |
US10185594B2 (en) * | 2009-10-29 | 2019-01-22 | International Business Machines Corporation | System and method for resource identification |
US8806231B2 (en) | 2009-12-22 | 2014-08-12 | Intel Corporation | Operating system independent network event handling |
US8667110B2 (en) * | 2009-12-22 | 2014-03-04 | Intel Corporation | Method and apparatus for providing a remotely managed expandable computer system |
US8667191B2 (en) * | 2010-01-15 | 2014-03-04 | Kingston Technology Corporation | Managing and indentifying multiple memory storage devices |
JP5636703B2 (ja) * | 2010-03-11 | 2014-12-10 | 沖電気工業株式会社 | ブレードサーバ |
US20110288932A1 (en) * | 2010-05-21 | 2011-11-24 | Inedible Software, LLC, a Wyoming Limited Liability Company | Apparatuses, systems and methods for determining installed software applications on a computing device |
US8370618B1 (en) * | 2010-06-16 | 2013-02-05 | American Megatrends, Inc. | Multiple platform support in computer system firmware |
US8410364B2 (en) | 2010-07-21 | 2013-04-02 | Birchbridge Incorporated | Universal rack cable management system |
US8441793B2 (en) | 2010-07-21 | 2013-05-14 | Birchbridge Incorporated | Universal rack backplane system |
US20120020349A1 (en) * | 2010-07-21 | 2012-01-26 | GraphStream Incorporated | Architecture for a robust computing system |
US8441792B2 (en) | 2010-07-21 | 2013-05-14 | Birchbridge Incorporated | Universal conduction cooling platform |
US8411440B2 (en) | 2010-07-21 | 2013-04-02 | Birchbridge Incorporated | Cooled universal hardware platform |
US8259450B2 (en) | 2010-07-21 | 2012-09-04 | Birchbridge Incorporated | Mobile universal hardware platform |
US8386618B2 (en) | 2010-09-24 | 2013-02-26 | Intel Corporation | System and method for facilitating wireless communication during a pre-boot phase of a computing device |
US8984109B2 (en) | 2010-11-02 | 2015-03-17 | International Business Machines Corporation | Ensemble having one or more computing systems and a controller thereof |
US9253016B2 (en) | 2010-11-02 | 2016-02-02 | International Business Machines Corporation | Management of a data network of a computing environment |
US8959220B2 (en) | 2010-11-02 | 2015-02-17 | International Business Machines Corporation | Managing a workload of a plurality of virtual servers of a computing environment |
US8966020B2 (en) | 2010-11-02 | 2015-02-24 | International Business Machines Corporation | Integration of heterogeneous computing systems into a hybrid computing system |
US9081613B2 (en) | 2010-11-02 | 2015-07-14 | International Business Machines Corporation | Unified resource manager providing a single point of control |
US9195509B2 (en) | 2011-01-05 | 2015-11-24 | International Business Machines Corporation | Identifying optimal platforms for workload placement in a networked computing environment |
US8819708B2 (en) * | 2011-01-10 | 2014-08-26 | Dell Products, Lp | System and method to abstract hardware routing via a correlatable identifier |
US8868749B2 (en) | 2011-01-18 | 2014-10-21 | International Business Machines Corporation | Workload placement on an optimal platform in a networked computing environment |
US8634415B2 (en) * | 2011-02-16 | 2014-01-21 | Oracle International Corporation | Method and system for routing network traffic for a blade server |
US9858241B2 (en) | 2013-11-05 | 2018-01-02 | Oracle International Corporation | System and method for supporting optimized buffer utilization for packet processing in a networking device |
US9465660B2 (en) | 2011-04-11 | 2016-10-11 | Hewlett Packard Enterprise Development Lp | Performing a task in a system having different types of hardware resources |
US10966339B1 (en) * | 2011-06-28 | 2021-03-30 | Amazon Technologies, Inc. | Storage system with removable solid state storage devices mounted on carrier circuit boards |
DE102011078630A1 (de) * | 2011-07-05 | 2013-01-10 | Robert Bosch Gmbh | Verfahren zum Einrichten einer Anordnung technischer Einheiten |
CN102955509B (zh) * | 2011-08-31 | 2017-07-21 | 赛恩倍吉科技顾问(深圳)有限公司 | 硬盘背板及硬盘存储系统 |
US9558092B2 (en) | 2011-12-12 | 2017-01-31 | Microsoft Technology Licensing, Llc | Runtime-agnostic management of applications |
CN102546782B (zh) * | 2011-12-28 | 2015-04-29 | 北京奇虎科技有限公司 | 一种分布式系统及其数据操作方法 |
JP5966466B2 (ja) | 2012-03-14 | 2016-08-10 | 富士通株式会社 | バックアップ制御方法、および情報処理装置 |
US9292108B2 (en) | 2012-06-28 | 2016-03-22 | Dell Products Lp | Systems and methods for remote mouse pointer management |
US9712373B1 (en) | 2012-07-30 | 2017-07-18 | Rambus Inc. | System and method for memory access in server communications |
US9191435B2 (en) | 2012-08-23 | 2015-11-17 | TidalScale, Inc. | Selective data migration or remapping of virtual processors to provide required data accessibility to processor cores |
WO2014158153A1 (en) * | 2013-03-28 | 2014-10-02 | Hewlett-Packard Development Company, L.P. | Identifying memory of a blade device for use by an operating system of a partition including the blade device |
US10289467B2 (en) | 2013-03-28 | 2019-05-14 | Hewlett Packard Enterprise Development Lp | Error coordination message for a blade device having a logical processor in another system firmware domain |
WO2014158152A1 (en) * | 2013-03-28 | 2014-10-02 | Hewlett-Packard Development Company, L.P. | Making memory of compute and expansion blade devices available for use by an operating system |
US9203772B2 (en) | 2013-04-03 | 2015-12-01 | Hewlett-Packard Development Company, L.P. | Managing multiple cartridges that are electrically coupled together |
CN103353856A (zh) * | 2013-07-02 | 2013-10-16 | 华为技术有限公司 | 硬盘及硬盘的数据转发和获取方法 |
US9489327B2 (en) | 2013-11-05 | 2016-11-08 | Oracle International Corporation | System and method for supporting an efficient packet processing model in a network environment |
US10353744B2 (en) | 2013-12-02 | 2019-07-16 | Hewlett Packard Enterprise Development Lp | System wide manageability |
US9195429B2 (en) * | 2014-03-10 | 2015-11-24 | Gazoo, Inc. | Multi-user display system and method |
KR101996896B1 (ko) | 2014-12-29 | 2019-07-05 | 삼성전자주식회사 | 가상 디바이스 드라이버를 이용한 리소스 공유 방법 및 그 전자 디바이스 |
US11360673B2 (en) | 2016-02-29 | 2022-06-14 | Red Hat, Inc. | Removable data volume management |
US10601725B2 (en) * | 2016-05-16 | 2020-03-24 | International Business Machines Corporation | SLA-based agile resource provisioning in disaggregated computing systems |
US10579421B2 (en) | 2016-08-29 | 2020-03-03 | TidalScale, Inc. | Dynamic scheduling of virtual processors in a distributed system |
US10609130B2 (en) | 2017-04-28 | 2020-03-31 | Microsoft Technology Licensing, Llc | Cluster resource management in distributed computing systems |
US10579274B2 (en) | 2017-06-27 | 2020-03-03 | TidalScale, Inc. | Hierarchical stalling strategies for handling stalling events in a virtualized environment |
US10817347B2 (en) | 2017-08-31 | 2020-10-27 | TidalScale, Inc. | Entanglement of pages and guest threads |
US10992593B2 (en) | 2017-10-06 | 2021-04-27 | Bank Of America Corporation | Persistent integration platform for multi-channel resource transfers |
US11552803B1 (en) | 2018-09-19 | 2023-01-10 | Amazon Technologies, Inc. | Systems for provisioning devices |
US11229135B2 (en) | 2019-04-01 | 2022-01-18 | Dell Products L.P. | Multiple function chassis mid-channel |
RU209333U1 (ru) * | 2021-09-27 | 2022-03-15 | Российская Федерация, от имени которой выступает Государственная корпорация по атомной энергии "Росатом" (Госкорпорация "Росатом") | Высокоплотный вычислительный узел |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5696895A (en) * | 1995-05-19 | 1997-12-09 | Compaq Computer Corporation | Fault tolerant multiple network servers |
US5721842A (en) * | 1995-08-25 | 1998-02-24 | Apex Pc Solutions, Inc. | Interconnection system for viewing and controlling remotely connected computers with on-screen video overlay for controlling of the interconnection switch |
US6671756B1 (en) | 1999-05-06 | 2003-12-30 | Avocent Corporation | KVM switch having a uniprocessor that accomodate multiple users and multiple computers |
US7343441B1 (en) * | 1999-12-08 | 2008-03-11 | Microsoft Corporation | Method and apparatus of remote computer management |
AU2001253613A1 (en) * | 2000-04-17 | 2001-10-30 | Circadence Corporation | System and method for shifting functionality between multiple web servers |
AU2001265090A1 (en) | 2000-06-13 | 2001-12-24 | Intel Corporation | Providing client accessible network-based storage |
US6889340B1 (en) * | 2000-10-13 | 2005-05-03 | Phoenix Technologies Ltd. | Use of extra firmware flash ROM space as a diagnostic drive |
US6477618B2 (en) * | 2000-12-28 | 2002-11-05 | Emc Corporation | Data storage system cluster architecture |
US7339786B2 (en) * | 2001-03-05 | 2008-03-04 | Intel Corporation | Modular server architecture with Ethernet routed across a backplane utilizing an integrated Ethernet switch module |
US7374974B1 (en) * | 2001-03-22 | 2008-05-20 | T-Ram Semiconductor, Inc. | Thyristor-based device with trench dielectric material |
US7424551B2 (en) * | 2001-03-29 | 2008-09-09 | Avocent Corporation | Passive video multiplexing method and apparatus priority to prior provisional application |
US7073059B2 (en) * | 2001-06-08 | 2006-07-04 | Hewlett-Packard Development Company, L.P. | Secure machine platform that interfaces to operating systems and customized control programs |
US7225245B2 (en) * | 2001-08-09 | 2007-05-29 | Intel Corporation | Remote diagnostics system |
US7269630B2 (en) * | 2001-10-17 | 2007-09-11 | International Business Machines Corporation | Automatically switching shared remote devices in a dense server environment thereby allowing the remote devices to function as a local device |
US7003563B2 (en) * | 2001-11-02 | 2006-02-21 | Hewlett-Packard Development Company, L.P. | Remote management system for multiple servers |
GB2382419B (en) * | 2001-11-22 | 2005-12-14 | Hewlett Packard Co | Apparatus and method for creating a trusted environment |
US6968414B2 (en) * | 2001-12-04 | 2005-11-22 | International Business Machines Corporation | Monitoring insertion/removal of server blades in a data processing system |
US6901534B2 (en) * | 2002-01-15 | 2005-05-31 | Intel Corporation | Configuration proxy service for the extended firmware interface environment |
US6848034B2 (en) * | 2002-04-04 | 2005-01-25 | International Business Machines Corporation | Dense server environment that shares an IDE drive |
US7398293B2 (en) * | 2002-04-17 | 2008-07-08 | Dell Products L.P. | System and method for using a shared bus for video communications |
US7114180B1 (en) * | 2002-07-16 | 2006-09-26 | F5 Networks, Inc. | Method and system for authenticating and authorizing requestors interacting with content servers |
US7191347B2 (en) * | 2002-12-31 | 2007-03-13 | International Business Machines Corporation | Non-disruptive power management indication method, system and apparatus for server |
US20040181601A1 (en) * | 2003-03-14 | 2004-09-16 | Palsamy Sakthikumar | Peripheral device sharing |
US7440998B2 (en) * | 2003-06-18 | 2008-10-21 | Intel Corporation | Provisioning for a modular server |
-
2003
- 2003-06-25 US US10/606,636 patent/US20050015430A1/en not_active Abandoned
-
2004
- 2004-03-24 US US10/808,656 patent/US7730205B2/en not_active Expired - Fee Related
- 2004-06-09 WO PCT/US2004/018253 patent/WO2005006186A2/en active Application Filing
- 2004-06-09 EP EP04754766.6A patent/EP1636696B1/en not_active Not-in-force
- 2004-06-09 JP JP2006509095A patent/JP4242420B2/ja not_active Expired - Fee Related
- 2004-06-09 CN CN2004800180348A patent/CN101142553B/zh not_active Expired - Fee Related
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101421700B (zh) * | 2006-04-19 | 2013-05-01 | 英特尔公司 | 支持处理系统的分区中的独立操作系统的方法和设备 |
CN102016821A (zh) * | 2008-04-30 | 2011-04-13 | 通用仪表公司 | 限制对共享媒体内容的访问 |
CN102067101B (zh) * | 2008-06-20 | 2013-07-24 | 惠普开发有限公司 | 低层级初始化器 |
CN102132251B (zh) * | 2008-07-17 | 2014-04-30 | Lsi公司 | 在虚拟服务器平台上启动可启动虚拟存储设备的系统和方法 |
CN101594235B (zh) * | 2009-06-02 | 2011-07-20 | 浪潮电子信息产业股份有限公司 | 一种基于smbus总线对刀片服务器进行管理的方法 |
CN102985914A (zh) * | 2010-07-14 | 2013-03-20 | 英特尔公司 | 通过端口共享硬件对存储设备的带外访问 |
CN102985914B (zh) * | 2010-07-14 | 2016-01-27 | 英特尔公司 | 通过端口共享硬件对存储设备的带外访问 |
CN103379104A (zh) * | 2012-04-23 | 2013-10-30 | 联想(北京)有限公司 | 一种远程数据共享方法及装置 |
CN104937567A (zh) * | 2013-01-31 | 2015-09-23 | 惠普发展公司,有限责任合伙企业 | 用于大共享地址空间的映射机构 |
CN105808550A (zh) * | 2014-12-30 | 2016-07-27 | 迈普通信技术股份有限公司 | 一种访问文件的方法及装置 |
CN105808550B (zh) * | 2014-12-30 | 2019-02-15 | 迈普通信技术股份有限公司 | 一种访问文件的方法及装置 |
CN107272549A (zh) * | 2016-04-07 | 2017-10-20 | 欧姆龙株式会社 | 控制装置、控制方法以及程序 |
CN109328338A (zh) * | 2016-07-22 | 2019-02-12 | 英特尔公司 | 用于确定和处理物理资源的度量数据的技术 |
CN111402083A (zh) * | 2020-02-21 | 2020-07-10 | 浙江口碑网络技术有限公司 | 资源信息的处理方法及装置、存储介质、终端 |
CN111402083B (zh) * | 2020-02-21 | 2021-09-21 | 浙江口碑网络技术有限公司 | 资源信息的处理方法及装置、存储介质、终端 |
Also Published As
Publication number | Publication date |
---|---|
US20050021847A1 (en) | 2005-01-27 |
US7730205B2 (en) | 2010-06-01 |
EP1636696B1 (en) | 2013-07-24 |
US20050015430A1 (en) | 2005-01-20 |
JP4242420B2 (ja) | 2009-03-25 |
WO2005006186A3 (en) | 2007-05-10 |
CN101142553B (zh) | 2012-05-30 |
EP1636696A2 (en) | 2006-03-22 |
JP2007526527A (ja) | 2007-09-13 |
WO2005006186A2 (en) | 2005-01-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101142553B (zh) | 跨越多个计算平台的操作系统不可知的资源共享 | |
US7222339B2 (en) | Method for distributed update of firmware across a clustered platform infrastructure | |
CN101206581B (zh) | 用于使用外部存储设备引导的系统和方法 | |
CN101076782B (zh) | 提供虚拟刀片服务器的方法和装置 | |
US7478177B2 (en) | System and method for automatic reassignment of shared storage on blade replacement | |
CN101436165B (zh) | 用于iov适配器管理的系统和方法 | |
US7162560B2 (en) | Partitionable multiprocessor system having programmable interrupt controllers | |
US6990573B2 (en) | System and method for sharing storage to boot multiple servers | |
US20030110351A1 (en) | System and method supporting virtual local data storage | |
US20120137065A1 (en) | Virtual Port Mapped RAID Volumes | |
CN102200921A (zh) | 智能引导设备选择和恢复 | |
US20060010278A1 (en) | System and method for managing bus numbering | |
US10289564B2 (en) | Computer and memory region management method | |
CN102541619A (zh) | 虚拟机管理装置和方法 | |
CA2437600A1 (en) | Nonvolatille logical partition system data management | |
US7912919B2 (en) | Common storage in scalable computer systems | |
CN1937628A (zh) | 用于管理数据处理目标实体的方法和系统 | |
CN1834912B (zh) | 用于可扩展互联网引擎的iSCSI引导驱动系统及方法 | |
US10261821B2 (en) | System and method to expose remote virtual media partitions to virtual machines | |
US8595362B2 (en) | Managing hardware resources for soft partitioning | |
KR101436101B1 (ko) | 사용자 단말의 저장 장치를 대체하는 서비스를 제공하는 서버 장치 및 그 방법 | |
KR101849708B1 (ko) | 사용자 단말의 저장 장치를 대체하는 서비스를 제공하는 서버 장치 및 그 방법 | |
US11544013B2 (en) | Array-based copy mechanism utilizing logical addresses pointing to same data block | |
US20240103849A1 (en) | Systems and methods for supporting rebootless firmware updates | |
TW202326432A (zh) | 遠端虛擬系統、主機伺服器及電腦系統 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120530 Termination date: 20150609 |
|
EXPY | Termination of patent right or utility model |