# US 9,882,811 B1 · Community based network protocols

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

- Number: US 9,882,811 B1
- Document ID: US9882811B1
- Status: Granted
- Kind: B1
- Application number: 15/434,117
- Filed: 2017-02-16
- Granted: 2018-01-30
- Earliest claimed: 2016-09-19
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: Muneeb Arshad; Michael E. Gildein, II; Vijai Kalathur; Rajaram B. Krishnamurthy; Moses J. Vaughan
- Web page: https://patentgrep.com/patent/US9882811B1

## CPC

- H04W 40/22: using selective relaying for reaching a BTS [Base Transceiver Station] or an access point
- H04L 43/16: Threshold monitoring
- H04L 67/104: Peer-to-peer [P2P] networks
- H04W 8/005: {Discovery of network devices, e.g. terminals}
- H04W 40/04: based on wireless node resources
- H04W 76/14: Direct-mode setup
- H04W 80/04: Network layer protocols, e.g. mobile IP [Internet Protocol]
- H04W 88/04: adapted for relaying to or from another terminal or user
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A computer-implemented method includes determining that network connectivity does not exist for a mobile data network. The computer-implemented method further includes initiating, via a wireless peer to peer communication protocol, a scan request to identify one or more peer devices, wherein each of one or more peer devices have a readiness score. The computer-implemented method further includes generating a routing table. The routing table includes the one or more peer devices located within a threshold distance. The computer-implemented method further includes generating a forwarding table. The forwarding table includes the one or more peer devices of the routing table that have a readiness score that exceeds a given threshold. The computer-implemented method further includes transmitting a data packet to each of the one or more peer devices of the forwarding table. A corresponding computer program product and computer system are also disclosed.

## Claims

### Claim 1

A computer-implemented method, comprising:
initiating, via a peer to peer communication protocol, a first scan request to identify one or more peer devices, wherein each of the one or more peer devices have a readiness score;
determining that at least one of the one or more peer devices have a readiness score below a given threshold;
responsive to determining that at least one of the one or more peer devices have a readiness score below the given threshold, initiating, via a peer to peer communication protocol, a second scan request to identify one or more static peer devices; and
transmitting a data packet to at least one static peer device that is identified.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, further comprising:
generating, by at least the one static peer device, a routing table, wherein the routing table includes the one or more peer devices located within a threshold distance; and
generating, by at least the one static peer device, a forwarding table, wherein the forwarding table includes the one or more peer devices of the routing table that have a readiness score that exceeds a given threshold.

### Claim 3 (depends on 2)

The computer-implemented method of claim 2, further comprising transmitting, by at least the one static peer device, the data packet to the one or more peer devices of the forwarding table.

### Claim 4 (depends on 1)

The computer-implemented method of claim 1, wherein the data packet is transmitted to at least the one static peer device based on at least the one static peer device having a readiness score that exceeds the given threshold.

### Claim 5 (depends on 1)

The computer-implemented method of claim 1, wherein the one or more static peer devices are physically located in areas where network connectivity does not exist for a mobile data network.

### Claim 6 (depends on 1)

The computer-implemented method of claim 1, wherein the readiness score identifies at least one of:
a likelihood of each of the one or more peer devices to act as a transmitter of the data packet; and
a readiness of each of the one or more peer devices to act as a transmitter of the data packet.

### Claim 7 (depends on 1)

The computer-implemented method of claim 1, wherein the readiness score further identifies at least one of:
an ability for each of the one or more static peer devices to temporarily store the data packet;
the likelihood of each of the one or more static peer devices to act as a transmitter of the data packet; and
the readiness of each of the one or more static peer devices to act as a transmitter of the data packet.

### Claim 8 (depends on 1)

The computer-implemented method of claim 1, wherein the readiness score is:
calculated at a regular time interval; and
broadcasted at a regular time interval.

### Claim 9

A computer program product, the computer program product comprising one or more computer readable storage media and program instructions stored on the one or more computer readable storage media, the program instructions comprising instructions to:
initiate, via a peer to peer communication protocol, a first scan request to identify one or more peer devices, wherein each of the one or more peer devices have a readiness score;
determine that at least one of the one or more peer devices have a readiness score below a given threshold;
responsive to determining that at least one of the one or more peer devices have a readiness score below the given threshold, initiate, via a peer to peer communication protocol, a second scan request to identify one or more static peer devices; and
transmit a data packet to at least one static peer device that is identified.

### Claim 10 (depends on 9)

The computer program product of claim 9, further comprising program instructions to:
generate, by at least the one static peer device, a routing table, wherein the routing table includes the one or more peer devices located within a threshold distance; and
generate, by at least the one static peer device, a forwarding table, wherein the forwarding table includes the one or more peer devices of the routing table that have a readiness score that exceeds a given threshold.

### Claim 11 (depends on 10)

The computer program product of claim 10, further comprising program instructions to transmit, by at least the one static peer device, the data packet to the one or more peer devices of the forwarding table.

### Claim 12 (depends on 9)

The computer program product of claim 9, wherein the program instructions to transmit the data packet to at least the one static peer device is based on at least the one static peer device having a readiness score that exceeds the given threshold.

### Claim 13 (depends on 9)

The computer program product of claim 9, wherein the one or more static peer devices are physically located in areas where network connectivity does not exist for a mobile data network.

### Claim 14 (depends on 9)

The computer program product of claim 9, wherein the readiness score identifies at least one of:
an ability for each of the one or more static peer devices to temporarily store the data packet;
the likelihood of each of the one or more static peer devices to act as a transmitter of the data packet; and
the readiness of each of the one or more static peer devices to act as a transmitter of the data packet.

### Claim 15

A computer system, the computer system comprising:
one or more computer processors;
one or more computer readable storage media;
computer program instructions for an origination device;
the computer program instructions being stored on the one or more computer readable storage media;
the computer program instructions comprising instructions comprising instructions to:
initiate, via a peer to peer communication protocol, a first scan request to identify one or more peer devices, wherein each of the one or more peer devices have a readiness score;
determine that at least one of the one or more peer devices have a readiness score below a given threshold;
responsive to determining that at least one of the one or more peer devices have a readiness score below the given threshold, initiate, via a peer to peer communication protocol, a second scan request to identify one or more static peer devices; and
transmit a data packet to at least one static peer device that is identified.

### Claim 16 (depends on 15)

The computer system of claim 15, further comprising program instructions to:
generate, by at least the one static peer device, a routing table, wherein the routing table includes the one or more peer devices located within a threshold distance; and
generate, by at least the one static peer device, a forwarding table, wherein the forwarding table includes the one or more peer devices of the routing table that have a readiness score that exceeds a given threshold.

### Claim 17 (depends on 16)

The computer system of claim 16, further comprising program instructions to transmit, by at least the one static peer device, the data packet to the one or more peer devices of the forwarding table.

### Claim 18 (depends on 15)

The computer system of claim 15, wherein the program instructions to transmit the data packet to at least the one static peer device is based on at least the one static peer device having a readiness score that exceeds the given threshold.

### Claim 19 (depends on 15)

The computer system of claim 15, wherein the one or more static peer devices are physically located in areas where network connectivity does not exist for a mobile data network.

### Claim 20 (depends on 15)

The computer system of claim 15, wherein the readiness score identifies at least one of:
an ability for each of the one or more static peer devices to temporarily store the data packet;
the likelihood of each of the one or more static peer devices to act as a transmitter of the data packet; and
the readiness of each of the one or more static peer devices to act as a transmitter of the data packet.
