KR102486646B1 - Apparatus and method for providing software asset management service - Google Patents

Apparatus and method for providing software asset management service Download PDF

Info

Publication number
KR102486646B1
KR102486646B1 KR1020220078782A KR20220078782A KR102486646B1 KR 102486646 B1 KR102486646 B1 KR 102486646B1 KR 1020220078782 A KR1020220078782 A KR 1020220078782A KR 20220078782 A KR20220078782 A KR 20220078782A KR 102486646 B1 KR102486646 B1 KR 102486646B1
Authority
KR
South Korea
Prior art keywords
software
scope
license
information
request information
Prior art date
Application number
KR1020220078782A
Other languages
Korean (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 KR1020220078782A priority Critical patent/KR102486646B1/en
Application granted granted Critical
Publication of KR102486646B1 publication Critical patent/KR102486646B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06315Needs-based resource requirements planning or analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/3332Query translation
    • G06F16/3334Selection or weighting of terms from queries, including natural language queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3344Query execution using natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/62Uninstallation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Human Resources & Organizations (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Development Economics (AREA)
  • Educational Administration (AREA)
  • Game Theory and Decision Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

The present invention relates to a device and method for providing a software asset management service. According to an embodiment of the present invention, an electronic device comprises a memory and a processor connected to the memory. The processor may receive an installation file and license information for software owned by a company from an administrator terminal and receive use request information including a software name of first software and a reason for a use request from an employee terminal. In addition, the processor may determine whether use is permitted based on the use request information and transmit the installation file and license information of the first software to the employee terminal.

Description

소프트웨어 자산 관리서비스 제공 장치 및 방법{APPARATUS AND METHOD FOR PROVIDING SOFTWARE ASSET MANAGEMENT SERVICE}Apparatus and method for providing software asset management service {APPARATUS AND METHOD FOR PROVIDING SOFTWARE ASSET MANAGEMENT SERVICE}

본 발명은 소프트웨어 자산 관리서비스 제공 장치 및 방법에 관한 것이다.The present invention relates to an apparatus and method for providing a software asset management service.

본 발명에서 달리 표시되지 않는 한, 이 섹션에 설명되는 내용들은 이 출원의 청구항들에 대한 종래 기술이 아니며, 이 섹션에 포함된다고 하여 종래 기술이라고 인정되는 것은 아니다.Unless otherwise indicated herein, material described in this section is not prior art to the claims in this application, and inclusion in this section is not an admission that it is prior art.

기업 내에서는 업무수행을 위하여 필요한 소프트웨어들이 있다. 소프트웨어는 무료라는 인식이 있으나, 엄연히 경제적 가치를 가진 자산으로써, 생산자로부터 정당한 라이센스를 받아 사용하는 것이 바람직하다. Within a company, there is software necessary for performing tasks. Although there is a perception that software is free, it is desirable to use it with a legitimate license from the producer as it is an asset with economic value.

만일, 정당한 라이센스 없이 사용하는 경우에는 생산자의 권리를 침해하는 것으로써 손해배상의 우려가 있다.If it is used without a legitimate license, there is a risk of compensation for damages as it infringes on the producer's rights.

따라서, 기업에서 운용하는 소프트웨어를 자산으로 바라보고, 사용에 따라 발생하는 리스크의 관리 및 소프트웨어 자산 관리를 할 수 있는 시스템의 필요성이 대두되고 있다.Therefore, the need for a system that can view software operated by companies as an asset, manage risks arising from use, and manage software assets is emerging.

한국등록특허 제10-1326208호 (2013.10.31.)Korean Patent Registration No. 10-1326208 (2013.10.31.)

본 발명의 일 실시예는 소프트웨어 자산 관리서비스 제공 장치 및 방법을 제공하는 것이다.One embodiment of the present invention is to provide a software asset management service providing apparatus and method.

본 발명에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The technical problems to be achieved in the present invention are not limited to the technical problems mentioned above, and other technical problems not mentioned will be clearly understood by those skilled in the art from the description below. You will be able to.

상술한 목적을 달성하기 위하여, 본 발명의 일 실시예에 따른 전자 장치는 메모리(memory) 및 상기 메모리와 연결된 프로세서(processor)를 포함하고, 상기 프로세서는, 관리자단말로부터 기업이 보유하고 있는 소프트웨어의 설치파일 및 라이센스정보를 수신하고, 임직원단말로부터 제1 소프트웨어의 소프트웨어이름 및 사용요청사유를 포함하는 사용요청정보를 수신하고, 상기 사용요청정보를 기반으로 사용허가여부를 판단하여 상기 임직원단말로 상기 제1 소프트웨어의 설치파일 및 라이센스정보를 송신할 수 있다.In order to achieve the above object, an electronic device according to an embodiment of the present invention includes a memory and a processor connected to the memory, and the processor, from a manager terminal, software owned by the company. Receives installation files and license information, receives use request information including the software name of the first software and the reason for requesting use from the employee terminal, determines whether use is permitted based on the use request information, and reminds the employee terminal An installation file and license information of the first software may be transmitted.

이 때, 상기 프로세서는, 상기 관리자단말로부터 상기 소프트웨어별로 상기 소프트웨어가 사용되는 업무범위에 관한 정보를 수신하고, 상기 사용요청정보를 송신한 임직원의 직무범위와 상기 업무범위를 비교하여, 상기 직무범위에 상기 업무범위가 포함되는 경우, 상기 사용요청정보에 대응하는 상기 제1 소프트웨어의 설치파일, 라이센스정보 및 제1 사용기한을 상기 임직원단말로 송신하고, 상기 직무범위에 상기 업무범위가 포함되지 않는 경우, 인공지능모듈을 통하여, 상기 사용요청사유와 상기 업무범위가 상관관계에 있는 것으로 나타나면 상기 제1 사용기한보다 짧게 기설정된 제2 사용기한으로 상기 제1 소프트웨어의 설치파일 및 라이센스정보를 상기 임직원단말로 송신할 수 있다.At this time, the processor receives information about the scope of work in which the software is used for each software from the manager terminal, compares the scope of work with the scope of work of the employee who sent the request information, and the scope of work. If the scope of work is included in , the installation file of the first software corresponding to the use request information, license information, and the first usage period are transmitted to the employee terminal, and the scope of work does not include the scope of work. If, through the artificial intelligence module, it is found that the reason for the use request and the scope of work are correlated, the installation file and license information of the first software are transferred to the employee with a second period of use set earlier than the first period of use. can be sent to the terminal.

이 때, 상기 프로세서는, 인공지능모듈을 통하여, 상기 사용요청정보에 포함되는 전체 문자중에서 조사를 제외한 제1 키워드를 추출하고, 상기 제1 키워드 중에서 기설정된 직무키워드 및 업무키워드와 대응되는 제2 키워드를 추출하고, 워드임베딩을 통하여 상기 제2 키워드와 상기 업무범위에 포함되는 업무키워드와의 유사여부를 판단하여, 유사한 것으로 판단되는 경우, 상기 사용요청사유와 상기 업무범위는 상관관계에 있는 것으로 판단하고, 유사하지 않은 것으로 판단되는 경우, 상기 사용요청사유와 상기 업무범위는 상관관계에 있지 않은 것으로 판단할 수 있다.At this time, the processor extracts, through an artificial intelligence module, a first keyword excluding postpositional words from all characters included in the use request information, and a second keyword corresponding to a preset job keyword and job keyword from among the first keywords. Keywords are extracted, and through word embedding, it is determined whether the second keyword is similar to the business keyword included in the business scope. and if it is determined that they are not similar, it can be determined that the reason for requesting use and the scope of work are not correlated.

이 때, 상기 프로세서는, 임직원단말로부터 상기 직무범위에 상기 업무범위가 포함되지 않는 상기 사용요청정보를 수신한 제1 횟수가 기설정된 제1 임계횟수를 초과하고, 상기 사용요청정보에 대응하여 상기 업무범위와 상관관계가 있는 것으로 판단된 제2 횟수가 기설정된 제2 임계횟수를 초과하는 경우, 상기 직무범위를 공유하는 전체 임직원의 직무범위에 상기 업무범위를 포함시키고, 상기 제1 횟수가 상기 제1 임계횟수 이하이고, 상기 제2 횟수가 상기 제2 임계횟수를 초과하는 경우, 상기 임직원단말을 사용하는 임직원의 직무범위에 상기 업무범위를 포함시킬 수 있다.At this time, the processor, the first number of times of receiving the use request information that does not include the work scope in the job scope from the employee terminal exceeds the first predetermined threshold number of times, and in response to the use request information If the second number determined to be correlated with the scope of work exceeds the preset second threshold number, the scope of work is included in the scope of work of all executives and employees who share the scope of work, and the scope of work is If it is less than the first threshold number of times and the second number of times exceeds the second threshold number of times, the job scope may be included in the job scope of the employee using the employee terminal.

이 때, 상기 프로세서는, 상기 임직원단말로부터 상기 임직원단말에 설치되어 있는 복수개의 제2 소프트웨어의 소프트웨어이름, 라이센스정보에 관한 설치정보를 수신하고, 상기 메모리에 저장되어 있는 소프트웨어용도DB를 기반으로 상기 제2 소프트웨어의 사용용도를 구분하고, 상기 사용용도가 개인사용용도인 경우, 상기 제2 소프트웨어의 소프트웨어이름과 상기 메모리에 저장되어 있는 블랙리스트DB를 비교하여, 상기 블랙리스트DB에 포함되는 경우, 강제삭제명령어를 상기 임직원단말로 송신하고, 상기 블랙리스트DB에 포함되지 않은 경우, 사용자제권고메시지를 상기 임직원단말로 송신하고, 상기 사용용도가 업무사용용도인 경우, 상기 라이센스정보를 기반으로 정품라이센스를 보유하고 있는지 확인하고, 상기 정품라이센스를 보유하지 않은 경우, 상기 임직원단말에 대한 상기 제2 소프트웨어의 사용요청정보를 생성하고, 상기 정품라이센스를 보유하고 있고, 상기 정품라이센스가 개인용인 경우, 상기 임직원단말에 대한 상기 제2 소프트웨어의 사용요청정보를 생성하고, 상기 정품라이센스를 보유하고 있고, 상기 정품라이센스가 기업용인 경우, 상기 설치정보에 상기 임직원단말에 설치되어 있는 상기 제2 소프트웨어의 사용허가정보를 추가할 수 있다.At this time, the processor receives installation information about software names and license information of a plurality of second software installed in the employee terminal from the employee terminal, and based on the software use DB stored in the memory, Classify the purpose of use of the second software, and if the purpose of use is personal use, compare the software name of the second software with the blacklist DB stored in the memory, and if included in the blacklist DB, A forced deletion command is sent to the employee terminal, and if it is not included in the blacklist DB, a user restriction message is sent to the employee terminal. Check whether a license is possessed, and if the genuine license is not possessed, generate request information for use of the second software for the employee terminal, possess the genuine license, and if the genuine license is for personal use, Use of the second software installed in the employee terminal is included in the installation information when use request information of the second software is generated for the employee terminal, the genuine license is possessed, and the genuine license is for business use. Permission information can be added.

이 때, 상기 프로세서는, 상기 소프트웨어의 상기 업무범위가 포함된 직무범위를 가지는 임직원의 제1 인원수, 상기 소프트웨어에 대한 상기 사용요청정보 및 상기 소프트웨어가 사용된 제1 업무의 업무량을 기반으로 상기 소프트웨어의 필요개수를 산출하고, 상기 소프트웨어의 보유개수와 상기 필요개수의 차이만큼 상기 소프트웨어의 구매요청정보를 생성하여 상기 관리자단말로 송신할 수 있다.At this time, the processor, based on the first number of executives and employees having a job scope that includes the job scope of the software, the use request information for the software, and the workload of the first job in which the software is used, the software The required number of software may be calculated, and purchase request information for the software may be generated by a difference between the number of possessions of the software and the required number, and transmitted to the manager terminal.

이 때, 상기 프로세서는, 기설정된 기간동안 유입된 상기 제1 업무의 유입건수를 기반으로 상기 제1 업무의 평균유입간격기간을 산출하고, 상기 평균유입간격기간 및 상기 제1 업무의 평균처리기간을 기반으로 업무중첩지수를 산출하고, 상기 업무중첩지수와 상기 제1 인원수를 비교하여, 상기 업무중첩지수가 상기 제1 인원수를 초과하는 경우, 상기 제1 인원수를 상기 필요개수로 설정하고, 상기 업무중첩지수가 상기 제1 인원수 이하인 경우, 상기 업무중첩지수의 반올림된 정수값을 상기 필요개수로 설정할 수 있다.At this time, the processor calculates an average inflow interval period of the first task based on the number of inflow cases of the first task that has flowed in during a predetermined period, and the average inflow interval period and the average processing period of the first task Calculate a work overlap index based on, compare the work overlap index and the first number of people, and when the work overlap index exceeds the first number of people, set the first number of people to the required number, When the work overlap index is less than or equal to the first number of people, a rounded integer value of the work overlap index may be set as the required number.

이 때, 상기 프로세서는, 상기 구매요청정보를 생성하되, 상기 소프트웨어의 사용요청정보를 기반으로 일시적사용을 위한 임시구매가 필요한 것인지, 영구적사용을 위한 영구구매가 필요한 것인지 여부를 판단하고, 임시구매가 필요한 것으로 판단된 경우, 상기 소프트웨어의 라이센스를 기간라이센스로 구매하도록 상기 구매요청정보를 생성하고, 영구구매가 필요한 것으로 판단된 경우, 상기 소프트웨어의 라이센스를 영구라이센스로 구매하도록 상기 구매요청정보를 생성할 수 있다.At this time, the processor generates the purchase request information, determines whether a temporary purchase for temporary use or a permanent purchase for permanent use is required based on the software use request information, and determines whether a temporary purchase is required for permanent use. If it is determined that the software license is necessary, the purchase request information is generated to purchase the software license as a term license, and if it is determined that permanent purchase is necessary, the purchase request information is generated to purchase the software license as a permanent license. can do.

이 때, 상기 프로세서는, 아래 수학식을 만족하는 경우, 임시구매가 필요한 것으로 판단하고, 아래 수학식을 만족하지 못하는 경우, 영구구매가 필요한 것으로 판단하되,At this time, the processor determines that temporary purchase is necessary when the following equation is satisfied, and determines that permanent purchase is necessary when the following equation is not satisfied,

Figure 112022067367928-pat00001
Figure 112022067367928-pat00001

NoTR(Number of Total SW Request)는 상기 소프트웨어의 누적된 전체 사용요청정보의 수를 의미하고, NoRR(Number of Recent SW Request)는 기설정된 제1 시점부터 현재시점까지 수신된 상기 소프트웨어에 대한 사용요청정보의 최근요청횟수를 의미하고, NoPR(Number of Past Request)는 상기 제1 시점보다 과거로 설정된 제2 시점부터 상기 제1 시점까지 수신된 상기 소프트웨어에 대한 사용요청정보의 과거요청횟수를 의미할 수 있다.NoTR (Number of Total SW Request) means the number of accumulated total use request information of the software, and NoRR (Number of Recent SW Request) is the use request for the software received from the first time to the present time. It means the number of recent requests for information, and NoPR (Number of Past Request) means the number of past requests for the use request information for the software received from the second time point set to the past from the first time point to the first time point. can

이와 같이 본 발명의 일 실시예에 따르면, 소프트웨어 자산 관리서비스 제공 장치 및 방법을 제공할 수 있다.As described above, according to an embodiment of the present invention, a software asset management service providing apparatus and method may be provided.

본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The effects obtainable in the present invention are not limited to the effects mentioned above, and other effects not mentioned can be clearly understood by those skilled in the art from the description below. will be.

본 발명의 특정한 바람직한 실시예들의 상기에서 설명한 바와 같은 또한 다른 측면들과, 특징들 및 이득들은 첨부 도면들과 함께 처리되는 하기의 설명으로부터 보다 명백하게 될 것이다.
도 1은 본 발명의 일 실시예에 따른 소프트웨어 자산 관리서비스 제공 장치의 개념도이다.
도 2는 본 발명의 일 실시예에 따른 전자 장치의 블록도이다.
도 3은 본 발명의 일 실시예에 따라 임직원단말에 설치된 소프트웨어를 모니터링하는 흐름도이다.
도 4는 본 발명의 일 실시예에 따라 기업이 보유한 소프트웨어를 추가하는 예시도이다.
도 5는 본 발명의 일 실시예에 따라 임직원에게 라이센스를 부여하는 예시도이다.
도 6은 본 발명의 일 실시예에 따라 임직원의 사용요청정보의 생성 및 관리자의 사용승인을 나타내는 도면이다.
도 7은 본 발명의 일 실시예에 따른 소프트웨어 자산 관리서비스 제공 방법의 흐름도이다.
상기 도면들을 통해, 유사 참조 번호들은 동일한 혹은 유사한 엘리먼트들과, 특징들 및 구조들을 도시하기 위해 사용된다는 것에 유의해야만 한다.
Also other aspects as described above, features and benefits of certain preferred embodiments of the present invention will become more apparent from the following description taken in conjunction with the accompanying drawings.
1 is a conceptual diagram of a software asset management service providing device according to an embodiment of the present invention.
2 is a block diagram of an electronic device according to an embodiment of the present invention.
3 is a flowchart for monitoring software installed in an employee terminal according to an embodiment of the present invention.
4 is an exemplary view of adding software possessed by a company according to an embodiment of the present invention.
5 is an exemplary view of granting a license to executives and employees according to an embodiment of the present invention.
6 is a diagram illustrating the generation of use request information of executives and employees and approval of use by a manager according to an embodiment of the present invention.
7 is a flowchart of a software asset management service providing method according to an embodiment of the present invention.
It should be noted that throughout the drawings, like reference numbers are used to show the same or similar elements, features and structures.

이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

실시예를 설명함에 있어서 본 발명이 속하는 기술 분야에 익히 알려져 있고 본 발명과 직접적으로 관련이 없는 기술 내용에 대해서는 설명을 생략한다. 이는 불필요한 설명을 생략함으로써 본 발명의 요지를 흐리지 않고 더욱 명확히 전달하기 위함이다.In describing the embodiments, descriptions of technical contents that are well known in the technical field to which the present invention pertains and are not directly related to the present invention will be omitted. This is to more clearly convey the gist of the present invention without obscuring it by omitting unnecessary description.

마찬가지 이유로 첨부 도면에 있어서 일부 구성요소는 과장되거나 생략되거나 개략적으로 도시되었다. 또한, 각 구성요소의 크기는 실제 크기를 전적으로 반영하는 것이 아니다. 각 도면에서 동일한 또는 대응하는 구성요소에는 동일한 참조 번호를 부여하였다.For the same reason, in the accompanying drawings, some components are exaggerated, omitted, or schematically illustrated. Also, the size of each component does not entirely reflect the actual size. In each figure, the same reference number is assigned to the same or corresponding component.

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.Advantages and features of the present invention, and methods for achieving them, will become clear with reference to the embodiments described below in detail in conjunction with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but may be implemented in various different forms, and only the present embodiments make the disclosure of the present invention complete, and common knowledge in the art to which the present invention belongs It is provided to fully inform the holder of the scope of the invention, and the present invention is only defined by the scope of the claims. Like reference numbers designate like elements throughout the specification.

이때, 처리 흐름도 도면들의 각 블록과 흐름도 도면들의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수 있음을 이해할 수 있을 것이다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 흐름도 블록(들)에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 흐름도 블록(들)에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 흐름도 블록(들)에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.At this time, it will be understood that each block of the process flow chart diagrams and combinations of the flow chart diagrams can be performed by computer program instructions. These computer program instructions may be embodied in a processor of a general purpose computer, special purpose computer, or other programmable data processing equipment, so that the instructions executed by the processor of the computer or other programmable data processing equipment are described in the flowchart block(s). It creates means to perform functions. These computer program instructions may also be stored in a computer usable or computer readable memory that can be directed to a computer or other programmable data processing equipment to implement functionality in a particular way, such that the computer usable or computer readable memory The instructions stored in are also capable of producing an article of manufacture containing instruction means that perform the functions described in the flowchart block(s). The computer program instructions can also be loaded on a computer or other programmable data processing equipment, so that a series of operational steps are performed on the computer or other programmable data processing equipment to create a computer-executed process to generate computer or other programmable data processing equipment. Instructions for performing processing equipment may also provide steps for performing the functions described in the flowchart block(s).

또한, 각 블록은 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실행 예들에서는 블록들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.Additionally, each block may represent a module, segment, or portion of code that includes one or more executable instructions for executing specified logical function(s). It should also be noted that in some alternative implementations it is possible for the functions mentioned in the blocks to occur out of order. For example, two blocks shown in succession may in fact be executed substantially concurrently, or the blocks may sometimes be executed in reverse order depending on their function.

이 때, 본 실시 예에서 사용되는 '~부'라는 용어는 소프트웨어 또는 FPGA(field-Programmable Gate Array) 또는 ASIC(Application Specific Integrated Circuit)과 같은 하드웨어 구성요소를 의미하며, '~부'는 어떤 역할들을 수행한다. 그렇지만 '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다. 구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로 더 분리될 수 있다. 뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU들을 재생시키도록 구현될 수도 있다.At this time, the term '~unit' used in this embodiment means software or a hardware component such as a field-programmable gate array (FPGA) or application specific integrated circuit (ASIC), and what role does '~unit' have? perform them However, '~ part' is not limited to software or hardware. '~bu' may be configured to be in an addressable storage medium and may be configured to reproduce one or more processors. Therefore, as an example, '~unit' refers to components such as software components, object-oriented software components, class components, and task components, processes, functions, properties, and procedures. , subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays, and variables. Functions provided within components and '~units' may be combined into smaller numbers of components and '~units' or further separated into additional components and '~units'. In addition, components and '~units' may be implemented to play one or more CPUs in a device or a secure multimedia card.

본 발명의 실시예들을 구체적으로 설명함에 있어서, 특정 시스템의 예를 주된 대상으로 할 것이지만, 본 발명에서 청구하고자 하는 주요한 요지는 유사한 기술적 배경을 가지는 여타의 통신 시스템 및 서비스에도 본 발명에 개시된 범위를 크게 벗어나지 아니하는 범위에서 적용 가능하며, 이는 당해 기술분야에서 숙련된 기술적 지식을 가진 자의 판단으로 가능할 것이다.In describing the embodiments of the present invention in detail, an example of a specific system will be the main target, but the main subject matter to be claimed in the present invention extends the scope disclosed in the present invention to other communication systems and services having a similar technical background. It can be applied within a range that does not deviate greatly, and this will be possible with the judgment of those skilled in the art.

도 1은 본 발명의 일 실시예에 따른 소프트웨어 자산 관리서비스 제공 장치(100)의 개념도이다.1 is a conceptual diagram of a software asset management service providing apparatus 100 according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 일 실시예에 따른 소프트웨어 자산 관리서비스 제공 장치(100)는 기업이 보유하고 있는 소프트웨어 자산의 라이센스를 관리하고, 필요한 임직원에게 분배하며, 임직원의 임직원단말(300)에 설치된 소프트웨어를 모니터링하여 저작권 등의 분쟁리스크를 사전에 방지할 수 있다. 한편, 소프트웨어 자산 관리서비스 제공 장치(100)는 본 발명에서 '전자 장치(100)'로 호칭될 수도 있다.Referring to FIG. 1, an apparatus 100 for providing software asset management services according to an embodiment of the present invention manages licenses of software assets possessed by a company, distributes licenses to necessary executives and employees, and provides an employee terminal 300 of executives and employees. You can prevent risks of disputes such as copyrights in advance by monitoring the software installed on the computer. Meanwhile, the software asset management service providing device 100 may be referred to as 'electronic device 100' in the present invention.

이 때, 관리자단말(200) 및 임직원단말(300)은 통신 가능한 데스크탑 컴퓨터(desktop computer), 랩탑 컴퓨터(laptop computer), 노트북(notebook), 스마트폰(smart phone), 태블릿 PC(tablet PC), 모바일폰(mobile phone), 스마트 워치(smart watch), 스마트 글래스(smart glass), e-book 리더기, PMP(portable multimedia player), 휴대용 게임기, 네비게이션(navigation) 장치, 디지털 카메라(digital camera), DMB(digital multimedia broadcasting) 재생기, 디지털 음성 녹음기(digital audio recorder), 디지털 음성 재생기(digital audio player), 디지털 동영상 녹화기(digital video recorder), 디지털 동영상 재생기(digital video player), PDA(Personal Digital Assistant) 등을 포함할 수 있다.At this time, the manager terminal 200 and the employee terminal 300 are communicable desktop computers, laptop computers, notebooks, smart phones, tablet PCs, Mobile phone, smart watch, smart glass, e-book reader, portable multimedia player (PMP), portable game device, navigation device, digital camera, DMB (digital multimedia broadcasting) player, digital audio recorder, digital audio player, digital video recorder, digital video player, personal digital assistant (PDA), etc. can include

도 2는 본 발명의 일 실시예에 따른 전자 장치(100)의 블록도이다.2 is a block diagram of an electronic device 100 according to an embodiment of the present invention.

일 실시예에 따른 전자 장치(100)는 프로세서(110) 및 메모리(120)를 포함한다. 프로세서(110)는 전술한 적어도 하나의 방법을 수행할 수 있다. 메모리(120)는 상술한 방법과 관련된 정보를 저장하거나 상술한 방법이 구현된 프로그램을 저장할 수 있다. 메모리(120)는 휘발성 메모리 또는 비휘발성 메모리일 수 있다. 메모리(120)는 '데이터베이스', '저장부' 등으로 호칭될 수 있다.An electronic device 100 according to an embodiment includes a processor 110 and a memory 120 . The processor 110 may perform at least one method described above. The memory 120 may store information related to the above method or store a program in which the above method is implemented. Memory 120 may be volatile memory or non-volatile memory. The memory 120 may be referred to as a 'database', a 'storage unit', or the like.

프로세서(110)는 프로그램을 실행하고, 전자 장치(100)를 제어할 수 있다. 프로세서(110)에 의하여 실행되는 프로그램의 코드는 메모리(120)에 저장될 수 있다. 장치(100)는 입출력 장치(미도시)를 통하여 외부 장치(예를 들어, 퍼스널 컴퓨터 또는 네트워크)에 연결되고, 데이터를 교환할 수 있다.The processor 110 may execute a program and control the electronic device 100 . Program codes executed by the processor 110 may be stored in the memory 120 . The device 100 may be connected to an external device (eg, a personal computer or network) through an input/output device (not shown) and exchange data.

이 때, 상기 프로세서(110)는, 관리자단말(200)로부터 기업이 보유하고 있는 소프트웨어의 설치파일 및 라이센스정보를 수신할 수 있다.At this time, the processor 110 may receive, from the manager terminal 200, an installation file and license information of software possessed by the company.

이 때, 상기 소프트웨어는 유료소프트웨어에 관한 것으로써, 예를 들면, 일러스트레이터, 마이크로소프트오피스, 한글, 캐드, 포토샵 등일 수 있다. 따라서, 상기 설치파일은 해당 소프트웨어의 설치파일을 의미하고, 상기 라이센스정보는 해당 소프트웨어의 정품 라이센스 번호 또는 계정 등 정품 라이센스를 인증하는 어떠한 수단도 포함할 수 있다.At this time, the software is related to paid software, and may be, for example, illustrator, Microsoft Office, Hangul, CAD, Photoshop, and the like. Accordingly, the installation file means an installation file of corresponding software, and the license information may include any means for authenticating a genuine license such as a genuine license number or account of the corresponding software.

이 때, 관리자단말(200)은 기업내에서 소프트웨어 자산을 관리하는 관리자가 사용하는 단말일 수 있다.At this time, the manager terminal 200 may be a terminal used by a manager who manages software assets within the enterprise.

또한, 상기 프로세서(110)는 임직원단말(300)로부터 제1 소프트웨어의 소프트웨어이름 및 사용요청사유를 포함하는 사용요청정보를 수신할 수 있다.In addition, the processor 110 may receive use request information including a software name of the first software and a use request reason from the employee terminal 300 .

이 때, 사용요청사유는 자연어 기반으로 작성될 수 있고, 후술하는 바와 같이 인공지능모듈을 통하여 키워드가 추출될 수 있다.At this time, the reason for requesting use may be written based on natural language, and keywords may be extracted through an artificial intelligence module as will be described later.

또한, 상기 프로세서(110)는 상기 사용요청정보를 기반으로 사용허가여부를 판단하여 상기 임직원단말(300)로 상기 제1 소프트웨어의 설치파일 및 라이센스정보를 송신할 수 있다. In addition, the processor 110 may determine whether use is permitted based on the use request information, and may transmit an installation file and license information of the first software to the employee terminal 300 .

라이센스가 필요한 소프트웨어는 특정 업무에 특화되어 있는 경우가 대부분이다. 예를 들어, 동영상 편집 프로그램인 프리미어는 동영상 편집에만 특화되어 있고, 이미지편집이나 문서작업에는 사용되기 어렵다. In most cases, software that requires a license is specialized for a specific task. For example, Premiere, a video editing program, is specialized only for video editing and is difficult to use for image editing or document work.

따라서, 소프트웨어는 사용될 수 있는 업무범위가 정해질 수 있다.Thus, the scope of work in which the software can be used can be defined.

또한, 라이센스가 있는 소프트웨어는 기업이 비용을 지불하고 구매한 것으로써, 무제한으로 가지고 있기 어렵다. 따라서, 한정된 소프트웨어를 필요한 임직원에게 적절하게 분배하는 것이 매우 중요하다.In addition, licensed software is purchased by a company after paying a fee, so it is difficult to have it indefinitely. Therefore, it is very important to properly distribute limited software to executives and employees who need it.

이를 판단하는 기준으로는 임직원의 직무범위에 상기 업무범위가 포함되는지 여부가 있을 수 있다.The criterion for judging this may be whether the above scope of work is included in the scope of duties of the employee.

보다 상세하게 살펴보면, 상기 프로세서(110)는, 상기 관리자단말(200)로부터 상기 소프트웨어별로 상기 소프트웨어가 사용되는 업무범위에 관한 정보를 수신할 수 있다.In more detail, the processor 110 may receive information about the scope of work in which the software is used for each software from the manager terminal 200 .

이 때, 상기 업무범위는 '문서 작업', '이미지 편집', '동영상 편집', '홈페이지 제작', '일러스트 작업', '도면 설계', '3D 모델링' 등 소프트웨어에 특화된 기능을 중심으로 설정될 수 있다.At this time, the scope of work is set around software-specific functions such as 'document work', 'image editing', 'video editing', 'homepage production', 'illustration work', 'drawing design', and '3D modeling'. It can be.

또한, 상기 프로세서(110)는, 상기 사용요청정보를 송신한 임직원의 직무범위와 상기 업무범위를 비교하여, 상기 직무범위에 상기 업무범위가 포함되는 경우, 상기 사용요청정보에 대응하는 상기 제1 소프트웨어의 설치파일, 라이센스정보 및 제1 사용기한을 상기 임직원단말(300)로 송신할 수 있다.In addition, the processor 110 compares the job scope with the job scope of the employee who has transmitted the use request information, and if the job scope includes the job scope, the first corresponding to the use request information. The software installation file, license information, and first expiration date may be transmitted to the employee terminal 300 .

이 때, 상기 직무범위는 '소프트웨어 개발', '웹디자인', '그래픽 디자인', '영상연출', '영상편집' 등 임직원의 수행하고 있는 직무에 관한 것일 수 있다.In this case, the job scope may be related to duties performed by executives and employees, such as 'software development', 'web design', 'graphic design', 'video production', and 'video editing'.

이 때, 직무범위와 업무범위에 대한 비교예를 들면, '웹디자인'이란 직무범위에는 '이미지 편집', '홈페이지 제작', '일러스트 작업' 등의 업무범위가 포함될 수 있다.At this time, as an example of a comparison between the job scope and the work scope, the job scope of 'web design' may include work scopes such as 'image editing', 'website production', and 'illustration work'.

이 때, 상기 제1 사용기한은 관리자가 임의로 설정한 기간일 수 있다. 이는 제한된 소프트웨어 라이센스를 한사람이 독점하는 것을 방지하기 위한 것으로써, 1주일, 1달 등으로 설정될 수 있다. 이 때, 상기 제1 사용기한이 종료하면 상기 라이센스정보를 강제로 회수할 수도 있고, 또는 해당 임직원단말(300)로 해당 라이센스정보를 회수요청할 수도 있다.In this case, the first usage period may be a period arbitrarily set by an administrator. This is to prevent one person monopolizing the limited software license, and can be set to one week, one month, and the like. At this time, when the first usage period expires, the license information may be forcibly retrieved, or the corresponding license information may be requested to be retrieved from the employee's terminal 300 .

임직원은 일반적으로 자신의 직무범위 내에서 일을 한다. 그러나, 예외적으로 자신의 직무범위를 벗어나는 일을 수행하는 경우가 발생하기도 하고, 이 때, 그에 해당하는 소프트웨어 라이센스가 필요한 상황이 발생할 수도 있다. 따라서, 직무범위에 업무범위가 포함되지 않다고 하더라도 사용요청사유를 기반으로 일시적으로 사용할 수 있도록 라이센스를 제공하는 것이 바람직하다.Employees generally work within the scope of their duties. However, there are exceptional cases in which work outside the scope of one's duties may occur, and at this time, a situation in which a corresponding software license may be required may occur. Therefore, even if the scope of work does not include the scope of work, it is desirable to provide a license for temporary use based on the reason for requesting use.

따라서, 상기 프로세서(110)는, 상기 직무범위에 상기 업무범위가 포함되지 않는 경우, 인공지능모듈을 통하여, 상기 사용요청사유와 상기 업무범위가 상관관계에 있는 것으로 나타나면 상기 제1 사용기한보다 짧게 기설정된 제2 사용기한으로 상기 제1 소프트웨어의 설치파일 및 라이센스정보를 상기 임직원단말(300)로 송신할 수 있다.Therefore, when the processor 110 does not include the job scope in the job scope, the artificial intelligence module determines that the reason for the use request and the job scope are correlated with a shorter than the first usage period. The installation file and license information of the first software may be transmitted to the employee's terminal 300 with a predetermined second usage period.

이 때, 상기 사용요청사유와 상기 업무범위가 상관관계에 있는지 판단하기 위하여 인공지능모듈을 사용할 수 있다.At this time, an artificial intelligence module may be used to determine whether the reason for requesting use and the scope of work are correlated.

보다 상세하게 살펴보면, 상기 프로세서(110)는, 인공지능모듈을 통하여, 상기 사용요청정보에 포함되는 전체 문자중에서 조사를 제외한 제1 키워드를 추출할 수 있다. Looking in more detail, the processor 110 may extract a first keyword excluding postpositional words from all characters included in the use request information through an artificial intelligence module.

또한, 상기 프로세서(110)는, 상기 제1 키워드 중에서 기설정된 직무키워드 및 업무키워드와 대응되는 제2 키워드를 추출할 수 있다. In addition, the processor 110 may extract a predetermined job keyword and a second keyword corresponding to the job keyword from among the first keywords.

예를 들면, 상기 사용요청정보가 '홈페이지 이미지를 수정하기 위하여 사용요청합니다.' 인 경우, 상기 제1 키워드는 '홈페이지, 이미지, 수정, 사용요청'일 수 있고, 상기 제2 키워드는 '홈페이지, 이미지, 수정' 일 수 있다.For example, the above use request information is 'request to use to modify the homepage image.' , the first keyword may be 'homepage, image, modification, use request', and the second keyword may be 'homepage, image, modification'.

이 때, 상기 프로세서(110)는, 워드임베딩을 통하여 상기 제2 키워드와 상기 업무범위에 포함되는 업무키워드와의 유사여부를 판단하여, 유사한 것으로 판단되는 경우, 상기 사용요청사유와 상기 업무범위는 상관관계에 있는 것으로 판단하고, 유사하지 않은 것으로 판단되는 경우, 상기 사용요청사유와 상기 업무범위는 상관관계에 있지 않은 것으로 판단할 수 있다.At this time, the processor 110 determines whether the second keyword is similar to the task keyword included in the task scope through word embedding, and if it is determined that the second keyword is similar, the reason for the use request and the task scope are If it is determined that there is a correlation and it is determined that they are not similar, it may be determined that the reason for requesting use and the scope of work are not correlated.

이 때, 상기 인공지능모듈은 머신러닝의 한 분야인 딥러닝(Deep Learning) 기법을 이용하여, 제1 키워드, 제2 키워드를 추출하는 기계학습모델과, 상기 제2 키워드와 상기 업무범위에 포함되는 업무키워드와의 유사여부를 판단하는 기계학습모델을 생성할 수 있다. At this time, the artificial intelligence module uses a deep learning technique, a field of machine learning, to extract a first keyword and a second keyword, a machine learning model, and the second keyword included in the scope of work. It is possible to create a machine learning model that determines the similarity with the work keyword to be used.

또한, 인공지능모듈은 딥러닝을 통하여 상기 함수에서의 복수 개의 입력들의 가중치(weight)를 학습을 통하여 산출할 수 있다. 또한, 이러한 학습을 위하여 활용되는 인공지능망 모델로는 RNN(Recurrent Neural Network), DNN(Deep Neural Network) 및 DRNN(Dynamic Recurrent Neural Network) 등 다양한 모델들을 활용할 수 있을 것이다. In addition, the artificial intelligence module may calculate weights of a plurality of inputs in the function through deep learning through learning. In addition, various models such as RNN (Recurrent Neural Network), DNN (Deep Neural Network), and DRNN (Dynamic Recurrent Neural Network) can be used as artificial intelligence network models used for such learning.

여기서 RNN은 현재의 데이터와 과거의 데이터를 동시에 고려하는 딥러닝 기법으로서, 순환 신경망(RNN)은 인공 신경망을 구성하는 유닛 사이의 연결이 방향성 사이클(directed cycle)을 구성하는 신경망을 나타낸다. 나아가, 순환 신경망(RNN)을 구성할 수 있는 구조에는 다양한 방식이 사용될 수 있는데, 예컨대, 완전순환망(Fully Recurrent Network), 홉필드망(Hopfield Network), 엘만망(Elman Network), ESN(Echo state network), LSTM(Long short term memory network), 양방향(Bi-directional) RNN, CTRNN(Continuous-time RNN), 계층적 RNN, 2차 RNN 등이 대표적인 예이다. 또한, 순환 신경망(RNN)을 학습시키기 위한 방법으로서, 경사 하강법, Hessian Free Optimization, Global Optimization Method 등의 방식이 사용될 수 있다.Here, RNN is a deep learning technique that simultaneously considers current data and past data, and recurrent neural network (RNN) represents a neural network in which connections between units constituting an artificial neural network constitute a directed cycle. Furthermore, various methods can be used for the structure capable of configuring the recurrent neural network (RNN), for example, a Fully Recurrent Network, a Hopfield Network, an Elman Network, ESN (Echo state network), long short term memory network (LSTM), bi-directional RNN, continuous-time RNN (CTRNN), hierarchical RNN, and quadratic RNN are representative examples. In addition, as a method for learning a recurrent neural network (RNN), methods such as gradient descent, Hessian Free Optimization, and Global Optimization Method may be used.

임직원의 직무범위와 소프트웨어의 업무범위를 기반으로 사용허가를 내주는 것이 바람직하나, 해당 임직원이 자신의 직무범위에 포함되어 있지 않은 업무범위의 소프트웨어의 사용요청을 지속적으로 하는 경우, 해당 임직원의 직무범위를 변경할 필요가 있다. 왜냐하면, 지속적인 사용요청이란, 해당 업무범위의 일을 현재 계속 수행하고 있다는 것으로써, 해당 임직원의 직무범위가 확장됐다는 것으로 해석할 수 있기 때문이다. It is desirable to grant permission for use based on the employee’s job scope and software business scope, but if the employee continuously requests the use of software in a business scope that is not included in his or her job scope, the employee’s duties You need to change the scope. This is because the continuous request for use can be interpreted as saying that the scope of work of the relevant employee has been expanded, as it means that he is currently continuing to perform the work within the scope of the job.

따라서, 상기 프로세서(110)는, 임직원단말(300)로부터 상기 직무범위에 상기 업무범위가 포함되지 않는 상기 사용요청정보를 수신한 제1 횟수가 기설정된 제1 임계횟수를 초과하고, 상기 사용요청정보에 대응하여 상기 업무범위와 상관관계가 있는 것으로 판단된 제2 횟수가 기설정된 제2 임계횟수를 초과하는 경우, 상기 직무범위를 공유하는 전체 임직원의 직무범위에 상기 업무범위를 포함시킬 수 있다. Therefore, the processor 110, the first number of times of receiving the use request information not included in the job scope from the employee terminal 300 exceeds the first predetermined threshold number of times, the use request In response to the information, if the second number determined to be correlated with the scope of work exceeds the preset second threshold number, the scope of work may be included in the scope of work of all executives and employees who share the scope of work. .

이 때, 상기 제1 임계횟수 및 상기 제2 임계횟수는 상기 관리자가 임의로 설정할 수 있다.At this time, the first threshold number of times and the second threshold number of times may be arbitrarily set by the manager.

이 때, 상기 사용요청정보의 제1 횟수가 많다는 것은 해당 소프트웨어를 사용해야 할 일의 양이 많다는 것이고, 상기 제2 횟수가 많다는 것은 실제 해당 업무의 수행횟수가 많다는 것을 의미하기 때문에, 상기 직무범위를 공유하는 다른 임직원도 해당 소프트웨어의 사용요청을 할 가능성이 높기 때문에, 리소스 절약차원에서 사전에 직무범위를 확장하는 것이다. At this time, since the first number of times of the use request information is high, the amount of work to be used for the corresponding software is large, and the second number of times is high, which means that the number of times of actually performing the corresponding task is high. Since other executives and employees sharing the software are highly likely to request the use of the software, the scope of work is expanded in advance to save resources.

또한, 상기 프로세서(110)는, 상기 제1 횟수가 상기 제1 임계횟수 이하이고, 상기 제2 횟수가 상기 제2 임계횟수를 초과하는 경우, 상기 임직원단말(300)을 사용하는 임직원의 직무범위에 상기 업무범위를 포함시킬 수 있다.In addition, the processor 110, when the first number is less than the first threshold number of times and the second number exceeds the second threshold number of times, the job range of the employee using the employee terminal 300 can include the above scope of work.

이는, 상기 직무범위를 가진 임직원이 해당 소프트웨어를 사용해야 하는 일의 전체양은 많지 않으나, 해당 임직원은 필요한 경우가 많은 경우로써, 추후 해당 임직원이 또다시 사용요청을 할 가능성이 높기 때문에 리소스 절약차원에서 사전에 직무범위를 확장하는 것이다.This is a case where the total amount of work for the executives and employees with the above job scopes to use the software is not large, but there are many cases where the executives and employees need to use the software. to expand the scope of work.

도 3은 본 발명의 일 실시예에 따라 임직원단말(300)에 설치된 소프트웨어를 모니터링하는 흐름도이다.3 is a flowchart for monitoring software installed in an employee terminal 300 according to an embodiment of the present invention.

임직원이 사용하는 임직원단말(300)에 허가되지 않거나, 라이센스 없이 사용하는 소프트웨어가 있는 경우, 기업 입장에서 불안할 수 있다. 따라서, 임직원단말(300)에 설치된 소프트웨어를 지속적으로 모니터링 하여 불안요소를 사전에 제거하는 것이 바람직하다.If there is software that is not permitted or used without a license in the employee terminal 300 used by the employee, it may be uneasy from the point of view of the company. Therefore, it is desirable to continuously monitor the software installed in the employee's terminal 300 to remove insecurity factors in advance.

이를 위하여, 상기 프로세서(110)는, 상기 임직원단말(300)로부터 상기 임직원단말(300)에 설치되어 있는 복수개의 제2 소프트웨어의 소프트웨어이름, 라이센스정보에 관한 설치정보를 수신할 수 있다.To this end, the processor 110 may receive, from the employee terminal 300 , software names of a plurality of second software installed in the employee terminal 300 and installation information about license information.

또한, 상기 프로세서(110)는, 상기 메모리에 저장되어 있는 소프트웨어용도DB를 기반으로 상기 제2 소프트웨어의 사용용도를 구분할 수 있다. 이 때, 상기 사용용도는 개인사용용도 및 업무사용용도로 구분할 수 있다. 이 때, 상기 사용용도가 개인사용용도인 소프트웨어란, 카카오톡, 토렌트, 게임 등과 같이 업무와는 관계없는 소프트웨어를 의미하고, 상기 사용용도가 업무사용용도인 소프트웨어란 오피스, 한글 등과 같이 업무에 사용되는 소프트웨어를 의미할 수 있다.In addition, the processor 110 may classify the purpose of use of the second software based on the software purpose DB stored in the memory. In this case, the purpose of use may be divided into personal use and business use. At this time, software for personal use means software that is not related to work, such as KakaoTalk, Torrent, and games, and software for business use means software used for work, such as Office and Hangul. software that can be

이 때, 상기 프로세서(110)는, 상기 사용용도가 개인사용용도인 경우, 상기 제2 소프트웨어의 소프트웨어이름과 상기 메모리에 저장되어 있는 블랙리스트DB를 비교하여, 상기 블랙리스트DB에 포함되는 경우, 강제삭제명령어를 상기 임직원단말(300)로 송신하고, 상기 블랙리스트DB에 포함되지 않은 경우, 사용자제권고메시지를 상기 임직원단말(300)로 송신할 수 있다.At this time, if the purpose of use is personal use, the processor 110 compares the software name of the second software with the blacklist DB stored in the memory, and if included in the blacklist DB, A forced deletion command may be transmitted to the employee terminal 300 and, if not included in the blacklist DB, a user restriction message may be transmitted to the employee terminal 300 .

이 때, 상기 블랙리스트DB는 상기 임직원단말(300) 자체에 위협이 되거나 상기 임직원단말(300)과 네트워크를 공유하는 다른 임직원단말(300)에도 위협이 될 수 있는 소프트웨어에 관한 것으로써, 예를 들면, 토렌트, 암호화폐채굴프로그램 등이 포함될 수 있다. 따라서, 상기 블랙리스트DB에 포함되는 소프트웨어의 경우 임직원의 동의없이 바로 삭제할 수 있도록 상기 강제삭제명령어를 상기 임직원단말(300)로 송신할 수 있다. At this time, the blacklist DB relates to software that may be a threat to the employee terminal 300 itself or to other employee terminals 300 that share a network with the employee terminal 300, for example. For example, torrents, cryptocurrency mining programs, etc. may be included. Accordingly, in the case of software included in the blacklist DB, the forcible deletion command may be transmitted to the employee terminal 300 so that the software can be immediately deleted without the employee's consent.

또한, 상기 블랙리스트DB에 포함되지 않은 소프트웨어라도, 개인사용용도의 소프트웨어는 업무에 도움이 되기 어려움으로 강제삭제하지는 않고, 해당 임직원에게 사용자제를 권고하는 메시지를 송신할 수 있다.In addition, even if the software is not included in the blacklist DB, the software for personal use is difficult to help work, so it is not forcibly deleted, and a message recommending user restrictions can be sent to the employee.

또한, 상기 프로세서(110)는, 상기 사용용도가 업무사용용도인 경우, 상기 라이센스정보를 기반으로 정품라이센스를 보유하고 있는지 확인하고, 상기 정품라이센스를 보유하지 않은 경우, 상기 임직원단말(300)에 대한 상기 제2 소프트웨어의 사용요청정보를 생성할 수 있다.In addition, if the purpose of use is business use, the processor 110 checks whether a genuine license is held based on the license information, and if not, the processor 110 determines whether a genuine license is held, and sends the information to the employee terminal 300. Use request information of the second software for the second software may be generated.

업무사용용도라고 하더라도, 정품라이센스 없이 사용하는 경우, 해당 소프트웨어의 권리자로부터 권리행사(손해배상)를 받을 수 있어, 기업의 입장에서는 리스크로 작용될 수 있다.Even if it is for business use, if you use it without a genuine license, you can receive the exercise of rights (compensation for damages) from the right holder of the software, which can act as a risk from the point of view of the company.

다만, 정품라이센스가 없다고 하더라도 해당 소프트웨어는 업무용으로 사용되고 있었으므로, 상기 임직원단말(300)에서 생성된 것처럼 상기 제2 소프트웨어의 사용요청정보를 생성하여, 정품라이센스를 받아 사용할 수 있도록 할 수 있다.However, even if there is no genuine license, since the corresponding software is being used for business purposes, use request information for the second software may be created as generated in the employee terminal 300 so that the user can receive and use the genuine license.

또한, 상기 프로세서(110)는, 상기 정품라이센스를 보유하고 있고, 상기 정품라이센스가 개인용인 경우, 상기 임직원단말(300)에 대한 상기 제2 소프트웨어의 사용요청정보를 생성할 수 있다.In addition, the processor 110 may generate use request information of the second software for the employee terminal 300 when the genuine license is possessed and the genuine license is for personal use.

정품라이센스는 개인용과 기업용으로 구분된다. 개인용은 개인이 혼자 사용할 수 있는 라이센스이고, 기업용은 기업에서 사용할 수 있는 라이센스를 의미한다. 따라서, 기업에서 개인용을 사용하는 경우도 권리자의 권리행사를 받을 수 있다. 따라서, 상술한 바와 같이 해당 임직원이 정품라이센스를 받아 사용할 수 있도록 사용요청정보를 생성할 수 있다.Genuine licenses are divided into personal and corporate use. Personal use is a license that an individual can use alone, and business use means a license that can be used by a company. Therefore, even if a company uses personal use, the right holder's rights can be exercised. Therefore, as described above, use request information can be generated so that the corresponding employee can receive and use the genuine license.

또한, 상기 프로세서(110)는, 상기 정품라이센스를 보유하고 있고, 상기 정품라이센스가 기업용인 경우, 상기 설치정보에 상기 임직원단말(300)에 설치되어 있는 상기 제2 소프트웨어의 사용허가정보를 추가할 수 있다. 이는 해당 소프트웨어의 사용에 아무 문제가 없다는 의미이다.In addition, if the processor 110 possesses the genuine license and the genuine license is for business use, the processor 110 may add use permission information of the second software installed in the employee terminal 300 to the installation information. can This means that there is no problem in using the software.

소프트웨어 자산을 관리하기 위해서는 소프트웨어 라이센스의 수를 최적화하는 것이 바람직하다. 예를 들어, 임직원의 수가 5명인데, 라이센스가 1개인 경우에는 업무진행이 어렵고, 8개인 경우에는 낭비인기 때문이다.In order to manage software assets, it is desirable to optimize the number of software licenses. For example, if the number of executives and employees is 5, it is difficult to work in the case of 1 license, and it is wasteful in the case of 8 licenses.

이를 위하여, 상기 프로세서(110)는, 상기 소프트웨어의 상기 업무범위가 포함된 직무범위를 가지는 임직원의 제1 인원수, 상기 소프트웨어에 대한 상기 사용요청정보 및 상기 소프트웨어가 사용된 제1 업무의 업무량을 기반으로 상기 소프트웨어의 필요개수를 산출할 수 있다.To this end, the processor 110 is based on the first number of executives and employees whose job scope includes the job scope of the software, the use request information for the software, and the workload of the first job in which the software is used. It is possible to calculate the required number of the software.

보다 상세하게 살펴보면, 상기 프로세서(110)는, 기설정된 기간동안 유입된 상기 제1 업무의 유입건수를 기반으로 상기 제1 업무의 평균유입간격기간을 산출하고, 상기 평균유입간격기간 및 상기 제1 업무의 평균처리기간을 기반으로 업무중첩지수를 산출할 수 있다.In more detail, the processor 110 calculates the average inflow interval period of the first task based on the number of inflow cases of the first task that has flowed in during a predetermined period, and calculates the average inflow interval period and the first task The task overlap index can be calculated based on the average processing period of tasks.

상기 기간은 상기 관리자가 임의로 설정할 수 있으며, 예를 들면, 1개월, 3개월, 6개월 등으로 설정될 수 있다.The period may be arbitrarily set by the manager, and may be set to, for example, 1 month, 3 months, 6 months, and the like.

이 때, 상기 업무중첩지수는 아래 수학식 1에 의하여 산출될 수 있다.At this time, the work overlap index can be calculated by Equation 1 below.

[수학식 1][Equation 1]

Figure 112022067367928-pat00002
Figure 112022067367928-pat00002

예를 들어, 상기 기간이 1개월(30일)이고, 상기 유입건수가 10건인 경우, 상기 평균유입간격기간은 3일(30/10)일 수 있다. 또한, 상기 평균처리기간이 7일인 경우, 상기 업무중첩지수는 2.333일 수 있다.For example, when the period is 1 month (30 days) and the number of inflows is 10, the average inflow interval period may be 3 days (30/10). In addition, when the average processing period is 7 days, the task overlap index may be 2.333.

상기 업무중첩지수를 통하여, 동시에 진행될 수 있는 업무량을 예상할 수 있으며, 이를 통해 동시에 필요한 최소 라이센스의 수를 파악할 수 있다.Through the work overlap index, it is possible to estimate the amount of work that can be performed simultaneously, and through this, it is possible to grasp the minimum number of licenses required at the same time.

따라서, 상기 프로세서(110)는 상기 업무중첩지수와 상기 제1 인원수를 비교하여, 상기 업무중첩지수가 상기 제1 인원수를 초과하는 경우, 상기 제1 인원수를 상기 필요개수로 설정하고, 상기 업무중첩지수가 상기 제1 인원수 이하인 경우, 상기 업무중첩지수의 반올림된 정수값을 상기 필요개수로 설정할 수 있다. Therefore, the processor 110 compares the task overlap index with the first number of people, and when the task overlap index exceeds the first number of people, sets the first number of people to the required number, and the task overlap When the index is less than or equal to the first number of persons, a rounded integer value of the work overlap index may be set as the required number.

정리하면, 상기 필요개수는 상기 제1 인원수를 최대치로, 상기 업무중첩지수를 최소치로 설정될 수 있다.In summary, the required number may be set to the maximum value of the first number of people and to the minimum value of the work overlap index.

이 때, 상기 업무중첩지수는 소수점으로 나타날 수 있어, 라이센스의 개수를 맞추기 위하여 반올림으로 정수화할 수 있다.At this time, the work overlap index may be expressed as a decimal point, and may be rounded to an integer to match the number of licenses.

또한, 상기 프로세서(110)는, 상기 소프트웨어의 보유개수와 상기 필요개수의 차이만큼 상기 소프트웨어의 구매요청정보를 생성하여 상기 관리자단말(200)로 송신할 수 있다.In addition, the processor 110 may generate purchase request information of the software as much as a difference between the number of possessions and the required number of software and transmit the generated purchase request information to the manager terminal 200 .

소프트웨어의 라이센스는 구독형으로 일정기간에만 일정금액을 지불하고 사용할 수 있는 기간라이센스와 1회의 비용지불로 영구적으로 사용할 수 있는 영구라이센스로 구분될 수 있다. The software license is a subscription type, which can be divided into a term license that can be used by paying a certain amount for a certain period of time and a permanent license that can be used permanently with a one-time payment.

만일, 소프트웨어 라이센스가 일시적인 특정 프로젝트를 위하여 필요한 것이라면 영구라이센스를 구매하는 것은 낭비가 될 수 있다. 따라서, 해당 소프트웨어 라이센스가 일시적사용을 위한것인지 영구적사용을 위한것인지 사전에 파악하고, 그에 따라 구매방법을 달리하는 것이 바람직하다.Buying a permanent license can be a waste if the software license is only for a specific, temporary project. Therefore, it is desirable to determine in advance whether the software license is for temporary use or permanent use, and change the purchase method accordingly.

이를 위하여, 상기 프로세서(110)는 상기 구매요청정보를 생성하되, 상기 소프트웨어의 사용요청정보를 기반으로 일시적사용을 위한 임시구매가 필요한 것인지, 영구적사용을 위한 영구구매가 필요한 것인지 여부를 판단하고, 임시구매가 필요한 것으로 판단된 경우, 상기 소프트웨어의 라이센스를 기간라이센스로 구매하도록 상기 구매요청정보를 생성할 수 있다.To this end, the processor 110 generates the purchase request information, and determines whether a temporary purchase for temporary use or a permanent purchase for permanent use is required based on the software use request information, When it is determined that a temporary purchase is necessary, the purchase request information may be generated so that the software license is purchased as a term license.

또한, 상기 프로세서(110)는 영구구매가 필요한 것으로 판단된 경우, 상기 소프트웨어의 라이센스를 영구라이센스로 구매하도록 상기 구매요청정보를 생성할 수 있다.Also, when it is determined that permanent purchase is necessary, the processor 110 may generate the purchase request information to purchase the license of the software as a permanent license.

이 때, 일시적사용과 영구적사용의 구분은 최근 사용요청정보가 급증한 경우 일시적사용으로 보는 것이 타당하다. 왜냐하면, 기존에는 해당 소프트웨어 없이 업무를 수행하다가 최근에 새로운 업무를 맡게 되어 해당 소프트웨어가 필요해진 것으로 파악함이 바람직하기 때문이다. At this time, the distinction between temporary use and permanent use is reasonable to regard it as temporary use when the recent use request information has rapidly increased. This is because it is desirable to understand that the corresponding software has become necessary as a result of performing a task without the corresponding software in the past and recently taking on a new task.

따라서, 상기 프로세서(110)는, 아래 수학식 2를 만족하는 경우, 임시구매가 필요한 것으로 판단하고, 아래 수학식 2를 만족하지 못하는 경우, 영구구매가 필요한 것으로 판단할 수 있다.Accordingly, the processor 110 may determine that temporary purchase is necessary when Equation 2 below is satisfied, and may determine that permanent purchase is necessary when Equation 2 below is not satisfied.

[수학식 2][Equation 2]

Figure 112022067367928-pat00003
Figure 112022067367928-pat00003

이 때, NoTR(Number of Total SW Request)는 상기 소프트웨어의 누적된 전체 사용요청정보의 수를 의미하고, NoRR(Number of Recent SW Request)는 기설정된 제1 시점부터 현재시점까지 수신된 상기 소프트웨어에 대한 사용요청정보의 최근요청횟수를 의미하고, NoPR(Number of Past Request)는 상기 제1 시점보다 과거로 설정된 제2 시점부터 상기 제1 시점까지 수신된 상기 소프트웨어에 대한 사용요청정보의 과거요청횟수를 의미할 수 있다.At this time, NoTR (Number of Total SW Request) refers to the accumulated total number of use request information of the software, and NoRR (Number of Recent SW Request) refers to the software received from the first time to the present time. It means the number of recent requests for use request information for the software, and NoPR (Number of Past Request) is the number of past requests for the use request information for the software received from the second time point, which is set earlier than the first time point, to the first time point. can mean

이를 통하여, 낭비없이 경제적으로 소프트웨어 라이센스를 구매하도록 할 수 있다.Through this, it is possible to purchase a software license economically without waste.

도 4는 본 발명의 일 실시예에 따라 기업이 보유한 소프트웨어를 추가하는 예시도이고, 도 5는 본 발명의 일 실시예에 따라 임직원에게 라이센스를 부여하는 예시도이고, 도 6은 본 발명의 일 실시예에 따라 임직원의 사용요청정보의 생성 및 관리자의 사용승인을 나타내는 도면이다.Figure 4 is an exemplary view of adding software possessed by a company according to an embodiment of the present invention, Figure 5 is an exemplary view of granting a license to executives and employees according to an embodiment of the present invention, Figure 6 is an example of the present invention According to the embodiment, it is a drawing showing the generation of use request information of executives and employees and approval of use by the manager.

도면에 도시된 바와 같이, 본 발명의 일 실시예에 따른 소프트웨어 자산 관리 서비스 제공 장치(100)는 프로그램에 의하여 실시될 수 있다.As shown in the drawing, the software asset management service providing apparatus 100 according to an embodiment of the present invention may be implemented by a program.

도 7은 본 발명의 일 실시예에 따른 소프트웨어 자산 관리서비스 제공 방법의 흐름도이다.7 is a flowchart of a software asset management service providing method according to an embodiment of the present invention.

도 7을 참조하면, 본 발명의 일 실시예에 따른 소프트웨어 자산 관리서비스 제공 방법은 관리자단말(200)로부터 기업이 보유하고 있는 소프트웨어의 설치파일 및 라이센스정보를 수신할 수 있다(S101).Referring to FIG. 7 , in the software asset management service providing method according to an embodiment of the present invention, an installation file and license information of software possessed by a company may be received from the manager terminal 200 (S101).

또한, 본 발명의 일 실시예에 따른 소프트웨어 자산 관리서비스 제공 방법은 임직원단말(300)로부터 제1 소프트웨어의 소프트웨어이름 및 사용요청사유를 포함하는 사용요청정보를 수신할 수 있다(S103).In addition, the software asset management service providing method according to an embodiment of the present invention may receive use request information including the software name of the first software and the reason for the use request from the employee terminal 300 (S103).

또한, 본 발명의 일 실시예에 따른 소프트웨어 자산 관리서비스 제공 방법은 상기 사용요청정보를 기반으로 사용허가여부를 판단하여 상기 임직원단말(300)로 상기 제1 소프트웨어의 설치파일 및 라이센스정보를 송신할 수 있다(S105).In addition, the software asset management service providing method according to an embodiment of the present invention determines whether use is permitted based on the use request information and transmits the installation file and license information of the first software to the employee terminal 300. It can (S105).

또한, 본 발명의 일 실시예에 따른 소프트웨어 자산 관리서비스 제공 방법은 도 1 내지 도 6에 개시된 소프트웨어 자산 관리서비스 제공 장치(100)와 동일하게 구성될 수 있다.In addition, the software asset management service providing method according to an embodiment of the present invention may be configured identically to the software asset management service providing apparatus 100 disclosed in FIGS. 1 to 6 .

이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 컨트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The embodiments described above may be implemented as hardware components, software components, and/or a combination of hardware components and software components. For example, the devices, methods, and components described in the embodiments may include, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate (FPGA). array), programmable logic units (PLUs), microprocessors, or any other device capable of executing and responding to instructions. A processing device may run an operating system (OS) and one or more software applications running on the operating system. A processing device may also access, store, manipulate, process, and generate data in response to execution of software. For convenience of understanding, there are cases in which one processing device is used, but those skilled in the art will understand that the processing device includes a plurality of processing elements and/or a plurality of types of processing elements. It can be seen that it can include. For example, a processing device may include a plurality of processors or a processor and a controller. Other processing configurations are also possible, such as parallel processors.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer readable medium. The computer readable medium may include program instructions, data files, data structures, etc. alone or in combination. Program commands recorded on the medium may be specially designed and configured for the embodiment or may be known and usable to those skilled in computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floptical disks. - includes hardware devices specially configured to store and execute program instructions, such as magneto-optical media, and ROM, RAM, flash memory, and the like. Examples of program instructions include high-level language codes that can be executed by a computer using an interpreter, as well as machine language codes such as those produced by a compiler. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.Software may include a computer program, code, instructions, or a combination of one or more of the foregoing, which configures a processing device to operate as desired or processes independently or collectively. You can command the device. Software and/or data may be any tangible machine, component, physical device, virtual equipment, computer storage medium or device, intended to be interpreted by or provide instructions or data to a processing device. , or may be permanently or temporarily embodied in a transmitted signal wave. Software may be distributed on networked computer systems and stored or executed in a distributed manner. Software and data may be stored on one or more computer readable media.

이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.As described above, although the embodiments have been described with limited drawings, those skilled in the art can apply various technical modifications and variations based on the above. For example, the described techniques may be performed in an order different from the method described, and/or components of the described system, structure, device, circuit, etc. may be combined or combined in a different form than the method described, or other components may be used. Or even if it is replaced or substituted by equivalents, appropriate results can be achieved.

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents of the claims are within the scope of the following claims.

Claims (5)

전자 장치에 있어서,
메모리(memory); 및 상기 메모리와 연결된 프로세서(processor); 를 포함하고,
상기 프로세서는:
기업이 보유하고 있는 소프트웨어의 설치파일 및 라이센스정보를 관리자단말로부터 수신하고,
제1 소프트웨어의 소프트웨어이름 및 사용요청사유를 포함하는 사용요청정보를 임직원단말로부터 수신하고,
상기 사용요청정보를 기반으로 사용허가여부를 판단하여 상기 제1 소프트웨어의 설치파일 및 라이센스정보를 상기 임직원단말에게 송신하고,
상기 소프트웨어별로 상기 소프트웨어가 사용되는 업무범위에 관한 정보를 상기 관리자단말로부터 수신하고,
상기 사용요청정보를 송신한 임직원의 직무범위와 상기 업무범위를 비교하여 상기 직무범위에 상기 업무범위가 포함되는 경우, 상기 사용요청정보에 대응하는 상기 제1 소프트웨어의 설치파일, 라이센스정보 및 제1 사용기한을 상기 임직원단말에게 송신하고,
상기 직무범위에 상기 업무범위가 포함되지 않는 경우, 인공지능모듈을 통하여, 상기 사용요청사유와 상기 업무범위가 상관관계에 있는 것으로 나타나면 상기 제1 사용기한보다 짧게 기설정된 제2 사용기한으로 상기 제1 소프트웨어의 설치파일 및 라이센스정보를 상기 임직원단말에게 송신하고,
상기 프로세서는:
인공지능모듈을 통하여, 상기 사용요청정보에 포함되는 전체 문자중에서 조사를 제외한 제1 키워드를 추출하고,
상기 제1 키워드 중에서 기설정된 직무키워드 및 업무키워드와 대응되는 제2 키워드를 추출하고,
워드임베딩(Word Embedding)을 통하여 상기 제2 키워드와 상기 업무범위에 포함되는 업무키워드와의 유사여부를 판단하여 유사한 것으로 판단되는 경우, 상기 사용요청사유와 상기 업무범위는 상관관계에 있는 것으로 판단하고,
상기 제2 키워드와 상기 업무키워드가 유사하지 않은 것으로 판단되는 경우, 상기 사용요청사유와 상기 업무범위는 상관관계에 있지 않은 것으로 판단하고,
상기 직무범위에 상기 업무범위가 포함되지 않는 상기 사용요청정보를 상기 임직원단말로부터 수신한 제1 횟수가 기설정된 제1 임계횟수를 초과하고, 상기 사용요청정보에 대응하여 상기 업무범위와 상관관계가 있는 것으로 판단된 제2 횟수가 기설정된 제2 임계횟수를 초과하는 경우, 상기 직무범위를 공유하는 전체 임직원의 직무범위에 상기 업무범위를 포함시키도록 제어하고,
상기 제1 횟수가 상기 제1 임계횟수 이하이고, 상기 제2 횟수가 상기 제2 임계횟수를 초과하는 경우, 상기 임직원단말을 사용하는 임직원의 직무범위에 상기 업무범위를 포함시키도록 제어하고,
상기 프로세서는:
상기 임직원단말로부터 상기 임직원단말에 설치되어 있는 복수개의 제2 소프트웨어의 소프트웨어이름, 라이센스정보에 관한 설치정보를 수신하고,
상기 메모리에 저장되어 있는 소프트웨어용도DB를 기반으로 상기 제2 소프트웨어의 사용용도를 구분하고,
상기 사용용도가 개인사용용도인 경우, 상기 제2 소프트웨어의 소프트웨어이름과 상기 메모리에 저장되어 있는 블랙리스트DB를 비교하여, 상기 블랙리스트DB에 포함되는 경우, 강제삭제명령어를 상기 임직원단말로 송신하고, 상기 블랙리스트DB에 포함되지 않은 경우, 사용자제권고메시지를 상기 임직원단말로 송신하고,
상기 사용용도가 업무사용용도인 경우, 상기 라이센스정보를 기반으로 정품라이센스를 보유하고 있는지 확인하고, 상기 정품라이센스를 보유하지 않은 경우, 상기 임직원단말에 대한 상기 제2 소프트웨어의 사용요청정보를 생성하고,
상기 정품라이센스를 보유하고 있고, 상기 정품라이센스가 개인용인 경우, 상기 임직원단말에 대한 상기 제2 소프트웨어의 사용요청정보를 생성하고,
상기 정품라이센스를 보유하고 있고, 상기 정품라이센스가 기업용인 경우, 상기 설치정보에 상기 임직원단말에 설치되어 있는 상기 제2 소프트웨어의 사용허가정보를 추가하는 것을 특징으로 하는, 전자 장치.
상기 프로세서는:
상기 소프트웨어의 상기 업무범위가 포함된 직무범위를 가지는 임직원의 제1 인원수, 상기 소프트웨어에 대한 상기 사용요청정보 및 상기 소프트웨어가 사용된 제1 업무의 업무량을 기반으로 상기 소프트웨어의 필요개수를 산출하고,
상기 소프트웨어의 보유개수와 상기 필요개수의 차이만큼 상기 소프트웨어의 구매요청정보를 생성하여 상기 관리자단말에게 송신하고,
상기 프로세서는:
기설정된 기간동안 유입된 상기 제1 업무의 유입건수를 기반으로 상기 제1 업무의 평균유입간격기간을 산출하고, 상기 평균유입간격기간 및 상기 제1 업무의 평균처리기간을 아래의 수학식 1에 적용하여 업무중첩지수를 산출하고,
[수학식 1]
Figure 112022095368638-pat00011

상기 업무중첩지수와 상기 제1 인원수를 비교하여 상기 업무중첩지수가 상기 제1 인원수를 초과하는 경우, 상기 제1 인원수를 상기 필요개수로 설정하고,
상기 업무중첩지수가 상기 제1 인원수 이하인 경우, 상기 업무중첩지수의 반올림된 정수값을 상기 필요개수로 설정하고,
상기 프로세서는:
상기 구매요청정보를 생성하되,
상기 소프트웨어의 사용요청정보를 기반으로 일시적사용을 위한 임시구매가 필요한 것인지, 영구적사용을 위한 영구구매가 필요한 것인지 여부를 판단하고, 임시구매가 필요한 것으로 판단된 경우, 상기 소프트웨어의 라이센스를 기간라이센스로 구매하도록 상기 구매요청정보를 생성하고,
영구구매가 필요한 것으로 판단된 경우, 상기 소프트웨어의 라이센스를 영구라이센스로 구매하도록 상기 구매요청정보를 생성하고,
상기 프로세서는,
아래 수학식 2를 만족하는 경우, 임시구매가 필요한 것으로 판단하고, 아래 수학식을 만족하지 못하는 경우, 영구구매가 필요한 것으로 판단하되,
[수학식 2]
Figure 112022095368638-pat00012

NoTR(Number of Total SW Request)는 상기 소프트웨어의 누적된 전체 사용요청정보의 수를 의미하고, NoRR(Number of Recent SW Request)는 기설정된 제1 시점부터 현재시점까지 수신된 상기 소프트웨어에 대한 사용요청정보의 최근요청횟수를 의미하고, NoPR(Number of Past Request)는 상기 제1 시점보다 과거로 설정된 제2 시점부터 상기 제1 시점까지 수신된 상기 소프트웨어에 대한 사용요청정보의 과거요청횟수를 의미하는 것을 특징으로 하는, 전자 장치.
In electronic devices,
memory; and a processor connected to the memory; including,
The processor:
Receive installation files and license information of software owned by the company from the administrator terminal,
Receive use request information including the software name of the first software and the reason for the use request from the employee terminal,
Based on the use request information, it is determined whether use is permitted, and an installation file and license information of the first software are transmitted to the employee terminal,
Receiving information about the scope of work in which the software is used for each software from the manager terminal;
The job scope of the employee who sent the use request information is compared with the job scope, and if the job scope includes the job scope, the installation file of the first software corresponding to the use request information, license information, and the first Send the expiration date to the employee terminal,
If the scope of work does not include the scope of work, if it is found that the reason for requesting use and the scope of work are correlated through the artificial intelligence module, the second expiration date set earlier than the first term of use is determined. 1 Send the installation file and license information of the software to the employee terminal,
The processor:
Through an artificial intelligence module, extracting a first keyword excluding postpositions from all characters included in the use request information,
Extracting a second keyword corresponding to a preset job keyword and a job keyword from among the first keywords;
Through word embedding, it is determined whether the second keyword is similar to the business keyword included in the business scope, and if it is determined to be similar, it is determined that the reason for the use request and the business scope are correlated. ,
If it is determined that the second keyword and the task keyword are not similar, it is determined that the reason for the use request and the task scope are not correlated;
The first number of times of receiving the use request information, which does not include the work scope in the job scope, from the employee terminal exceeds the preset first threshold number of times, and a correlation with the work scope is established in response to the use request information. When the second number of times determined to be present exceeds the preset second threshold number, control to include the job scope in the job scope of all executives and employees who share the job scope,
When the first number is less than or equal to the first threshold number and the second number exceeds the second threshold number, control to include the job range in the job range of the employee using the employee terminal,
The processor:
Receiving installation information about software names and license information of a plurality of second software installed in the employee terminal from the employee terminal;
Classifying the use of the second software based on the software use DB stored in the memory;
If the purpose of use is personal use, the software name of the second software is compared with the blacklist DB stored in the memory, and if it is included in the blacklist DB, a forced deletion command is sent to the employee terminal. , If it is not included in the blacklist DB, a user restriction message is sent to the employee terminal,
If the purpose of use is business use, it is checked whether a genuine license is held based on the license information, and if the genuine license is not possessed, the use request information of the second software for the employee terminal is generated, ,
If the genuine license is possessed and the genuine license is for personal use, generating request information for use of the second software for the employee's terminal;
The electronic device, characterized in that if the genuine license is possessed and the genuine license is for business use, use permission information of the second software installed in the employee's terminal is added to the installation information.
The processor:
Calculate the required number of the software based on the first number of executives and employees having a job scope that includes the work scope of the software, the use request information for the software, and the workload of the first work in which the software is used,
Generating purchase request information for the software as much as the difference between the number of possessions of the software and the required number of software and transmitting the information to the manager terminal;
The processor:
The average inflow interval period of the first task is calculated based on the number of inflow cases of the first task that has flowed in during the preset period, and the average inflow interval period and the average processing period of the first task are expressed in Equation 1 below Calculate the work overlap index by applying
[Equation 1]
Figure 112022095368638-pat00011

Comparing the work overlap index with the first number of people, and when the work overlap index exceeds the first number of people, setting the first number of people to the required number;
When the work overlap index is less than or equal to the first number of people, setting the rounded integer value of the work overlap index to the required number;
The processor:
Generating the purchase request information,
Based on the use request information of the software, it is determined whether a temporary purchase for temporary use or a permanent purchase for permanent use is required, and if it is determined that a temporary purchase is necessary, the license of the software is converted into a term license. Create the purchase request information to purchase;
If it is determined that permanent purchase is necessary, the purchase request information is generated to purchase the license of the software as a permanent license,
the processor,
If Equation 2 below is satisfied, it is determined that temporary purchase is necessary, and if Equation 2 below is not satisfied, it is determined that permanent purchase is necessary,
[Equation 2]
Figure 112022095368638-pat00012

NoTR (Number of Total SW Request) means the number of accumulated total use request information of the software, and NoRR (Number of Recent SW Request) is the use request for the software received from the first time to the present time. Means the number of recent requests for information, and NoPR (Number of Past Request) means the number of past requests for the use request information for the software received from the second time point set to the past from the first time point to the first time point Characterized in that, the electronic device.
삭제delete 삭제delete 삭제delete 삭제delete
KR1020220078782A 2022-06-28 2022-06-28 Apparatus and method for providing software asset management service KR102486646B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220078782A KR102486646B1 (en) 2022-06-28 2022-06-28 Apparatus and method for providing software asset management service

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220078782A KR102486646B1 (en) 2022-06-28 2022-06-28 Apparatus and method for providing software asset management service

Publications (1)

Publication Number Publication Date
KR102486646B1 true KR102486646B1 (en) 2023-01-10

Family

ID=84893730

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220078782A KR102486646B1 (en) 2022-06-28 2022-06-28 Apparatus and method for providing software asset management service

Country Status (1)

Country Link
KR (1) KR102486646B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117707557A (en) * 2023-12-26 2024-03-15 和创(北京)科技股份有限公司 Management method and system for describing and controlling saas software package installation

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005055957A (en) * 2003-08-05 2005-03-03 Hitachi Ltd License management system, server device and terminal device
KR20090024503A (en) * 2007-09-04 2009-03-09 최월호 Managing method of enterprise resource planning software by using certificate shown validity period
JP2010191981A (en) * 2010-04-08 2010-09-02 Nippon Syst Wear Kk Software distribution operation management device, method, and program
KR20100113415A (en) * 2009-04-13 2010-10-21 계영티앤아이 (주) Apparatus and method for managing software, user terminal controlled by the software and the managing method thereof
KR20130102973A (en) * 2012-03-09 2013-09-23 (주)아이젝스 System for controlling company's software
KR20130119236A (en) * 2012-04-23 2013-10-31 (주)아이젝스 System for managing company's software and real assets
WO2014002138A1 (en) * 2012-06-27 2014-01-03 株式会社アイ・ピー・エス Mobile terminal management server, and mobile terminal management program
JP2017219958A (en) * 2016-06-06 2017-12-14 株式会社クロスビート Asset management device, asset management method, and asset management program
JP2018205962A (en) * 2017-06-01 2018-12-27 株式会社クロスビート Asset management device and asset management program
KR20210141601A (en) * 2019-03-18 2021-11-23 서비스나우, 인크. Systems and methods for license analysis
KR20220071182A (en) * 2019-09-27 2022-05-31 인텔 코포레이션 Implement and manage software-defined silicon
KR20220075194A (en) * 2020-11-25 2022-06-07 유아이패스, 인크. Robotic process automation architecture and processes for hosting, monitoring, and retraining machine learning models

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005055957A (en) * 2003-08-05 2005-03-03 Hitachi Ltd License management system, server device and terminal device
KR20090024503A (en) * 2007-09-04 2009-03-09 최월호 Managing method of enterprise resource planning software by using certificate shown validity period
KR20100113415A (en) * 2009-04-13 2010-10-21 계영티앤아이 (주) Apparatus and method for managing software, user terminal controlled by the software and the managing method thereof
JP2010191981A (en) * 2010-04-08 2010-09-02 Nippon Syst Wear Kk Software distribution operation management device, method, and program
KR20130102973A (en) * 2012-03-09 2013-09-23 (주)아이젝스 System for controlling company's software
KR101326208B1 (en) 2012-04-23 2013-11-08 (주)아이젝스 System for managing company's software and real assets
KR20130119236A (en) * 2012-04-23 2013-10-31 (주)아이젝스 System for managing company's software and real assets
WO2014002138A1 (en) * 2012-06-27 2014-01-03 株式会社アイ・ピー・エス Mobile terminal management server, and mobile terminal management program
JP2017219958A (en) * 2016-06-06 2017-12-14 株式会社クロスビート Asset management device, asset management method, and asset management program
JP2018205962A (en) * 2017-06-01 2018-12-27 株式会社クロスビート Asset management device and asset management program
KR20210141601A (en) * 2019-03-18 2021-11-23 서비스나우, 인크. Systems and methods for license analysis
KR20220071182A (en) * 2019-09-27 2022-05-31 인텔 코포레이션 Implement and manage software-defined silicon
KR20220075194A (en) * 2020-11-25 2022-06-07 유아이패스, 인크. Robotic process automation architecture and processes for hosting, monitoring, and retraining machine learning models

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117707557A (en) * 2023-12-26 2024-03-15 和创(北京)科技股份有限公司 Management method and system for describing and controlling saas software package installation
CN117707557B (en) * 2023-12-26 2024-05-14 和创(北京)科技股份有限公司 Management method and system for describing and controlling saas software package installation

Similar Documents

Publication Publication Date Title
US20200294165A1 (en) Blockchain-based allocation methods and apparatuses
US11132403B2 (en) Graph-manipulation based domain-specific execution environment
US20230385031A1 (en) Graph outcome determination in domain-specific execution environment
TW201816679A (en) Blockchain-based method and system for specifying the recipient of an electronic communication
Zardari et al. K-NN classifier for data confidentiality in cloud computing
CN110659515B (en) Open type integrated circuit collaborative design cloud platform and method thereof
Tugui Meta-Digital Accounting in the Context of Cloud Computing
CN111815420B (en) Matching method, device and equipment based on trusted asset data
KR102486646B1 (en) Apparatus and method for providing software asset management service
US10572247B2 (en) Prototype management system
Malakhova et al. Digital economy, information society and social challenges in the near future
KR20210032136A (en) Method for providing copyright management service coordinating authorship relation between copyright owner and user
Han et al. TSCS: A blockchain-based tokenized subtitling crowdsourcing system
Loni et al. Wraprec: An easy extension of recommender system libraries
Rennie et al. Developments in Web3 for the creative industries
Terzis Law and the political economy of AI production
US11799864B2 (en) Computer systems for regulating access to electronic content using usage telemetry data
JP7089444B2 (en) Content Success Reward Allocation Device, Content Success Reward Allocation Method and Content Success Reward Allocation Program
Warnez Revenue registration and automatic taxation for platform businesses on blockchain
Bai Application of deep learning and big data in marketing evaluation
Anwar et al. Mobile-Based National University Online Library Application Design: Mobile-Based National University Online Library Application Design
KR102560527B1 (en) System for nft electronic notary and operating method thereof
KR102540309B1 (en) Method, device and computer-readable recording medium for renting a virtual exhibition space for exhibiting copyright-infringed images
KR20240044000A (en) Apparatus of processing non-fungible token
Kalashnikova Personal Data Protection as a Basis of Digitalization

Legal Events

Date Code Title Description
GRNT Written decision to grant