# US 9,521,243 B2 · Devices, systems and methods for enabling network connectivity

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 9,521,243 B2
- Document ID: US9521243B2
- Status: Granted
- Kind: B2
- Application number: 14/774,978
- Filed: 2014-03-14
- Published: 2016-01-28
- Granted: 2016-12-13
- Earliest claimed: 2013-03-15
- Assignees: Ushahidi, Inc.
- Applicants: Ushahidi, Inc.
- Inventors: Reginald Orton; Erik Hersman; Philip Walton; Emmanuel Kala; Jonathan Shuler; Nathaniel Manning; David Kobia
- Web page: https://patentgrep.com/patent/US9521243B2

## CPC

- H04W 76/10: Connection setup
- H04M 1/72448: with means for adapting the functionality of the device according to specific conditions
- H04W 8/22: Processing or transfer of terminal data, e.g. status or physical capabilities
- H04W 24/02: Arrangements for optimising operational condition
- H04W 24/04: Arrangements for maintaining operational condition
- H04W 28/0268: {using specific QoS parameters for wireless networks, e.g. QoS class identifier [QCI] or guaranteed bit rate [GBR] (negotiating SLA or negotiating QoS H04W28/24)}
- H04W 48/18: Selecting a network or a communication service
- H04W 52/0261: {managing power supply demand, e.g. depending on battery level}
- H04W 52/0296: {switching to a backup power supply}
- H04W 84/12: WLAN [Wireless Local Area Networks]
- Y02D 30/70: in wireless communication networks
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)
- H04M: TELEPHONIC COMMUNICATION (circuits for controlling other apparatus via a telephone cable and not involving telephone switching apparatus G08)
- Y02D: CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE

## Abstract

Techniques, including systems, devices and methods, for enabling network connectivity are described. In particular, systems, devices and methods for flexibly configuring network connections for reliability and/or extensibility are described. Such techniques include improving reliability of network connections by adaptively utilizing multiple network and electrical power configurations. The disclosed techniques also include enabling user-definable network functionality through a variety of methods.

## Claims

### Claim 1

A network connectivity device for use in low-resource environments, the device comprising:
a plurality of external network interfaces each configured to connect to one of a plurality of external networks, at least a subset of the plurality of external networks having a first type and at least one of the external networks not in the subset of the plurality having a second type differing from the first type;
at least one internal network interface configured to connect to one or more user devices;
a power connection configured to power the network connectivity device, the power connection having at least a coupled external power source and a battery-based internal power source;
one or more processors configured to:
select, based on a detection by the one or more processors of quality of the external power source, at least one of the external power source or the internal power source for use by the power connection to power the network connectivity device;
select, based on quality of network functionality of each of the plurality of external networks, between at least the first and second type of the external networks, wherein the quality of network functionality is determined based at least in part on the detected quality of power, and wherein the detected quality of power enables the one or more processors to predict a future change in the quality of network functionality of at least one of the plurality of external networks; and
configure the internal network interface to connect the one or more user devices to the selected type of external network.

### Claim 2 (depends on 1)

The device of claim 1, wherein the plurality of external network interfaces includes a mobile network interface, a WiFi network interface, and an Ethernet network interface.

### Claim 3 (depends on 1)

The device of claim 1, further comprising an embedded computing system capable of controlling one or more functionalities of the network connectivity device.

### Claim 4 (depends on 3)

The device of claim 3, wherein the embedded computing system includes an off-the-shelf computing device.

### Claim 5 (depends on 3)

The device of claim 3, wherein the one or more functionalities include administrative functions and configurative functions.

### Claim 6 (depends on 5)

The device of claim 5, wherein the administrative functions are exposed through a web-based user interface.

### Claim 7 (depends on 5)

The device of claim 5, wherein the administrative functions are accessible from an external device connected to the network connectivity device.

### Claim 8 (depends on 5)

The device of claim 5, wherein the administrative functions are accessible from an external device connected to a distributed computing system associated with the network connectivity device.

### Claim 9 (depends on 3)

The device of claim 3, wherein the embedded computing system is configured to connect to one or more devices peripheral to the embedded computing system.

### Claim 10 (depends on 9)

The device of claim 9, wherein the embedded computing system is configured to connect to the one or more peripheral devices using a USB connection.

### Claim 11 (depends on 9)

The device of claim 9, wherein the one or more peripheral devices include a data storage device.

### Claim 12 (depends on 9)

The device of claim 9, wherein the one or more peripheral devices include a wireless modem.

### Claim 13 (depends on 9)

The device of claim 9, wherein the one or more peripheral devices include a battery controller associated with the battery-based internal power source.

### Claim 14 (depends on 9)

The device of claim 9, wherein the one or more peripheral devices comprise an additional external network interface configured to connect to an external network having a third type differing from the first and second types, and wherein the one or more processors are configured to select between at least the first, second, and third types of the external networks.

### Claim 15 (depends on 3)

The device of claim 3, wherein the embedded computing system is configured to run one or more external software applications.

### Claim 16 (depends on 15)

The device of claim 15, wherein the one or more software applications comprise a data security application, a virtual private network (VPN) or virtual local area network (VLAN) application, or an application associated with an external data storage provider.

### Claim 17

A method for providing network connectivity in low-resource environments, the method comprising:
connecting to a plurality of external networks using a plurality of external network interfaces, at least a subset of the plurality of external networks having a first type and at least one of the external networks not in the subset of the plurality having a second type differing from the first type;
receiving power from a power connection having at least a coupled external power source and a battery-based internal power source;
detecting quality of the power received from the coupled external power source;
selecting, based on the detected power quality, at least one of the external power source or the internal power source for use by the power connection to power the network connectivity device;
predicting, based at least in part on the detected quality of the power, one or more qualities of network functionality of at least a subset of the plurality of external networks;
selecting, based at least in part on the predicted qualities of network functionality, between at least the first and second type of the external networks; and
connecting one or more user devices to the selected type of external network.

### Claim 18 (depends on 17)

The method of claim 17, further comprising:
detecting a decrease in the quality of network functionality of the selected type of external network; and
connecting the one or more user devices to the other type of external network.

### Claim 19 (depends on 17)

The method of claim 17, wherein the quality of network functionality is determined by periodic polling of each of the plurality of external networks.

### Claim 20 (depends on 17)

The method of claim 17, wherein the detected quality of the external power source includes detected occurrences of brownouts, voltage spikes, or interruptions of power provided by the external power source.

### Claim 21 (depends on 17)

The method of claim 17, further comprising:
receiving data from at least some of the one or more user devices; and
storing the data in a data storage device.

### Claim 22 (depends on 21)

The method of claim 21, wherein the stored data is transmitted to a remote data storage via the selected type of external network, at a time after the predicted quality of network functionality of the selected type of external network indicates that the selected type of external network supports the transmission.

### Claim 23 (depends on 22)

The method of claim 22, wherein the data storage device is connected to the power connection.

### Claim 24 (depends on 22)

The method of claim 22, wherein the remote data storage comprises data storage resources of a distributed computing data storage provider.

### Claim 25 (depends on 17)

The method of claim 17, further comprising:
receiving data from at least some of the one or more user devices;
at a time after the quality of network functionality of the selected type of external network fails to meet a predetermined standard, storing the data in a local data storage; and
at a time after the quality of network functionality of the selected type of external network meets the predetermined standard, transferring the data from the local data storage to a remote data storage via the selected type of external network.

### Claim 26

One or more non-transitory computer-readable storage media having collectively stored thereon executable instructions that, when executed by one or more processors, cause the one or more processors to at least:
connect to a plurality of external networks using a plurality of external network interfaces, at least a subset of the plurality of external networks having a first type and at least one of the external networks not in the subset of the plurality having a second type differing from the first type;
enable the receipt of power from a power connection having at least a coupled external power source and a battery-based internal power source;
select, based on a detection of quality of the external power source, at least one of the external power source or the internal power source for use by the power connection to power the network connectivity device;
select, based on quality of network functionality of each of the plurality of external networks, between at least the first and second type of the external networks, wherein the quality of network functionality is determined based at least in part on the detected quality of power, and wherein the detected quality of power enables prediction of a future change in the quality of network functionality of at least one of the plurality of external networks; and
connect one or more user devices to the selected type of external network via an internal network interface.

### Claim 27 (depends on 26)

The non-transitory computer-readable storage media of claim 26, wherein the executable instructions further cause the network connectivity device to at least:
determine, at a time after insertion of a subscriber identity module (SIM) into the network connectivity device, at least one mobile network associated with the SIM;
obtain, from an associated database, one or more access point names (APNs) associated with the at least one mobile network;
determine whether each of the one or more APNs are functional for enabling the one or more user devices to connect to the at least one mobile network; and
record which of the one or more APNs are capable of enabling the one or more user devices to connect to the at least one mobile network in the associated database.

### Claim 28 (depends on 27)

The non-transitory computer-readable storage media of claim 27, wherein the associated database is connected to the one or more processors.

### Claim 29 (depends on 27)

The non-transitory computer-readable storage media of claim 27, wherein if none of the one or more APNs are functional for enabling the one or more user devices to connect to the at least one mobile network, the executable instructions further cause the processors to at least:
obtain, from the associated database, one or more replacement APNs previously determined to be functional for enabling the one or more user devices to connect to the at least one mobile network.

### Claim 30 (depends on 27)

The non-transitory computer-readable storage media of claim 27, wherein the executable instructions further cause the processors to at least:
determine whether the at least one mobile network is functional for enabling the one or more user devices to connect to the Internet.
