(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0015】
以下、図面を参照しながら、本発明の一形態に掛かる電子機器が画像形成装置である場合について、本発明の本実施形態を説明する。
【0016】
(1.画像形成装置の連携システムの概要)
図1は、本発明の一実施形態に係る画像形成装置の連携システムを示す模式図である。
画像形成装置の連携システム1は、ネットワークNに接続された3つ以上の画像形成装置10を有する。画像形成装置10は、典型的にはMFP(Multifunction Peripheral)であり、以下「MFP10」と称する。MFP10は、ネットワークNを介して互いに通信可能である。典型的には、ネットワークNは社内LAN(Local Area Network)であり、MFP10は1つのオフィス内に設置される。
【0017】
各MFP10は、ネットワークNに接続された3つ以上のMFP10のうち、2つのMFP10と一対一の対応関係(親子関係)を生成する。ネットワークNに接続された全てのMFP10が、このように、自身以外の2つのMFP10と親子関係を生成することにより、全てのMFP10が互いに対等(サーバー等が存在しない)な立場で環状(数珠繋ぎ)に接続される。これにより、全てのMFP10が、1つのファミリーを生成する。このファミリーの関係をより詳細に説明する。
【0018】
なお、本実施形態で「親子」とは、主従や上位下位を意味する語ではなく、単に説明の便宜のために用いる語である。要するに、「親子」関係を有する2つのMFP10同士は、完全に対等な立場である。
【0019】
図2は、複数のMFPを含むファミリーの構成を説明するための模式図である。
説明の簡素化のため、MFP10を3つ(MFP10A、10B、10C)として説明する。
【0020】
MFP10A(親)とMFP10B(子)とは、親子関係を生成する(親子1)。より具体的には、MFP10Aは、子としてMFP10Bの識別情報(例えば、IPアドレス。以下同じ。)を記憶する。MFP10Bは、親としてMFP10Aの識別情報を記憶する。
【0021】
MFP10A(子)とMFP10C(親)とは、親子関係を生成する(親子2)。より具体的には、MFP10Aは、親としてMFP10Cの識別情報を記憶する。MFP10Cは、子としてMFP10Aの識別情報を記憶する。
【0022】
MFP10B(親)とMFP10C(子)とは、親子関係を生成する(親子3)。より具体的には、MFP10Bは、子としてMFP10Cの識別情報を記憶する。MFP10Cは、親としてMFP10Bの識別情報を記憶する。
【0023】
ネットワークNに接続された全てのMFP10A〜10Cが、このように、自身以外の2つのMFP10A〜10Cと一対一の対応関係(親子関係)を生成する。これにより、全てのMFP10A〜10Cが互いに対等(サーバー等が存在しない)な立場で環状に接続され、1つのファミリーが生成される。MFP10が4つ以上でも(後で
図8に示す)、全てのMFP10が自身以外の2つのMFP10と一対一の対応関係(親子関係)を生成することにより、全てのMFP10が互いに対等な立場で環状に接続され、1つのファミリーが生成される。
【0024】
(2.MFPのハードウェア構成)
図3は、MFPのハードウェア構成を示すブロック図である。
MFP10は、制御部11を備える。制御部11は、CPU、RAM、ROM及び専用のハードウェア回路等から構成され、MFP10の全体的な動作制御を司る。MFP10を各機能部(後述)として機能させるコンピュータプログラムは、ROM等の非一過性の記憶媒体に記憶される。
【0025】
制御部11は、画像読取部12、画像処理部14、画像メモリー15、画像形成部16、操作部17、記憶部18、通信制御部19等と接続されている。制御部11は、接続されている上記各部の動作制御や、各部との間での信号又はデータの送受信を行う。
【0026】
制御部11は、ユーザーから、操作部17またはネッワーク接続されたパーソナルコンピュータ(図示せず)等を通じて入力されるジョブの実行指示に従って、スキャナ機能、印刷機能及びコピー機能機能などの各機能についての動作制御を実行するために必要な機構の駆動及び処理を制御する。
【0027】
画像読取部12は、原稿から画像を読み取る。
【0028】
画像処理部14は、画像読取部12で読み取られた画像の画像データを必要に応じて画像処理する。例えば、画像処理部14は、画像読取部12により読み取られた画像が画像形成された後の品質を向上させるために、シェーディング補正等の画像処理を行う。
【0029】
画像メモリー15は、画像読取部12による読み取りで得られた原稿画像のデータを一時的に記憶したり、画像形成部16での印刷対象となるデータを一時的に記憶したりする領域である。
【0030】
画像形成部16は、画像読取部12で読み取られた画像データ等の画像形成を行う。
【0031】
操作部17は、MFP10が実行可能な各種動作及び処理についてユーザーからの指示を受け付けるタッチパネル部および操作キー部を備える。タッチパネル部は、タッチパネルが設けられたLCD(Liquid Crystal Display)等の表示部17aを備えている。
【0032】
通信制御部19は、ネットワークNに接続するためのインタフェースである。
【0033】
記憶部18は、画像読取部12によって読み取られた原稿画像等を記憶する、HDDなどの大容量の記憶装置である。
【0034】
(3.ファミリーを生成するためのMFPの機能的構成)
図4は、ファミリーを生成するためのMFPの機能的構成を示すブロック図である。
MFP10は、命令取得部101と、MFP検出部102と、親子関係生成部103とを有する。
【0035】
命令取得部101は、ファミリー生成命令及びMFP追加命令を取得する。
【0036】
MFP検出部102は、命令取得部101から通知を受けると、ネットワークNに接続された他のMFP10を検索する。
【0037】
親子関係生成部103は、MFP検出部102からMFP10の識別情報を取得すると、そのMFP10と親子関係を生成する。
【0038】
(4.親子関係を生成するためのMFPの動作)
以下、説明を具体的に行うため、個別特定のMFP10を「MFP10A、10B、10C、10D」と称し、不特定のMFP10を「MFP10」と称する。
【0039】
(4−1.ファミリーを生成するための動作)
前提として、複数のMFP10がネットワークNに接続されている。複数のMFP10は未だ親子関係を生成しておらず、ファミリー(
図2)は未だ生成されていない。この状態から、複数のMFP10がそれぞれ親子関係を生成し、1つのファミリーが生成されるまでの動作を説明する。
【0040】
(4−1−1.ファミリー生成命令を取得したMFPの動作)
図5は、ファミリー生成命令を取得したMFPの動作を示すフローチャートである。
MFP10Aの命令取得部101は、操作部17に対するユーザーからの特定の操作を、ファミリー生成命令として取得する(ステップS11)。「ファミリー生成命令」とは、ネットワークNに接続された全てのMFP10を含む1つのファミリーを生成するための命令である。命令取得部101は、ファミリー生成命令を取得したことを、MFP生成部102に通知する。
【0041】
MFP10AのMFP検出部102は、命令取得部101から通知を受けると、ネットワークNに接続されたMFP10を検索する。MFP検出部102は、ネットワークNに接続された複数のMFP10のうち、最初に検出した2つのMFP10(MFP10B、10Cとする)の識別情報を、検出した順に、親子関係生成部103に供給する(ステップS12)。
【0042】
MFP10Aの親子関係生成部103は、MFP検出部102からMFP10B、10Cの識別情報を取得すると、自装置であるMFP10Aを親とし、1番目に検出した装置であるMFP10Bを子として、親子関係を生成する(ステップS13)。具体的には、MFP10Aの親子関係生成部103は、記憶部18に子としてMFP10Bの識別情報を記憶する。そして、MFP10Aの親子関係生成部103は、親としてMFP10Aの識別情報を記憶するようMFP10Bに命令する。MFP10Bは、MFP10Aから命令を受けると、親としてMFP10Aの識別情報を記憶し、識別情報を記憶したことをMFP10Aに通知する。以上により、MFP10A(親)とMFP10B(子)との親子関係が生成される(
図2の親子1)。
【0043】
続いて、MFP10Aの親子関係生成部103は、自装置であるMFP10Aを子とし、2番目に検出した装置であるMFP10Cを親として、親子関係を生成する(ステップS14)。具体的には、MFP10Aの親子関係生成部103は、記憶部18に親としてMFP10Cの識別情報を記憶する。そして、MFP10Aの親子関係生成部103は、子としてMFP10Aの識別情報を記憶するようMFP10Cに命令する。MFP10Cは、MFP10Aから命令を受けると、子としてMFP10Aの識別情報を記憶し、識別情報を記憶したことをMFP10Aに通知する。以上により、MFP10A(子)とMFP10C(親)との親子関係が生成される(
図2の親子2)。
【0044】
MFP10Aの親子関係生成部103は、1番目に親子関係を生成(ステップS13)した相手であるMFP10B(MFP10Aにとっての子)に対して、MFP10Bを親、いずれかのMFP10を子として、親子関係を生成するよう命令する(親子関係生成命令を出力する)(ステップS15)。さらに、親子関係生成部103は、2番目に親子関係を生成(ステップS14)した相手であるMFP10C(MFP10Aにとっての親)に対して、MFP10Cを子、いずれかのMFP10を親として、親子関係を生成するよう命令する(親子関係生成命令を出力する)(ステップS16)。
【0045】
(4−1−2.親子関係生成命令を取得したMFPの動作)
図6は、親子関係生成命令を取得したMFPの動作を示すフローチャートである。
MFP10Bの命令取得部101は、親子関係生成命令(ステップS15)を取得すると、親子関係生成命令を取得したことを、MFP生成部102に通知する(ステップS21)。
【0046】
MFP10BのMFP検出部102は、命令取得部101から通知を受けると、ブロードキャスト又はマルチキャストにより他のMFP10に応答要求を送信する。
【0047】
他のMFP10は、MFP10Bから応答要求を取得すると、応答情報をMFB10Bに送信する。この応答情報は、MFP10(自装置)の識別情報と、自装置が生成済みの対応関係の数(0、1又は2)とを含む
【0048】
MFB10BのMFP検出部102は、MFP10から応答情報を取得する。MFB10BのMFP検出部102は、応答情報をもとに、他の2つのMFP10それぞれと対応関係を生成していないMFP10を検出する。詳細には、MFP10BのMFP検出部102は、まず、他のMFP10と対応関係を生成していないMFP10(対応関係の数=0)を検出し、次いで、他の1つのMFP10のみと対応関係を生成しているMFP10(対応関係の数=1)を検出する。MFP10BのMFP検出部102は、最初に検出したMFP10(すなわち、生成済みの対応関係の数が最小であるMFP10)の識別情報を、親子関係生成部103に供給する。このとき、MFP10BのMFP検出部102は、他のMFP10と対応関係を生成していないMFP10(対応関係の数=0)を複数検出した場合、複数検出されたMFP10の内、最も早く検出したMFP10の識別情報を、親子関係生成部103に供給する。さらに、MFP10BのMFP検出部102は、他の1つのMFP10のみと対応関係を生成しているMFP10(対応関係の数=1)を複数検出した場合、複数検出されたMFP10の内、最も早く検出したMFP10の識別情報を、親子関係生成部103に供給する。ここで、MFP10BのMFP検出部103は、対応関係の数=0の応答情報と、対応関係の数=1の応答情報をそれぞれ別個に、応答情報を取得した順にキューイングしておき、まず、対応関係の数=0の応答情報を取得順に参照し、次いで対応関係の数=1の応答情報を取得順に参照することで、MFP10を検出してもよい。
【0049】
本実施例では、MFP10BのMFP検出部102は、他のMFP10と対応関係を生成していないMFP10(対応関係の数=0)を検出することなく、MFP10Aのみと対応関係を生成しているMFP10C(対応関係の数=1)を、最初に検出する(ステップS22)。MFP10BのMFP検出部102は、最初に検出したMFP10Cの識別情報を親子関係生成部103に供給する。
【0050】
MFP10Bの親子関係生成部103は、MFP検出部102からMFP10Cの識別情報を取得すると、自装置であるMFP10Bを親とし、検出したMFP10Cを子として、親子関係を生成する(ステップS23)。具体的には、MFP10Bの親子関係生成部103は、記憶部18に子としてMFP10Cの識別情報を記憶し、親としてMFP10Bの識別情報を記憶するようMFP10Cに親子関係生成命令を出力する。MFP10Cは、MFP10Bから命令を受けると、親としてMFP10Bの識別情報を記憶し、識別情報を記憶したことをMFP10Bに通知する。以上により、MFP10B(親)とMFP10C(子)との親子関係が生成される(
図2の親子3)。
【0051】
MFP10Bの親子関係生成部103は、親子関係を生成(ステップS23)した相手であるMFP10C(MFP10Bにとっての子)に対して、MFP10Cを親、いずれかのMFP10を子として、親子関係を生成するよう親子関係生成命令を出力する(ステップS24)。
【0052】
一方、MFP10Cは、親子関係生成命令(ステップS16)を取得すると、ステップS21〜S24と類似の動作を行う(図示せず)。ただし、ステップS23(自装置を親とし、検出したMFPを子として、親子関係を生成する)に対し、MFP10Cは、自装置を子とし、検出したMFPを親として、親子関係を生成する。また、ステップS24(親子関係を生成した相手MFPを親、いずれかのMFPを子として、親子関係を生成するよう命令する)に対し、MFP10Cは、親子関係を生成した相手MFPを子、いずれかのMFPを親として、親子関係を生成するよう親子関係生成命令を出力する。(なお、本例では、MFP10Cは既に親及び子としてMFP10A、10Bの識別情報を記憶しているため、この動作は行わない。)
【0053】
MFP10Aから親子関係生成命令(ステップS16)を取得したMFP10Cは、MFP10Bとの対応関係が生成済みとなった場合、親子関係生成命令に従った動作を実行中であってもその動作を中止する。また、MFP10Aから親子関係生成命令(ステップS16)を取得したMFP10Cは、MFP10Bとの対応関係が生成済みとなった後、MFP10Bから取得した親子関係生成命令に従う動作を行わない。つまり、親子関係生成命令を取得したMFP10は、他の2つのMFP10それぞれとの対応関係が生成済みとなった場合、親子関係生成命令に従った動作を実行中であってもその動作を中止する。また、親子関係生成命令を取得したMFP10は、他の2つのMFP10それぞれとの対応関係が生成済みとなった後、取得した他の親子関係生成命令に従う動作を行わない。
【0054】
ステップS11〜S16の動作の後、ステップS21〜S24の動作を繰り返すことにより、ユーザーからのファミリー生成命令を取得したMFP10Aを始点として2方向(MFP10Bに向かう方向、MFP10Cに向かう方向)に延びていくように、全てのMFP10が環状に接続されていく。結果的に、全てのMFP10が、自身以外の2つのMFP10と一対一の対応関係(親子関係)を生成する。これにより、全てのMFP10が互いに対等(サーバー等が存在しない)な立場で環状に接続され、1つのファミリーが生成される。
【0055】
(4−2.ファミリーにMFPを追加するための動作)
図7は、ファミリーに新たにMFPを追加するためのMFPの動作を示すフローチャートである。
図8は、新たにMFPが追加されたファミリーを説明するための模式図である。
MFP10A、10B、10Cを含むファミリー(
図2)に新たなMFP10を事後的に追加するための動作を説明する。
【0056】
MFP10Aの命令取得部101は、操作部17に対するユーザーからの特定の操作を、MFP追加命令として取得する(ステップS31)。「MFP追加命令」とは、既に生成されているファミリーに、MFP10を新たに追加するための命令である。命令取得部101は、MFP追加命令を取得したことを、MFP生成部102に通知する。
【0057】
MFP10AのMFP検出部102は、命令取得部101から通知を受けると、ネットワークNに新たに接続されたMFP10を検索する。MFP検出部102は、MFP10(MFP10Dとする)を検出すると(ステップS32)、検出したMFP10Dの識別情報を親子関係生成部103に供給する。
【0058】
MFP10Aの親子関係生成部103は、MFP検出部102からMFP10Dの識別情報を取得すると、記憶部18に記憶されている、子としてのMFP10Bの識別情報を削除する。そして、親子関係生成部103は、MFP10Bに、親として記憶されたMFP10Aの識別情報を削除するよう命令する。これにより、MFP10A(親)とMFP10B(子)との、親子関係が解消される(ステップS33、
図8の親子1)。
【0059】
MFP10Aの親子関係生成部103は、記憶部18に子として、新たに検出したMFP10Dの識別情報を記憶する。さらに、親子関係生成部103は、MFP10Dに、親としてMFP10Aの識別情報を記憶するよう命令する。MFP10Dは、MFP10Aから命令を受けると、親としてMFP10Aの識別情報を記憶し、識別情報を記憶したことをMFP10Aに通知する。以上により、MFP10A(親)とMFP10D(子)との親子関係が生成される(ステップS34、
図8の親子4)。
【0060】
MFP10Aの親子関係生成部103は、親子関係を生成(ステップS34)した相手であるMFP10Dに対して、親子関係を解消(ステップS33)した相手であるMFP10Bを子として、親子関係を生成するよう親子関係生成命令を出力する(ステップS35)。
【0061】
MFP10Dの命令取得部101は、親子関係生成命令(ステップS35)を取得する。命令取得部101は、親子関係生成命令を取得したことを親子関係生成部103に通知する。MFP10Dの親子関係生成部103は、記憶部18に子として、命令されたMFP10Bの識別情報を記憶する。さらに、親子関係生成部103は、MFP10Bに、親としてMFP10Dの識別情報を記憶するよう命令する。MFP10Bは、MFP10Dから命令を受けると、親としてMFP10Dの識別情報を記憶し、識別情報を記憶したことをMFP10Dに通知する。以上により、MFP10D(親)とMFP10B(子)との親子関係が生成される(
図8の親子5)。
【0062】
以上により、全てのMFP10A〜10Dが、自身以外の2つのMFP10A〜10Dと一対一の対応関係(親子関係)を生成する。これにより、全てのMFP10A〜10Dが互いに対等(サーバー等が存在しない)な立場で環状に接続され、1つのファミリーが拡大される。
【0063】
なお、上記ステップS35に代えて、MFP10Aの親子関係生成部103は、親子関係を解消(ステップS33)した相手であるMFP10Bに対して、親子関係を生成(ステップS34)した相手であるMFP10Dを親として、親子関係を生成するよう命令してもよい。
【0064】
なお、ネットワークNに新たに接続されたMFP10が複数の場合は、ステップS31〜S35の動作を繰り返せばよい。
【0065】
ここまで、複数のMFP10が互いに親子関係を生成し1つのファミリーを生成するための、MFP10の機能的構成及び動作を説明した。ここからは、生成したファミリーに属する複数のMFP10が連携するための、MFP10の機能的構成及び動作を説明する。
【0066】
(5.MFP同士の連携の概要)
MFPは、1つのオフィス内に設置され、社内LANを介して接続される。MFPにインストールされる外部アプリケーションソフトには、機能の実行が許可される回数又は期間(機能を実行する権利、所謂クレジット)が制限されるものがある。通常、機能の実行が許可される回数又は期間(機能を実行する権利)は、MFPごとに設定される。このため、特定のMFPにおいて、機能の実行が許可される回数又は期間(機能を実行する権利)が使い果たされて無くなると、そのMFPでは最早その機能を実行することができなくなる。その結果、別のMFPでその機能を実行しなければならず、場合によっては、機能的に劣るMFPやユーザーにとっての利便性が劣るMFPでその機能を実行しなければならない、というデメリットが生じうる。
【0067】
これに対して、本実施形態では、特定のMFPにおいて機能の実行が許可される回数又は期間(機能を実行する権利)が使い果たされて無くなった場合であっても、複数のMFP同士の連携により、そのMFPでその機能を実行できるようにする。
【0068】
(6.第1の実施形態)
(6−1.MFP同士が連携するためのMFPの機能的構成)
前提として、MFP10A、10B、10Cが、
図2に示すファミリーを生成している。
【0069】
図9は、第1の実施形態に係る、ファミリーに属する複数のMFPの機能的構成を示すブロック図である。
本図は、MFP10A、10B、10Cの機能的構成のうち、説明に必要な構成のみ記載し、不要な構成は記載を省略している。しかし実際は、MFP10A、10B、10Cの機能的構成は全て同じである。
【0070】
MFP10は、機能実行命令取得部201と、権利要求部202と、実行通知部203と、権利管理部204とを有する。
【0071】
機能実行命令取得部201は、情報処理装置から機能実行命令を取得したり、操作部17に対するユーザーの特定の操作を、機能実行命令として取得する。機能実行命令取得部201は、機能実行命令により特定される機能を自装置が実行することが許可される回数又は期限を、記憶部18から読み出す。
【0072】
権利要求部202は、ファミリーに属する全てのMFP10と、特定の機能を実行する権利(期間)を共有するための要求(権利共有要求)を生成し、子としてのMFP10に出力する。
【0073】
実行通知部203は、権利共有要求に記載された識別情報をもつMFP10(権利譲渡元のMFP10)に、機能を実行したことを通知する。
【0074】
権利管理部204は、機能を実行するMFP10に権利を譲渡すると、記憶部18に記憶された権利(期限又は回数)を、デクリメント(−1)した値で更新する。
【0075】
(6−2.MFP同士が連携するためのMFPの動作)
図10は、ファミリー内のMFPの連携を説明するための模式図である。
図11は、機能を実行するMFPの動作を示すフローチャートである。
MFP10Aの機能実行命令取得部201は、情報処理装置から、特定の機能(機能Dとする)を実行(典型的には、外部アプリケーションソフトを実行)するための命令を取得する(ステップS41)。あるいは、機能実行命令取得部201は、操作部17に対するユーザーの特定の操作を、機能実行命令として取得する。
【0076】
MFP10Aの機能実行命令取得部201は、機能実行命令により特定される機能DをMFP10Aが実行することが許可される回数又は期限を、記憶部18から読み出す。各MFP10の記憶部18には、自装置が機能Dを実行することが許可される回数又は期限、自装置が機能Eを実行することが許可される回数又は期限、自装置が機能Fを実行することが許可される回数又は期限…が記憶されている。本例では、MFP10Aの記憶部18には、MFP10Aが機能Dを実行することが許可される期限として、「2015/2/20」が記憶されている。また、MFP10Aが機能実行命令を取得した日(本日)を、「2015/2/21」とする。機能実行命令取得部201は、記憶部18に記憶されている期限「2015/2/20」が本日「2015/2/21」より前であるため、機能Dを実行することができないと判断し(ステップS42、NO)、その旨を権利要求部202に通知する。
【0077】
MFP10Aの権利要求部202は、機能実行命令取得部201から通知を受けると、ファミリーに属する全てのMFP10と機能Dを実行する権利(期間)を共有するための要求(権利共有要求)を生成する。権利要求部202は、権利共有要求を、記憶部18に子として識別情報が記憶されているMFP10Bに出力する(ステップS43)。
【0078】
図12は、機能を実行するMFPと同じファミリーに属するMFPの動作を示すフローチャートである。
以下、本フローチャートの説明において、動作主体がMFP10Bの場合はステップ番号末尾に「B」を付し、動作主体がMFP10Cの場合はステップ番号末尾に「C」を付す。フローチャートのステップ番号には「B」又は「C」は図示しない。
【0079】
MFP10Bの権利要求部202は、権利共有要求(ステップS43)を取得する(ステップS51B)。権利要求部202は、記憶部18を参照し、MFP10Bが機能Dを実行することが許可される期限を読み出す。本例では、MFP10Bが機能Dを実行することが許可される期限を「2015/4/23」とする。権利要求部202は、権利共有要求に記載された期限(記載なし)と、記憶部18に記憶された期限「2015/8/15」とを比較する。権利共有要求に期限が記載されていないので(ステップS52B、NO)権利要求部202は、権利共有要求に、自装置(MFP10B)の識別情報と、機能Dの実行期限「2015/4/23」とを書き込む(ステップS53B)。権利要求部202は、上書きした権利共有要求を、記憶部18に子として識別情報が記憶されているMFP10Cに転送する(ステップS54B)。
【0080】
MFP10Cの動作は、MFP10BのステップS51B〜S54Bと同様である。要するに、MFP10Cの権利要求部202は、権利共有要求(ステップS54B)を取得する(ステップS51C)。権利要求部202は、記憶部18を参照し、MFP10Cが機能Dを実行することが許可される期限を読み出す。本例では、MFP10Cが機能Dを実行することが許可される期限を「2015/8/15」とする。権利要求部202は、権利共有要求に記載された期限「2015/4/23」と、記憶部18に記憶された期限「2015/8/15」とを比較する。権利共有要求に記載された期限「2015/4/23」より記憶部18に記憶された期限「2015/8/15」が後(期間が長い)ので(ステップS52C、NO)、権利要求部202は、権利共有要求に、自装置(MFP10C)の識別情報と、機能Dの実行期限「2015/8/15」とを上書きする(ステップS53C)。権利要求部202は、上書きした権利共有要求を、記憶部18に子として識別情報が記憶されているMFP10Aに転送する(ステップS54C)。
【0081】
MFP10Aの権利要求部202は、権利共有要求(ステップS54C)を取得する(ステップS44)。権利要求部202は、権利共有要求を参照し、要求元が自装置(MFP10A)であると判断する。権利要求部202は、権利共有要求から、MFP10Cの識別情報と、機能Dの実行期限「2015/8/15」とを読み出す。権利要求部202は、権利共有要求から読み出した機能Dの実行期限「2015/8/15」が本日「2015/2/21」以降であるため、機能Dを実行することができると判断し(ステップS45、YES)、その旨を機能実行命令取得部201に通知する。
【0082】
MFP10Aの機能実行命令取得部201は、通知を受けると、機能Dを実行する(ステップS46)。機能実行命令取得部201は、機能Dを実行したことを、実行通知部203に通知する。
【0083】
MFP10Aの実行通知部203は、機能実行命令取得部201から通知を受けると、権利共有要求に記載された識別情報をもつMFP10Cに、機能Dを実行したことを通知する(ステップS47)。
【0084】
MFP10Cの権利管理部204は、MFP10Aから通知を受けると(ステップS55C、YES)、記憶部18に記憶された、機能Dを実行することが許可される期限「2015/8/15」を、デクリメント(−1)した値「2015/8/14」で更新する(ステップS56C)。言い換えれば、MFP10CからMFP10Aに、機能Dを実行する1日分の権利が譲渡されたことになる。
【0085】
なお、MFP10Aの機能実行命令取得部201は、記憶部18に記憶されている期限が本日以降の場合、機能Dを実行することができると判断し(ステップS42、YES)、機能Dを実行する(ステップS46)。
【0086】
また、MFP10Cの権利要求部202は、権利共有要求に記載された期限より記憶部18に記憶された期限が先(期間が短い)又は等しい場合(ステップS52C、YES)、権利共有要求に上書きせずそのまま転送する(ステップS54C)。
【0087】
MFP10Aの権利要求部202は、権利共有要求から読み出した機能Dの実行期限が本日より前の場合、機能Dを実行することができないと判断し(ステップS45、NO)、動作を終了する(エラー停止)。
【0088】
(6−3.変形例)
本実施形態では、MFP10は、それぞれ、特定の機能を実行する権利として、機能を実行することが許可される期限を記憶した。また、期限が最後(期間が最大)のMFP10の1日分の権利を、機能を実行するMFP10に譲渡した。
これに替えて、2日分以上の権利を、機能を実行するMFP10に譲渡してもよい。
あるいは、MFP10は、それぞれ、特定の機能を実行する権利として、機能を実行することが許可される回数を記憶し、回数が最大のMFP10の少なくとも1回分の権利を、機能を実行するMFP10に譲渡してもよい。
【0089】
(7.第2の実施形態)
第1の実施形態では、ファミリーに属する全てのMFP10のうち、特定の機能の実行が許可される期間が最大であるMFP10CからMFP10Aに、機能Dを実行する権利が譲渡された。これに対して、第2の実施形態では、機能を実行するMFPは、子から権利を譲受する。
【0090】
以下、すでに説明した構成、機能及び動作等は説明を省略し、異なる点を中心に説明する。
【0091】
(7−1.MFP同士が連携するためのMFPの機能的構成)
図13は、第2の実施形態に係る、ファミリーに属する複数のMFPの機能的構成を示すブロック図である。
MFP10は、機能実行命令取得部301と、権利要求部302と、権利譲渡部303とを有する。
【0092】
権利要求部302は、子から機能を実行する権利を譲受するための要求(権利譲渡要求)を生成し、権利譲渡要求を子としてのMFP10に出力する。
【0093】
権利譲渡部303は、権利譲渡要求すると、記憶部18を参照し、MFP10が機能を実行することが許可される権利(回数)を読み出す。権利譲渡部303は、記憶部18に記憶された、機能を実行することが許可される権利(回数)を、デクリメント(−1)した値で更新する。権利譲渡部303は、機能を実行するための1回分の権利を譲渡可能であることを、要求元のMFP10に応答する。
【0094】
(7−2.MFP同士が連携するためのMFPの動作)
図14は、機能を実行するMFPの動作を示すフローチャートである。
MFP10A'の機能実行命令取得部301は、情報処理装置から、特定の機能(機能Eとする)を実行するための命令を取得する(ステップS61)。機能実行命令取得部301は、機能実行命令により特定される機能EをMFP10A'が実行することが許可される回数又は期限を、記憶部18から読み出す。本例では、MFP10A'の記憶部18には、MFP10A'が機能Eを実行することが許可される回数として、「0」が記憶されている。機能実行命令取得部301は、記憶部18に記憶されている回数が「0」であるため、機能Eを実行することができないと判断し(ステップS62、NO)、その旨を権利要求部302に通知する。
【0095】
MFP10A'の権利要求部302は、機能実行命令取得部301から通知を受けると、記憶部18に子として識別情報が記憶されているMFP10B'から機能Eを実行する権利(回数)を譲受するための要求(権利譲渡要求)を生成する。権利要求部302は、権利譲渡要求を、MFP10B'に出力する(ステップS63)。
【0096】
図15は、機能を実行するMFPの子であるMFPの動作を示すフローチャートである。
MFP10B'の権利譲渡部303は、権利譲渡要求(ステップS63)を取得する(ステップS71)。権利譲渡部303は、記憶部18を参照し、MFP10B'が機能Eを実行することが許可される回数を読み出す。本例では、MFP10B'が機能Eを実行することが許可される回数を「3」とする。権利譲渡部303は、読み出した機能Eの実行回数「3」が「1」以上であるため、機能Eを実行することができると判断する(ステップS72、YES)。権利譲渡部303は、記憶部18に記憶された、機能Eを実行することが許可される回数「3」を、デクリメント(−1)した値「2」で更新する(ステップS73)。権利譲渡部303は、機能Eを実行するための1回分の権利を譲渡可能であることを、MFP10A'に応答する(ステップS74)。
【0097】
MFP10A'の権利要求部302は、MFP10B'から応答(ステップS74)を取得する(ステップS64)。権利要求部302は、応答を参照し、機能Eを実行するための1回分の権利をMFP10B'から譲受可能であると判断する(ステップS65、YES)。権利要求部302は、その旨を機能実行命令取得部301に通知する。機能実行命令取得部301は、機能Eを実行する(ステップS66)。
【0098】
なお、MFP10A'の機能実行命令取得部301は、記憶部18に記憶されている回数が「1」以上の場合、機能Eを実行することができると判断し(ステップS62、YES)、自装置の権利(回数)を使って機能Eを実行する。
【0099】
また、MFP10B'の権利譲渡部303は、記憶部18から読み出した機能Eの実行回数が「0」の場合、機能Eを実行することができないと判断し(ステップS72、NO)、その旨をMFP10A'に応答する(ステップS74)。この場合、MFP10A'の権利要求部302は、取得した応答を参照し、機能Eを実行するための1回分の権利をMFP10B'から譲受不可能であると判断し(ステップS65、NO)、エラー停止する。
【0100】
(7−3.変形例)
本実施形態では、MFP10は、それぞれ、特定の機能を実行する権利として、機能を実行することが許可される回数を記憶した。また、機能を実行するMFP10に、子であるMFP10が、1回分の権利を譲渡した。
これに替えて、2回分以上の権利を、機能を実行するMFP10に譲渡してもよい。
あるいは、機能を実行するMFP10に、親であるMFP10が、1回分以上の権利を譲渡してもよい。
あるいは、機能を実行するMFP10は、最初に親又は子に権利譲渡可能性を問い合わせ、次に他方に権利譲渡可能性を問い合わせてもよい。最初に問い合わせた親又は子が権利譲渡可能であれば、その親又は子から権利を譲受し、次の問い合わせは省略しても良い。あるいは、親及び子の両方から権利譲渡可能性の応答を受け、回数又は期間が大きい方から権利を譲受してもよい。
【0101】
(8.まとめ)
サーバーとしての役割を持つ主装置(マスター、親)が存在するネットワークでは、主装置を経由して、ネットワークに接続された各装置に指示を出すことがある。この場合、主装置に何らかの異常が発生した場合、ネットワークに接続された各装置に対して指示を適切に出すことができなくなるおそれがある。また、各装置をそもそも主装置に登録しておく必要があり、主装置に登録されていない装置には指示を出すことができなくなるおそれがある。
【0102】
これに対して、本実施形態によれば、全てのMFPが互いに対等(サーバーとしての役割を持つ主装置が存在しない)な立場で環状に接続され、1つのファミリーが生成される。この構成によれば、MFPに指示を出す際に主装置を経由する必要がない。この場合、主装置に何らかの異常が発生した場合MFPに対して指示を適切に出すことができなくなる、という事態が発生するおそれがない。また、MFPをそもそも主装置に登録しておく必要が無く、主装置に登録されていないMFPには指示を出すことができなくなる、という事態が発生するおそれがない。また、1つのファミリーに属する特定のMFPのシステム設定や保存ジョブを、ファミリー内の全てのMFPで共有することができる。言い換えれば、それぞれのMFPで自立的に他のMFPと連携することができる。
【0103】
第1の実施形態によれば、特定の機能を実行するMFPは、ファミリーに属するMFPのうち、その機能の実行が許可される回数又は期間が最大であるMFPから、その機能を実行する権利を譲受する。このため、特定のMFPにおいて、機能の実行が許可される回数又は期間(機能を実行する権利)が使い果たされて無くなった場合であっても、複数のMFP同士の連携により、そのMFPでその機能を実行できる。これにより、本実施形態では、別のMFPでその機能を実行しなければならないデメリットを最大限回避しうる。とくに、第1の実施形態によれば、回数又は期間が最大であるMFPから権利を譲受するので、譲渡元のMFPの権利が使い果たされて無くなってしまう事態を最大限回避しうる。
【0104】
第2の実施形態によれば、特定の機能を実行するMFPは、子であるMFPから、その機能を実行する権利を譲受する。これにより、ファミリーに属するMFPのうち、その機能の実行が許可される回数又は期間が最大であるMFPを特定する動作を省くことができるので、特定の機能を実行するMFPは、より速やかに機能を実行することが可能となる。
【0105】
なお、画像形成装置に限らず、ネットワークに接続可能な他の電子機器についても、本発明を適用することが可能である。