(57)【要約】【課題】プログラム開発装置の契約期間外の不正な使用を防止すること。【解決手段】アプリケーションプログラムを作成するアプリケーション作成部と、前記作成されたアプリケーションプログラムを動作させる装置に導入することが可能な組込モジュールを作成する組込モジュール作成部と、契約期間が設定された期間ファイルを予め記憶した記憶部と、所定の日付サーバから現在の日付を示す現在日付情報を取得する日付情報取得部と、取得された現在日付情報が、前記記憶部に記憶された期間ファイルの契約期間内に含まれるか否かを確認し、含まれる場合には、契約期間認証が成功したと判断する認証部と、前記契約期間認証が成功した場合に、前記組込モジュール作成部による組込モジュールの作成を行えるようにする制御部とを備えることを特徴とするプログラム開発装置。【選択図】図９
2015118530.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションプログラムを作成するアプリケーション作成部と、
前記作成されたアプリケーションプログラムを動作させる装置に導入することが可能な組込モジュールを作成する組込モジュール作成部と、
契約期間が設定された期間ファイルを予め記憶した記憶部と、
所定の日付サーバから現在の日付を示す現在日付情報を取得する日付情報取得部と、
取得された現在日付情報が、前記記憶部に記憶された期間ファイルの契約期間内に含まれるか否かを確認し、含まれる場合には、契約期間認証が成功したと判断する認証部と、
前記契約期間認証が成功した場合に、前記組込モジュール作成部による組込モジュールの作成を行えるようにする制御部とを備えることを特徴とするプログラム開発装置。
【請求項２】
前記期間ファイルが、プログラム開発装置の開発者によって提供され、前記開発者を示す開発者情報を含み、
前記記憶部に、前記開発者情報と同一の開発者情報を有する開発ツール情報を予め記憶し、
前記認証部は、前記期間ファイルに含まれた開発者情報と、前記記憶部に記憶された開発ツール情報の開発者情報とが一致するか否かを確認し、一致した場合に、開発者認証が成功したと判断し、前記開発者認証と前記契約期間認証とが成功した場合に、前記制御部が組込モジュールの作成を行えるようにすることを特徴とする請求項１に記載のプログラム開発装置。
【請求項３】
前記期間ファイルおよび開発ツール情報は、前記開発者が作成し、かつ開発者以外の第三者が変更できない形式で前記記憶部に記憶されることを特徴とする請求項２に記載のプログラム開発装置。
【請求項４】
前記認証部による契約期間認証は、前記アプリケーション作成部によってアプリケーションプログラムを作成する前であって、前記組込モジュール作成部によって組込モジュールを作成する前に、実行されることを特徴とする請求項１ないし３のいずれかに記載のプログラム開発装置。
【請求項５】
前記認証部による契約期間認証は、前記アプリケーション作成部によってアプリケーションプログラムを作成した後であって、前記組込モジュール作成部によって組込モジュールを作成する前に、実行されることを特徴とする請求項１ないし３のいずれかに記載のプログラム開発装置。
【請求項６】
表示部を備え、前記認証部による契約期間認証が成功した場合に、契約期間の残日数を前記表示部に表示させることを特徴とする請求項１記載のプログラム開発装置。
【請求項７】
表示部を備え、前記認証部による契約期間認証が失敗した場合に、その認証が失敗したこと、および失敗したときに取り得る措置を通知する警告情報を、前記表示部に表示させることを特徴とする請求項１記載のプログラム開発装置。
【請求項８】
前記記憶部に、１または複数の日付サーバの接続先情報を予め記憶し、
前記日付情報取得部は、前記１または複数の日付サーバのいずれか１つの日付サーバ、あるいは少なくとも２つ以上の日付サーバに接続して、前記現在日付情報を取得することを特徴とする請求項１記載のプログラム開発装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、プログラム開発装置に関し、特に、複写機やプリンタ等の画像形成装置で利用するプログラムを開発するプログラム開発装置に関する。
【背景技術】
【０００２】
今日、画像形成装置としては、コピー専用機、プリンタ専用機などの他に、コピー機能、プリンタ機能、スキャナ機能等を備えた複合機（ＭＦＰ：Multi Function Peripheral）が利用されている。
【０００３】
ＭＦＰでは、開発当初の所定の機能を実行させる種々のアプリケーションプログラムが組み込まれているが、このアプリケーションプログラムの改良、不具合の修正、あるいは機能拡張などを目的として、改訂版のアプリケーションプログラムが、ＭＦＰに再インストールされる場合がある。
また、ユーザのニーズに対応したアプリケーションプログラムや新しい機能を実行するアプリケーションプログラムが、後から、ＭＦＰに組み込まれることもある。
【０００４】
一般的に、再インストールされるアプリケーションプログラムや、ユーザニーズに対応したアプリケーションプログラムなどの組込アプリケーションプログラムは、ＭＦＰの開発メーカが、作成することが多い。
しかし、今日、ユーザニーズの多様化や、機能の複雑化等のために、すべての組込アプリケーションプログラム（以下、組込アプリとも呼ぶ）を、１つの開発メーカだけで作成するのが難しくなってきている。そこで、組込アプリの作成を、外部のソフトウエア開発会社（以下、サードパーティと呼ぶ）に委託する場合がある。
【０００５】
また、サードパーティが、独自に組込アプリを作成し、ユーザに販売する場合もある。
このようなサードパーティは、通常、ＭＦＰメーカが開発した組込アプリ作成用ツール（ＳＤＫ：software development kit）を購入するかあるいはＭＦＰメーカとの契約に基づいてＳＤＫの提供を受けて、このＳＤＫを利用して、組込アプリを開発していた。
通常、サードパーティが、ＳＤＫを利用するためには、ＭＦＰメーカと一定の契約を結び、ＭＦＰメーカからの許可を受ける必要があった。
【０００６】
たとえば、サードパーティなどのユーザが所有する情報処理装置（ユーザ）側で、ＭＦＰの組込アプリと開発仕様情報を作成した後、ベンダーの有するサーバに開発仕様情報を送信し、サーバが受信した開発仕様情報をチェックして、ＭＦＰで組込アプリを実行することを許可してもよいか否かを判別し、実行を許可する場合は、オフィシャルコードを情報処理装置（ユーザ）に送信することによって、サードパーティなどのユーザが、受信したオフィシャルコードと組込アプリとを関連づけたインストールパッケージを作成することができるようにして、不正なアプリケーションプログラムに対するセキュリティを確保したシステムが提案されている（特許文献１，段落００３３，００６４，００６８−００７０参照）。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１１−１７０５７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかし、ＳＤＫを購入したサードパーティや、開発メーカからＳＤＫの提供を受けたサードパーティは、一般的に、契約内容に基づいて組込アプリの開発が許可されるが、契約の終了や解除がされても、ＳＤＫを廃棄するかまたは開発メーカに返却しない限り、契約終了後も使用し続けられ、契約に基づかずに、不正に組込アプリを開発できてしまう。
【０００９】
特に、ＳＤＫがソフトウエアのみからなり、単にＤＶＤなどの記憶媒体に記憶されて提供される場合には、開発メーカは、サードパーティがＳＤＫをすべて消去し、今後使用しないことを確認することは、非常に困難である。
また、サードパーティが開発した組込アプリが販売され、ユーザが実際に使用している状況では、その組込アプリが正規の契約に基づいて開発されたものであるか、契約終了後に不正に開発されたものなのかを、容易に判別することができない。
【００１０】
そこで、組込アプリの不正な開発を防止するために、たとえば契約内容に、ＳＤＫを使用し組込アプリを開発してよい期間（契約期間）が定められている場合には、その契約期間内だけ、組込アプリの開発を可能とするしくみを有することが望まれる。
この発明は、以上のような事情を考慮してなされたものであり、契約外の組込アプリの開発を防止するため、契約期間内においてのみ、組込アプリの開発を許可することのできるプログラム開発装置を提供することを課題とする。
【課題を解決するための手段】
【００１１】
この発明は、アプリケーションプログラムを作成するアプリケーション作成部と、前記作成されたアプリケーションプログラムを動作させる装置に導入することが可能な組込モジュールを作成する組込モジュール作成部と、契約期間が設定された期間ファイルを予め記憶した記憶部と、所定の日付サーバから現在の日付を示す現在日付情報を取得する日付情報取得部と、取得された現在日付情報が、前記記憶部に記憶された期間ファイルの契約期間内に含まれるか否かを確認し、含まれる場合には、契約期間認証が成功したと判断する認証部と、前記契約期間認証が成功した場合に、前記組込モジュール作成部による組込モジュールの作成を行えるようにする制御部とを備えることを特徴とするプログラム開発装置を提供するものである。
この発明によれば、契約期間認証が成功した場合に、組込モジュールの作成を行えるようにしているので、プログラム開発装置の契約期間外の不正な使用を防止できる。
【発明の効果】
【００１２】
この発明によれば、日付サーバから取得した現在日付情報を用いて契約期間認証を実行し、前記契約期間認証が成功した場合に、組込モジュールの作成を行えるようにしているので、契約期間外の時期には、組込モジュールを作成することはできず、プログラム開発装置の契約期間外の不正な使用を防止することができる。
また、契約によって正当な使用権限を有する利用者は、その契約に定められた契約期間内においてのみ、プログラム開発装置を用いて、組込モジュールを作成することができる。
【図面の簡単な説明】
【００１３】
【図１】この発明の開発システムの一実施例の概略構成図である。
【図２】この発明のプログラム開発装置の一実施例の構成ブロック図である。
【図３】この発明の画像形成装置の一実施例の構成ブロック図である。
【図４】この発明のデータサーバの一実施例の構成ブロック図である。
【図５】この発明の日付サーバの一実施例の構成ブロック図である。
【図６】この発明のプログラム開発装置の記憶部に記憶される情報の一実施例の説明図である。
【図７】この発明のプログラム開発装置における全体処理の実施例１のフローチャートである。
【図８】この発明のプログラム開発装置における全体処理の実施例２のフローチャートである。
【図９】この発明のプログラム開発装置における認証処理の一実施例のフローチャートである。
【発明を実施するための形態】
【００１４】
以下、図に示す実施例に基づいて、この発明を説明する。
なお、これによって、この発明が限定されるものではない。
【００１５】
＜この発明の開発システムの概略＞
図１に、この発明の開発システムの一実施例の概略構成図を示す。
この発明の開発システムは、プリンタや複合機などの画像形成装置（以下、ＭＦＰとも呼ぶ）に組み込まれるアプリケーションプログラム（以下、ＡＰとも呼ぶ）を開発するものであり、主として、ネットワーク１０を介して相互に接続されたプログラム開発装置ＰＣ１，画像形成装置ＭＦＰ２，データサーバＤＳ３，日付サーバＴＳ４とから構成される。
【００１６】
プログラム開発装置ＰＣ１は、利用者（ＡＰ開発担当者）が、ＭＦＰに組み込まれるアプリケーションプログラムを作成する装置であり、専用のハードウェアであってもよいが、一般的に利用されているワークステーション、パソコン、タブレット端末などの情報処理装置を用いてもよい。
プログラム開発装置ＰＣ１では、主として、アプリケーションプログラムＡＰの作成と、所定のＭＦＰにそのＡＰを導入するための組込モジュールの作成を行う。
【００１７】
画像形成装置ＭＦＰ２は、入力された画像、文書等の情報を、紙媒体等に出力する装置であり、主として、表面に静電潜像が形成される感光体ドラムと、感光体ドラムの表面を帯電させる帯電装置と、感光体ドラムの表面に静電潜像を形成する露光装置と、現像装置にトナーを補給するトナー補給装置と、静電潜像に補給されたトナーを含む現像剤を供給してトナー像を形成する現像装置と、トナー補給装置から補給されたトナーを用いて現像装置が感光体ドラムの表面に形成したトナー像を、記録媒体に転写する転写装置と、転写されたトナー像を記録媒体に定着させる定着装置とを備えた装置である。
【００１８】
データサーバＤＳ３は、画像形成装置ＭＦＰ２に与えられる画像、写真、文書などの種々の情報を記憶した装置である。
日付サーバＴＳ４は、現在の正確な時刻を計時し、他の情報処理装置からの要求に応じて、要求されたときの正確な現在日付情報（年月日時分秒）を、要求してきた情報処理装置に送信する装置である。
利用できる日付サーバＴＳ４としては、現在すでに複数のサーバが存在するので、これらの中から信頼できる１または複数のサーバを選択して利用すればよい。
また、通常時は、選択したサーバの中の１つの特定サーバを用いるが、その特定サーバから日付情報を取得できない場合は、予め選択していた他の日付サーバに自動的に接続し直すようにしてもよい。
【００１９】
ネットワーク１０としては、インターネットなどのＷＡＮや、同一構内の情報処理装置などを接続するＬＡＮを用いることができ、有線方式あるいは無線方式のいずれのネットワークを用いてもよい。
【００２０】
この発明では、以下に示すように、プログラム開発装置ＰＣ１でアプリケーションプログラムＡＰの開発を行うために、所定の認証処理を行い、正規の開発権限や契約内容を満たした場合にのみ、画像形成装置にＡＰを導入するための組込モジュールの作成を可能とする。
また、上記認証処理に日付サーバＴＳ４を用い、後述するように、日付サーバＴＳ４から取得した現在日付情報が、所定の契約期間の中に含まれている場合にのみ、認証が成功したと判断する。
以下の実施例では、プログラム開発装置そのものを開発した者を、開発者あるいは開発会社と呼び、プログラム開発装置を用いてアプリケーションプログラムＡＰを開発する者を、利用者あるいはユーザと呼ぶ。
【００２１】
＜プログラム開発装置の構成＞
図２に、この発明のプログラム開発装置ＰＣ１の一実施例の構成ブロック図を示す。
この発明のプログラム開発装置ＰＣ１は、主として、制御部１１，入力部１２，表示部１３，通信部１４，日付情報取得部１５，認証部１６，アプリケーション作成部１７，デバッグ部１８，組込モジュール作成部１９，記憶部２１を備える。
【００２２】
制御部１１は、ＰＣ１の各機能ブロックを動作させて各種機能を実行させる部分であり、主として、ＣＰＵ，ＲＯＭ，ＲＡＭ，Ｉ／Ｏコントローラ、タイマー等からなるマイクロコンピュータにより実現される。
また、ＣＰＵは、ＲＯＭ等に記憶された制御プログラムに基づいて、各種ハードウェアを有機的に動作させることにより、この発明のＰＣ１の通信処理、認証処理、アプリケーション作成処理などを実行する。
【００２３】
入力部１２は、ユーザが情報の入力や、所望の機能を実行させるための選択入力を行う部分であり、キーボード、マウス、タッチパネルなどを用いることができる。
表示部１３は、機能選択メニューや、各種機能を実行するときに生成された情報などを表示させる部分であり、ＬＣＤ，ＰＤＰ，有機ＥＬディスプレイなどが用いられる。
通信部１４は、ネットワーク１０に接続し、所定の通信プロトコルを用いて種々のデータの送受信を行う部分である。有線通信あるいは無線通信のいずれの方式を用いてもよい。
【００２４】
日付情報取得部１５は、所定の日付サーバＴＳ４から現在の日付を示す現在日付情報を取得する部分である。具体的には、日付サーバＴＳ４に接続して、日付サーバＴＳ４に、日付情報を取得することを要求する情報を送信し、日付サーバＴＳ４から、現在の日付に関する正確な情報（現在日付情報）を受信する部分である。
上記したように、予め定めた１つの日付サーバＴＳ４から現在日付情報を取得すればよいが、その日付サーバが故障等のために日付情報が取得できない可能性があるので、信頼できる複数個の日付サーバのアドレスを記憶部２１に予め記憶しておき、いずれかの日付サーバＴＳ４に接続できるようにすることが好ましい。
【００２５】
認証部１６は、利用者がＰＣ１を起動させた場合に、正規の契約内容の範囲内に属する起動であるか否かを確認する部分である。この発明では、特に、開発者認証と、契約期間認証とを行う。
開発者認証は、ＭＦＰのアプリケーションを開発する権限を有する利用者が、開発者が提供した正規の開発ツールを用いて、アプリケーションを開発しようとしているか否かをチェックするものである。
後述するように、この開発者認証では、開発者と利用者との間で開発契約を締結したときに、開発者から与えられた期間ファイル２３に含まれた開発者情報（たとえば開発者名）と、提供された開発ツールに予め組み込まれ記憶部２１に記憶された開発ツール情報２２の中の開発者情報（たとえば開発者名）とが一致するか否かを確認する。この確認により、２つの開発者情報が一致した場合に、開発者認証が成功したと判断する。
【００２６】
契約期間認証では、日付情報取得部１５によって取得された現在日付情報が、開発契約を締結したときに開発者から与えられた契約情報の中の契約期間の中に含まれているか否かを確認する。具体的には、取得された現在日付情報が、記憶部２１に記憶された期間ファイル２３の契約期間内に含まれるか否かを確認する。正確な日付を示す現在日付情報が契約期間内に含まれる場合に、契約期間認証が成功したと判断する。
上記した開発契約を締結したときに開発者から与えられた契約情報は、後述する期間ファイル２３に含まれる情報に相当する。契約期間認証に成功した場合に、上記制御部１１が、後述する組込モジュール作成部１９による組込モジュールの作成を行えるようにする。
【００２７】
図２のアプリケーション作成部１７，デバッグ部１８，組込モジュール作成部１９は、所定のＭＦＰに導入することが可能な形式のアプリケーションプログラムＡＰを開発する部分である。ここで実行される処理は、従来から用いられているＳＤＫで実行される処理に相当する。これらの機能ブロック（１７，１８，１９）を用いて、既存のＡＰの改良や、新しいＡＰが作成される。作成されたＡＰを動作させる装置に導入することが可能な形式のプログラムを、組込モジュール、あるいはインストールパッケージと呼ぶ。
【００２８】
アプリケーション作成部１７は、ＳＤＫによって提供される開発環境において、所定の言語を用いて、所定の設計仕様に基づいて、アプリケーションプログラムＡＰを作成する部分である。
デバッグ部１８は、作成されたＡＰの動作をチェックする部分であり、ＡＰが設計仕様どおりに動作しない場合に、ＡＰの不具合を修正する部分である。
上記したアプリケーション作成部１７と、デバッグ部１８とを繰り返し用いることにより、設計仕様どおりに動作するアプリケーションプログラムＡＰを作成する。
【００２９】
組込モジュール作成部１９は、上記ＡＰをＭＦＰに導入することが可能な組込モジュールを作成する部分である。すなわち、アプリケーションプログラム作成部１７によって作成され、デバッグ部１８によって正常に動作することを確認したＡＰを、動作させる画像形成装置ＭＦＰに導入することが可能な組込モジュールに変換する部分である。一般的に、ＡＰが同一でも、動作させるＭＦＰが異なれば、そのＡＰの組込モジュールは異なる。
この組込モジュールを所定のＭＦＰ２の記憶部に記憶させ、所定のインストール作業を実行させることにより、作成されたＡＰがそのＭＦＰ２で実際に動作することが可能となる。
【００３０】
記憶部２１は、この発明のＰＣ１の各機能を実行するのに必要な情報、設定情報、プログラムなどを記憶した部分である。記憶部２１としては、ＲＯＭ、ＲＡＭ、フラッシュメモリなどの半導体記憶素子、ＨＤＤ、ＳＳＤなどの記憶装置、その他の記憶媒体が用いられる。
【００３１】
記憶部２１には、主として、開発ツール情報２２，期間ファイル２３，現在日付情報２４，残日数２５，警告表示情報２６，日付サーバアドレス２７，アプリケーション２８，組込モジュール２９が記憶される。図６に、記憶部２１に記憶される情報の一実施例の説明図を示す。
【００３２】
開発ツール情報２２は、開発者から提供される開発ツール（ＳＤＫ）に関する情報であり、たとえば、図６（ａ）に示すように、開発者情報（たとえば、開発者名）と、ツール名の情報が含まれる。この開発ツール情報２２は、開発者が作成し、開発者以外の第三者によって変更、削除などができない形式で予め記憶された情報であり、たとえば、E-mail等の送信手段を用いて、開発者から、契約の受託者であるＰＣ１の利用者に与えられる。
【００３３】
期間ファイル２３は、契約期間が予め設定されたファイルであり、プログラム開発装置の開発者によって提供される。契約期間は、開発者とＰＣ１の利用者との間の契約で定めた期間であり、ＰＣ１の利用者が、ＰＣ１を用いて、アプリケーションプログラムＡＰの開発をすることが許可された期間を意味する。
期間ファイル２３には、図６（ｂ）に示すように、たとえば、開発者情報（開発者名）と、契約期間とが含まれる。
開発者情報は、開発者を示す情報であり、上記した開発ツール情報２２の開発者名と同一の情報である。この開発者情報は、認証部１６によって行われる開発者認証処理で利用される。契約期間は、たとえば、開始日付と終了日付とからなり、現在日付情報２４と比較され、契約期間認証処理で利用される。
この期間ファイル２３は、たとえば、E-mail等の送信手段を用いて、開発者から契約の受託者であるＰＣ１の利用者に提供される。また、期間ファイル２３は、開発者が作成し、開発者以外の第三者によって偽造されることがないように、暗号化などの処理を行い、第三者が変更および削除などができない形式で記憶部２１に記憶することが好ましい。
【００３４】
現在日付情報２４は、正確な現在の日付を表す情報であり、上記したように、日付サーバ４から取得される情報である。現在日付情報２４は、たとえば、図６（ｃ）に示すように、年、月、日、時、分、秒からなり、取得された日付情報を基準として、ＣＰＵに備えられたタイマーが、その後の時刻を刻んでいく。
一般的に、パソコン等の情報処理装置では、計時手段を備え、正確な時刻を提供する機能を有しているが、ユーザが、現在の時刻を自由に設定したりすることも可能な場合があるので、ＳＤＫの不正な利用を防止するために、信頼できる日付サーバを予め設定しておき、その信頼できる日付サーバから現在の日付情報を取得するようにする。
【００３５】
残日数２５は、契約期間の残りの日数を意味し、期間ファイル２３の終了日付から、現在日付情報を減算することにより計算される。この残日数の計算で、時分を考慮してもよいが、残日数として、日のみを表示する場合は、日のみを計算すればよい。
【００３６】
警告表示情報２６は、表示部１３に表示させる情報を意味し、図６（ｄ）に示すような情報を、予め記憶しておく。図６（ｄ）では、一実施例として、認証中データ、認証成功データ、認証失敗データ、接続失敗データを示しているが、これに限るものではない。
認証中データは、認証部１６が、認証処理を実行しているときに表示されるデータを意味する。
認証成功データは、認証部１６により、認証処理が成功したときに表示されるデータを意味する。ここでは、認証が成功したことと、契約期間の残日数とを表示するものを示している。
【００３７】
認証失敗データは、認証処理が失敗したときに表示されるデータを意味する。たとえば、認証が失敗したことと、失敗したときに取り得る措置を通知する警告情報を表示させる。ここでは、ＰＣ１の利用者が次の措置を問い合わせるための連絡先を表示するものを示している。連絡先としては、たとえば、開発者名やメンテナンス会社の電話番号、電子メールアドレス、ＦＡＸ番号などを表示すればよい。また、連絡先に問い合わせる前に、認証失敗時に利用者ができる措置がある場合は、その措置内容を表示してもよい。
接続失敗データは、日付サーバＴＳ４への接続ができず、認証処理ができなかったときに表示されるデータを意味する。ここでは、接続に失敗したことを表示するものを示しているが、認証失敗データと同様に、問い合わせをする連絡先を表示するようにしてもよい。
【００３８】
日付サーバアドレス２７は、１または複数の日付サーバＴＳ４の接続先情報を示すアドレス（ＵＲＬ）を意味する。少なくとも、１つの日付サーバのアドレスを予め設定するものとし、信頼できる日付サーバが複数個ある場合は、複数の日付サーバのアドレスを予め設定しておくことが好ましい。
日付情報取得部１５は、この日付サーバアドレス２７に設定された１または複数の日付サーバのいずれか１つの日付サーバＴＳに接続して、現在日付情報を取得する。あるいは、少なくとも２つ以上の日付サーバに接続して、現在日付情報を取得してもよい。また、記憶される日付サーバアドレスも、開発者のみが設定できるようにし、第三者によって不正に変更されることがないように、設定権限を制限した上で、記憶部２１に記憶しておくことが好ましい。
【００３９】
アプリケーション２８は、アプリケーション作成部１７によって作成中か、あるいは作成された後のアプリケーションプログラムＡＰを意味する。このアプリケーション２８を用いて、デバッグ部１８によるデバッグ処理が行われる。
組込モジュール２９は、所定のＭＦＰに導入されるアプリケーションプログラムＡＰのインストールパッケージ（組込モジュール）であり、組込モジュール作成部１９によって作成されたプログラムである。この組込モジュール２９は、ネットワークを介してＭＦＰに転送されるか、あるいは、一旦記憶媒体に保存した後、ＭＦＰに読み込ませるようにしてもよい。
【００４０】
＜画像形成装置の構成＞
図３に、画像形成装置ＭＦＰ２の一実施例の構成ブロック図を示す。
図３において、ＭＦＰ２は、主として、制御部４１，操作部４２，表示部４３，通信部４４，画像入力部４５，画像処理部４６，出力部４７，記憶部５１を備える。
【００４１】
制御部４１は、ＭＦＰ２の各機能を実行させる部分であり、ＣＰＵなどからなるマイクロコンピュータを用いることができる。
操作部４２は、利用者が、ＭＦＰ２の所望の機能の選択や、設定情報などを入力する部分であり、キーボードやタッチパネルなどが用いられる。
表示部４３は、機能選択メニューや設定情報の入力画面などを表示する部分であり、ＬＣＤや有機ＥＬディスプレイなどが用いられる。
通信部４４は、ネットワーク１０に接続して、他の情報処理装置やサーバとデータ送受信をする部分である。
【００４２】
画像入力部４５は、画像を入力する部分であり、カメラ、スキャナなどが用いられる。
画像処理部４６は、入力された画像を、紙媒体などに出力可能な形式に変換する部分であり、解像度やサイズの変更、画質の調整などを行う部分である。
出力部４７は、画像処理部によって出力可能な形式に変換された画像を、紙媒体に印刷したり、記憶媒体に記憶する部分である。
【００４３】
記憶部５１は、主として、設定情報、表示情報、出力すべき画像などを記憶する部分である。たとえば、入力された画像や、ネットワーク１０を介して外部のデータサーバＤＳ３から取得された画像（取得画像５２）や、出力可能な形式に変換された画像（形成画像５３）が記憶される。
また、プログラム開発装置ＰＣで作成された組込モジュールも、記憶部５１に記憶され、インストール作業を行うことにより、アプリケーションプログラムＡＰが、実行できる形態で、記憶部５１に記憶される。
【００４４】
＜データサーバの構成＞
図４に、データサーバＤＳ３の一実施例の構成ブロック図を示す。データサーバＤＳ３は、主として、他の情報処理装置で作成されたデータを保存することを目的とした装置であり、ファイルサーバとも呼ぶ。
図４において、データサーバＤＳ３は、主として、制御部６１，入力部６２，表示部６３，通信部６４，記憶部６５を備える。
【００４５】
制御部６１は、ＤＳ３の各機能を実行させる部分であり、ＣＰＵなどからなるマイクロコンピュータが用いられる。
入力部６２は、各種設定情報や機能選択の入力を行う部分である。
表示部６３は、ＤＳ３の機能選択メニューやＤＳ３の保存状況の確認のための画面などを表示する部分である。
【００４６】
通信部６４は、ネットワーク１０に接続し、他の情報処理装置とデータ送受信をする部分であり、たとえば、記憶部６５に記憶された情報を、ＭＦＰ２に送信する部分である。
記憶部６５は、情報処理装置から送信されてきた画像情報６６や文書情報６７などを記憶する部分である。
【００４７】
＜日付サーバの構成＞
図５に、日付サーバＴＳ４の一実施例の構成ブロック図を示す。
日付サーバＴＳ４は、主として、現在の日付情報を提供することを目的とする装置であり、インターネットなどの各種ネットワークに接続された情報処理装置からの要求に応じて、現在の日付情報を返信する。
図５において、日付サーバＴＳ４は、主として、制御部７１，計時部７２，記憶部７３，要求受信部７４，日付送信部７５を備える。
【００４８】
制御部７１は、ＴＳ４の各機能を実行させる部分であり、ＣＰＵなどからなるマイクロコンピュータが用いられる。
計時部７２は、現在の正確な時刻をきざみ、現在の日付情報を生成する部分である。
記憶部７３は、日付情報や、計時機能を実行するのに必要な情報を記憶する部分である。
【００４９】
要求受信部７４は、ネットワーク１０を介して、他の情報処理装置から送信された日付取得要求を受信する部分である。
日付送信部７５は、受信した日付取得要求に応答して、計時部７２によって生成された現在の日付情報を、その要求を送信してきた情報処理装置へ送信する部分である。
【００５０】
＜プログラム開発装置で実行される処理の概要＞
（実施例１）
図７に、この発明のプログラム開発装置における全体処理の一実施例のフローチャートを示す。ここでは、認証部１６による認証処理を、アプリケーション作成部１７によってＡＰを作成する前であって、組込モジュール作成部１９によって組込モジュールを作成する前に実行し、認証に成功した場合に、所望のアプリケーションプログラムＡＰの開発作業が可能となる場合について説明する。
認証に失敗した場合は、アプリケーションプログラムＡＰの作成処理とデバッグ処理を含め、ＡＰの開発に関するすべての作業ができない。
【００５１】
図７のステップＳ１において、制御部１１は、ＰＣ１の利用者（契約の受託者）が、入力部１２を用いて、ＰＣ１の機能を利用するための起動入力操作をしたか否かをチェックする。起動入力操作がされた場合は、ステップＳ２へ進み、そうでない場合は、ステップＳ１をループする。
【００５２】
ステップＳ２において、期間ファイル２３を取得する。期間ファイル２３が、記憶部２１に記憶されている場合は、記憶部２１から読み出す。
ステップＳ３において、認証部１６が、ＰＣ１を用いたアプリケーションプログラムＡＰの開発を許可するか否かを判断するための認証処理を実行する。認証処理として、上記したように、開発者認証と、契約期間認証とを行う。この認証処理の詳細については、後述する図９に示す。
【００５３】
ステップＳ４において、制御部１１が、上記認証に成功したと判断した場合は、ステップＳ５へ進む。失敗した場合は、処理を終了するか、あるいはステップＳ１へ戻ってもよい。
ステップＳ５において、制御部１１は、アプリケーション作成部１７の機能を用いて、利用者が、アプリケーションプログラムＡＰの作成処理が行えるようにする。
ステップＳ６において、制御部１１が、デバッグ部１８の機能を用いて、利用者がＡＰのデバッグ処理を行えるようにする。
【００５４】
ステップＳ５の後にステップＳ６が行われるが、デバッグの結果、作成したＡＰに不具合ある場合は、ステップＳ５に戻り、ＡＰの修正を行った後、修正されたＡＰのデバッグ処理を行う。すなわち、開発しようとするＡＰの不具合がなくなるまで、ステップＳ５とステップＳ６の処理が、繰り返される。
【００５５】
ステップＳ７において、組込モジュール作成部１９が、特定のＭＦＰに導入することが可能な形式である組込モジュールを作成する。組込モジュールの具体的な作成処理としては、たとえば、コンパイルを行うものであるが、従来と同様の処理を行ってもよい。開発しようとするＡＰの不具合がなくなり、ＡＰが利用者がＭＦＰに導入可能なものであると判断した場合に、作成されたＡＰから、組込モジュールが作成される。その後、処理を終了する。
【００５６】
作成されたＡＰの組込モジュールは、たとえば、ネットワーク１０を介して、ＰＣ１からＭＦＰ２へ送信されるか、あるいは、所定の記憶媒体に記憶されてＭＦＰ２の記憶部５１にインストールされる。インストール後、ＭＦＰ２で実行可能なアプリケーションとして、記憶部５１に記憶される。
その後、ＭＦＰ２のユーザが、所望のアプリケーションの機能を使用する場合、たとえば、ＭＦＰ２の表示部４３に表示された機能選択画面を見て、そのアプリケーションを選択する入力操作を行えばよい。
【００５７】
上記したように、開発者認証と契約期間認証とが成功した場合に、少なくとも、制御部１１は、組込モジュール作成部によって組込モジュールの作成を行えるようにする。
また、上記のような一連の処理を行う場合は、アプリケーションプログラムの作成処理よりも前に、認証処理を行うので、認証に失敗した場合は、アプリケーションプログラムの開発に関係するすべての処理を実行することができず、不正な開発作業を一切防止することができる。
【００５８】
（実施例２）
図８に、この発明のプログラム開発装置の実施例２のフローチャートを示す。
図７に示す実施例１と対比すると、認証処理と、アプリケーション作成およびデバッグ処理の順序が異なる。すなわち、アプリケーション作成およびデバッグ処理を実行した後であって、組込モジュール作成部１９によって組込モジュールを作成する前に、認証部１６による認証処理を実行する。
この場合は、認証の結果には依存せずに、利用者は、アプリケーションプログラムＡＰの作成と、ＡＰのデバッグ処理を実行することができ、契約していない第三者も、ＡＰの作成そのものは可能となる。
ただし、認証処理が失敗した場合は、作成したＡＰをＭＦＰ２に導入することのできる組込モジュールを作成することができない。
【００５９】
図８において、ステップＳ１１およびＳ１２は、それぞれ図７のステップＳ１およびＳ２と同じ処理である。ステップＳ１３およびＳ１４は、それぞれ図７のステップＳ５およびＳ６と同じ処理である。
ステップＳ１１において、利用者が起動入力操作をした場合は、ステップＳ１３およびＳ１４へ進むことが可能であるので、所望のアプリケーションプログラムＡＰの開発作業をすることができる。
【００６０】
ステップＳ１５において、図７のＳ３と同様の認証処理を行う。ステップＳ１６において、認証が成功した場合は、ステップＳ１７へ進み、失敗した場合は、処理を終了する。
ステップＳ１７において、図７のステップＳ７と同様の組込モジュールの作成処理を行う。ここで、認証に成功した場合にのみ、所定のＭＦＰに導入することが可能な組込モジュールが作成される。
【００６１】
この実施例２では、認証の成功あるいは失敗にかかわらず、アプリケーションプログラムＡＰそのものの作成およびデバッグ処理はできるので、契約する意思のある利用者が、契約が成立する前の段階でも、ＡＰの作成を開始することができる。
そして、契約が締結された後に、すぐに、作成していたＡＰに対して、ＭＦＰに搭載することが可能な組込モジュールを作成することができるので、契約成立後にＡＰの開発を開始できる実施例１よりも、開発期間を短縮できる。
【００６２】
また、不正なＡＰ開発者に対しては、ＡＰの作成およびデバッグができても、認証が失敗した場合には、ＭＦＰに導入することのできる組込モジュールの作成ができないので、実質的にＡＰの開発を防止できる。
【００６３】
（実施例３）
＜プログラム開発装置の認証処理＞
図９に、この発明のプログラム開発装置における認証処理の一実施例のフローチャートを示す。
ステップＳ３１において、認証部１６は、取得した期間ファイル２３の中から、開発者名を読み出す。また、このとき、図６（ｄ）−１に示すように、契約期間の認証中であることを示す表示をしてもよい。
【００６４】
ステップＳ３２において、開発者認証処理を行う。ここでは、読み出した期間ファイル２３の開発者名と、記憶部２１に予め書き換えることのできない形式で記憶された開発ツール情報２２の中の開発者名とを比較する。両者の開発者名が一致した場合に、開発者認証が成功したと判断し、そうでない場合は、失敗したと判断する。
期間ファイル２３が不正に作成された場合において、期間ファイルの開発者名が正規のものでない場合は、開発者認証が失敗する。
【００６５】
ステップＳ３３において、開発者認証が成功した場合は、ステップＳ３５へ進み、失敗した場合はステップＳ３４へ進む。
ステップＳ３４において、開発者認証が失敗したことを示す情報を記憶部２１に記憶し、図６（ｄ）−３に示すような認証失敗の警告を、表示部１４に表示して、処理を終了する。
ステップＳ３５において、日付情報取得部１５が、通信部１４を用いてネットワーク１０を介して、日付サーバＴＳ４に接続する。日付サーバＴＳ４への接続は、たとえば、記憶部２１に記憶されている日付サーバアドレス２７を読み出し、各種ネットワークプロトコルを用いて接続すればよい。
【００６６】
ステップＳ３６において、日付サーバＴＳ４への接続が完了したか否かをチェックする。日付サーバＴＳ４への接続が完了した場合は、ステップＳ３８へ進み、接続できなかった場合は、ステップＳ３７へ進む。
あるいは、所定の日付サーバＴＳへ接続できなかった場合は、記憶部２１に予め記憶されている他の日付サーバへの接続を試み、記憶されている日付サーバの数だけ、ステップＳ３５およびＳ３６の処理を繰り返し行えばよい。
たとえば、ｎ個の日付サーバアドレス２７を記憶している場合は、ｎ個の日付サーバのうちいずれかの日付サーバに接続ができた場合は、ステップＳ３８へ進み、どの日付サーバにも接続できなかった場合は、ステップＳ３７へ進めばよい。
【００６７】
日付サーバアドレス２７として、１つのアドレスのみを記憶している場合、その日付サーバＴＳ４がメンテナンス等の理由で一時的に停止している場合は、認証に失敗して、ＡＰの開発作業ができなくなってしまう。しかし、複数個の日付サーバアドレス２７を記憶しておくことによって、どれかの日付サーバＴＳに接続できる可能性が高まるので、現在日付情報を取得できないために、ＡＰの開発作業ができなくなる可能性を下げることができる。
【００６８】
ステップＳ３７において、図６（ｄ）−４に示すような日付サーバへの接続に失敗したことを示す警告を表示し、処理を終了する。
ステップＳ３８において、日付情報取得部１５が、日付サーバＴＳに、日付要求データを送信し、日付サーバＴＳから、現在日付情報を取得する。日付サーバＴＳは、この要求データを受信すると、現在日付情報を生成し、要求データを送信してきたＰＳに対して送信する。認証部１６は、この現在日付情報を取得して記憶部２１に記憶し、現在日付情報２４をもとに、現在時刻のカウントを開始する。
ステップＳ３９において、取得された期間ファイル２３の中の契約期間を読み出す。
【００６９】
ステップＳ４０において、取得した現在日付情報２４と、期間ファイル２３の契約期間とを比較する。ここでは、現在日付情報２４が示す日付が、契約期間を示す開始日付と終了日付との間に属しているか否かが、チェックされる。
ステップＳ４１において、現在日付情報２４が、契約期間内に属する場合は、ステップＳ４２へ進み、そうでない場合は、ステップＳ４３へ進む。
【００７０】
ステップＳ４２において、認証部１６による契約期間認証が成功したので、契約期間の残日数を計算する。ここで、現在日付情報から終了日付までの日数を求め、記憶する。また、表示部１３に、図６（ｄ）−２に示すように、認証に成功したことと、計算した残日数２５とを表示させる。その後、認証に成功したことを示す情報を記憶し、処理を終了する。
ステップＳ４３において、現在の日付が契約期間内でないので、図６（ｄ）−３に示すように、表示部１３に、認証に失敗したことを示す警告表示をする。その後、認証に失敗したことを示す情報を記憶して、処理を終了する。
【００７１】
このように、契約期間認証をすることにより、ＰＣ１の契約期間外の不正な利用を防止し、正当権限を有していた利用者であっても、契約期間が経過してしまった場合には、ＡＰの開発をできなくすることができる。
また、現在日付が契約期間内の正当な使用可能な時期である場合、起動時の認証処理において、契約期間の残日数が表示されるので、正当権限を有する利用者は、あと何日で契約が切れて使用できなくなるかを、容易に知ることができる。
【００７２】
残日数が少なくなってきたことを認識した利用者は、実際に契約期間が経過する前に、余裕を持って、契約更新の手続や次の契約を締結するため準備をすることができる。
また、認証に失敗した場合、認証に失敗したことを警告する表示に、開発者などの問い合わせ窓口の連絡先の情報や、取り得る措置などを示すことによって、利用者は、容易かつ迅速に、再契約等の手続を行うことができる。
【００７３】
＜付記＞
以下に、この発明の付記を示す。
（付記１）
この発明は、アプリケーションプログラムを作成するアプリケーション作成部と、前記作成されたアプリケーションプログラムを動作させる装置に導入することが可能な組込モジュールを作成する組込モジュール作成部と、契約期間が設定された期間ファイルを予め記憶した記憶部と、所定の日付サーバから現在の日付を示す現在日付情報を取得する日付情報取得部と、取得された現在日付情報が、前記記憶部に記憶された期間ファイルの契約期間内に含まれるか否かを確認し、含まれる場合には、契約期間認証が成功したと判断する認証部と、前記契約期間認証が成功した場合に、前記組込モジュール作成部による組込モジュールの作成を行えるようにする制御部とを備えることを特徴とするプログラム開発装置。
この発明によれば、契約期間認証が成功した場合に、組込モジュールの作成を行えるようにしているので、プログラム開発装置の契約期間外の不正な使用を防止できる。
【００７４】
（付記２）
前記期間ファイルが、プログラム開発装置の開発者によって提供され、前記開発者を示す開発者情報を含み、前記記憶部に、前記開発者情報と同一の開発者情報を有する開発ツール情報を予め記憶し、前記認証部は、前記期間ファイルに含まれた開発者情報と、前記記憶部に記憶された開発ツール情報の開発者情報とが一致するか否かを確認し、一致した場合に、開発者認証が成功したと判断し、前記開発者認証と前記契約期間認証とが成功した場合に、前記制御部が組込モジュールの作成を行えるようにすることを特徴とする付記１に記載のプログラム開発装置。
これによれば、開発者認証と契約期間認証とが成功した場合に、組込モジュールの作成を行えるようにしているので、よりセキュリティを高めることができ、契約期間内に正規の開発ツールを使用した場合にだけ、アプリケーションプログラムの開発が可能となる。
【００７５】
（付記３）
前記期間ファイルおよび開発ツール情報は、前記開発者が作成し、かつ開発者以外の第三者が変更できない形式で前記記憶部に記憶されることを特徴とする付記２に記載のプログラム開発装置。
これによれば、期間ファイルおよび開発ツール情報を、開発者が作成したもので、第三者が変更できない形式で記憶しているので、よりセキュリティを高め、プログラム開発装置の不正使用を防止することができる。
【００７６】
（付記４）
前記認証部による契約期間認証は、前記アプリケーション作成部によってアプリケーションプログラムを作成する前であって、前記組込モジュール作成部によって組込モジュールを作成する前に、実行されることを特徴とする付記１ないし３のいずれかに記載のプログラム開発装置。
【００７７】
（付記５）
前記認証部による契約期間認証は、前記アプリケーション作成部によってアプリケーションプログラムを作成した後であって、前記組込モジュール作成部によって組込モジュールを作成する前に、実行されることを特徴とする付記１ないし３のいずれかに記載のプログラム開発装置。
【００７８】
（付記６）
表示部を備え、前記認証部による契約期間認証が成功した場合に、契約期間の残日数を前記表示部に表示させることを特徴とする付記１記載のプログラム開発装置。
これによれば、契約期間の残日数を表示部に表示させるので、利用者が、使用可能な日数を容易に把握でき、契約の更新や、次の契約の締結の書類作成にかかる十分な準備期間を確保できる。
【００７９】
（付記７）
表示部を備え、前記認証部による契約期間認証が失敗した場合に、その認証が失敗したこと、および失敗したときに取り得る措置を通知する警告情報を、前記表示部に表示させることを特徴とする付記１記載のプログラム開発装置。
これによれば、警告情報を表示するので、利用者は、容易かつ迅速に、再契約などの手続をすることができる。
【００８０】
（付記８）
前記記憶部に、１または複数の日付サーバの接続先情報を予め記憶し、前記日付情報取得部は、前記１または複数の日付サーバのいずれか１つの日付サーバ、あるいは少なくとも２つ以上の日付サーバに接続して、前記現在日付情報を取得することを特徴とする付記１記載のプログラム開発装置。
これによれば、２つ以上の日付サーバの接続先情報を記憶しているので、１つの日付サーバが故障して、現在日付情報を取得できない場合でも、他の日付サーバから現在日付情報を取得することができ、プログラム開発装置が使用できなくなる可能性を低くすることができる。
【符号の説明】
【００８１】
１  プログラム開発装置ＰＣ、  ２  画像形成装置ＭＦＰ、  ３  データサーバＤＳ、  ４  日付サーバＴＳ、  １０  ネットワーク、  １１  制御部、  １２  入力部、  １３  表示部、  １４  通信部、  １５  日付情報取得部、  １６  認証部、  １７  アプリケーション作成部、  １８  デバッグ部、  １９  組込モジュール作成部、  ２１  記憶部、２２  開発ツール情報、  ２３  期間ファイル、  ２４  現在日付情報、  ２５  残日数、  ２６  警告表示情報、  ２７  日付サーバアドレス、  ２８  アプリケーション、  ２９  組込モジュール、４１  制御部、  ４２  操作部、  ４３  表示部、  ４４  通信部、  ４５  画像入力部、  ４６  画像処理部、  ４７  出力部、  ５１  記憶部、  ５２  取得画像、  ５３  形成画像、  ６１  制御部、  ６２  入力部、  ６３  表示部、  ６４  通信部、  ６５  記憶部、  ６６  画像情報、  ６７  文書情報、  ７１  制御部、７２  計時部、  ７３  記憶部、  ７４  要求受信部、  ７５  日付送信部
【図１】
2015118530.tif 000003
【図２】
2015118530.tif 000004
【図３】
2015118530.tif 000005
【図４】
2015118530.tif 000006
【図５】
2015118530.tif 000007
【図６】
2015118530.tif 000008
【図７】
2015118530.tif 000009
【図８】
2015118530.tif 000010
【図９】
2015118530.tif 000011