CN101336539B - 网关实体 - Google Patents

网关实体 Download PDF

Info

Publication number
CN101336539B
CN101336539B CN200680051833.4A CN200680051833A CN101336539B CN 101336539 B CN101336539 B CN 101336539B CN 200680051833 A CN200680051833 A CN 200680051833A CN 101336539 B CN101336539 B CN 101336539B
Authority
CN
China
Prior art keywords
message
transaction identifiers
outbound message
sequence step
gateway entity
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
CN200680051833.4A
Other languages
English (en)
Other versions
CN101336539A (zh
Inventor
P·巴塔
R·萨博
L·韦斯特伯格
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.)
Telefonaktiebolaget LM Ericsson AB
Original Assignee
Telefonaktiebolaget LM Ericsson AB
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 Telefonaktiebolaget LM Ericsson AB filed Critical Telefonaktiebolaget LM Ericsson AB
Publication of CN101336539A publication Critical patent/CN101336539A/zh
Application granted granted Critical
Publication of CN101336539B publication Critical patent/CN101336539B/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
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1069Session establishment or de-establishment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • H04L65/1104Session initiation protocol [SIP]
    • 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/142Managing session states for stateless protocols; Signalling session states; State transitions; Keeping-state mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Multimedia (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)
  • Communication Control (AREA)
  • Transition And Organic Metals Composition Catalysts For Addition Polymerization (AREA)

Abstract

提供简单的网关和用于控制所述网关的改进的控制方法,以区分不同种类的消息而无需网关完全了解协议。网关(200c)使消息通过而从应用实体(310,320)到达网络元件(100)或者反之亦然。网关(200c)包括用于确定事务标识符的事务标识符确定器(220)和/或用于确定序列步长信息的序列步长信息确定器(260),和将事务标识符和/或序列步长信息与预先存储的内容相比较的控制逻辑(280)。通过该比较,可以确定消息是初始消息还是对初始消息的响应消息,以及该消息分别是第一还是进一步的消息。

Description

网关实体
技术领域
本发明涉及可连接到通信网络的网关实体和控制所述网关实体的方法。
背景技术
在通信领域中,在可包括一个或更多网络的通信系统中提供不同功能性的实体是已知的。本申请和权利要求意义中的实体是用于提供特定功能性的一个装置或多个装置,例如单个单元或节点,或者一起起作用的单元或节点的集合。一种已知类型的实体是用作一侧的一个或更多实体与另一侧的一个或更多实体之间的门的网关实体。例如,网关实体可以在两个不同网络之间的转换处提供,用于允许在两个网络的实体之间进行通信。网关实体的另一个例子是在如下情境中,即多个应用组件被提供在冗余结构中(也被称作高可用性系统或容错系统),并被连接到网关实体,所述网关实体提供到应用组件的外部网络接入的实体,其中一个应用组件能够在其它应用组件发生故障时进行接管。
这种网关实体的基本问题是它们的复杂性。也就是说,网关实体被设计为处理正被在两侧实体之间发送的消息,这样使得网关实体必须能够了解正被用于该消息的协议。例如,在两个不同网络之间的网关实体的情况下,网关实体应该被安排为实现用于由该网关实体通过的消息的每个协议。
在冗余系统中,进一步的问题发生在网关中。
由于电信网络的复杂性,存在发生可能故障的各种理由,这可能发生在网络组件本身中,例如,在那些组件上运行的硬件或软件,还可能由对网络组件的环境影响所触发,阻止用户接收到所提供的服务。
服务可保持性(retainability)是这些网络成功的关键,这意味着即使在故障过程中,当备份过程接管以便提供连续服务时,对用户接收服务没有影响或者只有最小的影响。
通常,提供电信级高可用性要求必须有被设计为具有或支持高可用性功能的硬件或软件组件。这些种类的平台具有电信级操作系统和专门写入的应用以便利用高可用性功能。这种操作系统和应用的设计和实现过程是长时间和昂贵的。
有很多高可用性的解决方案,根据那些在故障期间被阻止以便它们能够平滑继续的应用的状态,可被分类为无状态的或有状态的,或者那些状态不得不在故障之后被重建。有状态的解决方案更适合用于平滑服务,因为重建状态会花费非常大量的时间,这可能会导致服务中断或降级。
例如,有状态的高可用性系统可包括一个或更多主要和备份组件和附加机构,以确保主要组件的状态被复制到备份组件。最广泛周知的系统利用热备用或1+1冗余机制,其中主要和备份组件以成对关系工作,且主要组件服务所有需求,而备份组件等待当主要组件由于故障而不能工作时进行接管。在正常操作期间,来自主要组件的应用状态被周期性地复制到备份组件,以便在主要组件停止的情况下具有最新版本。故障过程将备份组件的角色变为主要组件,直到发生故障的主要组件恢复。
另一个例子是容错系统,其中,两个或更多同样的组件与相同的输入数据并行工作。这些组件的输出被比较以确定它们之中是否存在一个故障组件。这些双模或多模的冗余系统具有冗余的硬件建立,并且固有地是有状态的,因为每个组件与其它组件严格并行地处理相同数据。因此,如果一个组件故障,则它可以被弃用,而其它组件能够立刻提供服务,因为在其简单的故障机制中没有切换时间或其它延迟。
然而,上面讨论的按照主要-备份原理建立的方法必须采用附加机制,以便能够在备份组件中复制状态。状态复制提出了几个要求,例如,状态需要在相应组件中是一致和最新的,用于负责移动状态的机制在其本身中必须是有弹性的。因此,对于状态复制来说,操作系统和应用必须被设计为支持该特征。操作系统必须实现和处理弹性数据库和过程,管理这些数据库的故障并支持各种高可用性功能,如故障检测和故障控制逻辑。并且,应用必须被专门编码,以帮助状态复制。因此,这意味着长时间和昂贵的设计和实现过程以及需要长时间市场周期的复杂系统。并且,无论是操作系统还是应用在不同平台中都不是便携的。
并且,双模或多模冗余系统需要每个组件中的严格并行处理,这通常是极其难以实现的。在不同处理器中,不仅指令必须在时钟周期的意义上被同时处理,而且操作系统(例如端口选择、中断、任务时间表)和必须被控制以便实现精确并行操作的应用(例如添加随机字段)还引入了随机性。并且,当在输出中存在比较非匹配时,系统需要附加机制来决定正确的值。这种支持来自板子(硬件)本身或来自软件组件,那是细节不公知的私有扩展。为了满足这些要求,特殊硬件和操作系统通常被需要,使呈现容错系统非常贵。
EP1 599 009A1描述了基于消息的通信的改进。这里,提供了在基于消息的通信系统中的中间元件和源元件之间传送信息的方法,其中请求消息被从源元件发送,并响应于相应的响应,消息被从目的元件发送。消息的交换称为SIP中的事务,其中事务包括来自第一请求消息直到最终响应消息的所有消息。代理是有状态的代理,其确定接收的消息是否是当前事务的一部分,例如通过将用于当前消息的事务标识符与存储在事务环境中的信息相匹配。并且,提供了另一代理,其是无状态的,即其不保持事务环境并由此不需要环境存储装置。
US 6,360,270B1描述了用于服务器的混合和预测的容许控制策略。这里,描述了用于服务器的容许控制系统,包括从一个或更多针对服务器的客户端接收消息流的容许控制器。容许控制器将消息以流的形式中继到服务器,所述流对应于客户端与服务器之间进行的大量会话。容许控制器基于由资源监视器提供的指示和关于到达的消息是否对应于已经与服务器正在进行的会话的确定来处理单独到达的消息。例如,事务列表识别出任何会话。
发明内容
因此,本发明的目标是提供普遍适用于更简单地安排网关的机制,和控制这种网关的改进的控制方法。
该目标通过具有独立权利要求1特征的网关实体来实现,以及通过具有独立权利要求10特征的网关实体控制方法来实现。
本发明实施例的进一步优点在从属权利要求中被描述。
根据一个例子,提供用于将至少一个应用实体与通信网络相连接的网关实体和相应的控制方法,所述应用实体运行遵照预先确定的协议规则的应用,其中所述预先确定的协议规定包括初始消息和至少一个响应消息的事务,事务标识符可为每个消息导出,且所述事务标识符对每个事务来说相互不同,所述网关实体包括:用于由在所述网关实体处从所述应用实体或所述网络接收的消息来确定事务标识符的事务标识符确定器,用于保持事务标识符的存储器,和控制逻辑,所述控制逻辑用于将所述确定的事务标识符与存储在所述存储器中的事务标识符比较,并用于如果所述确定的事务标识符未出现在所述存储器中,则将所述确定的事务标识符写入所述存储器,并将所述消息作为初始消息处理,并用于如果所述确定的事务标识符出现在所述存储器中,则将所述消息作为响应消息处理。
本申请和权利要求含义中的应用实体是运行应用的任何实体,诸如在冗余系统中运行的服务器或应用组件。事务标识符可以是事务能够由其识别的任意适当的或理想的信息。例如,其可以是发送初始消息的实体添加到所述初始消息中的信息,和所述初始消息的接收机根据协议然后还放置到响应消息中的信息。
上述实施例的网关实体可以是简单的,并能够处理给定协议的消息而不必完全了解协议的特殊细节。提供了用于从响应消息中区分初始消息的机制。网关实体被安排为能够区分协议的事务标识符,但不需要其它的协议知识。初始消息(例如请求)和响应消息可通过简单地检验消息的特定事务标识符是否出现在存储器中,即所述事务标识符识别的消息是否在先前已经通过了网关实体而被容易地区分。因此,为了从响应消息中区分初始消息,网关实体不必具体了解潜在的协议,也不必具体了解消息的结构和内容,而只需要为事务标识符识别消息编码中的一个或多个字段。
根据另一实施例,提供用于将至少两个应用实体与通信网络相连接的网关实体和相应的控制方法,所述应用实体独立地运行遵照预先确定的协议规则的相同应用,其中所述规则规定至少一个消息序列,所述序列包括至少两个序列步长,并且序列步长信息可为每个消息导出并对序列步长来说彼此不同,但是对在所述独立运行应用实体中以相同序列步长生成的两个消息来说相同,所述网关实体包括:消息管理器,所述消息管理器包括用于从所述应用实体接收出站(outbound)消息的接收机、用于确定出站消息中序列步长信息的序列步长信息确定器、用于保持序列步长信息的存储器、控制逻辑,其中所述控制逻辑用于将所述确定的序列步长信息与存储在所述存储器中的序列步长信息相比较,并用于如果所述确定的序列步长信息未出现在所述存储器中,则将所述确定的序列步长信息写入所述存储器,并将所述的出站消息作为给定序列步长的第一消息处理,并用于如果所述识别的序列步长信息出现在所述存储器中,则将所述出站消息作为所述给定序列步长的进一步消息处理。
上面提到的消息序列可以是跟随预先确定的第一和第二响应的特定初始消息。这三个步长的每一个然后将具有其相关联的标识符。实际上,协议通常将规定大量序列,这取决于特定的工作情况,但是上面提到的概念仅需要出现具有相应步长和步长标识符的一个序列。
在冗余系统中,其中至少两个应用实体准并行地运行,即工作在相同的工作负荷上但无需在实体中精确地同步执行,网关实体通常将会从每个应用实体接收与特定序列步长相关联的消息。上面实施例简单构造的网关能够区分这些特定序列步长消息的哪一个是当时的第一个,和哪些是晚些到达的随后消息。网关实体被安排为能够区分协议的序列步长信息,但不需要其它的协议知识。
因此,网关实体可以是简单的结构,使得它较不容易出错,且能够处理协议的消息而不必完全了解该协议,从而即使是非智能的网关也能够将由序列步长信息识别的第一出站消息与由相同的序列步长信息识别的进一步出站消息相区分。
在上面第一实施例中,简单的网关能够区分事务的初始消息和响应消息。在上面的第二个例子中,简单的网关能够区分特定序列步长的第一消息和该序列步长后面的消息。两个例子共同具有识别消息中所选信息并适当管理存储器的概念,以为了提供区分能力,而无需准备任何进一步的协议知识。每个例子可单独使用。例如,在系统中,其中应用实体只接收请求,在网关实体处区分初始消息和响应是没有必要或用处,因为每个入站(inbound)消息将会是请求且每个出站消息将会是响应。同样地,如果没有冗余,则区分序列步长的第一消息和下面的消息没有用处。然而,如果合适或理想的话,上面两个例子还可以被组合,以便在一个网关实体中提供两种区分能力。
换句话说,根据另一实施例,提供用于将至少两个应用实体与通信网络相连接的网关实体和相应的控制方法,所述应用实体独立地运行遵照预先确定的协议规则的相同应用,其中所述规则规定至少一个消息序列,所述序列包括至少两个序列步长,并且序列步长信息可为每个消息导出并对序列步长来说彼此不同,但是对在所述独立运行应用实体中以相同序列步长生成的两个消息来说相同,并且其中所述预先确定的协议进一步规定包括初始消息和至少一个响应消息的事务,事务标识符可为每个消息导出,且所述事务标识符对每个事务来说彼此不同,所述网关实体包括:消息管理器,所述消息管理器包括用于从所述应用实体接收出站消息的接收机、用于确定出站消息中序列步长信息的序列步长信息确定器、用于保持序列步长信息的存储器、控制逻辑,其中所述控制逻辑用于将所述确定的序列步长信息与存储在所述存储器中的序列步长信息相比较,并用于如果所述确定的序列步长信息未出现在所述存储器中,则将所述确定的序列步长信息写入所述存储器,并将所述出站信息作为给定序列步长的第一消息处理,并用于如果所述识别的序列步长信息出现在所述存储器中,则将所述出站消息作为所述给定序列步长的进一步消息处理,以及事务标识符确定器,用于由在所述网关实体处从应用实体或所述网络接收的消息确定事务标识符,其中所述存储器进一步适用于保持事务标识符,且所述控制逻辑适用于将所述确定的事务标识符与存储在所述存储器中的事务标识符相比较,如果所述确定的事务标识符未出现在所述存储器中,则将所述确定的事务标识符写入所述存储器中并将所述消息作为初始消息处理,并且如果所述确定的事务标识符出现在所述存储器中,则将所述消息作为响应消息处理。
因此,提供网关实体,其可以通过简单地将出站消息的序列步长信息与预先存储的序列步长信息相比较,并将消息的事务标识符与预先存储的事务标识符相比较,区分第一和进一步的出站消息,并附加地确定第一或进一步的出站消息是否为初始或响应消息,而无需完全知道该协议或消息结构和内容。因此,复杂系统中入站和出站发送消息可由非智能网关控制,其只需要识别为序列步长信息编码的一个或多个字段和为事务标识符编码的一个或多个字段。由于网关实体的简单结构,故障可能性减小,并由于其协议的非特殊结构,该协议可以随系统要求的改变被及时改变,而保持硬件很大程度上不变。
根据上面的优选实施例,简单构造的网关实体被提供用于最小化可能发生在复杂系统中的故障,使得通过该网关,标准应用实体可被变得高度可用,而不支持应用实体和电信级操作系统中的高可用性功能。还句话说,高可用性功能可基于标准应用组件而被提供,所述组件本身没有高可用性能力或高可用性知识,并利用包括简单控制逻辑的网关实体。
因此,可为应用实体实现透明的高可用性,所述应用实体例如利用应用层协议类工作,由于例如唯一性和安全性的需要,所述应用层协议的消息携带与事务标识符和序列步长信息有关的记录。上面的解决方案基于不需要单独支持高可用性功能的标准应用实体,使之可能呈现关于开源软件、便携性和快速转移到新软件版本上的优点的影响,因为新版本不需要被调整以满足高可用性需要。
附图说明
图1图解了电信系统,该电信系统示出了网络、网关实体和两个应用实体;
图2a详细示出了根据一个实施例的网关;
图2b详细示出了根据另一实施例的网关;
图3示出了具有根据一个实施例的网关实体控制方法的基本功能的流程图。
图4示出了具有根据另一实施例的另一网关实体控制方法的基本功能的流程图。
图5详细示出了根据另一实施例的网关;
图6示出了关于根据另一实施例的网关实体控制方法的流程图;
图7示出了网关实体使用的映射数据库的例子;
图8示出了根据另一实施例的网关实体控制方法的流程图;
图9示出了利用根据实施例的网关实体的电信系统的例子;和
图10示出了利用会话发起协议来调用建立(setup)和拆除(teardown)的例子。
具体实施方式
下面,将关于图1描述本发明的实施例。
图1示出了电信系统的元件,特别地,示出了网络100、网关实体200和应用实体310和320。
网络100可包括一个或更多通信装置,诸如服务器、路由器或边缘路由器、固定线或无线电话或简单的个人计算机,或者特殊地用户代理客户端和用户代理服务器。
网关实体200可通过固定线或无线连接而被物理地连接到网络100和应用实体310、320,其中实体是用于提供特定功能性的一个装置或多个装置。
在该情况下,网关实体通过解析或简单地将消息从网络传递到一个或更多应用实体或者反过来传递而提供网关功能性。换句话说,网关实体可以是物理单元,或者可具有用作发送消息的不同装置之间仲裁逻辑的分布式特征。
诸如应用实体310、320的应用实体是运行应用的实体,诸如代理或服务器或应用组件或应用节点。应当注意到,本发明不限于两个应用实体,某些情况下也可使用一个应用实体或多个应用实体,具有两个应用实体的电信系统仅仅是为了说明的目的而表达。
图2a示出了本发明一个实施例的网关实体的结构。
如图2a中所示,网关实体200a可包括事务(transaction)标识符确定器220、存储器230和控制逻辑240。
事务标识符确定器220由在网关实体200a处从应用实体310、320或连接到网关实体200a的网络100接收的消息来确定事务标识符。事务标识符确定器220可以由分离单元或者通过在可编程装置上实现的软件而在网关实体200a中实现,或者可被集成作为控制逻辑240的一部分。
存储器230可以是任意适当的或理想的存储装置,可以是一个如下组件或几个如下组件的组合,所述组件为RAM、ROM或硬盘(E)EPROM、磁盘、闪存或甚至是寄存器,但是不限于这些组件。具体地说,存储器保持事务标识符,所述事务标识符可以被预先存储,或也可以在由事务标识符确定器220确定之后而被存储。
然而,存储器230是网关实体200a的集成部分不是必需的,其还可以是与网关实体200a通信的分离单元。
控制逻辑240可以用微处理器、计算机或集成电路实现,但不局限于此。例如,控制逻辑的功能可以用软件或硬件实现,因此其功能可通过软件更新或硬件配置而被改变或扩展。控制逻辑的功能将会在下面更详细地进行描述。
特别地,上面描述的网关实体200a可适用于实现图3中所述的如下步骤。
图3描述了控制网关实体,诸如上面所述的网关实体200a的方法,其中网关实体200a被连接到至少一个应用实体310和网络100,并且应用实体310运行遵照预先确定的协议规则的应用。
该协议构成用于控制或使得能够在两个节点之间连接、通信和/或数据传输的约定。可以使用多个不同协议,后面将结合图9和10讨论利用会话发起协议(SIP)的例子。
在该情况下,预先确定的协议提供用于包括初始消息(例如请求)和至少一个响应该初始消息的响应消息的事务,其中初始消息可能被从应用实体或某一网络元件发送,并且作为对分别由网络元件或应用实体接收的初始消息的响应,网络元件或应用实体可以分别发送响应消息。
消息可包含几个携带有效载荷或信令信息的字段。特别地,一个或更多字段可包含一个或更多消息的单独记录,例如指示消息的起始地或目的地。事务标识符可为每个消息导出并识别事务,其中该消息正在参与。例如,事务标识符可与一个或几个特殊的消息字段有关。由于每个事务有单独的事务标识符,因此事务标识符对各个事务来说互不相同,例如可以构成唯一的数字。
一旦在步骤S100中,消息在网关实体200a处被从应用实体或网络接收,则事务标识符在步骤S120中由该消息确定。由此,不需要完全解译消息,但是例如,事务标识符确定器220必须简单地识别消息的字段,由其导出事务标识符。在非常简单的情况下,事务标识符本身可能被携带在消息中,这样进一步简化了在所述网关实体处所接收消息的事务标识符的确定。然而,事务标识符还可以通过处理包含在消息中的信息来确定。
在确定事务标识符之后,事务标识符在步骤S140中与被存储在存储器,诸如存储器230中的事务标识符相比较。这种比较在控制逻辑240中实施,并且如果所述确定的事务标识符没有出现在存储器230中,则在步骤S160中其被写入所述存储器,并且消息在步骤S180中作为初始消息被处理。
并且,一旦确定的事务标识符出现在存储器230中,则在步骤S190中消息作为响应消息被处理,这指示在前面消息已经通过了网关,其包含字段(或多个字段),同样的事务标识符可由其导出,从而这构成了相同事务的消息。
特殊地,步骤S180和S190中的处理可以包括诸如转发消息的步骤,与下面讨论的图8中所示的类似。
上面所解释过程的更具体例子在下面进行描述。
假设消息被从网络元件发送到网关实体200,然后与消息相关联的事务标识符被确定,并且如果事务标识符尚未存在在存储器230中,其被存储在其中指示该消息是构成请求的初始消息。
然后,请求(初始消息)被转发到一个或更多应用实体,并且答复请求的消息被从一个或多个应用实体发送回网关实体200,作为保持事务标识符未改变的响应消息,因为其与相同的事务相关。由于事务标识符未被改变,其已经被预先存储在存储器中以使得网关实体意识到该消息是对前面请求的响应。
因此,初始消息和响应消息可以通过简单地将它们的事务标识符与预先存储的事务标识符相比较而容易地区分,并且该过程不需要进一步的智能。
下面,将结合图2b描述本发明的另一个实施例。
图2b更详细地示出了另一个实施例的网关实体。
图2b的网关实体200b包括消息管理器210,所述消息管理器210包含接收机250、序列步长信息确定器260、存储器270和控制逻辑280。
网关实体200b可被结合在电信系统中,诸如图1中所示的电信系统,其中应用实体310和320独立地运行遵照预先确定的协议规则的相同应用。该规则规定至少一个消息序列,且该序列包括至少两个序列步长,其中序列步长信息可为每个消息导出并对序列步长来说彼此不同,但是对在所述独立运行应用实体的同一序列步长中生成的两个消息来说相同。
网关实体200b的接收机250从应用实体310、320接收出站的消息。
序列步长信息确定器260可在网关实体200b中由分离单元或通过可编程装置上实现的软件来实现,或也可以甚至被集成为控制逻辑280的一部分。
序列步长信息确定器260在图2b中被示为网关实体的一部分。然而,使用这样的序列步长信息确定器也是可行的,所述序列步长信息确定器是与网关实体200b通信的外部部分。
具体地,序列步长信息确定器260确定出站消息中的序列步长信息。由此,序列步长信息确定器260识别所接收出站消息中的一个或多个特定字段,由此可导出序列步长信息。具有相同序列步长的消息由运行相同应用的应用实体产生。总得来说,协议将会描述大量这种序列,但为了描述本发明,只描述一种。
图2b中所示的存储器270可以是一个如下组件或几个如下组件的组合,所述组件为RAM、ROM或硬盘、(E)EPROM、磁盘、闪存或寄存器,但是不限于这些组件。存储器270保持序列步长信息,所述序列步长信息可以被提前或在后面的阶段中存储,这将在后面描述。
并且,存储器270不必要是网关实体200b的整体部分,其还可以是与网关实体200b通信的分离单元。
例如,控制逻辑280可以由微处理器、计算机或集成电路实现,但不限于此。控制逻辑能够实施几种功能,其可以在运行在微处理器、计算机或集成电路上的软件中实现,或者也可以在硬件中实现。
控制逻辑280的一个功能是将由序列步长信息确定器260确定的序列步长信息与存储在存储器270中的序列步长信息相比较。如果所述确定的序列步长信息没有出现在存储器270中,控制逻辑280能够将确定的序列步长信息写入到存储器270中,并将出站消息作为给定序列步长的第一消息处理。否则,控制逻辑280可将出站消息作为进一步的消息处理。
特别地,上面描述的网关实体200b可适用于实施图4中所示的如下步骤。
图4中,步骤S200指示出站消息例如被网关实体200b接收。这里,出站消息被定义为来自应用实体310或320其中之一的消息。与此相对照,入站消息被定义为来自外部位置,诸如网络100中的元件的消息。
步骤S220中,为接收的出站消息导出的序列步长信息被确定。例如,出站消息的结构可以是使得出站消息包含几个字段,所述字段包括有效载荷和信令信息。这样的一个或多个字段还可以包含记录或随机记录,其与序列步长信息有关或针对序列步长信息而被编码。因此,通过简单地识别为序列步长信息编码的所需的字段,该信息可由该消息确定,而不必进一步解译整个消息。
序列步长信息通常具有任意适当的或理想的形式,以便识别正在被并行或准并行引导序列的序列步长,并且冗余应用实体还可以例如是唯一的标识符,诸如为序列步长计数的数字。例如,序列步长信息可包括两部分,一部分用于识别给定序列,另一部分用于识别给定序列中的步长。
步骤S240中,检查该特定序列步长信息是否已经存在,即具有相同序列步长信息的出站消息是否已经通过网关实体200b。为了实现此目的,确定的序列步长信息与之前存储在存储器270中的序列步长信息相比较。
如果发现确定的序列步长信息没有出现在存储器270中,则确定的序列步长信息在步骤S260中被写入到存储器中,且出站消息在步骤S280中被作为第一消息处理。否则,如果发现所述确定的序列步长信息出现在存储器270中,则出站消息被作为进一步的消息在步骤S290中处理。
因此,通过简单地确定出站消息的序列步长信息并将其与预先存储的序列步长信息相比较而区分第一和进一步的出站消息是可能的。因此,来自不同应用实体310、320但包含相同序列步长信息的冗余消息,由于它们与相同的序列步长有关,而能够与第一出站消息相区分。
并且,必须注意到,图3中讨论的过程同样适用于入站和出站消息,且图4的过程不一定需要考虑初始和响应消息,因为存在不合适或不理想的情况,例如当如果一个人例如想象非常简单的系统,请求不必须由应用实体生成时,其中应用实体只接收请求。
然后,在网关处区分请求和响应是不必要的,因为每个入站消息将会是请求,而每个出站消息将会是响应。
正如从图3和4看出的,通过简单地确定事务标识符或序列步长信息,并将其与预先存储的内容相比较来区分不同种类的消息是可能的。因此,除了确定这种特定标记并将其与预先存储的内容相比较之外,不必为网关实体200a、200b增加进一步的智能。
因此,两个实施例都描述了能够关于给定协议的消息而实施特定操作的简化网关,然而无需完全了解所述协议。例如,如果协议版本改变,只要字段/记录不变,逻辑就不受影响。
下面,将结合图5和6描述前面所述实施例的组合。
图5中所示的网关实体200c包括与图2a和2b中所示的网关实体200a、200b相似的组件。特别地,消息管理器210包括接收机250、序列步长信息确定器260、存储器270和控制逻辑280,以及优选地包括事务标识符确定器220和发射机290。
在另一优选实施例中,消息管理器还可包括消息倍增器(multiplier)400。附加地或可替换地,网关实体还可优选地包括条目去除器(entry remover)500、计时器600和映射数据库700,并且可替换地,这些组件可以是与网关实体通信的外部装置。
下面,将会更具体地描述该网关实体的组件,因此将会省略对前面实施例中已经描述过的组件的详细描述。
网关实体200c的接收机250从应用实体310和320接收出站消息,并且优选地还可以适用于从网络,特别是从特定的网络元件接收入站消息。
另外,序列步长信息确定器260确定出站消息中的序列步长信息,如上在前面实施例中所述。
存储器270和控制逻辑280在前面的实施例中已经被详细描述,从而省略对这些组件的描述。
优选地,具有接收机250、序列步长信息确定器260、存储器270和控制逻辑280的网关实体还可包括事务标识符确定器220。
该事务标识符确定器220可由分离单元或通过在可编程装置上实现的软件而在网关实体200c中实现,或也可被集成为控制逻辑280的一部分,并且用于由在所述网关实体处从应用实体或网络100接收的消息来确定事务标识符,如图5所示。
这使得网络实体200c能够不仅区分第一和进一步的出站消息,而且处理多个事务,从而其能够确定哪一个第一或进一步的出站消息属于哪个事务。另外,入站消息还可被检查它们的事务标识符以区分不同入站消息的不同事务。
在进一步的优选实施例中,存储器270还适用于保持事务标识符。可替换地,事务标识符可被存储在物理分离的不同存储器中,使得事务标识符和序列步长信息被存储在不同的物理部分中。
并且,控制逻辑280优选地进一步适用于将确定的事务标识符与存储在存储器270中的事务标识符比较,如果所述确定的事务标识符没有出现在存储器中,将确定的事务标识符写入到存储器中,并将消息作为初始消息处理,并且,如果所述确定的事务标识符出现在存储器中,则将消息作为响应消息处理。
因此,出站消息能够不仅在第一出站消息和进一步的出站消息之间被区分,而且还能区分第一或进一步的出站消息是初始还是响应消息,并且通过确定事务标识符和序列步长信息并检查该事务标识符和序列步长信息是否已经被存储在存储器中而实现对这些消息的分组。并且,入站消息可被在初始或响应的入站消息之间区分。
可替换地,上面所述的控制逻辑280将确定的事务标识符与存储在存储器270中的事务标识符相比较的功能可被提供在分离单元中,所述分离单元独立于控制逻辑280并与其通信。
附加地,网关实体200c还可包含用于向网络100发送出站消息或向一个或多个应用实体310、320发送入站消息的发射机290。优选地,第一出站消息被发送到网络100,而进一步的出站消息不被发送而是被丢弃。
进一步的优点包括网关实体200c中的入站消息倍增器400,用于接收至少来自网络100的入站消息,并产生所述入站消息的复制版本,其中原始的入站消息被转发到一个应用实体,例如应用实体310,而所述入站消息的每个复制版本被转发到其它应用实体的每一个,例如应用实体320。这就使得可以进行应用实体的准并行操作,使得每个应用实体能够保持状态。
优选地,包括原始入站消息和复制版本的版本的数目等于应用实体的数目,从而每个应用实体可以被提供有入站消息的一个版本。然而,向一个应用实体提供几个入站消息也是可行的。
并且,网关实体200c可优选地包含条目去除器500和计时器600,用于在一段时间过去之后从存储器270中去除条目。应当注意到,在使用用于不同参数的不仅一个存储器而且多个存储器的情况下,还可以提供几个条目去除器和计时器。
如上所述,事务标识符和序列步长信息被存储在存储器270中,并且优选地是唯一的。虽然如此,它们不必是唯一的。然而,为了维护存储器并特别地能够在将来使用用于不同事务或序列的事务标识符的值或序列步长信息,存储器能够通过使用条目去除器500在计时器600所指示的一段时间之后而被清除。因此,事务标识符和序列步长信息不必是唯一的,且存储器随着时间而得到清除。
清除机制将会使用大大长于任意服务时间的时间段,即比事务或序列的预期生存时间长的时间段。例如,条目在大约两倍于事务或序列所需时间的时间之后而被从存储器270中去除,其中用于事务的时间是一个请求和一个响应至少所需的时间。用于序列的时间长度依赖于特定序列,但至少是两个序列步长的长度。
在上面的例子中,假设正在由不同应用实体发送的消息不包含单独记录,所述单独记录从第一应用实体的给定序列步长的消息变化到第二个不同应用实体的相同序列步长的消息。如果单独信息出现,例如由于潜在协议的结构,则其优选地包括网关实体200c中的映射数据库用于存储由事务标识符识别的消息的单独记录。单独记录可被定位在消息的字段中,且将会在下面在生成要与网关实体一起使用的映射数据库的上下文中进行描述并被示于图7中。
特别地,上述网关实体200c可适用于实施图6中所示的如下步骤。
在下面的实施例中,网关实体200c被连接到至少两个应用实体310和320和通信网络100,如上所述,其中应用实体独立地运行遵照预先确定的协议规则的相同应用。
步骤S200、S220、S240和S260可以与前面讨论的使用相同附图标记的步骤相同,并将只是简单地进行讨论。
在步骤S200中,出站消息被网关实体200c接收,并且在步骤S220中,出站消息的序列步长信息被确定。然后,在步骤S240中,所确定的序列步长信息与存储在诸如存储器270的存储器中的序列步长信息相比较,并且如果所述确定的序列步长信息没有出现在存储器中,则确定的序列步长信息在步骤S260中被写入存储器,并且,出站消息在步骤S280中被作为第一消息处理。否则,如果确定的序列步骤信息出现在存储器中,则出站消息在步骤S290中被作为进一步的消息处理。
如图6所示,将出站消息作为第一消息处理的步骤S280包括确定事务标识符,其中出站消息中的一个或更多字段必须被识别,其为事务标识符编码。
具体地说,事务标识符可以从一个或更多单独记录中获得,其中对于具有相同序列步长信息的消息来说,至少一个特定单独记录对于应用实体互不相同,并且其被包含在相同事务的初始和响应消息中,使得应用实体期望获得对由给定应用实体发送的初始入站消息的响应入站消息,以便具有相同的事务标识符。
然后,在步骤S281中,确定的第一出站消息的事务标识符与存储在存储器中的事务标识符相比较,并且如果确定的事务标识符未出现在存储器中,则确定的事务标识符在步骤S282中被写入存储器中,且第一出站消息被作为初始消息处理。否则,如果确定的事务标识符出现在存储器中,则第一出站消息被作为响应消息转发到网络,如步骤S288中所示。
在步骤S284中,优选地,被作为初始消息处理的所述第一出站消息的确定的事务标识符和被包含在第一出站消息中的至少一个单独记录被添加到数据库700。因此,主要任务被分配给发送所述第一出站消息的应用实体。在图7中所示的例子中,这是应用实体310,其它应用实体接受了关于该序列步长备份的任务。
具体地说,映射数据库包括用于不同事务标识符的列710和对应于连接到网关实体200c的应用实体的数目的几个列720、730和740。步骤S284的条目被显示在行760中,其构成具有第一事务标识符TI1和相应的单独记录ind.record(TI1)的第一条目。
优选地,在步骤S286中,单独记录ind.record(TI1)的转换可被实施来改变该出站消息的相应字段中的记录,以用于例如拓扑隐藏,使得接收出站消息的网络元件不认识到出站消息已经被从应用实体310发送。预先确定的置换单独记录可例如指示出站消息简单地来自网关实体。
然而,该预先确定的单独记录必须被再次存储在可能多个数据库的一个数据库中,使得接下来具有相同预先确定的单独记录的入站消息可被指向正确的应用实体。
构成事务标识符TI1的第一映射和单独记录ind.record(TI1)被添加到数据库的第一位置。映射数据库中的附加映射来自构成进一步请求的进一步的出站消息,其中这些出站消息具有与步骤S220中确定的序列步长信息相同的序列步长信息,这将在下面详细描述。
最后,在步骤S 288中,第一出站消息被转发到具有单独记录ind.record(TI1)或具有预先确定的单独记录的网络。
在网关实体200c接收另一出站消息,并确定该序列步长信息与预先接收的消息即第一出站消息的序列步长信息相同的情况下,该出站消息将被作为进一步的出站消息处理,并且在步骤S290中,将所述出站消息作为进一步的消息的处理包括确定其事务标识符。
在步骤S292中,确定的进一步的出站消息的事务标识符与存储在存储器270中的事务标识符比较,并且如果所述确定的事务标识符未出现在存储器中,则进一步的出站消息被作为初始的进一步的出站消息处理,否则,如果确定的事务标识符出现在存储器中,则进一步的出站消息被丢弃。也就是说,由于该序列步长的消息已经被发送出网络,进一步的消息应当被丢掉。
在步骤S294中,示出了对进一步的出站消息的进一步处理。该步骤包括将确定的所述进一步出站消息(TI2)的事务标识符添加到映射数据库700的列710,并将包含在进一步出站消息中的单独记录(ind.record(TI2))添加到列730。该单独记录ind.record(TI2)是例如特别用于发送进一步出站消息的应用实体320。另外,如对应于用于进一步出站消息的条目的行770中所示,单独记录ind.record(TI1)被添加到列720,使得第一出站消息的单独记录被映射到进一步出站消息的单独记录。
对来自其它应用实体的附加的进一步出站消息实施相似过程,所述其它应用实体由映射数据库700的行780和列740中的N来指示。因此,映射数据库将由它们确定的事务标识符识别的初始进一步出站消息的单独记录映射到第一出站消息的单独记录,并由此能够转换单独记录,这将在下面详细描述。
最后,在步骤S296中,进一步的出站消息被丢弃,而未到达任意网络元件。
接下来,更具体地描述图8中所示的流程图。与接收入站消息有关的实施例被描述,即被从网络指引到应用实体,并且其中利用了用于单独记录的数据库。
在步骤S300中,入站消息被网关实体200c从网络100接收。然后,在步骤S310中,例如通过消息倍增器400产生所述入站消息的复制版本,并且在步骤S320中,每个消息的事务标识符按照上面所述的方式而被确定。
在下一步骤S340中,确定的事务标识符与存储在诸如存储器270的存储器中的事务标识符比较,并且如果所述确定的事务标识符未出现在存储器中,则所述入站消息的事务标识符在步骤S360中被存储到存储器中,且入站消息被作为初始入站消息处理。否则,如果确定的事务标识符出现在存储器中,则入站消息在步骤S390中被作为响应入站消息处理,这将得到更具体描述。
在步骤S390中,响应的入站消息被处理,其是响应于初始的出站消息。更具体地,对一个初始出站消息,实际上存在多个入站消息,也就是原始的响应入站消息和多个它们的复制版本,如步骤S310中所述。
然而,由于所有的复制版本是相同入站消息的版本,它们在指示事务标识符的字段中包含相同内容。由此,它们可以都包含相同的单独记录。
因此,在映射数据库700的例子中,所有响应的入站消息包含单独记录ind.record(TI1)。
假设单独记录代表响应入站消息必须被发送到的应用实体的地址,所有的复制版本将会被发送到相同的应用实体。因此,由于先前发送出初始进一步出站消息的应用实体现在也等待响应,具有复制版本的该单独记录的字段必须被改变,使得先前发送出初始进一步出站消息的每个应用实体也会接收响应的入站消息。
因为其先前已经被记录在映射数据库700中,该应用实体已经发送出初始出站消息,现在可以通过参照回到映射数据库的条目来将不同的单独记录分配给响应入站消息的复制版本。
在原始响应入站消息的情况下,可以参照映射数据库700的行760,其指示进入的单独记录未被改变,因为这是例如应用实体310的应用实体的单独记录,其被发送出第一初始出站消息,由此获得主要任务。
接下来,响应入站消息的第一复制版本被处理,且其单独记录被映射到单独记录ind.record(TI2),指示该消息已被发送到应用实体320(参见行770)。对于响应入站消息的进一步复制版本一个入站消息接着一个入站消息地实施映射处理(参见行780)。
因此,由于映射数据库700中的映射,先前发送已经被丢弃的初始进一步出站消息的全部应用实体接收响应的入站消息。
应当注意到,映射数据库700不限于图7中所示的结构。它可以以任何适当或理想的方式被选择,并且可以具有更简单的结构。
根据上面对在映射数据库中实施的生成和映射的解释,应该清楚,存储事务标识符不是必需的,但应当足以独自存储单独记录。这是因为映射数据库是通过随后按顺序添加单独记录而生成,其中进一步的出站消息被接收。
因此,在步骤S 390中,响应入站消息的原始和复制版本的单独记录ind.record(TI1)可以按照它们在映射数据库被处理的顺序,该映射数据库具有单独记录ind.record(TI1),ind.record(TI2)...ind.record(TIn)而被代替,所述记录是按照它们在映射数据库中被接收的顺序而被存储的。
接下来,在单独记录已经被代替之后,入站消息的原始和复制版本在步骤S395中被转发到各自的应用实体。
前面所述用于从存储事务标识符和/或序列步长信息的存储器中去除条目的条目去除器500和计时器60还可被用于清空映射数据库700,因为在事务完成之后,无需将条目继续保持在映射数据库中。
事务标识符可以例如是由消息的至少一个单独记录计算得到的散列值,或者是消息的至少一个单独记录的函数,并且序列步长信息可以例如是消息的至少另一个单独记录的函数。
上面的概念和实施例可以应用到任意的协议,所述协议为被用于确定事务标识符和/或序列步长标识符的数据提供。单独记录和它们如何与事务标识符和序列步长信息相关的特殊例子将会在下面关于会话发起协议(SIP)的例子而给出。
如上所述,主要任务可基于序列步长信息和事务标识符而被动态分配给应用实体,这样消除了等待静态分配的或预先定义的并且有时较慢的主要应用实体的需要。并且,根据协议,事务标识符和序列步长信息可被从系统中清空。
在上述实施例中,即使主要应用实体失败,由于具有多个应用实体实施相同的序列步长中的冗余性,网关实体仍然会将其中一个出站消息从其它(备份)应用实体转发。
在映射数据库中被应用到响应入站消息的全部转换应当为相同的序列步长信息保持,并且只有新的序列步长信息应当被分配给新的主要应用实体。
应当注意到,网关实体可以以隐含方式使用备份应用实体的应用状态,以便当该应用实体失败时重新产生主要应用状态。
如果包括主要应用实体的多于一个的应用实体失败,原始主要状态应当被使用,并且可以通过为可能服务连续探查所有应用实体来实施恢复,但是应当利用最少数目的应用实体完成已经在进行的服务。
在下面,关于使用会话发起协议(SIP)的图9和10示出上述实施例的特殊例子。
在这个例子中,两个开源代理服务器(SIP快速路由器,SER)被用作工作在主要备份关系下的应用实体,如图9所示。这些代理1和2被连接到网关ALG,网关ALG被连接到pra和prb,例如分别是用户代理客户端和用户代理服务器。
转换可被应用到的SIP单独记录的例子可以是由值发送的(sent-by-value)或分支参数。
事务标识符可以由呼叫ID(call-ID)和顶端分支参数获得,而序列步长信息可以由请求/状态行、起始字段(from-field)、到达手段(to-field)和CSeq获得。出站消息的分组可通过基于请求/状态行、到达字段(to-field)、起始字段(from-field)和CSeq字段(CSeq-field)计算散列值而实现。
在图10中,利用SIP进行的零占线时间的呼叫建立和拆除为图9中所示的安排示出。
pra是用户代理客户端,其在步骤F1中向网关ML发送邀请(INVITE)消息。步骤F2中,网关向代理1发送邀请(INVITE)消息,并在步骤F3中向代理2发送邀请(INVITE)消息。
步骤F4中,尝试(TRYING)消息被从代理1发送到网关,并且在步骤F5中,尝试(TRYING)消息被从代理2发送到网关。
然后,在步骤F6中,邀请(INVITE)消息被从代理1发送到网关,并且在步骤F7中,邀请(INVITE)消息被从代理2发送到网关,并且网关实体在步骤F8中向pra发送尝试(TRYING)消息。
在步骤F9中,网关实体向prb发送邀请(INVITE)消息,该prb可以是用户代理客户端,并且在步骤F10中,prb向网关实体发送振铃(RINGING)消息。在步骤F11中,网关向代理1发送振铃(RINGING)消息,并且在步骤F12中,向代理2发送振铃(RINGING)消息。
在步骤F13中,OK消息被从prb发送至网关,且网关在步骤F14和步骤F15中分别向代理2和代理1发送OK消息。并且,在步骤F16中,代理1向网关发送振铃(RINGING)消息,并且在步骤F17中,代理2向网关发送振铃(RINGING)消息,网关在步骤F18中向pra发送振铃(RINGING)消息。
在步骤F19和F20中,代理2和代理1分别向网关发送OK消息,网关在步骤F21中向pra发送OK消息。
pra在步骤F22中向网关发送ACK消息,并且在步骤F23中网关向代理1发送ACK消息。在步骤F24中,pra向网关发送BYE消息,并且网关在步骤F25中向代理2发送ACK消息,并且在步骤F26中向代理1发送BYE消息并在步骤F27中向代理2发送BYE消息。
在步骤F28中,代理1向网关发送ACK消息,并且在步骤F29中,代理2向网关发送ACK消息,网关在步骤F30中向prb发送ACK消息。
在步骤F31中,代理1向网关发送BYE消息,并且在步骤F32中,代理2向网关发送BYE消息。网关在步骤F33中向prb发送BYE消息,并且prb在步骤F34中向网关发送OK消息。网关在步骤F35中向代理1发送OK消息,并在步骤F36中向代理2发送OK消息。
然后在步骤F37中,代理1向网关发送OK消息,代理2在步骤F38中向网关发送OK消息。最后,网关在步骤F39中向pra发送OK消息。
根据本发明,由应用实体提供的服务可被连续且平滑地保持,只要当时有至少一个正在服务的应用实体。故障实际上是在没有任何延迟的情况下实现,并且与恢复过程一起不会造成在系统中提供服务可保持性的中断。
并且,客户端不知道故障,且不需要它们参与。通常,基于客户端的高可用性解决方案需要客户端在故障期间再次连接,这导致服务中断。
上面所讨论的网关实体的另一优点是它可以与不支持高可用性功能的标准应用和操作系统一起使用。因此,有可能具有关于开源软件、便携性和快速转移到新软件版本上的优点的影响,以满足高可用性的需要。
附加地,不需要如在双模冗余系统中的精确并行处理,并且在故障情况下保持应用状态而无需任何来自应用实体的支持,使得需要特殊设计和建立应用的复制/同步应用状态的方法不是必要的。
附加地,网关实体可以具有轻量级的应用逻辑,其可被容易地实现且只有网关实体必须是标准方式下容错的,其本身是不复杂的,并能够保护很多不高可用性的应用实体。
本发明已经参照特定具体实施例进行了描述。这使得本发明对本领域读者来说更容易明白,但不是限制本发明的影响,本发明是由后附权利要求来限定。权利要求中的附图标记用于使权利要求更容易读懂,但也不具有限制影响。

Claims (61)

1.用于将至少两个应用实体(310,320)与通信网络(100)相连接的网关实体,所述应用实体独立地运行遵照预先确定的协议的规则的相同应用,其中所述规则规定至少一个消息序列,所述序列包括至少两个序列步长,并且序列步长信息能为每个消息导出并对每个序列步长来说彼此不同,但是对在所述独立运行应用实体中以相同序列步长生成的两个消息来说相同,所述网关实体(200)包括:
消息管理器(210),包括
用于从所述应用实体接收出站消息的接收机(250)、
用于确定出站消息中序列步长信息的序列步长信息确定器(260)、用于保持序列步长信息的存储器(270)和
控制逻辑(280),用于将所述确定的序列步长信息与存储在所述存储器中的序列步长信息相比较,并且
-如果所述确定的序列步长信息未出现在所述存储器中,则将所述确定的序列步长信息写入所述存储器中,并将所述出站消息作为给定序列步长的第一消息处理,和
-如果所述确定的序列步长信息出现在所述存储器中,则将所述出站消息作为所述给定序列步长的进一步消息处理。
2.根据权利要求1所述的网关实体,其中所述预先确定的协议规定包括初始消息和至少一个响应消息的事务,事务标识符能为每个消息导出,且所述事务标识符对每个事务来说互不相同,所述网关实体进一步包括:
事务标识符确定器(220),用于由在所述网关实体处从应用实体或所述网络接收的消息来确定事务标识符。
3.根据权利要求2所述的网关实体,其中
所述存储器(270)进一步适用于保持事务标识符,和
所述控制逻辑(280)适用于将所述确定的事务标识符与存储在所述存储器(270)中的事务标识符相比较,和
-如果所述确定的事务标识符未出现在所述存储器中,则将所述确定的事务标识符写入所述存储器,并将在所述网关实体处从应用实体或所述网络接收的所述消息作为初始消息处理,
-如果所述确定的事务标识符出现在所述存储器中,则将在所述网关实体处从应用实体或所述网络接收的所述消息作为响应消息处理。
4.根据权利要求1到3中任意一项所述的网关实体,其中所述控制逻辑(280)被安排为使得将所述出站消息作为给定序列步长的第一消息进行的所述处理包括向所述网络转发所述出站消息。
5.根据权利要求1到3中任意一项所述的网关实体,其中所述控制逻辑(280)被安排为使得将所述出站消息作为给定序列步长的进一步消息进行的所述处理包括丢弃所述出站消息。
6.根据权利要求1到3中任意一项所述的网关实体,进一步包括入站消息倍增器(400),用于从所述网络接收入站消息,产生所述入站消息的复制版本,并将所述入站消息的版本转发到每个所述的应用实体。
7.根据权利要求1到3中任意一项所述的网关实体,进一步包括条目去除器(500)和计时器(600),用于在过去一定时间之后从所述存储器中去除条目。
8.根据权利要求7所述的网关实体,其中所述一定时间长于事务或序列的预期生存时间。
9.根据权利要求1到3中任意一项所述的网关实体,进一步包括映射数据库(700),用于存储由事务标识符识别的消息的单独记录。
10.用于控制能连接到至少两个应用实体和通信网络的网关实体的方法,所述应用实体独立地运行遵照预先确定的协议的规则的相同应用,其中所述规则规定至少一个消息序列,所述序列包括至少两个序列步长,并且序列步长信息能为每个消息导出并对每个序列步长来说彼此不同,但是对在所述独立运行应用实体中以相同序列步长生成的两个消息来说相同,所述方法包括:
从所述应用实体接收(S200)出站消息,
确定(S220)出站消息中的序列步长信息,和
将所述确定的序列步长信息与存储在存储器中的序列步长信息相比较(S240),并且
-如果所述确定的序列步长信息未出现在所述存储器中,则将所述确定的序列步长信息写入(S260)所述存储器中,并将所述出站消息作为给定序列步长的第一消息处理(S280),和
-如果所述确定的序列步长信息出现在所述存储器中,则将所述出站消息作为所述给定序列步长的进一步消息处理(S290)。
11.根据权利要求10所述的网关实体控制方法,其中将所述出站消息作为给定序列步长的第一消息进行的所述处理包括:
由在所述网关实体处接收的所述第一出站消息确定事务标识符;
其中所述预先确定的协议规定包括初始消息和至少一个响应消息的事务,且所述事务标识符能为每个消息导出并对每个事务来说彼此不同。
12.根据权利要求11所述的网关实体控制方法,其中将所述出站消息作为给定序列步长的第一消息进行的所述处理进一步包括:
将所述第一出站消息的所述确定的事务标识符与存储在存储器中的事务标识符相比较,并且
-如果所述确定的事务标识符未出现在所述存储器中,则将所述确定的事务标识符写入所述存储器,并将所述第一出站消息作为初始消息处理,并且
-如果所述确定的事务标识符出现在所述存储器中,则将所述第一出站消息作为响应消息转发到所述网络。
13.根据权利要求12所述的网关实体控制方法,其中如果所述确定的事务标识符未出现在所述存储器中,则将所述第一出站消息作为初始消息的所述处理包括
将所述第一出站消息的所述确定的事务标识符和包含在所述第一出站消息中的单独记录添加到映射数据库,包含在所述第一出站消息中的所述单独记录特别用于发送所述第一出站消息的应用实体。
14.根据权利要求13所述的网关实体控制方法,其中作为初始消息的所述处理进一步包括
用预先确定的记录来代替所述第一出站消息的所述单独记录。
15.根据权利要求10到14中任意一项所述的网关实体控制方法,其中将所述出站消息作为给定序列步长的所述第一消息的所述处理包括将所述出站消息转发到所述网络。
16.根据权利要求10到14中任意一项所述的网关实体控制方法,其中将所述出站消息作为给定序列步长的进一步消息的所述处理包括
由在所述网关实体处接收的所述进一步出站消息来确定事务标识符;
其中所述预先确定的协议规定包括初始消息和至少一个响应消息的事务,且所述事务标识符能为每个消息导出,并对每个事务来说互不相同。
17.根据权利要求16所述的网关实体控制方法,其中将所述出站消息作为给定序列步长的进一步消息的所述处理进一步包括
将所述进一步出站消息的所述确定的事务标识符与存储在存储器中的事务标识符相比较,并且
-如果所述确定的事务标识符未出现在所述存储器中,则将所述进一步出站消息作为初始的进一步出站消息处理,和
-如果所述确定的事务标识符出现在所述存储器中,则丢弃所述进一步出站消息。
18.根据权利要求17所述的网关实体控制方法,其中如果所述确定的事务标识符未出现在所述存储器中则作为初始的进一步出站消息的所述处理进一步包括
将所述进一步出站消息的所述确定的事务标识符和包含在所述进一步出站消息中的单独记录添加到映射数据库中,包含在所述进一步出站消息中的所述单独记录特别用于发送所述进一步出站消息的应用实体。
19.根据权利要求18所述的网关实体控制方法,其中所述映射数据库进一步包括
具有与所述进一步出站消息相同的序列步长信息的所述第一出站消息的事务标识符和所述第一出站消息的单独记录,所述第一出站消息的所述单独记录特别用于发送所述第一出站消息的应用实体。
20.根据权利要求19所述的网关实体控制方法,其中所述映射数据库将由其确定的事务标识符识别的所述初始的进一步出站消息的所述单独记录映射到所述第一出站消息的所述单独记录。
21.根据权利要求13所述的网关实体控制方法,其中对于具有相同序列步长信息的消息来说,特别的单独记录对每个应用实体互不相同,并且根据所述协议,给定应用实体希望特别的单独记录被包含在对由所述给定应用实体发送的初始出站消息响应的入站消息中。
22.根据权利要求13和21中任意一项所述的网关实体控制方法,其中事务标识符是单独记录的函数。
23.根据权利要求10到14和21中任意一项所述的网关实体控制方法,其中将所述出站消息作为给定序列步长的所述进一步消息的所述处理包括
丢弃所述进一步出站消息。
24.根据权利要求10到14和21中任意一项所述的网关实体控制方法,进一步包括如下步骤
从所述网络接收入站消息,
产生所述入站消息的复制版本,和
将所述入站消息的版本转发到每个所述的应用实体。
25.根据权利要求10到14和21中任意一项所述的网关实体控制方法,进一步包括如下步骤
由在所述网关实体处接收的入站消息来确定事务标识符;
其中所述预先确定的协议规定包括初始消息和至少一个响应消息的事务,并且所述事务标识符能为每个消息导出,并对每个事务来说互不相同。
26.根据权利要求25所述的网关实体控制方法,进一步包括如下步骤
将所述入站消息的所述确定的事务标识符与存储在存储器中的事务标识符相比较,并且
-如果所述确定的事务标识符未出现在所述存储器中,则将所述入站消息的所述确定的事务标识符写入到所述存储器中,并将所述入站消息作为初始入站消息处理,和
-如果所述确定的事务标识符出现在所述存储器中,则将所述入站消息作为响应的入站消息处理。
27.根据权利要求26所述的网关实体控制方法,其中作为响应的入站消息的所述处理包括
利用映射数据库,将所述响应的入站消息的单独记录用存储在所述映射数据库中的出站消息的其它单独记录来代替。
28.根据权利要求27所述的网关实体控制方法,
其中所述映射数据库为响应的入站消息的每个复制版本,将对应于第一出站消息的单独记录的所述响应的入站消息的所述复制版本的单独记录映射到进一步出站消息的单独记录,
其中所述进一步出站消息的所述单独记录定义了提供有所述入站消息的所述复制版本的应用实体。
29.根据权利要求27所述的网关实体控制方法,其中作为响应的入站消息的所述处理包括
将所述响应的入站消息转发到相应的应用实体。
30.根据权利要求10到14和21中任意一项所述的网关实体控制方法,进一步包括如下步骤
在过去一定时间之后,从所述存储器中去除条目。
31.根据权利要求30所述的网关实体控制方法,其中所述一定时间长于事务或序列的预期生存时间。
32.根据权利要求11所述的网关实体控制方法,其中所述事务标识符是由消息的至少一个单独记录计算得到的散列值。
33.根据权利要求11所述的网关实体控制方法,其中所述事务标识符是消息的至少一个单独记录的函数。
34.根据权利要求10所述的网关实体控制方法,其中所述序列步长信息是消息的至少一个单独记录的函数。
35.根据权利要求10所述的网关实体控制方法,其中所用协议是会话发起协议(SIP)。
36.用于控制能连接到至少两个应用实体和通信网络的网关实体的装置,所述应用实体独立地运行遵照预先确定的协议的规则的相同应用,其中所述规则规定至少一个消息序列,所述序列包括至少两个序列步长,并且序列步长信息能为每个消息导出并对每个序列步长来说彼此不同,但是对在所述独立运行应用实体中以相同序列步长生成的两个消息来说相同,所述装置包括:
用于从所述应用实体接收(S200)出站消息的部件,
用于确定(S220)出站消息中的序列步长信息的部件,和
用于将所述确定的序列步长信息与存储在存储器中的序列步长信息相比较(S240)的部件,
-用于如果所述确定的序列步长信息未出现在所述存储器中则将所述确定的序列步长信息写入(S260)所述存储器中并将所述出站消息作为给定序列步长的第一消息处理(S280)的部件,和
-用于如果所述确定的序列步长信息出现在所述存储器中则将所述出站消息作为所述给定序列步长的进一步消息处理(S290)的部件。
37.根据权利要求36所述的网关实体控制装置,其中用于将所述出站消息作为给定序列步长的第一消息处理的部件包括:
用于由在所述网关实体处接收的所述第一出站消息确定事务标识符的部件;
其中所述预先确定的协议规定包括初始消息和至少一个响应消息的事务,且所述事务标识符能为每个消息导出并对每个事务来说彼此不同。
38.根据权利要求37所述的网关实体控制装置,其中用于将所述出站消息作为给定序列步长的第一消息处理的部件进一步包括:
用于将所述第一出站消息的所述确定的事务标识符与存储在存储器中的事务标识符相比较的部件,
-用于如果所述确定的事务标识符未出现在所述存储器中则将所述确定的事务标识符写入所述存储器并将所述第一出站消息作为初始消息处理的部件,和
-用于如果所述确定的事务标识符出现在所述存储器中则将所述第一出站消息作为响应消息转发到所述网络的部件。
39.根据权利要求38所述的网关实体控制装置,其中用于如果所述确定的事务标识符未出现在所述存储器中则将所述第一出站消息作为初始消息处理的部件包括
用于将所述第一出站消息的所述确定的事务标识符和包含在所述第一出站消息中的单独记录添加到映射数据库的部件,包含在所述第一出站消息中的所述单独记录特别用于发送所述第一出站消息的应用实体。
40.根据权利要求39所述的网关实体控制装置,其中用于作为初始消息处理的部件进一步包括
用于用预先确定的记录来代替所述第一出站消息的所述单独记录的部件。
41.根据权利要求36到40中任意一项所述的网关实体控制装置,其中将所述出站消息作为给定序列步长的所述第一消息处理的部件包括用于将所述出站消息转发到所述网络的部件。
42.根据权利要求36到40中任意一项所述的网关实体控制装置,其中用于将所述出站消息作为给定序列步长的进一步消息处理的部件包括
用于由在所述网关实体处接收的所述进一步出站消息来确定事务标识符的部件;
其中所述预先确定的协议规定包括初始消息和至少一个响应消息的事务,且所述事务标识符能为每个消息导出,并对每个事务来说互不相同。
43.根据权利要求42所述的网关实体控制装置,其中用于将所述出站消息作为给定序列步长的进一步消息处理的部件进一步包括
用于将所述进一步出站消息的所述确定的事务标识符与存储在存储器中的事务标识符相比较的部件,
-用于如果所述确定的事务标识符未出现在所述存储器中则将所述进一步出站消息作为初始的进一步出站消息处理的部件,和
-用于如果所述确定的事务标识符出现在所述存储器中则丢弃所述进一步出站消息的部件。
44.根据权利要求43所述的网关实体控制装置,其中用于如果所述确定的事务标识符未出现在所述存储器中则作为初始的进一步出站消息处理的部件进一步包括
用于将所述进一步出站消息的所述确定的事务标识符和包含在所述进一步出站消息中的单独记录添加到映射数据库中的部件,包含在所述进一步出站消息中的所述单独记录特别用于发送所述进一步出站消息的应用实体。
45.根据权利要求44所述的网关实体控制装置,其中所述映射数据库进一步包括
具有与所述进一步出站消息相同的序列步长信息的所述第一出站消息的事务标识符和所述第一出站消息的单独记录,所述第一出站消息的所述单独记录特别用于发送所述第一出站消息的应用实体。
46.根据权利要求45所述的网关实体控制装置,其中所述映射数据库将由其确定的事务标识符识别的所述初始的进一步出站消息的所述单独记录映射到所述第一出站消息的所述单独记录。
47.根据权利要求39所述的网关实体控制装置,其中对于具有相同序列步长信息的消息来说,特别的单独记录对每个应用实体互不相同,并且根据所述协议,给定应用实体希望特别的单独记录被包含在对由所述给定应用实体发送的初始出站消息响应的入站消息中。
48.根据权利要求39和47中任意一项所述的网关实体控制装置,其中事务标识符是单独记录的函数。
49.根据权利要求36到40和47中任意一项所述的网关实体控制装置,其中用于将所述出站消息作为给定序列步长的所述进一步消息处理的部件包括
用于丢弃所述进一步出站消息的部件。
50.根据权利要求36到40和47中任意一项所述的网关实体控制装置,进一步包括
用于从所述网络接收入站消息的部件,
用于产生所述入站消息的复制版本的部件,和
用于将所述入站消息的版本转发到每个所述的应用实体的部件。
51.根据权利要求36到40和47中任意一项所述的网关实体控制装置,进一步包括
用于由在所述网关实体处接收的入站消息来确定事务标识符的部件;
其中所述预先确定的协议规定包括初始消息和至少一个响应消息的事务,并且所述事务标识符能为每个消息导出,并对每个事务来说互不相同。
52.根据权利要求51所述的网关实体控制装置,进一步包括
用于将所述入站消息的所述确定的事务标识符与存储在存储器中的事务标识符相比较的部件,
-用于如果所述确定的事务标识符未出现在所述存储器中则将所述入站消息的所述确定的事务标识符写入到所述存储器中并将所述入站消息作为初始入站消息处理的部件,和
-用于如果所述确定的事务标识符出现在所述存储器中则将所述入站消息作为响应的入站消息处理的部件。
53.根据权利要求52所述的网关实体控制装置,其中用于作为响应的入站消息处理的部件包括
用于利用映射数据库将所述响应的入站消息的单独记录用存储在所述映射数据库中的出站消息的其它单独记录来代替的部件。
54.根据权利要求53所述的网关实体控制装置,
其中所述映射数据库为响应的入站消息的每个复制版本,将对应于第一出站消息的单独记录的所述响应的入站消息的所述复制版本的单独记录映射到进一步出站消息的单独记录,
其中所述进一步出站消息的所述单独记录定义了提供有所述入站消息的所述复制版本的应用实体。
55.根据权利要求53所述的网关实体控制装置,其中用于作为响应的入站消息处理的部件包括
用于将所述响应的入站消息转发到相应的应用实体的部件。
56.根据权利要求36到40和47中任意一项所述的网关实体控制装置,进一步包括
用于在过去一定时间之后,从所述存储器中去除条目的部件。
57.根据权利要求56所述的网关实体控制装置,其中所述一定时间长于事务或序列的预期生存时间。
58.根据权利要求37所述的网关实体控制装置,其中所述事务标识符是由消息的至少一个单独记录计算得到的散列值。
59.根据权利要求37所述的网关实体控制装置,其中所述事务标识符是消息的至少一个单独记录的函数。
60.根据权利要求36所述的网关实体控制装置,其中所述序列步长信息是消息的至少一个单独记录的函数。
61.根据权利要求36所述的网关实体控制装置,其中所用协议是会话发起协议(SIP)。
CN200680051833.4A 2006-01-25 2006-01-25 网关实体 Expired - Fee Related CN101336539B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2006/000633 WO2007085271A1 (en) 2006-01-25 2006-01-25 Gateway entity

Publications (2)

Publication Number Publication Date
CN101336539A CN101336539A (zh) 2008-12-31
CN101336539B true CN101336539B (zh) 2012-09-05

Family

ID=37056847

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200680051833.4A Expired - Fee Related CN101336539B (zh) 2006-01-25 2006-01-25 网关实体

Country Status (6)

Country Link
US (1) US8072982B2 (zh)
EP (1) EP1989862B1 (zh)
CN (1) CN101336539B (zh)
AT (1) ATE442735T1 (zh)
DE (1) DE602006009153D1 (zh)
WO (1) WO2007085271A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2663954B1 (en) 2011-01-10 2019-05-01 International Business Machines Corporation System and method for extending cloud services into the customer premise
GB2537087A (en) 2014-12-18 2016-10-12 Ipco 2012 Ltd A system, method and computer program product for receiving electronic messages
GB2533432A (en) 2014-12-18 2016-06-22 Ipco 2012 Ltd A device system, method and computer program product for processing electronic transaction requests
GB2533379A (en) 2014-12-18 2016-06-22 Ipco 2012 Ltd A system and server for receiving transaction requests
GB2533562A (en) 2014-12-18 2016-06-29 Ipco 2012 Ltd An interface, method and computer program product for controlling the transfer of electronic messages

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1339213A (zh) * 1999-02-04 2002-03-06 爱培恩通信有限公司 通信网关
US6360270B1 (en) * 1998-11-16 2002-03-19 Hewlett-Packard Company Hybrid and predictive admission control strategies for a server
EP1599009A1 (en) * 2004-05-17 2005-11-23 Hewlett-Packard Development Company, L.P. Improvements in message-based communications

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6975743B2 (en) * 2001-04-24 2005-12-13 Microsoft Corporation Robust and stealthy video watermarking into regions of successive frames
JP3642301B2 (ja) * 2001-07-31 2005-04-27 日本電気株式会社 パケット監視方式
US6967951B2 (en) * 2002-01-11 2005-11-22 Internet Machines Corp. System for reordering sequenced based packets in a switching network
US7746781B1 (en) * 2003-06-30 2010-06-29 Nortel Networks Limited Method and apparatus for preserving data in a system implementing Diffserv and IPsec protocol
JP4028853B2 (ja) * 2004-03-30 2007-12-26 株式会社日立製作所 情報サービス通信ネットワークシステムおよびセッション管理サーバ
US7644050B2 (en) * 2004-12-02 2010-01-05 International Business Machines Corporation Method and apparatus for annotation-based behavior extensions
JP5059758B2 (ja) * 2005-07-20 2012-10-31 エスティーマイクロエレクトロニクス エス.アール.エル. 複数のソースからの通信を検知するための装置及び方法
WO2007063588A1 (ja) * 2005-11-30 2007-06-07 Fujitsu Limited 情報処理装置、電子機器、およびプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6360270B1 (en) * 1998-11-16 2002-03-19 Hewlett-Packard Company Hybrid and predictive admission control strategies for a server
CN1339213A (zh) * 1999-02-04 2002-03-06 爱培恩通信有限公司 通信网关
EP1599009A1 (en) * 2004-05-17 2005-11-23 Hewlett-Packard Development Company, L.P. Improvements in message-based communications

Also Published As

Publication number Publication date
US20100254394A1 (en) 2010-10-07
DE602006009153D1 (de) 2009-10-22
WO2007085271A1 (en) 2007-08-02
ATE442735T1 (de) 2009-09-15
EP1989862B1 (en) 2009-09-09
EP1989862A1 (en) 2008-11-12
US8072982B2 (en) 2011-12-06
CN101336539A (zh) 2008-12-31

Similar Documents

Publication Publication Date Title
TWI338230B (en) Cluster data port services for clustered computer system
CN101989922B (zh) 用于恢复会话初始协议事务的方法和系统
CN110297801A (zh) 基于容错fpga的事务系统的正好一次事务语义
CN1534923B (zh) 通过提供单个编程模型简化应用开发的方法
US7975016B2 (en) Method to manage high availability equipments
US20080056234A1 (en) Methods, systems, and computer program products for inhibiting message traffic to an unavailable terminating SIP server
CN102177690B (zh) 在电信网络中提供镇静服务的方法、系统和计算机可读介质
US8051189B2 (en) Methods, systems, and computer program products for session initiation protocol (SIP) fast switchover
CN101536464B (zh) 用于控制通信的方法及设备
US20080086567A1 (en) SIP server architecture for improving latency in message processing
CN101557393A (zh) Sip可存活网络配置中的同时活动注册
CN101677320A (zh) 用可生存网络的控制器列表中的控制器的滑动窗口注册端点
CN101766011A (zh) 用于同步的呼叫协议信息的集中式呼叫日志
CN101547128A (zh) 在sip可存活配置中使用sip消息的故障转移/故障恢复触发
CN101557305A (zh) 在sip网络配置中使用sip信令的可存活电话行为
CN101336539B (zh) 网关实体
JP2007156569A (ja) クラスタシステム、ロードバランサ、ノード振替方法およびノード振替プログラム
CN101160880A (zh) 通信设备与方法
CN103067410A (zh) 用于在通信系统中递送消息的方法
US20110035413A1 (en) Diameter bus communications between processing nodes of a network element
US10146525B2 (en) Supporting hitless upgrade of call processing nodes in cloud-hosted telephony system
JP2007133542A (ja) 情報引継ぎシステム、情報引継ぎ方法、現用系ノード及び待機系ノード
CN101459533B (zh) 一种下一代网络中改进的应用服务器容灾的系统及方法
AU772655B2 (en) Method and apparatus for providing reliable communications in an intelligent network
CN101217293A (zh) 媒体业务托管切换系统及方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120905

Termination date: 20200125

CF01 Termination of patent right due to non-payment of annual fee