Hierarchical routing and interface selection for multi-processor multimode network devices
First Claim
1. A method for selecting a network connection for an application running on a first processor within a computing device, comprising:
- receiving, in the first processor, request from the application to connect to a network, wherein the request from the application includes network selection policy parameters comprising at least one of a technology preference, a data rate requirement, a quality of service, and a desired network capability; and
performing a hierarchical interface selection procedure among a plurality of processors, wherein the hierarchical interface selection procedure comprises;
enumerating a list of available real interfaces on the first processor;
enumerating a list of available remote processors directly coupled to the first processor, wherein each of the available remote processors is associated with at least one proxy interface representing a network interface on that remote processor;
receiving in the first processor, from each available remote processor through at least one of the proxy interfaces, information about a selected best network interface available on that remote processor, wherein the selected best network interface is based on an interface match index I computed for each of the available network interfaces on that remote processor;
evaluating how well each available real interface on the first processor satisfies the network selection policy parameters by computing an interface match index I for each of the available real interfaces; and
selecting a highest matching network interface associated with a largest interface match index I corresponding to the network selection policy parameters from among the available real interfaces and proxy interfaces.
1 Assignment
0 Petitions
Accused Products
Abstract
The embodiments simplify the development of applications for current and future wireless communication devices, resolving the deficiencies of current methods by providing a hierarchical routing layer which abstracts the actual proximity of the network connection. An application can request and receive a type of network connection without having to address details of the actual connection established. A hierarchical routing layer is provided within the software architecture of each processor within the computing device. The hierarchical routing layer abstracts the actual proximity of the network connectivity on the modem from the applications using proxy network interfaces. The hierarchical routing layers on each processor cooperate to identify a best network interface for an application network request. The routing layer enables response to an application request for a network interface in a simple manner regardless of whether the network interface is provided on the application host processor or another processor.
18 Citations
53 Claims
-
1. A method for selecting a network connection for an application running on a first processor within a computing device, comprising:
-
receiving, in the first processor, request from the application to connect to a network, wherein the request from the application includes network selection policy parameters comprising at least one of a technology preference, a data rate requirement, a quality of service, and a desired network capability; and performing a hierarchical interface selection procedure among a plurality of processors, wherein the hierarchical interface selection procedure comprises; enumerating a list of available real interfaces on the first processor; enumerating a list of available remote processors directly coupled to the first processor, wherein each of the available remote processors is associated with at least one proxy interface representing a network interface on that remote processor; receiving in the first processor, from each available remote processor through at least one of the proxy interfaces, information about a selected best network interface available on that remote processor, wherein the selected best network interface is based on an interface match index I computed for each of the available network interfaces on that remote processor; evaluating how well each available real interface on the first processor satisfies the network selection policy parameters by computing an interface match index I for each of the available real interfaces; and selecting a highest matching network interface associated with a largest interface match index I corresponding to the network selection policy parameters from among the available real interfaces and proxy interfaces. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A mobile device, comprising:
-
a first processor; a memory coupled to the first processor; and a wireless receiver circuit coupled to the first processor and configured to receive signals from a wireless communication network, wherein the first processor is configured with processor-executable instructions to perform operations comprising; receiving a request from an application to connect to a network, wherein the request from the application includes network selection policy parameters comprising at least one of a technology preference, a data rate requirement, a quality of service, and a desired network capability; and performing a hierarchical interface selection procedure among a plurality of processors, wherein the hierarchical interface selection procedure comprises; enumerating a list of available real interfaces on the first processor; enumerating a list of available remote processors directly coupled to the first processor, wherein each of the available remote processors is associated with at least one proxy interface representing a network interface on that remote processor; receiving, from each available remote processor through at least one of the proxy interfaces, information about a selected best network interface available on that remote processor, wherein the selected best network interface is based on an interface match index I computed for each of the available network interfaces on that remote processor; evaluating how well each available real interface on the first processor satisfies the network selection policy parameters by computing an interface match index I for each of the available real interfaces; and selecting a highest matching network interface associated with a largest interface match index I corresponding to the network selection policy parameters from among the available real interfaces and proxy interfaces. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26)
-
-
27. A mobile device, comprising:
-
means for receiving in a first processor, a request from an application to connect to a network, wherein the request from the application includes network selection parameters comprising at least one of technology preference, a data rate requirement, a quality of service, and a desired network capability; and means for performing a hierarchical interface selection procedure among a plurality of processors, wherein means for performing the hierarchical interface selection procedure comprises; means for enumerating a list of available real interfaces on the first processor; means for enumerating a list of available remote processors directly coupled to the first processor, wherein each of the available remote processors is associated with at least one proxy interface representing a network interface on that remote processor; means for receiving, from each available remote processor through at least one of the proxy interfaces, information about a selected best network interface available on that remote processor, wherein the selected best network interface is based on an interface match index I computed for each of the available network interfaces on that remote processor; means for evaluating how well each available real interface on the first processor satisfies the network selection policy parameters by computing an interface match index I for each of the available real interfaces; and means for selecting a highest matching network interface associated with a largest interface match index I corresponding to the network selection policy parameters from among the available real interfaces and proxy interfaces. - View Dependent Claims (28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39)
-
-
40. A non-transitory processor-readable storage medium having stored thereon processor-executable instructions configured to cause a processor to perform operations comprising:
-
receiving, in a first processor, a request from an application to connect to a network, wherein the-request from the application includes network selection policy parameters comprising at least one of technology preference, a data rate requirement, a quality of service, and a desired network capability; and performing a hierarchical interface selection procedure among a plurality of processors, wherein the hierarchical interface selection procedure comprises; enumerating a list of available real interfaces on the first processor; enumerating a list of available remote processors directly coupled to the first processor, wherein each of the available remote processors is associated with at least one proxy interface representing a network interface on that remote processor; receiving in the first processor, from each available remote processor through at least one of the proxy interfaces, information about a selected best network interface available on that remote processor, wherein the selected best network interface is based on an interface match index I computed for each of the available network interfaces on that remote processor; evaluating how well each available real interface on the first processor satisfies the network selection policy parameters by computing an interface match index I for each of the available real interfaces; and selecting a highest matching network interface associated with a largest interface match index I corresponding to the network selection policy parameters from among the available real interfaces and proxy interfaces. - View Dependent Claims (41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52)
-
-
53. A method for selecting a network connection for an application running on a first processor within a computing device, comprising:
-
receiving, in the first processor, a request from the application to connect to a network, wherein the request from the application includes network selection policy parameters comprising at least one of a technology preference, a data rate requirement, a quality of service, and a desired network capability; and performing a hierarchical interface selection procedure among a plurality of processors, wherein the hierarchical interface selection procedure comprises; enumerating a list of available real interfaces on the first processor; enumerating a list of available remote processors directly coupled to the first processor, wherein each of the available remote processors is associated with at least one proxy interface representing a network interface on that remote processor; receiving in the first processor, from each available remote processor through at least one of the proxy interfaces, information about a selected best network interface available on that remote processor, wherein the selected best network interface is based on an interface match index I computed for each of the available network interfaces on that remote processor; evaluating how well each available real interface on the first processor satisfies the network selection policy parameters by computing an interface match index I for each of the available real interfaces; and selecting a highest matching network interface associated with a largest interface match index I corresponding to the network selection policy parameters from among the available real interfaces and proxy interfaces; and initiating a network configuration for the selected network interface best matching the network selection policy parameters, wherein initiating the network configuration comprises; determining whether the selected network interface best matching the network selection policy parameters is an interface available on the first processor or on one of the available remote processors; and automatically connecting a data path to the selected network interface best matching the network selection policy parameters in response to determining that the selected network interface is available on one of the available remote processors.
-
Specification