IP Library Granted Patent US 9,342,273
Granted Patent B1
US 9,342,273 · App. 14/793,496 · Granted May 17, 2016

Automatic communications graphing for a source application

Inventors: Yash Kumar (San Francisco, CA); Tejesh Mehta (Fremont, CA); Praful Rana (San Francisco, CA); Sundip Patel (San Francisco, CA); Anandkumar Patel (San Francisco, CA); Tony Li (Daly City, CA); Bryan Kendall (San Francisco, CA); Nathan Allen Meyers (San Francisco, CA); Randall Koutnik (Alameda, CA)
Assignee: Runnable Inc.
G06F8/20G06F3/0482G06F3/04842
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 9,342,273
App. No.
14/793,496
Granted
May 17, 2016
Kind
B1
Abstract

A communications mapping system is provided. The communications mapping system includes at least one processor and a memory. The at least one processor configured to receive a source application, the source application including a first sub-application and a second sub-application. The processor is also configured to identify a dependency relationship between the first sub-application and the second sub-application based at least in part on an inspection of the first sub-application. The processor is further configured to generate the relational communications graph including the first sub-application, the second sub-application, and the dependency relationship and provide the relational communications graph for use in executing the source application in an execution environment.

Claims (44)

1. A communications mapping system comprising:

at least one hardware processor; and

a memory including a source application, the source application including a first sub-application and a second sub-application, the first sub-application including a first sub-application configuration,

the at least one hardware processor is configured to:

receive the source application;

inspect the first sub-application configuration for a reference to the second sub-application;

identify a communications dependency relationship between the first sub-application and the second sub-application based at least in part on the inspection of the first sub-application;

generate a relational communications graph including the first sub-application, the second sub-application, and the communications dependency relationship, the first sub-application and second sub-application are represented by nodes in the relational communications graph, the communications dependency relationship between the first sub-application and the second sub-application is represented by an edge connecting the nodes;

provide the relational communications graph to a user device through a display interface;

receive a first selection of the first sub-application from the user device, the first selection representing a request to execute the first sub-application;

mark the first sub-application for execution based on the first selection; and

automatically mark the second sub-application for execution based at least in part on the communications dependency relationship between the first sub-application and the second sub-application.

2. The communications mapping system of claim 1 , wherein the reference to the second sub-application is one or more of a hostname and a uniform resource locator (URL).

3. The communications mapping system of claim 1 , wherein the at least hardware one processor is further configured to alter a first source element of the first sub-application based at least in part on the communications dependency relationship between the first sub-application and the second sub-application.

4. The communications mapping system of claim 1 , wherein the at least one hardware processor is further configured to identify an order of execution of the first sub-application relative to the second sub-application based at least in part on the communications dependency relationship between the first sub-application and the second sub-application.

5. The communications mapping system of claim 1 , wherein the first sub-application is included within a first container, wherein the first sub-application configuration includes a first container configuration associated with the first container, wherein identifying a communications dependency relationship between the first sub-application and the second sub-application further includes identifying the communications dependency relationship based at least in part on inspection of the first container configuration.

6. The communications mapping system of claim 1 , wherein the edge connecting the nodes is a directed edge, wherein the tail of the edge is a first node representing the first sub-application, wherein the head of the edge is a second node representing the second sub-application, wherein the directed edge represents the first sub-application being dependent on the second sub-application.

7. A computer-implemented method performed using at least one hardware processor and a memory, the method comprising:

receiving a source application from the memory, the source application including a first sub-application and a second sub-application, the first sub-application including a first sub-application configuration;

inspecting the first sub-application configuration for a reference to the second sub-application;

identifying, by the at least one hardware processor, a communications dependency relationship between the first sub-application and the second sub-application based at least in part on the inspection of the first sub-application;

generating a relational communications graph including the first sub-application, the second sub-application, and the communications dependency relationship, the first sub-application and second sub-application are represented by nodes in the relational communications graph, the communications dependency relationship between the first sub-application and the second sub-application is represented by an edge connecting the nodes;

providing the relational communications graph to a user device through a display interface;

receiving a first selection of the first sub-application from the user device, the first selection representing a request to execute the first sub-application;

marking the first sub-application for execution based on the first selection; and

automatically marking the second sub-application for execution based at least in part on the communications dependency relationship between the first sub-application and the second sub-application.

8. The method of claim 7 , wherein the reference to the second sub-application is one or more of a hostname and a uniform resource indicator (URL).

9. The method of claim 7 , further comprising altering a first source element of the first sub-application based at least in part on the communications dependency relationship between the first sub-application and the second sub-application.

10. The method of claim 7 , further comprising identifying an order of execution of the first sub-application relative to the second sub-application based at least in part on the communications dependency relationship between the first sub-application and the second sub-application.

11. The method of claim 7 , wherein the first sub-application is included within a first container, wherein the first sub-application configuration includes a first container configuration associated with the first container, wherein identifying the communications dependency relationship between the first sub-application and the second sub-application further includes identifying the communications dependency relationship based at least in part on inspection of the first container configuration.

12. The method of claim 7 , wherein the edge connecting the nodes is a directed edge, wherein the tail of the edge is a first node representing the first sub-application, wherein the head of the edge is a second node representing the second sub-application, wherein the directed edge represents the first sub-application being dependent on the second sub-application.

13. A non-transitory machine-readable medium storing processor-executable instructions which, when executed by a processor, causes the processor to:

receive a source application, the source application including a first sub-application and a second sub-application, the first sub-application including a first sub-application configuration;

inspect the first sub-application configuration for a reference to the second sub-application;

identify a communications dependency relationship between the first sub-application and the second sub-application based at least in part on the inspection of the first sub-application;

generate a relational communications graph including the first sub-application, the second sub-application, and the communications dependency relationship, the first sub-application and second sub-application are represented by nodes in the relational communications graph, the communications dependency relationship between the first sub-application and the second sub-application is represented by an edge connecting the nodes;

provide the relational communications graph to a user device through a display interface;

receive a first selection of the first sub-application from the user device, the first selection representing a request to execute the first sub-application;

mark the first sub-application for execution based on the first selection; and

automatically mark the second sub-application for execution based at least in part on the communications dependency relationship between the first sub-application and the second sub-application.

14. The machine-readable medium of claim 13 , wherein the reference to the second sub-application is one or more of a hostname and a uniform resource locator (URL).

15. The machine-readable medium of claim 13 , wherein the processor-executable instructions further cause the processor to alter a first source element of the first sub-application based at least in part on the communications dependency relationship between the first sub-application and the second sub-application.

16. The machine-readable medium of claim 13 , wherein the processor-executable instructions further cause the processor to identify an order of execution of the first sub-application relative to the second sub-application based at least in part on the communications dependency relationship between the first sub-application and the second sub-application.

17. The machine-readable medium of claim 13 , wherein the edge connecting the nodes is a directed edge, wherein the tail of the edge is a first node representing the first sub-application, wherein the head of the edge is a second node representing the second sub-application, wherein the directed edge represents the first sub-application being dependent on the second sub-application.

Assignments (2)
SECURITY INTEREST Recorded Feb 10, 2017
From: RUNNABLE, INC.
To: COMERICA BANK
Reel/Frame 041225/0825 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 13, 2015
From: KUMAR, YASH; MEHTA, TEJESH; RANA, PRAFUL; PATEL, SUNDIP; PATEL, ANANDKUMAR; LI, TONY; KENDALL, BRYAN; MEYERS, NATHAN ALLEN; KOUTNIK, RANDALL
To: RUNNABLE INC.
Reel/Frame 036320/0419 →
Continuity (1)
Continuation 14722396 · May 27, 2015