Multi-tenant aware debugging methods and systems

US2016378637A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2016378637-A1
Application numberUS-201514748601-A
CountryUS
Kind codeA1
Filing dateJun 24, 2015
Priority dateJun 24, 2015
Publication dateDec 29, 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.

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 debugging application code in a database coupled to a plurality of servers, the method comprising: receiving, by one of the plurality of servers, a request associated with the application code in the database from a client device via a network; verifying, by the one of the plurality of servers, that the request does not violate a debugging utilization criterion; and after verifying that the request does not violate the debugging utilization criterion, accessing the application code in the database in conjunction with the request. 2 . The method of claim 1 , wherein: receiving the request comprises receiving a debug session request from a debugger on the client device; and accessing the application code comprises inserting, by the one of the plurality of servers, 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 request does not violate the debugging utilization criterion comprises verifying a current number of active debugging sessions associated with a user of the client device is less than a maximum number of concurrent active debugging sessions. 4 . The method of claim 2 , wherein verifying that the request does not violate the debugging utilization criterion comprises verifying a current resource usage associated with a user of the client device is less than a threshold resource usage. 5 . The method of claim 2 , further comprising: instantiating, by the one of the plurality of servers, an 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 , wherein: receiving the request comprises a first server receiving a client request associated with an instance of an application generated by the first server based at least in part on the application code; and accessing the application code in the database in conjunction with the request comprises the first server providing, via the network, execution information associated with at least a portion of the application code to a debugger on a second client device. 7 . The method of claim 6 , further comprising: identifying, by the first server, an active debugging session corresponding to the client request; and notifying, by the first server, the debugger on the second client device based on an association between the active debugging session and the debugger. 8 . The method of claim 7 , further comprising: receiving, by a second server of the plurality of servers via the network, a second request from the debugger on the second client device; and providing, by the second server, the second request to the first server based on the association between the active debugging session and the debugger, wherein accessing the application code in the database in conjunction with the request comprises the first server executing the portion of the application code in response to the second request and providing the execution information corresponding thereto. 9 . The method of claim 6 , wherein providing the execution information comprises the first server removing protected information associated with execution of the portion of the application code prior to providing the execution information to the debugger. 10 . The method of claim 1 , the request comprising a debugging execution request from a debugger, wherein accessing the application code in the database in conjunction with the request comprises: providing, by the one of the plurality of servers, the debugging execution request to a second server of the plurality of servers associated with an instance of execution of the application code being debugged; and executing, by the second server, at least a portion of the application code in accordance with the debugging execution request. 11 . A computer-readable medium having computer-executable instructions stored thereon that, when executed by a processing system of the one of the plurality of servers, cause the processing system to perform the method of claim 1 . 12 . A method of debugging 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 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 the multi-tenant database system, a client request associated with the application code in the database from a client application via the network; and in response to determining the client request corresponds to the active debugging session, providing, by the multi-tenant database system, the debugger with execution information pertaining to the client request based on association between the debugger and the active debugging session. 13 . The method of claim 12 , wherein providing the debugger with execution information comprises removing protected information associated with execution of the client request prior to providing the execution information to the debugger. 14 . The method of claim 12 , wherein providing the debugger with execution information pertaining to the client request comprises allowing the debugger to step through execution of the client request by the multi-tenant database system. 15 . The method of claim 14 , wherein: receiving the client request comprises a first application server of a plurality of application servers of the multi-tenant database system receiving the client request; and allowing the debugger to step through execution of the client request by the multi-tenant database system comprises: receiving, by a second application server of the plurality of application servers, a debugging execution request corresponding to the client request from the debugger via the network; providing, by the second application server, the debugging execution request to the first application server; executing, by the first application server, at least a portion of the application code based on the client request in accordance with the debugging execution request. 16 . The method of claim 12 , wherein verifying that the debug request does not violate the debugging utilization criterion comprises verifying a number of active debugging sessions associated with the first tenant is less than a maximum number of concurrent active debugging sessions for the first tenant. 17 . The method of claim 12 , wherein verifying that the debug request does not violate the debugging utilization criterion comprises verifying a resource usage metric associated with the first tenant is less than a threshold usage. 18 . The method of claim 12 , the debugger being associated with a user associated with the first tenant, wherein verifying that the debug request does not violate the debugging utilization criterion comprises verifying a number of active debugging sessions associated with

Assignees

Inventors

Classifications

  • Threshold · CPC title

  • Database-specific techniques · CPC title

  • G06F11/362Primary

    Debugging of software · CPC title

  • Physics · mapped topic

  • Analysis of software for verifying properties of programs (testing of software G06F11/3668) · 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 US2016378637A1 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 Thu Dec 29 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 3 related publications on this page (citations in our corpus or others sharing the same primary CPC).