Matching encoder output to network bandwidth
First Claim
Patent Images
1. A method comprising:
- identifying a plurality of communication networks reachable by a host mobile device;
selecting, from the plurality of communication networks reachable by the host mobile device, a communication network providing higher bandwidth than one or more other communication networks of the plurality of communication network, the selecting being based on bandwidth characteristics of the plurality of communication networks;
obtaining from an external data store, one or more performance properties corresponding to the selected communication network;
measuring, by a processing device, one or more network performance metrics of the selected communication network using a plurality of data units sent from the host mobile device to a target via the selected communication network;
determining an estimated available bandwidth based on the measured network performance metrics, the performance properties obtained from the external data store, and a reliability attributed to the performance properties stored in the external data store;
configuring, by the processing device and according to the estimated available bandwidth, a codec selected from a plurality of codecs implemented in the host mobile device to achieve an output rate of the codec that is optimal for the available bandwidth from the host mobile device to the target via the selected communication network, the configuring comprises adjusting one or more parameters of the codec based upon the estimated available bandwidth;
encoding, by the processing device, data using the configured codec; and
transmitting, by the processing device, the encoded data to the target via the selected network.
2 Assignments
0 Petitions
Accused Products
Abstract
Implementations include a method, systems, and computer program products for adaptively configuring codecs to transmit encoded data to better utilize available bandwidth of reachable networks. One implementation is a method of transmitting encoded data from a host to a target. The method includes, selecting a communication network reachable by the host, estimating an available bandwidth from the host to the target via the selected communication network, configuring a codec from a plurality of codecs implemented in the host according to the estimated available bandwidth, encoding data using the configured codec, and transmitting the encoded data to the target.
-
Citations
16 Claims
-
1. A method comprising:
-
identifying a plurality of communication networks reachable by a host mobile device; selecting, from the plurality of communication networks reachable by the host mobile device, a communication network providing higher bandwidth than one or more other communication networks of the plurality of communication network, the selecting being based on bandwidth characteristics of the plurality of communication networks; obtaining from an external data store, one or more performance properties corresponding to the selected communication network; measuring, by a processing device, one or more network performance metrics of the selected communication network using a plurality of data units sent from the host mobile device to a target via the selected communication network; determining an estimated available bandwidth based on the measured network performance metrics, the performance properties obtained from the external data store, and a reliability attributed to the performance properties stored in the external data store; configuring, by the processing device and according to the estimated available bandwidth, a codec selected from a plurality of codecs implemented in the host mobile device to achieve an output rate of the codec that is optimal for the available bandwidth from the host mobile device to the target via the selected communication network, the configuring comprises adjusting one or more parameters of the codec based upon the estimated available bandwidth; encoding, by the processing device, data using the configured codec; and transmitting, by the processing device, the encoded data to the target via the selected network. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A host mobile device, comprising:
-
at least one network interface; at least one codec communicatively coupled to the at least one network interface; and at least one processor, coupled to the network interface and the codec, to; identify a plurality of communication networks reachable by the host mobile device; select, from the plurality communication networks reachable by the host mobile device, a communication network providing higher bandwidth than one or more other communication networks of the plurality of communication network, the selecting being based on bandwidth characteristics of the plurality of communication networks; obtain from an external data store, one or more performance properties corresponding to the selected communication network; measure one or more network performance metrics of the selected communication network using a plurality of data units sent from the host mobile device to a target via the selected communication network; determine an estimated available bandwidth based on the measured network performance metrics, the performance properties obtained from the external data store, and a reliability attributed to the performance properties stored in the external data store; configure, according to the estimated available bandwidth, a codec selected from a plurality of codecs implemented in the host mobile device to achieve an output rate of the codec that is optimal for the available bandwidth from the host mobile device to the target via the selected communication network, wherein to configure the codec, the at least one processor is to adjust one or more parameters of the codec based upon the estimated available bandwidth; encode data using the configured codec; and transmit the encoded data to the target via the selected network. - View Dependent Claims (11)
-
-
12. A non-transitory computer readable storage medium having instructions that, when executed by a processing device, cause the processing device to perform operations comprising:
-
identifying a plurality of communication networks reachable by a host mobile device; selecting, from the plurality of communication networks reachable by the host mobile device, a communication network providing higher bandwidth than one or more other communication networks of the plurality of communication network, the selecting being based on bandwidth characteristics of the plurality of communication networks; obtaining from an external data store, one or more performance properties corresponding to the selected communication network; measuring one or more network performance metrics of the selected communication network using a plurality of data units sent from the host mobile device to a target via the selected communication network; determining an estimated available bandwidth based on the measured network performance metrics, the performance properties obtained from the external data store, and a reliability attributed to the performance properties stored in the external data store; configuring, according to the estimated available bandwidth, a codec selected from a plurality of codecs implemented in the host mobile device to achieve an output rate of the codec that is optimal for the available bandwidth from the host mobile device to the target via the selected communication network, the configuring comprises adjusting one or more parameters of the codec based upon the estimated available bandwidth; encoding data using the configured codec; and transmitting the encoded data to the target via the selected network. - View Dependent Claims (13, 14, 15, 16)
-
Specification