Dynamic modeling for resource allocation in a file server
First Claim
1. A method of allocating resources in a file server to handle a data stream in response to a client request, said method comprising the steps of:
- a) maintaining in memory a dynamic model of data stream handling components of the file server, and b) in response to the client request, routing the data stream through the dynamic model of the data stream handling components of the file server, and allocating to the data stream resources of the data stream handling components through which the data stream is routed.
7 Assignments
0 Petitions
Accused Products
Abstract
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 maintained in memory by a controller of the file server. For example, the dynamic model is a directed acyclic graph in which nodes represent the data handling components and edges represent data stream paths. Each node has a list of resources and current allocations of the resources. Associated with each active data stream is a list of pointers to the nodes and current allocations for the data stream. The controller of the file server has programs for automatically creating the dynamic model, modifying the dynamic model in response to component changes such as component failures, enforcing a scheduling and admissions policy by allocating resources for a path for a data stream during a search through the dynamic model in response to a client request for data access, de-allocating resources in response to an end-of-stream condition, and balancing allocations of resources to data streams in order to free resources to allocate a path for a requested data stream. The dynamic model is created automatically by collecting information about what components are installed in the file server, the resources of the installed components, and connections between the installed components.
585 Citations
46 Claims
-
1. A method of allocating resources in a file server to handle a data stream in response to a client request, said method comprising the steps of:
-
a) maintaining in memory a dynamic model of data stream handling components of the file server, and b) in response to the client request, routing the data stream through the dynamic model of the data stream handling components of the file server, and allocating to the data stream resources of the data stream handling components through which the data stream is routed. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A method of allocating resources in a video file server to handle a video data stream in response to a client request, said method comprising the steps of:
-
a) maintaining, in memory of a controller of the video file server, a dynamic model of video data stream handling components of the file server, the dynamic model including connections between the video data stream handling components, and available resources and allocated resources of the video data stream handling components, and b) in response to the client request, routing the video data stream through the dynamic model of the video data stream handling components of the file server, and allocating to the video data stream resources of the video data stream handling components through which the data stream is routed. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
-
-
25. A file server comprising, in combination:
-
data storage; and
a plurality of stream servers connecting clients to the data storage; and
a controller responsive to a request from a client for access to data stored in the data stroage for allocating resources in at least one of the stream server computers for streaming data specified by the request to the client, wherein the controller is programmed for maintaining in memory a dynamic model of data stream handling components of the file server, and for responding to the client request by routing the data stream through the dynamic model of the data stream handling components of the file server, and allocating to the data stream resources of the data stream handling components through which the data stream is routed. - View Dependent Claims (26, 27, 28, 29, 30, 31, 32, 33, 34, 35)
-
-
36. A video file server comprising, in combination:
-
a cached disk storage subsystem; and
a plurality of stream server computers connecting clients to the cached disk storage subsystem; and
a controller responsive to a request from a client for access to data stored in the cached disk storage subsystem for allocating resources in at least one of the stream server computers for streaming video data specified by the request to the client, wherein the controller is programmed for maintaining in memory of the controller a dynamic model of video data stream handling components of the video file server, the dynamic model including available resources of the video data stream handling components, and for responding to the client request by routing the data stream through the dynamic model of the data stream handling components of the file server, and allocating to the data stream resources of the data stream handling components through which the data stream is routed. - View Dependent Claims (37, 38, 39, 40, 41, 42, 43, 44, 45, 46)
-
Specification