KR101924099B1 - Method and Apparatus of performing Policy-Driven Storage Service Federation - Google Patents

Method and Apparatus of performing Policy-Driven Storage Service Federation Download PDF

Info

Publication number
KR101924099B1
KR101924099B1 KR1020160178777A KR20160178777A KR101924099B1 KR 101924099 B1 KR101924099 B1 KR 101924099B1 KR 1020160178777 A KR1020160178777 A KR 1020160178777A KR 20160178777 A KR20160178777 A KR 20160178777A KR 101924099 B1 KR101924099 B1 KR 101924099B1
Authority
KR
South Korea
Prior art keywords
service
policy
request
storage
manager
Prior art date
Application number
KR1020160178777A
Other languages
Korean (ko)
Other versions
KR20180074962A (en
Inventor
허의남
박준학
헤인슨 레네
김윤곤
Original Assignee
경희대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 경희대학교 산학협력단 filed Critical 경희대학교 산학협력단
Priority to KR1020160178777A priority Critical patent/KR101924099B1/en
Publication of KR20180074962A publication Critical patent/KR20180074962A/en
Application granted granted Critical
Publication of KR101924099B1 publication Critical patent/KR101924099B1/en

Links

Images

Classifications

    • G06F17/30082
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/122File system administration, e.g. details of archiving or snapshots using management policies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals

Abstract

정책 기반 스토리지 서비스 연합 (policy based storage service federation) 수행 방법은, 클라이언트로부터 요청을 요청 인터셉터(Request Interceptor)가 수신하여, 상기 요청에 대한 정책 적용 가능(policy applicable) 여부를 식별하는 정책 적용 가능 여부 식별 단계; 상기 요청에 대한 요청 정보와 정책 상태를 평가하여 정책을 획득하는 정책 획득 단계; 및 상기 정책을 기반으로 맞춤형 스토리지 서비스의 집합을 획득하는 스토리지 서비스 집합 획득 단계를 포함하고, 빠른 어플리케이션 개발을 위한 스토리지 페더레이션 레이어 계층에 해당하는 프레임워크(framework)를 제공할 수 있다.A method of performing a policy based storage service federation includes: receiving a request from a client and receiving a request interceptor for identifying whether the policy is applicable to the request; step; A policy acquiring step of acquiring a policy by evaluating request information and policy status of the request; And a storage service set acquisition step of acquiring a set of customized storage services based on the policy, and can provide a framework corresponding to the storage federation layer for rapid application development.

Description

정책 기반의 스토리지 서비스 페더레이션 수행 방법 및 장치{Method and Apparatus of performing Policy-Driven Storage Service Federation}METHOD AND APPARATUS FOR PERFORMANCE-BASED STORAGE SERVICE FEDERATION FIELD OF THE INVENTION [0001]

본 발명은 정책 기반의 스토리지 서비스 페더레이션 수행 방법 및 장치에 관한 것이다. 보다 상세하게는, 정책 기반의 스토리지 서비스 페더레이션 프레임워크를 이용하여 정책 기반의 스토리지 서비스 페더레이션을 수행하는 방법 및 장치에 관한 것이다.The present invention relates to a policy-based storage service federation performing method and apparatus. And more particularly, to a method and apparatus for policy-based storage service federation using a policy-based storage service federation framework.

IT 산업은 다양한 형식을 가지고 크기가 상당한 데이터들이 급격히 발생하는데 비해 이를 처리하는 속도는 상대적으로 저조하여 이를 저장 및 관리 방법이 필요한 상황이다. In the IT industry, data of a large size and a large size are generated rapidly, but the processing speed of the IT industry is relatively low, and it is necessary to store and manage the data.

이와 같은 데이터의 저장 및 관리에서, 엄청난 규모의 데이터가 발생하게 됨에 따라 데이터 분석 분야에 이점이 생김과 동시에 데이터의 보관 등의 문제 또한 발생하게 되었다. 이러한 빅 데이터는 크기가 상당하여 한 저장소에 모두 담기가 어렵다. 뿐만 아니라 빅 데이터 집합들(big datasets) 과 데이터 저장소는 데이터 액세스 성능을 감소시킨다는 문제점이 있다. 따라서 기하급수적으로 늘어나고 있는 데이터 생성 속도에 발맞추어 확장 가능성을 제공하면서 데이터가 저장되는 방법과 위치에 대한 자동적이고 정확한 결정을 할 수 있는 시스템이 필요하다.In the storage and management of such data, as the huge amount of data is generated, there are advantages in data analysis field and data storage. These big data are so large that it is difficult to store them all in one repository. In addition, big datasets and datastores have the problem of reducing data access performance. Therefore, there is a need for a system that can automatically and precisely determine how data is stored and its location, while providing scalability in keeping with the exponential growth in data generation.

이와 관련하여, Hewlett Packard Enterprise 3PAR Peer Motion software는, 여러 third party Store Server 시스템의 연합 기능을 허용하고 있다. 하지만, 가장 큰 문제점은 연합 기능이 타 시스템과의 호환이 불가능하는 점이다.In this regard, Hewlett Packard Enterprise 3PAR Peer Motion software allows the federation of multiple third-party Store Server systems. However, the biggest problem is that the federation function is incompatible with other systems.

다음으로, 여러 스토리지 페더레이션 방법에 대한 연구가 있다. 하지만 대부분의 경우 벤더 종속을 방지하고 여러 계정의 관리를 단순화하기 위한 클라우드 저장소의 연합에 초점을 맞추고 있다. 이러한 접근 방법의 문제점은 오직 하나의 서비스 종류에만(e.g. 클라우드 저장소) 집중을 하고 있는 것이다.Next, there is research on several storage federation methods. In most cases, however, it focuses on the union of cloud storage to prevent vendor dependence and to simplify the management of multiple accounts. The problem with this approach is that it concentrates only on one service type (eg cloud storage).

마지막으로, 서비스 선택 접근에 대한 논의와 관련하여, 현재 존재하는 방법들은 정적으로 정해놓은 수치의 서비스만을 제공하는 한계점이 존재한다는 문제점이 있다. 또한, 대부분의 스토리지 페더레이션은 여전히 정책 기반의 서비스 선택이 부족하다는 문제점이 있다.Finally, with respect to the discussion on the service selection approach, currently existing methods have the problem that there are limitations in providing only statically specified numerical services. Also, most storage federation still lacks policy-based service selection.

따라서, 본 발명에서 해결하고자 하는 과제는 빠른 어플리케이션 개발을 위한 스토리지 페더레이션 레이어 계층에 해당하는 프레임워크(framework)를 제공하는 데에 그 목적이 있다. Accordingly, an object of the present invention is to provide a framework corresponding to a storage federation layer for rapid application development.

또한, 본 발명에서 해결하고자 하는 과제는 타 시스템과의 호환이 가능하면서, 정책 기반의 서비스 선택이 가능한 정책 기반 스토리지 서비스 프레임워크(framework)를 제공하는 데에 그 목적이 있다. It is another object of the present invention to provide a policy-based storage service framework capable of compatibility with other systems and capable of policy-based service selection.

상기와 같은 과제를 해결하기 위한 본 발명에 따른 정책 기반 스토리지 서비스 연합 (policy based storage service federation) 수행 방법은, 클라이언트로부터 요청을 요청 인터셉터(Request Interceptor)가 수신하여, 상기 요청에 대한 정책 적용 가능(policy applicable) 여부를 식별하는 정책 적용 가능 여부 식별 단계를 포함한다. 또한, 상기 정책 기반 스토리지 서비스 연합 수행 방법은, 상기 요청에 대한 요청 정보와 정책 상태를 평가하여 정책을 획득하는 정책 획득 단계를 더 포함한다. 또한, 상기 정책 기반 스토리지 서비스 연합 수행 방법은, 상기 정책을 기반으로 맞춤형 스토리지 서비스의 집합을 획득하는 스토리지 서비스 집합 획득 단계를 포함한다. According to another aspect of the present invention, there is provided a policy based storage service federation method comprising: receiving a request from a client by a request interceptor to apply a policy to the request; policy applicable) whether the policy is applicable or not. The policy-based storage service association performing method further includes a policy acquiring step of acquiring a policy by evaluating the request information and the policy status of the request. The policy-based storage service association execution method includes a storage service set acquisition step of acquiring a collection of customized storage services based on the policy.

일 실시예에 따르면, 상기 정책 기반 스토리지 서비스 연합 수행 방법은, 상기 스토리지 서비스의 집합에 대한 서비스 자격 증명을 요청하는 서비스 자격 증명 요청 단계; 상기 서비스 자격 증명에 대한 인증을 수행하는 인증 수행 단계; 및 서비스 정보와 권한 인증을 상기 요청에 추가하고, 상기 요청을 스토리지 매니저로 전송하는 요청 송신 단계를 더 포함할 수 있다.According to one embodiment, the policy-based storage service association performing method includes: a service credential request step of requesting a service credential for the set of storage services; Performing an authentication for the service credential; And a request transmitting step of adding the service information and the authority authentication to the request, and transmitting the request to the storage manager.

일 실시예에 따르면, 상기 정책 기반 스토리지 서비스 연합 수행 방법은, 가상 스토리지 자원 인터페이스가 상기 서비스 정보를 인스턴스 매니저로 전송하는 서비스 정보 전송 단계; 상기 서비스 정보에 기반하여 각각의 서비스에 대한 서비스 구현 클래스를 탐색하는 서비스 구현 클래스 탐색 단계; 상기 탐색된 서비스 구현 클래스에 기반하여 서비스 구현 클래스 인스턴스를 생성하고, 상기 서비스 구현 클래스 인스턴스를 상기 가상 스토리지 자원 인터페이스로 전송하는 서비스 구현 클래스 인스턴스 생성/전송 단계를 더 포함할 수 있다. 또한, 상기 정책 기반 스토리지 서비스 연합 수행 방법은, 상기 요청, 상기 권한 인증과 연관된 서비스 권한 및 상기 서비스 구현 클래스 인스턴스들을 상기 가상 스토리지 자원 인터페이스가 작업 매니저로 전송하는 요청/서비스 권한/서비스 구현 클래스 인스턴스 전송 단계를 더 포함할 수 있다.According to an embodiment, the policy-based storage service association performing method includes: a service information transmitting step in which a virtual storage resource interface transmits the service information to an instance manager; A service implementation class search step of searching for a service implementation class for each service based on the service information; And generating and transmitting a service implementation class instance based on the discovered service implementation class and transmitting the service implementation class instance to the virtual storage resource interface. The policy-based storage service federation method may further include transmitting the request, the service privilege associated with the privilege authentication, and the request / service privilege / service implementation class instance transferring the service implementation class instances to the task manager by the virtual storage resource interface Step < / RTI >

일 실시예에 따르면, 상기 정책 기반 스토리지 서비스 연합 수행 방법은, 상기 작업 매니저가 비동기적으로 접근하는 복수의 서비스들에 대한 작업을 처리하고, 상기 서비스들의 응답을 병합하는 작업 처리/응답 병합 단계; 및 상기 가상 스토리지 자원 인터페이스가 상기 작업 매니저로부터 수신한 응답을 상기 클라이언트가 수신할 수 있도록 최종 응답을 생성하는 최종 응답 생성 단계를 더 포함할 수 있다.According to an embodiment, the policy-based storage service association execution method includes: a task process / response merge step of processing a task for a plurality of services accessed asynchronously by the task manager and merging responses of the services; And a final response generation step of generating a final response so that the client can receive a response received from the task manager by the virtual storage resource interface.

일 실시예에 따르면, 상기 각각의 서비스에 대한 스토리지 서비스 프로파일은 가용성, 쓰기 성능, 읽기 성능, 가격, 및 사용한 공간에 해당하는 각각의 메트릭에 의해 정의될 수 있다. 또한, 상기 정책은 P1 내지 P4로 분류되고, P1은 주로 수정 및 읽기/쓰기 작업을 수행하는 경우에 해당하고, P2는 쓰기 작업은 거의 수행하지 않고 주로 읽는 작업만 수행하는 경우에 해당할 수 있다. 또한, P3은 쓰기와 읽기 작업을 거의 하지 않는 경우에 해당하고, P4는 중요도가 떨어지는 데이터. 사용 가능성이 거의 없지만 단지 보관을 위해 사용하는 경우에 해당하는 것을 특징으로 할 수 있다.According to one embodiment, the storage service profile for each service may be defined by a respective metric corresponding to availability, write performance, read performance, price, and used space. In addition, the above-mentioned policy is classified into P1 to P4, P1 corresponds to a case where correction and read / write operations are mainly performed, P2 corresponds to a case where only a reading operation is performed without performing a write operation . In addition, P3 corresponds to a case where writing and reading operations are hardly performed, and P4 corresponds to a case where data is less important. It may be characterized as being used only for storage although there is little possibility of use.

일 실시예에 따르면, 상기 서비스 프로파일은 S1 내지 S4를 포함하고, 상기 S1 내지 S4 각각에 대하여, 상기 서비스 프로파일 별로 정규화된 가중치가 부여될 수 있다. 또한, 상기 P1 내지 P4 각각에 대하여, 상기 각각의 메트릭 별로 우선순위가 결정되고, 상기 정규화된 가중치와 상기 우선순위에 기반하여 상기 P1 내지 P4 각각에 대하여 상기 S1 내지 S4를 선택하는 순서를 결정될 수 있다.According to an exemplary embodiment, the service profile includes S1 to S4, and a normalized weight may be given to each of the S1 to S4 by the service profile. For each of the P1 to P4, a priority order is determined for each of the metrics, and the order of selecting the S1 to S4 for each of the P1 to P4 based on the normalized weight and the priority can be determined have.

본 발명의 다른 양상에 따른, 정책 기반 스토리지 서비스 연합을 수행하는 장치는, 클라이언트로부터 요청을 수신하고, 상기 요청에 대한 정책 적용 가능(policy applicable) 여부를 식별하고, 상기 요청에 대한 요청 정보와 정책 상태를 평가하여 정책을 획득하고, 상기 정책을 기반으로 맞춤형 스토리지 서비스의 집합을 획득하는 요청 인터셉터(Request Interceptor)를 포함한다. 또한, 정책 기반 스토리지 서비스 연합 수행 장치는, 상기 요청 인터셉터로부터의 정책 요청을 수신하고, 액티브 정책을 획득하고, 상기 요청 정보와 상기 정책 상태에 따라 일치하는 정책을 상기 요청 인터셉터로 반환하는 매칭 정책 검증자를 더 포함한다. According to another aspect of the present invention, an apparatus for performing a policy-based storage service association comprises: a request receiving unit for receiving a request from a client, identifying whether the request is policy applicable, And a request interceptor for acquiring a policy by evaluating the status and obtaining a set of customized storage services based on the policy. The policy-based storage service federation performing apparatus further includes a matching policy verification unit that receives a policy request from the request interceptor, acquires an active policy, and returns a matching policy according to the request information and the policy status to the request interceptor ≪ / RTI >

일 실시예에 따르면, 상기 정책 기반 스토리지 서비스 연합 수행 장치는, 상기 정책 요청에 따라 상기 액티브 정책을 획득하고, 상기 액티브 정책을 상기 매칭 정책 검증자로 전송하는 메타데이터 매니저; 및 상기 정책을 기반으로 서비스 프로파일을 획득하고, 상기 서비스 프로파일에 기반하여 맞춤형 스토리지 서비스의 집합을 생성하는 서비스 선택자를 더 포함할 수 있다.According to one embodiment, the policy-based storage service federation performing device comprises: a meta data manager for obtaining the active policy according to the policy request and transmitting the active policy to the matching policy verifier; And a service selector for obtaining a service profile based on the policy and generating a set of customized storage services based on the service profile.

일 실시예에 따르면, 상기 요청 인터셉터는 상기 스토리지 서비스의 집합에 대한 서비스 자격 증명을 요청하고, 상기 서비스 자격 증명에 대한 인증을 수행하고, 서비스 정보와 권한 인증을 상기 요청에 추가할 수 있다. 또한, 상기 정책 기반 스토리지 서비스 연합 수행 장치는, 상기 서비스 자격 증명에 대한 요청을 상기 요청 인터셉터로부터 수신하고, 상기 인증을 위한 토큰을 상기 요청 인터셉터로 제공하는 상기 인증 매니저(OAuth manager)를 더 포함할 수 있다.According to one embodiment, the request interceptor may request service credentials for the set of storage services, perform authentication on the service credentials, and add service information and authorization credentials to the request. The policy-based storage service federation performing apparatus further includes an authentication manager (OAuth manager) for receiving a request for the service credential from the request interceptor and providing a token for the authentication to the request interceptor .

일 실시예에 따르면, 상기 정책 기반 스토리지 서비스 연합 수행 장치는, 상기 서비스 정보와 권한 인증이 추가된 상기 요청을 상기 요청 인터셉터로부터 수신하는 가상 스토리지 자원 인터페이스를 더 포함할 수 있다. 또한, 상기 정책 기반 스토리지 서비스 연합 수행 장치는, 상기 가상 스토리지 자원 인터페이스로부터 수신된 상기 서비스 정보에 기반하여 각각의 서비스에 대한 서비스 구현 클래스를 탐색하고, 상기 탐색된 서비스 구현 클래스에 기반하여 서비스 구현 클래스 인스턴스를 생성하고, 상기 서비스 구현 클래스 인스턴스를 상기 가상 스토리지 자원 인터페이스로 전송하는 인스턴스 매니저를 더 포함할 수 있다. 또한, 상기 정책 기반 스토리지 서비스 연합 수행 장치는, 상기 요청, 상기 권한 인증과 연관된 서비스 권한 및 상기 서비스 구현 클래스 인스턴스들을 상기 가상 스토리지 자원 인터페이스로부터 수신하고, 비동기적으로 접근하는 복수의 서비스들에 대한 작업을 처리하고, 상기 서비스들의 응답을 병합하고, 상기 응답을 상기 가상 스토리지 자원 인터페이스로 전송하는 작업 매니저를 더 포함할 수 있다. 한편, 상기 가상 스토리지 자원 인터페이스는, 상기 작업 매니저로부터 수신한 응답을 상기 클라이언트가 수신할 수 있도록 최종 응답을 생성할 수 있다.According to an embodiment, the policy-based storage service federation performing apparatus may further include a virtual storage resource interface for receiving the service information and the authorization-added request from the request interceptor. The policy-based storage service association performing device searches for a service implementation class for each service based on the service information received from the virtual storage resource interface, An instance manager for creating an instance, and transmitting the service implementation class instance to the virtual storage resource interface. In addition, the policy-based storage service federation execution device may receive the request, the service privilege associated with the privilege authentication and the service implementation class instances from the virtual storage resource interface, and perform operations on a plurality of services that access asynchronously , An operation manager that processes the response, merges the responses of the services, and transmits the response to the virtual storage resource interface. Meanwhile, the virtual storage resource interface may generate a final response so that the client can receive a response received from the task manager.

일 실시예에 따르면, 상기 정책 기반 스토리지 서비스 연합 수행 장치는, 상기 인스턴스 매니저와 상기 작업 매니저로부터의 상기 요청을 복수의 스토리지 서비스들의 각각을 수행하는 복수의 스토리지 장치들로 전송하는 복수의 스토리지 서비스 인터페이스를 더 포함할 수 있다. 이때, 상기 복수의 스토리지 장치들은 클라우드 스토리지, 분산 파일 시스템, 및 오브젝트 스토리지를 포함할 수 있다.According to one embodiment, the policy-based storage service federation performing device includes a plurality of storage service interfaces for transmitting the request from the instance manager and the task manager to a plurality of storage devices each performing a plurality of storage services, As shown in FIG. At this time, the plurality of storage devices may include cloud storage, distributed file system, and object storage.

본 발명의 또 다른 양상에 따른, 정책 기반 스토리지 서비스 연합을 수행하는 장치는, 정책 기반 스토리지 서비스 연합을 위한 요청을 전송하는 클라이언트; 및 상기 클라이언트로부터 상기 요청을 수신하고, 상기 요청에 대한 정책 적용 가능(policy applicable) 여부를 식별하고, 상기 요청에 대한 요청 정보와 정책 상태를 평가하여 정책을 획득하고, 상기 정책을 기반으로 맞춤형 스토리지 서비스의 집합을 획득하는 정책 엔진을 포함할 수 있다.According to another aspect of the present invention, an apparatus for performing policy-based storage service federation comprises: a client for sending a request for policy-based storage service federation; And means for receiving the request from the client, identifying whether the request is policy applicable, obtaining a policy by evaluating request information and policy status for the request, And a policy engine that obtains a set of services.

일 실시예에 따르면, 상기 정책 기반 스토리지 서비스 연합 수행 장치는, 상기 서비스 정보와 권한 인증이 추가된 상기 요청을 상기 정책 엔진으로부터 수신하고, 상기 수신된 상기 서비스 정보에 기반하여 각각의 서비스에 대한 서비스 구현 클래스를 탐색하고, 상기 탐색된 서비스 구현 클래스에 기반하여 서비스 구현 클래스 인스턴스를 생성하는 스토리지 서비스 매니저를 더 포함할 수 있다.According to an embodiment, the policy-based storage service federation performing apparatus may further include a policy management unit that receives the service information and the request to which the rights authentication is added from the policy engine, And a storage service manager for searching for an implementation class and creating a service implementation class instance based on the searched service implementation class.

일 실시예에 따르면, 상기 스토리지 서비스 매니저는 상기 요청, 상기 권한 인증과 연관된 서비스 권한 및 상기 서비스 구현 클래스 인스턴스들에 기반하여, 상기 작업 매니저가 비동기적으로 접근하는 복수의 서비스들에 대한 작업을 처리하고, 상기 서비스들의 응답을 병합하고, 상기 병합된 응답을 상기 클라이언트로 전송할 수 있다.According to one embodiment, the storage service manager processes a task for a plurality of services accessed asynchronously by the task manager, based on the request, the service authorization associated with the authorization, and the service implementation class instances. Combine the responses of the services, and send the merged response to the client.

본 발명에 따른 정책 기반 스토리지 서비스 연합 수행 방법은, 수평 및 수직적 스케일링과 병렬처리 기술을 통해 데이터 처리량 및 성능을 향상시킬 수 있어, 빠른 어플리케이션 개발을 위한 스토리지 페더레이션 레이어 계층에 해당하는 프레임워크(framework)를 제공할 수 있다.The policy-based storage service federation method according to the present invention improves data throughput and performance through horizontal and vertical scaling and parallel processing techniques, and provides a framework corresponding to a storage federation layer for rapid application development. Can be provided.

또한, 본 발명에 따른 정책 기반 스토리지 서비스 연합 수행 방법은, 서비스 프로파일을 통한 정책 기반의 스토리지 서비스에 의해, 타 시스템과의 호환이 가능하면서, 정책 기반의 서비스 선택이 가능한 정책 기반 스토리지 서비스 프레임워크(framework)를 제공할 수 있다는 장점이 있다.A policy-based storage service federation method according to the present invention is a policy-based storage service framework capable of being compatible with other systems and selecting a policy-based service by a policy-based storage service through a service profile framework can be provided.

도 1은 본 발명에 따른 정책 기반 스토리지 서비스 연합을 수행하는 장치의 세부 구성도를 도시한다.
도 2는 본 발명에 따른 정책 기반 스토리지 서비스 연합을 수행 방법의 흐름도이다.
도 3은 본 발명의 예시에 따른 스토리지 서비스 프로파일을 도시한다.
도 4는 본 발명의 예시에 따른 정규화된 스토리지 서비스 프로파일을 도시한다.
도 5는 본 발명에 따른 정규화를 거친 서비스 프로파일과 정규화를 거치지 않은 서비스 프로파일을 비교한 도면이다.
도 6은 본 발명의 예시에 따른 정책에 대하여 각각의 메트릭들의 순위를 정의한 도면이다.
도 7은 본 발명의 예시에 따른 정책에 대하여 각각의 메트릭들의 비율을 막대 그래프로 도시한 도면이다.
도 8은 본 발명의 예시에 따른 정책 기반 서비스 거리를 방사형으로 도시한 도면이다.
도 9a 내지 도 9c는 본 발명의 예시에 따른 쓰기 작업 수행, 읽기 작업 수행, 및 삭제 작업 수행에서, 파일 크기와 블록 크기에 따른 스루풋(throughphut)을 도시한다.
도 10은 본 발명의 예시에 따른 정책 기반 스토리지 서비스 선택을 위한 알고리즘의 구성을 도시한다.
1 shows a detailed configuration diagram of an apparatus for performing a policy-based storage service association according to the present invention.
2 is a flow diagram of a method for performing a policy-based storage service federation according to the present invention.
3 illustrates a storage service profile according to an example of the present invention.
4 illustrates a normalized storage service profile according to an example of the present invention.
FIG. 5 illustrates a comparison between a normalized service profile and a normalized service profile according to the present invention.
FIG. 6 is a diagram that defines the ranking of each metric for a policy according to an exemplary embodiment of the present invention.
FIG. 7 is a bar graph showing the ratios of respective metrics for a policy according to an exemplary embodiment of the present invention.
FIG. 8 is a diagram illustrating a policy-based service distance in accordance with an exemplary embodiment of the present invention.
FIGS. 9A to 9C show throughputs according to a file size and a block size in performing a write operation, a read operation, and a delete operation according to an example of the present invention.
10 illustrates a configuration of an algorithm for policy-based storage service selection according to an exemplary embodiment of the present invention.

상술한 본 발명의 특징 및 효과는 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이며, 그에 따라 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는바, 특정 실시 예들을 도면에 예시하고 본문에 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 개시형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 본 명세서에서 사용한 용어는 단지 특정한 실시 예들을 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다.BRIEF DESCRIPTION OF THE DRAWINGS The above and other features and advantages of the present invention will become more apparent from the following detailed description of the present invention when taken in conjunction with the accompanying drawings, It will be possible. The present invention is capable of various modifications and various forms, and specific embodiments are illustrated in the drawings and described in detail in the text. It is to be understood, however, that the invention is not intended to be limited to the particular forms disclosed, but on the contrary, is intended to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the invention. The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention.

각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용한다.Like reference numerals are used for similar elements in describing each drawing.

제1, 제2등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.The terms first, second, etc. may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another.

예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. "및/또는" 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.For example, without departing from the scope of the present invention, the first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component. The term "and / or" includes any combination of a plurality of related listed items or any of a plurality of related listed items.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미가 있다.Unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs.

일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않아야 한다.Terms such as those defined in commonly used dictionaries are to be interpreted as having a meaning consistent with the contextual meaning of the related art and are to be interpreted as either ideal or overly formal in the sense of the present application Should not.

이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈", "블록" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다. The suffix "module "," block ", and "part" for components used in the following description are given or mixed in consideration of ease of specification only and do not have their own distinct meanings or roles .

이하, 본 발명의 바람직한 실시 예를 첨부한 도면을 참조하여 당해 분야에 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 설명한다. 하기에서 본 발명의 실시 예를 설명함에 있어, 관련된 공지의 기능 또는 공지의 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, preferred embodiments of the present invention will be described with reference to the accompanying drawings. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS In the following description of the present invention, detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present invention rather unclear.

이하, 본 발명에 따른 정책 기반 스토리지 서비스 연합을 수행하는 장치와 정책 기반 스토리지 서비스 연합을 수행하는 방법에 대해 살펴보기로 한다. 이와 관련하여, 본 발명에서 제시되는 프레임워크(framework)의 목적은 빠른 어플리케이션 개발을 위한 스토리지 페더레이션 레이어 계층을 제공하는 것이다. 본 프레임워크의 주요 목적은 충분한 양의 요구한 자원을 공급하면서 빠르게 어플리케이션을 개발할 수 있도록 페더레이션 스토리지 계층을 제공하는 것이다. 이것은 스토리지 서비스 인터페이스를 구현하는 것을 통해 모든 파일 기반의 스토리지 서비스에서 동작할 수 있다. 이것은 클라이언트에게 제한된 숫자의 구현 서비스를 제공하는 것 대신에 원하는 서비스를 본 프레임워크에 통합시킬 수 있도록 허용한다. Hereinafter, a method of performing a policy-based storage service association and a method of performing a policy-based storage service association according to the present invention will be described. In this regard, the purpose of the framework presented in the present invention is to provide a storage federation layer for rapid application development. The main purpose of this framework is to provide a federated storage layer for rapid application development while providing a sufficient amount of required resources. It can operate on any file-based storage service by implementing a storage service interface. This allows the client to integrate desired services into the framework instead of providing a limited number of implementation services.

이와 관련하여, 도 1은 본 발명에 따른 정책 기반 스토리지 서비스 연합을 수행하는 장치의 세부 구성도를 도시한다. 도 1에 도시된 바와 같이, 스토리지 서비스 연합 수행 장치(1000)는 클라이언트(10), REST API(100), 인증 컨트롤러(Authentication Controller, 200), 스토리지 페더레이션 프레임워크(Storage Federation Framework, 300)을 포함한다. 또한, 상기 스토리지 페더레이션 프레임워크(300)은 정책 엔진(Policy Engine, 400), 메타데이터 매니저(Metadata manager, 500), 인증 매니저(OAuth manager, 600), 스토리지 매니저(Storage Manager, 700) 및 스토리지 서비스 인터페이스(800)를 포함한다.In this regard, FIG. 1 illustrates a detailed configuration diagram of an apparatus for performing a policy-based storage service association according to the present invention. 1, the storage service federation performing apparatus 1000 includes a client 10, a REST API 100, an authentication controller 200, and a storage Federation Framework 300 do. The storage federation framework 300 includes a policy engine 400, a meta data manager 500, an authentication manager 600, a storage manager 700, And an interface 800.

상기 클라이언트(10)는 정책 기반 스토리지 서비스 연합을 위한 요청을 상기 REST API(100)를 통해 상기 스토리지 페더레이션 프레임워크(300)로 제공한다. 이때, 상기 요청은 인증 컨트롤러(200)를 통해 상기 스토리지 페더레이션 프레임워크(300)로 제공될 수 있다.The client 10 provides a request for policy-based storage service federation to the storage federation framework 300 via the REST API 100. [ At this time, the request may be provided to the storage federation framework 300 through the authentication controller 200.

상기 REST API(100)는 상기 클라이언트(10)로부터 상기 스토리지 서비스 연합을 위한 요청을 수신하고, 상기 프레임워크(300)를 통해 스토리지 서비스 연합을 수행한다. 즉, 상기 REST API(100)는 프레임워크를 독립형 서비스 솔루션으로 변환하는 역할을 수행한다. 또한, 이는 아키텍처와 도메인 모델로 확장할 수 있다. The REST API 100 receives a request for the storage service association from the client 10 and performs a storage service association through the framework 300. [ That is, the REST API 100 plays a role of converting the framework into a stand-alone service solution. It can also be extended to architectures and domain models.

상기 인증 컨트롤러(200) 컴포넌트는 토큰 기반의 인증 절차를 제공하기 위해 통합되어 있다. 이 추가 구성 요소는 클라이언트 등록, 인증 및 API 엔드 포인트에 엑세스하기 위한 인증 토큰을 제공한다. 한편 도메인 모델은 클라이언트 자신들의 서비스 인증, 정책 그리고 관련 파일을 정의할 수 있도록 확장된다. The authentication controller 200 component is integrated to provide a token-based authentication procedure. This additional component provides an authentication token for client registration, authentication, and API endpoint access. The domain model, on the other hand, is extended to define the client's own service authentication, policy, and associated files.

상기 정책 엔진(400)은 상기 클라이언트(10)로부터 상기 요청을 수신하고, 상기 요청에 대한 정책 적용 가능(policy applicable) 여부를 식별한다. 또한, 상기 정책 엔진(400)은 상기 요청에 대한 요청 정보와 정책 상태를 평가하여 정책을 획득하고, 상기 정책을 기반으로 맞춤형 스토리지 서비스의 집합을 획득한다. The policy engine 400 receives the request from the client 10 and identifies whether the request is policy applicable to the request. In addition, the policy engine 400 obtains a policy by evaluating request information and policy status of the request, and acquires a set of customized storage services based on the policy.

보다 구체적으로, 상기 정책 엔진(400)은 상기 프레임워크(300)의 두뇌 역할을 수행한다. 의사결정, 서비스 선택, 검증 요청 및 요청에 대한 보완을 담당한다. 자동화된 결정을 하기 위해서 정책 기반의 데이터 분산 알고리즘이 구현된다 두 가지의 정책 모델이 구현되었다. 첫 번째 모델은 서비스 프로파일 측정 항목의 중요도를 정의한다. 두 번째 모델은 주어진 조건의 복제본의 수를 정의한다. 이 모델은 클라이언트가 별개로 데이터 복제본의 수를 정의할 수 있도록 허용한다. 상기 정책 엔진(400)은 요청 인터셉터(Request Interceptor, 410), 매칭 정책 검증자(Matching Policy Verifier, 40), 및 서비스 선택자(Service Selector, 430)을 포함한다. More specifically, the policy engine 400 serves as a brain of the framework 300. They are responsible for decision making, service selection, verification requests, and supplementing requests. Policy-based data distribution algorithms are implemented to make automated decisions. Two policy models have been implemented. The first model defines the importance of service profile metrics. The second model defines the number of replicas of a given condition. This model allows the client to define the number of copies of the data separately. The policy engine 400 includes a request interceptor 410, a matching policy verifier 40, and a service selector 430.

상기 요청 인터셉터(Request Interceptor, 410)는 상기 클라이언트(10)로부터 요청을 수신하고, 상기 요청에 대한 정책 적용 가능 여부를 식별하고, 상기 요청에 대한 요청 정보와 정책 상태를 평가하여 정책을 획득하고, 상기 정책을 기반으로 맞춤형 스토리지 서비스의 집합을 획득한다. The request interceptor 410 receives a request from the client 10, identifies whether or not the policy can be applied to the request, evaluates the request information and the policy status to obtain a policy, And acquires a set of customized storage services based on the policy.

또한, 상기 요청 인터셉터(Request Interceptor, 410)는 상기 스토리지 서비스의 집합에 대한 서비스 자격 증명을 요청하고, 상기 서비스 자격 증명에 대한 인증을 수행하고, 서비스 정보와 권한 인증을 상기 요청에 추가할 수 있다. In addition, the request interceptor 410 may request service credentials for the set of storage services, perform authentication for the service credentials, and add service information and authorization to the request .

즉, 상기 스토리지 매니저(700)에게 전송하기 전에 각 요청을 검증 및 보완을 담당한다. 요청을 보완하기 위해, 서비스 자격 증명이 반드시 포함되어야 한다. 그러므로 모든 요청은 상기 요청 인터셉터(410)에게 검증을 받아야 한다. That is, the storage manager 700 is responsible for verifying and supplementing each request before sending it to the storage manager 700. To complement the request, the service credentials must be included. Therefore, all requests must be validated by the request interceptor 410.

상기 매칭 정책 검증자(420)는 상기 요청 인터셉터(420)로부터의 정책 요청을 수신하고, 액티브 정책을 획득하고, 상기 요청 정보와 상기 정책 상태에 따라 일치하는 정책을 상기 요청 인터셉터(420)로 반환한다. 즉, 상기 매칭 정책 검증자(420)는 현재 파일과 모든 정책 조건이 일치하는지 확인하는 역할을 담당한다. The matching policy verifier 420 receives a policy request from the request interceptor 420, obtains an active policy, and returns a matching policy according to the policy information to the request interceptor 420 do. That is, the matching policy verifier 420 is responsible for checking whether all the policy conditions match the current file.

상기 서비스 선택자(Service Selector, 430)는 상기 정책을 기반으로 서비스 프로파일을 획득하고, 상기 서비스 프로파일에 기반하여 맞춤형 스토리지 서비스의 집합을 생성한다. 즉, 상기 서비스 선택자(430)는 정책과 복제 요인들의 집합에 따라 가장 좋은 서비스 그룹을 선택하는 역할을 담당한다.The service selector 430 obtains a service profile based on the policy, and generates a set of customized storage services based on the service profile. That is, the service selector 430 plays a role of selecting the best service group according to a set of policies and replication factors.

상기 메타데이터 매니저(500)는 상기 정책 요청에 따라 상기 액티브 정책을 획득하고, 상기 액티브 정책을 상기 매칭 정책 검증자(420)로 전송한다. 보다 구체적으로, 상기 메타데이터 매니저(500)는 스토리지 서비스, 정책 및 파일의 계층 도메인 모델을 정의하는 역할을 수행한다. 또한, 다른 구성요소를 검색, 생성 그리고 모델의 정보를 수정할 수 있도록 하는 인터페이스를 제공한다. 상기 메타데이터 매니저(500)는 마이크로소프트 엔티티 프레임워크(Microsoft Entity Framework) 의 코드 우선(code-first) 접근 방식을 사용할 수 있다. 이는 어떤 데이터베이스 설계 대신에 도메인 클래스를 생성하는데 초점을 맞춘 도메인 기반 설계 기술이다. 엔티티 프레임워크(Entity Framework)를 사용하는 것으로 새 도메인 클래스를 만들거나 기존의 것을 덮어쓰기를 수행하여 쉽게 도메인 모델의 확장이 가능하다.The meta data manager 500 obtains the active policy according to the policy request and transmits the active policy to the matching policy verifier 420. More specifically, the meta data manager 500 defines a hierarchical domain model of storage services, policies, and files. It also provides an interface that allows other components to be searched, generated, and modified in the model. The metadata manager 500 may use a code-first approach of the Microsoft Entity Framework. This is a domain-based design technique focused on creating domain classes instead of any database design. Using the Entity Framework, you can easily extend the domain model by creating new domain classes or by overwriting existing ones.

상기 인증 매니저(600)는 상기 서비스 자격 증명에 대한 요청을 상기 요청 인터셉터(410)로부터 수신하고, 상기 인증을 위한 토큰을 상기 요청 인터셉터(410)로 제공한다. 보다 구체적으로, 상기 인증 매니저(600)는 OAuth 2.0 인증을 사용할 수 있도록 구현된다. 보통 클라우드 스토리지를 대상으로 하며, 두 개의 세부 컴포넌트로 구성되어 있다. 즉, 상기 메타데이터 매니저(600)는 인증 URL 생성자(Authentication Url Builder, 610) 및 토큰 매니저(Token Manager, 620)를 포함한다.The authentication manager 600 receives a request for the service credential from the request interceptor 410 and provides a token for the authentication to the request interceptor 410. More specifically, the authentication manager 600 is configured to use OAuth 2.0 authentication. It typically targets cloud storage and consists of two detailed components. That is, the metadata manager 600 includes an authentication URL creator 610 and a token manager 620.

상기 인증 URL 생성자(610)는 주어진 서비스의 프로파일을 기반으로 하여 인증 URL과 redirect URL을 구성하는 역할을 수행한다. 또한, 상기 인증 URL 생성자(610)는 상기 구성된 URL이 유효한 것인지 확인한다. 상기 토큰 매니저(620)는 상기 토큰의 요청, 갱신 및 서비스 액세스 토큰을 취소하는 역할을 수행한다.The authentication URL creator 610 configures an authentication URL and a redirect URL based on a profile of a given service. Also, the authentication URL creator 610 checks whether the configured URL is valid. The token manager 620 plays a role of canceling the request, update and service access token of the token.

상기 스토리지 매니저(700)는 상기 서비스 정보와 권한 인증이 추가된 상기 요청을 상기 정책 엔진(400)으로부터 수신한다. 또한, 상기 스토리지 매니저(700)는 상기 수신된 상기 서비스 정보에 기반하여 각각의 서비스에 대한 서비스 구현 클래스를 탐색하고, 상기 탐색된 서비스 구현 클래스에 기반하여 서비스 구현 클래스 인스턴스를 생성한다. The storage manager 700 receives the service information and the request to which the authorization authentication is added from the policy engine 400. In addition, the storage manager 700 searches for a service implementation class for each service based on the received service information, and creates a service implementation class instance based on the searched service implementation class.

한편, 상기 스토리지 매니저(700)는 상기 요청, 상기 권한 인증과 연관된 서비스 권한 및 상기 서비스 구현 클래스 인스턴스들에 기반하여, 작업 매니저(730)가 비동기적으로 접근하는 복수의 서비스들에 대한 작업을 처리한다. 또한, 상기 스토리지 매니저(700)는 상기 서비스들의 응답을 병합하고, 상기 병합된 응답을 상기 클라이언트(10)로 전송한다. On the other hand, the storage manager 700 processes operations for a plurality of services accessed asynchronously by the task manager 730, based on the request, the service privilege associated with the authorization, and the service implementation class instances do. Also, the storage manager 700 merges the responses of the services and transmits the merged response to the client 10.

즉, 상기 스토리지 매니저(700)는 중앙 저장소의 자원을 관리하는 컴포넌트이다. 상기 스토리지 매니저(700)는 단일 지점으로부터 복수의 스토리지 서비스 자원으로 접근을 할 수 있는 인터페이스를 제공한다. 또한, 실행 시간을 향상시키고 동시에 다수의 서비스에 접근할 수 있도록 병렬 처리 기술이 적용되어 구현되었다. 상기 스토리지 매니저(700)는 동적으로 구현 클래스를 생성하고 액세스 서비스를 제공하기 위해 반사 지향 프로그래밍을 사용한다. 상기 스토리지 매니저(700)는 아래와 같이 세 가지의 세부 컴포넌트로 나뉘어진다.That is, the storage manager 700 is a component that manages resources of a central repository. The storage manager 700 provides an interface for accessing a plurality of storage service resources from a single point. In addition, parallel processing technology is implemented to improve execution time and access multiple services at the same time. The storage manager 700 dynamically creates reflection classes and uses reflection-oriented programming to provide access services. The storage manager 700 is divided into the following three detailed components.

즉, 상기 스토리지 매니저(700)는 가상 스토리지 자원 인터페이스(Virtual Storage Resource Interface, 710), (스토리지 서비스) 인스턴스 매니저((Storage Service) Instance Manager, 720) 및 작업 매니저(Task Manager, 730)을 포함한다.That is, the storage manager 700 includes a virtual storage resource interface 710, a storage service instance manager 720, and a task manager 730 .

상기 가상 스토리지 자원 인터페이스(710)는 상기 서비스 정보와 권한 인증이 추가된 상기 요청을 상기 요청 인터셉터(410)로부터 수신한다. 즉, 상기 가상 스토리지 자원 인터페이스(710)는 원활한 서비스가 제공되고 있는 스토리지에 있는 모든 별개 스토리지를 변환하여 단일 엑세스 지점을 제공한다.The virtual storage resource interface 710 receives the service information and the request to which the rights authentication is added from the request interceptor 410. That is, the virtual storage resource interface 710 transforms all the separate storages in the storage for which seamless services are provided to provide a single access point.

상기 인스턴스 매니저(720)는 상기 가상 스토리지 자원 인터페이스(710)로부터 수신된 상기 서비스 정보에 기반하여 각각의 서비스에 대한 서비스 구현 클래스를 탐색하고, 상기 탐색된 서비스 구현 클래스에 기반하여 서비스 구현 클래스 인스턴스를 생성한다. 또한, 상기 인스턴스 매니저(720)는 상기 서비스 구현 클래스 인스턴스를 상기 가상 스토리지 자원 인터페이스(710)로 전송한다. 즉, 상기 인스턴스 매니저(720)는 서비스 구현 클래스의 발견 및 인스턴스를 만드는 역할을 수행한다. 상기 인스턴스 매니저(720)는 서비스 도메인 모델과 스토리지 서비스 인터페이스 상속에 정의된 고유한 이름에 따라서 각 서비스가 구현된 클래스를 반사 지향 프로그래밍을 통해 찾는다.The instance manager 720 searches for a service implementation class for each service based on the service information received from the virtual storage resource interface 710 and generates a service implementation class instance based on the discovered service implementation class . In addition, the instance manager 720 transmits the service implementation class instance to the virtual storage resource interface 710. That is, the instance manager 720 performs discovery and instance creation of a service implementation class. The instance manager 720 searches for a class in which each service is implemented according to a unique name defined in the service domain model and storage service interface inheritance through reflection-oriented programming.

상기 작업 매니저(730)는 상기 요청, 상기 권한 인증과 연관된 서비스 권한 및 상기 서비스 구현 클래스 인스턴스들을 상기 가상 스토리지 자원 인터페이스(710)로부터 수신한다. 또한, 상기 작업 매니저(730)는 비동기적으로 접근하는 복수의 서비스들에 대한 작업을 처리하고, 상기 서비스들의 응답을 병합하고, 상기 응답을 상기 가상 스토리지 자원 인터페이스(710)로 전송한다. 이때, 상기 가상 스토리지 자원 인터페이스(710)는, 상기 작업 매니저(730)로부터 수신한 응답을 상기 클라이언트(10)가 수신할 수 있도록 최종 응답을 생성한다. 즉, 상기 작업 매니저(730)는 병렬적으로 접근하는 다수의 서비스 및 응답을 관리한다. The task manager 730 receives the request, the service rights associated with the authorization, and the service implementation class instances from the virtual storage resource interface 710. In addition, the task manager 730 processes tasks for a plurality of asynchronously accessed services, merges the responses of the services, and sends the responses to the virtual storage resource interface 710. At this time, the virtual storage resource interface 710 generates a final response so that the client 10 can receive a response received from the task manager 730. That is, the task manager 730 manages a plurality of services and responses accessed in parallel.

상기 스토리지 서비스 인터페이스(800)는 상기 인스턴스 매니저(720)와 상기 작업 매니저(730)로부터의 상기 요청을 복수의 스토리지 서비스들의 각각을 수행하는 복수의 스토리지 장치들(800)로 전송한다. 이때, 상기 복수의 스토리지 장치들(800)은 도시된 바와 같이, 클라우드 스토리지, 분산 파일 시스템, 및 오브젝트 스토리지를 포함할 수 있다. 즉, 상기 스토리지 서비스 인터페이스(800)는 각 스토리지 서비스가 본 프레임워크에 엑세스하는 것을 가능하게 구현되어야 한다. 또한, 인터페이스의 구현은 동적으로 발견하고 반사 지향 프로그래밍을 사용하여 서비스 클래스의 인스턴스를 사용 가능하게 해야 한다.The storage service interface 800 transmits the request from the instance manager 720 and the operation manager 730 to a plurality of storage devices 800 that perform each of a plurality of storage services. At this time, the plurality of storage devices 800 may include cloud storage, distributed file system, and object storage as shown. That is, the storage service interface 800 must be implemented so that each storage service can access the present framework. In addition, implementations of the interface should dynamically discover and enable instances of the service class using reflection-oriented programming.

이상에서는 정책 기반 스토리지 서비스 연합을 수행하는 장치에 대해 살펴보았다. 다음에서는, 정책 기반 스토리지 서비스 연합을 수행하는 방법에 대해 살펴보기로 한다. 이와 관련하여, 도 2는 본 발명에 따른 정책 기반 스토리지 서비스 연합을 수행 방법의 흐름도이다.In the above, we have seen devices that perform policy-based storage service federation. In the following, we will look at how to implement policy-based storage service federation. In this regard, FIG. 2 is a flow diagram of a method for performing a policy-based storage service federation in accordance with the present invention.

도 2에 도시된 바와 같이, 상기 정책 기반 스토리지 서비스 연합을 수행 방법은 ⅰ. 정책 엔진에 (Policy Engine)의해 수행되는 서비스 연합 과정 및 ii. 스토리지 매니저(Storage Manager)에 의한 서비스 연합 과정을 포함한다. As shown in FIG. 2, the method for performing the policy-based storage service association comprises the steps of: i. A service federation process performed by the Policy Engine and ii. And a service association process by a storage manager (Storage Manager).

ⅰ. 정책 엔진 식별 및 요청의 보완(Policy Engine verifies and complements the request)I. Policy Engine Identification and Complementation of Request (Policy Engine verifies and complements the request)

A. 정책 적용 가능 여부 식별 단계: 클라이언트로부터 요청을 요청 인터셉터(Request Interceptor)가 수신하여, 상기 요청에 대한 정책 적용 가능(policy applicable) 여부를 식별한다. 즉, 요청 인터셉터가 이 요청이 적용 가능한지 (policy-applicable) 를 식별한다. 이때 적용이 가능(policy-applicable)한 경우, 예를 들어 파일을 작성하거나 복제된 파일을 검색할 때에는 B 단계로 간다. 반대로, 적용이 불가능한 경우, 모든 서비스 혹은 특정 서비스로 요청이 전송된다. 예를 들면 복제되지 않은 파일을 읽거나 사용 가능한 공간을 제공받은 경우에는 D 단계로 간다. A. Policy Applicability Identification Step : The request interceptor receives the request from the client and identifies whether the request is policy applicable to the request. That is, the request interceptor identifies whether this request is policy-applicable. If it is applicable (policy-applicable), for example if you want to create a file or search for a duplicated file, go to step B. Conversely, if not applicable, the request will be sent to all services or to specific services. For example, if a file that has not been cloned is read or space is available, go to step D.

B. 정책 획득 단계: 상기 요청에 대한 요청 정보와 정책 상태를 평가하여 정책을 획득한다. 즉, 정책과의 연결은 정책 검증 연결자(Matching Policy Verifier)를 통해 이루어진다. 이는 메타데이터 매니저(Metadata Manager)에게서 Active 정책을 받아오고, 컴파일 및 요청 정보와 정책 상태를 평가하고 일치하는 정책이 있을 시 반환한다. B. Policy Acquisition Step : The policy information is obtained by evaluating the request information and the policy status of the request. That is, the connection with the policy is made through the Matching Policy Verifier. It receives the Active policy from the Metadata Manager, evaluates the compilation and request information and policy status, and returns when there is a matching policy.

C. 스토리지 서비스 집합 획득 단계: 상기 정책을 기반으로 맞춤형 스토리지 서비스의 집합을 획득한다. 즉, 정책을 기반으로 하는 맞춤형 스토리지 서비스의 집합은 서비스 선택자(Service Selector)를 통해 얻는다. 이는 스토리지 서비스 프로파일(profile)을 메타데이터 매니저(Metadata Manager)로부터 가져온다. 그 후 요청한 절차에 대한 가장 적절한 서비스를 찾기 위해 정책 기반 알고리즘을 적용한다. C. Storage Service Set Acquisition Step : Obtain a set of customized storage services based on the above policy. That is, a collection of customized storage services based on policies is obtained through a service selector. This brings the storage service profile from the Metadata Manager. Then apply a policy-based algorithm to find the most appropriate service for the requested procedure.

이와 관련하여, 각각의 서비스에 대한 스토리지 서비스 프로파일은 가용성, 쓰기 성능, 읽기 성능, 가격, 및 사용한 공간에 해당하는 각각의 메트릭에 의해 정의될 수 있다. 또한, 상기 정책은 P1 내지 P4로 분류될 수 있다. 이때, P1은 주로 수정 및 읽기/쓰기 작업을 수행하는 경우에 해당하고, P2는 쓰기 작업은 거의 수행하지 않고 주로 읽는 작업만 수행하는 경우에 해당한다. 또한, P3은 쓰기와 읽기 작업을 거의 하지 않는 경우에 해당하고, P4는 중요도가 떨어지는 데이터. 사용 가능성이 거의 없지만 단지 보관을 위해 사용하는 경우에 해당하는 것을 특징으로 할 수 있다.In this regard, a storage service profile for each service may be defined by a respective metric corresponding to availability, write performance, read performance, price, and used space. In addition, the policy may be classified as P1 to P4. In this case, P1 corresponds to the case of performing the correction and read / write operations, and P2 corresponds to the case where only the reading operation is performed without performing the writing operation. In addition, P3 corresponds to a case where writing and reading operations are hardly performed, and P4 corresponds to a case where data is less important. It may be characterized as being used only for storage although there is little possibility of use.

한편, 상기 서비스 프로파일은 S1 내지 S4를 포함하고, 상기 S1 내지 S4 각각에 대하여, 상기 서비스 프로파일별로 정규화된 가중치가 부여된다. 이때, 상기 P1 내지 P4 각각에 대하여, 상기 각각의 메트릭 별로 우선순위가 결정되고, 상기 정규화된 가중치와 상기 우선순위에 기반하여 상기 P1 내지 P4 각각에 대하여 상기 S1 내지 S4를 선택하는 순서를 결정한다. 이에 대해서는 아래에서 보다 상세히 살펴보도록 한다.Meanwhile, the service profile includes S1 through S4, and a normalized weight is assigned to each of the S1 through S4 according to the service profile. At this time, for each of the P1 to P4, priority is determined for each metric, and the order of selecting the S1 to S4 for each of the P1 to P4 based on the normalized weight and the priority is determined . This is discussed in more detail below.

D. 서비스 자격 증명 요청 단계: 상기 스토리지 서비스의 집합에 대한 서비스 자격 증명을 요청한다. 즉, 요청 인터셉터(Request Interceptor)에게 메타데이터 매니저(Metadata Manager)로부터 서비스 자격 증명을 요청한다. 이때 해당 서비스가 OAuth 프로토콜을 사용한다면 E 단계를 수행한다. D. Service Credential Request Step : Request service credentials for the set of storage services. That is, the request interceptor requests a service credential from a metadata manager. At this time, if the service uses the OAuth protocol, perform step E.

E. 인증 수행 단계: 상기 서비스 자격 증명에 대한 인증을 수행한다. 즉, OAuth 의 인증은 OAuth 매니저(OAuth Manager)를 통해 수행된다. 새로 고침 되었을 때 토큰이 만료된 경우 권한이 메타데이터 매니저(Metadata Manager)에 갱신되고 새로운 토큰이 요청 인터셉터(Request Interceptor)로 발급된다. E. Authentication step : Authentication is performed on the service credential. In other words, authentication of OAuth is performed through OAuth Manager (OAuth Manager). If the token expires when it is refreshed, the permissions are updated in the Metadata Manager and a new token is issued to the Request Interceptor.

F. 요청 송신 단계: 서비스 정보와 권한 인증을 상기 요청에 추가하고, 상기 요청을 스토리지 매니저로 전송한다. 즉, 서비스 정보와 권한 인증은 클라이언트의 요청에 추가되고 스토리지 매니저(Storage Manager)로 보내진다. F. Request Transmission Step : Adds service information and authorization to the request, and sends the request to the storage manager. In other words, service information and authorization are added to the client's request and sent to the Storage Manager.

ⅱ. 스토리지 매니저(Storage Manager)는 요청을 일치하는 스토리지 서비스로 전달한다. 또한, 스토리지 매니저는 클라이언트에 대한 응답을 생성하게 된다.Ii. Storage Manager delivers the request to the matching storage service. The storage manager also generates a response to the client.

A. 서비스 정보 전송 단계: 가상 스토리지 자원 인터페이스(Virtual Storage Resource Interface)는 서비스 정보를 스토리지 서비스 인스턴스 매니저(Storage Service Instance Manager)로 전송한다. A. Service Information Transmission Step : The virtual storage resource interface transmits service information to the Storage Service Instance Manager.

B. 서비스 구현 클래스 탐색 단계: 상기 서비스 정보에 기반하여 각각의 서비스에 대한 서비스 구현 클래스를 탐색한다. 즉, 스토리지 서비스 인스턴스 매니저(Storage Service Instance Manager)는 스토리지 서비스 정보 및 스토리지 서비스 인터페이스 상속에 정의된 고유한 이름에 따라 각 서비스의 구현 클래스를 찾을 때 반사 지향 프로그래밍방식을 사용한다. B. Service Implementation Class Search Step : The service implementation class for each service is searched based on the service information. That is, the Storage Service Instance Manager uses a reflection-oriented programming approach to find the implementation class of each service according to a unique name defined in storage service information and storage service interface inheritance.

C. 서비스 구현 클래스 인스턴스 생성/전송 단계: 상기 탐색된 서비스 구현 클래스에 기반하여 서비스 구현 클래스 인스턴스를 생성하고, 상기 서비스 구현 클래스 인스턴스를 상기 가상 스토리지 자원 인터페이스로 전송한다. 즉, 각각 구현된 서비스 클래스 인스턴스들은 생성되어 가상 스토리지 자원 인터페이스(Virtual Storage Resource Interface)로 보내진다. C. Service Implementation Class Instance Creation / Transmission Step : Creates a service implementation class instance based on the discovered service implementation class, and transmits the service implementation class instance to the virtual storage resource interface. In other words, each implemented service class instance is created and sent to the Virtual Storage Resource Interface.

D. 요청/서비스 권한/서비스 구현 클래스 인스턴스 전송 단계: 클라이언트의 요청, 서비스 권한 및 서비스 클래스들의 인스턴스들은 작업 매니저(Task Manager)로 보내진다. D. Request / Service Authority / Service Implementation Class Instance Transfer Phase : Client requests, service privileges and instances of service classes are sent to the Task Manager.

E. 작업 처리/응답 병합 단계: 상기 가상 스토리지 자원 인터페이스가 상기 작업 매니저로부터 수신한 응답을 상기 클라이언트가 수신할 수 있도록 최종 응답을 생성한다. 즉, 작업 매니저(Task Manager) 는 비동기적으로 접근하는 모든 서비스를 처리하기 위해 병렬처리 기술을 사용한다. 그 후 모든 서비스들의 응답을 병합하여 가상 스토리지 자원 인터페이스(Virtual Storage Resource Interface)로 전송한다. E. Work Process / Reply Merge Step : The virtual storage resource interface generates a final response so that the client can receive a response received from the task manager. That is, the Task Manager uses parallel processing techniques to process all services that are accessed asynchronously. And then merges the responses of all services and transmits them to the virtual storage resource interface.

F. 최종 응답 전송 단계: 가상 스토리지 자원 인터페이스(Virtual Storage Resource Interface)는 클라이언트의 요청에 응답하여 상기 최종 응답을 전송한다. F. Final Reply transmission step : The Virtual Storage Resource Interface transmits the final response in response to the client's request.

전술된 상기 정책 기반 스토리지 서비스 연합 수행 방법 및 장치는 다음과 같은 차별성을 갖는다.The above-described policy-based storage service association execution method and apparatus have the following differences.

(가) 본 프레임워크는 통합된 다수의 파일 기반 이기종 스토리지 서비스에 대한 가능성을 제시한다. 예를 들어 클라우드 저장소, 분산 파일 시스템, 오브젝트 스토리지, ftp와 같은 스토리지의 데이터를 하나의 가상 스토리지에 단일 컨트롤 지점을 통해 관리하게 하는 것이다.(A) This framework presents the possibility for a number of file-based heterogeneous storage services that are integrated. For example, data from storage such as cloud storage, distributed file systems, object storage, and ftp can be managed through a single point of control in a single virtual storage.

ⅰ. 병렬처리 기술과 데이터 처리량 및 성능을 향상시킬 수 있다.I. Parallel processing techniques and data throughput and performance can be improved.

ⅱ. 수평 및 수직적 스케일링Ii. Horizontal and vertical scaling

ⅲ. 자동화된 결정Iii. Automated decision

(나) 클라이언트들의 요구사항을 최대한 정확하게 제공하기 위한 스토리지 영역의 번호를 정의한 정책 기반의 알고리즘 (B) A policy-based algorithm that defines the number of storage areas to provide clients with the most precise requirements.

(다) 클라이언트들이 자율적으로 데이터 분산 규칙을 정할 수 있도록 하는 스토리지 서비스 메트릭(metrics)을 기반으로한 간단한 정책 모델 (예를 들어 가용성, 비용, 공간, 성능)(C) a simple policy model (eg, availability, cost, space, performance) based on storage service metrics that allows clients to autonomously define data distribution rules;

또한, 전술된 상기 정책 기반 스토리지 서비스 연합 수행 방법 및 장치는 다음과 같은 활용 분야에 적용될 수 있다. In addition, the method and apparatus for performing the policy-based storage service association described above can be applied to the following application fields.

활용분야(적용응용분야)Application field (Application field)

(1) 빅 데이터 저장소 (Big Data Storage)     (1) Big Data Storage (Big Data Storage)

(2) 클라우드 연합 (Cloud Federation)     (2) Cloud Federation

(3) Storage as a Service (SaaS)     (3) Storage as a Service (SaaS)

(4) 병렬 데이터 처리 (Parallel Data Processing)     (4) Parallel Data Processing

(5) 기업용 저장소 (Enterprise Storage Solutions)     (5) Enterprise Storage Solutions

또한, 전술된 상기 정책 기반 스토리지 서비스 연합 수행 방법 및 장치는 다음과 같은 기대 효과를 갖는다. In addition, the method and apparatus for performing the policy-based storage service association described above have the following expected effects.

(1) 정책 기반의 스토리지 서비스 선택(1) Choice of policy-based storage services

ⅰ. 스토리지 서비스 프로파일 정의: 네 종류의 서비스 프로파일을 S1, S2, S3, S4로 정의하고 다섯 가지의 스토리지 메트릭(metrics)은 각 정보를 생성할 때 정의된다. 모든 메트릭(metrics)은 낮은 값일수록 서비스가 좋은 것으로 표현된다. 이를 바탕으로 메트릭(metrics)을 재정의 한다. I. Storage service profile definition : Four kinds of service profiles are defined as S1, S2, S3, S4, and five storage metrics are defined when each information is generated. All metrics are expressed as good, with lower values. Based on this, we redefine the metrics.

A. 가용성(Availability): 서비스가 제공된 전체 사용 시간 중 정상적으로 서비스가 제공되지 않은 시간의 비율을 백분율로 나타내어 표현한다. A. Availability: The percentage of time during which the service was not normally provided during the entire usage time of the service, expressed as a percentage.

B. 쓰기 및 읽기 성능(Write and Read Performance): 1MB 크기의 데이터를 처리할 때 걸리는 평균 시간으로 표현한다. B. Write and Read Performance: Represents the average time taken to process 1MB of data.

C. 가격(Cost): 1GB 저장소를 사용할 때 드는 비용 C. Cost: Cost of using 1 GB storage

D. 사용한 공간(Used space): 현재 사용 중인 공간의 비율 D. Used space: Percentage of space currently in use

이와 관련하여, 도 3은 본 발명의 예시에 따른 스토리지 서비스 프로파일을 도시한다. 또한, 도 4는 본 발명의 예시에 따른 정규화된 스토리지 서비스 프로파일을 도시한다. 또한, 도 5는 본 발명에 따른 정규화를 거친 서비스 프로파일과 정규화를 거치지 않은 서비스 프로파일을 비교한 도면이다. In this regard, FIG. 3 illustrates a storage service profile according to an example of the present invention. Figure 4 also shows a normalized storage service profile according to an example of the present invention. 5 is a diagram showing a comparison between a normalized service profile and a normalized service profile according to the present invention.

도 3에 도시된 바와 같이, 서비스 프로파일 S1 내지 S4는 쓰기 성능(Write Performance), 읽기 성능(Read Performance), 가격(Cost), 사용한 공간(Used space) 및 가용성(Availability)에 대하여 서로 다른 가중치를 갖는다.As shown in FIG. 3, the service profiles S1 to S4 have different weights for write performance, read performance, cost, used space, and availability. .

ⅱ. 스토리지 서비스 프로파일 정규화: 도 4에 도시된 바와 같이, 서비스 프로파일은 선정 과정에서 각 메트릭(metric)의 기여를 공정하게 판단하기 위해 정규화를 수행해야 한다. 한편, 도 5에서 우측에 도시된 정규화를 거친 서비스 프로파일이, 그렇지 않은 경우보다 쓰기 성능(Write Performance), 읽기 성능(Read Performance), 가격(Cost), 사용한 공간(Used space) 및 가용성(Availability)에 대하여 어떤 경향이 있는 지 판별이 더 용이하다. Ii. Storage Service Profile Normalization: As shown in FIG. 4, the service profile should perform normalization to fairly determine the contribution of each metric in the selection process. On the other hand, the normalized service profile shown on the right side in FIG. 5 indicates a write performance, a read performance, a cost, a used space, and a availability, It is easier to determine what kind of tendency there is.

전술한 바와 같이, 본 발명에서는 동적이고 개인화된 정책을 기반으로 다수의 스토리지 서비스에 데이터를 분산 및 복제하고자 한다. 각 스토리지 서비스는 다수의 메트릭(metrics) 그룹으로 정의된다. 정책은 구체적인 데이터를 저장하기 위해 각 측정 항목의 중요도를 구체화한다. 마지막으로 많은 복제본이 제공된다. 스토리 서비스는 유한한 개의 정의된 메트릭(metric)을 가지고 있다. 데이터의 저장 효율을 최고로 높이는 방법을 분석하기 위해 엄청난 양의 다른 메트릭(metric) 들이 있다. 그럼에도 불구하고 그것들의 값은 다른 범위일 뿐만 아니라 심지어는 값의 의미가 반대인 경우가 있어 비교할 때 혼란을 가중시킨다. 예를 들어 가용성은 높을수록 성능이 좋은 것이며, 비용은 값이 저렴할수록 좋은 것이다. 이처럼 가용성의 경우 사용자는 가능한 한 높은 가용성을 원할 것이다. 반대로 가격은 최소한으로 지불하기를 원할 것이다. 이러한 특성 때문에 객관적 비교를 위해 모든 값을 0과 1사이의 값으로 표현하는 정규화 작업이 필요하다. 따라서 본 특허에서는 모든 측정값에서 더 작은 값이 더 좋은 서비스라고 가정한다. 예를 들면, 가용성은 서비스가 제대로 제공되지 않은 비율로 정의한다. 따라서 값이 낮을수록 가용성은 우수한 것이다.As described above, the present invention seeks to distribute and replicate data to a plurality of storage services based on a dynamic and personalized policy. Each storage service is defined as a group of metrics. Policies specify the importance of each metric to store specific data. Finally, many replicas are provided. Story services have a finite set of defined metrics. There are a tremendous amount of other metrics to analyze how to maximize the storage efficiency of data. Nevertheless, their value is not only a different range, but even the meanings of the values are opposite, which adds to confusion when compared. For example, the higher the availability, the better the performance. The lower the cost, the better. With this availability, users will want as much availability as possible. Conversely, you will want to pay the minimum price. Because of these characteristics, it is necessary to normalize all the values between 0 and 1 for objective comparison. Therefore, in the present patent, it is assumed that a smaller value is a better service in all the measured values. For example, availability defines the rate at which services are not provided properly. Therefore, the lower the value, the better the availability.

한편, 본 발명에서는 가장 적당한 스토리지 서비스 그룹을 정할 수 있도록 정책의 집합을 가지고 있다. 각 정책은 두가지 특성으로 정의된다. 첫째로 조건은 데이터와 함께 정책에 대응되어야 한다. 둘째로 중요도 순서에 따라 각 서비스의 측정 항목에 대한 가중치를 두는 방식으로 정의한다. 이는 첫 순서가 가장 높은 가중치를 갖는 것을 의미한다.Meanwhile, the present invention has a set of policies for determining the most suitable storage service group. Each policy is defined by two characteristics. First, the condition must correspond to the policy along with the data. Second, we define the weighting method for each service according to the order of importance. This means that the first order has the highest weight.

ⅲ. 정책 정의: 4개의 정책은 다음 조건으로 정의된다. Iii. Policy definition: Four policies are defined by the following conditions.

A. P1, 주로 수정 및 읽기/쓰기 작업을 수행하는 경우이다. 이 경우 가용성이 가장 우선시 된다. 예를 들어 문서 작업을 수행하는 경우.A. P1, mainly to perform the correction and read / write operations. In this case, availability is paramount. For example, when you are working on a document.

B. P2, 쓰기 작업은 거의 수행하지 않고 주로 읽는 작업만 수행하는 경우. 결과적으로 가장 중요한 메트릭(metrics)은 읽기 성능과 가용성이다. 예를 들어 미디어 파일 혹은 PDF 문서를 사용하는 경우.B. P2, if you do not perform a write operation but mainly read. As a result, the most important metrics are read performance and availability. For example, when using media files or PDF documents.

C. P3, 쓰기와 읽기 작업을 거의 하지 않는 경우. 예를 들어 백업용으로 생성해 놓은 데이터. 그러므로 이때 가장 중요한 특성은 가용 저장 공간과 가격이다.C. P3, if you rarely write and read. For example, data created for backup purposes. Therefore, the most important characteristic is the available storage space and price.

D. P4, 중요도가 떨어지는 데이터. 사용 가능성이 거의 없지만 단지 보관을 위해 사용하는 경우이다. 이 경우 가격이 가장 중요한 메트릭(metric) 이다.D. P4, less important data. It is rarely used, but only for storage. In this case, price is the most important metric.

iv. 스토리지 서비스 선택: 최종적으로 가장 좋은 선택 순서를 알아내기 위해 정의된 정책 기반의 선택 알고리즘을 적용한다. 이는 도 8에 나타나 있다. iv. Storage service selection: Finally, we apply a defined policy-based selection algorithm to find the best selection order. This is shown in FIG.

A. P1 와 P2의 스토리지 서비스 선택 순서: [S4, S2, S1, S3].A. Storage service selection order of P1 and P2: [S4, S2, S1, S3].

B. P3의 스토리지 서비스 선택 순서: [S2, S1, S3, S4].B. Storage service selection order of P3: [S2, S1, S3, S4].

C. P4의 스토리지 서비스 선택 순서: [S4, S3, S2, S1].C. Storage service selection order of P4: [S4, S3, S2, S1].

다음으로, 전술한 바와 같이, 정책 기반 스토리지 서비스 페더레이션 수행을 위한 수학적 정의에 대해 살펴보기로 하자.Next, as described above, let us consider a mathematical definition for performing policy-based storage service federation.

스토리지 서비스의 집합을 S={s1, s2, ..., sn} 라고 정의하고, 정책의 집합을 P={p1, p2, …, pm}, 복제 요인을 (replication factor) r 로 정의한다. 우리는 P와 R사이의 거리를 최소화 하는 r부터 S까지의 크기를 가지는 부분집합 R을 선택하고자 한다.Define a set of storage services as S = {s1, s2, ..., sn} and set a set of policies as P = {p1, p2, ... , pm}, and replication factor r . We want to select a subset R from r to S that minimizes the distance between P and R.

ⅰ. 스토리지 서비스 모델 I. Storage service model

각 스토리지 서비스는 벡터로 정의할 수 있다:

Figure 112016127129654-pat00001
Each storage service can be defined as a vector:
Figure 112016127129654-pat00001

서비스 i 에 대한 J 번째 metric의 값은 아래와 같이 나타낸다:The value of the Jth metric for service i is given by:

Figure 112016127129654-pat00002
,
Figure 112016127129654-pat00003
Figure 112016127129654-pat00002
,
Figure 112016127129654-pat00003

ⅱ. 정책 모델 Ii. Policy Model

각 정책은 벡터로 정의할 수 있다:Each policy can be defined as a vector:

Figure 112016127129654-pat00004
Figure 112016127129654-pat00004

정책 i 를 기반으로 한 j 번째 metric의 중요도는 아래와 같이 나타낸다.The importance of the jth metric based on policy i is given as follows.

Figure 112016127129654-pat00005
,
Figure 112016127129654-pat00006
Figure 112016127129654-pat00005
,
Figure 112016127129654-pat00006

ⅲ. 메트릭 가중치(Metrics weight)Iii. Metrics weight

메트릭 가중치는 기하급수적으로 중요도 순서에 따라서 분배 된다. (The weight of metric) 정책 i 를 기반으로 하는 통계 가중치 j 는 아래와 같이 나타낸다.The metric weights are distributed exponentially in order of importance. (The weight of metric) The statistical weight j based on the policy i is expressed as follows.

Figure 112016127129654-pat00007
Figure 112016127129654-pat00007

모든 정책 P에 대한 통계 가중치 j 는 아래와 같이 나타낸다.The statistical weight j for all policies P is expressed as follows.

Figure 112016127129654-pat00008
Figure 112016127129654-pat00008

한편, 서비스 선택 문제를 해결하기 위해서, 우리는 k 근접 이웃 알고리즘을 사용하였다. 일반적으로 k-NN은 근접한 이웃에 따른 질의 지점을 분류하는데 사용한다. 본 문제에 적용하기 위해서, 쿼리 포인트 Q는 모든 스토리지 차원의 metrics을 최대화 시키는 공간의 중심에 있고, k(이웃의 수) 는 r(복제 요인, replication factor)에 의해 결정된다. 거리 측정을 위해서는 유클리드 거리를 사용하였다. 각 특성은 정책에 대한 가중치가 반영된다.On the other hand, in order to solve the service selection problem, we used the k nearest neighbor algorithm. In general, k-NN is used to classify query points according to neighboring neighbors. To apply to this problem, the query point Q is at the center of the space that maximizes all storage metrics, and k (the number of neighbors) is determined by r (replication factor). Euclidean distance was used for distance measurement. Each attribute reflects the weight of the policy.

Figure 112016127129654-pat00009
Figure 112016127129654-pat00009

이와 관련하여, 도 6은 본 발명의 예시에 따른 정책에 대하여 각각의 메트릭들의 순위를 정의한 도면이다. 또한, 도 7은 본 발명의 예시에 따른 정책에 대하여 각각의 메트릭들의 비율을 막대 그래프로 도시한 도면이다. 도 8은 본 발명의 예시에 따른 정책 기반 서비스 거리를 방사형으로 도시한 도면이다. In this regard, Figure 6 is a diagram that defines the ranking of each metric for a policy according to the example of the present invention. 7 is a bar graph showing the ratio of each metric to the policy according to an exemplary embodiment of the present invention. FIG. 8 is a diagram illustrating a policy-based service distance in accordance with an exemplary embodiment of the present invention.

도 6을 참조하면, P1 및 P2에 대해서는 가용성(Availability)이 가장 중요하고, P3에 대해서는 사용한 공간(Used space)이 가장 중요하고, P4에 대해서는 가격(Cost)이 가장 중요함을 알 수 있다. Referring to FIG. 6, Availability is the most important for P1 and P2, Used space is most important for P3, and Cost is the most important for P4.

도 7을 참조하면, P1 내지 P4에 대하여 각각 쓰기 성능(Write Performance), 읽기 성능(Read Performance), 가격(Cost), 사용한 공간(Used space) 및 가용성(Availability)이 어떠한 비율로 그 중요도가 정의되는지를 일목요연하게 알 수 있다.Referring to FIG. 7, the importance of the write performance, the read performance, the cost, the used space, and the availability are defined with respect to P1 to P4, Can be understood at a glance.

(2) 병렬 처리 성능(2) Parallel processing performance

본 프레임워크에서 striped files 과 no-striped files의 병렬 처리의 성능을 평가하기 위해서 우리는 stripe 된 다른 블록 크기의 여러 파일 사이즈를 사용하였다. 이와 관련하여, 도 9a 내지 도 9c는 본 발명의 예시에 따른 쓰기 작업 수행, 읽기 작업 수행, 및 삭제 작업 수행에서, 파일 크기와 블록 크기에 따른 스루풋(throughphut)을 도시한다. 도 9a 내지 도 9c에 도시된 바와 같이, 각 블록 사이즈 별 읽기 쓰기 및 삭제를 수행 및 평가하였다. 수행 결과 Striping과 병렬 처리를 조합한 방법이 성능과 데이터 처리량을 향상시킨다는 것을 확인하였다. To evaluate the performance of parallel processing of striped files and no-striped files in this framework, we used several file sizes with different stripe blocks sizes. In this regard, FIGS. 9A to 9C show the throughput according to the file size and the block size in performing the write operation, the read operation, and the delete operation according to the example of the present invention. As shown in FIGS. 9A to 9C, the read and write operations for each block size were performed and evaluated. We confirmed that the combination of striping and parallel processing improves performance and data throughput.

이상에서는, 정책 기반 서비스 페더레이션 프레임워크와 상기 프레임워크를 이용하는 정책 기반 서비스 페더레이션 수행 방법 및 장치에 대하여 살펴보았다. 상기 프레임워크가 설치되는 페더레이션 수행 장치는 단말, 사용자 기기이고, 상기 단말, 사용자 기기를 통해 복수의 스토리지 서비스 장치(예를 들어, 클라우드 스토리지, 분산 파일 시스템 및 오브젝트 스토리지)에 연결될 수 있다.In the foregoing, a policy-based service federation framework and a policy-based service federation execution method and apparatus using the framework have been described. The federation execution device in which the framework is installed is a terminal, a user equipment, and can be connected to a plurality of storage service devices (for example, cloud storage, distributed file system, and object storage) through the terminal and user equipment.

일 수 있다. 또한, 상기 프레임워크가 설치되는 페더레이션 수행 장치는 게이트 웨이이고, 상기 게이트웨이를 통해 복수의 스토리지 서비스 장치(예를 들어, 클라우드 스토리지, 분산 파일 시스템 및 오브젝트 스토리지)에 연결될 수 있다., Lt; / RTI > Further, the federation performing apparatus in which the framework is installed is a gateway, and can be connected to a plurality of storage service apparatuses (for example, cloud storage, distributed file system, and object storage) through the gateway.

도 10은 본 발명의 예시에 따른 정책 기반 스토리지 서비스 선택을 위한 알고리즘의 구성을 도시한다. 도 10에 도시된 바와 같이, 스토리지 서비스 집합을 S라 하고, 메트릭들의 수를 k, 복제 요인을 (replication factor) r 로 정의한다. 즉, 전술된 바와 같이, 스토리지 서비스의 집합을 S={s1, s2, ..., sn} 라고 정의하고, 정책의 집합을 P={p1, p2, …, pm}, 복제 요인을 (replication factor) r 로 정의한다. 우리는 P와 R사이의 거리를 최소화 하는 r부터 S까지의 크기를 가지는 부분집합 R을 선택하고자 한다.10 illustrates a configuration of an algorithm for policy-based storage service selection according to an exemplary embodiment of the present invention. As shown in FIG. 10, the storage service set is S, the number of metrics is defined as k, and the replication factor is defined as r . That is, as described above, a set of storage services is defined as S = {s1, s2, ..., sn}, and a set of policies is defined as P = {p1, p2, ... , pm}, and replication factor r . We want to select a subset R from r to S that minimizes the distance between P and R.

본 프레임워크는 페더레이션 레이어 컴포넌트를 제공하여 손쉽게 어플리케이션을 개발할 수 있게 한다. 한편 상기 구현한 REST API를 기반으로 독립 서비스를 제공할 수 있다.This framework provides a federation layer component for easy application development. Meanwhile, the independent service can be provided based on the implemented REST API.

본 발명의 적어도 일 실시예에 따르면, 수평 및 수직적 스케일링과 병렬처리 기술을 통해 데이터 처리량 및 성능을 향상시킬 수 있어, 빠른 어플리케이션 개발을 위한 스토리지 페더레이션 레이어 계층에 해당하는 프레임워크(framework)를 제공할 수 있다.According to at least one embodiment of the present invention, data throughput and performance can be improved through horizontal and vertical scaling and parallel processing techniques to provide a framework corresponding to the storage federation layer for rapid application development .

또한, 본 발명의 적어도 일 실시예에 따르면, 서비스 프로파일을 통한 정책 기반의 스토리지 서비스에 의해, 타 시스템과의 호환이 가능하면서, 정책 기반의 서비스 선택이 가능한 정책 기반 스토리지 서비스 프레임워크(framework)를 제공할 수 있다는 장점이 있다.In addition, according to at least one embodiment of the present invention, a policy-based storage service framework capable of compatibility with other systems and capable of policy-based service selection by a policy-based storage service through a service profile It has the advantage that it can provide.

1000: 스토리지 서비스 연합 수행 장치
10: 클라이언트 100: REST API
200: 인증 컨트롤러 300: 스토리지 페더레이션 프레임워크
400: 정책 엔진 410: 요청 인터셉터
420: 매칭 정책 검증자 430: 서비스 선택자
500: 메타데이터 매니저 600: 인증 매니저
610: 인증 URL 생성자 620: 토큰 매니저
700: 스토리지 매니저 710: 가상 스토리지 자원 인터페이스
720: 인스턴스 매니저 730: 작업 매니저
800: 스토리지 서비스 인터페이스
1000: Storage service federation device
10: Client 100: REST API
200: authentication controller 300: storage federation framework
400: Policy Engine 410: Request Interceptor
420: matching policy validator 430: service selector
500: Metadata manager 600: Authentication manager
610: Authentication URL creator 620: Token manager
700: Storage Manager 710: Virtual Storage Resource Interface
720: Instance Manager 730: Operation Manager
800: Storage service interface

Claims (14)

정책 기반 스토리지 서비스 연합을 수행하는 장치에 의해 수행되는 정책 기반 스토리지 서비스 연합 (policy based storage service federation) 수행 방법에 있어서,
클라이언트로부터 요청을 요청 인터셉터(Request Interceptor)가 수신하여, 상기 요청에 대한 정책 적용 가능(policy applicable) 여부를 식별하는 정책 적용 가능 여부 식별 단계;
상기 요청에 대한 요청 정보와 정책 상태에 따라 일치하는 정책을 획득하는 정책 획득 단계; 및
상기 정책을 기반으로 맞춤형 스토리지 서비스의 집합을 획득하는 스토리지 서비스 집합 획득 단계를 포함하는, 정책 기반 스토리지 서비스 연합 수행 방법.
A method for performing a policy based storage service federation performed by a device that performs a policy-based storage service association,
A policy applicability identification step of receiving a request from a client and receiving a request interceptor to identify whether or not the request is policy applicable;
A policy acquiring step of acquiring a policy matching the request information and the policy status of the request; And
And acquiring a set of storage services customized based on the policy.
제1항에 있어서,
상기 스토리지 서비스의 집합에 대한 서비스 자격 증명을 요청하는 서비스 자격 증명 요청 단계;
상기 서비스 자격 증명에 대한 인증을 수행하는 인증 수행 단계; 및
복수개의 스토리지 서비스들에 포함된 각각의 스토리지 서비스들을 특정하기 위한 정보인 서비스 정보와 권한 인증을 상기 요청에 추가하고, 상기 요청을 스토리지 매니저로 전송하는 요청 송신 단계를 더 포함하는, 정책 기반 스토리지 서비스 연합 수행 방법.
The method according to claim 1,
A service credential request step of requesting a service credential for the set of storage services;
Performing an authentication for the service credential; And
Further comprising a request transmission step of adding the service information and the rights authentication, which is information for specifying the respective storage services included in the plurality of storage services, to the request, and transmitting the request to the storage manager. How to perform federation.
제2항에 있어서,
가상 스토리지 자원 인터페이스가 상기 서비스 정보를 인스턴스 매니저로 전송하는 서비스 정보 전송 단계;
상기 서비스 정보에 기반하여 각각의 서비스에 대한 서비스 구현 클래스를 탐색하는 서비스 구현 클래스 탐색 단계;
상기 탐색된 서비스 구현 클래스에 기반하여 서비스 구현 클래스 인스턴스를 생성하고, 상기 서비스 구현 클래스 인스턴스를 상기 가상 스토리지 자원 인터페이스로 전송하는 서비스 구현 클래스 인스턴스 생성/전송 단계; 및
상기 요청, 상기 권한 인증과 연관된 서비스 권한 및 상기 서비스 구현 클래스 인스턴스들을 상기 가상 스토리지 자원 인터페이스가 작업 매니저로 전송하는 요청/서비스 권한/서비스 구현 클래스 인스턴스 전송 단계를 더 포함하는, 정책 기반 스토리지 서비스 연합 수행 방법.
3. The method of claim 2,
A service information transmission step in which the virtual storage resource interface transmits the service information to the instance manager;
A service implementation class search step of searching for a service implementation class for each service based on the service information;
Generating a service implementation class instance based on the searched service implementation class and transmitting the service implementation class instance to the virtual storage resource interface; And
Further comprising a step of transmitting the request, a service authorization associated with the authorization, and a request / service authorization / service implementation class instance transferring the service implementation class instances to the operations manager by the virtual storage resource interface. Way.
제3항에 있어서,
상기 작업 매니저가 비동기적으로 접근하는 복수의 서비스들에 대한 작업을 처리하고, 상기 서비스들의 응답을 병합하는 작업 처리/응답 병합 단계; 및
상기 가상 스토리지 자원 인터페이스가 상기 작업 매니저로부터 수신한 응답을 상기 클라이언트가 수신할 수 있도록 최종 응답을 생성하는 최종 응답 생성 단계를 더 포함하는, 정책 기반 스토리지 서비스 연합 수행 방법.
The method of claim 3,
A task processing / response merging step of processing a task for a plurality of services accessed asynchronously by the task manager, and merging responses of the services; And
Further comprising a final response generation step of generating a final response such that the client receives a response received from the task manager by the virtual storage resource interface.
제3항에 있어서,
상기 각각의 서비스에 대한 스토리지 서비스 프로파일은 가용성, 쓰기 성능, 읽기 성능, 가격, 및 사용한 공간에 해당하는 각각의 메트릭에 의해 정의되고, 그리고
상기 정책은 P1 내지 P4로 분류되고,
P1은 수정 및 읽기/쓰기 작업을 수행하는 경우에 해당하고,
P2는 쓰기 작업은 수행하지 않고 읽는 작업만 수행하는 경우에 해당하고,
P3은 쓰기와 읽기 작업을 하지 않는 경우에 해당하고,
P4는 중요도가 떨어지는 데이터. 사용 가능성이 없지만 단지 보관을 위해 사용하는 경우에 해당하는 것을 특징으로 하는, 정책 기반 스토리지 서비스 연합 수행 방법.
The method of claim 3,
The storage service profile for each service is defined by a respective metric corresponding to availability, write performance, read performance, price, and used space, and
The policy is classified as P1 to P4,
P1 corresponds to a case where a correction and a read / write operation are performed,
P2 corresponds to a case where only a reading operation is performed without performing a writing operation,
P3 corresponds to a case in which writing and reading are not performed,
P4 is less important data. Wherein the policy-based storage service association is for use only for archiving purposes.
제5항에 있어서,
상기 서비스 프로파일은 S1 내지 S4를 포함하고,
상기 S1 내지 S4 각각에 대하여, 상기 서비스 프로파일 별로 정규화된 가중치가 부여되고,
상기 P1 내지 P4 각각에 대하여, 상기 각각의 메트릭 별로 우선순위가 결정되고,
상기 정규화된 가중치와 상기 우선순위에 기반하여 상기 P1 내지 P4 각각에 대하여 상기 S1 내지 S4를 선택하는 순서를 결정하는, 정책 기반 스토리지 서비스 연합 수행 방법.
6. The method of claim 5,
The service profile includes S1 through S4,
For each of S1 to S4, a normalized weight is assigned to each of the service profiles,
For each of P1 to P4, a priority is determined for each of the metrics,
Based on the normalized weight and the priority, determines the order of selecting the S1 to S4 for each of the P1 to P4.
정책 기반 스토리지 서비스 연합을 수행하는 장치에 있어서,
클라이언트로부터 요청을 수신하고, 상기 요청에 대한 정책 적용 가능(policy applicable) 여부를 식별하고, 상기 요청에 대한 요청 정보와 정책 상태에 따라 일치하는 정책을 획득하고, 상기 정책을 기반으로 맞춤형 스토리지 서비스의 집합을 획득하는 요청 인터셉터(Request Interceptor); 및
상기 요청 인터셉터로부터의 정책 요청을 수신하고, 액티브 정책을 획득하고, 상기 요청 정보와 상기 정책 상태에 따라 일치하는 정책을 상기 요청 인터셉터로 반환하는 매칭 정책 검증자를 포함하는, 정책 기반 스토리지 서비스 연합을 수행하는 장치.
1. An apparatus for performing a policy-based storage service association,
The method comprising: receiving a request from a client; identifying whether a policy is applicable to the request; obtaining a matching policy according to the request information for the request and the policy status; A request interceptor for obtaining a set; And
A matching policy validator for receiving a policy request from the request interceptor, obtaining an active policy, and returning a matching policy to the request interceptor according to the request information and the policy status. .
제7항에 있어서,
상기 정책 요청에 따라 상기 액티브 정책을 획득하고, 상기 액티브 정책을 상기 매칭 정책 검증자로 전송하는 메타데이터 매니저; 및
상기 정책을 기반으로 서비스 프로파일을 획득하고, 상기 서비스 프로파일에 기반하여 맞춤형 스토리지 서비스의 집합을 생성하는 서비스 선택자를 더 포함하는, 정책 기반 스토리지 서비스 연합을 수행하는 장치.
8. The method of claim 7,
A metadata manager for obtaining the active policy according to the policy request and transmitting the active policy to the matching policy verifier; And
Further comprising a service selector for obtaining a service profile based on the policy and creating a collection of customized storage services based on the service profile.
제7항에 있어서,
상기 요청 인터셉터는 상기 스토리지 서비스의 집합에 대한 서비스 자격 증명을 요청하고, 상기 서비스 자격 증명에 대한 인증을 수행하고, 복수개의 스토리지 서비스들에 포함된 각각의 스토리지 서비스들을 특정하기 위한 정보인 서비스 정보와 권한 인증을 상기 요청에 추가하고, 그리고
상기 서비스 자격 증명에 대한 요청을 상기 요청 인터셉터로부터 수신하고, 상기 인증을 위한 토큰을 상기 요청 인터셉터로 제공하는 인증 매니저(OAuth manager)를 더 포함하는, 정책 기반 스토리지 서비스 연합을 수행하는 장치.
8. The method of claim 7,
Wherein the request interceptor requests service credentials for the set of storage services, performs authentication for the service credentials, and generates service information, which is information for specifying each of the storage services included in the plurality of storage services, Adds authorization to the request, and
Further comprising an authentication manager (OAuth manager) for receiving a request for the service credential from the request interceptor and providing a token for the authentication to the request interceptor.
제9항에 있어서,
상기 서비스 정보와 권한 인증이 추가된 상기 요청을 상기 요청 인터셉터로부터 수신하는 가상 스토리지 자원 인터페이스;
상기 가상 스토리지 자원 인터페이스로부터 수신된 상기 서비스 정보에 기반하여 각각의 서비스에 대한 서비스 구현 클래스를 탐색하고, 상기 탐색된 서비스 구현 클래스에 기반하여 서비스 구현 클래스 인스턴스를 생성하고, 상기 서비스 구현 클래스 인스턴스를 상기 가상 스토리지 자원 인터페이스로 전송하는 인스턴스 매니저;
상기 요청, 상기 권한 인증과 연관된 서비스 권한 및 상기 서비스 구현 클래스 인스턴스들을 상기 가상 스토리지 자원 인터페이스로부터 수신하고, 비동기적으로 접근하는 복수의 서비스들에 대한 작업을 처리하고, 상기 서비스들의 응답을 병합하고, 상기 응답을 상기 가상 스토리지 자원 인터페이스로 전송하는 작업 매니저를 포함하고,
상기 가상 스토리지 자원 인터페이스는, 상기 작업 매니저로부터 수신한 응답을 상기 클라이언트가 수신할 수 있도록 최종 응답을 생성하는, 정책 기반 스토리지 서비스 연합을 수행하는 장치.
10. The method of claim 9,
A virtual storage resource interface for receiving the service information and the authorization request added from the request interceptor;
Searching for a service implementation class for each service based on the service information received from the virtual storage resource interface, creating a service implementation class instance based on the searched service implementation class, An instance manager that sends to the virtual storage resource interface;
Receiving from the virtual storage resource interface the service request, the service authorization associated with the authorization, and the service implementation class instances, processing operations for a plurality of services accessing asynchronously, merging responses of the services, And an operation manager for transmitting the response to the virtual storage resource interface,
Wherein the virtual storage resource interface generates a final response so that the client can receive a response received from the task manager.
제10항에 있어서,
상기 인스턴스 매니저와 상기 작업 매니저로부터의 상기 요청을 복수의 스토리지 서비스들의 각각을 수행하는 복수의 스토리지 장치들로 전송하는 복수의 스토리지 서비스 인터페이스를 더 포함하고,
상기 복수의 스토리지 장치들은 클라우드 스토리지, 분산 파일 시스템, 및 오브젝트 스토리지를 포함하는, 정책 기반 스토리지 서비스 연합을 수행하는 장치.
11. The method of claim 10,
Further comprising a plurality of storage service interfaces transmitting the request from the instance manager and the task manager to a plurality of storage devices performing each of a plurality of storage services,
Wherein the plurality of storage devices comprises cloud storage, distributed file system, and object storage.
정책 기반 스토리지 서비스 연합을 수행하는 장치에 있어서,
정책 기반 스토리지 서비스 연합을 위한 요청을 전송하는 클라이언트; 및
상기 클라이언트로부터 상기 요청을 수신하고, 상기 요청에 대한 정책 적용 가능(policy applicable) 여부를 식별하고, 상기 요청에 대한 요청 정보와 정책 상태에 따라 일치하는 정책을 획득하고, 상기 정책을 기반으로 맞춤형 스토리지 서비스의 집합을 획득하는 정책 엔진을 포함하는, 정책 기반 스토리지 서비스 연합을 수행하는 장치.
1. An apparatus for performing a policy-based storage service association,
A client for sending a request for policy-based storage service federation; And
Receiving the request from the client, identifying whether the request is policy applicable, acquiring a policy consistent with the request information for the request and the policy status, And a policy engine to obtain a set of services.
제12항에 있어서,
복수개의 스토리지 서비스들에 포함된 각각의 스토리지 서비스들을 특정하기 위한 정보인 서비스 정보와 권한 인증이 추가된 상기 요청을 상기 정책 엔진으로부터 수신하고, 상기 수신된 상기 서비스 정보에 기반하여 상기 각각의 서비스에 대한 서비스 구현 클래스를 탐색하고, 상기 탐색된 서비스 구현 클래스에 기반하여 서비스 구현 클래스 인스턴스를 생성하는 스토리지 서비스 매니저를 더 포함하는, 정책 기반 스토리지 서비스 연합을 수행하는 장치.
13. The method of claim 12,
A storage medium storing a program for causing a computer to receive, from a policy engine, service information, which is information for identifying each storage service included in a plurality of storage services, and the request to which authorization authentication is added, Further comprising a storage service manager for searching for a service implementation class for the service implementation class and for creating a service implementation class instance based on the searched service implementation class.
제13항에 있어서,
상기 스토리지 서비스 매니저는 상기 요청, 상기 권한 인증과 연관된 서비스 권한 및 상기 서비스 구현 클래스 인스턴스들에 기반하여, 작업 매니저가 비동기적으로 접근하는 복수의 서비스들에 대한 작업을 처리하고, 상기 서비스들의 응답을 병합하고, 상기 병합된 응답을 상기 클라이언트로 전송하는, 정책 기반 스토리지 서비스 연합을 수행하는 장치.
14. The method of claim 13,
Wherein the storage service manager processes work for a plurality of services accessed asynchronously by the task manager based on the request, the service privilege associated with the authorization, and the service implementation class instances, And send the merged response to the client. ≪ Desc / Clms Page number 24 >
KR1020160178777A 2016-12-26 2016-12-26 Method and Apparatus of performing Policy-Driven Storage Service Federation KR101924099B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160178777A KR101924099B1 (en) 2016-12-26 2016-12-26 Method and Apparatus of performing Policy-Driven Storage Service Federation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160178777A KR101924099B1 (en) 2016-12-26 2016-12-26 Method and Apparatus of performing Policy-Driven Storage Service Federation

Publications (2)

Publication Number Publication Date
KR20180074962A KR20180074962A (en) 2018-07-04
KR101924099B1 true KR101924099B1 (en) 2018-11-30

Family

ID=62912743

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160178777A KR101924099B1 (en) 2016-12-26 2016-12-26 Method and Apparatus of performing Policy-Driven Storage Service Federation

Country Status (1)

Country Link
KR (1) KR101924099B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11327686B2 (en) 2019-09-30 2022-05-10 Electronics And Telecommunications Research Institute Apparatus and method for managing integrated storage supporting hierarchical structure

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102407432B1 (en) * 2020-11-20 2022-06-10 서울외국어대학원대학교 산학협력단 A custody and federated service apparatus for the digital identity

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101431333B1 (en) * 2012-10-30 2014-08-20 건국대학교 산학협력단 System and method of data federation module for sociality storage service on cloud computing
KR101440605B1 (en) * 2012-11-16 2014-09-18 (주) 엔에프랩 User device having file system gateway unit and method for accessing to stored data

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
김윤곤 등, "데이터 활용성 증대를 위한 데이터 스토리지 페더레이션 모델", 한국정보과학회 학술발표논문집, pp 1270-1272, 2016.6*

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11327686B2 (en) 2019-09-30 2022-05-10 Electronics And Telecommunications Research Institute Apparatus and method for managing integrated storage supporting hierarchical structure

Also Published As

Publication number Publication date
KR20180074962A (en) 2018-07-04

Similar Documents

Publication Publication Date Title
CN106576078B (en) Method and system for routing data streams in cloud storage system
Conner et al. A trust management framework for service-oriented environments
KR102031695B1 (en) Automated data center selection
CN104537076B (en) A kind of file read/write method and device
US11876802B2 (en) Loading and unloading data at an external storage location
Shakarami et al. Data replication schemes in cloud computing: a survey
US20110282975A1 (en) Techniques for dynamic cloud-based edge service computing
Tang et al. Cloud service QoS prediction via exploiting collaborative filtering and location‐based data smoothing
US20060165040A1 (en) System, method, computer program products, standards, SOA infrastructure, search algorithm and a business method thereof for AI enabled information communication and computation (ICC) framework (NetAlter) operated by NetAlter Operating System (NOS) in terms of NetAlter Service Browser (NSB) to device alternative to internet and enterprise & social communication framework engrossing universally distributed grid supercomputing and peer to peer framework
US11580239B2 (en) Controlling access to cloud resources in data using cloud-enabled data tagging and a dynamic access control policy engine
US20230367888A1 (en) Multi-party encryption cube processing apparatuses, methods and systems
Tu et al. An optimized cluster storage method for real-time big data in Internet of Things
KR101924099B1 (en) Method and Apparatus of performing Policy-Driven Storage Service Federation
US20220245273A1 (en) Sharing cloud data with an application
US10742506B2 (en) Policy-based storage service federation method and apparatus
US20230344781A1 (en) Grouping resource metadata tags
Anastasi et al. Usage control in cloud federations
Wang et al. Low-cost web service discovery based on distributed decision tree in P2P environments
Vijayakumar et al. FIR3: A fuzzy inference based reliable replica replacement strategy for cloud Data Centre
Parekh et al. Analytical modelling of distributed file systems (GlusterFS and CephFS)
Toharia et al. GCViR: grid content‐based video retrieval with work allocation brokering
US11734451B1 (en) Secure continuous compliance enforcement on a data exchange system
JP4379040B2 (en) Distributed cooperative information use control method and system
US20230259609A1 (en) Configuring a client immutable identification profile
Hohenstein et al. A Multi-criteria Approach for Large-object Cloud Storage.

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