以下、本発明の実施の形態について図面を参照して説明する。以下の説明では同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがってそれらについての詳細な説明は繰り返さない。
<第1の実施の形態>
図1は、本発明の第1の実施の形態におけるデータ処理システムの全体概要を示す図である。図1を参照して、データ処理システム1は、5台のパーソナルコンピュータ(以下「PC」という)10,10A〜10Dと、複合機(以下、「MFP」という)100と、ファイルサーバー200と、を含む。PC10,10A〜10D、MFP100およびファイルサーバー200は、ネットワーク3に接続されている。
MFP(Multi Function Peripheral)100は、画像形成装置の一例であり、原稿を読取るためのスキャナ、画像データに基づいて紙などの記録媒体に画像を形成するための画像形成部、ファクシミリを含み、画像読取機能、複写機能、ファクシミリ送受信機能を備えている。なお、本実施の形態においては、画像形成装置としてMFP100を例に説明するが、MFP100に代えて、例えば、画像形成機能を備えたプリンター、ファクシミリ等であってもよい。
ネットワーク3は、ローカルエリアネットワーク(LAN)であり、接続形態は有線または無線を問わない。またネットワーク3は、LANに限らず、ワイドエリアネットワーク(WAN)、インターネット等であってもよい。PC10,10A〜10D、MFP100およびファイルサーバー200は、ネットワーク3を介して互いに通信可能である。
ファイルサーバー200は、一般的なコンピュータである。ファイルサーバー200は、PC10,10A〜10Dからアクセス可能な共有データを記憶する。ファイルサーバー200は、PC10,10A〜10Dのいずれかから共有データがアクセスされると、PC10,10A〜10Dのうち共有データにアクセスする装置を特定する。また、PC10,10A〜10Dのうち同時に複数の装置から共有データにアクセスを可能とするが、共有データを更新する権限は、同時にアクセスする複数の装置のうち共有データに最初にアクセスした装置に与え、2番目以降にアクセスした装置には、読み出し権限のみを与える。
PC10,10A〜10Dは、一般的なパーソナルコンピュータであり、それぞれは、少なくともMFP100を制御するためのプリンタードライバープログラムがインストールされている。PC10,10A〜10Dそれぞれは、プリンタードライバープログラムを実行することより、プリントジョブを生成し、生成したプリントジョブをMFP100に送信する。プリントジョブは、プリントデータの他にジョブ情報を含む。ジョブ情報は、プリント枚数などの画像形成条件、プリントジョブを識別するためのプリントジョブ識別情報等を含む。プリントデータは、アプリケーションプログラムが実行されることにより生成されたデータを、例えばPCL(Printer Control Language)等のPDL(Page Description Language)で記述されたプリントデータに変換したデータである。アプリケーションプログラムが実行されることにより生成されたデータは、ファイルサーバー200に記憶される共有データを含む。
アプリケーションプログラムは、PC10,10A〜10D各々で実行可能であればよく、限定するものではないが、例えば、文書編集プログラム、図形編集プログラム、表計算プログラムを含む。ジョブ情報は、例えばPJL(Printer Job Language)で記述したデータである。PC10,10A〜10Dのうち例えばPC10が、プリントジョブをMFP100に送信すれば、MFP100は、プリントジョブのジョブ情報に従って、プリントデータの画像を形成する。PC10,10A〜10Dは、それらの構成および機能は同じなので、ここでは特に言及しない限りPC10を例に説明する。また、本実施の形態においては、ファイルサーバー200には、PC10,10A〜10Dと同様に、MFP100を制御するためのプリンタードライバーがインストールされている。したがって、ファイルサーバー200には、PC10,10A〜10Dと同様に、プリントジョブを生成し、MFP100に画像を形成させることができる。
図2は、PCのハードウエア構成の一例を示す図である。図2を参照して、PC10は、それぞれがバスに接続された、PC10の全体を制御するためのCPU11と、CPU11が実行するプログラム等を記憶するためのROM13と、CPU11の作業領域として用いられるRAM15と、大容量記憶装置としてのHDD17と、表示部19と、ユーザーの操作の入力を受け付ける操作部21と、PC10をネットワーク3に接続するための通信I/F23と、外部記憶装置25と、を含む。
外部記憶装置25は、プログラムを記憶したCD−ROM(Compact Disc−ROM)25Aが装着される。CPU11は、外部記憶装置25を介してCD−ROM25Aに記憶されたプログラムをRAM15にロードし、実行する。なお、プログラムを記憶する記録媒体としては、CD−ROM25Aに限られず、フレキシブルディスク、カセットテープ、光ディスク(MO(Magnetic Optical Disc)/MD(Mini Disc)/DVD(Digital Versatile Disc))、ICカード、光カード、マスクROM、EPROM(Erasable Programmable ROM)、EEPROM(Electrically Erasable and Programmable ROM)などの半導体メモリ等でもよい。また、HDD17に記憶されたプログラムをRAM15にロードして実行するようにしてもよい。この場合、PC10が、ネットワーク3に接続された他のコンピュータからプログラムをダウンロードして、そのプログラムをHDD17に記憶するようにしてもよい。ここでいうプログラムは、CPU11が直接実行可能なプログラムだけでなく、ソースプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
図3は、ファイルサーバーのハードウエア構成の一例を示す図である。図3を参照して、ファイルサーバー200は、それぞれがバスに接続された、ファイルサーバー200の全体を制御するためのCPU201と、CPU201が実行するプログラム等を記憶するためのROM203と、CPU201の作業領域として用いられるRAM205と、大容量記憶装置としてのHDD207と、表示部209と、ユーザーの操作の入力を受け付ける操作部211と、ファイルサーバー200をネットワーク3に接続するための通信I/F213と、外部記憶装置215と、を含む。
外部記憶装置215は、プログラムを記憶したCD−ROM(Compact Disc−ROM)215Aが装着される。CPU201は、外部記憶装置215を介してCD−ROM215Aに記憶されたプログラムをRAM205にロードし、実行する。なお、プログラムを記憶する記録媒体としては、CD−ROM215Aに限られず、フレキシブルディスク、カセットテープ、光ディスク(MO/MD/DVD)、ICカード、光カード、マスクROM、EPROM、EEPROMなどの半導体メモリ等でもよい。また、HDD207に記憶されたプログラムをRAM205にロードして実行するようにしてもよい。この場合、ファイルサーバー200が、ネットワーク3に接続された他のコンピュータからプログラムをダウンロードして、そのプログラムをHDD207に記憶するようにしてもよい。ここでいうプログラムは、CPU201が直接実行可能なプログラムだけでなく、ソースプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
図4は、MFPのハードウエア構成の一例を示すブロック図である。図4を参照して、MFP100は、メイン回路110と、原稿を読み取るための原稿読取部130と、原稿を原稿読取部130に搬送するための自動原稿搬送装置120と、原稿読取部130が原稿を読み取って出力する静止画像を用紙等に形成するための画像形成部140と、画像形成部140に用紙を供給するための給紙部150と、ユーザーインターフェースとしての操作パネル160と、を含む。
自動原稿搬送装置120は、原稿給紙トレイ上にセットされた複数枚の原稿を1枚ずつ自動的に原稿読取部130のプラテンガラス上に設定された所定の原稿読み取り位置まで搬送し、原稿読取部130により原稿画像が読み取られた原稿を原稿排紙トレイ上に排出する。
原稿読取部130は、原稿読取位置に搬送されてきた原稿に光を照射する光源と、原稿で反射した光を受光する光電変換素子とを含み、原稿のサイズに応じた原稿画像を走査する。光電変換素子は、受光した光を電気信号である画像データに変換して、画像形成部140に出力する。給紙部150は、給紙トレイに収納された用紙を画像形成部140に搬送する。
画像形成部140は、周知の電子写真方式により画像を形成するものであって、原稿読取部130から入力される画像データにシェーディング補正などの各種のデータ処理を施した、データ処理後のプリントデータ、外部から受信されたプリントデータ、またはHDD116に記憶されたプリントデータに基づいて、給紙部150により搬送される用紙に画像を形成する。画像形成部140は、画像が形成された用紙を排紙トレイに排紙する。
メイン回路110は、CPU111と、通信インターフェース(I/F)部112と、ROM(Read Only Memory)113と、RAM(Random Access Memory)114と、EEPROM(Electrically Erasable and Programmable ROM)115と、大容量記憶装置としてのハードディスクドライブ(HDD)116と、ファクシミリ部117と、CD−ROM(Compact Disc−Read Only Memory)119Aが装着される外部記憶装置119と、を含む。
CPU111は、自動原稿搬送装置120、原稿読取部130、画像形成部140、給紙部150および操作パネル160と接続され、MFP100の全体を制御する。ROM113は、CPU111が実行するプログラム、およびそのプログラムを実行するために必要なデータを記憶する。RAM114は、CPU111がプログラムを実行する際の作業領域として用いられる。また、RAM114は、原稿読取部130から連続的に送られてくる静止画像を一時的に記憶する。
操作パネル160は、MFP100の上面に設けられ、表示部160Aと操作部160Bとを含む。表示部160Aは、液晶表示装置(LCD)、有機ELD(Electroluminescence Display)等の表示装置であり、ユーザーに対する指示メニューや取得した画像データに関する情報等を表示する。操作部160Bは、複数のキーを備え、キーに対応するユーザーの操作による各種の指示、文字、数字などのデータの入力を受け付ける。操作部160Bは、表示部160A上に設けられたタッチパネルをさらに含む。
通信I/F部112は、MFP100をネットワーク3に接続するためのインターフェースである。CPU111は、通信I/F部112を介してPC10,10A〜10Dおよびファイルサーバー200との間で通信し、データを送受信する。通信I/F部112は、ネットワーク3を介してインターネットに接続された他のコンピュータと通信し、データを送受信する。
ファクシミリ部117は、公衆交換電話網(PSTN)に接続され、PSTNにファクシミリデータを送信する、またはPSTNからファクシミリデータを受信する。ファクシミリ部117は、受信したファクシミリデータを、HDD116に記憶する、または画像形成部140に出力する。画像形成部140は、ファクシミリ部117により受信されたファクシミリデータを用紙に印刷する。また、ファクシミリ部117は、HDD116に記憶されたデータをファクシミリデータに変換して、PSTNに接続されたファクシミリ装置に送信する。
外部記憶装置119は、CD−ROM119Aが装着される。CPU111は、外部記憶装置119を介してCD−ROM119Aにアクセス可能である。CPU111は、外部記憶装置119に装表されたCD−ROM119Aに記録されたプログラムをRAM114にロードして実行する。なお、CPU111が実行するプログラムは、CD−ROM119Aに記録されたプログラムに限られず、HDD116に記憶されたプログラムをRAM114にロードして実行するようにしてもよい。この場合、ネットワーク3に接続された他のコンピュータが、MFP100のHDD116に記憶されたプログラムを書き換える、または、新たなプログラムを追加して書き込むようにしてもよい。さらに、MFP100が、ネットワーク3に接続された他のコンピュータからプログラムをダウンロードして、そのプログラムをHDD116に記憶するようにしてもよい。ここでいうプログラムは、CPU111が直接実行可能なプログラムだけでなく、ソースプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
なお、CPU111が実行するプログラムを記憶する媒体としては、CD−ROM119Aに限られず、フレキシブルディスク、カセットテープ、光ディスク(MO/MD/DVD)、ICカード、光カード、マスクROM、EPROM、EEPROMなどの半導体メモリ等でもよい。また、HDD207に記憶されたプログラムをRAM205にロードして実行するようにしてもよい。この場合、MFP100が、ネットワーク3に接続された他のコンピュータからプログラムをダウンロードして、そのプログラムをHDD116に記憶するようにしてもよい。ここでいうプログラムは、CPU111が直接実行可能なプログラムだけでなく、ソースプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
本実施の形態におけるデータ処理システムにおいては、PC10、10A〜10Dのユーザーのいずれかが、ファイルサーバー200に記憶された共有データにアクセスしている最中に、別のユーザーが後から同じ共有データの出力を指示した場合に、先にアクセスしているユーザーのアクセスが終了してから共有データを出力するようにしたものである。ここでは、PC10Aのユーザーが、ファイルサーバー200の共有データにアクセスしている最中に、PC10のユーザーが、出力指示を入力する場合を例に説明する。この場合、PC10を出力指示装置といい、ファイルサーバー200を出力制御装置という。
図5は、第1の実施の形態における出力指示装置として機能するPCが備えるCPUが有する機能の一例を示すブロック図である。図5に示す機能は、PC10が備えるCPU11が、ROM13、HDD17またはCD−ROM25Aに記憶されたデータ処理プログラムをRAM15にロードして実行することにより、CPU11に形成される機能である。
図5を参照して、CPU11は、出力の対象となるデータを指定するデータ指定部51と、出力条件を受け付ける出力条件受付部53と、制限時刻を受け付ける制限時刻受付部55と、出力条件に従って出力対象データを出力するための出力指示を生成する出力指示生成部57と、出力指示をファイルサーバー200に送信する出力指示送信部59と、ファイルサーバー200からメッセージを受信するメッセージ受信部61と、受信されたメッセージを表示するメッセージ表示部63と、を含む。
データ指定部51は、ユーザーが操作部21に一覧画面の表示要求を入力すると、表示部19に一覧画面を表示する。データ指定部51は、一覧画面の表示要求が入力されると、ファイルサーバー200からHDD207に記憶されている共有データを識別するためのデータ識別情報を取得し、取得されたデータ識別情報を選択可能な一覧画面を生成し、生成された一覧画面を表示部19に表示する。ユーザーが操作部21に一覧画面に選択可能に表示されたデータ識別情報を選択する操作を入力すると、選択されたデータ識別情報を出力対象データのデータ識別情報として受け付ける。データ指定部51は、出力対象データのデータ識別情報を、出力指示生成部57に出力する。
出力条件受付部53は、出力対象データを出力するための出力条件を受け付ける。出力条件受付部53は、受け付けられた出力条件を出力指示生成部57に出力する。出力条件は、出力方法を含む。出力方法は、出力対象データの画像を形成する「印刷」と、出力対象データを電子メールによって送信する「送信」と、を含む。出力条件は、出力方法に「印刷」が設定される場合、出力対象データの画像を形成するための印刷条件を含み、出力方法に「送信」が設定される場合、出力対象データを送信するための送信条件を含む。印刷条件は、出力対象データの画像を形成する出力装置を特定する情報と、出力装置が画像を形成するための画像形成条件と、を含む。
出力条件受付部53は、ユーザーが、出力方法として「印刷」を選択する場合、ユーザーによる出力装置を特定する操作を受け付ける。ここでは、ユーザーにより出力装置として、MFP100が特定される場合を例に説明する。出力条件受付部53は、出力装置としてMFP100が特定されると、出力装置MFP100を制御するためのプリンタードライバーを起動し、MFP100で画像形成するための画像形成条件を受け付ける。画像形成条件は、例えば、用紙サイズ、部数、モノクロ/カラーの別などを含む。
出力条件受付部53は、ユーザーが、出力方法として「送信」を選択する場合、電子メールを送信するための送信条件を受け付ける。送信条件は、例えば、宛先の電子メールアドレスと、電子メール本文に設定されるコメントと、を含む。
制限時刻受付部55は、出力対象データが出力されなければならない最終の時刻を受け付ける。ユーザーが操作部21に入力する時刻を、制限時刻として受け付ける。制限時刻受付部55は、受け付けられた制限時刻を、出力指示生成部57に出力する。
出力指示生成部57は、データ指定部51から出力対象データのデータ識別情報が入力され、出力条件受付部53から出力条件が受け付けられ、制限時刻受付部55から制限時刻が受け付けられる。出力指示生成部57は、データ識別情報、出力条件および制限時刻を含む出力指示を生成し、生成した出力指示を出力指示送信部59に出力する。制限時刻受付部55により制限時刻が受け付けられない場合、出力指示は、制限時刻を含まない。
出力指示送信部59は、出力指示生成部57から出力指示が入力されると、出力指示を、通信I/F23を介してファイルサーバー200に送信する。出力指示の送信先は、データ指定部51によって指定された出力対象データが記憶されている装置であり、ここでは、ファイルサーバー200である。
メッセージ受信部61は、通信I/F23を制御して、出力指示を送信したファイルサーバー200から送信されるメッセージを受信する。メッセージ受信部61は、受信されたメッセージをメッセージ表示部63に出力する。メッセージは、出力指示を受信するファイルサーバー200によって、出力指示にしたがった出力が完了した時点で、出力が完了したことを通知するために送信される。メッセージ表示部63は、メッセージ受信部61からメッセージが入力されると、入力されたメッセージを表示部19に表示する。
図6は、出力条件設定画面の一例を示す図である。図6を参照して、出力条件設定画面は、出力対象データを指定する領域403と、出力方法を設定するチェックボックス405,409と、制限時刻を設定するチェックボックス415と、を含む。領域403の右に「参照」の文字が表されたボタン404が配置され、ボタン404が指示されると一覧画面が出力条件設定画面に重畳して表示され、ユーザーが一覧画面に表示されたデータ識別情報を選択すると、選択されたデータ識別情報が領域403に表示される。
チェックボックス405が指示されると、出力方法に「印刷」が設定され、画像形成装置の装置識別情報を設定する領域407が有効になる。領域407の右端の三角印が指示されると、予め登録された画像形成装置の装置識別情報を選択可能に列挙したプリンター一覧画面が出力条件設定画面に重畳して表示される。ユーザーが装置識別情報を選択する操作を操作部21に入力すると、選択された装置識別情報が領域407に表示され、装置識別情報で特定されるプリンターが出力対象データの画像を形成する出力装置に設定される。ここでは、MFP100の装置識別情報「AAA Printer」が表示され、出力装置にMFP100が設定される場合を例に示している。
また、領域407に装置識別情報が表示されると、「プロパティ」の文字が表されたボタン408が有効になり、ユーザーがボタン408を指示可能な状態になる。ユーザーがボタン408を指示すると、領域407に表示された装置識別情報のプリンター、ここではMFP100のプリンタードライバーが起動される。これにより、プリンタードライバーによって画像形成条件を設定するための画像形成条件設定画面が、出力条件設定画面に重畳して表示され、ユーザーが画像形成条件設定画面に従って操作部21に画像形成条件を入力すれば、入力された画像形成条件が設定される。
一方、チェックボックス409が指示されると、出力方法に「送信」が設定され、宛先アドレスを表示する領域411、「参照」の文字が表されたボタン412、および領域413が有効になる。ユーザーが領域411を指示して、操作部21に電子メールアドレスを入力すれば、領域411に入力された電子メールアドレスが表示され、入力された電子メールアドレスが送信先に設定される。また、ボタン412を指示すれば、予め登録された電子メールアドレスを選択可能に列挙した宛先一覧画面が出力条件設定画面に重畳して表示される。ユーザーが宛先一覧画面に表示された電子メールアドレスを選択する操作を操作部21に入力すると、選択された電子メールアドレスが領域411に表示され、選択された電子メールアドレスが送信先に設定される。領域411には、1以上の電子メールアドレスを表示可能である。ここでは、「111@abcde.co.jp」と、「222@abcde.co.jp」との2つの電子メールアドレスが設定されている場合を示している。ユーザーが領域413を指示し、操作部21にコメントを入力すると、入力されたコメントが領域413に表示され、コメントが電子メールの本文に設定される。
さらに、ユーザーがチェックボックス415を指示すれば、領域416に制限時刻を設定可能な状態となる。ユーザーが領域416を指示し、操作部21に現在時刻から経過時間を入力すると、経過時間が領域416に表示され、現在の時刻から経過時間が経過した後の時刻が、制限時刻に設定される。
図7は、出力指示の一例を示す第1の図である。図7を参照して、出力方法に「印刷」が設定された場合における出力指示421を示している。<User Name>のタグで、PC10のユーザーのユーザー識別情報「User1」が設定され、<PCName>のタグで、PC10の名称「PC1」が設定される。<IPAdress>のタグで、PC10のネットワーク3におけるネットワークアドレスが設定され、<FilePath>のタグで、出力対象データのデータ識別情報が設定され、<Port>のタグで、通信のためのポート番号が設定される。さらに、<PrinerName>のタグで、印刷条件の出力装置を特定する情報として、MFP100のネットワークアドレスが設定される。<PrintSetting>のタグで、印刷条件の画像形成条件が設定される。さらに、<Time>のタグで、制限時刻を算出するための経過時間「15」分が設定される。
図8は、出力指示の一例を示す第2の図である。図8を参照して、出力方法に「送信」が設定された場合における出力指示431を示している。<User Name>のタグで、PC10のユーザーのユーザー識別情報「User1」が設定され、<PCName>のタグで、PC10の名称「PC1」が設定される。<IPAdress>のタグで、PC10のネットワーク3におけるネットワークアドレスが設定され、<FilePath>のタグで、出力対象データのデータ識別情報が設定され、<Address>のタグで、宛先の電子メールアドレスが設定される。<Comment>のタグで、電子メールの本文となるコメントが設定される。さらに、<Time>のタグで、制限時刻を算出するための経過時間「15」分が設定される。
図9は、第1の実施の形態における出力制御装置として機能するファイルサーバーが備えるCPUが有する機能の一例を示すブロック図である。図9に示す機能は、ファイルサーバー200が備えるCPU201が、ROM203、HDD207またはCD−ROM215Aに記憶されたデータ処理プログラムをRAM205にロードして実行することにより、CPU201に形成される機能である。
図9を参照して、CPU201は、PC10,10A〜10Dのいずれかから出力指示を受信する出力指示受信部251と、出力指示により定まる出力対象データがアクセスされた状態か否かを判断するアクセス判断部253と、出力指示により定められる出力対象データを出力条件に従って出力する出力制御部255と、アクセス判断部253により出力対象データがアクセスされた状態と判断された場合、前記出力制御部255による出力を禁止する出力禁止部257と、出力禁止部257による出力対象データの出力の禁止を所定の条件で解除する出力解除部259と、メッセージ送信部261と、を含む。
出力指示受信部251は、通信I/F213がPC10,10A〜10Dのいずれかから出力指示を受信すると、受信された出力指示と、PC10,10A〜10Dのうち出力指示を送信してきた装置の装置識別情報と、を取得する。装置識別情報は、ネットワーク3においてその装置に割り当てられたネットワークアドレスであり、ここでは、IP(Internet Protocol)アドレスを用いている。なお、MAC(Media Access Control)アドレスを用いてもよい。
出力指示受信部251は、出力指示に含まれる出力対象データのデータ識別情報と装置識別情報とをアクセス判断部253に出力し、出力指示を出力制御部255に出力し、出力指示に制限時刻が含まれている場合にはその制限時刻を出力解除部259に出力し、装置識別情報をメッセージ送信部261に出力する。
アクセス判断部253は、出力指示受信部351からデータ識別情報と装置識別情報とが入力される。アクセス判断部253は、HDD207に記憶された共有データのうちで、データ識別情報で特定される共有データが、装置識別情報で特定される出力指示装置以外の装置によってアクセスされているか否かを判断する。出力指示を送信してきた出力指示装置以外の装置であって、データ識別情報で特定される共有データにアクセスしている装置を、アクセス装置という。
以下の説明では、PC10が出力指示を送信する出力指示装置とし、PC10以外のPC10Aがアクセス装置とする場合を例に説明する。
アクセス判断部253は、アクセス装置が存在する場合には、禁止信号を出力禁止部257に出力する。アクセス判断部253は、アクセス装置が存在する間は、禁止信号を継続して出力する。禁止信号は、出力指示受信部251から入力されるデータ識別情報を含む。
出力禁止部257は、アクセス判断部253から禁止信号が入力されている間は、後述する出力解除部259から解除信号が入力されるまで、出力禁止指示を出力制御部255に出力する。出力解除部259は、出力指示受信部251から制限時刻が入力され、現在時刻が制限時刻を経過すると、解除信号を出力禁止部257に出力する。したがって、出力禁止部257は、アクセス判断部253から禁止信号が入力される場合は、禁止信号が入力されてから禁止信号が入力されなくなるまでの間、または、禁止信号が入力されてから解除信号が入力されるまでの間、出力制御部255に出力禁止信号を出力する。
出力制御部255は、出力指示受信部251から出力指示が入力され、出力禁止部257から出力禁止信号が入力される。出力制御部255は、出力禁止部257から出力禁止信号が入力されていないことを条件に、出力指示に含まれるデータ識別情報で特定される出力対象データを出力条件に従って出力する。具体的には、出力制御部255は、出力指示受信部251から出力指示が入力される場合、出力禁止部257から出力禁止信号が入力されていない場合には、HDD207に記憶されている共有データのうちから、出力指示に含まれるデータ識別情報で特定される共有データを出力対象データとして読み出す。出力制御部255は、出力指示受信部251から出力指示が入力される場合、出力禁止部257から出力禁止信号が入力される場合は、出力禁止部257から出力禁止信号が入力されなくなった後に、HDD207に記憶されている共有データのうちから、出力指示に含まれるデータ識別情報で特定される共有データを出力対象データとして読み出す。
出力制御部255は、PC10から出力指示が受信された時点で、出力指示により特定される出力対象データが、PC10Aによりアクセスされている場合には、PC10Aによりアクセスされなくなった後に、HDD207から読み出す。このため、出力制御部255がHDD207から読み出す出力対象データは、PC10Aにより変更される場合には、PC10Aにより変更された後のデータである。また、出力制御部255は、PC10から出力指示が受信された時点で、出力指示により特定される出力対象データが、PC10Aによりアクセスされており、かつ、現在時刻が制限時刻になった時点においてもPC10Aによりアクセスされている場合には、制限時刻まで待った後に、HDD207から読み出す。このため、出力制御部255がHDD207から読み出す出力対象データは、PC10Aにより変更される場合には、制限時刻までにPC10Aにより変更された後のデータである。
出力制御部255は、画像形成制御部271と、データ送信部273と、を含む。出力指示は、出力条件に出力方法として「印刷」が設定されている場合、出力条件に印刷条件を含み、印刷条件は、出力装置の装置識別情報と、画像形成条件とを含む。また、出力指示は、出力条件に出力方法として「送信」が設定されている場合、出力条件に送信条件を含み、送信条件は、電子メールアドレスとコメントと、を含む。
出力制御部255は、出力条件に出力方法として「印刷」が設定されている場合、画像形成制御部271を能動化し、画像形成制御部271に、出力対象データを入力し、出力条件に出力方法として「送信」が設定されている場合、データ送信部273を能動化し、データ送信部273に、出力対象データを入力する。
画像形成制御部271は、出力条件に含まれる印刷条件に含まれる装置識別情報から出力装置を特定し、出力装置を制御して、出力装置に出力対象データの画像を形成させる。具体的には、画像形成制御部271は、出力装置のプリンタードライバーを実行することによりCPU201に形成される。画像形成制御部271は、出力対象データと印刷条件に含まれる画像形成条件とに基づいて、プリントジョブを生成し、生成されたプリントジョブを、通信I/F213を介して出力装置に送信する。ここでは、出力条件に含まれる印刷条件に含まれる装置識別情報は、MFP100を特定するので、MFP100に出力対象データと画像形成条件とから生成されたプリントジョブを送信する。これにより、MFP100により出力対象データの画像が形成された用紙が出力される。
データ送信部273は、出力条件に含まれる送信条件に含まれる電子メールアドレスを宛先に設定し、送信条件に含まれるコメントを本文に設定し、出力対象データを添付した電子メールアドレスを生成し、生成された電子メールを、通信I/F213を介して、ネットワーク3に接続された電子メールサーバに送信する。これにより、電子メールサーバによって、電子メールに添付された出力対象データが、宛先の電子メールアドレス宛に送信される。
出力制御部255は、画像形成制御部271またはデータ送信部273によって、出力対象データが出力されると、出力結果をメッセージ送信部261に出力する。出力結果は、出力対象データの画像形成または電子メール送信が、正常またはエラーで終了したことを示す情報を含む。
メッセージ送信部261は、出力指示を送信した装置、ここではPC10の装置識別情報が出力指示受信部251から入力され、出力制御部255から出力結果が入力される。メッセージ送信部261は、出力制御部255から出力結果が入力されると、出力結果を含むメッセージを生成し、生成されたメッセージを、装置識別情報で特定されるPC10に通信I/F213を介して送信する。
図10は、第1の実施の形態における出力指示処理の流れの一例を示すフローチャートである。出力指示処理は、出力指示装置として機能するPC10が備えるCPU11が、ROM13、HDD17またはCD−ROM25Aに記憶されたデータ処理プログラムをRAM15にロードして実行することにより、CPU11により実行される処理である。
図10を参照して、出力指示装置として機能するPC10が備えるCPU11は、共有データの指定を受け付けたか否かを判断する。出力条件設定画面を表示部19に表示し、ユーザーが操作部21にファイルサーバー200のHDD207に記憶された共有データを指定する操作を入力したか否かを判断する。共有データの指定を受け付けるまで待機状態となり(ステップS01でNO)、共有データの指定を受け付けたならば(ステップS01でYES)、処理をステップS02に進める。
ステップS02においては、出力条件を受け付ける。出力条件設定画面を表示部19に表示し、ユーザーが操作部21に入力する出力条件を受け付ける。出力条件の出力方法として「印刷」が設定される場合には、出力装置の指定と画像形成条件とを受け付け、出力条件の出力方法として「送信」が設定される場合には、送信先の電子メールアドレスとコメントとを受け付ける。
ステップS03においては、制限時刻を受け付けたか否かを判断する。ユーザーが出力条件設定画面に従って操作部21に制限時刻を入力したならば制限時刻を受け付ける。制限時刻を受け付けた場合は、処理をステップS04に進めるが、そうでなければステップS04をスキップして、処理をステップS05に進める。ステップS04においては、受け付けられた制限時刻を出力条件に設定し、処理をステップS05に進める。
ステップS05においては、出力指示を生成する。ステップS01において指定された共有データのデータ識別情報と、ステップS02において受け付けられた出力条件とを含み、ステップS03において制限時刻が入力される場合にはその制限時刻をさらに含む出力指示を生成する。
ステップS06においては、生成された出力指示をファイルサーバー200に通信I/F23を介して送信する。そして、通信I/F23がファイルサーバー200からメッセージを受信するまで待機状態となる(ステップS07でNO)。ファイルサーバー200からメッセージを受信すると(ステップS07でYES)、処理をステップS08に進める。ステップS08においては、受信されたメッセージを表示部19に表示し、処理を終了する。
図11は、第1の実施の形態における出力制御処理の流れの一例を示すフローチャートである。出力制御処理は、出力制御装置として機能するファイルサーバー200が備えるCPU201が、ROM203、HDD207またはCD−ROM215Aに記憶されたデータ処理プログラムをRAM205にロードして実行することにより、CPU201により実行される処理である。
図11を参照して、CPU201は、出力指示を受信したか否かを判断する。出力指示を受信するまで待機状態となり(ステップS51でNO)、出力指示を受信すると(ステップS51でYES)、処理をステップS52に進める。通信I/F213がPC10,10A〜10Dのいずれかから出力指示を受信したか否かを判断する。ここでは、PC10から出力指示を受信する場合を例に説明する。
ステップS52においては、HDD207に記憶された共有データのうちで、受信された出力指示に含まれるデータ識別情報で特定される共有データのアクセス状態を検出する。ステップS51において受信された出力指示を送信してきた出力指示装置以外の装置によって、共有データがアクセスされているか否かを判断する。受信された出力指示に含まれるデータ識別情報で特定される共有データは、出力対象データである。
次のステップS53においては、アクセス状態によって処理を分岐させる。出力指示を送信してきた装置以外の装置によって、共有データがアクセスされているならば処理をステップS54に進めるが、そうでなければ処理をステップS55に進める。
ステップS54においては、出力指示に含まれる制限時刻を経過したか否かを判断する。現在時刻が制限時刻を経過したならば処理をステップS55に進めるが、そうでなければ処理をステップS52に戻す。処理をステップS55に進める場合は、出力対象データが、出力指示を送信してきた装置以外の装置によるアクセスが終了する場合、または、出力指示を送信してきた装置以外の装置によってアクセスがされている場合であっても、現在時刻が制限時刻を経過した場合である。
ステップS55においては、出力対象データである共有データを、HDD207から読み出す。そして、次のステップS56においては、出力指示に含まれる出力方法によって処理を分岐させる。出力方法に「印刷」が設定されているならば処理をステップS57に進め、出力方法に「送信」が設定されているならば処理をステップS60に進める。
ステップS57においては、出力条件に含まれる印刷条件に含まれる装置識別情報から出力装置を特定する。そして、出力対象データと印刷条件に含まれる画像形成条件とに基づいて、プリントジョブを生成する(ステップS58)。具体的には、出力装置を制御するためのプリンタードライバーを実行し、出力対象データと印刷条件に含まれる画像形成条件とに基づいて、プリントジョブを生成する。そして、生成されたプリントジョブを、出力装置に通信I/F213を介して送信し(ステップS59)、処理をステップS62に進める。ここでは、出力条件に含まれる印刷条件に含まれる装置識別情報は、MFP100を特定するので、MFP100に、出力対象データと画像形成条件とから生成されたプリントジョブを送信する。これにより、MFP100により出力対象データの画像が形成された用紙が出力される。
一方、ステップS60においては、出力条件に含まれる送信条件に従って電子メールを生成する。具体的には、送信条件に含まれる電子メールアドレスを宛先に設定し、送信条件に含まれるコメントを本文に設定し、出力対象データを添付した電子メールアドレスを生成する。次のステップS61においては、生成された電子メールを、通信I/F213を介して、ネットワーク3に接続された電子メールサーバに送信し、処理をステップS62に進める。これにより、電子メールサーバによって、電子メールに添付された出力対象データが、宛先の電子メールアドレス宛に送信される。
ステップS62においては、ステップS51において受信された出力指示を送信してきた装置、ここではPC10に、出力結果を含むメッセージを通信I/F213を介して送信し、処理を終了する。出力結果は、出力対象データの画像形成または電子メール送信が完了したことを通知する情報を含む。
以上説明したように第1の実施の形態におけるデータ処理システム1は、出力制御装置として機能するファイルサーバー200は、出力指示装置として機能するPC10から出力指示を受信することに応じて、出力対象データを読み出し、出力条件に従って出力対象データを出力するが、出力対象データが他のアクセス装置によってアクセスされた状態の場合、出力対象データの読み出しを、出力対象データがアクセス装置によってアクセスされた状態でなくなるまで禁止する。このため、共有データを出力する際に、他のユーザーによりアクセスされている場合には、他のユーザーによるアクセスが終了した後に共有データを出力するので、共有データを出力指示した後における他のユーザーによる変更を反映した共有データを出力することができる。
また、出力制御装置として機能するファイルサーバー200は、出力を指示する際に制限時刻を設定する場合、アクセス装置PC10Aによって出力対象データがアクセスされている状態であっても、現在の時刻が制限時刻を経過する場合には、出力対象データを読み出し、出力する。このため、遅くとも制限時刻には出力対象データを出力することができる。
なお、第1の実施の形態においては、出力制御装置をファイルサーバー200とする場合を例に説明したが、MFP100が備えるHDD116に共有データを記憶する場合には、MFP100を、出力制御装置としても良い。この場合には、ファイルサーバー200のCPU201に形成された機能は、MFP100が備えるCPU111に形成され、ファイルサーバー200のCPU201で実行される処理は、MFP100が備えるCPU111により実行される。
<第2の実施の形態>
第1の実施の形態におけるデータ処理システム1においては、共有データを記憶する出力制御装置として機能するファイルサーバー200において、出力対象データを出力するタイミングを調整するようにした。第2の実施の形態におけるデータ処理システム1Aにおいては、出力指示装置として機能するPC10において、出力指示を送信するタイミングを調整するようにしたものである。以下、第2の実施の形態におけるデータ処理システム1Aについて、第1の実施の形態におけるデータ処理システム1と異なる点を主に説明する。
第2の実施の形態におけるデータ処理システム1Aの全体概要は、図1に示した第1の実施の形態におけるデータ処理システム1の全体概要と同じである。第2の実施の形態におけるPC10,10A〜10D、ファイルサーバー200およびMFP100各々のハードウエア構成は、図2、図3および図5にそれぞれ示したハードウエア構成の一例と同じである。したがって、それらについての説明は繰り返さない。
図12は、第2の実施の形態における出力指示装置として機能するPCが備えるCPUが有する機能の一例を示すブロック図である。図12を参照して、出力指示装置として機能するPC10が備えるCPU11Aが有する機能は、図5に示した機能と異なる点は、アクセス判断部71および送信禁止部73および送信解除部75が追加された点、メッセージ受信部61およびメッセージ表示部63が削除された点、データ指定部51、制限時刻受付部55および出力指示送信部59がデータ指定部51A、制限時刻受付部55Aおよび出力指示送信部59Aにそれぞれ変更されたである。その他の機能は、図5に示したのでここでは説明を繰り返さない。
第2の実施の形態におけるデータ処理システム1Aに関する以下の説明では、PC10が出力指示装置となり、ファイルサーバー200が出力制御装置となる場合を例に説明する。
データ指定部51Aは、一覧画面の表示要求が入力されると、ファイルサーバー200からHDD207に記憶されている共有データを識別するためのデータ識別情報を取得し、取得されたデータ識別情報を選択可能な一覧画面を生成し、生成された一覧画面を表示部19に表示する。ユーザーが操作部21に一覧画面に選択可能に表示されたデータ識別情報を選択する操作を入力すると、選択されたデータ識別情報を出力対象データのデータ識別情報として受け付ける。データ指定部51Aは、出力対象データのデータ識別情報を、出力指示生成部57およびアクセス判断部71に出力する。
制限時刻受付部55Aは、出力対象データが出力されなければならない時刻を受け付ける。ユーザーが操作部21に入力する時刻を、制限時刻として受け付ける。制限時刻受付部55は、受け付けられた制限時刻を、送信解除部75に出力する。
アクセス判断部71は、データ指定部51Aからデータ識別情報が入力され、ファイルサーバー200のHDD207に記憶された共有データのうちで、データ識別情報で特定される共有データが、自装置であるPC10以外の他の装置によってアクセスされているか否かを判断する。自装置であるPC10以外の他の装置であって、データ識別情報で特定される共有データにアクセスしている装置を、アクセス装置という。
以下の説明では、自装置であるPC10以外のPC10Aがアクセス装置とする場合を例に説明する。アクセス判断部71は、アクセス装置が存在する場合には、禁止信号を送信禁止部73に出力する。アクセス判断部71は、アクセス装置が存在する間は、禁止信号を継続して出力する。禁止信号は、データ指定部51Aから入力されるデータ識別情報を含む。
送信禁止部73は、アクセス判断部71から禁止信号が入力されている間は、後述する送信解除部75から解除信号が入力されるまで、送信禁止指示を出力指示送信部59Aに出力する。送信解除部75は、制限時刻受付部55Aから制限時刻が入力され、現在時刻が制限時刻を経過すると、解除信号を送信禁止部73に出力する。したがって、送信禁止部73は、アクセス判断部71から禁止信号が入力される場合は、禁止信号が入力されてから禁止信号が入力されなくなるまでの間、または、禁止信号が入力されてから解除信号が入力されるまでの間、出力指示送信部59Aに送信禁止信号を出力する。
出力指示送信部59Aは、出力指示生成部57から出力指示が入力され、送信禁止部73から送信禁止信号が入力される。出力指示送信部59Aは、送信禁止部73から送信禁止信号が入力されていないことを条件に、出力指示を、通信I/F23を介してファイルサーバー200に送信する。具体的には、出力指示送信部59Aは、出力指示生成部57から出力指示が入力される場合、送信禁止部73から送信禁止信号が入力されていない場合には、出力指示をファイルサーバー200に送信する。出力指示送信部59Aは、出力指示生成部57から出力指示が入力される場合、送信禁止部73から送信禁止信号が入力される場合は、送信禁止部73から送信禁止信号が入力されなくなった後に、出力指示をファイルサーバー200に送信する。
ユーザーにより出力指示装置であるPC10に、出力対象データを指定する操作が入力され、出力条件が入力されて、PC10により出力指示が生成された時点で、出力指示により特定される出力対象データが、出力指示装置PC10以外のアクセス装置PC10Aによりアクセスされている場合には、PC10は、アクセス装置PC10Aによりアクセスされなくなった後に、出力指示が出力制御装置であるファイルサーバー200に送信する。このため、ファイルサーバー200により出力指示が受信される時点において出力対象データは、PC10Aにより変更される場合には、PC10Aにより変更された後のデータである。また、出力指示装置であるPC10において出力指示が生成された時点で、出力指示により特定される出力対象データが、PC10Aによりアクセスされており、かつ、現在時刻が制限時刻になった時点においてもPC10Aによりアクセスされている場合には、PC10は、制限時刻まで待った後に、出力指示を出力制御装置であるファイルサーバー200に送信する。このため、ファイルサーバー200により出力指示が受信される時点において出力対象データは、PC10Aにより変更される場合には、制限時刻までにPC10Aにより変更された後のデータである。
図13は、第2の実施の形態における出力制御装置として機能するファイルサーバーが備えるCPUが有する機能の一例を示すブロック図である。図9に示した機能と異なる点は、アクセス判断部253、出力禁止部257、出力解除部259、およびメッセージ送信部261が削除された点、出力指示受信部251および出力制御部255が、出力指示受信部251Aおよび出力制御部255Aに変更された点である。
出力指示受信部251Aは、通信I/F213がPC10,10A〜10Dのいずれかから出力指示を受信すると、受信された出力指示と、PC10,10A〜10Dのうち出力指示を送信してきた装置の装置識別情報と、を取得する。出力指示受信部251Aは、出力指示を出力制御部255Aに出力する。
出力制御部255Aは、出力指示受信部251Aから出力指示が入力されると、出力指示に含まれるデータ識別情報で特定される出力対象データを出力条件に従って出力する。具体的には、出力制御部255は、出力指示受信部251Aから出力指示が入力される場合、HDD207に記憶されている共有データのうちから、出力指示に含まれるデータ識別情報で特定される共有データを出力対象データとして読み出す。
出力制御部255Aは、画像形成制御部271と、データ送信部273と、を含む。出力制御部255Aは、出力条件に印刷方法が設定されている場合、画像形成制御部271を能動化し、画像形成制御部271に、出力対象データを入力し、出力条件に送信方法が設定されている場合、データ送信部273を能動化し、データ送信部273に、出力対象データを入力する。画像形成制御部271およびデータ送信部273は、第1の実施の形態において説明したので、ここでは説明を繰り返さない。
図14は、第2の実施の形態における出力指示処理の流れの一例を示すフローチャートである。出力指示処理は、第2の実施の形態における出力指示装置として機能するPC10が備えるCPU11Aが、ROM13、HDD17またはCD−ROM25Aに記憶されたデータ処理プログラムをRAM15にロードして実行することにより、CPU11Aにより実行される処理である。
図14を参照して、図10に示した第1の実施の形態における出力指示処理と異なる点は、ステップS05とステップS06との間に、ステップS21〜ステップS23が追加された点である。その他の処理は、図10に示した処理と同じなので、ここでは説明を繰り返さない。
ステップS05において、出力指示が生成されると、次のステップS21において、ファイルサーバー200のHDD207に記憶された共有データのうちステップS01において出力対象データに指定された共有データのアクセス状態を検出する。自装置以外の装置によって、共有データがアクセスされているか否かを判断する。
次のステップS22においては、アクセス状態によって処理を分岐させる。自装置以外の装置によって、共有データがアクセスされているならば処理をステップS23に進めるが、そうでなければ処理をステップS06に進める。
ステップS23においては、ステップS03において受け付けられた制限時刻を経過したか否かを判断する。現在時刻が制限時刻を経過したならば処理をステップS06に進めるが、そうでなければ処理をステップS21に戻す。処理をステップS06に進める場合は、出力対象データが、自装置以外の装置によるアクセスが終了する場合、または、自装置以外の装置によってアクセスがされている場合であっても、現在時刻が制限時刻を経過した場合である。
図15は、第2の実施の形態における出力制御処理の流れの一例を示すフローチャートである。出力制御処理は、出力制御装置として機能するファイルサーバー200が備えるCPU201Aが、ROM203、HDD207またはCD−ROM215Aに記憶されたデータ処理プログラムをRAM205にロードして実行することにより、CPU201Aにより実行される処理である。
図15を参照して、図11に示した出力制御処理と異なる点は、ステップS52〜ステップS54が削除された点である。その他の処理は、図11に示した処理と同じなので、ここでは説明を繰り返さない。ステップS51において出力指示が受信されると、直ちにステップS55以降の処理が実行され、出力対象データが読み出され、出力される。
以上説明したように第2の実施の形態におけるデータ処理システム1Aにおいては、出力指示装置として機能するPC10は、出力対象データが他のアクセス装置PC10Aによってアクセスされた状態の場合、出力指示の送信を、出力対象データがアクセス装置PC10Aによってアクセスされた状態でなくなるまで禁止する。このため、共有データを出力する際に、他のユーザーによりアクセスされている場合には、他のユーザーによるアクセスが終了した後に出力指示が送信されるので、共有データを出力指示した後における他のユーザーによる変更を反映した共有データを出力することができる。
また、出力指示装置PC10は、出力条件として制限時刻が設定される場合は、出力対象データが他のアクセス装置PC10Aによってアクセスされた状態の場合であっても、現在の時刻が前記制限時刻を経過する場合には、出力指示を送信する。このため、遅くとも制限時刻には出力対象データを出力することができる。
なお、第2の実施の形態においても第1の実施の形態と同様に、出力制御装置をMFP100とすることができる。
<第3の実施の形態>
第1および第2の実施の形態におけるデータ処理システム1,1Aにおいては、PC10,10A〜10Dのいずれかを出力指示装置とし、出力対象データとして指定された共有データを記憶するファイルサーバー200またはMFP100を出力制御装置とした。第3の実施の形態におけるデータ処理システム1Bは、PC10,10A〜10Dのいずれかを出力指示装置とする点では第1および第2の実施の形態におけるデータ処理システム1,1Aと同じであるが、出力対象データとして指定された共有データにアクセスするアクセス装置を出力制御装置とする点で、第1および第2の実施の形態におけるデータ処理システム1,1Aと異なる。ここでは、説明のため出力指示装置をPC10とする場合を例に説明する。
また、第1および第2の実施の形態においては、出力対象データとなる共有データが、ファイルサーバー200またはMFP100に記憶されるが、第3の実施の形態のけるデータ処理システム1Bにおいては、出力対象データとなる共有データは、データ処理システム1BのPC10,10A〜10D、ファイルサーバー200およびMFP100のいずれに記憶されていてもよい。ここでは、説明のためファイルサーバー200に出力対象データとなる共有データが記憶される場合を例に説明する。
第3の実施の形態におけるデータ処理システム1Bの全体概要は、図1に示した第1の実施の形態におけるデータ処理システム1の全体概要と同じである。第3の実施の形態におけるPC10,10A〜10D、ファイルサーバー200およびMFP100各々のハードウエア構成は、図2、図3および図5にそれぞれ示したハードウエア構成の一例と同じである。従って、それらについての説明は繰り返さない。
図16は、第3の実施の形態における出力指示装置として機能するPCが備えるCPUが有する機能の一例を示すブロック図である。図16を参照して、出力指示装置として機能するPC10が備えるCPU11Bの機能は、図5に示した機能と異なる点は、アクセス判断部71A、アクセス元検出部77、切換部79および出力制御部81が追加された点、データ指定部51および出力指示送信部59がデータ指定部51Aおよび出力指示送信部59Bにそれぞれ変更されたである。その他の機能は、図5に示したのでここでは説明を繰り返さない。
データ指定部51Aは、一覧画面の表示要求が入力されると、ファイルサーバー200からHDD207に記憶されている共有データを識別するためのデータ識別情報を取得し、取得されたデータ識別情報を選択可能な一覧画面を生成し、生成された一覧画面を表示部19に表示する。ユーザーが操作部21に一覧画面に選択可能に表示されたデータ識別情報を選択する操作を入力すると、選択されたデータ識別情報を出力対象データのデータ識別情報として受け付ける。データ指定部51Aは、出力対象データのデータ識別情報を、出力指示生成部57およびアクセス判断部71Aに出力する。
アクセス判断部71Aは、データ指定部51Aからデータ識別情報が入力され、ファイルサーバー200のHDD207に記憶された共有データのうちで、データ識別情報で特定される共有データが、自装置であるPC10以外の他の装置によってアクセスされているか否かを判断する。自装置であるPC10以外の他の装置であって、データ識別情報で特定される共有データにアクセスしている装置を、アクセス装置という。アクセス判断部71Aは、アクセス装置が存在する場合には、アクセス元検出部77に検出指示を出力し、切換部79に送信指示を出力する。また、アクセス判断部71Aは、アクセス装置が存在しない場合、換言すれば、データ指定部51から入力されるデータ識別情報で特定される共有データが、自装置であるPC10以外の他の装置によってアクセスされていない場合、切換部79に出力指示を出力する。
アクセス元検出部77は、アクセス判断部71Aから検出指示が入力されると、検出指示に含まれるデータ識別情報で特定される共有データにアクセスしているアクセス装置を検出する。ここでは、PC10Aがアクセス装置として検出される場合を例に説明する。アクセス元検出部77は、検出されたアクセス装置の装置識別情報を出力指示送信部59Bに出力する。
切換部79は、出力指示生成部57から出力指示が入力され、アクセス判断部71Aから送信指示および出力指示のいずれかが入力される。切換部79は、アクセス判断部71Aから送信指示が入力される場合、出力指示生成部57から入力される出力指示を出力指示送信部59Bに出力し、アクセス判断部71Aから出力指示が入力される場合、出力指示生成部57から入力される出力指示を出力制御部81に出力する。
出力指示送信部59Bは、切換部79から出力指示が入力される場合、アクセス元検出部77からアクセス装置の装置識別情報が入力される。出力指示送信部59Bは、出力指示を、通信I/F23を介して、アクセス装置の装置識別情報で特定されるPC10Aに送信する。
出力制御部81は、切換部79から出力指示が入力される場合、出力指示に含まれるデータ識別情報で特定される出力対象データを出力条件に従って出力する。具体的には、出力制御部81は、ファイルサーバー200のHDD207に記憶されている共有データのうちから、出力指示に含まれるデータ識別情報で特定される共有データを出力対象データとして読み出す。
出力制御部81は、画像形成制御部83と、データ送信部85と、を含む。出力指示は、出力条件に出力方法として「印刷」が設定されている場合、出力条件に印刷条件を含み、印刷条件は、出力装置の装置識別情報と、画像形成条件とを含む。また、出力指示は、出力条件に出力方法として「送信」が設定されている場合、出力条件に送信条件を含み、送信条件は、電子メールアドレスとコメントと、を含む。
出力制御部81は、出力条件に出力方法として「印刷」が設定されている場合、画像形成制御部83を能動化し、画像形成制御部83に、出力対象データを入力し、出力条件に出力方法として「送信」が設定されている場合、データ送信部85を能動化し、データ送信部85に、出力対象データを入力する。
画像形成制御部83は、出力条件に含まれる印刷条件に含まれる装置識別情報から出力装置を特定し、出力装置を制御して、出力装置に出力対象データの画像を形成させる。具体的には、画像形成制御部83は、出力装置のプリンタードライバーを実行することによりCPU11Bに形成される。画像形成制御部83は、出力対象データと印刷条件に含まれる画像形成条件とに基づいて、プリントジョブを生成し、生成されたプリントジョブを、通信I/F23を介して出力装置に送信する。ここでは、出力条件に含まれる印刷条件に含まれる装置識別情報は、MFP100を特定するので、MFP100に出力対象データと画像形成条件とから生成されたプリントジョブを送信する。これにより、MFP100により出力対象データの画像が形成された用紙が出力される。
データ送信部85は、出力条件に含まれる送信条件に含まれる電子メールアドレスを宛先に設定し、送信条件に含まれるコメントを本文に設定し、出力対象データを添付した電子メールアドレスを生成し、生成された電子メールを、通信I/F23を介して、ネットワーク3に接続された電子メールサーバに送信する。これにより、電子メールサーバによって、電子メールに添付された出力対象データが、宛先の電子メールアドレス宛に送信される。
図17は、第3の実施の形態における出力制御装置として機能するPCが備えるCPUが有する機能の一例を示すブロック図である。図17に示す機能は、出力制御装置として機能するPC10Aが備えるCPU11Cが、ROM13、HDD17またはCD−ROM25Aに記憶されたデータ処理プログラムをRAM15にロードして実行することにより、CPU11Cに形成される機能である。
図17を参照して、出力制御装置として機能するPC10Aが備えるCPU11Cは、出力指示を受信する出力指示受信部251Cと、出力指示により定まる出力対象データが自装置によってアクセスされた状態か否かを判断する自装置アクセス判断部253Cと、出力指示により定められる出力対象データを出力条件に従って出力する出力制御部255Cと、自装置アクセス判断部253Cにより出力対象データがアクセスされた状態と判断された場合、出力制御部255による出力を禁止する出力禁止部257Cと、出力禁止部257Cによる出力対象データの出力の禁止を所定の条件で解除する出力解除部259Cと、アプリ実行部91と、を含む。
アプリ実行部91は、CPU11Cがアプリケーションプログラムを実行することによりCPU11Cに形成される。アプリ実行部91は、ファイルサーバー200が記憶する共有データを対象として共有データを処理する。アプリケーションプログラムは、例えば、文書編集プログラム、図形編集プログラム、表計算プログラムを含む。
出力指示受信部251Cは、通信I/F213がPC10,10A〜10Dのうち出力指示装置であるPC10から出力指示を受信すると、受信された出力指示と、出力指示を送信してきた出力指示装置PC10の装置識別情報と、を取得する。出力指示受信部251Cは、出力指示に含まれる出力対象データのデータ識別情報と装置識別情報とを自装置アクセス判断部253Cに出力し、出力指示を出力制御部255Cに出力し、出力指示に制限時刻が含まれている場合にはその制限時刻を出力解除部259Cに出力し、装置識別情報をメッセージ送信部261Cに出力する。
自装置アクセス判断部253Cは、出力指示受信部351Cからデータ識別情報と装置識別情報とが入力される。自装置アクセス判断部253Cは、ファイルサーバー200のHDD207に記憶された共有データのうちで、データ識別情報で特定される共有データが、自装置によってアクセスされているか否かを判断する。上述した、アプリ実行部91が共有データを対象に処理を実行している場合に、自装置アクセス判断部253Cは、出力指示受信部251Cから入力されるデータ識別情報で特定される共有データが、自装置によってアクセスされていると判断する。自装置アクセス判断部253Cは、出力指示受信部351Cから入力されるデータ識別情報で特定される共有データが、自装置によってアクセスされていると判断する場合、禁止信号を出力禁止部257Cに出力する。自装置アクセス判断部253Cは、出力指示受信部351Cから入力されるデータ識別情報で特定される共有データが、自装置によってアクセスされている間は、禁止信号を継続して出力する。禁止信号は、出力指示受信部251Cから入力されるデータ識別情報を含む。
出力禁止部257Cは、自装置アクセス判断部253Cから禁止信号が入力されている間は、後述する出力解除部259Cから解除信号が入力されるまで、出力禁止指示を出力制御部255Cに出力する。出力解除部259Cは、出力指示受信部251Cから制限時刻が入力され、現在時刻が制限時刻を経過すると、解除信号を出力禁止部257Cに出力する。従って、出力禁止部257Cは、自装置アクセス判断部253Cから禁止信号が入力される場合は、禁止信号が入力されてから禁止信号が入力されなくなるまでの間、または、禁止信号が入力されてから解除信号が入力されるまでの間、出力制御部255Cに出力禁止信号を出力する。
出力制御部255Cは、出力指示受信部251Cから出力指示が入力され、出力禁止部257Cから出力禁止信号が入力される。出力制御部255Cは、出力禁止部257から出力禁止信号が入力されていないことを条件に、出力指示に含まれるデータ識別情報で特定される出力対象データを出力条件に従って出力する。具体的には、出力制御部255Cは、出力指示受信部251Cから出力指示が入力される場合、出力禁止部257Cから出力禁止信号が入力されていない場合には、出力指示に含まれるデータ識別情報で特定される共有データを出力対象データとして読み出す。出力制御部255Cは、出力指示受信部251Cから出力指示が入力される場合、出力禁止部257Cから出力禁止信号が入力される場合は、出力禁止部257Cから出力禁止信号が入力されなくなった後に、出力指示に含まれるデータ識別情報で特定される共有データを出力対象データとして読み出す。
出力制御部255Cは、PC10から出力指示が受信された時点で、出力指示により特定される出力対象データが、自装置によりアクセスされている場合には、自装置によってアクセスされなくなった後に、出力指示に含まれるデータ識別情報で特定される共有データを出力対象データとしてHDD207から読み出す。このため、出力制御部255CがHDD207から読み出す出力対象データは、アプリ実行部91により変更される場合には、アプリ実行部91により変更された後のデータである。また、出力制御部255Cは、PC10から出力指示が受信された時点で、出力指示により特定される出力対象データが、自装置によりアクセスされており、かつ、現在時刻が制限時刻になった時点においても自装置によりアクセスされている場合には、制限時刻まで待った後に、HDD207から読み出す。このため、出力制御部255がHDD207から読み出す出力対象データは、アプリ実行部91により変更される場合には、制限時刻までにアプリ実行部91により変更された後のデータである。
出力制御部255Cは、画像形成制御部271Cと、データ送信部273Cと、を含む。出力指示は、出力条件に出力方法として「印刷」が設定されている場合、出力条件に印刷条件を含み、印刷条件は、出力装置の装置識別情報と、画像形成条件とを含む。また、出力指示は、出力条件に出力方法として「送信」が設定されている場合、出力条件に送信条件を含み、送信条件は、電子メールアドレスとコメントと、を含む。
出力制御部255Cは、出力条件に出力方法として「印刷」が設定されている場合、画像形成制御部271Cを能動化し、画像形成制御部271Cに、出力対象データを入力し、出力条件に出力方法として「送信」が設定されている場合、データ送信部273Cを能動化し、データ送信部273Cに、出力対象データを入力する。
画像形成制御部271Cは、出力条件に含まれる印刷条件に含まれる装置識別情報から出力装置を特定し、出力装置を制御して、出力装置に出力対象データの画像を形成させる。具体的には、画像形成制御部271Cは、出力装置のプリンタードライバーを実行することによりCPU11Cに形成される。画像形成制御部271Cは、出力対象データと印刷条件に含まれる画像形成条件とに基づいて、プリントジョブを生成し、生成されたプリントジョブを、通信I/F23を介して出力装置に送信する。ここでは、出力条件に含まれる印刷条件に含まれる装置識別情報は、MFP100を特定するので、MFP100に出力対象データと画像形成条件とから生成されたプリントジョブを送信する。これにより、MFP100により出力対象データの画像が形成された用紙が出力される。
データ送信部273Cは、出力条件に含まれる送信条件に含まれる電子メールアドレスを宛先に設定し、送信条件に含まれるコメントを本文に設定し、出力対象データを添付した電子メールアドレスを生成し、生成された電子メールを、通信I/F23を介して、ネットワーク3に接続された電子メールサーバに送信する。これにより、電子メールサーバによって、電子メールに添付された出力対象データが、宛先の電子メールアドレス宛に送信される。
出力制御部255Cは、画像形成制御部271Cまたはデータ送信部273Cによって、出力対象データが出力されると、出力結果をメッセージ送信部261Cに出力する。出力結果は、出力対象データの画像形成または電子メール送信が、正常またはエラーで終了したことを示す情報を含む。
メッセージ送信部261Cは、出力指示を送信した出力指示装置、ここではPC10の装置識別情報が出力指示受信部251Cから入力され、出力制御部255から出力結果が入力される。メッセージ送信部261Cは、出力制御部255Cから出力結果が入力されると、出力結果を含むメッセージを生成し、生成されたメッセージを、装置識別情報で特定される出力指示装置PC10に通信I/F23を介して送信する。
図18は、第3の実施の形態における出力指示処理の流れの一例を示すフローチャートである。出力指示処理は、第3の実施の形態における出力指示装置として機能するPC10が備えるCPU11Bが、ROM13、HDD17またはCD−ROM25Aに記憶されたデータ処理プログラムをRAM15にロードして実行することにより、CPU11Bにより実行される処理である。
図18を参照して、図10に示した第1の実施の形態における出力指示処理と異なる点は、ステップS06〜ステップS08に代えて、ステップS31〜ステップS44が実行される点である。その他の処理は、図10に示した処理と同じなので、ここでは説明を繰り返さない。
図18を参照して、CPU11Bは、ステップS05において出力指示を生成すると、ステップS31において、ファイルサーバー200のHDD207に記憶された共有データのうちステップS01において出力対象データに指定された共有データのアクセス状態を検出する。自装置以外の装置によって、共有データがアクセスされているか否かを判断する。
次のステップS32においては、アクセス状態によって処理を分岐させる。自装置以外の装置によって、共有データがアクセスされているならば処理をステップS33に進めるが、そうでなければ処理をステップS37に進める。
ステップS33においては、共有データにアクセスしている自装置以外のアクセス元の装置を検出する。そして、アクセス元として検出された装置にステップS05において生成された出力指示を送信する(ステップS34)。次のステップS35においては、生成された出力指示をアクセス元の出力制御装置、ここでは、PC10Aに通信I/F23を介して送信する。そして、通信I/F23がPC10Aからメッセージを受信するまで待機状態となる(ステップS35でNO)。アクセス元の出力制御装置PC10Aからメッセージを受信すると(ステップS35でYES)、処理をステップS36に進める。ステップS36においては、受信されたメッセージを表示部19に表示し、処理を終了する。
一方、ステップS37においては、出力対象データである共有データを、ファイルサーバー200のHDD207から読み出す。そして、次のステップS38においては、出力指示に含まれる出力方法によって処理を分岐させる。出力方法に「印刷」が設定されているならば処理をステップS39に進め、出力方法に「送信」が設定されているならば処理をステップS42に進める。
ステップS39においては、出力条件に含まれる印刷条件に含まれる装置識別情報から出力装置を特定する。そして、出力対象データと印刷条件に含まれる画像形成条件とに基づいて、プリントジョブを生成する(ステップS40)。具体的には、出力装置を制御するためのプリンタードライバーを実行し、出力対象データと印刷条件に含まれる画像形成条件とに基づいて、プリントジョブを生成する。そして、生成されたプリントジョブを、出力装置に通信I/F23を介して送信し(ステップS41)、処理を終了する。ここでは、出力条件に含まれる印刷条件に含まれる装置識別情報は、MFP100を特定するので、MFP100に、出力対象データと画像形成条件とから生成されたプリントジョブを送信する。これにより、MFP100により出力対象データの画像が形成された用紙が出力される。
一方、ステップS42においては、出力条件に含まれる送信条件に従って電子メールを生成する。具体的には、送信条件に含まれる電子メールアドレスを宛先に設定し、送信条件に含まれるコメントを本文に設定し、出力対象データを添付した電子メールアドレスを生成する。次のステップS43においては、生成された電子メールを、通信I/F23を介して、ネットワーク3に接続された電子メールサーバに送信し、処理を終了する。これにより、電子メールサーバによって、電子メールに添付された出力対象データが、宛先の電子メールアドレス宛に送信される。
図19は、第3の実施の形態における出力制御処理の流れの一例を示すフローチャートである。出力制御処理は、出力制御装置として機能するPC10Aが備えるCPU11Cが、ROM13、HDD17またはCD−ROM25Aに記憶されたデータ処理プログラムをRAM15にロードして実行することにより、CPU11Cにより実行される処理である。
図19を参照して、CPU11Cは、出力指示を受信したか否かを判断する。出力指示を受信するまで待機状態となり(ステップS81でNO)、出力指示を受信すると(ステップS81でYES)、処理をステップS82に進める。通信I/F23がPC10,10A〜10Dのうち出力指示装置から出力指示を受信したか否かを判断する。ここでは、PC10から出力指示を受信する場合を例に説明する。
ステップS82においては、ファイルサーバー200のHDD207に記憶された共有データのうちで、受信された出力指示に含まれるデータ識別情報で特定される共有データのアクセス状態を検出する。共有データが自装置によってアクセスされているか否かを判断する。受信された出力指示に含まれるデータ識別情報で特定される共有データは、出力対象データである。
次のステップS83においては、アクセス状態によって処理を分岐させる。自装置によって、共有データがアクセスされているならば処理をステップS84に進めるが、そうでなければ処理をステップS85に進める。
ステップS84においては、出力指示に含まれる制限時刻を経過したか否かを判断する。現在時刻が制限時刻を経過したならば処理をステップS85に進めるが、そうでなければ処理をステップS82に戻す。処理をステップS85に進める場合は、出力対象データの自装置によるアクセスが終了する場合、または、出力対象データが自装置によってアクセスがされている場合であっても、現在時刻が制限時刻を経過した場合である。
ステップS85においては、出力対象データである共有データを、ファイルサーバー200のHDD207から読み出す。そして、次のステップS86においては、出力指示に含まれる出力方法によって処理を分岐させる。出力方法に「印刷」が設定されているならば処理をステップS87に進め、出力方法に「送信」が設定されているならば処理をステップS90に進める。
ステップS87においては、出力条件に含まれる印刷条件に含まれる装置識別情報から出力装置を特定する。そして、出力対象データと印刷条件に含まれる画像形成条件とに基づいて、プリントジョブを生成する(ステップS88)。具体的には、出力装置を制御するためのプリンタードライバーを実行し、出力対象データと印刷条件に含まれる画像形成条件とに基づいて、プリントジョブを生成する。そして、生成されたプリントジョブを、出力装置に通信I/F23を介して送信し(ステップS89)、処理をステップS92に進める。ここでは、出力条件に含まれる印刷条件に含まれる装置識別情報は、MFP100を特定するので、MFP100に、出力対象データと画像形成条件とから生成されたプリントジョブを送信する。これにより、MFP100により出力対象データの画像が形成された用紙が出力される。
一方、ステップS90においては、出力条件に含まれる送信条件に従って電子メールを生成する。具体的には、送信条件に含まれる電子メールアドレスを宛先に設定し、送信条件に含まれるコメントを本文に設定し、出力対象データを添付した電子メールアドレスを生成する。次のステップS91においては、生成された電子メールを、通信I/F23を介して、ネットワーク3に接続された電子メールサーバに送信し(ステップS91)、処理をステップS92に進める。これにより、電子メールサーバによって、電子メールに添付された出力対象データが、宛先の電子メールアドレス宛に送信される。
ステップS92においては、ステップS81において受信された出力指示を送信してきた出力指示装置、ここではPC10に、出力結果を含むメッセージを、通信I/F23を介して送信し、処理を終了する。出力結果は、出力対象データの画像形成または電子メール送信が、完了したことを通知する情報を含む。
第3の実施の形態におけるデータ処理システム1Bにおいては、PC10,10A〜10Dのうち出力対象データにアクセスしている出力制御装置PC10Aは、出力指示装置PC10から出力指示を受信すると、出力指示により定められる出力対象データを読み出し、出力条件に従って出力するが、出力対象データが自装置によりアクセスされた状態の場合、出力対象データの読み出しを、出力対象データがアクセスされた状態でなくなるまで禁止する。このため、共有データを出力する際に、他のユーザーによりアクセスされている場合には、他のユーザーによるアクセスが終了した後に共有データが出力されるので、共有データを出力指示した後における他のユーザーによる変更を反映した共有データを出力することができる。
なお、上述した実施の形態においては、データ処理システム1,1A,1Bについて説明したが、図10に示した処理をPC10,10A〜10Dそれぞれに実行させる出力指示方法として、図11に示した出力制御処理をファイルサーバー200またはMFP100に実行させる出力制御方法として、また、その出力指示方法および出力制御方法をコンピュータに実行させるデータ処理プログラムとして発明を捉えることができるのは言うまでもない。図14に示した処理をPC10,10A〜10Dそれぞれに実行させる出力指示方法として、図15に示した出力制御処理をファイルサーバー200またはMFP100に実行させる出力制御方法として、また、その出力指示方法および出力制御方法をコンピュータに実行させるデータ処理プログラムとして発明を捉えることができるのは言うまでもない。さらに、図18に示した出力指示処理をPC10,10A〜10Dそれぞれに実行させる出力指示方法として、図19に示した出力制御処理をPC10,10A〜10Dそれぞれに実行させる出力制御方法として、また、その出力指示方法および出力制御方法をコンピュータに実行させるデータ処理プログラムとして発明を捉えることができるのは言うまでもない。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
<付記>
(1)前記画像形成装置は、前記記憶手段を備える、請求項11に記載のデータ処理システム。
(2)前記記憶手段を備えたファイルサーバーを、さらに備えた請求項8〜12のいずれかに記載のデータ処理システム。