Reliable event broadcaster with multiplexing and bandwidth control functions
First Claim
1. A method for distributing events associated with a datacast application, the method comprising:
- receiving a registration of at least one application including a specification of a level of delivery quality of service corresponding to the application and a specification of a maximum priority level corresponding to the application, the maximum priority level selected from an ordered plurality of priority levels;
opening a plurality of event sessions requested by the application including associating each of the plurality of event sessions with one of a plurality of distinct session priority levels specified by the application, each of the specified plurality of distinct session priority levels being restricted so as not to exceed the maximum priority level specified for the application; and
for each of the plurality of event sessions, at least;
converting the level of the delivery quality of service to an expected bandwidth for the event session;
a bandwidth requirement;
allocating bandwidth to the event session based at least in part on the expected bandwidth for the event session and the associated session priority level for the event session;
receiving a publication of at least one event object associated with the event session;
responsive to receiving the publication of the at least one event object, generating a plurality of data packets corresponding to a segmentation of the event object, wherein the data packets are generated at a rate corresponding to the bandwidth allocated to the event session; and
requirement; and
transmitting the data packets of the event object to at least one client device over a broadcast or multicast communication network.
12 Assignments
0 Petitions
Accused Products
Abstract
A system, apparatus, and method for transmitting data in a broadcast mode to multiple devices operating in a network. The invention enables the efficient utilization of bandwidth while providing a desired level of quality of service for the applications executing on the devices that utilize the broadcasted data. The invention utilizes a set of bandwidth constraints in combination with a set of heuristics and rules for the allocation and re-allocation of bandwidth among multiple applications in a manner that minimizes the impact on the quality of service metrics of importance to the affected applications when contention exists for the network resources. The present invention implements processes to cause the quality of service provided to each application to degrade smoothly, with certain priorities and guarantees being maintained. The present invention also provides event segmentation and reassembly functions for applications, and includes reliability mechanisms to increase the ability to provide data to client devices that have not been actively receiving for significant periods of time.
97 Citations
21 Claims
-
1. A method for distributing events associated with a datacast application, the method comprising:
-
receiving a registration of at least one application including a specification of a level of delivery quality of service corresponding to the application and a specification of a maximum priority level corresponding to the application, the maximum priority level selected from an ordered plurality of priority levels; opening a plurality of event sessions requested by the application including associating each of the plurality of event sessions with one of a plurality of distinct session priority levels specified by the application, each of the specified plurality of distinct session priority levels being restricted so as not to exceed the maximum priority level specified for the application; and for each of the plurality of event sessions, at least; converting the level of the delivery quality of service to an expected bandwidth for the event session;
a bandwidth requirement;allocating bandwidth to the event session based at least in part on the expected bandwidth for the event session and the associated session priority level for the event session; receiving a publication of at least one event object associated with the event session; responsive to receiving the publication of the at least one event object, generating a plurality of data packets corresponding to a segmentation of the event object, wherein the data packets are generated at a rate corresponding to the bandwidth allocated to the event session; and
requirement; andtransmitting the data packets of the event object to at least one client device over a broadcast or multicast communication network. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A datacasting system for event broadcasting distribution of a plurality of applications, the system including a broadcast server comprising:
-
a register element for registering an application with a level of delivery quality of service corresponding to the application and a maximum priority level corresponding to the application, the maximum priority level selected from an ordered plurality of priority levels, the application configured at least to request that the broadcast server open a plurality of event sessions requested by the application and associate each of the plurality of event sessions with one of a plurality of distinct session priority levels specified by the application, the broadcast server limiting each of the specified plurality of distinct session priority levels to the maximum priority level specified for the application, and wherein, for each of the plurality of event sessions, the level of delivery quality of service is converted to an expected bandwidth for the event session; a bandwidth allocation element for allocating bandwidth to the plurality of event sessions based at least in part on the expected bandwidths for the plurality of event sessions and the associated session priority levels for the plurality of event sessions; a publication element for accepting publication of at least one event object associated with at least one of the plurality of event sessions; a packet generator for generating a plurality of data packets corresponding to a segmentation the event object, wherein the data packets are generated at a rate corresponding to the bandwidth allocated to at least one of the plurality of event sessions with which the event object is associated; and a network communication element for formatting the data packets for transmission over a communication network.
-
Specification