Patent ID: 8488577

Claim:
A method of controlling network access on a user mobile computing device, the method comprising: receiving, at a network layer of a protocol stack of a mobile computing device comprising two or more communications interfaces, one or more data packets from an application executing on the mobile computing device, wherein the two or more communication interfaces comprise a cellular communication interface and a wireless network interface; identifying, at the network layer upon receiving the one or more data packets, one or more rules that specify at least one of a plurality of networks to utilize to transmit the one or more data packets, wherein the one or more rules are based on at least two of: a type of the at least one of the plurality of networks, an operating state of the user mobile computing device, and the application executing on the user mobile computing device; based on the one or more rules, selecting, at the network layer, a communication interface from the two or more communications interfaces associated with the at least one of the plurality of networks for transmitting the one or more data packets; and transmitting the one or more data packets over the at least one of the plurality of networks selected by the user mobile computing device, wherein the one or more rules comprise a bandwidth on the communication interface, a time to send the data packet, a delay or an estimated delay, a power consumption required, a cost to send the data packet, a bandwidth quota remaining with a service provider, an accumulated cost on a given account, an exclusion of specific times and dates, a battery life remaining on a device, an estimated time until a user next interacts with the device, and/or a transmission cost per byte.