The present application is related to and claims the benefit under 35 U.S.C. §119(a) to a Korean patent application No. 10-2012-0025131 filed on Mar. 12, 2012 in the Korean Intellectual Property Office, the entire disclosure of which is hereby incorporated by reference.
The present invention relates generally to a cloud service and a cloud computing. More particularly, the present invention relates to an apparatus and a method for managing content for cloud computing.
A cloud service or a cloud computing is a service allowing to use IT resources such as computing, storage, and network, via Internet necessary and to pay per use, and represents a computing technology for providing IT related services such as data storage, processing, network and content use all together from a server in the Internet represented in a cloud-like shape.
The home cloud environment provides cloud infrastructures (computing and storage) which interwork with the home using the network technology, and users pay a certain usage fee according to the provided resource amount and a service level to thus manage content. Such a home cloud does not merely store and manage digital content such as document, music, photo, and video used by devices such as computer, tablet PC, notebook, smartphone, and television (TV) in the home only to a home device and a local server of the limited size, but stores the content to a cloud storage server connected to a home cloud gateway server. Hence, unlimited virtual resources can be dynamically provided, and the user can store, view, and update the content by accessing his/her cloud storage from web-capable places in and outside the home. In addition, when an unpredicted home device trouble or damage arises, safe content management can be achieved by backing important content or data up to the cloud storage of high reliability.
Related art including Korean Patent Publication Application No. 2010-0137323 (Dec. 30, 2010) relating to the conventional home content management describes a structure for managing multimedia content in association with the home network and the web and connecting to the device such as digital TV, or suggests an abstract structure for determining whether the local server or the cloud server processes and stores the content when the user wants to store or view the content in association with the cloud infrastructure.
However, in recent, when using the cloud resources, the user usually utilizes different cloud resources rather than using, the single cloud resource of a particular company. The related arts which suggest the interworking method of the existing home and the cloud resource do not consider different service levels provided by the cloud resources.
Thus, what is needed is a method for not only storing and viewing the content when the content is managed in the home interworking with the heterogeneous cloud infrastructures but also automatically selecting the cloud server from various cloud infrastructures for the content storage by considering the user's required service level and preference. For the content viewing, a content provision method for selecting the cloud server of optimal Quality of Service (QoS) needs to be considered.
To address the above-discussed deficiencies of the prior art, it is a primary aspect of the present invention to provide an apparatus and a method for managing a cloud storage for storing and selecting content in a cloud service system.
Another aspect of the present invention is to provide an apparatus and a method for, when storing content from a user to a cloud storage, selecting a cloud storage according to a request of the user and storing the content to the selected cloud storage in a cloud service system.
Yet another aspect of the present disclosure is to provide an apparatus and a method for selecting intended content to view among contents stored to a cloud storage more rapidly in a cloud service system.
Still another aspect of the present disclosure is to provide an apparatus and a method for selecting content to be viewed among contents stored to some other devices than a cloud storage, or a home cloud gateway more rapidly in a cloud service system.
According to one aspect of the present disclosure, a gateway of a cloud service system which includes at least one user device, a plurality of clouds for providing different cloud services, and the gateway connected between the user device and the clouds, includes an information table for storing predefined Service Level Agreement (SLA) information; and a controller for selecting at least one of the clouds according to the SLA information and storing content provided from the user device to the selected cloud.
According to another aspect of the present disclosure, a gateway of a cloud service system which includes at least one user device, a plurality of clouds for providing different cloud services, and the gateway connected between the user device and the clouds, includes a calculator for calculating a response time for each of the clouds; and a selector for, when the user device requests to view content, selecting clouds in an ascending order of the response time from clouds storing the requested content, requesting the content stored to the selected clouds, and providing the content to the user device.
According to yet another aspect of the present disclosure, a gateway of a cloud service system which includes at least one user device, a plurality of clouds for providing different cloud services, and the gateway connected between the user device and the clouds, includes a verifier for, when the user device requests to view content, verifying clouds storing the content; and a selector for selecting the cloud from the verified clouds in an ascending order of a response time, requesting the content stored to the selected clouds, and providing the content to the user device.
According to still another aspect of the present disclosure, a method for storing content in a gateway of a cloud service system which includes at least one user device, a plurality of clouds for providing different cloud services, and the gateway connected between the user device and the clouds, includes selecting at least one of the clouds according to predefined SLA information; and storing content provided from the user device, to the selected cloud.
According to a further aspect of the present disclosure, a method for selecting content in a gateway of a cloud service system which includes at least one user device, a plurality of clouds for providing different cloud services, and the gateway connected between the user device and the clouds, includes calculating a response time for each of the clouds; and when the user device requests to view content, selecting clouds from clouds storing the requested content in an ascending order of the response time, requesting the content stored to the selected clouds, and providing the content to the user device.
According to a further aspect of the present disclosure, a method for selecting content in a gateway of a cloud service system which includes at least one user device, a plurality of clouds for providing different cloud services, and the gateway connected between the user device and the clouds, includes when the user device requests to view content, verifying clouds storing the content; selecting clouds from the verified clouds in an ascending order of a response time; and requesting the content stored to the selected clouds and providing the content to the user device.
Other aspects, advantages, and salient features of the disclosure will become apparent to those skilled in the art from the following detailed description, which, taken in conjunction with the annexed drawings, discloses exemplary embodiments of the disclosure.
Before undertaking the DETAILED DESCRIPTION OF THE INVENTION below, it may be advantageous to set forth definitions of certain words and phrases used throughout this patent document: the terms “include” and “comprise,” as well as derivatives thereof, mean inclusion without limitation; the term “or,” is inclusive, meaning and/or; the phrases “associated with” and “associated therewith,” as well as derivatives thereof, may mean to include, be included within, interconnect with, contain, be contained within, connect to or with, couple to or with, be communicable with, cooperate with, interleave, juxtapose, be proximate to, be bound to or with, have, have a property of, or the like; and the term “controller” means any device, system or part thereof that controls at least one operation, such a device may be implemented in hardware, firmware or software, or some combination of at least two of the same. It should be noted that the functionality associated with any particular controller may be centralized or distributed, whether locally or remotely. Definitions for certain words and phrases are provided throughout this patent document, those of ordinary skill in the art should understand that in many, if not most instances, such definitions apply to prior, as well as future uses of such defined words and phrases.
For a more complete understanding of the present disclosure and its advantages, reference is now made to the following description taken in conjunction with the accompanying drawings, in which like reference numerals represent like parts:
Throughout the drawings, like reference numerals will be understood to refer to like parts, components and structures.
The terms and words used in the following description and claims are not limited to the bibliographical meanings, but, are merely used by the inventor to enable a clear and consistent understanding of the disclosure. Accordingly, it should be apparent to those skilled in the art that the following description of exemplary embodiments of the present disclosure is provided for illustration purpose only and not for the purpose of limiting the invention as defined by the appended claims and their equivalents.
It is to be understood that the singular forms “a,” “an,” and “the” include plural referents unless the context clearly dictates otherwise. Thus, for example, reference to “a component surface” includes reference to one or more of such surfaces.
By the term “substantially” it is meant that the recited characteristic, parameter, or value need not be achieved exactly, but that deviations or variations, including for example, tolerances, measurement error, measurement accuracy limitations and other factors known to those of skill in the art, may occur in amounts that do not preclude the effect the characteristic was intended to provide.
The gateway, to be explained, can be referred to as a home cloud gateway as the gateway disposed in the home based on the home; that is, as the gateway which mediates between the user device of the home and several clouds. Yet, the cloud gateway according to exemplary embodiments of the present disclosure is not confined to the home because the cloud gateway of the present disclosure can be the gateway which mediates between the user device in the office and the clouds. Accordingly, the cloud gateway may be referred to as the home cloud gateway or a home cloud gateway server of the same meaning. The cloud may be referred to as a cloud storage, a cloud server or a cloud storage server, and the digital content may be referred to as content, data, and multi-copies of the content.
A home cloud gateway 210 serves as an intermediary for connecting the home infrastructure and the heterogeneous cloud infrastructure. The home cloud gateway 210 includes a storage interworking module for interworking with the heterogeneous cloud infrastructure or the storage service provided in the home infrastructure. A cloud storage interworking module 220 of the storage interworking module interworks with the storage service provided in the cloud infrastructure, and a home storage interworking module 230 interworks with the storage service provided in the home infrastructure.
When the user requests the cloud storage service, the home cloud gateway 210 stores the multi-copy or the replica of the corresponding content on the cloud storage or the home local server (or the home storage). When the user requests to view the content, the home cloud gateway 210 selects the cloud storage or the home storage storing the corresponding content and provides the content stored to the selected storage to the user. The content storing and the content selection are performed in the cloud storage interworking module 220 and the home storage interworking module 230 of the home cloud gateway 210.
The operations of the present disclosure, to be explained, are divided into the content storing and the stored content selection according to an exemplary embodiment of the present disclosure, and the stored content selection according to another exemplary embodiment of the present disclosure. The content storing and the content selection according to an exemplary embodiment of the present disclosure shall be explained by referring to
<Content Storing and Selection>
According to an exemplary embodiment of the present disclosure, when the user requests the cloud storage service, the home cloud gateway 210 stores the corresponding content on the cloud storage. When the user requests to store the content such as document, photo, music, and video through the home device 111 including the display in the home, the home cloud gateway 210 connected to the home device 111 receives the content storage request and generates the multi-copy of the requested content. The home cloud gateway 210 distributes and stores the generated multiple copies of the content on at least one of the cloud storages, and stores the distributed storage result on the hash table 221 of the cloud storage interworking module 220.
The hash table 221, the SLA information table 222, the content multi-copy generator 224, and the multi-copy storage controller 225 are the component for storing the corresponding content on the cloud storage when the user requests the cloud storage service.
The hash table 221 stores the information of the multi-copy of the content requested by the user and the cloud storing the multi-copy. Indexes of the hash table 221 correspond to the content, and the information of the content multi-copy and the cloud is managed in the form of a linked list. The SLA information table 222 stores predefined SLA information. The SLA information can include information about a service usage fee. The information table 222 stores the service usage fee information and storage capacity information of the clouds. The content multi-copy generator 224 generates the multi-copy of the content provided from the user device. The multi-copy storage controller 225 selects at least one of the clouds according to the SLA information, and stores the content provided from the user device to the selected cloud. The multi-copy storage controller 225 selects the cloud from the clouds in the ascending order of the service usage fee. When the available capacity of the selected cloud is smaller than the content size, the multi-copy storage controller 225 selects the cloud of the second lowest service usage fee. The information table 222 can be generated and updated according to the value input by the user through the user device or provided from the clouds.
When the user requests to view the content, the home cloud gateway 210 selects the cloud storage storing the corresponding content and provides the user with the content stored to the selected cloud storage. When the user requests to view the content such as document, photo, music and video through the home device 111 including the display in the home, the home cloud gateway 210 connected to the home device 111 receives the content viewing request and searches for the corresponding index value of the hash table 221 by calculating a hash value of the request content. The home cloud gateway 210 selects one of the cloud storages storing the content based on the linked list indicating the multi-copy storage location of the content indicated by the index value, and provides the user with the content stored to the selected storage.
The hash table 221, the content request RT information table 223, the RT calculator 226, and the multi-copy selector 227 are the components for selecting the cloud storage storing the corresponding content when the user requests to view the content, and for providing the user with the content stored to the selected cloud storage.
The hash table 221 stores the information of the clouds storing the content on the content basis. The content request RT information table 223 stores a calculation result of the RT of each cloud. The RT calculator 226 calculates the RT of each cloud. More specifically, the RT calculator 226 requests test content stored on the clouds on a preset periodic basis, calculates the RT until receiving the test content, and stores the RTs of the clouds to the RT information table 223. The test content is stored to the connected cloud every time a new cloud storage service is connected. The multi-copy selector 227 stores the requested content when the user device requests the content viewing, selects the clouds on the ascending order of the RT, requests the content stored to the selected clouds, and provides the content to the user device.
The home storage interworking module 230 of the home cloud gateway 210 includes only the hash table 223 in
<Content Storage>
Every time a new cloud infrastructure is connected in step 326, the home cloud gateway 210 fetches and records the SLA value provided from the corresponding cloud infrastructure to the SLA information table 222 in step 327.
When the user in the home requests to store the content through the home device 111 in steps 322 and 323, the content multi-copy generator 224 of the home cloud gateway 210 generates the multi-copy of the requested content and the multi-copy storage controller 225 selects at least one corresponding cloud storage based on the values of the SLA information table 222 and distributively stores the generated multi-copy of the content to the selected cloud storage in step 324. For example, the multi-copy storage controller 225 of the home cloud gateway 210 selects the cloud storage in ascending order of the SLA value based on the values of the SLA information table 222. When the available capacity of the selected cloud storage lacks, the multi-copy storage controller 225 selects the cloud storage of the next lower SLA value and stores the generated multicopy of the content on the selected cloud storage in step 325. This multi-copy content storing operation may be performed on the single cloud storage or multiple cloud storages according to the available capacity of the cloud storage.
Every time a new cloud storage is connected, the home cloud gateway 210 records the SLA value provided from the corresponding cloud storage to the SLA information table 222 (steps 326 and 327 of
When the user requests to store his/her content on the cloud storage through the home device 111, the home cloud gateway 210 receives the content storage request and calculates and records the hash value of the requested content to the hash table 221 (in step 323 of
The home cloud gateway 210 manages the stored multi-copy of the content in the form of the linked list. The linked list includes a field A and a field B as shown in
The home cloud gateway 210 manages the content request RT information table 223 as well as the SLA information table 222. The content request RT information table 223 is used to manage the RS of the request when the user requests to view the content, which shall be explained in detail by referring to
To store the video content, cloud.avi, the home cloud gateway 210 calculates the hash value of the content (hash value: 0), and generates and links the linked list to the corresponding hash value location of the hash table 221. Next, the home cloud gateway 210 generates the multi-copies of the video content and refers to the storage SLA information table 222. Since the cloud storage with the lowest SLA value (service usage fee) is the fourth storage and its storage available capacity is 20 MB, the home cloud gateway 210 stores the first copy of the video content on the fourth cloud storage. As the first copy of the video content is stored, the fourth cloud storage has no more residual storage capacity.
To store the second copy of the video content, the home cloud gateway 210 identifies the storage with the lowest SLA value among the cloud storages excluding the fourth storage. The zeroth storage has the lowest SLA value among the cloud storages excluding the fourth storage and its available capacity is 30 MB. Hence, the home cloud gateway 210 stores the second copy of the video content on the zeroth storage. As the second copy of the video content is stored, the available capacity of the -zeroth cloud storage becomes 10 MB.
To store the third copy of the video content, the home cloud gateway 210 identifies the third storage with the lowest SLA value among the cloud storages excluding the fourth and zeroth storages. The third storage has the lowest SLA value among the cloud storages excluding the fourth and zeroth storages and its available capacity is 30 MB. Hence, the home cloud gateway 210 stores the third copy of the video content to the identified third storage. The multi-copies of the video content cloud.avi are distributively stored to the fourth, zeroth and third cloud storages.
Next, to store the document content, patent.pdf, the home cloud gateway 210 calculates the hash value of the content (the hash value is 1), and generates and links the linked list to the hash value location of the hash table 221. Next, the home cloud gateway 210 generates the multi-copies of the document content and refers to the storage SLA information table 222. Among the clouds excluding the fourth cloud storage having no available capacity, the zeroth cloud storage has the lowest storage SLA value (service usage fee) and its storage available capacity is 10 MB. Accordingly, the home cloud gateway 210 stores the first copy of the document content to the zeroth cloud storage. As the first copy of the document content is stored, the available capacity of the zeroth cloud storage becomes 5 MB.
To store the second copy of the document content, the home cloud gateway 210 identifies the storage with the lowest SLA value among the cloud storages excluding the fourth storage. The zeroth storage has the lowest SLA value and its available capacity is 5 MB. Hence, the home cloud gateway 210 stores the second copy of the document content on the zeroth storage. As the second copy of the document content is stored, the available capacity of the zeroth cloud storage becomes 0 MB.
To store the third copy of the document content, the home cloud gateway 210 identifies the third storage with the lowest SLA value among the cloud storages excluding the fourth and zeroth storages. The home cloud gateway 210 stores the third copy of the document content on the identified third storage. Accordingly, the multi-copies of the document content patent.pdf are distributively stored to the zeroth and third cloud storages.
Next, to store the document, content lecture.doc, the home cloud gateway 210 calculates the hash value of the document (the hash value is 2), and generates and links the linked list to the hash value location of the hash table 221. Next, the home cloud gateway 210 generates the multi-copies of the document content and refers to the storage SLA information table 222. Among the clouds excluding the fourth and first cloud storages having no available capacity, the third cloud storage has the lowest storage SLA value (service usage fee) but its storage available capacity is 5 MB. Accordingly, the home cloud gateway 210 identifies the second cloud storage of the second lowest storage SLA value (service usage fee). Since the available capacity of the second cloud storage is 310 MB, the home cloud gateway 210 stores all of the multi-copies of the document content to the second cloud storage.
As such, when the available capacity of the selected storage is not enough to store the multi-copy, the home cloud gateway 210 selects another storage with the next SLA value and stores the content multi-copy to the selected storage. When all of the multi-copies of the content are stored, the storage locations of the multi-copies are recorded in the linked list which is linked to the hash table 221.
<An Exemplary Embodiment of Content Selection>
The RT calculator 226 of the home cloud gateway 210 periodically monitors the content request RT from the linked cloud storage in step 426, and records or updates the monitored result value to the content request RT information table 223 in step 427. Based on these, linked list nodes which are linked to the hash table 221 are arranged in ascending order of the content request RT.
Next, when the user requests to view the content to the home cloud gateway 210 through the home device in step 423, the multi-copy selector 227 of the home cloud gateway 210 calculates the hash value of the request content, selects the cloud storage stored to the first node in the linked list which is linked to the hash index value, and requests the content to the selected cloud storage in step 424. In step 425, the multi-copy is provided from the selected cloud storage to the user.
In
In
For example, the linked list linked to the zeroth hash index value of the hash table 221 is in the order of the third storage (the content request RT, 0.7 ms)→the zeroth storage (the content request RT, 0.5 ms)→the fourth storage (the content request RT, 0.1 ms) before the arrangement, whereas it is arranged in the order of the fourth storage (the content request RT, 0.1 ms)→the zeroth storage (the content request RT, 0.5 ms)→the third storage (the content request RT, 0.7 ms) after the arrangement. For example, the linked list linked to the first hash index value of the hash table 221 is in the order of the third storage (the content request RT, 0.7 ms)→the zeroth storage (the content request RT, 0.5 ms)→the zeroth storage (the content request, RT 0.5 ms) before the arrangement, whereas it is arranged in the order of the zeroth storage (the content request RT, 0.5 ms)→the zeroth storage (the content request RT, 0.5 ms)→the third storage (the content request RT, 0.7 ms) after the arrangement. Meanwhile, since the nodes of the linked list which is linked to the second hash index value of the hash table 221 contain the same storage location information (the second storage), the arrangement maintains the same order.
In
For example, when the user requests the first document content patent.pdf, the home cloud gateway 210 refers to the index value of the hash table 221 for the requested content, selects the 0-th cloud storage stored to the first node in the linked list, and requests the selected 0-th cloud storage to view the multi-copy of the document content.
As stated earlier, it is possible to meet the user's cloud storage selection policy and to minimize the request RT when the content viewing is requested, using the home cloud gateway server in the home which interworks with the heterogeneous cloud infrastructure. In addition, since the home cloud gateway server automatically operates, the user's direct intervention is not required and the user's required QoS can be satisfied easily. Since there is no need to inspect or modify the internal structure of the cloud infrastructure, it can be effectively used in association with the heterogeneous cloud infrastructure. Hence, the user can use various cloud infrastructures for the efficient content management.
<Another Exemplary Embodiment of Content Selection>
Verification in the cloud environment is used for the client to check whether his/her data is stored on the cloud, and to check whether the cloud service providers abide by the contract. For example, the verification is necessary when the cloud service providers do not store the multi-copies or the replicas on the cloud as many as the client wants. Hence, the processing of the multi-copies in the cloud should be different from the processing of the multi-copies in other device. While the verification in processing the multi-copies in the cloud can reduce the redundant operation, the devices of the gateway do not require the verification.
For the cloud environment, it is effective that the multi-copy processing of the data in the cloud is different from the multi-copy processing of the data in the device of the gateway. According to another exemplary embodiment of the present disclosure, to be explained, an effective method for searching for the optimal multi-copy is provided by flexibly selecting the multi-copy according to whether the multi-copy is contained in the cloud or the device.
When the user requests to store digital content in the home device 601, the home cloud gateway 700 requests to store the content with sending the content to the clouds 801, 802 and 803. As shown in
According to another exemplary embodiment of the present disclosure, when the user requests to view certain content in the home device 601, the home cloud gateway 700 determines whether the requested content is stored on the connected cloud, the home cloud gateway 700, or the other registered device. When the multi-copy of the requested content is stored to the other device, the home cloud gateway 700 selects the multi-copy of the shortest RT using estimation. When the content is stored on the cloud, the home cloud gateway 700 verifies the cloud and selects the multi-copy of the shortest RT at the same time.
The hash table 701 stores the information of the clouds storing the content on the content basis and the information of the RT from the content request to the response when the content is requested to the cloud. The location searcher 703 determines whether the multi-copies of the content are stored on the cloud, other device, or the HCG itself. The determination is conducted by checking a Location field of the hash table 701. The hash tree generator 704 generates a hash tree using the multi-copy information and a result value by applying, a hashing function to the multi-copy information. The hash tree verifier 705 verifies the cloud. In detail, the hash tree verifier 705 verifies the cloud by comparing a first hash tree generated by the hash tree generator 704 and its generated second hash tree. The second hash tree is generated by the hash tree verifier 705 by requesting and receiving the content information to and from the corresponding cloud when the user device requests to view the content, and using the received content information and its content information. The RT calculator 706 calculates the response time RT from sending, a request for the cloud verification to receiving the information. The RT estimator 707 estimates the device of the shortest RT by referring to the hash table 701. The multi-copy selector 708 selects the clouds from the verified clouds in ascending order of the RT, requests the content stored to the selected clouds, and provides the content to the user device.
The HCG 700 uses a so-called Merkle hash tree in order to verify the multi-copies in several clouds and to search the optimal multi-copy. The Merkle hash tree, which is one of representative methods for verifying data, is effective when verifying data stored on the block basis. For example, it is assumed that the multi-copies of the content are divided to b1 through b8 and stored on the clouds on the block basis as shown in
When the HCG 700 requests to verify the multi-copies b2 and b6, the cloud sends h2, h6, A(h1,hB), and A(h5,hD) to the HCG 700. Herein, A is an authentication path and used for the HCG 700 to reconstruct the Merkle hash tree. The HCG 700 generates the Merkle hash tree using the information received from the cloud and verifies the cloud by comparing hR generated by the Merkle hash tree and its own hR.
First of all, the operations when the multi-copy is stored on the cloud will be described. When the user requests certain content through the device, for example, the device 601 of
In step 530, the HCG 700 determines whether the cloud verification is required based on the hash table 701. When the HCGHT field corresponding to each index stores the RT value and the Temp field does not reach a certain value, the RTs are already known and its content is present. Hence, the verification is unnecessary. However, when the HCGHT field corresponding to each index is empty; that is, when the RT value is not stored, the cloud needs to be verified.
When the cloud needs to be verified, the hash tree verifier 705 verifies the cloud and concurrently the RT calculator 706 and the multi-copy selector 708 calculate the RT of each multi-copy and request the optimal multi-copy, which are performed in steps 550 through 556.
In step 550, the hash tree generator 704 of the HCG 700 generates the hash tree. When the multi-copies are stored on the cloud, the hash tree generator 704 calculates the result value hi by applying the hashing function to the multi-copy bi and stores the multi-copy bi and its hashing result value hi=h(bi) on the cloud. The hash tree generator 704 generates the hash tree using the current bi and hi. The generated hash tree is shown in
The hash tree generator 704 generates the nodes of the first level and the second level using its bi and hi, and then performs Exclusive NOR (XNOR) (or NXOR) (≡) in each stage as shown in exemplary Table 1.
The value of the first node A1 of the third level is determined as h1≡h2≡b3, the value of the second node A2 is determined as h4≡h5, and the value of the third node A3 is determined as h6≡h7≡h8. The value of the fourth node hR is determined as A1≡A2≡A3.
In step 552, the hash tree verifier 705 of the HCG 700 verifies the clouds. The HCG 700 has A1, A2, and A3 as the multi-copy information. The HCG 700 requests the hashing function values hi of the multi-copies of the requested content on the clouds 801, 802 and 803. In response to this, the clouds 801, 802 and 803 send hi to the HCG 700. The HCG 700 receives h1, h2, and h3 from the cloud 801, h4 and h5 from the cloud 802, and h6, h7 and h8 from the cloud 803. Next, the hash tree verifier 705 generates the tree using its generated tree, its own A, and hi received from the cloud. The hash tree verifier 705 verifies the cloud by generating some tree structure per cloud. More specifically, the hash tree verifier 705 determines the node value Ai of the next level from the values of hi received from one cloud, and finally calculates the value hR using the determined value Ai and the values of the node corresponding to other clouds. As such, the cloud can be verified by comparing the calculated value hR and the value hR known from the initial tree.
For example, the hash tree verifier 705 determines the node value A1 of the next level from the values h1, h2, and h3 received from the cloud 801, finally calculates the value hR using the determined value A1 and its node values A2 and A3 corresponding to the other clouds, and generates the tree of
In step 554, the RT estimator 707 calculates the RT of the cloud using a Round Trip Time (RTT) from sending a request for the cloud verification to receiving the information from the cloud. The calculated RTs are stored in the HCGHT field of the hash table 701 of
In step 556, the multi-copy selector 708 selects the cloud storage of the shortest RT among the verified clouds by referring to the HCGHT field of the hash table 701, and requests the multi-copy stored to the storage.
When the cloud verification is unnecessary, the RTs for the multi-copy are calculated and then the copy of the content with a minimum RT is requested without the verification, which is performed in steps 540 and 542.
In step 540, the RT calculator 706 calculates the RT by referring to the RT which is calculated previously and stored to the HCGHT field of the hash table 701. In step 542, the multi-copy selector 708 selects the cloud storage of the shortest RT among the verified clouds by referring to the HCGHT field of the hash table 701 and requests the multi-copy stored to the storage.
Now, the operations when the multi-copy is stored to the HGC or the other device, rather than the cloud, are explained. These operations consider that the routes of the users of the home device are fixed. For example, the routes can be almost fixed such that father moves along home→office→home, mother moves along home→mart→home, the first child moves along home→school→institute→home, and the second child moves along home→kindergarten→institute→home. In this case, the HCGHT field of the hash table 701 is arranged to serve as the log for recording the past RTs as shown in
When the user requests the multi-copy, the HCG 700 determines whether the multi-copy is stored to other device, itself, or the cloud in step 520. When the multi-copy is stored to the HCG or the other device, not the cloud, the RT estimator 707 of the HCG 700 estimates the device of the shortest RT by referring to the HCGHT field of the hash table 701. That is, the RT estimator 707 calculates averages of the values in each column of the HCGHT field and selects the smallest average. Next, the HCG 700 calculates and adds the RTT to the HCGHT field. As such, the RT of the devices is estimated based on the HCGHT field, the device of the shortest RT is selected, the content is received from the device and forwarded to the user. Next, the HCT calculates and adds the RT of the devices to the HCGHT field. Such the stored content selection can reduce the load for calculating the RT for every multi-copy.
As stated above, according to the stored content selection according to another exemplary embodiment of the present disclosure, the redundant multi-copy in the cloud can be reduced by concurrently verifying the cloud and calculating the RT, and the multi-copy in the device not belonging to the cloud can be effectively selected using the enhanced RT estimation. When the estimation is not applied, to calculate the RT to select the multi-copy of the shortest RT, it is necessary to send the test packet one by one before providing the data (content) to the user. However, since the HCG calculates the RT after estimating the RT and sending the data to the user in this exemplary embodiment of the present disclosure, the time for the user to receive the data can be shortened.
<Modification of the Stored Content Selection>
When the number of the HCGs increases, the HCGs need considerable calculations. In this case, it is efficient to group the HCGs. A certain number of the HCGs are grouped and managed by a group HCG which functions as a supernode. In
Since the group HCG 730 groups and manages the HCGs, its hash table 731 needs to change differently from the hash table of the general HCG. The group hash table 731 simply includes an Index field and a Destination field as shown in
For the operations according to another exemplary embodiment of the present disclosure, the HCGs 710 and 720 can include components of
As mentioned above, according to an exemplary embodiment of the present disclosure, it is possible to meet the user's cloud storage selection policy through the HCG server and to minimize the request RT when requesting to view the content in the home interworking with the heterogeneous cloud infrastructure. Since the HCG server automatically operates, the user's direct intervention is not required and the user's required QoS can be satisfied easily. In addition, since there is no need to obtain or modify the internal structure of the cloud infrastructure, the cloud can be effectively used in association with the heterogeneous cloud infrastructure. Thus, the user can use various cloud infrastructures for the sake of the efficient content management.
According to another exemplary embodiment of the present disclosure, the redundant multi-copy in the cloud can be reduced by concurrently verifying the cloud and calculating the RT, and the multi-copy in the device not belonging to the cloud can be effectively selected using the enhanced RT estimation.
So far, while the disclosure has been shown and described with reference to certain exemplary embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims and their equivalents. For example, while the home cloud system is adopted in the exemplary embodiments of the present disclosure, the present invention is equally applicable to the cloud gateway in the office, instead of the home.
The operations according to the exemplary embodiments of the present disclosure can be recorded in a computer-readable medium including program instructions for fulfilling the operations in various computers. The computer-readable medium can include program instructions, data files and data structures, in single or in combination. The program instruction may be specially designed and configured for the present disclosure or usable to those well known in the related art. The computer-readable recording medium includes, for example, magnetic media such as hard disk, floppy disk and magnetic tape, optical media such as CD-ROM and DVD, magneto-optical media such as floptical disk, and hardware devices specifically configured to store and execute the program instructions such as ROM, RAM, and flash memory. The program instruction includes, for example, a machine code made by a compiler and a high-level language code executable by a computer using an interpreter or the like. When part or all of a base station or a relay is implemented as a computer program, the present invention includes a computer-readable recording medium storing the computer program. Therefore, the spirit of the present invention should not be limited to the above-described exemplary embodiments, the following claims, and modifications thereof, are intended to fall within the scope and spirit of the invention.
Number | Date | Country | Kind |
---|---|---|---|
10-2012-0025131 | Mar 2012 | KR | national |