(57)【特許請求の範囲】
【請求項１】
所定のネットワークに属する１または複数の他の情報処理装置と通信部を介して通信可能な情報処理装置において、
１つのプログラムモジュールを分割して生成された複数の分割モジュールのうちの少なくとも１つの分割モジュールを格納する第１のデータ格納部と、
前記データ格納部に格納されている前記分割モジュールと、その分割モジュールの元である前記プログラムモジュールの識別情報との対応関係を示す分割モジュール情報を格納する第２のデータ格納部と、
キーワードと前記プログラムモジュールの識別情報との対応関係を示すキーワードリストを格納する第３のデータ格納部と、
（ａ）前記他の情報処理装置から前記通信部を介してキーワードを受信すると、前記キーワードリストおよび前記分割モジュール情報を参照して、当該情報処理装置における、受信した前記キーワードに対応する前記プログラムモジュールから生成された前記分割モジュールの有無を特定して応答し、（ｂ）前記他の情報処理装置に対して前記通信部を介してキーワードを送信して前記分割モジュールの有無を問い合わせ、前記他の情報処理装置からの応答に基づいて、送信した前記キーワードに対応する前記プログラムモジュールから生成された前記分割モジュールを格納している前記他の情報処理装置を特定する分割モジュール検索処理部と、
前記分割モジュール検索処理部の検索結果に基づいて前記他の情報処理装置から前記分割モジュールを取得して、当該情報処理装置および前記他の情報処理装置の一部または全部に分散して格納されている前記複数の分割モジュールを取得し、前記プログラムモジュールを復元するプログラムモジュール復元部と、
復元された前記プログラムモジュールを実行するプログラムモジュール実行部と、
を備えることを特徴とする情報処理装置。
【請求項２】
ユーザの操作を検出する操作部と、前記ユーザに情報を表示する表示部とを備え、
前記プログラムモジュールは、そのプログラムモジュールの説明文を有し、
前記プログラムモジュール実行部は、特定した１または複数の前記プログラムモジュールの説明文を抽出し前記表示部に表示させ、その後、前記操作部により検出された情報に基づいて特定される、前記ユーザにより選択された前記プログラムモジュールを実行すること、
を特徴とする請求項１記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システムおよび情報処理装置に関するものである。
【背景技術】
【０００２】
あるデータを分割して生成された分割データを外部の複数のデータサーバに格納しておき、そのデータを使用する装置によりそれらの分割データがデータサーバから取得され元のデータが復元されて使用されるというシステムが存在する（例えば特許文献１，２参照）。
【０００３】
【特許文献１】国際公開ＷＯ０１／４６８０８号公報
【特許文献２】特開２００５−９９９１０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述のシステムの場合、ネットワーク上において、データを使用する装置とは全く異なる場所に分割データを格納するので、このシステムを実現するためには、複数のデータサーバを設置する必要があり、コストがかかる。
【０００５】
したがって、複数の機器にプログラムモジュールを新たに追加する場合、このようなシステムを使用してプログラムモジュールを配布すると、コストがかかり好ましくない。また、手作業で、複数の機器のそれぞれにプログラムモジュールをインストールすることも、多くの労力を必要とするため、現実的ではない。
【０００６】
本発明は、上記の問題に鑑みてなされたものであり、新規にサーバ機器などを追加せずに、かつ手間をかけずに、複数の機器にプログラムモジュールを新たに追加することができる情報処理システムおよびそのシステムで使用可能な情報処理装置を得ることを目的とする。
【課題を解決するための手段】
【０００７】
上記の課題を解決するために、本発明では以下のようにした。
【００１４】
本発明に係る情報処理装置は、１つのプログラムモジュールを分割して生成された複数の分割モジュールのうちの少なくとも１つの分割モジュールを格納する第１のデータ格納部と、データ格納部に格納されている分割モジュールと、その分割モジュールの元であるプログラムモジュールの識別情報との対応関係を示す分割モジュール情報を格納する第２のデータ格納部と、キーワードとプログラムモジュールの識別情報との対応関係を示すキーワードリストを格納する第３のデータ格納部と、（ａ）他の情報処理装置から通信部を介してキーワードを受信すると、キーワードリストおよび分割モジュール情報を参照して、当該情報処理装置における、受信したキーワードに対応するプログラムモジュールから生成された分割モジュールの有無を特定して応答し、（ｂ）他の情報処理装置に対して通信部を介してキーワードを送信して分割モジュールの有無を問い合わせ、他の情報処理装置からの応答に基づいて、送信したキーワードに対応するプログラムモジュールから生成された分割モジュールを格納している他の情報処理装置を特定する分割モジュール検索処理部と、分割モジュール検索処理部の検索結果に基づいて他の情報処理装置から前記分割モジュールを取得して、当該情報処理装置および他の情報処理装置の一部または全部に分散して格納されている複数の分割モジュールを取得し、プログラムモジュールを復元するプログラムモジュール復元部と、復元されたプログラムモジュールを実行するプログラムモジュール実行部とを備える。
【００１５】
これにより、プログラムモジュールを実行する複数の情報処理装置の一部または全部に分散して分割モジュールを格納するため、新規にサーバ機器などを追加せずに、かつ手間をかけずに、その複数の情報処理装置にプログラムモジュールを新たに追加することができる。さらに、どの情報処理装置にどの分割モジュールが格納されているかを示す大きなテーブルをすべての情報処理装置に配布して格納しておく必要がない。さらに、プログラムモジュールが分割モジュールとして予め分散保存されていても、ユーザが必要なプログラムモジュールを簡単に特定することができる。
【００２１】
また、本発明に係る情報処理装置は、上記の情報処理装置に加え、次のようにしてもよい。この場合、情報処理装置は、ユーザの操作を検出する操作部と、ユーザに情報を表示する表示部とを備える。また、プログラムモジュールは、そのプログラムモジュールの説明文を有する。そして、プログラムモジュール実行部は、特定した１または複数のプログラムモジュールの説明文を抽出し表示部に表示させ、その後、操作部により検出された情報に基づいて特定される、ユーザにより選択されたプログラムモジュールを実行する。
【００２２】
これにより、ユーザが必要なプログラムモジュールを実行することができる。
【発明の効果】
【００２３】
本発明によれば、新規にサーバ機器などを追加せずに、かつ手間をかけずに、複数の情報処理装置にプログラムモジュールを新たに追加することができる。
【発明を実施するための最良の形態】
【００２４】
以下、図に基づいて本発明の実施の形態を説明する。
【００２５】
実施の形態１．
図１は、本発明の実施の形態１に係る情報処理システムの構成を示すブロック図である。図１において、この情報処理システムは、複数の画像形成装置１を有する。複数の画像形成装置１は、ＬＡＮ２に接続され、互いに通信可能である。また、画像形成装置１は、印刷装置、複写機、ファクシミリ通信機などであって、情報処理装置の一例である。そのＬＡＮ２には、１または複数の端末装置３が接続されている。端末装置３は、画像形成装置１に対して各種命令を送信して各種処理を実行させる装置である。
【００２６】
図２は、図１における画像形成装置１の構成を示すブロック図である。図２に示すように、画像形成装置１は、通信部１１、画像読取部１２、印刷部１３、描画処理部１４、データ格納部１５、コンピュータ１６、表示部１７および操作部１８を有する。
【００２７】
通信部１１は、ＬＡＮ２を介して他の機器とデータ通信を行う回路または装置である。通信部１１としては、周辺機器インタフェース、ネットワークインタフェースなどが使用される。
【００２８】
画像読取部１２は、自動原稿給紙装置により給紙されてきた原稿またはユーザにより載置された原稿の片面または両面に対して光を照射しその反射光等を受光して原稿の画像を読み取り画像データとして出力する装置である。また、印刷部１３は、描画データに基づき、所定の媒体に画像を印刷する。印刷部１３には、印刷機構、およびその印刷機構を制御するための制御信号を描画データから生成する処理部が含まれる。また、描画処理部１４は、画像読取部１２により読み取られた画像データに基づき生成されたり、端末装置３から通信部１１により受信されたり印刷データに基づき、画像を形成する描画データを生成する処理部である。
【００２９】
データ格納部１５は、データおよびプログラムを格納する装置である。データ格納部１５としては、ハードディスクドライブ、ディスクアレイ、その他の記録媒体が使用される。データ格納部１５は、コンピュータ１６により実行されるデータ処理プログラム、このシステムにより復元されるプログラムモジュール１５ａ、分割モジュール１５ｂ、分割モジュールテーブル１５ｃおよびキーワードテーブル１５ｄが格納される。
【００３０】
プログラムモジュール１５ａは、所定の処理を記述された、プログラムモジュール実行部１６ｂが実行可能な形態のプログラムである。例えば、プログラムモジュール実行部１６ｂがＪＡＶＡ（登録商標）仮想マシンである場合には、プログラムモジュール１５ａは、ＪＡＶＡ（登録商標）のバイトコードとされる。また、プログラムモジュール１５ａがライブラリ、実行形式ファイル、オブジェクトなどである場合、プログラムモジュール実行部１６ｂは、そのプログラムモジュール１５ａを呼び出すプログラムにより実現される処理部とされる。
【００３１】
分割モジュール１５ｂは、プログラムモジュール１５ａを分割して生成された断片データである。そのときの分割数は、所定の数としてもよいし、そのときに、分割モジュール１５ｂを格納可能な画像形成装置１の台数としてもよい。また、分割数は、プログラムモジュール１５ａのサイズに基づいて決定してもよい。また、分割数に所定の上限値を設定しておいてもよい。１つのプログラムモジュール１５を分割して生成された分割モジュール１５ｂは、ほぼ同一サイズとしてもよいし、格納する画像形成装置１に応じて異ならせてもよい。
【００３２】
分割モジュールテーブル１５ｃは、この画像形成装置１に格納されている各分割モジュールについて、元のプログラムモジュール１５ａを特定するための識別情報であるプログラムモジュールＩＤ、一連の分割モジュール１５ｂのうちの何番目の分割モジュール１５ｂであるかを示す保存分割番号、および最大分割番号（つまり、分割数）を互いに関連付けた状態で有する。
【００３３】
キーワードテーブル１５ｄは、複数のキーワードのそれぞれとプログラムモジュールＩＤとを互いに関連付けているキーワードリストを有する。
【００３４】
コンピュータ１６は、図示せぬＣＰＵ、ＲＯＭ、ＲＡＭなどを備える演算処理装置である。コンピュータ１６では、ＣＰＵが、ＲＯＭ、データ格納部１５などに格納されているデータ処理プログラムを実行する。これにより、各種処理部が実現される。この実施の形態１では、キーワード検索処理部１６ａ、プログラムモジュール復元部１６ｂおよびプログラムモジュール実行部１６ｃが実現される。なお、このデータ処理プログラムは、ＣＤ−ＲＯＭなどの可搬性のある記録媒体に格納されていてもよい。また、コンピュータ１６では、プログラムモジュール実行部１６ｃによりプログラムモジュールが実行される。
【００３５】
キーワード検索処理部１６ａは、ユーザにより指定された複数のキーワードに対応するプログラムモジュール１５ａをキーワードテーブル１５ｄを参照して特定し、そのプログラムモジュール１５ａの分割モジュール１５ｂがこの画像形成装置１のデータ格納部１５に格納されているか否かを分割モジュールテーブル１５ｃを参照して判定する処理部である。さらに、キーワード検索処理部１６ａは、他の画像形成装置１および端末装置３へキーワードを送信してそのキーワードに該当する一連の分割モジュール１５ｂを格納する画像形成装置１および端末装置３を特定する機能、並びに他の画像形成装置１からキーワードを受信した場合には、そのキーワードに対する分割モジュールの有無を示す判定結果を返信する機能を有する。
【００３６】
プログラムモジュール復元部１６ｂは、ＬＡＮ２に接続されている画像形成装置１の一部または全部に分散して格納されている複数の分割モジュール１５ｂを取得し、プログラムモジュール１５ａを復元する処理部である。
【００３７】
プログラムモジュール実行部１６ｃは、復元されたプログラムモジュール１５ａを実行する処理部である。
【００３８】
また、表示部１７は、ユーザに情報を表示する装置である。表示部１７としては液晶ディスクプレイなどが使用される。操作部１８は、ユーザの操作を検出し検出した操作に応じた電気信号を出力する装置である。操作部１８としては、キースイッチ、表示部１７の画面上に設置される透明なタッチパネルなどが使用される。表示部１７および操作部１８は、例えば、装置１の筐体上に操作パネルとして設置される。
【００３９】
なお、データ格納部１５は、データ格納部、第２のデータ格納部および第３のデータ格納部の一例である。ただし、分割モジュール１５ｂ、分割モジュール情報を含む分割モジュールテーブル１５ｃ、およびキーワードリストを含むキーワードテーブル１５ｄは、それぞれ別のデータ格納部に格納されていてもよい。また、キーワード検索処理部１６ａは、分割モジュール検索処理部および通信部の一例である。
【００４０】
図３は、図１における端末装置３の構成を示すブロック図である。図３に示すように、端末装置３は、通信部３１、表示部３２、操作部３３、データ格納部３４、およびコンピュータ３５を有する情報処理装置である。
【００４１】
通信部３１は、ＬＡＮ２を介して他の機器とデータ通信を行う回路または装置である。通信部３１としては、周辺機器インタフェース、ネットワークインタフェースなどが使用される。表示部３２は、ユーザに情報を表示する装置である。表示部３２としては、ＣＲＴディスプレイ、液晶ディスクプレイなどが使用される。操作部３３は、ユーザの操作を検出し検出した操作に応じた電気信号を出力する装置である。操作部３３としては、キーボード、マウス、タッチパネルなどが使用される。
【００４２】
データ格納部３４は、データおよびプログラムを格納する装置である。データ格納部３４としては、ハードディスクドライブ、ディスクアレイ、その他の記録媒体が使用される。データ格納部３４は、コンピュータ３５により実行されるデータ処理プログラム、分割モジュール３４ａ、分割モジュールテーブル３４ｂおよびキーワードテーブル３４ｃが格納される。
【００４３】
分割モジュール３４ａ、分割モジュールテーブル３４ｂおよびキーワードテーブル３４ｃは、画像形成装置１の分割モジュール１５ｂ、分割モジュールテーブル１５ｃおよびキーワードテーブル１５ｄと同様のものである。
【００４４】
コンピュータ３５は、図示せぬＣＰＵ、ＲＯＭ、ＲＡＭなどを備える演算処理装置である。コンピュータ３５では、ＣＰＵが、ＲＯＭ、データ格納部３４などに格納されているデータ処理プログラムを実行する。これにより、各種処理部が実現される。この実施の形態１では、キーワード検索処理部３５ａおよびＬＡＮ２を介して画像形成装置１を制御する機器制御部３５ｂが実現される。なお、このデータ処理プログラムは、ＣＤ−ＲＯＭなどの可搬性のある記録媒体に格納されていてもよい。
【００４５】
キーワード検索処理部３５ａは、ユーザにより指定された複数のキーワードに対応するプログラムモジュール１５ａをキーワードテーブル３４ｃを参照して特定し、そのプログラムモジュール１５ａの分割モジュール３４ａがこの端末装置３のデータ格納部３４に格納されているか否かを分割モジュールテーブル３４ｂを参照して判定する処理部である。さらに、キーワード検索処理部３５ａは、画像形成装置１からキーワードを受信した場合には、そのキーワードに対する分割モジュールの有無を示す判定結果を返信する機能を有する。なお、キーワードテーブル１５ｄ，３４ｃは、すべての装置１，３において同一のものである。
【００４６】
図４は、図２および図３におけるキーワードテーブル１５ｄ，３４ｃの一例を示す図である。図４に示すように、各キーワードテーブル１５ｄ，３４ｃでは、各キーワード１語に対してプログラムモジュールＩＤが対応付けられている。図４に示すキーワードテーブル１５ｄ，３４ｃでは、「スキャン」，「ＰＤＦ」，「画像」という３つのキーワードに対してそれぞれプログラムモジュールＩＤ「１」が対応付けられている。また、キーワードテーブル１５ｄ，３４ｃでは、「スキャン」，「ＧＩＦ」，「画像」という３つのキーワードに対してそれぞれプログラムモジュールＩＤ「２」が対応付けられている。このため、「スキャン」，「ＰＤＦ」，「画像」という３つのキーワードで検索が実行されると、プログラムモジュールＩＤ「１」のプログラムモジュールが発見され、「スキャン」，「画像」という２つのキーワードで検索が実行されると、プログラムモジュールＩＤ「１」および「２」のプログラムモジュールが発見される。
【００４７】
図５は、図２および図３における分割モジュールテーブル１５ｃ，３４ｂの一例を示す図である。分割モジュールテーブル１５ｃ，３４ｂには、その分割モジュールテーブル１５ｃ，３４ｂが格納されている画像形成装置１または端末装置３に格納されている分割モジュール１５ｂ，３４ａの情報が含まれている。
【００４８】
分割モジュールテーブル１５ｃ，３４ｂでは、各分割モジュールについて、プログラムモジュールＩＤ、保存分割番号、最大分割番号（つまり、分割数）、および分割モジュール１５ｂ，３４ａの識別情報（ファイル名など）が互いに関連付けられて登録されている。
【００４９】
図５に示す分割モジュールテーブル１５ｃ，３４ｂによれば、例えば、この画像形成装置１または端末装置３には、プログラムモジュールＩＤ「１」のプログラムモジュール１５ａについての１０個の分割モジュール１５ｂ，３４ａのうちの第１番の分割モジュール１５ｂ，３４ａが格納されている。
【００５０】
図６は、図１におけるプログラムモジュール１５ａの構造を示す図である。プログラムモジュール１５ａは、ヘッダと本体を有する。ヘッダには、そのプログラムモジュールの説明文が格納されており、本体には、プログラムコードが格納されている。
【００５１】
次に、上記システムにおいてプログラムモジュール１５ａを復元する処理について説明する。
【００５２】
図７は、図１に示すシステムにおいてプログラムモジュール１５ａを復元し実行する画像形成装置１の動作について説明するフローチャートである。図８は、図１に示すシステムにおいて分割モジュール１５ｂ，３４ａを他の画像形成装置１に送信する画像形成装置１または端末装置３の動作について説明するフローチャートである。
【００５３】
ある画像形成装置１の操作部１８を操作してユーザが１または複数のキーワードを入力すると、キーワード検索処理部１６ａは、その１または複数のキーワードを検出する（ステップＳ１）。キーワード検索処理部１６ａは、自己のキーワードテーブル１５ｄを参照して、その１または複数のキーワードに該当する１または複数のプログラムモジュールＩＤを特定する。
【００５４】
また、キーワード検索処理部１６ａは、検出した１または複数のキーワードを、問い合わせとともに、通信部１１を介して、ＬＡＮ２に接続されているすべての装置１，３に対してブロードキャストで送信する（ステップＳ２）。ブロードキャストされた情報は、送信元の装置１の属するネットワークグループ（サブネット）に属する装置１，３により受信可能である。
【００５５】
そして、図８に示すように、送信した装置１以外の装置１，３のキーワード検索処理部１６ａ，３５ａは、通信部１１，３１を介して、その問い合わせおよび１または複数のキーワードを受信すると（ステップＳ１１）、自己のキーワードテーブル１５ｄを参照して、該当する１または複数のプログラムモジュールＩＤを特定する（ステップＳ１２）。そして、そのキーワード検索処理部１６ａ，３５ａは、分割モジュールテーブル１５ｃ，３４ｂを参照して、そのプログラムモジュールＩＤに関連付けられている分割モジュール１５ｂ，３４ａがその装置１，３に格納されているか否かを判定する（ステップＳ１３）。受信した１または複数のキーワードに該当する分割モジュールが存在する場合には、キーワード検索処理部１６ａ，３５ａは、その分割モジュール１５ｂ，３４ａについての分割モジュール情報を、１または複数のキーワードの送信元の画像形成装置１へ、応答として送信する（ステップＳ１４）。その分割モジュール情報には、その分割モジュールについてのプログラムモジュールＩＤ、最大分割番号、保存分割番号および送信元アドレス（当該装置１，３のＩＰアドレス、ＵＲＬなど）が含まれる。なお、受信したキーワードに該当する分割モジュール１５ｂ，３４ａが格納されていない場合には、その旨の応答が送信される。
【００５６】
このようにして、ブロードキャストで送信された問い合わせを受信した複数の装置１，３からの応答が、問い合わせを送信した装置１へ送信されてくる。
【００５７】
図７に戻り、１または複数のキーワードとともに問い合わせを送信した装置１では、その応答（つまり、分割モジュール情報）が通信部１１を介してキーワード検索処理部１６ａにより受信される（ステップＳ３）。
【００５８】
そして、そのキーワード検索処理部１６ａは、各プログラムモジュール１５ａについて、プログラムモジュール１５ａを復元するために必要なすべての分割モジュール１５ｂ，３４ａを取得できる場合のみ、ステップＳ１において特定されたプログラムモジュールＩＤのプログラムモジュール１５ａの復元に必要な情報を、分割モジュール所在リストとして生成する（ステップＳ４）。このリストには、プログラムモジュールＩＤの分割数、各分割番号の分割モジュール１５ｂ，３４ａが格納されている装置１，３のアドレスが含まれている。このリストは、プログラムモジュール復元部１６ｂに供給される。
【００５９】
プログラムモジュール復元部１６ｂは、そのリストを参照して、各分割番号の分割モジュール１５ｂ，３４ａの送信要求を、通信部１１を介して、対応する装置１，３のアドレスへ送信し、通信部１１を介して、その装置１，３から送信されてきた分割モジュール１５ｂ，３４ａを受信する（ステップＳ５）。このとき、図８に示すように、分割モジュール１５ｂ，３４ａが格納されている装置１，３は、その送信要求を受信すると、要求された分割モジュール１５ｂ，３４ａを送信する（ステップＳ１５）。なお、各プログラムモジュール１５ａについて、プログラムモジュール１５ａを復元するために必要なすべての分割モジュール１５ｂ，３４ａを取得できる場合のみ、分割モジュール１５ｂ，３４ａの取得が実行される。
【００６０】
プログラムモジュール復元部１６ｂは、プログラムモジュール１５ａの復元に必要な分割モジュール１５ｂ，３４ａをすべて受信すると、受信した分割モジュール１５ｂ，３４ａを結合して元のプログラムモジュール１５ａを生成する（ステップＳ６）。
【００６１】
そして、プログラムモジュール復元部１６ｂは、１または複数のキーワードで発見された１または複数のプログラムモジュール１５ａを生成すると、各プログラムモジュール１５ａから説明文を抽出する（ステップＳ７）。
【００６２】
そして、プログラムモジュール復元部１６ｂは、各プログラムモジュール１５の名称および説明文を列挙したリストデータを生成し、表示部１７に表示させる。図９は、図２における表示部１７に表示される選択画面の一例を示す図である。例えば「スキャン」，「画像」という２つのキーワードで、「ＰＤＦスキャン」および「ＧＩＦスキャン」という２つのプログラムモジュール１５ａが発見された場合には、図９に示すような選択画面が表示される。そして、ユーザが操作部１８を操作することにより、選択画面に表示された１または複数のプログラムモジュール１５が選択されると、プログラムモジュール復元部１６ｂは、操作部１８により検出されたその操作に基づき、実行すべきプログラムモジュール１５ａを選択する（ステップＳ８）。
【００６３】
プログラムモジュール復元部１６ｂによりプログラムモジュール１５ａが選択されると、プログラムモジュール実行部１６ｃは、そのプログラムモジュール１５ａを実行し、そのプログラムモジュール１５ａに記述されている処理を行う（ステップＳ９）。
【００６４】
このようにして、プログラムモジュール１５ａが復元され実行される。図１０は、実施の形態１におけるプログラムモジュール１５ａ復元時の分割モジュール１５ｂの流れの一例を説明する図である。図１０に示すように、復元すべきプログラムモジュール１５ａに対応する１セットの分割モジュール１５ｂが収集され、その１セットの分割モジュール１５ｂからプログラムモジュール１５ａが復元される。
【００６５】
以上のように、上記実施の形態１によれば、複数の画像形成装置１の一部または全部のそれぞれは、データ格納部１５と、プログラムモジュール復元部１６ｂと、プログラムモジュール実行部１６ｃとを備える。データ格納部１５は、１つのプログラムモジュール１５ａを分割して生成された複数の分割モジュール１５ｂのうちの少なくとも１つの分割モジュール１５ｂを格納する。プログラムモジュール復元部１６ｂは、複数の装置１，３に分散して格納されている分割モジュール１５ｂ，３４ａを取得し、プログラムモジュール１５ａを復元する。プログラムモジュール実行部１６ｃは、復元されたプログラムモジュール１５ａを実行する。
【００６６】
これにより、プログラムモジュール１５ａを実行する画像形成装置１を含む装置群に分散して分割モジュール１５ｂ，３４ａを格納するため、新規にサーバ機器などを追加せずに、かつ手間をかけずに、複数の画像形成装置１にプログラムモジュール１５ａを新たに追加することができる。
【００６７】
実施の形態２．
本発明の実施の形態２では、実施の形態１におけるシステムにおいて、プログラムモジュール１５ａを分割し分割モジュール１５ｂ，３４ａとして分散保存するものである。
【００６８】
実施の形態２では、各装置１，３のコンピュータ１６，３５において、図示せぬ分割モジュール格納処理部が実現される。分割モジュール格納処理部は、あるプログラムモジュール１５ａを分割し、他の装置１，３の分割モジュール格納処理部と連携して、複数の装置１，３に分散保存する処理部である。
【００６９】
なお、実施の形態２に係る情報処理システムのその他の構成については実施の形態１のものと同様であるので、その説明を省略する。
【００７０】
次に、上記システムにおいてプログラムモジュール１５ａを複数の分割モジュール１５ｂ，３４ａとして分散保存する処理について説明する。
【００７１】
図１１は、実施の形態２において、プログラムモジュール１５ａを複数の分割モジュール１５ｂ，３４ａに分割し、他の装置１，３へ分散保存させる装置１，３の動作について説明するフローチャートである。図１２は、実施の形態２において、分割モジュール１５ｂ，３４ａを格納する装置１，３の動作について説明するフローチャートである。
【００７２】
ある装置１，３においてまず追加すべきプログラムモジュール１５ａが格納され、このプログラムモジュール１５ａに関連付けられる１または複数のキーワードが操作部１８，３３を介して入力される。そして、その装置１，３の分割モジュール格納処理部は、分割モジュール保存要求を、通信部１１，３１を介して、ＬＡＮ２に接続されているすべての装置１，３に対してブロードキャストで送信する（ステップＳ２１）。そして、図１２に示すように、他の装置１，３の分割モジュール格納処理部は、分割モジュール保存要求を受信すると（ステップＳ３１）、保存が可能である場合には承認を示す応答を、保存が可能ではない場合には却下を示す応答を、通信部１１，３１を介して返信する（ステップＳ３２）。承認を示す応答には、送信元アドレスが含まれる。
【００７３】
図１１に戻り、そして、分割モジュール保存要求を送信した装置１，３の分割モジュール格納処理部は、通信部１１，３１を介して、その応答を受信する（ステップＳ２２）。
【００７４】
分割モジュール保存要求の送信後、所定の時間が経過した時点で、装置１，３の分割モジュール格納処理部は、承認を示す応答を送信してきた装置１，３の数を特定する（ステップＳ２３）。
【００７５】
そして、その装置１，３の分割モジュール格納処理部は、その数を分割数として、追加すべきプログラムモジュール１５ａを分割する（ステップＳ２４）。これにより、その分割数の分割モジュール１５ｂ，３４ａが生成される。ただし、分割モジュール保存要求を送信した装置１，３が分割モジュール１５ｂ，３４ａを格納可能である場合には、分割数を１だけ増加する。
【００７６】
分割モジュール１５ｂ，３４ａを生成すると、その装置１，３の分割モジュール格納処理部は、分割モジュール１５ｂ，３４ａおよび分割モジュール情報を、承認を示す応答を送信してきた装置１，３へ送信する（ステップＳ２５）。この分割モジュール情報には、このプログラムモジュール１５ａのプログラムモジュールＩＤ、関連付けられる１または複数のキーワード、最大分割番号および保存分割番号が含まれる。
【００７７】
そして、その装置１，３の分割モジュール格納処理部は、キーワードテーブル１５ｄ，３４ｃを編集して、そのプログラムモジュール１５ａのプログラムモジュールＩＤおよびキーワードを登録する（ステップＳ２６）。さらに、その装置１，３の分割モジュール格納処理部は、その装置１，３が分割モジュール１５ｂ，３４ａを格納可能である場合には、その分割モジュール１５ｂ，３４ａをデータ格納部１５，３４に格納し、分割モジュールテーブル１５ｃ，３４ｂを編集して、その分割モジュールの分割モジュール情報を登録する（ステップＳ２７）。
【００７８】
一方、承認の応答をした装置１，３は、図１２に示すように、送信された分割モジュール１５ｂ，３４ａおよび分割モジュール情報を受信すると（ステップＳ３３）、その装置１，３の分割モジュール格納処理部は、分割モジュール情報に基づき、キーワードテーブル１５ｄ，３４ｃを編集して、そのプログラムモジュール１５ａのプログラムモジュールＩＤおよびキーワードを登録する（ステップＳ３４）。さらに、その装置１，３の分割モジュール格納処理部は、その分割モジュール１５ｂ，３４ａをデータ格納部１５，３４に格納し、分割モジュール情報に基づき、分割モジュールテーブル１５ｃ，３４ｂを編集して、その分割モジュールの分割モジュール情報を登録する（ステップＳ３５）。
【００７９】
このようにして、新たなプログラムモジュール１５ａが分散保存される。なお、プログラムモジュール１５ａの実行時に復元される処理は、実施の形態１の場合と同様であるので、その説明は省略する。
【００８０】
以上のように、上記実施の形態２によれば、複数の装置１，３のいずれかは、プログラムモジュール１５ａを分割して複数の分割モジュール１５ｃ，３４ａを生成し、複数の装置１，３のデータ格納部１５，３４に分散させて格納させる。これにより、新規にサーバ機器などを追加せずに、かつ手間をかけずに、分割モジュール１５ｂを分散保存させることができる。
【００８１】
実施の形態３．
本発明の実施の形態３では、実施の形態２におけるシステムにおいて、１つのプログラムモジュール１５ａについて複数セットの分割モジュール１５ｂ，３４ａを複数の装置１，３に格納する。
【００８２】
なお、実施の形態３に係る情報処理システムの構成については原則として実施の形態２のものと同様であるので、その説明を省略する。ただし、以下の機能が分割モジュール格納処理部に追加されている。
【００８３】
実施の形態３では、複数の分割モジュール１５ｂ，３４ａが生成された後に、１つのプログラムモジュール１５ａから生成された一連の分割モジュール１５ｂ，３４ａのセットを、複数の装置１，３に、複数回、分散格納させる。
【００８４】
図１３は、実施の形態３におけるプログラムモジュール１５ａ分散格納時の分割モジュール１５ｂの流れの一例を説明する図である。図１３に示すように、実施の形態３では、同一の分割モジュール１５ｂ，３４ａが複数個、同一の装置１，３に格納されないようにして、分散して、複数セットの分割モジュール１５ｂ，３４ａが格納される。
【００８５】
なお、その他の処理については、実施の形態２のものと同様であるので、その説明を省略する。
【００８６】
以上のように、上記実施の形態３によれば、１つのプログラムモジュール１５ａを分割して生成された複数の分割モジュール１５ｂ，３４ａについての複数セットが、装置１，３に分散させて格納される。これにより、ある分割モジュール１５ｂ，３４ａを格納している装置１，３がその分割モジュール１５ｂ，３４ａを提供できない状態にある場合でも他の装置１，３がその分割モジュール１５ｂ，３４ａを提供することができるため、プログラムモジュール１５ａが復元できない事態が発生する可能性を低くすることができる。
【００８７】
なお、上述の各実施の形態は、本発明の好適な例であるが、本発明は、これらに限定されるものではなく、本発明の要旨を逸脱しない範囲において、種々の変形、変更が可能である。
【００８８】
例えば、上記各実施の形態において、復元されたプログラムモジュール１５ａは、そのプログラムモジュール１５ａの実行が完了した時点、またはその時点から所定の時間が経過したときにデータ格納部１５から削除されるようにしてもよい。
【００８９】
また、上記実施の形態２，３において、ＬＡＮ２に接続されている装置１，３のうちの一部のみに分割モジュール１５ｂ，３４ａを格納させるようにしてもよい。
【００９０】
また、上記実施の形態２，３において、分割モジュール保存要求に対して応答した装置１，３のみに分割モジュール１５ｂ，３４ａが供給されデータ格納部１５，３４に格納されるようにしてもよい。これにより、常時通信が可能な状態である可能性が高い装置１，３に分割モジュール１５ｂ，３４ａが格納されるため、プログラムモジュール１５ａが復元できない事態が発生する可能性を低くすることができる。
【００９１】
また、上記各実施の形態において、ＬＡＮ２の代わりに、インターネットなどのＷＡＮに装置１，３を接続するようにしてもよい。
【００９２】
また、上記各実施の形態においては、情報処理装置の一例として画像形成装置１を挙げているが、プログラムモジュールを実行する他種の情報処理装置についても本発明を適用可能である。
【産業上の利用可能性】
【００９３】
本発明は、例えば、１つのＬＡＮに接続された複数の複合機に適用可能である。
【図面の簡単な説明】
【００９４】
【図１】本発明の実施の形態１に係る情報処理システムの構成を示すブロック図である。
【図２】図１における画像形成装置の構成を示すブロック図である。
【図３】図１における端末装置の構成を示すブロック図である。
【図４】図２および図３におけるキーワードテーブルの一例を示す図である。
【図５】図２および図３における分割モジュールテーブルの一例を示す図である。
【図６】図１におけるプログラムモジュールの構造を示す図である。
【図７】図１に示すシステムにおいてプログラムモジュールを復元し実行する画像形成装置の動作について説明するフローチャートである。
【図８】図１に示すシステムにおいて分割モジュールを他の画像形成装置に送信する画像形成装置または端末装置の動作について説明するフローチャートである。
【図９】図２における表示部に表示される選択画面の一例を示す図である。
【図１０】実施の形態１におけるプログラムモジュール復元時の分割モジュールの流れの一例を説明する図である。
【図１１】実施の形態２において、プログラムモジュールを複数の分割モジュールに分割し、他の装置へ分散保存させる装置の動作について説明するフローチャートである。
【図１２】実施の形態２において、分割モジュールを格納する装置の動作について説明するフローチャートである。
【図１３】実施の形態３におけるプログラムモジュール分散格納時の分割モジュールの流れの一例を説明する図である。
【符号の説明】
【００９５】
１  画像形成装置（情報処理装置）
１５  データ格納部（第２のデータ格納部，第３のデータ格納部）
１５ａ  プログラムモジュール
１５ｂ，３４ａ  分割モジュール
１６ａ  キーワード検索処理部（分割モジュール検索処理部，通信部，キーワード検索処理部）
１６ｂ  プログラムモジュール復元部
１６ｃ  プログラムモジュール実行部
１７  表示部
１８  操作部
【図１】
0005314907.tif 000002
【図２】
0005314907.tif 000003
【図３】
0005314907.tif 000004
【図４】
0005314907.tif 000005
【図５】
0005314907.tif 000006
【図６】
0005314907.tif 000007
【図７】
0005314907.tif 000008
【図８】
0005314907.tif 000009
【図９】
0005314907.tif 000010
【図１０】
0005314907.tif 000011
【図１１】
0005314907.tif 000012
【図１２】
0005314907.tif 000013
【図１３】
0005314907.tif 000014