IP Library › Granted Patent US 10,929,274
Granted Patent B2
US 10,929,274 · App. 16/356,169 · Granted Feb 23, 2021

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 10,929,274
App. No.
16/356,169
Granted
Feb 23, 2021
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 (28)

1. A system, comprising:

a memory that stores computer executable components;

a processor that executes computer executable components stored in the memory, wherein the computer executable components comprise:

a rewriter component that rewrites a serverless application to allow a first portion of the serverless application to be executed by a computing device and a second portion of the serverless application to be executed by a serverless computing system, wherein the first portion of the serverless application is re-routed to the computing device to facilitate a debugging session for the first portion of the serverless application that is performed by the computing device.

2. The system of claim 1 , further comprising:

an interface component of the system that receives a modified version of the first portion of the serverless application from the computing device.

3. The system of claim 2 , wherein the rewriter component combines the modified version of the first portion of the serverless application with the second portion of the serverless application.

4. The system of claim 1 , wherein the serverless computing system executes a set of processing threads associated with the second portion of the serverless application during a first time period.

5. The system of claim 4 , wherein the computing device performs the debugging session associated with the first portion of the serverless application during a second time period, and wherein the first time period and the second time period are concurrent.

6. The system of claim 1 , wherein the first portion of the serverless application is a first function in a sequence of functions, and wherein an interface component of the system re-routes the first function to the computing device.

7. The system of claim 6 , wherein the rewriter component generates a second function prior to the first function in a sequence of instructions, and wherein the rewriter component generates a third function after the first function in the sequence of instructions.

8. The system of claim 7 , wherein the rewriter component executes the second function and the third function after the first function is re-routed to the computing device.

9. The system of claim 1 , wherein an interface component of the system receives real-time data associated with the debugging session associated with the first portion of the serverless application.

10. The system of claim 9 , wherein the rewriter component executes the second portion of the serverless application based on the real-time data associated with the debugging session.

11. The system of claim 1 , wherein an interface component of the system re-routes the first portion of the serverless application to the computing device to facilitate improved performance of the serverless application.

12. The system of claim 1 , wherein a first mode of the debugging session for the serverless application is performed based on user data provided to the computing device, and wherein the user data comprises a set of actions associated with one or more processing points related to the serverless application.

13. The system of claim 1 , wherein a first mode of the debugging session for the serverless application employs a trampoline computing process that forwards an invocation signal from the computing device to a serverless computing component.

14. The system of claim 13 , wherein the invocation signal comprises a set of parameters for an invocation to invoke a programmable operator within computer code of the serverless application.

15. 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:

rewrites, by the processor, a serverless application to allow a first portion of the serverless application to be executed by a computing device and a second portion of the serverless application to be executed by a serverless computing system, wherein the first portion of the serverless application is re-routed to the computing device to facilitate a debugging session for the first portion of the serverless application that is performed by the computing device.

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

receives, by the processor, receives a modified version of the first portion of the serverless application from the computing device; and

combines the modified version of the first portion of the serverless application with the second portion of the serverless application.

17. The computer program product of claim 15 , wherein the serverless computing system executes a set of processing threads associated with the second portion of the serverless application during a first time period, wherein the computing device performs the debugging session associated with the first portion of the serverless application during a second time period, and wherein the first time period and the second time period are concurrent.

18. A computer-implemented method, comprising:

rewriting, by a device operative coupled to a processor, a serverless application to allow a first portion of the serverless application to be executed by a computing device and a second portion of the serverless application to be executed by a serverless computing system, wherein the first portion of the serverless application is re-routed to the computing device to facilitate a debugging session for the first portion of the serverless application that is performed by the computing device.

19. The computer-implemented method of claim 18 , wherein a first mode of the debugging session for the serverless application is performed based on user data provided to the computing device, and wherein the user data comprises a set of actions associated with one or more processing points related to the serverless application.

20. The computer-implemented method of claim 18 , wherein a first mode of the debugging session for the serverless application employs a trampoline computing process that forwards an invocation signal from the computing device to the serverless computing system.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 18, 2019
From: FINK, STEPHEN; MITCHELL, NICHOLAS MATTHEW
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 048622/0915 →
Continuity (4)
Continuation 15840923 · Dec 13, 2017
Continuation 15475491 · Mar 31, 2017
Provisional Application 62412564 · Oct 25, 2016
Related Publication 20190213111A1 · Jul 11, 2019