Method and apparatus for stress management in a searchable data service
First Claim
1. A searchable data service system, comprising:
- a plurality of computer devices configured to implement a searchable data service, wherein the searchable data service is configured to process query requests from client applications to locate searchable data service objects in respective ones of a plurality of independent searchable indexes stored on the plurality of computer devices that satisfy the query requests, wherein each searchable data service object specifies two or more attributes of a particular entity in a particular one of a plurality of independent data stores on one or more storage devices each on a network and separate from the plurality of computer devices that implement the searchable data service, wherein each searchable index of the plurality of independent searchable indexes stores searchable data service objects for a particular one of the plurality of independent data stores, and wherein the attributes include a unique entity identifier for locating the particular entity in the particular data store;
wherein the searchable data service comprises two or more node groups, wherein each node group comprises two or more of a plurality of nodes implemented on the plurality of computer devices, each node including a plurality of local resources for supporting the searchable data service on the respective node, and wherein each node in each node group is configured to;
monitor one or more usage metrics for each of the plurality of local resources of the node; and
in response to detecting that a monitored usage metric for a particular local resource has crossed a boundary of a specified comfort zone for the monitored usage metric, communicate with at least one other node in the node group to transfer at least part of the resource usage for the particular local resource on the node to another one of the nodes in the node group that includes a similar resource;
wherein said transferring at least part of the resource usage for the particular local resource on the node to another one of the nodes in the node group moves the monitored usage metric for the particular local resource into the specified comfort zone for the monitored usage metric on the node.
1 Assignment
0 Petitions
Accused Products
Abstract
Method and apparatus for stress management in a searchable data service. The searchable data service may provide a searchable index to a backend data store, and an interface to build and query the searchable index, that enables client applications to search for and retrieve locators for stored entities in the backend data store. Embodiments of the searchable data service may implement a distributed stress management mechanism that may provide functionality including, but not limited to, the automated monitoring of critical resources, analysis of resource usage, and decisions on and performance of actions to keep resource usage within comfort zones. In one embodiment, in response to usage of a particular resource being detected as out of the comfort zone on a node, an action may be performed to transfer at least part of the resource usage for the local resource to another node that provides a similar resource.
39 Citations
76 Claims
-
1. A searchable data service system, comprising:
-
a plurality of computer devices configured to implement a searchable data service, wherein the searchable data service is configured to process query requests from client applications to locate searchable data service objects in respective ones of a plurality of independent searchable indexes stored on the plurality of computer devices that satisfy the query requests, wherein each searchable data service object specifies two or more attributes of a particular entity in a particular one of a plurality of independent data stores on one or more storage devices each on a network and separate from the plurality of computer devices that implement the searchable data service, wherein each searchable index of the plurality of independent searchable indexes stores searchable data service objects for a particular one of the plurality of independent data stores, and wherein the attributes include a unique entity identifier for locating the particular entity in the particular data store; wherein the searchable data service comprises two or more node groups, wherein each node group comprises two or more of a plurality of nodes implemented on the plurality of computer devices, each node including a plurality of local resources for supporting the searchable data service on the respective node, and wherein each node in each node group is configured to; monitor one or more usage metrics for each of the plurality of local resources of the node; and in response to detecting that a monitored usage metric for a particular local resource has crossed a boundary of a specified comfort zone for the monitored usage metric, communicate with at least one other node in the node group to transfer at least part of the resource usage for the particular local resource on the node to another one of the nodes in the node group that includes a similar resource; wherein said transferring at least part of the resource usage for the particular local resource on the node to another one of the nodes in the node group moves the monitored usage metric for the particular local resource into the specified comfort zone for the monitored usage metric on the node. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23)
-
-
24. A method, comprising:
-
processing query requests received from a plurality of client applications on a plurality of nodes configured to participate in a searchable data service to locate searchable data service objects in respective ones of a plurality of independent searchable indexes on the plurality of nodes that satisfy the query requests, wherein each searchable data service object specifies two or more attributes of a particular entity in a particular one of a plurality of independent data stores on one or more storage devices each on a network and separate from a plurality of computer devices that implement the plurality of nodes, wherein each searchable index of the plurality of independent searchable indexes stores searchable data service objects for a particular one of the plurality of independent data stores, and wherein the attributes include a unique entity identifier for locating the particular entity in the data store; wherein the plurality of nodes are organized into two or more node groups each including a subset of the plurality of nodes, each node including two or more local resources for supporting the searchable data service on the respective node; monitoring on each node in each node group one or more usage metrics for each of the two or more local resources of the node; detecting on one of the nodes in one of the node groups that a monitored usage metric for a particular local resource has crossed a boundary of a specified comfort zone for the monitored usage metric; communicating between the node and at least one other node in the respective node group to transfer at least part of the resource usage for the particular local resource on the node to another node in the node group that includes a similar resource; wherein said transferring at least part of the resource usage for the particular local resource on the node to another node in the node group that includes a similar resource moves the monitored usage metric for the particular local resource on the node into the specified comfort zone for the monitored usage metric on the node. - View Dependent Claims (25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46)
-
-
47. A computer-accessible memory medium storing program instructions, wherein the program instructions are executable to implement a searchable data service on a plurality of nodes, wherein the searchable data service is configured to:
-
process query requests from a plurality of client applications on the plurality of nodes to locate searchable data service objects in respective ones of a plurality of independent searchable indexes on the plurality of nodes that satisfy the query requests, wherein each searchable data service object specifies two or more attributes of a particular entity in a particular one of a plurality of independent data stores on one or more storage devices each on a network and separate from a plurality of computer devices that implement the plurality of nodes, wherein each searchable index of the plurality of independent searchable indexes stores searchable data service objects for a particular one of the plurality of independent data stores, and wherein the attributes include a unique entity identifier for locating the particular entity in the data store; wherein the plurality of nodes are organized into two or more node groups each including a subset of the plurality of nodes, each node including two or more local resources for supporting the searchable data service on the respective node; on each node in each node group; monitor one or more usage metrics for each of the two or more local resources of the node; detect that a monitored usage metric for a particular local resource crosses a boundary of a specified comfort zone for the monitored usage metric; communicate with at least one other node in the node group to transfer at least part of the resource usage for the particular local resource on the node to another node in the node group that includes a similar resource; wherein said transferring at least part of the resource usage for the particular local resource on the node to another node in the node group that includes a similar resource moves the monitored usage metric for the particular local resource into the specified comfort zone for the monitored usage metric on the node. - View Dependent Claims (48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68)
-
-
69. A searchable data service node, comprising:
-
one or more processors; a network interface configured to communicatively couple to a network; and a memory comprising program instructions, wherein the program instructions are executable by the one or more processors to; process query requests received from a plurality of client applications via the network to locate searchable data service objects in respective ones of a plurality of independent searchable indexes for a plurality of independent data stores used by the client applications that satisfy the query requests, wherein the plurality of independent searchable indexes are distributed on a plurality of searchable data service nodes on the network, each searchable data service node including two or more local resources for supporting a searchable data service on the respective searchable data service node, wherein the data stores are on one or more storage devices each on the network and separate from computer devices on the network that implement the searchable data service nodes, wherein each searchable index of the plurality of independent searchable indexes stores searchable data service objects for a particular one of the plurality of independent data stores, wherein each searchable data service object specifies two or more attributes of a particular entity in a particular data store, and wherein the attributes include a unique entity identifier for locating the particular entity in the particular data store; monitor one or more usage metrics for each of the two or more local resources of the searchable data service node; in response to detecting that a monitored usage metric for a particular local resource of the searchable data service node has crossed a boundary of a specified comfort zone for the monitored usage metric, communicate via the network with another searchable data service node to transfer at least part of the resource usage for the particular local resource on the searchable data service node to the other searchable data service node that includes a similar resource; wherein said transferring at least part of the resource usage for the particular local resource on the searchable data service node to the other searchable data service node moves the monitored usage metric for the particular local resource into the specified comfort zone for the monitored usage metric on the searchable data service node. - View Dependent Claims (70, 71, 72, 73, 74, 75, 76)
-
Specification