Method and apparatus for controlling connected computers without programming
First Claim
1. In a computer network including a plurality of computers, including a first computer and a second computer, each computer including a storage area for selectively storing a plurality of objects, each object including a plurality of tasks, each task including either a Widget on an interactive display with inputs and outputs or a computer executable process, each task further including an enable-address variable resolvable to at least one network address of a computer upon which the task will run, the storage area of each computer for further storing a plurality of interconnections which interconnect inputs and outputs of the tasks in a predetermined manner, a computer implemented process for executing an application on the plurality of networked computers, the process comprising:
- 1. presenting on the first computer a palette of selected ones of the plurality of objects;
2. receiving a plurality of user inputs on the first computer each replacing an object in the storage area of the first computer with a user selected object in the palette to construct an application including a plurality of objects;
0 Assignments
0 Petitions
Accused Products
Abstract
A process for creating, maintaining, and executing network applications. A user specifies a network application as an interconnection of tasks, each task being addressed to run on one or more computers. Process steps install and execute the application with accommodation for dynamically changing addresses. During execution, process steps compile or interpret source code on remote computers as needed. Process steps permit application changes during execution subject to limitations and fail-safes that prevent non-programmers from creating invalid changes.
-
Citations
13 Claims
-
1. In a computer network including a plurality of computers, including a first computer and a second computer, each computer including a storage area for selectively storing a plurality of objects, each object including a plurality of tasks, each task including either a Widget on an interactive display with inputs and outputs or a computer executable process, each task further including an enable-address variable resolvable to at least one network address of a computer upon which the task will run, the storage area of each computer for further storing a plurality of interconnections which interconnect inputs and outputs of the tasks in a predetermined manner, a computer implemented process for executing an application on the plurality of networked computers, the process comprising:
-
1. presenting on the first computer a palette of selected ones of the plurality of objects; 2. receiving a plurality of user inputs on the first computer each replacing an object in the storage area of the first computer with a user selected object in the palette to construct an application including a plurality of objects; - View Dependent Claims (3, 4, 5, 6, 7, 9, 10, 11)
-
-
2. executing, on each computer, each task included in the objects of the application whose enable-address variable resolves to the network address of the computer;
- and,
3.1) responsive to the executed task connecting via one of the interconnections to a second task whose enable-address variable resolves to the network address of the executing computer, providing the output of the executed task as the input of the second task and executing the second task; and 3.2) responsive to the executed task connecting via one of the interconnections to a second task whose enable-address variable resolves to the network address of the second computer, transmitting the application including its tasks and the output of the executed task to the second computer and executing the second task on the second computer.
- and,
-
8. A computer implemented method for controlling execution of a plurality of computers on a network, the computers including at least two different computers, each computer associated with a network address, the method comprising:
-
receiving on a first computer on the network an application including a plurality of tasks, each task associated with a network address of at least one computer to execute the task, each task having zero or more outputs that convey data as an input to a next task; executing on the first computer at least one of the task associated with the network address of the first computer; and responsive to an executed task outputting data as an input to the next task associated with a network address of a second computer, transmitting the output data of the executed task and the application to the second computer according to its network address, and executing the next task on the second computer.
-
-
12. A computer implemented method of executing a portion of an application on a network of computers, each computer having a network address, the application including a plurality of tasks, each task associated with a network address of a computer to execute the task, each task further producing zero or more outputs that are inputs to at least one next task, where execution of all tasks in the application produces the output result, the method comprising:
-
receiving at a first computer an application for which at least one task associated with a network address of a second computer has been previously executed on the second computer, and any data output by the previously executed task; executing on the first computer at least one next task of the application associated with the network address of the first computer, using the output of the previously executed task, if any, as an input to at least one next task; and responsive to at least one next task executed on the first computer producing an output that is an input to a subsequent task associated with a network address of a third computer, transmitting the application and the output to the third computer according to its network address for execution of the subsequent task by the third computer.
-
-
13. A computer implemented method of producing a result by executing an application on a network of computers including a previous computer, a current computer, and a next computer, where the previous computer and the next computer are both different from the current computer, the application including an ordered plurality of tasks, each task associated with a network address of a computer upon which the task will run, each task further producing zero or more outputs as inputs to at least one subsequent task, and where execution of all tasks in the application using the output of each task as an input to at least one subsequent task produces the result, the method comprising:
-
receiving on the current computer from the previous computer data and tasks of the application; executing on the current computer a task associated with a network address of the current computer; responsive to execution of the task producing an output that is the input of subsequent task associated with a network address of the next computer, transmitting the output and tasks of the application to the next computer to the extent that the tasks are not already present on the next computer for execution on the next computer; and accepting the result either in the form of data conveyed to the current computer or as a side-effect of executing a task on another computer.
-
Specification