(57)【要約】【課題】ユーザーの要望に合わせて使用するコードの数や期間を柔軟に変更できる二次元コード用アプリケーションソフトを提供する。【解決手段】本発明のアプリケーションソフト１００ａには、カメラで撮影された画像データから二次元コードを抽出すると共に、当該二次元コードを解析して、その二次元コードにより示される情報を取得するコード解析エンジン１１０ａが組み込まれている。コード解析エンジン１１０ａの中継モジュール１１３は、使用可能な二次元コードの範囲および使用期間に関する情報が書き込まれたデータファイル１２０を参照し、リードモジュール１１１で解析された二次元コードが使用可能なコードの範囲に含まれ、かつリードモジュール１１１の動作時刻が使用期間に含まれるときにのみ、リードモジュール１１１の解析結果を、特定の用途向けの作業を行うソフトウェアに渡す。【選択図】図１
2014191708.tif 000002
【特許請求の範囲】
【請求項１】
カメラで撮影された画像データから前記二次元コードを抽出すると共に、当該二次元コードを解析して、その二次元コードにより示される情報を取得するコード解析エンジンと、前記コード解析エンジンで取得した情報に基づいて特定の用途向けの作業を行うソフトウェアとで構成されたアプリケーションソフトの機能をコンピュータに実現させるためのプログラムであって、
前記コード解析エンジンには、
前記二次元コードの抽出と解析を行うリードモジュールと、
使用可能な二次元コードの範囲および使用期間に関する情報が書き込まれたデータファイルを参照し、前記リードモジュールで解析された二次元コードが前記使用可能なコードの範囲に含まれ、かつ前記リードモジュールの動作時刻が前記使用期間に含まれるときにのみ、前記リードモジュールの解析結果を前記ソフトウェアに渡す中継モジュールと、が含まれていることを特徴とするコンピュータプログラム。
【請求項２】
前記コード解析エンジンには、更に、ネットワークを介してライセンサーのサーバからアクティベーションキーを入手し、かつ当該アクティベーションキーを用いて前記リードモジュールの機能を有効にする通信モジュールが含まれていることを特徴とする、請求項１に記載のコンピュータプログラム。
【請求項３】
前記二次元コードは、黒色の背景領域の上に複数のセルが一定間隔でマトリクス状に配列され、所定の情報が各セルの色および色の組み合わせによりコード化されたものであることを特徴とする、請求項１または２に記載のコンピュータプログラム。
【請求項４】
請求項１ないし３のいずれかに記載のアプリケーションソフトおよびウェブブラウザの機能を実現するコンピュータプログラムがインストールされたユーザー端末と、請求項１ないし３のいずれかに記載のデータファイルがデータベースに格納され、かつウェブサーバの機能を実現するコンピュータプログラムがインストールされたライセンス管理サーバとが、ネットワークを介して接続されたシステムを用いて前記コード解析エンジンのアクティベーションを行うコード解析エンジンのアクティベーション方法であって、
前記ユーザー端末が、アクティベーションキーの発行と前記データファイルのダウンロードの要求を前記ライセンス管理サーバに送信するステップと、
前記ユーザー端末の要求に応じて、前記ライセンス管理サーバが前記アクティベーションキーを生成するステップと、
前記ライセンス管理サーバが、生成された前記アクティベーションキーおよび前記データベースに格納されたデータファイルを前記ユーザー端末に送信するステップと、
前記アクティベーションキーおよびデータファイルを受信した前記ユーザー端末が、前記データファイルを記憶装置に格納すると共に、前記アクティベーションキーを用いて前記コード解析エンジンのアクティベーションを実行して、前記リードモジュールの機能を有効にするステップと、を有することを特徴とするコード解析エンジンのアクティベーション方法。
【請求項５】
前記ライセンス管理サーバは、前記ユーザー端末から前記要求と共に受信した識別情報に基づいてアクティベーションの可否を判定することを特徴とする、請求項４に記載のコード解析エンジンのアクティベーション方法。
【請求項６】
前記システムとして、前記ネットワークに複数のユーザー端末が接続され、かつそれぞれのユーザー端末に用途の異なるアプリケーションソフトの機能を実現するコンピュータプログラムがインストールされたシステムを用い、
前記ライセンス管理サーバは、前記記憶装置から読み出したデータファイルを、それぞれのユーザー端末用のアクティベーションキーと共に、前記各ユーザー端末に送信することを特徴とする、請求項４または５に記載のコード解析エンジンのアクティベーション方法。
【請求項７】
前記システムとして、前記ユーザー端末に、用途の異なる複数のアプリケーションソフトの機能を実現するコンピュータプログラムがインストールされたシステムを用い、
前記ライセンス管理サーバは、前記記憶装置から読み出したデータファイルを、それぞれのアプリケーションソフト用のアクティベーションキーと共に前記ユーザー端末に送信することを特徴とする、請求項４または５に記載のコード解析エンジンのアクティベーション方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、二次元コード解析用のエンジンを含むアプリケーションソフトとして機能するコンピュータプログラム、および前記コード解析エンジンのアクティベーション方法に関する。
【背景技術】
【０００２】
バーコードやＱＲコード(登録商標)に代表される識別コードは、商品や個人の識別用コードとして広く利用されている。一方、本件出願の発明者の一人は、情報容量の大きい識別コードとして、黒色の背景領域の上に複数のセルが一定間隔でマトリクス状に配列され、所定の情報が各セルの色および色の組み合わせによりコード化された二次元コードを開発した（例えば特許文献１参照）。
【０００３】
この二次元コードは、各セルの色の組み合わせや色の配列パターンを変えることによって各二次元コードに固有のユニークな情報を付すことができるものであり、色の数やセルの行数を増やすことで情報量を拡大させることができる。またカメラで撮影した画像から二次元コードを瞬時に認識できる特性を備えているため、様々な用途での採用が期待されている。
【０００４】
以下、図８および図９を参照して、二次元コードを読み取って内容を解析するコードリーダについて簡単に説明する。図８にコードリーダの構成を、また図９に、コードリーダの端末にコンピュータプログラムの形態でインストールされた、二次元コードを特定の用途に使用するためのアプリケーションソフト（以降、「アプリソフト」と略す）の構成を示す。
【０００５】
図８において、コードリーダは、ユーザー端末１と二次元コードを撮影するカメラ２で構成されている。一般に、ユーザー端末１には、パーソナルコンピュータ（以降、「ＰＣ」という）や携帯情報端末等が使用される。またカメラ２には、所定の撮影領域を撮影して画像データを生成する、デジタルスチルカメラ等の周知のカメラが使用される。
【０００６】
図８に示すように、ユーザー端末１は、ＣＰＵ（Central Processing Unit）１１、ＲＯＭ（Read Only Memory）１２、ＲＡＭ（Random Access Memory）１３およびＩ／Ｆ（インターフェース）１４を含むコンピュータシステムで構成され、これらの部材はバス１５を介して接続され、相互の間でデータを送受信できる。ＣＰＵ１１は更に、Ｉ／Ｆ１４を介して、キーボードやマウス等で構成された入力装置１６、液晶ディスプレイ等で構成された表示装置１７、およびＨＤＤ、不揮発性メモリ等で構成された記憶装置１８に接続されている。記憶装置１８には、カメラ２で撮影した画像データが格納される。
【０００７】
ユーザー端末１には、図９に示す構成のアプリソフト１００の機能を実現するコンピュータプログラムがインストールされており、ＯＳ（オペレーティングシステム）上で動作させることで機能を発揮する。ＣＰＵ１１は、入力装置１６から入力されたユーザーの指示に従って、記憶装置１８に格納されたコンピュータプログラムをＲＡＭ１３に読み出し、ＣＰＵ１１で実行することにより、二次元コードを利用した各種の作業を行う。
【０００８】
図９を参照して、二次元コード用アプリソフトの構成について説明する。二次元コードを利用するためには、カメラ２で撮影した画像から二次元コードを抽出して内容を解析するソフトウェア（以降、「コード解析エンジン」という）が必要である。更に、この二次元コードを特定の用途、例えば物流管理、在庫管理、勤怠管理等で用いるためには、専用のソフトウェアが必要となる。
【０００９】
アプリソフト１００には、二次元コードを開発したライセンサーから提供されたコード解析エンジン１１０が組み込まれている。コード解析エンジン１１０は、カメラ２で撮影された画像から二次元コードを抽出すると共に、抽出された二次元コードを解析して、そのコードにより示される情報を取得する処理を行う。
【００１０】
コード解析エンジン１１０には、リードモジュール１１１と通信モジュール１１２が含まれている。リードモジュール１１１はコード解析エンジン１１０の中心的な役割を担うものであり、撮影された画像データから二次元コードを抽出すると共に、抽出した二次元コードにより示される情報を解析する。
【００１１】
リードモジュール１１１には、二次元コードを特徴づける情報を規定したテンプレート、および二次元コードにおいて独特のセル群それぞれの色または色の組み合わせと各二次元コードに対してユニークな情報を含む情報との対応関係が登録されたデータテーブルが含まれている。
【００１２】
通信モジュール１１２はアクティベーションの際に必要となるモジュールで、ライセンサーのサーバとの間で交信を行い、サーバからアクティベーションキーを取得するために用いられる。
【００１３】
一方、アプリソフト１００には、特定の用途向けの作業を行うソフトウェア、および各二次元コードの有するユニークな情報と、二次元コードが付される商品等とを対応付けるデータテーブルが含まれており、特定の用途向けの作業を行うソフトウェアは、コード解析エンジン１１０で解析した結果を受け取り、データテーブルを参照して二次元コードの表す情報を特定する。
【００１４】
次に、図１０を参照して、二次元コードに関連したアプリソフト開発の流れとその際に必要となるライセンスについて簡単に説明する。
【００１５】
前述したように、二次元コードを物流管理、在庫管理、勤怠管理等の様々な用途で利用するためには、それぞれの用途に対応したアプリソフトが必要となる。現状、これらアプリソフトの開発はベンダーによって行われている。
【００１６】
図１０に示すように、二次元コードの開発者であるライセンサーは、上述したコード解析エンジン１１０を開発すると共に（ステップＳ０１）、そのエンジン１１０を組み込んだソフトウェア開発キットを作成してベンダーに提供する（ステップＳ０２、Ｓ０３）。ソフトウェア開発キット１１０は、用途別のアプリソフトを開発するためのソフトウェアである。
【００１７】
ライセンサーがベンダーにソフトウェア開発キットを提供する際、ライセンサーとベンダーとの間で開発ライセンスが締結され、使用可能な二次元コードの範囲が定められる（ステップＳ０４）。開発ライセンスには、コード解析エンジンの最終ユーザーへの再配布ライセンスも含まれている。
【００１８】
ソフトウェア開発キットに組み込まれたコード解析エンジン１１０は、契約で定められた範囲の二次元コードしか認識できないように設定されている。具体的には、使用可能な二次元コードの範囲に関するデータがライセンサーによってコード解析エンジン１１０に書き込まれ、リードモジュール１１１は、二次元コードを解析する都度、そのデータを参照し、画像データから抽出した二次元コードが使用可能なコードの範囲から外れている場合には、解析結果を次段のソフトウェアに渡さないように設定されている。
【００１９】
ベンダーは、ライセンサーから提供されたソフトウェア開発キットを用いて特定の用途に適合したアプリソフトを開発し（ステップＳ０５）、それをユーザーに提供する（ステップＳ０６）。この際、ベンダーとユーザーとの間で、アプリソフト１００の使用ライセンスが締結される（ステップＳ０７）。
【００２０】
ユーザーは、アプリソフト１００の機能を実現するコンピュータプログラムが格納された記憶媒体（ＤＶＤ−ＲＯＭ等）をベンダーから購入し、そのコンピュータプログラムをＰＣや携帯情報端末で構成されたユーザー端末１にインストールする（ステップＳ０８）。
【００２１】
ユーザー端末１にインストールされたアプリソフト（コンピュータプログラム）を動作させるためには、アクティベーションの処理が必要となる。ユーザーは、ユーザー端末１を用いてライセンサーのサーバにアクセスしてアクティベーションキーを入手し、コード解析エンジン１１０のリードモジュール１１１の機能を有効にするためにアクティベーションを実行する（ステップＳ０９）。
【００２２】
アクティベーションの処理により、アプリソフト１００が使用可能な状態になり、その後、カメラ２で撮影した画像から二次元コードを抽出し、それをコード解析エンジン１１０で解析する。このようにして二次元コードの示す情報を取得し、この情報に基づいて物流管理、在庫管理、勤怠管理等の作業を行う。
【先行技術文献】
【特許文献】
【００２３】
【特許文献１】特開２０１２−３３０３４号公報
【発明の概要】
【発明が解決しようとする課題】
【００２４】
現状のライセンス形態では、同じ二次元コードが異なるユーザーに使用された場合の混同を避けるため、ベンダーがライセンサーから二次元コードを使用する権利を買い取る方法を採用している。上述したように、コード解析エンジン１１０は、カメラで撮影した二次元コードのうち、ライセンスで定められた範囲から外れたコードは認識できない。逆に言えば、許可された範囲のコードであれば、ベンダーやユーザーは同一のコードを複数の用途に使用することができる。
【００２５】
その一方で、使用可能なコードの範囲は解析エンジン１１０に書き込まれた状態でベンダーに提供され、ベンダーやユーザーがそのデータを書き換えることができないため、使用権を買い取る以外のライセンス形態を採用することは難しい。
【００２６】
例えば、コードの使用期間を限定するライセンス形態を採用しようとすると、ライセンス期間が満了する毎に、更新期間のデータを含む解析エンジン１１０をライセンサーからベンダーに提供し、ベンダーでそれをアプリソフトに組み込んで、再度ユーザーに提供しなければならない。このような形態は手続が煩雑であり、現実的には採用できない。
【００２７】
しかし、現状のライセンス形態では、ユーザーの要望に十分対応できない場合が生じている。例えば、勤怠管理用コードのように、期間毎に必要とするコードの数が変動する場合、予想される最大のコード数について使用権を買い取らなければならないために、無駄な費用が発生する。また、短期間だけコードを使用したい場合であっても、コードの無期限の使用権を買い取らなければならないため、そのような用途にはコードを使用できない。
【００２８】
本発明は上述の問題点に鑑みてなされたもので、ユーザーの要望に合わせて使用するコードの数や使用期間を柔軟に変更できる二次元コード用アプリソフトの機能を実現するコンピュータプログラムとコード解析エンジンのアクティベーション方法を提供することを目的とする。
【課題を解決するための手段】
【００２９】
上記目的を達成するため、本発明にかかるコンピュータプログラムは、カメラで撮影された画像データから前記二次元コードを抽出すると共に、当該二次元コードを解析して、その二次元コードにより示される情報を取得するコード解析エンジンと、前記コード解析エンジンで取得した情報に基づいて特定の用途向けの作業を行うソフトウェアとで構成されたアプリソフトの機能をコンピュータに実現させるためのプログラムであって、
前記コード解析エンジンには、
前記二次元コードの抽出と解析を行うリードモジュールと、
使用可能な二次元コードの範囲および使用期間に関する情報が書き込まれたデータファイルを参照し、前記リードモジュールで解析された二次元コードが前記使用可能なコードの範囲に含まれ、かつ前記リードモジュールの動作時刻が前記使用期間に含まれるときにのみ、前記リードモジュールの解析結果を前記ソフトウェアに渡す中継モジュールと、が含まれていることを特徴とする。
【００３０】
ここで、前記コード解析エンジンには、更に、ネットワークを介してライセンサーのサーバからアクティベーションキーを入手し、かつ当該アクティベーションキーを用いて前記リードモジュールの機能を有効にする通信モジュールが含まれていることが好ましい。
【００３１】
また前記二次元コードは、黒色の背景領域の上に複数のセルが一定間隔でマトリクス状に配列され、所定の情報が各セルの色および色の組み合わせによりコード化されたものであることが好ましい。
【００３２】
また上記目的を達成するため、本発明にかかるコード解析エンジンのアクティベーション方法は、前述のアプリソフトおよびウェブブラウザの機能を実現するコンピュータプログラムがインストールされたユーザー端末と、前述のデータファイルがデータベースに格納され、かつウェブサーバの機能を実現するコンピュータプログラムがインストールされたライセンス管理サーバとが、ネットワークを介して接続されたシステムを用いて前記コード解析エンジンのアクティベーションを行うコード解析エンジンのアクティベーション方法であって、
前記ユーザー端末が、アクティベーションキーの発行と前記データファイルのダウンロードの要求を前記ライセンス管理サーバに送信するステップと、
前記ユーザー端末の要求に応じて、前記ライセンス管理サーバが前記アクティベーションキーを生成するステップと、
前記ライセンス管理サーバが、生成された前記アクティベーションキーおよび前記データベースに格納されたデータファイルを前記ユーザー端末に送信するステップと、
前記アクティベーションキーおよびデータファイルを受信した前記ユーザー端末が、前記データファイルを記憶装置に格納すると共に、前記アクティベーションキーを用いて前記コード解析エンジンのアクティベーションを実行して、前記リードモジュールの機能を有効にするステップと、を有することを特徴とする。
【００３３】
ここで、前記ライセンス管理サーバは、前記ユーザー端末から前記要求と共に受信した識別情報に基づいてアクティベーションの可否を判定することが好ましい。
【００３４】
また前記システムとして、前記ネットワークに複数のユーザー端末が接続され、かつそれぞれのユーザー端末に用途の異なるアプリソフトの機能を実現するコンピュータプログラムがインストールされたシステムを用い、
前記ライセンス管理サーバは、前記記憶装置から読み出したデータファイルを、それぞれのユーザー端末用のアクティベーションキーと共に、前記各ユーザー端末に送信することが好ましい。
【００３５】
もしくは前記システムとして、前記ユーザー端末に、用途の異なる複数のアプリソフトの機能を実現するコンピュータプログラムがインストールされたシステムを用い、
前記ライセンス管理サーバは、前記記憶装置から読み出したデータファイルを、それぞれのアプリソフト用のアクティベーションキーと共に前記ユーザー端末に送信することが好ましい。
【発明の効果】
【００３６】
本発明にかかる二次元コード用アプリソフトでは、コード解析エンジンで二次元コードを解析する都度、データファイルを参照して使用可能な二次元コードの範囲と使用期間を確認する方法を採用しており、様々なライセンス形態に対応できるために、二次元コードの利用拡大が期待できる。
【図面の簡単な説明】
【００３７】
【図１】本発明にかかるアプリソフトのソフトウェア構成を示す図である。
【図２】本発明にかかるアプリソフトを用いた場合のライセンス形態を説明する図である。
【図３】本発明にかかるアプリソフトの開発の流れとその際に必要となるライセンスを示す図である。
【図４】コード解析エンジンのアクティベーションを行う際のシステム構成を示す図である。
【図５】コード解析エンジンのアクティベーションの手順を示す流れ図である。
【図６】二次元コードの共用（その１）について説明する図である。
【図７】二次元コードの共用（その２）について説明する図である。
【図８】二次元コードを解析するコードリーダの構成を示す図である。
【図９】従来のアプリソフトのソフトウェア構成を示す図である。
【図１０】従来の二次元コード用アプリソフトの開発の流れとその際に必要となるライセンスを示す図である。
【発明を実施するための形態】
【００３８】
以下、本発明の実施の形態にかかる二次元コード用アプリソフトおよびコード解析エンジンのアクティベーション方法について、図面を参照して説明する。
【００３９】
（アプリソフトの構成）
図１に、本発明にかかる二次元コード用アプリソフト１００ａの構成を示す。本発明にかかるアプリソフト１００ａのコード解析エンジン１１０ａには、図８に示した従来のアプリソフト１００のコード解析エンジン１１０に中継モジュール１１３が付加されている。
【００４０】
中継モジュール１１３は、リードモジュール１１１の解析結果を、次段の特定の用途向けの作業を行うソフトウェアに渡すか否かを判定するために用いられ、その判定は、アクティベーションの際に、ユーザー端末１がライセンサーのサーバからダウンロードしたデータファイル１２０に基づいて行われる。
【００４１】
データファイル１２０には、アプリソフト１００ａで使用可能な二次元コードの範囲と使用期間に関する情報が書き込まれている。データファイル１２０は、ユーザー端末１の記憶装置１８に格納され、アプリソフト１００ａを動作させる都度、記憶装置１８から読み出されてＲＡＭ１３に一次的に保存される（図８参照）。
【００４２】
アプリソフト１００ａを動作させる際、コード解析エンジン１１０ａは、リードモジュール１１１で解析した二次元コードの内容について、その都度、中継モジュール１１３を介してデータファイル１２０の内容を参照する。
【００４３】
リードモジュール１１１で解析した二次元コードが、データファイル１２０に含まれる二次元コードの範囲から外れている場合、中継モジュール１１１は、リードモジュール１１１の解析結果を、次段の特定の用途向けの作業を行うソフトウェアに渡さない。結果として、アプリソフト１００ａは、次段の作業を行うことができない。
【００４４】
同様に、リードモジュール１１１の動作時刻がデータファイル１２０に書き込まれた使用期間から外れている場合にも、中継モジュール１１１は、リードモジュール１１１の解析結果を、次段のソフトウェアに渡さない。
【００４５】
このように本発明においては、コード解析エンジン１１０ａに、ライセンサーのサーバからダウンロードされたデータファイル１２０の内容を参照する中継モジュール１１３を組み込むことによって、アプリソフト１００ａで利用できる二次元コードの範囲やアプリソフト１００ａの使用期間に制限を設けている。逆に言えば、データファイル１２０の情報を書き換えるだけで、アプリソフト１００ａで利用できる二次元コードの範囲やアプリソフト１００ａの使用期間を簡単に変更できる。
【００４６】
（ライセンスの形態）
次に、図２のテーブルを参照して、本発明のアプリソフト１００ａを用いることにより可能となるライセンス形態について説明する。上述したように、本発明にかかるアプリソフト１００ａを用いれば、アクティベーションの際にライセンサーのサーバからダウンロードするデータファイル１２０の内容を書き換えるだけで、使用可能な二次元コードの範囲と使用期間を簡単に変更できるため、従来では難しかったライセンス形態を採用できる。
【００４７】
図２のＮｏ．１に示すライセンス形態は、課金の方法としてコードの買い取りを採用したもので、ユーザーは将来にわたって二次元コードの使用を独占できる。このライセンス形態は従来と同じ形態である。Ｎｏ．１のライセンス形態であれば、使用期限および使用目的に制限がないことから、ユーザーは同一のコードを複数の異なる用途に使用することができ、従って、用途毎にアプリソフトを開発してユーザーに提供できる。その反面、二次元コードの使用を独占することから対価が高くなる。
【００４８】
図２のＮｏ．２に示すライセンス形態は、課金の方法として月額課金を採用したもので、使用する二次元コードの数を月毎に増減できるものである。ユーザーは使用が許可されたコード数に対応した金額を月単位でライセンサーに支払えばよい。なお、図２ではコードの有効期限を月単位しているが、ユーザーが希望すれば半年単位や１年単位とすることもできる。
【００４９】
二次元コードを社員の勤怠管理に使用する場合、職種によっては季節ごとに社員の数が大幅に変動する場合がある。このような場合、従来のライセンス形態では、最大の社員数を予測し、その社員数に対応した数の二次元コードについて独占的な使用権を得ていた。その場合、社員数の少ない時には使用しないコードに対して対価を支払うことになり、無駄な費用が発生する。Ｎｏ．２のライセンス形態では、月毎に必要とするコード数がライセンスの対象となるため、無駄な費用の発生を抑えることができる。
【００５０】
Ｎｏ．２のライセンス形態を採用した場合、中継モジュール１１３が参照するデータファイル１２０の内容を月毎に変更する必要があるため、ユーザーは月初めまでにアクティベーションの処理を行って、その月のコード使用数が記載されたデータファイル１２０をライセンサーのサーバからダウンロードする。
【００５１】
Ｎｏ．２のライセンス形態は、毎月アクティベーション処理が必要となるため煩雑なように思われるが、作業量は左程多くはない。例えば、ライセンサー・ユーザー間の取り決めに基づいて、１年の各月毎に必要となるコード使用数を記載した１２個のデータファイルを作成して、予めデータベース６に格納しておく。その後、ユーザーが毎月１回、ユーザー端末１において、その月のデータファイルをダウンロードすればよい。
【００５２】
図２のＮｏ．３に示すライセンス形態は二次元コードの使用期間を限定したもので、催し物における入退出管理のように、特定の期間だけ二次元コードを使用したい場合に有効である。ユーザーは指定された期間だけ二次元コードの使用が可能となるため、その期間に対応した金額をライセンサーに支払えばよい。
【００５３】
Ｎｏ．１に示した従来のライセンス形態は、二次元コードの無期限独占使用が前提であり、期間限定の使用が認められなかった。これに対し、本発明のアプリソフト１００ａを採用すれば、期間限定の使用が可能となることから、二次元コードの利用拡大が期待できる。
【００５４】
Ｎｏ．３のライセンス形態を採用した場合、ライセンサーとユーザーとの話し合いに基づいて使用可能な二次元コードの数と使用期間を定め、そのデータを記載したファイルを、予めライセンサーのサーバに格納しておく。
【００５５】
ユーザーは、指定された期間の開始前に、ユーザー端末によってライセンサーのサーバにアクセスしてアクティベーションの処理を行えば、コード解析エンジン１１０ａの機能が有効となる。一方、データファイル１２０に記載された使用期間が終了すると、コード解析エンジン１１０ａの機能が無効となるため、その後はアプリソフト１００ａを使用できなくなる。
【００５６】
上述したように、本発明にかかるアプリソフト１００ａを用いれば、従来では採り得なかったライセンス形態を採用できることから、二次元コードの普及促進が期待できる。
【００５７】
（アプリソフト開発の流れ）
次に、図３を参照して、本発明にかかるアプリソフト１０ａを用いた場合のアプリソフト開発の流れと必要となるライセンスについて、従来のアプリソフト１００を用いた場合と比較しながら説明する。
【００５８】
ライセンサーは、中継モジュール１１３を含むコード解析エンジン１１０ａを開発すると共に（ステップＳ１１）、そのエンジンを組み込んだソフトウェア開発キットを作成し（ステップＳ１２）、二次元コード用アプリソフトの開発を希望するベンダーに提供する（ステップＳ１３）。
【００５９】
この際、ライセンサーはベンダーとの間で開発ライセンスを締結する（ステップＳ１４）。図１０に示した従来の流れでは、ベンダーはライセンサーとの間で、コード解析エンジンのユーザーへの再配布ライセンスを含む開発ライセンスを締結する必要があったが（ステップＳ０４）、本発明のアプリソフトを用いる場合、開発ライセンスに再配布ライセンスを含める必要はない。
【００６０】
ベンダーは、コード解析エンジン１１０ａを組み込んだ特定の用途用のアプリソフト１００ａを開発し（ステップＳ１５）、記憶媒体に格納した状態でユーザーに提供する（ステップＳ１６）。ユーザーはアプリソフト１００ａの購入と平行して、ベンダーを介してライセンサーとの間でコード使用ライセンスを締結する（ステップＳ１７）。その際、使用可能な二次元コードの範囲と使用期間が定められ、ユーザーはライセンスの内容に応じた対価を支払う。
【００６１】
一方、ライセンサーは使用可能な二次元コードの範囲と使用期間に関する情報を書き込んだデータファイルを作成すると共に（ステップＳ１９）、ユーザーに対して識別情報であるユーザーＩＤを発行する（ステップＳ１８）。このユーザーＩＤは、ライセンサーのサーバにアクセスする際に必要となる。
【００６２】
次に、ユーザーはベンダーから購入したアプリソフト１００ａを、ユーザー端末１（図８参照）にインストールする（ステップＳ２０）。その後、ユーザーは、ライセンサーのサーバにアクセスしてアクティベーションの処理を行い、データファイル１２０をダウンロードすると共に、コード解析エンジン１１０ａのリードモジュール１１１の機能を有効にする（ステップＳ２１、Ｓ２２）。
【００６３】
（アクティベーション処理）
次に、図４および図５を参照して、コード解析エンジン１１０ａのアクティベーションの際の手順について説明する。
【００６４】
本発明のアプリソフト１００ａを使用する場合、アクティベーションの方法が従来のそれとは異なっている。前述したようにアプリソフト１００ａのコード解析エンジン１１０ａには中継モジュール１１３が組み込まれており、アクティベーションの際、ユーザー端末１は、ライセンサーのサーバからアクティベーションキーを取得すると共に、中継モジュール１１３が参照するデータファイル１２０をダウンロードする。
【００６５】
図４はアプリソフト１００ａのアクティベーションを行う際のシステム構成図である。図４のシステムでは、ライセンサーがライセンスの管理を行うライセンス管理サーバ３と、アプリソフト１００ａの機能を実現するコンピュータプログラムがインストールされた３台のユーザー端末１−１、１−２、１−３が、インターネット４、ファイアーウォール機能を有するゲートウェイ５およびＬＡＮ（Local Area Network）６で構成されたネットワークを介して接続されている。
【００６６】
ユーザー端末１−１〜１−３には、それぞれ二次元コードを撮影するカメラ２が接続され、更に一台のユーザー端末１−１には二次元コードを印刷するプリンター８が接続されている。一方、ライセンス管理サーバ３には、ユーザーに関する情報を格納したデータベース７が接続されている。
【００６７】
なお、図８では、ユーザー端末１とカメラ２でコードリーダを構成しているが、コードリーダとして、スマートホーン等のカメラが内蔵された携帯電話端末を用いてもよい。同様に、カメラとして、ＬＡＮ６に接続されたウェブカメラを用いてもよい。
【００６８】
図示しないが、ライセンス管理サーバ３にはウェブサーバの機能を実現するコンピュータプログラムがインストールされ、またユーザー端末１−１〜１−３には、ウェブブラウザの機能を実現するコンピュータプログラムがインストールされており、ライセンス管理サーバ１とユーザー端末１−１〜１−３はＨＴＴＰ（Hypertext Transfer Protocol）に従って相互に通信できる。ユーザーは、ユーザー端末１−１〜１−３について、それぞれライセンス管理サーバ３にアクセスしてアクティベーションの処理を行う。
【００６９】
前述したように、ライセンサーとユーザーとの間でコード使用ライセンスが締結される際、使用可能な二次元コードの範囲とコードの使用期間が定められる。ライセンサーはその内容を書き込んだデータファイル１２０を作成し、アクティベーションの処理に先立ってデータベース７に格納しておく。
【００７０】
ユーザー端末１−１は、アクティベーションに必要なアクティベーションキーとデータファイルをライセンス管理サーバ３から取得してアクティベーションを実行する。アクティベーションの終了後、ユーザーは、コード解析エンジン１１０ａを用いて二次元コードの解析を行うことができる。
【００７１】
図４の流れ図を参照して、ユーザー端末１−１についてアクティベーションを行う際の手順を説明する。
【００７２】
ユーザー端末１−１において、ユーザーは、入力装置１６（図８参照）を用いてアクティベーションキーの送信元であるライセンス管理サーバ３のＵＲＬを特定する（ステップＳ３１）。ライセンス管理サーバ３のＵＲＬは、ライセンス締結の際にライセンサーから提示されたものを用いる。
【００７３】
ユーザー端末１−１は、宛先のＵＲＬに対してアクティベーションキーの発行とデータファイルのダウンロードを要求するファイルを送信する（ステップＳ３２）。そのファイルには、ユーザー端末１−１のユーザーＩＤが含まれている。
【００７４】
アクティベーションキーの発行とデータファイルのダウンロードの要求を受信したライセンス管理サーバ３は、要求と共に受信したユーザーＩＤに基づいてユーザー端末１−１を特定し、そのユーザー端末１−１に対してアクティベーションキーを発行するか否かを判定する（ステップＳ３３）。具体的には、ライセンス管理サーバ３は、データベース７に格納されたユーザーに関する情報から、ユーザーＩＤが登録されたユーザー端末１−１のユーザーＩＤであるか否かを確認する。
【００７５】
ライセンス管理サーバ３は、受信したユーザーＩＤが登録されたユーザーＩＤであり、ユーザー端末１−１に対してアクティベーションキーを発行できると判定した場合には、アクティベーション実行確認画面のウェブページデータをユーザー端末１−１に送信する（ステップＳ３４）。
【００７６】
ユーザー端末１−１は、ウェブページデータを受信すると、そのデータに基づいてディスプレイにアクティベーション実行確認画面を表示する。図示しないが、画面にはユーザーＩＤおよびパスワードを入力する枠と送信ボタンが表示される。
【００７７】
ユーザーは、確認操作のためキーボード等を用いてアクティベーション実行確認画面にユーザー端末１−１のユーザーＩＤと、ライセンスの際にライセンサーに通知したパスワードを入力する（ステップＳ３５）。ユーザーがマウス等を用いて送信ボタンをクリックすると、確認画面に入力された操作情報がライセンス管理サーバ３に送信される（ステップＳ３６）
【００７８】
操作情報を受信したライセンス管理サーバ３は、そのデータに基づいてアクティベーションキーを生成する（ステップＳ３７）。例えば、ユーザー端末１−１のユーザーＩＤを引数に含む関数の値をアクティベーションキーとして計算する。
【００７９】
次にライセンス管理サーバ３は、データベース７に格納されたデータファイル１２０を読み出し、生成したアクティベーションキーと共にユーザー端末１−１に送信する（ステップＳ３８）。
【００８０】
アクティベーションキーとデータファイルを受信したユーザー端末１−１は、データファイルを記憶装置１８に格納すると共に（ステップＳ３９）、受信したアクティベーションキーを用いてアクティベーションを実行する（ステップＳ４０）。これにより、コード解析エンジン１１０ａ中のリードモジュール１１１の機能が有効となる。以後、コード解析エンジン１１０ａは二次元コードの解析を行うことができ、その際には、中継モジュール１１３によりデータファイル１２０の内容が参照される。
【００８１】
ユーザー端末１−１は、アクティベーションが完了すると、アクティベーション完了通知をライセンス管理サーバ３に送信する（ステップＳ４１）。アクティベーション完了通知を受信したライセンス管理サーバ３は、データベース７に格納されたアクティベーション管理テーブルを更新し、ユーザー端末１−１のアクティベーション回数を登録する（ステップＳ４２）。以降、ユーザーは、コード使用ライセンスの更新が行われる毎に、上述したアクティベーションの処理を行う。
【００８２】
（二次元コードの共用）
本発明にかかるアプリソフト１００ａを用いれば、従来のアプリソフト１００では困難であった異なるユーザーによる二次元コードの共用、もしくは異なるアプリソフトにおける二次元コードの共用が可能となる。以下、図６および図７を参照し、ユーザー２社が二次元コードを共用する場合、および用途の異なる２つのアプリソフトで二次元コードを共用する場合を例として説明する。
【００８３】
最初に、図６を参照して、ユーザーＡとユーザーＢの２社が二次元コードを共用する場合について説明する。例えば、活動拠点の異なる物流業のユーザーＡとユーザーＢが商品コードとして二次元コードを共用したい場合などが該当する。図中、ユーザーＡに関する単独の処理ステップは、共用の説明に関係がないため省略している。
【００８４】
前提として、ユーザーＡが、ベンダーから物流管理用のアプリソフト１００ａを購入して使用しているものとする。ユーザーＡとユーザーＢとの間で商品コードの共用について合意した場合（ステップＳ５１）、ユーザーＢは、ベンダーに依頼して、ライセンサーにコード共用の申請を行う（ステップＳ５２）。
【００８５】
ベンダーからコード共用の申請を受けたライセンサーはベンダーに対してコード共用を許可する（ステップＳ５３）。ベンダーはコード共用の許可を受けてユーザーＢにアプリソフトを提供する（ステップＳ５４）。並行してライセンサーは、ユーザーＢとの間でコード使用ライセンスを締結し（ステップＳ５５）、ユーザーＢのためのユーザーＩＤを発行する（ステップＳ５６）。更にライセンサーは、ユーザーＡに提供したデータファイルと同一の内容のデータファイル１２０を作成して、データベース７に格納する（ステップＳ５７）。
【００８６】
一方、ユーザーＢは、ベンダーから購入したアプリソフト１００ａ（コンピュータプログラム）を自己のユーザー端末１にインストールする（ステップＳ５８）。更にアクティベーションの処理を行い、ライセンス管理サーバ３から上述のデータファイル１２０をダウンロードすると共に、コード解析エンジン１１０ａ中のリードモジュール１１１の機能を有効にする（ステップＳ５９、Ｓ６０）。
【００８７】
このようにして、ユーザーＡとユーザーＢは、物流管理において二次元コードの共用、すなわち同一の商品に同一の二次元コードを付与することが可能となる。
【００８８】
次に、図７を参照して、用途の異なるアプリソフト１００ａにおいて二次元コードを共同利用する場合について説明する。例えば、物流業のユーザーが、物流管理で使用している商品コードを在庫管理にも使用したい場合が該当する。図中、ベンダーＡに関する単独の処理ステップは、共用の説明に関係がないため省略している。
【００８９】
物流管理用のアプリソフトはベンダーＡが開発し、在庫管理用のアプリソフトはベンダーＢが開発しているものとする。それぞれのアプリソフト１００ａに同一の商品コードを使用するためには、それぞれのコード解析エンジン１１０ａで認識する二次元コードが同一の商品コードを示す必要がある。
【００９０】
ベンダーＡから購入した物流管理用のアプリソフトで使用している商品コードを、ベンダーＢの開発した在庫管理用のアプリソフトでも使用することを希望するユーザーは、ベンダーＡとベンダーＢに商品コードの共用について申し込む。
【００９１】
ユーザーから商品コードの共用について要請を受けたベンダーＡとベンダーＢは、それぞれのアプリソフトに商品コードとして同一の二次元コードを使用することに合意した後（ステップＳ７１）、いずれかのベンダー（ここではベンダーＡ）がライセンサーに対してコード共用の申請を行う（ステップＳ７２）。
【００９２】
ベンダーＡからコード共用の申請を受けたライセンサーは、ベンダーＢによるコード共用を許可すると共に（ステップＳ７３）、ベンダーＢに対してソフトウェア開発キットを提供する（ステップＳ７４）。更に、ベンダーＢとの間で開発ライセンスを締結する（ステップＳ７５）。
【００９３】
ライセンサーからソフトウェア開発キットの提供を受けたベンダーＢは在庫管理用のアプリソフトを開発し（ステップＳ７６）、ユーザーに提供する（ステップＳ７７）。
【００９４】
並行してライセンサーは、ベンダーＢの開発したアプリソフトに関してユーザーとの間でコード使用ライセンスを締結し（ステップＳ７８）、更にベンダーＡのアプリソフト用に用意したデータファイルと同一内容のデータファイル１２０を作成して、データベース７に格納する（ステップＳ７９）。
【００９５】
ユーザーは、ベンダーＢから購入したアプリソフト（コンピュータプログラム）を自己のユーザー端末１にインストールし（ステップＳ８０）、更にアクティベーションの処理を行い、ライセンス管理サーバ３から上述のデータファイル１２０をダウンロードして、コード解析エンジン１１０ａ中のリードモジュール１１１の機能を有効にする（ステップＳ８１、Ｓ８２）。
【００９６】
このようにして、ユーザーは物流管理用のアプリソフトと在庫管理用のアプリソフトにおいて商品コードの共同、すなわち商品コードとして同一の二次元コードを使用することが可能となる。
【００９７】
以上説明したように、本発明にかかるアプリソフトを用いれば、ユーザーが業務内容に応じてライセンス形態を選択でき、更に異なるユーザーによる二次元コードの共用、もしくは異なるアプリソフトにおける二次元コードの共用が可能となるため、二次元コードの利便性が飛躍的に高まる。
【００９８】
なお、上述した実施の形態では、二次元コードとして、黒色の背景領域の上にカラーのセルをマトリクス状に配置したコードを用いた場合について説明したが、本発明が適用できる二次元コードはこれに限定されず、その他の一般的に使用されている二次元コードにも同様に適用できることは云うまでもない。
【符号の説明】
【００９９】
１  ユーザー端末
２  カメラ
３  ライセンス管理サーバ
４  インターネット
５  ゲートウェイ
６  ＬＡＮ
７  データベース
８  プリンター
１００、１００ａ  アプリソフト
１１０、１１０ａ  コード解析エンジン
１１１  リードモジュール
１１２  通信モジュール
１１３  中継モジュール
１２０  データファイル
【図１】
2014191708.tif 000003
【図２】
2014191708.tif 000004
【図３】
2014191708.tif 000005
【図４】
2014191708.tif 000006
【図５】
2014191708.tif 000007
【図６】
2014191708.tif 000008
【図７】
2014191708.tif 000009
【図８】
2014191708.tif 000010
【図９】
2014191708.tif 000011
【図１０】
2014191708.tif 000012