Claims Analysis
Total Claims: 20
Claim 1
Independent Claim
198 words
A software implemented method for accessing shared data of a computer system including a plurality of workstations, each workstation including a processor, a memory having addresses, and an input/output interface connected to each other by a bus, the input/output interfaces connecting the workstations to each other by a network, comprising the steps of: designating addresses of the memories as virtual shared addresses to store the shared data; allocating a portion of the virtual shared addresses to store the shared data as a plurality of blocks accessible by any of the processors, each block including an integer number of lines; instrumenting a particular program to request an exclusive copy of the block if the particular program includes a store instruction which is to store shared data in the block; executing additional store instructions of the particular program while the request for the exclusive copy of the block is pending, and noting addresses of data of the requested block modified by the additional instructions; in response to receiving the exclusive copy of the block, merging the modified data stored at the noted addresses with the shared data of the exclusive copy of the block to enable lock-up free data sharing.
Claim 2
Dependent Claim
198 words
A software implemented method for accessing shared data of a computer system including a plurality of workstations, each workstation including a processor, a memory having addresses, and an input/output interface connected to each other by a bus, the input/output interfaces connecting the workstations to each other by a network, comprising the steps of: designating addresses of the memories as virtual shared addresses to store the shared data; allocating a portion of the virtual shared addresses to store the shared data as a plurality of blocks accessible by any of the processors, each block including an integer number of lines; instrumenting a particular program to request an exclusive copy of the block if the particular program includes a store instruction which is to store shared data in the block; executing additional store instructions of the particular program while the request for the exclusive copy of the block is pending, and noting addresses of data of the requested block modified by the additional instructions; in response to receiving the exclusive copy of the block, merging the modified data stored at the noted addresses with the shared data of the exclusive copy of the block to enable lock-up free data sharing.
Claim 3
Dependent Claim
47 words
The method of claim 1 further comprising: executing additional load instructions of the particular program while the request for the exclusive copy of the block is pending, as long as the data being loaded is from a valid line or a valid part of a pending line.
Claim 4
Independent Claim
114 words
A system for accessing shared data, the system comprising: a first memory, including a first block of data having a first plurality of entries, each entry having a corresponding address; a second memory, including a second block of data having a second plurality of entries, each entry having a corresponding address; and a processor configured to: request a copy of the first block of data, modify a particular one of the second plurality of entries in the second block which corresponds to a particular one of the first plurality of entries in the first block; and merge the particular one of the second entries with the requested copy of the first block of data.
Claim 5
Independent Claim
114 words
A system for accessing shared data, the system comprising: a first memory, including a first block of data having a first plurality of entries, each entry having a corresponding address; a second memory, including a second block of data having a second plurality of entries, each entry having a corresponding address; and a processor configured to: request a copy of the first block of data, modify a particular one of the second plurality of entries in the second block which corresponds to a particular one of the first plurality of entries in the first block; and merge the particular one of the second entries with the requested copy of the first block of data.
Claim 6
Dependent Claim
25 words
The system of claim 3, wherein the processor records the address of the modified particular one of the second plurality of entries prior to merging.
Claim 7
Dependent Claim
38 words
The system of claim 3, further comprising: a third memory; and a set of instructions stored on the third memory, the set of instructions having a particular instruction that directs data to be stored in the first block.
Claim 8
Dependent Claim
33 words
The system of claim 3, wherein the processor is configured to modify the particular one of the second plurality of entries while the request for the copy of the first block is pending.
Claim 9
Dependent Claim
28 words
The system of claim 3, wherein merging results in the particular one of the second entries merging with the corresponding particular one of the first plurality of entries.
Claim 10
Dependent Claim
23 words
The system of claim 3, further comprising: a virtual memory formed of at least portions of the first memory and the second memory.
Claim 11
Dependent Claim
45 words
The system of claim 3, wherein the processor is a first processor and the first processor is connected to the second memory, the system further comprising: a second processor connected to the first memory; and a network connecting the first processor and the second processor.
Claim 12
Dependent Claim
21 words
The system of claim 3, wherein the processor is configured to request an exclusive copy of the first block of data.
Claim 13
Dependent Claim
25 words
The system of claim 3, wherein the second block in the second memory is a local copy of the first block in the first memory.
Claim 14
Dependent Claim
55 words
The system of claim 3, further comprising: a third memory; and a set of instructions stored on the third memory, the set of instructions having a particular instruction that directs data to be loaded from one of the first block and the second block; wherein the data to be loaded has a valid current status.
Claim 15
Independent Claim
112 words
A method for accessing shared data stored on a plurality of computers, including a first computer having a first memory for storing a first block of data having a plurality of entries including a first entry and a second computer having a second memory for storing a second block of data having a second entry, the method comprising the steps of: requesting a copy of the first block of data; modifying the second entry in the second block of data; recording the address of the second entry substantially simultaneous with the step of modifying; and merging the first block of data with at least a portion of the second block of data.
Claim 16
Independent Claim
112 words
A method for accessing shared data stored on a plurality of computers, including a first computer having a first memory for storing a first block of data having a plurality of entries including a first entry and a second computer having a second memory for storing a second block of data having a second entry, the method comprising the steps of: requesting a copy of the first block of data; modifying the second entry in the second block of data; recording the address of the second entry substantially simultaneous with the step of modifying; and merging the first block of data with at least a portion of the second block of data.
Claim 17
Dependent Claim
30 words
The method of claim 13, wherein the step of modifying is responsive to an instruction executed while the request for the copy of the first block of data is pending.
Claim 18
Dependent Claim
19 words
The method of claim 13, wherein the second plurality of entries initially corresponds with the first plurality of entries.
Claim 19
Dependent Claim
26 words
The method of claim 13, wherein the second entry located in the second block data merges with a corresponding one of the first plurality of entries.
Claim 20
Dependent Claim
28 words
The method of claim 13, wherein the step of requesting a copy of the first block of data requests an exclusive copy of the first block of data.