摘要:
In a server system having a predetermined total bandwidth providing data files to a plurality of clients in response to requests received from the clients, a method for providing admission control comprises the steps of allocating a plurality of channel partitions to a plurality of channel groups such that each channel group includes one or more of the channel partitions. The system then obtains a channel group number based on the length of the data file requested by one of the clients and transmits the requested data file when a channel group corresponding to the obtained channel group number contains a vacant channel partition.
摘要:
A dynamic process for improving the performance of a tape-based storage system is disclosed which takes a global view with regard to scheduling and tape selection. All requested data blocks located on multiple tapes within the storage system are analyzed and, taking advantage of the existing replication of some of the requested data blocks on multiple tapes and the location of the data blocks on the tapes, a schedule is formed that results in the reading/downloading of requested data blocks in an efficient manner.
摘要:
For use with a primary database residing on a primary computer, the primary computer being couplable to a secondary computer having a secondary database, a system for, and method of, allowing the secondary computer to operate as a hot spare for the primary computer and a database management system employing the system or the method. In one embodiment, the system includes: (1) a transaction logger, associated with the primary database, that maintains log records of transactions involving persistent data in the primary database, (2) a transaction processor, associated with the primary database, that transmits at least a portion of the log records to the secondary computer to allow the secondary computer to commit the at least the portion of the log records to the secondary database and (3) parameters, associated with the primary and secondary databases, that designate a state of the primary and secondary computers and indicate relative synchronization of the primary and secondary databases.
摘要:
A method for recovering spin locks in a system having one or more processes capable of accessing a shared resource, the system providing a lock indicating exclusive access to the shared resource by a single process and enabling one or more processes to repeatedly attempt to gain access to the lock when ownership of the shared resource is desired. The method includes generating a linked list queue structure containing a first process currently having exclusive access to the lock and one or more processes added to the queue structure to spin on the lock, each process capable of modifying the queue structure by obtaining exclusive access of the lock from a process having exclusive access of the lock and releasing the lock to another process in the linked list queue structure; detecting when one or more processes having exclusive access to the lock terminates, and upon detection, removing the terminated process from the queue structure, and restoring consistency to said linked list queue structure.
摘要:
Various systems and methods of scheduling media segments of varying display rate, length and/or periodicity on at least one clustered, vertically-striped or horizontally-striped continuous media database volume. With respect to the at least one horizontally-striped database volume, one method includes the steps of: (1) associating a display value with each of the media segments, (2) sorting the media segments in a non-increasing order of value density to obtain an ordered list thereof and (3) building a scheduling tree of the media segments, the scheduling tree having a structure that increases a total display value of the media segments.
摘要:
A multimedia on-demand server including a randomly-accessible library of multimedia programs (such as movies stored on magnetic or optical disks), a limited amount of RAM to buffer and store selected portions of programs retrieved from the library, and an interface that switchably routes program material from the library and RAM buffers to an audience of viewers. The server employs a restricted retrieval strategy and a novel storage allocation scheme that enable different portions of one or more programs to be continuously retrieved and selectively routed to a large number of on-demand viewers, while at the same time minimizing the amount of the RAM required to effect this service. The on-demand server also responds to viewer-generated commands to control the viewing of a program. In a particular embodiment, these commands include video tape player-like operations such as fast-forward, rewind and pause.
摘要:
A uniform application programming interface (API) provides efficient generation and control of resource reservations so as to ensure a desired quality of service (QoS) for applications running on an operating system of a computer system. The uniform API is based on a hierarchical file system which associates resource reservations with references to shared objects, rather than with the objects themselves. The uniform API permits the use of a variety of different proportional share schedulers for controlling access to physical resources, e.g., CPU, memory, disk, network interfaces, etc. of the computer system. The hierarchical file system includes a separate directory for each independently-scheduled physical resource of the computer system. A parent of the resource reservation in the hierarchical file system is either a root node of the file system or another reservation for the same resource. The resource reservation represents either an internal reservation, corresponding to a directory in the file system which is permitted to have child nodes associated therewith in the file system, or a queue, corresponding to a directory which is not permitted to have child nodes associated therewith. A given request for a resource reservation is processed by a proportional share scheduler associated with the resource, and identifies a queue having a predetermined portion of the resource allocated thereto. The invention also provides mechanisms for request tagging by the operating system, parental limitation of resources used by a child process, and “garbage collection” of resource reservations that are no longer needed.
摘要:
Received packets are processed utilizing protocol processing stages in an operating system, in accordance with a technique referred to as signaled receiver processing (SRP). A given protocol processing stage uses a next stage submit (NSS) function to pass a packet to a subsequent protocol processing stage. Each protocol processing stage is associated with one or more sockets. Each socket is associated with the input function of a protocol processing stage, an unprocessed input queue (UIQ) that contains packets destined to the socket but not yet processed by the socket's input function, and a list of owner processes, which expect input from the socket. NSS uses a multi-stage early demultiplexing (MED) function, which determines a packet's next destination socket, based on the stage currently processing the packet and on information contained in the packet. If the amount of buffering used by a packet plus the amount of input buffering already used by the packet's destination socket exceeds a designated limit associated with that socket, NSS drops the packet. Otherwise, NSS enqueues the packet in that socket's UIQ and signals that socket's owner processes. The signal triggers a default action corresponding to performance of the required protocol processing by one of the destination socket's owner processes, but those processes may override the default action by, e.g., deferring the required protocol processing until execution of a subsequent receive call.
摘要:
A computer network management arrangement employs enhanced network elements that include database technology. This, in turn, allows such enhanced network elements to filter management information intelligently and also to notify an associated network manager of the occurrence of complex events of interest. More specifically, the network elements are enhanced through use of database technology to process declarative queries and to support triggers. Additionally, auxiliary network managers, that perform as proxies for network elements that have not been enhance with database technology, are employed to collect and integrate management information from one or more non-enhanced network elements. Consequently, the management information supplied to a network manager from the auxiliary network mangers could be significantly less than that collected from the network elements. Thus, the auxiliary network managers further reduce the network management traffic. In a specific embodiment of the invention, support is embedded into the individual network elements for a declarative query language, one example being the structured query language (SQL). Support is also added for event notification to the individual network elements. One or more auxiliary network managers are employed that can answer declarative inquiries. Moreover, the management information base information stored in the individual network elements is modeled as relational tables that are queried.
摘要:
A cache management scheme is disclosed for buffering one or more continuous media files being simultaneously accessed from a continuous media server by a plurality of media clients. The continuous media server stores pages of data that will likely be accessed in a cache or buffer. The continuous media server implements a cache management strategy that exploits the sequential page access patterns for continuous media data, in order to determine the buffer pages to be replaced from the cache. The cache management strategy initially identifies unpinned pages as potential victims for replacement. Each unpinned page is evaluated by the continuous media server and assigned a weight. Generally, the assigned weight ensures that a buffer with a larger weight will be accessed by a client later in time than a buffer with a smaller weight. A page associated with a larger weight will be accessed later and hence, is replaced earlier. A current buffer list is preferably allocated to monitor the buffer pages associated with a given continuous media file. The current buffer list is a data structure pointing to a set of buffer pages in the cache buffer containing the currently buffered pages of the associated continuous media file. Each buffer page in the buffer cache is preferably represented by a buffer header. The current buffer list (CBL) data structure preferably stores, among other things, a pointer to the buffer pages associated with the CBL, identifier information for the CBL and related continuous media file, and information regarding the number of buffered pages associated with the CBL and number of clients currently accessing the associated continuous media file. The buffer header is a data structure containing information describing the state of the corresponding page. The buffer header preferably includes, among other things, a pointer to an actual area of the buffer cache storing a page of data, a number of pointers to create various relationships among the various pages in a CBL, and a fixed count indicating the number many of clients currently accessing the corresponding page of the continuous media file.