KR101476936B1 - 네트워크 저장 시스템 안에서의 동적 이동 - Google Patents
네트워크 저장 시스템 안에서의 동적 이동 Download PDFInfo
- Publication number
- KR101476936B1 KR101476936B1 KR1020137005038A KR20137005038A KR101476936B1 KR 101476936 B1 KR101476936 B1 KR 101476936B1 KR 1020137005038 A KR1020137005038 A KR 1020137005038A KR 20137005038 A KR20137005038 A KR 20137005038A KR 101476936 B1 KR101476936 B1 KR 101476936B1
- Authority
- KR
- South Korea
- Prior art keywords
- services
- personal cloud
- resources
- cloud network
- computing devices
- Prior art date
Links
- 238000013508 migration Methods 0.000 title description 2
- 230000005012 migration Effects 0.000 title description 2
- 238000004891 communication Methods 0.000 claims abstract description 54
- 238000000034 method Methods 0.000 claims description 45
- 238000012545 processing Methods 0.000 claims description 20
- 230000008859 change Effects 0.000 claims description 16
- 238000013500 data storage Methods 0.000 claims description 11
- 230000002411 adverse Effects 0.000 abstract 1
- 230000008569 process Effects 0.000 description 29
- 238000010586 diagram Methods 0.000 description 16
- 238000013459 approach Methods 0.000 description 15
- 230000004044 response Effects 0.000 description 11
- 238000012546 transfer Methods 0.000 description 8
- 238000007726 management method Methods 0.000 description 6
- 230000033001 locomotion Effects 0.000 description 5
- 230000003466 anti-cipated effect Effects 0.000 description 4
- 230000007547 defect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000000737 periodic effect Effects 0.000 description 2
- 230000008439 repair process Effects 0.000 description 2
- 230000010076 replication Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000035876 healing Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005067 remediation Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1074—Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
- G06F9/4856—Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Environmental & Geological Engineering (AREA)
- Information Transfer Between Computers (AREA)
Abstract
본 발명은 개인용 클라우드 상에 저장된 콘텐츠에 대한 액세스를 제공하는 것에 관한 것이다. 특히, 사용자에 의해 그리고 사용자에 의해 신뢰되는 다른 사용자들에 의해 소유되는 여러 장치의 자원들을 공유함으로써 개인용 클라우드가 구성될 수 있다. 개인용 클라우드에 장치를 추가하기 위하여, 장치는 그의 소유자를 사서에게 식별시킬 수 있으며, 사서는 소유자를 위해 클라우드를 형성하는 다른 장치들에 대한 어드레싱 정보를 제공할 수 있다. 새로운 장치는 다른 장치들과의 통신 경로를 형성할 수 있으며, (예를 들어, 다른 장치들과의 통신으로부터 결정되는 바와 같은) 개인용 클라우드에 필요한 서비스들 또는 데이터에 기초하여 그 자신을 구성할 수 있다. 개인용 클라우드의 개별 장치들 상에서 동작하는 서비스들은 사용자가 개인용 클라우드의 동작에 악영향을 미치지 않고 뜻대로 개인용 클라우드로부터 장치를 제거할 수 있는 것을 보증하기 위해 동적으로 그리고 자동으로 이동될 수 있다.
Description
본 발명은 개인 네트워크 저장 시스템의 컴포넌트들의 구성에 관한 것이다. 구체적으로, 본 발명은 개인 네트워크 저장 시스템에서의 장치들의 결함 없는 추가 및 제거의 관리에 관한 것이다.
고속 인터넷 접속의 가용성 향상에 따라, 많은 장치는 원격 서비스들 또는 소스들에 접속하는 능력을 구비한다. 게다가, 고속 인터넷 접속의 비용이 감소함에 따라, 많은 사용자는 인터넷에 대한 항구적인 또는 거의 항구적인 접속을 유지할 수 있다. 더구나, 무선 통신 시스템들이 확장됨에 따라, 사용자들은 사용자가 통상적으로 인터넷에 액세스할 수 있는 사용자의 직장, 집 또는 기타 영역들로부터 먼 장소들을 포함하는 많은 상이한 장소들에서 원격 소스들에 접속할 수 있다. 예컨대, 무선 통신 네트워크들은 장치가 자연의 산 정상에서 (예를 들어, 스키를 타거나 걸으면서) 인터넷에 접속할 수 있을 정도로 확장되었다.
사용자가 이동하거나 여행할 때 인터넷에 접속하기 위한 장치들의 능력 향상으로 인해, 사용자는 원격 저장의 이용을 늘릴 수 있다. 특히, 사용자는 정보를 하나 이상의 원격 위치에 저장할 수 있고, 사용자가 인터넷에 접속할 수 있는 한은 정보가 액세스 가능하게 유지될 수 있다는 것을 안다. 이것은 사용자가 장치 내의 실제 저장(예를 들어, 장치 내의 하드 드라이브 또는 반도체 드라이브의 저장)을 넘어 사용자가 이용 가능한 저장의 양을 확장하게 할 수 있다.
장치는 임의의 적절한 원격 저장 소스에 접속하여, 예를 들어 하나 이상의 클라우드 저장 솔루션을 이용하는 것을 포함하여 콘텐츠를 저장 또는 액세스할 수 있다. 통상적으로 클라우드 저장 솔루션은 하나 이상의 위치에 지리적으로 위치하고 서로 그리고 인터넷에 접속된 저장 장치들의 하나 이상의 랙(rack)을 포함할 수 있다. 저장 장치들은 시스템 관리자에 의해 관리될 수 있으며, 그는 클라우드가 적절히 동작하는 것을 보증하기 위해 다양한 작업들을 수행할 수 있다. 특히, 시스템 관리자는 상이한 장치들에 대한 프로파일들을 정의 및 설정하고, 주기적인 점검을 수행하고, 장치들을 교체 또는 유지하고, 일부 사례들에서는 클라우드에 저장된 데이터의 일부 또는 전부를 관리할 수 있다. 그러한 클라우드 저장은 사용자에게 유용할 수 있지만, 비용을 발생시킬 수도 있다. 특히, 클라우드 제공자는 클라우드 저장의 이용에 대한 대가로 월 단위의 또는 다른 주기적인 요금을 부과할 수 있다. 게다가, 클라우드 저장 시스템을 운영하는 비용은 물질적인 비용(예를 들어, 저장 장치들)뿐만 아니라 네트워크 관리 비용도 포함할 수 있다. 특히, 새로운 장치가 클라우드에 추가될 때마다 또는 장치가 클라우드로부터 제거될 때마다, 새로운 장치를 구성하거나 클라우드의 나머지 장치들 사이에서 데이터, 서비스들 또는 이들 모두를 이동시키기 위해 관리 활동이 필요할 수 있다. 이것은 시간 및 관리자 자원들 둘 다를 필요로 할 수 있다.
본 발명은 개별 사용자가 개인용 클라우드들과 같은 개인용 또는 사설 네트워크 저장 시스템들을 생성하는 것을 가능하게 하기 위한 시스템들, 방법들 및 컴퓨터 판독 가능 매체들에 관한 것이며, 클라우드는 그 자신을 자동 구성하여 사용자를 위해 관리 임무를 줄이거나 없앨 수 있다.
사용자는 클라우드에 포함시키기 위해 사용자에 의해 제어되는 장치들의 리스트를 선택함으로써 개인용 클라우드를 정의할 수 있다. 리스트 내의 장치들은 그들 자신 및 그들의 소유자를 사서(librarian)에게 식별시킬 수 있고, 사서는 개인용 클라우드에 대해 식별된 장치들의 자원들을 할당할 수 있다. 게다가, 사용자는 하나 이상의 다른 사용자를 신뢰하기로 결정할 수 있고, 이들의 장치들도 클라우드에 의해 사용 가능해질 수 있다. 이어서, 사서는 개인용 클라우드를 형성하기 위해 결합할 장치들의 세트를 선택할 수 있으며, 장치들은 하나 이상의 사용자에 의해 소유된다.
그러나, 클라우드의 부분으로서 포함될 특정 장치들은 시간이 지남에 따라 변할 수 있다. 예를 들어, 사용자에 의해 소유되는 컴퓨터는 애드혹(ad hoc)에 기초하여 (예를 들어, 노트북 장치가 이동 중에 인터넷으로부터 분리될 때) 이용 가능한 네트워크 접속으로부터 분리되거나 접속될 수 있다. 다른 예로서, 사용자에 의해 소유되는 컴퓨터는 임의 시간에 턴오프될 수 있다. 또 다른 예로서, 사용자는 원격 저장 장치(예로서, 외부 하드 드라이브)의 자원들을 장치 또는 네트워크에 할당하거나 그로부터 제거할 수 있다. 장치의 가용성이 변함에 따라, 장치는 개인용 클라우드에 의해 사용되도록 구성되는 것이 필요할 수 있다.
사용자는 임의의 적절한 접근법을 이용하여 개인용 클라우드를 정의할 수 있다. 일부 실시예들에서, 사용자는 사용자가 소유하는 하나 이상의 장치를 사서에게 식별시킬 수 있다. 사용자는 사용자가 신뢰하는 다른 사용자들도 식별시킬 수 있으며, 이들의 장치들은 사용자에 의해 사용되는 개인용 클라우드에 포함될 수 있다. 사용자가 개인용 클라우드에 대한 액세스를 필요로 할 때, 사용자는 사서에게 요청을 제공할 수 있다. 요청은 예를 들어 클라우드 크기, 하나 이상의 특정한 신뢰되는 사용자 또는 다른 기준들을 포함할 수 있다. 요청의 수신에 응답하여, 사서는 사용자 또는 신뢰되는 다른 사용자들이 소유하는 하나 이상의 장치를 식별할 수 있으며, 이들 장치는 개인용 클라우드를 위해 사용 가능한 자원들을 갖는다. 사서는 식별된 장치들의 일부 또는 전부를 배치하기 위한 정보를 제공할 수 있으며, 식별된 장치들 각각의 자원들로부터 구성되는 네트워크 저장 시스템(예를 들어, 개인용 클라우드)을 형성하기 위해 식별된 장치들로 하여금 그들 자신 간에 통신하는 것을 가능하게 할 수 있다.
사용자가 개인용 클라우드를 사용할 때, 상이한 장치들의 자원들이 사용될 수 있다. 소정 시점에서, 개인용 클라우드는 새로운 데이터를 저장하기 위한 또는 사용자에게 서비스를 제공하기 위한 남은 자원을 갖지 못할 수 있다. 이어서, 사용자는 개인용 클라우드에 대해 새로운 장치를 추가하거나(예를 들어, 새로운 외부 하드 드라이브를 구매하거나), 접속된 장치로부터 추가 자원들을 할당하도록 요구될 수 있다. 다른 예로서, 사용자가 소유하는 장치가 턴오프되거나 네트워크 접속으로부터 분리되고, 나중에 다시 턴온 또는 재접속될 수 있다. 이러한 장치들이 다시 사용 가능해지거나 개인용 네트워크에 대해 최초로 사용 가능하게 될 때, 장치들은 개인용 클라우드에 의해 사용 가능하도록 구성 또는 재구성되는 것이 필요할 수 있다.
각각의 새로운 장치는 특정 사용자(예를 들어, 장치 소유자)에 의해 소유될 수 있다. 예를 들어, 각각의 장치는 장치 상에서 동작하거나 장치에 액세스하는 애플리케이션을 포함할 수 있으며, 애플리케이션은 특정 사용자에 의해 제어된다. 새로운 장치는 네트워크에 대한 접속시에 그 자신을 사서에게 식별시키고, 장치의 특정 사용자 또는 소유자를 식별시킬 수 있다. 식별의 수신에 응답하여, 사서는 적절한 개인용 클라우드(예를 들어, 특정 사용자를 위한 로컬 클라우드 또는 특정 사용자를 신뢰하는 사용자를 위한 사설 클라우드)를 형성하는 다른 장치들을 식별할 수 있다. 이어서, 새로운 장치는 다른 장치들과 통신하여 그의 가용성(예를 들어, 클라우드에 대해 사용 가능하게 되는 장치 상의 공간의 양)을 지시하고, 그의 자원들을 다른 장치들을 포함하는 개인용 클라우드에 제공할 수 있다. 일부 예들에서는, 개인용 클라우드의 다른 장치들 중 하나 이상이 대신에 또는 추가로 사서로부터 개인용 클라우드를 위해 사용 가능한 장치들의 리스트를 요청할 수 있다. 요청의 수신에 응답하여, 사서는 (이전에 그 자신을 사서에게 식별시켰고, 따라서 사서에게 알려진) 새로운 장치를 포함하는 장치들의 리스트를 제공할 수 있다.
개인용 클라우드의 부분을 형성하는 각각의 장치는 상이한 목적을 갖거나, 상이한 서비스들을 개인용 클라우드에 제공할 수 있다. 예를 들어, 일부 장치들은 처리 자원들을 제공할 수 있고, 다른 장치들은 데이터 저장 자원들을 제공할 수 있다. 다른 예로서, 장치들은 데이터를 저장하기 위한 서비스들, 운영 카탈로그들, 또는 사용자가 개인용 클라우드와 결함 없이 상호작용할 수 있는 것을 보증하는 다른 동작들을 제공할 수 있다. 장치가 개인용 클라우드에 추가될 때, 새로운 장치 상에서 동작할 하나 이상의 서비스가 선택될 수 있다. 예를 들어, 데이터 서비스 또는 카탈로그 서비스(예를 들어, 데이터 서비스를 관리하거나 조정하는 데이터 분배 및 관리 서비스)가 새로운 장치 상에서 구현될 수 있다. 새로운 장치의 특정 서비스 또는 사용은 임의의 적절한 접근법을 이용하여 선택될 수 있다. 예컨대, 클라우드를 형성하는 상이한 장치들은 필요한 서비스들 모두가 이용 가능해지는 것을 보증하도록 조정할 수 있다. 다른 예로서, 장치들은 백업 및 중복성이 확보되는 것을 보증하기 위해 서로 조정할 수 있다. 일부 예들에서, 카탈로그 서비스는 새로운 장치에 특정 서비스를 할당할 수 있다.
각각의 장치에 의해 제공되는 특정 서비스 또는 동작은 동적으로 변할 수 있다. 예를 들어, 하나 이상의 장치가 네트워크로부터 제거되고, 그들의 서비스들이 다른 장치들로 이전될 수 있다. 사용자의 경험이 결함 없이 유지되는 것을 보증하기 위하여, 상이한 장치들에 의해 제공되는 서비스들은 중복 저장되고, 여러 장치에 걸쳐 동기화될 수 있다(예를 들어, 서비스에 의해 사용되는 백업 메타데이터). 서비스들 중 일부는 상이한 장치들 상에서 동작하는 동일 서비스들 간의 충돌을 피하기 위하여 이용 가능한 장치들에 의해 제공되는 서비스들에 기초하여 디스에이블(disable)될 수 있다. 디스에이블된 장치들은 이들이 활성화될 필요가 있는 경우에 이들이 정확하고 통용중인 것을 보증하기 위해(예를 들어, 카탈로그 서비스가 개인용 클라우드에 저장된 데이터와 더불어 사용자들의 가장 최근의 상호작용들을 포함하는 것을 보증하기 위해) 활성 서비스를 쉐도우잉(shadowing)할 수 있다. 활성 서비스를 갖는 장치가 개인용 클라우드로부터 제거될 때, 동일 서비스를 운영하지만 비활성적으로 운영하는 다른 장치가 활성화될 수 있다. 대안으로서, 서비스는 제거되는 장치를 분리하기 전에 클라우드 내의 (활성 서비스를 쉐도우잉하거나 하지 않을 수 있는) 다른 장치로 동적으로 이전될 수 있다.
일부 예들에서, 개인용 클라우드는 다른 기준들에 기초하여 장치들 내의 서비스들의 분배를 동적으로 조정할 수 있다. 예를 들어, 개인용 클라우드는 최종 사용자 요구에 대한 지리적 위치, 장치 장애, 백업 또는 복제 사정, 에너지 절약, 성장 또는 장치 용량, 장치 자원들의 예상 가용성 또는 이들의 조합들에 기초하여 장치에 특정 서비스를 할당하기로 결정할 수 있다. 이러한 접근법은 개인용 클라우드가 결함 없이 그리고 중단 없이 데이터 및 서비스들을 이동시키면서 개인용 클라우드 서비스들의 가용성을 유지하고 개별 사용자들로 하여금 개인용 클라우드로부터 장치 자원들을 임의로 제거하게 할 수 있다.
본 발명의 상기 및 다른 특징들, 그의 특성 및 다양한 장점들은 첨부 도면들과 연계하여 이루어지는 아래의 상세한 설명을 고찰할 때 더 명백할 것이며, 도면들에서:
도 1은 본 발명의 일 실시예에 따른 네트워크 저장 시스템에서 사용하기 위한 예시적인 전자 장치의 개략도이고;
도 2는 본 발명의 일 실시예에 따른 예시적인 네트워크 저장 시스템의 개략도이고;
도 3은 본 발명의 일 실시예에 따른, 신뢰되는 장치들 및 이용 가능한 장치 자원들에 관한 정보를 사서에게 제공하기 위한 인터페이스의 개략적인 디스플레이이고;
도 4는 본 발명의 일 실시예에 따른, 새로운 자원들을 개인용 클라우드에 추가하도록 사용자에게 지시하기 위한 예시적인 디스플레이의 개략도이고;
도 5는 본 발명의 일 실시예에 따른, 사서와 접촉하는 새로운 장치에 어드레싱 정보를 제공하기 위한 예시적인 프로세스의 흐름도이고;
도 6은 본 발명의 일 실시예에 따른, 개인용 클라우드에 추가된 장치를 구성하기 위한 예시적인 프로세스의 흐름도이고;
도 7a는 본 발명의 일 실시예에 따른, 노드를 제거할 수 있는 예시적인 개인용 클라우드의 개략도이고;
도 7b는 본 발명의 일 실시예에 따른, 노드의 제거를 가능하게 하기 위해 노드 동작 및 서비스를 이동시키는 예시적인 개인용 클라우드의 개략도이고;
도 8은 본 발명의 일 실시예에 따른, 개인용 클라우드의 노드들 사이에서 서비스들을 결함 없이 이동시키기 위한 예시적인 프로세스의 흐름도이다.
도 1은 본 발명의 일 실시예에 따른 네트워크 저장 시스템에서 사용하기 위한 예시적인 전자 장치의 개략도이고;
도 2는 본 발명의 일 실시예에 따른 예시적인 네트워크 저장 시스템의 개략도이고;
도 3은 본 발명의 일 실시예에 따른, 신뢰되는 장치들 및 이용 가능한 장치 자원들에 관한 정보를 사서에게 제공하기 위한 인터페이스의 개략적인 디스플레이이고;
도 4는 본 발명의 일 실시예에 따른, 새로운 자원들을 개인용 클라우드에 추가하도록 사용자에게 지시하기 위한 예시적인 디스플레이의 개략도이고;
도 5는 본 발명의 일 실시예에 따른, 사서와 접촉하는 새로운 장치에 어드레싱 정보를 제공하기 위한 예시적인 프로세스의 흐름도이고;
도 6은 본 발명의 일 실시예에 따른, 개인용 클라우드에 추가된 장치를 구성하기 위한 예시적인 프로세스의 흐름도이고;
도 7a는 본 발명의 일 실시예에 따른, 노드를 제거할 수 있는 예시적인 개인용 클라우드의 개략도이고;
도 7b는 본 발명의 일 실시예에 따른, 노드의 제거를 가능하게 하기 위해 노드 동작 및 서비스를 이동시키는 예시적인 개인용 클라우드의 개략도이고;
도 8은 본 발명의 일 실시예에 따른, 개인용 클라우드의 노드들 사이에서 서비스들을 결함 없이 이동시키기 위한 예시적인 프로세스의 흐름도이다.
본 발명은 개인용 네트워크 저장 시스템에 추가된 장치들을 구성하는 것에 관한 것이다. 게다가, 본 발명은 관리자를 필요로 하지 않고 개인용 네트워크 저장 시스템에서 데이터 및 서비스들의 분배 및 이동을 관리하는 것에 관한 것이다.
도 1은 본 발명의 일 실시예에 따른 네트워크 저장 시스템에서 사용하기 위한 예시적인 전자 장치의 개략도이다. 전자 장치(100)는 네트워크 저장 시스템에 접속하도록 또는 네트워크 저장 시스템의 일부로서 사용되도록 동작하는 임의의 적절한 타입의 전자 장치를 포함한다. 예를 들어, 전자 장치(100)는 캘리포니아 쿠퍼티노의 애플사로부터 입수 가능한 iPod®과 같은 미디어 플레이어, 셀룰러 전화, 개인용 이메일 또는 메시징 장치, 애플사로부터 입수 가능한 iPhone®, 포켓 사이즈 개인용 컴퓨터, 개인용 휴대 단말기(PDA), 랩탑 컴퓨터, 음악 레코더, 비디오 레코더, 게임 장치, 카메라, 저장 장치, 및 개인용 클라우드에 할당될 수 있는 자원들을 갖는 임의의 다른 전자 장치를 포함할 수 있다.
전자 장치(100)는 전자 장치에서 통상적으로 발견되는 바와 같은 프로세서 또는 제어 회로(102), 저장 장치(104), 메모리(106), 입출력 회로(108) 및 통신 회로(110)를 포함할 수 있다. 전자 장치 컴포넌트들은 전자 장치로부터 예상되는 임의의 사용을 가능하게 하도록(예를 들어, 개인용 네트워크 저장 시스템에 접속하거나 개인용 네트워크 저장 시스템에 자원들을 제공하도록) 동작할 수 있다. 일부 실시예들에서, 전자 장치 컴포넌트들(100) 중 하나 이상은 결합 또는 생략될 수 있다(예를 들어, 저장 장치(104)와 메모리(106)를 함께 결합하거나 이들 중 하나가 생략될 수 있다). 전자 장치(100)는 도 1에 도시된 것들에 결합되거나 포함되지 않은 다른 컴포넌트들(예를 들어, 센서 어레이 또는 위치 결정 회로)을 포함할 수 있거나, 전자 장치(100)는 도 1에 도시된 컴포넌트들의 여러 인스턴스(instance)를 포함할 수 있다. 간소화를 위해, 도 1에는 각각의 컴포넌트 중 하나만이 도시된다.
제어 회로(102)는 전자 장치(100)의 동작들 및 성능을 제어하도록 동작하는 임의의 처리 회로 또는 프로세서를 포함할 수 있다. 저장 장치(104)는 예를 들어 하드 드라이브, 반도체 드라이브, 플래시 메모리, ROM과 같은 영구 메모리, 임의의 다른 적절한 타입의 저장 컴포넌트 또는 이들의 임의 조합을 포함하는 하나 이상의 저장 매체를 포함할 수 있다. 메모리(106)는 캐시 메모리, RAM과 같은 반영구 메모리 및/또는 데이터를 임시 저장하는 데 사용되는 하나 이상의 상이한 타입의 메모리를 포함할 수 있다. 일부 실시예들에서, 메모리(106)와 저장 장치(104)는 단일 저장 매체로서 결합될 수 있다.
입출력 인터페이스(108)는 아날로그 신호들 및 다른 신호들을 디지털 데이터로 변환할 수 있다(그리고 필요한 경우에 인코딩/디코딩할 수 있다). 예를 들어, 입출력 인터페이스(108)는 (예를 들어, 멀티터치 스크린 또는 버튼 누름으로부터) 물리 접촉 입력들, (예를 들어, 마우스 또는 센서로부터) 물리적 움직임들, (예를 들어, 마이크로부터) 아날로그 오디오 신호들 또는 사용자에 의해 제공되는 임의의 다른 입력을 수신하고 변환할 수 있다. 입출력 인터페이스(108)는 도 1에 전자 장치(100)의 단일 컴포넌트로서 도시되지만, 입출력 인터페이스(108)의 여러 인스턴스가 전자 장치(100)에 포함될 수 있다.
전자 장치(100)는 사용자가 입출력 인터페이스(108)에 입력들을 제공하는 것을 가능하게 하기 위한 임의의 적절한 메커니즘, 회로 또는 컴포넌트를 포함할 수 있다. 예를 들어, 전자 장치(100)는 버튼, 키패드, 다이얼, 클릭 휠 또는 터치 인터페이스(예를 들어, 용량성 터치 스크린) 또는 이들의 조합을 포함할 수 있다. 일부 실시예들에서, 입출력 인터페이스(108)는 대신에 또는 추가로 음성 입력들 또는 다른 오디오 입력들을 검출 및 처리하기 위한 회로, 소프트웨어, 펌웨어 또는 다른 컴포넌트들을 포함할 수 있다. 일부 예들에서, 입출력 인터페이스(108)는 장치의 제스처들로부터 수신된 입력들(예를 들어, 흔들림, 트위스팅 또는 회전과 같은 장치의 움직임들로부터 검출된 입력들)을 검출 및 처리하도록 동작할 수 있다.
전자 장치(100)는 예를 들어 하나 이상의 오디오 또는 비주얼 출력과 같은 출력 신호들과 관련된 특수 출력 인터페이스들을 포함할 수 있다. 오디오 출력은 전자 장치(100) 내에 형성된 하나 이상의 스피커(예를 들어, 모노 또는 스테레오 스피커) 또는 전자 장치(100)에 원격적으로 결합된 오디오 컴포넌트(예를 들어, 통신 장치에 유선 또는 무선으로 결합될 수 있는 헤드셋, 헤드폰 또는 이어버드(earbud))를 포함할 수 있다. 비주얼 출력은 사용자가 볼 수 있는 디스플레이를 제공하기 위한 디스플레이 회로(예를 들어, 스크린 또는 프로젝션 시스템)를 포함할 수 있다. 예를 들어, 디스플레이 회로는 전자 장치(100)에 통합되는 스크린(예를 들어, LCD 스크린), 이동 가능한 디스플레이 또는 전자 장치(100)로부터 먼 표면 상에 콘텐츠의 디스플레이를 제공하기 위한 프로젝팅 시스템(예를 들어, 비디오 프로젝터) 또는 이들의 조합들을 포함할 수 있다. 일부 실시예들에서, 입출력 인터페이스(108)는 예를 들어 비디오 코덱, 오디오 코덱 또는 임의의 다른 적절한 타입의 코덱과 같이 디지털 미디어 데이터를 아날로그 신호들로 변환하기 위한 코더/디코더(코덱)를 포함할 수 있다.
통신 회로(110)는 임의의 적절한 통신 프로토콜을 이용하여 다른 장치들과 또는 하나 이상의 서버와 통신하도록 동작할 수 있다. 전자 장치(100)는 상이한 통신 네트워크들을 이용하여 여러 통신 동작을 동시에 수행하기 위한 통신 회로의 하나 이상의 인스턴스를 포함할 수 있다. 예를 들어, 통신 회로는 Wi-Fi(예를 들어, 802.11 프로토콜), 이더넷, 블루투스(상표)(Bluetooth Sig Inc.에 의해 소유된 상표), 라디오 주파수 시스템, 셀룰러 네트워크(예를 들어, GSM, AMPS, GPRS, CDMA, EV-DO, EDGE, 1GSM, DECT, IS-136/TDMA, iDen, LET 또는 임의의 다른 적절한 셀룰러 네트워크 또는 프로토콜), 적외선, TCP/IP(예를 들어, TCP/IP 계층들 각각에서 사용되는 임의의 프로토콜), HTTP, FTP, RTP, RTSP, SSH, VoIP(Voice over IP), 임의의 다른 통신 프로토콜 또는 이들의 임의 조합을 지원할 수 있다. 일부 실시예들에서, 통신 회로(110)는 전자 장치(100)와 호스트 장치 사이에 유선 통신 링크를 제공하도록 동작하는 하나 이상의 통신 포트를 포함할 수 있다. 예를 들어, 휴대용 전자 장치는 휴대용 전자 장치를 호스트 컴퓨터에 결합하는 케이블을 수용하도록 동작하는 하나 이상의 커넥터(예를 들어, 10 핀 커넥터 또는 USB 커넥터)를 포함할 수 있다. 휴대용 전자 장치는 호스트 컴퓨터 상의 소프트웨어(예를 들어, 애플사로부터 입수 가능한 iTunes)를 이용하여 호스트 컴퓨터와 통신할 수 있다.
일부 실시예들에서, 전자 장치(100)는 제한된 인터페이스를 갖는 장치를 포함할 수 있다. 예를 들어, 전자 장치(100)는 네트워크 저장 시스템용 저장 노드로서 서비스할 수 있다. 특히, 전자 장치(100)는 저장 능력, 및 전자 장치를 통신 네트워크에 접속하기 위한 통신 회로를 갖는 장치로 제한될 수 있다. 장치는 통합 입력 인터페이스를 포함하지 않는 대신에, 다른 장치에 의해 (예를 들어, 유선 또는 무선 통신 경로를 통해) 원격적으로 액세스될 수 있다.
동일한 특징들 중 일부 또는 전부를 갖는 전자 장치들을 포함하는 여러 전자 장치가 서로 접속되어, 정보를 공유할 수 있는 서브네트워크를 형성할 수 있다. 특히, 사용자는 임의의 장치로부터 액세스될 수 있는 정보를 공유하거나 저장하도록 상호접속된 여러 장치를 소유할 수 있다. 도 2는 본 발명의 일 실시예에 따른 예시적인 네트워크 저장 시스템의 개략도이다. 시스템(200)은 제1 사용자(예를 들어, 제1 소유자)와 관련된 전자 장치들(212, 214, 216), 제2 사용자(예를 들어, 제2 소유자)와 관련된 장치들(222, 224, 226, 228), 및 제3 사용자(예를 들어, 제3 소유자)와 관련된 장치들(232, 234, 236)을 포함할 수 있다. 그러나, 시스템(200)은 임의의 적절한 수의 사용자와 관련된 임의의 적절한 수의 장치를 포함할 수 있다는 것을 이해할 것이다. 특정 사용자들과 관련된 장치들 각각은 대응하는 사용자 또는 소유자에 의해 소유된 개인용 서브네트워크에 접속될 수 있다. 예를 들어, 서브네트워크(210)는 제1 사용자와 관련된 장치들을 포함할 수 있고, 서브네트워크(220)는 제2 사용자와 관련된 장치들을 포함할 수 있으며, 서브네트워크(230)는 제3 사용자와 관련된 장치들을 포함할 수 있다. 서브네트워크들 각각은 정보가 서브네트워크 상의 장치들에 의해 공유되고 서브네트워크 밖의 다른 장치들로부터 액세스되지 않을 수 있도록 보호될 수 있다. 즉, 서브네트워크들은 동일 소유자에 의해 소유된 장치들로 제한될 수 있다.
일부 실시예들에서, 장치들 중 일부 또는 전부는 장치들 모두의 상호접속을 가능하게 하는 통신 네트워크에 접속될 수 있다. 예를 들어, 도 2에 도시된 장치들은 글로벌 통신 네트워크(202)(예를 들어, 인터넷)에 접속될 수 있다. 각각의 장치는 통신 네트워크에 직접(예를 들어, 통신 네트워크용 액세스 포인트에 접속된 통신 회로를 통해) 또는 중개 장치를 통해 접속할 수 있다(예를 들어, 통신 네트워크용 액세스 포인트를 갖는 장치에 접속함으로써 통신 네트워크에 접속할 수 있다). 개별 통신 네트워크들의 일부인 장치들은 통신 네트워크(202)를 이용하여 개별 네트워크들을 통해 통신할 수 있다.
일부 실시예들에서, 상이한 사용자들은 여러 개별 서브네트워크에 걸치는 통신 네트워크를 형성하기 위해 자원들을 공유하기로 결정할 수 있다. 예를 들어, 제1 사용자는 제2 사용자를 신뢰하기로 결정할 수 있고, 그 반대도 가능하다. 각각의 사용자는 공유 통신 네트워크에 대해 사용자의 장치들 중 일부를 할당할 수 있다. 예를 들어, 제1 및 제2 사용자들은 장치들(212, 222, 224, 226)을 함께 접속하여 통신 네트워크(240)를 형성할 수 있다. 장치들은 하나 이상의 인증 및 암호화 프로토콜을 이용하여 통신 네트워크(202)를 통해 통신할 수 있다. 장치들 또는 장치들의 특정 자원들을 로컬, 사설 또는 개인용 클라우드에 제공하는 사용자들 중 일부 또는 전부는 개인용 클라우드에 대한 상이한 레벨의 액세스를 가질 수 있다. 예를 들어, 제1 및 제2 사용자들은 그들의 장치들 둘 다를 갖는 클라우드를 정의할 수 있으며, 제1 및 제2 사용자들은 그에 대한 판독 및 기록 액세스를 갖는다. 대안으로서, 사용자들 중 하나는 양 사용자들로부터의 장치들을 포함하지만 개인용 네트워크에 장치들을 제공하는 제1 및 제2 사용자들 중 다른 하나에 판독 액세스 또는 기록 액세스를 제공하지 않는 클라우드를 정의할 수 있다.
임의의 적절한 수의 개인용 클라우드가 통신 네트워크에 접속된 장치들을 이용하여 구성될 수 있다. 예를 들어, 다른 사용자들을 신뢰하는 여러 사용자 각각은 개인용 클라우드를 생성할 수 있으며, 개인용 클라우드는 클라우드를 요청하는 사용자가 아닌 다른 사용자들에 의해 소유된 장치들을 포함한다. 일부 예들에서는, 하나의 장치가 여러 개인용 클라우드에 사용될 수 있으며, 상이한 자원들 또는 동일 자원의 상이한 부분들(예를 들어, 상이한 저장량들)이 클라우드들 각각에 대해 장치에 의해 사용 가능하게 된다.
개인용 네트워크 시스템 및 개인용 클라우드들의 형성 및 관리는 제어 시스템에 의해 적어도 부분적으로 또는 약식으로 관리 또는 운영될 수 있다. 예를 들어, 시스템은 네트워크(202)의 마스터 장치 상에서 동작하는 사서 서비스를 포함할 수 있다. 마스터 장치는 예를 들어 장치(100)(도 1)와 관련하여 설명된 하나 이상의 컴포넌트를 포함하는 임의의 적절한 특징 또는 컴포넌트를 포함할 수 있다. 일부 실시예들에서, 네트워크(202)는 사서 서비스가 동작하는 서버(204)를 포함할 수 있다. 서버(204)는 예를 들어 클라우드 서비스 제공자, 인터넷 서비스 제공자 또는 네트워크(202)를 통한 임의의 다른 서비스 제공자들을 포함하는 임의의 적절한 엔티티에 의해 제공될 수 있다. 일부 실시예들에서는, 하나 이상의 최종 사용자가 대신 또는 추가로 서버(204)를 제공할 수 있다. 사서 서비스는 임의의 적절한 수의 개인용 네트워크, 또는 개인용 네트워크들에 대해 이용 가능한 장치들을 식별하는 임의의 적절한 수의 소유자를 관리할 수 있다. 일부 예들에서, 사서 서비스는 상이한 사용자들에 의해 소유된 장치들 밖에 형성되고 임의의 적절한 수단에 의해 접속된 임의 수의 개인용 네트워크를 조정할 수 있다.
개인용 클라우드의 노드들은 개인용 클라우드 상에 데이터 저장을 포함하는 서비스들을 구성하고 운영하기 위해 그들 자신 간에 통신할 수 있지만, 상이한 노드들은 어드레싱 정보에 대한 기준으로서 서비스하는 앵커를 필요로 할 수 있다. 일부 실시예들에서, 사서 프로세스는 상이한 개인용 클라우드들의 노드들에 대한 위치 정보를 제공하기 위한 앵커로서 서비스할 수 있다(예를 들어, 개별 장치들이 통신 네트워크로부터 분리되거나 재접속될 때 노드 어드레스들이 변경될 수 있으므로, 사서는 상이한 노드들의 어드레스들을 안다). 예를 들어, 사서는 개인용 클라우드의 노드들에 대한 어드레싱 정보를 클라우드에 추가되는 새로운 장치에 처음 제공할 수 있다.
사용자가 개인용 클라우드 내의 장치들을 신뢰할 수 있는 것을 보증하기 위해, 개인용 클라우드들의 사용자들은 신뢰의 웹에 의존할 수 있다. 신뢰의 웹은 상이한 사용자들 간의 1 또는 2 방향 접속들의 시퀀스에 의해 정의될 수 있다. 제1 사용자가 제2 사용자를 신뢰하기로 결정할 때마다, 제1 사용자와 제2 사용자 사이에는 새로운 신뢰 접속이 형성될 수 있다. 제2 사용자가 제1 사용자를 신뢰할 때, 제2 사용자와 제1 사용자 사이에 새로운 신뢰 접속이 형성될 수 있거나, 제1 사용자와 제2 사용자 사이의 최초 접속이 양방향 신뢰를 지시하도록 변경될 수 있다. 서로 신뢰하는 많은 수의 사용자를 갖는 시스템에서, 결과적인 신뢰 접속들은 격자 또는 웹(예를 들어, 신뢰의 웹)을 형성할 수 있다. 신뢰의 웹은 사서에 의해 유지 및 보증될 수 있으며, 따라서 사서는 신뢰되는 소유자들의 식별을 요청하는 임의의 사용자 또는 장치에 신뢰 정보를 제공할 수 있다. 신뢰 정보는 예를 들어 특정 사용자에 의해 신뢰되는 다른 사용자들의 리스트들을 포함할 수 있다(예를 들어, 신뢰 정보는 특정 사용자에 대응하는 신뢰 관계들을 기술할 수 있다).
개인용 클라우드를 형성하기 위하여, 사용자는 먼저 사용자가 소유하는 하나 이상의 장치를 사서에게 식별시킬 수 있다. 예를 들어, 사용자는 사용자가 소유하는 장치들 상에 개인용 네트워크 클라이언트 애플리케이션을 설치할 수 있으며, 애플리케이션은 장치들에 대한 사용자를 식별할 수 있다. 다른 예로서, 사용자가 소유하는 것으로 알려진 장치들 중 하나 이상이 사용자의 개인용 네트워크에 접속된 다른 장치들을 식별하며(따라서, 사용자에 의해 또한 소유되는 것으로 가정되며), 이러한 장치들에 대한 식별 정보를 사서에게 제공할 수 있다.
사용자는 사용자의 장치들의 임의의 자원들을 개인용 네트워크에 제공하기로 결정할 수 있다. 예를 들어, 사용자는 저장, 처리 또는 다른 장치 자원들을 제공하기로 결정할 수 있다. 특히, 사용자는 특정 저장량 또는 특정 처리 레벨(예를 들어, RAM 또는 CPU의 40%)을 개인용 클라우드에 할당할 수 있다. 일부 예들에서, 사용자는 자원들의 가용성을 조절할 수 있다. 예를 들어, 사용자는 사용자의 장치 상의 프로세스가 자원들을 필요로 할 때 개인용 클라우드에 제공되는 자원들을 줄일 수 있다. 다른 예로서, 사용자는 시각에 기초하여 자원들을 제공할 수 있다. 또 다른 예로서, 사용자는 비용 사정에 기초하여 자원들을 제공할 수 있다(예를 들어, 자원들을 제공하는 전력 비용이 임계치보다 낮은 한, 자원들을 제공할 수 있다).
사서에게 제공할 장치들 및 장치들의 특정 자원들을 식별하는 것에 더하여, 사용자는 사용자에 의해 신뢰되는 장치들을 갖는 다른 사용자들을 식별할 수 있다. 특히, 사용자는 사용자가 알고 신뢰하는 친구들, 가족 구성원들, 동료들 또는 다른 사람들을 사용자의 데이터를 이용하여 식별할 수 있다. 사용자는 예를 들어 이메일 어드레스의 이용을 포함하는 임의의 적절한 접근법을 이용하여 다른 사용자들을 식별할 수 있다. 특히, 사용자는 여러 사용자에 대한 접촉 정보를 선택하고, 접촉 정보를 사서에게 제공할 수 있다.
각각의 사용자는 사용자가 개인용 클라우드들을 위해 사용할 수 있게 되기를 원하는 장치 자원들은 물론, 사서에게 신뢰되는 다른 사용자들 또는 소유자들도 임의의 적절한 접근법을 이용하여 식별할 수 있다. 일부 실시예들에서, 사용자의 장치는 장치 자원들을 식별하고 신뢰할 다른 사용자들을 선택하기 위한 인터페이스를 포함할 수 있다.
도 3은 본 발명의 일 실시예에 따른, 신뢰되는 장치들 및 이용 가능한 장치 자원들에 관한 정보를 사서에게 제공하기 위한 인터페이스의 개략적인 디스플레이이다. 디스플레이(300)는 디스플레이가 개인용 클라우드 셋업 페이지에 대응한다는 것을 지시하는 타이틀(302)을 포함할 수 있다. 특히, 디스플레이(300)는 개인용 클라우드를 위해 사용 가능한 장치들 및 자원들을 나타낸다. 디스플레이(300)는 사용자가 신뢰하고 사용자가 자원들을 함께 공유하기로 합의한 하나 이상의 특정한 다른 사용자를 식별하기 위한 인터페이스를 제공할 수 있다. 예를 들어, 디스플레이(300)는 사용자가 신뢰되는 다른 사용자들을 식별할 수 있는 필드(312)에 대응하는 식별 라벨(310)을 포함할 수 있다. 다른 사용자들은 예를 들어 사서에게 제공되거나 알려진 이메일 어드레스 또는 다른 식별 정보로부터의 식별을 포함하는 임의의 적절한 접근법을 이용하여 식별될 수 있다. 일부 실시예들에서, (예를 들어, 사서에 의해 알려진 바와 같은) 디스플레이(300)를 제공하는 장치의 사용자의 식별자가 예를 들어 타이틀(302) 근처에 표시될 수 있다.
일부 실시예들에서, 사용자는 (예를 들어, 디스플레이(300)를 이용하여) 사용자가 개인용 클라우드에 제공하려고 하는 특정 자원들(320)을 선택할 수 있다. 예를 들어, 사용자는 그와 관련된 개별 장치들을 필드(322) 내에 목록화할 수 있다. 일부 실시예들에서, 장치들 중 하나 이상은 사서에 의해 또는 디스플레이(300)를 제공하는 장치에 의해 자동으로 식별될 수 있다. 예를 들어, 사용자에 의해 사용되는 장치는 사용자의 장치들과 관련된 개인용 네트워크 내의 다른 장치들을 검출할 수 있다. 사용자는 하이라이트 영역(324)을 이용하여 특정 장치를 선택하고, 개인용 클라우드에 대해 사용 가능하게 하기 위해 선택된 특정 장치에 대한 장치 자원들을 박스(326) 내에 제공할 수 있다. 사용자는 예를 들어 저장(예를 들어, 퍼센트 또는 수치적인 양), 처리 자원들(예를 들어, 클럭 사이클들의 퍼센트) 또는 이들의 조합들을 포함하는 임의의 적절한 자원을 선택할 수 있다. 일부 실시예들에서, 사용자는 시간 제한, 사용자에 의해 사용되거나 요구되는 자원들에 기초하는 제한, 접속 속도, 자원 비용 또는 이들의 조합들과 같은 공유 자원들에 대한 하나 이상의 제한을 정의할 수 있다. 사용자가 하나 이상의 신뢰되는 사용자들 및 할당되는 장치 자원들을 지정하면, 사용자는 정보를 사서에게 전송하기 위한 명령을 제공할 수 있다(예를 들어, 제출 옵션(330)을 선택할 수 있다).
사용자는 임의의 적절한 접근법을 이용하여 개인용 네트워크 저장 시스템(예를 들어, 로컬, 개인용 또는 사설 클라우드)을 형성할 수 있다. 일부 실시예들에서, 사용자는 개인용 클라우드를 위한 요청을 사서에게 제공할 수 있다. 사용자 요청은 예를 들어 저장 요구(예를 들어, 적어도 1 TB)를 포함하는 임의의 적절한 기준 또는 요구를 포함할 수 있다. 요청의 수신에 응답하여, 사서는 요청의 기준들을 충족시키는 자원들을 갖는 장치들의 집합을 식별할 수 있으며, 장치들은 사용자가 소유하는 장치들로부터 또는 사용자가 신뢰하는 다른 사용자들이 소유하는 장치들로부터 선택된다.
사서는 임의의 기준들을 이용하여 개인용 클라우드에서 사용할 특정 장치들을 식별할 수 있다. 예컨대, 사서는 자원 요구들을 충족시키는 장치들을 식별할 수 있다. 다른 예로서, 사서는 지리적으로 사용자의 근처에 위치하는 장치들을 식별할 수 있다. 또 다른 예로서, 사서는 장치들의 역사적인 또는 예상되는 가용성 및 통신 네트워크에 대한 접속성(예를 들어, 장치의 접속 속도)에 기초하여 장치들을 선택할 수 있다. 사서가 개인용 클라우드에서 사용할 특정 장치들을 식별하면, 사서는 그러한 장치들에 대한 어드레싱 또는 식별 정보를 요청 사용자 또는 요청 장치에 제공할 수 있다. 이어서, 요청 장치는 식별된 다른 장치들과 접촉하고, 다른 장치들과 어울리도록 개인용 클라우드를 구성할 수 있다.
개인용 클라우드에서 사용되는 각각의 장치는 임의의 적절한 접근법을 이용하여 클라우드에서 사용되도록 구성될 수 있다. 일부 실시예들에서는, 사서가 장치들을 구성할 수 있다. 대안으로서 그리고 사서의 부담을 줄이고 각각의 개인용 클라우드를 더 효율적으로 관리하기 위해, 개인용 클라우드의 장치들은 통신하고, 서비스들(및 서비스들에 의해 관리 또는 사용되는 데이터)을 적절한 방식으로 분배할 수 있다. 적절히 동작하기 위해, 여러 상이한 서비스가 개인용 클라우드 내의 장치들에 의해 제공되는 것이 필요할 수 있다. 예를 들어, 저장된 데이터에 대응하는 카드들을 제공하기 위해 카탈로그 서비스가 제공될 수 있으며, 따라서 사용자들은 실제의 기초 데이터 대신에 카드들과 상호작용할 수 있다. 다른 예로서, 개인용 클라우드에 데이터를 저장하고 관리하기 위해 데이터 서비스가 사용될 수 있다. 데이터 서비스는, 데이터가 상이한 장치들에 저장 및 분배되고, 적절히 백업되고, 대응하는 요청시에 이용 가능해지는 것을 보증할 수 있다. 또 다른 예로서, 데이터가 손실되지 않고, 장치들이 개인용 클라우드를 위해 동작 가능하게 유지되는 것을 보증하기 위해 수리 또는 치료 서비스가 제공될 수 있다. 어느 서비스들이 상이한 노드들에 저장되어야 하는지를 결정하는 것에 더하여, 장치들은 서비스들에 의해 사용되는 또는 사용자에 의해 저장되는 데이터를 어디에 저장할지를 결정하도록 데이터 서비스의 명령하에 조정하는 것이 필요할 수 있다. 특히, 상이한 데이터가 개인용 클라우드의 상이한 노드들에 걸쳐 분배될 수 있다.
임의의 적절한 접근법을 이용하여 서비스들 및 데이터를 개인용 클라우드의 장치들 사이에 분배할 수 있다. 일부 실시예들에서, 개인용 클라우드를 형성하기 위해 사서에게 최초 요청을 제공하는 장치는 클라우드를 형성하는 다른 장치들과의 통신 경로들을 형성하고, 특정 작업들 또는 서비스들을 각각의 장치에 할당할 수 있다. 대안으로서, 장치들은 작업들 또는 서비스들에 대한 각각의 장치의 가용 자원들 및 적합성에 기초하여 작업들을 고려하고 분배할 수 있다. 또 다른 예로서, 클라우드의 하나의 장치는 개인용 클라우드의 특정 장치들에 적절한 서비스들(및 이들 각각의 데이터 또는 메타데이터)이 할당되는 것을 보증하기 위해 조정 서비스를 구현할 수 있다.
사용자가 클라우드를 사용할 때, 사용자는 클라우드를 형성하는 개별 장치들의 가용 자원들을 사용할 수 있다. 예를 들어, 사용자는 클라우드의 장치들에 의해 할당된 저장 자원들을 채우기에 충분한 데이터를 저장할 수 있다. 다른 예로서, 개인용 클라우드 상에서 동작하는 카탈로그 서비스 또는 기타 서비스에 의해 요청된 처리 동작들은 클라우드 장치들의 가용 처리 자원들을 취할 수 있다. 개인용 클라우드의 하나 이상의 장치(예를 들어, 조정 서비스를 제공하는 장치, 또는 가용 저장 자원이 남지 않은 장치)는 추가 자원이 이용 가능하지 않은 것으로 결정한 때, 대응하는 자원 요청을 사서에게 제공할 수 있다. 이어서, 개인용 클라우드는 (예를 들어, 추가 자원을 요구하는) "호출" 개인용 클라우드인 것으로 간주될 수 있다. 일부 실시예들에서, 사서는 대신에 또는 추가로 개인용 클라우드들의 상이한 장치들의 자원 사용을 모니터링할 수 있으며, 추가 자원에 대한 요청을 제공하도록 개별 장치들에 요구하지 않고도 언제 자원이 부족해지는지를 검출할 수 있다.
추가 자원이 필요하다는 결정에 응답하여, 또는 추가 자원에 대한 요청의 수신에 응답하여, 사서는 개인용 클라우드를 위해 사용될 수 있는, 사용자에 의해 또는 신뢰되는 사용자들에 의해 소유되는 다른 장치들을 식별할 수 있다. 대안으로서, 사서는 사용자에 의해 사용되는 장치에 지시하여 사용자로 하여금 호출 개인용 클라우드에 새로운 장치들 또는 자원들을 추가하게 할 수 있다. 도 4는 본 발명의 일 실시예에 따른, 새로운 자원들을 개인용 클라우드에 추가하도록 사용자에게 지시하기 위한 예시적인 디스플레이의 개략도이다. 디스플레이(400)는 사용자에게 제공되는 독립형 디스플레이, 팝업 윈도, 또는 임의의 다른 타입의 디스플레이 또는 인터페이스로서 제공될 수 있다. 디스플레이(400)는 클라우드의 제어에 대응하는 타이틀(402)을 포함할 수 있다. 디스플레이(400)는 클라우드를 계속 사용하기 위해 호출 개인용 클라우드를 위한 새로운 자원들을 추가하거나 클라우드 상에 현재 저장된 데이터를 제거하도록 사용자에게 지시하는 메시지(410)를 포함할 수 있다. 사용자가 메시지(410)에 응답하는 것을 가능하게 하기 위해, 디스플레이(400)는 사용자에 의해 소유된 기존 장치들을 식별하거나, 가용 자원들을 갖는, 사용자에 의해 소유된 새로운 장치를 식별하기 위한 옵션들(420)을 포함할 수 있다. 특히, 옵션들(420)은 하이라이트 영역(424)에 의해 선택될 수 있는 장치들(422)을 포함할 수 있다. 특정 장치의 선택의 수신에 응답하여, 옵션들(420)은 사용자가 개인용 클라우드에 제공할 수 있는 장치의 자원들(426)을 포함할 수 있다. 디스플레이(400)의 예에서, 제공되는 자원들은 저장 공간(예를 들어, USB 하드 드라이브로부터의 1 TB)을 포함할 수 있다.
일부 실시예들에서, 장치 또는 사서는 호출 클라우드에 추가할 특정 장치들 또는 호출 클라우드에 추가할 장치들의 특정 자원들을 추천할 수 있다. 예를 들어, 장치 또는 사서는 옵션들(420)에 특정 장치 또는 자원을 자동으로 추가할 수 있다. 특정 장치 또는 자원은 예를 들어 사용자가 소유하는 장치들의 자원들의 사용을 모니터링하거나, 가용 자원들의 다른 장치들로부터의 지시를 수신하거나, 개인용 네트워크 상에서(예를 들어, 서브네트 내에서) 사용자에 의해 소유되는 새로운 장치들을 식별하거나, 이들의 조합들을 포함하는 임의의 적절한 기준들에 기초하여 선택될 수 있다. 개인용 클라우드를 위한 새로운 장치 또는 자원들이 선택되면, 사용자는 승인 명령을 제공할 수 있다(예를 들어, 제출 옵션(440)을 선택할 수 있다).
일부 실시예들에서, 사용자는 개인용 네트워크에 새로운 장치를 추가하는 것이 필요하지 않을 수 있다. 대신에, 사용자는 단지 이전의 이용 가능한 장치를 재접속하거나, 제거된 장치 자원들을 호출 클라우드에 재할당하는 것으로 충분할 수 있다. 그러한 경우에, 사용자는 장치를 재접속하거나 자원들을 재할당하여, 장치 및 자원들이 디스플레이(400)의 옵션(420)에 나타나게 할 수 있다. 대안으로서, 장치 또는 자원들이 다시 이용 가능해질 때, 개인용 클라우드는 장치 또는 자원들을 검출하고, 추가 자원이 더 이상 필요하지 않은 것으로 결정할 수 있다. 이어서, 호출 클라우드는 디스플레이를 자동으로 제거하도록 디스플레이(400)를 제공하는 장치에 지시할 수 있다(그리고 추가 자원이 더 이상 필요하지 않다는 것을 사서 서비스에 알릴 수 있다).
개인용 클라우드를 위한 새로운 장치들이 식별될 때, 새로운 장치들은 이용될 수 있기 전에 구성되는 것이 필요할 수 있다. 유사하게, 이전에 접속된 장치들은 클라우드에 의해 사용될 수 있기 전에 재구성되는 것이 필요할 수 있는데, 그 이유는 이들의 이전의 기능(예를 들어, 이전에 저장된 데이터 및 서비스들)이 더 이상 클라우드에 적합하거나 유용하지 않을 수 있기 때문이다. 게다가, 개인용 클라우드 내의 상이한 장치들 또는 노드들과 접촉하기 위해 이전에 사용된 어드레싱 정보는 다를 수 있는데, 그 이유는 장치들이 네트워크부터 분리되고 재접속되었을 수 있기 때문이다. 개인용 클라우드에 접속하는(예를 들어, 최초로 접속하거나 재접속하는) 장치는 임의의 적절한 접근법을 이용하여 개인용 클라우드의 노드들에 대한 어드레싱 정보를 검색할 수 있다. 일부 실시예들에서, 장치는 사서로부터 어드레싱 정보를 검색할 수 있다.
개인용 클라우드의 상이한 장치들은 분리 및 재접속될 때 통신 네트워크에서 어드레스들을 변경할 수 있으므로, 사서는 각각의 장치와 어떻게 접촉하는지를 아는 앵커를 제공하는 것이 필요할 수 있다. 특히, 장치가 통신 네트워크에 재접속할 때마다, 장치는 그 자신 및 그의 어드레스를 사서에게 식별시킬 수 있고, 동일 사용자에 의해 요청된 클라우드에서 사용되는 또는 다른 신뢰되는 사용자들에 의해 요청된 개인용 클라우드에서 사용되는 다른 장치들에 대한 어드레싱 정보를 요청할 수 있다. 일부 예들에서, 장치는 대신에 또는 추가로 장치의 셋업 동작으로부터 알려질 수 있는 그의 소유자를 식별할 수 있다. 사서는 어드레싱 조회에 응답하기 위해 모든 접속된 장치들 및 이들의 어드레스들의 현행 명부를 유지할 수 있다.
사서는 임의의 적절한 접근법을 이용하여 새로운 장치의 소유자에 의해 신뢰되는 특정 사용자들을 식별할 수 있다. 일부 실시예들에서, 새로운 장치는 개인용 클라우드에 접속하는 데 사용되는 애플리케이션의 최초 설치 또는 진행 동작의 일부로서 소유자에 의해 신뢰되는 다른 사용자들을 알 수 있다. 일부 예들에서, 장치는 소유자에 속하는 다른 장치들(예를 들어, 동일한 개인 영역 네트워크 상의 다른 장치들, 또는 동일한 식별 또는 허가 증명서들을 갖는 다른 장치들)로부터 신뢰되는 사용자들의 리스트를 수신할 수 있다. 이어서, 장치는 신뢰되는 사용자들의 리스트를 사서에게 제공할 수 있으며, 이어서 사서는 신뢰되는 사용자들에 의해 소유되는 장치들의 리스트를 검색하고, 이러한 장치들에 대한 어드레싱 정보를 제공할 수 있다. 일부 실시예들에서, 새로운 장치는 대신에 또는 추가로 새로운 장치의 소유자에 의해 신뢰되는 특정 사용자들을 알 수 없다. 대신에, 장치는 신뢰 관계를 저장 및 유지하는 신뢰의 웹을 제공하기 위해 사서에 의존할 수 있다. 특히, 사용자가 (예를 들어, 도 3에 도시된 바와 같은 디스플레이(300)를 이용하여 신뢰 명령을 제공함으로써) 다른 사용자를 신뢰하거나 다른 사용자의 신뢰를 중단하기로 결정할 때마다, 신뢰 정보를 수신하는 장치는 신뢰되는 사용자들의 개정된 리스트를 사서에게 제공할 수 있다. 사서는 수신된 리스트를 이용하여 그의 신뢰 정보의 모음을 갱신 및 개정할 수 있다. 이어서, 새로운 장치가 그 자신 및 그의 소유자를 사서에게 식별시킬 때, 사서는 장치의 소유자에 의해 신뢰되는 사용자들의 리스트를 검색하고, 신뢰되는 사용자들에 의해 소유되는 장치들에 대한 어드레싱 정보를 식별하고, 어드레싱 정보를 장치에 제공할 수 있다. 일부 실시예들에서, 사서는 대신에 또는 추가로 추가 자원의 필요시에 하나 이상의 특정 개인용 클라우드를 식별하고, 그러한 개인용 클라우드들의 장치들에 대한 어드레싱 정보를 제공할 수 있다.
도 5는 본 발명의 일 실시예에 따른, 사서와 접촉하는 새로운 장치에 어드레싱 정보를 제공하기 위한 예시적인 프로세스의 흐름도이다. 프로세스(500)는 단계 502에서 시작할 수 있다. 단계 504에서, 이전에 분리된 장치가 통신 네트워크에 접속될 수 있다. 예를 들어, 새로 추가된 장치가 통신 네트워크에 접속될 수 있다. 다른 예로서, 통신 네트워크에 접속되었으나 개인용 클라우드에서 결코 사용되지 않은 장치가 개인용 클라우드를 위해 사용 가능해질 수 있다. 또 다른 예로서, 이전에 통신 네트워크에 접속되고 개인용 클라우드에서 사용된 장치가 재접속될 수 있다. 장치가 통신 네트워크에 접속되면 사서와 접촉할 수 있다. 단계 506에서, 사서는 장치가 알려져 있는지를 결정할 수 있다. 예를 들어, 사서는 동일 소유자 및 동일 특성들을 갖는 장치가 이전에 사서와 접촉했는지를 결정할 수 있다. 다른 예로서, 사서는 동일 식별 정보(예를 들어, 일련 번호 또는 정적 어드레스)를 갖는 장치가 이전에 사서와 접촉했는지를 결정할 수 있다. 사서가 장치가 알려진 것으로 결정하는 경우, 프로세스(500)는 단계 508로 이동할 수 있다. 단계 508에서, 사서는 저장된 레코드들로부터 장치의 소유자를 검색할 수 있다. 이어서, 프로세스(500)는 후술하는 단계 512로 이동할 수 있다.
단계 506에서 사서가 장치가 사서에게 알려지지 않은 것으로 대신 결정하는 경우, 프로세스(500)는 단계 510으로 이동할 수 있다. 단계 510에서, 사서는 장치의 소유자를 식별할 수 있다. 예를 들어, 사서는 장치의 통신으로부터 소유권 정보를 검색할 수 있다. 일부 실시예들에서, 단계 506 및 508은 생략될 수 있으며, 프로세스(500)는 단계 504로부터 단계 510으로 자동 이동할 수 있다. 단계 512에서, 사서는 장치의 소유자에 의해 신뢰되는 사용자들의 리스트를 검색할 수 있다. 예를 들어, 사서는 소유자와 관련된 신뢰 정보의 웹을 검색하고, 소유자에 의해 신뢰되는 다른 사용자들을 식별할 수 있다. 단계 514에서, 사서는 소유자에 대해 생성된 개인용 클라우드들 또는 추가 자원을 요구하는 소유자에 의해 신뢰되는 사용자들에 대해 생성된 개인용 클라우드들을 식별할 수 있다. 예를 들어, 사서는 소유자와 관련된 특정 개인용 클라우드를 식별할 수 있으며, 이 개인용 클라우드는 추가 자원을 개인용 클라우드에 추가하도록 소유자에게 촉구하였다. 일부 실시예들에서, 사서는 대신에 추가 자원을 요구하는 특정 개인용 클라우드들을 식별할 수 없고, 단지 장치의 소유자와 관련된 개인용 클라우드에 포함되도록 장치에 지시할 수 있다. 단계 516에서, 사서는 식별된 개인용 클라우드에서 장치들의 어드레싱 정보를 검색할 수 있다. 특히, 사서는 사서에 체크인하는 장치들로부터 레코드들을 검색할 수 있으며, 체크인하는 장치들은 신뢰되는 사용자들과 또는 소유자와 관련된다. 장치들은 사서에 정기적으로 체크인할 수 있으며, 따라서 사서는 개인용 클라우드들에서 사용되는 장치들이 서로 통신할 수 있게 하는 맵핑 정보를 갱신할 수 있다. 단계 518에서, 사서는 검색된 어드레싱 정보를 장치에 제공할 수 있다. 장치는 어드레싱 정보를 이용하여 개인용 클라우드를 형성하는 장치들과 통신할 수 있고, 개인용 클라우드 내에 통합될 수 있다. 예를 들어, 전자 장치는 개인용 클라우드에 의해 사용되는 하나 이상의 서비스를 구현할 수 있다. 이어서, 프로세스(500)는 단계 520에서 종료할 수 있다.
새로 이용 가능한 장치가 개인용 클라우드의 특정 노드들에 대한 어드레싱 정보를 수신하면, 장치는 노드들과 통신하여 개인용 클라우드에 합류하고, 적절한 서비스(예를 들어, 카탈로그 서비스 또는 데이터 서비스)를 제공할 수 있다. 장치는 임의의 적절한 접근법을 이용하여 어느 서비스 또는 서비스들을 제공할지를 결정할 수 있다. 일부 실시예들에서, 장치는 조정 서비스를 제공하는 특정 노드를 식별하고, 조정 서비스로부터 명령을 요청할 수 있다. 장치로부터 지시를 수신하는 것에 응답하여, 조정 서비스는 개인용 클라우드의 기존 노드들에 의해 제공되는 서비스들 또는 동작들을 검토하고, (예를 들어, 식별된 기존 서비스들과 예상 서비스들의 리스트를 비교함으로써) 새로운 장치에 의해 어떤 서비스들이 구현될 필요가 있는지를 결정할 수 있다. 예를 들어, 조정 서비스는 개인용 클라우드의 적절한 동작에 필요한 서비스가 누락되었는지 또는 너무 적은 노드들에 의해 제공되는지(예를 들어, 조정 서비스가 서비스를 이용하는 최종 사용자에 지리적으로 더 가까이 위치하는 노드에 의해 제공되는 것이 필요한지)를 결정할 수 있다. 다른 예로서, 조정 서비스는 클라우드 상에 새로운 데이터를 저장하기 위해 데이터 저장이 필요한지(예를 들어, 데이터 서비스가 구현되어야 하는지)를 결정할 수 있다. 또 다른 예로서, 조정 서비스는 클라우드를 백업하고 결함 없는 클라우드 동작을 보증하기 위해 서비스가 쉐도우잉되어야 하는지를 결정할 수 있다. 결정에 기초하여, 조정 서비스는 특정 서비스를 동작시키도록(예를 들어, 특정 데이터를 저장하거나 다른 동작을 수행하도록) 새로운 장치에 지시할 수 있다. 장치는 예를 들어 사용자에 의해 장치 상에 로딩된 애플리케이션, 사서, 조정 서비스, 다른 장치들, 장치의 소프트웨어 이미지 내에 사전 설치된 템플릿들 또는 이들의 조합을 포함하는 임의의 적절한 소스로부터 서비스를 동작시키기 위한 명령들(예를 들어, 소프트웨어, 코드 또는 입력 값들)을 검색할 수 있다.
일부 실시예들에서, 개인용 클라우드에 새로 추가된 장치는 대신에 또는 추가로 개인용 클라우드의 상이한 노드들에 의해 제공되는 서비스들을 모니터링하고, 노드들 각각에 남은 자원들을 검토하고, 모니터링된 사용에 기초하여 특정 서비스 또는 데이터 저장 활동을 선택할 수 있다. 특히, 새로 추가된 장치는 잠재적인 문제들이 존재하는지를 결정할 수 있고, 따라서 서비스의 적절한 선택이 이루어질 수 있다. 예를 들어, 장치는 어떠한 장치도 특정 노드 상에서 동작하는 기존 서비스를 쉐도우잉하지 않는 것으로 결정할 수 있다. 다른 예로서, 장치는 개인용 클라우드의 기존 노드들이 사용자에 의해 제공되는 데이터를 저장하기에는 불충분한 저장 능력을 갖는 것으로 결정할 수 있다. 또 다른 예로서, 장치는 개인용 클라우드 노드들의 토폴로지 사이의 서비스들의 분배가 장치 상에서 하나 이상의 특정 서비스를 구현함으로써 개선될 수 있는 것으로 결정할 수 있다. 이어서, 장치는 선택된 서비스 또는 활동을 구현할 수 있다.
도 6은 본 발명의 일 실시예에 따른, 개인용 클라우드에 추가된 장치를 구성하기 위한 예시적인 프로세스의 흐름도이다. 프로세스(600)는 단계 602에서 시작할 수 있다. 단계 604에서, 장치가 개인용 클라우드의 적어도 하나의 노드와의 통신 경로를 형성할 수 있으며, 각각의 노드는 장치에 의해 형성된다. 예를 들어, 장치는 사서로부터 적어도 하나의 어드레스를 수신하고, 수신된 어드레스에 있는 장치와의 통신 경로를 형성할 수 있다. 단계 606에서, 장치는 통신 경로가 형성된 노드들 중 하나에서 조정 서비스가 발견되었는지를 결정할 수 있다. 예를 들어, 장치는 노드들 중 하나가 활성 조정 서비스를 동작시키고 있는지를 결정할 수 있다. 다른 예로서, 장치는 노드들 중 하나가 활성 조정 서비스를 쉐도우잉하고 있는지를 결정할 수 있다. 장치가 조정 서비스가 발견된 것으로 결정하는 경우, 프로세스(600)는 단계 608로 이동할 수 있다.
단계 608에서, 장치는 개인용 클라우드로부터 수행할 서비스 또는 동작을 정의하는 조정 서비스로부터의 명령을 수신할 수 있다. 예를 들어, 조정 서비스는 개인용 클라우드에 의해 불충분하게 제공되는 특정 서비스를 식별할 수 있다. 단계 610에서, 장치는 수신된 명령에서 식별된 서비스 또는 동작을 구현할 수 있다. 예를 들어, 장치는 국지적으로 저장된 애플리케이션으로부터, 조정 서비스로부터 또는 사서로부터 검색된 서비스를 구현할 수 있다. 이어서, 프로세스(600)는 단계 612에서 종료할 수 있다.
단계 606에서 장치가 어떠한 조정 서비스도 발견되지 않은 것으로 대신 결정하는 경우, 프로세스(600)는 단계 614로 이동할 수 있다. 단계 614에서, 장치는 클라우드의 각각의 노드 상에서 구현되는 서비스들을 식별할 수 있다. 예를 들어, 장치는 통신 경로들이 형성된 노드들에 의해 구현되는 서비스들 및 동작들을 식별할 수 있다. 일부 예들에서, 장치는 대신에 또는 추가로 장치와 통신하는 노드들로부터 개인용 클라우드의 다른 노드들에 대한 어드레스 정보를 검색할 수 있다. 이어서, 장치는 그러한 노드들과의 추가적인 통신 경로들을 형성하여, 클라우드의 노드들에 의해 제공되는 서비스들 및 동작들을 더 완전하게 맵핑할 수 있다. 단계 616에서, 장치는 개인용 클라우드의 다른 노드들에서 구현되는 서비스들 및 동작들을 고려하여 구현할 특정 서비스 또는 동작을 식별할 수 있다. 예를 들어, 장치는 어느 것도 구현되지 않은 경우 조정 서비스를 구현할 수 있다. 다른 예로서, 장치는 조정 서비스가 필요하지 않은 경우 또는 (예를 들어, 단계 608에서와 같이) 장치에 특정 명령을 제공하는 데 이용될 수 없는 조정 서비스가 존재하는 경우에 상이한 서비스(예를 들어, 데이터 저장 또는 카탈로그 서비스)를 구현할 수 있다. 단계 618에서, 장치는 식별된 서비스 또는 동작을 구현할 수 있다. 이어서, 프로세스(600)는 단계 612에서 종료할 수 있다.
일부 예들에서는, 특정 장치가 여러 개인용 클라우드에서 사용될 수 있다. 예를 들어, 장치가 장치 소유자의 개인용 클라우드에 의해서는 물론, 장치 소유자에 의해 신뢰되는 사용자들의 하나 이상의 개인용 클라우드에서도 사용될 수 있다. 새로 접속된 장치가 임의의 개인용 클라우드에서 사용될 수 있다. 예를 들어, 사서는 새로 접속된 장치의 소유자와 관련된 개인용 클라우드가 장치를 필요로 하는지를 초기에 결정할 수 있다. 그러한 경우, 사서는 소유자의 개인용 클라우드에 포함되도록 장치에 지시할 수 있다. 대안으로서, 사서가 소유자의 신뢰되는 사용자들 중 한 사용자의 개인용 클라우드가 장치의 자원들을 필요로 하는 것으로 결정하는 경우, 사서는 신뢰되는 사용자의 개인용 클라우드와의 통신 경로를 형성하도록 장치에 지시할 수 있다.
일부 실시예들에서, 여러 개인용 클라우드에서 노드로서 서비스하는 장치는 대신에 또는 추가로 여러 개인용 클라우드 중 특정 개인용 클라우드에 접속하도록 새로 접속된 장치에 지시할 수 있다. 예를 들어, 새로 접속된 장치는 제1 개인용 클라우드(예를 들어, 새로 접속된 장치의 소유자와 관련된 개인용 클라우드)와 관련하여 장치와의 통신 경로를 형성할 수 있다. 장치는 새로 접속된 장치가 이용 가능하다는 지시를 수신하고, 새로 접속된 장치의 소유자와 관련된 개인용 클라우드가 새로 접속된 장치의 자원들을 필요로 하는지를 결정할 수 있다. 장치가 소유자의 개인용 클라우드가 추가 자원을 필요로 하지 않는 것으로 결정하는 경우, 장치는 장치가 노드로서 서비스하는 다른 개인용 클라우드가 추가 자원을 필요로 하는지를 결정할 수 있다. 다른 개인용 클라우드가 자원을 필요로 하는 경우, 장치는 다른 개인용 클라우드가 새로 추가된 장치의 소유자에 의해 신뢰되는 사용자와 관련된 경우에 다른 개인용 클라우드와 통합하도록 새로 추가된 장치에 지시할 수 있다.
사용 동안, 개인용 클라우드에 대한 노드들로서 서비스하는 데 사용될 수 있는 특정 장치들은 변할 수 있다. 특히, 노드들은 (예를 들어, 대용량 저장 컴포넌트들과 달리) 사용자들에 의해 사용되는 개별 전자 장치들로 구성될 수 있으므로, 사용자들은 특정 네트워크에 의해 개인용 클라우드에 제공되는 자원들을 제한 또는 한정하기를 원할 수 있다. 예를 들어, 사용자는 이동중에 네트워크로부터 이동 장치를 분리할 수 있다. 다른 예로서, 사용자는 그가 장치를 사용하는 기간 동안 처리 자원들에 대한 액세스를 제한할 수 있다. 또 다른 예로서, 사용자는 프로젝트(예를 들어, 미디어 처리 프로젝트)를 수행하기 위해 저장 자원들을 회수할 수 있으며, 나중에 자원들 중 일부 또는 전부를 개인용 클라우드에 반환할 수 있다. 그러나, 일부 예들에서, 개인용 클라우드는 사용자가 클라우드로부터 장치를 제거하는 것을 방지할 수 있는데, 그 이유는 클라우드가 장치에 의해 제공되는 데이터 또는 서비스들을 필요로 하기 때문이다. 이것은 사용자의 불만을 유발할 수 있는데, 그 이유는 사용자가 그 자신의 장치의 사용을 제어할 수 없다고 느낄 수 있기 때문이다.
도 7a는 본 발명의 일 실시예에 따른, 노드를 제거할 수 있는 예시적인 개인용 클라우드의 개략도이다. 시스템(700)은 통신 네트워크(705) 내에 개인용 클라우드(710)를 포함할 수 있다. 개인용 클라우드(710)는 개별 전자 장치들에 의해 각각 형성되는 임의의 적절한 수의 노드로 구성될 수 있다. 예를 들어, 개인용 클라우드(710)는 노드들(712, 714, 716)로 구성될 수 있다. 각각의 노드는 동작을 수행하거나, 개인용 클라우드의 적절한 기능을 위한 서비스를 제공할 수 있다. 예를 들어, 노드(712)는 (예를 들어, 데이터 서비스의 일부로서) 데이터(D)를 저장하는 데 사용될 수 있고, 노드(714)는 데이터(D)를 저장하고 (대응하는 메타데이터를 필요로 하는) 서비스(M)를 동작시키는 데 사용될 수 있으며, 노드(716)는 서비스(M)를 동작시키는 데 사용될 수 있다. 노드들 각각에 의해 제공되는 특정 데이터 및 서비스들은 동일하거나 상이할 수 있다. 예를 들어, 제1 노드의 서비스가 제2 노드의 서비스의 동작을 쉐도우잉할 수 있거나, 제1 노드에 저장된 데이터가 제2 노드에 저장된 데이터를 보완 및 백업할 수 있다.
일부 예들에서, 장치의 소유자는 개인용 네트워크로부터 장치를 제거하기를 원할 수 있다. 예를 들어, 노드(714)를 정의하는 장치의 소유자는 장치의 자원들을 검색하기를 원할 수 있다. 도 7b는 본 발명의 일 실시예에 따른, 노드의 제거를 가능하게 하기 위해 노드 동작 및 서비스를 이동시키는 예시적인 개인용 클라우드의 개략도이다. 시스템(750)은 전술한 시스템(700)(도 7a)의 특징들 중 일부 또는 전부를 갖는 통신 네트워크(755) 내의 개인용 클라우드(760)를 포함할 수 있다. 개인용 클라우드(760)는 처음에 노드들(762, 764, 766)로 구성될 수 있다. 노드들은 임의의 적절한 동작을 수행하거나, 개인용 클라우드를 위한 임의의 적절한 서비스를 제공할 수 있다. 사용자가 노드를 제공하는 장치를 개인용 클라우드로부터 제거하기를 원할 때, 개인용 클라우드의 동작 및 서비스들은 상이한 노드를 형성하는 다른 장치로 이동되는 것이 필요할 수 있다. 예를 들어, 사용자가 노드(764)에 대응하는 장치를 제거하기를 원하는 경우, 개인용 클라우드가 적절히 계속 동작하기 위해서는 특정 데이터(D) 및 서비스(M)가 다른 노드들에 의해 제공되는 것이 필요할 수 있다.
개인용 클라우드(760)는 임의의 적절한 접근법을 이용하여 특정 노드의 동작들을 다른 노드들로 이전할 수 있다. 일 구현에서, 사용자는 노드(764)에 명령을 제공하여 그 자신을 개인용 클라우드로부터 제거하게 할 수 있다. 명령의 수신에 응답하여, 노드(764)는 개인용 클라우드의 다른 가용 노드들을 식별하고 서비스들을 다른 노드들로 이전할 수 있다. 예를 들어, 노드(764)는 다른 노드가 특정 서비스를 활성화하기 위한 명령을 제공할 수 있으며, 서비스의 적절한 동작에 필요한 최신 메타데이터를 제공할 수 있다. 다른 예로서, 노드(764)는 데이터 서비스의 일부로서 저장된 데이터 또는 서비스에 의해 사용되는 메타데이터를 상이한 노드로 이전할 수 있다. 시스템(750)의 특정 예에서, 노드(764)는 데이터(예를 들어, 데이터 서비스)를 노드(762)로(이전(770)) 그리고 (예를 들어, 카탈로그 서비스를 위한) 메타데이터 또는 서비스는 물론, 데이터(예를 들어, 데이터 서비스)를 노드(766)로(이전(772)) 이전할 수 있으며, 따라서 노드(766)는 (도 7a의 노드(716)와 같이 서비스만을 제공하는 것이 아니라) 이전 후에 서비스를 제공하고 데이터를 저장한다. 노드(764)는 데이터 또는 서비스의 일부 또는 전부가 이전될 때까지 사용자가 개인용 클라우드로부터 장치를 분리하는 것을 방지할 수 있거나, 이전이 아직 완료되지 않은 경우에는 장치를 제거하기 위한 확인을 사용자에게 요청할 수 있다. 그러나, 이러한 접근법은 상당한 시간이 걸릴 수 있는 개인용 클라우드 내에서의 데이터 이전 완료시까지 사용자가 노드(764)의 장치를 완전히 사용하는 것을 방해할 수 있다.
일부 예들에서, 개인용 클라우드에 의해 제공되는 데이터 및 서비스들은 다른 노드들에 중복 저장될 수 있다. 예를 들어, 노드(764) 상에 저장된 데이터는 노드(762) 상에 저장된 데이터에 의해 백업될 수 있고, 노드(764)에 의해 제공되는 서비스에 대응하는 메타데이터는 노드(766)에 의해 쉐도우잉 또는 미러링될 수 있다. 개인용 클라우드로부터 노드(764)를 제거하기 위한 명령의 수신에 응답하여, 노드(764)는 노드(764)에 의해 이전에 저장된 데이터 모두에 대한 활성 소스가 되도록 노드에 지시하는 명령(770)을 노드(762)에 제공할 수 있다(예를 들어, 노드(762)는 활성 데이터 서비스를 구현하거나, 노드(762)는 노드(764)가 더 이상 노드(762)의 데이터를 백업하지 않을 것이라는 것을 통지받는다). 유사하게, 노드(764)는 노드(764)에 의해 이전에 제공된 서비스를 제공하도록 노드(766)에 지시하는(예를 들어, 이전의 쉐도우잉 서비스를 활성화하도록 노드(766)에 지시하거나, 노드(764)가 더 이상 노드(766)를 쉐도우잉하지 않는다는 것을 노드(766)에 통지하는) 명령(772)을 제공할 수 있다. 일부 예들에서, 명령(772)은 대신에 또는 추가로 노드(766)가 저장할 데이터를 포함할 수 있다. 일부 실시예들에서, 노드(764)는 그의 자원들이 제거된다는 지시를 조정 서비스에 제공할 수 있다. 일부 예들에서, 노드(764)는 어느 다른 노드들이 노드(764)에 의해 제공된 서비스들을 인계받는지를 조정 서비스에 알릴 수 있다. 서비스들 및 데이터를 중복 저장함으로써, 사용자는 장치 또는 개인용 클라우드의 동작에 영향을 미치지 않고 개인용 클라우드로부터 장치를 결함 없이 제거할 수 있다.
개인용 클라우드는 임의의 적절한 접근법을 이용하여 서비스들 또는 서비스에 의해 사용되는 데이터를 어떻게 이전할지를 결정할 수 있다. 일부 실시예들에서, 제거되는 개별 노드는 개인용 클라우드의 다른 노드들과 통신하여 서비스를 어떻게 이전할지를 결정할 수 있다. 예를 들어, 개별 노드는 서비스를 쉐도우잉하는 장치 또는 서비스를 구현하기에 충분한 자원들을 갖는 장치를 식별할 수 있다. 일부 실시예들에서, 개별 노드는 대신에 또는 추가로 그가 제거된다는 것을 조정 서비스에 알릴 수 있다. 이어서, 조정 서비스는 서비스를 위한 개인용 클라우드의 다른 노드를 식별할 수 있다. 일부 예들에서, 나머지 노드(예를 들어, 조정 서비스를 구현하는 노드)는 개별 노드와의 통신 경로를 형성하려고 시도하고 실패함으로써 개별 노드가 더 이상 이용 가능하지 않다는 것을 검출할 수 있고, 검출된 부재에 응답하여 개인용 클라우드 서비스들을 재할당할 수 있다.
개인용 클라우드는 임의의 적절한 이유로 인해 개인용 클라우드의 상이한 노드들 사이에 데이터 및 서비스들을 동적으로 이동시킬 수 있다. 예를 들어, 개인용 클라우드는 전술한 바와 같이 노드를 제공하는 장치를 제거하기 위한 사용자 요청에 기초하여 노드 동작들을 이동시킬 수 있다. 다른 예로서, 개인용 클라우드는 노드가 고장날 때 노드의 동작들을 이동시킬 수 있다. 이어서, 클라우드는 장치가 제거될 때와 유사한 방식으로 동작할 수 있으며, 고장난 노드에 의해 제공되는 특정 데이터 및 서비스들은 다른 건강한 노드들로 이동될 수 있다.
일부 실시예들에서, 개인용 클라우드는 하나 이상의 노드에서 이용 가능한 추가 자원들을 이용하기 위해 서비스들을 이동시킬 수 있다. 예를 들어, 개인용 클라우드는 활성 서비스에 대응하는 저장된 데이터 또는 메타데이터를 백업하기 위해 추가 자원들을 갖는 노드들로 서비스들을 이동시킬 수 있다. 추가 자원들을 갖는 노드들은 저장된 데이터 또는 메타데이터를 동적으로 변경하여 활성 노드의 데이터 또는 메타데이터에 매칭시킬 수 있으며, 따라서 활성 서비스가 실시간으로 또는 거의 실시간으로 쉐도우잉될 수 있고, 따라서 활성 노드가 고장나거나 제거되는 경우에도 노드들 사이의 서비스들의 결함 없는 이전이 보증될 수 있다. 유사하게, 개인용 클라우드의 용량을 성장 또는 증가시키기 위해 추가된 장치들은 추가적인 데이터를 저장하거나 기존 데이터를 백업하거나 서비스를 쉐도우잉하는 데 사용될 수 있다.
일부 실시예들에서, 개인용 클라우드는 서비스들을 동적으로 이동시켜 개인용 클라우드의 성능을 향상시킬 수 있다. 예를 들어, 개인용 클라우드는 최종 사용자에 대한 노드의 지리적 근접도 또는 노드들과 최종 사용자 간의 접속 속도에 기초하여 상이한 노드들에 의해 제공되는 동일 서비스를 선택적으로 활성화할 수 있다. 이어서, 비활성 서비스들을 갖는 노드들은 사용자의 지리적 근접도가 변할 때까지 활성 노드를 미러링 또는 쉐도우잉할 수 있다. 특히, 개인용 클라우드를 이용하는 사용자들의 지리적 배치는 시간에 따라(예를 들어, 시간대에 기초하여, 일본의 사용자들과 미국 동해안의 사용자들은 동시에 개인용 클라우드를 사용하지 못함) 변할 수 있다. 다른 예로서, 개인용 클라우드는 예상되는 또는 역사적인 서비스 사용에 기초하여 서비스들을 동적으로 이동시킬 수 있다. 특히, 역사적으로 특정의 능숙한 사용자가 특정 일시에 개인용 클라우드를 사용하는 경우, 능숙한 사용자에게 제공하기 위해 서비스들, 데이터 또는 이들 모두가 이동될 수 있다.
일부 실시예들에서, 개인용 클라우드는 개별 노드들의 성능 또는 에너지 사정에 기초하여 서비스들 및 데이터를 이동시킬 수 있다. 예를 들어, 낮은 전력 소비를 갖는 노드들이 활성화될 수 있고, 덜 전력 효율적인 노드들보다 더 집중적으로 사용될 수 있다. 덜 전력 효율적인 노드들은 덜 전력 집중적인 동작들(예를 들어, 데이터 저장)을 위해 사용되거나, 개인용 클라우드 상의 더 큰 부하의 검출에 응답하여 활성화될 수 있다. 다른 예로서, 개인용 클라우드는 시간에 따라 장치 성능을 모니터링할 수 있다. 예를 들어, 개인용 클라우드는 각각의 장치의 프로세서 타입, 저장 타입 및 판독 속도(예를 들어, HDD 또는 SDD), 접속 타입(예를 들어, 유선 또는 무선, 및 네트워크 타입), 접속 속도, 또는 다른 특성들을 결정할 수 있다. 이어서, 개인용 클라우드는 개인용 클라우드 내의 활성 노드들(예를 들어, 사용자와 상호작용할 수 있는 서비스들을 제공하는 노드들)을 위한 더 성능 좋은 컴포넌트들을 갖는 특정 장치들을 선택할 수 있다.
일부 실시예들에서, 개인용 클라우드는 개별 장치들의 공지된 또는 예상되는 가용성에 기초하여 서비스들 및 데이터를 이동시킬 수 있다. 특히, 개인용 클라우드는 시간에 따라 장치 가용성을 모니터링하고, 상이한 날들에서의 또는 상이한 시간들에서의 장치 가용성의 확률 맵을 형성할 수 있다. 예를 들어, 개인용 클라우드는 외부 저장 장치에 대응하는 장치가 거의 항상 이용 가능하지만 제한된 처리 능력을 갖는 반면에 데스크탑 컴퓨터에 대응하는 장치가 평일 업무 시간 동안 이용 가능하지만 주말에는 이용 가능하지 않다는 것을 검출할 수 있다. 유사하게, 개인용 클라우드는 노트북 컴퓨터에 대응하는 장치가 일반적으로 이용 가능하지만, 회의에 그리고 장소들 간의 이동에 대응하는 시간들에는 가끔 분리된다는 것을 검출할 수 있다. 결정된 역사적 가용성에 기초하여, 개인용 클라우드는 장치들 사이에 서비스들 및 데이터를 동적으로 이동시켜, 서비스들 및 데이터가 가용 장치들에 의해 제공되는 것을 보증할 수 있다.
도 8은 본 발명의 일 실시예에 따른, 개인용 클라우드의 노드들 사이에서 서비스들을 결함 없이 이동시키기 위한 예시적인 프로세스의 흐름도이다. 프로세스(800)는 단계 802에서 시작할 수 있다. 단계 804에서, 개인용 클라우드는 노드로부터 서비스를 이동시킬지를 결정할 수 있다. 예를 들어, 개인용 클라우드는 서비스를 이동시키기 위한 이유 또는 기준들(예를 들어, 고장, 장치를 제거하기 위한 요청, 성능, 복제 또는 백업, 에너지 사용 또는 성장)이 충족되었는지를 결정할 수 있다. 개인용 클라우드가 서비스를 이동시키지 않는 것으로 결정하는 경우, 프로세스(800)는 단계 804로 복귀할 수 있다. 단계 804에서 개인용 클라우드가 서비스를 이동시키기로 대신 결정하는 경우, 프로세스(800)는 단계 806으로 이동할 수 있다. 단계 806에서, 개인용 클라우드는 노드로부터 이동시킬 특정 서비스를 식별할 수 있다. 예를 들어, 개인용 클라우드는 개인용 클라우드에 제공되는 카탈로그 서비스, 데이터 서비스, 치료 또는 수리 서비스, 백업 서비스, 조정 서비스 또는 기타 서비스를 식별할 수 있다. 일부 실시예들에서는, 특정 서비스에 의해 사용되는 데이터(예를 들어, 메타데이터 또는 저장 데이터)가 이동될 수 있다.
단계 808에서, 개인용 클라우드는 식별된 서비스를 이동시킬 수 있는 적어도 하나의 다른 노드를 식별할 수 있다. 예를 들어, 개인용 클라우드는 이동되는 서비스를 수신하기 위한 가용 자원들(예를 들어, 저장 또는 처리)을 갖는 노드를 식별할 수 있다. 다른 예로서, 개인용 클라우드는 활성 서비스를 갖거나 서비스를 쉐도우잉하고 있는 다른 노드를 식별할 수 있다. 단계 810에서, 개인용 클라우드는 서비스가 다른 노드 상에서 활성인지를 결정할 수 있다. 예를 들어, 개인용 클라우드는 서비스가 단계 808에서 식별된 다른 노드 상의 활성 서비스의 쉐도우인지를 결정할 수 있다. 개인용 클라우드가 서비스가 다른 노드 상에서 활성인 것으로 결정하는 경우, 프로세스(800)는 단계 812로 이동할 수 있다. 단계 812에서, 개인용 클라우드(예를 들어, 노드)는 서비스를 이동시킨 노드에 의해 더 이상 서비스가 쉐도우잉되지 않는다는 것을 다른 노드에 알릴 수 있다. 이것은 다른 노드가 상이한 노드가 서비스를 쉐도우잉하는 것을 식별 또는 요청하는 것을 보증할 수 있다. 이어서, 프로세스(800)는 단계 816으로 이동할 수 있다.
단계 810에서 개인용 클라우드가 서비스가 다른 노드 상에서 활성이 아닌 것으로 대신 결정하는 경우, 프로세스(800)는 단계 814로 이동할 수 있다. 단계 814에서, 개인용 클라우드는 서비스를 활성화하도록 다른 노드에 지시할 수 있다. 예를 들어, 노드는 단계 808에서 식별된 다른 노드에 서비스를 구현하도록 명령할 수 있다. 단계 816에서, 노드는 식별된 서비스의 동작을 중단시킬 수 있다. 예를 들어, 노드는 서비스에 대응하는 데이터의 개인용 클라우드의 다른 노드들로의 송수신을 중지할 수 있다. 다른 예로서, 노드는 식별된 서비스에 대응하는 저장된 데이터를 해제 또는 제거할 수 있다. 단계 818에서, 개인용 클라우드는 노드의 모든 서비스들이 이동되었는지를 결정할 수 있다. 예를 들어, 개인용 클라우드는 여러 서비스가 이동되는 것이 필요한지를 결정할 수 있다. 개인용 클라우드가 추가 서비스들의 이동이 필요한 것으로 결정하는 경우, 프로세스(800)는 단계 806으로 복귀하여 다른 서비스를 식별할 수 있다. 단계 818에서 개인용 클라우드가 추가 서비스들의 이동이 필요하지 않은 것으로 대신 결정하는 경우, 프로세스(800)는 단계 820으로 이동하여 종료할 수 있다.
본 명세서에서 본 발명의 많은 실시예가 개인용 컴퓨팅 장치들과 관련하여 설명되었지만, 본 발명은 개인용 컴퓨팅 응용들로 한정되는 것이 아니라 다른 응용들에 일반적으로 이용될 수 있다는 것을 이해해야 한다.
본 발명은 소프트웨어에 의해 구현되는 것이 바람직하지만, 하드웨어로 또는 하드웨어와 소프트웨어의 조합으로 구현될 수도 있다. 본 발명은 컴퓨터 판독 가능 매체 상의 컴퓨터 판독 가능 코드로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터 시스템에 의해 이후에 판독될 수 있는 데이터를 저장할 수 있는 임의의 데이터 저장 장치일 수 있다. 컴퓨터 판독 가능 매체의 예들은 판독 전용 메모리, 랜덤 액세스 메모리, CD-ROM, DVD, 자기 테이프 및 광학 데이터 저장 장치를 포함한다. 컴퓨터 판독 가능 매체는 또한 네트워크 결합된 컴퓨터 시스템들을 통해 분산될 수 있으며, 따라서 컴퓨터 판독 가능 코드는 분산 방식으로 저장 및 실행될 수 있다.
이 분야의 통상의 기술자에 의해 고찰되는, 현재 공지된 또는 이후에 고안되는 바와 같은 청구 발명으로부터의 실체 없는 변경들은 청구항들의 범위 내에 균등하게 속하는 것으로 분명히 간주된다.
전술한 본 발명의 실시예들은 한정이 아니라 예시의 목적으로 제공된다.
Claims (20)
- 제어 회로 및 통신 회로를 포함하는 전자 장치로서,
상기 제어 회로는,
사서 서비스(librarian service)와 제1 컴퓨팅 장치 사이의 접속을 형성하고(establish);
상기 사서 서비스를 통해서, 상기 제1 컴퓨팅 장치로부터의 명령을 수신하여 상기 제1 컴퓨팅 장치와 하나 이상의 추가적인 컴퓨팅 장치들 사이의 개인용 클라우드 네트워크를 형성하고 - 상기 명령은 상기 개인용 클라우드 네트워크에 의해 요청되는 최소 수의 서비스들을 지정함 -;
상기 제1 컴퓨팅 장치 및 상기 하나 이상의 추가적인 컴퓨팅 장치들 중에서의 각 컴퓨팅 장치에 의해 상기 개인용 클라우드 네트워크에 제공된 리소스들의 하나 이상의 타입 및 상기 개인용 클라우드 네트워크의 전용(dedicated)의 상기 리소스들의 양을 조사하고;
상기 개인용 클라우드 네트워크에서 상기 컴퓨팅 장치들 중 하나 이상의 컴퓨팅 장치에 작업(task)들을 할당하여 상기 개인용 클라우드 네트워크에 의해 요청된 최소 수의 서비스들에 지정된 서비스들의 각각을 제공하고;
상기 개인용 클라우드 네트워크에서 컴퓨팅 장치들의 수의 변화를 판정하고;
상기 변화가, 충분한 리소스들을 갖는 상기 개인용 클라우드 네트워크에서의 상기 컴퓨팅 장치들이 상기 최소 수의 서비스들을 수행하도록 야기하는지 판정하고;
상기 변화가, 충분한 리소스들을 갖는 상기 개인용 클라우드 네트워크에서의 상기 컴퓨팅 장치들이 상기 최소 수의 서비스들을 수행하도록 야기할 때, 상기 개인용 클라우드 네트워크에서의 상기 컴퓨팅 장치들 중 하나 이상의 컴퓨팅 장치로의 작업들의 할당을 동적으로 조절하여 상기 개인용 클라우드 네트워크에 의해 요청된 최소 수의 서비스들에서 지정된 서비스들의 각각을 제공하고;
상기 변화가, 충분한 리소스들을 갖는 상기 개인용 클라우드 네트워크에서의 상기 컴퓨팅 장치들이 상기 최소 수의 서비스들을 수행하도록 야기하지 않을 때, 상기 사서 서비스로, 추가적인 리소스들이 상기 개인용 클라우드 네트워크에서 이용가능하도록 하는 것을 요청하는 통지를 송신하도록 동작하는 전자 장치. - 제1항에 있어서,
상기 제어 회로는 개인용 클라우드에의 리소스들의 전용을 위한 사용자-지정 명령들을 조사하도록 동작하는 전자 장치. - 제2항에 있어서,
상기 사용자-지정 명령들은 상기 개인용 클라우드 네트워크에 사용하기 위한 리소스들의 최대 양을 정의하는 전자 장치. - 제1항에 있어서,
상기 개인용 클라우드 네트워크에 의해 요청되는 상기 최소 수의 서비스들은,
카탈로그 서비스들;
처리 서비스들;
병렬 처리 서비스들;
데이터 저장 서비스들;
중복(redundant) 저장 서비스들; 및
백업 서비스들
로 구성되는 그룹 중에서 선택된 서비스들을 포함하는 전자 장치. - 제1항에 있어서,
상기 제1 컴퓨팅 장치 및 상기 하나 이상의 추가적인 컴퓨팅 장치들 중에서의 각 컴퓨팅 장치에 의해 제공되는 상기 리소스들의 하나 이상의 타입은 처리 리소스들, 저장 리소스들, 및 네트워크 대역폭으로 구성되는 그룹 중에서 선택되는 전자 장치. - 방법으로서,
사서 서비스(librarian service)에 의해 상기 사서 서비스와 제1 컴퓨팅 장치 사이의 접속을 형성하는(establish) 단계;
상기 사서 서비스를 통해서, 상기 제1 컴퓨팅 장치로부터의 명령을 수신하여 상기 제1 컴퓨팅 장치와 하나 이상의 추가적인 컴퓨팅 장치들 사이의 개인용 클라우드 네트워크를 형성하는 단계 - 상기 명령은 상기 개인용 클라우드 네트워크에 의해 요청되는 최소 수의 서비스들을 지정함 -;
상기 제1 컴퓨팅 장치 및 상기 하나 이상의 추가적인 컴퓨팅 장치들 중에서의 각 컴퓨팅 장치에 의해 상기 개인용 클라우드 네트워크에 제공된 리소스들의 하나 이상의 타입 및 상기 개인용 클라우드 네트워크의 전용(dedicated)의 상기 리소스들의 양을 조사하는 단계;
상기 개인용 클라우드 네트워크에서 상기 컴퓨팅 장치들 중 하나 이상의 컴퓨팅 장치에 작업(task)들을 할당하여 상기 개인용 클라우드 네트워크에 의해 요청된 최소 수의 서비스들에 지정된 서비스들의 각각을 제공하는 단계;
상기 개인용 클라우드 네트워크에서 컴퓨팅 장치들의 수의 변화를 판정하는 단계;
상기 변화가, 충분한 리소스들을 갖는 상기 개인용 클라우드 네트워크에서의 상기 컴퓨팅 장치들이 상기 최소 수의 서비스들을 수행하도록 야기하는지 판정하는 단계;
상기 변화가, 충분한 리소스들을 갖는 상기 개인용 클라우드 네트워크에서의 상기 컴퓨팅 장치들이 상기 최소 수의 서비스들을 수행하도록 야기할 때, 상기 개인용 클라우드 네트워크에서의 상기 컴퓨팅 장치들 중 하나 이상의 컴퓨팅 장치로의 작업들의 할당을 동적으로 조절하여 상기 개인용 클라우드 네트워크에 의해 요청된 최소 수의 서비스들에서 지정된 서비스들의 각각을 제공하는 단계; 및
상기 변화가, 충분한 리소스들을 갖는 상기 개인용 클라우드 네트워크에서의 상기 컴퓨팅 장치들이 상기 최소 수의 서비스들을 수행하도록 야기하지 않을 때, 상기 사서 서비스로, 추가적인 리소스들이 상기 개인용 클라우드 네트워크에서 이용가능하도록 하는 것을 요청하는 통지를 송신하는 단계
를 포함하는 방법. - 제6항에 있어서,
상기 제1 컴퓨팅 장치 및 상기 하나 이상의 추가적인 컴퓨팅 장치들 중에서의 각 컴퓨팅 장치에 의해 상기 개인용 클라우드 네트워크에 제공된 리소스들의 하나 이상의 타입 및 상기 개인용 클라우드 네트워크의 전용의 상기 리소스들의 양을 조사하는 단계는 개인용 클라우드에의 리소스들의 전용을 위한 사용자-지정 명령들을 조사하는 단계를 포함하는 방법. - 제7항에 있어서,
상기 사용자-지정 명령들은 상기 개인용 클라우드 네트워크에 사용하기 위한 리소스들의 최대 양을 정의하는 방법. - 제6항에 있어서,
상기 개인용 클라우드 네트워크에 의해 요청되는 상기 최소 수의 서비스들은,
카탈로그 서비스들;
처리 서비스들;
병렬 처리 서비스들;
데이터 저장 서비스들;
중복(redundant) 저장 서비스들; 및
백업 서비스들
로 구성되는 그룹 중에서 선택된 서비스들을 포함하는 방법. - 제6항에 있어서,
상기 제1 컴퓨팅 장치 및 상기 하나 이상의 추가적인 컴퓨팅 장치들 중에서의 각 컴퓨팅 장치에 의해 제공되는 상기 리소스들의 하나 이상의 타입은 처리 리소스들, 저장 리소스들, 및 네트워크 대역폭으로 구성되는 그룹 중에서 선택되는 방법. - 방법을 실행하기 위한 컴퓨터 판독가능 코드를 포함하는 비일시적(non-transitory) 컴퓨터 판독가능 매체로서,
상기 방법은,
사서 서비스(librarian service)에 의해 상기 사서 서비스와 제1 컴퓨팅 장치 사이의 접속을 형성하는(establish) 단계;
상기 사서 서비스를 통해서, 상기 제1 컴퓨팅 장치로부터의 명령을 수신하여 상기 제1 컴퓨팅 장치와 하나 이상의 추가적인 컴퓨팅 장치들 사이의 개인용 클라우드 네트워크를 형성하는 단계 - 상기 명령은 상기 개인용 클라우드 네트워크에 의해 요청되는 최소 수의 서비스들을 지정함 -;
상기 제1 컴퓨팅 장치 및 상기 하나 이상의 추가적인 컴퓨팅 장치들 중에서의 각 컴퓨팅 장치에 의해 상기 개인용 클라우드 네트워크에 제공된 리소스들의 하나 이상의 타입 및 상기 개인용 클라우드 네트워크의 전용(dedicated)의 상기 리소스들의 양을 조사하는 단계;
상기 개인용 클라우드 네트워크에서 상기 컴퓨팅 장치들 중 하나 이상의 컴퓨팅 장치에 작업(task)들을 할당하여 상기 개인용 클라우드 네트워크에 의해 요청된 최소 수의 서비스들에 지정된 서비스들의 각각을 제공하는 단계;
상기 개인용 클라우드 네트워크에서 컴퓨팅 장치들의 수의 변화를 판정하는 단계;
상기 변화가, 충분한 리소스들을 갖는 상기 개인용 클라우드 네트워크에서의 상기 컴퓨팅 장치들이 상기 최소 수의 서비스들을 수행하도록 야기하는지 판정하는 단계;
상기 변화가, 충분한 리소스들을 갖는 상기 개인용 클라우드 네트워크에서의 상기 컴퓨팅 장치들이 상기 최소 수의 서비스들을 수행하도록 야기할 때, 상기 개인용 클라우드 네트워크에서의 상기 컴퓨팅 장치들 중 하나 이상의 컴퓨팅 장치로의 작업들의 할당을 동적으로 조절하여 상기 개인용 클라우드 네트워크에 의해 요청된 최소 수의 서비스들에서 지정된 서비스들의 각각을 제공하는 단계; 및
상기 변화가, 충분한 리소스들을 갖는 상기 개인용 클라우드 네트워크에서의 상기 컴퓨팅 장치들이 상기 최소 수의 서비스들을 수행하도록 야기하지 않을 때, 상기 사서 서비스로, 추가적인 리소스들이 상기 개인용 클라우드 네트워크에서 이용가능하도록 하는 것을 요청하는 통지를 송신하는 단계를 포함하는
비일시적 컴퓨터 판독가능 매체. - 제11항에 있어서,
상기 제1 컴퓨팅 장치 및 상기 하나 이상의 추가적인 컴퓨팅 장치들 중에서의 각 컴퓨팅 장치에 의해 상기 개인용 클라우드 네트워크에 제공된 리소스들의 하나 이상의 타입 및 상기 개인용 클라우드 네트워크의 전용의 상기 리소스들의 양을 조사하는 단계는 개인용 클라우드에의 리소스들의 전용을 위한 사용자-지정 명령들을 조사하는 단계를 포함하는
비일시적 컴퓨터 판독가능 매체. - 제12항에 있어서,
상기 사용자-지정 명령들은 상기 개인용 클라우드 네트워크에 사용하기 위한 리소스들의 최대 양을 정의하는 비일시적 컴퓨터 판독가능 매체. - 제11항에 있어서,
상기 개인용 클라우드 네트워크에 의해 요청되는 상기 최소 수의 서비스들은,
카탈로그 서비스들;
처리 서비스들;
병렬 처리 서비스들;
데이터 저장 서비스들;
중복(redundant) 저장 서비스들; 및
백업 서비스들
로 구성되는 그룹 중에서 선택된 서비스들을 포함하는
비일시적 컴퓨터 판독가능 매체. - 제11항에 있어서,
상기 제1 컴퓨팅 장치 및 상기 하나 이상의 추가적인 컴퓨팅 장치들 중에서의 각 컴퓨팅 장치에 의해 제공되는 상기 리소스들의 하나 이상의 타입은 처리 리소스들, 저장 리소스들, 및 네트워크 대역폭으로 구성되는 그룹 중에서 선택되는 비일시적 컴퓨터 판독가능 매체. - 삭제
- 삭제
- 삭제
- 삭제
- 삭제
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/846,363 | 2010-07-29 | ||
US12/846,363 US20120030343A1 (en) | 2010-07-29 | 2010-07-29 | Dynamic migration within a network storage system |
PCT/US2011/045496 WO2012015893A1 (en) | 2010-07-29 | 2011-07-27 | Dynamic migration within a network storage system |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20130049810A KR20130049810A (ko) | 2013-05-14 |
KR101476936B1 true KR101476936B1 (ko) | 2014-12-30 |
Family
ID=44511524
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020137005038A KR101476936B1 (ko) | 2010-07-29 | 2011-07-27 | 네트워크 저장 시스템 안에서의 동적 이동 |
Country Status (6)
Country | Link |
---|---|
US (2) | US20120030343A1 (ko) |
EP (1) | EP2599281B1 (ko) |
KR (1) | KR101476936B1 (ko) |
CN (1) | CN103081441A (ko) |
AU (1) | AU2011282755B2 (ko) |
WO (1) | WO2012015893A1 (ko) |
Families Citing this family (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150348083A1 (en) * | 2009-01-21 | 2015-12-03 | Truaxis, Inc. | System, methods and processes to identify cross-border transactions and reward relevant cardholders with offers |
US8924675B1 (en) * | 2010-09-24 | 2014-12-30 | Emc Corporation | Selective migration of physical data |
US8667138B2 (en) | 2010-10-29 | 2014-03-04 | Cisco Technology, Inc. | Distributed hierarchical rendering and provisioning of cloud services |
US8639793B2 (en) * | 2010-10-29 | 2014-01-28 | Cisco Technology, Inc. | Disaster recovery and automatic relocation of cloud services |
US9235447B2 (en) | 2011-03-03 | 2016-01-12 | Cisco Technology, Inc. | Extensible attribute summarization |
US8667140B1 (en) * | 2011-03-31 | 2014-03-04 | Emc Corporation | Distinguishing tenants in a multi-tenant cloud environment |
US9323581B1 (en) | 2011-03-31 | 2016-04-26 | Emc Corporation | Space inheritance |
US9407433B1 (en) * | 2011-08-10 | 2016-08-02 | Nutanix, Inc. | Mechanism for implementing key-based security for nodes within a networked virtualization environment for storage management |
US20130073670A1 (en) * | 2011-09-15 | 2013-03-21 | Microsoft Corporation | Geo-Migration Of User State |
US8959223B2 (en) * | 2011-09-29 | 2015-02-17 | International Business Machines Corporation | Automated high resiliency system pool |
US8996700B2 (en) | 2011-09-29 | 2015-03-31 | International Business Machines Corporation | Automated workload performance and availability optimization based on hardware affinity |
US8880671B2 (en) * | 2011-11-14 | 2014-11-04 | International Business Machines Corporation | Releasing computing infrastructure components in a networked computing environment |
US9229771B2 (en) * | 2012-03-08 | 2016-01-05 | Microsoft Technology Licensing, Llc | Cloud bursting and management of cloud-bursted applications |
US20130346494A1 (en) * | 2012-06-22 | 2013-12-26 | Motorola Mobility, Inc. | Cloud-based system and method for sharing media among closely located devices |
KR101888650B1 (ko) | 2012-09-07 | 2018-08-14 | 삼성전자주식회사 | 애플리케이션 실행 방법 및 이를 위한 단말 |
US10524100B2 (en) | 2012-09-07 | 2019-12-31 | Samsung Electronics Co., Ltd. | Electronic apparatus and method of outputting content by the electronic apparatus |
US9444896B2 (en) | 2012-12-05 | 2016-09-13 | Microsoft Technology Licensing, Llc | Application migration between clouds |
KR20140076748A (ko) | 2012-12-13 | 2014-06-23 | 삼성전자주식회사 | 이동 통신 시스템에서 개인 네트워킹을 지원하기 위한 방법 및 장치 |
KR101508273B1 (ko) | 2013-03-27 | 2015-04-07 | 주식회사 케이티 | 클라우드 api 키를 이용한 자원 할당 방법 및 이를 위한 장치 |
US20150121244A1 (en) * | 2013-10-31 | 2015-04-30 | Hewlett-Packard Development Company, L.P. | Building a Realized Topology with a Binding Document |
US20150163303A1 (en) * | 2013-12-08 | 2015-06-11 | Sarah M. Banas | Customizable Cloud or Distributed System Location |
US9444735B2 (en) | 2014-02-27 | 2016-09-13 | Cisco Technology, Inc. | Contextual summarization tag and type match using network subnetting |
US20160142485A1 (en) | 2014-11-19 | 2016-05-19 | Commvault Systems, Inc. | Migration to cloud storage from backup |
TWI735585B (zh) * | 2017-05-26 | 2021-08-11 | 瑞昱半導體股份有限公司 | 具有網路功能的資料管理電路及基於網路的資料管理方法 |
CN109144403B (zh) * | 2017-06-19 | 2021-10-01 | 阿里巴巴集团控股有限公司 | 一种用于云盘模式切换的方法与设备 |
US11843656B2 (en) * | 2017-09-27 | 2023-12-12 | Iguazio Systems Ltd. | Dynamic application mobilization |
US10452296B1 (en) | 2018-03-23 | 2019-10-22 | Amazon Technologies, Inc. | Accelerated volumes |
US11023157B2 (en) | 2018-04-30 | 2021-06-01 | Amazon Technologies, Inc. | Intermediary duplication to facilitate copy requests in distributed storage systems |
US10459655B1 (en) | 2018-04-30 | 2019-10-29 | Amazon Technologies, Inc. | Rapid volume backup generation from distributed replica |
US11343314B1 (en) | 2018-04-30 | 2022-05-24 | Amazon Technologies, Inc. | Stream-based logging for distributed storage systems |
US10956442B1 (en) | 2018-07-30 | 2021-03-23 | Amazon Technologies, Inc. | Dedicated source volume pool for accelerated creation of block data volumes from object data snapshots |
US10931750B1 (en) * | 2018-07-30 | 2021-02-23 | Amazon Technologies, Inc. | Selection from dedicated source volume pool for accelerated creation of block data volumes |
US11068192B1 (en) | 2019-03-26 | 2021-07-20 | Amazon Technologies, Inc. | Utilizing mutiple snapshot sources for creating new copy of volume in a networked environment wherein additional snapshot sources are reserved with lower performance levels than a primary snapshot source |
US10983719B1 (en) | 2019-03-28 | 2021-04-20 | Amazon Technologies, Inc. | Replica pools to support volume replication in distributed storage systems |
US11044300B2 (en) * | 2019-10-21 | 2021-06-22 | Citrix Systems, Inc. | File transfer control systems and methods |
US11392554B2 (en) * | 2020-10-19 | 2022-07-19 | Dropbox, Inc. | Synchronizing an external location |
CA3203827A1 (en) | 2020-12-30 | 2022-07-07 | Jose R. ROSAS BUSTOS | Systems and methods of creating and operating a cloudless infrastructure of computing devices |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020156893A1 (en) * | 2001-01-22 | 2002-10-24 | Eric Pouyoul | System and method for dynamic, transparent migration of services |
US20100169446A1 (en) * | 2008-12-19 | 2010-07-01 | Watchguard Technologies, Inc. | Cluster Architecture and Configuration for Network Security Devices |
Family Cites Families (66)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6192340B1 (en) | 1999-10-19 | 2001-02-20 | Max Abecassis | Integration of music from a personal library with real-time information |
WO2001098936A2 (en) | 2000-06-22 | 2001-12-27 | Microsoft Corporation | Distributed computing services platform |
JP2002151374A (ja) | 2000-11-07 | 2002-05-24 | Mitsubishi Electric Corp | 半導体デバイス製造フロー管理システムおよび方法 |
WO2002039215A2 (en) | 2000-11-09 | 2002-05-16 | Visitalk.Com, Inc. | Distributed dynamic data system and method |
AU2002247173A1 (en) | 2001-02-20 | 2002-09-04 | Caron S. Ellis | Enhanced radio systems and methods |
US7266839B2 (en) | 2001-07-12 | 2007-09-04 | J P Morgan Chase Bank | System and method for providing discriminated content to network users |
US20030182551A1 (en) | 2002-03-25 | 2003-09-25 | Frantz Christopher J. | Method for a single sign-on |
US7567987B2 (en) | 2003-10-24 | 2009-07-28 | Microsoft Corporation | File sharing in P2P group shared spaces |
US7254837B2 (en) | 2004-07-13 | 2007-08-07 | Fields Daniel M | Apparatus and method for storing and distributing encrypted digital content |
US20060123081A1 (en) | 2004-12-03 | 2006-06-08 | Motorola, Inc. | Method and system for seamless portability by profile sharing |
EP1710725B1 (en) | 2005-04-06 | 2018-10-31 | Assa Abloy AB | Secure digital credential sharing arrangement |
US7720767B2 (en) | 2005-10-24 | 2010-05-18 | Contentguard Holdings, Inc. | Method and system to support dynamic rights and resources sharing |
US8976684B2 (en) | 2005-11-28 | 2015-03-10 | Conversant Intellectual Property Management Inc. | Intelligent video, data streaming and access to distributed resources in a wireless network |
EP1802079B1 (en) | 2005-12-22 | 2010-03-31 | Microsoft Corporation | Connection management in peer-to-peer content distribution clouds |
US20070266095A1 (en) | 2006-05-12 | 2007-11-15 | Fuji Xerox Co., Ltd. | Seamless electronic mail capture with user awareness and consent |
US20080040283A1 (en) | 2006-08-11 | 2008-02-14 | Arcadyan Technology Corporation | Content protection system and method for enabling secure sharing of copy-protected content |
US20080077638A1 (en) * | 2006-09-21 | 2008-03-27 | Microsoft Corporation | Distributed storage in a computing environment |
US20080080396A1 (en) * | 2006-09-28 | 2008-04-03 | Microsoft Corporation | Marketplace for cloud services resources |
US8474027B2 (en) | 2006-09-29 | 2013-06-25 | Microsoft Corporation | Remote management of resource license |
CA2606718A1 (en) | 2006-10-13 | 2008-04-13 | Quipa Holdings Limited | A private network system and method |
US7844839B2 (en) * | 2006-12-07 | 2010-11-30 | Juniper Networks, Inc. | Distribution of network communications based on server power consumption |
US20080154780A1 (en) | 2006-12-22 | 2008-06-26 | Nortel Networks Limited | Sharing usage rights |
US20130007208A1 (en) | 2007-01-08 | 2013-01-03 | Mspot, Inc. | Method and Apparatus for Transferring Digital Content between Mobile Devices Using a Computing Cloud |
US20090024713A1 (en) * | 2007-07-18 | 2009-01-22 | Metrosource Corp. | Maintaining availability of a data center |
US9323247B2 (en) | 2007-09-14 | 2016-04-26 | Fisher-Rosemount Systems, Inc. | Personalized plant asset data representation and search system |
US20090100529A1 (en) | 2007-10-11 | 2009-04-16 | Noam Livnat | Device, system, and method of file-utilization management |
US8069190B2 (en) | 2007-12-27 | 2011-11-29 | Cloudscale, Inc. | System and methodology for parallel stream processing |
US8583878B2 (en) * | 2008-01-02 | 2013-11-12 | Sandisk Il Ltd. | Storage device having direct user access |
US9135321B2 (en) | 2008-02-06 | 2015-09-15 | Microsoft Technology Licensing, Llc | Synchronization infrastructure for networked devices, applications and services in a loosely coupled multi-master synchronization environment |
US8418238B2 (en) | 2008-03-30 | 2013-04-09 | Symplified, Inc. | System, method, and apparatus for managing access to resources across a network |
EP2266365A4 (en) | 2008-04-04 | 2011-12-28 | Powerwave Cognition Inc | METHOD AND SYSTEMS FOR MOBILE ROUTING-WIDE BROADBAND INTERNET |
US8024596B2 (en) * | 2008-04-29 | 2011-09-20 | Bose Corporation | Personal wireless network power-based task distribution |
US9348991B2 (en) | 2008-05-20 | 2016-05-24 | International Business Machines Corporation | User management of authentication tokens |
US8688841B2 (en) | 2008-06-05 | 2014-04-01 | Modena Enterprises, Llc | System and method for content rights based on existence of a voice session |
US8473429B2 (en) | 2008-07-10 | 2013-06-25 | Samsung Electronics Co., Ltd. | Managing personal digital assets over multiple devices |
US7944317B2 (en) * | 2008-08-11 | 2011-05-17 | Honeywell International Inc. | Cold atom micro primary standard |
US8943551B2 (en) | 2008-08-14 | 2015-01-27 | Microsoft Corporation | Cloud-based device information storage |
US9842004B2 (en) * | 2008-08-22 | 2017-12-12 | Red Hat, Inc. | Adjusting resource usage for cloud-based networks |
US8734872B2 (en) | 2008-09-30 | 2014-05-27 | Apple Inc. | Access control to content published by a host |
US9198222B2 (en) | 2008-10-22 | 2015-11-24 | International Business Machines Corporation | Telecommunication network |
US8151062B2 (en) | 2008-10-26 | 2012-04-03 | Microsoft Corporation | Consistency models in a distributed store |
US20100251329A1 (en) * | 2009-03-31 | 2010-09-30 | Yottaa, Inc | System and method for access management and security protection for network accessible computer services |
US8464075B2 (en) | 2009-06-18 | 2013-06-11 | Xerox Corporation | System and method for policy-driven file segmentation and inter-cloud file storage and retrieval |
KR101626117B1 (ko) | 2009-06-22 | 2016-05-31 | 삼성전자주식회사 | 클라우드 스토리지를 제공하는 클라이언트, 중개 서버 및 방법 |
US8285681B2 (en) | 2009-06-30 | 2012-10-09 | Commvault Systems, Inc. | Data object store and server for a cloud storage environment, including data deduplication and data management across multiple cloud storage sites |
US8731373B2 (en) * | 2009-06-30 | 2014-05-20 | Rovi Technologies Corporation | Managing and editing stored media assets |
US8645511B2 (en) | 2009-10-13 | 2014-02-04 | Google Inc. | Pre-configuration of a cloud-based computer |
US8584221B2 (en) | 2009-10-23 | 2013-11-12 | Microsoft Corporation | Authenticating using cloud authentication |
US9009294B2 (en) * | 2009-12-11 | 2015-04-14 | International Business Machines Corporation | Dynamic provisioning of resources within a cloud computing environment |
US9875671B2 (en) | 2009-12-17 | 2018-01-23 | Google Llc | Cloud-based user interface augmentation |
US8468455B2 (en) | 2010-02-24 | 2013-06-18 | Novell, Inc. | System and method for providing virtual desktop extensions on a client desktop |
US20110231670A1 (en) | 2010-03-16 | 2011-09-22 | Shevchenko Oleksiy Yu | Secure access device for cloud computing |
US20100185868A1 (en) | 2010-03-21 | 2010-07-22 | William Grecia | Personilized digital media access system |
US8402555B2 (en) | 2010-03-21 | 2013-03-19 | William Grecia | Personalized digital media access system (PDMAS) |
US8533860B1 (en) | 2010-03-21 | 2013-09-10 | William Grecia | Personalized digital media access system—PDMAS part II |
US9432373B2 (en) | 2010-04-23 | 2016-08-30 | Apple Inc. | One step security system in a network storage system |
US20110276901A1 (en) | 2010-05-04 | 2011-11-10 | Qwest Communications International Inc. | Family chat |
US9207993B2 (en) * | 2010-05-13 | 2015-12-08 | Microsoft Technology Licensing, Llc | Dynamic application placement based on cost and availability of energy in datacenters |
US8825731B2 (en) * | 2010-05-18 | 2014-09-02 | International Business Machines Corporation | Mobile device workload management for cloud computing using SIP and presence to control workload and method thereof |
US8504689B2 (en) * | 2010-05-28 | 2013-08-06 | Red Hat, Inc. | Methods and systems for cloud deployment analysis featuring relative cloud resource importance |
EP2599001A4 (en) * | 2010-07-28 | 2013-07-31 | Admiemobile Llc | SYSTEMS AND METHODS FOR ESTABLISHING AND MAINTAINING VIRTUAL COMPUTER CLOUDS |
US8612785B2 (en) | 2011-05-13 | 2013-12-17 | International Business Machines Corporation | Optimizing energy consumption utilized for workload processing in a networked computing environment |
US9098344B2 (en) | 2011-12-27 | 2015-08-04 | Microsoft Technology Licensing, Llc | Cloud-edge topologies |
US20140181172A1 (en) | 2012-12-20 | 2014-06-26 | Brent J. Elliott | Offloading tethering-related communication processing |
US9584435B2 (en) | 2013-08-05 | 2017-02-28 | Verizon Patent And Licensing Inc. | Global cloud computing environment resource allocation with local optimization |
CN104519106B (zh) | 2013-10-08 | 2019-06-14 | 中兴通讯股份有限公司 | 一种任务迁移方法及网络控制器 |
-
2010
- 2010-07-29 US US12/846,363 patent/US20120030343A1/en not_active Abandoned
-
2011
- 2011-07-27 WO PCT/US2011/045496 patent/WO2012015893A1/en active Application Filing
- 2011-07-27 EP EP11748795.9A patent/EP2599281B1/en active Active
- 2011-07-27 AU AU2011282755A patent/AU2011282755B2/en active Active
- 2011-07-27 KR KR1020137005038A patent/KR101476936B1/ko active IP Right Grant
- 2011-07-27 CN CN2011800422192A patent/CN103081441A/zh active Pending
-
2015
- 2015-08-13 US US14/825,629 patent/US10298675B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020156893A1 (en) * | 2001-01-22 | 2002-10-24 | Eric Pouyoul | System and method for dynamic, transparent migration of services |
US20100169446A1 (en) * | 2008-12-19 | 2010-07-01 | Watchguard Technologies, Inc. | Cluster Architecture and Configuration for Network Security Devices |
Also Published As
Publication number | Publication date |
---|---|
US20120030343A1 (en) | 2012-02-02 |
AU2011282755A1 (en) | 2013-02-14 |
US20160021180A1 (en) | 2016-01-21 |
EP2599281B1 (en) | 2017-10-25 |
AU2011282755B2 (en) | 2016-01-28 |
KR20130049810A (ko) | 2013-05-14 |
CN103081441A (zh) | 2013-05-01 |
US10298675B2 (en) | 2019-05-21 |
WO2012015893A1 (en) | 2012-02-02 |
EP2599281A1 (en) | 2013-06-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101476936B1 (ko) | 네트워크 저장 시스템 안에서의 동적 이동 | |
KR101593765B1 (ko) | 네트워크 저장 시스템의 셋업 및 구성 | |
JP7516538B2 (ja) | Sd-wanハブおよびスポークの自動プロビジョニング | |
WO2020253266A1 (zh) | 一种提供边缘服务的方法、装置和设备 | |
JP6630792B2 (ja) | コンピューティングセッションの管理 | |
US8973005B2 (en) | Information processing apparatus, information processing method, recording medium and information processing system | |
EP2812801B1 (en) | Application context transfer for distributed computing resources | |
JP6220338B2 (ja) | フォールトトレラント外部アプリケーションサーバ | |
US10454756B2 (en) | Wearable group communication device bypass connectivity | |
US8417239B1 (en) | Wireless device coverage mapping | |
US20220329522A1 (en) | Adaptive resilient network communication | |
US10075387B1 (en) | Mobile server connection | |
CN102984194A (zh) | 虚拟应用程序分布机架的配置文件的同步 | |
JP2016530604A (ja) | コンピューティングセッションの管理 | |
JP6251390B2 (ja) | コンピューティングセッションの管理 | |
US20160182626A1 (en) | System and method for discovering a lan synchronization candidate for a synchronized content management system | |
US9544371B1 (en) | Method to discover multiple paths to disk devices cluster wide | |
WO2021191091A1 (en) | Establishment of a telecommunications service | |
JP2011186609A (ja) | 高可用性システム、サーバ、高可用性維持方法及びプログラム | |
US10225135B2 (en) | Provision of management information and requests among management servers within a computing network |
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 | ||
FPAY | Annual fee payment |
Payment date: 20171117 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20181115 Year of fee payment: 5 |