(57)【要約】【課題】機能を実行するプログラムを容易にアップデートできる情報処理プログラム及び情報処理装置を提供する。【解決手段】情報処理プログラムは、第１ＵＩ制御層１５２と、バックグランドサービス１５３と、ＰＦ１６５と、を含む複数層のプログラムを含んでいる。ＰＦ１６５のプログラムは、バックグランドサービス１５３のプログラムによる第２指示処理により指示された第１実行コマンドに従って、複数のＭＦＰ２００との間で、データを送信、又は受信する第１機能を実行する第１実行処理Ｃ１０ａ，Ｃ１０ｂをＰＣ１００に実行させる。【選択図】  図２
2020135601.tif 000002
【特許請求の範囲】
【請求項１】
複数の通信装置と通信可能な通信部と、操作部と、表示部と、データベースを記憶した記憶部と、を備えた端末装置のための情報処理プログラムであって、
前記情報処理プログラムは、
第１ユーザインターフェース制御層と、
バックグランドサービス層と、
プラットフォーム層と、
を含む複数層のプログラムを含み、
前記第１ユーザインターフェース制御層の前記プログラムは、
前記複数の通信装置と設定ファイルを送信、又は受信する第１機能に関する第１設定を、前記操作部を介して受け付けるための第１受付画面を前記表示部に表示させる第１表示処理と、
前記第１表示処理により表示された前記第１受付画面から前記第１設定を受け付ける第１受付処理と、
前記第１受付処理により受け付けられた前記第１設定を含む第１タスクを前記データベースに登録する指示を行う第１指示処理と、
を前記端末装置に実行させ、
前記バックグランドサービス層の前記プログラムは、
前記第１指示処理による指示に応じて、前記第１タスクを前記データベースに登録する登録処理と、
前記データベースから、前記登録処理により登録された前記第１タスクを取得する第１取得処理と、
前記第１取得処理により取得された前記第１タスクにより示される前記第１機能の実行を要求する第１実行コマンドの実行を前記プラットフォーム層の前記プログラムに指示する第２指示処理と、
を前記端末装置に実行させ、
前記プラットフォーム層の前記プログラムは、
前記第２指示処理により指示された前記第１実行コマンドに従って、前記複数の通信装置との間で、設定ファイルを送信、又は受信する前記第１機能を実行する第１実行処理
を前記端末装置に実行させる、
情報処理プログラム。
【請求項２】
前記複数層のプログラムは、
第２ユーザインターフェース制御層
を含み、
前記第２ユーザインターフェース制御層の前記プログラムは、
前記第１機能に関する第２設定を、前記操作部を介して受け付けるための第２受付画面を前記表示部に表示させる第２表示処理と、
前記第２表示処理により表示された前記第２受付画面から前記第２設定を受け付ける第２受付処理と、
前記第２受付処理により受け付けられた前記第２設定を含む第２実行コマンドの実行を前記プラットフォーム層の前記プログラムに指示する第２指示処理と、
を前記端末装置に実行させ、
前記プラットフォーム層の前記プログラムは、
前記第２指示処理により指示された前記第２実行コマンドに従って、前記複数の通信装置との間で、設定ファイルを送信、又は受信する前記第１機能を実行する第２実行処理
を前記端末装置に実行させる、
請求項１に記載の情報処理プログラム。
【請求項３】
前記第１設定は、前記第１機能を実行する周期を含み、
前記第１取得処理は、前記第１設定に含まれる周期に従って、定期的に実行される、
請求項１に記載の情報処理プログラム。
【請求項４】
前記通信装置は、消耗品が装着される印刷装置であり、
前記第１機能は、前記複数の印刷装置から消耗品の消費量を示す設定ファイルを受信する機能である、
請求項３に記載の情報処理プログラム。
【請求項５】
前記第１機能は、前記複数の通信装置から機器状態を示す設定ファイルを受信する機能である、
請求項３に記載の情報処理プログラム。
【請求項６】
複数の通信装置と通信可能な通信部と、操作部と、表示部と、データベースを記憶した記憶部と、制御部と、を備えた情報処理装置であって、
前記制御部は、
第１ユーザインターフェース制御層と、
バックグランドサービス層と、
プラットフォーム層と、
を含む複数層のプログラムを実行し、
前記第１ユーザインターフェース制御層の前記プログラムは、
前記複数の通信装置と設定ファイルを送信、又は受信する第１機能に関する第１設定を、前記操作部を介して受け付けるための第１受付画面を前記表示部に表示させる第１表示処理と、
前記第１表示処理により表示された前記第１受付画面から前記第１設定を受け付ける第１受付処理と、
前記第１受付処理により受け付けられた前記第１設定を含む第１タスクを前記データベースに登録する指示を行う第１指示処理と、
を含み、
前記バックグランドサービス層の前記プログラムは、
前記第１指示処理による指示に応じて、前記第１タスクを前記データベースに登録する登録処理と、
前記データベースから、前記登録処理により登録された前記第１タスクを取得する第１取得処理と、
前記第１取得処理により取得された前記第１タスクにより示される前記第１機能の実行を要求する第１実行コマンドの実行を前記プラットフォーム層の前記プログラムに指示する第２指示処理と、
を含み、
前記プラットフォーム層の前記プログラムは、
前記第２指示処理により指示された前記第１実行コマンドに従って、前記複数の通信装置との間で、設定ファイルを送信、又は受信する前記第１機能を実行する第１実行処理と、
を含む、
情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、複数の通信装置との間で、設定ファイルを送信、又は受信する技術に関するものである。
【背景技術】
【０００２】
特許文献１には、複数のアプリケーションソフトが共通のデータベースを利用できるようにしたシステムが開示されている。
【０００３】
この特許文献１のシステムでは、複数のアプリケーションソフトのそれぞれが、ミドルウェアを介してデータベースにアクセスし、データベースに格納されたデータを利用して、検索やメール配信などの機能を実行している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００１−２６５８０５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に記載の技術では、複数のアプリケーションの各々が機能を実行するため、各アプリケーションにおいて、機能の一部をアップデートする場合、アプリケーションの全てと整合するようにアップデートする必要があり、手間である。
【０００６】
本願は、機能を実行するプログラムを容易にアップデートできる情報処理プログラム及び情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、本願の情報処理プログラムは、複数の通信装置と通信可能な通信部と、操作部と、表示部と、データベースを記憶した記憶部と、を備えた端末装置のための情報処理プログラムであって、情報処理プログラムは、第１ユーザインターフェース制御層と、バックグランドサービス層と、プラットフォーム層と、を含む複数層のプログラムを含み、第１ユーザインターフェース制御層のプログラムは、複数の通信装置と設定ファイルを送信、又は受信する第１機能に関する第１設定を、操作部を介して受け付けるための第１受付画面を表示部に表示させる第１表示処理と、第１表示処理により表示された第１受付画面から第１設定を受け付ける第１受付処理と、第１受付処理により受け付けられた第１設定を含む第１タスクをデータベースに登録する指示を行う第１指示処理と、を端末装置に実行させ、バックグランドサービス層のプログラムは、第１指示処理による指示に応じて、第１タスクをデータベースに登録する登録処理と、データベースから、登録処理により登録された第１タスクを取得する第１取得処理と、第１取得処理により取得された第１タスクにより示される第１機能の実行を要求する第１実行コマンドの実行をプラットフォーム層のプログラムに指示する第２指示処理と、を端末装置に実行させ、プラットフォーム層のプログラムは、第２指示処理により指示された第１実行コマンドに従って、複数の通信装置との間で、設定ファイルを送信、又は受信する第１機能を実行する第１実行処理と、を端末装置に実行させる。
【発明の効果】
【０００８】
本願の情報処理プログラムによれば、タスクを登録して機能を実行するプログラムにおいて、プラットフォーム層のプログラムを容易にアップデートすることが可能となる。
【図面の簡単な説明】
【０００９】
【図１】本願の一実施の形態に係る情報処理プログラムを実行するパーソナルコンピュータ、及びパーソナルコンピュータと通信可能に接続されている複合機を示す模式図である。
【図２】本願の一実施の形態に係る情報処理プログラムの構成例の一部を示すブロック図、及び、データベースに格納されるデータのフォーマットの一例を示す図である。
【図３】管理アプリケーションを起動したときに表示されるＨＯＭＥ画面、及び、ドロップダウンリストの一例を示す図である。
【図４】アプリケーション設定画面の一例を示す図である。
【図５】“Send Files”機能のタスク設定画面及び“Backup Settings”機能のタスク設定画面の各一例を示す図である。
【図６】インスタントタスクのタスク画面の一例を示す図である。
【図７】“Send Files”機能の実行時のシーケンス図である。
【図８】“Send Log”機能の実行時のシーケンス図である。
【図９】“Notification”機能の実行時のシーケンス図である。
【図１０】設定アプリケーションを起動したときに表示されるメイン画面、及び、ドロップダウンリストの各一例を示す図である。
【図１１】“Backup Setting”機能が選択されたときのメイン画面の一例を示す図である。
【図１２】実行ボタン選択時処理のフローチャートである。
【発明を実施するための形態】
【００１０】
以下、本願の実施の形態を図面に基づいて詳細に説明する。
（システム構成）
【００１１】
図１は、本願の一実施の形態に係る情報処理プログラムを実行するパーソナルコンピュータ１００、及びパーソナルコンピュータ１００と通信可能に接続されている複合機２００を示す模式図である。以下、パーソナルコンピュータ１００をＰＣ１００といい、複合機２００をＭＦＰ２００という。なおＭＦＰは、multifunction peripheral の略語である。
【００１２】
ＰＣ１００は、操作部１１０、表示部１２０、音声Ｉ／Ｏ（input/output）１３０、ＣＰＵ（central processing unit）１４０、記憶部１５０及び通信ＩＦ（interface）１６０を備えている。
【００１３】
操作部１１０は、典型的には、キーボードとマウスにより構成される。
【００１４】
表示部１２０は、液晶ディスプレイや有機ＥＬ（electro-luminescence）ディスプレイなどの表示装置、表示装置を駆動する駆動回路などにより構成されている。表示部１２０として、タッチパネル方式のものを用いた場合には、ユーザは、画面上の入力ボタンをクリックすることで、入力操作をすることができる。したがってこの場合には、表示部１２０は、操作部１１０としての役割も果たすことになる。なお、クリックとは、ポイント・アンド・クリック（point-and-click）のことであり、オブジェクトを実行したり、開いたりすることを意味する（以下、同様）。
【００１５】
音声Ｉ／Ｏ１３０は、マイク、スピーカ、音声処理回路などにより構成されている。
【００１６】
ＣＰＵ１４０は、本実施形態の情報処理プログラムを含む各種アプリケーションプログラム（以下「アプリ」と略す）やファームウェア（firmware）等を実行する。
【００１７】
記憶部１５０は、ＲＯＭ（read only memory）、ＲＡＭ（random access memory）、ＨＤＤ（hard disk drive）、ＳＳＤ（solid state drive）及び光ディスクドライブなどを含んでいる。ＲＯＭには、ファームウェアや各種データが格納されている。ＲＡＭは、ＣＰＵ１４０がアプリをロードしたり、各種の処理を実行したりするための一時記憶部として用いられる。
【００１８】
記憶部１５０には、ＯＳ（operating system）、本実施形態の情報処理プログラム、その他各種のアプリやデータなどが記憶される。
【００１９】
本実施形態の情報処理プログラムを含む各種アプリは、通信ＩＦ１６０を介して外部のサーバ（図示せず）からダウンロードすることができる。なお、ＰＣ１００に設けられたＵＳＢ（universal serial bus）インターフェース（ＩＦ）を介して、外部機器（図示せず）から各種アプリをダウンロードしてもよい。
【００２０】
通信ＩＦ１６０は、ＰＣ１００を通信ネットワーク３００に接続したり、ＰＣ１００に外部機器を接続したりするものである。通信ネットワーク３００は、本実施形態では有線又は無線ＬＡＮ（local area network）を想定しているので、通信ＩＦ１６０は、ＬＡＮＩＦ（local area network interface）又はＷＬＡＮ ＩＦ（wireless LAN interface）である。もちろん、有線ＬＡＮと無線ＬＡＮが同時に存在する場合もあり、この場合には、通信ＩＦ１６０は、ＬＡＮＩＦ及びＷＬＡＮ ＩＦの両方を含んでいる。また、外部機器をＰＣ１００に直接接続するＩＦとしては、上記ＵＳＢＩＦやＢｌｕｅｔｏｏｔｈ（登録商標）ＩＦなどが含まれる。
【００２１】
通信ネットワーク３００には、本実施形態では複数のＭＦＰ２００が接続されている。各ＭＦＰ２００は、本実施形態では説明の都合上、同一メーカの同一モデルとするが、これに限らず、異なるメーカのものであってもよいし、同一メーカの異なるモデルであってもよい。また本実施形態では、通信装置の例として、ＭＦＰを挙げているが、これに限らず、単体のプリンタやスキャナ、コピー機であってもよいし、ＭＦＰと、プリンタ、スキャナ及びコピー機とが同時に存在する態様であってもよい。
【００２２】
なおＰＣ１００には、通信ネットワーク３００を介さずに直接、１台のＭＦＰ２００も接続されている。このときの接続ＩＦは、本実施形態ではＵＳＢＩＦを用いている。
【００２３】
通信ネットワーク３００にはさらに、プロキシサーバ２５０が接続され、プロキシサーバ２５０は、インターネット３５０に接続されている。プロキシサーバ２５０は、通信ネットワーク３００に接続されている機器、つまり本実施形態では、ＰＣ１００及び各ＭＦＰ２００を、セキュリティを維持しつつインターネット３５０に接続する役割を果たしている。
【００２４】
インターネット３５０には、管理サーバ２７０と、メールサーバ２９０とが接続されている。管理サーバ２７０は、各ＭＦＰ２００が備える有償機能を管理するものであり、メールサーバ２９０は、メールの送受信を行うものである。ＰＣ１００が、管理サーバ２７０及びメールサーバ２９０にアクセスする場合、プロキシサーバ２５０を介してアクセスする。なおＭＦＰ２００も理論上は、管理サーバ２７０及びメールサーバ２９０にプロキシサーバ２５０を介してアクセス可能であるが、本実施形態ではＭＦＰ２００は、管理サーバ２７０及びメールサーバ２９０にアクセスしないものとする。
（情報処理プログラムの構成）
【００２５】
本実施形態の情報処理プログラムは、図２（ａ）に示すように、管理アプリ１５１と、設定アプリ１６１とにより構成されている。
【００２６】
管理アプリ１５１は、ＭＦＰ２００の状態（ステータス）を装置毎に表示し、管理可能なアプリである。管理アプリ１５１は、ＭＦＰ２００との間で設定ファイルの送信、又は受信を行う機能（“Send Files”，“Backup Setting”，“Send Log”，“Notification”）を実行するためのプログラムでもある（各機能の詳細は後述する）。設定ファイルは、例えば、ＪＳＯＮ（JavaScript（登録商標） object notation）形式、ＰＪＬ（printer job language）形式で記述される。管理アプリ１５１は、インストールによりＰＣ１００の記憶部１５０の、例えばＨＤＤ内に導入される。ＣＰＵ１４０は、管理アプリ１５１の内容を記憶部１５０のＲＡＭ内にロードし、バックグランドサービス１５３を実行させる。そしてユーザが、インストールされた管理アプリ１５１の実行ファイルを指示するアイコン（図示せず）をクリックすると、第１ユーザインターフェース制御層（以下、「第１ＵＩ制御層」と略す）１５２のプログラムが実行される。
【００２７】
図２（ａ）は、ロードされた管理アプリ１５１及び設定アプリ１６１の構成例の一部を示している。管理アプリ１５１は、図２（ａ）に示すように階層構造をなしており、最上層から下位層にかけて、第１ＵＩ制御層１５２、バックグランドサービス１５３及びデータサービス層１５４を備えている。またデータサービス層１５４には、データベース（ＤＢ）１５５が接続されている。さらにバックグランドサービス１５３の下位には、ビジネスロジック層１５６、データ制御層１５７、プロトコル層１５８及び通信インターフェース層１５９が設けられている。ビジネスロジック層１５６から通信インターフェース層１５９までをプラットフォーム（ＰＦ）１６５と称する。なお、ビジネスロジック層１５６へのアクセスは、第１ＵＩ制御層１５２又は後述する第２ユーザインターフェース制御層（以下、「第２ＵＩ制御層」と略す）１６２によってバックグランドサービス１５３を通してなされる場合と、第２ＵＩ制御層１６２からバックグランドサービス１５３を通さずになされる場合と、がある（各場合の詳細は、後述する）。
【００２８】
第１ＵＩ制御層１５２の管理プログラム１５１は、ＧＵＩ（graphical user interface）をＰＣ１００のユーザに提供するとともに、該ＧＵＩに対するユーザ操作を受け付けて、各種パラメータを設定及び変更等するためのプログラムである。またバックグランドサービス１５３を経由してデータサービス層１５４やビジネスロジック層１５６にアクセスし、ＭＦＰ２００との間で各種機能を実行し、ＧＵＩ上に結果を表示する。
【００２９】
バックグランドサービス１５３の管理プログラム１５１は、ＯＳ上のバックグラウンドサービスとして実行可能なプログラムであり、第１ＵＩ制御層１５２からの要求を受け、データサービス層１５４を保守する役割をもつ。データサービス層１５４のデータ更新にあたっては、ＰＦ１６５のビジネスロジック層１５６を呼び出して、結果をデータサービス層１５４に格納する。
【００３０】
データサービス層１５４の管理プログラム１５１は、ＤＢ１５５へのデータの読み書き（また、その際の排他制御）、データの追加や削除のためのＡＰＩ（application programming interface）を提供するためのプログラムである。これ以外にも、データサービス層１５４の管理プログラム１５１は、バックグランドサービス１５３で実行されるデバイス・アクション・シナリオ（device action scenario）を管理したり、第１ＵＩ制御層１５２とバックグランドサービス１５３間の通知の仕組みを提供したりする。なお、デバイス・アクション・シナリオ（以下「シナリオ」と略す）は、ビジネスロジック層１５６の管理プログラム１５１が提供する関数を実行する順番を規定した情報である。
【００３１】
ビジネスロジック層１５６の管理プログラム１５１は、データ制御層１５７にアクセスし、管理アプリ１５１及び設定アプリ１６１を用いて実行される機能を実現するための関数を提供するためのプログラムである。提供される関数は、図２（ｃ）に示すように“Send Files”関数、“Report”関数、“Mail”関数、“Get Device Status”関数、“Transit”関数及び“Save”関数である。また図２（ｃ）には示されていないが、“Discovery”関数及び“Backup Settings”関数も提供される。
【００３２】
“Discovery”関数は、ＰＣ１００と通信可能に接続されているＭＦＰ２００を検索する関数である。ＣＰＵ１４０は、“Discovery”関数を呼び出すと、通信ＩＦ１６０を介してブロードキャストアドレス宛にパケットを送信し、当該パケットに応答したＭＦＰ２００が出力した情報（例えば、モデル名、ＩＰアドレス及びノード名）を通信ＩＦ１６０を介して受信する。ＣＰＵ１４０は、応答した各ＭＦＰ２００に対して、当該ＭＦＰ２００を一意に特定するデバイスＩＤを付与し、各ＭＦＰ２００から受信した情報に基づいて、図２（ｂ）に示すデバイスリストを生成する。なおデバイスリスト（ｂ）中、“Discovery”関数では受信されない情報、例えば「有償機能の有無」の情報は、デバイスリストに記載されたデバイスＩＤによって示されるＩＰアドレス宛てにパケットを送信し、ユニキャストで取得するようにすればよい。なお、図２（ｂ）のデバイスリストに記載されるＭＦＰ２００についての情報は、一例に過ぎず、上記情報に加えて、シリアル番号及びＭＡＣアドレス（media access control address）等を含むようにしてもよいし、上記情報からいずれかの一部情報を含まないようにしてもよい。
【００３３】
“Backup Settings”関数は、ＭＦＰ２００の設定ファイルを指定された保存場所に保存する関数である。ＣＰＵ１４０が、ＩＰアドレス、設定ファイルの保存場所及びバックアップ項目を引数として“Backup Settings”関数を呼び出すと、ＩＰアドレスによって示されるＭＦＰ２００の各種設定から、バックアップ項目に対応する設定を抜き出して設定ファイルとし、当該設定ファイルを保存場所に保存する。
【００３４】
“Send Files”関数は、ＭＦＰ２００に設定ファイルを送信する関数である。ＣＰＵ１４０が、ＩＰアドレス及び設定ファイルの格納場所を引数として“Send Files”関数を呼び出すと、当該格納場所から設定ファイルを読み出し、読み出した設定ファイルをＩＰアドレスによって示されるＭＦＰ２００に送信する。
【００３５】
“Report”関数は、ＭＦＰ２００の現在のステータスのうち、指定項目に該当するステータスをＭＦＰ２００から受信する関数である。ＣＰＵ１４０が、ＩＰアドレス及び指定項目を引数として“Report”関数を呼び出すと、ＩＰアドレスによって示されるＭＦＰ２００の指定項目に該当するステータスを示す設定ファイルをＭＦＰ２００から受信する。
【００３６】
“Mail”関数は、指定された内容を示すメールを指定された送信先に送信する関数である。ＣＰＵ１４０が、デバイスＩＤ、設定ファイル及び送信先メールアドレスを引数として“Mail”関数を呼び出すと、デバイスＩＤによって示されるＭＦＰ２００と設定ファイルが示すステータスとを対応付けた内容が記載されたメールを、送信先メールアドレスを宛先として送信する。
【００３７】
“Get Device Status”関数は、ＭＦＰ２００の現在のステータスを示す設定ファイルを、ＭＦＰ２００から受信する関数である。ＣＰＵ１４０が、ＭＦＰ２００のＩＰアドレスを引数として“Get Device Status”関数を呼び出すと、上記通信ＩＦ１６０を介して当該ＩＰアドレスによって示されるＭＦＰ２００にステータス要求を送信し、当該ステータス要求に応じてＭＦＰ２００が出力したステータスを示す設定ファイルを、通信ＩＦ１６０を介して受信する。
【００３８】
“Transit”関数は、２つのステータスを比較して、ステータスが変化したか否かを判断する関数である。ＣＰＵ１４０が、前回のステータスを示す設定ファイル、最新のステータスを示す設定ファイル、及び、デバイスＩＤを引数として“Transit”関数を呼び出すと、前回のステータスと最新のステータスとを比較し、変化があった場合には、デバイスＩＤによって示されるＭＦＰ２００にステータスの変化があったことを出力する。
【００３９】
“Save”関数は、ＭＦＰ２００のステータスを、図２（ｆ）に示すデバイスステータステーブルに保存する関数である。ＣＰＵ１４０が、ＭＦＰ２００のステータスを示す設定ファイル及びデバイスＩＤを引数として“Save”関数を呼び出すと、ＤＢ１５５に格納されたデバイスステータステーブル（ｆ）のうち、該デバイスＩＤによって示されるステータスを該設定ファイルが示すステータスに更新して保存する。
【００４０】
さらに、これら以外にも各種関数が提供されるが、本実施形態を説明する上で必要ではないため、これ以上の説明は省略する。
【００４１】
データ制御層１５７の管理プログラム１５１は、ＭＩＢ（management information base）やＰＪＬ、ＪＳＯＮ等を利用して、ＭＦＰ２００に対してデータを入出力するためのプログラムである。
【００４２】
プロトコル層１５８の管理プログラム１５１は、指定したＭＦＰ２００のＵＳＢポートに対するデータの入出力、及び、ＴＣＰ（transmission control protocol）の９１００番ポートに対するデータの入出力を提供する。またプロトコル層１５８の管理プログラム１５１は、指定したＭＦＰ２００のＳＮＭＰ（simple network management protocol）を利用したデータの入出力、及び、指定したＭＦＰ２００、サービスのＨＴＴＰ（hypertext transfer protocol）を利用したデータの入出力を提供する。
【００４３】
通信インターフェース層１５９の管理プログラム１５１は、データの入出力にプリンタドライバ、ＵＳＢドライバ、ソケット（socket）あるいはＨＴＴＰを使用する場合に利用される。
【００４４】
ＤＢ１５５には、ＭＦＰ２００のリスト（つまり、上記デバイスリスト）や各ＭＦＰ２００のステータス、ログなど、ＭＦＰ２００に関する各種情報が格納される。
【００４５】
一方、設定アプリ１６１は、ＭＦＰ２００に対して各種設定を行うアプリである。設定アプリ１６１は、ＭＦＰ２００との間で設定ファイルの送信、又は受信を行う機能（“Send Files”及び“Backup Settings”）を実行するためのプログラムでもある。設定アプリ１６１は、管理アプリ１５１より実行できる機能が少ない簡易的なアプリであるとも言える。設定アプリ１６１は、実行ファイルの形式で、ＰＣ１００の記憶部１５０の、例えばＨＤＤ内に導入される。つまり設定アプリ１６１は、インストール不要のプログラムである。そしてユーザが、設定アプリ１６１の実行ファイルを指示するアイコン（図示せず）をクリックすると、第２ＵＩ制御層１６２の設定プログラム１６１が実行される。
【００４６】
第２ＵＩ制御層１６２の設定プログラム１６１は、第１ＵＩ制御層１５２と同様に、ＧＵＩをＰＣ１００のユーザに提供するとともに、該ＧＵＩに対するユーザ操作を受け付けて、各種パラメータを設定及び変更等するためのプログラムである。また第２ＵＩ制御層１６２は、第１ＵＩ制御層１５２と同じ上位層に属し、第２ＵＩ制御層１６２の設定プログラム１６１は、第１ＵＩ制御層１５２の管理プログラム１５１と同様に、バックグランドサービス１５３を通してデータサービス層１５４の各機能を実行し、ＤＢ１５５からデータの読み取りを行うことができる。さらに第２ＵＩ制御層１６２の設定プログラム１６１は、バックグランドサービス１５３を経由せずに直接、ビジネスロジック層１５６にアクセスし、ＭＦＰ２００との間で各種機能を実行し、ＧＵＩ上に結果を表示する。
【００４７】
このように第２ＵＩ制御層１６２も、管理アプリ１５１に含まれる複数層の階層とともに、階層構造をなしている。
（管理アプリの詳細）
（ＨＯＭＥ画面の画面構成）
【００４８】
図３（ａ）は、管理アプリ１５１を起動したときに表示部１２０に表示されるＨＯＭＥ画面５００の一例を示している。図示例のＨＯＭＥ画面５００は、複数のＭＦＰ２００が記載されたデバイスリストに基づいて表示されたものである。
【００４９】
デバイスリストは、管理アプリ１５１が起動されるとき、あるいは管理アプリ１５１の起動後、“New Discovery Action”ボタン５１７がクリックされたときに作成される。デバイスリストの作成は、具体的には上述のように、ビジネスロジック層１５６の管理プログラム１５１を実行するＣＰＵ１４０が“Discovery”関数を呼び出すことによって行われる。作成されたデバイスリストは、データサービス層１５４の管理プログラム１５１を実行するＣＰＵ１４０によってＤＢ１５５に格納される。
【００５０】
ＨＯＭＥ画面５００には、図３（ａ）に示すように、デバイスボタン５０１と、タスクボタン５０２と、アプリケーション設定ボタン５０３とが設けられている。デバイスボタン５０１は、デバイスリストに提示されたＭＦＰ２００に関する情報を表示させるための操作子である。タスクボタン５０２は、現在と過去のタスクの状態を表示させるための操作子である。アプリケーション設定ボタン５０３は、アプリケーション設定画面を表示させるための操作子である。
【００５１】
ＨＯＭＥ画面５００にはさらに、左ペイン５１０と、中央ペイン５２０と、右ペイン５３０とが設けられている。
【００５２】
中央ペイン５２０は、デバイスリストに提示されたＭＦＰ２００から選択された一部又は全部の名称（図示例では、Model Name）と、関連情報（図示例では、Device Status，Supply Level，Node Name，IP Address，Serial Number）を表示するデバイスリスト領域５２５を含んでいる。ここで、“Device Status”とは、ＭＦＰ２００の動作状態、つまりステータスのことであり、“Supply Level”とは、消耗品残量のことである。消耗品とは、具体的には、トナーやインクのことである。
【００５３】
またデバイスリスト領域５２５の左端には、２種類のチェックボックス５２６，５２７が設けられている。最上段のチェックボックス５２６は、ＭＦＰ２００毎に設けられたチェックボックス５２７のすべてに対して、一括して選択／非選択を指示できるものである。これに対して、チェックボックス５２７は、ＭＦＰ２００毎に個別に選択／非選択を指示できるものである。
【００５４】
管理アプリ１５１は、デバイスリストに提示されたＭＦＰ２００をグループ化することができるように構成されている。左ペイン５１０は、グループ化後のグループを選択するための領域である。
【００５５】
右ペイン５３０は、デバイスリスト領域５２５に表示されたＭＦＰ２００のうち、選択されたＭＦＰ２００に対して、タスクを指示するための領域である。タスクとは、第１ＵＩ制御層１５２が提供するＧＵＩにおいてユーザによって実行が指示された機能を示す。図２（ｅ）に示すように、タスクは、選択されたＭＦＰ２００を識別するデバイスＩＤと、実行する機能名と、該機能を実行するために必要なプロファイルと、を含んでいる。タスクは大きく分けて、インスタントタスクとスケジュールタスクとの２種類存在する。インスタントタスクは、１度だけ即時に実行されるタスクであり、スケジュールタスクは、定期的に実行されるタスクである。
【００５６】
右ペイン５３０は、選択されたＭＦＰ２００のステータスを示す領域５３１と、指示するスケジュールタスク（Scheduled Task）の種類を選択するスケジュールタスク選択領域５３２と、指示するインスタントタスク（Instant Task）の種類を選択するインスタントタスク選択領域５３３とを備えている。
（タスク作成処理）
【００５７】
スケジュールタスク選択領域５３２でスケジュールタスクとして選択できる機能は、本実施形態では“Send Log”と“Notification”である。
【００５８】
“Send Log”は、指定されたＭＦＰ２００の印刷枚数や消耗品に関する情報等を定期的に電子メールで通知する機能である。図３（ａ）の図示例では、Send Log選択コンボボックス５３２ａにおいて、“Send Log (Daily)”が選択されている。“Send Log (Daily)”は、“Send Log”を毎日実行するものである。
【００５９】
Send Log選択コンボボックス５３２ａの右端には、ドロップダウンボタン５３２ｂが設けられ、ユーザがドロップダウンボタン５３２ｂをクリックすると、図３（ｂ）に示すようにドロップダウンリスト５３２ｃが表示される。ユーザは、ドロップダウンリスト５３２ｃに提示された詳細設定が異なる複数種類の“Send Log”からいずれかの“Send Log”を選択することができる。さらにドロップダウンリスト５３２ｃには、新しい種類の“Send Log”を登録するための項目“New Send Log Setting...”も提示されている。ユーザが、この項目“New Send Log Setting...”を選択すると、図４のアプリケーション設定画面４００のうち、右ペイン４３０に相当する部分だけが、例えばポップアップウィンドウ（図示せず）内に表示される。
【００６０】
図４は、図３（ａ）のＨＯＭＥ画面５００内の上記アプリケーション設定ボタン５０３がクリックされたときに表示部１２０上に表示されるアプリケーション設定画面４００の一例を示している。図４のアプリケーション設定画面４００は、左ペイン４１０と、中央ペイン４２０と、右ペイン４３０とにより構成されている。
【００６１】
左ペイン４１０は、設定項目リストを表示する領域である。図４の例では、左ペイン４１０の設定項目リストから“Send Log”という項目が選択されている。中央ペイン４２０は、“Send Log”における“Profiles”、つまり選択可能な“Send Log”の種類を表示する領域である。そして右ペイン４３０は、選択された種類の“Send Log”について詳細設定する領域である。
【００６２】
図４の中央ペイン４２０では、“Profiles”から“New Send Log”が選択され、これに応じて右ペイン４３０には、新しい種類の“Send Log”を設定するための詳細設定領域が表示されている。“Send Log”では、名称、送信頻度、送信先、送信元及び送信内容等を設定することができるようになっている。
【００６３】
「名称」は、テキストボックス４３１から入力され、「送信頻度」及び「送信先」はそれぞれ、入力領域４３２，４３３から入力され、「送信元」は、テキストボックス４３４から入力される。「送信内容」は、入力領域４３５から入力される。「送信内容」は、具体的には、ＭＦＰ２００のステータス（“Status”）、消耗品（“Consumables”）に関する情報及び用紙ジャム（“Paper Jam”）に関する情報等である。もちろん、送信内容は一例であり、これらに限られる訳ではない。
【００６４】
このようにして詳細設定がなされた“Send Log”を新しい種類の“Send Log”として登録するときには、ユーザはＯＫボタン４０１をクリックする。これにより、登録された新たな種類の“Send Log”は、上記図３（ｂ）のドロップダウンリスト５３２ｃ内に表示され、ユーザが選択できる状態になる。
【００６５】
一方、新たな種類の“Send Log”の登録を中止するときには、ユーザはキャンセル（Cancel）ボタン４０２をクリックする。
【００６６】
上記スケジュールタスク選択領域５３２でスケジュールタスクとして選択できる２種類の機能のうちのもう１種類は、“Notification”である。“Notification”は、指定されたＭＦＰ２００のステータスに異常がある場合に、その異常を電子メールで通知する機能である。図３（ａ）の図示例では、既に登録されている“Notification”は無いので、ユーザは、“＋ Add Notification Task”操作子５３２ｄをクリックすることにより、新しい種類の“Notification”を登録することができる。
【００６７】
“＋ Add Notification Task”操作子５３２ｄがクリックされると、新しい種類の“Notification”を登録するための詳細設定画面が、例えばポップアップウィンドウ（図示せず）内に表示される。この詳細設定画面は、新しい種類の“Send Log”を設定するための詳細設定画面とほぼ同じであるので、この詳細設定画面についての説明は省略する。なお、新しい種類の“Notification”の登録は、図４のアプリケーション設定画面４００からでも行うことができる。具体的には、アプリケーション設定画面４００の左ペイン４１０の設定項目リストから“Notification”を選択することにより、中央ペイン４２０に“Notification”における“Profiles”を表示させる。このとき、表示された“Profiles”には、既に登録された“Notification”は無いので、“New Notification”だけが表示される。ユーザが“New Notification”を選択すると、これに応じて右ペイン４３０には、新しい種類の“Notification”を設定するための詳細設定領域が表示される。“Notification”では、“Send Log”と同様に、名称、送信頻度、送信先、送信元及び送信内容等を設定することができるようになっている。
【００６８】
図３（ａ）のインスタントタスク選択領域５３３で選択可能なインスタントタスクの種類は、図示例では２種類で、インスタントタスク選択領域５３３には、各種類のインスタントタスクに対して、タスク設定画面にそれぞれ遷移させるためのタブ（図示せず）が設けられている。２種類のインスタントタスクとは、“Send Files”及び“Backup Settings”である。
【００６９】
“Send Files”は、設定ファイル（例えばＪＳＯＮやＰＪＬ等により記載されたもの）をＭＦＰ２００に送信する機能である。“Backup Settings”は、ＭＦＰ２００の設定を設定ファイルとしてＭＦＰ２００から受信し、保存する機能である。
【００７０】
図５（ａ）は、“Send Files”機能を実行するためのタスクのタスク設定画面６００の一例を示している。このタスク設定画面６００は、図３（ａ）のインスタントタスク選択領域５３３において、ユーザが“Send Files”のタブをクリックすると、図３（ａ）のＨＯＭＥ画面５００から遷移する。
【００７１】
図５（ａ）のタスク設定画面６００には、設定ファイルの送信先をリスト表示する送信先リスト領域６０１と、送信する設定ファイルを指定するファイル指定ボックス６０２と、ファイルを閲覧・検索する閲覧・検索アプリ（図示せず）を呼び出すためのボタン６０３が設けられている。またタスク設定画面６００には、ファイルの送信指示を行うセンド（Send）ボタン６０４と、設定をキャンセルするキャンセルボタン６０５とが設けられている。さらにタスク設定画面６００には、パスワード入力を行うためのパスワード入力ボックスや操作子を表示させるためのパスワード入力要求（“Input Device Password”）ボタン６０６が設けられている。
【００７２】
送信先リスト領域６０１には、タスク設定画面６００に遷移する直前のＨＯＭＥ画面５００で選択されたＭＦＰ２００が自動的に入力される。したがってユーザは、送信するファイルの格納場所をファイル指定ボックス６０２に入力した上で、センドボタン６０４をクリックすれば、指定されたファイルが選択されたＭＦＰ２００に送信される。なお、センドボタン６０４のクリック後は、タスク設定画面６００は図３（ａ）のＨＯＭＥ画面５００に遷移する。
【００７３】
図５（ｂ）は、“Backup Settings”のタスク設定画面６２０の一例を示している。このタスク設定画面６２０は、図３（ａ）のインスタントタスク選択領域５３３において、ユーザが“Backup Settings”のタブをクリックすると、図３（ａ）のＨＯＭＥ画面５００から遷移する。
【００７４】
図５（ｂ）のタスク設定画面６２０には、バックアップ対象とするＭＦＰ２００をリスト表示するバックアップ対象リスト領域６２１と、設定ファイルの保存場所を指定するためにＰＣ１００内のホルダーを参照する参照アプリ（図示せず）を呼び出すためのボタン６２２が設けられている。またタスク設定画面６２０には、バックアップ項目を選択するためのバックアップ項目選択領域６２３と、バックアップを指示するバックアップ（Backup）ボタン６２４と、設定をキャンセルするキャンセルボタン６２５とが設けられている。さらにタスク設定画面６２０には、パスワード入力を行うためのパスワード入力ボックスや操作子を表示させるためのパスワード入力要求（“Input Device Password”）ボタン６２６が設けられている。
【００７５】
バックアップ対象リスト領域６２１には、タスク設定画面６２０に遷移する直前のＨＯＭＥ画面５００で選択されたＭＦＰ２００が自動的に入力される。したがってユーザは、設定ファイルの保存場所を指定し、バックアップ項目選択領域６２３で、バックアップ項目を選択した上で、バックアップボタン６２４をクリックすれば、選択された設定項目を含む設定ファイルが保存場所に保存される。なお、バックアップボタン６２４のクリック後は、タスク設定画面６２０は図３（ａ）のＨＯＭＥ画面５００に遷移する。
（タスク画面の画面構成）
【００７６】
図３（ａ）のＨＯＭＥ画面５００において、ユーザがタスクボタン５０２をクリックすると、このＨＯＭＥ画面５００はタスク画面に遷移する。図６は、タスク画面７００の一例を示している。
【００７７】
タスク画面７００は、左ペイン７１０と中央ペイン７２０を備えている。そして中央ペイン７２０は、上部ペイン７３０と下部ペイン７４０を備えている。
【００７８】
左ペイン７１０は、現在設定中のタスクの種類のリスト（タスク種類リスト）を表示する領域である。図示例では、インスタントタスク２件と、スケジュールタスク５件が示されている。
【００７９】
中央ペイン７２０は、左ペイン７１０に表示されたタスク種類リストから選択された１つのタスク種類についてのステータスを表示する領域である。そして、上部ペイン７３０は、現在動作中のタスク（“Working Task”）に関する情報を表示し、下部ペイン７４０は、タスクログ（“Task Log”）を表示する。
【００８０】
上部ペイン７３０には、現在動作中のタスクをリスト表示する動作中タスクリスト領域７３１が設けられている。図６の例では、左ペイン７１０に表示されたタスク種類リストからインスタントタスクが選択されているので、動作中タスクリスト領域７３１には、動作中のインスタントタスクが表示されている。インスタントタスクについての表示項目は、タスクの種類（“Task Type”）と、ステータス（“Status”）と、タスクの開始日時（“Started”）と、対象台数（“Target”）である。もちろん、これらの表示項目は一例に過ぎず、他の項目が表示されるようにしてもよい。
【００８１】
下部ペイン７４０には、タスクログを表示するタスクログ領域７４１が設けられている。
（“Send Files”シーケンス）
【００８２】
図７は、“Send Files”機能を実行するためのタスクの設定から実行を経由して結果表示に至るまでに、第１ＵＩ制御層１５２、バックグランドサービス１５３、データサービス層１５４及びビジネスロジック層１５６間でやり取りされるデータのシーケンスの一例を示している。
【００８３】
図７において、まず、第１ＵＩ制御層１５２の管理プログラム１５１を実行するＣＰＵ１４０は、“Send Files”機能についてのタスク作成処理を実行する（処理Ａ１）。“Send Files”機能についてのタスク作成処理は、上述のようにユーザが図５（ａ）のタスク設定画面６００を用いて行った入力操作に応じて入力されたタスク情報（“Send Files”機能を実行するためのタスク情報）を生成する処理である。つまりタスク作成処理は、ＣＰＵ１４０がユーザから入力操作を操作部１１０を介して受け付けることによって実行される。タスク情報は、送信先のＭＦＰ２００を示すデバイスＩＤ、機能名（“Send Files”）及び設定ファイルの格納場所を示すプロファイルを含む。
【００８４】
次にユーザが、タスク設定画面６００上のセンドボタン６０４をクリックすると、ＣＰＵ１４０は、タスク作成処理により作成されたタスク情報を、第１ＵＩ制御層１５２からバックグランドサービス１５３に送信する（処理Ａ２）。
【００８５】
なお図７中、バックグランドサービスは“ＢＧＳ”と略されている。この事情は、図８及び図９についても同様である。
【００８６】
バックグランドサービス１５３の管理プログラム１５１を実行するＣＰＵ１４０は、第１ＵＩ制御層１５２から受信したタスク情報をＤＢ１５５に登録するための登録指示をデータサービス層１５４に送信する（処理Ａ３）。これに応じて、データサービス層１５４の管理プログラム１５１を実行するＣＰＵ１４０は、タスク情報をＤＢ１５５内のタスク登録テーブル（ｅ）に登録する（処理Ａ４）。タスク登録テーブル（ｅ）は、図２（ｅ）に示すタスク登録テーブルであり、タスク登録テーブル（ｅ）には、デバイスＩＤ、機能名及びプロファイルを含むタスク情報が登録される。「デバイスＩＤ」は、ファイルの送信先のＭＦＰ２００を特定するＩＤであり、ＭＦＰ２００毎に一意に決定されたＩＤである。この「デバイスＩＤ」は、上記図２（ｂ）に示したデバイスリストに記憶された「デバイスＩＤ」と同じものである。「機能名」は、実行する機能の種類を示している。「プロファイル」は、図５（ａ）のタスク設定画面６００で設定された設定を示し、例えば“Send Files”機能では、タスク設定画面６００内のファイル指定ボックス６０２で指定された設定ファイルの格納場所を示す。
【００８７】
次に、データサービス層１５４の管理プログラム１５１を実行するＣＰＵ１４０は、タスク情報をＤＢ１５５に登録したことを示す登録通知をバックグランドサービス１５３に送信する（処理Ａ５）。これに応じて、バックグランドサービス１５３の管理プログラム１５１を実行するＣＰＵ１４０は、タスク情報のＤＢ１５５への登録が完了したことを示す完了通知を第１ＵＩ制御層１５２に送信する（処理Ａ６）。
【００８８】
第１ＵＩ制御層１５２の管理プログラム１５１を実行するＣＰＵ１４０は、完了通知を受信すると、タスク設定画面６００を更新し、“Send Files”機能を実行するためのタスクがＤＢ１５５に登録されたことを示す不図示の通知を含むＨＯＭＥ画面５００を表示部１２０に表示させる（処理Ａ７）。
【００８９】
次に、第１ＵＩ制御層１５２の管理プログラム１５１を実行するＣＰＵ１４０は、タスクの実行要求をバックグランドサービス１５３に送信する（処理Ａ８）。これに応じて、バックグランドサービス１５３の管理プログラム１５１を実行するＣＰＵ１４０は、ＤＢ１５５内のタスク登録テーブル（ｅ）に登録されたタスク情報の一覧を要求するためのタスク情報要求をデータサービス層１５４に対して送信する（処理Ａ９）。データサービス層１５４の管理プログラム１５１を実行するＣＰＵ１４０は、タスク情報要求により示されるタスク情報の一覧をＤＢ１５５内のタスク登録テーブル（ｅ）から読み出し（処理Ａ１０）、読み出したタスク情報の一覧をバックグランドサービス１５３に送信する（処理Ａ１１）。
【００９０】
バックグランドサービス１５３の管理プログラム１５１を実行するＣＰＵ１４０は、受信したタスク情報の一覧から、実行すべきタスクがあるか否かを判断する（処理Ａ１２）。より詳細には、ＣＰＵ１４０は、受信したタスク情報の一覧の中に、インスタントタスクを示す機能名が含まれるタスク情報が存在するか否かを判断する。“Send Files”機能を実行するためのタスクは、上述のようにインスタントタスクであるので、１度だけ即時に実行される。バックグランドサービス１５３の管理プログラム１５１を実行するＣＰＵ１４０は、上記判断において、タスク情報の一覧の中に、インスタントタスクを示す機能名が含まれるタスク情報が存在する場合に「ＹＥＳ」と判断し、“Send Files”機能の実行情報を要求する実行情報要求であって、処理Ａ１１で受信したタスク情報に含まれる当該機能の機能名とデバイスＩＤとを含む実行情報要求をデータサービス層１５４に送信する（処理Ａ１３）。実行情報とは、タスクを実行するために必要な情報であり、例えば“Send Files”機能では、実行情報には、機能名“Send Files”に対応するシナリオと、デバイスＩＤにより示されるＭＦＰ２００の情報とが含まれる。
【００９１】
データサービス層１５４の管理プログラム１５１を実行するＣＰＵ１４０は、実行情報要求の受信に応じて、“Send Files”機能を実行するための実行情報を生成する（処理Ａ１４）。実行情報に含まれるシナリオは、ＤＢ１５５内のシナリオテーブル（ｃ）から取得される。シナリオテーブル（ｃ）は、図２（ｃ）に示すシナリオテーブルであり、シナリオテーブル（ｃ）には、機能名とシナリオとが登録される。「機能名」は、上記図２（ｅ）に示したタスク登録テーブルに登録される「機能名」と同じものである。「シナリオ」は、“Send Files”関数である。実行情報に含まれるＭＦＰ２００の情報は、ＩＰアドレスであり、上記図２（ｂ）のデバイスリストから取得される。
【００９２】
次に、データサービス層１５４の管理プログラム１５１を実行するＣＰＵ１４０は、処理Ａ１４により生成した実行情報をバックグランドサービス１５３に送信する（処理Ａ１５）。これに応じて、バックグランドサービス１５３の管理プログラム１５１を実行するＣＰＵ１４０は、受信した実行情報に基づく実行指示をビジネスロジック層１５６に送信する（処理Ａ１６）。具体的には、実行情報に含まれるシナリオによって示される“Send Files”関数を、処理Ａ１１で受信したタスク情報に含まれるプロファイル、及び、実行情報に含まれるＩＰアドレスを引数として呼び出す（call）。
【００９３】
そして、ビジネスロジック層１５６の管理プログラム１５１を実行するＣＰＵ１４０は、呼び出された“Send Files”関数を実行し、下層のデータ制御層１５７、プロトコル層１５８及び通信インターフェース層１５９を利用して、“Send Files”機能を示すタスクを実行する（処理Ａ１７）。具体的には、ＣＰＵ１４０は通信ＩＦ１６０から、ＩＰアドレスにより示されるＭＦＰ２００に、プロファイルによって示される設定ファイルを送信する。
【００９４】
次に、ビジネスロジック層１５６の管理プログラム１５１を実行するＣＰＵ１４０は、実行結果をバックグランドサービス１５３に送信する（処理Ａ１８）。これに応じて、バックグランドサービス１５３の管理プログラム１５１を実行するＣＰＵ１４０は、データサービス層１５４に対して実行結果の登録を指示する（処理Ａ１９）。データサービス層１５４の管理プログラム１５１を実行するＣＰＵ１４０は、実行結果であるログをＤＢ１５５内のタスクログテーブル（ｄ）に登録する。タスクログテーブル（ｄ）は、図２（ｄ）に示すタスクログテーブルであり、タスクログテーブル（ｄ）には、開始時間、終了時間、実行結果及び機能名を含む“Send Files”機能についてのログが登録される。「開始時間」及び「終了時間」はそれぞれ、“Send Files”機能についてのタスクを開始した時間と終了した時間である。「実行結果」は、現在実行中、正常終了、異常終了などの“Send Files”機能についてのタスクの実行結果である。「機能名」は、上記図２（ｅ）のタスク登録テーブルに登録される「機能名」と同じものである。
【００９５】
次に、データサービス層１５４の管理プログラム１５１を実行するＣＰＵ１４０は、“Send Files”機能についてのログをＤＢ１５５に登録したことを示す登録通知をバックグランドサービス１５３に送信する（処理Ａ２１）。これに応じて、バックグランドサービス１５３の管理プログラム１５１を実行するＣＰＵ１４０は、“Send Files”機能についてのタスクの終了通知を第１ＵＩ制御層１５２に送信する（処理Ａ２２）。
【００９６】
次に、第１ＵＩ制御層１５２の管理プログラム１５１を実行するＣＰＵ１４０は、実行結果要求をバックグランドサービス１５３に送信する（処理Ａ２３）。これに応じて、バックグランドサービス１５３の管理プログラム１５１を実行するＣＰＵ１４０は、同様の実行結果要求をデータサービス層１５４に送信する（処理Ａ２４）。データサービス層１５４の管理プログラム１５１を実行するＣＰＵ１４０は、実行結果要求により示される“Send Files”機能についてのログの一覧をタスクログテーブル（ｄ）から読み出し（処理Ａ２５）、読み出した“Send Files”機能についてのログの一覧を読出し結果通知としてバックグランドサービス１５３に送信する（処理Ａ２６）。これに応じて、バックグランドサービス１５３の管理プログラム１５１を実行するＣＰＵ１４０は、受信した“Send Files”機能についてのログの一覧を実行結果として第１ＵＩ制御層１５２に送信する（処理Ａ２７）。
【００９７】
第１ＵＩ制御層１５２の管理プログラム１５１を実行するＣＰＵ１４０は、受信した“Send Files”機能についてのログの一覧に基づいて、自身のＵＩを更新する（処理Ａ２８）。これにより、上記図６に示したタスク画面７００が表示部１２０上に表示される。但しタスク画面７００は、上述のように図３（ａ）のＨＯＭＥ画面５００内のデバイスボタン５０１がクリックされたときに表示される画面であるので、処理Ａ２８によってタスク画面７００が自動的に表示される訳ではない。
（“Send Log”シーケンス）
【００９８】
図８は、“Send Log”機能を実行するためのタスクの設定から実行を経由して結果表示に至るまでに、第１ＵＩ制御層１５２、バックグランドサービス１５３、データサービス層１５４及びビジネスロジック層１５６間でやり取りされるデータのシーケンスの一例を示している。
【００９９】
図８において、まず、第１ＵＩ制御層１５２の管理プログラム１５１を実行するＣＰＵ１４０は、“Send Log”機能についてのタスク作成処理を実行する（処理Ｂ１）。“Send Log”機能についてのタスク作成処理は、上述のようにユーザが図４のアプリケーション設定画面４００を用いて行った入力操作に応じて入力された“Send Log”機能を実行するためのタスク情報を生成する処理である。タスク情報は、ＭＦＰ２００を示すデバイスＩＤ、機能名（“Send Log”）及びプロファイルを含む。プロファイルは、図４のアプリケーション設定画面４００で設定された設定を示し、例えば“Send Log”機能では、プロファイルには、送信スケジュール、送信項目（印刷枚数など）、データフォーマット、設定ファイルの送信元メールアドレスが含まれる。
【０１００】
次にユーザが、アプリケーション設定画面４００内のＯＫボタン４０１をクリックすると、ＣＰＵ１４０は、タスク作成処理により作成されたタスク情報を、第１ＵＩ制御層１５２からバックグランドサービス１５３に送信する（処理Ｂ２）。これ以降の処理Ｂ３〜Ｂ１１はそれぞれ、図７中の処理Ａ３〜Ａ１１とほぼ同じであるので、各処理Ｂ３〜Ｂ１１についての説明は省略する。
【０１０１】
バックグランドサービス１５３の管理プログラム１５１を実行するＣＰＵ１４０は、受信したタスク情報の一覧から、実行すべきタスクがあるか否かを判断する（処理Ｂ１２）。より詳細には、ＣＰＵ１４０は、現時点が送信スケジュールにより示される所定の送信タイミングに相当するか否かを判断する。“Send Log”機能を実行するためのタスクは、上述のようにスケジュールタスクであるので、定期的に実行される。ＣＰＵ１４０は、処理Ｂ１２の判断において、現時点が送信スケジュールにより示される所定の送信タイミングに相当する場合に「ＹＥＳ」と判断し、“Send Log”機能の実行情報を要求する実行情報要求であって、当該機能の機能名とデバイスＩＤとを含む実行情報要求をデータサービス層１５４に送信する（処理Ｂ１３）。一方、「ＮＯ」と判断されたときは、ＣＰＵ１４０は、「ＹＥＳ」と判断されるまで待機状態となる。なお、“Send Log”機能についての実行情報には、機能名“Send Log”に対応するシナリオと、デバイスＩＤにより示されるＭＦＰ２００の情報とが含まれる。また、処理Ｂ１２は、定期的に（例えば、１秒毎）実行される。
【０１０２】
なお、処理Ｂ１３〜Ｂ１５はそれぞれ、図７中の処理Ａ１３〜Ａ１５とほぼ同じであるので、処理Ｂ１３〜Ｂ１５についての説明は省略する。但し、上記機能名“Send Files”についてのシナリオが“Send Files”関数１つのみであったのに対して、機能名“Send Log”についてのシナリオは“Report”と“Mail”の２つの関数を含んでいる点が異なっている。
【０１０３】
バックグランドサービス１５３の管理プログラム１５１を実行するＣＰＵ１４０は、受信した実行情報に基づく実行指示をビジネスロジック層１５６に送信する（処理Ｂ１６）。具体的には、ＣＰＵ１４０は、処理Ｂ１５で受信した実行情報に含まれるシナリオに従って、まず“Report”関数を呼び出す。“Report”関数は、上述のようにＭＦＰ２００の現在のステータスのうち、指定項目に該当するステータスをＭＦＰ２００から受信する関数である。“Report”関数の引数としては、処理Ｂ１５で受信した実行情報に含まれるＭＦＰ２００のＩＰアドレスと、上記図４のアプリケーション設定画面４００の右ペイン４３０内の入力領域４３５から入力されたメールの「送信内容」の項目、つまり指定項目とが渡される。
【０１０４】
そして、ビジネスロジック層１５６の管理プログラム１５１を実行するＣＰＵ１４０は、呼び出された“Report”関数を実行し、下層のデータ制御層１５７、プロトコル層１５８及び通信インターフェース層１５９に指示して、“Send Log”機能についてのタスクの一部である、“Report”関数を実行する（処理Ｂ１７）。具体的には、ＣＰＵ１４０は、引数として渡されたデバイスＩＤにより示されるＭＦＰ２００について、指定項目に対応する現在のステータスを示す設定ファイルを要求し、設定ファイルをＭＦＰ２００から受信する。例えば、図４のアプリケーション設定画面４００の右ペイン４３０において、“Consumables”と記載されたチェックボックスがクリックされた場合、ＣＰＵ１４０は、ＭＦＰ２００に装着された消耗品（インクやトナー）の残量を示す設定ファイルをＭＦＰ２００から受信する。そして、ビジネスロジック層１５６は、“Report”関数の戻り値として、ＭＦＰ２００の現在のステータスのうち、指定項目に該当するステータスを示す設定ファイルをバックグランドサービス１５３に対して送信する。
【０１０５】
次に、バックグランドサービス１５３の管理プログラム１５１を実行するＣＰＵ１４０は、実行結果として、引数として渡したデバイスＩＤにより示されるＭＦＰ２００の指定項目に該当するステータスを示す設定ファイルをビジネスロジック層１５６から受信する（処理Ｂ１８）。
【０１０６】
次に、バックグランドサービス１５３の管理プログラム１５１を実行するＣＰＵ１４０は、処理Ｂ１６と同様にして、受信した実行情報に基づく実行指示をビジネスロジック層１５６に送信する（処理Ｂ１９）。具体的には、処理Ｂ１５で受信した実行情報に含まれるシナリオに従って、“Mail”関数を呼び出す。“Mail”関数は、上述のように指定された内容を示すメールを指定された送信先に送信する関数である。“Mail”関数の引数としては、上記図４のアプリケーション設定画面４００の右ペイン４３０内の入力領域４３３で設定されたメールの「送信先」、テキストボックス４３４で設定された「送信元」及び“Report”関数で取得された「送信内容」が渡される。
【０１０７】
そして、ビジネスロジック層１５６の管理プログラム１５１を実行するＣＰＵ１４０は、下層のデータ制御層１５７、プロトコル層１５８及び通信インターフェース層１５９に指示して、“Mail”関数を実行する（処理Ｂ２０）。具体的には、引数として渡されたデバイスＩＤによって示されるＭＦＰ２００と、引数として渡された設定ファイルが示すステータスと、を対応付けた内容が記載されたメールを、送信先メールアドレスを宛先としてメールサーバ２９０に送信する。なおメールサーバ２９０は、本実施形態では上述のように、通信ネットワーク３００の外部のインターネット３５０に接続されているため（図１参照）、ＰＣ１００がメールサーバ２９０にアクセスする場合には、プロキシサーバ２５０を介して行う必要がある。プロキシサーバ２５０を介して通信する設定、つまりプロキシ設定は、図４のアプリケーション設定画面４００の左ペイン４１０の設定項目リストから“Network”を選択することによって、中央ペイン４２０あるいは右ペイン４３０に表示された詳細設定領域から行う。またメールサーバ２９０の設定は、同じ左ペイン４１０の設定項目リストから“Email Server”を選択することによって、中央ペイン４２０あるいは右ペイン４３０に表示された詳細設定領域から行う。
【０１０８】
次に、ビジネスロジック層１５６の管理プログラム１５１を実行するＣＰＵ１４０は、メールを送信したことを示す実行結果をバックグランドサービス１５３に送信する（処理Ｂ２１）。続く処理Ｂ２２〜Ｂ３１はそれぞれ、図７中の処理Ａ１９〜Ａ２８とほぼ同じであるので、各処理Ｂ２２〜Ｂ３１についての説明は省略する。
（“Notification”シーケンス）
【０１０９】
図９は、“Notification”機能を実行するためのタスクの設定から実行を経由して結果表示に至るまでに、第１ＵＩ制御層１５２、バックグランドサービス１５３、データサービス層１５４及びビジネスロジック層１５６間でやり取りされるデータのシーケンスの一例を示している。
【０１１０】
図９において、まず、第１ＵＩ制御層１５２の管理プログラム１５１を実行するＣＰＵ１４０は、“Notification”機能についてのタスク作成処理を実行する（処理Ｃ１）。“Notification”機能についてのタスク作成処理は、上述のようにユーザが図４のアプリケーション設定画面４００を用いて行った入力操作に応じて入力された“Notification”機能を実行するためのタスク情報を生成する処理である。タスク情報は、ＭＦＰ２００を示すデバイスＩＤ、機能名（“Notification”）及びプロファイルを含む。プロファイルは、図４のアプリケーション設定画面４００で設定された設定を示し、例えば“Notification”機能では、プロファイルには、送信条件、送信項目（消耗品残量など）、データフォーマット、設定ファイルの送信元メールアドレスが含まれる。
【０１１１】
次にユーザが、アプリケーション設定画面４００内のＯＫボタン４０１をクリックすると、ＣＰＵ１４０は、タスク作成処理により作成されたタスク情報を、第１ＵＩ制御層１５２からバックグランドサービス１５３に送信する（処理Ｃ２）。これ以降の処理Ｃ３〜Ｃ１１はそれぞれ、図７中の処理Ａ３〜Ａ１１とほぼ同じであるので、各処理Ｃ３〜Ｃ１１についての説明は省略する。
【０１１２】
バックグランドサービス１５３の管理プログラム１５１を実行するＣＰＵ１４０は、受信したタスク情報の一覧から、実行すべきタスクがあるか否かを判断する（処理Ｃ１２）。“Notification”機能を実行するためのタスクは、上述のようにスケジュールタスクであるので、定期的に（例えば、１秒毎）実行される。ＣＰＵ１４０は、処理Ｃ１２の判断において、現時点が所定の実行タイミングに相当する場合に「ＹＥＳ」と判断し、“Notification”機能の実行情報を要求する実行情報要求であって、当該機能の機能名とデバイスＩＤとを含む実行情報要求をデータサービス層１５４に送信する（処理Ｃ１３）。一方、「ＮＯ」と判断されたときは、ＣＰＵ１４０は、「ＹＥＳ」と判断されるまで待機状態となる。なお、“Notification”機能についての実行情報には、機能名“Notification”に対応するシナリオと、デバイスＩＤにより示されるＭＦＰ２００の情報と、該デバイスＩＤにより示されるＭＦＰ２００のステータスとが含まれる。
【０１１３】
データサービス層１５４の管理プログラム１５１を実行するＣＰＵ１４０は、実行情報要求の受信に応じて、“Notification”機能を実行するための実行情報を生成する（処理Ｃ１４）。実行情報に含まれるシナリオは、上述のようにＤＢ１５５内のシナリオテーブル（ｃ）から取得され、具体的には、“Get Device Status”関数、“Transit”関数、“Mail”関数及び“Save”関数である。実行情報に含まれるＭＦＰ２００の情報は、ＩＰアドレスであり、上記図２（ｂ）のデバイスリストから取得される。実行情報に含まれるＭＦＰ２００のステータスは、図２（ｆ）に示すデバイスステータステーブルから取得される。
【０１１４】
次に、データサービス層１５４の管理プログラム１５１を実行するＣＰＵ１４０は、処理Ｃ１４により生成した実行情報をバックグランドサービス１５３に送信する（処理Ｃ１５）。これに応じて、バックグランドサービス１５３の管理プログラム１５１を実行するＣＰＵ１４０は、受信した実行情報に基づく実行指示をビジネスロジック層１５６に行う（処理Ｃ１６）。具体的には、処理Ｃ１５で受信した実行情報に含まれるシナリオに従って、まず“Get Device Status”関数を呼び出す。“Get Device Status”関数は、上述のようにＭＦＰ２００の現在のステータスを示す設定ファイルを、ＭＦＰ２００から受信する関数である。“Get Device Status”関数の引数としては、処理Ｃ１５で受信した実行情報に含まれるＭＦＰ２００のＩＰアドレスが渡される。
【０１１５】
そして、ビジネスロジック層１５６の管理プログラム１５１を実行するＣＰＵ１４０は、下層のデータ制御層１５７、プロトコル層１５８及び通信インターフェース層１５９を利用して、上述のように通信ＩＦ１６０を介して当該ＩＰアドレスによって示されるＭＦＰ２００にステータス要求を送信する（処理Ｃ１６ａ）。当該ステータス要求を受信したＭＦＰ２００は、自身の現在のステータスを示す設定ファイルをＰＣ１００に向けて送信する。ビジネスロジック層１５６の管理プログラム１５１を実行するＣＰＵ１４０は、通信ＩＦ１６０を介して受信されたＭＦＰ２００の現在のステータスを示す設定ファイルを、下層のデータ制御層１５７、プロトコル層１５８及び通信インターフェース層１５９を利用して取得する（処理Ｃ１６ｂ）。
【０１１６】
ビジネスロジック層１５６の管理プログラム１５１を実行するＣＰＵ１４０は、取得したＭＦＰ２００の現在のステータス、つまり最新のステータスを示す設定ファイルをバックグランドサービス１５３に送信する（処理Ｃ１７）。
【０１１７】
次に、バックグランドサービス１５３の管理プログラム１５１を実行するＣＰＵ１４０は、処理Ｃ１６と同様にして、受信した実行情報に基づく実行指示をビジネスロジック層１５６に送信する（処理Ｃ１８）。具体的には、処理Ｃ１５で受信した実行情報に含まれるシナリオに従って、“Transit”関数を呼び出す。“Transit”関数は、上述のように２つのステータスを比較して、ステータスが変化したか否かを判断する関数である。“Transit”関数の引数としては、前回のステータスを示す設定ファイル、最新のステータスを示す設定ファイル、及び、デバイスＩＤが渡される。
【０１１８】
そして、ビジネスロジック層１５６の管理プログラム１５１を実行するＣＰＵ１４０は、呼び出された“Transit”関数を実行し、ＭＦＰ２００毎に前回のステータスと最新のステータスとを比較し、変化があった場合には、デバイスＩＤによって示されるＭＦＰ２００にステータスの変化があったことを戻り値として出力する（処理Ｃ２０）。
【０１１９】
次に、バックグランドサービス１５３の管理プログラム１５１を実行するＣＰＵ１４０は、処理Ｃ１６と同様にして、受信した実行情報に基づく実行指示をビジネスロジック層１５６に送信する（処理Ｃ２１）。具体的には、処理Ｃ１５で受信した実行情報に含まれるシナリオに従って、“Mail”関数を呼び出す。“Mail”関数は、上記図８中の処理Ｂ１９で呼び出した“Mail”関数と同じものである。但し処理Ｂ１９では、“Mail”関数の呼び出しが、“Report”関数の実行結果を受信したことに応じてなされるのに対して、処理Ｃ２１では、上記処理Ｃ１で作成されたタスク情報に含まれるプロファイルに含まれる送信条件を満たしたときに“Mail”関数の呼び出しを行う点が異なっている。つまり、処理Ｃ２１における“Mail”関数の呼び出しは、“Transit”関数の実行による判断結果で、ステータスに変化があり、かつエラーを報告すべき条件（送信条件）が満たされたときに、行われる。この送信条件は、例えば、ＭＦＰ２００毎にメール送信の要否を指定できるようになっていて、「要」が指定された場合や、変化したステータスの程度を指定できるようになっていて、ステータスが指定された程度に達した場合等を挙げることができる。もちろん、これ以外の条件であってもよい。送信内容は、例えば、送信条件に合致したＭＦＰ２００のモデル名、ＩＰアドレス及び最新のステータスである。もちろん、これ以外の内容であってもよい。
【０１２０】
そして、ビジネスロジック層１５６の管理プログラム１５１を実行するＣＰＵ１４０は、下層のデータ制御層１５７、プロトコル層１５８及び通信インターフェース層１５９に指示して、“Mail”関数を実行する（処理Ｃ２０）。処理Ｃ２０は、上記図８中の処理Ｂ２０と同様であるので、処理Ｃ２０についての説明は省略する。
【０１２１】
次に、ビジネスロジック層１５６の管理プログラム１５１を実行するＣＰＵ１４０は、メールを送信したことを示す実行結果をバックグランドサービス１５３に送信する（処理Ｃ２３）。
【０１２２】
次に、バックグランドサービス１５３の管理プログラム１５１を実行するＣＰＵ１４０は、受信した実行情報に基づく実行指示をデータサービス層１５４に送信する（処理Ｃ２４）。具体的には、処理Ｃ１５で受信した実行情報に含まれるシナリオに従って、“Save”関数を呼び出す。“Save”関数は、上述のようにＭＦＰ２００のステータスを、図２（ｆ）のデバイスステータステーブルに保存する関数である。“Save”関数の引数としては、ＭＦＰ２００のステータスを示す設定ファイル及びデバイスＩＤが渡される。
【０１２３】
そして、データサービス層１５４の管理プログラム１５１を実行するＣＰＵ１４０は、呼び出された“Save”関数を実行し、ＤＢ１５５に格納されたデバイスステータステーブル（ｆ）のうち、該デバイスＩＤによって示されるステータスを該設定ファイルが示すステータスに更新して保存する（処理Ｃ２５）。
【０１２４】
次に、データサービス層１５４の管理プログラム１５１を実行するＣＰＵ１４０は、デバイスステータステーブル（ｆ）の更新が完了したことを示す実行結果をバックグランドサービス１５３に送信する（処理Ｃ２６）。
【０１２５】
続く処理Ｃ２７〜Ｃ３６はそれぞれ、図７中の処理Ａ１９〜Ａ２８とほぼ同じであるので、各処理Ｃ２７〜Ｃ３６についての説明は省略する。
（設定アプリの詳細）
（メイン画面の画面構成）
【０１２６】
図１０（ａ）は、設定アプリ１６１を起動したときに表示部１２０に表示されるメイン画面８００の一例を示している。
【０１２７】
メイン画面８００には、設定アプリ１６１によって実現される機能を選択して切り替えるための機能選択コンボボックス８０１が設けられている。機能選択コンボボックス８０１の右端には、ドロップダウンボタン８０２が設けられ、ユーザがドロップダウンボタン８０２をクリックすると、図１０（ｂ）に示すようにドロップダウンリスト８３０が表示される。
【０１２８】
ドロップダウンリスト８３０に提示された機能は、“Send Files”及び“Backup Setting”の２種類である。
【０１２９】
“Send Files”は、管理アプリ１５１の上記“Send Files”と同様に、設定ファイル（例えばＪＳＯＮやＰＪＬ等により記載されたもの）をＭＦＰ２００に送信する機能である。“Backup Setting”は、管理アプリ１５１の上記“Backup Settings”と同様に、ＭＦＰ２００の設定を設定ファイルとしてＭＦＰ２００から受信し、保存する機能である。
【０１３０】
図１０（ａ）に戻り、メイン画面８００は、機能選択コンボボックス８０１により“Send Files”機能が選択された状態のものである。“Add Devices”アイコン８０３は、送信先リスト領域８１０にデバイス、つまりＭＦＰ２００を追加するときにクリックするものである。“Refresh”アイコン８０４は、送信先リスト領域８１０に表示されたＭＦＰ２００の状態を最新の状態にリフレッシュ（更新）するためのものである。“Application Settings”アイコン８０５は、アプリケーション設定画面を表示部１２０上に表示させるためのものである。
【０１３１】
“Set Files”ボタン８０６は、送信先リスト領域８１０に表示されたＭＦＰ２００のうち、選択されたものに対して設定ファイル（の場所）を設定するものである。“Set Device Password”ボタン８０７は、送信先リスト領域８１０に表示されたＭＦＰ２００のうち、選択されたものに対してパスワードを設定するものである。“Delete Devices”ボタン８０８は、送信先リスト領域８１０から、選択されたＭＦＰ２００を削除するものである。
【０１３２】
送信先リスト領域８１０は、ファイルの送信先をリスト表示する領域である。
【０１３３】
“Save as Deploy Profile”ボタン８２０は、現在の設定状態をプロファイルとして記憶させるものである。“Apply”ボタン８２１は、現在の設定状態の適用を指示するものである。
【０１３４】
図１１は、機能選択コンボボックス８０１により“Backup Settings”機能が選択されたときのメイン画面８４０を示している。図１１のメイン画面８４０は、図１０（ａ）のメイン画面８００に対して、異なる構成についてのみ異なる符号を付与している。したがって、同じ符号を付与した構成についての説明は省略する。
【０１３５】
バックアップ対象リスト領域８５０は、バックアップ対象とするＭＦＰ２００をリスト表示する領域である。
【０１３６】
“Set Device Password”ボタン８４１は、バックアップ対象リスト領域８５０に表示されたＭＦＰ２００のうち、選択されたものに対してパスワードを設定するものである。領域８４３は、バックアップする場所を指定するための領域である。領域８４４は、バックアップ対象の項目を指定するための領域である。
【０１３７】
“Save as Deploy Profile”ボタン８４５は、現在の設定状態をプロファイルとして記憶させるものである。“Backup”ボタン８４６は、現在の設定状態でのバックアップを指示するものである。
（実行ボタン選択時処理）
【０１３８】
図１２は、設定アプリ１６１のいずれかの機能を設定する画面（図１０（ａ）のメイン画面８００又は図１１のメイン画面８４０）において、実行ボタン（“Apply”ボタン８２１又は“Backup”ボタン８４６）がクリック（選択）されたときに実行される処理の手順を示すフローチャートである。実行ボタン選択時処理は、ＰＣ１００、特にＣＰＵ１４０により実行される。また実行ボタン選択時処理は、図１０（ａ）のメイン画面８００内の“Apply”ボタン８２１及び図１１（ａ）のメイン画面８４０内の“Backup”ボタン８４６のうちのいずれかのボタンがクリックされたときに開始される。
【０１３９】
図１２において、まず、第２ＵＩ制御層１６２の設定プログラム１６１を実行するＣＰＵ１４０は、表示中の機能がどの機能であるかを判断する（ステップ（以下「Ｓ」と略す）１）。つまりこの判断では、ＣＰＵ１４０は、“Apply”ボタン８２１及び“Backup”ボタン８４６のいずれがクリックされたかを判断する。
【０１４０】
Ｓ１において、“Apply”ボタン８２１がクリックされたと判断されたときには、第２ＵＩ制御層１６２の設定プログラム１６１を実行するＣＰＵ１４０は、“Send Files”マップを作成する（Ｓ２）。“Send Files”マップは、ユーザが機能を実行する対象として選択したＭＦＰ２００毎に行を設け、各行に“Send Files”コマンド、設定ファイルの格納場所及びＭＦＰ２００のＩＰアドレスを揃えて、マップ化したものである。“Send Files”コマンドは、具体的には、上記データサービス層１５４の管理プログラム１５１が提供する“Send Files”関数の呼び出しを指示するコマンドである。そして、設定ファイルの格納場所及びＭＦＰ２００のＩＰアドレスは、“Send Files”関数を呼び出すときに“Send Files”関数の引数として用いられる。
【０１４１】
次に、第２ＵＩ制御層１６２の設定プログラム１６１を実行するＣＰＵ１４０は、作成した“Send Files”マップについて１行ずつコマンド送信処理を実行する（Ｓ６）。コマンド送信処理では、ＣＰＵ１４０は、データサービス層１５４に対して“Send Files”関数の呼び出しを行う。これに応じて、ビジネスロジック層１５６の管理プログラム１５１を実行するＣＰＵ１４０は、呼び出された“Send Files”関数を実行し、下層のデータ制御層１５７、プロトコル層１５８及び通信インターフェース層１５９を利用して、“Send Files”機能を示すタスクを実行する（上記図７の処理Ａ１７参照）。
【０１４２】
次に、第２ＵＩ制御層１６２の設定プログラム１６１を実行するＣＰＵ１４０は、その実行結果を受信し（Ｓ６）、進捗状況表示を更新した（Ｓ７）後、次の行に移って、Ｓ５〜Ｓ７の処理を繰り返す。
【０１４３】
なお、処理がＳ２からＳ４に進む前に、第２ＵＩ制御層１６２の設定プログラム１６１を実行するＣＰＵ１４０は、ＳＮＭＰ設定を用いて、ＭＦＰ２００と通信するプロトコル（ＴＣＰ／ＩＰ（９１００）あるいはＨＴＴＰＳ）を決定する。
【０１４４】
そして、“Send Files”マップの全行についてＳ５〜Ｓ７の処理が終了すると、ＣＰＵ１４０は、実行結果を表示して（Ｓ８）、実行ボタン選択時処理を終了する。
【０１４５】
一方、上記Ｓ１において、“Backup”ボタン８４６がクリックされたと判断されたときには、第２ＵＩ制御層１６２の設定プログラム１６１を実行するＣＰＵ１４０は、“Backup Settings”マップを作成する（Ｓ３）。“Backup Settings”マップは、ユーザが機能を実行する対象として選択したＭＦＰ２００毎に行を設け、各行に“Backup Settings”コマンド、設定ファイルの保存場所、バックアップ項目及びＭＦＰ２００のＩＰアドレスを揃えて、マップ化したものである。“Backup Settings”コマンドは、具体的には、上記データサービス層１５４の管理プログラム１５１が提供する“Backup Settings”関数の呼び出しを指示するコマンドである。そして、設定ファイルの保存場所、バックアップ項目及びＭＦＰ２００のＩＰアドレスは、“Backup Settings”関数を呼び出すときに“Backup Settings”関数の引数として用いられる。
【０１４６】
続くＳ４〜Ｓ８の処理では、処理対象のマップが異なるだけで、処理内容は“Send Files”マップと“Backup Settings”マップとではほとんど異ならないので、Ｓ４〜Ｓ８の処理についての説明は省略する。
（効果）
【０１４７】
以上説明したように、本実施形態の情報処理プログラムは、複数の複合機２００と通信可能な通信ＩＦ１６０と、操作部１１０と、表示部１２０と、ＤＢ１５５を記憶した記憶部１５０と、を備えたＰＣ１００のための情報処理プログラムであって、情報処理プログラムは、第１ＵＩ制御層１５２と、バックグランドサービス１５３と、ＰＦ１６５と、を含む複数層のプログラムを含んでいる。
【０１４８】
第１ＵＩ制御層１５２のプログラムは、複数のＭＦＰ２００と設定ファイルを送信、又は受信する第１機能（“Send Files”，“Backup Settings”，“Send Log”，“Notification”）に関する第１設定（デバイスＩＤ、機能名、プロファイル）を、操作部１１０を介して受け付けるためのタスク設定画面６００，６２０を表示部１２０に表示させる第１表示処理と、第１表示処理により表示されたタスク設定画面６００，６２０から第１設定を受け付ける第１受付処理と、第１受付処理により受け付けられた第１設定を含む第１タスクをＤＢ１５５に登録する指示を行う第１指示処理Ａ２，Ｂ２，Ｃ２と、をＰＣ１００に実行させる。
【０１４９】
またバックグランドサービス１５３のプログラムは、第１指示処理による指示に応じて、第１タスクをＤＢ１５５に登録する登録処理Ａ３，Ｂ３，Ｃ３と、ＤＢ１５５から、登録処理Ａ３，Ｂ３，Ｃ３により登録された第１タスクを取得する第１取得処理Ａ１１と、第１取得処理により取得された第１タスクにより示される第１機能の実行を要求する第１実行コマンド（機能名に応じた関数）の実行をＰＦ１６５のプログラムに指示する第２指示処理Ａ１６，Ｂ１６，Ｂ１９，Ｃ１６，Ｃ１９，Ｃ２１と、をＰＣ１００に実行させる。
【０１５０】
さらにＰＦ１６５のプログラムは、第２指示処理により指示された第１実行コマンドに従って、複数のＭＦＰ２００との間で、設定ファイルを送信、又は受信する第１機能を実行する第１実行処理Ｃ１６ａ，Ｃ１６ｂをＰＣ１００に実行させる。
【０１５１】
このように、本実施形態の情報処理プログラムでは、ＰＦ１６５のプログラムは、指示された第１実行コマンドを実行するだけでよいので、つまり指示される第１実行コマンドは決まっているので、第１実行コマンドの種類に応じた処理を実行すればよい。このため、ＰＦ１６５のプログラムを容易にアップデートすることができる。
【０１５２】
ちなみに、本実施形態において、複合機２００は、「通信装置」の一例である。通信ＩＦ１６０は、「通信部」の一例である。ＰＣ１００は、「端末装置」の一例である。タスク設定画面６００，６２０は、「第１受付画面」の一例である。
【０１５３】
また複数層のプログラムは、第２ＵＩ制御層１６２を含み、第２ＵＩ制御層１６２のプログラムは、第１機能（“Send Files”，“Backup Settings”）に関する第２設定（ＭＦＰ２００のＩＰアドレス、機能、プロファイル）を、操作部１１０を介して受け付けるためのメイン画面８００，８４０を表示部１２０に表示させる第２表示処理と、第２表示処理により表示されたメイン画面８００，８４０から第２設定を受け付ける第２受付処理Ｓ２，Ｓ３と、第２受付処理により受け付けられた第２設定を含む第２実行コマンド（“Send Files”コマンド、“Backup Settings”コマンド）の実行をＰＦ１６５のプログラムに指示する第２指示処理Ｓ５と、をＰＣ１００に実行させる。そしてＰＦ１６５のプログラムは、第２指示処理により指示された第２実行コマンドに従って、複数のＭＦＰ２００との間で、設定ファイルを送信、又は受信する第１機能を実行する第２実行処理Ａ１７をＰＣ１００に実行させる。
【０１５４】
これにより、タスクを登録しない第２ＵＩ制御層１６２のプログラムでも、ＰＦ１６５のプログラムにより、第１機能に関する第２設定を含む第２実行コマンドを実行させることができるので、タスクを登録する第１ＵＩ制御層１５２のプログラムと、タスクを登録しない第２ＵＩ制御層１６２のプログラムとで、ＰＦ１６５のプログラムを共有することができる。
【０１５５】
ちなみに、メイン画面８００，８４０は、「第２受付画面」の一例である。
【０１５６】
また第１設定（プロファイルに含まれる送信スケジュール）は、第１機能（“Send Log”，“Notification”）を実行する周期を含み、第１取得処理は、第１設定に含まれる周期に従って、定期的に実行される。
【０１５７】
またＭＦＰ２００は、消耗品が装着される印刷装置であり、第１機能（“Send Log”）は、複数の印刷装置から消耗品の消費量を示す設定ファイルを受信する機能である。
【０１５８】
また第１機能（“Notification”）は、複数の通信装置から機器状態を受信する機能である。
【符号の説明】
【０１５９】
１００  ＰＣ
１１０  操作部
１２０  表示部
１４０  ＣＰＵ
１５０  記憶部
１６０  通信ＩＦ
２５０  プロキシサーバ
２７０  管理サーバ
２９０  メールサーバ
１５１  管理アプリ
１５２  第１ＵＩ制御層
１５３  バックグランドサービス
１５４  データサービス層
１５５  ＤＢ
１５６  ビジネスロジック層
１５７  データ制御層
１５８  プロトコル層
１５９  通信インターフェース層
１６１  設定アプリ
１６２  第２ＵＩ制御層
１６５  ＰＦ
２００  ＭＦＰ 
【図１】
2020135601.tif 000003
【図２】
2020135601.tif 000004
【図３】
2020135601.tif 000005
【図４】
2020135601.tif 000006
【図５】
2020135601.tif 000007
【図６】
2020135601.tif 000008
【図７】
2020135601.tif 000009
【図８】
2020135601.tif 000010
【図９】
2020135601.tif 000011
【図１０】
2020135601.tif 000012
【図１１】
2020135601.tif 000013
【図１２】
2020135601.tif 000014