以下、本願の実施の形態を図面に基づいて詳細に説明する。
(システム構成)
図1は、本願の一実施の形態に係る情報処理プログラムを実行するパーソナルコンピュータ100、及びパーソナルコンピュータ100と通信可能に接続されている複合機200を示す模式図である。以下、パーソナルコンピュータ100をPC100といい、複合機200をMFP200という。なおMFPは、multifunction peripheral の略語である。
PC100は、操作部110、表示部120、音声I/O(input/output)130、CPU(central processing unit)140、記憶部150及び通信IF(interface)160を備えている。
操作部110は、典型的には、キーボードとマウスにより構成される。
表示部120は、液晶ディスプレイや有機EL(electro-luminescence)ディスプレイなどの表示装置、表示装置を駆動する駆動回路などにより構成されている。表示部120として、タッチパネル方式のものを用いた場合には、ユーザは、画面上の入力ボタンをクリックすることで、入力操作をすることができる。したがってこの場合には、表示部120は、操作部110としての役割も果たすことになる。なお、クリックとは、ポイント・アンド・クリック(point-and-click)のことであり、オブジェクトを実行したり、開いたりすることを意味する(以下、同様)。
音声I/O130は、マイク、スピーカ、音声処理回路などにより構成されている。
CPU140は、本実施形態の情報処理プログラムを含む各種アプリケーションプログラム(以下「アプリ」と略す)やファームウェア(firmware)等を実行する。
記憶部150は、ROM(read only memory)、RAM(random access memory)、HDD(hard disk drive)、SSD(solid state drive)及び光ディスクドライブなどを含んでいる。ROMには、ファームウェアや各種データが格納されている。RAMは、CPU140がアプリをロードしたり、各種の処理を実行したりするための一時記憶部として用いられる。
記憶部150には、OS(operating system)、本実施形態の情報処理プログラム、その他各種のアプリやデータなどが記憶される。
本実施形態の情報処理プログラムを含む各種アプリは、通信IF160を介して外部のサーバ(図示せず)からダウンロードすることができる。なお、PC100に設けられたUSB(universal serial bus)インターフェース(IF)を介して、外部機器(図示せず)から各種アプリをダウンロードしてもよい。
通信IF160は、PC100を通信ネットワーク300に接続したり、PC100に外部機器を接続したりするものである。通信ネットワーク300は、本実施形態では有線又は無線LAN(local area network)を想定しているので、通信IF160は、LANIF(local area network interface)又はWLAN IF(wireless LAN interface)である。もちろん、有線LANと無線LANが同時に存在する場合もあり、この場合には、通信IF160は、LANIF及びWLAN IFの両方を含んでいる。また、外部機器をPC100に直接接続するIFとしては、上記USBIFやBluetooth(登録商標)IFなどが含まれる。
通信ネットワーク300には、本実施形態では複数のMFP200が接続されている。各MFP200は、本実施形態では説明の都合上、同一メーカの同一モデルとするが、これに限らず、異なるメーカのものであってもよいし、同一メーカの異なるモデルであってもよい。また本実施形態では、通信装置の例として、MFPを挙げているが、これに限らず、単体のプリンタやスキャナ、コピー機であってもよいし、MFPと、プリンタ、スキャナ及びコピー機とが同時に存在する態様であってもよい。
なおPC100には、通信ネットワーク300を介さずに直接、1台のMFP200も接続されている。このときの接続IFは、本実施形態ではUSBIFを用いている。
通信ネットワーク300にはさらに、プロキシサーバ250が接続され、プロキシサーバ250は、インターネット350に接続されている。プロキシサーバ250は、通信ネットワーク300に接続されている機器、つまり本実施形態では、PC100及び各MFP200を、セキュリティを維持しつつインターネット350に接続する役割を果たしている。
インターネット350には、管理サーバ270と、メールサーバ290とが接続されている。管理サーバ270は、各MFP200が備える有償機能を管理するものであり、メールサーバ290は、メールの送受信を行うものである。PC100が、管理サーバ270及びメールサーバ290にアクセスする場合、プロキシサーバ250を介してアクセスする。なおMFP200も理論上は、管理サーバ270及びメールサーバ290にプロキシサーバ250を介してアクセス可能であるが、本実施形態ではMFP200は、管理サーバ270及びメールサーバ290にアクセスしないものとする。
(情報処理プログラムの構成)
本実施形態の情報処理プログラムは、図2(a)に示すように、管理アプリ151と、設定アプリ161とにより構成されている。
管理アプリ151は、MFP200の状態(ステータス)を装置毎に表示し、管理可能なアプリである。管理アプリ151は、MFP200との間で設定ファイルの送信、又は受信を行う機能(“Send Files”,“Backup Setting”,“Send Log”,“Notification”)を実行するためのプログラムでもある(各機能の詳細は後述する)。設定ファイルは、例えば、JSON(JavaScript(登録商標) object notation)形式、PJL(printer job language)形式で記述される。管理アプリ151は、インストールによりPC100の記憶部150の、例えばHDD内に導入される。CPU140は、管理アプリ151の内容を記憶部150のRAM内にロードし、バックグランドサービス153を実行させる。そしてユーザが、インストールされた管理アプリ151の実行ファイルを指示するアイコン(図示せず)をクリックすると、第1ユーザインターフェース制御層(以下、「第1UI制御層」と略す)152のプログラムが実行される。
図2(a)は、ロードされた管理アプリ151及び設定アプリ161の構成例の一部を示している。管理アプリ151は、図2(a)に示すように階層構造をなしており、最上層から下位層にかけて、第1UI制御層152、バックグランドサービス153及びデータサービス層154を備えている。またデータサービス層154には、データベース(DB)155が接続されている。さらにバックグランドサービス153の下位には、ビジネスロジック層156、データ制御層157、プロトコル層158及び通信インターフェース層159が設けられている。ビジネスロジック層156から通信インターフェース層159までをプラットフォーム(PF)165と称する。なお、ビジネスロジック層156へのアクセスは、第1UI制御層152又は後述する第2ユーザインターフェース制御層(以下、「第2UI制御層」と略す)162によってバックグランドサービス153を通してなされる場合と、第2UI制御層162からバックグランドサービス153を通さずになされる場合と、がある(各場合の詳細は、後述する)。
第1UI制御層152の管理プログラム151は、GUI(graphical user interface)をPC100のユーザに提供するとともに、該GUIに対するユーザ操作を受け付けて、各種パラメータを設定及び変更等するためのプログラムである。またバックグランドサービス153を経由してデータサービス層154やビジネスロジック層156にアクセスし、MFP200との間で各種機能を実行し、GUI上に結果を表示する。
バックグランドサービス153の管理プログラム151は、OS上のバックグラウンドサービスとして実行可能なプログラムであり、第1UI制御層152からの要求を受け、データサービス層154を保守する役割をもつ。データサービス層154のデータ更新にあたっては、PF165のビジネスロジック層156を呼び出して、結果をデータサービス層154に格納する。
データサービス層154の管理プログラム151は、DB155へのデータの読み書き(また、その際の排他制御)、データの追加や削除のためのAPI(application programming interface)を提供するためのプログラムである。これ以外にも、データサービス層154の管理プログラム151は、バックグランドサービス153で実行されるデバイス・アクション・シナリオ(device action scenario)を管理したり、第1UI制御層152とバックグランドサービス153間の通知の仕組みを提供したりする。なお、デバイス・アクション・シナリオ(以下「シナリオ」と略す)は、ビジネスロジック層156の管理プログラム151が提供する関数を実行する順番を規定した情報である。
ビジネスロジック層156の管理プログラム151は、データ制御層157にアクセスし、管理アプリ151及び設定アプリ161を用いて実行される機能を実現するための関数を提供するためのプログラムである。提供される関数は、図2(c)に示すように“Send Files”関数、“Report”関数、“Mail”関数、“Get Device Status”関数、“Transit”関数及び“Save”関数である。また図2(c)には示されていないが、“Discovery”関数及び“Backup Settings”関数も提供される。
“Discovery”関数は、PC100と通信可能に接続されているMFP200を検索する関数である。CPU140は、“Discovery”関数を呼び出すと、通信IF160を介してブロードキャストアドレス宛にパケットを送信し、当該パケットに応答したMFP200が出力した情報(例えば、モデル名、IPアドレス及びノード名)を通信IF160を介して受信する。CPU140は、応答した各MFP200に対して、当該MFP200を一意に特定するデバイスIDを付与し、各MFP200から受信した情報に基づいて、図2(b)に示すデバイスリストを生成する。なおデバイスリスト(b)中、“Discovery”関数では受信されない情報、例えば「有償機能の有無」の情報は、デバイスリストに記載されたデバイスIDによって示されるIPアドレス宛てにパケットを送信し、ユニキャストで取得するようにすればよい。なお、図2(b)のデバイスリストに記載されるMFP200についての情報は、一例に過ぎず、上記情報に加えて、シリアル番号及びMACアドレス(media access control address)等を含むようにしてもよいし、上記情報からいずれかの一部情報を含まないようにしてもよい。
“Backup Settings”関数は、MFP200の設定ファイルを指定された保存場所に保存する関数である。CPU140が、IPアドレス、設定ファイルの保存場所及びバックアップ項目を引数として“Backup Settings”関数を呼び出すと、IPアドレスによって示されるMFP200の各種設定から、バックアップ項目に対応する設定を抜き出して設定ファイルとし、当該設定ファイルを保存場所に保存する。
“Send Files”関数は、MFP200に設定ファイルを送信する関数である。CPU140が、IPアドレス及び設定ファイルの格納場所を引数として“Send Files”関数を呼び出すと、当該格納場所から設定ファイルを読み出し、読み出した設定ファイルをIPアドレスによって示されるMFP200に送信する。
“Report”関数は、MFP200の現在のステータスのうち、指定項目に該当するステータスをMFP200から受信する関数である。CPU140が、IPアドレス及び指定項目を引数として“Report”関数を呼び出すと、IPアドレスによって示されるMFP200の指定項目に該当するステータスを示す設定ファイルをMFP200から受信する。
“Mail”関数は、指定された内容を示すメールを指定された送信先に送信する関数である。CPU140が、デバイスID、設定ファイル及び送信先メールアドレスを引数として“Mail”関数を呼び出すと、デバイスIDによって示されるMFP200と設定ファイルが示すステータスとを対応付けた内容が記載されたメールを、送信先メールアドレスを宛先として送信する。
“Get Device Status”関数は、MFP200の現在のステータスを示す設定ファイルを、MFP200から受信する関数である。CPU140が、MFP200のIPアドレスを引数として“Get Device Status”関数を呼び出すと、上記通信IF160を介して当該IPアドレスによって示されるMFP200にステータス要求を送信し、当該ステータス要求に応じてMFP200が出力したステータスを示す設定ファイルを、通信IF160を介して受信する。
“Transit”関数は、2つのステータスを比較して、ステータスが変化したか否かを判断する関数である。CPU140が、前回のステータスを示す設定ファイル、最新のステータスを示す設定ファイル、及び、デバイスIDを引数として“Transit”関数を呼び出すと、前回のステータスと最新のステータスとを比較し、変化があった場合には、デバイスIDによって示されるMFP200にステータスの変化があったことを出力する。
“Save”関数は、MFP200のステータスを、図2(f)に示すデバイスステータステーブルに保存する関数である。CPU140が、MFP200のステータスを示す設定ファイル及びデバイスIDを引数として“Save”関数を呼び出すと、DB155に格納されたデバイスステータステーブル(f)のうち、該デバイスIDによって示されるステータスを該設定ファイルが示すステータスに更新して保存する。
さらに、これら以外にも各種関数が提供されるが、本実施形態を説明する上で必要ではないため、これ以上の説明は省略する。
データ制御層157の管理プログラム151は、MIB(management information base)やPJL、JSON等を利用して、MFP200に対してデータを入出力するためのプログラムである。
プロトコル層158の管理プログラム151は、指定したMFP200のUSBポートに対するデータの入出力、及び、TCP(transmission control protocol)の9100番ポートに対するデータの入出力を提供する。またプロトコル層158の管理プログラム151は、指定したMFP200のSNMP(simple network management protocol)を利用したデータの入出力、及び、指定したMFP200、サービスのHTTP(hypertext transfer protocol)を利用したデータの入出力を提供する。
通信インターフェース層159の管理プログラム151は、データの入出力にプリンタドライバ、USBドライバ、ソケット(socket)あるいはHTTPを使用する場合に利用される。
DB155には、MFP200のリスト(つまり、上記デバイスリスト)や各MFP200のステータス、ログなど、MFP200に関する各種情報が格納される。
一方、設定アプリ161は、MFP200に対して各種設定を行うアプリである。設定アプリ161は、MFP200との間で設定ファイルの送信、又は受信を行う機能(“Send Files”及び“Backup Settings”)を実行するためのプログラムでもある。設定アプリ161は、管理アプリ151より実行できる機能が少ない簡易的なアプリであるとも言える。設定アプリ161は、実行ファイルの形式で、PC100の記憶部150の、例えばHDD内に導入される。つまり設定アプリ161は、インストール不要のプログラムである。そしてユーザが、設定アプリ161の実行ファイルを指示するアイコン(図示せず)をクリックすると、第2UI制御層162の設定プログラム161が実行される。
第2UI制御層162の設定プログラム161は、第1UI制御層152と同様に、GUIをPC100のユーザに提供するとともに、該GUIに対するユーザ操作を受け付けて、各種パラメータを設定及び変更等するためのプログラムである。また第2UI制御層162は、第1UI制御層152と同じ上位層に属し、第2UI制御層162の設定プログラム161は、第1UI制御層152の管理プログラム151と同様に、バックグランドサービス153を通してデータサービス層154の各機能を実行し、DB155からデータの読み取りを行うことができる。さらに第2UI制御層162の設定プログラム161は、バックグランドサービス153を経由せずに直接、ビジネスロジック層156にアクセスし、MFP200との間で各種機能を実行し、GUI上に結果を表示する。
このように第2UI制御層162も、管理アプリ151に含まれる複数層の階層とともに、階層構造をなしている。
(管理アプリの詳細)
(HOME画面の画面構成)
図3(a)は、管理アプリ151を起動したときに表示部120に表示されるHOME画面500の一例を示している。図示例のHOME画面500は、複数のMFP200が記載されたデバイスリストに基づいて表示されたものである。
デバイスリストは、管理アプリ151が起動されるとき、あるいは管理アプリ151の起動後、“New Discovery Action”ボタン517がクリックされたときに作成される。デバイスリストの作成は、具体的には上述のように、ビジネスロジック層156の管理プログラム151を実行するCPU140が“Discovery”関数を呼び出すことによって行われる。作成されたデバイスリストは、データサービス層154の管理プログラム151を実行するCPU140によってDB155に格納される。
HOME画面500には、図3(a)に示すように、デバイスボタン501と、タスクボタン502と、アプリケーション設定ボタン503とが設けられている。デバイスボタン501は、デバイスリストに提示されたMFP200に関する情報を表示させるための操作子である。タスクボタン502は、現在と過去のタスクの状態を表示させるための操作子である。アプリケーション設定ボタン503は、アプリケーション設定画面を表示させるための操作子である。
HOME画面500にはさらに、左ペイン510と、中央ペイン520と、右ペイン530とが設けられている。
中央ペイン520は、デバイスリストに提示されたMFP200から選択された一部又は全部の名称(図示例では、Model Name)と、関連情報(図示例では、Device Status,Supply Level,Node Name,IP Address,Serial Number)を表示するデバイスリスト領域525を含んでいる。ここで、“Device Status”とは、MFP200の動作状態、つまりステータスのことであり、“Supply Level”とは、消耗品残量のことである。消耗品とは、具体的には、トナーやインクのことである。
またデバイスリスト領域525の左端には、2種類のチェックボックス526,527が設けられている。最上段のチェックボックス526は、MFP200毎に設けられたチェックボックス527のすべてに対して、一括して選択/非選択を指示できるものである。これに対して、チェックボックス527は、MFP200毎に個別に選択/非選択を指示できるものである。
管理アプリ151は、デバイスリストに提示されたMFP200をグループ化することができるように構成されている。左ペイン510は、グループ化後のグループを選択するための領域である。
右ペイン530は、デバイスリスト領域525に表示されたMFP200のうち、選択されたMFP200に対して、タスクを指示するための領域である。タスクとは、第1UI制御層152が提供するGUIにおいてユーザによって実行が指示された機能を示す。図2(e)に示すように、タスクは、選択されたMFP200を識別するデバイスIDと、実行する機能名と、該機能を実行するために必要なプロファイルと、を含んでいる。タスクは大きく分けて、インスタントタスクとスケジュールタスクとの2種類存在する。インスタントタスクは、1度だけ即時に実行されるタスクであり、スケジュールタスクは、定期的に実行されるタスクである。
右ペイン530は、選択されたMFP200のステータスを示す領域531と、指示するスケジュールタスク(Scheduled Task)の種類を選択するスケジュールタスク選択領域532と、指示するインスタントタスク(Instant Task)の種類を選択するインスタントタスク選択領域533とを備えている。
(タスク作成処理)
スケジュールタスク選択領域532でスケジュールタスクとして選択できる機能は、本実施形態では“Send Log”と“Notification”である。
“Send Log”は、指定されたMFP200の印刷枚数や消耗品に関する情報等を定期的に電子メールで通知する機能である。図3(a)の図示例では、Send Log選択コンボボックス532aにおいて、“Send Log (Daily)”が選択されている。“Send Log (Daily)”は、“Send Log”を毎日実行するものである。
Send Log選択コンボボックス532aの右端には、ドロップダウンボタン532bが設けられ、ユーザがドロップダウンボタン532bをクリックすると、図3(b)に示すようにドロップダウンリスト532cが表示される。ユーザは、ドロップダウンリスト532cに提示された詳細設定が異なる複数種類の“Send Log”からいずれかの“Send Log”を選択することができる。さらにドロップダウンリスト532cには、新しい種類の“Send Log”を登録するための項目“New Send Log Setting...”も提示されている。ユーザが、この項目“New Send Log Setting...”を選択すると、図4のアプリケーション設定画面400のうち、右ペイン430に相当する部分だけが、例えばポップアップウィンドウ(図示せず)内に表示される。
図4は、図3(a)のHOME画面500内の上記アプリケーション設定ボタン503がクリックされたときに表示部120上に表示されるアプリケーション設定画面400の一例を示している。図4のアプリケーション設定画面400は、左ペイン410と、中央ペイン420と、右ペイン430とにより構成されている。
左ペイン410は、設定項目リストを表示する領域である。図4の例では、左ペイン410の設定項目リストから“Send Log”という項目が選択されている。中央ペイン420は、“Send Log”における“Profiles”、つまり選択可能な“Send Log”の種類を表示する領域である。そして右ペイン430は、選択された種類の“Send Log”について詳細設定する領域である。
図4の中央ペイン420では、“Profiles”から“New Send Log”が選択され、これに応じて右ペイン430には、新しい種類の“Send Log”を設定するための詳細設定領域が表示されている。“Send Log”では、名称、送信頻度、送信先、送信元及び送信内容等を設定することができるようになっている。
「名称」は、テキストボックス431から入力され、「送信頻度」及び「送信先」はそれぞれ、入力領域432,433から入力され、「送信元」は、テキストボックス434から入力される。「送信内容」は、入力領域435から入力される。「送信内容」は、具体的には、MFP200のステータス(“Status”)、消耗品(“Consumables”)に関する情報及び用紙ジャム(“Paper Jam”)に関する情報等である。もちろん、送信内容は一例であり、これらに限られる訳ではない。
このようにして詳細設定がなされた“Send Log”を新しい種類の“Send Log”として登録するときには、ユーザはOKボタン401をクリックする。これにより、登録された新たな種類の“Send Log”は、上記図3(b)のドロップダウンリスト532c内に表示され、ユーザが選択できる状態になる。
一方、新たな種類の“Send Log”の登録を中止するときには、ユーザはキャンセル(Cancel)ボタン402をクリックする。
上記スケジュールタスク選択領域532でスケジュールタスクとして選択できる2種類の機能のうちのもう1種類は、“Notification”である。“Notification”は、指定されたMFP200のステータスに異常がある場合に、その異常を電子メールで通知する機能である。図3(a)の図示例では、既に登録されている“Notification”は無いので、ユーザは、“+ Add Notification Task”操作子532dをクリックすることにより、新しい種類の“Notification”を登録することができる。
“+ Add Notification Task”操作子532dがクリックされると、新しい種類の“Notification”を登録するための詳細設定画面が、例えばポップアップウィンドウ(図示せず)内に表示される。この詳細設定画面は、新しい種類の“Send Log”を設定するための詳細設定画面とほぼ同じであるので、この詳細設定画面についての説明は省略する。なお、新しい種類の“Notification”の登録は、図4のアプリケーション設定画面400からでも行うことができる。具体的には、アプリケーション設定画面400の左ペイン410の設定項目リストから“Notification”を選択することにより、中央ペイン420に“Notification”における“Profiles”を表示させる。このとき、表示された“Profiles”には、既に登録された“Notification”は無いので、“New Notification”だけが表示される。ユーザが“New Notification”を選択すると、これに応じて右ペイン430には、新しい種類の“Notification”を設定するための詳細設定領域が表示される。“Notification”では、“Send Log”と同様に、名称、送信頻度、送信先、送信元及び送信内容等を設定することができるようになっている。
図3(a)のインスタントタスク選択領域533で選択可能なインスタントタスクの種類は、図示例では2種類で、インスタントタスク選択領域533には、各種類のインスタントタスクに対して、タスク設定画面にそれぞれ遷移させるためのタブ(図示せず)が設けられている。2種類のインスタントタスクとは、“Send Files”及び“Backup Settings”である。
“Send Files”は、設定ファイル(例えばJSONやPJL等により記載されたもの)をMFP200に送信する機能である。“Backup Settings”は、MFP200の設定を設定ファイルとしてMFP200から受信し、保存する機能である。
図5(a)は、“Send Files”機能を実行するためのタスクのタスク設定画面600の一例を示している。このタスク設定画面600は、図3(a)のインスタントタスク選択領域533において、ユーザが“Send Files”のタブをクリックすると、図3(a)のHOME画面500から遷移する。
図5(a)のタスク設定画面600には、設定ファイルの送信先をリスト表示する送信先リスト領域601と、送信する設定ファイルを指定するファイル指定ボックス602と、ファイルを閲覧・検索する閲覧・検索アプリ(図示せず)を呼び出すためのボタン603が設けられている。またタスク設定画面600には、ファイルの送信指示を行うセンド(Send)ボタン604と、設定をキャンセルするキャンセルボタン605とが設けられている。さらにタスク設定画面600には、パスワード入力を行うためのパスワード入力ボックスや操作子を表示させるためのパスワード入力要求(“Input Device Password”)ボタン606が設けられている。
送信先リスト領域601には、タスク設定画面600に遷移する直前のHOME画面500で選択されたMFP200が自動的に入力される。したがってユーザは、送信するファイルの格納場所をファイル指定ボックス602に入力した上で、センドボタン604をクリックすれば、指定されたファイルが選択されたMFP200に送信される。なお、センドボタン604のクリック後は、タスク設定画面600は図3(a)のHOME画面500に遷移する。
図5(b)は、“Backup Settings”のタスク設定画面620の一例を示している。このタスク設定画面620は、図3(a)のインスタントタスク選択領域533において、ユーザが“Backup Settings”のタブをクリックすると、図3(a)のHOME画面500から遷移する。
図5(b)のタスク設定画面620には、バックアップ対象とするMFP200をリスト表示するバックアップ対象リスト領域621と、設定ファイルの保存場所を指定するためにPC100内のホルダーを参照する参照アプリ(図示せず)を呼び出すためのボタン622が設けられている。またタスク設定画面620には、バックアップ項目を選択するためのバックアップ項目選択領域623と、バックアップを指示するバックアップ(Backup)ボタン624と、設定をキャンセルするキャンセルボタン625とが設けられている。さらにタスク設定画面620には、パスワード入力を行うためのパスワード入力ボックスや操作子を表示させるためのパスワード入力要求(“Input Device Password”)ボタン626が設けられている。
バックアップ対象リスト領域621には、タスク設定画面620に遷移する直前のHOME画面500で選択されたMFP200が自動的に入力される。したがってユーザは、設定ファイルの保存場所を指定し、バックアップ項目選択領域623で、バックアップ項目を選択した上で、バックアップボタン624をクリックすれば、選択された設定項目を含む設定ファイルが保存場所に保存される。なお、バックアップボタン624のクリック後は、タスク設定画面620は図3(a)のHOME画面500に遷移する。
(タスク画面の画面構成)
図3(a)のHOME画面500において、ユーザがタスクボタン502をクリックすると、このHOME画面500はタスク画面に遷移する。図6は、タスク画面700の一例を示している。
タスク画面700は、左ペイン710と中央ペイン720を備えている。そして中央ペイン720は、上部ペイン730と下部ペイン740を備えている。
左ペイン710は、現在設定中のタスクの種類のリスト(タスク種類リスト)を表示する領域である。図示例では、インスタントタスク2件と、スケジュールタスク5件が示されている。
中央ペイン720は、左ペイン710に表示されたタスク種類リストから選択された1つのタスク種類についてのステータスを表示する領域である。そして、上部ペイン730は、現在動作中のタスク(“Working Task”)に関する情報を表示し、下部ペイン740は、タスクログ(“Task Log”)を表示する。
上部ペイン730には、現在動作中のタスクをリスト表示する動作中タスクリスト領域731が設けられている。図6の例では、左ペイン710に表示されたタスク種類リストからインスタントタスクが選択されているので、動作中タスクリスト領域731には、動作中のインスタントタスクが表示されている。インスタントタスクについての表示項目は、タスクの種類(“Task Type”)と、ステータス(“Status”)と、タスクの開始日時(“Started”)と、対象台数(“Target”)である。もちろん、これらの表示項目は一例に過ぎず、他の項目が表示されるようにしてもよい。
下部ペイン740には、タスクログを表示するタスクログ領域741が設けられている。
(“Send Files”シーケンス)
図7は、“Send Files”機能を実行するためのタスクの設定から実行を経由して結果表示に至るまでに、第1UI制御層152、バックグランドサービス153、データサービス層154及びビジネスロジック層156間でやり取りされるデータのシーケンスの一例を示している。
図7において、まず、第1UI制御層152の管理プログラム151を実行するCPU140は、“Send Files”機能についてのタスク作成処理を実行する(処理A1)。“Send Files”機能についてのタスク作成処理は、上述のようにユーザが図5(a)のタスク設定画面600を用いて行った入力操作に応じて入力されたタスク情報(“Send Files”機能を実行するためのタスク情報)を生成する処理である。つまりタスク作成処理は、CPU140がユーザから入力操作を操作部110を介して受け付けることによって実行される。タスク情報は、送信先のMFP200を示すデバイスID、機能名(“Send Files”)及び設定ファイルの格納場所を示すプロファイルを含む。
次にユーザが、タスク設定画面600上のセンドボタン604をクリックすると、CPU140は、タスク作成処理により作成されたタスク情報を、第1UI制御層152からバックグランドサービス153に送信する(処理A2)。
なお図7中、バックグランドサービスは“BGS”と略されている。この事情は、図8及び図9についても同様である。
バックグランドサービス153の管理プログラム151を実行するCPU140は、第1UI制御層152から受信したタスク情報をDB155に登録するための登録指示をデータサービス層154に送信する(処理A3)。これに応じて、データサービス層154の管理プログラム151を実行するCPU140は、タスク情報をDB155内のタスク登録テーブル(e)に登録する(処理A4)。タスク登録テーブル(e)は、図2(e)に示すタスク登録テーブルであり、タスク登録テーブル(e)には、デバイスID、機能名及びプロファイルを含むタスク情報が登録される。「デバイスID」は、ファイルの送信先のMFP200を特定するIDであり、MFP200毎に一意に決定されたIDである。この「デバイスID」は、上記図2(b)に示したデバイスリストに記憶された「デバイスID」と同じものである。「機能名」は、実行する機能の種類を示している。「プロファイル」は、図5(a)のタスク設定画面600で設定された設定を示し、例えば“Send Files”機能では、タスク設定画面600内のファイル指定ボックス602で指定された設定ファイルの格納場所を示す。
次に、データサービス層154の管理プログラム151を実行するCPU140は、タスク情報をDB155に登録したことを示す登録通知をバックグランドサービス153に送信する(処理A5)。これに応じて、バックグランドサービス153の管理プログラム151を実行するCPU140は、タスク情報のDB155への登録が完了したことを示す完了通知を第1UI制御層152に送信する(処理A6)。
第1UI制御層152の管理プログラム151を実行するCPU140は、完了通知を受信すると、タスク設定画面600を更新し、“Send Files”機能を実行するためのタスクがDB155に登録されたことを示す不図示の通知を含むHOME画面500を表示部120に表示させる(処理A7)。
次に、第1UI制御層152の管理プログラム151を実行するCPU140は、タスクの実行要求をバックグランドサービス153に送信する(処理A8)。これに応じて、バックグランドサービス153の管理プログラム151を実行するCPU140は、DB155内のタスク登録テーブル(e)に登録されたタスク情報の一覧を要求するためのタスク情報要求をデータサービス層154に対して送信する(処理A9)。データサービス層154の管理プログラム151を実行するCPU140は、タスク情報要求により示されるタスク情報の一覧をDB155内のタスク登録テーブル(e)から読み出し(処理A10)、読み出したタスク情報の一覧をバックグランドサービス153に送信する(処理A11)。
バックグランドサービス153の管理プログラム151を実行するCPU140は、受信したタスク情報の一覧から、実行すべきタスクがあるか否かを判断する(処理A12)。より詳細には、CPU140は、受信したタスク情報の一覧の中に、インスタントタスクを示す機能名が含まれるタスク情報が存在するか否かを判断する。“Send Files”機能を実行するためのタスクは、上述のようにインスタントタスクであるので、1度だけ即時に実行される。バックグランドサービス153の管理プログラム151を実行するCPU140は、上記判断において、タスク情報の一覧の中に、インスタントタスクを示す機能名が含まれるタスク情報が存在する場合に「YES」と判断し、“Send Files”機能の実行情報を要求する実行情報要求であって、処理A11で受信したタスク情報に含まれる当該機能の機能名とデバイスIDとを含む実行情報要求をデータサービス層154に送信する(処理A13)。実行情報とは、タスクを実行するために必要な情報であり、例えば“Send Files”機能では、実行情報には、機能名“Send Files”に対応するシナリオと、デバイスIDにより示されるMFP200の情報とが含まれる。
データサービス層154の管理プログラム151を実行するCPU140は、実行情報要求の受信に応じて、“Send Files”機能を実行するための実行情報を生成する(処理A14)。実行情報に含まれるシナリオは、DB155内のシナリオテーブル(c)から取得される。シナリオテーブル(c)は、図2(c)に示すシナリオテーブルであり、シナリオテーブル(c)には、機能名とシナリオとが登録される。「機能名」は、上記図2(e)に示したタスク登録テーブルに登録される「機能名」と同じものである。「シナリオ」は、“Send Files”関数である。実行情報に含まれるMFP200の情報は、IPアドレスであり、上記図2(b)のデバイスリストから取得される。
次に、データサービス層154の管理プログラム151を実行するCPU140は、処理A14により生成した実行情報をバックグランドサービス153に送信する(処理A15)。これに応じて、バックグランドサービス153の管理プログラム151を実行するCPU140は、受信した実行情報に基づく実行指示をビジネスロジック層156に送信する(処理A16)。具体的には、実行情報に含まれるシナリオによって示される“Send Files”関数を、処理A11で受信したタスク情報に含まれるプロファイル、及び、実行情報に含まれるIPアドレスを引数として呼び出す(call)。
そして、ビジネスロジック層156の管理プログラム151を実行するCPU140は、呼び出された“Send Files”関数を実行し、下層のデータ制御層157、プロトコル層158及び通信インターフェース層159を利用して、“Send Files”機能を示すタスクを実行する(処理A17)。具体的には、CPU140は通信IF160から、IPアドレスにより示されるMFP200に、プロファイルによって示される設定ファイルを送信する。
次に、ビジネスロジック層156の管理プログラム151を実行するCPU140は、実行結果をバックグランドサービス153に送信する(処理A18)。これに応じて、バックグランドサービス153の管理プログラム151を実行するCPU140は、データサービス層154に対して実行結果の登録を指示する(処理A19)。データサービス層154の管理プログラム151を実行するCPU140は、実行結果であるログをDB155内のタスクログテーブル(d)に登録する。タスクログテーブル(d)は、図2(d)に示すタスクログテーブルであり、タスクログテーブル(d)には、開始時間、終了時間、実行結果及び機能名を含む“Send Files”機能についてのログが登録される。「開始時間」及び「終了時間」はそれぞれ、“Send Files”機能についてのタスクを開始した時間と終了した時間である。「実行結果」は、現在実行中、正常終了、異常終了などの“Send Files”機能についてのタスクの実行結果である。「機能名」は、上記図2(e)のタスク登録テーブルに登録される「機能名」と同じものである。
次に、データサービス層154の管理プログラム151を実行するCPU140は、“Send Files”機能についてのログをDB155に登録したことを示す登録通知をバックグランドサービス153に送信する(処理A21)。これに応じて、バックグランドサービス153の管理プログラム151を実行するCPU140は、“Send Files”機能についてのタスクの終了通知を第1UI制御層152に送信する(処理A22)。
次に、第1UI制御層152の管理プログラム151を実行するCPU140は、実行結果要求をバックグランドサービス153に送信する(処理A23)。これに応じて、バックグランドサービス153の管理プログラム151を実行するCPU140は、同様の実行結果要求をデータサービス層154に送信する(処理A24)。データサービス層154の管理プログラム151を実行するCPU140は、実行結果要求により示される“Send Files”機能についてのログの一覧をタスクログテーブル(d)から読み出し(処理A25)、読み出した“Send Files”機能についてのログの一覧を読出し結果通知としてバックグランドサービス153に送信する(処理A26)。これに応じて、バックグランドサービス153の管理プログラム151を実行するCPU140は、受信した“Send Files”機能についてのログの一覧を実行結果として第1UI制御層152に送信する(処理A27)。
第1UI制御層152の管理プログラム151を実行するCPU140は、受信した“Send Files”機能についてのログの一覧に基づいて、自身のUIを更新する(処理A28)。これにより、上記図6に示したタスク画面700が表示部120上に表示される。但しタスク画面700は、上述のように図3(a)のHOME画面500内のデバイスボタン501がクリックされたときに表示される画面であるので、処理A28によってタスク画面700が自動的に表示される訳ではない。
(“Send Log”シーケンス)
図8は、“Send Log”機能を実行するためのタスクの設定から実行を経由して結果表示に至るまでに、第1UI制御層152、バックグランドサービス153、データサービス層154及びビジネスロジック層156間でやり取りされるデータのシーケンスの一例を示している。
図8において、まず、第1UI制御層152の管理プログラム151を実行するCPU140は、“Send Log”機能についてのタスク作成処理を実行する(処理B1)。“Send Log”機能についてのタスク作成処理は、上述のようにユーザが図4のアプリケーション設定画面400を用いて行った入力操作に応じて入力された“Send Log”機能を実行するためのタスク情報を生成する処理である。タスク情報は、MFP200を示すデバイスID、機能名(“Send Log”)及びプロファイルを含む。プロファイルは、図4のアプリケーション設定画面400で設定された設定を示し、例えば“Send Log”機能では、プロファイルには、送信スケジュール、送信項目(印刷枚数など)、データフォーマット、設定ファイルの送信元メールアドレスが含まれる。
次にユーザが、アプリケーション設定画面400内のOKボタン401をクリックすると、CPU140は、タスク作成処理により作成されたタスク情報を、第1UI制御層152からバックグランドサービス153に送信する(処理B2)。これ以降の処理B3~B11はそれぞれ、図7中の処理A3~A11とほぼ同じであるので、各処理B3~B11についての説明は省略する。
バックグランドサービス153の管理プログラム151を実行するCPU140は、受信したタスク情報の一覧から、実行すべきタスクがあるか否かを判断する(処理B12)。より詳細には、CPU140は、現時点が送信スケジュールにより示される所定の送信タイミングに相当するか否かを判断する。“Send Log”機能を実行するためのタスクは、上述のようにスケジュールタスクであるので、定期的に実行される。CPU140は、処理B12の判断において、現時点が送信スケジュールにより示される所定の送信タイミングに相当する場合に「YES」と判断し、“Send Log”機能の実行情報を要求する実行情報要求であって、当該機能の機能名とデバイスIDとを含む実行情報要求をデータサービス層154に送信する(処理B13)。一方、「NO」と判断されたときは、CPU140は、「YES」と判断されるまで待機状態となる。なお、“Send Log”機能についての実行情報には、機能名“Send Log”に対応するシナリオと、デバイスIDにより示されるMFP200の情報とが含まれる。また、処理B12は、定期的に(例えば、1秒毎)実行される。
なお、処理B13~B15はそれぞれ、図7中の処理A13~A15とほぼ同じであるので、処理B13~B15についての説明は省略する。但し、上記機能名“Send Files”についてのシナリオが“Send Files”関数1つのみであったのに対して、機能名“Send Log”についてのシナリオは“Report”と“Mail”の2つの関数を含んでいる点が異なっている。
バックグランドサービス153の管理プログラム151を実行するCPU140は、受信した実行情報に基づく実行指示をビジネスロジック層156に送信する(処理B16)。具体的には、CPU140は、処理B15で受信した実行情報に含まれるシナリオに従って、まず“Report”関数を呼び出す。“Report”関数は、上述のようにMFP200の現在のステータスのうち、指定項目に該当するステータスをMFP200から受信する関数である。“Report”関数の引数としては、処理B15で受信した実行情報に含まれるMFP200のIPアドレスと、上記図4のアプリケーション設定画面400の右ペイン430内の入力領域435から入力されたメールの「送信内容」の項目、つまり指定項目とが渡される。
そして、ビジネスロジック層156の管理プログラム151を実行するCPU140は、呼び出された“Report”関数を実行し、下層のデータ制御層157、プロトコル層158及び通信インターフェース層159に指示して、“Send Log”機能についてのタスクの一部である、“Report”関数を実行する(処理B17)。具体的には、CPU140は、引数として渡されたデバイスIDにより示されるMFP200について、指定項目に対応する現在のステータスを示す設定ファイルを要求し、設定ファイルをMFP200から受信する。例えば、図4のアプリケーション設定画面400の右ペイン430において、“Consumables”と記載されたチェックボックスがクリックされた場合、CPU140は、MFP200に装着された消耗品(インクやトナー)の残量を示す設定ファイルをMFP200から受信する。そして、ビジネスロジック層156は、“Report”関数の戻り値として、MFP200の現在のステータスのうち、指定項目に該当するステータスを示す設定ファイルをバックグランドサービス153に対して送信する。
次に、バックグランドサービス153の管理プログラム151を実行するCPU140は、実行結果として、引数として渡したデバイスIDにより示されるMFP200の指定項目に該当するステータスを示す設定ファイルをビジネスロジック層156から受信する(処理B18)。
次に、バックグランドサービス153の管理プログラム151を実行するCPU140は、処理B16と同様にして、受信した実行情報に基づく実行指示をビジネスロジック層156に送信する(処理B19)。具体的には、処理B15で受信した実行情報に含まれるシナリオに従って、“Mail”関数を呼び出す。“Mail”関数は、上述のように指定された内容を示すメールを指定された送信先に送信する関数である。“Mail”関数の引数としては、上記図4のアプリケーション設定画面400の右ペイン430内の入力領域433で設定されたメールの「送信先」、テキストボックス434で設定された「送信元」及び“Report”関数で取得された「送信内容」が渡される。
そして、ビジネスロジック層156の管理プログラム151を実行するCPU140は、下層のデータ制御層157、プロトコル層158及び通信インターフェース層159に指示して、“Mail”関数を実行する(処理B20)。具体的には、引数として渡されたデバイスIDによって示されるMFP200と、引数として渡された設定ファイルが示すステータスと、を対応付けた内容が記載されたメールを、送信先メールアドレスを宛先としてメールサーバ290に送信する。なおメールサーバ290は、本実施形態では上述のように、通信ネットワーク300の外部のインターネット350に接続されているため(図1参照)、PC100がメールサーバ290にアクセスする場合には、プロキシサーバ250を介して行う必要がある。プロキシサーバ250を介して通信する設定、つまりプロキシ設定は、図4のアプリケーション設定画面400の左ペイン410の設定項目リストから“Network”を選択することによって、中央ペイン420あるいは右ペイン430に表示された詳細設定領域から行う。またメールサーバ290の設定は、同じ左ペイン410の設定項目リストから“Email Server”を選択することによって、中央ペイン420あるいは右ペイン430に表示された詳細設定領域から行う。
次に、ビジネスロジック層156の管理プログラム151を実行するCPU140は、メールを送信したことを示す実行結果をバックグランドサービス153に送信する(処理B21)。続く処理B22~B31はそれぞれ、図7中の処理A19~A28とほぼ同じであるので、各処理B22~B31についての説明は省略する。
(“Notification”シーケンス)
図9は、“Notification”機能を実行するためのタスクの設定から実行を経由して結果表示に至るまでに、第1UI制御層152、バックグランドサービス153、データサービス層154及びビジネスロジック層156間でやり取りされるデータのシーケンスの一例を示している。
図9において、まず、第1UI制御層152の管理プログラム151を実行するCPU140は、“Notification”機能についてのタスク作成処理を実行する(処理C1)。“Notification”機能についてのタスク作成処理は、上述のようにユーザが図4のアプリケーション設定画面400を用いて行った入力操作に応じて入力された“Notification”機能を実行するためのタスク情報を生成する処理である。タスク情報は、MFP200を示すデバイスID、機能名(“Notification”)及びプロファイルを含む。プロファイルは、図4のアプリケーション設定画面400で設定された設定を示し、例えば“Notification”機能では、プロファイルには、送信条件、送信項目(消耗品残量など)、データフォーマット、設定ファイルの送信元メールアドレスが含まれる。
次にユーザが、アプリケーション設定画面400内のOKボタン401をクリックすると、CPU140は、タスク作成処理により作成されたタスク情報を、第1UI制御層152からバックグランドサービス153に送信する(処理C2)。これ以降の処理C3~C11はそれぞれ、図7中の処理A3~A11とほぼ同じであるので、各処理C3~C11についての説明は省略する。
バックグランドサービス153の管理プログラム151を実行するCPU140は、受信したタスク情報の一覧から、実行すべきタスクがあるか否かを判断する(処理C12)。“Notification”機能を実行するためのタスクは、上述のようにスケジュールタスクであるので、定期的に(例えば、1秒毎)実行される。CPU140は、処理C12の判断において、現時点が所定の実行タイミングに相当する場合に「YES」と判断し、“Notification”機能の実行情報を要求する実行情報要求であって、当該機能の機能名とデバイスIDとを含む実行情報要求をデータサービス層154に送信する(処理C13)。一方、「NO」と判断されたときは、CPU140は、「YES」と判断されるまで待機状態となる。なお、“Notification”機能についての実行情報には、機能名“Notification”に対応するシナリオと、デバイスIDにより示されるMFP200の情報と、該デバイスIDにより示されるMFP200のステータスとが含まれる。
データサービス層154の管理プログラム151を実行するCPU140は、実行情報要求の受信に応じて、“Notification”機能を実行するための実行情報を生成する(処理C14)。実行情報に含まれるシナリオは、上述のようにDB155内のシナリオテーブル(c)から取得され、具体的には、“Get Device Status”関数、“Transit”関数、“Mail”関数及び“Save”関数である。実行情報に含まれるMFP200の情報は、IPアドレスであり、上記図2(b)のデバイスリストから取得される。実行情報に含まれるMFP200のステータスは、図2(f)に示すデバイスステータステーブルから取得される。
次に、データサービス層154の管理プログラム151を実行するCPU140は、処理C14により生成した実行情報をバックグランドサービス153に送信する(処理C15)。これに応じて、バックグランドサービス153の管理プログラム151を実行するCPU140は、受信した実行情報に基づく実行指示をビジネスロジック層156に行う(処理C16)。具体的には、処理C15で受信した実行情報に含まれるシナリオに従って、まず“Get Device Status”関数を呼び出す。“Get Device Status”関数は、上述のようにMFP200の現在のステータスを示す設定ファイルを、MFP200から受信する関数である。“Get Device Status”関数の引数としては、処理C15で受信した実行情報に含まれるMFP200のIPアドレスが渡される。
そして、ビジネスロジック層156の管理プログラム151を実行するCPU140は、下層のデータ制御層157、プロトコル層158及び通信インターフェース層159を利用して、上述のように通信IF160を介して当該IPアドレスによって示されるMFP200にステータス要求を送信する(処理C16a)。当該ステータス要求を受信したMFP200は、自身の現在のステータスを示す設定ファイルをPC100に向けて送信する。ビジネスロジック層156の管理プログラム151を実行するCPU140は、通信IF160を介して受信されたMFP200の現在のステータスを示す設定ファイルを、下層のデータ制御層157、プロトコル層158及び通信インターフェース層159を利用して取得する(処理C16b)。
ビジネスロジック層156の管理プログラム151を実行するCPU140は、取得したMFP200の現在のステータス、つまり最新のステータスを示す設定ファイルをバックグランドサービス153に送信する(処理C17)。
次に、バックグランドサービス153の管理プログラム151を実行するCPU140は、処理C16と同様にして、受信した実行情報に基づく実行指示をビジネスロジック層156に送信する(処理C18)。具体的には、処理C15で受信した実行情報に含まれるシナリオに従って、“Transit”関数を呼び出す。“Transit”関数は、上述のように2つのステータスを比較して、ステータスが変化したか否かを判断する関数である。“Transit”関数の引数としては、前回のステータスを示す設定ファイル、最新のステータスを示す設定ファイル、及び、デバイスIDが渡される。
そして、ビジネスロジック層156の管理プログラム151を実行するCPU140は、呼び出された“Transit”関数を実行し、MFP200毎に前回のステータスと最新のステータスとを比較し、変化があった場合には、デバイスIDによって示されるMFP200にステータスの変化があったことを戻り値として出力する(処理C20)。
次に、バックグランドサービス153の管理プログラム151を実行するCPU140は、処理C16と同様にして、受信した実行情報に基づく実行指示をビジネスロジック層156に送信する(処理C21)。具体的には、処理C15で受信した実行情報に含まれるシナリオに従って、“Mail”関数を呼び出す。“Mail”関数は、上記図8中の処理B19で呼び出した“Mail”関数と同じものである。但し処理B19では、“Mail”関数の呼び出しが、“Report”関数の実行結果を受信したことに応じてなされるのに対して、処理C21では、上記処理C1で作成されたタスク情報に含まれるプロファイルに含まれる送信条件を満たしたときに“Mail”関数の呼び出しを行う点が異なっている。つまり、処理C21における“Mail”関数の呼び出しは、“Transit”関数の実行による判断結果で、ステータスに変化があり、かつエラーを報告すべき条件(送信条件)が満たされたときに、行われる。この送信条件は、例えば、MFP200毎にメール送信の要否を指定できるようになっていて、「要」が指定された場合や、変化したステータスの程度を指定できるようになっていて、ステータスが指定された程度に達した場合等を挙げることができる。もちろん、これ以外の条件であってもよい。送信内容は、例えば、送信条件に合致したMFP200のモデル名、IPアドレス及び最新のステータスである。もちろん、これ以外の内容であってもよい。
そして、ビジネスロジック層156の管理プログラム151を実行するCPU140は、下層のデータ制御層157、プロトコル層158及び通信インターフェース層159に指示して、“Mail”関数を実行する(処理C20)。処理C20は、上記図8中の処理B20と同様であるので、処理C20についての説明は省略する。
次に、ビジネスロジック層156の管理プログラム151を実行するCPU140は、メールを送信したことを示す実行結果をバックグランドサービス153に送信する(処理C23)。
次に、バックグランドサービス153の管理プログラム151を実行するCPU140は、受信した実行情報に基づく実行指示をデータサービス層154に送信する(処理C24)。具体的には、処理C15で受信した実行情報に含まれるシナリオに従って、“Save”関数を呼び出す。“Save”関数は、上述のようにMFP200のステータスを、図2(f)のデバイスステータステーブルに保存する関数である。“Save”関数の引数としては、MFP200のステータスを示す設定ファイル及びデバイスIDが渡される。
そして、データサービス層154の管理プログラム151を実行するCPU140は、呼び出された“Save”関数を実行し、DB155に格納されたデバイスステータステーブル(f)のうち、該デバイスIDによって示されるステータスを該設定ファイルが示すステータスに更新して保存する(処理C25)。
次に、データサービス層154の管理プログラム151を実行するCPU140は、デバイスステータステーブル(f)の更新が完了したことを示す実行結果をバックグランドサービス153に送信する(処理C26)。
続く処理C27~C36はそれぞれ、図7中の処理A19~A28とほぼ同じであるので、各処理C27~C36についての説明は省略する。
(設定アプリの詳細)
(メイン画面の画面構成)
図10(a)は、設定アプリ161を起動したときに表示部120に表示されるメイン画面800の一例を示している。
メイン画面800には、設定アプリ161によって実現される機能を選択して切り替えるための機能選択コンボボックス801が設けられている。機能選択コンボボックス801の右端には、ドロップダウンボタン802が設けられ、ユーザがドロップダウンボタン802をクリックすると、図10(b)に示すようにドロップダウンリスト830が表示される。
ドロップダウンリスト830に提示された機能は、“Send Files”及び“Backup Setting”の2種類である。
“Send Files”は、管理アプリ151の上記“Send Files”と同様に、設定ファイル(例えばJSONやPJL等により記載されたもの)をMFP200に送信する機能である。“Backup Setting”は、管理アプリ151の上記“Backup Settings”と同様に、MFP200の設定を設定ファイルとしてMFP200から受信し、保存する機能である。
図10(a)に戻り、メイン画面800は、機能選択コンボボックス801により“Send Files”機能が選択された状態のものである。“Add Devices”アイコン803は、送信先リスト領域810にデバイス、つまりMFP200を追加するときにクリックするものである。“Refresh”アイコン804は、送信先リスト領域810に表示されたMFP200の状態を最新の状態にリフレッシュ(更新)するためのものである。“Application Settings”アイコン805は、アプリケーション設定画面を表示部120上に表示させるためのものである。
“Set Files”ボタン806は、送信先リスト領域810に表示されたMFP200のうち、選択されたものに対して設定ファイル(の場所)を設定するものである。“Set Device Password”ボタン807は、送信先リスト領域810に表示されたMFP200のうち、選択されたものに対してパスワードを設定するものである。“Delete Devices”ボタン808は、送信先リスト領域810から、選択されたMFP200を削除するものである。
送信先リスト領域810は、ファイルの送信先をリスト表示する領域である。
“Save as Deploy Profile”ボタン820は、現在の設定状態をプロファイルとして記憶させるものである。“Apply”ボタン821は、現在の設定状態の適用を指示するものである。
図11は、機能選択コンボボックス801により“Backup Settings”機能が選択されたときのメイン画面840を示している。図11のメイン画面840は、図10(a)のメイン画面800に対して、異なる構成についてのみ異なる符号を付与している。したがって、同じ符号を付与した構成についての説明は省略する。
バックアップ対象リスト領域850は、バックアップ対象とするMFP200をリスト表示する領域である。
“Set Device Password”ボタン841は、バックアップ対象リスト領域850に表示されたMFP200のうち、選択されたものに対してパスワードを設定するものである。領域843は、バックアップする場所を指定するための領域である。領域844は、バックアップ対象の項目を指定するための領域である。
“Save as Deploy Profile”ボタン845は、現在の設定状態をプロファイルとして記憶させるものである。“Backup”ボタン846は、現在の設定状態でのバックアップを指示するものである。
(実行ボタン選択時処理)
図12は、設定アプリ161のいずれかの機能を設定する画面(図10(a)のメイン画面800又は図11のメイン画面840)において、実行ボタン(“Apply”ボタン821又は“Backup”ボタン846)がクリック(選択)されたときに実行される処理の手順を示すフローチャートである。実行ボタン選択時処理は、PC100、特にCPU140により実行される。また実行ボタン選択時処理は、図10(a)のメイン画面800内の“Apply”ボタン821及び図11(a)のメイン画面840内の“Backup”ボタン846のうちのいずれかのボタンがクリックされたときに開始される。
図12において、まず、第2UI制御層162の設定プログラム161を実行するCPU140は、表示中の機能がどの機能であるかを判断する(ステップ(以下「S」と略す)1)。つまりこの判断では、CPU140は、“Apply”ボタン821及び“Backup”ボタン846のいずれがクリックされたかを判断する。
S1において、“Apply”ボタン821がクリックされたと判断されたときには、第2UI制御層162の設定プログラム161を実行するCPU140は、“Send Files”マップを作成する(S2)。“Send Files”マップは、ユーザが機能を実行する対象として選択したMFP200毎に行を設け、各行に“Send Files”コマンド、設定ファイルの格納場所及びMFP200のIPアドレスを揃えて、マップ化したものである。“Send Files”コマンドは、具体的には、上記データサービス層154の管理プログラム151が提供する“Send Files”関数の呼び出しを指示するコマンドである。そして、設定ファイルの格納場所及びMFP200のIPアドレスは、“Send Files”関数を呼び出すときに“Send Files”関数の引数として用いられる。
次に、第2UI制御層162の設定プログラム161を実行するCPU140は、作成した“Send Files”マップについて1行ずつコマンド送信処理を実行する(S6)。コマンド送信処理では、CPU140は、データサービス層154に対して“Send Files”関数の呼び出しを行う。これに応じて、ビジネスロジック層156の管理プログラム151を実行するCPU140は、呼び出された“Send Files”関数を実行し、下層のデータ制御層157、プロトコル層158及び通信インターフェース層159を利用して、“Send Files”機能を示すタスクを実行する(上記図7の処理A17参照)。
次に、第2UI制御層162の設定プログラム161を実行するCPU140は、その実行結果を受信し(S6)、進捗状況表示を更新した(S7)後、次の行に移って、S5~S7の処理を繰り返す。
なお、処理がS2からS4に進む前に、第2UI制御層162の設定プログラム161を実行するCPU140は、SNMP設定を用いて、MFP200と通信するプロトコル(TCP/IP(9100)あるいはHTTPS)を決定する。
そして、“Send Files”マップの全行についてS5~S7の処理が終了すると、CPU140は、実行結果を表示して(S8)、実行ボタン選択時処理を終了する。
一方、上記S1において、“Backup”ボタン846がクリックされたと判断されたときには、第2UI制御層162の設定プログラム161を実行するCPU140は、“Backup Settings”マップを作成する(S3)。“Backup Settings”マップは、ユーザが機能を実行する対象として選択したMFP200毎に行を設け、各行に“Backup Settings”コマンド、設定ファイルの保存場所、バックアップ項目及びMFP200のIPアドレスを揃えて、マップ化したものである。“Backup Settings”コマンドは、具体的には、上記データサービス層154の管理プログラム151が提供する“Backup Settings”関数の呼び出しを指示するコマンドである。そして、設定ファイルの保存場所、バックアップ項目及びMFP200のIPアドレスは、“Backup Settings”関数を呼び出すときに“Backup Settings”関数の引数として用いられる。
続くS4~S8の処理では、処理対象のマップが異なるだけで、処理内容は“Send Files”マップと“Backup Settings”マップとではほとんど異ならないので、S4~S8の処理についての説明は省略する。
(効果)
以上説明したように、本実施形態の情報処理プログラムは、複数の複合機200と通信可能な通信IF160と、操作部110と、表示部120と、DB155を記憶した記憶部150と、を備えたPC100のための情報処理プログラムであって、情報処理プログラムは、第1UI制御層152と、バックグランドサービス153と、PF165と、を含む複数層のプログラムを含んでいる。
第1UI制御層152のプログラムは、複数のMFP200と設定ファイルを送信、又は受信する第1機能(“Send Files”,“Backup Settings”,“Send Log”,“Notification”)に関する第1設定(デバイスID、機能名、プロファイル)を、操作部110を介して受け付けるためのタスク設定画面600,620を表示部120に表示させる第1表示処理と、第1表示処理により表示されたタスク設定画面600,620から第1設定を受け付ける第1受付処理と、第1受付処理により受け付けられた第1設定を含む第1タスクをDB155に登録する指示を行う第1指示処理A2,B2,C2と、をPC100に実行させる。
またバックグランドサービス153のプログラムは、第1指示処理による指示に応じて、第1タスクをDB155に登録する登録処理A3,B3,C3と、DB155から、登録処理A3,B3,C3により登録された第1タスクを取得する第1取得処理A11と、第1取得処理により取得された第1タスクにより示される第1機能の実行を要求する第1実行コマンド(機能名に応じた関数)の実行をPF165のプログラムに指示する第2指示処理A16,B16,B19,C16,C19,C21と、をPC100に実行させる。
さらにPF165のプログラムは、第2指示処理により指示された第1実行コマンドに従って、複数のMFP200との間で、設定ファイルを送信、又は受信する第1機能を実行する第1実行処理C16a,C16bをPC100に実行させる。
このように、本実施形態の情報処理プログラムでは、PF165のプログラムは、指示された第1実行コマンドを実行するだけでよいので、つまり指示される第1実行コマンドは決まっているので、第1実行コマンドの種類に応じた処理を実行すればよい。このため、PF165のプログラムを容易にアップデートすることができる。
ちなみに、本実施形態において、複合機200は、「通信装置」の一例である。通信IF160は、「通信部」の一例である。PC100は、「端末装置」の一例である。タスク設定画面600,620は、「第1受付画面」の一例である。
また複数層のプログラムは、第2UI制御層162を含み、第2UI制御層162のプログラムは、第1機能(“Send Files”,“Backup Settings”)に関する第2設定(MFP200のIPアドレス、機能、プロファイル)を、操作部110を介して受け付けるためのメイン画面800,840を表示部120に表示させる第2表示処理と、第2表示処理により表示されたメイン画面800,840から第2設定を受け付ける第2受付処理S2,S3と、第2受付処理により受け付けられた第2設定を含む第2実行コマンド(“Send Files”コマンド、“Backup Settings”コマンド)の実行をPF165のプログラムに指示する第2指示処理S5と、をPC100に実行させる。そしてPF165のプログラムは、第2指示処理により指示された第2実行コマンドに従って、複数のMFP200との間で、設定ファイルを送信、又は受信する第1機能を実行する第2実行処理A17をPC100に実行させる。
これにより、タスクを登録しない第2UI制御層162のプログラムでも、PF165のプログラムにより、第1機能に関する第2設定を含む第2実行コマンドを実行させることができるので、タスクを登録する第1UI制御層152のプログラムと、タスクを登録しない第2UI制御層162のプログラムとで、PF165のプログラムを共有することができる。
ちなみに、メイン画面800,840は、「第2受付画面」の一例である。
また第1設定(プロファイルに含まれる送信スケジュール)は、第1機能(“Send Log”,“Notification”)を実行する周期を含み、第1取得処理は、第1設定に含まれる周期に従って、定期的に実行される。
またMFP200は、消耗品が装着される印刷装置であり、第1機能(“Send Log”)は、複数の印刷装置から消耗品の消費量を示す設定ファイルを受信する機能である。
また第1機能(“Notification”)は、複数の通信装置から機器状態を受信する機能である。