Dynamic modeling for resource allocation in a file server

Electrical computers and digital processing systems: multicomput – Computer network managing – Network resource allocating

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C709S219000

Reexamination Certificate

active

06230200

ABSTRACT:

Authorization Pursuant to 37 C.F.R § 1.17(e)
A portion of the disclosure of this patent document contains command formats and other computer language listings all of which are subject to copyright protection. The copyright owner, EMC Corporation, has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever.
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates generally to data storage systems, and more particularly to resource allocation and performance guarantees for a file server.
2. Background Art
An increasingly important attribute of a file server is its ability to provide certain performance guarantees for data delivery. Performance guarantees are especially important for the delivery of a video data stream for viewing by a human user. In this case, it is desired to deliver the video data stream in an isochronous fashion so that there are no interruptions when the video data stream is viewed in real-time from a terminal having minimal buffer capacity. A file server having the capability of isochronous delivery of video data is known as a video file server. Performance guarantees, however, are also important for less demanding multi-media applications to ensure graceful and fair degradation under high loading conditions.
It is known to use a scheduler and an admission control policy in a video file server to maintain performance guarantees for real-time streams in the presence of unpredictably varying non-real-time traffic while ensuring system stability during overloads. A suitable scheduler and admission control policy is described in K. K. Ramakrishnan et al., “Operating System Support for a Video-On-Demand File Service,”
Multimedia Systems
, Vol. 3, Springer-Verlag, 1995, pp. 53-65, and Vaitzblit et al., U.S. Pat. No. 5,528,513 entitled “Scheduling and Admission Control Policy for a Continuous Media Server,” incorporate herein by reference. The scheduler supports multiple classes of tasks with diverse performance requirements and allows for the co-existence of guaranteed real-time requests with sporadic and unsolicited requests. The scheduler allocates limited resources such as disk buffers to the tasks that are admitted for processing.
In practice it is difficult for a scheduler to base scheduling decisions on the actual level of resources available at any given time rather than a lower, more conservative level of resources known for certain to be available. The actual level of resources available at any given time may depend on a specific configuration of components within the file server rather than a more general configuration presumed by the scheduler, and may depend on specific routings of video streams rather than more general routings presumed by the scheduler. The specific configurations of components within the scheduler, for example, may change due to component upgrades or due to the continued use of sub-assemblies after failure of some components in the sub-assemblies.
SUMMARY OF THE INVENTION
In accordance with a basic aspect of the invention, resources in a file server are allocated by dynamically modeling a configuration of data handling components in the file server and routings of data streams through the data handling components. The dynamic model is a computer model in memory, and the model is maintained by a controller of the file server.
Preferably the dynamic model is maintained in memory as a directed acyclic graph in which nodes represent the data handling components and edges represent data stream paths between the data handling components. Each node and each edge has a list of resources associated with the node or edge and current allocations of the resources to data streams and any other tasks. Associated with each active data stream is a list of pointers to the nodes and edges and current allocations for the data stream. The dynamic model is stored in random access memory of the file server controller and is periodically backed up on disk memory.
Preferably there is an object-oriented definition of classes of the components. Each component class definition can include a level associated with each component class indicative of an order in which data streams are routed between a client and file storage of the file server. For example, there are eight different component classes at eight different levels beginning with a client interface and ending with disk storage. A specific hardware configuration has a specific number of the components at each level, and at any given time a certain number of these components (or resources of these components) might be unavailable for allocation to a data stream for example due to allocation to other data streams due to component failure.
Preferably the file server has a program for building the specific hardware configuration, and a program for managing the allocation of resources of the specific hardware configuration to tasks such as a task requiring a data stream to be routed through the file server. The program for building the specific hardware configuration collects information about the components actually installed in the file server and determines what components are installed and determines the resources currently provided by each component. This collection process could be done by polling addressable locations of the components or by monitoring a periodic heartbeat signal from each component indicating its present status. When a component is found to be installed, an instance of the generic definition of the component is added to the model of the specific hardware configuration. This program for building the specific hardware configuration is executed during system initialization of the file server and also invoked when a component failure is detected and when there is a change in the components, for example, due to repair, maintenance, or system upgrade. Component failure, for example, is indicated by the heartbeat signal.
Preferably the program for managing allocation of resources includes a routine for allocating resources, a is routine for de-allocating resources, and a routine for balancing an allocation of resources. The allocation routine is invoked to carry out a scheduling and admissions policy in response to a client request. The allocation program walks through the specific hardware configuration in an attempt to optimally allocate available resources for handling the client request. To handle a request to create a data stream, the allocation program operates upon a stack to create a list indicating a route through the file server for the data stream. The list includes pointers to locations in the model of the specific hardware configuration indicating resources allocated for handling the data stream.
The de-allocation routine is invoked when the task of handling the data stream is completed, and may also be invoked in response to a component failure. In response to completion of a data stream handling task, the de-allocation routine accesses the list indicating the route of the data stream in order to obtain the pointers to de-allocate the resources having been allocated to the data stream, and once all of these resources are de-allocated, the list itself is de-allocated.
In response to a failed component, resources associated with the failed component are de-allocated, for example, the resources of the failed component itself. If active streams are associated with the failed component, resources down-stream and up-stream may also be de-allocated during re-routing of the stream around the failed component.
The allocation balancing routine can be invoked as a periodic background task or when an imbalance condition is detected or would occur as a result of allocation or de-allocation. For example, an imbalance condition could result from allocating or de-allocating an amount of resources substantially large in comparison to the resources provided by a single component.


REFERENCES:

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Dynamic modeling for resource allocation in a file server does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Dynamic modeling for resource allocation in a file server, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Dynamic modeling for resource allocation in a file server will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2520882

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.