CN1327198A - 用于分区处理环境的异构客户服务器方法,系统和程序产品 - Google Patents

用于分区处理环境的异构客户服务器方法,系统和程序产品 Download PDF

Info

Publication number
CN1327198A
CN1327198A CN01120825A CN01120825A CN1327198A CN 1327198 A CN1327198 A CN 1327198A CN 01120825 A CN01120825 A CN 01120825A CN 01120825 A CN01120825 A CN 01120825A CN 1327198 A CN1327198 A CN 1327198A
Authority
CN
China
Prior art keywords
mentioned
subregion
server
shared storage
client
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
Application number
CN01120825A
Other languages
English (en)
Other versions
CN1252596C (zh
Inventor
约瑟夫·L·坦普三世
弗兰克·J·德吉里奥
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 CN1327198A publication Critical patent/CN1327198A/zh
Application granted granted Critical
Publication of CN1252596C publication Critical patent/CN1252596C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • 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
    • 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/544Buffers; Shared memory; Pipes
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources

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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Multi Processors (AREA)

Abstract

公开了一个分区处理系统,其中在多个运行异构操作系统的分区之间实现一个共享存储空间。共享存储器允许分区在进程级别进行互操作。共享存储器包含一个表,该表具有定义控制分区如何通过共享存储器进行互操作的规则的条目。可以由一个以独立于分区的方式运行的独立进程来建立,也可以通过存储器代理来建立,其中存储器代理在一个分区中可以被实现成一个操作系统扩展。一个运行在分区中的存储器客户端可以启动存储器代理产生表条目。

Description

用于分区处理环境的异构客户 服务器方法,系统和程序产品
本申请与下列共同待决的美国专利申请有关,并且可以对下述专利申请进行交叉引用,下述申请均被转让予本受让人,并且在这里对其加以参考引用:
″用于分区处理环境的分区间共享存储器方法,系统和程序产品″,发明人J.L.Temple等人,与本申请同日提交并且具有序号_____。
本发明涉及分区数据处理系统,更具体的是涉及在系统的分区中能够运行多个操作系统映像的单处理器和多处理器系统,其中多个操作系统均可以是相同操作系统在一个同构分区处理环境中的一个映像,或者多个操作系统得到异构分区处理环境中多个操作系统映像的支持。
多数现代中大型企业已经将其IT基础设施从其一度集中的″玻璃房子″数据中心区域扩展到遍及并且事实上超过其组织范围的程度。对这种演变的推动力是不可动摇的,部分是期望互连迄今为止不同部门的运作以便以实时方式沟通供应商和客户,并且这种推动力得到因特网成长壮大的激励,其中因特网被用作电子商务与附带访问互连的介质,以及日益被用于提供这种连接的商务-商务解决方案。
这种最近发生的演变随之需要现代企业动态链接许多不同的操作平台以产生无缝互连的系统。企业的特征经常表现为受诸如非集中式购买行为,基于应用的需求与合并相关活动带来的不同技术平台的增长这样的因素影响的异构信息系统基础设施。此外,对在供应商,合伙人和客户之间实现实时附加企业连接的期望为在异构环境中提供连接产生了更引人注目的激励。
针对用户需求的快速增长,信息技术提供商已经开始提出满足这种为企业数据中心扩展连接的需要的数据处理解决方案。
最初,提供一个为可能具有操作相关性的各种应用同时提供处理支持的集成系统的需求已经导致了分区多处理系统市场的扩充。从不断增多的供应商那里已经可以得到大型计算机的基础设施(soleprovince),即那些提供支持单独物理计算系统内的多个操作系统映像的能力的分区系统。例如,Unix工作站提供商Sun Microsystems公司最近已经开始在其高端服务器Ultra Enterprise 10000(商标)中提供系统分区的结构形式,其中在Drogichen等人,标题为″具有可配置硬件系统域的多处理器计算机″,1996年12月12日提交,1999年8月3日批准并且转让给Sun Microsystems公司的美国专利5,931,938号中详细描述了这种系统分区形式。其它公司也已经声明将向这种系统方向投入精力。
这种业界的接纳注重的是系统分区在把各种企业内部计算工作负载集中到一个(或几个)物理服务器计算机上并且在动态可重构硬件环境中同时实现测试和产品级编码方面所带来的″系统内的系统″的好处。此外,在某些诸如上述交叉引用的专利申请所描述的IBM(R)S/390(R)计算机系统的分区多处理系统中,根据分配给在其中执行的工作负载的优先权可以在逻辑分区内部和之间动态分配资源(包含处理器,存储器和I/O)(IBM和S/390是国际商用机器公司公司的注册商标)。这种允许根据工作负载优先权动态分配资源的能力解决了长期存在的容量规划问题,这个问题曾经导致数据中心管理人员有意为其预期的计算工作负载分配过量的资源以适应瞬时工作负载峰值。
尽管这些分区系统扩展了数据中心使之包含遍及企业的不同系统,但这些解决方案当前尚未提供一种简单的,在功能上把异构或同构分区平台集成到一个单一的的互操作分区系统中的机制。事实上,尽管这些新服务器允许把操作系统映像合并到一个单一的物理硬件平台内部,但它们不足以满足在驻留于服务器分区内的操作系统中间进行互操作的需要。这种互操作性在不同分区具有不同操作系统的异构系统中会进一步恶化。另外,这些系统通常没有解决在这种允许进行分区间高带宽最低延迟互连的异构平台之间进行分区间类型的资源共享的问题。由于引用这种互操作问题解决方案的系统会允许更健壮的设施在运行于不同分区的进程之间进行通信以便平衡这种应用在分离的操作系统上运行但事实上又是彼此邻近的这一矛盾,因而解决这种互操作问题是重要的。
本发明解决并克服了现有技术的上述问题和缺点并且提供了有利的特性,本发明包含一个能够支持多个异构操作系统映像的分区计算机系统,其中这些操作系统映像可以并行共享一组存储器位置,同时各个操作映像完成其自己的独立虚拟地址管理。通过这种方式共享存储器资源可以被看作是各个共享分区的系统存储器。
在本发明的一个实施例中,共享存储器资源被独立映射到为多个分区中运行的多个互操作进程指定的存储器资源上。通过这种方式,公共的共享存储器空间被映射成各个分区中的虚拟存储器空间,其中各个分区共享的存储器资源看上去是在分区内部被分配给其中运行的进程的存储器资源,所以在进程执行的正常过程中存储器可用于读取和写入数据。
在另一个实施例中,共享存储器资源被分配给至少两个分区以便允许进行上述独立映射。此外,在另一个实施例中,分配允许分区中的进程根据用户或进程级的许可共享存储器。
在本发明的另一个实施例中,多个用户中执行的进程通过共享存储器空间彼此通信。在另一个实施例中,系统包含一个诸如对Unix IPC协议的扩展的,把分区内部各种进程连接到共享存储器空间的协议。
在另一个实施例中,在共享存储空间维护的一个表中存储控制分区间通信的规则。可以由一个与分区中操作系统映像独立运行的独立进程建立表条目。在另一个实施例中,由一个存储器代理建立表条目。在其它实施例中,可以在一个分区中将存储器代理实现成一个对其中的操作系统映像的扩展,可选地,在一个实现管理程序层的实施例中,存储器代理可以被实现成分区管理程序的一部分。存储器代理根据在另一个分区中实现的一个存储器客户端的请求建立表条目。
在另一个实施例中,在共享存储空间中可以实现诸如管道或队列的文件结构。
在另一个实施例中,可以在具有一个内部连接设施的系统中实现本发明。在这种基于本发明一个实施例的系统中,可以在内部连接设施中实现共享存储或存储器代理。
通过在一个分区中实现一个服务器进程并且在其它分区中实现客户端进程,分区系统能够实现一个异构单系统客户服务器网络。在该实施例中,客户端通过共享存储空间向服务器发出请求并且服务器通过共享存储空间应答客户端请求。请求被排队并且响应被缓冲在共享存储区中。
在总结说明部分的权利要求书中特别指出了涉及制定本发明的主题内容并且在上述权利要求书中对上述内容明确提出了权利要求。通过下面结合附图进行的详细描述可以理解本发明的上述和其它目标,特性和优点,其中:
图1图解了一个对分区数据处理系统的一般概述;
图2描述了一个含有分区或一或多个系统板的物理分区处理系统;
图3图解了一个逻辑分区处理系统,其中逻辑分区资源专用于其各自的分区;
图4图解了一个逻辑分区处理系统,其中可以在若干分区之间动态共享逻辑分区资源;
图5图解了Unix″进程间通信″的结构;
图6描述了本发明的一个实施例,其中根据由一个独立应用程序加载的配置表共享实存储器;
图7描述了本发明的一个扩展实施例,其中由在机器的一个分区中运行的一个代理根据一个特权用户输入的业务,技术和优先权规则分配共享实存储器;
图8图解了将本发明一个实施例用作一个集成异构客户/服务器集簇的例子。
在讨论本发明一个最优实施例的具体方面之前,有必要回顾一下分区处理系统的基本部件。这种回顾可作为背景资料帮助更好地理解如何可以在一个分区系统中将本发明特别有益的特性用于改进分区系统的性能。
参照图1,其中描述了组成一个分区处理系统100的基本单元。系统100包括一个存储器资源模块101,一个处理器资源模块102和一个输入/输出(I/O)资源模块103,其中存储器资源模块101由能够被分割成如图中模块A和B所示并且以后会被访问到的模块的物理存储器资源构成,处理器资源模块102可以由一或多个可以被逻辑或物理分割成与分区存储器资源101一致的部分的处理器构成,而输入/输出资源模块103可以被类似地分割。这些分区资源模块通过一个互连结构104进行互连,其中互连结构可以包括一个总线,一个交换矩阵等等。可以理解,互连结构104可以具有互连一个分区内部的资源,例如把处理器102B连接到存储器101B的功能,并且也可以在分区之间互连资源,例如把处理器102A连接到存储器101B。同时所提供的附图描述了具有两个分区(A和B)的系统,可以容易地理解,选择这种表示是为了简化描述并且本发明试图包括可以被用来实现与可用资源和分区技术允许的数量一样多的分区的所有系统。
在讨论过程中可以容易地理解,分别图解的各个分区A和B包括一个单独数据处理系统的组成单元,即处理器,存储器和I/O。这个事实的特点是为分区处理系统提供了独特的″系统内的系统″的优点。事实上,并且如这里所图解的,当前可用的分区处理系统之间的主要区别是可以沿之分割系统资源的边界和资源可以穿过这些分区之间的边界进行转移的容易程度。
第一种情况是划分分区的边界是一个物理边界,SunMicrosystem的Ultra Enterprise 10000是其最优体现。在UltraEnterprise 10000中,沿着物理边界划分分区,具体的情况是一个域或分区由一或多个物理系统板构成,每个系统板包括若干处理器,存储器和I/O设备。一个域被定义成一个或多个这样的系统板和附加其上的I/O适配器。通过一个专用总线和交换结构互连各个域。图2图解了一个有关组成物理分区处理系统200的单元的高层表示。
参照图2可以发现,系统200包含两个域或分区A和B。分区A包括两个系统板201A1和201A2。分区A的各个系统板包含存储器201A,处理器202A,I/O203A和一个互连介质204A。互连介质204A允许系统板201A上的部件彼此通信。类似地包括单独一个系统板的分区B包含相同的组成处理单元:存储器201B,处理器202B,I/O203B和互连204B。除了系统板被集合成分区之外,还存在一个互连结构205,上述互连结构被连接到各个系统板并且允许在一个分区内部的系统板之间进行互连以及互连不同分区中的系统板。
另一种系统分区被称作逻辑分区,在这种系统中没有对向不同分区分配资源进行约束的物理边界,系统可以被看作是具有一个独立于其物理位置,可以分配给任何分区的可用资源池。这是与物理分区系统的一个区别,在物理分区系统中一个指定系统板(例如系统板201A)上的所有处理器均有必要被分配给相同的分区。IBM AS/400系统是一个逻辑分区专用资源处理系统。在AS/400中,一个用户可以在不管其物理位置的情况下将处理器,存储器和I/O包含在一个指定分区中。因而两个在物理上位于相同板卡上的处理器可以被指定成两个不同分区的资源。同样地,一个诸如板卡的指定物理封装中的存储器资源可以将其一部分地址空间逻辑分配给一个分区并且将其余部分分配给另一个分区。
诸如AS/400的逻辑分区专用资源系统的特征在于把资源逻辑映射到分区的操作是静态执行的分配,这种分配只能通过对系统进行人工重新配置来改变。参照图3,这意味着处理器302A1表示一个在物理上可以定位到系统中任何地方并且已经被逻辑分配给分区A的处理器。如果一个用户希望把这个处理器资源重新映射到分区B,则处理器会脱离出来并且被人工重新映射以满足这个改变要求。由于不受诸如支持固定数量的处理器的系统板的物理分区边界的局限性的约束,逻辑分区系统提供了更大的资源分区粒度。然而在不中断进行分区重新映射的资源操作的情况下不能完成对这种逻辑分区专用资源系统的重新配置。因而可以发现,虽然这种系统避免了物理分区系统固有的某些局限性,但仍然具有与分区中资源的仍然映射相关的重新配置约束。
这促使我们考虑使用逻辑分区共享资源系统。这种系统的一个例子是IBMS/390计算机系统。逻辑分区共享资源系统的一个特征是诸如处理器的逻辑分区资源可以被不止一个分区共享。这个特性有效地克服了逻辑分区专用资源系统的重新配置约束。
图4描述了一个逻辑分区资源共享系统400的一般结构。类似于逻辑分区专用资源系统300,不管其在系统中的物理位置如何,存储器401,处理器402和I/O资源403均可以被逻辑分配给任何分区(在我们的例子中为A或B)。然而在系统400中可以发现,通过根据一个运行在″管理程序″中的调度程序交换虚拟处理器(406)和I/O(407)驱动器可以动态改变一个具体的处理器402或I/O403的逻辑分区分配。处理器和I/O的虚拟化使得能够在一个具有允许分区动态共享这些资源的适当优先权的外部操作中交换全部操作系统映像。
虽然逻辑分区共享资源系统400提供了一个共享处理器和I/O资源的机制,但现有系统没有完全解决分区间共享存储器的问题。这并不是说现有分区系统不能在分区之间共享存储器。事实上,分区间存储器共享出现在我们这里已经描述的各种分区系统中。然而这些实现中没有任何一种提供了可以被映射到各个分区的本地存储器资源以便当在各自的分区内部并且最好在各自的分区之间进行正常处理活动时可以被用来读取和/或写入数据的共享存储器。因此,虽然多个分区可以共享一个公共存储器资源,但在所有这些分区系统中共享存储器空间已经专用于诸如消息传递,I/O和管理程序消息缓冲区这样的用途。本质上这些分区已经在共享资源上强加了一种网络模式,其中将共享资源视作一个管道而不是一个注册表,或者强加了一个类似I/O的协议以便访问注册表。在这种情况下,这种设计无法实现分区处理系统的″系统内的系统″特性的好处。
在以美国专利5,931,938号所述的Sun Microsystem UltraEnterprise 10000为代表的物理分区多处理系统中,通过适当设置屏蔽寄存器多个分区可以在硬件级别上访问系统存储器的一个区域。Sun的专利没有告诉如何使用这种能力,Sun Solaris操作系统也没有挖掘出除了用于内置网络连接的消息缓冲区之外的其它应用。
在IBM S/390中,正如在连接设施配置选项:形势报告(版权1998,IBM公司),http:∥32.97.205.4:80/marketing/gf225042.html中详细描述的,类似的内部集簇能力被描述成将公共寻址的物理存储器用作一个″集成连接设施″。这里的共享存储区实际上是一个注册表,但通过一个被称作XCF的类似I/O的设备驱动器对其进行连接。类似地,S/390的″ SAP ″处理器与不同分区中运行的操作系统共享存储器位置以便实现S/390体系结构的I/O子系统。两种情况下共享存储器均不能用于应用进程。
与之相反,本发明提供了一个允许在应用的地址空间映射和使用共享存储器的装置。这意味着在指定一个共享协议的情况下,异构操作系统中的应用可以使用公共加载和存储直接读写共享空间。这具有把编程模式从网络连接语义级别提高到应用编程语义级别的优点。换言之,本发明允许命令解释程序脚本集成迄今为止仍需要套接字编程或网络网关的应用。由于除了写入和读取共享存储之外可以在不缓冲或复制数据的情况下完成对异构应用的集成,并且由于即使在针对本地连接优化了网络编码的情况下存储器共享的路径长度也会大大短于网络协议的路径长度,所以本发明还具有一个额外的性能优势。然而本领域的技术人员会发现,通过物理层上的一个底层共享存储器接口可以较好地实现网络协议,包含针对本地连接而优化的网络协议。当考虑集成面向网络的应用,在减少路径长度和便于移植之间权衡时这个特性非常有用。
为了理解如何实现本发明,有必要理解操作系统中的进程间通信。参照图5,进程Processes A(501)和B(503)均具有地址空间MemoryA(502)和Memory B(504)。这些地址空间具有通过内核(505)执行系统调用为其分配的实存储器。内核具有其自己的地址空间MemoryK(506)。在一个通信形式中,Process A和B通过在Memory K中建立一个缓冲区来进行通信,其中通过适当的系统调用建立,连接和访问上述缓冲区。这些调用的语义因系统的不同而不同,但效果是相同的。在第二种通信形式中,Memory S(507)的一个分段被映射成地址空间Memory A(502)和Memory B(504)。一旦完成了这种映射,Processes A(501)和B(503)便可以根据任何两个进程均理解的协议自由地使用Memory S(507)的共享分段。
本发明如图6所示。其中Process A(601)和B(603)驻留在不同的操作系统域,映像或分区中。Partition 1(614)和Partition 2(615)。现在有内核Kernel 1(605)和Kennel 2(607),上述内核将存储器Memory K1(606)和Memory K2(608)用作其内核存储器。存储器Memory S(609)现在是一个可被分区Partition 1和Partition 2访问的物理存储器空间。可以根据任何实现允许这种共享,其中包含没有局限性的UE10000存储器映射实现,S/390管理程序实现或任何其他限制分区产生的访问障碍的装置。作为一个可选的例子,共享存储器可以被映射到最高的物理存储器地址上,其中在一个配置寄存器中的头一项数据定义了共享空间。
按照约定,存储器Memory S(609)具有一个共享分段(610),该分段被内核Kernel 1和Kernel 2的扩展部分使用并且被映射成存储器Memory K1和Memory K2。这个分段被用来保存针对存储器(609)的分段的定义和分配表,该存储器被映射成允许根据上述第一种形式进行跨分区通信的存储器Memory K1(606)和Memory K2(608),或者被用来定义一个分段S2(611),其中根据参照图5描述的第二通信形式把该分段映射成存储器Memory A(602)和Memory B(604)。在本发明的一个实施例中,存储器Memory S具有有限的尺寸并且被固定在实存储器中,然而也要考虑到存储器不需要被固定的情况以便允许有较大的共享存储空间,只要值守的页面管理任务得到有效的管理。
在本发明的一个第一实施例中,通过一个被称作共享存储器配置程序(SMCP)(612)的独立应用程序在存储器中建立共享存储器的定义和分配表,其中上述程序从一个共享存储器配置数据集合(SMCDS)(613)中读取数据并且在存储器Memory S(609)的分段S1(610)中建立表。
因而根据应用程序产生的配置固定和预定有关内核共享存储器分段的分配和定义。各种内核扩展则使用共享存储器实现各种映像间,进程间通信构造,例如管道,消息队列,套接字,甚至根据其自己的约定和规则将某些分段分配给用户进程以用作共享存储器分段。允许通过IPC API 618和619进行这些进程间通信。
用于共享存储器的分配表由a个条目构成,这种条目包括映像标识符分段数量,gid,uid和允许位。保留一个附着位并且在一个实施例中假定其等于1。使用一个分段的各个分组,用户和映像在表中均具有一个条目。按照约定所有内核均可以读取表但不可以改写表。在初始化时内核扩展读取配置表并且产生其自己的分配表以便在其它进程请求进行跨映像的进程间通信时使用上述分配表。某些或所有分配的空间被内核用来实现管道,文件和消息队列,其中内核在其它进程请求进行进程间通信时建立上述管道,文件和消息队列。一部分共享空间可以被另一个内核扩展映射成其它进程的地址空间以便进行直接跨系统的存储器共享。
各个内核根据其自己的约定和转换过程完成共享存储器的分配,使用和到虚拟地址空间的映射,但通过公共硬件设计体系结构驱动基础硬件锁定和存储器共享协议,其中上述体系结构构成了系统其它部分的基础。
为了进行通信,更高层次的协议必须是通用的。在最优实施例中,通过使各种操作系统映像实现具有将请求识别成交叉映像的扩展的Unix IPC(进程间通信)API来满足这个要求。可以根据参数或单独的新标识符/命令名称定义这种扩展。
在如图7所示的本发明另一个实施例中,内核Kernel 1705具有一个扩展716,该扩展充当一个根据某个特权用户进程701确定的安全,业务和资源分配规则控制共享空间分配的存储器代理。内核Kernel 2至Kernel N(715-718)均具有扩展717,该扩展充当可以连接并使用代理716分配的共享存储器但不能分配任何共享存储器的存储器客户端。在本发明另一个实施例中,在一个专用环境中实现代理并且在一个开放源环境中实现至少某些客户端。在本发明的另一个实施例中,在分区管理程序中实现代理并且由各种操作系统使用共享存储器实现客户端。在所有这些实施例中,现在根据客户端按照特权用户进程701定义的规则对代理发出的请求动态完成共享存储器分配。
不管是哪个实施例,本发明均会包含下列单元:一个底层公共硬件存储器共享协议(在定义存储器Memory S 609时所固有的)。用于存储器分配和虚拟地址映射616,617的内核扩展的一个异构集合。通过共享存储器618,619进行通信的高层协议公共集合。
在本发明的一个不同的实施例中,共享存储设施可以被实现成一个S/390连接设施。在这种情况下,诸如管道,消息队列和文件的IPC功能可以被建立成连接设施体系结构内部的结构。这里在连接设施而不是在内核扩展中对结构进行循环管理。
由于会在连接设施内部运行转换循环,这表明对于某些诸如ASCII和EBCDIC分区之间的管道的结构而言是有优势的。也允许以超过共享实存储器硬件限制的量级建立共享管道,队列和文件结构。正如当前所定义的,连接设施存储器未被映射成字节可寻址″实存储器″,而是被定义成通过一个链路连接的存储器,其中上述链路以一种″页面″可寻址方式访问连接设施的实存储器。然而当连接设施被实现成″内部连接设施″时,如上所述,该设施有效充当一个分区并且在这种情况中就是本发明的共享存储器,实际上可以在其中运行代理内核扩展。
作为一个通用存储器共享设施,可以通过许多方式使用本发明。这种实现中的公共主题是它们允许提供通过非联网或单物理系统配置来实现的异构客户-服务器体系结构。以往在单物理系统中实现的客户-服务器系统均是同构的系统,即它们被实现在一个单独的操作平台上。例如,一个在OS/390中实现访问DB2数据库的Web领域应用服务器的系统使用一个客户端(Web服务器)和服务器(数据库服务器)满足Web服务器的数据库请求。这种实现完整地存在于OS/390操作系统中。同样地,异构客户服务器体系结构需要一种网络实现,最明显和著名的例子是因特网的异构客户-服务器体系结构。通过在一个单分区系统中允许存在一个应用级共享存储器接口,本发明提供了在不需要网络实现的情况下实现异构客户-服务器系统的能力。
参照图8,其中示出了这种异构单系统客户服务器实现的一个例子。在图解中,参照图7提供对其单元的详细描述,服务器进程A 801是一个运行在分区814中的数据库服务器(例如DB2),分区814正在运行OS/390操作系统。这个服务器进程801与服务器进程B 803共享存储器空间S2 811,而服务器进程B 803是一个运行在分区815中的Apache Web服务器,分区815正在运行Linux操作系统。Web服务器803是一个请求数据库服务器801依次满足这些请求的客户端。通过共享存储器空间S2 811进行请求和响应的通信,这种通信实际是一种交叉系统调用(即一个单独系统内部的调用)。因而在没有网络环境的情况下提供了一个异构客户-服务器系统。
上述构造提出了若干利用单系统客户-服务器模型的发明实现。实现这种构造的一个方式是把服务器工作队列812放在共享存储空间中以便允许不同客户端追加请求。″远程″客户端的返回数据缓冲区813也必须在共享存储器空间中以便客户端可以访问放在其中的信息。以图解的方式提供了这些实现,但新的和发明性的实现不应当被认为是限制性的。实际上应当理解,本领域的技术人员可以并且会以各种在单系统模式内实现不同类型的异构客户-服务器系统的方式进行建立和构造。
至此已经详细描述了我们的发明,后面的内容提供了我们认为是新颖的并且期望通过专利特许证加以保护的方面,其中我们提出的权利要求是:

Claims (12)

1.在一个具有多个分区,多个异构操作系统映像和一个系统存储器并且包含在上述分区之间进行分区间存储器共享的能力的分区计算系统中实现一个客户服务器系统的方法,其中上述操作系统映像驻留在上述分区内部,而上述方法包括的步骤有:
在一个第一分区中实现一个客户端应用;和
在一个第二分区中实现一个服务器应用;
其中上述第一和第二分区实现不同的操作系统。
2.如权利要求1所述的方法,其中上述客户端应用使用上述分区间共享存储器发出请求而上述服务器应用使用上述分区间共享存储器发出应答。
3.如权利要求2所述的方法,其中针对上述服务器应用的上述请求驻留在上述分区间共享存储器的一个队列中,而针对上述客户端的应答驻留在上述分区间共享存储器的数据缓冲区中。
4.如权利要求2所述的方法,其中多个上述分区中的多个客户端应用向上述服务器应用发出请求。
5.在一个具有多个分区,多个异构操作系统映像和一个系统存储器并且包含在上述分区之间进行分区间存储器共享的能力的分区计算系统中的一个客户服务器系统,其中上述操作系统映像驻留在上述分区内部,而上述客户服务器系统包括:
在一个第一分区中实现的一个客户端应用;和
在一个第二分区中实现的一个服务器应用;
其中上述第一和第二分区实现不同的操作系统。
6.如权利要求5所述的系统,其中上述客户端应用使用上述分区间共享存储器发出请求而上述服务器应用使用上述分区间共享存储器发出应答。
7.如权利要求6所述的系统,其中针对上述服务器应用的上述请求驻留在上述分区间共享存储器的一个队列中,而针对上述客户端的应答驻留在上述分区间共享存储器的数据缓冲区中。
8.如权利要求6所述的系统,其中多个上述分区中的多个客户端应用向上述服务器应用发出请求。
9.一个数字处理装置可读的程序存储设备,并且实际包含一个可被数字处理装置执行的指令程序,该指令程序被数字处理装置用来执行用于在一个具有多个分区,多个异构操作系统映像和一个系统存储器并且包含在上述分区之间进行分区间存储器共享的能力的分区计算系统中实现一个客户服务器系统的方法步骤,其中上述操作系统映像驻留在上述分区内部,而上述方法包括的步骤有:
在一个第一分区中实现一个客户端应用;和
在一个第二分区中实现一个服务器应用;
其中上述第一和第二分区实现不同的操作系统。
10.如权利要求9所述的程序存储设备,其中上述客户端应用使用上述分区间共享存储器发出请求而上述服务器应用使用上述分区间共享存储器发出应答。
11.如权利要求10所述的程序存储设备,其中针对上述服务器应用的上述请求驻留在上述分区间共享存储器的一个队列中,而针对上述客户端的应答驻留在上述分区间共享存储器的数据缓冲区中。
12.如权利要求10所述的程序存储设备,其中多个上述分区中的多个客户端应用向上述服务器应用发出请求。
CNB011208252A 2000-05-31 2001-05-29 在分区计算机系统中实现的客户机服务器系统以及方法 Expired - Fee Related CN1252596C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US58350100A 2000-05-31 2000-05-31
US09/583,501 2000-05-31

Publications (2)

Publication Number Publication Date
CN1327198A true CN1327198A (zh) 2001-12-19
CN1252596C CN1252596C (zh) 2006-04-19

Family

ID=24333360

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB011208252A Expired - Fee Related CN1252596C (zh) 2000-05-31 2001-05-29 在分区计算机系统中实现的客户机服务器系统以及方法

Country Status (6)

Country Link
EP (1) EP1164480A3 (zh)
JP (1) JP2002032235A (zh)
KR (1) KR100458104B1 (zh)
CN (1) CN1252596C (zh)
CA (1) CA2335561A1 (zh)
TW (1) TWI302665B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1312592C (zh) * 2004-02-26 2007-04-25 索尼株式会社 信息处理系统及信息处理方法
CN1313924C (zh) * 2003-08-14 2007-05-02 国际商业机器公司 用于便携运行的操作系统的系统和方法
CN100361116C (zh) * 2003-08-06 2008-01-09 华为技术有限公司 一种灵巧客户服务器架构的建立方法
CN100375033C (zh) * 2003-05-09 2008-03-12 太阳微系统公司 一种用于在操作系统分区环境中使用细粒度特权模型管理进程活动的方法和设备
CN103309754A (zh) * 2012-03-15 2013-09-18 宇龙计算机通信科技(深圳)有限公司 终端和数据分区管理方法
CN104714923A (zh) * 2013-12-17 2015-06-17 华为技术有限公司 一种实现设备共享的方法和装置

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7272664B2 (en) * 2002-12-05 2007-09-18 International Business Machines Corporation Cross partition sharing of state information
KR100601705B1 (ko) * 2004-10-11 2006-07-18 삼성전자주식회사 애플리케이션들간의 메모리 공유 방법 및 그 장치
CN100447747C (zh) * 2005-09-28 2008-12-31 联想(北京)有限公司 Linux操作系统与Windows操作系统的NTFS分区数据交换的方法及装置
US20070143315A1 (en) * 2005-12-21 2007-06-21 Alan Stone Inter-partition communication in a virtualization environment
US8656375B2 (en) 2009-11-02 2014-02-18 International Business Machines Corporation Cross-logical entity accelerators
GB2491914A (en) * 2011-06-08 2012-12-19 Inst Information Industry Method of operating a heterogeneous computer system
TWI664572B (zh) * 2018-02-09 2019-07-01 威綸科技股份有限公司 資訊處理傳輸裝置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04251338A (ja) * 1990-10-10 1992-09-07 Fuji Xerox Co Ltd プロセス間通信の制御方式
US5652885A (en) * 1993-05-25 1997-07-29 Storage Technology Corporation Interprocess communications system and method utilizing shared memory for message transfer and datagram sockets for message control
GB2288477A (en) * 1994-04-05 1995-10-18 Ibm Communications system for exchanging data between computers in a network.
US5974517A (en) * 1996-09-17 1999-10-26 Compaq Computer Corporation Method and system for mounting a system partition as a logical drive while an operating system is operational by modifying a partition table
JPH1185547A (ja) * 1997-09-12 1999-03-30 Hitachi Ltd 仮想クラスタ構成方法
US6647508B2 (en) * 1997-11-04 2003-11-11 Hewlett-Packard Development Company, L.P. Multiprocessor computer architecture with multiple operating system instances and software controlled resource allocation
US6314501B1 (en) * 1998-07-23 2001-11-06 Unisys Corporation Computer system and method for operating multiple operating systems in different partitions of the computer system and for allowing the different partitions to communicate with one another through shared memory
JP4402797B2 (ja) * 2000-03-02 2010-01-20 株式会社日立製作所 情報処理装置

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100375033C (zh) * 2003-05-09 2008-03-12 太阳微系统公司 一种用于在操作系统分区环境中使用细粒度特权模型管理进程活动的方法和设备
CN100361116C (zh) * 2003-08-06 2008-01-09 华为技术有限公司 一种灵巧客户服务器架构的建立方法
CN1313924C (zh) * 2003-08-14 2007-05-02 国际商业机器公司 用于便携运行的操作系统的系统和方法
CN1312592C (zh) * 2004-02-26 2007-04-25 索尼株式会社 信息处理系统及信息处理方法
CN103309754A (zh) * 2012-03-15 2013-09-18 宇龙计算机通信科技(深圳)有限公司 终端和数据分区管理方法
CN103309754B (zh) * 2012-03-15 2017-02-15 宇龙计算机通信科技(深圳)有限公司 终端和数据分区管理方法
CN104714923A (zh) * 2013-12-17 2015-06-17 华为技术有限公司 一种实现设备共享的方法和装置
WO2015090194A1 (zh) * 2013-12-17 2015-06-25 华为技术有限公司 一种实现设备共享的方法和装置
CN104714923B (zh) * 2013-12-17 2018-04-20 华为技术有限公司 一种实现设备共享的方法和装置
US10701159B2 (en) 2013-12-17 2020-06-30 Huawei Technologies Co., Ltd. Method and apparatus for implementing device sharing

Also Published As

Publication number Publication date
JP2002032235A (ja) 2002-01-31
KR20010109081A (ko) 2001-12-08
CA2335561A1 (en) 2001-11-30
EP1164480A3 (en) 2003-08-27
TWI302665B (en) 2008-11-01
CN1252596C (zh) 2006-04-19
KR100458104B1 (ko) 2004-11-26
EP1164480A2 (en) 2001-12-19

Similar Documents

Publication Publication Date Title
US20190272264A1 (en) System And Method For Large-scale Data Processing Using An Application-independent Framework
US7702784B2 (en) Distributing and geographically load balancing location aware communication device client-proxy applications
CN1252596C (zh) 在分区计算机系统中实现的客户机服务器系统以及方法
US20060168107A1 (en) Generalized on-demand service architecture for interactive applications
CN104636077B (zh) 用于虚拟机的网络块设备存储系统与方法
US6928459B1 (en) Plurality of file systems using weighted allocation to allocate space on one or more storage devices
US7937377B2 (en) Dynamic cluster database architecture
Tsai et al. Two-tier multi-tenancy scaling and load balancing
CN1786927A (zh) 应用层高速缓存映像知晓和再分配的系统和方法
CN1841330A (zh) 用于管理多节点smp系统的方法和系统
CN1602480A (zh) 管理附装在数据网络上的存储器资源
US11347413B2 (en) Opportunistic storage service
Trivedi et al. RStore: A direct-access DRAM-based data store
CN1494693A (zh) 群集计算机系统中的组访问专用化
CN111405072A (zh) 一种基于云厂家成本调度的混合云优化方法
Hababeh et al. A method for fragment allocation design in the distributed database systems
CN110447019B (zh) 存储器分配管理器及由其执行的用于管理存储器分配的方法
CN112416538B (zh) 一种分布式资源管理框架的多层次架构和管理方法
CN111294383B (zh) 物联网服务管理系统
JP2000076088A (ja) デ―タ処理装置、方法、及びネットワ―ク
Hines Anemone: An adaptive network memory engine
Mershad et al. A mathematical model to analyze the utilization of a cloud datacenter middleware
Osmon et al. The Topsy project: a position paper
Lowery Scaling-out with Oracle grid computing on Dell hardware
KR100249777B1 (ko) 객체지향 웹 어플리케이션 모델링 방법

Legal Events

Date Code Title Description
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C06 Publication
PB01 Publication
C14 Grant of patent or utility model
GR01 Patent grant
C19 Lapse of patent right due to non-payment of the annual fee
CF01 Termination of patent right due to non-payment of annual fee