WO2015029242A1 - ライセンス管理装置、ライセンス管理方法、及びプログラム - Google Patents

ライセンス管理装置、ライセンス管理方法、及びプログラム Download PDF

Info

Publication number
WO2015029242A1
WO2015029242A1 PCT/JP2013/073485 JP2013073485W WO2015029242A1 WO 2015029242 A1 WO2015029242 A1 WO 2015029242A1 JP 2013073485 W JP2013073485 W JP 2013073485W WO 2015029242 A1 WO2015029242 A1 WO 2015029242A1
Authority
WO
WIPO (PCT)
Prior art keywords
program
license
programs
oss
unit
Prior art date
Application number
PCT/JP2013/073485
Other languages
English (en)
French (fr)
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 JP2015533909A priority Critical patent/JP6045707B2/ja
Priority to PCT/JP2013/073485 priority patent/WO2015029242A1/ja
Publication of WO2015029242A1 publication Critical patent/WO2015029242A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/105Arrangements for software license management or administration, e.g. for managing licenses at corporate level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • 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
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/18Legal services
    • G06Q50/184Intellectual property management

Definitions

  • the present invention relates to a license management apparatus, a license management method, and a program for managing licenses of a plurality of programs constituting software.
  • Patent Document 1 discloses a system for checking an OSS license in order to reduce the great man-hours. Specifically, the system disclosed in Patent Document 1 checks the license of the OSS when the user downloads the OSS from the Internet. When building the software created by the user using the OSS, the system determines whether the software does not violate the license of the OSS, and outputs the result.
  • OSSs propagate licenses not only to software that uses the OSS directly, but also to software that uses the OSS indirectly.
  • GPL GNU General Public License
  • the system disclosed in Patent Document 1 can determine whether the modification of the OSS by the user and the link to the OSS violate the license of the OSS, but the software using the OSS indirectly. It is difficult to determine whether or not the OSS license is violated.
  • the present invention has been made in view of the above circumstances, and an object of the present invention is to provide a license management apparatus, a license management method, and a program capable of managing licenses of a plurality of programs constituting software without omission. To do.
  • the program acquisition unit acquires a plurality of programs constituting the software.
  • the dependency relationship acquisition unit acquires dependency relationship information representing a dependency relationship between a plurality of programs acquired by the program acquisition unit.
  • the specifying unit specifies a program having a predetermined license from among the plurality of programs acquired by the program acquiring unit. Whether the determination unit has a dependency relationship with a program having a predetermined license based on the dependency relationship information acquired by the dependency relationship acquisition unit for a program other than the program specified by the specifying unit among the plurality of programs Determine whether.
  • the present invention it is possible to specify a range in which a license is propagated based on a dependency relationship between a plurality of programs constituting the software. Therefore, it is possible to manage licenses of a plurality of programs constituting the software without omission. it can.
  • FIG. 1 is a schematic block diagram showing a configuration example of a license management system 1 according to an embodiment of the present invention.
  • the license management system 1 includes an information processing apparatus 100 that generates software that is a license management target, a license management apparatus 200 that manages a license of software generated by the information processing apparatus 100, and And a network 300 connected to the license management apparatus 200 so as to be communicable by wire or wireless.
  • the information processing apparatus 100 includes a general information processing apparatus such as a personal computer.
  • Software generated in the information processing apparatus 100 is composed of a plurality of programs.
  • the plurality of programs include a program uniquely created by the user and an OSS acquired from the outside such as the Internet.
  • the OSS is a program that is open to the public and can be used, redistributed, and modified by anyone for free, and can create and distribute derivative software.
  • the software generated in the information processing apparatus 100 may be executed by the information processing apparatus 100, or may be incorporated in a device (not shown) and operated.
  • the license management apparatus 200 manages the software license generated by the information processing apparatus 100. Specifically, the license management apparatus 200 checks the OSS licenses included in a plurality of programs constituting the software generated by the information processing apparatus 100 and outputs the result.
  • the network 300 is configured from the Internet, for example.
  • FIG. 2 shows an example of the hardware configuration of the license management apparatus 200 according to this embodiment.
  • the license management apparatus 200 includes a control unit 210, a storage unit 220, a communication unit 230, an input unit 240, and an output unit 250, and each unit is connected by a bus 260. .
  • the control unit 210 includes, for example, a CPU (Central Processing Unit), a ROM (Read Only Memory) that stores a program executed by the CPU, and a RAM (Random Access Memory) that temporarily stores data generated by the CPU.
  • the entire license management apparatus 200 is controlled.
  • the storage unit 220 includes a writable storage device such as a hard disk drive, flash memory, or SSD (Solid State Drive).
  • the storage unit 220 stores a license information table 221, an OSS information table 222, and a non-OSS information table 223.
  • the license information table 221 stores information for specifying a license and information indicating the type of the license.
  • FIG. 3 shows an example of data stored in the license information table 221.
  • the license information table 221 shown in FIG. 3 information indicating the license specifying information and the license type is stored in association with each other.
  • the license specifying information is information for specifying a license, and is, for example, a keyword generally described in a source code of a program having the license.
  • the license type represents the type of license. Specific license types are, for example, GPL, BSD (Berkeley Software Distribution License), and the like.
  • Various data stored in the license information table 221 is input in advance by a user in charge of license management, for example, and stored in the license information table 221.
  • the GPL is a license in which the influence of the OSS license is propagated to the entire software using a certain OSS, such as the release of the source code, that is, the influence of the OSS license is propagated.
  • a certain OSS has a GPL
  • programs such as a program created by modifying the OSS, a program in which the OSS is incorporated, and a program including a link to the OSS also have the GPL. . Therefore, these programs are also required to release the source code.
  • the BSD license is a license that has only a limited number of conditions and is required to satisfy a predetermined condition when using and redistributing the OSS having the BSD license.
  • a program obtained by modifying an OSS having a BSD license can make its source code private.
  • the license management apparatus 200 specifies the range in which the GPL is propagated in a plurality of programs constituting the software that is the license management target, assuming that the GPL has the propagation property and the BSD license does not have the propagation property. To do.
  • the OSS information table 222 stores information on the OSS included in a plurality of programs constituting the software that is the license management target.
  • FIG. 4 shows an example of data stored in the OSS information table 222.
  • the OSS information table 222 shown in FIG. 4 includes, for each OSS, an OSS file name, OSS version information, an OSS license type, an OSS URI (Uniform Resource Identifier), and an OSS usage record. Information to represent is stored in association with each other. Specifically, when the OSS is published on the Internet web, the URI of the OSS is the address of the web page. In addition, the actual use of the OSS is information representing a company using the OSS, a device using the OSS, a model number of the device, and the like. Various types of data stored in the OSS information table 222 are collected via the Internet and stored in the OSS information table 222 by processing to be described later.
  • the non-OSS information table 223 stores information related to programs (non-OSS) other than OSS included in a plurality of programs constituting software that is a license management target.
  • FIG. 5 shows an example of data stored in the non-OSS information table 223.
  • the non-OSS information table 223 shown in FIG. 5 stores information indicating a non-OSS file name, presence / absence of license propagation, propagation source license type, and propagation source file name in association with each other. Has been.
  • the presence / absence of license propagation indicates whether the non-OSS is affected by license propagation.
  • the presence / absence of license propagation is “Y”
  • the non-OSS is affected by license propagation.
  • the presence / absence of license propagation is “N”
  • the propagation source license type is the OSS license type that causes the non-OSS to be affected when the non-OSS is affected by license propagation.
  • the propagation source file name is the OSS file name that causes the non-OSS to be affected when the non-OSS is affected by license propagation.
  • Various data stored in the non-OSS information table 223 is generated in a process described later and stored in the non-OSS information table 223.
  • the communication unit 230 includes an interface for performing wireless or wired communication with the information processing apparatus 100 and the network 300.
  • the input unit 240 includes input devices such as buttons, a touch panel, and a keyboard.
  • the input unit 240 receives an operation input from the user and outputs an operation input signal corresponding to the received operation input to the control unit 210.
  • the output unit 250 includes a display device such as a CRT (Cathode Ray Tube) or a liquid crystal display, and displays data such as characters and images supplied from the control unit 210.
  • a display device such as a CRT (Cathode Ray Tube) or a liquid crystal display, and displays data such as characters and images supplied from the control unit 210.
  • FIG. 6 is a schematic block diagram illustrating an example of a functional configuration of the control unit 210.
  • the control unit 210 functions as a program acquisition unit 211, a dependency relationship acquisition unit 212, a specification unit 213, an information collection unit 214, a determination unit 215, and a result output unit 216.
  • the program acquisition unit 211 acquires a plurality of programs constituting software generated in the information processing apparatus 100 from the information processing apparatus 100. In addition, the program acquisition unit 211 acquires an OSS archive including at least one OSS used for the software from the information processing apparatus 100.
  • the dependency relationship acquisition unit 212 acquires a dependency relationship between a plurality of programs acquired by the program acquisition unit 211.
  • the dependency relationship between programs is, for example, a relationship that a certain program uses in the form of linking another program.
  • the link includes a dynamic link and a static link.
  • the dependency relationship acquisition unit 212 refers to “makefile” included in a plurality of programs acquired by the program acquisition unit 211 or uses a command for extracting dependency relationships implemented in software.
  • the dependency relationship is acquired by a generally known method.
  • FIG. 7 is a diagram schematically illustrating an example of the dependency relationship acquired by the dependency relationship acquiring unit 212.
  • the dependency relationship illustrated in FIG. 7 is represented by a tree structure including a node representing each of a plurality of programs acquired by the program acquisition unit 211 and a link connecting nodes representing programs having a dependency relationship. For example, when the program “xxx.c” is used by linking two programs “abc.c” and “xxxx.c”, the node representing the program “xxx.c” is “abc .c "and” xxxx.c "nodes are connected by links.
  • the identifying unit 213 identifies a program having a predetermined license from among a plurality of programs acquired by the program acquiring unit 211.
  • the specifying unit 213 refers to the license information table 221 and specifies a program including license specifying information stored in the license information table 221 from among a plurality of programs. For example, the specifying unit 213 determines whether the keyword “GNUGGeneral Public License” is included as license specifying information for each source code of a plurality of programs acquired by the program acquiring unit 211. Then, the specifying unit 213 specifies the program including the keyword as an OSS whose license type is “GPL”. Then, the specifying unit 213 stores the file name of the program specified as the OSS in the OSS information table 222.
  • the specifying unit 213 when specifying the OSS from among a plurality of programs constituting the software, the specifying unit 213 has a predetermined license for the binary file of the program as well as the source code that is a text file of the program. It may be determined whether or not.
  • the specifying unit 213 refers to the license information table 221 for a program already stored in the OSS archive acquired by the program acquisition unit 211 among the plurality of programs acquired by the program acquisition unit 211. It is not necessary to determine whether or not it is an OSS. That is, the specifying unit 213 may store the file name of the program in the OSS information table 222 without determining whether or not the program is an OSS.
  • the specifying unit 213 specifies a program that has not specified a program having a predetermined license as a non-OSS from among a plurality of programs acquired by the program acquiring unit 211. Then, the specifying unit 213 stores the file name of the program specified as non-OSS in the non-OSS information table 223.
  • the information collecting unit 214 collects various information related to the program specified by the specifying unit 213 via the network 300. Specifically, the information collection unit 214 searches the Internet for each program specified by the specifying unit 213 using a program that matches or partially matches the file name of the program or the source code of the program as a keyword. To do. Then, the information collection unit 214 collects the URI of the searched program and the usage record published in association with the searched program, and stores it in the OSS information table 222.
  • the determination unit 215 determines whether the program identified as non-OSS by the identifying unit 213 has a dependency relationship with a program having a predetermined license based on the dependency relationship acquired by the dependency relationship acquiring unit 212. . Specifically, the determination unit 215 traces the dependency relationship acquired by the dependency relationship acquisition unit 212 for each non-OSS stored in the non-OSS information table 223, and stores the OSS stored in the OSS information table 222. For example, it is determined whether or not there is a dependency relationship with an OSS whose license type is “GPL”.
  • the determination unit 215 includes, among the subordinate nodes of the node representing “MThij.c”, from the dependency shown in FIG. It identifies that there is a node representing “abc.c” whose license type is “GPL” stored in the OSS information table 222. Then, the determining unit 215 associates “MThij.c” with “MT” in the non-OSS information table 223, “GPL” as the propagation type of the license, “GPL” as the propagation source license type, and “abc. Stores c ".
  • the result output unit 216 outputs the data stored in the OSS information table 222 and the non-OSS information table 223 to the output unit 250.
  • the software diagnosis process is executed, for example, when the CPU of the control unit 210 reads a program stored in the ROM.
  • FIG. 8 is an example of a flowchart of software diagnosis processing executed by the control unit 210 of the license management apparatus 200.
  • the software diagnosis process is started when the user receives an operation input indicating the start of execution of the software diagnosis process via the input unit 240.
  • the program acquisition unit 211 acquires, from the information processing apparatus 100, a plurality of programs and OSS archives that constitute software that is a license management target (step S101).
  • the dependency relationship acquisition unit 212 acquires dependency relationship information representing the dependency relationships between the plurality of programs acquired in step S101 (step S102).
  • the specifying unit 213 refers to the license information table 221 for a program that is not stored in the OSS archive acquired in step S101 among the plurality of programs acquired in step S101, and determines a program that is an OSS. Specify (step S103). Further, the identifying unit 213 identifies the same program as the program stored in the OSS archive obtained in Step S101 among the plurality of programs obtained in Step S101 as the OSS. Then, the specifying unit 213 stores the file name of the program specified as the OSS in the OSS information table 222.
  • the information collection unit 214 collects the URI and usage record of the OSS via the Internet and stores them in the OSS information table 222 (step S104).
  • the identifying unit 213 identifies, as a non-OSS, a program that has not been identified as an OSS in step S103 among a plurality of programs acquired in step S101 (step S105). Then, the specifying unit 213 stores the file name of the program specified as non-OSS in the non-OSS information table 223.
  • the determination unit 215 determines the presence / absence of license propagation for each non-OSS stored in the non-OSS information table 223 based on the dependency relationship information acquired in step S102 (step S106). When it is determined that there is license propagation, the determination unit 215 indicates that there is license propagation, the license type of the propagation source, and the file name of the propagation source OSS in association with the non-OSS file name. Information is stored in the non-OSS information table 223.
  • the result output unit 216 outputs and displays the various information stored in the OSS information table 222 and the various information stored in the non-OSS information table 223 on the output unit 250 (step S107). For example, the result output unit 216 outputs various types of information stored in the OSS information table 222 and the non-OSS information table 223 in a table format as shown in FIGS. At this time, the result output unit 216 may highlight information that matches a preset condition. For example, the result output unit 216 may highlight various non-OSS information stored in the non-OSS information table 223 and whose license propagation is “Y”. Then, the software diagnosis process ends.
  • the license management apparatus 200 identifies either OSS or non-OSS for a plurality of programs constituting software that is a license management target. Then, the license management apparatus 200 determines whether or not there is license propagation by the OSS having a dependency relationship for the specified non-OSS. Therefore, the license management apparatus 200 can specify a program having a dependency relationship with the OSS to which the influence of the license propagates, and can manage the license without omission.
  • the license management apparatus 200 acquires a plurality of programs and OSS archives that constitute software that is a license management target from the information processing apparatus 100, but is a license management target.
  • the acquisition method of software etc. is not restricted to this.
  • data such as software that is a license management target may be recorded on a medium such as a DVD (Digital Versatile Disk), and the license management apparatus 200 may read the DVD to obtain data such as software. .
  • the license management apparatus 200 and the information processing apparatus 100 are realized by separate devices.
  • the above-described functions of both apparatuses have one personal computer. Or the like.
  • the software development environment to be managed by the license and the function of the license management apparatus 200 are realized by the same device, and the device is a device in which the OSS is incorporated. You may be comprised so that communication is possible.
  • the software that realizes the function of the license management apparatus 200 may be installed in a device in which the function of the information processing apparatus 100 is incorporated when necessary, and may be uninstalled when it becomes unnecessary. .
  • both a function as a software development environment and a function as an execution environment of the software are realized by a single device.
  • both functions may be implemented by separate devices that are communicatively connected.
  • the program executed by the license management apparatus 200 is a computer-readable recording medium such as a flexible disk, a CD-ROM (Compact Disk Read-Only Memory), a DVD, or an MO (Magneto-Optical Disk). It may be stored in and distributed. And the apparatus which performs the above-mentioned process may be comprised by installing the program in information processing apparatus, such as a personal computer.
  • the program may be stored in a disk device or the like included in a predetermined server device on a communication network such as the Internet.
  • the program may be downloaded, for example, superimposed on a carrier wave.
  • the present invention is suitable for license management of a plurality of programs constituting software.
  • license management system 100 information processing device, 200 license management device, 210 control unit, 211 program acquisition unit, 212 dependency acquisition unit, 213 identification unit, 214 information collection unit, 215 determination unit, 216 result output unit, 220 storage Part, 221 license information table, 222 OSS information table, 223 non-OSS information table, 230 communication part, 240 input part, 250 output part, 260 bus, 300 network

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Technology Law (AREA)
  • General Physics & Mathematics (AREA)
  • Tourism & Hospitality (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Human Resources & Organizations (AREA)
  • General Business, Economics & Management (AREA)
  • General Health & Medical Sciences (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Multimedia (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

プログラム取得部(211)が、ソフトウェアを構成する複数のプログラムを取得する。依存関係取得部(212)は、プログラム取得部(211)により取得された複数のプログラム間の依存関係を表す依存関係情報を取得する。特定部(213)は、プログラム取得部(211)により取得された複数のプログラムのうちから、例えばGPLを有するプログラムを特定する。判定部(215)は、複数のプログラムのうち、特定部(213)により特定されたプログラム以外のプログラムについて、依存関係取得部(212)により取得された依存関係情報に基づいて、GPLを有するプログラムと依存関係があるか否かを判定する。

Description

ライセンス管理装置、ライセンス管理方法、及びプログラム
 本発明は、ソフトウェアを構成する複数のプログラムのライセンスを管理するライセンス管理装置、ライセンス管理方法、及びプログラムに関する。
 近年、オープン・ソース・ソフトウェア(OSS)を利用した、ソフトウェアの開発が盛んとなっている。OSSの中には、そのOSSを利用した場合に、一定の条件を課すライセンスを伴うものが多い。従って、OSSを特に商用で利用する場合、そのライセンスの調査や管理に多大な工数が必要となる。特許文献1は、この多大な工数を減らすため、OSSのライセンスをチェックするシステムを開示している。具体的には、特許文献1に開示されたシステムは、ユーザがOSSをインターネットからダウンロードした際、そのOSSのライセンスをチェックする。そして、ユーザがそのOSSを用いて作成したソフトウェアをビルドする際、そのシステムは、そのソフトウェアが、そのOSSのライセンスに違反していないか判定し、その結果を出力する。
特開2008-191889号公報
 OSSの中には、そのライセンスが、そのOSSを直接的に用いたソフトウェアだけでなく、そのOSSを間接的に用いたソフトウェアに伝播するものがある。例えば、OSSのライセンスの1つであるGPL(GNU General Public License)では、GPLを有するプログラムAを用いたプログラムBだけでなく、プログラムBを用いたプログラムCにも、GPLの影響が及ぶ。しかし、特許文献1に開示されたシステムは、ユーザによるOSSの改変、そのOSSへのリンクが、そのOSSのライセンスに違反しているか否かを判定できるが、そのOSSを間接的に用いたソフトウェアについては、そのOSSのライセンスに違反しているか判定することは、困難である。
 本発明は、上記実情に鑑みてなされたものであり、ソフトウェアを構成する複数のプログラムのライセンスを漏れなく管理することが可能なライセンス管理装置、ライセンス管理方法、及びプログラムを提供することを目的とする。
 上記目的を達成するために、本発明に係るライセンス管理装置では、プログラム取得部が、ソフトウェアを構成する複数のプログラムを取得する。依存関係取得部は、プログラム取得部により取得された複数のプログラム間の依存関係を表す依存関係情報を取得する。特定部は、プログラム取得部により取得された複数のプログラムのうちから、所定のライセンスを有するプログラムを特定する。判定部は、複数のプログラムのうち、特定部により特定されたプログラム以外のプログラムについて、依存関係取得部により取得された依存関係情報に基づいて、所定のライセンスを有するプログラムと依存関係があるか否かを判定する。
 本発明によれば、ソフトウェアを構成する複数のプログラム間の依存関係に基づいて、ライセンスが伝播する範囲を特定することができるため、ソフトウェアを構成する複数のプログラムのライセンスを漏れなく管理することができる。
実施形態に係るライセンス管理システムの構成例を示す概略ブロック図である。 本実施形態に係るライセンス管理装置のハードウェア構成の一例を示す概略ブロック図である。 ライセンス情報テーブルに格納されるデータの一例を示す図である。 OSS情報テーブルに格納されるデータの一例を示す図である。 非OSS情報テーブルに格納されるデータの一例を示す図である。 制御部の機能構成の一例を示す概略ブロック図である。 依存関係取得部により取得された依存関係の一例を模式的に表す図である。 ソフトウェア診断処理のフローチャートの一例である。
 本発明の実施の形態について、図面を参照して詳細に説明する。
(実施形態)
 図1は、本発明の実施形態に係るライセンス管理システム1の構成例を示す概略ブロック図である。図1に示すように、ライセンス管理システム1は、ライセンスの管理対象であるソフトウェアが生成される情報処理装置100と、情報処理装置100により生成されたソフトウェアのライセンスを管理するライセンス管理装置200と、ライセンス管理装置200と有線または無線により通信可能に接続されたネットワーク300と、を備える。
 情報処理装置100は、パーソナルコンピュータ等の一般的な情報処理装置から構成される。情報処理装置100において生成されるソフトウェアは、複数のプログラムから構成される。複数のプログラムは、ユーザが独自に作成したプログラムと、インターネット等の外部から取得されたOSSと、を含む。ここで、OSSは、一般に公開され、誰でも、無償で、利用や再配布、改変することができ、また、派生ソフトウェアの作成や配布を行うことができるプログラムである。情報処理装置100において生成されたソフトウェアは、情報処理装置100において実行されるものであってもよいし、例えば、図示しない機器に組み込まれ、その機器を動作させるものであってもよい。
 ライセンス管理装置200は、情報処理装置100により生成されたソフトウェアのライセンスを管理する。具体的には、ライセンス管理装置200は、情報処理装置100により生成されたソフトウェアを構成する複数のプログラムに含まれるOSSのライセンスをチェックし、その結果を出力する。
 ネットワーク300は、例えば、インターネットから構成される。
 次に、本実施形態におけるライセンス管理装置200の構成について詳細に説明する。
 図2に本実施形態に係るライセンス管理装置200のハードウェア構成の一例を示す。図2に示すように、ライセンス管理装置200は、制御部210と、記憶部220と、通信部230と、入力部240と、出力部250と、を備え、各部はバス260により接続されている。
 制御部210は、例えば、CPU(Central Processing Unit)、CPUが実行するプログラムを格納するROM(Read Only Memory)、CPUが生成したデータを一時的に格納するRAM(Random Access Memory)から構成され、ライセンス管理装置200全体の制御を行う。
 記憶部220は、ハードディスクドライブや、フラッシュメモリ、SSD(Solid State Drive)のような、書き込み可能な記憶装置から構成される。記憶部220は、ライセンス情報テーブル221と、OSS情報テーブル222と、非OSS情報テーブル223と、を記憶する。
 ライセンス情報テーブル221は、ライセンスを特定するための情報と、そのライセンスの種別とを表す情報を格納する。
 図3に、ライセンス情報テーブル221に格納されるデータの一例を示す。図3に示すライセンス情報テーブル221には、ライセンス特定情報と、ライセンス種別と、を表す情報が対応付けて格納されている。ライセンス特定情報は、ライセンスを特定するための情報であって、例えば、そのライセンスを有するプログラムのソースコード中に一般的に記述されるキーワードである。ライセンス種別は、ライセンスの種類を表す。具体的なライセンスの種類は、例えば、GPL、BSD(Berkeley Software Distribution License)等である。ライセンス情報テーブル221に格納される各種データは、予め、例えばライセンス管理を担当するユーザにより、入力され、ライセンス情報テーブル221に格納される。
 ここで、GPLは、あるOSSを利用したソフトウェア全体に対して、そのソースコードの公開等、そのOSSのライセンスの影響が及ぶ、すなわち、そのOSSのライセンスの影響が伝播するライセンスである。例えば、あるOSSが、GPLを有する場合、そのOSSを改変することにより作成されたプログラム、そのOSSが組み込まれたプログラム、そのOSSへのリンクを含むプログラム等のプログラムも、GPLを有することとなる。従って、それらのプログラムも、そのソースコードを公開することが義務付けられる。
 これに対し、BSDライセンスは、BSDライセンスを有するOSSの利用、再配布にあたり、所定の条件を満たせばよく、制限が少ないライセンスである。BSDライセンスを有するOSSを改変したプログラムは、そのソースコードを非公開にすることができる。
 従って、本実施形態に係るライセンス管理装置200は、GPLは伝播性があり、BSDライセンスは伝播性がないとして、ライセンス管理対象であるソフトウェアを構成する複数のプログラムにおいて、GPLが伝播する範囲を特定する。
 OSS情報テーブル222は、ライセンス管理対象であるソフトウェアを構成する複数のプログラムに含まれるOSSに関する情報を格納する。
 図4に、OSS情報テーブル222に格納されるデータの一例を示す。図4に示すOSS情報テーブル222には、OSS毎に、OSSのファイル名と、OSSのバージョン情報と、OSSのライセンス種別と、OSSのURI(Uniform Resource Identifier)と、OSSの利用実績と、を表す情報が対応付けて格納されている。OSSのURIは、具体的には、そのOSSがインターネットのウェブ上で公開されている場合、そのウェブページのアドレスである。また、OSSの利用実績は、具体的には、そのOSSを利用している会社、そのOSSを利用している機器、その機器の型番等を表す情報である。OSS情報テーブル222に格納される各種データは、後述する処理により、インターネットを介して収集され、OSS情報テーブル222に格納される。
 非OSS情報テーブル223は、ライセンス管理対象であるソフトウェアを構成する複数のプログラムに含まれる、OSS以外のプログラム(非OSS)に関する情報を格納する。
 図5に、非OSS情報テーブル223に格納されるデータの一例を示す。図5に示す非OSS情報テーブル223には、非OSS毎に、非OSSのファイル名と、ライセンス伝播の有無と、伝播元ライセンス種別と、伝播元ファイル名と、を表す情報が対応付けて格納されている。ライセンス伝播の有無は、その非OSSが、ライセンス伝播の影響を受けるか否かを表す。図5において、ライセンス伝播の有無が"Y"である場合、その非OSSはライセンス伝播の影響を受ける。また、ライセンス伝播の有無が"N"である場合、その非OSSはライセンス伝播の影響を受けない。伝播元ライセンス種別は、その非OSSがライセンス伝播の影響を受ける場合、その非OSSに影響を与える原因であるOSSのライセンス種別である。また、伝播元ファイル名は、その非OSSがライセンス伝播の影響を受ける場合、その非OSSに影響を与える原因であるOSSのファイル名である。非OSS情報テーブル223に格納される各種データは、後述する処理において生成され、非OSS情報テーブル223に格納される。
 通信部230は、情報処理装置100及びネットワーク300と、無線または有線による通信を行うためのインターフェースから構成される。
 入力部240は、ボタン、タッチパネル、キーボード等の入力装置から構成される。入力部240は、ユーザからの操作入力を受け付け、受け付けた操作入力に対応する操作入力信号を制御部210に出力する。
 出力部250は、CRT(Cathode Ray Tube)や液晶ディスプレイ等の表示装置から構成され、制御部210から供給される文字や画像等のデータを表示する。
 次に、ライセンス管理装置200の制御部210の機能について説明する。図6は、制御部210の機能構成の一例を示す概略ブロック図である。図6に示すように、制御部210は、プログラム取得部211、依存関係取得部212、特定部213、情報収集部214、判定部215、結果出力部216として機能する。
 プログラム取得部211は、情報処理装置100から、情報処理装置100において生成されたソフトウェアを構成する複数のプログラムを取得する。また、プログラム取得部211は、そのソフトウェアに利用されている、少なくとも1つのOSSから構成されるOSSアーカイブを、情報処理装置100から取得する。
 依存関係取得部212は、プログラム取得部211により取得された複数のプログラム間の依存関係を取得する。プログラム間の依存関係は、例えば、あるプログラムが、他のプログラムをリンクするという形式で利用している関係である。リンクには、動的リンクや静的リンクが含まれる。具体的には、依存関係取得部212は、プログラム取得部211により取得された複数のプログラムに含まれる"makefile"の参照、または、ソフトウェアに実装されている依存関係を抽出するためのコマンドの使用等、一般的に知られている手法により、依存関係を取得する。
 図7は、依存関係取得部212により取得された依存関係の一例を模式的に表す図である。図7に示す依存関係は、プログラム取得部211により取得された複数のプログラムそれぞれを表すノードと、依存関係があるプログラムを表すノード間を結ぶリンクと、から構成される木構造で表される。例えば、プログラム"xxx.c"が、"abc.c"と"xxxx.c"との2つのプログラムをリンクすることにより利用している場合、プログラム"xxx.c"を表すノードは、"abc.c"と"xxxx.c"を表すノードそれぞれと、リンクにより結ばれる。
 特定部213は、プログラム取得部211により取得された複数のプログラムのうちから、所定のライセンスを有するプログラムを特定する。具体的には、特定部213は、ライセンス情報テーブル221を参照し、複数のプログラムのうちから、ライセンス情報テーブル221に格納されたライセンス特定情報を含むプログラムを特定する。例えば、特定部213は、プログラム取得部211により取得された複数のプログラムのソースコード毎に、ライセンス特定情報として、"GNU General Public License"というキーワードが含まれているか否か判定する。そして、特定部213は、そのキーワードが含まれるプログラムを、ライセンス種別が"GPL"であるOSSとして、特定する。そして、特定部213は、OSSとして特定したプログラムのファイル名を、OSS情報テーブル222に格納する。
 また、特定部213は、ソフトウェアを構成する複数のプログラムのうちからOSSを特定する際に、プログラムのテキストファイルであるソースコードの他、プログラムのバイナリ形式のファイルについても、所定のライセンスを有するプログラムか否かを判定してもよい。
 なお、特定部213は、プログラム取得部211により取得された複数のプログラムのうち、プログラム取得部211により取得されたOSSアーカイブにすでに格納されているプログラムについては、ライセンス情報テーブル221を参照して、OSSか否か判定しなくてもよい。すなわち、特定部213は、そのプログラムがOSSか否かの判定を行わずに、そのプログラムのファイル名をOSS情報テーブル222に格納してもよい。
 また、特定部213は、プログラム取得部211により取得された複数のプログラムのうちから、所定のライセンスを有するプログラムを特定しなかったプログラムを、非OSSとして特定する。そして、特定部213は、非OSSとして特定したプログラムのファイル名を、非OSS情報テーブル223に格納する。
 情報収集部214は、特定部213により特定されたプログラムに関連する各種情報を、ネットワーク300を介して収集する。具体的には、情報収集部214は、特定部213により特定されたプログラム毎に、そのプログラムのファイル名、またはそのプログラムのソースコードと一致、または部分一致するプログラムをキーワードとして、インターネット上で検索する。そして、情報収集部214は、検索されたプログラムのURI、及び、その検索されたプログラムと関連付けて公開されている利用実績を収集し、OSS情報テーブル222に格納する。
 判定部215は、特定部213により非OSSとして特定されたプログラムについて、依存関係取得部212により取得された依存関係に基づいて、所定のライセンスを有するプログラムと依存関係があるか否かを判定する。具体的には、判定部215は、非OSS情報テーブル223に格納されている非OSS毎に、依存関係取得部212により取得された依存関係を辿って、OSS情報テーブル222に格納されているOSSのうち、例えばライセンス種別が"GPL"であるOSSと依存関係があるか否かを判定する。例えば、非OSS情報テーブル223に格納されているファイル名"MThij.c"について、判定部215は、図7に示す依存関係から、"MThij.c"を表すノードの下位のノードの中に、OSS情報テーブル222に格納されている、ライセンス種別が"GPL"の"abc.c"を表すノードが存在することを特定する。そして、判定部215は、非OSS情報テーブル223に、"MThij.c"と対応付けて、ライセンス伝播の有無に"Y"、伝播元ライセンス種別に"GPL"、伝播元ファイル名に"abc.c"を格納する。
 結果出力部216は、OSS情報テーブル222及び非OSS情報テーブル223に格納されたデータを、出力部250に出力する。
 次に、本実施形態に係るライセンス管理装置200の動作について説明する。
 ライセンス管理装置200の制御部210が実行するソフトウェア診断処理について説明する。ソフトウェア診断処理は、例えば制御部210のCPUがROMに記憶されたプログラムを読み込むことにより実行される。
 図8は、ライセンス管理装置200の制御部210が実行するソフトウェア診断処理のフローチャートの一例である。ソフトウェア診断処理は、例えば、ユーザにより、入力部240を介して、ソフトウェア診断処理の実行開始を表す旨の操作入力を受け取ったことを契機として、開始する。
 まず、プログラム取得部211は、情報処理装置100から、ライセンスの管理対象であるソフトウェアを構成する複数のプログラムと、OSSアーカイブと、を取得する(ステップS101)。
 次に、依存関係取得部212は、ステップS101において取得された複数のプログラム間の依存関係を表す依存関係情報を取得する(ステップS102)。
 次に、特定部213は、ステップS101において取得された複数のプログラムのうち、ステップS101において取得されたOSSアーカイブに格納されていないプログラムについて、ライセンス情報テーブル221を参照して、OSSであるプログラムを特定する(ステップS103)。また、特定部213は、ステップS101において取得された複数のプログラムのうち、ステップS101において取得されたOSSアーカイブに格納されているプログラムと同じプログラムを、OSSとして特定する。そして、特定部213は、OSSとして特定したプログラムのファイル名を、OSS情報テーブル222に格納する。
 次に、情報収集部214は、OSS情報テーブル222に格納されている各OSSについて、インターネットを介して、そのOSSのURIや利用実績を収集し、OSS情報テーブル222に格納する(ステップS104)。
 次に、特定部213は、ステップS101において取得された複数のプログラムのうち、ステップS103においてOSSとして特定されなかったプログラムを非OSSとして特定する(ステップS105)。そして、特定部213は、非OSSとして特定したプログラムのファイル名を、非OSS情報テーブル223に格納する。
 次に、判定部215は、非OSS情報テーブル223に格納されている各非OSSについて、ステップS102において取得された依存関係情報に基づいて、ライセンス伝播の有無を判定する(ステップS106)。ライセンス伝播が有ると判定した場合、判定部215は、その非OSSのファイル名と対応付けて、ライセンス伝播が有る旨と、その伝播元のライセンス種別と、伝播元のOSSのファイル名とを表す情報を、非OSS情報テーブル223に格納する。
 次に、結果出力部216は、OSS情報テーブル222に格納されている各種情報、及び非OSS情報テーブル223に格納されている各種情報を、出力部250に出力表示する(ステップS107)。例えば、結果出力部216は、OSS情報テーブル222及び非OSS情報テーブル223に格納された各種情報を、それぞれ図4及び図5に示すような表形式で出力する。この際、結果出力部216は、予め設定された条件に合致する情報を、強調表示してもよい。例えば、結果出力部216は、非OSS情報テーブル223に格納されたライセンス伝播の有無が"Y"である非OSSの各種情報を強調表示してもよい。そして、ソフトウェア診断処理は終了する。
 以上説明したように、本実施形態のライセンス管理装置200は、ライセンス管理対象であるソフトウェアを構成する複数のプログラムについて、OSSと非OSSのうちいずれか特定する。そして、ライセンス管理装置200は、特定された非OSSについて、依存関係があるOSSによるライセンス伝播が有るか否かを判定する。従って、ライセンス管理装置200は、ライセンスの影響が伝播するOSSと依存関係があるプログラムを特定でき、ライセンスを漏れなく管理することができる。
 以上、本発明の実施形態について説明したが、本発明は本実施形態によって限定されるものではない。
 例えば、上記の実施形態において、ライセンス管理装置200は、情報処理装置100から、ライセンスの管理対象であるソフトウェアを構成する複数のプログラムと、OSSアーカイブと、を取得するが、ライセンスの管理対象であるソフトウェア等の取得方法はこれに限られない。例えば、ライセンスの管理対象であるソフトウェア等のデータをDVD(Digital Versatile Disk)等のメディアに記録し、そのDVDをライセンス管理装置200に読み取らせることで、そのソフトウェア等のデータを取得してもよい。
 また、上記の実施形態では、ライセンス管理装置200と情報処理装置100とが、別々の機器により実現されている例が記載されているが、その両方の装置の上述した機能が、1つのパーソナルコンピュータ等の機器によって実現されてもよい。また、情報処理装置100の機能のうち、ライセンスの管理対象であるソフトウェアの開発環境と、ライセンス管理装置200の機能とが、同一の機器により実現され、その機器が、OSSが組み込まれた機器と通信可能に接続されるように構成されてもよい。これらの場合において、ライセンス管理装置200の機能を実現するソフトウェアは、必要な場合に、情報処理装置100の機能が組み込まれた機器にインストールされ、不要になった場合に、アンインストールされてもよい。
 また、上記の実施形態では、情報処理装置100において、ライセンスの管理対象であるソフトウェアの開発環境としての機能と、前記ソフトウェアの実行環境としての機能との両方が、1つの機器により実現されている例が記載されているが、その両方の機能が、通信可能に接続されている別々の機器によって実現されてもよい。
 なお、上記実施の形態において、ライセンス管理装置200が実行するプログラムは、フレキシブルディスク、CD-ROM(Compact Disk Read-Only Memory)、DVD、MO(Magneto-Optical Disk)等のコンピュータ読み取り可能な記録媒体に格納されて配布されてもよい。そして、そのプログラムがパーソナルコンピュータ等の情報処理装置にインストールされることにより、上述の処理を実行する装置が構成されてもよい。
 また、プログラムは、インターネット等の通信ネットワーク上の所定のサーバ装置が有するディスク装置等に格納されてもよい。そして、プログラムは、例えば、搬送波に重畳されて、ダウンロードされてもよい。
 また、上述の機能を、OS(Operating System)が分担して実現する場合またはOSとアプリケーションとの協働により実現する場合、OSの機能を実現する部分以外のプログラムのみが、記録媒体に格納されて配布されてもよく、また、ダウンロードされてもよい。
 本発明は、本発明の広義の精神と範囲に逸脱することなく、様々な実施の形態及び変形が可能とされるものである。また、上述した実施形態は、本発明を説明するためのものであり、本発明の範囲を限定するものではない。つまり、本発明の範囲は、実施の形態ではなく、特許請求の範囲によって示される。そして、特許請求の範囲内及びそれと同等の発明の意義の範囲内で施される様々な変形が、本発明の範囲内とみなされる。
 本発明は、ソフトウェアを構成する複数のプログラムのライセンス管理に適する。
1 ライセンス管理システム、100 情報処理装置、200 ライセンス管理装置、210 制御部、211 プログラム取得部、212 依存関係取得部、213 特定部、214 情報収集部、215 判定部、216 結果出力部、220 記憶部、221 ライセンス情報テーブル、222 OSS情報テーブル、223 非OSS情報テーブル、230 通信部、240 入力部、250 出力部、260 バス、300 ネットワーク

Claims (6)

  1.  ソフトウェアを構成する複数のプログラムのライセンスを管理するライセンス管理装置であって、
     前記複数のプログラムを取得するプログラム取得部と、
     前記プログラム取得部により取得された前記複数のプログラム間の依存関係を表す依存関係情報を取得する依存関係取得部と、
     前記プログラム取得部により取得された前記複数のプログラムのうちから、所定のライセンスを有するプログラムを特定する特定部と、
     前記複数のプログラムのうち、前記特定部により特定されたプログラム以外のプログラムについて、前記依存関係取得部により取得された前記依存関係情報に基づいて、前記所定のライセンスを有するプログラムと依存関係があるか否かを判定する判定部と、
     を備えるライセンス管理装置。
  2.  前記特定部により特定されたプログラムについて、そのプログラムに関連する情報をインターネットから取得する情報収集部と、
     前記判定部により依存関係があると判定されたプログラムと、そのプログラムと依存関係がある前記所定のライセンスを有するプログラムとを表す情報と、前記情報収集部により取得された情報と、を出力する出力部と、をさらに備える
     請求項1に記載のライセンス管理装置。
  3.  前記所定のライセンスを特定するキーワードを記憶するライセンス情報記憶部をさらに備え、
     前記特定部は、前記プログラム取得部により取得された前記複数のプログラムのうちから、前記ライセンス情報記憶部に記憶された前記キーワードを含むプログラムを、前記所定のライセンスを有するプログラムとして特定する、
     請求項1または2に記載のライセンス管理装置。
  4.  前記所定のライセンスは、その所定のライセンスを有するプログラムと依存関係があるプログラムが有するライセンスに影響を与える、
     請求項1乃至3のいずれか1項に記載のライセンス管理装置。
  5.  ソフトウェアを構成する複数のプログラムのライセンスを管理するライセンス管理方法であって、
     前記複数のプログラムを取得するプログラム取得ステップと、
     取得された前記複数のプログラム間の依存関係を表す依存関係情報を取得する依存関係取得ステップと、
     取得された前記複数のプログラムのうちから、所定のライセンスを有するプログラムを特定する特定ステップと、
     前記複数のプログラムのうち、特定されたプログラム以外のプログラムについて、取得された前記依存関係情報に基づいて、前記所定のライセンスを有するプログラムと依存関係があるか否かを判定する判定ステップと、
     を有するライセンス管理方法。
  6.  コンピュータに
     ソフトウェアを構成する複数のプログラムを取得するプログラム取得ステップと、
     取得された前記複数のプログラム間の依存関係を表す依存関係情報を取得する依存関係取得ステップと、
     取得された前記複数のプログラムのうちから、所定のライセンスを有するプログラムを特定する特定ステップと、
     前記複数のプログラムのうち、特定されたプログラム以外のプログラムについて、取得された前記依存関係情報に基づいて、前記所定のライセンスを有するプログラムと依存関係があるか否かを判定する判定ステップと、
     を実行させるためのプログラム。
PCT/JP2013/073485 2013-09-02 2013-09-02 ライセンス管理装置、ライセンス管理方法、及びプログラム WO2015029242A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015533909A JP6045707B2 (ja) 2013-09-02 2013-09-02 ライセンス管理装置、ライセンス管理方法、及びプログラム
PCT/JP2013/073485 WO2015029242A1 (ja) 2013-09-02 2013-09-02 ライセンス管理装置、ライセンス管理方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2013/073485 WO2015029242A1 (ja) 2013-09-02 2013-09-02 ライセンス管理装置、ライセンス管理方法、及びプログラム

Publications (1)

Publication Number Publication Date
WO2015029242A1 true WO2015029242A1 (ja) 2015-03-05

Family

ID=52585849

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2013/073485 WO2015029242A1 (ja) 2013-09-02 2013-09-02 ライセンス管理装置、ライセンス管理方法、及びプログラム

Country Status (2)

Country Link
JP (1) JP6045707B2 (ja)
WO (1) WO2015029242A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016157282A (ja) * 2015-02-25 2016-09-01 アルパイン株式会社 データ処理装置、データ処理システム及びコンピュータプログラム
WO2017166542A1 (zh) * 2016-03-28 2017-10-05 中兴通讯股份有限公司 一种工单处理方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020188608A1 (en) * 2001-06-12 2002-12-12 Nelson Dean S. Automated license dependency resolution and license generation
US20080209399A1 (en) * 2007-02-27 2008-08-28 Michael Bonnet Methods and systems for tracking and auditing intellectual property in packages of open source software
US20100223592A1 (en) * 2009-03-02 2010-09-02 International Business Machines Corporation Code component level intellectual property remediation

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8307351B2 (en) * 2009-03-18 2012-11-06 Oracle International Corporation System and method for performing code provenance review in a software due diligence system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020188608A1 (en) * 2001-06-12 2002-12-12 Nelson Dean S. Automated license dependency resolution and license generation
US20080209399A1 (en) * 2007-02-27 2008-08-28 Michael Bonnet Methods and systems for tracking and auditing intellectual property in packages of open source software
US20100223592A1 (en) * 2009-03-02 2010-09-02 International Business Machines Corporation Code component level intellectual property remediation

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
ATSUSHI NAKATA: "OSS ga Jitsugen suru", GOETSU DOSHU, 26 April 2012 (2012-04-26), pages 28 - 33 *
TOSHIAKI EBATA: "Kumikomi Linux Engineer ni naru Tameno Kihon Gakushucho", SOFTWAREDESIGN, 18 February 2004 (2004-02-18), pages 180 - 190 *
TOSHINORI OSUKA: "Reuse Support System based on Software Integral Search", LECTURE NOTE/ SOFTWARE GAKU 33 SOFTWARE KOGAKU NO KISO XIV, 30 November 2007 (2007-11-30), pages 203 - 208 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016157282A (ja) * 2015-02-25 2016-09-01 アルパイン株式会社 データ処理装置、データ処理システム及びコンピュータプログラム
WO2017166542A1 (zh) * 2016-03-28 2017-10-05 中兴通讯股份有限公司 一种工单处理方法及装置

Also Published As

Publication number Publication date
JPWO2015029242A1 (ja) 2017-03-02
JP6045707B2 (ja) 2016-12-14

Similar Documents

Publication Publication Date Title
JP3946057B2 (ja) 整合性検査支援方法および整合性検査支援システム
JP4845153B2 (ja) 複数のクライアントを用いた分散環境で更新作業のコンフリクトを回避するシステム、方法、サーバ及びコンピュータプログラム
JP5698429B2 (ja) 構成要素を管理するためのコンピュータ・システム、並びにその方法及びコンピュータ・プログラム
US20140207753A1 (en) Method and system that routes requests for electronic files
US10705829B2 (en) Software discovery using exclusion
US8577848B2 (en) Converting two-tier resource mapping to one-tier resource mapping
US20200225916A1 (en) Method and system for configuring processes of software applications using activity fragments
WO2015029464A1 (ja) 模擬装置、情報生成装置、模擬方法、模擬プログラム、環境提供システム、環境提供方法及びプログラム
KR102472345B1 (ko) 계층화 문서를 관리하는 방법 및 이를 이용한 장치
KR101648047B1 (ko) 호환 오픈소스 소프트웨어 추천 시스템 및 방법
CN108694049B (zh) 一种更新软件的方法和设备
US9116713B1 (en) System and method for expression evaluation in a distributed networking environment
JP6045707B2 (ja) ライセンス管理装置、ライセンス管理方法、及びプログラム
CN113704281A (zh) 一种数据格式转换方法、装置、存储介质和电子设备
JP7318704B2 (ja) テスト装置、テスト方法及びプログラム
US20090259986A1 (en) Class selectable design sharing
JP2009169863A (ja) 構成要素を管理するためのコンピュータ・システム、並びにその方法及びコンピュータ・プログラム
US20130111449A1 (en) Static analysis with input reduction
JP7381290B2 (ja) 計算機システム及びデータの管理方法
JP6313987B2 (ja) ファイル管理プログラム、ファイル管理方法、及びファイル管理システム
US11080123B2 (en) Information processing apparatus
JP6122742B2 (ja) 仕様変更支援装置、情報処理方法、およびプログラム
JP6937589B2 (ja) ライセンス管理装置、ライセンス管理方法、及びプログラム
JP6802109B2 (ja) ソフトウェア仕様分析装置、及びソフトウェア仕様分析方法
CN108139950B (zh) 分布式扩展执行的方法及计算系统

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13892575

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2015533909

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13892575

Country of ref document: EP

Kind code of ref document: A1