The present application relates generally to a system, computer product, and method for implementing a cloud service. More particularly, the present application relates to a cloud service with private storage whereby the storage location of the cloud service can be selected by users of the cloud service to be a private storage location rather than a “central public storage” location as in a traditional public cloud service.
Public cloud services allow users to store their data such as general emails, contacts, calendar, notes, document files, presentation, thesis papers, pictures, videos, etc. on the cloud instead of the local hard drive of a computing device. One advantage of this mechanism is that it allows the user to seamlessly share and synchronize data among different computing devices owned by the user or even different computing devices owned by other users.
iCloud by Apple, Instagram by Facebook, Dropbox by Dropbox Inc., etc. are examples of pubic cloud service providers that allow users to seamlessly share and synchronize data among different computing devices. However, there are general concerns about privacy when using these public cloud services because “storage in the cloud” really means “storage in the servers of the public cloud service providers.” In other words, the storage of data is in a “third party's hands” regardless of the sophistication of the security measures implemented by the public cloud service provider. Emails, contacts, calendars, notes, document files, presentations, thesis papers, pictures, videos, etc. can be extremely confidential and therefore it can be very harmful if these are accessible by the public without consent from the owner of the data.
One alternative is to build a private cloud and host the servers privately. Many large organizations implement their own private cloud in this fashion. However, this solution is limited to very large organizations as the efforts involved in building and maintaining a private cloud is beyond the economic and technical capability of many small/medium organizations.
As such, it is desirable to provide a system, computer product, and method with the ease-of-use and functionality of a standard public cloud service which provide users the option of storing the data on a local storage provided by the user. The most apparent advantage of such “Private Cloud Storage” is privacy because the data never resides in the hands of any “third party”. Another advantage relates to “cyber foot print.” When the user removes the local storage, or configures a new local storage, the old storage is immediately “vanished” from the Internet forever without a trace. Such a solution can also be implemented in a cost effective manner because hard drive storage has become extremely inexpensive.
The foregoing needs are met, to a great extent, by the system, computer product, and method discussed herein, wherein in one aspect a system is provided that in some embodiments allows a user to select and designate a local computer as the storage location of the cloud service (e.g. a computer owned by the user of the cloud service).
In accordance with one aspect, a system includes a storage device, a cloud server, and a client device. The storage device may comprise of a network station, personal computer terminal, etc. provided that such device is capable of mass storage and communication with a network (e.g. Internet). The client device is linked to a network (e.g. Internet) with user data intended for cloud services such as, but are not limited to, storing data on the cloud or sharing/synchronizing data among one of more of other client devices that the user of the cloud service designates to share/synchronize the user data. Examples of data include, but not limited to emails, contacts, calendar, notes, document files, presentation, thesis papers, pictures, videos, etc. The cloud server computer is linked to a network (e.g. Internet) and associated with a network address that can be reached publicly from the network (e.g. a static public IP address). For the sake of clarity, a practical implementation of the cloud server computer cluster may involve a load balancing mechanism that is well known at the time of this application. The storage device is configured to send a signal that includes data for locating the storage device. The cloud server computer is configured to receive from the storage device a signal that includes data for locating the storage device. A communication channel between the storage device and the cloud server computer is optionally maintained thereafter.
The client device is linked to the network (e.g. Internet) and capable of sending user data to the cloud server requesting cloud services in a manner that is well known at the time of this application. When the cloud server needs to temporarily or permanently store the user data or retrieve user data when performing the cloud services requested by a client device, the cloud server will send requests to the storage device designated by the user to fulfill the task. Since the communication channel with the storage device is initiated by the storage device and maintained by the cloud server, it works under all circumstances whether the storage device is having static/dynamic network address or whether it is publicly accessible from the network (e.g. Internet) or not such as when the storage device behind a firewall or indirectly connected to the network via a network gateway, network proxy, router, network address translator, etc. Naturally the storage device is required to be securely authenticated before it is registered by the cloud server as the designated storage for a particular user account.
As a result, no temporary or permanent storage involving the cloud service is ever stored in the storage of the cloud server on the network (e.g. Internet) so privacy has been significantly enhanced. From the same token, “Cyber foot print” can also be guaranteed when the user stops using this cloud service or configures a new local storage as the old storage will immediately be “vanished” from the Internet without a trace when it is erased, formatted, or physically removed by the user. In addition, because the storage device is manageable by the cloud server, cloud server can optionally apply limitations at the storage device such as limiting the storage space, file type, file size, etc. Finally this solution can also be implemented in a cost effective manner because hard drive storage is provided by the user of the cloud service instead of the cloud service provider.
Methods for providing the cloud services such as storing/retrieving user data on the cloud or sharing/synchronizing among more than one client device, etc. are well known at the time of this application.
In accordance with another aspect, the storage device may be directly accessible by the client devices. In this case, the cloud server may instead instruct the client devices to send requests to the storage device designated by the user to fulfill the task.
In accordance with another aspect, the storage device can be proprietary hardware capable of mass storage with computing capability designated for the purpose of a storage device in the context of this application. Typically, the proprietary hardware is a special-purpose personal computer with mass storage capability but no general keyboard/monitor as in a general purpose personal computer. It is also not equipped with general purpose applications other than software to perform the functions of a storage device in the context of this application.
There has thus been outlined, rather broadly, certain embodiments in order that the detailed description thereof herein may be better understood, and in order that the present contribution to the art may be better appreciated. There are, of course, additional embodiments that will be described below and which will form the subject matter of the claims appended hereto.
In this respect, before explaining at least one embodiment in detail, it is to be understood that the system, computer product, and method is not limited in their application to the details of construction and to the arrangements of the components set forth in the following description or illustrated in the drawings. The system, computer product, and method are capable of embodiments in addition to those described and of being practiced and carried out in various ways. Also, it is to be understood that the phraseology and terminology employed herein, as well as the abstract, are for the purpose of description and should not be regarded as limitation.
As such, those skilled in the art will appreciate that the conception upon which this disclosure is based may readily be utilized as a basis for the designing of other structures, methods and systems for carrying out the several purposes described herein. It is important, therefore, that the claims be regarded as including such equivalent constructions insofar as they do not depart from the spirit and scope of the present application.
The system, computer product, and method will now be described with reference to the drawing figures, in which like reference numerals refer to like parts throughout. An embodiment in accordance with one aspect is depicted in
Generally, system 10 is an architecture that, through a combination of hardware and software, allows a user of a cloud service to specify a “private storage” designated/possessed by the specific user instead of using the “central public storage” offered by the cloud service provider as part of the cloud server. In other words, system 10 allows users to specify a local storage such as, but not limited to, a computer or a special purpose storage device as the place of storage owned by the user or other party designated by the user with mass storage spaces. System 10 allows the storage device 102 to have a static/dynamic network address and whether it is publicly accessible from the network (e.g. Internet) or not. For the sake or clarity, publicly un-accessibility can be a situation when the storage device is behind a firewall or indirectly connected to the network via a network proxy, network router, network gateway, etc. In one aspect system 10 includes security features that only an authorized storage device can be registered by the user as the private storage for the cloud functionalities. As depicted in
Storage device 102 is also capable of receiving a storage/retrieval request from cloud server 106 as well as the capability to process the storage/retrieval request and store/retrieve the user data 26 following instruction in the storage/retrieval request. Examples of user data 26 include, but not limited to, emails, contacts, calendar, notes, document files, presentation, thesis papers, pictures, videos, etc. This allows users of the cloud service to avoid having copies or images of their confidential original data 27 residing in the hands of a third party (the cloud service provider)'s public storage.
Client devices 104 are computing devices such as personal computers, smartphones, tablets, etc. and are linked to original data 27 that are involved in the requests for cloud services such as cloud data storage/backup, synchronization with other client devices 104, etc. Examples of original data 27 linked to client devices 104 include, but are not limited to, emails, contacts, calendars, notes, document files, presentations, thesis papers, pictures, videos, etc. There can be one or more than one client devices 104 associated with one user account of the cloud service. Client devices 104 are capable of sending authentication credential as well as requests for cloud services to cloud server 106.
Cloud server 106 is capable of receiving a communication initiated from storage device 102 and enables a communication session with the cloud server 106. Cloud server 106 is also capable of receiving an authentication communication initiated from client device 104 and determines whether client device 104 is authorized to be a user of the cloud system 10. In addition, cloud server 106 is capable of receiving cloud service requests from client devices 104 as well as processing the cloud service requests. As well-known at the time of this application, if data synchronization to other client devices 104 is required, cloud server 106 will send data synchronization requests to client devices 104 other than the client device 104 that has initiated a cloud service request. When storage of user data 26 is needed, cloud server 106 will communicate with storage device 102 and send a storage/retrieval request to storage device 102 with an instruction to process the storage (e.g. what to store, how to store, etc.) or to retrieve user data 26 (e.g. what to retrieve, how to retrieve, etc.). For the sake of clarity, cloud server 106 has its own data storage for everything (e.g. operating system, cloud operation software, database related file, etc.) other than user data 26.
It is understood at the time of this application that a practical implementation of the cloud server computer cluster may involve a load balancing mechanism that is well known at the time of this application.
Network connection device 13 initiates communication(s) on the network (e.g. Internet) from storage device 102/108 to cloud server 106. For example, it can be a wireless modem for connecting to a wireless network or a network interface to a network, etc. It will be appreciated by a person of ordinary skill in the art however that network connection device 13 may be of another type or more than one type in order to send a communication from storage device 102/108 to cloud server 106 to the aforementioned wired and wireless networks (e.g. Internet). For example, network connection device 13 may be a network interface capable of connecting to a network switch, router, a WiFi connection point, or 3G/4G cellular network, etc.
Memory 19 includes random access memory (RAM) and read only memory (ROM). In this embodiment, ROM is a flash EEPROM, or flash memory. The ROM or mass storage 16 can be pre-installed with an operating system and software 11 that provides the operations of storage device 102/108 such as, but are not limited to, sending out authentication requests to cloud server 106, receiving storage/retrieval requests, acknowledgement of receiving storage/retrieval request, process storage/retrieval requests, etc.
User interface device 17 provides a hardware interface between a user of cloud service and microprocessor (CPU) 15, and includes input and output devices as may be necessary for commanding storage device 102/108 (e.g. entering authentication credentials) and reporting of operation results (e.g. successful authentication). Examples of input devices include, but are not limited to, a small keypad with numeric buttons, an “ok”, and a “cancel” button, etc. It may also be a full keyboard in the situation if storage device is a general purpose computer 102. Examples of output devices include, but are not limited to, a small LCD display. It may also be a full monitor in the situation if storage device is a general purpose computer 102.
Other embodiments of storage device 102/108 have been contemplated. Although in the embodiment as shown in
If data synchronization is required, synchronization instruction(s) will be sent from cloud server 106 (62) to all other client devices 104 (Client Devices″) designated by the user to share/synchronize user data 26 received from the initiated device 104 (Client Device1). This is different from synchronization request(s) (56) as shown in
This embodiment as described in
While embodiments of the method of the application are described in the order of steps as shown, a reasonable person of ordinary skill in the art would understand that the order is not so limited. For example, in some embodiments, the storage/retrieval request (54) as well as other type of requests can be more than 1 or repeated for operational requirement and fulfillment purposes. For another example, many of the confirmation such as 61 are optional.
It will be readily understood that, through use of the foregoing described method, general privacy concern in storage potentially sensitive personal data in the hands of a third party (the servers of the cloud service provider) can be overcome because storage of user data is now in a private storage designated and owned/possessed by the user of the cloud service. In addition, “Cyber foot print” can also be guaranteed when the user stops using this cloud service or configures a new local storage as the old storage will immediately be “vanished” from the Internet without a trace when it is erased, formatted, or physically removed by the user. In addition, because the storage device is manageable by the cloud server, cloud server can optionally apply limitations at the storage device such as limiting the storage space, file type, file size, etc. Finally this solution can also be implemented in a cost effective manner because hard drive storage is provided by the user of the cloud service instead of the cloud service provider.
The many features and advantages of the application are apparent from the detailed specification, and thus, it is intended by the appended claims to cover all such features and advantages of the application which fall within the true spirit and scope of the application. Further, since numerous modifications and variations will readily occur to those skilled in the art, it is not desired to limit the application to the exact construction and operation illustrated and described, and accordingly, all suitable modifications and equivalents may be resorted to, falling within the scope of the application.