Multi-tenant aware debugging methods and systems

US10296440B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10296440-B2
Application numberUS-201514748601-A
CountryUS
Kind codeB2
Filing dateJun 24, 2015
Priority dateJun 24, 2015
Publication dateMay 21, 2019
Grant dateMay 21, 2019

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.

Methods and systems are provided for debugging application code in an on-demand multi-tenant database system. One exemplary method involves an application server receiving a request associated with application code in a database from a client device via a network, verifying that debugging associated with the request does not violate a debugging utilization criterion, and after verifying that debugging associated with the request does not violate the debugging utilization criterion, accessing the application code in the database in conjunction with the request.

First claim

Opening claim text (preview).

What is claimed is: 1. A method of real-time debugging of an instance of a virtual application generated at run-time based at least in part on an application code in a database coupled to a plurality of application servers, the method comprising: receiving, by a first application server of the plurality of application servers, a client request associated with the application code in the database from the instance of the virtual application provided by the first application server to a client device via a network; verifying, by the first application server, creation of an active debugging session associated with the client request does not violate a debugging utilization criterion; and after verifying that the active debugging session does not violate the debugging utilization criterion: creating, by the first application server, an entry in a debug mapping table in the database to maintain an association between the instance of the virtual application from which client request originated, a network address associated with a debugger, and the first application server providing the instance of the virtual application to the client device; and providing, by the first application server via the network to the network address associated with the debugger associated with the active debugging session, execution information associated with at least a portion of the application code in the database when execution of the application code by the first application server providing the instance of the virtual application stops, the execution information corresponding to a current execution state of the instance of the virtual application provided by the first application server to the client device; receiving, at a second application server of the plurality of application servers, a debugging request received from the debugger; redirecting, by the second application server, the debugging request received from the debugger to the first application server after accessing the debug mapping table and determining the debugging request pertains to the instance of the virtual application executing on the first application server based on the association between the active debugging session and the first application server; executing, by the first application server, the portion of the application code in response to the debugging request to resume performance of the client request; and providing, by the first application server to the debugger via the network, second execution information pertaining to an execution state of the instance of the virtual application corresponding to the first application server executing the portion of the application code as a response to the debugging request. 2. The method of claim 1 , further comprising: receiving a debug session request from the debugger on a second client device; and inserting, by the first application server, one or more breakpoints in the application code in response to user input received from the debugger. 3. The method of claim 2 , wherein verifying that the client request does not violate the debugging utilization criterion comprises verifying a current number of active debugging sessions associated with a user of the second client device is less than a maximum number of concurrent active debugging sessions. 4. The method of claim 2 , wherein verifying that the client request does not violate the debugging utilization criterion comprises verifying a current resource usage associated with a user of the second client device is less than a threshold resource usage. 5. The method of claim 2 , further comprising: instantiating, by the first application server, the active debugging session corresponding to the debug session request in the database after verifying that the debug session request does not violate the debugging utilization criterion; and terminating the active debugging session after a threshold period of time has elapsed since receiving the debug session request. 6. The method of claim 1 , further comprising: identifying, by the first application server, the active debugging session corresponding to the client request; and notifying, by the first application server, the debugger on a second client device based on an association between the active debugging session and the debugger. 7. The method of claim 1 , wherein providing the execution information comprises the first application server removing protected information associated with execution of the portion of the application code prior to providing the execution information to the debugger. 8. A method of debugging an application code associated with a first tenant of a plurality of tenants in a database of a multi-tenant database system supporting the plurality of tenants, the method comprising: receiving, by the multi-tenant database system, a debug request associated with the application code in the database from a debugger on a first client device via a network; verifying, by the multi-tenant database system, that the debug request does not violate a debugging utilization criterion; after verifying that the debug request does not violate the debugging utilization criterion: updating the database to instantiate an active debugging session associated with the debugger and the application code; receiving, by a first application server of a plurality of application servers of the multi-tenant database system, a client request associated with the application code in the database from an instance of a client application on a second client device via the network, wherein the first application server generates the instance of the client application at run-time based at least in part on the application code; and in response to determining the client request corresponds to the active debugging session: creating, by the first application server, an entry in the debug mapping table in the database to maintain an association between the instance of the client application from which client request originated, a network address associated with a debugger, and the first application server providing the instance of the virtual application to the client device; and providing, by the multi-tenant database system via the network to the network address associated with the debugger associated with the active debugging session, execution information pertaining to the client request based on the association between the debugger and the active debugging session, the execution information corresponding to a current execution state of the instance of the client application provided by the first application server to the client device when execution of the application code by the first application server providing the instance of the client application stops; receiving, by a second application server of the plurality of application servers, a debugging execution request corresponding to the client request from the debugger on the first client device via the network; redirecting, by the second application server, the debugging execution request received from the debugger to the first application server after accessing the debug mapping table and determining the debugging execution request pertains to the instance of the virtual application executing on the first application server based on an association between the active debugging session and the first application server; executing, by the first application server, at least a portion of the application code based on the client request to resume performance of the client request in accordance with the debugging execution request; and providing, by the first application server to the debugger on the first client device, second execution information pertaining to an execution state of the instance of the client application corresponding to the first

Assignees

Inventors

Classifications

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 US10296440B2 cover?
Methods and systems are provided for debugging application code in an on-demand multi-tenant database system. One exemplary method involves an application server receiving a request associated with application code in a database from a client device via a network, verifying that debugging associated with the request does not violate a debugging utilization criterion, and after verifying that de…
Who is the assignee on this patent?
Salesforce Com Inc
What technology area does this patent fall under?
Primary CPC classification G06F11/362. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue May 21 2019 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 4 related publications on this page (citations in our corpus or others sharing the same primary CPC).