Claims Analysis
Total Claims: 18
Claim 1
Independent Claim
316 words
A method for controlling the execution of a program in a multiprocessor system having a plurality of processors and a communication path interconnecting said plurality of processors, comprising the steps of: establishing a user process on first one of said processors; said step of establishing said user process comprises the substeps of creating a process control block; creating text and data and stack areas of memory to be identified by said process control block building a channel table having data structures to identify communication channels; building a link list to identify data structures in said channel table; inserting a list pointer into said process control block to identify said link list; establishing a first stub process on a second one of said processors to be used only by said user process during the execution of file and I/O and other operations of said program; said step of establishing said first stub process comprises the substeps of creating a process control block for said first stub process; and creating a stack area of memory for said first stub process to be identified by said process control block for said first stub process; establishing a second stub process on a third one of said processors to be used only by said user process during the execution of file and I/O and other operations by said program; said step of establishing said second stub process comprises the substeps of creating a process control block for said second stub process; and creating a stack area of memory for said second stub process to be identified by said process control to solving these and block for said second stub process; setting up a first virtual communication channel between said user process and said first stub process via said communication path; and setting up a second virtual communication channel between said user process and said second stub process via said communication path.
Claim 2
Independent Claim
316 words
A method for controlling the execution of a program in a multiprocessor system having a plurality of processors and a communication path interconnecting said plurality of processors, comprising the steps of: establishing a user process on first one of said processors; said step of establishing said user process comprises the substeps of creating a process control block; creating text and data and stack areas of memory to be identified by said process control block building a channel table having data structures to identify communication channels; building a link list to identify data structures in said channel table; inserting a list pointer into said process control block to identify said link list; establishing a first stub process on a second one of said processors to be used only by said user process during the execution of file and I/O and other operations of said program; said step of establishing said first stub process comprises the substeps of creating a process control block for said first stub process; and creating a stack area of memory for said first stub process to be identified by said process control block for said first stub process; establishing a second stub process on a third one of said processors to be used only by said user process during the execution of file and I/O and other operations by said program; said step of establishing said second stub process comprises the substeps of creating a process control block for said second stub process; and creating a stack area of memory for said second stub process to be identified by said process control to solving these and block for said second stub process; setting up a first virtual communication channel between said user process and said first stub process via said communication path; and setting up a second virtual communication channel between said user process and said second stub process via said communication path.
Claim 3
Dependent Claim
54 words
The method of claim 1 wherein said step of setting up said first virtual communication channel comprises the steps of loading information into one of said data structures of said table to identify said first communication channel; and loading a first channel pointer into said link list to identify said one of data structures.
Claim 4
Dependent Claim
52 words
The method of claim 1 wherein said step of setting up said second channel comprises the steps of loading information into another one of said data structures to identify said second communication channel; and loading a second channel pointer into said link list to identify said other one of said data structures.
Claim 5
Dependent Claim
314 words
The method of claim 2 wherein said first one of said processors maintains a user file table unique to said user process in said process control block for identifying files used by said user process and said user file table having a plurality of entries each designating one of said files of said user process and an inode table for identifying local files of said one of said processors and said inode table having a plurality of entries and a system file table having plurality of entries each identifying one of said entries of said inode table, said method further comprises, in order to perform file operations for said user process with a remote file associated with said first stub process and a local file associated with said user process, the steps of: accessing said local file by determining one of said entries in said user file table identifying said local file; using the contents of the determined entry of said user file table to determine an entry in said system file table used to identify said local file; using the contents of the determined entry of said system file table for determining an entry in said inode table identifying said local file; reading said local file in response to the contents of the determined entry in said inode file; accessing said remote file by determining another one of said entries in said user file table identifying said remote file; using the contents of the determined entry of said user file to determine said one of said data structures in said channel table thereby identifying said first virtual communication channel; transmitting a packet via said first virtual communication channel to said first stub process and said packet containing information requesting that said remote file be read; and reading said remote file by said first stub process in response to the information of said packet.
Claim 6
Dependent Claim
240 words
The method of claim 4 wherein said second one of said processors maintains another user file table unique to said first stub process in another process control block maintained for said first stub process for identifying files used by said user process on said second one of said processors and said other user file table having a plurality of entries each designating one of a plurality remote files of said second one of said processors with said remote file being one of said files of said second one of said processors and said other inode table having a plurality of entries and another system file table having a plurality of entries each identifying one of said entries of said other inode table said step of reading said remote file by said first stub process comprises the steps of: accessing said remote file in response to said information of said packet by determining one of said entries in said other user file table identifying said remote file; using the contents of the determined entry of said other user file table to determine an entry in said other system file table used to identify said remote file; using the contents of the determined entry of said other system file table for determining an entry in said other inode table identifying said remote file; and reading said remote file in response to the contents of the determined entry in said other inode file.
Claim 7
Dependent Claim
113 words
The method of claim 5 wherein said step of accessing said remote file by determining one of said entries in said user file table comprises the steps of: maintaining a file descriptor number identifying said remote file in said user file table; indexing into said user file table with said file descriptor number to identify said one of said entries in said other user file table; said step of transmitting said packet comprises the step of inserting into said information the file descriptor number; and said step of accessing said remote file comprises the step of indexing into said other user file table with said file descriptor number to identify said remote file.
Claim 8
Dependent Claim
84 words
The method of claim 4 wherein said user process performs one of said other operations in said second one of said processors by performing the steps of: accessing said channel table to identify said one of said virtual communication channels; transmitting another packet via said first virtual communication channel requesting that said one of said other operations be performed by said first stub process; and performing said requested one of said other operations in response to said other packet by said first stub process.
Claim 9
Dependent Claim
63 words
The method of claim 7 where said step of accessing said channel table comprises the steps of: identifying said link list using said list pointer; using said first channel pointer from said link list to identify said one of said data structures; and utilizing the contents of said one of siad data structures to identify said first communication channel via said channel table.
Claim 10
Independent Claim
351 words
An apparatus for controlling the execution of a program in a multiprocessor system having a plurality of processors and a communication path interconnecting said plurality of processors, comprising: means for establishing a user process on a first one of said processors; said establishing means of said user process comprises means for creating a process control block; means for creating text and data and stack areas of memory to be identified by said process control block; said user process establishing a means further comprises means for building a channel table having data structures to identify communication channels; said user process establishing means further comprises means for building a link list to identify data structures in said channel table; said user process establishing means further comprises means for inserting a list pointer into said process control block to identify said link list; means for establishing a first stub process on a second one of said processors to be used only by siad user process during the execution of file and I/O and other operations by said program; said means for establishing said first stub process comprises means for creating a process control block for said first stub process; and means for creating a stack area of memory for said first stub process to be identified by said process control block for said first stub process; means for establishing a second stub process on a third one of said processors to be used only by said user process during the execution of file and I/O and other operations by said program; said step of establishing said second stub process comprise means for creating a process control block for said second stub process; and means for creating a stack area of memory for said second stub process to be identified by said process control block for said second stub process; means for setting up a first virtual communication channel between said user process and said first stub process via said communication path; and means for setting up a second virtual communication channel between said user process and said second stub process via said communication path.
Claim 11
Independent Claim
351 words
An apparatus for controlling the execution of a program in a multiprocessor system having a plurality of processors and a communication path interconnecting said plurality of processors, comprising: means for establishing a user process on a first one of said processors; said establishing means of said user process comprises means for creating a process control block; means for creating text and data and stack areas of memory to be identified by said process control block; said user process establishing a means further comprises means for building a channel table having data structures to identify communication channels; said user process establishing means further comprises means for building a link list to identify data structures in said channel table; said user process establishing means further comprises means for inserting a list pointer into said process control block to identify said link list; means for establishing a first stub process on a second one of said processors to be used only by siad user process during the execution of file and I/O and other operations by said program; said means for establishing said first stub process comprises means for creating a process control block for said first stub process; and means for creating a stack area of memory for said first stub process to be identified by said process control block for said first stub process; means for establishing a second stub process on a third one of said processors to be used only by said user process during the execution of file and I/O and other operations by said program; said step of establishing said second stub process comprise means for creating a process control block for said second stub process; and means for creating a stack area of memory for said second stub process to be identified by said process control block for said second stub process; means for setting up a first virtual communication channel between said user process and said first stub process via said communication path; and means for setting up a second virtual communication channel between said user process and said second stub process via said communication path.
Claim 12
Dependent Claim
55 words
The apparatus of claim 9 wherein said setting up means of said first virtual communication channel comprises means for loading information into one of said data structures of said table to identify said first communication channel; and means for loading a first channel pointer into said link list to identify said one of data structures.
Claim 13
Dependent Claim
53 words
The apparatus of claim 9 wherein said setting up means of said second channel comprises means for loading information into another one of said data structures to identify said second communication channel; and means for loading a second channel pointer into said link list to identify said other one of said data structures.
Claim 14
Dependent Claim
331 words
The apparatus of claim 10 wherein said first one of said processors maintains a user file table unique to said user process in said process control block for identifying files used by said user process and said user file table having a plurality of entries each designating one of said files of said user process and an inode table for identifying local files of said one of said processors and said inode table having a plurality of entries and a system file table having plurality of entries each identifying one of said entries of said inode table, said apparatus further comprises, in order to perform file operations for said user process with a remote file associated with said first stub process and a local file associated with said user process, comprises: means for accessing said local file by determining one of said entries in said user file table to identify said local file; means for using the contents of the determined entry of said user file table to determine an entry in said system file table used to identify said local file; means for using the contents of the determined entry of said system file table for determining an entry in said inode table to identify said local file; means for reading said local file in response to the contents of the determined entry in said inode file; means for accessing said remote file by determining another one of said entries in said user file table to identify said remote file; means for using the contents of the determined entry of said user file to determine said one of said data structures in said channel table thereby identifying said first virtual communication channel; means for transmitting a packet via said first virtual communication channel to said first stub process and said packet containing information requesting that said remote file be read; and means for reading said remote file by said first stub process in response to the information of said packet.
Claim 15
Dependent Claim
240 words
The apparatus of claim 12 wherein said second one of said processors maintains another user file table unique to said first stub process in another process control block maintained for said first stub process for identifying files used by said user process on said second one of said processors and said other user file table having a plurality of entries each designating one of a plurality remote files of said second one of said processors with said remote file being one of said files of said second one of said processors and said other inode table having a plurality of entries and another system file table having a plurality of entries each identifying one of said entries of said other inode table said reading means of said remote file comprises: means for accessing said remote file in response to said information of said packet by determining one of said entries in said other user file table identifying said remote file; means for using the contents of the determined entry of said other user file table to determine an entry in said other system file table used to identify said remote file; means for using the contents of the determined entry of said other system file table for determining an entry in said other inode table identifying said remote file; and means for reading said remote file in response to the contents of the determined entry in said other inode file.
Claim 16
Dependent Claim
112 words
The apparatus of claim 13 wherein said accessing means of said remote file by determining one of said entries in said user file table, comprises: means for maintaining a file descriptor number identifying said remote file in said user file table; means for indexing into said user file table with said file descriptor number to identify said one of said entries in said other user file table; said transmitting means of said packet comprises means for inserting into said information the file descriptor number; and said accessing means of said remote file comprises means for indexing into said other user file table with said file descriptor number to identify said remote file.
Claim 17
Dependent Claim
91 words
The apparatus of claim 12 wherein said user process performs one of said other operations in said second one of said processors and said apparatus further comprises: means for accessing said channel table to identify said one of said virtual communication channels; means for transmitting another packet via said first virtual communication channel to request that said one of said other operations be performed by said first stub process; and means for performing said requested one of said other operations in response to said other packet by said first stub process.
Claim 18
Dependent Claim
66 words
The apparatus of claim 15 where said accessing means of said channel table comprises: means for identifying said link list using said list pointer; means for using said first channel pointer from said link list to identify said one of said data structures; and means for utilizing the contents of said one of said data structures to identify said first communication channel via said channel table.