Abstract:
Embodiments are configured to provide communication features, including providing channel condition estimates for a communication path, such as packet loss, jitter, and/or available bandwidth, but are not so limited. In an embodiment, a method uses aspects of in-band data packets to provide channel condition estimates. In one embodiment, a system includes a bandwidth estimation component that operates to classify payload packets as part of performing capacity estimation and available bandwidth estimation operations.
Abstract:
Technologies are described herein for buffer management during real-time streaming. A video frame buffer stores video frames generated by a real-time streaming video capture device. New video frames received from the video capture device are stored in the video frame buffer prior to processing by a video processing pipeline that processes frames stored in the video frame buffer. A buffer manager determines whether a new video frame has been received from the video capture device and stored in the video frame buffer. When the buffer manager determines that a new video frame has arrived at the video frame buffer, it then determines whether the video processing pipeline has an unprocessed video frame. If the video processing pipeline has an unprocessed video frame, the buffer manager discards the new video frame stored in the video frame buffer or performs other processing on the new video frame.
Abstract:
Technologies for handling early media in VoIP communications with multiple endpoints are provided. A calling device sends an initial VoIP call request to multiple destination devices, or endpoints. The calling device then receives a provisional response from one or more of the destination devices that includes media streaming parameters regarding the destination device. The calling device creates a media context associated with the destination device that contains the media streaming parameters and stores the media context. The calling device uses the media context to establish a media connection with the destination. One of the destination devices returning a provisional response is selected to exchange early media over the media connection established with the destination device.
Abstract:
A traffic shaper spaces out bursts of non-audio data traffic while allowing audio packets to be delivered in a more timely manner. The packets of bursts of non-audio packets are spaced such that audio packets are delivered at approximately the same spacing as before a burst of non-audio packets are submitted to be delivered. The packets for the non-audio data packets are scheduled based on the currently available bandwidth.
Abstract:
Technologies are described herein for detecting and managing congestion on a shared network link. A determination is made whether the shared network link is congested based on loss rate and round-trip time (RTT) between a computer and a receiver operatively coupled by the shared network link. Upon determining that the shared network link is congested, a back-off operation is performed on the computer. The back-off operation may reduce an allocated bandwidth of the computer on the shared network link by transforming a higher allocated bandwidth into a lower allocated bandwidth.
Abstract:
Instead of utilizing a centralized server or hardware (routers/gateways) to enforce connectivity policy restrictions, the policy connectivity restrictions for media session traffic are enforced by an endpoint that is involved in the media communication. Based on the policy requirements, the client enforces the policy restrictions by restricting the candidates that may be selected for the establishment of the media path. For example, the enforcement may result in the client selecting a path from available candidates that avoids congested Wide Area Network (WAN) links, avoiding a low bandwidth link, or possibly even failing the communication completely. The clients may also provide periodic updates to the policy server to allow tracking of the utilization of managed WAN links.
Abstract:
Embodiments are configured to provide communication environments to communicating participants using a number of modality control features, but are not so limited. In an embodiment, a system includes a communications manager to manage an amount of available communication bandwidth to a number of communication modalities that include an audio modality, a video modality, an application sharing modality, and/or a file transfer modality. In one embodiment, available bandwidth can be distributed by controlling an audio state, a video state, an application sharing state, and/or a file transfer state, including using first and second distribution ratios as part of allocating available bandwidth.
Abstract:
Video send and receive capabilities of participants are determined by the respective machines determining available combinations, as well as preferences for the receivers. Receiver capabilities are forwarded to the source for computation of negotiated video capabilities through a logic intersection of the determined capabilities based on desired number of streams and resolutions. If a resolution of a send capability exists within the receive capability, the highest frame and/or bit rate may be selected for transmission.
Abstract:
Technologies are described herein for buffer management during real-time streaming. A video frame buffer stores video frames generated by a real-time streaming video capture device. New video frames received from the video capture device are stored in the video frame buffer prior to processing by a video processing pipeline that processes frames stored in the video frame buffer. A buffer manager determines whether a new video frame has been received from the video capture device and stored in the video frame buffer. When the buffer manager determines that a new video frame has arrived at the video frame buffer, it then determines whether the video processing pipeline has an unprocessed video frame. If the video processing pipeline has an unprocessed video frame, the buffer manager discards the new video frame stored in the video frame buffer or performs other processing on the new video frame.
Abstract:
Video send and receive capabilities of participants are determined by the respective machines determining available combinations, as well as preferences for the receivers. Receiver capabilities are forwarded to the source for computation of negotiated video capabilities through a logic intersection of the determined capabilities based on desired number of streams and resolutions. If a resolution of a send capability exists within the receive capability, the highest frame and/or bit rate may be selected for transmission.