Method and apparatus for controlling connected computers without programming
First Claim
1. For an application in an Intertask representation, said representation includinga plurality of tasks each including a Widget on an interactive display and a computer program in a general-purpose instruction-set-independent form anda plurality of other tasks each including a Widget on said interactive display, a network address, and an identifier of a second application,a recursive process for running said application on a plurality of networked computers, the network including a host computer and a target computer, comprising:
- loading said application from said host computer onto said target computer;
executing said tasks on said target computer;
linking by selecting one of said plurality of tasks on said interactive display and recursively invoking said recursive process with said second application being the application and the computer addressed by said network address being the host computer; and
repeating the previous two steps indefinitely.
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.
113 Citations
13 Claims
-
1. For an application in an Intertask representation, said representation including
a plurality of tasks each including a Widget on an interactive display and a computer program in a general-purpose instruction-set-independent form and a plurality of other tasks each including a Widget on said interactive display, a network address, and an identifier of a second application, a recursive process for running said application on a plurality of networked computers, the network including a host computer and a target computer, comprising: -
loading said application from said host computer onto said target computer; executing said tasks on said target computer; linking by selecting one of said plurality of tasks on said interactive display and recursively invoking said recursive process with said second application being the application and the computer addressed by said network address being the host computer; and repeating the previous two steps indefinitely. - View Dependent Claims (2, 3, 4, 5)
-
-
6. For an application in an Intertask representation, said representation including
a plurality of tasks each including a computer program with inputs and outputs and an enable-address variable containing a list of network addresses upon which this task will execute, a plurality of other tasks each including a connection to a source of trigger events, and an enable-address variable, and a plurality of interconnections which interconnect inputs and outputs of said tasks in a predetermined manner, where the manner of interconnection of the tasks is determined by the data dependencies of the application, whereby this data dependency enforces a causality on the internal operation of the application, a process for running an application defined by a data-dependency graph on plurality of networked computers comprising: -
time stamping the output data of a task, where if the data is caused by a trigger event then the data is time stamped with the time of the trigger event, otherwise the data is time stamped with the latest time stamp on input data; executing a distributed discrete-event simulation algorithm of known type, such as a computer logic simulator, to control the order of task evaluation, where tasks are equivalent to logic gates, where interconnections are equivalent to wires, where said computer programs are equivalent to said logic gate'"'"'s logic function, and where the enable-address variable specifies the computers on which said logic gate'"'"'s logic function will be evaluated. - View Dependent Claims (7)
-
-
8. For an application in an Intertask representation, said representation including
a plurality of tasks each having a computer program with inputs and outputs and an enable-address variable containing a list of network addresses upon which this task will run and a plurality of interconnections which interconnect inputs and outputs of said tasks in a predetermined manner, a recursive process for running said application across a plurality of computers on a network, the network including a computer, a different computer, and a receiving computer, comprising: -
if said application is starting for the first time loading said application onto said computer, otherwise receiving said application from said receiving computer; executing the tasks whose enable-address variable includes the network address of said computer if the task connects via one of said interconnections to a second task whose enable-address variable includes the network address of said computer, then the output of the task is made available to the input of the second task and if the task connects via one of said interconnections to a second task whose enable-address variable includes the network address of said different computer, then invoking said recursive process with said different computer becoming the computer and said computer becoming the receiving computer. - View Dependent Claims (9, 10, 11, 12, 13)
-
Specification