Distributed metering and monitoring system
First Claim
1. A distributed metering and monitoring service (DMMS) system, the DMMS system comprising:
- a first memory coupled to a first processor, wherein the first memory comprises;
messaging queue logic executable by the first processor that when executed causes the first processor to;
receive a request message;
route the request message;
receive a reply message; and
route the reply message;
logic executable by the first processor that when executed causes the first processor to;
receive a request message comprising DMMS parameters for which to collect metrics data, and calculate metering information;
determine a number of nodes and node identifiers of the nodes networked in communication via a network, each node comprising;
instances responsive to respective user interactions through a user interface, including instances for users of the instances, including a first instance for a first user of the first instance;
collect the metrics data for the nodes, including metrics data for a first node, including the first instance; and
generate the reply message comprising the metering information, including metering information for the first user of the first instance;
the nodes of the number of nodes, wherein each of the nodes comprise;
a second memory coupled to a second processor, wherein the second memory comprises;
cluster state data and the metrics data for the node identifiers;
a hypervisor operable to manage the instances, and instance state information stored in the second memory and executed by the second processor, wherein the hypervisor assigns each of the instances, including the first instance, to a node from the number of nodes, including the first node;
metering logic executable by the second processor that when executed causes the second processor to;
generate the reply message comprising the metering information for the instances assigned to the nodes;
inject, for each node, an instance identifier and/or the instance state information into the cluster state data and metrics data; and
register, according to a configurable frequency threshold, each of the instances with the messaging queue logic by using the instance identifier to create a message queue for each instance.
1 Assignment
0 Petitions
Accused Products
Abstract
The distributed metering and monitoring service (DMMS) system provides a way to gather and maintain metrics data which remains distributed, until requested. The DMMS system uses messaging queues to scale the number of servers that may be monitored and metered to a hyperscale of greater than 10,000 servers. The DMMS system determines how many servers (nodes) to assign to a cluster, and uses a metric aggregator to collect and store metrics data for the nodes. The DMMS system creates message queues for the instances, injects instance identifiers into the cluster state data and metrics data, listens for request messages for metering information for instances, retrieves the metrics data for users identified by the instance identifiers stored locally at the nodes, and calculates the metering information for the instance.
30 Citations
29 Claims
-
1. A distributed metering and monitoring service (DMMS) system, the DMMS system comprising:
-
a first memory coupled to a first processor, wherein the first memory comprises; messaging queue logic executable by the first processor that when executed causes the first processor to; receive a request message; route the request message; receive a reply message; and route the reply message; logic executable by the first processor that when executed causes the first processor to; receive a request message comprising DMMS parameters for which to collect metrics data, and calculate metering information; determine a number of nodes and node identifiers of the nodes networked in communication via a network, each node comprising; instances responsive to respective user interactions through a user interface, including instances for users of the instances, including a first instance for a first user of the first instance; collect the metrics data for the nodes, including metrics data for a first node, including the first instance; and generate the reply message comprising the metering information, including metering information for the first user of the first instance; the nodes of the number of nodes, wherein each of the nodes comprise; a second memory coupled to a second processor, wherein the second memory comprises; cluster state data and the metrics data for the node identifiers; a hypervisor operable to manage the instances, and instance state information stored in the second memory and executed by the second processor, wherein the hypervisor assigns each of the instances, including the first instance, to a node from the number of nodes, including the first node; metering logic executable by the second processor that when executed causes the second processor to;
generate the reply message comprising the metering information for the instances assigned to the nodes;
inject, for each node, an instance identifier and/or the instance state information into the cluster state data and metrics data; and
register, according to a configurable frequency threshold, each of the instances with the messaging queue logic by using the instance identifier to create a message queue for each instance. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A distributed metering and monitoring service (DMMS) system, the DMMS system comprising:
-
a first memory coupled to a first processor, wherein the first memory comprises; messaging queue logic executable by the first processor that when executed causes the first processor to; receive a request message; route the request message; receive a reply message; and route the reply message; logic executable by the first processor that when executed causes the first processor to; receive a request message comprising DMMS parameters for which to collect metrics data, and calculate metering information; determine a number of nodes and node identifiers of nodes networked in communication via a network, each node comprising;
instances responsive to respective user interactions through a user interface, including instances for users of the instances, including a first instance for a first user of the first instance;collect the metrics data for the nodes, including metrics data for a first node and the first instance; and generate the reply message comprising the metering information, including metering information for the first user of the first instance; the nodes of the number of nodes, wherein each of the nodes comprise; a second memory coupled to second processor, wherein the second memory comprises; cluster state data and the metrics data for the node identifiers; a hypervisor operable to manage the instances, and instance state information stored in the second memory and executed by the second processor, wherein the hypervisor assigns an instance identifier that identifies a node from the number of nodes as an assigned node identified by a node identifier; metering logic executable by the second processor that when executed causes the second processor to; retrieve, using the instance identifier for each of the instances from the hypervisor for the instances, the metrics data; and generate the reply message comprising the metering information for the instances assigned the assigned nodes; wherein the messaging queue logic comprises a cluster-to-cluster ratio threshold calculation that is based on a performance capacity of clusters including a first cluster. - View Dependent Claims (22, 23, 24, 25)
-
-
26. A distributed metering and monitoring service (DMMS) system, the DMMS system comprising:
-
a memory coupled to a processor, wherein the memory comprises; a hypervisor that is operable to; manage instances, and instance state information stored in the memory and executed by the processor, wherein the hypervisor assigns each of the instances, including a first instance, to a node from a number of nodes, including a first node;
metric aggregator logic;metering logic operable to cause the processor to; determine the number of nodes networked in communication via a network, each node comprising;
the instances responsive to respective user interactions through a user interface, wherein the instances include instances for users of the instances, including the first instance for a first user of the first instance;determine a number of clusters by assigning the nodes to respective clusters including a first cluster, including a first subset of the nodes including the first node comprising the first instance assigned to the first cluster, wherein each cluster defines node identifiers for each of the nodes assigned to the respective clusters wherein the metric aggregator logic when executed causes the processor to assign the nodes to the respective clusters including the first cluster; determine a configurable frequency threshold that is calculated by using a probable frequency and a performance capacity; determine, for each node, the instances of the node; and register, based on the determined configurable frequency threshold, each of the instances with a respective messaging queue in communication with the respective clusters comprising messaging queue logic.
-
-
27. A distributed metering and monitoring service (DMMS) system, the DMMS system comprising:
-
a memory coupled to a processor, wherein the memory comprises; a hypervisor that is operable to;
manage instances, and instance state information stored in the memory and executed by the processor;metering logic operable to cause the processor to; determine, by the processor, a number of nodes networked in communication via a network, each of the number of nodes comprising;
the instances responsive to respective user interactions through a user interface;determine, by the processor, a number of clusters to use to assign the nodes to respective clusters; determine, by the processor, the instances of the node of the number of nodes; and determine, by the processor, a configurable registration frequency threshold to use to register each of the instances of the node of the number of nodes with a respective messaging queue in communication with the cluster comprising messaging queue logic, wherein the registration frequency threshold is calculated based on a model of the nodes that identifies; a probable frequency at which users cause the nodes to generate the instances; and a performance capacity wherein each of the clusters is in communications with a respective messaging queue.
-
-
28. A method for a distributed metering and monitoring service (DMMS) system having a first memory coupled to a first processor, the method comprising:
-
receiving, into the first memory by executing messaging queue logic by the first processor, a request message; routing, from the first memory by executing the messaging queue logic by the first processor, the request message; receiving, from the first memory by executing the messaging queue logic by the first processor, a reply message; routing, into the first memory by executing the messaging queue logic by the first processor, the reply message; receiving, by executing the first processor, a request message comprising DMMS parameters for which to collect metrics data, and calculate metering information; determining, by executing the first processor, a number of nodes and node identifiers of nodes networked in communication via a network, wherein each node comprises;
instances responsive to respective user interactions through a user interface, including instances for users of the instances, including a first instance for a first user of the first instance,wherein each of the nodes of the number of nodes comprises; a second memory coupled to a second processor, wherein the second memory comprises; cluster state data and the metrics data for the node identifiers; a hypervisor operable to manage the instances, and instance state information stored in the second memory and executed by the second processor, wherein the hypervisor assigns each of the instances, including the first instance, to a node from the number of nodes, including the first node; metering logic executable by the second processor that when executed causes the second processor to;
generate the reply message comprising the metering information for the instances assigned to the nodes;
inject, for each node, an instance identifier and/or the instance state information into the cluster state data and metrics data; and
register, according to a configurable frequency threshold, each of the instances with the messaging queue logic by using the instance identifier of each node to create a message queue for each instance;collecting, by executing the first processor, the metrics data for the nodes, including metrics data for a first node and the first instance; and generating, by executing the first processor, the reply message comprising the metering information, including metering information for the first user of the first instance.
-
-
29. A method for a distributed metering and monitoring service (DMMS) system having a first memory coupled to a first processor, the method comprising:
-
receiving, into the first memory by executing messaging queue logic by the first processor, a request message; routing, from the first memory by executing the messaging queue logic by the first processor, the request message; receiving, from the first memory by executing the messaging queue logic by the first processor, a reply message; routing, into the first memory by executing the messaging queue logic by the first processor, the reply message; receiving, by executing the first processor, a request message comprising DMMS parameters for which to collect metrics data, and calculate metering information; determining, by executing the first processor, a number of nodes and node identifiers of nodes networked in communication via a network, wherein each node comprises;
instances responsive to respective user interactions through a user interface, including instances for users of the instances, including a first instance for a first user of the first instance,wherein each of the nodes of the number of nodes comprises; a second memory coupled to second processor, wherein the second memory comprises; cluster state data and the metrics data for the node identifiers, a hypervisor operable to manage the instances, and instance state information stored in the second memory and executed by the second processor, wherein the hypervisor assigns an instance identifier that identifies a node from the number of nodes as an assigned node identified by a node identifier,
metering logic executable by the second processor that when executed causes the second processor to;
retrieve, using the instance identifier for each of the instances from the hypervisor for the instances, the metrics data, and
generate the reply message comprising the metering information for the instances assigned the assigned nodes;collecting, by executing the first processor, the metrics data for the nodes, including metrics data for a first node and the first instance; and generating, by executing the first processor, the reply message comprising the metering information, including metering information for the first user of the first instance.
-
Specification