(57)【要約】【課題】複数の取得元から受信した追加型プログラムを実行する装置を提供する。【解決手段】解析モジュールは、所在情報のプロトコル情報に第１値が設定されていることに応じて（Ｓ１４：ｈｔｔｐ）、第１プロトコルに従って、第１取得モジュールを通じて指示データを取得する第１取得処理（Ｓ１５）と、プロトコル情報に第２値が設定されていることに応じて（Ｓ１４：ｆｉｌｅ）、第２プロトコルに従って、第２取得モジュールを通じて指示データを取得する第２取得処理（Ｓ２２）と、画面指示データを取得したことに応じて（Ｓ１６：画面指示）、指示画面に含まれる複数のパラメータの１つの指定を受け付ける受付処理（Ｓ１８）と、動作指示データを取得したことに応じて（Ｓ１６：動作指示）、指定されたパラメータに対応する実行条件に従って、動作指示データで示されるコンテンツ処理動作を実行させる動作指示処理（Ｓ２１）とを実行させる。【選択図】図５
2020171043.tif 000002
【特許請求の範囲】
【請求項１】
コンテンツデータに対するコンテンツ処理動作を実行するハードウェアであるコンテンツ処理部と、
装置メモリと、
ディスプレイと、
入力インタフェースと、
通信インタフェースと、
コントローラとを備えるコンテンツ処理装置であって、
前記装置メモリは、前記コントローラに読み取られて該コンテンツ処理装置を動作させるプログラムを記憶しており、前記プログラムは、解析モジュールと、第１取得モジュールと、第２取得モジュールとを含み、
前記解析モジュールは、
指示データの所在を示す所在情報を抽出する抽出処理と、
前記抽出処理で抽出した前記所在情報に含まれるプロトコル情報の設定値を判断する第１判断処理と、
前記第１判断処理で第１値と判断したことに応じて、前記抽出処理で抽出した前記所在情報を引数として指定して前記第１取得モジュールを呼び出し、且つ当該所在情報で示される前記指示データを前記第１取得モジュールから取得する第１取得処理と、
前記第１判断処理で第２値と判断したことに応じて、前記抽出処理で抽出した前記所在情報を引数として前記第２取得モジュールを呼び出し、且つ当該所在情報で示される前記指示データを前記第２取得モジュールから取得する第２取得処理と、
前記第１取得処理或いは前記第２取得処理で取得した前記指示データが画面指示データ及び動作指示データのどちらかを判断する第２判断処理とを該コンテンツ処理装置に実行させ、前記画面指示データは、複数のパラメータを含む指示画面を表示させるためのデータであり、前記動作指示データは、前記コンテンツ処理部に前記コンテンツ処理動作を実行させるためのデータであり、
前記解析モジュールは、
前記第２判断処理で前記画面指示データと判断したことに応じて、
当該画面指示データで示される前記指示画面を前記ディスプレイに表示させる表示処理と、
前記指示画面に含まれる複数の前記パラメータの１つを指定するユーザ操作を、前記入力インタフェースを通じて受け付ける受付処理と、
前記第１取得処理或いは前記第２取得処理で取得した前記指示データから、次の前記指示データの所在を示す前記所在情報を抽出する前記抽出処理とを該コンテンツ処理装置に実行させ、
前記受付処理を実行した後の前記第１取得処理或いは前記第２取得処理において、前記抽出処理で抽出した前記所在情報と、前記受付処理で指定された前記パラメータとを引数として指定し、
前記第２判断処理で前記動作指示データと判断したことに応じて、前記受付処理で指定された前記パラメータに対応する実行条件に従って、当該動作指示データで示される前記コンテンツ処理動作を前記コンテンツ処理部に実行させる動作指示処理を該コンテンツ処理装置に実行させ、
前記解析モジュールに呼び出された前記第１取得モジュールは、引数として取得した前記所在情報で示される前記指示データの送信を要求する送信要求情報を、第１プロトコルに従って、前記通信インタフェースを通じてサーバに送信する送信処理を該コンテンツ処理装置に実行させ、前記送信要求情報は、引数として前記パラメータを取得した場合に当該パラメータを含み、
前記第１取得モジュールは、
前記送信要求情報の応答である前記指示データを、前記第１プロトコルに従って、前記通信インタフェースを通じて前記サーバから受信する受信処理と、
前記受信処理で受信した前記指示データを前記解析モジュールに引き渡す第１引渡処理とを該コンテンツ処理装置に実行させ、
前記解析モジュールに呼び出された前記第２取得モジュールは、
引数として取得した前記所在情報で示される前記指示データを、前記第１プロトコルと異なる第２プロトコルに従って、前記サーバと異なる取得元から取得する取得処理と、
前記取得処理で取得した前記指示データを前記解析モジュールに引き渡す第２引渡処理とを該コンテンツ処理装置に実行させるコンテンツ処理装置。
【請求項２】
前記第１取得モジュールは、前記受信処理において、前記送信要求情報に含めた前記パラメータに対応する前記実行条件を指示する前記動作指示データを、前記通信インタフェースを通じて前記サーバから受信し、
前記解析モジュールは、前記動作指示処理において、前記動作指示データで指示された前記実行条件に従って、前記コンテンツ処理部に前記コンテンツ処理動作を実行させる請求項１に記載のコンテンツ処理装置。
【請求項３】
前記第２取得モジュールは、前記取得処理において、前記受付処理で指定された前記パラメータを前記実行条件に変換するスクリプトを含む前記動作指示データを前記取得元から取得し、
前記解析モジュールは、
前記受付処理で指定された前記パラメータを前記装置メモリに記憶させる記憶処理と、
前記動作指示データが前記スクリプトを含むか否かを判断する第３判断処理と、
前記第３判断処理で含むと判断したことに応じて、前記装置メモリに記憶された前記パラメータから当該スクリプトに従って変換した前記実行条件で、前記動作指示データの前記スクリプトを置換する置換処理とを該コンテンツ処理装置に実行させる請求項２に記載のコンテンツ処理装置。
【請求項４】
前記第２取得モジュールは、
前記取得処理において、前記受付処理で指定された前記パラメータを前記実行条件に変換するスクリプトを含む前記動作指示データを前記取得元から取得し、
引数として取得した前記パラメータを前記装置メモリに記憶させる記憶処理と、
前記取得処理で取得した前記動作指示データが前記スクリプトを含むか否かを判断する第３判断処理と、
前記第３判断処理で含むと判断したことに応じて、前記装置メモリに記憶された前記パラメータから当該スクリプトに従って変換した前記実行条件で、前記動作指示データの前記スクリプトを置換する置換処理とを該コンテンツ処理装置に実行させ、
前記第２引渡処理において、前記置換処理後の前記指示データを前記解析モジュールに引き渡す請求項２に記載のコンテンツ処理装置。
【請求項５】
該コンテンツ処理装置は、前記取得元である複数のメモリと接続されており、
前記プロトコル情報に前記第２値が設定された前記所在情報は、複数の前記メモリの１つを識別するメモリ識別情報を含むことが可能であり、
前記第２取得モジュールは、
前記所在情報が前記メモリ識別情報を含むか否かを判断する第４判断処理を該コンテンツ処理装置に実行させ、
前記第４判断処理で含むと判断した場合の前記取得処理において、前記メモリ識別情報で識別される前記メモリから前記指示データを読み出す請求項１から４のいずれかに記載のコンテンツ処理装置。
【請求項６】
該コンテンツ処理装置は、可搬メモリが着脱可能な装着部を備えており、
前記第２取得モジュールは、
前記第４判断処理で含まないと判断したことに応じて、前記装着部に前記可搬メモリが装着されているか否かを判断する第５判断処理を該コンテンツ処理装置に実行させ、
前記第５判断処理で装着されていると判断した場合の前記取得処理において、当該可搬メモリから前記指示データを読み出し、
前記第５判断処理で装着されていないと判断した場合の前記取得処理において、前記装置メモリから前記指示データを読み出す請求項５に記載のコンテンツ処理装置。
【請求項７】
前記コンテンツデータは、画像データであり、
前記コンテンツ処理部は、原稿に記録された画像データを読み取って前記画像データを生成するスキャン動作を実行するスキャナ、或いは前記画像データで示される画像をシートに記録するプリント動作を実行するプリンタである請求項１から６のいずれかに記載のコンテンツ処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、順番に取得する複数の指示データそれぞれで指示される処理を実行することによって、コンテンツデータを処理するコンテンツ処理装置に関する。
【背景技術】
【０００２】
例えば特許文献１には、サーバから指示データを受信する処理と、受信した指示データで指示された動作を実行する処理とを繰り返す端末装置が開示されている。この端末装置は、前述の処理を繰り返すことによって、サーバが提供するサービス（例えば、ファイルのアップロード或いはダウンロード）を利用することができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−１１３７００号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
近年、特許文献１に記載のシステムで提供されるサービスを、カスタマイズして利用したいという要望がある。しなしながら、インターネット上に設置されたサーバは、不特定多数の端末装置からアクセスされるので、全ての端末装置に共通の指示データを送信することしかできない。
【０００５】
そこで、共通の指示データが記憶されたサーバとは異なる場所にカスタマイズした指示データを保存し、当該場所から指示データを取得することが考えられる。しかしながら、指示データを取得するための手順は取得元毎に異なるので、端末装置のプログラムを指示データの取得元毎に開発するとなると、開発負担が大きくなるという課題を生じる。
【０００６】
本発明は、上記の事情に鑑みてなされたものであり、その目的は、複数の指示データで実現されるサービスを利用するコンテンツ処理装置であって、複数の取得元から指示データを受信可能なプログラムを搭載したコンテンツ処理装置を提供することにある。
【課題を解決するための手段】
【０００７】
本明細書では様々な開示を行う。開示例の１つであるコンテンツ処理装置は、コンテンツデータに対するコンテンツ処理動作を実行するハードウェアであるコンテンツ処理部と、装置メモリと、ディスプレイと、入力インタフェースと、通信インタフェースと、コントローラとを備える。前記装置メモリは、前記コントローラに読み取られて該コンテンツ処理装置を動作させるプログラムを記憶している。前記プログラムは、解析モジュールと、第１取得モジュールと、第２取得モジュールとを含む。前記解析モジュールは、指示データの所在を示す所在情報を抽出する抽出処理と、前記抽出処理で抽出した前記所在情報に含まれるプロトコル情報の設定値を判断する第１判断処理と、前記第１判断処理で第１値と判断したことに応じて、前記抽出処理で抽出した前記所在情報を引数として指定して前記第１取得モジュールを呼び出し、且つ当該所在情報で示される前記指示データを前記第１取得モジュールから取得する第１取得処理と、前記第１判断処理で第２値と判断したことに応じて、前記抽出処理で抽出した前記所在情報を引数として前記第２取得モジュールを呼び出し、且つ当該所在情報で示される前記指示データを前記第２取得モジュールから取得する第２取得処理と、前記第１取得処理或いは前記第２取得処理で取得した前記指示データが画面指示データ及び動作指示データのどちらかを判断する第２判断処理とを該コンテンツ処理装置に実行させる。前記画面指示データは、複数のパラメータを含む指示画面を表示させるためのデータである。前記動作指示データは、前記コンテンツ処理部に前記コンテンツ処理動作を実行させるためのデータである。前記解析モジュールは、前記第２判断処理で前記画面指示データと判断したことに応じて、当該画面指示データで示される前記指示画面を前記ディスプレイに表示させる表示処理と、前記指示画面に含まれる複数の前記パラメータの１つを指定するユーザ操作を、前記入力インタフェースを通じて受け付ける受付処理と、前記第１取得処理或いは前記第２取得処理で取得した前記指示データから、次の前記指示データの所在を示す前記所在情報を抽出する前記抽出処理とを該コンテンツ処理装置に実行させる。前記解析モジュールは、前記受付処理を実行した後の前記第１取得処理或いは前記第２取得処理において、前記抽出処理で抽出した前記所在情報と、前記受付処理で指定された前記パラメータとを引数として指定する。前記解析モジュールは、前記第２判断処理で前記動作指示データと判断したことに応じて、前記受付処理で指定された前記パラメータに対応する実行条件に従って、当該動作指示データで示される前記コンテンツ処理動作を前記コンテンツ処理部に実行させる動作指示処理を該コンテンツ処理装置に実行させる。前記解析モジュールに呼び出された前記第１取得モジュールは、引数として取得した前記所在情報で示される前記指示データの送信を要求する送信要求情報を、第１プロトコルに従って、前記通信インタフェースを通じてサーバに送信する送信処理を該コンテンツ処理装置に実行させる。前記送信要求情報は、引数として前記パラメータを取得した場合に当該パラメータを含む。前記第１取得モジュールは、前記送信要求情報の応答である前記指示データを、前記第１プロトコルに従って、前記通信インタフェースを通じて前記サーバから受信する受信処理と、前記受信処理で受信した前記指示データを前記解析モジュールに引き渡す第１引渡処理とを該コンテンツ処理装置に実行させる。前記解析モジュールに呼び出された前記第２取得モジュールは、引数として取得した前記所在情報で示される前記指示データを、前記第１プロトコルと異なる第２プロトコルに従って、前記サーバと異なる取得元から取得する取得処理と、前記取得処理で取得した前記指示データを前記解析モジュールに引き渡す第２引渡処理とを該コンテンツ処理装置に実行させる。
【０００８】
上記構成によれば、共通の引数を指定して呼び出される第１取得モジュール及び第２取得モジュールによって、互いに異なる取得元から指示データが取得される。そして、解析モジュールは、第１取得処理及び第２取得処理で取得した指示データに対して、共通の処理を実行すればよい。このように、取得元毎に異なるプロトコルを取得モジュールに実装し、指示データを解析する共通の処理を解析モジュールに実装することにより、少ない開発コストで複数の取得元から指示データを取得可能なコンテンツ処理装置を実現できる。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施形態に係るシステム１００の概要を示す図である。
【図２】図２（Ａ）はＭＦＰ１０のブロック図であり、図２（Ｂ）はメモリ３２に記憶されるプログラムリストの例である。
【図３】図３は、サーバ７０に記憶される指示データの例である。
【図４】図４（Ａ）〜（Ｃ）はサーバ７０と異なる取得元に記憶される指示データの例であり、図４（Ｄ）はログ情報の例である。
【図５】図５は、追加型プログラム機能に係るフローチャートである。
【図６】図６（Ａ）は第１取得処理のフローチャートであり、図６（Ｂ）は指示動作実行処理のフローチャートである。
【図７】図７は、第２取得処理のフローチャートである。
【図８】図８は、ディスプレイ２３の表示例であって、（Ａ）はＰＧ選択画面を、（Ｂ）は解像度選択画面を示す。
【図９】図９は、ディスプレイ２３の表示例であって、（Ａ）は種別選択画面を、（Ｂ）は拡張ＰＧ設定画面を示す。
【発明を実施するための形態】
【００１０】
以下、適宜図面を参照して本発明の実施形態について説明する。なお、以下に説明される実施形態は本発明の一例にすぎず、本発明の要旨を変更しない範囲で、本発明の実施形態を適宜変更できることは言うまでもない。例えば、後述する各処理の実行順序は、本発明の要旨を変更しない範囲で、適宜変更することができる。
【００１１】
図１は、本実施形態に係るシステム１００の概略図である。図１に示されるシステム１００は、ＭＦＰ（MultiFunction Peripheralの略）１０と、サーバ７０、８０、９０とで構成される。ＭＦＰ１０及びサーバ７０〜９０は、通信ネットワークを介して相互に通信可能とされている。通信ネットワークの具体例は特に限定されないが、例えば、インターネット１０１、有線ＬＡＮ、無線ＬＡＮ１０２、或いはこれらの組み合わせでもよい。
【００１２】
ＭＦＰ１０及びサーバ８０は、無線ＬＡＮ１０２に属している。すなわち、ＭＦＰ１０及びサーバ８０は、無線ＬＡＮ１０２の不図示のアクセスポイントを経由して、相互に通信することができる。また、無線ＬＡＮ１０２は、ルータ１０２Ａを通じてインターネット１０１に接続されている。さらに、サーバ７０、９０は、インターネット１０１に接続されている。すなわち、ＭＦＰ１０は、ルータ１０２Ａからインターネット１０１を経由して、サーバ７０、９０と通信することができる。但し、サーバ７０〜９０の配置は、図１の例に限定されない。
【００１３】
ＭＦＰ１０は、図２（Ａ）に示されるように、プリンタ１１と、スキャナ１２と、ディスプレイ２３と、入力Ｉ／Ｆ２４と、通信Ｉ／Ｆ２５と、装着部２６と、ＣＰＵ３１と、メモリ３２と、通信バス３３とを主に備える。ＭＦＰ１０を構成する各構成要素は、通信バス３３を通じて相互に接続されている。ＭＦＰ１０は、コンテンツ処理装置の一例である。
【００１４】
プリンタ１１は、画像データで示される画像をシートに記録するプリント動作を実行するハードウェアである。プリンタ１１の記録方式としては、インクジェット方式や電子写真方式などの公知の方式を採用することができる。スキャナ１２は、原稿に記録されている画像を読み取って画像データ（以下、「スキャンデータ」と表記する。）を生成するスキャン動作を実行するハードウェアである。プリンタ１１及びスキャナ１２は、コンテンツ処理部の一例である。プリント動作及びスキャン動作は、コンテンツ処理動作の一例である。プリント動作の対象となる画像データ、スキャン動作で生成される画像データは、コンテンツデータの一例である。
【００１５】
但し、コンテンツ処理部、コンテンツ処理動作、コンテンツデータは、前述の例に限定されない。刺繍データに従って布地に糸を縫い込む刺繍動作を実行するミシンは、コンテンツ処理部の他の例である。すなわち、刺繍動作はコンテンツ処理動作の他の例であり、刺繍データはコンテンツデータの他の例である。音声データに従って音声を出力する出力動作を実行するスピーカは、コンテンツ処理部の他の例である。すなわち、出力動作はコンテンツ処理動作の他の例であり、音声データはコンテンツデータの他の例である。
【００１６】
入力Ｉ／Ｆ２４は、ユーザによる入力操作を受け付けるユーザインタフェースである。具体的には、入力Ｉ／Ｆ２４はボタンを有しており、押下されたボタンに対応づけられた各種の操作信号をＣＰＵ３１へ出力する。さらに、入力Ｉ／Ｆ２４は、ディスプレイ２３の表示画面に重畳された膜状のタッチセンサを有していてもよい。ディスプレイ２３の表示画面に表示されたオブジェクトを指定する操作、文字列或いは数字列を入力する操作は、ユーザ操作の一例である。「オブジェクト」とは、例えば、ディスプレイ２３に表示された文字列、アイコン、ボタン、リンク、プルダウンメニュー等である。
【００１７】
タッチセンサとして実現される入力Ｉ／Ｆ２４は、ユーザがタッチした表示画面上の位置を示す位置情報を出力する。なお、本明細書中における「タッチ」とは、入力媒体を表示画面に接触させる操作全般を含む。また、入力媒体が表示画面に触れていなくても、表示画面との間の距離がごく僅かな位置まで入力媒体を近接させる「ホバー」或いは「フローティングタッチ」を、前述の「タッチ」の概念に含めてもよい。さらに入力媒体とは、ユーザの指であってもよいし、タッチペン等であってもよい。ディスプレイ２３に表示されたアイコンの位置をタップするユーザ操作は、当該アイコンを指定する指定操作の一例である。
【００１８】
通信Ｉ／Ｆ２５は、通信ネットワークを通じて外部装置と通信を行うための通信インタフェースの一例である。すなわち、ＭＦＰ１０は、通信Ｉ／Ｆ２５を通じてサーバ７０〜９０に各種情報を送信し、通信Ｉ／Ｆ２５を通じてサーバ７０〜９０から各種情報を受信する。通信Ｉ／Ｆ２５の具体的な通信手順は特に限定されないが、例えば、Ｗｉ−Ｆｉ（Wi-Fi Allianceの登録商標）を採用することができる。
【００１９】
装着部２６は、可搬メモリが着脱可能に構成されている。ＭＦＰ１０は、装着部２６に可搬メモリが装着されているか否かを検出することができる。また、ＭＦＰ１０は、装着部２６に装着された可搬メモリに記憶された情報を読み出すことができる。ＵＳＢメモリ、ＳＤカード等は、可搬メモリの一例である。また、装着部２６は、可搬メモリが装着されたことを検出し、可搬メモリが装着されたことを示す検出信号をＣＰＵ３１に出力する不図示の装着センサを備える。装着センサは、例えば、光学式センサ、機械式センサ、或いはそれらの組み合わせで実現される。
【００２０】
ＣＰＵ３１は、ＭＦＰ１０の全体動作を制御するものである。ＣＰＵ３１は、入力Ｉ／Ｆ２４から出力される各種信号、及び通信Ｉ／Ｆ２５を通じて外部装置から取得した各種情報等に基づいて、後述する各種プログラムをメモリ３２から取得して実行する。すなわち、ＣＰＵ３１及びメモリ３２は、コントローラの一例を構成する。
【００２１】
メモリ３２には、ＯＳ３４と、装置プログラム３５とが記憶される。メモリ３２は、装置メモリの一例である。なお、装置プログラム３５は、単一のプログラムであってもよいし、複数のプログラムの集合体であってもよい。また、メモリ３２には、装置プログラム３５の実行に必要なデータ或いは情報が記憶される。メモリ３２は、例えば、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＨＤＤ、ＭＦＰ１０に着脱されるＵＳＢメモリ等の可搬記憶媒体、ＣＰＵ３１が備えるバッファ等、或いはそれらの組み合わせによって構成される。
【００２２】
メモリ３２は、コンピュータが読み取り可能なストレージ媒体であってもよい。コンピュータが読み取り可能なストレージ媒体とは、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体である。ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体には、上記の例の他に、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等の記録媒体も含まれる。また、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体は、ｔａｎｇｉｂｌｅな媒体でもある。一方、インターネット上のサーバなどからダウンロードされるプログラムを搬送する電気信号は、コンピュータが読み取り可能な媒体の一種であるコンピュータが読み取り可能な信号媒体であるが、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙなコンピュータが読み取り可能なストレージ媒体には含まれない。
【００２３】
装置プログラム３５は、ＭＦＰ１０の追加型プログラム機能を実現するプログラムを含む。追加型プログラム機能は、指示データで指示された動作を、ＣＰＵ３１がＭＦＰ１０に実行させる機能である。そして、後述するプログラムリストにプログラムレコードが登録されると、装置プログラム３５は、追加型プログラム機能によって、指示データで指示された動作をＭＦＰ１０に実行させることができるようになる。以下、追加型プログラム機能で用いる複数の指示データを、「追加型プログラム」と表記することがある。
【００２４】
装置プログラム３５は、追加型プログラム機能を実現するために、解析モジュール３６と、第１取得モジュール３７と、第２取得モジュール３８とを含む。解析モジュール３６、第１取得モジュール３７、及び第２取得モジュール３８は、例えば、関数の形式であってもよい。解析モジュール３６、第１取得モジュール３７、及び第２取得モジュール３８が実行する処理の詳細は、後述する。また、追加型プログラム機能を実現するためのモジュールの数は３つに限定されず、例えば、解析モジュール３６が複数のモジュールによって構成されていてもよい。
【００２５】
装置プログラム３５に含まれるモジュール（以下、「呼出元モジュール」と表記する。）は、情報を引数として指定して、他のモジュール（以下、「被呼出モジュール」と表記する。）を呼び出す。また、被呼出モジュールは、引数として指定された情報を、呼出元モジュールから取得する。さらに、被呼出モジュールは、呼出元モジュールに引き渡す情報を戻り値として指定して、処理を終了する。そして、呼出元モジュールは、戻り値として指定された情報を被呼出モジュールから取得する。なお、「情報を引数或いは戻り値として指定する」とは、例えば、情報そのものを指定することのみならず、情報が記憶されたメモリ３２の先頭アドレスを示すポインタを指定することも含む。
【００２６】
また、メモリ３２は、例えば図２（Ｂ）に示されるように、プログラムリストを記憶することができる。プログラムリストは、１以上のプログラムレコードを含む。プログラムレコードは、例えば、ＭＦＰ１０の出荷時において既に登録されていてもよいし、入力Ｉ／Ｆ２４或いは通信Ｉ／Ｆ２５を通じてユーザによって登録されてもよい。プログラムレコードは、プログラムＩＤと、プログラムＩＤに対応する所在情報とを含む。
【００２７】
プログラムＩＤは、追加型プログラムを識別するための情報である。追加型プログラムは、コンテンツ処理部が実行するコンテンツ処理動作を含む動作を、ＭＦＰ１０に実行させるためのプログラムである。所在情報は、プログラムＩＤで識別される追加型プログラムを構成する複数の指示データのうち、最初に取得すべき指示データの所在を示すための情報である。所在情報の形式は特に限定されないが、例えば、図２（Ｂ）に示されるように、ＵＲＬ形式であってもよい。
【００２８】
一例として、プログラムＩＤ“スキャンアップロード”で識別される追加型プログラム（以下、「スキャンアップロード動作」と表記する。）は、スキャン動作でスキャナ１２が生成したスキャンデータを、通信Ｉ／Ｆ２５を通じてサーバに送信する動作をＭＦＰ１０に実行させる複数の指示データで構成される。すなわち、スキャンアップロード動作は、スキャナ１２が実行するスキャン動作と、通信Ｉ／Ｆ２５がスキャンデータをサーバに送信するアップロード動作とを含む。
【００２９】
他の例として、プログラムＩＤ“ダウンロードプリント”で識別される追加型プログラム（以下、「ダウンロードプリント動作」と表記する。）は、通信Ｉ／Ｆ２５を通じてサーバから受信した画像データで示される画像を、プリンタ１１がシートに記録する動作をＭＦＰ１０に実行させる複数の指示データで構成される。すなわち、ダウンロードプリント動作は、通信Ｉ／Ｆ２５が画像データをサーバから受信するダウンロード動作と、プリンタ１１が実行するプリント動作とを含む。
【００３０】
図３及び図４に示されるＸＭＬファイルは、追加型プログラムを構成するテキスト形式の指示データの一例である。指示データは、図３（Ａ）、図３（Ｂ）、図４（Ａ）、及び図４（Ｂ）に示される画面指示ＸＭＬと、図３（Ｃ）及び図４（Ｃ）に示される動作指示ＸＭＬとに大別される。画面指示ＸＭＬは、ＭＦＰ１０のディスプレイ２３に指示画面を表示させることを指示する画面指示データの一例である。動作指示ＸＭＬは、コンテンツ処理動作を含む動作の実行を指示する動作指示データの一例である。
【００３１】
なお、指示データのデータ形式はテキスト形式に限定されず、バイナリデータ或いはバイナリ化されたテキストデータであってもよいし、ＣＳＶフォーマット或いは追加型プログラム機能のために設計された独自フォーマットであってもよい。図３及び図４に示されるＸＭＬファイルは、例えば、サーバ７０、８０、メモリ３２、或いは装着部２６に装着されるＵＳＢメモリに記憶される。サーバ７０、８０、メモリ３２、ＵＳＢメモリは、指示データの取得元の一例である。
【００３２】
サーバ７０は、例えば、ＨＴＴＰによってＸＭＬファイルを送信する所謂Ｗｅｂサーバである。この場合の所在情報は、例えば、“ｈｔｔｐ：／／サーバ識別情報／ファイルパス情報”のＵＲＬ形式である。サーバ８０は、例えば、ＣＩＦＳ（Common Internet File Systemの略）に準拠した方式でＸＭＬファイルを記憶し、記憶したＸＭＬファイルをＭＦＰ１０に送信する。この場合の所在情報は、例えば、“ｆｉｌｅ：／／サーバ識別情報／ファイルパス情報”の形式である。
【００３３】
サーバ識別情報は、指示データを記憶するサーバ７０、８０を識別する情報である。例えば、サーバ７０はサーバ識別情報“www.server-a.com”で識別され、サーバ８０はサーバ識別情報“server-b”で識別される。ファイルパス情報は、指示データの所在パスを示す情報である。また、所在情報は、指示データを取得するためのプロトコルを示すプロトコル情報を含む。プロトコル情報には、例えば、第１プロトコルの一例であるＨＴＴＰを示す第１値“http”、或いは第２プロトコルの一例であるＣＩＦＳを示す第２値“file”が設定される。
【００３４】
但し、第１プロトコル及び第２プロトコルの具体例は、これらに限定されない。また、プロトコルとは、通信プロトコルに限定されない。プロトコルの他の例として、後述するように、ユーザが指定したパラメータに応じて、取得元が指示データを書き換えるか否かを指してもよい。プロトコルのさらに他の例として、メモリ３２或いは装着部２６に装着されたＵＳＢメモリへのアクセス手順であってもよい。
【００３５】
また、メモリ３２或いは装着部２６に装着されたＵＳＢメモリに記憶される指示データの所在情報は、例えば、“ｆｉｌｅ：／／ｌｏｃａｌｈｏｓｔ／ドライブレター／ファイルパス情報”の形式である。“localhost”は、自装置であるＭＦＰ１０を識別するための情報であって、前述のサーバ識別情報に代えて所在情報に含めることができる。なお、自装置を識別する情報として、“localhost”に代えてループバックアドレス“127.0.0.1”を用いてもよい。また、例えば、メモリ３２はドライブレター“a:”で識別され、装着部２６に装着されたＵＳＢメモリはドライブレター“c:”で識別される。
【００３６】
サーバ識別情報、“localhost”、及びドライブレターは、ＭＦＰ１０に接続されたメモリを識別するメモリ識別情報の一例である。なお、サーバ識別情報、“localhost”、及びドライブレターの一部又は全部は、省略することができる。サーバ識別情報及び“localhost”の両方が省略された場合、“localhost”が設定されているものと同様に取り扱われる。また、ドライブレターが省略された場合、所定の優先順位に従って指示データの取得元が決定される。
【００３７】
サーバ９０は、所謂ストレージサーバである。サーバ９０は、例えば、ＭＦＰ１０から送信されたスキャンデータをサーバメモリに記憶させる。サーバ９０は、サーバ識別情報“www.server-c.com”で識別される。
【００３８】
図５〜図７を参照して、本実施形態に係るシステム１００の動作を説明する。
【００３９】
本明細書のフローチャートは、基本的に、プログラムに記述された命令に従ったＣＰＵ３１の処理を示す。すなわち、以下の説明における「判断」、「抽出」、「選択」、「算出」、「決定」、「特定」、「制御」等の処理は、ＣＰＵ３１の処理を表している。ＣＰＵ３１による処理は、ＯＳ３４を介したハードウェア制御も含む。また、本明細書中の「データ」とは、コンピュータに読取可能なビット列で表される。そして、実質的な意味内容が同じでフォーマットが異なるデータは、同一のデータとして扱われるものとする。本明細書中の「情報」についても同様である。
【００４０】
［サーバ７０から取得した追加型プログラムの実行］
装置プログラム３５は、例えば入力Ｉ／Ｆ２４を通じてユーザに指示されたことに応じて、追加型プログラムを実行する。図５を参照して、追加型プログラムを実行する処理の詳細を説明する。
【００４１】
まず、装置プログラム３５は、図８（Ａ）に示されるＰＧ選択画面をディスプレイ２３に表示させる（Ｓ１１）。ＰＧ選択画面は、ＭＦＰ１０に登録された複数の追加型プログラムのうちの１つを選択させるための画面である。ＰＧ選択画面は、プログラムアイコン１１１、１１２を含む。プログラムアイコン１１１、１１２は、プログラムリストに登録された複数のプログラムレコードの１つに対応する。そして、装置プログラム３５は、ＰＧ選択画面に対するユーザ操作を、入力Ｉ／Ｆ２４を通じて受け付ける（Ｓ１２）。
【００４２】
装置プログラム３５は、例えば、プログラムアイコン１１１の指定を入力Ｉ／Ｆ２４を通じて受け付けたことに応じて（Ｓ１２：Ｙｅｓ）、プログラムＩＤ“スキャンアップロード”で識別される追加型プログラムを実行する。すなわち、装置プログラム３５は、プログラムアイコン１１１に対応するプログラムレコードのプログラムＩＤ“スキャンアップロード”を引数として指定して、解析モジュール３６を呼び出す。
【００４３】
次に、解析モジュール３６は、装置プログラム３５に呼び出されたことに応じて、引数として指定されたプログラムＩＤ“スキャンアップロード”を取得する。次に、解析モジュールは、取得したプログラムＩＤ“スキャンアップロード”に対応付けられた所在情報“http://www.server-a.com/scan-upload1.xml”を、プログラムリストから読み出す（Ｓ１３）。次に、解析モジュール３６は、Ｓ１３で読み出した所在情報に含まれるプロトコル情報の設定値を判断する（Ｓ１４）。Ｓ１３の処理は抽出処理の一例であり、Ｓ１４の処理は第１判断処理の一例である。
【００４４】
次に、解析モジュール３６は、Ｓ１３で抽出した所在情報のプロトコル情報に第１値“http”が設定されていると判断したことに応じて（Ｓ１４：ｈｔｔｐ）、第１取得処理を実行する（Ｓ１５）。より詳細には、解析モジュール３６は、Ｓ１３で抽出した所在情報を引数として指定して、第１取得モジュール３７を呼び出す。第１取得処理は、第１取得モジュール３７を通じてサーバ７０から指示データを取得する処理である。図６（Ａ）を参照して、第１取得処理の詳細を説明する。
【００４５】
まず、第１取得モジュール３７は、解析モジュール３６に呼び出されたことに応じて、引数として指定された所在情報を、解析モジュール３６から取得する。次に、第１取得モジュール３７は、ＨＴＴＰに示される手順に従って、取得した所在情報のサーバ識別情報“www.server-a.com”で識別されるサーバ７０に、通信Ｉ／Ｆ２５を通じてＸＭＬ要求情報を送信する（Ｓ３１）。ＸＭＬ要求情報は、ファイルパス情報で識別されるＸＭＬファイルの送信を要求するための送信要求情報の一例である。ＸＭＬ要求情報は、例えば、取得した所在情報のファイルパス情報“scan-upload1.xml”を含む。Ｓ３１の処理は、送信処理の一例である。
【００４６】
一方図示は省略するが、サーバ７０は、ＭＦＰ１０からＸＭＬ要求情報を受信する。そして、サーバ７０は、ファイルパス情報“scan-upload1.xml”で識別されるＸＭＬファイルとして、図３（Ａ）に示されるＸＭＬファイルをＭＦＰ１０に送信する。
【００４７】
次に、第１取得モジュール３７は、ＨＴＴＰに示される手順に従って、図３（Ａ）に示されるＸＭＬファイルを、Ｓ３１で送信したＸＭＬ要求情報の応答として、通信Ｉ／Ｆ２５を通じてサーバ７０から受信する（Ｓ３２：Ｙｅｓ）。そして、第１取得モジュール３７は、Ｓ３２で受信したＸＭＬファイルを、メモリ３２に一時記憶させる。次に、第１取得モジュール３７は、Ｓ３２で受信したＸＭＬファイルを戻り値として指定して（Ｓ３３）、第１取得処理を終了する。Ｓ３２の処理は受信処理の一例であり、Ｓ３３の処理は第１引渡処理の一例である。
【００４８】
次に図５に戻って、解析モジュール３６は、戻り値として指定されたＸＭＬファイルを、第１取得モジュール３７から取得する。次に、解析モジュール３６は、取得したＸＭＬファイルが画面指示ＸＭＬ及び動作指示ＸＭＬのどちらであるかを判断する（Ｓ１６）。より詳細には、解析モジュール３６は、ＸＭＬファイル内において、＜画面＞タグ及び＜コマンド＞タグを検索する。そして、解析モジュール３６は、＜画面＞タグを検出したことに応じて、図３（Ａ）に示されるＸＭＬファイルが画面指示ＸＭＬであると判断する（Ｓ１６：画面指示）。Ｓ１６の処理は、第２判断処理の一例である。
【００４９】
画面指示ＸＭＬは、例えば図３（Ａ）に示されるように、＜ＮｅｘｔＵＲＬ＞タグと、＜タイトル＞タグと、＜選択肢表示＞タグと、複数の＜選択肢＞タグとを、＜画面＞タグの要素として含む。＜ＮｅｘｔＵＲＬ＞タグの要素には、当該画面指示ＸＭＬに指示された動作を実行した後に取得すべき指示データの所在情報が設定される。＜タイトル＞タグの要素には、指示画面の画面タイトルの文字列が設定される。
【００５０】
＜選択肢表示＞タグの属性“ｋｅｙ”には、当該画面指示ＸＭＬで指示された指示画面を通じてユーザに指定させるパラメータの項目“解像度”を識別する項目ＩＤ“resolution”が設定される。＜選択肢＞タグの要素には、ユーザに指定させるパラメータを示すテキスト“３００ｄｐｉ”、“６００ｄｐｉ”が設定される。＜選択肢＞タグの属性“ｖａｌ”には、ユーザに指定させるパラメータの値“１”、“２”が設定される。すなわち、＜選択肢＞タグは、指示画面を通じてユーザに選択させるパラメータの候補に対応する。
【００５１】
次に、解析モジュール３６は、取得したＸＭＬファイルが画面指示ＸＭＬであると判断したことに応じて（Ｓ１６：画面指示）、図８（Ｂ）に示される解像度選択画面を、＜画面＞タグの要素に従ってディスプレイ２３に表示させる（Ｓ１７）。解像度選択画面は、項目ＩＤ“resolution”に対応するパラメータを、ユーザに指定させるための指示画面の一例である。そして、解析モジュール３６は、指示画面に対するユーザ操作を、入力Ｉ／Ｆ２４を通じて受け付ける（Ｓ１８）。Ｓ１７の処理は表示処理の一例であり、Ｓ１８の処理は受付処理の一例である。
【００５２】
解像度選択画面は、複数の＜選択肢＞タグそれぞれに対応するパラメータアイコン１２１、１２２を含む。パラメータアイコン１２１、１２２には、対応する＜選択肢＞タグの要素であるテキストが記述される。なお、項目ＩＤ“resolution”のパラメータは、スキャンアップロードの実行条件を示すパラメータの一例である。より詳細には、項目ＩＤ“resolution”のパラメータは、スキャナ１２に実行させるスキャン動作の読取解像度を示すパラメータの一例である。
【００５３】
次に、解析モジュール３６は、例えばパラメータアイコン１２２の指定を入力Ｉ／Ｆ２４を通じて受け付けたことに応じて（Ｓ１８：Ｙｅｓ）、パラメータアイコン１２２に対応付けられた＜選択肢＞タグの属性値ｖａｌ＝“２”を、ユーザによって指定された項目ＩＤ“resolution”のパラメータとしてメモリ３２に一時記憶させる。
【００５４】
次に、解析モジュール３６は、図３（Ａ）に示される画面指示ＸＭＬが＜ログ取得  ／＞タグを含むか否かを判断する（Ｓ１９）。＜ログ取得  ／＞タグは、直前のＳ１８で指定されたパラメータ“２”を、ログ情報としてメモリ３２に記憶させることを指示するタグである。そして、解析モジュール３６は、図３（Ａ）に示される画面指示ＸＭＬが＜ログ取得  ／＞タグを含まないと判断したことに応じて（Ｓ１９：Ｎｏ）、Ｓ２０をスキップして、Ｓ１３以降の処理を実行する。
【００５５】
なお、ログ情報の記憶指示は、＜ログ取得  ／＞タグに限定されない。他の例として、ログ情報の記憶指示は、予め定められたメモリ（例えば、ＵＳＢメモリ）に、ログ情報を記憶させる処理を実行するスクリプトファイルが記憶されていることであってもよい。そして、解析モジュール３６は、当該スクリプトファイルを実行することによって、ログ情報を記憶させてもよい。さらに他の例として、解析モジュール３６は、Ｓ２０の処理を常に実行してもよい。
【００５６】
次に、解析モジュール３６は、図３（Ａ）に示される画面指示ＸＭＬから次の指示データの所在情報として、＜ＮｅｘｔＵＲＬ＞の要素“http://www.server-a.com/scan-upload2.xml”を抽出する（Ｓ１３）。そして、解析モジュール３６は、Ｓ１３で抽出した所在情報のプロトコル情報に第１値“http”が設定されていると判断したことに応じて（Ｓ１４：ｈｔｔｐ）、第１取得処理を実行する（Ｓ１５）。なお、解析モジュール３６は、Ｓ１８を実行した後の第１取得処理において、Ｓ１３で抽出した所在情報に加えて、Ｓ１８で指定された項目ＩＤ“resolution”のパラメータ“２”を引数として指定して、第１取得モジュール３７を呼び出す。
【００５７】
次に、第１取得モジュール３７は、解析モジュール３６に呼び出されたことに応じて、引数として指定された所在情報及びパラメータを、解析モジュール３６から取得する。そして、第１取得モジュール３７は、取得した所在情報のサーバ識別情報“www.server-a.com”で識別されるサーバ７０に、通信Ｉ／Ｆ２５を通じてＸＭＬ要求情報を送信する（Ｓ３１）。なお、第１取得モジュール３７は、引数としてパラメータを取得した場合のＳ３１において、ファイルパス情報“scan-upload2.xml”に加えて、取得したパラメータ“resolution=2”を含むＸＭＬ要求情報を送信する。
【００５８】
一方図示は省略するが、サーバ７０は、ファイルパス情報及びパラメータを含むＸＭＬ要求情報を受信したことに応じて、当該パラメータ“resolution=2”をサーバメモリに記憶させる。次に、サーバ７０は、ファイルパス情報“scan-upload2.xml”で識別されるＸＭＬファイルを、サーバメモリから読み出す。次に、サーバ７０は、読み出したＸＭＬファイルの＜ＮｅｘｔＵＲＬ＞の要素の末尾に、ＸＭＬ要求情報に含まれていたパラメータ“?resolution=2”を付加する。そして、サーバ７０は、図３（Ｂ）に示されるＸＭＬファイルを、ＭＦＰ１０に送信する。
【００５９】
次に、第１取得モジュール３７は、図３（Ｂ）に示されるＸＭＬファイルを、通信Ｉ／Ｆ２５を通じてサーバ７０から受信する（Ｓ３２：Ｙｅｓ）。そして、第１取得モジュール３７は、Ｓ３２で受信したＸＭＬファイルを、メモリ３２に一時記憶させる。次に、第１取得モジュール３７は、Ｓ３２で受信したＸＭＬファイルを戻り値として指定して、第１取得処理を終了する。
【００６０】
次に図５に戻って、解析モジュール３６は、戻り値として指定されたＸＭＬファイルを、第１取得モジュール３７から取得する。次に、解析モジュール３６は、図３（Ｂ）に示されるＸＭＬファイルが画面指示ＸＭＬであると判断したことに応じて（Ｓ１６：画面指示）、図９（Ａ）に示される種別選択画面を、＜画面＞タグの要素に従ってディスプレイ２３に表示させる（Ｓ１７）。種別選択画面は、項目ＩＤ“file_type”に対応するパラメータを、ユーザに指定させるための指示画面の一例である。
【００６１】
解像度選択画面は、複数の＜選択肢＞タグそれぞれに対応するパラメータアイコン１３１、１３２を含む。項目ＩＤ“file_type”のパラメータは、スキャナ１２に読み取らせる原稿の種別（例えば、“見積書”、“請求書”）を示す。すなわち、項目ＩＤ“file_type”のパラメータは、スキャンアップロード動作の実行条件を直接的に示す情報ではない。但し、スキャンアップロード動作の実行条件は、後述するように、項目ＩＤ“file_type”のパラメータに応じて、変更されてもよい。このように、画面指示ＸＭＬは、後続の動作指示ＸＭＬで指示される動作の実行条件を、直接的或いは間接的に示すパラメータを、ユーザに指定させるものであればよい。
【００６２】
次に、解析モジュール３６は、例えばパラメータアイコン１３１の指定を入力Ｉ／Ｆ５４を通じて受け付けたことに応じて（Ｓ１８：Ｙｅｓ）、パラメータアイコン１３１に対応付けられた＜選択肢＞タグの属性値ｖａｌ＝“１”を、ユーザによって指定された項目ＩＤ“file_type”のパラメータとしてメモリ３２に一時記憶させる。次に、解析モジュール３６は、図３（Ｂ）に示される画面指示ＸＭＬが＜ログ取得  ／＞タグを含まないと判断したことに応じて（Ｓ１９：Ｎｏ）、Ｓ２０をスキップして、図３（Ｂ）に示される画面指示ＸＭＬから次の指示データの所在情報として、＜ＮｅｘｔＵＲＬ＞の要素“http://www.server-a.com/scan-upload3.xml?resolution=2”を抽出する（Ｓ１３）。
【００６３】
そして、解析モジュール３６は、Ｓ１３で抽出した所在情報のプロトコル情報に第１値“http”が設定されていると判断したことに応じて（Ｓ１４：ｈｔｔｐ）、Ｓ１３で抽出した所在情報と、Ｓ１８で指定された項目ＩＤ“file_type”のパラメータ“１”とを引数として指定して、第１取得モジュール３７を呼び出す（Ｓ１５）。次に、第１取得モジュール３７は、ファイルパス情報“scan-upload3.xml”と、パラメータ“file_type=1”とを含むＸＭＬ要求情報を、通信Ｉ／Ｆ２５を通じてサーバ７０に送信する。
【００６４】
一方図示は省略するが、サーバ７０は、ＭＦＰ１０から受信したＸＭＬ要求情報に含まれるパラメータ“file_type=1”をサーバメモリに記憶させる。次に、サーバ７０は、ファイルパス情報“scan-upload3.xml”で識別されるＸＭＬファイルとして、図３（Ｃ）に示されるＸＭＬファイルを生成する。そして、サーバ７０は、生成したＸＭＬファイルをＭＦＰ１０に送信する。
【００６５】
より詳細には、サーバ７０は、サーバメモリに記憶させたパラメータ“resolution=2”に対応する読取解像度“６００ｄｐｉ”を、＜解像度＞タグの要素に設定する。また、サーバ７０は、サーバメモリに記憶させたパラメータ“file_type=1”に対応するファイル形式“ＰＤＦ”を、＜形式＞タグの要素に設定する。一方、＜サーバ＞タグの要素には、スキャンデータのアップロード先のサーバ識別情報“ftp://www.server-c.com”が固定的に設定される。＜解像度＞タグ、＜形式＞タグ、及び＜サーバ＞タグは、スキャンアップロード動作の実行条件を示す。
【００６６】
なお図示は省略するが、サーバメモリにパラメータ“resolution=1”が記憶されている場合、＜解像度＞タグの要素には、例えば、読取解像度“３００ｄｐｉ”が設定される。また、サーバメモリにパラメータ“file_type=2”が記憶されている場合、＜形式＞タグの要素には、例えば、ファイル形式“ＴＩＦＦ”が設定される。すなわち、サーバ７０は、Ｓ１８で指定されたパラメータに従って、実行条件を示すパラメータをＸＭＬファイルに設定する。換言すれば、図３（Ｃ）に示されるＸＭＬファイルは、ＸＭＬ要求情報に含まれるパラメータに対応する実行条件を示す。
【００６７】
次に、第１取得モジュール３７は、図３（Ｃ）に示されるＸＭＬファイルを、通信Ｉ／Ｆ２５を通じてサーバ７０から取得し（Ｓ３２：Ｙｅｓ）、メモリ３２に一時記憶させ、戻り値として解析モジュール３６に引き渡す（Ｓ３３）。次に、解析モジュール３６は、戻り値として取得したＸＭＬファイル内において、＜コマンド＞タグを検出したことに応じて、当該ＸＭＬファイルが動作指示ＸＭＬであると判断する（Ｓ１６：動作指示）。そして、解析モジュール３６は、指示動作実行処理を実行する（Ｓ２１）。指示動作実行処理は、動作指示ＸＭＬで指示された指示動作を実行する処理である。図６（Ｂ）を参照して、指示動作実行処理の詳細を説明する。
【００６８】
まず、解析モジュール３６は、図３（Ｃ）に示される動作指示ＸＭＬが＜スクリプト＞タグを含むか否かを判断する（Ｓ３６）。そして、解析モジュール３６は、図３（Ｃ）に示される動作指示ＸＭＬが＜スクリプト＞タグを含まないと判断したことに応じて（Ｓ３６：Ｎｏ）、Ｓ３７をスキップして、指示動作を実行する（Ｓ３８）。Ｓ３６の処理は第３判断処理の一例であり、Ｓ３８の処理は動作指示処理の一例である。
【００６９】
すなわち、解析モジュール３６は、図３（Ｃ）に示される＜解像度＞タグ、＜形式＞タグ、及び＜サーバ＞タグの要素で示される実行条件に従って、スキャンアップロード動作を実行する。換言すれば、解析モジュール３６は、Ｓ１８で指定されたパラメータに対応する実行条件に従って、スキャンアップロード動作を実行する。より詳細には、解析モジュール３６は、読取解像度“６００ｄｐｉ”で原稿を読み取って、ファイル形式“ＰＤＦ”のスキャンデータを生成するスキャン動作を、スキャナ１２に実行させる。次に、解析モジュール３６は、サーバ識別情報“www.server-c.com”で識別されるサーバ９０に、ＦＴＰに準拠した手順で、通信Ｉ／Ｆ２５を通じてスキャンデータを送信する。
【００７０】
［プログラムレコードの登録／編集］
また、装置プログラム３５は、例えば図９（Ｂ）に示される拡張ＰＧ設定画面を通じて、プログラムリストにプログラムレコードを新規に追加するユーザ操作、或いはプログラムリストに既に登録されているプログラムレコードを編集するユーザ操作を受け付けることができる。
【００７１】
拡張ＰＧ設定画面は、テキストボックス１４１、１４２と、［ＯＫ］アイコン１４３とを含む。テキストボックス１４１には、入力Ｉ／Ｆ２４を通じて入力されたプログラムＩＤが表示される。テキストボックス１４２には、入力Ｉ／Ｆ２４を通じて入力された所在情報が表示される。そして、装置プログラム３５は、図９（Ｂ）に示される［ＯＫ］アイコン１４３の指定を入力Ｉ／Ｆ２４を通じて受け付けたことに応じて、テキストボックス１４１に表示されたプログラムＩＤ“スキャンアップロード”を含むプログラムレコードが既にプログラムリストに登録されているか否かを判断する。
【００７２】
そして、装置プログラム３５は、プログラムＩＤ“スキャンアップロード”を含むプログラムレコードが既に登録されていると判断したことに応じて、対応する所在情報“http://www.server-a.com/scan-upload1.xml”を、テキストボックス１４２に表示された所在情報“file:///c:/scan-upload1.xml”で上書きする。一方、装置プログラム３５は、テキストボックス１４１に表示されたプログラムＩＤを含むプログラムレコードが登録されていないと判断したことに応じて、テキストボックス１４１、１４２に表示されたプログラムＩＤ及び所在情報を含むプログラムレコードを、プログラムリストに新規に登録する。
【００７３】
［サーバ７０と異なる取得元から取得した追加型プログラムの実行］
次に、図８（Ａ）に示されるＰＧ選択画面において、所在情報“file:///c:/scan-upload1.xml”を含むプログラムレコードが対応付けられたプログラムアイコン１１１が指定された場合の処理を説明する。なお、前述の処理との共通点の詳しい説明は省略し、相違点を中心に説明するものとする。
【００７４】
まず、解析モジュール３６は、装置プログラム３５に呼び出されたことに応じて、引数として指定されたプログラムＩＤ“スキャンアップロード”に対応付けられた所在情報“file:///c:/scan-upload1.xml”を、プログラムリストから読み出す（Ｓ１３）。次に、解析モジュール３６は、Ｓ１３で読み出した所在情報のプロトコル情報に第２値“file”が設定されていると判断したことに応じて（Ｓ１４：ｆｉｌｅ）、第２取得処理を実行する（Ｓ２２）。より詳細には、解析モジュール３６は、Ｓ１３で抽出した所在情報を引数として指定して、第２取得モジュール３８を呼び出す。第２取得処理は、第２取得モジュール３８を通じて取得元から指示データを取得する処理である。図７を参照して、第２取得処理の詳細を説明する。
【００７５】
まず、第２取得モジュール３８は、解析モジュール３６に呼び出されたことに応じて、引数として指定された所在情報“file:///c:/scan-upload1.xml”を取得する。次に、第２取得モジュール３８は、取得した所在情報がサーバ識別情報或いはドライブレターを含むか否かを判断する（Ｓ４１、Ｓ４３）。Ｓ４１、Ｓ４３の処理は、第４判断処理の一例である。なお、所在情報が“localhost”を含む場合、第２取得モジュール３８は、所在情報がサーバ識別情報を含まないと判断して（Ｓ４１：Ｎｏ）、Ｓ４３以降の処理を実行する。
【００７６】
次に、第２取得モジュール３８は、取得した所在情報がサーバ識別情報を含まず且つドライブレター“c:”を含むと判断したことに応じて（Ｓ４１：Ｎｏ＆Ｓ４３：Ｙｅｓ）、ＵＳＢメモリへのアクセス手順に従って、ドライブレター“c:”で識別される装着部２６に装着されたＵＳＢメモリから図４（Ａ）に示されるＸＭＬファイルを、ファイルパス情報“scan-upload1.xml”で識別されるＸＭＬファイルとして読み出す（Ｓ４４）。Ｓ４４及び後述するＳ４２、Ｓ４６、Ｓ４７の処理は、取得処理の一例である。そして、第２取得モジュール３８は、Ｓ４４で読み出したＸＭＬファイルを戻り値として指定して（Ｓ４８）、第２取得処理を終了する。Ｓ４８の処理は、第２引渡処理の一例である。
【００７７】
次に図５に戻って、解析モジュール３６は、戻り値として指定されたＸＭＬファイルを、第２取得モジュール３８から取得する。図４（Ａ）に示されるＸＭＬファイルに対するＳ１６〜Ｓ１８の処理は、図３（Ａ）に示されるＸＭＬファイルの場合と同様なので、パラメータアイコン１２２が指定されたものとして、詳細の説明は省略する。
【００７８】
そして、解析モジュール３６は、図４（Ａ）に示される画面指示ＸＭＬが＜ログ取得  ／＞タグを含むと判断したことに応じて（Ｓ１９：Ｙｅｓ）、例えば図４（Ｄ）に示されるように、＜resolution＞タグと、＜resolution＞タグの要素であるパラメータ“２”とを、＜EVTPARAM＞タグの要素としてメモリ３２に記憶させる（Ｓ２０）。＜resolution＞タグは、項目ＩＤ“resolution”に対応する。＜resolution＞タグの要素であるパラメータ“２”は、項目ＩＤ“resolution”に対応付けてユーザが指定したパラメータである。Ｓ２０の処理は、記憶処理の一例である。
【００７９】
次に、解析モジュール３６は、図４（Ａ）に示される画面指示ＸＭＬから次の指示データの所在情報として、＜ＮｅｘｔＵＲＬ＞の要素“file://localhost/scan-upload2.xml”を抽出する（Ｓ１３）。そして、解析モジュール３６は、Ｓ１３で抽出した所在情報のプロトコル情報に第２値“file”が設定されていると判断したことに応じて（Ｓ１４：ｆｉｌｅ）、第２取得処理を実行する（Ｓ２２）。なお、解析モジュール３６は、Ｓ１８を実行した後の第２取得処理において、Ｓ１３で抽出した所在情報に加えて、Ｓ１８で指定された項目ＩＤ“resolution”のパラメータ“２”を引数として指定して、第２取得モジュール３８を呼び出す。
【００８０】
次に、第２取得モジュール３８は、解析モジュール３６に呼び出されたことに応じて、引数として指定された所在情報及びパラメータを、解析モジュール３６から取得する。次に、第２取得モジュール３８は、取得した所在情報が“localhost”を含み且つドライブレターを含まないと判断したことに応じて（Ｓ４１：Ｎｏ＆Ｓ４３：Ｎｏ）、装着部２６にＵＳＢメモリが装着されているか否かを判断する（Ｓ４５）。すなわち、第２取得モジュール３８は、装着センサから検出信号が出力されているか否かを判断する。Ｓ４５の処理は、第５判断処理の一例である。
【００８１】
そして、第２取得モジュール３８は、例えば、ＵＳＢメモリが装着されていると判断したことに応じて（Ｓ４５：Ｙｅｓ）、ＵＳＢメモリへのアクセス手順に従って、装着部２６に装着されたＵＳＢメモリから図４（Ｂ）に示されるＸＭＬファイルを、ファイルパス情報“scan-upload2.xml”で識別されるＸＭＬファイルとして読み出す（Ｓ４６）。次に、第２取得モジュール３８は、Ｓ４６で読み出したＸＭＬファイルを戻り値として指定して（Ｓ４８）、第２取得処理を終了する。一方、第２取得モジュール３８は、引数として取得したパラメータを、第２取得処理で使用しなくてもよい。すなわち、パラメータは、第１取得モジュール３７及び第２取得モジュール３８の引数を共通にするために指定されるものであり、第２取得処理では使用されなくてもよい。
【００８２】
次に図５に戻って、解析モジュール３６は、戻り値として指定されたＸＭＬファイルを、第２取得モジュール３８から取得する。図４（Ｂ）に示されるＸＭＬファイルに対するＳ１６〜Ｓ１８の処理は、図３（Ｂ）に示されるＸＭＬファイルの場合と同様なので、パラメータアイコン１３１が指定されたものとして、詳細な説明は省略する。
【００８３】
そして、解析モジュール３６は、図４（Ｂ）に示される画面指示ＸＭＬが＜ログ取得  ／＞タグを含むと判断したことに応じて（Ｓ１９：Ｙｅｓ）、例えば図４（Ｄ）に示されるように、＜file_type＞タグと、＜file_type＞タグの要素であるパラメータ“１”とを、＜EVTPARAM＞タグの要素としてメモリ３２に記憶させる（Ｓ２０）。＜file_type＞タグは、項目ＩＤ“file_type”に対応する。＜file_type＞タグの要素であるパラメータ“１”は、項目ＩＤ“file_type”に対応付けてユーザが指定したパラメータである。
【００８４】
次に、解析モジュール３６は、図４（Ｂ）に示される画面指示ＸＭＬから次の指示データの所在情報として、＜ＮｅｘｔＵＲＬ＞の要素“file:///scan-upload3.xml”を抽出する（Ｓ１３）。そして、解析モジュール３６は、Ｓ１３で抽出した所在情報のプロトコル情報に第２値“file”が設定されていると判断したことに応じて（Ｓ１４：ｆｉｌｅ）、Ｓ１３で抽出した所在情報と、Ｓ１８で指定された項目ＩＤ“file_type”のパラメータ“１”とを引数として指定して、第２取得モジュール３８を呼び出す（Ｓ２２）。
【００８５】
次に、第２取得モジュール３８は、解析モジュール３６に呼び出されたことに応じて、引数として指定された所在情報及びパラメータを、解析モジュール３６から取得する。次に、第２取得モジュール３８は、取得した所在情報がサーバ識別情報及びドライブレターを含まないと判断したことに応じて（Ｓ４１：Ｎｏ＆Ｓ４３：Ｎｏ）、装着部２６にＵＳＢメモリが装着されているか否かを判断する（Ｓ４５）。
【００８６】
そして、第２取得モジュール３８は、例えば、ＵＳＢメモリが装着されていないと判断したことに応じて（Ｓ４５：Ｎｏ）、メモリ３２へのアクセス手順に従って、図４（Ｃ）に示されるＸＭＬファイルを、ファイルパス情報“scan-upload3.xml”で識別されるＸＭＬファイルとしてメモリ３２から読み出す（Ｓ４７）。そして、第２取得モジュール３８は、Ｓ４７で読み出したＸＭＬファイルを戻り値として指定して（Ｓ４８）、第２取得処理を終了する。
【００８７】
なお、具体例の説明は省略するが、第２取得モジュール３８は、取得した所在情報がサーバ識別情報“server-b”を含むと判断したことに応じて（Ｓ４１：Ｙｅｓ）、当該サーバ識別情報“server-b”で識別されるサーバ８０からＸＭＬファイルを取得する（Ｓ４２）。すなわち、第２取得モジュール３８は、ＣＩＦＳに示される手順に従って、通信Ｉ／Ｆ２５を通じてサーバ８０にＸＭＬ要求情報を送信し、通信Ｉ／Ｆ２５を通じてサーバ８０からＸＭＬファイルを受信する。また、第２取得モジュール３８は、取得した所在情報がドライブレター“a:”を含むと判断したことに応じて（Ｓ４３：Ｙｅｓ）、ＣＩＦＳに示される手順に従って、ドライブレター“a:”で識別されるメモリ３２からＸＭＬファイルを読み出す（Ｓ４４）。
【００８８】
次に、解析モジュール３６は、第２取得モジュール３８から戻り値として取得したＸＭＬファイルが動作指示ＸＭＬであると判断したことに応じて（Ｓ１６：動作指示）、指示動作実行処理を実行する（Ｓ２１）。なお、図４（Ｃ）に示される動作指示ＸＭＬには、Ｓ１８で指定されたパラメータに応じて変更される実行条件（例えば、読取解像度、ファイル形式）が設定されておらず、固定的に設定される実行条件（例えば、サーバ識別情報）が設定されている。また、図４（Ｃ）に示される動作指示ＸＭＬは、＜スクリプト＞タグを含む。そして、解析モジュール３６は、図４（Ｃ）に示される動作指示ＸＭＬが＜スクリプト＞タグを含むと判断したことに応じて（Ｓ３６：Ｙｅｓ）、＜スクリプト＞タグの要素であるスクリプトを実行する（Ｓ３７）。
【００８９】
＜スクリプト＞タグの要素に設定されたスクリプトは、＜EVTPARAM＞の要素としてメモリ３２に記憶されたパラメータを、スキャンアップロード動作の実行条件に変換する処理を定義している。スクリプト言語の具体例は特に限定されないが、例えば、Ｌｕａ、Ｒｕｂｙ、ＪａｖａＳｃｒｉｐｔ（登録商標）等であってもよい。そして、解析モジュール３６は、スクリプトに従って変換した実行条件を示すタグで、＜スクリプト＞タグを置換する。Ｓ３７の処理は、置換処理の一例である。
【００９０】
図４（Ｃ）及び図４（Ｄ）の例では、１つ目の＜スクリプト＞タグが“＜解像度＞６００ｄｐｉ＜／解像度＞”に置換され、２つ目の＜スクリプト＞タグが“＜形式＞ＰＤＦ＜／形式＞”に置換される。すなわち、図４（Ｃ）に示される動作指示ＸＭＬは、図３（Ｃ）に示される動作指示ＸＭＬに置換される。そして、解析モジュール３６は、置換された動作指示ＸＭＬで示される指示動作を実行する（Ｓ３８）。
【００９１】
［本実施形態の作用効果］
上記の実施形態によれば、共通の引数を指定して呼び出される第１取得モジュール３７及び第２取得モジュール３８によって、互いに異なる取得元からＸＭＬファイルを取得することができる。そして、解析モジュール３６は、第１取得処理及び第２取得処理で取得したＸＭＬファイルに対して、共通の処理を実行すればよい。このように、取得元毎に異なるプロトコルを取得モジュール３７、３８に実装し、ＸＭＬファイルを解析する共通の処理を解析モジュール３６に実装することにより、少ない開発コストで複数の取得元からＸＭＬファイルを取得可能なＭＦＰ１０を実現できる。
【００９２】
また、上記の実施形態によれば、ＭＦＰ１０に接続された複数のメモリのうち、メモリ識別情報で識別されるメモリから第２取得モジュール３８にＸＭＬファイルを取得させることができる。これにより、ＸＭＬファイルの保存先のバリエーションが増えると共に、装置プログラム３５の開発コストがさらに低減される。また、ＸＭＬファイルの取得元の優先順位（例えば、装着部２６、メモリ３２の順）を予め定めておくことによって、所在情報からメモリ識別情報が省略可能となるので、追加型プログラムを実現するＸＭＬファイルの開発負担を低減することができる。
【００９３】
また、上記の実施形態によれば、第１取得モジュール３７が取得する動作指示ＸＭＬには、ユーザが指定したパラメータに対応する実行条件をサーバ７０が設定する。一方、第２取得モジュール３８が取得する動作指示ＸＭＬには、ユーザが指定したパラメータに対応する実行条件を、解析モジュール３６がスクリプトに従って設定する。これにより、動作指示ＸＭＬを書き換える機能のある取得元（例えば、サーバ７０）、動作指示ＸＭＬを書き換える機能のない取得元（例えば、サーバ８０、メモリ３２、装着部２６）のどちらから動作指示ＸＭＬを取得しても、適切な実行条件に従ったスキャンアップロード動作を実行させることができる。
【００９４】
但し、Ｓ２０、Ｓ３６、Ｓ３７を実行するのは、解析モジュール３６に限定されず、第２取得モジュール３８であってもよい。すなわち、第２取得モジュール３８は、第２取得処理において、Ｓ２０、Ｓ３６、Ｓ３８の処理を実行してもよい。より詳細には、第２取得モジュール３８は、引数として取得したパラメータをログ情報としてメモリ３２に記憶させる（Ｓ２０）。また、第２取得モジュール３８は、Ｓ４８の前にＳ３６、Ｓ３８の処理を実行する。そして、第２取得モジュール３８は、＜スクリプト＞タグが実行条件に置換された動作指示ＸＭＬを、解析モジュール３６に引き渡す（Ｓ４８）。
【００９５】
また、上記の実施形態では、スキャンアップロード動作を実現する全てのＸＭＬファイルを、サーバ７０から取得する例と、サーバ７０以外の取得元から取得する例とを説明したが、ＸＭＬファイルの取得元の組み合わせは、これに限定されない。すなわち、サーバ７０に記憶されたＸＭＬファイルの＜ＮｅｘｔＵＲＬ＞の要素に、サーバ８０、メモリ３２、或いは装着部２６のメモリ識別情報を含む所在情報が設定されてもよい。同様に、サーバ８０、メモリ３２、或いはＵＳＢメモリに記憶されたＸＭＬファイルの＜ＮｅｘｔＵＲＬ＞の要素に、サーバ７０のサーバ識別情報を含む所在情報が設定されてもよい。
【００９６】
また、図３及び図４の例において、＜ＮｅｘｔＵＲＬ＞タグは、画面指示ＸＭＬのみに含まれ、動作指示ＸＭＬに含まれていない。しかしながら、＜ＮｅｘｔＵＲＬ＞タグは、動作指示ＸＭＬに含まれていてもよい。すなわち、動作指示ＸＭＬに指示された動作の後に、ＭＦＰ１０にさらに動作を実行させてもよい。なお、動作指示ＸＭＬに含まれる＜ＮｅｘｔＵＲＬ＞タグの要素は、画面指示ＸＭＬを示してもよいし、動作指示ＸＭＬを示してもよい。
【００９７】
一例として、図３（Ｃ）或いは図４（Ｃ）の動作指示ＸＭＬの後に、同一或いは異なる実行パラメータに従ってＭＦＰ１０にスキャン動作をさらに実行させてもよい。他の例として、図３（Ｃ）或いは図４（Ｃ）の動作指示ＸＭＬの後に、スキャンアップロードの結果を示す画像をシートに記録するプリント動作をプリンタ１１に実行させてもよい。さらに他の例として、図３（Ｃ）或いは図４（Ｃ）の動作指示ＸＭＬの後に、スキャンアップロードの結果を示す画面をディスプレイ２３に表示させてもよい。
【００９８】
また、上記の実施形態のＭＦＰ１０において、メモリ３２に記憶された各種プログラムがＣＰＵ３１によって実行されることによって、本発明のコントローラが実行する各処理が実現される例を説明した。しかしながら、コントローラの構成はこれに限定されず、その一部又は全部を集積回路等のハードウェアで実現してもよい。
【００９９】
さらに、本発明は、ＭＦＰ１０として実現できるだけでなく、ＭＦＰ１０に処理を実行させるプログラムとして実現してもよい。そして、当該プログラムは、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな記録媒体に記録されて提供されてもよい。ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな記録媒体は、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等の他、通信ネットワークを通じてＭＦＰ１０に接続可能なサーバに搭載されたメモリを含んでもよい。そして、サーバのメモリに記憶されたプログラムは、当該プログラムを示す情報或いは信号として、インターネット等の通信ネットワークを通じて配信されてもよい。
【符号の説明】
【０１００】
１０・・・ＭＦＰ
１２・・・スキャナ
２３・・・ディスプレイ
２４・・・入力Ｉ／Ｆ
２５・・・通信Ｉ／Ｆ
２６・・・装着部
３１・・・ＣＰＵ
３２・・・メモリ
３５・・・装置プログラム
３６・・・解析モジュール
３７・・・第１取得モジュール
３８・・・第２取得モジュール
７０，８０，９０・・・サーバ
【図１】
2020171043.tif 000003
【図２】
2020171043.tif 000004
【図３】
2020171043.tif 000005
【図４】
2020171043.tif 000006
【図５】
2020171043.tif 000007
【図６】
2020171043.tif 000008
【図７】
2020171043.tif 000009
【図８】
2020171043.tif 000010
【図９】
2020171043.tif 000011
【手続補正書】
【提出日】令和2年7月14日(2020.7.14)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンテンツデータに対するコンテンツ処理動作を実行するハードウェアであるコンテンツ処理部と、
ディスプレイと、
入力インタフェースと、
通信インタフェースと、
コントローラと、を備えるコンテンツ処理装置であって、
前記コントローラは、
指示データの所在を示す所在情報を抽出する抽出処理と、
前記抽出処理で抽出した前記所在情報に第１プロトコルを示す第１プロトコル情報が含まれていることに応じて、前記第１プロトコルに基づく通信により、当該所在情報で所在が示される前記指示データを、前記通信インタフェースを通じて取得する第１取得処理と、
前記抽出処理で抽出した前記所在情報が、前記第１プロトコル情報を含まず取得元情報を含むことに応じて、当該所在情報で所在が示される前記指示データを、前記取得元情報が示す取得元から取得する第２取得処理と、
前記指示データが画面指示データであることに応じて、当該画面指示データが示す指示画面を前記ディスプレイに表示させる表示処理と、
前記指示画面に従ってパラメータを指定するユーザ操作を、前記入力インタフェースを通じて受け付ける受付処理と、を実行し、
前記第１取得処理、或いは前記第２取得処理で取得した前記指示データに基づいて、次の指示データの所在を示す次の所在情報を取得し、
前記次の所在情報に前記第１プロトコル情報が含まれていることに応じて、前記第１プロトコルに基づく通信により、当該次の所在情報で所在が示される前記次の指示データを、前記通信インタフェースを通じて取得する第３取得処理と、
前記次の所在情報に前記取得元情報が含まれていることに応じて、当該次の所在情報で示される前記次の指示データを、当該取得元情報で示される取得元から取得する第４取得処理と、
前記第３取得処理、或いは前記第４取得処理で取得した前記次の指示データが動作指示データであることに応じて、前記受付処理で指定された前記パラメータに対応する実行条件に従って、前記動作指示データで示される前記コンテンツ処理動作を前記コンテンツ処理部に実行させる動作指示処理を実行する、コンテンツ処理装置。
【請求項２】
前記コントローラは、前記第３取得処理で、前記第１プロトコルに基づく通信により、前記受付処理で受け付けた前記パラメータを指定し且つ前記次の指示データの送信を要求する送信要求情報を前記通信インタフェースを通じて送信し、前記送信要求情報の応答であり且つ前記パラメータに対応する前記実行条件を指示する前記動作指示データを受信する、請求項１に記載のコンテンツ処理装置。
【請求項３】
前記コントローラは、
前記第４取得処理で、前記受付処理で受け付けた前記パラメータを前記実行条件に変換するスクリプトをさらに取得し、
前記動作指示処理において、前記スクリプトで前記パラメータを変換した前記実行条件に従って、前記動作指示データで示される前記コンテンツ処理動作を前記コンテンツ処理部に実行させる、請求項１または２に記載のコンテンツ処理装置。
【請求項４】
前記コントローラは、前記第２取得処理、或いは前記第４取得処理において、前記第１プロトコルとは異なる第２プロトコルに基づく通信により、前記抽出処理で抽出した前記所在情報で所在が示される前記指示データ、或いは前記次の指示データをそれぞれ取得する、請求項１から３のいずれかに記載のコンテンツ処理装置。
【請求項５】
前記取得元は、前記第１プロトコルに基づく通信で取得される前記指示データの所在とは異なっており、
前記コントローラは、前記抽出処理で抽出した前記所在情報が、前記第２プロトコルを示す第２プロトコル情報と、前記取得元情報と、を含むことに応じて、前記第２取得処理、或いは前記第４取得処理を実行する、請求項４に記載のコンテンツ処理装置。
【請求項６】
前記取得元は、複数のメモリであり、
前記取得元情報は、前記複数のメモリの一つを識別するメモリ識別情報である、請求項１から５のいずれかに記載のコンテンツ処理装置。
【請求項７】
前記複数のメモリの少なくとも１つが着脱可能である装着部をさらに備え、
前記コントローラは、前記抽出処理で抽出した前記所在情報における前記取得元情報が前記メモリ識別情報でないことに応じて、前記装着部に装着された前記メモリから、前記指示データを取得する、請求項６に記載のコンテンツ処理装置。
【請求項８】
前記コンテンツデータは、画像データであり、
前記コンテンツ処理部は、原稿画像に記録された画像データを読み取って前記画像データを生成するスキャナ、或いは前記画像データが示す画像をシートに記録するプリンタである、請求項１から７のいずれかに記載のコンテンツ処理装置。
【請求項９】
コンテンツ処理装置と、サーバと、を備えるシステムであって、
前記コンテンツ処理装置は、
コンテンツデータに対するコンテンツ処理動作を実行するハードウェアであるコンテンツ処理部と、
ディスプレイと、
入力インタフェースと、
通信インタフェースと、
コントローラと、を備え、
前記コントローラは、
指示データの所在を示す所在情報を抽出する抽出処理と、
前記抽出処理で抽出した前記所在情報に第１プロトコルを示す第１プロトコル情報が含まれていることに応じて、前記第１プロトコルに基づく通信により、当該所在情報で所在が示される前記指示データを、前記通信インタフェースを通じて前記サーバから取得する第１取得処理と、
前記抽出処理で抽出した前記所在情報が、前記第１プロトコル情報を含まず取得元情報を含むことに応じて、当該所在情報で所在が示される前記指示データを、前記取得元情報が示し且つ前記サーバとは異なる取得元から取得する第２取得処理と、
前記指示データが画面指示データであることに応じて、当該画面指示データが示す指示画面を前記ディスプレイに表示させる表示処理と、
前記指示画面に従ってパラメータを指定するユーザ操作を、前記入力インタフェースを通じて受け付ける受付処理と、を実行し、
前記第１取得処理、或いは前記第２取得処理で取得した前記指示データに基づいて、次の指示データの所在を示す次の所在情報を取得し、
前記次の所在情報に前記第１プロトコル情報が含まれていることに応じて、前記第１プロトコルに基づく通信により、当該次の所在情報で所在が示される前記次の指示データを、前記通信インタフェースを通じて前記サーバから取得する第３取得処理と、
前記次の所在情報に前記取得元情報が含まれていることに応じて、当該次の所在情報で示される前記次の指示データを、当該取得元情報で示される取得元から取得する第４取得処理と、
前記第３取得処理、或いは前記第４取得処理で取得した前記次の指示データが動作指示データであることに応じて、前記受付処理で指定された前記パラメータに対応する実行条件に従って、前記動作指示データで示される前記コンテンツ処理動作を前記コンテンツ処理部に実行させる動作指示処理を実行する、システム。
【請求項１０】
コンテンツ処理部と、ディスプレイと、入力インタフェースと、通信インタフェースと、を備えるコンテンツ処理装置のコントローラで実行されるプログラムであって、
前記コンテンツ処理部は、コンテンツデータに対するコンテンツ処理動作を実行するハードウェアであり、
前記プログラムは、
指示データの所在を示す所在情報を抽出する抽出処理と、
前記抽出処理で抽出した前記所在情報に第１プロトコルを示す第１プロトコル情報が含まれていることに応じて、前記第１プロトコルに基づく通信により、当該所在情報で所在が示される前記指示データを、前記通信インタフェースを通じて取得する第１取得処理と、
前記抽出処理で抽出した前記所在情報が、前記第１プロトコル情報を含まず取得元情報を含むことに応じて、当該所在情報で所在が示される前記指示データを、前記取得元情報が示す取得元から取得する第２取得処理と、
前記指示データが画面指示データであることに応じて、当該画面指示データが示す指示画面を前記ディスプレイに表示させる表示処理と、
前記指示画面に従ってパラメータを指定するユーザ操作を、前記入力インタフェースを通じて受け付ける受付処理と、を前記コントローラに実行させ、
前記第１取得処理、或いは前記第２取得処理で取得した前記指示データに基づいて、次の指示データの所在を示す次の所在情報を取得し、
前記プログラムは、
前記次の所在情報に前記第１プロトコル情報が含まれていることに応じて、前記第１プロトコルに基づく通信により、当該次の所在情報で所在が示される前記次の指示データを、前記通信インタフェースを通じて取得する第３取得処理と、
前記次の所在情報に前記取得元情報が含まれていることに応じて、当該次の所在情報で示される前記次の指示データを、当該取得元情報で示される取得元から取得する第４取得処理と、
前記第３取得処理、或いは前記第４取得処理で取得した前記次の指示データが動作指示データであることに応じて、前記受付処理で指定された前記パラメータに対応する実行条件に従って、前記動作指示データで示される前記コンテンツ処理動作を前記コンテンツ処理部に実行させる動作指示処理と、を前記コントローラに実行させる、プログラム。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００５６
【補正方法】変更
【補正の内容】
【００５６】
次に、解析モジュール３６は、図３（Ａ）に示される画面指示ＸＭＬから次の指示データの所在情報として、＜ＮｅｘｔＵＲＬ＞の要素“http://www.server-a.com/scan-upload2.xml”を抽出する（Ｓ１３）。そして、解析モジュール３６は、Ｓ１３で抽出した所在情報のプロトコル情報に第１値“http”が設定されていると判断したことに応じて（Ｓ１４：ｈｔｔｐ）、第１取得処理を実行する（Ｓ１５）。なお、解析モジュール３６は、Ｓ１８を実行した後の第１取得処理（第３取得処理に相当）において、Ｓ１３で抽出した所在情報に加えて、Ｓ１８で指定された項目ＩＤ“resolution”のパラメータ“２”を引数として指定して、第１取得モジュール３７を呼び出す。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００７９
【補正方法】変更
【補正の内容】
【００７９】
次に、解析モジュール３６は、図４（Ａ）に示される画面指示ＸＭＬから次の指示データの所在情報として、＜ＮｅｘｔＵＲＬ＞の要素“file://localhost/scan-upload2.xml”を抽出する（Ｓ１３）。そして、解析モジュール３６は、Ｓ１３で抽出した所在情報のプロトコル情報に第２値“file”が設定されていると判断したことに応じて（Ｓ１４：ｆｉｌｅ）、第２取得処理を実行する（Ｓ２２）。なお、解析モジュール３６は、Ｓ１８を実行した後の第２取得処理（第４取得処理に相当）において、Ｓ１３で抽出した所在情報に加えて、Ｓ１８で指定された項目ＩＤ“resolution”のパラメータ“２”を引数として指定して、第２取得モジュール３８を呼び出す。