CN101202642A - 在多播消息传送环境中订阅应用消息的方法和系统 - Google Patents

在多播消息传送环境中订阅应用消息的方法和系统 Download PDF

Info

Publication number
CN101202642A
CN101202642A CNA2007101999639A CN200710199963A CN101202642A CN 101202642 A CN101202642 A CN 101202642A CN A2007101999639 A CNA2007101999639 A CN A2007101999639A CN 200710199963 A CN200710199963 A CN 200710199963A CN 101202642 A CN101202642 A CN 101202642A
Authority
CN
China
Prior art keywords
message
transmitting apparatus
data communication
end points
application
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2007101999639A
Other languages
English (en)
Other versions
CN101202642B (zh
Inventor
R·拉维桑卡尔
K·S·博加尔
K·W·博根达勒
P·D·刘易斯
王正平
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.)
Shanghai Yiya Fangao Technology Co.,Ltd.
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN101202642A publication Critical patent/CN101202642A/zh
Application granted granted Critical
Publication of CN101202642B publication Critical patent/CN101202642B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/541Interprogram communication via adapters, e.g. between incompatible applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/547Messaging middleware

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明涉及一种在多播消息传送环境中订阅应用消息的方法和系统,包括:由消息接收设备请求流管理服务器初始化对来自消息发送设备的应用消息的消息订阅;在所述消息接收设备中从所述流管理服务器接收来自所述消息发送设备的多播消息流的数据通信端点;由所述消息接收设备开始在所述数据通信端点处监听所述应用消息;以及在开始监听所述应用消息之后,由所述消息接收设备通知所述消息发送设备在所述数据通信端点处发布所述应用消息。

Description

在多播消息传送环境中订阅应用消息的方法和系统
技术领域
本发明的领域是数据处理,或者更具体地说,是用于在多播消息传送环境中订阅应用消息的方法、系统和产品。
背景技术
消息传送环境通常可用于在消息发送设备与使用消息的消息接收设备之间提供数据通信。消息是一定量的包括一个或多个数据字段的数据,并从安装在消息发送设备上的消息发生方传递到安装在消息接收设备上的消息用户。消息可以例如代表数字或文本信息、图像、加密信息和计算机程序指令。
消息传送环境可以支持点对点消息传送、发布和订阅消息传送或以上两者。在点对点消息传送环境中,消息发生方可以将消息提供给单个消息用户。在发布和订阅消息传送环境中,消息发生方可以向特定频道或主题发布消息,并且任何订阅了该频道或主题的消息用户接收所述消息。由于消息发生方和消息用户间接地通过频道或主题在发布和订阅环境中通信,因此消息发送与消息接收是分离的。因此,发生方与用户都不需要维护关于彼此的状态,从而减少或消除了交互参与方之间的相关性。因此,发布和订阅环境可以允许消息发布方和消息订阅方异步地工作。
为了进一步说明消息传送环境,图1是示出用于数据通信的典型消息传送环境的方块图,所述环境包括消息发送设备(100)、消息接收设备(104)以及消息管理服务器(102)。消息发送设备(100)是其上安装有消息发生方(110,一组用于创建或转换应用消息的计算机程序指令)的计算机设备。消息发生方(110)通常将消息发送到消息管理服务器(102)以便传输到消息接收设备。在图1的实例中,消息发生方(110)在消息流(106)上将消息发送至消息管理服务器(102)。消息发送设备(100)可以通过从消息发送设备本身的数据或从某些其他源接收的数据生成消息,来产生所发送的消息。消息接收设备(104)是其上安装有消息用户(112,一组用于接收和使用应用消息的计算机程序指令)的计算机设备。消息用户(112)通常从消息管理服务器(102)接收消息。在图1的实例中,消息用户(112)在消息流(108)上从消息管理服务器(102)接收消息。在图1的实例中,消息流(106)和消息流(108)是例如使用用户数据报协议(‘UDP’)和网际协议(‘IP’)实现的数据通信频道。
在点对点消息传送环境中或在发布和订阅消息传送环境中,从消息发送设备传送至消息接收设备的消息通常都经过消息管理服务器(102)。消息管理服务器(102)是其上安装有消息管理模块(114,用于管理从消息发生方(110)传送至消息用户(112)的消息的计算机程序指令)的计算机设备。消息管理模块的实例可以包括IBM WebSphereMQ,SunMicrosystems的Open Message Queue和OpenJMS Group的OpenJMS。在点对点消息传送环境中,当消息管理模块(114)接收到从不同消息提供方发送至用户(112)的消息时,消息管理模块(114)为消息用户(112)提供消息排队。在发布和订阅消息传送环境中,消息管理模块(114)管理消息发生方所发布的和消息用户所订阅的各个频道或主题。在任一消息环境中,消息管理模块(114)还可以提供安全服务,以便确保只有从消息发生方(110)到达消息传送用户(112)的消息才是消息用户(112)被授权接收以及消息发生方(110)被授权发送的那些消息。
当前的消息传送环境(例如结合图1描述的消息传送环境)具有某些缺点。从消息发送设备发送到消息管理服务器以便传送到消息接收设备的消息在消息管理服务器中被延迟,直到消息管理服务器能够处理该消息。在消息管理服务器中进行的消息处理通常增加了消息传送环境的总体消息传送等待时间,并降低了在数据通信环境中传输数据的总体速度。消息传送等待时间是在消息发生方发送消息时开始和在消息用户接收到消息时结束的时间段。
在许多数据通信环境中,即使消息传送等待时间略有增加,其成本也是高昂的。例如,考虑金融市场数据环境。金融市场数据环境是用于传送与金融市场和金融市场的参与者有关的信息的数据处理环境。在金融市场数据环境中,消息通常称为“行情(tick)”并表示诸如金融报价或金融新闻之类的金融市场数据。金融报价包括任何给定金融证券的出价和要价。
“出价”指买方愿意为证券所支付的最高价格。“要价”指卖方愿意为证券接受的最低价格。在金融市场数据环境中,消息发生方可以根据实时的金融市场情况来提供对买卖金融证券的报价,而消息用户可以根据金融报价来买卖金融证券。当消息用户根据由消息发生方提供的报价价格来买卖金融证券时,消息用户在金融证券报价中获得出价或要价的能力很大程度上受金融市场数据环境中的消息传送等待时间的影响。消息传送等待时间越长,消息用户做出的买卖命令在金融报价中申明的价格处或附近执行的可能性就越小。实际上,很不稳定的证券可能会在几秒钟的时间内在价格上显著地波动。
当前减少消息传送等待时间的解决方案是从消息传送环境中移除消息管理服务器。在此类当前解决方案中,消息发送设备直接向消息接收设备发送消息。此类当前解决方案的缺点在于,移除消息管理服务器从消息传送环境中除去了由消息管理服务器提供的管理功能。因此,当前解决方案实际上在需要消息管理服务器的管理功能的消息传送环境中没有提供解决方案。例如,考虑多播消息传送环境,其中消息接收设备没有关于消息发送设备的状态或存在的信息,并且消息发送设备发送应用消息而不考虑是否有任何设备在监听消息。在此类环境中,进一步考虑消息接收设备要求直到消息接收设备已经建立了接收消息的消息流之后,才进行从消息发送设备传送消息。从此类金融市场数据环境中移除消息管理服务器除去了能够将与环境中的各个消息发送设备有关的信息提供给消息接收设备的中央实体,并且去除了由消息管理服务器提供的排队能力。
发明内容
本发明公开了用于在多播消息传送环境中订阅应用消息的方法、系统和产品,包括:由消息接收设备请求流管理服务器初始化对来自消息发送设备的应用消息的消息订阅;在所述消息接收设备中从所述流管理服务器接收来自所述消息发送设备的多播消息流的数据通信端点;由所述消息接收设备开始在所述数据通信端点处监听所述应用消息;以及在开始监听所述应用消息之后,由所述消息接收设备通知所述消息发送设备在所述数据通信端点处发布所述应用消息。
在一些实施例中,接收数据通信端点可以包括,除了接收所述数据通信端点以外,还接收一个或多个备选数据通信端点。在此类实施例中,在多播消息传送环境中订阅应用消息还可以包括:由所述消息接收设备标识所述数据通信端点的故障状况;以及响应于所述故障状况,所述消息接收设备从在所述数据通信端点处监听所述应用消息切换为在所述备选数据通信端点之一处监听所述应用消息。
从以下对附图中示出的本发明示例性实施例的更具体的说明,本发明的上述和其他目标、特征和优点将是显而易见的,在附图中,相同的标号通常代表本发明的示例性实施例的相同部分。
附图说明
图1是示出了用于数据通信的典型消息传送环境的方块图;
图2是示出了根据本发明的示例性实施例的用于在多播消息传送环境中订阅应用消息的典型系统的网络和方块图;
图3示出了根据本发明的示例性实施例的包括在多播消息传送环境中订阅应用消息中使用的示例性消息接收设备的自动化计算机器的方块图;
图4是示出了根据本发明的示例性实施例的在多播消息传送环境中订阅应用消息的示例性方法的流程图;
图5是示出了根据本发明的示例性实施例的在多播消息传送环境中订阅应用消息的进一步示例性方法的流程图;
图6是示出了根据本发明的示例性实施例的在多播消息传送环境中订阅应用消息的进一步示例性方法的流程图;以及
图7是示出了根据本发明的示例性实施例的在多播消息传送环境中订阅应用消息的进一步示例性方法的流程图。
具体实施方式
从图2开始,结合附图描述根据本发明的实施例的用于在多播消息传送环境中订阅应用消息的示例性方法、系统和产品。图2是示出了根据本发明实施例的用于在多播消息传送环境中订阅应用消息的示例性系统的网络和方块图。图2的根据本发明实施例的在多播消息传送环境中订阅应用消息的系统通常按照以下步骤来操作:消息接收设备(210)请求流管理服务器初始化对来自消息发送设备(208)的应用消息的消息订阅。消息订阅是消息接收设备被授权从消息发送设备接收的一组应用消息。消息接收设备(210)从流管理服务器(212)接收来自消息发送设备(208)的多播消息流(280)的数据通信端点。消息接收设备(210)开始在数据通信端点处监听应用消息。当开始监听应用消息之后,消息接收设备(210)通知消息发送设备(208)在数据通信端点处发布应用消息。消息接收设备(210)也可以通知消息发送设备(208)在数据通信端点处停止发布应用消息。消息接收设备(210)还可以请求流管理服务器(212)关闭消息订阅。在图2的示例性系统中,消息接收设备(210)实现为订阅客户端设备,而消息发送设备(208)实现为馈送适配器。
图2中所示的高速低等待时间数据通信环境(201)包括高速低等待时间数据通信网络(200)。网络(200)包括馈送适配器(208)、流管理服务器(212)和订阅客户端设备(210),以及用于将这些设备(208、212、210)连接在一起以便进行数据通信的基础设施。图2的网络(200)称为‘高速低等待时间’,因为在连接到网络(200)的设备之间,在流管理服务器(212)管理的消息流上发送的应用消息绕过了流管理服务器(212)。例如,在消息流(280)上从馈送适配器(208)到订阅客户端设备(210)的应用消息绕过了流管理服务器(212)。尽管此类消息不会因在流管理服务器(212)中进行处理而延迟,但是流管理服务器(212)仍保留对连接到高速低等待时间数据通信网络(200)的设备之间的流(280)的管理。
为了进一步有助于网络(200)的‘高速低等待时间’特性,将注意到网络(200)不包括路由器,路由器是一种计算机联网设备,其基本功能是跨网络将数据分组转发到其目的地。相反,每个设备(208、212、210)都通过与连接到网络(200)的其他设备的直接连接来提供其自己的用于数据通信的路由功能。由于网络(200)不包括专用于路由数据分组的计算机联网设备,所以图2的网络(200)可以称为“最低程度路由网络”。尽管图2所示的示例性网络(200)不包括路由器,但是此类最低程度路由网络只是为了说明。实际上,某些根据本发明的实施例的用于在多播消息传送环境中订阅应用消息的高速低等待时间网络可以包括路由器。
在图2中所示的高速低等待时间数据通信环境(201)包括多播消息流(280)。多播消息流是在发送设备的通信端点与至少一个接收设备的通信端点之间的多播数据通信频道。通信端点包括网络地址和用于发送设备或接收设备的端口。在多播数据通信频道中,在消息的目的地地址与接收设备的通信端点之间存在一对多的关系。也就是说,每个目的地地址都确定了一组接收设备(流的每个消息要复制到其)的通信端点。多播数据通信频道可以例如使用用户数据报协议(“UDP”)和网际协议(“IP”)、实际通用多播(“PGM”)协议或任何其他本领域的技术人员将想到的多播数据通信协议来实现。
图2的示例性系统包括通过有线连接(262)连接到高速低等待时间数据通信网络(200)的流管理服务器(212)。图2的流管理服务器(212)是其上安装有流管理模块(228)、认证模块(230)、授权模块(234)和授权策略(235)的计算机设备。流管理模块(228)是包括一组计算机程序指令的软件组件,所述指令用于代理建立从馈送适配器(208)到订阅客户端设备(210)的消息流(280)。流管理模块(228)可以通过以下步骤来代理建立消息流(280):接收来自订阅客户端设备(210)的初始化消息订阅的请求、认证订阅客户端设备(210)、授权订阅客户端设备(210)从馈送适配器(208)接收消息流(280)上的应用消息(240),以及从消息发送设备(208)向订阅客户端设备(210)提供消息流(280)的数据通信端点。除了代理建立消息流(280),流管理模块(228)还包括一组用于在消息传送环境(201)中执行其他管理功能的计算机程序指令,例如,响应于从订阅客户端设备(210)接收到发布通知,通知馈送适配器(208)开始在消息流(280)上发布消息。
图2的认证模块(230)是一组能够通过暴露的认证应用编程接口(“API”)(232)来向流管理模块(228)提供认证安全服务的计算机程序指令。认证是检验实体的身份的过程。在图2的示例性系统中,认证模块(230)检验订阅客户端设备(210)的身份。认证模块(230)可以使用各种安全基础设施(例如,共享密钥基础设施或公钥基础设施)来提供认证安全服务。
图2的授权模块(234)是一组能够通过暴露的授权API(236)向流管理模块(228)提供授权安全服务的计算机程序指令。授权是仅允许由已被授权使用资源的资源使用者来使用资源的过程。在图2的实例中,授权模块(234)标识订阅客户端设备(210)被授权在消息流(280)上接收的应用消息。图2的授权模块(234)使用授权策略(235)来提供授权安全服务。授权策略(235)是一组管理被授权实体在消息流上发送和接收应用消息的权限的规则。例如,在金融市场数据环境中,授权实体可以被授权接收包含某些金融证券(而非其他证券)的金融报价的应用消息。授权策略(235)可以在单个实体或实体在组中的成员资格的基础上授予权限。
在图2的示例性系统中,馈送适配器(208)通过有线连接(260)连接到高速低等待时间数据通信网络(200)。馈送适配器(208)是一种计算机设备,能够将在馈送适配器输入流(214)上接收的具有第一格式的应用消息转换为在馈送适配器输出流(216)上向订阅客户端设备传输的具有第二格式的应用消息。馈送适配器输入流(214)是从馈送源到馈送适配器(208)的消息流。馈送适配器输出流(216)是由流管理服务器(212)管理的从馈送适配器(208)到订阅客户端设备(210)的消息流。
在图2的实例中,馈送适配器(208)在馈送适配器输入流(214)上从馈送源(213)接收应用消息。馈送源(213)是一种计算机设备,能够将数据聚合为应用消息并将所述消息发送至馈送适配器。例如,在金融市场数据环境中,馈送源(213)可以实现为由可选价格报告机构(OptionsPrice Reporting Authority,“OPRA”)控制的馈送源。OPRA是由美国证券买卖交易产生的金融市场信息的证券信息处理器。OPRA所发布的核心信息是最终的销售报告和报价。金融市场数据环境中的馈送源的其他实例可以包括由Consolidated Tape Association(“CTA”)或Nasdaq StockMarket,Inc控制的馈送源。CTA监管在纽约股票交易所和美国股票交易所列出证券的实时交易和报价信息的发布。Nasdaq Stock Market,Inc运作NASDAQ Market CentersM,后者是美国的基于电子屏幕的股票证券市场。在金融市场数据环境中,将馈送适配器输入流称为“金融市场数据馈送”。
图2的馈送适配器(208)上安装有转换模块(220)、转换表(222)、转换功能库(224)、消息库(225)、消息模型(244)、消息传送中间件(276)以及传输引擎(278)。转换模块(220)是一组计算机程序指令,用于将在馈送适配器输入流(214)上接收的具有第一格式的应用消息转换为具有第二格式的应用消息(240),以便在馈送适配器输出流(216)上传输到订阅设备。
转换模块(220)根据转换表(222)将应用消息从第一格式转换为第二格式。图2的转换表(222)是数据结构,该数据结构规定了能够将应用消息从一种格式转换为另一种格式的转换功能。通过使用多个转换表,转换模块(220)可以将消息从多种输入格式转换为多种输出格式。在图2的实例中,转换表(222)规定了能够将从馈送适配器输入流(214)接收的具有第一格式的应用消息转换为具有第二格式的应用消息(240)以便在馈送适配器输出流(216)上传输到订阅客户端设备的转换功能。图2的转换表(222)可以使用结构化文档(例如,可扩展标记语言(“XML”)文档)来实现。
图2的转换功能库(224)是可加载的软件模块,该模块包含一个或多个转换功能,能够将应用消息中的数据字段从一种格式转换为另一种格式,或将数据字段的值从一个值转换为另一个值。包含在转换功能库中的转换功能可以例如将16位整数转换为32位整数、将存储在字符串字段中的数字转换为64位双浮点值、将一个数据字段的值增加1,或是本领域的技术人员将想到的任何其他转换。转换模块(220)通过转换功能库(224)的转换功能暴露的一组转换功能API(226)来访问转换功能。在图2的实例中,转换功能库(224)可以实现为在运行时可用于转换模块(220)的动态链接库、在编译时链接到转换模块(220)的静态链接库、动态加载Java类,或本领域的技术人员将想到的任何其他实施方式。
在图2的实例中,由馈送适配器(208)传输的应用消息(240)具有在消息模型(244)中指定的格式。消息模型(244)是定义用于创建、访问和操纵应用消息(240)(转换自从馈送源(213)接收的应用消息(未示出))的结构和格式的元数据。也就是说,消息模型(244)指定了用于解释应用消息的消息格式并包括一个或多个字段定义。每个字段定义都指定了在应用消息中存储数据的消息字段并包括消息字段的字段特性。在图2的实例中,当流管理服务器(212)代理到订阅客户端设备的消息流时,由流管理服务器(212)在馈送适配器(208)和订阅客户端设备(210)两者上建立消息模型(244)。可以使用结构化文档(如XML文档)、Java对象、C++对象或本领域的技术人员将想到的任何其他实施方式来实现消息模型。
在图2的实例中,转换模块(220)和转换功能库(224)的转换功能使用消息库(225)来处理包含在应用消息(240)中的数据。消息库(225)是软件模块,其包括一组用于根据消息模型(244)来创建、访问和操纵消息(240)的功能。通过消息库(225)暴露的消息API(227),转换模块(220)、转换功能库(224)的转换功能以及消息传送中间件(276)可以访问消息库(225)。
在图2的转换模块(220)对应用消息执行数据处理之前,转换模块(220)从馈送源(213)接收具有第一格式的应用消息(未示出)。图2的转换模块(220)可以通过馈送适配器(208)的接收传输引擎(未示出)来接收源流消息。接收传输引擎是工作在网络堆栈的传输层的软件模块,并且可以根据UDP/IP协议、PGM协议或本领域技术人员将想到的任何其他数据通信协议来实现。接收传输引擎可以将接收的应用消息直接提供给转换模块(220),或提供给消息传送中间件(276),后者又将源流消息提供给转换模块(220)。
在图2的转换模块(220)对从馈送源(213)接收的应用消息执行数据处理之后,转换模块(220)将具有第二格式的应用消息提供给消息传送中间件(276)。图2的消息传送中间件(276)是在馈送适配器(208)、可能存在的任何备用馈送适配器、订阅客户端设备(210)以及馈送源(213)之间提供高可用性服务的软件组件。另外,图2的消息传送中间件(276)包括一组用于根据本发明的实施例在多播消息传送环境中订阅应用消息的计算机程序指令。消息传送中间件(276)通常通过以下操作来根据本发明的实施例在多播消息传送环境中订阅应用消息:接收发布应用消息的通知,并且响应于接收到发布应用消息的通知,增加代表用户对所述应用消息的兴趣的计算机数据元素的值。当代表用户兴趣的值大于零时,消息传送中间件(276)将具有在发布通知中指定的特性的应用消息提供给传输引擎(278)以便传输到订阅客户端设备(210)。消息传送中间件(276)通常从流管理服务器(212)接收发布通知。从转换模块(220)接收提供给传输引擎(278)的应用消息。转换模块(220)通过消息传送中间件(276)暴露的消息传送中间件API(266)来与消息传送中间件(276)交互。
在图2的实例中,馈送适配器(208)还提供了停止在消息流上发布特定应用消息以及停止转换用户不希望发布的消息的能力。也就是说,消息传送中间件(276)还通常通过以下操纵来根据本发明的实施例在多播消息传送环境中订阅应用消息:接收停止发布应用消息的通知,响应于接收到停止发布应用消息的通知,减小代表用户对应用消息的兴趣的计算机数据元素的值,判定代表用户对应用消息的兴趣的计算机数据元素的值是否低于预定阈值,以及如果代表用户对应用消息的兴趣的计算机数据元素的值低于预定阈值,则通知数据提供者停止向消息发送设备提供应用消息。在图2的实例中,将数据提供方实现为馈送源(213)。当由于馈送适配器(208)不再具有任何对应用消息感兴趣的用户而使代表用户兴趣的值低于零时,馈送适配器(208)通知馈送源(213)停止提供应用消息。为了区分由馈送适配器传输的各种类型的消息,馈送适配器可以具有多个值,每个值都代表用户对特定类型的应用消息的兴趣。
图2的传输引擎(278)是工作在由国际标准化组织所提出的OSI协议堆栈的传输和网络层的软件组件。传输引擎(278)在联网的设备之间提供数据通信服务。可以根据UDP/IP协议、PGM协议或任何其他本领域技术人员将想到的数据通信协议来实现传输引擎。传输引擎(278)是软件模块,包括一组用于向订阅客户端设备(210)发送应用消息的计算机程序指令。图2的传输引擎(278)可以通过以下操纵来发送应用消息(240):从消息传送中间件(276)接收应用消息,将消息传送中间件(276)提供的应用消息封装成传输分组,以及通过消息流(280)向订阅客户端设备(210)发送分组。消息传送中间件(276)通过传输引擎(278)暴露的传输API(268)来操作传输引擎(278)。
图2的示例性系统中的订阅客户端设备(210)通过有线连接(264)连接到高速低等待时间数据通信网络(200)。图2的订阅客户端设备(210)是能够订阅由各个馈送适配器发送的消息流的计算机设备。例如,在金融市场数据环境中,订阅客户端设备可以订阅行情,以便在消息流(由金融证券代理商控制的馈送适配器提供)上接收特定证券的出价和要价。
在图2的实例中,订阅客户端设备(210)上安装有应用(238)、消息库(248)、消息模型(244)、消息传送中间件(252)、流管理库(272)以及传输引擎(256)。应用(238)是处理从馈送适配器(208)接收的应用消息(240)中包含的数据的软件组件。应用(238)可以处理数据以供订阅客户端设备(210)自身使用、将所述数据提供给另一个馈送适配器、或将所述数据用于其他设备。在金融市场数据环境中,安装在订阅客户端设备上的应用可以是根据包含在行情中的报价来买卖金融证券的程序交易应用。所述应用还可以是增值应用,其向行情提供诸如特定证券的最佳买卖价格(通常未包含在馈送源(213)提供的行情中)之类的信息。然后,订阅客户端设备可以将该行情发送给馈送适配器以重新销售给其他订阅客户端设备。
应用(238)使用消息库(248)来处理包含在应用消息(240)中的数据。消息库(248)是包含一组功能的软件模块,所述功能用于根据安装在馈送适配器(208)和订阅客户端设备(210)两者上的消息模型(244)来创建、访问和操纵消息(240)。应用(238)可通过消息库(248)暴露的消息API(250)来访问消息库(248)。
订阅客户端设备(210)与流管理服务器(212)之间的通信可以使用流管理库(272)来实现。流管理库(272)是一组包含在动态链接库或静态链接库中的功能,所述库通过流管理库API(274)而可用于应用(238)。通过流管理库(272),图2的订阅客户端设备(210)可以请求订阅来自馈送适配器的消息、修改现有的消息订阅或取消订阅。流管理库(272)包括一组用于根据本发明的实施例在消息传送环境中订阅应用消息的计算机程序指令。流管理库(272)通常通过以下操作来根据本发明的实施例在消息传送环境中订阅应用消息:请求流管理服务器(212)初始化来自消息发送设备(208)的应用消息的消息订阅,在消息接收设备中从流管理服务器(212)接收来自消息发送设备(208)的多播消息流(280)的数据通信端点,在数据通信端点处开始监听应用消息,以及在开始监听应用消息之后,通知消息发送设备(208)在数据通信端点处发布应用消息。当流管理库(272)接收数据通信端点时,流管理库(272)除了接收数据通信端点以外,还可以接收一个或多个备选数据通信端点。
流管理库(272)也通常通过以下操作来根据本发明的实施例在消息传送环境中订阅应用消息:通知消息发送设备在数据通信端点处停止发布应用消息,请求流管理服务器关闭消息订阅。由应用(238)使用的流管理库(272)的功能可以通过调用CORBA对象的成员方法、使用Java远程方法调用(“RMI”)API调用远程对象的成员方法、使用Web服务,或本领域的技术人员将想到的任何其他通信实施方式来通过网络(200)与流管理服务器(212)通信。
“CORBA”指公共对象请求代理体系结构,其是对象管理组(“OMG”)提出的用于可互操作企业应用的计算机工业规范。CORBA是由OMG于1991年首次发布的用于远程过程调用的标准。CORBA可以被认为是一种进行远程过程调用的面向对象的方法,尽管CORBA支持在传统RPC中并不存在的特性。CORBA使用说明性语言(接口定义语言(“IDL”))来描述对象的接口。IDL中的接口描述被编辑以生成用于客户端侧的“存根”和用于服务器侧的“构架”。使用此生成的代码,在面向对象的编程语言(如C++或Java)中实现的远程方法调用看起来像本地对象中的本地成员方法的调用。
JavaTM远程方法调用API是用于执行由Sun MicrosystemsTM发布的远程过程调用的Java应用编程接口。JavaTM RMI API是一种在存在于单独JavaTM虚拟机(通常在单独的计算机上运行)中的Java对象之间进行远程过程调用的面向对象的方法。JavaTM RMI API使用远程过程对象接口来描述位于服务器上的远程对象。在RMI注册表(其中Java客户端可以获得对远程Java对象的远程接口的引用)中发布远程过程对象接口。通过使用编辑的用于客户端侧的“存根”和用于服务器侧的“构架”来提供网络连接操作,JavaTM RMI允许Java客户端像任何其他本地Java对象那样来访问远程Java对象。
在应用(238)处理包含在应用消息(240)中的数据之前,应用(238)从消息传送中间件(252)接收消息(240),消息传送中间件(252)又通过传输引擎(256)从馈送适配器(208)接收应用消息(240)。消息传送中间件(252)是在订阅客户端设备(210)、馈送适配器(208)、任何备用馈送适配器,以及流管理模块(212)之间提供高可用性服务的软件组件。消息传送中间件(252)通过从流管理库(272)接收消息流(280)的数据通信端点和一个或多个备选端点来提供此类高可用性服务。消息传送中间件(252)包括一组用于通过以下操作来根据本发明的实施例在多播消息传送环境中订阅应用消息的计算机程序指令:标识数据通信端点的故障状况,以及响应于所述故障状况,从在数据通信端点处监听应用消息切换至在备选数据通信端点之一处监听应用消息。应用(238)和流管理库(272)通过消息传送中间件API(254)来与消息传送中间件(252)交互。
图2的传输引擎(256)是工作在由国际标准化组织提出的OSI协议堆栈的传输和网络层中的软件组件。传输引擎(256)在联网设备之间提供数据通信服务。可以根据UDP/IP协议、PGM协议或本领域技术人员想到的任何其他数据通信协议来实现传输引擎。传输引擎(256)是用于从馈送适配器(208)接收应用消息(240)的软件组件。传输引擎(256)通过以下操作来接收应用消息(240):通过消息流(280)从馈送适配器(208)接收传输分组,从接收的分组中解封装应用消息(240),以及向订阅客户端设备(210)的消息传送中间件(252)提供应用消息(240)。在图2的实例中,消息传送中间件(252)通过传输引擎(256)暴露的传输API(258)来操作传输引擎(256)。
在图2的示例性系统中示出的服务器和其他设备是用于说明而非进行限制。用于在多播消息传送环境中订阅应用消息的设备可以使用通用计算机来实现,例如,计算机服务器或工作站、手持计算机设备如个人数字助理(“PDA”)或移动电话,或本领域技术人员所想到的任何其他根据本发明实施例的用于数据处理的自动化计算机器。
构成图2中所示的示例性系统的服务器和其他设备的布置是用于说明而非进行限制。尽管到图2的网络(200)的连接是以有线连接来示出和描述的,但是读者将注意到,根据本发明的各种实施例,还可以使用无线连接。此外,用于根据本发明的各种实施例的数据处理系统可以包括本领域技术人员将想到的未在图2中示出的额外服务器、路由器、其他设备和对等体系结构。此类数据处理系统中的网络可以支持多种数据通信协议,包括例如传输控制协议(“TCP”)、网际协议(“IP”)、超文本传输协议(“HTTP”)、无线接入协议(“WAP”)、手持设备传输协议(“HDTP”)以及其他本领域技术人员将想到的协议。除了图2中示出的以外,本发明的各种实施例还可以在多种硬件平台上实现。
在一些实施例中,根据本发明的在多播消息传送环境中订阅应用消息可以使用一个或多个消息接收没备、流管理服务器和消息发送设备来实现。这些设备和服务器又在某种程度上至少可以作为计算机(即,自动化计算机器)来实现。因此,为了进一步说明,图3示出了根据本发明的实施例的包括在多播消息传送环境中订阅应用消息中使用的示例性消息接收设备(300)的自动化计算机器的方块图。图3的消息接收设备(300)包括至少一个计算机处理器(156)或“CPU”,以及随机存取存储器(168)(“RAM”),随机存取存储器(168)通过高速存储器总线(166)和总线适配器(158)连接到处理器(156)和消息接收设备的其他组件。
存储在RAM(168)中的是应用(238)、消息(240)、消息模型(244)、消息库(248)、消息传送中间件(252)、流管理库(272)和传输引擎(256)。每个应用消息(240)都是一定量的包括一个或多个数据字段的数据,并在消息流上从一个设备发送至另一个设备。如上所述,消息可以代表数字或文本信息、图像、加密信息、计算机程序指令等。例如,在金融市场数据环境中,消息通常被称为“行情”并代表诸如金融报价或金融新闻之类的金融市场数据。可以使用结构化文档(如XML文档)、Java对象、C++对象或任何其他本领域技术人员将想到的实施方式来实现每个应用消息(240)。消息模型(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的示例性消息接收设备(300)包括总线适配器(158)、包含用于高速总线的驱动电子设备的计算机硬件组件、前端总线(162)、视频总线(164)和存储器总线(166),以及用于较慢的扩展总线(160)的驱动电子设备。根据本发明实施例的用于消息接收设备的总线适配器的实例包括Intel北桥、Intel存储器控制器集线器、Intel南桥以及Intel I/O控制器集线器。根据本发明实施例的用于消息接收设备中的扩展总线的实例可以包括外围组件互连(“PCI”)总线和PCI Express(“PCIe”)总线。
图3的示例性消息接收设备(300)还包括盘驱动器适配器(172),其通过扩展总线(160)和总线适配器(158)与示例性消息接收设备(300)的处理器(156)和其他组件相连。盘驱动器适配器(172)以盘驱动器(170)的方式将非易失性数据存储装置连接到示例性消息接收设备(300)。用于消息接收设备中的盘驱动器适配器包括集成驱动器电子设备(“IDE”)适配器、小型计算机系统接口(“SCSI”)适配器,以及本领域技术人员将想到的其他适配器。另外,对于消息接收设备,非易失性计算机存储器可以实现为光盘驱动器、电可擦除可编程只读存储器(所谓的“EEPROM”或“闪速”存储器)、RAM驱动器等,如本领域的技术人员将想到的。
图3的示例性消息接收设备(300)包括一个或多个输入/输出(“I/O”)适配器(178)。消息接收设备中的I/O适配器通过例如软件驱动器和计算机硬件来实现面向用户的输入/输出,以便控制到显示设备(如计算机显示屏)的输出以及来自用户输入设备(181)(如键盘和鼠标)的用户输入。图3的示例性消息接收设备(300)包括视频适配器(209),后者是专用于向显示设备(180)(如显示屏或计算机监视器)进行图形输出的I/O适配器的一个实例。视频适配器(209)通过高速视频总线(164)、总线适配器(158)和前端总线(162)(其也是高速总线)连接到处理器(156)。
图3的示例性消息接收设备(300)包括用于与其他计算机(182)进行数据通信以及与高速低等待时间数据通信网络(200)进行数据通信的通信适配器(167)。可以串行地通过RS-232连接、通过如通用串行总线(“USB”)之类的外部总线、通过如IP数据通信网络之类的数据通信网络以及本领域技术人员将想到的其他方式来实现此类数据通信。通信适配器实现硬件级别的数据通信,通过通信适配器,一台计算机直接地或通过数据通信网络向另一台计算机发送数据通信。用于根据本发明实施例的在多播消息传送环境中订阅应用消息的通信适配器的实例包括用于有线拨号通信的调制解调器、用于有线数据通信网络通信的IEEE 802.3以太网适配器,以及用于无线数据通信网络通信的IEEE 802.11b适配器。
尽管参考示例性消息接收设备讨论了图3,但是读者应注意到,用于实现根据本发明实施例的用于在多播消息传送环境中订阅应用消息的示例性流管理服务器和示例性消息发送设备的自动化计算机器与图3的示例性消息接收设备(300)是类似的。也就是说,此类示例性流管理服务器和馈送适配器包括一个或多个处理器、总线适配器、总线、RAM、视频适配器、通信适配器、I/O适配器、盘驱动器适配器以及其他本领域技术人员将想到的与图3的示例性消息接收设备(300)类似的组件。
为了进一步说明,图4是示出了根据本发明的实施例的在多播消息传送环境中订阅应用消息的示例性方法的流程图。图4的方法包括由消息接收设备请求流管理服务器(400)初始化来自消息发送设备的应用消息的消息订阅。消息接收设备可以通过向流管理服务器发送订阅初始化请求(402)来请求(400)流管理服务器初始化来自消息发送设备的应用消息的消息订阅。订阅初始化请求(402)可以作为XML文档、对消息接收设备上的RMI对象的成员方法调用,或任何其他本领域技术人员将想到的实施方式来实现。例如,考虑以下实现为RMI对象的成员方法的示例性订阅初始化请求:
endpoint*initialize_subscription(string topic);
示例性功能“initialize_subscription”,指示流管理服备器初始化应用消息(具有由“topic”的值定义的特性)的消息订阅。示例性功能“initialize_subscription”向计算机存储器地址(该处存在代表数据通信端点的数据结构)返回指针。读者应注意,上述示例性功能是为了说明而不是进行限制。实际上,本领域技术人员将想到的其他示例性功能也可以用于根据本发明实施例的在多播消息传送环境中订阅应用消息。
图4的订阅初始化请求(402)包括消息接收设备请求从消息发送设备接收的应用消息的主题(414)。主题代表消息接收设备请求接收的消息的特性。每个应用消息通常都包括描述包含在应用消息中的信息的主题数据字段。通过使用主题,消息接收设备可以指定该消息接收设备请求从消息发送设备接收的消息的组。例如,在金融市场数据环境中,消息接收设备可以使用主题来请求从OPRA馈送源接收行情,该行情包含在芝加哥期权交易所(“CBOE”)上交易的IBM期权的报价,其包括在CBOE上的IBM期权的最佳买卖价格。
图4的订阅初始化请求(402)还包括用于消息接收设备的安全证书(416)。作为初始化消息订阅的一部分,流管理服务器通常对消息接收设备的身份进行认证,并判定消息接收设备是否被授权接收所请求的应用消息。安全证书(416)可以实现为公共密钥基础设施中的数字签名、安全令牌或本领域技术人员将想到的任何其他用于对订阅初始化请求(402)的发起者的身份进行认证的安全数据。安全令牌的实例可以包括在由IBM,Microsoft和VeriSign开发的名为“Web服务安全”(“WS-Security”)的Web服务规范或由IBM,Microsoft,VeriSign,OpenNetworks,Layer7,Computer Associates,BEA,Oblix,Reactivity,RSA Security,PingIdentity和Actional开发的名为“Web服务信任语言”(“WS-Trust”)的Web服务规范中描述的那些安全令牌。
如果流管理服务器判定消息接收设备被授权接收所请求的应用消息,则流管理服务器然后可以继续对订阅初始化请求(402)中指定的应用消息的消息订阅进行初始化。也就是说,流管理服务器可以创建或修改流管理服务器中用于管理消息订阅的数据结构,并在流管理服务器上启动用于执行消息订阅管理的过程。流管理服务器还可以标识和操纵用于管理消息发送设备的服务提供方,从一个或多个消息发送设备获得网络地址(消息发送设备将向其发送在订阅初始化请求(402)中指定的应用消息),以及执行任何其他本领域技术人员将想到的订阅初始化。
图4的方法还包括在消息接收设备中从流管理服务器接收(404)来自消息发送设备的多播消息流的数据通信端点(406)。数据通信端点(406)代表包括网络地址(消息接收设备可以在该处监听来自消息发送设备的应用消息)的数据结构。如上所述,流管理服务器通常获取消息接收设备可以在该处监听来自消息发送设备的应用消息的网络地址。图4的通信端点(406)可以根据UDP/IP协议、PGM协议或任何其他本领域技术人员将会想到的数据通信协议来实现。
图4的方法还包括由消息接收设备开始在数据通信端点(406)处监听(408)应用消息。消息接收设备可以通过调用安装在消息接收设备(开始在端点(406)处监听应用消息)上的传输引擎的传输引擎API的功能,来开始根据图4的方法在数据通信端点(406)处监听(408)应用消息。考虑以下用于根据本发明实施例在多播消息传送环境中订阅应用消息的示例性功能:
buffer*transport_listen (int endpoint_ID);
示例性功能“transport_listen”指示消息接收设备的传输引擎在由“endpoint_ID”的值标识的数据通信端点处监听应用消息。示例性功能“transport_listen”返回计算机存储器中用于缓冲器的地址,传输引擎将通过数据通信端点接收的应用消息放置在该缓冲器中。读者将注意到,上述示例性功能是为了说明而不是为了进行限制。实际上,本领域技术人员将想到的其他示例性功能也可以用于根据本发明实施例的在多播消息传送环境中订阅应用消息。
图4的方法还包括在开始监听应用消息之后,由消息接收设备通知(410)消息发送设备在数据通信端点处发布应用消息。在开始监听应用消息之后,消息接收设备可以通过向流管理服务器发送消息发布通知(412),来通知(410)消息发送设备根据图4的方法在数据通信端点处发布应用消息。流管理服务器随后又可以指示消息发送设备在数据通信端点(406)中指定的网络地址处发布消息。消息发布通知(412)可以实现为XML文档、对消息接收设备上的RMI对象的成员方法的调用,或任何其他本领域技术人员将想到的实施方式。读者将注意到,在消息接收设备开始监听应用消息之后通知消息发送设备发布应用消息,有利地确保了消息接收设备不会丢失在初始化订阅后发送的第一个消息。
通常在多播消息传送环境中,会在消息发送设备上产生故障,这会阻止设备正确地向消息接收设备发送应用消息。当发生此类故障时,消息接收设备可以从在一个数据通信端点处监听来自故障消息发送设备的应用消息切换为在备选数据通信端点处监听来自另一个消息发送设备的应用消息。因此,为了进一步说明,图5是示出了根据本发明实施例的在多播消息传送环境中订阅应用消息的进一步示例性方法的流程图,所述方法包括响应于故障状况(506),消息接收设备从在数据通信端点(406)处监听应用消息切换为(508)在备选数据通信端点(502)处监听应用消息。
图5的方法与图4的方法类似。也就是说,图5的方法包括:消息接收设备请求(400)流管理服务器初始化来自消息发送设备的应用消息的消息订阅;在消息接收设备中从流管理服务器接收(404)来自消息发送设备的多播消息流的数据通信端点(406);消息接收设备开始在数据通信端点处监听(408)应用消息;以及在开始监听应用消息之后,由消息接收设备通知(410)消息发送设备在数据通信端点处发布应用消息。图5的实例还与图4的实例的类似之处在于,图5的实例包括订阅初始化请求(402)和消息发布通知(412)。
在图5的方法中,从消息发送设备接收(404)多播消息流的数据通信端点(406)包括除了接收数据通信端点以外,还接收(500)一个或多个备选数据通信端点(502)。每个备选数据通信端点(502)都代表包括网络地址的数据结构,消息接收设备将在所述地址处监听来自备选消息发送设备的应用消息。如上所述,流管理服务器通常获取消息接收设备可以在该处监听来自备选消息发送设备的应用消息的网络地址。图4的数据通信端点(406)可以根据UDP/IP协议、PGM协议或任何其他本领域技术人员将想到的数据通信协议来实现。
图5的方法还包括由消息接收设备标识(504)数据通信端点(406)的故障状况(506)。故障状况(506)代表数据通信终端(406)的一组约束,其指示消息接收设备何时应切换至备选端点(502)。例如,如果在一段预定时间之后,没有从端点(406)接收到消息,则故障状况(506)可以指定消息接收设备应切换到备选端点。为了进一步说明,当消息接收设备从消息发送设备接收到故障通知消息时,故障状况(506)可以指定消息接收设备应切换至备选端点。消息接收设备可以通过定期判定是否出现数据通信端点(406)的故障状况(506)的约束条件,来根据图5的方法确定(504)数据通信端点(406)的故障状况(506)。如果出现故障状况(506)的任何约束条件,则消息接收设备确定了故障状况(506)。
图5的方法还包括响应于故障状况(506),消息接收设备从在数据通信端点(406)处监听应用消息切换为(508)在备选数据通信端点(502)之一处监听应用消息。所述消息接收设备可以通过以下操纵来根据图5的方法从在数据通信端点(406)处监听应用消息切换(508)为在备选数据通信端点(502)之一处监听应用消息:调用来自安装在消息接收设备上的传输引擎的传输引擎API的功能,所述功能停止在端点(406)处监听应用消息并开始在备选端点(502)之一处监听应用消息。例如,考虑以下示例性的用于根据本发明实施例在多播消息传送环境中订阅应用消息的功能:
void transport_stop_listen(int endpoint_ID);
buffer*transport_listen(int endpoint_ID);
示例性功能“transport_stop_listen”指示消息接收设备的传输引擎停止在由“endpoint_ID”的值标识的数据通信端点处监听应用消息。如上所述,示例性功能“transport_listen”指示消息接收设备的传输引擎在由“endpoint_ID”的值标识的数据通信端点处监听应用消息。示例性功能“transport_listen”返回计算机存储器中用于缓冲器的地址,传输引擎将通过数据通信端点接收的应用消息放置在该缓冲器中。读者将注意到,上述示例性功能是为了说明而不是为了进行限制。实际上,本领域技术人员将想到的其他示例性功能也可以用于根据本发明实施例的在多播消息传送环境中订阅应用消息。
在金融市场数据环境中,消息发送设备通常实现为馈送适配器,所述馈送适配器能够将来自馈送源的具有第一格式的应用消息转换为具有第二格式的应用消息,以便传输到诸如订阅客户端设备的消息接收设备。运行馈送适配器的金融成本很大程度上取决于馈送适配器从馈送源接收的应用消息的数量。因此,馈送适配器仅接收该馈送适配器已订阅的应用消息是有利的。这样,馈送适配器监视由馈送适配器发送的每种类型的应用消息的用户数量。因此,为了进一步说明,图6是示出了根据本发明实施例的在多播消息传送环境中订阅应用消息的进一步示例性方法的流程图,所述方法包括响应于接收到发布应用消息的通知(412),消息发送设备增加(602)代表用户对应用消息的兴趣的计算机数据元素的值(604)。
图6的方法与图4的方法类似。也就是说,图6的方法包括:消息接收设备请求(400)流管理服务器初始化来自消息发送设备的应用消息的消息订阅;在消息接收设备中从流管理服务器接收(404)来自消息发送设备的多播消息流的数据通信端点(406);消息接收设备开始在数据通信端点处监听(408)应用消息;以及在开始监听应用消息之后,消息接收设备通知(410)消息发送设备在数据通信端点(406)处发布应用消息。图6的实例还与图4的实例的类似之处在于:图6的实例包括订阅初始化请求(402)和消息发布通知(412)。
图6的方法还包括在消息发送设备中接收(600)发布应用消息的通知(412)。消息发送设备可以通过消息管理服务器从消息发送设备或直接从消息发送设备自身来接收(600)消息发布通知(412)。通常,流管理服务器或消息发送设备通过可管理的数据通信连接来向消息发送设备发送消息发布通知(412),该数据通信连接使用UDP/IP、TCP/IP或任何其他本领域技术人员将想到的数据通信协议来实现。
图6的方法还包括响应于接收到发布应用消息的通知(412),消息发送设备增加(602)代表用户对应用消息的兴趣的计算机数据元素的值(604)。消息发送设备可以根据图6的方法,通过为每个接收的消息发布通知(412)将值(604)递增1来增加(602)值(604)。通过使用值(604),消息发送设备可以监视由设备所发送的应用消息的用户的数量。
图6的方法描述了消息发送设备对接收消息发布通知的响应。现在转到图7:图7描述了消息发送设备对接收到停止发布应用消息的通知的响应。因此,图7是示出了根据本发明实施例的在多播消息传送环境中订阅应用消息的进一步示例性方法的流程图,所述方法包括:消息接收设备通知(700)消息发送设备在数据通信端点处停止发布应用消息。消息接收设备可以通过向流管理服务器发送停止发布通知(702)来根据图7的方法通知(700)消息发送设备在数据通信端点处停止发布应用消息。流管理服务器然后又可以指示消息发送设备停止在数据通信端点中指定的网络地址处发布消息。停止发布通知(702)可以使用XML文档、对消息接收设备上的RMI对象的成员方法的调用,或任何其他本领域技术人员将想到的实施方式来实现。
图7的方法还包括在消息发送设备中接收(704)停止发布应用消息的通知(702)。消息发送设备可以通过消息管理服务器从消息发送设备或直接从消息发送设备自身来接收(704)停止发布通知(702)。通常,流管理服务器或消息发送设备通过可管理的数据通信连接来向消息发送设备发送停止发布通知(702),所述数据通信连接使用UDP/IP、TCP/IP或任何其他本领域技术人员将想到的数据通信协议来实现。
图7的方法包括响应于接收到停止发布应用消息的通知,消息发送设备减小(706)代表用户对应用消息的兴趣的计算机数据元素的值(604)。消息发送设备可以根据图7的方法,通过为每个接收的停止发布通知(412)将值(604)递减1来减小(706)值(604)。
图7的方法还包括由消息发送设备判定(710)代表用户对应用消息的兴趣的计算机数据元素的值(604)是否低于预定阈值(712)。预定阈值(712)代表用于确定消息发送设备应何时通知数据提供者停止提供应用消息的值。通常,将预定阈值(712)设置为1。消息发送设备可以通过将值(604)与预定阈值(712)相比较来判定(710)值(604)是否低于预定阈值(712)。如果值(604)小于预定阈值(712),则值(604)低于预定阈值(712)。如果值(604)大于或等于预定阈值(712),则值(604)不低于预定阈值(712)。
图7的方法包括如果代表用户对应用消息的兴趣的计算机数据元素的值(604)低于预定阈值(712),则消息发送设备通知(714)数据提供者停止向消息发送设备提供应用消息。消息发送设备可以根据图7的方法,通过向数据提供者发送停止数据通知(716)来通知(714)数据提供者停止向数据发送设备提供应用消息。消息发送设备通常通过管理消息流向数据提供者发送停止数据通知(716),该管理消息流使用UDP/IP、TCP/IP或任何其他本领域技术人员将想到的数据通信连接来实现。停止数据通知(716)可以作为XML文档、对消息发送设备上的RMI对象的成员方法的调用,或任何其他本领域技术人员将想到的实施方式来实现。读者将注意到,在代表用户对应用消息的兴趣的计算机数据元素的值(604)低于预定阈值(712)的情况下通知(714)数据提供者停止向消息发送设备提供应用消息,有利地防止了消息发送设备要求重传消息接收设备未订阅的应用消息。
图7的方法还包括消息接收设备请求(718)流管理服务器关闭消息订阅,而不管值(604)是否低于预定阈值(712)。消息接收设备可以根据图7的方法,在通知消息发送设备停止发布应用消息之后,请求(718)流管理服务器关闭消息订阅。根据图7的方法的请求(718)流管理服务器关闭消息订阅使流管理服务器能够重新分配任何用于初始化和管理消息接收设备的消息订阅的计算机资源。
消息接收设备可以通过调用安装在消息接收设备上的流管理库的关闭消息订阅的API的功能,而根据图7的方法来请求(718)流管理服务器关闭消息订阅。例如,考虑以下示例性的用于根据本发明实施例在多播消息传送环境中订阅应用消息的功能:
void close_subscription(int subscription_ID);
示例性助能“close_suhscription”指示流管理服务器关闭由“subscription_ID”的值标识的消息订阅。示例性功能“close_subscription”可以是在消息接收设备上实例化的远程Java RMIM对象或CORBA对象的一部分。读者将注意到,上述示例性功能是用于说明而不是进行限制。实际上,本领域技术人员将想到的其他示例性功能也可以用于根据本发明的实施例在多播消息传送环境中订阅应用消息。
鉴于本文的上述说明,读者将认识到,根据本发明实施例的在多播消息传送环境中订阅应用消息将提供以下益处:
·在多播消息传送环境中初始化订阅后,防止消息接收设备丢失所发送的第一个消息的增强的能力,以及
·防止消息发送设备要求重传消息发送设备未订阅的应用消息的能力。
主要在用于在多播消息传送环境中订阅应用消息的完整功能计算机系统的上下文中描述了本发明的示例性实施例。但是,本领域的读者将认识到,本发明也可以包含在计算机程序产品中,所述计算机程序产品布置在与任何适当数据处理系统一起使用的信号承载介质上。此类信号承载介质可以是用于机器可读信息的传输介质或可记录介质,包括磁介质、光介质或其他合适的介质。可记录介质的实例包括硬盘驱动器中的磁盘或软盘、用于光学驱动器的光盘、磁带和本领域技术人员将想到的其他介质。传输介质的实例包括用于语音通信的电话网和数字数据通信网络,例如EthernetsTM和使用网际协议和万维网通信的网络,以及无线传输介质,例如根据IEEE 802.11规范族实现的网络。本领域的技术人员将立即认识到,任何具有合适的编程装置的计算机系统都能够执行包含在程序产品中的本发明的方法的步骤。本领域的技术人员将很快认识到,尽管在说明书中描述的一些示例性实施例面向安装在计算机硬件上并在其上执行的软件,但是作为固件或硬件实现的备选实施例也在本发明的范围之内。
从前面的描述应当理解,可以对本发明的各个实施例进行修改和更改而不偏离本发明的真实精神。本说明书中的描述只是出于示例并且不应在限制的意义上理解。本发明的范围仅由以下权利要求的语言来限定。

Claims (13)

1.一种在多播消息传送环境中订阅应用消息的方法,所述方法包括:
由消息接收设备请求流管理服务器初始化对来自消息发送设备的应用消息的消息订阅;
在所述消息接收设备中从所述流管理服务器接收来自所述消息发送设备的多播消息流的数据通信端点;
由所述消息接收设备开始在所述数据通信端点处监听所述应用消息;以及
在开始监听所述应用消息之后,由所述消息接收设备通知所述消息发送设备在所述数据通信端点处发布所述应用消息。
2.根据权利要求1所述的方法,其中接收数据通信端点进一步包括除了接收所述数据通信端点以外,还接收一个或多个备选数据通信端点,并且所述方法还包括:
由所述消息接收设备标识所述数据通信端点的故障状况;
响应于所述故障状况,所述消息接收设备从在所述数据通信端点处监听所述应用消息切换为在所述备选数据通信端点之一处监听所述应用消息。
3.根据权利要求1所述的方法,还包括:
在所述消息发送设备中接收发布所述应用消息的通知;以及
响应于接收到所述发布应用消息的通知,由所述消息发送设备增加代表用户对所述应用消息的兴趣的计算机数据元素的值。
4.根据权利要求1所述的方法,还包括由所述消息接收设备通知所述消息发送设备停止在所述数据通信端点处发布所述应用消息。
5.根据权利要求1所述的方法,还包括:
在所述消息发送设备中接收停止发布应用消息的通知;
响应于接收到所述停止发布应用消息的通知,所述消息发送设备减小代表用户对所述应用消息的兴趣的计算机数据元素的值;
所述消息发送设备判定所述代表用户对所述应用消息的兴趣的计算机数据元素的值是否低于预定阈值;以及
如果所述代表用户对所述应用消息的兴趣的计算机数据元素的值低于所述预定阈值,则所述消息发送设备通知数据提供者停止向所述消息发送设备提供所述应用消息。
6.根据权利要求1所述的方法,还包括由所述消息接收设备请求所述流管理服务器关闭所述消息订阅。
7.根据权利要求1所述的方法,其中所述应用消息包括金融市场数据。
8.一种在多播消息传送环境中订阅应用消息的系统,所述系统包括一个或多个计算机处理器、可操作地连接到所述一个或多个计算机处理器的计算机存储器,所述计算机存储器中布置有计算机程序指令,所述计算机程序指令能够执行以下步骤:
由消息接收设备请求流管理服务器初始化对来自消息发送设备的应用消息的消息订阅;
在所述消息接收设备中从所述流管理服务器接收来自所述消息发送设备的多播消息流的数据通信端点;
由所述消息接收设备开始在所述数据通信端点处监听所述应用消息;以及
在开始监听所述应用消息之后,由所述消息接收设备通知所述消息发送设备在所述数据通信端点处发布所述应用消息。
9.根据权利要求8所述的系统,还包括能够执行以下步骤的计算机程序指令:
在所述消息发送设备中接收发布所述应用消息的通知;以及
响应于接收到所述发布应用消息的通知,由所述消息发送设备增加代表用户对所述应用消息的兴趣的计算机数据元素的值。
10.根据权利要求8所述的系统,还包括能够执行以下步骤的计算机程序指令:由所述消息接收设备通知所述消息发送设备停止在所述数据通信端点处发布所述应用消息。
11.根据权利要求8所述的系统,还包括能够执行以下步骤的计算机程序指令:
在所述消息发送设备中接收停止发布应用消息的通知;
响应于接收到所述停止发布应用消息的通知,所述消息发送设备减小代表用户对所述应用消息的兴趣的计算机数据元素的值;
所述消息发送设备判定所述代表用户对所述应用消息的兴趣的计算机数据元素的值是否低于预定阈值;以及
如果所述代表用户对所述应用消息的兴趣的计算机数据元素的值低于所述预定阈值,则所述消息发送设备通知数据提供者停止向所述消息发送设备提供所述应用消息。
12.根据权利要求8所述的系统,还包括能够执行以下步骤的计算机程序指令:由所述消息接收设备请求所述流管理服务器关闭所述消息订阅。
13.根据权利要求8所述的系统,其中接收数据通信端点进一步包括除了接收所述数据通信端点以外,还接收一个或多个备选数据通信端点,所述系统还包括能够执行以下步骤的计算机程序指令:
由所述消息接收设备标识所述数据通信端点的故障状况;
响应于所述故障状况,所述消息接收设备从在所述数据通信端点处监听所述应用消息切换为在所述备选数据通信端点之一处监听所述应用消息。
CN2007101999639A 2006-12-12 2007-11-14 在多播消息传送环境中订阅应用消息的方法和系统 Active CN101202642B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/609,604 2006-12-12
US11/609,604 US8850451B2 (en) 2006-12-12 2006-12-12 Subscribing for application messages in a multicast messaging environment

Publications (2)

Publication Number Publication Date
CN101202642A true CN101202642A (zh) 2008-06-18
CN101202642B CN101202642B (zh) 2010-10-13

Family

ID=39499866

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007101999639A Active CN101202642B (zh) 2006-12-12 2007-11-14 在多播消息传送环境中订阅应用消息的方法和系统

Country Status (2)

Country Link
US (1) US8850451B2 (zh)
CN (1) CN101202642B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110998554A (zh) * 2017-06-14 2020-04-10 思杰系统有限公司 实时的基于云的消息传递系统
CN113193974A (zh) * 2021-07-02 2021-07-30 深圳华云信息系统有限公司 基于组播的行情信息推送方法、系统、设备及介质

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100906109B1 (ko) * 2007-06-20 2009-07-07 엔에이치엔(주) 3a 기반의 다양한 어플리케이션 상태를 제공하는유비쿼터스 프리젠스 서비스 방법 및 시스템
US8171147B1 (en) * 2008-02-20 2012-05-01 Adobe Systems Incorporated System, method, and/or apparatus for establishing peer-to-peer communication
US8793709B2 (en) * 2008-11-20 2014-07-29 SAP France S.A. Dynamic data coordination between multiple applications
US10110631B2 (en) * 2009-02-12 2018-10-23 International Business Machines Corporation Introducing encryption, authentication, and authorization into a publication and subscription engine
US8825779B2 (en) * 2012-02-02 2014-09-02 Dialogic, Inc. Systems and methods of real-time data subscription and reporting for telecommunications systems and devices
US9524197B2 (en) * 2012-09-06 2016-12-20 Accedian Networks Inc. Multicasting of event notifications using extended socket for inter-process communication
US20140123157A1 (en) * 2012-10-31 2014-05-01 Nokia Corporation Method and apparatus for providing application notifications
US9191209B2 (en) 2013-06-25 2015-11-17 Google Inc. Efficient communication for devices of a home network
US9531704B2 (en) 2013-06-25 2016-12-27 Google Inc. Efficient network layer for IPv6 protocol
US9992258B2 (en) * 2015-01-13 2018-06-05 Whatsapp Inc. Techniques for managing a remote web client from an application on a mobile device
US10498835B2 (en) * 2015-11-10 2019-12-03 Avanan Inc. Cloud services discovery and monitoring
JP6646214B2 (ja) * 2016-02-10 2020-02-14 富士通株式会社 情報処理システム、情報処理装置、情報処理方法および情報処理プログラム
CN110968439B (zh) * 2019-11-28 2020-12-15 蜂助手股份有限公司 系统间的消息通知方法、装置、服务器、系统及存储介质
US12020090B2 (en) * 2020-11-04 2024-06-25 International Business Machines Corporation Sharing data structure values between software applications

Family Cites Families (104)

* Cited by examiner, † Cited by third party
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
EP1051694A1 (en) * 1998-01-26 2000-11-15 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
AU2001236689A1 (en) * 2000-02-07 2001-08-14 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
EP1504385A4 (en) 2001-12-05 2008-12-03 Xchange Advantage Inc E 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
WO2004015504A1 (en) 2002-08-07 2004-02-19 Kryptiq Corporation 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
WO2004073278A1 (en) * 2003-02-14 2004-08-26 Research In Motion Limited System and method of compact messaging in network communications
US20040205048A1 (en) * 2003-03-28 2004-10-14 Pizzo Michael J. Systems and methods for requesting and receiving database change notifications
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
US20040255302A1 (en) * 2003-06-10 2004-12-16 Nokia Corporation Systems and methods for content and service registration, query and subscription, and notification across local service discovery domains
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
US20050222931A1 (en) 2003-08-27 2005-10-06 Ascential Software Corporation Real time data integration services for financial information data integration
US7225195B2 (en) * 2003-08-27 2007-05-29 Gil Avrahami Method for a dynamic information messaging system
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
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
AU2005253141A1 (en) * 2004-06-07 2005-12-22 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
CA2594267C (en) * 2005-01-06 2012-02-07 J. Barry Thompson End-to-end publish/subscribe middleware architecture
CA2594036A1 (en) * 2005-01-06 2006-07-13 Tervela, Inc. Intelligent messaging application programming interface
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
JP4666308B2 (ja) * 2006-02-24 2011-04-06 富士通セミコンダクター株式会社 半導体装置の製造方法
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
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
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
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
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
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
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
US7917912B2 (en) 2007-03-27 2011-03-29 International Business Machines Corporation Filtering application messages 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
US20090006559A1 (en) * 2007-06-27 2009-01-01 Bhogal Kulvir S Application Message Subscription Tracking In A High Speed, Low Latency Data Communications Environment

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110998554A (zh) * 2017-06-14 2020-04-10 思杰系统有限公司 实时的基于云的消息传递系统
CN110998554B (zh) * 2017-06-14 2021-06-18 思杰系统有限公司 实时的基于云的消息传递系统
CN113193974A (zh) * 2021-07-02 2021-07-30 深圳华云信息系统有限公司 基于组播的行情信息推送方法、系统、设备及介质

Also Published As

Publication number Publication date
US8850451B2 (en) 2014-09-30
CN101202642B (zh) 2010-10-13
US20080141274A1 (en) 2008-06-12

Similar Documents

Publication Publication Date Title
CN101202642B (zh) 在多播消息传送环境中订阅应用消息的方法和系统
CN101455060B (zh) 在高速、低等待时间数据通信环境中同步主动馈送适配器和备用馈送适配器的方法
CN101098315B (zh) 在高速低延迟数据通信环境中计算机数据通信方法和系统
CN101411166B (zh) 在高速、低等待时间的数据通信环境中使用冗余消息流的可靠消息传送
US8695015B2 (en) Application message conversion using a feed adapter
EP2140625B1 (en) Filtering application messages in a high speed, low latency data communications environment
CN101202714A (zh) 消息传送环境中向服务提供方分发消息请求的方法和装置
US20080141275A1 (en) Filtering Application Messages In A High Speed, Low Latency Data Communications Environment
US20070300234A1 (en) 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
US20090006559A1 (en) Application Message Subscription Tracking In A High Speed, Low Latency Data Communications Environment
US20090006560A1 (en) Terminating An Application Message Subscription
CN101098341A (zh) 用于交互地从数据库流式传输数据的方法和设备
US20080141273A1 (en) Accessing Application Message Data In A Messaging Environment
US20080104266A1 (en) Reliable messaging using message streams in a high speed, low latency data communications environment

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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20211019

Address after: Room 301, No. 3, Lane 268, Zhouzhu highway, Pudong New Area, Shanghai

Patentee after: Juhe Chuangyi information technology (Shanghai) Co.,Ltd.

Address before: USA New York

Patentee before: International Business Machines Corp.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20230904

Address after: 200131, Room 328, 3rd Floor, Unit 2, No. 231, Shibocun Road, Pudong New Area Free Trade Pilot Zone, Shanghai

Patentee after: Shanghai Yiya Fangao Technology Co.,Ltd.

Address before: Room 301, No. 3, Lane 268, Zhouzhu Road, Pudong New Area, Shanghai, 201318

Patentee before: Juhe Chuangyi information technology (Shanghai) Co.,Ltd.

OL01 Intention to license declared
OL01 Intention to license declared