1. Field of the Invention
The invention relates to a file sharing system and method, and more particularly to a file sharing system and method with improved security and bandwidth efficiency.
2. Description of the Related Art
Electronic devices, such as personal computers, personal communication devices, personal digital assistants, laptop computers, tablet computers, or others, are commonly used currently, since they provide users with convenient voice and data communication and network access functions.
Conventionally, when using the electronic device to share a file with other user(s) in a local network, the electronic device user has to manually set up some security related fields of the file or folder, such as a user name and password, so as to give the right for other user(s) to access that file. However, once the password is intentionally deciphered by someone not given the right, security of the shared file cannot be protected anymore.
Therefore, a novel file sharing system and method with improved security and further with improved bandwidth efficiency is highly required.
File sharing methods are provided. An exemplary embodiment of a file sharing method for sharing data in a local area network comprises obtaining information pertinent to one or more file(s), transmitting the information pertinent to the one or more file(s) in the local area network, selecting one or more of the one or more file(s) based on the information, and transmitting the one or more selected file(s) in the local area network. Data size of the information is smaller than data size of the one or more file(s).
An exemplary embodiment of a machine readable storage medium comprising a computer program which, when executed, causes an electronic device to perform: detecting one or more assigned sharing folder(s); obtaining information pertinent to a plurality of files stored in the one or more assigned sharing folder(s), wherein data size of the information is smaller than data size of the files; generating a file sharing message comprising the information pertinent to the files; transmitting the file sharing message in a local area network; receiving one or more data access request message(s) from one or more peer electronic device(s) receiving the file sharing message in the local area network; and in response to the data access request message(s), determining one or more of the files to be shared, and transmitting the one or more determined files to the peer electronic device(s), is provided.
An exemplary embodiment of a machine readable storage medium comprising a computer program which, when executed, causes an electronic device to perform: listening to a file sharing message comprising information pertinent to a plurality of files to be shared in a local area network, wherein data size of the information is smaller than data size of the files; providing an interface to present the information to a user; obtaining information pertinent to one or more of the files selected by the user from the interface; generating a data access request message comprising the information pertinent to the one or more selected file(s); and transmitting the data access request message in the local area network, is provided.
A detailed description is given in the following embodiments with reference to the accompanying drawings.
The invention can be more fully understood by reading the subsequent detailed description and examples with references made to the accompanying drawings, wherein:
The following description is of the best-contemplated mode of carrying out the invention. This description is made for the purpose of illustrating the general principles of the invention and should not be taken in a limiting sense. The scope of the invention is best determined by reference to the appended claims.
According to the embodiments of the invention, a file-sharing application program may be utilized to facilitate the above-mentioned file sharing procedure. By executing the file-sharing application program, it is easy for a user to share the files by just moving the files to be shared in assigned sharing folders, without manually setting up any security related fields for each file or folder as required in conventional design. In addition, only the devices having the file-sharing application program installed therein may be aware of the shared folders, so as to protect the security and integrity of the shared files.
A plurality of assigned sharing folders with files, such as but not limited to music, pictures, movies, or others, to be shared may be stored in the storage device 200, the electronic device 201, or the electronic device 206. According to the embodiments of the invention, the file-sharing application program may be installed in either the storage device side or the electronic device side. For example, when the file-sharing application program is installed in the storage device 200, as the storage device 200 is connected to the electronic device 201, the file-sharing application program may be automatically started, and executed by a processing unit of the electronic device 201. When the file-sharing application program is installed in the electronic device side, the file-sharing application program may be directly executed by the processing unit of the electronic devices 201 and 206, and detect that whether there is any assigned sharing folder created in the storage device 200 or the electronic devices 201 and 206. If there is no assigned sharing folder created, the sharing folders for containing the files that a user would like to share with other peers may be also created by the electronic devices 201 and 206. Note that according to yet other embodiments of the invention, the file-sharing application program may also be installed in the storage device side, and automatically started and executed by a processing unit of the storage device 200, and the invention should not be limited thereto.
According to an embodiment of the invention, the file-sharing application program, when executed, may cause the electronic device (the provider) to transmit the file sharing message 401 by broadcasting (i.e. one to all) the information in the local area network, so that all the clients having the file-sharing application program installed therein may receive the information. According to another embodiment of the invention, the file-sharing application program, when executed, may also cause the electronic device (the provider) to transmit the file sharing message 401 by multicasting (i.e. one to many) the information to a group of clients having the file-sharing application program installed therein, so that the clients joining in the group may receive the information. According to yet another embodiment of the invention, the file-sharing application program, when executed, may also cause the electronic device (the provider) to transmit the file sharing message 401 by unicasting (i.e. one to one) the information directly to a specific client having the file-sharing application program installed therein. In the following paragraphs, the detailed embodiments for broadcasting, multicasting, or unicasting the file sharing message 401 are introduced.
For the broadcasting case, according to an embodiment of the invention, the provider may transmit the file sharing message 401 to a predetermined broadcast address, such as 255.255.255.255. The clients in the same local area network and having the file-sharing application program installed therein may listen to the broadcast address and receive the file sharing message 401. The clients may further obtain the IP address of the provider from the file sharing message 401. Thereafter, the clients may establish a peer to peer connection, or a peer to peer group connection with the provider, and begin to access the files stored in the assigned sharing folders.
For the multicasting case, according to an embodiment of the invention, the provider may transmit the file sharing message 401 to one or more predetermined multicast addresses. For a predetermined multicast address, there may be a group corresponding thereto. Any devices located within the internet or the local area network and joined within a group may receive the message transmitted to the corresponding multicast address. The clients may further obtain the IP address of the provider from the received file sharing message 401. Thereafter, the clients may establish a peer to peer connection, or a peer to peer group connection with the provider, and begin to access the files stored in the assigned sharing folders. The information pertinent to the corresponding groups of predetermined multicast addresses may be transmitted to the clients in many ways.
For example, in one embodiment, the provider may first obtain the information pertinent to one or more multicast group(s) corresponding to predetermined multicast addresses, and broadcast a group information message 501 comprising the information pertinent to one or more multicast group(s) in the local area network before multicasting the file sharing message 401.
For another example, in another embodiment, the multicast addresses and the corresponding groups may be predefined and hard coded in the file-sharing application program. In this manner, the file-sharing application program may facilitate the client to directly choose and join in with one group (that is, there is no need to listen to the broadcasted group information) so that the client may receive the file sharing message 401 transmitted to the corresponding multicast address.
For the unicasting case, according to an embodiment of the invention, the file-sharing application program, when executed, may cause the electronic device (the provider) to directly unicast the file sharing message 401 to a specific client (for example, to an IP address of the client) having the file-sharing application program installed therein. Upon receiving the file sharing message 401, the client may further obtain the IP address of the provider from the received file sharing message 401. Thereafter, the client having the file-sharing application program installed therein may establish a peer to peer connection, or a peer to peer group connection with the provider, and begin to access the files stored in the assigned folders.
Upon receiving the file sharing message 401 carrying information pertinent to the directory of the assigned sharing folders and/or filenames of the files stored in the assigned sharing folders, the file-sharing application program, when executed, may also cause the electronic device (the client) to establish a peer to peer connection, or a peer to peer group connection with the provider, and begin to access the files stored in the assigned sharing folders.
After presenting the information to the user, the file-sharing application program, when executed, may cause an electronic device (the client) to perform obtaining of information pertinent to one or more of the files selected by the user from the interface (Step S606), generating of a data access request message comprising the information pertinent to one or more selected file(s) (Step S608) and transmitting of the data access request message in the local area network (Step S610).
Referring back to
In addition, according to some embodiments of the invention, the provider may also receive the data access request message 402 from different clients, and the file-sharing application program may facilitate the provider to determine whether to transmit the selected file(s) by directly unicasting the selected file(s), or by multicasting the selected file(s) to multiple clients when they have selected the same file(s). For example, the provider may receive a first data access request message comprising information pertinent to one or more file(s) selected by a first client and a second data access request message comprising information pertinent to one or more file(s) selected by a second client. The provider may further determine whether the file(s) selected by the second client is/are the same as the file(s) selected by the first client. When there is any file selected by the second client which is the same as the file selected by the first client, the provider may determine a multicast group for transmitting the file, inform the first and second clients of the multicast address corresponding to a multicast group for receiving the file, and transmit the file to the multicast address. The concepts of multicasting/unicasting the content of the selected file(s) 403 are similar to those of the file sharing message 401 as introduced above, and are omitted here for brevity.
According to the embodiments of the invention, by managing the transmission of the selected file(s) requested by different clients in the local area network, for example, establishing a peer to peer group connection between the provider(s) and the client(s) as previously described, the content of the selected file(s) may be multicast to different clients, instead of individually being unicast to different clients, and the transmission bandwidth can be greatly saved.
According to an embodiment of the invention, the file sharing method as described above, or certain aspects or portions thereof, may take the form of a program code (i.e., executable instructions), such as the above-mentioned file-sharing application program, embodied in tangible media, such as floppy diskettes, CD-ROMS, hard drives, or any other machine-readable storage medium, wherein, when the program code is loaded into and executed by a machine or an electronic device, such as a computer, a cell phone, or other, and the machine thereby becomes an apparatus for practicing the methods. The methods may also be embodied in the form of a program code transmitted over some transmission medium, such as electrical wiring or cabling, through fiber optics, or via any other form of transmission, wherein, when the program code is received and loaded into and executed by a machine, such as a computer, a cell phone, or other, the machine becomes an apparatus for practicing the disclosed methods. When implemented on a general-purpose processor, the program code combines with the processor to provide a unique apparatus that operates analogously to application specific logic circuits.
While the invention has been described by way of example and in terms of preferred embodiment, it is to be understood that the invention is not limited thereto. Those who are skilled in this technology can still make various alterations and modifications without departing from the scope and spirit of this invention. Therefore, the scope of the present invention shall be defined and protected by the following claims and their equivalents.
This application claims the benefit of U.S. Provisional Application No. 61/416,289, filed on Nov. 22, 2010 and entitled “File sharing system and method”.
Number | Date | Country | |
---|---|---|---|
61416289 | Nov 2010 | US |