CN1114859C - 数据共享方法和计算机体系结构 - Google Patents

数据共享方法和计算机体系结构 Download PDF

Info

Publication number
CN1114859C
CN1114859C CN98803232A CN98803232A CN1114859C CN 1114859 C CN1114859 C CN 1114859C CN 98803232 A CN98803232 A CN 98803232A CN 98803232 A CN98803232 A CN 98803232A CN 1114859 C CN1114859 C CN 1114859C
Authority
CN
China
Prior art keywords
data
resource sharing
computing machine
cache
facility
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.)
Expired - Fee Related
Application number
CN98803232A
Other languages
English (en)
Other versions
CN1250532A (zh
Inventor
茨维·米西纳伊
迈克尔·罗特希尔德
什穆埃尔·阿拉斯拉基
阿里·克雷默
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.)
Openframe Corp Ltd
Original Assignee
Openframe Corp Ltd
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 Openframe Corp Ltd filed Critical Openframe Corp Ltd
Publication of CN1250532A publication Critical patent/CN1250532A/zh
Application granted granted Critical
Publication of CN1114859C publication Critical patent/CN1114859C/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
    • 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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/084Multiuser, multiprocessor or multiprocessing cache systems with a shared cache

Abstract

利用带有中级超高速缓存(11)的资源共享设施(10)的共享数据项的方法和体系结构,所述中级超高速缓存(11)可为要共享的所有计算机(3)访问并由系统间链路(7)连接到计算机。此资源共享设施还作为一普通的辅助存储器控制器作用和在此资源共享设施中提供为将超高速缓存数据映射到辅助存储器(13)或相反所需的控制信息和逻辑。

Description

数据共享方法和计算机体系结构
本申请要求由本发明的共同发明人中的至少一个发明人所提出的未决临时申请No.60/010001(1996年1月11日)“资源共享设施”的权利并与其相关,并包含对此临时申请中所揭示的和应归于这里所列发明者中至少一个的主题的至少一个权利要求。
本发明涉及在代表能够和确实独立地运行但可共享公用资源的松散耦合的数据处理系统的多个计算机之间共享数据项和锁定及支持远程过程调用和协调进程群的方法。本发明还涉及可为这样的计算机共同利用的资源共享设施并涉及体现其的计算机体系结构。
这里所用的词语“计算机”是指具有一个或多个中央处理单元的机器。一计算机的中央处理单元可以是与另一计算机的中央处理单元相同类型或不同类型的。因此本发明也涉及共享数据的异构型计算机系统,这些数据被保存在资源共享设施中或者保存在常常被称为辅助存储装置的辅助存储器中,所述辅助存储器附着到资源共享设施或者在由资源共享设施管理的别处的存储器中。
以往,松散耦合的数据处理系统常常具有多于一个的操作系统,各自附着到一可能含有共享数据并使得能利用灵活控制器在处理系统间共享数据的直接存取存储器。
共用辅助存储器装置,常常为DASD,可通过被连接到数个计算机的所谓的灵活控制器加以访问,可维持超高速缓冲存储器达到增强的性能,以及能支持资源锁定使得能协调多个计算机对数据的访问。
当前,IBM引入一SYSPLEXTM体系结构,采用一耦合设施将共享数据保留在一有效存储器中。在这一体系结构中,所有共享保留在耦合设施中的数据的计算机系统均通过非常快速的耦合链路连接到耦合设施,并利用一组特定命令来存储、改变、删除、检索、锁定和释放共享的数据项。这些计算机系统还通过相当慢的通道链接到共享的直接存取存储器。在计算机系统不必共享数据或者以极为有限的理由这样做(例如在仅有一个计算机访问任一特定数据库或数据组)时的环境中应用一耦合设施将只能使性能恶化。
那些要求较快访问的资源,如DBMS超高速缓冲存储器,锁定和共享的结构化表,可由前述的耦合设施处理。
利用前述类型的耦合设施的一个缺点是:可能利用控制器中、耦合设施中和计算机主存储器中的存储器空间及可能利用计算机中、耦合设施中和控制器中的处理器周期的超高速缓冲存储器管理冗余。数据访问可能涉及多个单元而使得象“READ FOR UPDATE(为更新读)”这样的动作必须被分成从耦合设施请求并被其执行的“LOCK(锁定)”和从通道和控制器请求并由其执行的“REAL READ(实读)”。而且,集合输入/输出总处理能力可能为通道的输入/输出极限所限制,它可能大大低于到耦合设施的链路。
下面详述的本发明的重要点在于,用辅助存储装置的扩展控制器的功能代替耦合设施的功能常常能克服这些缺点。
因此本发明的基本目的是提供一种至少能克服这些缺点中的某些缺点的同构型和/或异构型计算机系统间共享数据的改进方法。
本发明的另一目的是通过在由直接存取存储装置保持超高速缓存时将计算机系统间共享的超高速缓存一致化来优化对共享数据的访问。
因此,总的说,本发明的目的是提供一种有效地促进在多个同构型和/或异构型计算机系统间共享辅助存储器的计算机体系结构,这将使得能在计算机系统之间和这些计算机系统与辅助存储装置的控制器之间能共享相关的数据项。
本发明还有一目的是实现计算机独立负荷均衡,这也可被用于单个的计算机而不致使运行性能恶化。
本发明一附加的目的是改善多计算机系统中进程群的协调。
再一目的是对在这样的计算机上运行的进程之间的远程过程调用提供有效支持。
后面将成为很明显的这些目的和其他目的按照本发明将这样来达到,即设置作为可选择地包括辅助存储装置或如下面更一般地描述为辅助存储器的辅助存储器控制器作用的资源共享设施,向对应用程序敏感的超高速缓冲存储器管理、将与数据相关的锁定请求与对应的输入/输出或I/O请求一致化、锁定管理、负载均衡队列和数据库日志文件提供支持,此资源共享设施借助高速系统间链路或通道被连接到计算机或计算机系统。
更具体说,本发明是在多个计算机之间共享数据项和锁定以及支持远程过程调用和协调进程群的方法,所述计算机具有各自的中央处理单元、与各计算机的中央处理单元相关的各主存储器和保持在各计算机的主存储器中的可能为高级的超高速缓冲存储器。
这一方法包括步骤:
(a)设置带有一中级超高速缓存和一资源共享设施数据库并能在此中级超高速缓存和资源共享设施数据库中有选择地存储一组数据项的资源共享设施;
(b)由系统间链路将资源共享设施连接到所有计算机以便此资源共享设施能被所有的计算机访问;
(c)运行资源共享设施作为对至少一个辅助存储器的控制器;
(d)在资源共享设施中保留对中级超高速缓存中的每一数据项的为将中级超高速缓存数据映射到辅助存储器和将辅助存储器数据映射到中级超高速缓存所需的控制信息和逻辑;和
(e)从计算机授权资源共享设施作输入/输出操作来将保留在资源共享设施中的超高速缓存数据与驻留在辅助存储器中的持久数据加以同步。
按照本发明一特点,此方法还可包括步骤:
响应来自至少一个高级超高速缓存的管理器的至少一个请求在资源共享设施中激活一组进程;和
支持来自任何计算机的此请求组的各进程中的:
在中级超高速缓存中存储数据项;
登记数据项中的要点;
将数据项写到辅助存储器;和
从中级超高速缓存读取数据项到每一高级超高速缓存。
例如可以给每一计算机设置位于主存中的具有超高速缓冲存储器控制向量的资源共享设施支持设施(RSF-SF),此向量带有说明各高级超高速缓存的缓存器中的数据项的状态的项目(entry),每一个为登记数据项中的要点的请求将各超高速缓冲存储器控制向量的一个项目与中级超高速缓存中的对应数据项相关连。
而且在每次以写请求从计算机之一将任何数据项写进中级超高速缓存后,即可无效化或刷新除已发出写请求的计算机外的所有已登记该数据项中的要点的所有计算机的全部高级超高速缓存中的相同数据项的相应复制。
共享数据项可从下列选择:
数据库管理系统数据集或数据库的结构化数据;
非数据库管理系统数据集的结构化数据;和
非结构化数据项。
资源共享设施数据库管理系统可直接在资源共享设施中实现和特别是被运行用于保持和应用联机事务处理和批量作业执行中所需的队列。
如先前指出的,共享数据库日志文件能在资源共享设施中得到支持而后者可完成共享计算机单独对话数据和作业上下文数据的事务和作业负荷均衡操作。
资源共享设施数据库管理系统也可代之以或者部分地在至少一个计算机中实现。
由资源共享设施数据库管理系统(RSF-DBMS)所保持的数据然后即可被存储在后面这一计算机的高级存储器中而无需作计算机间的共享。
本发明的重要特点是周期地从每一资源共享设施支持设施发送一脉动消息到资源共享设施以通告一各别的计算机保持活动状态并被相应的系统间链路连接到资源共享设施。
本发明的方法还包括步骤:
在中级超高速缓存中任何数据项改变后由资源共享设施产生一有选择地使一各别的高级超高速缓存无效、刷新一各别的高级超高速缓存和通知与此各别的高级超高速缓存相关的数据项的状态中的变化的交叉通告消息;和
发送此交叉通告消息到至少某些登记此各别数据项中的要点的计算机。
而且还可用此交叉通告消息揭示先前已由接收此消息的计算机中的要点登记所生成的事件控制块。
此结构数据本身可以是
MVS DB2数据库的数据,
IMS数据库的数据,
ADABAS数据库的数据,
VSAM文件的数据,
IAM文件的数据,
DB2/6000数据库的数据,
Oracle数据库的数据,
Sybase数据库的数据,
Informix数据库的数据,
Ingres数据库的数据,
MicrosoftSQL服务器数据库的数据,
SQL/DS数据库的数据,
CA-IDMS数据库的数据,
Data Com/DB数据库的数据,和/或
任何其他DBMS的数据。
可被应用的计算机可以是IBM主机及兼容机,UNIX机,NT机,PC和兼容机或任何其他类型的计算机和/或它们的组合。
按照本发明特点此方法还包括:
以读请求从中级超高速缓存读取数据项;和
以同一请求针对同时更新和可选择地针对从中级超高速缓存同时读取锁定从中级超高速缓存读取的数据项。
本发明还是一降低加在一有选择地由至少一个通用计算机和至少一个数据服务器组成的计算机系统上的负荷及加速其对数据的存取速度的方法,此方法包括步骤:
(a)向保留为将高级输入/输出请求翻译成被为数据服务器所设置的辅助存储器所理解的低级请求所需的数据和逻辑的数据服务器授权作计算机系统的结构化和非结构化数据的输入/输出操作,由此完成高级请求的翻译;和
(b)至少部分地以低级请求运行计算机系统。
计算机体系结构本身包括:
多个计算机,具有各自的中央处理单元、与各计算机中央处理单元相关的各主存储器和保持在各计算机的主存储器中的各高级超高速缓存;
资源共享设施,带有中级超高速缓存和资源共享设施数据库并能在中级超高速缓存和资源共享设施数据库中有选择地存储一组数据项;
高速系统间链路,将资源共享设施连接到所有计算机以使其能为所有计算机访问,此资源共享设施被设置作为对至少一个辅助存储器的控制器,此资源共享设施被提供有为对中级超高速缓存中各数据项将中级超高速缓存数据映射到辅助存储器和将辅助存储器数据映射到中级超高速缓存所需的控制信息和逻辑,从计算机授权资源共享设施作输入/输出操作来将保存在资源共享设施中的超高速缓存数据与驻留在辅助存储器中的持久数据同步。
这样本发明就能通过采用耦合链路或任何其他CPU至CPU的快速链路来代替普通通道或总线连接作为计算机与输入/输出控制器亦即RSF之间的连接,以及通过降低对共享数据的访问中所涉及的单元数来缓解对辅助存储装置的总处理能力的约束并改善和/或减少响应时间。采用本发明的系统,一组过程被在各种计算机或计算机系统上运行的程序用来对RSF作有关共用数据项的生成和维护的指示。在计算机中运行的数据库管理系统(DBMS)可将对中级超高速缓存未命中(miss)的反应传递到RSF,由此降低输入/输出操作中涉及的硬件单元和为作计算机系统与这些单元间的连接所需资源的数量,并从计算机系统卸载某些复杂负荷到RSF。RSF将用来进行超高速缓存数据结构与输入/输出数据结构间的转换的出口例行程序可由相关超高速缓存数据项的排出类别的说明来指定。能被与RSF封装进同一框架的辅助存储装置可将RSF作为常规控制器对待。
由以下参照附图所作说明将会更容易理解上述及其他目的、特征和优点,所列附图中:
图1为表明现有技术环境的方框图,其中按照本发明的资源共享设施至少部分地取代耦合设施;
图2为说明本发明资源共享设施的应用的类似于图1的图形;
图3a为其中控制器可由本发明的资源共享设施代替的现有技术系统的方框图;
图3b为说明资源共享设施的应用的类似于图3a的图形;
图4a为能利用资源共享设施的又一现有技术系统的图形;
图4b为由资源共享设施替代图4a控制器的方框图;
图5为按照本发明的资源共享设施的图形;
图6为资源共享设施的另一实施例的方框图;
图7为处理资源共享设施中的超高速缓存读过程的算法图,亦即由从超高速缓存请求数据所触发的流程的说明;
图8为说明按照本发明的系统中数据流的原理的图形;
图9为处理资源共享设施中的超高速缓存写请求的算法;
图10为说明要点登记如何分组和它们如何与数据项相关的图形;
图11为说明远程过程调用和联动进程群的可能实施的图形;
图12a为表明怎样通过用适当的硬件和软件增强如图1、3a和4a的情况中的耦合设施来达到资源共享设施的功能的方框图;
图12b为另一这样的增强系统的方框图;
图13为利用我们的未决专利申请08/579721(Dec 28,1995)中所说明类型的控制器的另一系统的方框图;和
图14为这一后面配置的修正图形。
图1中,表明一现有技术系统中的多个总的以3指明的计算机系统或计算机能共享数据的计算机环境。在这一情况下,此系统利用构成例如US专利5317739,5331637,5339405,或5339427中所定义的IBMRSYSPLEXTM体系结构的部分的耦合设施(CF)。这一系统中,耦合设施1被用来保持多个在各种计算机或计算机系统3之间共享的中级超高速缓冲存储器2。每一计算机3均具有一由在该计算机上运行的程序所保持并且仅能由这些程序访问的本地或高级超高速缓冲存储器4。另一组低级超高速缓冲存储器5由控制器6保持,后者设法利用普通的统计规则预测哪些数据最可能被重复需要以便确定要保留什么和废除什么。
在这种环境中,当一程序需要一数据项时,计算机3首先在各自的高级超高速缓存中对之搜索。如果那里没有即努力通过系统间的(I/S)链路7从耦合设施1检索它。如果耦合设施1报告失败,亦即发出通知在中级超高速缓存2中没有发现此数据的失败指示,即利用I/O链路8直接访问辅助存储器9中的数据。在此阶段,另一超高速缓存5,即控制器6的低级超高速缓存,可在幕后被加以检测以便节省实际对DASD的访问。
当控制器6在其低级超高速缓存5中未发现此数据时它即寻址辅助存储器并从辅助存储器9提取此数据。在接收到此数据后,程序可确定此数据应被存放在中级超高速缓存2中。结果,在运行此程序的计算机3与耦合设施1间发生另一通信,并通过系统间链路7将数据传送到中级超高速缓存2。
每当一程序需要写数据到辅助存储器9和中级超高速缓存2这二者时,它进行二个分开的写操作,一个通过计算机的I/O链路8和I/O通道3a写入辅助存储器,而另一个通过其中央处理单元表示为3c的计算机3的I/S链路7和I/S通道3b写入中级超高速缓存2。此第二写操作还导致CF发送一交叉无效化消息到除发出此写操作的处理器外的所有在其本地超高速缓存中保存该数据的复制的处理器。
在读操作中利用超高速缓存的程序必须知道中级超高速缓存的未命中。程序在一读操作中对数据发出的第二请求被寻址到辅助存储器控制器,并与采用通常非常快的I/S链路的寻址到耦合设施的请求相反采用相对较慢的I/O链路。有可能设置在辅助存储装置中的任选低级超高速缓存未加以展示因为它们对本发明是非本质的。
由前述将显见这里所用术语可源于定义:
主存(Main Storage):驻留在运行应用程序的计算机系统中的易失性存储器。
超高速缓存(Cache):可能驻留在执行操作的计算机系统中、资源共享设施中或一控制单元中并且通常比较快而且大小远小于辅助存储器的易失性存储器。访问超高速缓存可能需至少如访问主存那样长的时间但不如访问辅助存储器那样长。
辅助存储器(Secondary Storage):驻留在一外部装置如磁盘上的直接存取存储器。它是非易失性的而访问它一般需要长于访问超高速缓存或主存的时间。
本地或高级超高速缓存(Local or High Level Cache):最接近于利用数据的程序并通常被保持在运行利用超高速缓存的程序的计算机的主或高级存储器中的超高速缓存型式。一计算机的主存可被用于数个超高速缓存。
中级超高速缓存(Medium Level Cache):驻留在一中央计算机、一耦合设施或资源共享设施中供运行在其他计算机中的程序作共享利用的超高速缓存。
低级超高速缓存(Low Level Cache):保持在控制器或辅助存储装置中的超高速缓存。应指出,本发明使中级超高速缓存与控制器的超高速缓存相一致。
数据项(Data Item):被在本地超高速缓冲存储器、中级超高速缓存和永久存储器中以单一名称引用的单一信息单位。它可以是数据库中的一行或一数据集(如VSAM)记录。
代表性数据项(Representative Data Item);由资源共享设施数据库中的触发器保持的导出数据项,它代表该数据库中的整个数据项集。由代表性数据项所表示的数据项集可通过一选择标准以结构化查询语言(SQL)定义。
虚拟表述(Virtual Representatives):RSF数据库中实际不存在的代表性数据项,其定义仅提供用于触发交叉通告消息的挂钩(hook)。
排出(Cast Out):将驻留在超高速缓存中的被改变数据写到永久存储器的进程。
排出出口(Cast-Out Exit):用于将数据项从盘数据结构映射到超高速缓存结构或反之的RSF例行程序。
排出类别(Cast-Out Class):分配给排出进程所用数据项的类别。类别分配通过将具有类似特性的数据项分组到一起来简化排出进程。在资源共享设施中此分配也是预期作I/O授权(delegation)的所有情况中所需要的。
排出类别说明(Cast Out Class Description):用于指定排出出口。
排出范例(Cast Out Instance):排出类别的子类,其中除那些有关数据项本身的目标例如数据集的边界之外的所有目标均共享为排出出口所需的信息以便正确定位辅助存储器中的数据。
排出说明符(Cast-Out Descriptor):关于属于辅助存储器中的排出范例的数据项的持续性复制的物理位置的细节,由排出类别和对于排出出口的特定参数值所扩大。(例如,在要保持DB2数据库的记录的超高速缓存结构的说明中,排出类别可以是用于RSF的DB2表,排出范例指明“个人数据库中的雇员表”和数据项可以是“说明JOHN SMITH的行”。
I/S通道(I/S Channels):系统间的通道,在本发明前仅被用于作CPU至CPU的连接而不用于CPU至I/O装置和控制器的连接。
存进超高速缓存  (Store-in Cache):中级超高速缓存,这里数据项被存入数据项目而它到辅助存储器的输出(如果最终要进行的话)并未在它们插入此超高速缓存或它们在此超高速缓存中的替换的同时被加以编排。
存储通过超高速缓存(Store-Through Cache):中级超高速缓存,这里数据项被存入数据项目并被以相同的连续代码编排输出到辅助存储器。
仅控制用超高速缓存(Control-Only Cache):中级超高速缓存,仅保持用来协助控制本地超高速缓冲存储器的控制项目。
本地超高速缓存状态(Local Cache State):本地超高速缓冲存储器的状态。例如,一含有数据项的本地超高速缓冲存储器可能为无效或有效的。如果中级超高速缓存或辅助存储器中不存在有同样数据项的更新近的版本即认为有效,否则为无效。
资源共享设施支持设施(Resource Sharing Facility Support Facility):一可利用计算机中自身的处理器的进程,它对从资源共享设施到达的通知因中级超高速缓存中的变化所造成的本地超高速缓冲存储器的状态发生变化的消息作出反应并将相关的进程状态变化传送到资源共享设施。
脉动(Heartbeat):计算机的RSF支持设施发送到RSF的指明计算机仍在工作的消息。RSF支持设施周期地发送脉动消息。此周期长度可加以组构。
数据项状态(State of a Data Item):数据项的状态具有二个值,它们可被解释为有效或无效,但根据数据项被应用的方式也可以任何另外的方法解释。
超高速缓冲存储器控制向量(Cache Buffer Control Vector):由每一被连接计算机的主存中的资源共享设施支持设施所保持的向量,其中每一项目均说明本地超高速缓冲存储器中一个数据项的状态并可任选地指向本地超高速缓存中的数据项的一缓存器;
无效化(Invalidation):本地超高速缓冲存储器的无效化是设置代表该超高速缓冲存储器控制向量(CBCV)中这一缓存器的项目来表示一无效状态。
揭示一CBCV项目(Posting a CBCV Entry):揭示一CBCV项目意味着改变其状态。
登记数据项中的要点(Registering Interest in a Data Item):登记数据项中的要点是生成CBCV中一项目、本地超高速缓冲存储器中所含一数据项、及该数据项在中级超高速缓冲存储器中的复制之间的结合。这样的登记也可能包括将这一本地超高速缓冲存储器的地址插入CBCV中的项目和/或利用CBCV项目号由中级超高速缓存指到CBCV中的项目的操作。
资源共享设施为中级超高速缓存中的每一超高速缓存的数据项保持一组被登记了要点的进程。这一组被任选地保持在RSF数据库(RSF DB)中。登记也可通过参数在登记请求中分组。带有群属性的登记请求也可被给予优先级。本地超高速缓冲存储器的间接用户通常将不登记特定数据项中的要点。只有管理本地超高速缓存例如一DBMS服务器的进程将登记数据项中的要点。
要点群(Interest Group):带有相同群属性的一组要点登记。一群中的要点登记按优先级和到达时间排序。未被给予群标识符属性的要点登记各自被看作为形成其自己的可以是一单元素集合(singleton)的要点群。要点群提供生成服务供应者队列的简单方法。资源共享设施通过交叉无效化/通告机构支持要点群。
交叉无效化消息(Cross Invalidation message):由RSF发送给RSF支持设施的消息,通知它关于含有已成为无效的它的被登记数据项之一的本地超高速缓冲存储器。
交叉通告消息(Cross Notification Message);由资源共享设施送给RSF支持设施的消息,通知它关于代表性数据项的状态的变化,和任选地含有要被存储在被相关的CBCV项目指向的缓存器中的数据。
交叉刷新消息(Cross Refresh Message):含有要被存储在被CBCV指向的区域中的数据的交叉通告消息。
上下文信息(Context Information):计算机为恢复处理一对话、事务或作业所需要的信息。
资源共享设施数据库(Rosource Sharing Facility Database,RSF DB):数据库的简单形式,最好被RSF作内部支持和/或在一实现接口如SQL或其子集的被连接的计算机上,支持触发器,能借助从其触发器发送交叉通告消息的能力被加以扩大。RSF数据库可被用来保持一TP监视器的输入队列。这一情况下,所有TP监视器的事务处理进程(TPP)可登记数据项中的要点(由触发器保持),作信息通知对此队列的最近更新是否使得其从空闲状态变为不空闲状态。作业队列和对话上下文为RSF数据库的另一种可能的应用。通过RSF支持RSF数据库改善RSF数据库为数个计算机共享的情况中的运行性能。支持计算机上的RSF数据库使得利用它的程序在当它们在单个计算机上运行时能实现较佳的运行性能。因而RSF和计算机两者均提供对RSF数据库的支持。
数据库日志(Database Journal):被DBMS用来记录作事务检查和数据库恢复所需的信息的数据集。当一数据库被在数个计算机间共享时这一数据集也必定被共享。数据库日志可被实现为RSF数据库中的表或者可在资源共享设施中提供对共享数据库日志的专用支持。
事件控制块(Event Control Block,ECB):由发出同步请求的进程用来监视这些请求的终结的块;
等待输入(Wait for Input):对一利用WAIT命令等待要被揭示的CBCV项目的进程的指令。这也可能等待任何给定的CBCV项目集或者甚至任何CBCV项目与ECB的组合。
负荷均衡(Load Balancing):负荷均衡说明数个计算机和/或处理器和/或进程间的共享处理负荷同时优化总的处理能力和响应时间。在要发生负荷均衡时可应用生成此负荷(对话、事务或作业)的成分的队列(客户机队列)和服务供应者(计算机、处理器、进程或任务)的队列(服务器队列)。资源共享设施数据库实现这样的队列以及要点群的工况针对服务器队列被特定地加以定义。在TP监视器的情况下,服务器队列为TP监视器的TPP的队列和客户机队列为对TP监视器的输入队列。对每一输入确定将处理它的TP监视器的TPP的范例输出。
远程过程调用(Remote Procedure Call,RPC):从运行在一计算机上的过程调用一驻留在另一计算机上的过程。
协调进程群(Coordinated Process Group,CPG):共享状态信息的带有给定名称的进程群。一单个的进程可能属于数个协调进程群。协调进程群在生成当某些进程失败时预先指定的进程必须接管的允许出错的应用中特别有用。
本地锁定(Local lock):其范围被限制在单个计算机内的锁定。
全局锁定(Global Lock):其范围为整组异构型的和/或同构型计算机的锁定。
图2为基本上与图1同样环境但实现本发明的图,亦即带有通过具有其中级超高速缓存11的资源共享设施10共享数据的计算机或计算机系统3和I/O装置。控制器可能仍然附着到I/O通道以使得能访问未附着到资源共享设施的装置,但图2中未表明这些控制器和这类的其他装置。这里重要之处是,用于辅助存储装置13的耦合设施和控制器已被资源共享设施10所替代而辅助存储装置13被直接附着到RSF10因而后者能访问辅助存储器13。实际上辅助存储器13可被结合在RSF10中,亦即可被容纳在与RSF10相同的外壳中。
中级超高速缓存11为RSF10所保持,而辅助存储装置13可如已说明的仍包含低级超高速缓存(这里未表示出)。
这些由图1的体系结构对本发明的体系结构所作改变反映在运行于计算机3上的程序管理它们自己的数据请求和主要由资源共享设施给予这些请求的支持的方法上。当本发明被用到它的整个潜力时,为支持对数据的单个操作将不再需要请求此环境的二个成分,因为对中级超高速缓存11的每次访问(读或写请求)将生成对辅助存储装置13的恰当的I/O请求。在写请求中,这样的I/O操作总会发生,或者紧接在对中级超高速缓存的写之后或者被延迟。对于读请求仅在中级超高速缓存中没有以此数据时才需要I/O操作。程序不必为生成I/O请求给出控制流,因为其已被授权给RSF10,程序也无需一分开的阶段用来更新RSF10的中级超高速缓存11(作为从辅助存储器读或对辅助存储器写的部分)因为当需要时这种更新即由RSF10作为其对请求的响应的部分进行。被保持在计算机的本地超高速缓存中而非启动当前的写请求的计算机中的已被写入中级超高速缓存并可能已写入辅助存储器的数据项的复制,只要这些数据项中的要点已被这些计算机作无群识别登记,即作为写操作的部分被无效化或刷新。
交叉通告消息也被发送到各要点群的一个代表(带有最高优先级的最早的登记),作为将该要点群中的要点主题的数据项写到中级超高速缓存的操作(可选地导出的)部分。
请求的不同阐述和数据项的不同定义会影响资源共享设施处理各不同写请求的方式。某些数据项被立即编排以便排出。其他数据项不直接复制到辅助存储器而是保留在超高速缓存11中直至某些处理请求排出。其他的保留在超高速缓存11中直至一明确消除请求被执行为止。
所述的负荷均衡通过将属于TP监视器的对话上下文块和输入队列记录存储进RSF数据库中实现。DBMS日志文件的新记录可利用RSF为共享的日志管理提供的支持从所有连接到RSF的计算机中附加到其端部。这样I/O净速率即不受相对慢的I/O通道和链路的速度约束,因为数据的大部分通过I/S链路7和I/S通道3b传送。
象“为更新读”之类的操作被表达为单一的请求因为锁定和I/O两者均通过同一I/S通道由同一机器进行。在这种情况下图2的RSF10代替处理锁定请求的图1的CF1。
在此层次结构中,常常被I/O通道处理的某些负荷被转移到I/S通道,而且为加以充分利用,I/S通道数可能需要增加而I/O通道数则可能减少。
图3a说明一在计算机或计算机系统3与辅助存储装置9之间设置控制器6的系统。按照这一系统,计算机3通过其I/O通道3a被附着到控制器6,此计算机3具有前面说明的高级超高速缓存4和CPU 3c。这里连接是通过相对缓慢的I/O链路8。控制器6在其相对侧被连接到辅助存储装置9。
在这一环境中,显然不必要在不同计算机之间进行数据共享,而且本地超高速缓冲存储器4可被用于加速输入/输出操作及在运行于单个计算机上的程序之间作数据共享。
依靠以图3b中所示的资源共享设施10代替控制器6,高速I/S链路7可将RSF连接到计算机3的I/S通道3b。资源共享设施10具有前面说明的中级超高速缓存5。这里所用的主RSF的特点是连接到计算机与实际上为一控制器的RSF之间的快速链路的能力。这里RSF并不替代一CF因为在这一情况下CF不起任何作用。
图4a表明二计算机3共用一控制器6并类似于图1系统但不采用耦合设施的体系结构或环境。在此,各计算机3通过带有低级超高速缓存5的共享控制器6访问驻留在共享的辅助存储装置中的其自身的数据库组。
共享控制器6经由I/O链路8连接到计算机3的I/O通道3a。如果存在有其中计算机3之一过载、而另一具有未应用的资源的周期,这另一计算机即能并将被用来管理某些负荷。但在这一配置中,这样的负荷共享是不可能的。
引入如图1所示的耦合设施使得能进行数据共享并因而能进行负荷共享和均衡,但需要与包含锁定和中级超高速缓冲存储器的附加单元(耦合措施)进行通信。为使能在必要时作负荷共享就必须甚至在无需作负荷共享时付出这种代价。
但在应用带有其中级超高速缓存11并通过I/S通道3b和I/S链路7与计算机3通信的情况下,RSF代替控制器,利用中级超高速缓存支持数据共享和负荷共享及均衡并降低I/O响应时间而不再会生成额外负荷。在该情况下,系统完全相当于图2中所示系统。比较图4a和4b。
图5表示资源共享设施的可能的实施例,它能具有被专用于I/S链路7和进而专用于特定计算机的多个耦合链路适配器12。各耦合链路适配器(CLA)12执行图8中RSF侧所说明的所有资源共享设施的功能。由于如已结合图2所说明和由图8将会更显见的,每一CLA均必须能与每一计算机通信,在资源共享设施中为CLA间的通信设置数据区。对图5的资源共享设施,盘适配器被表示为14而中级超高速缓存表示为11。
图6表明资源共享设施10的可能的结构,这里此结构总体上与图5的相类似,除了到I/S链路的通道15及因而I/S链路自己被在RSFP之间共享,后者非常类似于图5的CLA但不遵守与I/S链路一对一的关系。I/S通道管理与计算机的通信范围而其逻辑则为RSFP响应性。在图6中RSFP被标为16。
图7表示用于处理对资源共享设施10中一数据块的请求的算法。如果在中级超高速缓存11中找到数据,则返回到提出请求的程序而无需进一步处理。但如果在中级超高速缓存11中未找到数据,RSF10即不中止。如果在排出类别的定义中已提供所有必须的细节,即试着从辅助存储器提取数据。
图7未表明如何对一新的超高速缓冲存储器作相对于中级超高速缓存的分配因为在存在着许多方法。在进程中合适时刻,编序以防止任一单个缓存器被分配到二不同目的。
中级超高速缓存11中的超高速缓存器并不一定具有与被供给到将它们的等同体写到辅助存储器的例行程序的数据或从辅助存储器读取它们的等同体的例行程序接收的数据相同的形式。至少,必须将通常包括在DCB/ACB(主机计算机环境中代表数据集控制块/访问控制块的术语)和它们相关的控制块中或由它们指向的关于数据的物理位置和对其构造所用方法的细节提供给RSF10以便RSF10能正确地写和读数据。一般,这些细节能以依赖于RSF为以预定方法利用这些细节的固定的内部例行程序的参数形式提供。但在某些情况中,超高速缓冲存储器与辅助存储器中数据间的映射不符合任何预定的规范。在这些情况中,可提供一专门的映射例程来使得能将I/O授权给资源共享设施。在某些情况中,认为合理的是生成现有访问方法例程的局部版本,可包括有变换数据和逻辑象VSAM索引和索引搜索和维护例行程序。
但最好不必在每次对详尽的写入程序的访问中均供给参数和出口例程。这些细节被包括在这一数据项所属的排出范例中的排出范例说明中。
再参看图7,为了从辅助存储器取数据,首先RSF验证是否需要一映射例程。当映射为标准的时,即无需这样的例程因为RSF利用其内部例程之一并依赖于排出类别和排出范例的说明中所给出的控制信息执行此映射。RSF读取数据,更新中级超高速缓冲存储器11并将结果返回给调用程序。
当需要映射例程时RSF10检查它是否被供给。如果没有,不可能发生I/O授权而返回超高速缓存未命中的信号。如果已提供一映射例程,即为进行所需的映射调用这一例程:首先将超高速缓存请求映射成相当的I/O请求,然后执行I/O,然后I/O操作的结果被映射成适当的结构并如果被请求的话移动进超高速缓存。在该阶段,结果被返回到调用程序。
由此调用程序看,当数据不在超高速缓存中时从RSF读数可能需要较长时间来完成。因此RSF请求可能是异步的,使得调用者能处理其任务的其他方面,同时等待完成读请求(处理不立即完成的读请求对于在同一请求中读和锁定的程序是必要的,因为锁定不可能总是立即被给予的)。
这样,RSF即可对利用它的程序不加改变地代替IBM的耦合设施。但是为受益于RSF的实际潜力,可能仍必须对程序作某些改变。为了使这些改变最小,提供一专用锁定请求阐述。这一专用阐述使得程序告知RSF当前的锁定请求将后随对一给定数据项的读取。当RSF遇到这样一请求时它尝试改善读请求将在中级超高速缓存中找到记录的机会。为这样作,RSF如正常锁定请求中那样对用户作出响应,但在幕后当锁定已被给予时继续从辅助存储器读数据。
同时,在记录处于中级超高速缓存之前将延迟进行读的尝试。为RSF编写的程序一般将无需这一特性因为它们可发出带有锁定的组合(同步的或异步的)读。
图8给出包含一计算机和一RSF的环境的逻辑组成部分的概貌。
程序100,消息设施300,RSF支持设施400,I/O处理器500和主存储器200均为计算机的部分。RSF处理器800和RSF存储器900为RSF的部分。辅助存储器1000可以是RSF的部分但它也可以是一分开的单元(连接到RSF)。消息设施300,I/O处理器500和RSF支持设施400均可各自具有一专用处理器,但它们也可实现作为共享较小数量的处理器的进程或者甚至它们全部均可共享运行计算机中的程序100或任何其他程序的同一处理器。
所有在一计算机中运行的进程共享主存储器200。从这些进程之一对另一个寻址的消息一般均含有对驻留在主存储器中的数据的指针。
RSF数据库虽然正常情况由RSF实现,但也可按以下的附加方式实现:
(a)数据被保持在RSF中但DBMS驻留在所有共享计算机上;
(b)数据和DBMS在一特定计算机的主存中;
(c)数据被保持在RSF和共享计算机的主存这两者之中而DBMS在所有共享计算机上进行;和
(d)数据驻留在共享计算机的主存储器和RSF两者中而DBMS在RSF和共享计算机中实现。
程序100可在常规的CPU和I/O命令之外发出下列应用或管理RSF的命令集:
错读(从RSF)
清楚读(以共享的锁定从RSF读)
为更新读(以独占的锁定从RSF读)
写(到RSF)
锁定
解锁
测试CBCV
等待
RSF数据库控制命令
日志I/O附加(增加一记录到其末端)和读取
加入一联动进程群
离开一联动进程群
RPC
程序发出的常规I/O命令可被寻址到一常规控制器或RSF,取决于相关的辅助存储器被连接到计算机的方式。
这些常规I/O指令不用于访问被在数个计算机之间通过RSF中级超高速缓存与I/O能力的组合共享的数据库和数据集。
RSF支持设施400的责职之一是检查进程的结束以便通知RSF其所有锁定和其所有的要点登记均必须取消。
进行这一点的一种方法如下:
对任何锁定或登记请求,程序进程获取(隐含地)、如果尚未拥有的话、一特定的(如进程id)本地锁定的独占控制(由将为RSF支持设施用来检查其结束的操作系统支持)。RSF支持设施在它那部分连续不断地力图得到这一锁定的共享控制(有可能,通过随着在释放锁定时揭示的一ECB之后发生的子任务)。
当RSF支持设施已获得共享的控制时,它知道此进程已结束而采取适宜的动作(清除内部表并通知RSF)。
RSF支持设施400的命令集包括有:
无效化/改变状态/揭示
刷新
通知RSF一进程的结束
发送脉动消息
当在一给定(可配置的)时间内RSF支持设施未能发送脉动消息时,RSF即认为相关的计算机和所有它的进程均已结束。
进程结束时,RSF800启动这一进程的所有打开事务的重新运行,在完成重新运行时释放保持的锁定,擦除其要点登记,和可能发送通知到包含它的所有协调进程群的成员。
值变换是RSF中它们的表述与各不同计算机中它们的表述之间值表述的变换进程。在此图中它显现为消息设施的一任务但它也可由程序自身或者不是太理想地由RSF实现。
程序100可作为读或写请求的部分发送要点登记请求到RSF800。当从RSF数据库读数据项时,也可为另一数据项登记要点;这里的观点是要使得RSF数据库中一组数据项中重要的进程能通过在该组中每一要点变化时被改变(通过数据库触发机构)的单个数据项中的要点的登记来监视整个组。在作合适的阐述时,对RSF的组合请求可具有如下的语义:“设法读取满足选项标准<s>的元素;如果不存在,为数据项<r>登记要点”。每当一新数据项满足<s>时期待触发器来更新数据项<r>。
<r>为被定义为<s>的(可能是虚拟的)代表性数据项。
当一数据项被改变时,RSF自动生成交叉无效化/通告消息。无效化或刷新消息被送到所有已不带群参数地登记该数据项中的要点的计算机,而通告消息则被送到对该数据项的每一要点群中的一个进程。此在各要点群中被选择的进程是一具有最高优先级以最早的时间被登记的进程。
刷新消息一般将包含其变化造成它们的生成的数据项。如果引起刷新消息的数据项为虚拟表述,此消息的内容即由触发器确定。
应指出,只有管理本地高速缓存器(象DBMS)的进程一般会登记数据项中的要点。间接用户(象DBMS的那些)将依赖于DBMS的要点登记。
当由RSF发送一交叉无效化/通告消息时,删除对应的要点登记。
图9中以流程图描述由RSF处理超高速缓存写请求的方式。
由于RSF也用作为一常规控制器,并非每一个对其寻址的写均对中级超高速缓存起作用。这就是为什么在1001最先要验证当前的写命令是否是寻址超高速缓存;如果不是,在1005生成I/O请求并在1006编排用于执行。在该阶段保证写操作但其实际操作可被推迟以便改善运行性能(RSF在电源故障情况下利用备用电池来完成被编排的I/O请求的执行);RSF还保证任何读数据企图、甚至是在实际对辅助存储器的写之前编排的企图,将能找到它。
如果中级超高速缓存中需要数据项,所有它的驻留在程序的本地超高速缓存中的已经无群标识符地登记了其中要点的复制均必须被加以无效化。这在1002中进行。在这一阶段,还发送一通告消息到各要点群中具有最高优先级和最早时间的代表(参看为说明支持这种活动的表结构的图10)。取消所有已发送无效化/消息的计算机的要点登记。
并非每一个驻留在RSF中的数据项均必须与辅助存储器相关。测试1003验证数据项是否与一文件无关,当前请求的执行即已完成。
驻留在中级超高速缓存中的数据项可以是存进数据项。如果这样的数据项与一文件相关,则不将将其复制到辅助存储器的I/O操作编排作为将其写到中级超高速缓存的请求的部分。当在1004中辨识到这样的情况时不编排I/O。
当辨识到与一文件相关的存储通过数据项时,1005准备一I/O请求和1006编排执行,保证它输出到辅助存储器。
图10表明在RSF数据库中生成的为表示要点登记的表结构。这一表结构包含为选择接收交叉通告消息的计算机和为确定有关这一交叉通告消息的内容(将生成一简单的通告还是一刷新消息)所需的信息。
进程id列50包含计算机id和计算机中进程的内部标识,为一使整个环境中的这一值为特有的组合。数据ptr列60指向RSF中此数据项的数据。在这里进程要点登记表改善为未加以分类的要点登记的无效化进程的运行性能。
图11说明远程过程调用和联动进程群(CPG)的可能实现。这一图中的所有进程均参与CPG。CPG中的每一进程均可在RSF中保持一数据项。这一数据项反映应用专有状态细节。另外,每一进程均获得一全局锁定的独占控制,即,只要它被排他地占有,即告知此群的其他成员此进程为有效。
当这一全局锁定成为释放的,则作为此对应进程中的要点的进程可推知其结束并作出相应的反应。
(其他的RSF实现可能发送专门的进程结束通知到所有的CPG成员,避免必须锁定。)
进程6通过更新一公共数据项(进程7在其中登记有要点的参数67)来调用进程7的过程。响应76以同样方式应用但是为反方向地从被调用过程返回结果。
如前面已指出的,资源共享设施本身可以是一早先引用的类型的被增强的耦合设施,此增强涉及到硬件和软件双方。这一点的实现是依靠以能与辅助存储器控制器超高速缓存通信的总线来代替耦合设施的内部总线并同时以前面结合通过内部总线进行的各I/O操作描述的RSF算法的实现来代替耦合设施的软件。图12a中,例如,耦合设施70包括通常的CPU71和存储器72以及可连接到辅助存储器控制器74的内部总线73。在这种情况下,内部总线被直接连接到盘控制器存储器75,此盘控制器存储器接着被连接到盘适配器76和盘驱动器77。但在图12b的实施例中,耦合设施70的内部总线被连接到辅助存储器控制器84的CPU88而盘控制器存储器85则连接到盘控制器CPU、盘适配器86和盘驱动器87。
在此二种情况中,当要进行I/O操作时这一请求被通过内部总线传送到辅助存储器作异步执行。此内部总线也被辅助存储器控制器用来响应I/O请求和将所请求的数据带入已以所述方式修正的耦合设施的存储器。
图13是图1的等同物,除这样的事实之外,即此实施例中异构型计算机被连接到辅助存储器控制器6和耦合设施1这两者。这一图形依赖于我们的未决专利申请No.08/579721(Dec 28,1995)中所述的支持异构型计算机系统间共享数据的类型的控制器。这一图形中的耦合设施1已被增强来支撑来自异构型计算机系统的连接,但如果CF的延伸(或者甚至在其当前版本中的CF)演变到支持LAN或某些其他网络连接时,这些连接可被用来代替I/S链路11。
这种配置中的异构型计算机可利用此耦合设施特别是为针对同时的读或写锁定永久驻存在辅助存储器中的共享数据,实现可充分操作的同时数据操纵。
在图14中图13的CF已为应用所述原理的RSF替代。
在所得的配置中共享数据可驻留在RSF上或我们的共同未决专利申请No.08/579721(Dec 28,1995)的控制器上而RSF特别支持为在这二种情况中的同时操纵的锁定但不将对驻留在我们的共同未决专利申请No.08/579721(Dec 28,1995)的控制器上的数据的I/O操作授权给RSF。
为了作这一说明,对异构型计算机系统控制器的引用将是指如在这里结合作为其全文参考的共同未决专利申请No.08/579721中所说明的辅助控制器。

Claims (31)

1.在多个计算机之间共享数据项和锁定并支持远程过程调用和协调进程群的方法,各计算机具有一或多个中央处理单元、与各计算机的中央处理单元相关联的各主存储器和保持在各计算机的主存储器中的各高级超高速缓存,其特征是所述方法包括步骤:
(a)提供一带有中级超高速缓存和资源共享设施数据库并能有选择地存储一组数据项在所述中级超高速缓存和所述资源共享设施数据库中的资源共享设施;
(b)通过系统间链路将所述资源共享设施连接到全部的所述计算机以便所述资源共享设施能为所有的所述计算机访问;
(c)操作所述资源共享设施作为用于至少一个辅助存储器的控制器;
(d)在所述资源共享设施中为所述中级超高速缓存中的各数据项保持为映射中级超高速缓存数据到所述辅助存储器和映射所述辅助存储器数据到所述中级超高速缓存所需的控制信息和逻辑,在此所述资源共享设施可选地使对所述计算机的冗余控制信息加以一致化;和
(e)在需要时通过从所述计算机对所述资源共享设施授权进行输入/输出操作来使保持在资源共享设施中的超高速缓存数据与驻留在所述辅助存储器中的持久数据同步。
2.权利要求1中所述方法,其特征是所述资源共享设施数据库由直接在资源共享设施中实现并被操作用来维护和利用联机事务处理和批量作业执行所需的队列操作的资源共享设施数据库管理系统管理。
3.权利要求1中所述方法,其特征是还包括支持资源共享设施中的共享数据库日志文件的步骤。
4.权利要求1中所述方法,其特征是还包括为共享计算机独立对话上下文数据和作业上下文数据利用资源共享设施实现事务和作业负荷均衡操作的步骤。
5.权利要求1中所述方法,其特征是还包括由至少一个所述计算机的资源共享设施数据库管理系统实现所述资源共享设施数据库的管理的步骤。
6.权利要求5中所述方法,其特征是由所述资源共享设施数据库管理系统保持的数据被存储在所述计算机中的一个计算机的所述主存中而不在所述计算机之间被共享。
7.权利要求1中所述方法,其特征是共享数据项由下列选择:
数据库管理系统数据集的结构化数据;
非数据库管理系统数据集的结构化数据;和
非结构化数据项。
8.权利要求7中所述方法,其特征是所述结构化数据从由下列组成的群中选择:
MVS DB2数据库数据;
IMS数据库数据;
ADABAS数据库数据;
VSAM文件数据;
DB2/6000数据库数据;
Oracle数据库数据;
Sybase数据库数据;
Informix数据库数据;
Ingres数据库数据;
MicrosoftSQL服务器数据库数据;
SQL/DS数据库数据;
CA-IDMS数据库数据;
Data Com/DB数据库数据;
IAM文件数据;和
任何其他DBMS管理的数据。
9.权利要求1中所述方法,其特征是所述计算机从由以下的组成群中选择:IBM主机及其兼容机、UNIX机器、NT机器、PC及兼容机和任何其他类型计算机及它们的组合。
10.权利要求1中所述方法,其特征是还包括步骤:
以读请求从所述中级超高速缓存读取数据项;和
以此同一读请求针对在中级超高速缓存中同时更新或读取锁定从所述中级超高速缓存读取的数据项。
11.权利要求1中所述方法,其特征是至少某些计算机为异构型的并被连接到异构型计算机系统辅助存储器控制器,其中某些共享数据驻留在被用来读和写但不锁定所述某些共享数据的异构型计算机系统辅助存储器控制器中,其中也被保持在中级超高速缓存中的所述某些共享数据的部分与其在异构型计算机系统辅助存储器控制器的辅助存储器中的永久复制间的映射不被授权给所述资源共享设施。
12.权利要求1中所述方法,还包括有步骤:
(f)响应来自在一个别的计算机中运行的个别程序的至少一请求在所述资源共享设施中激活一组进程;和
(g)支持来自所述任何计算机的所述请求组的每个进程中的:
在所述中级超高速缓存中写数据项;
在数据项中登记要点;
写数据项到辅助存储器;
从所述中级超高速缓存读数据项到作请求的计算机的主存中的一给定位置;
针对被其他程序更新或读取锁定数据项;
解锁一锁定;
进行常规的I/O操作;和
作为单个操作执行任何上述请求的组合。
13.权利要求12中所述的方法,其特征是还包括步骤,给每个所述计算机提供位于各主存中的具有超高速缓冲存储器控制向量的资源共享设施支持设施,所述超高速缓冲存储器控制向量的项目描述各高级超高速缓存的缓存器中的数据项的状态,每一为登记数据项中的要点的所述请求将一超高速缓冲存储器控制向量的所述一个项目与所述中级超高速缓存中的对应数据项相关联。
14.权利要求12中所述方法,其特征是还包括步骤,在每次以写请求从所述计算机之一写任何数据到所述中级超高速缓存后,无效化或刷新在除已发出此写请求的计算机外的所有已登记该数据项中的要点的所有所述计算机的所有所述高级超高速缓存中的同一数据项的对应复制。
15.权利要求12中的所述方法,其特征是还包括步骤,在每次以发出写请求从所述计算机之一写任何数据项到所述辅助存储器后,可选地在所述中级超高速缓存中写此数据项的复制并无效化和刷新除已发出此写请求的计算机外的所有已登记该数据项中的要点的所有所述计算机的所有所述高级超高速缓存中的所述数据项的复制。
16.权利要求12中所述的方法,其特征是共享数据项从下列选择:
数据库管理系统数据集的结构化数据;
非数据库管理系统数据集的结构化数据;和
非结构化数据项。
17.权利要求12中所述方法,其特征是所述资源共享设施数据库被管理系统直接在资源共享设施中实现并被操作用于维护和利用为作联机事务处理和批量作业执行所需的队列。
18.权利要求12中所述方法,其特征是还包括支持资源共享设施中共享数据库日志文件的步骤。
19.权利要求12中所述方法,其特征是还包括为共享计算机独立对话上下文数据和作业上下文数据利用资源共享设施进行事务和作业负荷均衡操作的步骤。
20.权利要求12中所述方法,其特征是还包括在至少一个所述计算机中实现对资源共享设施数据库的管理系统的步骤。
21.权利要求20中所述方法,其特征是被所述资源共享设施数据库管理系统保持的数据被存储在所述计算机中的一个计算机的所述主存中并不被在所述计算机之间共享。
22.权利要求13中所述方法,其特征是还包括步骤,周期地由每一所述资源共享设施支持设施传送脉动消息给所述资源共享设施以通知一计算机保持活动并被相应的系统间链路连接到资源共享设施。
23.权利要求12中所述方法,其特征是还包括步骤:由所述资源共享设施根据对所述中级超高速缓存中任何数据项的改变产生有选择地无效化高级超高速缓存、刷新高级超高速缓存和通告与此高级超高速缓存相关的数据项的状态中的变化的交叉通告消息;和
发送所述交叉通告消息到至少某些已登记各数据项中的要点的所述计算机。
24.权利要求23中所述方法,其特征是还包括步骤:
在接收消息的计算机中以此交叉通告消息揭示先前已由要点登记生成的事件控制信息块。
25.权利要求16中所述方法,其特征是所述结构化数据从由下列构成的群中选择:
MVS DB2数据库数据;
IMS数据库数据;
ADABAS数据库数据;
VSAM文件数据;
DB2/6000数据库数据;
Oracle数据库数据;
Sybase数据库数据;
Informix数据库数据;
Ingres数据库数据;
MicrosoftSQL服务器数据库数据;
SQL/DS数据库数据;
CA-IDMS数据库数据;
Data Com/DB数据库数据;
IAM文件数据,和
由任何其他DBMS管理的数据。
26.权利要求12中所述的方法,其特征是所述计算机从由下列构成的群中选择:IBM主机及其兼容机,UNIX机器,NT机器,PC及其兼容机或任何其他类型计算机及它们的组合。
27.权利要求12中所述的方法,其特征是还包括步骤:
以读请求从所述中级超高速缓存读取数据项;和
以同一读请求针对中级超高速缓存中的同时更新或读取锁定从所述中级超高速缓存读取的数据项。
28.权利要求12中所述的方法,其特征是至少某些计算机为异构型的并被连接到一异构型计算机系统辅助存储控制器,其中某些共享数据驻留在被用来读和写但不锁定所述某些共享数据的所述异构计算机系统辅助存储控制器中,其中也被保持在中级超高速缓存中的所述某些共享数据的部分与其在异构型计算机系统辅助存储控制器中的永久复制间的映射不被授权给所述的资源共享设施。
29.能共享数据项和锁定及支持远程过程调用和协调进程群的计算机系统,其特征是包括:
多个计算机,各自具有一或多个中央处理单元、与各计算机的中央处理单元相关联的各主存储器和保持在各计算机的主存中的各高级超高速缓存;
资源共享设施,带有中级超高速缓存和资源共享设施数据库并能在所述中级超高速缓存和所述资源共享设施数据库中有选择地存储一组数据项;
至少一个用于存储共享数据的辅助存储器;及
高速系统间链路,将所述资源共享设施连接到所述计算机以便所述资源共享设施能为所有的所述计算机访问,所述资源共享设施被提供作为对所述辅助存储器的控制器,所述资源共享设施被提供有对所述中级超高速缓存中的各数据项将中级超高速缓存数据映射到所述辅助存储器和将辅助存储器数据映射到所述中级超高速缓存所需的控制信息和逻辑,依靠从计算机对资源共享设施授权输入/输出操作来将保持在资源共享设施中的高速缓存数据与驻留在所述辅助存储器中的持久数据同步。
30.权利要求29中所述计算机系统,其特征是还包括零或多个带有与除一或多个所述资源共享设施外还被连接到至少两个所述计算机的中级超高速缓存的耦合设施。
31.权利要求29中所述计算机系统,其特征是至少某些所述计算机为异构型的并被连接到异构型计算机系统辅助存储控制器,其中某些共享数据驻留在被用来读和写但不锁定所述某些共享数据的所述的异构型计算机系统辅助存储控制器中,其中也被保持在中级超高速缓存中的所述某些共享数据的部分与其在异构型计算机系统辅助存储控制器的辅助存储器中的永久复制间的映射不被授权给所述资源共享设施。
CN98803232A 1997-01-09 1998-01-04 数据共享方法和计算机体系结构 Expired - Fee Related CN1114859C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/781,151 1997-01-09
US08/781,151 US5848241A (en) 1996-01-11 1997-01-09 Resource sharing facility functions as a controller for secondary storage device and is accessible to all computers via inter system links

Publications (2)

Publication Number Publication Date
CN1250532A CN1250532A (zh) 2000-04-12
CN1114859C true CN1114859C (zh) 2003-07-16

Family

ID=25121855

Family Applications (1)

Application Number Title Priority Date Filing Date
CN98803232A Expired - Fee Related CN1114859C (zh) 1997-01-09 1998-01-04 数据共享方法和计算机体系结构

Country Status (6)

Country Link
US (1) US5848241A (zh)
EP (1) EP1015983B1 (zh)
JP (1) JP2001508208A (zh)
CN (1) CN1114859C (zh)
AU (1) AU5338998A (zh)
WO (1) WO1998030959A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101095113B (zh) * 2004-12-29 2012-05-23 英特尔公司 多处理器环境中基于事务的共享数据操作

Families Citing this family (75)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6145006A (en) * 1997-06-25 2000-11-07 Emc Corporation Method and apparatus for coordinating locking operations of heterogeneous host computers accessing a storage subsystem
US6240461B1 (en) * 1997-09-25 2001-05-29 Cisco Technology, Inc. Methods and apparatus for caching network data traffic
US6327622B1 (en) * 1998-09-03 2001-12-04 Sun Microsystems, Inc. Load balancing in a network environment
US6353833B1 (en) * 1998-09-29 2002-03-05 International Business Machines Corporation Caching of distributed dynamic SQL statements in a multiple node RDBMS
US20010051956A1 (en) 1998-09-29 2001-12-13 Paul Bird Global caching and sharing of sql statements in a heterogeneous application environment
US6078957A (en) * 1998-11-20 2000-06-20 Network Alchemy, Inc. Method and apparatus for a TCP/IP load balancing and failover process in an internet protocol (IP) network clustering system
US7107395B1 (en) * 1998-12-31 2006-09-12 Emc Corporation Apparatus and methods for operating a computer storage system
US6675175B2 (en) * 1999-02-19 2004-01-06 International Business Machines Corporation Method and system for sharing catalogs in a multiprocessing system utilizing a shared processor
US6449731B1 (en) * 1999-03-03 2002-09-10 Tricord Systems, Inc. Self-healing computer system storage
US6385603B1 (en) 1999-06-14 2002-05-07 International Business Machines Corporation Joined table expression optimization by query transformation
US6751191B1 (en) 1999-06-29 2004-06-15 Cisco Technology, Inc. Load sharing and redundancy scheme
US7349979B1 (en) 1999-12-02 2008-03-25 Cisco Technology, Inc. Method and apparatus for redirecting network traffic
US7668938B1 (en) * 2000-01-14 2010-02-23 Microsoft Corporation Method and system for dynamically purposing a computing device
US7058007B1 (en) 2000-01-18 2006-06-06 Cisco Technology, Inc. Method for a cable modem to rapidly switch to a backup CMTS
US6839829B1 (en) 2000-01-18 2005-01-04 Cisco Technology, Inc. Routing protocol based redundancy design for shared-access networks
US6917942B1 (en) 2000-03-15 2005-07-12 International Business Machines Corporation System for dynamically evaluating locks in a distributed data storage system
JP3951547B2 (ja) * 2000-03-24 2007-08-01 株式会社日立製作所 レプリケーションによるホスト間データ共有方式
US6742044B1 (en) 2000-05-10 2004-05-25 Cisco Technology, Inc. Distributed network traffic load balancing technique implemented without gateway router
US6839809B1 (en) 2000-05-31 2005-01-04 Cisco Technology, Inc. Methods and apparatus for improving content quality in web caching systems
US7395348B1 (en) * 2000-06-05 2008-07-01 Cisco Technology, Inc. Network cache-based content routing
US7072979B1 (en) 2000-06-28 2006-07-04 Cisco Technology, Inc. Wide area load balancing of web traffic
US8600783B2 (en) 2000-08-18 2013-12-03 The Crawford Group, Inc. Business to business computer system for communicating and processing rental car reservations using web services
US7899690B1 (en) 2000-08-18 2011-03-01 The Crawford Group, Inc. Extended web enabled business to business computer system for rental vehicle services
US6751704B2 (en) * 2000-12-07 2004-06-15 International Business Machines Corporation Dual-L2 processor subsystem architecture for networking system
US6785750B1 (en) * 2001-04-30 2004-08-31 Lsi Logic Corporation Integrated dynamic load balancing by an input/output interface
US6813656B1 (en) * 2001-04-30 2004-11-02 Lsi Logic Corporation Integrated dynamic multipathing filter
US7881208B1 (en) 2001-06-18 2011-02-01 Cisco Technology, Inc. Gateway load balancing protocol
JP2003029932A (ja) * 2001-07-18 2003-01-31 Hitachi Ltd ディスク制御装置
US6922744B1 (en) * 2001-08-09 2005-07-26 Unisys Corporation Communal lock processing system for multiprocessor computer system
US6986003B1 (en) 2001-08-09 2006-01-10 Unisys Corporation Method for processing communal locks
JP2003162439A (ja) * 2001-11-22 2003-06-06 Hitachi Ltd ストレージシステム及びその制御方法
US7720997B1 (en) 2001-12-19 2010-05-18 Cisco Technology, Inc. Path selection system
JP3964212B2 (ja) * 2002-01-16 2007-08-22 株式会社日立製作所 記憶装置システム
US6820172B2 (en) 2002-03-25 2004-11-16 International Business Machines Corporation Method, system, and program for processing input/output (I/O) requests to a storage space having a plurality of storage devices
JP2003323261A (ja) * 2002-04-26 2003-11-14 Hitachi Ltd ディスク制御システム、ディスク制御装置、ディスクシステム、及びその制御方法
US20040039612A1 (en) 2002-06-14 2004-02-26 Neil Fitzgerald Method and apparatus for customer direct on-line reservation of rental vehicles
US8108231B2 (en) 2002-06-14 2012-01-31 The Crawford Group, Inc. Method and apparatus for improved customer direct on-line reservation of rental vehicles
US7328314B2 (en) * 2002-06-19 2008-02-05 Alcatel-Lucent Canada Inc. Multiprocessor computing device having shared program memory
JP4244572B2 (ja) * 2002-07-04 2009-03-25 ソニー株式会社 キャッシュ装置、およびキャッシュデータ管理方法、並びにコンピュータ・プログラム
CN101311933B (zh) * 2002-09-03 2011-12-28 Sap股份公司 接收动态访问数据的方法和系统
US7593346B2 (en) 2003-07-31 2009-09-22 Cisco Technology, Inc. Distributing and balancing traffic flow in a virtual gateway
TWI221980B (en) * 2003-09-02 2004-10-11 Prolific Technology Inc Apparatus for multiple host access to storage media
US8560747B1 (en) 2007-02-16 2013-10-15 Vmware, Inc. Associating heartbeat data with access to shared resources of a computer system
US8543781B2 (en) 2004-02-06 2013-09-24 Vmware, Inc. Hybrid locking using network and on-disk based schemes
US10776206B1 (en) * 2004-02-06 2020-09-15 Vmware, Inc. Distributed transaction system
US8700585B2 (en) * 2004-02-06 2014-04-15 Vmware, Inc. Optimistic locking method and system for committing transactions on a file system
US20110179082A1 (en) * 2004-02-06 2011-07-21 Vmware, Inc. Managing concurrent file system accesses by multiple servers using locks
US7849098B1 (en) 2004-02-06 2010-12-07 Vmware, Inc. Providing multiple concurrent access to a file system
US8156472B2 (en) * 2004-02-12 2012-04-10 Microsoft Corporation Process language for microprocessors with finite resources
CN100373354C (zh) * 2005-01-20 2008-03-05 英业达股份有限公司 识别磁盘高速缓存内容有效性的资料存取方法
US8127088B2 (en) * 2005-01-27 2012-02-28 Hewlett-Packard Development Company, L.P. Intelligent cache management
US8566827B2 (en) * 2005-10-27 2013-10-22 International Business Machines Corporation System and method of arbitrating access of threads to shared resources within a data processing system
US8271309B2 (en) 2006-03-16 2012-09-18 The Crawford Group, Inc. Method and system for providing and administering online rental vehicle reservation booking services
US7727089B2 (en) * 2007-06-15 2010-06-01 Marty Gilman, Inc. Athletic training sled apparatus
US9298417B1 (en) * 2007-07-25 2016-03-29 Emc Corporation Systems and methods for facilitating management of data
US8667175B2 (en) 2008-03-13 2014-03-04 Cisco Technology, Inc. Server selection for routing content to a client using application layer redirection
CN100589079C (zh) * 2008-05-09 2010-02-10 华为技术有限公司 一种数据共享的方法、系统和装置
GB2467207A (en) * 2009-01-26 2010-07-28 Agilent Technologies Inc Separation device with moveable filing channel
US8335171B1 (en) * 2009-09-29 2012-12-18 Juniper Networks, Inc. NETCONF-enabled provisioning in rollback agnostic environment
US8423505B2 (en) * 2010-01-09 2013-04-16 International Business Machines Corporation Catalog reorganization apparatus and method
US9350809B2 (en) * 2011-01-31 2016-05-24 Nokia Technologies Oy Method and apparatus for automatically determining communities of interest, for use over an ad-hoc mesh network, based on context information
CN102193981B (zh) * 2011-03-25 2013-01-02 北京世纪互联宽带数据中心有限公司 图形数据库联机事务中事务过期机制的实现方法
CN102779132B (zh) * 2011-05-12 2014-11-19 阿里巴巴集团控股有限公司 数据更新方法、系统及数据库服务器
JP5816572B2 (ja) * 2012-02-23 2015-11-18 日立オートモティブシステムズ株式会社 車両用制御装置
US8996801B2 (en) 2012-02-29 2015-03-31 International Business Machines Corporation Providing record level sharing (RLS) to individual catalogs
US8799569B2 (en) * 2012-04-17 2014-08-05 International Business Machines Corporation Multiple enhanced catalog sharing (ECS) cache structure for sharing catalogs in a multiprocessor system
AP2015008727A0 (en) * 2013-03-01 2015-09-30 Airstrip Ip Holdings Llc Systems and methods for integrating, unifying and displaying patient data across healthcare continua
US10262382B2 (en) 2013-03-15 2019-04-16 Airstrip Ip Holdings, Llc Systems and methods for and displaying patient data
CN103763581A (zh) * 2013-05-02 2014-04-30 乐视网信息技术(北京)股份有限公司 一种实现直播回看的方法和系统
CN103929472A (zh) * 2014-03-21 2014-07-16 珠海多玩信息技术有限公司 数据处理方法、装置及系统
CN107315564B (zh) * 2016-04-26 2020-07-17 中科寒武纪科技股份有限公司 一种用于执行向量超越函数运算的装置和方法
US10205989B2 (en) * 2016-06-12 2019-02-12 Apple Inc. Optimized storage of media items
US10565109B2 (en) 2017-09-05 2020-02-18 International Business Machines Corporation Asynchronous update of metadata tracks in response to a cache hit generated via an I/O operation over a bus interface
US10452540B2 (en) * 2017-10-20 2019-10-22 International Business Machines Corporation Memory-mapped interface for message passing computing systems
CN111886835B (zh) * 2018-03-23 2023-07-28 瑞典爱立信有限公司 网状网络中的消息高速缓存管理

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5339405A (en) * 1992-03-30 1994-08-16 International Business Machines Corporation Command quiesce function
US5452447A (en) * 1992-12-21 1995-09-19 Sun Microsystems, Inc. Method and apparatus for a caching file server

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5133075A (en) * 1988-12-19 1992-07-21 Hewlett-Packard Company Method of monitoring changes in attribute values of object in an object-oriented database
JPH07104810B2 (ja) * 1989-11-18 1995-11-13 株式会社日立製作所 共用ファイルのアクセス制御方式
JP3213766B2 (ja) * 1992-03-16 2001-10-02 株式会社日立製作所 レプリケートファイル更新システム
US5317739A (en) * 1992-03-30 1994-05-31 International Business Machines Corp. Method and apparatus for coupling data processing systems
US5339427A (en) * 1992-03-30 1994-08-16 International Business Machines Corporation Method and apparatus for distributed locking of shared data, employing a central coupling facility
US5664106A (en) * 1993-06-04 1997-09-02 Digital Equipment Corporation Phase-space surface representation of server computer performance in a computer network
US5331637A (en) * 1993-07-30 1994-07-19 Bell Communications Research, Inc. Multicast routing using core based trees
US5490270A (en) * 1994-06-16 1996-02-06 International Business Machines Corporation Simultaneous updates to the modification time attribute of a shared file in a cluster having a server and client nodes
JP2507235B2 (ja) * 1994-06-24 1996-06-12 インターナショナル・ビジネス・マシーンズ・コーポレイション クライアント・サ―バ・コンピュ―タ・システム、及びそのクライアント・コンピュ―タ、サ―バ・コンピュ―タ、並びにオブジェクト更新方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5339405A (en) * 1992-03-30 1994-08-16 International Business Machines Corporation Command quiesce function
US5452447A (en) * 1992-12-21 1995-09-19 Sun Microsystems, Inc. Method and apparatus for a caching file server

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101095113B (zh) * 2004-12-29 2012-05-23 英特尔公司 多处理器环境中基于事务的共享数据操作

Also Published As

Publication number Publication date
EP1015983A1 (en) 2000-07-05
EP1015983A4 (en) 2001-06-13
WO1998030959A1 (en) 1998-07-16
US5848241A (en) 1998-12-08
JP2001508208A (ja) 2001-06-19
CN1250532A (zh) 2000-04-12
EP1015983B1 (en) 2016-07-20
AU5338998A (en) 1998-08-03

Similar Documents

Publication Publication Date Title
CN1114859C (zh) 数据共享方法和计算机体系结构
CN107463635B (zh) 一种图片数据查询的方法和分布式NewSQL数据库系统
CN1280716C (zh) 计算机处理方法、分布式计算方法和网络计算方法
CN1158604C (zh) 盘片驱动器以及将信息存储在驱动器盘片上的方法
CN1146786C (zh) 用于自动修改数据库存取方法的方法
CN1525337A (zh) 包括存储系统的数据处理系统
CN1290041C (zh) 用于改进文件管理的方法和装置
CN1174319C (zh) 数据结构管理装置、数据结构管理系统和方法
US7146357B2 (en) Database system, server, query posing method, and data updating method
US9342572B2 (en) Workflow processing system and method with database system support
US20080086480A1 (en) System and Methods For Temporary Data Management in Shared Disk Cluster
US20070157210A1 (en) Information system, load control method, load control program and recording medium
CN1268688A (zh) 异步更新共享资源的接口系统和方法
CN1928840A (zh) 存储装置虚拟化装置的设备控制交接方法
CN1764904A (zh) 虚拟排序的写
CN1443323A (zh) 控制集群计算环境的系统通信量的方法、系统和程序产品
CN1746893A (zh) 事务文件系统
US11321209B2 (en) Query-attempt assignment in a database environment
WO2020220717A1 (zh) 一种解耦合的弹性数据仓库架构
CN1256671C (zh) 管理资源争用的方法和装置
US20220269573A1 (en) Automated query retry in a database system
KR20130053407A (ko) 데이터베이스 검색에 있어 조회 향상
CN1293456C (zh) 集群型存储系统
US20240086397A1 (en) Identifying software regressions based on query retry attempts in a database environment
US20070022133A1 (en) Method and apparatus for automatically and configurably adjusting allocated database resources to avoid denial of service

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
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