WikiPatents - Community Patent Review
Create Free Account  |  License or Sell Your Patent  |  WikiPatents Marketplace  |  WikiPatents Blog
Username:  Password:  
    
Advanced Search
Multiple facility operating system architecture    
United States Patent5485579   
Link to this pagehttp://www.wikipatents.com/5485579.html
Inventor(s)Hitz; David (Sunnyvale, CA); Schwartz; Allan (Saratoga, CA); Lau; James (Cupertino, CA); Harris; Guy (Mountain View, CA)
AbstractThis 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 Submit all comments and votes
 
Patent Text Patent PDF Print Page Summary File History
Plain text PDF images Print Summary File History
Drawing from US Patent 5485579
Multiple facility operating system architecture - US Patent 5485579 Drawing
Multiple facility operating system architecture
Inventor     Hitz; David (Sunnyvale, CA); Schwartz; Allan (Saratoga, CA); Lau; James (Cupertino, CA); Harris; Guy (Mountain View, CA)
Owner/Assignee     Auspex Systems, Inc. (Santa Clara, CA)
Patent assignment
All assignments
Publication Date     January 16, 1996
Application Number     08/225,356
PAIR File History     Application Data   Transaction History
Image File Wrapper   Patent Term   Fees
Litigation
Filing Date     April 8, 1994
US Classification    
Int'l Classification    
Examiner     Kulik; Paul V.
Assistant Examiner    
Attorney/Law Firm     Fliesler, Dubb, Meyer & Lovejoy
Address
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.
Priority Data    
USPTO Field of Search    
Patent Tags     multiple facility operating architecture
   
Enter a comma (,) or semicolon (;) between multiple tag words/phrases.
Describe this patent:
 Amusing   
 Clever   
 Complex   
 Efficient   
 Historic   
 Important   
 Innovative   
 Interesting   
 Practical   
 Simple   
[no votes]
Patent WIKI

Share information and news about this patent, including information and news about the technology, inventors, company, ligation and licensing.

 References Submit all comments and votes
 
*references marked with an asterisk below are user-added references
 U.S. References
 
Add a new US reference:  
ReferenceRelevancyCommentsReferenceRelevancyComments
5163131
Row
709/202
Nov,1992

[0 after 0 votes]
5001628
Johnson
707/10
Mar,1991

[0 after 0 votes]
4914583
Weisshaar
719/313
Apr,1990

[0 after 0 votes]
4897781
Chang
707/201
Jan,1990

[0 after 0 votes]
4887204
Johnson
707/10
Dec,1989

[0 after 0 votes]
4845609
Lighthart
709/200
Jul,1989

[0 after 0 votes]
4825354
Agrawal
707/10
Apr,1989

[0 after 0 votes]
4819159
Shipley
714/19
Apr,1989

[0 after 0 votes]
4803621
Kelly
711/5
Feb,1989

[0 after 0 votes]
4783730
Fischer
710/5
Nov,1988

[0 after 0 votes]
4780821
Crossley
718/100
Oct,1988

[0 after 0 votes]
4766534
DeBenedictis
709/228
Aug,1988

[0 after 0 votes]
4719569
Ludemann
710/241
Jan,1988

[0 after 0 votes]
4710868
Cocke
710/316
Dec,1987

[0 after 0 votes]
4685125
Zave
700/1
Aug,1987

[0 after 0 votes]
4550368
Bechtolsheim
711/206
Oct,1985

[0 after 0 votes]
4527232
Bechtolsheim
711/206
Jul,1985

[0 after 0 votes]
4494188
Nakane
718/102
Jan,1985

[0 after 0 votes]
4488231
Yu
710/48
Dec,1984

[0 after 0 votes]
4459664
Pottier
718/105
Jul,1984

[0 after 0 votes]
4456957
Schieltz
710/4
Jun,1984

[0 after 0 votes]
4399503
Hawley
711/113
Aug,1983

[0 after 0 votes]
4377843
Garringer
710/71
Mar,1983

[0 after 0 votes]
4333144
Whiteside
718/102
Jun,1982

[0 after 0 votes]
4156907
Rawlings
709/212
May,1979

[0 after 0 votes]
4075691
Davis
710/64
Feb,1978

[0 after 0 votes]
 Foreign References
 Other References
 Market Review Submit all comments and votes
   
Market Size
Estimate the gross annual revenues of the relevant market sector:
> $10B
$5B - $10B
$2B - $5B
$500M - $2B
$100M - $500M
$10M - $100M
$1M - $10M
$500K - $1M
$100K - $500K
< $100K
[No votes]
$0
 
$0   $2.5B   $5B   $7.5B   $10B
Market Share
Estimate the percentage of the relevant market sector this invention will capture:
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Reasonable Royalty
What percentage of gross sales should the inventor or assignee be paid?
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Public's "Guesstimation" of Royalty Value
Market SizeN/A[No votes]
xMarket ShareN/A[No votes]
xReasonable RoyaltyN/A[No votes]

N/A

License Availablity
If you are NOT the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
License Availablity
If you ARE the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
Competitive Advantage
Does this invention have a significant competitive advantage over similar technologies?
Yes

No



[No votes]
Most helpful competitive advantage comment
[No comments]

Commercial Alternatives
Are there viable commercial alternatives for this invention?
Yes

No



[No votes]
Most helpful commercial alternative comment
[No comments]

 Technical Review Submit all comments and votes
 Claims Submit all comments and votes
 


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.
 Description Submit all comments and votes
 


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