JP6572683B2 - スキャナ、スキャナの制御プログラム、および通信システム - Google Patents

スキャナ、スキャナの制御プログラム、および通信システム Download PDF

Info

Publication number
JP6572683B2
JP6572683B2 JP2015168997A JP2015168997A JP6572683B2 JP 6572683 B2 JP6572683 B2 JP 6572683B2 JP 2015168997 A JP2015168997 A JP 2015168997A JP 2015168997 A JP2015168997 A JP 2015168997A JP 6572683 B2 JP6572683 B2 JP 6572683B2
Authority
JP
Japan
Prior art keywords
information
communication
scan
program
scanner
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015168997A
Other languages
English (en)
Other versions
JP2017046282A (ja
Inventor
門田 政敏
政敏 門田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2015168997A priority Critical patent/JP6572683B2/ja
Publication of JP2017046282A publication Critical patent/JP2017046282A/ja
Application granted granted Critical
Publication of JP6572683B2 publication Critical patent/JP6572683B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storing Facsimile Image Data (AREA)
  • Control Or Security For Electrophotography (AREA)
  • Facsimiles In General (AREA)

Description

本明細書に開示する技術は、各種のデータを通信することができるスキャナ等に関する。
特許文献1には、以下の技術が開示されている。スキャナと情報処理装置が、USB(Universal Serial Busの略)によって接続されている。スキャナのストレージに、スキャンプログラムが記憶されている。情報処理装置は、スキャナのストレージから読み出したスキャンプログラムを実行する。これにより、スキャナと情報処理装置との間の連携が可能となる。
特開2010−87662号公報
スキャナと情報処理装置が、USBではなくLAN(Local Area Networkの略)で接続される場合がある。このような場合、文献1のスキャンプログラムは、スキャナと情報処理装置との間で行われるLAN通信で用いられるネットワークアドレスを認識できないため、スキャナのストレージに記憶されているスキャンプログラムを情報処理装置が取得し、実行したとしても、スキャナと情報処理装置との間で、LANを用いた連携ができないおそれがある。本明細書では、このような不便性を解消することができる技術を提供する。
(1)本明細書に記載されているスキャナは、第1の通信および第2の通信を情報処理装置との間で実行可能な通信インターフェースと、記憶部と、原稿を読み取るスキャン処理を行うことで画像データを生成する画像生成部と、制御部と、を備えるスキャナであって、記憶部には、第1情報が記憶されており、第1情報は、通信インターフェースが第1の通信を行うために必要であり、かつ、スキャナの個体を識別する個体識別情報であり、記憶部には、情報処理装置で実行可能なスキャンプログラムと、第2情報と、が記憶されており、第2情報は、第1情報が含まれるファイルを識別するファイル識別情報であり、第1の通信は、第1情報に含まれているアドレス情報に基づいて行われる通信であり、第2の通信は、ファイル共有プロトコルに基づいた通信であり、スキャンプログラムは、情報処理装置で実行可能なプログラムであって、スキャナで実行されるスキャン処理を制御するためのプログラムであり、制御部は、スキャナを、記憶部に記憶されているスキャンプログラムおよび第2情報が示すファイルの読み出し要求情報を、通信インターフェースを介して、第2の通信によって情報処理装置から受信したか否かを判断する第1判断手段と、第1判断手段で読み出し要求情報を受信したと判断されたことに応じて、スキャンプログラムおよび第2情報を、通信インターフェースを介して、第2の通信によって情報処理装置へ送信する第1送信手段と、スキャンプログラムを情報処理装置に送信した後に、スキャン指示情報を、通信インターフェースを介して、第1の通信によって情報処理装置から受信したか否かを判断する第2判断手段と、第2判断手段でスキャン指示情報を受信したと判断されたことに応じて、スキャン処理を実行して画像データを生成するスキャン処理手段と、スキャン処理手段で生成した画像データを、通信インターフェースを介して、第1の通信によって情報処理装置へ送信する送信手段と、して機能させることを特徴とする。
上記構成によれば、第1及び第2の通信を用いることで、スキャナと情報処理装置との間で適切に通信を実行することができる。これにより、スキャナでスキャン処理を実行して画像データを生成し、生成した画像データを情報処理装置へ送信することが可能となる。
(2)好ましくは、本明細書に記載されているスキャナは、記憶部は、記憶部の第1領域に第1情報を記憶しており、通信インターフェースは、第1領域にアクセスして、第1情報を用いて、第1の通信を行い、記憶部は、記憶部の第2領域にスキャンプログラムと、第1領域からコピーした第1情報と、を記憶しており、第2情報は、第2領域に記憶された第1情報が含まれるファイルを識別するファイル識別情報であり、制御部は、スキャナを、第1情報の変更を指示する変更指示入力を受け付ける受付手段と、受付手段が変更指示入力を受け付けたことに応じて、第1領域に記憶されている第1情報を変更する変更手段と、第1情報が変更されたか否かを判断する第3判断手段と、第3判断手段で第1情報が変更されたと判断されたことに応じて、第2領域に、変更された第1情報をコピーする記憶制御手段と、をさらに備えることを特徴とする。
上記構成によれば、更新された第1情報を、常に情報処理装置に取得させることができる。これにより、スキャナと情報処理装置との間で適切に通信を実行することが可能となる。
(3)好ましくは、本明細書に記載されているスキャナは、スキャンプログラムは、情報処理装置で実行された場合に、第1検出処理および受信処理を情報処理装置に実行させるプログラムであり、第1検出処理は、スキャナの記憶部に記憶されている第2情報が識別するファイルに含まれる第1情報が変更されたことを、第2の通信を用いて検出する処理であり、受信処理は、第2情報が識別するファイルに含まれる第1情報が変更されたことが第1検出処理によって検出されたことに応じて、第2の通信を用いて実行される処理であり、かつ、第2情報が識別するファイルに含まれる第1情報を情報処理装置に受信させる処理である、ことを特徴とする。
上記構成によれば、スキャナに記憶されている所定情報が変更されたことを、情報処理装置側で検出することができる。そして、所定の情報が検出されたことに応じて、所定情報を情報処理装置に受信させることができる。これにより、常に最新の所定情報を、情報処理装置に持たせることが可能となる。
(4)好ましくは、本明細書に記載されているスキャナは、第1検出処理は、第2の通信を用いて、スキャナの記憶部に記憶されている第2情報が識別するファイルの最終更新日時を、スキャナから受信する日時情報受信処理を含み、情報処理装置で実行されているスキャンプログラムの最終更新日時と、日時情報受信処理で受信した第2情報が識別するファイルの最終更新日時と、が一致しない場合に、記憶部に記憶されている第2情報が識別するファイルに含まれる第1情報が変更された、と検出する処理であることを特徴とする。
上記構成によれば、第2情報の変更の有無を適切に検出することが可能となる。
(5)好ましくは、本明細書に記載されているスキャナは、スキャンプログラムは、情報処理装置で実行された場合に、第2検出処理および待機処理、を情報処理装置に実行させるプログラムであり、第2検出処理は、第2の通信を用いたスキャナとの間の通信が実行可能であることを検出する処理であり、待機処理は、第2の通信を用いたスキャナとの間の通信が実行できないことが第2検出処理によって検出されたことに応じて、接続が切れた場合に、第2の通信を用いたスキャナとの間の通信が再び可能になるまで待機する処理であり、受信処理において、第2の通信を用いたスキャナとの間の通信が再び可能になったことが第2検出処理によって検出され、かつ、記憶部に記憶されている第2情報が識別するファイルに含まれる第1情報が変更されたことが第1検出処理によって検出されたことに応じて、変更後の第1情報を含んだファイルを識別する第2情報を第2の通信を用いて取得する、ことを特徴とする。
上記構成によれば、第2の通信を用いたスキャナとの間の通信が実行可能であるか否かを、情報処理装置に確認させることができる。そして、第2の通信を用いた通信が再度可能になるまで、情報処理装置を待機させることができる。これにより、スキャナと情報処理装置との通信を確実に実行することが可能となる。
(6)好ましくは、本明細書に記載されているスキャナは、スキャンプログラムは、情報処理装置で実行された場合に、第3検出処理、スキャン指示情報送信処理、および、中断処理を情報処理装置にさらに実行させるプログラムであり、第3検出処理は、スキャン処理を開始する指示がスキャナに入力されたことを示す開始情報が、スキャナから第1の通信によって送信されてきたか否かを検出する処理であり、スキャン指示情報送信処理は、開始情報が送信されてきたことが第3検出処理によって検出されたことに応じて、スキャン指示情報を、第1の通信によってスキャナへ送信する処理であり、中断処理は、第2の通信を用いたスキャナとの間の通信が実行できないことが第2検出処理によって検出されたことに応じて、第3検出処理の実行を中断する処理であり、受信処理は、中断処理によって第3検出処理の実行が中断された後に、記憶部に記憶されている第2情報が識別するファイルに含まれる第1情報が変更されていないと第1検出処理で判断された場合に、第3検出処理の実行を再開することを特徴とする。
上記構成によれば、情報処理装置とスキャナとの間の通信が不可能な状態から可能な状態に復帰した場合に、第1情報が変更されていない場合には、中断前の通信設定を引き継いで、通信を再開することができる。通信を再開する際の処理負担を軽減することが可能となる。
(7)好ましくは、本明細書に記載されているスキャナは、第2検出処理は、スキャンプログラムがスキャナの記憶部に記憶されていることを確認できるか試行する試行処理を含み、スキャンプログラムがスキャナの記憶部に記憶されていることが確認できない場合に、第2の通信を用いたスキャナとの間の通信が実行不可能である、と検出することを特徴とする。
上記構成によれば、情報処理装置は、スキャンプログラムがスキャナの記憶部に記憶されているか否かを確認することで、スキャナとの間の通信の実行可否を適切に判断することが可能となる。
(8)好ましくは、本明細書に記載されているスキャナは、第1送信手段は、スキャンプログラムの実行を情報処理装置へ指示する実行指示情報を、第2の通信によって情報処理装置へさらに送信することを特徴とする。
上記構成によれば、スキャナは、スキャンプログラムの実行を情報処理装置へ指示することができる。これにより、スキャンプログラムを情報処理装置に適切に実行させることが可能となる。
(9)好ましくは、本明細書に記載されているスキャナは、記憶部に記憶されているスキャンプログラムは、情報処理装置を制御するオペレーティングシステムに依存しない言語で記載されたプログラムであることを特徴とする。
上記構成によれば、情報処理装置に搭載されているオペレーティングシステムに依存せずに、スキャンプログラムを情報処理装置に実行させることが可能となる。
(10)好ましくは、本明細書に記載されているスキャナは、記憶部に記憶されているスキャンプログラムは、Java(登録商標)言語で記載されたプログラムであることを特徴とする。
上記構成によれば、スキャンプログラムを記載しているプログラム言語に依存せずに、スキャンプログラムを情報処理装置に実行させることが可能となる。
(11)好ましくは、本明細書に記載されているスキャナは、第1情報は、スキャン処理に関する各種の設定の内容を示す設定情報を含んでおり、情報処理装置で生成されるスキャン指示情報は、設定情報に基づいて生成されることを特徴とする。
上記構成によれば、スキャナに記憶されている設定情報に基づいたスキャン指示情報を、情報処理装置に生成させることが可能となる。
(12)好ましくは、本明細書に記載されているスキャナは、第1情報は、スキャンプログラムに含まれており、記憶制御手段は、第2領域に記憶されているスキャンプログラムに含まれている第1情報を、変更された第1情報に書き換えることを特徴とする。
上記構成によれば、スキャンプログラムに、最新の第1情報を含ませることが可能となる。
(13)好ましくは、本明細書に記載されているスキャナは、第1情報は、スキャンプログラムとは別体の特定ファイルとして記憶部の第2領域に記憶されており、第1情報とスキャンプログラムとは、スキャンプログラムから第1情報を読み込むことが可能なように関連付けがされており、記憶制御手段は、第2領域に記憶されている特定ファイルを、変更された第1情報に書き換えることを特徴とする。
上記構成によれば、スキャンプログラムとは別体の特定ファイルに、最新の第1情報を書き込んでおくことが可能となる。
上記のスキャナを実現するための制御方法、及び、当該コンピュータプログラムを格納するコンピュータ読取可能記録媒体も、新規で有用である。
通信システム1の電気的構成を示す図である。 MFPの動作を示すフローチャートである。 IP/設定変更監視タスクの内容を説明するフローチャートである。 プッシュスキャン監視プログラムの動作内容を説明するフローチャートである。 プッシュスキャン監視プログラムの動作内容を説明するフローチャートである。 プッシュスキャン監視スレッドの動作内容を説明するフローチャートである。 スキャンプログラムの動作内容を説明するフローチャートである。 スキャンプログラムの動作内容を説明するフローチャートである。
<通信システムの構成>
図1に、本願に係る第1実施形態として例示される通信システム1の電気的構成を示す。通信システム1は、パーソナルコンピュータ(以降、PCとも記す)9、多機能周辺装置(以降MFPとも記す)51、アクセスポイント93を備えている。MFP51は、プリンタ機能、スキャナ機能、コピー機能、ファクシミリ機能などを備える。
<PC9の構成>
PC(Personal Computerの略)9は、CPU(Central Processing Unitの略)10、ROM(Read Only Memoryの略)11、RAM(Random Access Memoryの略)12、表示部13、操作部14、記憶部15、USBホストインターフェース部(図1ではUSBホストIF部と記す)16、及び、ネットワークインターフェース部(図1ではネットワークIF部と記す)17、無線送受信部26、無線アンテナ部27、を備えている。
CPU10は、ROM11や記憶部15に記憶されているプログラムを実行することによってPC9の各部を制御する。ROM11には、CPU10によって実行されるプログラムやデータなどが記憶されている。RAM12は、CPU10が各種の処理を実行するための主記憶装置として用いられる。表示部13は、液晶ディスプレイなどの表示装置、表示装置を駆動するディスプレイ駆動回路などを備えている。操作部14は、キーボードやマウス、それらが接続されるインターフェースなどを備えている。記憶部15は、ハードディスクやフラッシュメモリなどの不揮発性のメモリを用いて各種のプログラムやデータを記憶する装置である。記憶部15には、オペレーティングシステム(OSと記す)21、ファイルマネージャプログラム22、などのプログラムが記憶されている。OS21は、PC9の全体を管理するためのプログラムである。OS21の一例としては、ウインドウズ(Microsoft Corporationの登録商標)が挙げられる。ファイルマネージャプログラム22は、ファイルシステムを扱うためのユーザインターフェースを提供するコンピュータプログラムである。ファイルマネージャプログラム22は、ファイルの移動やコピー、削除、改名、検索などの処理を行うプログラムである。ファイルマネージャプログラム22の一例としては、エクスプローラ(Microsoft Corporationの登録商標)が挙げられる。USBホストインターフェース部16は、USBホストコントローラ(不図示)、USBケーブルが接続されるジャック(不図示)、などを備えている。ネットワークインターフェース部17は、LAN18を介して、MFP51と通信を行う部位である。無線送受信部26は、無線アンテナ部27を介して、アクセスポイント93との間で無線通信95を行う部位である。
<MFP51の構成>
MFP51は、プリンタ19、スキャナ20、制御部30、記憶部35、無線送受信部36、無線アンテナ部37、ボタン入力部38、パネル39、モデム40、電話回線接続部41、USBインターフェース部(図1ではUSB_IF部と記す)42、LANインターフェース部(図1ではLAN_IF部と記す)43、を主に備えている。これらの構成要素は、入出力ポート44を介して互いに通信可能とされている。制御部30は、バス接続されたCPU32、ROM33、RAM34を備えている。ROM33は、各種のプログラムを記憶する。CPU32は、ROM33に記憶されているプログラムを実行する。RAM34は、揮発性のメモリである。
記憶部35は、ハードディスクやフラッシュメモリなどの不揮発性のメモリを用いて各種のプログラムやデータを記憶する装置である。記憶部35には、OS61、CIFS記憶領域62、通信設定記憶領域84、スキャン設定記憶領域88が備えられている。OS61は、MFP51全体を管理するためのプログラムである。
通信設定記憶領域84には、IPアドレス86が記憶されている。IPアドレス86は、ネットワーク上でMFP51を識別するための情報である。またIPアドレス86は、LAN18を介して第1の通信を実行するために必要な情報である。第1の通信については後述する。IPアドレス86は、動的に変化する場合がある。例えば、不図示のDHCPサーバによってIPアドレス86がMFP51に割り当てられる場合や、ユーザがボタン入力部38を介してIPアドレス86を入力する場合などである。
スキャン設定記憶領域88には、スキャン設定情報89が記憶されている。スキャン設定情報89は、スキャナ20でスキャン処理を行う際の各種の設定を示す情報である。スキャン設定情報89は、例えば、ユーザがボタン入力部38を操作することで入力される。スキャン設定情報89が示す設定の一例としては、解像度、カラービット数、画像サイズ、データフォーマットなどが挙げられる。
CIFS記憶領域62は、記憶部35内の記憶領域の一部である。CIFS記憶領域62には、外部装置から、CIFS(Common Internet File Systemの略)プロトコルに準拠した通信により、ネットワークを介してアクセス可能である。CIFSプロトコルは、ファイル共有のためのプロトコルである。CIFSプロトコルは、ウインドウズOS、または、ウインドウズOS以外の種類のOSやネットワーク外のアプリケーションを利用して、ファイル共有を行うことが可能なプロトコルである。CIFSプロトコルを用いてネットワーク通信するためのプログラムは、OS21などのウインドウズOSには標準搭載されている。また、MFP51のOS61にも、CIFSプロトコルを用いてネットワーク通信するためのプログラムを搭載している。すなわち、PC9は、CIFS記憶領域62に記憶されているファイルにCIFSプロトコルを用いてアクセスし、ファイルを読み出すことが可能である。なお、PC9がMFP51のCIFS記憶領域62に記憶されているファイルにアクセスするとき、MFP51のOS61がCIFSサーバとして動作し、PC9のOS21がCIFSクライアントとして動作している。
CIFS記憶領域62には、プッシュスキャン監視プログラム81、スキャンプログラム82、第1属性情報101、第2属性情報102、が記憶されている。プッシュスキャン監視プログラム81およびスキャンプログラム82は、PC9で実行可能なプログラムである。プッシュスキャン監視プログラム81は、MFP51でプッシュスキャンが開始されたか否かを、PC9が監視するためのプログラムである。スキャンプログラム82は、スキャン処理の実行を、PC9からMFP51に指示するためのプログラムである。プッシュスキャン監視プログラム81およびスキャンプログラム82は、は、PC9を制御するオペレーティングシステムに依存しない言語(例:Java(登録商標)言語)で記載されたプログラムである。
プッシュスキャン監視プログラム81は、IPアドレス情報91およびスキャン設定情報111、を含んでいる。IPアドレス情報91は、通信設定記憶領域84に記憶されているIPアドレス86をプッシュスキャン監視プログラムにコピーした情報である。スキャン設定情報111は、スキャン設定記憶領域88に記憶されているスキャン設定情報89をコピーした情報である。なお、「IPアドレス86をプログラムにコピーした情報」は、各種の形態であってよい。物理的にIPアドレス86がプログラムにIPアドレス情報91としてハードコーディングした形でコピーされていてもよいし、IPアドレス86が記憶されている記憶領域を示すファイルパスを示す情報がIPアドレス情報91として、プログラムにハードコーディングされていてもよい。CIFSプロトコルを用いた通信により、IPアドレス86が記憶されている記憶領域を示すファイルパスへ、外部装置から読み出し指示があった場合、CPU32は、IPアドレス86を記憶領域から読み出し、読み出したIPアドレス86を、CIFSプロトコルを用いた通信にて、外部装置へ送信する。また、「スキャン設定情報89をプログラムにコピーした情報」についても同様である。
スキャンプログラム82は、IPアドレス情報92およびスキャン設定情報112、を含んでいる。IPアドレス情報92は、通信設定記憶領域84に記憶されているIPアドレス86をスキャンプログラム82にコピーした情報である。スキャン設定情報112は、スキャン設定記憶領域88に記憶されているスキャン設定情報89をスキャンプログラム82にコピーした情報である。
第1属性情報101は、プッシュスキャン監視プログラム81に関する各種の情報として、プログラム名、タイムスタンプを含んでいる。プログラム名は、プッシュスキャン監視プログラム81を識別する情報である。換言すると、プログラム名は、IPアドレスを含んでいるファイルを識別する情報である。タイムスタンプは、プッシュスキャン監視プログラム81の最終更新日時を示す情報である。
第2属性情報102は、スキャンプログラム82に関する各種の情報として、プログラム名、タイムスタンプを含んでいる。第2属性情報102の内容は、前述した第1属性情報101の内容と同様であるため、ここでは説明を省略する。
LANインターフェース部43は、LAN18を介してPC9と通信を行う部位である。LANインターフェース部43は、第1の通信および第2の通信を、PC9との間で実行可能である。第1の通信は、IPプロトコルに基づいて行われる通信であって、プッシュスキャン監視プログラム81に記憶されているIPアドレス情報91、スキャンプログラム82に記憶されているIPアドレス情報92の何れかを送信先として、PC9からMFP51に各種の情報が送信され、通信設定記憶領域84に記憶されているIPアドレス86を送信元として、MFP51からPC9に各種の情報が送信される通信である。第2の通信は、MFP51がCIFSサーバとなり、PC9がCIFSクライアントとなって、前述したCIFSプロトコルに基づいて行われる通信である。
USBインターフェース部42は、USB通信を行う部位である。無線送受信部36は、無線アンテナ部37を介して、アクセスポイント93との間で無線通信94を行う部位である。ボタン入力部38は、第1MFP51の各機能を実行するためのキーである。ボタン入力部38は、タッチパネルとして、パネル39と一体に構成されていてもよい。パネル39は、各種の画像を表示する。プリンタ19は、印刷用紙に印刷を実行する部位である。スキャナ20は、紙の原稿をスキャンして、画像データを生成する部位である。モデム40は、ファクシミリ機能によって送信する原稿データを、電話回線網100に伝送可能な信号に変調して電話回線接続部41を介して送信したり、電話回線網100から電話回線接続部41を介して入力された信号を受信し、原稿データへ復調するものである。
<MFPの動作(その1)>
MFP51の動作を、図2のフローを用いて説明する。MFP51の電源が投入されると、図2のフローが開始する。S10においてMFP51のCPU32は、IP/設定変更監視タスクを生成する。このIP/設定変更監視タスクは、起動後そのまま常駐するタスクであり、後述するS15以降の処理と並行して動作する。
<IP/設定変更監視タスク>
図3を用いて、IP/設定変更監視タスクの内容を説明する。S110においてCPU32は、通信設定記憶領域84に記憶されているIPアドレス86と、スキャン設定記憶領域88に記憶されているスキャン設定情報89とを読み出す。IPアドレス86は、MFP51に対して設定された情報であり、MFP51をIPネットワーク上で識別するための情報である。
S115においてCPU32は、S110で読み出したIPアドレス86と、スキャン設定情報89とを、CIFS記憶領域62に記憶されているプッシュスキャン監視プログラム81に埋め込む処理を行う。具体的には、S110で読み出したIPアドレス86を、プッシュスキャン監視プログラム81に含まれているIPアドレス情報91へ、上書きコピーする。またS115においてCPU32は、S110で読み出したスキャン設定情報89を、スキャンプログラム82に含まれているスキャン設定情報112へ、上書きコピーする。
S120においてCPU32は、S110で読み出したIPアドレス86と、スキャン設定情報89とを、CIFS記憶領域62に記憶されているスキャンプログラム82に埋め込む処理を行う。具体的な処理内容は、S115と同様である。
S125においてCPU32は、MFP51に設定されているIPアドレスまたはスキャン設定が変更されたか否かを判断する。具体的には、通信設定記憶領域84に記憶されているIPアドレス86、または、スキャン設定記憶領域88に記憶されているスキャン設定情報89が変更されたか否かを検出する。否定判断される場合(S125:NO)にはS125へ戻り、肯定判断される場合(S125:YES)にはS110へ戻る。
<MFPの動作(その2)>
図2に戻り、MFPの動作の説明を続ける。S15においてCPU32は、第1サーバタスクを生成する。第1サーバタスクは、PC9に対してサーバ機能を提供するためのタスクである。第1サーバタスクは、PC9から送信される各種指示に基づいて処理を実行する。
<CIFSサーバタスク>
S20においてCPU32は、CIFSサーバタスクを生成する。CIFSサーバタスクは、CIFSプロトコルに基づく第2の通信を用いて実行される常駐タスクであり、S20以降の処理と並行して動作する。
MFP51におけるCIFSサーバタスクの実行および、PC9のOS21が備えるCIFSクライアントプログラムおよびファイルマネージャプログラム22の実行により、PC9のユーザは、MFP51のCIFS記憶領域62に記憶されているファイルを、PC9が備えるファイルマネージャプログラム22を用いて、PC9に記憶されているファイルと同様に操作することが可能となる。以降に、具体的に説明する。
MFP51の記憶部35の設定領域には、CIFS記憶領域62に記憶されているプッシュスキャン監視プログラム81およびスキャンプログラム82に対応する、プッシュスキャン監視プログラムファイル名、スキャンプログラムファイル名が記憶されている。なお、各プログラムのプログラムファイル名は、そのファイルがプログラムファイルであることを示す拡張子を含んでいる。なお、プログラムファイルを示す拡張子は、複数のOSで共通して用いられる、OS非依存の拡張子である。もちろん、ウインドウズや、ウインドウズ以外のOSが用いる拡張子であってもよい。複数のOSで共通して用いられる、プログラムファイルを示す拡張子の例は“class”、“pl”、“exe”などである。
ファイルをPC9のユーザが、操作部14を介した操作によって、PC9のファイルマネージャプログラム22を起動し、さらに、ユーザが、ファイルマネージャプログラム22を介して、MFP51のCIFS記憶領域62をCIFSクライアントプログラムにマウントさせる操作を行うと、ファイルマネージャプログラム22は、MFP51のCIFS記憶領域62に記憶されているファイル名の返信を、CIFSクライアントプログラムを介した第2の通信によってMFP51に要求する。要求を受けた、MFP51のCIFSサーバタスクは、記憶部35の設定領域を参照し、プッシュスキャン監視プログラムファイル名およびスキャンプログラムファイル名、および、オートラン指示ファイル名を、PC9に第2の通信によって送信する。オートラン指示ファイル名について詳しくは後述する。ファイルマネージャプログラム22は、CIFSクライアントプログラムを介して各ファイル名を取得し、各ファイル名を付したファイルアイコンとともに表示部13に表示する。
なお、CIFS記憶領域62がCIFSクライアントプログラムにマウントされた状態でファイルマネージャプログラムが起動された場合も、ファイルマネージャプログラム22は、ファイル名の返信をMFP51に要求する。なお、CIFS記憶領域62のCIFSクライアントプログラムへのマウントは、OS21のオートマウント機能によって行われてもよい。
PC9のユーザが、操作部14を介してファイルアイコンをダブルクリックするなどの操作をすると、ファイルマネージャプログラム22は、ダブルクリックされたファイルアイコンに対応するファイルの読み出しを要求する指示情報を、CIFSクライアントプログラムを介した第2の通信によってMFP51に送信する。
要求を受けた、MFP51のCIFSサーバタスクは、記憶部35の設定領域を参照し、読み出しを要求されたファイルを読み出す。スキャンプログラムファイルの読み出しを要求する指示情報を受信した場合には、スキャンプログラム82を読み出す。そして、MFP51のCIFSサーバタスクは、スキャンプログラム82を、PC9に第2の通信によって送信する。ここで、ファイルマネージャプログラム22は、ダブルクリックされたファイルアイコンに付されたファイル名に、そのファイルがプログラムファイルであることを示す拡張子が含まれていることを認識している。ファイルマネージャプログラム22は、CIFSクライアントプログラムを介してスキャンプログラム82を取得すると、スキャンプログラム82を実行させる。
なお、CIFS記憶領域62に存在しているプログラムを、MFP51のCPU32が読み出してPC9へ送信し、PC9のCPU10によって実行することを、「CPU10がCIFS記憶領域62のプログラムを読み出して実行する」などと、便宜的に記載する。
ここで、オートラン指示ファイル名について説明する。前記した記憶部35のCIFS記憶領域62には、オートラン指示ファイルに対応するオートラン指示ファイル名が記憶されている。オートラン指示ファイル名は、ウインドウズOSで用いられる、オートラン指示ファイルを示すファイル名である。もちろん、ウインドウズだけでなく、ウインドウズ以外のOSが用いるファイル名であってもよい。オートラン指示ファイルを示すファイル名の例は“autorun.inf”などである。なお、この実施例では、オートラン指示ファイルに、プッシュスキャン監視プログラムファイル名が書き込まれている。
OS21は、CIFSクライアントプログラムが受信したファイル名に、オートラン指示ファイル名が含まれていた場合、ユーザによるダブルクリックなどの操作を必須とせずに、オートラン指示ファイルの読み出しを要求する指示情報をMFP51に送信する。要求を受けた、MFP51のCIFSサーバタスクは、記憶部35の設定領域を参照し、オートラン指示ファイルを読み出す。そして、MFP51のCIFSサーバタスクは、オートラン指示ファイルを、PC9に第2の通信によって送信する。OS21は、オートラン指示ファイルを取得すると、オートラン指示ファイルに書き込まれているプログラムファイルの読み出しを要求する指示情報をMFP51に送信し、MFP51において読み出されて返信されたプログラムを実行する。すなわち、この実施例では、OS21は、プッシュスキャン監視プログラムファイル名が書き込まれているオートラン指示ファイルを取得するので、CIFS記憶領域62のプッシュスキャン監視プログラム81を、ファイルマネージャプログラム22へのユーザ操作を必須とせずに読み出して実行する。ユーザ操作を必須としない実行のことを、自動実行と言い換えてもよい。
もちろん、PC9のユーザが、ファイルマネージャプログラム22を介して、プッシュスキャン監視プログラムファイル名をダブルクリックする操作を行った場合も、ファイルマネージャプログラム22は、MFP51から、プッシュスキャン監視プログラム81を取得し、プッシュスキャン監視プログラム81を実行させることができる。
オートラン指示ファイルによって、プッシュスキャン監視プログラム81を自動実行させる場合に、ユーザにとって、操作が必要なプログラムを認識しやすくするために、スキャンプログラム82には「ダブルクリックOK:スキャンプログラム.exe」など、ユーザからの操作を示唆するファイル名を対応付けてもよい。
なお、この実施例では、プッシュスキャン監視プログラム81に含まれるIPアドレス情報91およびスキャン設定情報111も、PC9へ送信されることになる。また、スキャンプログラム82に含まれるIPアドレス情報92およびスキャン設定情報112も、PC9へ送信されることになる。
<MFPの動作(その3)>
図2に戻り、MFPの動作の説明を続ける。S25においてCPU32は、IPアドレス変更指示が入力されたか否かを判断する。具体的には、不図示のDHCPサーバから新たなIPアドレスの割り当てが行われたか、または、ボタン入力部38を介して新たなIPアドレスの入力が行われたかを判断する。否定判断される場合(S25:NO)にはS40へ進み、肯定判断される場合(S25:YES)にはS30へ進む。S30においてCPU32は、通信設定記憶領域84に記憶されているIPアドレス86を更新する。
S40においてCPU32は、プッシュスキャン指示情報が入力されたか否かを判断する。プッシュスキャン指示情報は、スキャナ20にセットされた原稿を読み込んで画像データを生成し、PC9へ送信することを指示する情報である。プッシュスキャン指示情報は、例えば、ボタン入力部38を介してユーザによって入力される。プッシュスキャン指示情報は、画像データ処理の内容を示す情報も含んでいる。画像データ処理は、PC9で行われる処理である。画像データ処理の内容は、ユーザが選択することが可能である。画像データ処理の内容の一例としては、ファイル保存、アプリケーション処理、ファイル送信、メール添付、などが挙げられる。
ファイル保存は、生成した画像データをPC9の記憶部15に保存する処理である。アプリケーション処理は、生成した画像データを、プッシュスキャン監視プログラム81を介して、PC9が備える所定のアプリケーションに受け渡す処理である。アプリケーションは、受け渡された画像データを加工するアプリケーションであってもよいし、受け渡された画像データを、他の装置に送信するアプリケーションであってもよい。ファイル送信は、生成した画像データを、プッシュスキャン監視プログラム81を介して、PC9から、PC9にネットワーク接続した外部ストレージ装置に送信する処理である。外部ストレージ装置は、インターネット接続したクラウドストレージであってもよい。ファイル送信は、生成した画像データを、プッシュスキャン監視プログラム81を介して、PC9が備えるファイル送信アプリケーションに受け渡す処理であってもよい。メール添付は、生成した画像データを、プッシュスキャン監視プログラム81を介して、メールに添付してPC9から送信する処理である。メール添付は、生成した画像データを、プッシュスキャン監視プログラム81を介して、PC9が備えるメールアプリケーションに受け渡す処理であってもよい。
S40において否定判断される場合(S40:NO)にはS50へ進み、肯定判断される場合(S40:YES)にはS45へ進む。S45においてCPU32は、プッシュスキャン要求情報をPC9へ送信する。プッシュスキャン要求情報は、IPアドレスに基づく第1の通信で送信される。プッシュスキャン要求情報は、プッシュスキャン指示情報がMFP51に入力されたことを示す情報である。プッシュスキャン要求情報は、プッシュスキャン指示情報の内容を含んでいる。このプッシュスキャン要求情報は、PC9に備えられた、第1の通信を行うための通信プログラムによって受信されると、PC9にて実行されているプッシュスキャン監視プログラム81に受け渡される。
S50においてCPU32は、PC9からスキャン指示情報を受信したか否かを判断する。スキャン指示情報は、スキャン処理の実行をMFP51へ指示するための情報である。すなわちスキャン指示情報は、プルスキャンの実行指示情報である。スキャン指示情報は、IPアドレスに基づく第1の通信で送信される。スキャン指示情報は、後述するS345においてPC9から送信される情報である。スキャン指示情報の受信は、S15で生成された第1サーバタスクによって行われる。S50において否定判断される場合(S50:NO)にはS25へ戻り、肯定判断される場合(S50:YES)にはS55へ進む。このスキャン指示情報は、PC9にて実行されているスキャンプログラム82から、PC9に備えられた、第1の通信を行うための通信プログラムを介して、MFP51へ送信される。なお、スキャン指示情報は、不図示の一般的なスキャナドライバをPC9が実行した場合に、MFP51へ送信されるスキャン指示情報と同等であってよい。
S55においてCPU32は、スキャン処理をスキャナ20に実行させる。これにより、画像データを生成することができる。S60においてCPU32は、画像データをPC9へ送信する。画像データは、第1の通信によって送信される。そしてS25へ戻る。
<プッシュスキャン監視プログラム81の動作>
図4のフローを用いて、プッシュスキャン監視プログラム81の動作内容を説明する。S210においてCPU10は、プッシュスキャン監視プログラム81自身の元ファイルが記憶されているパスを取得する。すなわち、MFP51のCIFS記憶領域62のパスを取得する。具体的には、MFP51のCIFSサーバとしてのサーバ名と、CIFS記憶領域62のフォルダパスと、の組合せを取得する。このような組み合わせの一例としては、“ HYPERLINK "\\\\MFP51\\ScanFolder\\" ¥¥MFP51¥ProgramFolder¥Scan”が挙げられる。この場合、“¥¥MFP51”がサーバ名であり、 HYPERLINK "\\\\MFP51\\ScanFolder\\" “ProgramFolder¥Scan”がフォルダパスである。S212においてCPU10は、PC9のRAM12に展開されているプッシュスキャン監視プログラム81の最終更新日時を取得し、記憶部15に一時的に記憶させる。なお、プッシュスキャン監視プログラム81は、OS9に自身の元ファイルが記憶されているパスを問い合わせ、OS9が出力したパスを取得する。あるいは、プッシュスキャン監視プログラム81がPOSIX(Portable Operating System Interfaceの略)準拠のC言語プログラムであるなら、プロセスの第1引数にあるパス情報を、realpath関数にかけることで、プッシュスキャン監視プログラム81自身の元ファイルが記憶されているパスを取得してもよい。
S215においてCPU10は、プッシュスキャン監視スレッド(図6)を立ち上げる。プッシュスキャン監視スレッドの処理内容は、後述する。
S220においてCPU10は、試行処理を実行する。試行処理は、PC9のRAM12に展開されているプッシュスキャン監視プログラム81の元ファイルが、MFP51のCIFS記憶領域62に記憶されていることを確認できるか否かを試行する処理である。試行処理は、CIFSプロトコルに基づく第2の通信を用いて実行される。具体的には、対象となるファイルをREADモードでオープンすることが試行される。試行処理が成功した場合(S220:成功)には、CIFSプロトコルに基づく第2の通信を用いたMFP51との間の通信が、実行可能であると判断することができる。そしてS260へ進む。
S260においてCPU10は、CIFS記憶領域62に記憶されているプッシュスキャン監視プログラム81に含まれている、IPアドレス情報91またはスキャン設定情報111が、実行中のプッシュスキャン監視プログラム81に含まれているIPアドレス情報91またはスキャン設定情報111とは異なる値に変更されているか否かを判断する。具体的には、CIFSプロトコルに基づく第2の通信を用いて、CIFS記憶領域62に記憶されている第1属性情報101を取得する。そして、第1属性情報101から、CIFS記憶領域62に記憶されているプッシュスキャン監視プログラム81の最終更新日時を読み出す。そして、第1属性情報101から読み出した最終更新日時と、S212で一時記憶した最終更新日時と、が一致するか否かを判断する。一致しない場合には、CIFS記憶領域62に記憶されているプッシュスキャン監視プログラム81に含まれている、IPアドレス情報91またはスキャン設定情報111が、実行中のプッシュスキャン監視プログラム81に含まれているIPアドレス情報91またはスキャン設定情報111とは異なる値に変更されている、と判断することができる。
S260において否定判断される場合(S260:NO)にはS262へ進む。S262においてCPU10は、所定時間(例:1秒)待機する。そしてS220へ戻る。一方、S260において肯定判断される場合(S260:YES)には、S265へ進む。S265においてCPU10は、S215で起動したプッシュスキャン監視スレッドへ、終了要求情報を出力する。
S270においてCPU10は、実行中のプッシュスキャン監視プログラム81自身のプロセスの、CIFS記憶領域62に記憶されているプッシュスキャン監視プログラム81のプロセスへの置き換えを行う。具体的には、プッシュスキャン監視プログラム81を実行中のCPU10が、CIFS記憶領域62に記憶されているプッシュスキャン監視プログラム81を読み出して実行し、実行していたプッシュスキャン監視プログラム81を終了する。なお、置き換え後のプロセスのプログラムは、置き換え前のプロセスとプログラムのパスが同一である。ただし、置き換え後のプロセスのプログラムは、S115で更新されたプログラムである。したがって、置き換え後のプロセスのアルゴリズムは、置き換え前のプロセスのアルゴリズムと同一である。置き換え後のプロセスで用いられるIPアドレス情報91は置き換え前のプロセスで用いられていたIPアドレス情報91とは異なる、または、置き換え後のプロセスで用いられるスキャン設定情報111は置き換え前のプロセスで用いられていたスキャン設定情報111とは異なる。IPアドレス情報91と、スキャン設定情報111の双方が異なっていてもよい。
一方、S220において、試行処理が失敗した場合(S220:失敗)には、CIFSプロトコルに基づく第2の通信を用いたMFP51との間の通信が実行不可能であると判断することができる。このように判断される場合の例としては、LAN18のケーブルが抜かれている場合が挙げられる。そして、S225(図5)へ進む。
S225においてCPU10は、プッシュスキャン監視スレッドへサスペンド要求情報を出力する。サスペンド要求情報は、プッシュスキャン監視スレッドの処理を中断させるための情報である。S230においてCPU10は、RAM12に展開されているプッシュスキャン監視プログラム81の読み出し元のプログラムがMFP51のCIFS記憶領域62に記憶されていることが、再び確認できるようになったか否かを判断する。否定判断される場合(S230:NO)にはS230へ戻り、肯定判断される場合(S230:YES)にはS235へ進む。
S235においてCPU10は、CIFS記憶領域62に記憶されているプッシュスキャン監視プログラム81に含まれている、IPアドレス情報91またはスキャン設定情報111が、変更されているか否かを判断する。肯定判断される場合(S235:YES)にはS265(図4)へ進み、否定判断される場合(S235:NO)にはS240へ進む。
S240においてCPU10は、プッシュスキャン監視スレッドへレジューム要求情報を出力する。レジューム要求情報は、プッシュスキャン監視スレッドの処理を再開させるための情報である。これにより、CIFS記憶領域62を、ファイルマネージャの画面上に再マウントすることができる。また、S225でプッシュスキャン監視スレッドを中断させる前に使用していたドライブ(例:Dドライブ)と同一のドライブ名で、CIFS記憶領域62を、再マウントすることができる。CIFS記憶領域62の再マウントは、mDNS(Multicast Domain Name Systemの略)およびServiceDiscoveryという仕組みを用いて、自動的に行われるとしてもよい。また再マウントは、ボンジュール(登録商標)と呼ばれるプログラムを用いて実現してもよい。
S245においてCPU10は、所定時間(例:1秒)待機する。そしてS220へ戻る。
<プッシュスキャン監視スレッドの動作>
図6のフローを用いて、プッシュスキャン監視スレッドの動作内容を説明する。プッシュスキャン監視スレッドは、S215で起動されるプログラムである。プッシュスキャン監視スレッドは、プッシュスキャン指示情報(図2、S45を参照)のMFP51からの送信の有無を監視するためのプログラムである。
S415においてCPU10は、S265にて発行された終了要求情報を受信したか否かを判断する。肯定判断される場合(S415:YES)にはプッシュスキャン監視スレッドを終了し、否定判断される場合(S415:NO)にはS420へ進む。
S420においてCPU10は、サスペンド要求情報を受信したか否かを判断する。サスペンド要求情報は、S225においてプッシュスキャン監視プログラム81から出力される情報である。否定判断される場合(S420:NO)にはS430へ進み、肯定判断される場合(S420:YES)にはS422へ進む。S422においてCPU10は、プッシュスキャン監視スレッドの処理をサスペンドする。
S425においてCPU10は、レジューム要求情報を受信したか否かを判断する。レジューム要求情報は、S240においてプッシュスキャン監視プログラム81から出力される情報である。肯定判断される場合(S425:YES)にはS430へ進み、否定判断される場合(S425:NO)にはS427へ進む。S427においてCPU10は、S265にて発行された終了要求情報を受信したか否かを判断する。S265にて発行された終了要求情報を受信していると判断した場合(S427:YES)には、プッシュスキャン監視スレッドを終了し、受信していないと判断した場合(S427:NO)には、S425へ戻る。
S430においてCPU10は、MFP51に、プッシュスキャン要求の有無を問合せる問い合わせ処理を行う。すなわち、MFP51でプッシュスキャン指示情報の入力が受け付けられたか否かを問合せる問合せ情報を、第1の通信を用いて送信する。問合せ情報を受信したMFP51は、プッシュスキャン指示情報を入力されていれば、プッシュスキャン要求情報を、第1の通信を用いてPC9に送信する。プッシュスキャン監視プログラム81による、PC9からMFP51へ情報を送信する第1の通信においては、プッシュスキャン監視プログラム81に含まれるIPアドレス情報91が示すIPアドレスが、送信先のIPアドレスとして用いられる。MFP51からMFP9へ情報を返信する第1の通信においては、当該IPアドレスが、送信元のIPアドレスとして用いられる。
S435においてCPU10は、プッシュスキャン要求情報を受信したか否かを判断する。プッシュスキャン要求情報は、S45においてMFP51から、第1の通信を用いて出力される情報である。S435において否定判断される場合(S435:NO)にはS440へ進む。S440においてCPU10は、所定時間(例:0.5秒)待機する。そしてS415へ戻る。
一方、S435において肯定判断される場合(S435:YES)には、S450へ進む。S450においてCPU10は、CIFS記憶領域62に記憶されているスキャンプログラム82を読み出して実行する。これにより、後述するS310において、スキャンプログラム82がバックエンドモードで実行される。そして、S455においてCPU10は、プッシュスキャン要求情報に含まれるプッシュスキャン指示情報に従った処理を実行する。具体的には、ファイル保存、アプリケーション処理、ファイル送信、メール添付、などのうち、プッシュスキャン指示情報が示す処理を実行する。S455にて、プッシュスキャン指示情報に従った処理を実行すると、S415へ戻る。
<スキャンプログラム82の動作>
図7および図8のフローを用いて、スキャンプログラム82の動作内容を説明する。スキャンプログラム82は、その起動方法によって、2つのモードで動作可能である。スキャンプログラム82は、ファイルマネージャプログラム22を介したユーザ操作によって起動された場合には、スタンドアロンモードで動作する。スキャンプログラム82は、S450にてプッシュスキャン監視プログラム81によって起動された場合には、バックエンドモードで動作する。S310においてCPU10は、起動トリガの内容を判断する。具体的には、プッシュスキャン監視プログラム81による起動であったか否かを判断する。起動トリガが、プッシュスキャン監視プログラム81による起動でない場合(S310:NO)、すなわち、起動トリガがユーザ操作である場合にはS315へ移る。一方、プッシュスキャン監視プログラム81による起動である場合(S310:YES)には、S355へ進む。
S355においてCPU10は、スキャンプログラム82に埋め込まれたIPアドレス情報92およびスキャン設定情報112を読み込む。これらの情報は、S120でスキャンプログラム82に埋め込まれたものである。
S365においてCPU10は、スキャン指示情報を生成する。スキャン指示情報には、S355で読み込まれたスキャン設定情報112が含まれる。そして、第1の通信によって、スキャン指示情報をMFP51へ送信する。送信したスキャン指示情報は、前述したS50において、MFP51によって受信される。
S367においてCPU10は、第1の通信を用いて、画像データをMFP51から受信する。画像データは、前述したS60において、MFP51によって送信される。S370においてCPU10は、受信した画像データを記憶部15に一時的に保存する。スキャンプログラム82による、PC9からMFP51へ情報を送信する第1の通信においては、スキャンプログラム82に含まれるIPアドレス情報92が示すIPアドレスが、送信先のIPアドレスとして用いられる。MFP51からMFP9へ情報を返信する第1の通信においては、当該IPアドレスが、送信元のIPアドレスとして用いられる。
S375においてCPU10は、スキャンプログラム82を起動したプログラムに、受信した画像データを記憶部15に保存したことを示す情報を出力し、フローを終了する。すなわち、プッシュスキャン監視プログラム81に、受信した画像データを記憶部15に保存したことを通知して、フローを終了する。通知を受けたプッシュスキャン監視プログラム81は、記憶部15に保存された画像データを読み出し、S455の処理を実行する。
一方、S310において否定判断された場合(S310:NO)には、S315へ進む。S315においてCPU10は、ユーザに操作入力を促すダイアログを、表示部13に表示する。この際、CPU10はスキャンプログラム82に埋め込まれたスキャン設定情報112が示す設定値を、スキャン設定値として読み出し、一時的に記憶する。
S320においてCPU10は、ユーザによる指示の入力を受け付ける。そして、入力された指示内容を判断する。終了が指示された場合(S320:終了)には、スキャンプログラム82を終了する。設定変更が指示された場合(S320:設定変更)には、S315において一時的に記憶したスキャン設定値を変更する(S325)。そしてS315へ戻る。ファイル書込みが指示された場合(S320:ファイル書込み)には、スキャン処理によって生成された画像データを、記憶部15に保存する。そしてS315へ戻る。キャンセルが指示された場合(S320:キャンセル)には、スキャン処理の受付をキャンセルする処理を実行し、S315へ戻る。スキャンが指示された場合(S320:スキャン)には、S345へ進む。
S345においてCPU10は、スキャン指示情報を生成する。スキャン指示情報には、スキャン設定値が含まれる。そして、第1の通信によって、スキャン指示情報をMFP51へ送信する。送信したスキャン指示情報は、前述したS50において、MFP51によって受信される。S347においてCPU10は、第1の通信を用いて、画像データをMFP51から受信する。そして、S315へ戻る。
<効果>
本明細書に記載されているMFP51によれば、MFP51に割り当てられているIPアドレスが含まれているファイルを示す特定情報、および、プッシュスキャン監視プログラム81およびスキャンプログラム82を、CIFSプロトコルに基づく第2の通信によって、PC9に取得させることができる。ここで、「MFP51に割り当てられているIPアドレスが含まれているファイル」の一例としては、プッシュスキャン監視プログラム81およびスキャンプログラム82が挙げられる。特定情報の一例としては、第1属性情報101および第2属性情報102が挙げられる。CIFSプロトコルは、PC9のOSに非依存のプロトコルである。従って、プッシュスキャン監視プログラム81、スキャンプログラム82、および特定情報を、PC9に確実に取得させることが可能となる。PC9は、特定情報を用いてMFP51のIPアドレスを取得する。そしてPC9は、IPアドレスに基づく第1の通信を用いて、スキャン指示情報(S345、S365)や画像データ(S347、S367)をMFP51と通信することができる。以上より、次の効果が得られる。第1に、MFP51に記憶されているプッシュスキャン監視プログラム81およびスキャンプログラム82を、PC9に確実に実行させることができる。よって、スキャン処理の失敗を回避することができる。第2に、PC9とMFP51との間でCIFSプロトコルに基づく第2の通信を実行するだけで、PC9にスキャン処理を実行させることが可能となる。プッシュスキャン監視プログラム81およびスキャンプログラム82を、事前にPC9にインストールしておく必要がないため、ユーザの利便性を高めることができる。
本明細書に記載されているMFP51によれば、MFP51の通信設定記憶領域84に記憶されているIPアドレス86や、スキャン設定記憶領域88に記憶されているスキャン設定情報89が変更(S30)されたことを検出することができる(S125)。そして、変更されたIPアドレス86やスキャン設定情報89を、プッシュスキャン監視プログラム81やスキャンプログラム82に上書きコピーすることができる(S115、S120)これにより、最新のIPアドレスやスキャン設定情報を、常にPC9に取得させることができる。よって、MFP51に割り当てられるIPアドレスが動的に変化する場合においても、PC9にスキャン処理を適切に実行させることが可能となる。また、MFP51のスキャン設定が変更された場合においても、変更後の設定でPC9にスキャン処理を実行させることが可能となる。
本明細書に記載されているMFP51によれば、MFP51のCIFS記憶領域62に記憶されているプッシュスキャン監視プログラム81およびスキャンプログラム82の最終更新日時を、第2の通信を用いて、PC9に報知することができる(S260)。そして、PC9で実行されているプッシュスキャン監視プログラム81およびスキャンプログラム82の最終更新日時と、CIFS記憶領域62に記憶されているプッシュスキャン監視プログラム81およびスキャンプログラム82の最終更新日時とを、PC9に比較させることができる(S260)。そして、両者が一致しない場合には、IPアドレスやスキャン設定情報が変更されたと判断することができる(S260)。そして、変更後のIPアドレスやスキャン設定情報を、PC9に受信させることができる(S270)。これにより、最新のIPアドレスやスキャン設定情報を、常にPC9に取得させることができる。
本明細書に記載されているMFP51によれば、PC9とMFP51との間のCIFSプロトコルに基づく第2の通信の実行可否を、PC9に検出させることができる(S220)。第2の通信が実行できないことが検出された場合(S220:NO)には、第2の通信が再び可能となるまで、プッシュスキャン監視スレッドの処理をPC9に中断させることができる(S225)。そして、第2の通信が実行可能な状態に復帰した場合(S230:YES)に、IPアドレスやスキャン設定情報が変更されていることがPC9で検出された場合(S235:YES)には、変更後のIPアドレスやスキャン設定情報をPC9に受信させることができる(S270)。これにより、最新のIPアドレスやスキャン設定情報を用いて、第2の通信を再接続することが可能となる。また、第2の通信が実行可能な状態に復帰した場合(S230:YES)に、IPアドレスやスキャン設定情報が変更されていないことがPC9で検出された場合(S235:NO)には、中断前に使用していたIPアドレスやスキャン設定情報を用いて、PC9にプッシュスキャン監視スレッドを再開させることができる(S240)。これにより、IPアドレスやスキャン設定情報の更新処理を省略できるため、プッシュスキャン監視スレッドを素早く再開することが可能となる。
本明細書に記載されているMFP51によれば、試行処理をPC9に実行させることができる(S220)。試行処理は、PC9のRAM12に展開されているプッシュスキャン監視プログラム81の読み出し元のプログラムが、MFP51のCIFS記憶領域62に記憶されていることを確認できるか否かを試行する処理である。試行処理が失敗した場合(S220:失敗)には、CIFSプロトコルに基づく第2の通信が実行不可能であると判断することができる。これにより、第2の通信の実行可否を、PC9に確実に判断させることが可能となる。
本明細書に記載されているMFP51によれば、プッシュスキャン監視プログラム81およびスキャンプログラム82のオートラン指示ファイル名を、PC9へ送信することができる。これにより、プッシュスキャン監視プログラム81およびスキャンプログラム82を、MFP51に適切に実行させることが可能となる。
本明細書に記載されているMFP51によれば、プッシュスキャン監視プログラム81およびスキャンプログラム82は、PC9を制御するオペレーティングシステムに依存しない言語(例:Java(登録商標)言語)で記載されている。これにより、PC9に搭載されているOSに依存せずに、プッシュスキャン監視プログラム81およびスキャンプログラム82をPC9に実行させることが可能となる。
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。以下に変形例を説明する。
<変形例>
IPアドレス情報91および92、スキャン設定情報111および112は、プッシュスキャン監視プログラム81およびスキャンプログラム82に組み込まれている形態に限られず、これらのプログラムとは別体の特定ファイルとして存在していてもよい。特定ファイルには、通信設定記憶領域84に記憶されているIPアドレス86、および、スキャン設定記憶領域88に記憶されているスキャン設定情報89がコピーされるとしてもよい。特定ファイルは、CIFS記憶領域62に記憶されていてもよい。特定ファイルとスキャンプログラム82とは、関連付けがされていてもよい。そして、この関連付けに基づいて、スキャンプログラム82から特定ファイルを読み込むことが可能とされていてもよい。関連付けの一例としては、パスでリンクを作成する方法が挙げられる。またS120では、IPアドレス86およびスキャン設定情報89を、特定ファイルに埋め込む処理を行ってもよい。これにより、プログラムの再起動(S270)を実行することなく、変更後のIPアドレスおよびスキャン設定情報を読み込むことが可能になる。
S260の判断は、実行中のプッシュスキャン監視プログラム81に含まれるIPアドレス情報91またはスキャン設定情報111と、CIFS記憶領域62に記憶されているスキャンプログラム82に含まれるIPアドレス情報92またはスキャン設定情報112とを比較することで行ってもよい。これは、S115においてプッシュスキャン監視プログラム81に含まれるIPアドレス情報91とスキャン設定情報111とが更新されるとともに、S120においてスキャンプログラム82に含まれるIPアドレス情報92とスキャン設定情報112も更新されるためである。
請求項において、第2情報は、「第1情報が含まれるファイルを識別するファイル識別情報である」と定義した。この定義は、第2情報そのものが第1情報である概念を含むものである。すなわち、本実施例では、第2情報の一例として、「IPアドレスが含まれるプッシュスキャン監視プログラム81を識別する第1属性情報101」や、「IPアドレスが含まれるスキャンプログラム82を識別する第2属性情報102」を説明した。しかし、第1属性情報101や第2属性情報102がIPアドレスを含んでいてもよい。
請求項に記載されている「記憶部」は、様々な形態であってよい。すなわち、請求項の記憶部の一例は、図1の記憶部35に限られない。ROM33、RAM34、CPU32内の不図示のバッファ、なども、請求項の記憶部の一例である。
MFP51のCIFS記憶領域62は、USBバスパワーで動作させてもよい。これにより、PC9の立ち上げ時にMFP51が電源オフである場合においても、プッシュスキャン監視プログラムファイル名、スキャンプログラムファイル名、オートラン指示ファイル名やプログラムファイルを受信することが可能となる。
本実施例では、請求項の第1情報の一例として、IPアドレスを用いたが、この形態に限られない。第1情報は、USBのシリアル番号など、各種の情報であってよい。
LAN18を介して、第1の通信および第2の通信を行う形態を説明したが、この形態に限らない。無線通信94および95を介して、第1の通信および第2の通信を行ってもよい。
また、上記の実施形態のPC9及びMFP51において、記憶部15、35に記憶された各種プログラムがCPU10、32によって実行されることによって、本発明の各処理が実現される例を説明した。しかしながら、制御部の構成はこれに限定されず、その一部又は全部を集積回路(IC(Integrated Circuitの略)とも言う。)等のハードウェアで実現してもよい。
さらに、本発明は、PC9及びMFP51として実現できるだけでなく、PC9及びMFP51に処理を実行させるプログラムとして実現してもよい。そして、当該プログラムは、non−transitoryな記録媒体に記録されて提供されてもよい。non−transitoryな記録媒体は、CD−ROM、DVD−ROM等の他、通信ネットワークを通じてPC9及びMFP51に接続可能なサーバに搭載された記憶部を含んでもよい。そして、サーバの記憶部に記憶されたプログラムは、当該プログラムを示す情報或いは信号として、インターネット等の通信ネットワークを通じて配信されてもよい。
<本明細書における注意事項>
なお、本明細書中の「データ」と「情報」とは、コンピュータによって取り扱い可能なビット或いはビット列である点において共通する。「データ」とは、各ビットが示す意味内容をコンピュータが考慮することなく取り扱えるものを指す。これに対して、「情報」とは、各ビットが示す意味内容によってコンピュータの動作が分岐するものを指す。さらに、「指示」は、送信先の装置に対して次の動作を促すための制御信号であって、情報を含んでいることもあるし、それ自体が情報としての性質を有していることもある。
また、「データ」及び「情報」は、形式(例えば、テキスト形式、バイナリ形式、フラグ形式等)がコンピュータ毎に変更されたとしても、同一の意味内容と認識される限り、同一のデータ及び情報として取り扱われる。例えば、「2つ」であることを示す情報が、あるコンピュータではASCIIコードで”0x32“というテキスト形式の情報として保持され、別のコンピュータでは二進数表記で”10“というバイナリ形式の情報として保持されてもよい。
但し、上記の「データ」及び「情報」の区別は厳密なものではなく、例外的な取り扱いも許容される。例えば、データが一時的に情報として扱われてもよいし、情報が一時的にデータとして扱われてもよい。また、ある装置ではデータとして扱われるものが、他の装置では情報として扱われてもよい。さらには、データの中から情報が取り出されてもよいし、情報の中からデータが取り出されてもよい。
なお、記憶部15および35は、コンピュータが読み取り可能なストレージ媒体であってもよい。コンピュータが読み取り可能なストレージ媒体とは、non−transitoryな媒体である。non−transitoryな媒体には、上記の例の他に、CD−ROM、DVD−ROM等の記録媒体も含まれる。また、non−transitoryな媒体は、tangibleな媒体でもある。一方、インターネット上のサーバなどからダウンロードされるプログラムを搬送する電気信号は、コンピュータが読み取り可能な媒体の一種であるコンピュータが読み取り可能な信号媒体であるが、non−transitoryなコンピュータが読み取り可能なストレージ媒体には含まれない。
MFP51の記憶部35に記憶されているプログラムは、CPU32によって実行される。しかしながら、本明細書では、CPU32を省略して各プログラムの動作を説明することがある。すなわち、以下の説明において、「プログラムAが処理Aを実行する」という趣旨の記述は、「CPU32がプログラムAに記述された処理Aを実行する」ことを指してもよい。PC9についても同様である。
また、記憶部35および15に記憶されているプログラムは、事象を判断し、判断結果に応じて動作する。しかしながら、本明細書では、判断することを省略して各プログラムの動作を説明することがある。すなわち、以下の説明において、「制御プログラムが条件Aに応じて、処理Aを実行する」という趣旨の記述は、「制御プログラムは条件Aであるか否かを判断する。制御プログラムは、肯定判断であることに応じて、処理Aを実行する」ことを指してもよい。
また、記憶部35および15に記憶されているプログラムは、データ等を特定し、抽出し、或いは選択する。プログラムがデータ等を特定するとは、例えば、複数のデータ等のうちから条件に合致するデータを特定し、当該データ等そのもの或いは当該データ等を識別する情報を、予め定められた記憶領域に記憶させる処理を指す。データ等を識別する情報とは、例えば、当該データ等を識別する識別情報、当該データ等が記憶された配列のインデックス、当該データ等が記憶された記憶領域のポインタ等である。プログラムがデータ等を抽出し、或いは選択する処理も同様である。
また、記憶部35および15に記憶されているプログラムは、データ等を取得する。プログラムがデータ等を取得するとは、例えば、データが記憶された記憶領域からデータを読み出す処理を指してもよい。プログラムがデータ等を取得するとは、例えば、外部装置から送信されたデータを受信する処理を指してもよい。プログラムがデータ等を取得するとは、例えば、外部データにデータの返信を要求し、外部装置から返信されたデータを受信する処理を指してもよい。プログラムがデータ等を取得するとは、例えば、OSなどの他のプログラムが出力したデータを受信する処理を指してもよい。プログラムがデータ等を取得するとは、例えば、他のプログラムにデータの出力を要求し、他のプログラムから出力されたデータを受信する処理を指してもよい。
<符号の対応の一例>
IPプロトコルに基づいて行われる通信は、第1の通信の一例である。「第2の通信」には、CIFSプロトコルに基づいて行われる通信は、第2の通信の一例である。PC9は、情報処理装置の一例である。LANインターフェース部43は、通信インターフェースの一例である。スキャナ20は、画像生成部の一例である。MFP51は、スキャナの一例である。IPアドレスおよびスキャン設定情報は、第1情報の一例である。プッシュスキャン監視プログラム81およびスキャンプログラム82は、スキャンプログラムの一例である。第1属性情報101および第2属性情報102は、第2情報の一例である。プッシュスキャン監視プログラム81のプログラムファイル、および、スキャンプログラム82のプログラムファイルは、「第1情報が含まれるファイル」および「第2情報が示すファイル」の一例である。CIFSプロトコルは、ファイル共有プロトコルの一例である。CPU32は、制御部の一例である。S20で生成されるCIFSサーバタスクに関連する、「ダブルクリックされたファイルアイコンに対応するファイルの読み出しを要求する指示情報」は、「前記記憶部に記憶されている前記スキャンプログラムおよび前記第2情報が示すファイルの読み出し要求情報」の一例である。S20で生成されるCIFSサーバタスクに関連する、「要求を受けた、MFP51のCIFSサーバタスク」は、「ファイルの読み出し要求情報を前記情報処理装置から受信したか否かを判断する“第1判断手段”」の一例である。「要求を受けた、MFP51のCIFSサーバタスクは、記憶部35の設定領域を参照し、読み出しを要求されたファイルを読み出す。スキャンプログラムファイルの読み出しを要求する指示情報を受信した場合には、スキャンプログラム82を読み出す。そして、MFP51のCIFSサーバタスクは、スキャンプログラム82を、PC9に第2の通信によって送信する。」の記載や、「要求を受けた、MFP51のCIFSサーバタスクは、記憶部35の設定領域を参照し、プッシュスキャン監視プログラムファイル名およびスキャンプログラムファイル名、および、オートラン指示ファイル名を、PC9に第2の通信によって送信する。」の記載は、「前記第1判断手段で前記読み出し要求情報を受信したと判断されたことに応じて、前記スキャンプログラムおよび前記第2情報を、前記通信インターフェースを介して、前記第2の通信によって前記情報処理装置へ送信する“第1送信手段”」の一例である。S50を実行するCPUは、第2判断手段の一例である。S55を実行するCPUは、スキャン処理手段の一例である。S60を実行するCPUは、送信手段の一例である。通信設定記憶領域84は、第1領域の一例である。CIFS記憶領域62は、第2領域の一例である。S25を実行するCPUは、受付手段の一例である。S30を実行するCPUは、変更手段の一例である。S125を実行するCPUは、第3判断手段の一例である。S115およびS120を実行するCPUは、記憶制御手段の一例である。S260を実行するCPUは、第1検出処理の一例である。S270を実行するCPUは、受信処理の一例である。S260を実行するCPUは、日時情報受信処理の一例である。S220を実行するCPUは、第2検出処理の一例である。S230を実行するCPUは、待機処理の一例である。S435を実行するCPUは、第3検出処理の一例である。S365を実行するCPUは、スキャン指示情報送信処理の一例である。S422を実行するCPUは、中断処理の一例である。プッシュスキャン要求情報は、開始情報の一例である。オートラン指示ファイル名は、実行指示情報の一例である。スキャン設定情報111および112は、設定情報の一例である。請求項15の「第1送信手段」および「第1判断手段」の内容は、請求項1および14の「第1判断手段」の内容に対応する。請求項15の「第2送信手段」の内容は、請求項1および14の「第1送信手段」の内容に対応する。「S365においてCPU10は、スキャン指示情報を生成する。スキャン指示情報には、S355で読み込まれたスキャン設定情報112が含まれる。そして、第1の通信によって、スキャン指示情報をMFP51へ送信する。送信したスキャン指示情報は、前述したS50において、MFP51によって受信される。」の記載や、「S345においてCPU10は、スキャン指示情報を生成する。スキャン指示情報には、スキャン設定値が含まれる。そして、第1の通信によって、スキャン指示情報をMFP51へ送信する。送信したスキャン指示情報は、前述したS50において、MFP51によって受信される。」の記載は、請求項15の「前記スキャンプログラムおよび前記第2情報を受信した後に、スキャン指示情報を、前記第2通信インターフェースを介して、前記第1の通信によって前記スキャナへ送信する“第3送信手段”」の一例である。LANインターフェース部43は、第1通信インターフェースの一例である。ネットワークインターフェース部17は、第2通信インターフェースの一例である。
9:PC、20:スキャナ、32:CPU、43:LANインターフェース部、51:MFP、62:CIFS領域、81:プッシュスキャン監視プログラム、82:スキャンプログラム、84:通信設定記憶領域

Claims (15)

  1. 第1の通信および第2の通信を情報処理装置との間で実行可能な通信インターフェースと、
    記憶部と、
    原稿を読み取るスキャン処理を行うことで画像データを生成する画像生成部と、
    制御部と、
    を備えるスキャナであって、
    前記記憶部には、第1情報が記憶されており、前記第1情報は、前記通信インターフェースが前記第1の通信を行うために必要であり、かつ、前記スキャナの個体を識別する個体識別情報であり、
    前記記憶部には、前記情報処理装置で実行可能なスキャンプログラムと、第2情報と、が記憶されており、
    前記第2情報は、前記第1情報が含まれるファイルを識別するファイル識別情報であり、
    前記第1の通信は、前記第1情報に含まれているアドレス情報に基づいて行われる通信であり、
    前記第2の通信は、ファイル共有プロトコルに基づいた通信であり、
    前記スキャンプログラムは、前記情報処理装置で実行可能なプログラムであって、前記スキャナで実行される前記スキャン処理を制御するためのプログラムであり、
    前記制御部は、前記スキャナを、
    前記記憶部に記憶されている前記スキャンプログラムおよび前記第2情報が示すファイルの読み出し要求情報を、前記通信インターフェースを介して、前記第2の通信によって前記情報処理装置から受信したか否かを判断する第1判断手段と、
    前記第1判断手段で前記読み出し要求情報を受信したと判断されたことに応じて、前記スキャンプログラムおよび前記第2情報を、前記通信インターフェースを介して、前記第2の通信によって前記情報処理装置へ送信する第1送信手段と、
    前記スキャンプログラムを前記情報処理装置に送信した後に、スキャン指示情報を、前記通信インターフェースを介して、前記第1の通信によって前記情報処理装置から受信したか否かを判断する第2判断手段と、
    前記第2判断手段で前記スキャン指示情報を受信したと判断されたことに応じて、前記スキャン処理を実行して画像データを生成するスキャン処理手段と、
    前記スキャン処理手段で生成した前記画像データを、前記通信インターフェースを介して、前記第1の通信によって前記情報処理装置へ送信する送信手段と、
    して機能させることを特徴とするスキャナ。
  2. 前記記憶部は、前記記憶部の第1領域に前記第1情報を記憶しており、
    前記通信インターフェースは、前記第1領域にアクセスして、前記第1情報を用いて、第1の通信を行い、
    前記記憶部は、前記記憶部の第2領域に前記スキャンプログラムと、前記第1領域からコピーした前記第1情報と、を記憶しており、
    前記第2情報は、前記第2領域に記憶された前記第1情報が含まれるファイルを識別するファイル識別情報であり、
    前記制御部は、前記スキャナを、
    前記第1情報の変更を指示する変更指示入力を受け付ける受付手段と、
    前記受付手段が変更指示入力を受け付けたことに応じて、前記第1領域に記憶されている前記第1情報を変更する変更手段と、
    前記第1情報が変更されたか否かを判断する第3判断手段と、
    前記第3判断手段で前記第1情報が変更されたと判断されたことに応じて、前記第2領域に、変更された前記第1情報をコピーする記憶制御手段と、
    をさらに備えることを特徴とする請求項1に記載のスキャナ。
  3. 前記スキャンプログラムは、前記情報処理装置で実行された場合に、第1検出処理および受信処理を前記情報処理装置に実行させるプログラムであり、
    前記第1検出処理は、前記スキャナの前記記憶部に記憶されている前記第2情報が識別するファイルに含まれる前記第1情報が変更されたことを、前記第2の通信を用いて検出する処理であり、
    前記受信処理は、前記第2情報が識別するファイルに含まれる前記第1情報が変更されたことが前記第1検出処理によって検出されたことに応じて、前記第2の通信を用いて実行される処理であり、かつ、前記第2情報が識別するファイルに含まれる前記第1情報を前記情報処理装置に受信させる処理であることを特徴とする請求項1または2に記載のスキャナ。
  4. 前記第1検出処理は、前記第2の通信を用いて、前記スキャナの前記記憶部に記憶されている前記第2情報が識別するファイルの最終更新日時を、前記スキャナから受信する日時情報受信処理を含み、
    前記情報処理装置で実行されている前記スキャンプログラムの最終更新日時と、前記日時情報受信処理で受信した前記第2情報が識別するファイルの最終更新日時と、が一致しない場合に、前記記憶部に記憶されている前記第2情報が識別するファイルに含まれる前記第1情報が変更された、と検出する処理であることを特徴とする請求項3に記載のスキャナ。
  5. 前記スキャンプログラムは、前記情報処理装置で実行された場合に、第2検出処理および待機処理、を前記情報処理装置に実行させるプログラムであり、
    前記第2検出処理は、前記第2の通信を用いた前記スキャナとの間の通信が実行可能であることを検出する処理であり、
    前記待機処理は、前記第2の通信を用いた前記スキャナとの間の通信が実行できないことが前記第2検出処理によって検出されたことに応じて、接続が切れた場合に、前記第2の通信を用いた前記スキャナとの間の通信が再び可能になるまで待機する処理であり、
    前記受信処理において、前記第2の通信を用いた前記スキャナとの間の通信が再び可能になったことが前記第2検出処理によって検出され、かつ、前記記憶部に記憶されている前記第2情報が識別するファイルに含まれる前記第1情報が変更されたことが前記第1検出処理によって検出されたことに応じて、変更後の前記第1情報を含んだファイルを識別する前記第2情報を前記第2の通信を用いて取得する、
    ことを特徴とする請求項3または4に記載のスキャナ。
  6. 前記スキャンプログラムは、前記情報処理装置で実行された場合に、第3検出処理、スキャン指示情報送信処理、および、中断処理を前記情報処理装置にさらに実行させるプログラムであり、
    前記第3検出処理は、前記スキャン処理を開始する指示が前記スキャナに入力されたことを示す開始情報が、前記スキャナから前記第1の通信によって送信されてきたか否かを検出する処理であり、
    前記スキャン指示情報送信処理は、前記開始情報が送信されてきたことが前記第3検出処理によって検出されたことに応じて、前記スキャン指示情報を、前記第1の通信によって前記スキャナへ送信する処理であり、
    前記中断処理は、前記第2の通信を用いた前記スキャナとの間の通信が実行できないことが前記第2検出処理によって検出されたことに応じて、前記第3検出処理の実行を中断する処理であり、
    前記受信処理は、前記中断処理によって前記第3検出処理の実行が中断された後に、前記記憶部に記憶されている前記第2情報が識別するファイルに含まれる前記第1情報が変更されていないと前記第1検出処理で判断された場合に、前記第3検出処理の実行を再開することを特徴とする請求項5に記載のスキャナ。
  7. 前記第2検出処理は、前記スキャンプログラムが前記スキャナの前記記憶部に記憶されていることを確認できるか試行する試行処理を含み、
    前記スキャンプログラムが前記スキャナの前記記憶部に記憶されていることが確認できない場合に、前記第2の通信を用いた前記スキャナとの間の通信が実行不可能である、と検出することを特徴とする請求項5または6に記載のスキャナ。
  8. 前記第1送信手段は、前記スキャンプログラムの実行を前記情報処理装置へ指示する実行指示情報を、前記第2の通信によって前記情報処理装置へさらに送信することを特徴とする請求項1〜7の何れか1項に記載のスキャナ。
  9. 前記記憶部に記憶されている前記スキャンプログラムは、前記情報処理装置を制御するオペレーティングシステムに依存しない言語で記載されたプログラムであることを特徴とする請求項1〜8の何れか1項に記載のスキャナ。
  10. 前記記憶部に記憶されている前記スキャンプログラムは、Java(登録商標)言語で記載されたプログラムであることを特徴とする請求項9に記載のスキャナ。
  11. 前記第1情報は、前記スキャン処理に関する各種の設定の内容を示す設定情報を含んでおり、
    前記情報処理装置で生成される前記スキャン指示情報は、前記設定情報に基づいて生成されることを特徴とする請求項1〜10の何れか1項に記載のスキャナ。
  12. 前記第1情報は、前記スキャンプログラムに含まれており、
    前記記憶部の第2領域に記憶されている前記スキャンプログラムに含まれている前記第1情報を、変更された前記第1情報に書き換える前記記憶制御手段を備えることを特徴とする請求項に記載のスキャナ。
  13. 前記第1情報は、前記スキャンプログラムとは別体の特定ファイルとして前記記憶部の第2領域に記憶されており、
    前記第1情報と前記スキャンプログラムとは、前記スキャンプログラムから前記第1情報を読み込むことが可能なように関連付けがされており、
    前記第2領域に記憶されている前記特定ファイルを、変更された前記第1情報に書き換える前記記憶制御手段を備えることを特徴とする請求項に記載のスキャナ。
  14. 第1の通信および第2の通信を情報処理装置との間で実行可能な通信インターフェースと、
    記憶部と、
    原稿を読み取るスキャン処理を行うことで画像データを生成する画像生成部と、
    制御部と、
    を備えるスキャナに読込まれるスキャナの制御プログラムであって
    記記憶部には、第1情報が記憶されており、前記第1情報は、前記通信インターフェースが前記第1の通信を行うために必要であり、かつ、前記スキャナの個体を識別する個体識別情報であり、
    前記記憶部には、前記情報処理装置で実行可能なスキャンプログラムと、第2情報と、が記憶されており、
    前記第2情報は、前記第1情報が含まれるファイルを識別するファイル識別情報であり、
    前記第1の通信は、前記第1情報に含まれているアドレス情報に基づいて行われる通信であり、
    前記第2の通信は、ファイル共有プロトコルに基づいた通信であり、
    前記スキャンプログラムは、前記情報処理装置で実行可能なプログラムであって、前記スキャナで実行される前記スキャン処理を制御するためのプログラムであり、
    前記制御部を、
    前記記憶部に記憶されている前記スキャンプログラムおよび前記第2情報が示すファイルの読み出し要求情報を、前記通信インターフェースを介して、前記第2の通信によって情報処理装置から受信したか否かを判断する第1判断手段と、
    前記第1判断手段で前記読み出し要求情報を受信したと判断されたことに応じて、前記スキャンプログラムおよび前記第2情報を、前記通信インターフェースを介して、前記第2の通信によって前記情報処理装置へ送信する第1送信手段と、
    前記スキャンプログラムを前記情報処理装置に送信した後に、スキャン指示情報を、前記通信インターフェースを介して、前記第1の通信によって前記情報処理装置から受信したか否かを判断する第2判断手段と、
    前記第2判断手段で前記スキャン指示情報を受信したと判断されたことに応じて、前記スキャン処理を実行して画像データを生成するスキャン処理手段と、
    前記スキャン処理手段で生成した前記画像データを、前記通信インターフェースを介して、前記第1の通信によって前記情報処理装置へ送信する送信手段と、
    して機能させることを特徴とする制御プログラム。
  15. スキャナと情報処理装置を備えた通信システムであって、
    前記スキャナは、
    第1の通信および第2の通信を情報処理装置との間で実行可能な第1通信インターフェースと、
    記憶部と、
    原稿を読み取るスキャン処理を行うことで画像データを生成する画像生成部と、
    を備え、
    前記記憶部には、第1情報が記憶されており、前記第1情報は、前記第1通信インターフェースが前記第1の通信を行うために必要であり、かつ、前記スキャナの個体を識別する個体識別情報であり、
    前記記憶部には、前記情報処理装置で実行可能なスキャンプログラムと、第2情報と、が記憶されており、
    前記第2情報は、前記第1情報が含まれるファイルを識別するファイル識別情報であり、
    前記第1の通信は、前記第1情報に含まれているアドレス情報に基づいて行われる通信であり、
    前記第2の通信は、ファイル共有プロトコルに基づいた通信であり、
    前記スキャンプログラムは、前記情報処理装置で実行可能なプログラムであって、前記スキャナで実行される前記スキャン処理を制御するためのプログラムであり、
    前記情報処理装置は、前記第1の通信および前記第2の通信を前記スキャナとの間で実行可能な第2通信インターフェースを備え、
    前記情報処理装置は、前記記憶部に記憶されている前記スキャンプログラムおよび前記第2情報が示すファイルの読み出し要求情報を、前記第2通信インターフェースを介して、前記第2の通信によって前記スキャナへ送信する第1送信手段を備え、
    前記スキャナは、
    前記読み出し要求情報を、前記第1通信インターフェースを介して、前記第2の通信によって前記情報処理装置から受信したか否かを判断する第1判断手段と、
    前記第1判断手段で前記読み出し要求情報を受信したと判断されたことに応じて、前記スキャンプログラムおよび前記第2情報を、前記第1通信インターフェースを介して、前記第2の通信によって前記情報処理装置へ送信する第2送信手段と、
    を備え、
    前記情報処理装置は、前記スキャンプログラムおよび前記第2情報を受信した後に、スキャン指示情報を、前記第2通信インターフェースを介して、前記第1の通信によって前記スキャナへ送信する第3送信手段をさらに備え、
    前記スキャナは、
    前記スキャンプログラムを前記情報処理装置に送信した後に、前記スキャン指示情報を、前記第1通信インターフェースを介して、前記第1の通信によって前記情報処理装置から受信したか否かを判断する第2判断手段と、
    前記第2判断手段で前記スキャン指示情報を受信したと判断されたことに応じて、前記スキャン処理を実行して画像データを生成するスキャン処理手段と、
    前記スキャン処理手段で生成した前記画像データを、前記第1通信インターフェースを介して、前記第1の通信によって前記情報処理装置へ送信する送信手段と、
    をさらに備え、
    前記スキャナは、前記画像データを前記第2通信インターフェースを介して受信する受信手段をさらに備えることを特徴とする通信システム。
JP2015168997A 2015-08-28 2015-08-28 スキャナ、スキャナの制御プログラム、および通信システム Active JP6572683B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015168997A JP6572683B2 (ja) 2015-08-28 2015-08-28 スキャナ、スキャナの制御プログラム、および通信システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015168997A JP6572683B2 (ja) 2015-08-28 2015-08-28 スキャナ、スキャナの制御プログラム、および通信システム

Publications (2)

Publication Number Publication Date
JP2017046282A JP2017046282A (ja) 2017-03-02
JP6572683B2 true JP6572683B2 (ja) 2019-09-11

Family

ID=58211897

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015168997A Active JP6572683B2 (ja) 2015-08-28 2015-08-28 スキャナ、スキャナの制御プログラム、および通信システム

Country Status (1)

Country Link
JP (1) JP6572683B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111860015A (zh) * 2020-07-13 2020-10-30 Oppo广东移动通信有限公司 一种信息处理方法及装置、存储介质

Also Published As

Publication number Publication date
JP2017046282A (ja) 2017-03-02

Similar Documents

Publication Publication Date Title
JP4533780B2 (ja) 画像形成システム、画像形成装置、端末装置及び端末装置のドライバの更新方法
US9544450B2 (en) Image forming apparatus and method for updating firmware
JP5665437B2 (ja) ネットワーク機器管理システム、ネットワーク機器管理装置、クライアント装置およびその方法
JP2019005969A (ja) 印刷システムおよびプログラム
JP2005100270A (ja) プリント制御プログラムおよび印刷装置
US8375401B2 (en) Information processing device with device driver for displaying a user guide
JP4946141B2 (ja) 構成変更プログラム、および情報処理装置
JP3903024B2 (ja) 出力管理方法及び情報処理装置
JP7225737B2 (ja) サポートプログラム、情報処理装置、および印刷方法
US9386122B2 (en) Server selecting apparatus, information processing apparatus, and non-transitory computer-readable medium storing computer-executable program for server selecting apparatus
JP5396847B2 (ja) 印刷装置及びその制御方法
US20080079991A1 (en) Information processing apparatus device driver deletion method and storage medium storing control program for executing the method
JP5857589B2 (ja) 印刷装置及び印刷システム
JP6572683B2 (ja) スキャナ、スキャナの制御プログラム、および通信システム
JP6264575B2 (ja) ジョブ処理装置管理サーバプログラム
US20110010718A1 (en) Electronic device, information processing method, and computer program product having computer-readable information processing program
JP2008211747A (ja) 画像処理装置、サーバ装置、タスク処理方法、記憶媒体、プログラム
EP2234014A2 (en) Information processing apparatus, information processing method, and information processing system
US10592174B2 (en) Information processing system, server and non-transitory computer-readable recording medium encoded with data distribution program
US10019600B2 (en) Information processing apparatus, control method for information processing apparatus, and storage medium
JP4859241B2 (ja) 複合装置、情報処理方法及びプログラム
JP2001077964A (ja) 機器の保守装置および保守方法
JP2006129362A (ja) デジタル複合機
JP6464657B2 (ja) 画像処理装置、プログラム更新方法、およびコンピュータプログラム
JP2010218566A (ja) 情報処理プログラム、情報処理装置、および情報処理システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180809

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190517

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190528

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190628

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190716

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190729

R150 Certificate of patent or registration of utility model

Ref document number: 6572683

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150