(57)【要約】【課題】追加プラグインのインストールの際にアプリケーション領域の書き込み制限を回避することができる情報処理システム、情報処理方法およびプログラムを提供する。【解決手段】対象プラグインのインストール指令および対象プラグインを情報処理端末へ出力する指令部と、指令部から出力されたインストール指令に従って、対象プラグインをアプリケーションとして情報処理端末の記憶部にインストールするインストール部と、情報処理端末にインストールされている追加プラグインを示す追加プラグイン情報に対して、記憶部にインストールされた対象プラグインの情報を含めることによって、追加プラグイン情報を更新する更新部と、更新された追加プラグイン情報を参照することによって、記憶部にインストールされている追加プラグインのうち、特定のアプリケーションにロードさせるための対象プラグインを特定する特定部と、を有する。【選択図】図４
2018156494.tif 000002
【特許請求の範囲】
【請求項１】
対象プラグインのインストール指令および前記対象プラグインを情報処理端末へ出力する指令部と、
前記指令部から出力された前記インストール指令に従って、前記対象プラグインをアプリケーションとして前記情報処理端末の記憶部にインストールするインストール部と、
前記情報処理端末にインストールされている追加プラグインを示す追加プラグイン情報に対して、前記記憶部にインストールされた前記対象プラグインの情報を含めることによって、前記追加プラグイン情報を更新する更新部と、
更新された前記追加プラグイン情報を参照することによって、前記記憶部にインストールされている追加プラグインのうち、特定のアプリケーションにロードさせるための前記対象プラグインを特定する特定部と、
を有する情報処理システム。
【請求項２】
前記記憶部にインストールされている追加プラグインのうち、前記特定部により特定された前記対象プラグインを、前記特定のアプリケーションにロードするロード部を、さらに有する請求項１に記載の情報処理システム。
【請求項３】
前記追加プラグイン情報を参照することによって、前記対象プラグインが前記情報処理端末に既にインストールされているか否かを確認する確認部を、さらに備え、
前記指令部は、前記確認部によって、前記対象プラグインが前記情報処理端末にインストールされていないことが確認された場合、前記インストール指令および前記対象プラグインを前記情報処理端末へ出力する請求項１または２に記載の情報処理システム。
【請求項４】
前記記憶部は、ＮＡＮＤ型フラッシュメモリである請求項１〜３のいずれか一項に記載の情報処理システム。
【請求項５】
前記追加プラグイン情報は、前記情報処理端末にインストールされている追加プラグインと、該追加プラグインに関する問い合わせ先とを関連付ける請求項１〜４のいずれか一項に記載の情報処理システム。
【請求項６】
前記指令部と、前記更新部と、を有するサーバと、
前記インストール部と、前記特定部と、を有する前記情報処理端末と、
を有する請求項１〜５のいずれか一項に記載の情報処理システム。
【請求項７】
対象プラグインのインストール指令および前記対象プラグインを情報処理端末へ出力する指令ステップと、
出力した前記インストール指令に従って、前記対象プラグインをアプリケーションとして前記情報処理端末の記憶部にインストールするインストールステップと、
前記情報処理端末にインストールされている追加プラグインを示す追加プラグイン情報に対して、前記記憶部にインストールされた前記対象プラグインの情報を含めることによって、前記追加プラグイン情報を更新する更新ステップと、
更新された前記追加プラグイン情報を参照することによって、前記記憶部にインストールされている追加プラグインのうち、特定のアプリケーションにロードさせるための前記対象プラグインを特定する特定ステップと、
を有する情報処理方法。
【請求項８】
コンピュータに、
対象プラグインのインストール指令および前記対象プラグインを情報処理端末へ出力する指令ステップと、
出力した前記インストール指令に従って、前記対象プラグインをアプリケーションとして前記情報処理端末の記憶部にインストールするインストールステップと、
前記情報処理端末にインストールされている追加プラグインを示す追加プラグイン情報に対して、前記記憶部にインストールされた前記対象プラグインの情報を含めることによって、前記追加プラグイン情報を更新する更新ステップと、
更新された前記追加プラグイン情報を参照することによって、前記記憶部にインストールされている追加プラグインのうち、特定のアプリケーションにロードさせるための前記対象プラグインを特定する特定ステップと、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、情報処理方法およびプログラムに関する。
【背景技術】
【０００２】
昨今、各種機器を操作するための操作部のＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）として、Ａｎｄｒｏｉｄ（登録商標）が採用されることが増えている。それに伴って、従前はＪａｖａＶＭ（Ｊａｖａ（登録商標）  Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ：Ｊａｖａ仮想マシン）上で動作していたＪａｖａアプリケーションを、Ａｎｄｒｏｉｄ上で動作するアプリケーションに置き換える動きが活発になっている。各種機器を操作するための操作部も同様に、ＪａｖａＶＭからＡｎｄｒｏｉｄにアプリケーションのプラットフォームが移行している。これに伴い、従来のプラットフォームには存在しなかった制約が発生し、アプリケーションの設計に影響を及ぼしている。例えば、Ａｎｄｒｏｉｄにプラットフォームを移行する上で、アプリケーションの実行ファイル以外のデータを、ＮＡＮＤ型フラッシュメモリで構成された記憶装置に書き込むことが禁止されている制約がある場合、従前のＪａｖａアプリケーションで行われていたプラグインを追加導入する方法が適用できないという問題が発生する。
【０００３】
このようなプラグインを追加導入する際の当該プラグインのオブジェクトのインスタンスの生成に関する技術として、開発したテスト済みのオブジェクトを新たな製品に動的に取り込み、オブジェクトの再利用性を高めるために、テスト済みのライブラリからシングルトンのファクトリクラスのインスタンスを作成して、そのファクトリクラスから新たな製品で利用したいライブラリのオブジェクトのインスタンスを生成する技術が開示されている（特許文献１）。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に開示された技術では、アプリケーションの実行ファイルを記憶する記憶装置の記憶領域（以下、「アプリケーション領域」と称する）に追加プラグインのデータを書き込むことができないという問題を解決することができないという問題があった。
【０００５】
本発明は、上記の課題に鑑みてなされたものであって、追加プラグインのインストールの際にアプリケーション領域の書き込み制限を回避することができる情報処理システム、情報処理方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するために、本発明は、対象プラグインのインストール指令および前記対象プラグインを情報処理端末へ出力する指令部と、前記指令部から出力された前記インストール指令に従って、前記対象プラグインをアプリケーションとして前記情報処理端末の記憶部にインストールするインストール部と、前記情報処理端末にインストールされている追加プラグインを示す追加プラグイン情報に対して、前記記憶部にインストールされた前記対象プラグインの情報を含めることによって、前記追加プラグイン情報を更新する更新部と、更新された前記追加プラグイン情報を参照することによって、前記記憶部にインストールされている追加プラグインのうち、特定のアプリケーションにロードさせるための前記対象プラグインを特定する特定部と、を有することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、追加プラグインのインストールの際にアプリケーション領域の書き込み制限を回避することができる。
【図面の簡単な説明】
【０００８】
【図１】図１は、実施形態に係る情報処理システムの全体構成の一例を示す図である。
【図２】図２は、実施形態に係る画像形成装置のハードウェア構成の一例を示す図である。
【図３】図３は、実施形態に係る文書管理装置のハードウェア構成の一例を示す図である。
【図４】図４は、実施形態に係る情報処理システムの機能ブロックの構成の一例を示す図である。
【図５】図５は、実施形態の追加プラグイン情報の一例を示す図である。
【図６】図６は、実施形態に係る情報処理システムの追加プラグインのインストール処理および起動処理の一例を示すシーケンス図である。
【図７】図７は、変形例の追加プラグイン情報の一例を示す図である。
【発明を実施するための形態】
【０００９】
以下に、図１〜図７を参照しながら、本発明に係る情報処理システム、情報処理方法およびプログラムの実施形態を詳細に説明する。また、以下の実施形態によって本発明が限定されるものではなく、以下の実施形態における構成要素には、当業者が容易に想到できるもの、実質的に同一のもの、およびいわゆる均等の範囲のものが含まれる。さらに、以下の実施形態の要旨を逸脱しない範囲で構成要素の種々の省略、置換、変更および組み合わせを行うことができる。
【００１０】
（情報処理システムの全体構成）
図１は、実施形態に係る情報処理システムの全体構成の一例を示す図である。図１を参照しながら、本実施形態に係る情報処理システム１の全体構成について説明する。
【００１１】
図１に示すように、本実施形態に係る情報処理システム１は、画像形成装置１００と、文書管理装置２００と、管理者端末３００と、配信先装置４００と、を含む。画像形成装置１００、文書管理装置２００、管理者端末３００および配信先装置４００は、ネットワーク２を介して互いに通信可能な構成となっている。
【００１２】
画像形成装置１００は、例えば、ＭＦＰ（Ｍｕｌｔｉｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ：複合機）、複写機、プリンタ、ファクシミリ装置、またはスキャナ装置等の画像形成装置である。ここで、ＭＦＰとは、コピー機能、プリンタ機能、スキャナ機能、およびファクス機能のうち少なくとも２つの機能を有する複合機である。なお、以下の説明は、画像形成装置１００はＭＦＰであるものとして説明する。
【００１３】
文書管理装置２００は、登録された文書に対して、ＰＤＦ（Ｐｏｒｔａｂｌｅ  Ｄｏｃｕｍｅｎｔ  Ｆｏｒｍａｔ）変換処理またはＯＣＲ（Ｏｐｔｉｃａｌ  Ｃｈａｒａｃｔｅｒ  Ｒｅａｄｅｒ）処理等のユーザにより指定された処理を行い、登録された配信先装置（例えば、配信先装置４００）に送信するワークフロー処理を管理する装置である。また、文書管理装置２００は、画像形成装置１００の後述する操作部１１０にインストールするための追加プラグイン（対象プラグイン）のデータ（実行ファイル、クラスファイル）を予め記憶、または、新しく記憶する。
【００１４】
管理者端末３００は、文書管理装置２００を操作および制御するためのＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）等である。
【００１５】
配信先装置４００は、文書管理装置２００によって管理されるワークフロー処理において文書の配信先に登録された情報処理装置である。
【００１６】
（画像形成装置のハードウェア構成）
図２は、実施形態に係る画像形成装置のハードウェア構成の一例を示す図である。図２を参照しながら、本実施形態に係る画像形成装置１００のハードウェア構成について説明する。
【００１７】
図２に示すように、画像形成装置１００は、例えば、コピー機能、スキャナ機能、ファクス機能、およびプリンタ機能等の各種の画像形成機能を実現する本体部１３０と、ユーザの操作を受け付ける操作部１１０（情報処理端末）と、を備える。ここで、ユーザの操作を受け付けるとは、ユーザの操作に応じて入力される情報（画面の座標値を示す信号等を含む）を受け付けることを含む概念である。
【００１８】
操作部１１０および本体部１３０は、専用の通信路７００を介して、相互に通信可能に接続されている。通信路７００は、例えば、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）規格のものを用いることができるが、これに限定されるものではなく、有線か無線かを問わず任意の規格のものであってよい。本体部１３０は、操作部１１０で受け付けた操作に応じた動作を行う。また、本体部１３０は、クライアントＰＣ等の外部装置とも通信可能であり、外部装置から受信した指示に応じた動作を行うこともできる。
【００１９】
＜操作部のハードウェア構成＞
図２に示すように、操作部１１０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）５０１と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）５０２と、ＲＡＭＲａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）５０３と、記憶装置５０４と、通信Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）５０５と、外部接続Ｉ／Ｆ５０６と、接続Ｉ／Ｆ５０７と、操作パネル５０８と、を有する。
【００２０】
ＣＰＵ５０１は、操作部１１０の動作を統括的に制御する。ＣＰＵ５０１は、ＲＡＭ５０３をワークエリア（作業領域）としてＲＯＭ５０２または記憶装置５０４等に格納されたプログラムを実行することにより、操作部１１０全体の動作を制御する。例えば、ＣＰＵ５０１は、ユーザから受け付けた入力に応じた情報（画像）を操作パネル５０８に表示させる等の各種機能を実現する。
【００２１】
ＲＯＭ５０２は、例えば、操作部１１０の起動時に実行されるプログラムおよび各種の設定等を記憶する不揮発性のメモリである。ＲＡＭ５０３は、ＣＰＵ５０１のワークエリア等として用いられる揮発性のメモリである。記憶装置５０４は、例えば、ＯＳ（Ａｎｄｒｏｉｄ）およびアプリケーションの実行ファイル等を記憶する不揮発性のＮＡＮＤ型フラッシュメモリである。記憶装置５０４のアプリケーション領域は、アプリケーションの実行ファイル以外のデータを記憶することができないという書き込み制限がある。これは、ＮＡＮＤ型フラッシュメモリは、データの書き込みを繰り返すと物理的な劣化が進行するという性質があるため、当該書き込み制限が設けられている。
【００２２】
通信Ｉ／Ｆ５０５は、操作部１１０をネットワーク２に接続し、ネットワーク２に接続された外部装置との通信を行うためのネットワークインターフェースである。外部接続Ｉ／Ｆ５０６は、外部装置を接続するための、例えば、ＵＳＢ等のインターフェースである。接続Ｉ／Ｆ５０７は、通信路７００を介して、本体部１３０と通信するためのインターフェースである。
【００２３】
操作パネル５０８は、ユーザの操作に応じた各種の入力を受け付けると共に、各種の情報（例えば、受け付けた操作に応じた情報、画像形成装置１００の動作状況を示す情報、および設定情報等）を表示する、入力機能および表示機能を有する装置である。操作パネル５０８は、例えば、タッチパネル機能を搭載した液晶表示装置（ＬＣＤ：Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）で構成される。なお、操作パネル５０８は、液晶表示装置に限定されるものではなく、例えば、タッチパネル機能が搭載された有機ＥＬ（Ｅｌｅｃｔｒｏ−Ｌｕｍｉｎｅｓｃｅｎｃｅ）の表示装置で構成されていてもよい。また、操作パネル５０８は、タッチパネル機能に加えてまたはこれに代えて、ハードウェアキー等の操作部、またはランプ等の表示部を設けることもできる。
【００２４】
バス５０９は、上述の各構成要素を互いに接続し、アドレス信号、データ信号、および各種制御信号等を伝送する伝送路である。
【００２５】
＜本体部のハードウェア構成＞
図２に示すように、本体部１３０は、ＣＰＵ６０１と、ＲＯＭ６０２と、ＲＡＭ６０３と、ストレージ６０４と、通信Ｉ／Ｆ６０５と、エンジン部６０６と、接続Ｉ／Ｆ６０７と、を有する。
【００２６】
ＣＰＵ６０１は、本体部１３０の動作を統括的に制御する。ＣＰＵ６０１は、ＲＡＭ６０３をワークエリア（作業領域）としてＲＯＭ６０２またはストレージ６０４等に格納されたプログラムを実行することにより、本体部１３０全体の動作を制御する。例えば、ＣＰＵ６０１は、上述したコピー機能、スキャナ機能、ファクス機能、およびプリンタ機能等の各種機能を実現する。
【００２７】
ＲＯＭ６０２は、例えば、本体部１３０の起動時に実行されるＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）、および各種の設定等を記憶する不揮発性のメモリである。ＲＡＭ６０３は、ＣＰＵ６０１のワークエリア等として用いられる揮発性のメモリである。ストレージ６０４は、例えば、ＯＳ（例えば、Ｌｉｎｕｘ（登録商標））、アプリケーションプログラム、および各種データ等を記憶する不揮発性の記憶装置である。ストレージ６０４は、例えば、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）またはＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等で構成される。
【００２８】
通信Ｉ／Ｆ６０５は、本体部１３０をネットワーク２に接続し、ネットワーク２に接続された外部装置との通信を行うためのネットワークインターフェースである。
【００２９】
エンジン部６０６は、コピー機能、スキャナ機能、ファクス機能、およびプリンタ機能等の機能を実現させるための、汎用的な情報処理および通信以外の処理を行うハードウェアである。エンジン部６０６には、例えば、原稿の画像をスキャンして読み取るスキャナ部、用紙等のシート材への印刷を行うプロッタ部、およびファクス通信を行うファクス部等が含まれる。なお、エンジン部６０６は、印刷済みシート材を仕分けるフィニッシャ、または原稿を自動給送するＡＤＦ（Ａｕｔｏ  Ｄｏｃｕｍｅｎｔ  Ｆｅｅｄｅｒ：自動原稿給送装置）のような特定のオプションが含まれていてもよい。
【００３０】
接続Ｉ／Ｆ６０７は、通信路７００を介して、操作部１１０と通信するためのインターフェースである。
【００３１】
バス６０９は、上述の各構成要素を互いに接続し、アドレス信号、データ信号、および各種制御信号等を伝送する伝送路である。
【００３２】
なお、図２に示した画像形成装置１００のハードウェア構成は一例であり、すべての構成機器を備えている必要はなく、また、他の構成機器を備えているものとしてもよい。例えば、外部接続Ｉ／Ｆ５０６による外部装置との接続が必要ない場合、外部接続Ｉ／Ｆ５０６は備えられていない構成としてもよい。
【００３３】
（文書管理装置のハードウェア構成）
図３は、実施形態に係る文書管理装置のハードウェア構成の一例を示す図である。図３を参照しながら、本実施形態に係る文書管理装置２００のハードウェア構成について説明する。
【００３４】
図３に示すように、文書管理装置２００は、ＣＰＵ８０１と、ＲＯＭ８０２と、ＲＡＭ８０３と、補助記憶装置８０４と、通信Ｉ／Ｆ８０５と、メディアドライブ８０６と、ＤＶＤドライブ８０８と、を含む。
【００３５】
ＣＰＵ８０１は、文書管理装置２００の全体を制御する演算装置である。ＣＰＵ８０１は、ＲＡＭ８０３をワークエリア（作業領域）としてＲＯＭ８０２等に格納されたプログラムを実行することで、文書管理装置２００全体の動作を制御する。
【００３６】
補助記憶装置８０４は、例えば、ＯＳ（例えば、Ｗｉｎｄｏｗｓ（登録商標））、アプリケーションプログラム、および各種データ等を記憶する不揮発性の記憶装置である。補助記憶装置８０４は、例えば、ＨＤＤ、またはＳＳＤ等である。
【００３７】
通信Ｉ／Ｆ８０５は、ネットワーク２を利用してデータを通信するためのインターフェースである。通信Ｉ／Ｆ８０５は、例えば、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）／ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）に対応したＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）等である。
【００３８】
メディアドライブ８０６は、ＣＰＵ８０１の制御に従って、フラッシュメモリ等のメディア８０７に対するデータの読み出しおよび書き込みを制御する装置である。メディア８０７は、メディアドライブ８０６に対して着脱自在の記憶装置である。
【００３９】
ＤＶＤドライブ８０８は、着脱自在な記憶媒体の一例としてのＤＶＤ−ＲＯＭ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）８０９に対するデータの読み出しおよび書き込みを制御する装置である。なお、上述の着脱可能な記録媒体の他の例として、例えば、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＣＤ−Ｒ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ  Ｒｅｃｏｒｄａｂｌｅ）、ＤＶＤ−Ｒ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ  Ｒｅｃｏｒｄａｂｌｅ）またはブルーレイディスク等のコンピュータで読み取り可能な記録媒体であってもよい。
【００４０】
バス８１０は、上述の各構成要素を互いに接続し、アドレス信号、データ信号、および各種制御信号等を伝送する伝送路である。
【００４１】
なお、図３に示したハードウェア構成は一例であり、すべての構成機器を備えている必要はなく、また、他の構成機器を備えているものとしてもよい。例えば、ＤＶＤドライブ８０８により機能が代替できるのであれば、メディアドライブ８０６は備えられていなくてもよい。また、文書管理装置２００に対して管理者が直接、操作入力を行う場合であれば、マウスおよびキーボード等の操作装置、および、操作装置による入力結果を表示するための表示装置（ディスプレイ）が備えられているものとしてもよい。
【００４２】
（情報処理システムの機能ブロックの構成および動作）
図４は、実施形態に係る情報処理システムの機能ブロックの構成の一例を示す図である。図５は、実施形態の追加プラグイン情報の一例を示す図である。図４および図５を参照しながら、本実施形態に係る情報処理システム１の機能ブロックの構成および動作について説明する。
【００４３】
図４に示すように、文書管理装置２００は、通信部２０１と、インストール管理部２０２（確認部の一例）と、インストール指令部２０３（指令部の一例）と、起動指令部２０４と、情報管理部２０５（更新部の一例）と、記憶部２０６と、を有する。
【００４４】
通信部２０１は、ネットワーク２を介して、操作部１１０との間のデータ通信を行う機能部である。通信部２０１は、例えば、図３に示す通信Ｉ／Ｆ８０５、およびＣＰＵ８０１で動作するプログラムによって実現される。
【００４５】
インストール管理部２０２は、操作部１１０から通信部２０１を介して取得した追加プラグイン情報によって、操作部１１０にインストールしようとする追加プラグインが既にインストールされているか否かを確認する機能部である。インストール管理部２０２は、例えば、図３に示すＣＰＵ８０１で動作するプログラムによって実現される。
【００４６】
ここで、追加プラグイン情報とは、例えば、図５に示すように、操作部１１０にインストールされている追加プラグインのプラグイン名と、クラス名とを関連付ける情報である。例えば、図５に示す追加プラグイン情報では、プラグイン名「ＤＥＦＤｏｃｕｍｅｎｔ  Ｐｌｕｇｉｎ」と、クラス名「ｃｏｍ．ｄｅｆ．ＤｏｃｕｍｅｎｔＤｉｓｔｒｉｂｕｔｅｒ」とが関連付けられている。なお、図５に示す追加プラグイン情報は、テーブル形式の情報として示されているが、これに限定されるものではなく、プラグイン名と、クラス名とを関連付ける情報であればどのような形式の情報であってもよい。
【００４７】
インストール指令部２０３は、操作部１１０に対して、追加プラグインのインストール指令を出力し、通信部２０１を介して、追加プラグインのデータを送信する機能部である。インストール指令部２０３は、例えば、図３に示すＣＰＵ８０１で動作するプログラムによって実現される。
【００４８】
起動指令部２０４は、操作部１１０に対して、インストールされた追加プラグインの起動を指令するための起動指令を出力する機能部である。起動指令部２０４は、例えば、図３に示すＣＰＵ８０１で動作するプログラムによって実現される。
【００４９】
情報管理部２０５は、プロファイル情報、および、操作部１１０にインストールされた追加プラグインを示す情報を含むように追加プラグイン情報を更新して、操作部１１０に送信する機能部である。ここで、プロファイル情報とは、プロファイル名、ワークフロー情報（処理内容、および処理を行うプラグインの情報等）、および設定可能なオプションの値等を含む情報である。情報管理部２０５は、例えば、図３に示すＣＰＵ８０１で動作するプログラムによって実現される。
【００５０】
記憶部２０６は、ＯＳ、および、操作部１１０にインストールしようとする追加プラグインのデータ（実行ファイル）等を記憶する機能部である。記憶部２０６は、例えば、図３に示すＲＡＭ８０３および補助記憶装置８０４等によって実現される。
【００５１】
なお、図４に示した文書管理装置２００の各機能部（通信部２０１、インストール管理部２０２、インストール指令部２０３、起動指令部２０４および情報管理部２０５）は、図３に示すＣＰＵ８０１にプログラムを実行させること、すなわち、ソフトウェアにより実現してもよく、ＩＣ等のハードウェアにより実現してもよく、または、ソフトウェアおよびハードウェアを併用して実現してもよい。
【００５２】
図４に示すように、操作部１１０は、通信部１１１と、記憶部１１２と、プラグイン管理部１１３と、インストール部１１４と、起動部１１５と、状態管理部１１６と、特定部１１７と、ロード部１１８と、を有する。
【００５３】
通信部１１１は、ネットワーク２を介して、文書管理装置２００との間のデータ通信を行う機能部である。通信部１１１は、例えば、図２に示す通信Ｉ／Ｆ５０５、およびＣＰＵ５０１で動作するプログラムによって実現される。
【００５４】
記憶部１１２は、ＯＳ（Ａｎｄｒｏｉｄ）およびアプリケーションの実行ファイル等を記憶する機能部である。記憶部１１２は、図２に示す記憶装置５０４によって実現される。
【００５５】
プラグイン管理部１１３は、現在、記憶部１１２のアプリケーション領域にインストールされている追加プラグインを示す追加プラグイン情報を、文書管理装置２００へ送信する機能部である。また、プラグイン管理部１１３は、文書管理装置２００の情報管理部２０５から更新された追加プラグイン情報を取得する。プラグイン管理部１１３は、例えば、図２に示すＣＰＵ５０１で動作するプラットフォーム１２０によって実現される。ここで、プラットフォーム１２０は、例えば、上述したＯＳとしてのＡｎｄｒｏｉｄである。
【００５６】
インストール部１１４は、文書管理装置２００から追加プラグインのデータを取得して、追加プラグインをアプリケーションとして、記憶部１１２のアプリケーション領域にインストールする機能部である。インストール部１１４は、例えば、図２に示すＣＰＵ５０１で動作するプラットフォーム１２０によって実現される。
【００５７】
起動部１１５は、文書管理装置２００からの起動指令に従って、アプリケーション領域にインストールされた追加プラグインを起動する機能部である。起動部１１５は、例えば、図２に示すＣＰＵ５０１で動作するプラットフォーム１２０によって実現される。
【００５８】
状態管理部１１６は、文書管理装置２００から受信したプロファイル情報によって更新する機能部である。状態管理部１１６は、例えば、図２に示すＣＰＵ５０１で動作するアプリケーション１２１によって実現される。ここで、アプリケーション１２１は、後述するように、インストールされた追加プラグインがロード部１１８によってロードされるアプリケーションである。
【００５９】
特定部１１７は、プラグイン管理部１１３により取得された、更新された追加プラグイン情報を参照して、アプリケーション領域にインストールされた追加プラグインのうち、アプリケーション１２１にロードする追加プラグインを特定する機能部である。具体的には、特定部１１７は、リフレクションを用いることによって追加プラグインのクラス情報を参照し、アプリケーション１２１にロードする追加プラグインを特定する。特定部１１７は、例えば、図２に示すＣＰＵ５０１で動作するアプリケーション１２１によって実現される。
【００６０】
ロード部１１８は、特定部１１７により特定された追加プラグインをアプリケーション領域からアプリケーション１２１に対してロードする機能部である。具合的には、ロード部１１８は、特定部１１７によって特定された追加プラグインのオブジェクトのインスタンスを生成する。ロード部１１８は、例えば、図２に示すＣＰＵ５０１で動作するアプリケーション１２１によって実現される。
【００６１】
なお、プラットフォーム１２０により実現される機能部（プラグイン管理部１１３、インストール部１１４および起動部１１５）のうち少なくともいずれかは、他のアプリケーションによって実現されるものとしてもよい。また、アプリケーション１２１により実現される機能部（状態管理部１１６、特定部１１７およびロード部１１８）のうち少なくともいずれかは、プラットフォーム１２０または他のアプリケーションによって実現されるものとしてもよい。
【００６２】
また、図４に示した操作部１１０の各機能部（通信部１１１、プラグイン管理部１１３、インストール部１１４、起動部１１５、状態管理部１１６、特定部１１７およびロード部１１８）は、図２に示すＣＰＵ５０１にプログラムを実行させること、すなわち、ソフトウェアにより実現してもよく、ＩＣ等のハードウェアにより実現してもよく、または、ソフトウェアおよびハードウェアを併用して実現してもよい。
【００６３】
また、図４に示した文書管理装置２００および操作部１１０それぞれの各機能部は、機能を概念的に示したものであって、このような構成に限定されるものではない。例えば、図４で独立した機能部として図示した複数の機能部を、１つの機能部として構成してもよい。一方、図４の１つの機能部が有する機能を複数に分割し、複数の機能部として構成するものとしてもよい。
【００６４】
（情報処理システムの追加プラグインのインストール処理および起動処理）
図６は、実施形態に係る情報処理システムの追加プラグインのインストール処理および起動処理の一例を示すシーケンス図である。図６を参照しながら、本実施形態に係る情報処理システム１による追加プラグインのインストール処理および起動処理の流れについて説明する。
【００６５】
＜ステップＳ１０１＞
管理者による管理者端末３００を介した操作等によって、操作部１１０に対してインストールしようとする追加プラグインのデータが文書管理装置２００に送信される。
【００６６】
＜ステップＳ１０２＞
文書管理装置２００のインストール管理部２０２は、通信部２０１を介して、追加プラグインのデータを取得し、記憶部２０６に記憶させる。
【００６７】
＜ステップＳ１０３＞
文書管理装置２００の情報管理部２０５は、通信部２０１を介して、追加プラグインに関する情報を含むプロファイル情報を取得して機器と同期させる。
【００６８】
＜ステップＳ１０４＞
文書管理装置２００のインストール管理部２０２は、通信部２０１を介して、記憶部２０６に記憶された追加プラグインが操作部１１０にインストールされているか否かを確認するためのインストールチェック指令を、操作部１１０へ出力する。
【００６９】
＜ステップＳ１０５＞
操作部１１０のプラグイン管理部１１３は、文書管理装置２００から、通信部１１１を介して、インストールチェック指令を受け取ると、現在、記憶部１１２のアプリケーション領域にインストールされている追加プラグインを示す追加プラグイン情報を、文書管理装置２００へ送信する。
【００７０】
＜ステップＳ１０６＞
インストール管理部２０２は、操作部１１０から、通信部２０１を介して、追加プラグイン情報を受け取ると、当該追加プラグイン情報を参照して操作部１１０にインストールしようとする追加プラグインが既にインストールされているか否かを確認（チェック）する。ここでは、確認の結果、当該追加プラグインが操作部１１０にインストールされていないものとして説明する。
【００７１】
＜ステップＳ１０７＞
文書管理装置２００のインストール指令部２０３は、インストール管理部２０２により追加プラグインがインストールされていないことが確認された場合、通信部２０１を介して、追加プラグインのインストール指令を操作部１１０へ出力し、追加プラグインのデータを操作部１１０へ送信する。
【００７２】
＜ステップＳ１０８＞
操作部１１０のインストール部１１４は、文書管理装置２００から、通信部１１１を介して、インストール指令および追加プラグインのデータを受け取ると、当該追加プラグインをアプリケーションとして、記憶部１１２のアプリケーション領域にインストールする。
【００７３】
＜ステップＳ１０９＞
インストール部１１４は、追加プラグインのインストールが完了すると、通信部１１１を介して、インストール完了通知を文書管理装置２００へ出力する。
【００７４】
＜ステップＳ１１０＞
文書管理装置２００の起動指令部２０４は、操作部１１０から、通信部２０１を介して、追加プラグインのインストール完了通知を受け取ると、通信部２０１を介して、当該プラグインの起動を指令するための起動指令を操作部１１０へ出力する。
【００７５】
＜ステップＳ１１１＞
操作部１１０の起動部１１５は、文書管理装置２００から通信部１１１を介して受け取った起動指令に従って、アプリケーション領域にインストールされた追加プラグインを起動する。
【００７６】
＜ステップＳ１１２＞
起動部１１５は、追加プラグインの起動が完了すると、通信部１１１を介して、起動完了通知を文書管理装置２００へ出力する。
【００７７】
＜ステップＳ１１３＞
文書管理装置２００の情報管理部２０５は、操作部１１０から、通信部２０１を介して、起動完了通知を受け取ると、プロファイル情報、および、操作部１１０にインストールされた追加プラグインを示す情報を含むように追加プラグイン情報を更新して、通信部２０１を介して操作部１１０へ送信する。
【００７８】
＜ステップＳ１１４＞
ユーザは、操作部１１０（操作パネル５０８）を介して、アプリケーション１２１に対して所定の起動操作を行う。
【００７９】
＜ステップＳ１１５＞
操作部１１０の状態管理部１１６は、文書管理装置２００から、通信部１１１を介して受け取ったプロファイル情報によって更新する。また、プラグイン管理部１１３は、文書管理装置２００から、通信部１１１を介して、情報管理部２０５により更新された追加プラグイン情報を受け取る。
【００８０】
＜ステップＳ１１６＞
操作部１１０の特定部１１７は、プラグイン管理部１１３が受け取った更新された追加プラグイン情報を参照して、アプリケーション領域にインストールされた追加プラグインのうち、アプリケーション１２１にロードする追加プラグインを特定する。具体的には、特定部１１７は、リフレクションを用いることによって追加プラグインのクラス情報を参照し、アプリケーション１２１にロードする追加プラグインを特定する。
【００８１】
＜ステップＳ１１７＞
操作部１１０のロード部１１８は、特定部１１７により特定された追加プラグインをアプリケーション領域からアプリケーション１２１に対してロードする。具合的には、ロード部１１８は、特定部１１７によって特定された追加プラグインのオブジェクトのインスタンスを生成する。
【００８２】
以上のステップＳ１０１〜Ｓ１１７によって、追加プラグインのインストール処理および起動処理が実行される。
【００８３】
以上のように、本実施形態の情報処理システム１では、アプリケーション領域にアプリケーションの実行ファイル以外のデータを記憶することができないという書き込み制限があるところ、追加プラグインをアプリケーションとしてアプリケーション領域にインストールするものとしている。また、特定部１１７は、操作部１１０にインストールされている追加プラグインを規定する追加プラグイン情報を参照することによって、アプリケーション領域にインストールされた追加プラグインのうち、アプリケーション１２１にロードする追加プラグインを特定することができ、ロード部１１８によって当該特定された追加プラグインをアプリケーション１２１にロードされる。これによって、追加プラグインのインストールの際にアプリケーション領域の書き込み制限を回避することができる。また、追加プラグイン情報によって、操作部１１０にインストールされている追加プラグインを管理できるので、アプリケーションにロードすべき追加プラグインを特定することができる。
【００８４】
（変形例）
図７は、変形例の追加プラグイン情報の一例を示す図である。図７を参照しながら、変形例に係る追加プラグイン情報について説明する。
【００８５】
上述のように、操作部１１０にインストールされている追加プラグインを規定する追加プラグイン情報を用いることによって、文書管理装置２００のインストール管理部２０２は、操作部１１０にインストールしようとする追加プラグインが既にインストールされているか否かを確認することができる。さらに、操作部１１０の特定部１１７は、追加プラグイン情報を参照することによって、アプリケーション領域にインストールされた追加プラグインのうち、アプリケーション１２１にロードする追加プラグインを特定することができる。
【００８６】
本変形例に係る追加プラグイン情報は、図７に示すように、プラグイン名およびクラス名に対して、さらに、サードベンダフラグと、問い合わせ先とを、関連付けている。ここで、「サードベンダフラグ」は、対応する追加プラグインがサードベンダによって製作されたものであるか否かを示すフラグである。また、「問い合わせ先」は、対応する追加プラグインを開発したメーカの問い合わせ先である。例えば、図７に示す追加プラグイン情報では、プラグイン名「ＧＨＩＷａｔｓｏｎＰｌｕｇｉｎ」と、クラス名「ｃｏｍ．ｇｈｉ．ｗａｔｓｏｎ．ＡｉＣｏｒｅ」と、サードベンダフラグ「ＴＲＵＥ」と、問い合わせ先「ｓｕｐｐｏｒｔ＠ｇｈｉ．ｃｏｍ」とが関連付けられている。
【００８７】
このような追加プラグイン情報を用いることによって、追加プラグインについて障害が発生した場合に、当該追加プラグインのサードベンダ等の問い合わせ先を迅速に把握することができ、当該障害に対する措置を迅速に行うことが可能となる。
【００８８】
なお、上述の実施形態および変形例の情報処理システム１で実行されるプログラムは、ＲＯＭ等に予め組み込まれて提供するように構成してもよい。
【００８９】
また、上述の実施形態および変形例の情報処理システム１で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）等のコンピュータで読み取り可能な記録媒体に記録してコンピュータ・プログラム・プロダクトとして提供するように構成してもよい。
【００９０】
また、上述の実施形態および変形例の情報処理システム１で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、上述の実施形態および変形例の情報処理システム１で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
【００９１】
また、上述の実施形態および変形例の情報処理システム１で実行されるプログラムは、上述した各機能部を含むモジュール構成となっており、実際のハードウェアとしてはＣＰＵ（プロセッサ）がＲＯＭからプログラムを読み出して実行することにより上述の各機能部が主記憶装置上にロードされ、各機能部が主記憶装置上に生成されるようになっている。
【符号の説明】
【００９２】
１  情報処理システム
２  ネットワーク
１００  画像形成装置
１１０  操作部
１１１  通信部
１１２  記憶部
１１３  プラグイン管理部
１１４  インストール部
１１５  起動部
１１６  状態管理部
１１７  特定部
１１８  ロード部
１２０  プラットフォーム
１２１  アプリケーション
１３０  本体部
２００  文書管理装置
２０１  通信部
２０２  インストール管理部
２０３  インストール指令部
２０４  起動指令部
２０５  情報管理部
２０６  記憶部
３００  管理者端末
４００  配信先装置
５０１  ＣＰＵ
５０２  ＲＯＭ
５０３  ＲＡＭ
５０４  記憶装置
５０５  通信Ｉ／Ｆ
５０６  外部接続Ｉ／Ｆ
５０７  接続Ｉ／Ｆ
５０８  操作パネル
５０９  バス
６０１  ＣＰＵ
６０２  ＲＯＭ
６０３  ＲＡＭ
６０４  ストレージ
６０５  通信Ｉ／Ｆ
６０６  エンジン部
６０７  接続Ｉ／Ｆ
６０９  バス
７００  通信路
８０１  ＣＰＵ
８０２  ＲＯＭ
８０３  ＲＡＭ
８０４  補助記憶装置
８０５  通信Ｉ／Ｆ
８０６  メディアドライブ
８０７  メディア
８０８  ＤＶＤドライブ
８０９  ＤＶＤ−ＲＯＭ
８１０  バス
【先行技術文献】
【特許文献】
【００９３】
【特許文献１】特開２０００−３２２２６１号公報
【図１】
2018156494.tif 000003
【図２】
2018156494.tif 000004
【図３】
2018156494.tif 000005
【図４】
2018156494.tif 000006
【図５】
2018156494.tif 000007
【図６】
2018156494.tif 000008
【図７】
2018156494.tif 000009