KR101930263B1 - 클라우드 게이트웨이의 콘텐츠 관리 장치 및 방법 - Google Patents

클라우드 게이트웨이의 콘텐츠 관리 장치 및 방법 Download PDF

Info

Publication number
KR101930263B1
KR101930263B1 KR1020120025131A KR20120025131A KR101930263B1 KR 101930263 B1 KR101930263 B1 KR 101930263B1 KR 1020120025131 A KR1020120025131 A KR 1020120025131A KR 20120025131 A KR20120025131 A KR 20120025131A KR 101930263 B1 KR101930263 B1 KR 101930263B1
Authority
KR
South Korea
Prior art keywords
cloud
content
clouds
user device
gateway
Prior art date
Application number
KR1020120025131A
Other languages
English (en)
Other versions
KR20130104019A (ko
Inventor
박용석
김선미
윤찬현
성단근
김진원
강동기
김희재
박용성
한영주
김태훈
차지영
Original Assignee
삼성전자주식회사
한국과학기술원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사, 한국과학기술원 filed Critical 삼성전자주식회사
Priority to KR1020120025131A priority Critical patent/KR101930263B1/ko
Priority to EP13760828.7A priority patent/EP2825970B1/en
Priority to PCT/KR2013/001593 priority patent/WO2013137573A1/en
Priority to US13/797,105 priority patent/US9270753B2/en
Publication of KR20130104019A publication Critical patent/KR20130104019A/ko
Application granted granted Critical
Publication of KR101930263B1 publication Critical patent/KR101930263B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs

Abstract

본 발명의 일 실시예에 따르면 클라우드 서비스를 제공하는 시스템은 적어도 하나의 사용자 디바이스와, 이종의 클라우드 서비스를 제공하는 다수의 클라우드들과, 상기 사용자 디바이스와 상기 클라우드들의 사이에 접속되는 게이트웨이를 포함한다. 상기 게이트웨이는, 미리 정해진 서비스수준협약 값에 따라 상기 클라우드들중 적어도 하나 이상의 클라우드를 선택하고, 상기 선택된 클라우드에 상기 사용자 디바이스로부터 제공되는 콘텐츠를 저장한다.

Description

클라우드 게이트웨이의 콘텐츠 관리 장치 및 방법{APPARATUS AND METHOD FOR MANAGING CONTENTS IN A CLOUD GATEWAY}
본 발명은 클라우드 서비스 또는 클라우드 컴퓨팅에 관한 것으로, 특히 사용자로부터의 콘텐츠를 관리하는 장치 및 방법에 관한 것이다.
클라우드 서비스(cloud service) 또는 클라우드 컴퓨팅(cloud computting)은 컴퓨팅, 스토리지, 네트워크와 같은 IT 자원들을 인터넷을 통해 필요한 만큼 빌려쓰고 사용한 만큼 비용을 지불하는 서비스로, 클라우드로 표현되는 인터넷상의 서버에서 데이터를 저장, 처리, 네트워크, 콘텐츠 사용 등 IT 관련 서비스를 한 번에 제공하는 컴퓨팅 기술을 말한다.
홈 클라이드 환경에서는 네트워크 기술을 통해 홈과 연동하는 클라우드 인프라 자원(Computing 과 Storage)을 제공하고, 제공하는 자원의 크기와 서비스의 등급에 따라 사용자가 일정한 사용료를 지불하여 콘텐츠를 관리할 수 있도록 한다. 이러한 홈 클라우드에서는 컴퓨터, 태블릿 PC, 노트북, 스마트폰, 텔레비전(TV)과 같은 디바이스(device)들에서 사용되고 있는 문서, 음악, 사진, 동영상 등과 같은 홈 내의 디지털 콘텐츠를 크기가 한정된 홈 디바이스 및 로컬 서버에만 저장하여 관리하는 것을 벗어나 홈 클라우드 게이트웨이 서버에 연결된 클라우드 스토리지 서버에 콘텐츠를 저장함으로써 가상적으로 크기가 무한한 자원을 동적으로 제공받을 수 있도록 하며 홈 내 뿐만 아니라 홈 외에서도 인터넷 사용이 가능한 장소에서 자신의 클라우드 스토리지에 접근하여 콘텐츠를 저장하거나 열람하고 갱신할 수 있는 환경을 제공한다. 또한 예기치 않은 홈 디바이스 고장이나 파손 시 중요한 콘텐츠나 데이터를 높은 신뢰성을 가지는 클라우드 스토리지에 백업해 둠으로써 안전한 콘텐츠 관리를 달성할 수 있다.
대한민국 특허출원공개번호 제2010-0137323호(2010년 12월 30)를 포함하여 기존의 홈 콘텐츠 관리에 관련된 발명들은 홈 네트워크와 웹을 연동하여 멀티미디어 콘텐츠를 관리하고 이를 디지털 TV 와 같은 디바이스와 연결하는 구조를 설명하거나, 클라우드 인프라와 연동 시 사용자가 콘텐츠를 저장하거나 열람하고자 할 때 이를 단순히 로컬 서버에서 혹은 클라우드 서버에서 처리하고 저장할 지를 결정하는 추상적인 구조를 제안하였다.
그러나 최근에는 클라우드 자원 사용 시, 사용자가 특정 회사의 단일 클라우드 자원만을 이용하는 것이 아닌 이종의 클라우드 자원을 사용하는 것이 보편적인 추세이며, 각 클라우드 자원이 제공하는 서비스 수준의 차이가 존재함에도 불구하고, 기존의 홈과 클라우드 자원의 연동 방법을 제안하는 발명들은 이를 고려하지 못하는 한계점을 지니고 있다.
그러므로 이종의 클라우드 인프라와 연동된 홈에서 콘텐츠를 관리할 때 단순히 이를 저장하고 열람하는 방법을 제안하는 것에 그치는 것이 아니라, 콘텐츠 저장 시 다양한 클라우드 인프라 중 사용자가 요구하는 서비스 수준 및 기호를 고려하여 클라우드 서버를 자동으로 선택할 수 있는 방법이 요구되며, 콘텐츠 열람 시에도 최적의 서비스품질(QoS: Quality of Service)을 가지는 클라우드 서버를 선택할 수 있는 콘텐츠 제공 방법이 고려될 필요가 있다.
[문헌 1] 대한민국 10-2010-0137323 A 2010. 12. 30.
따라서 본 발명의 실시예는 클라우드 서비스를 제공하는 시스템에서 콘텐츠가 저장/선택될 클라우드 스토리지를 관리하는 장치 및 방법을 제공함에 있다.
본 발명의 다른 실시예는 클라우드 서비스를 제공하는 시스템에서 사용자로부터의 콘텐츠를 클라우드 스토리지에 저장할 시 사용자의 요구에 따라 클라우드 스토리지를 선택하고 그 선택된 클라우드 스토리지에 상기 콘텐츠를 저장하는 장치 및 방법을 제공함에 있다.
본 발명의 또 다른 실시예는 클라우드 서비스를 제공하는 시스템에서 클라우드 스토리지에 저장된 콘텐츠중 열람하기를 희망하는 콘텐츠를 보다 빠르게 선택하는 장치 및 방법을 제공함에 있다.
본 발명의 또 다른 실시예는 클라우드 서비스를 제공하는 시스템에서 클라우드 스토리지 이외의 디바이스나 홈 클라우드 게이트웨이에 저장된 콘텐츠중 열람하기를 희망하는 콘텐츠를 보다 빠르게 선택하는 장치 및 방법을 제공함에 있다.
본 발명의 일 실시예에 따르면, 적어도 하나의 사용자 디바이스와, 이종의 클라우드 서비스를 제공하는 다수의 클라우드들과, 상기 사용자 디바이스와 상기 클라우드들의 사이에 접속되는 게이트웨이를 포함하는 클라우드 서비스 시스템의, 상기 게이트웨이는, 미리 정해진 서비스수준협약 정보를 저장하고 있는 정보 테이블과, 상기 서비스수준협약 정보에 따라 상기 클라우드들중 적어도 하나 이상의 클라우드를 선택하고, 상기 선택된 클라우드에 상기 사용자 디바이스로부터 제공되는 콘텐츠를 저장하는 제어기를 포함한다.
본 발명의 다른 실시예에 따르면, 적어도 하나의 사용자 디바이스와, 이종의 클라우드 서비스를 제공하는 다수의 클라우드들과, 상기 사용자 디바이스와 상기 클라우드들의 사이에 접속되는 게이트웨이를 포함하는 클라우드 서비스 시스템의, 상기 게이트웨이는, 상기 클라우드들 각각에 대한 응답 시간을 계산하는 계산기와, 상기 사용자 디바이스로부터 콘텐츠의 열람이 요청될 때 상기 요청된 콘텐츠를 저장하고 있는 클라우드들중에서 응답 시간이 빠른 순서로 클라우드들을 선택하고, 상기 선택된 클라우드들에 저장된 콘텐츠를 요청하여 상기 사용자 디바이스에게 제공하는 선택기를 포함한다.
본 발명의 또 다른 실시예에 따르면, 적어도 하나의 사용자 디바이스와, 이종의 클라우드 서비스를 제공하는 다수의 클라우드들과, 상기 사용자 디바이스와 상기 클라우드들의 사이에 접속되는 게이트웨이를 포함하는 클라우드 서비스 시스템의, 상기 게이트웨이는, 사용자 디바이스로부터 콘텐츠의 열람이 요청될 때 상기 콘텐츠를 저장하고 있는 클라우드들을 검증하는 검증기와, 상기 검증된 클라우드들중에서 응답 시간이 빠른 순서로 클라우드들을 선택하고, 상기 선택된 클라우드들에 저장되어 있는 상기 콘텐츠를 요청하여 상기 사용자 디바이스에게 제공하는 선택기를 포함한다.
본 발명의 또 다른 실시예에 따르면, 적어도 하나의 사용자 디바이스와, 이종의 클라우드 서비스를 제공하는 다수의 클라우드들과, 상기 사용자 디바이스와 상기 클라우드들의 사이에 접속되는 게이트웨이를 포함하는 클라우드 서비스 시스템에서, 상기 게이트웨이에 의한 콘텐츠 저장 방법은, 미리 정해진 서비스수준협약 정보에 따라 상기 클라우드들중 적어도 하나 이상의 클라우드를 선택하는 과정과, 상기 선택된 클라우드에 상기 사용자 디바이스로부터 제공되는 콘텐츠를 저장하는 과정을 포함한다.
본 발명의 또 다른 실시예에 따르면, 적어도 하나의 사용자 디바이스와, 이종의 클라우드 서비스를 제공하는 다수의 클라우드들과, 상기 사용자 디바이스와 상기 클라우드들의 사이에 접속되는 게이트웨이를 포함하는 클라우드 서비스 시스템에서, 상기 게이트웨이에 의한 콘텐츠 선택 방법은, 상기 클라우드들 각각에 대한 응답 시간을 계산하는 과정과, 상기 사용자 디바이스로부터 콘텐츠의 열람이 요청될 때 상기 요청된 콘텐츠를 저장하고 있는 클라우드들중에서 응답 시간이 빠른 순서로 클라우드들을 선택하고, 상기 선택된 클라우드들에 저장된 콘텐츠를 요청하여 상기 사용자 디바이스에게 제공하는 과정을 포함한다.
본 발명의 또 다른 실시예에 따르면, 적어도 하나의 사용자 디바이스와, 이종의 클라우드 서비스를 제공하는 다수의 클라우드들과, 상기 사용자 디바이스와 상기 클라우드들의 사이에 접속되는 게이트웨이를 포함하는 클라우드 서비스 시스템에서, 상기 게이트웨이에 의한 콘텐츠 선택 방법은, 사용자 디바이스로부터 콘텐츠의 열람이 요청될 때 상기 콘텐츠를 저장하고 있는 클라우드들을 검증하는 과정과, 상기 검증된 클라우드들중에서 응답 시간이 빠른 순서로 클라우드들을 선택하는 과정과, 상기 선택된 클라우드들에 저장되어 있는 상기 콘텐츠를 요청하여 상기 사용자 디바이스에게 제공하는 과정을 포함한다.
본 발명의 일 실시예 따르면, 이종의 클라우드 인프라와 연동된 홈 내에서 홈 클라우드 게이트웨이 서버를 통해 사용자의 클라우드 스토리지 선택 정책을 만족시키면서 콘텐츠 열람 요청 시 요청 응답 시간을 최소화 시킬 수 있다. 또한, 본 발명의 일 실시예는 홈 클라우드 게이트웨이 서버가 자동으로 수행하기 때문에 사용자의 직접적인 개입을 요구하지 않으므로 쉽고 편리하게 유저가 요구하는 QoS 를 만족시킬 수 있다. 또한, 본 발명의 일실시예는 클라우드 인프라의 내부 구조를 파악하거나 변경할 필요가 없기 때문에 이종의 클라우드 인프라 연동시에 효과적으로 사용될 수 있고, 그에 따라 사용자는 효율적인 콘텐츠 관리를 위해 다양한 클라우드 인프라를 사용할 수 있다.
또한, 발명의 다른 실시예에 따르면, 클라우드에 있는 멀티카피는 클라우드에 대한 검증과 응답시간의 계산을 동시에 함으로써 겹치는 과정을 줄일 수 있고, 클라우드에 속하지 않는 디바이스 안에 있는 멀티카피는 개량된 응답시간 추정 방법을 통하여 효과적으로 멀티카피를 선택할 수 있다.
도 1은 본 발명의 실시예들이 적용되는 클라우드 서비스 시스템의 일 예를 보여주는 도면이다.
도 2는 본 발명의 실시예들이 적용되는 홈 클라우드 서비스 시스템의 구성을 보여주는 도면이다.
도 3은 본 발명의 일 실시예에 따른 콘텐츠 저장 동작 및 저장 콘텐츠 선택 동작 수행을 위한 홈 클라우드 게이트웨이의 기능 블록을 보여주는 도면이다.
도 4는 본 발명의 일 실시예에 따른 콘텐츠 저장 동작의 처리 흐름을 보여주는 도면이다.
도 5 및 도 6은 도 4에 도시된 콘텐츠 저장 동작을 설명하기 위한 도면이다.
도 7은 본 발명의 일 실시예에 따른 저장 콘텐츠 선택 동작의 처리 흐름을 보여주는 도면이다.
도 8 내지 도 10는 도 7에 도시된 저장 콘텐츠 선택 동작을 설명하기 위한 도면이다.
도 11은 본 발명의 다른 실시예에 따른 저장 콘텐츠 선택 동작을 설명하기 위한 클라우드 서비스 시스템의 일 예를 보여주는 도면이다.
도 12는 본 발명의 다른 실시예에 따른 저장 콘텐츠 선택 동작 수행을 위한 홈 클라우드 게이트웨이의 기능 블록을 보여주는 도면이다.
도 13은 도 12에 도시된 해쉬 테이블의 구성의 일 예를 보여주는 도면이다.
도 14는 본 발명의 다른 실시예에 따른 저장 콘텐츠 선택 동작의 처리 흐름을 보여주는 도면이다.
도 15는 본 발명의 다른 실시예에 따른 저장 콘텐츠 선택 동작에서 사용되는 해쉬 트리의 일반적인 구조를 보여주는 도면이다.
도 16과 도 17a 내지 도 17c는 본 발명의 다른 실시예에 따른 저장 콘텐츠 선택 동작시 생성 및 검증되는 해쉬 트리의 구조의 일 예를 보여주는 도면이다.
도 18은 도 13에 도시된 해쉬 테이블의 HCGHT 필드의 일 예를 보여주는 도면이다.
도 19는 본 발명의 다른 실시예에 따른 저장 콘텐츠 선택 동작이 수행되는 클라우드 서비스 시스템 구성의 변형 예를 보여주는 도면이다.
도 20은 도 19에 도시된 홈 클라우드 게이트웨이들간에 주고받는 정보를 보여주는 도면이다.
도 21은 도 19에 도시된 홈 클라우드 게이트웨이의 기능 블록을 보여주는 도면이다.
이하 첨부된 도면을 참조하여 본 발명의 실시예들이 상세하게 설명될 것이다. 본 발명의 실시예들을 설명함에 있어서 다수의 특정 세부 사항들이 상술될 것이지만, 본 발명이 이러한 특정 세부사항들 없이도 실시될 수 있음은 당업자에게 자명할 것이다. 또한 본 발명의 실시예들을 설명함에 있어서 주지의 방법, 절차, 컴포넌트, 회로 및 네트워크 등에 대해서는 상세하게 설명되지 않는다는 사실에 유의하여야 한다.
도 1은 본 발명의 실시예들이 적용되는 클라우드 서비스 시스템 구성의 일 예를 보여주는 도면이다. 상기 클라우드 서비스 시스템은 다수의 사용자 디바이스들 101, 102, … 10M과, 서로 다른 클라우드 서비스를 제공하는 다수의 클라우드들 301, 302, … 30N과, 이들 사이에 접속되는 클라우드 게이트웨이 200을 포함한다. 여기서는 하나의 클라우드 게이트웨이 200이 구비되고, 이에 M개의 사용자 디바이스들이 연결되고 상기 클라우드 게이트웨이 200이 N개의 클라우드에 연결된 경우를 예시적으로 도시하고 있다. 상기 사용자 디바이스는 컴퓨터, 태블릿 PC, 노트북, 스마트폰, 텔레비전(TV) 등을 포함한다. 사용자는 상기 사용자 디바이스를 통해 문서, 음악, 사진, 동영상 등과 같은 디지털 콘텐츠를 직접 입력하거나 편집하여 입력할 수 있으며 이렇게 입력된 콘텐츠는 상기 클라우드 게이트웨이 200을 통해 상기 클라우드들의 스토리지들에 전송되어 저장될 수 있다. 상기 디지털 콘텐츠는 상기 클라우드들의 스토리지들에는 멀티카피 또는 레플리카의 형태로 저장된다. 또한, 사용자는 상기 사용자 디바이스를 통해 상기 저장된 디지털 콘텐츠의 열람을 요청할 수도 있다.
하기에서 본 발명의 실시예들에서 설명되는 게이트웨이는 '홈(home)' 단위로 한 홈 안에 위치하는 게이트웨이, 즉 '홈'에 속해 있는 사용자 디바이스(device)와 여러 클라우드들을 중개하는 게이트웨이로써 '홈 클라우드 게이트웨이(Home Cloud Gateway)'라 명명될 수 있다. 그러나 본 발명의 실시예들에서 설명되는 클라우드 게이트웨이는 반드시 '홈' 안에 위치하는 것으로 제한되지는 않는다. 왜냐하면, 본 발명의 클라우드 게이트웨이는 '사무실'에 속해 있는 사용자 디바이스와 여러 클라우드들을 중개하는 게이트웨이가 될 수도 있기 때문이다. 따라서 본 발명의 실시예들을 설명함에 있어서, 클라우드 게이트웨이는 단지 홈 클라우드 게이트웨이로 명명될 수도 있고, 또 동일한 의미로서 홈 클라우드 게이트웨이 서버로 명명될 수도 있다. 또한, 클라우드는 클라우드 스토리지 또는 클라우드 스토리지 서버로도 명명될 수 있고, 디지털 콘텐츠는 콘텐츠, 자료, 콘텐츠의 멀티카피로도 명명될 수 있다.
도 2는 본 발명의 실시예들이 적용되는 홈 클라우드 서비스 시스템의 구성을 보여주는 도면이다. 홈 클라우드 환경에서 TV, 컴퓨터, 태블릿 PC, 냉장고, 세탁기 등과 같은 홈 디바이스 111 및 홈 로컬 서버 112는 홈 인프라를 구성한다. 클라우드 인프라는 이종의 클라우드 서비스 또는 웹 스토리지 서비스를 제공하는 다수의 클라우드들 311, 312, 313 및 31N을 포함한다. 각 클라우드들은 클라우드 311과 같이 다수의 클라우드 스토리지(또는 클라우드 스토리지 서버)들, 클라우드 브로커(broker), 클라우드 컴퓨터 노드를 포함하여 구성될 수 있다.
홈 클라우드 게이트웨이 210은 홈 인프라와 이종의 클라우드 인프라를 연결하는 중개자 역할을 담당한다. 상기 홈 클라우드 게이트웨이 210은 이종의 클라우드 인프라 또는 홈 인프라내에서 제공되는 스토리지 서비스와의 연동을 위한 스토리지 연동 모듈을 포함한다. 상기 스토리지 연동 모듈의 클라우드 스토리지 연동 모듈 220은 클라우드 인프라에서 제공되는 스토리지 서비스와의 연동을 위한 모듈이고, 홈 스토리지 연동 모듈 230은 홈 인프라내에서 제공되는 스토리지 서비스와의 연동을 위한 모듈이다.
상기 홈 클라우드 게이트웨이 210은 사용자로부터의 클라우드 스토리지 서비스가 요청되는 경우 해당하는 콘텐츠의 멀티카피(multi copy) 또는 레플리카(replica)를 클라우드 스토리지 또는 홈 로컬 서버(또는 홈 스토리지)에 저장하는 동작을 수행한다. 또한, 상기 홈 클라우드 게이트웨이 210은 사용자로부터의 콘텐츠 열람 요청시 해당 콘텐츠를 저장하고 있는 클라우드 스토리지 또는 홈 스토리지를 선택하고 선택된 스토리지에 저장되어 있는 콘텐츠를 사용자에게 제공하는 동작을 수행한다. 이러한 콘텐츠 저장 동작 및 저장 콘텐츠 선택 동작은 상기 홈 클라우드 게이트웨이 210의 클라우드 스토리지 연동 모듈 220 및 홈 스토리지 연동 모듈 230에서 수행된다.
이하에서 설명될 본 발명의 실시예에 따른 동작은 본 발명의 일 실시예에 따른 콘텐츠 저장 동작 및 저장 콘텐츠 선택 동작, 본 발명의 다른 실시예에 따른 저장 콘텐츠 선택 동작으로 구분되어 설명될 것이다. 본 발명의 일 실시예에 따른 콘텐츠 저장 동작 및 저장 콘텐츠 선택 동작은 후술될 도 3 내지 도 10을 참조하여 설명될 것이고, 본 발명의 다른 실시예에 따른 저장 콘텐츠 선택 동작은 후술될 도 11 내지 도 21을 참조하여 설명될 것이다.
< 콘텐츠 저장 및 선택 동작의 일 실시예 >
도 3은 본 발명의 일 실시예에 따른 콘텐츠 저장 동작 및 저장 콘텐츠 선택 동작 수행을 위한 홈 클라우드 게이트웨이의 기능 블록을 보여주는 도면이다. 상기 홈 클라우드 게이트웨이 210의 클라우드 스토리지 연동 모듈 220은 해쉬 테이블(Hash Table) 221, 서비스수준협약(Service Level Agreement) 정보테이블 222, 콘텐츠요청 응답시간(Response Time) 정보테이블 223, 콘텐츠 멀티카피 생성기 224, 멀티카피 저장 제어기 225, 응답시간 계산기 226 및 멀티카피 선택기 227을 포함한다.
본 발명의 일 실시예에 따르면, 상기 홈 클라우드 게이트웨이 210은 사용자로부터의 클라우드 스토리지 서비스가 요청되는 경우 해당하는 콘텐츠를 클라우드 스토리지에 저장하는 동작을 수행한다. 사용자가 홈 내에서 디스플레이가 장착된 홈 디바이스 111을 통해 문서, 사진, 음악, 동영상과 같은 콘텐츠의 저장을 요청하면, 홈 디바이스 111과 연결된 홈 클라우드 게이트웨이 210은 상기 콘텐츠 저장 요청을 수락하고 요청 콘텐츠의 멀티 카피(multi copy)를 생성한다. 상기 홈 클라우드 게이트웨이 210은 상기 생성된 콘텐츠의 멀티 카피를 이종의 클라우드 스토리지들중 적어도 하나 이상의 클라우드 스토리지에 분산 저장하고, 분산 저장 결과를 클라우드 스토리지 연동 모듈 220의 해쉬 테이블 221에 저장한다.
상기 해쉬 테이블 221, 서비스수준협약 정보테이블 222, 콘텐츠 멀티카피 생성기 224 및 멀티카피 저장 제어기 225는 사용자로부터 클라우드 스토리지 서비스가 요청되는 경우 해당하는 콘텐츠를 클라우드 스토리지에 저장하는 동작을 위한 구성요소들이다.
상기 해쉬 테이블 221은 사용자로부터 요청된 콘텐츠의 멀티카피 및 이 멀티카피가 저장된 클라우드에 대한 정보를 저장한다. 상기 해쉬 테이블 221의 각 인덱스는 콘텐츠에 대응하며, 콘텐츠의 멀티카피 및 클라우드에 대한 정보는 링크드 리스트(linked list)의 형태로 관리된다. 상기 서비스수준협약 정보테이블 222는 미리 정해진 서비스수준협약 정보를 저장하고 있다. 상기 서비스수준협약 정보는 서비스 사용료에 대한 정보를 포함할 수 있다. 상기 정보테이블 222는 클라우드들 각각에 대한 서비스 사용료에 대한 정보와 저장 용량에 대한 정보를 저장하고 있다. 상기 콘텐츠 멀티카피 생성기 224는 사용자 디바이스로부터 제공된 콘텐츠의 멀티카피를 생성한다. 상기 멀티카피 저장 제어기 225는 상기 서비스수준협약 정보에 따라 상기 클라우드들중 적어도 하나 이상의 클라우드를 선택하고, 이 선택된 클라우드에 사용자 디바이스로부터 제공되는 콘텐츠를 저장한다. 상기 멀티카피 저장 제어기 225는 상기 클라우드들중 서비스 사용료가 낮은 순서로 클라우드를 선택한다. 또한, 상기 멀티카피 저장 제어기 225는 상기 선택된 클라우드의 가용 용량이 상기 콘텐츠의 용량보다 작은 경우 서비스 사용료가 그 다음으로 낮은 클라우드를 선택한다. 상기 정보테이블 222는 사용자 디바이스를 통해 사용자가 입력하거나 클라우드들이 제공하는 값에 따라 생성되고 업데이트될 수 있다.
또한, 상기 홈 클라우드 게이트웨이 210은 사용자로부터의 콘텐츠 열람 요청시 해당 콘텐츠를 저장하고 있는 클라우드 스토리지를 선택하고 선택된 클라우드 스토리지에 저장되어 있는 콘텐츠를 사용자에게 제공하는 동작을 수행한다. 사용자가 홈 내에서 디스플레이가 장착된 홈 디바이스 111을 통해 문서, 사진, 음악, 동영상과 같은 콘텐츠의 열람을 요청하면, 홈 디바이스 111과 연결된 홈 클라우드 게이트웨이 210은 상기 콘텐츠 열람 요청을 수락하고, 요청 콘텐츠의 해쉬값을 계산하여 해쉬 테이블 221의 해당 인덱스 값을 찾는다. 상기 홈 클라우드 게이트웨이 210은 상기 인덱스 값이 가리키는 콘텐츠의 멀티카피 저장 위치를 나타내는 링크드 리스트를 참조하여 콘텐츠가 저장되어 있는 클라우드 스토리지들중 하나의 스토리지를 선택하고 그 선택된 스토리지에 저장되어 있는 콘텐츠를 사용자에게 제공한다.
상기 해쉬 테이블 221, 콘텐츠요청 응답시간 정보테이블 223, 응답시간 계산기 226 및 멀티카피 선택기 227은 사용자로부터의 콘텐츠 열람 요청시 해당 콘텐츠를 저장하고 있는 클라우드 스토리지를 선택하고 선택된 클라우드 스토리지에 저장되어 있는 콘텐츠를 사용자에게 제공하는 동작을 위한 구성요소들이다.
상기 해쉬 테이블 221은 콘텐츠별로 각 콘텐츠가 저장되어 있는 클라우들에 대한 정보를 저장한다. 상기 콘텐츠요청 응답시간 정보테이블 223은 클라우드들 각각에 대한 응답 시간의 계산 결과를 저장한다. 상기 응답시간 계산기 226은 클라우드들 각각에 대한 응답시간을 계산한다. 구체적으로, 상기 응답시간 계산기 226은 미리 정해진 주기로 클라우드들 각각에 저장되어 있는 시험 콘텐츠를 요청하고 상기 시험 콘텐츠가 수신될 때까지의 응답시간을 계산하고 상기 클라우드들 각각에 대한 응답 시간을 상기 응답시간 정보테이블 223에 저장한다. 상기 시험 콘텐츠는 새로운 클라우드 스토리지 서비스가 연결될 때마다 그 연결된 클라우드에 저장된다. 상기 멀티카피 선택기 227은 사용자 디바이스로부터 콘텐츠의 열람이 요청될 때 상기 요청된 콘텐츠를 저장하고 있는 클라우드들중에서 응답 시간이 빠른 순서로 클라우드들을 선택하고, 상기 선택된 클라우드들에 저장된 콘텐츠를 요청하여 사용자 디바이스에게 제공한다.
상기 홈 클라우드 게이트웨이 210의 홈 스토리지 연동 모듈 230은 해쉬 테이블(Hash Table) 231만을 포함하는 것으로 도시하고 있다. 그러나 상기 클라우드 스토리지 연동 모듈 220과 유사하게 사용자로부터의 디지털 콘텐츠의 저장 및 열람 동작을 위해, 상기 홈 스토리지 연동 모듈 230은 해쉬 테이블 이외에도 콘텐츠 멀티카피 생성기, 멀티카피 저장 제어기 및 멀티카피 선택기를 포함하여 구성될 수 있다.
< 콘텐츠 저장 동작의 일 실시예 >
도 4는 본 발명의 일 실시예에 따른 콘텐츠 저장 동작의 처리 흐름을 보여주는 도면이다. 이 처리 흐름에 따른 동작은 도 2 및 도 3에 도시된 홈 클라우드 서비스 시스템에서 수행되는 경우를 예로 하여 설명될 것이다.
홈 클라우드 게이트웨이 210은 단계 326단계에서 새로운 클라우드 인프라가 연결될 때마다 단계 327에서 해당 클라우드 인프라가 제공하는 서비스수준협약(SLA) 값을 가져와서 서비스수준협약 정보테이블 222에 기록한다.
단계 322 및 단계 323에서 홈 내에 위치하는 사용자가 홈 디바이스 111을 통해 콘텐츠 저장을 요청하면, 단계 324에서 홈 클라우드 게이트웨이 210의 콘텐츠 멀티카피 생성기 224는 요청 콘텐츠의 멀티 카피를 생성하고, 멀티카피 저장 제어기 225는 상기 생성된 콘텐츠의 멀티 카피를 스토리지 서비스수준협약 정보 테이블 222의 값을 참조하여 해당하는 적어도 하나 이상의 클라우드 스토리지를 선택하고 이 선택된 클라우드 스토리지에 분산 저장한다. 예컨대, 상기 홈 클라우드 게이트웨이 210의 멀티카피 저장 제어기 225는 상기 스토리지 서비스수준협약 정보 테이블 222의 값을 참조하여 SLA 값이 낮은 순서로 클라우드 스토리지를 선택한다. 만약, 선택된 클라우드 스토리지의 가용 용량이 부족한 경우 단계 325에서 상기 멀티카피 저장 제어기 225는 다음으로 낮은 SLA값을 가지는 클라우드 스토리지를 선택하고 이 선택된 클라우드 스토리지에 상기 생성된 콘텐츠의 멀티 카피를 저장한다. 이와 같이 콘텐츠의 멀티 카피 저장 동작은 클라우드 스토리지의 가용 용량에 따라 하나의 클라우드 스토리지에서 수행될 수도 있고, 하나 이상의 클라우드 스토리지에서 수행될 수도 있다.
도 5 및 도 6는 도 4에 도시된 콘텐츠 저장 동작의 일 예를 설명하기 위한 도면이다. 이러한 동작은 홈 디바이스 111과, 홈 클라우드 게이트웨이 210 및 이종의 클라우드들 311-31N을 포함하는 클라우드 서비스 시스템에서 수행된다. 이때 N개의 클라우드들 311-31N은 (k+1)개의 클라우드 스토리지들 0-k를 포함한다. 일 예로, 상기 클라우드들 311-31N중에서 클라우드 311은 2개의 클라우드 스토리지들 330-0 및 330-1을 포함하고, 클라우드 312는 1개의 클라우드 스토리지 330-2를 포함하고, 클라우드 31N은 클라우드 스토리지 330-k를 포함한다.
홈 클라우드 게이트웨이 210은 새로운 클라우드 스토리지가 연결될 때마다 해당 클라우드 스토리지가 제시하는 서비스수준협약 값을 서비스수준협약 정보테이블 222에 기록한다(도 4의 단계 326 및 단계 327). 상기 서비스수준협약 값은 새로운 클라우드 스토리지가 연결될 때 클라우드 서비스 제공자로부터 받아오거나 혹은 사용자가 직접 입력하는 방법을 통해 받아올 수 있다. 일 예로, 상기 서비스수준협약 값은 서비스 사용료(비용/바이트)가 될 수 있다. 이러한 서비스수준협약 값은 사용자의 요구에 따라 달라질 수 있다. 상기 서비스수준협약 정보테이블 222에는 홈 클라우드 게이트웨이 210과 연동하는 클라우드 스토리지의 번호와, 서비스수준협약 값 및 가용 용량 정보 스키마가 포함된다. 예를 들어, 0번의 클라우드 스토리지는 서비스수준협약 값 10, 가용 용량 200MByte이고, 1번의 클라우드 스토리지는 서비스수준협약 값 30, 가용 용량 550MByte이고, 2번의 클라우드 스토리지는 서비스수준협약 값 25, 가용 용량 310MByte이고, k번의 클라우드 스토리지는 서비스수준협약 값 3, 가용 용량 0MByte이다.
사용자가 홈 디바이스 111을 통해 자신의 콘텐츠를 클라우드 스토리지에 저장하기를 요청하면, 홈 클라우드 게이트웨이 210은 상기 콘텐츠 저장 요청을 수락하고, 상기 요청된 콘텐츠의 해쉬값을 계산하여 해쉬 테이블 221에 기록한다(도 4의 단계 323). 기록 후 상기 홈 클라우드 게이트웨이 210의 콘텐츠 멀티카피 생성기 224는 상기 요청된 콘텐츠의 멀티 카피를 생성하고, 멀티카피 저장 제어기 225는 상기 생성된 콘텐츠의 멀티 카피를 연결된 클라우드 스토리지 서버들중 적어도 하나 이상의 스토리지 서버에 분산 저장한다(단계 324). 이때 상기 홈 클라우드 게이트웨이 210의 멀티카피 저장 제어기 225는 서비스수준협약 정보테이블 222의 값을 검사하여 미리 정해진 서비스수준협약 값인 서비스 사용료가 낮은 순서대로 클라우드 스토리지를 선택하고, 상기 선택된 클라우드 스토리지에 상기 요청된 콘텐츠의 멀티 카피를 분산 저장한다. 만약 상기 선택된 클라우드 스토리지 서버의 가용 용량이 멀티 카피를 저장하기에 충분하지 않은 경우, 상기 홈 클라우드 게이트웨이 210의 멀티카피 저장 제어기 225는 상기 선택된 클라우드 스토리지 다음으로 서비스수준협약 값이 낮은 클라우드 스토리지를 선택하고 이 클라우드 스토리지에 상기 요청된 콘텐츠의 멀티 카피를 저장한다(단계 325).
상기 홈 클라우드 게이트웨이 210은 상기 저장된 콘텐츠의 멀티 카피를 링크드 리스트(linked list)의 형태로 관리한다. 상기 링크드 리스트는 도 4에 도시된 바와 같이 참조부호 "A"의 필드와, 참조부호 "B"의 필드를 포함한다. 상기 참조부호 "A"는 콘텐츠 키값이 저장되는 영역으로 멀티 카피의 아이디를 의미한다. 상기 참조부호 "B"는 클라우드 스토리지의 번호가 저장되는 영역으로 해당 멀티 카피가 저장된 스토리지 위치를 의미한다.
상기 홈 클라우드 게이트웨이 210은 스토리지 서비스수준협약 정보테이블 222 외에 콘텐츠요청 응답시간 정보테이블 223도 관리한다. 상기 콘텐츠요청 응답시간 정보테이블 223은 사용자로부터 콘텐츠의 열람이 요청되었을 때 그 요청에 대한 응답 시간을 관리하기 위한 것이다. 이에 대해서는 후술되는 도 8 내지 도 10에서 구체적으로 설명될 것이다.
본 발명의 실시예에 따라 클라우드 스토리지에 콘텐츠를 저장할 시 스토리지 서비스수준협약 정보테이블 221을 참조하는 과정의 일 예가 도 6에 도시되어 있다. 홈 클라우드 게이트웨이 210에 연결된 클라우드 스토리지가 5개이며, 콘텐츠 저장 시 생성하는 콘텐츠 멀티 카피는 3개인 것으로 가정한다. 사용자는 동영상 콘텐츠 cloud.avi(해쉬값: 0, 크기: 20MB), 문서 콘텐츠 patent.pdf(해쉬값: 1, 크기: 5MB), 문서 콘텐츠 lecture.doc(해쉬값: 2, 크기: 9MB)를 순서대로 클라우드 스토리지에 저장하고자 한다고 가정한다.
먼저 홈 클라우드 게이트웨이 210은 동영상 콘텐츠 cloud.avi를 저장하기 위해 해당 콘텐츠의 해쉬값을 계산한 후 (해쉬값은 0) 링크드 리스트를 생성하여 해쉬 테이블 221의 해당 해쉬값 위치에 연결한다. 연결 후 상기 홈 클라우드 게이트웨이 210은 상기 동영상 콘텐츠의 멀티 카피를 생성하고, 스토리지 서비스수준협약 정보 테이블 222를 참조한다. 현재 서비스수준협약 값(서비스 사용료)이 가장 낮은 클라우드 스토리지의 번호는 4번이며, 이 스토리지의 가용 용량이 20MB이므로, 상기 홈 클라우드 게이트웨이 210은 4번 클라우드 스토리지에 상기 동영상 콘텐츠의 첫 번째 카피를 저장한다. 상기 동영상 콘텐츠의 첫 번째 카피가 저장됨에 따라 상기 4번 클라우드 스토리지는 더 이상의 저장 용량은 없게 된다.
상기 동영상 콘텐츠의 두 번째 카피를 저장하기 위해서, 상기 홈 클라우드 게이트웨이 210은 4번을 제외한 나머지 클라우드 스토리지들중에서 가장 낮은 서비스수준협약 값을 가지는 스토리지를 확인한다. 4번을 제외한 나머지 클라우드 스토리지들중에서 가장 낮은 서비스수준협약 값을 가지는 스토리지는 0번이며 가용 용량이 30MB이므로, 상기 홈 클라우드 게이트웨이 210은 0번 스토리지에 상기 동영상 콘텐츠의 두 번째 카피를 저장한다. 상기 동영상 콘텐츠의 두 번째 카피가 저장됨에 따라 상기 0번 클라우드 스토리지의 가용 용량은 10MB가 된다.
상기 동영상 콘텐츠의 세 번째 카피를 저장하기 위해서, 상기 홈 클라우드 게이트웨이 210은 상기 4번과 0번을 제외한 나머지 클라우드 스토리지들중에서 가장 낮은 서비스수준협약 값을 가지는 3번 스토리지를 확인한다. 상기 4번과 0번을 제외한 나머지 클라우드 스토리지들중에서 가장 낮은 서비스수준협약 값을 가지는 스토리지는 3번이며 가용 용량이 30MB이므로, 상기 홈 클라우드 게이트웨이 210은 상기 확인된 3번 스토리지에 상기 동영상 콘텐츠의 세 번째 카피를 저장한다. 이에 따라 상기 동영상 콘텐츠 cloud.avi의 멀티 카피는 클라우드 스토리지들 4번, 0번, 3번에 분산 저장된다.
다음에, 홈 클라우드 게이트웨이 210은 문서 콘텐츠 patent.pdf를 저장하기 위해 해당 콘텐츠의 해쉬값을 계산한 후(해쉬값은 1) 링크드 리스트를 생성하여 해쉬 테이블 221의 해당 해쉬값 위치에 연결한다. 연결 후 상기 홈 클라우드 게이트웨이 210은 상기 문서 콘텐츠의 멀티 카피를 생성하고, 스토리지 서비스수준협약 정보 테이블 222를 참조한다. 현재 가용 용량이 없는 4번 클라우드 스토리지를 제외한 나머지 클라우드들중에서 스토리지 서비스수준협약 값(서비스 사용료)이 가장 낮은 클라우드 스토리지의 번호는 0번이며 이 스토리지의 가용 용량이 10MB이므로, 상기 홈 클라우드 게이트웨이 210은 0번 클라우드 스토리지에 상기 문서 콘텐츠의 첫 번째 카피를 저장한다. 상기 문서 콘텐츠의 첫 번째 카피가 저장됨에 따라 상기 0번 클라우드 스토리지의 가용 용량은 5MB가 된다.
상기 문서 콘텐츠의 두 번째 카피를 저장하기 위해서, 상기 홈 클라우드 게이트웨이 210은 4번을 제외한 나머지 클라우드 스토리지들중에서 가장 낮은 서비스수준협약 값을 가지는 스토리지를 확인한다. 4번을 제외한 나머지 클라우드 스토리지들중에서 가장 낮은 서비스수준협약 값을 가지는 스토리지는 0번이며, 가용 용량이 5MB이므로, 상기 홈 클라우드 게이트웨이 210은 0번 스토리지에 상기 동영상 콘텐츠의 두 번째 카피를 저장한다. 상기 문서 콘텐츠의 두 번째 카피가 저장됨에 따라 상기 0번 클라우드 스토리지의 가용 용량은 0MB가 된다.
상기 문서 콘텐츠의 세 번째 카피를 저장하기 위해서, 상기 홈 클라우드 게이트웨이 210은 상기 4번과 0번을 제외한 나머지 클라우드 스토리지들중에서 가장 낮은 서비스수준협약 값을 가지는 3번 스토리지를 확인한다. 상기 홈 클라우드 게이트웨이 210은 상기 확인된 3번 스토리지에 상기 동영상 콘텐츠의 세 번째 카피를 저장한다. 이에 따라 상기 문서 콘텐츠 patent.pdf의 멀티 카피는 클라우드 스토리지들 0번, 3번에 분산 저장된다.
그 다음에, 홈 클라우드 게이트웨이 210은 문서 콘텐츠 lecture.doc를 저장하기 위해 해당 콘텐츠의 해쉬값을 계산한 후(해쉬값은 2) 링크드 리스트를 생성하여 해쉬 테이블 221의 해당 해쉬값 위치에 연결한다. 연결 후 상기 홈 클라우드 게이트웨이 210은 상기 문서 콘텐츠의 멀티 카피를 생성하고, 스토리지 서비스수준협약 정보 테이블 222를 참조한다. 현재 가용 용량이 없는 4번 및 1번 클라우드 스토리지를 제외한 나머지 클라우드들중에서 스토리지 서비스수준협약 값(서비스 사용료)이 가장 낮은 클라우드 스토리지의 번호는 3번이지만 이 스토리지의 가용 용량이 5MB이므로, 상기 홈 클라우드 게이트웨이 210은 그 다음으로 스토리지 서비스수준협약 값(서비스 사용료)이 낮은 2번 클라우드 스토리지를 확인한다. 상기 2번 클라우드 스토리지의 가용 용량은 310MB이므로, 상기 홈 클라우드 게이트웨이 210은 상기 문서 콘텐츠의 멀티 카피를 상기 2번 클라우드 스토리지에 모두 저장한다.
이와 같이 저장하고자 선택된 스토리지의 가용 용량이 멀티 카피를 저장하기에 충분치 않을 경우 상기 홈 클라우드 게이트웨이 210은 그 다음 서비스 수준협약 값을 가지는 스토리지를 선택하고 그 선택된 스토리지에 콘텐츠 멀티 카피를 저장한다. 콘텐츠의 멀티 카피가 모두 저장되면, 각 멀티 카피의 저장 위치는 해쉬 테이블 221에 연결된 링크드 리스트에 기록된다.
< 콘텐츠 선택 동작의 일 실시예 >
도 7은 본 발명의 일 실시예에 따른 저장 콘텐츠 선택 동작의 처리 흐름을 보여주는 도면이다. 이 처리 흐름에 따른 동작은 도 2 및 도 3에 도시된 홈 클라우드 서비스 시스템에서 수행되는 경우를 예로 하여 설명될 것이다.
홈 클라우드 게이트웨이 210의 응답시간 계산기 226은 단계 426에서 연결된 이종의 클라우드 스토리지의 콘텐츠요청 응답시간을 주기적으로 모니터링하고, 단계 427에서 상기 모니터링 결과값을 콘텐츠요청 응답시간 정보테이블 223에 기록 또는 갱신한다. 이를 이용하여 해쉬 테이블 221에 연결된 링크드 리스트 노드를 콘텐츠요청 응답시간이 짧은 순서대로 정렬한다.
정렬 후 사용자가 단계 423에서 홈 디바이스를 통해 홈 클라우드 게이트웨이 210에 콘텐츠 열람을 요청하면, 홈 클라우드 게이트웨이 210의 멀티카피 선택기 227은 단계 424에서 요청 콘텐츠의 해쉬값을 계산하여 해당 해쉬 색인값에 연결된 링크드 리스트 중 첫 번째 노드에 저장된 클라우드 스토리지를 선택하여 이 선택된 클라우드 스토리지에 콘텐츠를 요청하고, 단계 425에서 상기 선택된 클라우드 스토리지로부터의 멀티 카피를 사용자에게 제공해준다.
도 8 내지 도 10은 도 7에 도시된 저장 콘텐츠 선택 동작을 설명하기 위한 도면이다. 상기 홈 클라우드 게이트웨이 210은 도 3 및 도 5에서 도시한 콘텐츠요청 응답시간 테이블 223의 값을 기록하기 위하여 일정한 주기로 자신과 연결된 클라우드 스토리지들 330-0 ~ 330~k에 대해 모니터링을 수행한다.
상기 도 8에서, 홈 클라우드 게이트웨이 210은 새로운 클라우드 스토리지가 연결되면 연결된 클라우드 스토리지들 330-0 ~ 330~k에 임의로 생성한 시험 콘텐츠를 저장한다. 상기 시험 콘텐츠는 사용자가 자주 사용하는 콘텐츠의 종류를 고려하여 결정될 수 있다. 상기 시험 콘텐츠가 클라우드 스토리지에 저장되면 홈 클라우드 게이트웨이 210은 미리 정해진 일정한 주기 단위로 저장된 시험 콘텐츠의 열람을 요청한다. 상기 홈 클라우드 게이트웨이 210은 상기 시험 콘텐츠 열람 요청에 대한 응답을 수신하면 요청과 응답 수신 사이에 경과한 시간을 측정하고, 그 측정된 값을 콘텐츠요청 응답시간 테이블 223에 저장한다. 만약 상기 콘텐츠요청 응답시간 테이블 223에 이미 값이 저장된 경우에는 상기 홈 클라우드 게이트웨이 210은 이전에 저장된 값을 새로이 측정된 값으로 갱신한다.
상기 도 9에서, 홈 클라우드 게이트웨이 210은 해쉬 테이블 221의 각 해쉬 색인값에 연결된 링크드 리스트를 상기 측정된 콘텐츠요청 응답 시간이 빠른 순서대로 정렬한다. 그러므로 각 해쉬 색인 값에 연결된 링크드 리스트의 첫 번째 노드에는 가장 빠른 콘텐츠요청 응답시간을 가지는 스토리지의 위치 정보가 저장된다.
예를 들어, 해쉬 테이블 221의 0번 해쉬 색인값에 연결된 링크드 리스트는 정렬 전에는 3번 스토리지(콘텐츠요청 응답시간 0.7ms) → 0번 스토리지(콘텐츠요청 응답시간 0.5ms) → 4번 스토리지(콘텐츠요청 응답시간 0.1ms)의 순서이었으나, 정렬 후에는 4번 스토리지(콘텐츠요청 응답시간 0.1ms) → 0번 스토리지(콘텐츠요청 응답시간 0.5ms) → 3번 스토리지(콘텐츠요청 응답시간 0.7ms)의 순서가 된다. 다른 예로, 해쉬 테이블 221의 1번 해쉬 색인값에 연결된 링크드 리스트는 정렬 전에는 3번 스토리지(콘텐츠요청 응답시간 0.7ms) → 0번 스토리지(콘텐츠요청 응답시간 0.5ms) → 0번 스토리지(콘텐츠요청 응답시간 0.5ms)의 순서이었으나, 정렬 후에는 0번 스토리지(콘텐츠요청 응답시간 0.5ms) → 0번 스토리지(콘텐츠요청 응답시간 0.5ms) → 3번 스토리지(콘텐츠요청 응답시간 0.7ms)의 순서가 된다. 한편, 해쉬 테이블 221의 2번 해쉬 색인값에 연결된 링크드 리스트의 각 노드들에는 동일한 스토리지 위치 정보(2번 스토리지)가 포함되므로, 정렬하더라도 동일한 순서가 된다.
상기 도 10에서, 사용자가 콘텐츠를 요청하면 상기 홈 클라우드 게이트웨이 210은 요청된 콘텐츠의 해쉬값을 계산한 후 해쉬 테이블 221의 색인값을 참조하고 해당 색인값에 연결된 링크드 리스트에서 첫째 노드에 저장된 클라우드 스토리지에 해당 콘텐츠의 멀티 카피 열람을 요청한다. 상기 링크드 리스트의 첫째 노드에 저장된 클라우드 스토리지는 동일한 멀티 카피를 저장한 다른 클라우드 스토리지와 비교하여 가장 빠른 콘텐츠요청 응답시간을 제공한다. 그러므로, 사용자는 자동으로 가장 빠른 콘텐츠 제공을 수행하는 클라우드 스토리지를 선택하여 콘텐츠를 열람할 수 있게 된다.
예를 들어, 사용자가 1번의 문서 콘텐츠 patent.pdf를 요청하면 상기 홈 클라우드 게이트웨이 210은 요청된 콘텐츠에 해당하는 해쉬 테이블 221의 인덱스 값을 참조하고 이에 연결된 링크드 리스트에서 첫째 노드에 저장된 0번 클라우드 스토리지를 선택하고, 이 선택된 0번 클라우드 스토리지에 상기 문서 콘텐츠의 멀티 카피 열람을 요청한다.
전술한 바와 같은 본 발명의 일 실시예 따르면, 이종의 클라우드 인프라와 연동된 홈 내에서 홈 클라우드 게이트웨이 서버를 통해 사용자의 클라우드 스토리지 선택 정책을 만족시키면서 콘텐츠 열람 요청 시 요청 응답 시간을 최소화 시킬 수 있다. 또한, 본 발명의 일 실시예는 홈 클라우드 게이트웨이 서버가 자동으로 수행하기 때문에 사용자의 직접적인 개입을 요구하지 않으므로 쉽고 편리하게 유저가 요구하는 QoS 를 만족시킬 수 있다. 또한, 본 발명의 일실시예는 클라우드 인프라의 내부 구조를 파악하거나 변경할 필요가 없기 때문에 이종의 클라우드 인프라 연동시에 효과적으로 사용될 수 있고, 그에 따라 사용자는 효율적인 콘텐츠 관리를 위해 다양한 클라우드 인프라를 사용할 수 있다.
< 콘텐츠 선택 동작의 다른 실시예 >
클라우드 환경에서 검증(verification)은 클라이언트가 자신의 자료가 클라우드에 잘 저장이 되어있는지 확인하기 위한 것으로써 클라우드 서비스 제공자들이 계약을 잘 지키고 있는지를 확인하는 도구가 될 수 있다. 예를 들어, 클라우드 서비스 제공자들이 클라이언트가 원하는 만큼 멀티카피 또는 레플리카(replica)를 클라우드내에 저장하고 있지 않는다든가 하는 문제에서 검증은 꼭 필요하게 된다. 그러므로 클라우드 안에 있는 멀티카피들의 처리와 다른 디바이스 안에 있는 멀티카피들의 처리는 그 방법이 달라야 한다. 클라우드 안에 있는 멀티카피를 처리할 때 검증을 하는 것은 중복된 작업을 줄일 수 있지만 게이트웨이에 속한 디바이스들은 검증이 필요하지 않기 때문이다.
클라우드 환경을 고려한다면 클라우드에 있는 자료에 관한 멀티카피 처리와 게이트웨이에 속한 디바이스에 있는 자료에 관한 멀티카피 처리는 위에서 서술했듯이 다른 게 효과적이다. 따라서 이하 설명될 본 발명의 다른 실시예에서는 멀티카피가 클라우드에 있는지 혹은 디바이스에 있는지에 따라서 유동적으로 멀티카피 선택을 함으로써 최적의 멀티카피를 찾는 효과적인 방안이 제안될 것이다.
도 11은 본 발명의 다른 실시예에 따른 저장 콘텐츠 선택 동작을 설명하기 위한 클라우드 서비스 시스템의 일 예를 보여주는 도면이다. 상기 클라우드 서비스 시스템은 2개의 디바이스들 601,602와, 서로 다른 클라우드 서비스를 제공하는 다수의 클라우드들 801,802,803과, 이들 사이에 접속되는 홈 클라우드 게이트웨이(Home Cloud Gateway) 700을 포함한다. 상기 홈 클라우드 게이트웨이 700은 디바이스와 디바이스, 디바이스와 클라우드 사이에 콘텐츠(또는 자료)를 주고 받을 때 중간에서 브로커 역할을 한다. 본 발명의 실시예에 따른 저장 콘텐츠 선택 동작을 위해 상기 홈 클라우드 게이트웨이 700의 내부에는 해쉬 테이블이 구비되는데, 상기 홈 클라우드 게이트웨이 700이 관할하고 있는 모든 콘텐츠는 상기 해쉬 테이블을 이용하여 관리된다. 상기 해쉬 테이블에 대해서는 후술될 것이다.
사용자가 홈 디바이스(Device)상 601에서 어떤 디지털 콘텐츠에 대한 저장을 요청할 때 홈 클라우드 게이트웨이 700은 상기 요청된 콘텐츠를 클라우드들 801,802,803에 전송하여 저장 요청을 한다. 도면에 도시된 바와 같이, 상기 요청된 콘텐츠의 멀티카피들 b1,b2,b3은 제1 클라우드 801에 저장될 수 있고, 상기 요청된 콘텐츠의 멀티카피들 b4,b5는 제2 클라우드 802에 저장될 수 있고, 상기 요청된 콘텐츠의 멀티카피들 b6,b7,b8은 제3 클라우드 803에 저장될 수 있다. 상기 홈 클라우드 게이트웨이 700은 상기 요청된 콘텐츠를 클라우드 이외에도 자신이 직접 저장할 수도 있고, 상기 홈 클라우드 게이트웨이 700에 등록된 다른 디바이스 602 또는 홈 스토리지(또는 홈 로컬 서버)(도 2 참조)에 저장할 수도 있다.
이하 설명될 본 발명의 다른 실시예에 따르면, 홈 디바이스 601상에서 사용자가 어떤 콘텐츠를 열람하기를 요청하는 경우 상기 홈 클라우드 게이트웨이 700은 요청한 콘텐츠가 연결된 클라우드에 저장되어 있는지, 자신이 가지고 있는지, 아니면 등록된 다른 디바이스에 저장되어 있는지 여부를 판단한다. 상기 요청된 콘텐츠의 멀티카피가 다른 디바이스에 저장되어 있을 경우에는 추정(estimation)을 통하여 응답시간이 가장 빠른 멀티카피를 선택하고, 클라우드에 저장되어 있을 경우에는 검증을 함과 동시에 응답시간이 가장 빠른 멀티 카피를 선택한다.
도 12는 본 발명의 다른 실시예에 따른 저장 콘텐츠 선택 동작 수행을 위한 홈 클라우드 게이트웨이의 기능 블록을 보여주는 도면이다. 상기 홈 클라우드 게이트웨이(HCT) 700은 해쉬 테이블(Hash Table) 701, 히스토리 테이블(history table) 702, 위치 검색기(location finder) 703, 해쉬트리 생성기(Hash Tree Generator) 704, 해쉬트리 검증기(Hash Tree Verifier) 705, 응답시간 계산기(Response Time Calculator) 706, 응답시간 추정기(Response Time Estimator) 707 및 멀티카피 선택기(Multi-copy Selector) 708을 포함한다.
상기 해쉬 테이블 701은 콘텐츠별로 각 콘텐츠가 저장되어 있는 클라우드에 대한 정보 및 이 클라우드에 콘텐츠를 요청할 시 콘텐츠 요청으로부터 응답시까지의 응답시간에 대한 정보를 저장한다. 상기 위치 검색기 703은 콘텐츠에 대한 멀티카피들의 저장 위치가 클라우드인지 아니면 다른 디바이스나 홈 클라우드 게이트웨이 자신인지 여부를 검색한다. 이 검색 동작은 상기 해쉬 테이블 701의 Location 필드를 확인함으로써 이루어진다. 상기 해쉬트리 생성기 704는 멀티카피에 대한 정보와 이에 대해 해싱함수를 취한 결과 값을 이용하여 해쉬 트리를 생성하는 동작을 수행한다. 상기 해쉬트리 검증기 705는 클라우드에 대한 검증을 행한다. 구체적으로, 상기 해쉬트리 검증기 705는 상기 해쉬트리 생성기 704에 의해 생성된 제1 해쉬 트리와 자신이 생성하는 제2 해쉬 트리를 비교하여 클라우드를 검증한다. 상기 제2 해쉬 트리는 상기 해쉬트리 검증기 705가 사용자 디바이스로부터 콘텐츠의 열람이 요청될 때 해당하는 클라우드에 콘텐츠 정보를 요청하여 제공받고, 상기 제공받은 콘텐츠 정보와 자신이 가지고 있는 콘텐츠 정보를 이용하여 생성한다. 상기 응답시간 계산기 706은 클라우드측에 클라우드 검증을 위한 요청에서부터 이후 정보를 전달받기까지의 응답시간을 계산한다. 상기 응답시간 추정기 707은 상기 해쉬 테이블 701을 참조하여 응답시간이 가장 빠른 디바이스를 추정한다. 상기 멀티카피 선택기 708은 상기 검증된 클라우드들중에서 응답 시간이 빠른 순서로 클라우드들을 선택하고, 상기 선택된 클라우드들에 저장되어 있는 콘텐츠를 요청하여 사용자 디바이스에게 제공한다.
도 13은 도 12에 도시된 해쉬 테이블 701의 구성의 일 예를 보여주는 도면이다. 상기 해쉬 테이블은 Index 필드, Value 필드, Location 필드, HCGHT(HCG History Table) 필드, Temp 필드를 포함한다. 상기 Location 필드는 콘텐츠들이 저장되어있는 위치를 나타낸다. 즉, 콘텐츠의 멀티카피가 클라우드 안에 저장되어 있는지 혹은 다른 디바이스안에 저장되어 있는지를 나타낸다. HCGHT 필드는 홈 클라우드 게이트웨이에서 해당하는 멀티카피들이 저장되어 있는 위치까지의 응답 시간을 나타낸다. 상기 HCGHT 필드는 최적의 응답시간을 갖는 멀티카피를 찾는데 이용된다. 만약 Location 필드가 클라우드인 경우 HCGHT 필드에는 단지 최근의 응답시간 하나만이 저장되는 반면에, Location 필드가 다른 디바이스일 경우 HCGHT 필드는 현재까지의 응답시간을 기록하고 있는 로그 역할을 하는 배열이 된다. Temp 필드는 클라우드에 멀티카피가 저장된 경우에만 해당하는 필드이다. 예를 들어, 만약 미리 계산되어있는 응답시간이 있다면 클라우드에 대한 검증을 이전에 했다는 것이 되므로 그냥 그 계산된 응답시간을 사용하고 Temp 필드의 값을 증가시킨다. 이러한 Temp 필드가 일정 값이 되면 클라우드에 대한 검증은 실질적으로 여러 번 이상 안되었다는 말이 되므로 이 경우엔 클라우드에 대한 검증 동작을 수행한다.
도 14는 본 발명의 다른 실시예에 따른 저장 콘텐츠 선택 동작의 처리 흐름을 보여주는 도면이다. 이 처리 흐름은 콘텐츠의 멀티카피가 클라우드에 저장되어 있는 경우의 흐름(단계 530, 단계들 540-542 및 단계들 550-556)과, 멀티카피가 다른 디바이스 또는 홈 클라우드 게이트웨이에 저장되어 있는 경우의 흐름(단계들 560-564)으로 구분될 수 있다.
도 15는 본 발명의 다른 실시예에 따른 저장 콘텐츠 선택 동작에서 사용되는 해쉬 트리의 일반적인 구조를 보여주는 도면이고, 도 16, 도 17a 내지 도 17c는 본 발명의 다른 실시예에 따른 저장 콘텐츠 선택 동작시 생성 및 검증되는 해쉬 트리의 구조의 일 예를 보여주는 도면이다.
본 발명의 실시예에 따른 홈 클라우드 게이트웨이 700은 여러 클라우드들에 존재하는 멀티카피들을 검증함과 동시에 최적의 멀티카피를 찾기 위하여 소위 '머클 해쉬 트리(Merkle Hash Tree)'를 사용한다. 상기 머클 해쉬 트리는 자료를 검증하는 대표적인 방법중의 하나로, 특히 블록 단위로 저장되어 있는 자료에 대해서 검증을 할 때 효과적이다. 예를 들어, 도 11에 도시된 바와 같이 클라우드들에 콘텐츠의 멀티카피가 b1, b2, ..., b8로 나뉘어 블록 단위로 저장이 되어 있다고 가정하자. 상기 도 15에 도시된 바와 같이 머클 해쉬 트리의 첫번째 레벨의 노드는 hj = h(bj)와 같이 계산되고, 두번째 레벨의 노드는 hA = h(h3 || h4)와 같이 계산되고, 세번째 레벨의 노드(루트 노드)는 hR = h(hE || hF)와 같이 계산된다.
만약 홈 클라우드 게이트웨이 700이 멀티카피들 b2 및 b6에 대한 검증을 요청한 경우 클라우드측에서는 h2, h6, A(h1, hB), A(h5, hD)를 상기 홈 클라우드 게이트웨이 700으로 보낸다. 여기서 A는 인증경로(authentication path)로써 홈 클라우드 게이트웨이 700이 머클 해쉬 트리를 재구성하는데 사용되는 경로이다. 상기 홈 클라우드 게이트웨이 700은 클라우드로부터 전달받은 정보를 이용하여 머클 해쉬 트리를 생성하고, 이 머클 해쉬 트리에 의해 생성된 hR과 자신이 원래 가지고 있던 hR을 비교하여 클라우드를 검증한다.
먼저, 멀티카피가 클라우드에 저장되어 있는 경우의 동작을 살펴보기로 한다. 사용자가 디바이스, 예를 들어 도 11의 디바이스 601에서 임의의 콘텐츠를 요청하는 경우, 단계 510 및 단계 520에서 홈 클라우드 게이트웨이 700의 위치 검색기 703은 해쉬 테이블 701을 통하여 상기 콘텐츠에 대한 멀티카피들의 저장 위치가 클라우드인지 아니면 다른 디바이스나 홈 클라우드 게이트웨이 자신인지 여부를 확인한다. 이 확인 동작은 상기 해쉬 테이블 701의 Location 필드를 통해 이루어진다.
단계 530에서 상기 홈 클라우드 게이트웨이 700은 해쉬 테이블 701을 통하여 클라우드 검증이 필요한지 여부를 판단한다. 만약 각 인덱스에 해당하는 HCGHT 필드에 응답시간 값이 저장되어 있고 Temp 필드가 일정 값이 아직 안되었을 때는 이미 응답시간을 알 수 있고 그 콘텐츠가 잘 존재한다는 것이 되므로 검증을 다시 하지 않아도 된다. 하지만 만약 각 인덱스에 해당하는 HCGHT 필드가 비어 있는 경우, 즉 응답시간 값이 저장되어 있지 않은 경우에는 클라우드에 대한 검증이 필요하다.
클라우드에 대한 검증이 필요한 경우, 해쉬트리 검증기 705가 클라우드에 대한 검증을 행함과 동시에 응답시간 계산기 706 및 멀티카피 선택기 708은 각 멀티카피에 대한 응답시간을 계산한 후 최적의 멀티카피를 요청하게 되는데, 이 과정은 단계 550 내지 단계 556에서 수행된다.
단계 550에서 홈 클라우드 게이트웨이 700의 해쉬트리 생성기 704는 해쉬 트리를 생성하는 동작을 수행한다. 클라우드에 멀티카피들이 저장될 때, 해쉬트리 생성기 704는 멀티카피 bi에 대해 해싱함수를 취한 결과 값 hi을 계산하고, 클라우드에 상기 멀티카피 bi와 이의 해싱 처리 결과 값 hi = h(bi)를 저장한다. 해쉬트리 생성기 704는 현재 가지고 있는 bi, hi를 이용해 해쉬 트리를 생성하기 시작한다. 생성되는 해쉬 트리는 도 16과 같은 형태를 갖게 될 것이다. 상기 해쉬 트리 생성시 상기 해쉬트리 생성기 704는 트리의 각 레벨의 노드들에 대한 정보를 저장해둔다.
상기 해쉬트리 생성기 704는 자신이 가지고 있는 bi 및 hi를 이용해서 1번째 레벨 및 2번째 레벨의 노드들을 형성하고, 이후에는 각 스테이지에서 아래 <표 1>에 나타낸 바와 같은 XNOR(Exclusive NOR)(또는 NXOR 연산)(≡)을 수행한다.
입력 1 입력 2 NXOR
0 0 1
0 1 0
1 0 0
1 1 1
3번째 레벨의 1번째 노드 A1의 값은 h1 ≡ h2 ≡ h3으로 결정되며, 2번째 노드 A2의 값은 h4 ≡ h5로 결정되며, 3번째 노드 A3의 값은 h6 ≡ h7 ≡ h8로 결정된다. 4번째 레벨의 노드 hR 값은 A1 ≡ A2 ≡ A3으로 결정된다.
단계 552에서 홈 클라우드 게이트웨이 700의 해쉬트리 검증기 705는 클라우드들을 검증하는 동작을 수행한다. 홈 클라우드 게이트웨이 700은 멀티카피에 대한 정보로써 A1, A2, A3를 가지고 있다. 먼저, 상기 홈 클라우드 게이트웨이 700은 각 클라우드들 801-803에게 요청된 콘텐츠의 멀티카피들에 대해 해싱함수 처리된 값들 hi를 요청하고, 이에 응답하여 각 클라우드들 각 클라우드들 801-803은 hi들을 상기 홈 클라우드 게이트웨이 700으로 전달한다. 그러면 상기 홈 클라우드 게이트웨이 700은 클라우드 801로부터는 h1, h2, h3을 전달받고, 클라우드 802로부터는 h4, h5를 전달받고, 클라우드 803으로부터는 h6, h7, h8을 전달받는다. 다음에, 해쉬트리 검증기 705는 자신이 만든 트리 이외에 자신이 가지고 있는 A들과 각 클라우드들로부터 받은 hi들을 이용하여 트리를 생성한다. 이때 상기 해쉬트리 검증기 705는 클라우드별로 일부 트리 구조를 생성함으로써 그 클라우드를 검증한다. 구체적으로, 상기 해쉬트리 검증기 705는 어느 한 클라우드로부터 전달받은 hi들의 값들로부터 다음 레벨의 노드 값 Ai를 결정하고 이 결정된 값 Ai와 자신이 가지고 있는 다른 클라우드들에 대응하는 노드의 값들을 이용하여 최종적으로 hR의 값을 계산한다. 이렇게 계산된 hR의 값과 초기에 만든 트리로부터 알고 있는 hR의 값을 비교함으로써 클라우드의 검증이 가능하다.
예를 들어, 상기 해쉬트리 검증기 705는 클라우드 801로부터 전달받은 값들 (h1, h2, h3)로부터 다음 레벨의 노드 값 A1을 결정하고 이 결정된 값 A1과 자신이 가지고 있는 다른 클라우드들에 대응하는 노드 값들 (A2,A3)을 이용하여 최종적으로 hR의 값을 계산하고, 도 17a에 도시된 바와 같은 형태의 트리를 생성한다. 또한, 상기 해쉬트리 검증기 705는 클라우드 802로부터 전달받은 값들 (h4, h5)로부터 다음 레벨의 노드 값 A2를 결정하고 이 결정된 값 A2와 자신이 가지고 있는 다른 클라우드들에 대응하는 스테이지 값들 (A1,A3)을 이용하여 최종적으로 hR의 값을 계산하고, 도 17b에 도시된 바와 같은 형태의 트리를 생성한다. 또한, 상기 해쉬트리 검증기 705는 클라우드 803으로부터 전달받은 값들 (h6, h7, h8)로부터 다음 레벨의 노드 값 A3을 결정하고 이 결정된 값 A3과 자신이 가지고 있는 다른 클라우드들에 대응하는 노드 값들 (A1,A2)을 이용하여 최종적으로 hR의 값을 계산하고, 도 17c에 도시된 바와 같은 형태의 트리를 생성한다.
단계 554에서 응답시간 계산기 706은 클라우드측에 클라우드 검증을 위한 요청에서부터 이후 정보를 전달받기까지의 시간 RTT(Round Trip Time) 등을 이용하여 클라우드의 응답시간을 계산한다. 이렇게 계산된 응답시간은 도 13에 도시된 해쉬 테이블 701의 HCGHT 필드에 저장된다.
단계 556에서 멀티카피 선택기 708은 상기 해쉬 테이블 701의 HCGHT 필드를 참조하여 검증된 클라우드중에서 응답시간이 가장 빠른 클라우드의 스토리지를 선택하고 그 스토리지에 저장되어 있는 멀티카피를 요청한다.
클라우드에 대한 검증이 불필요한 경우에는 검증 동작 없이 멀티카피에 대한 응답시간을 계산한 후 최적의 멀티카피를 요청하게 되는데, 이 과정은 단계 540 내지 단계 542에서 수행된다.
단계 540에서 응답시간 계산기 706은 이전에 계산된 후 상기 해쉬 테이블 701의 HCGHT 필드에 저장되어 있는 응답시간을 참조하여 응답시간을 계산하고, 단계 542에서 멀티카피 선택기 708은 상기 해쉬 테이블 701의 HCGHT 필드를 참조하여 검증된 클라우드중에서 응답시간이 가장 빠른 클라우드의 스토리지를 선택하고 그 스토리지에 저장되어 있는 멀티카피를 요청한다.
다음에, 멀티카피가 클라우드가 아닌 홈 클라우드 게이트웨이나 다른 디바이스에 저장되어 있는 경우의 동작을 살펴보기로 한다. 이러한 동작은 홈 디바이스의 사용자들의 이동 경로가 일정하게 정해져 있다는 사실을 고려한 것이다. 예를 들어, 이동 경로가 아빠는 집 → 회사 → 집이고, 엄마는 집 → 마트 → 집이고, 자녀 1은 집 → 학교 → 학원 → 집이고, 자녀 2는 집 → 유치원 → 학원 → 집으로 정해진 거의 정해져 있을 수 있다. 이러한 경우 본 발명의 실시예에 따른 해쉬 테이블 701의 HCGHT 필드는 도 18에 도시된 바와 같이 과거의 응답 시간들을 기록하고 있는 로그 역할을 하는 배열이 된다.
사용자가 멀티카피를 요청했을 때 단계 520에서 홈 클라우드 게이트웨이 700은 멀티카피가 다른 디바이스 또는 자신의 내부에 있는지, 아니면 클라우드에 있는지를 판단한다. 만약 멀티카피가 클라우드가 아닌 홈 클라우드 게이트웨이나 다른 디바이스에 있는 것으로 판단되는 경우, 홈 클라우드 게이트웨이 700의 응답시간 추정기 707은 상기 해쉬 테이블 701의 HCGHT 필드를 참조하여 응답시간이 가장 빠른 디바이스를 추정한다. 즉, 상기 응답시간 추정기 707은 HCGHT 필드의 각 열에 있는 값들의 평균값을 구해서 가장 작은 값을 갖는 것을 선택한다. 그런 다음 상기 홈 클라우드 게이트웨이 700은 RTT를 계산하여 HCGHT 필드에 추가한다. 이와 같이 본 발명의 실시예는 HCGHT 필드를 통하여 디바이스들의 응답시간을 추정하고 응답시간이 가장 빠른 디바이스를 선택하여 이로부터 콘텐츠를 제공받아 사용자에게 전달해주고, 그 다음에 홈 클라우드 게이트웨이가 따로 디바이스들에 대해 응답시간을 계산하여 HCGHT 필드에 추가시킨다. 이러한 저장 콘텐츠 선택 동작은 모든 멀티카피들에 대하여 응답시간을 계산하는 부하를 감소시켜 줄 수 있다.
전술한 바와 같은 본 발명의 다른 실시예에 따른 저장 콘텐츠 선택 동작에 따르면, 클라우드에 있는 멀티카피는 클라우드에 대한 검증과 응답시간의 계산을 동시에 함으로써 겹치는 과정을 줄일 수 있고, 클라우드에 속하지 않는 디바이스 안에 있는 멀티카피는 개량된 응답시간 추정 방법을 통하여 효과적으로 멀티카피 선택을 할 수 있다. 추정 방법을 사용하지 않았을 때 가장 작은 응답 시간을 갖는 멀티카피를 선택하기 위해서는 응답시간을 계산하기 위해 사용자에게 자료(콘텐츠)를 전달해주기 전에 일일이 시험 패킷을 보내야 하지만 본 발명의 실시예에서는 응답시간을 추정하고 사용자에게 자료를 전달한 후에 홈 클라우드 게이트웨이에서 응답시간을 계산하기 때문에 사용자가 자료를 받는 시간은 단축될 것이다.
< 저장 콘텐츠 선택 동작의 다른 실시예의 변형 예 >
도 19는 본 발명의 다른 실시예에 따른 저장 콘텐츠 선택 동작이 수행되는 클라우드 서비스 시스템 구성의 변형 예를 보여주는 도면이다. 이 구성은 홈 클라우드 게이트웨이의 숫자가 많아지는 경우를 고려한 것이다.
홈 클라우드 게이트웨이의 숫자가 많아지는 경우 각각의 홈 클라우드 게이트웨이는 상당히 많은 연산을 할 필요가 있는데, 이러한 경우 홈 클라우드 게이트웨이를 그룹으로 묶어서 관리 하는 것이 효율적일 것이다. 일정한 수의 홈 클라우드 게이트웨이를 그룹으로 분류하고 이들을 슈퍼 노드 기능을 하는 게이트웨이로서 그룹 홈 클라우드 게이트웨이가 관리한다. 도 19에서 그룹 홈 클라우드 게이트웨이 730은 2개의 홈 클라우드 게이트웨이들 710 및 720을 통합 관리하며, 클라우드들 811 및 812를 연결하고 있다. 홈 클라우드 게이트웨이 710에는 홈 디바이스 611 및 612가 연결되어 있고, 홈 클라우드 게이트웨이 720에는 홈 디바이스 613이 연결되어 있다. 홈 클라우드 게이트웨이 710은 해쉬 테이블 711을 포함하고, 홈 클라우드 게이트웨이 720은 해쉬 테이블 721을 포함한다.
그룹 홈 클라우드 게이트웨이 730은 홈 클라우드 게이트웨이를 그룹으로 분류하여 그것들을 관리하기 때문에 이의 해쉬 테이블 731은 일반적인 홈 클라우드 게이트웨이의 해쉬 테이블과는 다르게 변경될 필요가 있다. 그룹 해쉬 테이블 731은 도 20에 도시된 바와 같이 단지 인덱스(Index) 필드와 목적지(Destination) 필드로 구성된다. 상기 인덱스 필드는 해쉬 함수의 결과값으로 홈 클라우드 게이트웨이들 710,720의 해쉬 테이블들 711,721에서의 인덱스와 긴밀한 관계를 갖는다. 상기 목적지 필드는 그룹 홈 클라우드 게이트웨이 다음의 목적지가 홈 클라우드 게이트웨이인지 아니면 클라우드 인지를 나타낸다.
상기 홈 클라우드 게이트웨이들 710,720의 내부 구성은 전술한 본 발명의 다른 실시예에 따른 동작을 위해서는 도 21에 도시된 바와 같은 구성요소들을 포함할 수 있다. 즉, 상기 홈 클라우드 게이트웨이(HCT1) 710은 해쉬 테이블(Hash Table) 711, 히스토리 테이블(history table) 712, 위치 검색기(location finder) 713, 해쉬트리 생성기(Hash Tree Generator) 714, 해쉬트리 검증기(Hash Tree Verifier) 715, 응답시간 계산기(Response Time Calculator) 716, 응답시간 추정기(Response Time Estimator) 717 및 멀티카피 선택기(Multi-copy Selector) 718을 포함한다. 상기 홈 클라우드 게이트웨이(HCT2) 720은 해쉬 테이블(Hash Table) 721, 히스토리 테이블(history table) 722, 위치 검색기(location finder) 723, 해쉬트리 생성기(Hash Tree Generator) 724, 해쉬트리 검증기(Hash Tree Verifier) 725, 응답시간 계산기(Response Time Calculator) 726, 응답시간 추정기(Response Time Estimator) 727 및 멀티카피 선택기(Multi-copy Selector) 728을 포함한다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나 본 발명은 상기의 실시예에 한정되는 것은 아니며 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 예컨대, 본 발명의 실시예에 따른 동작은 다양한 컴퓨터로 구현되는 동작을 수행하기 위한 프로그램 명령을 포함하는 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판단 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM이나 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드 뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 본 발명에서 설명된 기지국 또는 릴레이의 전부 또는 일부가 컴퓨터 프로그램으로 구현된 경우 상기 컴퓨터 프로그램을 저장한 컴퓨터 판독 가능 기록 매체도 본 발명에 포함된다. 그러므로 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위 뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 할 것이다.
101, 102, 10M, 111 : 사용자 디바이스
200, 210 : 클라우드 게이트웨이
301, 302, 30N, 311, 312, 313, 31N : 클라우드

Claims (24)

  1. 적어도 하나의 사용자 디바이스와, 이종의 클라우드 서비스를 제공하는 다수의 클라우드들과, 상기 사용자 디바이스와 상기 클라우드들의 사이에 접속되는 게이트웨이를 포함하는 클라우드 서비스 시스템의, 상기 게이트웨이에 있어서,
    서비스 사용료에 대한 정보를 포함하는 미리 정해진 서비스수준협약 정보 및 상기 클라우드들 각각에 대한 저장 용량에 대한 정보를 저장하고 있는 정보 테이블과,
    상기 서비스수준협약 정보에 따라 상기 클라우드들 중 서비스 사용료가 낮은 순서로 적어도 하나 이상의 클라우드를 선택하고, 상기 선택된 클라우드에 상기 사용자 디바이스로부터 제공되는 콘텐츠를 저장하는 제어기를 포함함을 특징으로 하는 게이트웨이.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 청구항 1에 있어서, 상기 제어기는, 상기 선택된 클라우드의 가용 용량이 상기 콘텐츠의 용량보다 작은 경우 다른 클라우드를 선택하는 것을 특징으로 하는 게이트웨이.
  6. 청구항 1에 있어서, 상기 정보 테이블은, 상기 사용자 디바이스를 통해 사용자 입력하거나 상기 클라우드들이 제공하는 값에 따라 생성 및 업데이트되는 것을 특징으로 하는 게이트웨이.
  7. 적어도 하나의 사용자 디바이스와, 이종의 클라우드 서비스를 제공하는 다수의 클라우드들과, 상기 사용자 디바이스와 상기 클라우드들의 사이에 접속되는 게이트웨이를 포함하는 클라우드 서비스 시스템의, 상기 게이트웨이에 있어서,
    상기 클라우드들 각각에 대한 응답 시간을 계산하는 계산기와,
    상기 사용자 디바이스로부터 콘텐츠의 열람이 요청될 때 상기 요청된 콘텐츠를 저장하고 있는 클라우드들중에서 응답 시간이 빠른 순서로 클라우드들을 선택하고, 상기 선택된 클라우드들에 저장된 콘텐츠를 요청하여 상기 사용자 디바이스에게 제공하는 선택기를 포함함을 특징으로 하는 게이트웨이.
  8. 청구항 7에 있어서,
    상기 클라우드들 각각에 대한 응답 시간의 계산 결과를 저장하고 있는 응답시간 테이블과,
    콘텐츠별로 각 콘텐츠가 저장되어 있는 클라우드에 대한 정보를 저장하고 있는 해쉬 테이블을 더 포함하고,
    상기 선택기는, 상기 테이블들을 참조하여 상기 사용자 디바이스로부터 콘텐츠의 열람이 요청될 때 상기 요청된 콘텐츠를 저장하고 있는 클라우드들중에서 응답 시간이 빠른 순서로 클라우드들을 선택하고, 상기 선택된 클라우드들에 저장된 상기 콘텐츠의 멀티카피를 요청하여 상기 사용자 디바이스에게 제공함을 특징으로 하는 게이트웨이.
  9. 청구항 8에 있어서, 상기 계산기는, 미리 정해진 주기로 상기 클라우드들 각각에 저장되어 있는 시험 콘텐츠를 요청하고 상기 시험 콘텐츠가 수신될 때까지의 응답시간을 계산하고 상기 클라우드들 각각에 대한 응답 시간을 상기 응답시간 테이블에 저장하는 것을 특징으로 하는 게이트웨이.
  10. 청구항 9에 있어서, 상기 시험 콘텐츠는 새로운 클라우드 스토리지 서비스가 연결될 때마다 그 연결된 클라우드에 저장되는 것을 특징으로 하는 게이트웨이.
  11. 적어도 하나의 사용자 디바이스와, 이종의 클라우드 서비스를 제공하는 다수의 클라우드들과, 상기 사용자 디바이스와 상기 클라우드들의 사이에 접속되는 게이트웨이를 포함하는 클라우드 서비스 시스템의, 상기 게이트웨이에 있어서,
    사용자 디바이스로부터 콘텐츠의 열람이 요청될 때 상기 콘텐츠를 저장하고 있는 클라우드들을 검증하는 검증기와,
    상기 검증된 클라우드들중에서 응답 시간이 빠른 순서로 클라우드들을 선택하고, 상기 선택된 클라우드들에 저장되어 있는 상기 콘텐츠를 요청하여 상기 사용자 디바이스에게 제공하는 선택기를 포함함을 특징으로 하는 게이트웨이.
  12. 청구항 11에 있어서, 상기 검증기는,
    콘텐츠별로 각 콘텐츠가 저장되어 있는 클라우드에 대한 정보 및 이 클라우드에 콘텐츠를 요청할 시 콘텐츠 요청으로부터 응답시까지의 응답시간에 대한 정보를 저장하고 있는 해쉬 테이블과,
    상기 콘텐츠에 대한 정보를 이용하여 제1 해쉬트리를 생성하는 해쉬트리 생성기와,
    상기 사용자 디바이스로부터 콘텐츠의 열람이 요청될 때 해당하는 클라우드에 콘텐츠 정보를 요청하여 제공받고, 상기 제공받은 콘텐츠 정보와 자신이 가지고 있는 콘텐츠 정보를 이용하여 제2 해쉬트리를 생성하고, 상기 해쉬트리들을 비교하여 클라우드를 검증하는 해쉬트리 검증기를 포함함을 특징으로 하는 게이트웨이.
  13. 청구항 12에 있어서, 상기 클라우드로부터 제공받는 콘텐츠 정보는 각 콘텐츠 카피에 대한 정보와 이 정보에 대해 해쉬 함수를 취한 값을 포함함을 특징으로 하는 게이트웨이.
  14. 적어도 하나의 사용자 디바이스와, 이종의 클라우드 서비스를 제공하는 다수의 클라우드들과, 상기 사용자 디바이스와 상기 클라우드들의 사이에 접속되는 게이트웨이를 포함하는 클라우드 서비스 시스템에서, 상기 게이트웨이에 의한 콘텐츠 저장 방법에 있어서,
    서비스 사용료에 대한 정보를 포함하는 미리 정해진 서비스수준협약 정보에 따라 상기 클라우드들 중 상기 서비스 사용료가 낮은 순서로 적어도 하나 이상의 클라우드를 선택하는 과정과,
    상기 선택된 클라우드의 가용 용량이 상기 콘텐츠의 용량보다 작은 경우 다른 클라우드를 선택하는 과정과,
    상기 선택된 클라우드에 상기 사용자 디바이스로부터 제공되는 콘텐츠를 저장하는 과정을 포함함을 특징으로 하는 콘텐츠 저장 방법.
  15. 삭제
  16. 삭제
  17. 삭제
  18. 청구항 14에 있어서, 상기 서비스수준협약 정보는, 상기 사용자 디바이스를 통해 사용자 입력하거나 상기 클라우드들이 제공하는 값에 따라 생성되고,
    상기 사용자 디바이스를 통해 사용자 입력하거나 상기 클라우드들이 제공하는 값에 따라 상기 서비스수준협약 정보를 업데이트하는 과정을 더 포함함을 특징으로 하는 콘텐츠 저장 방법.
  19. 적어도 하나의 사용자 디바이스와, 이종의 클라우드 서비스를 제공하는 다수의 클라우드들과, 상기 사용자 디바이스와 상기 클라우드들의 사이에 접속되는 게이트웨이를 포함하는 클라우드 서비스 시스템에서, 상기 게이트웨이에 의한 콘텐츠 선택 방법에 있어서,
    상기 클라우드들 각각에 대한 응답 시간을 계산하는 과정과,
    상기 사용자 디바이스로부터 콘텐츠의 열람이 요청될 때 상기 요청된 콘텐츠를 저장하고 있는 클라우드들중에서 응답 시간이 빠른 순서로 클라우드들을 선택하고, 상기 선택된 클라우드들에 저장된 콘텐츠를 요청하여 상기 사용자 디바이스에게 제공하는 과정을 포함함을 특징으로 하는 콘텐츠 선택 방법.
  20. 청구항 19에 있어서, 상기 응답시간을 계산하는 과정은,
    미리 정해진 주기로 상기 클라우드들 각각에 저장되어 있는 시험 콘텐츠를 요청하는 과정과,
    상기 시험 콘텐츠가 수신될 때까지의 응답시간을 계산하는 과정을 포함함을 특징으로 하는 콘텐츠 선택 방법.
  21. 청구항 20에 있어서, 상기 시험 콘텐츠는, 새로운 클라우드 스토리지 서비스가 연결될 때마다 그 연결된 클라우드에 저장됨을 특징으로 하는 콘텐츠 선택 방법.
  22. 적어도 하나의 사용자 디바이스와, 이종의 클라우드 서비스를 제공하는 다수의 클라우드들과, 상기 사용자 디바이스와 상기 클라우드들의 사이에 접속되는 게이트웨이를 포함하는 클라우드 서비스 시스템에서, 상기 게이트웨이에 의한 콘텐츠 선택 방법에 있어서,
    사용자 디바이스로부터 콘텐츠의 열람이 요청될 때 상기 콘텐츠를 저장하고 있는 클라우드들을 검증하는 과정과,
    상기 검증된 클라우드들중에서 응답 시간이 빠른 순서로 클라우드들을 선택하는 과정과,
    상기 선택된 클라우드들에 저장되어 있는 상기 콘텐츠를 요청하여 상기 사용자 디바이스에게 제공하는 과정을 포함함을 특징으로 하는 콘텐츠 선택 방법.
  23. 청구항 22에 있어서, 상기 클라우드들을 선택하는 과정은,
    콘텐츠에 대한 정보를 이용하여 제1 해쉬트리를 생성하는 과정과,
    상기 사용자 디바이스로부터 콘텐츠의 열람이 요청될 때 해당하는 클라우드에 콘텐츠 정보를 요청하여 제공받는 과정과,
    상기 제공받은 콘텐츠 정보와 자신이 가지고 있는 콘텐츠 정보를 이용하여 제2 해쉬트리를 생성하고 상기 해쉬트리들을 비교하여 클라우드를 검증하는 과정과,
    상기 요청된 콘텐츠를 저장하고 있는 클라우드들중에서 상기 검증하는 과정에 의해 검증되었고, 응답 시간이 빠른 순서로 클라우드들을 선택하는 과정을 포함함을 특징으로 하는 콘텐츠 선택 방법.
  24. 청구항 23에 있어서, 상기 클라우드로부터 제공받는 콘텐츠 정보는 각 콘텐츠 카피에 대한 정보와 이 정보에 대해 해쉬 함수를 취한 값을 포함함을 특징으로 하는 콘텐츠 선택 방법.
KR1020120025131A 2012-03-12 2012-03-12 클라우드 게이트웨이의 콘텐츠 관리 장치 및 방법 KR101930263B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020120025131A KR101930263B1 (ko) 2012-03-12 2012-03-12 클라우드 게이트웨이의 콘텐츠 관리 장치 및 방법
EP13760828.7A EP2825970B1 (en) 2012-03-12 2013-02-27 Apparatus and method for managing content for cloud computing
PCT/KR2013/001593 WO2013137573A1 (en) 2012-03-12 2013-02-27 Apparatus and method for managing content for cloud computing
US13/797,105 US9270753B2 (en) 2012-03-12 2013-03-12 Apparatus and method for managing content for cloud computing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120025131A KR101930263B1 (ko) 2012-03-12 2012-03-12 클라우드 게이트웨이의 콘텐츠 관리 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20130104019A KR20130104019A (ko) 2013-09-25
KR101930263B1 true KR101930263B1 (ko) 2018-12-18

Family

ID=49115079

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120025131A KR101930263B1 (ko) 2012-03-12 2012-03-12 클라우드 게이트웨이의 콘텐츠 관리 장치 및 방법

Country Status (4)

Country Link
US (1) US9270753B2 (ko)
EP (1) EP2825970B1 (ko)
KR (1) KR101930263B1 (ko)
WO (1) WO2013137573A1 (ko)

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9705730B1 (en) * 2013-05-07 2017-07-11 Axcient, Inc. Cloud storage using Merkle trees
US8924360B1 (en) 2010-09-30 2014-12-30 Axcient, Inc. Systems and methods for restoring a file
US8954544B2 (en) 2010-09-30 2015-02-10 Axcient, Inc. Cloud-based virtual machines and offices
US10284437B2 (en) 2010-09-30 2019-05-07 Efolder, Inc. Cloud-based virtual machines and offices
US8589350B1 (en) 2012-04-02 2013-11-19 Axcient, Inc. Systems, methods, and media for synthesizing views of file system backups
US9235474B1 (en) 2011-02-17 2016-01-12 Axcient, Inc. Systems and methods for maintaining a virtual failover volume of a target computing system
US9148381B2 (en) 2011-10-21 2015-09-29 Qualcomm Incorporated Cloud computing enhanced gateway for communication networks
US9116893B2 (en) 2011-10-21 2015-08-25 Qualcomm Incorporated Network connected media gateway for communication networks
IN2014MN01516A (ko) * 2012-01-09 2015-05-01 Qualcomm Inc
US9979780B1 (en) * 2012-06-25 2018-05-22 EMC IP Holding Company LLC Method and apparatus for selection between multiple candidate clouds for job processing
US9167050B2 (en) * 2012-08-16 2015-10-20 Futurewei Technologies, Inc. Control pool based enterprise policy enabler for controlled cloud access
US9785647B1 (en) 2012-10-02 2017-10-10 Axcient, Inc. File system virtualization
US9852140B1 (en) 2012-11-07 2017-12-26 Axcient, Inc. Efficient file replication
US9397907B1 (en) 2013-03-07 2016-07-19 Axcient, Inc. Protection status determinations for computing devices
US9292153B1 (en) 2013-03-07 2016-03-22 Axcient, Inc. Systems and methods for providing efficient and focused visualization of data
JP5853996B2 (ja) * 2013-06-10 2016-02-09 コニカミノルタ株式会社 情報システム、情報機器およびコンピュータプログラム
US9417903B2 (en) * 2013-06-21 2016-08-16 International Business Machines Corporation Storage management for a cluster of integrated computing systems comprising integrated resource infrastructure using storage resource agents and synchronized inter-system storage priority map
US10505864B1 (en) 2013-09-30 2019-12-10 EMC IP Holding Company LLC Method for running HPC jobs
US9166964B2 (en) 2014-01-08 2015-10-20 Google Inc. Secure challenge system for verifying access rights to media content
KR102221100B1 (ko) * 2014-06-02 2021-02-26 삼성전자주식회사 클라우드 서비스를 이용한 데이터 저장 방법 및 이를 위한 장치
US10084795B2 (en) * 2014-07-14 2018-09-25 Cisco Technology, Inc. Network-based real-time distributed data compliance broker
US10936494B1 (en) 2014-12-05 2021-03-02 EMC IP Holding Company LLC Site cache manager for a distributed file system
US10445296B1 (en) 2014-12-05 2019-10-15 EMC IP Holding Company LLC Reading from a site cache in a distributed file system
US10021212B1 (en) 2014-12-05 2018-07-10 EMC IP Holding Company LLC Distributed file systems on content delivery networks
US10452619B1 (en) 2014-12-05 2019-10-22 EMC IP Holding Company LLC Decreasing a site cache capacity in a distributed file system
US10423507B1 (en) 2014-12-05 2019-09-24 EMC IP Holding Company LLC Repairing a site cache in a distributed file system
US10951705B1 (en) 2014-12-05 2021-03-16 EMC IP Holding Company LLC Write leases for distributed file systems
US10430385B1 (en) 2014-12-05 2019-10-01 EMC IP Holding Company LLC Limited deduplication scope for distributed file systems
US10771553B2 (en) * 2015-04-30 2020-09-08 Quest Software Inc. Access to disparate cloud services
US9588799B1 (en) * 2015-09-29 2017-03-07 Amazon Technologies, Inc. Managing test services in a distributed production service environment
KR101977109B1 (ko) * 2015-11-17 2019-08-28 (주)마크애니 해시함수 기반의 대규모 동시 전자서명 서비스 시스템 및 그 방법
US20190109877A1 (en) 2017-10-11 2019-04-11 Microsoft Technology Licensing, Llc Secure application metering
US11265310B2 (en) * 2017-10-19 2022-03-01 Microsoft Technology Licensing, Llc Isolating networks and credentials using on-demand port forwarding
US10990282B1 (en) 2017-11-28 2021-04-27 Pure Storage, Inc. Hybrid data tiering with cloud storage
CN108173964A (zh) * 2018-01-22 2018-06-15 温州博盈科技有限公司 一种基于云储存的客户信息管理中心
US11436344B1 (en) 2018-04-24 2022-09-06 Pure Storage, Inc. Secure encryption in deduplication cluster
US11392553B1 (en) * 2018-04-24 2022-07-19 Pure Storage, Inc. Remote data management
US10827006B2 (en) 2018-05-22 2020-11-03 At&T Intellectual Property I, L.P. Policy-driven homing service system
WO2020042130A1 (zh) * 2018-08-31 2020-03-05 深圳大学 基于双云端的数据安全存储方法、装置、设备及存储介质
US11175970B2 (en) * 2018-10-24 2021-11-16 Sap Se Messaging in a multi-cloud computing environment
CN109450713B (zh) * 2018-12-25 2020-02-21 无锡华云数据技术服务有限公司 基于网关的虚拟化平台和云平台纳管方法、设备、介质
CN113783741B (zh) * 2021-11-10 2022-03-11 云丁网络技术(北京)有限公司 用于配置网关设备的方法、装置、服务器、网关设备及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000072183A2 (en) 1999-05-24 2000-11-30 Aprisma Management Technologies, Inc. Service level management
US20050256946A1 (en) * 2004-03-31 2005-11-17 International Business Machines Corporation Apparatus and method for allocating resources based on service level agreement predictions and associated costs
US20070180061A1 (en) 2006-02-02 2007-08-02 International Business Machines Corporation Methods and apparatus for interactive specification of context-sensitive sevice level agreements; for provisioning of resources required during service delivery events regulated by service level agreements; and for monitoring compliance with service level agreements during service delivery events
US20100280861A1 (en) 2009-04-30 2010-11-04 Lars Rossen Service Level Agreement Negotiation and Associated Methods
US20110307523A1 (en) * 2010-06-09 2011-12-15 International Business Machines Corporation Configuring cloud resources

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100934963B1 (ko) 2007-04-12 2010-01-06 최원혁 지능형 멀티미디어 게이트웨이 서비스 클라이언트 서버시스템 및 그 방법
US9614924B2 (en) * 2008-12-22 2017-04-04 Ctera Networks Ltd. Storage device and method thereof for integrating network attached storage with cloud storage services
EP2425341B1 (en) 2009-05-01 2018-07-11 Citrix Systems, Inc. Systems and methods for establishing a cloud bridge between virtual storage resources
US20110078303A1 (en) 2009-09-30 2011-03-31 Alcatel-Lucent Usa Inc. Dynamic load balancing and scaling of allocated cloud resources in an enterprise network
JP4939594B2 (ja) 2009-11-30 2012-05-30 インターナショナル・ビジネス・マシーンズ・コーポレーション プライマリクラウドが提供したサービスレベルの実績値又は更新されたプリファレンス情報に基づいて、サービスレベルアグリーメントを動的に決定してサービスを提供することができるクラウドシステムを構成する装置、方法及びコンピュータプログラム
US20110289329A1 (en) * 2010-05-19 2011-11-24 Sumit Kumar Bose Leveraging smart-meters for initiating application migration across clouds for performance and power-expenditure trade-offs
US8832130B2 (en) * 2010-08-19 2014-09-09 Infosys Limited System and method for implementing on demand cloud database
US8930541B2 (en) * 2011-11-25 2015-01-06 International Business Machines Corporation System, method and program product for cost-aware selection of templates for provisioning shared resources
KR101326789B1 (ko) * 2011-12-26 2013-11-08 건국대학교 산학협력단 에스엘에이 수준에서 맞춤형 클라우드 서비스 분배를 위한 다중 상황인지 시스템 및 그 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000072183A2 (en) 1999-05-24 2000-11-30 Aprisma Management Technologies, Inc. Service level management
US20050256946A1 (en) * 2004-03-31 2005-11-17 International Business Machines Corporation Apparatus and method for allocating resources based on service level agreement predictions and associated costs
US20070180061A1 (en) 2006-02-02 2007-08-02 International Business Machines Corporation Methods and apparatus for interactive specification of context-sensitive sevice level agreements; for provisioning of resources required during service delivery events regulated by service level agreements; and for monitoring compliance with service level agreements during service delivery events
US20100280861A1 (en) 2009-04-30 2010-11-04 Lars Rossen Service Level Agreement Negotiation and Associated Methods
US20110307523A1 (en) * 2010-06-09 2011-12-15 International Business Machines Corporation Configuring cloud resources

Also Published As

Publication number Publication date
EP2825970A1 (en) 2015-01-21
US9270753B2 (en) 2016-02-23
KR20130104019A (ko) 2013-09-25
WO2013137573A1 (en) 2013-09-19
EP2825970B1 (en) 2021-11-17
EP2825970A4 (en) 2015-12-02
US20130238752A1 (en) 2013-09-12

Similar Documents

Publication Publication Date Title
KR101930263B1 (ko) 클라우드 게이트웨이의 콘텐츠 관리 장치 및 방법
US11245770B2 (en) Locality based content distribution
JP4950439B2 (ja) 部分的複製を使用する、Webコンテンツの分散型ホスティング
CN100498756C (zh) 被管对象的复制和传送的方法和系统
CN101911038B (zh) 用于分组通信设备的内容管理
US7613704B2 (en) Enterprise digital asset management system and method
US20060112143A1 (en) Method and system to facilitate publishing and distribution of digital media
JP5970541B2 (ja) 情報処理システム、管理サーバ群、および、サーバ管理プログラム
US20190266633A1 (en) System and Method for Optimizing Content Distribution
CN102771080A (zh) 使用缓存的高效媒体传送的系统和方法
CN102833293A (zh) P2sp网络中资源下载的方法及客户端
KR19980041908A (ko) 컴퓨터화된 자원 명칭 도출 메카니즘
Nikolaou et al. Proactive cache placement on cooperative client caches for online social networks
KR101344828B1 (ko) 디지털 콘텐츠 유통 방법 및 시스템
KR20050060783A (ko) 네트워크상에서 디지털 미디어 파일을 검색하고다운로드하는 방법 및 그 방법을 실행하는 프로그램을기록한 기록매체
CN103609074A (zh) 应用特定web请求路由
US9727655B2 (en) Searching system, method and P2P device for P2P device community
KR20200003625A (ko) 블록체인 및 분산 인프라 P2P 모델 기반 PoR 증명을 이용한 인터넷 서비스 제공 방법
Khan Blockchain-Based Content Delivery Networks for Adaptive Video Streaming Optimization

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant