Abstract:
A cloud agent device including, determines whether the size of the file is less than the size of the remaining capacity of the second cloud storage, validating the verification request information of correctness, sending a affirmative notification to the first cloud storage and transfer the file from the first cloud storage to the second cloud storage when the verification request information is correct. The invention also provides a cloud storage and a file transferring method. The cloud agent device, cloud storage and file transferring method can efficient and accurate transfer of files in a safe condition.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
       [0001]    This application claims priority to Taiwanese Patent Application No. 103141695 filed on Dec. 2, 2014, the contents of which are incorporated by reference herein. 
       FIELD 
       [0002]    The present disclosure generally relates to cloud storage technology 
       BACKGROUND 
       [0003]    At present, free cloud storage services are provided for file uploading and downloading. However, capacities of cloud storage devices provided by different manufacturers are limited. When a user have registered cloud storage services from various cloud storage providers, he must know which cloud storage device files are uploaded and worries if the capacity of one of the cloud storage devices is full. Thus, it is convenient for users to manage the files on the cloud storage devices and the capacities of the cloud storage devices. In addition, complicated user authentication is required when a file transferring is raised. 
         [0004]    On the other hand, user accounts and passwords are required for different cloud storage platforms when a file transferring between the cloud storage platforms is performed. Security issue is consequentially raised if one of cloud storage platforms stores the user accounts and passwords of the other cloud storage platforms. Therefore, it is an important object to develop a method for file transferring without storing the user accounts and passwords of the cloud storage platforms. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0005]    Implementations of the present technology will now be described by way of example only with reference to the attached figures. 
           [0006]      FIG. 1  illustrates an application environment of an embodiment of a cloud agent device and a cloud storage. 
           [0007]      FIG. 2  illustrates a block diagram of an embodiment of a function of a cloud agent device and a cloud storage. 
           [0008]      FIG. 3  illustrates a block diagram of another embodiment of a function of a cloud agent device and a cloud storage. 
           [0009]      FIG. 4  illustrates a diagrammatic sketch of an embodiment of file transferring between a cloud agent device and a cloud storage. 
           [0010]      FIG. 5  illustrates a flowchart of an embodiment of a cloud agent device log on each cloud storage obtain account password. 
           [0011]      FIG. 6  illustrates a flowchart of an embodiment of a transfer files method. 
       
    
    
     DETAILED DESCRIPTION 
       [0012]    It will be appreciated that for simplicity and clarity of illustration, where appropriate, reference numerals have been repeated among the different figures to indicate corresponding or analogous elements. In addition, numerous specific details are set forth in order to provide a thorough understanding of the embodiments described herein. However, it will be understood by those of ordinary skill in the art that the embodiments described herein can be practiced without these specific details. In other instances, methods, procedures, and components have not been described in detail so as not to obscure the related relevant feature being described. Also, the description is not to be considered as limiting the scope of the embodiments described herein. The drawings are not necessarily to scale and the proportions of certain parts may be exaggerated to better illustrate details and features of the present disclosure. 
         [0013]    References to “an” or “one” embodiment in this disclosure are not necessarily to the same embodiment, and such references mean “at least one.” 
         [0014]    In general, the word “module” as used hereinafter, refers to logic embodied in computing or firmware, or to a collection of software instructions, written in a programming language, such as, Java, C, or assembly. One or more software instructions in the modules may be embedded in firmware, such as in an erasable programmable read only memory (EPROM). The modules described herein may be implemented as either software and/or computing modules and may be stored in any type of non-transitory computer-readable medium or other storage device. Some non-limiting examples of non-transitory computer-readable media include CDs, DVDs, BLU-RAY, flash memory, and hard disk drives. The term “comprising”, when utilized, means “including, but not necessarily limited to”; it specifically indicates open-ended inclusion or membership in a so-described combination, group, series and the like. 
         [0015]      FIG. 1  illustrates an application environment of an embodiment of a cloud agent device  10  and a cloud storage set  20 . In the illustrated embodiment, the cloud agent device  10  has functions of file management, file proxying file storing for the cloud storage  20 . The cloud storage set  20  includes a number of cloud storage devices, the main function of the cloud storage set  20  is to store files, share files and transfer files. Popular cloud storage providers include the BAIDU cloud storage, the Kingsoft disk, the Fast enough ONEDRIVE the Cloudlet and so on. In one embodiment, before the cloud agent device  10  performs file managing, proxying and storing to the files of the cloud storage set  20 , user accounts and passwords of each of the cloud storage devices of the cloud storage set  20  must be obtained. The cloud agent device  10  receives an instruction for a file transferring from an application of a user terminal device  30 , the user terminal device, logins to the each of the cloud storage devices of the cloud storage set  20  and obtains user accounts and passwords of each of the cloud storage devices, and, meanwhile, retrieves metadata of the cloud storage  20 . 
         [0016]    In one embodiment, whether a file is needed to be transferred between the cloud storage devices of the cloud storage set  20  is user-defined. When a file has to be transferred from a cloud storage to another, a file transferring request is sent from the application of the user terminal device  30  to the cloud agent device  10 . When receiving the file transferring request, the cloud agent device  10  logs in the cloud storage set  20  and checks remaining capacities of each of the cloud storage devices. 
         [0017]    In one embodiment, the cloud agent device  10  updates metadata of each of the cloud storage devices of the cloud storage set  20  when the file transferring is completed. 
         [0018]      FIG. 2  illustrates a block diagram of an embodiment of functional blocks of the cloud agent device  10  and the cloud storage set  20 . In one embodiment, the cloud agent device  10  includes a determining module  210 , a verification module  220  and a transferring module  230 . A second cloud storage  40  includes a request module  240  and a transfer-in module  250 . A first cloud storage  50  includes a consent module  260  and a transfer-out module  270 . The cloud agent device  10  enables a file to be transferred from the first cloud storage  50  to the second cloud storage  40 . It is noted that the second cloud storage  40  and the first cloud storage  50  belongs to the cloud storage set  20 . That is to say, the second cloud storage  40  also includes a consent module  260  and a transfer-out module  270 . The first cloud storage  50  also includes a request module  240  and a transfer-in module  250 . 
         [0019]    In one embodiment, the cloud agent device  10 , the second cloud storage  40  and the first cloud storage  50  of the function module perform corresponding functions to process the file transferring when the cloud agent device  10  receives the instruction for file transferring from the user terminal device  30 . 
         [0020]    In one embodiment, when receiving the instruction, the cloud agent device  10  logins to the second cloud storage  40  and the first cloud storage  50  and determines whether the size of a file to be transferred is less than a threshold value. The threshold value is equal to the remaining capacity of the second cloud storage  40 . A file rejecting information is sent to the user terminal device  30  when the size of the file is not less than the size of the remaining capacity of the second cloud storage  40 . A transfer request information is sent to the second cloud storage  40  when the size of the file is less than the size of the remaining capacity of the second cloud storage  40 . The transfer request information includes a user login account of the user terminal device  30 , a name of the file and a request token. Referring to  FIG. 4 , an embodiment of the cloud agent device  10  transferring the file from the first cloud storage  50  to the second cloud storage  40  is illustrated. 
         [0021]      FIG. 4  illustrates a diagrammatic sketch of an embodiment of transfer the file between the cloud agent device  10  and the cloud storage set  20 . The determining module  210  sends a transfer request information to the second cloud storage  40  when the size of the file is less than the size of the remaining capacity of the second cloud storage  40 . 
         [0022]    The transfer request information and the time stamp are transmitted to the first cloud storage  50  when the request module  240  of the second cloud storage  40  receives the transfer request information. The transfer request information needs to be sent within the time stamp and is encrypted by a digital signature. The time stamp is a time period, for example, 10 minutes or 30 minutes, which is set up in order to prevent hacker counterfeit for the transfer request information. The length of the time stamp can be user-defined according to the size and importance of the file. The digital signature process is encrypted to verified user identity. 
         [0023]    The transfer request information is verified when the consent module  260  of the first cloud storage  50  receives the transfer request information. A verification request information and a time stamp are transmitted to the cloud agent device  10 . The verification request information includes the name of second cloud storage  40  and the request token. 
         [0024]    The transfer request information is verified when the validate module  220  of the cloud agent device  10  receives the verification request information. 
         [0025]    The transfer module  230  sends a negative notification to reject the file transferring from the first cloud storage  50  to the second cloud storage  40  when the verification result is incorrect. The transfer module  230  sends an affirmative notification and the time stamp to the first cloud storage  50  in order to transfer the file from the first cloud storage  50  to the second cloud storage  40  when the verification result is correct. 
         [0026]    When the consent module  260  of the first cloud storage  50  receives the verification result, the file is rejected to be transferred when the verification result is incorrect. A transfer consent information and the time stamp is sent to the second cloud storage  40  when the verification result is correct. The transfer consent information includes a verification result of the transfer request information and a request token. 
         [0027]    The transfer validate information and a time stamp are sent to the first cloud storage  50  according to the transfer consent information when the transfer-in module  250  of the second cloud storage  40  receives the transfer consent information. The transfer verification information includes a user login account, a name of the file and a request token. 
         [0028]    The file is sent to the second cloud storage  40  when the transfer-outside module  270  of the first cloud storage  50  receives the transfer validate information. 
         [0029]    The file transferring operation is complete when the transfer-inside module  250  of the second cloud storage  40  receives the file. 
         [0030]    The file determination and transferring is complete after a series of operations is performed by the function modules of the cloud agent device  10 , the first cloud storage  50  and the second cloud storage  40 . 
         [0031]      FIG. 3  illustrates a block diagram of another embodiment of a function of the cloud agent device  10  and the cloud storage set  20 . In one embodiment, the cloud agent device  12  includes a determining module  310 , a verification module  320  and a transferring module  330 . A second cloud storage  42  includes a request module  340  and a transfer-in module  350 . A first cloud storage  52  includes a consent module  360  and a transfer-out module  370 . All the function modules are the same as mentioned  FIG. 2 . One or more of the function modules include computerized codes in the form of one or more programs that are stored in a storage unit  380 , a storage unit  381  and a storage unit  383  and are executed by a processor  390 , a processor  391  and a processor  393  to provide functions of the cloud agent device and the cloud storage set. The storage unit  380 , the storage unit  381  or the storage unit  383  can be a dedicated memory, such as an EPROM or a flash memory. 
         [0032]      FIG. 5  illustrates a flowchart of an embodiment of a cloud agent device log on each cloud storage obtain account password. The method is used in the cloud agent device  10  of the  FIG. 1 . 
         [0033]    In one embodiment, before transferring the file between the cloud storage platforms, the cloud agent device have to obtain the user accounts and passwords of each of the cloud storage devices of the cloud storage set. The cloud agent device logins to the each of the cloud storage and obtains the user accounts and passwords and, meanwhile, updates metadata of the cloud storage devices in real time. 
         [0034]    At block  500 , the cloud agent device obtains user accounts and passwords and logins to each of the cloud storage devices when an application of a user terminal device receive a login request. 
         [0035]    At block  502 , the cloud agent device retrieves the metadata of each of the cloud storage devices of the cloud storage set. 
         [0036]    At block  504 , the cloud agent device performs the operation and update the metadata when receiving a legal request to operating the cloud storage devices from the user terminal device. 
         [0037]      FIG. 6  illustrates a flowchart of an embodiment of a file transferring method. In one embodiment, the file transferring method is provided by way of example, as there are a variety of ways to carry out the method. The method described below can be carried out using the configurations illustrated in  FIG. 2  and  FIG. 3 , for example, and various elements of these figures are referenced in explaining the processing method. Each block shown in  FIG. 3  represents one or more processes, methods, or subroutines, carried out in the exemplary processing method. Additionally, the illustrated order of blocks is by example only and the order of the blocks can change. The file transferring method can begin at block S 600 . 
         [0038]    The cloud agent device obtains user accounts and passwords of each of the cloud storage devices for file managing, proxying and storing when the transfer request information is received from the user terminal device. 
         [0039]    In one embodiment, whether transfer the file is to be set by the user according to their own needs, if a user want to transfer a file from the first cloud storage to the second cloud storage. An application of the user terminal device  30  sends a transfer request information to the cloud agent device. This will be processed according to the corresponding needs when the cloud agent device receives the transfer request information. 
         [0040]    At block S 600 , the cloud agent device logins to the first cloud storage and the second cloud storage when receiving a command from the user terminal device to transfer a file from the first cloud storage to the second cloud storage. 
         [0041]    At block S 602 , the cloud agent device determines whether the size of the file is less than a threshold value. The threshold value is equal to the size of the remaining capacity of the second cloud storage. The process proceeds to block S 614  when the size of the file is not less than the size of the remaining capacity of the second cloud storage. The process proceeds to block S 604  when the size of the file is less than the size of the remaining capacity of the second cloud storage. 
         [0042]    At block S 604 , the cloud agent device sends the transfer request information to the second cloud storage. The transfer request information includes a user login account of the user terminal device, a name of the transfer file and a request token. 
         [0043]    At block S 606 , the transfer request information and the time stamp are transmitted to the first cloud storage when the second cloud storage receives the transfer request information. The transfer request information must be transferred within the time stamp. The time stamp is a time period, for example, 10 minutes or 30 minutes, which is user-defined in order to prevent hacker counterfeit. The length of the time stamp is user-defined according to the size and importance of the file. 
         [0044]    At block S 608 , the transfer request information is verified when the first cloud storage receives the transfer request information. The verification request information and a time stamp are transmitted to the cloud agent device. The verification request information includes the name of first cloud storage and the request token. 
         [0045]    At block S 610 , the cloud agent device verifies the transfer request information and sends the verification result to the first cloud storage. The process proceeds to block S 612  when the verification result is correct. The process proceeds to block S 614  when the verification result is incorrect. 
         [0046]    At block S 612 , the first cloud storage sends a transfer consent information to the second cloud storage by the time stamp, sends the file to the second cloud storage, when the first cloud storage verifies the transfer consent information, and returns a verification information. The transfer consent information includes a verification result of the transfer request information and a request token. The transfer verification information includes a user login account, a name of the file and a request token. 
         [0047]    At block S 614 , the first cloud storage rejects to transfer the file to the second cloud storage. 
         [0048]    After the capacities of the cloud storage devices are determined, the files can be fastly and safely transferred between the cloud storage devices. 
         [0049]    The file transferring method of the present disclosure determines whether the capacity of the cloud storage device is insufficient and, if so, transfers the file. The cloud agent device, the cloud storage and the file transferring method verify the cloud storage devices under a security condition and fastly complete the file transferring process between the cloud storage devices. Furthermore, the cloud agent device also stores excess files and transfers the files to the cloud storage devices. 
         [0050]    The embodiments shown and described above are only examples. Many details are often found in the art such as the other features of a cloud agent device, a cloud storage and a file transferring method. Therefore, many such details are neither shown nor described. Even though numerous characteristics and advantages of the present technology have been set forth in the foregoing description, together with details of the structure and function of the present disclosure, the disclosure is illustrative only, and changes may be made in the detail, especially in matters of shape, size, and arrangement of the parts within the principles of the present disclosure, up to and including the full extent established by the broad general meaning of the terms used in the claims. It will therefore be appreciated that the embodiments described above may be modified within the scope of the claims.