摘要:
A method and system for servicing disk I/O requests from domains which have been guaranteed minimum quality of disk service maintains I/O requests for each domain are in separate queues. The queues are serviced by a disk scheduler which selects requests from the queues in accordance with a fair queuing scheduling algorithm that considers the estimated time required to service the request at the head of a queue with regard for the size of the input or output associated with the request, the proportion of disk bandwidth assigned to the particular domain, and the state of the other queues.
摘要:
The invention provides protocols for managing transactions operating on replicated data items at multiple physical sites in a distributed database system. The protocols make use of dynamically changing sets of data items referred to as "virtual sites" and a replication graph or other suitable globally consistent representation of the relationships between the transactions and the virtual sites. Illustrative embodiments of the invention include a static global serializability (SGS) protocol, a commit-oriented protocol (COP) and a multiversion optimistic protocol (MOP). The SGS protocol broadcasts the data access set of a given transaction to all physical sites, and applies the Thomas Write Rule (TWR) to write-write conflicts on secondary copies of data items. The COP protocol defers testing of the replication graph until a transaction is ready to commit, and each transaction is allowed to proceed at its origination site independently of other transactions that are executing at other sites. The MOP protocol uses two versions of each data item to ensure global multiversion serializability. The two versions are the current version of the data item, and a "last certified version" of the data item. All read-only transactions read the last certified version, and can therefore proceed without delay. The protocols ensure global serializability while substantially reducing communication overhead relative to conventional protocols.
摘要:
A method and apparatus are disclosed for providing enhanced pay per view in a video server. Specifically, the present invention periodically schedules a group of non pre-emptible tasks corresponding to videos in a video server having a predetermined number of processors, wherein each task begins at predetermined periods and has a set of sub-tasks separated by predetermined intervals. To schedule the group of tasks, the present invention divides the tasks into two groups according to whether they may be scheduled on a single processor. The present invention schedules each group separately. For the group of tasks not scheduleable on a single processor, the present invention determines a number of processors required to schedule such group and schedules such tasks to start at a predetermined time. For the group of tasks scheduleable on a single processor, the present invention determines whether such tasks are scheduleable on the available processors using an array of time slots. If the present invention determines that such group of tasks are not scheduleable on the available processors, then the present invention recursively partitions such group of tasks in subsets and re-performs the second determination of scheduleability. Recursive partitioning continues until the group of tasks is deemed scheduleable or no longer partitionable. In the latter case, the group of tasks is deemed not scheduleable.
摘要:
For use with an active database stored in volatile memory for direct revision thereof, the active database having multiple checkpoints and a stable log, having a tail stored in the volatile memory, for tracking revisions to the active database to allow corresponding revisions to be made to the multiple checkpoints, the active database subject to corruption, a system for, and method of, restoring the active database and a computer system containing the same. The system includes: (1) a checkpoint determination controller that determines which of the multiple checkpoints is a most recently completed checkpoint and copies the most recently completed checkpoint to the volatile memory to serve as an unrevised database for reconstructing the active database and (2) a revision application controller that retrieves selected ones of the revisions from the stable log and the tail and applies the revisions to the unrevised database thereby to restore the active database. In an advantageous embodiment, the applied revisions include log records at an operation level (lower level of abstration than transactions), and the revision application controller, using memory locks while restoring the active database, releases ones of the memory locks as a function of applying ones of the log records.
摘要:
For use with a central database associated with a server of a network, the central database having distributed counterparts stored in volatile memories of clients of the network to allow operations to be performed locally thereon, the central database further having multiple checkpoints and a stable log stored in the server for tracking operations on the central database to allow corresponding operations to be made to the multiple checkpoints, the stable log having tails stored in the volatile memories to track operations on corresponding ones of the distributed counterparts, the distributed counterparts to corruption, a system for, and method of, restoring a distributed counterpart stored in one of the volatile memories. The system includes: (1) a checkpoint determination controller that determines which of the multiple checkpoints is a most recently completed checkpoint and copies the most recently completed checkpoint to the one of the volatile memories to serve as an unrevised database for reconstructing the distributed counterpart and (2) an operation application controller that retrieves selected ones of the operations from the stable log and a tail corresponding to the distributed counterpart and applies the operations to the unrevised database thereby to restore the distributed counterpart.
摘要:
A protocol and system for securely communicating a financial transaction between a customer and a merchant and a distributed computer network employing the protocol or system. A central authority having a central authority private key Ksca assigns a customer account (“CACCT”) to the customer and a merchant account (“MACCT”) to the merchant. The customer has a customer public key Kpc; the merchant has a merchant public key Km. The protocol includes the steps of: (1) sending a quotation from the merchant to the customer, the quotation including the Kpm, a Ksca-signed signature that is a function of the MACCT, an unsigned copy of a price and a Ksm-signed signature that is a function of the MACCT and the price, (2) replying to the quotation by sending an order from the customer to the merchant, the order including the Kpc, a Ksca, signed signature that is a function of the CACCT, an unsigned copy of the price and a Ksc-signed signature that is a function of the CACCT, the MACCT and the price and (3) replying to the order by filling the order.
摘要:
A network server stores database tables for use in resolving labels into network addresses as requested by a remote browser client. Each user has an associated address-table which stores user defined labels associated with network addresses. Users may access other user's address-tables if such other users grant authority to do so. Each user defines the address-tables to be searched, along with a search order, to be used when the user requests that a label be resolved into a network address. During address resolution, the server will resolve a received label into the network address associated with the label as defined by the first accessed address-table which contains the label. The search order as defined by the user may be overridden for a particular address resolution request by an appropriate user command. In various embodiment, the network addresses may be WWW addresses and electronic mail addresses.
摘要:
A computer operating system in which transfer of control of executing threads between protection domains is implemented using specific portals dedicated to the particular transfer of control between two protection domains. The transfer of control may also include parameter manipulation. A server registers a portal specification with a portal manager, the portal specification defining the behavior of portals which transfer control to the server. Thereafter, when a client application desires service from the server, the client application requests instantiation of a portal which will transfer control of an execution thread from the client application protection domain to the server protection domain. Upon receipt of the request, the portal manager dynamically generates portal code and updates a portal table associated with the client application, thus instantiating the portal. When the client application desires to invoke the server, the client application issues a system call instruction which results in switching the processor to privileged mode, followed by a lookup to the portal table and a transfer of control to the portal code identified in the portal table. The execution of the portal code results in transfer of control of the execution thread to the protection domain of the server. Various parameter manipulation techniques are disclosed for improving the efficiency of the transfer of control.
摘要:
A method for managing a buffer pool containing a plurality of queues is based on consideration of both (a) when to drop a packet and (b) from which queue the packet should be dropped. According to the method a packet drop is signaled with the global average queue occupancy exceeds a maximum threshold and is signaled on a probabilistic basis when the global occupancy is between a minimum threshold and the maximum threshold. Each queue has a particular local threshold value associated with it and is considered to be “offending” when its buffer occupancy exceeds its local threshold. When a packet drop is signaled, one of the offending queues is selected using a hierarchical, unweighted round robin selection scheme which ensures that offending queues are selected in a fair manner. A packet is then dropped from the selected offending queue.
摘要:
A system for, and method of, ensuring serialization of updates from a replica site in a distributed database that is described by a copy graph and a distributed database incorporating the system or the method. In one embodiment, the system includes: (1) a directed acyclic copy graph (DAG) creation module that identifies backedges in, and removes the backedges from, the copy graph to yield a DAG and (2) a propagation module, associated with the DAG creation module, that initially employs eager updating to propagate the updates along the backedges and thereafter employs lazy updating to propagate the updates along edges of the directed acyclic copy graph to ensure the serialization.