최소 단어 이상 선택하여야 합니다.
최대 10 단어까지만 선택 가능합니다.
다음과 같은 기능을 한번의 로그인으로 사용 할 수 있습니다.
NTIS 바로가기다음과 같은 기능을 한번의 로그인으로 사용 할 수 있습니다.
DataON 바로가기다음과 같은 기능을 한번의 로그인으로 사용 할 수 있습니다.
Edison 바로가기다음과 같은 기능을 한번의 로그인으로 사용 할 수 있습니다.
Kafe 바로가기국가/구분 | United States(US) Patent 등록 |
---|---|
국제특허분류(IPC7판) |
|
출원번호 | UP-0610519 (2003-06-30) |
등록번호 | US-7636917 (2010-01-08) |
발명자 / 주소 |
|
출원인 / 주소 |
|
대리인 / 주소 |
|
인용정보 | 피인용 횟수 : 31 인용 특허 : 339 |
In a first exemplary media implementation, one or more processor-accessible media include processor-executable instructions that, when executed, direct a system to perform actions that include: accumulating host status information at multiple hosts; and sending the accumulated host status informatio
In a first exemplary media implementation, one or more processor-accessible media include processor-executable instructions that, when executed, direct a system to perform actions that include: accumulating host status information at multiple hosts; and sending the accumulated host status information from the multiple hosts. In a second exemplary media implementation, one or more processor-accessible media include processor-executable instructions that, when executed, direct a system to perform actions that include: receiving host status information from multiple hosts; and making load balancing decisions responsive to the received host status information. In a third exemplary media implementation, one or more processor-accessible media include processor-executable instructions that, when executed, direct a system to perform actions that include: determining health and load information on a per application basis; and selecting an application from among multiple applications responsive to the health and load information.
The invention claimed is: 1. One or more computer-readable storage media storing computer-executable instructions that, when executed, configure one or more processors to perform actions comprising: determining host status information for a plurality of hosts, each host comprising a plurality of ap
The invention claimed is: 1. One or more computer-readable storage media storing computer-executable instructions that, when executed, configure one or more processors to perform actions comprising: determining host status information for a plurality of hosts, each host comprising a plurality of applications, wherein the host status information comprises a health and load table including a plurality of entries, each entry of the plurality of entries associated with an application of the plurality of applications, each entry of the plurality of entries comprising: an application identifier for a particular application of the plurality of applications; information characterizing at least one status of the particular application; and at least one load balancing directive regarding the particular application; implementing a message protocol between at least one host and one or more load balancing units, the message protocol usable for communicating host status information between the at least one host and the one or more load balancing units when the host status information is updated; communicating the host status information from the at least one host to the one or more load balancing units, wherein the one or more load balancing units each comprise a consolidated health and load cache that stores application--specific health and load information for the plurality of applications that are executing on the plurality of hosts; receiving the host status information from the at least one host; and making load balancing decisions responsive to the received host status information. 2. The one or more computer-readable storage media as recited in claim 1, comprising the computer-executable instructions that, when executed, configure the one or more processors to perform further actions comprising: receiving a request for a new connection from a client; and wherein the action of making comprises an action of: selecting a destination target for the new connection responsive to the received host status information. 3. The one or more computer-readable storage media as recited in claim 1, wherein the action of receiving comprises at least one action of: receiving the host status information directly from one or more hosts of the plurality of hosts; and receiving the host status information indirectly from one or more hosts of the plurality of hosts. 4. The one or more computer-readable storage media as recited in claim 1, wherein at least a portion of the computer-executable instructions comprise software that is adapted to be executed on the at least one host. 5. The one or more computer-readable storage media as recited in claim 1, wherein at least a portion of the computer-executable instructions comprise software that is adapted to be executed on the one or more load balancing units. 6. The one or more computer-readable storage media as recited in claim 1, comprising the computer-executable instructions that, when executed, enable the one or more processors to implement the message protocol that includes at least one message, the at least one message comprising a heartbeat message indicating to the one or more load balancing units that the at least one host is functioning. 7. The one or more computer-readable storage media as recited in claim 6, wherein a format of the heartbeat message comprises an identifier for the at least one host, error checking data for health and/or load information, and a domain name system (DNS) name. 8. The one or more computer-readable storage media as recited in claim 6, wherein a format of the heartbeat message permits inclusion of a chunk number/generation identifier (ID) pair. 9. The one or more computer-readable storage media as recited in claim 1, comprising the computer-executable instructions that, when executed, enable the one or more processors to implement the message protocol that includes at least one message, the at least one message comprising a goodbye message indicating to the one or more load balancing units that the at least one host is planning to shutdown. 10. The one or more computer-readable storage media as recited in claim 9, wherein a format of the goodbye message comprises an identifier for the at least one host. 11. The one or more computer-readable storage media as recited in claim 1, comprising the computer-executable instructions that, when executed, enable the one or more processors to implement the message protocol that includes at least one message, the at least one message comprising a row change message indicating to the one or more load balancing units that health and/or load information for an application of the at least one host has changed. 12. The one or more computer-readable storage media as recited in claim 11, wherein a format of the row change message comprises an identifier for the at least one host, an identifier for the application, an operation to reflect the change, and data for the operation. 13. The one or more computer-readable storage media as recited in claim 1, comprising the computer-executable instructions that, when executed, enable the one or more processors to implement the message protocol that includes at least one message, the at least one message comprising a get table snapshot message that is sent from the one or more load balancing units to the at least one host, the get table snapshot message requesting a snapshot of current health and/or load information of the at least one host. 14. The one or more computer-readable storage media as recited in claim 13, wherein a format of the get table snapshot message comprises an identification of a requesting load balancing unit of the one or more load balancing units. 15. The one or more computer-readable storage media as recited in claim 1, comprising the computer-executable instructions that, when executed, enable the one or more processors to implement the message protocol that includes at least one message, the at least one message comprising a send table snapshot message that is sent from the at least one host to a requesting load balancing unit of the one or more load balancing units, the send table snapshot message providing a snapshot of current health and/or load information of the at least one host. 16. The one or more computer-readable storage media as recited in claim 15, wherein a format of the send table snapshot message comprises the snapshot of the current health and/or load information of the at least one host. 17. The one or more computer-readable storage media as recited in claim 1, comprising the computer-executable instructions that, when executed, enable the one or more processors to implement the message protocol that includes at least one message, the at least one message comprising a postulate table state message that is sent from the at least one host to the one or more load balancing units, the postulate table state message including a load balancing state directive indicating a current load balancing state directive that is expected by the at least one host to be existing at the one or more load balancing units. 18. The one or more computer-readable storage media as recited in claim 17, wherein a format of the postulate table state message comprises an identifier for the at least one host and the current load balancing state directive. 19. The one or more computer-readable storage media as recited in claim 17, comprising the computer-executable instructions that, when executed, enable the one or more processors to implement the message protocol that includes another message, the another message comprising a postulate wrong message that is sent from a load balancing unit of the one or more load balancing units to the at least one host, which previously sent the postulate table state message; the postulate wrong message indicating that the load balancing unit has an actual load balancing state directive that differs from a postulated load balancing state directive that is included in the postulate table state message. 20. The one or more computer-readable storage media as recited in claim 1, comprising computer-executable instructions that, when executed, configure the one or more processors to, perform further actions comprising: analyzing health and load information for a plurality of application endpoints; and ascertaining a token allotment for the plurality of application endpoints responsive to the analyzing. 21. The one or more computer-readable storage media as recited in claim 20, comprising the computer-executable instructions that, when executed, configure the one or more processors to perform further actions comprising: receiving a target application endpoint allotment request that identifies the plurality of application endpoints; and sending a target application endpoint allotment response that includes the token allotment. 22. The one or more computer-readable storage media as recited in claim 20, comprising the computer-executable instructions that, when executed, configure the one or more processors to perform further actions comprising: receiving a target application endpoint allotment request that includes one or more of a virtual internet protocol (IP) address and port, a protocol, and information that is specific to the protocol; and sending a target application endpoint allotment response that includes a physical IP address and port. 23. The one or more computer-readable storage media as recited in claim 20, wherein the action of analyzing comprises an action of: analyzing application-endpoint-specific health and load information for the plurality of application endpoints. 24. The one or more computer-readable storage media as recited in claim 20, wherein the action of ascertaining comprises an action of: ascertaining the token allotment for the plurality of application endpoints based on relative available capacities between or among the plurality of application endpoints. 25. The one or more computer-readable storage media as recited in claim 20, wherein the token allotment comprises a first number of tokens corresponding to a first application endpoint of the plurality of application endpoints and a second number of tokens corresponding to a second application endpoint of the plurality of application endpoints. 26. The one or computer-readable storage media as recited in claim 20, wherein the token allotment comprises: a first number of tokens corresponding to a first application endpoint of the plurality of application endpoints; a second number of tokens corresponding to a second application endpoint of the plurality of application endpoints; and a time limit, wherein an expiration of the time limit renders unusable any remaining tokens of the first number of tokens and the second number of tokens. 27. The one or more computer-readable storage media as recited in claim 20, comprising the computer-executable instructions that, when executed, configure the one or more processors to perform a further action comprising: using the token allotment to classify incoming connection requests. 28. The one or more computer-readable storage media as recited in claim 1, comprising computer-executable instructions that, when executed, configure the one or more processors to perform further actions comprising: determining health and load information on a per application basis; and selecting an application from among a plurality of applications responsive to the health and load information. 29. The one or more computer-readable storage media as recited in claim 28, wherein the action of determining health and load information on a per application basis comprises an action of: determining when applications of the plurality of applications start and stop. 30. The one or more computer-readable storage media as recited in claim 28, wherein the action of determining health and load information on a per application basis comprises an action of: determining when an application of the plurality of applications is healthy and when the application is failing or failed. 31. The one or more computer-readable storage media as recited in claim 28, comprising the computer-executable instructions that, when executed configure the one or more processors to perform a further action comprising: receiving external input regarding determination of the health and load information on a per application basis; wherein the action of determining health and load information on a per application basis comprises an action of: determining the health and load information on a per application basis in accordance with the external input. 32. The one or more computer-readable storage media as recited in claim 28, comprising the computer-executable instructions that, when executed, configure the one or more processors to perform further actions comprising: caching the received host status information; receiving a packet requesting a connection initiation; and consulting the health and load cache for the connection initiation; wherein the action of selecting comprises an action of: selecting the application from among the plurality of applications responsive to the consulting. 33. The one or more computer-readable storage media as recited in claim 32, wherein the connection initiation pertains to a particular application type. 34. The one or more computer-readable storage media as recited in claim 28, wherein the action of selecting comprises an action of: selecting an application endpoint from among a plurality of application endpoints responsive to the health and load information. 35. The one or more computer-readable storage media as recited in claim 28, wherein the action of selecting comprises an action of: selecting, responsive to the health and load information, an application endpoint from among a plurality of application endpoints that are distributed among the plurality of hosts. 36. The one or more computer-readable storage media as recited in claim 28, wherein at least a portion of the computer-executable instructions are adapted to run on a single computing device. 37. The one or more computer-readable storage media as recited in claim 28, wherein at least a portion of the computer-executable instructions are adapted to run on a plurality of computing devices. 38. The one or more computer-readable storage media as recited in claim 28, wherein the action of selecting comprises an action of: selecting, responsive to the health and load information, an allotment of application endpoints from among a plurality of application endpoints with regard to relative available capacities between or among the plurality of application endpoints. 39. The one or more computer-readable storage media as recited in claim 38, wherein the action of selecting comprises a further action of: selecting the allotment of application endpoints using a token allotment scheme. 40. The one or more computer-readable storage media as recited in claim 38, wherein the action of selecting comprises a further action of: selecting the allotment of application endpoints using a percentage allotment scheme. 41. The one or more computer-readable storage media as recited in claim 38, wherein the plurality of application endpoints correspond to applications of a single application type. 42. The one or more computer-readable storage media as recited in claim 28, wherein the action of selecting comprises an action of: selecting the application from among the plurality of applications responsive to the health and load information in order to balance a network load caused by incoming packets. 43. The one or more computer-readable storage media as recited in claim 28, wherein the action of selecting comprises an action of: selecting the application from among the plurality of applications responsive to the health and load information in order to balance a network load caused by incoming connection requests. 44. A system comprising: at least one processor; and one or more computer-readable storage media, coupled to the at least one processor, the one or more computer-readable storage media storing computer-executable instructions that are capable of being executed by the at least one processor, the computer-executable instructions, when executed, configuring the system to perform actions comprising: determining host status information for a plurality of hosts, each host comprising a plurality of applications, wherein the host status information comprises a health and load table including a plurality of entries, each entry of the plurality of entries associated with an application of the plurality of applications, each entry of the plurality of entries comprising: an application identifier for a particular application of the plurality of applications; information characterizing at least one status of the particular application; and at least one load balancing directive regarding the particular application; implementing a message protocol between at least one host and one or more load balancing units, the message protocol usable for communicating host status information between the at least one host and the one or more load balancing units when the host status information is updated; communicating the host status information from the at least one host to the one or more load balancing units, wherein the one or more load balancing units each comprise a consolidated health and load cache that stores application-specific health and load information for the plurality of applications that are executing on the plurality of hosts; receiving the host status information from the at least one host; and making load balancing decisions responsive to the received host status information. 45. The system as recited in claim 44, wherein the action of receiving comprises an action of: receiving the host status information from the at least one host via at least one proxy. 46. The system as recited in claim 44, wherein the action of receiving comprises an action of: receiving the at least one load balancing directive from the plurality of hosts via at least one proxy that is invoking one or more application programming interfaces (APIs) to push the at least one load balancing directive. 47. The system as recited in claim 44, wherein the system comprises at least one of a single device and a plurality of devices. 48. A computer-implemented method for network load balancing, the method comprising: determining host status information for a plurality of hosts, each host comprising a plurality of applications, wherein the host status information comprises a health and load table including a plurality of entries, each entry of the plurality of entries associated with an application of the plurality of applications, each entry of the plurality of entries comprising: an application identifier for a particular application of the plurality of applications; information characterizing at least one status of the particular application; and at least one load balancing directive regarding the particular application; implementing a message protocol between at least one host and one or more load balancing units, the message protocol usable for communicating host status information between the at least one host and the one or more load balancing units when the host status information is updated; communicating the host status information from the at least one host to at least one device comprising load balancing infrastructure, wherein the load balancing infrastructure comprises a consolidated health and load cache that stores application-specific health and load information for the plurality of applications that are executing on the plurality of hosts; receiving the host status information from the at least one host at the at least one device; and making load balancing decisions with the load balancing infrastructure responsive to the received host status information. 49. A system for network load balancing with host status information, the system comprising: one or more processors; a memory, operatively coupled to the one or more processors, the memory storing: means for determining host status information for a plurality of hosts, each host comprising a plurality of applications, wherein the host status information comprises a health and load table including a plurality of entries, each entry of the plurality of entries associated with an application of the plurality of applications, each entry of the plurality of entries comprising: an application identifier for a particular application of the plurality of applications; information characterizing at least one status of the particular application; and at least one load balancing directive regarding the particular application; means for implementing a message protocol between at least one host and one or more load balancing units, the message protocol usable for communicating host status information between the at least one host and the one or more load balancing units when the host status information is updated; means for communicating the host status information from the at least one host to the one or more load balancing units, wherein the one or more load balancing units each comprise a consolidated health and load cache that stores application-specific health and load information for the plurality of applications that are executing on the plurality of hosts; means for receiving the host status information from the at least one host; and means for making load balancing decisions responsive to the host status information. 50. The system as recited in claim 49, wherein the arrangement comprises at least one system. 51. The system as recited in claim 49, wherein the arrangement comprises one or more processor-accessible media.
Copyright KISTI. All Rights Reserved.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.