(57)【要約】【課題】スキャン動作の進捗状況の表示と、入力インタフェースを通じたユーザからの指示の受け付けとを並行して実行可能な情報処理端末のプログラムを提供する。【解決手段】メインプログラム６５は、ホーム画面を表示させる第１表示処理と、ホーム画面に表示されたオブジェクトの指定を受け付ける受付処理と、指定されたオブジェクトに対応する処理を実行する実行処理と、サブプログラム６６が受信したプッシュスキャン情報の応答として、スキャン指示情報をＭＦＰ１０に送信する第１送信処理（Ｓ３７）と、スキャン指示情報の応答としてスキャンデータを受信する第２受信処理（Ｓ３８）とを情報処理端末５０に実行させる。サブプログラム６６は、ＭＦＰ１０からプッシュスキャン情報を受信する第１受信処理（Ｓ３２）と、スキャン動作の進捗状況を示す進捗画面を表示させる第２表示処理（Ｓ３６／Ｓ４１）とを情報処理端末に実行させる。【選択図】図４
2018164217.tif 000002
【特許請求の範囲】
【請求項１】
ディスプレイと、入力インタフェースと、通信インタフェースとを備える情報処理端末によって実行可能なプログラムであって、
該プログラムは、
該プログラムに実装された処理が対応付けられたオブジェクトを含む第１画面を、前記ディスプレイに表示させる第１表示処理と、
前記第１画面に表示された前記オブジェクトを指定するユーザ操作を、前記入力インタフェースを通じて受け付ける受付処理と、
前記受付処理で指定された前記オブジェクトに対応する処理を実行する実行処理と、
原稿に記録された画像を読み取って生成するスキャンデータの受信を要求する受信要求情報を、前記通信インタフェースを通じてスキャナから受信する第１受信処理と、
前記スキャンデータを生成するスキャン動作の実行を指示するスキャン指示情報を、前記受信要求情報の応答として、前記通信インタフェースを通じて前記スキャナに送信する第１送信処理と、
前記通信インタフェースを通じて前記スキャナから前記スキャンデータを、前記スキャン指示情報の応答として受信する第２受信処理と、
前記スキャン指示情報に従って前記スキャナが実行する前記スキャン動作の進捗状況を示す第２画面を、前記ディスプレイに表示させる第２表示処理とを前記情報処理端末に実行させ、
該プログラムは、
前記第１表示処理、前記受付処理、及び前記実行処理を前記情報処理端末に実行させる第１プログラムと、
前記第１プログラムが前記情報処理端末に実行させる処理と並行して、前記第２表示処理を前記情報処理端末に実行させる第２プログラムとを含むプログラム。
【請求項２】
前記第２プログラムは、
前記第１受信処理と、
前記受信要求情報の受信を前記第１プログラムに通知する第１通知処理と、
前記スキャン動作の進捗状況が前記第１プログラムから通知されたことに応じて、前記第２表示処理とを前記情報処理端末に実行させ、
前記第１プログラムは、前記受信要求情報の受信が前記第２プログラムから通知されたことに応じて、
前記第１送信処理と、
前記第２受信処理と、
前記スキャン動作の進捗状況を前記第２プログラムに通知する第２通知処理とを前記情報処理端末に実行させる請求項１に記載のプログラム。
【請求項３】
前記スキャン動作で複数ページの原稿が順番に読み取られる場合において、
前記第１プログラムは、
ページ毎の前記スキャンデータを受信する前記第２受信処理と、
既に受信した前記スキャンデータの数を示す進捗状況を通知する前記第２通知処理とを前記情報処理端末に繰り返し実行させ、
前記第２プログラムは、前記第２表示処理において、進捗状況が通知される度に前記第２画面を更新する請求項２に記載のプログラム。
【請求項４】
前記情報処理端末は、メモリを備えており、
前記第１プログラムは、
前記受付処理において、前記通信インタフェースを通じて通信可能な複数の画像処理装置のうちの１つに対応する前記オブジェクトを指定するユーザ操作を受け付け、
前記実行処理において、前記受付処理で指定された前記オブジェクトに対応する前記画像処理装置を識別する装置ＩＤを、前記メモリに記憶させる請求項１から３のいずれかに記載のプログラム。
【請求項５】
前記第１プログラムは、
前記受付処理において、シートに画像を記録するプリント動作に対応する前記オブジェクトを指定するユーザ操作を受け付け、
前記実行処理において、前記メモリに記憶された前記装置ＩＤで識別される前記画像処理装置に、前記プリント動作の実行を指示するプリント指示情報を前記通信インタフェースを通じて送信する請求項４に記載のプログラム。
【請求項６】
前記第１プログラムは、
前記受付処理において、前記スキャン動作に対応する前記オブジェクトを指定するユーザ操作を受け付け、
前記実行処理において、前記メモリに記憶された前記装置ＩＤで識別される前記画像処理装置に、前記通信インタフェースを通じて前記スキャン指示情報を送信する請求項４に記載のプログラム。
【請求項７】
前記第１プログラムは、
前記受付処理において、並行して実行される前記第２受信処理で受信した前記スキャンデータの出力を指示するユーザ操作を受け付け、
前記実行処理において、前記第２受信処理で受信した前記スキャンデータを出力する請求項１から４のいずれかに記載のプログラム。
【請求項８】
ディスプレイと、
入力インタフェースと、
通信インタフェースと、
プログラムを記憶するメモリと、
コントローラとを備える情報処理端末であって、
前記プログラムを実行する前記コントローラは、
前記プログラムに実装された処理が対応付けられたオブジェクトを含む第１画面を、前記ディスプレイに表示させる第１表示処理と、
前記第１画面に表示された前記オブジェクトを指定するユーザ操作を、前記入力インタフェースを通じて受け付ける受付処理と、
前記受付処理で指定された前記オブジェクトに対応する処理を実行する実行処理と、
原稿に記録された画像を読み取って生成するスキャンデータの受信を要求する受信要求情報を、前記通信インタフェースを通じてスキャナから受信する第１受信処理と、
前記スキャンデータを生成するスキャン動作の実行を指示するスキャン指示情報を、前記受信要求情報の応答として、前記通信インタフェースを通じて前記スキャナに送信する第１送信処理と、
前記通信インタフェースを通じて前記スキャナから前記スキャンデータを、前記スキャン指示情報の応答として受信する第２受信処理と、
前記スキャン指示情報に従って前記スキャナが実行する前記スキャン動作の進捗状況を示す第２画面を、前記ディスプレイに表示させる第２表示処理とを実行し、
前記プログラムは、
前記第１表示処理、前記受付処理、及び前記実行処理を前記コントローラに実行させる第１プログラムと、
前記第１プログラムが前記コントローラに実行させる処理と並行して、前記第２表示処理を前記情報処理端末に実行させる第２プログラムとを含む情報処理端末。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置に画像処理動作を実行させる情報処理端末のプログラムに関する。
【背景技術】
【０００２】
例えば特許文献１には、複合機と情報処理端末とでプッシュスキャンを実現する通信システムが開示されている。複合機は、ユーザの指示に従ってスキャン動作を実行し、スキャン動作で生成したスキャンデータを情報処理端末に送信する。また、情報処理端末のプログラムは、複合機からスキャンデータを受信し、受信したスキャンデータをメモリに記憶させる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１５−０６９４５７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記構成の通信システムにおいて、情報処理端末のプログラムは、複合機が実行するスキャン動作の進捗状況を示すステータス画面を、ディスプレイに表示させる機能を有する場合がある。また、当該プログラムは、ユーザから指示を受け付けるための指示受付画面を、ステータス画面とは別にディスプレイに表示させる機能を有する場合がある。
【０００５】
しかしながら、進捗状況を更新する度にステータス画面がアクティブ状態になると、指示受付画面を通じてユーザから指示を受け付けることができないという課題を生じる。このような課題は、プッシュスキャンで複合機に大量の原稿を読み取らせる場合等において、特に顕著になる。
【０００６】
本発明は、上記の事情に鑑みてなされたものであり、その目的は、スキャン動作の進捗状況の表示と、入力インタフェースを通じたユーザからの指示の受け付けとを並行して実行可能な情報処理端末のプログラムを提供することにある。
【課題を解決するための手段】
【０００７】
本明細書では様々な開示を行う。開示例の一例であるプログラムは、ディスプレイと、入力インタフェースと、通信インタフェースとを備える情報処理端末によって実行可能である。該プログラムは、該プログラムに実装された処理が対応付けられたオブジェクトを含む第１画面を、前記ディスプレイに表示させる第１表示処理と、前記第１画面に表示された前記オブジェクトを指定するユーザ操作を、前記入力インタフェースを通じて受け付ける受付処理と、前記受付処理で指定された前記オブジェクトに対応する処理を実行する実行処理と、原稿に記録された画像を読み取って生成するスキャンデータの受信を要求する受信要求情報を、前記通信インタフェースを通じてスキャナから受信する第１受信処理と、前記スキャンデータを生成するスキャン動作の実行を指示するスキャン指示情報を、前記受信要求情報の応答として、前記通信インタフェースを通じて前記スキャナに送信する第１送信処理と、前記通信インタフェースを通じて前記スキャナから前記スキャンデータを、前記スキャン指示情報の応答として受信する第２受信処理と、前記スキャン指示情報に従って前記スキャナが実行する前記スキャン動作の進捗状況を示す第２画面を、前記ディスプレイに表示させる第２表示処理とを前記情報処理端末に実行させる。該プログラムは、前記第１表示処理、前記受付処理、及び前記実行処理を前記情報処理端末に実行させる第１プログラムと、前記第１プログラムが前記情報処理端末に実行させる処理と並行して、前記第２表示処理を前記情報処理端末に実行させる第２プログラムとを含む。
【０００８】
上記構成のように、第１画面及び第２画面を別々のプログラムで表示させることによって、第２画面の進捗状況を更新しながら、第１画面を通じてユーザからの指示を受け付けることができる。その結果、例えば、プッシュスキャンで大量の原稿を読み取らせる場合でも、当該プログラムを通じてユーザに別の作業を継続させることができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、本実施形態に係るシステム１００の概略図である。
【図２】図２（Ａ）はＭＦＰ１０のブロック図であり、図２（Ｂ）は情報処理端末５０のブロック図である。
【図３】図３は、メイン処理のフローチャートである。
【図４】図４は、プッシュスキャン処理のフローチャートである。
【図５】図５は、ディスプレイ５３の表示例であって、（Ａ）はホーム画面を、（Ｂ）はデバイス選択画面を示す。
【図６】図６は、ホーム画面及び進捗画面がディスプレイ５３に同時に表示された状態を示す図である。
【発明を実施するための形態】
【００１０】
以下、適宜図面を参照して本発明の実施形態について説明する。なお、以下に説明される実施形態は本発明の一例にすぎず、本発明の要旨を変更しない範囲で、本発明の実施形態を適宜変更できることは言うまでもない。例えば、後述する各処理の実行順序は、本発明の要旨を変更しない範囲で、適宜変更することができる。
【００１１】
図１は、本実施形態に係るシステム１００の概略図である。図１に示されるシステム１００は、ＭＦＰ１０Ａ、１０Ｂ（以下、これらを総称して、「ＭＦＰ１０」と表記することがある。）と、情報処理端末５０とで構成されている。ＭＦＰ１０及び情報処理端末５０は、通信ネットワーク１０１を通じて通信可能に構成されている。通信ネットワーク１０１は、例えば、有線ＬＡＮ、無線ＬＡＮ、或いはこれらの組み合わせであってもよい。または、ＭＦＰ１０及び情報処理端末５０は、ＵＳＢケーブル等によって接続されていてもよい。
【００１２】
ＭＦＰ１０は、図２（Ａ）に示されるように、プリンタ１１と、スキャナ１２と、ディスプレイ２３と、入力Ｉ／Ｆ２４と、通信Ｉ／Ｆ２５と、ＣＰＵ３１と、メモリ３２と、通信バス３３とを主に備える。ＭＦＰ１０を構成する各構成要素は、通信バス３３を通じて相互に接続されている。ＭＦＰ１０は、画像処理装置の一例である。
【００１３】
プリンタ１１は、画像データで示される画像をシートに記録するプリント動作を実行するハードウェアである。本実施形態では、インクを吐出して画像を記録するインクジェット方式のプリンタ１１の例を説明するが、プリンタ１１の記録方式は電子写真方式等であってもよい。スキャナ１２は、原稿に記録されている画像を読み取って画像データ（以下、「スキャンデータ」と表記する。）を生成するスキャン動作を実行するハードウェアである。プリント動作及びスキャン動作は、画像処理動作の一例である。
【００１４】
なお、ＭＦＰ１０Ａ、１０Ｂは、少なくとも１つの画像処理動作を実行可能であればよい。また、ＭＦＰ１０Ａ、１０Ｂが実行可能な画像処理動作は、異なっていてもよい。すなわち、プリンタ１１及びスキャナ１２の一方は、省略されてもよい。換言すれば、ＭＦＰ１０Ａ、１０Ｂは、プリンタ単能機、或いはスキャナ単能機であってもよい。
【００１５】
さらに、画像処理動作の具体例はこれらに限定されない。画像処理動作は、例えば、ＦＡＸプロトコルに従って画像データを外部装置にＦＡＸ送信するＦＡＸ送信動作、ＦＡＸプロトコルに従って外部装置から画像データをＦＡＸ受信するＦＡＸ受信動作等であってもよい。さらに、画像処理動作は、スキャナ１２にスキャンデータを生成させ、生成されたスキャンデータで示される画像をシートに対してプリンタ１１に記録させるコピー動作を含んでもよい。
【００１６】
ディスプレイ２３は、液晶ディスプレイ、有機ＥＬディスプレイ等であり、各種情報を表示する表示画面を備える。
【００１７】
入力Ｉ／Ｆ２４は、ユーザによる入力操作を受け付けるユーザインタフェースである。具体的には、入力Ｉ／Ｆ２４はボタンを有しており、押下されたボタンに対応づけられた各種の操作信号をＣＰＵ３１へ出力する。さらに、入力Ｉ／Ｆ２４は、ディスプレイ２３の表示画面に重畳された膜状のタッチセンサを有していてもよい。ディスプレイ２３の表示画面に表示されたオブジェクトを指定する操作、文字列或いは数字列を入力する操作は、ユーザ操作の一例である。「オブジェクト」とは、例えば、ディスプレイ２３に表示された文字列、アイコン、ボタン、リンク、ラジオボタン、チェックボックス、プルダウンメニュー等である。
【００１８】
タッチセンサとして実現される入力Ｉ／Ｆ２４は、ユーザがタッチした表示画面上の位置を示す位置情報を出力する。なお、本明細書中における「タッチ」とは、入力媒体を表示画面に接触させる操作全般を含む。また、入力媒体が表示画面に触れていなくても、表示画面との間の距離がごく僅かな位置まで入力媒体を近接させる「ホバー」或いは「フローティングタッチ」を、前述の「タッチ」の概念に含めてもよい。さらに入力媒体とは、ユーザの指であってもよいし、タッチペン等であってもよい。ディスプレイ２３に表示されたオブジェクトの位置をタップするユーザ操作は、当該オブジェクトを指定するユーザ操作の一例である。
【００１９】
通信Ｉ／Ｆ２５は、通信ネットワーク１０１を通じて外部装置と通信可能なインタフェースである。すなわち、ＭＦＰ１０は、通信Ｉ／Ｆ２５を通じて外部装置に各種情報を送信し、通信Ｉ／Ｆ２５を通じて外部装置から各種情報を受信する。通信Ｉ／Ｆ２５の具体的な通信手順は特に限定されないが、例えば、Ｗｉ−Ｆｉ（登録商標）を採用することができる。また、ＭＦＰ１０及び情報処理端末５０がＵＳＢケーブルで接続される場合、通信Ｉ／Ｆ２５は、ＵＳＢケーブルを着脱可能なＵＳＢインタフェースであってもよい。
【００２０】
ＣＰＵ３１は、ＭＦＰ１０の全体動作を制御するものである。ＣＰＵ３１は、入力Ｉ／Ｆ２４から出力される各種情報、通信Ｉ／Ｆ２５を通じて外部装置から受信した各種情報等に基づいて、後述する各種プログラムをメモリ３２から取得して実行する。ＣＰＵ３１及びメモリ３２は、コントローラの一例を構成する。
【００２１】
メモリ３２は、ＯＳ３４と、装置プログラム３５とを記憶している。装置プログラム３５は、単一のプログラムであってもよいし、複数のプログラムの集合体であってもよい。また、メモリ３２は、装置プログラム３５の実行に必要なデータ或いは情報等を記憶する。メモリ３２は、例えば、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＨＤＤ、ＭＦＰ１０に着脱されるＵＳＢメモリ等の可搬記憶媒体、ＣＰＵ３１が備えるバッファ等、或いはそれらの組み合わせによって構成される。
【００２２】
メモリ３２は、コンピュータが読み取り可能なストレージ媒体であってもよい。コンピュータが読み取り可能なストレージ媒体とは、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体である。ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体には、上記の例の他に、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等の記録媒体も含まれる。また、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体は、ｔａｎｇｉｂｌｅな媒体でもある。一方、インターネット上のサーバなどからダウンロードされるプログラムを搬送する電気信号は、コンピュータが読み取り可能な媒体の一種であるコンピュータが読み取り可能な信号媒体であるが、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙなコンピュータが読み取り可能なストレージ媒体には含まれない。後述する情報処理端末５０のメモリ６２についても同様である。
【００２３】
情報処理端末５０は、図２（Ｂ）に示されるように、ディスプレイ５３と、入力Ｉ／Ｆ５４と、通信Ｉ／Ｆ５５と、ＣＰＵ６１と、メモリ６２と、通信バス６３とを主に備える。情報処理端末５０に含まれるディスプレイ５３、入力Ｉ／Ｆ５４、通信Ｉ／Ｆ５５、ＣＰＵ６１、メモリ６２、及び通信バス６３は、ＭＦＰ１０に含まれるディスプレイ２３、入力Ｉ／Ｆ２４、通信Ｉ／Ｆ２５、ＣＰＵ３１、メモリ３２、及び通信バス３３と同様の構成であるので、説明は省略する。ＣＰＵ６１及びメモリ６２は、コントローラの一例である。
【００２４】
情報処理端末５０は、例えば、携帯電話、スマートフォン、タブレット端末、或いはＰＣ等である。情報処理端末５０の入力Ｉ／Ｆ５４は、ディスプレイ５３の表示画面に重ねられたタッチセンサでもよいし、マウス及びキーボードの組み合わせでもよい。メモリ６２は、ＯＳ６４と、第１プログラムの一例であるメインプログラム６５と、第２プログラムの一例であるサブプログラム６６とを記憶している。入力Ｉ／Ｆ５４がマウスを含む場合において、ＯＳ６４は、マウスの動きに追従して表示面上を移動するポインタ画像を、ディスプレイ５３に表示させる。ディスプレイ５３に表示されたオブジェクトにポインタ画像が重ねられた状態で、マウスの左ボタンを押下するユーザ操作（すなわち、クリック操作）は、当該オブジェクトを指定するユーザ操作の一例である。
【００２５】
ＯＳ６４は、情報処理端末５０にインストールされた複数のプログラムを並行して実行することができる。複数のプログラムは、例えば、時分割多重方式によって仮想的に並行して実行される。また、ＯＳ６４は、並行して実行する複数のプログラムのうちの１つをフォアグラウンドで実行し、その他のプログラムをバックグラウンドで実行する。また、ＯＳ６４は、情報処理端末５０にインストールされた複数のプログラムそれぞれが生成した複数の画面（すなわち、ウィンドウ）を、ディスプレイ５３に同時に表示させることが可能である。すなわち、ＯＳ６４は、所謂マルチウィンドウ機能を有する。
【００２６】
情報処理端末５０にインストールされたプログラムは、自らが生成した画面をディスプレイ５３に表示させ、且つ当該画面の表示内容を更新することができる。また、フォアグラウンドで実行されるプログラムは、ディスプレイ５３に表示させた画面を通じて、ユーザ操作を受け付けることができる。一方、バックグラウンドで実行されるプログラムは、ディスプレイ５３に表示させた画面を通じて、ユーザ操作を受け付けることができない。ＯＳ６４は、例えば図６に示される複数の画面のうちの１つに対するクリック操作を入力Ｉ／Ｆ５４を通じて受け付けたことに応じて、当該画面を表示させているプログラムをフォアグラウンドで実行する。
【００２７】
また、情報処理端末５０にインストールされたプログラムは、２つの画面をディスプレイ５３に表示させることができる。より詳細には、プログラムは、第１画面と、第１画面に重ねられた第２画面とを表示させることができる。すなわち、第２画面は、第１画面に重ねられたポップアップウィンドウである。そして、フォアグランドで実行されるプログラムは、第１画面及び第２画面をディスプレイ５３に表示させた状態において、第２画面を通じてユーザ操作を受け付けることができ、第１画面を通じてユーザ操作を受け付けることができない。
【００２８】
メインプログラム６５は、通信Ｉ／Ｆ５５を通じて接続されたＭＦＰ１０に、画像処理動作を実行させるプログラムである。より詳細には、メインプログラム６５は、画像処理動作の内容（例えば、画像処理動作の種類、画像処理動作の対象となる画像データ、画像処理動作の実行条件など）を入力Ｉ／Ｆ５４を通じてユーザに指定させ、指定された内容の画像処理動作をＭＦＰ１０に実行させる。
【００２９】
また、メインプログラム６５は、ＭＦＰ１０からスキャンデータを受信したことに応じて、スキャンデータを受信したことをサブプログラム６６に通知する。一方、サブプログラム６６は、後述するプッシュスキャン情報をＭＦＰ１０から受信したことに応じて、プッシュスキャン処理の実行をメインプログラム６５に通知する。また、サブプログラム６６は、スキャンデータの受信をメインプログラム６５から通知されたことに応じて、図６に示される進捗画面をディスプレイ５３に表示させる。
【００３０】
また図示は省略するが、メモリ６２は、指定装置ＩＤを記憶することができる。指定装置ＩＤは、後述するデバイス選択処理で指定されたＭＦＰ１０（以下、「指定装置」と表記する。）のＭＩＢに記憶された装置ＩＤである。
【００３１】
さらに図示は省略するが、メモリ６２には、データフォルダが設けられていてもよい。データフォルダには、例えば、写真データ、文書データ、プレゼンテーションデータ、表計算データ等が格納されていてもよい。データフォルダに記憶されている各種データは、プリント動作の対象となり得るデータである。
【００３２】
［システム１００の動作］
図３及び図４を参照して、本実施形態に係るシステム１００の動作を説明する。なお、図３のメイン処理を開始する時点において、メモリ６２には、指定装置ＩＤが記憶されていないものとする。
【００３３】
本明細書のフローチャートは、基本的に、プログラムに記述された命令に従ったＣＰＵ３１、６１の処理を示す。すなわち、以下の説明における「判断」、「抽出」、「選択」、「算出」、「決定」、「特定」、「制御」等の処理は、ＣＰＵ３１、６１の処理を表している。ＣＰＵ３１、６１による処理は、ＯＳ３４、６４を介したハードウェア制御も含む。また、本明細書中の「データ」とは、コンピュータに読取可能なビット列で表される。そして、実質的な意味内容が同じでフォーマットが異なるデータは、同一のデータとして扱われるものとする。本明細書中の「情報」についても同様である。
【００３４】
まず、メインプログラム６５は、図５（Ａ）に示されるホーム画面をディスプレイ５３の一部の領域に表示させる（Ｓ１１）。ホーム画面は、メインプログラム６５に実装された処理（例えば、プリント指示処理、スキャン指示処理、指定装置を切り替える処理など）の実行指示を、ユーザから受け付けるための第１画面の一例である。そして、メインプログラム６５は、ホーム画面に対するユーザ操作を、入力Ｉ／Ｆ５４を通じて受け付ける（Ｓ１２〜Ｓ１４）。Ｓ１１の処理は第１表示処理の一例であり、Ｓ１２〜Ｓ１４の処理は受付処理の一例である。
【００３５】
ホーム画面は、プリントアイコン１１１と、スキャンアイコン１１２と、切替アイコン１１３とを含む。プリントアイコン１１１はプリント指示処理に対応し、スキャンアイコン１１２はスキャン指示処理に対応し、切替アイコン１１３は指定装置を切り替える処理に対応する。また、メモリ６２に指定装置ＩＤが記憶されていない場合、切替アイコン１１３には、指定装置が指定されていないことを示す文字列「未選択」が記述される。
【００３６】
次に、メインプログラム６５は、例えば、切替アイコン１１３の指定を入力Ｉ／Ｆ５４を通じて受け付けたことに応じて（Ｓ１２：Ｙｅｓ）、例えば、ＳＮＭＰ（Simple Network Management Protocolの略）を用いて、通信Ｉ／Ｆ５５を通じて通信が可能な複数のＭＦＰ１０を検索する（Ｓ１５）。具体的には、メインプログラム６５は、通信Ｉ／Ｆ５５を通じて通信ネットワーク１０１に送信要求情報をブロードキャストする。次に、メインプログラム６５は、送信要求情報の応答としてＭＦＰ１０Ａ、１０Ｂが送信した装置ＩＤを、通信Ｉ／Ｆ５５を通じて受信する。
【００３７】
すなわち、メインプログラム６５は、装置ＩＤの送信元のＭＦＰ１０Ａ、１０Ｂを、通信可能なＭＦＰ１０として特定する。装置ＩＤは、通信ネットワーク１０１上でＭＦＰ１０Ａ、１０Ｂを一意に識別するための情報であって、例えば、ＭＦＰ１０Ａ、１０Ｂの通信Ｉ／Ｆ２５に割り当てられたＭＡＣアドレス等であってもよい。なお、通信可能なＭＦＰ１０を検索する方法は、周知の他の方法であってもよい。Ｓ１５の処理は、実行処理の一例である。
【００３８】
次に、メインプログラム６５は、図５（Ｂ）に示されるデバイス選択画面をディスプレイ５３に表示させる（Ｓ１６）。デバイス選択画面は、Ｓ１５で発見したＭＦＰ１０Ａ、１０Ｂに対応するデバイスアイコン１２１、１２２を含む第１画面の一例である。そして、メインプログラム６５は、デバイス選択画面に対するユーザ操作を、入力Ｉ／Ｆ５４を通じて受け付ける（Ｓ１７）。Ｓ１６の処理は第１表示処理の一例であり、Ｓ１７の処理は受付処理の一例である。
【００３９】
次に、メインプログラム６５は、例えば、デバイスアイコン１２１の指定を入力Ｉ／Ｆ５４を通じて受け付けたことに応じて（Ｓ１７：Ｙｅｓ）、デバイスアイコン１２１に対応するＭＦＰ１０Ａを指定装置に決定する。そして、メインプログラム６５は、ＭＦＰ１０Ａから受信した装置ＩＤを、指定装置ＩＤとしてメモリ６２に記憶させる（Ｓ１８）。なお、メモリ６２に既に指定装置ＩＤが記憶されている場合、メインプログラム６５は、当該指定装置ＩＤを新たな指定装置ＩＤで上書きする。Ｓ１８の処理は、実行処理の一例である。
【００４０】
次に図３に戻って、メインプログラム６５は、図６に示されるホーム画面を、ディスプレイ５３の一部に表示させる（Ｓ１１）。図６に示されるホーム画面は、指定装置を示す文字列「ＭＦＰ−Ａ」が切替アイコン１１３記述されている点において、図５（Ａ）に示されるホーム画面と相違する。
【００４１】
次に、メインプログラム６５は、例えば、図６に示されるプリントアイコン１１１の指定を入力Ｉ／Ｆ５４を通じて受け付けたことに応じて（Ｓ１３：Ｙｅｓ）、プリント指示処理を実行する（Ｓ１９）。フローチャートの図示は省略するが、プリント指示処理は、指定装置にプリント動作の実行を指示するための処理である。Ｓ１９の処理は、実行処理の一例である。
【００４２】
まず、メインプログラム６５は、プリント動作の対象となる指定データ、及びプリント動作の実行条件（例えば、シートサイズ、色数など）を指定するユーザ操作を、入力Ｉ／Ｆ５４を通じて受け付ける。次に、メインプログラム６５は、指定装置であるＭＦＰ１０Ａに通信Ｉ／Ｆ５５を通じてプリント指示情報を送信する。プリント指示情報は、ユーザが指定した指定データを対象とするプリント動作を、ユーザが指定した実行条件に従って実行することを指示する情報である。
【００４３】
一方図示は省略するが、ＭＦＰ１０Ａの装置プログラム３５は、通信Ｉ／Ｆ２５を通じて情報処理端末５０からプリント指示情報を受信する。そして、装置プログラム３５は、受信したプリント指示情報に従って、プリンタ１１にプリント動作を実行させる。すなわち、プリンタ１１は、プリント指示情報に含まれる指定データで示される画像を、プリント指示情報で示される実行条件に従ってシートに記録する。
【００４４】
また、メインプログラム６５は、例えば、図６に示されるスキャンアイコン１１２の指定を入力Ｉ／Ｆ５４を通じて受け付けたことに応じて（Ｓ１４：Ｙｅｓ）、スキャン指示処理を実行する（Ｓ２０）。フローチャートの図示は省略するが、スキャン指示処理は、指定装置にスキャン動作の実行を指示するための処理である。Ｓ２０の処理は、実行処理の一例である。
【００４５】
まず、メインプログラム６５は、スキャン動作の実行条件（例えば、読取解像度、スキャンデータの保存先など）を指定するユーザ操作を、入力Ｉ／Ｆ５４を通じて受け付ける。次に、メインプログラム６５は、指定装置であるＭＦＰ１０Ａに通信Ｉ／Ｆ５５を通じてスキャン指示情報を送信する。スキャン指示情報は、ユーザが指定した実行条件に従ってスキャン動作を実行し、ユーザが指定した保存先にスキャンデータを保存することを指示する情報である。
【００４６】
一方図示は省略するが、ＭＦＰ１０Ａの装置プログラム３５は、通信Ｉ／Ｆ２５を通じて情報処理端末５０からスキャン指示情報を受信する。そして、装置プログラム３５は、受信したスキャン指示情報に従ったスキャン動作を、スキャナ１２に実行させる。すなわち、スキャナ１２は、不図示のＡＤＦ或いはコンタクトガラスにセットされた原稿に記録された画像を、スキャン指示情報に示される読取解像度で読み取ってスキャンデータを生成する。そして、装置プログラム３５は、スキャナ１２が生成したスキャンデータを、スキャン指示情報に示される保存先（例えば、不図示のＵＳＢメモリ、情報処理端末５０、不図示のサーバ）に保存する。
【００４７】
なお、ＡＤＦに複数ページの原稿がセットされている場合、装置プログラム３５は、１ページの原稿に記録された画像を示すスキャンデータをスキャナ１２に生成させ、且つ当該スキャンデータを保存先に保存する処理を、ＡＤＦにセットされた原稿の数（以下、「ページ数」と表記する。）だけ繰り返し実行してもよい。すなわち、スキャナ１２は、ＡＤＦにセットされたページ数に相当する数のスキャンデータを生成する。換言すれば、スキャンデータは、１ページの原稿に記録された画像を示す。
【００４８】
また、メインプログラム６５は、図３に示されるメイン処理と並行して、図４に示されるプッシュスキャン処理を、サブプログラム６６と連携して実行することができる。まず、ＯＳ６４は、プッシュスキャン処理の実行を要求するプッシュスキャン情報を、ＭＦＰ１０から通信Ｉ／Ｆ５５を通じて受信するまで、Ｓ３３以降の処理の実行を待機する。プッシュスキャン処理とは、例えば、入力Ｉ／Ｆ２４を通じたユーザの指示をトリガとして、ＭＦＰ１０が情報処理端末５０にスキャン指示情報の送信を要求し、受信したスキャン指示情報に従って生成したスキャンデータを情報処理端末５０に送信する処理である。
【００４９】
例えば、ＭＦＰ１０Ｂの装置プログラム３５は、プッシュスキャン処理の実行を指示するユーザ操作を入力Ｉ／Ｆ２４を通じて受け付けたことに応じて（Ｓ３１）、通信Ｉ／Ｆ２５を通じて情報処理端末５０にプッシュスキャン情報を送信する（Ｓ３２）。プッシュスキャン情報は、スキャン動作で生成したスキャンデータの受信を要求する受信要求情報の一例である。換言すれば、プッシュスキャン情報は、スキャンデータの保存先を情報処理端末５０とするスキャン指示情報の送信を要求する情報である。プッシュスキャン情報は、例えば、ＭＦＰ１０Ｂの装置ＩＤを含む。
【００５０】
次に、情報処理端末５０のＯＳ６４は、通信Ｉ／Ｆ５５を通じてＭＦＰ１０Ｂからプッシュスキャン情報を受信する（Ｓ３２）。そして、ＯＳ６４は、プッシュスキャン情報を受信したことに応じて、サブプログラム６６の新たなプロセス（以下、「新規プロセス」と表記する。）を生成し、Ｓ３２で受信したプッシュスキャン情報を新規プロセスに通知する（Ｓ３３）。すなわち、ＯＳ６４は、プッシュスキャン情報を受信する度に、サブプログラム６６の新規プロセスを生成する。ＯＳ６４及びサブプログラム６６の新規プロセスが実行するＳ３２、Ｓ３３の処理は、第１受信処理の一例である。
【００５１】
プロセスとは、情報処理端末５０のＣＰＵ６１が実行するサブプログラム６６の実体（所謂、インスタンス）を指す。すなわち、ＯＳ６４は、メモリ６２に記憶されたサブプログラム６６の実行ファイルを実行することによって、新規プロセスを生成することができる。また、ＯＳ６４によって生成された複数のプロセスは、サブプログラム６６に実装された処理を、各々が独立して実行することができる。
【００５２】
次に、Ｓ３３で生成された新規プロセスは、プッシュスキャン処理の実行をメインプログラム６５に通知する（Ｓ３４）。より詳細には、新規プロセスは、ＯＳ６４から取得したプッシュスキャン情報に含まれる装置ＩＤで識別されるＭＦＰ１０Ｂに、スキャン指示情報を送信することをメインプログラム６５に通知する。この処理は、周知のプロセス間通信によって実現できる。後述するＳ３５、Ｓ４０についても同様である。サブプログラム６６の新規プロセスが実行するＳ３４の処理は、第１通知処理の一例である。
【００５３】
また図示は省略するが、Ｓ３３で生成された新規プロセスは、Ｓ３４の処理を実行した後に、サブプログラム６６の他のプロセスが既に起動されているか否かを判断してもよい。そして、新規プロセスは、サブプログラム６６の他のプロセスが既に起動されていると判断したことに応じて、処理を終了してもよい。一方、新規プロセスは、サブプログラム６６の他のプロセスが起動されていないと判断したことに応じて、メインプログラム６５から後述する通知を取得するまで待機する。すなわち、Ｓ３３〜Ｓ３４の間を除くと、サブプログラム６６のプロセスは、情報処理端末５０上で１つだけ起動されている。以下、情報処理端末５０上で起動されているサブプログラム６６のプロセスを、単に「サブプログラム６６」と表記する。
【００５４】
次に、メインプログラム６５は、プッシュスキャン処理の実行をサブプログラム６６から通知されたことに応じて（Ｓ３４）、プッシュスキャン処理の進捗状況をサブプログラム６６に通知する（Ｓ３５）。本実施形態に係る「進捗状況」は、例えば、プッシュスキャン処理によってＭＦＰ１０Ｂから受信したスキャンデータの数（すなわち、ページ数）を示す。すなわち、Ｓ３５でサブプログラム６６に通知される進捗状況は、「０ページ目が完了」したことを示す。メインプログラム６５が実行するＳ３５の処理は、第２通知処理の一例である。
【００５５】
次に、サブプログラム６６は、メインプログラム６５から進捗状況が通知されたことに応じて（Ｓ３５）、図６に示される進捗画面をディスプレイ５３の一部に表示させる（Ｓ３６）。進捗画面は、「１ページ目スキャン中」とのメッセージと、プログレスバー１３０とを含む第２画面の一例である。サブプログラム６６は、次の進捗状況が通知されるまでの間に、プログレスバー１３０を徐々に変化させる。すなわち、サブプログラム６６は、進捗画面を繰り返し更新する。サブプログラム６６が実行するＳ３６の処理は、第２表示処理の一例である。
【００５６】
また、メインプログラム６５は、プッシュスキャン情報の送信元であるＭＦＰ１０Ｂに、スキャンデータの保存先を情報処理端末５０とするスキャン指示情報を、通信Ｉ／Ｆ５５を通じて送信する（Ｓ３７）。なお、Ｓ３５、Ｓ３７の処理の実行順序は、図４の例に限定されず、逆順であってもよい。また、メインプログラム６５は、スキャン指示情報に従ってＭＦＰ１０Ｂが生成したスキャンデータ（すなわち、１ページ目のスキャンデータ）を、スキャン指示情報の応答として、通信Ｉ／Ｆ５５を通じてＭＦＰ１０Ｂから受信する（Ｓ３８）。Ｓ３７の処理は第１送信処理の一例であり、Ｓ３８の処理は第２受信処理の一例である。
【００５７】
次に、メインプログラム６５は、Ｓ３８で受信したスキャンデータをメモリ６２に記憶させる（Ｓ３９）。また、メインプログラム６５は、「１ページ目が完了」を示す進捗状況を、サブプログラム６６に通知する（Ｓ４０）。また、サブプログラム６６は、メインプログラム６５から進捗状況が通知されたことに応じて（Ｓ４０）、ディスプレイ５３に表示させた進捗画面のメッセージを、「２ページ目スキャン中」に更新する（Ｓ４１）。Ｓ４０、Ｓ４１の処理は、通知される進捗状況の内容及び進捗画面の内容がＳ３５、Ｓ３６の処理と相違し、その他の点がＳ３５、Ｓ３６と共通する。
【００５８】
メインプログラム６５及びサブプログラム６６は、ＭＦＰ１０Ｂから全てのスキャンデータを受信するまで（Ｓ４２：Ｎｏ）、Ｓ３８〜Ｓ４２の処理を繰り返し実行する。なお、繰り返し通知される進捗状況は、「Ｎページ目が完了」のＮが１ずつインクリメントされる。また、繰り返し更新される進捗画面のメッセージは、「（Ｎ＋１）ページ目スキャン中」のＮが１ずつインクリメントされる。
【００５９】
そして、メインプログラム６５及びサブプログラム６６は、ＭＦＰ１０Ｂから最後のスキャンデータを受信したことに応じて（Ｓ４２：Ｙｅｓ）、図４に示されるプッシュスキャン処理を終了する。より詳細には、メインプログラム６５は、第１値“ＯＦＦ”が設定された最終フラグを含むスキャンデータを受信したことに応じて（Ｓ４２：Ｎｏ）、次のスキャンデータを受信するまで待機する。一方、メインプログラム６５は、第２値“ＯＮ”が設定された最終フラグを含むスキャンデータを受信したことに応じて（Ｓ４２：Ｙｅｓ）、サブプログラム６６に処理の終了を通知すると共に、自らの処理を終了する。また、サブプログラム６６は、メインプログラム６５から処理の終了が通知されたことに応じて、進捗画面の表示を終了する。
【００６０】
［本実施形態の作用効果］
メインプログラム６５がホーム画面及び進捗画面の両方を表示させるとすると、プッシュスキャン処理の実行中にホーム画面を通じてユーザ操作を受け付けることができない。そこで上記の実施形態のように、ホーム画面及び進捗画面を別々のプログラムで表示させることによって、進捗画面の進捗状況をサブプログラム６６が更新しながら、ホーム画面を通じてユーザからの指示をメインプログラム６５受け付けることができる。
【００６１】
すなわち、フォアグラウンドで実行されるメインプログラム６５は、プッシュスキャン処理の実行中において、プリントアイコン１１１、スキャンアイコン１１２、及び切替アイコン１１３の指定を入力Ｉ／Ｆ５４を通じて受け付けたことに応じて（Ｓ１２：Ｙｅｓ／Ｓ１３：Ｙｅｓ／Ｓ１４：Ｙｅｓ／Ｓ１７：Ｙｅｓ）、指定されたアイコンに対応する処理を実行することができる。また、バックグラウンドで実行されるサブプログラム６６は、メインプログラム６５が進捗状況が通知される度に、進捗画面を更新することができる。これにより、プッシュスキャン処理で大量の原稿を読み取らせる場合でも、ホーム画面を通じてユーザに別の作業を継続させることができる。
【００６２】
なお、指定装置は、プッシュキャン情報の送信元のＭＦＰ１０Ｂと同一でもよいし、異なっていてもよい。すなわち、メインプログラム６５は、プッシュスキャン処理の実行中において、プッシュスキャン情報の送信元のＭＦＰ１０Ｂに画像形成動作を実行させることもできるし、プッシュスキャン情報の送信元のＭＦＰ１０Ｂと異なるＭＦＰ１０Ａに画像形成動作を実行させることもできる。
【００６３】
また、メインプログラム６５は、プッシュスキャン処理の実行中において、Ｓ３９でメモリ６２に記憶させたスキャンデータの出力（例えば、プリント）を指示する画像処理動作を、入力Ｉ／Ｆ５４を通じて受け付けてもよい。すなわち、メインプログラム６５は、Ｓ３９でメモリ６２に記憶させたスキャンデータの出力を、プッシュスキャン処理と並行して実行することができる。
【００６４】
また、上記の実施形態によれば、ページ毎のスキャンデータを受信する度に進捗画面の進捗状況が更新される。すなわち、スキャナ１２にセットされた原稿のページ数が多いほど、進捗画面の更新頻度が高くなる。しかしながら、メインプログラム６５は、サブプログラム６６が進捗画面を更新するのと並行して、ホーム画面を通じてユーザの指示を受け付けることができる。
【００６５】
なお、上記の実施形態によれば、ＯＳ６４がプッシュスキャン情報を受信する度に、サブプログラム６６の新規プロセスが生成される。すなわち、メインプログラム６５は、複数のＭＦＰ１０Ａ、１０Ｂとの間でプッシュスキャン処理を並行して実行することができる。この場合において、並行して実行する複数のプッシュスキャン処理それぞれに対応する複数の進捗画面は、サブプログラム６６の１つのプロセスによって表示される。しかしながら、Ｓ３４の実行後にサブプログラム６６のプロセスを終了せずに、サブプログラム６６の複数のプロセスを情報処理端末５０上に存在させてもよい。そして、サブプログラム６６の複数のプロセスは、各々が独立してＳ３４〜Ｓ３６、Ｓ４０〜Ｓ４１の処理を実行してもよい。
【００６６】
また、メインプログラム６５及びサブプログラム６６の役割分担は、上記の実施形態の例に限定されない。メインプログラム６５は、少なくとも図３に示されるメイン処理を実行すればよい。また、サブプログラム６６は、少なくとも図４に示されるＳ３６、Ｓ４１の処理を実行すればよい。その他の処理については、メインプログラム６５、サブプログラム６６、及び不図示の他のプログラムによって、適宜分担されればよい。
【００６７】
また、上記の実施形態のＭＦＰ１０及び情報処理端末５０において、メモリ３２、６２に記憶された各種プログラムがＣＰＵ３１、６１によって実行されることによって、本発明のコントローラが実行する各処理が実現される例を説明した。しかしながら、コントローラの構成はこれに限定されず、その一部又は全部を集積回路等のハードウェアで実現してもよい。
【００６８】
さらに、本発明は、ＭＦＰ１０及び情報処理端末５０として実現できるだけでなく、ＭＦＰ１０及び情報処理端末５０に処理を実行させるプログラムとして実現してもよい。そして、当該プログラムは、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな記録媒体に記録されて提供されてもよい。ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな記録媒体は、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等の他、通信ネットワーク１０１を通じてＭＦＰ１０及び情報処理端末５０に接続可能なサーバに搭載された記憶部を含んでもよい。そして、サーバの記憶部に記憶されたプログラムは、当該プログラムを示す情報或いは信号として、インターネット等の通信ネットワーク１０１を通じて配信されてもよい。
【符号の説明】
【００６９】
１０・・・ＭＦＰ
１１・・・プリンタ
１２・・・スキャナ
２３，５３・・・ディスプレイ
２４，５４・・・入力Ｉ／Ｆ
２５，５５・・・通信Ｉ／Ｆ
３１，６１・・・ＣＰＵ
３２，６２・・・メモリ
３５・・・装置プログラム
５０・・・情報処理端末
６５・・・メインプログラム
６６・・・サブプログラム
【図１】
2018164217.tif 000003
【図２】
2018164217.tif 000004
【図３】
2018164217.tif 000005
【図４】
2018164217.tif 000006
【図５】
2018164217.tif 000007
【図６】
2018164217.tif 000008