In the network of wearable/mobile/IoT devices, data or services are provided and transmitted over network that consists of multiple different types of links, and each of the devices may have at least one connectivity technology to connect to other device(s) to form a network to access much more data.
However, in the wireless environment, the connections between the devices are relatively unstable, the routs may change continuously, and/or some unconstrained device may be asleep so as to loss connection, and these issues may cause the data transmission between the devices not always being available. In addition, because the data transmission between the devices is not always available, the data may be re-transmitted from the source device, causing overhead to every node on the path and the source device.
It is therefore an objective of the present invention to provide a data aggregator serving between a data source and an electronic device, to solve the above-mentioned problems.
According to one embodiment of the present invention, a data aggregator serving between at least one data source and at least one electronic device is provided, wherein the data aggregator is arranged to wirelessly communicate with the data source and the electronic device, and the data aggregator comprises a memory comprising a data cache, a backup memory and a first-in-first-out (FIFO) buffer, and a controller for controlling a use of the memory. The controller selects at least one of the data cache, the backup memory and the FIFO buffer to store data received from the data source according to characteristics of the data provided by the data source, and forwards the data stored in the data cache, the backup memory or the FIFO buffer to the electronic device.
According to another embodiment of the present invention, a data management method comprises: wirelessly connecting to a data source and an electronic device; providing a memory comprising a data cache, a backup memory and a first-in-first-out (FIFO) buffer; selecting at least one of the data cache, the backup memory and the FIFO buffer to store data received from the data source according to characteristics of the data provided by the data source; and forwarding the data stored in the data cache, the backup memory or the FIFO buffer to the electronic device.
These and other objectives of the present invention will no doubt become obvious to those of ordinary skill in the art after reading the following detailed description of the preferred embodiment that is illustrated in the various figures and drawings.
Certain terms are used throughout the following description and claims to refer to particular system components. As one skilled in the art will appreciate, manufacturers may refer to a component by different names. This document does not intend to distinguish between components that differ in name but not function. In the following discussion and in the claims, the terms “including” and “comprising” are used in an open-ended fashion, and thus should be interpreted to mean “including, but not limited to . . . ” The terms “couple” and “couples” are intended to mean either an indirect or a direct electrical connection. Thus, if a first device couples to a second device, that connection may be through a direct electrical connection, or through an indirect electrical connection via other devices and connections.
Please refer to
The data aggregator 130 comprises a controller 131 and a memory 135, where the controller 131 can be implemented by software module or hardware module, and the controller 131 is arranged to control the use of the memory 135, and the controller 131 comprises a resource mapper 132, a request handler 133 and a source manager 134; and the memory 135 comprises a backup memory 136, a first-in-first-out (FIFO) buffer 137 and a data cache 138. In the data aggregator 130, the resource mapper 132 is arranged to map the data source 110 to the memory 135 when the data source 110 registers, provide a resource list to the electronic device 120, and query data from the memory 135. The request handler 133 is arranged to receive and handle the queries from the electronic device 120, for example, the electronic device 120 may send request to query the resource list and/or query data, and the request handler 133 queries the resource mapper 132 to obtain the resource list and/or required data, and sends the resource list and/or required data to the electronic device 120. The source manager 134 is arranged to perform data fetch and/or data synchronization operations, and store the data received from the data source 110 to the memory 135. In the memory 135, the backup memory 136 is used to store data provided by the data source 110, but the stored data may not immediately provide to the electronic 120; the FIFO buffer 137 is arranged to buffer the streams or real-time services transmitted from the data source 110 to the electronic device 120; and the data cache 138 stores data that has sent to the electronic device 120 so future requests for that data can be served faster.
In the operations of the data aggregator 130, the controller 131 may select at least one of the backup memory 136, the FIFO buffer 137 and the data cache 138 to store data received from the data source 110 according to characteristics of the data provided by the data source 110. For example, when the data provided by the data source 110 is static data such as pictures, health history or data of the step counter, or the data source 110 does not have enough storage to store data, or the connection between the data source 110/electronic device 120 and the data aggregator 130 is unstable, the controller 131 may select the backup memory 136 to store the data received from the data source 110, where stable or unstable connection between the data source 110/electronic device 120 and the data aggregator 130 can be determined based on the wireless connection type, signal strength, bit error rate, packet loss rate or any other suitable quality diagnosis method. When the controller 131 selects the backup memory 136 to store the data from the data source 110, the controller automatically synchronizes with the data source 110, and the data received from the data source 110 is with corresponding timestamps to let the electronic device 120 to judge if the data is expired. In addition, the backup memory 136 stores data with cache ability, that is when the backup memory 120 is selected, the data cache 138 is also used to temporarily store the data sent to the electronic device 120.
For the FIFO buffer 137, when the data source 110, such as a camera, provides a video/audio stream or a real-time service, or the data provided by the data source 110 is private data that cannot be cached, the controller 131 may select the FIFO buffer 137, and the data source 110 sequentially and continuously sends the data to the electronic device 120 via the controller 131 and the FIFO buffer 137.
For the data cache 138, when the data provided by the data source 110 is static data, or the data source 110 has its own storage, or the connection between the data source 110/electronic device 120 and the data aggregator 130 is stable, the controller 131 may select the data cache 138 to temporarily store the data from the data source 110 to the electronic device 120.
In the embodiment shown in
Step 200: the flow start.
Step 202: wirelessly connect to a data source and an electronic device.
Step 204: provide a memory comprising a data cache, a backup memory and a FIFO buffer.
Step 206: select at least one of the data cache, the backup memory and the FIFO buffer to store data received from the data source according to characteristics of the data provided by the data source.
Step 208: forward the data stored in the data cache, the backup memory or the FIFO buffer to the electronic device.
Please refer to
Please refer to
In the above-mentioned embodiments, the electronic device 120 maybe a smart phone or a tablet, and the data aggregator 130 is built in the AP. In other embodiment, however, the data aggregator can be built in the smart phone or a tablet. Referring to
Briefly summarized but not limited, in the data aggregator and associated data management method of the present invention, the data aggregator serves between the data source and the electronic device, and the data aggregator has a backup memory to store the data from the data source. Therefore, even if the electronic device is out of connection, the data aggregator can continuously fetch data from the data source to avoid extra overhead of redundant data transmission of the data source; and even if the data source is out of connection in a short time, the electronic device still can fetch the remaining data from the data aggregator.
Those skilled in the art will readily observe that numerous modifications and alterations of the device and method may be made while retaining the teachings of the invention. Accordingly, the above disclosure should be construed as limited only by the metes and bounds of the appended claims.
This application claims the priority of U.S. Provisional Application No. 62/146,420, filed on Apr. 13, 2015, which is included herein by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
62146420 | Apr 2015 | US |