JP6984272B2 - プログラム稼働判定装置、方法及びプログラム - Google Patents

プログラム稼働判定装置、方法及びプログラム Download PDF

Info

Publication number
JP6984272B2
JP6984272B2 JP2017181001A JP2017181001A JP6984272B2 JP 6984272 B2 JP6984272 B2 JP 6984272B2 JP 2017181001 A JP2017181001 A JP 2017181001A JP 2017181001 A JP2017181001 A JP 2017181001A JP 6984272 B2 JP6984272 B2 JP 6984272B2
Authority
JP
Japan
Prior art keywords
program
information
similar
classification
operation information
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
JP2017181001A
Other languages
English (en)
Other versions
JP2019057124A (ja
Inventor
崚 梅原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2017181001A priority Critical patent/JP6984272B2/ja
Publication of JP2019057124A publication Critical patent/JP2019057124A/ja
Application granted granted Critical
Publication of JP6984272B2 publication Critical patent/JP6984272B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Description

本発明は、プログラム稼働判定装置、方法及びプログラムに関し、特に、プログラムの稼働判定を行うプログラム稼働判定装置、方法及びプログラムに関する。
近年、IT(Information Technology)システムにおいては、ハードウェアの老朽化、IT技術及びITインフラの進化、又は、利用しているソフトウェアライセンスに対するベンダサポートの終了などにより、導入から一定の期間を経て、改修や再構築(以下、「システムリニューアル」という。)が必要となるケースが増えている。
システムリニューアルにあたって、既存システムを廃止して新規に構築し直すケースもあるが、新規構築は期間も費用もかかるという問題もある。そのため、新規構築に伴うビジネス的な新たな付加価値や効果が高くない場合には、既存システムをできるだけ流用、つまり再利用することにより、期間やコストを圧縮して企業経営へのインパクトを最小化する必要がある。つまり、既存システムに対して、最新のハードウェア、最新のプログラミング言語、最新IT技術及びITインフラなどに対応するために、プログラムの業務処理ロジックやアルゴリズムを維持したまま、新技術に移行したり、改造したりすることが行われている。
ここで、企業等の組織が長期に渡りITシステムを運用する場合、企業活動の目的に合わせてシステムの拡張や改造を行うことが一般的である。その結果、新旧の様々なソフトウェア、ハードウェア又は開発技術が混在して複雑に絡み合った状況が生じる。このような状況により、ソフトウェア資産全体の把握が困難となり、システムの拡張や改造が非常に難しいことが課題となっている。
例えば、長期間保守している業務アプリケーションに対する度重なる機能追加や改造により、従来から維持していたプログラムが不要となる場合がある。そして、それらを後日、目視で選別するには工数がかかる問題がある。
これを解決する手法として、システムの稼働ログを分析してプログラム資産の稼働判定を行い、非稼働とされるプログラムを不要として選別する方法が特許文献1に開示されている。特許文献1では、プログラムにおける稼働ログにおける最新使用年月日が過去一年以内である場合に、稼働対象と判定する。
特開2015−170079号公報
しかしながら、特許文献1には、稼働判定の精度が不十分であるという問題点がある。その理由は、特許文献1では、プログラムによらず判定基準の閾値が固定であるため、プログラムによっては適さない場合があるためである。例えば、非稼働と判定するための最新稼働日の閾値が一年である場合、あるプログラムA1は最新稼働日が一年以内であるが、A1を改修したプログラムA2の登録後は、A1の代わりにA2が使用されるようになったとする。この場合、A1はすでに不使用となり非稼働といえる。また、この場合、最新稼働日の閾値はA2の登録日ともいえる。つまり、プログラムによって、稼働判定の閾値の基準が異なり、一律の基準で判定することができない。そのため、特許文献1では、本来非稼働であるプログラムを稼働対象と判定してしまうおそれがあり、稼働判定に改善の余地がある。
本発明は、このような問題点を解決するためになされたものであり、プログラムの稼働判定の精度を向上するためのプログラム稼働判定装置、方法及びプログラムを提供することを目的とする。
本発明の第1の態様にかかるプログラム稼働判定装置は、
複数のプログラムのうちコードが閾値以上の割合で一致する類似プログラムの集合を示す類似情報と、各プログラムの最終更新日を示す更新情報と、各プログラムの稼働日の履歴を示す稼働情報と、を記憶する記憶部と、
前記類似情報及び前記稼働情報に基づいて、前記集合内の各類似プログラムの中から前記稼働日が最新である最新稼働プログラムを特定する特定部と、
前記最新稼働プログラムの前記更新情報及び前記稼働情報に基づいて、前記各類似プログラムにおける前記稼働情報に所定の分類を付与する分類部と、
前記稼働情報に付与された分類に基づいて、前記各類似プログラムに対して、現在稼働対象であるか否かを判定する稼働判定部と、
を備える。
本発明の第2の態様にかかるプログラム稼働判定方法は、
複数のプログラムのうちコードが閾値以上の割合で一致する類似プログラムの集合を示す類似情報、及び、各プログラムの稼働日の履歴を示す稼働情報に基づいて、前記集合内の各類似プログラムの中から前記稼働日が最新である最新稼働プログラムを特定し、
前記最新稼働プログラムの最終更新日及び前記稼働情報に基づいて、前記各類似プログラムにおける前記稼働情報に所定の分類を付与し、
前記稼働情報に付与された分類に基づいて、前記各類似プログラムに対して、現在稼働対象であるか否かを判定する。
本発明の第3の態様にかかるプログラム稼働判定プログラムは、
複数のプログラムのうちコードが閾値以上の割合で一致する類似プログラムの集合を示す類似情報、及び、各プログラムの稼働日の履歴を示す稼働情報に基づいて、前記集合内の各類似プログラムの中から前記稼働日が最新である最新稼働プログラムを特定する処理と、
前記最新稼働プログラムの最終更新日及び前記稼働情報に基づいて、前記各類似プログラムにおける前記稼働情報に所定の分類を付与する処理と、
前記稼働情報に付与された分類に基づいて、前記各類似プログラムに対して、現在稼働対象であるか否かを判定する処理と、
をコンピュータに実行させる。
本発明により、プログラムの稼働判定の精度を向上するためのプログラム稼働判定装置、方法及びプログラムを提供することができる。
本発明の実施の形態1にかかるプログラム稼働判定装置の構成を示すブロック図である。 本発明の実施の形態1にかかるプログラム稼働判定処理の流れを示すフローチャートである。 本発明の実施の形態2にかかるプログラム稼働判定装置の構成を示すブロック図である。 本発明の実施の形態2にかかる類似情報テーブルの例を示す図である。 本発明の実施の形態2にかかる稼働情報テーブルの例を示す図である。 本発明の実施の形態2にかかる資産基本情報テーブルの例を示す図である。 本発明の実施の形態2にかかる類似プログラム間の稼働情報と更新情報の関係を説明するための図である。 本発明の実施の形態2にかかる稼働情報分類テーブルの例を示す図である。 本発明の実施の形態2にかかるプログラム稼働判定処理の流れを示すフローチャートである。 本発明の実施の形態2にかかる稼働情報抽出処理の流れを示すフローチャートである。 本発明の実施の形態2にかかる稼働情報抽出結果テーブルの例を示す図である。 本発明の実施の形態2にかかる稼働情報分類処理の流れを示すフローチャートである。 本発明の実施の形態2にかかる稼働情報分類結果テーブルの例を示す図である。 本発明の実施の形態2にかかる稼働判定処理の流れを示すフローチャートである。 本発明の実施の形態2にかかる稼働判定結果テーブルの例を示す図である。 本発明の実施の形態3にかかるプログラム稼働判定装置の構成を示すブロック図である。 本発明の実施の形態3にかかる稼働情報分類テーブルの例を示す図である。 本発明の実施の形態3にかかる稼働情報分類結果テーブルの例を示す図である。 本発明の実施の形態3にかかる稼働判定処理の流れを示すフローチャートである。 本発明の実施の形態3にかかる稼働判定結果テーブルの例を示す図である。 本発明の他の実施の形態にかかる稼働確定資産テーブルの例を示す図である。
以下では、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。各図面において、同一要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略する。
<実施の形態1>
図1は、本発明の実施の形態1にかかるプログラム稼働判定装置100の構成を示すブロック図である。プログラム稼働判定装置100は、複数のプログラムについて現在稼働対象であるか否かを判定するための情報処理装置である。プログラム稼働判定装置100は、記憶部110と、特定部120と、分類部130と、稼働判定部140とを備える。記憶部110は、類似情報111と、更新情報112と、稼働情報113とを記憶する。
類似情報111は、複数のプログラムのうちコードが閾値以上の割合で一致する類似プログラムの集合を示す情報である。類似情報111には、複数の集合が定義されていても良い。また、ある集合には、少なくとも複数のプログラムのうち2以上の類似プログラムが属するものとする。更新情報112は、各プログラムの最終更新日を示す情報である。稼働情報113は、各プログラムの稼働日の履歴を示す情報である。稼働情報113は、一プログラムあたり1以上の稼働日の履歴を含むものとする。
特定部120は、類似情報111及び稼働情報113に基づいて、集合内の各類似プログラムの中から稼働日が最新である最新稼働プログラムを特定する。分類部130は、最新稼働プログラムの更新情報112及び稼働情報113に基づいて、各類似プログラムにおける稼働情報113に所定の分類を付与する。稼働判定部140は、稼働情報113に付与された分類に基づいて、各類似プログラムに対して、現在稼働対象であるか否かを判定する。
尚、プログラム稼働判定装置100は、記憶部110にプログラム稼働判定プログラムをさらに記憶しており、制御部(不図示)が記憶部110からプログラム稼働判定プログラムをメモリ(不図示)に読み込み、実行する。これにより、制御部は、特定部120、分類部130及び稼働判定部140として動作する。
図2は、本発明の実施の形態1にかかるプログラム稼働判定処理の流れを示すフローチャートである。まず、特定部120は、類似情報111及び稼働情報113に基づいて、集合内の各類似プログラムの中から稼働日が最新である最新稼働プログラムを特定する(S1)。次に、分類部130は、最新稼働プログラムの更新情報112及び稼働情報113に基づいて、各類似プログラムにおける稼働情報113に所定の分類を付与する(S2)。その後、稼働判定部140は、稼働情報113に付与された分類に基づいて、各類似プログラムに対して、現在稼働対象であるか否かを判定する(S3)。
このように、本実施の形態は、ある集合に属する類似プログラムのうち最新稼働プログラムの更新情報及び稼働情報を基準として、最新稼働プログラム以外の類似プログラムにおける複数の稼働情報に分類を付与し、付与された分類に基づき各類似プログラムの稼働判定を行うものである。つまり、プログラム単独の情報のみで稼働判定を行うのではなく、プログラムコードの記述内容が閾値以上の割合で一致する類似プログラムの集合内で、稼働判定の基準を設定するものである。これにより、類似プログラムの集合ごとに異なる基準、適した基準で稼働判定を行うことができる。そのため、プログラムの稼働判定の精度を向上することができる。
<実施の形態2>
本実施の形態2は、上述した実施の形態1の改良例である。
上述した特許文献1では、全ての稼働情報を一律に分析して稼働判定を行うため、古い資産を稼働資産であると誤判定してしまうおそれがあるという問題点がある。例えば、稼働ログが長期にわたって記録され続けている場合、途中でプログラムの更新やシステム改造が発生しているため、古いシステムの稼働情報と新しいシステムの稼働情報が混在している。これにより、あるタイミングで不要となった資産についても、過去に稼働していた際の情報をもとに、稼働資産と誤判定されることがある。
そこで、本実施の形態2では、更新情報を使用して古いシステムの稼働情報の切り捨てを行うことで、新しいシステムの稼働情報のみを選択する。選択された稼働情報から資産の稼働判定を行う。これにより、新しいシステムの稼働情報のみに基づき、現在の資産の状態を正しく反映した稼働判定が可能となる。
また、本実施の形態2は次の特徴を備える。すなわち、前記分類部は、前記最新稼働プログラムの最終更新日、当該最終更新日の直後の稼働日である初回稼働日、及び、前記最新稼働プログラム以外の類似プログラムの最終更新日の少なくともいずれかと、各類似プログラムの前記稼働日とを比較して、前記各類似プログラムにおける前記稼働情報に前記所定の分類を付与する。これにより、稼働判定の精度をさらに向上できる。
さらに、前記分類部は、前記各類似プログラムの前記稼働日が、前記最新稼働プログラムの最終更新日より古いか否か、前記最新稼働プログラム以外の類似プログラムの最終更新日より古いか否か、前記最新稼働プログラムの最終更新日以降、かつ、前記初回稼働日より古いか否か、及び、前記初回稼働日以降か否かの少なくともいずれかに基づいて、前記稼働情報に前記所定の分類を付与することが望ましい。
また、前記分類部は、前記稼働日が前記初回稼働日以降である前記稼働情報に有効の分類を付与し、前記稼働判定部は、前記有効の分類が付与された前記稼働情報に対応する類似プログラムに対して前記現在稼働対象であると判定するものである。
図3は、本発明の実施の形態2にかかるプログラム稼働判定装置200の構成を示すブロック図である。プログラム稼働判定装置200は、上述したプログラム稼働判定装置100の一実施例である。ここで、利用者は、例えば、大規模な情報システムを構成する多数のプログラム(不図示)の中から、現在は稼動していない不要なプログラムを選別するために、プログラム稼働判定装置200を用いるものとする。プログラム稼働判定装置200は、入力装置1と、出力装置2と、処理装置3と、リポジトリ4とを備える。
入力装置1は、利用者が処理装置3を操作するための入力を受け付ける。出力装置2は、処理装置3が演算した結果を利用者に対して表示する。リポジトリ4は、記憶部110の一例であり、本実施の形態2にかかる各種処理の入力データ又は出力データを保持する記憶領域である。処理装置3は、入力装置1からの指示に応じて、リポジトリ4内の情報に対する各種処理を行う、制御部の一例である。
リポジトリ4は、類似情報テーブル41と、稼働情報テーブル42と、資産基本情報テーブル43と、稼働情報分類テーブル44と、稼働情報抽出結果テーブル45と、稼働情報分類結果テーブル46と、稼働判定結果テーブル47とを記憶する。尚、類似情報テーブル41、稼働情報テーブル42及び資産基本情報テーブル43は、上述した多数のプログラム及び情報システムのシステムログ等から一般的な解析処理により生成及び保存されてもよい。
類似情報テーブル41は、類似情報111の一例であり、上述した多数のプログラムについて、コードの記述内容が閾値以上の割合で一致する集合(類似グループ)に分類した情報を保持する。例えば、処理装置3はプログラム類似判定部(不図示)を有しているものとする。そして、プログラム類似判定部は、上記多数のプログラムを読み込んで解析し、プログラム間でコードを比較し、コードの一致率を算出する。プログラム類似判定部は、コードの一致率が所定値以上となるプログラム同士を同一の類似グループに分類して、リポジトリ4内の類似情報テーブル41に格納する。尚、プログラム類似判定部は、処理装置3に含まれている必要はなく、外部装置にて類似情報テーブル41が生成され、入力装置1から入力されたものをリポジトリ4に格納してもよい。また、類似情報テーブル41は、利用者が各プログラムの類似度合いを判定した結果を格納したものであってもよい。
図4は、本発明の実施の形態2にかかる類似情報テーブル41の例を示す図である。類似情報テーブル41は、番号、類似グループ名及びプログラム名を含む。ここで、類似グループ名は、類似グループの識別情報である。プログラム名は、プログラムの識別情報である。図4では、例えば、類似グループ名「A」には、プログラムA1、A2及びA3が属することを示す。
ここで、本実施の形態におけるプログラム資産の例について説明する。プログラムA1は、以前使用されており、現在は稼働対象ではないプログラムとする。プログラムA2は、プログラムA1を基に作成され、現在稼働対象であるものとする。プログラムA3は、プログラムA2を基に作成され、現在作成中又はテスト中であるため、稼働対象ではないものとする。
図5は、本発明の実施の形態2にかかる稼働情報テーブル42の例を示す図である。稼働情報テーブル42は、番号、プログラム名及び稼働日を含む。稼働情報テーブル42は、稼働情報113の一例であり、どのプログラムがいつ稼働したかを示す稼働日を保持している。尚、稼働日は、稼働日時、つまり、年月日時分秒等で表現されても構わない。また、稼働情報テーブル42の各レコードを稼働情報と呼ぶものとする。稼働情報は、情報システムから取得したログファイルなどを分析し、必要な値を抽出することで取得される。図5に示すように、稼働情報は、一プログラムあたり1以上のレコード、つまり、稼働日が記録されていることとなる。
図6は、本発明の実施の形態2にかかる資産基本情報テーブル43の例を示す図である。資産基本情報テーブル43は、番号、プログラム名及び最終更新日等を含む。資産基本情報テーブル43は、更新情報112の一例であり、各プログラム資産の最終更新日など資産に関する基本的な情報である資産基本情報を保持している。資産基本情報は、情報システムから取得したファイル一覧を分析し、必要な値を抽出することで取得される。尚、最終更新日は、当該プログラムが最後に更新された日付である。また、最終更新日は、更新日時、つまり、年月日時分秒等で表現されても構わない。
図7は、本発明の実施の形態2にかかる類似プログラム間の稼働情報と更新情報の関係を説明するための図である。図7では、類似グループAについて示し、各プログラムの最終更新日をひし形、稼働日を稲妻形として時系列に並べたイメージを示す。
図8は、本発明の実施の形態2にかかる稼働情報分類テーブル44の例を示す図である。稼働情報分類テーブル44は、所定の分類の条件を定義した情報である。稼働情報分類テーブル44は、番号、分類、条件及び説明を含む。「分類」は、稼働情報がプログラムの稼働判定を行うにあたり有効か無効かを示す。「条件」は、分類対象の稼働情報における稼働日が満たす条件を示す。尚、「条件」における「最新資産」とは、処理対象の類似グループに属するプログラムのうち稼働日が最も新しいプログラムである最新稼働プログラムを示す。また、「類似資産」とは、処理対象の類似グループに属するプログラムのうち最新資産以外のプログラムを示す。また、「初回稼働日」とは、最新資産における最終更新日の直後の稼働日を示す。
そして、例えば、番号1における条件1は、分類対象の稼働情報の稼働日が、類似資産の最終更新日より古い場合に該当する。番号2における条件2は、(条件1に該当せず、)分類対象の稼働情報の稼働日が、最新資産の最終更新日より古い場合に該当する。番号3における条件3は、(条件2に該当せず、)分類対象の稼働情報の稼働日が、最新資産の最終更新日以降であり、かつ、最新資産の初回稼働日より古い場合に該当する。番号4における条件4は、(条件3に該当せず、)分類対象の稼働情報の稼働日が、最新資産の初回稼働日である場合に該当する。尚、上述した「条件」は、一例に過ぎず、これら以外の定義を用いても構わない。また、「説明」は必ずしも情報として稼働情報分類テーブル44に含める必要はない。
図3に戻り、説明を続ける。稼働情報抽出結果テーブル45は、後述する稼働情報抽出部311により抽出された稼働情報の抽出結果である。稼働情報分類結果テーブル46は、後述する稼働情報分類部312により分類された稼働情報の分類結果である。稼働判定結果テーブル47は、後述する稼働判定部313により判定された各プログラムの稼働判定結果である。
処理装置3は、稼働判定制御部31と、稼働情報抽出部311と、稼働情報分類部312と、稼働判定部313とを備える。尚、処理装置3は、記憶装置(不図示)に記憶された本実施の形態2にかかるプログラム稼働判定プログラムをメモリ(不図示)に読み込み、実行することにより、稼働判定制御部31、稼働情報抽出部311、稼働情報分類部312及び稼働判定部313を実現する。
稼働判定制御部31は、稼働情報抽出部311、稼働情報分類部312及び稼働判定部313の処理を、全ての類似グループに対して実行するように制御して、プログラム稼働判定処理の全体を行う。稼働情報抽出部311は、類似情報テーブル41に基づいて、稼働判定制御部31により通知された類似グループに属する複数の類似プログラムを特定し、特定した各類似プログラムに対応する稼働情報を稼働情報テーブル42から抽出し、稼働情報抽出結果テーブル45に格納する。稼働情報分類部312は、資産基本情報テーブル43から取得した各資産の最終更新日と、稼働情報分類テーブル44から取得した分類及び条件に基づいて、稼働情報抽出結果テーブル45の各稼働情報について分類を付与して、稼働情報ごとに稼働情報分類結果テーブル46に格納する。稼働判定部313は、稼働情報分類結果テーブル46に格納された分類付きの稼働情報に基づいて、類似グループに属する各類似プログラムごとに稼働判定を行い、判定結果を稼働判定結果テーブル47に格納する。
図9は、本発明の実施の形態2にかかるプログラム稼働判定処理の流れを示すフローチャートである。まず、稼働判定制御部31は、類似情報テーブル41に含まれる類似グループの中から一つを選択する(S10)。例えば、稼働判定制御部31は、類似情報テーブル41の中から類似グループAを選択する。そして、稼働判定制御部31は、選択した類似グループについてステップS20、S30、S40及びS50を行う。具体的には、稼働判定制御部31は、稼働情報抽出部311に対して選択した類似グループを通知し、当該類似グループにおける稼働情報抽出処理を実行させる(S20)。続いて、稼働判定制御部31は、稼働情報分類部312に対して、当該類似グループにおける稼動情報分類処理を実行させる(S30)。そして、稼働判定制御部31は、稼働判定部313に対して、当該類似グループにおける稼動判定処理を実行させる(S40)。その後、稼働判定制御部31は、一時的なテーブルである稼働情報分類テーブル44、稼働情報抽出結果テーブル45及び稼働情報分類結果テーブル46の内容を全て削除する(S50)。その後、稼働判定制御部31は、未選択の類似グループの中から次の類似グループを選択し、全ての類似グループについてステップS20からS50を繰り返す。
図10は、本発明の実施の形態2にかかる稼働情報抽出処理の流れを示すフローチャートである。まず、稼働情報抽出部311は、類似情報テーブル41を参照し、稼働判定制御部31により通知された類似グループに属するプログラム名を特定する(S21)。例えば、稼働判定制御部31から類似グループAが通知された場合、稼働情報抽出部311は、類似情報テーブル41を参照して、類似グループAに属するプログラム名として、プログラムA1、A2及びA3を特定する。
次に、稼働情報抽出部311は、稼働情報テーブル42から稼働情報を一レコードずつ読み出す(S22)。そして、稼働情報抽出部311は、読み出した稼働情報のプログラム名が、稼働判定制御部31により通知された類似グループに属するか否かを判定する(S23)。類似グループに属すると判定された場合、稼働情報抽出部311は、読み出した稼働情報を稼働情報抽出結果テーブル45に追加する(S24)。ステップS23において類似グループに属さないと判定された場合、又は、ステップS24の後、稼働情報抽出部311は、稼働情報テーブル42から全ての稼働情報を読み出したか否かを判定し、未読み出しの稼働情報が残っている場合、次の稼働情報を読み出し、全ての稼働情報を読み出し終えるまでステップS23及びS24を繰り返す。
図11は、本発明の実施の形態2にかかる稼働情報抽出結果テーブル45の例を示す図である。ここでは、稼働判定制御部31により類似グループAが選択された場合を示し、図5の稼働情報テーブル42の各レコードのうちプログラムA1、A2又はA3に対応するレコードのみが抽出されていることを示す。
図12は、本発明の実施の形態2にかかる稼働情報分類処理の流れを示すフローチャートである。まず、稼働情報分類部312は、稼働情報抽出結果テーブル45を参照し、稼働日が最も新しい稼働情報におけるプログラムを最新資産(最新稼働プログラム)として特定する(S31)。例えば、図11の場合、番号6の稼働日“2000/8/1”が最新であるため、プログラムA2が最新資産とされる。この時、例えば、稼働情報分類部312は、最新資産を示す内部変数にプログラムA2を設定し、保持する。また、併せて、稼働情報分類部312は、対象の類似グループに属する類似プログラムのうち、最新資産以外を、類似資産として特定する。例えば、図11の場合、類似グループAに属するプログラムA1及びA3が類似資産とされる。この時、例えば、稼働情報分類部312は、類似資産を示す内部変数にプログラムA1及びA3を設定し、保持する。
次に、稼働情報分類部312は、資産基本情報テーブル43から最新資産及び類似資産の最終更新日を取得する(S32)。例えば、図6の場合、稼働情報分類部312は、最新資産(プログラムA2)の最終更新日を“2000/6/1”、類似資産(プログラムA1)の最終更新日を“2000/1/1”、及び、類似資産(プログラムA3)の最終更新日を“2000/5/1”として、内部変数に設定し、保持する。
続いて、稼働情報分類部312は、稼働情報抽出結果テーブル45から最新資産における最終更新日の直後の稼働日である初回稼働日を取得する(S33)。例えば、図11の場合、稼働情報分類部312は、最新資産(プログラムA2)の最終更新日を“2000/6/1”の直後の稼働日“2000/8/1”を、最新資産の初回稼働日として、内部変数に設定し、保持する。
その後、稼働情報分類部312は、稼働情報抽出結果テーブル45から稼働情報を一レコードずつ読み出す(S34)。そして、稼働情報分類部312は、読み出した稼働情報の稼働日について稼働情報分類テーブル44内の条件と照合し、いずれの条件に該当するかを判定し、該当する条件に対応する分類を当該稼働情報に付与する(S35)。そして、稼働情報分類部312は、付与した分類と稼働情報とを対応付けて稼働情報分類結果テーブル46に追加する(S36)。その後、稼働情報分類部312は、稼働情報抽出結果テーブル45から全ての稼働情報を読み出したか否かを判定し、未読み出しの稼働情報が残っている場合、次の稼働情報を読み出し、全ての稼働情報を読み出し終えるまでステップS35及びS36を繰り返す。
図13は、本発明の実施の形態2にかかる稼働情報分類結果テーブル46の例を示す図である。ここでは、番号1が条件1に該当し、番号2及び3が条件2に該当し、番号5が条件1又は2に該当し、番号4、7及び8が条件3に該当し、それぞれに分類「無効」が付与され、番号6が条件4に該当し、分類「有効」が付与されたことを示す。尚、図13の番号は、図11の番号と対応する。つまり、稼働情報分類結果テーブル46は、稼働情報ごとの分類結果を示す。
図14は、本発明の実施の形態2にかかる稼働判定処理の流れを示すフローチャートである。まず、稼働判定部313は、稼働判定結果テーブル47内で対象の類似グループに属する全資産の判定結果に「非稼働」と記録する(S41)。例えば、稼働判定部313は、類似グループAに属するプログラムA1、A2及びA3の判定結果に、初期設定として「非稼働」を設定する。
次に、稼働判定部313は、稼働情報分類結果テーブル46から分類結果を一レコードずつ(つまり、稼働情報単位で)読み出す(S42)。そして、稼働判定部313は、読み出したレコードの分類が「有効」か否かを判定する(S43)。分類が「有効」と判定された場合、稼働判定部313は、当該レコードのプログラム名に対応する判定結果を「稼働」と記録する(S44)。つまり、稼働判定部313は、分類が「有効」と判定された稼働情報におけるプログラム名に対応する判定結果を「稼働」として、稼働判定結果テーブル47に追加する。一方、ステップS43で分類が「有効」でない、つまり「無効」と判定された場合、又は、ステップS44の後、稼働判定部313は、稼働情報分類結果テーブル46から全ての分類結果を読み出したか否かを判定し、未読み出しの分類結果が残っている場合、次の分類結果を読み出し、全ての分類結果を読み出し終えるまでステップS43及びS44を繰り返す。つまり、稼働情報分類結果テーブル46には、1プログラムあたり複数の分類結果が登録されているが、そのうち一つの分類が「有効」であれば、当該プログラムにおける判定結果を「稼働」とする。一方、1プログラムあたり全ての分類結果の分類が「無効」である場合に、当該プログラムにおける判定結果を「非稼働」とする。
図15は、本発明の実施の形態2にかかる稼働判定結果テーブル47の例を示す図である。ここでは、類似グループAのうちプログラムA2の判定結果が「稼働」であり、他のプログラムA1及びA3の判定結果が「非稼働」であることを示す。
以上のことから、本発明の実施の形態2により、古いシステム(例えば、プログラムA1)の稼働情報と新しいシステム(例えば、プログラムA2)の稼働情報が混在していても、最新稼働プログラムA2の稼働情報のみに基づき、現在の資産の状態を正しく反映した稼働判定が可能となる。また、プログラムA2から改良されたが、リリース前であるプログラムA3についても、現時点では稼働対象ではないため、正しく非稼働と判定することができる。
<実施の形態3>
本実施の形態3は、上述した実施の形態2の変形例である。
上述した特許文献1により正しく非稼働と判定された資産についても、誤判定だった場合の影響が大きいことから、削除して問題ない資産か目視で確認する運用が多い。しかし、実際の資産には過去に複製して編集を加えたものなど、似て非なる資産が混在するため、確認の優先順位が付けられず確認作業が非効率となる場合がある。
また、上述した実施形態2によって、以前使用され現在は使用されていない古い資産だと判明した資産は、少なくとも1つの稼働情報が存在すること、類似情報の精度的限界により稼働状態の誤判定が発生し得ることから、非稼働資産を目視確認する際は優先的に確認されることが望ましい。
そこで、本実施の形態3では、更新情報を使用して稼働情報の絞込みを行う際、稼働情報を切り捨てる代わりに一定のルールに基づき稼働情報に分類を与える。この際、分類ごとに重みづけをしたうえで、資産ごとの稼働情報の件数が閾値に達しているか否かにより稼働判定を行う。これにより、稼働情報の件数が閾値に達せず非稼働と判定された場合でも、稼働情報の件数によって優先順位を付けることができるため、効率的な目視確認が可能となる。
また、本実施の形態3は次の特徴を備える。すなわち、前記分類部は、前記各類似プログラムについて現在稼働対象である可能性を示す指標値である複数の稼働確度のいずれかを前記分類として前記稼働情報に付与し、前記稼働判定部は、前記稼働情報に付与された前記稼働確度に基づいて、前記複数の類似プログラムのそれぞれに対して、前記現在稼働対象であるか否かを判定するものである。これにより、稼働頻度が考慮され、稼働判定の精度が高まる。
さらに、前記稼働判定部は、前記稼働情報に付与された前記稼働確度を前記類似プログラムごとに合計した値を、前記判定の結果に対応付けて出力することが望ましい。これにより、目視確認の優先度の参考となり、目視確認を効率化できる。
図16は、本発明の実施の形態3にかかるプログラム稼働判定装置200aの構成を示すブロック図である。プログラム稼働判定装置200aは、上述したプログラム稼働判定装置200との違いとして、処理装置3内に稼働情報分類部312a及び稼働判定部313aを備え、リポジトリ4内に稼働情報分類テーブル44a、稼働情報分類結果テーブル46a及び稼働判定結果テーブル47aを備える。プログラム稼働判定装置200aのその他の構成は、プログラム稼働判定装置200と同等であるため、図示及び詳細な説明を省略する。そこで、以下では、本実施の形態2との差異について説明する。
図17は、本発明の実施の形態3にかかる稼働情報分類テーブル44aの例を示す図である。稼働情報分類テーブル44aは、番号、稼働確度、条件及び説明を含む。尚、稼働確度は、分類の一例である。稼働確度とは、対象の各類似プログラムについて現在稼働対象である可能性を示す指標値である。例えば、番号1及び2は稼働確度「0.0」とし、番号3は稼働確度「0.4」とし、番号4は稼働確度「1.0」としている。但し、稼働確度はこれらに限定されない。
そして、本実施の形態3にかかる稼働情報分類処理は、上述した実施の形態2の図12と同等である。但し、稼働情報分類テーブル44aが異なるため、図12のステップS35において付与される分類が異なる。つまり、稼働情報分類部312aは、読み出した稼働情報の稼働日について稼働情報分類テーブル44a内の条件と照合し、いずれの条件に該当するかを判定し、該当する条件に対応する分類を当該稼働情報に付与する。
図18は、本発明の実施の形態3にかかる稼働情報分類結果テーブル46aの例を示す図である。ここでは、番号1〜3及び5が条件1又は2に該当し、稼働確度が0.0とされ、番号4、7及び8が条件3に該当し、稼働確度が0.4とされ、番号6が条件4に該当し、稼働確度が1.0とされたことを示す。
図19は、本発明の実施の形態3にかかる稼働判定処理の流れを示すフローチャートである。まず、稼働判定部313aは、稼働判定結果テーブル47a内で対象の類似グループに属する全資産の判定結果に「非稼働」と記録する(S41)。例えば、稼働判定部313aは、類似グループAに属するプログラムA1、A2及びA3の判定結果に、初期設定として「非稼働」を設定する。
次に、稼働判定部313aは、稼働情報分類結果テーブル46aを参照し、資産ごとに稼働確度を合計する(S45)。例えば、稼働判定部313aは、プログラムA1について稼働確度の合計を0.4、プログラムA2について稼働確度の合計を1.0、プログラムA3について稼働確度の合計を0.8と算出し、内部変数に保持する。
続いて、稼働判定部313aは、対象の類似グループ内の資産のうち一プログラムを選択する(S46)。そして、稼働判定部313aは、選択したプログラムにおける稼働確度の合計が閾値以上であるか否かを判定する(S47)。稼働確度の合計が閾値以上であると判定された場合、稼働判定部313aは、当該プログラム名に対応する判定結果を「稼働」と記録して、稼働判定結果テーブル47aに追加する(S48)。一方、ステップS47において、稼働確度の合計が閾値未満であると判定された場合、稼働判定部313aは、当該プログラム名に対応する判定結果を「非稼働」と記録し、併せて、稼働確度の合計を記録して、稼働判定結果テーブル47aに追加する(S49)。
ステップS48又はS49の後、稼働判定部313aは、対象の類似グループ内の資産のうち全てのプログラムを選択したかを判定し、未選択のプログラムが残っている場合、次のプログラムを選択し、全てのプログラムを選択し終えるまでステップS47からS49を繰り返す。
図20は、本発明の実施の形態3にかかる稼働判定結果テーブル47aの例を示す図である。ここでは、類似グループAのうちプログラムA2の判定結果が「稼働」であり、プログラムA1の判定結果が「非稼働」かつ稼働確度の合計が0.4、プログラムA3の判定結果が「非稼働」かつ稼働確度の合計が0.8であることを示す。
このため、稼働確度の合計値は、非稼働と判定された資産を目視で確認する際の優先度として使用することができる。図20では、非稼働の資産に対して目視確認を行う場合、稼働確度の合計値が最大であるプログラムA3から確認を始めるべきだと判断することができる。
このように、本実施の形態3により、稼働情報の分類として稼働確度を付与することによって、現在の資産の状態を正しく反映した稼働判定と、稼働判定の確度に基づく確認対象の資産への優先順位付けが可能となる。そして、稼働確度に基づいて確認対象の資産に優先順位を付けることができるようになるため、効率的な目視確認が可能となる。
<その他の実施の形態>
尚、上述した実施の形態2又は3は、稼働情報分類テーブル44の分類、又は、稼働情報分類テーブル44aの稼働確度の設定値を、対象の情報システムの運用に基づいて適宜調整することで、稼働判定の精度を高めることができる。すなわち、前記記憶部は、外部から入力された前記所定の分類の条件をさらに記憶し、前記分類部は、前記記憶部に記憶された分類の条件に基づいて、前記稼働情報に前記所定の分類を付与するとよい。
また、稼働情報分類テーブル44又は44aに、非類似資産を無効や稼働確度0とする分類の条件の定義を追加してもよい。例えば、実施の形態2の場合、プログラム稼働判定装置200のうち、稼働情報抽出部311と稼働情報抽出結果テーブル45を不要とし、稼働情報分類部312に類似情報テーブル41と稼働情報テーブル42を直接入力することで実現できる。そして、稼働情報分類部312は、図12の稼働情報分類処理を類似グループごとに実行し、ステップS34からS36を「抽出した稼働情報」の代わりに、「全ての稼働情報」に対して繰り返し実行することとなる。尚、実施形態3についても同様に実現可能である。
また、稼働情報に関わらず稼働又は非稼働が確定している資産を稼働確定資産テーブル48として予めリポジトリ4に登録しておいてもよい。図21は、本発明の他の実施の形態にかかる稼働確定資産テーブル48の例を示す図である。稼働確定資産テーブル48は、番号、プログラム名及び稼動状態を含む。ここで、稼動状態は、多数のプログラムのうち一部のプログラムにおいて予め確定している稼働又は非稼働を示す情報である。例えば、利用者が把握しているものを設定することができる。
そして、稼働判定処理時に稼働確定資産テーブル48を参照し、判定対象の資産が存在する場合は、予め設定された判定結果を採用することで、稼働判定の結果を制御することができる。すなわち、前記記憶部は、前記複数のプログラムの一部のプログラムと、前記現在稼働対象であるか否かを示す稼働確定情報とを対応付けてさらに記憶し、前記稼働判定部は、前記各類似プログラムのうち前記稼働確定情報と対応付けられたプログラムについて、当該対応付けられた稼働確定情報を前記判定の結果とするとよい。
尚、上述した各実施の形態は、ソフトウェア企画及び開発フェーズにおける設計、製造又はテスト支援に適用できる。また、上述した各実施の形態は、ソフトウェア運用及び保守フェーズにおける改造支援又は障害分析支援にも適用できる。さらに、上述した各実施の形態は、上記フェーズを通した影響分析支援又は作業工数の見積支援等にも適用できる。
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
また、上述の実施の形態では、本発明をハードウェアの構成として説明したが、本発明は、これに限定されるものではない。本発明は、任意の処理を、CPU(Central Processing Unit)にコンピュータプログラムを実行させることにより実現することも可能である。
上述の例において、プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD−ROM(Read Only Memory)、CD−R、CD−R/W、DVD(Digital Versatile Disc)、BD(Blu-ray(登録商標) Disc)、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(Random Access Memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
100 プログラム稼働判定装置
110 記憶部
111 類似情報
112 更新情報
113 稼働情報
120 特定部
130 分類部
140 稼働判定部
200 プログラム稼働判定装置
1 入力装置
2 出力装置
3 処理装置
31 稼働判定制御部
311 稼働情報抽出部
312 稼働情報分類部
313 稼働判定部
4 リポジトリ
41 類似情報テーブル
42 稼働情報テーブル
43 資産基本情報テーブル
44 稼働情報分類テーブル
45 稼働情報抽出結果テーブル
46 稼働情報分類結果テーブル
47 稼働判定結果テーブル
200a プログラム稼働判定装置
312a 稼働情報分類部
313a 稼働判定部
44a 稼働情報分類テーブル
46a 稼働情報分類結果テーブル
47a 稼働判定結果テーブル
48 稼働確定資産テーブル

Claims (10)

  1. 複数のプログラムのうちコードが閾値以上の割合で一致する類似プログラムの集合を示す類似情報と、各プログラムの最終更新日を示す更新情報と、各プログラムの稼働日の履歴を示す稼働情報と、を記憶する記憶部と、
    前記類似情報及び前記稼働情報に基づいて、前記集合内の各類似プログラムの中から前記稼働日が最新である最新稼働プログラムを特定する特定部と、
    前記最新稼働プログラムの前記更新情報及び前記稼働情報に基づいて、前記各類似プログラムにおける前記稼働情報に所定の分類を付与する分類部と、
    前記稼働情報に付与された分類に基づいて、前記各類似プログラムに対して、現在稼働対象であるか否かを判定する稼働判定部と、
    を備えるプログラム稼働判定装置。
  2. 前記分類部は、
    前記最新稼働プログラムの最終更新日、当該最終更新日の直後の稼働日である初回稼働日、及び、前記最新稼働プログラム以外の類似プログラムの最終更新日の少なくともいずれかと、各類似プログラムの前記稼働日とを比較して、前記各類似プログラムにおける前記稼働情報に前記所定の分類を付与する
    請求項1に記載のプログラム稼働判定装置。
  3. 前記分類部は、
    前記各類似プログラムの前記稼働日が、前記最新稼働プログラムの最終更新日より古いか否か、前記最新稼働プログラム以外の類似プログラムの最終更新日より古いか否か、前記最新稼働プログラムの最終更新日以降、かつ、前記初回稼働日より古いか否か、及び、前記初回稼働日以降か否かの少なくともいずれかに基づいて、前記稼働情報に前記所定の分類を付与する
    請求項2に記載のプログラム稼働判定装置。
  4. 前記分類部は、前記稼働日が前記初回稼働日以降である前記稼働情報に有効の分類を付与し、
    前記稼働判定部は、前記有効の分類が付与された前記稼働情報に対応する類似プログラムに対して前記現在稼働対象であると判定する
    請求項2又は3に記載のプログラム稼働判定装置。
  5. 前記分類部は、前記各類似プログラムについて現在稼働対象である可能性を示す指標値である複数の稼働確度のいずれかを前記分類として前記稼働情報に付与し、
    前記稼働判定部は、前記稼働情報に付与された前記稼働確度に基づいて、前記複数の類似プログラムのそれぞれに対して、前記現在稼働対象であるか否かを判定する
    請求項1乃至3のいずれか1項に記載のプログラム稼働判定装置。
  6. 前記稼働判定部は、前記稼働情報に付与された前記稼働確度を前記類似プログラムごとに合計した値を、前記判定の結果に対応付けて出力する
    請求項5に記載のプログラム稼働判定装置。
  7. 前記記憶部は、外部から入力された前記所定の分類の条件をさらに記憶し、
    前記分類部は、前記記憶部に記憶された分類の条件に基づいて、前記稼働情報に前記所定の分類を付与する
    請求項1乃至6のいずれか1項に記載のプログラム稼働判定装置。
  8. 前記記憶部は、
    前記複数のプログラムの一部のプログラムと、前記現在稼働対象であるか否かを示す稼働確定情報とを対応付けてさらに記憶し、
    前記稼働判定部は、前記各類似プログラムのうち前記稼働確定情報と対応付けられたプログラムについて、当該対応付けられた稼働確定情報を前記判定の結果とする
    請求項1乃至7のいずれか1項に記載のプログラム稼働判定装置。
  9. 情報処理装置が、
    複数のプログラムのうちコードが閾値以上の割合で一致する類似プログラムの集合を示す類似情報、及び、各プログラムの稼働日の履歴を示す稼働情報に基づいて、前記集合内の各類似プログラムの中から前記稼働日が最新である最新稼働プログラムを特定し、
    前記最新稼働プログラムの最終更新日及び前記稼働情報に基づいて、前記各類似プログラムにおける前記稼働情報に所定の分類を付与し、
    前記稼働情報に付与された分類に基づいて、前記各類似プログラムに対して、現在稼働対象であるか否かを判定する、
    プログラム稼働判定方法。
  10. 複数のプログラムのうちコードが閾値以上の割合で一致する類似プログラムの集合を示す類似情報、及び、各プログラムの稼働日の履歴を示す稼働情報に基づいて、前記集合内の各類似プログラムの中から前記稼働日が最新である最新稼働プログラムを特定する処理と、
    前記最新稼働プログラムの最終更新日及び前記稼働情報に基づいて、前記各類似プログラムにおける前記稼働情報に所定の分類を付与する処理と、
    前記稼働情報に付与された分類に基づいて、前記各類似プログラムに対して、現在稼働対象であるか否かを判定する処理と、
    をコンピュータに実行させるプログラム稼働判定プログラム。
JP2017181001A 2017-09-21 2017-09-21 プログラム稼働判定装置、方法及びプログラム Active JP6984272B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017181001A JP6984272B2 (ja) 2017-09-21 2017-09-21 プログラム稼働判定装置、方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017181001A JP6984272B2 (ja) 2017-09-21 2017-09-21 プログラム稼働判定装置、方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2019057124A JP2019057124A (ja) 2019-04-11
JP6984272B2 true JP6984272B2 (ja) 2021-12-17

Family

ID=66107523

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017181001A Active JP6984272B2 (ja) 2017-09-21 2017-09-21 プログラム稼働判定装置、方法及びプログラム

Country Status (1)

Country Link
JP (1) JP6984272B2 (ja)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9379944B2 (en) * 2011-05-17 2016-06-28 Hitachi, Ltd. Computer system, computer system information processing method, and information processing program
JP6199774B2 (ja) * 2014-03-06 2017-09-20 株式会社日本総合研究所 プログラム管理装置および方法,ならびにプログラム管理装置を制御するプログラム
JP6309442B2 (ja) * 2014-12-18 2018-04-11 株式会社日立製作所 システムテンプレート保守システム及びシステムテンプレート保守方法

Also Published As

Publication number Publication date
JP2019057124A (ja) 2019-04-11

Similar Documents

Publication Publication Date Title
US7856616B2 (en) Action-based in-process software defect prediction software defect prediction techniques based on software development activities
US10860312B1 (en) Defect ownership assignment system and predictive analysis for codebases
US20060282189A1 (en) Manufacturing control apparatus, manufacturing control method, and computer product
US20090100419A1 (en) Method for determining priority for installing a patch into multiple patch recipients of a network
Fani Sani et al. Repairing outlier behaviour in event logs
JPWO2009011056A1 (ja) アプリケーション改善支援プログラム、アプリケーション改善支援方法およびアプリケーション改善支援装置
JP2017091113A (ja) イベント解析装置、イベント解析システム、イベント解析方法、およびイベント解析プログラム
US20120089580A1 (en) Update management apparatus, update management method, and computer-readable medium storing update management program
van Cruchten et al. Process mining in logistics: The need for rule-based data abstraction
US20220036320A1 (en) Prediction of failure recovery timing in manufacturing process
Meincheim et al. Combining process mining with trace clustering: manufacturing shop floor process-an applied case
CN113807821A (zh) 基于离散场景同步工单的方法、系统、设备及存储介质
JP4309803B2 (ja) 保守支援プログラム
JP3291642B2 (ja) 障害対策支援方法
JP2018092374A (ja) テストケース生成装置、及びテストケース生成方法
JP6984272B2 (ja) プログラム稼働判定装置、方法及びプログラム
GB2472736A (en) Maintenance operation support program, maintenance operation support method and maintenance operation support device
WO2023063172A1 (ja) 業務情報管理システム及びデータ検索方法
JP6917874B2 (ja) システム特性評価システムおよびシステム特性評価装置
JP6737063B2 (ja) ソフトウェア資産管理装置、ソフトウェア資産管理方法、および、ソフトウェア資産管理プログラム
JP2020052451A (ja) 計算機システム及び業務フローのパターン生成方法
JP6702072B2 (ja) 制御プログラム、装置、及び方法
JP2008299496A (ja) 業務シミュレータおよびそのプログラム
CN114154816A (zh) 企业管理系统及其执行方法
CN110447011B (zh) 开发操作支持系统、开发管理服务器、操作管理服务器及其方法以及存储有其程序的非暂时性计算机可读介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200817

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210707

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210713

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210910

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20211026

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211108

R150 Certificate of patent or registration of utility model

Ref document number: 6984272

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150