KR20050081440A - Multi-version software structure and processing method thereof - Google Patents

Multi-version software structure and processing method thereof Download PDF

Info

Publication number
KR20050081440A
KR20050081440A KR1020040009685A KR20040009685A KR20050081440A KR 20050081440 A KR20050081440 A KR 20050081440A KR 1020040009685 A KR1020040009685 A KR 1020040009685A KR 20040009685 A KR20040009685 A KR 20040009685A KR 20050081440 A KR20050081440 A KR 20050081440A
Authority
KR
South Korea
Prior art keywords
license
software
module
type
version
Prior art date
Application number
KR1020040009685A
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 KR1020040009685A priority Critical patent/KR20050081440A/en
Publication of KR20050081440A publication Critical patent/KR20050081440A/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation

Abstract

본 발명에 의한 다중 버전 소프트웨어 구조는, 다중 버전의 소프트웨어에 대해 각 버전의 소프트웨어들이 공용으로 사용하는 공통 모듈과; 사용자의 요구 사항이 반영된 최적화된 커스터마이징 모듈과; 하드웨어 지원을 위한 인터페이스 모듈과; 상기 다중 버전의 소프트웨어에 대해 각각의 소프트웨어에 해당하는 기 정의된 라이센스 타입 및 소정의 기타 정보를 입력으로 라이센스 키를 생성하는 라이센스 발생기와; 상기 라이센스 발생기에서 제공된 라이센스 키를 통해 수행될 모듈의 종류를 분석하는 라이센스 검사기와; 상기 라이센스 검사기에서 분석된 결과를 통해 실제 기능을 지원할 상기 공통 모듈, 최적화 모듈, 인터페이스 모듈을 구동하는 모듈 로더가 포함되는 것을 특징으로 한다.The multi-version software structure according to the present invention includes: a common module commonly used by each version of the software for the multiple versions of the software; An optimized customization module reflecting user requirements; An interface module for hardware support; A license generator for generating a license key by inputting a predefined license type and predetermined other information corresponding to each piece of software for the multiple versions of the software; A license checker that analyzes a type of module to be performed through a license key provided by the license generator; The module loader may be configured to drive the common module, the optimization module, and the interface module to support the actual function based on the result analyzed by the license checker.

이와 같은 본 발명에 의하면, 라이센스 타입(License Type)에 따라 하나의 소프트웨어에서 필요한 모듈만을 load하여 사용하게 됨으로써, 소프트웨어를 커스터마이징(Customizing)하거나, 다양한 하드웨어 지원을 위해 발생하는 다중 버전(multi-version) 소프트웨어에 대한 설치 및 운용을 용이토록 하는 장점이 있다. According to the present invention, by loading and using only the modules required in one software according to the license type (License Type), customizing the software (multi-version) generated for various hardware support This has the advantage of facilitating the installation and operation of the software.

Description

다중 버전 소프트웨어 구조 및 그 실행 방법{multi-version software structure and processing method thereof}Multi-version software structure and processing method

본 발명은 시스템에 설치된 다중 버전의 소프트웨어를 부여된 라이센스(License)에 따라 필요한 모듈을 자동으로 구성하는 방법에 관한 것으로, 특히 다양한 하드웨어 플랫폼 지원 및 고객이 요구한 구성에 대응하기 위하여, 설치 및 운용의 편리성을 도모하도록 한 다중 버전(multi-version) 소프트웨어 구조 및 그 실행 방법에 관한 것이다.The present invention relates to a method for automatically configuring a required module according to a license granted for multiple versions of software installed in a system, and in particular, in order to support various hardware platforms and to respond to configurations required by customers. The present invention relates to a multi-version software structure and a method of executing the same, which facilitate the convenience of the software.

라이센스(License)에 의한 소프트웨어의 배포관련 기술은 소프트웨어의 복제와 불법 사용 방지를 위해 사용하는 일반적인 방법이다. Licensing technology related to software distribution is a common method used to prevent software duplication and illegal use.

이와 같은 라이센스(License)에 의한 소프트웨어의 배포관련 기술은, 소프트웨어 제품에 라이센스 키(License Key)가 동봉되어 설치 시에 이를 확인하는 방법과 제품 전달 후 라이센스(License)를 별도 구입해 설치, 구동하는 방법이 일반적이다.The technology related to the distribution of software under license includes a method of verifying a license key included with the software product at the time of installation and separately installing and operating a license after the product is delivered. This is common.

상기 라이센스 키가 동동된 경우는 개인용으로 사용되는 소프트웨어에 적용되는 일반적인 방법으로, License Key가 제품에 동봉되어 전달되므로 제품 구입과 동시에 제품의 사용 허가를 받는다. In the case where the license key is included, the license key is enclosed with the product and is used as a general method applied to software for personal use.

반면 제품 전달 후 라이센스(License)를 별도 구입해 설치, 구동하는 경우는 제품 평가판을 설치, 임시 사용할 수 있는 상태 또는 라이센스(License)를 구입, 설치할 수 있는 상태로 받은 후 제품을 판매 회사에 등록할 때 사용 범위를 지정하여 이에 대한 비용을 지불하게 된다. On the other hand, if you purchase, install, and operate a license separately after product delivery, when you register the product with a sales company after receiving the product trial version, you can install, temporarily use it, or purchase and install the license. You will specify a range of usage and pay for it.

여기서, 회사에 등록하고 받은 라이센스(License)는 두 가지 경우가 있는데, 이는 설치나 구동시에 특정 영역에 설치하여 제품의 사용에 제약을 두는 경우와, 단순히 사용계약에 의해 문서로 관리 보관하는 것이 있다. Here, there are two cases of licenses registered and received by the company, which are installed in a specific area during installation or operation to restrict the use of the product, and are simply stored and documented by the use agreement. .

이 중 판매 회사에 제품을 등록하고 라이센스(License)를 받아 설치나 구동에 제약을 두는 경우 일반적으로 상기 라이센스는 단순히 일련 번호이거나 설치 시스템의 고유 정보 또는 자원 사용의 제약을 두는 내용(사용자 수, CPU개수, Memory 크기 등) 또는 위의 내용들의 조합이 된다. Among them, if you register a product with a sales company and receive a license to restrict installation or operation, the license is usually a serial number or a restriction on the use of unique information or resources of the installation system (number of users, CPU Number, memory size, etc.) or a combination of the above.

즉, 사용자는 소정의 소프트웨어 제품을 전달받고, 이에 대한 사용 목적에 맞게 설치 시스템의 고유 정보나 자원 사용에 대한 제약 사항을 포함한 내용을 제품 판매 회사에 등록하고, 이에 따라 상기 판매 회사는 이에 해당하는 라이센스를 발급하는 것이며, 사용자는 상기 라이센스를 수령하여 제품을 설치 구동하게 된다. That is, the user receives a predetermined software product, and registers the contents including the unique information of the installation system or the restriction on the use of resources with the product sales company according to the purpose of using the software product. Issuing a license, the user receives the license to install and run the product.

만약 라이센스를 발급 받아야만 설치 할 수 있는 제품이라면, 상기 소프트웨어 제품의 설치 시 라이센스를 check하고, 사용이 허용된 시스템인지 확인한 후 설치하게 되며, 그 구동 시에는 자원 사용의 제약에 따라 구동의 범위가 정해진다. If the product can be installed only after issuing a license, the license will be checked when installing the software product, and the system will be installed after confirming that the system is allowed to be used. All.

또는, 평가판 형태로 전달된 제품일 경우 일정한 시일이 경과하면 라이센스를 check하고, 그 값에 따라서 허용된 시스템인지 여부와 자원 사용의 제약을 받게 된다. Or, in the case of a product delivered in the form of a trial version, after a certain period of time, the license is checked and, depending on the value, the system is restricted from the allowed system and resource usage.

종래의 경우 앞서 설명한 바와 같이 상기 소프트웨어 제품의 설치 시에 라이센스를 check하여 제품이 설치될 시스템이 맞는지 확인하고, 기타 설치 조건에 제약이 있는 경우에는 그 제약에 따라 설치되는 패키지(package) 자체가 달라지게 된다. In the conventional case, as described above, the license is checked at the time of installation of the software product to confirm whether the system on which the product is to be installed is correct, and if there are constraints on other installation conditions, the package itself installed according to the restriction is different. You lose.

또한, 자원에 대한 제약이 있는 경우, 소프트웨어가 실행되기 전에 제품 등록 시 허가 받은 시스템인지 확인하고, 실행 시 자원에 대한 접근이 라이센스에 정의된 값을 참조하여 실행한다. In addition, if there is a resource limitation, the software checks whether it is an authorized system when registering the product before the software is executed, and executes access to the resource by referring to the value defined in the license.

이러한 종래의 방법은 소프트웨어가 한 번 설치되면, 패치(patch)나 추가적 설치 없이는 사용 하드웨어의 변경 및 그에 따른 최적화(customizing)가 수용되기 어렵게 되는 단점이 있다.This conventional method has the disadvantage that once the software is installed, it is difficult to accommodate changes in the hardware used and thus customization without the need for patches or additional installation.

본 발명은 라이센스에 따라 필요한 모듈을 선택하여 소프트웨어를 구동할 수 있도록 함으로써, 다중 버전(multi-version)의 소프트웨어를 동적으로 제공할 수 있도록 하는 것으로, 특히 하드웨어 플랫폼 변경이나 고객의 기능 요구사항 적용에 따라 발생하는 다중 버전 소프트웨어의 모듈 재구성에 적합하고, 설치 시 확정되는 소프트웨어의 구성을 라이센스를 이용하여 설치 후 추가적인 패치(patch) 또는 재설치 없이 동적으로 구성할 수 있도록 하는 다중 버전(multi-version) 소프트웨어 구조 및 그 실행 방법을 제공함에 그 목적이 있다.According to the present invention, it is possible to dynamically provide a multi-version of software by selecting a required module according to a license and running the software. Multi-version software that is suitable for module reconfiguration of multi-version software that occurs accordingly, and allows the configuration of the software determined at installation to be dynamically configured without license after installation using additional licenses. Its purpose is to provide a structure and a method of performing the same.

상기 목적을 달성하기 위하여 본 발명에 의한 다중 버전 소프트웨어 구조는, 다중 버전의 소프트웨어에 대해 각 버전의 소프트웨어들이 공용으로 사용하는 공통 모듈과; 사용자의 요구 사항이 반영된 최적화된 커스터마이징 모듈과; 하드웨어 지원을 위한 인터페이스 모듈과; 상기 다중 버전의 소프트웨어에 대해 각각의 소프트웨어에 해당하는 기 정의된 라이센스 타입 및 소정의 기타 정보를 입력으로 라이센스 키를 생성하는 라이센스 발생기와; 상기 라이센스 발생기에서 제공된 라이센스 키를 통해 수행될 모듈의 종류를 분석하는 라이센스 검사기와; 상기 라이센스 검사기에서 분석된 결과를 통해 실제 기능을 지원할 상기 공통 모듈, 최적화 모듈, 인터페이스 모듈을 구동하는 모듈 로더가 포함되는 것을 특징으로 한다.In order to achieve the above object, the multi-version software structure according to the present invention comprises: a common module used by each version of the software for the multi-version software in common; An optimized customization module reflecting user requirements; An interface module for hardware support; A license generator for generating a license key by inputting a predefined license type and predetermined other information corresponding to each piece of software for the multiple versions of the software; A license checker that analyzes a type of module to be performed through a license key provided by the license generator; The module loader may be configured to drive the common module, the optimization module, and the interface module to support the actual function based on the result analyzed by the license checker.

여기서, 상기 소정의 기타 정보는 사용에 제약을 두거나 일년 번호로서 작동할 내용 또는 사용자 개인 정보를 포함하는 것을 특징으로 한다.Here, the predetermined other information is characterized in that it includes content or user personal information that will be restricted to use or operate as a year number.

또한, 상기 최적화 모듈 또는 인터페이스 모듈은 고객의 특정한 요구를 지원하는 하드웨어에 따라 다수 구비됨을 특징으로 한다.In addition, the optimization module or interface module is characterized in that a number is provided according to the hardware to support the specific needs of the customer.

또한, 본 발명에 의한 다중 버전 소프트웨어 실행 방법은, 다중 버전의 소프트웨어에 대해 각각의 소프트웨어에 해당하는 기 정의된 라이센스 타입 및 소정의 기타 정보에 의해 라이센스 키가 생성되는 단계와; 상기 라이센스 키가 암호화되는 단계와; 상기 다중 버전 소프트웨어 및 상기 라이센스 키가 사용자의 시스템에 설치되고, 그에 따라 상기 다중 버전 소프트웨어가 구동되는 단계와; 상기 암호화된 라이센스 키가 복호화되는 단계와; 상기 복호화된 라이센스 키가 라이센스 타입 및 소정의 기타 정보로 분해된 후 이것이 최초의 값과 비교되는 단계와; 비교 결과 일치하면 상기 라이센스 타입에 따른 모듈을 찾게 되며, 그에 따른 모듈 리스트가 전송되는 단계와; 상기 전송된 모듈 리스트를 통해 그에 해당하는 하드웨어와 공통 모듈, 최적화 모듈이 로딩되어 소정의 소프트웨어가 구동되는 단계가 포함되는 것을 특징으로 한다. In addition, the multi-version software execution method according to the present invention comprises the steps of generating a license key for the multi-version software by a predefined license type and predetermined other information corresponding to each software; Encrypting the license key; The multiversion software and the license key are installed on a user's system, and the multiversion software is driven accordingly; Decrypting the encrypted license key; After the decrypted license key is decomposed into a license type and some other information, which is compared with an original value; Finding a module according to the license type if the comparison result is matched, and transmitting the module list accordingly; The hardware, the common module, and the optimization module are loaded through the transmitted module list to drive predetermined software.

여기서, 상기 소정의 기타 정보는 사용에 제약을 두거나 일년 번호로서 작동할 내용 또는 사용자의 개인 정보를 포함하는 것을 특징으로 한다. Here, the predetermined other information is characterized by including the information to be limited to use or to operate as a year number or personal information of the user.

이와 같은 본 발명에 의하면, License Type에 따라 하나의 소프트웨어에서 필요한 모듈만을 load하여 사용하게 됨으로써, 소프트웨어를 Customizing 하거나 다양한 하드웨어 지원을 위해 발생하는 multi-version 소프트웨어에 대한 설치 및 운용을 용이토록 하는 장점이 있다. According to the present invention, it is possible to load and use only the modules required by one software according to the license type, so that it is easy to install and operate the multi-version software generated for customizing the software or supporting various hardware. have.

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

도 1은 본 발명에 의한 다중 버전 소프트웨어의 구조를 나타내는 블록도이다.1 is a block diagram showing the structure of multi-version software according to the present invention.

도 1을 참조하면, 본 발명에 의한 다중 버전 소프트웨어 구조(100)는 공통 모듈(Common Module)(110) 부분은 다중 버전의 소프트웨어 중 각 버전의 소프트웨어 들이 공용으로 사용하는 공통 모듈이며, 최적화 모듈(Customizing Module, C/M)은 사용자의 요구 사항이 반영된 최적화된 즉, 각각 커스터마이징(Customizing) 모듈(120) 부분이다.Referring to Figure 1, the multi-version software structure 100 according to the present invention is a common module (Common Module) 110, a common module that is used in common by each version of the software of the multi-version software, the optimization module ( Customizing Module (C / M) is an optimized part that reflects user's requirements, that is, a part of customizing module 120.

또한, I/F는 하드웨어 지원을 위한 인터페이스(Interface) 모듈(130)이며, H/W는 상기 소프트웨어를 사용하기 위해 필요한 하드웨어(140)이다.In addition, I / F is an interface module 130 for hardware support, and H / W is hardware 140 required to use the software.

또한, 모듈 로더(Module Loader)(170)는 라이센스 검사기(License Checker)(160)가 넘겨준 값에 따라 실제 기능을 지원할 상기 공통 모듈(110), 최적화 모듈(120), 인터페이스 모듈(130)을 구동하는 역할을 한다.In addition, the module loader 170 may load the common module 110, the optimization module 120, and the interface module 130 to support the actual function according to the value passed by the license checker 160. It acts as a driver.

이에 라이센스 검사기(License Checker)(160)는 제공된 라이센스 키(License Key)를 통하여 수행될 모듈의 종류를 분석하고 그 결과를 상기 모듈 로더(170)에 넘긴다. Accordingly, the license checker 160 analyzes the type of module to be executed through the provided license key and passes the result to the module loader 170.

또한, 라이센스 발생기(License Generator)(150)는 소프트웨어를 구매한 고객이 원하는 기능과, 하드웨어에 대해 이미 정의되어 있는 라이센스 정보를 기반으로 라이센스 키를 생성하는 역할을 한다. In addition, the license generator 150 generates a license key based on a function desired by a customer who purchased the software and license information already defined for the hardware.

본 발명은 라이센스를 이용하여 허용된 다중 버전의 소프트웨어에 대해 각 라이센스에 해당하는 소프트웨어를 사용할 수 있게 하기 위한 것으로, 소프트웨어의 각 변형에 따라 필요한 모듈과 해당 타입(Type)에 대한 라이센스(License)의 정의가 선행되어야 한다. The present invention is to enable the use of the software corresponding to each license for the multiple versions of the software permitted by using a license, and according to the modification of the software and the required license and license of the type (Type) Definition must precede.

즉, 소프트웨어를 판매하기 위해 최초 소프트웨어 디자인(Design) 단계에서 상기 공통 모듈(110), 최적화 모듈(120), 인터페이스 모듈(130)에 대해 정의하고, 이를 이용해 다중 버전의 소프트웨어 구조(100)를 구성하며, 이에 대응되는 라이센스 키를 형성한다. That is, in order to sell the software, the common module 110, the optimization module 120, and the interface module 130 are defined at the initial software design stage, and the multi-version software structure 100 is configured using the same. And a corresponding license key.

이 때 상기 최적화 모듈(Customizing Module)(120)이나 인터페이스 모듈(130)은 고객의 특정한 요구 등을 지원하는 하드웨어(140)에 따라 도 1에서와 같이 다수 존재하게 된다. At this time, the customization module 120 or the interface module 130 may be present in plural as shown in FIG. 1 according to hardware 140 that supports a specific request of a customer.

본 발명에 의할 경우 현재 사용중인 고객이 기존에 정의된 다른 기능이나 하드웨어에 대한 지원을 요구할 경우 해당 라이센스 타입을 포함하는 라이센스 키를 제공하면, 추가적인 설치 작업 없이 상기 라이센스 키의 변경만으로 로딩되는 모듈을 변경할 수 있으므로 변경된 버전의 소프트웨어를 사용할 수 있게 되는 것이다. According to the present invention, if a customer currently using the service requires a support for another previously defined function or hardware, and provides a license key including the corresponding license type, the module is loaded only by changing the license key without additional installation work. You can change this so that you can use the changed version of the software.

이와 같이 상기 다중 버전의 소프트웨어를 개발 하게 되면, 그 후 배포용 패키지(Package)를 생성하고, 계약이나 고객과의 약정에 의해 요청 받은 버전의 소프트웨어에 해당하는 라이센스 타입의 라이센스 키를 생성하여, 고객에게 상기 패키지와 라이센스 키를 배포하게 된다. When the multi-version software is developed as described above, a package for distribution is generated, and a license key of a license type corresponding to the version of the software requested by the contract or agreement with the customer is generated. The package and license key will be distributed to.

도 2는 도 1에 도시된 라이센스 발생기를 통해 라이센스 키가 생성되는 것을 설명하는 도면이고, 도 3은 도 1에 도시된 라이센스 발생기의 동작 순서를 나타내는 순서도이다.FIG. 2 is a view for explaining that a license key is generated through the license generator illustrated in FIG. 1, and FIG. 3 is a flowchart illustrating an operation sequence of the license generator illustrated in FIG. 1.

도 2를 참조하면, 상기 라이센스 키는 다중 버전의 소프트웨어에 대해 각각의 소프트웨어에 해당하는 기 정의된 라이센스 타입과, 기타 정보(즉, 사용에 제약을 두거나 일년 번호로서 작동할 내용, 사용자 개인 정보 등)를 입력으로 하여 상기 라이센스 발생기(150)를 통해 생성된다. Referring to FIG. 2, the license key includes a predefined license type corresponding to each piece of software for different versions of the software, and other information (that is, usage restrictions or contents to be operated as a year number, user personal information, etc.). ) Is generated through the license generator 150 as an input.

즉, 도 3을 참조하면, 상기 라이센스 발생기에 라이센스 키 입력요소가 입력되고(st 30), 모든 입력 요소가 입력 되었는지 확인된 후(st 31), 기 정의된 라이센스 타입 및 기타 정보(즉, 사용에 제약을 두거나 일년 번호로서 작동할 내용 등)가 정상적으로 입력된 것으로 판단되면(st 32, 33), 그에 따른 라이센스 키가 구성되고(st 34), 상기 라이센스 키가 암호화된다(st 35).That is, referring to FIG. 3, after the license key input element is input to the license generator (st 30) and all the input elements are checked (st 31), the predefined license type and other information (that is, use) If it is determined that the content is to be restricted or is operated as a year number, etc.) (st 32, 33), a license key corresponding thereto is configured (st 34), and the license key is encrypted (st 35).

도 4는 본 발명에 의한 다중 버전 소프트웨어 구조가 실행되는 순서를 나타내는 순서도이다.4 is a flow chart showing the order in which the multiple version software architecture according to the present invention is executed.

도 4를 참조하면, 본 발명에 의한 다중 버전 소프트웨어가 포함된 패키지 및 그에 따른 상기 라이센스 키를 사용자가 구입하게 되면, 상기 사용자는 상기 패키지 및 라이센스 키를 자신의 시스템에 설치한다(st 40).Referring to FIG. 4, when a user purchases a package including the multi-version software and the license key according to the present invention, the user installs the package and the license key in his system (st 40).

그 후 상기 사용자가 본 발명에 의한 다중 버전 소프트웨어를 구동(st 41)하면 상기 다중 버전 소프트웨어에 구비된 라이센스 검사기(License Checker)가 제공된 라이센스 키를 분석하여 라이센스 타입을 분류(st 42)하고, 이것이 기 정의된 라이센스 타입인지 확인(st 43)한 후 이를 상기 다중 버전 소프트웨어에 구비된 모듈 로더(Module Loader)로 전송하게 된다. Then, when the user runs the multi-version software according to the present invention (st 41), the license checker included in the multi-version software analyzes the license key provided to classify the license type (st 42). After checking whether the license type is a predefined license type (st 43), it is transmitted to a module loader included in the multi-version software.

상기 모듈 로더는 라이센스 검사기로부터 받은 값에 해당하는 하드웨어와 공통 모듈, 최적화 모듈을 로드(load)하고(st 44), 그에 따라 사용자는 본 발명에 의한 다중 버전 소프트웨어를 사용할 수 있게 된다(st 45). The module loader loads the hardware, the common module, and the optimization module corresponding to the value received from the license checker (st 44), thereby allowing the user to use the multi-version software according to the present invention (st 45). .

여기서, 만약 상기 라이센스 검사기가 라이센스 키를 분석한 결과가 정의된 라이센스 타입이 아니라면 소프트웨어는 구동 되지 않는다(st 46)Here, if the license checker analyzes the license key and the result is not a defined license type, the software does not run (st 46).

도 5는 도 1에 도시된 라이센스 검사기의 동작을 나타내는 순서도이다.5 is a flowchart illustrating an operation of a license checker shown in FIG. 1.

도 5를 참조하여, 상기 라이센스 검사기의 동작을 보다 상세히 설명하면, 상기 라이센스 검사기는 입력되는 암호화된 라이센스 키를 복호화하고(st 50), 이를 라이센스 키 생성시에 입력으로 사용한 라이센스 타입과, 기타 내용으로 분해한 다음(st 51) 상기 라이센스 타입이 이미 정의된 것인지 확인하며(st 52), 기타 내용이 원하는 값인지 비교한다(st 53). Referring to FIG. 5, the operation of the license checker will be described in more detail. The license checker decrypts an inputted encrypted license key (st 50), and uses the license type used as an input when generating a license key, and other contents. It is then decomposed to (st 51) and the license type is already defined (st 52), and other contents are compared to the desired value (st 53).

여기서, 상기 분석 결과 이상 없는 것으로 판독되면, 상기 라이센스 타입에 따른 모듈을 찾게 되며, 그에 따른 모듈 리스트를 상기 모듈 로더로 전송한다(st 54, 55). Here, if it is read that the analysis result is not abnormal, the module according to the license type is found, and the module list is transmitted to the module loader accordingly (st 54, 55).

도 6은 라이센스 타입에 따른 모듈 로딩 방법을 나타내는 도면이다.6 is a diagram illustrating a module loading method according to a license type.

즉, 라이센스 검사기에서 라이센스 키를 분석하여 라이센스 타입에 대한 해당 인터페이스와 최적화 모듈을 로딩하는 형상을 보이는 것으로, 상기 라이센스 키에서 분석된 라이센스 타입에 의해 여러 조합의 모듈로 소프트웨어를 구동할 수 있음을 보여주고 있다.In other words, the license checker analyzes the license key and loads the corresponding interface for the license type and the optimization module. The license type analyzed in the license key shows that the software can be driven by a combination of modules. Giving.

앞서 설명한 본 발명의 실시예에 더하여 불법복제 방지 및 설치 적법성을 보장하기 위해 고객의 정보를 라이센스 키의 일부로 사용하고, 이를 암호화함으로써, 고객에게 제공한 후 설치시 설치의 적법성과 구동시 구동의 적법성 여부를 복합적으로 통제할 수 있다. 이를 위해서는 상기 라이센스 발생기와 라이센스 검사기가 암호화/복호화 알고리즘을 포함하고 제품 전달 후 라이센스를 발급한다. In addition to the embodiments of the present invention described above, by using the customer's information as part of the license key to encrypt the anti-piracy and to ensure the installation legitimacy, by providing it to the customer, the legitimacy of the installation at installation and the legality of driving at the time You can control whether it is complex or not. To this end, the license generator and license checker include an encryption / decryption algorithm and issue a license after product delivery.

즉, 고객으로부터 설치 의뢰 시스템 정보(시스템 정보, 예를 들어 host id와 같이 시스템을 구별할 수 있는 값)와, 라이센스 타입을 받아 이를 이용해 암호화된 라이센스 키를 생성하고, 고객관리 DB에 저장한 다음 이를 소프트웨어 Package와 함께 고객에게 전달한다 That is, after receiving the installation system information (system information, for example, the value that can distinguish the system such as host id) from the customer, the license type is used to generate the encrypted license key, and stored in the customer management DB. Deliver this along with the software package to the customer

고객 시스템에서 소프트웨어를 설치하기 시작하면 설치 모듈에서 상기 라이센스 키를 복호화 한 후 분석하고, 고객이 설치하기로 약정한 시스템인지 확인하며, 그 결과 일치하면 설치를 진행하고 만약 일치하지 않으면 설치를 중단한다. If you start to install the software on the customer's system, the installation module decrypts and analyzes the license key, checks whether the system is agreed to be installed by the customer, and if so, proceeds with the installation and if it does not match, stops the installation. .

설치가 끝난 다음 구동을 하면 라이센스 검사기가 라이센스 키를 복호화 하여 라이센스 타입과 시스템 정보를 비교하여 라이센스 타입에 맞는 모듈 리스트를 모듈 로더에 전송하고 모듈 로더는 이를 로딩한다. After installation, the license checker decrypts the license key, compares the license type with system information, and sends the module list suitable for the license type to the module loader, which loads it.

만약 이 때 라이센스 타입이 정의된 값이 아니거나 고객이 설치 의뢰한 시스템이 아닐 경우 소프트웨어를 구동할 수 없다.If the license type is not defined at this time or the system is not requested by the customer, the software cannot be run.

본 발명에 의한 다중 버전 소프트웨어 구조 및 그 실행 방법에 의하면, License Type에 따라 하나의 소프트웨어에서 필요한 모듈만을 load하여 사용하게 됨으로써, 소프트웨어를 Customizing 하거나 다양한 하드웨어 지원을 위해 발생하는 multi-version 소프트웨어에 대한 설치 및 운용을 용이토록 하는 장점이 있다. According to the multi-version software structure according to the present invention and a method of executing the same, by installing only the necessary modules in one software according to the license type, installation of multi-version software generated for customizing the software or supporting various hardware And there is an advantage to facilitate the operation.

또한, Customizing시 생성되는 소프트웨어 소스를 각각 독립적으로 관리하게 되면 Common Modules 부분에 오류를 수정하거나 기능을 추가하게 될 경우 이것을 모든 소스에 적용해야 하는 반복적인 작업이 발생하는 반면 하나의 소스에서 소프트웨어를 개발할 경우 Common Modules 부분에 오류를 수정하거나 기능을 추가하면 부가적인 공수의 투입 없이 모든 버전의 소프트웨어에 적용할 수 있다는 장점이 있다.In addition, managing each software source that is created when customizing independently will cause repetitive tasks that need to be applied to all sources when errors or corrections are added to the Common Modules section. In this case, fixing errors or adding functions to the Common Modules section can be applied to all versions of the software without additional labor.

또한, 현재 사용중인 고객이 기존에 정의된 다른 기능이나 하드웨어에 대한 지원을 요구할 경우 해당 License Type을 포함하는 License Key를 제공하면 추가적인 설치 작업 없이 License Key의 변경만으로 load되는 모듈을 변경할 수 있으므로 변경된 버전의 소프트웨어를 사용할 수 있다. In addition, if the current customer requests support for other previously defined functions or hardware, providing a License Key including the corresponding License Type can change the module loaded by changing the License Key without additional installation work. Software is available.

도 1은 본 발명에 의한 다중 버전 소프트웨어의 구조를 나타내는 블록도.1 is a block diagram showing the structure of multiple version software in accordance with the present invention;

도 2는 도 1에 도시된 라이센스 발생기를 통해 라이센스 키가 생성되는 것을 설명하는 도면.2 is a view for explaining that a license key is generated through the license generator shown in FIG.

도 3은 도 1에 도시된 라이센스 발생기의 동작 순서를 나타내는 순서도.FIG. 3 is a flow chart showing an operation procedure of the license generator shown in FIG.

도 4는 본 발명에 의한 다중 버전 소프트웨어 구조가 실행되는 순서를 나타내는 순서도.4 is a flow chart showing the order in which the multiple version software architecture according to the present invention is executed.

도 5는 도 1에 도시된 라이센스 검사기의 동작을 나타내는 순서도.5 is a flowchart showing the operation of the license checker shown in FIG.

도 6은 라이센스 타입에 따른 모듈 로딩 방법을 나타내는 도면.6 is a diagram illustrating a module loading method according to a license type.

<도면의 주요 부분에 대한 부호의 설명><Explanation of symbols for the main parts of the drawings>

100 : 다중 버전 소프트웨어 구조 110 : 공통 모듈100: multi-version software structure 110: common module

120 : 커스터마이징 모듈 130 : 인터페이스 모듈120: customizing module 130: interface module

140 : 하드웨어 150 : 라이센스 발생기140: hardware 150: license generator

160 : 라이센스 검사기 170 : 모듈 로더160: license checker 170: module loader

Claims (5)

다중 버전의 소프트웨어에 대해 각 버전의 소프트웨어들이 공용으로 사용하는 공통 모듈과,Common modules used by each version of the software for multiple versions of the software; 사용자의 요구 사항이 반영된 최적화된 커스터마이징 모듈과,An optimized customization module that reflects your needs, 하드웨어 지원을 위한 인터페이스 모듈과,An interface module for hardware support, 상기 다중 버전의 소프트웨어에 대해 각각의 소프트웨어에 해당하는 기 정의된 라이센스 타입 및 소정의 기타 정보를 입력으로 라이센스 키를 생성하는 라이센스 발생기와,A license generator for generating a license key by inputting a predefined license type and predetermined other information corresponding to each piece of software for the multiple versions of the software; 상기 라이센스 발생기에서 제공된 라이센스 키를 통해 수행될 모듈의 종류를 분석하는 라이센스 검사기와,A license checker that analyzes a type of module to be performed through a license key provided by the license generator; 상기 라이센스 검사기에서 분석된 결과를 통해 실제 기능을 지원할 상기 공통 모듈, 최적화 모듈, 인터페이스 모듈을 구동하는 모듈 로더가 포함되는 것을 특징으로 하는 다중 버전의 소프트웨어 구조.And a module loader for driving the common module, the optimization module, and the interface module to support the actual function through the result analyzed by the license checker. 제 1항에 있어서,The method of claim 1, 상기 소정의 기타 정보는 사용에 제약을 두거나 일년 번호로서 작동할 내용을 포함하는 것을 특징으로 하는 다중 버전의 소프트웨어 구조.Wherein said predetermined other information includes content that would be constrained to use or operate as a yearly number. 제 1항에 있어서,The method of claim 1, 상기 최적화 모듈 또는 인터페이스 모듈은 고객의 특정한 요구를 지원하는 하드웨어에 따라 다수 구비됨을 특징으로 하는 다중 버전의 소프트웨어 구조.The optimization module or interface module is a multi-version software structure, characterized in that a number is provided according to the hardware to support the specific needs of the customer. 다중 버전의 소프트웨어에 대해 각각의 소프트웨어에 해당하는 기 정의된 라이센스 타입 및 소정의 기타 정보에 의해 라이센스 키가 생성되는 단계와;Generating a license key for the multiple versions of the software by a predefined license type and predetermined other information corresponding to each software; 상기 라이센스 키가 암호화되는 단계와;Encrypting the license key; 상기 다중 버전 소프트웨어 및 상기 라이센스 키가 사용자의 시스템에 설치되고, 그에 따라 상기 다중 버전 소프트웨어가 구동되는 단계와;The multiversion software and the license key are installed on a user's system, and the multiversion software is driven accordingly; 상기 암호화된 라이센스 키가 복호화되는 단계와;Decrypting the encrypted license key; 상기 복호화된 라이센스 키가 라이센스 타입 및 소정의 기타 정보로 분해된 후 이것이 최초의 값과 비교되는 단계와;After the decrypted license key is decomposed into a license type and some other information, which is compared with an original value; 비교 결과 일치하면 상기 라이센스 타입에 따른 모듈을 찾게 되며, 그에 따른 모듈 리스트가 전송되는 단계와;Finding a module according to the license type if the comparison result is matched, and transmitting the module list accordingly; 상기 전송된 모듈 리스트를 통해 그에 해당하는 하드웨어와 공통 모듈, 최적화 모듈이 로딩되어 소정의 소프트웨어가 구동되는 단계가 포함되는 것을 특징으로 하는 다중 버전의 소프트웨어 실행 방법.And loading a corresponding hardware, a common module, and an optimization module through the transmitted module list to drive a predetermined software. 제 4항에 있어서,The method of claim 4, wherein 상기 소정의 기타 정보는 사용에 제약을 두거나 일년 번호로서 작동할 내용 또는 사용자의 개인 정보를 포함하는 것을 특징으로 하는 다중 버전의 소프트웨어 실행 방법.The predetermined other information includes contents to be restricted or use as a year number or personal information of a user.
KR1020040009685A 2004-02-13 2004-02-13 Multi-version software structure and processing method thereof KR20050081440A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020040009685A KR20050081440A (en) 2004-02-13 2004-02-13 Multi-version software structure and processing method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040009685A KR20050081440A (en) 2004-02-13 2004-02-13 Multi-version software structure and processing method thereof

Publications (1)

Publication Number Publication Date
KR20050081440A true KR20050081440A (en) 2005-08-19

Family

ID=37268059

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040009685A KR20050081440A (en) 2004-02-13 2004-02-13 Multi-version software structure and processing method thereof

Country Status (1)

Country Link
KR (1) KR20050081440A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100691304B1 (en) * 2005-12-09 2007-03-12 한국전자통신연구원 Apparatus and method for dmb application program transmission using modulization of application program , and dmb broadcasting receiving apparatus and its method
KR100727864B1 (en) * 2005-06-22 2007-06-14 (주)피앤아이비 Program upgrade system and method
KR100740222B1 (en) * 2006-05-23 2007-07-16 차병래 Copyright management method of software source code
KR100782857B1 (en) * 2006-10-13 2007-12-06 삼성전자주식회사 Method of upgrading software using common module which multiple models share and digital broadcasting receiver thereof, and computer readable medium recording the method

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100727864B1 (en) * 2005-06-22 2007-06-14 (주)피앤아이비 Program upgrade system and method
KR100691304B1 (en) * 2005-12-09 2007-03-12 한국전자통신연구원 Apparatus and method for dmb application program transmission using modulization of application program , and dmb broadcasting receiving apparatus and its method
KR100740222B1 (en) * 2006-05-23 2007-07-16 차병래 Copyright management method of software source code
KR100782857B1 (en) * 2006-10-13 2007-12-06 삼성전자주식회사 Method of upgrading software using common module which multiple models share and digital broadcasting receiver thereof, and computer readable medium recording the method

Similar Documents

Publication Publication Date Title
US7890428B2 (en) Flexible licensing architecture for licensing digital application
US6363486B1 (en) Method of controlling usage of software components
US11012241B2 (en) Information handling system entitlement validation
US7890430B2 (en) Technique for license management and online software license enforcement
US7584512B2 (en) Restricted software and hardware usage on a computer
US8230222B2 (en) Method, system and computer program for deploying software packages with increased security
EP0754380B1 (en) Method for electronic license distribution
CN103154956B (en) For the method and apparatus of downloading digital copyright management module
US20050204405A1 (en) Method and system for digital rights management
KR19980081644A (en) Information processing apparatus, methods and recording media
CN101331470A (en) Licensing upsell
JP2007265404A (en) Scoped permissions for software application deployment
KR20090048581A (en) Portable mass storage with virtual machine activation
US20020073336A1 (en) Method and apparatus for encrypted electronic file access control
US20090271875A1 (en) Upgrade Module, Application Program, Server, and Upgrade Module Distribution System
US20090018962A1 (en) Method for activating application module
KR20050081440A (en) Multi-version software structure and processing method thereof
EP1174786A2 (en) Method, system, and program for reusing software licenses with new computer hardware
JP4655613B2 (en) Program execution apparatus and program execution method
Gerrits Implementing a DRM-Preserving Digital Content Redistribution System
JP2001256117A (en) Information processor, information processing system, work piece use accepting method and storage medium

Legal Events

Date Code Title Description
N231 Notification of change of applicant
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid