Claims Analysis
Total Claims: 9
Claim 1
Independent Claim
158 words
In a logic program in which processes suspend upon a set of variables while waiting for one of them to be instantiated, a method of controlling enquenuing of a suspended process comprising the steps of: forming a suspension list for each variable on which at least one process is suspended, said suspension list comprising a record for each process that is suspended on that variable, providing in each record in each suspension list a pointer to a memory location containing an address to information concerning said process, when one of said variables is instantiated, using a pointer in a record of the suspension list for the instantiated variable to identify a process suspended on that variable, enqueuing said identified process onto a process queue for subsequent reduction of the process, and preventing another identification of the same process when a variable associated with another suspension list is later instantiated, thereby preventing a second enqueuing of the identified process.
Claim 2
Dependent Claim
158 words
In a logic program in which processes suspend upon a set of variables while waiting for one of them to be instantiated, a method of controlling enquenuing of a suspended process comprising the steps of: forming a suspension list for each variable on which at least one process is suspended, said suspension list comprising a record for each process that is suspended on that variable, providing in each record in each suspension list a pointer to a memory location containing an address to information concerning said process, when one of said variables is instantiated, using a pointer in a record of the suspension list for the instantiated variable to identify a process suspended on that variable, enqueuing said identified process onto a process queue for subsequent reduction of the process, and preventing another identification of the same process when a variable associated with another suspension list is later instantiated, thereby preventing a second enqueuing of the identified process.
Claim 3
Dependent Claim
24 words
The method of claim 1 wherein another identification of the same process is preventing by resetting the address to said information concerning the process.
Claim 4
Independent Claim
165 words
A method of suspending and reactivating processes in a logic program in which processes to be reduced suspend upon at least one variable, said method comprising the steps of: forming a suspension list for each variable on which at least one process is suspended, said suspension list comprising a record for each process that is suspended on that variable, providing in each record in each suspension list a pointer to an indirect address to information concerning said process, and when one of said variables is instantiated, reactivating each process suspended on that variable, said method of reactivating comprising the steps of: using a pointer in a record of the suspension list for the instantiated variable to identify the process suspended on said variable, enqueuing said identified process onto a process queue for subsequent reduction of the process, and preventing another identification of the same process when a variable associated with another suspension list is later instantiated, thereby preventing a second enqueuing of the identified process.
Claim 5
Independent Claim
165 words
A method of suspending and reactivating processes in a logic program in which processes to be reduced suspend upon at least one variable, said method comprising the steps of: forming a suspension list for each variable on which at least one process is suspended, said suspension list comprising a record for each process that is suspended on that variable, providing in each record in each suspension list a pointer to an indirect address to information concerning said process, and when one of said variables is instantiated, reactivating each process suspended on that variable, said method of reactivating comprising the steps of: using a pointer in a record of the suspension list for the instantiated variable to identify the process suspended on said variable, enqueuing said identified process onto a process queue for subsequent reduction of the process, and preventing another identification of the same process when a variable associated with another suspension list is later instantiated, thereby preventing a second enqueuing of the identified process.
Claim 6
Dependent Claim
19 words
The method of claim 3 wherein another identification of the same process is prevented by resetting said indirect address.
Claim 7
Independent Claim
174 words
A method of suspending and reactivating processes in a logic program in which processes to be reduced using a plurality of clauses suspend upon at least one variable which is not instantiated, said method comprising the steps of: dequeuing a process from a process queue; attempting to reduce a process using the clauses; forming a suspension list for each variable which is not instantiated, said suspension list comprising a record for each process that is suspended on that variable; providing in each record a printer to an indirect address to information concerning said process; when a variable associated with a suspension list is instantiated, reactivating said identified process, said method of reactivating comprising the steps of: using a pointer in a record of the suspension list to identify the suspended process; enqueuing said identified process onto a process queue for subsequent reduction of the process; and preventing another identification of the same process when a variable associated with another suspension list is later instantiated, whereby a second enqueuing of the identified process is prevented.
Claim 8
Independent Claim
174 words
A method of suspending and reactivating processes in a logic program in which processes to be reduced using a plurality of clauses suspend upon at least one variable which is not instantiated, said method comprising the steps of: dequeuing a process from a process queue; attempting to reduce a process using the clauses; forming a suspension list for each variable which is not instantiated, said suspension list comprising a record for each process that is suspended on that variable; providing in each record a printer to an indirect address to information concerning said process; when a variable associated with a suspension list is instantiated, reactivating said identified process, said method of reactivating comprising the steps of: using a pointer in a record of the suspension list to identify the suspended process; enqueuing said identified process onto a process queue for subsequent reduction of the process; and preventing another identification of the same process when a variable associated with another suspension list is later instantiated, whereby a second enqueuing of the identified process is prevented.
Claim 9
Dependent Claim
19 words
The method of claim 5 wherein another identification of the same process is prevented by resetting said indirect address.