IP Library Granted Patent US 10,951,387
Granted Patent B2
US 10,951,387 · App. 16/390,900 · Granted Mar 16, 2021

Systems and methods for self-formation and self-management of full-duplex communication networks

Inventors: Jason Gossiaux (Leander, TX); James Chaput (Austin, TX); James P. Roberts (Austin, TX)
Assignee: Pinnacle Peak Holding Corporation
H04L5/14H04L41/12H04R1/08H04R1/1008H04R1/1041
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,951,387
App. No.
16/390,900
Granted
Mar 16, 2021
Kind
B2
Abstract

Disclosed herein are systems and methods for self-formation and self-management of full-duplex communication networks. In an embodiment, a communication device determines whether there is an available self-assignable device-data time slot. If there is, the device selects an available time slot for outbound transmissions, updates its network-status table to associate the selected time slot with a device identifier of the communication device, and transmits outbound device data during the selected time slot of at least one ensuing frame. The device also, during each of a plurality of ensuing frames, makes a determination as to whether to transmit a maintenance packet during a shared time slot of the current frame. If the determination is made in the affirmative, the device transmits such a packet during that shared time slot. Each such packet contains at least a subset of the network-status table.

Claims (67)

1. A method carried out by a communication device that comprises data storage and a communication interface, the method comprising:

determining whether or not there is at least one available self-assignable device-data time slot among N self-assignable device-data time slots in a frame structure, the frame structure further comprising a shared network-self-administration time slot; and

if there is at least one available device-data time slot, then:

selecting an available device-data time slot for outbound transmissions;

updating a network-status table maintained in the data storage to include an association between the selected device-data time slot and a device identifier of the communication device;

transmitting outbound device data via the communication interface during the selected device-data time slot of at least one ensuing frame; and

during each of a plurality of ensuing frames, making a determination as to whether to transmit a maintenance packet during the shared network-self-administration time slot of the current frame, and transmitting such a packet via the communication interface during said shared time slot if the determination is made in the affirmative, each such maintenance packet containing at least a subset of the network-status table.

2. The method of claim 1 , wherein:

the communication device further comprises a user interface, wherein the user interface comprises at least one microphone for receiving audio and at least one speaker for outputting audio;

the outbound data comprises digital-audio data corresponding to audio received via the user interface; and

the method further comprises:

outputting, via the user interface, audio corresponding to any digital-audio data received via the communication interface during any one or more of the N device-data time slots other than the selected time slot.

3. The method of claim 1 , wherein:

the communication device is communicatively connected to at least one sensor; and

the device data comprises sensor data from the at least one sensor.

4. The method of claim 1 , wherein determining whether or not there is at least one available self-assignable device-data time slot among the N self-assignable device-data time slots in the frame structure comprises:

receiving and analyzing a maintenance packet sent by another communication device during the shared network-self-administration time slot of a given frame, wherein the received maintenance packet conveys a current status of assignment of device-data time slots to communication devices.

5. The method of claim 4 , further comprising updating the stored network-status table based on the received maintenance packet.

6. The method of claim 1 , wherein determining whether or not there is at least one available self-assignable device-data time slot among the N self-assignable device-data time slots in the frame structure comprises:

tracking whether any device data is received via the communication interface during any one or more of the N device-data time slots other than the selected time slot.

7. The method of claim 6 , further comprising updating the stored network-status table based on header data associated with device data received during one or more of the N device-data time slots other than the selected time slot.

8. The method of claim 1 , further comprising using data received during a device-data time slot other than the selected time slot as a timing reference.

9. The method of claim 8 , further comprising identifying the other device-data time slot for use as the timing reference based on a device ID of a device assigned to transmit during the other time slot.

10. The method of claim 9 , wherein the communication device had inserted the device ID of the device assigned to transmit during the other time slot into the stored network-status table responsive to receiving the device ID in header data associated with device data received during the other time slot.

11. The method of claim 9 , wherein the communication device had inserted the device ID of the device assigned to transmit during the other time slot into the stored network-status table responsive to receiving the device ID in a maintenance packet during the shared network-self-administration time slot.

12. The method of claim 1 , wherein each transmitted maintenance packet includes the subset of the network-status table corresponding to communication devices from which device data has been received within a preceding first timeout period.

13. The method of claim 12 , further comprising:

resetting the first timeout period for each communication device upon receipt of device data from the respective communication device; and

dropping communication devices from being listed in outgoing maintenance packets upon expiration of the first timeout period for the respective communication device.

14. The method of claim 12 , wherein the network-status table further comprises one or more communication devices listed on one or more maintenance packets received during the shared network-self-administration time slot of one or more frames within a preceding second timeout period.

15. The method of claim 14 , further comprising:

resetting the second timeout period for each communication device upon receipt of each maintenance packet listing the respective communication device; and

dropping communication devices from the network-status table upon expiration of the second timeout period for the respective communication device.

16. The method of claim 1 , further comprising operating in a listen-only mode if there is not at least one available device-data time slot.

17. The method of claim 16 , further comprising:

while operating in the listen-only mode, determining that a device-data time slot has become available, and responsively selecting that time slot for outbound transmissions.

18. The method of claim 17 , further comprising:

detecting a collision with at least one other device in that device-data time slot, and responsively executing a time-slot-collision-arbitration protocol.

19. The method of claim 18 , wherein executing the time-slot-collision-arbitration protocol comprises deciding whether to maintain a claim on that device-data time slot or to cede the device-data time slot for use by another device based on a comparison of the device identifier of the communication device with respective device identifiers of each of the at least one other device.

20. The method of claim 1 , wherein the plurality of ensuing frames are those ensuing frames that correspond to an expiration of a maintenance-packet-transmission timer maintained by the communication device.

21. The method of claim 1 , wherein making the maintenance-packet determination comprises randomly determining whether or not to transmit a maintenance packet during the shared network-self-administration time slot of the current frame.

22. The method of claim 21 , wherein randomly determining whether or not to transmit a maintenance packet during the shared network-self-administration time slot of the current frame comprises basing the decision on a current network-occupancy level.

23. The method of claim 1 , further comprising detecting a collision with at least one other device in the selected device-data time slot, and responsively executing a time-slot-collision-arbitration protocol.

24. The method of claim 23 , wherein executing the time-slot-collision-arbitration protocol comprises deciding whether to maintain a claim on the selected device-data time slot or to cede the selected device-data time slot for use by another device based on a comparison of the device identifier of the communication device with respective device identifiers of each of the at least one other device.

25. A communication device comprising:

a communication interface;

a processor; and

data storage containing instructions executable by the processor for carrying out a set of functions, wherein the set of functions comprises:

determining whether or not there is at least one available self-assignable device-data time slot among N self-assignable device-data time slots in a frame structure, the frame structure further comprising a shared network-self-administration time slot; and

if there is at least one available device-data time slot, then:

selecting an available device-data time slot for outbound transmissions;

updating a network-status table maintained in the data storage to include an association between the selected device-data time slot and a device identifier of the communication device;

transmitting outbound device data via the communication interface during the selected device-data time slot of at least one ensuing frame; and

during each of a plurality of ensuing frames, making a determination as to whether to transmit a maintenance packet during the shared network-self-administration time slot of the current frame, and transmitting such a packet via the communication interface during said shared time slot if the determination is made in the affirmative, each such maintenance packet containing at least a subset of the network-status table.

26. The communication device of claim 25 , further comprising a user interface, wherein the outbound data comprises digital-audio data corresponding to audio received via the user interface, and wherein the set of functions further comprises:

outputting, via the user interface, audio corresponding to any digital-audio data received via the communication interface during any one or more of the N device-data time slots other than the selected time slot.

27. The communication device of claim 26 , wherein the user interface comprises at least one microphone for receiving audio and at least one speaker for outputting audio.

28. The communication device of claim 25 , wherein:

the communication device is communicatively connected to at least one sensor; and

the device data comprises sensor data from the at least one sensor.

29. A computer-readable medium containing instructions executable by a processor for carrying out a set of functions, wherein the set of functions comprises:

determining whether or not there is at least one available self-assignable device-data time slot among N self-assignable device-data time slots in a frame structure, the frame structure further comprising a shared network-self-administration time slot; and

if there is at least one available device-data time slot, then:

selecting an available device-data time slot for outbound transmissions;

updating a network-status table maintained in data storage to include an association between the selected device-data time slot and a device identifier of a communication device;

transmitting outbound device data via a communication interface during the selected device-data time slot of at least one ensuing frame; and

during each of a plurality of ensuing frames, making a determination as to whether to transmit a maintenance packet during the shared network-self-administration time slot of the current frame, and transmitting such a packet via the communication interface during said shared time slot if the determination is made in the affirmative, each such maintenance packet containing at least a subset of the network-status table.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 11, 2022
From: PINNACLE PEAK HOLDING CORPORATION D/B/A SETCOM CORPORATION
To: RUGGED SOLUTIONS AMERICA, LLC
Reel/Frame 061370/0870 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 15, 2019
From: GOSSIAUX, JASON; CHAPUT, JAMES; ROBERTS, JAMES P.
To: PINNACLE PEAK HOLDING CORPORATION D/B/A SETCOM CORPORTION
Reel/Frame 049179/0316 →
Continuity (1)
Related Publication 20200336277A1 · Oct 22, 2020