A system includes reception, from a first user, of a first web-protocol request to establish a first database server session, establishment of the first database server session in response to the first request, reception, from a second user, of a second web-protocol request to establish a second database server session and to communicate with the second database server session via a non-transient connection, establishment of the second database server session in response to the second request, reception, from the second user, of a third web-protocol request to attach the second database server session to the first database server session, attachment of the second database server session to the first database server session, and transmission of debugging information of the first database server session to the second user via the non-transient connection.
Legal claims defining the scope of protection. Each claim is shown in both the original legal language and a plain English translation.
1. A system comprising: a memory storing processor-executable process steps; and a processor to execute the processor-executable process steps to cause the system to: receive, from a first user, a first web-protocol request to establish a first database server session; establish the first database server session in response to the first request; receive, from a second user, a second web-protocol request to establish a second database server session and to communicate with the second database server session via a non-transient connection; establish the second database server session in response to the second request; receive a user interface from a client of one of the first database server session and the second database server session; attach the user interface to one of the first database server session and the second database server session; the user interface including program code configured to debug an application; receive, from the second user, a third web-protocol request to attach the second database server session to the first database server session; attach the second database server session to the first database server session; receive a token from one of the first user and the second user, the token specifying that another of the first user and the second user is authorized to debug one or more of the server sessions; receive from one of the first user and the second user a first request to access inactive private artifacts to test design time artifacts respectively associated with one of the first database server session and the second database server session; determine with the token if the first request is from an authorized user; and if the first request is from an authorized user, then: activate the private artifacts in response to the received first request; create a private runtime representation of the activated private artifacts; and transmit debugging information of the debugged server session via the non-transient connection to the other of the first user and the second user that did not provide the first request.
The system enables web-based debugging of database sessions. A first user initiates a database session via a web request. A second user establishes another session via a web request using a persistent connection (e.g., WebSocket). A debugging user interface (UI) is attached to either session. The second user can then "attach" their session to the first user's session to debug it. Authorization is checked via a token to allow one user to debug another's session. The second user can access inactive components to debug design time behaviors of the first user's session. If authorized, the components are activated in a private runtime instance. Debugging information from the first session is sent to the second user through the persistent connection.
2. A system according to claim 1 , wherein the processor is further to execute the processor-executable process steps to cause the system to: execute server-side application program code in the first database server session; prior to transmission of the debugging information, determine that execution has reached a breakpoint in the server-side application program code; in response to the determination that execution has reached the breakpoint, and prior to transmission of the debugging information, halt execution of the server-side application program code.
The web-based debugging system described in the previous claim extends debugging capability via breakpoints. While executing server-side code in the first user's database session, the system detects a breakpoint. Upon reaching this breakpoint, the code execution is paused *before* any debugging data is transmitted to the second debugging user. This allows the second user to inspect the program state at the breakpoint before continuing execution.
3. A system according to claim 1 , wherein the first request conforms to HyperText Transfer Protocol protocol, and wherein the second request and the third request conform to Web Socket protocol.
In the web-based debugging system described previously, the initial request from the first user to establish their database session uses the standard HTTP protocol. The second and third requests to set up the debugging session and attach it to the first user's session, use WebSocket protocol. This allows persistent, bi-directional communication required for real-time debugging.
4. A system according to claim 1 , wherein the processor is further to execute the processor-executable process steps to cause the system to: receive, from a third user, a fourth web-protocol request to establish a third database server session and to communicate with the third database server session via a second non-transient connection; establish the third database server session in response to the fourth request; receive, from the third user, a fifth web-protocol request to attach the third database server session to the first database server session; attach the third database server session to the first database server session; and transmit second debugging information of the first database server session to the third user via the second non-transient connection.
The debugging system allows multiple users to monitor a single session. As described in the first claim, a first user initiates a database session. A second user attaches to this session for debugging. This claim adds a third user who can also attach to the first user's session via a separate persistent connection established through web requests. The third user receives debugging information concurrently with the second user through their own persistent connection.
5. A system according to claim 4 , wherein the processor is further to execute the processor-executable process steps to cause the system to: execute server-side application program code in the first database server session; prior to transmission of the debugging information, determine that execution has reached a breakpoint in the server-side application program code; in response to the determination that execution has reached the breakpoint, and prior to transmission of the debugging information and the second debugging information, halt execution of the server-side application program code.
In the multi-user debugging system as in the previous claim, execution of server-side code in the first user's database session halts upon hitting a breakpoint *before* sending debug information to both the second *and* third debugging users. This ensures all debugging users see the same program state simultaneously when a breakpoint is hit.
6. A system according to claim 4 , wherein the processor is further to execute the processor-executable process steps to cause the system to: in response to the third request, determine whether the second user is authorized to debug the first database server session, and in response to the fifth request, determine whether the third user is authorized to debug the first database server session.
The web-based debugging system authenticates debugging requests. Specifically, before the second user's session can attach to the first user's session, the system checks if the second user has permission to debug the first session. Similarly, before the third user attaches, their debugging authorization is also validated.
7. A system according to claim 1 , wherein the processor is further to execute the processor-executable process steps to cause the system to: in response to the third request, determine whether the second user is authorized to debug the first database server session.
The web-based debugging system described in the first claim determines whether the second user is authorized to debug the first database server session *before* attaching the second session to the first session.
8. A computer-implemented method comprising: receiving, from a first user, a first web-protocol request to establish a first database server session; establishing the first database server session in response to the first request; receiving a user interface from a client of one of the first database server session and the second database server session; attaching the user interface to one of the first database server session and the second database server session; the user interface including program code configured to debug an application; receiving, from a second user, a second web-protocol request to establish a second database server session and to communicate with the second database server session via a non-transient connection; establishing the second database server session in response to the second request; receiving, from the second user, a third web-protocol request to attach the second database server session to the first database server session; in response to the third request, determining whether the second user is authorized to debug the first database server session based on stored authorization information; if it is determined that the second user is authorized to debug the first database server session, attaching the second database server session to the first database server session; receiving from one of the first user and the second user a first request to access inactive private artifacts to test design time artifacts respectively associated with one of the first database server session and the second database server session; determining with the token if the first request is from an authorized user; and if the first request is from an authorized user, then: activating the private artifacts in response to the received request; creating a private runtime representation of the activate private artifacts; and transmitting debugging information of the debugged server session via the non-transient connection to the other of the first user and the second user that did not provide the first request.
A method for debugging database sessions allows a first user to start a session using a web request. A second user starts another session and establishes a persistent connection (e.g., WebSocket). A debugging UI is attached to one of the sessions. The second user requests to attach to the first user's session, but *only* if they are authorized based on stored authorization information. The second user can access inactive components to debug design time behaviors of the first user's session. If authorized by a token, the components are activated in a private runtime instance. Debugging information from the first session is sent to the second user through the persistent connection.
9. A computer-implemented method according to claim 8 , further comprising: executing server-side application program code in the first database server session; prior to transmitting the debugging information, determining that execution has reached a breakpoint in the server-side application program code; in response to determining that execution has reached the breakpoint, and prior to transmitting the debugging information, halting execution of the server-side application program code.
The debugging method described previously includes halting code execution at breakpoints. Server-side code running in the first user's session pauses when a breakpoint is hit *before* any debugging information is sent to the second user.
10. A computer-implemented method according to claim 8 , wherein the first request conforms to HyperText Transfer Protocol protocol, and wherein the second request and the third request conform to Web Socket protocol.
The debugging method of claim 8 uses HTTP for the initial request from the first user and WebSocket for subsequent debugging requests.
11. A computer-implemented method according to claim 8 , further comprising: receiving, from a third user, a fourth web-protocol request to establish a third database server session and to communicate with the third database server session via a second non-transient connection; establishing the third database server session in response to the fourth request; receiving, from the third user, a fifth web-protocol request to attach the third database server session to the first database server session; attaching the third database server session to the first database server session; and transmitting second debugging information of the first database server session to the third user via the second non-transient connection.
The debugging method supports multiple debugging users. A third user can establish another session with a persistent connection and attach to the first user's session. The third user receives debugging information through their persistent connection concurrently with the second user, mirroring the state of the debugged session.
12. A computer-implemented method according to claim 11 , further comprising: executing server-side application program code in the first database server session; prior to transmission of the debugging information, determining that execution has reached a breakpoint in the server-side application program code; in response to determining that execution has reached the breakpoint, and prior to transmitting the debugging information and the second debugging information, halting execution of the server-side application program code.
In the multi-user debugging method of the previous claim, execution pauses at breakpoints before sending debugging information to *both* the second and third debugging users.
13. A computer-implemented method according to claim 11 , further comprising: in response to the fifth request, determining whether the third user is authorized to debug the first database server session based on the stored authorization data.
In the multi-user debugging method, the authorization of the third debugging user is checked *before* allowing them to attach to the first user's session, using stored authorization data.
14. A non-transitory computer-readable medium storing program code, the program code executable by a computer system to cause to the computer system to: receive, from a first user, a first web-protocol request to establish a first database server session; establish the first database server session in response to the first request; receive, from a second user, a second web-protocol request to establish a second database server session and to communicate with the second database server session via a non-transient connection; establish the second database server session in response to the second request; receive a user interface from a client of one of the first database server session and the second database server session; attach the user interface to one of the first database server session and the second database server session; the user interface including program code configured to debug an application; receive, from the second user, a third web-protocol request to attach the second database server session to the first database server session; attach the second database server session to the first database server session; receive a token from one of the first user and the second user, the token specifying that another of the first user and the second user is authorized to debug one or more of the server sessions; receive from one of the first user and the second user a request to access inactive private artifacts to test design time artifacts respectively associated with one of the first database server session and the second database server session; determine with the token if the first request is from an authorized user; and if the first request is from an authorized user, then: activate the private artifacts in response to the received request; create a private runtime representation of the activate private artifacts; and transmit debugging information of the debugged server session via the non-transient connection to the other of the first user and the second user that did not provide the first request.
A non-transitory computer-readable medium stores instructions to enable web-based debugging. The instructions, when executed, cause the system to allow a first user to start a database session via a web request. A second user establishes another session via a web request using a persistent connection (e.g., WebSocket). A debugging UI is attached to either session. The second user can then "attach" their session to the first user's session to debug it. Authorization is checked via a token to allow one user to debug another's session. The second user can access inactive components to debug design time behaviors of the first user's session. If authorized, the components are activated in a private runtime instance. Debugging information from the first session is sent to the second user through the persistent connection.
15. A non-transitory computer-readable medium according to claim 14 , wherein the program code is further executable by a computer system to cause to the computer system to: execute server-side application program code in the first database server session; prior to transmission of the debugging information, determine that execution has reached a breakpoint in the server-side application program code; in response to the determination that execution has reached the breakpoint, and prior to transmission of the debugging information, halt execution of the server-side application program code.
The computer-readable medium described in the previous claim further includes instructions for breakpoint debugging. Execution of server-side code in the first user's session is paused when a breakpoint is reached, *before* any debugging information is sent to the second user.
16. A non-transitory computer-readable medium according to claim 14 , wherein the first request conforms to HyperText Transfer Protocol protocol, and wherein the second request and the third request conform to Web Socket protocol.
The computer-readable medium described previously uses HTTP for the initial session setup and WebSocket for subsequent debugging communications.
17. A non-transitory computer-readable medium according to claim 14 , wherein the program code is further executable by a computer system to cause to the computer system to: receive, from a third user, a fourth web-protocol request to establish a third database server session and to communicate with the third database server session via a second non-transient connection; establish the third database server session in response to the fourth request; receive, from the third user, a fifth web-protocol request to attach the third database server session to the first database server session; attach the third database server session to the first database server session; and transmit second debugging information of the first database server session to the third user via the second non-transient connection.
The computer-readable medium allows for multiple debugging users. Instructions allow a third user to establish a session with a persistent connection and attach to the first user's session, receiving debugging information concurrently with the second user through a separate persistent connection.
18. A non-transitory computer-readable medium according to claim 17 , wherein the program code is further executable by a computer system to cause to the computer system to: execute server-side application program code in the first database server session; prior to transmission of the debugging information, determine that execution has reached a breakpoint in the server-side application program code; in response to the determination that execution has reached the breakpoint, and prior to transmission of the debugging information and the second debugging information, halt execution of the server-side application program code.
The multi-user debugging support on the computer-readable medium ensures that when a breakpoint is hit, execution is paused *before* sending debugging information to both the second and third debugging users.
19. A non-transitory computer-readable medium according to claim 17 , wherein the program code is further executable by a computer system to cause to the computer system to: determine, in response to the third request, whether the second user is authorized to debug the first database server session, and determine, in response to the fifth request, whether the third user is authorized to debug the first database server session.
The computer-readable medium includes instructions to validate debugging authorization. Before allowing the second or third users to attach to the first user's session, the system checks if they are authorized to debug it.
20. A non-transitory computer-readable medium according to claim 14 , wherein the program code is further executable by a computer system to cause to the computer system to: determine, in response to the third request, whether the second user is authorized to debug the first database server session.
A system and method for managing database server sessions involves a non-transitory computer-readable medium storing program code executable by a computer system. The system monitors database server sessions, including a first session initiated by a first user. The system receives a first request to debug the first session, verifies the first user's authorization, and if authorized, provides debugging access. The system also receives a second request to debug the first session from a second user, distinct from the first user. In response, the system determines whether the second user is authorized to debug the first session. If authorized, the system provides debugging access to the second user. The system may also track session activity, log debugging actions, and enforce security policies to prevent unauthorized access. The method ensures secure and controlled debugging of database server sessions, allowing multiple users to collaborate while maintaining proper authorization checks. The system enhances database management by providing a structured approach to debugging, reducing errors, and improving system reliability.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
June 26, 2014
July 18, 2017
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.