IP Library › Granted Patent US 11,301,364
Granted Patent B2
US 11,301,364 · App. 17/135,330 · Granted Apr 12, 2022

Facilitating debugging serverless applications via graph rewriting

Inventors: Stephen Fink (Yorktown Heights, NY); Nicholas Matthew Mitchell (White Plains, NY)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
G06F11/3664G06F11/362G06F11/3624
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,301,364
App. No.
17/135,330
Granted
Apr 12, 2022
Kind
B2
Abstract

Techniques that facilitate re-hosting a subset of a serverless application are provided. In one example, a system includes an interface component, a rewriter component and a broker component. The interface component receives identifier data from a computing device that identifies a portion of a serverless application to be re-hosted by the computing device. The computing device is in communication with the serverless computing system via a network device. The rewriter component rewrites the serverless application to allow the first portion of the serverless application to be executed by the computing device and another portion of the serverless application to be executed by the serverless computing system. The interface component re-routes the first portion of the serverless application to the computing device to facilitate a debugging session for the first portion of the serverless application that is performed by the computing device.

Claims (33)

1. A computer-implemented method, comprising:

facilitating, by a system operatively coupled to a processor, performance of a debugging session associated with a first portion of a serverless application to be re-hosted by a computing device, wherein the debugging session is performed without core runtime of the serverless application; and

executing, by the system, a second portion of the serverless application, wherein the executing the second portion of the serverless application is performed while the computing device performs the debugging session associated with the first portion of the serverless application.

2. The computer-implemented method of claim 1 , further comprising:

determining, by the system, a modified version of the first portion of the serverless application from the computing device, wherein the first portion of the serverless application performs a first function of the serverless application and the second portion of the serverless application performs a second function of the serverless application.

3. The computer-implemented method of claim 2 , further comprising:

combining, by the system, the modified version of the first portion of the serverless application with the second portion of the serverless application.

4. The computer-implemented method of claim 2 , wherein the executing the second portion of the serverless application is performed based on real-time data associated with the debugging session.

5. The computer-implemented method of claim 4 , wherein the executing is performed to facilitate a reduced number of errors associated with the serverless application.

6. The computer-implemented method of claim 1 , wherein the serverless application comprises a set of primitive code segments that create functionality for a serverless program, wherein the primitive code segments comprise curried evaluation of actions by the serverless program.

7. The computer-implemented method of claim 1 , wherein the serverless application comprises a set of primitive code segments that create functionality for a serverless program, wherein the primitive code segments comprise a set of invocable actions provided by the serverless program.

8. The computer-implemented method of claim 1 , wherein the serverless application comprises a set of primitive code segments that create functionality for a serverless program, wherein the primitive code segments comprise triggered invocation of actions by the serverless program.

9. A computer-implemented method, comprising:

determining, by a system operatively coupled to a processor, a first portion of a serverless application from a serverless computing system; and

performing, by the system, a debugging session associated with the first portion of the serverless application approximately concurrently to execution of a second portion of the serverless application by the serverless computing system, wherein the performing the debugging session comprises employing a debugger application via a computing device that is in communication with the serverless computing system via a network device without core runtime of the serverless application.

10. The computer-implemented method of claim 9 , further comprising:

communicating, by the system, with the serverless computing system via a network device.

11. The computer-implemented method of claim 9 , further comprising:

transmitting, by the system, a modified version of the first portion of the serverless application to the serverless computing system, wherein the first portion of the serverless application performs a first function of the serverless application and the second portion of the serverless application performs a second function of the serverless application.

12. The computer-implemented method of claim 11 , wherein the modified version of the first portion of the serverless application comprises a debugged version of the first portion of the serverless application.

13. The computer-implemented method of claim 9 , further comprising:

transmitting, by the system, real-time data associated with the debugging session to the serverless computing system.

14. The computer-implemented method of claim 13 , wherein the real-time data comprises real-time activations or updating of one or more data flows of the debugging process performing by the serverless computing device.

15. The computer-implemented method of claim 9 , wherein the serverless computing system comprises a virtual machine.

16. A computer program product for debugging a serverless application, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by processor to cause the processor to:

determine, by the processor, a first portion of a serverless application from a serverless computing system; and

perform, by the processor, a debugging session associated with the first portion of the serverless application approximately concurrently to execution of a second portion of the serverless application by the serverless computing system, wherein the performing the debugging session comprises employing a debugger application via a computing device that is in communication with the serverless computing system via a network device without core runtime of the serverless application.

17. The computer program product of claim 16 , wherein the program instructions are further executable by processor to cause the processor to:

transmit, by the processor, a modified version of the first portion of the serverless application to the serverless computing system, wherein the first portion of the serverless application performs a first function of the serverless application and the second portion of the serverless application performs a second function of the serverless application.

18. The computer program product of claim 17 , wherein the modified version of the first portion of the serverless application comprises a debugged version of the first portion of the serverless application.

19. The computer program product of claim 16 , wherein the program instructions are further executable by processor to cause the processor to:

transmit, by the processor, real-time data associated with the debugging session to the serverless computing system, wherein the real-time data comprises real-time activations or updating of one or more data flows of the debugging process performing by the serverless computing device.

20. The computer program product of claim 16 , wherein the serverless computing system comprises a virtual machine.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 28, 2020
From: FINK, STEPHEN; MITCHELL, NICHOLAS MATTHEW
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 054858/0495 →
Continuity (5)
Continuation 16356169 · Mar 18, 2019
Continuation 15840923 · Dec 13, 2017
Continuation 15475491 · Mar 31, 2017
Provisional Application 62412564 · Oct 25, 2016
Related Publication 20210117311A1 · Apr 22, 2021