CN1870594B - 用于动态地选择最佳消息路径的系统、方法和服务 - Google Patents

用于动态地选择最佳消息路径的系统、方法和服务 Download PDF

Info

Publication number
CN1870594B
CN1870594B CN2006100758062A CN200610075806A CN1870594B CN 1870594 B CN1870594 B CN 1870594B CN 2006100758062 A CN2006100758062 A CN 2006100758062A CN 200610075806 A CN200610075806 A CN 200610075806A CN 1870594 B CN1870594 B CN 1870594B
Authority
CN
China
Prior art keywords
message
path
destination
available
send
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN2006100758062A
Other languages
English (en)
Other versions
CN1870594A (zh
Inventor
托宾·乔恩·莱曼
詹姆斯·H·考夫曼
罗伯特·格伦·迪恩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1870594A publication Critical patent/CN1870594A/zh
Application granted granted Critical
Publication of CN1870594B publication Critical patent/CN1870594B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/214Monitoring or handling of messages using selective forwarding

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

一种消息路径选择系统为传送消息动态地选择一个最佳消息路径。该系统根据各种标准动态地最优化消息路径,各种标准例如效率、经济、数据要求、审核要求、安全性、数据大小等。该系统能够指示消息旁路基础设施消息服务器从而使用直接消息路径。该系统还能够从基础设施消息服务器切换到直接方法。该系统还能够利用基础设施消息路径为替换或与直接消息路径并行地使用。该系统允许应用使用单个通信系统用于数据传输的直接模式和基础设施模式这两者。本系统能够旁路基础设施消息路径,从而降低消息延迟时间、发送的消息的数目,并且提高了整体带宽。

Description

用于动态地选择最佳消息路径的系统、方法和服务
技术领域
本发明总体上涉及在网络上的数据传送。具体地说,本发明涉及基于多个预先确定标准决定在直接对等(peer-to-peer)连接或基础设施系统上的最佳数据传送的路径。
背景技术
在网络上机器间数据的移动是计算的一种基本活动。这种分布式系统典型地设计为使用下述两个系统之一:基础设施消息系统或者对等消息系统(还通常称为点对点消息系统)。基础设施消息系统以或者结构化或者非结构化的数据发送消息;该消息使用一个独立的服务器分送。对等消息系统以或者结构化或者非结构化的数据发送消息;该消息经由一个直接建立于发送和接收计算机之间的通道分送。WWW(万维网)就是一个对等消息系统的例子,它使用http协议从一点到另一点交换数据。
基础设施消息系统的例子包括服务器或者中间媒介,举例而言,例如MQ Series,Jetstream或者TSpaces。这样的中介服务器作为消息的一个临时保持区工作,这保证了消息在安全地分送到接收者前不会被丢弃。相比于对等消息系统,基础设施消息系统通常包括更多特征并且更易于管理或掌管。但是,基础设施消息系统通常会导致一些性能的开销。
对等消息系统相比于基础设施消息系统通常会有更优的性能。但是,整体的对等消息系统由于其分散化而通常难于作为整体进行掌管或管理。对等网络通常有意促进分布式独立管理。
对等消息系统允许快速数据传输;数据传输中唯一的限制因素是发送系统、接收系统、以及连接发送和接收系统的通信网络的速度。对等通信进一步仅需要对所涉及的少数几个方作中等强度的管理努力。举例而言,在一个两台计算机的连接中,仅在数据交换中涉及的两台计算机需要对数据交换连接的建立、使用以及终止进行配置。
相比于对等消息系统,基础设施消息系统允许发送者以及接收者(进一步称为客户端)不丢失消息地进行连接、断开连接、重新连接。一个支持基础设施消息系统的基础设施系统接收用于一个客户端的消息并且当该客户端连接时分送该消息。如果客户端未连接,消息可以由基础设施系统存储并于当客户端连接时分送该消息。
基础设施消息系统通常还包括其他特征例如多阶段提交事务,每单个消息多个接收者、持久性(Persistence)、审核跟踪(audit trail)以及容错。但是,被要求支持这种数据交换形式的基础设施使基础设施消息系统担负了开销,表现为消息延迟时间增加以及数据移动速率增加两种形式。消息延迟时间是指从发送信息至完全接收该信息所流逝的时间。数据移动速率是指在发送者及接收者之间移动数据所需要的时间上所传送的数据的数量。基础设施消息系统的优点导致速度降低以及管理需求增加。进一步而言,基础设施消息系统通常对消息存储区中能够存储的数据量有所限制。
尽管上述技术已被证明有用,但仍期待给出另外的改进。存在这样的情形,其中可期望这样的通信模型,其允许在基础设施消息系统或对等消息系统中作出优选。例如,一种通信系统可以向多个用户提供视频馈送。该通信系统向用户提供以下能力,注册视频馈送,开启和关闭视频馈送,在各种视频馈送中作出选择,调整视频馈送的速度和特征等。这些控制消息因其较小而容易在基础设施消息系统上进行交换。视频馈送由于其大小而不适合于基础设施消息系统。更合适地,该视频馈送最好使用点对点消息系统传送。
使用传统方法,一个应用可以在单个系统中使用两个或更多的通信方案。但是,传统方法要求客户端每个特定连接静态地选择一种通信方法;客户端不可能经由多于一种的通信机制对同一消息进行监听。静态连接强制在某些连接上的特定行为而非其他。例如,对等连接不提供消息持久性;因此,在专用于对等传送的连接上发送的所有消息都不具有持久性。
此外,不同消息系统对消息有效载荷的要求不同,可以使得经由各种消息系统发送同一个复杂对象(由客户端应用定义)是很困难甚至不可能的。因此,在不同系统上发送的消息要作不同的准备。可选择地,一个通用消息系统可以使用在消息特征方面最共同的特点,以在对等消息系统以及基础设施消息系统二者上发送消息。但是,这种方法排除了许多有用的消息特征,这些消息特征当使用对等消息系统或者基础设施消息系统时可用。向分布式系统添加具有不同特征的附加消息系统的复杂性是一种非常复杂的方法来最优化消息路径。
因此,需要一种用于动态地选择最佳消息路径的系统、方法以及服务,用于使用具有单个接口的单个系统传送消息,所述接口能以基础设施消息格式,对等消息格式,或任何其他数据传输格式进行操作,并且还能根据多种标准动态地选择消息格式。对此种解决方案的需求迄今仍未被满足。
发明内容
本发明满足了上述需求,并且给出了一种系统、一种服务、一种计算机程序产品、以及一种相关方法(此处统称为该系统或本系统)用于动态地选择用于传送消息的最佳消息路径。本系统根据诸如例如效率、经济、数据需求、审核需求、安全性、数据大小之类的各种标准动态地选择最佳消息路径。本系统能够指示消息旁路一个基础设施消息服务器,只要发送客户端和接收客户端在一个适当模式,以在直接消息路径上直接地交换消息。另外,系统10能够在一个基础设施消息路径上利用基于基础设施的通信机制。
当该发送客户端和接收客户端并非处于直接地交换消息的适当模式时,本系统使用基础设施消息路径(在此还称为基础设施模式)将消息通过基础设施消息服务器路由。此外,即使当基础设施消息服务器被旁路时本系统仍实现了使用基础设施消息服务器的益处,其成本通常比直接使用该基础设施消息服务器要低得多。
本系统的直接通信支持多种通信模式,例如广播、组播、对等(也被称为直接模式)、多接收以及发布/订阅。本系统以直接模式操作,该模式利用直接消息路径,其是一种向特定目的地发送消息的客户端的数据传输的通用模式。以直接模式操作意味着发送客户端和接收客户端对将进行消息交换达成协定。
直接模式是异步通信机制的特殊例子,例如,元组空间(tuplespace)系统,其中大量的通信是匿名和基于内容的。异步通信机制是多接收的,意味着是接收者而非发送者决定了谁来获得消息。消息不特定地寻址到一个接收者。相比于支持Java消息服务(JMS)的系统,其通常明确地识别会话双方,多接收消息是面向列队通信的更常规的形式。
不同类型的基础设施消息服务器以不同方式建立直接连接。举例而言,在JMS产品中,建立直接连接涉及在发送客户端和接收客户端之间建立通道。在TSpaces中,接收客户端向该消息服务器注册,以期在任何发送的元组(即消息)匹配一个特定格式或者内容时收到通知。若发送客户端在消息中还包括其名称,则请求通知能够更特定。特定寻址在每个方向中都能发生。发送者可以通过在消息中包括接收者的名称寻址特定于该接收者的消息。发送者可以通过包括进发送者名称使得更为个性化,这帮助接收者创建一个直接的应答。发送者还可以发送普通消息并且包括他或她的名称,从而允许接收者监听来自该发送者的消息或具有特定内容的消息。
当使用本系统用于直接连接(例如IBM的直接连接,IBMDC)时,发送客户端在它们的意图上是明确的。当发送客户端规定了目的消息接收者(接收客户端)时,一个对等连接即被创建。随后,在该连接保持有效的同时,任何消息写入调用直接地在直接消息路径上转到接收客户端,而非流经消息基础设施服务器。因此,即使发送客户端或发送应用使用标准的基于基础设施的消息接口,作为IBMDC一部分的程序库也能够将消息直接地重新路由到接收客户端的程序库,完全旁路基础设施。当网络连接存在并且稳定时,且当用户已声明需要或允许直接模式时,则本系统使用该直接模式的更快路由。默认情况,或者要求基础设施模式的额外特征时,则使用基于基础设施模式的更具鲁棒性的路由。
本系统允许在发送客户端上的应用使用单个通信系统用于数据传输的直接模式和基础设施模式这两者。本系统允许应用具备选择是否为数据传输选择最佳消息路径的灵活性。本系统可旁路基础设施消息路径,用以减少消息延迟时间、减少发送的消息数量以及提高整体带宽。
本系统在发送客户端和接收客户端之间创建了一种更快的消息路径。本系统进一步创建了可不同地使用的独立消息路由。例如,使用直接模式的快速路由可用于大容量任务,例如流媒体,而使用基础设施模式的较慢路由可用于如加密密钥、验证码或者元数据信息等。
由本系统在基础设施模式下创建的第二个连接能够当消息在直接模式下分送失败时被用作可选的消息路径或者备份(容错)消息路径。相反地,在从客户端到基础设施服务器的连接切断,而对等连接仍打开的情况下,则该第二连接可作为到基础设施服务器的可选路径。该可选路径在无线或者移动环境下有用。
使用本系统,在直接模式下通信的两个客户端(即对等客户端)能够在另一台机器上启动通信服务器用以动态地添加或创建“基础设施”连接到否则只是对等通信中。这种动态地创建基础设施连接的能力为通信连接提供了附加功能,并且尤其可应用于对基础设施模式的附加功能有所需求,且对该基础设施模式性能的轻微降低能够容忍的情况。
取决于网络条件的改变,本发明能在两种连接模式之间进行交替。例如,直接对等连接的成本可变,这使非直接连接更为吸引人且节约成本。作为另一个例子,本系统能够选择在发送者和接收者之间使用直接连接,之后发送者可陆续增加多个接收者。从某种角度而言,发送者使用非直接方法(其中所有接收者都能从基础设施获得消息)发送单个消息比发送者明确地把消息发给他们中的每一个要更加经济。
在本发明中,发送者具有按照消息路由以及消息成本降低技术打开的多种选项。可以使用一个较大的“发送消息”时间窗口对转到不同位置的相同消息的多个拷贝进行检测,在这一点,可决定使用发布/订阅通信模型,或可能组播通信形式,这取决于根据排序功能哪一种被认为更好。
本发明可通过一个实用程序体现,例如一个消息路径选择实用程序。本发明还提供通过首先规定用于决定最佳路径的标准集合,然后调用消息路径选择实用程序以决定最佳路径,用于用户识别最佳路径用于消息传送的装置。
附图说明
本发明的各种特征及其实现方式将参考以下的说明书、权利要求以及附图更详细的描述,其中在适当的时候参考数字被重复使用,以指示参考项之间的相应关系,其中:
图1是其中本发明的消息路径选择系统可使用的示例性操作环境的示意图;
图2是示例性操作环境的示意图,在该操作环境中图1的消息路径选择系统和消息基础设施服务器一起示出;
图3是示出了发送客户端上应用程序与接收客户端上应用程序之间的通信的方块图,其中出现了由图1的消息路径选择系统动态地选择通信模式;以及
图4包括图4A,4B,以及4C,代表示出了图1的消息路径选择系统的操作的方法的处理流程图。
具体实施方式
图1描绘了一个示例性的整体环境,其中可使用根据本发明的动态地选择最佳消息路径的系统(系统10)和相关方法。系统10包括软件编程代码或者计算机程序产品,该产品典型地嵌入在或者安装于主机服务器15上(在此还称为发送客户端15)。可供选择地,系统10可保存于适当的存储介质上,例如磁盘、CD、硬盘等设备。
由发送客户端15所传送消息的一个或多个接收者表示为多台计算机,例如计算机20、25、30,并且它们可以通过网络35访问主机服务器15。消息包括以指令、注册信息、文档、文件、视频、音频或者任何其他能够电子地传送的数据形式的形式的数据。计算机20、25、30各包括允许计算机20、25、30安全地与主机服务器15接口连接的软件。主机服务器15经由诸如电话、电缆或者卫星链路之类的通信链路40连接到网络35。计算机20、25、30能够分别经由通信链路45、50、55连接到网络35。当根据网络35对系统10进行描述时,计算机20、25、30可本地而非远程地,从发送客户端15接收消息。发送客户端15可使用系统10手工地或通过使用应用自动地发送消息。
图2示出了一个示例性的操作环境,该环境示出了由系统10的消息路径选择的示例性选项。计算机25(在此还称为为接收客户端25)示出了一个从发送客户端15接收消息的通用接收客户端。
系统10能够选择经由消息基础设施服务器210的基础设施消息路径205。消息基础设施服务器将接收到的消息发布于一个虚拟消息板或“白板”上。发布于白板上的消息可被目的接收者取回,例如接收客户端25。可使用例如虚拟消息板来建立基础设施消息路径205,其中消息被发送客户端15发布于该虚拟消息板上并被接收客户端25所取回。可由消息基础设施服务器210使用的示例性的基于消息的基础设施,包括
Figure S06175806220060425D000074
,或者任何其他基于元组空间的技术。另一个示例性的基于消息的基础设施利用了例如电子邮件协议。
系统10还能够进一步选择直接消息路径215,其直接地传送消息至接收客户端25。直接消息路径215可使用任何直接或点对点的协议建立,这些协议不需要例如消息基础设施服务器210这样基于消息的基础设施。示例性的协议包括例如TCP,UDP,IP广播技术等。能够用于直接消息路径215的另外的协议包括任何不使用基于消息的基础设施的网络协议,例如蜂窝电话协议等。
另外的可用于IP网络上的直接消息路径215的协议包括组播。使用组播,发送客户端15在网络35上建立数据流。由发送客户端15所建立的数据流可有多个接收者。接收客户端25直接从数据流中取回消息。
图3示出了发送客户端15,消息基础设施服务器210,以及接收客户端25的方块图。发送客户端15包括一个应用程序A 305,传送通信中间件310以及传送传输层315。传送通信中间件310提供给发送客户端15和系统10使用直接消息路径215或者基础设施消息路径205传送消息的能力。
接收客户端25包括一个应用程序B 320,接收通信中间件325以及接收传输层330。接收通信中间件320提供给接收客户端25使用直接消息路径215或者基础设施消息路径205接收或获得消息的能力。消息基础设施服务器210包括一个消息应用335,消息通信中间件340以及消息传输层345。
系统10安装于传送通信中间件310中。利用系统10,传送通信中间件310动态地选择一个最佳消息路径。在一个实施方式中,系统10安装于应用程序A 305中。当应用程序A 305准备并且发送数据或消息时,应用程序A 305利用系统10动态地选择一个最佳消息路径。
图4(图4A,4B,4C)示出了系统10在使用一个或多个预先确定标准选择用于消息传输的最佳消息路径中的操作方法400。应用程序A 305选择用于传输的数据(步骤405)。应用程序A305将选择的数据传递到传送通信中间件310(步骤410)。系统10就预先确定标准对选择的数据进行评估(步骤415)。系统10就预先确定标准对网络35的性能进行评估(步骤420)。
根据在步骤415和步骤420中评估的预先确定标准,系统10可以决定在所有可用的路径上传送选择数据(决定步骤430)。在这种情况下,系统10指示传送传输层315于基础设施消息路径205(由图4B中方法435所表示)以及直接消息路径215(由图4C中方法440所表示)上并行地传送选择数据。
为在基础设施消息路径205上传送选择数据(方法435),传送通信中间件310命令传送传输层315使用基础设施消息路径205传送选择数据(步骤445)。消息基础设施服务器210接收所传送的数据并且将所传送的数据发布于例如一个虚拟白板上(步骤450)。接收客户端25从消息基础设施服务器210取回所发布的数据(步骤455)。
为在直接消息路径215上传送选择数据(方法440),传送通信中间件310命令传送传输层315使用直接消息路径215传送选择数据(步骤460)。接收客户端25接收所传送的数据(步骤465)。用于直接连接的机制可以取决于发送者与接收者之间的协定。在一个视频流的事件中,例如,其中速度要紧而可靠性并不,就可以使用简单的UDP(不可靠数据报协议)分组。在其他情况下,可使用一个简单的TCP/IP会话(如套接字,或者对象流)。
另外,在决定步骤430处,系统10基于对数据以及网络性能的评估选择一个最佳消息路径。如果所选最佳路径是直接消息路径(决定步骤470),系统10指示传送传输层315在直接消息路径215上传送选择数据(由图4C中方法440所表示)。如果所选的最佳路径不是直接消息路径215(决定步骤470),系统10指示传送传输层315在基础设施消息路径205上传送选择数据(由图4B中方法435所表示)。
在一个实施方式中,系统10安装于应用程序A 305中。在本实施方式中,系统10评估所选择数据,评估网络35的性能,以及在将选择数据传递到传送通信中间件310(步骤410)之前选择一个最佳消息路径(步骤415,步骤420,步骤425)。
当接收客户端25从直接消息路径215以及基础设施消息路径205接收消息时,通信的变化对于应用程序B 320透明。接收通信中间件325对于应用程序B 320隐藏消息路由的细节。
由系统10在决定一个最佳消息路径时所使用的标准包括检查由应用程序A 305放置在所选择数据上的一个标签。该标签包括由应用程序A 305使用某一特定的消息路径的特定请求。一个标签可以包括所选择数据的身份,例如,控制数据,大量数据,低优先级数据,高优先级数据,请求审核跟踪的数据,不要求审核跟踪的数据,视频,文本等。系统10包括一个标签以及与这些标签相关联的最佳路径的数据库。系统10能够例如为高优先级数据选择直接消息路径215。此外,系统10还能够例如为请求审核跟踪的数据选择基础设施消息路径205,其中消息基础设施服务器210能够生成审核跟踪。
用于决定一个最佳消息路径的标准还包括所选择用于传输的数据的类型。例如,相比于非结构化数据,系统10能够为结构化数据选择不同的最佳消息路径,或者相比于文本数据,该系统能够对多媒体数据进行不同的路由。
系统10能够使用所选择数据的大小作为标准,用于选择一个最佳消息路径。举例而言,大消息例如大于1MB的消息能够使用直接消息路径传送,以提高所选择数据的数据传输速度。这种标准能被进一步规定为基于数据类型的大小限制。
由系统10所使用的标准进一步包括网络35的性能,消息基础设施服务器210的性能,使用负载等。系统10包括一个反馈系统,该系统主动地监控网络35的性能和消息基础设施服务器210的性能。例如,当网络35忙碌时或消息基础设施服务器210忙碌时,系统10选择在直接消息路径215上路由所选择数据。
例如,应用程序A 305已经选择了用户希望确保其向5个其他计算机传送的数据。网络35报告大量的错。如果这时所选择数据使用直接消息路径215传送,其中一些计算机就可能无法接收到所选择消息。所以,系统10选择基础设施消息路径205,因为消息基础设施服务器210是以一种保持方式发布所选择数据。如果网络35瘫痪,数据的目的接收者则不能取回该数据。但是,当网络35恢复过来时,该数据的目的接收者能够连接到消息基础设施服务器210并取回该所选择数据。
由系统10在选择最佳消息路径中使用的另一个标准是要传送数据的机密性。直接消息路径215能比基础设施消息路径205更加安全,因为在直接消息路径215上传送的数据可以加密并且定向给特定的接收者。不过,发送客户端15和接收客户端25能够使用消息基础设施服务器210对加密消息的传输进行协商。
系统10能够在选择最佳消息路径时使用日志标准。需要日志的数据由系统10定向到消息基础设施服务器210。发布的任何数据能够被复制到一个或多个数据库中,以生成所传送数据的存档。
系统10能够在选择最佳消息路径时使用成本标准。系统10能够选择最佳消息路径以最小化所选择数据的传输成本。系统10能够进一步将所选择数据具有的接收者的数目作为一个标准来使用。具有大量接收者的所选择数据可能在基础设施消息路径205上传输,或者使用广播技术在直接消息路径215上传输更为经济。
取决于由系统10评估的标准,系统10可以选择基础设施消息路径205和直接消息路径215这二者。例如,某种特定类型的数据可能需要在直接消息路径215上进行快速传输,同时需要由消息基础设施服务器210提供的审核跟踪。
系统10的一个示例性使用是一家医院,该医院使用例如图1所示的网络传输以及选择性地日志数据。包括由一名医生吩咐的特定治疗或由一名医生所观察的特定发现的医疗数据能够由系统10定向到基础设施消息路径205。消息基础设施服务器210将该医疗数据记录到一个医疗日志中,以便存档和保护,例如,用以抵御误诊诉讼(malpractice suit)。但诸如X射线图片这样的大量数据超出了预先确定的大小标准以及由系统10定向到直接消息路径215,用以向医生的桌面计算机或手持平板电脑传输。
尽管出于说明的目的,系统10被描述为仅与发送或传输消息或者数据有关,应该清楚的是,系统10还可应用于需要确认或者保证分送的消息或数据,也可应用于不需要确认或不需要保证分送的消息或数据。
此外,尽管出于说明的目的,系统10被描述为仅与向接收者服务器传输消息或数据有关,应该清楚的是,系统10还可应用于使用多种通信技术,例如IP组播技术,将消息或数据的传输定向到任何数目的额外计算机。
应该理解的是,已经所描述的本发明的特定实施方式仅仅对本发明的原理的某些应用作了说明。对于这里所述的用于动态地选择最佳消息路径的系统、方法以及服务可做诸多修改,而不偏离本发明的精神和范围。

Claims (18)

1.一种基于标准从发送客户端设备与接收客户端设备之间多个可用路径中动态地选择优选路径用以从源,即发送客户端设备向目的地,即接收客户端设备传送消息的方法,所述方法包括:
发送客户端设备上的应用生成所述消息;
决定所述消息目的地;
基于所述消息目的地决定所述多个可用路径;
对所述应用透明地使用所述标准对所述消息进行评估和对网络性能进行评估;
根据上述评估结果从所述多个可用路径中选择优选分送路径;以及
在所述优选分送路径上向所述目的地分送所述消息;
其中所述多个可用路径分别对应于不同的传送消息的模式;
其中所述多个可用路径包括以下任何一个或多个:
直接通信路径;以及
间接通信路径。
2.根据权利要求1所述的方法,其中决定所述消息目的地包括利用以下任何一个:
消息内容;以及
由所述应用提供所述目的地。
3.根据权利要求1所述的方法,其中所述直接通信路径支持以下通信模式的至少一个或者多个:
广播;
组播;
对等;
多接收;以及
发布或订阅。
4.根据权利要求1所述的方法,其中所述间接通信路径支持消息系统。
5.根据权利要求1所述的方法,还包括:
在向所述目的地分送所述消息后,存储用于分送的所述优选分送路径,以及将所述优选分送路径结合为所述标准的一部分。
6.根据权利要求1所述的方法,还包括:
基于排序函数对所述可用路径进行排序;以及
将所述可用路径的排序结果结合为所述标准的一部分。
7.根据权利要求6所述的方法,其中对所述可用路径进行排序包括使用以下任何一个或多个:
考虑所述消息的属性;
考虑所述应用的属性;以及
考虑所述可用路径的属性。
8.根据权利要求7所述的方法,其中所述消息的属性包括以下任何一个或多个:
消息大小;
消息加密;以及
消息内容,其中所述消息内容包括以下任何一个或多个:音频,视频,以及文本数据。
9.根据权利要求7所述的方法,其中所述应用的属性包括以下任何一个或者多个:
应用安全性;
性能需求;
分送保证需求;以及
所述应用的延迟时间。
10.根据权利要求7所述的方法,其中所述可用路径的属性包括以下任何一个或者多个:
所述可用路径是否提供消息分送的确认;
所述可用路径的质量;
所述可用路径的延迟时间;
在所述可用路径上的数据传送的速率;
使用所述可用路径的成本;
所述可用路径的拥挤状况;
所述可用路径的安全性;
所述可用路径的可靠性;
所述可用路径能够传输的数据类型;以及
出口防火墙协议上的可达到性。
11.根据权利要求1所述的方法,其中选择所述优选分送路径包括选择两个或更多优选分送路径,用以向所述目的地分送所述消息。
12.根据权利要求11所述的方法,还包括:
基于所述消息内容在所述两个或更多优选分送路径上分发所述消息。
13.根据权利要求11所述的方法,其中所述两个或更多优选分送路径包括安全路径以及不安全路径。
14.根据权利要求12所述的方法,还包括:
在所述消息目的地对所述消息进行结合。
15.根据权利要求1所述的方法,其中所述消息目的地包括以下任何一个:单个目的地点和多个目的地点。
16.根据权利要求1所述的方法,还包括:
连续地监控所述消息的属性以便连续地选择至少两个优选分送路径;以及
按照需要在所述至少两个优选分送路径间交替,以便在所述至少两个优选分送路径上将消息分送到至少一个目的地。
17.根据权利要求1所述的方法,还包括:
在所述目的地确认所述消息的保真度。
18.一种消息路径选择系统,用于基于标准从多个发送客户端设备与接收客户端设备之间多个可用路径中动态地选择优选路径,以便从源,即发送客户端设备向目的地,即接收客户端设备传送消息,所述系统包括:
发送客户端上的应用模块,用于生成所述消息;
传送通信中间件模块,用于决定所述消息目的地;
所述传送通信中间件模块还用于基于所述消息目的地决定所述多个可用路径,所述传送通信中间件模块还用于对所述应用透明地使用所述标准对所述消息进行评估和对网络性能进行评估,根据上述评估结果从所述多个可用路径中选择优选分送路径;以及
传送传输模块,用于在所述优选分送路径上向所述目的地分送所述消息;
其中所述多个可用路径分别对应于不同的传送消息的模式;
其中所述多个可用路径包括以下任何一个或多个:
直接通信路径;以及
间接通信路径。
CN2006100758062A 2005-05-26 2006-04-18 用于动态地选择最佳消息路径的系统、方法和服务 Expired - Fee Related CN1870594B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/139,799 2005-05-26
US11/139,799 US7957363B2 (en) 2005-05-26 2005-05-26 System, method, and service for dynamically selecting an optimum message pathway

Publications (2)

Publication Number Publication Date
CN1870594A CN1870594A (zh) 2006-11-29
CN1870594B true CN1870594B (zh) 2012-06-06

Family

ID=37444145

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006100758062A Expired - Fee Related CN1870594B (zh) 2005-05-26 2006-04-18 用于动态地选择最佳消息路径的系统、方法和服务

Country Status (3)

Country Link
US (1) US7957363B2 (zh)
JP (1) JP4808547B2 (zh)
CN (1) CN1870594B (zh)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8904391B2 (en) * 2007-04-23 2014-12-02 International Business Machines Corporation Policy-based access control approach to staff activities of a business process
US9178916B2 (en) 2007-06-28 2015-11-03 Voxer Ip Llc Real-time messaging method and apparatus
US11095583B2 (en) 2007-06-28 2021-08-17 Voxer Ip Llc Real-time messaging method and apparatus
US20110019662A1 (en) 2007-06-28 2011-01-27 Rebelvox Llc Method for downloading and using a communication application through a web browser
US8180029B2 (en) 2007-06-28 2012-05-15 Voxer Ip Llc Telecommunication and multimedia management method and apparatus
US7962631B2 (en) * 2007-12-21 2011-06-14 Yahoo! Inc. Method for determining network proximity for global traffic load balancing using passive TCP performance instrumentation
US8311947B2 (en) * 2008-11-26 2012-11-13 Microsoft Corporation Online service syndication
EP2400389B1 (en) 2010-06-24 2016-05-25 Alcatel Lucent A method, a system, a server, a device, a computer program and a computer program product for transmitting data in a computer network
CN102006652A (zh) * 2010-11-04 2011-04-06 南京大学 一种无线网络中切换次数最少的导航路径选择方法
DE102011117777B3 (de) * 2011-11-01 2013-01-31 Markus Lehnert System und Verfahren zur Bestimmung eines bevorzugten Kommunikationskanal
US9609575B2 (en) 2012-12-31 2017-03-28 T-Mobile Usa, Inc. Intelligent routing of network packets on telecommunication devices
US10375629B2 (en) 2012-12-31 2019-08-06 T-Mobile Usa, Inc. Service preferences for multiple-carrier-enabled devices
CN106576078B (zh) * 2014-08-26 2020-06-23 Ctera网络有限责任公司 用于在云存储系统中路由数据流的方法和系统
WO2016183539A1 (en) 2015-05-14 2016-11-17 Walleye Software, LLC Data partitioning and ordering
US10614368B2 (en) 2015-08-28 2020-04-07 Pearson Education, Inc. System and method for content provisioning with dual recommendation engines
US10325215B2 (en) * 2016-04-08 2019-06-18 Pearson Education, Inc. System and method for automatic content aggregation generation
CN105933212A (zh) * 2016-06-21 2016-09-07 惠州Tcl移动通信有限公司 一种实现双向消息机制的方法和系统
US10560532B2 (en) * 2016-09-23 2020-02-11 Apple Inc. Quick relay session management protocol
US10542476B2 (en) * 2017-07-13 2020-01-21 Nokia Solutions And Networks Oy Selecting communication paths for application server queries of devices
US10241965B1 (en) 2017-08-24 2019-03-26 Deephaven Data Labs Llc Computer data distribution architecture connecting an update propagation graph through multiple remote query processors
CN107612778A (zh) * 2017-09-29 2018-01-19 深圳市盛路物联通讯技术有限公司 一种数据采集传输方法及系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030202476A1 (en) * 2002-04-29 2003-10-30 Harris Corporation Determining quality of service (QoS) routing for mobile AD HOC networks

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3110583B2 (ja) * 1993-05-25 2000-11-20 三菱電機株式会社 ルータ装置
US5794039A (en) * 1996-12-18 1998-08-11 Unisys Corp. Method for abstracting messages of various protocols into objects for storage in a database
US6424992B2 (en) * 1996-12-23 2002-07-23 International Business Machines Corporation Affinity-based router and routing method
JP3436650B2 (ja) 1997-02-24 2003-08-11 三菱電機株式会社 ネットワーク制御装置
US6389479B1 (en) * 1997-10-14 2002-05-14 Alacritech, Inc. Intelligent network interface device and system for accelerated communication
US6185612B1 (en) * 1998-10-29 2001-02-06 Novell, Inc. Secure distribution and use of weighted network topology information
JP2001168924A (ja) * 1999-12-08 2001-06-22 Ntt Docomo Inc アクセスポイント選択方法および移動局
US20010029523A1 (en) * 2000-01-21 2001-10-11 Mcternan Brennan J. System and method for accounting for variations in client capabilities in the distribution of a media presentation
US7003571B1 (en) * 2000-01-31 2006-02-21 Telecommunication Systems Corporation Of Maryland System and method for re-directing requests from browsers for communication over non-IP based networks
US8359405B1 (en) * 2000-02-28 2013-01-22 John Border Performance enhancing proxy and method for enhancing performance
US7814208B2 (en) * 2000-04-11 2010-10-12 Science Applications International Corporation System and method for projecting content beyond firewalls
JP2003134031A (ja) * 2001-10-23 2003-05-09 Oki Electric Ind Co Ltd 通信装置
JP3912091B2 (ja) * 2001-12-04 2007-05-09 ソニー株式会社 データ通信システム、データ送信装置、データ受信装置、および方法、並びにコンピュータ・プログラム
KR100460112B1 (ko) * 2001-12-28 2004-12-04 엘지전자 주식회사 인터 네트워킹 시스템에서 사설교환기의 blf 정보 관리방법
US20040078625A1 (en) * 2002-01-24 2004-04-22 Avici Systems, Inc. System and method for fault tolerant data communication
US20030233540A1 (en) * 2002-06-13 2003-12-18 International Business Machines Corporation System and method for secured delivery of content stream across multiple channels
US7155632B2 (en) * 2002-06-27 2006-12-26 Nokia, Inc. Method and system for implementing IS-IS protocol redundancy
US20040028069A1 (en) * 2002-08-07 2004-02-12 Tindal Glen D. Event bus with passive queuing and active routing
JP2005539421A (ja) * 2002-09-11 2005-12-22 ドコモ コミュニケーションズ ラボラトリーズ ヨーロッパ ゲーエムベーハー ミドルウェアプラットフォーム
US20040162996A1 (en) * 2003-02-18 2004-08-19 Nortel Networks Limited Distributed security for industrial networks
US7236472B2 (en) * 2003-09-16 2007-06-26 Research In Motion Limited Method for creating a peer-to-peer immediate messaging solution without using an instant messaging server
GB2406742B (en) * 2003-10-03 2006-03-22 3Com Corp Switching fabrics and control protocols for them
EP1698117B1 (en) * 2003-12-23 2013-04-17 TELEFONAKTIEBOLAGET LM ERICSSON (publ) Method and system for efficient routing in ad hoc networks

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030202476A1 (en) * 2002-04-29 2003-10-30 Harris Corporation Determining quality of service (QoS) routing for mobile AD HOC networks

Also Published As

Publication number Publication date
JP2006333486A (ja) 2006-12-07
US7957363B2 (en) 2011-06-07
US20060268712A1 (en) 2006-11-30
CN1870594A (zh) 2006-11-29
JP4808547B2 (ja) 2011-11-02

Similar Documents

Publication Publication Date Title
CN1870594B (zh) 用于动态地选择最佳消息路径的系统、方法和服务
US10367852B2 (en) Multiplexed demand signaled distributed messaging
US6925481B2 (en) Technique for enabling remote data access and manipulation from a pervasive device
US6618752B1 (en) Software and method for multicasting on a network
US8898320B2 (en) Virtual multicasting
Baldoni et al. The evolution of publish/subscribe communication systems
US20030229674A1 (en) Internet scaling in a PUB/SUB ENS
US8566423B2 (en) Scalable publish/subscribe messaging systems and methods
AU2009296744B2 (en) Selective data forwarding storage
US20080133646A1 (en) System and method for fully distributed network with agents
KR20120074300A (ko) 계층적 공표 및 가입 시스템
US20090113024A1 (en) Multicase Downloading Using Path Information
US7149807B1 (en) Control and communication infrastructure (CCI) for selecting a transport mechanism to transport data to one or more servers in a content delivery network based on the size of the data, together with frequency and loss tolerance with respect to transport of the data
US20080147777A1 (en) System and method for communication agent within a fully distributed network
CN102612829A (zh) 用于支持重叠网络中通信对等端选择的方法和系统
JP2006507591A (ja) 単一システムにおけるマルチプル・ネイティブ・ネットワーク・プロトコル実施の効率的なサポート
US8914480B1 (en) Method and device for transparent interception of socket connections
JP2010505196A (ja) 効率的に拡張可能なコンピューティングのための複数のピアグループ
US10051092B2 (en) Method and device for transparent interception of socket connections
Strayer et al. Content sharing with mobility in an infrastructure-less environment
US8478823B2 (en) Selective data forwarding storage
Junginger A high-performance messaging system for peer-to-peer networks
Bassi et al. Towards a Noah's ark for the upcoming data deluge
Stainov Peer ports: mobility support in peer-to-peer systems
Ragab et al. Service-oriented autonomous decentralized community communication technique for a complex adaptive information system

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120606