(57)【要約】【課題】アプリケーションによるトークンの利用に柔軟に対応しつつ、不正利用を防止する。【解決手段】所定の機能を実行する機器と、アプリとを有する情報処理システムであって、第１の認証トークンの種別と、前記機器の種別と、前記第１の認証トークンの有効性情報とが関連付けて記憶する記憶手段と、有効性情報を更新する更新手段と、前記機能の実行要求を受信する受信手段と、前記第１の認証トークンの種別を特定する第１の特定手段と、前記機器の種別を特定する第２の特定手段と、前記第１の認証トークンの種別と前記機器の種別とに関連付けられた前記有効性情報に基づいて、前記第１の認証トークンが利用可能であるか否かを判定する判定手段と、前記実行要求に対応する前記機能を実行する実行手段とを有し、前記判定手段は、前記有効性情報が更新された場合、更新後の前記有効性情報に基づいて、前記第１の認証トークンが利用可能であるか否かを判定する。【選択図】図９
2018010433.tif 000002
【特許請求の範囲】
【請求項１】
所定の機能を実行する機器と、該機能を利用した所定のサービスを提供するアプリケーションとを有する情報処理システムであって、
前記アプリケーションが前記機器の機能を利用するための認証に用いる第１の認証トークンの種別と、前記機器の種別と、前記第１の認証トークンが有効又は無効であることを示す有効性情報とが関連付けて記憶する記憶手段と、
ユーザの操作に応じて、前記記憶手段に記憶されている有効性情報を更新する更新手段と、
前記アプリケーションから送信される前記機能の実行要求を受信する受信手段と、
前記受信手段により前記実行要求を受信すると、該実行要求に含まれる前記第１の認証トークンの種別を特定する第１の特定手段と、
前記機能を実行する前記機器の種別を特定する第２の特定手段と、
前記第１の特定手段により特定された前記第１の認証トークンの種別と、前記第２の特定手段により特定された前記機器の種別とに関連付けて前記記憶手段に記憶されている前記有効性情報に基づいて、前記第１の認証トークンが利用可能であるか否かを判定する判定手段と、
前記判定手段により前記第１の認証トークンが利用可能であると判定された場合、前記実行要求に対応する前記機能を実行する実行手段と、
を有し、
前記判定手段は、
前記更新手段により前記有効性情報が更新された場合、更新後の前記有効性情報に基づいて、前記第１の認証トークンが利用可能であるか否かを判定する、情報処理システム。
【請求項２】
前記更新手段は、
前記有効性情報を更新した後、ユーザにより設定された期間が経過した場合、更新後の前記有効性情報を、該更新前の前記有効性情報に戻す、請求項１に記載の情報処理システム。
【請求項３】
前記判定手段は、
前記第１の特定手段により特定された前記第１の認証トークンの種別と、前記第２の特定手段により特定された前記機器の種別とに関連付けて前記記憶手段に記憶されている前記有効性情報が、前記第１の認証トークンが有効であることを示すものである場合、前記第１の認証トークンが利用可能であると判定する、請求項１又は２に記載の情報処理システム。
【請求項４】
前記第１の認証トークンには、該第１の認証トークンが利用可能であるか否かを示す利用許可情報が含まれ、
前記判定手段は、
前記第１の特定手段により特定された前記第１の認証トークンの種別と、前記第２の特定手段により特定された前記機器の種別とに関連付けて前記記憶手段に記憶されている前記有効性情報が無効であることを示すものである場合、前記第１の認証トークンに含まれる前記利用許可情報に基づいて、該第１の認証トークンが利用可能であるか否かを判定する、請求項１乃至３の何れか一項に記載の情報処理システム。
【請求項５】
前記判定手段は、
前記第１の認証トークンに含まれる前記利用許可情報が、該第１の認証トークンが利用可能であることを示すものである場合、前記第１の認証トークンが利用可能であると判定する、請求項４に記載の情報処理システム。
【請求項６】
前記利用許可情報は、前記機器の製造固有番号であり、
前記判定手段は、
前記第１の認証トークンに含まれる前記製造固有番号と、前記機能を実行する前記機器の製造固有番号とが一致する場合、前記第１の認証トークンが利用可能であると判定する、請求項４に記載の情報処理システム。
【請求項７】
前記第１の認証トークンには、該第１の認証トークンが有効である期限を示す第１の有効期限が含まれ、
前記判定手段は、
更に、前記第１の認証トークンに含まれる前記第１の有効期限が経過していない場合、前記第１の認証トークンが利用可能であると判定する、請求項４乃至６の何れか一項に記載の情報処理システム。
【請求項８】
ユーザの操作に応じて、前記機器に第２の認証トークンを登録する登録手段を有し、
前記判定手段は、
前記第１の特定手段により特定された前記第１の認証トークンの種別と、前記第２の特定手段により特定された前記機器の種別とに関連付けて前記記憶手段に記憶されている前記有効性情報が、前記第１の認証トークンが無効であることを示すものである場合、前記第１の認証トークンに対応する前記第２の認証トークンが前記機器に登録されているか否かを判定し、該第２の認証トークンが前記機器に登録されている場合、前記第１の認証トークンが利用可能であると判定する、請求項１乃至３の何れか一項に記載の情報処理システム。
【請求項９】
前記第２の認証トークンには、該第２の認証トークンが有効な期限を示す第２の有効期限が含まれ、
前記登録手段は、
前記第２の有効期限が経過した前記第２の認証トークンを前記機器から削除する、請求項８に記載の情報処理システム。
【請求項１０】
アプリケーションからの要求に応じて所定の機能を実行する情報処理装置であって、
前記アプリケーションが前記機能を利用するための認証に用いる第１の認証トークンの種別と、前記情報処理装置の種別と、前記第１の認証トークンが有効又は無効であることを示す有効性情報とが関連付けて記憶する記憶手段と、
ユーザの操作に応じて、前記記憶手段に記憶されている有効性情報を更新する更新手段と、
前記アプリケーションから送信される前記機能の実行要求を受信する受信手段と、
前記受信手段により前記実行要求を受信すると、該実行要求に含まれる前記第１の認証トークンの種別を特定する第１の特定手段と、
前記機能を実行する前記情報処理装置の種別を特定する第２の特定手段と、
前記第１の特定手段により特定された前記第１の認証トークンの種別と、前記第２の特定手段により特定された前記情報処理装置の種別とに関連付けて前記記憶手段に記憶されている前記有効性情報に基づいて、前記第１の認証トークンが利用可能であるか否かを判定する判定手段と、
前記判定手段により前記第１の認証トークンが利用可能であると判定された場合、前記実行要求に対応する前記機能を実行する実行手段と、
を有し、
前記判定手段は、
前記更新手段により前記有効性情報が更新された場合、更新後の前記有効性情報に基づいて、前記第１の認証トークンが利用可能であるか否かを判定する、情報処理装置。
【請求項１１】
所定の機能を実行する機器と、該機能を利用した所定のサービスを提供するアプリケーションとを有する情報処理システムであって、前記アプリケーションが前記機器の機能を利用するための認証に用いる第１の認証トークンの種別と、前記機器の種別と、前記第１の認証トークンが有効又は無効であることを示す有効性情報とが関連付けて記憶する記憶手段を有する情報処理システムに用いられる情報処理方法であって、
ユーザの操作に応じて、前記記憶手段に記憶されている有効性情報を更新する更新手順と、
前記アプリケーションから送信される前記機能の実行要求を受信する受信手順と、
前記受信手順により前記実行要求を受信すると、該実行要求に含まれる前記第１の認証トークンの種別を特定する第１の特定手順と、
前記機能を実行する前記機器の種別を特定する第２の特定手順と、
前記第１の特定手順により特定された前記第１の認証トークンの種別と、前記第２の特定手順により特定された前記機器の種別とに関連付けて前記記憶手段に記憶されている前記有効性情報に基づいて、前記第１の認証トークンが利用可能であるか否かを判定する判定手順と、
前記判定手順により前記第１の認証トークンが利用可能であると判定された場合、前記実行要求に対応する前記機能を実行する実行手順と、
を有し、
前記判定手順は、
前記更新手順により前記有効性情報が更新された場合、更新後の前記有効性情報に基づいて、前記第１の認証トークンが利用可能であるか否かを判定する、情報処理方法。
【請求項１２】
アプリケーションからの要求に応じて所定の機能を実行する情報処理装置であって、前記アプリケーションが前記機能を利用するための認証に用いる第１の認証トークンの種別と、前記情報処理装置の種別と、前記第１の認証トークンが有効又は無効であることを示す有効性情報とが関連付けて記憶する記憶手段を有する情報処理装置を、
ユーザの操作に応じて、前記記憶手段に記憶されている有効性情報を更新する更新手段、
前記アプリケーションから送信される前記機能の実行要求を受信する受信手段、
前記受信手段により前記実行要求を受信すると、該実行要求に含まれる前記第１の認証トークンの種別を特定する第１の特定手段、
前記機能を実行する前記情報処理装置の種別を特定する第２の特定手段、
前記第１の特定手段により特定された前記第１の認証トークンの種別と、前記第２の特定手段により特定された前記情報処理装置の種別とに関連付けて前記記憶手段に記憶されている前記有効性情報に基づいて、前記第１の認証トークンが利用可能であるか否かを判定する判定手段、
前記判定手段により前記第１の認証トークンが利用可能であると判定された場合、前記実行要求に対応する前記機能を実行する実行手段、
として機能させ、
前記判定手段は、
前記更新手段により前記有効性情報が更新された場合、更新後の前記有効性情報に基づいて、前記第１の認証トークンが利用可能であるか否かを判定する、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、情報処理装置、情報処理方法、及びプログラムに関する。
【背景技術】
【０００２】
近年、画像形成装置の各種機能を利用するためのＷｅｂＡＰＩ（Application Programming Interface）を公開することで、画像形成装置に搭載されるアプリケーションをサードベンダー等で開発することが行われている。このような場合、サードベンダー等には、画像形成装置の製造元ベンダー等により、開発中のアプリケーションがＷｅｂＡＰＩを利用するための認証用のトークン（開発用トークン）が発行される。これにより、サードベンダー等は、開発用トークンを用いて、開発に用いられる画像形成装置のＷｅｂＡＰＩを利用して、アプリケーションの開発を行うことができる。
【０００３】
一方で、アプリケーションの開発が完了した場合には、当該アプリケーションが、製品として用いられる画像形成装置のＷｅｂＡＰＩを利用するための認証用のトークン（製品用トークン）が発行される。
【０００４】
また、認証用のトークンを用いて、画像形成装置に搭載されたアプリケーションを利用する技術が知られている（例えば特許文献１参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ここで、製品用トークンが発行された以降は、当該製品用トークンを用いて、例えば、開発中の他のアプリケーションが、開発に用いられる画像形成装置のＷｅｂＡＰＩを利用することができる場合があった。このため、画像形成装置の製造元ベンダー等が把握していないアプリケーションがサードベンダー等により開発される可能性があった。
【０００６】
したがって、製品用トークンを用いて、開発に用いられる画像形成装置のＷｅｂＡＰＩを利用することができないようにすることが好ましい。
【０００７】
一方で、開発用トークンを用いて、製品として用いられる画像形成装置のＷｅｂＡＰＩを利用することはできない。しかしながら、アプリケーションの開発中に、開発用トークンを用いて、製品として用いられる画像形成装置のＷｅｂＡＰＩを利用したテスト等を行いたい場合がある。
【０００８】
本発明の一実施形態は、上記の点に鑑みてなされたもので、アプリケーションによるトークンの利用に柔軟に対応しつつ、不正利用を防止することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するため、本発明の一実施形態は、所定の機能を実行する機器と、該機能を利用した所定のサービスを提供するアプリケーションとを有する情報処理システムであって、前記アプリケーションが前記機器の機能を利用するための認証に用いる第１の認証トークンの種別と、前記機器の種別と、前記第１の認証トークンが有効又は無効であることを示す有効性情報とが関連付けて記憶する記憶手段と、ユーザの操作に応じて、前記記憶手段に記憶されている有効性情報を更新する更新手段と、前記アプリケーションから送信される前記機能の実行要求を受信する受信手段と、前記受信手段により前記実行要求を受信すると、該実行要求に含まれる前記第１の認証トークンの種別を特定する第１の特定手段と、前記機能を実行する前記機器の種別を特定する第２の特定手段と、前記第１の特定手段により特定された前記第１の認証トークンの種別と、前記第２の特定手段により特定された前記機器の種別とに関連付けて前記記憶手段に記憶されている前記有効性情報に基づいて、前記第１の認証トークンが利用可能であるか否かを判定する判定手段と、前記判定手段により前記第１の認証トークンが利用可能であると判定された場合、前記実行要求に対応する前記機能を実行する実行手段と、を有し、前記判定手段は、前記更新手段により前記有効性情報が更新された場合、更新後の前記有効性情報に基づいて、前記第１の認証トークンが利用可能であるか否かを判定する。
【発明の効果】
【００１０】
本発明の一実施形態によれば、アプリケーションによるトークンの利用に柔軟に対応しつつ、不正利用を防止することができる。
【図面の簡単な説明】
【００１１】
【図１】第一の実施形態に係る情報処理システムの一例のシステム構成を示す図である。
【図２】第一の実施形態に係る端末装置及びサーバ装置の一例のハードウェア構成を示す図である。
【図３】第一の実施形態に係る画像形成装置の一例のハードウェア構成を示す図である。
【図４】第一の実施形態に係る情報処理システムの一例の機能構成を示す図である。
【図５】トークンの一例を示す図である。
【図６】判定テーブルの一例を示す図である。
【図７】機器情報の一例を示す図である。
【図８】機器トークンの一例を示す図である。
【図９】開発アプリケーションの実行処理の一例を示すシーケンス図である。
【図１０】トークンの利用可否判定処理の一例を示すフローチャートである。
【図１１】機器トークンの登録処理の一例を示すフローチャートである。
【図１２】機器トークンの登録画面の一例を示す図である。
【図１３】機器トークンの登録画面の他の例を示す図である。
【図１４】機器トークンの更新又は削除処理の一例を示すフローチャートである。
【図１５】機器トークンの選択画面及び機器トークンの編集画面の一例を示す図である。
【図１６】判定テーブルの更新処理の一例を示す図である。
【図１７】判定テーブルの編集画面の一例を示す図である。
【図１８】第二の実施形態に係る情報処理システムの一例の機能構成を示す図である。
【図１９】トークンの一例を示す図である。
【図２０】トークンの利用可否判定処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下、本発明の実施形態について、図面を参照しながら詳細に説明する。
【００１３】
［第一の実施形態］
＜システム構成＞
まず、本実施形態に係る情報処理システム１のシステム構成について、図１を参照しながら説明する。図１は、第一の実施形態に係る情報処理システム１の一例のシステム構成を示す図である。
【００１４】
図１に示すように、本実施形態に係る情報処理システム１は、後述する画像形成装置３０の各種機能を利用するアプリケーションの開発を行うサードベンダー等におけるシステム環境Ｅ１と、画像形成装置３０の製造元ベンダー等におけるシステム環境Ｅ２とが含まれる。また、システム環境Ｅ１及びシステム環境Ｅ２は、インターネット等の広域的なネットワークＮ１を介して通信可能に接続されている。
【００１５】
システム環境Ｅ１は、１台以上の端末装置１０と、１台以上のサーバ装置２０とが、例えばＬＡＮ（Local Area Network）等のネットワークＮ２に接続されている。
【００１６】
端末装置１０は、サードベンダー等におけるアプリケーションの開発者等が利用するＰＣ（パーソナルコンピュータ）、スマートフォン、タブレット端末等の情報処理装置ある。開発者等は、端末装置１０を用いて、画像形成装置３０の各種機能を利用するアプリケーションの開発作業や開発中のアプリケーションの動作確認作業等を行うことができる。
【００１７】
サーバ装置２０は、サードベンダー等が開発中のアプリケーションを管理するＰＣ等の情報処理装置である。サーバ装置２０は、端末装置１０からの要求に応じて、開発中のアプリケーションを実行することで、画像形成装置３０の各種機能を利用したサービスを提供する。
【００１８】
システム環境Ｅ２は、１台以上の画像形成装置３０が、ＬＡＮ等のネットワークＮ３に接続されている。
【００１９】
画像形成装置３０は、プリント機能やスキャン機能、コピー機能、ＦＡＸ通信機能等の各種機能を有するＭＦＰ（Multifunction Peripheral）等の機器である。画像形成装置３０は、ＷｅｂＡＰＩを介して、アプリケーションから要求を受け付けることで、これらの各種機能を当該アプリケーションに提供することができる。
【００２０】
なお、システム環境Ｅ２には、例えば、プロジェクタ、電子黒板、デジタルカメラ、ゲーム機器、カーナビゲーション装置等の各種機器が含まれていても良い。すなわち、本実施形態では、これらの各種機器が、ＷｅｂＡＰＩを介して、アプリケーションから要求を受け付ける場合にも同様に適用することができる。
【００２１】
また、本実施形態では、システム環境Ｅ１に含まれるサーバ装置２０がアプリケーションを実行するものとして説明するが、これに限られない。すなわち、本実施形態は、例えば、端末装置１０にアプリケーションをインストールすること等により、当該端末装置１０上でアプリケーションが実行される場合にも同様に適用することができる。また、本実施形態は、例えば、クラウドサービスやＡＳＰ（Application Service Provider）等の外部サービス上でアプリケーションが実行される場合にも同様に適用することができる。
【００２２】
＜ハードウェア構成＞
次に、本実施形態に係る端末装置１０及びサーバ装置２０のハードウェア構成について、図２を参照しながら説明する。図２は、第一の実施形態に係る端末装置１０及びサーバ装置２０の一例のハードウェア構成を示す図である。なお、端末装置１０及びサーバ装置２０は、同様のハードウェア構成を有しているため、以降では、主に、端末装置１０のハードウェア構成について説明する。
【００２３】
図２に示すように、本実施形態に係る端末装置１０は、入力装置１０１と、表示装置１０２と、外部Ｉ／Ｆ１０３と、ＲＡＭ（Random Access Memory）１０４とを有する。また、端末装置１０は、ＲＯＭ（Read Only Memory）１０５と、ＣＰＵ（Central Processing Unit）１０６と、通信Ｉ／Ｆ１０７と、ＨＤＤ（Hard Disk Drive）１０８とを有する。これらの各ハードウェアは、それぞれがバスＢで接続されている。
【００２４】
入力装置１０１は、キーボードやマウス、タッチパネル等を含み、ユーザが各種の操作信号を入力するのに用いられる。表示装置１０２は、ディスプレイ等を含み、端末装置１０による処理結果を表示する。なお、サーバ装置２０は、入力装置１０１及び表示装置１０２の少なくとも一方を、必要なときにバスＢに接続して利用する形態であっても良い。
【００２５】
通信Ｉ／Ｆ１０７は、端末装置１０をネットワークＮ２に接続するためのインタフェースである。これにより、端末装置１０は、通信Ｉ／Ｆ１０７を介して、通信を行うことができる。
【００２６】
ＨＤＤ１０８は、プログラムやデータを格納している不揮発性の記憶装置である。ＨＤＤ１０８に格納されるプログラムやデータには、端末装置１０全体を制御する基本ソフトウェアであるＯＳ（Operating System）、ＯＳ上において各種機能を提供するプログラム等がある。
【００２７】
なお、端末装置１０は、ＨＤＤ１０８に代え、記憶媒体としてフラッシュメモリを用いるドライブ装置（例えばソリッドステートドライブ：ＳＳＤ）を利用するものであっても良い。また、ＨＤＤ１０８は、格納しているプログラムやデータを所定のファイルシステムやＤＢにより管理している。
【００２８】
外部Ｉ／Ｆ１０３は、外部装置とのインタフェースである。外部装置には、記録媒体１０３ａ等がある。これにより、端末装置１０は、外部Ｉ／Ｆ１０３を介して、記録媒体１０３ａの読み取りや書き込みを行うことができる。記録媒体１０３ａには、例えば、フレキシブルディスク、ＣＤ、ＤＶＤ、ＳＤメモリカード、ＵＳＢメモリ等がある。
【００２９】
ＲＯＭ１０５は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリ（記憶装置）である。ＲＯＭ１０５には、端末装置１０の起動時に実行されるＢＩＯＳ（Basic Input/Output System）、ＯＳ設定、及びネットワーク設定等のプログラムやデータが格納されている。ＲＡＭ１０４は、プログラムやデータを一時保持する揮発性の半導体メモリ（記憶装置）である。
【００３０】
ＣＰＵ１０６は、ＲＯＭ１０５やＨＤＤ１０８等の記憶装置からプログラムやデータをＲＡＭ１０４上に読み出し、処理を実行することで、端末装置１０全体の制御や機能を実現する演算装置である。
【００３１】
本実施形態に係る端末装置１０及びサーバ装置２０は、図２に示すハードウェア構成を有することにより、後述する各種処理を実現することができる。
【００３２】
次に、本実施形態に係る画像形成装置３０のハードウェア構成について、図３を参照しながら説明する。図３は、第一の実施形態に係る画像形成装置３０の一例のハードウェア構成を示す図である。
【００３３】
図３に示すように、本実施形態に係る画像形成装置３０は、コントローラ２０１と、操作パネル２０２と、外部Ｉ／Ｆ２０３と、通信Ｉ／Ｆ２０４と、画像処理エンジン２０５とを有する。また、コントローラ２０１は、ＣＰＵ２１１と、ＲＡＭ２１２と、ＲＯＭ２１３と、ＮＶＲＡＭ２１４と、ＨＤＤ２１５とを有する。
【００３４】
ＲＯＭ２１３は、各種プログラムやデータを格納している不揮発性の半導体メモリ（記憶装置）である。ＲＡＭ２１２は、プログラムやデータを一時保持する揮発性の半導体メモリ（記憶装置）である。ＮＶＲＡＭ２１４は、例えば設定情報等を格納している半導体メモリ（記憶装置）である。また、ＨＤＤ２１５は、各種プログラムやデータを格納している不揮発性の記憶装置である。
【００３５】
ＣＰＵ２１１は、ＲＯＭ２１３やＮＶＲＡＭ２１４、ＨＤＤ２１５等からプログラムやデータ、設定情報等をＲＡＭ２１２上に読み出し、処理を実行することで、画像形成装置３０全体の制御や機能を実現する演算装置である。
【００３６】
操作パネル２０２は、画像形成装置３０の利用者からの入力を受け付ける入力部と、表示を行う表示部とを備えている。外部Ｉ／Ｆ２０３は、外部装置とのインタフェースである。外部装置には、記録媒体２０３ａ等がある。これにより、画像形成装置３０は、外部Ｉ／Ｆ２０３を介して、記録媒体２０３ａの読み取りや書き込みを行うことができる。記録媒体２０３ａには、例えば、ＩＣカード、フレキシブルディスク、ＣＤ、ＤＶＤ、ＳＤメモリカード、ＵＳＢメモリ等がある。
【００３７】
通信Ｉ／Ｆ２０４は、画像形成装置３０をネットワークＮ３に接続するためのインタフェースである。これにより、画像形成装置３０は、通信Ｉ／Ｆ２０４を介して、通信を行うことができる。
【００３８】
画像処理エンジン２０５は、プリント機能やスキャン機能、コピー機能、ＦＡＸ通信機能等の各種機能を実現するための画像処理を行うハードウェアである。
【００３９】
画像処理エンジン２０５には、例えば、原稿を光学的に読み取って画像データを生成するスキャナ、用紙等のシート材への印刷を行うプロッタ、及びＦＡＸ通信を行うＦＡＸ通信装置等が含まれる。また、画像処理エンジン２０５には、例えば、印刷済みのシート材を仕分けるフィニッシャや原稿を自動給送するＡＤＦ（自動原稿給送装置）等が含まれていても良い。
【００４０】
本実施形態に係る画像形成装置３０は、図３に示すハードウェア構成を有することにより、後述する各種処理を実現することができる。
【００４１】
＜機能構成＞
次に、本実施形態に係る情報処理システム１の機能構成について、図４を参照しながら説明する。図４は、本実施形態に係る情報処理システム１の一例の機能構成示す図である。
【００４２】
図４に示すように、本実施形態に係る端末装置１０は、例えばＣＰＵ１０６等により実行されるブラウザ１１を有する。端末装置１０のユーザは、ブラウザ１１を用いて、後述する開発アプリケーション２１の実行（すなわち、例えば、開発アプリケーション２１の動作確認等）を行うことができる。
【００４３】
また、端末装置１０は、トークン記憶部１２を有する。トークン記憶部１２は、例えばＨＤＤ１０８を用いて実現可能である。トークン記憶部１２には、画像形成装置３０の製造元ベンダー等により発行された開発用又は製品用のトークン１２Ｄが記憶されている。端末装置１０のユーザは、ブラウザ１１を介して、トークン１２Ｄを含む要求をアプリケーションに送信することで、当該アプリケーションが画像形成装置３０の各種機能を利用したサービスの提供を受けることができる。
【００４４】
ここで、トークン記憶部１２に記憶されているトークン１２Ｄについて、図５を参照しながら説明する。図５は、トークンの一例を示す図である。
【００４５】
図５に示すように、トークン１２Ｄは、トークン値、有効期限、及び種別フラグ等を有する。トークン値には、認証に用いられる文字列等を示す値が設定される。有効期限には、トークン値を認証に用いることが可能な期限を示す値が設定される。種別フラグには、トークン１２Ｄの種別が開発用又は製品用のいずれであるかを示す値が設定される。
【００４６】
ここで、開発用のトークンとは、開発中のアプリケーション（すなわち、開発アプリケーション２１）が画像形成装置３０の各種機能を利用するための認証用のトークンである。一方、製品用のトークンとは、開発が完了したアプリケーション（すなわち、例えば、製品としてリリースされた製品アプリケーション）が画像形成装置３０の各種機能を利用するための認証用のトークンである。
【００４７】
なお、開発用のトークンには、開発アプリケーション２１の評価（例えば、運用テスト等）に用いられるトークン（いわゆる評価用トークン）も含まれる。したがって、「開発用のトークン」や「製品用のトークン」との名称は便宜上のものであり、これら名称に限定されるものではない。
【００４８】
図４に示すように、本実施形態に係るサーバ装置２０は、例えばＣＰＵ１０６等により実行される開発アプリケーション２１を有する。開発アプリケーション２１は、画像形成装置３０の各種機能を利用したサービスを提供するアプリケーションプログラムであり、サードベンダー等により開発中のものである。
【００４９】
図４に示すように、本実施形態に係る画像形成装置３０は、当該画像形成装置３０の各種機能を利用したサービスを提供するアプリケーション群３１を有する。開発アプリケーション２１の開発が完了した場合、例えば、サーバ装置２０から画像形成装置３０にダウンロードされて、製品アプリケーション２２がインストールされる。なお、アプリケーション群３１には、例えば、画像形成装置３０のコピー機能を利用したコピーサービスを提供するコピーアプリケーション、プリント機能を利用したプリントサービスを提供するプリントアプリケーション等、各種のアプリケーションが含まれる。ただし、アプリケーション群３１は、複数のアプリケーションが含まれている場合に限られず、１以上のアプリケーションが含まれていれば良い。
【００５０】
また、画像形成装置３０は、ＷｅｂＡＰＩ３２と、判定処理部３３と、機能実行部３４と、機器トークン管理部３５と、テーブル更新部３６とを有する。これら各機能部は、画像形成装置３０にインストールされた１以上のプログラムが、ＣＰＵ２１１により実行させる処理により実現される。
【００５１】
さらに、画像形成装置３０は、判定テーブル記憶部４１と、機器情報記憶部４２と、機器トークン記憶部４３とを有する。これら各記憶部は、例えばＨＤＤ２１５を用いて実現可能である。なお、これら各記憶部の少なくとも一の記憶部が、画像形成装置３０とネットワークを介して接続される記憶装置等により実現されていても良い。
【００５２】
ＷｅｂＡＰＩ３２は、開発アプリケーション２１やアプリケーション群３１に含まれる各アプリケーションが画像形成装置３０の各種機能を利用するためのＡＰＩである。開発アプリケーション２１等は、ＨＴＴＰ（Hypertext Transfer Protocol）リクエストの形式でＷｅｂＡＰＩ３２に各種の要求を行うことにより、画像形成装置３０の各種機能（例えば、スキャン機能やＦＡＸ通信機能等）を利用することができる。
【００５３】
すなわち、例えば、開発アプリケーション２１は、ブラウザ１１から受信したＨＴＴＰリクエストに含まれるトークン１２Ｄを用いて、ＷｅｂＡＰＩ３２にＨＴＴＰリクエストを送信する。これにより、後述する判定処理部３３により当該トークン１２Ｄが有効であると判定された場合、開発アプリケーション２１は、画像形成装置３０の各種機能を利用することができる。
【００５４】
判定処理部３３は、開発アプリケーション２１等からＷｅｂＡＰＩ３２を介して受信した要求に含まれるトークン１２Ｄの利用可否を判定する。ここで、判定処理部３３は、機器特定部５１と、トークン特定部５２と、有効性判定部５３と、登録判定部５４とを有する。
【００５５】
機器特定部５１は、機器情報記憶部４２から機器情報４２Ｄを取得して、当該機器情報４２Ｄから画像形成装置３０の種別を特定する。画像形成装置３０の種別には、開発アプリケーション２１の動作確認等に用いられる機器（すなわち、例えば、テスト用の機器）であることを示す「開発版」と、製品として販売やリース等される機器であることを示す「製品版」とがある。
【００５６】
トークン特定部５２は、トークン１２Ｄの種別を特定する。トークン１２Ｄの種別には、上述したように、開発アプリケーション２１が用いるトークンであることを示す「開発用」と、製品アプリケーション２２が用いるトークンであることを示す「製品用」とがある。
【００５７】
有効性判定部５３は、判定テーブル記憶部４１から判定テーブル４１Ｄの情報（値）を取得する。そして、有効性判定部５３は、取得した判定テーブル４１Ｄの情報（値）と、機器特定部５１により特定された画像形成装置３０の種別と、トークン特定部５２により特定されたトークン１２Ｄの種別とに基づいて、当該トークン１２Ｄの有効性を判定する。
【００５８】
例えば、有効性判定部５３は、開発アプリケーション２１が製品用のトークン１２Ｄを用いて、開発版の画像形成装置３０の各種機能の利用を要求した場合、当該トークン１２Ｄを無効であると判定する。また、例えば、有効性判定部５３は、開発アプリケーション２１が開発用のトークン１２Ｄを用いて、製品版の画像形成装置３０の各種機能の利用を要求した場合、当該トークン１２Ｄを無効であると判定する。
【００５９】
有効性判定部５３によりトークン１２Ｄが有効であると判定された場合、判定処理部３３は、当該トークン１２Ｄを利用可能であると判定する。
【００６０】
このように、有効性判定部５３によりトークン１２Ｄの有効性を判定することで、例えば、製品用のトークン１２Ｄを用いて、開発版の画像形成装置３０の各種機能が利用されてしまう事態を防止することができる。
【００６１】
登録判定部５４は、有効性判定部５３によりトークン１２Ｄが無効であると判定された場合、当該トークン１２Ｄに対応する機器トークン４３Ｄが機器トークン記憶部４３に記憶されているか否かを判定する。
【００６２】
ここで、機器トークン４３Ｄとは、開発用のトークン１２Ｄと同一のトークン値を有し、画像形成装置３０に登録されたトークンである。したがって、登録判定部５４は、有効性判定部５３により無効であると判定されたトークン１２Ｄと同一のトークン値を有する機器トークン４３Ｄが画像形成装置３０に登録されているか否かを判定する。
【００６３】
登録判定部５４によりトークン１２Ｄに対応する機器トークン４３Ｄが機器トークン記憶部４３に記憶されている判定された場合、判定処理部３３は、当該トークン１２Ｄを利用可能であると判定する。一方で、登録判定部５４によりトークン１２Ｄに対応する機器トークン４３Ｄが機器トークン記憶部４３に記憶されていないと判定された場合、判定処理部３３は、当該トークン１２Ｄを利用不可であると判定する。
【００６４】
このように、有効性判定部５３により無効であると判定されたトークン１２Ｄであっても、当該トークン１２Ｄに対応する機器トークン４３Ｄが画像形成装置３０に登録されている場合は、判定処理部３３は、当該トークン１２Ｄを利用可能であると判定する。このため、例えば、開発用のトークン１２Ｄを用いて、製品版の画像形成装置３０の各種機能が利用されてしまう事態を防止することができると共に、機器トークン４３Ｄを登録することで、開発用のトークン１２Ｄを用いて、製品版の画像形成装置３０の各種機能を利用することができるようになる。
【００６５】
したがって、例えば、開発アプリケーション２１の開発者等は、開発用のトークン１２Ｄを用いて、製品版の画像形成装置３０の各機能を利用したテスト（製品としてリリースした後を想定した運用テスト等）を行うことができるようになる。
【００６６】
機能実行部３４は、判定処理部３３の判定結果に応じて、画像形成装置３０の各種機能を実行する。
【００６７】
機器トークン管理部３５は、機器トークン４３Ｄの登録や更新等を行う。例えば、機器トークン管理部３５は、機器トークン４３Ｄを機器トークン記憶部４３に記憶させることで、機器トークン４３Ｄの登録を行う。また、例えば、機器トークン管理部３５は、機器トークン記憶部４３に記憶されている機器トークン４３Ｄを編集することで、機器トークン４３Ｄの更新を行う。なお、機器トークン４３Ｄの登録や更新等は、例えば、開発アプリケーション２１を開発するサードベンダー等からの依頼に応じて、画像形成装置３０の製造元のベンダー等が行う。
【００６８】
テーブル更新部３６は、判定テーブル記憶部４１に記憶されている判定テーブル４１Ｄの更新を行う。例えば、テーブル更新部３６は、判定テーブル記憶部４１に記憶されている判定テーブル４１Ｄの情報（値）を編集することで、判定テーブル４１Ｄの更新を行う。なお、判定テーブル４１Ｄの更新は、例えば、開発アプリケーション２１を開発するサードベンダー等からの依頼に応じて、画像形成装置３０の製造元のベンダー等が行う。
【００６９】
判定テーブル記憶部４１は、判定テーブル４１Ｄを記憶する。ここで、判定テーブル記憶部４１に記憶されている判定テーブル４１Ｄについて、図６を参照しながら説明する。図６は、判定テーブル４１Ｄの一例を示す図である。
【００７０】
図６に示すように、判定テーブル４１Ｄは、画像形成装置３０の種別と、トークン１２Ｄの種別との組み合わせに応じて、トークン１２Ｄの有効又は無効を示す情報（値）が関連付けられている。
【００７１】
例えば、図６に示す判定テーブル４１Ｄでは、画像形成装置３０の種別が「開発版」、トークン１２Ｄの種別が「開発用」である場合には、トークン１２Ｄが有効と判定されることを示す「有効」が関連付けられている。同様に、例えば、図６に示す判定テーブル４１Ｄでは、画像形成装置３０の種別が「製品版」、トークン１２Ｄの種別が「開発用」である場合には、トークン１２Ｄが無効と判定されることを示す「無効」が関連付けられている。
【００７２】
機器情報記憶部４２は、画像形成装置３０に関する各種の情報が含まれる機器情報４２Ｄを記憶する。ここで、機器情報記憶部４２に記憶されている機器情報４２Ｄについて、図７を参照しながら説明する。図７は、機器情報４２Ｄの一例を示す図である。
【００７３】
図７に示すように、機器情報４２Ｄは、シリアル番号、及びバージョン等を有する。シリアル番号には、画像形成装置３０を一意に識別する識別情報（例えば、製造固有番号等）を示す値が設定される。バージョンには、画像形成装置３０のバージョン番号を示す値が設定される。なお、機器情報４２Ｄには、これら以外にも、例えば、画像形成装置３０の性能情報等の各種の情報が含まれていても良い。
【００７４】
機器トークン記憶部４３は、機器トークン４３Ｄを記憶する。なお、機器トークン記憶部４３には、複数の機器トークン４３Ｄが記憶されていても良い。
【００７５】
ここで、機器トークン記憶部４３に記憶されている機器トークン４３Ｄについて、図８を参照しながら説明する。図８は、機器トークン４３Ｄの一例を示す図である。
【００７６】
図８に示すように、機器トークン４３Ｄは、トークン値、及び有効期限等を有する。トークン値には、認証に用いられる文字列等を示す値が設定される。有効期限には、トークン値を認証に用いることが可能な期限を示す値が設定される。
【００７７】
＜処理の詳細＞
次に、本実施形態に係る情報処理システム１の処理の詳細について説明する。まず、端末装置１０のユーザ（開発アプリケーション２１の開発者等）が開発アプリケーション２１を実行させることで、当該開発アプリケーション２１の動作確認をする場合について、図９を参照しながら説明する。図９は、開発アプリケーションの実行処理の一例を示すシーケンス図である。
【００７８】
まず、ユーザは、端末装置１０のブラウザ１１を操作して、開発アプリケーション２１を実行させるための操作を行う。すると、端末装置１０のブラウザ１１は、サーバ装置２０の開発アプリケーション２１にアプリの実行要求を送信する（ステップＳ９０１）。ここで、当該実行要求には、トークン１２Ｄが含まれる。なお、ブラウザ１１は、ＨＴＴＰリクエストの形式でアプリの実行要求を送信する。
【００７９】
サーバ装置２０の開発アプリケーション２１は、アプリの実行要求を受信すると、画像形成装置３０のＷｅｂＡＰＩ３２にリクエストＡＰＩを送信する（ステップＳ９０２）。ここで、リクエストＡＰＩは、画像形成装置３０の所定の機能を利用するための要求であり、トークン１２Ｄが含まれる。なお、開発アプリケーション２１は、ＨＴＴＰリクエストの形式でリクエストＡＰＩを送信する。
【００８０】
画像形成装置３０のＷｅｂＡＰＩ３２は、リクエストＡＰＩを受信すると、当該リクエストＡＰＩに含まれるトークン１２Ｄの利用可否の判定要求を判定処理部３３に送信する（ステップＳ９０３）。
【００８１】
画像形成装置３０の判定処理部３３は、利用可否の判定要求を受信すると、トークンの利用可否判定処理を実行する（ステップＳ９０４）。すなわち、判定処理部３３は、リクエストＡＰＩに含まれるトークン１２Ｄが利用可能であるか否かを判定する。なお、トークンの利用可否判定処理の詳細については後述する。
【００８２】
ここで、上記のステップＳ９０４において、トークン１２Ｄが利用可能でないと判定された場合（すなわち、トークン１２Ｄが利用不可であると判定された場合）、ステップＳ９０５〜ステップＳ９０７の処理が実行される。すなわち、まず、画像形成装置３０の判定処理部３３は、リクエストＡＰＩに含まれるトークン１２Ｄが利用不可であることを示す判定結果をＷｅｂＡＰＩ３２に送信する（ステップＳ９０５）。
【００８３】
次に、画像形成装置３０のＷｅｂＡＰＩ３２は、トークン１２Ｄが利用不可であることを示す判定結果を受信すると、トークン１２Ｄが利用不可であることを示すレスポンスＡＰＩを開発アプリケーション２１に送信する（ステップＳ９０６）。
【００８４】
最後に、サーバ装置２０の開発アプリケーション２１は、トークン１２Ｄが利用不可であることを示すレスポンスＡＰＩを受信すると、トークン１２Ｄが利用不可であることを示すアプリの実行応答をブラウザ１１に送信する（ステップＳ９０７）。これにより、端末装置１０の表示装置１０２には、ブラウザ１１により、例えば、画像形成装置３０にアクセスできないことを示す通知等が表示される。
【００８５】
一方で、上記のステップＳ９０４において、トークン１２Ｄが利用可能であると判定された場合、ステップＳ９０８〜ステップＳ９１２の処理が実行される。すなわち、まず、画像形成装置３０の判定処理部３３は、リクエストＡＰＩに対応する機能の実行要求を機能実行部３４に送信する（ステップＳ９０８）。
【００８６】
次に、画像形成装置３０の機能実行部３４は、機能の実行要求を受信すると、当該実行要求に応じた機能を実行する（ステップＳ９０９）。すなわち、機能実行部３４は、機能の実行要求に応じて、例えば、スキャン機能やコピー機能、ＦＡＸ通信機能等の画像形成装置３０の各種機能を実行する。
【００８７】
次に、画像形成装置３０の機能実行部３４は、上記のステップＳ９０９で実行された機能の実行結果をＷｅｂＡＰＩ３２に送信する（ステップＳ９１０）。なお、機能の実行結果とは、例えば、上記のステップＳ９０９でスキャン機能が実行された場合、当該スキャン機能により原稿を読み取ることで生成された画像データである。
【００８８】
次に、画像形成装置３０のＷｅｂＡＰＩ３２は、機能の実行結果を含むレスポンスＡＰＩを開発アプリケーション２１に送信する（ステップＳ９１１）。
【００８９】
最後に、サーバ装置２０の開発アプリケーション２１は、機能の実行結果を含むレスポンスＡＰＩを受信すると、例えば、当該実行結果に基づく処理を実行した上で、当該処理の処理結果を含むアプリの実行応答をブラウザ１１に送信する（ステップＳ９１２）。なお、ここで実行される処理は、開発アプリケーション２１の固有の処理であり、例えば、スキャン機能により生成された画像データの加工処理等である。
【００９０】
これにより、端末装置１０の表示装置１０２には、ブラウザ１１により、例えば、開発アプリケーション２１による処理結果等が表示される。すなわち、端末装置１０のユーザには、開発アプリケーション２１により、画像形成装置３０の各種機能を利用したサービスが提供される。
【００９１】
なお、図９では、開発アプリケーション２１が画像形成装置３０の各種機能を利用する場合について説明したが、これに限られず、例えば、製品アプリケーション２２が画像形成装置３０の各種機能を利用する場合についても同様に適用することができる。すなわち、例えば、画像形成装置３０又は端末装置１０にインストールされた製品アプリケーション２２がリクエストＡＰＩを送信する場合についても同様に適用することができる。
【００９２】
ここで、以降では、上記のステップＳ９０４におけるトークンの利用可否判定処理の詳細について、図１０を参照しながら説明する。図１０は、トークンの利用可否判定処理の一例を示すフローチャートである。
【００９３】
まず、判定処理部３３の機器特定部５１は、機器情報記憶部４２から機器情報４２Ｄを取得する（ステップＳ１００１）。
【００９４】
次に、判定処理部３３の機器特定部５１は、上記のステップＳ１００１で取得した機器情報４２Ｄから画像形成装置３０の種別を特定する（ステップＳ１００２）。
【００９５】
ここで、機器特定部５１は、機器情報４２Ｄに含まれるシリアル番号やバージョンに基づいて、画像形成装置３０の種別を特定（すなわち、当該画像形成装置３０が「開発版」又は「製品版」のいずれであるかを特定）する。
【００９６】
すなわち、機器特定部５１は、例えば、機器情報４２Ｄのシリアル番号に値が設定されていない場合や空値（ＮＵＬＬ値）が設定されている場合、画像形成装置３０を「開発版」と特定する。一方で、機器特定部５１は、例えば、機器情報４２Ｄのシリアル番号に、空値以外の値が設定されている場合、画像形成装置３０を「製品版」と特定する。
【００９７】
また、機器特定部５１は、例えば、機器情報４２Ｄのシリアル番号に設定されている値に応じて、画像形成装置３０が「開発版」又は「製品版」のいずれであるかを特定しても良い。具体的には、機器情報４２Ｄのシリアル番号に設定されている値の最上位桁に所定の文字（例えば、「Ｚ」）が指定されている場合には、画像形成装置３０を「開発版」と特定する。一方で、機器情報４２Ｄのシリアル番号に設定されている値の最上位桁に当該所定の文字以外の文字が指定されている場合には、画像形成装置３０を「製品版」と特定する。
【００９８】
また、機器特定部５１は、例えば、機器情報４２Ｄのバージョンに設定されている値に応じて、画像形成装置３０が「開発版」又は「製品版」のいずれであるかを特定しても良い。具体的には、機器情報４２Ｄのバージョンに設定されている値が１未満（すなわち、例えば、「０．１２」等）である場合には、画像形成装置３０を「開発版」と特定する。一方で、機器情報４２Ｄのバージョンに設定されている値が１以上（すなわち、例えば、「１．００」等）である場合には、画像形成装置３０を「製品版」と特定する。
【００９９】
このように、機器特定部５１は、機器情報４２Ｄに含まれるシリアル番号やバージョン等の種々の情報に基づいて、画像形成装置３０の種別を特定する。
【０１００】
次に、判定処理部３３のトークン特定部５２は、ＷｅｂＡＰＩ３２が受信したリクエストＡＰＩに含まれるトークン１２Ｄの種別を特定する（ステップＳ１００３）。すなわち、トークン特定部５２は、例えば、トークン１２Ｄの種別フラグに設定されている値が「１」の場合、トークン１２Ｄを「製品用」と特定する。一方で、トークン特定部５２は、例えば、トークン１２Ｄの種別フラグに設定されている値が「０」の場合、トークン１２Ｄを「開発用」と特定する。
【０１０１】
また、トークン特定部５２は、例えば、製品用のトークン１２Ｄにのみ含まれる所定の情報が、該当のトークン１２Ｄに含まれるか否かにより、トークン１２Ｄの種別を特定しても良い。
【０１０２】
このように、トークン特定部５２は、トークン１２Ｄに含まれる種別フラグ等の種々の情報に基づいて、トークン１２Ｄの種別を特定する。
【０１０３】
次に、判定処理部３３の有効性判定部５３は、判定テーブル記憶部４１から判定テーブル４１Ｄの情報を取得する（ステップＳ１００４）。
【０１０４】
続いて、判定処理部３３の有効性判定部５３は、上記のステップＳ１００４で取得した判定テーブル４１Ｄの情報のうち、画像形成装置３０の種別及びトークン１２Ｄの種別の組み合わせに応じた情報（値）を取得する（ステップＳ１００５）。
【０１０５】
すなわち、例えば、有効性判定部５３は、判定テーブル４１Ｄの情報（値）のうち、ステップＳ１００２で特定した画像形成装置３０の種別と、ステップＳ１００３で特定したトークン１２Ｄの種別との組み合わせに対応する値（「有効」又は「無効」）を取得する
次に、有効性判定部５３は、ステップＳ１００５で取得した値に基づいて、トークン１２Ｄが有効であるか否かを判定する（ステップＳ１００６）。すなわち、有効性判定部５３は、上記のステップＳ１００５で取得した値が「有効」である場合、トークン１２Ｄを有効であると判定する。一方、有効性判定部５３は、上記のステップＳ１００５で取得した値が「無効」である場合、トークン１２Ｄを有効でない（すなわち、無効である）と判定する。
【０１０６】
なお、上記のステップＳ１００６において、有効性判定部５３は、トークン１２Ｄに含まれる有効期限が経過している場合、当該トークン１２Ｄを無効であると判定する。
【０１０７】
ステップＳ１００６において、有効性判定部５３によりトークン１２Ｄが無効であると判定された場合、登録判定部５４は、当該トークン１２Ｄに対応する機器トークン４３Ｄが画像形成装置３０に登録されているか否かを判定する（ステップＳ１００７）。すなわち、登録判定部５４は、当該トークン１２Ｄに含まれるトークン値と同一のトークン値を有する機器トークン４３Ｄが機器トークン記憶部４３に記憶されているか否かを判定する。
【０１０８】
ステップＳ１００７において、登録判定部５４により機器トークン４３Ｄが登録されていないと判定された場合、判定処理部３３は、トークン１２Ｄを利用不可であると判定する（ステップＳ１００８）。このように、判定処理部３３は、トークン１２Ｄが無効、かつ、当該トークン１２Ｄに対応する機器トークン４３Ｄが登録されていない場合、当該トークン１２Ｄを利用不可であると判定する。
【０１０９】
一方、ステップＳ１００６において、有効性判定部５３によりトークン１２Ｄが有効であると判定された場合、判定処理部３３は、トークン１２Ｄを利用可能であると判定する。同様に、ステップＳ１００７において、登録判定部５４により機器トークン４３Ｄが登録されていると判定された場合、判定処理部３３は、トークン１２Ｄを利用可能であると判定する（ステップＳ１００９）。このように、判定処理部３３は、トークン１２Ｄが有効である場合、及びトークン１２Ｄが無効であっても、当該トークン１２Ｄに対応する機器トークン４３Ｄが登録されている場合、当該トークン１２Ｄを利用可能であると判定する。言い換えれば、判定処理部３３は、トークン１２Ｄに対応する機器トークン４３Ｄが画像形成装置３０に登録されている場合、当該トークン１２Ｄを利用可能であると判定する。
【０１１０】
以上のように、本実施形態に係る情報処理システム１では、画像形成装置３０の種別と、トークン１２Ｄの種別との組み合わせに応じて、当該トークン１２Ｄが有効性を判定する。そして、本実施形態に係る情報処理システム１では、トークン１２Ｄが有効であると判定された場合、当該トークン１２Ｄを利用可能であると判定する。
【０１１１】
また、本実施形態に係る情報処理システム１では、トークン１２Ｄが無効であると判定された場合であっても、当該トークン１２Ｄに対応する機器トークン４３Ｄが画像形成装置３０に登録されている場合は、当該トークン１２Ｄを利用可能であると判定する。
【０１１２】
このため、本実施形態に係る情報処理システム１では、例えば、開発アプリケーション２１が製品用のトークン１２Ｄを用いて、開発版の画像形成装置３０の各種機能を利用するような事態を防止できる。同様に、本実施形態に係る情報処理システム１では、例えば、開発アプリケーション２１が開発用のトークン１２Ｄを用いて、製品版の画像形成装置３０の各種機能を利用するような事態を防止できる。
【０１１３】
また、本実施形態に係る情報処理システム１では、例えば、製品アプリケーション２２が開発用のトークン１２Ｄを用いて、製品版の画像形成装置３０の各種機能を利用するような事態を防止できる。同様に、本実施形態に係る情報処理システム１では、例えば、製品アプリケーション２２が製品用のトークン１２Ｄを用いて、開発版の画像形成装置３０の各種機能を利用するような事態を防止できる。
【０１１４】
一方、本実施形態に係る情報処理システム１では、例えば、開発アプリケーション２１が開発用のトークン１２Ｄを用いて、製品版の画像形成装置３０の各種機能を利用したい場合（例えば、運用テスト等）には、機器トークン４３Ｄを登録しておけば良い。
【０１１５】
これにより、本実施形態に係る情報処理システム１によれば、開発アプリケーション２１の開発に柔軟に対応しつつ、製品用又は開発用のトークン１２Ｄの不正利用を防止することができる。
【０１１６】
次に、機器トークン４３Ｄを画像形成装置３０に登録する場合について、図１１を参照しながら説明する。図１１は、機器トークンの登録処理の一例を示すフローチャートである。
【０１１７】
まず、機器トークン管理部３５は、例えば図１２に示す機器トークンの登録画面Ｇ１１０を表示する（ステップＳ１１０１）。
【０１１８】
ここで、図１２に示す機器トークンの登録画面Ｇ１１０は、画像形成装置３０の製造元ベンダー等の担当者が機器トークン４３Ｄの登録を行うための画面であり、開発アプリケーション２１のＵＲＬ（Uniform Resource Locator）を入力するためのＵＲＬ入力欄Ｇ１１１と、機器トークン４３Ｄの登録を行うためのＯＫボタンＧ１１２とを有する。
【０１１９】
画像形成装置３０の製造元ベンダー等の担当者は、開発アプリケーション２１を開発するサードベンダー等の開発者等からの依頼に応じて、当該開発アプリケーション２１のＵＲＬをＵＲＬ入力欄Ｇ１１１に入力した上で、ＯＫボタンＧ１１２を押下する。これにより、製造元ベンダー等の担当者は、機器トークン４３Ｄの登録操作を行うことができる。なお、機器トークン管理部３５は、図１２に示す機器トークンの登録画面Ｇ１１０を、画像形成装置３０の操作パネル２０２上に表示させても良いし、画像形成装置３０とネットワークを介して接続される情報処理端末等に表示させても良い。
【０１２０】
ここで、ＵＲＬ入力欄Ｇ１１１に入力されるＵＲＬは、例えば、開発アプリケーション２１が用いる開発用のトークン１２Ｄを発行する際に使用したＵＲＬと同一のＵＲＬである。
【０１２１】
次に、機器トークン管理部３５は、機器トークン４３Ｄの登録操作を受け付けると、ＵＲＬ入力欄Ｇ１１１に入力されたＵＲＬに基づいて、機器トークン４３Ｄを作成する（ステップＳ１１０２）。すなわち、機器トークン管理部３５は、開発アプリケーション２１が用いる開発用のトークン１２Ｄとトークン値が同一の機器トークン４３Ｄを作成する。
【０１２２】
ここで、機器トークン管理部３５は、所定の日数（例えば、数日〜数週間）の間、機器トークン４３Ｄが有効となるように有効期限を設定する。これにより、例えば、開発アプリケーション２１が運用テスト等を行っている間に限り有効な機器トークン４３Ｄを画像形成装置３０に登録することができる。なお、機器トークン管理部３５は、機器トークン４３Ｄの有効期限が経過した場合、当該機器トークン４３Ｄを機器トークン記憶部４３から削除しても良い。
【０１２３】
次に、機器トークン管理部３５は、上記のステップＳ１１０２で作成した機器トークン４３Ｄを画像形成装置３０に登録する（ステップＳ１１０３）。すなわち、機器トークン管理部３５は、上記のステップＳ１１０２で作成した機器トークン４３Ｄを機器トークン記憶部４３に記憶させる。
【０１２４】
以上により、本実施形態に係る情報処理システム１は、機器トークン４３Ｄを画像形成装置３０に登録することができる。なお、本実施形態では、製造元ベンダー等の担当者が、図１２に示す機器トークンの登録画面Ｇ１１０から機器トークン４３Ｄを登録する場合について説明したが、これに限られない。例えば、画像形成装置３０の機器トークン管理部３５は、例えば図１３に示す機器トークンの登録画面Ｇ１２０を端末装置１０に表示させた上で、サードベンダー等の開発者等が機器トークン４３Ｄの登録を行っても良い。
【０１２５】
ここで、図１３に示す機器トークンの登録画面Ｇ１２０は、サードベンダー等の開発者等が機器トークン４３Ｄの登録を行うための画面であり、パスワード入力欄Ｇ１２１と、ＯＫボタンＧ１２２とを有する。
【０１２６】
開発アプリケーション２１を開発するサードベンダー等の開発者等は、製造元ベンダー等から発行されたパスワードをパスワード入力欄Ｇ１２１に入力した上で、ＯＫボタンＧ１２２を押下する。これにより、サードベンダー等の開発者等は、機器トークン４３Ｄの登録操作を行うことができる。そして、この場合、上記のステップＳ１１０２において、機器トークン管理部３５により、パスワード入力欄Ｇ１２１に入力されたパスワードに基づいて、機器トークン４３Ｄが作成される。
【０１２７】
ここで、パスワード入力欄Ｇ１２１に入力されるパスワードは、例えば、サードベンダー等からの依頼に応じて、画像形成装置３０の製造元ベンダー等により発行される。したがって、サードベンダー等の開発者等は、開発アプリケーション２１の運用テスト等を行う際には、事前に製造元ベンダー等からパスワードの発行を受けた上で、機器トークン４３Ｄの登録を行う。
【０１２８】
次に、画像形成装置３０に登録されている機器トークン４３Ｄを更新又は削除する場合について、図１４を参照しながら説明する。図１４は、機器トークンの更新処理の一例を示すフローチャートである。
【０１２９】
まず、機器トークン管理部３５は、例えば図１５（ａ）に示す機器トークンの選択画面Ｇ２１０を表示する（ステップＳ１４０１）。
【０１３０】
ここで、図１５（ａ）に示す機器トークンの選択画面Ｇ２１０は、画像形成装置３０の製造元ベンダー等の担当者が、更新又は削除する機器トークン４３Ｄを選択するための画面である。図１５に示す機器トークンの選択画面Ｇ２１０には、機器トークン記憶部４３に記憶されている機器トークン４３Ｄが一覧で表示された機器トークン一覧Ｇ２１１と、後述する機器トークンの編集画面Ｇ２２０に遷移するための編集ボタンＧ２１２とを有する。
【０１３１】
画像形成装置３０の製造元ベンダー等の担当者は、機器トークン一覧Ｇ２１１に含まれる所望の機器トークン４３Ｄに対応する編集ボタンＧ２１２を押下する。これにより、製造元ベンダー等の担当者は、更新又は削除する機器トークン４３Ｄの選択操作を行うことができる。なお、機器トークン管理部３５は、図１５（ａ）に示す機器トークンの選択画面Ｇ２１０を、画像形成装置３０の操作パネル２０２上に表示させても良いし、画像形成装置３０とネットワークを介して接続される情報処理端末等に表示させても良い。
【０１３２】
次に、機器トークン管理部３５は、機器トークン４３Ｄの選択操作を受け付けると、例えば図１５（ｂ）に示す機器トークンの編集画面Ｇ２２０を表示する（ステップＳ１４０２）。
【０１３３】
ここで、図１５（ｂ）に示す機器トークンの編集画面Ｇ２２０は、選択された機器トークン４３Ｄを更新又は削除するための画面であり、有効期限編集欄Ｇ２２１と、ＯＫボタンＧ２２２と、キャンセルボタンＧ２２３と、削除ボタンＧ２２４とを有する。
【０１３４】
画像形成装置３０の製造元ベンダー等の担当者は、有効期限編集欄Ｇ２２１に編集可能に表示された有効期限を編集した上で、ＯＫボタンＧ２２２を押下することで、選択された機器トークン４３Ｄの更新操作を行うことができる。また、画像形成装置３０の製造元ベンダー等の担当者は、削除ボタンＧ２２４を押下することで、選択された機器トークン４３Ｄの削除操作を行うことができる。なお、画像形成装置３０の製造元ベンダー等の担当者は、キャンセルボタンＧ２２３を押下することで、図１５（ａ）に示す機器トークンの選択画面Ｇ２１０に戻ることができる。
【０１３５】
次に、機器トークン管理部３５は、機器トークン４３Ｄの更新操作又は削除操作を受け付けると、機器トークン記憶部４３に記憶されている機器トークン４３Ｄのうち、選択された機器トークン４３Ｄを更新又は削除する（ステップＳ１４０３）。
【０１３６】
すなわち、機器トークン管理部３５は、機器トークン４３Ｄの更新操作を受け付けた場合、選択された機器トークン４３Ｄに含まれる有効期限を更新する。また、機器トークン管理部３５は、機器トークン４３Ｄの削除操作を受け付けた場合、選択された機器トークン４３Ｄを削除する。
【０１３７】
以上により、本実施形態に係る情報処理システム１は、画像形成装置３０に登録されている機器トークン４３Ｄを更新することができる。これにより、例えば、開発用のトークン１２Ｄの有効期限は経過している一方で、機器トークン４３Ｄの有効期限は経過していないようにすることができる。したがって、例えば、開発アプリケーション２１の運用テスト段階等において、開発アプリケーション２１が、開発版の画像形成装置３０は既に利用することができないようにする一方で、製品版の画像形成装置３０は利用可能なようにすることができる。
【０１３８】
また、本実施形態に係る情報処理システム１は、画像形成装置３０に登録されている機器トークン４３Ｄを削除することができる。これにより、例えば、開発アプリケーション２１の運用テストが中止になった場合や、運用テストが予定よりも早く終了した場合等において、画像形成装置３０に登録されている機器トークン４３Ｄを削除することができる。
【０１３９】
ここで、画像形成装置３０の製造元ベンダー等の担当者が判定テーブル４１Ｄの情報を更新することでも、開発アプリケーション２１が、開発用のトークン１２Ｄを用いて、製品版の画像形成装置３０を利用することができるようになる。したがって、以降では、判定テーブル記憶部４１に記憶されている判定テーブル４１Ｄの情報を更新する場合について、図１６を参照しながら説明する。図１６は、判定テーブルの更新処理の一例を示す図である。
【０１４０】
まず、テーブル更新部３６は、例えば図１７に示す判定テーブルの編集画面Ｇ３１０を表示する（ステップＳ１６０１）。
【０１４１】
ここで、図１７に示す判定テーブルの編集画面Ｇ３１０は、画像形成装置３０の製造元ベンダー等の担当者が判定テーブル４１Ｄの各情報の編集を行うための画面である。図１７に示す判定テーブルの編集画面Ｇ３１０は、判定テーブル４１Ｄの各情報が編集可能に表示されたテーブル編集欄Ｇ３１１と、更新後の判定テーブル４１Ｄの有効期限を設定するための有効期限欄Ｇ３１３と、ＯＫボタンＧ３１４とを有する。
【０１４２】
画像形成装置３０の製造元ベンダー等の担当者は、開発アプリケーション２１を開発するサードベンダー等の開発者等からの依頼に応じて、テーブル編集欄Ｇ３１１から判定テーブル４１Ｄの各情報を編集することができる。例えば、製造元ベンダー等の担当者は、画像形成装置３０の種別が「製品版」、トークン１２Ｄの種別が「製品用」である場合における判定テーブル４１Ｄの情報を編集したいとき、プルダウンＧ３１２から所望の値を選択すれば良い。
【０１４３】
このように、製造元ベンダー等の担当者は、テーブル編集欄Ｇ３１１において、判定テーブル４１Ｄの編集したい情報を選択した上で、プルダウンから編集後の情報（値）を選択する。そして、製造元ベンダー等の担当者は、ＯＫボタンＧ３１４を押下する。これにより、製造元ベンダー等の担当者は、判定テーブル４１Ｄの更新操作を行うことができる。
【０１４４】
なお、テーブル更新部３６は、図１７に示す判定テーブルの編集画面Ｇ３１０を、画像形成装置３０の操作パネル２０２上に表示させても良いし、画像形成装置３０とネットワークを介して接続される情報処理端末等に表示させても良い。
【０１４５】
ここで、製造元ベンダー等の担当者は、更新後の判定テーブル４１Ｄの有効期限を有効期限欄Ｇ３１３に入力しても良い。これにより、有効期限欄Ｇ３１３に入力された有効期限が経過した場合、判定テーブル４１Ｄの各情報は、テーブル更新部３６により、当該更新前の状態に更新される。すなわち、製造元ベンダー等の担当者は、有効期限欄Ｇ３１３に有効期限を入力することにより、一時的に、判定テーブル４１Ｄの各情報を更新することができる。
【０１４６】
次に、テーブル更新部３６は、判定テーブル４１Ｄの更新操作を受け付けると、判定テーブル記憶部４１に記憶されている判定テーブル４１Ｄの各情報を更新する（ステップＳ１６０２）。
【０１４７】
以上により、本実施形態に係る情報処理システム１は、判定テーブル４１Ｄの各情報を更新することができる。これにより、例えば、開発アプリケーション２１の運用テストの期間中に限り、判定テーブル記憶部４１に記憶されている判定テーブル４１Ｄの各情報を「有効」とすることもできる。したがって、開発アプリケーション２１の運用テスト等において、開発アプリケーション２１が、開発用のトークン１２Ｄを用いて、製品版の画像形成装置３０を利用することができるようになる。
【０１４８】
［第二の実施形態］
次に、第二の実施形態について説明する。第二の実施形態では、トークンが利用可能か否かを判定するための情報を含むトークン１３Ｄが、端末装置１０のトークン記憶部１２に記憶される点が第一の実施形態と異なる。なお、第二の実施形態では、第一の実施形態と同一の機能構成を有する箇所及び同様の処理を行う箇所については、第一の実施形態と同一の符号を付与し、その説明を省略する。
【０１４９】
＜機能構成＞
まず、第二の実施形態に係る情報処理システム1の機能構成について、図１８を参照しながら説明する。図１８は、第二の実施形態に係る情報処理システム１の一例の機能構成を示す図である。
【０１５０】
図１８に示すように、端末装置１０のトークン記憶部１２には、トークン１３Ｄが記憶されている。
【０１５１】
ここで、トークン記憶部１２に記憶されているトークン１３Ｄについて、図１９を参照しながら説明する。図１９は、トークンの一例を示す図である。
【０１５２】
図１９に示すように、トークン１３Ｄには、更に、利用許可情報が含まれる。利用許可情報とは、例えば、トークン１２Ｄが利用可能であることを示す「ｔｒｕｅ」、トークン１２Ｄが利用不可であることを示す「ｆａｌｓｅ」等が設定される。なお、利用許可情報には、例えば、画像形成装置３０のシリアル番号等であっても良い。
【０１５３】
なお、トークン１３Ｄは、例えば、サードベンダー等からの依頼に応じて、製造元ベンダー等から提供される。すなわち、例えば、サードベンダー等の開発者等は、トークン１２Ｄを製造元ベンダー等に送ることにより、当該トークン１２Ｄに利用許可情報が付加されたトークン１３Ｄの提供を受けることができる。
【０１５４】
図１８に示すように、画像形成装置３０の判定処理部３３は、利用許可判定部５５を有する。利用許可判定部５５は、有効性判定部５３によりトークン１２Ｄが無効であると判定された場合、当該トークン１２Ｄに含まれる利用許可情報が「ｔｒｕｅ」であるか否かを判定する。
【０１５５】
なお、利用許可情報が画像形成装置３０のシリアル番号である場合、利用許可判定部５５は、機器情報記憶部４２に記憶されている機器情報４２Ｄに含まれるシリアル番号と一致するか否かを判定すれば良い。
【０１５６】
＜処理の詳細＞
次に、本実施形態に係る情報処理システム１の処理の詳細について説明する。以降では、図９のステップＳ９０４におけるトークンの利用可否判定処理の詳細について、図２０を参照しながら説明する。図２０は、トークンの利用可否判定処理の一例を示すフローチャートである。なお、図２０のステップＳ１００１〜ステップＳ１００６の処理については、「トークン１２Ｄ」を「トークン１３Ｄ」に読み替えることで、第一の実施形態と同様となるため、その説明を省略する。
【０１５７】
ステップＳ１００６において、有効性判定部５３によりトークン１３Ｄが無効であると判定された場合、利用許可判定部５５は、当該トークン１３Ｄに含まれる利用許可情報が「ｔｒｕｅ」であるか否かを判定する（ステップＳ２００１）。
【０１５８】
なお、当該トークン１３Ｄに含まれる利用許可情報が画像形成装置３０のシリアル番号である場合、利用許可判定部５５は、機器情報記憶部４２に記憶されている機器情報４２Ｄに含まれるシリアル番号と一致するか否かを判定する。
【０１５９】
ステップＳ２００１において、利用許可判定部５５により利用許可情報が「ｔｒｕｅ」でないと判定された場合（又はシリアル番号が一致しないと判定された場合）、判定処理部３３は、トークン１３Ｄを利用不可であると判定する（ステップＳ２００２）。このように、判定処理部３３は、トークン１３Ｄが無効、かつ、当該トークン１３Ｄに含まれる利用許可情報が「ｔｒｕｅ」でない場合、当該トークン１３Ｄを利用不可であると判定する。
【０１６０】
一方、ステップＳ１００６において、有効性判定部５３によりトークン１３Ｄが有効であると判定された場合、判定処理部３３は、トークン１３Ｄを利用可能であると判定する。同様に、ステップＳ２００１において、利用許可判定部５５により利用許可情報が「ｔｒｕｅ」であると判定された場合（又はシリアル番号が一致すると判定された場合）、判定処理部３３は、トークン１３Ｄを利用可能であると判定する（ステップＳ２００３）。このように、判定処理部３３は、トークン１３Ｄが無効であっても、当該トークン１３Ｄに含まれる利用許可情報が「ｔｒｕｅ」である場合（又は画像形成装置３０のシリアル番号と一致する場合）、当該トークン１２Ｄを利用可能であると判定する。
【０１６１】
以上のように、本実施形態に係る情報処理システム１では、トークン１３Ｄが無効であると判定された場合であっても、当該トークン１３Ｄに含まれる利用許可情報に所定の情報が設定されている場合、当該トークン１３Ｄを利用可能であると判定する。これにより、本実施形態に係る情報処理システム１では、例えば、開発アプリケーション２１の運用テスト等を行いたい場合には、サードベンダー等の開発者等は、製造元ベンダー等からトークン１３Ｄを入手すれば良い。
【０１６２】
以上、本発明の実施形態について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【０１６３】
１        情報処理システム
１０      端末装置
１１      ブラウザ
１２      トークン記憶部
１２Ｄ    トークン
２０      サーバ装置
２１      開発アプリケーション
２２      製品アプリケーション
３０      画像形成装置
３１      アプリケーション群
３２      ＷｅｂＡＰＩ
３３      判定処理部
３４      機能実行部
３５      機器トークン管理部
３６      テーブル更新部
４１      判定テーブル記憶部
４１Ｄ    判定テーブル
４２      機器情報記憶部
４２Ｄ    機器情報
４３      機器トークン記憶部
４３Ｄ    機器トークン
５１      機器特定部
５２      トークン特定部
５３      有効性判定部
５４      登録判定部
【先行技術文献】
【特許文献】
【０１６４】
【特許文献１】特開２０１３−１３４６５５号公報
【図１】
2018010433.tif 000003
【図２】
2018010433.tif 000004
【図３】
2018010433.tif 000005
【図４】
2018010433.tif 000006
【図５】
2018010433.tif 000007
【図６】
2018010433.tif 000008
【図７】
2018010433.tif 000009
【図８】
2018010433.tif 000010
【図９】
2018010433.tif 000011
【図１０】
2018010433.tif 000012
【図１１】
2018010433.tif 000013
【図１２】
2018010433.tif 000014
【図１３】
2018010433.tif 000015
【図１４】
2018010433.tif 000016
【図１５】
2018010433.tif 000017
【図１６】
2018010433.tif 000018
【図１７】
2018010433.tif 000019
【図１８】
2018010433.tif 000020
【図１９】
2018010433.tif 000021
【図２０】
2018010433.tif 000022