US-20260129698-A1 - ASYNCHRONOUS DATA TRANSMISSION
Abstract
Systems and methods for asynchronous data transmission are provided. In one example, a first computing device establishes a connection to a second computing device. The second computing device is in a first location where network connectivity is limited and/or unavailable. In some examples, the second computing device is an anchor computing device of a mesh network. The first computing device obtains a data payload from the second computing device, which includes a plurality of data packets generated by the second computing device and/or other computing devices of the mesh network. The first computing device establishes a connection to a wide area network (WAN) at a second location, which is different from the first location, and provides the data payload to a remote computing system over the WAN.
Inventors
- Stephen Bradley Horton
- Stephen C. OPFERMAN
Assignees
- CHARTER COMMUNICATIONS OPERATING, LLC
Dates
- Publication Date
- 20260507
- Application Date
- 20241105
Claims (20)
- 1 . A method, comprising: establishing, by a first computing device at a first location, a connection to a second computing device; obtaining, by the first computing device from the second computing device, a data payload, the data payload comprising a plurality of data packets generated by the second computing device; establishing, by the first computing device at a second location that is different from the first location, a connection to a wide area network (WAN); and providing, by the first computing device via the WAN, the data payload to a remote computing device.
- 2 . The method of claim 1 , wherein establishing the connection to the second computing device comprises: receiving, by the first computing device from the second computing device, an advertisement data packet; in response to receiving the advertisement data packet, providing, by the first computing device to the second computing device, an acknowledgement packet indicating the advertisement data packet was successfully received; and subsequent to providing the acknowledgement packet, establishing, by the first computing device, the connection to the second computing device.
- 3 . The method of claim 1 , wherein obtaining the data payload comprises: receiving, by the first computing device from the second computing device, a subset of the plurality of data packets; determining, by the first computing device, that the subset of the plurality of data packets does not include data indicative of a transmission size threshold; in response to determining that the subset of the plurality of data packets does not include the data indicative of the transmission size threshold, providing, by the first computing device to the second computing device, data indicating that the data payload was not successfully received; and terminating, by the first computing device, the connection to the second computing device.
- 4 . The method of claim 3 , further comprising: subsequent to terminating the connection to the second computing device, determining, by the first computing device, a reinitiation wait time based on a configuration file stored in a memory of the first computing device; determining, by the first computing device, that the reinitiation wait time has elapsed; and subsequent to determining that the reinitiation wait time has elapsed, reestablishing, by the first computing device, the connection to the second computing device.
- 5 . The method of claim 1 , wherein obtaining the data payload comprises: receiving, by the first computing device from the second computing device, the plurality of data packets, at least one data packet of the plurality of data packets comprising data indicative of a transmission size threshold; determining, by the first computing device, that a size of the data payload matches the transmission size threshold; responsive to determining that the size of the data payload matches the transmission size threshold, providing, by the first computing device to the second computing device, data indicating that the data payload was successfully received; terminating, by the first computing device, the connection to the second computing device; and storing, by the first computing device, the data payload in a memory of the first computing device.
- 6 . The method of claim 5 , wherein at least one data packet of the plurality of data packets comprises a service provider identifier associated with the second computing device, and wherein providing the data payload to the remote computing device comprises: determining, by the first computing device, a remote computing system based on the service provider identifier associated with the second computing device, the remote computing system comprising the remote computing device; providing, by the first computing device, the data payload to a database of the remote computing system; and subsequent to providing the data payload to the database of the remote computing system, discarding, by the first computing device, the data payload from the memory of the first computing device.
- 7 . The method of claim 5 , wherein a configuration file stored in the memory of the first computing device comprises a data enrichment identifier, the method further comprising: subsequent to determining that the size of the data payload matches the transmission size threshold, enriching, by the first computing device, the data payload based on the data enrichment identifier; and responsive to enriching the data payload, storing, by the first computing device, the data payload in the memory of the first computing device.
- 8 . The method of claim 7 , wherein enriching the data payload comprises: providing, by the first computing device, the data payload to a machine-learning model stored in the memory of the first computing device; generating, by the first computing device, an enriched data payload based on an output of the machine-learning model; and storing, by the first computing device, the enriched data payload in the memory of the first computing device.
- 9 . The method of claim 8 , further comprising: determining, by the first computing device, a plurality of data insights associated with the enriched data payload based on the output of the machine-learning model; and providing, by the first computing device to a display device, the plurality of data insights for display to a user.
- 10 . The method of claim 1 , wherein the second computing device is an anchor computing device of a mesh network, the mesh network comprising a plurality of second computing devices.
- 11 . The method of claim 10 , wherein the plurality of data packets of the data payload are respectively generated by at least one of the plurality of second computing devices.
- 12 . The method of claim 11 , wherein each second computing device of the plurality of second computing devices of the mesh network is configured to provide data to the first computing device via the anchor computing device.
- 13 . The method of claim 1 , wherein establishing the connection to the second computing device comprises: establishing, by the first computing device at the first location, a first communication link with the second computing device, the first communication link corresponding to a wireless personal area network (PAN).
- 14 . The method of claim 13 , wherein the first communication link comprises a Bluetooth Low Energy (BLE) protocol.
- 15 . The method of claim 13 , wherein the first computing device comprises a navigation positioning system operable to generate geolocation data corresponding to a location of the first computing device, and wherein establishing the connection to the WAN comprises: determining, by the first computing device, that the first computing device is at the second location based on the geolocation data generated by the navigation positioning system; and responsive to determining that the first computing device is at the second location, establishing, by the first computing device, a second communication link, the second communication link corresponding to the WAN.
- 16 . The method of claim 15 , wherein the second communication link is unavailable at the first location.
- 17 . A collector computing device, comprising: a memory; and a processor device coupled to the memory and operable to: establish, at a first location, a connection to a peripheral computing device; obtain, from the peripheral computing device, a data payload, the data payload comprising a plurality of data packets generated by the peripheral computing device; establish, at a second location that is different from the first location, a connection to a wide area network (WAN); and provide, via the WAN, the data payload to a remote computing device.
- 18 . The collector computing device of claim 17 , further comprising: a navigation positioning system operable to generate geolocation data corresponding to a location of the collector computing device, wherein, to establish the connection to the WAN, the processor device is operable to: obtain, via the navigation positioning system, the geolocation data corresponding to the location of the collector computing device; determine, based on the geolocation data, that the collector computing device is at the second location; and responsive to determining that the collector computing device is at the second location, establish the connection to the WAN.
- 19 . The collector computing device of claim 17 , wherein: to obtain the data payload, the processor device is operable to: receive, from the peripheral computing device, the plurality of data packets, at least one data packet of the plurality of data packets comprising data indicative of a transmission size threshold, at least one data packet of the plurality of data packets comprising a service provider identifier associated with the peripheral computing device; determine that a size of the data payload matches the transmission size threshold; responsive to determining that the size of the data payload matches the transmission size threshold, provide, to the peripheral computing device, data indicating that the data payload was successfully received; terminate the connection to the peripheral computing device; and store the data payload in the memory; and to provide the data payload to the remote computing device, the processor device is operable to: determine a remote computing system based on the service provider identifier associated with the peripheral computing device, the remote computing system comprising the remote computing device; provide the data payload to a database of the remote computing system; and subsequent to providing the data payload to the database of the remote computing system, discard the data payload from the memory.
- 20 . A non-transitory computer-readable medium that includes executable instructions configured to cause a processor device of a first computing device to: establish, at a first location, a connection to a second computing device; obtain, from the second computing device, a data payload, the data payload comprising a plurality of data packets generated by the second computing device; establish, at a second location that is different from the first location, a connection to a wide area network (WAN); and provide, via the WAN, the data payload to a remote computing device.
Description
BACKGROUND Wireless networks, such as cellular networks (e.g., Fourth Generation (4G) networks, Fifth Generation (5G) networks, etc.) and/or Wi-Fi® networks, are operated by network service providers and are operable to provide wireless connectivity to a wide variety of computing devices, such as smartphones, tablets, Internet of Things (IoT) devices, and/or the like. To do this, network service providers deploy, operate, maintain, etc. a wide array of network infrastructure hardware, such as transceivers (e.g., cellular base stations, Wi-Fi® transceivers, distributed antenna systems (DAS), femtocell and picocell transceivers, machine-to-machine (M2M) transceivers, Internet-of-Things (IoT) transceivers, etc.), routers (e.g., gateway routers, etc.), network switches (e.g., layer 2 switches, layer 3 switches, etc.), remote computing systems (e.g., proxy servers, network-attached storage (NAS) devices, storage area network (SAN) devices, etc.), satellite communication systems, and/or the like. SUMMARY The examples disclosed herein are directed to systems and methods operable to implement asynchronous data transmissions. In one implementation, a method is provided. The method includes establishing, by a first computing device at a first location, a connection to a second computing device. The method further includes obtaining, by the first computing device from the second computing device, a data payload. The data payload includes a plurality of data packets generated by the second computing device. The method further includes establishing, by the first computing device at a second location that is different from the first location, a connection to a wide area network (WAN). The method further includes providing, by the first computing device via the WAN, the data payload to a remote computing device. In another implementation, a collector computing device is provided. The collector computing device includes a memory. The collector computing device further includes a processor device coupled to the memory. The processor device is operable to establish, at a first location, a connection to a peripheral computing device. The processor device is further operable to obtain, from the peripheral computing device, a data payload. The data payload includes a plurality of data packets generated by the peripheral computing device. The processor device is further operable to establish, at a second location that is different from the first location, a connection to a wide area network (WAN). The processor device is further operable to provide, via the WAN, the data payload to a remote computing device. In another implementation, a non-transitory computer-readable medium is provided. The non-transitory computer-readable medium includes executable instructions that are configured to cause a processor device of a first computing device to establish, at a first location, a connection to a second computing device. The executable instructions are further configured to cause the processor device of the first computing device to obtain, from the second computing device, a data payload. The data payload includes a plurality of data packets generated by the second computing device. The executable instructions are further configured to cause the processor device of the first computing device to establish, at a second location that is different from the first location, a connection to a wide area network (WAN). The executable instructions are further configured to cause the processor device of the first computing device to provide, via the WAN, the data payload to a remote computing device. Individuals will appreciate the scope of the disclosure and realize additional aspects thereof after reading the following detailed description of the examples in association with the accompanying drawing figures. BRIEF DESCRIPTION OF THE DRAWINGS The accompanying drawing figures incorporated in and forming a part of this specification illustrate several aspects of the disclosure and, together with the description, serve to explain the principles of the disclosure. FIG. 1 is a block diagram of an environment suitable for asynchronous data transmission according to some implementations; FIG. 2 is an illustrative example of asynchronous data transmission according to some implementations; FIG. 3A–3D are sequence diagrams illustrating messages communicated between and actions taken by certain components illustrated in FIG. 1 to perform asynchronous data transmission operations according to some implementations; FIG. 4A–4B are flowcharts of a method for implementing asynchronous data transmission operations according to some implementations; FIG. 5 is a flowchart of a method for implementing asynchronous data transmission operations according to some implementations; FIG. 6 is a flowchart of a method for implementing asynchronous data transmission operations according to some implementations; FIG. 7 is a block diagram of a collector computing device s