摘要:
Various embodiments can utilize a distributed solution for scheduling connections between peers in a file sharing environment. In accordance with at least some embodiments, individual nodes in a peer-to-peer system include scheduling software that enables the nodes to make scheduling decisions with regard to how, when and where connections are made with other peers. Scheduling decisions can be based on a number of different parameters. In at least some embodiments, a synchronization negotiation manager is embodied with logic that drives the negotiation and scheduling process. This logic is represented by an innovative state machine that is designed to implement the negotiation and synchronization process.
摘要:
Various embodiments can utilize a distributed solution for scheduling connections between peers in a file sharing environment. In accordance with at least some embodiments, individual nodes in a peer-to-peer system include scheduling software that enables the nodes to make scheduling decisions with regard to how, when and where connections are made with other peers. Scheduling decisions can be based on a number of different parameters. In at least some embodiments, a synchronization negotiation manager is embodied with logic that drives the negotiation and scheduling process. This logic is represented by an innovative state machine that is designed to implement the negotiation and synchronization process.
摘要:
Content synchronization in a file sharing environment is described. A node in a circle share maintains a version vector that represents that node's knowledge of file synchronization events. Version vector data may be transmitted between nodes of the circle share via a presence service in the form of short notification messages. The version vector data is compared to identify one or more nodes to be synchronized. A resource-aware overlay representing the circle share is computed, and is used to initiate communication to determine which of the available nodes with which to synchronize will provide the most synchronization value to other nodes in the circle share.
摘要:
Content synchronization in a file sharing environment is described. A node in a circle share maintains a version vector that represents that node's knowledge of file synchronization events. Version vector data may be transmitted between nodes of the circle share via a presence service in the form of short notification messages. The version vector data is compared to identify one or more nodes to be synchronized. A resource-aware overlay representing the circle share is computed, and is used to initiate communication to determine which of the available nodes with which to synchronize will provide the most synchronization value to other nodes in the circle share.
摘要:
A system and process for performing an exponentially weighted moving average on streaming data to establish a moving average bit rate of data units is presented. In general, the system or process computes, on a unit-by-unit basis, the product of the moving average bit rate computed for a data unit immediately prior to a unit under consideration and a first fractional weighting factor, added to the product of the instantaneous bit rate of the data unit under consideration and a second fractional weighting factor, wherein at least one fractional weighting factor is not a constant but instead based on the time between data units.
摘要:
A system and process for performing an exponentially weighted moving average on streaming data to establish a moving average bit rate of data units is presented. In general, the system or process computes, on a unit-by-unit basis, the product of the moving average bit rate computed for a data unit immediately prior to a unit under consideration and a first fractional weighting factor, added to the product of the instantaneous bit rate of the data unit under consideration and a second fractional weighting factor, wherein at least one fractional weighting factor is not a constant but instead based on the time between data units.
摘要:
A system and process for controlling the coding bit rate of streaming media data is presented where a server streams data that exhibits one of a number of coding bit rates supported by the server. Initially, the server chooses the coding bit rate. However, after this startup period, the client provides coding bit rate requests. The server transmits the streaming media data at the most appropriate supported coding bit rate closest to the rate requested. The coding bit rates requested are those estimated to provide a high quality playback of the streaming data while still keeping a decoder buffer of the client filled to a desired level. A leaky bucket model is incorporated so that the changes in buffer duration due to natural variation in the instantaneous coding bit rate are not mistaken for changes in buffer duration due to network congestion.
摘要:
A system and process for controlling the coding bit rate of streaming media data is presented where a server streams data that exhibits one of a number of coding bit rates supported by the server. Initially, the server chooses the coding bit rate. However, after this startup period, the client provides coding bit rate requests. The server transmits the streaming media data at the most appropriate supported coding bit rate closest to the rate requested. The coding bit rates requested are those estimated to provide a high quality playback of the streaming data while still keeping a decoder buffer of the client filled to a desired level. A leaky bucket model is incorporated so that the changes in buffer duration due to natural variation in the instantaneous coding bit rate are not mistaken for changes in buffer duration due to network congestion.
摘要:
A system and process for controlling the coding bit rate of streaming media data is presented. This coding bit rate control involves dynamically adjusting the coding bit rate to control client buffer duration to prevent the buffer from underflowing, while keeping the average coding bit rate close to the average transmission bit rate of the network (an thus maximizing the quality of the data playback). Using the theory of optimal linear quadratic control, the client buffer duration is kept as close as possible to a target level while still keeping the coding bit rate (and hence the quality) as constant as possible. In addition, a leaky bucket model is incorporated into the control loop so that the changes in buffer duration due to natural variation in the instantaneous coding bit rate are not mistaken for changes in buffer duration due to network congestion.
摘要:
A method and system that enhances a user's performance while interacting with an interactive internet application such as a Massively Multiplayer Online (MMO) game is provided. The network latency experienced by users participating in the MMO game is minimized by dynamically determining an optimal transmission action for a message generated by the MMO game. In one embodiment, determining the optimal transmission action for a message includes dynamically determining the optimal number of redundant Forward Error Correction (FEC) packets to add to a message prior to transmitting a message to a receiving device. The optimal number of FEC packets is determined based on a wide range of varying network conditions.