IP Library Granted Patent US 8,898,287
Granted Patent B2
US 8,898,287 · App. 13/034,690 · Granted Nov 25, 2014

System, method and computer program product for monitoring data activity utilizing a shared data store

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,898,287
App. No.
13/034,690
Granted
Nov 25, 2014
Kind
B2
Abstract

In accordance with embodiments, there are provided mechanisms and methods for monitoring data activity utilizing a shared data store. These mechanisms and methods for monitoring data activity utilizing a shared data store can enable enhanced data monitoring, more efficient data storage, improved system resource utilization, etc.

Claims (45)

1. A computer program product, comprising a non-transitory computer usable medium having a computer readable program code embodied therein, the computer readable program code adapted to be executed to implement a method for monitoring data activity utilizing a shared data store, the method comprising:

monitoring data activity including events within a system that are associated with user requests, wherein the data activity is performed across multiple servers of the system;

storing within a shared data store, by the multiple servers of the system, information indicating the monitored data activity, wherein the shared data store includes memcached that is accessible to each of the multiple servers of the system;

retrieving the information from the memcached; and

performing one or more actions including historical profiling, based on the retrieved information, wherein the historical profiling includes reporting on the information for use by users;

wherein the indication of the monitored data activity is separately stored in a database.

2. The computer program product of claim 1 , wherein the data activity is associated with one or more users of the system.

3. The computer program product of claim 1 , wherein the data activity is associated with an application.

4. The computer program product of claim 1 , wherein the system includes a multi-tenant on-demand database system.

5. The computer program product of claim 1 , wherein the multiple servers of the system include a plurality of application servers within a cluster.

6. The computer program product of claim 1 , wherein the data activity includes an amount of data that is transferred utilizing the system.

7. The computer program product of claim 1 , wherein the data activity includes a number of application programming interface (API) calls made to the system by a customer.

8. The computer program product of claim 1 , wherein the data activity includes an amount of processing being performed by the multiple servers of the system.

9. The computer program product of claim 1 , wherein the multiple servers of the system include application servers, and the data activity includes a number of data requests received from a customer that are currently being serviced by the application servers of the system.

10. The computer program product of claim 1 , wherein the data activity is monitored for a predetermined amount of time.

11. The computer program product of claim 1 , wherein the data activity includes data usage at a particular point in time.

12. The computer program product of claim 11 , wherein the data activity includes a snapshot of current activity within the system.

13. The computer program product of claim 1 , wherein the one or more actions include queuing a request for data from a customer or function.

14. A method, comprising:

monitoring data activity including events within a system that are associated with user requests, utilizing a processor, wherein the data activity is performed across multiple servers of the system;

storing within a shared data store, by the multiple servers of the system, information indicating the monitored data activity, wherein the shared data store includes memcached that is accessible to each of the multiple servers of the system;

retrieving the information from the memcached; and

performing one or more actions including historical profiling, based on the retrieved information, wherein the historical profiling includes reporting on the information for use by users;

wherein the indication of the monitored data activity is separately stored in a database.

15. An apparatus, comprising:

a hardware processor for:

monitoring data activity including events within a system that are associated with user requests, wherein the data activity is performed across multiple servers of the system;

storing within a shared data store, by the multiple servers of the system, information indicating the monitored data activity, wherein the shared data store includes memcached that is accessible to each of the multiple servers of the system;

retrieving the information from the memcached; and

performing one or more actions including historical profiling, based on the retrieved information, wherein the historical profiling includes reporting on the information for use by users;

wherein the indication of the monitored data activity is separately stored in a database.

16. A method for transmitting code for use in a multi-tenant database system on a transmission medium, the method comprising:

transmitting code for monitoring data activity including events within a system that are associated with user requests, utilizing a processor, wherein the data activity is performed across multiple servers of the system;

transmitting code for storing within a shared data store, by the multiple servers of the system, information indicating the monitored data activity, wherein the shared data store includes memcached that is accessible to each of the multiple servers of the system;

transmitting code for retrieving the information from the memcached; and

transmitting code for performing one or more actions including historical profiling, based on the retrieved information, wherein the historical profiling includes reporting on the information for use by users;

wherein the indication of the monitored data activity is separately stored in a database.

17. The computer program product of claim 1 , wherein each of the multiple servers within the system are aware of which other servers of the multiple servers are operational, and each of the multiple servers within the system store a same key containing a hash of a list of all of the operational servers within the system.

18. The computer program product of claim 17 , wherein the key containing the hash of the list of all of the operational servers is stored in the shared data store in association with a customer request count, and wherein the customer request count includes a value indicative of a number of requests made to the multiple servers by a customer.

19. The computer program product of claim 18 , wherein the customer request count within the shared data store is incremented when a request is received from the customer and started by one of the multiple servers.

20. The computer program product of claim 19 , wherein the customer request count is decremented when the request from the customer is completed and ended by the one of the multiple servers.

21. The computer program product of claim 18 , wherein, in response to one of the operational servers becoming non-responsive, the hash of the list of all of the operational servers is altered, thereby altering the key, and the customer request count is then set to zero in response to the alteration of the hash.

22. The computer program product of claim 1 , wherein an indication of a completion of each user request is stored in the memcached.

23. The computer program product of claim 1 , wherein the events include knowledge base article views, such that the reporting on the information for use by users includes reporting on the knowledge base article views.

24. The computer program product of claim 1 , wherein the memcached is used to store the information, such that the information is retrieved from the memcached for the reporting to avoid retrieving the information from the database.

Assignments (2)
CHANGE OF NAME Recorded Oct 24, 2024
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 069270/0727 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 30, 2011
From: YANCEY, SCOTT; HANSMA, SCOTT
To: SALESFORCE.COM, INC.
Reel/Frame 026050/0917 →