Claims
- 1. A computer system for processing a modular collection of protocol-based applications to provide services through network connections, the system comprising:
a computer-readable means for storing a program, the program including expressions written in a process-based language for representing protocol-based applications as processes; and a process kernel for executing the expressions in the program, the expressions specifying interactions of processes by allowing a named organizational scheme of data written in a customizable, tag-based language to be exchanged as a process among processes, the named organizational scheme of data being bound to the scopes of processes that send and receive the named organizational scheme of data.
- 2. The computer system of claim 1, further comprising an operating system kernel coupled to the process kernel, the operating system kernel providing allocation and usage of hardware resources, which include memory, central processing unit time, disk space, and peripheral devices.
- 3. The computer system of claim 1, further comprising device drivers coupled to the process kernel, the device drivers providing software components that permit the computer system to communicate with hardware devices.
- 4. The computer system of claim 1, further comprising a directory framework that provides a way to locate and register Web services on the Internet.
- 5. The computer system of claim 4, further comprising a discovery component in the directory framework, the discovery component acting as a broker among processes to locate a desired Web service.
- 6. A computer-executable method for processing a modular collection of protocol-based applications to provide services through network connections, the method comprising:
representing protocol-based applications as processes when process expressions in a program written in a process-based language are executed; representing named organizational schemes of data written in a customizable, tag-based language as processes when query expressions are executed; and causing processes to communicate when processes send or receive the named organizational schemes of data as queries to or from queues, the named organizational schemes of data being bound to the scopes of processes that send or receive the named organizational schemes of data.
- 7. The method of claim 6, further comprising interacting with an operating system kernel, the operating system kernel providing allocation and usage of hardware resources, which include memory, central processing unit time, disk space, and peripheral devices.
- 8. The method of claim 6, further comprising interacting with device drivers, the device drivers permitting the computer system on which the method is implemented to communicate with hardware devices.
- 9. The method of claim 6, further comprising locating and registering protocol-based applications as Web services on the Internet via a directory framework.
- 10. The method of claim 9, further comprising brokering among processes to locate a desired Web service by a discovery component in the directory framework.
- 11. A computer-readable medium having computer-executable instructions for performing a method for processing a modular collection of protocol-based applications to provide services through network connections, the method comprising:
representing protocol-based applications as processes when process expressions in a program written in a process-based language are executed; representing named organizational schemes of data written in a customizable, tag-based language as processes when query expressions are executed; and causing processes to communicate when processes send or receive the named organizational schemes of data as queries to or from queues, the named organizational schemes of data being bound to the scopes of processes that send or receive the named organizational schemes of data.
- 12. The computer-readable medium of claim 11, further comprising interacting with an operating system kernel, the operating system kernel providing allocation and usage of hardware resources, which include memory, central processing unit time, disk space, and peripheral devices.
- 13. The computer-readable medium of claim 11, further comprising interacting with device drivers, the device drivers permitting the computer system on which the method is implemented to communicate with hardware devices.
- 14. The computer-readable medium of claim 11, further comprising locating and registering protocol-based applications as Web services on the Internet via a directory framework.
- 15. The computer-readable medium of claim 14, further comprising brokering among processes to locate a desired Web service by a discovery component in the directory framework.
- 16. A computer system comprising:
a query virtual machine for defining queries and for governing the interactions among queries and queues in a program written in a process-based language; a process virtual machine for defining processes and for governing interactions among processes in the program, processes including protocol-based applications; and a reaction virtual machine for defining valid interactions among queries, queues, and processes and further for governing the interactions among queries, queues, and processes by interpreting queries as processes.
- 17. The system of claim 16, further comprising a transition virtual machine for isolating the query virtual machine, the process virtual machine, and the reaction virtual machine from other system software components of the computer system.
- 18. The system of claim 16, wherein queues include databases, channels, or structured stores that enable processes running at different times or at the same time to communicate across heterogeneous networks and systems that may be temporarily offline.
- 19. The system of claim 16, wherein queries include instructions written in a data manipulation language to assemble and disassemble other queries, manipulate queues, and detect patterns in queries.
- 20. The system of claim 16, wherein processes include computation entities that have the capability to evolve by performing actions or by allowing other processes to evolve.
CROSS-REFERENCE TO RELATED APPLICATION
[0001] This application claims the benefit of U.S. Provisional Application No. 60/379,864, filed May 10, 2002, entitled “Process Programming Language,” which is expressly incorporated herein by reference.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60379864 |
May 2002 |
US |