(57)【特許請求の範囲】
【請求項１】
原稿を読み取ってスキャンデータを生成するスキャン動作を実行するスキャナと、 
通信インタフェースと、 
ディスプレイと、 
入力インタフェースと、 
メモリと、 
コントローラとを備える画像処理装置であって、 
前記コントローラは、 
指示データの送信を要求する送信要求情報を、前記通信インタフェースを通じてサーバに送信する第１送信処理と、 
前記送信要求情報の応答として前記サーバが送信した前記指示データを、前記通信インタフェースを通じて前記サーバから受信する第１受信処理と、 
前記第１受信処理で受信した前記指示データが画面指示データ及び動作指示データのどちらであるかを判断する第１判断処理と、 
前記画面指示データであると前記第１判断処理で判断したことに応じて、 
当該画面指示データで指示された設定画面を、前記ディスプレイに表示させる表示処理とを実行し、前記設定画面は、第１設定項目に対応するパラメータをユーザに指定させるための画面であり、 
前記コントローラは、 
前記設定画面を前記ディスプレイに表示させた後に、前記画面指示データで指示された前記第１設定項目に対応する前記パラメータを指定するユーザ操作を、前記入力インタフェースを通じて受け付ける受付処理と、 
前記受付処理で指定された前記パラメータを、前記画面指示データで指示された前記第１設定項目と対応付けて前記メモリに記憶させる第１記憶処理と、 
前記画面指示データで指示された次の前記指示データの送信を要求する前記送信要求情報を、前記通信インタフェースを通じて前記サーバに送信する前記第１送信処理とを実行し、前記送信要求情報は、前記スキャン動作の実行条件を示す前記パラメータが前記受付処理で指定された場合に当該パラメータを含み、 
前記コントローラは、 
前記動作指示データであると前記第１判断処理で判断したことに応じて、 
前記動作指示データに含まれる前記パラメータに従って、前記スキャナに前記スキャン動作を実行させるスキャン指示処理と、 
テンプレートデータを取得する取得処理とを実行し、前記テンプレートデータは、メタデータに含めるべき前記パラメータに対応する前記第１設定項目を示すための情報であり、 
前記コントローラは、 
前記取得処理で取得した前記テンプレートデータで示される前記第１設定項目に対応付けて前記メモリに記憶された前記パラメータを用いて、前記メタデータを生成する生成処理と、 
前記スキャンデータ及び前記メタデータを、前記通信インタフェースを通じて前記サーバに送信する第２送信処理とを実行し、 
前記テンプレートデータは、 
前記メタデータに含めるべき情報である固定情報と、 
前記第１設定項目に対応する前記パラメータを前記メタデータに含めることを示す第１予約語とを含むことが可能であり、 
前記コントローラは、前記生成処理において、 
前記テンプレートデータが前記第１予約語を含むか否かを判断する第２判断処理と、 
前記第１予約語を含むと前記第２判断処理で判断したことに応じて、前記第１設定項目に対応する前記パラメータを、前記メモリから読み出す第１読出処理と、 
前記テンプレートデータに含まれる前記第１予約語を、前記第１読出処理で読み出した前記パラメータに置換する第１置換処理とを実行することによって、前記固定情報及び前記パラメータを含む前記メタデータを生成し、 
前記テンプレートデータは、前記第１予約語に対応付けられた第１識別情報を含み、前記第１識別情報は、複数の前記第１設定項目のうちの１つを識別するための情報であり、 
前記画面指示データは、前記設定画面を通じてユーザに指定させる前記パラメータに対応する前記第１設定項目の前記第１識別情報を含み、 
前記コントローラは、 
少なくとも１回実行する前記受付処理において、複数の前記パラメータを指定するユーザ操作を、前記入力インタフェースを通じて受け付け、 
少なくとも１回実行する前記第１記憶処理において、前記受付処理で指定された複数の前記パラメータそれぞれを、当該受付処理の前に受信した前記画面指示データに含まれる前記第１識別情報と対応付けて前記メモリに記憶させ、 
前記生成処理において、 
前記第１予約語を含むと前記第２判断処理で判断したことに応じて、前記第１予約語に対応付けられた前記第１識別情報を特定する第１特定処理を実行し、 
前記第１読出処理において、前記第１特定処理で特定した前記第１識別情報と対応付けて前記メモリに記憶されている前記パラメータを、前記メモリから読み出す画像処理装置。 
【請求項２】
前記コントローラは、 
前記動作指示データであると前記第１判断処理で判断したことに応じて、前記動作指示データに含まれる前記パラメータを、前記動作指示データで示される第２設定項目と対応付けて前記メモリに記憶させる第２記憶処理を実行し、 
前記生成処理において、前記テンプレートデータで示される前記第１設定項目及び前記第２設定項目に対応付けて前記メモリに記憶された前記パラメータを用いて、前記メタデータを生成する請求項１に記載の画像処理装置。 
【請求項３】
前記テンプレートデータは、 
前記メタデータに含めるべき情報である固定情報と、 
前記第２設定項目に対応する前記パラメータを前記メタデータに含めることを示す第２予約語とを含むことが可能であり、 
前記コントローラは、前記生成処理において、 
前記テンプレートデータが前記第２予約語を含むか否かを判断する第３判断処理と、 
前記第２予約語を含むと前記第３判断処理で判断したことに応じて、前記第２設定項目に対応する前記パラメータを、前記メモリから読み出す第２読出処理と、 
前記テンプレートデータに含まれる前記第２予約語を、前記第２読出処理で読み出した前記パラメータに置換する第２置換処理とを実行することによって、前記固定情報及び前記パラメータを含む前記メタデータを生成する請求項２に記載の画像処理装置。 
【請求項４】
前記テンプレートデータは、前記第２予約語に対応付けられた第２識別情報を含み、前記第２識別情報は、複数の前記第２設定項目のうちの１つを識別するための情報であり、 
前記動作指示データは、複数の前記第２識別情報と、複数の前記第２識別情報それぞれで識別される前記第２設定項目に対応する複数の前記パラメータとを含み、 
前記コントローラは、 
前記第２記憶処理において、前記動作指示データに含まれる複数の前記第２識別情報及び複数の前記パラメータを対応付けて前記メモリに記憶させ、 
前記生成処理において、 
前記第２予約語を含むと前記第３判断処理で判断したことに応じて、前記第２予約語に対応付けられた前記第２識別情報を特定する第２特定処理を実行し、 
前記第２読出処理において、前記第２特定処理で特定した前記第２識別情報と対応付けて前記メモリに記憶されている前記パラメータを、前記メモリから読み出す請求項３に記載の画像処理装置。 
【請求項５】
原稿を読み取ってスキャンデータを生成するスキャン動作を実行するスキャナと、 
通信インタフェースと、 
ディスプレイと、 
入力インタフェースと、 
メモリと、 
コントローラとを備える画像処理装置であって、 
前記コントローラは、 
指示データの送信を要求する送信要求情報を、前記通信インタフェースを通じてサーバに送信する第１送信処理と、 
前記送信要求情報の応答として前記サーバが送信した前記指示データを、前記通信インタフェースを通じて前記サーバから受信する第１受信処理と、 
前記第１受信処理で受信した前記指示データが画面指示データ及び動作指示データのどちらであるかを判断する第１判断処理と、 
前記画面指示データであると前記第１判断処理で判断したことに応じて、 
当該画面指示データで指示された設定画面を、前記ディスプレイに表示させる表示処理とを実行し、前記設定画面は、第１設定項目に対応するパラメータをユーザに指定させるための画面であり、 
前記コントローラは、 
前記設定画面を前記ディスプレイに表示させた後に、前記画面指示データで指示された前記第１設定項目に対応する前記パラメータを指定するユーザ操作を、前記入力インタフェースを通じて受け付ける受付処理と、 
前記受付処理で指定された前記パラメータを、前記画面指示データで指示された前記第１設定項目と対応付けて前記メモリに記憶させる第１記憶処理と、 
前記画面指示データで指示された次の前記指示データの送信を要求する前記送信要求情報を、前記通信インタフェースを通じて前記サーバに送信する前記第１送信処理とを実行し、前記送信要求情報は、前記スキャン動作の実行条件を示す前記パラメータが前記受付処理で指定された場合に当該パラメータを含み、 
前記コントローラは、 
前記動作指示データであると前記第１判断処理で判断したことに応じて、 
前記動作指示データに含まれる前記パラメータに従って、前記スキャナに前記スキャン動作を実行させるスキャン指示処理と、 
テンプレートデータを取得する取得処理とを実行し、前記テンプレートデータは、メタデータに含めるべき前記パラメータに対応する前記第１設定項目を示すための情報であり、 
前記コントローラは、 
前記取得処理で取得した前記テンプレートデータで示される前記第１設定項目に対応付けて前記メモリに記憶された前記パラメータを用いて、前記メタデータを生成する生成処理と、 
前記スキャンデータ及び前記メタデータを、前記通信インタフェースを通じて前記サーバに送信する第２送信処理とを実行し、 
前記コントローラは、 
前記動作指示データであると前記第１判断処理で判断したことに応じて、前記動作指示データに含まれる前記パラメータを、前記動作指示データで示される第２設定項目と対応付けて前記メモリに記憶させる第２記憶処理を実行し、 
前記生成処理において、前記テンプレートデータで示される前記第１設定項目及び前記第２設定項目に対応付けて前記メモリに記憶された前記パラメータを用いて、前記メタデータを生成する画像処理装置。 
【請求項６】
前記テンプレートデータは、 
前記メタデータに含めるべき情報である固定情報と、 
前記第２設定項目に対応する前記パラメータを前記メタデータに含めることを示す第２予約語とを含むことが可能であり、 
前記コントローラは、前記生成処理において、 
前記テンプレートデータが前記第２予約語を含むか否かを判断する第３判断処理と、 
前記第２予約語を含むと前記第３判断処理で判断したことに応じて、前記第２設定項目に対応する前記パラメータを、前記メモリから読み出す第２読出処理と、 
前記テンプレートデータに含まれる前記第２予約語を、前記第２読出処理で読み出した前記パラメータに置換する第２置換処理とを実行することによって、前記固定情報及び前記パラメータを含む前記メタデータを生成する請求項５に記載の画像処理装置。 
【請求項７】
前記テンプレートデータは、前記第２予約語に対応付けられた第２識別情報を含み、前記第２識別情報は、複数の前記第２設定項目のうちの１つを識別するための情報であり、 
前記動作指示データは、複数の前記第２識別情報と、複数の前記第２識別情報それぞれで識別される前記第２設定項目に対応する複数の前記パラメータとを含み、 
前記コントローラは、 
前記第２記憶処理において、前記動作指示データに含まれる複数の前記第２識別情報及び複数の前記パラメータを対応付けて前記メモリに記憶させ、 
前記生成処理において、 
前記第２予約語を含むと前記第３判断処理で判断したことに応じて、前記第２予約語に対応付けられた前記第２識別情報を特定する第２特定処理を実行し、 
前記第２読出処理において、前記第２特定処理で特定した前記第２識別情報と対応付けて前記メモリに記憶されている前記パラメータを、前記メモリから読み出す請求項６に記載の画像処理装置。 
【請求項８】
原稿を読み取ってスキャンデータを生成するスキャン動作を実行するスキャナと、 
通信インタフェースと、 
ディスプレイと、 
入力インタフェースと、 
メモリと、 
コントローラとを備える画像処理装置であって、 
前記コントローラは、 
指示データの送信を要求する送信要求情報を、前記通信インタフェースを通じてサーバに送信する第１送信処理と、 
前記送信要求情報の応答として前記サーバが送信した前記指示データを、前記通信インタフェースを通じて前記サーバから受信する第１受信処理と、 
前記第１受信処理で受信した前記指示データが画面指示データ及び動作指示データのどちらであるかを判断する第１判断処理と、 
前記画面指示データであると前記第１判断処理で判断したことに応じて、 
当該画面指示データで指示された設定画面を、前記ディスプレイに表示させる表示処理とを実行し、前記設定画面は、第１設定項目に対応するパラメータをユーザに指定させるための画面であり、 
前記コントローラは、 
前記設定画面を前記ディスプレイに表示させた後に、前記画面指示データで指示された前記第１設定項目に対応する前記パラメータを指定するユーザ操作を、前記入力インタフェースを通じて受け付ける受付処理と、 
前記受付処理で指定された前記パラメータを、前記画面指示データで指示された前記第１設定項目と対応付けて前記メモリに記憶させる第１記憶処理と、 
前記画面指示データで指示された次の前記指示データの送信を要求する前記送信要求情報を、前記通信インタフェースを通じて前記サーバに送信する前記第１送信処理とを実行し、前記送信要求情報は、前記スキャン動作の実行条件を示す前記パラメータが前記受付処理で指定された場合に当該パラメータを含み、 
前記コントローラは、 
前記動作指示データであると前記第１判断処理で判断したことに応じて、 
前記動作指示データに含まれる前記パラメータに従って、前記スキャナに前記スキャン動作を実行させるスキャン指示処理と、 
テンプレートデータを取得する取得処理とを実行し、前記テンプレートデータは、メタデータに含めるべき前記パラメータに対応する前記第１設定項目を示すための情報であり、 
前記コントローラは、 
前記取得処理で取得した前記テンプレートデータで示される前記第１設定項目に対応付けて前記メモリに記憶された前記パラメータを用いて、前記メタデータを生成する生成処理と、 
前記スキャンデータ及び前記メタデータを、前記通信インタフェースを通じて前記サーバに送信する第２送信処理とを実行し、 
前記テンプレートデータは、 
前記メタデータに含めるべき情報である固定情報と、 
前記第１設定項目に対応する前記パラメータを前記メタデータに含めることを示す第１予約語とを含むことが可能であり、 
前記コントローラは、前記生成処理において、 
前記テンプレートデータが前記第１予約語を含むか否かを判断する第２判断処理と、 
前記第１予約語を含むと前記第２判断処理で判断したことに応じて、前記第１設定項目に対応する前記パラメータを、前記メモリから読み出す第１読出処理と、 
前記テンプレートデータに含まれる前記第１予約語を、前記第１読出処理で読み出した前記パラメータに置換する第１置換処理とを実行することによって、前記固定情報及び前記パラメータを含む前記メタデータを生成し、 
前記メモリは、該画像処理装置に固有の装置情報を、当該装置情報の種類を示す装置項目と対応付けて記憶するデータベース情報を含み、 
前記テンプレートデータは、前記装置項目に対応する前記装置情報を前記メタデータに含めることを示す第３予約語とを含むことが可能であり、 
前記コントローラは、前記生成処理において、 
前記テンプレートデータが前記第３予約語を含むか否かを判断する第４判断処理と、 
前記第３予約語を含むと前記第４判断処理で判断したことに応じて、前記装置項目に対応する前記装置情報を、前記メモリから読み出す第３読出処理と、 
前記テンプレートデータに含まれる前記第３予約語を、前記第３読出処理で読み出した前記装置情報に置換する第３置換処理とを実行することによって、前記固定情報、前記パラメータ、及び前記装置情報を含む前記メタデータを生成する画像処理装置。 
【請求項９】
前記テンプレートデータは、前記第３予約語に対応付けられた第３識別情報を含み、前記第３識別情報は、複数の前記装置項目のうちの１つを識別するための情報であり、 
前記データベース情報は、複数の前記第３識別情報と、複数の前記第３識別情報それぞれで識別される複数の前記装置情報とを含み、 
前記コントローラは、 
前記生成処理において、 
前記第３予約語を含むと前記第４判断処理で判断したことに応じて、前記第３予約語に対応付けられた前記第３識別情報を特定する第３特定処理を実行し、 
前記第３読出処理において、前記第３特定処理で特定した前記第３識別情報と対応付けて前記データベース情報に記憶されている前記装置情報を、前記メモリから読み出す請求項８に記載の画像処理装置。 
【請求項１０】
原稿を読み取ってスキャンデータを生成するスキャン動作を実行するスキャナと、 
通信インタフェースと、 
ディスプレイと、 
入力インタフェースと、 
メモリと、 
コントローラとを備える画像処理装置であって、 
前記コントローラは、 
指示データの送信を要求する送信要求情報を、前記通信インタフェースを通じてサーバに送信する第１送信処理と、 
前記送信要求情報の応答として前記サーバが送信した前記指示データを、前記通信インタフェースを通じて前記サーバから受信する第１受信処理と、 
前記第１受信処理で受信した前記指示データが画面指示データ及び動作指示データのどちらであるかを判断する第１判断処理と、 
前記画面指示データであると前記第１判断処理で判断したことに応じて、 
当該画面指示データで指示された設定画面を、前記ディスプレイに表示させる表示処理とを実行し、前記設定画面は、第１設定項目に対応するパラメータをユーザに指定させるための画面であり、 
前記コントローラは、 
前記設定画面を前記ディスプレイに表示させた後に、前記画面指示データで指示された前記第１設定項目に対応する前記パラメータを指定するユーザ操作を、前記入力インタフェースを通じて受け付ける受付処理と、 
前記受付処理で指定された前記パラメータを、前記画面指示データで指示された前記第１設定項目と対応付けて前記メモリに記憶させる第１記憶処理と、 
前記画面指示データで指示された次の前記指示データの送信を要求する前記送信要求情報を、前記通信インタフェースを通じて前記サーバに送信する前記第１送信処理とを実行し、前記送信要求情報は、前記スキャン動作の実行条件を示す前記パラメータが前記受付処理で指定された場合に当該パラメータを含み、 
前記コントローラは、 
前記動作指示データであると前記第１判断処理で判断したことに応じて、 
前記動作指示データに含まれる前記パラメータに従って、前記スキャナに前記スキャン動作を実行させるスキャン指示処理と、 
テンプレートデータを取得する取得処理とを実行し、前記テンプレートデータは、メタデータに含めるべき前記パラメータに対応する前記第１設定項目を示すための情報であり、 
前記コントローラは、 
前記取得処理で取得した前記テンプレートデータで示される前記第１設定項目に対応付けて前記メモリに記憶された前記パラメータを用いて、前記メタデータを生成する生成処理と、 
前記スキャンデータ及び前記メタデータを、前記通信インタフェースを通じて前記サーバに送信する第２送信処理とを実行し、 
前記テンプレートデータは、 
前記メタデータに含めるべき情報である固定情報と、 
前記第１設定項目に対応する前記パラメータを前記メタデータに含めることを示す第１予約語とを含むことが可能であり、 
前記コントローラは、前記生成処理において、 
前記テンプレートデータが前記第１予約語を含むか否かを判断する第２判断処理と、 
前記第１予約語を含むと前記第２判断処理で判断したことに応じて、前記第１設定項目に対応する前記パラメータを、前記メモリから読み出す第１読出処理と、 
前記テンプレートデータに含まれる前記第１予約語を、前記第１読出処理で読み出した前記パラメータに置換する第１置換処理とを実行することによって、前記固定情報及び前記パラメータを含む前記メタデータを生成し、 
前記コントローラは、前記スキャン指示処理を実行したことに応じて、前記スキャン動作の実行結果を示す結果情報を、当該結果情報の種類を示す結果項目と対応付けて前記メモリに記憶させる第３記憶処理を実行し、 
前記テンプレートデータは、前記結果項目に対応する前記結果情報を前記メタデータに含めることを示す第４予約語とを含むことが可能であり、 
前記コントローラは、前記生成処理において、 
前記テンプレートデータが前記第４予約語を含むか否かを判断する第５判断処理と、 
前記第４予約語を含むと前記第５判断処理で判断したことに応じて、前記結果項目に対応する前記結果情報を、前記メモリから読み出す第４読出処理と、 
前記テンプレートデータに含まれる前記第４予約語を、前記第４読出処理で読み出した前記結果情報に置換する第４置換処理とを実行することによって、前記固定情報、前記パラメータ、及び前記結果情報を含む前記メタデータを生成する画像処理装置。 
【請求項１１】
前記テンプレートデータは、前記第４予約語に対応付けられた第４識別情報を含み、前記第４識別情報は、複数の前記結果項目のうちの１つを識別するための情報であり、 
前記コントローラは、 
前記第３記憶処理において、複数の前記第４識別情報と、複数の前記第４識別情報それぞれで識別される前記結果項目に対応する複数の前記結果項目とを、対応付けて前記メモリに記憶させ、 
前記生成処理において、 
前記第４予約語を含むと前記第５判断処理で判断したことに応じて、前記第４予約語に対応付けられた前記第４識別情報を特定する第４特定処理を実行し、 
前記第４読出処理において、前記第４特定処理で特定した前記第４識別情報と対応付けて前記メモリに記憶されている前記結果情報を、前記メモリから読み出す請求項１０に記載の画像処理装置。
【請求項１２】
原稿を読み取ってスキャンデータを生成するスキャン動作を実行するスキャナと、 
通信インタフェースと、 
ディスプレイと、 
入力インタフェースと、 
メモリと、 
コントローラとを備える画像処理装置であって、 
前記コントローラは、 
指示データの送信を要求する送信要求情報を、前記通信インタフェースを通じてサーバに送信する第１送信処理と、 
前記送信要求情報の応答として前記サーバが送信した前記指示データを、前記通信インタフェースを通じて前記サーバから受信する第１受信処理と、 
前記第１受信処理で受信した前記指示データが画面指示データ及び動作指示データのどちらであるかを判断する第１判断処理と、 
前記画面指示データであると前記第１判断処理で判断したことに応じて、 
当該画面指示データで指示された設定画面を、前記ディスプレイに表示させる表示処理とを実行し、前記設定画面は、第１設定項目に対応するパラメータをユーザに指定させるための画面であり、 
前記コントローラは、 
前記設定画面を前記ディスプレイに表示させた後に、前記画面指示データで指示された前記第１設定項目に対応する前記パラメータを指定するユーザ操作を、前記入力インタフェースを通じて受け付ける受付処理と、 
前記受付処理で指定された前記パラメータを、前記画面指示データで指示された前記第１設定項目と対応付けて前記メモリに記憶させる第１記憶処理と、 
前記画面指示データで指示された次の前記指示データの送信を要求する前記送信要求情報を、前記通信インタフェースを通じて前記サーバに送信する前記第１送信処理とを実行し、前記送信要求情報は、前記スキャン動作の実行条件を示す前記パラメータが前記受付処理で指定された場合に当該パラメータを含み、 
前記コントローラは、 
前記動作指示データであると前記第１判断処理で判断したことに応じて、 
前記動作指示データに含まれる前記パラメータに従って、前記スキャナに前記スキャン動作を実行させるスキャン指示処理と、 
テンプレートデータを取得する取得処理とを実行し、前記テンプレートデータは、メタデータに含めるべき前記パラメータに対応する前記第１設定項目を示すための情報であり、 
前記コントローラは、 
前記取得処理で取得した前記テンプレートデータで示される前記第１設定項目に対応付けて前記メモリに記憶された前記パラメータを用いて、前記メタデータを生成する生成処理と、 
前記スキャンデータ及び前記メタデータを、前記通信インタフェースを通じて前記サーバに送信する第２送信処理とを実行し、 
前記テンプレートデータは、 
前記メタデータに含めるべき情報である固定情報と、 
前記第１設定項目に対応する前記パラメータを前記メタデータに含めることを示す第１予約語とを含むことが可能であり、 
前記コントローラは、前記生成処理において、 
前記テンプレートデータが前記第１予約語を含むか否かを判断する第２判断処理と、 
前記第１予約語を含むと前記第２判断処理で判断したことに応じて、前記第１設定項目に対応する前記パラメータを、前記メモリから読み出す第１読出処理と、 
前記テンプレートデータに含まれる前記第１予約語を、前記第１読出処理で読み出した前記パラメータに置換する第１置換処理とを実行することによって、前記固定情報及び前記パラメータを含む前記メタデータを生成し、 
前記テンプレートデータは、前記パラメータをテキストに変換するスクリプトを含み、 
前記コントローラは、前記生成処理において、前記メモリから読み出した前記パラメータを前記スクリプトに従って前記テキストに変換し、前記固定情報及び変換した前記テキストを含む前記メタデータを生成する画像処理装置。 
【請求項１３】
原稿を読み取ってスキャンデータを生成するスキャン動作を実行するスキャナと、 
通信インタフェースと、 
ディスプレイと、 
入力インタフェースと、 
メモリと、 
コントローラとを備える画像処理装置であって、 
前記コントローラは、 
指示データの送信を要求する送信要求情報を、前記通信インタフェースを通じてサーバに送信する第１送信処理と、 
前記送信要求情報の応答として前記サーバが送信した前記指示データを、前記通信インタフェースを通じて前記サーバから受信する第１受信処理と、 
前記第１受信処理で受信した前記指示データが画面指示データ及び動作指示データのどちらであるかを判断する第１判断処理と、 
前記画面指示データであると前記第１判断処理で判断したことに応じて、 
当該画面指示データで指示された設定画面を、前記ディスプレイに表示させる表示処理とを実行し、前記設定画面は、第１設定項目に対応するパラメータをユーザに指定させるための画面であり、 
前記コントローラは、 
前記設定画面を前記ディスプレイに表示させた後に、前記画面指示データで指示された前記第１設定項目に対応する前記パラメータを指定するユーザ操作を、前記入力インタフェースを通じて受け付ける受付処理と、 
前記受付処理で指定された前記パラメータを、前記画面指示データで指示された前記第１設定項目と対応付けて前記メモリに記憶させる第１記憶処理と、 
前記画面指示データで指示された次の前記指示データの送信を要求する前記送信要求情報を、前記通信インタフェースを通じて前記サーバに送信する前記第１送信処理とを実行し、前記送信要求情報は、前記スキャン動作の実行条件を示す前記パラメータが前記受付処理で指定された場合に当該パラメータを含み、 
前記コントローラは、 
前記動作指示データであると前記第１判断処理で判断したことに応じて、 
前記動作指示データに含まれる前記パラメータに従って、前記スキャナに前記スキャン動作を実行させるスキャン指示処理と、 
テンプレートデータを取得する取得処理とを実行し、前記テンプレートデータは、メタデータに含めるべき前記パラメータに対応する前記第１設定項目を示すための情報であり、 
前記コントローラは、 
前記取得処理で取得した前記テンプレートデータで示される前記第１設定項目に対応付けて前記メモリに記憶された前記パラメータを用いて、前記メタデータを生成する生成処理と、 
前記スキャンデータ及び前記メタデータを、前記通信インタフェースを通じて前記サーバに送信する第２送信処理とを実行し、 
前記テンプレートデータは、第１パラメータの値を判断するスクリプトを含み、 
前記コントローラは、前記生成処理において前記スクリプトに従って、 
前記第１パラメータが第１値である場合に、第２パラメータを前記メタデータに含め、 
前記第１パラメータが第２値である場合に、前記第２パラメータを前記メタデータに含めない画像処理装置。 
【請求項１４】
原稿を読み取ってスキャンデータを生成するスキャン動作を実行するスキャナと、 
通信インタフェースと、 
ディスプレイと、 
入力インタフェースと、 
メモリと、 
コントローラとを備える画像処理装置であって、 
前記コントローラは、 
指示データの送信を要求する送信要求情報を、前記通信インタフェースを通じてサーバに送信する第１送信処理と、 
前記送信要求情報の応答として前記サーバが送信した前記指示データを、前記通信インタフェースを通じて前記サーバから受信する第１受信処理と、 
前記第１受信処理で受信した前記指示データが画面指示データ及び動作指示データのどちらであるかを判断する第１判断処理と、 
前記画面指示データであると前記第１判断処理で判断したことに応じて、 
当該画面指示データで指示された設定画面を、前記ディスプレイに表示させる表示処理とを実行し、前記設定画面は、第１設定項目に対応するパラメータをユーザに指定させるための画面であり、 
前記コントローラは、 
前記設定画面を前記ディスプレイに表示させた後に、前記画面指示データで指示された前記第１設定項目に対応する前記パラメータを指定するユーザ操作を、前記入力インタフェースを通じて受け付ける受付処理と、 
前記受付処理で指定された前記パラメータを、前記画面指示データで指示された前記第１設定項目と対応付けて前記メモリに記憶させる第１記憶処理と、 
前記画面指示データで指示された次の前記指示データの送信を要求する前記送信要求情報を、前記通信インタフェースを通じて前記サーバに送信する前記第１送信処理とを実行し、前記送信要求情報は、前記スキャン動作の実行条件を示す前記パラメータが前記受付処理で指定された場合に当該パラメータを含み、 
前記コントローラは、 
前記動作指示データであると前記第１判断処理で判断したことに応じて、 
前記動作指示データに含まれる前記パラメータに従って、前記スキャナに前記スキャン動作を実行させるスキャン指示処理と、 
テンプレートデータを取得する取得処理とを実行し、前記テンプレートデータは、メタデータに含めるべき前記パラメータに対応する前記第１設定項目を示すための情報であり、 
前記コントローラは、 
前記取得処理で取得した前記テンプレートデータで示される前記第１設定項目に対応付けて前記メモリに記憶された前記パラメータを用いて、前記メタデータを生成する生成処理と、 
前記スキャンデータ及び前記メタデータを、前記通信インタフェースを通じて前記サーバに送信する第２送信処理とを実行し、 
前記コントローラは、前記取得処理において、 
前記テンプレートデータの送信を要求するテンプレート要求情報を、前記通信インタフェースを通じて前記サーバに送信する第３送信処理と、 
前記テンプレート要求情報の応答として前記サーバが送信した前記テンプレートデータを、前記通信インタフェースを通じて前記サーバから受信する第２受信処理とを実行し、 
前記生成処理において、前記第２受信処理で受信した前記テンプレートデータに従って、前記メタデータを生成する画像処理装置。 
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スキャン動作で生成したスキャンデータと、当該スキャンデータのメタデータとをサーバにアップロードする画像処理装置に関する。
【背景技術】
【０００２】
例えば特許文献１には、スキャン動作で生成したスキャンデータと、当該スキャンデータのメタデータとをサーバにアップロードする画像処理装置が記載されている。より詳細には、画像処理装置は、例えば、スキャナにスキャン動作を実行させると共に、テンプレートに定義された情報を含むメタデータを生成する。このメタデータは、例えば、スキャンデータを分類する処理等に用いられる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−１８８７１１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に記載の画像処理装置では、スキャン動作の実行を指示するユーザ操作とは別に、メタデータに含める情報を予め入力するユーザ操作が必要となる。すなわち、特許文献１によれば、画像処理装置に各種動作を実行させるために、煩雑な事前準備をユーザに要求しなければならないという課題がある。
【０００５】
本発明は、上記の事情に鑑みてなされたものであり、その目的は、煩雑な事前準備をユーザに要求することなく、スキャンデータ及びメタデータを生成可能な画像処理装置を提供することにある。
【課題を解決するための手段】
【０００６】
本明細書では様々な開示を行う。開示例の１つである画像処理装置は、原稿を読み取ってスキャンデータを生成するスキャン動作を実行するスキャナと、通信インタフェースと、ディスプレイと、入力インタフェースと、メモリと、コントローラとを備える。前記コントローラは、指示データの送信を要求する送信要求情報を、前記通信インタフェースを通じてサーバに送信する第１送信処理と、前記送信要求情報の応答として前記サーバが送信した前記指示データを、前記通信インタフェースを通じて前記サーバから受信する第１受信処理と、前記第１受信処理で受信した前記指示データが画面指示データ及び動作指示データのどちらであるかを判断する第１判断処理と、前記画面指示データであると前記第１判断処理で判断したことに応じて、当該画面指示データで指示された設定画面を、前記ディスプレイに表示させる表示処理とを実行する。前記設定画面は、第１設定項目に対応するパラメータをユーザに指定させるための画面である。前記コントローラは、前記設定画面を前記ディスプレイに表示させた後に、前記画面指示データで指示された前記第１設定項目に対応する前記パラメータを指定するユーザ操作を、前記入力インタフェースを通じて受け付ける受付処理と、前記受付処理で指定された前記パラメータを、前記画面指示データで指示された前記第１設定項目と対応付けて前記メモリに記憶させる第１記憶処理と、前記画面指示データで指示された次の前記指示データの送信を要求する前記送信要求情報を、前記通信インタフェースを通じて前記サーバに送信する前記第１送信処理とを実行する。前記送信要求情報は、前記スキャン動作の実行条件を示す前記パラメータが前記受付処理で指定された場合に当該パラメータを含む。前記コントローラは、前記動作指示データであると前記第１判断処理で判断したことに応じて、前記動作指示データに含まれる前記パラメータに従って、前記スキャナに前記スキャン動作を実行させるスキャン指示処理と、テンプレートデータを取得する取得処理とを実行する。前記テンプレートデータは、メタデータに含めるべき前記パラメータに対応する前記第１設定項目を示すための情報である。前記コントローラは、前記取得処理で取得した前記テンプレートデータで示される前記第１設定項目に対応付けて前記メモリに記憶された前記パラメータを用いて、前記メタデータを生成する生成処理と、前記スキャンデータ及び前記メタデータを、前記通信インタフェースを通じて前記サーバに送信する第２送信処理とを実行する。
【０００７】
上記構成によれば、スキャナにスキャン動作を実行させるのに必要な一連の処理中に、メタデータの生成に必要な情報が収集される。その結果、メタデータを生成するための煩雑な事前準備をユーザに要求することなく、スキャンデータ及びメタデータをアップロードすることができる。なお、受付処理で指定されるパラメータは、スキャン動作の実行条件として用いられる情報に限定されず、メタデータに含めるための情報であってもよい。
【図面の簡単な説明】
【０００８】
【図１】図１は、実施形態に係るシステム１００の概要を示す図である。
【図２】図２は、メモリ３２に記憶された情報の例であって、（Ａ）はＭＩＢを、（Ｂ）はプログラムリストを示す。
【図３】図３は、（Ａ）〜（Ｃ）がサーバ７０に記憶された指示データを、（Ｄ）がメモリ３２に記憶されたログ情報の例を示す。
【図４】図４は、（Ａ）がサーバ８０に記憶されたテンプレートデータを、（Ｂ）が装置プログラム３５が生成したメタデータを示す。
【図５】図５は、追加型プログラム機能に係る処理のフローチャートである。
【図６】図６は、指示動作実行処理のフローチャートである。
【図７】図７は、メタデータ生成処理のフローチャートである。
【図８】図８は、ディスプレイ２３の表示例であって、（Ａ）はＰＧ選択画面を、（Ｂ）は解像度選択画面を示す。
【図９】図９は、ディスプレイ２３に表示される種別選択画面を示す。
【発明を実施するための形態】
【０００９】
以下、適宜図面を参照して本発明の実施形態について説明する。なお、以下に説明される実施形態は本発明の一例にすぎず、本発明の要旨を変更しない範囲で、本発明の実施形態を適宜変更できることは言うまでもない。例えば、後述する各処理の実行順序は、本発明の要旨を変更しない範囲で、適宜変更することができる。
【００１０】
図１は、本実施形態に係るシステム１００の概略図である。図１に示されるシステム１００は、ＭＦＰ（MultiFunction Peripheralの略）１０と、サーバ７０、８０、９０とで構成される。ＭＦＰ１０及びサーバ７０〜９０は、通信ネットワーク１０１を介して相互に通信可能とされている。通信ネットワーク１０１の具体例は特に限定されないが、例えば、インターネット、有線ＬＡＮ、無線ＬＡＮ、或いはこれらの組み合わせであってもよい。
【００１１】
ＭＦＰ１０は、図１に示されるように、プリンタ１１と、スキャナ１２と、ディスプレイ２３と、入力Ｉ／Ｆ２４と、通信Ｉ／Ｆ２５と、ＣＰＵ３１と、メモリ３２と、通信バス３３とを主に備える。ＭＦＰ１０を構成する各構成要素は、通信バス３３を通じて相互に接続されている。ＭＦＰ１０は、画像処理装置の一例である。
【００１２】
プリンタ１１は、画像データで示される画像をシートに記録するプリント動作を実行する。プリンタ１１の記録方式としては、インクジェット方式や電子写真方式などの公知の方式を採用することができる。スキャナ１２は、原稿に記録されている画像を読み取ってスキャンデータを生成するスキャン動作を実行する。なお、プリンタ１１は、省略されてもよい。すなわち、システム１００は、ＭＦＰ１０に代えて、スキャナ単能機を備えてもよい。
【００１３】
入力Ｉ／Ｆ２４は、ユーザによる入力操作を受け付けるユーザインタフェースである。具体的には、入力Ｉ／Ｆ２４はボタンを有しており、押下されたボタンに対応づけられた各種の操作信号をＣＰＵ３１へ出力する。さらに、入力Ｉ／Ｆ２４は、ディスプレイ２３の表示面に重畳された膜状のタッチセンサを有していてもよい。ディスプレイ２３の表示面に表示されたオブジェクトを指定する操作、文字列或いは数字列を入力する操作は、ユーザ操作の一例である。「オブジェクト」とは、例えば、ディスプレイ２３に表示された文字列、アイコン、ボタン、リンク、プルダウンメニュー等である。
【００１４】
タッチセンサとして実現される入力Ｉ／Ｆ２４は、ユーザがタッチした表示面上の位置を示す位置情報を出力する。なお、本明細書中における「タッチ」とは、入力媒体を表示面に接触させる操作全般を含む。また、入力媒体が表示面に触れていなくても、表示面との間の距離がごく僅かな位置まで入力媒体を近接させる「ホバー」或いは「フローティングタッチ」を、前述の「タッチ」の概念に含めてもよい。さらに入力媒体とは、ユーザの指であってもよいし、タッチペン等であってもよい。ディスプレイ２３に表示されたアイコンの位置のタップするユーザ操作は、当該アイコンを指定する指定操作の一例である。
【００１５】
通信Ｉ／Ｆ２５は、通信ネットワーク１０１を通じて外部装置と通信を行うための第１通信インタフェースの一例である。すなわち、ＭＦＰ１０は、通信Ｉ／Ｆ２５を通じてサーバ７０〜９０に各種情報を送信し、通信Ｉ／Ｆ２５を通じてサーバ７０〜９０から各種データ又は各種情報を受信する。通信Ｉ／Ｆ２５の具体的な通信手順は特に限定されないが、例えば、Ｗｉ−Ｆｉ（Wi-Fi Allianceの登録商標）を採用することができる。
【００１６】
ＣＰＵ３１は、ＭＦＰ１０の全体動作を制御するものである。ＣＰＵ３１は、入力Ｉ／Ｆ２４から出力される各種信号、及び通信Ｉ／Ｆ２５を通じて外部装置から取得した各種情報等に基づいて、後述する各種プログラムをメモリ３２から取得して実行する。すなわち、ＣＰＵ３１及びメモリ３２は、第１コントローラの一例を構成する。
【００１７】
メモリ３２には、ＯＳ３４と、装置プログラム３５とが記憶される。なお、装置プログラム３５は、単一のプログラムであってもよいし、複数のプログラムの集合体であってもよい。また、メモリ３２には、装置プログラム３５の実行に必要なデータ或いは情報が記憶される。メモリ３２は、例えば、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＨＤＤ、ＭＦＰ１０に着脱されるＵＳＢメモリ等の可搬記憶媒体、ＣＰＵ３１が備えるバッファ等、或いはそれらの組み合わせによって構成される。
【００１８】
メモリ３２は、コンピュータが読み取り可能なストレージ媒体であってもよい。コンピュータが読み取り可能なストレージ媒体とは、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体である。ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体には、上記の例の他に、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等の記録媒体も含まれる。また、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体は、ｔａｎｇｉｂｌｅな媒体でもある。一方、インターネット上のサーバなどからダウンロードされるプログラムを搬送する電気信号は、コンピュータが読み取り可能な媒体の一種であるコンピュータが読み取り可能な信号媒体であるが、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙなコンピュータが読み取り可能なストレージ媒体には含まれない。
【００１９】
装置プログラム３５には、ＭＦＰ１０の追加型プログラム機能を実現するプログラムが含まれている。追加型プログラム機能は、指示データで指示された動作を、ＣＰＵ３１がＭＦＰ１０に実行させる機能である。そして、後述するプログラムリストにプログラムレコードが登録されると、装置プログラム３５は、追加型プログラム機能によって、指示データで指示された動作をＭＦＰ１０に実行させることができるようになる。以下、追加型プログラム機能に用いられる指示データを、「追加型プログラム」と表記することがある。
【００２０】
メモリ３２は、例えば図２（Ａ）に示されるように、ＭＩＢ（Management Information Baseの略）を含む。ＭＩＢは、装置項目ＩＤ及び装置情報の複数のセットを含むデータベース情報の一例である。ＭＩＢは、例えば、ＳＮＭＰ（Simple Network Management Protocolの略）に準拠したデータ構造である。装置項目ＩＤは、例えば“0.1.3.6.1.2.1.1.・・・”のように、ドットで区切られた複数の数字の組み合わせで表されるＯＩＤ（Object IDentifierの略）である。但し、本明細書では、理解しやすさを重視して、装置項目ＩＤを文字列で表記する。
【００２１】
装置項目ＩＤは、装置情報の種類を示す装置項目（例えば、“モデル名”、“シリアル番号”、“日時情報”）を識別する第３識別情報の一例である。装置情報は、対応する装置項目ＩＤで識別される装置項目に対して、ＭＦＰ１０に固有に設定された値（例えば、“ＭＦＰ−Ａ”、“１２３４５６７８９”、“ｘｘｘｘ年ｙｙ月ｘｘ日”）である。モデル名及びシリアル番号は、例えば、ＭＦＰ１０の出荷時に既にメモリ３２に記憶されている。日時情報は、例えば、不図示のシステムクロックから随時取得される。
【００２２】
また、メモリ３２は、例えば図２（Ｂ）に示されるように、プログラムリストを記憶することができる。プログラムリストは、１以上のプログラムレコードを含む。プログラムレコードは、例えば、ＭＦＰ１０の出荷時において既に登録されていてもよいし、入力Ｉ／Ｆ２４或いは通信Ｉ／Ｆ２５を通じてユーザによって登録されてもよい。
【００２３】
プログラムレコードは、プログラムＩＤと、プログラムＩＤに対応するアドレス情報とを含む。プログラムＩＤは、追加型プログラム機能を識別するための情報である。アドレス情報は、プログラムＩＤで識別される追加型プログラムに用いられる指示データの所在を示すための情報である。アドレス情報は、例えば、指示データを記憶するサーバ７０を識別するサーバ識別情報（例えば、“www.server-a.com”）と、指示データの所在パスを示すファイルパス情報（例えば、“scan-upload1.xml”）とを含むＵＲＬ形式であってもよい。
【００２４】
一例として、プログラムＩＤ“スキャンアップロード”で識別される追加型プログラムは、スキャン動作でスキャナ１２が生成した画像データを、通信Ｉ／Ｆ２５を通じてサーバに送信する動作をＭＦＰ１０に実行させる指示データである。他の例として、プログラムＩＤ“ダウンロードプリント”で識別される追加型プログラムは、通信Ｉ／Ｆ２５を通じてサーバから受信した画像データで示される画像を、プリンタ１１がシートに記録する動作をＭＦＰ１０に実行させる指示データである。
【００２５】
図示は省略するが、サーバ７０〜９０は、サーバメモリと、第２通信Ｉ／Ｆと、第２コントローラとを備える。サーバメモリはＭＦＰ１０のメモリ３２と同様の構成であり、第２通信Ｉ／ＦはＭＦＰ１０の通信Ｉ／Ｆ２５と同様の構成であり、第２コントローラはＭＦＰ１０の第１コントローラと同様の構成であってもよい。サーバ７０はサーバ識別情報“www.server-a.com”で識別され、サーバ８０はサーバ識別情報“www.server-b.com”で識別され、サーバ９０はサーバ識別情報“www.server-c.com”で識別される。なお、サーバ７０〜９０は、互いに異なるハードウェアで構成されていてもよいし、１台のハードウェア上で動作する複数のサーバプログラムで構成されていてもよい。
【００２６】
サーバ７０は、例えば、図３（Ａ）〜図３（Ｃ）に示されるＸＭＬファイルを記憶している。サーバ８０は、例えば、図４（Ａ）に示されるＸＭＬファイルを記憶している。そして、サーバ７０、８０は、ＭＦＰ１０からＸＭＬファイルの送信を要求されたことに応じて、要求されたＸＭＬファイルをＭＦＰ１０に送信する。サーバ９０は、所謂ストレージサーバである。サーバ９０は、例えば、ＭＦＰ１０から送信されたスキャンデータ及びメタデータをサーバメモリに記憶する。サーバ７０、８０は、例えば、ＨＴＴＰによってＸＭＬファイルを送信する所謂Ｗｅｂサーバである。
【００２７】
図３（Ａ）〜図３（Ｃ）に示されるＸＭＬファイルは、追加型プログラム機能に用いられるテキスト形式の指示データの一例である。指示データは、図３（Ａ）及び図３（Ｂ）に示される画面指示ＸＭＬと、図３（Ｃ）に示される動作指示ＸＭＬとに大別される。画面指示ＸＭＬは、設定画面をＭＦＰ１０のディスプレイ２３に表示させることを指示する画面指示データの一例である。動作指示ＸＭＬは、スキャナ１２を用いた動作を指示する動作指示データの一例である。但し、指示データは、バイナリデータ或いはバイナリ化されたテキストデータであってもよいし、ＣＳＶフォーマット或いは追加型プログラム機能のために設計された独自フォーマットであってもよい。
【００２８】
図４（Ａ）に示されるＸＭＬファイルは、テキスト形式のテンプレートデータ（以下、「テンプレートＸＭＬ」と表記する。）の一例である。テンプレートＸＭＬは、指示データで指示された動作を実行したＭＦＰ１０が生成するメタデータの内容を示す。より詳細には、テンプレートＸＭＬは、固定情報（例えば、“＜デバイス情報＞”等のＸＭＬタグ）と、予約語（例えば、“％％ＥＶＴＰＡＲＡＭ（“・・・”）％％”、“％％ＣＭＤＰＡＲＡＭ（“・・・”）％％”、“％％ＯＩＤＰＡＲＡＭ（“・・・”）％％”）と、予約語に対応付けられた識別情報（例えば、“解像度”、“文書種別”）と、スクリプトとを含む。但し、テンプレートデータは、バイナリデータ或いはバイナリ化されたテキストデータであってもよいし、ＣＳＶフォーマット或いは追加型プログラム機能のために設計された独自フォーマットであってもよい。
【００２９】
固定情報は、メタデータに含めるべき情報である。予約語は、予約語自身をメモリ３２に記憶された情報に置換することを示す制御記号である。識別情報は、置換する情報を識別するための情報である。スクリプトは、識別情報で識別されるパラメータをテキストに変換するプログラムである。すなわち、固定情報は、テンプレートデータ及びメタデータの両方に含まれる。一方、予約語、識別情報、及びスクリプトは、テンプレートデータのみに含まれ、メタデータに含まれない。また、スクリプト言語の具体例は特に限定されないが、例えば、Ｌｕａ、Ｒｕｂｙ、ＪａｖａＳｃｒｉｐｔ（登録商標）等であってもよい。
【００３０】
図５〜図７を参照して、本実施形態に係るシステム１００の動作を説明する。
【００３１】
本明細書のフローチャートは、基本的に、プログラムに記述された命令に従ったＣＰＵ３１の処理を示す。すなわち、以下の説明における「判断」、「抽出」、「選択」、「算出」、「決定」、「特定」、「制御」等の処理は、ＣＰＵ３１の処理を表している。ＣＰＵ３１による処理は、ＯＳ３４を介したハードウェア制御も含む。また、本明細書中の「データ」とは、コンピュータに読取可能なビット列で表される。そして、実質的な意味内容が同じでフォーマットが異なるデータは、同一のデータとして扱われるものとする。本明細書中の「情報」についても同様である。
【００３２】
［追加型プログラム機能］
装置プログラム３５は、例えば入力Ｉ／Ｆ２４を通じてユーザに指示されたことに応じて、追加型プログラム機能に係る処理を実行することができる。図５を参照して、追加型プログラム機能に係る処理の詳細を説明する。
【００３３】
まず、装置プログラム３５は、図８（Ａ）に示されるＰＧ選択画面をディスプレイ２３に表示させる（Ｓ１１）。ＰＧ選択画面は、ＭＦＰ１０に登録された複数の追加型プログラムのうちの１つを選択させるための画面である。ＰＧ選択画面は、プログラムアイコン１１１、１１２を含む。プログラムアイコン１１１、１１２は、プログラムリストに登録された複数のプログラムレコードの１つに対応する。そして、装置プログラム３５は、ＰＧ選択画面に対するユーザ操作を、入力Ｉ／Ｆ２４を通じて受け付ける（Ｓ１２）。
【００３４】
装置プログラム３５は、例えば、プログラムアイコン１１１の指定を入力Ｉ／Ｆ２４を通じて受け付けたことに応じて（Ｓ１２：Ｙｅｓ）、プログラムＩＤ“スキャンアップロード”で識別される追加型プログラム機能を実行する。まず、装置プログラム３５は、プログラムアイコン１１１に対応するプログラムレコードのアドレス情報を、プログラムリストから読み出す。次に、装置プログラム３５は、サーバ識別情報“www.server-a.com”で識別されるサーバ７０に、ファイルパス情報“scan-upload1.xml”で示されるＸＭＬファイルの送信を要求するＸＭＬ要求情報を、通信Ｉ／Ｆ２５を通じて送信する（Ｓ１３）。ＸＭＬ要求情報は送信要求情報の一例であり、Ｓ１３の処理は第１送信処理の一例である。
【００３５】
図示は省略するが、サーバ７０の第２コントローラは、第２通信Ｉ／Ｆを通じてＭＦＰ１０からＸＭＬ要求情報を受信する。この処理は、第２受信処理の一例である。次に、第２コントローラは、ＸＭＬ要求情報に含まれるファイルパス情報“scan-upload1.xml”で示されるＸＭＬファイルを、サーバメモリから読み出す。そして、第２コントローラは、ＸＭＬ要求情報の送信元であるＭＦＰ１０に、読み出したＸＭＬファイルを第２通信Ｉ／Ｆを通じて送信する。この処理は、第３送信処理の一例である。
【００３６】
次に、装置プログラム３５は、図３（Ａ）に示されるＸＭＬファイルを、ＸＭＬ要求情報の応答として、通信Ｉ／Ｆ２５を通じてサーバ７０から受信する（Ｓ１４）。この処理は、第１受信処理の一例である。そして、装置プログラム３５は、受信したＸＭＬファイルが画面指示ＸＭＬ及び動作指示ＸＭＬのどちらであるかを判断する。この処理は、第１判断処理の一例である。より詳細には、装置プログラム３５は、ＸＭＬファイル内において、＜画面＞タグ及び＜コマンド＞タグを検索する。そして、装置プログラム３５は、＜画面＞タグを検出したことに応じて、受信したＸＭＬファイルが画面指示ＸＭＬであると判断する（Ｓ１４：画面指示）。
【００３７】
画面指示ＸＭＬは、例えば図３（Ａ）に示されるように、＜ＮｅｘｔＵＲＬ＞タグと、＜タイトル＞タグと、＜選択肢表示＞タグと、複数の＜選択肢＞タグとを、＜画面＞タグの要素として含む。＜ＮｅｘｔＵＲＬ＞タグの要素には、当該画面指示ＸＭＬに指示された動作を実行した後に取得すべき指示データのアドレス情報が設定される。＜タイトル＞タグの要素には、設定画面の画面タイトルの文字列が設定される。＜選択肢表示＞タグの属性“ｋｅｙ”には、第１項目ＩＤ（例えば、“解像度”）が設定される。第１項目ＩＤは、当該画面指示ＸＭＬで指示された設定画面を通じてユーザに指定させるパラメータに対応する第１設定項目を識別する第１識別情報の一例である。＜選択肢＞タグの要素には、ユーザに指定させるパラメータを示すテキスト（例えば、“３００ｄｐｉ”、“６００ｄｐｉ”）が設定される。＜選択肢＞タグの属性“ｖａｌ”には、ユーザに指定させるパラメータの値（例えば、“１”、“２”）が設定される。
【００３８】
次に、装置プログラム３５は、受信したＸＭＬファイルが画面指示ＸＭＬであると判断したことに応じて（Ｓ１４：画面指示）、＜画面＞タグの要素に従って、図８（Ｂ）に示される解像度選択画面をディスプレイ２３に表示させる（Ｓ１５）。Ｓ１５の処理は、表示処理の一例である。解像度選択画面は、第１設定項目“解像度”に対応するパラメータをユーザに指定させるための設定画面の一例である。解像度選択画面は、複数の＜選択肢＞タグそれぞれに対応するパラメータアイコン１２１、１２２を含む。パラメータアイコン１２１、１２２には、対応する＜選択肢＞タグの要素であるテキストが記述される。なお、第１設定項目“解像度”のパラメータは、スキャンアップロードの実行条件示すパラメータである。
【００３９】
そして、装置プログラム３５は、解像度選択画面に対するユーザ操作を、入力Ｉ／Ｆ２４を通じて受け付ける（Ｓ１６）。Ｓ１６の処理は、設定画面を表示させた後にパラメータを指定するユーザ操作を受け付ける受付処理の一例である。装置プログラム３５は、例えばパラメータアイコン１２２の指定を入力Ｉ／Ｆ２４を通じて受け付けたことに応じて（Ｓ１６：Ｙｅｓ）、パラメータアイコン１２２に対応付けられた＜選択肢＞タグの属性値ｖａｌ＝“２”を、ユーザによって指定された第１設定項目のパラメータとしてメモリ３２に一時記憶させる。ここで一時記憶されるパラメータ“２”は、例えば、バイナリデータであってもよい。
【００４０】
次に、装置プログラム３５は、直前のＳ１４で受信した画面指示ＸＭＬに含まれる第１項目ＩＤ“解像度”を示す＜解像度＞タグと、直前のＳ１６で指定されたパラメータ“２”とを対応付けて、メモリ３２に記憶させる（Ｓ１７）。より詳細には、装置プログラム３５は、図３（Ｄ）に示されるように、＜解像度＞タグと、＜解像度＞タグの要素であるパラメータ“２”とを、＜ＥＶＴＰＡＲＡＭ＞タグの要素としてメモリ３２に記憶させる。Ｓ１７の処理は、第１記憶処理の一例である。
【００４１】
次に、装置プログラム３５は、直前のＳ１４で受信した画面指示ＸＭＬの＜ＮｅｘｔＵＲＬ＞の要素“www.server-a.com/scan-upload2.xml”を、次の指示データのアドレス情報として取得する。次に、装置プログラム３５は、サーバ識別情報“www.server-a.com”で識別されるサーバ７０に、ファイルパス情報“scan-upload2.xml”で示されるＸＭＬファイルの送信を要求するＸＭＬ要求情報を、通信Ｉ／Ｆ２５を通じて送信する（Ｓ１３）。このＸＭＬ要求情報は、Ｓ１７で一時記憶させたパラメータ“２”を含む。
【００４２】
次に、装置プログラム３５は、図３（Ｂ）に示される画面指示ＸＭＬを通信Ｉ／Ｆ２５を通じてサーバ７０から受信する（Ｓ１４：画面指示）。次に、装置プログラム３５は、受信した画面指示ＸＭＬに従って、図９に示される種別選択画面をディスプレイ２３に表示させる（Ｓ１５）。種別選択画面は、第１設定項目“文書種別”に対応するパラメータをユーザに指定させるための設定画面の一例である。種別選択画面は、＜選択肢＞タグに対応するパラメータアイコン１３１、１３２を含む。パラメータアイコン１３１、１３２には、対応する＜選択肢＞タグの要素であるテキストが記述される。なお、第１設定項目“文書種別”のパラメータは、メタデータの生成に用いるために、ユーザに指定させるパラメータである。
【００４３】
そして、装置プログラム３５は、種別選択画面に対するユーザ操作を、入力Ｉ／Ｆ２４を通じて受け付ける（Ｓ１６）。装置プログラム３５は、例えばパラメータアイコン１３１の指定を入力Ｉ／Ｆ２４を通じて受け付けたことに応じて（Ｓ１６：Ｙｅｓ）、パラメータアイコン１３１に対応付けられた＜選択肢＞タグの属性値ｖａｌ＝“１”を、ユーザによって指定された第１設定項目のパラメータとしてメモリ３２に一時記憶させる。ここで一時記憶されるパラメータ“１”は、例えば、バイナリデータであってもよい。
【００４４】
次に、装置プログラム３５は、直前のＳ１４で受信した画面指示ＸＭＬに含まれる第１項目ＩＤ“文書種別”を示す＜文書種別＞タグと、直前のＳ１６で指定されたパラメータ“１”とを対応付けて、メモリ３２に記憶させる（Ｓ１７）。より詳細には、装置プログラム３５は、図３（Ｄ）に示されるように、＜文書種別＞タグと、＜文書種別＞タグの要素であるパラメータ“１”とを、＜ＥＶＴＰＡＲＡＭ＞タグの要素としてメモリ３２に記憶させる。
【００４５】
すなわち、装置プログラム３５は、少なくとも１回実行するＳ１６において、複数のパラメータを指定するユーザ操作を、入力Ｉ／Ｆ５４を通じて受け付ける。すなわち、装置プログラム３５は、１つのパラメータの指定を受け付けるＳ１６を複数回実行してもよいし、１回のＳ１６で複数の第１設定項目それぞれに対応する複数のパラメータの指定を受け付けてもよい。また、装置プログラム３５は、少なくとも１回実行するＳ１７において、Ｓ１６で指定された複数のパラメータそれぞれを、Ｓ１６の直前に受信した画面指示ＸＭＬに含まれる第１項目ＩＤと対応付けてメモリ３２に記憶させる。
【００４６】
次に、装置プログラム３５は、直前のＳ１４で受信した画面指示ＸＭＬの＜ＮｅｘｔＵＲＬ＞タグの要素“www.server-a.com/scan-upload3.xml”を、次の指示データのアドレス情報として取得する。次に、装置プログラム３５は、サーバ識別情報“www.server-a.com”で識別されるサーバ７０に、ファイルパス情報“scan-upload3.xml”で示されるＸＭＬファイルの送信を要求するＸＭＬ要求情報を、通信Ｉ／Ｆ２５を通じて送信する（Ｓ１３）。このＸＭＬ要求情報は、第１設定項目“解像度”のパラメータ“２”と、第１設定項目“文書種別”のパラメータ“１”とを含む。
【００４７】
次に、装置プログラム３５は、図３（Ｃ）に示されるＸＭＬファイルを通信Ｉ／Ｆ２５を通じてサーバ７０から受信する。次に、装置プログラム３５は、図３（Ｃ）に示されるＸＭＬファイル内において、＜コマンド＞タグを検出したことに応じて、当該ＸＭＬファイルが動作指示ＸＭＬであると判断する（Ｓ１４：動作指示）。動作指示ＸＭＬは、例えば図３（Ｃ）に示されるように、＜スキャンアップロード＞タグと、＜解像度＞タグと、＜形式＞タグと、＜サーバ＞タグと、＜テンプレートパス＞タグとを、＜コマンド＞タグの要素として含む。
【００４８】
＜スキャンアップロード＞タグは、ＭＦＰ１０に実行させるスキャンアップロード動作を識別するための情報である。＜スキャンアップロード＞タグの要素である＜解像度＞タグ、＜形式＞タグ、及び＜サーバ＞タグは、第２設定項目を識別する第２識別情報（以下、「第２項目ＩＤ」と表記する。）の一例である。また、＜解像度＞タグ、＜形式＞タグ、及び＜サーバ＞タグの要素には、第２設定項目に対応するパラメータが設定されている。＜テンプレートパス＞タグの要素には、テンプレートデータの所在を示すアドレス情報が設定されている。
【００４９】
＜解像度＞タグの要素には、スキャン動作の読取解像度を示すパラメータ“２（＝６００ｄｐｉ）”が設定されている。＜解像度＞タグの要素は、解像度選択画面を通じてユーザによって指定されたパラメータである。＜形式＞タグの要素には、スキャン動作で生成するスキャンデータのファイル形式を示すパラメータ“１（＝ＴＩＦＦ）”が設定されている。＜形式＞タグの要素は、複数のパラメータ“１（＝ＴＩＦＦ）”、“２（＝ＰＤＦ）”のうちから、サーバ７０の管理者によって指定されたパラメータである。＜サーバ＞タグの要素には、スキャンデータのアップロード先のサーバ９０のサーバ識別情報“www.server-c.com"が設定されている。＜サーバ＞タグの要素は、サーバ７０の管理者によって指定されたパラメータである。
【００５０】
このように、動作指示ＸＭＬは、第２項目ＩＤ及びパラメータの複数のセットを含む。また、図３（Ｃ）に示される動作指示ＸＭＬにおいて、＜解像度＞タグの要素は、Ｓ１６におけるユーザ操作によって変動する。一方、図３（Ｃ）に示される動作指示ＸＭＬにおいて、＜形式＞タグ及び＜サーバ＞タグの要素には、入力Ｉ／Ｆ２４に対するユーザ操作によって変動しない固定値が設定される。さらに、＜解像度＞タグは、Ｓ１７でメモリ３２に記憶されたログ情報において第１項目ＩＤとして用いられ、図３（Ｃ）に示される動作指示ＸＭＬにおいて第２項目ＩＤとして用いられる。すなわち、第１設定項目及び第２設定項目は、同一の項目を含んでもよい。
【００５１】
次に、装置プログラム３５は、受信したＸＭＬファイルが動作指示ＸＭＬであると判断したことに応じて（Ｓ１４：動作指示）、動作指示ＸＭＬに含まれる＜解像度＞タグ、＜形式＞タグ、及び＜サーバ＞タグと、各タグの要素とを対応付けて、メモリ３２に記憶させる（Ｓ１８）。より詳細には、装置プログラム３５は、図３（Ｄ）に示されるように、動作指示ＸＭＬの＜スキャンアップロード＞タグの要素を、＜ＣＭＤＰＡＲＡＭ＞タグの要素としてメモリ３２に記憶させる。Ｓ１８の処理は、第２記憶処理の一例である。
【００５２】
次に、装置プログラム３５は、指示動作実行処理を実行する（Ｓ１９）。指示動作実行処理は、動作指示ＸＭＬで指示された動作をＭＦＰ１０に実行させると共に、当該動作のメタデータを生成してサーバ９０にアップロードする処理である。図６を参照して、指示動作実行処理の詳細を説明する。
【００５３】
［指示動作実行処理］
まず、装置プログラム３５は、動作指示ＸＭＬの＜テンプレートパス＞タグの要素を、テンプレートＸＭＬのアドレス情報として取得する。次に、装置プログラム３５は、サーバ識別情報“www.server-b.com”で識別されるサーバ８０に、ファイルパス情報“template.xml”で示されるテンプレートＸＭＬの送信を要求するテンプレート要求情報を、通信Ｉ／Ｆ２５を通じて送信する（Ｓ２１）。そして、装置プログラム３５は、図４（Ａ）に示されるテンプレートＸＭＬを、テンプレート要求情報の応答として、通信Ｉ／Ｆ２５を通じてサーバ８０から受信する（Ｓ２２）。Ｓ２１の処理は第３送信処理の一例であり、Ｓ２２の処理は第２受信処理の一例であり、Ｓ２１、Ｓ２２の処理は取得処理の一例である。
【００５４】
次に、装置プログラム３５は、サーバ９０にスキャンデータをアップロードする権限をＭＦＰ１０が有するか否かを判断する（Ｓ２３）。例えば、装置プログラム３５は、サーバ９０にスキャンデータをアップロードする権限を有することを示す認証情報がメモリ３２に記憶されているか否かを判断すればよい。次に、装置プログラム３５は、アップロードする権限を有すると判断したことに応じて（Ｓ２３：Ｙｅｓ）、Ｓ２２で受信したテンプレートＸＭＬの構文が正しいか否かを判断する（Ｓ２４）。例えば、装置プログラム３５は、予約語の文法が正しいか否か、テンプレートＸＭＬに含まれるスクリプト言語の文法が正しいか否か等を判断すればよい。
【００５５】
次に、装置プログラム３５は、テンプレートＸＭＬの構文が正しいと判断したことに応じて（Ｓ２４：Ｙｅｓ）、動作指示ＸＭＬの＜スキャンアップロード＞タグで指示されたスキャンアップロード動作の一部であるスキャン動作を、＜解像度＞タグ及び＜形式＞タグの要素であるパラメータ“２（＝６００ｄｐｉ）”、“１（＝ＴＩＦＦ）”に従って、スキャナ１２に実行させる。すなわち、スキャナ１２は、原稿に記録された画像を読取解像度“６００ｄｐｉ”で読み取って、ファイル形式“ＴＩＦＦ”のスキャンデータを生成し、生成したスキャンデータをメモリ３２に一時記憶させる。Ｓ２５の処理は、スキャン指示処理の一例である。
【００５６】
次に、装置プログラム３５は、複数の結果項目ＩＤ（例えば、＜ページ数＞タグ、＜スキャン結果＞タグ）と、複数の結果情報（例えば、“５”、“正常終了”）とを対応付けて、メモリ３２に記憶させる（Ｓ２６）。より詳細には、装置プログラム３５は、図３（Ｄ）に示されるように、＜ページ数＞タグと、＜ページ数＞タグの要素である結果情報“５”と、＜スキャン結果＞タグと、＜スキャン結果＞タグの要素である結果情報“正常終了”とを、＜ＥＶＴＰＡＲＡＭ＞タグの要素としてメモリ３２に記憶させる。なお、装置プログラム３５は、Ｓ２５において、前述の結果情報をスキャナ１２から取得する。Ｓ２６の処理は、第３記憶処理の一例である。
【００５７】
結果項目ＩＤは、結果情報の種類を示す結果項目を識別する第４識別情報の一例である。結果情報は、スキャン動作の実行結果を示す情報である。すなわち、図３（Ｄ）に示される＜ページ数＞タグの要素“５”は、スキャン動作で画像を読み取った原稿の数が５枚であることを示す。また、図３（Ｄ）に示される＜スキャン結果＞タグの要素“正常終了”は、Ｓ２５でスキャナ１２に実行させたスキャン動作が正常に終了したことを示す。但し、結果情報の具体例は、これらに限定されない。
【００５８】
次に、装置プログラム３５は、メタデータ生成処理を実行する（Ｓ２７）。メタデータ生成処理は、Ｓ２２で受信したテンプレートＸＭＬで示される第１設定項目のパラメータ、第２設定項目のパラメータ、装置情報、及び結果情報の少なくとも１つを用いて、メタデータを生成する処理である。Ｓ２７の処理は、生成処理の一例である。図７を参照して、メタデータ生成処理の詳細を説明する。
【００５９】
［メタデータ生成処理］
まず、装置プログラム３５は、テンプレートＸＭＬに含まれる予約語を検索する。そして、装置プログラム３５は、予約語を検出したことに応じて、検出した予約語が第１予約語“％％ＥＶＴＰＡＲＡＭ（“・・・”）％％”、第２予約語“％％ＣＭＤＰＡＲＡＭ（“・・・”）％％”、第３予約語“％％ＥＶＴＰＡＲＡＭ（“・・・”）％％”、第４予約語“％％ＯＩＤＰＡＲＡＭ（“・・・”）％％”のいずれであるかを判断する（Ｓ３１）。Ｓ３１の処理は、第２判断処理、第３判断処理、第４判断処理、及び第５判断処理の一例である。なお、本実施形態に係る第１予約語及び第３予約語は、文字列“％％ＥＶＴＰＡＲＡＭ（“・・・”）％％”が共通しており、対応付けられる識別情報によって区別される。但し、第１予約語及び第３予約語に異なる文字列を採用してもよい。
【００６０】
装置プログラム３５は、例えば第４予約語“％％ＯＩＤＰＡＲＡＭ（“モデル名”）％％”を検出したことに応じて（Ｓ３１：ＯＩＤＰＡＲＡＭ）、検出した第４予約語に対応付けられた装置項目ＩＤ“モデル名”を特定する（Ｓ３８）。次に、装置プログラム３５は、特定した装置項目ＩＤ“モデル名”に対応付けてＭＩＢに記憶されている装置情報“ＭＦＰ−Ａ”を、メモリ３２から読み出す（Ｓ３９）。そして、装置プログラム３５は、Ｓ３１で検出した第４予約語“％％ＯＩＤＰＡＲＡＭ（“モデル名”）％％”を、Ｓ３９で読み出した装置情報“ＭＦＰ−Ａ”に置換する（Ｓ４０）。Ｓ３８の処理は第４特定処理の一例であり、Ｓ３９の処理は第４読出処理の一例であり、Ｓ４０の処理は第４置換処理の一例である。
【００６１】
また、装置プログラム３５は、例えば第４予約語“％％ＯＩＤＰＡＲＡＭ（“日時”）％％”を検出したことに応じて（Ｓ３１：ＯＩＤＰＡＲＡＭ）、検出した第４予約語に対応付けられた装置項目ＩＤ“日時”を特定する（Ｓ３８）。次に、装置プログラム３５は、特定した装置項目ＩＤ“日時”に対応付けてＭＩＢに記憶されている装置情報“２０１６年４月１４日”を、メモリ３２から読み出す（Ｓ３９）。そして、装置プログラム３５は、Ｓ３１で検出した第４予約語“％％ＯＩＤＰＡＲＡＭ（“日時”）％％”を、Ｓ３９で読み出した装置情報“２０１６年４月１４日”に置換する（Ｓ４０）。Ｓ４０でメタデータに含められる日時情報は、例えば、スキャン動作の実行日時を示す。
【００６２】
また、装置プログラム３５は、例えば第１予約語“％％ＥＶＴＰＡＲＡＭ（“解像度”）％％”を検出したことに応じて（Ｓ３１：ＥＶＴＰＡＲＡＭ）、検出した第１予約語に対応付けられた第１項目ＩＤ“解像度”を特定する（Ｓ３２）。次に、装置プログラム３５は、特定した第１項目ＩＤ“解像度”に対応付けてメモリ３２に記憶されているパラメータ“２”を、メモリ３２から読み出す（Ｓ３３）。すなわち、装置プログラム３５は、メモリ３２に記憶されたログ情報のうち、＜ＥＶＴＰＡＲＡＭ＞タグの要素である＜解像度＞タグの要素“２”を、パラメータとしてメモリ３２から読み出す。
【００６３】
次に、装置プログラム３５は、読み出したパラメータ“２”を、テンプレートＸＭＬのスクリプトに従ってテキスト“６００ｄｐｉ”に変換する。そして、装置プログラム３５は、Ｓ３１で検出した第１予約語“％％ＥＶＴＰＡＲＡＭ（“解像度”）％％”を、変換したテキスト“６００ｄｐｉ”に置換する（Ｓ３４）。より詳細には、装置プログラム３５は、Ｓ３１で検出した第１予約語“％％ＥＶＴＰＡＲＡＭ（“解像度”）％％”を含む＜スクリプト＞タグ及び＜スクリプト＞タグの要素全体を、テキスト“６００ｄｐｉ”に置換する。この場合において、Ｓ３２の処理は第１特定処理の一例であり、Ｓ３３の処理は第１読出処理の一例であり、Ｓ３４の処理は第１置換処理の一例である。
【００６４】
また、装置プログラム３５は、例えば第１予約語“％％ＥＶＴＰＡＲＡＭ（“文書種別”）％％”を検出したことに応じて（Ｓ３１：ＥＶＴＰＡＲＡＭ）、検出した第１予約語に対応付けられた第１項目ＩＤ“文書種別”を特定する（Ｓ３２）。次に、装置プログラム３５は、メモリ３２に記憶されたログ情報のうち、＜ＥＶＴＰＡＲＡＭ＞タグの要素である＜文書種別＞タグの要素“１”を、パラメータとしてメモリ３２から読み出す（Ｓ３３）。次に、装置プログラム３５は、読み出したパラメータ“１”を、テンプレートＸＭＬのスクリプトに従ってテキスト“見積書”に変換する。そして、装置プログラム３５は、Ｓ３１で検出した第１予約語“％％ＥＶＴＰＡＲＡＭ（“文書種別”）％％”を含む＜スクリプト＞タグ及び＜スクリプト＞タグの要素全体を、変換したテキスト“見積書”に置換する（Ｓ３４）。
【００６５】
また、装置プログラム３５は、例えば第２予約語“％％ＣＭＤＰＡＲＡＭ（“形式”）％％”を検出したことに応じて（Ｓ３１：ＣＭＤＰＡＲＡＭ）、検出した第２予約語に対応付けられた第２項目ＩＤ“形式”を特定する（Ｓ３５）。次に、装置プログラム３５は、特定した第２項目ＩＤ“形式”に対応付けてメモリ３２に記憶されているパラメータ“１”を、メモリ３２から読み出す（Ｓ３６）。すなわち、装置プログラム３５は、メモリ３２に記憶されたログ情報のうち、＜ＣＭＤＰＡＲＡＭ＞タグの要素である＜形式＞タグの要素“１”を、パラメータとしてメモリ３２から読み出す。
【００６６】
次に、装置プログラム３５は、読み出したパラメータ“１”を、テンプレートＸＭＬのスクリプトに従ってテキスト“ＴＩＦＦ”に変換する。そして、装置プログラム３５は、Ｓ３１で検出した第２予約語“％％ＣＭＤＰＡＲＡＭ（“形式”）％％”を含む＜スクリプト＞タグ及び＜スクリプト＞タグの要素全体を、変換したテキスト“ＴＩＦＦ”に置換する（Ｓ３７）。Ｓ３５の処理は第２特定処理の一例であり、Ｓ３６の処理は第２読出処理の一例であり、Ｓ３７の処理は第２置換処理の一例である。
【００６７】
さらに、装置プログラム３５は、例えば第３予約語“％％ＥＶＴＰＡＲＡＭ（“スキャン結果”）％％”、“％％ＥＶＴＰＡＲＡＭ（“ページ数”）％％”を検出したことに応じて（Ｓ３１：ＥＶＴＰＡＲＡＭ）、検出した第３予約語に対応付けられた結果項目ＩＤ“スキャン結果”、“ページ数”を特定する（Ｓ３２）。次に、装置プログラム３５は、特定した結果項目ＩＤ“スキャン結果”、“ページ数”に対応付けてメモリ３２に記憶されているパラメータ“正常終了”、“５”を、メモリ３２から読み出す（Ｓ３３）。すなわち、装置プログラム３５は、メモリ３２に記憶されたログ情報のうち、＜ＥＶＴＰＡＲＡＭ＞タグの要素である＜スキャン結果＞タグの要素“正常終了”及び＜ページ数＞タグの要素“５”を、結果情報としてメモリ３２から読み出す。
【００６８】
次に、装置プログラム３５は、結果項目ＩＤ“スキャン結果”のパラメータが“正常終了”か否かを、スクリプトに従って判断する。そして、装置プログラム３５は、結果項目ＩＤ“スキャン結果”のパラメータが“正常終了”であると判断したことに応じて、Ｓ３１で検出した第３予約語“％％ＥＶＴＰＡＲＡＭ（“ページ数”）％％”を含む＜スクリプト＞タグ及び＜スクリプト＞タグの要素全体を、Ｓ３３で読み出した結果情報“５”に置換する（Ｓ３４）。一方、装置プログラム３５は、結果項目ＩＤ“スキャン結果”のパラメータが“正常終了”でないと判断したことに応じて、Ｓ３１で検出した第３予約語“％％ＥＶＴＰＡＲＡＭ（“ページ数”）％％”を含む＜スクリプト＞タグ及び＜スクリプト＞タグの要素全体を削除する。この場合において、Ｓ３２の処理は第３特定処理の一例であり、Ｓ３３の処理は第３読出処理の一例であり、Ｓ３４の処理は第３置換処理の一例である。
【００６９】
装置プログラム３５は、Ｓ２２で受信したテンプレートＸＭＬに含まれる全ての予約語に対して、Ｓ３１〜Ｓ４０の処理を実行する。これにより、装置プログラム３５は、図４（Ａ）及び（Ｂ）に示されるように、固定情報、予約語、識別情報、及びスクリプトを含むテンプレートＸＭＬから、固定情報、第１設定項目のパラメータ、第２設定項目のパラメータ、結果情報、及び装置情報を含むメタデータを生成する。そして、装置プログラム３５は、生成したメタデータをメモリ３２に一時記憶させる。
【００７０】
より詳細には、＜モデル名＞タグの要素である第４予約語が装置情報“ＭＦＰ−Ａ”に置換され、＜スキャン日時＞タグの要素である第４予約語が装置情報“２０１６年４月１４日”に置換され、＜解像度＞タグの要素である第１予約語がテキストに変換されたパラメータ“６００ｄｐｉ”に置換され、＜文書種別＞タグの要素である第１予約語がテキストに変換されたパラメータ“見積書”に置換され、＜ファイル形式＞タグの要素である第２予約語がテキストに変換されたパラメータ“ＴＩＦＦ”に置換され、＜ページ数＞タグの要素である第３予約語が結果情報“５”に置換される。
【００７１】
図６に戻って、装置プログラム３５は、動作指示ＸＭＬの＜サーバ＞タグの要素を、アップロードデータのアップロード先のサーバを識別するサーバ識別情報として取得する。そして、装置プログラム３５は、取得したサーバ識別情報“www.server-c.com”で識別されるサーバ９０に、通信Ｉ／Ｆ２５を通じてアップロードデータを送信する（Ｓ２８）。アップロードデータは、例えば、Ｓ２５でメモリ３２に一時記憶させたスキャンデータと、Ｓ２７でメモリ３２に一時記憶させたメタデータと、メモリ３２に記憶されている認証情報とを含む。Ｓ２８の処理は、第２送信処理の一例である。なお、スキャンデータ及びメタデータのアップロード先は、同一であってもよいし、異なっていてもよい。メタデータのアップロード先は、動作指示ＸＭＬで示されていてもよいし、テンプレートＸＭＬで示されていてもよい。
【００７２】
図示は省略するが、サーバ９０の第２コントローラは、第２通信Ｉ／Ｆを通じてＭＦＰ１０からアップロードデータを受信する。この処理は、第３受信処理の一例である。次に、第２コントローラは、アップロードデータに含まれる認証情報が有効か否かを判断する。より詳細には、第２コントローラは、例えば、アップロードデータに含まれる認証情報と同一の認証情報がサーバメモリに記憶されているか否か、サーバメモリに記憶されている認証情報の有効期限が到来していないか否かを判断すればよい。そして、第２コントローラは、認証情報が有効だと判断したことに応じて、アップロードデータに含まれるスキャンデータ及びメタデータを、サーバメモリに記憶させる。一方、第２コントローラは、認証情報が無効だと判断したことに応じて、スキャンデータ及びメタデータをサーバメモリに記憶させることなく、第２通信Ｉ／Ｆを通じてＭＦＰ１０にエラー情報を送信する。
【００７３】
［本実施形態の作用効果］
上記の実施形態によれば、スキャンアップロード動作をＭＦＰ１０に実行させるのに必要な一連の処理中に、メタデータの生成に必要な情報が収集される。その結果、メタデータを生成するための煩雑な事前準備をユーザに要求することなく、スキャンデータ及びメタデータをアップロードすることができる。なお、受付処理で指定されるパラメータは、スキャン動作の実行条件として用いられる情報（例えば、解像度）に限定されず、メタデータに含めるための情報（例えば、文書種別）であってもよい。
【００７４】
また、上記の実施形態によれば、受付処理でユーザが指定した第１設定項目のパラメータのみならず、動作指示ＸＭＬに含まれる第２設定項目のパラメータ、装置情報、及び結果情報をメタデータに含めることができる。これにより、さらに詳細なメタデータを生成することができる。但し、メタデータは、前述の全ての情報を含んでいることに限定されず、前述の情報の少なくとも一部を含んでいればよい。
【００７５】
また、上記の実施形態によれば、テンプレートデータのうち、固定情報がメタデータにコピーされ、第１予約語が第１設定項目のパラメータに置換され、第２予約語が第２設定項目のパラメータに置換され、第３予約語が装置情報に置換され、第４予約語が結果情報に置換される。これにより、メタデータに含める全ての情報を装置プログラム３５が生成するのと比較して、メタデータを生成する処理が簡素化される。
【００７６】
また、上記の実施形態によれば、第１予約語及び第１項目ＩＤの組み合わせによって、複数の第１設定項目のうち、メタデータに含めるパラメータに対応する第１設定項目が特定される。これにより、多数の第１設定項目それぞれに特有の予約語を使い分けてテンプレートデータを作成せずともよい。また、多数の第１設定項目それぞれに特有の予約語を判断する構成をＭＦＰ１０に組み込む必要がなくなる。同様に、第２予約語及び第２項目ＩＤの組み合わせによって第２設定項目が特定され、第３予約語及び装置項目ＩＤの組み合わせによって装置項目が特定され、第４予約語及び結果項目ＩＤの組み合わせによって結果項目が特定される。これにより、少ない予約語でメタデータに含める情報を特定することができる。
【００７７】
また、上記の実施形態によれば、テンプレートデータに含まれるスクリプトに従って、メタデータを生成することができる。一例として、指示データの送受信時に利用されるバイナリ形式のパラメータが、スクリプトで示されるテキストに変換される。これにより、スキャンデータの管理に利用しやすいテキスト形式の情報を含むメタデータを生成することができる。他の例として、結果項目ＩＤ“スキャン結果”のパラメータの値に応じて、結果項目ＩＤ“ページ数”のパラメータをメタデータに含めるか否かが切り替えられる。この場合において、結果項目ＩＤ“スキャン結果”のパラメータは第１パラメータの一例であり、結果項目ＩＤ“ページ数”のパラメータは第２パラメータの一例である。
【００７８】
但し、テンプレートデータに含まれるスクリプトの具体的な処理内容は、前述の例に限定されない。さらに他の例として、スクリプトは、第１パラメータが第１値の場合に第２パラメータをそのままメタデータに含め、第２パラメータが第２値の場合に第２パラメータを他の値に変更してメタデータに含めることを指示するものであってもよい。すなわち、テンプレートデータに含まれるスクリプトは、例えば、条件と、当該条件に合致する場合にメタデータに含める値とを少なくとも示していればよい。
【００７９】
なお、上記の実施形態では、テンプレートＸＭＬをサーバ８０から受信する例を説明したが、テンプレートＸＭＬの取得先はサーバ８０に限定されない。一例として、ＭＦＰ１０は、ＵＳＢメモリ等の可搬記憶媒体が着脱される装着部を備えてもよい。そして、装置プログラム３５は、装着部に装着されたＵＳＢメモリからテンプレートＸＭＬを取得してもよい。他の例として、テンプレートＸＭＬはメモリ３２に記憶されていてもよい。そして、装置プログラム３５は、テンプレートＸＭＬをメモリ３２から読み出してもよい。さらに他の例として、テンプレートＸＭＬは、動作指示ＸＭＬに含まれていてもよい。すなわち、装置プログラム３５は、サーバ７０から受信した動作指示ＸＭＬからテンプレートＸＭＬを読み出してもよい。
【００８０】
また、図３（Ａ）〜（Ｃ）の例において、＜ＮｅｘｔＵＲＬ＞タグは、画面指示ＸＭＬのみに含まれ、動作指示ＸＭＬに含まれていない。しかしながら、＜ＮｅｘｔＵＲＬ＞タグは、動作指示ＸＭＬに含まれていてもよい。すなわち、動作指示ＸＭＬに指示された動作の後に、ＭＦＰ１０にさらに動作を実行させてもよい。なお、動作指示ＸＭＬに含まれる＜ＮｅｘｔＵＲＬ＞タグの要素は、画面指示ＸＭＬを示してもよいし、動作指示ＸＭＬを示してもよい。
【００８１】
一例として、図３（Ｃ）の動作指示ＸＭＬの後に、同一或いは異なる実行パラメータに従ってＭＦＰ１０にスキャン動作をさらに実行させてもよい。他の例として、図３（Ｃ）の動作指示ＸＭＬの後に、スキャンアップロードの結果を示す画像をシートに記録するプリント動作をプリンタ１１に実行させてもよい。さらに他の例として、図３（Ｃ）の動作指示ＸＭＬの後に、スキャンアップロードの結果を示す画面をディスプレイ２３に表示させてもよい。
【００８２】
また、上記の実施形態では、ユーザが指定したパラメータ（例えば、“６００ｄｐｉ”、“ＴＩＦＦ”、“見積書”）に対応するバイナリ値（例えば、“１”、“２”）を、動作指示ＸＭＬ及びログ情報に含める例を説明した。しかしながら、動作指示ＸＭＬ及びログ情報は、“６００ｄｐｉ”、“ＴＩＦＦ”、“見積書”等のテキスト形式のパラメータを含んでもよい。これにより、動作指示ＸＭＬ及びログ情報の可読性が向上する。また、パラメータをバイナリ形式からテキスト形式に変換するスクリプトを省略できるので、テンプレートデータがシンプルになる。
【００８３】
また、上記の実施形態では、画面指示ＸＭＬに従ってユーザが指定した全てのパラメータがＸＭＬ要求情報に付加されてサーバ７０に送信される。そして、サーバ７０は、ＸＭＬ要求情報に付加されたパラメータのうち、スキャンアップロードの実行条件を示すパラメータ（例えば、解像度）を動作指示ＸＭＬに含め、スキャンアップロード実行条件を示さないパラメータ（例えば、文書種別）を動作指示ＸＭＬに含めない。しかしながら、動作指示ＸＭＬにどのパラメータを含めるかは、装置プログラム３５が判断してもよい。
【００８４】
より詳細には、装置プログラム３５は、過去のＳ１６で指定されたパラメータのうち、スキャンアップロード動作の実行条件を示すパラメータをＸＭＬ要求情報に付加し、スキャンアップロード動作の実行条件を示さないパラメータを付加しなくてもよい。そして、サーバ７０は、ＸＭＬ要求情報に付加された全てのパラメータを動作指示ＸＭＬに含めてもよい。また、装置プログラム３５は、複数回実行されるＳ１３において、過去のＳ１６で指定された全てのパラメータをＸＭＬ要求情報に付加してもよいし、直前のＳ１６で指定されたパラメータのみをＸＭＬ要求情報に付加してもよい。
【００８５】
また、上記の実施形態のＭＦＰ１０において、メモリ３２に記憶された各種プログラムがＣＰＵ３１によって実行されることによって、本発明のコントローラが実行する各処理が実現される例を説明した。しかしながら、コントローラの構成はこれに限定されず、その一部又は全部を集積回路等のハードウェアで実現してもよい。
【００８６】
さらに、本発明は、ＭＦＰ１０として実現できるだけでなく、ＭＦＰ１０に処理を実行させるプログラムとして実現してもよい。そして、当該プログラムは、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな記録媒体に記録されて提供されてもよい。ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな記録媒体は、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等の他、通信ネットワーク１０１を通じてＭＦＰ１０に接続可能なサーバに搭載されたメモリを含んでもよい。そして、サーバのメモリに記憶されたプログラムは、当該プログラムを示す情報或いは信号として、インターネット等の通信ネットワーク１０１を通じて配信されてもよい。
【符号の説明】
【００８７】
１０・・・ＭＦＰ
１２・・・スキャナ
２３・・・ディスプレイ
２４・・・入力Ｉ／Ｆ
２５・・・通信Ｉ／Ｆ
３１・・・ＣＰＵ
３２・・・メモリ
３５・・・装置プログラム
７０，８０、９０・・・サーバ
【図１】
0006784071.tif 000002
【図２】
0006784071.tif 000003
【図３】
0006784071.tif 000004
【図４】
0006784071.tif 000005
【図５】
0006784071.tif 000006
【図６】
0006784071.tif 000007
【図７】
0006784071.tif 000008
【図８】
0006784071.tif 000009
【図９】
0006784071.tif 000010