Simplified method for processing multiple connections from the same client
원문보기
IPC분류정보
국가/구분
United States(US) Patent
등록
국제특허분류(IPC7판)
G06F-015/177
H04L-012/26
H04L-029/08
출원번호
US-0110115
(2008-04-25)
등록번호
US-9077554
(2015-07-07)
발명자
/ 주소
Szabo, Paul I.
출원인 / 주소
F5 Networks, Inc.
대리인 / 주소
LeClairRyan, a Professional Corporation
인용정보
피인용 횟수 :
14인용 특허 :
156
초록▼
An apparatus is related to connection management for a communications network. A control component receives a data flow requesting a resource from a client, identifies the client, and determines when the data flow is unassociated with a connection to a requested resource. The control component selec
An apparatus is related to connection management for a communications network. A control component receives a data flow requesting a resource from a client, identifies the client, and determines when the data flow is unassociated with a connection to a requested resource. The control component selects a new content server for an unassociated resource request when either the identified client was previously unknown or the identified client has exceeded a maximum number of connections with a previously selected content server. The control component selects the previously selected content server when the identified client has not exceeded the maximum number of connections. A switch component is employed to maintain a connection between the client and the selected content server such that the client receives the requested resource. Utilizing cached connection information for up to “N” connections enhances the speed of connections between the client and the selected content server.
대표청구항▼
1. A method for directing communications over a network between a client and at least one content server, the method comprising: receiving a data flow by a server array controller device, the data flow including a resource request specifying an identified content server;identifying the client that i
1. A method for directing communications over a network between a client and at least one content server, the method comprising: receiving a data flow by a server array controller device, the data flow including a resource request specifying an identified content server;identifying the client that is associated with the resource request by the server array controller device;selecting an original content server to handle the resource request, by the server array controller device, when the identified content server is maintaining a maximum number of resource requests allowed between the identified content server and the identified client regardless of a capacity of the identified content server to accommodate one or more additional resource requests;caching connection information that is associated with the original content server and the identified client by the server array controller device;initializing, by the server array controller device, a connection count that is associated with the identified client when the connection information is cached;updating by the server array controller device, the connection count when the original content server is selected from the cached connection information; anddirecting the data flow between the original content server and the identified client by the server array controller device while data flow between the identified content server and the identified client is maintained by the server array controller device. 2. The method of claim 1, further comprising: maintaining, b the server array controller device, a table for the cached connection information, wherein the table includes at least one entry that is associated with the identified client when a connection between the identified client and the requested resource is alive, andremoving, by the server array controller device, an entry from the table when the connection between the identified client and the requested resource is dead or when a time stamp that is associated with the table entry exceeds a time limit. 3. The method of claim 1, further comprising monitoring, by the server array controller device, a connection time that is associated with the connection between the identified client and the original content server, and selecting the content server with a load-balancing algorithm to provide the original content server to handle the resource request when the connection time exceeds a maximum connection time limit. 4. The method of claim 1, wherein selecting the original content server further comprises selecting a content server with a load-balancing algorithm when the identified client is unassociated with another content server, and when the identified client is associated with another content server that is maintaining the maximum number of resource requests. 5. The method of claim 1, wherein identifying the client further comprises identifying at least a portion of a source address or a source port for the client that is associated with the resource request. 6. A method for directing communications over a network, the method comprising: receiving a data flow by a server array controller device, the data flow including a resource request;identifying a client that is associated with the resource request by the server array controller device;selecting an original content server to handle the resource request, by the server array controller device, when the resource request is directed to an identified content server with which the identified client already has reached a maximum number of allowed connections for the identified client, wherein the maximum number of allowed connections for the identified client is less than a total maximum number of allowed connections for the identified client and one or more other clients; anddirecting the data flow between the original content server and the identified client by the server array controller device while maintaining data flow between the identified content server and the identified client for the allowed collections. 7. The method of claim 6, further comprising updating, by the server array controller device, cached connection information when the identified client that is associated with the resource request is associated with a previously selected content server. 8. A method for directing communications over a network between a client and at least one content server, the method comprising: receiving a data flow by a server array controller device, the data flow including a resource request specifying an identified content server;identifying the client that is associated with the resource request by the server array controller device;performing by the server array controller device a load balancing decision based on the identified client;selecting an original content server to handle the resource request, by the server array controller device, when the identified content server is maintaining a maximum number of resource requests allowed between the identified content server and the identified client regardless of a capacity of the identified content server to accommodate one or more additional resource requests, wherein the original content server is selected based on the load balancing decision;caching by the server array controller device the load balancing decision, wherein the cached load balancing decision is reused by the server array controller up to a maximum number of resource requests for the original content server for the identified client; anddirecting the data flow between the original content server and the identified client using the server array controller. 9. A server array controller device, comprising a processor and a memory coupled to the processor which is configured to be capable of executing programmed instructions comprising and stored in the memory to: receive a data flow including a resource request specifying an identified content server;identify the client that is associated with the resource request;select an original content server to handle the resource request, when the identified content server is maintaining a maximum number of resource requests allowed between the identified content server and the identified client regardless of a capacity of the identified content server to accommodate one or more additional resource requests;cache connection information that is associated with the original content server and the identified client;initialize a connection count that is associated with the identified client when the connection information is cached;update the connection count when the original content server is selected from the cached connection information; anddirect the data flow between the original content server and the identified client while data flow between the identified content server and the identified client is maintained. 10. The server array controller device of claim 9, wherein the processor is further configured to be capable of executing additional programmed instructions comprising and stored in the memory to: maintain a table for the cached connection information, wherein the table includes at least one entry that is associated with the identified client when a connection between the identified client and the requested resource is alive, andremove an entry from the table when the connection between the identified client and the requested resource is dead or when a time stamp that is associated with the table entry exceeds a time limit. 11. The server array controller device of claim 9, wherein the processor is further configured to be capable of executing additional programmed instructions comprising and stored in the memory to: monitor a connection time that is associated with the connection between the identified client and the original content server; andselect the content server with a load-balancing algorithm to provide the original content server to handle the resource request when the connection time exceeds a maximum connection time limit. 12. The server array controller device of claim 9, wherein the processor is further configured to be capable of executing at least one additional programmed instruction comprising and stored in the memory to select a content server with a load-balancing algorithm when the identified client is unassociated with another content server, and when the identified client is associated with another content server that is maintaining the maximum number of resource requests. 13. The server array controller device of claim 9, wherein the processor is further configured to be capable of executing at least one additional programmed instruction comprising and stored in the memory to identify at least a portion of a source address or a source port for the client that is associated with the resource request. 14. A non-transitory computer readable medium having stored thereon instructions for directing communications over a network, comprising executable code which when executed by a processor, causes the processor to perform steps comprising: receiving a data flow including a resource request specifying an identified content server;identifying the client that is associated with the resource request;selecting an original content server to handle the resource request, when the identified content server is maintaining a maximum number of resource requests allowed between the identified content server and the identified client regardless of a capacity of the identified content server to accommodate one or more additional resource requests;caching connection information that is associated with the original content server and the identified client;initializing a connection count that is associated with the identified client when the connection information is cached;updating the connection count when the original content server is selected from the cached connection information; anddirecting the data flow between the original content server and the identified client while data flow between the identified content server and the identified client is maintained. 15. The non-transitory computer readable medium of claim 14, wherein the executable code, when executed by the processor, further causes the processor to perform additional steps comprising: maintaining a table for the cached connection information, wherein the table includes at least one entry that is associated with the identified client when a connection between the identified client and the requested resource is alive, andremoving an entry from the table when the connection between the identified client and the requested resource is dead or when a time stamp that is associated with the table entry exceeds a time limit. 16. The non-transitory computer readable medium of claim 14, wherein the executable code, when executed by the processor, further causes the processor to perform additional steps comprising: monitoring a connection time that is associated with the connection between the identified client and the original content server; andselecting the content server with a load-balancing algorithm to provide the original content server to handle the resource request when the connection time exceeds a maximum connection time limit. 17. The non-transitory computer readable medium of claim 14, wherein the executable code, when executed by the processor, further causes the processor to perform at least one additional step comprising selecting a content server with a load-balancing algorithm when the identified client is unassociated with another content server, and when the identified client is associated with another content server that is maintaining the maximum number of resource requests. 18. The non-transitory computer readable medium of claim 14, wherein the executable code, when executed by the processor, further causes the processor to perform at least one additional step comprising identifying at least a portion of a source address or a source port for the client that is associated with the resource request. 19. A server array controller device, comprising a processor and a memory coupled to the processor which is configured to be capable of executing programmed instructions comprising and stored in the memory to: receive a data flow including a resource request;identify a client that is associated with the resource request;select an original content server to handle the resource request, when the resource request is directed to an identified content server with which the identified client already has reached a maximum number of allowed connections for the identified client, wherein the maximum number of allowed connections for the identified client is less than a total maximum number of allowed connections for the identified client and one or more other clients; anddirect the data flow between the original content server and the identified client while maintaining data flow between the identified content server and the identified client for the allowed collections. 20. The server array controller device of claim 19, wherein the processor is further configured to be capable of executing at least one additional programmed instruction comprising and stored in the memory to update cached connection information when the identified client that is associated with the resource request is associated with a previously selected content server. 21. A non-transitory computer readable medium having stored thereon instructions for directing communications over a network, comprising executable code which when executed by a processor, causes the processor to perform steps comprising: receiving a data flow including a resource request;identifying a client that is associated with the resource request;selecting an original content server to handle the resource request, when the resource request is directed to an identified content server with which the identified client already has reached a maximum number of allowed connections for the identified client, wherein the maximum number of allowed connections for the identified client is less than a total maximum number of allowed connections for the identified client and one or more other clients; anddirecting the data flow between the original content server and the identified client while maintaining data flow between the identified content server and the identified client for the allowed collections. 22. The non-transitory computer readable medium of claim 21, wherein the executable code, when executed by the processor, further causes the processor to perform at least one additional step comprising updating cached connection information when the identified client that is associated with the resource request is associated with a previously selected content server. 23. A server array controller device, comprising a processor and a memory coupled to the processor which is configured to be capable of executing programmed instructions comprising and stored in the memory to: receive a data flow including a resource request specifying an identified content server;identify the client that is associated with the resource request;perform a load balancing decision based on the identified client;select an original content server to handle the resource request, when the identified content server is maintaining a maximum number of resource requests allowed between the identified content server and the identified client regardless of a capacity of the identified content server to accommodate one or more additional resource requests, wherein the original content server is selected based on the load balancing decision;cache the load balancing decision in a memory, wherein the cached load balancing decision is reused up to a maximum number of resource requests for the original content server for the identified client; anddirect the data flow between the original content server and the identified client. 24. A non-transitory computer readable medium having stored thereon instructions for directing communications over a network, comprising executable code which when executed by a processor, causes the processor to perform steps comprising: receiving a data flow including a resource request specifying an identified content server;identifying the client that is associated with the resource request;performing a load balancing decision based on the identified client;selecting an original content server to handle the resource request, when the identified content server is maintaining a maximum number of resource requests allowed between the identified content server and the identified client regardless of a capacity of the identified content server to accommodate one or more additional resource requests, wherein the original content server is selected based on the load balancing decision;caching the load balancing decision in a memory, wherein the cached load balancing decision is reused up to a maximum number of resource requests for the original content server for the identified client; anddirecting the data flow between the original content server and the identified client.
연구과제 타임라인
LOADING...
LOADING...
LOADING...
LOADING...
LOADING...
이 특허에 인용된 특허 (156)
Morita, Yoichiro; Nakae, Masayuki, Access control system, access control method, and access control program.
Kim, Hye-Jeong, Apparatus and method for controlling slotted mode of several systems using one sleep controller in a hybrid terminal of a mobile communication system.
Susai, Michel K.; Sinha, Rajiv; Shetty, Anil, Apparatus, method and computer program product for efficiently pooling connections between clients and servers.
Sohn Sung Won,KRX ; Doh Yoon Mi,KRX ; Kim Jong Oh,KRX, Asynchronous transfer mode (ATM) layer function processing apparatus with an enlarged structure.
Sathaye Shirish S. (North Chelmsford MA) Hannigan Brendan (West Newton MA) Hawe William R. (Pepperell MA), Automatic assignment of addresses in a computer communications network.
Yang Henry S. (Andover MA) Sathaye Shirish S. (North Chelmsford MA) Ben-Nun Michael (Jerusalem ILX) De-Leon Moshe (Jerusalem ILX) Ben-Michael Simoni (Givaat Zeev ILX), Buffer descriptor prefetch in network and I/O design.
Fitzgerald Albion J. (Ridgewood NJ) Fitzgerald Joseph J. (New Paltz NY), Distributed computer network including hierarchical resource information structure and related method of distributing re.
Dobbins Kurt ; Grant Thomas A. ; Ruffen David J. ; Kane Laura ; Len Theodore ; Andlauer Philip ; Bahi David H. ; Yohe Kevin ; Fee Brendan ; Oliver Chris ; Cullerot David L. ; Skubisz Michael, Distributed connection-oriented services for switched communications networks.
Shi Shaw-Ben ; Ault Michael Bradford ; Plassmann Ernst Robert ; Rich Bruce Arland ; Rosiles Mickella Ann ; Shrader Theodore Jack London, Distributed file system web server user authentication with cookies.
Couland Ghislaine,FRX ; Hunt Guerney Douglass Holloway ; Levy-Abegnoli Eric Michel,FRX ; Jean-Marie Mauduit Daniel Georges,FRX, Distributed scalable device for selecting a server from a server cluster and a switched path to the selected server.
Albert, Mark; Howes, Richard A.; Jordan, James A.; Kersey, Edward A.; LeBlanc, William M.; Menditto, Louis F.; O'Rourke, Chris; Tiwari, Pranav Kumar; Tsang, Tzu-Ming, Handling packet fragments in a distributed network service environment.
Tokuyo, Masanaga; Nakagawa, Itaru; Chikuma, Satoru; Fujino, Nobutsugu; Taniguchi, Tetsuya; Hisanaga, Takanori; Chikada, Michiyasu; Kuwata, Daisuke, IP router device having a TCP termination function and a medium thereof.
Sengupta, Uttam; Gandhi, Prashant; Varshney, Shobhit; Joshi, Mandar; Thakkar, Shreekant, Method and apparatus for a power-efficient framework to maintain data synchronization of a mobile personal computer to simulate a connected scenario.
Daniel Arthur A. (Rochester MN) Moore Robert E. (Durham NC) Anderson Catherine J. (Raleigh NC) Gelm Thomas J. (Raleigh NC) Kiter Raymond F. (Poughkeepsie NY) Meeham John P. (Raleigh NC) Stevenson Joh, Method and apparatus for communication network alert message construction.
Pani, Diana; Marinier, Paul; Cave, Christopher R., Method and apparatus for layer 2 processing and creation of protocol data units for wireless communications.
Attanasio Clement R. (Peekskill NY) Smith Stephen E. (Mahopac NY), Method and apparatus for making a cluster of computers appear as a single host on a network.
Chou Stephen T. ; Fenger Russell J. ; Kumar Mohan J. ; Lortz Victor B. ; Manny Benjamin L. ; Travnicek Mil ; Wang Chih-Kan, Method and apparatus for providing unattended on-demand availability of a computer system.
Walter A. Hubis ; William G. Deitz, Method and system for controlling access share storage devices in a network environment by configuring host-to-volume mapping data structures in the controller memory for granting and denying access .
Colby Steven ; Krawczyk John J. ; Nair Raj Krishnan ; Royce Katherine ; Siegel Kenneth P. ; Stevens Richard C. ; Wasson Scott, Method and system for directing a flow between a client and a server.
Waldspurger, Carl; Craig, Michael; Dharan, Ramesh; Kambo, Rajit S.; Mann, Timothy P.; Muckle, Stephen A.; Weissman, Boris; Zedlewski, John, Method and system for improving the accuracy of timing and process accounting within virtual machines.
Pardee,Peter; Dillon,Douglas; Border,John; Bartlett,Nigel, Method and system for integrating performance enhancing functions in a virtual private network (VPN).
Linville John Walter ; Makrucki Brad Alan ; Suffern Edward Stanley ; Warren Jeffrey Robert, Method and system for monitoring and controlling data flow in a network congestion state by changing each calculated pause time by a random amount.
Leighton Frank T. (459 Chestnut Hill Ave. Newtonville MA) Micali Silvio (459 Chestnut Hill Ave. Brookline MA 02146), Method for enabling users of a cryptosystem to generate and use a private pair key for enciphering communications betwee.
Zhang,Hui; de la Iglesia,Erik; Gomez,Miguel; Liu,Liang; Lowe,Rick K.; Wallace,Mark Aaron; Wang,Wei, Method of and system for allocating resources to resource requests.
Choquier Philippe,FRX ; Peyroux Jean-Francios ; Griffin William J., Method of redirecting a client service session to a second application server without interrupting the session by forwa.
Albert, Mark; Howes, Richard A.; Jordan, James A.; Kersey, Edward A.; LeBlanc, William M.; McGuire, Jacob Mark; Menditto, Louis F.; O'Rourke, Chris; Tiwari, Pranav Kumar; Tsang, Tzu-Ming, Network address translation using a forwarding agent.
Allen, Jr., James Johnson; Bass, Brian Mitchell; Calvignac, Jean Louis; Gaur, Santosh Prasad; Heddes, Marco C.; Siegel, Michael Steven; Verplanken, Fabrice Jean, Network processor interface for building scalable switching systems.
Cummings Kevin D. (Phoenix AZ) Johnson William A. (Paradise Valley AZ) Laird Daniel L. (Madison WI), Pattern writing method during X-ray mask fabrication.
Smith R. Steven (Saratoga CA) Hanlon Mike S. (San Jose CA) Bailey Robert L. (San Jose CA), Power management for a laptop computer with slow and sleep modes.
Lim,Vincent Cheekiat; Raghuvanshi,Preetham, Power save management with customized range for user configuration and tuning value based upon recent usage.
Wright,Michael; Boucher,Peter; Nault,Gabe; Smith,Merrill; Jacobson,Sterling K; Wood,Jonathan; Mims,Robert, Protection of data accessible by a mobile device.
Allen, Jr., James Johnson; Bass, Brian Mitchell; Davis, Gordon Taylor; Jeffries, Clark Debs; Nair, Jitesh Ramachandran; Sabhikhi, Ravinder Kumar; Siegel, Michael Steven; Yedavalli, Rama Mohan, Retro flow control for arriving traffic in computer networks.
Arora Sanjeev (Berkeley CA) Knight ; Jr. Thomas F. (Belmont MA) Leighton Frank T. (Newton Center MA) Maggs Bruce M. (Princeton NJ) Upfal Eliezer (Palo Alto CA), Switching networks with expansive and/or dispersive logical clusters for message routing.
Liu, Fu-Hua; Cheng, Shih-An; Chang, Chen-Huei; Lee, Chih-Ping, System and method for determining a connectionless communication path for communicating audio data through an address and port translation device.
Labio,Wilburt Juan; Nguyen,Giao Thanh; Liu,Winston Wencheng; Manku,Gurmeet Singh, System and method for optimizing access to information in peer-to-peer computer networks.
Bommareddy, Satish; Kale, Makarand; Chaganty, Srinivas, System and method for routing message traffic using a cluster of routers sharing a single logical IP address distinct from unique IP addresses of the routers.
Chang Albert (Austin TX) Neuman Grover H. (Austin TX) Shaheen-Gouda Amal A. (Austin TX) Smith Todd A. (Austin TX), System and method for using cached data at a local node after re-opening a file at a remote node in a distributed networ.
Pitts William M. (780 Mora Dr. Los Altos CA 94024), System for accessing distributed data cache channel at each network node to pass requests and data.
O'Toole, Jr.,James W., System using idle connection metric indicating a value based on connection characteristic for performing connection drop sequence.
Rao, Goutham P.; Rodriguez, Robert; Brueggemann, Eric, Systems and methods for communicating a lossy protocol via a lossless protocol using false acknowledgements.
Short, Joel E.; Delley, Frederic; Logan, Mark F.; Pagan, Florence C. I., Systems and methods for redirecting users having transparent computer access to a network using a gateway device having redirection capability.
Cappiello,Scott; Du,Yi; Le,Dyung V.; Li,Benjamin Z.; Li,Wenfeng; Polana,Ramprasad; Vinton,Patrick, Technique for handling server session requests in a system having a plurality of servers.
Brown Charles Allan ; Burns John Martin ; Nagaraj Holavanahally Seshachar ; O'Neill James Joseph ; Ullah Muhammad Inayet ; Volpe Leo ; Wendt Herman Russell, Vacuum baking process.
Brendel Juergen ; Kring Charles J. ; Liu Zaide ; Marino Christopher C., World-wide-web server with delayed resource-binding for resource-based load balancing on a distributed resource multi-n.
Sorenson, III, James Christopher; Laurence, Douglas Stewart; Srinivasan, Venkatraghavan; Zhang, Fan, Message bus for testing distributed load balancers.
Rovniaguin, Dmitry; Dan, Ephraim; Talmor, Ron, Methods for identifying network traffic characteristics to correlate and manage one or more subsequent flows and devices thereof.
Rovniaguin, Dmitry; Dan, Ephraim; Talmor, Ron, Methods for identifying network traffic characteristics to correlate and manage one or more subsequent flows and devices thereof.
Thirasuttakorn, Nat; Haworth, Jason; Burns, Brandon; Smith, Ian Michael, System and method for on the fly protocol conversion in obtaining policy enforcement information.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.