|
|
|
| United States Patent | 5485579 |
| Link to this page | http://www.wikipatents.com/5485579.html |
| Inventor(s) | Hitz; David (Sunnyvale, CA); Schwartz; Allan (Saratoga, CA); Lau; James (Cupertino, CA); Harris; Guy (Mountain View, CA) |
| Abstract | This is achieved in a computer system employing a multiple facility
operating system architecture. The computer system includes a plurality of
processor units for implementing a predetermined set of peer-level
facilities wherein each peer-level facility includes a plurality of
related functions and a communications bus for interconnecting the
processor units. Each of the processor units includes a central processor
and the stored program that, upon execution, provides for the
implementation of a predetermined peer-level facility of the predetermined
set of peer-level facilities, and for performing a multi-tasking interface
function. The multi-tasking interface function is responsive to control
messages for selecting for execution functions of the predetermined
peer-level facility and that is responsive to the predetermined peer-level
facility for providing control messages to request or to respond to the
performance of functions of another peer-level facility of the computer
system. The multi-tasking interface functions of each of the plurality of
processor units communicate among one another via the network bus. |
|
|
|
Title Information  |
|
|
|
|
|
Drawing from US Patent 5485579 |
|
|
Multiple facility operating system architecture |
|
|
|
|
|
| Publication Date |
January 16, 1996 |
|
|
|
|
|
| Filing Date |
April 8, 1994 |
|
|
|
|
|
|
|
|
|
|
|
| Parent Case |
This application is a Continuation of Ser. No. 07/875,585, filed Apr. 28,
1992, now abandoned, which is a continuation of Ser. No. 07/404,885, filed
Sep. 8, 1989, now abandoned. |
|
|
|
|
|
|
|
|
|
|
|
|
|
Title Information  |
|
|
References  |
|
|
| *references marked with an asterisk below are user-added references |
|
U.S. References |
|
|
| Add a new US reference: |
| | Reference | Relevancy | Comments | Reference | Relevancy | Comments | 5163131 Row 709/202 Nov,1992 |      Your vote accepted [0 after 0 votes] | | 5001628 Johnson 707/10 Mar,1991 |      Your vote accepted [0 after 0 votes] | | 4914583 Weisshaar 719/313 Apr,1990 |      Your vote accepted [0 after 0 votes] | | 4897781 Chang 707/201 Jan,1990 |      Your vote accepted [0 after 0 votes] | | 4887204 Johnson 707/10 Dec,1989 |      Your vote accepted [0 after 0 votes] | | 4845609 Lighthart 709/200 Jul,1989 |      Your vote accepted [0 after 0 votes] | | 4825354 Agrawal 707/10 Apr,1989 |      Your vote accepted [0 after 0 votes] | | 4819159 Shipley 714/19 Apr,1989 |      Your vote accepted [0 after 0 votes] | | 4803621 Kelly 711/5 Feb,1989 |      Your vote accepted [0 after 0 votes] | | 4783730 Fischer 710/5 Nov,1988 |      Your vote accepted [0 after 0 votes] | | 4780821 Crossley 718/100 Oct,1988 |      Your vote accepted [0 after 0 votes] | | 4766534 DeBenedictis 709/228 Aug,1988 |      Your vote accepted [0 after 0 votes] | | 4719569 Ludemann 710/241 Jan,1988 |      Your vote accepted [0 after 0 votes] | | 4710868 Cocke 710/316 Dec,1987 |      Your vote accepted [0 after 0 votes] | | 4685125 Zave 700/1 Aug,1987 |      Your vote accepted [0 after 0 votes] | | 4550368 Bechtolsheim 711/206 Oct,1985 |      Your vote accepted [0 after 0 votes] | | 4527232 Bechtolsheim 711/206 Jul,1985 |      Your vote accepted [0 after 0 votes] | | 4494188 Nakane 718/102 Jan,1985 |      Your vote accepted [0 after 0 votes] | | 4488231 Yu 710/48 Dec,1984 |      Your vote accepted [0 after 0 votes] | | 4459664 Pottier 718/105 Jul,1984 |      Your vote accepted [0 after 0 votes] | | 4456957 Schieltz 710/4 Jun,1984 |      Your vote accepted [0 after 0 votes] | | 4399503 Hawley 711/113 Aug,1983 |      Your vote accepted [0 after 0 votes] | | 4377843 Garringer 710/71 Mar,1983 |      Your vote accepted [0 after 0 votes] | | 4333144 Whiteside 718/102 Jun,1982 |      Your vote accepted [0 after 0 votes] | | 4156907 Rawlings 709/212 May,1979 |      Your vote accepted [0 after 0 votes] | | 4075691 Davis 710/64 Feb,1978 |      Your vote accepted [0 after 0 votes] | | |
|
|
|
|
U.S. References |
|
|
Foreign References |
|
|
|
|
|
|
Foreign References |
|
|
Other References |
|
|
|
|
|
|
Other References |
|
|
|
|
|
References  |
|
|
|
|
|
| Market Size |
|
Estimate the gross annual revenues of the relevant market
sector:
|
| | |
| |
|
|
| Market Share |
|
Estimate the percentage of the relevant market sector this invention will capture:
|
| | |
| |
|
|
| Reasonable Royalty |
|
What percentage of gross sales should the inventor or assignee be paid?
|
| | |
| |
|
|
|
Public's "Guesstimation" of Royalty Value
|
| Market Size | N/A | [No votes] | | x | Market Share | N/A | [No votes] | | x | Reasonable Royalty | N/A | [No votes] |
| | N/A | |
| |
|
|
|
|
|
|
|
|
|
|
|
|
Market Review  |
|
|
Technical Review  |
|
|
Claims  |
|
|
We claim:
1. A server system architecture providing for the transfer of server data in response to client requests, said architecture comprising:
a) host processor means for executing an operating system, said operating system including a plurality of components including an operating system kernel portion, a first messaging component and first instantiations of a communications component,
a filesystem component, and a storage access component;
b) communications processor means for executing a communications control program, said communications control program including a first subset of said operating system including a second messaging component and a second instantiation of said
communications component;
c) filesystem processor means for executing a filesystem control program, said filesystem control program including a second subset of said operating system including a third messaging component and a second instantiation of said filesystem
component; and
d) storage processor means for executing a storage access control program, said storage access control program including a third subset of said operating system including a fourth messaging component and a second instantiation of said storage
access component,
where said first, second and third subsets of said operating system are exclusive of said operating system kernel portion and where said second, third and fourth messaging components each include means for sending and receiving messages with
another of said second, third and fourth messaging components.
2. The architecture of claim 1 wherein said communications control program is responsive to a predetermined client request, wherein said second instantiation of said communications component includes means for resolving said predetermined client
request into a predetermined filesystem request, said second instantiation of said communications component being coupled to said second messaging component to transfer said predetermined filesystem request, said filesystem component being coupled to
said third messaging component to transfer said predetermined filesystem request, said second messaging component being coupled to said third messaging component to provide a first predetermined message identifying said predetermined filesystem request.
3. The architecture of claim 2 wherein said second instantiation of said filesystem component includes means for resolving said predetermined filesystem request into a predetermined storage access request, said storage access component being
coupled to said fourth messaging component to receive said predetermined storage access request, said third messaging component being coupled to said fourth messaging component to provide a second predetermined message identifying said predetermined
storage access request.
4. The architecture of claim 3 wherein said predetermined storage access request identifies predetermined data, said architecture further comprising memory means for storing data, said filesystem component providing for the allocation of a
predetermined data space within said memory means for storing said predetermined data, said storage access component providing for the transfer of data with respect to said predetermined data space in response to said predetermined storage access
request.
5. The architecture of claim 4 wherein said communications component provides for the transfer of data with respect to said predetermined data space in response to said predetermined filesystem request.
6. A network file server responsive to client request received via a network, said network file server comprising:
a) host processor means for executing an operating system, said operating system including an operating system kernel portion, a first messaging portion, and first instantiations of a first network communications portion and a first filesystem
portion, said operating system kernel portion being coupled to said first instantiation of said first network communications portion through a first interface, to said first instantiation of said first filesystem portion through a second interface;
b) network processor means for executing a peer-level facility including a second communications portion and a second messaging portion, said second network communications portion being a second instantiation of said first network communications
portion and said second messaging portion being coupled to and providing a third interface to said second network communications portion substantially equivalent to said first interface, said network communications portion, in response to a client
request, generating and providing a filesystem request to said third interface, said second messaging means including means, responsive to said filesystem request, for sending a filesystem request message; and
c) filesystem processor means for executing a peer-level facility including a second filesystem portion and a third messaging portion, said second filesystem portion being a second instantiation of said first filesystem portion and said third
messaging portion being coupled to and providing a fourth interface to said second filesystem portion substantially equivalent to said second interface, said third messaging portion including means for receiving said filesystem request message
autonomously with respect to said host means.
7. The network file server of claim 6 further comprising means, coupled to said network processor means, for storing data, said third messaging portion, in response to said filesystem request message, providing said filesystem request to said
fourth interface, said filesystem portion including means for transferring data to or from said storing means in response to said filesystem request.
8. A network file server comprising:
a) storage interface means for processing data storage requests to provide for the transfer of data with respect to a rotating disk data storage medium;
b) filesystem interface means for processing filesystem requests to provide said data storage requests to said storage interface means;
c) network interface means for processing data packets transferred through a local area network to provide said filesystem requests to said filesystem interface means and to provide for the transfer of data with respect to said local area
network; and
d) means for coupling said storage interface means, said filesystem interface means, and said network interface means, said coupling means providing a direct data transfer path between said storage interface means and said network interface
means, and said coupling means providing a direct filesystem request transfer path between said network interface means and said filesystem interface means and a direct data storage request path between said filesystem interface means and said storage
interface means.
9. A network file server comprising:
a) storage interface means for processing data storage requests to provide for the transfer of data with respect to a rotating disk data storage medium;
b) filesystem interface means for processing filesystem requests to provide said data storage requests to said storage interface means;
c) network interface means for processing data packets transferred through a local area network to provide said filesystem requests to said filesystem interface means and to provide for the transfer of data with respect to said local area
network; and
d) means for coupling said storage interface means, said filesystem interface means, and said network interface means,
said coupling means providing a direct data transfer path between said storage interface means and said network interface means, and
said coupling means providing a direct filesystem request transfer path between said network interface means and said filesystem interface means and a direct data storage request path between said filesystem interface means and said storage
interface means,
said direct data transfer path including a data buffer coupled between said storage interface means and said network interface means through which said storage interface means and said network interface means directly exchange data transferred to
and from said local area network, said direct filesystem request transfer path including a first command path coupled directly between said network interface means and said filesystem interface means to pass filesystem commands requesting the transfer of
data between said storage interface means and said network interface means, said direct data storage request path including a second command path coupled directly between said filesystem interface means and said storage interface means to pass storage
system commands requesting the transfer of data between said storage interface means and said network interface means.
10. A network file server system couplable to a network for the exchange of network requests including first and second network request types, the set of first and second network request types corresponding to a set of network requests that a
network operating system can responsively perform, the network operating system including a plurality of facilities that conventionally participate in performing the set of network requests, said network file server system comprising:
a) storage means, including a storage facility of a network operating system, for transferring data with respect to a data storage medium in response to a storage request;
b) filesystem means, including a filesystem facility of a network operating system, for generating storage requests in response to file requests;
c) network means, including a network facility of said network operating system, for exchanging said first and second types of network requests with a network, said network facility including means for generating file requests in response to
network requests of said first set of network requests, said network means providing said file requests exclusively to said filesystem means.
11. A network file server system couplable to a network for the exchange of network requests, said network file server system comprising:
a) storage means, including a storage facility of a network operating system, for transferring data with respect to a data storage medium in response to a storage request;
b) filesystem means, including a filesystem facility of said network operating system, for generating storage requests in response to file requests;
c) network means, including a network facility of said network operating system, for generating file requests in response to network requests;
d) host means, including a host facility of said network operating system, for executing an operating system, and
e) communication means for coupling said storage, filesystem, network and host facilities to enable the transfer of a first set of said storage and file requests between said storage, filesystem, and network facilities and exclusive of the
transfer of said first set of storage and file requests to or from said host facility, and to enable the transfer of a second set of said storage and file requests between said network, host filesystem and storage facilities.
12. A network file server system couplable to a network for the exchange of network requests, said network file server system comprising:
a) storage means, including a storage facility of a network operating system, for transferring data with respect to a data storage medium in response to a storage request;
b) filesystem means, including a filesystem facility of said network operating system, for generating storage requests in response to file requests;
c) network means, including a network facility of said network operating system, for generating file requests in response to network requests;
d) host means, including a host facility of said network operating system, for executing an operating system; and
e) bus means, responsive to said storage, filesystem, network and host means, for selectively transferring said network, file and storage requests between predetermined combinations of said storage, filesystem, network and host facilities, a
first selectable transfer combination including said network, filesystem and storage facilities and excluding said host facility,
whereby said storage, filesystem and network facilities directly communicate with one another and selectively communicate with said host facility in response to network requests of a predetermined type.
13. A network file server system couplable to a network for the exchange of network requests, said network file server system comprising:
a) storage means, including a storage facility of a network operating system, for transferring data with respect to a data storage medium in response to a storage request;
b) filesystem means, including a filesystem facility of said network operating system, for generating storage requests in response to file requests;
c) network means, including a network facility of said network operating system, for generating file requests in response to network requests;
d) host means, including a host facility of said network operating system, for executing an operating system, and
e) a transfer path coupling said storage, filesystem and network means, said transfer path providing for the transfer of storage requests, file requests and data among said storage, filesystem and network facilities to enable said storage,
filesystem and network means to operate autonomously relative to said host facility in responding to network requests.
14. A method for performing a network file server function through a partial operating system including a network facility coupled to a local area network, a filesystem facility and a storage facility coupled to a data storage disk, and request
and data transfer paths intercoupling said network, filesystem and storage facilities, said method comprising the steps of:
a) receiving a network filesystem request from said local area network by said network facility;
b) communicating said network filesystem request directly to said filesystem facility via a first request transfer path;
c) processing said network filesystem request by said filesystem facility to communicate a data storage request directly to said storage facility via a second request transfer path;
d) processing said data storage request by said storage facility to retrieve data from said data storage disk and to directly transfer said data to said network facility via a data transfer path; and
e) transferring said data received by said network facility to said local area network.
15. A method for performing a network file server function through a partial operating system including a network facility coupled to a local area network, a filesystem facility and a storage facility coupled to a data storage disk, and request
and data transfer paths intercoupling said network, filesystem and storage facilities, said method comprising the steps of:
a) receiving a network filesystem request and data from said local area network by said network facility;
b) communicating said network filesystem request directly to said filesystem facility via a first request transfer path;
c) processing said network filesystem request by said filesystem facility to communicate a data storage request directly to said storage facility via a second request transfer path;
d) transferring said data received by said network facility directly to said storage facility via a data transfer path; and
e) processing said data storage request by said storage facility to receive and transfer said data to said data storage disk.
16. The method of claim 14 or 15 wherein the direct transfers of said requests and said data are characterized as being performed in the absence of a step of transferring said requests and said data through a host facility.
17. The method of claim 14 wherein the direct transfer of said data from said storage facility to said network facility comprises the steps of:
a) transferring said data to a memory buffer by said storage facility; and
b) transferring said data from said memory buffer by said network facility.
18. The method of claim 15 wherein the direct transfer of said data from said network facility to said storage facility comprises the steps of:
a) transferring said data to a memory buffer by said network facility; and
b) transferring said data from said memory buffer by said storage facility.
19. The method of claim 14, 15, 17 or 18 wherein the step of processing said network filesystem request by said filesystem facility excludes a step of processing said network filesystem request through a virtual filesystem. |
|
|
|
|
Claims  |
|
|
Description  |
|
|
CROSS-REFERENCE TO RELATED APPLICATIONS
The present application is related to the following U.S. patent applications:
1. PARALLEL I/O NETWORK FILE SERVER ARCHITECTURE, inventors: John Row, Larry Boucher, William Pitts, and Steve Blightman, U.S. Pat. No. 5,163,131, issued Nov. 10, 1992 and U.S. Pat. No. 5,355,453, issued Oct. 11, 1994;
2. ENHANCED VMEBUS PROTOCOL UTILIZING SYNCHRONOUS HANDSHAKING AND BLOCK MODE DATA TRANSFER, inventor: Daryl D. Starr, U.S. Pat. No. 5,388,231, issued Feb. 7, 1995;
3. HIGH SPEED, FLEXIBLE SOURCE/DESTINATION DATA BURST DIRECT MEMORY ACCESS CONTROLLER, invented by Daryl Starr, Stephen Blightman and Larry Boucher, U.S. Pat. No. 5,175,825, issued Dec. 29, 1992.
The above applications are all assigned to the assignee of the present invention and are all expressly incorporated herein by reference.
1. Field of the Invention
The present invention is generally related to operating system software architectures and, in particular, to a multi-processor operating system architecture based on multiple independent multi-tasking process kernels.
2. Background of the Invention
The desire to improve productivity, in circumstances involving computers, is often realized by an improvement in computing throughput. Conventional file servers are recognized as being a limiting factor in the potential productivity associated
with their client workstations.
A file server is typically a conventional computer system coupled through a communications network, such as Ethernet, to client workstations and potentially other workstation file servers. The file server operates to provide a common resource
base to its clients. The primary resource is typically the central storage and management of data files, but additional services including single point execution of certain types of programs, electronic mail delivery and gateway connection to other file
servers and services are generally also provided.
The client workstations may utilize any of a number of communication network protocols to interact with the file server. Perhaps the most commonly known, if not most widely used, protocol suite is TCP/IP. This protocol suite and its supporting
utility programs, provide for the creation of logical communication channels between multiple client workstations and a file server. These communication channels are generally optimized for point-to-point file transfers, i.e., multi-user file access
control or activity administration is not provided. In addition, the supporting utility programs for these protocols impose a significant degree of user interaction in order to initiate file transfers as well as the entire responsibility to manage the
files once transferred.
Recently, a number of network connected remote file system mechanisms has been developed to provide clients with a single consistent view of a file system of data files, even though portions of the file system may be physically distributed
between a client's own local storage, one or more file servers or even other client workstations. These network file system mechanisms operate to hide the distinction between local data files and data files in the remotely distributed portions of the
file system accessible only through the network. The advantages of such file system mechanisms include retention of multi-user access controls over the data files physically present on the server, to the extent intrinsically provided by a server, and a
substantial simplification of a client workstation's view and productive utilization of the file system.
Two implementations of a network file system mechanism are known as the network file system (NFS), available from Sun Microsystems, Inc., and the remote file sharing (RFS) system available from American Telephone and Telegraph, Inc.
The immediate consequence of network file system mechanism is that they have served to substantially increase the throughput requirements of the file server itself, as well as that of the communications network. Thus, the number of client
workstations that can be served by a single file server must be balanced against the reduction in productivity resulting from increased file access response time and the potentially broader effects of a degradation in communication efficiency due to the
network operating at or above its service maximum.
An increase in the number of client workstations is conventionally handled by the addition of another file server, duplicating or possibly partitioning the file system between the file servers, and providing a dedicated high bandwidth network
connection between the file servers. Thus, another consequence of the limited throughput of conventional file servers is a greater cost and configuration complexity of the file server base in relation to the number of client workstations that can be
effectively serviced.
Another complicating factor, for many technical and practical reasons, is a requirement that the file server be capable of executing the same or a similar operating system as the attached client workstations. The reasons include the need to
execute maintenance and monitoring programs on the file server, and to execute programs, such as database servers, that would excessively load the communications network if executed remotely from the required file data. Another often overlooked
consideration is the need to avoid the cost of supporting an operating system that is unique to the file server.
Given these considerations, the file server is typically only a conventional general purpose computer with an extended data storage capacity and communications network interface that is little different from that present on each of the client
workstations. Indeed, many file servers are no more than physically repackaged workstations. Unfortunately, even with multiple communications network interfaces, such workstation-based computers are either incapable or inappropriate, from a
cost/performance viewpoint, to perform as a single file server to a large group of client workstations.
The throughput offered by conventional general purpose computers, considered in terms of their sustained file system facility data transfer bandwidth potential, is limited by a number of factors, though primarily due to the general purpose nature
of their design. Computer system design is necessarily dependent on the level and nature of the operating system to be executed, the nature of the application load to be executed, and the degree of homogeneity of applications. For example, a computer
system utilized solely for scientific computations may forego an operating system entirely, may be restricted to a single user at a time, and employ specialized computation hardware optimized for the anticipated highly homogeneous applications.
Conversely, where an operating system is required, the system design typically calls for the utilization of dedicated peripheral controllers, operated under the control of a single processor executing the operating system, in an effort to reduce the
peripheral control processing overhead of the system's single primary processor. Such is the design of most conventional file servers.
A recurring theme in the design of general purpose computer systems is to increase the number of active primary processors. In the simplest analysis, a linear improvement in the throughput performance of the computer system might be expected.
However, utilization of increasing numbers of primary processors is typically thwarted by the greater growth of control overhead and contention for common peripheral resources. Indeed, the net improvement in throughput is often seen to increase slightly
before declining rapidly as the number of processors is increased.
SUMMARY OF THE INVENTION
Therefore, a general purpose of the present invention is to provide an operating system architecture for the control of a multi-processor system to provide an efficient, expandable computer system for servicing network file system requests.
This is achieved in a computer system employing a multiple facility operating system architecture. The computer system includes a plurality of processor units for implementing a prede | | |