KR102069691B1 - 메타데이터 관리 시스템 및 방법 - Google Patents

메타데이터 관리 시스템 및 방법 Download PDF

Info

Publication number
KR102069691B1
KR102069691B1 KR1020170050465A KR20170050465A KR102069691B1 KR 102069691 B1 KR102069691 B1 KR 102069691B1 KR 1020170050465 A KR1020170050465 A KR 1020170050465A KR 20170050465 A KR20170050465 A KR 20170050465A KR 102069691 B1 KR102069691 B1 KR 102069691B1
Authority
KR
South Korea
Prior art keywords
metadata
request
service
unit
access
Prior art date
Application number
KR1020170050465A
Other languages
English (en)
Other versions
KR20180117401A (ko
Inventor
차우
원희선
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to KR1020170050465A priority Critical patent/KR102069691B1/ko
Priority to US15/788,999 priority patent/US20180307856A1/en
Publication of KR20180117401A publication Critical patent/KR20180117401A/ko
Application granted granted Critical
Publication of KR102069691B1 publication Critical patent/KR102069691B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24573Query processing with adaptation to user needs using data annotations, e.g. user-defined metadata
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2219Large Object storage; Management thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1014Server selection for load balancing based on the content of a request

Abstract

본 발명에 따른 빅데이터 플랫폼에서 선반입을 기반으로 메타데이터를 관리하는 시스템은 서로 다른 주체에 의해 각각 생성된 서로 다른 서비스들에 대응되는 어플리케이션 세트를 사용자에게 제공하는 서비스 제공부와, 상기 서비스에 대응하는 메타데이터를 쿼리하거나 갱신하는 메타데이터 에이전트부를 포함하는 하나 이상의 클라이언트 서버 및 상기 서비스에 대응하는 메타데이터를 관리하는 마스터 서버를 포함한다.

Description

메타데이터 관리 시스템 및 방법{APPARATUS AND METHOD FOR MANAGING METADATA}
본 발명은 메타데이터 관리 시스템 및 방법에 관한 것으로서, 보다 구체적으로는 빅데이터 플랫폼에서 선반입을 기반으로 메타데이터를 관리하는 시스템 및 방법에 관한 것이다.
최근 들어 빅데이터(Big Data)에 대한 관심이 높아지면서 이론가(theorists), 시스템 빌더(system builders), 과학자(scientists), 어플리케이션 개발자(application designers) 등 다양한 분야의 전문가들에 의한 다양한 소스로부터의 데이터가 동시에 축적됨에 따라 수많은 혁신들이 일어나고 있다.
이러한 데이터의 소스들로 인하여, 처리해야 할 데이터의 양이 기하급수적으로 늘어나고 그만큼 데이터에 대한 요구 또한 다양해짐에 따라, 점점 더 새로운 빅데이터 서비스들이 시행되고 있다. 이러한 각 서비스들은 종종 자체적으로 메모리에서 메타데이터 정보를 관리하고 사용한다.
그 결과 상기 서비스들이나 제3의 인증된 주체들이 상호 협업하여 특정 목적을 달성하기 위해 메타데이터에 액세스하는 것은 매우 어렵다는 문제가 있다. 그리고 우수한 성능을 보장하기 위해서는 서비스의 모든 메타데이터를 하나의 데이터베이스로 이동시켜야 하는 것을 필요로 한다는 문제가 있다.
이에 따라, 빅데이터 플랫폼은 데이터 처리(processing), 액세스(accessing) 및 저장(storing) 등과 관련하여 서로 다른 요구를 갖는 많은 사용자들에게, 상이한 메타데이터와 관련된 빅데이터에 대한 다양한 데이터 서비스를 제공하는 것이 필요한 실정이다.
빅데이터에 대한 다양한 서비스를 제공하기 위해 일반적으로는, 고성능의 메모리 데이터베이스를 사용하여 메타데이터를 관리하여 왔다. 그러나 이러한 방법은 빅데이터 플랫폼의 경우 다음과 같은 문제를 가지게 된다.
첫째로, 인-메모리 데이터베이스는 모든 데이터가 데이터베이스 서버의 메모리에 저장되기 때문에, 데이터의 사이즈 제약을 받는 경우가 발생한다. 이는 다중 점유 환경에서 빅데이터의 중요한 특징 중 하나인, 기하 급수적으로 증가하는 메타데이터를 관리할 수 없음을 의미한다.
둘째로, 많은 서비스들이 동시에 한 곳(place)에 저장된 메타데이터를 요청할 경우, 메타데이터의 액세스 품질과 보안성을 보장할 수 없다는 문제가 있다.
마지막으로, 인-메모리 데이터베이스를 사용할 경우 디스크 대기시간(latency) 문제는 해소할 수 있을지 모르나, 그 외 다른 네트워크 통신들로부터 야기되는 대기시간이 성능에 큰 영향을 미치게 되는 문제가 있다.
본 발명의 실시예는 빅데이터 플랫폼에 있어서, 메타데이터 관리 성능을 향상시킴으로써 사용자로 하여금 낮은 대기시간으로 용이하게 메타데이터 액세스와 관련된 원하는 서비스를 이용할 수 있게 할 수 있는 메타데이터 관리 시스템 및 방법을 제공하고자 한다.
다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 제 1 측면에 빅데이터 플랫폼에서 선반입을 기반으로 메타데이터를 관리하는 시스템은 서로 다른 주체에 의해 각각 생성된 서로 다른 서비스들에 대응되는 어플리케이션 세트를 사용자에게 제공하는 서비스 제공부와, 상기 서비스에 대응하는 메타데이터를 쿼리하거나 갱신하는 메타데이터 에이전트부를 포함하는 하나 이상의 클라이언트 서버 및 상기 서비스에 대응하는 메타데이터를 관리하는 마스터 서버를 포함한다.
또한, 본 발명의 제 2 측면에 따른 빅데이터 플랫폼에서 선반입을 기반으로 메타데이터를 관리하는 방법은 클라이언트 서버의 서비스 제공부가 사용자로부터 서비스 요청을 수신하는 단계; 상기 서비스 제공부가 상기 서비스 요청을 처리하기 위한 메타데이터를 획득하기 위하여 메타데이터 요청을 상기 클라이언트 서버의 메타데이터 에이전트부로 전송하는 단계; 상기 메타데이터 에이전트부가 마스터 서버의 메타데이터 모니터링부로 상기 메타데이터 요청을 전달하는 단계; 상기 메타데이터 모니터링부가 상기 메타데이터 요청을 상기 메타데이터베이스의 메타데이터 모니터링 테이블에 추가하는 단계; 상기 마스터 서버의 메타데이터 패턴 형성부가 상기 메타데이터 모니터링 테이블에 추가된 메타데이터 요청을 전달받고, 이에 기초하여 액세스 패턴을 형성하여 상기 메타데이터베이스의 액세스 패턴 테이블에 저장하는 단계 및 상기 마스터 서버의 메타데이터 인출부가 상기 저장된 액세스 패턴에 기초하여 현재 필요한 메타데이터 또는 추후 필요할 것으로 예측되는 메타데이터의 값을 상기 메타데이터베이스로부터 인출하여 상기 메타데이터 에이전트부로 전송하는 단계를 포함한다.
전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 다양한 서비스에 대한 통합된 메타데이터 관리시 발생 가능한 성능 저하 문제를 해소할 수 있다.
또한, 사용자에게 낮은 대기시간(latency)으로도 원하는 서비스를 용이하게 제공할 수 있으며, 다른 시스템에서도 메타데이터의 액세스를 안전하게 제공되도록 할 수 있다.
도 1은 본 발명의 일 실시예에 따른 메타데이터 관리 시스템의 블록도이다.
도 2는 클라이언트 서버 및 마스터 서버의 구성을 설명하기 위한 도면이다.
도 3은 본 발명의 일 실시예에 따른 메타데이터 관리 방법 중 메타데이터 읽기 절차의 순서도이다.
도 4는 액세스 패턴의 예시를 도시한 도면이다.
도 5는 본 발명의 일 실시예에 따른 메타데이터 관리 방법 중 메타데이터 의 순서도이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
본 발명은 빅데이터 플랫폼에서 선반입을 기반으로 메타데이터를 관리하는 시스템(1) 및 방법에 관한 것이다.
본 발명의 일 실시예에 따르면 메타데이터 관리 성능을 향상시킴으로써 사용자로 하여금 낮은 대기시간으로 용이하게 메타데이터 액세스와 관련된 원하는 서비스를 이용할 수 있게 할 수 있으며, 메타데이터의 읽기 및 쓰기를 위한 표준 매커니즘을 유연한 시스템(flexible system)에 제공할 수 있다.
이하에서는 도 1을 참조하여, 본 발명의 일 실시예에 따른 메타데이터 관리 시스템(1)에 대하여 설명하도록 한다.
도 1은 본 발명의 일 실시예에 따른 메타데이터 관리 시스템(1)의 블록도이다.
본 발명의 일 실시예에 따른 메타데이터 관리 시스템(1)은 하나 이상의 클라이언트 서버(200-1, 200-2,…,200-N; 200)와 마스터 서버(100)를 포함한다.
하나 이상의 클라이언트 서버(200)는 자신의 데이터 서비스들을 위하여 메타데이터를 쿼리하거나 갱신한다.
이때, 클라이언트 서버(200)는 서비스 제공부(210-1, 210-2,…,210-N; 210)와 메타데이터 에이전트부(220-1, 220-2,…,220-N; 220)를 포함한다.
서비스 제공부(210)는 서로 다른 주체에 의해 각각 생성된 서로 다른 서비스들에 대응되는 어플리케이션 세트를 사용자에게 제공한다. 즉, 서비스 제공부(210)는 최종 사용자들에게 서로 다른 서비스들을 제공하기 위하여 서로 다른 개발자에 의해 개발된 웹 어플리케이션, 모바일 어플리케이션 등을 포함하는 일련의 어플리케이션 세트(Service 11, Service 12, service 13,…)를 제공한다.
메타데이터 에이전트부(220)는 마스터 서버(100)와 상호작용하여, 서비스에 대응하는 메타데이터를 쿼리하거나 갱신한다.
마스터 서버(100)는 상기 서비스에 대응하는 메타데이터를 관리하는 역할을 수행한다.
이때, 마스터 서버(100)는 메타데이터베이스(110), 메타데이터 인증부(120), 메타데이터 허가부(130), 메타데이터 모니터링부(140), 메타데이터 패턴 형성부(150) 및 메타데이터 인출부(160)를 포함한다.
먼저, 메타데이터베이스(110)에는 사용자, 그룹, 할당량, 자원, 어플리케이션 및 클러스터 구성에 대응하는 메타데이터가 저장된다.
메타데이터 인증부(120)는 메타데이터 에이전트부(220)로부터 수신한 메타데이터 요청을 인증하는 역할을 수행하며, Kerberos, OpenID 및 LDAP와 같은 프로토콜을 기반으로 메타데이터 요청들을 인증한다.
메타데이터 허가부(130)는 메타데이터 에이전트부(220)가 액세스할 수 있는 메타데이터의 결정을 위한 요청을 허가한다. 즉, 메타데이터 허가부(130)는 메타데이터베이스(110)에 저장된 액세스 권한 정보에 기초하여, 메타데이터 액세스 요청에 권한 위반이 존재하는지 여부를 판단한다.
메타데이터 모니터링부(140)는 메타데이터 에이전트부(220)로부터의 메타데이터 요청들을 모니터링하고, 이를 메타데이터베이스(110)의 메타데이터 모니터링 테이블에 추가한다.
메타데이터 패턴 형성부(150)는 메타데이터베이스(110)에 저장된 메타데이터 요청을 전달받고, 이에 기초하여 액세스 패턴을 형성하여 메타데이터베이스(110)의 액세스 패턴 테이블에 저장한다.
메타데이터 인출부(160)는 메타데이터베이스(110)에 저장된 액세스 패턴에 기초하여, 현재 필요한 메타데이터 또는 추후 필요할 것으로 예측되는 메타데이터의 값을 메타데이터베이스(110)로부터 인출(fetch)하여 메타데이터 에이전트부(220)로 전송한다.
한편, 본 발명의 일 실시예에서의 클라이언트 서버(200) 및 마스터 서버(100)에 포함된 각 구성요소들은 도 2에 도시된 바와 같이 구성될 수 있다.
도 2는 클라이언트 서버(200) 및 마스터 서버(100)의 구성을 설명하기 위한 도면이다.
도 2를 참조하면, 클라이언트 서버(200) 및 마스터 서버(100)의 각 구성요소들은 통신 모듈(101, 201), 메모리(103, 203) 및 프로세서(105, 205)로 구성될 수 있다.
이때, 통신 모듈(101, 201)은 유선 통신 모듈 및 무선 통신 모듈을 모두 포함할 수 있다. 유선 통신 모듈은 전력선 통신 장치, 전화선 통신 장치, 케이블 홈(MoCA), 이더넷(Ethernet), IEEE1294, 통합 유선 홈 네트워크 및 RS-485 제어 장치로 구현될 수 있다. 또한, 무선 통신 모듈은 WLAN(wireless LAN), Bluetooth, HDR WPAN, UWB, ZigBee, Impulse Radio, 60GHz WPAN, Binary-CDMA, 무선 USB 기술 및 무선 HDMI 기술 등으로 구현될 수 있다.
메모리(103, 203)에는 각 서버들을 제어하기 위한 프로그램이 저장된다. 여기에서, 메모리(103, 203)는 전원이 공급되지 않아도 저장된 정보를 계속 유지하는 비휘발성 저장장치 및 휘발성 저장장치를 통칭하는 것이다.
예를 들어, 메모리(103, 203)는 콤팩트 플래시(compact flash; CF) 카드, SD(secure digital) 카드, 메모리 스틱(memory stick), 솔리드 스테이트 드라이브(solid-state drive; SSD) 및 마이크로(micro) SD 카드 등과 같은 낸드 플래시 메모리(NAND flash memory), 하드 디스크 드라이브(hard disk drive; HDD) 등과 같은 마그네틱 컴퓨터 기억 장치 및 CD-ROM, DVD-ROM 등과 같은 광학 디스크 드라이브(optical disc drive) 등을 포함할 수 있다.
그밖에 클라이언트 서버(200) 및 마스터 서버(100)는 사용자 입력 장치, 데이터 통신 버스, 사용자 출력 장치를 포함할 수 있으며, 서버 내의 각 구성요소는 데이터 통신 버스를 통해 데이터 통신을 할 수 있다.
참고로, 본 발명의 실시예에 따른 도 1에 도시된 구성 요소들은 소프트웨어 또는 FPGA(Field Programmable Gate Array) 또는 ASIC(Application Specific Integrated Circuit)와 같은 하드웨어 형태로 구현될 수 있으며, 소정의 역할들을 수행할 수 있다.
그렇지만 '구성 요소들'은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니며, 각 구성 요소는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다.
따라서, 일 예로서 구성 요소는 소프트웨어 구성 요소들, 객체지향 소프트웨어 구성 요소들, 클래스 구성 요소들 및 태스크 구성 요소들과 같은 구성 요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다.
구성 요소들과 해당 구성 요소들 안에서 제공되는 기능은 더 작은 수의 구성 요소들로 결합되거나 추가적인 구성 요소들로 더 분리될 수 있다.
이하에서는 도 3 내지 도 5를 참조하여 메타데이터 관리 시스템(1)에서의 메타데이터 관리 방법에 대하여 보다 구체적으로 설명하도록 한다.
도 3은 본 발명의 일 실시예에 따른 메타데이터 관리 방법 중 메타데이터 읽기 절차의 순서도이다. 도 4는 액세스 패턴의 예시를 도시한 도면이다.
본 발명의 일 실시예에 따른 메타데이터 관리 시스템(1)에서의 메타데이터 읽기 절차는 먼저, 클라이언트 서버(200)의 서비스 제공부(210)는 사용자로부터 특정 서비스 읽기 요청을 수신한다(S301).
그 다음 서비스 제공부(210)는 서비스 읽기 요청을 처리하기 위하여 필요한 메타데이터를 획득하기 위하여, 메타데이터 읽기 요청을 메타데이터 에이전트부(220)로 전송한다(S303). 이때, 메타데이터 읽기 요청은 사용자 ID, 테넌트(tenant) ID, 서비스 ID, 메타데이터 테이블 ID 및 메타데이터 행과 열의 ID 중 하나 이상을 포함할 수 있다.
다음으로, 메타데이터 에이전트부(220)는 메타데이터 에이전트부(220)의 ID와 패스워드를 포함하는 인증 요청을 메타데이터 인증부(120)로 전송하고(S305), 이에 따라 메타데이터 인증부(120)는 메타데이터에 저장된 메타데이터 에이전트부(220)의 정보에 기초하여 메타데이터 읽기 요청에 오류가 존재하는지 여부를 판단한다(S307).
그리고 확인 결과 오류가 존재하는 경우, 메타데이터 에이전트부(220)는 다시 메타데이터 에이전트부(220)의 ID와 패스워드를 포함하는 인증 요청을 메타데이터 인증부(120)로 전송한다(S305).
반면, 확인 결과 오류가 없는 경우, 메타데이터 에이전트부(220)는 메타데이터 액세스 요청을 위한 정보를 메타데이터 허가부(130)로 전송한다(S309). 이때, 메타데이터 액세스 요청을 위한 정보는 메타데이터 에이전트 ID, 사용자 ID, 테넌트(tenant) ID, 서비스 ID, 메타데이터 테이블 ID 및 메타데이터 행과 열의 ID 중 하나 이상을 포함할 수 있다.
이를 수신한 메타데이터 허가부(130)는 메타데이터베이스(110)에 저장된 액세스 권한 정보에 기초하여 메타데이터 액세스 요청에 권한 위반이 존재하는지 여부를 판단한다(S311).
판단 결과 액세스 권한 위반이 존재하는 경우, 메타데이터 에이전트부(220)는 다시 메타데이터 액세스 요청을 위한 정보를 메타데이터 허가부(130)로 전송한다(S309).
이와 달리 판단 결과 액세스 권한 위반이 없는 경우, 메타데이터 에이전트부(220)는 메타데이터 읽기 요청을 메타데이터 모니터링부(140)로 전송하고(S313), 이를 수신한 메타데이터 모니터링부(140)는 메타데이터 읽기 요청을 메타데이터베이스(110)의 메타데이터 모니터링 테이블에 추가한다(S315).
다음으로, 메타데이터 에이전트부(220)는 사용자의 서비스 읽기 요청을 처리하기 위하여 필요한 메타데이터의 값이 클라이언트 서버(200)의 메모리에 저장되어 있는지 여부를 확한다(S317).
확인 결과 메모리에 저장되어 있는 경우, 메타데이터 에이전트부(220)는 메타데이터의 값을 클라이언트 서버(200)의 서비스 제공부(210)로 전송하고(S319), 이를 수신한 서비스 제공부(210)는 메타데이터의 값에 기초하여 서비스의 읽기 요청을 수행하여 사용자에게 서비스를 제공할 수 있다(S321).
반면, 확인 결과 메모리에 저장되어 있지 않은 경우, 메타데이터 패턴 형성부(150)는 메타데이터베이스(110)의 메타데이터 모니터링 테이블로부터 메타데이터 읽기 요청을 읽고, 이에 기초하여 액세스 패턴을 형성한다(S323).
이때, 액세스 패턴은 예를 들어, 유향 스패닝 트리(directed spanning tree)에서의 요청들의 집합을 의미할 수 있다. 여기에서 나뭇가지 형태(arborescence form)의 유향 엣지(directed edge)는 사용자 ID, 서비스 ID 등과 같은 요소들의 유사한 개수, 즉 기 설정된 유사도 이상인 경우가 최대인 경우의 요청으로 방향이 결정될 수 있다. 즉, 루트로 설정된 정점 A와 다른 정점 B가 존재하는 경우, A에서 B까지 정확히 하나의 직접 경로가 있는 유향 그래프로 형성될 수 있다.
도 4를 참조하면, 메타데이터 읽기 요청 R3, R2, R1이 존재하는 상태에서, 현재 요청인 R4와 유사한 요소가 각각 1개, 2개, 3개인 경우, 유향 엣지는 R1 요청으로부터 R4로 결정되어 액세스 패턴이 형성될 수 있다.
한편, 본 발명의 일 실시예는 현재 요청의 유사 요소들의 최대 개수가 2개보다 작은 경우, 현재 요청을 기존 액세스 패턴에 추가하는 대신, 현재 요청을 포함하는 새로운 액세스 패턴을 형성할 수 있다.
이와 같이 액세스 패턴이 새롭게 형성되어 추가되거나 또는 기존에 존재하던 액세스 패턴이 갱신됨에 따라, 메타데이터 패턴 형성부(150)는 이러한 액세스 패턴을 메타데이터베이스(110)의 액세스 패턴 테이블에 저장한다(S325).
다음으로, 메타데이터 인출부(160)는 메타데이터베이스(110)의 액세스 패턴 테이블에 저장된 액세스 패턴에 기초하여, 현재 필요한 메타데이터 또는 추후 필요할 것으로 예측되는 메타데이터의 값을 산출한다(S327).
예를 들어, 현재 요청인 R5가 요청 R1과 완전히 동일한 요소를 가지고 있는 경우, 도 4에 도시된 패턴에 따라 향후 필요로 하는 메타데이터는 R2, R3 및 R4의 메타데이터가 될 수 있다.
그 다음 메타데이터 인출부(160)는 산출한 메타데이터의 값을 메타데이터베이스(110)로부터 인출하여 메타데이터 에이전트부(220)로 전송한다(S329).
이를 수신한 메타데이터 에이전트부(220)는 클라이언트 서버(200)의 메모리에 저장 및 갱신한 다음(S331), 메타데이터의 값을 클라이언트 서버(200)의 서비스 제공부(210)로 전송하고(S319), 이를 수신한 서비스 제공부(210)는 메타데이터의 값에 기초하여 서비스의 읽기 요청을 수행하여 사용자에게 서비스를 제공할 수 있다(S321).
도 5는 본 발명의 일 실시예에 따른 메타데이터 관리 방법 중 메타데이터 의 순서도이다.
본 발명의 일 실시예에 따른 메타데이터 관리 시스템(1)에서의 메타데이터 쓰기 절차는 먼저, 클라이언트 서버(200)의 서비스 제공부(210)가 사용자로부터 특정 서비스의 쓰기 요청을 수신한다(S501).
다음으로, 서비스 제공부(210)는 서비스 쓰기 요청을 처리하기 위하여 사용자 ID, 테넌트(tenant) ID, 서비스 ID, 메타데이터 테이블 ID 및 메타데이터 행과 열의 ID 중 하나 이상을 포함하는 메타데이터 쓰기 요청을 메타데이터 에이전트부(220)로 전송한다(S503).
다음으로, 메타데이터 에이전트부(220)는 메타데이터 에이전트부(220)의 ID와 패스워드를 포함하는 인증 요청을 메타데이터 인증부(120)로 전송하고(S505), 이에 따라 메타데이터 인증부(120)는 메타데이터에 저장된 메타데이터 에이전트부(220)의 정보에 기초하여 메타데이터 쓰기 요청에 오류가 존재하는지 여부를 판단한다(S507).
그리고 확인 결과 오류가 존재하는 경우, 메타데이터 에이전트부(220)는 다시 메타데이터 에이전트부(220)의 ID와 패스워드를 포함하는 인증 요청을 메타데이터 인증부(120)로 전송한다(S505).
반면, 확인 결과 오류가 없는 경우, 메타데이터 에이전트부(220)는 메타데이터 에이전트 ID, 사용자 ID, 테넌트(tenant) ID, 서비스 ID, 메타데이터 테이블 ID 및 메타데이터 행과 열의 ID 중 하나 이상을 포함하는 메타데이터 액세스 요청을 위한 정보를 메타데이터 허가부(130)로 전송한다(S509).
이를 수신한 메타데이터 허가부(130)는 메타데이터베이스(110)에 저장된 액세스 권한 정보에 기초하여 메타데이터 액세스 요청에 권한 위반이 존재하는지 여부를 판단한다(S511).
판단 결과 액세스 권한 위반이 존재하는 경우, 메타데이터 에이전트부(220)는 다시 메타데이터 액세스 요청을 위한 정보를 메타데이터 허가부(130)로 전송한다(S509).
이와 달리 판단 결과 액세스 권한 위반이 없는 경우, 메타데이터 에이전트부(220)는 메타데이터 쓰기 요청을 메타데이터 모니터링부(140)로 전송하고(S513), 이를 수신한 메타데이터 모니터링부(140)는 메타데이터 쓰기 요청을 메타데이터베이스(110)의 메타데이터 모니터링 테이블에 추가한다(S515).
다음으로, 메타데이터 패턴 형성부(150)는 메타데이터베이스(110)의 메타데이터 모니터링 테이블로부터 메타데이터 쓰기 요청을 읽고, 이에 기초하여 액세스 패턴을 형성한다(S517).
그리고 메타데이터 패턴 형성부(150)는 액세스 패턴이 새롭게 형성되어 추가되거나 또는 기존에 존재하던 액세스 패턴이 갱신됨에 따라 이러한 액세스 패턴을 메타데이터베이스(110)의 액세스 패턴 테이블에 저장한다(S519).
다음으로, 메타데이터 인출부(160)는 메타데이터베이스(110)의 액세스 패턴 테이블에 저장된 액세스 패턴에 기초하여, 현재 필요한 메타데이터 또는 추후 필요할 것으로 예측되는 메타데이터의 값을 산출한다(S521).
그 다음 메타데이터 인출부(160)는 산출한 메타데이터의 값을 메타데이터베이스(110)로부터 인출하여 메타데이터 에이전트부(220)로 전송한다(S523). 메타데이터 에이전트부(220)는 인출된 메타데이터의 값을 클라이언트 서버(200)의 메모리에 저장 및 갱신한다(S525).
한편 상술한 설명에서, 단계 S301 내지 S525는 본 발명의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 변경될 수도 있다. 아울러, 기타 생략된 내용이라 하더라도 도 1 및 도 2에서의 메타데이터 관리 시스템(1)에 관하여 이미 기술된 내용은 도 3 내지 도 5의 메타데이터 관리 방법에도 적용된다.
전술한 본 발명의 일 실시예 중 어느 하나에 의하면, 다양한 서비스에 대한 통합된 메타데이터 관리시 발생 가능한 성능 저하 문제를 해소할 수 있다.
또한, 사용자에게 낮은 대기시간(latency)으로도 원하는 서비스를 용이하게 제공할 수 있으며, 다른 시스템에서도 메타데이터의 액세스를 안전하게 제공되도록 할 수 있다.
본 발명의 일 실시예에 따른 메타데이터 관리 시스템(1)에서의 메타데이터 관리 방법은 컴퓨터에 의해 실행되는 매체에 저장된 컴퓨터 프로그램 또는 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파와 같은 변조된 데이터 신호의 기타 데이터, 또는 기타 전송 메커니즘을 포함하며, 임의의 정보 전달 매체를 포함한다.
본 발명의 방법 및 시스템은 특정 실시예와 관련하여 설명되었지만, 그것들의 구성 요소 또는 동작의 일부 또는 전부는 범용 하드웨어 아키텍쳐를 갖는 컴퓨터 시스템을 사용하여 구현될 수 있다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
1: 메타데이터 관리 시스템
100: 마스터 서버
110: 메타데이터베이스 120: 메타데이터 인증부
130: 메타데이터 허가부 140: 메타데이터 모니터링부
150: 메타데이터 패턴 형성부 160: 메타데이터 인출부
200: 클라이언트 서버
210: 서비스 제공부 220: 메타데이터 에이전트부

Claims (20)

  1. 빅데이터 플랫폼에서 선반입을 기반으로 메타데이터를 관리하는 시스템에 있어서,
    서로 다른 주체에 의해 각각 생성된 서로 다른 서비스들에 대응되는 어플리케이션 세트를 사용자에게 제공하는 서비스 제공부와, 상기 사용자로부터 특정 서비스 요청을 상기 서비스 제공부가 수신하고 상기 서비스 요청을 처리하기 위해 필요한 메타데이터를 요청함에 따라 상기 서비스에 대응하는 메타데이터를 쿼리하거나 갱신하는 메타데이터 에이전트부를 포함하는 하나 이상의 클라이언트 서버 및
    상기 서비스에 대응하는 메타데이터를 관리하며, 사용자, 그룹, 할당량, 자원, 어플리케이션 및 클러스터 구성에 대응하는 메타데이터가 저장된 메타데이터베이스 및, 상기 메타데이터베이스에 저장된 상기 메타데이터 요청을 전달받고, 이에 기초하여 액세스 패턴을 형성하여 상기 메타데이터베이스의 액세스 패턴 테이블에 저장하는 메타데이터 패턴 형성부를 포함하는는 마스터 서버를 포함하는 메타데이터 관리 시스템.
  2. 삭제
  3. 제 1 항에 있어서,
    상기 서비스 요청은 상기 서비스의 읽기 요청 또는 상기 서비스의 쓰기 요청이고,
    상기 메타데이터 요청은 상기 서비스의 읽기 요청에 대응하는 메타데이터의 읽기 요청 또는 상기 서비스의 쓰기 요청에 대응하는 메타데이터의 쓰기 요청인 것인 메타데이터 관리 시스템.
  4. 제 3 항에 있어서,
    상기 서비스 요청이 상기 서비스의 읽기 요청인 경우,
    상기 메타데이터 에이전트부는 상기 필요한 메타데이터의 값이 상기 클라이언트 서버의 메모리에 저장되어 있으면, 상기 메타데이터의 값을 상기 서비스 제공부로 전송하고,
    상기 서비스 제공부는 상기 메타데이터의 값에 기초하여 상기 서비스의 읽기 요청을 수행하여 사용자에게 서비스를 제공하는 것인 메타데이터 관리 시스템.
  5. 삭제
  6. 제 1 항에 있어서,
    상기 서비스 요청이 상기 서비스의 읽기 요청인 경우,
    상기 메타데이터 에이전트부의 확인 결과 상기 필요한 메타데이터의 값이 상기 클라이언트 서버의 메모리에 존재하지 않으면, 상기 메타데이터 패턴 형성부는 상기 액세스 패턴을 형성하여 상기 메타데이터베이스의 액세스 패턴 테이블에 저장하는 것인 메타데이터 관리 시스템.
  7. 제 1 항에 있어서,
    상기 마스터 서버는,
    상기 메타데이터베이스에 저장된 액세스 패턴에 기초하여, 현재 필요한 메타데이터 또는 추후 필요할 것으로 예측되는 메타데이터의 값을 상기 메타데이터베이스로부터 인출하여 상기 메타데이터 에이전트부로 전송하는 메타데이터 인출부를 포함하는 메타데이터 관리 시스템.
  8. 제 7 항에 있어서,
    상기 메타데이터 에이전트부는 상기 메타데이터의 값을 수신하여 상기 클라이언트 서버의 메모리에 저장하여 갱신하는 것인 메타데이터 관리 시스템.
  9. 제 1 항에 있어서,
    상기 마스터 서버는 상기 메타데이터 에이전트부로부터 수신한 메타데이터 요청을 인증하는 메타데이터 인증부를 포함하되,
    상기 메타데이터 인증부는 상기 메타데이터베이스에 저장된 메타데이터 에이전트부의 정보에 기초하여 상기 메타데이터 요청에 오류가 존재하는지 여부를 판단하는 것인 메타데이터 관리 시스템.
  10. 제 9 항에 있어서,
    상기 마스터 서버는 상기 메타데이터 에이전트부가 액세스할 수 있는 메타데이터의 결정을 위한 요청을 허가하는 메타데이터 허가부를 더 포함하되,
    상기 메타데이터 인증부는 상기 판단 결과 상기 메타데이터 요청에 오류가 존재하지 않는 것으로 판단한 경우, 메타데이터 액세스 요청을 위한 정보를 상기 메타데이터 허가부로 전송하는 것인 메타데이터 관리 시스템.
  11. 제 10 항에 있어서,
    상기 메타데이터 요청은 사용자 ID, 테넌트(tenant) ID, 서비스 ID, 메타데이터 테이블 ID 및 메타데이터 행과 열의 ID 중 하나 이상을 포함하고,
    상기 메타데이터 액세스 요청은 메타데이터 에이전트부의 ID, 사용자 ID, 테넌트(tenant) ID, 서비스 ID, 메타데이터 테이블 ID 및 메타데이터 행과 열의 ID 중 하나 이상을 포함하는 것인 메타데이터 관리 시스템.
  12. 제 10 항에 있어서,
    상기 메타데이터 허가부는 상기 메타데이터베이스에 저장된 액세스 권한 정보에 기초하여 상기 메타데이터 액세스 요청에 권한 위반이 존재하는지 여부를 판단하는 것인 메타데이터 관리 시스템.
  13. 제 12 항에 있어서,
    상기 마스터 서버는 상기 메타데이터 에이전트부로부터의 상기 메타데이터 요청들을 모니터링하는 메타데이터 모니터링부를 포함하되,
    상기 액세스 요청에 권한 위반이 존재하지 않는 경우, 상기 메타데이터 에이전트부는 상기 메타데이터 요청을 상기 메타데이터 모니터링부로 전송하고, 상기 메타데이터 모니터링부는 상기 메타데이터 요청을 상기 메타데이터베이스의 메타데이터 모니터링 테이블에 추가하되,
    상기 메타데이터 패턴 형성부는 상기 메타데이터 모니터링 테이블에 추가된 상기 메타데이터 요청을 전달받는 것인 메타데이터 관리 시스템.
  14. 빅데이터 플랫폼에서 선반입을 기반으로 메타데이터를 관리하는 방법에 있어서,
    클라이언트 서버의 서비스 제공부가 사용자로부터 서비스 요청을 수신하는 단계;
    상기 서비스 제공부가 상기 서비스 요청을 처리하기 위한 메타데이터를 획득하기 위하여 메타데이터 요청을 상기 클라이언트 서버의 메타데이터 에이전트부로 전송하는 단계;
    상기 메타데이터 에이전트부가 마스터 서버의 메타데이터 모니터링부로 상기 메타데이터 요청을 전달하는 단계;
    상기 메타데이터 모니터링부가 상기 메타데이터 요청을 사용자, 그룹, 할당량, 자원, 어플리케이션 및 클러스터 구성에 대응하는 메타데이터가 저장된 메타데이터베이스의 메타데이터 모니터링 테이블에 추가하는 단계;
    상기 마스터 서버의 메타데이터 패턴 형성부가 상기 메타데이터 모니터링 테이블에 추가된 메타데이터 요청을 전달받고, 이에 기초하여 액세스 패턴을 형성하여 상기 메타데이터베이스의 액세스 패턴 테이블에 저장하는 단계 및
    상기 마스터 서버의 메타데이터 인출부가 상기 저장된 액세스 패턴에 기초하여 현재 필요한 메타데이터 또는 추후 필요할 것으로 예측되는 메타데이터의 값을 상기 메타데이터베이스로부터 인출하여 상기 메타데이터 에이전트부로 전송하는 단계를 포함하는 메타데이터 관리 방법.
  15. 제 14 항에 있어서,
    상기 메타데이터 에이전트부가 상기 메타데이터 인출부로부터 메타데이터의 값을 수신하여 상기 클라이언트 서버의 메모리에 저장 및 갱신하는 단계를 더 포함하는 메타데이터 관리 방법.
  16. 제 14 항에 있어서,
    상기 서비스 요청은 상기 서비스의 읽기 요청 또는 상기 서비스의 쓰기 요청이고,
    상기 메타데이터 요청은 상기 서비스의 읽기 요청에 대응하는 메타데이터의 읽기 요청 또는 상기 서비스의 쓰기 요청에 대응하는 메타데이터의 쓰기 요청인 것인 메타데이터 관리 방법.
  17. 제 16 항에 있어서,
    상기 서비스 요청이 상기 서비스의 읽기 요청인 경우,
    상기 액세스 패턴을 형성하여 상기 메타데이터베이스의 액세스 패턴 테이블에 저장하는 단계는,
    상기 메타데이터 에이전트부의 확인 결과 상기 필요한 메타데이터의 값이 상기 클라이언트 서버의 메모리에 존재하지 않은 경우, 상기 메타데이터 패턴 형성부가 상기 액세스 패턴을 형성하여 상기 메타데이터베이스의 액세스 패턴 테이블에 저장하는 것인 메타데이터 관리 방법.
  18. 제 17 항에 있어서,
    상기 메타데이터 에이전트부의 확인 결과 상기 필요한 메타데이터의 값이 상기 클라이언트 서버의 메모리에 저장되어 있는 경우,
    상기 메타데이터 에이전트부가 상기 메타데이터의 값을 상기 서비스 제공부로 전송하는 단계 및
    상기 서비스 제공부가 상기 메타데이터의 값에 기초하여 상기 서비스의 읽기 요청을 수행하여 사용자에게 서비스를 제공하는 단계를 더 포함하는 것인 메타데이터 관리 방법.
  19. 제 14 항에 있어서,
    상기 마스터 서버의 메타데이터 인증부가 상기 메타데이터베이스에 저장된 메타데이터 에이전트부의 정보에 기초하여 상기 메타데이터 요청에 오류가 존재하는지 여부를 판단하는 단계 및
    상기 메타데이터 요청에 오류가 존재하지 않는 것으로 판단한 경우, 메타데이터 액세스 요청을 위한 정보를 상기 마스터 서버의 메타데이터 허가부로 전송하는 단계를 더 포함하는 것인 메타데이터 관리 방법.
  20. 제 19 항에 있어서,
    상기 메타데이터 허가부가 상기 메타데이터베이스에 저장된 액세스 권한 정보에 기초하여 상기 메타데이터 액세스 요청에 권한 위반이 존재하는지 여부를 판단하는 단계를 더 포함하되,
    상기 메타데이터 에이전트부가 마스터 서버의 메타데이터 모니터링부로 상기 메타데이터 요청을 전달하는 단계는,
    상기 액세스 요청에 권한 위반이 존재하지 않는 경우, 상기 메타데이터 요청을 상기 메타데이터 모니터링부로 전송하는 것인 메타데이터 관리 방법.
KR1020170050465A 2017-04-19 2017-04-19 메타데이터 관리 시스템 및 방법 KR102069691B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020170050465A KR102069691B1 (ko) 2017-04-19 2017-04-19 메타데이터 관리 시스템 및 방법
US15/788,999 US20180307856A1 (en) 2017-04-19 2017-10-20 System and method for managing metadata

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170050465A KR102069691B1 (ko) 2017-04-19 2017-04-19 메타데이터 관리 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20180117401A KR20180117401A (ko) 2018-10-29
KR102069691B1 true KR102069691B1 (ko) 2020-01-23

Family

ID=63853977

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170050465A KR102069691B1 (ko) 2017-04-19 2017-04-19 메타데이터 관리 시스템 및 방법

Country Status (2)

Country Link
US (1) US20180307856A1 (ko)
KR (1) KR102069691B1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11115345B2 (en) 2019-05-06 2021-09-07 Bank Of America Corporation Systems and methods for providing self-referencing utilization calculation and dynamic resource allocation based thereon for digital transmissions
CN110377697B (zh) * 2019-06-19 2020-09-22 平安国际智慧城市科技股份有限公司 元数据标准的更新方法、装置、设备及存储介质
CN117194533A (zh) * 2023-11-08 2023-12-08 中国电子科技集团公司第十五研究所 一种元数据服务发布方法和系统

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6714979B1 (en) * 1997-09-26 2004-03-30 Worldcom, Inc. Data warehousing infrastructure for web based reporting tool
US7707187B1 (en) * 2005-03-14 2010-04-27 Oracle America, Inc. Methods and systems for caching information model nodes
US8145624B1 (en) * 2006-10-31 2012-03-27 At&T Intellectual Property Ii, L.P. Method and apparatus for associating metadata with data
KR20110064486A (ko) * 2009-12-08 2011-06-15 한국전자통신연구원 멀티테넌시를 지원하는 SaaS 플랫폼에서 메타데이터 캐시의 일관성 제어 시스템 및 방법
US8788628B1 (en) * 2011-11-14 2014-07-22 Panzura, Inc. Pre-fetching data for a distributed filesystem
US8595267B2 (en) * 2011-06-27 2013-11-26 Amazon Technologies, Inc. System and method for implementing a scalable data storage service
US9223795B2 (en) * 2013-03-05 2015-12-29 Xiaofeng Guo Managing network storage with a user-level file system
US20160234320A1 (en) * 2015-02-10 2016-08-11 Mediatek Inc. System, device, and method for accessing cross-platform service
US9641971B2 (en) * 2015-02-12 2017-05-02 International Business Machines Corporation Geo-fencing aware separation of compute infrastructure built within a geographically located storage device
US9965402B2 (en) * 2015-09-28 2018-05-08 Oracle International Business Machines Corporation Memory initialization detection system

Also Published As

Publication number Publication date
KR20180117401A (ko) 2018-10-29
US20180307856A1 (en) 2018-10-25

Similar Documents

Publication Publication Date Title
US11431495B2 (en) Encrypted file storage
US11762970B2 (en) Fine-grained structured data store access using federated identity management
US8539562B2 (en) Automated management of system credentials
US10860237B2 (en) Storage integrated snapshot cloning for database
US7596562B2 (en) System and method for managing access control list of computer systems
BR112016022388B1 (pt) Sistemas e métodos para otimizar suporte de várias versões em índices
US11811907B2 (en) Data processing permits system with keys
KR102069691B1 (ko) 메타데이터 관리 시스템 및 방법
CN108900483A (zh) 云存储细粒度访问控制方法、数据上传和数据访问方法
KR20090006167A (ko) 문서의 오디언스-적정 버전을 제공하는 방법, 문서 서버, 및 컴퓨터 판독 가능 매체
US20110161370A1 (en) Apparatus, program, and method for file management
US9680649B2 (en) Policy-based key sharing
US8898318B2 (en) Distributed services authorization management
US20140359720A1 (en) Authorization cache
US11200763B2 (en) Providing credential set when network connection is unavailable
US20130290245A1 (en) Database history management method and system thereof
KR20170102725A (ko) 데이터 관리 시스템 및 방법
US11522863B2 (en) Method and system for managing resource access permissions within a computing environment
US20090077133A1 (en) System and method for efficient rule updates in policy based data management
US20180365237A1 (en) Method and system for using micro objects
US10708253B2 (en) Identity information including a schemaless portion
US20240143819A1 (en) Apparatuses, systems, and methods for providing access rights management in a building graph
KR102100806B1 (ko) 빅데이터 플랫폼에서 게이트웨이를 통한 인터페이스 액세스 및 관리 방법
CN116155543A (zh) 一种基于权能和区块链的工业控制系统访问控制方法

Legal Events

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