Distribution of network communications based on server power consumption
원문보기
IPC분류정보
국가/구분
United States(US) Patent
등록
국제특허분류(IPC7판)
G06F-001/00
G06F-001/26
G06F-001/32
G06F-015/16
G06F-009/455
출원번호
UP-0625629
(2007-01-22)
등록번호
US-7844839
(2011-01-31)
발명자
/ 주소
Palmer, Matthew
Beri, Sanjay
출원인 / 주소
Juniper Networks, Inc.
대리인 / 주소
Shumaker & Sieffert, P.A.
인용정보
피인용 횟수 :
43인용 특허 :
2
초록▼
A network device is described that load-balances network traffic among a set of network servers based on electrical power consumption of the network servers. The network device may measure electrical power consumption in a variety of ways, and may generate and maintain a power consumption profile fo
A network device is described that load-balances network traffic among a set of network servers based on electrical power consumption of the network servers. The network device may measure electrical power consumption in a variety of ways, and may generate and maintain a power consumption profile for each of the network server. The power consumption profile may describe the respective server power consumption in increasing granularity. For instance, each power consumption profile may specify electrical power consumption according to watts consumed by a server per average transaction, watts consumed per transaction for a specific type of software application, watts consumed per transaction for a software application for individual network resources, and so on. Furthermore, the profiles may be maintained for individual servers or aggregated for groups or sequences of servers.
대표청구항▼
The invention claimed is: 1. A computer-implemented method comprising: receiving, with an intermediate network device, a network communication from a computer network, wherein the intermediate network device is located between a client device and a plurality of servers; determining a network applic
The invention claimed is: 1. A computer-implemented method comprising: receiving, with an intermediate network device, a network communication from a computer network, wherein the intermediate network device is located between a client device and a plurality of servers; determining a network application associated with the network communication; identifying a set of the plurality of servers able to process the network communication; accessing a set of stored power consumption profiles that specify rates of electrical power consumption for each of the servers at a plurality of levels of granularity, wherein, for each power consumption profile, the levels of granularity specify a first level that specifies an average power consumption rate for the server, a second level that specifies power consumption rates for the server with respect to a plurality of different types of network applications, and a third level that specifies power consumption rates for the server with respect to a plurality of individual network resources for each of the different types of network applications; determining the rate of electrical power consumption for each of the servers using the power consumption profile of the servers; selecting a server in the set of servers as a function of the power consumption rate for each of the servers, wherein the power consumption rate specifies an amount of power consumed by the respective server when processing network communications associated with the network application; and forwarding the network communication to the selected server. 2. The method of claim 1, wherein the types of network applications include Hyper-Text Transfer Protocol server applications, File Transfer Protocol server applications, and Domain Name System server applications, and the types of network resources include pre-generated files, dynamically-generated files, streaming media, and responses to network protocol requests. 3. The method of claim 1, further comprising: determining an individual network resource associated with the network communication; and selecting the server in the set of servers as a function of a power consumption rate for each of the servers with respect to an amount of power consumed by the respective server when processing network communications associated with the individual network resource. 4. The method of claim 1, further comprising executing a process on an intermediate device to automatically estimate amounts of power consumed by each of the servers. 5. The method of claim 4, wherein automatically estimating amounts of power comprises: receiving a listing of hardware components for each of the servers; and automatically obtaining, with the intermediate device, power consumption ratings for each of the listed hardware components. 6. The method of claim 5, wherein obtaining power consumption ratings comprises accessing data sources with the intermediate device to obtain power consumption ratings provided by vendors of the components. 7. The method of claim 4, wherein automatically estimating amounts of power comprises communicating with the network servers to obtain measurements regarding power consumption from sensors in the servers. 8. The method of claim 4, wherein automatically estimating amounts of power comprises: sending a probe communication from the intermediate network device to one of the servers, wherein the probe communication includes a type of request; and polling the server to determine an amount of power consumed while processing the probe communication. 9. The method of claim 1, wherein the method further comprises automatically instructing a first server in the set of servers to enter a low power consumption mode when the server consumes more power than other servers in the set of servers and when the server is unlikely to be utilized for a given period of time. 10. The method of claim 9, wherein instructing a first server to enter a low power consumption mode comprises automatically determining that a current time is within a time period associated with low utilization of the servers. 11. The method of claim 9, wherein instructing a first server to enter a low power consumption mode comprises automatically determining that a second server has a utilization rate that is lower than a threshold, wherein the second server is in the set of servers and is associated with a power consumption rating that is lower than a power consumption rating of the first server. 12. The method of claim 1, wherein identifying a type of the network communication comprises identifying a type of request to access a resource provided by the servers. 13. The method of claim 12, wherein identifying a type of request to access a resource comprises identifying a request to access a resource identified by a particular Universal Resource Locator (URL). 14. The method of claim 12, wherein identifying a type of request to access a resource comprises identifying a request to access a computational application executing on the servers. 15. The method of claim 1, wherein the method further comprises identifying a set of classes of the servers, wherein servers are classified based on amounts of power consumed by the servers; wherein identifying a server comprises identifying a class in the set of classes wherein servers in the identified class are not over-utilized and wherein the servers in the identified class consume less electrical power to process network communications of the identified type of the network communication than servers in other ones of the classes that are not over-utilized; and wherein forwarding the network communication comprises selecting a server in the identified class and forwarding the network communication to the selected server. 16. The method of claim 1, wherein identifying a server comprises identifying one of the servers that is not over-utilized that is capable of processing the network communication with a combined level of power consumption and response time to the network communication that is less than combined levels of power consumption to process the network communication and response time to the network communication of other ones of the servers that are not over-utilized. 17. The method of claim 1, wherein at least one of the servers operates a plurality of virtual machines that provide operating environments for applications; and wherein the method further comprises redistributing the virtual machines among the servers to reduce overall power consumption of the servers. 18. The method of claim 17, wherein redistributing the virtual machines comprises terminating a lower-priority one of the virtual machines on the server. 19. The method of claim 1, wherein the set of servers is a first set of servers; wherein, when servers in the first set of servers process the network communication, the servers send requests to servers in a second set of servers; wherein a load balancer distributes the requests among the servers in the second set of servers; and wherein identifying a server comprises: identifying a server in the set of first servers, wherein when a probe communication is sent to the identified server, servers in the first set of servers and second set of servers consume less power than when the probe communication is sent to any other server in the first set of servers. 20. The method of claim 19, wherein the method further comprises determining, for each server in the set of servers, how much power is typically consumed by servers in the first set of servers and servers in the second set of servers when the probe communication is sent to the server. 21. A network device located on a computer network between a client device and a plurality of servers, the network device comprising: an interface to receive a network communication from the computer network; and a server selection module to determine a network application associated with the network communication, to identify a set of the plurality of servers able to process the network communication and, to select a server in the set of servers as a function of a power consumption rate for each of the servers, wherein the power consumption rate specifies an amount of power consumed by the respective server when processing network communications associated with the network application, and to forward the network communication to the selected server; and a hibernation module to automatically instruct a first server in the set of servers to enter a low power consumption mode when the server consumes more power than other servers in the set of servers and when the server is unlikely to be utilized for a given period of time, wherein the hibernation module automatically instructs the first server to enter the low power consumption mode when the hibernation module determines that a second server has a utilization rate that is lower than a utilization threshold, wherein the second server is in the set of servers and it is determined that the second server is associated with a power consumption rating that is lower than a power consumption rating of the first server. 22. The network device of claim 21, wherein the server selection module accesses a set of stored power consumption profiles for the servers, wherein each of the power consumption profiles specifies rates of electrical power consumption for respectives ones of the servers at a plurality of levels of granularity and determines the rate of electrical power consumption for the server using the power consumption profile of the server. 23. The network device of claim 21, wherein the network device further comprises a server power module to automatically estimate amounts of power consumed by each of the servers. 24. The network device of claim 23, wherein the server power module automatically estimates amounts of power consumed by receiving a listing of hardware components for each of the servers and obtaining power consumption ratings for each of the listed hardware components. 25. The network device of claim 23, wherein the server power module automatically estimates amounts of power consumed by obtaining measurements regarding power consumption from sensors in the servers. 26. The network device of claim 23, wherein the network device comprises a request power estimation module to estimate power consumption rates of the servers when processing one or more types of requests. 27. The network device of claim 21, wherein the server selection module identifies a type of the network communication by identifying a type of request to access a resource provided by the servers. 28. The network device of claim 21, wherein the server selection module comprises a server classification module to identify a set of classes of the servers, wherein servers are classified based on amounts of power consumed by the servers, and to identify a class in the set of classes wherein servers in the identified class have utilization rates that are not above a utilization threshold for the identified class and wherein the servers in the identified class consume less electrical power to process network communications of the identified type of the network communication than servers in other ones of the classes that are do not have utilization rates that are above a utilization threshold for the other ones of the classes, to select a server in the identified class, and to forward the network communication to the selected server. 29. The network device of claim 21, wherein at least one of the servers operates a plurality of virtual machines that provide operating environments for applications; and wherein the network device further comprises a virtual machine configuration module to redistribute the virtual machines among the servers to reduce overall power consumption of the servers. 30. The network device of claim 21, wherein the set of servers is a first set of servers; wherein, when servers in the first set of servers process the network communication, the servers send requests to servers in a second set of servers; wherein a load balancer distributes the requests among the servers in the second set of servers; and wherein the network device further comprises a heuristic analysis module to identify a server in the set of first servers, wherein when a probe communication is sent to the identified server, servers in the first set of servers and second set of servers consume less power than when the probe communication is sent to any other server in the first set of servers. 31. A system comprising: a client device; a plurality of servers; a network device; and a network to facilitate communication between the servers and the network device, wherein the network device comprises: an interface to receive a network communication from the client device; a server selection module to determine a network application associated with the network communication, to identify a set of the plurality of servers able to process the network communication and, to select a server in the set of servers as a function of a power consumption rate for each of the servers, wherein the power consumption rate specifies an amount of power consumed by the respective server when processing network communications associated with the network application, and to forward the network communication to the selected server; and a hibernation module to automatically instruct a first server in the set of servers to enter a low power consumption mode when the server consumes more power than other servers in the set of servers and when the server is unlikely to be utilized for a given period of time, wherein the hibernation module automatically instructs the first server to enter the low power consumption mode when the hibernation module determines that a second server has a utilization rate that is lower than a utilization threshold, wherein the second server is in the set of servers and it is determined that the second server is associated with a power consumption rating that is lower than a power consumption rating of the first server. 32. A non-transitory computer-readable medium comprising instructions, the instructions causing a programmable processor to: receive, with an intermediate network device, a network communication from a computer network, wherein the intermediate network device is located between a client device and a plurality of servers; determine a network application associated with the network communication; identify a set of the plurality of servers able to process the network communication; access a set of stored power consumption profiles for the servers, wherein each of the power consumption profiles specifies rates of electrical power consumption for the respective server at a plurality of levels of granularity, wherein for each power consumption profile the levels of granularity specify a first level that specifies an average power consumption rate for the server, a second level that specifies power consumption rates for the server with respect to a plurality of different types of network applications, and a third level that specifies power consumption rates for the server with respect to a plurality of individual network resources for each of the different types of network applications; using the power consumption profile of the servers, determine the rate of electrical power consumption for each the servers when processing network communications associated with the network application, select one of the servers as a function of the determined power consumption rate for each of the servers, forward the network communication to the selected server. 33. A computer-implemented method comprising: receiving, with an intermediate network device, a network communication from a computer network, wherein the intermediate network device is located between a client device and a plurality of servers; determining a network application associated with the network communication; identifying a set of the plurality of servers able to process the network communication; selecting a server in the set of servers as a function of a power consumption rate for each of the servers, wherein the power consumption rate specifies an amount of power consumed by the respective server when processing network communications associated with the network application; and forwarding the network communication to the selected server, wherein the method further comprises automatically instructing a first server in the set of servers to enter a low power consumption mode when the server consumes more power than other servers in the set of servers and when the server is unlikely to be utilized for a given period of time, wherein instructing a first server to enter a low power consumption mode comprises automatically determining that a second server has a utilization rate that is lower than a threshold, and wherein the second server is in the set of servers and is associated with a power consumption rating that is lower than a power consumption rating of the first server. 34. A computer-implemented method comprising: receiving, with an intermediate network device, a network communication from a computer network, wherein the intermediate network device is located between a client device and a plurality of servers; determining a network application associated with the network communication; identifying a set of the plurality of servers able to process the network communication; selecting a server in the set of servers as a function of a power consumption rate for each of the servers, wherein the power consumption rate specifies an amount of power consumed by the respective server when processing network communications associated with the network application; and forwarding the network communication to the selected server, wherein the method further comprises identifying a set of classes of the servers, wherein servers are classified based on amounts of power consumed by the servers, wherein identifying a server comprises identifying a class in the set of classes, wherein servers in the identified class are not over-utilized and wherein the servers in the identified class consume less electrical power to process network communications of the identified type of the network communication than servers in other ones of the classes that are not over-utilized, and wherein forwarding the network communication comprises selecting a server in the identified class and forwarding the network communication to the selected server. 35. A computer-implemented method comprising: receiving, with an intermediate network device, a network communication from a computer network, wherein the intermediate network device is located between a client device and a plurality of servers, wherein at least one of the servers operates a plurality of virtual machines that provide operating environments for applications; determining a network application associated with the network communication; identifying a set of the plurality of servers able to process the network communication; selecting a server in the set of servers as a function of a power consumption rate for each of the servers, wherein the power consumption rate specifies an amount of power consumed by the respective server when processing network communications associated with the network application; forwarding the network communication to the selected server; and redistributing the virtual machines among the servers to reduce overall power consumption of the servers by terminating a lower-priority one of the virtual machines on the server. 36. A computer-implemented method comprising: receiving, with an intermediate network device, a network communication from a computer network, wherein the intermediate network device is located between a client device and a plurality of servers; determining a network application associated with the network communication; identifying a first set of the servers that are able to process the network communication, wherein, when processing the network communication, the first set of servers send requests that are distributed among a second set of servers by a load balancer; sending probe communications to the first set of servers; selecting a server in the first set of servers as a function of a power consumption rate for each of the servers, wherein the power consumption rate specifies an amount of power consumed by the respective server when processing the probe communication, and wherein when a probe communication is sent to the selected server, servers in the first set of servers and second set of servers consume less power than when the probe communication is sent to any other server in the first set of servers; and forwarding the network communication to the selected server. 37. A network device located on a computer network between a client device and a plurality of servers, the network device comprising: an interface to receive a network communication from the computer network; and a server selection module to determine a network application associated with the network communication, to identify a set of the plurality of servers able to process the network communication and, to select a server in the set of servers as a function of a power consumption rate for each of the servers, wherein the power consumption rate specifies an amount of power consumed by the respective server when processing network communications associated with the network application, and to forward the network communication to the selected server, wherein the server selection module comprises a server classification module to identify a set of classes of the servers, wherein servers are classified based on amounts of power consumed by the servers, and to identify a class in the set of classes wherein servers in the identified class have utilization rates that are not above a utilization threshold for the identified class, and wherein the servers in the identified class consume less electrical power to process network communications of the identified type of the network communication than servers in other ones of the classes that are do not have utilization rates that are above a utilization threshold for the other ones of the classes, to select a server in the identified class, and to forward the network communication to the selected server. 38. A network device located on a computer network between a client device and a plurality of servers, the network device comprising: an interface to receive a network communication from the computer network; and a server selection module to determine a network application associated with the network communication, to identify a first set of the plurality of servers able to process the network communication by sending requests that are distributed to a second set of servers by a load balancer, wherein the service selection module is configured to select a server in the first set of servers as a function of a power consumption rate for each of the servers, wherein the power consumption rate specifies an amount of power consumed by the respective server when processing network communications associated with the network application, and to forward the network communication to the selected server, wherein the service selection module selects the server that, when a probe communication is sent to the server, servers in the first set of servers and second set of servers consume less power than when the probe communication is sent to any other server in the first set of servers.
연구과제 타임라인
LOADING...
LOADING...
LOADING...
LOADING...
LOADING...
이 특허에 인용된 특허 (2)
Jones, Darren M., Apparatus and method for software specified power management performance using low power virtual threads.
Patel, Alpesh S.; O'Rourke, Chris; Albert, Mark; Mackie, Robert A.; Dixon, Walter G., Balancing server load according to availability of physical resources based on the detection of out-of-sequence packets.
Weber, Wolf-Dietrich; Fan, Xiaobo; Barroso, Luiz Andre, Data center load monitoring for utilizing an access power amount based on a projected peak power usage and a monitored power usage.
Greene, Daniel H.; Preas, Bryan T.; Chu, Maurice K.; Hindi, Haitham; Parekh, Nitin S.; Reich, James E., Integrated energy savings and business operations in data centers.
Fan, Xiaobo; Hennecke, Mark D.; Heath, Taliver Brooks, Method of correlating power in a data center by fitting a function to a plurality of pairs of actual power draw values and estimated power draw values determined from monitored CPU utilization of a statistical sample of computers in the data center.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.