CN1954576B - 处理启动请求的方法、装置和*** - Google Patents

处理启动请求的方法、装置和*** Download PDF

Info

Publication number
CN1954576B
CN1954576B CN200480043074.8A CN200480043074A CN1954576B CN 1954576 B CN1954576 B CN 1954576B CN 200480043074 A CN200480043074 A CN 200480043074A CN 1954576 B CN1954576 B CN 1954576B
Authority
CN
China
Prior art keywords
host
request
server
contact
client
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
CN200480043074.8A
Other languages
English (en)
Other versions
CN1954576A (zh
Inventor
J·布鲁斯
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 CN1954576A publication Critical patent/CN1954576A/zh
Application granted granted Critical
Publication of CN1954576B publication Critical patent/CN1954576B/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1017Server selection for load balancing based on a round robin mechanism
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明描述了一种处理从多个客户指向联系主机的启动请求的技术,其使得能够处理大量的请求并提供设计阶段的灵活性。联系主机接收来自客户的请求。之后,应答被发送到每个请求客户,这样可以绕过联系主机而在客户和服务器之间开始直接的数据传输。该应答可以通过联系主机或者通过相关联的服务器产生和发送。在一些变型中,在每个请求关联前述,认证每个请求。

Description

处理启动请求的方法、装置和***
技术领域
本发明涉及通信。更具体而言,本发明涉及一种用于处理与确认(acknowledge)传输协议相关联的启动请求(initiation request)的技术。
背景技术
运行在IP顶层的可靠传输协议,诸如流控制传输协议(SCTP),经常被网络组件(例如,客户等等)使用来经由应用协议数据单元(APDU)在建立的连接上(例如,面向连接的服务,诸如由SCTP提供的服务)与应用服务器通信。使用这种配置,网络组件通常使用主机服务器群,为了可伸缩性的目的,该主机服务器群可以部分地基于要求每个网络组件具有几个与之相关联的物理资源。
图1显示了SCTP信令100,该信令与客户110(端点EP A)和服务器120(端点EP Z)之间的关联(用于应用数据传输,等等)的建立有关。若干传输地址被与客户100(即,其是多归属端点)相关联,该客户端100包括用于客户的有效IP地址和被选择用于客户的端口号的对(其通常仅仅对SCTP关联的有效期内有效)。该IP地址作为列表{IP A1,...,IP An}给出,端口号被指示为P A。
相似地,对于服务器120具有传输地址,它们是从IP地址列表{IP Z1,...,IP Zm}和端口号P Z中建立的对。通常,用于服务器120的端口号是为在SCTP顶层的特定应用而定义的已知端口(例如,在用于MTP3用户自适应层(M3UA)的协议中定义的端口号2905)。在任何情况下,与服务器120相关联的端口号和IP地址(和/或相应的应用)必须对所有客户110来说都是已知的。
用于建立关联的过程开始于:客户110经由用于服务器120的有效IP地址的其中一个和服务器端口号来发送启动请求(例如,在SCTP的情况下是INIT分组)130到服务器120。请求130将包括对客户110有效的IP地址列表和端口号,指示为IP地址列表和端口号。一个典型的请求130可以包括:目的地IP地址=IP Zy;源IP地址=IP Ax;(源端口=P A;目的地端口=P Z;程序块=INIT;端点IP地址={IP A1,...,IP An})。虽然目的地IP地址和源IP地址通常被包括在IP分组报头中,但是括号中剩余的参数作为SCTP分组报头被发送,该SCTP分组报头被包含在IP分组有效负荷中。
在响应中,如果服务器接受启动请求130,服务器120将使用确认(例如,在SCTP情况下是INIT ACK消息)140来回答。确认140被指向请求130被从中接收的相同地址,但是其可以由服务器120从与接收INIT消息的地址所不同的地址发送(例如,IP地址Zz)。确认140还将包括定义服务器120端点的数据,诸如有效IP地址和在INIT消息中已经用作为目的地端口号的相同端口号。一个典型的确认130可以包括:目的地IP地址=IP Ax;源IP地址=IP Zz;(源端口=P Z;目的地端口=P A;程序块=INIT ACK;端点IP地址={IP Z1,...,IP Zm})。在客户110已经接收到该确认之后,为了安全的目的可以交换若干更多的消息(即,进行握手),这样各种传输地址对于每个端点来说都是已知的,以便在它们中选择交换有效负荷数据所需要的地址。
上述SCTP关联被建立的传统方法易受到服务拒绝(DoS)攻击的影响,因为对各种服务器的大量自动请求会削弱通信交换(通过有效地禁止服务器)。虽然在一些环境中当通信量需求高的时候可以通过添加更多的服务器以及建立服务器群来提高处理功率,但是各种客户必须被通知如何最好地使用增加的资源。因此,如果所有各种客户之间没有协调的话就不可能获得负荷平衡。虽然域名***(DNS)可以提供有关负荷共享的好办法,但是DNS的使用以及相应的域名对于一些应用来说过于麻烦。
在类似的领域中,路由器(诸如因特网路由器)被用来确定数据如何经由最有效的路由发送到它想要的目的地。此外,路由器用于对通信量分段(例如,通过监控每个数据分组的传输)并提供路由的冗余。虽然该配置可以用来确保该数据以有效的方式传输到接收方,但是路由器在很大的数据通信量期间易于受过负荷影响。
US 2002/0138618A1公开了一种连接管理技术,它使用安排在内部网络和外部网络之间的负荷平衡服务器阵列控制器来实现。该控制器从外部网络接收连接请求,转换该连接请求并将转换后的连接请求转发到选择的内容服务器。响应于该转换后的连接请求,内容服务器发送TCP/IP确认消息给控制器。该控制器然后转换该确认消息并将转换后的确认消息转发给已经在开始从中接收到连接请求的客户。
因此,将理解仍然需要改进的技术来接收和确认大量的启动请求,其可以被修改,而不需要与多个客户进行显著的协调。
发明内容
本发明可以体现为一种处理从多个客户指向联系主机的启动(或建立)请求的方法。所述方法包括以下步骤:由联系主机接收请求,由联系主机将每个请求与服务器相关联,以及确认每个请求的接收以便启动在客户和相关联服务器之间直接的数据传输。
根据期望的配置,确认可以由相关联的服务器或者由联系主机来发送。使用前一种配置,本方法就可以进一步包括由相关联服务器从相应的客户接收要开始数据传输的证实的步骤。此外,其他消息也可以被交换以便初始化数据传输。
本方法还包括步骤:由联系主机将请求路由到相关联的服务器,这样该相关联的服务器可以确认每个请求。该路由可以仅仅包括最初的请求,或者其可以包括联系主机从请求客户在最初的请求之后接收的附加消息。
如上所述,联系主机可以直接向相应的客户确认该请求,而不是让相关联的服务器确认该请求。使用该变型,本方法还可以包括步骤:由联系主机从被确认客户接收要开始数据传输的证实的步骤。本方法还可以包括步骤:在数据传输已经开始之后和/或请求已经被联系主机接收之后,联系主机将来自请求客户的任何消息转发到相关联的服务器。替换地,本方法还包括步骤:在数据传输已经开始之后和/或请求已经被联系主机接收之后,丢弃任何由联系主机从客户接收的消息。丢弃消息会让客户将联系主机分类为非响应和/或非激活,通常会使客户采取另一个传输地址。
本方法可以规定该确认包括用于相关联服务器的至少一个IP地址。当相关联服务器是多归属主机时,可以包括多个IP地址。可以使用多归属主机且与本方法相兼容的一个协议的例子就是流控制传输协议。此外,本发明还可以包括最初的步骤:向联系主机提供单个地址以便接受请求以便在开始阻止客户对服务器的直接访问。
该关联步骤可以根据循环方案(round robin)选择相关联的服务器或者其可以确定在相关联服务器上的负荷并根据负荷平衡方案选择相关联的服务器。这种类型的关联在***的配置中带来更多的便利,因为当产生请求时,只须知道用于联系主机的地址。
本方法可以由联系主机动态地分配地址给服务器。该动态分配可以使用诸如DHCP、无状态自动配置、全状态自动配置、NAT和NAPT等等类似的方案。
在一些变型中,本发明还包括步骤:将联系主机安排驻留在单独的物理资源中而不是服务器中。但是,在其他变型中,本方法还包括步骤:将联系主机安排驻留在与服务器相同的物理资源中。此外,本方法还可以包括步骤:将服务器安排为在单个网络节点上的群以便提供到应用服务的连接性,或者其还可以包括步骤:将服务器安排为在两个或更多网络节点上的群以便提供到应用服务的连接性。
为了进一步使服务器与客户隔绝直接的联系(尤其为了阻止服务拒绝攻击),本方法还包括步骤:由联系主机认证每一个请求。该认证例如可以基于在请求中指示的IP地址或其他与客户相关联的标识符。
本发明还可以体现为一种计算机程序产品,该计算机程序产品包括程序代码部分,用于当该计算机程序产品在计算机***上运行时执行这里公开的方法的任何步骤。这种计算机程序产品,根据期望的实现,可以存储在计算机可读记录介质中。
在另一个实施例中,提供了一种包括计算机处理器和耦接到该处理器的存储器的***。该***的存储器可以使用一个或多个程序编码,该程序可以执行这里公开的方法的任何步骤。
本发明还可以包括一种联系主机,用于处理从多个客户接收的启动请求。该联系主机可以包括用于接收请求的接收单元;用于将每个请求与服务器相关联的关联单元;和用于启动对每个请求客户的确认以便建立在至少一个请求客户与相关联的服务器之间的数据传输信道的确认单元,其中该数据传输信道绕过了该联系主机。在一些变型中,该启动单元将请求路由到相关联的服务器,这样该相关联的服务器可以确认每个请求。在其他变型中,该启动单元直接确认每个请求。由启动单元启动的确认可以包括用于相关联服务器的至少一个IP地址。此外,联系主机还可以包括认证单元,用于认证每个请求。
本发明还可以在一种***中提供,该***包括多个客户,用于产生数据传输启动请求;多个服务器,用于处理由多个客户请求的数据传输;和联系主机,用于处理从所述多个客户接收的启动请求。该联系主机包括用于接收请求的接收单元;用于将每个请求与服务器相关联的关联单元;和用于启动对每个请求客户的确认的确认单元。此外,该***包括在至少一个请求客户与相关联的服务器之间的数据传输信道,该数据传输信道绕过了该联系主机。
附图说明
本发明更进一步的细节、实施例、修改和增强将从考虑以下本发明各种实例性实施例的描述以及附图而获得,其中:
图1是信令图示,显示用于在客户和服务器之间交换启动请求和确认的传统技术;
图2是显示本发明的方法实施例的流程图;
图3是显示本发明的装置实施例的示意图;
图4是一个有助于理解和实现本发明实例的示意图,显示了客户发送启动请求到联系主机,该联系主机随后转发该请求到服务器,该服务器进而又发送该请求的确认到客户;
图5是一个有助于理解和实现本发明实例的示意图,显示了客户发送启动请求到联系主机,该联系主机发送识别该服务器的该请求的确认到客户;
图6是一个有助于理解和实现本发明实例的信令图,显示了客户发送启动请求到联系主机,该联系主机随后转发该请求到服务器,该服务器进而又发送该请求的确认到客户,这样可以绕过联系主机在服务器和客户之间开始数据传输;和
图7是一个有助于理解和实现本发明实例的信令图,显示了客户发送启动请求到联系主机,该联系主机进而又发送识别该服务器的该请求的确认到客户,这样可以绕过联系主机在服务器和客户之间开始数据传输。
具体实施方案
为了解释而不是限制的目的,在以下描述中陈述特定的细节,诸如特定步骤顺序和各种配置等等,以便提供对本发明充分的理解。对于本领域技术人员来说很明显,本发明可以以其他偏离这些特定细节的实施例来实现。此外,本领域技术人员将理解,以下解释的功能可以使用软件功能结合被编程的微处理器或通用计算机,和/或使用专用集成电路(ASIC)来实现。还将理解,虽然本发明主要描述为一种方法,但是其也可以实现为一种计算机程序产品或一种包括计算机处理器和耦接到该处理器的存储器的***来实现,其中该存储器使用可以执行这里公开的方法的一个或多个程序编码。此外,虽然本发明的描述与SCTP相关,但是本领域的技术人员将理解,其可以结合各种数据传输协议和应用来使用,在这些数据传输协议和应用中,在客户和服务器的关联之前,由客户发送启动请求。
参考图2,显示了一个与一种处理启动请求的方法相关联的流程图,该启动请求从多个客户指向联系主机。在步骤210,该方法开始于(服务器)联系主机接收请求。在接收到请求之后,在步骤220,联系主机将每个请求和服务器相关联。之后,在步骤230,每个请求的接收确认被发送到请求客户,这样就可以随后在客户和相关联服务器之间直接开始数据传输。可选地,该联系主机也可以认证每个请求(和/或客户发送请求),尤其是为了提供进一步保护以抵抗DoS攻击。
图3显示了联系主机300,该联系主机300被配置来处理从多个客户接收的启动请求。接收单元310从各种客户接收请求。关联单元320将每个接收到的请求和服务器相关联,确认单元330启动对请求客户的确认(或者直接通过联系主机或者通过相关联的服务器)。可选地,联系主机300还可以包括认证单元320,其认证发送请求的每个客户(尤其是为了进一步隔离服务器防止受DoS攻击)。图2和图3所示本发明的实施例的变型以及有助于理解和实现本发明的实例将在下面介绍并在图4-7中示出。
图4所示的是示意图400,其显示了(服务器)联系主机410、客户420,和至少一个服务器430(或至少一个服务器群)之间的关系,所有这些都经由网络(诸如IP网络440)耦接。客户420可以经由IP网络440发送启动请求450(例如,在SCTP的情况下是INIT消息)到联系主机410。联系主机410然后可以认证该请求(例如,通过确定客户420是否被允许与服务器430通信)。如果客户420(和/或请求450)还没有被认证,那么联系主机410可以使用ABORT消息(在SCTP的情况下)或其他终止消息回复给客户420。
如果客户420被认证(或者,如果联系主机410没有配置来认证客户420和/或请求450),那么联系主机410就选择一个合适的服务器430来响应并处理该请求450。一旦服务器430已经被选择,那么联系主机410就经由IP网络440转发或中继该请求460(或者产生一个新的具有被请求信息的请求)到被选择的服务器430(根据协议其可以请求在联系主机410和服务器430之间交换几个消息,诸如INIT和INIT ACK,等等)。可以基于确定如何平衡/共享在各种服务器中的负荷(例如,基于由每个服务器或由耦接到服务器的负荷监控器提供的性能统计量)来选择服务器430,这些服务器与联系主机410相关联或者耦接到联系主机410,或者替换地,可以使用诸如循环选择方案来选择服务器430。替换地,服务器430可以转发该启动消息到相同服务器群中其他成员,直到在这些各种服务器中识别了合适的候选者。
为了确保客户420和服务器430被相关联(从而可以传输数据),联系主机410可以发送地址配置改变消息(在SCTP情况下是ASCONF消息)到客户420,指定服务器430作为未来消息的适当接收方。如果地址配置消息的确认(例如,在SCTP情况下是ASOCNF ACK)被联系主机410接收,那么联系主机410可以删除与该关联有关的所有状态信息。另一方面,如果客户420使用指示未识别程序块类型的错误消息(例如,在SCTP情况下是ERROR)回复,那么联系主机410可以静静地丢弃输入的数据消息和用于关联的HEARTBEAT消息。之后,客户420可以最后确定该联系主机410是非激活的,并将对属于服务器430的其他地址中的一个执行故障恢复(fail-over)。
服务器430可以经由IP网络440发送响应于请求450的确认470(例如,INIT ACK消息等等),这样可以在服务器430和客户420之间建立关联480(例如,SCTP关联等等)(以便有利于,例如,服务器430和客户420之间的数据传输)。根据实现,可以在开始关联之前,在服务器430和客户420之间交换进一步的握手信号。此外,使用该配置,由联系主机410从客户420接收的任何进一步与原始请求450有关的消息,诸如其他初始化消息(例如,如RFC 2960中描述的COOKIE ECHO消息等等),可以被直接路由到服务器430(这样服务器430可以直接对其响应)。
服务器430到客户420的确认470和/或其他初始化消息包括识别服务器430随后被联系到什么位置的服务器地址。服务器地址可以是属于服务器430的“半固定”分配的地址,或者其可以是动态分配的地址。例如,服务器430可以动态分配地址到它的一些(或全部)接口。该分配可以使用诸如动态主机配置协议(DHCP)、无状态/全状态自动配置、网络地址转换(NAT)或网络地址端口转换(NAPT)等等技术来产生。通过使用动态分配,每个关联可以被提供其在服务器430上的自己的真实(经由DHCP分配给服务器接口的IP地址)或虚拟(经由NAT的地址映射)的端点。
图5显示了示意图500(其中图4的共同信号和组件被显示使用了相同的参考数字),其中,客户410发送请求到联系主机430,联系主机发送确认510(例如INIT消息等等)到客户。之后,服务器420和客户410之间就建立了关联480。使用该变型,联系主机430就可以执行与关联480的初始化有关的各种步骤,诸如选择合适的服务器420(其可以包括进一步的与状态信息的交换有关的信令),准备在被选择的服务器420中的状态以便用于数据传输阶段,和强制数据传输阶段由被选择的服务器420处理(例如,通过保持状态信息处于关联,并且不对各种程序块进行回答,以便起到无用的接口的作用,从而强制客户410中的多归属重新定向通信量到驻留在服务器420中的剩余地址)。与图4的实例相反,联系主机430可以可选地直接响应从客户410接收的各种初始化消息(例如,COOKIE ECHO消息,等等)。可替换地,联系主机430可以简单地丢弃除了启动请求之外的其他消息(例如,DATA消息,HEARTBEAT消息,等等),这样,联系主机430就被宣称为客户410不可到达的。
图6显示了基于SCTP的,在具有相关联的IP地址{IP A1,...,IPAn}和端口P A的客户610(端点EP A)、具有相关联IP地址{IPC1,...,IP Co}和端口P Z的联系主机620(端点EP C)、和具有相关联IP地址{IP Z1,...,IP Zm}和端口P Z的服务器630(端点EP Z)之间的信令图示600。客户610可以发送启动请求640到联系主机620。该启动请求640可以包括诸如以下的信息:目的地IP地址=IPCw;源IP地址=IP Ax(源端口=P A;目的地端口=P Z;程序块=INIT;端点IP地址={IP A1,...,IP An})。在联系主机620确定发送请求到服务器630之后(以上述方法),该请求就被转发650(或另一个包含请求中信息的消息被产生)到服务器630。然后服务器630就使用确认660响应客户610,该确认可以包括诸如以下的信息:目的地IP地址=IP Ax;源IP地址=IP Zz(源端口=P Z;目的地端口=P A;程序块=INIT ACK;端点IP地址={IP Z1,...,IP Zm})。之后,客户610和服务器630可以开始数据传输(或其他关联),该数据传输绕过或者说不使用联系主机620的功能。
图7显示了另一个基于SCTP的,在具有相关联的IP地址{IPA1,...,IP An}和端口P A的客户710(端点EP A)、具有相关联IP地址{IP C1,...,IP Co}和端口P Z的联系主机720(端点EP C)、和具有相关联IP地址{IP Z1,...,IP Zm}和端口P Z的服务器730(端点EP Z)之间的信令图示700。客户710可以发送启动请求740到联系主机720。该启动请求740可以包括诸如以下的信息:目的地IP地址=IP Cw;源IP地址=IP Ax(源端口=P A;目的地端口=P Z;程序块=INIT;端点IP地址={IP A1,...,IP An})。在联系主机720确定发送请求到服务器630之后(以上述方法),就发送确认750到客户710。该确认750可以包括诸如以下的信息:目的地IP地址=IP Ax;源IP地址=IP Zz(源端口=P Z;目的地端口=P A;程序块=INIT ACK;端点IP地址={IP Z1,...,IP Zm})。之后,客户710和服务器730可以开始数据传输,该数据传输绕过或者说不使用联系主机720。
根据期望的实现,可以对本发明的配置做出各种修改。例如,联系主机可以是驻留在除了服务器之外的独立物理资源的专用机器。在其他变型中,联系主机位于与服务器相同的物理资源中(虽然该服务器可以最终不被联系主机选择或关联)。此外,服务器可以属于相同的网络节点(即,它们都提供对相同应用服务的连通性,诸如上述的应用层SCTP)。相反,服务器可以属于不同的网络节点,尽管提供相同的应用服务。
通过确定各种与联系主机相关联的服务器的特征可以实现负荷平衡,诸如协议处理能力(即,由处理协议分组所占用的处理性能)、存储器占用(即,用于队列处理所需的存储器)和链路容量。此外,联系主机可以周期地轮询各种服务器,或者替换地,负荷平衡监控器,来确定将未来的关联分配到哪里。
如上所述,通过起到防火墙的作用(即,通过过滤不想要的请求),使用联系主机保护了服务器,防止其收到攻击。在诸如INIT的启动消息公开之前,实际服务器的IP地址不提供给客户。因此,正在进行的数据传输(例如,SCTP关联)不会受到不希望的请求影响,该不希望的请求将会占用服务器处理特性。此外,联系主机提供单个联系地址,并对请求客户隐藏几个资源上潜在的服务器分布。该分布可以以技术的方法来管理,诸如负荷平衡或循环分布,以便更均匀的采用负荷共享。
此外,由于联系主机有利于产生对每个请求的确认,例如,通过(i)路由每个请求到相关联的服务器并让相关联服务器确认该请求;或(ii)使用确认(包括相关联服务器的传输地址)自己响应每个请求,数据传输可以直接在客户和相关联服务器之间启动,而不需要联系主机的进一步干预或中介。虽然在一些变型中,联系主机可以路由或者处理与数据传输的启动有关的消息,但是在数据传输过程中联系主机并不涉及其中(在本文中的意思就是绕过)。相反,在数据传输的各个阶段,路由器或其他设备处理数据。通过将由联系主机处理的消息事务限制到数据传输的启动,而不是数据传输本身,在大量数据传输过程中联系主机的处理能力就不会受到不利的影响,并且它们可以继续接受来自大量客户的请求,并有利于产生随后用来启动数据传输的确认。
虽然本发明已经参考特定实施例来描述(在各个方法中包括某种***配置和某种步骤顺序),本领域技术人员将认识到本发明并不限于这里所描述的特定的实施例。因此,虽然本发明是参考其优选实施例描述的,但是可以理解该公开仅仅是示例性的。因此,本发明仅仅由附加的权利要求的范围来限制。

Claims (18)

1.一种处理从多个客户(420)指向联系主机(410)的启动请求的方法,所述方法包括以下步骤:
由所述联系主机(410)接收所述请求;
由所述联系主机(410)将每个请求与服务器(430)相关联;以及
确认每个请求的接收以便启动在所述客户(420)和相关联的服务器(430)之间直接的数据传输,所述数据传输绕过所述联系主机(410),
其中由所述联系主机(410)向所述客户(420)发送地址配置改变消息,指定所述相关联的服务器(430)作为未来消息的适当接收方,从而绕过所述联系主机(410)的所述数据传输能够被执行。
2.权利要求1的方法,其中,所述相关联的服务器(430)向相应的客户(420)确认所述请求。
3.权利要求1或2的方法,还包括步骤:
由所述相关联的服务器(430)从相应的客户(420)接收要开始数据传输的证实。
4.权利要求1或2的方法,还包括步骤:
由所述联系主机(410)将所述请求路由到所述相关联的服务器(430),从而所述相关联的服务器(430)可以确认每个请求。
5.权利要求1的方法,其中,所述联系主机(410)向相应的客户(420)确认所述请求。
6.权利要求5的方法,其中还包括步骤:
由所述联系主机(410)从被确认客户(420)接收要开始数据传输的证实。
7.权利要求5或6的方法,其中还包括步骤:
在所述数据传输已经开始之后,由所述联系主机(410)将来自被确认客户(420)的任何消息转发到所述相关联的服务器(430)。
8.权利要求5或6的方法,其中还包括步骤:
在所述数据传输已经开始之后,丢弃任何由所述联系主机(410)从客户(420)接收的消息。
9.权利要求1或2的方法,其中,所述确认包括用于所述相关联的服务器(430)的至少一个IP地址。
10.权利要求9的方法,其中,每个相关联的服务器(430)是多归属的。
11.权利要求1或2的方法,其中,所述关联步骤根据循环方案选择所述相关联的服务器(430)。
12.权利要求1或2的方法,其中,所述关联步骤确定在所述相关联的服务器(430)上的负荷并根据负荷平衡方案选择所述相关联的服务器(430)。
13.权利要求1或2的方法,还包括步骤:
由所述联系主机(410)动态地分配地址给所述服务器(430)。
14.权利要求1或2的方法,其中,传输协议是流控制传输协议。
15.权利要求1或2的方法,还包括步骤:
由所述联系主机(410)认证每个请求。
16.权利要求1或2的方法,还包括最初的步骤:
向所述联系主机(410)提供单个地址以便接受请求以便在最初阻止由所述客户(420)对所述服务器(430)的直接访问。
17.一种联系主机(410),用于处理从多个客户(420)接收的启动请求,所述联系主机(410)包括:
用于接收所述请求的接收单元(310);
用于将每个请求与服务器(430)相关联的关联单元(320);和
用于启动对每个请求客户(420)的确认以便建立在至少一个请求客户(420)与相关联的服务器(430)之间的数据传输信道(670,760)的确认单元(330),其中所述数据传输信道(670,760)绕过所述联系主机(410),
其中由所述联系主机(410)向所述客户(420)发送地址配置改变消息,指定所述相关联的服务器(430)作为未来消息的适当接收方,从而绕过所述联系主机(410)的所述数据传输能够被执行。
18.一种用于处理与确认传输协议相关联的启动请求的***,所述***包括:
多个客户(420),用于产生数据传输启动请求;
多个服务器(430),用于处理由所述多个客户(420)请求的数据传输;
联系主机(410),用于处理从所述多个客户(420)接收的启动请求;和
在至少一个请求客户(420)与相关联的服务器(430)之间的数据传输信道(670,760),其中所述数据传输信道(670,760)绕过所述联系主机(410),
其中所述联系主机包括:
用于接收所述请求的接收单元(310);
用于将每个请求与服务器(430)相关联的关联单元(320);和
用于启动对每个请求客户(420)的确认的确认单元(330),
其中由所述联系主机(410)向所述客户(420)发送地址配置改变消息,指定所述相关联的服务器(430)作为未来消息的适当接收方,从而绕过所述联系主机(410)的所述数据传输能够被执行。
CN200480043074.8A 2004-05-19 2004-05-19 处理启动请求的方法、装置和*** Expired - Fee Related CN1954576B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2004/005438 WO2005112384A1 (en) 2004-05-19 2004-05-19 Technique for handling initiation requests

Publications (2)

Publication Number Publication Date
CN1954576A CN1954576A (zh) 2007-04-25
CN1954576B true CN1954576B (zh) 2011-10-05

Family

ID=34957904

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200480043074.8A Expired - Fee Related CN1954576B (zh) 2004-05-19 2004-05-19 处理启动请求的方法、装置和***

Country Status (4)

Country Link
US (1) US8589473B2 (zh)
EP (1) EP1751946A1 (zh)
CN (1) CN1954576B (zh)
WO (1) WO2005112384A1 (zh)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10862994B1 (en) 2006-11-15 2020-12-08 Conviva Inc. Facilitating client decisions
KR20060019674A (ko) * 2004-08-28 2006-03-06 엘지전자 주식회사 이동통신 단말기에서의 전화접속 네트워킹을 위한 인증방법
US7729359B1 (en) * 2006-03-15 2010-06-01 Manu Kumar Methods and systems for providing address transparency
US9264780B1 (en) 2006-11-15 2016-02-16 Conviva Inc. Managing synchronized data requests in a content delivery network
US8751605B1 (en) 2006-11-15 2014-06-10 Conviva Inc. Accounting for network traffic
US8874725B1 (en) 2006-11-15 2014-10-28 Conviva Inc. Monitoring the performance of a content player
EP2107464A1 (en) * 2008-01-23 2009-10-07 Comptel Corporation Convergent mediation system with dynamic resource allocation
EP2083532B1 (en) 2008-01-23 2013-12-25 Comptel Corporation Convergent mediation system with improved data transfer
US8149842B2 (en) * 2008-08-25 2012-04-03 Cisco Technology, Inc. Automated discovery of network devices supporting particular transport layer protocols
US8402494B1 (en) 2009-03-23 2013-03-19 Conviva Inc. Switching content
US9444894B2 (en) * 2009-04-15 2016-09-13 Wyse Technology Llc System and method for communicating events at a server to a remote device
US9578113B2 (en) 2009-04-15 2017-02-21 Wyse Technology L.L.C. Method and apparatus for transferring remote session data
US9553953B2 (en) 2009-04-15 2017-01-24 Dell Products L.P. Method and apparatus for extending capabilities of a virtualization domain to support features available in a normal desktop application
US9189124B2 (en) 2009-04-15 2015-11-17 Wyse Technology L.L.C. Custom pointer features for touch-screen on remote client devices
US8676926B2 (en) 2009-04-15 2014-03-18 Wyse Technology L.L.C. System and method for handling remote drawing commands
US9448815B2 (en) 2009-04-15 2016-09-20 Wyse Technology L.L.C. Server-side computing from a remote client device
US7908346B2 (en) * 2009-04-20 2011-03-15 International Business Machines Corporation Processing a plurality of requests simultaneously in a web application
US9203913B1 (en) 2009-07-20 2015-12-01 Conviva Inc. Monitoring the performance of a content player
US10148716B1 (en) 2012-04-09 2018-12-04 Conviva Inc. Dynamic generation of video manifest files
US9374320B2 (en) * 2012-07-27 2016-06-21 Cisco Technology, Inc. Investigating the integrity of forwarding paths within a packet switching device
US10182096B1 (en) 2012-09-05 2019-01-15 Conviva Inc. Virtual resource locator
US9246965B1 (en) * 2012-09-05 2016-01-26 Conviva Inc. Source assignment based on network partitioning
US20150189010A1 (en) * 2013-12-30 2015-07-02 Alcatel-Lucent Canada Inc. Communication network with load balancing functionality
US10178043B1 (en) 2014-12-08 2019-01-08 Conviva Inc. Dynamic bitrate range selection in the cloud for optimized video streaming
US10305955B1 (en) 2014-12-08 2019-05-28 Conviva Inc. Streaming decision in the cloud
CN107104919B (zh) * 2016-02-19 2020-06-02 华为技术有限公司 防火墙设备、流控制传输协议sctp报文的处理方法
US11048536B2 (en) * 2017-11-28 2021-06-29 Microsoft Technology Licensing, Llc High availability cloud service provision
US11297155B2 (en) * 2018-03-28 2022-04-05 Telefonaktiebolaget Lm Ericsson (Publ) Bypass delivery policy based on the usage (I/O operation) of caching memory storage in CDN

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5870550A (en) * 1996-02-26 1999-02-09 Network Engineering Software Web server employing multi-homed, moldular framework
US6360262B1 (en) * 1997-11-24 2002-03-19 International Business Machines Corporation Mapping web server objects to TCP/IP ports
US7411916B2 (en) * 1998-02-26 2008-08-12 Nortel Networks Limited Data forwarding method and apparatus
US7080158B1 (en) * 1999-02-09 2006-07-18 Nortel Networks Limited Network caching using resource redirection
WO2001022688A1 (en) * 1999-09-21 2001-03-29 Streaming21, Inc. Method and system for providing streaming media services
WO2001035593A2 (de) 1999-11-10 2001-05-17 Siemens Aktiengesellschaft Methode zur verteilung von protokollmaschinen
US8380854B2 (en) * 2000-03-21 2013-02-19 F5 Networks, Inc. Simplified method for processing multiple connections from the same client
AU2001282477A1 (en) 2000-08-24 2002-03-04 Voltaire Advanced Data Security Ltd. System and method for highly scalable high-speed content-based filtering and load balancing in interconnected fabrics
WO2002023463A1 (en) * 2000-09-11 2002-03-21 David Edgar System, method, and computer program product for optimization and acceleration of data transport and processing
US6826198B2 (en) 2000-12-18 2004-11-30 Telefonaktiebolaget Lm Ericsson (Publ) Signaling transport protocol extensions for load balancing and server pool support
US7145875B2 (en) * 2001-03-05 2006-12-05 Tekelec Methods and systems for preventing short message service (SMS) message flooding
WO2003105006A1 (en) * 2001-04-30 2003-12-18 America Online, Inc. Load balancing with direct terminal response
US7292571B2 (en) 2001-04-30 2007-11-06 Aol Llc, A Delaware Limited Liability Company Load balancing with direct terminal response
US7831731B2 (en) * 2001-06-12 2010-11-09 Hewlett-Packard Development Company, L.P. Method and system for a modular transmission control protocol (TCP) rare-handoff design in a streams based transmission control protocol/internet protocol (TCP/IP) implementation
FI115358B (fi) 2001-11-05 2005-04-15 Nokia Corp Tilaton kuormanjako
US7111035B2 (en) * 2001-12-26 2006-09-19 Hewlett-Packard Development Company, L.P. Fault tolerance associations for IP transport protocols
EP1377082B1 (en) * 2002-06-28 2007-03-14 Compaq Information Technologies Group, L.P. Proxy load balancer
US7650416B2 (en) * 2003-08-12 2010-01-19 Riverbed Technology Content delivery for client-server protocols with user affinities using connection end-point proxies
US7483980B2 (en) * 2002-11-07 2009-01-27 Hewlett-Packard Development Company, L.P. Method and system for managing connections in a computer network
US7363347B2 (en) * 2002-11-07 2008-04-22 Hewlett-Packard Development Company, L.P. Method and system for reestablishing connection information on a switch connected to plural servers in a computer network
US8499086B2 (en) * 2003-01-21 2013-07-30 Dell Products L.P. Client load distribution
US20050038890A1 (en) * 2003-08-11 2005-02-17 Hitachi., Ltd. Load distribution method and client-server system
US7386624B2 (en) * 2003-10-23 2008-06-10 International Business Machines Corporation Method, system and article for dynamic real-time stream aggregation in a network
US7472200B1 (en) * 2003-12-03 2008-12-30 Cisco Technology, Inc. Arrangement in a multi-homed transport endpoint for selecting a source address based on source-destination address pair metrics
FI117313B (fi) * 2004-04-05 2006-08-31 Nokia Corp Viestinkäsittely
US7555484B2 (en) * 2005-01-19 2009-06-30 Microsoft Corporation Load balancing based on cache content
US20060282545A1 (en) * 2005-06-11 2006-12-14 Arwe John E Method and apparatus for application or protocol version negotiation
US7797391B2 (en) * 2007-09-19 2010-09-14 The Chinese University Of Hong Kong Load balancing and admission scheduling in pull-based parallel video servers

Also Published As

Publication number Publication date
EP1751946A1 (en) 2007-02-14
WO2005112384A1 (en) 2005-11-24
US8589473B2 (en) 2013-11-19
CN1954576A (zh) 2007-04-25
US20080028081A1 (en) 2008-01-31

Similar Documents

Publication Publication Date Title
CN1954576B (zh) 处理启动请求的方法、装置和***
CN102893556B (zh) 用于源对等体基于容量的Diameter负载共享的方法、***和设备
CN109981803B (zh) 业务请求处理方法及装置
EP3352431B1 (en) Network load balance processing system, method, and apparatus
JP4083737B2 (ja) ネットワークアドレス変換(nat)によるピアツーピアネットワーク通信
JP4000331B2 (ja) ネットワークのポートマッピング用システム
CN101699801B (zh) 一种数据传输方法及传输数据的虚拟对等网络***
CN101553796B (zh) 用于重定向请求的***和方法
JPH09149036A (ja) アドレス解決方法
WO2002071720A1 (en) Addressing method and system for using an anycast address
JP3813571B2 (ja) 境界ルータ装置、通信システム、ルーティング方法、及びルーティングプログラム
WO2006029217A2 (en) Method for automatic traffic interception
CN108881018B (zh) 用于在diameter信令路由器处路由diameter消息的方法、***及装置
KR20110036573A (ko) 서버 애플리케이션 프로그램으로 ip 네트워크를 통한 엑세스를 제공하는 방법
US20110035413A1 (en) Diameter bus communications between processing nodes of a network element
EP4049425B1 (en) Email security in a multi-tenant email service
US20150215277A1 (en) Network address translation apparatus with cookie proxy function and method for nat supporting cookie proxy function
CN113630447B (zh) 一种基于web的云服务提供方法、***及存储介质
JP2008244765A (ja) 動的ホスト構成プロトコルサーバ及びipアドレス割り当て方法
Pierrel et al. A policy system for simultaneous multiaccess with host identity protocol
Yalagandula et al. Transparent mobility with minimal infrastructure
JP3771523B2 (ja) ゲートウェイ装置
EP3210116B1 (en) Queue handling
KR102307030B1 (ko) 패킷의 안전성 검증 기능을 구비한 사물인터넷 통신 시스템
KR100920327B1 (ko) 서비스 처리 시스템

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: 20111005

Termination date: 20170519