(57)【要約】【課題】スキャナを用いたワークフローを実行する情報処理端末のプログラムにおいて、ワークフロー実行時におけるスキャナのユーザの作業負担を軽減可能な技術を提供する。【解決手段】端末プログラムは、ワークフロー要求情報をスキャナから取得する第１取得処理（Ｓ１１：ジョブ要求＆Ｓ１２：０００）と、各々が異なる状況を示す複数の状況情報のうち、ワークフロー要求情報に基づいて特定される対象状況情報を取得する第２取得処理（Ｓ１３）と、複数のワークフロー定義情報のうち、対象状況情報が対応付けられた対象ワークフロー定義情報を読み出す読出処理（Ｓ１４）と、読み出した対象ワークフロー定義情報に定義された複数のジョブを順番に実行するワークフロー実行処理（Ｓ１８、Ｓ１９、Ｓ２２）をコンピュータに実行させる。【選択図】図５
2019004303.tif 000002
【特許請求の範囲】
【請求項１】
スキャナと、通信インタフェースと、メモリとに接続されたコンピュータによって実行可能なプログラムであって、
該プログラムは、ワークフロー要求情報を前記スキャナから取得する第１取得処理を前記コンピュータに実行させ、前記ワークフロー要求情報は、ワークフローの開始を要求する入力操作を前記スキャナが備えるユーザインタフェースが受け付けたことを示す情報であり、前記ワークフローは、原稿を読み取ってスキャンデータを生成するスキャン動作を前記スキャナに実行させるジョブと、前記スキャナから取得した前記スキャンデータを出力装置に出力させるために、前記通信インタフェースを通じて前記出力装置に前記スキャンデータを送信するジョブとを少なくとも含み、
該プログラムは、
各々が異なる状況を示す複数の状況情報のうち、前記第１取得処理で取得した前記ワークフロー要求情報に基づいて特定される対象状況情報を取得する第２取得処理と、
各々に前記複数の状況情報の少なくとも１つが対応付けられて前記メモリに記憶された複数のワークフロー定義情報のうち、前記第２取得処理で取得した前記対象状況情報が対応付けられた対象ワークフロー定義情報を読み出す読出処理とを前記コンピュータに実行させ、前記複数のワークフロー定義情報それぞれは、前記ワークフローに含まれる複数の前記ジョブそれぞれの内容を定義した情報であり、
該プログラムは、前記読出処理で読み出した前記対象ワークフロー定義情報に定義された前記複数のジョブを順番に実行するワークフロー実行処理を前記コンピュータに実行させるプログラム。
【請求項２】
該プログラムは、
前記第１取得処理において、前記通信インタフェースを通じて前記スキャナから前記ワークフロー要求情報を受信し、
前記ワークフロー実行処理において、
前記スキャン動作の実行を指示するスキャン指示情報を、前記通信インタフェースを通じて前記スキャナに送信するスキャン指示処理と、
前記スキャン指示情報に従った前記スキャン動作で生成された前記スキャンデータを、前記スキャン指示情報の応答として、前記通信インタフェースを通じて前記スキャナから受信する第１受信処理と、
前記第１受信処理で受信した前記スキャンデータの出力を指示する出力指示情報を、前記通信インタフェースを通じて前記出力装置に送信する出力指示処理とを前記コンピュータに実行させる請求項１に記載のプログラム。
【請求項３】
該プログラムは、前記スキャン指示処理において、前記対象ワークフロー定義情報で定義された前記ワークフローの内容を示すガイドメッセージを、前記スキャナが備えるディスプレイに表示することを指示する表示指示情報を、前記通信インタフェースを通じて前記スキャナにさらに送信する請求項２に記載のプログラム。
【請求項４】
該プログラムは、前記ワークフロー実行処理において、
前記第１受信処理で受信した前記スキャンデータの特徴を抽出する抽出処理と、
前記抽出処理で抽出した特徴と前記対象ワークフロー定義情報に定義された特徴とが一致するか否かを判断する第１判断処理と、
前記第１判断処理で一致すると判断したことに応じて、前記出力指示処理とを前記コンピュータに実行させ、
前記第１判断処理で一致しないと判断したことに応じて、前記スキャン動作の再実行を指示する再スキャン指示情報を、前記通信インタフェースを通じて前記スキャナに送信する再スキャン指示処理を前記コンピュータに実行させる請求項２又は３に記載のプログラム。
【請求項５】
該プログラムは、前記再スキャン指示処理において、前記第１判断処理で一致しないと判断した特徴を示すガイドメッセージを、前記スキャナが備えるディスプレイに表示させることを指示する表示指示情報を、前記通信インタフェースを通じて前記スキャナにさらに送信する請求項４に記載のプログラム。
【請求項６】
該プログラムは、前記ワークフロー実行処理において、
前記出力指示情報に含まれる前記スキャンデータを前記出力装置が処理した結果を示す処理結果データを、前記出力指示情報の応答として、前記出力装置から受信する第２受信処理と、
前記第２受信処理で受信した前記処理結果データを対象とするプリント動作の実行を指示するプリント指示情報を、前記スキャナに対応付けられたプリンタに、前記通信インタフェースを通じて送信するプリント指示処理とを前記コンピュータに実行させ、前記プリント動作は、対象となるデータで示される画像をシートに記録する動作である請求項２から５のいずれかに記載のプログラム。
【請求項７】
該プログラムは、前記プリント指示処理において、前記プリント動作で画像を記録したシートの取り扱い方を示すガイドメッセージを、前記プリンタが備えるディスプレイに表示することを指示する表示指示情報を、前記通信インタフェースを通じて前記プリンタにさらに送信する請求項６に記載のプログラム。
【請求項８】
スキャナと、通信インタフェースと、メモリとに接続されたコンピュータによって実行可能なプログラムであって、
該プログラムは、ワークフロー要求情報を前記スキャナから取得する第１取得処理を前記コンピュータに実行させ、前記ワークフロー要求情報は、ワークフローの開始を要求する入力操作を前記スキャナが備えるユーザインタフェースが受け付けたことを示す情報であり、前記ワークフローは、前記スキャナが原稿を読み取って生成したスキャンデータを取得するジョブと、前記スキャナから取得した前記スキャンデータを対象とする複数のデータ処理のうちの少なくとも１つをサーバに実行させるために、前記通信インタフェースを通じて前記サーバに前記スキャンデータを送信するジョブとを少なくとも含み、
該プログラムは、
各々が異なる状況を示す複数の状況情報のうち、前記第１取得処理で取得した前記ワークフロー要求情報に基づいて特定される対象状況情報を取得する第２取得処理と、
各々に前記複数の状況情報の少なくとも１つが対応付けられて前記メモリに記憶された複数のワークフロー定義情報のうち、前記第２取得処理で取得した前記対象状況情報が対応付けられた対象ワークフロー定義情報を読み出す読出処理とを前記コンピュータに実行させ、前記複数のワークフロー定義情報それぞれは、前記ワークフローに含まれる複数の前記ジョブそれぞれの内容を定義した情報であり、
該プログラムは、前記読出処理で読み出した前記対象ワークフロー定義情報に定義された前記複数のジョブを順番に実行するワークフロー実行処理を前記コンピュータに実行させるプログラム。
【請求項９】
該プログラムは、前記ワークフロー実行処理において、
前記スキャナから前記スキャンデータを取得し、
各々が前記複数のデータ処理のうちの１つに対応する複数のヘッダ情報のうち、前記読出処理で読み出した前記対象ワークフロー定義情報で示される対象ヘッダ情報を、取得した前記スキャンデータに付加し、
前記対象ヘッダ情報を付加した前記スキャンデータを、前記通信インタフェースを通じて前記サーバに送信する請求項８に記載のプログラム。
【請求項１０】
該プログラムは、前記ワークフロー実行処理において、
前記スキャナから前記スキャンデータを取得し、
各々が前記複数のデータ処理のうちの１つを実行する複数の前記サーバのうち、前記読出処理で読み出した前記対象ワークフロー定義情報で示される対象サーバに、前記通信インタフェースを通じて前記スキャンデータを送信する請求項９に記載のプログラム。
【請求項１１】
該プログラムは、前記読出処理において、前記状況情報である時間情報が各々に対応付けられた前記複数のワークフロー定義情報のうち、前記ワークフロー要求情報の受信時刻を含む前記時間情報に対応付けられた前記対象ワークフロー定義情報を前記メモリから読み出す請求項１から１０のいずれかに記載のプログラム。
【請求項１２】
該プログラムは、前記読出処理において、前記状況情報である装置ＩＤが各々に対応付けられた前記複数のワークフロー定義情報のうち、前記ワークフロー要求情報に含まれる前記装置ＩＤに対応付けられた前記対象ワークフロー定義情報を前記メモリから読み出し、前記ワークフロー要求情報に含まれる前記装置ＩＤは、前記ワークフロー要求情報の送信元の前記スキャナを識別する請求項１から１１のいずれかに記載のプログラム。
【請求項１３】
該プログラムは、前記読出処理において、前記状況情報であるユーザＩＤが各々に対応付けられた前記複数のワークフロー定義情報のうち、前記ワークフロー要求情報に含まれる前記ユーザＩＤに対応付けられた前記対象ワークフロー定義情報を前記メモリから読み出し、前記ワークフロー要求情報に含まれる前記ユーザＩＤは、前記ワークフロー要求情報の送信元の前記スキャナを操作するユーザを識別する請求項１から１２のいずれかに記載のプログラム。
【請求項１４】
該プログラムは、
前記読出処理で複数の前記対象ワークフロー定義情報を読み出したことに応じて、読み出した前記複数の対象ワークフロー定義情報の１つを選択することを指示する選択指示情報を、前記スキャナに指示する選択指示処理と、
前記複数の対象ワークフロー定義情報のうちから前記スキャナのユーザが選択した前記対象ワークフロー定義情報を識別するワークフローＩＤを、前記選択指示情報の応答として、前記スキャナから取得する第３取得処理とを前記コンピュータに実行させ、
前記ワークフロー実行処理において、前記第３取得処理で取得した前記ワークフローＩＤで識別される前記対象ワークフロー定義情報に定義された前記複数のジョブを順番に実行する請求項１から１３のいずれかに記載のプログラム。
【請求項１５】
前記複数のワークフロー定義情報それぞれには、当該ワークフロー定義情報で定義された前記ワークフローの内容を示す第１ガイドメッセージが対応付けられており、
該プログラムは、前記ワークフロー実行処理において、前記対象ワークフロー定義情報に対応付けられた前記第１ガイドメッセージを、前記スキャナが備えるディスプレイに表示させる表示指示処理を、前記スキャナに前記スキャンデータを生成させる前に前記コンピュータに実行させる請求項１から１４のいずれかに記載のプログラム。
【請求項１６】
前記複数のワークフロー定義情報それぞれには、当該ワークフロー定義情報で定義された前記ワークフローの結果を示す第２ガイドメッセージが対応付けられており、
該プログラムは、前記ワークフロー実行処理において、前記対象ワークフロー定義情報に対応付けられた前記第２ガイドメッセージを、前記スキャナが備えるディスプレイに表示させる表示指示処理を、前記スキャンデータを送信した後に前記コンピュータに実行させる請求項１から１５のいずれかに記載のプログラム。
【請求項１７】
該プログラムは、時間情報及び前記時間情報で示される時間に実行可能な前記ワークフローを示すメッセージを含む表示指示情報を、前記通信インタフェースを通じて前記スキャナに送信する表示指示処理を、前記第１取得処理に先立って前記コンピュータに実行させ、前記表示指示情報は、前記スキャナが備えるディスプレイに前記メッセージを表示させる指示である請求項１から１６のいずれかに記載のプログラム。
【請求項１８】
該プログラムは、前記第１取得処理において、前記スキャナに原稿がセットされたことに応じて、前記ワークフロー要求情報を取得する請求項１から１７のいずれかに記載のプログラム。
【請求項１９】
該プログラムは、前記第１取得処理において、外部電源から前記スキャナへの電力の供給が開始されたことに応じて、或いは前記スキャナが休眠状態から駆動状態に切り替えられたことに応じて、前記ワークフロー要求情報を取得し、前記休眠状態は前記スキャナに電力が供給されていない状態であり、前記駆動状態は前記スキャナにに電力が供給されている状態である請求項１から１７のいずれかに記載のプログラム。
【請求項２０】
通信インタフェースと、メモリと、コントローラとを備える情報処理端末であって、
前記コントローラは、通信インタフェースを通じてスキャナからワークフロー要求情報を受信する第１受信処理を実行し、前記ワークフロー要求情報は、ワークフローの開始を要求する入力操作を前記スキャナが備えるユーザインタフェースが受け付けたことを示す情報であり、前記ワークフローは、原稿を読み取ってスキャンデータを生成するスキャン動作を前記スキャナに実行させるジョブと、前記スキャナから取得した前記スキャンデータを出力装置に出力させるために、前記通信インタフェースを通じて前記出力装置に前記スキャンデータを送信するジョブとを少なくとも含み、
前記コントローラは、
各々が異なる状況を示す複数の状況情報のうち、前記第１受信処理で受信した前記ワークフロー要求情報に基づいて特定される対象状況情報を取得する取得処理と、
各々に前記複数の状況情報の少なくとも１つが対応付けられて前記メモリに記憶された複数のワークフロー定義情報のうち、前記取得処理で取得した前記対象状況情報が対応付けられた対象ワークフロー定義情報を読み出す読出処理とを実行し、前記複数のワークフロー定義情報それぞれは、前記ワークフローに含まれる複数の前記ジョブそれぞれの内容を定義した情報であり、
前記コントローラは、前記読出処理で読み出した前記対象ワークフロー定義情報に定義された前記複数のジョブを順番に実行するワークフロー実行処理を実行する情報処理端末。
【請求項２１】
通信インタフェースと、メモリと、コントローラとを備える情報処理端末であって、
前記コントローラは、通信インタフェースを通じてスキャナからワークフロー要求情報を受信する第１受信処理を実行し、前記ワークフロー要求情報は、ワークフローの開始を要求する入力操作を前記スキャナが備えるユーザインタフェースが受け付けたことを示す情報であり、前記ワークフローは、前記スキャナが原稿を読み取って生成したスキャンデータを取得するジョブと、前記スキャナから取得した前記スキャンデータを対象とする複数のデータ処理のうちの少なくとも１つをサーバに実行させるために、前記通信インタフェースを通じて前記サーバに前記スキャンデータを送信するジョブとを少なくとも含み、
前記コントローラは、
各々が異なる状況を示す複数の状況情報のうち、前記第１受信処理で受信した前記ワークフロー要求情報に基づいて特定される対象状況情報を取得する取得処理と、
各々に前記複数の状況情報の少なくとも１つが対応付けられて前記メモリに記憶された複数のワークフロー定義情報のうち、前記取得処理で取得した前記対象状況情報が対応付けられた対象ワークフロー定義情報を読み出す読出処理とを実行し、前記複数のワークフロー定義情報それぞれは、前記ワークフローに含まれる複数の前記ジョブそれぞれの内容を定義した情報であり、
前記コントローラは、前記読出処理で読み出した前記対象ワークフロー定義情報に定義された前記複数のジョブを順番に実行するワークフロー実行処理を実行する情報処理端末。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のジョブを含むワークフローを実現するプログラムに関する。
【背景技術】
【０００２】
例えば特許文献１には、スキャン処理で生成した文書データを配信サーバに送信するスキャナと、スキャナから受信した文書データを記憶装置に記憶させる配信サーバとを備える配信システムが開示されている。なお、上記構成の配信システムにおいて、スキャナは、企業の支店等に分散して配置されることが想定されている。また、上記構成のスキャナは、ワークフローサーバにより提供される複数のワークフローのうち、当該スキャナのユーザが選択したワークフローを実行する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−１７９８１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
すなわち、支店のスタッフは、業務中に必要なワークフローを選択した後に、当該ワークフローに用いる原稿をスキャナにセットしてスキャン処理を実行させる必要がある。このような作業は、ワークフローの選択肢が多いほど、業務中に実行するワークフローの回数が多いほど、忙しいスタッフにとって大きな負担となる。
【０００５】
本発明は、上記の事情に鑑みてなされたものであり、その目的は、スキャナを用いたワークフローの実行を制御する情報処理端末のプログラムにおいて、ワークフロー実行時におけるスキャナのユーザの作業負担を軽減可能な技術を提供することにある。
【課題を解決するための手段】
【０００６】
本明細書では様々な開示を行う。開示例の１つであるプログラムは、スキャナと、通信インタフェースと、メモリとに接続されたコンピュータによって実行可能である。該プログラムは、ワークフロー要求情報を前記スキャナから取得する第１取得処理を前記コンピュータに実行させる。前記ワークフロー要求情報は、ワークフローの開始を要求する入力操作を前記スキャナが備えるユーザインタフェースが受け付けたことを示す情報である。前記ワークフローは、原稿を読み取ってスキャンデータを生成するスキャン動作を前記スキャナに実行させるジョブと、前記スキャナから取得した前記スキャンデータを出力装置に出力させるために、前記通信インタフェースを通じて前記出力装置に前記スキャンデータを送信するジョブとを少なくとも含む。該プログラムは、各々が異なる状況を示す複数の状況情報のうち、前記第１取得処理で取得した前記ワークフロー要求情報に基づいて特定される対象状況情報を取得する第２取得処理と、各々に前記複数の状況情報の少なくとも１つが対応付けられて前記メモリに記憶された複数のワークフロー定義情報のうち、前記第２取得処理で取得した前記対象状況情報が対応付けられた対象ワークフロー定義情報を読み出す読出処理とを前記コンピュータに実行させる。前記複数のワークフロー定義情報それぞれは、前記ワークフローに含まれる複数の前記ジョブそれぞれの内容を定義した情報である。該プログラムは、前記読出処理で読み出した前記対象ワークフロー定義情報に定義された前記複数のジョブを順番に実行するワークフロー実行処理を前記コンピュータに実行させる。
【０００７】
開示例の他の１つであるプログラムは、スキャナと、通信インタフェースと、メモリとに接続されたコンピュータによって実行可能である。該プログラムは、ワークフロー要求情報を前記スキャナから取得する第１取得処理を前記コンピュータに実行させる。前記ワークフロー要求情報は、ワークフローの開始を要求する入力操作を前記スキャナが備えるユーザインタフェースが受け付けたことを示す情報である。前記ワークフローは、前記スキャナが原稿を読み取って生成したスキャンデータを取得するジョブと、前記スキャナから取得した前記スキャンデータを対象とする複数のデータ処理のうちの少なくとも１つをサーバに実行させるために、前記通信インタフェースを通じて前記サーバに前記スキャンデータを送信するジョブとを少なくとも含む。該プログラムは、各々が異なる状況を示す複数の状況情報のうち、前記第１取得処理で取得した前記ワークフロー要求情報に基づいて特定される対象状況情報を取得する第２取得処理と、各々に前記複数の状況情報の少なくとも１つが対応付けられて前記メモリに記憶された複数のワークフロー定義情報のうち、前記第２取得処理で取得した前記対象状況情報が対応付けられた対象ワークフロー定義情報を読み出す読出処理とを前記コンピュータに実行させる。前記複数のワークフロー定義情報それぞれは、前記ワークフローに含まれる複数の前記ジョブそれぞれの内容を定義した情報である。該プログラムは、前記読出処理で読み出した前記対象ワークフロー定義情報に定義された前記複数のジョブを順番に実行するワークフロー実行処理を前記コンピュータに実行させる。
【０００８】
上記構成によれば、メモリに記憶された複数のワークフロー定義情報のうち、取得したワークフロー要求情報に基づいて特定される対象状況情報に対応付けられた対象ワークフロー定義情報が選択されるので、スキャナのユーザの作業負担を軽減することができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、本実施形態に係るシステム１００の概略図である。
【図２】図２（Ａ）はＭＦＰ１０のブロック図であり、図２（Ｂ）は情報処理端末５０のブロック図である。
【図３】図３は、メモリ６２に記憶されるデータの例であって、（Ａ）はワークフローリストを、（Ｂ）はＷＦ−ＩＤ“Ｂ”に対応するジョブリストを示す。
【図４】図４は、ＷＦ−ＩＤ“Ａ”に対応するジョブリストを示す。
【図５】図５は、ＷＦ制御処理のフローチャートである。
【図６】図６は、図４に示されるワークフローを実行したときのシーケンス図である。
【図７】図７は、図４に示されるワークフローにおいて、サーバ８０から転送依頼票データを受信した後のシーケンス図である。
【図８】図８は、図３（Ｂ）に示されるワークフローを実行したときのシーケンス図である。
【図９】図９（Ａ）は在庫検索票の例を示し、図９（Ｂ）は発送通知票の例を示す。
【図１０】図１０（Ａ）は転送依頼票の例を示し、図１０（Ｂ）は日報を構成する在庫リスト、売上報告書、及び勤怠報告書の例を示す。
【発明を実施するための形態】
【００１０】
以下、適宜図面を参照して本発明の実施形態について説明する。なお、以下に説明される実施形態は本発明の一例にすぎず、本発明の要旨を変更しない範囲で、本発明の実施形態を適宜変更できることは言うまでもない。例えば、後述する各処理の実行順序は、本発明の要旨を変更しない範囲で、適宜変更することができる。
【００１１】
図１は、本実施形態に係るシステム１００の概略図である。図１に示されるシステム１００は、ＭＦＰ１０Ａ、１０Ｂ、１０Ｃ（以下、これらを総称して、「ＭＦＰ１０」と表記することがある。）と、情報処理端末５０と、サーバ８０とで構成されている。なお、システム１００内におけるＭＦＰ１０、情報処理端末５０、及びサーバ８０の数は、前述の例に限定されない。ＭＦＰ１０及び情報処理端末５０は、通信ネットワーク１０１を通じて通信可能に構成されている。通信ネットワーク１０１は、例えば、インターネット、有線ＬＡＮ、無線ＬＡＮ、或いはこれらの組み合わせであってもよい。
【００１２】
より詳細には、ＭＦＰ１０Ａ、１０Ｂ及び情報処理端末５０は、店舗ＡのＬＡＮに接続されている。また、ＭＦＰ１０Ｃは、店舗ＢのＬＡＮに接続されている。さらに、サーバ８０は、店舗Ａ、Ｂを管理する本社のＬＡＮに接続されている。そして、店舗ＡのＬＡＮと、店舗ＢのＬＡＮと、本社のＬＡＮとは、インターネットを通じて接続されている。但し、各装置の接続形態は、前述の例に限定されない。
【００１３】
ＭＦＰ１０は、図２（Ａ）に示されるように、プリンタ１１と、スキャナ１２と、ＦＡＸ−Ｉ／Ｆ１３と、ディスプレイ２３と、ユーザＩ／Ｆ２４と、通信Ｉ／Ｆ２５と、ＣＰＵ３１と、メモリ３２と、通信バス３３とを主に備える。ＭＦＰ１０を構成する各構成要素は、通信バス３３を通じて相互に接続されている。なお、ＭＦＰ１０は、プリンタ１１、スキャナ１２、及びＦＡＸ−Ｉ／Ｆ１３のうちの少なくとも１つを備えていればよい。また、プリンタ１１、スキャナ１２、及びＦＡＸ−Ｉ／Ｆ１３のうち、ＭＦＰ１０Ａ、１０Ｂ、１０Ｃが備える構成要素は、異なっていてもよい。
【００１４】
プリンタ１１は、画像データで示される画像をシートに記録するプリント動作を実行するハードウェアである。本実施形態では、インクを吐出して画像を記録するインクジェット方式のプリンタ１１の例を説明するが、プリンタ１１の記録方式は電子写真方式等であってもよい。スキャナ１２は、原稿に記録されている画像を読み取って画像データ（以下、「スキャンデータ」と表記する。）を生成するスキャン動作を実行するハードウェアである。ＦＡＸ−Ｉ／Ｆ１３は、ＦＡＸプロトコルに従って画像データを外部装置にＦＡＸ送信するＦＡＸ送信動作、及びＦＡＸプロトコルに従って外部装置から画像データをＦＡＸ受信するＦＡＸ受信動作を実行するハードウェアである。
【００１５】
より詳細には、スキャナ１２は、例えば、複数の原稿を纏めてセット可能なＡＤＦと、ＡＤＦに原稿がセットされているか否かを検出する検出センサと、ＡＤＦから１枚ずつ搬送された原稿を読み取る読取センサとを備える。検出センサは、ＡＤＦに原稿がセットされたことに応じて、検出信号をＣＰＵ３１に出力する。読取センサは、原稿から読み取った画像を示すスキャンデータをＣＰＵ３１に出力する。なお、スキャナ１２は、ＡＤＦに代えて、原稿を１枚だけセット可能なコンタクトガラスを備えてもよい。また、スキャナ１２は、例えばＡＤＳのように、小型のモバイルスキャナ或いは高速読み取りが可能なドキュメントスキャナであってもよい。
【００１６】
ディスプレイ２３は、液晶ディスプレイ、有機ＥＬディスプレイ等であり、各種情報を表示する表示画面を備える。
【００１７】
ユーザＩ／Ｆ２４は、入力操作を受け付けるインタフェースである。具体的には、ユーザＩ／Ｆ２４はボタンを有しており、押下されたボタンに対応づけられた各種の操作信号をＣＰＵ３１へ出力する。さらに、ユーザＩ／Ｆ２４は、ディスプレイ２３の表示画面に重畳された膜状のタッチセンサを有していてもよい。ディスプレイ２３の表示画面に表示されたオブジェクトを指定する操作、文字列或いは数字列を入力する操作は、入力操作の一例である。「オブジェクト」とは、例えば、ディスプレイ２３に表示された文字列、アイコン、ボタン、リンク、ラジオボタン、チェックボックス、プルダウンメニュー等である。
【００１８】
タッチセンサとして実現されるユーザＩ／Ｆ２４は、ユーザがタッチした表示画面上の位置を示す位置情報を出力する。なお、本明細書中における「タッチ」とは、入力媒体を表示画面に接触させる操作全般を含む。また、入力媒体が表示画面に触れていなくても、表示画面との間の距離がごく僅かな位置まで入力媒体を近接させる「ホバー」或いは「フローティングタッチ」を、前述の「タッチ」の概念に含めてもよい。さらに入力媒体とは、ユーザの指であってもよいし、タッチペン等であってもよい。ディスプレイ２３に表示されたオブジェクトの位置をタップする入力操作は、当該オブジェクトを指定する指定操作の一例である。以下、オブジェクトを指定する指定操作を、単に「オブジェクトの指定」、「オブジェクトに対する指定操作」等と表記することがある。
【００１９】
通信Ｉ／Ｆ２５は、通信ネットワーク１０１を通じて外部装置と通信可能なインタフェースである。すなわち、ＭＦＰ１０は、通信Ｉ／Ｆ２５を通じて外部装置に各種情報を送信し、通信Ｉ／Ｆ２５を通じて外部装置から各種情報を受信する。通信Ｉ／Ｆ２５の具体的な通信手順は特に限定されないが、例えば、Ｗｉ−Ｆｉ（登録商標）を採用することができる。
【００２０】
ＣＰＵ３１は、ＭＦＰ１０の全体動作を制御するものである。ＣＰＵ３１は、ユーザＩ／Ｆ２４を通じて入力された各種情報、通信Ｉ／Ｆ２５を通じて外部装置から受信した各種情報等に基づいて、後述する各種プログラムをメモリ３２から読み出して実行する。ＣＰＵ３１及びメモリ３２は、コントローラの一例を構成する。
【００２１】
メモリ３２は、ＯＳ３４と、装置プログラム３５とを記憶している。装置プログラム３５は、単一のプログラムであってもよいし、複数のプログラムの集合体であってもよい。また、メモリ３２は、装置プログラム３５の実行に必要なデータ或いは情報等を記憶する。メモリ３２は、例えば、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＨＤＤ、ＭＦＰ１０に着脱されるＵＳＢメモリ等の可搬記憶媒体、ＣＰＵ３１が備えるバッファ等、或いはそれらの組み合わせによって構成される。
【００２２】
メモリ３２は、コンピュータが読み取り可能なストレージ媒体であってもよい。コンピュータが読み取り可能なストレージ媒体とは、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体である。ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体には、上記の例の他に、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等の記録媒体も含まれる。また、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体は、ｔａｎｇｉｂｌｅな媒体でもある。一方、インターネット上のサーバなどからダウンロードされるプログラムを搬送する電気信号は、コンピュータが読み取り可能な媒体の一種であるコンピュータが読み取り可能な信号媒体であるが、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙなコンピュータが読み取り可能なストレージ媒体には含まれない。後述する情報処理端末５０のメモリ６２についても同様である。
【００２３】
メモリ３２は、ログインＩＤ及びパスワードの複数のセットを記憶している。本実施形態では、ログインＩＤ“Ａｄｍｉｎ”及びパスワード“ａｂｃ”のセットと、ログインＩＤ“Ｕｓｅｒ”及びパスワード“ｘｙｚ”のセットとがメモリ３２に記憶されているものとする。ログインＩＤ及びパスワードのセットは、例えば、ＭＦＰ１０の出荷時に予め登録されていてもよいし、ＭＦＰ１０の管理者によってユーザＩ／Ｆ２４を通じて入力されてもよい。ログインＩＤは、ＭＦＰ１０を操作するユーザを識別するユーザＩＤの一例である。
【００２４】
また、ＭＦＰ１０は、メモリ３２に記憶されたログインＩＤ及びパスワードのセットを用いて、ログイン状態とログアウト状態とに状態変化が可能である。ログアウト状態のＭＦＰ１０は、ログインＩＤ及びパスワードを入力するログイン操作をユーザＩ／Ｆ２４を通じて受け付けたことに応じて、入力されたログインＩＤ及びパスワードのセットがメモリ３２に記憶されているか否かを判断する。そして、ＭＦＰ１０は、入力されたログインＩＤ及びパスワードのセットがメモリ３２に記憶されていると判断したことに応じて、ログアウト状態からログイン状態に状態変化する。また、ログイン状態のＭＦＰ１０は、ログアウト操作（例えば、［ログアウト］ボタンの押下）をユーザＩ／Ｆ２４を通じて受け付けたことに応じて、ログイン状態からログアウト状態に状態変化する。
【００２５】
ログイン状態とは、非ログイン状態で許可された操作に加えて、ログインユーザに特別に許可された操作をユーザＩ／Ｆ２４を通じて受付可能な状態である。ログイン状態で特別に許可される操作とは、例えば、ログインユーザ用の電話帳に対して宛先の追加、編集、及び削除する操作、或いはセキュリティに関する設定をする操作等である。セキュリティに関する設定とは、例えば、プリント動作時にパスワードの入力を要求するか否かの切り替え、或いはログインユーザの個人情報の入力等である。
【００２６】
また、ログインＩＤ“Ａｄｍｉｎ”が割り当てられたユーザは、ログインＩＤ“Ｕｓｅｒ”が割り当てられたユーザに許可された操作に加えて、さらに特別な操作が許可されてもよい。さらに特別な操作とは、例えば、ＭＦＰ１０の設定を出荷時の状態に戻す初期化操作でもよい。すなわち、ログインＩＤ“Ａｄｍｉｎ”を用いてログイン状態にされたＭＦＰ１０は、ユーザＩ／Ｆ２４を通じて初期化操作を受け付けたことに応じて、ＭＦＰ１０の設定を出荷時の状態に戻す。一方、ログインＩＤ“Ｕｓｅｒ”を用いてログイン状態にされたＭＦＰ１０は、ユーザＩ／Ｆ２４を通じた初期化操作を受け付けない。
【００２７】
情報処理端末５０は、図２（Ｂ）に示されるように、ディスプレイ５３と、ユーザＩ／Ｆ５４と、通信Ｉ／Ｆ５５と、ＣＰＵ６１と、メモリ６２と、通信バス６３とを主に備える。情報処理端末５０に含まれるディスプレイ５３、ユーザＩ／Ｆ５４、通信Ｉ／Ｆ５５、ＣＰＵ６１、メモリ６２、及び通信バス６３は、ＭＦＰ１０に含まれるディスプレイ２３、ユーザＩ／Ｆ２４、通信Ｉ／Ｆ２５、ＣＰＵ３１、メモリ３２、及び通信バス３３と同様の構成であるので、説明は省略する。ＣＰＵ６１及びメモリ６２は、コントローラの一例である。情報処理端末５０は、例えば、携帯電話、スマートフォン、タブレット端末、或いはＰＣ等である。
【００２８】
メモリ６２は、例えば図３（Ａ）に示されるように、ワークフローリストを記憶することができる。ワークフローリストは、１以上のワークフローレコードを含む。ワークフローリストに含まれるワークフローレコードそれぞれは、１以上のワークフローの１つに対応する。ワークフローレコードは、例えば、情報処理端末５０の管理者によってユーザＩ／Ｆ５４を通じて入力されてもよいし、通信Ｉ／Ｆ５５を通じてサーバ８０から受信してもよい。ワークフローとは、複数のジョブを組み合わせた一連の処理を指す。ジョブとは、ワークフローに含まれる処理の単位であって、例えば、スキャンジョブ、プリントジョブ、ＦＡＸ送信ジョブ、表示ジョブ、アップロードジョブ、及びダウンロードジョブ等がある。
【００２９】
ワークフローリストは、例えば、ＷＦ−ＩＤと、状況情報とを含む。ＷＦ−ＩＤは、ワークフローレコードに対応するワークフローを識別するための情報である。状況情報は、ワークフローレコードに対応するワークフローを実行可能な状況を示すための情報である。状況情報は、例えば、時間情報、装置ＩＤ、及びログインＩＤの少なくとも１つを含む。時間情報は、後述するワークフロー要求情報を受信した時刻の範囲を示す。すなわち、時間情報は、複数の時刻情報の集合である。装置ＩＤは、ワークフロー要求情報の送信元のＭＦＰ１０を識別するための情報である。ログインＩＤは、ログイン状態のＭＦＰ１０がワークフロー要求情報を送信する場合において、当該ＭＦＰ１０をログイン状態にするために入力されたログインＩＤである。
【００３０】
スキャンジョブは、ＭＦＰ１０にスキャン動作を実行させ、スキャン動作で生成されたスキャンデータを取得するジョブである。プリントジョブは、ＭＦＰ１０にプリント動作を実行させるジョブである。ＦＡＸ送信ジョブは、ＭＦＰ１０にＦＡＸ送信動作を実行させるジョブである。表示ジョブは、ＭＦＰ１０のディスプレイ２３に情報を表示させるジョブである。アップロードジョブは、サーバ８０にデータを送信するジョブである。ダウンロードジョブは、サーバ８０からデータを受信するジョブである。但し、ジョブの内容及び種類は、前述の例に限定されない。
【００３１】
本実施形態に係るワークフローは、スキャンジョブと、アップロードジョブとを少なくとも含む。より詳細には、本実施形態に係るワークフローは、スキャンジョブでＭＦＰ１０からスキャンデータを取得し、取得したスキャンデータをアップロードジョブでサーバ８０に送信する。
【００３２】
また、メモリ６２は、例えば図３（Ｂ）及び図４に示されるように、ジョブリストを記憶することができる。ジョブリストは、ワークフローリストに登録されたＷＦ−ＩＤの１つに対応する。図３（Ｂ）に示されるジョブリストはＷＦ−ＩＤ“Ｂ”に対応し、図４に示されるジョブリストはＷＦ−ＩＤ“Ａ”に対応する。ジョブリストは、ＷＦ−ＩＤで識別されるワークフローを定義するワークフロー定義情報の一例である。ジョブリストは、複数のジョブレコードを含む。ジョブリストに含まれるジョブレコードそれぞれは、ワークフローに含まれる複数のジョブの１つに対応する。ジョブリストは、例えば、情報処理端末５０の管理者によってユーザＩ／Ｆ５４を通じて入力されてもよいし、通信Ｉ／Ｆ５５を通じてサーバ８０から受信してもよい。
【００３３】
ジョブレコードは、例えば、ジョブＩＤと、動作情報と、メッセージデータと、特徴情報と、次ジョブＩＤとを含む。ジョブＩＤは、ジョブレコードを識別するための情報である。動作情報は、ジョブレコードに対応するジョブの内容を示す情報である。図３（Ｂ）及び図４に図示された動作情報は、分かり易さを重視して、ジョブの内容を文字列で示している。しかしながら、実際の動作情報は、例えば、実行すべき動作を識別する動作ＩＤと、当該動作の実行条件を示す実行パラメータとを含む。一例として、図３（Ｂ）のジョブＩＤ“００１”に対応する動作情報は、スキャン動作の動作ＩＤ“スキャン”と、スキャン動作の実行パラメータ（例えば、読取解像度＝６００ｄｐｉ、読取色＝２５６色）とを含む。他の例として、図４のジョブＩＤ“００５”に対応する動作情報は、プリント動作の動作ＩＤ“プリント”と、プリント動作の実行パラメータ（例えば、シートサイズ＝Ａ４、画質＝ファイン）とを含む。
【００３４】
メッセージデータは、ジョブレコードに対応するジョブを実行する際にＭＦＰ１０のディスプレイ２３に表示させる文字列（以下、「ガイドメッセージ」と表記する。）を示す。一例として、図３（Ｂ）及び図４のジョブＩＤ“００１”に対応するメッセージデータで示されるガイドメッセージは、ジョブリストで定義されたワークフローの内容を示す第１ガイドメッセージの一例である。他の例として、図３（Ｂ）のジョブＩＤ“００３”及び図４のジョブＩＤ“００８”に対応するメッセージデータで示されるガイドメッセージは、ジョブリストで定義されたワークフローの結果を示す第２ガイドメッセージの一例である。
【００３５】
特徴情報は、ジョブレコードに対応するジョブで取得されるデータ（以下、「ジョブデータ」と表記する。）が備えるべき特徴を示す。ＭＦＰ１０から取得するスキャンデータ、及びサーバ８０から取得する処理結果データは、ジョブデータの一例である。なお、ジョブレコードは、メッセージデータ及び特徴情報の一方或いは両方を含んでいなくてもよい。次ジョブＩＤは、次に実行すべきジョブに対応するジョブレコードを識別するための情報である。
【００３６】
一例として、図３（Ｂ）のジョブＩＤ“００１”に対応する特徴情報は、スキャンデータに文字列“在庫リスト”、“売上報告書”、“勤怠報告書”のいずれかが含まれているという特徴を示す。また、図３（Ｂ）のジョブＩＤ“００１”で識別されるジョブレコードは、ジョブデータから抽出した特徴と特徴情報で示される特徴とが一致する場合の次ジョブＩＤ“００２”と、ジョブデータから抽出した特徴と特徴情報で示される特徴とが一致しない場合の次ジョブＩＤ“００３”とを含む。
【００３７】
他の例として、図４のジョブＩＤ“００３”に対応する特徴情報は、サーバからダウンロードしたジョブデータにデータＩＤ“発送通知票”、“転送依頼票”、“在庫なし”のいずれかが付加されているという特徴を示す。また、図４のジョブＩＤ“００３”で識別されるジョブレコードは、データＩＤ“発送通知票”に対応する次ジョブＩＤ“００４”と、データＩＤ“転送依頼票”に対応する次ジョブＩＤ“００５”と、データＩＤ“在庫なし”に対応する次ジョブＩＤ“００６”とを含む。
【００３８】
端末プログラム６５は、図３及び図４に示される情報に基づいて、図５に示されるＷＦ制御処理を実行する。まず、端末プログラム６５は、ジョブＩＤ“０００”を含むジョブ要求情報を通信Ｉ／Ｆ５５を通じてＭＦＰ１０から受信したことに応じて（Ｓ１１：ジョブ要求＆Ｓ１２：０００）、対象状況情報を取得する（Ｓ１３）。ジョブＩＤ“０００”を含むジョブ要求情報は、ワークフローの開始を要求する入力操作をＭＦＰ１０が受け付けたことを示すワークフロー要求情報の一例である。ジョブＩＤ“０００”を含むジョブ要求情報を取得する処理は第１取得処理の一例であり、Ｓ１３の処理は第２取得処理の一例である。
【００３９】
一例として、端末プログラム６５は、ジョブＩＤ“０００”を含むジョブ要求情報の受信時刻を示す時刻情報、対象状況情報として不図示のシステムクロックから取得してもよい。他の例として、端末プログラム６５は、受信したジョブ要求情報に含まれる装置ＩＤ及びログインＩＤの少なくとも一方を、対象状況情報として取得してもよい。すなわち、Ｓ１３で取得する対象状況情報は、ジョブＩＤ“０００”を含むジョブ要求情報に基づいて特定される状況情報である。Ｓ１３で取得する対象状況情報の数は、３つに限定されない。また、端末プログラム６５が取得する対象状況情報の数は、Ｓ１３の処理を実行する度に異なってもよい。
【００４０】
次に、端末プログラム６５は、ワークフローリストに登録されたＷＦ−ＩＤのうち、Ｓ１３で取得した対象状況情報が対応付けられたＷＦ−ＩＤを特定する。なお、Ｓ１３で複数の対象状況情報を取得した場合、端末プログラム６５は、当該複数の対象状況情報の全てが対応付けられたＷＦ−ＩＤを特定する。また、Ｓ１３で取得した対象状況情報が対応付けられたＷＦ−ＩＤが複数登録されている場合、端末プログラム６５は、複数のＷＦ−ＩＤを特定する。そして、端末プログラム６５は、特定したＷＦ−ＩＤで識別されるジョブリストを、メモリ６２から読み出す（Ｓ１４）。Ｓ１４の処理は、読出処理の一例である。
【００４１】
次に、端末プログラム６５は、Ｓ１４で読み出したジョブリストの数（換言すれば、Ｓ１４で特定したＷＦ−ＩＤの数）を判断する（Ｓ１５）。そして、端末プログラム６５は、複数のジョブリストを読み出したと判断したことに応じて（Ｓ１５：複数）、ジョブＩＤ“０００”を含むジョブ要求情報の送信元のＭＦＰ１０に、通信Ｉ／Ｆ５５を通じて選択指示情報を送信する（Ｓ１６）。選択指示情報は、Ｓ１４で特定した複数のＷＦ−ＩＤのうちの１つを、ＭＦＰ１０のユーザに選択させるための情報である。選択指示情報は、例えば、Ｓ１４で特定した複数のＷＦ−ＩＤを含む。Ｓ１６の処理は、選択指示処理の一例である。
【００４２】
一方図示は省略するが、ＭＦＰ１０の装置プログラム３５は、通信Ｉ／Ｆ２５を通じて情報処理端末５０から選択指示情報を受信したことに応じて、ワークフロー選択画面をディスプレイ２３に表示させる。ワークフロー選択画面は、選択指示情報に含まれる複数のＷＦ−ＩＤそれぞれに対応する複数のワークフローアイコンを含む。次に、装置プログラム３５は、複数のワークフローアイコンの１つを指定するユーザ操作をユーザＩ／Ｆ２４を通じて受け付けたことに応じて、指定されたワークフローアイコンに対応するＷＦ−ＩＤを、通信Ｉ／Ｆ２５を通じて情報処理端末５０に送信する。
【００４３】
次に、端末プログラム６５は、選択指示情報の応答としてＷＦ−ＩＤを、通信Ｉ／Ｆ５５を通じてＭＦＰ１０から受信する（Ｓ１７：Ｙｅｓ）。Ｓ１７の処理は、第３取得処理の一例である。Ｓ１４で読み出した複数のジョブリストのうち、Ｓ１７で受信したＷＦ−ＩＤで識別されるジョブリストは、対象ワークフロー定義情報（以下、「対象ジョブリスト」と表記する。）の一例である。そして、端末プログラム６５は、対象ジョブリストのジョブＩＤ“００１”で識別されるジョブを実行する（Ｓ１８）。すなわち、端末プログラム６５は、ジョブＩＤ“００１”を含むジョブレコードの動作情報に従ってジョブを実行する。一方、端末プログラム６５は、Ｓ１４で読み出したジョブリストが１つだと判断したことに応じて（Ｓ１５：１）、Ｓ１６＆Ｓ１７の処理を実行せずに、Ｓ１４で読み出したジョブリストを対象ジョブリストとして、Ｓ１８の処理を実行する。
【００４４】
また、端末プログラム６５は、ジョブＩＤ“０００”と異なるジョブＩＤを含むジョブ要求情報を受信したことに応じて（Ｓ１１：ジョブ要求＆Ｓ１２：００１〜）、対象ジョブリストに登録された次ジョブＩＤのうち、ジョブ要求情報に含まれるジョブＩＤに対応付けられた次ジョブＩＤを特定する。そして、端末プログラム６５は、特定した次ジョブＩＤで識別されるジョブを実行する（Ｓ１９）。
【００４５】
さらに、端末プログラム６５は、通信Ｉ／Ｆ５５を通じてＭＦＰ１０或いはサーバ８０からジョブデータを受信したことに応じて（Ｓ１１：ジョブデータ）、受信したジョブデータの特徴を抽出する（Ｓ２０）。ＭＦＰ１０からジョブデータを受信する処理は第１受信処理の一例であり、サーバ８０からジョブデータを受信する処理は第２受信処理の一例であり、Ｓ２０の処理は抽出処理の一例である。特徴を抽出する処理の具体例は、図６のＳ３７、Ｓ３８及び図８のＳ６５、Ｓ６６等を参照して後述する。
【００４６】
また、端末プログラム６５は、ジョブリストに登録された特徴情報のうち、受信したジョブデータに付加されたジョブＩＤに対応する特徴情報を、メモリ６２から読み出す。そして、端末プログラム６５は、Ｓ２０で抽出した特徴と、メモリ６２から読み出した特徴情報で示される特徴とを比較することで、ジョブデータから抽出した特徴と、特徴情報で示される特徴とが一致するか否かを判断する（Ｓ２１）。Ｓ２１の処理は、第１判断処理の一例である。
【００４７】
次に、端末プログラム６５は、ジョブデータに付加されたジョブＩＤに対応する複数の次ジョブＩＤのうち、Ｓ２１における判断結果に対応する次ジョブＩＤを特定する。そして、端末プログラム６５は、特定した次ジョブＩＤで識別されるジョブを実行する（Ｓ２２）。端末プログラム６５は、次ジョブＩＤを含まないジョブレコードに対応するジョブを実行するまで、Ｓ１１〜Ｓ２２の処理を繰り返し実行することによって、ワークフローを実現する。すなわち、繰り返し実行されるＳ１８、Ｓ１９、Ｓ２２の処理は、ワークフロー実行処理の一例である。
【００４８】
サーバ８０は、アップロードジョブを実行する情報処理端末５０から受信したスキャンデータを出力する。スキャンデータを出力する処理は、例えば、サーバ８０が備えるメモリにスキャンデータを記憶させる処理、サーバ８０が備えるディスプレイにスキャンデータで示される画像を表示させる処理、サーバ８０に接続されたプリンタにスキャンデータを対象とするプリント動作を実行させる処理等を指す。これらの処理を実行するサーバ８０は、出力装置の一例である。
【００４９】
また、サーバ８０は、スキャンデータを対象とするデータ処理（例えば、ＯＣＲ、統計、データマッチング等）を実行してもよい。データ処理の目的は、例えば、在庫確認、発注処理、売上データ管理、日報印刷などであってもよい。さらに、サーバ８０は、スキャンデータを対象とするデータ処理の結果を示す処理結果データを生成してもよい。そして、サーバ８０は、ダウンロードジョブを実行する情報処理端末５０に処理結果データを送信してもよい。
【００５０】
［システム１００の動作］
図６〜図８を参照して、店舗Ａ、Ｂで靴を店頭販売する企業にシステム１００が導入された事例を例として、本実施形態に係るシステム１００の動作の詳細を説明する。但し、システム１００の利用方法がこれに限定されないことは、言うまでもない。
【００５１】
まず、店舗Ａの従業員は、顧客が希望する靴の条件（例えば、メーカ、型番、色、サイズ等）を聞き取って、顧客の希望に合った靴を販売する。より詳細には、店舗Ａの従業員は、顧客の希望する条件の靴が店舗Ａにあれば、その靴を顧客に販売する。一方、店舗Ａの従業員は、顧客が希望する条件の靴が店舗Ａになければ、当該靴が本社或いは店舗Ｂにあるか否かを、システム１００を利用して確認する。そして、店舗Ａの従業員は、当該靴が本社或いは店舗Ｂにあれば、当該靴を本社或いは店舗Ｂから取り寄せて販売する。一方、店舗Ａの従業員は、当該靴が本社或いは店舗Ｂになければ、当該靴をメーカから取り寄せて販売する。
【００５２】
また、店舗Ａの店長は、店舗Ａの売上管理、在庫管理、顧客管理、及び勤怠管理などを情報処理端末５０を用いて行い、システム１００を利用して結果を本社に報告する。すなわち、店長以外の従業員が情報処理端末５０を使用することは、機密情報或いは個人情報を適切に管理する点から好ましくない。そこで、本実施形態に係るシステム１００は、このような企業に導入されることによって、店長以外の従業員に情報処理端末５０を操作させることなく、当該企業の業務をスムーズに遂行可能にする。
【００５３】
本明細書のフローチャートは、基本的に、プログラムに記述された命令に従ったＣＰＵ３１、６１の処理を示す。すなわち、以下の説明における「判断」、「抽出」、「選択」、「算出」、「決定」、「特定」、「取得」、「受付」、「制御」等の処理は、ＣＰＵ３１、６１の処理を表している。ＣＰＵ３１、６１による処理は、ＯＳ３４、６４を介したハードウェア制御も含む。なお、「取得」は要求を必須とはしない概念で用いる。すなわち、ＣＰＵ６１が要求することなくデータを受信するという処理も、「ＣＰＵ６１がデータを取得する」という概念に含まれる。また、本明細書中の「データ」とは、コンピュータに読取可能なビット列で表される。そして、実質的な意味内容が同じでフォーマットが異なるデータは、同一のデータとして扱われるものとする。本明細書中の「情報」についても同様である。
【００５４】
まず図６及び図７を参照して、店舗Ａの営業中の業務の一例を説明する。営業時間中（例えば、１５時）の店舗Ａの従業員は、顧客が希望する条件の靴が店舗Ａにない場合に、図９（Ａ）に示されるように、顧客から聞き取ったメーカ“ｘｘｘ製作所”、型番“スニーカＸＹＺ”、色“赤”、サイズ“２６”を在庫検索票に記入して、非ログイン状態のＭＦＰ１０ＡのＡＤＦにセットする（Ｓ３１）。ＭＦＰ１０Ａの装置プログラム３５は、ＡＤＦに原稿がセットされたことを検出センサを通じて検出したことに応じて、通信Ｉ／Ｆ２５を通じて情報処理端末５０にジョブ要求情報を送信する（Ｓ３２）。ここで送信されるジョブ要求情報は、例えば、ジョブＩＤ“０００”及び装置ＩＤ“ＭＦＰ−Ａ”を含み、ログインＩＤを含まないものとする。ＡＤＦに原稿をセットする操作は、ワークフローの開始を要求する入力操作の一例である。
【００５５】
次に、情報処理端末５０の端末プログラム６５は、通信Ｉ／Ｆ５５を通じてＭＦＰ１０Ａからジョブ要求情報を受信する（Ｓ３２）。Ｓ３２の処理は、第１取得処理の一例である。次に、端末プログラム６５は、受信したジョブ要求情報にジョブＩＤ“０００”が含まれていることに応じて、現在時刻を示す時刻情報“１５時”と、ジョブ要求情報に含まれる装置ＩＤ“ＭＦＰ−Ａ”とを、対象状況情報として取得する。この処理は、第２取得処理の一例である。次に、端末プログラム６５は、図３（Ａ）に示されるワークフローリストに登録されたＷＦ−ＩＤのうち、対応する状況情報が現在時刻“１５時”及び装置ＩＤ“ＭＦＰ−Ａ”を含むＷＦ−ＩＤ“Ａ”を特定する。そして、端末プログラム６５は、特定したＷＦ−ＩＤ“Ａ”に対応する対象ジョブリストとして、図４に示されるジョブリストをメモリ６２から読み出す。この処理は、読出処理の一例である。
【００５６】
次に、端末プログラム６５は、読み出した対象ジョブリストのジョブレコードのうち、ジョブＩＤ“００１”のジョブレコードに含まれる動作情報“在庫検索票のスキャン”に従って、ジョブ要求情報の送信元のＭＦＰ１０Ａに通信Ｉ／Ｆ５５を通じてスキャン指示情報を送信する（Ｓ３３）。スキャン指示情報は、スキャン動作の実行を指示するための情報である。Ｓ３３で送信されるスキャン指示情報は、例えば、ジョブＩＤ“００１”と、動作情報に含まれる動作ＩＤ“スキャン”及び実行パラメータとを含む。Ｓ３３の処理は、スキャン指示処理の一例である。
【００５７】
また、端末プログラム６５は、ジョブＩＤ“００１”のジョブレコードにメッセージデータが含まれることに応じて、通信Ｉ／Ｆ５５を通じてＭＦＰ１０Ａに表示指示情報を送信する。表示指示情報は、メッセージデータ示されるガイドメッセージの表示を指示するための情報である。ここで送信される表示指示情報は、例えば、対象ジョブリストで定義されたワークフローの内容を示すガイドメッセージ“在庫検索票をスキャンして下さい。”を示すメッセージデータを含む。この処理は、表示指示処理の一例である。なお、端末プログラム６５は、表示指示情報をスキャン指示情報に含めて送信してもよいし、スキャン指示情報及び表示指示情報を別々に送信してもよい。
【００５８】
次に、ＭＦＰ１０Ａの装置プログラム３５は、通信Ｉ／Ｆ２５を通じて表示指示情報を受信したことに応じて、受信した表示指示情報のガイドメッセージ“在庫検索票をスキャンして下さい。”を、ディスプレイ２３に表示させる。また、装置プログラム３５は、通信Ｉ／Ｆ２５を通じてスキャン指示情報を受信したことに応じて、ユーザＩ／Ｆ２４の［スキャン］ボタンが押下されるまで待機する。これにより、ＭＦＰ１０ＡのＡＤＦに在庫検索票をセットした従業員は、ディスプレイ２３に表示されたガイドメッセージを見た後に、［スキャン］ボタンを押下すればよい。
【００５９】
次に、装置プログラム３５は、［スキャン］ボタンを押下する操作をユーザＩ／Ｆ２４を通じて受け付けたことに応じて、受信したスキャン指示情報に従ってスキャナ１２にスキャン動作を実行させる（Ｓ３４）。すなわち、スキャナ１２は、スキャン指示情報に含まれる実行パラメータに従って、ＡＤＦにセットされた在庫検索票を読み取ってスキャンデータ（以下、「在庫検索票データ」と表記する。）を生成する。そして、装置プログラム３５は、スキャナ１２が生成した在庫検索票データを、スキャン指示情報の応答として、通信Ｉ／Ｆ２５を通じて情報処理端末５０に送信する（Ｓ３５）。なお、Ｓ３５で送信される在庫検索票データには、Ｓ３３で受信したスキャン指示情報に含まれるジョブＩＤ“００１”が付加される。
【００６０】
次に、端末プログラム６５は、通信Ｉ／Ｆ５５を通じてＭＦＰ１０Ａから在庫検索票データを受信する（Ｓ３５）。Ｓ３５の処理は、第１受信処理の一例である。次に、端末プログラム６５は、受信した在庫検索票データに付加されたジョブＩＤ“００１”のジョブレコードに特徴情報が設定されていないので、Ｓ２０＆Ｓ２１の処理を実行しない。そして、端末プログラム６５は、ジョブＩＤ“００１”に対応する次ジョブＩＤ“００２”のジョブレコードに含まれる動作情報“在庫検索票データのアップロード”に従って、Ｓ３５で受信した在庫検索票データを通信Ｉ／Ｆ５５を通じてサーバ８０に送信する（Ｓ３６）。Ｓ３６で送信される在庫検索票データには、ジョブＩＤ“００２”が付加される。ジョブＩＤを付加した在庫検索票データは、出力指示情報の一例である。Ｓ３６の処理は、出力指示処理の一例である。
【００６１】
次に、サーバ８０は、情報処理端末５０から在庫検索票データを受信したことに応じて（Ｓ３６）、受信した在庫検索票データをサーバメモリに記憶させる。次に、サーバ８０は、メーカに対応する文字列“ｘｘｘ製作所”、型番に対応する文字列“スニーカＸＹＺ”、色に対応する文字列“赤”、サイズに対応する文字列“２６”を、周知のＯＣＲ技術を用いて在庫検索票データから抽出する。そして、サーバ８０は、抽出した文字列“ｘｘｘ製作所”、“スニーカＸＹＺ”、“赤”、“２６”で示される条件に合致する靴が本社或いは店舗Ｂにあるか否かを、不図示の在庫データベースを参照して判断する。これらの処理は、スキャンデータを対象とするデータ処理の一例である。
【００６２】
他の例として、サーバ８０は、情報処理端末５０から受信した在庫検索票データで示される画像を、サーバ８０が備えるディスプレイに表示させ、在庫検索票データで示される条件の靴が本社或いは店舗Ｂにあるか否かを、本社の従業員に探させてもよい。そして、サーバ８０は、本社の従業員が当該靴を探した結果を入力する入力操作を、サーバ８０が備えるユーザＩ／Ｆを通じて受け付けてもよい。
【００６３】
そして、サーバ８０は、条件に合致する靴が本社にある場合に、当該靴を本社から店舗Ａに発送する処理を本社の従業員に指示すると共に、発送通知票データを情報処理端末５０に送信する（Ｓ３７）。発送通知票データは、例えば図９（Ｂ）に示されるように、本社の従業員が発送する靴が店舗Ａに到着する予定の日時“到着予定日：２０１７年４月１９日”を示す情報と、ＯＣＲで抽出した文字列とを含む。また、サーバ８０は、条件に合致する靴が店舗Ｂにある場合に、転送依頼票データを情報処理端末５０に送信する（Ｓ３７）。転送依頼票データは、例えば図１０（Ａ）に示されるように、店舗間での靴の転送を依頼するために必要な事項を含む。
【００６４】
さらに、サーバ８０は、条件に合致する靴が本社及び店舗Ｂにない場合に、在庫なしデータを情報処理端末５０に送信する（Ｓ３７）。在庫なしデータは、条件に合致する靴の在庫がないことを示すデータである。発送通知票データ、転送依頼票データ、及び在庫なしデータは、スキャンデータを処理した結果を示す処理結果データの一例である。処理結果データには、在庫検索票データに付加されたジョブＩＤ“００２”の次のジョブＩＤ“００３”と、処理結果データの内容を識別するデータＩＤ（例えば、“発送通知票”、“転送依頼票”、“在庫なし”）とが付加される。
【００６５】
次に、端末プログラム６５は、ジョブＩＤ“００３”のジョブレコードに含まれる動作情報“処理結果データのダウンロード”に従って、通信Ｉ／Ｆ５５を通じてサーバ８０から処理結果データを受信する（Ｓ３７）。Ｓ３７の処理は、第２受信処理の一例である。本実施形態では、Ｓ３６における在庫検索票データの送信先と、Ｓ３７における処理結果データの送信元とが、どちらもサーバ８０である。そこで、Ｓ３６、Ｓ３７における通信相手のサーバ８０を識別するサーバＩＤ（例えば、ＵＲＬ）は、ＷＦ−ＩＤ“Ａ”を含むワークフローレコードに１つだけ定義されていてもよい。または、Ｓ３６における在庫検索票データの送信先を示すサーバＩＤはジョブＩＤ“００２”のジョブレコードに定義され、Ｓ３７における処理結果データの送信元を示すサーバＩＤはジョブＩＤ“００３”のジョブレコードに定義されていてもよい。
【００６６】
次に、端末プログラム６５は、受信した処理結果データの特徴を抽出する。端末プログラム６５は、例えば、処理結果データに付加されたデータＩＤを、処理結果データの特徴として抽出すればよい。この処理は抽出処理の一例である。次に、端末プログラム６５は、処理結果データから抽出した特徴と、処理結果データに付加されたジョブＩＤ“００３”のジョブレコードで示される特徴とが一致するか否かを判断する（Ｓ３８）。この処理は、第１判断処理の一例である。そして、端末プログラム６５は、Ｓ３８の判断結果に対応する次のジョブを実行する。
【００６７】
一例として、端末プログラム６５は、処理結果データから抽出した特徴が“発送通知票”に一致すると判断したことに応じて（Ｓ３８：発送通知票）、特徴“発送通知票”に対応する次ジョブＩＤ“００４”のジョブレコードに含まれる動作情報“発送通知票のプリント”に従って、通信Ｉ／Ｆ５５を通じてＭＦＰ１０Ａにプリント指示情報を送信する（Ｓ３９）。プリント指示情報は、プリント動作の実行を指示するための情報である。Ｓ３９で送信されるプリント指示情報は、例えば、Ｓ３７で受信した発送通知票データと、ジョブＩＤ“００４”と、動作情報に含まれる動作ＩＤ“プリント”及び実行パラメータとを含む。Ｓ３９の処理は、プリント指示処理及び出力指示処理の一例である。
【００６８】
次に、装置プログラム３５は、通信Ｉ／Ｆ２５を通じて情報処理端末５０からプリント指示情報を受信したことに応じて（Ｓ３９）、受信したプリント指示情報に従ってプリンタ１１にプリント動作を実行させる（Ｓ４０）。すなわち、プリンタ１１は、プリント指示情報に含まれる発送通知票データで示される画像を、プリント指示情報に含まれる実行パラメータに従ってシートに記録する。これにより、図９（Ｂ）に示される発送通知票がＭＦＰ１０Ａから出力される。そして、店舗Ａの従業員は、ＭＦＰ１０Ａから出力された発送通知票を顧客に手渡して、到着予定日時以降の再来店を案内すればよい。
【００６９】
なお、端末プログラム６５は、Ｓ３９において、発送通知票データで示される画像の表示を指示する表示指示情報を、プリント指示情報に代えてＭＦＰ１０Ａに送信してもよい。そして、ＭＦＰ１０Ａの装置プログラム３５は、Ｓ４０において、情報処理端末５０から受信した表示指示情報に従って発送通知票をディスプレイ２３に表示させてもよい。これにより、プリンタ１１を備えないＡＤＳ等にもＳ４０の処理を実行させることができる。Ｓ３９でプリント指示情報及び表示指示情報のどちらを送信するかは、例えば、ジョブレコードに予め定義されていてもよい。
【００７０】
また、端末プログラム６５は、Ｓ３９において、ジョブ要求情報の送信元のＭＦＰ１０Ａと異なるプリンタにプリント指示情報或いは表示指示情報を送信してもよい。これにより、プリンタ及びモニタを備えないスキャナからジョブ要求情報を受信した場合にも、Ｓ４０の処理が実現できる。プリント指示情報或いは表示指示情報の送信先の装置を示す装置ＩＤ（例えば、ＩＰアドレス、ＭＡＣアドレス）は、例えば、ジョブレコードに予め定義されていてもよい。
【００７１】
他の例として、端末プログラム６５は、処理結果データから抽出した特徴が“在庫無し”に一致すると判断したことに応じて（Ｓ３８：在庫なし）、特徴“在庫なし”に対応する次ジョブＩＤ“００６”のジョブレコードに含まれる動作情報“在庫なしメッセージの表示”に従って、通信Ｉ／Ｆ５５を通じてＭＦＰ１０Ａに表示指示情報を送信する（Ｓ４１）。Ｓ４１で送信される表示指示情報は、例えば、ジョブＩＤ“００６”と、メッセージデータ“在庫がありません。メーカに問い合わせて下さい。”とを含む。Ｓ４１の処理は、表示指示処理の一例である。
【００７２】
次に、装置プログラム３５は、通信Ｉ／Ｆ２５を通じて情報処理端末５０から表示指示情報を受信したことに応じて（Ｓ４１）、受信した表示指示情報のガイドメッセージ“在庫がありません。メーカに問い合わせて下さい。”を、ディスプレイ２３に表示させる（Ｓ４２）。そして、店舗Ａの従業員は、ディスプレイ２３に表示されたガイドメッセージを見た後に、メーカに電話をして条件に合う靴を発注すればよい。
【００７３】
さらに他の例として、端末プログラム６５は、処理結果データから抽出した特徴が“転送依頼票”に一致すると判断したことに応じて（Ｓ３８：転送依頼票）、特徴“転送依頼票”に対応する次ジョブＩＤ“００５”のジョブレコードに含まれる動作情報“転送依頼票のプリント”に従って、通信Ｉ／Ｆ５５を通じてＭＦＰ１０Ａにプリント指示情報を送信する（Ｓ５１）。Ｓ５１で送信されるプリント指示情報は、例えば、Ｓ３７で受信した転送依頼票データと、ジョブＩＤ“００５”と、動作情報に含まれる動作ＩＤ“プリント”及び実行パラメータとを含む。Ｓ５１の処理は、プリント指示処理の一例である。
【００７４】
また、端末プログラム６５は、ジョブＩＤ“００５”のジョブレコードにメッセージデータが含まれることに応じて、通信Ｉ／Ｆ５５を通じてＭＦＰ１０Ａに表示指示情報を送信する。ここで送信される表示指示情報は、例えば、プリント動作で画像を記録したシートの取り扱い方を示すガイドメッセージ“転送依頼票に記入してスキャナにセットして下さい。”を示すメッセージデータを含む。この処理は、表示指示処理の一例である。なお、端末プログラム６５は、表示指示情報をプリント指示情報に含めて送信してもよいし、プリント指示情報及び表示指示情報を別々に送信してもよい。
【００７５】
次に、ＭＦＰ１０Ａの装置プログラム３５は、通信Ｉ／Ｆ２５を通じて表示指示情報を受信したことに応じて、受信した表示指示情報のガイドメッセージ“転送依頼票に記入してスキャナにセットして下さい。”を、ディスプレイ２３に表示させる。また、装置プログラム３５は、通信Ｉ／Ｆ２５を通じて情報処理端末５０からプリント指示情報を受信したことに応じて（Ｓ５１）、受信したプリント指示情報に従ってプリンタ１１にプリント動作を実行させる（Ｓ５２）。すなわち、プリンタ１１は、プリント指示情報に含まれる転送依頼票データで示される画像を、プリント指示情報に含まれる実行パラメータに従ってシートに記録する。
【００７６】
これにより、図１０（Ａ）に示される転送依頼票がＭＦＰ１０Ａから出力される。そして、店舗Ａの従業員は、ディスプレイ２３に表示されたガイドメッセージを見た後に、ＭＦＰ１０Ａから出力された転送依頼票に必要事項（例えば、“期限：”に対応する靴の発送期限、“担当：”に対応する担当者の氏名）を記入して、ＭＦＰ１０ＡのＡＤＦにセットすればよい（Ｓ５３）。次に、ＭＦＰ１０Ａの装置プログラム３５は、ＡＤＦに原稿がセットされたことを検出センサを通じて検出したことに応じて（Ｓ５３）、通信Ｉ／Ｆ２５を通じて情報処理端末５０にジョブ要求情報を送信する（Ｓ５４）。ここで送信されるジョブ要求情報は、例えば、Ｓ５１で受信したプリント指示情報に含まれるジョブＩＤ“００５”を含む。
【００７７】
次に、端末プログラム６５は、ジョブＩＤ“００５”を含むジョブ要求情報を、通信Ｉ／Ｆ５５を通じてＭＦＰ１０Ａから受信する（Ｓ５４）。次に、端末プログラム６５は、ジョブＩＤ“００５”に対応する次ジョブＩＤ“００７”のジョブレコードに含まれる動作情報“発送依頼票のスキャン”に従って、通信Ｉ／Ｆ５５を通じてＭＦＰ１０Ａにスキャン指示情報を送信する（Ｓ５５）。Ｓ５５で送信されるスキャン指示情報は、例えば、ジョブＩＤ“００７”と、動作情報に含まれる動作ＩＤ“スキャン”及び実行パラメータとを含む。Ｓ５５の処理は、スキャン指示処理の一例である。
【００７８】
また、端末プログラム６５は、ジョブＩＤ“００７”のジョブレコードにメッセージデータが含まれることに応じて、通信Ｉ／Ｆ５５を通じてＭＦＰ１０Ａに表示指示情報を送信する。ここで送信される表示指示情報は、例えば、メッセージデータ“転送依頼票をスキャンして下さい。”を含む。この処理は、表示指示処理の一例である。なお、端末プログラム６５は、表示指示情報をスキャン指示情報に含めて送信してもよいし、スキャン指示情報及び表示指示情報を別々に送信してもよい。
【００７９】
次に、ＭＦＰ１０Ａの装置プログラム３５は、通信Ｉ／Ｆ２５を通じて表示指示情報を受信したことに応じて、受信した表示指示情報のガイドメッセージ“転送依頼票をスキャンして下さい。”を、ディスプレイ２３に表示させる。また、装置プログラム３５は、通信Ｉ／Ｆ２５を通じてスキャン指示情報を受信したことに応じて、ユーザＩ／Ｆ２４の［スキャン］ボタンが押下されるまで待機する。これにより、ＭＦＰ１０ＡのＡＤＦに転送依頼票をセットした従業員は、ディスプレイ２３に表示されたガイドメッセージを見た後に、［スキャン］ボタンを押下すればよい。
【００８０】
次に、装置プログラム３５は、［スキャン］ボタンを押下する操作をユーザＩ／Ｆ２４を通じて受け付けたことに応じて、受信したスキャン指示情報に従ってスキャナ１２にスキャン動作を実行させる（Ｓ５６）。すなわち、スキャナ１２は、スキャン指示情報に含まれる実行パラメータに従って、ＡＤＦにセットされた転送依頼票を読み取って、スキャンデータ（以下、「転送依頼票データ」と表記する。）を生成する。そして、装置プログラム３５は、スキャナ１２が生成した転送依頼票データを、スキャン指示情報の応答として、通信Ｉ／Ｆ２５を通じて情報処理端末５０に送信する（Ｓ５７）。なお、Ｓ５７で送信される転送依頼票データには、Ｓ５５で受信したスキャン指示情報に含まれるジョブＩＤ“００７”が付加される。
【００８１】
次に、端末プログラム６５は、通信Ｉ／Ｆ５５を通じてＭＦＰ１０Ａから転送依頼票データを受信する（Ｓ５７）。Ｓ５７の処理は、第１受信処理の一例である。次に、端末プログラム６５は、受信した転送依頼票データに付加されたジョブＩＤ“００７”のジョブレコードに特徴情報が設定されていないので、Ｓ２０＆Ｓ２１の処理を実行しない。そして、端末プログラム６５は、ジョブＩＤ“００７”に対応する次ジョブＩＤ“００８”のジョブレコードに含まれる動作情報“転送依頼票データのＦＡＸ送信”に従って、通信Ｉ／Ｆ５５を通じてＭＦＰ１０ＡにＦＡＸ指示情報を送信する（Ｓ５８）。ＦＡＸ指示情報は、ＦＡＸ送信動作の実行を指示するための情報である。Ｓ５８で送信されるＦＡＸ指示情報は、例えば、Ｓ５７で受信した転送依頼票データと、ジョブＩＤ“００８”と、ＦＡＸ送信先のＭＦＰ１０Ｃを識別するＦＡＸ番号とを含む。Ｓ５８の処理は、出力指示処理の一例である。
【００８２】
また、端末プログラム６５は、ジョブＩＤ“００８”のジョブレコードにメッセージデータが含まれることに応じて、通信Ｉ／Ｆ５５を通じてＭＦＰ１０Ａに表示指示情報を送信する。ここで送信される表示指示情報は、例えば、メッセージデータ“転送依頼票をＦＡＸしました。”を含む。この処理は、表示指示処理の一例である。なお、端末プログラム６５は、表示指示情報をＦＡＸ指示情報に含めて送信してもよいし、ＦＡＸ指示情報及び表示指示情報を別々に送信してもよい。
【００８３】
次に、装置プログラム３５は、通信Ｉ／Ｆ２５を通じてＦＡＸ指示情報を受信したことに応じて（Ｓ５８）、受信したＦＡＸ指示情報に従ってＦＡＸ−Ｉ／Ｆ１３にＦＡＸ送信動作を実行させる（Ｓ５９）。すなわち、ＦＡＸ−Ｉ／Ｆ１３は、ＦＡＸ指示情報に含まれるＦＡＸ番号で識別されるＭＦＰ１０Ｃに、ＦＡＸ指示情報に含まれる転送依頼票データをＦＡＸ送信する。また、ＭＦＰ１０Ａの装置プログラム３５は、通信Ｉ／Ｆ２５を通じて表示指示情報を受信したことに応じて、受信した表示指示情報のガイドメッセージ“転送依頼票をＦＡＸしました。”を、ディスプレイ２３に表示させる。そして、店舗Ａの従業員は、ガイドメッセージを見た後に、希望の靴が店舗Ｂから送られてくることを、顧客に案内すればよい。
【００８４】
さらに、ＭＦＰ１０Ｃの装置プログラム３５は、ＦＡＸ−Ｉ／Ｆ１３を通じてＭＦＰ１０Ａから転送依頼票データをＦＡＸ受信する（Ｓ５９）。次に、装置プログラム３５は、ＦＡＸ受信した転送依頼票データで示される画像を、シートに記録するプリント動作をプリンタ１１に実行させてもよいし、ディスプレイ２３に表示させてもよい。そして、店舗Ｂの従業員は、シートに記録された転送依頼票或いはディスプレイ２３に表示された転送依頼票を見て、条件に合致する靴を店舗Ａに送ればよい。
【００８５】
次に図８を参照して、店舗Ａの営業終了後の業務の一例を説明する。店舗Ａの店長は、図１０（Ｂ）に示される在庫リスト、売上報告書、及び勤怠報告書を、１日の営業が終了した後（例えば、２１時）に、情報処理端末５０を用いて作成する。在庫リストは、１日の営業が終了した後の店舗Ａの在庫の一覧表である。売上報告書は、店舗Ａにおける１日の売上を示す。勤怠報告書は、店舗Ａに出勤した従業員の出勤時間及び退社時間を示す。在庫リスト、売上報告書、及び勤怠報告書は、日報の一例である。
【００８６】
次に、店舗Ａの店長は、作成した日報をシートに記録するプリント動作を、ＭＦＰ１０Ａのプリンタ１１に実行させる。そして、店舗Ａの店長は、ログインＩＤ“Ａｄｍｉｎ”及びパスワード“ａｂｃ”を用いてＭＦＰ１０Ａをログイン状態に切り替えた後に、シートに記録された日報をＡＤＦにセットする（Ｓ６１）。ＭＦＰ１０Ａの装置プログラム３５は、ＡＤＦに原稿がセットされたことを検出センサを通じて検出したことに応じて、通信Ｉ／Ｆ２５を通じて情報処理端末５０にジョブ要求情報を送信する（Ｓ６２）。Ｓ６２ＤＥ送信されるジョブ要求情報は、例えば、ジョブＩＤ“０００”、装置ＩＤ“ＭＦＰ−Ａ”、及びログインＩＤ“Ａｄｍｉｎ”を含む。
【００８７】
次に、端末プログラム６５は、通信Ｉ／Ｆ５５を通じてＭＦＰ１０Ａからジョブ要求情報を受信する（Ｓ６２）。Ｓ６２の処理は、第１取得処理の一例である。次に、端末プログラム６５は、受信したジョブ要求情報にジョブＩＤ“０００”が含まれていることに応じて、現在時刻を示す時刻情報“２１時”、装置ＩＤ“ＭＦＰ−Ａ”、及びログインＩＤ“Ａｄｍｉｎ”を対象状況情報として取得する。この処理は、第２取得処理の一例である。次に、端末プログラム６５は、図３（Ａ）に示されるワークフローリストに登録されたＷＦ−ＩＤのうち、対応する状況情報が現在時刻“２１時”、装置ＩＤ“ＭＦＰ−Ａ”、ログインＩＤ“Ａｄｍｉｎ”を含むＷＦ−ＩＤ“Ｂ”を特定する。そして、端末プログラム６５は、特定したＷＦ−ＩＤ“Ｂ”に対応する対象ジョブリストとして、図３（Ｂ）に示されるジョブリストをメモリ６２から読み出す。この処理は、読出処理の一例である。
【００８８】
次に、端末プログラム６５は、読み出したジョブリストのジョブレコードのうち、ジョブＩＤ“００１”のジョブレコードに含まれる動作情報“日報のスキャン”に従って、ジョブ要求情報の送信元のＭＦＰ１０Ａに通信Ｉ／Ｆ５５を通じてスキャン指示情報を送信する（Ｓ６３）。Ｓ６３で送信されるスキャン指示情報は、例えば、ジョブＩＤ“００１”と、動作情報に含まれる動作ＩＤ“スキャン”及び実行パラメータとを含む。Ｓ６３の処理は、スキャン指示処理の一例である。
【００８９】
また、端末プログラム６５は、ジョブＩＤ“００１”のジョブレコードにメッセージデータが含まれることに応じて、通信Ｉ／Ｆ５５を通じてＭＦＰ１０Ａに表示指示情報を送信する。ここで送信される表示指示情報は、例えば、対象ジョブリストで定義されたワークフローの内容を示すガイドメッセージ“日報をスキャンして下さい。”を示すメッセージデータを含む。この処理は、表示指示処理の一例である。なお、端末プログラム６５は、表示指示情報をスキャン指示情報に含めて送信してもよいし、スキャン指示情報及び表示指示情報を別々に送信してもよい。
【００９０】
次に、ＭＦＰ１０Ａの装置プログラム３５は、通信Ｉ／Ｆ２５を通じて表示指示情報を受信したことに応じて、受信した表示指示情報のガイドメッセージ“日報をスキャンして下さい。”を、ディスプレイ２３に表示させる。また、装置プログラム３５は、通信Ｉ／Ｆ２５を通じてスキャン指示情報を受信したことに応じて、ユーザＩ／Ｆ２４の［スキャン］ボタンが押下されるまで待機する。これにより、ＭＦＰ１０ＡのＡＤＦに日報をセットした従業員は、ディスプレイ２３に表示されたガイドメッセージを見た後に、［スキャン］ボタンを押下すればよい。
【００９１】
次に、装置プログラム３５は、［スキャン］ボタンを押下する操作をユーザＩ／Ｆ２４を通じて受け付けたことに応じて、受信したスキャン指示情報に従ってスキャナ１２にスキャン動作を実行させる（Ｓ６４）。すなわち、スキャナ１２は、スキャン指示情報に含まれる実行パラメータに従って、ＡＤＦにセットされた日報を順番に読み取って、スキャンデータ（以下、「日報データ」と表記する。）を生成する。そして、装置プログラム３５は、スキャナ１２が生成した日報データを、スキャン指示情報の応答として、通信Ｉ／Ｆ２５を通じて情報処理端末５０に送信する（Ｓ６５）。なお、Ｓ６５で送信される日報データには、Ｓ６３で受信したスキャン指示情報に含まれるジョブＩＤ“００１”が付加される。
【００９２】
次に、端末プログラム６５は、通信Ｉ／Ｆ５５を通じてＭＦＰ１０Ａから日報データを受信する（Ｓ６５）。Ｓ６５の処理は、第１受信処理の一例である。次に、端末プログラム６５は、受信した日報データの特徴を抽出する。端末プログラム６５は、例えば、日報データに含まれる文字列（例えば、“在庫リスト”、“売上報告書”、“勤怠報告書”）を、周知のＯＣＲ技術を用いて日報データの特徴として抽出してもよい。次に、端末プログラム６５は、日報データから抽出した特徴と、日報データに付加されたジョブＩＤ“００１”のジョブレコードで示される特徴とが一致するか否かを判断する（Ｓ６６）。この処理は、第１判断処理の一例である。そして、端末プログラム６５は、Ｓ６６の判断結果に対応する次のジョブを実行する。
【００９３】
一例として、端末プログラム６５は、日報データから抽出した特徴がジョブレコードの特徴と一致しないと判断したことに応じて（Ｓ６６：Ｎｏ）、次ジョブＩＤ“００２”のジョブレコードに含まれる動作情報“不足シートの再スキャン”に従って、通信Ｉ／Ｆ５５を通じてＭＦＰ１０Ａに再スキャン指示情報を送信する（Ｓ６３）。Ｓ６３で送信される再スキャン指示情報は、例えば、ジョブＩＤ“００２”と、動作情報に含まれる動作ＩＤ“スキャン”及び実行パラメータとを含む。“Ｓ５６：Ｎｏ”と判断した後のＳ６３の処理は、再スキャン指示処理の一例である。
【００９４】
また、端末プログラム６５は、ジョブＩＤ“００２”のジョブレコードにメッセージデータが含まれることに応じて、通信Ｉ／Ｆ５５を通じてＭＦＰ１０Ａに表示指示情報を送信する。ここで送信される表示指示情報は、例えば、Ｓ５６で一致しないと判断した特徴を示すガイドメッセージ“［＊］をスキャンして下さい。”を示すメッセージデータを含む。なお、［＊］には、文字列“在庫リスト”、“売上報告書”、“勤怠報告書”のうち、Ｓ５５で受信した日報データに含まれていない画像を示す文字列に置換される。この処理は、表示指示処理の一例である。なお、端末プログラム６５は、表示指示情報を再スキャン指示情報に含めて送信してもよいし、再スキャン指示情報及び表示指示情報を別々に送信してもよい。
【００９５】
再スキャン指示情報を受信したＭＦＰ１０Ａの動作は、前述のＳ６４、Ｓ６５と同様である。そして、端末プログラム６５は、再スキャン指示情報の応答として日報データを、通信Ｉ／Ｆ５５を通じてＭＦＰ１０Ａから再び受信する（Ｓ６５）。次に、端末プログラム６５は、Ｓ６５で受信した複数の日報データから抽出した特徴と、ジョブＩＤ“００２”のジョブレコードで示される特徴とが一致するか否かを判断する（Ｓ６６）。
【００９６】
そして、端末プログラム６５は、日報データから抽出した特徴がジョブレコードの特徴と一致すると判断したことに応じて（Ｓ６６：Ｙｅｓ）、次ジョブＩＤ“００３”のジョブレコードに含まれる動作情報“日報データのアップロード”に従って、Ｓ６５で受信した日報データを通信Ｉ／Ｆ５５を通じてサーバ８０に送信する（Ｓ６７）。Ｓ６７で送信される日報データには、ジョブＩＤ“００３”が付加される。Ｓ６７の処理は、出力指示処理の一例である。また、サーバ８０は、情報処理端末５０から日報データを受信したことに応じて、受信した日報データをサーバメモリに記憶させる。
【００９７】
また、端末プログラム６５は、ジョブＩＤ“００３”のジョブレコードにメッセージデータが含まれることに応じて、通信Ｉ／Ｆ５５を通じてＭＦＰ１０Ａに表示指示情報を送信する（Ｓ６８）。ここで送信される表示指示情報は、例えば、メッセージデータ“日報をアップロードしました。”と、ジョブＩＤ“００３”とを含む。この処理は、表示指示処理の一例である。また、ＭＦＰ１０Ａの装置プログラム３５は、通信Ｉ／Ｆ２５を通じて情報処理端末５０から表示指示情報を受信したことに応じて、受信した表示指示情報のガイドメッセージ“日報をアップロードしました。”を、ディスプレイ２３に表示させる（Ｓ６９）。
【００９８】
［実施形態の作用効果］
上記の実施形態によれば、メモリ６２に記憶された複数ジョブリストのうち、取得したワークフロー要求情報に基づいて特定される対象状況情報に対応付けられた対象ジョブリストが選択されるので、ＭＦＰ１０Ａのユーザの作業負担を軽減することができる。より詳細には、ワークフロー要求情報の受信時刻、ワークフロー要求情報の送信元のＭＦＰ１０の装置ＩＤ、ワークフロー要求情報の送信元のＭＦＰ１０にログインしたログインＩＤ、或いはこれらの組み合わせに対応するジョブリストを選択することによって、ＭＦＰ１０のユーザの操作負担を軽減しつつ、適切なワークフローを実行することができる。
【００９９】
すなわち、上記の実施形態のように、店舗Ａに設置されているＭＦＰ１０Ａにおいて、営業時間中と営業終了後とで実行可能なワークフローを自動的に切り替えることができる。これにより、店舗Ａの従業員が特別に意識しなくても、１台のＭＦＰ１０Ａに様々なワークフローを実行させることができる。また、図８を参照して説明したように、店長以外の従業員によって日報をアップロードするワークフローが実行されるのを抑制できる。すなわち、サーバ８０にアップロードされた日報データは、所定の権限を持ったユーザ（すなわち、店長）によって作成されたものであるとの信頼性が向上する。さらに詳細は省略するが、店舗Ａに設置された複数のＭＦＰ１０Ａ、１０Ｂそれぞれに異なるワークフローを割り当てることもできる。
【０１００】
また、上記の実施形態によれば、対象状況情報に対応付けられた複数のジョブリストが存在する場合に（Ｓ１５：複数）、複数のジョブリストのうちの１つを選択する操作をＭＦＰ１０のユーザに要求することになる。しかしながら、ワークフロー要求情報に基づいて特定した対象状況情報でジョブリストを事前に絞り込んでいるので、メモリ６２に記憶された全てのジョブリストのうちから所望のジョブリストを選択する場合と比較すれば、ＭＦＰ１０のユーザの操作負担が軽減される。
【０１０１】
また、上記の実施形態によれば、ジョブＩＤ“００１”のジョブレコードに設定された第１ガイドメッセージをＭＦＰ１０Ａのディスプレイ２３に表示させるので、これから実行されるワークフローの内容をＭＦＰ１０Ａのユーザに認識させることができる。なお、「ワークフローの内容」とは、例えば、予めワークフローに割り当てられた名称であってもよいし、スキャン動作で読み取らせる原稿の名称であってもよい。
【０１０２】
また、上記の実施形態によれば、ＭＦＰ１０Ａから適切なスキャンデータを受信した場合に出力指示処理が実行され（Ｓ６６：Ｙｅｓ→Ｓ６７）、ＭＦＰ１０Ａから適切でないスキャンデータを受信した場合にスキャン動作が再び指示されると共に、ガイドメッセージによって再スキャンの必要をＭＦＰ１０Ａのユーザに認識させることができる（Ｓ６６：Ｎｏ→Ｓ６３）。これにより、適切なスキャンデータを取得することができる。
【０１０３】
また、上記の実施形態によれば、スキャンデータを処理した結果を示す発送通知票或いは転送依頼票がＭＦＰ１０Ａから出力されると共に、ガイドメッセージによって当該シートの取り扱い方をユーザに認識させることができる。なお、Ｓ３４、Ｓ５６でスキャン動作を実行するＭＦＰ１０と、Ｓ４０、Ｓ５２でプリント動作を実行するＭＦＰ１０とは、同一でもよいし、異なってもよい。すなわち、ＭＦＰ１０ＡがＳ３４、Ｓ５６でスキャン動作を実行し、ＭＦＰ１０ＢがＳ４０、Ｓ５２でプリント動作を実行してもよい。
【０１０４】
なお、上記の実施形態では、ＡＤＦに原稿がセットされたタイミングでワークフロー要求情報が送信される例を説明した。しかしながら、ワークフロー要求情報が送信されるタイミングは、これに限定されない。他の例として、装置プログラム３５は、外部電源からＭＦＰ１０への電力の供給が開始された（すなわち、ＭＦＰ１０の電源スイッチが“ＯＦＦ”→“ＯＮ”に切り替えられた）ことに応じて、ワークフロー要求情報を送信してもよい。さらに他の例として、装置プログラム３５は、ＭＦＰ１０が休眠状態から駆動状態に切り替えられたことに応じて、ワークフロー要求情報を送信してもよい。このようなトリガを採用することによって、ＭＦＰ１０がワークフローを実行可能になったタイミングでワークフロー要求情報が送信される。
【０１０５】
なお、休眠状態は、例えば、ＭＦＰ１０の構成要素のうち、少なくともスキャナ１２に電力が供給されていない状態である。より詳細には、休眠状態は、ＭＦＰ１０の構成要素のうち、ユーザＩ／Ｆ２４、通信Ｉ／Ｆ２５、ＣＰＵ３１、及びメモリ３２に電力が供給されており、プリンタ１１、スキャナ１２、及びＦＡＸ−Ｉ／Ｆ１３に電力が供給されていない状態である。一方、駆動状態は、スキャナ１２に電力が供給されている状態である。より詳細には、駆動状態は、ＭＦＰ１０の全ての構成要素に電力が供給されている状態である。そして、休眠状態のＭＦＰ１０は、ユーザＩ／Ｆ２４を通じて入力操作を受け付けたことに応じて、或いは通信Ｉ／Ｆ２５を通じて外部装置から情報を受信したことに応じて、駆動状態に状態変化する。一方、駆動状態のＭＦＰ１０は、ユーザＩ／Ｆ２４を通じて入力操作を受け付けない期間が閾値時間に達し、且つ通信Ｉ／Ｆ２５を通じて情報を受信しない期間が閾値期間に達したことに応じて、休眠状態に状態変化する。
【０１０６】
また、図３（Ａ）に示されるワークフローレコードは、メッセージデータをさらに含んでもよい。ワークフローレコードのメッセージデータは、ＷＦ−ＩＤで識別されるワークフローの内容を示すメッセージを含む。そして、端末プログラム６５は、ワークフローレコードの時間情報及びメッセージデータのセットを、通信Ｉ／Ｆ５５を通じてＭＦＰ１０に送信してもよい。そして、待機状態のＭＦＰ１０の装置プログラム３５は、通信Ｉ／Ｆ２５を通じて情報処理端末５０から時間情報及びメッセージデータのセットを受信したことに応じて、現在時刻を含む時間情報に対応するメッセージデータで示されるメッセージを、ディスプレイ２３に表示させてもよい。
【０１０７】
待機状態とは、例えば、ＭＦＰ１０がワークフローを実行していない状態を指す。すなわち、待機状態とは、ワークフロー要求情報を送信してからワークフローが終了するまでの期間を除いたＭＦＰ１０の状態を指す。これにより、ワークフロー要求情報を送信する前のＭＦＰ１０のディスプレイ２３に、現在時刻で実行可能なワークフローを示すメッセージを表示させることができる。
【０１０８】
また、スキャンジョブ（図３（Ｂ）のジョブＩＤ“００１”、“００２”、図４のジョブＩＤ“００１”、“００７”）のジョブレコードは、複数のヘッダ情報のうちの１つをさらに含んでもよい。ヘッダ情報は、当該ジョブレコードで示されるスキャンジョブで生成されたスキャンデータに対するデータ処理を示す情報である。端末プログラム６５は、Ｓ３５、Ｓ５５で受信したスキャンデータに付加されたジョブＩＤに対応するヘッダ情報を、対象ヘッダ情報としてメモリ６２から読み出してもよい。そして、端末プログラム６５は、読み出した対象ヘッダ情報を付加したスキャンデータを、サーバ８０に送信してもよい。これにより、当該スキャンデータに対してサーバ８０が実行するデータ処理を、情報処理端末５０でハンドリングすることができる。
【０１０９】
また、スキャンジョブ（図３（Ｂ）のジョブＩＤ“００１”、“００２”、図４のジョブＩＤ“００１”、“００７”）のジョブレコードは、複数のサーバＩＤのうちの１つをさらに含んでもよい。サーバＩＤ（例えば、ＵＲＬ）は、システム１００を構成する複数のサーバのうちの１つを識別する。端末プログラム６５は、Ｓ３５、Ｓ５５で受信したスキャンデータに付加されたジョブＩＤに対応するサーバＩＤを、対象サーバＩＤとしてメモリ６２から読み出してもよい。そして、端末プログラム６５は、読み出した対象サーバＩＤで識別されるサーバに、スキャンデータを送信してもよい。これにより、当該スキャンデータに対するデータ処理を実行するサーバを、情報処理端末５０でハンドリングすることができる。
【０１１０】
また、上記の実施形態において、ＭＦＰ１０の装置プログラム３５は、ワークフロー要求情報の応答としてスキャン指示情報を受信したことに応じて、スキャン動作を実行する例を説明した。しかしながら、スキャン動作のトリガは、前述の例に限定されない。他の例として、装置プログラム３５は、ワークフロー要求情報の送信トリガを検出したことに応じて、スキャン動作を実行してもよい。そして、装置プログラム３５は、スキャン動作で生成したスキャンデータを含むワークフロー要求情報を、通信Ｉ／Ｆ２５を通じて情報処理端末５０に送信してもよい。
【０１１１】
さらに、上記の実施形態で情報処理端末５０が実行した処理の一部又は全部は、ＭＦＰ１０によって実行されてもよい。すなわち、「スキャナが接続されたコンピュータ」とは、通信ネットワーク１０１を通じてＭＦＰ１０に接続された情報処理端末５０に限定されず、通信バス３３を通じてスキャナ１２に接続されたＣＰＵ３１を指してもよい。この場合のＣＰＵ３１は、スキャナ１２が生成したスキャンデータを、通信バス３３を通じてスキャナ１２から取得してもよい。
【０１１２】
また、上記の実施形態のＭＦＰ１０及び情報処理端末５０において、メモリ３２、６２に記憶された各種プログラムがＣＰＵ３１、６１によって実行されることによって、本発明のントローラが実行する各処理が実現される例を説明した。しかしながら、コントローラの構成はこれに限定されず、その一部又は全部を集積回路等のハードウェアで実現してもよい。
【０１１３】
さらに、本発明は、ＭＦＰ１０及び情報処理端末５０として実現できるだけでなく、ＭＦＰ１０及び情報処理端末５０に処理を実行させるプログラムとして実現してもよい。そして、当該プログラムは、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな記録媒体に記録されて提供されてもよい。ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな記録媒体は、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等の他、通信ネットワーク１０１を通じてＭＦＰ１０及び情報処理端末５０に接続可能なサーバに搭載された記憶部を含んでもよい。そして、サーバの記憶部に記憶されたプログラムは、当該プログラムを示す情報或いは信号として、インターネット等の通信ネットワーク１０１を通じて配信されてもよい。
【符号の説明】
【０１１４】
１０・・・ＭＦＰ
１１・・・プリンタ
１２・・・スキャナ
１３・・・ＦＡＸ−Ｉ／Ｆ
２３，５３・・・ディスプレイ
２４，５４・・・ユーザＩ／Ｆ
２５，５５・・・通信Ｉ／Ｆ
３１，６１・・・ＣＰＵ
３２，６２・・・メモリ
３５・・・装置プログラム
５０・・・情報処理端末
６５・・・端末プログラム
８０・・・サーバ
【図１】
2019004303.tif 000003
【図２】
2019004303.tif 000004
【図３】
2019004303.tif 000005
【図４】
2019004303.tif 000006
【図５】
2019004303.tif 000007
【図６】
2019004303.tif 000008
【図７】
2019004303.tif 000009
【図８】
2019004303.tif 000010
【図９】
2019004303.tif 000011
【図１０】
2019004303.tif 000012