以下、本発明の実施例について、図面と共に説明する。図1は、本発明が適用された通信システム1の構成を表すブロック図である。
本実施例の通信システム1は、複数のディジタル複合機(以下、単に「複合機」とする)10と、ディレクトリサーバ20と、機能サーバ30とを備え、これらは、広域ネットワークNT(具体的にはインターネット)を介して双方向通信可能に接続されている。具体的に、複合機10、ディレクトリサーバ20及び機能サーバ30は、夫々ルータ2,3,4を介して、広域ネットワークNTと接続されている。
複合機10は、電話(音声通信)機能、スキャナ機能、プリンタ機能、コピー機能、ファクシミリ機能等を有する多機能装置として構成されており、上記機能を用いた複数種のサービスを、機能サーバ30から利用可能に構成されている。
機能サーバ30は、複合機10からの要求に応じて、上記複数種のサービスの提供に必要な処理(後述するサービス提供処理(図10(b)))を実行し、要求元の複合機10に対してサービスを提供する。即ち、複合機10は、機能サーバ30と通信して、上記複数種のサービスを受けるための処理(後述するサービス受信処理(図10(a)))を実行し、機能サーバ30からのサービスを受ける。例えば、複合機10は、サービスの提供にかかるデータ通信で、機能サーバ30から得た印刷データを、プリンタ機能(記録部14)を利用して、印刷出力する。
また、ディレクトリサーバ20は、各複合機10が利用可能なサービス(機能サーバ30が提供可能なサービス)についての情報を、複合機10へ提供可能に構成されている。
続いて、複合機10、ディレクトリサーバ20及び機能サーバ30の詳細構成を説明する。複合機10は、制御部11、操作部12、読取部13、記録部14、通信部15、記憶部16、音入力部17、音出力部18、及び、表示部19を備える。制御部11は、図示しない周知のCPU、ROM、RAM等を備え、複合機10を構成する各部を統括制御する。尚、ROMには、後述する各種処理をCPUに実行させるためのプログラムが記憶されている。
操作部12は、利用者が操作可能な複数のキーを備え(図示せず)、これらのキーを介して、利用者の操作情報を取得し、この操作情報(各種指令等)を制御部11に入力する。また、読取部(スキャナ)13は、原稿に記録(例えば印刷)された画像を読み取り、この画像を表す画像データを生成する構成にされている。その他、記録部(プリンタ)14は、印刷データに基づく画像を、用紙等のシート状記録媒体に形成(印刷)する構成にされ、通信デバイスとしての通信部15は、広域ネットワークNTを介して、ディレクトリサーバ20や機能サーバ30等のノードとデータを送受信するための電気的な処理を行う構成にされている。
また、記憶部16は、図示しない不揮発性メモリを有し、この不揮発性メモリにデータを記憶する構成にされている。その他、音入力部17は、複合機10が備える図示しないハンドセットに設けられたマイクから集音し、その音を表す音データ(PCMデータ)を生成する構成にされ、音出力部18は、音データ(PCMデータ)に基づく音声を、ハンドセットに設けられたスピーカ、又は、複合機10本体に設けられた図示しないスピーカから出力する構成にされている。また、表示部19は、ディスプレイ19aを備え、このディスプレイ19aを介して、利用者に対する情報の表示を行う構成にされている。
次に、ディレクトリサーバ20について説明する。ディレクトリサーバ20は、制御部21、通信部22、及び、記憶部23を備える。制御部21は、図示しない周知のCPU、ROM、RAM等を備え、ディレクトリサーバ20を構成する各部を統括制御する。尚、ROMには、後述する処理をCPUに実行させるためのプログラムが記憶されている。
通信部22は、広域ネットワークNTを介してデータを送受信するための電気的な処理を行う構成にされており、記憶部23は、図示しないハードディスクを備え、このハードディスクにデータを記憶する構成にされている。具体的に、記憶部23には、サービス定義情報25を記憶するためのサービス定義情報記憶部24、後述する利用者データベース26、サービス利用情報データベース27、及び、評価テーブル28が設けられている。
サービス定義情報25は、機能サーバ30が実行可能なサービスについての情報(サービスの種類やサービス要求先のURL情報等)を、複合機10へ提供するためのものである。具体的に、複合機10の制御部11は、利用者が操作部12を操作することにより、操作部12から指令が入力されると、通信部15を通じて、ディレクトリサーバ20からサービス定義情報25を取得する。また、サービス定義情報25を取得すると、制御部11は、そのサービス定義情報25に基づいて、表示部19のディスプレイ19aにサービスの種類を示すサービス選択用画面(図2)を表示し、複合機10の利用者にサービスの選択を促す。
ディレクトリサーバ20において、機能サーバ30が実行可能なサービスは、「印刷サービス」、「コピー応用サービス」、「情報提供サービス」等、複数のカテゴリに分類管理されており、サービス選択用画面においては、まず、上記複数のカテゴリが表示される(図2(a))。また、利用者が操作部12を操作することにより、上記複数のカテゴリのいずれかが選択されると、次に、選択されたカテゴリ配下のサブカテゴリが表示される(図2(b))。更に、サブカテゴリのいずれかが選択されると、選択されたサブカテゴリに属するサービスが表示される(図2(c))。
このような処理を実現するため、サービス定義情報記憶部24には、上記サービス定義情報25として、カテゴリの選択を促すサービス選択用画面(図2(a))に対応するサービス定義情報(以下「上位のサービス定義情報」という。)25aと、サブカテゴリの選択を促すサービス選択用画面(図2(b))に対応するサービス定義情報(以下「中位のサービス定義情報」という。)25bと、サブカテゴリに含まれるサービスの選択を促すサービス選択用画面(図2(c))に対応するサービス定義情報(以下「下位のサービス定義情報」という。)25cとが記憶されている。
図3〜図5は、サービス定義情報25の構成例を表す説明図である。具体的に、図3は、上位のサービス定義情報25aの構成例を表す図であり、図4は、上記カテゴリの一つである「コピー応用サービス」についてのサービス定義情報25bの構成例を表す図である。また、図5は、「コピー応用サービス」配下のサブカテゴリの一つである「翻訳コピー」についてのサービス定義情報25cの構成例を表す図である。
図3〜図5に示すように、サービス定義情報25は、XML(eXtensible Markup Language)によって記述されている。尚、ここで用いられる各タグの定義は、表1に示すとおりである。
上位のサービス定義情報25a(図3)が複合機10で受信されると、ディスプレイ19aには、図2(a)に示すサービス選択用画面が表示される。具体的には、タイトル(Title)として「ディレクトリサービス」の文字がディスプレイ19aにおける上部のタイトル表示領域に表示され、その下のリスト表示領域には、選択可能なカテゴリを表す項目(Link_Title)として、「印刷サービス」、「コピー応用サービス」及び「情報提供サービス」の文字が表示される。
各項目には、カテゴリに対応する中位のサービス定義情報25bのIDがそれぞれ対応づけられており(Link_Location)、図2(a)に示す状態で、操作部12から項目の選択を確定する信号(操作情報)が入力されると、制御部11は、選択が確定された項目に対応するIDのサービス定義情報25bに基づき、選択されたカテゴリ配下のサブカテゴリを示したサービス選択用画面を、ディスプレイ19aに表示する。
例えば、図2(a)に示すサービス選択用画面で「コピー応用サービス」が選択されると、ディスプレイ19aには、図2(b)に示すコピー応用サービスに対応するサービス選択用画面が表示される。
具体的には、タイトル(Title)として「コピー応用サービス」の文字がディスプレイ19aにおける上部のタイトル表示領域に表示され、その下のリスト表示領域には、選択可能なサブカテゴリを表す項目(Link_Title)として、「翻訳コピー」、「すかし入りコピー」、「原稿読み上げ」、「音声テキスト変換」、及び、「画像変換」等の文字が表示される。尚、ディスプレイ19aのサイズの都合上、すべての項目を一度に表示することができない場合には、サービス選択用画面をスクロール可能に構成し、一部の項目を表示する。
各項目には、そのサブカテゴリに対応する下位のサービス定義情報25cのIDがそれぞれ対応づけられており(Link_Location)、図2(b)に示す状態で、操作部12から項目の選択を確定する信号(操作情報)が入力されると、制御部11は、選択が確定された項目に対応するIDのサービス定義情報25cに基づき、選択されたサブカテゴリに属するサービスを示したサービス選択用画面を、ディスプレイ19aに表示する。
例えば、図2(b)に示すサービス選択用画面で「翻訳コピー」が選択されると、ディスプレイ19aには、図2(c)に示すサービス選択用画面が表示される。
具体的には、タイトル(Title)として「翻訳コピー」の文字がディスプレイ19aにおける上部のタイトル表示領域に表示され、その下のリスト表示領域には、選択可能なサービスを表す項目(Link_Title)として、A社翻訳ソフトを用いた翻訳コピーサービスに対応する「翻訳コピー(A社)」、B社翻訳ソフトを用いた翻訳コピーサービスに対応する「翻訳コピー(B社)」、C社翻訳ソフトを用いた翻訳コピーサービスに対応する「翻訳コピー(C社)」、及び、D社翻訳ソフトを用いた翻訳コピーサービスに対応する「翻訳コピー(D社)」の文字が表示される。尚、ディスプレイ19aのサイズの都合上、すべての項目を一度に表示することができない場合には、サービス選択用画面をスクロール可能に構成し、一部の項目を表示する。
各項目には、サービスを呼び出すためのURL情報(サービス提供先のURL情報)がそれぞれ対応付けられており(Link_Location)、利用者が操作部12を操作することにより、項目の選択が確定されると、制御部11は、通信部15を介して、その項目に対応するURL先にアクセスし、URL先のサーバ装置(機能サーバ30)が提供するサービスを受ける。
次に、機能サーバ30について説明する。機能サーバ30は、制御部31、通信部32、及び、記憶部33を備える。制御部31は、図示しない周知のCPU、ROM、RAM等を備えており、機能サーバ30を構成する各部を統括制御する。尚、ROMには、後述する各種処理をCPUに実行させるためのプログラムが記憶されている。
通信部32は、広域ネットワークNTを介してデータを送受信するための電気的な処理を行う構成にされており、記憶部33は、図示しないハードディスクを備え、このハードディスクに、各種データを記憶する構成にされている。具体的に、記憶部33には、サービスI/F(インタフェース)情報36を記憶するためのサービスI/F情報記憶部34や、サービスソフトウェア37を記憶するためのサービスソフト記憶部35等が設けられている。
具体的に、サービスソフト記憶部35には、当該機能サーバ30が提供するサービスの種類毎に、そのサービスに関するサービス提供処理を制御部31のCPUに実現させるためのプログラムであるサービスソフトウェア37が記憶されており、制御部31は、各サービスソフトウェア37をCPUにて実行することにより、そのサービスソフトウェア37に対応したサービスを、利用者端末装置としての複合機10に提供する。
また、サービスI/F情報36は、サービスを実行する際に必要なパラメータ情報を複合機10へ要求するためのものである。サービスI/F情報記憶部34には、機能サーバ30が実行可能な複数種のサービスのそれぞれに対応する複数種類のサービスI/F情報36が記憶されている。
複合機10は、このサービスI/F情報36を受信すると、受信したサービスI/F情報36に基づいて、設定すべきパラメータを示すパラメータ入力用画面(図6)をディスプレイ19aに表示し、複合機10の利用者にパラメータの設定を促す。
ここで、サービスI/F情報36の具体例について説明する。図7は、サービスI/F情報36の構成例を表す説明図であり、具体的には、複合機10の読取部13を用いて翻訳対象の原稿についての画像データを、OCR(Optical Character Reader)処理すると共に、この結果を翻訳処理し、その翻訳結果を示す印刷データを生成して複合機10の記録部14に印刷させるというサービス(翻訳コピーサービス)に対応するサービスI/F情報36の構成例を表す図である。
図7に示すように、サービスI/F情報36は、上述したサービス定義情報25と同じマークアップ言語により記述されており、図7で用いられている各タグの定義は表2に示すとおりである。尚、表2における基本データは、上述したサービス定義情報25の基本データ(表1)と同じである。
図7に示すサービスI/F情報36が複合機10側で受信されると、複合機10が備えるディスプレイ19aには、図6(a)に示すパラメータ入力用画面が表示される。具体的には、表示用タイトル(Title)として「翻訳コピー(A社)」の文字がディスプレイ19aにおける上部のタイトル表示領域に表示され、その下の入力項目表示領域には、入力項目名(Disp_Name)として、「言語選択」の文字が表示され、更にその下の入力画面表示領域には、入力項目「言語選択」について選択可能なパラメータの値を表す選択項目(Disp_Select)として、英語から日本語への翻訳を指定するための「英語→日本語」との文字、日本語から英語への翻訳を指定するための「日本語→英語」との文字、が表示される。
尚、「翻訳コピー(A社)」に関する入力項目(Disp_Name)としては、「言語選択」に加え、「印刷設定」や「コメント」等が存在するが(図7参照)、ディスプレイ19aの大きさの都合上、すべての入力項目を一度にディスプレイ19aに表示することができない。
このため、複合機10では、ディスプレイ19aにおける入力項目表示領域の左右両側に左右の矢印(三角印)を表示して、パラメータ入力用画面を左右にスクロール可能に構成する。この状態で、操作部12を通じて、スクロールの指令が入力されると、ディスプレイ19aには、その指令に従って、他の入力項目に対応したパラメータ入力用画面が表示される。
具体的に、操作部12を通じて右方向へのスクロールを指示する指令が入力されると、ディスプレイ19aには、図6(b)に示すように、入力項目「印刷設定」についてのパラメータ入力用画面が表示される。
尚、入力項目「印刷設定」のパラメータ入力用画面では、入力項目表示領域に、入力項目名(Disp_Name)として、「印刷設定」との文字が表示され、更にその下の入力画面表示領域には、入力項目「印刷設定」について選択可能なパラメータの値を表す選択項目(Disp_Select)として、標準解像度での印刷を指定するための「普通」との文字、高解像度での印刷を指定するための「高精細」との文字、が表示される。
その他、入力項目「コメント」のパラメータ入力用画面(図示せず)では、入力項目表示領域に、入力項目名(Disp_Name)として、「コメント」との文字が表示され、更にその下の入力画面表示領域には、コメントを入力するための入力欄が表示され、入力欄には、利用者が操作部12を通じて入力した文字(コメント)が表示される。
また、各パラメータ入力用画面において入力されたパラメータの値(入力欄に入力された文字列も含む)は、利用者の操作により操作部12を通じて、確定信号が入力されると、これらのパラメータの値を受けて動作するURL(Action)先のプログラム(機能サーバ30が有するサービスソフトウェア37)へ送信される。
尚、本実施例では、複合機10、ディレクトリサーバ20及び機能サーバ30が互いにデータを送受信するための通信プロトコルとして、HTTP1.1(HTTP:HyperText Transfer Protocol)が採用されており、複合機10、ディレクトリサーバ20及び機能サーバ30は、HTTPリクエスト及びレスポンスに伴わせたメッセージにより、互いに指令及び指令に対する返答を行う。
次に、複合機10、ディレクトリサーバ20及び機能サーバ30の各制御部11,21,31が行う処理について説明する。最初に、複合機10の制御部11が行う複合機処理について、図8のフローチャートを用いて説明する。尚、この複合機処理は、複合機10の電源が投入されると、ただちに開始される。
複合機処理を開始すると、制御部11は、まずS101で、複合機10の初期化処理を行う。続いて、S102では、複合機10への指令入力を受け付ける。ここで、複合機10への指令入力とは、複合機10に何らかの処理を実行させるための入力であり、例えば、操作部12からのキー入力や、図示しないパーソナルコンピュータからの指令入力等が挙げられる。
続いて、S103では、S102で受けた指令入力が、サービスモードへの移行を指示する指令入力であるか否かを判断する。S103で、サービスモードへの移行を指示する指令入力ではないと判断すると(S103でNo)、制御部11は、S104へ移行し、S102で受けた入力に応じたその他の処理(例えば、パーソナルコンピュータから入力された印刷データの出力処理)を行い、S102へ移行する。
一方、S103で、指令入力がサービスモードへの移行を指示する入力であると判断すると、制御部11は、S105へ移行し、機能サーバ30に要求するサービスを決定する方法として、リストから選択する方法及びサービス要求先のURL情報を直接入力する方法のうち、いずれの方法を採用するかを利用者に問い合わせるための選択画面をディスプレイ19aに表示する。そして、利用者の指令が操作部12を通じて入力されるのを待つ。そして、指令が入力されると、その内容に従って、機能サーバ30に要求するサービスをリストから選択するか否かを判断する。
S105で、機能サーバ30に要求するサービスをリストから選択すると判断した場合、制御部11は、S106へ移行し、サービス一覧要求信号を送信して、ディレクトリサーバ20にサービスの一覧を要求する。具体的には、ディレクトリサーバ20に対し上位のサービス定義情報25(図3)の送信を要求する。尚、本実施例において、複合機10には、上位のサービス定義情報25を要求するためのURL情報が記憶部16にあらかじめ記憶されていることとする。また、このサービス一覧要求信号の送信時には、その信号に、当該複合機10に割り当てられた装置ID及びIP(インターネットプロトコル)アドレスを格納して、当該複合機10の装置IDとIPアドレスを、ディレクトリサーバ20に通知する。
S106の処理後、制御部11は、S106での要求に対してディレクトリサーバ20から送信された上位のサービス定義情報25aを、通信部15を介して受信する(S107)。更に、S108では、S107で受信したサービス定義情報25に基づくサービス選択用画面(又は、後述するS117で受信したサービス定義情報25に基づくサービス選択用画面)を表示部19のディスプレイ19aに表示し(図2参照)、S110へ移行する。尚、サービス選択用画面を表示する際には、サービス定義情報25におけるLinkタグの記載順に、選択項目を表す文字列(Link_Title)を配列して表示する(後述する変形例を除く)。
一方、S105で、機能サーバ30に要求するサービスをリストから選択しないと判断した場合には、S109に移行し、URL情報を直接入力するためのアドレス入力画面(図示せず)を、表示部19のディスプレイ19aに表示し、S110へ移行する。
S110では、サービス選択用画面又はアドレス入力画面に基づいた利用者による入力操作が操作部12を介して行われるまで待機し、操作部12から、入力操作に基づく操作情報が入力されると、S111に移行して、利用者による入力操作が、リンク選択のための操作であるか否かを判断する。具体的には、S108で表示した情報に基づき選択操作が正常に行われた場合、又は、S109で表示したアドレス入力画面にURL情報の入力が正常に行われた場合に、入力操作がリンク選択のための操作であると判断する。
入力操作がリンク選択のための操作でないと判断すると(S111でNo)、制御部11は、S112へ移行し、S110で受けた入力操作が、ブックマーク登録を指示する操作であるか否か判断する。そして、操作部12から、ブックマーク登録を指示する操作情報(指令)が入力されていると、S110で受けた入力操作が、ブックマーク登録を指示する操作であると判断して、S113に移行する。
S113に移行すると、制御部11は、ブックマーク登録を指示する操作情報(指令)が入力される際に、選択されていた項目のサービスについてのブックマーク登録処理(図13参照。詳細後述)を実行し、その後、S110に移行する。尚、ブックマーク登録を指示する操作情報(指令)が入力される際に、選択されていた項目が、カテゴリ又はサブカテゴリを表す項目である場合には、S113においてブックマーク登録処理を実行せず、拒否音(ビープ音等)を鳴動して、S110に移行する。
また、S112で、S110で受けた入力操作がブックマーク登録を指示する操作ではないと判断すると、制御部11は、S114に移行し、S110で受けた入力操作が、サービスモードを終了するための停止操作であるか否かを判断する。そして、サービスモードを終了するための停止操作であると判断すると、S102へ移行する。即ち、サービスモードとしての処理を終了する。一方、S114で、サービスモードを終了するための停止操作でないと判断すると、制御部11は、S115へ移行し、拒否音を鳴動した後、S110へ移行する。即ち、S115では、拒否音によって操作無効を利用者に通知する。
これに対し、S111で、入力操作がリンク選択のための操作であると判断すると、制御部11は、S116へ移行し、選択されたリンクが、サービスのURL情報で表されているか否かを判断する。
ここで、サービスのURL情報で表されていない(サービス定義情報25b,25cのIDである又はディレクトリサーバ20のURL情報で表されている)と判断すると、制御部11は、S117へ移行し、Link_Locationタグが示すサービス定義情報25b,25cのID(URL情報が直接入力された場合には、そのURL情報)に基づき、ディレクトリサーバ20に対し、該当するサービス定義情報25の送信を要求し、要求したサービス定義情報25をディレクトリサーバ20から受信する。その後、S108に移行し、新たなサービス選択用画面を表示部19のディスプレイ19aに表示する。
一方、S116で、リンクがサービスのURL情報で表されていると判断すると、制御部11は、S118へ移行し、利用履歴記録処理(図11参照。詳細後述)を実行して、入力操作に基づくサービスの利用履歴を、利用履歴ファイル(図12参照。詳細後述)に記録し、その後、S120に移行する。S120では、上記選択されたリンクのURL情報(サービス定義情報25のLink_Locationタグに記載のURL情報、又は、直接入力されたURL情報)を引数に設定し、サービスを受けるためのサービス受信処理(図10(a))を実行する。その後、S102に移行する。
続いて、上述したサービス受信処理、利用履歴記録処理、ブックマーク登録処理を説明する前に、S106にて送信されるサービス一覧の要求(サービス一覧要求信号)、及び、S117で送信されるサービス定義情報25の送信要求を受けるディレクトリサーバ20の動作について説明する。図9は、ディレクトリサーバ20の制御部21が繰返し実行するディレクトリサーバ処理を表すフローチャートである。
ディレクトリサーバ20の制御部21は、ディレクトリサーバ処理を実行すると、S201にて、HTTPリクエストを受信するまで待機し、HTTPリクエストを受信すると、S202に移行する。S202では、S201で受信したHTTPリクエストがサービス一覧要求信号であるか否かを判断し、サービス一覧要求信号であると判断すると、S203に移行して、そのサービス一覧要求信号に含まれる装置ID及びIPアドレスを関連付け、記憶部23が有する利用者データベース26に登録すると共に、S204にて、記憶部23のサービス定義情報記憶部24から上位のサービス定義情報25aを読み出す。
その後、S208へ移行し、読み出したサービス定義情報25aを含むHTTPレスポンスを、HTTPリクエストの送信元(複合機10)へ送信する。S208での処理を終えると、制御部21は、当該ディレクトリサーバ処理を終了する。
一方、S202で、サービス一覧要求信号ではないと判断すると、制御部21は、S205へ移行し、S201で受信したHTTPリクエストが、S117で出力されるサービス定義情報の送信要求であるか否かを判断する。そして、サービス定義情報の送信要求であると判断すると、S206へ移行し、記憶部23のサービス定義情報記憶部24から、上記送信要求で指定されたサービス定義情報25を読み出す。その後、S208へ移行し、読み出したサービス定義情報25を含むHTTPレスポンスを、HTTPリクエストの送信元(複合機10)へ送信した後、当該ディレクトリサーバ処理を終了する。
一方、S205で、HTTPリクエストがサービス定義情報の送信要求でもないと判断すると、制御部21は、S207へ移行し、S201で受信したHTTPリクエストに対応する所定の処理を実行し、その処理結果を示す情報を含むHTTPレスポンスを送信する(S208)。その後、当該ディレクトリサーバ処理を終了する。
次に、複合機処理(図8)のS120で実行されるサービス受信処理について、図10のフローチャートを用いて説明する。尚、図10(a)は、複合機10の制御部11が実行するサービス受信処理を表すフローチャートである。また、図10(b)は、制御部11が実行するサービス受信処理にて、引数に設定されたURL情報に基づき機能サーバ30に送信された「サービス起動指令」を受信すると、機能サーバ30の制御部31が実行する上記URLに対応したサービスソフトウェア37、により実現されるサービス提供処理を表すフローチャートである。具体的に、図10(b)には、翻訳コピーサービスについてのサービス提供処理を示す。
サービス受信処理を開始すると、制御部11は、S301で、上記引数に設定されたURL情報に従うURL先へ、通信部15を介して「サービス起動指令」(HTTPリクエスト)を送信し、利用者によって選択されたサービスについてのサービス提供処理を、URL先の機能サーバ30に実行させる。
その後、S302にて、URL先の機能サーバ30からパラメータ情報を要求する旨の「パラメータ要求指令」を受信すると、その「パラメータ要求指令」に含まれるサービスI/F情報36に基づいて、上述したパラメータ入力用画面をディスプレイ19aに表示する(S303)。具体的に、「サービス起動指令」が、「翻訳コピー(A社)」についてのサービス提供処理が実行されるURL宛で送信された場合には、機能サーバ30からサービスI/F情報36として、図7に示すサービスI/F情報36が送信される。そして、これを受信する複合機10では、図6に示すパラメータ入力用画面がディスプレイ19aに表示される。
その後、制御部11は、パラメータ入力用画面を通じ操作部12から入力されたパラメータ情報を、機能サーバ30に向けて送信する(S304)。また、パラメータ情報の送信後、機能サーバ30から「入力ジョブ起動指令」を受信すると(S305)、「入力ジョブ起動指令」にて指定された入力装置(読取部13又は音入力部17)を駆動し、その入力装置にて生成されたデータ(画像データ又は音データ)を、入力データとして、機能サーバ30に送信する(S306)。
また、S306の処理後、機能サーバ30から、出力データ(印刷データ又は音データ)が送信されてくると、それを、通信部15を介して受信し(S307)、その受信データ(印刷データ又は音データ)を、出力装置(印刷データである場合には記録部14、音データである場合には音出力部18)を用いて、印刷出力又は音声出力する(S308)。その後、当該サービス受信処理を終了する。
但し、入力データを機能サーバ30に提供する必要のないサービスに関するサービス受信処理については、S304の処理後、S305〜S306をスキップして、S307の処理を実行し、受信データに基づいて印刷出力又は音声出力を実行する。その後、当該サービス受信処理を終了する。
一方、機能サーバ30の制御部31は、S301で複合機10から送信される「サービス起動指令」を受けて、宛先のURLに対応するサービスについてのサービス提供処理を実行すると、まずS401にて、「サービス起動指令」送信元の複合機10に、該当サービスについてのサービスI/F情報を付した「パラメータ要求指令」を送信する。その後、S402にて複合機10からパラメータ情報を受信し、S403以降で、サービス提供に係る具体的な処理を、受信したパラメータ情報に基づいて行う。
具体的に、翻訳コピーサービスについてのサービス提供処理の場合には、S403にて、翻訳対象の画像データを取得するために、入力装置として読取部13を指定した「入力ジョブ起動指令」を、「サービス起動指令」送信元の複合機10に送信し、その後、S404にて、翻訳対象の画像データ(入力データ)を、複合機10から受信する。
また、翻訳対象の画像データを受信すると、制御部31は、その画像データを、テキストデータに変換し、そのテキストデータが示す文章を、所定の翻訳ソフト(例えば、A社の翻訳ソフト)を用いて翻訳し、その翻訳後のテキストデータを、パラメータ情報に従って印刷データに変換する(S405)。その後、S406に移行して、生成した印刷データを、出力データとして複合機10に向け送信し、当該サービス提供処理を終了する。
次に、複合機10の制御部11がS118にて実行する利用履歴記録処理と、その処理にて更新される利用履歴ファイルの構成について説明する。図11は、制御部11が実行する利用履歴記録処理を表すフローチャートであり、図12は、記憶部16が記憶する利用履歴ファイルの構成を表す説明図である。図12に示すように利用履歴ファイルは、マークアップ言語で記述されており、各タグの定義は表3に示すとおりである。
利用履歴ファイルは、一つ又は複数のHistoryタグにて構成され、各Historyタグの間(即ち、文字列<History>と、文字列</History>との間)には、History_Titleタグと、History_URLタグと、History_Countタグと、が設けられている。
History_Countタグは、同一Historyタグ内のHistory_URLタグが示すサービス提供先のURL情報にて特定されるサービスの利用回数nを示すものである。この利用回数nを表す値は、S120にて、そのサービスについてのサービス受信処理が実行される度に、カウントアップされる。また、History_Titleタグは、同一Historyタグ内のHistory_URLタグが示すURL情報に対応するサービスの名称を示すものである。
図11に示す利用履歴記録処理を実行すると、制御部11は、まずS501にて、記憶部16が記憶する利用履歴ファイルを読み出し、これをRAMに一時記憶する。S501での処理を終えると、制御部11は、S502に移行し、S110にて選択されたリンク(サービス)のURL情報(又はS653で指定された選択項目に対応するURL情報)と、同一のURL情報が記述されたHistory_URLタグを有するHistoryタグが、読み出した利用履歴ファイル内に存在するか否か判断する。
そして、上記同一のURL情報が記述されたHistory_URLタグを有するHistoryタグが存在すると判断すると、制御部11は、S503に移行し、RAMに一時記憶した利用履歴ファイルにおける上記同一のURL情報が記述されたHistoryタグが備えるHistory_Countタグの利用回数を、カウントアップ(1加算)して更新する。
その後、制御部11は、RAMに一時記憶された上記更新後の利用履歴ファイルを、記憶部16に記憶されている利用履歴ファイルに上書きし、記憶部16に記憶された利用履歴ファイルを更新する(S510)。その後、当該利用履歴記録処理を終了する。
一方、S502にて、上記同一のURL情報が記述されたHistory_URLタグを有するHistoryタグが存在しないと判断すると、制御部11は、S504に移行し、RAMに一時記憶した利用履歴ファイルに新しいHistoryタグを生成し、S505にて、その新たに生成したHistoryタグの間に、上記選択されたリンクに対応するサービス定義情報のLink_Titleタグ(又はS653で指定された選択項目に対応するBookmark_Titleタグ)が示すサービスの名称を記述したHistory_Titleタグを生成する。尚、リンク選択が、アドレス入力画面を通じたURL情報の入力により行われている場合には、サービス名称が判明しないので、空のHistory_Titleタグ(即ち、文字列<History_Title></History_Title>)を生成する。
S505の処理を終えると、制御部11は、上記新しいHistoryタグ内に、上記選択されたリンクに対応するURL情報(サービス定義情報のLink_Locationタグが示すURL情報、若しくは、アドレス入力画面を通じて入力されたURL情報。又は、S653で指定された選択項目に対応するBookmark_URLタグが示すURL情報)を記述したHistory_URLタグを生成する(S506)と共に、上記新しいHistoryタグ内に、利用回数を表す値として値「1」を記述したHistory_Countタグ(即ち、文字列<History_Count>1</History_Count>)を生成する(S507)。
そして、S507の処理を終えると、S510に移行し、上述のS504〜S507の処理にて更新したRAM内の利用履歴ファイルを、記憶部16に上書きし、記憶部16に記憶された利用履歴ファイルを更新する(S510)。その後、当該利用履歴記録処理を終了する。
続いて、複合機10の制御部11がS113にて実行するブックマーク登録処理と、その処理にて更新されるブックマークファイルの構成について説明する。尚、図13は、制御部11が実行するブックマーク登録処理を表すフローチャートであり、図14(a)は、記憶部16が記憶するブックマークファイルの構成を表す説明図である。図14(a)に示すようにブックマークファイルは、マークアップ言語で記述されており、各タグの定義は、上述した表3に示すとおりである。
図14(a)に示すように、ブックマークファイルは、一つ又は複数のBookmarkタグからなり、各Bookmarkタグの間(即ち、文字列<Bookmark>と、文字列</Bookmark>との間)には、Bookmark_Titleタグと、Bookmark_URLタグと、が設けられている。
Bookmark_URLタグには、サービス提供先のURL情報が記述されており、Bookmark_Titleタグは、同一Bookmarkタグ内のBookmark_URLタグが示すURL情報にて特定されるサービスの名称を示すものである。
図13に示すブックマーク登録処理を実行すると、制御部11は、まずS601にて、記憶部16が記憶するブックマークファイルを読み出し、これをRAMに一時記憶する。S601での処理を終えると、制御部11は、S602に移行し、ブックマーク登録を指示する操作情報(指令)が入力される際に、選択されていた項目に対応するサービス定義情報のLink_Titleタグが示すサービスの名称と、同一のサービス名称を示すBookmark_Titleタグを有するBookmarkタグが、読み出したブックマークファイル内に存在するか否か判断する。
そして、同一のサービス名称を示すBookmark_Titleタグを有するBookmarkタグが存在すると判断すると、制御部11は、S603に移行し、RAMに一時記憶したブックマークファイルにおける上記BookmarkタグのBookmark_URLタグが示すURL情報を、上記ブックマーク登録を指示する操作情報(指令)が入力される際に、選択されていた項目に対応するサービス定義情報のLink_Locationタグが示すURL情報に書き換える。
その後、制御部11は、RAMに一時記憶された上記更新後のブックマークファイルを、記憶部16に記憶されているブックマークファイルに上書きし、記憶部16に記憶されたブックマークファイルを更新する(S610)。S610の処理を終えると、制御部11は、ディスプレイ19aにブックマーク登録が完了した旨のメッセージを一時的に表示し、その表示後、元のサービス選択用画面の表示に、ディスプレイ19aの表示を戻して(S611)、当該ブックマーク登録処理を終了する。
一方、S602で、ブックマーク登録を指示する操作情報(指令)が入力される際に、選択されていた項目に対応するサービス定義情報のLink_Titleタグが示すサービス名称と、同一のサービス名称を示すBookmark_Titleタグを有するBookmarkタグが、読み出したブックマークファイル内に存在しないと判断すると、制御部11は、S604に移行し、RAMに一時記憶したブックマークファイルに新しいBookmarkタグを生成する。
その後、S605に移行して、S604で新たに生成したBookmarkタグの間に、上記ブックマーク登録を指示する操作情報(指令)が入力される際に、選択されていた項目に対応するサービス定義情報のLink_Titleタグが示すサービス名称を記述したBookmark_Titleタグを生成する。
また、S605の処理を終えると、制御部11は、上記新しいBookmarkタグ内に、上記項目に対応するサービス定義情報のLink_Locationタグが示すURL情報を記述したBookmark_URLタグを生成する(S606)。
そして、S606の処理を終えると、S610に移行し、上述のS604〜S606の処理にて更新したRAM内のブックマークファイルを、記憶部16に上書きし、記憶部16に記憶されたブックマークファイルを更新する。その後、ディスプレイ19aにブックマーク登録が完了した旨のメッセージを一時的に表示し、その表示後、元のサービス選択用画面の表示に、ディスプレイ19aの表示を戻して(S611)、当該ブックマーク登録処理を終了する。
尚、図14(a)に示すブックマークファイルは、利用者の操作により操作部12からブックマーク表示指令が入力されると、S104における他の処理の一つとして実行されるブックマーク表示接続処理にて、読み出される。図14(b)は、制御部11が実行するブックマーク表示接続処理を表すフローチャートである。
ブックマーク表示接続処理を実行すると、制御部11は、記憶部16が記憶するブックマークファイルを読出し(S651)、そのブックマークファイルに記載されたBookmarkタグの情報に基づいて、各Bookmark_Titleタグが示すサービスの名称を表す文字列を選択項目としたブックマーク選択画面を、表示部19のディスプレイ19aに表示する(S652)。
そして、利用者の操作により操作部12から接続指令又は終了指令が入力されるまで待機し、終了指令が入力されると(S654でYes)、当該ブックマーク表示接続処理を終了する。一方、操作部12から接続指令が入力されると(S653でYes)、接続指令と共に指定された選択項目に対応するBookmark_Titleタグ及びBookmark_URLタグが示す情報を用いて、図11に示す利用履歴記録処理を実行する(S655)。また、S656にて、上記接続指令と共に指定された選択項目に対応するBookmark_URLタグが示すURL情報を、ブックマークファイルから読み出し、これを引数に設定して、サービス受信処理(図10(a))を実行する。その後、当該ブックマーク表示接続処理を終了する。
次に、記憶部16が記憶する利用履歴ファイル及びブックマークファイルに記述された情報を、ディレクトリサーバ20に提供するために、複合機10の制御部11が実行するサービス利用情報送信処理と、このサービス利用情報送信処理内で実行されるサービス利用情報生成処理と、について説明する。尚、図15(a)は、制御部11が実行するサービス利用情報送信処理を表すフローチャートである。このサービス利用情報送信処理は、複合機10の動作中、継続的に繰り返し実行される。
また、図15(b)は、制御部11が実行するサービス利用情報生成処理を表すフローチャートである。その他、図16は、このサービス利用情報生成処理にて生成されるサービス利用情報の構成を表す説明図である。このサービス利用情報は、マークアップ言語で記述されており、各タグは、上述した表3に示す通りである。
図15(a)に示すサービス利用情報送信処理を実行すると、制御部11は、まず、ディレクトリサーバから、通信部15を介してサービス利用情報の要求信号を受信するか、記憶部16に記憶されている利用履歴ファイル及びブックマークファイルのいずれか一方が更新されるまで待機し、ディレクトリサーバから通信部15を介してサービス利用情報要求信号を受信すると、S701でYesと判断してS710に移行し、サービス利用情報生成処理を実行する。
また、サービス利用情報要求信号を受信しなくても、記憶部16に記憶されている利用履歴ファイル及びブックマークファイルのいずれか一方が更新されると、S702でYesと判断してS710に移行し、サービス利用情報生成処理を実行する。
サービス利用情報生成処理を実行すると、制御部11は、S711にて、RAM内に、サービス利用情報生成領域を確保し、このサービス利用情報生成領域に、自装置の装置IDを記述したIDタグを書き込む(S712)。この処理を終えると、制御部11は、S713に移行し、記憶部16が記憶するブックマークファイルを読み出す。そして、このブックマークファイルに記載されたBookmarkタグの数を検出する(S714)。
S714での処理を終えると、制御部11は、S714で検出したBookmarkタグの数を記述したNum_Bookmarkタグを生成し、これを上記サービス利用情報生成領域に書き込む(S715)。その後、S716に移行して、上記ブックマークファイルの内容を、上記サービス利用情報生成領域における上記Num_Bookmarkタグに続く領域に、書き込む。
S716での処理を終えると、制御部11は、S717に移行し、記憶部16が記憶する利用履歴ファイルを読み出す。そして、読み出した利用履歴ファイルに記載されたHistoryタグの数を検出する(S718)。また、S718での処理を終えると、制御部11は、上記検出したHistoryタグの数を記述したNum_Historyタグを生成し、これを上記サービス利用情報生成領域に書き込む(S719)。その後、上記読み出した利用履歴ファイルの内容を、上記サービス利用情報生成領域における上記Num_Historyタグに続く領域に、書き込む(S720)。この処理を終えると、制御部11は、当該サービス利用情報生成処理を終了して、S730(図15(a))に移行する。
S730に移行すると、制御部11は、上記サービス利用情報生成領域に完成したサービス利用情報を読み出し、このサービス利用情報を格納した送信信号を生成して、これをディレクトリサーバ20に送信する。その後、制御部11は、当該サービス利用情報送信処理を終了する。
次に、ディレクトリサーバ20が、複合機10からサービス利用情報を自発的に取得するために、実行する利用情報収集処理について説明する。尚、図17は、ディレクトリサーバ20の制御部21が実行する利用情報収集処理を表すフローチャートである。制御部21は、ディレクトリサーバ20の動作中、この利用情報収集処理を継続的に、繰り返し実行する。
利用情報収集処理を実行すると、制御部21は、S801にて、予め定められた指定時刻が到来するまで待機し、指定時刻が到来すると、S802に移行して、記憶部23が有する利用者データベース26に登録された装置ID群の中から、番号の最も若い装置ID(先頭ID)を、処理対象に選択し、その処理対象の装置IDに対応する複合機10のIPアドレスの情報を、利用者データベース26から読み出す。
その後、通信部22を通じて、上記読み出したIPアドレス宛に、サービス利用情報要求信号を送信し(S803)、その後、図18に示す利用情報受信登録処理を実行する(S804)。尚、S803で送信されたサービス利用情報要求信号は、ネットワークNTを介し、上記IPアドレスに対応する複合機10(換言すると処理対象の装置IDに対応する複合機10)にて、受信される。また、この複合機10からは、上述したS730にて、当該ディレクトリサーバ20に向け、サービス利用情報が送信される。
図18は、このサービス利用情報を受信して、受信したサービス利用情報の内容を、記憶部23が記憶するサービス利用情報データベース27に登録するために、制御部21が実行する利用情報受信登録処理を表すフローチャートである。
利用情報受信登録処理を実行すると、制御部21は、通信部22を通じて、外部からサービス利用情報を受信するまで待機し(S901)、サービス利用情報を受信すると、S902に移行して、そのサービス利用情報に含まれるIDタグに基づき、サービス利用情報送信元の装置IDを判別する。
S902での処理を終えると、制御部21は、S903に移行し、判別した装置IDについての利用内容データが、記憶部23が有するサービス利用情報データベース27に登録されているか否か判断し、判別した装置IDについての利用内容データが、サービス利用情報データベース27に登録されていないと判断すると、サービス利用情報データベース27に、上記判別した装置IDについてのデータ格納領域を確保し(S904)、S901で受信したサービス利用情報に基づいて、そのデータ格納領域に、上記装置IDの利用内容データを書き込む(S905)。
図19は、記憶部23が記憶するサービス利用情報データベース27の構成を表す説明図である。図19に示すように、サービス利用情報データベース27には、各装置ID毎に、その装置IDに対応する複合機10が備えるブックマークファイルに登録されたサービスについてのデータ群(ブックマークデータ群)及び上記複合機10が有する利用履歴ファイルに登録されたサービスについてのデータ群(利用履歴データ群)からなる利用内容データと、ブックマークファイル及び利用履歴ファイルのいずれか一方に登録されているサービスについての重み付け利用回数N(図21参照。詳細後述)及びリピート数rp(図21参照。詳細後述)と、が記述された構成にされている。
尚、ここでいう、ブックマークデータとは、ブックマークファイルに登録されている各サービス(換言すると各Bookmarkタグ)についてのサービス名称及びサービス提供先のURL情報のことである。また、利用履歴データとは、利用履歴ファイルに登録されているサービス(換言すると各Historyタグ)についてのサービス名称及びサービス提供先のURL情報及び利用回数nの情報のことである。
S905では、サービス利用情報が有する各Bookmarkタグの情報に基づいて、それに対応する各ブックマークデータを、上記判別した装置IDのデータ格納領域に、書き込むと共に、上記サービス利用情報が有する各Historyタグの情報に基づいて、それに対応する各利用履歴データを、上記判別した装置IDのデータ格納領域に、書き込む。また、S905の処理を終えると、制御部21は、当該利用情報受信登録処理を終了する。
一方、S903で上記判別した装置IDについての利用内容データが、記憶部23が有するサービス利用情報データベース27に登録されていると判断すると、制御部21は、S906に移行し、その装置IDに対応する利用内容データを、サービス利用情報データベース27から一旦削除することで、上記判別した装置IDについてのデータ格納領域を空にする。その後、制御部21は、S907に移行し、S901で受信したサービス利用情報に基づき、そのデータ格納領域に、上記装置IDの利用内容データを書き込む。その後、当該利用情報受信登録処理を終了する。尚、S905,S907では、上記データ格納領域のうち、上記重み付け利用回数N及びリピート数rpの書込領域に、何も情報を書き込むことなく、処理を終える。
このようにして、S804での利用情報受信登録処理を終了すると、制御部21は、S805に移行して、利用者データベース26に登録されている全ての装置IDについて、上述のS803〜S804の処理を実行したか否か判断し、全ての装置IDについてS803〜S804の処理を実行していないと判断すると、S806に移行し、利用者データベース26に登録されている装置ID群の中から、前回処理した装置IDの次の装置IDを処理対象に選択して、その装置IDのIPアドレスの情報を、利用者データベース26から読み出す。その後、S803に移行して、S806で読み出したIPアドレス宛にサービス利用情報要求信号を送信し、後続の処理を実行する。
また、S805で、全ての装置IDについてS803〜S804の処理を実行したと判断すると、制御部21は、S807に移行して、図20に示すサービス評価処理を実行する。そして、このサービス評価処理を終えると、当該利用情報収集処理を終了する。
尚、本実施例のディレクトリサーバ20の制御部21は、上述した図18に示す利用情報受信登録処理と同様の処理を実現するプロセスを、ディレクトリサーバ20の動作中、継続的に繰り返し実行する構成にされており、このプロセスによって、各複合機10から(S702でYesと判断されたときに)自発的に送信されてくるサービス利用情報を受信し、サービス利用情報データベース27に登録する。
続いて、制御部21が実行するサービス評価処理について説明する。図20は、制御部21が実行するサービス評価処理を表すフローチャートである。また、図21は、制御部21が、実行する評価前処理を表すフローチャートである。
サービス評価処理を実行すると、制御部21は、まず、S1000にて評価前処理を実行する。評価前処理を実行すると、制御部21は、S1001にて、サービス利用情報データベース27に登録されている装置ID群のうち、もっとも若い番号の装置ID(先頭ID)を処理対象IDとして選択し、その処理対象IDの利用内容データを、サービス利用情報データベース27から読み出す。
S1001での処理を終えると、制御部21は、S1002に移行し、上記処理対象IDの利用内容データを構成する利用履歴データ群のうち、先頭に位置する利用履歴データを処理対象データとして選択し、その処理対象データに基づき、処理対象データに対応するサービスの処理対象IDに対応する複合機10での利用回数nを把握する。具体的には、処理対象データが含む利用回数nの情報を抽出する。
その後、制御部21は、S1003に移行し、処理対象IDの処理対象データに対応するサービスの重み付け利用回数Nに、上記把握した利用回数nの値を設定する。尚、設定動作は、サービス利用情報データベース27に対し、利用回数nの値を、上記処理対象IDの処理対象データに対応するサービスの重み付け利用回数Nの値として書き込むことで完了する(図19参照)。
S1003での処理を終えると、制御部21は、S1004に移行し、S1002で把握した利用回数nの値が、2以上であるか否か判断する。そして、2以上であると判断すると、上記処理対象IDの処理対象データに対応するサービスのリピート数rpの値を、「1」に設定し(S1005)、その後、S1007に移行する。一方、利用回数nの値が2以上ではない(即ち、利用回数nが1か0である)と判断すると、制御部21は、S1006に移行し、リピート数rpの値を「0」に設定した後にS1007に移行する。
S1007に移行すると制御部21は、処理対象IDの利用内容データが備える全利用履歴データについて、S1003以降の処理を実行したか否か判断し、実行していないと判断すると、S1008に移行して、処理対象IDの利用内容データを構成する利用履歴データ群の中から、次の処理対象データ(利用履歴データ)を選択し、その利用履歴データに基づき、処理対象データに対応するサービスの上記処理対象IDに対応する複合機10での利用回数nを把握する。その後、S1003に移行して、処理対象IDの処理対象データに対応するサービスの重み付け利用回数Nに、上記把握した利用回数nの値を設定し、更に後続の処理を実行する。
これに対し、S1007で、上記処理対象IDの利用内容データが備える全利用履歴データについて、S1003以降の処理を実行したと判断すると、制御部21は、S1009に移行し、将来の利用可能性を評価するか否か判断する。ここでは、将来の利用可能性を評価するか否かについての設定値が「ON」を示していると、将来の利用可能性を評価すると判断し、上記設定値が「OFF」を示していると、将来の利用可能性を評価しないと判断する。尚、設定値のON/OFF切替は、ディレクトリサーバ20の管理者の操作により実現される。
S1009で、将来の利用可能性を評価しないと判断すると、制御部21は、S1020に移行し、将来の利用可能性を評価すると判断すると、S1010に移行する。
S1010に移行すると、制御部21は、上記処理対象IDの利用内容データを構成するブックマークデータ群のうち、先頭に位置するブックマークデータを処理対象データとして選択し、その処理対象データに対応するサービスの利用履歴データが、上記処理対象IDの利用内容データに含まれているか否か判断する(S1011)。
ここで、上記処理対象データに対応するサービスの利用履歴データが、上記処理対象IDの利用内容データに含まれていると判断すると、制御部21は、S1012に移行し、処理対象IDの処理対象データに対応するサービスの重み付け利用回数Nとして、そのサービスについての利用回数nの値と所定値αとを加算した値を、設定する。即ち、関係式「重み付け利用回数N=利用回数n+所定値α」を満足する値を、重み付け利用回数Nの値として、サービス利用情報データベース27に書き込む(図19参照)。その後、S1014に移行する。尚、所定値αとしては、様々な値が考えられるが、図19には、α=1である例を示す。
一方、S1011で、上記処理対象データ(ブックマークデータ)に対応するサービスの利用履歴データが、上記処理対象IDの利用内容データに含まれていないと判断すると、制御部21は、S1013に移行し、その処理対象データに対応するサービスの重み付け利用回数Nの値として、所定値αを設定する。即ち、所定値αを、重み付け利用回数Nの値として、サービス利用情報データベース27に書き込む。その後、S1014に移行する。
S1014に移行すると、制御部21は、サービス利用情報データベース27における上記処理対象IDの処理対象データに対応するサービスのリピート数rpを、値「1」に設定する。S1014での処理を終えると、制御部21は、S1015に移行する。
S1015に移行すると、制御部21は、処理対象IDの利用内容データが備える全ブックマークデータについて、S1011以降の処理を実行したか否か判断し、実行していないと判断すると、S1016に移行して、処理対象IDの利用内容データを構成するブックマークデータ群の中から、次の処理対象データ(ブックマークデータ)を選択する。その後、制御部21は、処理対象データに対応するサービスの利用履歴データが、上記処理対象IDの利用内容データに含まれているか否か判断し(S1011)、更に後続の処理を実行する。
これに対し、S1015で、上記処理対象IDの利用内容データが備える全ブックマークデータについて、S1011以降の処理を実行したと判断すると、制御部21は、S1020に移行し、サービス利用情報データベース27に登録されている全装置IDについて、S1002以降の処理を実行したか否か判断し、全装置IDについてS1002以降の処理を実行していないと判断すると、S1021に移行して、サービス利用情報データベース27に登録されている装置ID群の中から、次の処理対象IDを選択して、その利用内容データを読み出す。その後、S1002に移行して、S1021で選択した処理対象IDの利用内容データを構成する利用履歴データ群のうち、先頭に位置する利用履歴データを処理対象データとして選択し、後続の処理を実行する。
そして、S1020で、サービス利用情報データベース27に登録されている全装置IDについてS1002以降の処理を実行したと判断すると、当該評価前処理を終了する。
このようにしてS1000での評価前処理を終了すると、制御部21は、S1100に移行し、図22に示す構成の評価テーブル28を記憶部23から読み出して、その評価テーブル28に登録されているサービスのリスト(サービスリスト)から、リスト先頭に位置するサービスを、処理対象サービスに選択する。また、その処理対象サービスのパラメータとしてのブックマーク総数S_Bk、利用総数S_N、リピート数総和S_rpの値を、ゼロに初期化する。尚、図22は、評価テーブル28の構成を表す説明図である。
S1100での処理を終えると、制御部21は、サービス利用情報データベース27に登録されている装置ID群のうち、先頭の装置IDを、処理対象IDに選択し(S1101)、その後、処理対象サービスについてのブックマーク登録が、処理対象IDに対応する複合機10にてされているか否か判断する(S1103)。具体的に、S1103では、処理対象サービスについてのブックマークデータが、処理対象IDの利用内容データに存在するか否か判断し、存在する場合には、処理対象サービスについてのブックマーク登録が、処理対象IDに対応する複合機10にてされていると判断する。
そして、処理対象サービスについてのブックマーク登録が、処理対象IDに対応する複合機10にてされていると判断すると、処理対象サービスについてのブックマーク総数S_Bkの値を、1加算する(S1104)。その後、S1105に移行する。一方、S1103で、処理対象サービスについてのブックマーク登録が、処理対象IDに対応する複合機10にてされていないと判断すると、S1104の処理をスキップし、S1105に移行する。
S1105に移行すると、制御部21は、サービス利用情報データベース27における処理対象IDのデータ格納領域に、処理対象サービスについての重み付け利用回数Nの値が書き込まれているか否か判断し、書き込まれていると判断すると、利用総数S_Nの値に、その処理対象IDのデータ格納領域に書き込まれている重み付け利用回数Nの値を加算して、利用総数S_Nの値を更新する(S1106)。
また、S1106の処理を終えると、制御部21は、上記重み付け利用回数Nと共に、処理対象IDのデータ格納領域に書き込まれている処理対象サービスについてのリピート数rpの値を、リピート数総和S_rpに加算して、リピート数総和S_rpの値を更新する(S1107)。その後、制御部21は、S1108に移行する。
一方、S1105で、サービス利用情報データベース27における処理対象IDのデータ格納領域に、処理対象サービスについての重み付け利用回数Nの値が書き込まれていないと判断すると、制御部21は、S1106〜S1107の処理を行うことなく、S1108に移行する。
S1108に移行すると、制御部21は、サービス利用情報データベース27に登録されている全ての装置IDについて、上述したS1103以降の処理を実行したか否か判断し、実行していないと判断すると、S1109に移行し、サービス利用情報データベース27に登録されている装置ID群の中から、次の処理対象IDを選択する。その後、S1103に移行して、処理対象IDに対応する複合機10で処理対象サービスについてのブックマーク登録がされているか否か判断する。
これに対し、S1108で、サービス利用情報データベース27に登録されている全装置IDについて、上述したS1103以降の処理を実行したと判断すると、制御部21は、S1110に移行し、ブックマーク総数S_Bk、利用総数S_N、及び、リピート数総和S_rpを変数にもつ所定の演算式E=f(S_Bk,S_N,S_rp)に従って、処理対象サービスについての評価値Eを算出する。
尚、演算式f(S_Bk,S_N,S_rp)としては、例えば、次の演算式を用いることができる(但し、定数βは、ゼロを含む任意の実数)。
f(S_Bk,S_N,S_rp)=S_N・(1+S_rp/10)+β・S_Bk
S1110での処理を終えると、制御部21は、算出した評価値Eと、評価値Eの算出の際に用いたブックマーク総数S_Bk、利用総数S_N、及び、リピート数総和S_rpの値とを、評価テーブル28における処理対象サービスについてのデータ格納領域に書き込む(S1120)。
その後、制御部21は、S1121に移行し、評価テーブル28のサービスリストに登録されている全てのサービスについて、上述したS1101以降の処理を実行したか否か判断し、実行していないと判断すると、S1122に移行して、サービスリストから、処理対象サービスとして、次のサービスを選択する。また、その処理対象サービスのパラメータとしてのブックマーク総数S_Bk、利用総数S_N、リピート数総和S_rpの値を、ゼロに初期化する。
その後、S1101に移行して、サービス利用情報データベース27に登録されている装置IDのうち、先頭の装置IDを、処理対象IDに選択し、後続の処理を実行する。
これに対し、S1121で、評価テーブル28のサービスリストに登録されている全サービスについて、上述したS1101以降の処理を実行したと判断すると、制御部21は、S1130に移行し、図23に示すサービス定義情報更新処理を実行する。その後、当該サービス評価処理を終了する。
図23は、制御部21が実行するサービス定義情報更新処理を表すフローチャートである。また、図24(a)は、サービス定義情報更新処理による更新後のサービス定義情報の構成例を表す説明図である。
サービス定義情報更新処理を実行すると、制御部21は、サービス定義情報記憶部24が有するサービス定義情報群の中から、下位のサービス定義情報25cの一つを、処理対象に選択し(S1201)、そのサービス定義情報25cを、記憶部23から読み出して、RAMに一時記憶する(S1202)。その後、制御部21は、S1203に移行し、処理対象のサービス定義情報25cに記載の各Linkタグに対応するサービスの評価値Eを、評価テーブル28から読み出す。
そして、読み出した上記各Linkタグに対応するサービスの評価値Eに基づき、上記読み出したサービス定義情報25cの各Linkタグを、評価値Eの高い順に並び替えて、サービス定義情報25cにおける各Linkタグの記載順序を変更する(S1204)。その後、変更後のサービス定義情報25cを、サービス定義情報記憶部24に書き込んで、処理対象のサービス定義情報25cを更新する(S1205)。
S1205の処理を終えると、制御部21は、S1206に移行して、サービス定義情報記憶部24が記憶する下位のサービス定義情報25cの全てについて、S1201以降の処理を実行したか否か判断し、実行していないと判断すると、S1201に移行し、未処理のサービス定義情報25cを、処理対象に選択し、その処理対象のサービス定義情報25cを、サービス定義情報記憶部24から読み出して(S1202)、後続の処理を実行する。
これに対し、S1206でサービス定義情報記憶部24が記憶する下位のサービス定義情報25cの全てについて、S1201以降の処理を実行したと判断すると、制御部21は、当該サービス定義情報更新処理を終了する。
このサービス定義情報更新処理を終えると、サービス定義情報記憶部24が記憶する下位のサービス定義情報25cは、全て、評価値Eの高い順にLinkタグが配列されたサービス定義情報25cとして構成される。例えば、サービス定義情報記憶部24が記憶する更新前のサービス定義情報25cが、図5に示す構成である場合であって、そのサービス定義情報25cに記載の各Linkタグに対応するサービスの評価値Eが図22に示す値を示す場合、その評価値Eに基づく更新後のサービス定義情報25cは、図24(a)に示すように構成される。
また、図24(b)は、図24(a)に示すサービス定義情報25cに基づくサービス選択用画面の表示例を示した説明図である。複合機処理のS108にて、この更新後のサービス定義情報25cに基づくサービス選択用画面の表示処理が行われた場合には、ディスプレイ19aに、Linkタグの記載順、即ち、評価値Eの高い順に、選択項目を表す文字列として、Link_Titleタグに示されたサービス名称を表す文字列が配列されて表示される。
以上、本実施例の通信システム1の構成について説明したが、ディレクトリサーバ20においては、複合機10側のディスプレイ19aで、評価値Eを表示することができるように、サービス定義情報25cを更新してもよい。以下には、これについての実施例(変形例)について説明する。
[変形例]
図25は、ディレクトリサーバ20の制御部21が実行する変形例のサービス定義情報更新処理を表すフローチャートであり、図26(a)は、図25に示すサービス定義情報更新処理にて生成されるサービス定義情報25cの構成例を表す説明図である。また、図26(b)は、図26(a)に示すサービス定義情報25cに基づくサービス選択用画面の構成例を表す説明図である。
その他、図27は、図26(a)に示すサービス定義情報25cに基づいて、図26(b)に示すサービス選択用画面を、ディスプレイ19aに表示するために、複合機10の制御部11が、S108にて実行する画面表示処理を表すフローチャートである。
図25に示すサービス定義情報更新処理を実行すると、ディレクトリサーバ20の制御部21は、まずS1301にて、サービス定義情報記憶部24が有するサービス定義情報群の中から、下位のサービス定義情報25cの一つを、処理対象に選択し(S1301)、そのサービス定義情報25cを、記憶部23から読み出して、RAMに一時記憶する(S1302)。その後、制御部21は、S1303に移行して、処理対象のサービス定義情報25cに記載のLinkタグ群の中から、処理対象のLinkタグを一つ選択し、その後、S1304にて、処理対象のLinkタグに対応するサービスの評価値Eを、評価テーブル28から読み出す。
S1304の処理を終えると、制御部21は、S1305に移行して、RAMに一時記憶した処理対象のサービス定義情報25cにおける上記処理対象のLinkタグの間に、S1304で読み出した評価値Eの値を記述したLink_Evaluationタグを書き込む。
具体的に、評価値Eの値が「30」である場合には、上記Linkタグの間に、文字列<Link_Evaluation>30</Link_Evaluation>を書き込む。尚、Link_Evaluationタグは、評価値Eの値が記述されるタグとして予め定義付けられたものである。また、S1305の処理実行前に、処理対象のサービス定義情報25cに、既にLink_Evaluationタグが書き込まれている場合、制御部21は、S1305で、既に書き込まれているLink_Evaluationタグに代えて、S1304で読み出した評価値Eの値を記述したLink_Evaluationタグを書き込む。
S1305での処理を終えると、制御部21は、S1306に移行し、処理対象のサービス定義情報25cに記載されている全てのLinkタグについて、上述したS1304以降の処理を実行したか否か判断し、実行していないと判断すると、S1303に移行して、上記処理対象のサービス定義情報25cに記載されている未処理のLinkタグの一つを、処理対象のLinkタグとして選択し、後続の処理を実行する。
また、S1306で、処理対象のサービス定義情報25cに記載されている全てのLinkタグについて、上述したS1304以降の処理を実行したと判断すると、制御部21は、S1307に移行し、上述したS1305の処理によって更新されたRAMに一時記憶されている処理対象のサービス定義情報25cを、サービス定義情報記憶部24に書き込んで、上記処理対象のサービス定義情報25cを更新する。
また、S1307の処理を終えると、制御部21は、S1308に移行し、サービス定義情報記憶部24が記憶する下位のサービス定義情報25cの全てについて、S1302以降の処理を実行したか否か判断し、実行していないと判断すると、S1301に移行して、サービス定義情報記憶部24が記憶する下位のサービス定義情報群の中から、未処理のサービス定義情報25cを一つ、処理対象に選択して、S1302以降の処理を実行する。そして、S1308で、サービス定義情報記憶部24が記憶する下位のサービス定義情報25cの全てについて、S1302以降の処理を実行したと判断すると、制御部21は、当該サービス定義情報更新処理を終了する。
このサービス定義情報更新処理を終えると、サービス定義情報記憶部24が記憶する下位のサービス定義情報25cは全て、図26(a)に示すように、各Linkタグに、最新の評価値Eが記述されたLink_Evaluationタグを備えた構成にされる。
次に、図27に示す画面表示処理について説明する。複合機10の制御部11は、S108にて画面表示処理を実行すると、S1401で、S107又はS117にて受信したサービス定義情報25に基づいて、ディスプレイ19aのタイトル表示領域に、Titleタグが示す文字列を表示する。
その後、S1402に移行して、受信したサービス定義情報25に、Link_Evaluationタグが存在するか否か判断し、存在しないと判断すると、S1404に移行して、サービス定義情報25におけるLinkタグの記載順に、Link_Titleタグが示す選択項目の文字列(カテゴリ又はサブカテゴリ又はサービスを表す文字列)を、ディスプレイ19aのリスト表示領域に表示する(図2参照)。その後、当該画面表示処理を終了する。
これに対し、S1402にて、上記受信したサービス定義情報25に、Link_Evaluationタグが存在すると判断すると、制御部11は、S1403に移行し、当該複合機10に記憶されている評価値利用フラグがONにされているか否か判断する。尚、評価値利用フラグ及び後述する並び替えフラグのON/OFFは、設定画面(図示せず)及び操作部12を通じた、利用者による当該複合機10に対する設定操作により、切り替えられる。また、この設定操作は、S104にて実現される。
S1403で、評価値利用フラグがONにされていない(即ちOFFにされている)と判断すると、制御部11は、S1404に移行し、評価値利用フラグがONにされていると判断すると、S1405に移行する。そして、並び替えフラグがONにされているか否か判断する。
S1405で、並び替えフラグがONにされてない(即ちOFFにされている)と判断すると、制御部11は、S1406に移行し、上記受信したサービス定義情報のLinkタグの記載順に、Linkタグが備えるLink_Titleタグが示す選択項目の文字列(サービスを表す文字列)を並べて、ディスプレイ19aのリスト表示領域に表示すると共に、Link_Evaluationタグが示す評価値Eを、ディスプレイ19aにおけるその評価値Eに対応する選択項目の文字列の右横領域に、表示する。その後、当該画面表示処理を終了する。
即ち、サービス定義情報25cに記載の各Linkタグに対応するサービスの評価値Eが図26に示す値である場合、その評価値Eに基づくサービス選択用画面は、S1406にて、図26(b)に示すように表示される。
その他、S1405で、並び替えフラグがONにされていると判断すると、制御部11は、S1407に移行し、上記受信したサービス定義情報25の各Linkタグが備えるLink_Titleタグが示す選択項目の文字列(サービスを表す文字列)を、そのLinkタグが備えるLink_Evaluationタグが示す評価値Eの高い順に、上から並べて、ディスプレイ19aのリスト表示領域に表示する。その後、当該画面表示処理を終了する。
尚、サービス定義情報25cに記載の各Linkタグに対応するサービスの評価値Eが図26に示す値である場合、その評価値Eに基づくサービス選択用画面は、S1407にて、図24(b)に示すように表示される。
以上、変形例を含む本発明の実施例について説明したが、本実施例の通信システム1では、機能サーバ30が、各サービスに対応するURL宛の「サービス起動指令」(本発明の提供要求信号に相当)を受けて、そのサービスに対応するサービスソフトウェア37を実行し、「サービス起動指令」送信元の複合機10を相手として、サービスを提供するためのサービス提供処理(図10)を行い、複合機10は、サービス受信処理(図10)を実行することにより、機能サーバ30から提供されるサービスを、通信にて受ける。
また、複合機10は、操作部12を通じて自装置に対し利用者が行った操作であって、各サービスソフトウェア37にて提供されるサービスを自装置にて受けるための操作の履歴情報を、ブックマークファイル及び利用履歴ファイルに生成し(図11に示す利用履歴記録処理、及び、図13に示すブックマーク登録処理参照)、このブックマークファイル及び利用履歴ファイルの内容を格納したサービス利用情報を、ディレクトリサーバ20に向けて送信する(図15に示すサービス利用情報送信処理及びサービス利用情報生成処理参照)。
その他、ディレクトリサーバ20は、利用情報収集処理(図17)にて、定期的に、サービス利用情報要求信号を送信することにより、複合機10から、ネットワークNTを介してサービス利用情報を取得すると共に、図18に示す利用情報受信登録処理を継続的に繰返し実行することにより、複合機10のサービス利用情報送信処理にて自発的に送信されるサービス利用情報を、ネットワークNTを介して逐次受信する構成にされている。
また、ディレクトリサーバ20は、上記受信したサービス利用情報の内容を表す利用内容データを、サービス利用情報送信元の複合機10の識別情報である装置IDと関連付けて、複合機10毎に、サービス利用情報データベース27(本発明の履歴情報記憶手段に相当)に記憶し、利用情報収集処理を実行したタイミング、又は、その他のタイミングで、サービス評価処理(図20)を実行して、通信システム1内の機能サーバ30が提供する各サービスを評価し、その評価結果を評価テーブル28に記録する。
また、評価テーブル28に示された評価値Eに基づいて、サービス定義情報記憶部24に記憶されたサービス定義情報25cを更新することにより、上記評価結果を表す情報を、Link_Evaluationタグ、又は、Linkタグの配列順序の形態で、サービス定義情報25cに内包させる(図23,25のサービス定義情報更新処理参照)。
そして、このサービス定義情報25cを、複合機10に送信することにより、複合機10に対して評価結果を表す情報を提供し、サービス選択用画面の表示の際に、評価結果を表す情報を、選択項目の配列順序の形態、又は、評価値Eを表す数値を表示する形態で、利用者に向けて報知する。
上述したように、本実施例の通信システム1では、サービスを受けるために利用者が複合機10に対してした操作の履歴情報を内包するサービス利用情報を、複合機10から取得し、この情報に基づいて、機能サーバ30が提供する各サービスを評価するため、アンケートを採り、その集計結果に基づいて各サービスを評価するよりも、各サービスを、利用者の人気度の観点から、迅速且つ適切に評価することができる。
また、本実施例によれば、評価結果を、サブカテゴリ内のサービスの一覧を表すサービス定義情報25cに内包させて、これを、サービス定義情報25cの送信要求があった場合に、ネットワークNTを介して要求元の複合機10に送信し、この評価結果の内容が反映されたサービス定義情報25cに基づくサービス選択用画面を、複合機10に表示させるので、利用者は、サービス選択用画面を通じてサービスを選択する際に、複数種のサービスの中から、最適なサービスを選択し、これを複合機10にて受けることができる。
従って、本実施例によれば、サービス提供システムの利便性を、向上させることができる。尚、本発明における「サービスの一覧を要求する旨の一覧要求信号」は、複合機10のS117にて送信されるサービス定義情報の送信要求信号に相当する。
また、本実施例(変形例を除く)によれば、評価テーブル28に示された評価値Eに基づき、サービス選択用画面の表示の際に用いられるサービス定義情報25cを構成するLinkタグを、所定の規則(評価値の高い順)に配列して、サービス定義情報25cを更新するので(図23に示すサービス定義情報更新処理参照)、複合機10に、サービス定義情報25cに基づいて選択項目(サービス)を並び替えサービス選択用画面を表示する機能を設けなくても、複合機10側のディスプレイ19aに、評価値の高い順に選択項目を表示することができる。
従って、本実施例によれば、複合機10を安価に提供しつつ、利用者に、サービスの選択を容易にさせることができる。尚、請求項4記載の一覧生成手段は、制御部21が実行する図23のサービス定義情報更新処理にて実現され、一覧送信手段は、S206の処理にて実現されている。また、ここでいう「サービスの識別情報」は、Linkタグに相当する。
その他、本実施例では、利用者データベース26に登録された各複合機10に向けて、サービス利用情報要求信号(本発明でいう履歴情報の要求信号に相当)を、定期的に送信し、複合機10側では、サービス利用情報要求信号を受信すると、その時点でのブックマークファイル及び利用履歴ファイルの内容に基づいてサービス利用情報を生成し、これをディレクトリサーバ20に提供するようにしたので、ディレクトリサーバ20では、最新のサービス利用情報を能動的に得ることができ、各サービスの評価を、定期的に、適切に行うことができる。
更に、本実施例では、利用履歴記録処理又はブックマーク登録処理により新しい情報が利用履歴ファイル又はブックマークファイルに生成される度に、サービス利用情報送信処理(図15(a))にて、その新しい情報が反映されたサービス利用情報を、自発的に、ディレクトリサーバ20に向けて送信するように、複合機10を構成したので、ディレクトリサーバ20側では、サービス評価処理による評価時に、最新の情報を用いて各サービスの評価を、適切且つ迅速に行うことができる。従って、本実施例によれば、各複合機10に、適切な評価結果を提供することができる。尚、以上には詳しく説明しなかったが、上記実施例のディレクトリサーバ20は、S807だけでなく、管理者の入力操作による指令を受けて、任意のタイミングで、サービス評価処理を実行することができる構成にされている。
また、本実施例では、ブックマークデータ及び利用履歴データの双方に基づき、各サービスの評価を行えるようにしたので、一種類の情報(ブックマークデータ及び利用履歴データの一方のみ)に基づいて、各サービスの評価を行うよりも、適切に、各サービスの評価を行うことができる。従って、本実施例によれば、利用者に対し、人気度の高いサービスを、適切に示すことができ、サービス提供システムの利便性を格段に向上させることができる。
尚、本発明のブックマーク登録手段は、制御部11が実行するブックマーク登録処理にて実現されており、「登録対象のサービスの識別情報」は、Bookmark_Titleタグの情報に相当し、「登録対象のサービスを提供するサービス提供手段に向けてサービスの提供要求信号を送信するための送信先情報」は、Bookmark_URLタグの情報に相当する。尚、これらの情報を関連付けてなる「ブックマーク情報」は、Bookmark_Titleタグ及びBookmark_URLタグを有するBookmarkタグの情報に相当する。また「ブックマーク情報に対応するサービスの利用指示」は、ブックマーク選択画面にて表示される選択項目を指定して操作部12から入力される接続指令に相当する。
また、本発明の利用回数記録手段は、制御部11が実行する利用履歴記録処理にて実現されており、「利用回数情報」は、サービスの種類毎に利用履歴ファイルに記述されるHistoryタグの情報に相当する。
また、本発明のサービス提供システム及びプログラムは、上記実施例に限定されるものではなく、種々の態様を採ることができる。
上記実施例では、ディスプレイ19aに、サービス選択用画面として、評価値の高い順に選択項目を並べる例(図24参照)、及び、評価値Eの数値を選択項目に隣接して表示する例(図26参照)を説明したが、例えば、評価値の高い順に選択項目を並べつつ、選択項目に隣接して評価値Eの数値を表示するように、複合機10を構成してもよい。
1…通信システム、2,3,4…ルータ、10…複合機、11…制御部、12…操作部、13…読取部(スキャナ)、14…記録部(プリンタ)、15…通信部、16…記憶部、17…音入力部、18…音出力部、19…表示部、19a…ディスプレイ、20…ディレクトリサーバ、21…制御部、22…通信部、23…記憶部、24…サービス定義情報記憶部、25…サービス定義情報、26…利用者データベース、27…サービス利用情報データベース、28…評価テーブル、30…機能サーバ、31…制御部、32…通信部、33…記憶部、34…サービスI/F情報記憶部、35…サービスソフト記憶部、36…サービスI/F情報、37…サービスソフトウェア、NT…ネットワーク