1. Field of the Invention
The present invention generally relates to a method and a device for sharing a digital object. In particular, the present invention relates to a method and a device for sharing a digital object over a mesh network.
2. Description of Related Art
With the advent of more robust electronics, electronic devices have become more prevalent. A mobile communication device such as a smart phone has shown a tremendous growth and has been considered as one of the most prominent technologies in recent years. As mobile communication devices have become increasingly versatile, in addition to voice communication, such devices may further provide functions such as video conferencing, web browsing, music listening, video watching, game applications, and so forth. Since the mobile communication devices include advanced Internet capabilities as well as large memory storages, many features which were only limited before to computers have become available in the mobile communication devices. Hence, users may wish to exchange information such as music, video clips, photographs, and games with a social group such as family members, friends, or colleagues anytime and anywhere.
File sharing among mobile communication devices may be achieved by a direct and robust connection to a centralized device which provides the file. In real-life application, such procedure may be complicated due to a number of mitigating factors including available bandwidth of cellular network which limits the effectiveness and overall reliability for delivering large files or time-sensitive data files.
On the other hand, file sharing among mobile communication devices may also be achieved by peer-to-peer (P2P) connections. The devices in a P2P network are equally privileged participants sharing a portion of their resources. However, several factors may adversely impact the performance and cost associated with a conventional P2P technology. For example, significant processing power and memory bandwidth may be consumed to maintain links to other devices participating in the P2P network.
Accordingly, there could be a demand to develop tools to optimize the speed of file transfer among the mobile communication devices over a network with limited bandwidth as well as to offload the traffic from an original content distributor within the network.
The present invention is directed to a method and a device for sharing a digital object over a mesh network efficiently.
According to an embodiment of the present invention, a method for sharing a digital object over a mesh network is provided. The mesh network includes a group owner and a plurality of target devices, wherein the method is executed by the group owner. The method includes the following steps. First, a table including metadata information is constructed, wherein the metadata information includes an original source of the digital object in the mesh network. Next, the table is distributed to each of the target devices, wherein each of the target devices downloads the digital object according to the metadata information. The table is updated according to changes of status of the target devices of the target devices. Then, the updated table is distributed to each of the target devices.
According to an embodiment of the present invention, a method for sharing a digital object over a mesh network is provided. The mesh network includes a group owner and a plurality of target devices, wherein the method is executed by a first target device of the target devices. The method includes the following steps. First, a table is received from the group owner. The table includes metadata information, and the metadata information includes an original source of the digital object in the mesh network. Next, the digital object is downloaded from an alternative source when the metadata information further includes the alternative source. The alternative source is a second target device of the target devices or a source in an external network. Then, the digital object is downloaded from the original source when the metadata information does not include the alternative source.
According to an embodiment of the present invention, an electronic device for sharing a digital object over a mesh network is provided. The mesh network includes the electronic device and a plurality of target devices, wherein the electronic device includes a processor and a network module. The processor constructs a table including metadata information and updates the table according to changes of status of the target devices, wherein the metadata information includes an original source of the digital object in the mesh network. The network module, coupled to the processor, distributes the constructed table and the updated table to each of the target devices, wherein each of the target devices downloads the digital object according to the metadata information.
According to an embodiment of the present invention, an electronic device for sharing a digital object over a mesh network is provided. The mesh network includes the group owner and a plurality of target devices, wherein the electronic device is one of the target devices and the electronic device includes a network module and a processor. The processor, coupled to the network module, receives a table from the group owner through the network module. The table includes metadata information, and the metadata information includes an original source of the digital object in the mesh network. The processor downloads the digital object from an alternative source through the network module when the metadata information further includes the alternative source, wherein the alternative source is one of the target devices or a source in an external network. On the other hand, the processor downloads the digital object from the original source through the network module when the metadata information does not include the alternative source.
It should be understood, however, that this summary may not contain all of the aspect and embodiments of the present disclosure and is therefore not meant to be limiting or restrictive in any manner. Also the present disclosure would include improvements and modifications which are obvious to one skilled in the art.
The accompanying drawings are included to provide a further understanding of the invention, and are incorporated in and constitute a part of this specification. The drawings illustrate embodiments of the invention and, together with the description, serve to explain the principles of the invention.
Reference will now be made in detail to the present embodiments of the invention, examples of which are illustrated in the accompanying drawings. Wherever possible, the same reference numbers are used in the drawings and the description to refer to the same or like parts.
No element, act, or instruction used in the description of the present application should be construed as absolutely critical or essential to the present disclosure unless explicitly described as such. Also, as used herein, each of the indefinite articles “a” and “an” is intended to exclude more than one item. If only one item is intended, the terms “a single” or similar languages could be used. Furthermore, the terms “any of” followed by a listing of a plurality of items and/or a plurality of categories of items, as used herein, are intended to include “any of”, “any combination of”, “any multiple of”, and/or “any combination of multiples of the items and/or the categories of items, individually or in conjunction with other items and/or other categories of items. Further, as used herein, the term “set” is intended to include any number of items, including zero. Further, as used herein, the term “number” is intended to include any number, including zero.
In the present embodiment, the electronic device 100 may include a processor 110, a network module 120, a storage medium 130, and input/output (I/O) facilities 140. The processor 110 may be electrically coupled to at least but not limited to the network module 120, the storage medium 130, and the I/O facilities 140.
The processor 110 is used for processing all tasks of the exemplary electronic device 100.
The network module 120 may support wireless signal transmissions of at least one of a global system for mobile communication (GSM), a third generation (3G) telecommunication network, a fourth generation (4G) telecommunication network, a long term evolution (LTE) network, a personal handy-phone system (PHS), a code division multiple access (CDMA) system, a wireless fidelity (Wi-Fi) system, a Bluetooth system and a worldwide interoperability for microwave access (WiMAX) system.
The storage medium 130 may be a volatile or non-volatile device known to those skilled in the art including, for example, a static random access memory (SRAM), a dynamic random access memory (DRAM), a flash memory, or a hard disk. The storage medium 130 may include computer program products such as in the form of programming code, routines, or instruction blocks that provide a specific set or sets of ordered operations that control the functionality of the hardware and direct its operation to perform some features or functionality of the electronic device 100.
The I/O facilities 140 may include an interface for a touch screen display, a keyboard, a joystick, a mouse, a pointing device, a speech-based interaction device or the like.
In one of exemplary embodiment, a user may wish to share a file with a social group such as family members, friends, or colleagues. Such file may be music, a video clip, a photograph, a game, and so forth downloaded from a cloud storage system such as a public cloud storage provider or a private cloud storage provider. In other embodiments, the user may just share a file with the social group simply from his/her own electronic device. It is assumed that electronic devices of the user and the social group altogether form a mesh network. The mesh network may be defined as a group of wireless electronic devices capable of communicating directly with one another as well as communicating with a centralized device via a subscriber based wireless data communication network such as 3G network, 4G network, a cellular network, other wireless data communication, or any combination thereof. Each node in the mesh network may not only capture and disseminate its own data, but may also serve as a relay for other nodes; that is, each of the nodes may collaborate to propagate the data in the network. Each of the electronic devices is considered as a node which may exchange information with its nearest neighbors.
The processor 110 of the group owner A may configure the mesh network 200 as a proximity-based network with a three-level hierarchical structure as illustrated in
For each of the target devices B-E, the original source 410 of the digital object herein refers to as the electronic device in the mesh network which may provide the digital object for the corresponding target device to download. The alternative source 415 of the digital object refers to as a source other than the original source 410 which may also provide the digital object for the corresponding target device to download. The routing information 420 represents a path of the digital object and includes three components. The first component represents the electronic device from which the corresponding target device may download the digital object; the second component represents the corresponding target device; the third component represents the electronic device to which the corresponding target device may need to send the digital object. Loosely speaking, the routing information of each of the target devices B-E includes a download source (the previous node), the corresponding target device (the current node), and a destination (the next node). In the mesh network 200, the processor 110 of the group owner A may forward the table and the digital object to the target devices B-E directly or indirectly according to the routing information 420. On the other hand, the processors 110 of the target devices B-E may forward the table among the target devices B-E themselves according to the routing information 420 as well. In the present embodiment, the original source 410 of each of the target devices B-D is initially set as the group owner A, and the routing information 420 of each of the target devices B-D is initially set as “A-B-X”, “A-C-E”, and “A-D-X” respectively, wherein X represents a null destination. On the other hand, due to the proximity-based networking architecture, the original source 410 of the target device E is assigned to the target device C by default, and the routing information 420 of the target device E is set as “C-E-X”. In the present embodiment, since the group owner A is the only distributor at this moment, there is no alternative source available. The alternative source 415 of each of the target devices B-E is set as “NULL”.
Referring back to
The processor 110 of the group owner A may update the table 400A according to any change of a status of each of the target devices B-E (Step S311). For example, in one scenario,
Referring back to
For the target devices that have not yet finished downloading the digital object, each of such target devices continues downloading the digital object according to the metadata 401 in the updated table 400B. In this case, the network module 120 of the target device B may start transferring the digital object to the target device C. In the mean time, the target device D may still continue downloading the digital object from the group owner A, and the target device E may still wait for the target device C to transfer the digital object. The processor 110 of the group owner A may repeat Step S311 whenever the change of the status of the target devices occurs. In another exemplary embodiment, the network module 120 the target device C may also start transferring a downloaded portion of the digital object to the target device E even when the target device C has not yet completed the downloading process from the group owner A. The target devices C and E may download the digital object almost concurrently in this way.
In another scenario,
In another scenario,
In the present embodiment, it is assumed that only one single object is shared within the mesh network 200. In another exemplary embodiment, after all of the target devices B-E is determined to obtain the digital object in Step S313, if there still exists other digital objects to be shared over the mesh network 200 from the group owner A, the network module 120 of the group owner A may perform Step S309 to start another file transfer process. Otherwise, the processor 110 of the group owner A may end the process for sharing the digital objects. It is noted that, multiple digital objects may also be transferred to the target devices B-E concurrently, and yet the frequency of updating the table may be higher.
Furthermore, the mesh network 200 may not necessarily be proximity-based. In one of exemplary embodiments, the network modules 120 of the group owner A may distribute the table to the target devices B-E through a direct connection, and the target devices B-E may notify any update to the group owner A through the direct connection as well. In this scenario, the routing information is no longer necessary, and the alternative source of each of the target devices B-E may not necessarily be its nearest neighbour. In some embodiments, the alternative source may be a source of the digital object from an external network accessible to some of the target devices. The processor 110 of the group owner A may set the source of the digital object from the external network as the alternative source in the metadata information while constructing the table in Step S305. In such case, each of the target devices with an accessibility of the external network may directly download the digital object from the external network instead of waiting for the previous node (parent node) to share the digital object. By that means, the alternative source may offload the traffic from the original source as well as the entire mesh network 200.
The target device C may first check if there is any alternative source to download the digital object according to metadata information in the table (Step S503). If there exists an alternative source for the target device C, the target device C may download the digital object from the alternative source through the network module 120 of the target device C (Step S505). Once the target device C completes the download, its processor 110 may send a report to the group owner A through the network module 120 of the target device C (Step S507), wherein the report indicates that the target device C also owns the digital object. That is, the group owner A may be notified that the target device C may be an alternative source for other target devices B, D, and E. The group owner A may further update the table according to Step S311.
On the other hand, if the target device does not have any alternative source, it may download the digital object from the original source through the network module 120 (Step S509). Once the target device C completes the download, its processor 110 may also send a report to the group owner A through the network module 120 (Step S511), wherein the report indicates that the target device C also owns the digital object. The group owner A may further update the table according to Step S311 in a similar fashion.
In view of the aforementioned descriptions, the method and the device provided in the present disclosure is able to share a digital object efficiently over a mesh network. A group owner may construct and maintain a table including metadata information when the digital object has been created, received or downloaded. A network module of the group owner may further distribute the metadata information to each target device and provide more efficient routing method. By leveraging the proposed method in the aforementioned embodiments, the group owner is able to keep track of the status and the routing information of the target devices in the mesh network during proximity-based P2P data transfer. Accordingly, the speed of file transfer among the mobile communication devices over a network may be optimized with limited bandwidth.
It will be apparent to those skilled in the art that various modifications and variations can be made to the structure of the present invention without departing from the scope or spirit of the invention. In view of the foregoing, it is intended that the present invention cover modifications and variations of this invention provided they fall within the scope of the following claims and their equivalents.