Claims
- 1. A server unit being connected with a plurality of terminals through wire or radio transmission paths for retrieving and reading corresponding data from data being stored therein when a data read request is sent from any of said terminals and transmitting said read data to said terminal issuing said read request, said server unit comprising:
a data storage part storing various data and being accessible at random in response to read requests from said terminals; an input/output part for controlling input/output of said data between said data storage part and each said terminal; an exchange part for exchanging said data between said input/output part and said data storage part; and a resource management part for managing resources being necessary in case of reading data being required by said terminals from said data storage part and outputting the same to said terminals, wherein said resource management part separating said resources of overall said server unit to resources (preferential resources) being employed for outputting data (preferential data) for which continuity must be guaranteed to said terminals and resources (non-preferential resources) being employed for outputting data (non-preferential data) for which no continuity may be guaranteed to said terminals to manage the same.
- 2. The server unit according to claim 1, wherein each said terminal is divided into a plurality of groups,
said input/output part includes a plurality of I/O units being provided every said group of said terminal, each said I/O unit includes:
a preferential input/output control part executing input/output control with respect to a command requiring reading of said preferential data being sent from said terminal of corresponding said group; and a non-preferential input/output control part executing input/output control with respect to a command requiring reading of said non-preferential data being sent from said terminal of corresponding said group, said data storage part includes:
a plurality of storage units; and a plurality of MSFSs being connected with each said storage unit for controlling reading of data from said storage unit, and said non-preferential input/output control part includes:
a command queue for temporarily storing commands requiring reading of said non-preferential data being sent from said terminals of corresponding said group; a command queue control part for fetching said commands from said command queue; a command transmission part for transmitting said commands being fetched by said command queue control part to corresponding destination of said MSFSs; a data buffer part for temporarily storing said non-preferential data being read from said storage units by said MSFSs; and a data transmission part for transmitting said non-preferential data being stored in said data buffer part to said terminals.
- 3. The server unit according to claim 2, wherein said command queue is provided in correspondence to each of a plurality of terminals belonging to corresponding said group for storing said commands from corresponding said terminal in order of arrival,
said command queue control part executes command fetch processing which selects single said command queue storing said commands from a plurality of said command queues while fetching a command being stored in the head of the command queue and a command being transmitted to the same MSFS and outputs the same to said command transmission part, said command transmission part:
transmits said commands being received from said command queue control part to said MSFSs for executing the same; and transmits a receiving completion notice to said command queue control part when the same confirms that said data buffer part receives all read data for said transmitted commands from said MSFSs, and said command queue control part repeatedly executes said command fetch processing every time the same receives said receiving completion notice from said command transmission part.
- 4. The server unit according to claim 3, wherein said command queue control part limits a number of said commands being fetched from single said command queue to not more than a predetermined constant number in single said command fetch processing.
- 5. The server unit according to claim 3, wherein said non-preferential input/output control part further includes a buffer management part for managing a used state of said data buffer part, and
said command queue control part decides said command queue being selected for said command fetch processing on the basis of said used state of said data buffer part being managed by said buffer management part.
- 6. The server unit according to claim 5, wherein said buffer management part is provided with a plurality of used quantity counters for counting untransmitted data number being stored in said data buffer part every said terminal, and
said command queue control part refers to said used quantity counters of said buffer management part before executing said command fetch processing to select a command queue corresponding to a terminal having a minimum untransmitted data number as a target of said command fetch processing.
- 7. The server unit according to claim 3, wherein said command transmission part transmits a command being received from said command queue control part to said MSFS after reserving an area for storing said non-preferential data being read by said MSFS in said data buffer part, and stops transmission of said commands to said MSFS until said area for storing said non-preferential data can be reserved in said data buffer part if said area cannot be reserved.
- 8. The server unit according to claim 2, wherein said command queue control part decides cycles for outputting said commands to said command transmission part on the basis of a smaller one of a communication band serving as a non-preferential resource for each said I/O unit for outputting data to each said terminal and a communication band serving as a non-preferential resource for each said I/O unit for receiving said non-preferential data being read from said data storage part.
- 9. The server unit according to claim 2, wherein said command transmission part includes:
a plurality of transmission queues being provided in correspondence to respective said MSFSs for storing said commands being received from said command queue control part for respective said MSFSs; and a plurality of processing number counters being provided in correspondence to respective ones of said transmission queues, being incremented every transmission of said commands from corresponding said transmission queues to said MSFSs and being decremented every arrival of data being read from corresponding said MSFSs at said data buffer part, thereby counting the number of said non-preferential data not yet arriving at said data buffer part, and said command transmission part limits the number of said commands being transmitted from respective said transmission queues to said MSFSs so that said number of unarriving non-preferential data being counted by said processing number counters are not in excess of a prescribed threshold.
- 10. The server unit according to claim 1, wherein said resource management part manages a communication band of said exchange part, a band for said data storage part for reading data, and a communication band for said input/output part for outputting data to respective said terminals as said resources.
- 11. The server unit according to claim 1, wherein said exchange part is formed by an ATM switch, and
a communication band serving as a non-preferential resource of said ATM switch is ensured in an ABR mode.
- 12. The server unit according to claim 1, wherein said resource management part previously fixedly allocates parts of said resources of overall said server unit as said preferential resources while allocating the remaining parts as said non-preferential resources.
- 13. The server unit according to claim 1, wherein said resource management part changes a quantity being allocated as said preferential resources among said resources of overall said server unit in response to read requests for said preferential data from said terminals.
- 14. The server unit according to claim 13, wherein said resource management part allocates all resources, which are not allocated as said preferential resources, among said resources of overall said server unit as said non-preferential resources while allocating preferential resources from resources being allocated as said non-preferential resources in such a range that the quantity of said non-preferential resources is not below a prescribed resource quantity when it is necessary to increase said preferential resources.
- 15. A file system for issuing a data acquisition request to a data storage unit in response to a data transmission request from a user and transmitting the data being acquired from said data storage units in accordance with said data acquisition request to said user, said file system comprising:
a data acquisition part for successively acquiring data from said data storage unit in order from a position being specified by said data transmission request continuously at a specified speed; a buffer for storing said data being acquired by said data acquisition part from said data storage unit; a buffer management part for performing operation of said data being stored in said buffer and management of a data quantity; a data transmission part for successively reading said data being stored in said buffer in order being specified by said data transmission request continuously at a specified transmission speed and transmitting the same to said user; and a pause control part for receiving a pause request and a pause release request from said user for controlling said data transmission part, said data acquisition part and said buffer management part, wherein said pause control part is adapted:
to control said data transmission part to immediately stop data transmission while controlling said data acquisition part to immediately stop data acquisition in case of receiving said pause request from said user; and to control said data transmission part to resume data transmission successively in order from a head of said data being stored in said buffer after pause processing while controlling said data acquisition part to resume data acquisition successively in order from data being next to the last of said data being stored in said buffer after said pause processing in case of receiving said pause release request from said user.
- 16. The file system according to claim 15, wherein said pause control part substitutes a data acquisition resume time trd for making said data acquisition part resume data acquisition, a quantity N of said data being stored in said buffer after said pause processing, a data transmission speed V after pause release and a time D being required by said data acquisition part for data acquisition in the following expression (a) in case of receiving said pause release request from said user, thereby calculating a data transmission resume time tsd for making said data transmission part resume data transmission:
- 17. The file system according to claim 15, wherein said pause control part substitutes a data transmission resume time tsd for making said data transmission part resume data transmission, a quantity N of said data being stored in said buffer after said pause processing, a data transmission speed V after pause release and a time D being required by said data acquisition part for data acquisition in the following expression (b) in case of receiving said pause release request from said user, thereby calculating a data acquisition resume time trd for making said data acquisition part resume data acquisition:
- 18. The file system according to claim 15, wherein when receiving said pause release request from said user, said pause control part:
determines whether or not a quantity of said data being stored in said buffer after pause processing is greater than a limit data quantity being transmittable at a data transmission speed after pause release during a time being required by said data acquisition part for data acquisition; and controls said buffer management part to delete parts of data exceeding said limit data quantity if said data quantity is greater than said limit data quantity as a result of said determination, thereby deciding a head position of said data being acquired by said data acquisition part after pause release.
Priority Claims (5)
Number |
Date |
Country |
Kind |
278799/1995 |
Oct 1995 |
JP |
|
278813/1995 |
Oct 1995 |
JP |
|
278814/1995 |
Oct 1995 |
JP |
|
125146/1996 |
May 1996 |
JP |
|
213556/1996 |
Aug 1996 |
JP |
|
Parent Case Info
[0001] This is a divisional of Ser. No. 09/412,360, filed Oct. 5, 1999, pending, which is a divisional of Ser. No. 09/106,176, filed Jun. 29, 1998, U.S. Pat. No. 6,453,316, which is a divisional of Ser. No. 08/738,495, filed Oct. 28, 1996, abandoned.
Divisions (3)
|
Number |
Date |
Country |
Parent |
09412360 |
Oct 1999 |
US |
Child |
10303014 |
Nov 2002 |
US |
Parent |
09106176 |
Jun 1998 |
US |
Child |
09412360 |
Oct 1999 |
US |
Parent |
08738495 |
Oct 1996 |
US |
Child |
09106176 |
Jun 1998 |
US |