P
US5884046AExpiredUtilityPatentIndex 98

Apparatus and method for sharing data and routing messages between a plurality of workstations in a local area network

Assignee: PLURIS INCPriority: Oct 23, 1996Filed: Oct 23, 1996Granted: Mar 16, 1999
Est. expiryOct 23, 2016(expired)· nominal 20-yr term from priority
Inventors:ANTONOV VADIM
H04L 49/351H04L 49/15H04L 49/25G06F 16/10
98
PatentIndex Score
403
Cited by
32
References
23
Claims

Abstract

A parallel local area network server is capable of sharing data and routing messages between workstations in a local area network. An apparatus according to the invention includes a plurality of processing nodes, each constituted by at least a single data processor, and an interconnect by which the processing nodes communicate. A plurality of mass storage devices are associated with the processing nodes, and a plurality of workstation computers are connected to the processing nodes. Each processing node includes is adapted to route messages to workstation computers associated with other processing nodes and to access data located both locally and at data storage devices associated with other processing nodes. A method according to the invention includes receiving a message at a first processing node and determining if the message is directed to a workstation computer at a second processing node and sending the message to the second processing node for subsequent delivery to the workstation computer. If the message includes a request for a specific data, a second determination is made if the specific data is in the local cache memory of the first processing node. If the specific data is not in the local cache memory, determination is made if the specific data is in a mass storage device at the first processing node, and if so the mass storage device is accessed to obtain the specific data. If the specific data is not in the local mass storage device, a message is forwarded to a remote processing node to request the specific data. Once this data is obtained, it is sent to the requesting workstation computer. The network server system according to the invention thus provides the functions of a file server and a local area network switch, thereby eliminating performance limitations associated with overloaded connections between file servers and LAN switches in conventional local area networks.

Claims

exact text as granted — not AI-modified
I claim: 
     
       1. An apparatus for sharing data and routing messages between workstations in a local area network, comprising: at least first and second mass data storage devices adapted to store shared data;   an interconnect; and   at least first and second processing nodes respectively associated with said first and second mass data storage devices and adapted to communicate with each other via said interconnect, said first and second processing nodes further adapted to respectively communicate with first and second workstations via first and second links that are independent of said interconnect and each other,   wherein when said first workstation requests said shared data and said shared data is not present in said first processing node, said first processing node is adapted to request said shared data from said second processing node via said interconnect, and said second processing node is adapted to supply said shared data via said interconnect,   and wherein said first processing node is further adapted to forward a message addressed to said second workstation from said first workstation to said second processing node via said interconnect.   
     
     
       2. An apparatus as defined in claim 1, wherein the total shared data of said local area network is divided between at least first and second data sets, said first data set being different than said second data set, said first and second mass storage devices respectively storing said first and second data sets. 
     
     
       3. An apparatus as defined in claim 2, wherein said first and second data sets are substantially the same size. 
     
     
       4. An apparatus as defined in claim 1, wherein said interconnect has an aggregate capacity proportional to the number of said processing nodes. 
     
     
       5. An apparatus as defined in claim 4, wherein said interconnect is one of a hypercube, a fat tree, and a butterfly switch. 
     
     
       6. An apparatus as defined in claim 1, wherein said first processing node is further adapted to communicate with a third workstation via a third link independent of said first and second links and said interconnect and to forward a second message addressed to said third workstation from said first workstation to said third workstation via said third link. 
     
     
       7. An apparatus as defined in claim 1, wherein said first and second processing nodes are adapted to communicate with each other via said interconnect at a first speed, and are adapted to respectively communicate with said first and second workstations at speeds lower than said first speed. 
     
     
       8. An apparatus as defined in claim 1, wherein said first processing node is further adapted to communicate with said second workstation via a secondary link independent of said first and second links and said interconnect when said second link and/or said second processing node is inoperative.   
     
     
       9. An apparatus as defined in claim 1, wherein said first processing node includes a database describing a correspondence between said processing nodes and said workstations, said first processing node adapted to forward said message addressed to said second workstation in accordance with said database. 
     
     
       10. An apparatus for sharing data and routing messages between workstations in a local area network, comprising: at least first and second mass data storage devices adapted to store shared data;   an interconnect; and   at least first and second processing nodes respectively associated with said first and second mass data storage devices and adapted to communicate with each other via said interconnect, said first and second processing nodes further adapted to respectively communicate with first and second workstations via first and second links that are independent of said interconnect and each other,   wherein when said first workstation requests said shared data and said shared data is not present in said first processing node, said first processing node is adapted to request said shared data from said second processing node via said interconnect, and said second processing node is adapted to supply said shared data via said interconnect,   and wherein said first processing node is further adapted to forward a message addressed to said second workstation from said first workstation to said second processing node via said interconnect,   and wherein said first and second processing nodes include first and second cache memories, said first processing node storing a copy of said shared data in said first cache memory when said second processing node supplies said shared data.   
     
     
       11. An apparatus as defined in claim 10, wherein said first processing node checks said first cache memory and said first mass storage device before retrieving said shared data from said second processing node. 
     
     
       12. An apparatus as defined in claim 10, wherein said second processing node retrieves said shared data from said second mass storage device and stores a copy of said shared data in said second cache memory when said first processing node requests said shared data and said shared data is not present in said second cache memory. 
     
     
       13. An apparatus as defined in claim 2, wherein said first processing node supplies said shared data to said first workstation directly when said shared data is present in said first mass storage device or said first cache memory. 
     
     
       14. An apparatus for sharing data and routing messages between workstations in a local area network, comprising: at least first and second mass data storage devices adapted to store shared data;   an interconnect; and   at least first and second processing nodes respectively associated with said first and second mass data storage devices and adapted to communicate with each other via said interconnect, said first and second processing nodes further adapted to respectively communicate with first and second workstations via first and second links that are independent of said interconnect and each other,   wherein when said first workstation requests said shared data and said shared data is not present in said first processing node, said first processing node is adapted to request said shared data from said second processing node via said interconnect, and said second processing node is adapted to supply said shared data via said interconnect,   and wherein said first processing node is further adapted to forward a message addressed to said second workstation from said first workstation to said second processing node via said interconnect,   and wherein the total shared data of said local area network is divided between at least first and second data sets, said first data set being different than said second data set, said first and second mass storage devices respectively storing said first and second data sets,   and wherein said first and second processing nodes include first and second cache memories, said first processing node storing a copy of said shared data in said first cache memory when said second processing node supplies said shared data.   
     
     
       15. A method for sharing data and routing messages between workstations in a local area network, comprising: receiving a message at a first processing node from a first workstation that communicates with said first processing node via a first link;   determining if said message is addressed to a second workstation that communicates with a second processing node via a second link different than said first link and forwarding said message to said second processing node via an interconnect different than said first and second links if so addressed;   determining if said message includes a request for shared data, and if so, determining if said shared data is present in said first processing node and retrieving said shared data if said shared data is present;   retrieving said shared data from said second processing node via said interconnect if said message includes a request for shared data and said shared data is not present in said first processing node; and   sending said shared data to said first workstation via said first link.   
     
     
       16. A method as defined in claim 1, further comprising: dividing the total shared data of said local area network between at least first and second data sets, said first data set being different than said second data set;   respectively storing said first and second data sets first and second mass storage devices; and   respectively associating said first and second mass storage devices with said first and second processing nodes.   
     
     
       17. A method as defined in claim 15, further comprising: determining if said message is addressed to a third workstation that communicates with said first processing node via a third link different than said first and second links and said interconnect and sending said message to said third workstation via said third link if so addressed.   
     
     
       18. A method for sharing data and routing messages between workstations in a local area network, comprising: receiving a message at a first processing node from a first workstation associated with said first processing node;   determining if said message is addressed to a second workstation associated with a second processing node and forwarding said message to said second processing node if so addressed;   determining if said message includes a request for shared data, and if so, determining if said shared data is present in said first processing node and retrieving said shared data if said shared data is present;   retrieving said shared data from said second processing node if said message includes a request for shared data and said shared data is not present in said first processing node;   sending said shared data to said first workstation; and   storing a local copy of said shared data in said first processing node after said step of retrieving said shared data from said second processing node.   
     
     
       19. A method as defined in claim 18, further comprising: determining if said message includes a request to update shared data, and if so, updating said shared data if said shared data belongs to said first processing node;   forwarding said update request to said second processing node if said shared data does not belong to said first processing node, said second processing node updating said shared data;   invalidating said local copy of said shared data in said first processing node if said shared data does not belong to said first processing node.   
     
     
       20. A method for sharing data between workstations in a local area network, said method comprising: dividing shared data of said local area network into a first data set and a second data set different than said first data set;   respectively storing said first and second data sets in first and second mass storage devices;   respectively associating first and second processing nodes with said first and second mass storage devices;   respectively adapting said first and second processing nodes to communicate with first and second workstations via independent first and second links;   adapting said first and second processing nodes to communicate with each other via an interconnect independent of said first and second links; and   adapting said first processing node to request certain of said shared data from said second processing node via said interconnect, and adapting said second processing node to supply said certain shared data via said interconnect, when said first workstation requests said certain shared data and said certain shared data is not present in said first processing node; and   adapting said first processing node to forward a message addressed to said second workstation from said first workstation to said second processing node via said interconnect.   
     
     
       21. An apparatus for sharing shared data and routing messages between a plurality of workstations in a local area network, comprising: a massively parallel computer comprising: an interconnect; and   a plurality of processing nodes, at least two of said processing nodes each including: local data accessing means for accessing a local set of said shared data;   high speed means for interfacing with other of said processing nodes via said interconnect;   low speed means independent of said interconnect for interfacing with a respective one of said workstations;   local data supplying means, responsive to a local request for certain of said shared data from said respective workstation, for retrieving said certain shared data from said local set via said local data accessing means when said local set includes said certain shared data and for supplying said certain shared data to said respective workstation via said low speed means;   remote data requesting means, responsive to said local request for said certain shared data, for requesting said certain shared data from said other processing nodes via said high speed means when said local set does not include said certain shared data;   remote data supplying means, responsive to a remote request from another of said processing nodes, for forwarding said certain shared data via said high speed means when said local set includes said certain shared data; and   messaging means, responsive to a message from said respective workstation addressed to another of said workstations, for forwarding said message to said other processing nodes via said high speed means.       
     
     
       22. An apparatus as defined in claim 2, further comprising: a plurality of mass storage devices adapted to store shared data,   wherein said local data accessing means includes means for interfacing with at least one of said mass storage devices, said local set of shared data including shared data stored in said at least one mass storage device.   
     
     
       23. An apparatus as defined in claim 21, wherein at least one other of said processing nodes includes: high speed means for interfacing with other of said processing nodes via said interconnect;   low speed means for interfacing with a respective one of said workstations;   shared data requesting means, responsive to all requests for said shared data from said respective workstation, for requesting said certain shared data from said other processing nodes via said high speed means; and   messaging means, responsive to a message from said respective workstation addressed to another of said workstations, for forwarding said message to said other processing nodes via said high speed means.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.