CN101098315B - 在高速低延迟数据通信环境中计算机数据通信方法和系统 - Google Patents
在高速低延迟数据通信环境中计算机数据通信方法和系统 Download PDFInfo
- Publication number
- CN101098315B CN101098315B CN 200710126251 CN200710126251A CN101098315B CN 101098315 B CN101098315 B CN 101098315B CN 200710126251 CN200710126251 CN 200710126251 CN 200710126251 A CN200710126251 A CN 200710126251A CN 101098315 B CN101098315 B CN 101098315B
- Authority
- CN
- China
- Prior art keywords
- message
- customer equipment
- adapter
- contribution
- constraint
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/547—Messaging middleware
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了用于高速度、低延迟数据通信环境中的计算机数据通信的方法、设备和产品,其包括:由流管理服务器代理从贡献客户设备到供给适配器的消息流的建立,其包括鉴定贡献客户设备、授权贡献客户设备在消息流上向供给适配器发送消息、以及在贡献客户设备的消息传输中间件之中为将要从贡献客户设备到供给适配器传输的消息建立约束集;在贡献客户设备的消息传输中间件中从贡献客户设备的应用程序接收用于在消息流上向供给适配器传输的消息;由贡献客户设备的消息传输中间件确定消息的内容是否满足约束;以及由消息传输中间件根据消息是否满足约束来管理消息。
Description
技术领域
本发明的领域是数据处理,或者更具体地说,用于高速度、低延迟的数据通信环境中的计算机数据通信的方法、设备和产品。
背景技术
消息传输环境通常可以用消息来提供消息发送设备和消息接收设备之间的数据通信。消息是一些数据,其包括一个或多个数据字段,并且从安装在消息发送设备上的消息产生器传递到安装在消息接收设备上的消息用户。消息可表示,例如,数字或文本信息、图像、加密的信息以及计算机程序指令。
消息传输环境可以支持点到点的消息传输,发布和订阅消息传输,或两者皆有。在点到点的消息传输环境中,消息产生器可以将消息指定到单一的消息用户。在发布和订阅消息传输环境中,消息产生器可以向特定通道或主题发布消息,并且订阅了该通道或主题的任何消息用户都将接收到该消息。因为在发布和订阅环境中,消息产生器和消息用户通过通道或主题间接的彼此通信,所以消息发送和消息接受被分离开。作为结果,产生器和用户都不需要维护关于彼此的状态,而且交互的参与者之间的依赖关系被减弱或者消除。因此,发布和订阅环境可以允许消息发布者和消息订阅者异步的运行。
为了进一步解释消息传输环境,图1描绘了表示典型的用于数据通信的消息传输环境的方框图,其包括消息发送设备(100)、消息接收设备(104)、以及消息管理服务器(102)。消息发送设备(100)是一种计算机设备,在其上安装了消息产生器(110)、为了向消息管理服务器(102)发送消息从而向消息接收设备传递而配置的一套计算机程序指令。在图1的实例中,消息产生器(110)在消息流(106)上将消息发送到消息管理服务器(102)。消息发送设备(100)通过从消息发送设备本身的数据或从其他源接收到的数据生成消息从而产生被传输的消息。消息接收设备(104)是一种计算机设备,其上安装了消息用户(112)、为了从消息管理服务器(102)接收消息而配置的一套计算机程序指令。在图1的实例中,消息用户(112)在消息流(108)上从消息管理服务器(102)接收消息。在图1的实例中,消息流(106)和消息流(108)是使用例如用户数据报协议(“UDP”)和互联网协议(“IP”)实现的数据通信通道。
在点到点消息传输环境或发布和订阅消息传输环境中,从消息发送设备到消息接收设备传输的消息通常通过消息管理服务器(102)。消息管理服务器(102)是一种计算机设备,在其上安装了消息管理模块(114)、为了管理从消息产生器(110)到消息用户(112)所传输的消息而配置的计算机程序指令。消息管理模块的实例包括IBMMQ、来自Sun Microsystems的开放消息队列、以及来自OpenJMS Group的OpenJMS。在点到点消息传输环境中,当消息管理模块(114)从多个消息产生器接收到定位至用户(112)的消息时,消息管理模块(114)为消息用户(112)提供了消息排队。在发布和订阅消息传输环境中,消息管理模块(114)管理消息产生器发布的和消息用户订阅的多种通道或题目。在两种消息环境中,消息管理模块(114)有可能也提供安全服务从而确保从消息产生器(110)到达消息用户(112)的仅有的消息就是消息用户(112)被授权接收并且消息产生器(110)被授权发送的那些消息。
当前的消息传输环境诸如,举例来说,以上参考图1描述的环境,具有某些缺点。为了传递到消息接收设备而从消息发送设备向消息管理服务器发送的消息,在消息管理服务器中被延迟,直到消息管理服务器能够处理该消息。发生在消息管理服务器中的消息处理增加了消息传输环境的整体延迟并且降低了在数据通信环境中传输数据的整体速度。消息传输延迟是指从消息产生器发送数据起,到消息用户接收数据为止的时间周期。
在许多数据通信环境中,即使很小的消息传输延迟的增加都是昂贵的。考虑,例如,金融市场数据环境。金融市场数据环境是用于将关于金融市场的信息和金融市场中的参与者进行通信的数据处理环境。在金融市场数据环境中,消息通常被称为“决算”,并且表示诸如,举例来说,金融报价或金融新闻之类的金融市场数据。金融报价包括为任何给定的金融证券的出价和要价。“出价”指的是买家为了证券所愿意付出的最高价格。“要价”指的是卖家为证券所愿意接受的最低价格。在金融市场数据环境中,消息产生器可以基于实时的金融市场状况为购买或卖出金融证券而提供报价,而消息用户可以基于金融报价而买入或卖出金融证券。当消息用户基于消息产生器所提供的报价买入或卖出金融证券时,消息用户在对金融证券的报价中获取出价或要价的能力受到金融市场数据环境的消息传输延迟的极大影响。消息传输的延迟越高,由消息用户产生的买入或卖出指令将在或者接近金融报价中指定的价格执行的可能性越小。事实上,高波动性的证券将会在几秒钟的时间内在价格方面显著波动。
当前用于减少消息传输延迟的解决方案是从消息传输环境中去除消息管理服务器。在这种当前的解决方案中,消息发送设备直接向消息接收设备发送消息。这种当前解决方案的缺点是,去除消息管理服务器也从消息传输环境中去除了消息管理服务器所提供的管理功能。因此,当前的解决方案没有有效地为需要消息管理服务器的管理功能的消息传输环境提供解决方案。再次考虑以上金融市场数据环境的实例。在这种典型的金融市场数据环境中,考虑消息发送设备仅被授权提供某些金融证券的金融报价,或仅被授权提供至少15分钟以前的金融报价。从这样的金融市场数据环境中去除消息管理服务器,去除了在金融市场数据环境中对消息发送设备提供给消息接收设备的消息进行管理的能力。
发明内容
公开了一种用于高速度、低延迟的数据通信环境中的计算机数据通信的方法、设备和产品,其包括:由流管理服务器代理从贡献客户设备到供给适配器的消息流的建立,其包括鉴定贡献客户设备,授权贡献客户设备在消息流上向供给适配器发送消息,以及在贡献客户设备的消息传输中间件之中为从贡献客户设备传输到供给适配器的消息建立一系列约束;在贡献客户设备的消息传输中间件之中从贡献客户设备的应用接收用于在消息流上传输到供给适配器的消息;由消息传输中间件确定,消息的内容是否满足约束;以及由消息传输中间件根据消息是否满足约束来管理消息。
本发明的前述的以及其他的目的、特征和优点,将在对如附图所示的本发明的示范实施例的以下更详细描述中显而易见,其中相似的参考标号通常表示本发明的示范实施例的相似部件。
附图说明
图1描绘了示出用于数据通信的典型消息传输环境的框图。
图2描绘了示出根据本发明的示范实施例的用于高速度、低延迟数据通信环境中计算机数据通信的示例计算机数据处理系统的网络和框图。
图3描绘了根据本发明的示范实施例的自动计算机器的框图,其包含对于提供高速度、低延迟数据通信环境中的计算机数据通信有用的贡献客户设备实例。
图4描绘了示出根据本发明的示范实施例的高速度、低延迟数据通信环境中的计算机数据通信的一种示例方法的流程图。
图5描绘了示出根据本发明的示范实施例的高速度、低延迟数据通信环境中的计算机数据通信的另一种示例方法的流程图。
图6描绘了示出根据本发明的示范实施例的高速度、低延迟数据通信环境中的计算机数据通信的另一种示例方法的流程图。
图7描绘了示出根据本发明的示范实施例的高速度、低延迟数据通信环境中的计算机数据通信的另一种示例方法的流程图。
图8描绘了示出根据本发明的示范实施例的,高速度、低延迟数据通信环境中的计算机数据通信的另一种示例方法的流程图。
具体实施方式
参考附图,从图2开始,对根据本发明实施例的用于高速度、低延迟的数据通信环境中的计算机数据通信的示例方法、设备和产品进行了描述。图2描绘了示出根据本发明实施例的用于高速度、低延迟数据通信环境(201)的示例计算机数据处理系统的网络和框图。图2的系统主要为了根据本发明的高速度、低延迟的数据通信环境中的计算机数据通信而运行,通过:由流管理服务器代理,从贡献客户设备到供给适配器的消息流的建立,其包括鉴定贡献客户设备,授权贡献客户设备在消息流上向供给适配器发送消息,以及在贡献客户设备的消息传输中间件之中为从贡献客户设备到供给适配器传输的消息建立一系列约束;在贡献客户设备的消息传输中间件之中从贡献客户设备的应用接收用于在消息流上传输到供给适配器的消息;由消息传输中间件确定消息的内容是否满足约束;以及由贡献客户设备的消息传输中间件依赖于消息是否满足约束来管理消息。
图2中所示的高速度、低延迟数据通信环境(201)包括高速度、低延迟的数据通信网络(200)。网络(200)包括供给适配器(208)、流管理服务器(212)、多个订阅客户设备(202、204、206)、贡献客户设备(210)、以及用于将这些设备(208、212、202、204、206、210)连接到一起进行数据通信的基础架构。图2中的网络(200)被称为“高速度、低延迟”是因为连接到网络(200)的设备之间发送的、在被流管理服务器(212)管理的消息流上的消息绕过了流管理服务器(212)。例如,在从贡献客户设备(210)到供给适配器(208)的消息流上的消息绕过了流管理服务器(212)。相似的,在从供给适配器(208)到订阅客户设备(202)的供给适配器的输出消息流(216)上的消息绕过了流管理服务器(212)。尽管这些消息没有因为在流管理服务器(212)中的处理而被延迟,但是流管理服务器(212)保留了对连接到高速度、低延迟数据通信网络(200)的设备之间的流(216、218)的管理。
进一步对网络(200)的“高速度、低延迟”特性做出贡献,读者将会注意到网络(200)不包括路由器,路由器是一种计算机联网设备,主要功能是跨网络向数据包的目的地转发数据包。然而,每个设备(208、212、202、204、206、210)通过与连接到网络(200)的其它设备之间的直接连接,为数据通信提供其自己的路由功能。因为网络(200)不包括专门用于为数据包进行路由选择的计算机联网设备,所以图2的网络(200)可以被作为‘最小路由网络’。尽管图2中示出的示范网络(200)不包括路由器,但是这个最小路由网络只是用于解释的目的。实际上,在根据本发明的实施例的高速度、低延迟数据通信环境中的计算机数据通信中有用的一些高速度、低延迟网络可以包含路由器。
如以上提到的,图2中描述的高速度、低延迟数据通信环境(201)包括两个消息流(216、218)。消息流是发送设备的通信终点与至少一个接收设备的通信终点之间的数据通信通道。通信终点包括网络地址和发送设备或接收设备的端口。消息流可以作为一种组播数据通信通道来实施。在组播数据通信通道中,一对多的关系存在于消息的目的地址和接收设备的通信终点之间。也就是,每个目的地址都标识了流中的每个消息被复制到的接收设备的通信终点集。组播数据通信通道可以使用例如用户数据报协议(“UDP”)和互联网协议(“IP”)来实现。除了作为组播数据通信通道之外,消息流也可以作为单播数据通信通道来实施。在单播数据通信通道中,一对一的关系存在于消息的目的地址和接收设备的通信终点之间。也就是,每个目的地址唯一地标识单一接收设备的单一通信终点。单播数据通信通道可以使用例如传输控制协议(“TCP”)和IP来实现。
图2中的示范系统包括通过线缆连接(262)而连接到高速度、低延迟数据通信网络(200)的流管理服务器(212)。图2中的流管理服务器(212)是在其上安装了流管理模块(228)、鉴定模块(230)、授权模块(234)以及授权策略(235)的计算机设备。流管理模块(228)是为根据本发明的实施例的高速度、低延迟数据通信环境中的计算机数据通信而配置的计算机程序指令集。流管理模块(228)通常用于通过代理从贡献客户设备(210)到供给适配器(208)的消息流(218)的建立,而管理根据本发明的实施例的消息流,其包括鉴定贡献客户设备(210),授权贡献客户设备(210)在消息流上向供给适配器(208)发送消息,并且在贡献客户设备(210)的消息传输中间件之中为从贡献客户设备(210)到供给适配器(208)传送的消息建立约束集。
图2中的鉴定模块(230)是能够通过公开的鉴定应用编程接口(“API”)(232)向流管理模块(228)提供鉴定安全服务的计算机程序指令集。鉴定是检验实体身份的过程。在图2的示范系统中,鉴定模块(230)检验贡献客户(210)的身份。鉴定模块(230)可以提供使用了多种安全架构,诸如举例来说,共享密钥架构或公共密钥架构的鉴定安全服务。
图2中的授权模块(234)是能够通过公开的授权API(236)向流管理模块(228)提供授权安全服务的计算机程序指令集。授权是仅允许资源被那些获得授权使用该资源的资源用户使用的过程。在图2的实例中,授权模块(234)识别贡献客户设备(210)被授权在消息流(218)上发送的消息。图2中的授权模块(234)提供使用了授权策略(235)的授权安全服务。授权策略(235)是管理被鉴定的实体在消息流上发送或接收消息的特权的规则集。在金融市场数据环境,例如,被鉴定的实体可以被授权发送包括对一些金融证券而非其他证券的金融报价的消息。授权策略(235)可以以独立实体或组中的实体成员为基础来批准特权。
在图2中的示范系统中,供给适配器(208)通过线缆连接(260)而被连接到高速度、低延迟数据通信网络(200)。供给适配器(208)是一种有能力将供给适配器输入流(214)上具有第一种格式的消息转换为供给适配器输出流(216)上具有第二种格式的消息、并且在供给适配器输出流(216)上向订阅客户设备(202、204、206)组播消息的计算机设备。供给适配器输入流(214)是从供给源到供给适配器(208)的消息流。供给适配器输出流(216)是被流管理服务器(212)管理的从供给适配器(208)到订阅客户设备(202)的消息流。
在图2的实例中,供给适配器(208)在来自供给源(213)的供给适配器输入流(214)上接收消息。供给源(213)是能够将数据聚集成消息并且将消息传输到供给适配器(208)的计算机设备。在金融市场数据环境中,例如,供给源(213)可以作为被期权报价权责单位(“OPRA”)控制的供给源来实现。OPRA是用于美国证券期权交易产生的金融市场信息的证券信息处理器。OPRA发布的核心信息是最终出售报告和报价。金融市场数据环境中的供给源的另一个例子,可以包括被证券买卖汇总记录带协会(“CTA”)或纳斯达克股票市场控制的供给源。CTA检查在纽约股票交易市场和美国股票交易市场上市的证券的实时交易和报价信息的分发。纳斯达克股票市场,运营NASDAQ Market CenterSM,这是一种在美国的基于电子屏幕的股本证券市场。在金融市场数据环境中,供给适配器输入流(214)被称为“金融市场数据供给”。
图2中的供给适配器(208)具有在其上安装的转换模块(220)、转换表(222)以及转换功能(224)。转换模块(220)是计算机程序指令集,用于将在供给适配器输入流(214)上接收的具有第一种格式的消息转换成用于在供给适配器输出流(216)上发送到订阅设备的具有第二种格式的消息。转换模块(220)根据转换表(222)将消息从第一种格式转换到第二种格式。
图2中的转换表(222)是指定转换功能(224)能够将消息从一种格式转换到另一种格式的表。利用多个转换表,转换模块(220)可以将消息从多种输入格式转换为多种输出格式。在图2的实例中,转换表(222)指定转换功能(224)能够将从输入流(214)接收的具有第一种格式的消息转换成用于在输出流(216)上发送给订阅设备的具有第二种格式的消息。图2的转换表(222)可以使用诸如可扩展标记语言(“XML”)文档的结构化文档来实现。
图2中的转换功能(224)是能够将消息中的数据字段从一种格式转换成另一种格式或将数据字段的值从一个值转换为另一个值的功能。转换功能(224)可以,举例来说,将16位整数转换为32位整数,将存储在字符串字段中的数字转换为64位双浮点值,将一个数据字段的值增加1,或者本领域技术人员所知的任何其它的转换。转换模块(220)通过由转换功能(224)公开的转换功能API(226)集来访问转换功能(224)。
如以上所提到的,多个订阅客户设备(202、204、206)连接到了图2的高速度、低延迟数据通信网络(200)。订阅设备(202)通过线缆连接(266)连接到网络(200)。订阅设备(204)通过无线连接(268)连接到网络(200)。订阅设备(206)通过线缆连接(270)连接到网络(200)。每个订阅客户设备都能够为了接收消息流上的消息而从流管理服务器(212)请求消息流地址,并且在订阅客户设备被授权接收的消息流地址接收消息流上的消息。
图2中的示范系统包括通过线缆连接(264)连接到高速度、低延迟数据通信网络(200)的贡献客户设备(210)。图2中的贡献客户设备(210)是能够向在供给适配器(208)的输出流(216)上传输的消息提供数据的计算机设备。在金融市场数据环境中,例如,贡献客户设备可以向决算提供信息,诸如,举例来说,特定证券的最佳出价和要价,这一般不包含在供给源(213)所提供的决算之中。实际上,贡献客户设备可以是供给适配器唯一的数据提供者,从而作为供给适配器的供给源来运转。在金融市场数据环境中从贡献客户设备向供给适配器提供贡献数据的消息流,称为用于金融市场数据供给的贡献流。
在图2的实例中,贡献客户设备(210)具有安装于其上的应用程序(238)、消息库(248)、消息传输中间件(252)、流管理库(272)以及传输引擎(256)。应用程序(238)是一种软件部件,其将贡献数据聚集成用于向供给适配器(208)传输的消息(240)。应用程序(238)可以通过自己产生贡献数据或从其他源接收数据来聚集贡献数据。
在图2的实例中,消息(240)具有在消息模型(244)中指定的格式。消息模型(244)是定义了用于在消息流(218)上传输的消息(240)的结构和格式的元数据。消息模型(244)可以被附加在消息(240)上并与其一同传输到供给适配器(208)。然而,通常当流管理服务器(212)代理消息流(218)的时候,贡献客户设备(210)和供给适配器(208)都从流管理服务器(212)接收消息模型(244)。消息模型可以用结构化文档来实现,举例来说,诸如XML文档、Java对象、C++对象或本领域中技术人员所知的任何其它的实现方式。
应用程序(238)使用消息库(248)将贡献数据聚集成消息(240)。消息库(248)是用于根据消息模型(244)来建立和访问消息(240)的计算机程序指令的函数集。消息库(248)对于应用程序(238)而言可以通过由消息库(248)公开的消息API(250)来进行访问。
贡献客户设备(210)和流管理服务器(212)之间的通信可以用流管理库(272)实现。流管理库(272)是包含在动态连接库或静态连接库中的通过流管理库API(274)而对应用程序(238)可用的函数集。通过流管理库(272),贡献客户设备(210)的应用程序(238)可以请求向供给适配器贡献消息,修改已经存在的贡献,或取消一个贡献。被应用程序(238)使用的流管理库(272)的函数可以通过调用CORBA对象的成员方法、调用使用了Java远程方法调用(“RMI”)API、使用web服务、或本领域技术人员所知的任何其它通信实现方式的远程对象的成员方法,通过网络(200)与流管理服务器(212)通信。
“CORBA”是指公共对象请求代理体系结构,一种由对象管理组织(“OMG”)制定的用于能互操作的企业应用的计算机工业标准。CORBA是由OMG于1991年第一次发布的用于远程过程调用的标准。尽管CORBA支持在传统RPC中不存在的特性,但CORBA可以被认为是一种进行远程过程调用的面向对象方法。CORBA使用声明语言、接口定义语言(“IDL”)来描述对象的接口。IDL中的接口描述被编译从而生成客户端的“存根”和服务器端的“框架”。使用生成的代码,在诸如C++或Java的面向对象编程语言中实现的远程方法调用,看上去像是在本地对象中的本地成员方法调用。
Java远程方法调用API是由Sun MicrosystemsTM发布的用于进行远程过程调用的Java应用程序接口。JavaTM RMI API是在存在于分离的Java虚拟机上的Java对象之间进行远程过程调用的面向对象的方法,该虚拟机通常运行在分离的计算机上。JavaTM RMI API使用远程过程对象接口来描述位于服务器上的远程对象。远程过程对象接口在RMI注册信息中发布,其中Java客户端可以获取远程Java对象的远程接口的参考。使用编译的客户端的‘存根’和服务器端的‘框架’从而提供网络连接操作,Java RMI允许Java客户如同访问任何其它本地Java对象一样的访问远程Java对象。
当贡献数据被聚集成消息,应用程序(238)为了进一步的数据处理而将消息(240)提供给消息传输中间件(252),消息传输中间件(252)转而将消息(240)提供给传输引擎(256)从而向供给适配器(208)传输。消息传输中间件(252)是一种软件部件,其在应用程序(238)、供给适配器(208)以及供给适配器(208)的任何备用供给适配器之间提供了高可用性服务。另外,消息传输中间件(252)为流管理服务器(212)提供消息管理服务。该消息管理服务可以包括将应用程序(238)在消息流上发送和接收消息的能力限制于满足特定约束的消息。应用程序(238)和流管理库(272)通过消息传输中间件API(254)与消息传输中间件(252)交互。
除了提供高可用性和消息管理服务之外,图2的消息传输中间件(252)还包括能够在根据本发明的实施例的高速度、低延迟数据通信环境中实现计算机数据通信的计算机程序指令集。消息传输中间件(252)通常为在根据本发明的实施例的高速度、低延迟数据通信环境中的计算机数据通信而运转,通过从应用程序(238)接收用于在消息流(218)上传输到供给适配器(208)的消息,确定消息(240)的内容是否满足由流管理服务器(212)建立的约束,并且根据消息是否满足约束来管理消息。应用程序(238)通过由消息传输中间件(252)公布的消息传输中间件API(254)与消息传输中间件(252)进行交互。
图2的传输引擎(256)是运行于国际标准化组织发布的OSI协议栈的传输和网络层的软件部件。传输引擎(256)提供连接到网络的设备之间的数据通信服务。传输引擎可以根据UDP/IP协议、TCP/IP协议或本领域技术人员所知的任何其它的通信协议来实现。传输引擎(256)包括计算机程序指令集,用于将消息传输中间件(252)提供的消息封装成包,通过消息流(218)将包传送到供给适配器(208),通过消息流(218)从供给适配器(208)接收包,从接收到的包解封装出消息,并且将消息提供给消息传输中间件(252)。消息传输中间件(252)通过由传输引擎(256)公布的传输API(258)来操作传输引擎(256)。
在图2的示范系统中示出的服务器和其它设备是为了解释,而非限制。在高速度、低延迟数据通信环境中的计算机数据通信中有用的设备可以用通用目的计算机,举例来说,诸如计算机服务器或工作站、手持计算机设备,举例来说,诸如PDA或移动电话,或者本领域技术人员所知的任何根据本发明的实施例的为了数据处理而配置的其它自动计算机器来实现。
组成图2中所示的示范系统的服务器和其它设备的安排是为了解释,而非限制。根据本发明的多个实施例的有用的数据处理系统可以包含图2中未示出的额外的服务器、路由器、其它设备、以及端到端的架构,正如本领域技术人员所知。在这种数据处理系统中的网络可以支持许多数据通信协议,包括例如传输控制协议(“TCP”)、互联网协议(“IP”)、超文本传输协议(“HTTP”)、无线接入协议(“WAP”)、手持设备传输协议(“HDTP”),以及本领域技术人员所知的其他协议。本发明的多个实施例可以在除了图2所示的平台之外的多种硬件平台上实现。
在某些实施例中,在依照本发明的高速度、低延迟的数据通信环境中提供计算机数据通信可以由一个或多个贡献客户设备、流管理服务器以及供给适配器,也即自动计算机器来实现。因此,为了进一步的解释,图3描绘了根据本发明的示范实施例的自动计算机器的方框图,其包含对于提供根据本发明的高速度、低延迟数据通信环境中的计算机数据通信有用的贡献客户设备(210)的实例。图3的客户贡献设备(210)包括至少一个计算机处理器(156)或“CPU”,以及通过高速内存总线(166)和总线适配器(158)与处理器(156)以及贡献客户设备的其他部件相连接的随机访问存储器(168)(“RAM”)。
RAM(168)中存储的是应用程序(238)、消息(240)、消息模型(244)、消息库(248)、消息传输中间件(252)、流管理库(272)以及传输引擎(256)。每条消息(240)都是一些数据,其包括一个或多个数据字段并且在消息流上从一个设备传输到另一个。如以上提到的,消息可以表示数字或文本信息、图像、加密的信息、计算机程序指令等等。在金融市场数据环境中,例如,消息通常是指“报价”,并且表示金融市场数据,举例来说,诸如金融报价或金融新闻。每条消息(240)都可以使用结构化文档来实现,举例来说,诸如XML文档、Java对象、C++对象、或本领域技术人员所知的任何其他实现方式。消息模型(244)是定义了消息(240)的结构和格式的元数据。消息模型(244)也可以使用结构化文档来实现,举例来说,诸如XML文档、Java对象、C++对象、或本领域技术人员所知的任何其他实现方式。图3中所示的应用程序(238)、消息库(248)、消息传输中间件(252)、流管理库(272)以及传输引擎(256)是软件部件,其为按照以上关于图2所描述的方式运行的计算机程序指令。
同样存储在RAM(168)中的是操作系统(154)。在根据本发明的实施例的贡献客户设备中有用的操作系统包括UNIXTM、LinuxTM、Microsoft NTTM、IBM的AIXTM、IBM的i5/OSTM以及本领域技术人员所知的其他系统。图3的实例中的操作系统(154)、应用程序(238)、消息(240)、消息模型(244)、消息库(248)、消息传输中间件(252)以及传输引擎(256)显示在RAM(168)中,但是这种软件的很多部件通常也存储在非易失性存储器中,例如,在磁盘驱动器(170)上。
图3的示范性贡献客户设备(210)包括总线适配器(158)——一种包含用于高速总线的驱动电子设备的计算机硬件部件、前端总线(162)、视频总线(164)、和内存总线(166)、以及用于较慢的扩展总线(160)的驱动电子设备。在根据本发明的实施例的有用的贡献客户设备中,有用的总线适配器的实例包括Intel北桥、Intel内存控制器集线器、Intel南桥以及Intel I/O控制器集线器。在根据本发明的实施例的有用的贡献客户设备中,有用的扩展总线的实例包括外围器件互联(“PCI”)总线和PCI Express(“PCIe”)总线。
图3的示范性贡献客户设备(210)还包括通过扩展总线(160)和总线适配器(158)连接到处理器(156)的磁盘驱动器适配器(172),以及示范性贡献客户设备(210)的其他部件。磁盘驱动器适配器(172)将非易失性数据存储器以磁盘驱动器(170)的形式连接到示范性贡献客户设备(210)。在贡献客户设备中有用的磁盘驱动器适配器包括集成驱动电子设备(‘IDE’)适配器、小型计算机系统接口(“SCSI”)适配器,以及本领域技术人员所知的其他适配器。另外,非易失性计算机存储器可以为贡献客户设备作为光盘驱动器、电可擦可编程只读存储器(称为“EEPROM”或“闪存”)、RAM驱动器等等来实现,如本领域技术人员所知。
图3的示范性贡献客户设备(210)包括一个或多个输入/输出(“I/O”)适配器(178)。贡献客户设备中的I/O适配器通过例如,软件驱动程序和用于控制向诸如计算机显示屏的显示设备的输出以及来自诸如键盘和鼠标的用户输入设备(181)的用户输入的计算机硬件,实现面向用户的输入/输出。图3的示范性贡献客户设备(210)包括视频适配器(209),这是为了向诸如显示屏或计算机监视器的显示设备(180)的图形输出而特别设计的I/O适配器的实例。视频适配器(209)通过高速视频总线(164)、总线适配器(158)以及同为高速总线的前端总线(162)连接到处理器(156)。
图3的示范性贡献客户设备(210)包括用于与其他计算机(182)进行数据通信并且与高速度、低延迟数据通信网络(200)进行数据通信的通信适配器(167)。这种数据通信可以通过RS-232连接、通过诸如通用串行接口(“USB”)之类的外部总线、通过诸如IP数据通信网络之类的数据通信网络,以及以本领域技术人员所知的其他方式来串行地实现。通信适配器实现了硬件级别的数据通信,通过它,一台计算机可以直接或通过数据通信网络向另一台计算机发送数据通信。用于在根据本发明的实施例的高速度、低延迟数据通信环境中提供计算机数据通信的通信适配器的实例,包括用于有线拨号通信的调制解调器、用于有线数据通信网络的通信的IEEE 802.3以太网适配器、以及用于无线数据通信网络的通信的IEEE 802.11b适配器。
尽管关于示范性贡献客户设备对图3进行了讨论,读者将注意到包含了为在根据本发明的实施例的高速度、低延迟数据通信环境中提供计算机数据通信而有用的示范性流管理服务器和示范性供给适配器的自动计算机器,与图3的示范性贡献客户设备(210)相似。也就是说,这些示范性流管理服务器和供给适配器包括一个或多个处理器、总线适配器、总线、RAM、视频适配器、通信适配器、I/O适配器、磁盘驱动器适配器、以及本领域技术人员所知的类似于图3的贡献客户设备(210)的其他部件。
为了进一步解释,图4描绘了示出根据本发明的实施例的高速度、低延迟数据通信环境中的计算机数据通信的示范性方法的流程图。图4的方法包括由流管理服务器代理(400)从贡献客户设备到供给适配器的消息流(218)的建立。消息流(218)表示在贡献客户设备的通信终端与供给适配器的通信终端之间的数据通信通道。消息流可以用以上关于图2所讨论的使用UDP/IP协议的组播数据通信通道或使用TCP/IP协议的单播数据通信通道来实现。
根据图4的方法,由流管理服务器代理(400)从贡献客户设备到供给适配器的消息流(218)的建立,可以通过从贡献客户设备接收贡献请求(401)从而向供给适配器贡献消息来执行。贡献请求(401)是由贡献客户设备的应用程序提出的向供给适配器贡献数据的请求。图4的贡献请求(401)可以用XML文档、对贡献客户设备上的RMI对象的成员方法的调用、或本领域技术人员所知的其他实现方式来实现。
图4的贡献请求(401)包括贡献客户设备请求向供给适配器贡献的消息的主题(403)。主题表示贡献客户设备请求贡献的消息的特性。使用主题,贡献客户设备可以指定贡献客户设备请求向供给适配器贡献的消息组。在金融市场数据环境中,例如,贡献客户设备可以使用主题来请求贡献来自包含了在芝加哥期权交易所(‘CBOE’)交易的IBM期权报价的OPRA供给源的决算,其包括了CBOE上对IBM期权的最佳出价和最佳要价。
根据图4的方法,由流管理服务器代理(400)从贡献客户设备到供给适配器的消息流(218)的建立,也可以通过向贡献客户设备提供用于供给适配器的目的地址来实现。用于供给适配器的目的地址是被供给适配器用来监听消息的组播地址或单播地址。使用由流管理服务器提供的目标地址,贡献客户设备可以建立从贡献客户设备到供给适配器的消息流(218)。
在流管理服务器为供给适配器提供目的地址之前,图4的实例中的流管理服务器执行多项安全服务从而确保贡献客户设备仅向该贡献客户被授权为其贡献的供给适配器贡献消息。在图4的方法中,由流管理服务器代理(400)从贡献客户设备到供给适配器的消息流(218)的建立,包括鉴定(402)贡献客户设备。鉴定(402)贡献客户设备可以通过验证由贡献客户设备随贡献请求(401)提供的客户安全证书(408)来执行。客户安全证书(408)可以以公共密钥架构中的数字签名、安全令牌、或本领域技术人员所知的任何其他安全数据的方式来实现,从而鉴定贡献请求(401)的发起者的身份。安全令牌的实例可包括由IBM、Microsoft和VeriSign开发的题目为“Web服务安全”(“WS-Security”)web服务规范,或由IBM、Microsoft、VeriSign、OpenNetworks、Layer 7、Computer Associates、BEA、Oblix、Reactivity、RSA Security、Ping Identity、以及Actional开发的题目为“Web服务信任语言”(“WS-Trust”)的web服务规范中描述的那些安全令牌。
在图4的方法中,由流管理服务器代理(400)从贡献客户设备到供给适配器的消息流(218)的建立还包括授权(404)贡献客户设备在消息流(218)上向供给适配器发送消息。根据图4的方法,授权(404)贡献客户设备在消息流(218)上向供给适配器发送消息可以通过依赖授权策略(235)识别与被鉴定的贡献客户设备相关的特权(410)来实现。授权策略(235)是管理着请求向供给适配器贡献数据的被鉴定的贡献客户设备的特权的规则集。在图4的实例中,授权策略(235)将特权(410)与被鉴定贡献客户设备标识符(409)相关联。被鉴定的贡献客户设备标识符(409)表示被流管理服务器鉴定的贡献客户设备。特权(410)表示对于由相关的被鉴定的贡献客户设备标识符(409)来识别的被鉴定的贡献客户设备而言允许向供给适配器贡献的消息集。不同的被鉴定的贡献客户设备可能有不同的特权。尽管图4中描述的授权策略(430)将独立的被鉴定用户与特定特权相关联,但这种描述是为了解释而非为了限制。实际上授权策略(235)可以在组中贡献客户设备的成员资格的基础上,或在本领域技术人员所知的其他基础上,批准特权。
在图4的方法中,由流管理服务器代理(400)从贡献客户设备到供给适配器的消息流(218)的建立还包括在贡献客户设备的消息传输中间件中对于要从贡献客户设备向供给适配器传输的消息,建立(406)约束(412)集。约束(412)指定了贡献客户设备被授权向供给适配器贡献的消息的主题。在金融市场数据环境中,例如,可以指定特定的被鉴定的贡献客户设备被授权发送来自包含了在芝加哥期权交易所(“CBOE”)交易的IBM期权报价的OPRA供给源的决算,其包括了CBOE上对IBM期权的最佳出价和最佳要价。在贡献客户设备的消息传输中间件中对于从贡献客户设备向供给适配器传输的消息,建立(406)约束(412)集可以通过在对由消息传输中间件的提供贡献请求(401)的功能调用的响应中,将约束(412)返回给贡献客户设备的消息传输中间件来实现。
图4的方法还包括在贡献客户设备的消息传输中间件中,从贡献客户设备的应用程序接收(414)用于在消息流(218)上向供给适配器传输的消息(416)。消息(416)表示包括一个或多个数据字段的一些的数据,举例来说,诸如数字或文本信息、图像、加密的信息、计算机程序指令等等。消息(416)能够被从贡献客户设备传递到供给适配器。如以上提到的,在金融市场数据环境中,消息通常被称为“决算”,并且表示诸如,举例来说,金融报价或金融新闻之类的金融市场数据。根据图4的方法,在贡献客户设备的消息传输中间件中,从贡献客户设备的应用程序接收(414)用于在消息流(218)上向供给适配器传输的消息(416)可以通过在对贡献客户设备的调用了由消息传输中间件API公布的函数的应用程序的响应中接收指向消息(416)的计算机内存中的指针来实现。
图4的实例还包括由贡献客户设备的消息传输中间件来确定(418),消息(416)的内容是否满足约束(412)。由贡献客户设备的消息传输中间件来确定(418)消息(416)的内容是否满足约束(412)可以通过将约束算符应用于约束值、以及来自于消息域标识符所标识的消息(416)中的数据字段的值来实现,如以下关于图7所讨论的。
图4的方法还包括由贡献客户设备的消息传输中间件,根据消息(416)是否满足约束(412)来管理(420)消息(416)。由贡献客户设备的消息传输中间件根据消息(416)是否满足约束(412)来管理(420)消息(416),可以通过根据消息是否满足约束(412)来授权消息(416)在流上的传输、并且根据消息(416)是否满足约束(412)来记录消息而实现,如以下关于图5和6所讨论的。
为了进一步解释,图5描绘了示出根据本发明的示范实施例的,高速度低延迟数据通信环境中的计算机数据通信的另一种示例方法的流程图,其中,由贡献客户设备的消息传输中间件根据消息(416)是否满足约束(412)来管理(420)消息(416)包括根据消息是否满足约束(412)来授权(500)消息(416)在消息流上的传输。
图5中的方法与图4中的方法在以下方面相似:图5中的方法包括,由流管理服务器来代理(400)从贡献客户设备到供给适配器的消息流的建立、鉴定(402)贡献客户设备、授权(404)贡献客户设备在消息流上向供给适配器发送消息、在贡献客户设备的消息传输中间件之中为将要从贡献客户设备到供给适配器传输的消息建立(406)约束(412)集、在贡献客户设备的消息传输中间件之中从贡献客户设备的应用接收(414)用于在消息流上传输到供给适配器的消息(416)、由贡献客户设备的消息传输中间件确定(418)消息的内容是否满足约束、以及由贡献客户设备的消息传输中间件根据消息是否满足约束来管理(420)消息。图5的实例与图4的实例还在如下方面相似:图5的实例包括贡献请求(401)、主题(403)、客户安全证书(408)、鉴定策略(235)、鉴定客户标识符(409)、特权(410)、约束(412)、消息(416)、以及消息流(218)。
在图5的实例中,根据消息是否满足约束(412)来授权(500)消息(416)在流(218)上的传输,可以通过如果消息(416)满足约束(412),则由贡献客户设备的消息传输中间件向贡献客户设备的传输引擎提供用于向供给适配器传输的消息(416)来实现。根据图5的方法,根据消息是否满足约束(412)而对在流(218)上的消息(416)的传输进行授权,也可以通过如果消息(416)不满足约束(412),则由贡献客户设备的消息传输中间件丢弃消息(416)来实现。然而,读者将注意到,如果消息(416)不满足约束(412)则丢弃消息(416)是为了解释而非为了限制。实际上,根据消息是否满足约束(412)来授权(500)在流(218)上的消息(416)的传输,也可以通过如果消息(416)不满足约束(412),则由贡献客户设备的消息传输中间件向贡献客户设备的传输引擎提供消息(416)用于向不同于供给适配器的某些实体传输来实现。
如以上提到的,由贡献客户设备的消息传输中间件根据消息是否满足约束来管理消息,可以通过根据消息是否满足约束而记录消息来实现。因此为了进一步的解释,图6描绘了示出根据本发明的示范实施例的,高速度低延迟数据通信环境中的计算机数据通信的另一种示例方法的流程图,其包括根据消息(416)是否满足约束(412)来记录(600)消息(416)。
图6中的方法与图4中的方法在以下方面相似:图6中的方法包括,由流管理服务器来代理(400)从贡献客户设备到供给适配器的消息流的建立、鉴定(402)贡献客户设备、授权(404)贡献客户设备在消息流上向供给适配器发送消息、在贡献客户设备的消息传输中间件之中为将要从贡献客户设备到供给适配器传输的消息建立(406)约束(412)集、在贡献客户设备的消息传输中间件之中从贡献客户设备的应用接收(414)用于在消息流上传输到供给适配器的消息(416)、由贡献客户设备的消息传输中间件确定(418)消息的内容是否满足约束、以及由贡献客户设备的消息传输中间件根据消息是否满足约束来管理(420)消息。图6的实例与图4的实例还在如下方面相似:图6的实例包括贡献请求(401)、主题(403)、客户安全证书(408)、鉴定策略(235)、鉴定客户标识符(409)、特权(410)、约束(412)、消息(416)、以及消息流(218)。
图6中的方法与图4中的方法在以下方面不同:根据图6中的方法,由贡献客户设备的消息传输中间件根据消息(416)是否满足约束(412)来管理(420)消息包括根据消息(416)是否满足约束(412)而记录(600)消息(416)来实现。根据图6的方法,根据消息(416)是否满足约束(412)而记录(600)消息(416),可以通过在数据存储器(602)中存储描述消息(416)的数据来实现,消息(416)举例来说有,诸如消息标识符、与消息(416)相关的时间戳、消息(416)的主题等等。根据图6中的方法,根据消息(416)是否满足约束(412)而记录(600)消息(416),可以通过在数据存储器(602)中存储消息(416)本身来实现。数据存储器(602)是贡献客户设备的非易失性计算机存储器或诸如数据库服务器的连接到贡献客户设备的一些其他设备的非易失性计算机存储器。根据消息(416)是否满足约束(412)而记录(600)消息(416)有利地提供了对消息或存储在数据存储器(602)中的描述消息的数据,稍后进行分析的能力。
如以上提到的,由贡献客户设备的消息传输中间件确定消息的内容是否满足约束,可以通过将约束算符应用于约束值以及来自于由消息字段标识符所标识的消息中的数据字段的值来实现。因此为了进一步的解释,图7描绘了示出根据本发明的实施例的高速度低延迟数据通信环境中的计算机数据通信的另一种示例方法的流程图,其包括将约束算符(704)应用(706)于约束值(702)以及来自于由消息字段标识符(701)所标识的消息(416)中的数据字段的值。
图7中的方法与图4中的方法在以下方面相似:图7中的方法包括,由流管理服务器来代理(400)从贡献客户设备到供给适配器的消息流的建立、鉴定(402)贡献客户设备、授权(404)贡献客户设备在消息流上向供给适配器发送消息、在贡献客户设备的消息传输中间件之中为将要从贡献客户设备到供给适配器传输的消息建立(406)约束(412)集,在贡献客户设备的消息传输中间件之中从贡献客户设备的应用,接收(414)用于在消息流上传输到供给适配器的消息(416)、由贡献客户设备的消息传输中间件确定(418)消息的内容是否满足约束、以及由贡献客户设备的消息传输中间件根据消息是否满足约束来管理(420)消息。图7的实例与图4的实例还在如下方面相似:图7的实例包括贡献请求(401)、主题(403)、客户安全证书(408)、鉴定策略(235)、鉴定客户标识符(409)、特权(410)、约束(412)、消息(416)、以及消息流(218)。
图7中的方法与图4中的方法在以下方面不同:根据图7中的方法,由贡献客户设备的消息传输中间件确定(418),消息(416)的内容是否满足约束(412),包括将约束算符(704)应用(706)于约束值(702)以及来自于由消息字段标识符(701)所标识的消息(416)中的数据字段的值。在图7的实例中,约束(412)包含一个或多个约束数据字段。图7中的约束(412)表示为表格,其中表中的每一条记录表示一个约束并且每个约束都由约束标识符(700)来标识。每一条约束由消息字段标识符(701)、约束值(702)、以及约束算符(704)来刻画。消息域标识符(701)标识消息(416)中的数据字段。约束值(702)指定与消息(416)中的值进行比较的值,从而确定消息(412)是否满足特定的约束数据字段。考虑,例如,金融市场数据环境中的以下示范表格:
约束标识符(700) | 消息域标识符(701) | 约束算符(704) | 约束值(702) |
1 | Tick_Feed | “=” | “OPRA” |
2 | Tick_Context | “=” | “top” |
3 | Tick_Product | “开始于” | “IBM” |
读者将注意到以上约束(412)的示范表格是为了解释而非限制。消息字段标识符(701)可以如以上所示用文字或用与消息(416)中的特定字段相应的数值来指定消息(416)中的数据字段。约束算符(704)可以规定简单算符,举例来说,诸如“=”、“>”或“<”,或规定更复杂的算符,举例来说,诸如“包含”、“不等于”、“结束于”等等。另外,对于根据本发明的实施例的高速度、低延迟数据通信环境中的计算机数据通信有用的约束(412),可以使用本领域技术人员所知的与以上示范表格不同的数据结构来实现。
在图7的方法中,将约束算符(704)应用(706)于约束值(702)以及来自于由消息字段标识符(701)所标识的消息(416)中的数据字段的值,可以通过由消息传输中间件,检索来自消息字段标识符(701)所标识的消息(416)中的数据字段的值来实现。消息传输中间件可以通过直接从使用消息模型的消息(416)中读取值,来从由消息字段标识符(701)标识的消息(416)中的数据字段检索数据,其中消息模型描述了被消息字段标识符(701)标识的消息字段的位置。除了直接从消息读取值之外,消息传输中间件也可以通过将消息(416)和消息字段名称(701)传递到贡献客户设备的消息库的函数,并且作为回应而接收来自于被消息字段标识符(701)标识的消息中的数据字段的值,来从被消息字段标识符(701)标识的消息(416)中的数据字段检索值。
根据图7中的方法,将约束算符(704)应用(706)于约束值(702)以及来自于由消息字段标识符(701)所标识的消息(416)中的数据字段的值,还可以通过对于每个约束标识符(700),根据约束算符(704)比较来自被消息字段标识符(701)标识的消息(416)中的数据字段的值与约束值(702)来实现。如果,对于每个约束标识符(700),来自被消息字段标识符(701)标识的消息(416)中的数据字段的值与约束值(702)满足约束算符(704),那么消息(416)满足约束(412)。如果,对于每个约束标识符(700),来自被消息字段标识符(701)标识的消息(416)中的数据字段的值与约束值(702)不满足约束算符(704),那么消息(416)不满足约束(412)。
继续看以上金融市场数据环境中的约束的示范表,考虑一个示范决算,其包含在被“Tick_Feed”标识的决算数据字段的值“OPRA”、被“Tick_Context”标识的决算数据字段的值“TOP”、以及被“Tick_Product”标识的决算数据字段的值“IBM GP-E/CBOE”。对于以上示范表格中的每个约束标识符(700),根据约束算符(704)将来自被消息字段标识符(701)标识的消息(416)中的数据字段的值与约束值(702)进行的比较显示,示范决算满足以上约束示范表格中的约束。
如以上提到的,贡献客户设备的消息传输中间件使用约束来管理从贡献客户设备的应用程序接收的消息。流管理服务器可以设置防止消息在消息流上被发送的约束值。因此,为了进一步的解释,图8描绘了示出根据本发明的实施例的高速度低延迟数据通信环境中的计算机数据通信的另一种示例方法的流程图,其包括由流管理服务器,在贡献客户设备的消息传输中间件中设置(800)防止消息(416)在消息流上被发送的约束(412)值。
图8中的方法与图4中的方法在以下方面相似:图8中的方法包括,由流管理服务器来代理(400)从贡献客户设备到供给适配器的消息流的建立、鉴定(402)贡献客户设备、授权(404)贡献客户设备在消息流上向供给适配器发送消息、在贡献客户设备的消息传输中间件之中为将要从贡献客户设备到供给适配器传输的消息建立(406)约束(412)集,在贡献客户设备的消息传输中间件之中从贡献客户设备的应用接收(414)用于在消息流上传输到供给适配器的消息(416)、由贡献客户设备的消息传输中间件确定(418)消息的内容是否满足约束、以及由贡献客户设备的消息传输中间件,根据消息是否满足约束来管理(420)消息。图8的实例与图4的实例还在如下方面相似:图8的实例包括贡献请求(401)、主题(403)、客户安全证书(408)、鉴定策略(235)、鉴定客户标识符(409)、特权(410)、约束(412)、消息(416)、以及消息流(218)。
图8中的方法与图4中的方法在以下方面不同:图8中的方法还包括,由流管理服务器,在贡献客户设备的消息传输中间件中设置(800)防止消息在消息流(218)上被发送的约束值(412)。根据图8的方法,由流管理服务器,在贡献客户设备的消息传输中间件中设置(800)防止消息在消息流(218)上被发送的约束值(412),可以通过为约束设置这样的值来实现:在贡献客户设备的消息传输中间件中,从贡献客户设备的应用程序接收的消息中没有一个消息(416)能满足该值。考虑,例如,关于图7所描述的金融市场数据环境中的约束的示范表格。为约束设置没有消息(416)能够满足的值,可以通过将与消息字段标识符值“Tick_Product”相关的约束值设置为“NULL”来实现。因为消息域“Tick_Product”的值绝不会是“NULL”,所以没有决算满足示范的约束——有效的防止消息(416)在消息流(218)上被发送。因此,由流管理服务器在贡献客户设备的消息传输中间件中设置(800)防止消息在消息流(218)上被发送的约束(412)的值,有利地为流管理服务器提供了防止消息在消息流上被发送的机制,尽管贡献客户设备的应用程序继续向贡献客户设备的消息传输中间件提供用于传输到供给适配器的消息。
主要在高速度、低延迟数据通信环境中的用于计算机数据通信的全功能计算机系统的环境下描述了本发明的示范实施例。然而,具有本领域技术的读者将会认识到本发明也可以在信号运载媒体上部属的计算机程序产品中实施,从而与任何适合的数据处理系统一起使用。这种信号运载媒质可以是传输媒质或者用于机器可读取信息的可记录的媒质,包括磁媒质、光媒质或其他适合的媒质。可记录的媒质的实例包括硬盘驱动器中的磁盘或软盘,用于光驱的压缩盘,磁带或本领域技术人员所知的其他媒质。传输媒质的实例包括用于语音的电话网络和数字数据通信网络,举例来说,诸如以太网以及用万维网和互联网协议进行通信的网络、以及无线传输媒质,举例来说,诸如根据IEEE802.11规范族实现的网络。本领域中的技术人员将会直接认识到任何具有适当的编程装置的计算机系统将能够执行在程序产品中实施的本发明的方法的步骤。本领域中的技术人员将会直接认识到,尽管在本说明书中所描述的某些示范实施例面向在计算机硬件上安装和运行的软件,然而,作为固件或硬件实现的其他实施例也完全在本发明的范畴之中。
从前面的描述可以理解,可以在本发明的多个实施例中做出修改和变更而不脱离其真正的精神。本说明书中的描述仅仅为了示意的目的,而不应被解释为某种意义上的限制。本发明的范畴只受到以下权利要求的语言的限制。
Claims (11)
1.一种在高速度、低延迟数据通信环境中的计算机数据通信的方法,其包含:
由流管理服务器代理从贡献客户设备到供给适配器的消息流的建立,包括鉴定贡献客户设备、授权贡献客户设备在消息流上向供给适配器发送消息、以及在贡献客户设备的消息传输中间件之中为要从贡献客户设备到供给适配器传输的消息建立约束集;
在贡献客户设备的消息传输中间件中从贡献客户设备的应用程序接收用于在消息流上向供给适配器传输的消息;
由贡献客户设备的消息传输中间件确定消息的内容是否满足约束;以及
由贡献客户设备的消息传输中间件根据消息是否满足约束来管理消息;
其中:
每条约束由消息字段标识符、约束值和约束算符来刻画;并且
由消息传输中间件确定消息的内容是否满足约束进一步包含,将约束算符应用于约束值和来自由消息字段标识符标识的消息中的数据字段的值。
2.如权利要求1所述的方法,其中高速度、低延迟数据通信环境包括高速度、低延迟数据通信网络,该网络进一步包含供给适配器、流管理服务器、至少一个订阅客户设备、贡献客户设备,而没有路由器。
3.如权利要求1所述的方法,其中供给适配器包含一种设备,其能够将供给适配器输入流上的具有第一种格式的消息转化为供给适配器输出流上的具有第二种格式的消息,并且在供给适配器输出流上向订阅客户设备组播消息。
4.如权利要求1所述的方法,其中管理消息进一步包含根据消息是否满足约束而授权在流上的消息传输。
5.如权利要求1所述的方法,其中管理消息进一步包含根据消息是否满足约束而记录消息。
6.如权利要求1所述的方法,其进一步包含,由流管理服务器在贡献客户设备的消息传输中间件中设置约束的值,其防止消息在消息流上被发送。
7.一种用于在高速度、低延迟数据通信环境中的计算机数据通信的系统,其包含:
流管理服务器,所述流管理服务器代理从贡献客户设备到供给适配器的消息流的建立,包括鉴定贡献客户设备、授权贡献客户设备在消息流上向供给适配器发送消息、以及在贡献客户设备的消息传输中间件之中为要从贡献客户设备到供给适配器传输的消息建立约束集;
贡献客户设备,所述贡献客户设备包括消息传输中间件,在贡献客户设备的消息传输中间件中从贡献客户设备的应用程序接收用于在消息流上向供给适配器传输的消息,由贡献客户设备的消息传输中间件确定消息的内容是否满足约束,以及由贡献客户设备的消息传输中间件根据消息是否满足约束来管理消息;
其中:
每条约束由消息字段标识符、约束值和约束算符来刻画;并且
由消息传输中间件确定消息的内容是否满足约束进一步包含,将约束算符应用于约束值和来自由消息字段标识符标识的消息中的数据字段的值。
8.如权利要求7所述的系统,其中该系统进一步包含供给适配器和至少一个订阅客户设备,而没有路由器。
9.如权利要求8所述的系统,其中供给适配器包含一种设备,其能够将供给适配器输入流上的具有第一种格式的消息转化为供给适配器输出流上的具有第二种格式的消息,并且在供给适配器输出流上向订阅客户设备组播消息。
10.如权利要求7所述的系统,其中管理消息进一步包含根据消息是否满足约束而授权在流上的消息传输。
11.如权利要求7所述的系统,其中管理消息进一步包含根据消息是否满足约束而记录消息。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/426,789 US8296778B2 (en) | 2006-06-27 | 2006-06-27 | Computer data communications in a high speed, low latency data communications environment |
US11/426,789 | 2006-06-27 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101098315A CN101098315A (zh) | 2008-01-02 |
CN101098315B true CN101098315B (zh) | 2011-03-23 |
Family
ID=38874910
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200710126251 Expired - Fee Related CN101098315B (zh) | 2006-06-27 | 2007-06-26 | 在高速低延迟数据通信环境中计算机数据通信方法和系统 |
Country Status (2)
Country | Link |
---|---|
US (2) | US8296778B2 (zh) |
CN (1) | CN101098315B (zh) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070300234A1 (en) * | 2006-06-27 | 2007-12-27 | Eliezer Dekel | Selecting application messages from an active feed adapter and a backup feed adapter for application-level data processing in a high speed, low latency data communications environment |
US8296778B2 (en) | 2006-06-27 | 2012-10-23 | International Business Machines Corporation | Computer data communications in a high speed, low latency data communications environment |
US8676876B2 (en) * | 2006-06-27 | 2014-03-18 | International Business Machines Corporation | Synchronizing an active feed adapter and a backup feed adapter in a high speed, low latency data communications environment |
US8122144B2 (en) | 2006-06-27 | 2012-02-21 | International Business Machines Corporation | Reliable messaging using redundant message streams in a high speed, low latency data communications environment |
US20080114938A1 (en) * | 2006-11-14 | 2008-05-15 | Borgendale Kenneth W | Application Message Caching In A Feed Adapter |
US8695015B2 (en) * | 2006-12-06 | 2014-04-08 | International Business Machines Corporation | Application message conversion using a feed adapter |
US20080140550A1 (en) * | 2006-12-07 | 2008-06-12 | Berezuk John F | Generating a global system configuration for a financial market data system |
US8327381B2 (en) * | 2006-12-12 | 2012-12-04 | International Business Machines Corporation | Referencing message elements in an application message in a messaging environment |
US20080137830A1 (en) * | 2006-12-12 | 2008-06-12 | Bhogal Kulvir S | Dispatching A Message Request To A Service Provider In A Messaging Environment |
US20080141275A1 (en) * | 2006-12-12 | 2008-06-12 | Borgendale Kenneth W | Filtering Application Messages In A High Speed, Low Latency Data Communications Environment |
US8850451B2 (en) | 2006-12-12 | 2014-09-30 | International Business Machines Corporation | Subscribing for application messages in a multicast messaging environment |
US7917912B2 (en) * | 2007-03-27 | 2011-03-29 | International Business Machines Corporation | Filtering application messages in a high speed, low latency data communications environment |
US20090006559A1 (en) * | 2007-06-27 | 2009-01-01 | Bhogal Kulvir S | Application Message Subscription Tracking In A High Speed, Low Latency Data Communications Environment |
US20090024498A1 (en) * | 2007-07-20 | 2009-01-22 | Berezuk John F | Establishing A Financial Market Data Component In A Financial Market Data System |
US9276979B2 (en) * | 2010-09-01 | 2016-03-01 | Vuclip (Singapore) Pte. Ltd. | System and methods for resilient media streaming |
US11062391B2 (en) * | 2010-09-17 | 2021-07-13 | International Business Machines Corporation | Data stream processing framework |
WO2017083140A1 (en) * | 2015-11-10 | 2017-05-18 | Avanan Inc. | Cloud services discovery and monitoring |
US10382518B2 (en) * | 2016-03-22 | 2019-08-13 | Google Llc | Low latency applications using multiple servers |
CN112434277A (zh) * | 2020-12-08 | 2021-03-02 | 武汉卓尔信息科技有限公司 | 一种ukey中间件及多ukey自适应集成适配方法、系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1450462A (zh) * | 2002-04-10 | 2003-10-22 | 日本电信电话株式会社 | 基于服务器的计算合作 |
CN1456005A (zh) * | 2000-07-07 | 2003-11-12 | 软线股份公司 | 消息传送代理系统 |
CN1572098A (zh) * | 2001-11-13 | 2005-01-26 | 国际商业机器公司 | 使用发布/预定系统的无线消息传递业务 |
Family Cites Families (107)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4787035A (en) | 1985-10-17 | 1988-11-22 | Westinghouse Electric Corp. | Meta-interpreter |
US5195092A (en) | 1987-08-04 | 1993-03-16 | Telaction Corporation | Interactive multimedia presentation & communication system |
US4947429A (en) | 1987-11-30 | 1990-08-07 | Zenith Electronics Corporation | Pay per view television signaling method |
US6044205A (en) | 1996-02-29 | 2000-03-28 | Intermind Corporation | Communications system for transferring information between memories according to processes transferred with the information |
US5987432A (en) | 1994-06-29 | 1999-11-16 | Reuters, Ltd. | Fault-tolerant central ticker plant system for distributing financial market data |
GB2301754B (en) | 1995-06-02 | 1999-12-29 | Dsc Communications | A protocol converter for a telecommunications system |
US5732274A (en) | 1995-11-08 | 1998-03-24 | Electronic Data Systems Corporation | Method for compilation using a database for target language independence |
US5809337A (en) * | 1996-03-29 | 1998-09-15 | Intel Corporation | Mass storage devices utilizing high speed serial communications |
US7046795B2 (en) | 1997-06-25 | 2006-05-16 | Intel Corporation | Method and apparatus for active latency characterization |
US5864827A (en) | 1997-06-27 | 1999-01-26 | Belzberg Financial Markets & News International Inc. | System and method for providing an information gateway |
US5940843A (en) | 1997-10-08 | 1999-08-17 | Multex Systems, Inc. | Information delivery system and method including restriction processing |
US6160874A (en) | 1997-10-21 | 2000-12-12 | Mci Communications Corporation | Validation gateway |
US6343321B2 (en) | 1997-10-27 | 2002-01-29 | Sun Microsystems, Inc. | Method and apparatus for network transport independence |
CA2319004A1 (en) | 1998-01-26 | 1999-08-12 | Unif/X Inc. | A transaction execution system interface and enterprise system architecture thereof |
US6393386B1 (en) | 1998-03-26 | 2002-05-21 | Visual Networks Technologies, Inc. | Dynamic modeling of complex networks and prediction of impacts of faults therein |
AR020608A1 (es) | 1998-07-17 | 2002-05-22 | United Video Properties Inc | Un metodo y una disposicion para suministrar a un usuario acceso remoto a una guia de programacion interactiva por un enlace de acceso remoto |
US6141324A (en) * | 1998-09-01 | 2000-10-31 | Utah State University | System and method for low latency communication |
US6125391A (en) | 1998-10-16 | 2000-09-26 | Commerce One, Inc. | Market makers using documents for commerce in trading partner networks |
US7596606B2 (en) | 1999-03-11 | 2009-09-29 | Codignotto John D | Message publishing system for publishing messages from identified, authorized senders |
US6694316B1 (en) | 1999-03-23 | 2004-02-17 | Microstrategy Inc. | System and method for a subject-based channel distribution of automatic, real-time delivery of personalized informational and transactional data |
EP1039410A1 (en) | 1999-03-24 | 2000-09-27 | Hewlett-Packard Company | Intelligent media reader and label printer |
US8479251B2 (en) | 1999-03-31 | 2013-07-02 | Microsoft Corporation | System and method for synchronizing streaming content with enhancing content using pre-announced triggers |
US6954454B1 (en) | 1999-05-03 | 2005-10-11 | Ut Starcom, Inc. | Architecture for a central office using IP technology |
WO2001056357A2 (en) | 2000-02-07 | 2001-08-09 | Trade Tek, Llc | Controlling a trading account owned by a securities trader |
US7213017B2 (en) | 2000-03-17 | 2007-05-01 | Microsoft Corporation | Systems and methods for transforming query results into hierarchical information |
GB2362969B (en) | 2000-05-31 | 2004-09-22 | Ibm | Message transformation selection tool and method |
US20020019812A1 (en) | 2000-06-16 | 2002-02-14 | Board Karen Eleanor | System and service for receiving, customizing, and re-broadcasting high-speed financial data to users operating wireless network-capable devices |
CA2322594C (en) | 2000-10-06 | 2005-01-11 | Ibm Canada Limited-Ibm Canada Limitee | System and method for managing web page components |
US6901428B1 (en) | 2000-10-11 | 2005-05-31 | Ncr Corporation | Accessing data from a database over a network |
US6725446B1 (en) * | 2000-11-01 | 2004-04-20 | Digital Integrator, Inc. | Information distribution method and system |
KR100393602B1 (ko) | 2000-12-29 | 2003-08-02 | 삼성전자주식회사 | 셀룰러 기지국 시스템의 메시지 처리방법 |
US7882555B2 (en) | 2001-03-16 | 2011-02-01 | Kavado, Inc. | Application layer security method and system |
US7113520B1 (en) | 2001-04-11 | 2006-09-26 | Adl Llc | Local protocol server |
US7430609B2 (en) | 2001-04-30 | 2008-09-30 | Aol Llc, A Delaware Limited Liability Company | Managing access to streams hosted on duplicating switches |
US20020169706A1 (en) * | 2001-05-10 | 2002-11-14 | International Business Machines Corporation | Apparatus and methods for providing secure electronic brokers |
CA2385999A1 (en) | 2001-05-15 | 2002-11-15 | Tropic Networks Inc. | Method and system for allocating and controlling labels in multi-protocol label switched networks |
US7464178B2 (en) | 2001-05-23 | 2008-12-09 | Markport Limited | Open messaging gateway |
US11388451B2 (en) | 2001-11-27 | 2022-07-12 | Comcast Cable Communications Management, Llc | Method and system for enabling data-rich interactive television using broadcast database |
GB0123403D0 (en) * | 2001-09-28 | 2001-11-21 | Tamesis Ltd | Publish subscribe system |
US7283904B2 (en) | 2001-10-17 | 2007-10-16 | Airbiquity, Inc. | Multi-sensor fusion |
US6910078B1 (en) | 2001-11-15 | 2005-06-21 | Cisco Technology, Inc. | Methods and apparatus for controlling the transmission of stream data |
US7334016B2 (en) | 2001-11-15 | 2008-02-19 | Globalview Software Inc. | Data transfer system for providing non-buffered, real-time streaming data users |
JP3906678B2 (ja) | 2001-11-28 | 2007-04-18 | ソニー株式会社 | データ通信システム、データ送信装置、データ受信装置、および方法、並びにコンピュータ・プログラム |
WO2003048905A2 (en) | 2001-12-05 | 2003-06-12 | E-Xchange Advantage, Inc. | Method and system for managing distributed trading data |
US20030115548A1 (en) | 2001-12-14 | 2003-06-19 | International Business Machines Corporation | Generating class library to represent messages described in a structured language schema |
US20030158805A1 (en) | 2002-02-08 | 2003-08-21 | Brian Mozhdehi | Method of translating electronic data interchange documents into other formats and in reverse |
JP4347545B2 (ja) | 2002-06-28 | 2009-10-21 | 株式会社 液晶先端技術開発センター | 結晶化装置および結晶化方法 |
US20040054744A1 (en) | 2002-08-07 | 2004-03-18 | Karamchedu Murali M. | Method and apparatus for semantic qualification and contextualization of electronic messages |
JP3757933B2 (ja) | 2002-11-28 | 2006-03-22 | ソニー株式会社 | 通信装置 |
US20040193703A1 (en) | 2003-01-10 | 2004-09-30 | Guy Loewy | System and method for conformance and governance in a service oriented architecture |
ATE377897T1 (de) | 2003-02-14 | 2007-11-15 | Research In Motion Ltd | System und verfahren für kompakte nachrichtenübermittlung in der netzwerkkommunikation |
JP4277189B2 (ja) | 2003-02-19 | 2009-06-10 | 株式会社 インテック・ネットコア | ルータ装置及びパケット転送制御方法 |
GB0308035D0 (en) | 2003-04-08 | 2003-05-14 | Ibm | Liveness monitoring in a publish/subscribe messaging system |
US20040216135A1 (en) | 2003-04-23 | 2004-10-28 | Heimbeck Reid D. | Selective user input notification for multiple applications |
US20050010311A1 (en) | 2003-07-10 | 2005-01-13 | Barbazette Christopher J. | Data collection and diagnostic system for a semiconductor fabrication facility |
US7831693B2 (en) | 2003-08-18 | 2010-11-09 | Oracle America, Inc. | Structured methodology and design patterns for web services |
US7225195B2 (en) | 2003-08-27 | 2007-05-29 | Gil Avrahami | Method for a dynamic information messaging system |
US20050222931A1 (en) | 2003-08-27 | 2005-10-06 | Ascential Software Corporation | Real time data integration services for financial information data integration |
US20050105533A1 (en) | 2003-09-02 | 2005-05-19 | Malolepsy Gary L. | Video stream server switching |
US7526457B2 (en) | 2003-11-07 | 2009-04-28 | Sap Ag | Systems and methods for configuring software |
US20050102218A1 (en) * | 2003-11-10 | 2005-05-12 | Sargent Timothy A. | Data processing system, methods and computer program for determining the transaction costs for a linked set of stock transactions |
US7844639B2 (en) | 2003-11-24 | 2010-11-30 | Ebay Inc. | Backward compatibility in database schemas |
FR2863130A1 (fr) | 2003-12-01 | 2005-06-03 | Thomson Licensing Sa | Dispositif et procede de preparation de donnees d'emission et produits correspondants |
US8600845B2 (en) | 2006-10-25 | 2013-12-03 | American Express Travel Related Services Company, Inc. | System and method for reconciling one or more financial transactions |
US7512125B2 (en) | 2003-12-19 | 2009-03-31 | Solace Systems, Inc. | Coding of routing protocol messages in markup language |
US20050149548A1 (en) * | 2003-12-29 | 2005-07-07 | Chong Fay Jr. | One-way data mirror using copy-on-write |
US7519669B2 (en) | 2004-04-30 | 2009-04-14 | Sap Aktiengesellschaft | Prioritizing producers and consumers of an enterprise messaging system |
US7533149B2 (en) | 2004-04-30 | 2009-05-12 | Microsoft Corporation | Maintaining multiple versions of message bodies in a common database |
US20050254508A1 (en) | 2004-05-13 | 2005-11-17 | Nokia Corporation | Cooperation between packetized data bit-rate adaptation and data packet re-transmission |
US20050261923A1 (en) * | 2004-05-21 | 2005-11-24 | International Business Machines Corporation | Method and apparatus for model based subscriptions for a publish/subscribe messaging system |
US8694423B2 (en) * | 2004-05-21 | 2014-04-08 | Hewlett-Packard Development Company, L.P. | Systems and methods for brokering data in a transactional gateway |
US7890396B2 (en) | 2005-06-07 | 2011-02-15 | Cfph, Llc | Enhanced system and method for managing financial market information |
US7801784B2 (en) | 2004-06-07 | 2010-09-21 | Cfph, Llc | System and method for managing financial market information |
US7822801B2 (en) * | 2004-10-14 | 2010-10-26 | International Business Machines Corporation | Subscription propagation in a high performance highly available content-based publish/subscribe system |
US8321465B2 (en) | 2004-11-14 | 2012-11-27 | Bloomberg Finance L.P. | Systems and methods for data coding, transmission, storage and decoding |
JP2007209040A (ja) | 2004-11-18 | 2007-08-16 | Nippon Telegr & Teleph Corp <Ntt> | パケット転送方法及びパケット転送装置 |
JP2008527538A (ja) * | 2005-01-06 | 2008-07-24 | テーベラ・インコーポレーテッド | メッセージング・システム内のキャッシング・エンジン |
US7478419B2 (en) * | 2005-03-09 | 2009-01-13 | Sun Microsystems, Inc. | Automated policy constraint matching for computing resources |
US7668914B2 (en) | 2005-03-28 | 2010-02-23 | Alcatel Lucent | Milestone synchronization in broadcast multimedia streams |
US20070038712A1 (en) | 2005-08-15 | 2007-02-15 | Microsoft Corporation | Acquisition of syndication feed items via an information workflow application |
US7757015B2 (en) | 2005-09-13 | 2010-07-13 | International Business Machines Corporation | Device, method and computer program product readable medium for determining the identity of a component |
US7548995B2 (en) | 2005-10-21 | 2009-06-16 | Microsoft Corporation | Strategies for disseminating media information using redundant network streams |
US7234875B2 (en) | 2005-11-02 | 2007-06-26 | Stratos International, Inc. | Rugged MT-MT connector |
US20070150918A1 (en) | 2005-12-22 | 2007-06-28 | Sony Ericsson Mobile Communications Ab | Methods, devices, and computer program products for providing parental control over access to media content using a mobile terminal |
US8438119B2 (en) | 2006-03-30 | 2013-05-07 | Sap Ag | Foundation layer for services based enterprise software architecture |
US7574586B2 (en) | 2006-05-16 | 2009-08-11 | Texas Instruments Incorporated | Efficient transfer of branch information |
US7921046B2 (en) | 2006-06-19 | 2011-04-05 | Exegy Incorporated | High speed processing of financial information using FPGA devices |
US20070299936A1 (en) | 2006-06-27 | 2007-12-27 | Borgendale Kenneth W | Interactively streaming data from a database in a high speed, low latency data communications environment |
US20070300235A1 (en) | 2006-06-27 | 2007-12-27 | Eliezer Dekel | Reliable messaging using a message stream in a high speed, low latency data communications environment |
US20070300234A1 (en) | 2006-06-27 | 2007-12-27 | Eliezer Dekel | Selecting application messages from an active feed adapter and a backup feed adapter for application-level data processing in a high speed, low latency data communications environment |
US8676876B2 (en) | 2006-06-27 | 2014-03-18 | International Business Machines Corporation | Synchronizing an active feed adapter and a backup feed adapter in a high speed, low latency data communications environment |
US8122144B2 (en) | 2006-06-27 | 2012-02-21 | International Business Machines Corporation | Reliable messaging using redundant message streams in a high speed, low latency data communications environment |
US8296778B2 (en) | 2006-06-27 | 2012-10-23 | International Business Machines Corporation | Computer data communications in a high speed, low latency data communications environment |
US8234391B2 (en) | 2006-09-20 | 2012-07-31 | Reuters America, Llc. | Messaging model and architecture |
US20080104266A1 (en) | 2006-10-25 | 2008-05-01 | Eliezer Dekel | Reliable messaging using message streams in a high speed, low latency data communications environment |
US20080114938A1 (en) | 2006-11-14 | 2008-05-15 | Borgendale Kenneth W | Application Message Caching In A Feed Adapter |
US20080114839A1 (en) | 2006-11-14 | 2008-05-15 | Borgendale Kenneth W | Version Control for Application Message Models |
US8695015B2 (en) | 2006-12-06 | 2014-04-08 | International Business Machines Corporation | Application message conversion using a feed adapter |
US20080140550A1 (en) | 2006-12-07 | 2008-06-12 | Berezuk John F | Generating a global system configuration for a financial market data system |
US20080141273A1 (en) | 2006-12-11 | 2008-06-12 | Borgendale Kenneth W | Accessing Application Message Data In A Messaging Environment |
US20080137830A1 (en) | 2006-12-12 | 2008-06-12 | Bhogal Kulvir S | Dispatching A Message Request To A Service Provider In A Messaging Environment |
US8327381B2 (en) | 2006-12-12 | 2012-12-04 | International Business Machines Corporation | Referencing message elements in an application message in a messaging environment |
US20080141275A1 (en) | 2006-12-12 | 2008-06-12 | Borgendale Kenneth W | Filtering Application Messages In A High Speed, Low Latency Data Communications Environment |
US7917912B2 (en) | 2007-03-27 | 2011-03-29 | International Business Machines Corporation | Filtering application messages in a high speed, low latency data communications environment |
US20090006559A1 (en) | 2007-06-27 | 2009-01-01 | Bhogal Kulvir S | Application Message Subscription Tracking In A High Speed, Low Latency Data Communications Environment |
US20090006560A1 (en) | 2007-06-27 | 2009-01-01 | Bhogal Kulvir S | Terminating An Application Message Subscription |
US20090024498A1 (en) | 2007-07-20 | 2009-01-22 | Berezuk John F | Establishing A Financial Market Data Component In A Financial Market Data System |
-
2006
- 2006-06-27 US US11/426,789 patent/US8296778B2/en not_active Expired - Fee Related
-
2007
- 2007-06-26 CN CN 200710126251 patent/CN101098315B/zh not_active Expired - Fee Related
-
2012
- 2012-09-24 US US13/625,060 patent/US9003428B2/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1456005A (zh) * | 2000-07-07 | 2003-11-12 | 软线股份公司 | 消息传送代理系统 |
CN1572098A (zh) * | 2001-11-13 | 2005-01-26 | 国际商业机器公司 | 使用发布/预定系统的无线消息传递业务 |
CN1450462A (zh) * | 2002-04-10 | 2003-10-22 | 日本电信电话株式会社 | 基于服务器的计算合作 |
Also Published As
Publication number | Publication date |
---|---|
US20070300233A1 (en) | 2007-12-27 |
US8296778B2 (en) | 2012-10-23 |
CN101098315A (zh) | 2008-01-02 |
US20130024502A1 (en) | 2013-01-24 |
US9003428B2 (en) | 2015-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101098315B (zh) | 在高速低延迟数据通信环境中计算机数据通信方法和系统 | |
CN101455060B (zh) | 在高速、低等待时间数据通信环境中同步主动馈送适配器和备用馈送适配器的方法 | |
CN101202642B (zh) | 在多播消息传送环境中订阅应用消息的方法和系统 | |
JP4566273B2 (ja) | 高速短待ち時間データ通信環境において冗長メッセージ・ストリームを使用する高信頼性メッセージングのための方法 | |
EP2140625B1 (en) | Filtering application messages in a high speed, low latency data communications environment | |
CN101471961B (zh) | 展示过程流以及作为万维网服务的安排控制器 | |
US8695015B2 (en) | Application message conversion using a feed adapter | |
EP1388084B1 (en) | Counting and billing mechanism for web-services based on a soap-communication protocol | |
US20080137830A1 (en) | Dispatching A Message Request To A Service Provider In A Messaging Environment | |
US7606832B2 (en) | System and method for orchestrating composite web services in constrained data flow environments | |
US8327381B2 (en) | Referencing message elements in an application message in a messaging environment | |
US20080141273A1 (en) | Accessing Application Message Data In A Messaging Environment | |
CN101098341A (zh) | 用于交互地从数据库流式传输数据的方法和设备 | |
US20090006559A1 (en) | Application Message Subscription Tracking In A High Speed, Low Latency Data Communications Environment | |
US20080140550A1 (en) | Generating a global system configuration for a financial market data system | |
US20090024498A1 (en) | Establishing A Financial Market Data Component In A Financial Market Data System | |
US7933785B2 (en) | Real-time benefits service marketplace | |
EP4142206A1 (en) | Verifying integrity and secure operations of cloud-based software services | |
JP4667748B2 (ja) | マルチノード・プロセスを制御する方法および装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110323 |
|
CF01 | Termination of patent right due to non-payment of annual fee |