KR101842925B1 - 소프트웨어의 라이선스 사용량 분석 방법 및 이를 수행하는 라이선스 관리 서버 - Google Patents

소프트웨어의 라이선스 사용량 분석 방법 및 이를 수행하는 라이선스 관리 서버 Download PDF

Info

Publication number
KR101842925B1
KR101842925B1 KR1020170127249A KR20170127249A KR101842925B1 KR 101842925 B1 KR101842925 B1 KR 101842925B1 KR 1020170127249 A KR1020170127249 A KR 1020170127249A KR 20170127249 A KR20170127249 A KR 20170127249A KR 101842925 B1 KR101842925 B1 KR 101842925B1
Authority
KR
South Korea
Prior art keywords
license
information
usage amount
software
usage
Prior art date
Application number
KR1020170127249A
Other languages
English (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 KR1020170127249A priority Critical patent/KR101842925B1/ko
Application granted granted Critical
Publication of KR101842925B1 publication Critical patent/KR101842925B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/105Arrangements for software license management or administration, e.g. for managing licenses at corporate level

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

소프트웨어의 라이선스 사용량 분석 방법 및 이를 수행하는 라이선스 관리 서버가 개시된다. 본 발명의 일실시예에 따른 라이선스 사용량 분석 방법은, 적어도 하나의 클라이언트 장치와 연결되는 컴퓨팅 시스템에 의해 수행되는 라이선스 사용량 분석 방법으로서, 특징 값에 대한 라이선스 사용량을 관리하는 외부 서버와 연결하는 단계로서, 상기 특징 값은 상기 클라이언트 장치에서 실행되는 소프트웨어 그 자체에 대한 라이선스 또는 상기 소프트웨어의 적어도 일부 기능에 대한 라이선스 부여 대상의 단위를 나타내는, 외부 서버와 연결하는 단계; 상기 외부 서버의 유틸리티 프로그램으로부터 텍스트 로그 정보를 수집하는 단계; 및 수집된 텍스트 로그 정보 중 특정 문자열을 자동으로 확인하여 상기 특징 값과 관련된 제1 라이선스 사용량을 측정하는 단계를 포함할 수 있다.

Description

소프트웨어의 라이선스 사용량 분석 방법 및 이를 수행하는 라이선스 관리 서버{METHOD FOR ANALYZING LICENSE USAGE OF SOFTWARE AND LICENCE MANAGEMENT SERVER IMPLEMENTING THE SAME}
본 발명의 다양한 실시예들은 소프트웨어의 다양한 라이선스 사용량을 보다 효과적이고 정확하게 분석하는 기술에 관한 것이다.
기업 또는 개인에 대한 소프트웨어의 제공을 위해서, 기존에는 유저 라이선스 방식, 패키지 라이선스 방식, OEM 방식 등으로 구매자가 구매를 하여 사용하는 방식을 이용되고 있었다.
이러한 기존의 소프트웨어 라이선스 제공 방식은 소프트웨어 제품을 일회성으로 구매함으로써 영구적인 라이선스 사용을 허가하는 방식이였으나, 비교적 고가의 소프트웨어들은 기업 또는 개인에서 구매하기가 부담되었다. 그래서, 최근에는 사용한 만큼 사용료를 지불하는 방식과 해당 소프트웨어를 사용하는 유저 수 및 할당된 자원만큼 사용량을 지불하는 SaaS(Software as a Service) 방식 또는 Concurrent Use License 방식이 활발하게 이용되고 있는 실정이다.
그러나, SaaS 방식 등의 라이선스 허가 방식을 채택하고 있는 기업에서는 특정 사용자 단에서 실제 사용하지는 않지만 소프트웨어를 실행시키고 있음으로써 불필요한 세션이 유지되고 사용시간이 증가하게 될 수 있으며, 이는 라이선스 비용과 향후 라이선스를 구입하는 과정에서 사용량 정보를 예측하는데 방해요소로서 작용할 수 있다는 문제점이 발생하고 있다. 따라서, 이러한 라이선스의 사용량을 보다 정확하게 판단할 수 있는 니즈가 점차 확대되고 있는 실정이다.
한편, 소프트웨어에서의 크랙(crack)은 복사방지나 등록기술 등이 적용된 상용 소프트웨어의 비밀을 풀어서 불법으로 복제하거나 파괴하는 것을 말한다. 기업등에서 이러한 크랙버전의 소프트웨어가 설치되었는지 유무 또는 크랙버전의 소프트웨어가 어느정도 사용되는지를 경우에 따라서 모니터링해야 할 필요가 있음에도 불구하고 이를 구현하는 기술이 대부분 부족한 실정이다.
한국 등록특허공보 제10-0680605호, 2016.12.12 공고
본 발명은 전술한 종래기술의 문제점을 해결하기 위해 안출된 것으로, 소프트웨어의 라이선스를 관리하는 외부 서버와 연동하여 얻을 수 있는 정보와, 사용자 장치단에서만 발생하는 정보를 적절히 이용하여 소프트웨어의 라이선스 사용량을 분석함으로써 보다 정확하게 라이선스 사용량을 분석하는 방법을 제공하는 것을 그 목적으로 한다.
또한, 본 발명의 또다른 목적은 크랙 버전에 해당하는 소프트웨어를 사용자 장치단에서 인지하여 라이선스 관리 서버에 전송하고, 라이선스 관리 서버는 이를 기반으로 크랙 버전의 소프트웨어 사용량을 모니터링할 수 있는 방법을 제공하는 것이다.
나아가, 본 발명의 또다른 목적은 사용량 분석 과정에서 필요에 따라 라이선스 기반 프로세스의 네트워크를 차단시킴으로써 효과적으로 라이선스를 회수하는 방법을 제공하는 것이다.
상술한 목적을 달성하기 위한 본 발명의 일실시예에 따른 라이선스 사용량 분석 방법은, 적어도 하나의 클라이언트 장치와 연결되는 컴퓨팅 시스템에 의해 수행되는 라이선스 사용량 분석 방법으로서, 특징 값에 대한 라이선스 사용량을 관리하는 외부 서버와 연결하는 단계로서, 상기 특징 값은 상기 클라이언트 장치에서 실행되는 소프트웨어 그 자체에 대한 라이선스 또는 상기 소프트웨어의 적어도 일부 기능에 대한 라이선스 부여 대상의 단위를 나타내는, 외부 서버와 연결하는 단계; 상기 외부 서버의 유틸리티 프로그램으로부터 텍스트 로그 정보를 수집하는 단계; 및 수집된 텍스트 로그 정보 중 특정 문자열을 자동으로 확인하여 상기 특징 값과 관련된 제1 라이선스 사용량을 측정하는 단계를 포함할 수 있다.
일부 실시예에서, 상기 소프트웨어의 라이선스 사용량을 측정하는 단계는, 상기 텍스트 로그 정보 중 상기 제1 라이선스 사용량을 나타내는 문자열을 선택적으로 인식하여 상기 라이선스에 대한 사용량을 측정하는 단계를 포함할 수 있다.
일부 실시예에서, 상기 문자열은 상기 특징 값에 대한 라이선스 허가가 거부된 이력정보를 나타낼 수 있다.
일부 실시예에서, 상기 라이선스 사용량 분석 방법은 상기 클라이언트 장치에서 발생되는 정보만을 이용하여 상기 특징 값에 대한 제2 라이선스 사용량 정보를 산출하는 단계; 및 상기 제1 라이선스 사용량 정보와 상기 제2 라이선스 사용량 정보에서 중복되는 사용량 정보를 필터링하는 단계를 더 포함할 수 있다.
일부 실시예에서, 상기 중복되는 사용량 정보를 필터링하는 단계는, 상기 제1 라이선스 사용량 정보와 상기 제2 라이선스 사용량 정보 중 소정시간 이상 중복된 시간을 확인하는 단계; 상기 클라이언트 장치의 고유식별 정보 또는 상기 특징 값의 고유식별 정보 중 적어도 하나를 기반으로 중복된 사용량 정보를 비교하는 단계; 및 상기 중복되 시간과 상기 고유식별 정보 중 적어도 하나를 기반으로 상기 사용량 정보를 필터링하는 단계를 포함할 수 있다.
일부 실시예에서, 상기 중복되는 사용량 정보를 필터링하는 단계는, 상기 제1 라이선스 사용량 정보와 상기 제2 라이선스 사용량 정보 중 소정시간 이상 중복된 시간을 확인하는 단계; 상기 클라이언트 장치의 고유식별 정보 또는 상기 특징 값의 고유식별 정보 중 적어도 하나를 기반으로 중복된 사용량 정보를 비교하는 단계; 및 상기 중복되 시간과 상기 고유식별 정보 중 적어도 하나를 기반으로 상기 사용량 정보를 필터링하는 단계를 포함할 수 있다.
일부 실시예에서, 상기 라이선스 사용량 분석 방법은 상기 제1 라이선스 사용량과 상기 제2 라이선스 사용량을 구별하여 표시하는 단계를 더 포함할 수 있다.
일부 실시예에서, 상기 라이선스 사용량 분석 방법은 상기 클라이언트 장치로 소프트웨어별 크랙조건을 전송하는 단계; 상기 클라이언트 장치에서 실행되는 소프트웨어가 크랙 버전인 것으로 확인된 경우, 상기 클라이언트 장치에서 발생되는 정보만을 이용하여 상기 특징값에 대한 제2 라이선스 사용량 정보를 산출하는 단계를 더 포함할 수 있다.
본 발명의 일실시예에 따른 라이선스 관리 서버는 소프트웨어 그 자체에 대한 라이선스 또는 상기 소프트웨어의 적어도 일부 기능에 대한 라이선스 부여 대상의 단위인 특징(feature) 값에 대한 라이선스를 관리하는 라이선스 관리 서버로서, 적어도 하나의 클라이언트 장치와 상기 라이선스 관리 서버를 연결하는 통신 모듈; 및 특징 값에 대한 라이선스 사용량을 관리하는 외부 서버를 상기 통신 모듈을 통해 상기 라이선스 관리 서버와 연결하고, 상기 외부 서버의 유틸리티 프로그램으로부터 텍스트 로그 정보를 수집하며, 수집된 텍스트 로그 정보 중 특정 문자열을 자동으로 확인하여 상기 특징 값과 관련된 제1 라이선스 사용량을 측정하는 제1 사용량 수집부를 포함할 수 있다.
일부 실시예에서, 상기 제1 사용량 수집부는 상기 텍스트 로그 정보 중 상기 제1 라이선스 사용량을 나타내는 문자열을 선택적으로 인식하여 상기 라이선스에 대한 사용량을 측정하고, 상기 문자열은 상기 특징 값에 대한 라이선스 허가가 거부된 이력정보를 나타낼 수 있다.
일부 실시예에서, 상기 라이선스 관리 서버는 상기 클라이언트 장치에서 발생되는 정보만을 이용하여 상기 특징 값에 대한 제2 라이선스 사용량 정보를 산출하는 제2 사용량 수집부; 및 상기 제1 라이선스 사용량 정보와 상기 제2 라이선스 사용량 정보에서 중복되는 사용량 정보를 필터링하는 필터링부를 더 포함할 수 있다.
본 발명의 다양한 실시예에 따라 소프트웨어의 라이선스를 관리하는 외부 서버와 연동하여 얻을 수 있는 정보와, 사용자 장치단에서만 발생하는 정보를 적절히 이용하여 소프트웨어의 라이선스 사용량을 분석함으로써 보다 정확하게 라이선스 사용량을 분석할 수 있다.
또한, 본 발명의 실시예에 따라 크랙 버전에 해당하는 소프트웨어를 자동으로 감지하고 해당 소프트웨어에 대한 사용량을 모니터링할 수 있다.
나아가, 본 발명의 다양한 실시예에 따라 특징 값과 관련된 프로세스의 네트워크를 소정 조건하에 차단함으로써 보다 안정성있고 효율적으로 라이선스를 회수할 수 있다.
본 발명의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 일실시예에 따른 라이선스 관리 시스템의 개념도이다.
도 2는 본 발명의 일실시예에 따른 라이선스 관리 서버의 블록 구성도이다.
도 3은 본 발명의 일실시예에 따른 사용자 장치에 설치된 라이선스 에이전트의 구성도이다.
도 4는 본 발명의 일실시예에 따른 라이선스 관리 서버에서 제1 라이선스 사용량을 측정하는 내용의 흐름도이다.
도 5 및 도 6은 외부 서버의 유틸리티 프로그램을 통해 수집된 텍스트 로그 정보의 예시도이다.
도 7은 본 발명의 일실시예에 따른 라이선스 관리 서버에서 제2 라이선스 사용량을 측정하여 총 라이선스 사용량 정보를 산출하는 내용의 흐름도이다.
도 8은 본 발명의 일실시예에 따른 라이선스 차단 방법을 나타내는 흐름도이다.
도 9는 본 발명의 일실시예에 따라 라이선스 회수 조건을 확인하는 동작을 나타내는 순서도이다.
도 10은 본 발명의 일실시예에 따른 라이선스 사용량 산출 과정에서의 필터링 동작을 나타내는 흐름도이다.
도 11은 본 발명의 일실시예에 따른 운영 모니터링 화면의 예시도이다.
도 12는 본 발명의 일실시예에 따른 라이선스 사용량 조회 화면의 예시도이다.
도 13은 본 발명의 실시예에 따른 라이선스 관리 서버에서 크랙버전의 소프트웨어를 확인하고 사용량을 확인하는 동작의 순서도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
본 문서에서 언급되는 “소프트웨어”는 시스템 소프트웨어와 응용 소프트웨어는 물론, 라이선스 허가에 의해 사용되는 모든 방식의 프로그램을 포함하는 개념으로 해석될 수 있다.
본 문서에서 언급되는 “특징 값”이란, 소프트웨어 그 자체에 대한 라이선스 또는 해당 소프트웨어에서 제공하는 특정 기능에 대한 라이선스를 부여하는 단위로 해석된다. 보통 일반적인 SW의 경우에는 하나의 프로그램 전체를 하나의 라이선스로 관리하고 있지만, 고가의 또는 복잡한 설계를 요구하는 프로그램들은 해당 프로그램에서 제공하는 하나의 특정 기능에 대해서도 라이선스를 별도로 부여하고 관리한다. 이렇게 라이선스 부여 및 관리의 기준이 되는 프로그램, 기능 또는 모듈 중 적어도 하나를 통칭해서 특징 값이라고 지칭될 수 있으며, 각각의 특징 값은 밴더사별로 고유 식별 정보(예: 문자열)로서 정의될 수 있다.
이하, 첨부 도면들을 참조하여 라이선스 분석 방법 및 이를 수행하는 라이선스 관리 시스템(10)에 대해 설명하도록 한다.
도 1은 본 발명의 일실시예에 따른 라이선스 관리 시스템(10)의 개략도이다. 도 1에 도시되는 바와 같이, 라이선스 관리 시스템(10)은 라이선스 관리 서버(100), 사용자 장치(200) 및 의사결정자 장치(300)를 포함하며, 네트워크를 통해 외부 서버(예: LMS)와 통신할 수 있다. LMS(License Managemetn Server)는 라이선스의 대상이 되는 소프트웨어를 공급하는 기업 또는 밴더사에서 수급 업체와 네트워크를 통해 운용되어 라이선스의 사용을 관리하는 서버이다.
이러한 라이선스 관리 시스템(10)은 라이선스 관리 서버(100)와 사용자 장치(200)를 통해서 라이선스 사용의 제어, 라이선스 사용량 분석 및 분석에 따른 결과를 리포팅하는 기능을 수행한다. 또환, 라이선스 관리 시스템(10)은 크랙 버전의 소프트웨어를 사용하는 사용자 장치(200)를 감지하고, 해당 사용자 장치(200)에서 사용되는 크랙버전-소프트웨어의 사용량을 분석하는 기능을 수행한다. 라이선스 관리 서버(100)와 사용자 장치(200)의 구체적인 구성에 대해서는 도 2와 도 3을 통해 후술하도록 한다.
라이선스 관리 서버(100)는 적어도 하나의 사용자 장치(200) 및 LMS와 통신연결하여 라이선스 사용량 수집/분석, 특징 값 및 라이선스 회수 조건의 설정, 크랙버전 판단의 조건설정, 수집/분석/설정된 정보에 기초한 리포팅 뷰어 자료를 생성한다.
사용자 장치(200)는 라이선스 관리 서버(100)로부터 설정된 크랙조건, 특징 값 및 네트워크 회수 조건에 따라 크랙버전 소프트웨어의 확인 및 라이선스 회수 조건의 충족 여부를 모니터링하고, 라이선스 회수 조건이 충족되는 경우 해당 프로세스의 네트워크를 차단시킨다.
또한, 사용자 장치(200)는 라이선스의 대상이 되는 소프트웨어를 사용하면서 라이선스 사용과 관련된 정보들을 라이선스 관리 서버(100)로 전송한다. 사용자 장치(200)에는 크랙버전-소프트웨어를 감지하고, 라이선스 사용량과 관련된 데이터들을 라이선스 관리 서버(100)에 제공하며, 라이선스 사용과 관련된 기능 제어 명령을 수행하는 응용 프로그램(예: 라이선스 에이전트(250))이 설치되어 프로세서의 제어 하에 동작할 수 있다. 또한, 사용자 장치(200)는 네트워크 통신 모듈과 메모리를 구비하여 데이터 저장 및 통신 기능을 수행할 수 있으며, 다양한 형태의 전자 장치(예: PC, 노트북, 태블릿 등)로 구현될 수 있다.
의사결정자 장치(300)는 라이선스 관리 서버(100)로부터 라이선스 사용량, 크랙버전의 소프트웨어 유무, 크랙버전-소프트웨어의 사용량 및 라이선스 사용의 제어와 관련된 상태 정보 등의 시각화된 자료(예: 그래프, 차트 등)를 제공 받는다. 의사결정자 장치(300)는 라이선스 사용 또는 향후 계약과 관련된 정책을 결정하는 의사결정자가 사용하는 장치로서, 사용자 장치(200)의 하드웨어/소프트웨어 구성과 동일하거나 유사하게 구현될 수 있다.
도 2는 본 발명의 일실시예에 따른 라이선스 관리 서버(100)의 블록 구성도이다.
라이선스 관리 서버(100)는 라이선스 사용량 수집/분석, 특징 값 및 라이선스 회수 조건의 설정, 크랙조건이 설정, 및 수집/분석/설정된 정보에 기초한 리포팅 자료의 생성과 관련된 집약적인 기능을 서비스하는 전자 장치 또는 프로그램이다. 이러한 라이선스 관리 서버(100)는 통신 모듈(110), 제어부(120), 제1 사용량 분석부(121), 제2 사용량 분석부(122), 필터링부(123), 회수조건 관리부(124), 크랙조건 관리부 (125), 시각화부(126) 및 저장부(130)를 포함할 수 있다.
통신 모듈(110)은 네트워크를 통해 라이선스 관리 서버(100)를 외부 서버(예: LMS), 사용자 장치(200) 또는 의사결정자 장치(300)와 연결할 수 있으며, 네트워크(근거리 네트워크 포함) 모듈 및/또는 무선통신 모듈(예: RF, 적외선, 지그비, 블루투스 등)을 포함할 수 있다. 본 발명의 실시예에서, 통신 모듈(110)은 라이선스 관리 서버(100)로부터 생성된 데이터 또는 제어 신호를 사용자 장치(200)와 의사결정자 장치(300)에 전송하고, 사용자 장치(200), 의사결정자 장치(300), 및 외부 서버(예: LMS)로부터 정보를 수집할 수 있다.
제어부(120)는 라이선스 관리 서버(100)의 전원공급 제어 등과 같은 전반적인 동작 및 라이선스 관리 서버(100)의 내부 구성 간의 신호 흐름을 제어하고 데이터를 처리하는 데이터 처리 기능을 수행할 수 있다. 제어부(120)는 적어도 하나의 프로세서(예: CPU)를 포함할 수 있다.
제1 사용량 분석부(121)는 특징 값의 라이선스 사용량을 관리하는 외부 서버(예: LMS)와 연동하여 특징 값에 대한 제1 라이선스 사용량을 산출한다. 이러한 제1 라이선스 사용량은 직접적으로 LMS로부터 수집하는 것이 아니라, LMS의 유틸리티 프로그램을 통해 확인할 수 있는 텍스트 로그 정보를 통해 간접적으로 산출될 수 있다. 본 발명의 실시예에서 제1 라이선스 사용량 정보는 프로그램에 의해 자동으로 수집된다.
제2 사용량 분석부(122)는 사용자 장치(200)에서 발생되는 로컬 정보만을 이용하여 제2 라이선스 사용량을 산출한다. 제2 라이선스 사용량은 후술할 네트워크 차단과 관련하여 네트워크 차단 조건을 충족하는지를 판단하는 과정에서 검색되는 결과물이다. 이러한 제2 사용량 분석부(122)는 네트워크 등의 통신 모듈의 동작과 무관하게 수행되기 때문에, 제1 라이선스 사용량과 제2 라이선스 사용량에는 중복되는 정보(예: 노이즈 정보)가 발생할 수 있다. 즉, 제2 라이선스 사용량으로 측정되는 값들 중 적어도 일부는 외부 서버를 통해 제1 라이선스 사용량으로 이미 측정되어 있을 수 있기 때문이다.
필터링부(123)는 상기와 같이 제1 라이선스 사용량과 제2 라이선스 사용량 중 서로 중복되는 정보를 하나만 카운팅함으로써 노이즈를 필터링한다. 이렇게 함으로써, 네트워크를 통해 외부 서버에서 감지되지 않는 라이선스 사용량 정보는 제2 라이선스 분석부(122)를 통해 검색되고, 이러한 검색 과정에서 중복되어 발생되는 노이즈는 필터링부(123)에 의해 제거된다. 이에 의해, 보다 정확하게 특징 값에 대한 라이선스 사용량을 확인할 수 있는 것이다.
상기 제1 사용량 분석부(121)와 제2 사용량 분석부(122)는 하나의 모듈로서 구성될 수도 있다. 예컨대, 제1 사용량 분석부(121)와 제2 사용량 분석부(122)는 ‘사용량 분석부’로 통합되어 구성될 수 있다. 이러한 사용량 분석부는 서로 다른 2가지 수집 루트 즉, 외부 서버와의 연동을 통한 사용량 산출과 로컬 정보만을 이용한 사용량 산출 알고리즘을 이용하여 특정 특징 값 또는 특정 그룹내에 속한 복수의 특징값들에 대한 라이선스 사용량 정보를 산출하고, 소정 조건을 기반으로 중복 카운팅된 노이즈 정보를 필터링할 수 있다.
회수조건 관리부(124)는 본 발명의 실시예에 따른 사용량 분석 결과 의도치 않는 라이선스 사용이 발생하는 경우에 이를 제한하기 위한 라이선스 회수 조건을 설정할 수 있다. 이를 위해, 회수조건 관리부(124)는 라이선스 회수 조건을 설정할 수 있는 설정 화면을 관리자에게 제공하고, 설정 화면에서 입력되는 정보들을 기반으로 라이선스 회수 조건을 설정 및 변경한다.
또한, 회수조건 관리부(124)는 관리자 입력을 기반으로 특징 값을 설정할 수 있고, 상기 특징 값에 대응되는 프로세스를 식별하기 위해 특정 정보를 상기 특징 값과 매핑시킬 수 있다. 특정 정보는 예컨대, 미리 설정된 프로세스의 프로그램 파일명, 버전 또는 파일 크기 중 적어도 하나를 포함할 수 있으며, 추가적으로 윈도우 타이틀 정보를 포함할 수 있다.
크랙조건 관리부(125)는 사용자 장치(200)에 설치되거나 사용자 장치(200)를 통해 실행되는 소프트웨어가 크랙버젼의 소프트웨어인지를 사용자 장치(200)에서 판단할 수 있도록 크랙조건을 설정하여 사용자 장치(200)에 제공할 수 있다. 크랙버전 여부를 판단하는데 사용되는 조건은 소프트웨어마다 다르며, 각 소프트웨어별 검색조건은 상기 크랙조건 관리부(125)에서 관리된다. 다양한 실시예에 따르면, 크랙조건은 제어판의 프로그램명에 크랙버젼을 의미하는 스트링이 포함되었을 경우 또는 해당 소프트웨어 레지스트리 정보에 크랙조건임을 판단할 수 있는 특정 값이 존재할 경우를 포함할 수 있으나 이에 한정하는 것은 아니다.
시각화부(126)는 라이선스 관리 서버(100)의 각 구성들에서 수집/생성된 정보들을 가공하여 시각화된 데이터를 생성하고, 생성된 데이터를 사용자 장치(200), 라이선스 관리 서버(100) 또는 의사결정자 장치(300)에 제공하는 기능을 수행한다. 시각화된 데이터는 예컨대, 도표, 그래프, 타임 테이블, UI 아이템, 정지영상 또는 동영상 중 적어도 하나를 포함할 수 있으나 본 발명의 다양한 실시예가 이에 한정하는 것은 아니다.
저장부(130)는 제어부(120), 라이선스 관리 서버(100) 또는 라이선스 관리 시스템(10)의 다른 구성요소들로부터 수신되거나 생성된 데이터를 저장할 수 있다. 저장부(130)는 예를 들어, 메모리(memory), 캐시(cash), 버퍼(buffer) 등을 포함할 수 있다.
다양한 실시예에 따르면, 저장부(130)는 정보 DB(131) 및 컨텐츠 DB(135)를 포함할 수 있다. 이러한 정보 DB(131) 및 컨텐츠 DB(135)는 저장부(130)상에서 구분되는 것으로 도시되어 있으나, 이에 한정하지 않으며, 하나의 DB로서 구성될 수도 있다.
정보 DB(131)는 라이선스 관리 시스템(10)의 구성과 관련된 하드웨어/소프트웨어적인 정보가 저장된다. 예를 들어, 정보 DB(131)에는 특정 사용자 장치(200) 또는 특정 소프트웨어를 식별할 수 있는 고유 식별 정보, 사용자 장치(200)의 소프트웨어와 관련된 라이선스 정보 및 기타 사용량 분석 및 네트워크 제어와 관련된 정보 등이 저장될 수 있다.
컨텐츠 DB(235)는 네트워크 제어와 사용량 분석 과정에서 사용되는 컨텐츠 및 시각화된 자료가 저장된다.
전술한 제1 사용량 분석부(121), 제2 사용량 분석부(122), 필터링부(123), 회수조건 관리부(124), 크랙조건 관리부(125) 및 시각화부(126)는 제어부(120)의 각 기능을 논리적으로 또는 기능적으로 분류한 구성일 수 있다. 따라서, 제1 사용량 분석부(121), 제2 사용량 분석부(122), 필터링부(123), 회수조건 관리부(124), 크랙조건 관리부(125) 및 시각화부(126)와 제어부(120)는 하나의 모듈로서 구성될 수도 있다.
또한, 제1 사용량 분석부(121), 제2 사용량 분석부(122), 필터링부(123), 회수조건 관리부(124), 크랙조건 관리부(125), 시각화부(126) 및 제어부(120)의 기능은 저장부(130, 예: 메모리)에 저장된 루틴, 명령어(instruction) 또는 프로그램의 형태로 구현될 수 있다. 뿐만 아니라, 이러한 루틴, 명령어 또는 프로그램은 컴퓨터로 읽을 수 있는 저장매체에 저장될 수 있다.
도 3은 본 발명의 일실시예에 따른 사용자 장치(200)에 설치된 라이선스 에이전트(250)의 구성도이다.
사용자 장치(200)는 전술한 라이선스 관리 서버(100)의 적어도 일부 구성과 동일한 구성을 포함할 수 있다. 예를 들어, 사용자 장치(200)는 라이선스 관리 서버(100)의 제어부(예: 프로세서), 통신 모듈 및 저장부와 동일한 구성을 포함함으로써 내부 연산을 처리하고 다른 장치와 통신하거나 데이터를 저장 및 업데이트하는 기능을 수행할 수 있다.
라이선스 에이전트(250)는 사용자 장치(200) 또는 사용자 장치(200)의 저장부에 설치된 프로그램 또는 컴퓨터로 기록 가능한 매체로 구현될 수 있다. 이러한 라이선스 에이전트(250)는 사용자 장치(200) 프로세서의 제어 하에 실행되어 사용자 장치(200)의 구성을 제어함으로써 라이선스 회수 조건의 충족 여부를 판단하고 라이선스를 회수하는 기능을 수행한다.
일실시예에 따르면, 라이선스 에이전트(250)는 정보 관리부(251), 크랙조건 판단부(253), 회수조건 판단부(255) 및 네트워크 차단부(257)를 포함할 수 있다. 이러한 정보 관리부(251), 크랙조건 판단부(253), 회수조건 판단부(255) 및 네트워크 차단부(257)는 라이선스 에이전트(250)의 구성을 기능적으로 분류한 상태일 수 있으며, 도 3에서는 각각 별도로 구성되어 있으나 하나의 모듈로 구현되는 것 또한 가능하다.
정보 관리부(251)는 라이선스 관리 서버(100)를 통해 설정된 크랙조건, 특징 값, 라이선스 회수 조건 등의 정보를 수집하여 크랙조건 판단부(253) 또는 회수조건 판단부(255)에 제공하며, 크랙조건 판단부(253), 회수조건 판단부(255) 또는 네트워크 차단부(257)에서 발생되는 정보를 수집하여 라이선스 관리 서버(100) 또는 의사결정자 장치(300)에 제공하는 기능을 수행한다.
크랙조건 판단부(253)는 주어진 크랙조건에 기반해서 사용자 장치(200)에 설치되거나 사용자 장치(200)에서 실행되는 소프트웨어가 크랙버전인지를 확인하는 기능을 수행한다. 크랙조건 판단부(253)는 예컨대, 제어판의 프로그램명에 크랙버젼을 의미하는 스트링이 포함되었을 경우 또는 해당 소프트웨어 레지스트리 정보에 크랙조건임을 판단할 수 있는 특정 값이 존재하는 경우 할 경우 이를 크랙버전 소프트웨어로 판단하여 라이선스 관리 서버(100)에 보고한다.
회수조건 판단부(255)는 특징 값에 해당하는 기능 또는 소프트웨어의 실행을 감지하고, 사용자 장치(200)에서 발생되는 정보를 기반으로 미리 설정된 라이선스 회수 조건을 충족하는지를 실시간으로, 주기적으로, 또는 임의의 시점에 확인하는 기능을 수행한다.
구체적으로, 회수조건 판단부(255)는 사용자 장치(200)에서 사용자 입력 신호가 발생하는지 여부와 사용자 장치(200)의 프로세서에서 할당하고 있는 리소스 상태를 확인할 수 있다. 그리고, 회수조건 판단부(255)는 사용자 장치(200)에 대한 라이선스 회수 조건 충족 여부의 결과를 네트워크 차단부(257) 로 전송한다.
네트워크 차단부(257)는 회수조건 판단부(255)로부터 라이선스 회수 조건을 충족하는 상태에 대한 정보를 수신하고, 실행 중인 특정 프로세스의 네트워크를 차단시키는 기능을 수행한다. 이 경우, 특정 프로세스는 후술할 내용과 같이 특징 값과 관련되어 미리 설정된 프로세스이다. 네트워크 차단부(257)는 사용자 장치(200)의 통신 모듈의 적어도 일부 기능을 제어하거나, 상기 미리 설정된 프로세스에 대한 통신 네트워크 기능을 비활성화시킴으로써 불필요한 라이선스가 사용되는 것을 방지할 수 있다.
또한, 네트워크 차단부(257)는 사용자 장치(200)에서 실행중인 특정 프로세스의 네트워크 기능을 차단하기 전 사용자에게 라이선스의 회수 여부를 문의하는 화면을 미리 설정된 시간 동안 출력함으로써 실제 사용자의 의도를 반영할 수 있다. 이 경우, 네트워크 차단부(257)는 사용자 장치(200)의 디스플레이 패널(미도시)을 통해 상기 문의 화면을 표시할 수 있다.
이하의 도 4 내지 도 10에서는 도 1 내지 도 3에서 개시된 구성을 통해 라이선스 사용량 측정 및 라이선스 사용을 제어하는 방법에 대해서 설명하도록 한다. 각 도면의 순서도/흐름도에 개시된 내용 중 일부 내용은 생략되거나 상호 순서가 변경되어 수행될 수 있다.
도 4는 본 발명의 일실시예에 따른 라이선스 관리 서버(100)에서 제1 라이선스 사용량을 측정하는 내용의 흐름도이다. 도 4의 설명참조를 위해 도 5 및 도 6을 참조하여 설명하도록 한다. 도 5 및 도 6은 외부 서버의 유틸리티 프로그램을 통해 수집된 텍스트 로그 정보의 예시도이다.
도 4에서 도시되어 있지 않으나, 라이선스 관리 서버(100)는 먼저 라이선스 사용량을 분석하고자 하는 대상을 확인할 수 있다. 예를 들어, 라이선스 관리 서버(100)는 하나의 특징 값만을 라이선스 사용량 분석 대상으로 결정할 수 있으나, 이에 한정하지 않고 복수개의 특징 값들을 분석 대상으로 결정할 수 있다. 이 경우, 라이선스 관리 서버(100)는 복수개의 특징 값들을 특정 그룹으로 그룹핑할 수 있다. 예를 들어, 관리자는 라이선스 관리 서버(100)를 통해 기업내의 특정 부서 등으로 구별되는 특정 그룹과 상기 특정 그룹내에 속하는 특징 값들을 분석 대상으로 결정할 수 있다. 이 경우, 상기 특징 값들에 대해 설정된 정보들뿐 아니라 상기 특징 값들이 설정된 소프트웨어 또는 사용자 장치(200)들의 스펙 정보들에 대해서 설정된 정보들도 대시보드를 통해 확인 가능하다.
다음으로, 라이선스 관리 서버(100)는 제1 라이선스 사용량을 산출하기 위해 특징 값과 관련된 외부 서버(예: LMS)와 통신연결할 수 있다(410). 그리고, 라이선스 관리 서버(100)는 특징 값과 관련된 텍스트 로그 정보를 수집할 수 있다(S420).
예를 들어, 특정 기업에 대하여 SaaS 방식의 네트워크 기반 라이선스를 사용하는 소프트웨어가 배포되었다고 가정했을 경우, 라이선스 관리 서버(100)는 기업 내에서 특정 그룹으로 분류된 하나 이상의 사용자 장치(200)와 각각 통신 연결할 수 있고, 연결된 사용자 장치(200)에서 특징 값의 대상이 되는 소프트웨어 또는 해당 소프트웨어의 일부 기능에 대해 라이선스를 관리하는 외부 서버(예: LMS)와 통신할 수 있다.
또한, 라이선스 관리 서버(100)는 외부 서버의 유틸리티 프로그램을 통해 특징 값과 관련된 텍스트 로그 정보를 수집할 수 있다.
벤더사가 제공하는 LMS들은 벤더사가 직접 제공하는 별도의 관리툴을 통해서 LMS가 관리하는 라이선스의 사용량을 제공한다. 이는 각 벤더사가 제공하는 관리툴을 통해서만 가능하며, 이러한 사용량 데이터를 3rd 파티 SW가 프로그램적으로 연동하여 사용할 수 있게 하는 별도의 인터페이스 API는 제공하고 있지 않다. 다만, 네트워크 상에서 벤더사들이 제공하는 유틸리티 프로그램을 통해서 사용량을 조회한 결과를 일반 텍스트 형식의 로그 파일을 수집할 수 있는데, 이러한 로그 파일을 분석함으로써 라이선스 사용량을 분석해낼 수 있다. 이러한 유틸리티 프로그램은 예컨대, FlexNet 연동 유틸리티, DSLS 연동 유틸리티 등을 포함할 수 있으나 이에 한정하는 것은 아니다. 또한, 텍스트 로그 파일은 윈도우 명령프롬프트에서 특정 명령어 실행을 통해 수집되거나 디버그 파일 호출을 통해 수집될 수 있으나 이에 한정하는 것은 아니다.
라이선스 관리 서버(100)는 해당 소프트웨어 또는 특징 값과 관련된 외부 서버의 유틸리티 프로그램을 이용해서 텍스트 로그 파일을 수집한 다음, 외부 서버를 통해 수집된 텍스트 로그 파일 중 라이선스에 대한 사용량을 나타내는 특정 문자열을 자동으로 확인하여 라이선스 사용량을 간접적으로 도출한다.
라이선스에 대한 사용량을 나타내는 특정 문자열은 직관적으로 라이선스에 대한 정보를 나타내는 방식으로 구현될 수 있다. 예를 들어, 도 5의 화면(501)에서와 같이 추출되는 텍스트 로그 파일에서, “Users of 100”, “User of 111” 등과 같은 정보가 라이선스에 대한 정보를 나타내는 문자열일 수 있으며, 라이선스 관리 서버(100)는 자동으로 이러한 문자열을 확인할 수 있다.
한편, 라이선스에 대한 사용량을 나타내는 특정 문자열은 도 5와 달리, 상기 소프트웨어 또는 특징 값에 대하여 외부 서버로부터 라이선스가 거부된 이력 정보 즉, 라이선스 거부이력 정보로서 도 6과 같이 구현될 수 있다.
구체적으로, 실제 라이선스 운용과정에서는 가용 라이선스 부족으로 인한 라이선스 할당거부가 일어나는 상황이 발생한다. 이러한 라이선스 할당 거부 상황은 직원들이 업무에 필요한 SW를 사용하지 못하는 상황을 말하는 것으로, 이러한 상황이 자주 발생할수록 해당 SW의 구매 필요성은 증가한다고 볼 수 있다. 따라서, 라이선스 거부 이력은 해당 SW의 구매여부를 결정하는데 중요한 의사결정 기준으로 판단될 수 있다. 라이선스 할당 거부정보는 상기와 같이 외부 서버를 통해 수집된 텍스트 로그 파일에서 자동으로 검색가능하다. 이러한 방식에 의해, 간접적으로 외부 서버를 통해 수집되는 라이선스 사용 이력을 수집할 수 있다.
보다 구체적인 예로서, 도 6의 화면(601)에 나타나는 텍스트 로그 파일에서, 라이선스 관리 서버(100)는 “DENIED”된 문자열을 라이선스 거부이력 정보로서 자동으로 추출하여 제1 라이선스 사용량을 측정할 수 있다.
라이선스 관리 서버(100)는 외부 서버와의 연동, 텍스트 로그 파일 수집 및 특정 문자열 확인과 같은 일련의 동작들을 미리 정의된 알고리즘에 의해 자동으로 수행할 수 있다. 예를 들어, 라이선스 관리 서버(100)는 텍스트 로그 파일에서 특정 문자열을 자동으로 감지하기 위해 해당 파일에서 컴퓨터 언어를 추출하여 감지하거나, 텍스트 파일 자체를 텍스트 인식함으로써 특정 문자열을 자동으로 감지할 수 있다. 또한, 라이선스 관리 서버(100)는 DB에 미리 저장된 문자열과의 비교, 텍스트 마이닝, 기계학습과 같은 다양한 방식을 통해 수행될 수 있으며, 본 발명의 실시예가 특정 추출 방식을 한정하는 것은 아니다. 또한, 상기와 같은 특정 문자열 확인 동작은 라이선스 관리 서버(100)뿐만 아니라 사용자 장치(200) 또는 라이선스 에이전트(250)에서 수행될 수도 있다.
상기 도 4 내지 도 6과 같이, 라이선스 관리 서버(100)는 외부 서버와 연동하여 특징 값과 관련된 라이선스 사용량(예: 제1 라이선스 사용량)을 수집할 수 있다. 외부 서버로부터 직접적으로 사용량 정보를 수집하는 것이 아니라, 유틸리티 프로그램에서 도출되는 텍스트 로그 파일의 적어도 일부 정보를 기반으로 간접적으로 라이선스 사용량 정보를 추출함으로써 외부 서버에서 제공하지 않은 라이선스 사용량 정보를 자체적으로 파악할 수 있게 되는 것이다.
이하에서는 외부서버와의 연동뿐 아니라, 사용자 장치(200) 로컬 단에서 발생되는 정보를 추가적으로 확인하여 보다 정확한 라이선스 사용량 정보를 도출하는 방법에 대해 개시하도록 한다.
도 7은 본 발명의 일실시예에 따른 라이선스 관리 서버(100)에서 제2 라이선스 사용량을 측정하여 총 라이선스 사용량 정보를 산출하는 내용의 흐름도이다. 본 발명에서 개시되는 제2 라이선스 사용량은 사용자 장치(200) 내에서 발생되는 로컬 정보만을 이용하여 도출된 라이선스 사용량을 의미한다.
이를 위해, 라이선스 관리 서버(100)는 사용자 장치(200)단의 로컬 정보만을 이용하여 제2 라이선스 사용량을 측정한다. 제2 라이선스 사용량을 측정하는 구체적인 내용은 도 8 내지 도 9를 통해 후술하도록 한다.
다음으로, 라이선스 관리 서버(100)는 제1 라이선스 사용량 정보와 제2 라이선스 사용량 정보 중 상호 중복되어 카운팅된 사용량 정보를 필터링할 수 있다(S730). 제2 라이선스 사용량 정보는 사용자 장치(200)에서 발생한 정보만을 이용해서 산출되는 것이므로, 외부 서버와 연동하는 제1 라이선스 사용량과 중복되는 부분이 존재한다. 따라서, 라이선스 관리 서버(100)는 2개의 라이선스 사용량을 합산하기 전에 필터링 과정을 거치게 되는데, 이에 대해서는 도 10을 통해 후술하도록 한다.
필터링 과정이 완료되면, 라이선스 관리 서버(100)는 총 라이선스 사용량을 산출한다(S750). 이러한 총 라이선스 사용량은 특정 소프트웨어 또는 복수개의 사용자 장치(200)로 이루어진 특정 그룹의 사용량일 수 있다. 이 경우, 라이선스 관리 서버(100)는 산출된 전체의 라이선스 사용량 정보를 시각화부를 통해 리포팅 자료를 구성하여 사용자 장치(200) 또는 의사결정자 장치(300)에 제공할 수 있다. 본 발명의 일실시예에서, 라이선스 관리 서버(100)는 제1 라이선스 사용량과 제2 라이선스 사용량을 구별하여 표시할 수 있다.
도 8은 본 발명의 일실시예에 따른 라이선스 차단 방법을 나타내는 흐름도이다.
이러한 도 8의 내용은 도 7의 S710 단계의 일 예시일 수 있다. 라이선스 관리 서버(100)는 도 8 내지 도 9에 개시된 사용자 장치(200)가 라이선스 회수 조건이 충족되는지를 관리하는 과정에서 지속적으로 사용량 정보 즉, 제2 라이선스 사용량에 대한 정보를 사용자 장치(200)로부터 수집하여 저장하거나 업데이트할 수 있다.
사용자 장치(200) 또는 라이선스 에이전트(250)는 특징 값이 설정된 소프트웨어의 실행을 감지할 수 있다(S810). 전술한 예와 같이, 특정 기업에 대하여 SaaS 방식의 네트워크 기반 라이선스를 사용하는 소프트웨어가 배포되었다고 가정했을 경우, 관리 서버(100)는 기업 내에서 특정 그룹으로 분류된 하나 이상의 사용자 장치(200)와 각각 통신 연결할 수 있고, 연결된 사용자 장치(200)에 대한 정보 또는 사용자 장치(200)에서 수집되는 정보를 조회하거나 확인할 수 있다. 이 경우, 특정 그룹은 예컨대, 부서별, 사용자별, 서버별, 특징값별로 분류되어 그룹핑될 수 있으며, 관리 서버(100)와 특정 그룹의 사용자 장치(200)들은 사내 네트워크와 같은 근거리 네트워크를 통해 연결될 수 있으나 연결 방식을 한정하는 것은 아니다. 관리 서버(100)를 사용하는 관리자는 그래픽 인터페이스를 통해 특정 그룹에서의 각 사용자 장치(200)와 관련된 상태 정보 등을 지속적으로 확인할 수 있다.
또한, 라이선스 에이전트(250)는 사용자 장치(200)에 설정된 특징 값, 상기 특징 값과 관련된 기능의 실행 또는 소프트웨어의 실행을 확인할 수 있다. 라이선스 에이전트(250)는 이하에서 후술할 프로세스 감지 방식에 의해 해당 기능 또는 소프트웨어가 실행되는 것을 감지할 수 있다.
다음으로, 라이선스 에이전트(250)는 사용자 장치(200)의 특징 값에 대한 라이선스 회수조건이 충족되는지를 확인할 수 있다(S830). 즉, 라이선스 에이전트(250)는 사용자 장치(200)에서 단순히 소프트웨어 또는 소프트웨어에서 특징 값에 대응되는 일부 기능을 실행시킨 후 작업을 하지 않거나, 작업이 끝난 뒤 소프트웨어를 종료하지 않아 백그라운드에서 불필요하게 운용되고 있는 기능을 모니터링한다. 이러한 상태의 특징 값은 불필요하게 외부 서버(예: LMS)로부터 라이선스 세션 또는 사용량이 카운팅되고 있으므로, 라이선스 에이전트(250)는 라이선스 회수 조건을 충족하는 특징 값의 프로세스를 확인하여 해당 프로세스의 네트워크를 차단시킴으로써 결과적으로 라이선스를 회수하게 된다(S850).
본 발명의 실시예에서와 같이, 외부 서버(예: LMS)를 통하여 실시간으로 라이선스가 관리되는 소프트웨어의 경우에는 외부 서버와 사용자 장치(200)간의 주기적인 HealthCheck에 의해서 라이선스가 유지된다. 그리고, 소프트웨어를 실행시킨 후 상기 실시예와 같이 특징 값에 해당하는 프로세스의 네트워크를 단절시킨 경우에는 LMS가 일정 시간 후 통신이 단절된 사용자 장치(200)에 할당된 라이선스를 회수하게 된다.
한편, 라이선스 회수 방식은 사용자 장치(200)에서 실행 중인 소프트웨어를 강제종료시키거나, 소프트웨어의 라이선스를 카운팅하는 LMS에 회수 신호를 전송함으로써 구현될 수도 있다. 그러나, 본 발명의 실시예에서는 상기와 같은 특정 프로세스에 대하여 네트워크 차단에 의한 라이선스 회수 방식을 채택함으로써 보다 안정적이고 효율적으로 라이선스 회수 기능을 수행할 수 있다.
이를 보다 상세히 설명하면, 외부 서버에 회수 신호를 전송하는 라이선스 회수 방식은 사용자 장치(200)에서 가상의 종료신호만을 외부 서버에 전송하고 실제 소프트웨어의 프로세스를 종료하지 않으면 소프트웨어 밴더사에서 제공하는 사용자 약관을 위배하게 될 소지가 있다. 또한, 소프트웨어의 강제종료에 의한 라이선스 회수 방식은 사용자 장치(200)에서 작업 중인 작업 결과물이 저장되지 못한 채 종료됨으로써 많은 불편을 초래할 수 있다.
본 발명의 실시예와 같은 네트워크 차단 방식을 적용하는 경우, 사용자 장치(200)에서는 외부 서버와의 주기적인 Health Check가 실패함에 따라 실시간적인 라이선스 확인을 할 수 없는 상황임을 인식하고 미리 정해진 오프라인 모드로 전환될 수 있다. 이러한 오프라인 모드는 대부분 작업중인 작업물을 저장하는 기능을 활성화시킨 상태에서 다른 기능모드를 차단시키는 것이 일반적이므로, 작업 중인 작업물을 보존함과 동시에 실질적으로 라이선스를 회수할 수 있다.
한편, 본 발명의 실시예에서 사용되는 네트워크 차단 방식은 사용자 장치(200)의 통신 모듈 그 자체를 비활성시키거나 네트워크 전체를 차단하는 것이 아닌, 특정 프로세스에 대하여 할당된 통신 네트워크 기능만을 일부 차단시킴으로써 다른 통신 작업에 대해서는 장애가 없도록 구현될 수 있다.
다음으로, 도 9는 본 발명의 일실시예에 따라 라이선스 회수 조건을 확인하는 동작을 나타내는 순서도이다. 이러한 도 9의 동작들은 도 8의 S830 단계의 구체적인 일실시예로 설명된다. 도 9의 실시예에서는 라이선스 에이전트(250)가 사용자 장치(200)에서의 사용자 입력 여부와 CPU의 리소스 할당 상태를 확인하는 방식들 중 적어도 하나의 방식을 통해서 회수 조건이 충족되는지를 확인한다.
이를 위해, 라이선스 에이전트(250)는 사용자 입력 신호가 발생하는지를 확인할 수 있다(S910). 예컨대, 사용자가 사용자 장치(200)의 입력 장치(예: 키보드, 마우스, 또는 인터랙션 입력 장치)를 통해서 입력을 하게 되어 사용자 장치(200)에서 사용자 입력 신호가 발생하게 되면, 라이선스 에이전트(250)는 이러한 사용자 입력 신호를 감지하게 된다.
이러한 사용자 입력 신호의 발생은 사용자가 해당 소프트웨어 또는 특징 값에 해당하는 기능을 계속하여 사용할 의사로 해석 가능하다. 따라서, 라이선스 에이전트(250)는 소정 시간 내에 사용자 입력 신호가 발생하는지 여부를 확인할 수 있고(S920), 소정 시간 내에 사용자 입력 신호가 발생하였다면 해당 사용자 장치(200)에 대해서 네트워크 회수조건이 불충족하였다고 판단하고 도 9의 동작을 종료할 수 있다.
일실시예에 따르면, 라이선스 에이전트(250)는 특징 값과 관련된 소프트웨어가 활성화된 상태에서의 사용자 입력 신호만을 사용의사 해석의 요소로서 감지할 수 있다. 예를 들어, 특징 값과 관련된 소프트웨어의 실행 창과 다른 어플리케이션의 실행 창이 모두 실행된 상태에서, 사용자가 다른 어플리케이션의 실행 창에 대해서만 입력 신호를 인가함에 따라 특징 값과 관련된 소프트웨어에 대한 입력이 없는 경우, 특징 값과 관련된 사용의사 수단으로서의 사용자 입력 값으로 취급하지 않을 수 있다.
한편, 소정 시간 내에 사용자 입력 신호가 발생하지 않았다면, 라이선스 에이전트(250)는 사용자 장치(200)에서 운용 중인 프로세스 중 특징 값과 관련된 프로세스에 대하여 프로세서(예: CPU)에서의 리소스 할당 상태를 확인할 수 있다(S930). 이에 따라 라이선스 에이전트(250)는 사용자 장치(200)에서의 CPU가 특징 값과 관련하여 미리 설정된 프로세스에 대한 연산을 처리하고 있는지와 같은 리소스 할당 조건의 충족여부를 확인할 수 있다(S940).
보다 구체적으로, 라이선스 에이전트(250)는 사용자 장치(200)의 프로세서가 라이선스 관리 대상인 특징(feature) 값과 관련하여 미리 설정된 프로세스에 대하여 소정 조건으로 리소스를 할당하고 있는지를 확인할 수 있다.
다만, 라이선스 에이전트(250)가 특징 값에 대응되는 프로세스를 구별하기 위해서는 특징 값의 프로세스와 관련된 정보들을 특정 데이터와 미리 매핑시켜야 한다. 이를 위해, 라이선스 에이전트(250) 또는 관리 서버(100)는 사용자 입력 등을 통해 프로세스의 프로그램 파일명, 버전 또는 파일 크기 등과 정보를 상기 특징 값에 해당하는 프로세스를 매핑시킬 수 있다.
추가적인 실시예에 따르면, 라이선스 에이전트(250) 또는 관리 서버(100)는 특징 값에 해당하는 프로세스의 윈도우 타이틀을 상기 프로세스와 미리 매핑시킬 수 있다. 본 발명의 실시예에서 사용되는 윈도우 타이틀 정보는 프로세스에서 발생하는 창의 속성 정보를 의미한다. 이러한 윈도우 타이틀 정보를 이용하는 이유는 동일한 프로세스를 사용하는 복수개의 소프트웨어들이 존재할 수 있기 때문이다. 즉, 동일한 프로세스를 사용하는 소프트웨어들이 존재함으로 인해 프로세스의 파일 명 등과 같은 정보만으로는 프로세스 상호 간을 구별하기가 어렵게 된다. 그렇지만, 같은 프로세스이더라도 서로 다른 특징 값을 가지게 되면 각각의 프로세스에서 발생하는 윈도우 타이틀은 각각 고유한 식별 정보를 가지게 된다. 이러한 윈도우 타이틀 정보를 이용함으로써, 보다 정확한 라이선스 사용을 감지할 수 있는 것이다.
상기와 같이 프로세스의 정보들을 특징 값에 매핑시켜 놓으면, 라이선스 에이전트(250)는 관리 서버(100)로부터 상기 매핑된 정보를 수신하여 저장할 수 있고, 미리 설정된 프로세스의 실행을 감지하거나 미리 설정된 프로세스의 CPU 할당량을 확인하기 위해 상기 저장된 매핑 정보(예: 프로세스 파일명, 버전, 파일 크기)를 이용하여 사용자 장치(200)에서 프로세스를 검색하게 된다. 이 경우, 라이선스 에이전트(250)는 전술한 바와 같이 매핑된 윈도우 타이틀 정보를 추가적으로 검색하여 라이선스의 대상이 되는 프로세스를 보다 정확하게 검색할 수 있다.
사용자 장치(200)에서 미리 정해진 프로세스가 검색되었다면, 라이선스 에이전트(250)는 검색된 프로세스에 대한 사용자 장치(200)에서의 프로세서(예: CPU) 사용량을 측정함으로써 미사용중인 라이선스를 구별할 수 있다. 프로세서는 소프트웨어를 사용하는 경우 필수적으로 사용되는 컴퓨터 자원이기 때문에, 본 발명의 실시예에서는 이러한 프로세서의 리소스 할당 정보를 이용하여 보다 효과적으로 미사용 라이선스를 구별할 수 있다.
특징 값과 관련되어 미리 설정된 프로세스에 대해서, 사용자 장치(200)의 프로세서(예: CPU)가 아무런 리소스도 할당을 하고 있지 않거나 소정 임계 값 미만으로 리소스를 할당하고 있다면 해당 사용자는 더 이상 소프트웨어 또는 특징 값에 해당하는 기능을 사용할 의사가 없는 것으로 해석 가능하다. 소정 임계 값 미만인 경우를 포함하는 이유는, 단순히 기능 창을 띄워놓은 상태에서는 CPU 리소스가 비교적 적게 할당되기 때문이다.
보다 구체적인 사용 상태를 확인하기 위해, 라이선스 에이전트(250)는 리소스 할당량의 유지 시간을 더 고려하여 라이선스 회수 조건 충족 여부를 고려할 수 있다. 예를 들어, 사용자가 일시적으로 소프트웨어 또는 그 일부 기능을 사용하지 않고 있는 상태까지 비사용으로 보는 것은 효율성이 떨어질 수 있다. 따라서, 라이선스 에이전트(250)는 사용자 장치(200) 프로세서에서 미리 설정된 프로세스에 대해 소정 임계값 미만으로 리소스를 할당하고 있는 유지 시간이 소정 시간 이상 유지되는지를 확인할 수 있다. 소정 시간 이상 유지된다면 라이선스 에이전트(250)는 라이선스를 회수하고, 그렇지 않은 경우에는 라이선스 회수를 보류할 수 있다.
S940의 판단 동작 결과를 기반으로, 라이선스 에이전트(250)는 미리 설정된 프로세스 즉, 특징 값과 관련된 프로세스에 대해서 라이선스 회수조건이 불충족되거나(S950) 또는 충족되는지(S960)를 결정하게 된다.
도 9에서 사용자 장치(200) 프로세서의 리소스 할당 상태를 확인하는 단계는 사용자 입력 신호가 발생하지 않는 경우로 도시되어 있으나, 본 발명의 다양한 실시예에 따르면 라이선스 에이전트(250)는 사용자 입력 신호와 관계없이 리소스 할당 상태만을 고려하여 네트워크 회수조건이 충족되는지를 확인할 수 있다.
예컨대, 사용자의 입력과 무관하게 운용되거나 사용자가 입력할 수 없는 단계에 해당하는 특징 값의 경우에는 사용자 입력 신호를 필수적으로 체크하는 경우 오히려 잘못된 판단 결과를 야기할 수 있다. 따라서, 라이선스 에이전트(250)는 특징 값에 따라 미리 설정된 판단 프로세스 또는 관리자에 의해 설정된 판단 정책에 근거하여 리소스 할당 상태만을 판단할 수 있다.
전술한 도 8 내지 도 9의 라이선스 차단 수행 과정에서 라이선스 사용량 또한 분석된다. 예를 들어, 도 8 내지 도 9와 같이 라이선스 차단과 관련된 동작을 수행하는 사용자 장치(200)와 별도로, 라이선스 관리 서버(100)는 이러한 과정에서 사용자 장치(200)로부터 데이터를 지속적으로 수신하여 제2 라이선스 사용량을 자동으로 산출할 수 있다. 구체적인 예로서, 라이선스 관리 서버(100)는 특징 값과 관련하여 미리 설정된 프로세스가 사용자 장치(200) 프로세서의 리소스를 할당하고 있는지를 통해 해당 특징 값에 대한 사용량을 분석할 수 있는 것이다.
도 10은 본 발명의 일실시예에 따른 라이선스 사용량 산출 과정에서의 필터링 동작을 나타내는 흐름도이다. 이러한 도 10의 각 단계는 도 7의 S730 단계의 내용에 대한 구체적인 예시일 수 있다.
제1 라이선스 사용량 정보와 제2 라이선스 사용량 정보 상호간 중복되는 사용량을 확인하기 위해, 라이선스 관리 서버(100)는 사용시간이 중복되는 라이선스 사용량 정보를 확인할 수 있다(S1010). 라이선스 관리 서버(100)는 제1 라이선스 사용량 정보와 제2 라이선스 사용량 정보 중 소정시간 이상 사용시간이 중복된 사용량 정보를 확인함으로써 동일 시간 대에 카운팅된 라이선스 사용량 정보를 확인할 수 있다.
다음으로, 보다 정확한 필터링을 위해, 라이선스 관리 서버(100)는 고유식별 정보를 이용하여 중복된 사용량 정보를 비교할 수 있다(S1030). 즉, 동일 시간 대에 접속된 사용량 정보들에 대해, 해당 사용자 장치(200)의 고유 식별 정보(예: IP 주소 등) 또는 소프트웨어의 고유 식별 정보(예: 일련번호 등) 중 적어도 하나를 비교함으로써 중복된 사용량 정보를 보다 정확하게 체크할 수 있다.
다음으로, 라이선스 관리 서버(100)는 사용시간과 고유 식별 정보가 모두 중복된 사용량 정보를 필터링할 수 있다(S1050). 라이선스 관리 서버(100)는 중복된 사용량 정보에 대해서는 한번만 카운팅함으로써, 특정 그룹 전체의 총 라이선스 사용량을 산정할 수 있다.
상기와 같은 라이선스 사용량 도출 방식에 의해, 사용자는 외부 서버에서 관리되지 않은 라이선스 사용량을 로컬 단계에서 파악하고, 외부 서버와 로컬에서 수집되는 정보의 노이즈 필터링 과정을 통해 보다 정확한 라이선스 사용량을 확인할 수 있게 된다.
도 7 내지 도 10을 통해 산정된 라이선스 사용량은 도 11과 같은 화면을 통해 시각화된 리포팅 자료로 구성될 수 있다. 라이선스 관리 서버(100)는 특징 값 별 사용빈도 순위, 특징 값 현황, 특징 값 사용제한 순위, 라이선스 재계약 만료일 등을 시각화하여 사용자 장치(200) 또는 의사결정자 장치(300)에 제공할 수 있다. 또한, 라이선스 관리 서버(100)는 도 12와 같이 특정 그룹(예: 부서) 별 모니터링 차트를 생성하여 의사결정자 장치(300)에 제공함으로써 의사결정자가 향후 라이선스 계약등을 보다 효과적으로 체결할 수 있도록 가이드할 수 있다.
상기와 같은 도 1 내지 도 12의 실시예들을 통해서, 미사용중인 라이선스를 보다 정확하게 검출하여 회수함으로써 라이선스 자원을 효율적으로 관리할 수 있으며, 정확한 예측과 분석을 통해서 라이선스 사용량을 산출하여 향후 라이선스 자원 정책을 수립하는데 도움이 될 수 있다.
도 13은 본 발명의 실시예에 따른 라이선스 관리 서버(100)에서 크랙버전의 소프트웨어를 확인하고 사용량을 확인하는 동작의 순서도이다.
라이선스 관리 서버(100)는 사용자 장치(200)에 크랙조건을 제공할 수 있다(S1310). 이러한 크랙조건은 사용자 장치(200)에 설치된 소프트웨어 또는 사용자 장치(200)에서 실행되는 소프트웨어가 크랙버전의 소프트웨어인지를 사용자 장치(200)가 판단할 수 있도록 하는 조건정보일 수 있다. 일실시예에 따르면, 크랙조건은 소프트웨어별로 각각 다르게 설정되어 있을 수 있으며, 라이선스 관리 서버(100)는 소프트웨어별 크랙조건을 각 사용자 장치(200)로 전송하거나 또는 각 사용자 장치(200)의 소프트웨어에 해당하는 크랙조건을 먼저 확인한 후 매칭되는 크랙조건을 각 사용자 장치(200)별로 제공할 수 있다.
다음으로, 라이선스 관리 서버(100)는 사용자 장치(200)로부터 크랙버전인지에 대한 응답을 수신할 수 있다(S1330). 만약, 크랙버전에 대한 응답이 수신되지 않는 경우 또는 크랙버전이 아니라는 응답이 수신되는 경우, 전술한 실시예에 따라 제1 라이선스 사용량과 제2 라이선스 사용량에 의한 총 라이선스 사용량을 도출할 수 있다(S1350).
이와 반대로, 크랙버전에 대한 응답이 수신되는 경우, 라이선스 관리 서버(100)는 해당 소프트웨어가 크랙버전 소프트웨어임을 체크하고 제2 라이선스 사용량만 도출할 수 있다(S1370). 크랙버전의 소프트웨어라면, 특징 값과 관련된 외부 서버에서 해당 특징 값에 대한 라이선스 사용량이 수집되는 것에 장애가 발생하는 것이 일반적이므로, 본 발명의 실시예에서는 로컬 단에서 사용되는 정보만을 이용하여 크랙버전의 소프트웨어가 얼마나 사용되는지를 확인할 수 있다. 또한, 라이선스 관리 서버(100)는 해당 소프트웨어가 크랙버전임을 구별하여 저장하거나, 의사결정자 장치(300)에 제공하거나, 또는 리포트 정보에 포함시켜 관리자에게 노출시킬 수 있다.
상기와 같이 크랙버전의 소프트웨어를 자동으로 확인하고 이에 대한 사용량 정보까지 도출함으로써, 관리자는 소프트웨어 구매인식을 재고할 수 있고 소프트웨어 사용 양태를 정확하게 인식할 수 있다. 이에 의해, 추후 라이선스에 의한 분쟁을 사전에 방지할 수 있는 조치를 취할수 있다.
본 발명의 다양한 실시예에 사용된 용어 “모듈”또는 “~부”는, 예를 들어, 하드웨어, 소프트웨어 또는 펌웨어(firmware) 중 하나 또는 둘 이상의 조합을 포함하는 단위(unit)를 의미할 수 있다. “모듈” 또는 “~부”는 예를 들어, 유닛(unit), 로직(logic), 논리 블록(logical block), 부품(component) 또는 회로(circuit) 등의 용어와 바꾸어 사용(interchangeably use)될 수 있다. “모듈” 또는“~부”는 일체로 구성된 부품의 최소 단위 또는 그 일부가 될 수 있고, 하나 또는 그 이상의 기능을 수행하는 최소 단위 또는 그 일부가 될 수도 있다. “모듈” 또는“~부”는 기계적으로 또는 전자적으로 구현될 수 있다. 예를 들면, 본 발명의 다양한 실시예에 따른 “모듈” 또는“~부”는, 알려졌거나 앞으로 개발될, 어떤 동작들을 수행하는 ASIC(application-specific integrated circuit) 칩, FPGAs(field-programmable gate arrays) 또는 프로그램 가능 논리 장치(programmable-logic device) 중 적어도 하나를 포함할 수 있다.
10: 라이선스 관리 시스템 100: 라이선스 관리 서버
200: 사용자 장치 250: 라이선스 에이전트
300: 의사결정자 장치

Claims (10)

  1. 적어도 하나의 클라이언트 장치와 연결되는 컴퓨팅 시스템에 의해 수행되는 라이선스 사용량 분석 방법으로서,
    특징 값에 대한 라이선스 사용량을 관리하는 외부 서버와 연결하는 단계로서, 상기 특징 값은 상기 클라이언트 장치에서 실행되는 소프트웨어 그 자체에 대한 라이선스 또는 상기 소프트웨어의 적어도 일부 기능에 대한 라이선스 부여 대상의 단위를 나타내는, 외부 서버와 연결하는 단계;
    상기 외부 서버의 유틸리티 프로그램으로부터 텍스트 로그 정보를 수집하는 단계;
    수집된 텍스트 로그 정보 중 특정 문자열을 자동으로 확인하여 상기 특징 값과 관련된 제1 라이선스 사용량을 측정하는 단계;
    상기 클라이언트 장치에서 발생되는 정보만을 이용하여 상기 특징 값에 대한 제2 라이선스 사용량 정보를 산출하는 단계; 및
    상기 제1 라이선스 사용량 정보와 상기 제2 라이선스 사용량 정보에서 중복되는 사용량 정보를 필터링하는 단계를 포함하는, 라이선스 사용량 분석 방법.
  2. 제1항에 있어서,
    상기 소프트웨어의 라이선스 사용량을 측정하는 단계는,
    상기 텍스트 로그 정보 중 상기 제1 라이선스 사용량을 나타내는 문자열을 선택적으로 인식하여 상기 라이선스에 대한 사용량을 측정하는 단계를 포함하는, 라이선스 사용량 분석 방법.
  3. 제2항에 있어서,
    상기 문자열은,
    상기 특징 값에 대한 라이선스 허가가 거부된 이력정보를 나타내는 것인, 라이선스 사용량 분석 방법.
  4. 삭제
  5. 제1항에 있어서,
    상기 중복되는 사용량 정보를 필터링하는 단계는,
    상기 제1 라이선스 사용량 정보와 상기 제2 라이선스 사용량 정보 중 소정시간 이상 중복된 시간을 확인하는 단계;
    상기 클라이언트 장치의 고유식별 정보 또는 상기 특징 값의 고유식별 정보 중 적어도 하나를 기반으로 중복된 사용량 정보를 비교하는 단계; 및
    상기 중복되는 시간과 상기 고유식별 정보 중 적어도 하나를 기반으로 상기 사용량 정보를 필터링하는 단계를 포함하는, 라이선스 사용량 분석 방법.
  6. 제5항에 있어서,
    상기 제1 라이선스 사용량과 상기 제2 라이선스 사용량을 구별하여 표시하는 단계를 더 포함하는, 라이선스 사용량 분석 방법.
  7. 적어도 하나의 클라이언트 장치와 연결되는 컴퓨팅 시스템에 의해 수행되는 라이선스 사용량 분석 방법으로서,
    특징 값에 대한 라이선스 사용량을 관리하는 외부 서버와 연결하는 단계로서, 상기 특징 값은 상기 클라이언트 장치에서 실행되는 소프트웨어 그 자체에 대한 라이선스 또는 상기 소프트웨어의 적어도 일부 기능에 대한 라이선스 부여 대상의 단위를 나타내는, 외부 서버와 연결하는 단계;
    상기 외부 서버의 유틸리티 프로그램으로부터 텍스트 로그 정보를 수집하는 단계;
    수집된 텍스트 로그 정보 중 특정 문자열을 자동으로 확인하여 상기 특징 값과 관련된 제1 라이선스 사용량을 측정하는 단계;
    상기 클라이언트 장치로 소프트웨어별 크랙조건을 전송하는 단계; 및
    상기 클라이언트 장치에서 실행되는 소프트웨어가 크랙 버전인 것으로 확인된 경우, 상기 클라이언트 장치에서 발생되는 정보만을 이용하여 상기 특징값에 대한 제2 라이선스 사용량 정보를 산출하는 단계를 포함하는, 라이선스 사용량 분석 방법.
  8. 소프트웨어 그 자체에 대한 라이선스 또는 상기 소프트웨어의 적어도 일부 기능에 대한 라이선스 부여 대상의 단위인 특징(feature) 값에 대한 라이선스를 관리하는 라이선스 관리 서버로서,
    적어도 하나의 클라이언트 장치와 상기 라이선스 관리 서버를 연결하는 통신 모듈;
    특징 값에 대한 라이선스 사용량을 관리하는 외부 서버를 상기 통신 모듈을 통해 상기 라이선스 관리 서버와 연결하고, 상기 외부 서버의 유틸리티 프로그램으로부터 텍스트 로그 정보를 수집하며, 수집된 텍스트 로그 정보 중 특정 문자열을 자동으로 확인하여 상기 특징 값과 관련된 제1 라이선스 사용량을 측정하는 제1 사용량 수집부;
    상기 클라이언트 장치에서 발생되는 정보만을 이용하여 상기 특징 값에 대한 제2 라이선스 사용량 정보를 산출하는 제2 사용량 수집부; 및
    상기 제1 라이선스 사용량 정보와 상기 제2 라이선스 사용량 정보에서 중복되는 사용량 정보를 필터링하는 필터링부를 포함하는, 라이선스 관리 서버.
  9. 제8항에 있어서,
    상기 제1 사용량 수집부는,
    상기 텍스트 로그 정보 중 상기 제1 라이선스 사용량을 나타내는 문자열을 선택적으로 인식하여 상기 라이선스에 대한 사용량을 측정하고,
    상기 문자열은,
    상기 특징 값에 대한 라이선스 허가가 거부된 이력정보를 나타내는 것인, 라이선스 관리 서버.
  10. 삭제
KR1020170127249A 2017-09-29 2017-09-29 소프트웨어의 라이선스 사용량 분석 방법 및 이를 수행하는 라이선스 관리 서버 KR101842925B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170127249A KR101842925B1 (ko) 2017-09-29 2017-09-29 소프트웨어의 라이선스 사용량 분석 방법 및 이를 수행하는 라이선스 관리 서버

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170127249A KR101842925B1 (ko) 2017-09-29 2017-09-29 소프트웨어의 라이선스 사용량 분석 방법 및 이를 수행하는 라이선스 관리 서버

Publications (1)

Publication Number Publication Date
KR101842925B1 true KR101842925B1 (ko) 2018-03-28

Family

ID=61901435

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170127249A KR101842925B1 (ko) 2017-09-29 2017-09-29 소프트웨어의 라이선스 사용량 분석 방법 및 이를 수행하는 라이선스 관리 서버

Country Status (1)

Country Link
KR (1) KR101842925B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102474011B1 (ko) * 2021-08-19 2022-12-05 (주)클로닉스 Qr코드를 이용한 오프라인 라이선스 인증 장치 및 방법
KR102539560B1 (ko) * 2022-12-15 2023-06-02 주식회사 클라우다이크 써드파티 애플리케이션의 라이선스 관리 방법 및 이를 수행하기 위한 클라우드 서버
US12032662B2 (en) 2021-12-16 2024-07-09 Juniper Networks, Inc. Programmable model-driven license management and enforcement in a multi-tenant system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090299791A1 (en) * 2003-06-25 2009-12-03 Foundry Networks, Inc. Method and system for management of licenses
JP2016184358A (ja) * 2015-03-26 2016-10-20 株式会社日立システムズ データ分析システム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090299791A1 (en) * 2003-06-25 2009-12-03 Foundry Networks, Inc. Method and system for management of licenses
JP2016184358A (ja) * 2015-03-26 2016-10-20 株式会社日立システムズ データ分析システム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102474011B1 (ko) * 2021-08-19 2022-12-05 (주)클로닉스 Qr코드를 이용한 오프라인 라이선스 인증 장치 및 방법
US12032662B2 (en) 2021-12-16 2024-07-09 Juniper Networks, Inc. Programmable model-driven license management and enforcement in a multi-tenant system
KR102539560B1 (ko) * 2022-12-15 2023-06-02 주식회사 클라우다이크 써드파티 애플리케이션의 라이선스 관리 방법 및 이를 수행하기 위한 클라우드 서버
WO2024128603A1 (ko) * 2022-12-15 2024-06-20 주식회사 클라우다이크 써드파티 애플리케이션의 라이선스 관리 방법 및 이를 수행하기 위한 클라우드 서버

Similar Documents

Publication Publication Date Title
US10235236B1 (en) Methods and apparatus for remediation workflow
US9575814B2 (en) Identifying hung condition exceeding predetermined frequency threshold and modifying hanging escalation tasks to avoid hang conditions
US8863276B2 (en) Automated role adjustment in a computer system
US20180075240A1 (en) Method and device for detecting a suspicious process by analyzing data flow characteristics of a computing device
US20130073715A1 (en) Methods and apparatus for remediating policy test failures, including correlating changes to remediation processes
US20130073704A1 (en) Methods and apparatus for remediating policy test failures, including promoting changes for compliance review
US8904397B2 (en) Staggering execution of scheduled tasks based on behavioral information
US9355009B2 (en) Performance of scheduled tasks via behavior analysis and dynamic optimization
CN104077532A (zh) 一种Linux虚拟化平台安全检测方法及系统
US20180004939A1 (en) Anti-malware device, anti-malware system, anti-malware method, and recording medium in which anti-malware program is stored
KR101256507B1 (ko) 사용자 행위 분석을 통한 자료유출 탐지 시스템 및 그 방법
KR101842925B1 (ko) 소프트웨어의 라이선스 사용량 분석 방법 및 이를 수행하는 라이선스 관리 서버
JP2019536158A (ja) 検知結果が有効であるかないかを検証する方法およびシステム
JP2021027505A (ja) 監視装置、監視方法、および監視プログラム
CN111181978A (zh) 异常网络流量的检测方法、装置、电子设备及存储介质
KR101444250B1 (ko) 개인정보 접근감시 시스템 및 그 방법
US8090994B2 (en) System, method, and computer readable media for identifying a log file record in a log file
CN106407836B (zh) 一种数据非法修改行为自动检测的方法及装置
US11429714B2 (en) Centralized privacy management system for automatic monitoring and handling of personal data across data system platforms
JP7000271B2 (ja) 車両不正アクセス対策装置、及び車両不正アクセス対策方法
KR101785570B1 (ko) 소프트웨어의 라이선스 사용 관리 방법 및 이를 수행하는 라이선스 관리 시스템
JP5851311B2 (ja) アプリケーション検査装置
KR102102085B1 (ko) 보안 os 이미지를 관리하는 인터넷 서버
US11321481B1 (en) Method for determining to grant or deny a permission request based on empirical data aggregation
KR101385311B1 (ko) 클라이언트 단말의 오류 관리 장치 및 방법, 그리고 오류 관리 시스템

Legal Events

Date Code Title Description
GRNT Written decision to grant