IP Library Patent Application 11936105
Patent Application
App. No. 11/936,105

GRAPHICAL APPLICATION FOR BUILDING DISTRIBUTED APPLICATIONS

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 None
App. No.
11/936,105
Abstract

A graphical application development tool for developing parallel computation applications. The tool facilitates insertion of computational elements by a drag-and-drop operation onto a canvas area for creating a computational graph. The graphical application tool reduces the barriers to the development of parallel computation applications by entry-level developers, for example, by allowing these users to write applications by using a graphical tool, thereby avoiding complexities of having to write well-formed code and learning a new language. The tool includes built-in functionality that allows the developer to write arbitrary code (e.g., C#) to perform various functions on massive amounts of data.

Claims (30)

1 . A computer-implemented graphical programming system, comprising:

a programming component for providing a programming environment in which a computational graph is generated and applied to a computing cluster; and

a graphical component for providing drag-and-drop functionality in the programming environment to create the computational graph.

2 . The system of claim 1 , wherein the graphical component presents computational elements related to distributed computing abstractions of a managed library.

3 . The system of claim 2 , wherein the computational elements represent built-in functions each having a specific signature.

4 . The system of claim 3 , wherein the graphical component presents a signature associated with a graph node in response to selection of the graph node in the computational graph.

5 . The system of claim 1 , wherein the graphical component allows entry and selection of a function, an argument for the function, and inputs.

6 . The system of claim 1 , wherein the graphical component presents a tailored view based on a selected node of the computational graph.

7 . The system of claim 6 , wherein the tailored view includes structure query language statement semantics.

8 . The system of claim 1 , wherein the graphical component presents multiple library functions of a node selected in the computational graph.

9 . The system of claim 1 , wherein the programming component compiles code associated with the computational graph for application to the computer cluster.

10 . The system of claim 1 , wherein the graphical component includes a user interface via which the drag-and-drop functionality, computational elements for creating the computational graph, creation state of the computational graph as presented on a canvas, code associated with nodes of the computational graph, and complied version of the computational graph, are exposed for interaction.

11 . The system of claim 1 , wherein the computational elements include one or more of SQL statements.

12 . A computer-implemented method of developing a massively parallel application, comprising:

presenting computational elements in a graphical programming environment;

inserting a computational element into a graphing area as part of a generating a computational graph;

converting the computation element into a node of the computational graph; and

presenting code associated with the node.

13 . The method of claim 12 , further comprising compiling the computational graph into a computation application for execution on a parallel computing system.

14 . The method of claim 12 , wherein the computation elements include aggregate and join.

15 . The method of claim 12 , further comprising presenting SQL clauses associated with a SQL statement of the node when the node is selected.

16 . The method of claim 12 , further comprising presenting library functions associated with the node when the node is selected.

17 . The method of claim 12 , further comprising inserting multiple computational elements into the graphing area by drag-and-drop operations for computing an output based on multiple processes.

18 . The method of claim 12 , further comprising presenting methods and libraries that match a function associated with the node.

19 . The method of claim 12 , further comprising presenting a coding block for writing and entering code associated with the node.

20 . A computer-implemented system, comprising:

computer-implemented means for presenting computational elements in a graphical programming environment;

computer-implemented means for inserting a computational element into a graphing area as part of a generating a computational graph;

computer-implemented means for converting the computation element into a node of the computational graph; and

computer-implemented means for presenting code associated with the node.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 15, 2015
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034766/0509 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 7, 2007
From: RAMSEY, WILLIAM D; CHAIKEN, RONNIE I
To: MICROSOFT CORPORATION
Reel/Frame 020076/0888 →