This application claims the priority benefit of Taiwan application serial no. 99137489, filed on Nov. 1, 2010. The entirety the above-mentioned patent application is hereby incorporated by reference herein and made a part of specification.
1. Field of the Invention
The invention generally relates to a system and a method for sharing an online storage space among multiple users, and more particularly, to a system and a method that allow a plurality of users to share a plurality of online storage services.
2. Description of Related Art
Cloud computing has been increasingly adopted along with the rapid development of computer technologies and the Internet. Cloud computing is a technology that coordinates the operations of different computer systems through a network or allows a computer system to receive services from remote hosts through network connections. A cloud storage service allows a user to store data into the space provided by a remote host through a network, so that the limitation on local hardware storage is broken through and file portability is increased.
To be specific, presently, a user can access online storages provided by different online storage service providers by signing up for free or paid accounts. However, because these online storages provided by different service providers are not connected or shared with each other, the user has to manage these online storages individually. When the user needs to move a file between different online storages, the user has to download the file to a local device first and then upload it to the other online storage.
In addition, because the user has to pass the network authentication to use a online storage, the user has to give his or her account number and password away in order to share the online storage with others. As a result, file security is greatly reduced, and data stored in the online storage could be misappropriated.
Accordingly, the invention is directed to a system and a method for sharing online storage services among multiple users, wherein online storages signed up by the users at different online storage providers are integrated, and the users are allowed to share the online storages provided by different online storage providers without jeopardizing the security of files.
The invention is directed to a system and a method for sharing online storage services among multiple users, wherein a user is allowed to manage online storages provided by different online storage providers through a single interface and use online storages shared by other users, so that the capacity limitation of the online storage provided by a single online storage provider is eliminated.
The invention provides a system for sharing online storage services among multiple users. The system includes a user communication interface, a file processing module, and an online storage communication interface. The user communication interface is configured to connect to a client end corresponding to a first user. The file processing module is coupled to the user communication interface. When the user communication interface receives a file upload request and a corresponding upload file from the client end, the file processing module searches for a personal online storage of the first user and a shared online storage of at least one related user of the first user and determines to upload the upload file to a partial online storage of the personal online storage and the shared online storage. The online storage communication interface is coupled to the file processing module. The online storage communication interface transfers the upload file to the partial online storage determined by the file processing module.
The invention also provides a method for sharing online storage services among multiple users. The method is adaptable to a online storage service system. In the present method, a file upload request and a corresponding upload file are received from a client end corresponding to a first user. Then, a personal online storage of the first user and a shared online storage of at least one related user of the first user are searched. After determining to upload the upload file to a partial online storage of the personal online storage and the shared online storage, the upload file is transferred to the determined partial online storage.
As described above, in the invention, the online storages signed up by a user at different online storage providers are managed through a single interface, so as to overcome the capacity limitation of online storage provided by a single online storage provider, and different users are allowed to share their online storages. Thereby, the flexibility and reliability in using online storages are improved.
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 preferred 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.
The user communication interface 110 is configured to connect to a client end corresponding to a user (for example, a client end 10 corresponding to a user A, a client end 20 corresponding to a user B, or a client end 30 corresponding to a user C). In the present embodiment, the user communication interface 110 may be a web-based distributed authoring and versioning (WebDAV) server, a file transfer protocol (FTP) server, a hypertext transfer protocol (HTTP) server, a client-server model server, or any other distributed file communication protocol server. Accordingly, the user can connect and log into the online storage service system 100 from the client end through a connection software supporting WebDAV, FTP, or HTTP, a connection software developed based on the client-server model, or a web-based file manager.
In the present embodiment, the personal online storage signed up by each user (for example, the personal online storage 40 of the user A, the personal online storage 50 of the user B, or the personal online storage 60 of the user C) may be provided by one or more online storage providers. The online storage communication interface 130 is configured to connect to the online storage providers for providing the online storage services. In the present embodiment, the online storage communication interface 130 may be a connection software supporting WebDAV, FTP, or HTTP, or an external storage application program interface, and which can access a personal online storage signed up by the user after connecting to a online storage provider.
The file processing module 120 is coupled to the user communication interface 110 and the online storage communication interface 130. When the user communication interface 110 receives a file upload request and a corresponding upload file from the client end, the file processing module 120 searches for the personal online storage of the user and a shared online storage of at least one related user and determines to upload the upload file to a partial online storage of the personal online storage and the shared online storage. Herein the partial online storage may be any partial online storage of the combined personal online storage and shared online storage.
Additionally, the file processing module 120 may further perform a file rename process and/or file splitting/joining processes, and the online storage communication interface 130 may further perform file encryption/decryption processes and/or file compression/decompression processes.
In other embodiments, regarding each user who has signed up and obtained access rights to the online storage service system 100, the file processing module 120 integrates more than one personal online storage signed up by the user and integrates shared online storages of more than one related user. When the user uploads a file to the online storage, the file processing module 120 determines which online storages (i.e., the partial online storage) are used for storing the file and determines whether to split the file into a plurality of file segments or rename the file (or the file segments) before it is uploaded. When the user downloads a file from the online storage, the file processing module 120 also determines which online storage(s) should be connected to obtain the entire file. To be specific, the online storage service system 100 allows each user to set up one or more user groups, and each user group has its own sharing rule set (composed of one or more sharing rules). Users belonging to the same user group are related users, and related users can share their online storages with each other. Thus, when the file processing module 120 determines the online storages to which a file is uploaded, besides the personal online storage of the user, the file processing module 120 may also upload the file or file segments to shared online storages provided by other related users. In other words, the user may access an online storage larger than the user's personal online storage. The capacity of the extra online storage is determined by the sharing rule set of the user group corresponding to the user.
Through the operations of the user communication interface 110, the file processing module 120, and the online storage communication interface 130, the online storage service system 100 brings a high flexibility in using online storage to its users. For example, when the file to be uploaded by a user is too large therefore cannot be stored into the online storage provided by a single online storage provider, the online storage service system 100 automatically splits the file into a plurality of file segments and then stores the file segments respectively into several online storages accessible to the user (i.e., any partial online storage of the combined personal online storage and shared online storages). In addition, by setting up the user groups, each user can configure the sharing rule sets and the correspondence between the personal online storage of the user and the user groups, so that the personal online storage of the user can be shared with other related users in the same user group and the shared online storages provided by other related users can be used. Thereby, the purpose of online storage sharing can be accomplished. For example, a user can configure a specific proportion or a specific amount of the user's personal online storage as a shared online storage of a specific user group. In other words, a user may have backup data in online storages of other users (for example, provided by different online storage providers) so that the security and reliability of storing data in the online storage are improved.
The group database 210 records at least one user group corresponding to each user, the correspondence between a personal online storage of each user and the corresponding user groups, and a sharing rule set of each user group. Users in the same user group are related users, and the file processing module 120 searches for a shared online storage provided by one or more related users according to the sharing rule set of each user group and the correspondence between the personal online storage of the user and the user groups. A sharing rule set may be a system preset sharing rule set or a user customized sharing rule set. In other words, in the online storage service system 200, each user group includes a plurality of users, and different user groups may include the same or completely different users.
The virtual directory database 220 records a virtual directory of a first user (i.e., the online storages for storing files uploaded by the first user), and the usage log database 230 records a usage log of the first user. The file processing module 120 determines a partial online storage of the personal online storage and the shared online storage according to the usage log and the virtual directory. Then, the file processing module 120 updates the virtual directory according to the partial online storage and stores the updated virtual directory into the virtual directory database 220.
When the user communication interface 110 receives a file download request from a client end, the file processing module 120 finds the online storage in which the corresponding file is currently stored according to the virtual directory, wherein the online storage may be one or more source online storages. The file processing module 120 downloads the file through the online storage communication interface 130 and transfers the file to the client end through the user communication interface 110.
As to a user possessing a personal online storage, regardless of whether the personal online storage is provided by one or more online storage providers or whether the personal online storage is free or paid, the client end corresponding to the user needs not to be respectively connected to the systems or communication interfaces of different online storage providers. Instead, the client end is connected to the online storage service system 200 through the user communication interface 110, and the client end can configure one or more corresponding user groups after signing up and obtaining access rights to the online storage service system 200 so that the online storage service system 200 can manage the personal online storage of the user.
To be specific, after the user sets up the corresponding user groups, the group database 210 records these user groups and the correspondence between the personal online storage of the user and the corresponding user groups. Besides, the group database 210 records the sharing rule set of each user group.
In some embodiments, the user's personal online storage is partitioned into a plurality of sub spaces, and the online storage service system 200 specifies that the user groups corresponding to the user and the sub spaces in the personal online storage have to have a one-on-one relationship. Namely, in the personal online storage of a user, each user group is corresponded to only one sub space instead of multiple sub spaces. For example, if the user sets up the corresponding user groups 1-4 and the personal online storage of the user is partitioned into sub spaces 1-4, in an embodiment, the correspondence between the user groups 1-4 and the sub spaces 1-4 is as shown in
In some other embodiments, the online storage service system 200 specifies that each user group may be corresponded to one or more sub spaces. In other words, in the personal online storage of a user, the online storage service system 200 allows multiple sub spaces to be corresponded to the same user group. For example, if the user sets up the corresponding user groups 1-3 and the personal online storage of the user is partitioned into sub spaces 1-4, in an embodiment, the correspondence between the user groups 1-3 and the sub spaces 1-4 is as shown in
In yet some other embodiments, the personal online storage of a user is partitioned into a plurality of sub spaces, and when the user sets up more than one corresponding user groups, the online storage service system 200 specifies that each sub space in the personal online storage of the user may be corresponding to one or more user groups, and each user group has a sharing rule set (may be a system preset sharing rule set or a user customized sharing rule set, and rules in the same sharing rule set cannot conflict with each other). When a sub space among the sub spaces is corresponding to multiple user groups, a priority is set for the file processing module 120 to search for a shared online storage according to the sharing rule set of a user group. Assuming that the user sets up the corresponding user groups 1-3 and the personal online storage of the user is partitioned into sub spaces 1-4, the correspondence between the sub spaces and the user groups is as shown in
In foregoing embodiments, the sharing rules in a sharing rule set include one or a combination of a sharing period rule, a sharing member rule, a sharing manner rule (for example, space sharing, space exchanging, or space giving), a shared space capacity rule, a file privacy rule, and a sharing schedule rule.
It has to be noted that the division of the sub spaces described in foregoing embodiment is only an example, and the capacity of each sub space is not limited in the invention.
As described above, in the online storage service system 200, the users in each user group, the correspondence between the sub spaces in the personal online storage of each user and the user groups corresponding to the user, and the sharing rule set of each user group can be determined based on the information recorded in the group database 210.
First, the first user connects to the user communication interface 110 of the online storage service system 100 through a client end connection software supporting WebDAV, FTP, or HTTP, a connection software developed based on the client-server model, or a web-based file manager at a client end corresponding to the first user, and the first user then inputs his or her account number and password to log into the online storage service system 100. Then, the first user selects an upload file in a storage device at the client end. In step 610, the user communication interface 110 receives a file upload request and the corresponding upload file from the client end and relays the upload file to the file processing module 120.
Next, in step 620, the file processing module 120 searches for a personal online storage of the first user and a shared online storage (may be provided by one or more online storage providers) of at least one related user of the first user. To be specific, the file processing module 120 searches for the shared online storages provided by all the related users in each user group corresponding to the first user according to the sharing rule set of each user group corresponding to the first user and the correspondence between the personal online storage of the first user and the corresponding user groups.
Thereafter, in step 630, the file processing module 120 determines to upload the upload file to a partial online storage of the personal online storage and the shared online storage.
In other embodiments, as shown in
In other embodiments, the file processing module 120 may store an entire upload file into a personal online storage or a shared online storage provided by a single online storage provider. Or, the file processing module 120 may also store a complete upload file respectively into two online storages (may be a personal online storage and/or shared online storages) provided by different online storage providers so as to achieve a file backup function.
Additionally, the file processing module 120 may further store an upload file into personal online storage and/or shared online storage provided by different online storage providers. In this case, the file processing module 120 performs a file splitting process on the upload file to generate a plurality of file segments and respectively determines which online storage each file segment is uploaded to. After that, the file processing module 120 updates the virtual directory of the first user according to the determined online storages (i.e., the partial online storage) to record the online storages in which the upload file (or all the file segments of the upload file) is recorded and then stores the updated virtual directory into the virtual directory database 220. Besides, when a online storage selected by the file processing module 120 for storing the upload file has special requirement to the file name or the upload file needs to be split, the file processing module 120 performs a file rename process on the upload file or the file segments thereof.
Finally, in step 640, the online storage communication interface 130 transfers the upload file to the partial online storage determined by the file processing module 120 according to instructions of the file processing module 120.
In some other embodiments, the online storage service system 100 further includes an internal storage device (not shown) for temporarily storing the file to be uploaded by the user. Thus, after the user logs into the online storage service system 100 and uploads a selected upload file to the online storage service system 100, the user terminates the connection between the client end and the online storage service system 100, and the online storage service system 100 continues with the file uploading operation.
In yet some other embodiments, when the user is not connected to the online storage service system 100, the file processing module 120 determines whether a file stored in a specific online storage needs to be moved to another online storage according to the usage log of each user and the rates and securities of the personal online storage and shared online storages accessible to each user at regular intervals. If the file processing module 120 determines to move a file, the file processing module 120 modifies the virtual directory of the user correspondingly. Accordingly, when next time the user connects to the online storage service system 100, the latest storage position of the file can be determined according to the virtual directory.
Below, how a user (will be referred to as a first user thereinafter) of the online storage service system 200 (illustrated in
After the first user connects the corresponding client end to the online storage service system 200 and completes the authentication process, in step 710, the user communication interface 110 receives a file download request from the client end.
Then, in step 720, the file processing module 120 obtains a virtual directory of the first user from the virtual directory database 220 and locates one or more source online storages in which the download file corresponding to the file download request is currently stored according to the virtual directory.
In step 730, the file processing module 120 downloads the download file through the online storage communication interface 130. To be specific, the online storage communication interface 130 connects to foregoing source online storages according to instructions of the file processing module 120 and downloads the download file to the online storage service system 200. In an embodiment, the online storage service system 200 includes an internal storage device (not shown) for temporarily storing the download file. If the download file is compressed and/or encrypted, the online storage communication interface 130 performs a file decompression process and/or a file decryption process on the download file.
Regarding the processed download file, the file processing module 120 determines whether the file obtained by the online storage communication interface 130 is the complete download file or file segments thereof. If the online storage communication interface 130 obtains the file segments, the file processing module 120 performs a file joining process to restore file segments into a complete download file. Finally, in step 740, the user communication interface 110 transfers the download file to the client end.
As described above, the online storage service system 200 integrates and virtualizes online storages signed up by a user at different online storage providers the online storages. When the user uploads or downloads a file through the online storage service system 200, the user can access the online storage services provided by different online storage providers through a single client end connection software or web-based file manager. In the online storage service system 200, the file processing module 120 manages the conversion between virtual file access and physical file access, and the changes made to the file system when a user accesses files through the online storage service system 200 is recorded in the virtual directory of the user. Thus, the user can determine the storage position of a file according to his/her own virtual directory. In another embodiment, the virtual directory of the user is stored in an internal storage device at the client end or a portable storage device (for example, a flash drive) of the user.
In summary, the invention provides a system and a method for sharing online storage services among multiple users, wherein the online storages respectively signed up by users at different online storage providers are integrated, and related users belonging to the same user group are allowed to share their online storages without jeopardizing the security of the users' personal files. Thereby, the flexibility in using online storage is greatly increased, and the reliability of storing data in online storage is ensured.
It will be apparent to those skilled in the art that various modifications and variations can be made to the structure of the invention without departing from the scope or spirit of the invention. In view of the foregoing, it is intended that the invention cover modifications and variations of this invention provided they fall within the scope of the following claims and their equivalents.
Number | Date | Country | Kind |
---|---|---|---|
99137489 | Nov 2010 | TW | national |