CN1787497A - 在web服务环境可靠消息通信中验证和维持连接活跃性 - Google Patents
在web服务环境可靠消息通信中验证和维持连接活跃性 Download PDFInfo
- Publication number
- CN1787497A CN1787497A CNA2005101250039A CN200510125003A CN1787497A CN 1787497 A CN1787497 A CN 1787497A CN A2005101250039 A CNA2005101250039 A CN A2005101250039A CN 200510125003 A CN200510125003 A CN 200510125003A CN 1787497 A CN1787497 A CN 1787497A
- Authority
- CN
- China
- Prior art keywords
- message
- sequence
- received
- session
- promoter
- 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
Links
- 230000000694 effects Effects 0.000 claims description 56
- 238000000034 method Methods 0.000 claims description 52
- 238000004891 communication Methods 0.000 claims description 33
- 238000004590 computer program Methods 0.000 claims description 24
- 230000009471 action Effects 0.000 claims description 21
- 238000012423 maintenance Methods 0.000 claims description 20
- 230000004044 response Effects 0.000 claims description 20
- 239000000344 soap Substances 0.000 claims description 15
- 230000005540 biological transmission Effects 0.000 description 21
- 238000012795 verification Methods 0.000 description 11
- 230000000875 corresponding effect Effects 0.000 description 6
- 230000015654 memory Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 230000015572 biosynthetic process Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000005055 memory storage Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000002950 deficient Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 230000009191 jumping Effects 0.000 description 2
- 230000002045 lasting effect Effects 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 230000007480 spreading Effects 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/40—Business processes related to the transportation industry
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/143—Termination or inactivation of sessions, e.g. event-controlled end of session
- H04L67/145—Termination or inactivation of sessions, e.g. event-controlled end of session avoiding end of session, e.g. keep-alive, heartbeats, resumption message or wake-up for inactive or interrupted session
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling 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/62—Establishing a time schedule for servicing the requests
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Cardiology (AREA)
- Business, Economics & Management (AREA)
- Primary Health Care (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Economics (AREA)
- Strategic Management (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer And Data Communications (AREA)
- Working Measures On Existing Buildindgs (AREA)
- Medicines Containing Material From Animals Or Micro-Organisms (AREA)
Abstract
本发明监视依照用于web服务的可靠消息通信协议(RM-WS协议)建立的序列会话上在两个端点之间的消息的接收。所接收的消息可以是应用或基础结构消息(例如,依照RM-WS协议的确认消息)。此外,本发明定义了被称为非活动超时的时间段,它是可在序列会话上没有接收消息(不论是应用程序还是基础结构)的情况下经过的时间的上限。基于该非活动超时时间段,本发明计算用于发送依照RM-WS协议的幂等基础结构消息的时间段,以验证和维持连接活跃性。
Description
技术领域
本发明一般涉及用于web服务的可靠消息通信协议。更具体而言,本发明提供了一种充分利用用于web服务的可靠消息通信协议(RM-WS)的特征来验证和维持序列会话中的连接活跃性的机制。
背景技术
计算机网络通过允许一台计算机或设备使用电子消息通过网络与另一台计算系统通信,增强了人们通信和访问信息的能力。当在计算机系统之间传输电子消息时,电子消息通常将通过一协议栈,该协议栈对电子消息内的数据执行操作(例如,语法分析、路由、流量控制等)。开放系统互连(OSI)模型是用于实现协议栈的一种网络框架。
OSI模型将用于传输电子消息的操作分解成七个不同的层,每一层被设计成在数据传输过程中执行特定的操作。尽管协议栈可以潜在地实现每一层,然而许多协议栈仅实现在网络上传输数据时所使用的选择性的层。当数据从计算系统发送时,它起源于应用层,并被向下传递到较低的中间层,然后被传递到网络。当从网络接收数据时,它进入物理层,并被向上传递到较高的中间层,然后最终到达应用层。应用层,即最高层负责支持应用程序和最终用户处理。此外,在应用层内,可以驻留若干其它层(例如,简单开放访问协议(SOAP)层)。被大多数协议栈结合的另一层是传输层。传输层的一个示例是传输控制协议(TCP)。
web服务(WS)在计算系统之间的高级通信中是驱动力,并且调整了人们从里到外构建和使用软件的方式。web服务使应用程序共享数据,并且更强大地调用来自其它应用程序的能力,而无需关注这些应用程序是如何构建的;它们在什么操作系统或平台上运行;以及使用什么设备来访问它们。web服务在因特网上通过包括SOAP、XML(可扩展标记语言)、UDDI(统一描述、发现和集成)、WADL(web服务描述语言)等行业标准协议来调用。尽管web服务保持彼此独立,然而它们可将自身松散地链接到一执行特定任务的协作组。
当前的WS技术提供了发起者(例如,客户机)和接受者(例如,服务)之间的直接SOAP消息通信。在常见的双向消息通信情况下,SOAP请求消息是从发起者发送到接受者的,且SOAP回复消息是作为对其响应而发送的。端点之间的另一种通信是单向消息交换,其中发起者向接受者发送消息而没有响应。
形成WS体系结构的一个关键的益处是递送集成的、可共同操作的解决方案的能力。然而,由于web服务通过诸如因特网等不可靠通信信道提供了来自不同企业、组织和其它服务供应商的各种服务,因此WS的可靠性成为一个越来越重要的因素。WS的可靠性受若干因素影响,包括但不限于,web服务端点的可靠性;通过其访问web服务的通信信道的特征;性能和容错特征;以及web服务能够处理并发的客户机访问的范围。
已通过选择通过其在端点之间交换消息(例如,SOAP消息)的可靠传输协议做出了实现web服务的可靠消息通信的尝试。例如,诸如消息队列等可靠消息通信传输可用于在发起者和接受者之间可靠地传递消息。消息队列通信技术使得不同系统上的应用程序能够通过向队列发送消息并从队列读取消息来彼此通信,队列是为了可靠性而跨越错误持久保存的。
尽管排队系统提供了可用于可靠地携带SOAP消息的传输,然而这类系统仍有若干缺陷。例如,这些系统为其中单独地传输和处理请求(以及可能其响应)的异步操作提供了解决方案。因此,这些系统通常在资源方面是重量级的;涉及具有持久的事务消息存储且在开发、编程模型和管理中具有显著地更多复杂性的多个中介。所有这些对于可靠的直接通信是不必要的,且有损于最小化等待延时的目标。此外,该程序模型不直接支持请求-响应样式的编程或会话。因此,排队的通信模型与当前“交互式”web服务模型不同,且未解决关键的“连接”情形和“交互”应用。例如,它并不很好地适用于以定时的方式期望响应的情况,也不适用于需要在发起者和接受者之间共享分布式事务环境的情况。
也做出了通过诸如可靠HTTP或HTTPR等基础上不可靠的传输协议来定义可靠传输层的尝试。然而,使该解决方案以及排队解决方案受害的一个常见的问题是仅当对发起者和接受者之间的通信使用特定的可靠传输协议时才可实现可靠消息通信。web服务的基本特性要求与特定销售商平台、实现语言和特定传输协议的独立性。在一般的情况下,发起者可能无法使用特定的协议直接向接受者发送消息(例如,接受者不支持该协议),或者消息可能需要在离开发送者节点之后在到达目的地节点之前经过多次跳跃。取决于涉及一次特定跳跃的两个节点之间的连接的特性,可能不得不选择不提供可靠消息通信特征的合适的传输协议。
也可在协议栈的不同层上存在中介;并且因此不提供完全的端对端可靠性。例如,传输协议可跨多个较低层中介(例如,IP层中介-例如,IP路由器)提供可靠性。然而,传输协议可能终止在SOAP中介或应用层上。因此,该传输协议可能无法在该中介上提供可靠性,即,在应用层上没有端对端可靠性。
最近,各种用于web服务的可靠消息通信协议(后文称为“RM-WS”协议),例如WS-可靠消息通信(WS-ReliableMessaging)为以上识别的当前可靠消息通信系统的缺陷提供了解决方案。这些协议是允许消息在存在软件组件、系统或网络故障的情况下在端点应用程序之间可靠地传送消息的传输不可知连接协议。因此,RM-WS协议为发起者和接受者之间的可靠的、端对端的、面向会话的通信提供了解决方案。
这些RM-WS协议类似于TCP,因为TCP提供了通过网际协议(IP)路由器和多个网络从TCP发送者到TCP接收者的可靠的、仅一次、按序的字节流传送。用于WS的可靠消息协议为多个中介(包括SOAP层中介)、传输和连接上的消息提供了同样且更多的传送(注意,传输的单位是消息,而不是如TCP情况中那样是字节或字节结合,在TCP中,字节的大小是由IP分组中的可用有效载荷空间来确定的)。尽管TCP和RM-WS协议都是“可靠”协议,因为RM-WS驻留在OSI模型的应用或SOAP层中,然而RM-WS协议提供了可靠的消息通信,而不管用于传输数据的传输协议是什么。因此,RM-WS协议不被绑定到用于在端点之间传输消息的特定传输或其它协议。
尽管在一段时间内几种RM-WS协议是活跃的,然而这些协议规范仍具有若干缺点和不足。例如,这些RM-WS协议不提供验证已建立的序列会话的连通性的方式。此外,这些规范未提供维持连接的活跃性和/或在一段不活动超时时间段过去之后缺少消息交换的情况下扩展序列会话的方式。因此,需要验证和维持使用RM-WS协议的系统的连接活跃性。
发明内容
通过本发明的示例性实施例,现有的用于web服务的可靠消息通信协议的上述不足和缺点得以克服。例如,本发明提供了通过使用用于web服务的可靠消息通信协议(RM-WS协议)来验证序列连接的存在并维持端点之间的连接活跃性的机制。
例如,当在发起者端点处维持连接活跃性时,本发明能够依照RM-WS协议在两个端点之间的应用层上建立由唯一序列标识符所标识的序列会话。基于创建序列会话的请求,接收对应于该新创建的序列会话的唯一序列标识符。之后,或在任何其它时刻,标识该序列会话的非活动超时时间段,它表示可在不接收序列会话的消息的情况下经过的时间的上限。依照基于非活动超时时间段的算法,计算一保持活跃过期超时。基于计算的保持活跃过期超时,发送包括该唯一序列标识符的消息。之后,在非活动超时时间段之前接收包括该唯一序列标识符的消息,从而维持了连接活跃性。基于所接收的消息,对非活动超时时间段复位非活动定时器,使得序列会话被保持活跃。
在用于验证连接活跃性的另一示例实施例,依照RM-WS协议在两个端点之间的应用层上建立由唯一序列标识符标识的序列会话。类似于上述内容,标识一非活动超时时间段,它是可以在序列会话的两个端点之间不用交换消息的情况下经过的时间的上限。在非活动超时时间段过期之前,接收用于验证连接的消息,该消息包括对应于序列会话的唯一标识符。基于所接收的消息,复位用于该非活动超时时间段的非活动定时器,从而该序列会话被保持活跃。
本发明的其它特征和优点将在下文的描述中描述,并且部分可从该描述中清楚,或可通过对本发明的实践而学到。本发明的特征和优点可通过所附权利要求书中特别指出的手段和组合来实现和获得。本发明的这些和其它特征将从以下描述和所附权利要求书中变得完全明白,或者可通过如下所述的对本发明的实践而学到。
附图说明
为以可获得本发明的上述和其它优点及特征的方式来描述,将参考附图中示出的其特定实施例来呈现以上简要描述的本发明的更具体描述。要理解,这些附图仅描述了本发明的典型实施例,因此并不被认为是限制其范围,本发明将通过使用附图用附加的特殊性和细节来描述和解释,附图中:
图1A示出了依照本发明的示例实施例通过充分利用RM-WS协议的特征来验证和维持连接活跃性的计算系统;
图1B示出了依照本发明的示例实施例可用于计算用于发送维持连接活跃性的RM-WS协议基础结构消息的间歇性和周期性的算法的时间线;
图2示出了为本发明提供合适的操作环境的示例系统;
图3示出了依照本发明的示例实施例维持连接活跃性的方法的流程图;以及
图4示出了依照本发明的示例实施例用于验证连接活跃性的方法的流程图。
具体实施方式
本发明延及用于充分利用用于web服务的可靠消息通信协议(RM-WS)来验证和维持序列会话中的连接活跃性的机制的方法、系统和计算机程序产品。本发明的实施例可由包括各种计算机硬件的专用或通用计算机组成,如下文详细描述的。
本发明针对例如WSReliableMessaging(WS可靠消息通信)(WS-RM)等用于web服务的可靠消息通信协议(下文称为“RM-WS”协议)的扩展,该协议描述了允许消息在存在软件组件、系统或网络故障的情况下在分布式应用程序之间可靠地传送消息的规范。用于web服务的可靠消息通信协议便于将消息从源(后文称为“发起者”)成功地发送到例如服务等目的地(后文称为“接受者”),并且确保出错情况是可检测的。这些协议是传输不可知的,从而允许使用不同的网络传输技术来实现它们。此外,可靠消息通信协议的各种实现对应用程序隐藏了间歇通信故障,并且可在系统故障的情况下提供可恢复性。
本发明监视两个端点之间的已建立序列会话上的活动,该活动被定义为接收该序列的消息的动作。接收到的消息可以是应用或基础结构消息(例如,依照RM-WS协议的确认消息)。此外,本发明定义了一非活动超时(IT)时间段,它是序列会话上可在不接收消息(应用程序或基础结构)的情况下经过的时间的上限。当到达该上限时,另一端点被认为不存在,并且该序列被认为是丢失或放弃的。另一方面,如果在IT过期之前接收到消息,则复位IT定时器,并且验证该连接。在又一相关实施例中,基于所标识的IT,本发明计算用于在端点之间发送RM-WS幂等协议基础结构消息的初始时间和周期性,以试图维持连接活跃性。
图1A示出了可用于实施所描述的示例实施例中的某一些的分布式计算系统100。可以依照RM-WS协议在发起者120和接受者125之间建立序列会话。所建立的序列会话可跨越多个或者不跨越实际的网络连接,取决于所使用的传输。此外,连接可以随时间(例如,现在使用一种连接,稍后使用另一种连接)或拓扑结构(例如,对每一次跳跃有不同的传输类型)而不同。例如,如果消息是要通过将消息复制到软盘上然后在发起者120和接受者125之间传递该软盘来交换的,则在计算机之间没有真实的物理连接,并且仍通过充分利用RM-WS协议的特征,本发明可在通信的各方之间,即发起者120和接受者125之间创建会话。
注意,为说明性目的而给出了软盘的示例,并且这不是典型的使用情况。对“交互式应用”更典型的使用情况是对TCP/IP、HTTP(可能在TCP/IP上分层)、UDP/IP、管道或其它实时传输机制的使用。
在示例实施例中,发起者120将主要负责维持连接活跃性。因此,该实施例支持不可寻址的(即,匿名的)发起者120,这一客户机位于防火墙之后,通过诸如HTTP上的SOAP请求-响应协议与接受者125通信。然而,注意,在发起者120是可寻址的情况下(以及在某些情况下即使是匿名的),任一端点(即,发起者120或接受者125)可如下所述地验证连接活跃性。因此,尽管以下示例通常参考发起者120维持和验证连接活跃性,这一参考用于说明性的目的,并非意味着限制或缩小本发明的范围,除非明确地要求保护。
不论发起者120是否为匿名的,发起者120使用包括定时器110的连接验证模块105来防止已建立的序列会话由于在缺少应用程序135或基础结构130消息的情况时的非活动性而终止。例如,基于标识的非活动超时(IT),连接验证模块105使用一种算法来发起RM-WS基础结构消息交换,以防止连接两侧的非活动超时。例如,充分利用RM-WS确认请求消息Ack Request115(注意,在WS-RM的情况下,可使用确认请求消息AckRequested),并使用特别设计的算法,连接验证模块105确定向另一侧发送初始Ack Request消息115(又称为并可在此互换地引用为“保持活跃”消息115)的时间段。
注意,示例实施例允许IT可基于诸如等待延时问题、网络可靠性和其它考虑事项等因素在应用层上调整。例如,在上述软盘示例中,非活动超时时间段的持续时间需要相对较大,以允许由通信介质所施加的等待延时,而其它系统可能要求相对较短的持续时间,以保持会话开放而不从接受者125接收消息。因此,IT可在每一连接的基础上调整,并可在建立序列会话之前在发起者120和接受者125之间协商,和/或在建立会话之后动态地修改。
不论IT值如何,当接受者125接收到AckRequest消息115时,接受者125复位其非活动定时器(未示出)。注意,不论接受者25是接收到基础结构130(例如,AckRequest 115)还是应用层135消息,都复位非活动定时器。此时,接受者125可验证连接活跃性。
类似地,为在发起者120处验证连接活跃性,发起者需要接收序列会话的消息(应用135或基础结构130)。因此,当接受者125接收Ack Request消息115时,通常它通过发送RM-WS确认响应AckResponse 130来响应(例如,在WS-RM的情况下,接受者125发送Ack消息)。在接收到Ack Response或Ack 130之后,发起者120确认连接活跃性,并复位发起者120侧的非活动定时器110,并且维持了连接活跃性。注意,如上所述,由发起者120在非活动超时过期之间接收到的应用消息135也将复位定时器110。在这一情况下,连接验证模块105被复位,并重新计算用于发送AckRequest 115消息的初始时间段。
还要注意,不论发起者120是否接收到消息(应用程序135或基础结构消息130),序列会话至少在接受者125侧延伸。因此,在发起者120是匿名的情况下(或者在发起者120可寻址的某些情况下),对发起者120可能没有非活动超时。因此,Ack Request消息115的周期性发送可在接受者125处验证连接活跃性,而不论发起者120是否接收到消息。实际上,反过来也是可以的,其中,接受者125不强制实行非活动超时,但是当接收到消息时在发起者120处延伸连接。
同样重要的是注意,基础结构消息不是可靠地传输的,并且可以在交换期间的任何时刻丢失。因此,Ack Request消息115可以在从发起者120传送到接受者125期间丢失。ACK Response 130消息可以在从接受者125到发起者120的传送期间丢失。在这一情况下,示例实施例能够基于用于周期性地向接受者发送AckRequest 115的非活动超时时间段来特别地调整该算法。注意,基础结构消息115、135是幂等的,因此不需要重复检测,并且顺序是无关紧要的。
连接验证模块105利用上述特别设计的算法来为初始和随后的周期性尝试选择次数,以如上所述地启动交换。图1B示出了用于发送保持活跃或Ack Request消息115的一种可能算法的示例时间线表示。如图1B所示,该算法时间线基于至少三个属性中的一个或多个。第一个属性是如上所述的非活动超时(IT)140,它定义了发起者120在使序列会话失败或放弃该会话之前在没有从接受者125接收消息的情况下将等待多久。第二个属性是最大重试计数(MRC)155,它是发起者在放弃之前试图重发消息的次数。这适用于应用程序和基础结构消息(例如,保持活跃消息115)两者。第三个属性是保持活跃过期超时(KAET)150,它被定义为发起者120在开始发送保持活跃消息115之前在没有从接受者125得到消息的情况下将等待的间隔-即,KAET 150是IT 140的某一小部分(N),它定义了发送保持活跃消息115的初始时间。在以下示例中,N被设为默认值0.5。因此,发起者120在IT 140过去了一半之后没有来自接受者125的活动的情况下开始发送保持活跃消息115。
基于这三个属性,可计算保持活跃间隔(KAI)145,即保持活跃消息的连续或周期性发送之间的间隔。例如,保持活跃间隔145可以使用算法KAI=IT*(1-N)/MRC来计算。IT 140、KAET 150、MRC 155和KAI 145的关系在图1B中示出。注意,尽管使用了特定的算法来定义KAET 150和KAI 145,然而用于确定何时发送Ack Request消息或保持活跃消息115的其它算法和方式也可用于本发明。例如,用于发送保持活跃消息115的周期性(即,KAI 145)可被随机地选择。因此,对上述用于确定这些值的算法的使用仅用于说明的目的,并不意味着限制或缩小本发明的范围,除非明确地要求保护。
然而,通常发起者120将按照周期性的定时器间隔来计算IT 140、KAET 150和KAI 145。例如,如果IT 140是2小时,MRC 155为5,周期性定时器间隔是2秒,则使用上述公式和假设(例如,N=0.5),KAET 150将等于1小时,而KAI将等于20分钟。将这些值转换成秒,并除以定时器间隔,得到以下:IT/(定时器间隔)=7200/2=3600定时器节拍;KAET(定时器间隔)=3600/2=1800定时器节拍;KAI/(定时器间隔)=720/2=360定时器节拍。因此,在这一情况下,发起者120将在1800个定时器节拍之后开始发送保持活跃消息115。发起者120也将每隔360个定时器信号发送保持活跃消息,直到总共过去了3600个节拍。如果发起者在这一持续时间中(即,在IT间隔中)未从接受者125接收到消息,则发起者120将使该序列会话失败。
在另一示例实施例中,以上实现可使用两个定时器来实现。第一定时器用等于IT 140的定时器间隔来设置。只要从接受者125接收到消息,就复位这第一定时器。如果第一定时器过去而没有来自接受者125的任何活动,则发起者120将终止该序列会话。第二定时器用等于KAET 150的定时器间隔来设置。当该第二定时器过期时,发起者向接受者125发送保持活跃消息115,并用KAI 145的定时器间隔来复位第二定时器。此外,在后续的第二定时器过期时(即,在每次经过了KAI145的间隔之后而没有接收到消息),将用KAI 145的定时器间隔来复位第二定时器。只要从接受者125接收到消息130、135,发起者120将用等于KAET 150的定时器间隔复位第二定时器,且重复该过程。
注意,在等待发送保持活跃消息115时,应用消息可变得可用于发起者120发送。这可能由于发起者120应用程序发送消息或者发起者120重试算法确定是重发缓冲的应用消息的时候而发生。如果发生这一情况,则在示例性实施例中,发起者将重启其KAI 145(或可能KAET 150)间隔。换言之,发起者120自从发送应用消息以来不发送另一保持活跃115消息,直到经过了KAI 145(或KAET 150)的间隔。因此,发起者至少每隔KAI 145的间隔发送某一形式的消息,不论是应用程序还是基础结构。此外,即使所发送的应用消息由于任何原因,例如网络拥塞而被阻断,也通常发送保持活跃消息115。
注意,其它实施例允许向发送的应用消息添加AckRequest 115消息。该实施例可在例如当IT 145将要过期以提示接受者125加快发送Ack Response或Ack 130而非等待确认一批消息时使用。在这一情况下,AckRequest 115消息通常被表示为与应用消息135一起包括的协议元素(例如,由例如WS-RM的RM-WS协议定义的头部或其它指示符)。由此,“AckRequest 115消息”应当被广泛地解释成包括Ack Request 115是如上所述的协议元素的情况。
其它实施例允许在依照RM-WS协议的单个消息(例如,应用程序或基础结构,例如,Ack Request 115消息)中包括多个序列会话的每一个的Ack Request 115。同样,其它实施例允许在依照RM-WS协议的单个消息(例如,应用程序135或基础结构,例如Ack 130消息)中包括多个序列会话的每一个的Ack Response 130。这允许在接收单个消息时验证多个序列的活跃性,由此减少了维持相同的端点120、125之间的多个序列的活跃性所需的消息数。
本发明也可按照包括功能步骤和/或非功能动作的方法来描述。以下是可在实施本发明时执行的动作和步骤的描述。通常,功能步骤按照所实现的结果来描述本发明,而非功能动作描述了用于实现特定结果的更具体的行动。尽管可以按特定的顺序描述或要求保护功能步骤或非功能动作,然而本发明不限于任何特定的顺序或动作和/或步骤的组合。此外,对权利要求书中所述和以下对图3和4的流程图的描述中的步骤和/或动作的使用用于指示对这些术语的期望的特定使用。
图3和4示出了本发明的各种示例性实施例的示例流程图。以下图3和4的描述将偶尔参考来自图1A和1B的对应元素。尽管可对来自这些附图的特定元素做出参考,然而这些元素仅用于说明性的目的,并不意味着限制或缩小本发明的范围,除非明确要求保护。
图3示出了用于通过使用RM-WS协议验证端点应用程序之间的序列会话的连接活跃性的方法300的示例流程图。方法300包括在两个端点之间建立(305)序列会话的动作。例如,可以照RM-WS协议(例如,WSReliableMessaging)在发起者120和接受者125之间建立序列会话。方法300还包括标识(310)非活动超时的动作。例如,连接验证模块105可用于标识非活动超时(IT)140,其中,非活动超时时间段表示对该序列会话在发起者120和接受者125之间没有交换消息的情况下可经过的时间的上限。该IT 140可以是可调整的,以考虑诸如由通信介质施加的等待延时或关于底层网络的可靠性的知识等因素。
在非活动超时时间段过期之前,方法300还包括接收(315)包括唯一序列标识符的消息的动作。例如,发起者120或接受者125的任一个可接收用于验证连接活跃性的消息,其中该消息包括对应于序列会话的唯一序列标识符。所接收的包括唯一序列标识符的消息可以是应用135消息。或者,所接收的消息可以是基础结构消息115、130。例如,如果消息是由发起者120接收的,则所接收的消息可以是响应于由发起者120先前发送的Ack Request 115的Ack 130。如果消息是由接受者125接收的,则消息可以是序列Ack Request 115。不论消息是应用层还是基础结构消息,其它实施例允许单个消息包括多个序列会话的确认请求(例如,AckRequest 115)或确认(例如,Ack 130)。另外,在Ack Request 115包括在应用层消息中的情况下,通常Ack Request 115将被包括在协议元素中,例如消息的头部或其它字段。
基于所接收的消息,方法300还包括复位(320)非活动定时器的动作。例如,如果消息是在发起者120处接收的,则发起者可复位连接验证模块105内的定时器110。然后可重新计算非活动超时时间段,并且重复该过程。如果在复位了非活动定时器之后,在非活动超时时间段140过期之后没有接收到任何应用或基础结构消息,则可放弃该序列会话。
图4示出了用于由发起者通过使用RM-WS协议维持端点之间的序列会话的连接活跃性的方法400的流程图。方法400包括在两个端点之间建立(405)序列会话的动作。例如,可依照RM-WS协议(例如,WSReliableMessaging)在发起者120和接受者125之间建立由唯一序列标识符表示的序列会话。为建立该序列会话,发起者120通常向接受者125发送依照RM-WS协议创建一个或多个序列会话的请求。基于该请求,接受者125可生成唯一序列标识符(例如,全局唯一标识符(GUID)),该标识符用于标识所创建的序列会话。
同样要注意,建立序列会话的其它方法也可用于本发明。例如,发起者120可生成唯一序列标识符,并在创建序列会话的请求中将它们发送到接受者125。实际上,有许多可用于本发明的建立序列会话的其它公知方法。因此,对如何建立序列会话的任何特定参考都仅用于说明性的目的,并不意味着局限或缩小本发明的范围,除非明确地要求保护。
不论序列会话是如何建立的,方法400还包括标识(415)该序列会话的非活动超时时间段的动作。例如,连接验证模块105可标识非活动超时(IT)140,它表示在该序列会话没有接收消息的情况下可经过的时间的上限。该IT 140可以基于诸如传输网络的可靠性或诸如接收确认的最小期望等待延时等其它考虑事项等因素来调整。
方法400还包括计算(417)保持活跃过期超时的动作。例如,连接验证模块105可使用基于非活动超时时间段140的算法来计算保持活跃过期时间(KAET)150,它通常是非活动超时140的一小部分。基于所计算的保持活跃过期超时,方法400还包括发送包括唯一序列标识符的消息的动作。该消息可以是基础结构消息(例如,Ack Request 115)或应用消息135。例如发起者120在KAET 150过期之后可发送Ack Request消息115,它是由RM-WS协议定义的基础结构幂等消息。不论所发送的消息是应用层还是基础结构消息,其它实施例允许消息包括多个序列会话的确认请求(例如,Ack Request 115)。
下一步,方法400包括接收(422)包括唯一序列标识符的消息的动作。即,发起者120可从接受者125接收包括唯一序列标识符的Ack Response 130或应用消息135。如果消息(基础结构或应用消息,例如130、135)是在非活动超时时间段140之前接收的,则维持了序列会话的连接活跃性。此外,基于所接收的消息,方法400还包括复位(425)非活动定时器的动作。即,基于所接收的AckResponse 130或应用消息135,连接验证模块105内的非活动定时器110可对非活动超时140复位,使得序列会话被保持活跃。
还要注意,所接收的消息可以是应用层消息。在这一情况下,Ack Response 130可以被包括在应用层消息中。不论所接收的消息是应用层还是基础结构消息,其它实施例允许消息包括多个序列会话的确认(例如,Ack 130)。
也要注意,Ack Request消息115可对应于已被确认为从接受者125接收的消息。换言之,即使所有消息都被确认为已接收,也可发送Ack Request消息115。此外,要发送到接受者的应用消息可被阻断,但是Ack Request消息115应当在任何情况下都可被发送。
另外要注意,用于计算KAET 150的算法是基于非活动超时140的一小部分(N)的。例如,用于计算KAET 150的非活动超时140的一小部分可以是非活动超时140的一半,使得当非活动定时器110到达IT 140的一半时发送初始AckRequest或保持活跃消息115。此外,示例实施例能够识别最大重试计数(MRC)155,它是发送应用程序和基础结构消息115的最大次数。基于最大重试计数155,可计算保持活跃间隔(KAI)145,它表示发送消息的时间段。因此,一个或多个消息是基于所计算的KAI 145来发送的,其中发送的消息应当包括Ack Request消息115。当然,如上所述,基于KAI 145发送的消息可以是应用消息。此外,注意,非活动超时140可基于所确定的传输网络可靠性或其它考虑事项来调整。
本发明的范围内的实施例也包括用于携带或在其上储存计算机可执行指令或数据结构的计算机可读介质。这类计算机可读介质可以是可由通用或专用计算机访问的任一可用介质。作为示例而非局限,这类计算机可读介质可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储、磁盘存储或其它磁存储设备、或其它可用来以计算机可执行指令或数据结构的形式携带或储存所期望的的程序代码装置并可由通用或专用计算机访问的任一介质。当通过网络或另一通信连接(或者硬布线、或者无线、或硬布线和无线的组合)向计算机传输或提供信息时,计算机适当地将该连接视为计算机可读介质。由此,任一这类连接适当地称为计算机可读介质。上述的组合也应当包括在计算机可读介质的范围内。计算机可执行指令包括,如,促使通用计算机、专用计算机或专用处理设备执行特定功能或功能组的指令和数据。
图2及以下讨论提供了对适于在其中实现本发明的计算环境的简要概括描述。尽管并非所需,但本发明将在诸如由网络环境中的计算机执行的程序模块等计算机可执行指令的一般上下文环境中描述。一般而言,程序模块包括例程、程序、对象、组件、数据结构等等,它们执行特定的任务或实现特定的抽象数据类型。计算机可执行指令、相关的数据结构以及程序模块表示了用于执行这里揭示的方法的步骤的程序代码装置的示例。这一可执行指令或相关数据结构的特定顺序表示了用于实现在这类步骤中所描述的功能的相应动作的示例。
本领域的技术人员可以理解,本发明可以在具有多种类型计算机系统配置的网络计算环境中实践,包括个人计算机、手持式设备、多处理器系统、基于微处理器或可编程消费者电子设备、网络PC、小型机、大型机等等。本发明也可以在分布式计算环境中实践,其中,任务由通过通信网络连接(或者通过硬布线链路、或者通过无线链路、或通过硬布线或无线链路的组合)的本地和远程处理设备来执行。在分布式计算环境中,程序模块可以位于本地和远程存储器存储设备中。
参考图2,用于实现本发明的示例性系统包括常规计算机220形式的通用计算设备,包括处理单元221、系统存储器222以及将包括系统存储器222的各类系统组件耦合至处理单元221的系统总线223。系统总线223可以是若干种总线结构类型的任一种,包括存储器总线或存储器控制器、外围总线以及使用各类总线体系结构的局部总线。系统存储器包括只读存储器(ROM)224和随机存取存储器(RAM)225。基本输入/输出系统(BIOS)226,包含如在启动时协助在计算机220内的元件之间传输信息的基本例程,可储存在ROM 224中。
计算机220也可包括用于对磁硬盘239进行读写的磁硬盘驱动器227、用于对可移动磁盘229进行读写的磁盘驱动器228以及用于对可移动光盘231如CD-ROM或其它光介质进行读写的光盘驱动器230。磁硬盘驱动器227、磁盘驱动器228以及光盘驱动器230分别通过硬盘驱动器接口232、磁盘驱动器接口233和光盘驱动器接口234连接至系统总线223。驱动器及其相关联的计算机可读介质为计算机220提供了计算机可执行指令、数据结构、程序模块和其它数据的非易失性存储。尽管这里描述的示例环境采用了磁硬盘239、可移动磁盘229以及可移动光盘231,然而也可以使用用于储存数据的其它类型的计算机可读介质,包括盒式磁带、闪存卡、数字多功能盘、Bernoulli盒式磁盘、RAM、ROM等等。
包括一个或多个程序模块的程序代码装置可储存在硬盘239、磁盘229、光盘231、ROM 224或RAM 225中,包括操作系统235、一个或多个应用程序236、其它程序模块237以及程序数据238。用户可以通过键盘240、定点设备242或其它输入设备(未示出),如麦克风、操纵杆、游戏垫、圆盘式卫星天线、扫描仪等等向计算机220输入命令和信息。这些和其它输入设备通常通过耦合至系统总线223的串行端口接口246连接到处理单元221。可选地,输入设备也可以通过其它接口连接,如并行端口、游戏端口或通用串行总线(USB)。监视器247或另一显示设备也通过接口,如视频适配器248连接到系统总线223。除监视器之外,个人计算机通常包括其它外围输出设备(未示出),如扬声器和打印机。
计算机220可以使用到一个或多个远程计算机,如远程计算机249a和249b的逻辑连接在网络化环境中操作。远程计算机249a和249b的每一个可以是另一个人计算机、服务器、路由器、网络PC、对等设备或其它普通网络节点,并通常包括许多或所有相对于计算机220所描述的元件,尽管在图2中仅示出了存储器存储设备250a和250b及其关联的应用程序236a和236b。图2描述的逻辑连接包括局域网(LAN)251和广域网(WAN)252,这里示出作为示例而非局限。这类网络环境常见于办公室范围或企业范围计算机网络、内联网以及因特网。
当在LAN网络环境中使用时,计算机220通过网络接口或适配器253连接至局域网251。当在WAN网络环境中使用时,计算机220可包括调制解调器254或用于通过广域网252,如因特网建立通信的其它装置。调制解调器254可以是内置或外置的,通过串行端口接口246连接至系统总线223。在网络化环境中,相对于计算机220所描述的程序模块或其部分可储存在远程存储器存储设备中。可以理解,示出的网络连接是示例性的,也可以使用通过广域网252建立通信的其它装置。
本发明可以用其它特定形式来实施而不脱离其精神或本质特征。所描述的实施例在所有方面都被认为是说明性而非限制性的。因此,本发明的范围是由所附权利要求书而非以上的描述来指示的。落入所附权利要求书的等效技术方案的范围之内的所有改变都包括在其范围之内。
Claims (46)
1.在web服务(WS)环境中的发起者计算机系统处,一种通过使用用于WS的可靠消息通信协议(RM-WS协议)维持端点之间的序列会话的连接活跃性的方法,所述方法包括以下动作:
依照RM-WS协议在两个端点应用程序之间的应用层上建立由唯一序列标识符标识的序列会话;
识别所述序列会话的非活动超时时间段,所述非活动超时时间段表示可在所述序列会话没有接收消息的情况下经过的时间的上限;
依照基于所述非活动超时时间段的算法计算保持活跃过期超时;
基于所计算的保持活跃过期超时,发送包括所述唯一序列标识符的消息;
在所述非活动超时时间段之前接收包括所述唯一序列标识符的消息,这维持了所述连接活跃性;以及
基于所接收的消息,复位所述非活动超时时间段的非活动定时器,使得所述序列会话被保持活跃。
2.如权利要求1所述的方法,其特征在于,所接收的包括所述唯一序列标识符的消息是应用层消息。
3.如权利要求2所述的方法,其特征在于,所述应用层消息包括对一个或多个序列会话的确认响应。
4.如权利要求1所述的方法,其特征在于,所发送的包括所述唯一序列标识符的消息是确认请求消息,它是由所述RM-WS协议定义的基础结构幂等消息,并且其中,所接收的消息是响应于所述确认请求消息的基础结构确认消息。
5.如权利要求4所述的方法,其特征在于,所述确认请求消息对应于已被确认为从所述接受者接收的一个或多个消息。
6.如权利要求4所述的方法,其特征在于,所述确认请求消息包括对多个序列会话的确认请求,并且其中,所接收的消息包括对所述多个序列会话的多个确认响应。
7.如权利要求1所述的方法,其特征在于,所述发起者是不可寻址的,并且所述发起者通过HTTP上的SOAP与所述接受者通信。
8.如权利要求1所述的方法,其特征在于,所发送的包括所述唯一序列标识符的消息是确认请求消息,它是由所述RM-WS协议定义的基础结构幂等消息,并且其中,发送到所述接受者的应用消息被阻断,但是所述确认请求消息在任何情况下都可被发送。
9.如权利要求1所述的方法,其特征在于,用于计算所述保持活跃过期超时的算法还基于所述非活动超时时间段的某一小部分。
10.如权利要求9所述的方法,其特征在于,所发送的包括所述唯一序列标识符的消息是确认请求消息,它是由所述RM-WS协议定义的基础结构幂等消息,并且其中,用于计算所述保持活跃过期超时的所述非活动超时时间段一小部分是所述非活动超时时间段的一半,使得当所述非活动定时器到达所述非活动超时时间段的一半时发送所述确认请求消息。
11.如权利要求9所述的方法,其特征在于,还包括以下动作:
识别最大重试计数,它是发送应用程序和基础结构消息的最大次数;以及
基于所述最大重试计数计算保持活跃间隔,所述保持活跃间隔表示用于发送消息的时间段;以及
基于所计算的保持活跃间隔发送包括所述唯一序列标识符的一个或多个消息,其中,所发送的一个或多个消息包括应用层消息或确认请求消息中的至少一个。
12.如权利要求11所述的方法,其特征在于,所述非活动超时时间段是可调整的,以考虑由通信介质施加的等待延时。
13.如权利要求11所述的方法,其特征在于,所述RM-WS协议是WSReliableMessaging。
14.如权利要求1所述的方法,其特征在于,所发送的消息是应用层消息。
15.如权利要求14所述的方法,其特征在于,与所述应用层消息一起发送确认请求消息,所述确认请求消息是由所述RM-WS协议定义的基础结构幂等消息,并用于加速来自所述接受者的确认响应。
16.如权利要求1所述的方法,其特征在于,在所述非活动超时时间段过期之后没有接收到任何应用或基础结构消息,并放弃所述序列会话。
17.在web服务(WS)环境中的计算机系统处,一种通过使用用于WS的可靠消息通信协议(RM-WS协议)验证端点应用程序之间的序列会话的连接活跃性的方法,所述方法包括以下动作:
依照RM-WS协议在两个端点应用程序之间的应用层上建立由唯一序列标识符标识的序列会话;
标识非活动超时时间段,所述非活动超时时间段表示在所述序列会话的两个端点之间没有交换消息的情况下可经过的时间的上限;
在所述非活动超时时间段过期之前,接收用于验证所述连接活跃性的消息,所述消息包括对应于所述序列会话的唯一序列标识符;以及
基于所接收的消息,复位所述非活动超时时间段的非活动定时器,使得所述序列会话被保持活跃。
18.如权利要求17所述的方法,其特征在于,所接收的包括所述唯一序列标识符的消息是应用消息。
19.如权利要求18所述的方法,其特征在于,所述应用消息包括对包括对应于所述唯一序列标识符的序列会话的一个或多个序列会话的确认响应。
20.如权利要求17所述的方法,其特征在于,所接收的消息是由所述序列会话的发起者接收的,并且其中,所接收的消息是响应于由所述发起者先前发送的确认请求消息的基础结构确认消息。
21.如权利要求20所述的方法,其特征在于,所述基础结构确认消息包括对所述发起者和所述接受者之间的多个序列会话的确认。
22.如权利要求20所述的方法,其特征在于,所述发起者是不可寻址的,且所述发起者通过HTTP上的SOAP与所述接受者通信。
23.如权利要求17所述的方法,其特征在于,所接收的消息是由所述序列会话的接受者接收的,并且其中,所接收的消息是序列确认请求。
24.如权利要求17所述的方法,其特征在于,所述非活动超时时间段是可调整的,以考虑由通信介质施加的等待延时。
25.如权利要求17所述的方法,其特征在于,在复位所述非活动定时器之后,在所述非活动超时时间段过期之后没有接收到任何应用或基础结构消息,且所述序列会话被放弃。
26.在web服务(WS)环境中的发起者计算机系统处,一种用于实现通过使用用于WS的可靠消息通信协议(RM-WS协议)来维持端点之间的序列会话的连接活跃性的方法的计算机程序产品,所述计算机程序产品包括其上储存有计算机可执行指令的一个或多个计算机可读介质,当由处理器执行时,所述计算机可执行指令可使所述消息通信系统执行以下动作:
依照RM-WS协议在两个端点应用程序之间的应用层上建立由唯一序列标识符表示的序列会话;
识别所述序列会话的非活动超时时间段,所述非活动超时时间段表示在所述序列会话没有接收任何消息的情况下可以经过的时间的上限;
依照基于所述非活动超时时间段的算法计算保持活跃过期超时;
基于所计算的保持活跃过期超时,发送包括所述唯一序列标识符的消息;
在所述非活动超时时间段之前接收包括所述唯一序列标识符的消息,这维持了所述连接活跃性;以及
基于所接收的消息,复位所述非活动超时时间段的非活动定时器,使得所述序列会话被保持活跃。
27.如权利要求26所述的计算机程序产品,其特征在于,所接收的包括所述唯一序列标识符的消息是应用层消息。
28.如权利要求26所述的计算机程序产品,其特征在于,所发送的包括所述唯一序列标识符的消息是确认请求消息,它是由所述RM-WS协议定义的基础结构幂等消息,并且其中,所接收的消息是响应于所述确认请求消息的基础结构确认消息。
29.如权利要求26所述的计算机程序产品,其特征在于,所述确认请求消息对应于已被确认为从所述接受者接收的一个或多个消息。
30.如权利要求26所述的计算机程序产品,其特征在于,所述发起者是不可寻址的,且所述发起者通过HTTP上的SOAP与所述接受者通信。
31.如权利要求26所述的计算机程序产品,其特征在于,所发送的包括所述唯一序列标识符的消息是确认请求消息,它是由所述RM-WS协议定义的基础结构幂等消息,并且其中,发送到所述接受者的应用消息被阻断,但所述确认请求消息可在任何情况下被发送。
32.如权利要求26所述的计算机程序产品,其特征在于,用于计算所述保持活跃过期超时的算法还基于所述非活动超时时间段的某一部分。
33.如权利要求32所述的计算机程序产品,其特征在于,所发送的包括所述唯一序列标识符的消息是确认请求消息,它是由所述RM-WS协议定义的基础结构幂等消息,并且其中,用于计算所述保持活跃过期超时的所述非活动超时时间段的一部分是所述非活动超时时间段的一半,使得当所述非活动定时器到达所述非活动超时时间段的一半时,发送所述确认请求消息。
34.如权利要求32所述的计算机程序产品,其特征在于,还包括使所述消息通信系统执行以下动作的计算机可执行指令:
识别最大重试计数,它是发送应用程序和基础结构消息的最大次数;以及
基于所述最大重试计数计算保持活跃间隔,所述保持活跃间隔表示用于发送消息的时间段;以及
基于所计算的保持活跃间隔发送包括所述唯一序列标识符的一个或多个消息,其中,所发送的一个或多个消息包括应用层消息或确认请求消息中的至少一个。
35.如权利要求34所述的计算机程序产品,其特征在于,所述非活动超时时间段是可调整的,以考虑由通信介质施加的等待延时。
36.如权利要求34所述的计算机程序产品,其特征在于,所述RM-WS协议是WSReliableMessaging。
37.如权利要求26所述的计算机程序产品,其特征在于,在所述非活动超时时间段过期之后没有接收到任何应用或基础结构消息,且所述序列会话被放弃。
38.如权利要求26所述的计算机程序产品,其特征在于,所发送的消息是应用层消息。
39.如权利要求38所述的计算机程序产品,其特征在于,与所述应用层消息一起发送确认请求消息,所述确认请求消息是由所述RM-WS协议定义的基础结构幂等消息,并用于加速来自所述接受者的确认响应。
40.在web服务(WS)环境中的计算机系统处,一种用于实现通过使用用于WS的可靠消息通信协议(RM-WS协议)来验证端点应用程序之间的序列会话的连接活跃性的方法的计算机程序产品,所述计算机程序产品包括其上储存计算机可执行指令的一个或多个计算机可读介质,当由处理器执行时,所述计算机可执行指令使所述消息通信系统执行以下动作:
依照RM-WS协议在两个端点应用程序之间的应用层上建立由唯一序列标识符标识的序列会话;
识别非活动超时时间段,所述非活动超时时间段表示在所述序列会话的两个端点之间没有交换消息的情况下可经过的时间的上限;
在所述非活动超时时间段过期之前,接收用于验证所述连接活跃性的消息,所述消息包括对应于所述序列会话的唯一序列标识符;以及
基于所接收的消息,复位所述非活动超时时间段的非活动定时器,使得所述序列会话被保持活跃。
41.如权利要求40所述的计算机程序产品,其特征在于,所接收的包括所述唯一序列标识符的消息是应用消息。
42.如权利要求40所述的计算机程序产品,其特征在于,所接收的消息是由所述序列会话的发起者接收的,并且其中,所接收的消息是响应于先前由所述发起者发送的确认请求消息的基础结构确认消息。
43.如权利要求42所述的计算机程序产品,其特征在于,所述发起者是不可寻址的,且所述发起者通过HTTP上的SOAP与所述接受者通信。
44.如权利要求40所述的计算机程序产品,其特征在于,所接收的消息是由所述序列会话的接受者接收的,并且其中,所接收的消息是序列确认请求。
45.如权利要求40所述的计算机程序产品,其特征在于,所述非活动超时时间段是可调整的,以考虑由通信介质施加的等待延时k。
46.如权利要求40所述的计算机程序产品,其特征在于,在复位所述非活动定时器之后,在所述非活动超时时间段过期之后没有接收到任何应用或基础结构消息,并且所述序列会话被放弃。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/007,372 US7899921B2 (en) | 2004-12-08 | 2004-12-08 | Verifying and maintaining connection liveliness in a reliable messaging for web services environment |
US11/007,372 | 2004-12-08 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1787497A true CN1787497A (zh) | 2006-06-14 |
CN1787497B CN1787497B (zh) | 2011-11-16 |
Family
ID=35871142
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2005101250039A Active CN1787497B (zh) | 2004-12-08 | 2005-11-08 | 在web服务环境可靠消息通信中验证和维持连接活跃性 |
Country Status (7)
Country | Link |
---|---|
US (1) | US7899921B2 (zh) |
EP (1) | EP1670213B1 (zh) |
JP (1) | JP4972304B2 (zh) |
KR (1) | KR101169086B1 (zh) |
CN (1) | CN1787497B (zh) |
AT (1) | ATE390793T1 (zh) |
DE (1) | DE602005005613T2 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101286860B (zh) * | 2007-04-13 | 2010-12-22 | 联想(北京)有限公司 | 一种维护终端门户会话的方法、系统及终端服务门户装置 |
CN102736916A (zh) * | 2011-02-04 | 2012-10-17 | 西门子公司 | 用于在网络应用程序中保持网络会话有效的方法 |
CN107835454A (zh) * | 2017-11-03 | 2018-03-23 | 青岛海信电器股份有限公司 | 基于WebApp的超时处理方法、装置及存储介质 |
CN108874654A (zh) * | 2017-05-15 | 2018-11-23 | 阿里巴巴集团控股有限公司 | 幂等有效性测试方法、装置及设备、可读介质 |
Families Citing this family (77)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10225471A1 (de) * | 2002-06-10 | 2003-12-18 | Philips Intellectual Property | Verfahren und Chipeinheit zum Überwachen des Betriebs einer Mikrocontrollereinheit |
US7899921B2 (en) | 2004-12-08 | 2011-03-01 | Microsoft Corporation | Verifying and maintaining connection liveliness in a reliable messaging for web services environment |
US8438633B1 (en) | 2005-04-21 | 2013-05-07 | Seven Networks, Inc. | Flexible real-time inbox access |
WO2006136660A1 (en) | 2005-06-21 | 2006-12-28 | Seven Networks International Oy | Maintaining an ip connection in a mobile network |
WO2006136661A1 (en) * | 2005-06-21 | 2006-12-28 | Seven Networks International Oy | Network-initiated data transfer in a mobile network |
US8731542B2 (en) | 2005-08-11 | 2014-05-20 | Seven Networks International Oy | Dynamic adjustment of keep-alive message intervals in a mobile network |
US7788338B2 (en) | 2005-09-21 | 2010-08-31 | Sap Ag | Web services message processing runtime framework |
US7716279B2 (en) * | 2005-09-21 | 2010-05-11 | Sap Ag | WS addressing protocol for web services message processing runtime framework |
US8745252B2 (en) * | 2005-09-21 | 2014-06-03 | Sap Ag | Headers protocol for use within a web services message processing runtime framework |
US7721293B2 (en) * | 2005-09-21 | 2010-05-18 | Sap Ag | Web services hibernation |
US7761533B2 (en) * | 2005-09-21 | 2010-07-20 | Sap Ag | Standard implementation container interface for runtime processing of web services messages |
US7716360B2 (en) * | 2005-09-21 | 2010-05-11 | Sap Ag | Transport binding for a web services message processing runtime framework |
US7711836B2 (en) * | 2005-09-21 | 2010-05-04 | Sap Ag | Runtime execution of a reliable messaging protocol |
US7606921B2 (en) * | 2005-09-21 | 2009-10-20 | Sap Ag | Protocol lifecycle |
US20070067461A1 (en) * | 2005-09-21 | 2007-03-22 | Savchenko Vladimir S | Token streaming process for processing web services message body information |
US7921208B2 (en) * | 2005-10-24 | 2011-04-05 | Sap Aktiengesellschaft | Network time out handling |
US7698409B2 (en) * | 2006-12-22 | 2010-04-13 | Nokia Corporation | Method and an apparatus for executing timed network operations |
JP4813596B2 (ja) * | 2007-03-28 | 2011-11-09 | パイオニア株式会社 | コンテンツ配信システム及びその制御方法 |
US8631425B2 (en) * | 2007-05-16 | 2014-01-14 | Sap Ag | Method for processing of application transaction in a web services framework |
US20080307056A1 (en) * | 2007-06-07 | 2008-12-11 | Vladimir Videlov | Web Services Reliable Messaging |
US11297180B2 (en) | 2007-06-13 | 2022-04-05 | First Orion Corp. | Method and system for providing additional information to called parties |
US8879702B1 (en) | 2007-10-17 | 2014-11-04 | Accudata Technologies, Inc. | Method and system for providing additional information to called parties |
US8548140B2 (en) | 2007-06-13 | 2013-10-01 | I D You, Llc | Providing audio announcement to called parties |
US8811575B2 (en) | 2007-06-13 | 2014-08-19 | I D You, Llc | Delivering additional information to receiving parties for text messaging based caller ID |
US8625762B1 (en) | 2007-06-13 | 2014-01-07 | Accudata Technologies, Inc. | Providing additional information to called parties |
US10958781B2 (en) | 2007-06-13 | 2021-03-23 | First Orion Corp. | Providing audio content to a device |
US8488754B1 (en) | 2007-10-17 | 2013-07-16 | Accudata Technologies, Inc. | IP-enabled information delivery |
US8156219B2 (en) * | 2007-08-03 | 2012-04-10 | At&T Intellectual Property I, L.P. | System and method of health monitoring and fault monitoring in a network system |
US11811966B2 (en) | 2007-10-17 | 2023-11-07 | First Orion Corp. | IP-enabled information delivery |
US8315990B2 (en) * | 2007-11-08 | 2012-11-20 | Microsoft Corporation | Consistency sensitive streaming operators |
US8099505B2 (en) * | 2008-03-26 | 2012-01-17 | Microsoft Corporation | Aggregating connection maintenance to optimize resource consumption |
US20100088325A1 (en) | 2008-10-07 | 2010-04-08 | Microsoft Corporation | Streaming Queries |
US8090850B2 (en) * | 2008-12-12 | 2012-01-03 | Tekelec | Methods, systems, and computer readable media for regulating network address translator (NAT) and firewall pinhole preservation traffic in a session initiation protocol (SIP) network |
US8375134B2 (en) | 2009-06-08 | 2013-02-12 | Microsoft Corporation | Determining an efficient keep-alive interval for a network connection |
US20100329127A1 (en) * | 2009-06-30 | 2010-12-30 | Computer Associates Think, Inc. | Network entity self-governing communication timeout management |
US8954502B1 (en) * | 2009-08-06 | 2015-02-10 | Marvell International Ltd. | Infrastructure devices in peer-to-peer environments |
US8370443B2 (en) * | 2009-09-08 | 2013-02-05 | Microsoft Corporation | Reliable messaging using publish subscribe mechanism |
US9268877B2 (en) * | 2009-09-22 | 2016-02-23 | Telefonaktiebolaget L M Ericsson (Publ) | Method and arrangements for enabling modifications of XML documents |
US8132184B2 (en) * | 2009-10-21 | 2012-03-06 | Microsoft Corporation | Complex event processing (CEP) adapters for CEP systems for receiving objects from a source and outputing objects to a sink |
US8413169B2 (en) * | 2009-10-21 | 2013-04-02 | Microsoft Corporation | Time-based event processing using punctuation events |
US8195648B2 (en) * | 2009-10-21 | 2012-06-05 | Microsoft Corporation | Partitioned query execution in event processing systems |
US9158816B2 (en) | 2009-10-21 | 2015-10-13 | Microsoft Technology Licensing, Llc | Event processing with XML query based on reusable XML query template |
US9075661B2 (en) | 2010-10-20 | 2015-07-07 | Microsoft Technology Licensing, Llc | Placing objects on hosts using hard and soft constraints |
US8751656B2 (en) | 2010-10-20 | 2014-06-10 | Microsoft Corporation | Machine manager for deploying and managing machines |
US8417737B2 (en) | 2010-10-20 | 2013-04-09 | Microsoft Corporation | Online database availability during upgrade |
US8296267B2 (en) | 2010-10-20 | 2012-10-23 | Microsoft Corporation | Upgrade of highly available farm server groups |
US8799453B2 (en) | 2010-10-20 | 2014-08-05 | Microsoft Corporation | Managing networks and machines for an online service |
US8386501B2 (en) | 2010-10-20 | 2013-02-26 | Microsoft Corporation | Dynamically splitting multi-tenant databases |
US8850550B2 (en) | 2010-11-23 | 2014-09-30 | Microsoft Corporation | Using cached security tokens in an online service |
US9721030B2 (en) | 2010-12-09 | 2017-08-01 | Microsoft Technology Licensing, Llc | Codeless sharing of spreadsheet objects |
KR101750914B1 (ko) | 2011-03-25 | 2017-06-27 | 콤스코프 커넥티비티 엘엘씨 | 다중-경로 커넥터와 사용하기 위한 식별자 인코딩 기법 |
US9497098B2 (en) * | 2011-03-25 | 2016-11-15 | Commscope Technologies Llc | Event-monitoring in a system for automatically obtaining and managing physical layer information using a reliable packet-based communication protocol |
US8832503B2 (en) | 2011-03-25 | 2014-09-09 | Adc Telecommunications, Inc. | Dynamically detecting a defective connector at a port |
US8429280B2 (en) * | 2011-04-28 | 2013-04-23 | Time Warner Cable Inc. | Systems and methods for maintaining a measure of session time on a networked device |
US8892710B2 (en) * | 2011-09-09 | 2014-11-18 | Microsoft Corporation | Keep alive management |
US8806250B2 (en) | 2011-09-09 | 2014-08-12 | Microsoft Corporation | Operating system management of network interface devices |
US9049660B2 (en) | 2011-09-09 | 2015-06-02 | Microsoft Technology Licensing, Llc | Wake pattern management |
US8713097B2 (en) * | 2011-09-30 | 2014-04-29 | Alcatel Lucent | Adaptive period network session reservation |
US9025475B1 (en) * | 2012-01-16 | 2015-05-05 | Amazon Technologies, Inc. | Proactively retransmitting data packets in a low latency packet data network |
EP2912792A4 (en) * | 2012-10-29 | 2016-06-29 | Ikanos Communications Inc | DEVICE FOR TAKE BACK RECOVERY IN TIME DUPLEX SYSTEMS |
FR3000336A1 (fr) | 2012-12-20 | 2014-06-27 | France Telecom | Mecanisme de gestion d'une session de communication |
TWI483603B (zh) * | 2013-03-08 | 2015-05-01 | 宏碁股份有限公司 | 維持連線方法及應用該方法之電子裝置 |
US9065763B2 (en) | 2013-03-15 | 2015-06-23 | Schweitzer Engineering Laboratories, Inc. | Transmission of data over a low-bandwidth communication channel |
US9270109B2 (en) * | 2013-03-15 | 2016-02-23 | Schweitzer Engineering Laboratories, Inc. | Exchange of messages between devices in an electrical power system |
US9620955B2 (en) | 2013-03-15 | 2017-04-11 | Schweitzer Engineering Laboratories, Inc. | Systems and methods for communicating data state change information between devices in an electrical power system |
GB2519118A (en) * | 2013-10-10 | 2015-04-15 | Ibm | Web page reload |
US10516743B1 (en) * | 2015-03-24 | 2019-12-24 | Quest Software Inc. | Systems and methods for facilitating portable user sessions |
CN105933375B (zh) * | 2016-03-30 | 2019-12-24 | 广州华多网络科技有限公司 | 一种连麦会话的监测方法、装置和服务器 |
US10575248B2 (en) | 2016-12-28 | 2020-02-25 | Nanning Fugui Precision Industrial Co., Ltd. | Wireless sensing network communication method |
KR20180123391A (ko) * | 2017-05-08 | 2018-11-16 | (주)에프씨아이 | 접속확인 패킷 전송 제어방법 및 장치 |
JP6740274B2 (ja) * | 2018-03-29 | 2020-08-12 | 日本電信電話株式会社 | 情報処理装置、情報処理方法、および、情報処理プログラム |
US10887287B2 (en) * | 2018-05-11 | 2021-01-05 | Citrix Systems, Inc. | Connecting client devices to anonymous sessions via helpers |
US10536828B1 (en) * | 2018-10-01 | 2020-01-14 | Ford Global Technologies, Llc | Keeping radio resource control activity after SMS wakeup |
US10819727B2 (en) | 2018-10-15 | 2020-10-27 | Schweitzer Engineering Laboratories, Inc. | Detecting and deterring network attacks |
CN111343700A (zh) * | 2018-12-19 | 2020-06-26 | 南宁富桂精密工业有限公司 | 无线传感网络通信方法 |
EP3968600A1 (en) * | 2020-09-11 | 2022-03-16 | Volkswagen Ag | Controlling a communication between a vehicle and a backend device |
EP3968601B1 (en) * | 2020-09-11 | 2024-05-08 | Volkswagen Ag | Synchronization of a communication between a vehicle and a backend device using a hash message |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4635187A (en) * | 1983-12-19 | 1987-01-06 | At&T Bell Laboratories | Control for a multiprocessing system program process |
US5699511A (en) * | 1995-10-10 | 1997-12-16 | International Business Machines Corporation | System and method for dynamically varying low level file system operation timeout parameters in network systems of variable bandwidth |
JP3185760B2 (ja) * | 1998-06-26 | 2001-07-11 | 日本電気株式会社 | 分散処理システム、サーバ、クライアント、遠隔処理起動方法および記録媒体 |
US7103806B1 (en) * | 1999-06-04 | 2006-09-05 | Microsoft Corporation | System for performing context-sensitive decisions about ideal communication modalities considering information about channel reliability |
JP2001060155A (ja) * | 1999-08-20 | 2001-03-06 | Fujitsu Ltd | メッセージ処理装置 |
US7213063B2 (en) * | 2000-01-18 | 2007-05-01 | Lucent Technologies Inc. | Method, apparatus and system for maintaining connections between computers using connection-oriented protocols |
US6976071B1 (en) * | 2000-05-03 | 2005-12-13 | Nortel Networks Limited | Detecting if a secure link is alive |
JP2001331386A (ja) * | 2000-05-24 | 2001-11-30 | Nec Corp | システム構成作成支援サービスシステム及びその方法 |
US7562147B1 (en) * | 2000-10-02 | 2009-07-14 | Microsoft Corporation | Bi-directional HTTP-based reliable messaging protocol and system utilizing same |
KR100459126B1 (ko) * | 2002-01-09 | 2004-12-03 | 엘지전자 주식회사 | 통신망의 세션 유지 제어 방법 |
JP2004246873A (ja) * | 2003-01-23 | 2004-09-02 | Ricoh Co Ltd | 情報処理装置および情報処理方法 |
US7676580B2 (en) | 2003-03-27 | 2010-03-09 | Microsoft Corporation | Message delivery with configurable assurances and features between two endpoints |
JP3882917B2 (ja) * | 2003-04-03 | 2007-02-21 | 日本アイ・ビー・エム株式会社 | 情報処理システム、情報処理装置及びプログラム |
US7584274B2 (en) * | 2004-06-15 | 2009-09-01 | International Business Machines Corporation | Coordinating use of independent external resources within requesting grid environments |
US7899921B2 (en) | 2004-12-08 | 2011-03-01 | Microsoft Corporation | Verifying and maintaining connection liveliness in a reliable messaging for web services environment |
-
2004
- 2004-12-08 US US11/007,372 patent/US7899921B2/en active Active
-
2005
- 2005-10-20 KR KR1020050099107A patent/KR101169086B1/ko active IP Right Grant
- 2005-11-08 CN CN2005101250039A patent/CN1787497B/zh active Active
- 2005-11-08 JP JP2005323895A patent/JP4972304B2/ja active Active
- 2005-11-09 EP EP05110512A patent/EP1670213B1/en active Active
- 2005-11-09 DE DE602005005613T patent/DE602005005613T2/de active Active
- 2005-11-09 AT AT05110512T patent/ATE390793T1/de not_active IP Right Cessation
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101286860B (zh) * | 2007-04-13 | 2010-12-22 | 联想(北京)有限公司 | 一种维护终端门户会话的方法、系统及终端服务门户装置 |
CN102736916A (zh) * | 2011-02-04 | 2012-10-17 | 西门子公司 | 用于在网络应用程序中保持网络会话有效的方法 |
CN108874654A (zh) * | 2017-05-15 | 2018-11-23 | 阿里巴巴集团控股有限公司 | 幂等有效性测试方法、装置及设备、可读介质 |
CN107835454A (zh) * | 2017-11-03 | 2018-03-23 | 青岛海信电器股份有限公司 | 基于WebApp的超时处理方法、装置及存储介质 |
CN107835454B (zh) * | 2017-11-03 | 2020-04-17 | 青岛海信电器股份有限公司 | 基于WebApp的超时处理方法、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
DE602005005613T2 (de) | 2008-07-17 |
ATE390793T1 (de) | 2008-04-15 |
JP4972304B2 (ja) | 2012-07-11 |
KR20060064517A (ko) | 2006-06-13 |
KR101169086B1 (ko) | 2012-07-26 |
DE602005005613D1 (de) | 2008-05-08 |
US20060123119A1 (en) | 2006-06-08 |
EP1670213A1 (en) | 2006-06-14 |
CN1787497B (zh) | 2011-11-16 |
JP2006164252A (ja) | 2006-06-22 |
US7899921B2 (en) | 2011-03-01 |
EP1670213B1 (en) | 2008-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1787497B (zh) | 在web服务环境可靠消息通信中验证和维持连接活跃性 | |
US8135794B2 (en) | Availability and scalability in a messaging system in a manner transparent to the application | |
CN1812405A (zh) | 在请求-响应传输协议上的可靠的单向消息传递 | |
CN1783852B (zh) | 使用web服务可靠消息通信协议的高效消息传输 | |
US7693070B2 (en) | Congestion reducing reliable transport packet retry engine | |
US20040205781A1 (en) | Message delivery with configurable assurances and features between two endpoints | |
JP2006236391A (ja) | パケットベースの通信ネットワークにおけるメッセージ受信の肯定応答システム及び方法 | |
US20090003342A1 (en) | Reliable multicast with automatic session startup and client backfil support | |
CN1832475A (zh) | 通过请求-响应传输的可靠的请求-响应消息通信 | |
US20100185586A1 (en) | Message-based scalable data transport protocol | |
JP2010520687A (ja) | 物理伝送媒体が中断した場合のtcpデータ伝送プロセスを改善する方法 | |
US7693998B2 (en) | System and method for message-based scalable data transport | |
CN1816048A (zh) | 通信信道模型 | |
CN1898649A (zh) | 防止网络重置拒绝服务攻击 | |
Nwankwo et al. | Hybrid MQTT-COAP Protocol for Data Communication in Internet of Things | |
Dietmüller | Fault-Tolerance Mechanisms for Glossy-based Wireless Communication Networks |
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 | ||
ASS | Succession or assignment of patent right |
Owner name: MICROSOFT TECHNOLOGY LICENSING LLC Free format text: FORMER OWNER: MICROSOFT CORP. Effective date: 20150428 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20150428 Address after: Washington State Patentee after: Micro soft technique license Co., Ltd Address before: Washington State Patentee before: Microsoft Corp. |