CN101273341A - System and method for clustered tunneling of requests in application servers and transaction-based systems - Google Patents

System and method for clustered tunneling of requests in application servers and transaction-based systems Download PDF

Info

Publication number
CN101273341A
CN101273341A CNA2005800073887A CN200580007388A CN101273341A CN 101273341 A CN101273341 A CN 101273341A CN A2005800073887 A CNA2005800073887 A CN A2005800073887A CN 200580007388 A CN200580007388 A CN 200580007388A CN 101273341 A CN101273341 A CN 101273341A
Authority
CN
China
Prior art keywords
cluster
client
agency
information
request
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.)
Pending
Application number
CNA2005800073887A
Other languages
Chinese (zh)
Inventor
安德鲁·派珀
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.)
BEA Systems Inc
Original Assignee
BEA Systems Inc
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 BEA Systems Inc filed Critical BEA Systems Inc
Publication of CN101273341A publication Critical patent/CN101273341A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

A system and method for clustered tunneling of requests in application servers and other systems is provided. The system includes a client, a cluster having a plurality of members, and a proxy. The cluster does not advertise the internal addresses of its members since clients might attempt to directly connect to that member. Instead, the client is configured to include a tunneling layer within which the proxy address is set. The advertised address of the cluster member is then set in a header at the client. During runtime, the client connects to the proxy as before, but then uses its internal information to connect or communicate with the appropriate cluster member. In accordance with an embodiment the client sets a cookie which is then sent to the proxy. The proxy re-writes the cookie with the appropriate cluster member information and uses this information to tunnel the request to the appropriate server.

Description

The system and method that is used for application server and transmits based on the cluster tunnel type of the request of the system of transaction
The cross reference of related application
With open for Andrew Piper " SYSTEM AND METHOD FOR CLUSTER TUNNELING OFREQUEST IN APPLICATION SERVERS AND TRANSACTION-BASEDSYSTEMS (system and method that is used for application server and transmits) " of No. the 60/572nd, 644, U.S. Provisional Patent Application submitting on May 19th, 2004, invention people by being incorporated herein by reference based on the cluster tunnel type of the request of the system of transaction.
With open for AndrewPiper " SYSTEM AND METHOD FOR CLUSTER TUNNELING OF REQUESTIN APPLICATION SERVERS AND TRANSACTION-BASED SYSTEMS (system and method that is used for application server and transmits) " of No. the 11/129th, 900, U.S. Patent application submitting on May 16th, 2004, invention people by being incorporated herein by reference based on the cluster tunnel type of the request of the system of transaction.
Technical field
The present invention relates in general to application server, messaging system and based on the system of transaction, specifically, the present invention relates to be used for the system and method that the cluster tunnel type of the request of these systems transmits.
Background technology
In typical cluster enterprises level application server environment, client can be used the Internet interoperability protocol, and (Internet Interoperability Protocol IIOP) visits cluster.Fig. 1 shows the example of this group system.Cluster 100 comprises many servers or cluster member C1 102, C2 104, C3 106, identifies in them each by object requests that indicates server name or address (IOR) and port identifiers.Client 108 uses tunnel type IIOP that cluster is made IIOP request 110.Problem be this only when client directly and trunking communication and not relating to when acting on behalf of just work.If involve agency 114 as shown in fig. 1, then situation becomes complicated more:
Agency as the hardware load equalizer can not route requests to particular server.They are only to select server to use " viscosity (stickness) " of certain form in the http header information then randomly.The cluster of client depends on the ability that is routed to particular server;
The agency carries out network address translation (nat) usually, requires cluster member (IOR) advertisement agency's the address rather than the actual external address of cluster member.So in the example shown in Fig. 1, each cluster member from C1 to C3 all has different addresses and port, and the agency is merely able to give client with an address and port advertisement;
The applet that is unsigned (unsigned applet) is merely able to be opened to the connection of server that can be accessed.
For effective load balancing and failover (failover) are provided in whole enterprise, need a kind of tunnel type IIOP client by its mechanism that can in cluster environment, work.
Summary of the invention
According to the embodiment of the present invention, be provided for the system and method for the cluster tunnel type transmission of the request in application server and the other system.This system comprises client, has a plurality of members' cluster and agency.Its member's of not advertisement of cluster home address, this is because client may attempt to be directly connected to this member.Alternatively, client configuration is become to be included in the tunnel layer that wherein is provided with agent address.Then client with the address setting of institute's advertisement of cluster member in head.At run duration, client is connected to the agency as in the past, but uses its internal information to connect or communication with suitable cluster member subsequently.According to a kind of embodiment, client is provided with sweet cake (cookie) and sends it to the agency subsequently.The agency uses the suitable sweet cake of cluster member information rewriting, and uses this information will ask tunnel type to be passed to suitable server.
Description of drawings
Fig. 1 shows the example of the group system that the transmission of the cluster of request tunnel type is not provided;
Fig. 2 shows the example of the group system of transmitting according to cluster tunnel type embodiment of the present invention, that request is provided; With
Fig. 3 shows the process flow diagram of the process of transmitting according to cluster tunnel type embodiment of the present invention, that be used to the request of handling.
Embodiment
According to the embodiment of the present invention, be provided for the system and method for the cluster tunnel type transmission of the request in application server and other system.This system comprises client, has a plurality of members' cluster and agency.Its member's of not advertisement of cluster home address, this is because client may attempt to be directly connected to this member.Alternatively, client configuration is become to be included in the tunnel layer that wherein is provided with agent address.Then client with the address setting of institute's advertisement of cluster member in head.At run duration, client is connected to the agency as in the past, but uses its internal information to connect or communication with suitable cluster member subsequently.According to one embodiment of the present invention, client is provided with sweet cake and sends it to the agency subsequently.Act on behalf of with the suitable sweet cake of cluster member information rewriting, and use this information will ask tunnel type to be passed to suitable server.
Subject matter as the agency of hardware load equalizer is that they can not route requests to particular server.They can only select server to use " viscosity " of certain form in the http header information then at random.The client cluster depends on the ability that is routed to particular server.In addition, the agency carries out network address translation (nat) usually, request cluster member (IOR) advertisement agency's the address rather than the actual external address of cluster member.And nameless applet is merely able to be opened to the connection of server that can be accessed.This problem is had three kinds of solutions that are proposed:
Use the agency to carry out load balancing and failover that client is guided;
Carry out server side load balancing and failover; And
Use is carried out the client load balancing via the failover of HTTP 400.
Acting on behalf of load balancing requires band outer carrying physical addressing information and makes physical addressing information play a role (act on) by the agency.Most of load equalizers are supported the load balancing that URL guides, thus addressing information can be embedded among the URL for the tunnel client end, and can come route is carried out in request according to the information of this embedding for load equalizer.Has additional characteristic like this: in application server, needn't need plug-in unit.Alternatively, in the webserver that receives request or load equalizer, dispose each application server individually.
Under both situations of server and client side's load balancing, when request being sent to cluster or receive request at the cluster place, trigger selection to destination server.Do not suppose to act on behalf of the connection of keeping particular host, it only makes request repeatedly to its server that has been connected to.Initiation requests can be routed to any cluster member randomly, but this initiation requests is used for carrying the addressing information of the server that this request attempts to arrive.Then this request is sent to correct server.When request was routed, causing acting on behalf of the suitable dialog information that transmit a request to this server had continuously influenced this request.Can carry addressing information in many ways, comprise:
Rewrite URL with the coding addressing information.In this embodiment, rewrite tunneled requests according to destination server address and disconnection information.For example, if the agency is positioned at proxy: 80, and cluster member is positioned at cluster 1:7001, then tunneled requests can be written as:
http://proxyhost:80/wls?internal/cluster/7001/iiop
Perhaps it is according to the distortion that should how to prepare the embodiment of this request.
Alternative means is that addressing information is added on customization HTTP head.
Address information is provided, then can have carried out load balancing and failover by server side load balancing or client load balancing.
Under situation, will each member be configured to proxy requests according to the cluster information in URL or the head with the server side load balancing.Therefore, even failover is carried out in request and load equalizer is selected new main frame, this request also can end up on suitable server.When response was sent it back client, it comprised the suitable sweet cake that is used for destination server.If load equalizer has been visited server, then with route request subsequently correctly.
Under the situation with the client load balancing, situation is similar, but is not route requests, but server produces HTTP 400 message.If load equalizer is known this server, then it will carry out correspondingly route, if not, client will continue to attempt again arriving another server up to it.In this example, server does not need the agency, and they only need and can use the suitable sweet cake information that is provided with for client.
Fig. 2 shows the example of the group system that the transmission of the cluster of request tunnel type is provided according to the embodiment of the present invention.As shown in Figure 2, as before, cluster 120 comprises many cluster members or server 122,124,126.Client 128 is carried out communication via agency 130 with cluster.Each cluster member is delivered the addressing, specific information such as title and port that is used for this member.But, the home address that the agency can not Advertisement Server, this is will be connected to this server because if do client so.Alternatively, at the tunnel layer of client, thereby all requests of address that the agency only is set all go to this agency.The address and the port of institute's advertisement of cluster member all are arranged in the special header.Client sends 136 sweet cakes 134 to agency, wherein sweet cake intended target IOR.When client was to utilize agent address to connect 138 when acting on behalf of afterwards, the agency uses the correct location-server of information in the sweet cake.In one embodiment, the agency rewrites 140 addresses according to the IOR of specified cluster member, as specified in the sweet cake.
In the situation of failover, client obtains the response of having broken down about the destination server.The agency can attempt request is transmitted to another server.To detect server at the tunnel layer of client and change, and the failover code will be connected to another server to client via the agency once more subsequently.
Fig. 3 shows the process flow diagram handled of cluster tunnel type transmission that is used for according to the embodiment of the present invention request.As shown in Figure 3, in step 150, client obtains being used for the specified cluster member or it is carrying out the header information of the server of communication with it.In step 152 kind, client is utilized this information to write a sweet cake and is given the agency.In step 154, the agency receives request from the client that is assigned to this cluster.In step 156, the information in the sweet cake of agency's use is with suitable IOR overwrite request.In step 158, route requests to suitable cluster member.
Can use traditional common or specialized digital computer to implement the present invention easily according to instruction of the present invention.The those of ordinary skill of software field as can be seen, according to teaching of the present disclosure, the programmer of this area can easily prepare appropriate software coding.
In some embodiments, the present invention includes computer program, it can be on it/wherein stores and can be used to computing machine is programmed with the storage medium (medium) of the instruction of carrying out any process of the present invention.Storage medium includes, but are not limited to: comprise various types of dishes, ROM, RAM, EPROM, EEPROM, DRAM, VRAM, flush memory device, magnetic or light-card, the nanosystems (comprising molecular memory IC) of floppy disk, CD, DVD, CD-ROM, mini drive and magneto-optic disk or be suitable for the medium and the equipment of any kind of storage instruction and/and data.
Provide foregoing description of the present invention for diagram and illustrative purposes.But it is not intended to be exhaustive or to limit the invention to disclosed precise forms.Select and described these embodiments with best explain principle of the present invention and practical application thereof, thus the present invention who is used for various embodiments that makes those of ordinary skill in the art to understand and the present invention who has the various modifications of the suitable special-purpose of considering.Attempt to limit scope of the present invention by claims and equivalent thereof.

Claims (10)

1. system that the cluster tunnel type that is used to utilize agency's request transmits comprises:
Cluster comprises a plurality of cluster members;
The agency is used for receiving the member who asks and route requests to described cluster from client; With
Wherein said agency receives sweet cake from client, and described sweet cake is specified the information about the destination cluster member that will be used together with described client, and described then agency is according to the subsequent request of described information route from described client.
2. system according to claim 1, wherein said cluster member advertisement is used to identify the different I R of each cluster member.
3. system according to claim 2, wherein client receives about the described IOR information of cluster member and uses this information to create sweet cake.
4. method that the cluster tunnel type that is used to utilize agency's request transmits comprises step:
The cluster that comprises a plurality of cluster members is provided;
Receive to specify about will be from client the Agency by the sweet cake of the information of the destination cluster member that together uses with described client; With
Receive subsequent request the Agency from client, and these requests are routed to by the member in the specified described cluster of described information.
5. method according to claim 4, wherein said cluster member advertisement is used to identify the different I R of each cluster member.
6. method according to claim 5, wherein client receives the described IOR information about cluster member, and uses this information to create sweet cake.
7. agency that the cluster tunnel type that is used for the request between client and cluster transmits comprises:
Be used for receiving the agency who asks and route requests to the member of cluster from client; With
Wherein said agency receives sweet cake from client, and described sweet cake is specified the information about the destination cluster member that will be used together with described client, and described then agency is according to the subsequent request of described information route from described client.
8. agency according to claim 7, wherein said cluster member advertisement is used to identify the different I R of each cluster member.
9. agency according to claim 8, wherein the agency uses sweet cake that client-requested is mapped to described IOR information.
10. the client of using during the cluster tunnel type of the request between client and cluster transmits comprises:
Tunnel layer, it receives about the IOR information of cluster member and uses this information to create to be sent to subsequently agency's sweet cake; With
Wherein tunnel layer will ask to send to cluster member via the agency.
CNA2005800073887A 2004-05-19 2005-05-18 System and method for clustered tunneling of requests in application servers and transaction-based systems Pending CN101273341A (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US57264404P 2004-05-19 2004-05-19
US60/572,644 2004-05-19
US11/129,900 2005-05-16

Publications (1)

Publication Number Publication Date
CN101273341A true CN101273341A (en) 2008-09-24

Family

ID=40006395

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2005800073887A Pending CN101273341A (en) 2004-05-19 2005-05-18 System and method for clustered tunneling of requests in application servers and transaction-based systems

Country Status (1)

Country Link
CN (1) CN101273341A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110365663A (en) * 2019-06-28 2019-10-22 北京淇瑀信息科技有限公司 Access method, device and electronic equipment between a kind of isolation cluster
CN110799945A (en) * 2017-03-30 2020-02-14 微软技术许可有限责任公司 System and method for session stickiness for stateful cloud services with a non-sticky load balancer

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110799945A (en) * 2017-03-30 2020-02-14 微软技术许可有限责任公司 System and method for session stickiness for stateful cloud services with a non-sticky load balancer
CN110799945B (en) * 2017-03-30 2023-11-10 微软技术许可有限责任公司 System and method for implementing session viscosity for stateful cloud services using a non-sticky load balancer
CN110365663A (en) * 2019-06-28 2019-10-22 北京淇瑀信息科技有限公司 Access method, device and electronic equipment between a kind of isolation cluster

Similar Documents

Publication Publication Date Title
EP1766524B1 (en) System and method for clustered tunneling of requests in application servers and transaction-based systems
US10331501B2 (en) USB device redirection for remote systems
CN101111832B (en) System and method for providing client identifying information to a server
US8346848B2 (en) System and method for maintaining statefulness during client-server interactions
US6950879B2 (en) Using virtual network address information during communications
US7577707B2 (en) Method, system, and program for executing data transfer requests
CN110191031A (en) Network resource access method, device, electronic equipment
US20020116531A1 (en) Applying anonymous personalization to web-based customer interactions
US20050010670A1 (en) Port proxy and system for server and client computers
CN101827019B (en) Network interface device
US7688719B2 (en) Virtualization and high availability of network connections
US20020073211A1 (en) System and method for securely communicating between application servers and webservers
US20020083199A1 (en) Method and apparatus load balancing server daemons within a server
CN107995304A (en) A kind of session keeping method and device based on cookie
WO2000051031A1 (en) Proxy server augmenting a client request with user profile data
CN101350833A (en) Method and system for managing remote host visibility in a proxy server environment
MXPA06001530A (en) Routing hints.
CN113452778A (en) Session keeping method, device, equipment, system and storage medium
CN101273341A (en) System and method for clustered tunneling of requests in application servers and transaction-based systems
US6553406B1 (en) Process thread system receiving request packet from server thread, initiating process thread in response to request packet, synchronizing thread process between clients-servers.
US20070130304A1 (en) Next site for distributed service connections
US7839765B2 (en) Advertising port state changes in a network
WO2006065100A1 (en) Communication network system of bus network structure and method using the communication network system
JP2002185519A (en) Method for commonly using single communication port between a plurality of servers and system therefor
US7330904B1 (en) Communication of control information and data in client/server systems

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Open date: 20080924