Debugging analysis in running multi-user systems

US9514026B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9514026-B2
Application numberUS-201514858280-A
CountryUS
Kind codeB2
Filing dateSep 18, 2015
Priority dateSep 29, 2011
Publication dateDec 6, 2016
Grant dateDec 6, 2016

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.

Various arrangements for debugging logic being executed by a webserver is presented. A virtual machine of the webserver may execute runtime threads for a plurality of remote users. The web server may compile business logic code received from a developer computer system via a web-based interface into an logic insight injected code. The logic insight injected code may be compiled from the business logic code to include debugging functionality. The virtual machine of the webserver may execute the logic insight injected code concurrently with the runtime threads being executed for the plurality of remote users. The debugging functionality of the logic insight injected code being executed may not affect execution of the runtime threads for the plurality of users.

First claim

Opening claim text (preview).

What is claimed is: 1. A method, comprising: executing, by a first virtual machine of a web server system, a runtime thread for a remote user in a runtime mode, wherein the virtual machine is operated in the runtime mode, the runtime mode being distinct from a debugging mode of the first virtual machine; compiling, by the web server system, a business logic code into a logic insight injected code, wherein: the logic insight injected code is compiled from the business logic code to include a debugging functionality and to execute as a logic insight thread in the runtime mode; executing, by the first virtual machine of the web server system, the logic insight injected code as the logic insight thread concurrently with the runtime thread being executed for the remote user in the runtime mode; wherein the debugging functionality of the logic insight injected code being executed does not affect execution of the runtime thread being executed for the remote user; and executing, by the web server system, a second virtual machine linked with a debugging session executing on a remote computer system, wherein the second virtual machine communicates with the first virtual machine and functions as an intermediary between the remote computer system and the logic insight thread being executed by the first virtual machine. 2. The method of claim 1 , wherein compiling the business logic code into the logic insight injected code comprises: identifying a plurality of expressions in the business logic code; parsing the business logic code to create a syntax tree. modifying the syntax tree to include the debugging functionality; and following modifying the syntax tree, compiling the modified syntax tree into the logic insight injected code. 3. The method of claim 2 , wherein the debugging functionality of the logic insight injected code includes: during execution, halting execution and waiting for input from the remote computer system that indicates to proceed with execution after one or more expressions from the plurality of expressions. 4. The method of claim 3 , wherein the halting execution is in response to a breakpoint received from the remote computer system. 5. The method of claim 1 , wherein the runtime thread for the remote user in the runtime mode is a plurality of runtime threads for a plurality of remote users in the runtime mode, and further comprising: executing, by the first virtual machine, a plurality of logic insight threads associated with a plurality of logic insight injected codes concurrently being executed with the plurality of runtime threads for the plurality of remote users, wherein the plurality of logic insight injected codes include the logic insight injected code. 6. The method of claim 2 , wherein the debugging functionality of the logic insight injected code includes: halting, by the first virtual machine, execution of the logic insight thread after a first expression from the plurality of expressions, wherein halting the execution of the logic insight thread does not affect execution of the runtime thread for the remote user; sending, from the first virtual machine to the second virtual machine, an indication that indicates the first expression has finished executing; sending, from the second virtual machine to the remote computer system, the indication; receiving, by the second virtual machine, input that indicates to proceed with execution after halting; sending, from the second virtual machine to the first virtual machine, the input; and executing, by the first virtual machine, the logic insight thread until after a second expression from the plurality of expressions. 7. A web server system, comprising: one or more processors; and a memory communicatively coupled with and readable by the one or more processors and having stored therein processor-readable instructions which, when executed by the one or more processors, cause the one or more processors to: execute, by a first virtual machine, a runtime thread for a remote user in a runtime mode, wherein the first virtual machine is operated in a runtime mode, the runtime mode being distinct from a debugging mode of the first virtual machine; compile business logic code into a logic insight injected code, wherein: the logic insight injected code is compiled from the business logic code to include debugging functionality and to execute as a logic insight thread in the runtime mode; execute, by the first virtual machine, the logic insight injected code as the logic insight thread concurrently with the runtime thread being executed for the remote user in the runtime mode; execute a second virtual machine linked with a debugging session executing on a remote computer system, wherein the second virtual machine communicates with the first virtual machine and functions as an intermediary between the remote computer system and logic insight thread being executed by the first virtual machine. 8. The web server system of claim 7 , wherein the processor readable instructions configured to compile the business logic code into the logic insight injected code comprise instructions which, when executed by the one or more processors, cause the one or more processors to: identify a plurality of expressions in the business logic code; parse the business logic code to create a syntax tree. modify the syntax tree to include the debugging functionality; and following modifying the syntax tree, compile the modified syntax tree into the logic insight injected code. 9. The web server system of claim 8 , wherein the debugging functionality of the logic insight injected code comprises processor-readable instructions that, when executed, cause the one or more processors to: during execution, halt execution and wait for input from the remote computer system that indicates to proceed with execution after one or more expressions from the plurality of expressions. 10. The web server system of claim 9 , wherein the halting execution is in response to a breakpoint received from the remote computer system. 11. The web server system of claim 7 , wherein the runtime thread for the remote user in the runtime mode is a plurality of runtime threads for a plurality of remote users in the runtime mode, and wherein the processor-readable instructions, when executed, further cause the one or more processors to: execute, by the first virtual machine, a plurality of logic insight threads associated with a plurality of logic insight injected codes concurrently being executed with the plurality of runtime threads for the plurality of remote users, wherein the plurality of logic insight injected codes include the logic insight injected code. 12. The web server system of claim 8 , wherein the debugging functionality comprises processor-readable instructions that, when executed, further cause the one or more processors to: halt, by the first virtual machine, execution of the logic insight thread after a first expression from the plurality of expressions, wherein halting the execution of the logic insight thread does not affect execution of the runtime thread for the remote user; send, from the first virtual machine to the second virtual machine, an indication that indicates the first expression has finished executing; send, from the second virtual machine to the remote computer system, the indication; receive, by the second virtual machine, input that indicates to proceed with execution after halting; send, from the second virtual machine to the first virtual machine, the input; and execute, by the first virtual machine, the logic insight thread until after a second expression from the plurality of expressions.

Assignees

Inventors

Classifications

  • Debugging of software · CPC title

  • in-circuit-emulation [ICE] arrangements · CPC title

  • Prevention of errors by analysis, debugging or testing of software · CPC title

  • Monitoring or debugging support · CPC title

  • by runtime analysis (performance monitoring G06F11/3466) · 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 US9514026B2 cover?
Various arrangements for debugging logic being executed by a webserver is presented. A virtual machine of the webserver may execute runtime threads for a plurality of remote users. The web server may compile business logic code received from a developer computer system via a web-based interface into an logic insight injected code. The logic insight injected code may be compiled from the busines…
Who is the assignee on this patent?
Oracle Int Corp
What technology area does this patent fall under?
Primary CPC classification G06F11/3612. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Dec 06 2016 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 5 related publications on this page (citations in our corpus or others sharing the same primary CPC).