CN103827849B - 支持事务式中间件机器环境中的复杂消息标头的系统和方法 - Google Patents
支持事务式中间件机器环境中的复杂消息标头的系统和方法 Download PDFInfo
- Publication number
- CN103827849B CN103827849B CN201280047480.6A CN201280047480A CN103827849B CN 103827849 B CN103827849 B CN 103827849B CN 201280047480 A CN201280047480 A CN 201280047480A CN 103827849 B CN103827849 B CN 103827849B
- Authority
- CN
- China
- Prior art keywords
- affairs formula
- data structure
- message
- client
- server
- 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
Links
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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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/163—Interprocessor communication
- G06F15/167—Interprocessor communication using a common memory, e.g. mailbox
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1865—Transactional file systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9036—Common buffer combined with individual queues
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
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 Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Multi Processors (AREA)
Abstract
一种灵活的事务数据结构可以用于存储事务式中间件机器环境下的复杂消息标头。所述灵活的事务数据结构可以具有动态数量的字段,并且可经由指定的ID访问。所述消息标头可以包括第一数据结构和第二数据结构,第一数据结构分别存储用于使用第一和第二消息队列访问客户端的地址信息。第一类型的事务式服务器操作为仅使用第一数据结构来获得用于使用第一消息队列访问客户端的地址信息。第二类型的事务式服务器操作为从第一数据结构获得密钥,然后使用密钥来从第二数据结构获得用于使用第二消息队列访问客户端的地址信息。
Description
版权声明
本专利文档的公开内容的一部分包含受版权保护的内容。版权所有人不反对任何人如该专利文档或专利公开内容在专利商标局专利文件或记录中所登载的那样对它进行复制再现,但是保留所有其他版权权利。
技术领域
本发明总体上涉及计算机系统和软件,诸如中间件,更特别地,涉及支持事务式中间件机器环境。
背景技术
事务式中间件系统或面向事务的中间件包括可以处理组织内的各种事务的企业应用服务器。随着诸如高性能网络和多处理器计算机之类的新技术的发展,需要进一步改进事务式中间件的性能。这些大致是本发明的实施例意图解决的领域。
发明内容
本文描述一种用于支持事务式中间件机器环境下的复杂消息标头的系统和方法。所述复杂消息标头包括第一数据结构和第二数据结构,第一数据结构存储用于使用第一消息队列访问事务式客户端的地址信息,第二数据结构存储用于使用第二消息队列访问事务式客户端的地址信息。第一类型的事务式服务器操作来检查复杂消息标头中的第一数据结构以获得用于使用第一消息队列与事务式客户端进行通信的地址信息。第二类型的事务式服务器操作来从复杂消息标头中的第一数据结构获得密钥,并且使用该密钥来从复杂消息标头中的第二数据结构获得用于使用第二消息队列与事务式客户端进行通信的地址信息。
附图说明
图1示出根据本发明的实施例的支持复杂消息标头的事务式中间件机器环境的例示。
图2例示根据本发明的实施例的用于支持事务式中间件机器环境下的复杂消息标头的示例性流程图。
图3示出根据本发明的实施例的事务式中间件机器环境下的复杂消息标头的例示。
具体实施方式
本文描述一种用于支持事务式中间件系统(诸如Tuxedo)的系统和方法,该系统和方法可以利用具有多个处理器的快速机器和高性能网络连接。灵活的事务数据结构可以用于将消息标头存储在事务式中间件机器环境下。灵活的事务数据结构可以具有动态数量的字段,并且可经由指定ID来访问。消息标头可以包括第一数据结构和第二数据结构,第一数据结构存储用于使用第一消息队列访问客户端的地址信息,第二数据结构存储用于使用第二消息队列访问客户端的地址信息。第一类型的服务器操作为仅使用第一数据结构来获得用于使用第一消息队列访问客户端的地址信息。第二类型的服务器操作为从第一数据结构获得密钥,然后使用该密钥来从第二数据结构获得用于使用第二消息队列访问客户端的地址信息。
根据本发明的实施例,所述系统包括高性能硬件(例如,64位处理器技术)、高性能大型存储器和冗余Infiniband和以太网联网、以及应用服务器或中间件环境(诸如WebLogic套件),以提供完整的Java EE应用服务器综合体,该Java EE应用服务器综合体包括可以被快速配置并且可以按需伸缩的大规模并行内存网格。根据实施例,所述系统可以被部署为提供应用服务器网格、存储区域网络和Infiniband(IB)网络的全机架、半机架或四分之一机架或其他构造。中间件机器软件可以提供应用服务器、中间件和其他功能(诸如,例如WebLogic服务器、JRockit或Hotspot JVM、Oracle Linux或Solaris、以及OracleVM)。根据实施例,所述系统可以包括彼此经由IB网络进行通信的多个计算节点、IB交换机网关以及存储节点或单元。当被实现为机架构造时,可以将机架的未使用部分置空或用填充物占据。
根据本发明的在本文中被称为“Sun Oracle Exalogic”或“Exalogic”的实施例,所述系统是用于托管中间件或应用服务器软件(诸如Oracle Middleware SW套件或Weblogic)的易部署解决方案。如本文中所描述的,根据实施例,所述系统是包括一个或多个服务器、存储单元、用于存储联网的IB交织、以及托管中间件应用所需的所有其他组件的“盒中网格”。通过使用例如实时应用集群(Real Application Clusters)和Exalogic Open储存器来利用大规模并行网格架构,可以赋予所有类型的中间件应用重要性能。所述系统提供带有I/O线性伸缩性的性能改善,易于使用和管理,并且提供任务关键的可用性和可靠性。
根据本发明的实施例,Tuxedo是实现高性能分布式企业应用的构造、执行和管控的一组软件模块,并且已经被若干多层次应用部署工具用作事务式中间件。另外,事务式中间件系统(诸如Tuxedo系统)可以利用具有多个处理器的快速机器(诸如Exalogic中间件机器)和高性能网络连接(诸如Infiniband(IB)网络)。
根据本发明的实施例,事务式中间件系统可以使用远程直接存储器存取(RDMA)协议在本地机器与远程机器之间交换消息,从而以类似于本地消息传送(例如,绕过桥处理并且防止单点瓶颈)的方式来实现短延迟。在2012年3月8日提交的题为“SYSTEM AND METHODFOR PREVENTING SINGLE-POINT BOTTLENECK IN A TRANSACTIONAL MIDDLEWARE MACHINEENVIRONMENT”的美国申请中公开了使用RDMA协议在本地机器与远程机器之间交换消息,该申请的全部内容通过引用合并于此。
支持复杂消息标头
根据本发明的实施例,事务式中间件机器环境可以使用复杂消息标头以支持在机器之间传送消息时绕过桥处理并且防止单点瓶颈。复杂消息标头可以使用灵活的数据结构以用于支持事务式中间件机器环境中的不同消息队列,诸如RDMA消息队列和系统V处理间通信(IPC)消息队列。
图1示出根据本发明的实施例的支持复杂消息标头的事务式中间件机器环境的例示。如图1所示,事务式客户端101可以将不同的服务请求消息(消息A 104和消息B 10S)发送到不同类型的事务式服务器(服务器A 102和服务器B 103)。服务器A可以是使用IPC队列的第一类型的服务器,服务器B可以是使用RDMA队列的第二类型的服务器。另外,服务器可以同时监听IPC队列和RDMA队列两者。服务器A 102和服务器B 103可以是硬件计算节点。服务器A 102和服务器B 103可以设置在中间件机器的机架中。
根据本发明的实施例,复杂消息标头可以使用灵活的数据结构,以便支持绕过桥处理并且防止单点瓶颈。如图1所示,消息标头A 106包括第一数据结构A 108和第二数据结构A 110,消息标头107包括第一数据结构B 109和第二数据结构B 111。第一数据结构A 108和第一数据结构B 109均可以是存储用于使用IPC队列访问客户端的地址信息的简单数据结构。另外,消息标头B 107中的第二数据结构B 111可以是存储用于使用第二消息队列访问客户端的地址信息的数据缓冲区,消息标头A 106中的第二数据结构A 110可以被置空、不存在、或者一开始就没有被创建。
在图1所示的例子中,服务器A 102(优选使用系统V IPC队列A 122的服务器)可以仅使用简单数据结构108来经由桥处理A 120和桥处理C 118获得用于使用IPC消息队列C116访问客户端的地址信息。另一方面,服务器B 103(优选使用RDMA队列的服务器)可以使用简单数据结构109来获得密钥113(例如,具有负的长整型值(long value)的伪IPC队列地址)。此外,服务器B 103可以使用密钥113或指定字段名来查找数据缓冲区以获得关于用于使用第二消息队列访问客户端的地址B 114的信息。
根据本发明的实施例,客户端可以同时维护IPC队列和RDMA队列。在客户端将服务器请求消息送出到目标服务器之前,客户端可以首先基于客户端之前接收的信息来确定目标服务器的类型。如果目标服务器被确定为优选使用IPC队列,则客户端可以发送具有格式与图1所示的消息标头A 106类似的消息标头的服务请求消息。否则,如果目标服务器被确定为优选使用RDMA队列,则客户端可以发送具有格式与图1所示的消息标头B 107类似的消息标头的服务请求消息。
图2例示根据本发明的实施例的用于支持事务式中间件机器环境下的复杂消息标头的示例性流程图。如图2所示,在步骤201,提供第一数据结构,第一数据结构存储用于使用第一消息队列访问事务式客户端的地址信息。此外,在步骤202,提供第二数据结构,第二数据结构存储用于使用第二消息队列访问事务式客户端的地址信息。然后,在步骤203,第一类型的事务式服务器可以仅检查复杂消息标头中的第一数据结构以获得用于使用第一消息队列与事务式客户端进行通信的地址信息。此外,在步骤204,第二类型的事务式服务器可以从复杂消息标头中的第一数据结构获得密钥,并且使用该密钥来从复杂消息标头中的第二数据结构获得用于使用第二消息队列与事务式客户端进行通信的地址信息。
在Tuxedo中传载消息队列信息
根据本发明的实施例,Tuxedo应用可以利用RDMA协议和使用RDMA队列,以便绕过与系统V IPC队列相关联的桥处理。与系统V IPC队列相关联的桥处理可以是Tuxedo环境下的单点瓶颈。通过使用RDMA队列,不同Tuxedo机器之间的远程消息传送可以按类似于本地消息传送的方式实现较短延迟。
Tuxedo客户端和服务器可以按不同版本编译,并且可以部署在不同机器中。有可能并非每个机器都支持旁路桥处理特征。所述系统可以在它们之间保持消息兼容性。例如,一版本的Tuxedo服务器可以访问Tuxedo消息标头中的所有字段的正确偏移,尽管该Tuxedo服务器不支持旁路桥特征。因此,在不同版本的Tuxedo上运行的应用可以识别彼此发送的消息。
图3示出根据本发明的实施例的事务式中间件机器环境下的复杂消息标头的例示。如图3中所示,复杂消息标头包含在C结构中的几个Tuxedo消息标头301和302、以及在FML32类型化缓冲区中的Tuxedo消息标头303。
客户端可以将系统V IPC队列地址信息存储在C结构中。为了解决互操作性问题,即使当旁路桥特征被激活时,C结构也可以在消息标头中的相同位置保持不变。另外,客户端可以将其整个RDMA消息队列信息存储到灵活事务标头中,例如,存储在具有不用于系统VIPC队列地址的ID的FML32类型化缓冲区标头303中。
FML32类型化缓冲区中的RDMA消息队列信息通常包含比C结构中的系统V IPC队列地址信息更多的字节。例如,Tuxedo请求消息标头中的C结构包含八(8)字节“长整型”变量,RDMA消息队列地址是128字节的数组。
FML32类型化缓冲区是按字段索引的灵活事务数据结构。FML32类型化缓冲区中的每个条目可以按指定字段名进行检索。如果处理得到FML32类型化缓冲区,那么如果处理没有经由它不知道的字段名得到值,则该处理不引起任何麻烦。此外,不太可能任何处理可以试图经由它不知道的字段来获得值。
根据本发明的实施例,可以将动态数量的字段304和305放置到可经由指定ID访问的同一缓冲区中。当旁路桥特征没有被激活时,所述处理不检查FML32标头,并且因为C结构标头不变,所以处理仅可以访问系统V IPC队列。
当旁路桥特征被激活时,客户端可以使用RDMA消息队列而不是系统V IPC队列来将消息发送到服务器,并且可以将其回复RDMA消息队列地址存储在请求消息中,以使得服务器可以送回响应。
如图3所示,当Tuxedo服务器处理从Tuxedo客户端接收到消息时,Tuxedo服务器处理可以首先得到C结构(例如,Tuxedo消息标头X 302)中的IPC队列地址。如果Tuxedo服务器处理发现该条目具有负的长整型值,则Tuxedo服务器处理可以经由指定的字段名从在FML32类型化缓冲区中的Tuxedo消息标头Y 303得到RDMA消息队列地址。
此外,Tuxedo客户端可以在发送请求之前从服务器得到版本信息。因此,对于没有用旁路桥特征进行编译的服务器而言,只有系统V IPC队列地址可以被放置到请求消息标头中,FML32类型化缓冲区不被触动。
当旁路桥特征被禁用时,在FML32缓冲区303中不存在RDMA消息队列地址字段。消息缓冲区(C结构部分)中的队列地址可以是指示系统V IPC队列地址的正的IPC队列地址。因此,当Tuxedo从消息缓冲区得到该队列地址时,系统不检查FML32缓冲区。
本发明的其他实施例包括一种用于支持事务式中间件机器环境下的复杂消息标头的系统,该系统包括:第一数据存储单元,其存储用于使用第一消息队列访问事务式客户端的地址信息;第二数据存储单元,其存储用于使用第二消息队列访问事务式客户端的地址信息;第一类型的事务式服务器,其操作为仅检查复杂消息标头中的第一数据结构以获得用于使用第一消息队列与事务式客户端进行通信的地址信息;以及第二类型的事务式服务器,其操作为从复杂消息标头中的第一数据结构获得密钥,并且使用该密钥来从复杂消息标头中的第二数据结构获得用于使用第二消息队列与事务式客户端进行通信的地址信息。
另一实施例包括一种系统,其中事务式客户端操作为使用复杂消息标头将消息发送到事务式服务器。
另一实施例包括一种系统,其中事务式客户端操作为在发送所述消息之前得到关于事务式服务器的信息。
另一实施例包括一种系统,其中事务式服务器操作为基于复杂消息标头中的地址信息将响应消息发送到事务式客户端。
另一实施例包括一种系统,其中第一数据结构是C数据结构,第二数据结构是类型化缓冲区数据结构。
另一实施例包括一种系统,其中事务式客户端操作为通过本地桥处理与第一类型的事务式服务器进行通信。
另一实施例包括一种系统,其中事务式客户端操作为经由高性能网络直接与第二类型的事务式服务器进行通信。
另一实施例包括一种系统,其中高性能网络是使用远程直接存储器存取(RDMA)协议的Infiniband(IB)网络。
另一实施例包括一种系统,其中第一类型的事务式服务器不理解复杂消息标头中的第二数据结构中的地址信息。
另一实施例包括一种系统,其中第二数据结构是具有动态数量的字段的灵活的事务数据结构,每个字段可经由指定ID来访问。
另一实施例包括一种用于支持事务式中间件机器环境下的复杂消息标头的设备,该设备包括:用于提供第一数据结构的装置,第一数据结构存储用于使用第一消息队列访问事务式客户端的地址信息;用于提供第二数据结构的装置,第二数据结构存储用于使用第二消息队列访问事务式客户端的地址信息;用于允许第一类型的事务式服务器仅检查复杂消息标头中的第一数据结构以获得用于使用第一消息队列与事务式客户端进行通信的地址信息的装置;以及用于允许第二类型的事务式服务器从复杂消息标头中的第一数据结构获得密钥并且使用该密钥来从复杂消息标头中的第二数据结构获得用于使用第二消息队列与事务式客户端进行通信的地址信息的装置。
另一实施例包括一种设备,其还包括用于允许事务式客户端使用复杂消息标头将消息发送到事务式服务器的装置。
另一实施例包括一种设备,其还包括用于允许事务式客户端在发送所述消息之前得到关于事务式服务器的信息的装置。
另一实施例包括一种设备,其还包括用于允许事务式服务器基于复杂消息标头中的地址信息将响应消息发送到事务式客户端的装置。
另一实施例包括一种设备,其中第一数据结构是C数据结构,第二数据结构是类型化缓冲区数据结构。
另一实施例包括一种设备,其还包括用于允许事务式客户端通过本地桥处理与第一类型的事务式服务器进行通信的装置。
另一实施例包括一种设备,其还包括用于允许事务式客户端经由高性能网络直接与第二类型的事务式服务器进行通信的装置。
另一实施例包括一种设备,其中高性能网络是使用远程直接存储器存取(RDMA)协议的Infiniband(IB)网络。
另一实施例包括一种设备,其还包括用于允许第一类型的事务式服务器不理解复杂消息标头中的第二数据结构中的地址信息的装置。
另一实施例包括一种设备,其中第二数据结构是具有动态数量的字段的灵活的事务数据结构,其中每个字段均可经由指定的ID来访问。
本发明可以方便地使用一个或多个常规的通用或专用数字计算机、计算装置、机器或微处理器来实现,这些数字计算机、计算装置、机器或微处理器包括根据本公开的教导编程的一个或多个处理器、存储器和/或计算机可读存储介质。如软件领域中的技术人员将明白的,熟练的程序员可以基于本公开的教导容易地准备适当的软件编码。
在一些实施例中,本发明包括计算机程序产品,该计算机程序产品是其上/其中存储可以用于将计算机编程为执行本发明的任何一个处理的指令的存储介质或一个(多个)计算机可读介质。存储介质可以包括,但不限于,任何类型的盘(包括软盘、光学盘、DVD、CD-ROM、微驱动器和磁光盘)、ROM、RAM、EPROM、EEPROM、DRAM、VRAM、闪存装置、磁性或光学卡、纳米系统(包括分子存储器IC)、或适用于存储指令和/或信息的任何类型的介质或装置。
已经为了例示和描述的目的提供了本发明的前面的描述。并非意图是穷举性的或者使本发明限于所公开的精确形式。许多修改和变型对于本领域的熟练从业者将是显而易见的。为了最佳地说明本发明的原理及其实际应用,选择并描述了实施例,从而使得本领域的其他技术人员能够针对各种实施例并且在适合于所设想的特定用途的各种修改下理解本发明。意图是本发明的范围由权利要求书及其等同形式限定。
Claims (29)
1.一种用于支持事务式中间件机器环境下的消息标头的系统,包括:
第一类型的事务式服务器,其中第一类型的事务式服务器使用处理间通信和第一消息队列与事务式客户端通信;
第二类型的事务式服务器,其中第二类型的事务式服务器使用远程直接存储器存取和第二消息队列与所述事务式客户端通信;
其中所述事务式客户端将包括第一类型的消息标头的第一服务请求消息发送到所述第一类型的事务式服务器,以及将包含第二类型的消息标头的第二服务请求消息发送到所述第二类型的事务式服务器,
其中所述第一类型的消息标头包括第一数据结构,所述第一数据结构存储用于使用所述第一消息队列访问所述事务式客户端的地址信息,所述第二类型的消息标头包括存储密钥的第一数据结构和第二数据结构,所述第二数据结构存储用于使用所述第二消息队列访问所述事务式客户端的地址信息,
其中,所述第一类型的事务式服务器操作为仅检查所述第一类型的消息标头中的第一数据结构以获得用于使用所述第一消息队列与所述事务式客户端进行通信的地址信息;且
其中,所述第二类型的事务式服务器操作为从所述第二类型的消息标头中的第一数据结构获得所述密钥,并且使用所述密钥以从所述第二类型的消息标头中的第二数据结构获得用于使用所述第二消息队列与所述事务式客户端进行通信的地址信息。
2.根据权利要求1所述的系统,其中,所述事务式客户端操作为在发送相应的消息之前得到关于相应的事务式服务器的信息。
3.根据权利要求1所述的系统,其中,所述第一类型的事务式服务器操作为基于所述第一类型的消息标头中的地址信息将第一响应消息发送到事务式客户端,所述第二类型的事务式服务器操作为基于所述第二类型的消息标头中的地址信息将第二响应消息发送到事务式客户端。
4.根据权利要求1所述的系统,其中,所述第一数据结构是C数据结构,所述第二数据结构是类型化缓冲区数据结构。
5.根据权利要求1所述的系统,其中,所述事务式客户端操作为通过本地桥处理与第一类型的事务式服务器进行通信。
6.根据权利要求1所述的系统,其中,所述事务式客户端操作为经由高性能网络直接与第二类型的事务式服务器进行通信。
7.根据权利要求6所述的系统,其中,所述高性能网络是使用远程直接存储器存取(RDMA)协议的Infiniband(IB)网络。
8.根据权利要求1所述的系统,其中,第一类型的事务式服务器不理解所述第二类型的消息标头中的第二数据结构中的地址信息。
9.根据权利要求1所述的系统,其中,所述第二数据结构是具有动态数量的字段的灵活的事务数据结构,所述字段中的每个均能经由指定的ID访问。
10.一种用于支持事务式中间件机器环境下的消息标头的方法,包括:
提供包括第一数据结构的第一类型的消息标头,所述第一数据结构存储用于使用第一消息队列访问事务式客户端的地址信息;
提供包括存储密钥的第一数据结构和第二数据结构的第二类型的消息标头,所述第二数据结构存储用于使用第二消息队列访问事务式客户端的地址信息;
允许第一类型的事务式服务器仅检查所述第一类型的消息标头中的第一数据结构以获得用于使用处理间通信和第一消息队列与事务式客户端进行通信的地址信息;以及
允许第二类型的事务式服务器从所述第二类型的消息标头中的第一数据结构获得密钥,并且使用所述密钥来从所述第二类型的消息标头中的第二数据结构获得用于使用远程直接存储器存取和第二消息队列与事务式客户端进行通信的地址信息。
11.根据权利要求10所述的方法,还包括允许事务式客户端使用相应的消息标头将相应的消息发送到相应的事务式服务器。
12.根据权利要求11所述的方法,还包括允许事务式客户端在发送相应的消息之前得到关于相应的事务式服务器的信息。
13.根据权利要求11所述的方法,还包括允许所述第一类型的事务式服务器基于所述第一类型的消息标头中的地址信息将第一响应消息发送到事务式客户端,以及允许所述第二类型的事务式服务器基于所述第二类型的消息标头中的地址信息将第二响应消息发送到事务式客户端。
14.根据权利要求10所述的方法,其中,所述第一数据结构是C数据结构,所述第二数据结构是类型化缓冲区数据结构。
15.根据权利要求10所述的方法,还包括允许事务式客户端通过本地桥处理与第一类型的事务式服务器进行通信。
16.根据权利要求10所述的方法,还包括允许事务式客户端经由高性能网络直接与第二类型的事务式服务器进行通信。
17.根据权利要求16所述的方法,其中,所述高性能网络是使用远程直接存储器存取(RDMA)协议的Infiniband(IB)网络。
18.根据权利要求10所述的方法,还包括允许第一类型的事务式服务器不理解所述第二类型的消息标头中的第二数据结构中的地址信息。
19.根据权利要求10所述的方法,其中,所述第二数据结构是具有动态数量的字段的灵活的事务数据结构,所述字段中的每个均能经由指定的ID访问。
20.一种用于支持事务式中间件机器环境下的消息标头的系统,包括:
用于提供包括第一数据结构的第一类型的消息标头的装置,所述第一数据结构存储用于使用第一消息队列访问事务式客户端的地址信息;
用于提供包括存储密钥的第一数据结构和第二数据结构的第二类型的消息标头的装置,所述第二数据结构存储用于使用第二消息队列访问事务式客户端的地址信息;
用于允许第一类型的事务式服务器仅检查所述第一类型的消息标头中的第一数据结构以获得用于使用处理间通信和第一消息队列与事务式客户端进行通信的地址信息的装置;以及
用于允许第二类型的事务式服务器从所述第二类型的消息标头中的第一数据结构获得密钥,并且使用所述密钥来从所述第二类型的消息标头中的第二数据结构获得用于使用远程直接存储器存取和第二消息队列与事务式客户端进行通信的地址信息的装置。
21.根据权利要求20所述的系统,还包括用于允许事务式客户端使用相应的消息标头将相应的消息发送到相应的事务式服务器的装置。
22.根据权利要求21所述的系统,还包括用于允许事务式客户端在发送相应的消息之前得到关于相应的事务式服务器的信息的装置。
23.根据权利要求21所述的系统,还包括用于允许所述第一类型的事务式服务器基于所述第一类型的消息标头中的地址信息将第一响应消息发送到事务式客户端的装置,以及用于允许所述第二类型的事务式服务器基于所述第二类型的消息标头中的地址信息将第二响应消息发送到事务式客户端的装置。
24.根据权利要求20所述的系统,其中,所述第一数据结构是C数据结构,所述第二数据结构是类型化缓冲区数据结构。
25.根据权利要求20所述的系统,还包括用于允许事务式客户端通过本地桥处理与第一类型的事务式服务器进行通信的装置。
26.根据权利要求20所述的系统,还包括用于允许事务式客户端经由高性能网络直接与第二类型的事务式服务器进行通信的装置。
27.根据权利要求26所述的系统,其中,所述高性能网络是使用远程直接存储器存取(RDMA)协议的Infiniband(IB)网络。
28.根据权利要求20所述的系统,还包括用于允许第一类型的事务式服务器不理解所述第二类型的消息标头中的第二数据结构中的地址信息的装置。
29.根据权利要求20所述的系统,其中,所述第二数据结构是具有动态数量的字段的灵活的事务数据结构,所述字段中的每个均能经由指定的ID访问。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201161541056P | 2011-09-29 | 2011-09-29 | |
US61/541,056 | 2011-09-29 | ||
US13/415,712 US9690638B2 (en) | 2011-09-29 | 2012-03-08 | System and method for supporting a complex message header in a transactional middleware machine environment |
US13/415,712 | 2012-03-08 | ||
PCT/US2012/057121 WO2013049064A1 (en) | 2011-09-29 | 2012-09-25 | System and method for supporting a complex message header in a transactional middleware machine environment |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103827849A CN103827849A (zh) | 2014-05-28 |
CN103827849B true CN103827849B (zh) | 2017-06-09 |
Family
ID=47993668
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280047480.6A Active CN103827849B (zh) | 2011-09-29 | 2012-09-25 | 支持事务式中间件机器环境中的复杂消息标头的系统和方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9690638B2 (zh) |
EP (1) | EP2761493B1 (zh) |
JP (1) | JP6154385B2 (zh) |
KR (1) | KR102059121B1 (zh) |
CN (1) | CN103827849B (zh) |
WO (1) | WO2013049064A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017111955A1 (en) * | 2015-12-22 | 2017-06-29 | Intel IP Corporation | Methods and apparatus to improve interprocess communication |
US11115927B2 (en) | 2017-10-02 | 2021-09-07 | Fisher Controls International Llc | Methods and apparatus to control communication data rates of low-energy devices |
US10855367B2 (en) * | 2017-10-02 | 2020-12-01 | Fisher Controls International Llc | Methods and apparatus to bridge communications between devices using low-energy devices |
WO2019233614A1 (en) * | 2018-06-07 | 2019-12-12 | Coinfirm Blockchain Lab Sp. Z O.O. | A method for registration of data in a blockchain database and a method for verifying data |
US10944548B2 (en) * | 2018-06-07 | 2021-03-09 | Coinfirm Blockchain Lab Sp. Z O.O. | Method for registration of data in a blockchain database and a method for verifying data |
US11762673B2 (en) | 2021-08-30 | 2023-09-19 | Kyocera Document Solutions, Inc. | Extensible format-independent middleware message interpreter |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101208671A (zh) * | 2005-06-27 | 2008-06-25 | 起元软件有限公司 | 管理消息队列 |
Family Cites Families (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5133053A (en) | 1987-02-13 | 1992-07-21 | International Business Machines Corporation | Interprocess communication queue location transparency |
JPH1124945A (ja) | 1997-06-30 | 1999-01-29 | Nec Corp | 複数プロセス間におけるデータ転送方法及び方式 |
US6157927A (en) | 1998-04-22 | 2000-12-05 | Unisys Corporation | Methods and apparatus for enabling a component in a first transaction processing environment to access a resource in another environment that is under the control of an Xatmi complaint transaction manager |
FI980985A (fi) | 1998-05-04 | 1999-11-05 | Sonera Oy | Järjestelmä ja menetelmä palvelupyynnön hajauttamiseksi |
JP2000020490A (ja) | 1998-07-01 | 2000-01-21 | Fujitsu Ltd | 遠隔手続き呼出し機構またはオブジェクトリクエストブローカ機構を有する計算機、データ転送方法、および転送方法記憶媒体 |
US6615282B1 (en) | 1999-05-21 | 2003-09-02 | Intel Corporation | Adaptive messaging |
US7281030B1 (en) * | 1999-09-17 | 2007-10-09 | Intel Corporation | Method of reading a remote memory |
US6766358B1 (en) | 1999-10-25 | 2004-07-20 | Silicon Graphics, Inc. | Exchanging messages between computer systems communicatively coupled in a computer system network |
US7171484B1 (en) * | 2000-05-24 | 2007-01-30 | Krause Michael R | Reliable datagram transport service |
US6611883B1 (en) * | 2000-11-16 | 2003-08-26 | Sun Microsystems, Inc. | Method and apparatus for implementing PCI DMA speculative prefetching in a message passing queue oriented bus system |
US6938138B2 (en) * | 2001-01-11 | 2005-08-30 | International Business Machines Corporation | Method and apparatus for managing access to memory |
US7185105B2 (en) | 2001-05-11 | 2007-02-27 | Bea Systems, Inc. | Application messaging system with flexible message header structure |
US7711793B1 (en) | 2001-07-17 | 2010-05-04 | Adaptec, Inc. | No single point of failure RAID box using SATA drives |
US6789143B2 (en) | 2001-09-24 | 2004-09-07 | International Business Machines Corporation | Infiniband work and completion queue management via head and tail circular buffers with indirect work queue entries |
US7454501B2 (en) | 2002-03-29 | 2008-11-18 | International Business Machines Corporation | Most eligible server in a common work queue environment |
US7376755B2 (en) | 2002-06-11 | 2008-05-20 | Pandya Ashish A | TCP/IP processor and engine using RDMA |
GB0308991D0 (en) | 2003-04-17 | 2003-05-28 | Psion Digital Ltd | A data access replication or communication system comprising a distributed software application |
US7631314B2 (en) | 2003-08-26 | 2009-12-08 | International Business Machines Corporation | Method and system for dynamically associating type information and creating and processing meta-data in a service oriented architecture |
US7990994B1 (en) * | 2004-02-13 | 2011-08-02 | Habanero Holdings, Inc. | Storage gateway provisioning and configuring |
US7383290B2 (en) | 2004-03-09 | 2008-06-03 | Hewlett-Packard Development Company, L.P. | Transaction processing systems and methods utilizing non-disk persistent memory |
US7620693B1 (en) * | 2004-03-29 | 2009-11-17 | Sun Microsystems, Inc. | System and method for tracking infiniband RDMA read responses |
US20050220128A1 (en) | 2004-04-05 | 2005-10-06 | Ammasso, Inc. | System and method for work request queuing for intelligent adapter |
US7558866B2 (en) * | 2004-12-08 | 2009-07-07 | Microsoft Corporation | Method and system for securely provisioning a client device |
US7574536B2 (en) * | 2005-04-22 | 2009-08-11 | Sun Microsystems, Inc. | Routing direct memory access requests using doorbell addresses |
US7464189B2 (en) | 2005-05-23 | 2008-12-09 | International Business Machines Corporation | System and method for creation/deletion of linear block address table entries for direct I/O |
US20070168454A1 (en) * | 2006-01-19 | 2007-07-19 | International Business Machines Corporation | System and method for host-to-host communication |
US8116312B2 (en) | 2006-02-08 | 2012-02-14 | Solarflare Communications, Inc. | Method and apparatus for multicast packet reception |
US8233380B2 (en) * | 2006-11-06 | 2012-07-31 | Hewlett-Packard Development Company, L.P. | RDMA QP simplex switchless connection |
US7895601B2 (en) | 2007-01-10 | 2011-02-22 | International Business Machines Corporation | Collective send operations on a system area network |
US7864787B2 (en) | 2007-03-26 | 2011-01-04 | Voltaire Ltd. | Device, system and method of multicast communication |
US8527577B2 (en) | 2007-05-22 | 2013-09-03 | Oracle International Corporation | System and method for configuration-driven deployment |
CN101227379B (zh) | 2008-01-25 | 2012-07-04 | 中兴通讯股份有限公司 | 一种实现数据同步的系统和方法 |
JP2010165022A (ja) | 2009-01-13 | 2010-07-29 | Ricoh Co Ltd | プロセッサ間通信装置、プロセッサ間通信方法、プログラムおよび記録媒体 |
US20100183024A1 (en) * | 2009-01-21 | 2010-07-22 | Brocade Communications Systems, Inc | Simplified rdma over ethernet and fibre channel |
US8305883B2 (en) * | 2009-03-20 | 2012-11-06 | Intel Corporation | Transparent failover support through pragmatically truncated progress engine and reversed complementary connection establishment in multifabric MPI implementation |
WO2011045919A1 (ja) | 2009-10-15 | 2011-04-21 | 日本電気株式会社 | 分散システム、通信手段選択方法および通信手段選択プログラム |
JP5404469B2 (ja) | 2010-02-22 | 2014-01-29 | 日本電信電話株式会社 | メッセージ処理システム、メッセージ処理装置及びメッセージ処理方法 |
US8839267B2 (en) | 2011-02-21 | 2014-09-16 | Universidade Da Coruna-Otri | Method and middleware for efficient messaging on clusters of multi-core processors |
-
2012
- 2012-03-08 US US13/415,712 patent/US9690638B2/en active Active
- 2012-09-25 KR KR1020147007211A patent/KR102059121B1/ko active IP Right Grant
- 2012-09-25 JP JP2014533650A patent/JP6154385B2/ja active Active
- 2012-09-25 WO PCT/US2012/057121 patent/WO2013049064A1/en active Application Filing
- 2012-09-25 EP EP12835383.6A patent/EP2761493B1/en active Active
- 2012-09-25 CN CN201280047480.6A patent/CN103827849B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101208671A (zh) * | 2005-06-27 | 2008-06-25 | 起元软件有限公司 | 管理消息队列 |
Non-Patent Citations (2)
Title |
---|
High-performance distributed objects over system area networks;Alessandro Forin等;《Proceedings of the 3rd USENIX Windows NT Symposium》;19990712;第1-10页 * |
中间件技术与网格计算;宋丽华等;《软件工程与标准化》;20041231(第11期);第50-54页 * |
Also Published As
Publication number | Publication date |
---|---|
JP6154385B2 (ja) | 2017-06-28 |
EP2761493A1 (en) | 2014-08-06 |
CN103827849A (zh) | 2014-05-28 |
EP2761493B1 (en) | 2018-11-14 |
JP2014532234A (ja) | 2014-12-04 |
KR102059121B1 (ko) | 2019-12-24 |
EP2761493A4 (en) | 2015-09-30 |
KR20140068989A (ko) | 2014-06-09 |
US9690638B2 (en) | 2017-06-27 |
US20130086149A1 (en) | 2013-04-04 |
WO2013049064A1 (en) | 2013-04-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11728992B2 (en) | Cryptlet binding key graph | |
CN103827849B (zh) | 支持事务式中间件机器环境中的复杂消息标头的系统和方法 | |
US11176246B2 (en) | Enclave pool shared key | |
EP3622687B1 (en) | Enclave pool management | |
EP3622661B1 (en) | Cryptlet identity | |
US9558048B2 (en) | System and method for managing message queues for multinode applications in a transactional middleware machine environment | |
US20180332011A1 (en) | Secure cryptlet tunnel | |
US10664591B2 (en) | Enclave pools | |
EP3138003B1 (en) | System and method for supporting a bypass-domain model and a proxy model and updating service information for across-domain messaging in a transactional middleware machine environment | |
TW202025057A (zh) | 欄位更新方法及裝置、電子設備 | |
KR101983331B1 (ko) | 트랜잭셔널 미들웨어 머신 환경에서 여러 가지 서로 다른 메시지 큐들을 지원하기 위한 시스템 및 방법 | |
US10949449B2 (en) | Systems and methods for efficient electronic message storage and retrieval | |
JP2014528612A5 (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |