Systems and methods of implementing tracking of resource usage for a cloud-based system

US2016337215A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2016337215-A1
Application numberUS-201514711485-A
CountryUS
Kind codeA1
Filing dateMay 13, 2015
Priority dateMay 13, 2015
Publication dateNov 17, 2016
Grant date

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

The technology disclosed describes systems and methods for implementing global profiling to track resource usage and performance for multiple threads across multiple servers for a cloud-based system. This disclosed technology provides global profiling to track resource usage across any part of a transaction as it passes between layers of a computing stack regardless of the language being executed, on logically different virtual machines across multiple servers. After data collection stops, the disclosed technology combines the results into a configurable profile view that accurately represents the order of execution of applications and methods, as though they ran on one machine. The disclosed technology builds multiple formats of the data files for different display visualizations.

First claim

Opening claim text (preview).

What is claimed is: 1 . A method of tracking resource usage of a cloud based system, the method including: setting filters, responsive to user input, that control a scope of profiling of service entry and service exit data across multiple services running on multiple hardware instances, wherein transaction invocations cause cascading service invocations of the multiple services; accessing autonomous log units spawned by the multiple services responsive to the filters, wherein the autonomous log units capture data recording the service entries to and service exits from the multiple services, including, for each service entered as a result of a transaction invocation, at least: a transaction ID that spans services and classes invoked following the transaction invocation; a URI for the transaction invocation; an identifier for the service or class entered; and time stamps of the service entry and the service exit; analyzing performance of the transaction invocations by organizing the autonomous log units captured across the multiple services, using at least transaction ID to organize the autonomous log units into nested service invocations, and profiling performance of the cascading service invocations; and persisting results of analyzing the performance. 2 . The method of claim 1 , wherein service invocation wrappers wrap the multiple services and spawn the autonomous log units. 3 . The method of claim 1 , further including receiving a selection of a test profile and setting the filters with values from the selected test profile. 4 . The method of claim 1 , wherein the captured data for each service entered further includes CPU time for the service. 5 . The method of claim 1 , wherein setting the filter further includes a setting of selected user IDs and the captured data for each service entered further includes a user ID. 6 . The method of claim 1 , wherein setting the filter further includes a setting selected organization IDs and the captured data for each service entered further includes an organization ID. 7 . The method of claim 1 , wherein the captured data for each service entered further includes an identifier for a calling service that invoked the service entered. 8 . The method of claim 1 , wherein the captured data for each service entered further includes a URI for the service entered. 9 . The method of claim 1 , wherein the filter includes a minimum elapsed time threshold to be met before spawning the autonomous log unit. 10 . The method of claim 1 , wherein the filter includes a set of server IDs for servers from which the multiple services will capture data. 11 . The method of claim 1 , wherein a scope of profile reporting is limited by an option to mark a service or class as a terminal profiling level, whereby child services or classes invoked by the marked service or class are not revealed when reporting the results of analyzing the performance. 12 . A computer implemented system applied to tracking resource usage of a cloud based system, the computer implemented system including: a processor, memory coupled to the processor, and program instructions stored in the memory that implement a method comprising: setting filters responsive to user input that control a scope of profiling of service entry and service exit data across multiple services running on multiple hardware instances, wherein transaction invocations cause cascading service invocations of the multiple services; accessing autonomous log units spawned by the multiple services responsive to the filters, wherein the autonomous log units capture data recording the service entries to and service exits from the multiple services, including, for each service entered as a result of a transaction invocation, at least: a transaction ID that spans services and classes invoked following the transaction invocation; a URI for the transaction invocation; an identifier for the service or class entered; and time stamps of the service entry and the service exit; analyzing performance of the transaction invocations by organizing the autonomous log units captured across the multiple services, using at least transaction ID to organize the autonomous log units into nested service invocations, and profiling performance of the cascading service invocations; and persisting results of analyzing the performance. 13 . The computer implemented system of claim 12 , wherein service invocation wrappers wrap the multiple services and spawn the autonomous log units. 14 . The computer implemented system of claim 12 , wherein the captured data for each service entered further includes CPU time for the service. 15 . The computer implemented system of claim 12 , wherein setting the filter further includes a setting selected user IDs and the captured data for each service entered further includes a user ID. 16 . The computer implemented system of claim 12 , wherein setting the filter further includes a setting selected organization IDs and the captured data for each service entered further includes an organization ID. 17 . The computer implemented system of claim 12 , wherein the captured data for each service entered further includes a URI for the service entered. 18 . The computer implemented system of claim 12 , wherein the filter includes a minimum elapsed time threshold to be met before spawning the autonomous log unit. 19 . A tangible computer readable storage medium that stores program instructions that implement a method of tracking resource usage of a cloud based system, the implementation including: setting filters responsive to user input that control a scope of profiling of service entry and service exit data across multiple services running on multiple hardware instances, wherein transaction invocations cause cascading service invocations of the multiple services; accessing autonomous log units spawned by the multiple services responsive to the filters, wherein the autonomous log units capture data recording the service entries to and service exits from the multiple services, including, for each service entered as a result of a transaction invocation, at least: a transaction ID that spans services and classes invoked following the transaction invocation; a URI for the transaction invocation; an identifier for the service or class entered; and time stamps of the service entry and the service exit; analyzing performance of the transaction invocations by organizing the autonomous log units captured across the multiple services, using at least transaction ID to organize the autonomous log units into nested service invocations, and profiling performance of the cascading service invocations; and persisting results of analyzing the performance. 20 . The tangible computer readable storage medium of claim 19 , wherein service invocation wrappers wrap the multiple services and spawn the autonomous log units. 21 . The tangible computer readable storage medium of claim 19 , further including receiving a selection of a test profile and setting the filters with values from the selected test profile. 22 . The tangible computer readable storage medium of claim 19 , wherein setting the filter further includes a setting selected user IDs and the captured data for each service entered further includes a user ID. 23 . The tangible computer readable storage medium of claim 19 , wherein setting the filter further includes a setting selected organizatio

Assignees

Inventors

Classifications

  • H04L67/10Primary

    in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46) · CPC title

  • comprising specially adapted graphical user interfaces [GUI] · CPC title

  • wherein the managed service relates to distributed or central networked applications · CPC title

  • H04L43/08Primary

    Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters · CPC title

  • H04L43/091Primary

    Measuring contribution of individual network components to actual service level · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US2016337215A1 cover?
The technology disclosed describes systems and methods for implementing global profiling to track resource usage and performance for multiple threads across multiple servers for a cloud-based system. This disclosed technology provides global profiling to track resource usage across any part of a transaction as it passes between layers of a computing stack regardless of the language being execut…
Who is the assignee on this patent?
Salesforce Com Inc
What technology area does this patent fall under?
Primary CPC classification H04L67/10. Mapped technology areas include Electricity.
When was this patent published?
Publication date Thu Nov 17 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).