Patent classifications
H04L65/752
System and Method for Streaming Content from Multiple Servers
A system and a method for media streaming from multiple sources are disclosed. A content requesting client device accesses a server to receive a list of available sources that may include multiple Content Delivery Networks (CDNs) and independent servers. Based on a pre-set criteria, such as the source delivery performance and cost, the client device partitions the content into parts, allocates a source to each part, and simultaneously receives media streams of the content parts from the allocated sources. The server may be a Video-on-Demand (VOD) server, and the content may be a single file of a video data, such as a movie. The delivery performance of the used sources is measured during the streaming for updating the partition or the allocation. The updated measured performance may be stored locally at the client device, or at a server for use by other clients. The client actions may be implemented as a client-side script.
Telecommunication and multimedia management method and apparatus
A telecommunication and multimedia management apparatus and method that supports voice and other media communications and that enables users to: (i) participate in multiple conversation modes, including live phone calls, conference calls, instant voice messaging or tactical communications; (ii) review the messages of conversations in either a live mode or a time-shifted mode and to seamlessly transition back and forth between the two modes; (iii) participate in multiple conversations either concurrently or simultaneously; (iv) archive the messages of conversations for later review or processing; and (v) persistently store media either created or received on the communication devices of users. The latter feature enables users to generate or review media when either disconnected from the network or network conditions are poor and to optimize the delivery of media over the network based on network conditions and the intention of the users participating in conversations.
DATA STREAM PRIORITIZATION FOR COMMUNICATION SESSION
A method for data stream prioritization by a session controller is described. Usage data associated with a video communication session is received for one or more client devices of the video communication session. The usage data is based on content within data streams of the video communication session. A first client device of the one or more client devices is identified as having a higher priority level during the video communication session based on the usage data. Instructions are sent to the first client device during the video communication session causing the first client device to improve a quality of a first data stream generated by the first client device for the video communication session.
Merging Streams In Virtual Channel For Call Enhancement In Virtual Desktop Infrastructure
Calls run through a virtual desktop infrastructure server are enhanced by opening a media channel between a personal computing device and a media server for a call initiated using a virtual desktop infrastructure server. A first stream of media data for the call is merged with a second stream of media data for the call in a single virtual channel of the protocol using a first packet queue to store packets of the first stream and a second packet queue to store packets of the second stream as the packets await transmission. A first packet of media data of the first stream is pushed into the first packet queue. A fill level of the first packet queue is compared to a first congest threshold associated with the first packet queue. Responsive to the fill level exceeding the first congest threshold, a congestion mitigation measure is invoked.
STREAMING ALGORITHM FOR DEFICIT ROUND ROBIN ARBITRATION
Methods and systems are provided for implementing a streaming deficit round robin arbiter to provide fair utilization of a single link. In some aspects, methods and systems are provided and can include specifying a quantum size indicating how much of a link of a stream is available for use, adding the quantum size to a deficit counter indicating available bandwidth, determining whether to provide a first data packet to an autonomous vehicle system based on the deficit counter and without determining a data packet size of the first data packet, and providing the first data packet to the autonomous vehicle system based on the determining of whether to provide the first data packet to the autonomous vehicle system.
DATA STREAMING PROTOCOLS IN EDGE COMPUTING
Systems and methods are provided for reducing stream data according to a data streaming protocol under a multi-access edge computing. In particular, an IoT device, such as a video image sensing device, may capture stream data and generate inference data by applying a machine-learning model trained to infer data based on the captured stream data. The inference data represents the captured stream data in a reduced data size based on performing data analytics on the captured data. The IoT device formats the inference data according to the data streaming protocol. In contrast to video data compression, the data streaming protocol includes instructions for transmitting the reduced volume of inference data through a data analytics pipeline.
MEDIA SERVER MANAGEMENT FOR COMMUNICATION SESSION
A method for communication session management by a session controller is described. Usage data associated with a video communication session is received for data stream handlers of a first network topology, which handle data streams of the video communication session at a first time. The first network topology includes a plurality of client devices and at least a first media server. A second network topology is determined based on the usage data to handle the data streams when a network parameter and/or an application parameter reaches a corresponding update threshold. Data stream handlers of the second network topology include at least a second media server. The data stream handlers of the second network topology are configured to handle the data streams at a second time, including instructing the first media server to offload at least some of the data streams to the second media server.
Reducing Decode Delay at a Client Device
Various implementations disclosed herein include devices, systems, and methods for reducing a decode delay at a client device. In some implementations, a device includes one or more processors and a non-transitory memory. In some implementations, a method includes determining that a client device is being switched from a real-time content presentation mode in which the client device presents real-time content to a buffered content presentation mode in which the client device presents buffered content. In some implementations, the method includes transmitting, to the client device, video frames corresponding to the buffered content at a first transmission rate. In some implementations, the method includes changing the first transmission rate to a second transmission rate based on an indication that a number of bits stored in a buffer of the client device satisfies a decode threshold.
Systems and methods for quick start-up of playback
Systems and methods for quick start-up of playback in accordance with embodiments of the invention are disclosed. Media content may be encoded in a plurality of alternative streams and a quick start-up stream. The quick start-up stream may include media content that is encoded at a lower quality that the alternative streams and may be encrypted with a different, less secure encryption process than that of the alternative streams. During a start-up of playback, the playback device streams the media content from a quick start-up stream until a metric, such as a decryption key for the alternative streams is met. The device then streams the media content from the alternative streams in response to the metric being met.
Selection of images to transmit as part of video conference based on network issues and/or other conditions
In one aspect, a first device may include at least one processor and storage accessible to the at least one processor. The storage may include instructions executable by the at least one processor to, during video conferencing and based on at least one identified condition (such as an issue with a network being used for the video conferencing), select a first image from plural images received from a camera. The plural images may be associated with the video conferencing. The instructions may also be executable to provide the first image to a second device different from the first device but decline to provide at least a second image from the plural images.