JPWO2015136964A1 - ライセンス情報管理装置、ライセンス情報管理方法、および、プログラム - Google Patents

ライセンス情報管理装置、ライセンス情報管理方法、および、プログラム Download PDF

Info

Publication number
JPWO2015136964A1
JPWO2015136964A1 JP2016507375A JP2016507375A JPWO2015136964A1 JP WO2015136964 A1 JPWO2015136964 A1 JP WO2015136964A1 JP 2016507375 A JP2016507375 A JP 2016507375A JP 2016507375 A JP2016507375 A JP 2016507375A JP WO2015136964 A1 JPWO2015136964 A1 JP WO2015136964A1
Authority
JP
Japan
Prior art keywords
program
information
computer
license
license 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.)
Granted
Application number
JP2016507375A
Other languages
English (en)
Other versions
JP6390696B2 (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.)
Omron Corp
Original Assignee
Omron 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 Omron Corp filed Critical Omron Corp
Publication of JPWO2015136964A1 publication Critical patent/JPWO2015136964A1/ja
Application granted granted Critical
Publication of JP6390696B2 publication Critical patent/JP6390696B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • 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]
    • 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/305Authentication, i.e. establishing the identity or authorisation of security principals by remotely controlling device operation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • 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
    • G06Q2220/00Business processing using cryptography
    • G06Q2220/10Usage protection of distributed data files
    • G06Q2220/18Licensing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Stored Programmes (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Storage Device Security (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

コンピュータ(300)は、1回のアクティベーションにより、アクティベーションサーバ(400)から、プログラムを利用するための情報と、当該プログラムを利用できるPLC(100)の台数を特定する情報とを取得する。PLC(100)は、コンピュータ(300)から、当該プログラムをインストールされる。当該情報によって特定される台数は、コンピュータ(300)がPLC(100)に上記プログラムをインストールした台数だけ差し引かれるように、更新される。

Description

本発明は、2以上の制御機器のそれぞれにおいてプログラムを利用するためのライセンス情報を管理するライセンス情報管理装置に関する。
近年、コンピュータにおいて実行されるプログラムは、ネットワーク経由でダウンロードされたり、ネットワーク経由でダウンロードされたデータによってアクティベート(有効化)されるようになってきている。たとえば、特開2002−132368号公報(特許文献1)は、ファームウェアの購入者が新たに格納されるファームウェアのために支払った代金分に相当する台数分の装置についてのみファームウェアのダウンロードを許可する、バージョンアップシステムを開示している。
特開2002−132368号公報
ところで、特許文献1の段落0009に「同一機種を複数台購入した購入者は、この秘密の番号と装置識別子をサーバヘ送って装置識別子のついたファームウェアプログラムをダウンロードする。購入した台数分これを繰り返すことにより、当該機種の識別子が埋め込まれたバージョンアップファームウェアプログラムを台数分ダウンロードすることができる。」と記載されるように、従来、複数の装置においてプログラムを利用しようとする場合、当該複数の装置のそれぞれについてダウンロード等の作業を必要とされ、煩雑であるという問題があった。
本発明は、かかる実情に鑑み考え出されたものであり、その目的は、2以上の制御機器のそれぞれにおいて利用されるプログラムのライセンス情報を、各制御機器において当該プログラムが利用できるようになるための作業がより容易になる態様で管理することができるライセンス情報管理装置を提供することである。
ある局面に従うと、ライセンス情報管理装置が提供される。ライセンス情報管理装置は、2台以上の制御機器においてプログラムを有効にするための情報であって、2台以上の制御機器の台数およびプログラムに対応する情報を含むキー情報の入力を受け付けるための入力装置と、入力装置に入力されたキー情報を、アクティベーションサーバへ送信するための通信装置と、記憶装置と、通信装置が、アクティベーションサーバから、2台以上の制御機器においてプログラムを利用可能にするための情報であるライセンス情報を受信した場合に、ライセンス情報を記憶装置に記憶するためのコントローラとを備え、ライセンス情報は、プログラムを利用可能にするためのデータと、2台以上の制御機器の台数を特定するための台数情報とを含む。
好ましくは、コントローラは、制御機器に、プログラムを利用可能にするためのデータまたは当該データによって利用可能になったプログラムをインストールし、台数情報を、インストールを実行した制御機器の台数を差し引くように更新するように構成されている。
好ましくは、ライセンス情報管理装置は、ライセンス情報管理装置に対して着脱可能な記録媒体と通信するためのメディアドライブをさらに備える。コントローラは、メディアドライブに特定の記録媒体が装着されていることを条件として、インストールを実行するように構成されている。
好ましくは、コントローラは、特定の記録媒体に、プログラムを利用可能にするためのデータおよび台数情報を記録するように構成されている。
好ましくは、コントローラは、記憶装置に、特定の記録媒体を特定する情報を記録し、記憶装置に記録されている特定の記録媒体を特定する情報と記録媒体に記録されている当該記録媒体を特定する情報とが一致し、かつ、記憶装置に記録されている台数情報と記録媒体に記録されている台数情報とが一致したことを条件として、インストールを実行するように構成されている。
好ましくは、コントローラは、制御機器に、プログラムを利用可能にするためのデータまたは当該データによって利用可能にあったプログラムがインストールされていないことを条件として、インストールを実行するように構成されている。
他の局面に従うと、ライセンス情報管理装置のコンピュータによって実行されるライセンス情報管理方法が提供される。ライセンス情報管理方法は、2台以上の制御機器においてプログラムを有効にするための情報であって、2台以上の制御機器の台数およびプログラムに対応する情報を含むキー情報の入力を受け付けるステップと、入力されたキー情報を、アクティベーションサーバへ送信するステップと、アクティベーションサーバから、2台以上の制御機器においてプログラムを利用可能にするための情報であるライセンス情報を受信した場合に、ライセンス情報をコンピュータの記憶装置に記憶するステップとを備える。ライセンス情報は、プログラムを利用可能にするためのデータと、2台以上の制御機器の台数を特定するための台数情報とを含む。
さらに他の局面に従うと、ライセンス情報管理装置のコンピュータによって実行されるライセンス情報管理用のプログラムが提供される。ライセンス情報管理用のプログラムは、コンピュータに、2台以上の制御機器においてプログラムを有効にするための情報であって、2台以上の制御機器の台数およびプログラムに対応する情報を含むキー情報の入力を受け付けるステップと、入力されたキー情報を、アクティベーションサーバへ送信するステップと、アクティベーションサーバから、2台以上の制御機器においてプログラムを利用可能にするための情報であるライセンス情報を受信した場合に、ライセンス情報をコンピュータの記憶装置に記憶するステップとを実行させる。ライセンス情報は、プログラムを利用可能にするためのデータと、2台以上の制御機器の台数を特定するための台数情報とを含む。
本発明によれば、ライセンス情報管理装置は、一度キー情報をアクティベーションサーバに送信するだけで、2以上の制御機器のそれぞれにおいてプログラムを利用可能にするための情報を取得することができる。これにより、複数の制御機器のそれぞれにおいてプログラムを利用可能にするための作業が容易になる。
本発明に係るライセンス管理システムの第1の実施の形態の構成を概略的に示す図である。 コンピュータのハードウェア構成の一例を示す図である。 PLC(プログラマブルロジックコントローラ)のハードウェア構成の一例を示す図である。 本実施の形態のライセンス情報管理システムにおいて、コンピュータがアクティベーションサーバからライセンス情報を取得するための処理のフローチャートである。 コンピュータによってPLCにプログラムをインストールするための処理のフローチャートである。 第2の実施の形態における記録媒体およびコンピュータの利用の態様を模式的に示す図である。 第2の実施の形態におけるコンピュータのハードウェア構成の一例を示す図である。 第2の実施の形態のコンピュータと記録媒体とにおいて、ライセンス情報として扱われる情報を模式的に示す図である。 第2の実施の形態のコンピュータが、アクティベーションサーバからライセンス情報を取得するために実行する処理のフローチャートである。 第2の実施の形態のコンピュータにおいて実行される、PLCにプログラムをインストールするための処理のフローチャートである。
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。
[第1の実施の形態]
図1は、本発明に係るライセンス管理システムの第1の実施の形態の構成を概略的に示す図である。ライセンス管理システムは、コンピュータ300と、2以上のPLC100とを含む。コンピュータ300は、ライセンス情報管理装置の一例である。コンピュータ300は、たとえば汎用のコンピュータによって実現される。
PLC100は、生産工場の製造現場等に設置されるFA(ファクトリオートメーション)システムにおいて、当該システムの制御を司る機器である。また、PLC100は、制御機器の一例である。ただし、本実施の形態において、制御機器はプログラムを実行するプロセッサを備えた機器であれば、PLC100等の、所与の装置を制御するための機器に限定されない。
各PLC100は、コンピュータ300から、上記システムの制御に利用されるプログラムをダウンロードする。コンピュータ300は、2以上のPLC100によってダウンロードされるプログラムのライセンス情報を管理する。
より具体的には、ユーザは、2以上のPLC100にダウンロードされるプログラムのライセンスを購入する。これにより、当該ユーザは、2以上のPLC100にプログラムをダウンロードするための情報(以下、「キー情報」という)を入手する。キー情報は、たとえば、上記プログラムを特定する情報とPLC100の台数を特定する情報とを含むデータが暗号化されたものである。本実施の形態では、キー情報は、「ライセンスコード」とも呼ばれる。
キー情報を入手したユーザは、コンピュータ300に、上記キー情報を入力する。これに応じて、コンピュータ300は、当該キー情報をアクティベーションサーバ400へ送信する。アクティベーションサーバ400は、たとえば、外部の装置と通信するための装置および演算機能を有する装置を有する、一般的なサーバによって実現され得る。
アクティベーションサーバ400は、当該キー情報が正当なものか否かを判断する。正当なものであると判断すると、アクティベーションサーバ400は、コンピュータ300を認証し、コンピュータ300に対して、2以上のPLC100についての台数分のプログラムのアクティベーションを実行する。より具体的には、アクティベーションサーバ400は、コンピュータ300に対して、2以上のPLC100において上記プログラムを利用するための情報(ライセンス情報)を送信する。これにより、2以上のPLC100のそれぞれが、コンピュータ300から上記プログラムをダウンロードできるようになる。
ライセンス情報とは、プログラムを利用可能にするための情報である。ライセンス情報の一例としては、プログラムそのもののデータである。コンピュータ300においてプログラムが暗号化されて格納されている場合、ライセンス情報は、当該プログラムを復号化するための鍵であり得る。
また、ライセンス情報は、上記プログラムを利用することができるPLC100の台数を特定する情報を含む。なお、当該台数は、上記キー情報に対応する。
第1の実施の形態に係るライセンス管理システムでは、コンピュータ300は、1回のアクティベーション処理(アクティベーションサーバ400へのキー情報の送信)によって、2以上のPLC100にインストールされるプログラムについてのライセンス情報を取得する。これにより、たとえば、公衆ネットワークに接続できない環境などの、2以上のPLC100がアクティベーションサーバ400との通信ができない環境にある場合でも、ユーザは、1台のコンピュータ300で、当該2以上のPLC100にプログラムをインストールできる。
アクティベーションサーバ400は、認証に利用されたキー情報(または、当該キー情報を特定する情報)を、すでに使用された情報として、記憶することが好ましい。これにより、同じキー情報を利用して、複数回認証が行なわれることが回避され得る。
<コンピュータ300のハードウェア構成>
図2は、コンピュータ300のハードウェア構成の一例を示す図である。図2に示されるように、コンピュータ300は、典型的には、汎用のコンピュータで構成される。
より具体的には、図2に示されるように、コンピュータ300は、CPU(Central Processing Unit)302と、ROM(Read Only Memory)304と、RAM(Random Access Memory)306と、ハードディスク(HDD)308とを含む。CPU302は、OS(Operating System)を含む各種プログラムを実行する。ROM304は、BIOS(Basic Input/Output System)や各種データを格納する。RAM306は、CPU302でのプログラムの実行に必要なデータを格納するための作業領域を提供する。HDD308は、CPU302で実行されるプログラムなどを不揮発的に格納する。制御システム1では、CPU302とRAM306とによって、コントローラの一例が構成される。
ハードディスク308には、PLC100にインストールされるプログラムを特定する情報(プログラムID)と、当該プログラムのデータと、当該プログラムをインストールできるPLC100の台数とが記憶され得る。図2において、プログラムID記憶部391は、プログラムIDを記憶するための領域を示す。ダウンロードプログラム記憶部392は、プログラムのデータを記憶するための領域を示す。ライセンス残数記憶部393は、上記台数を記憶するための領域を示す。
コンピュータ300には、PLC100において実行されるプログラムのライセンス情報を管理するためのアプリケーションがインストールされている。図2において、アプリケーション記憶部390は、当該アプリケーションのプログラムを記憶するための領域を示す。当該プログラムは、コンピュータ300に対して着脱可能な記録媒体に記録されて、コンピュータ300本体とは独立して流通し得る。
コンピュータ300は、また、ユーザからの操作を受け付けるキーボード310およびマウス312と、情報をユーザに提示するためのモニタ314と、コネクタ316とを含む。コネクタ316は、USB(Universal Serial Bus)メモリ等の記録媒体600を含む外部の機器と接続するために設けられている。CPU302は、コネクタ316を介して、記録媒体600等の外部の機器と通信し得る。これにより、CPU302は、たとえば記録媒体600に格納されたプログラムを実行し得る。コンピュータ300で実行されるプログラムは、上位のホストコンピュータなどからネットワークを通じてプログラムをダウンロードされる場合もあり得る。コンピュータ300は、さらに、PLC100(CPUユニット104)などと通信するための通信インタフェース(IF)318を含む。
<PLC100のハードウェア構成>
図3は、PLC100のハードウェア構成の一例を示す図である。図3に示されるように、PLC100は、プロセッサ122と、メインメモリ124と、不揮発性メモリ126と、入力装置132と、コネクタ134とを含む。
プロセッサ122は、不揮発性メモリ126等に格納されたプログラムを実行することにより、PLC100の動作を制御する。メインメモリ124は、プロセッサ122の作業領域として利用され得る。不揮発性メモリ126は、プログラム等の各種のデータを記憶する。入力装置132は、外部からの情報の入力を受け付け、たとえばボタン等によって構成される。コネクタ134は、USBメモリ等の記録媒体を含む外部の機器と接続するために設けられている。プロセッサ122は、コネクタ134を介して、外部の機器と通信し得る。
<ライセンス情報を取得するための処理>
図4は、本実施の形態のライセンス情報管理システムにおいて、コンピュータ300がアクティベーションサーバ400からライセンス情報を取得するための処理のフローチャートである。図4では、コンピュータ300側で実行される処理(図4の左側)と、アクティベーションサーバ400側で実行される処理(図4の右側)とが示されている。コンピュータ300側で実行される処理は、たとえばアプリケーション記憶部390に格納されたアプリケーションが実行されることによって実現される。
図4を参照して、ステップS10で、コンピュータ300のCPU302は、キーボード310等を介したライセンスコード(キー情報)の入力を受け付ける。そして、制御はステップS12へ進められる。
ステップS12で、CPU302は、アクティベーションサーバ400へ、ステップS10で入力を受け付けたライセンスコードを送信する。
これに応じて、ステップS30で、アクティベーションサーバ400(の演算装置)は、コンピュータ300から送信されたライセンスコードが正当であるかどうかを判断する。アクティベーションサーバ400は、たとえばライセンスコードに含まれる数列のハッシュ値を算出し、当該ハッシュ値が特定の値であればライセンスコードが正当であると判断し、当該特定の値以外の値であれば正当ではないと判断する。アクティベーションサーバ400は、ライセンスコードが正当であると判断するとステップS34へ制御を進め(ステップS30でYES)、正当ではないと判断するとステップS32へ制御を進める(ステップS30でNO)。
ステップS32では、アクティベーションサーバ400は、コンピュータ300に対して、当該コンピュータ300が送信したライセンスコードが不正であることを通知する。
当該通知を受信すると、ステップS14で、CPU302は、ステップS10で入力を受け付けたライセンスコードが不正であることを報知する。当該報知は、たとえばモニタ314にその旨のメッセージを表示することによって実現される。
一方、ステップS34で、アクティベーションサーバ400は、ライセンスコードがまだ認証に利用されていないかどうかを判断する。上記したように、アクティベーションサーバ400は、認証に利用されたキー情報(ライセンスコード)(または、これを特定する情報)を、すでに使用された情報として、記憶することができる。ステップS34では、アクティベーションサーバ400は、コンピュータ300から送信されたライセンスコードがアクティベーションサーバ400において既に使用された情報として記憶されているかどうかを判断する。アクティベーションサーバ400は、上記ライセンスコードが既に使用された情報として記憶されていると判断すると、ステップS36へ制御を進める(ステップS34でNO)。また、アクティベーションサーバ400は、上記ライセンスコードが既に使用された情報として記憶されていないと判断すると、ステップS38へ制御を進める(ステップS34でYES)。
ステップS36では、アクティベーションサーバ400は、コンピュータ300に、当該コンピュータ300から送信されたライセンスコードが既に認証に利用されたものであることを通知する。
当該通知を受信すると、ステップS16で、CPU302は、ステップS10で入力されたライセンスコードが既に認証に利用されたものであるため、利用できないことを報知する。当該報知は、たとえばその旨のメッセージをモニタ314に表示することにより実現される。
ステップS38では、アクティベーションサーバ400は、コンピュータ300に、ライセンス情報を送信する。送信されるライセンス情報は、ステップS12においてコンピュータ300から送信されたライセンスコードに対応するプログラムを、当該ライセンスコードが対応する台数の機器が利用するための情報である。なお、当該ライセンスコードは、当該プログラムとPLC100の台数とに対応していればよく、直接的に、当該プログラムを特定する情報を含んでいる必要はなく、また、台数を特定する情報を含んでいる必要はない。
ライセンス情報を受信すると、ステップS18は、CPU302は、ライセンスの認証が成功したことを報知する。当該報知は、たとえばモニタ314にその旨のメッセージを表示することによって実現される。そして、制御はステップS20へ進められる。
ステップS20では、CPU302は、ライセンス情報に基づいて、プログラムのデータをダウンロードプログラム記憶部382に格納し、また、当該プログラムをインストールすることができる機器の台数をライセンス残数記憶部293に格納して、図4の処理を終了させる。
<プログラムのインストール>
図5は、コンピュータ300によってPLC100にプログラムをインストールするための処理のフローチャートである。CPU302は、当該処理を、たとえばキーボード310等を介してインストールを開始するための指示が入力されたことを条件として開始する。また、当該処理は、コンピュータ300がPLC100と接続された状態で開始される。接続は、有線であっても良いし、無線であっても良い。図5の処理は、たとえばアプリケーション記憶部390に格納されたアプリケーションが実行されることによって実現される。
図5を参照して、ステップS60で、CPU302は、ライセンス残数記憶部393に記憶された台数(ライセンス残数)が0より大きいか否かを判断する。そして、CPU302は、0より大きいと判断するとステップS64へ制御を進め(ステップS60でYES)、0以下であると判断するとステップS62へ制御を進める(ステップS60でNO)。
ライセンス残数記憶部393に格納される台数の値は、ステップS20(図4参照)で、アクティベーションサーバ400から許可された最大の数として登録される。その後、当該台数の値は、PLC100にプログラムがインストールされるたびに、後述するステップS70で「1」ずつカウントダウンされる。
ステップS62では、CPU302は、ライセンス残数が不足していることを報知して、図5の処理を終了する。当該報知は、たとえばモニタ314にその旨のメッセージを表示することによって実現される。
ステップS64では、CPU302は、PLC100において、インストールの対象となるプログラムが未だPLC100にインストールされていないかどうかを判断する。当該判断は、たとえばPLC100の不揮発性メモリ126に、当該プログラムと同じファイル名およびバージョンを持つプログラムが格納されているかどうかに基づく。CPU302は、PLC100に未だ当該プログラムがインストールされていないと判断するとステップS68へ制御を進め(ステップS64でYES)、既にインストールされていると判断するとステップS66へ制御を進める。
ステップS66で、CPU302は、対象のプログラムをインストールしようとしたPLC100に既に当該プログラムがインストールされていることを報知して、図5の処理を終了させる。当該報知は、たとえばモニタ314にその旨を示すメッセージを表示することによって実現される。
ステップS68で、CPU302は、対象のプログラムをPLC100にインストールする。そして、制御はステップS70へ進められる。
ステップS70で、CPU302は、ライセンス残数記憶部393に格納されている台数(ライセンス残数)を1カウントダウンして、図5の処理を終了させる。
以上説明した第1の実施の形態では、コンピュータ300は、1回のアクティベーションにより、プログラムを利用するための情報と、当該プログラムを利用できるPLC100の台数を特定する情報とを取得する。PLC100は、コンピュータ300から、当該プログラムをインストールされる。当該情報によって特定される台数は、コンピュータ300がPLC100に上記プログラムをインストールした台数だけ差し引かれるように、更新される。
第1の実施の形態では、コンピュータ300からPLC100にプログラムがインストールされる場合の具体例として、プログラムのデータのダウンロードが説明された。なお、たとえばPLC100においてプログラムのデータが暗号化されて格納されている場合には、コンピュータ300からPLC100に、プログラムのデータそのものがダウンロードされる代わりに、当該暗号化の鍵がダウンロードされても良い。
[第2の実施の形態]
第2の実施の形態では、コンピュータ300と記録媒体600とによって、ライセンス情報が管理される。より具体的には、コンピュータ300は、図5を参照して説明されたプログラムのインストールを、記録媒体600がコンピュータ300に装着されていることを条件として実行する。ライセンス情報は、コンピュータ300および記録媒体600の双方に格納される。
図6は、第2の実施の形態における記録媒体600およびコンピュータ300の利用の態様を模式的に示す図である。第2の実施の形態では、さらに、図6に示されるように、記録媒体600が利用されることにより、あるコンピュータ300(図6中のコンピュータ300A)で利用されたライセンス情報を他のコンピュータ300(図6中のコンピュータ300B)に引き継ぐことができる。
<コンピュータ300の構成>
図7は、第2の実施の形態におけるコンピュータ300のハードウェア構成の一例を示す図である。図7に示されるように、第2の実施の形態のコンピュータ300のハードウェア構成は、第1の実施の形態のコンピュータ300のハードウェア構成と同様とすることができる。
第2の実施の形態のコンピュータ300のHDD308には、コンピュータ300自体を特定するための情報と、記録媒体600を特定する情報とがさらに格納される。図7において、PCID記憶部394は、コンピュータ300自体を特定するための情報を記憶するための領域を示す。メディアID記憶部395は、記録媒体600を特定する情報を記憶するための領域を示す。
<ライセンス情報の管理の概要>
図8は、第2の実施の形態のコンピュータ300と記録媒体600とにおいて、ライセンス情報として扱われる情報を模式的に示す図である。図8では、(A)〜(D)として、コンピュータ300および記録媒体600の4つの状態が示されている。図8の(A)〜(D)では、2台のコンピュータ300が、コンピュータ300Aおよびコンピュータ300Bとして示されている。図8の(A)および(B)では、1台目のコンピュータ300Aと記録媒体600との組合せが示されている。図8の(B)および(C)では、2台目のコンピュータ300Bと記録媒体600との組合せが示されている。
まず、図8の(A)を参照して、コンピュータ300Aは、「プログラムID」「ライセンス残数」「PCID」「メディアID」および「ダウンロードプログラム」のそれぞれの値を記憶し得る。この中で、図8の(A)に示された状態では、コンピュータ300Aは、「PCID」の値のみを記憶する。「PCID」は、コンピュータ300Aを特定する情報であり、PCID記憶部394に格納される。「PCID」は、コンピュータ300Aの工場出荷時、または、ユーザによってコンピュータ300Aの利用開始時等に、PCID記憶部394に登録され得る。
また、記録媒体600は、コンピュータ300Aと同様に、「プログラムID」「ライセンス残数」「PCID」「メディアID」および「ダウンロードプログラム」のそれぞれの値を記憶し得る。この中で、図8の(A)に示された状態では、記録媒体600は、「メディアID」の値のみを記憶する。「メディアID」は、記録媒体600を特定する情報である。記録媒体600は、たとえばUSBメモリ、SD(Secure Digital)メモリカードなどのあらゆる種類の記録媒体であり得る。「メディアID」は、たとえば記録媒体600の出荷時等、第2の実施の形態のライセンス情報管理システムにおいて利用される前に記録媒体600に格納されている。
次に、図8の(B)を参照して、コンピュータ300Aは、「プログラムID」「ライセンス残数」「PCID」「メディアID」および「ダウンロードプログラム」の値を記憶する。
「プログラムID」は、PLC100にインストールされるプログラムを特定する情報であり、プログラムID記憶部391に格納される。
「ライセンス残数」は、当該プログラムをインストールできるPLC100の残数であり、ライセンス残数記憶部393に格納される。
「ダウンロードプログラム」は、PLC100にインストールされるプログラムのデータであり、ダウンロードプログラム記憶部392に格納される。
コンピュータ300Aは、たとえば、アクティベーションサーバ400からライセンス情報を取得することにより、「プログラムID」「ライセンス残数」および「ダウンロードプログラム」の値を取得する。また、コンピュータ300Aは、記録媒体600から、「メディアID」の値を取得する。
図8の(B)に示された状態では、記録媒体600においても、「プログラムID」「ライセンス残数」「PCID」「メディアID」および「ダウンロードプログラム」の値が格納されている。「プログラムID」「ライセンス残数」「PCID」および「ダウンロードプログラム」の値は、コンピュータ300Aによって書き込まれる。
コンピュータ300Aが故障や紛失によって利用できなくなった場合、ユーザは、コンピュータ300Aに接続していた記録媒体600を、他のコンピュータ300Bに接続する。図8の(C)には、図8の(B)に示された記録媒体600が、ライセンス情報を登録されていないコンピュータ300B接続された状態が示されている。
図8の(C)に示された状態では、記録媒体600に記録されているデータは、図8の(B)に示された状態と同様である。
一方、図8の(C)に示された状態では、コンピュータ300Bは、図8の(A)に示された状態のコンピュータ300Aと同様に、「PCID」のみの値を記憶している。なお、コンピュータ300Aの「PCID」の値が「PC01」であるのに対し、コンピュータ300Bの「PCID」の値は「PC02」である。つまり、コンピュータ300Bの「PCID」の値は、コンピュータ300Aの「PCID」の値とは異なる。
図9を参照して後述するように、コンピュータ300Bは、プログラムをPLC100にインストールさせるための処理を実行することにより、記録媒体600に格納されたライセンス情報を当該コンピュータ300Bに格納できる。これにより、コンピュータ300Bには、図8の(D)に示される情報が記憶される。より具体的には、図8の(D)に示されるように、コンピュータ300Bは、記録媒体600が記憶している「プログラムID」「ライセンス残数」「メディアID」および「ダウンロードプログラム」を、当該コンピュータ300Bにコピーする。
コンピュータ300Bは、また、当該コンピュータ300Bの「PCID」を記録媒体600に書き込む。これにより、図8の(D)に示された状態では、記録媒体600には、「PCID」の値として、コンピュータ300Aの「PC01」の代わりに、コンピュータ300Bの「PC02」が格納される。
以上、図8を参照して説明したように、第2の実施の形態のライセンス情報管理システムでは、記録媒体600に格納された情報を利用して、ライセンス情報をあるコンピュータ300Aから他のコンピュータ300Bへと引き継ぐことができる。
<ライセンス情報を取得するための処理>
図9を参照して、コンピュータ300Aおよび記録媒体600において図8の(A)に示されたデータがどのように格納されるかを説明する。図9は、第2の実施の形態のコンピュータ300が、アクティベーションサーバ400からライセンス情報を取得するために実行する処理のフローチャートである。図9に示された処理は、図4のステップS20の制御に相当する。つまり、図9に示された処理は、たとえば、コンピュータ300(コンピュータ300A)が、アクティベーションサーバ400からライセンス情報を受信したことに応じて開始される。
図9を参照して、ステップS200で、コンピュータ300AのCPU302は、コネクタ316に記録媒体600が接続されているかどうかを判断する。そして、CPU302は、接続されていると判断するとステップS204へ制御を進め(ステップS200でYES)、接続されていないと判断するとステップS202へ制御を進める(ステップS200でNO)。
ステップS202で、CPU302は、エラーを報知してステップS200へ制御を戻す。つまり、図9の処理では、コンピュータ300Aのコネクタ316に記録媒体600が接続されない限り、ステップS204以降の制御が実行されない。
ステップS204で、CPU302は、メディアID記憶部395に、メディアIDとして、コネクタ316に接続された記録媒体600のIDを登録する。そして、制御はステップS206へ進められる。
ステップS206で、CPU302は、図4のステップS20と同様に、ダウンロードプログラム記憶部392にプログラムを格納し、ライセンス残数記憶部393にライセンス数(台数)を格納する。そして、制御はステップS208へ進められる。また、ステップS206では、CPU302は、プログラムIDをプログラムID記憶部391に格納する。なお、プログラムIDは、図4のステップS10で格納される場合もあり得る。
ステップS208では、記録媒体600に、「プログラムID」「ライセンス残数」「PCID」および「ダウンロードプログラム」を書き込む。そして、図9の処理は終了する。
<プログラムのインストール>
図10は、第2の実施の形態のコンピュータ300において実行される、PLC100にプログラムをインストールするための処理のフローチャートである。CPU302は、当該処理を、たとえばキーボード310等を介してインストールを開始するための指示が入力されたことを条件として開始する。また、当該処理は、コンピュータ300がPLC100と接続された状態で開始される。接続は、有線であっても良いし、無線であっても良い。図10の処理は、たとえばアプリケーション記憶部390に格納されたアプリケーションが実行されることによって実現される。
図10を参照して、ステップS40で、CPU302は、コネクタ316に記録媒体600が接続されているかどうかを判断する。そして、CPU302は、接続されていると判断するとステップS44へ制御を進め(ステップS40でYES)、接続されていないと判断するとステップS42へ制御を進める(ステップS40でNO)。
ステップS42で、CPU302は、記録媒体600が接続されていないことによるエラーを報知して、図10の処理を終了させる。当該報知は、たとえばモニタ314に対応するメッセージを表示することによって実現される。
ステップS44で、CPU302は、記録媒体600に記録されている情報を読み込む。読み込まれる情報は、図8を参照して説明された、「プログラムID」「ライセンス残数」「PCID」「メディアID」および「ダウンロードプログラム」の値である。そして、制御はステップS46へ進められる。
ステップS46で、CPU302は、(当該CPU302が搭載されている)コンピュータ300のメディアID記憶部395に、「メディアID」の値が記録されているかどうかを判断する。そして、CPU302は、記録されていると判断するとステップS50へ制御を進め(ステップS46でYES)、記録されていないと判断するとステップS48制御を進める(ステップS46でNO)。
ステップS48で、CPU302は、記録媒体600から「プログラムID」「ライセンス残数」「メディアID」および「ダウンロードプログラム」を読み込んで、それぞれを、プログラムID記憶部391、ライセンス残数記憶部393、メディアID記憶部395、および、ダウンロードプログラム記憶部392のそれぞれに書き込む。また、CPU302は、PCID記憶部394に記録されている「PCID」を記録媒体600に書き込む。ステップS48の制御は、図8における(C)から(D)への変更に相当する。そして、制御はステップS60へ進められる。
ステップS50で、CPU302は、記録媒体600から読み込んだ「メディアID」が、メディアID記憶部395に記録されているメディアIDと一致するかどうかを判断する。そして、CPU302は、一致すると判断するとステップS60へ制御を進め(ステップS50でYES)、一致しないと判断するとステップS52へ制御を進める(ステップS50でNO)。
ステップS52で、CPU302は、不正な記録媒体600が接続されていることを報知して、図10の処理を終了させる。当該報知は、たとえばモニタ314にその旨のメッセージを表示することによって実現される。
ステップS60〜S70の制御は、図5の処理の対応する制御と同様の態様で実行され得る。
より具体的には、ステップS60で、CPU302は、ライセンス残数記憶部393に記録されたライセンス残数が0より大きいか否かを判断する。そして、CPU302は、ライセンス残数が0より大きいと判断するとステップS64へ制御を進め(ステップS60でYES)、0以下であると判断すろとステップS62へ制御を進める(ステップS60でNO)。
ステップS62で、CPU302は、プログラムのインストールにはライセンス残数が不足していることを報知して、図10の処理を終了させる。当該報知は、たとえばその旨のメッセージをモニタ314に表示することによって実現される。
ステップS64で、CPU302は、PLC100において、インストールの対象となるプログラムが未だPLC100にインストールされていないかどうかを判断する。そして、CPU302は、PLC100に未だ当該プログラムがインストールされていないと判断するとステップS68へ制御を進め(ステップS64でYES)、既にインストールされていると判断するとステップS66へ制御を進める。
ステップS66で、CPU302は、対象のプログラムをインストールしようとしたPLC100に既に当該プログラムがインストールされていることを報知して、図10の処理を終了させる。当該報知は、たとえばモニタ314にその旨を示すメッセージを表示することによって実現される。
ステップS68で、CPU302は、対象のプログラムをPLC100にインストールする。そして、制御はステップS70へ進められる。
ステップS70で、CPU302は、ライセンス残数記憶部393に格納されているライセンス残数を1カウントダウンする。そして、制御はステップS72へ進められる。
ステップS72で、CPU302は、記録媒体に記録されたライセンス残数の値を1カウントダウンして、図10の処理を終了させる。
以上、図9を参照して説明された処理では、ステップS200以降の制御は、コンピュータ300に記録媒体600が接続されていることを条件として実行された。なお、コンピュータ300は、記録媒体600と接続していなくとも、アクティベーションサーバ400からライセンス情報を取得(ステップS208)しても良い。たとえば、コンピュータ300は、記録媒体600に接続されることなく、アクティベーションサーバ400からライセンス情報を取得する。ライセンス情報を取得した後、コンピュータ300は、アクティベーションサーバ400から取得したライセンス情報を記録媒体600に書き込むための、予備的な処理を実行する。図10に示された処理は、たとえば、当該予備的な処理がすでに実行されたことを条件として、実行可能になる。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて請求の範囲によって示され、請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
100 PLC、122 プロセッサ、124 メインメモリ、126 不揮発性メモリ、132 入力装置、134,316 コネクタ、300 コンピュータ、302 CPU、308 HDD、390 アプリケーション記憶部、391 プログラムID記憶部、392 ダウンロードプログラム記憶部、393 ライセンス残数記憶部、394 PCID記憶部、395 メディアID記憶部、400 アクティベーションサーバ、600 記録媒体。

Claims (8)

  1. 2台以上の制御機器においてプログラムを有効にするための情報であって、前記2台以上の制御機器の台数および前記プログラムに対応する情報を含むキー情報の入力を受け付けるための入力装置と、
    前記入力装置に入力された前記キー情報を、アクティベーションサーバへ送信するための通信装置と、
    記憶装置と、
    前記通信装置が、前記アクティベーションサーバから、前記2台以上の制御機器において前記プログラムを利用可能にするための情報であるライセンス情報を受信した場合に、前記ライセンス情報を前記記憶装置に記憶するためのコントローラとを備え、
    前記ライセンス情報は、前記プログラムを利用可能にするためのデータと、前記2台以上の制御機器の台数を特定するための台数情報とを含む、ライセンス情報管理装置。
  2. 前記コントローラは、
    前記制御機器に、前記プログラムを利用可能にするためのデータまたは当該データによって利用可能になったプログラムをインストールし、
    前記台数情報を、前記インストールを実行した制御機器の台数を差し引くように更新するように構成されている、請求項1に記載のライセンス情報管理装置。
  3. 前記ライセンス情報管理装置に対して着脱可能な記録媒体と通信するためのメディアドライブをさらに備え、
    前記コントローラは、前記メディアドライブに特定の記録媒体が装着されていることを条件として、前記インストールを実行するように構成されている、請求項2に記載のライセンス情報管理装置。
  4. 前記コントローラは、前記特定の記録媒体に、前記プログラムを利用可能にするためのデータおよび前記台数情報を記録するように構成されている、請求項3に記載のライセンス情報管理装置。
  5. 前記コントローラは、
    前記記憶装置に、前記特定の記録媒体を特定する情報を記録し、
    前記記憶装置に記録されている前記特定の記録媒体を特定する情報と前記記録媒体に記録されている当該記録媒体を特定する情報とが一致し、かつ、前記記憶装置に記録されている台数情報と前記記録媒体に記録されている台数情報とが一致したことを条件として、前記インストールを実行するように構成されている、請求項4に記載のライセンス情報管理装置。
  6. 前記コントローラは、前記制御機器に、前記プログラムを利用可能にするためのデータまたは当該データによって利用可能にあったプログラムがインストールされていないことを条件として、前記インストールを実行するように構成されている、請求項2〜請求項5のいずれか1項に記載のライセンス情報管理装置。
  7. ライセンス情報管理装置のコンピュータによって実行されるライセンス情報管理方法であって、
    2台以上の制御機器においてプログラムを有効にするための情報であって、前記2台以上の制御機器の台数および前記プログラムに対応する情報を含むキー情報の入力を受け付けるステップと、
    入力された前記キー情報を、アクティベーションサーバへ送信するステップと、
    前記アクティベーションサーバから、前記2台以上の制御機器において前記プログラムを利用可能にするための情報であるライセンス情報を受信した場合に、前記ライセンス情報を前記コンピュータの記憶装置に記憶するステップとを備え、
    前記ライセンス情報は、前記プログラムを利用可能にするためのデータと、前記2台以上の制御機器の台数を特定するための台数情報とを含む、ライセンス情報管理方法。
  8. ライセンス情報管理装置のコンピュータによって実行されるライセンス情報管理用のプログラムであって、
    前記プログラムは、前記コンピュータに、
    2台以上の制御機器においてプログラムを有効にするための情報であって、前記2台以上の制御機器の台数および前記プログラムに対応する情報を含むキー情報の入力を受け付けるステップと、
    入力された前記キー情報を、アクティベーションサーバへ送信するステップと、
    前記アクティベーションサーバから、前記2台以上の制御機器において前記プログラムを利用可能にするための情報であるライセンス情報を受信した場合に、前記ライセンス情報を前記コンピュータの記憶装置に記憶するステップとを実行させ、
    前記ライセンス情報は、前記プログラムを利用可能にするためのデータと、前記2台以上の制御機器の台数を特定するための台数情報とを含む、プログラム。
JP2016507375A 2014-03-14 2015-01-15 ライセンス情報管理装置、ライセンス情報管理方法、および、プログラム Active JP6390696B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2014052677 2014-03-14
JP2014052677 2014-03-14
PCT/JP2015/050878 WO2015136964A1 (ja) 2014-03-14 2015-01-15 ライセンス情報管理装置、ライセンス情報管理方法、および、プログラム

Publications (2)

Publication Number Publication Date
JPWO2015136964A1 true JPWO2015136964A1 (ja) 2017-04-06
JP6390696B2 JP6390696B2 (ja) 2018-09-19

Family

ID=54071418

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016507375A Active JP6390696B2 (ja) 2014-03-14 2015-01-15 ライセンス情報管理装置、ライセンス情報管理方法、および、プログラム

Country Status (5)

Country Link
US (1) US20170076073A1 (ja)
EP (1) EP3101575A4 (ja)
JP (1) JP6390696B2 (ja)
CN (1) CN106062759B (ja)
WO (1) WO2015136964A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019159752A (ja) * 2018-03-13 2019-09-19 オムロン株式会社 コントローラ、ライセンスの管理方法、およびライセンスの管理プログラム
EP3641259A1 (de) * 2018-10-15 2020-04-22 Siemens Aktiengesellschaft Vorrichtung und verfahren zur prüfung von eigenschaften von ressourcen
DE102022100794A1 (de) * 2022-01-14 2023-07-20 Turck Holding Gmbh Verfahren und Vorrichtung zur Verwaltung von Lizenzen in einem Industrieautomationssystem

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004302930A (ja) * 2003-03-31 2004-10-28 Fujitsu Ltd ファイルのセキュリティ管理プログラム及びファイルのセキュリティ管理装置
JP2005149002A (ja) * 2003-11-13 2005-06-09 Nippon Telegr & Teleph Corp <Ntt> コンテンツ流通管理方法および装置
JP2006139352A (ja) * 2004-11-10 2006-06-01 Yokogawa Electric Corp ダウンロード管理方法およびダウンロード管理方法を実行するためのプログラム
JP2008079284A (ja) * 2006-08-21 2008-04-03 Ricoh Co Ltd 画像処理システム、画像処理装置、プログラム管理方法及びプログラムを管理する管理プログラム
US20100325734A1 (en) * 2009-06-19 2010-12-23 Etchegoyen Craig S Modular Software Protection
JP2012063867A (ja) * 2010-09-14 2012-03-29 Ricoh Co Ltd 情報処理装置、画像処理装置管理システム、情報処理方法およびそのプログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3389186B2 (ja) * 1999-04-27 2003-03-24 松下電器産業株式会社 半導体メモリカード及び読み出し装置
EP1839307A4 (en) * 2005-01-19 2010-01-27 Lg Electronics Inc RECORDING MEDIUM, DATA STRING DEVICE AND METHOD THEREFOR
US20100293536A1 (en) * 2009-05-12 2010-11-18 Microsoft Corporation Enhanced product functionality based on user identification
JP2011170465A (ja) * 2010-02-16 2011-09-01 Ricoh Co Ltd ソフトウェア配信システム、ソフトウェア配信方法およびプログラム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004302930A (ja) * 2003-03-31 2004-10-28 Fujitsu Ltd ファイルのセキュリティ管理プログラム及びファイルのセキュリティ管理装置
JP2005149002A (ja) * 2003-11-13 2005-06-09 Nippon Telegr & Teleph Corp <Ntt> コンテンツ流通管理方法および装置
JP2006139352A (ja) * 2004-11-10 2006-06-01 Yokogawa Electric Corp ダウンロード管理方法およびダウンロード管理方法を実行するためのプログラム
JP2008079284A (ja) * 2006-08-21 2008-04-03 Ricoh Co Ltd 画像処理システム、画像処理装置、プログラム管理方法及びプログラムを管理する管理プログラム
US20100325734A1 (en) * 2009-06-19 2010-12-23 Etchegoyen Craig S Modular Software Protection
JP2012063867A (ja) * 2010-09-14 2012-03-29 Ricoh Co Ltd 情報処理装置、画像処理装置管理システム、情報処理方法およびそのプログラム

Also Published As

Publication number Publication date
US20170076073A1 (en) 2017-03-16
WO2015136964A1 (ja) 2015-09-17
JP6390696B2 (ja) 2018-09-19
EP3101575A4 (en) 2017-04-12
CN106062759B (zh) 2019-04-02
CN106062759A (zh) 2016-10-26
EP3101575A1 (en) 2016-12-07

Similar Documents

Publication Publication Date Title
JP5565040B2 (ja) 記憶装置、データ処理装置、登録方法、及びコンピュータプログラム
JP6073483B2 (ja) オペレーティングシステム独立ストレージ内のライセンシング情報の格納及びアクセス
US9026626B2 (en) Management device, information processing system, management method, and storage medium
JP5429880B2 (ja) アプリケーション配布システム、アプリケーション配布方法、端末及びプログラム
TW201619866A (zh) 客製化資訊設備的方法
CN106471511A (zh) 用于计算机***和服务器***的许可***以及用于其的方法
EP2736010B1 (en) License management device, license management system, license management method, and program
JP6127719B2 (ja) 情報処理システム、情報処理装置、ライセンス管理方法及びプログラム
JP2019067264A (ja) ソフトウェア管理システム、ソフトウェア更新装置、ソフトウェア更新方法、及びソフトウェア更新プログラム
JP6390696B2 (ja) ライセンス情報管理装置、ライセンス情報管理方法、および、プログラム
JP5991740B2 (ja) ライセンス管理装置、ライセンス管理方法、およびプログラム
TWI536265B (zh) 可執行程式安裝的方法及系統
US10061908B2 (en) Program editing device, program management device, and computer readable medium
JP6304427B2 (ja) 情報処理システム及び操作端末
JP6065161B2 (ja) 産業機器生産システム、産業機器生産方法、プログラム、及び情報記憶媒体
JP6791181B2 (ja) 情報処理システム、情報処理装置及びプログラム
JP2013046122A (ja) 端末、アプリ保護方法及びプログラム
US20220004603A1 (en) Method for controlling device through application, and apparatus and system for performing the same
JP2018156241A (ja) 認証仲介装置及び認証仲介プログラム
JP6697038B2 (ja) 情報処理装置、検証方法および検証プログラム
JP6570801B1 (ja) Cpuユニット、プログラマブルロジックコントローラ、プログラム、及びエンジニアリングツール
JP2005251070A (ja) ライセンス管理システムおよびライセンス管理方法
JP2017058711A (ja) ライセンス管理装置、ライセンス管理システム、ライセンス管理プログラムおよびライセンス管理方法
JP5928190B2 (ja) 認証システム及び認証方法
JP2013025607A (ja) 情報処理装置及び情報処理方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170926

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171127

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20180403

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180628

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20180705

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: 20180724

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180806

R150 Certificate of patent or registration of utility model

Ref document number: 6390696

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250