Mobile network operating method
First Claim
1. A network routing method comprising:
- operating a mobile computing device in a cellular network environment wherein the mobile computing device includes a subnet microprocessor, a subnet memory module in communication with the subnet microprocessor, a cellular network interface device in communication with the subnet microprocessor and a local area network interface device in communication with the subnet microprocessor;
operating the cellular network interface device to become a client of a cellular network that provides network access to a WAN, wherein the cellular network interface device is assigned a cellular IP address;
operating a network controller as a node on the WAN, wherein the network controller comprises a controller microprocessor, a controller memory and a WAN network interface device each in communication with the controller microprocessor and wherein the WAN network interface device is assigned a controller IP address;
operating the mobile computing device to establish a local subnet in communication with locally reachable network devices, wherein at least one of the locally reachable network devices is established as a client of the local subnet and wherein, the local subnet assigns each client of the local subnet a subnet IP address;
receiving, by the local subnet, from any client of the local subnet, a subnet data packet comprising, an IP payload and an inner IP header that precedes the IP payload, wherein the inner IP header includes a source IP address corresponding with the subnet IP address of the subnet client that the subnet data packet was received from, and a destination IP address corresponding with a destination IP address of the subnet data packet;
reading by the mobile computing device, from the inner IP header, the destination IP address of the subnet data packet, and the source IP address corresponding with the subnet IP address of the subnet client that the subnet data packet was received from;
determining, by the mobile computing device, if the destination IP address of the subnet data packet is a subnet IP address associated with the local subnet; and
,if not;
assigning, by the mobile computing device, to an exit data packet, a first network route for routing the exit data packet to the controller IP address over the cellular network interface device; and
,modifying, by the mobile computing device, the subnet data packet, to form the exit data packet, wherein the exit data packet comprises, the IP payload, the inner IP header preceding the IP payload, and a tunnel IP header preceding the inner IP header, wherein the tunnel IP header includes a destination IP address corresponding with the controller IP address, and a source IP address corresponding with the cellular IP address;
routing, by the mobile computing device, the exit data packet out of the mobile computing device, over the first network route;
receiving, by the network controller, the exit data packet;
modify, by the network controller, the exit data packet to form a WAN data packet wherein the WAN data packet includes the subnet data packet and a WAN IP header that precedes the subnet data packet, wherein the WAN IP header is configured to route the subnet data packet to the destination IP address of the subnet data packet and further configured to cause one or more reply data packets responsive to the subnet data packet to be routed back to the network controller; and
,modifying, by the network controller, the one or more reply data packets to form a reply tunnel packet that includes the reply data packet and a reply tunnel IP header that precedes the reply data packet, wherein the reply tunnel IP header is configured to route the reply data packet to the mobile computing device.
0 Assignments
0 Petitions
Accused Products
Abstract
A network routing method includes operating a plurality of mobile computing devices in a cellular network environment with each mobile computing device including one or more cellular network interface devices each operable as a client of a cellular network that provides access to a WAN. Non-locally reachable network traffic originating on each mobile computer device is routed the one or more cellular network interfaces to a network controller reachable over the WAN. The network controller receives the non-locally reachable traffic and routes the non-locally reachable traffic to its original destination IP address. The network controller further operates to cause reply traffic responsive to the non-locally reachable traffic to be routed back to the network controller. The network controller further operates to route the reply traffic back to the originating mobile computer device over any of the one more cellular network interfaces.
36 Citations
37 Claims
-
1. A network routing method comprising:
-
operating a mobile computing device in a cellular network environment wherein the mobile computing device includes a subnet microprocessor, a subnet memory module in communication with the subnet microprocessor, a cellular network interface device in communication with the subnet microprocessor and a local area network interface device in communication with the subnet microprocessor; operating the cellular network interface device to become a client of a cellular network that provides network access to a WAN, wherein the cellular network interface device is assigned a cellular IP address; operating a network controller as a node on the WAN, wherein the network controller comprises a controller microprocessor, a controller memory and a WAN network interface device each in communication with the controller microprocessor and wherein the WAN network interface device is assigned a controller IP address; operating the mobile computing device to establish a local subnet in communication with locally reachable network devices, wherein at least one of the locally reachable network devices is established as a client of the local subnet and wherein, the local subnet assigns each client of the local subnet a subnet IP address; receiving, by the local subnet, from any client of the local subnet, a subnet data packet comprising, an IP payload and an inner IP header that precedes the IP payload, wherein the inner IP header includes a source IP address corresponding with the subnet IP address of the subnet client that the subnet data packet was received from, and a destination IP address corresponding with a destination IP address of the subnet data packet; reading by the mobile computing device, from the inner IP header, the destination IP address of the subnet data packet, and the source IP address corresponding with the subnet IP address of the subnet client that the subnet data packet was received from; determining, by the mobile computing device, if the destination IP address of the subnet data packet is a subnet IP address associated with the local subnet; and
,if not; assigning, by the mobile computing device, to an exit data packet, a first network route for routing the exit data packet to the controller IP address over the cellular network interface device; and
,modifying, by the mobile computing device, the subnet data packet, to form the exit data packet, wherein the exit data packet comprises, the IP payload, the inner IP header preceding the IP payload, and a tunnel IP header preceding the inner IP header, wherein the tunnel IP header includes a destination IP address corresponding with the controller IP address, and a source IP address corresponding with the cellular IP address; routing, by the mobile computing device, the exit data packet out of the mobile computing device, over the first network route; receiving, by the network controller, the exit data packet; modify, by the network controller, the exit data packet to form a WAN data packet wherein the WAN data packet includes the subnet data packet and a WAN IP header that precedes the subnet data packet, wherein the WAN IP header is configured to route the subnet data packet to the destination IP address of the subnet data packet and further configured to cause one or more reply data packets responsive to the subnet data packet to be routed back to the network controller; and
,modifying, by the network controller, the one or more reply data packets to form a reply tunnel packet that includes the reply data packet and a reply tunnel IP header that precedes the reply data packet, wherein the reply tunnel IP header is configured to route the reply data packet to the mobile computing device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A network routing method comprising the steps of:
-
operating, a mobile computing device, in a cellular network environment, wherein the mobile computing device comprises, a subnet microprocessor, a subnet memory module in communication with the subnet microprocessor, one or more local area network interface devices in communication with the subnet microprocessor and a plurality of cellular network interface devices in communication with the subnet microprocessor; operating, a network controller comprising, a controller microprocessor, a controller memory module, in communication with the controller microprocessor, and a Wide Area Network interface device in communication with the controller microprocessor, wherein the network controller is established as a client of a Wide Area Network (WAN) and is assigned, a controller IP address; establishing, by the one or more local area network interface devices, one or more local subnets operating on the mobile computing device, wherein each local subnet comprises at least one locally reachable network device operating as a client thereof and wherein each client thereof is assigned, a subnet IP address corresponding with one of the one or more local subnets; operating at least two of the plurality of cellular network interface devices as a client of a cellular network that provides network access to the WAN, wherein each client of the cellular network is assigned, a cellular IP address corresponding with the cellular network; receiving, by the mobile computing device, from one or more clients of the one or more local subnets, a plurality of subnet data packets, wherein each subnet data packet comprises, an IP payload and an IP inner header that precedes the IP payload, wherein the IP inner header lists therein, a destination IP address of the IP payload, a source IP address corresponding with a subnet IP address of the subnet client device that the subnet data packet was received from, and first control data; reading, by the mobile computing device, from the inner IP header of each of the plurality of subnet data packets, the destination IP address of the IP payload, the source IP address corresponding with the subnet IP address of the subnet client device that the subnet data packet was received from, and the first control data; determining, by the mobile computing device, for each of the plurality of subnet data packets received thereby, if the destination IP address of the IP payload is a locally reachable subnet IP address corresponding with one of the one or more local subnets; and
,if not; selecting, by the mobile computing device, one of the at least two clients of the cellular network as a first network route for routing each subnet data packet not having a locally reachable destination IP address out of the mobile computing device; modifying, by the mobile computing device, each subnet data packet, not having a locally reachable destination IP address, to form a corresponding exit data packet configured to be routed to the network controller over the selected client of the cellular network; and
,routing, by the mobile computing device, the exit data packet to the network controller over the selected client of the cellular network. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36)
-
-
37. A network routing method comprising:
-
deploying, a network controller, on a network reachable from a WAN, wherein the network controller comprises a controller microprocessor and an associated controller memory module and one or more WAN network interface devices in communication with the controller microprocessor, wherein the one or more WAN network interface devices is each assigned a controller IP address and wherein the network controller is not operated as an autonomous system router of the WAN; deploying, a mobile computing device, in a cellular network environment, wherein the mobile computing device comprises, a subnet microprocessor, and an associated subnet memory module, one or more local area network interface devices, each in communication with the subnet microprocessor, and a cellular network interface device in communication with the subnet microprocessor, wherein clients of the local area network are each assigned, a subnet IP address, and wherein the cellular network interface device is established as a client of a cellular network that provides a gateway to the WAN and is assigned, a cellular IP address by the cellular network; receiving, by the mobile computing device, from clients of the local area network, a plurality of subnet data packets that have a destination IP address that is not a subnet IP address; assigning, by the mobile computing device, to each subnet data packet that has a destination IP address that is not a subnet IP address, a first network route that exits the mobile computing device over the cellular network interface device, passes over the cellular network to the WAN gateway and passes over the WAN to the controller IP address; modifying, by the mobile computing device, each subnet data packet that has a destination IP address that is not a subnet IP address, to form a corresponding exit data packet, wherein the corresponding exit data packet comprises the subnet data packet encapsulated by a tunnel IP header wherein the tunnel IP header is configured to route the exit data packet over the first network route; receiving, by the network controller, the plurality of exit data packets over the one or more WAN interface devices; removing, by the network controller, the tunnel IP header from each exit data packet to reveal the corresponding subnet data packet; forming, by the network controller, a WAN data packet corresponding with the subnet data packet by encapsulating the subnet data packet with a WAN IP header wherein the WAN IP header is configured to route the WAN data packet to the destination IP address of the subnet data packet and to generate a reply data packet responsive to the WAN data packet that is routed back to the network controller over the one or more WAN interface devices.
-
Specification