CN108604115B - 用于机架中的节点的分布式操作系统功能 - Google Patents

用于机架中的节点的分布式操作系统功能 Download PDF

Info

Publication number
CN108604115B
CN108604115B CN201680065818.9A CN201680065818A CN108604115B CN 108604115 B CN108604115 B CN 108604115B CN 201680065818 A CN201680065818 A CN 201680065818A CN 108604115 B CN108604115 B CN 108604115B
Authority
CN
China
Prior art keywords
class
functions
function
node
nodes
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.)
Active
Application number
CN201680065818.9A
Other languages
English (en)
Other versions
CN108604115A (zh
Inventor
F·埃贝尔
R·克劳贝格
A·C·多林
P·萨格梅斯特
M·L·施玛茨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN108604115A publication Critical patent/CN108604115A/zh
Application granted granted Critical
Publication of CN108604115B publication Critical patent/CN108604115B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Multi Processors (AREA)
  • Hardware Redundancy (AREA)
  • Stored Programmes (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Abstract

计算机实现的方法包括管理具有分布式操作系统(OS)的机架系统(100)的多个节点(120)和超级节点(130)之间的功能调用。OS包括分为第一类(160)和第二类(165)的多个功能,并且多个节点(120)中的每一个都不包括第二类(165)中的功能。管理功能调用包括检测对多个节点(120)中的第一节点上的第一功能的调用。确定第一个功能属于第二类(165)功能,并且在第一个节点上不可用。响应于确定第一功能属于第二类(165),对第一功能的调用被路由到超级节点(130),其中超级节点(130)包括用于第二类(165)中的功能的代码。

Description

用于机架中的节点的分布式操作系统功能
技术领域
本发明的实施例涉及机架系统,并且更具体地涉及用于机架中的节点的分布式操作系统功能。
背景技术
传统的机架系统包含相互通信的服务器。例如,机架系统可以包括二十到四十台服务器。然而,未来的机架系统可能包含数千台服务器。机架系统中的每台服务器都可以运行虚拟机,这些虚拟机在机架系统中表现为节点。因此,一台服务器可以包括多个虚拟机,这些虚拟机可以通过服务器相互通信。类似地,机架可以包括彼此通信的多个服务器。
操作系统是管理计算机的硬件和软件资源并使硬件和软件进行通信的一种软件形式。在包括许多服务器的机架系统中,每台服务器和每台服务器上的每个虚拟机在某些方面独立运行,因此拥有自己的操作系统。
发明内容
根据本公开的实施例,用于代表节点执行操作系统(OS)功能的计算机实现的方法包括管理具有分布式OS的机架系统的多个节点和超级节点之间的功能调用。OS包括被划分为至少第一类OS功能和第二类OS功能的多个OS功能,并且多个节点中的每一个都不包括第二类中的OS功能。管理功能调用包括由计算机处理器检测对多个节点中的第一节点上的第一OS功能的调用。确定第一OS功能属于第二类OS功能并且在第一节点上不可用。响应于确定第一OS功能属于第二类,对第一OS功能的调用被路由到超级节点,其中超级节点包括用于第二类中的OS功能的代码。
在另一个实施例中,用于代表节点执行OS功能的系统包括具有计算机可读指令的存储器以及用于执行计算机可读指令的一个或多个处理器。计算机可读指令包括管理具有分布式OS的机架系统的多个节点和超级节点之间的功能调用。OS包括被划分为至少第一类OS功能和第二类OS功能的多个OS功能,并且多个节点中的每一个不包括第二类中的OS功能。根据计算机可读指令,管理功能调用包括检测对多个节点中的第一节点上的第一OS功能的调用。确定第一OS功能属于第二类OS功能并且在第一节点上不可用。响应于确定第一OS功能属于第二类,对第一OS功能的调用被路由到超级节点,其中超级节点包括用于第二类中的OS功能的代码。
在又一个实施例中,用于代表节点执行OS功能的计算机程序产品包括具有在其上实现的程序指令的计算机可读存储介质。程序指令可由处理器执行以使处理器执行方法。该方法包括管理具有分布式OS的机架系统的多个节点和超级节点之间的功能调用。OS包括被划分为至少第一类OS功能和第二类OS功能的多个OS功能,并且多个节点中的每一个不包括第二类中的OS功能。根据该方法,管理功能调用包括检测对多个节点中的第一节点上的第一OS功能的调用。确定第一OS功能属于第二类OS功能并且在第一节点上不可用。响应于确定第一OS功能属于第二类,对第一OS功能的调用被路由到超级节点,其中超级节点包括用于第二类中的OS功能的代码。
附加的特征和优点通过本发明的技术来实现。本文详细描述了本发明的其他实施例和方面,并且将其视为要求保护的本发明的一部分。为了更好地理解具有优点和特征的本发明,这里参考说明书和附图进行说明。
附图说明
在说明书结尾处的权利要求书中特别指出并明确要求了被视为本发明的主题。从以下结合附图的详细描述中,本发明的前述和其他特征和优点是显而易见的,其中:
图1A-1B是根据本公开的一些实施例的机架系统的框图;
图2A-2C是根据本公开的一些实施例的机架系统的附加框图;
图3是根据本公开的一些实施例的机架系统的又一框图;
图4是根据本公开的一些实施例的由机架系统的节点执行操作系统功能的方法的流程图;以及
图5是根据本公开的一些实施例的用于实现机架系统的一些或全部方面的计算机系统的框图。
具体实施方式
在传统的机架系统中,每个节点都有自己的操作系统。特别是对于具有许多节点的密集机架系统而言,许多操作系统可能在近距离执行相同的任务。此外,在单个节点内,某些操作系统功能可能很少使用。虽然出于功能性的目的每个节点都有必要访问操作系统的功能,但在机架系统的每个和所有节点上拥有并运行完整的操作系统代码也是一种浪费。
根据这里描述的机架系统的一些实施例,机架系统的每个节点不需要包括完整的操作系统。相反,节点可以访问存储在其他节点上的操作系统(OS)功能,因此不需要维护和运行它可能需要的每个操作系统功能的代码。
操作系统可以包括分成k类OS功能的多个OS功能,其中k是可用的不同操作类的数量,并且k大于1。类-i节点可以包含所有类-i的OS功能(即,第i类中的OS功能),其中i=1,...k。此外,类-i节点可以不包括其他类的OS功能,或者可以仅包括属于较低编号类的那些OS功能。当类-i节点调用类-j OS功能时,可以确定该OS功能是否属于不同于进行调用的节点的类的类(即,i是否等于j)。如果类不同且OS功能在类-i节点上不可用,则对类-j OS功能的调用可以被路由到包含类-j OS功能的类-j节点或其他节点。接收OS调用的节点可以代表做出调用的类-i节点执行类-j功能。
图1A是根据本公开的一些实施例的机架系统100的框图。如图所示,机架系统100可以包括一个或多个服务器110,它们一起具有包括一个或多个标准节点120和至少一个超级节点130的节点集合。一个或多个标准节点120中的每一个可以包括连接管理器140。
每个标准节点120或超级节点130可以是物理机或虚拟机或其他软件容器。例如,在一些实施例中,每个标准节点120或超级节点130可以是虚拟机,或者可以是包括多个插槽的硬件,每个插槽具有多个内核。各种标准节点120和超级节点130可以通过共享硬件150或通过一种或各种形式的网络连接(例如有线,WiFi,蓝牙或用于连接的其他机制)彼此通信。每个连接管理器140可以充当其相应的标准节点120与超级节点130之间的接口。
操作系统可以在机架系统100中分布,并且其各种OS功能不需要在每个标准节点120本地可用。例如,操作系统的第一类功能160可以在每个标准节点120上本地可用,而操作系统的第二类功能165可能在标准节点120上本地不可用。而第二类功能165可以在超级节点130上本地可用,并且可以由标准节点120通过标准节点120和超级节点130之间的通信远程访问。在一些实施例中,超级节点130可以包括具有来自第一类160和第二类165的全部功能的完整操作系统。
换句话说,假定每个OS功能可能需要执行代码以提供该OS功能,则标准节点120可以存储用于第一类功能160而不是第二类功能165的代码,而超级节点130可以存储第一类功能160和第二类功能165的代码。结果可能是OS功能的两层分布,从节点的角度来看,一些功能在本地可用,而其他功能只能在远程使用。简而言之,每个标准节点120可以仅包括部分操作系统。
操作系统的功能可以包括例如打印、存储器管理、过程管理等。机架系统100内的可用OS功能可以以各种方式被分类为第一类160和第二类165。例如但不作为限制,被认为可能被最频繁使用的功能可以在第一类160中,并且因此在本地可用于每个标准节点120,而被认为可能不太频繁使用的功能可以在第二类165中。结果,每个标准节点120可以快速访问它定期使用的功能,因为这些可以是本地可用的。
在一些实施例中,超级节点130可以包括完整的和集中式的操作系统功能。此外,在一些实施例中,超级节点130可以专用于此目的。超级节点130可代表各种标准节点120处理对第二类165中的OS功能的调用。在一些实施例中,为了使这些调用能够被有效地处理,与标准节点120相比,超级节点130可以具有更多的存储和处理能力。在接收到OS功能调用的通知时,超级节点130可执行被调用功能并将功能的结果传送给发出请求的标准节点120。例如但不作为限制,打印功能可能属于第二类165,因此可能在标准节点120上本地不可用。因此,当标准节点120需要打印文件时,该标准节点120可将表示该文件的数据传送给超级节点130,并且超级节点130可以打印文件并将所得到的确认或错误返回给标准节点120。
每个标准节点120可以执行分配给它的各种任务,例如根据来自服务提供商的租用标准节点120的顾客的指示。有时,标准节点120可能需要使用OS功能来执行任务。如果所需功能被本地存储,则标准节点120可按照常规方式执行该功能。然而,如果所需功能不在本地,则标准节点120可以通过与超级节点130的通信来访问该功能。该通信可以借助于节点的连接管理器140来进行。
每个标准节点120的连接管理器140可以帮助进行其对应的标准节点120和超级节点130之间的通信。为此,连接管理器140可以包括将OS功能调用转发到其他节点类型、例如到超级节点130的低级操作系统功能。在一些实施例中,除连接管理器140之外,标准节点120的其他组件不需要知道如何直接与超级节点130通信,从而允许超级节点130根据管理员的规定移动或改变。此外,标准节点120的这样的其他组件不需要知道标准节点120缺少对某些OS功能的本地访问。连接管理器140可以检测来自标准节点120的对第二类功能165的调用,并且可以代表标准节点120将这些调用传送给超级节点130。如果适用,连接管理器140还可以将回复这些功能调用的响应、例如确认、错误或数据返回到标准节点120。
在一些实施例中,当多个超级节点130可用时,连接管理器140可以知道每个这样的超级节点130。当对在标准节点120本地不可用的OS功能进行调用时,连接管理器140可以决定与哪个超级节点130进行通信以执行该功能。连接管理器140可以在做出该决定时考虑各种因素,例如超级节点130在执行调用时的先前延迟、可用性以及超级节点130可用的硬件资源。
虽然图1A示出了具有两类OS功能并因此具有分布在两层中的操作系统的机架系统100,但是机架系统100的一些实施例可以包括额外的类以及额外的层级。此外,如上所述,超级节点130不需要具有完整的操作系统,在一些实施例中,可以仅包括特定类别中的那些OS功能。
例如,图1B是根据本公开的一些实施例的机架系统100的另一个框图。如图所示,OS功能可以分为三类。在这种情况下,标准节点120可以在本地包括第一类160的功能,但不包括第二类165和第三类170的功能。一个或多个中间节点180可以包括第二类165的功能,并且在一些实施例中,不包括第三类170的功能。超级节点130可以包括第三类170的功能,并且在一些实施例中还可以包括第一类160和第二类165的功能。在图1B的示例中,标准节点120、中间节点180和超级节点130中的每一个仅包括相应类的OS功能,其分别是第一类160、第二类165和第三类170。然而,应当理解,中间节点180还可以包括第一类120的OS功能,并且超级节点130还可以包括第一类160和第二类165的OS功能。此外,在一些实施例中,节点类型的组合(例如,标准节点120、中间节点180和超级节点130)可以一起提供具有整套OS功能的完整操作系统。
图2A-2C是根据本公开的一些实施例的机架系统100的附加框图。如上所述,机架系统100可以包括多于一个的服务器110。因此,如图2A-2C所示,标准节点120不需要与代表其执行OS功能的第二类165的超级节点130共享硬件150。在这种情况下,可以在本地硬件150上执行存储在标准节点120上的本地OS功能,而代表标准节点120存储在超级节点130上的远程功能可以在超级节点130的硬件150上执行。
具体地,图2A示出了两个服务器110的使用,图2B示出了三个服务器110的使用,并且图2C示出了多于三个的多个服务器110。而且,虽然图2A-2C仅示出了通过连接管理器140与超级节点130通信的每个服务器110的单个标准节点120,但将理解,这些图仅为了说明目的而被简化,并且在每个服务器110中的每个标准节点120可以通过连接管理器140与超级节点130进行通信。
在一些实施例中,节点不需要在本地存储任何操作系统功能。作为例示,图3是根据本公开的一些实施例的机架系统100的又一框图。如图所示,机架系统100可以包括节点集合,节点集合包括一个或多个应用节点310和至少一个超级节点130。每个应用节点310可以不包括用于OS功能的本地代码,因此根本没有操作系统功能。换句话说,OS功能的第一类160可以是空的,并且所有的OS功能可以属于第二类165。完整的操作系统功能可以远程地存储在超级节点130中。虽然未示出,但是在一些实施例中,机架系统100除了超级节点130之外还可以包括标准节点120和应用节点310的混合。
当应用节点310需要使用OS功能时,该应用节点310可以与超级节点130通信,超级节点130可以代表应用节点310执行所需功能。如上所述,应用节点310与超级节点130之间的通信可以由连接管理器140来帮助进行。
图4是根据本公开的一些实施例的用于由标准节点120执行OS功能的方法400的流程图。如图所示,在框410处,标准节点120可能需要OS功能。在框420处,标准节点120可以调用它需要的OS功能。如果该功能是本地OS功能(即,在第一类160中),则在框430处,标准节点120可以按照其常规方式执行该功能。然而,如果该功能是远程OS功能(即,不在第一类160中),则在框440处,连接管理器140可以检测并拦截对该功能的调用。在那种情况下,在框450处,连接管理器140可以将调用传送给超级节点130。在框460处,超级节点130可以执行该功能并向连接管理器140发送响应。在框470处,连接管理器140可以将该响应转发给标准节点120。
图5示出了根据一些实施例的用于实现机架系统100或方法400的计算机系统500的框图。这里描述的机架系统100和方法400可以用硬件、软件(例如,固件)或其组合来实现。在一些实施例中,所描述的方法可以至少部分地以硬件来实现,并且可以是专用或通用计算机系统500(诸如个人计算机,工作站,小型计算机或大型计算机)的微处理器的一部分。例如,每个服务器110可以是计算机系统500。
在一些实施例中,如图5所示,计算机系统500包括处理器505、耦合到存储器控制器515的存储器510以及通过本地I/O控制器535可通信地连接的一个或多个输入设备545和/或输出设备540,例如外围设备。这些设备540和545可以包括例如打印机、扫描仪、麦克风等。诸如常规键盘550和鼠标555的输入设备可以耦合到I/O控制器535。例如,如本领域所知晓的,I/O控制器535可以是一个或多个总线或其他有线或无线连接。I/O控制器535可以具有附加的元件,例如控制器、缓冲器(高速缓存)、驱动器、中继器和接收器,以便实现通信,这里为了简化将其省略。
I/O设备540、545还可以包括传输输入和输出两者的设备,例如磁盘和磁带存储器、网络接口卡(NIC)或调制器/解调器(用于访问其他文件、设备、系统或网络)、射频(RF)或其他收发器、电话接口、网桥、路由器等。
处理器505是用于执行硬件指令或软件的硬件设备,尤其是存储在存储器510中的硬件指令或软件。处理器505可以是定制的或商用的处理器、中央处理单元(CPU)、与计算机系统500相关联的若干处理器中的辅助处理器、基于半导体的微处理器(以微芯片或芯片组的形式)、宏处理器或用于执行指令的其他设备。处理器505包括高速缓存570,其可以包括但不限于用于加速可执行指令提取的指令高速缓存、用于加速数据提取和存储的数据高速缓存以及用于加速用于可执行指令和数据的虚拟到物理地址转换的转换后备缓冲器(TLB)。高速缓存570可以被组织为更多高速缓存级别(L1,L2等)的层级结构。
存储器510可以包括易失性存储器元件(例如,随机存取存储器RAM,诸如DRAM、SRAM、SDRAM等)和非易失性存储器元件(例如,ROM,可擦除可编程只读存储器(EPROM),电子可擦除可编程只读存储器(EEPROM),可编程只读存储器(PROM),磁带,光盘只读存储器(CD-ROM),磁盘,软盘,盒式磁带或磁带等等)。此外,存储器510可以包含电子、磁性、光学或其他类型的存储介质。请注意,存储器510可以具有分布式架构,其中各个组件彼此远离地定位,但是可以由处理器505访问。
存储器510中的指令可以包括一个或多个单独的程序,每个程序包括用于实现逻辑功能的可执行指令的有序列表。在图5的示例中,存储器510中的指令包括合适的操作系统511。操作系统511本质上可以控制其他计算机程序的执行,并提供调度、输入输出控制、文件和数据管理、存储器管理以及通信控制和相关服务。
包括例如用于处理器505的指令或其他可检索信息的附加数据可以被存储在存储装置520中,存储装置520可以是诸如硬盘驱动器或固态驱动器之类的存储装置。存储在存储器510中或存储器520中的指令可以包括使得处理器能够执行本公开的机架系统100和方法400的一个或多个方面的指令。
计算机系统500还可以包括耦合到显示器530的显示器控制器525。在一些实施例中,计算机系统500可以进一步包括用于耦合到网络565的网络接口560。网络565可以是基于IP的网络,用于计算机系统500与外部服务器、客户端等通过宽带连接进行通信。网络565在计算机系统500和外部系统之间传输和接收数据。在一些实施例中,网络565可以是由服务提供商管理的受管IP网络。网络565可以以无线方式实现,例如使用无线协议和技术,诸如WiFi,WiMax等。网络565还可以是分组交换网络,例如局域网、广域网、城域网区域网络、因特网或其他类似的网络环境。网络565可以是固定无线网络、无线局域网(LAN)、无线广域网(WAN)、个人区域网络(PAN)、虚拟专用网络(VPN)、内联网或其他合适的网络系统,并且可以包括用于接收和发送信号的设备。
根据本公开的机架系统100和方法400可全部或部分地实现在计算机程序产品中或计算机系统500中,诸如图5所示的计算机系统。
一些实施例的技术效果和益处包括通过去除一些或全部OS功能并将它们放入超级节点130中来降低标准节点120和中间节点180的复杂性。结果,由于不必在本地维护所有的OS功能,标准节点120和中间节点180可以更高效地运行,因此可以节省机架系统100上的空间,因为一些OS功能的代码不需要存储到每个节点120上。
这里使用的术语仅用于描述特定实施例的目的,而不意图限制本发明。如本文所使用的,除非上下文另外清楚地指出,否则单数形式“一”、“一个”和“该”旨在也包括复数形式。将进一步理解的是,当在本说明书中使用时,术语“包括”和/或“包含”指定所陈述的特征、整体、步骤、操作、元件和/或组件的存在,但不排除存在或添加一个或多个其他特征、整体、步骤、操作、元件、部件和/或其组合。
下面的权利要求中的所有装置或步骤加功能元件的对应结构、材料、动作和等同物旨在包括用于结合具体要求保护的其他要求保护的元件执行功能的任何结构、材料或动作。已经出于例示和说明的目的呈现了本发明的描述,但是并非旨在是穷举的或者限于所公开的本发明。在不脱离本发明的范围和精神的情况下,对于本领域的普通技术人员来说,许多修改和变化将是显而易见的。对实施例的选择和描述是为了最好地解释本发明的原理和实际应用,以使本领域的其他普通技术人员能够理解本发明的各种具有各种修改的实施例,以适合于预期的特定用途。
本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
已经出于说明的目的呈现了本公开的各种实施例的描述,但是并非旨在是穷举的或者限于所公开的实施例。在不脱离所描述的实施例的范围和精神的情况下,对于本领域的普通技术人员来说,许多修改和变化将是显而易见的。选择在此使用的术语是为了最好地解释实施例的原理,实际应用或技术改进而不是在市场上找到的技术,或者使本领域的其他普通技术人员能够理解本文公开的实施例。

Claims (21)

1.一种用于代表节点执行操作系统(OS)功能的计算机实现的方法,包括:
管理包括分布式OS的机架系统的多个节点和超级节点之间的功能调用,所述OS包括被划分为至少第一类OS功能和第二类OS功能的多个OS功能,所述多个节点中的每一个不包括所述第二类中的OS功能,并且管理所述功能调用包括:
由计算机处理器检测对所述多个节点中的第一节点上的第一OS功能的调用;
确定所述第一OS功能属于所述第二类OS功能;以及
响应于确定所述第一OS功能属于所述第二类,将对所述第一OS功能的调用路由到所述超级节点,所述超级节点包括用于所述第一类和所述第二类中的OS功能的代码。
2.如权利要求1所述的计算机实现的方法,其中,所述多个节点中的每一个包括用于属于所述第一类的一个或多个OS功能的本地代码。
3.根据权利要求1或2所述的计算机实现的方法,其中:
所述多个OS功能被进一步划分为第一类、第二类和第三类;
所述多个节点中的每一个不包括用于第三类中的OS功能的代码;
至少一个中间节点包括用于第一类和第二类中的OS功能的代码并且不包括用于第三类中的OS功能的代码;以及
所述超级节点包含完整的操作系统。
4.根据权利要求1或2所述的计算机实现的方法,其中所述多个节点中的每一个都缺少操作系统。
5.根据权利要求1或2所述的计算机实现的方法,其中,基于使用频率将所述多个OS功能中的每个OS功能分类为所述第一类和所述第二类中的一个。
6.根据权利要求1或2所述的计算机实现的方法,其中,所述机架系统还包括第二超级节点,并且所述方法还包括:
决定将对第一OS功能的调用路由到所述超级节点和第二超级节点中的哪一个。
7.根据权利要求1或2所述的计算机实现的方法,其中,所述第一节点驻留在与所述超级节点不同的服务器上。
8.一种用于代表节点执行操作系统(OS)功能的系统,包括:
具有计算机可读指令的存储器;以及
一个或多个处理器,用于执行计算机可读指令,所述计算机可读指令包括:
管理包括分布式OS的机架系统的多个节点和超级节点之间的功能调用,所述OS包括被划分为至少第一类OS功能和第二类OS功能的多个OS功能,所述多个节点中的每一个不包括所述第二类中的OS功能,并且管理所述功能调用包括:
检测对所述多个节点中的第一节点上的第一OS功能的调用;
确定所述第一OS功能属于所述第二类OS功能;以及
响应于确定所述第一OS功能属于所述第二类,将对所述第一OS功能的调用路由到所述超级节点,所述超级节点包括用于所述第一类和所述第二类中的OS功能的代码。
9.根据权利要求8所述的系统,其中,所述多个节点中的每一个包括用于属于所述第一类的一个或多个OS功能的本地代码。
10.根据权利要求8或9所述的系统,其中:
所述多个OS功能被进一步划分为第一类、第二类和第三类;
所述多个节点中的每一个不包括用于第三类中的OS功能的代码;
至少一个中间节点包括用于第一类和第二类中的OS功能的代码并且不包括用于第三类中的OS功能的代码;以及
所述超级节点包含完整的操作系统。
11.根据权利要求8或9所述的系统,其中所述多个节点中的每一个都缺少操作系统。
12.根据权利要求8或9所述的系统,其中,基于使用频率将所述多个OS功能中的每个OS功能分类为所述第一类和所述第二类中的一个。
13.根据权利要求8或9所述的系统,其中,所述机架系统还包括第二超级节点,并且所述计算机可读指令还包括:
决定将对第一OS功能的调用路由到所述超级节点和第二超级节点中的哪一个。
14.根据权利要求8或9所述的系统,其中,所述第一节点驻留在与所述超级节点不同的服务器上。
15.一种用于代表节点执行操作系统(OS)功能的装置,所述系统包括:
管理包括分布式OS的机架系统的多个节点和超级节点之间的功能调用的部件,所述OS包括被划分为至少第一类OS功能和第二类OS功能的多个OS功能,所述多个节点中的每一个不包括所述第二类中的OS功能,并且管理所述功能调用包括:
检测对所述多个节点中的第一节点上的第一OS功能的调用的部件;
确定所述第一OS功能属于所述第二类OS功能的部件;以及
响应于确定所述第一OS功能属于所述第二类,将对所述第一OS功能的调用路由到所述超级节点的部件,所述超级节点包括用于所述第一类和所述第二类中的OS功能的代码。
16.根据权利要求15所述的装置,其中,所述多个节点中的每一个包括用于属于所述第一类的一个或多个OS功能的本地代码。
17.根据权利要求15或16所述的装置,其中:
所述多个OS功能被进一步划分为第一类、第二类和第三类;
所述多个节点中的每一个不包括用于第三类中的OS功能的代码;
至少一个中间节点包括用于第一类和第二类中的OS功能的代码并且不包括用于第三类中的OS功能的代码;以及
所述超级节点包含完整的操作系统。
18.根据权利要求15或16所述的装置,其中所述多个节点中的每一个都缺少操作系统。
19.根据权利要求15或16所述的装置,其中,基于使用频率将所述多个OS功能中的每个OS功能分类为所述第一类和所述第二类中的一个。
20.根据权利要求15或16所述的装置,其中,所述机架系统还包括第二超级节点,并且所述装置还包括:
决定将对第一OS功能的调用路由到所述超级节点和第二超级节点中的哪一个的部件。
21.根据权利要求15或16所述的装置,其中,所述第一节点驻留在与所述超级节点不同的服务器上。
CN201680065818.9A 2015-12-21 2016-12-19 用于机架中的节点的分布式操作系统功能 Active CN108604115B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/976,634 US9547540B1 (en) 2015-12-21 2015-12-21 Distributed operating system functions for nodes in a rack
US14/976,634 2015-12-21
PCT/IB2016/057765 WO2017109666A1 (en) 2015-12-21 2016-12-19 Distributed operating system functions for nodes in rack

Publications (2)

Publication Number Publication Date
CN108604115A CN108604115A (zh) 2018-09-28
CN108604115B true CN108604115B (zh) 2021-05-28

Family

ID=57748979

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680065818.9A Active CN108604115B (zh) 2015-12-21 2016-12-19 用于机架中的节点的分布式操作系统功能

Country Status (6)

Country Link
US (1) US9547540B1 (zh)
JP (1) JP6909218B2 (zh)
CN (1) CN108604115B (zh)
DE (1) DE112016005363T5 (zh)
GB (1) GB2560141B (zh)
WO (1) WO2017109666A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11245678B2 (en) * 2019-06-05 2022-02-08 Cisco Technology, Inc. Root network device causing execution of network service operations on behalf of constrained wireless network device in a low power and lossy network

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6826760B1 (en) * 1999-06-16 2004-11-30 Microsoft Corporation Methods of factoring operating system functions, methods of converting operating systems, and related apparatus
US7702693B1 (en) * 2003-10-30 2010-04-20 Cisco Technology, Inc. Role-based access control enforced by filesystem of an operating system
CN103516800A (zh) * 2013-09-29 2014-01-15 华为技术有限公司 服务器系统及其操作系统启动方法和启动管理节点
CN104516749A (zh) * 2013-09-27 2015-04-15 联想(北京)有限公司 一种信息处理方法及电子设备

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0243402B1 (en) 1985-10-15 1991-01-02 Unisys Corporation A special purpose processor for off-loading many operating system functions in a large data processing system
US20020120660A1 (en) * 2001-02-28 2002-08-29 Hay Russell C. Method and apparatus for associating virtual server identifiers with processes
EP1405171A4 (en) 2001-06-04 2005-08-24 Radisys Corp METHOD AND DEVICE FOR USING THE TASK PRIORITY FOR SCALING THE PROCESSOR PERFORMANCE
US8032899B2 (en) * 2006-10-26 2011-10-04 International Business Machines Corporation Providing policy-based operating system services in a hypervisor on a computing system
US7634388B2 (en) * 2006-10-26 2009-12-15 International Business Machines Corporation Providing policy-based operating system services in an operating system on a computing system
US9069571B2 (en) * 2010-12-01 2015-06-30 International Business Machines Corporation Propagation of unique device names in a cluster system
US9792243B2 (en) 2013-12-26 2017-10-17 Intel Corporation Computer architecture to provide flexibility and/or scalability
JP5945617B2 (ja) * 2015-04-15 2016-07-05 イーソル株式会社 マルチコアプロセッサの制御プログラム、電子機器及び制御方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6826760B1 (en) * 1999-06-16 2004-11-30 Microsoft Corporation Methods of factoring operating system functions, methods of converting operating systems, and related apparatus
US7702693B1 (en) * 2003-10-30 2010-04-20 Cisco Technology, Inc. Role-based access control enforced by filesystem of an operating system
CN104516749A (zh) * 2013-09-27 2015-04-15 联想(北京)有限公司 一种信息处理方法及电子设备
CN103516800A (zh) * 2013-09-29 2014-01-15 华为技术有限公司 服务器系统及其操作系统启动方法和启动管理节点

Also Published As

Publication number Publication date
CN108604115A (zh) 2018-09-28
GB2560141B (en) 2019-02-13
JP2019502990A (ja) 2019-01-31
US9547540B1 (en) 2017-01-17
DE112016005363T5 (de) 2018-08-16
GB201810591D0 (en) 2018-08-15
WO2017109666A1 (en) 2017-06-29
JP6909218B2 (ja) 2021-07-28
GB2560141A (en) 2018-08-29

Similar Documents

Publication Publication Date Title
JP6785911B2 (ja) ローカルまたは分散型コンピュータ・システムにおける柔軟なノード構成方法およびシステム
US10320674B2 (en) Independent network interfaces for virtual network environments
US10257033B2 (en) Virtualized network functions and service chaining in serverless computing infrastructure
US9851933B2 (en) Capability-based abstraction of software-defined infrastructure
US9942273B2 (en) Dynamic detection and reconfiguration of a multi-tenant service
US20120180044A1 (en) Communications Between Virtual Machines That Have Been Migrated
US10601871B2 (en) Reconfiguration of security requirements for deployed components of applications
US9448901B1 (en) Remote direct memory access for high availability nodes using a coherent accelerator processor interface
US9130943B1 (en) Managing communications between client applications and application resources of on-premises and cloud computing nodes
KR20160087706A (ko) 가상화 플랫폼을 고려한 분산 데이터 처리 시스템의 자원 할당 장치 및 할당 방법
US20120221744A1 (en) Migrating Virtual Machines with Adaptive Compression
KR20200065044A (ko) 동적 호스트 디바이스 인스턴스 모델 재구성을 이용한 제공자 네트워크에서의 수용량 관리
US20190007339A1 (en) Method and device for managing stateful application on server
US11005951B2 (en) Gateway device allowing multiple infrastructural services to access multiple IoT devices
US20200145344A1 (en) Operating a message queue cluster having multiple nodes
US20210185007A1 (en) Integration of an orchestration services with a cloud automation services
US10931581B2 (en) MAC learning in a multiple virtual switch environment
CN108604115B (zh) 用于机架中的节点的分布式操作系统功能
US11349729B2 (en) Network service requests
US9559910B2 (en) Locating virtual machine(s) within virtual networks
US11381665B2 (en) Tracking client sessions in publish and subscribe systems using a shared repository
US10423914B2 (en) Industrial setup composition
US20170371718A1 (en) Content-based distribution and execution of analytics applications on distributed datasets
US10754815B2 (en) Processing transactions using a multi-purpose callout processor
CN117170770A (zh) 数据接入方法、装置、存储介质及电子设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant