Abstract:
Computers are provided with a totally ordered, durable shared log. Shared storage is used and can be directly accessed by the computers over a network. Append-log operations are made atomic in the face of failures by committing provisional append ordering information onto a log. The log may comprise multiple flash packages or non-volatile memory devices, referred to as segments, although any shared storage device(s) may be used. Each log record is a multi-page stripe, where each page of a stripe is written to a different segment. Fault-tolerant protocol variants append stripes to the log, such that stripes are totally ordered in the log and each stripe is written atomically.
Abstract:
A cloud infrastructure that communicates with computing devices is provided. The computing devices install filters on other computing devices that they wish to receive items from including pictures, messages, and documents. The filters include criteria that are evaluated on the computing devices, rather than at a server, to determine if an item may be sent to another computing device. The computing devices may then send items that match the criteria to the cloud infrastructure, and the items may be stored and queued for delivery to other computing devices. The items may be encrypted before being provided to the cloud infrastructure, and decrypted when received by the computing devices.
Abstract:
A prediction tree for estimating values of a network performance measure. Leaf nodes of the prediction tree are associated with networked computing devices and interior nodes are not necessarily representative of physical network connections. Values are assigned to edges in the prediction tree and the network performance measure relative to two computing devices represented by two nodes of the tree is estimated by aggregating the values assigned to the edges in the path in the prediction tree joining the two edges. Mechanisms for adding nodes representing computing devices to the prediction tree, for identifying a closest node representing a computing device in the prediction tree, for identifying a cluster of devices represented by nodes of the tree, and for rebalancing the prediction tree are provided.
Abstract:
A method and system for high resolution formatting of video images and dynamically adjusting the transmission resolution of the high-resolution images is presented. The method first downscales the high-resolution images and encodes the downscaled images into base layer frames. Quality enhancement layer data is generated from the downscaled video images and the encoded data contained in corresponding base layer frames. The quality enhancement layer data is encoded into quality enhancement layer frames. The data contained in the base layer frames and corresponding quality layer frames are then upscaled and spatial scalability data is determined from the upscaled data and the original image. The spatial scalability data is then encoded into spatial scalability data. During transmission of the encoded video image, each available encoded frame is transmitted using different amounts or portions of the enhancement layers so as to occupy the available bandwidth.
Abstract:
A system and method for providing a low-latency reliable multicast protocol designed for time-critical clustered applications. Internet Protocol (IP) multicast is used to transmit data and recovers from packet loss in end-hosts using a repair mechanism involving the exchange of XOR repairs between receivers and across groups. The system and method of the present invention can be embodied in a scalable, reliable and fast multicast primitive that can be layered under high-level abstractions such as publish-subscribe, group communication and replicated service/object infrastructures.
Abstract:
A system extracts, from uncoded video data, coding parameters that correspond substantially to coding parameters used in a coding operation that was previously performed on the video data. The system generates a histogram for at least one AC frequency band in the uncoded video data and calculates a correlation function for the histogram. A maximum value of the correlation function is then identified, and a coding parameter for the at least one AC frequency band is determined using the maximum value of the correlation function.
Abstract:
A method of encoding a digital video bit stream which includes a plurality of successively-encoded pictures. The method includes the steps of constructing a seamless In Point in accordance with a constraint expressed by the following equation (1):dd.sub.f.sbsb.--.sub.ip .ltoreq.minimum {DD.sub.thr.sbsb.--.sub.ip, (B.sub.d /r.sub.n.sbsb.--.sub.ip)}, (1)where dd.sub.f.sbsb.--.sub.ip represents an amount of time by which a first byte of the digital video bit stream after the seamless In Point must stay in a decoder buffer before it is decoded; B.sub.d is a size of the decoder buffer; r.sub.n.sbsb.--.sub.ip is a bit rate at which the digital video bit stream is normally encoded at the seamless In Point; and, DD.sub.thr.sbsb.--.sub.ip represents a prescribed minimum decoding delay threshold for seamless In Points, where DD.sub.thr.sbsb.--.sub.ip is defined by the following equation (2):DD.sub.thr.sbsb.--.sub.ip =((MSR/r.sub.n.sbsb.--.sub.ip)*SDD)+T.sub.p.sbsb.--.sub.i *(1-(MSR/r.sub.n.sbsb.--.sub.ip), (2)where T.sub.p.sbsb.--.sub.i is a time needed for displaying a picture which starts being displayed at a time of decoding of a last picture prior to the seamless In Point; SDD is a prescribed splice decoding delay; and, MSR is a prescribed maximum splice rate, and then inserting the seamless In Point at a first point in the digital video bit stream at which another digital video bit stream can be spliced into the digital video bit stream. The method also includes the steps of constructing a seamless Out Point in accordance with a constraint expressed by the following equation (3):DD.sub.thr.sbsb.--.sub.op .ltoreq.dd.sub.f.sbsb.--.sub.op .ltoreq.(B.sub.d /r.sub.n.sbsb.--.sub.op), (3)where dd.sub.f.sbsb.--.sub.op represents an amount of time by which a first byte of the digital video bit stream after the seamless Out Point must stay in a decoder buffer before it is decoded; r.sub.n.sbsb.--.sub.op is a bit rate at which the digital video bit stream is normally encoded at the seamless Out Point; and DD.sub.thr.sbsb.--.sub.op represents a prescribed minimum decoding delay threshold for seamless Out Points, where DD.sub.thr.sbsb.--.sub.op is defined by the following equation (4):DD.sub.thr.sbsb.--.sub.op =((MSR/r.sub.n.sbsb.--.sub.op)*SDD)-T.sub.p.sbsb.--.sub.o *((MSR/r.sub.n.sbsb.--.sub.op)-1), (4)wherein T.sub.p.sbsb.--.sub.o is a time needed for displaying a picture which starts being displayed at a time of decoding of a last picture prior to the seamless Out Point; and then inserting the seamless Out Point at a first point in the digital video bit stream at which it can be spliced into another digital video bit stream.
Abstract:
A method and apparatus for dynamically allocating the available bandwidth of a common transmission channel of a multiplexed system among multiple encoders in such a manner as to maximize and equalize the quality of the encoded data output by all of the encoders, while also preventing underflow or overflow of encoder or decoder buffers at each end of the common transmission channel, and moreover, while also ensuring compliance with (i.e., without violating) the data encoding and transmission protocol utilized by the system. Further, the bandwidth of the common transmission channel is preferably allocated using an algorithm that does not impose any constraints on the size of the encoder or decoder buffers, other than any constraints specified by the data transmission protocol employed in transmitting the encoded data over the common transmission channel. In a presently preferred embodiment, in which video signals from multiple sources are encoded, both the output channel rate ("bit rate") of each of the encoders and the target number of bits for each picture that is encoded by each encoder are controlled by a controller in accordance with a control algorithm which ensures that the quality of the encoded pictures output by all of the encoders is equalized and maximized, that no underflow or overflow of the encoder or decoder buffers occurs, and that the data encoding and transmission protocol utilized by the system is not violated. Further, the control algorithm employed by the controller preferably does not impose any constraints on the sizes or relative sizes of the encoder or decoder buffers. Moreover, the control algorithm employed by the controller preferably maintains all of the encoder buffers as empty as possible in order to provide increased flexibility to the rate allocation procedure.
Abstract:
A cloud statistics server generates statistics for a cloud service based on an identified data item and an identified operation. The cloud service may include various computing nodes and storage nodes. The cloud statistics may include expected completion times for the identified operation and the identified data item with respect to each of the computing nodes. A computing node may be selected to execute the identified operation based on the expected completion times. The generated statistics may be generated by the cloud statistics server using a network topology associated with the data item that is based on the latencies or expected transfer times between the various storage nodes and computing nodes, and a replication strategy used by the cloud service. The topology may be implemented as a directed graph with edge weights corresponding to expected transfer times between each node.
Abstract:
A method and system for producing decoding the transmission of high-resolution images transmitted as a low resolution spatially scalable FGS encoded base layer and at least one enhancement layer is presented. The low resolution received base layer is representative of a downscaled image of the original image. In this manner, a minimum resolution base layer is transmitted and higher resolutions may be obtained and utilized depending on the available bandwidth and the receiving system resolution capability. In one aspect of the invention, the base layer is decoded and a quality enhancement is next applied to the base layer. The combined base layer and quality layer video frames are then upscaled and the upscaled image is combined with a decoded spatial enhancement layer information. The spatial enhancement layer information fills in resolution lacking in the upscaled base layer/quality layer image. Thus, a high resolution image is formed. In another aspect of the invention, a temporal layer, containing information regarding image motion, is further applied to the upscaled base layer image to produce a spatially enhanced/temporally enhanced high resolution image.