KR20160003515A - Device and method for operation atomicity and storage replication of cloud storage based collaborative middleware - Google Patents
Device and method for operation atomicity and storage replication of cloud storage based collaborative middleware Download PDFInfo
- Publication number
- KR20160003515A KR20160003515A KR1020140082076A KR20140082076A KR20160003515A KR 20160003515 A KR20160003515 A KR 20160003515A KR 1020140082076 A KR1020140082076 A KR 1020140082076A KR 20140082076 A KR20140082076 A KR 20140082076A KR 20160003515 A KR20160003515 A KR 20160003515A
- Authority
- KR
- South Korea
- Prior art keywords
- storage
- primitive
- cloud
- operations
- metadata
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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
본 발명의 실시예들은 클라우드 스토리지에 기반한 협업 미들웨어의 원자성 연산과 스토리지 복제 장치 및 방법에 관한 것이다.Embodiments of the present invention relate to atomic computing and storage replication devices and methods of collaborative middleware based on cloud storage.
클라우드 스토리지 서비스(Cloud Storage Service)는 리소스(resource)에 대한 원격 스토리지 관리 작업을 제공하는 클라우드 컴퓨팅 서비스 중 하나이다.Cloud Storage Service is one of the cloud computing services that provides remote storage management work on resources.
클라우드 스토리지는 민첩성, 확장성, 탄력성 및 멀티 테넌시(multi-tenancy)의 관점에서 클라우드 컴퓨팅과 같은 특징이 있으며, 스토리지의 가상화 된 풀을 통해 개인 사용자뿐만 아니라 사용자 그룹에 방대한 용량과 저장 작업을 제공한다.Cloud storage has features like cloud computing in terms of agility, scalability, resiliency, and multi-tenancy, and the virtualized pool of storage provides massive storage and storage for individual users as well as groups of users do.
C3ware는 그룹을 생성하거나 그룹에서의 맴버십을 만드는 등의 그룹 작업의 실행시에 작업장의 리소스를 관리할 수 있으며, 신뢰성 있는 리소스의 관리를 위해 다수의 클라우드 스토리지를 동시에 사용한다.C3ware can manage workspace resources at the same time as group tasks such as creating groups or creating memberships in groups, and using multiple cloud storages simultaneously for reliable resource management.
C3ware는 클라우드 스토리지(Cloud Storage)를 통해 협업 서비스(Collaborative)와 작업장(work space)을 제공할 수 있으며, 사용자와 여러 그룹에 여러 종류의 작업장을 제공할 수 있다. 이때, 상기 작업장으로 개인 작업장(personal workspace), 그룹 작업장(group workspace) 및 개방 작업장(open workspace)이 제공될 수 있다.C3ware can provide collaborative services and work space through cloud storage and can provide multiple types of workplaces to users and groups. At this time, the workplace may be provided with a personal workspace, a group workspace, and an open workspace.
종래의 클라우드 스토리지 서비스(Cloud Storage Service)는 리소스에 대한 메타데이터를 저장하지 않는데, 이와 같은 이유로 시스템 상에서의 리소스 관리가 용이하지 않다는 문제점이 있다. Conventional cloud storage services do not store metadata about resources. For this reason, there is a problem that resource management on a system is not easy.
관련 선행기술로는 한국 공개특허공보 제10-2014-0032862호(발명의 명칭: 통합 클라우드 서비스 제공 장치 및 방법, 공개일자: 2014년 3월 17일)가 있다.Related Prior Art Korean Patent Publication No. 10-2014-0032862 (entitled " Integrated Cloud Service Providing Apparatus and Method, Public Date: March 17, 2014) "
본 발명의 일 실시예는 클라우드 스토리지(Cloud)에 기반한 협업 미들웨어(Collaborative Middleware)에서 일관성(consistency)을 유지할 수 있는 원자성 연산(operation atomcity) 방법을 제공하고자 한다.One embodiment of the present invention is to provide an operation atomicity method capable of maintaining consistency in a cloud-based collaborative middleware.
또한, 본 발명의 일 실시예는 클라우드 스토리지(Cloud Strage)의 리소스(resource)와 데이터베이스(Database)에 저장되는 메타데이터(metadata)에 대한 원시 연산(Primitive Operation)을 정의하고, 서비스 연산(service operation)을 원시 연산(primitive operation)의 큐(queue)로 구성하며, 모든 원시 연산이 수행되도록 하거나 또는 모든 원시 연산 자체가 수행되지 않도록 하여 리소스와 메타데이터의 일부만이 업데이트되는 것을 방지하고자 한다.In addition, one embodiment of the present invention defines a primitive operation for a resource of a cloud storage and metadata stored in a database, and performs a service operation ) Is configured as a queue of primitive operations, and all primitive operations are performed or all primitive operations are not performed, thereby preventing only a part of resources and metadata from being updated.
또한, 본 발명의 일 실시예에 따르면 가장 최근의 모든 정보를 포함하는 리소스를 저장한 스토리지 중에서 가장 가용성이 좋은 스토리지를 마스터 스토리지로 보장함으로써, 상기 마스터 스토리지리를 통해 가장 최근 버전의 리소스에 쉽고 빠르게 액세스할 수 있도록 하고자 한다.In addition, according to an embodiment of the present invention, it is possible to ensure that the most available storage among the storages storing the resources including all the latest information is the master storage, so that the master storage can easily and quickly I want to be able to access it.
또한, 본 발명의 일 실시예는 다수의 클라우드 스토리지에서의 리소스의 복제 및 복구를 제공하고자 한다.In addition, one embodiment of the present invention seeks to provide replication and recovery of resources in multiple cloud storages.
본 발명이 해결하고자 하는 과제는 이상에서 언급한 과제(들)로 제한되지 않으며, 언급되지 않은 또 다른 과제(들)은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The problems to be solved by the present invention are not limited to the above-mentioned problem (s), and another problem (s) not mentioned can be clearly understood by those skilled in the art from the following description.
본 발명의 일 실시예에 따른 클라우드 스토리지에 기반한 협업 미들웨어의 원자성 연산과 스토리지 복제 방법은, 클라우드 매니저가 클라우드 스토리지의 리소스를 처리하는 스토리지 원시 연산(SPO: Storage Primitive Operation)들을 수행시키는 제1 단계; 데이터베이스 매니저가 데이터베이스에 저장된 상기 리소스의 메타데이터를 처리하는 메타데이터 원시 연산(MPO: Metadata Primitive Operation)들을 수행시키는 제2 단계; 및 상기 스토리지 원시 연산들과 상기 메타데이터 원시 연산들 중 적어도 어느 하나의 원시 연산이 실행되지 않으면, 상기 클라우드 매니저가 상기 클라우드 스토리지를 상기 스토리지 원시 연산들의 실행 이전의 상태로 되돌리고, 상기 데이터베이스 매니저가 상기 리소스의 메타데이터를 상기 메타데이터 원시 연산들의 실행 이전의 상태로 되돌리는 제3 단계;를 포함한다.The atomic operation and the storage replication method of the collaborative middleware based on the cloud storage according to an embodiment of the present invention include a first step in which a cloud manager performs storage primitive operations (SPO) for processing resources of a cloud storage ; A second step of a database manager performing metadata primitive operations (MPO) for processing metadata of the resource stored in the database; And if the raw operation of at least one of the storage raw operations and the metadata raw operations is not performed, the cloud manager returns the cloud storage to a state prior to execution of the storage raw operations, And returning the metadata of the resource to a state before the execution of the metadata primitive operations.
상기 제1 단계는 상기 클라우드 매니저가 상기 스토리지 원시 연산들에 포함된 연산을 순차적으로 실행시키고, 상기 제2 단계는 상기 데이터베이스 매니저가 상기 메타데이터 원시 연산들에 포함된 연산을 순차적으로 실행시킬 수 있다.Wherein the first step sequentially executes operations included in the storage source operations by the cloud manager, and the second step allows the database manager to sequentially execute the operations included in the metadata source operations .
상기 제3 단계는 상기 데이터베이스 매니저가 상기 메타데이터 원시 연산들의 원시 연산이 모두 실행되면 커밋(commit) 명령을 수행하고, 상기 메타데이터 원시 연산들 중 적어도 어느 하나의 원시 연산이 실행되지 않으면 롤백(rollback) 명령을 수행할 수 있다.In the third step, the database manager performs a commit command when all the primitive operations of the metadata primitive operations are executed, and if the primitive operation of at least one of the metadata primitive operations is not executed, ) Command.
상기 스토리지 원시 연산 및 상기 메타데이터 원시 연산은 데이터의 생성(Create), 읽기(Read), 업데이트(Update) 및 삭제(Delete) 연산일 수 있다.The storage primitive operation and the metadata primitive operation may be Create, Read, Update and Delete operations of data.
상기 제1 단계는 상기 클라우드 매니저가 복수개의 스토리지의 각각의 원시 연산(primitive operation)들의 큐(queue)에 요청 받은 순서로 원시 연산을 포함시키는 제1-1 단계; 상기 각 스토리지가 상기 큐에 포함된 원시 연산의 순서에 따라 연산을 실행하는 제1-2 단계; 및 상기 클라우드 매니저가 상기 큐의 원시 연산이 모두 실행된 스토리지들 중에서 하나를 마스터 스토리지로 지정하는 제1-3 단계;를 포함할 수 있다.The first step includes a first step of the cloud manager including a primitive operation in a queue in a primitive operation queue of each of a plurality of storages in a requested order; A first step of each of the storages executing an operation according to a sequence of primitive operations included in the queue; And a third step of the cloud manager designating one of the storages in which the primitive operation of the queue is executed as the master storage.
상기 제1 단계는 상기 클라우드 매니저는 상기 각 스토리지에서 상기 큐에 포함된 원시 연산이 실행되지 않으면, 상기 원시 연산을 상기 큐에서 제거하지 않는 제1-4 단계; 및 상기 클라우드 매니저는 상기 각 스토리지가 정상 상태로 복구되면, 상기 큐에 포함되어 있으나 실행되지 않은 원시 연산을 실행하는 제1-5 단계;를 포함할 수 있다.The first step is that the cloud manager does not remove the primitive operation from the queue if the primitive operation included in the queue is not executed in each of the storages; And (5) when the storage manager is restored to a normal state, the cloud manager executes a raw operation that is included in the queue but is not executed.
상기 제1-1 단계 이전에, 스토리지 상태 표시부가 상기 복수개의 스토리지의 각각이 대기 상태임을 나타내는 녹색(Green)을 표시하는 단계;를 더 포함하고, 상기 제1-2 단계는, 상기 스토리지 상태 표시부가 상기 각 스토리지에서 상기 큐에 포함된 원시 연산을 실행 중임을 나타내는 황색(Yellow)을 표시하고, 상기 제1-4 단계는, 상기 스토리지 상태 표시부가 상기 각 스토리지에서 상기 큐에 포함된 원시 연산이 실행되지 않았음을 나타내는 적색(Red)을 표시하고, 상기 제1-5 단계는, 상기 스토리지 상태 표시부가 상기 각 스토리지가 정상 상태로 복구되었음을 나타내는 청색(Blue)을 표시하고, 상기 제1 단계는 상기 각 스토리지에서 상기 큐에 포함된 원시 연산들이 실행되지 않아 큐가 가득 차거나 상기 각 스토리지를 사용하지 못하는 상태에 해당하면 상기 스토리지 상태 표시부가 흑색(Black)을 표시하는 제1-6 단계;를 더 포함할 수 있다.Further comprising the step of displaying a green indicating that each of the plurality of storages is in a standby state before the step of the first step, Displays a yellow color indicating that a raw operation included in the queue is being executed in each of the storages, and the step (1-4) displays the raw operation included in the queue in each of the storages The storage status display unit displays a blue color indicating that each storage is restored to a normal status, and the first step displays a red color indicating that the storage has not been executed, If the queues are full or the storage is not available because the primitive operations included in the queue are not executed in each of the storages, Ridge status display unit is the first stage 1-6 for displaying black (Black); can further comprise a.
상기 제1-3 단계는 상기 클라우드 매니저가 상기 큐의 원시 연산들이 모두 실행된 스토리지들 중에서, 지정된 상기 마스터 스토리지 이외의 스토리지들을 서브 스토리지로 지정할 수 있다.In the step 1-3, the cloud manager may designate, as sub-storage, storage other than the designated master storage among the storages in which all the primitive operations of the queue are executed.
본 발명의 일 실시예에 따른 클라우드 스토리지에 기반한 협업 미들웨어의 원자성 연산과 스토리지 복제 장치는 리소스를 저장하는 클라우드 스토리지; 상기 클라우드 스토리지의 리소스를 처리하는 스토리지 원시 연산(SPO: Storage Primitive Operation)들을 수행시키는 클라우드 매니저; 상기 리소스의 메타데이터를 저장하는 데이터베이스; 및 상기 데이터베이스에 저장된 상기 리소스의 메타데이터를 처리하는 메타데이터 원시 연산(MPO: Metadata Primitive Operation)들을 수행시키는 데이터베이스 매니저;를 포함하고, 상기 스토리지 원시 연산들과 상기 메타데이터 원시 연산들 중 적어도 어느 하나의 원시 연산이 실행되지 않으면, 상기 클라우드 매니저는 상기 클라우드 스토리지를 상기 스토리지 원시 연산들의 실행 이전의 상태로 되돌리고, 상기 데이터베이스 매니저는 상기 리소스의 메타데이터를 상기 메타데이터 원시 연산들의 실행 이전의 상태로 되돌린다.The atomic operation of the collaboration middleware based on the cloud storage according to an embodiment of the present invention and the storage replication apparatus include a cloud storage for storing resources; A cloud manager for performing storage primitive operations (SPOs) for processing resources of the cloud storage; A database for storing metadata of the resources; And a database manager for performing metadata primitive operations (MPOs) for processing metadata of the resources stored in the database, wherein at least one of the storage primitive operations and the metadata primitive operations The cloud manager returns the cloud storage to a state prior to execution of the storage primitive operations and the database manager returns the metadata of the resource to a state prior to execution of the metadata primitive operations Turn it.
상기 클라우드 매니저는 상기 스토리지 원시 연산들에 포함된 연산을 순차적으로 실행시키고, 상기 데이터베이스 매니저는 상기 메타데이터 원시 연산들에 포함된 연산을 순차적으로 실행시킬 수 있다.The cloud manager may sequentially execute the operations included in the storage primitive operations, and the database manager may sequentially execute the operations included in the metadata primitive operations.
상기 데이터베이스 매니저는 상기 메타데이터 원시 연산들의 원시 연산이 모두 실행되면 커밋(commit) 명령을 수행하고, 상기 메타데이터 원시 연산들 중 적어도 어느 하나의 원시 연산이 실행되지 않으면 롤백(rollback) 명령을 수행할 수 있다.The database manager performs a commit command when all the primitive operations of the metadata primitive operations are executed and performs a rollback command if at least one primitive operation of the metadata primitive operations is not executed .
상기 스토리지 원시 연산 및 상기 메타데이터 원시 연산은 데이터의 생성(Create), 읽기(Read), 업데이트(Update) 및 삭제(Delete) 연산일 수 있다.The storage primitive operation and the metadata primitive operation may be Create, Read, Update and Delete operations of data.
상기 클라우드 매니저는 복수개의 스토리지의 각각의 원시 연산(primitive operation)들의 큐(queue)에 요청 받은 순서로 원시 연산을 포함시키고, 상기 각 스토리지가 상기 큐에 포함된 원시 연산의 순서에 따라 연산을 실행하도록 제어하고, 상기 큐의 원시 연산이 모두 실행된 스토리지들 중에서 하나를 마스터 스토리지로 지정할 수 있다.Wherein the cloud manager includes a primitive operation in a queue of primitive operations of each of a plurality of storages in a requested order, and each storage executes an operation according to a sequence of primitive operations included in the queue , And designate one of the storages in which the primitive operation of the queue is executed as master storage.
상기 클라우드 매니저는 상기 각 스토리지에서 상기 큐에 포함된 원시 연산이 실행되지 않으면, 상기 원시 연산을 상기 큐에서 제거하지 않고, 상기 각 스토리지가 정상 상태로 복구되면, 상기 큐에 포함되어 있으나 실행되지 않은 원시 연산을 실행할 수 있다.Wherein the cloud manager does not remove the primitive operations from the queue if primitive operations included in the queues are not performed in the respective storages and if the respective storages are restored to a normal state, You can perform primitive operations.
스토리지 상태 표시부는 상기 복수개의 스토리지의 각각이 대기 상태이면 녹색(Green)을 표시하고, 상기 각 스토리지에서 상기 큐에 포함된 원시 연산을 실행 중이면 황색(Yellow)을 표시하고, 상기 각 스토리지에서 상기 큐에 포함된 원시 연산이 실행되지 않으면 적색(Red)을 표시하고, 상기 각 스토리지가 정상 상태로 복구되면 청색(Blue)을 표시하고, 상기 각 스토리지에서 상기 큐에 포함된 원시 연산들이 실행되지 않아 큐가 가득 차거나 상기 각 스토리지를 사용하지 못하는 상태에 해당하면 상기 스토리지 상태 표시부가 흑색(Black)을 표시할 수 있다.Wherein the storage status display unit displays green when each of the plurality of storages is in a standby state and displays yellow when each of the storages is executing a primitive operation included in the queue, Displaying red when the primitive operations included in the queue are not executed and displaying blue when the respective storage is restored to a normal state and primitive operations included in the queue are not executed in each of the storages If the queue is full or the storage is not available, the storage status indicator may display black.
상기 클라우드 매니저는 상기 큐의 원시 연산들이 모두 실행된 스토리지들 중에서, 지정된 상기 마스터 스토리지 이외의 스토리지들을 서브 스토리지로 지정할 수 있다.The cloud manager may designate, as sub-storage, storage other than the specified master storage among the storages in which all the primitive operations of the queue are executed.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 첨부 도면들에 포함되어 있다.The details of other embodiments are included in the detailed description and the accompanying drawings.
본 발명의 일 실시예에 따르면, 클라우드(Cloud) 스토리지에 기반한 협업 미들웨어(Collaborative Middleware)에서 일관성(consistency)을 유지할 수 있는 원자성 연산(operation atomcity) 방법을 제공할 수 있다.According to an embodiment of the present invention, it is possible to provide an operation atomicity method capable of maintaining consistency in collaborative middleware based on cloud storage.
본 발명의 일 실시예에 따르면 클라우드 스토리지(Cloud Strage)의 리소스(resource)와 데이터베이스(Database)에 저장되는 메타데이터(metadata)에 대한 원시 연산(Primitive Operation)을 정의하고, 서비스 연산(service operation)을 원시 연산(primitive operation)의 큐(queue)로 구성하며, 모든 원시 연산이 수행되도록 하거나 또는 모든 원시 연산 자체가 수행되지 않도록 하여 리소스와 메타데이터의 일부만이 업데이트되는 것을 방지하고자 한다.According to an embodiment of the present invention, a resource of a cloud storage and a primitive operation for metadata stored in a database are defined, and a service operation, Is configured as a queue of primitive operations and all primitive operations are performed or all primitive operations are not performed to prevent only a part of the resources and metadata from being updated.
본 발명의 일 실시예에 따르면 가장 최근의 모든 정보를 포함하는 리소스를 저장한 스토리지 중에서 가장 가용성이 좋은 스토리지를 마스터 스토리지로 보장함으로써, 상기 마스터 스토리지리를 통해 가장 최근 버전의 리소스에 쉽고 빠르게 액세스할 수 있도록 하고자 한다.According to an embodiment of the present invention, it is possible to easily and quickly access the latest version of resources through the master storage by ensuring that the most available storage among the storages storing resources including all the latest information is the master storage .
본 발명의 일 실시예는 다수의 클라우드 스토리지에서의 리소스의 복제 및 복구를 제공하고자 한다.One embodiment of the present invention seeks to provide replication and recovery of resources in multiple cloud storages.
도 1은 본 발명의 일 실시예에 따른 협업 서비스(Collaborative)와 작업장(work space)을 설명하기 위한 도면이다.
도 2는 본 발명의 일 실시예에 따른 클라우드 스토리지에 기반한 협업 미들웨어의 원자성 연산을 위한 구성을 설명하기 위한 도면이다.
도 3은 본 발명의 일 실시예에 따른 클라우드 스토리지에 기반한 협업 미들웨어의 스토리 복제를 위한 구성을 설명하기 위한 도면이다.
도 4는 본 발명의 일 실시예에 따른 클라우드 스토리지들의 상태를 표시하는 방법을 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른 클라우드 스토리지에 기반한 협업 미들웨어의 원자성 연산과 스토리지 복제 방법을 설명하기 위한 흐름도이다.
도 6은 본 발명의 일 실시예에 따른 클라우드 스토리지의 복제 방법을 설명하기 위한 흐름도이다.
도 7은 본 발명의 일 실시예에 따른 클라우드 스토리지에 기반한 협업 미들웨어의 원자성 연산과 스토리지 복제 방법과 종래 기술의 성능을 비교하기 위한 그래프이다.1 is a view for explaining a collaborative service and a work space according to an embodiment of the present invention.
FIG. 2 is a view for explaining a configuration for atomic computing of a collaboration middleware based on cloud storage according to an embodiment of the present invention.
FIG. 3 is a diagram for explaining a configuration for replicating storages of collaborative middleware based on cloud storage according to an embodiment of the present invention. Referring to FIG.
FIG. 4 is a diagram illustrating a method of displaying the state of the cloud storage according to an embodiment of the present invention. Referring to FIG.
5 is a flowchart illustrating an atomic operation and a storage replication method of a collaborative middleware based on cloud storage according to an embodiment of the present invention.
6 is a flowchart illustrating a replication method of a cloud storage according to an embodiment of the present invention.
7 is a graph for comparing the performance of the conventional technology with the atomic operation of the collaboration middleware based on the cloud storage according to an embodiment of the present invention and the storage replication method.
본 발명의 이점 및/또는 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성요소를 지칭한다.BRIEF DESCRIPTION OF THE DRAWINGS The advantages and / or features of the present invention, and how to accomplish them, will become apparent with reference to the embodiments described in detail below with reference to the accompanying drawings. It should be understood, however, that the invention is not limited to the disclosed embodiments, but is capable of many different forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, To fully disclose the scope of the invention to those skilled in the art, and the invention is only defined by the scope of the claims. Like reference numerals refer to like elements throughout the specification.
이하에서는 첨부된 도면을 참조하여 본 발명의 실시예들을 상세히 설명하기로 한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명의 일 실시예에 따른 협업 서비스(Collaborative)와 작업장(work space)을 설명하기 위한 도면이고, 도 2는 본 발명의 일 실시예에 따른 클라우드 스토리지에 기반한 협업 미들웨어의 원자성 연산을 위한 구성을 설명하기 위한 도면이다.FIG. 1 is a diagram for explaining a collaborative service and a work space according to an embodiment of the present invention. FIG. 2 is a diagram illustrating an atomic operation of a collaboration middleware based on cloud storage according to an embodiment of the present invention. Fig.
도 1에 도시된 바와 같이 본 발명의 일 실시예에 따르면, 미들웨어(Middleware: 100)가 클라우드 스토리지(Cloud Storage)를 통해 협업 서비스(Collaborative)와 작업장(work space)을 제공할 수 있다.As shown in FIG. 1, according to an embodiment of the present invention, a
보다 상세하게 설명하면, 본 발명의 일 실시예에 따른 클라우드 스토리지에 기반한 협업 미들웨어의 원자성 연산과 스토리지 복제 장치(100)는 C3ware로 구성될 수 있으며, 상기 원자성 연산과 스토리지 복제 장치(100)는 사용자(110, 111, 112)와 사용자 그룹(120)에 개인 작업장(personal workspace: 115), 그룹 작업장(group workspace: 125) 및 개방 작업장(open workspace: 135)을 제공할 수 있다.In more detail, the atomic operation of the collaborative middleware based on the cloud storage and the
원자성 연산과 스토리지 복제 장치 (100)는 그룹(120)을 생성하거나 그룹에서의 맴버십을 만드는 등의 그룹 작업의 실행시에 작업장의 리소스를 관리할 수 있으며, C3ware에서는 신뢰성 있는 리소스의 관리를 위해, 도 2에 도시된 바와 같이 다수의 클라우드 스토리지(215, 216)를 동시에 사용한다.The atomic operation and the
일반적으로 클라우드 스토리지 서비스(Cloud Storage Service)는 클라우드 스토리지(215, 216)을 통해 기본적인 리소스(resource) 관리 기능을 제공하고, 그룹 작업 시에 필요한 작업을 지원하기 위해 데이터베이스(225)에 리소스의 메타데이터(metadata)를 저장하여, 다수의 클라우드 스토리지(215, 216)와 메타데이터 간의 일관성을 유지할 수 있다.Generally, the cloud storage service provides basic resource management functions through the
도 2를 참조하면, 본 발명의 일 실시예에 따른 클라우드 스토리지에 기반한 협업 미들웨어의 원자성 연산과 스토리지 복제 장치는 클라우드 스토리지(215, 216), 클라우드 매니저(211, 212), 데이터베이스(225) 및 데이터베이스 매니저(220)를 포함한다.2, the atomic operation and the storage replication apparatus of the collaboration middleware based on the cloud storage according to an embodiment of the present invention includes the
클라우드 스토리지(215, 216)는 리소스를 저장하고, 클라우드 매니저(211, 212)는 상기 클라우드 스토리지(215, 216)의 리소스를 처리하는 스토리지 원시 연산(SPO: Storage Primitive Operation)들을 수행시킨다.The
또한, 데이터베이스(225)는 상기 리소스의 메타데이터를 저장하고, 데이터베이스 매니저(220)는 상기 데이터베이스(225)에 저장된 상기 리소스의 메타데이터를 처리하는 메타데이터 원시 연산(MPO: Metadata Primitive Operation)들을 수행시킨다.The
이때, 상기 스토리지 원시 연산들과 상기 메타데이터 원시 연산들에 포함되는 원시 연산(Primitive Operation)은 상기 클라우드 스토리지(211, 212)의 리소스 정보와 데이터베이스(225)의 메타데이터를 다루기 위한 연산으로서, 데이터의 생성(Create), 읽기(Read), 업데이트(Update) 및 삭제(Delete) 연산에 해당한다.The primitive operations included in the storage primitive operations and the metadata primitive operations are operations for handling resource information of the
표 1은 본 발명의 일 실시예에 따른 원시 연산을 스토리지 원시 연산과 메타데이터 원시 연산으로 구분하여 표시하고 있다.Table 1 shows the primitive operations according to an embodiment of the present invention by dividing them into the storage primitive operation and the metadata primitive operation.
본 발명의 일 실시예에 따른 원시 연산은 표 1에서와 같이 스토리지 원시 연산과 메타데이터 원시 연산으로 구분할 수 있다.The primitive operation according to an embodiment of the present invention can be divided into a storage primitive operation and a metadata primitive operation as shown in Table 1. [
스토리지 원시연산(Storage Primitive Operation)
Storage Primitive Operation
(Metadata Primitive Operation)Metadata Raw Operations
(Metadata Primitive Operation)
표 1에서와 같이 스토리지 원시 연산은 클라우드 스토리지의 리소스를 복구하고 관리하기 위한 원시 연산이고, 메타데이터 원시 연산은 그룹 작업 시의 리소스의 메타데이터를 처리하기 위한 원시 연산이다.As shown in Table 1, the storage primitive operation is a primitive operation for recovering and managing the resources of the cloud storage, and the metadata primitive operation is a primitive operation for processing the metadata of the resource at the time of group operation.
본 발명의 일 실시예에 따른 협업 서비스(Collaborative Service) 시에는 모든 원시 연산들이 트랜잭션(transaction)과 같이 원자성(atomic) 방법으로 실행된다.In a collaborative service according to an embodiment of the present invention, all primitive operations are executed in an atomic manner such as a transaction.
협업 서비스의 실행시에는 상기 협업 서비스를 구성하는 모든 원시 연산들이 순서대로 실행되며, 상기 순서에 의한 원시 연산들의 실행 중에 어느 하나의 원시 연산의 실행이 실패하는 경우에는, 이전에 실행된 원시 연산에 의해 부분적으로 수행된 협업 서비스를 모두 취소한다.When executing the collaboration service, all the primitive operations constituting the collaboration service are executed in order. If the execution of one primitive operation fails during the execution of the primitive operations in the above order, Cancel all collaborative services partially performed by
즉, 상기 스토리지 원시 연산들과 상기 메타데이터 원시 연산들 중 적어도 어느 하나의 원시 연산이 실행되지 않으면, 상기 클라우드 매니저(211, 212)가 상기 클라우드 스토리지(215, 216)를 상기 스토리지 원시 연산들의 실행 이전의 상태로 되돌리고, 상기 데이터베이스 매니저(220)가 상기 리소스의 메타데이터를 상기 메타데이터 원시 연산들의 실행 이전의 상태로 되돌린다.That is, if the raw operation of at least one of the storage primitive operations and the metadata primitive operations is not performed, the
보다 상세하게 설명하면, 데이터베이스 매니저(220)는 상기 메타데이터 원시 연산들의 원시 연산이 모두 실행되면 커밋(commit) 명령을 수행하고, 상기 메타데이터 원시 연산들 중 적어도 어느 하나의 원시 연산이 실행되지 않으면 롤백(rollback) 명령을 수행할 수 있다.More specifically, the
도 3은 본 발명의 일 실시예에 따른 클라우드 스토리지에 기반한 협업 미들웨어의 스토리 복제를 위한 구성을 설명하기 위한 도면이다.FIG. 3 is a diagram for explaining a configuration for replicating storages of collaborative middleware based on cloud storage according to an embodiment of the present invention. Referring to FIG.
도 3에 도시된 바와 같이, 클라우드 스토리지(215, 216, 217)의 각각의 클라우드 매니저(211, 212, 213)는 스토리지 커넥터 매니저(230)를 통해 스토리지 원시 연산(Storage Primitive Operation)을 전달 받으면, 각 클라우드 스토리지의 큐(Queue: 201, 202, 203)에 상기 전달받은 원시 연산을 전달받은 순서대로 포함시킨다.As shown in FIG. 3, when each of the
상기 각각의 큐(201, 202, 203)는 각 스토리지(215, 216, 217)에 할당되어 있으며, 상기 클라우드 매니저(211, 212, 213)는 각 스토리지(215, 216, 217)가 상기 큐(201, 202, 203)에 포함된 원시 연산의 순서에 따라 연산을 실행하도록 한다.Each of the
이때, 상기 큐(201, 202, 203)에 포함된 원시 연산은 성공적으로 실행되면 상기 큐(201, 202, 203)에서 제거되고 다음 원시 연산이 실행되며, 큐(201, 202, 203)가 끝날 때까지 원시 연산의 실행과 제거 과정이 계속된다.At this time, if the primitive operations included in the
상기 클라우드 매니저(211, 212, 213)는 상기 각 스토리지(215, 216, 217)에서 상기 큐(201, 202, 203)에 포함된 원시 연산이 실행되지 않으면, 상기 원시 연산을 상기 큐(201, 202, 203)에서 제거하지 않으며, 상기 각 스토리지(215, 216, 217)가 정상 상태로 복구되면, 상기 큐(201, 202, 203)에 포함되어 있으나 실행되지 않은 원시 연산을 실행한다.The
즉, 네트워크 실패 등의 이유로 원시 연산이 실패한 경우에는 클라우드 매니저(211, 212, 213)는 상기 원시 연산을 중지하고 큐(201, 202, 203)에서 연산을 제거하지 않으며, 스토리지를 사용불가 상태로 표시하고, 스토리지가 정상 상태로 복구되면 큐(201, 202, 203)에 남아 있는 원시 연산을 순서대로 스토리지(215, 216, 217)에서 실행할 수 있다.That is, when the primitive operation fails due to a network failure or the like, the
따라서, 각 클라우드 매니저(211, 212, 213)는 큐(201, 202, 203)에 포함된 모든 원시 연산을 실행 할 수 있으며, 모든 큐가 비워지게 되면 모든 스토리지(215, 216, 217)들은 동일한 리소스를 가지게 된다.Thus, each of the
또한, 클라우드 매니저(211, 212, 213)는 큐(201, 202, 203)의 원시 연산이 모두 실행된 스토리지들 중에서 적어도 하나를 마스터 스토리지로서 지정할 수 있다. 따라서, 본 발명의 일 실시예 따르면, 가장 최근의 모든 정보를 포함하는 리소스를 저장한 스토리지 중에서 가장 가용성이 좋은 스토리지를 마스터 스토리지로 지정함으로써, 상기 마스터 스토리지리를 통해 가장 최근 버전의 리소스에 쉽고 빠르게 액세스 할 수 있다.In addition, the
본 발명의 다른 실시예에서는, 클라우드 매니저(211, 212, 213)는 마스터 스토리지가 최소한 한 개 이상이 지정된 상태에서만 원시 연산이 수행되도록 마스터 스토리지를 보장하도록 구성될 수 있다. In another embodiment of the present invention, the
예컨대, 클라우드 매니저(211, 212, 213)는 모든 클라우드 스토리지에서 연산이 완벽하게 실행되지 않아 마스터 스토리지를 지정하지 못하게 되는 상황이 되면 모든 클라우드 스토리지 각각에 할당된 큐에 포함된 원시 연산을 수행하지 않고 대기하다가, 클라우드 스토리지 중 적어도 하나를 마스터 스토리지로 지정할 수 있는 상황이 되면 큐에 포함된 원시 연산을 수행하는 방식으로 마스터 스토리지를 보장할 수 있다. For example, when the
도 4는 본 발명의 일 실시예에 따른 클라우드 스토리지들의 상태를 표시하는 방법을 설명하기 위한 도면이다.FIG. 4 is a diagram illustrating a method of displaying the state of the cloud storage according to an embodiment of the present invention. Referring to FIG.
한편, 본 발명의 일 실시예에 따르면 클라우드 스토리지들의 상태를 모니터링하고 관리하기 위하여, 클라우드 스토리지들의 각각은 녹색(Green), 노란색(Yellow), 빨간색(Red), 파란색(Blue), 검은색(Black)의 총 5가지의 색깔로 상태가 표시될 수 있다.According to an exemplary embodiment of the present invention, in order to monitor and manage the state of the cloud storage, each of the cloud storage devices may be classified into one of green, yellow, red, blue, ) Can be displayed in a total of five colors.
상기 각각의 클라우드 스토리지들의 상태에 따라 각 스토리지들의 상태를 나타내는 색깔이 변화한다.The color representing the state of each storage varies according to the state of each of the cloud storages.
보다 상세하게 설명하면, 도 4에 도시된 바와 같이 스토리지 상태 표시부는 상기 복수개의 스토리지의 각각이 대기 상태이면 녹색(Green)을 표시하고, 상기 각 스토리지에서 상기 큐에 포함된 원시 연산을 실행 중이면 황색(Yellow)을 표시할 수 있다.More specifically, as shown in FIG. 4, the storage status display unit displays green when each of the plurality of storages is in the standby state, and when executing the primitive operation included in the queue in each of the storages Yellow (Yellow) can be displayed.
또한, 스토리지 상태 표시부는 상기 각 스토리지에서 상기 큐에 포함된 원시 연산이 실행되지 않으면 적색(Red)을 표시하고, 상기 각 스토리지가 정상 상태로 복구되거나 네트워크가 단절되면 청색(Blue)을 표시할 수 있으며, 상기 각 스토리지에서 상기 큐에 포함된 원시 연산들이 실행되지 않는 큐가 가득 차거나 각 스토리지를 사용하지 못하는 상태에 해당하면 흑색(Black)을 표시할 수 있다.The storage status display unit may display a red color if the primitive operation included in the queue is not executed in each of the storages, and may display a blue color when the storage is restored to a normal state or the network is disconnected. And can display black if the queues in which the primitive operations included in the queue are not executed in the storage are full or the respective storage is not available.
따라서, 본 발명의 일 실시예에 따르면 클라우드 스토리지의 각각의 상태를 보다 효과적으로 모니터링하여, 가장 최근의 모든 정보를 포함하는 가장 가용성이 좋은 스토리지를 마스터 스토리지로 지정함으로써, 가장 최근 버전의 리소스에 쉽게 액세스 할 수 있다.Thus, according to one embodiment of the present invention, by monitoring each state of the cloud storage more effectively and designating the highest available storage containing all the latest information as master storage, it is possible to easily access the latest version of the resource can do.
도 5는 본 발명의 일 실시예에 따른 클라우드 스토리지에 기반한 협업 미들웨어의 원자성 연산과 스토리지 복제 방법을 설명하기 위한 흐름도이다.5 is a flowchart illustrating an atomic operation and a storage replication method of a collaborative middleware based on cloud storage according to an embodiment of the present invention.
먼저, 클라우드 매니저가 클라우드 스토리지의 리소스를 처리하는 스토리지 원시 연산(SPO: Storage Primitive Operation)들을 수행시킨다(S510).First, the cloud manager performs storage primitive operations (SPO) for processing resources of the cloud storage (S510).
이때, 상기 클라우드 매니저는 상기 스토리지 원시 연산들에 포함된 연산을 순차적으로 실행시킨다.At this time, the cloud manager sequentially executes the operations included in the storage primitive operations.
이후에는 데이터베이스 매니저가 데이터베이스에 저장된 상기 리소스의 메타데이터를 처리하는 메타데이터 원시 연산(MPO: Metadata Primitive Operation)들을 수행시킨다(S520).Thereafter, the database manager performs metadata primitive operations (MPO) for processing metadata of the resources stored in the database (S520).
마찬가지로, 상기 데이터베이스 매니저는 상기 메타데이터 원시 연산들에 포함된 연산을 순차적으로 실행시킨다.Similarly, the database manager sequentially executes the operations included in the metadata primitive operations.
한편, 상기 스토리지 원시 연산 및 상기 메타데이터 원시 연산은 데이터의 생성(Create), 읽기(Read), 업데이트(Update) 및 삭제(Delete) 연산으로 구성될 수 있다.The storage primitive operation and the meta data primitive operation may be composed of data generation (Create), read (Read), update (Update), and delete (Delete) operations.
이후에는, 협업 미들웨어의 원자성 연산과 스토리지 복제 장치가 상기 스토리지 원시 연산들과 상기 메타데이터 원시 연산들 중 적어도 어느 하나의 원시 연산이 실행되었는지 판단하여(S530), 상기 스토리지 원시 연산들과 상기 메타데이터 원시 연산들 중 적어도 어느 하나의 원시 연산이 실행되지 않았으면, 상기 클라우드 매니저가 롤백(rollback) 명령을 통해 상기 클라우드 스토리지를 상기 스토리지 원시 연산들의 실행 이전의 상태로 되돌리고(S540), 상기 데이터베이스 매니저가 롤백(rollback) 명령을 통해 상기 리소스의 메타데이터를 상기 메타데이터 원시 연산들의 실행 이전의 상태로 되돌린다(S545).Thereafter, it is determined whether the atomic operation of the collaboration middleware and the storage replication apparatus have executed at least one of the storage source operations and the metadata source operations (S530), and the storage source operations and the meta If at least one of the primitive operations of the data source operations is not executed, the cloud manager returns the cloud storage to a state before execution of the storage primitive operations through a rollback command (S540) The metadata of the resource is restored to a state before execution of the metadata primitive operations through a rollback command in operation S545.
보다 상세하게 설명하면, 데이터베이스 매니저는 상기 메타데이터 원시 연산들의 원시 연산이 모두 실행되면 커밋(commit) 명령을 수행하고, 상기 메타데이터 원시 연산들 중 적어도 어느 하나의 원시 연산이 실행되지 않으면 롤백(rollback) 명령을 수행할 수 있다.More specifically, the database manager performs a commit command when all the primitive operations of the metadata primitive operations are executed, and performs a rollback when at least one of the metadata primitive operations is not executed. ) Command.
즉, 협업 서비스의 실행시에는 상기 협업 서비스를 구성하는 모든 원시 연산들이 순서대로 실행되며, 상기 순서에 의한 원시 연산들의 실행 중에 어느 하나의 원시 연산의 실행이 실패하는 경우에는, 이전에 실행된 원시 연산에 의해 부분적으로 수행된 협업 서비스를 모두 취소한다.That is, when executing the collaboration service, all of the primitive operations constituting the collaboration service are executed in order, and when execution of one of the primitive operations fails during the execution of the primitive operations in the above order, Cancel all collaborative services partially performed by the operation.
도 6은 본 발명의 일 실시예에 따른 클라우드 스토리지의 복제 방법을 설명하기 위한 흐름도로서, 도 5의 스토리지 원시 연산들이 수행되는 단계(S510)를 보다 상세하게 설명하기 위한 도면이다.FIG. 6 is a flowchart for explaining a replication method of a cloud storage according to an embodiment of the present invention, in more detail, step S510 in which the storage primitive operations of FIG. 5 are performed.
클라우드 매니저는 스토리지 원시 연산(Storage Primitive Operation)을 전달 받으면, 각 클라우드 스토리지의 큐(Queue)에 상기 전달받은 원시 연산을 전달받은 순서대로 포함시킨다(S511).When the storage manager receives the storage primitive operation, the cloud manager includes the received primitive operations in the queue of each cloud storage in the order received, S511.
상기 각각의 큐는 각 스토리지에 할당되어 있으며, 상기 클라우드 매니저는 각 스토리지가 상기 큐에 포함된 원시 연산의 순서에 따라 연산을 실행하도록 한다(S512).Each of the queues is allocated to each storage, and the cloud manager causes each storage to perform an operation according to the order of primitive operations included in the queue (S512).
이때, 상기 큐에 포함된 원시 연산은 성공적으로 실행되면 상기 큐에서 제거되고 다음 원시 연산이 실행되며, 큐가 끝날 때까지 원시 연산의 실행과 제거 과정이 계속된다.At this time, if the primitive operation included in the queue is successfully executed, the primitive operation is removed from the queue, the next primitive operation is executed, and the execution and removal of the primitive operation is continued until the end of the queue.
그러나, 상기 클라우드 매니저는 상기 각 스토리지에서 상기 큐에 포함된 원시 연산이 실행되지 않으면(S513), 상기 원시 연산을 상기 큐(S514)에서 제거하지 않으며, 상기 각 스토리지가 정상 상태로 복구되면(S515), 상기 큐에 포함되어 있으나 실행되지 않은 원시 연산을 실행한다(S516).However, if the raw operation included in the queue is not executed in each of the storages (S513), the cloud manager does not remove the original operation from the queue (S514). If the storage is restored to the normal state (S515 ), A raw operation that is contained in the queue but is not executed is executed (S516).
즉, 네트워크 실패 등의 이유로 원시 연산이 실패한 경우에는 클라우드 매니저는 상기 연산을 중지하고 큐에서 연산을 제거하지 않으며, 스토리지를 사용불가 상태로 표시하고, 스토리지가 정상 상태로 복구되면 큐에 남아 있는 원시 연산을 순서대로 스토리지에서 실행할 수 있다.That is, when a primitive operation fails due to a network failure or the like, the cloud manager stops the operation, does not remove the operation from the queue, marks the storage as unusable, and if the storage is restored to the normal state, Operations can be run in sequence on storage.
따라서, 각 클라우드 매니저는 큐에 포함된 모든 원시 연산을 실행 할 수 있으며, 모든 큐가 비워지게 되면 모든 스토리지들은 동일한 리소스를 가지게 되고, 클라우드 매니저는 큐의 원시 연산이 모두 실행된 스토리지들 중에서 하나를 마스터 스토리지로 지정할 수 있다.Thus, each cloud manager can execute all the primitive operations contained in the queue, and when all the queues are empty, all the storage will have the same resources, and the cloud manager will have one of the queues' It can be designated as master storage.
도 7은 본 발명의 일 실시예에 따른 클라우드 스토리지에 기반한 협업 미들웨어의 원자성 연산과 스토리지 복제 방법과 종래 기술의 성능을 비교하기 위한 그래프이다.7 is a graph for comparing the performance of the conventional technology with the atomic operation of the collaboration middleware based on the cloud storage according to an embodiment of the present invention and the storage replication method.
이후부터는 도 7을 참조하여 본 발명과 종래 기술인 DEPSKY의 성능을 비교하기로 한다.Hereinafter, the performance of the present invention and the conventional DEPSKY will be compared with reference to FIG.
종래 기술인 DEPSKY는 다양한 클라우드 스토리지들의 데이터 복제를 통해 클라우드 스토리지에 정보를 저장하는 기술이다.The prior art DEPSKY is a technology for storing information in cloud storage through data replication of various cloud storages.
DEPSKY는 클라이언트에 소프트웨어 라이브러리로 구현되고, 이 라이브러리는 백 엔드(back-end) 스토리지들의 읽기와 쓰기를 허용하는 병렬 파일 시스템에 사용되는 것과 유사한 객체 저장 인터페이스를 제공하며, 여러개의 클라우드 스토리지를 사용한다.DEPSKY is implemented as a software library on the client that provides object storage interfaces similar to those used for parallel file systems that allow reading and writing back-end storage and uses multiple cloud storage .
그러나, DEPSKY는 마스터 스토리지의 개념을 지원하지 않으므로, 항상 모든 리소스를 유지하는 클라우드 스토리지의 구성을 보장하지 못하는 단점이 있다. However, since DEPSKY does not support the concept of master storage, there is a disadvantage that it can not guarantee the configuration of cloud storage that always maintains all resources.
본 발명과 종래 기술인 DEPSKY를 비교하기 위하여, 4개의 클라우드 스토리지를 이용해 테스트하였으며, 읽기(Read)와 쓰기(Write) 연산을 각각 100회씩 실행하였으며, 각 연산에는 다양한 크기의 파일을 사용하였다.In order to compare the present invention with the conventional DEPSKY, four cloud storages were used and 100 read and write operations were performed for each operation, and files of various sizes were used for each operation.
도 7에 도시된 바와 같이, 본 발명과 종래 기술은 동일한 작업을 수행하였으나 본 발명이 보다 뛰어난 성능을 나타냄을 알 수 있다.As shown in FIG. 7, the present invention and the prior art have performed the same operation, but the present invention shows superior performance.
즉, 종래 기술은 DEPSKY는 읽기와 쓰기 오퍼레이션의 실행 시에 각 스토리지의 리소스의 버전 정보를 확인하기 위하여 모든 연결된 스토리지들에 액세스를 시도하여야 하므로, 필요 시상의 오버헤드(overhead) 시간을 필요로 한다.That is, in the prior art, DEPSKY needs to access all connected storages in order to check the version information of each storage resource at the time of executing the read and write operations, and thus requires an overhead time required .
그러나, 본 발명의 일 실시예에 따르면 가장 최근의 모든 정보를 포함하는 리소스를 저장한 스토리지 중에서 가장 가용성이 좋은 스토리지를 마스터 스토리지로 지정함으로써, 상기 마스터 스토리지를 통해 가장 최근 버전의 리소스에 쉽고 빠르게 액세스할 수 있다.However, according to an embodiment of the present invention, by designating the most available storage among the storages storing resources including all the latest information as master storage, it is possible to easily and quickly access the latest version of the resources through the master storage can do.
본 발명의 실시예들은 다양한 컴퓨터로 구현되는 동작을 수행하기 위한 프로그램 명령을 포함하는 컴퓨터 판독 가능 매체를 포함한다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 로컬 데이터 파일, 로컬 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크와 같은 자기-광 매체, 및 롬, 램, 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.Embodiments of the present invention include computer readable media including program instructions for performing various computer implemented operations. The computer-readable medium may include program instructions, local data files, local data structures, etc., alone or in combination. The media may be those specially designed and constructed for the present invention or may be those known to those skilled in the computer software. Examples of computer-readable media include magnetic media such as hard disks, floppy disks and magnetic tape, optical recording media such as CD-ROMs and DVDs, magneto-optical media such as floppy disks, and ROMs, And hardware devices specifically configured to store and execute the same program instructions. Examples of program instructions include machine language code such as those produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like.
지금까지 본 발명에 따른 구체적인 실시예에 관하여 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서는 여러 가지 변형이 가능함은 물론이다. 그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허 청구의 범위뿐 아니라 이 특허 청구의 범위와 균등한 것들에 의해 정해져야 한다.While the present invention has been described in connection with what is presently considered to be practical exemplary embodiments, it is to be understood that the invention is not limited to the disclosed embodiments. Therefore, the scope of the present invention should not be limited to the described embodiments, but should be determined by the scope of the appended claims and equivalents thereof.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 이는 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명 사상은 아래에 기재된 특허청구범위에 의해서만 파악되어야 하고, 이의 균등 또는 등가적 변형 모두는 본 발명 사상의 범주에 속한다고 할 것이다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments, but, on the contrary, Modification is possible. Accordingly, the spirit of the present invention should be understood only in accordance with the following claims, and all equivalents or equivalent variations thereof are included in the scope of the present invention.
100: 원자성 연산과 스토리지 복제 장치
110, 111, 112: 사용자
115: 개인 작업장
120: 사용자 그룹
125: 그룹 작업장
135: 개방 작업장
201, 202, 203: 큐(Queue)
205, 206, 207: 스토리지 커넥터
211, 212, 213: 클라우드 매니저
215, 216, 217: 클라우드 스토리지
220: 데이터베이스 매니저
225: 데이터베이스
230: 스토리지 커넥터 매니저100: Atomic operation and storage replication device
110, 111, 112: user
115: Private Workshop
120: User group
125: Group workshop
135: open workshop
201, 202, 203: Queue
205, 206, 207: storage connector
211, 212, 213: Cloud manager
215, 216, 217: Cloud storage
220: Database Manager
225: Database
230: Storage Connector Manager
Claims (16)
데이터베이스 매니저가 데이터베이스에 저장된 상기 리소스의 메타데이터를 처리하는 메타데이터 원시 연산(MPO: Metadata Primitive Operation)들을 수행시키는 제2 단계; 및
상기 스토리지 원시 연산들과 상기 메타데이터 원시 연산들 중 적어도 어느 하나의 원시 연산이 실행되지 않으면, 상기 클라우드 매니저가 상기 클라우드 스토리지를 상기 스토리지 원시 연산들의 실행 이전의 상태로 되돌리고, 상기 데이터베이스 매니저가 상기 리소스의 메타데이터를 상기 메타데이터 원시 연산들의 실행 이전의 상태로 되돌리는 제3 단계;
를 포함하는 클라우드 스토리지에 기반한 협업 미들웨어의 원자성 연산과 스토리지 복제 방법.A first step in which the cloud manager performs storage primitive operations (SPO) for processing resources of the cloud storage;
A second step of a database manager performing metadata primitive operations (MPO) for processing metadata of the resource stored in the database; And
Wherein the cloud manager returns the cloud storage to a state prior to execution of the storage primitive operations if the primitive operations of the storage primitive operations and / or the metadata primitive operations are not performed, A third step of returning the metadata of the metadata to the state before execution of the metadata primitive operations;
And a storage replication method for collaborative middleware based on cloud storage.
상기 제1 단계는,
상기 클라우드 매니저가 상기 스토리지 원시 연산들에 포함된 연산을 순차적으로 실행시키고,
상기 제2 단계는,
상기 데이터베이스 매니저가 상기 메타데이터 원시 연산들에 포함된 연산을 순차적으로 실행시키는 클라우드 스토리지에 기반한 협업 미들웨어의 원자성 연산과 스토리지 복제 방법.The method according to claim 1,
In the first step,
Wherein the cloud manager sequentially executes operations included in the storage primitive operations,
The second step comprises:
Wherein the database manager sequentially executes the operations included in the meta data primitive operations, and the atomic operation and storage replication method of the collaboration middleware based on the cloud storage.
상기 제3 단계는,
상기 데이터베이스 매니저가 상기 메타데이터 원시 연산들의 원시 연산이 모두 실행되면 커밋(commit) 명령을 수행하고, 상기 메타데이터 원시 연산들 중 적어도 어느 하나의 원시 연산이 실행되지 않으면 롤백(rollback) 명령을 수행하는 클라우드 스토리지에 기반한 협업 미들웨어의 원자성 연산과 스토리지 복제 방법.The method according to claim 1,
In the third step,
The database manager performs a commit command when all the primitive operations of the metadata primitive operations are executed and performs a rollback command if at least one primitive operation of the metadata primitive operations is not executed Atomic computing and storage replication methods for collaborative middleware based on cloud storage.
상기 스토리지 원시 연산 및 상기 메타데이터 원시 연산은,
데이터의 생성(Create), 읽기(Read), 업데이트(Update) 및 삭제(Delete) 연산인 클라우드 스토리지에 기반한 협업 미들웨어의 원자성 연산과 스토리지 복제 방법.The method according to claim 1,
Wherein the storage primitive operation and the metadata primitive operation are performed in a non-
An atomic operation and storage cloning method of collaborative middleware based on cloud storage, which is data creation (create), read (read), update (update) and delete (delete) operations.
상기 제1 단계는,
상기 클라우드 매니저가 복수개의 스토리지의 각각의 원시 연산(primitive operation)들의 큐(queue)에 요청 받은 순서로 원시 연산을 포함시키는 제1-1 단계;
상기 각 스토리지가 상기 큐에 포함된 원시 연산의 순서에 따라 연산을 실행하는 제1-2 단계; 및
상기 클라우드 매니저가 상기 큐의 원시 연산이 모두 실행된 스토리지들 중에서 하나를 마스터 스토리지로 지정하는 제1-3 단계;
를 포함하는 클라우드 스토리지에 기반한 협업 미들웨어의 원자성 연산과 스토리지 복제 방법.The method according to claim 1,
In the first step,
A first step of the cloud manager including a primitive operation in a queue in a primitive operation queue of each of a plurality of storages in a requested order;
A first step of each of the storages executing an operation according to a sequence of primitive operations included in the queue; And
A first step of the cloud manager designating one of the storages in which the primitive operation of the queue is executed as a master storage;
And a storage replication method for collaborative middleware based on cloud storage.
상기 제1 단계는,
상기 클라우드 매니저는 상기 각 스토리지에서 상기 큐에 포함된 원시 연산이 실행되지 않으면, 상기 원시 연산을 상기 큐에서 제거하지 않는 제1-4 단계; 및
상기 클라우드 매니저는 상기 각 스토리지가 정상 상태로 복구되면, 상기 큐에 포함되어 있으나 실행되지 않은 원시 연산을 실행하는 제1-5 단계;
를 포함하는 클라우드 스토리지에 기반한 협업 미들웨어의 원자성 연산과 스토리지 복제 방법.The method of claim 5,
In the first step,
The method comprising: (1-4) the cloud manager not removing the primitive operation from the queue if the primitive operation included in the queue is not executed in each of the storages; And
(1-5), when the storage is restored to a normal state, executing a primitive operation that is included in the queue but is not executed;
And a storage replication method for collaborative middleware based on cloud storage.
상기 제1-1 단계 이전에,
스토리지 상태 표시부가 상기 복수개의 스토리지의 각각이 대기 상태임을 나타내는 녹색(Green)을 표시하는 단계;
를 더 포함하고,
상기 제1-2 단계는,
상기 스토리지 상태 표시부가 상기 각 스토리지에서 상기 큐에 포함된 원시 연산을 실행 중임을 나타내는 황색(Yellow)을 표시하고,
상기 제1-4 단계는,
상기 스토리지 상태 표시부가 상기 각 스토리지에서 상기 큐에 포함된 원시 연산이 실행되지 않았음을 나타내는 적색(Red)을 표시하고,
상기 제1-5 단계는,
상기 스토리지 상태 표시부가 상기 각 스토리지가 정상 상태로 복구되었음을 나타내는 청색(Blue)을 표시하고,
상기 제1 단계는,
상기 각 스토리지에서 상기 큐에 포함된 원시 연산들이 실행되지 않아 큐가 가득 차거나 상기 각 스토리지를 사용하지 못하는 상태에 해당하면 상기 스토리지 상태 표시부가 흑색(Black)을 표시하는 제1-6 단계;
를 더 포함하는 클라우드 스토리지에 기반한 협업 미들웨어의 원자성 연산과 스토리지 복제 방법.The method of claim 6,
Before the step 1-1,
Displaying a green indicating that each of the plurality of storages is in a standby state;
Further comprising:
In the step 1-2,
Wherein the storage status display unit displays a yellow color indicating that each storage is executing a primitive operation included in the queue,
In the step 1-4,
Wherein the storage status display unit displays a red color indicating that a primitive operation included in the queue has not been executed in each of the storages,
In the step 1-5,
The storage status display unit displays a blue color indicating that each storage is restored to a normal status,
In the first step,
(1-6) when the storage state indicator indicates black when the queues are full or when the respective arrays are not available because the primitive operations included in the queues are not executed in the respective storages;
And a storage replication method for collaborative middleware based on cloud storage.
상기 제1-3 단계는,
상기 클라우드 매니저가 상기 큐의 원시 연산들이 모두 실행된 스토리지들 중에서, 지정된 상기 마스터 스토리지 이외의 스토리지들을 서브 스토리지로 지정하는 클라우드 스토리지에 기반한 협업 미들웨어의 원자성 연산과 스토리지 복제 방법.The method of claim 6,
In the step 1-3,
The atomic operation and the storage replication of the collaborative middleware based on the cloud storage in which the cloud manager designates the storage other than the designated master storage as the sub storage among the storages in which all the primitive operations of the queue are executed.
상기 클라우드 스토리지의 리소스를 처리하는 스토리지 원시 연산(SPO: Storage Primitive Operation)들을 수행시키는 클라우드 매니저;
상기 리소스의 메타데이터를 저장하는 데이터베이스; 및
상기 데이터베이스에 저장된 상기 리소스의 메타데이터를 처리하는 메타데이터 원시 연산(MPO: Metadata Primitive Operation)들을 수행시키는 데이터베이스 매니저;
를 포함하고,
상기 스토리지 원시 연산들과 상기 메타데이터 원시 연산들 중 적어도 어느 하나의 원시 연산이 실행되지 않으면, 상기 클라우드 매니저는 상기 클라우드 스토리지를 상기 스토리지 원시 연산들의 실행 이전의 상태로 되돌리고, 상기 데이터베이스 매니저는 상기 리소스의 메타데이터를 상기 메타데이터 원시 연산들의 실행 이전의 상태로 되돌리는 클라우드 스토리지에 기반한 협업 미들웨어의 원자성 연산과 스토리지 복제 장치.Cloud storage to store resources;
A cloud manager for performing storage primitive operations (SPOs) for processing resources of the cloud storage;
A database for storing metadata of the resources; And
A database manager for performing metadata primitive operations (MPO) for processing metadata of the resources stored in the database;
Lt; / RTI >
If the raw operation of at least one of the storage raw operations and the metadata raw operations is not performed, the cloud manager returns the cloud storage to a state prior to execution of the storage raw operations, Wherein the meta data of the meta data is returned to a state prior to the execution of the meta data primitive operations.
상기 클라우드 매니저는,
상기 스토리지 원시 연산들에 포함된 연산을 순차적으로 실행시키고,
상기 데이터베이스 매니저는,
상기 메타데이터 원시 연산들에 포함된 연산을 순차적으로 실행시키는 클라우드 스토리지에 기반한 협업 미들웨어의 원자성 연산과 스토리지 복제 장치.The method of claim 9,
The cloud manager includes:
Sequentially executing operations included in the storage primitive operations,
Wherein the database manager comprises:
And atomic operation and storage replication of collaborative middleware based on cloud storage that sequentially executes operations included in the metadata primitive operations.
상기 데이터베이스 매니저는,
상기 메타데이터 원시 연산들의 원시 연산이 모두 실행되면 커밋(commit) 명령을 수행하고, 상기 메타데이터 원시 연산들 중 적어도 어느 하나의 원시 연산이 실행되지 않으면 롤백(rollback) 명령을 수행하는 클라우드 스토리지에 기반한 협업 미들웨어의 원자성 연산과 스토리지 복제 장치.The method of claim 9,
Wherein the database manager comprises:
Based on cloud storage that performs a commit command when all of the primitive operations of the metadata primitive operations are executed and performs a rollback command if at least one primitive operation of the metadata primitive operations is not performed, The atomic operation and storage replication device of collaborative middleware.
상기 스토리지 원시 연산 및 상기 메타데이터 원시 연산은,
데이터의 생성(Create), 읽기(Read), 업데이트(Update) 및 삭제(Delete) 연산인 클라우드 스토리지에 기반한 협업 미들웨어의 원자성 연산과 스토리지 복제 장치.The method of claim 9,
Wherein the storage primitive operation and the metadata primitive operation are performed in a non-
An atomic operation and storage cloning device for collaborative middleware based on cloud storage, which is the creation, read, update and delete operation of data.
상기 클라우드 매니저는,
복수개의 스토리지의 각각의 원시 연산(primitive operation)들의 큐(queue)에 요청 받은 순서로 원시 연산을 포함시키고, 상기 각 스토리지가 상기 큐에 포함된 원시 연산의 순서에 따라 연산을 실행하도록 제어하고, 상기 큐의 원시 연산이 모두 실행된 스토리지들 중에서 하나를 마스터 스토리지로 지정하는 클라우드 스토리지에 기반한 협업 미들웨어의 원자성 연산과 스토리지 복제 장치.The method of claim 9,
The cloud manager includes:
The method comprising: storing primitive operations in queues of primitive operations of a plurality of storages in a requested order; controlling each of the storages to execute operations according to a sequence of primitive operations included in the queues; And an atomic operation and storage replica of the collaborative middleware based on the cloud storage designating one of the storages in which the raw operation of the queue is executed as the master storage.
상기 클라우드 매니저는,
상기 각 스토리지에서 상기 큐에 포함된 원시 연산이 실행되지 않으면, 상기 원시 연산을 상기 큐에서 제거하지 않고, 상기 각 스토리지가 정상 상태로 복구되면, 상기 큐에 포함되어 있으나 실행되지 않은 원시 연산을 실행하는 클라우드 스토리지에 기반한 협업 미들웨어의 원자성 연산과 스토리지 복제 장치.14. The method of claim 13,
The cloud manager includes:
If the raw operation contained in the queue is not executed in each of the storages, the raw operation is not removed from the queue, and when each storage is restored to a normal state, a raw operation that is contained in the queue but is not executed is executed The atomic operation and storage replication device of collaborative middleware based on cloud storage.
스토리지 상태 표시부는,
상기 복수개의 스토리지의 각각이 대기 상태이면 녹색(Green)을 표시하고, 상기 각 스토리지에서 상기 큐에 포함된 원시 연산을 실행 중이면 황색(Yellow)을 표시하고, 상기 각 스토리지에서 상기 큐에 포함된 원시 연산이 실행되지 않으면 적색(Red)을 표시하고, 상기 각 스토리지가 정상 상태로 복구되면 청색(Blue)을 표시하고, 상기 각 스토리지에서 상기 큐에 포함된 원시 연산들이 실행되지 않아 큐가 가득 차거나 상기 각 스토리지를 사용하지 못하는 상태에 해당하면 상기 스토리지 상태 표시부가 흑색(Black)을 표시하는 클라우드 스토리지에 기반한 협업 미들웨어의 원자성 연산과 스토리지 복제 장치.15. The method of claim 14,
The storage status display unit displays,
Wherein each of the plurality of storages displays green when each of the plurality of storages is in a standby state and displays yellow when each of the storages is executing a primitive operation included in the queue, Displays red when the primitive operation is not performed, displays blue when the storage is restored to a normal state, and displays primitive operations such as blue Wherein the storage status display unit displays black when the storage is unavailable, wherein the storage status indicator displays black.
상기 클라우드 매니저는,
상기 큐의 원시 연산들이 모두 실행된 스토리지들 중에서, 지정된 상기 마스터 스토리지 이외의 스토리지들을 서브 스토리지로 지정하는 클라우드 스토리지에 기반한 협업 미들웨어의 원자성 연산과 스토리지 복제 장치.15. The method of claim 14,
The cloud manager includes:
And an atomic operation and storage replica of the collaborative middleware based on cloud storage that designates, among the storages in which all the primitive operations of the queue are executed, the storage other than the designated master storage as a sub storage.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140082076A KR101590716B1 (en) | 2014-07-01 | 2014-07-01 | Device and method for operation atomicity and storage replication of cloud storage based collaborative middleware |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140082076A KR101590716B1 (en) | 2014-07-01 | 2014-07-01 | Device and method for operation atomicity and storage replication of cloud storage based collaborative middleware |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20160003515A true KR20160003515A (en) | 2016-01-11 |
KR101590716B1 KR101590716B1 (en) | 2016-02-01 |
Family
ID=55169644
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020140082076A KR101590716B1 (en) | 2014-07-01 | 2014-07-01 | Device and method for operation atomicity and storage replication of cloud storage based collaborative middleware |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101590716B1 (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20110073162A (en) * | 2009-12-21 | 2011-06-29 | 한국전자통신연구원 | Apparatus and method for cloud computing resource distribution using mobile devices |
KR20130096313A (en) * | 2010-12-25 | 2013-08-29 | 인텔 코오퍼레이션 | Systems, apparatuses, and methods for a hardware and software system to automatically decompose a program to multiple parallel threads |
KR20140055288A (en) * | 2012-10-31 | 2014-05-09 | 삼성에스디에스 주식회사 | System and method for providing data analysis service in cloud environment |
KR20140068963A (en) * | 2011-09-12 | 2014-06-09 | 마이크로소프트 코포레이션 | Coordination engine for cloud selection |
-
2014
- 2014-07-01 KR KR1020140082076A patent/KR101590716B1/en active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20110073162A (en) * | 2009-12-21 | 2011-06-29 | 한국전자통신연구원 | Apparatus and method for cloud computing resource distribution using mobile devices |
KR20130096313A (en) * | 2010-12-25 | 2013-08-29 | 인텔 코오퍼레이션 | Systems, apparatuses, and methods for a hardware and software system to automatically decompose a program to multiple parallel threads |
KR20140068963A (en) * | 2011-09-12 | 2014-06-09 | 마이크로소프트 코포레이션 | Coordination engine for cloud selection |
KR20140055288A (en) * | 2012-10-31 | 2014-05-09 | 삼성에스디에스 주식회사 | System and method for providing data analysis service in cloud environment |
Also Published As
Publication number | Publication date |
---|---|
KR101590716B1 (en) | 2016-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11416341B2 (en) | Systems and methods to reduce application downtime during a restore operation using a pseudo-storage device | |
US20210374021A1 (en) | Automated media agent state management | |
US10613780B1 (en) | Multi-node removal | |
US10025632B2 (en) | Job management and resource allocation in a data protection system | |
US11513696B2 (en) | Scalable auxiliary copy processing in a data storage management system using media agent resources | |
US10042908B2 (en) | Method and system for implementing a unified DB clone system | |
US10089148B1 (en) | Method and apparatus for policy-based replication | |
US10628378B2 (en) | Replication of snapshots and clones | |
US20180253192A1 (en) | File manager integration with virtualization in an information management system with an enhanced storage manager, including user control and storage management of virtual machines | |
US10168931B2 (en) | Scalable auxiliary copy processing in a data storage management system using media agent resources | |
US20200293571A1 (en) | Targeted search of backup data using facial recognition | |
US8627028B2 (en) | Method of constructing replication environment and storage system | |
US9594645B2 (en) | Protecting data segments in a computing environment | |
US20100082546A1 (en) | Storage Tiers for Database Server System | |
US9262290B2 (en) | Flash copy for disaster recovery (DR) testing | |
JP2016538631A (en) | Transaction processing method and apparatus | |
KR101590716B1 (en) | Device and method for operation atomicity and storage replication of cloud storage based collaborative middleware | |
CN104220982A (en) | Transaction processing method and device | |
US20080222374A1 (en) | Computer system, management computer, storage system and volume management method | |
WO2017145286A1 (en) | Storage system management method |
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: 20190103 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20191205 Year of fee payment: 5 |