(57)【要約】【課題】複数の情報処理装置でデータを共有するまでの時間を短縮する。【解決手段】  複数の情報処理装置それぞれは、外部からデータとユーザー識別情報とを受信する受信制御部５１と、データの受信処理の進行状態に係わらず、データとユーザーと自装置とを関連付けた管理情報を生成し、１以上の他の情報処理装置と共有するデータ管理部５５と、操作ユーザーを検出する操作ユーザー検出部５７と、管理情報によって操作ユーザーに関連付けられたデータおよび装置を特定するデータ特定部５９と、特定された装置に依頼し、データを取得するデータ取得部６１と、１以上の他の情報処理装置のうち実行装置からの依頼に応じてデータを送信するデータ供給部６７と、を備え、データ供給部６７は、送信が依頼されたデータのすべてが受信されていない場合であっても、データを実行装置に送信する。【選択図】        図４
2019105935.tif 000002
【特許請求の範囲】
【請求項１】
複数の情報処理装置を含む情報処理システムであって、
前記複数の情報処理装置それぞれは、外部からデータと当該データに関連するユーザーを識別するためのユーザー識別情報とを受信する受信制御手段と、
前記受信制御手段が前記ユーザー識別情報を受信することに応じて、前記データの受信処理の進行状態に係わらず、前記データと、前記ユーザー識別情報で特定されるユーザーと自装置とを関連付けた管理情報を生成し、前記生成された管理情報を前記複数の情報処理装置のうち１以上の他の情報処理装置と共有するデータ管理手段と、
自装置を操作するユーザーを操作ユーザーとして検出する操作ユーザー検出手段と、
前記操作ユーザーが検出される場合、前記管理情報によって前記操作ユーザーに関連付けられたデータおよび装置を特定するデータ特定手段と、
前記特定された装置が前記１以上の他の情報処理装置のいずれかの場合、前記特定された装置に前記特定されたデータの送信を依頼し、前記特定された装置から前記特定されたデータを取得するデータ取得手段と、
前記１以上の他の情報処理装置のうち実行装置から前記実行装置を操作する操作ユーザーと前記管理情報により関連付けられた前記データの送信が依頼されることに応じて、前記実行装置に前記データを送信するデータ供給手段と、を備え、
前記データ供給手段は、前記データのすべてが前記受信制御手段により受信されていない場合であっても、前記送信が依頼される前に前記受信制御手段により受信された部分を前記実行装置に送信する、情報処理システム。
【請求項２】
１以上の他の情報処理装置と通信可能な情報処理装置であって、
外部からデータと当該データに関連するユーザーを識別するためのユーザー識別情報とを受信する受信制御手段と、
前記受信制御手段が前記ユーザー識別情報を受信することに応じて、前記データの受信処理の進行状態に係わらず、前記データと、前記データとともに受信される前記ユーザー識別情報で特定されるユーザーと自装置とを関連付けた管理情報を生成し、前記生成された管理情報を前記１以上の他の情報処理装置と共有するデータ管理手段と、
前記１以上の他の情報処理装置のうちユーザーにより操作される実行装置から前記実行装置を操作する操作ユーザーと前記管理情報により関連付けられた前記データの送信が依頼されることに応じて、前記実行装置に前記データを送信するデータ供給手段と、を備え、
前記データ供給手段は、前記送信が依頼された前記データすべてが前記受信制御手段により受信されていない場合であっても、前記送信が依頼される前に前記受信制御手段により受信された部分を前記実行装置に送信する、情報処理装置。
【請求項３】
前記実行装置が前記データを処理する処理条件を取得する処理条件取得手段を、さらに備え、
前記データ供給手段は、前記取得された処理条件が所定の条件を含む場合は、前記受信制御手段により前記データのすべてが受信されていない場合は、前記受信制御手段により前記データのすべてが受信されるまで、前記データを前記実行装置に送信しない、請求項２に記載の情報処理装置。
【請求項４】
前記所定の条件は、前記データ中で互いに離れた位置に配置された２以上の部分を同時に処理する条件である、請求項３に記載の情報処理装置。
【請求項５】
前記データ供給手段は、前記送信が依頼された後に第１の条件が成立することに応じて、前記データの送信を中止する、請求項２〜４のいずれかに記載の情報処理装置。
【請求項６】
前記受信制御手段は、前記送信が依頼された後に第２の条件が成立することに応じて、前記データの受信を中止し、
前記データ供給手段は、前記送信が依頼された後に第２の条件が成立することに応じて、前記データの送信を中止する、請求項２〜５のいずれかに記載の情報処理装置。
【請求項７】
前記受信制御手段により受信される前記データを記憶手段に格納する記憶制御手段を、さらに備え、
前記記憶制御手段は、前記記憶手段への前記データの格納が完了する前に、前記第２の条件の成立に応じて、前記データの格納を中止する、請求項６に記載の情報処理装置。
【請求項８】
前記記憶手段の残容量が不足する場合に、前記操作ユーザーに問い合わせる問い合わせ手段を、さらに備え、
前記第２の条件は、前記操作ユーザーよる所定の操作を受け付けることに応じて成立する、請求項７に記載の情報処理装置。
【請求項９】
前記受信制御手段により受信される前記データを記憶手段に格納する記憶制御手段を、さらに備え、
前記データ供給手段は、前記記憶制御手段により前記データの少なくとも一部が前記記憶手段に格納されている場合、前記記憶手段に格納された前記データの少なくとも一部を前記実行装置に送信する、請求項２〜６のいずれかに記載の情報処理装置。
【請求項１０】
前記記憶手段に格納された前記データを前記実行装置に送信した後に、前記データを前記記憶手段から消去する消去手段を、さらに備え、
前記記憶制御手段は、前記データの前記記憶手段への格納が完了する前に前記送信が依頼される場合、前記データの前記記憶手段への格納を中止し、
前記データ供給手段は、前記記憶制御手段による前記データの前記記憶手段への格納が中止された後に前記受信制御手段により受信される部分を前記実行装置に送信する、請求項９に記載の情報処理装置。
【請求項１１】
前記記憶制御手段は、前記データの前記記憶手段への格納が完了する前に、前記記憶手段の残容量が不足する場合、前記データの前記記憶手段への格納を中止し、
前記データ供給手段は、前記記憶制御手段による前記データの前記記憶手段への格納が中止した後に前記受信制御手段により受信される部分を前記実行装置に送信する、請求項９または１０に記載の情報処理装置。
【請求項１２】
１以上の他の情報処理装置と通信可能な情報処理装置で実行されるデータ共有方法であって、
外部からデータと当該データに関連するユーザーを識別するためのユーザー識別情報とを受信する受信制御ステップと、
前記受信制御ステップにおいて前記ユーザー識別情報が受信されることに応じて、前記データの受信処理の進行状態に係わらず、前記データと、前記データとともに受信される前記ユーザー識別情報と自装置とを関連付けた管理情報を生成し、前記生成された管理情報を前記１以上の他の情報処理装置と共有するデータ管理ステップと、
前記１以上の他の情報処理装置のうちユーザーにより操作される実行装置から前記実行装置を操作する操作ユーザーと関連付けられた前記データの送信が依頼されることに応じて、前記実行装置に前記データを送信するデータ供給ステップと、を含み、
前記データ供給ステップは、前記送信が依頼された前記データすべてが前記受信制御ステップにおいて受信されていない場合であっても、前記送信が依頼される前に前記受信制御ステップにおいて受信された部分を前記実行装置に送信するステップを含む、データ共有方法。
【請求項１３】
１以上の他の情報処理装置と通信可能な情報処理装置を制御するコンピューターで実行されるデータ共有プログラムであって、
外部からデータと当該データに関連するユーザーを識別するためのユーザー識別情報とを受信する受信制御ステップと、
前記受信制御ステップにおいて前記ユーザー識別情報が受信されることに応じて、前記データの受信処理の進行状態に係わらず、前記データと、前記データとともに受信される前記ユーザー識別情報と自装置とを関連付けた管理情報を生成し、前記生成された管理情報を前記１以上の他の情報処理装置と共有するデータ管理ステップと、
前記１以上の他の情報処理装置のうちユーザーにより操作される実行装置から前記実行装置を操作する操作ユーザーと関連付けられた前記データの送信が依頼されることに応じて、前記実行装置に前記データを送信するデータ供給ステップと、を前記コンピューターに実行させ、
前記データ供給ステップは、前記送信が依頼された前記データすべてが前記受信制御ステップにおいて受信されていない場合であっても、前記送信が依頼される前に前記受信制御手段により受信された部分を前記実行装置に送信するステップを含む、データ共有プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、情報処理システム、情報処理装置、データ共有方法およびデータ共有プログラムに関し、特に、ネットワークに接続された複数の情報処理装置でデータを共有する情報処理システム、ネットワークに接続された他の情報処理装置とデータを共有する情報処理装置、その情報処理装置で実行されるデータ共有方法およびデータ共有プログラムに関する。
【背景技術】
【０００２】
近年、複数の複合機（以下「ＭＦＰ」という）をネットワークに接続した環境で、ユーザーがパーソナルコンピューター（以下「ＰＣ」という）から送信したプリントデータの画像を、任意のＭＦＰで印刷する機能が、ユビキタスプリント機能として知られている。
【０００３】
このユビキタスプリント機能において、ユーザーがＰＣから複数のＭＦＰのいずれかである蓄積装置にプリントデータを送信しておけば、複数のＭＦＰのいずれかである操作装置を操作した時点で、操作装置でプリントデータの画像が形成される。具体的には、操作装置は、プリントデータの情報を蓄積装置から取得し、プリントデータの画像を形成する。
【０００４】
しかしながら、プリントデータのデータ量が大きい場合等に、ユーザーが操作装置を操作する時点で、蓄積装置にプリントデータが蓄積されていない場合がある。この場合には、操作装置は、プリントデータの情報を蓄積装置から取得することができないために、ユーザーが操作装置を操作する時点で、操作装置でプリントデータの存在を確認できない。このため、ユーザーは、ＰＣから送信したプリントデータの存在を確認するために、ＰＣまたは蓄積装置を再度操作して確認しなければならず、操作が煩雑になるといった問題がある。
【０００５】
特開２０１５−０２６８９９号公報には、蓄積装置で受信されるプリントデータをリスト表示するためのリスト表示用情報を取得する処理を、プリントデータを格納する処理に先立って行い、操作装置から、リスト表示すべき旨の表示要求を受信すると、リストを操作装置に送信する技術が記載されている。このため、蓄積装置にプリントデータが蓄積される前に、操作装置にプリントデータのリストが表示されるので、ユーザーは、プリントデータの存在を知ることができる。
【０００６】
しかしながら、特開２０１５−０２６８９９号公報に記載の技術は、操作装置を操作するユーザーにプリントデータの存在を知らせることができるが、蓄積装置にプリントデータが格納されるまで、操作装置にプリントデータが送信さない。このため、ユーザーは、プリントデータが蓄積装置に蓄積され、蓄積装置から操作装置に送信されるまで、プリントデータの画像が形成されないので、ユーザーの待ち時間が発生するといった問題がある。
【特許文献１】特開２０１５−０２６８９９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
この発明は上述した問題点を解決するためになされたもので、この発明の目的の一つは、複数の情報処理装置でデータを共有するまでの時間を短縮した情報処理システムを提供することである。
【０００８】
この発明の他の目的は、１以上の他の情報処理装置との間でデータを共有するまでの時間を短縮することが可能な情報処理装置を提供することである。
【０００９】
この発明の他の目的は、１以上の他の情報処理装置との間でデータを共有するまでの時間を短縮することが可能なデータ共有方法を提供することである。
【００１０】
この発明のさらに他の目的は、１以上の他の情報処理装置との間でデータを共有するまでの時間を短縮することが可能なデータ共有プログラムを提供することである。
【課題を解決するための手段】
【００１１】
上述した目的を達成するためにこの発明のある局面によれば、情報処理システムは、複数の情報処理装置を含む情報処理システムであって、複数の情報処理装置それぞれは、外部からデータと当該データに関連するユーザーを識別するためのユーザー識別情報とを受信する受信制御手段と、受信制御手段がユーザー識別情報を受信することに応じて、データの受信処理の進行状態に係わらず、データと、ユーザー識別情報で特定されるユーザーと自装置とを関連付けた管理情報を生成し、生成された管理情報を複数の情報処理装置のうち１以上の他の情報処理装置と共有するデータ管理手段と、自装置を操作するユーザーを操作ユーザーとして検出する操作ユーザー検出手段と、操作ユーザーが検出される場合、管理情報によって操作ユーザーに関連付けられたデータおよび装置を特定するデータ特定手段と、特定された装置が１以上の他の情報処理装置のいずれかの場合、特定された装置に特定されたデータの送信を依頼し、特定された装置から特定されたデータを取得するデータ取得手段と、１以上の他の情報処理装置のうち実行装置から実行装置を操作する操作ユーザーと管理情報により関連付けられたデータの送信が依頼されることに応じて、実行装置にデータを送信するデータ供給手段と、を備え、データ供給手段は、データのすべてが受信制御手段により受信されていない場合であっても、送信が依頼される前に受信制御手段により受信された部分を実行装置に送信する。
【００１２】
この局面に従えば、外部からデータとユーザー識別情報とを受信すると、データの受信処理の進行状態に係わらず、データとユーザー識別情報で特定されるユーザーと自装置とを関連付けた管理情報を１以上の他の情報処理装置と共有し、自装置を操作する操作ユーザーが検出される場合、管理情報によって操作ユーザーに関連付けられた装置にデータの送信を依頼し、データを取得する。また、複数の情報処理装置のうち１以上の他の情報処理装置のいずれかの実行装置から実行装置を操作する操作ユーザーと管理情報により関連付けられたデータの送信が依頼されることに応じて、実行装置にデータを送信するが、送信が依頼されたデータのすべてが受信されていない場合であっても、送信が依頼される前に受信された部分を実行装置に送信する。このため、データのすべてを受信する前の段階で、１以上の他の情報処理装置とそのデータを共有することができる。また、外部からデータのすべてを受信する前であっても実行装置にデータの送信を開始するので、実行装置においてデータの取得を開始するまでの時間を短くすることができる。その結果、複数の情報処理装置でデータを共有するまでの時間を短縮した情報処理システムを提供することができる。
【００１３】
この発明の他の局面によれば、情報処理装置は、１以上の他の情報処理装置と通信可能な情報処理装置であって、外部からデータと当該データに関連するユーザーを識別するためのユーザー識別情報とを受信する受信制御手段と、受信制御手段がユーザー識別情報を受信することに応じて、データの受信処理の進行状態に係わらず、データと、データとともに受信されるユーザー識別情報で特定されるユーザーと自装置とを関連付けた管理情報を生成し、生成された管理情報を１以上の他の情報処理装置と共有するデータ管理手段と、１以上の他の情報処理装置のうちユーザーにより操作される実行装置から実行装置を操作する操作ユーザーと管理情報により関連付けられたデータの送信が依頼されることに応じて、実行装置にデータを送信するデータ供給手段と、を備え、データ供給手段は、送信が依頼されたデータすべてが受信制御手段により受信されていない場合であっても、送信が依頼される前に受信制御手段により受信された部分を実行装置に送信する。
【００１４】
この局面に従えば、外部からデータとユーザー識別情報とを受信すると、データの受信処理の進行状態に係わらず、データとユーザー識別情報で特定されるユーザーと自装置とを関連付けた管理情報を１以上の他の情報処理装置と共有し、１以上の他の情報処理装置のうち実行装置から実行装置を操作する操作ユーザーと管理情報により関連付けられたデータの送信が依頼されることに応じて、実行装置にデータを送信するが、送信が依頼されたデータのすべてが受信されていない場合であっても、送信が依頼される前に受信された部分を実行装置に送信する。このため、データのすべてを受信する前の段階で、１以上の情報処理装置とそのデータを共有することができる。また、外部からデータのすべてを受信する前であっても実行装置にデータの送信を開始するので、実行装置においてデータの取得を開始するまでの時間を短くすることができる。その結果、１以上の他の情報処理装置との間でデータを共有するまでの時間を短縮することが可能な情報処理装置を提供することができる。
【００１５】
好ましくは、実行装置がデータを処理する処理条件を取得する処理条件取得手段を、さらに備え、データ供給手段は、取得された処理条件が所定の条件を含む場合は、受信制御手段によりデータのすべてが受信されていない場合は、受信制御手段によりデータのすべてが受信されるまで、データを実行装置に送信しない。
【００１６】
この局面に従えば、実行装置がデータを処理する処理条件を取得し、処理条件が所定の条件を含む場合は、データのすべてが受信されるまで、データを実行装置に送信しない。実行装置でデータを処理する条件によって、受信済のデータを送信する場合と、データのすべてが受信されるまでデータを送信しない場合とを切り換えるので、処理の負荷を低減することができる。
【００１７】
好ましくは、所定の条件は、データ中で互いに離れた位置に配置された２以上の部分を同時に処理する条件である。
【００１８】
この局面に従えば、処理条件がデータ中で互いに離れた位置に配置された２以上の部分を同時に処理する条件の場合に、データのすべてが受信されるまで、データを送信しない。このため、実行装置でデータのすべてを受信しなければ処理できない処理条件の場合は、データのすべてが受信された後に送信される。したがって、実行装置で処理できないデータを送信する処理を実行しないようにすることができる。
【００１９】
好ましくは、データ供給手段は、送信が依頼された後に第１の条件が成立することに応じて、データの送信を中止する。
【００２０】
この局面に従えば、送信が依頼された後に第１の条件が成立することに応じて、データの送信を中止するので、実行装置へのデータの送信を途中で中止することができる。
【００２１】
好ましくは、受信制御手段は、送信が依頼された後に第２の条件が成立することに応じて、データの受信を中止し、データ供給手段は、送信が依頼された後に第２の条件が成立することに応じて、データの送信を中止する。
【００２２】
この局面に従えば、送信が依頼された後に第２の条件が成立することに応じて、データの受信を中止するとともにデータの送信を中止するので、データの受信と送信とを途中で中止することができる。
【００２３】
好ましくは、受信制御手段により受信されるデータを記憶手段に格納する記憶制御手段を、さらに備え、記憶制御手段は、記憶手段へのデータの格納が完了する前に、第２の条件の成立に応じて、データの格納を中止する。
【００２４】
この局面に従えば、受信されるデータを記憶手段に格納するが、データの格納が完了する前に、第２の条件の成立に応じて、データの格納を中止するので、データの格納を途中で中止することができる。
【００２５】
好ましくは、記憶手段の残容量が不足する場合に、操作ユーザーに問い合わせる問い合わせ手段を、さらに備え、第２の条件は、操作ユーザーによる所定の操作を受け付けることに応じて成立する。
【００２６】
この局面に従えば、記憶手段の残容量が不足する場合に、操作ユーザーに問い合わせ、操作ユーザーによる所定の操作を受け付けることに応じて第２の条件が成立するので、ユーザーの操作によってデータの送受信と格納を途中で中止することができる。
【００２７】
好ましくは、受信制御手段により受信されるデータを記憶手段に格納する記憶制御手段を、さらに備え、データ供給手段は、記憶制御手段によりデータの少なくとも一部が記憶手段に格納されている場合、記憶手段に格納されたデータの少なくとも一部を実行装置に送信する。
【００２８】
この局面に従えば、受信されるデータが記憶手段に格納され、データの少なくとも一部が格納されている場合、記憶手段に格納されたデータの少なくとも一部を実行装置に送信する。この局面に従えば、記憶手段に格納されたデータの少なくとも一部を実行装置に送信するので、データのすべてを送信することができる。
【００２９】
好ましくは、記憶手段に格納されたデータを実行装置に送信した後に、データを記憶手段から消去する消去手段を、さらに備え、記憶制御手段は、データの記憶手段への格納が完了する前に送信が依頼される場合、データの記憶手段への格納を中止し、データ供給手段は、記憶制御手段によるデータの記憶手段への格納が中止された後に受信制御手段により受信される部分を実行装置に送信する。
【００３０】
この局面に従えば、記憶手段に格納されたデータを実行装置に送信した後に、データを消去するが、データの記憶手段への格納が完了する前にデータの送信が依頼される場合、データの記憶手段への格納を中止し、データの記憶手段への格納が中止された後に受信される部分を実行装置に送信する。このため、記憶手段に格納しても消去される部分を記憶手段に格納しないようにすることができる。したがって、不要な処理を実行しないようにして負荷を低減することができる。
【００３１】
好ましくは、記憶制御手段は、データの記憶手段への格納が完了する前に、記憶手段の残容量が不足する場合、データの記憶手段への格納を中止し、データ供給手段は、記憶制御手段によるデータの記憶手段への格納が中止した後に受信制御手段により受信される部分を実行装置に送信する。
【００３２】
この局面に従えば、データの記憶手段への格納が完了する前に、記憶手段の残容量が不足する場合、データの記憶手段への格納を中止し、データの記憶手段への格納を中止した後に受信される部分を実行装置に送信する。このため、記憶手段の残容量が不足する場合であってもデータを実行装置に送信することができる。
【００３３】
この発明のさらに他の局面によれば、データ共有方法は、１以上の他の情報処理装置と通信可能な情報処理装置で実行されるデータ共有方法であって、外部からデータと当該データに関連するユーザーを識別するためのユーザー識別情報とを受信する受信制御ステップと、受信制御ステップにおいてユーザー識別情報が受信されることに応じて、データの受信処理の進行状態に係わらず、データと、データとともに受信されるユーザー識別情報と自装置とを関連付けた管理情報を生成し、生成された管理情報を１以上の他の情報処理装置と共有するデータ管理ステップと、１以上の他の情報処理装置のうちユーザーにより操作される実行装置から実行装置を操作する操作ユーザーと関連付けられたデータの送信が依頼されることに応じて、実行装置にデータを送信するデータ供給ステップと、を含み、データ供給ステップは、送信が依頼されたデータすべてが受信制御ステップにおいて受信されていない場合であっても、送信が依頼される前に受信制御ステップにおいて受信された部分を実行装置に送信するステップを含む。
【００３４】
この局面に従えば、１以上の他の情報処理装置との間でデータを共有するまでの時間を短縮することが可能なデータ共有方法を提供することができる。
【００３５】
この発明のさらに他の局面によれば、データ共有プログラムは、１以上の他の情報処理装置と通信可能な情報処理装置を制御するコンピューターで実行されるデータ共有プログラムであって、外部からデータと当該データに関連するユーザーを識別するためのユーザー識別情報とを受信する受信制御ステップと、受信制御ステップにおいてユーザー識別情報が受信されることに応じて、データの受信処理の進行状態に係わらず、データと、データとともに受信されるユーザー識別情報と自装置とを関連付けた管理情報を生成し、生成された管理情報を１以上の他の情報処理装置と共有するデータ管理ステップと、１以上の他の情報処理装置のうちユーザーにより操作される実行装置から実行装置を操作する操作ユーザーと関連付けられたデータの送信が依頼されることに応じて、実行装置にデータを送信するデータ供給ステップと、をコンピューターに実行させ、データ供給ステップは、送信が依頼されたデータすべてが受信制御ステップにおいて受信されていない場合であっても、送信が依頼される前に受信制御手段により受信された部分を実行装置に送信するステップを含む。
【００３６】
この局面に従えば、１以上の他の情報処理装置との間でデータを共有するまでの時間を短縮することが可能なデータ共有プログラムを提供することができる。
【図面の簡単な説明】
【００３７】
【図１】本発明の実施の形態の１つにおける情報処理システムの全体概要を示す図である。
【図２】ＭＦＰの外観を示す斜視図である。
【図３】ＭＦＰのハードウェア構成の概要を示すブロック図である。
【図４】ＭＦＰが備えるＣＰＵの機能の一例を示すブロック図である。
【図５】キャンセル指示画面の一例を示す図である。
【図６】受信制御処理の流れの一例を示すフローチャートである。
【図７】記憶制御処理の流れの一例を示すフローチャートである。
【図８】データ共有処理の流れの一例を示すフローチャートである。
【図９】送信制御処理の流れの一例を示す第１のフローチャートである。
【図１０】送信制御処理の流れの一例を示す第２のフローチャートである。
【図１１】ジョブ実行処理の流れの一例を示すフローチャートである。
【図１２】操作受付処理の流れの一例を示すフローチャートである。
【発明を実施するための形態】
【００３８】
以下、本発明の実施の形態について図面を参照して説明する。以下の説明では同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがってそれらについての詳細な説明は繰返さない。
【００３９】
図１は、本発明の実施の形態の１つにおける情報処理システムの全体概要を示す図である。図１を参照して、情報処理システム１は、ＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）１００，１００Ａ〜１００Ｃと、ＰＣ２００，２００Ａ〜２００Ｃとを含む。ＭＦＰ１００，１００Ａ〜１００Ｃ、およびＰＣ２００，２００Ａ〜２００Ｃは、情報処理装置の一例であり、ネットワーク３に接続される。
【００４０】
ネットワーク３は、ローカルエリアネットワーク（ＬＡＮ）であり、接続形態は有線または無線を問わない。また、ネットワーク３は、ＬＡＮに限らず、ワイドエリアネットワーク（ＷＡＮ）、公衆交換電話網（ＰＳＴＮ）、インターネット等であってもよい。
【００４１】
ＰＣ２００，２００Ａ，２００Ｂ，２００Ｃは、一般的なコンピューターである。ＰＣ２００，２００Ａ，２００Ｂ，２００Ｃそれぞれは、ＭＦＰ１００，１００Ａ，１００Ｂに対応するプリンタードライバープログラムがインストールされており、プリンタードライバープログラムを実行することにより、ＭＦＰ１００，１００Ａ〜１００Ｃのいずれかを制御して、プリントジョブを実行させることが可能である。ＰＣ２００，２００Ａ〜２００Ｃは、一般的なコンピューターであり、それらのハードウェア構成は周知なので、ここでは詳細な説明は繰り返さない。
【００４２】
ＭＦＰ１００，１００Ａ〜１００Ｃのハードウェア構成および機能は同じなので、ここでは特に言及しない限りＭＦＰ１００を例に説明する。本実施の形態においては、ＭＦＰ１００，１００Ａ〜１００Ｃは、互いに通信することによりデータを共有することが可能であり、ユビキタスプリント機能を実現する。これにより、ユーザーは、ＭＦＰ１００，１００Ａ〜１００Ｃの別を意識することなく操作することができる。ＭＦＰ１００，１００Ａ〜１００Ｃは、ユビキタスプリント機能を実現するために、互いに他の装置を登録する。例えば、ＭＦＰ１００は、他のＭＦＰ１００Ａ〜１００Ｃを登録している。具体的には、ＭＦＰ１００は、他のＭＦＰ１００Ａ〜１００Ｃそれぞれを識別するための装置識別情報を記憶している。装置識別情報は、例えば、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）等のネットワークアドレスである。
【００４３】
具体的には、ＭＦＰ１００，１００Ａ〜１００Ｃを使用することが認められた１以上のユーザーが、ＭＦＰ１００，１００Ａ〜１００Ｃそれぞれに登録されている。ここでは、ＭＦＰ１００，１００Ａ〜１００Ｃを使用することが認められた複数のユーザーが登録されている場合を例に説明する。ユーザーがＭＦＰ１００，１００Ａ〜１００Ｃのいずれかを操作する場合、ユーザーが操作する装置が、ユーザーを認証する。認証方法は、限定するものではないが、ここでは、ユーザーＩＤとパスワードとの組を用いた認証方法としている。このため、ＭＦＰ１００，１００Ａ〜１００Ｃは、登録された複数のユーザーそれぞれの認証情報を共有し、ユーザーにより入力される認証情報と、登録された認証情報とを比較することにより、ユーザーを認証する。
【００４４】
例えば、ユーザーがＰＣ２００を操作して、ＰＣ２００からＭＦＰ１００Ａに送信したジョブは、ＭＦＰ１００Ａに一時的に記憶される。その後、ユーザーがＭＦＰ１００を操作する場合、ＭＦＰ１００は、ＭＦＰ１００にログインしたユーザーのジョブの有無を、ＭＦＰ１００Ａ〜１００Ｃに問合せ、ユーザーがＰＣ２００からＭＦＰ１００Ａに送信したジョブのジョブ識別情報をＭＦＰ１００Ａから取得し、そのジョブのジョブ識別情報をユーザーに通知する。ユーザーがそのジョブ識別情報を選択して、プリントを指示すれば、ＭＦＰ１００は、ＭＦＰ１００Ａからそのジョブを取得し、プリントする。
【００４５】
図２は、ＭＦＰの外観を示す斜視図である。図３は、ＭＦＰのハードウェア構成の概要を示すブロック図である。図２および図３を参照して、ＭＦＰ１００は、メイン回路１１０と、原稿を読み取るための原稿読取部１３０と、原稿を原稿読取部１３０に搬送するための自動原稿搬送装置１２０と、原稿読取部１３０が原稿を読み取って出力する画像データに基づいて用紙等に画像を形成するための画像形成部１４０と、画像形成部１４０に用紙を供給するための給紙部１５０と、画像が形成された用紙を処理する後処理部１５５と、ユーザーインターフェースとしての操作パネル１６０とを含む。
【００４６】
後処理部１５５は、画像形成部１４０により画像が形成された１以上の用紙を並び替えて排紙するソート処理、パンチ穴加工するパンチ処理、ステープル針を打ち込むステープル処理を実行する。
【００４７】
メイン回路１１０は、ＣＰＵ１１１と、通信インターフェース（Ｉ／Ｆ）部１１２と、ＲＯＭ１１３と、ＲＡＭ１１４と、大容量記憶装置としてのハードディスクドライブ（ＨＤＤ）１１５と、ファクシミリ部１１６と、ＣＤ−ＲＯＭ１１８が装着される外部記憶装置１１７と、を含む。ＣＰＵ１１１は、自動原稿搬送装置１２０、原稿読取部１３０、画像形成部１４０、給紙部１５０、後処理部１５５および操作パネル１６０と接続され、ＭＦＰ１００の全体を制御する。
【００４８】
ＲＯＭ１１３は、ＣＰＵ１１１が実行するプログラム、またはそのプログラムを実行するために必要なデータを記憶する。ＲＡＭ１１４は、ＣＰＵ１１１がプログラムを実行する際の作業領域として用いられる。さらに、ＲＡＭ１１４は、原稿読取部１３０から連続的に送られてくる読取データ（画像データ）を一時的に記憶する。
【００４９】
通信Ｉ／Ｆ部１１２は、ＭＦＰ１００をネットワーク３に接続するためのインターフェースである。ＣＰＵ１１１は、通信Ｉ／Ｆ部１１２を介して、他のＭＦＰ１００Ａ〜１００Ｃ、ＰＣ２００，２００Ａ〜２００Ｃとの間で通信し、データを送受信する。また、通信Ｉ／Ｆ部１１２は、ネットワーク３を介してインターネットに接続されたコンピューターと通信が可能である。
【００５０】
ファクシミリ部１１６は、公衆交換電話網（ＰＳＴＮ）に接続され、ＰＳＴＮにファクシミリデータを送信する、またはＰＳＴＮからファクシミリデータを受信する。ファクシミリ部１１６は、受信したファクシミリデータを、ＨＤＤ１１５に記憶する、または画像形成部１４０に出力する。画像形成部１４０は、ファクシミリ部１１６により受信されたファクシミリデータを用紙にプリントする。また、ファクシミリ部１１６は、ＨＤＤ１１５に記憶されたデータをファクシミリデータに変換して、ＰＳＴＮに接続されたファクシミリ装置に送信する。
【００５１】
外部記憶装置１１７は、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ  ＲＯＭ）１１８が装着される。ＣＰＵ１１１は、外部記憶装置１１７を介してＣＤ−ＲＯＭ１１８にアクセス可能である。ＣＰＵ１１１は、外部記憶装置１１７に装着されたＣＤ−ＲＯＭ１１８に記録されたプログラムをＲＡＭ１１４にロードして実行する。なお、ＣＰＵ１１１が実行するプログラムを記憶する媒体としては、ＣＤ−ＲＯＭ１１８に限られず、光ディスク（ＭＯ（Ｍａｇｎｅｔｉｃ  Ｏｐｔｉｃａｌ  Ｄｉｓｃ）／ＭＤ（Ｍｉｎｉ  Ｄｉｓｃ）／ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ））、ＩＣカード、光カード、マスクＲＯＭ、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）などの半導体メモリであってもよい。
【００５２】
また、ＣＰＵ１１１が実行するプログラムは、ＣＤ−ＲＯＭ１１８に記録されたプログラムに限られず、ＨＤＤ１１５に記憶されたプログラムをＲＡＭ１１４にロードして実行するようにしてもよい。この場合、ネットワーク３に接続された他のコンピューターが、ＭＦＰ１００のＨＤＤ１１５に記憶されたプログラムを書換える、または、新たなプログラムを追加して書き込むようにしてもよい。さらに、ＭＦＰ１００が、ネットワーク３に接続された他のコンピューターからプログラムをダウンロードして、そのプログラムをＨＤＤ１１５に記憶するようにしてもよい。ここでいうプログラムは、ＣＰＵ１１１が直接実行可能なプログラムだけでなく、ソースプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
【００５３】
操作パネル１６０は、ＭＦＰ１００の上面に設けられ、表示部１６１と操作部１６３とを含む。表示部１６１は、例えば、液晶表示装置（ＬＣＤ）または有機ＬＥ（ｅｌｅｃｔｒｏｌｕｍｉｎｅｓｃｅｎｃｅ）ディスプレイであり、ユーザーに対する指示メニューや取得した画像データに関する情報等を表示する。操作部１６３は、タッチパネル１６５と、ハードキー部１６７とを含む。タッチパネル１６５は、表示部１６１の上面または下面に表示部１６１に重畳して設けられる。ハードキー部１６７は、複数のハードキーを含む。ハードキーは、例えば接点スイッチである。タッチパネル１６５は、表示部１６１の表示面中でユーザーにより指示された位置を検出する。ユーザーがＭＦＰ１００を操作する場合は直立した姿勢となる場合が多いので、表示部１６１の表示面、タッチパネル１６５の操作面およびハードキー部１６７は、上方を向いて配置される。ユーザーが表示部１６１の表示面を容易に視認することができ、ユーザーが指で操作部１６３を容易に指示することができるようにするためである。
【００５４】
図４は、ＭＦＰが備えるＣＰＵの機能の一例を示すブロック図である。図４に示す機能は、ＭＦＰ１００が備えるＣＰＵ１１１が、ＲＯＭ１１３、ＨＤＤ１１５、ＣＤ−ＲＯＭ１１８に記憶されたデータ共有プログラムを実行することにより、ＣＰＵ１１１に形成される機能である。図４を参照して、ＣＰＵ１１１は、受信制御部５１と、記憶制御部５３と、データ管理部５５と、操作ユーザー検出部５７と、データ特定部５９と、データ取得部６１と、第１ジョブ実行部６３と、第２ジョブ実行部６５と、データ供給部６７と、キャンセル受付部６９と、条件取得部７０と、を含む。
【００５５】
ＭＦＰ１００は、ＰＣ２００，２００Ａ〜２００Ｃのいずれかからプリントジョブを受信して記憶する蓄積装置として機能するとともに、ユーザーの操作を受け付けてプリントジョブを実行する実行装置として機能する。ＭＦＰ１００が蓄積装置として機能する場合、ＭＦＰ１００は実行装置として機能する場合と、蓄積されたプリントジョブをＭＦＰ１００Ａ〜１００Ｃのうち実行装置として機能する装置に送信する送信装置として機能する場合とがある。ＭＦＰ１００が蓄積装置として機能するとともに実行装置として機能する場合を蓄積実行装置といい、ＭＦＰ１００が蓄積装置として機能するとともに送信装置として機能する場合を蓄積送信装置という。また、ＭＦＰ１００が蓄積装置として機能することなく、実行装置として機能する場合があり、この場合、実行装置として機能するＭＦＰ１００に対して、ＭＦＰ１００Ａ〜１００Ｃのいずれかが蓄積送信装置として機能する。
【００５６】
＜蓄積装置＞
ＭＦＰ１００が蓄積装置として機能する場合にＣＰＵ１１１が有する機能について説明する。蓄積装置として機能するＣＰＵ１１１は、受信制御部５１と、記憶制御部と、データ管理部５５と、を含む。
【００５７】
受信制御部５１は、通信Ｉ／Ｆ部１１２を制御し、外部から受信されるデータを取得する。受信制御部５１は、蓄積装置として機能する場合、通信Ｉ／Ｆ部１１２がＰＣ２００，２００Ａ〜２００Ｃのいずれかからプリントジョブを受信する。ここでは、ＰＣ２００からプリントジョブを受信する場合を例に説明する。受信制御部５１は、ＰＣ２００からプリントジョブを受信することに応じて、プリントジョブを記憶制御部５３およびデータ管理部５５に出力する。
【００５８】
プリントジョブは、複数のパケットに分割して送信されるので、受信制御部５１は、パケット単位でプリントジョブの一部を受信し、複数のパケットからプリントジョブを組み立てる。具体的には、通信Ｉ／Ｆ部１１２は、ＣＰＵ１１１と通信Ｉ／Ｆ部１１２との間に受信バッファが設けられている。ここでは、受信バッファは、ＲＡＭ１１４の一部の領域としている。通信Ｉ／Ｆ部１１２およびＣＰＵ１１１は、ファーストインファーストアウト方式で受信バッファにデータを格納し、受信バッファからデータを読出す。通信Ｉ／Ｆ部１１２は、パケットを受信するごとに、受信バッファにそのパケットを受信する。受信制御部５１は、受信バッファに記憶されたパケットを順に読出し、１以上のパケットそれぞれのヘッダを解析して、プリントジョブを再生する。受信制御部５１は、プリントジョブの全てが再生される前であっても、プリントジョブのうち再生された部分から順に出力する。
【００５９】
例えば、プリントジョブのフォーマットは、ヘッダ部とデータ部とからなる。ヘッダ部は、プリントジョブの送信を指示したユーザーのユーザー識別情報と、プリント条件と、を含む。なお、プリントジョブは、ヘッダ部にプリント条件を含む場合と、プリント条件を含まない場合とがある。データ部は、プリントの対象となるプリントデータを含む。例えば、受信制御部５１は、プリントジョブのヘッダ部を再生した段階で、ヘッダ部を出力し、データ部を再生した段階で、データ部を出力する。また、データ部に含まれるプリントデータが複数ページで構成される場合がある。この場合には、受信制御部５１は、データ部のうち１ページのプリントデータが再生されるごとに、再生されたページのプリントデータを出力する。なお、受信制御部５１は、蓄積装置として機能する場合に、データ管理部５５には、ヘッダ部のみを出力するようにし、データ部を出力しないようにしてもよい。
【００６０】
記憶制御部５３は、ＨＤＤ１１５を制御して受信制御部５１から入力されるプリントジョブをＨＤＤ１１５に記憶する。プリントジョブは、ヘッダ部にユーザー識別情報を含むので、記憶制御部５３は、プリントデータの送信を指示したユーザーとプリントデータとを関連付けてＨＤＤ１１５に記憶する。また、記憶制御部５３は、受信制御部５１からプリントジョブの一部が入力されるごとに、ＨＤＤ１１５に入力された部分を順に記憶する。このため、受信制御部５１がプリントジョブを受信している間に、記憶制御部５３がプリントジョブをＨＤＤ１１５に記憶する場合がある。
【００６１】
例えば、記憶制御部５３は、受信制御部５１からヘッダ部が入力される段階で、ＨＤＤ１１５にプリントジョブを識別するためのジョブ識別情報のファイル名のファイルを生成し、生成されたファイルにヘッダ部を記憶する。そして、記憶制御部５３は、受信制御部５１からデータ部が入力される段階で、ＨＤＤ１１５に記憶されているファイルに、データ部を追加して記憶する。したがって、記憶制御部５３がプリントデータのヘッダ部をＨＤＤ１１５に記憶している間に、受信制御部５１がプリントデータを受信する場合があり、記憶制御部５３が第Ｎページ（Ｎは正の整数）のプリントデータをＨＤＤ１１５に記憶している間に、受信制御部５１が第Ｎページより後のページのプリントデータを受信する場合がある。
【００６２】
データ管理部５５は、ユビキタスプリント機能を実現するために登録されたＭＦＰ１００，１００Ａ〜１００Ｃそれぞれが有する機能であり、ＨＤＤ１１５に記憶されたプリントジョブを管理する。データ管理部５５は、ＭＦＰ１００，１００Ａ〜１００ＣそれぞれのＨＤＤ１１５に記憶されたプリントジョブを識別するためのジョブ識別情報と、そのプリントジョブに関連付けられたユーザーを識別するためのユーザー識別情報と、そのプリントジョブが記憶された装置を識別するための装置識別情報とを関連付けた管理情報を、ＭＦＰ１００，１００Ａ〜１００Ｃで共有する。また、データ管理部５５は、管理情報をデータ特定部５９に出力する。
【００６３】
データ管理部５５は、受信制御部５１からプリントジョブが入力されることに応じて、そのプリントジョブを識別するためのジョブ識別情報と、プリントジョブの実行を指示したユーザーを識別するためのユーザー識別情報と、自装置の装置識別情報とを含む管理情報を生成する。受信制御部５１は、プリントジョブの全てを受信する前の段階で、プリントジョブのヘッダ部を出力するので、データ管理部５５は、ヘッダ部が入力された段階で管理情報を生成する。このため、データ管理部５５は、通信Ｉ／Ｆ部１１２がプリントジョブの全てを受信する前の段階で、そのプリントジョブに対応する管理情報を生成する。
【００６４】
データ管理部５５は、管理情報送信部７１と管理情報受信部７３とを含む。管理情報送信部７１は、受信制御部５１からプリントデータが入力されることに応じて生成された管理情報を、通信Ｉ／Ｆ部１１２を制御して、他のＭＦＰ１００Ａ〜１００Ｃそれぞれに送信する。また、管理情報送信部７１は、管理情報が消去される場合、その管理情報が消去されたことを示す消去情報を、通信Ｉ／Ｆ部１１２を制御して、他のＭＦＰ１００Ａ〜１００Ｃそれぞれに送信する。
【００６５】
管理情報受信部７３は、通信Ｉ／Ｆ部１１２を制御して、他のＭＦＰ１００Ａ〜１００Ｃのうち蓄積装置から管理情報を受信する。また、管理情報受信部７３は、蓄積装置から消去情報を受信する場合、消去情報で特定される管理情報を消去する。
【００６６】
＜蓄積実行装置＞
ＭＦＰ１００が蓄積実行装置として機能する場合にＣＰＵ１１１が有する機能について説明する。蓄積実行装置として機能する場合にＣＰＵ１１１は、蓄積装置として機能するための受信制御部５１、記憶制御部、データ管理部５５に加えて、操作ユーザー検出部５７と、データ特定部５９と、データ取得部６１と、第１ジョブ実行部６３と、を含む。
【００６７】
操作ユーザー検出部５７は、ＭＦＰ１００を操作するユーザーを検出する。操作ユーザー検出部５７は、認証部７５を含む。認証部７５は、操作部１６３を操作するユーザーまたはＭＦＰ１００を遠隔操作するユーザーを認証する。操作ユーザー検出部５７は、認証部７５によって、操作部１６３を操作するユーザーが認証されると、そのユーザーを識別するためのユーザー識別情報をデータ特定部５９に出力する。
【００６８】
例えば、認証部７５は、表示部１６１にログイン画面を表示し、ユーザーがログイン画面に従って操作部１６３に入力するユーザーＩＤおよびパスワードを受け付ける。認証部７５は、操作部１６３によって受け付けられたユーザーＩＤおよびパスワードを、予め記憶された認証情報と比較し、操作部１６３によって受け付けられたユーザーＩＤおよびパスワードが認証情報として記憶されていれば、操作部１６３を操作するユーザーを認証する。
【００６９】
ユーザーは、ＰＣ２００，２００Ａ〜２００Ｃのいずれかを操作してＭＦＰ１００を遠隔操作することが可能である。例えば、ユーザーがＰＣ２００を操作してＭＦＰ１００を遠隔操作する場合、認証部７５は、通信Ｉ／Ｆ部１１２を介してＰＣ２００にログイン画面を送信する。ＰＣ２００を操作するユーザーが、ＰＣ２００に表示されるログイン画面に従ってＰＣ２００にユーザーＩＤおよびパスワードを入力すれば、ＰＣ２００がそれらをＭＦＰ１００に送信する。認証部７５は、通信Ｉ／Ｆ部１１２がＰＣ２００から受信するユーザーＩＤおよびパスワードを受け付ける。認証部７５は、ＰＣ２００から受信したユーザーＩＤおよびパスワードを、予め記憶された認証情報と比較し、ＰＣ２００から受信したユーザーＩＤおよびパスワードが認証情報として記憶されていれば、ＰＣ２００を操作するユーザーを認証する。認証部７５は、ＰＣ２００を操作するユーザーを認証する場合、そのユーザーを識別するためのユーザー識別情報をデータ特定部５９に出力する。なお、ＭＦＰ１００を遠隔操作可能な装置は、ＰＣ２００に限られず、ＭＦＰ１００に対して専用に準備された遠隔操作装置であってもよいし、スマートフォン等の携帯情報装置であってもよい。
【００７０】
データ特定部５９は、操作ユーザー検出部５７から操作ユーザーのユーザー識別情報が入力されることに応じて、管理情報を特定する。具体的には、データ管理部５５から入力される管理情報のうちから、操作ユーザーのユーザー識別情報と同じユーザー識別情報を含む管理情報を抽出する。データ特定部５９は、抽出された管理情報をデータ取得部６１に出力する。
【００７１】
データ取得部６１は、データ特定部５９から管理情報が入力される場合、表示部１６１にジョブ選択画面を表示し、ユーザーが操作部１６３に入力操作に従って、プリントジョブを選択する。ジョブ選択画面は、管理情報に含まれるジョブ識別情報を選択可能に表示する画面である。データ特定部５９から複数の管理情報が入力される場合、ジョブ選択画面は、複数の管理情報にそれぞれ含まれる複数のジョブ識別情報を配列して選択可能に表示する画面である。データ取得部６１は、ユーザーが操作部１６３に入力する操作に従ってジョブ識別情報を選択することに応じて、そのジョブ識別情報で特定されるプリントジョブを取得する。
【００７２】
データ取得部６１は、ユーザーにより選択されたジョブ識別情報を含む管理情報を参照して、その管理情報に含まれる装置識別情報で識別される装置を、ジョブ識別情報で識別されるプリントジョブを記憶する装置に決定する。データ取得部６１は、読出部７７と、送信依頼部７９と、を含む。
【００７３】
読出部７７は、プリントジョブを取得し、第１ジョブ実行部６３に出力する。読出部７７は、プリントジョブがＨＤＤ１１５にジョブファイルとして記憶されている場合には、ジョブファイルに格納されたプリントジョブを読み出す。読出部７７は、受信制御部５１によりプリントジョブの受信が完了していない場合、ＨＤＤ１１５にプリントジョブの一部がジョブファイルとして記憶されている場合がある。読出部７７は、受信制御部５１によりプリントジョブの受信が完了していない場合には、ジョブファイルに格納されたプリントジョブの部分を読み出したのち、受信制御部５１により残部分が受信されるごとに、受信された残部分を取得する。読出部７７は、プリントジョブの一部が取得されるごとに、取得された部分を第１ジョブ実行部６３に出力する。
【００７４】
第１ジョブ実行部６３は、画像形成部１４０および給紙部１５０を制御して、読出部７７から入力されるプリントジョブに含まれるプリント条件に従って、そのプリントジョブに含まれるプリントデータの画像を形成する。また、第１ジョブ実行部６３は、ユーザーが操作部１６３にプリント条件を入力する場合は、ユーザーにより入力されたプリント条件を受け付け、画像形成部１４０および給紙部１５０を制御して、受け付けられたプリント条件に従って、プリントジョブに含まれるプリントデータの画像を用紙に形成する。
【００７５】
第１ジョブ実行部６３は、第１キャンセル部８１を含む。第１キャンセル部８１は、ユーザーが操作部１６３に入力する第１〜第３キャンセル指示を受け付ける。第１キャンセル部８１は、キャンセル指示画面を表示部１６１に表示し、ユーザーがキャンセル指示画面に従って入力する操作を操作部１６３が受け付ける場合に、第１〜第３キャンセル指示のいずれかを受け付ける。第１キャンセル指示は、ＭＦＰ１００とは別のＭＦＰ１００Ａ〜１００Ｃのいずれか、または、時間を異ならせてＭＦＰ１００でプリントジョブを実行させるために、ＭＦＰ１００でのプリントジョブの実行を中止させるための指示である。第２キャンセル指示は、プリントジョブを廃棄して、新たなプリントジョブを生成するために、プリントジョブの実行を中止させるための指示である。第３キャンセル指示は、プリント条件を変更する等のために、プリントジョブの実行を一時的に中止させるための指示である。
【００７６】
図５は、キャンセル指示画面の一例を示す図である。キャンセル指示画面３００は、指示ボタン３０１〜３０３を含む。指示ボタン３０１は、第１キャンセル指示が割当てられる。指示ボタン３０２は、第２キャンセル指示が割り当てられる。指示ボタン３０３は、第３キャンセル指示が割り当てられる。
【００７７】
図４に戻って、第１キャンセル部８１は、さらに、ＨＤＤ１１５の残量が少なくなる場合、表示部１６１に問合せ画面を表示する。問合せ画面は、プリントジョブの実行を継続するか否かをユーザーに問い合わせる画面である。第１キャンセル部８１は、問合せ画面を表示した後に、ユーザーが操作部１６３にプリントジョブの中止を指示する操作を入力する場合、第２キャンセル指示を受け付ける。
【００７８】
なお、第１キャンセル部８１は、キャンセル指示画面を表示することなく、操作部１６３が有する複数のハードキーのいずれかに、第１〜第３キャンセル指示それぞれを受け付けるための操作を割り当てておき、キーの押下を検出することにより、第１〜第３キャンセル指示のいずれかを受け付けるようにしてもよい。
【００７９】
第１ジョブ実行部６３は、第１キャンセル指示が受け付けられる場合、プリントジョブの実行を中止するとともに、データ取得部６１に中止指示を出力し、読出部７７によるプリントジョブの読出しを中止させる。中止指示は、実行を中止したプリントジョブのジョブ識別情報を含む。この場合、受信制御部５１はＰＣ２００からプリントジョブを受信し、記憶制御部５３は受信制御部５１により受信されたプリントジョブをＨＤＤ１１５に記憶するので、プリントジョブは、蓄積実行装置であるＭＦＰ１００のＨＤＤ１１５に記憶される。
【００８０】
第１ジョブ実行部６３は、第２キャンセル指示が受け付けられる場合、プリントジョブの実行を中止するとともに、受信制御部５１および記憶制御部５３に中止指示を出力し、受信制御部５１にプリントジョブの受信を中止させ、記憶制御部５３にプリントジョブの記憶を中止させる。受信制御部５１は、プリントジョブの受信を中止する場合、データ管理部５５にプリントジョブの受信を中止したことを通知する。データ管理部５５は、プリントジョブの受信が中止される場合、そのプリントジョブに対応する管理情報を消去する。このため、プリントジョブは、蓄積実行装置であるＭＦＰ１００のＨＤＤ１１５から消去され、そのプリントジョブに対応する管理情報が、ＭＦＰ１００，１００Ａ〜１００Ｃそれぞれで消去される。
【００８１】
第１ジョブ実行部６３は、第３キャンセル指示が受け付けられる場合、ジョブの実行を中止する。この場合、受信制御部５１はＰＣ２００からプリントジョブを受信し、記憶制御部５３は受信制御部５１により受信されたプリントジョブをＨＤＤ１１５に記憶するので、プリントジョブは、蓄積実行装置であるＭＦＰ１００のＨＤＤ１１５に記憶される。第１ジョブ実行部６３は、その後に再開指示が受け付けられる場合、データ取得部６１により取得されたプリントジョブを実行する。
【００８２】
＜蓄積装置でない実行装置＞
ＭＦＰ１００が蓄積装置でない実行装置として機能する場合にＣＰＵ１１１が有する機能について説明する。蓄積装置でない実行装置として機能する場合にＣＰＵ１１１は、受信制御部５１と、記憶制御部と、データ管理部５５と、操作ユーザー検出部５７と、データ取得部６１と、第２ジョブ実行部６５と、を含む。ＭＦＰ１００が蓄積装置でない実行装置として機能する場合、プリントジョブの送信を依頼する蓄積送信装置が存在する。ここでは、ＭＦＰ１００Ａが蓄積送信装置となる場合を例に説明する。
【００８３】
データ管理部５５は、管理情報を、ＭＦＰ１００，１００Ａ〜１００Ｃで共有し、管理情報をデータ特定部５９に出力する。データ管理部５５は、管理情報受信部７３を含む。管理情報受信部７３は、通信Ｉ／Ｆ部１１２を制御して、他のＭＦＰ１００Ａ〜１００Ｃのうち蓄積送信装置であるＭＦＰ１００Ａから管理情報を受信する。また、管理情報受信部７３は、蓄積送信装置であるＭＦＰ１００Ａから消去情報を受信する場合、消去情報で特定される管理情報を消去する。
【００８４】
操作ユーザー検出部５７は、ＭＦＰ１００を操作するユーザーを検出する。操作ユーザー検出部５７は、認証部７５を含む。認証部７５は、操作部１６３を操作するユーザーまたはＭＦＰ１００を遠隔操作するユーザーを認証する。操作ユーザー検出部５７は、認証部７５によって、操作部１６３を操作するユーザーが認証されると、そのユーザーを識別するためのユーザー識別情報をデータ特定部５９に出力する。
【００８５】
データ特定部５９は、操作ユーザー検出部５７から操作ユーザーのユーザー識別情報が入力されることに応じて、管理情報を特定する。具体的には、データ管理部５５から入力される管理情報のうちから、操作ユーザーのユーザー識別情報と同じユーザー識別情報を含む管理情報を抽出する。データ特定部５９は、抽出された管理情報をデータ取得部６１に出力する。
【００８６】
データ取得部６１は、データ特定部５９から管理情報が入力される場合、表示部１６１にジョブ選択画面を表示し、ユーザーが操作部１６３に入力操作に従って、プリントジョブを選択する。データ取得部６１は、送信依頼部７９を含む。
【００８７】
送信依頼部７９は、ユーザーが操作部１６３に入力する操作に従ってジョブ識別情報を選択することに応じて、選択されたジョブ識別情報と管理情報により関連付けられた装置識別情報で特定される装置を蓄積送信装置に決定し、蓄積送信装置に送信依頼を送信する。ここでは、蓄積送信装置としてＭＦＰ１００Ａが決定される。具体的には、送信依頼部７９は、通信Ｉ／Ｆ部１１２を制御して、プリントジョブの送信を依頼する送信依頼コマンドを蓄積送信装置であるＭＦＰ１００Ａに送信する。送信依頼コマンドはジョブ識別情報を含む。蓄積送信装置であるＭＦＰ１００Ａは、送信依頼コマンドを受信することに応じて、送信依頼コマンドで特定されるプリントジョブを送信するので、通信Ｉ／Ｆ部１１２によってプリントジョブが受信される。
【００８８】
受信制御部５１は、通信Ｉ／Ｆ部１１２を制御して、蓄積送信装置であるＭＦＰ１００Ａからプリントジョブを受信する。受信制御部５１は、ＭＦＰ１００Ａからプリントジョブを受信することに応じて、プリントジョブを記憶制御部５３に出力する。受信制御部５１は、プリントジョブをデータ管理部５５に出力しない。プリントジョブは、複数のパケットに分割して送信されるので、受信制御部５１は、パケット単位でプリントジョブの一部を受信し、複数のパケットからプリントジョブを組み立てる。受信制御部５１は、受信バッファに記憶されたパケットを順に読出し、１以上のパケットそれぞれのヘッダを解析して、プリントジョブを再生する。受信制御部５１は、プリントジョブの全てが再生される前であっても、プリントジョブのうち再生された部分から順に記憶制御部５３に出力する。
【００８９】
記憶制御部５３は、ＨＤＤ１１５を制御して受信制御部５１から入力されるプリントジョブをＨＤＤ１１５に記憶する。記憶制御部５３は、受信制御部５１からプリントジョブの一部が入力されるごとに、ＨＤＤ１１５に入力された部分を順に記憶する。このため、受信制御部５１がプリントジョブを受信している間に、記憶制御部５３がプリントジョブをＨＤＤ１１５に記憶する場合がある。
【００９０】
送信依頼部７９は、蓄積送信装置であるＭＦＰ１００Ａに送信依頼コマンドを送信した後、ＭＦＰ１００Ａが送信するプリントジョブを取得し、取得されたプリントジョブを第２ジョブ実行部６５に出力する。送信依頼部７９は、プリントジョブがＨＤＤ１１５にジョブファイルとして記憶されている場合には、ジョブファイルに格納されたプリントジョブを読み出す。送信依頼部７９は、ＨＤＤ１１５にプリントジョブの一部がジョブファイルとして記憶されている場合には、ジョブファイルに格納されたプリントジョブの部分を読み出したのち、残部分を受信制御部５１が通信Ｉ／Ｆ部１１２を制御して受信するごとに、受信された残部分を取得する。送信依頼部７９は、プリントジョブの一部が取得されるごとに、取得された部分を第２ジョブ実行部６５に出力する。
【００９１】
第２ジョブ実行部６５は、画像形成部１４０および給紙部１５０を制御して、送信依頼部７９から入力されるプリントジョブに含まれるプリント条件に従って、そのプリントジョブに含まれるプリントデータの画像を形成する。また、第２ジョブ実行部６５は、ユーザーが操作部１６３にプリント条件を入力する場合は、ユーザーにより入力されたプリント条件を受け付け、画像形成部１４０および給紙部１５０を制御して、受け付けられたプリント条件に従って、プリントジョブに含まれるプリントデータの画像を用紙に形成する。
【００９２】
第２ジョブ実行部６５は、条件通知部８３と、第２キャンセル部８５と、を含む。条件通知部８３は、ユーザーが操作部１６３に入力するプリント条件を含む条件情報を、送信依頼部７９がプリントジョブの送信を依頼した蓄積送信装置であるＭＦＰ１００Ａに送信する。条件情報は、実行の対象となるプリントジョブのジョブ識別情報を含む。
【００９３】
第２キャンセル部８５は、ユーザーが操作部１６３に入力する第１〜第３キャンセル指示を受け付ける。第２キャンセル部８５は、図５に示したキャンセル指示画面を表示部１６１に表示し、ユーザーがキャンセル指示画面に従って入力する操作を操作部１６３が受け付ける場合に、第１〜第３キャンセル指示のいずれかを受け付ける。なお、第２キャンセル部８５は、キャンセル指示画面を表示することなく、操作部１６３が有する複数のハードキーのいずれかに、第１〜第３キャンセル指示それぞれを受け付けるための操作を割り当てておき、キーの押下を検出することにより、第１〜第３キャンセル指示のいずれかを受け付けるようにしてもよい。
【００９４】
また、第２キャンセル部８５は、蓄積送信装置であるＭＦＰ１００Ａが備えるＨＤＤ１１５の残量が所定のしきい値以下となる場合、表示部１６１に問合せ画面を表示する。問合せ画面は、プリントジョブの実行を継続するか否かをユーザーに問い合わせる画面である。第２キャンセル部８５は、問合せ画面を表示した後に、ユーザーが操作部１６３にプリントジョブの中止を指示する操作を入力する場合、第２キャンセル指示を受け付ける。
【００９５】
第２キャンセル部８５は、第１キャンセル指示または第２キャンセル指示を受け付ける場合、第１キャンセル指示または第２キャンセル指示を識別するためのキャンセル識別情報とジョブ識別情報とを含むキャンセル情報を、蓄積送信装置であるＭＦＰ１００Ａに送信する。
【００９６】
第２ジョブ実行部６５は、第１キャンセル指示が受け付けられる場合、プリントジョブの実行を中止するとともに、受信制御部５１、記憶制御部５３およびデータ取得部６１に中止指示を出力し、受信制御部５１にプリントジョブの受信を中止させ、記憶制御部５３にプリントジョブの記憶を中止させ、送信依頼部７９にプリントジョブの取得を中止させる。中止指示は、実行を中止したプリントジョブのジョブ識別情報を含む。第１キャンセル指示が受け付けられる場合、ＭＦＰ１００からプリントジョブが削除されるが、蓄積送信装置であるＭＦＰ１００Ａは、ＭＦＰ１００から第１キャンセル指示を含むキャンセル情報を受信するので、蓄積送信装置であるＭＦＰ１００Ａにおいては、ＰＣ２００からプリントジョブを受信し、受信されたプリントジョブを記憶するので、プリントジョブは、蓄積送信装置であるＭＦＰ１００ＡのＨＤＤ１１５に記憶された状態となる。
【００９７】
第２ジョブ実行部６５は、第２キャンセル指示が受け付けられる場合、プリントジョブの実行を中止するとともに、受信制御部５１、記憶制御部５３およびデータ取得部６１に中止指示を出力し、受信制御部５１にプリントジョブの受信を中止させ、記憶制御部５３にプリントジョブの記憶を中止させ、送信依頼部７９にプリントジョブの取得を中止させる。第２キャンセル指示が受け付けられる場合、ＭＦＰ１００からプリントジョブが削除されるとともに、蓄積送信装置であるＭＦＰ１００Ａは、ＭＦＰ１００から第２キャンセル指示を含むキャンセル情報を受信するので、蓄積送信装置であるＭＦＰ１００Ａにおいては、ＰＣ２００からプリントジョブの受信が中止され、プリントジョブの記憶が中止され、管理情報が消去される。このため、管理情報は、ＭＦＰ１００，１００Ａ〜１００Ｃのすべてで消去される。したがって、実行装置であるＭＦＰ１００において、第２キャンセル指示が受け付けられる場合、実行装置であるＭＦＰ１００および蓄積送信装置であるＭＦＰ１００Ａのいずれにも記憶されない状態となる。
【００９８】
第２ジョブ実行部６５は、第３キャンセル指示が受け付けられる場合、プリントジョブの実行を中止する。この場合、受信制御部５１は蓄積送信装置であるＭＦＰ１００Ａからプリントジョブを受信し、記憶制御部５３は受信制御部５１により受信されたプリントジョブをＨＤＤ１１５に記憶し、送信依頼部７９は、プリントジョブを取得するので、プリントジョブは、実行装置であるＭＦＰ１００および蓄積実行装置であるＭＦＰ１００Ａそれぞれで記憶された状態となる。第２ジョブ実行部６５は、その後に再開指示が受け付けられる場合、データ取得部６１により取得されたプリントジョブを実行する。
【００９９】
＜蓄積送信装置＞
ＭＦＰ１００が蓄積送信装置として機能する場合にＣＰＵ１１１が有する機能について説明する。蓄積送信装置として機能する場合にＣＰＵ１１１は、蓄積装置として機能するための受信制御部５１、記憶制御部５３、データ管理部５５に加えて、データ供給部６７と、条件取得部７０と、キャンセル受付部６９と、を含む。ＭＦＰ１００が蓄積送信装置として機能する場合、プリントジョブの送信を要求する実行装置が存在する。ここでは、ＭＦＰ１００Ａがプリントジョブの送信を依頼する実行装置とする場合を例に説明する。
【０１００】
データ供給部６７は、通信Ｉ／Ｆ部１１２を制御し、実行装置であるＭＦＰ１００Ａから送信依頼コマンドを受信すると、ＭＦＰ１００Ａに送信依頼コマンドで特定されるプリントジョブを送信する。データ供給部６７は、プリントジョブがＨＤＤ１１５にジョブファイルとして記憶されている場合には、ジョブファイルに格納されたプリントジョブを読み出すことにより取得し、通信Ｉ／Ｆ部１１２を制御してＭＦＰ１００Ａに送信する。受信制御部５１によりプリントジョブの受信が完了していない場合、ＨＤＤ１１５にプリントジョブの一部がジョブファイルとして記憶されている場合がある。データ供給部６７は、受信制御部５１によりプリントジョブの受信が完了していない場合には、ジョブファイルに格納されたプリントジョブの部分を読み出した後、受信制御部５１により残部分が受信されるごとに、受信された残部分を取得する。データ供給部６７は、プリントジョブの一部が取得されるごとに、取得された部分を、ＭＦＰ１００Ａに送信する。
【０１０１】
記憶制御部５３は、プリントジョブが実行装置で実行された後に消去する設定がされている場合、データ供給部６７によりプリントジョブが実行装置に送信された後に、プリントジョブをＨＤＤ１１５から消去する。また、記憶制御部５３は、プリントジョブが実行装置で実行された後に消去する設定がされている場合、実行装置から送信依頼コマンドを受信する場合、送信依頼コマンドで特定されるプリントジョブをＨＤＤ１１５に記憶している場合には、プリントジョブのＨＤＤ１１５への記憶する処理を中止する。この場合であっても、ＣＰＵ１１１と通信Ｉ／Ｆ部１１２との間に設けられた受信バッファにプリントジョブの残部分を含むパケットが記憶されるので、受信制御部５１は、受信バッファに記憶されたパケットを順に読出し、１以上のパケットそれぞれのヘッダを解析して、プリントジョブを再生し、プリントジョブのうち再生された部分から順に、データ供給部６７に出力する。このため、データ供給部６７は、実行装置であるＭＦＰ１００Ａにプリントジョブを送信することができる。
【０１０２】
記憶制御部５３は、ＨＤＤ１１５の残容量が所定のしきい値以下となる場合、受信制御部５１から入力されるプリントジョブのＨＤＤ１１５への記憶を中止する。この場合であっても、ＣＰＵ１１１と通信Ｉ／Ｆ部１１２との間に設けられた受信バッファにパケットが記憶されるので、受信制御部５１は、受信バッファに記憶されたパケットを順に読出し、１以上のパケットそれぞれのヘッダを解析して、プリントジョブを再生し、プリントジョブのうち再生された部分から順に、データ供給部６７に出力する。このため、データ供給部６７は、ＨＤＤ１１５の残容量が所定のしきい値以下となる場合であっても、実行装置であるＭＦＰ１００Ａにプリントジョブを送信することができる。
【０１０３】
条件取得部７０は、実行装置であるＭＦＰ１００Ａが送信する条件情報を取得する。条件情報は、実行装置であるＭＦＰ１００Ａを操作するユーザーにより設定されたプリント条件と、プリントジョブのジョブ識別情報と、を含む。条件取得部７０は、通信Ｉ／Ｆ部１１２が、ＭＦＰ１００Ａから条件情報を受信する場合、その条件情報を取得する。条件取得部７０は、条件情報をデータ供給部６７に出力する。
【０１０４】
データ供給部６７は、条件情報が入力される場合、その条件情報に含まれるプリント条件が、所定の条件を含む場合、受信制御部５１によりプリントジョブのすべてが受信されていない場合であっても、プリントジョブのうち受信制御部５１により受信された部分を送信することなく、受信制御部５１によりプリントジョブの全てが受信された後に、プリントジョブを実行装置であるＭＦＰ１００Ａに送信する。所定の条件は、プリントデータ中の位置が離れた２以上の部分を同時に処理する条件である。例えば、所定の条件は、小冊子印刷の条件である。小冊印刷は、雑誌や週刊誌のように中とじ用のページレイアウトになるよう、複数のページのページ順を入れ換えて画像形成する条件である。例えば、第１ページから第４ページの場合、表面に、第１ページと第４ページの画像を形成し、裏面に第２ページと第３ページの画像を形成する条件である。第１ページの裏面に第２ページが配置され、第２ページの横に第３ページが配置され、第３ページの裏面に第４ページが配置される。第２ページと第３ページの境界で用紙を２つに折り曲げることにより、小冊子が完成する。プリント条件が所定の条件を含む場合は、プリントジョブの送信先の装置において、プリントデータの全てを受信した後でなければ、プリントデータの画像を形成することができず、ユーザーは、プリントジョブの送信先の装置がプリントジョブの全てを受信するまで待機しなければならない。このため、データ供給部６７は、プリントジョブの受信が完了するまで、プリントジョブを送信しないようにして、ＣＰＵ１１１の負荷を低減することができる。
【０１０５】
キャンセル受付部６９は、実行装置であるＭＦＰ１００Ａが送信するキャンセル情報を取得する。通信Ｉ／Ｆ部１１２が、プリントジョブの送信先の装置からキャンセル情報を受信する場合、そのキャンセル情報を取得する。キャンセル情報は、第１〜第３キャンセル指示のいずれかを含む。キャンセル受付部６９は、キャンセル情報が第１キャンセル指示を含む場合、データ供給部６７に中止指示を出力し、データ供給部６７によるプリントジョブの送信を中止させる。中止指示は、実行を中止したプリントジョブのジョブ識別情報を含む。この場合、受信制御部５１および記憶制御部５３に中止指示を出力しないので、受信制御部５１によるプリントジョブの受信処理は継続され、記憶制御部５３によりプリントジョブを記憶する処理は継続される。
【０１０６】
また、キャンセル受付部６９は、キャンセル情報が第２キャンセル指示を含む場合、受信制御部５１、記憶制御部５３およびデータ供給部６７に中止指示を出力し、受信制御部５１にプリントジョブの受信を中止させ、記憶制御部５３にプリントジョブの記憶を中止させ、記憶制御部５３にプリントジョブの記憶を中止させる。受信制御部５１は、プリントジョブの受信を中止する場合、データ管理部５５にプリントジョブの受信を中止したことを通知する。データ管理部５５は、プリントジョブの受信が中止される場合、そのプリントジョブに対応する管理情報を消去する。
【０１０７】
図６は、受信制御処理の流れの一例を示すフローチャートである。受信制御処理は、ＭＦＰ１００が備えるＣＰＵ１１１が、ＲＯＭ１１３、ＨＤＤ１１５、ＣＤ−ＲＯＭ１１８に記憶された受信制御プログラムを実行することにより、ＣＰＵ１１１により実行される処理である。受信制御プログラムは、データ共有プログラムの一部である。図６を参照して、ＭＦＰ１００が備えるＣＰＵ１１１は、受信バッファにデータが記憶されているか否かを判断する（ステップＳ０１）。受信バッファにデータが存在すれば処理をステップＳ０２に進めるが、そうでなければ処理をステップＳ０１に戻す。通信Ｉ／Ｆ部１１２により受信バッファにデータが格納されるまで待機状態となり、通信Ｉ／Ｆ部１１２により受信バッファにデータが格納されると、処理をステップＳ０２に進める。
【０１０８】
ステップＳ０２においては、受信バッファからデータを読み出し、処理をステップＳ０３に進める。ステップＳ０３においては、読み出されたデータがプリントジョブか否かを判断する。プリントジョブならば処理をステップＳ０４に進めるが、そうでなければ処理をステップＳ０５に進める。ステップＳ０４においては、記憶制御処理を実行し、処理をステップＳ０１に戻す。記憶制御処理の詳細は後述するが、プリントジョブをＨＤＤ１１５に格納する処理である。
【０１０９】
ステップＳ０５においては、受信バッファから読み出されたデータが、管理情報か否かを判断する。管理情報ならば処理をステップＳ０６に進め、そうでなければ処理をステップＳ０７に進める。ステップＳ０６においては、管理情報をＨＤＤ１１５に記憶し、処理をステップＳ０１に戻す。管理情報は、ＭＦＰ１００，１００Ａ〜１００ＣのうちＰＣ２００，２００Ａ〜２００Ｃのいずれかからプリントジョブを受信する装置が生成し、他の装置に送信する。例えば、ＭＦＰ１００ＡがＰＣ２００，２００Ａ〜２００Ｃのいずれかからプリントジョブを受信する場合、管理情報を他のＭＦＰ１００，１００Ｂ〜１００Ｃそれぞれに送信する。この場合、ステップＳ０６において、ＭＦＰ１００Ａから受信される管理情報がＨＤＤ１１５に記憶される。これにより、ＭＦＰ１００，１００Ａ〜１００Ｃそれぞれが記憶する管理情報が同じ値になり、管理情報が共有される。
【０１１０】
ステップＳ０７においては、受信バッファから読み出されたデータが、消去指示か否かを判断する。消去指示ならば処理をステップＳ０８に進め、そうでなければ処理をステップＳ０９に進める。消去指示の詳細は後述するが、他のＭＦＰ１００Ａ〜１００Ｃのいずれかから送信され、管理情報を識別するための管理情報識別情報を含む。ＭＦＰ１００，１００Ａ，１００Ｂそれぞれは、それに記憶されたプリントジョブが消去される場合に、そのプリントジョブのジョブ識別情報を含む管理情報を消去するとともに、他の装置に消去指示を送信する。これにより、ＭＦＰ１００，１００Ａ〜１００Ｃそれぞれが記憶する管理情報が同じ値になり、管理情報が共有される。
【０１１１】
ステップＳ０９においては、受信バッファから読み出されたデータに対して定められた処理を実行し、処理をステップＳ０１に戻す。
【０１１２】
図７は、記憶制御処理の流れの一例を示すフローチャートである。記憶制御処理は、図６のステップＳ０４において、受信バッファから読み出されたデータがプリントジョブの場合に実行される処理である。図７を参照して、ＣＰＵ１１１は、プリントジョブに対応するジョブファイルがＨＤＤ１１５に記憶されているか否かを判断する。ジョブファイルが記憶されていれば処理をステップＳ１３に進めるが、記憶されていなければ処理をステップＳ１２に進める。ステップＳ１２においては、プリントジョブに対応するジョブファイルをＨＤＤ１１５に生成し、処理をステップＳ１３に進める。ジョブファイルは、プリントジョブを格納するためのファイルであり、プリントジョブを識別するためのジョブ識別情報をファイル名とするのが好ましい。
【０１１３】
ステップＳ１３においては、プリントジョブの送信元がＰＣ２００，２００Ａ〜２００Ｃのいずれかであるか否かを判断する。プリントジョブの送信元がＰＣ２００，２００Ａ〜２００Ｃのいずれかならば処理をステップＳ１４に進めるが、そうでなければステップＳ１４をスキップして処理をステップＳ１５に進める。プリントジョブは、ＰＣ２００，２００Ａ〜２００ＣのいずれかがＭＦＰ１００，１００Ａ〜１００Ｃのいずれかに送信する場合と、ＭＦＰ１００，１００Ａ〜１００ＣのうちＰＣ２００，２００Ａ〜２００Ｃのいずれかからプリントジョブを受信した装置、例えば、ＭＦＰ１００Ａが他のＭＦＰ１００，１００Ｂ〜１００Ｃのいずれかにそのプリントジョブを送信する場合とがある。ＭＦＰ１００がＰＣ２００，２００Ａ〜２００Ｃのいずれかからプリントジョブを受信する場合に処理をステップＳ１４に進め、ＭＦＰ１００が他のＭＦＰ１００Ａ〜１００Ｃのいずれかからプリントジョブを受信する場合に処理をステップＳ１５に進める。
【０１１４】
ステップＳ１４においては、格納中止フラグがＯＮに設定されているか否かを判断する。格納中止フラグは、後述するデータ供給処理においてＣＰＵ１１１により、削除設定がされている場合に設定される。削除設定は、プリントジョブを実行後に、プリントジョブを削除する設定である。格納中止フラグがＯＮに設定されていなければ処理をステップＳ１５に進めるが、格納中止フラグがＯＮに設定されていなければステップＳ１５をスキップして処理をステップＳ１６に進める。格納中止フラグは、プリントジョブを受信中に、プリントジョブが実行される場合であって、削除設定がされている場合にＯＮに設定される。削除設定がされている場合は、プリントジョブが実行された後にプリントジョブが削除されるため、受信バッファに記憶されているプリントジョブの残部分を用いることにより、プリントジョブを実行可能なので、ＨＤＤ１１５に記憶することなく、プリントジョブを実行する。これにより、プリントジョブの残部分をＨＤＤ１１５に記憶する処理を実行する必要がないので、ＣＰＵ１１１の負荷を低減することができる。なお、ステップＳ１５を実行しない場合には、受信バッファから読み出されたデータが受信バッファから削除されないように設定する。
【０１１５】
ステップＳ１５においては、受信バッファから読み出されたデータをジョブファイルに追加して記憶し、処理をステップＳ１４に進める。受信バッファから読み出されたデータはプリントジョブの一部なので、受信バッファからプリントジョブの一部が読み出されるごとに、その一部がジョブファイルに追加される。
【０１１６】
ステップＳ１６においては、プリントジョブの送信元がＰＣ２００，２００Ａ〜２００Ｃのいずれかであるか否かを判断する。プリントジョブの送信元がＰＣ２００，２００Ａ〜２００Ｃのいずれかならば処理をステップＳ１７に進めるが、そうでなければ処理をステップＳ２４に進める。ＣＰＵ１１１は、ＰＣ２００，２００Ａ〜２００Ｃのいずれかからプリントジョブを受信する場合は、ステップＳ１７〜ステップＳ２５の処理を実行するが、ＭＦＰ１００Ａ〜１００Ｃのいずれかからプリントジョブを受信する場合は、ステップＳ１７〜ステップＳ２０の処理を実行しない。
【０１１７】
ステップＳ１７においては、受信バッファから読み出されたデータがプリントジョブのヘッダ部を示すデータか否かを判断する。受信バッファから読み出されたデータがプリントジョブのヘッダ部ならば処理をステップＳ１８に進めるが、そうでなければ処理をステップＳ２１に進める。
【０１１８】
ステップＳ１８においては、ヘッダ部の情報に基づいて管理情報を生成し、処理をステップＳ１９に進める。ヘッダ部は、プリントデータの送信を指示したユーザーのユーザー識別情報と、プリント条件と、を含む。プリントジョブを識別するためのジョブ識別情報と、ヘッダ部に含まれるユーザー識別情報と、ＭＦＰ１００を識別するための装置識別情報とを関連付けた管理情報を生成する。ステップＳ１９においては、生成された管理情報をＨＤＤ１１５に記憶し、処理をステップＳ２０に進める。ステップＳ２０においては、他のＭＦＰ１００Ａ〜１００Ｃに、生成された管理情報を送信し、処理をステップＳ２１に進める。ＭＦＰ１００，１００Ａ〜１００ＣのうちＰＣ２００，２００Ａ〜２００Ｃのいずれかからプリントジョブを受信した装置によって、管理情報が生成され、他の装置に管理情報を送信されるので、ＭＦＰ１００，１００Ａ〜１００Ｃで同一の管理情報を記憶することができる。また、管理情報は、プリントジョブの全てが受信される前に生成され、共有される。
【０１１９】
ステップＳ２１においては、通信中止フラグがＯＮに設定されているか否かを判断する。通信中止フラグの詳細は後述するが、ＣＰＵ１１１が、後述する操作受付処理を実行する場合に、ユーザーによる操作に従って設定されるフラグである。通信中止フラグがＯＮに設定されているならば処理をステップＳ２２に進めるが、そうでなければ処理を受信制御処理に戻す。ステップＳ２２においては、受信中止信号を、プリントジョブを送信してきた装置に送信し、処理をステップＳ２３に進める。例えば、プリントジョブの送信元がＰＣ２００ならば、ＰＣ２００に受信中止信号を送信する。受信中止信号は、プリントジョブの受信を中止することを通知するための信号である。このため、受信中止信号を受信するＰＣ２００は、プリントジョブの全ての送信を完了していない場合に、プリントジョブの残りの部分の送信を中止する。
【０１２０】
次のステップＳ２３においては、プリントジョブのジョブ識別情報を含む管理情報をＨＤＤ１１５から消去し、処理をステップＳ２４に進める。ステップＳ２４においては、ＨＤＤ１１５に記憶されているジョブファイルであって、プリントジョブを格納するジョブファイルを消去し、処理をステップＳ２５に進める。ステップＳ２５においては、消去指示を他のＭＦＰ１００Ａ〜１００Ｃそれぞれに送信し、処理を受信制御処理に戻す。消去指示は、プリントジョブのジョブ識別情報を含む管理情報を識別するための管理情報識別情報を含み、管理情報の消去を指示するコマンドである。これにより、他のＭＦＰ１００Ａ〜１００Ｃにおいて記憶されている管理情報が消去されるので、ＭＦＰ１００，１００Ａ〜１００Ｃで同一の管理情報を記憶することができる。
【０１２１】
処理がステップＳ２６に進む場合は、ＭＦＰ１００Ａ〜１００Ｃのいずれかからプリントジョブを受信している場合である。ここでは、ＭＦＰ１００Ａからプリントジョブを受信している場合を例に説明する。ステップＳ２６においては、通信中止フラグがＯＮに設定されているか否かを判断する。通信中止フラグの詳細は後述するが、ＣＰＵ１１１が、後述する操作受付処理を実行する場合に、ユーザーによる操作に従って設定されるフラグである。通信中止フラグがＯＮに設定されているならば処理をステップＳ２３に進めるが、そうでなければ処理を受信制御処理に戻す。処理がステップＳ２３に進む場合、プリントジョブのジョブ識別情報を含む管理情報がＨＤＤ１１５から消去され（ステップＳ２３）、プリントジョブを格納するジョブファイルがＨＤＤ１１５から消去され（ステップＳ２４）、消去指示が他のＭＦＰ１００Ａ〜１００Ｃそれぞれに送信される（ステップＳ２５）。これにより、他のＭＦＰ１００Ａ〜１００Ｃにおいて記憶されている管理情報が消去されるので、ＭＦＰ１００，１００Ａ〜１００Ｃで同一の管理情報を記憶することができる。
【０１２２】
受信制御処理が実行されることにより、ＰＣ２００，２００Ａ〜２００Ｃのいずれかからプリントジョブを複数のパケットで受信する場合に、パケットが受信されるごとにプリントジョブの一部がＨＤＤ１１５のジョブファイルに格納されるとともに、プリントジョブのヘッダ部が受信された段階で、管理情報が生成され、ＭＦＰ１００，ＭＦＰ１００Ａ〜１００Ｃに記憶される。このため、プリントジョブの全てを受信する前に、管理情報をＭＦＰ１００，１００Ａ〜１００Ｃで参照可能な状態にすることができる。また、受信制御処理が実行されることにより、ＭＦＰ１００が実行装置として機能する場合に、他のＭＦＰ１００Ａ〜１００ＣのうちＭＦＰ１００に対する蓄積送信装置として機能する装置からプリントジョブを複数のパケットで受信する場合に、パケットが受信されるごとにプリントジョブの一部がＨＤＤ１１５のジョブファイルに格納される。このため、プリントジョブの全てを受信する前に、プリントジョブを実行することができる。
【０１２３】
図８は、データ共有処理の流れの一例を示すフローチャートである。データ共有処理は、ＭＦＰ１００が備えるＣＰＵ１１１が、ＲＯＭ１１３、ＨＤＤ１１５、ＣＤ−ＲＯＭ１１８に記憶されたデータ共有プログラムを実行することにより、ＣＰＵ１１１により実行される処理である。データ共有処理は、受信制御処理と並列で実行される処理である。図８を参照して、ＣＰＵ１１１は、ログイン操作を受け付けたか否かを判断する（ステップＳ３１）。ログイン操作は、操作パネル１６０で受け付けられる場合、または、通信Ｉ／Ｆ部１１２が遠隔操作装置から遠隔操作を受信する場合に受け付けられる。具体的には、ユーザーにより操作部１６３に認証情報が入力されると、ログイン要求があった判断する。遠隔操作装置は、例えば、ＰＣ２００，２００Ａ〜２００Ｃである。通信Ｉ／Ｆ部１１２が、ＰＣ２００，２００Ａ〜２００Ｃのいずれかから認証情報を含むログイン要求を受信するとログイン操作を受け付ける。ログイン操作を受け付けるまで待機状態となり（ステップＳ３１でＹＥＳ）。ログイン操作を受け付けるまで待機状態となり（ステップＳ３１でＮＯ）、ログイン操作を受け付けたならば（ステップＳ３１でＹＥＳ）、処理をステップＳ３２に進める。ステップＳ３２においては、ユーザーの認証に成功したか否かを判断する。認証に成功したならば処理をステップＳ３３に進めるが、そうでなければ処理をステップＳ３１に戻す。なお、ＮＦＣ（Ｎｅａｒ  Ｆｉｅｌｄ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ）等の近距離無線通信を用いて、ユーザーが携帯するＩＣカードと通信することにより、ユーザーを認証するようにしてもよい。
【０１２４】
ステップＳ３３においては、認証されたユーザーを特定し、処理をステップＳ３４に進める。ステップＳ３４においては、ＨＤＤ１１５に記憶されている管理情報を参照して、プリントジョブと、そのプリントジョブが記憶されている装置とを特定する。ステップＳ３３において特定されたユーザーのユーザー識別情報を含む管理情報を抽出し、抽出された管理情報によって、ユーザー識別情報と関連付けられたジョブ識別情報および装置識別情報を決定する。
【０１２５】
次のステップＳ３５においては、選択画面を表示す、処理をステップＳ３６に進める。選択画面は、処理対象とするプリントジョブを選択する操作を受け付けるための画面である。選択画面は、ステップＳ３４において特定されたジョブのジョブ識別情報を、選択可能に配置した画面である。選択画面は、ステップＳ３４において、管理情報の複数が抽出される場合には、複数の管理情報にそれぞれ含まれるジョブ識別情報を含む。ステップＳ３６においては、プリントジョブを選択し、処理をステップＳ３７に進める。選択画面に従ってユーザーが操作部１６３に入力する操作に基づいて、ジョブ識別情報が選択される場合に、選択されたジョブ識別情報で特定されるプリントジョブを処理対象に選択する。
【０１２６】
ステップＳ３７においては、処理対象に選択されたプリントジョブが記憶されている装置が自装置か否かを判断する。管理情報によって選択されたプリントジョブのジョブ識別情報と関連付けられた装置識別情報を特定し、特定された装置識別情報が自装置の装置識別情報ならば処理をステップＳ３８に進めるが、そうでなければ処理をステップＳ４９に進める。
【０１２７】
ステップＳ３８においては、削除設定がされているか否かを判断する。削除設定は、プリントジョブを実行後に、プリントジョブを削除する設定である。削除設定は、プリントジョブにおいてヘッダ部で設定されてもよいし、プリントジョブを記憶する装置、または、プリントジョブを実行する装置、ここではＭＦＰ１００に設定されてもよい。また、削除設定は、ユーザーごとに設定がされてもよい。削除設定がされているならば処理をステップＳ３９に進めるが、そうでなければ処理をステップＳ４０に進める。ステップＳ３９においては、格納中止フラグをＯＮに設定し、処理をステップＳ４０に進める。上述したように、格納中止フラグがＯＮに設定されると、受信バッファに記憶されるプリントジョブの残部分がＨＤＤ１１５に格納されなくなる。これにより、プリントジョブの残部分をＨＤＤ１１５に記憶する処理を実行する必要がないので、ＣＰＵ１１１の負荷を低減することができる。
【０１２８】
ステップＳ４０においては、ジョブ実行処理を実行し、処理をステップＳ４１に進める。ジョブ実行処理の詳細は後述するが、処理対象に選択されているプリントジョブを実行する処理である。
【０１２９】
ステップＳ４１においては、プリントジョブが終了したか否かを判断する、プリントジョブが終了したならば処理をステップＳ４２に進めるが、そうでなければ処理をステップＳ４５に進める。ステップＳ４２においては、ステップＳ３８と同様に、削除設定されているか否かを判断する。削除設定されているならば処理をステップＳ４３に進めるが、そうでなければステップＳ４３をスキップして処理をステップＳ４４に進める。ステップＳ４３においては、処理対象のプリントジョブを消去し、処理をステップＳ４４に進める。プリントジョブを格納するジョブファイルをＨＤＤ１１５から削除する。ステップＳ４４においては、ステップＳ３２において認証したユーザーのログアウト処理を実行し、処理を終了する。
【０１３０】
一方、ステップＳ４５においては、ジョブ中止フラグがＯＮに設定されているか否かを判断する。ジョブ中止フラグがＯＮに設定されているならば処理をステップＳ４６に進めるが、そうでなければ処理をステップＳ４０に戻す。ジョブ中止フラグの詳細は後述するが、ＣＰＵ１１１が、後述する操作受付処理を実行する場合に、ユーザーによる操作に従って設定されるフラグである。
【０１３１】
ステップＳ４６においては、通信中止フラグがＯＮに設定されているか否かを判断する。通信中止フラグがＯＮに設定されているならば処理をステップＳ４２に進めるが、通信中止フラグがＯＮに設定されているならば処理をステップＳ４７に進める。ステップＳ４７においては、再実行指示を受け付けたか否かを判断する。ＭＦＰ１００を操作擦るユーザーがプリントジョブを選択した段階で、プリントジョブが実行されるが、プリント条件の変更を希望する場合には、プリントジョブを実行中にプリントジョブの実行を中止させる。そして、プリント条件を変更した後に、再度プリントジョブの実行を指示する場合に、再実行指示を受け付ける。再実行指示を受け付けるまで待機状態となり（ステップＳ４７でＮＯ）、再実行指示を受け付けたならば（ステップＳ４７でＹＥＳ）、処理をステップＳ４８に進める。ステップＳ４８においては、ジョブ中止フラグをＯＦＦに設定し、処理をステップＳ４０に戻す。
【０１３２】
処理がステップＳ４９に進む場合は、ステップＳ３７において、処理対象に選択されたプリントジョブが記憶されている装置が自装置でないと判断された場合である。ステップＳ４９においては、プリントジョブを記憶する装置にプリントジョブの送信を依頼するために送信依頼コマンドを送信し、処理をステップＳ４０に進める。送信依頼コマンドは、処理対象に選択されているプリントジョブのジョブ識別情報を含む。ＭＦＰ１００Ａ〜１００Ｃのうち送信依頼コマンドを受信する装置は、データ送信依頼を受信すると、送信依頼コマンドに含まれるジョブ識別情報で特定されるプリントジョブを複数のパケットに分割して送信してくる。ステップＳ４０においては、ジョブ実行処理を実行し、処理をステップＳ４１に進める。
【０１３３】
ここで、データ送信依頼を受信するＭＦＰ１００の動作について説明する。図９および図１０は、送信制御処理の流れの一例を示すフローチャートである。送信制御処理は、ＭＦＰ１００が備えるＣＰＵ１１１が、ＲＯＭ１１３、ＨＤＤ１１５、ＣＤ−ＲＯＭ１１８に記憶された送信制御プログラムを実行することにより、ＣＰＵ１１１により実行される処理である。送信制御プログラムは、データ共有プログラムの一部である。送信制御処理は、データ共有処理および受信制御処理と並列で実行される処理である。
【０１３４】
図９および図１０を参照して、ＭＦＰ１００が備えるＣＰＵ１１１は、送信依頼コマンドを受信したか否かを判断する（ステップＳ５１）。送信依頼コマンドを受信するまで待機状態となり（ステップＳ５１でＮＯ）、送信依頼コマンドを受信したならば（ステップＳ５１でＹＥＳ）、処理をステップＳ５２に進める。送信依頼コマンドを受信する際に、送信依頼コマンドを送信してきた装置を特定する。ここでは、ＭＦＰ１００Ａから送信依頼コマンドを受信する場合を例に説明する。
【０１３５】
ステップＳ５２においては、送信依頼コマンドを送信してきたＭＦＰ１００Ａからプリント条件を取得し、処理をステップＳ５３に進める。ステップＳ５３においては、プリント条件が所定の条件ならば処理をステップＳ５４に進めるが、そうでなければ処理をステップＳ５５に進める。所定の条件は、プリントデータ中の位置が離れた２以上の部分を同時に処理する条件である。例えば、所定の条件は、小冊子印刷の条件である。ステップＳ５４においては、プリントジョブの受信が完了するまで待機状態となり（ステップＳ５４でＮＯ）、プリントジョブの受信が完了すると（ステップＳ５４でＹＥＳ）、処理をステップＳ５５に進める。
【０１３６】
ステップＳ５５においては、ＨＤＤ１１５に送信依頼コマンドで特定される対象ファイルが存在するか否かを判断する。送信依頼コマンドに含まれるジョブ識別情報で特定されるプリントジョブが格納されたジョブファイルがＨＤＤ１１５に存在すれば対象ファイルが存在すると判断する。対象ファイルが存在すれば処理をステップＳ５６に進めるが、そうでなければ処理をステップＳ５７に進める。ステップＳ５６においては、ＨＤＤ１１５に記憶されている対象ファイルからプリントジョブを読出し、読み出したデータを処理対象データに設定し、処理をステップＳ５９に進める。一方、ステップＳ５７においては、受信バッファにプリントジョブの残部分が存在するか否かを判断する。プリントジョブの残部分が存在すれば処理をステップＳ５８に進めるが、そうでなければ処理を終了する。ステップＳ５８においては、受信バッファからプリントジョブの残部分を読出し、読み出したデータを処理対象データに設定し、処理をステップＳ５９に進める。
【０１３７】
プリントジョブを受信中に、送信依頼コマンドを受信する場合があり、その場合には、プリントジョブの一部が受信されて、ジョブファイルに格納されており、残部分は未だ受信されておらず、将来受信される。また、削除設定がされている場合であって、ジョブ中止フラグがＯＮに設定されている場合は、残部分は受信バッファに記憶されるので、ジョブファイルに格納されていない残部分を受信バッファから読み出すことにより、プリントジョブの全てを送信対象として取得することができる。
【０１３８】
ステップＳ５９においては、通信中止フラグがＯＮに設定されているか、または、送信中止フラグがＯＮに設定されているか否かを判断する。通信中止フラグおよび送信中止フラグの少なくとも一方がＯＮに設定されているならば処理を終了し、そうでなければ処理をステップＳ６０に進める。ステップＳ６０においては、処理対象データを含むパケットを生成し、処理をステップＳ６１に進める。ステップＳ６１においては、通信Ｉ／Ｆ部１１２を制御して、生成されたパケットを、送信依頼コマンドを送信してきた装置、ここではＭＦＰ１００Ａに送信し、処理をステップＳ６２に進める。なお、処理対象のデータを１つのパケットで送信できない場合には、処理対象データを複数のパケットに分割して送信する。
【０１３９】
ステップＳ６２においては、プリントジョブの送信が完了したか否かを判断する。送信依頼コマンドで特定されるプリントジョブの全てを送信したならば処理をステップＳ６３に進めるが、そうでなければ処理をステップＳ６７に進める。処理をステップＳ６３に進める場合、ＭＦＰ１００Ａにプリントジョブの全ての送信が完了したことを示すパケットを送信する。これにより、ＭＦＰ１００Ａにおいて、プリントジョブの全てを受信したことを検出することができる。
【０１４０】
ステップＳ６３においては、削除設定がされているか否かを判断する。削除設定がされているならば処理をステップＳ６４に進めるが、そうでなければ処理を終了する。ステップＳ６４においては、プリントジョブのジョブ識別情報を含む管理情報をＨＤＤ１１５から消去し、処理をステップＳ６５に進める。ステップＳ６５においては、ＨＤＤ１１５に記憶されているジョブファイルであって、プリントジョブを格納するジョブファイルを消去し、処理をステップＳ６６に進める。ステップＳ６６においては、消去指示を他のＭＦＰ１００Ａ〜１００Ｃそれぞれに送信する。これにより、他のＭＦＰ１００Ａ〜１００Ｃにおいて記憶されている管理情報が消去されるので、ＭＦＰ１００，１００Ａ〜１００Ｃで同一の管理情報を記憶することができる。
【０１４１】
一方、ステップＳ６２において、プリントジョブの送信が完了していないと判断された場合、処理がステップＳ６７に進む。ステップＳ６７においては、送信依頼コマンドを送信してきた装置からキャンセル情報を受信したか否かを判断する。キャンセル情報を受信したならば処理をステップＳ６８に進めるが、そうでなければ処理をステップＳ５５に戻す。ステップＳ６８においては、キャンセル情報によって処理を分岐する。キャンセル情報が第１キャンセル指示を示すならば処理をステップＳ６９に進め、キャンセル情報が第２キャンセル指示を示すならば処理をステップＳ７０に進める。ステップＳ６９においては、送信中止フラグをＯＮに設定し、処理を終了する。ステップＳ７０においては、通信中止フラグをＯＮに設定し、処理を終了する。
【０１４２】
図１１は、ジョブ実行処理の流れの一例を示すフローチャートである。ジョブ実行処理は、図８のステップＳ４０において実行される処理である。図８を参照して、ステップＳ４０が実行される前のステップＳ３６において、処理対象となるプリントジョブが特定されている。また、ジョブ実行処理は、処理がステップＳ３９から進む第１の事象の場合と、処理がステップＳ４８から進む第２の事象の場合とがある。第１の事象の場合は、ＭＦＰ１００をユーザーが操作し、ユーザーがＭＦＰ１００に記憶されたプリントジョブの実行を指示した場合である。この場合、ＭＦＰ１００がプリントジョブを、ＰＣ２００，２００Ａ〜２００Ｃのいずれかから受信中の場合である。また、第２の事象の場合は、ＭＦＰ１００をユーザーが操作し、ユーザーがＭＦＰ１００とは異なる装置、例えばＭＦＰ１００Ａに記憶されたプリントジョブの実行を指示した場合である。この場合、ＭＦＰ１００は、ＭＦＰ１００Ａからプリントジョブを受信するので、ＭＦＰ１００がプリントジョブをＭＦＰ１００Ａから受信中の場合がある。第１の事象の場合と第２の事象の場合とでは、プリントジョブの送信元が異なるのみである。
【０１４３】
ＭＦＰ１００が、ＰＣ２００からプリントジョブを受信中の場合を例に説明する。ＭＦＰ１００が備えるＣＰＵ１１１は、ジョブ中止フラグがＯＮに設定されているか否かを判断する（ステップＳ７１）。ジョブ中止フラグがＯＮに設定されているならば処理をデータ共有処理に戻すが、ジョブ中止フラグがＯＮに設定されていなければ処理をステップＳ７２に進める。ジョブ中止フラグがＯＮに設定されている場合は、ユーザーがプリントジョブの実行を停止する操作を入力した場合であり、この場合には、プリントジョブの実行を停止する。
【０１４４】
ステップＳ７２においては、ＨＤＤ１１５に処理対象となるプリントジョブを格納する対象ファイルが存在するか否かを判断する。処理対象となるプリントジョブを格納するジョブファイルがＨＤＤ１１５に存在すれば対象ファイルが存在すると判断する。対象ファイルが存在すれば処理をステップＳ７３に進めるが、そうでなければ処理をステップＳ７４に進める。ステップＳ７３においては、ＨＤＤ１１５に記憶されている対象ファイルからプリントジョブを読出し、読み出したデータを処理対象データに設定し、処理をステップＳ７６に進める。一方、ステップＳ７４においては、受信バッファにプリントジョブの残部分が存在するか否かを判断する。プリントジョブの残部分が存在すれば処理をステップＳ７５に進めるが、そうでなければ処理を終了する。ステップＳ７５においては、受信バッファからプリントジョブの残部分を読出し、読み出したデータを処理対象データに設定し、処理をステップＳ７６に進める。
【０１４５】
ステップＳ７６においては、部分データを生成する。処理対象データで再生されたプリントジョブの一部から画像データの一部を部分データとして生成する。次のステップＳ７７においては、生成された部分データが画像形成単位か否かを判断する。部分データが画像形成単位ならば処理をステップＳ７８に進めるが、そうでなければ処理をステップＳ７１に戻す。例えば、プリントジョブが複数ページのプリントデータを含み、プリント条件が１ページごとに用紙に画像を形成することを定める場合、画像形成単位はページ単位である。ステップＳ７８においては、部分データから画像データを生成し、処理をステップＳ７９に進める。ステップＳ７９においては、生成された画像データを画像形成部１４０に出力し、画像形成部１４０に画像データの画像を形成させ、処理をデータ共有処理に戻す。
【０１４６】
図１２は、操作受付処理の流れの一例を示すフローチャートである。操作受付処理は、ＭＦＰ１００が備えるＣＰＵ１１１が、ＲＯＭ１１３、ＨＤＤ１１５、ＣＤ−ＲＯＭ１１８に記憶された操作受付プログラムを実行することにより、ＣＰＵ１１１により実行される処理である。操作受付プログラムは、データ共有プログラムの一部である。操作受付処理は、送信制御処理、データ共有処理および受信制御処理と並列で実行される処理である。
【０１４７】
図１２を参照して、ＭＦＰ１００が備えるＣＰＵ１１１は、操作部１６３がユーザーにより入力される第１キャンセル指示を受け付けたか否かを判断する（ステップＳ９１）。第１キャンセル指示を受け付けたならば処理をステップＳ９２に進めるが、そうでなければ処理をステップＳ９３に進める。ステップＳ９２においては、ジョブ中止フラグをＯＮに設定し、処理をステップＳ９３に進める。ステップＳ９３においては、送信依頼コマンドを送信したか否かを判断する。送信依頼コマンドを、他のＭＦＰ１００Ａ〜１００Ｃのいずれかに送信したならば処理をステップＳ９４に進めるが、そうでなければステップＳ９４をスキップして処理をステップＳ９５に進める。ステップＳ９４においては、送信依頼コマンドを送信した装置に、第１キャンセル指示をキャンセル情報として送信し、処理をステップＳ９５に進める。処理をステップＳ９５に進める。ステップＳ９５においては、認証されたユーザーがログアウトしたか否かを判断する。ユーザーがログアウトしたならば処理を終了するが、そうでなければ処理をステップＳ９１に戻す。
【０１４８】
ステップＳ９６においては、操作部１６３がユーザーにより入力される第２キャンセル指示を受け付けたか否かを判断する。第２キャンセル指示を受け付けたならば処理をステップＳ９７に進めるが、そうでなければ処理をステップＳ１００に進める。ステップＳ９７においては、ジョブ中止フラグをＯＮに設定し、処理をステップＳ９８に進める。ステップＳ９８においては、通信中止フラグをＯＮに設定し、処理をステップＳ９９に進める。ステップＳ９９においては、送信依頼コマンドを送信したか否かを判断する。送信依頼コマンドを、他のＭＦＰ１００Ａ〜１００Ｃのいずれかに送信したならば処理をステップＳ１００に進めるが、そうでなければステップＳ１００をスキップして処理をステップＳ９５に進める。ステップＳ１００においては、送信依頼コマンドを送信した装置に、第２キャンセル指示をキャンセル情報として送信し、処理をステップＳ９５に進める。
【０１４９】
ステップＳ１０１においては、操作部１６３がユーザーにより入力される第３キャンセル指示を受け付けたか否かを判断する。第３キャンセル指示を受け付けたならば処理をステップＳ１０２に進めるが、そうでなければ処理をステップＳ１０３に進める。ステップＳ１０２においては、ジョブ中止フラグをＯＮに設定し、処理をステップＳ９５に進める。
【０１５０】
ステップＳ１０３においては、ＨＤＤ１１５の残容量がしきい値以下か否かを判断する。ＨＤＤ１１５の残容量がしきい値以下ならば処理をステップＳ１０４に進めるが、そうでなければ処理をステップＳ０５に進める。ステップＳ１０４においては、問合せ画面を表示部１６１に表示し、処理をステップＳ１０５に進める。ステップＳ１０５においては、ユーザーが操作部１６３に入力する操作によって処理を分岐する。プリントジョブの継続を指示する継続操作を受け付けたならば処理をステップＳ９５に進めるが、プリントジョブの中止を指示する中止操作を受け付けたならば処理をステップＳ１０６に進める。ステップＳ１０６においては、ジョブ中止フラグをＯＮに設定し、処理をステップＳ１０７に進める。
【０１５１】
ステップＳ１０７においては、送信依頼コマンドを送信したか否かを判断する。送信依頼コマンドを、他のＭＦＰ１００Ａ〜１００Ｃのいずれかに送信したならば処理をステップＳ１０８に進めるが、そうでなければステップＳ１０８をスキップして処理をステップＳ９５に進める。ステップＳ１０８においては、送信依頼コマンドを送信した装置に、第２キャンセル指示をキャンセル情報として送信し、処理をステップＳ９５に進める。
【０１５２】
以上説明したように、本実施の形態における情報処理システムにおいて、ＭＦＰ１００，１００Ａ〜１００Ｃそれぞれは、データを共有するために、他の装置を登録している。また、ＭＦＰ１００，１００Ａ〜１００Ｃそれぞれは、情報処理装置として機能し、例えば、ＭＦＰ１００は、蓄積装置として機能する場合、ＰＣ２００，２００Ａ〜２００Ｃのいずれか、例えばＰＣ２００からプリントデータとユーザー識別情報とを含むプリントジョブを受信すると、プリントジョブの受信処理の進行状態に係わらず、プリントジョブとユーザー識別情報と自装置とを関連付けた管理情報を他のＭＦＰ１００Ａ〜１００Ｃと共有する。また、ＭＦＰ１００は、実行装置として機能する場合、操作部１６３を操作する操作ユーザーが検出される場合、管理情報によって操作ユーザーに関連付けられた蓄積送信装置にデータの送信を依頼し、データを取得する。また、ＭＦＰ１００は、蓄積送信装置として機能する場合、ＭＦＰ１００Ａ〜１００Ｃのうち実行装置からデータの送信が依頼されることに応じて、実行装置にプリントジョブを送信するが、送信が依頼されたプリントジョブのすべてが受信されていない場合であっても、実行装置から送信が依頼される前に受信されたプリントジョブの部分を実行装置に送信する。このため、ＰＣ２００からプリントジョブの全てを受信する前の段階で、ＭＦＰ１００Ａ〜ＭＦＰ１００Ｃとそのプリントジョブを共有することができる。また、ＭＦＰ１００は、蓄積送信装置として機能する場合、ＰＣ２００からプリントジョブの全てを受信する前であっても実行装置にデータの送信を開始するので、実行装置においてプリントジョブの取得を開始するまでの時間を短くすることができる。したがって、ＭＦＰ１００，１００Ａ〜１００Ｃ間でデータを共有するまでの時間を短縮することができる。
【０１５３】
また、ＭＦＰ１００は、蓄積送信装置として機能する場合、例えば、ＰＣ２００からプリントジョブを受信している間に、例えば、実行装置として機能するＭＦＰ１００Ａがプリントジョブを処理するプリント条件をＭＦＰ１００Ａから取得し、プリント条件が所定の条件を含む場合は、プリントジョブのすべてが受信されるまで、データを実行装置に送信しない。実行装置であるＭＦＰ１００Ａにおいてプリントジョブを処理するプリント条件によって、ＰＣ２００から受信済のプリントジョブの部分を送信する場合と、プリントジョブの全てが受信されるまでプリントジョブを送信しない場合とを切り換えるので、ＭＦＰ１００の処理の負荷を低減することができる。
【０１５４】
また、ＭＦＰ１００は、ＭＦＰ１００Ａで設定されるプリント条件がプリントジョブ中で互いに離れた位置に配置された２以上の部分を同時に処理する条件の場合に、プリントジョブのすべてが受信されるまで、プリントジョブを実行装置に送信しない。このため、実行装置であるＭＦＰ１００Ａでプリントジョブの全てを受信しなければ処理できない処理条件の場合は、データのすべてが受信された後に送信される。したがって、実行装置であるＭＦＰ１００Ａで処理できないプリントジョブの一部を送信する処理を実行しないようにすることができる。
【０１５５】
また、ＭＦＰ１００が蓄積送信装置として機能する場合、実行装置であるＭＦＰ１００Ａから送信が依頼された後に第１キャンセル指示が受け付けられることに応じて、プリントジョブの送信を中止する。このため、ＭＦＰ１００がＭＦＰ１００Ａにプリントジョブを送信する処理を、途中で中止することができる。
【０１５６】
また、ＭＦＰ１００が蓄積送信装置として機能する場合、実行装置であるＭＦＰ１００Ａから送信が依頼された後に第２キャンセル指示が受け付けられることに応じて、ＭＦＰ１００Ａへのプリントジョブの送信を中止するとともに、ＰＣ２００からプリントジョブの受信を中止する。このため、ＰＣ２００からのプリントジョブを受信する処理とＭＦＰ１００Ａにプリントジョブを送信する処理とを途中で中止することができる。
【０１５７】
また、ＭＦＰ１００が蓄積送信装置として機能する場合、実行装置であるＭＦＰ１００Ａから送信が依頼された後にＰＣ２００から受信されるプリントジョブをＨＤＤ１１５に記憶するが、プリントジョブのすべてをＨＤＤ１１５に記憶する前に、実行装置であるＭＦＰ１００Ａにおいて第２キャンセル指示が受け付けられることに応じて、プリントジョブをＨＤＤ１１５に記憶する処理を中止する。このため、プリントジョブをＨＤＤ１１５に記憶する処理を途中で中止することができる。
【０１５８】
また、ＭＦＰ１００は、蓄積送信装置として機能する場合、ＰＣ２００から受信されるプリントジョブに消去設定がされている場合、プリントジョブのＨＤＤ１１５への記憶が完了する前に、実行装置であるＭＦＰ１００Ａから送信の依頼を受けてプリントジョブの送信が開始される場合、プリントジョブをＨＤＤ１１５に記憶する処理を中止し、プリントジョブをＨＤＤ１１５に記憶する処理を中止した後にＰＣ２００から受信され、受信バッファに記憶されたプリントジョブの部分を実行装置であるＭＦＰ１００に送信する。このため、ＨＤＤ１１５に記憶されても消去される予定の部分をＨＤＤ１１５に記憶しないようにすることができる。ＨＤＤ１１５の記憶領域を有効に利用することができる。また、不要な処理を実行しないようにしてＣＰＵ１１１の負荷を低減することができる。
【０１５９】
また、ＭＦＰ１００は、蓄積送信装置として機能する場合、プリントジョブのＨＤＤ１１５への記憶が完了する前にＨＤＤ１１５の残容量がしきい値以下となる場合、プリントジョブをＨＤＤ１１５に記憶する処理を中止し、プリントジョブをＨＤＤ１１５に記憶する処理を中止した後にＰＣ２００から受信され、受信バッファに記憶されたプリントジョブの部分を実行装置であるＭＦＰ１００に送信する。このため、ＨＤＤ１１５の残容量が不足する場合であってもプリントジョブを、実行装置であるＭＦＰ１００Ａに送信することができる。
【０１６０】
なお、上述した実施の形態においては、情報処理装置の一例としてＭＦＰ１００，１００Ａ〜１００Ｃを例に説明したが、ＰＣ２００，２００Ａ〜２００Ｃのいずれかを、ユビキタスプリント機能を実現するための装置に設定するようにしてもよい。また、図６〜図１２に示したデータ共有処理を、ＭＦＰ１００，１００Ａ〜１００Ｃ，ＰＣ２００，２００Ａ〜２００Ｃに実行させるデータ共有方法、そのデータ共有方法をＭＦＰ１００，１００Ａ〜１００Ｃそれぞれが備えるＣＰＵ１１１またはＰＣ２００，２００Ａ〜２００Ｃが備えるＣＰＵに実行させるデータ共有プログラムとして、発明を捉えることができるのは言うまでもない。
【０１６１】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１６２】
１  情報処理システム、３  ネットワーク、１００，１００Ａ〜１００Ｃ  ＭＦＰ、２００，２００Ａ〜２００Ｃ  ＰＣ、１１０  メイン回路、１１１  ＣＰＵ、１１２  通信Ｉ／Ｆ部、１１３  ＲＯＭ、１１４  ＲＡＭ、１１５  ＨＤＤ、１１６  ファクシミリ部、１１７  外部記憶装置、１２０  自動原稿搬送装置、１３０  原稿読取部、１４０  画像形成部、１５０  給紙部、１５５  後処理部、１６０  操作パネル、１６１  表示部、１６３  操作部、１６５  タッチパネル、１６７  ハードキー部、５１  受信制御部、５３  記憶制御部、５５  データ管理部、５７  操作ユーザー検出部、５９  データ特定部、６１  データ取得部、６３  第１ジョブ実行部、６５  第２ジョブ実行部、６７  データ供給部、６９  キャンセル受付部、７０  条件取得部、７１  管理情報送信部、７３  管理情報受信部、７５  認証部、７７  読出部、７９  送信依頼部、８１  第１キャンセル部、８３  条件通知部、８５  第２キャンセル部。
【図１】
2019105935.tif 000003
【図２】
2019105935.tif 000004
【図３】
2019105935.tif 000005
【図４】
2019105935.tif 000006
【図５】
2019105935.tif 000007
【図６】
2019105935.tif 000008
【図７】
2019105935.tif 000009
【図８】
2019105935.tif 000010
【図９】
2019105935.tif 000011
【図１０】
2019105935.tif 000012
【図１１】
2019105935.tif 000013
【図１２】
2019105935.tif 000014