KR20230100902A - Management system for data included in a container and control method thereof - Google Patents
Management system for data included in a container and control method thereof Download PDFInfo
- Publication number
- KR20230100902A KR20230100902A KR1020210190571A KR20210190571A KR20230100902A KR 20230100902 A KR20230100902 A KR 20230100902A KR 1020210190571 A KR1020210190571 A KR 1020210190571A KR 20210190571 A KR20210190571 A KR 20210190571A KR 20230100902 A KR20230100902 A KR 20230100902A
- Authority
- KR
- South Korea
- Prior art keywords
- service
- container
- data management
- data
- service container
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 26
- 238000013523 data management Methods 0.000 claims abstract description 79
- 238000007726 management method Methods 0.000 claims abstract description 59
- 238000012217 deletion Methods 0.000 claims abstract description 18
- 230000037430 deletion Effects 0.000 claims abstract description 18
- 230000008569 process Effects 0.000 claims description 11
- 238000012545 processing Methods 0.000 claims description 7
- 239000000284 extract Substances 0.000 claims description 5
- 230000004044 response Effects 0.000 claims description 3
- 230000006870 function Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1461—Backup scheduling policy
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1464—Management of the backup or restore process for networked environments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45562—Creating, deleting, cloning virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45591—Monitoring or debugging support
Abstract
본 발명은 컨테이너에 포함된 데이터에 대한 관리 시스템 및 그 제어방법에 관한 것이다. 본 발명에 따른 데이터 관리 시스템은, 적어도 하나의 서비스 컨테이너를 포함하는 적어도 하나의 서비스 서버와 통신하여 각 서비스 컨테이너를 관리하는 관리 시스템에 있어서, 관리자 장치와 통신하는 관리자 인터페이스부와; 상기 관리자 인터페이스부를 통해 수신된 데이터 관리 정보를 저장하는 데이터 관리 정보 저장부와; 상기 적어도 하나의 서비스 서버와 통신하는 서버 인터페이스부와; 상기 데이터 관리 정보 저장부에 저장된 데이터 관리 정보를 이용하여 상기 각 서비스 서버에 포함된 서비스 컨테이너의 생성, 삭제, 갱신 중 적어도 어느 하나를 수행하는 컨테이너 관리부와; 상기 데이터 관리 정보 저장부에 저장된 데이터 관리 정보를 기초로, 상기 각 서비스 서버에 포함된 서비스 컨테이너의 데이터를 기 설정된 이벤트 발생시에 로컬 저장부에 저장하는 데이터 관리부를 포함하는 것을 특징으로 한다.The present invention relates to a management system for data included in a container and a control method thereof. A data management system according to the present invention is a management system for managing each service container by communicating with at least one service server including at least one service container, comprising: a manager interface unit communicating with a manager device; a data management information storage unit for storing the data management information received through the manager interface unit; a server interface unit communicating with the at least one service server; a container management unit that performs at least one of creation, deletion, and update of service containers included in each of the service servers by using the data management information stored in the data management information storage unit; and a data management unit that stores service container data included in each service server in a local storage unit when a predetermined event occurs, based on the data management information stored in the data management information storage unit.
Description
본 발명은 컨테이너에 포함된 데이터에 대한 관리 시스템 및 그 제어방법에 관한 것으로, 보다 상세하게는 특정 이벤트 발생시에 컨테이너에 포함된 데이터를 효율적으로 백업하거나 복원할 수 있도록 관리하는 시스템 및 그 제어방법에 관한 것이다.The present invention relates to a management system for data included in a container and a control method thereof, and more particularly, to a management system and control method for efficiently backing up or restoring data included in a container when a specific event occurs. it's about
컨테이너(Container)는 개별 Software의 실행에 필요한 실행환경을 독립적으로 운용할 수 있도록 기반환경 또는 다른 실행환경과의 간섭을 막고 실행의 독립성을 확보해주는 운영체계 수준의 격리 기술을 의미한다.Container refers to an operating system-level isolation technology that prevents interference with the base environment or other execution environments and secures independence of execution so that the execution environment necessary for the execution of individual software can be operated independently.
즉, 컨테이너는 애플리케이션을 실제 구동 환경으로부터 추상화할 수 있는 논리 패키징 메커니즘을 제공하는데, 종래 HyperVisor와 같은 가상머신이 독립적인 플랫폼을 하나씩 증가시킬 때마다 불필요한 OS를 만드는 작업에 대해서 계속해서 해야 하는 것과 달리 하나의 Host OS위에서 마치 각각의 독립적인 프로그램처럼 관리되고 실행된다는 점에서 차이가 있다.In other words, containers provide a logical packaging mechanism that can abstract applications from the actual operating environment. Unlike conventional virtual machines such as HyperVisor, which have to continuously create unnecessary OSs every time an independent platform is increased one by one. It is different in that it is managed and executed as if it were an independent program on a single Host OS.
즉, 컨테이너의 경우 OS를 만드는 작업이 불필요하고 인프라를 독립적으로 나눌 필요가 없어서 확장성이 좋고 빠르다는 장점이 있다.In other words, in the case of containers, there is no need to create an OS and there is no need to divide infrastructure independently, so it has the advantage of being scalable and fast.
컨테이너 기반의 오픈소스 가상화 플랫폼중 하나로서 도커(Docker)가 있다.Docker is one of the container-based open source virtualization platforms.
더 나아가 쿠버네티스 에서 이용되는 Container의 관리단위로 생성/관리/배포 가능한 가장 작은 단위의 유닛인 Pod 역시 넓은 의미에서는 컨테이너라 할 수 있다.Furthermore, Pod, which is the smallest unit that can be created/managed/deployed as a container management unit used in Kubernetes, is also a container in a broad sense.
복수 개의 컨테이너들이 하나의 물리적 서버에서 구동될 수 있고, 그 생성, 삭제, 갱신이 용이하여 최근에는 서비스 제공용 서버로서 컨테이너가 널리 이용되고 있다.A plurality of containers can run on one physical server, and their creation, deletion, and update are easy, so containers are recently widely used as a server for providing services.
그런데 이처럼 컨테이너는 신속한 생성, 삭제 등이 그 장점인데, 종래에는 컨테이너의 생성 및 삭제시 데이터 백업 및 복원이 원활히 이루어지지 못하고 있다.However, the advantage of containers is rapid creation and deletion, etc., but conventionally, when creating and deleting containers, data backup and restoration have not been performed smoothly.
즉, 컨테이너에 포함된 데이터의 백업 및 복원을 위해 이러한 컨테이너가 설치 및 구동되는 물리서버가 배치된 데이터 센터에 별도의 저장 공간을 확보할 필요가 있는데, 이처럼 데이터 센터 내에 별도의 저장 공간을 확보하기 위해서는 큰 비용이 소요되므로 가급적 최소한의 저장 공간만을 확보하는 것이 일반적이다.In other words, it is necessary to secure a separate storage space in the data center where the physical server in which these containers are installed and operated is placed to back up and restore the data included in the container. It takes a lot of money to do this, so it is common to secure as little storage space as possible.
그러나 확보한 저장 공간의 크기가 작은 경우 여러 종류의 컨테이너의 삭제시에 각 컨테이너에 포함된 데이터를 제대로 백업할 수 없는 문제가 있다.However, if the size of the secured storage space is small, there is a problem in that data included in each container cannot be properly backed up when various types of containers are deleted.
본 발명은 상기한 종래의 단점을 해결하기 위해 안출된 것으로서, 그 목적은 데이터 센터에 구비된 서비스 서버의 서비스 컨테이너를 생성 또는 제거시 그 서비스 컨테이너에 포함된 데이터를 저렴한 비용으로 백업 및 복원할 수 있도록 하는 관리 시스템 및 그 제어방법을 제공하는 것이다. The present invention has been made to solve the above conventional disadvantages, and its object is to back up and restore data included in the service container at low cost when a service container of a service server provided in a data center is created or removed. It is to provide a management system and a control method to enable it.
상기한 목적을 달성하기 위해 본 발명에 따른 데이터 관리 시스템은, 적어도 하나의 서비스 컨테이너를 포함하는 적어도 하나의 서비스 서버와 통신하여 각 서비스 컨테이너를 관리하는 관리 시스템에 있어서, 관리자 장치와 통신하는 관리자 인터페이스부와; 상기 관리자 인터페이스부를 통해 수신된 데이터 관리 정보를 저장하는 데이터 관리 정보 저장부와; 상기 적어도 하나의 서비스 서버와 통신하는 서버 인터페이스부와; 상기 데이터 관리 정보 저장부에 저장된 데이터 관리 정보를 이용하여 상기 각 서비스 서버에 포함된 서비스 컨테이너의 생성, 삭제, 갱신 중 적어도 어느 하나를 수행하는 컨테이너 관리부와; 상기 데이터 관리 정보 저장부에 저장된 데이터 관리 정보를 기초로, 상기 각 서비스 서버에 포함된 서비스 컨테이너의 데이터를 기 설정된 이벤트 발생시에 로컬 저장부에 저장하는 데이터 관리부를 포함할 수 있다.In order to achieve the above object, a data management system according to the present invention is a management system for managing each service container by communicating with at least one service server including at least one service container, a manager interface communicating with a manager device. wealth; a data management information storage unit for storing the data management information received through the manager interface unit; a server interface unit communicating with the at least one service server; a container management unit that performs at least one of creation, deletion, and update of service containers included in each of the service servers by using the data management information stored in the data management information storage unit; and a data management unit that stores data of service containers included in each service server in a local storage unit when a predetermined event occurs, based on the data management information stored in the data management information storage unit.
여기서, 상기 데이터 관리 정보 저장부에 저장되는 데이터 관리 정보에는 각 서비스 서버에 접속하기 위한 서버 접속 정보와, 각 서비스 컨테이너에 포함된 데이터에 대한 백업 주기 정보가 포함될 수 있다.Here, the data management information stored in the data management information storage unit may include server access information for accessing each service server and backup cycle information for data included in each service container.
여기서, 상기 컨테이너 관리부는 상기 데이터 관리 정보 저장부에 저장된 접속 정보를 이용하여 각 서비스 서버에 접속하여 그 접속된 서비스 서버에 포함된 서비스 컨테이너의 생성, 삭제, 갱신 중 적어도 어느 하나를 수행할 수 있다.Here, the container management unit may access each service server using access information stored in the data management information storage unit and perform at least one of creating, deleting, and updating a service container included in the connected service server. .
여기서, 상기 데이터 관리부는 상기 데이터 관리 정보 저장부에 저장된 각 서비스 컨테이너에 대응되는 백업 주기 정보에 따라 해당하는 서비스 컨테이너의 데이터를 로컬 저장부에 저장할 수 있다.Here, the data management unit may store corresponding service container data in a local storage unit according to backup cycle information corresponding to each service container stored in the data management information storage unit.
여기서, 상기 데이터 관리부는 상기 컨테이너 관리부에 의해 특정 서비스 컨테이너에 대한 삭제 처리가 예정된 경우 그 삭제 대상인 서비스 컨테이너에 포함된 데이터를 로컬 저장부에 저장할 수 있다.Here, the data management unit may store data included in a service container to be deleted in a local storage unit when a deletion process for a specific service container is scheduled by the container management unit.
여기서, 상기 데이터 관리부는 상기 컨테이너 관리부에 의해 특정 서비스 컨테이너에 대한 생성 또는 갱신 처리가 이루어지는 경우, 그 생성 또는 갱신 대상인 서비스 컨테이너에 대응하여 상기 로컬 저장부에 저장된 데이터가 존재한다면 해당 데이터를 추출하여 생성 또는 갱신된 서비스 컨테이너에 복원시킬 수 있다.Here, the data management unit extracts and creates data stored in the local storage unit in response to the service container to be created or updated when creation or update processing of a specific service container is performed by the container management unit. Alternatively, it can be restored to an updated service container.
또, 상기한 목적을 달성하기 위해 본 발명에 따른 데이터 관리 시스템의 제어방법은, 적어도 하나의 서비스 컨테이너를 포함하는 적어도 하나의 서비스 서버와 통신하여 각 서비스 컨테이너를 관리하는 관리 시스템의 제어방법 있어서, 기 구비된 관리자 인터페이스부를 통해 관리자 장치로부터 수신된 데이터 관리 정보를 저장하는 단계와; 상기 데이터 관리 정보 저장부에 저장된 데이터 관리 정보를 이용하여 각 서비스 서버에 포함된 서비스 컨테이너의 생성, 삭제, 갱신 중 적어도 어느 하나를 수행하는 단계와; 기 저장된 데이터 관리 정보를 기초로, 상기 각 서비스 서버에 포함된 서비스 컨테이너의 데이터를 기 설정된 이벤트 발생시에 로컬 저장부에 저장하는 단계를 포함할 수 있다.In addition, a control method of a data management system according to the present invention to achieve the above object is a control method of a management system for managing each service container by communicating with at least one service server including at least one service container, storing data management information received from a manager device through a previously provided manager interface unit; performing at least one of creation, deletion, and update of a service container included in each service server by using the data management information stored in the data management information storage unit; Based on pre-stored data management information, the method may include storing data of a service container included in each service server in a local storage when a preset event occurs.
여기서, 상기 저장되는 데이터 관리 정보에는 각 서비스 서버에 접속하기 위한 서버 접속 정보와, 각 서비스 컨테이너에 포함된 데이터에 대한 백업 주기 정보 중 적어도 어느 하나가 포함될 수 있다.Here, the stored data management information may include at least one of server access information for accessing each service server and backup cycle information for data included in each service container.
여기서, 상기 저장된 접속 정보를 이용하여 각 서비스 서버에 접속하여 그 접속된 서비스 서버에 포함된 서비스 컨테이너의 생성, 삭제, 갱신 중 적어도 어느 하나를 수행할 수 있다.Here, by accessing each service server using the stored access information, at least one of creation, deletion, and update of a service container included in the connected service server may be performed.
여기서, 상기 저장된 각 서비스 컨테이너에 대응되는 백업 주기 정보에 따라 해당하는 서비스 컨테이너의 데이터를 상기 로컬 저장부에 저장할 수 있다.Here, data of a corresponding service container may be stored in the local storage unit according to backup cycle information corresponding to each stored service container.
여기서, 특정 서비스 컨테이너에 대한 삭제 처리의 예정이 감지된 경우 그 삭제 대상인 서비스 컨테이너에 포함된 데이터를 상기 로컬 저장부에 저장할 수 있다.Here, when a deletion process for a specific service container is detected, data included in the service container to be deleted may be stored in the local storage unit.
여기서, 특정 서비스 컨테이너에 대한 생성 또는 갱신 처리가 이루어지는 경우, 그 생성 또는 갱신 대상인 서비스 컨테이너에 대응하여 상기 로컬 저장부에 저장된 데이터가 존재한다면 해당 데이터를 추출하여 생성 또는 갱신된 서비스 컨테이너에 복원시키는 단계를 더 포함할 수 있다.Here, when creation or update processing for a specific service container is performed, if data stored in the local storage unit exists in correspondence to the service container to be created or updated, the step of extracting the data and restoring the data to the created or updated service container. may further include.
이상 설명한 바와 같이 본 발명에 따르면, 자동으로 스케일링이 되어 서비스 컨테이너가 제거된 경우 자동으로 해당 서비스 컨테이너에 포함된 데이터를 백업하여 추후 해당 서비스 컨테이너 생성시 데이터를 복원할 수 있다.As described above, according to the present invention, when a service container is automatically scaled and removed, data included in the corresponding service container is automatically backed up so that the data can be restored when the corresponding service container is created later.
도 1은 본 발명의 일 실시예에 따른 관리 시스템을 포함하는 전체 시스템의 개략 구성도이고,
도 2는 도 1의 관리 시스템의 기능 블록도이고,
도 3 내지 도 5는 본 발명의 일 실시예에 따른 관리 시스템의 전체적인 제어흐름도이다.1 is a schematic configuration diagram of an entire system including a management system according to an embodiment of the present invention;
2 is a functional block diagram of the management system of FIG. 1;
3 to 5 are overall control flow diagrams of a management system according to an embodiment of the present invention.
이하에서는 첨부도면을 참조하여 본 발명에 대해 상세히 설명한다.Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.
이하 본 발명에 따른 각 실시예는 본 발명의 이해를 돕기 위한 하나의 예에 불과하고, 본 발명이 이러한 실시예에 한정되는 것은 아니다. 특히 본 발명은 각 실시예에 포함되는 개별 구성, 개별 기능, 또는 개별 단계 중 적어도 어느 하나 이상의 조합으로 구성될 수 있다.Hereinafter, each embodiment according to the present invention is only one example to aid understanding of the present invention, and the present invention is not limited to these embodiments. In particular, the present invention may be composed of at least one or more combinations of individual components, individual functions, or individual steps included in each embodiment.
특히, 편의상 청구 범위의 일부 청구항에는 '(a)'와 같은 알파벳을 포함시켰으나, 이러한 알파벳이 각 단계의 순서를 규정하는 것은 아니다.In particular, although alphabets such as '(a)' are included in some claims of the claims for convenience, these alphabets do not prescribe the order of each step.
본 발명의 일 실시예에 따른 관리 시스템(100)을 포함하는 전체 시스템의 개략 구성은 도 1에 도시된 바와 같다.A schematic configuration of the entire system including the
동 도면에서, 복수 개의 마이크로 데이터 센터(200)에 적어도 하나의 물리적 서버가 구비되고, 이러한 각 물리적 서버(서비스 서버(201))에는 적어도 하나의 서비스 컨테이너(202)가 설치 및 구동되고 있는 것을 일 예로 한다.In the same figure, at least one physical server is provided in a plurality of
여기서, 마이크로 데이터 센터(200)는 엣지 컴퓨팅 환경에서 스토리지, 프로세싱, 네트워킹 등 안전한 컴퓨팅 인프라 환경을 제공하는 통합 랙 솔루션을 의미하는 것으로서, 데이터센터 인프라에 필수적인 전력, 쿨링, 보안, 원격감시, 인프라 관리 등의 사전 조립 및 테스트가 완료된 소형 데이터센터에 해당한다. 즉, 안전하면서도 소형화된 데이터센터라고 할 수 있는데, 마이크로 데이터 센터(200)의 구성 및 기능 그 자체는 공지된 기술에 해당하므로 보다 상세한 설명은 생략한다.Here, the
한편, 관리자 장치는 관리자가 조작하는 장치로서, 예를 들어 서비스 서버(201)에 접속하거나, 각 서비스 서버(201)의 서비스 컨테이너(202)에 대한 관리 방식 등을 결정하는 각종 정보를 입력하는 장치에 해당한다.On the other hand, a manager device is a device operated by a manager, for example, a device that accesses the
도 1에서는 관리 시스템(100)과 관리자 장치가 물리적으로 분리되어 있는 것을 일예로 하였으나, 동일한 물리적 장치(서버 등)에서 이러한 관리 시스템(100) 및 관리자 장치의 모든 기능들이 구현될 수도 있음은 물론이다.In FIG. 1, it is taken as an example that the
본 발명의 일 실시예에 따른 관리 시스템(100)은 적어도 하나의 서비스 컨테이너(202)를 포함하는 적어도 하나의 서비스 서버(201)와 통신하여 각 서비스 컨테이너(202)를 관리하는 것으로서, 특히 각 서비스 컨테이너(202)에 포함된 데이터에 대한 백업 및 복원 처리를 수행한다.The
또한 관리 시스템(100)은 각 서비스 컨테이너(202)들에 대한 스케일링 처리, 예를 들어 증설을 위한 생성, 감축을 위한 제거 등을 수행할 수 있다.In addition, the
이러한 관리 시스템(100)의 구체적인 기능 블록의 일 예가 도 2에 도시되었다.An example of a specific functional block of the
동 도면에 도시된 바와 같이 관리 시스템(100)은 관리자 인터페이스부(110), 관리 정보 저장부, 서버 인터페이스부(130), 컨테이너 관리부(140), 데이터 관리부(150), 로컬 저장부(160)를 포함하여 구성될 수 있다.As shown in the figure, the
우선, 관리자 인터페이스부(110)는 관리자 장치와 통신하는 기능을 수행한다.First, the
특히 관리자 인터페이스부(110)는 관리자 장치로부터 서비스 컨테이너(202)에 대한 관리 또는 각 서비스 컨테이너(202)에 포함된 데이터에 대한 관리를 수행하기 위해 필요한 각종 정보(이하, '데이터 관리 정보'라 함)를 수신할 수 있다.In particular, the
관리 정보 저장부는 관리자 인터페이스부(110)를 통해 수신된 데이터 관리 정보를 저장하는 기능을 수행한다.The management information storage unit performs a function of storing data management information received through the
이러한 데이터 관리 정보 저장부(120)에 저장되는 데이터 관리 정보에는 각 서비스 서버(201)에 접속하기 위한 서버 접속 정보와, 각 서비스 컨테이너(202)에 포함된 데이터에 대한 백업 주기 정보 등이 포함될 수 있다.The data management information stored in the data management
여기서 서버 접속 정보는 각 서버와 그 서버에 설치된 서비스 컨테이너(202)의 종류 등에 대한 매칭 정보는 물론이고, 서버에 로그인하기 위한 계정 정보(로그인 아이디, 패스워드 등) 등이 포함될 수 있다.Here, the server access information may include not only matching information about each server and the type of
또한 백업 주기 정보는 각 서비스 컨테이너(202)에 포함된 데이터들에 대한 백업 주기를 나타내는 정보이다.In addition, the backup cycle information is information indicating a backup cycle for data included in each
서버 인터페이스부(130)는 적어도 하나의 서비스 서버(201)와 통신하는 기능을 수행한다.The
즉, 상술한 바와 같이 관리 시스템(100)은 각 서비스 서버(201)와 통신을 수행하는데, 이때 서버 인터페이스부(130)를 통해 통신을 수행하는 것이다. 소정의 인터페이스를 통해 네트워크 상의 서버와 통신하는 것 자체는 공지된 기술에 불과하므로 보다 상세한 설명은 생략한다.That is, as described above, the
컨테이너 관리부(140)는 데이터 관리 정보 저장부(120)에 저장된 데이터 관리 정보를 이용하여 각 서비스 서버(201)에 포함된 서비스 컨테이너(202)의 생성, 삭제(제거), 갱신 중 적어도 어느 하나를 수행하는 기능을 수행한다.The
예를 들어 컨테이너 관리부(140)는 관리 정보 저장부에 저장된 데이터 관리 정보 중에서 계정 정보(즉, 일종의 접속 정보)를 추출하여 각 서비스 서버(201)에 로그인한 후에, 각 서비스 서버(201)에서 동작하고 있는 서비스 컨테이너(202)의 생성, 삭제, 갱신 등을 수행할 수 있는 것이다.For example, the
로컬 저장부(160)는 관리 시스템(100) 내에 구비된 저장 영역으로서, 예를 들어 hdd와 같은 자기 저장장치, 또는 ssd와 같은 비휘발성 메모리 저장 장치 등을 포함하여 구성될 수 있다.The
데이터 관리부(150)는 데이터 관리 정보 저장부(120)에 저장된 데이터 관리 정보를 기초로, 특정 시점 또는 특정 이벤트의 발생을 감지한 경우에 각 서비스 서버(201)에 포함된 서비스 컨테이너(202)의 데이터를 로컬 저장부(160)에 저장(백업)하는 기능을 수행한다.Based on the data management information stored in the data management
예를 들어 데이터 관리 정보에 소정의 스케쥴 정보(즉, 백업 주기 정보)가 포함되어 있는 경우에는 데이터 관리부(150)는 데이터 관리 정보 저장부(120)에 저장된 각 서비스 컨테이너(202)에 대응되는 백업 주기 정보에 따라 해당하는 서비스 컨테이너(202)의 데이터를 로컬 저장부(160)에 저장(백업)할 수 있다.For example, when predetermined schedule information (ie, backup cycle information) is included in the data management information, the
일 예로, 데이터 관리부(150)는 하루 단위로 각 서비스 컨테이너(202)의 데이터를 로컬 저장부(160)에 저장할 수 있다.For example, the
또 다른 예로써, 데이터 관리부(150)는 컨테이너 관리부(140)에 의해 특정 서비스 컨테이너(202)에 대한 삭제(제거) 처리가 예정된 경우 그 삭제(제거) 대상인 서비스 컨테이너(202)에 포함된 데이터를 로컬 저장부(160)에 저장할 수 있다.As another example, the
일 예로, 관리자의 수동 조작에 의해, 또는 서비스 이용 저조에 따라 자원 이용 부하가 기 설정된 값 이하가 되어 일부의 서비스 컨테이너(202)의 제거가 요청된 경우, 데이터 관리부(150)는 그 제거 요청된 서비스 컨테이너(202)에 포함된 데이터를 해당 서비스 컨테이너(202)에 요청하여 수신한 후 로컬 저장부(160)에 저장(백업 기능에 해당함)할 수 있는 것이다.For example, when removal of some of the
한편, 컨테이너 관리부(140)에 의해 특정 서비스 컨테이너(202)에 대한 생성 또는 갱신 처리가 이루어지는 경우, 데이터 관리부(150)는 그 생성 또는 갱신 대상인 서비스 컨테이너(202)에 대응하여 로컬 저장부(160) 저장된 데이터(백업 데이터)를 추출하여 생성 또는 갱신된 서비스 컨테이너(202)에 복원시킬 수 있다.Meanwhile, when a
이때 데이터 관리부(150)는 미리 그 생성 또는 갱신 대상인 서비스 컨테이너(202)에 대응하여 로컬 저장부(160)에 백업 데이터가 저장되어 있는지 여부를 먼저 확인한 후 상술한 복원 처리 기능을 수행할 수도 있음은 물론이다.At this time, the
이하에서는 도 3 내지 도 5를 참조하여 본 발명의 일 실시예에 따른 관리 시스템(100)의 제어흐름을 설명한다.Hereinafter, a control flow of the
먼저 도 3을 참조하여 관리 시스템(100)이 기 설정된 스케줄에 따라 서비스 컨테이너(202)에 포함된 데이터를 백업 저장하는 과정을 설명한다.First, with reference to FIG. 3 , a process of backing up and storing data included in the
관리 시스템(100)은 관리자 등에 의해 지정된 데이터 관리 정보를 저장한다(단계 S1).The
본 실시예에서는 데이터 관리 정보에 각 서비스 컨테이너(202)에 대응되는 스케줄 정보(백업 스케줄 정보)와 각 서비스 서버(201)에 로그인을 하기 위한 서버 접속 정보가 포함되어 있다고 가정한다.In this embodiment, it is assumed that data management information includes schedule information (backup schedule information) corresponding to each
관리 시스템(100)은 특정 서비스 컨테이너(202)에 대응되는 백업 스케줄 정보를 추출한 후(단계 S3), 스케줄에 해당하는 시간이 도래한 경우(단계 S5) 그 대응되는 서비스 컨테이너(202)를 포함하고 있는 서비스 서버(201)의 접속 정보를 추출하여 해당 서비스 서버(201)에 접속한다(단계 S7).After the
이어서 관리 시스템(100)은 백업 스케줄이 도래한 서비스 컨테이너(202)에 데이터 전송 요청을 한 후, 서비스 컨테이너(202)로부터 수신되는 데이터를 백업 저장한다(단계 S9).Subsequently, the
도 4는 비주기적인 시점에 관리자에 의해 특정 서비스 컨테이너(202)가 삭제(제거)되는 경우의 처리 과정을 나타낸다.4 shows a process when a
관리 시스템(100)은 관리자 등에 의해 지정된 데이터 관리 정보를 저장한다(단계 S11).The
본 실시예에서는 데이터 관리 정보에 각 서비스 컨테이너(202)를 포함하고 있는 각 서비스 서버(201)에 로그인을 하기 위한 서버 접속 정보가 포함되어 있다고 가정한다.In this embodiment, it is assumed that the data management information includes server access information for logging in to each
관리 시스템(100)은 관리자 장치로부터의 지시 등에 의해 특정 서비스 컨테이너(202)에 대한 삭제 이벤트가 감지된 경우(단계 S13), 그 대응되는 서비스 컨테이너(202)를 포함하고 있는 서비스 서버(201)의 접속 정보를 추출하여 해당 서비스 서버(201)에 접속한다(단계 S15).When the
이어서 관리 시스템(100)은 제거 대상인 서비스 컨테이너(202)에 데이터 전송 요청을 한 후, 서비스 컨테이너(202)로부터 수신되는 데이터를 백업 저장한다(단계 S17).Subsequently, the
이후, 관리 시스템(100)은 백업 완료된 서비스 컨테이너(202)를 제거한다(단계 S19).Thereafter, the
도 5는 도 4의 과정을 거쳐 백업이 이루어진 서비스 컨테이너(202)에 대해서 비주기적인 시점에 다시 생성되는 경우의 처리 과정을 나타낸다.FIG. 5 shows a process when the
관리 시스템(100)은 관리자 등에 의해 지정된 데이터 관리 정보를 저장한다(단계 S21).The
본 실시예에서는 데이터 관리 정보에 각 서비스 컨테이너(202)를 포함하고 있는 각 서비스 서버(201)에 로그인을 하기 위한 서버 접속 정보가 포함되어 있다고 가정한다.In this embodiment, it is assumed that the data management information includes server access information for logging in to each
관리 시스템(100)은 관리자 장치로부터의 지시 등에 의해 특정 서비스 컨테이너(202)에 대한 생성 이벤트가 감지된 경우(단계 S23), 그 대응되는 서비스 컨테이너(202)를 포함하고 있는 서비스 서버(201)의 접속 정보를 추출하여 해당 서비스 서버(201)에 접속한다(단계 S25).When the
이어서 관리 시스템(100)은 서비스 컨테이너(202) 생성 처리를 수행하고(단계 S27), 해당 서비스 컨테이너(202)에 대응하여 기 저장되어 있던 데이터를 추출하여 해당 서비스 컨테이너(202)에 복원한다(단계 S29).Subsequently, the
한편, 상술한 각 실시예를 수행하는 과정은 소정의 기록 매체(예를 들어 컴퓨터로 판독 가능한)에 저장된 프로그램 또는 애플리케이션에 의해 이루어질 수 있음은 물론이다. 여기서 기록 매체는 RAM(Random Access Memory)과 같은 전자적 기록 매체, 하드 디스크와 같은 자기적 기록 매체, CD(Compact Disk)와 같은 광학적 기록 매체 등을 모두 포함한다. Meanwhile, it goes without saying that the process of performing each of the above-described embodiments may be performed by a program or application stored in a predetermined recording medium (for example, computer-readable). Here, the recording medium includes all of an electronic recording medium such as RAM (Random Access Memory), a magnetic recording medium such as a hard disk, an optical recording medium such as a CD (Compact Disk), and the like.
이때, 기록 매체에 저장된 프로그램은 컴퓨터나 스마트폰 등과 같은 하드웨어 상에서 실행되어 상술한 각 실시예를 수행할 수 있다. 특히, 상술한 본 발명에 따른 관리 시스템의 기능 블록 중 적어도 어느 하나는 이러한 프로그램 또는 애플리케이션에 의해 구현될 수 있다.At this time, the program stored in the recording medium may be executed on hardware such as a computer or smart phone to perform each of the above-described embodiments. In particular, at least one of the functional blocks of the management system according to the present invention described above may be implemented by such a program or application.
또한, 본 발명은 상기한 특정 실시예에 한정되는 것이 아니라 본 발명의 요지를 벗어나지 않는 범위 내에서 여러 가지로 변형 및 수정하여 실시할 수 있는 것이다. 이러한 변형 및 수정이 첨부되는 청구범위에 속한다면 본 발명에 포함된다는 것은 자명할 것이다. In addition, the present invention is not limited to the specific embodiment described above, but can be implemented by various modifications and variations within the scope of the present invention. It will be apparent that such variations and modifications are included in the present invention provided they come within the scope of the appended claims.
100 : 관리 시스템 200 : 마이크로 데이터 센터
110 : 관리자 인터페이스부 120 : 데이터 관리 정보 저장부
130 : 서버 인터페이스부 140 : 컨테이너 관리부
150 : 데이터 관리부 160 : 로컬 저장부
201 : 서비스 서버 202 : 서비스 컨테이너100: management system 200: micro data center
110: manager interface unit 120: data management information storage unit
130: server interface unit 140: container management unit
150: data management unit 160: local storage unit
201: service server 202: service container
Claims (14)
관리자 장치와 통신하는 관리자 인터페이스부와;
상기 관리자 인터페이스부를 통해 수신된 데이터 관리 정보를 저장하는 데이터 관리 정보 저장부와;
상기 적어도 하나의 서비스 서버와 통신하는 서버 인터페이스부와;
상기 데이터 관리 정보 저장부에 저장된 데이터 관리 정보를 이용하여 상기 각 서비스 서버에 포함된 서비스 컨테이너의 생성, 삭제, 갱신 중 적어도 어느 하나를 수행하는 컨테이너 관리부와;
상기 데이터 관리 정보 저장부에 저장된 데이터 관리 정보를 기초로, 상기 각 서비스 서버에 포함된 서비스 컨테이너의 데이터를 기 설정된 이벤트 발생시에 로컬 저장부에 저장하는 데이터 관리부를 포함하는 것을 특징으로 하는 데이터 관리 시스템.In the management system for managing each service container by communicating with at least one service server including at least one service container,
a manager interface unit communicating with the manager device;
a data management information storage unit for storing the data management information received through the manager interface unit;
a server interface unit communicating with the at least one service server;
a container management unit that performs at least one of creation, deletion, and update of service containers included in each of the service servers by using the data management information stored in the data management information storage unit;
and a data management unit that stores service container data included in each service server in a local storage unit when a predetermined event occurs, based on the data management information stored in the data management information storage unit. .
상기 데이터 관리 정보 저장부에 저장되는 데이터 관리 정보에는 각 서비스 서버에 접속하기 위한 서버 접속 정보와, 각 서비스 컨테이너에 포함된 데이터에 대한 백업 주기 정보가 포함되는 것을 특징으로 하는 데이터 관리 시스템.According to claim 1,
The data management information stored in the data management information storage unit includes server access information for accessing each service server and backup cycle information for data included in each service container.
상기 컨테이너 관리부는 상기 데이터 관리 정보 저장부에 저장된 접속 정보를 이용하여 각 서비스 서버에 접속하여 그 접속된 서비스 서버에 포함된 서비스 컨테이너의 생성, 삭제, 갱신 중 적어도 어느 하나를 수행하는 것을 특징으로 하는 데이터 관리 시스템.According to claim 2,
The container management unit accesses each service server using the access information stored in the data management information storage unit and performs at least one of creation, deletion, and update of a service container included in the connected service server. data management system.
상기 데이터 관리부는 상기 데이터 관리 정보 저장부에 저장된 각 서비스 컨테이너에 대응되는 백업 주기 정보에 따라 해당하는 서비스 컨테이너의 데이터를 로컬 저장부에 저장하는 것을 특징으로 하는 데이터 관리 시스템.According to claim 3,
The data management system of claim 1 , wherein the data management unit stores corresponding service container data in a local storage unit according to backup cycle information corresponding to each service container stored in the data management information storage unit.
상기 데이터 관리부는 상기 컨테이너 관리부에 의해 특정 서비스 컨테이너에 대한 삭제 처리가 예정된 경우 그 삭제 대상인 서비스 컨테이너에 포함된 데이터를 로컬 저장부에 저장하는 것을 특징으로 하는 데이터 관리 시스템.According to claim 3,
Wherein the data management unit stores data included in a service container to be deleted in a local storage unit when a deletion process for a specific service container is scheduled by the container management unit.
상기 데이터 관리부는 상기 컨테이너 관리부에 의해 특정 서비스 컨테이너에 대한 생성 또는 갱신 처리가 이루어지는 경우, 그 생성 또는 갱신 대상인 서비스 컨테이너에 대응하여 상기 로컬 저장부에 저장된 데이터가 존재한다면 해당 데이터를 추출하여 생성 또는 갱신된 서비스 컨테이너에 복원시키는 것을 특징으로 하는 데이터 관리 시스템.According to claim 5,
The data management unit extracts and creates or updates data stored in the local storage unit in response to the service container to be created or updated, when creation or update processing for a specific service container is performed by the container management unit. Data management system characterized by restoring to the service container.
(a) 기 구비된 관리자 인터페이스부를 통해 관리자 장치로부터 수신된 데이터 관리 정보를 저장하는 단계와;
(b) 상기 데이터 관리 정보 저장부에 저장된 데이터 관리 정보를 이용하여 각 서비스 서버에 포함된 서비스 컨테이너의 생성, 삭제, 갱신 중 적어도 어느 하나를 수행하는 단계와;
(c) 기 저장된 데이터 관리 정보를 기초로, 상기 각 서비스 서버에 포함된 서비스 컨테이너의 데이터를 기 설정된 이벤트 발생시에 로컬 저장부에 저장하는 단계를 포함하는 것을 특징으로 하는 데이터 관리 시스템의 제어방법.A control method of a management system for managing each service container by communicating with at least one service server including at least one service container,
(a) storing data management information received from a manager device through a previously provided manager interface unit;
(b) performing at least one of creation, deletion, and update of a service container included in each service server by using the data management information stored in the data management information storage unit;
(c) based on pre-stored data management information, storing the data of the service container included in each service server in a local storage unit when a preset event occurs.
상기 (a) 단계에서 저장되는 데이터 관리 정보에는 각 서비스 서버에 접속하기 위한 서버 접속 정보와, 각 서비스 컨테이너에 포함된 데이터에 대한 백업 주기 정보 중 적어도 어느 하나가 포함되는 것을 특징으로 하는 데이터 관리 시스템의 제어방법.According to claim 7,
The data management information stored in step (a) includes at least one of server access information for accessing each service server and backup cycle information for data included in each service container. control method.
상기 (b) 단계에서는 상기 저장된 접속 정보를 이용하여 각 서비스 서버에 접속하여 그 접속된 서비스 서버에 포함된 서비스 컨테이너의 생성, 삭제, 갱신 중 적어도 어느 하나를 수행하는 것을 특징으로 하는 데이터 관리 시스템의 제어방법.According to claim 8,
In the step (b), at least one of creation, deletion, and update of a service container included in the connected service server is performed by accessing each service server using the stored access information. control method.
상기 (c) 단계에서는 상기 저장된 각 서비스 컨테이너에 대응되는 백업 주기 정보에 따라 해당하는 서비스 컨테이너의 데이터를 상기 로컬 저장부에 저장하는 것을 특징으로 하는 데이터 관리 시스템의 제어방법.According to claim 9,
In the step (c), data of a corresponding service container is stored in the local storage unit according to the backup cycle information corresponding to each stored service container.
상기 (c) 단계에서는 특정 서비스 컨테이너에 대한 삭제 처리의 예정이 감지된 경우 그 삭제 대상인 서비스 컨테이너에 포함된 데이터를 상기 로컬 저장부에 저장하는 것을 특징으로 하는 데이터 관리 시스템의 제어방법.According to claim 9,
In the step (c), when the deletion process for a specific service container is detected, data included in the service container to be deleted is stored in the local storage unit.
특정 서비스 컨테이너에 대한 생성 또는 갱신 처리가 이루어지는 경우, 그 생성 또는 갱신 대상인 서비스 컨테이너에 대응하여 상기 로컬 저장부에 저장된 데이터가 존재한다면 해당 데이터를 추출하여 생성 또는 갱신된 서비스 컨테이너에 복원시키는 단계를 더 포함하는 것을 특징으로 하는 데이터 관리 시스템의 제어방법.According to claim 11,
When a specific service container is created or updated, if there is data stored in the local storage corresponding to the service container to be created or updated, the step of extracting the corresponding data and restoring it to the created or updated service container is further performed. A control method of a data management system, characterized in that it comprises.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210190571A KR102618274B1 (en) | 2021-12-29 | 2021-12-29 | Management system for data included in a container and control method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210190571A KR102618274B1 (en) | 2021-12-29 | 2021-12-29 | Management system for data included in a container and control method thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20230100902A true KR20230100902A (en) | 2023-07-06 |
KR102618274B1 KR102618274B1 (en) | 2023-12-28 |
Family
ID=87185365
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210190571A KR102618274B1 (en) | 2021-12-29 | 2021-12-29 | Management system for data included in a container and control method thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102618274B1 (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20140102482A (en) * | 2013-02-14 | 2014-08-22 | 주식회사 케이티 | Backup system and backup method in virtualization environment |
KR101835431B1 (en) * | 2016-09-01 | 2018-03-09 | 주식회사 시큐아이 | Data update method of containers in virtual system and apparatus thereof |
KR102016238B1 (en) | 2017-12-05 | 2019-08-29 | 숭실대학교산학협력단 | System and method for supervising doker container, computer readable medium for performing the method |
KR102328384B1 (en) * | 2020-07-23 | 2021-11-18 | 아콘소프트 주식회사 | Computer readable media storing automatic provisioning engine program for managed cluster |
-
2021
- 2021-12-29 KR KR1020210190571A patent/KR102618274B1/en active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20140102482A (en) * | 2013-02-14 | 2014-08-22 | 주식회사 케이티 | Backup system and backup method in virtualization environment |
KR101835431B1 (en) * | 2016-09-01 | 2018-03-09 | 주식회사 시큐아이 | Data update method of containers in virtual system and apparatus thereof |
KR102016238B1 (en) | 2017-12-05 | 2019-08-29 | 숭실대학교산학협력단 | System and method for supervising doker container, computer readable medium for performing the method |
KR102328384B1 (en) * | 2020-07-23 | 2021-11-18 | 아콘소프트 주식회사 | Computer readable media storing automatic provisioning engine program for managed cluster |
Also Published As
Publication number | Publication date |
---|---|
KR102618274B1 (en) | 2023-12-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11513926B2 (en) | Systems and methods for instantiation of virtual machines from backups | |
US10073747B2 (en) | Reducing recovery time in disaster recovery/replication setup with multitier backend storage | |
US10169173B2 (en) | Preserving management services with distributed metadata through the disaster recovery life cycle | |
CN101398770B (en) | System for and method of migrating one or more virtual machines | |
CN105556478B (en) | System and method for protecting virtual-machine data | |
JP6186374B2 (en) | System and method for secure migration to a virtualized platform | |
US10061665B2 (en) | Preserving management services with self-contained metadata through the disaster recovery life cycle | |
US20150331757A1 (en) | One-click backup in a cloud-based disaster recovery system | |
US8881144B1 (en) | Systems and methods for reclaiming storage space from virtual machine disk images | |
US11886902B2 (en) | Physical-to-virtual migration method and apparatus, and storage medium | |
US9524215B1 (en) | Systems and methods for managing virtual machine backups | |
CN106777394B (en) | Cluster file system | |
CN105453039A (en) | Systems and methods for instantly restoring virtual machines in high input/output load environments | |
US11150981B2 (en) | Fast recovery from failures in a chronologically ordered log-structured key-value storage system | |
US9805038B2 (en) | Efficient conflict resolution among stateless processes | |
CN104461757A (en) | Method and device for restoring virtual machines | |
US9529679B2 (en) | Volume snapshot in a shared environment | |
KR102618274B1 (en) | Management system for data included in a container and control method thereof | |
CN114416434A (en) | Bare metal disk backup method and device and computer readable storage medium | |
US11977459B2 (en) | Techniques for accelerated data recovery | |
US20240134670A1 (en) | Management of duplicative virtual machine entries for a data management system | |
WO2023121874A1 (en) | Backup, restore, and migration of cloud managed configuration properties | |
CN117909139A (en) | Method and device for protecting virtual machine on CloudOS platform and server |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right |