以下、本発明の実施例について、図面と共に説明する。図1は、本発明が適用された地図出力制御システム1の構成を表す説明図である。
本実施例の地図出力制御システム1は、ビジネス上の利用に特化したものであり、従業員(ユーザ)のスケジュールに合わせて、従業員が行先とする地域の地図を自動で印刷するものである。この地図出力制御システム1は、主に、複数ユーザのスケジュールデータを管理するスケジュール管理サーバ10と、地図サーバ20と、印刷装置として用いられるディジタル複合機30と、ユーザ端末装置50と、を備える。この地図出力制御システム1において、各装置10,20,30,50は、コンピュータネットワークを通じて、互いに通信可能に接続されている。
スケジュール管理サーバ10は、装置内各部を統括制御するマイクロコンピュータやメモリ等からなる制御部11と、コンピュータネットワーク内の他装置と通信可能な通信部13と、各種プログラム及びデータを記憶するハードディスク装置等からなる記憶部15と、を備える。記憶部15には、複数ユーザのスケジュールデータを内包するスケジュール管理データが記憶されており、制御部11は、ユーザ端末装置50からの要求に応じて、ユーザ端末装置50から受信したスケジュールデータを、スケジュール管理データに登録したり、スケジュール管理データに登録された各スケジュールデータを読み出して、これをユーザ端末装置50に送信する。
図2は、このスケジュール管理サーバ10が備えるスケジュール管理データの構成を表す説明図である。また、図3は、スケジュール管理データの具体的構成例を示した説明図である。図2に示すように、スケジュール管理データには、複数のスケジュールデータが格納され、各スケジュールデータには、「スケジュール名」、「遂行者」、「場所」、「日時」、「区分」、「メモ」、「印刷開始日時」、「地図URL」といったパラメータの値が記述される。
具体的に、「スケジュール名」は、ユーザにより入力されたスケジュール名を表すパラメータであり、「遂行者」は、スケジュール遂行者のユーザIDを表すパラメータである。また、「場所」は、スケジュール遂行者の行先(目的地)を表すパラメータであり、「日時」は、行先におけるイベントの発生日時(例えば、会議の開始日時、面会日時等)を表すパラメータである。尚、本実施例において、日時は、少なくとも年/月/日/時/分で表されるものとする。
また、「区分」は、スケジュールの種類を表すパラメータである。この「区分」パラメータには、”出張”、”外出”、”休暇”、 ”会議”、”業務”、”来客”のいずれかの値が設定される。尚、”出張”、”外出”、”休暇”は、該当スケジュールが職場からの外出を伴うスケジュールであることを表す値として用いられ、”会議”、”業務”、”来客”は、該当スケジュールが職場からの外出を伴わないスケジュールであることを表す値として用いられる。
その他、「メモ」は、ユーザにより入力された任意の文字列を表すパラメータであり、この「メモ」パラメータには、例えば、面会者の名前・連絡先、会議室の名称等を表す文字列が設定される。また、「印刷開始日時」は、ユーザの行先周囲の地図の印刷開始日時を表すパラメータであり、「地図URL」は、地図画像データの取得先URLを表すパラメータである。本実施例において、「印刷開始日時」パラメータ及び「地図URL」パラメータの各値は、必要に応じて、スケジュールデータに書き込まれる。
尚、上述のスケジュール管理データは、図3に示すように、例えば、マークアップ言語で記述される。図3に示す例では、スケジュールタグで囲まれた領域が、上述のスケジュールデータに相当する。
また、地図サーバ20は、装置内各部を統括制御するマイクロコンピュータやメモリ等からなる制御部21と、コンピュータネットワーク内の他装置と通信可能な通信部23と、各種プログラム及びデータを記憶するハードディスク装置等からなる記憶部25と、を備える。記憶部25には、国内全域を網羅した地図データを内包する地図データベース(DB)や、国内全域を網羅した電車・バス・飛行機等の交通機関の路線データを内包する路線データベース(DB)が格納されている。その他、この記憶部25には、上記スケジュールデータにおいて「場所」に設定される地点の位置座標を示すランドマークテーブルが格納されている。
図4は、この地図データベースの構成を表す説明図であり、図5は、ランドマークテーブルの構成を表す説明図である。
図4に示すように、本実施例の地図データベースは、1km四方毎の地図データ群からなる。即ち、この地図データベースでは、国内全域が1km単位でメッシュ状に分割されており、各地図データ(以下、メッシュともいう)には、国内領域の北端から南端に向けて順に行番号が割り当てられ、国内領域の西端から東端に向けて順に列番号が割り当てられている。
また、ランドマークテーブルは、場所を表す値と、最寄り交通機関を表す値と、該当場所の行番号を表す値と、該当場所の列番号を表す値とからなるランドマークデータを有する。ランドマークデータには、場所を表す値及び最寄り交通機関を表す値として、スケジュールデータと共通する値が用いられており、このランドマークテーブルは、スケジュールデータの「場所」パラメータに設定可能な値毎に、上記ランドマークデータを有すると共に、最寄り交通機関毎にランドマークデータを有する。
上記地図データベース及びランドマークテーブルを備える地図サーバ20の制御部21は、ユーザ端末装置50から、地図取得先データの要求信号を受信すると、このランドマークテーブルを用いて、要求信号に示された「目的地」パラメータの値に対応する地点Paのメッシュ及び最寄り交通機関に対応する地点Pbのメッシュを角部に含む矩形領域Ra(図4太線内)の地図データを、地図データベースから読み出し、この地図データに基づき、領域Ra内の地図を表す地図画像データであって、A4用紙に適合するサイズの地図画像データを生成する。尚、ここでいう矩形とは、正方形も含むものとする。
また、制御部21は、地点Pa−Pb間が所定以上離れている場合(上記矩形領域Raの一辺が3kmを超えている場合)、地点Paに対応するメッシュを中心とした所定範囲(図4破線で示す9メッシュ分の正方領域Rb)の地図データを、地図データベースから読み出し、この地図データに基づいて、領域Rb内の地図を表す地図画像データであって、A4用紙に適合するサイズの地図画像データを生成する。
そして、生成した地図画像データを記憶部25に保存すると共に、この地図画像データの取得先URLを記した地図取得先データを、ユーザ端末装置50に送信する。また、地図サーバ20は、上記URLに対してユーザ端末装置50からアクセスがあった場合、記憶部25に記憶した対応する地図画像データを、ユーザ端末装置50に提供する。
その他、本実施例の地図サーバ20における制御部21は、ユーザ端末装置50から、所要時間の問合せ信号を受信すると、周知の手法にて、問合せ信号が示す出発地から目的地までの最適な経路を、路線データベース及び地図データベースを用いて検索し、この経路の移動にかかる時間(所要時間)を算出する。また、制御部21は、算出した所要時間を表すデータを、応答信号として、問合せ元のユーザ端末装置50に送信する。
その他、複合機30は、装置内各部を統括制御する制御部31と、コンピュータネットワーク内の各装置と通信可能な通信部33と、プラテンガラスに載置された原稿を光学的に読み取り、画像データを生成する読取部35と、読取部35から提供される画像データ等、各種データに基づく画像を用紙に印刷可能な印刷部37と、表示部を備えると共にユーザが操作可能な操作部を備える表示操作部39と、不揮発性メモリやハードディスク装置等から構成されるデータ記憶用の記憶部41と、公衆電話回線網(PSTN)に接続され外部のファクシミリ装置等と通信可能な電話通信部43と、を備える。
また、この複合機30における制御部31は、マイクロコンピュータやメモリ等からなり、内蔵メモリに記憶された各種プログラムを実行して、装置内各部を制御し、ネットワークプリンタ機能、スキャナ機能、コピー機能、及び、ファクシミリ機能を実現する構成にされている。
また、記憶部41には、印刷履歴データが格納されており、制御部31は、ユーザ端末装置50からプリントデータと共に、上記プリントデータが示す地図に対応する場所を表す値と、印刷者のユーザIDとが記述されたプロパティデータを受信すると、この受信データに基づき、印刷履歴データに、上記プリントデータについての印刷履歴を表す履歴データを登録する構成にされている。
尚、図6は、記憶部41が記憶する印刷履歴データの構成を表す説明図であり、図7は、印刷履歴データの具体的構成例を示した説明図である。印刷履歴データは、図6に示すように、履歴データの一群からなり、各履歴データには、「履歴ID」「日時」「印刷者」「場所」といったパラメータの値が記述されている。具体的に、「履歴ID」は、各履歴データの識別コードを表すパラメータであり、「日時」は、対応するプロパティデータの受信日時を表すパラメータである。
また、「場所」は、プロパティデータにより通知された上記プリントデータが示す地図に対応する場所を表すパラメータであり、「印刷者」は、プロパティデータにより通知された印刷者のユーザIDを表すパラメータである。この印刷履歴データは、例えば、図7に示すようにマークアップ言語で記述される。尚、図7に示す例では、履歴タグで囲まれた領域が、上述の履歴データに相当する。
その他、ユーザ端末装置50は、装置内各部を統括制御するマイクロコンピュータやメモリ等からなる制御部51と、コンピュータネットワーク内の他装置と通信可能な通信部53と、各種プログラム及びデータを記憶するハードディスク装置等からなる記憶部55と、液晶モニタ等からなる表示部57と、キーボードやポインティングデバイス等からなるユーザが操作可能な操作部59と、を備える。また、記憶部55には、複合機30の設置場所を表す図8に示す構成の所在地データが記憶されている。
図8は、所在地データの構成を表す説明図であり、図9は、所在地データの具体的構成例を示した説明図である。図8に示すように、所在地データには、「場所」、「住所」、「業務開始時刻」、「業務終了時刻」、「業務曜日」といったパラメータの値が記述されている。
具体的に、「場所」は、複合機30の場所を表すパラメータであり、この「場所」パラメータには、ランドマークテーブルと共通する値が設定される。また、「住所」は、複合機30の所在地の住所を表すパラメータであり、「業務開始時刻」は、複合機30が設置された職場(基本的には、ユーザ端末装置50と同一の職場)の業務開始時刻を表すパラメータ、「業務終了時刻」は、複合機30が設置された職場の業務終了時刻を表すパラメータ、「業務曜日」は、複合機30が設置された職場の業務日(曜日)を表すパラメータである。この所在地データは、例えば図9に示すようにマークアップ言語で記述される。
また、本実施例におけるユーザ端末装置50の制御部51は、各種プログラムに基づき、以下に説明する処理を実行する構成にされている。図10は、操作部59の操作により、ユーザからスケジュール登録指令が入力されると、ユーザ端末装置50の制御部51が実行するスケジュール登録処理を表すフローチャートである。
スケジュール登録処理を開始すると、制御部51は、空のスケジュールデータを生成し(S110)、その後、現在ログインしているユーザのID(ユーザID)を、OS部から取得する(S120)。尚、本実施例のユーザ端末装置50は、ログイン時に、ユーザに対してIDを求めるOSにて運営されているものとする。
また、S120での処理を終えると、制御部51は、S130に移行し、上記生成したスケジュールデータに、「遂行者」パラメータの値として、S120で取得したユーザIDを書き込み、この処理を終えると、S140にて、スケジュール名の入力をユーザに求めるスケジュール名入力画面を、表示部57に表示させる。
また、S140での処理を終えると、制御部51は、ユーザが操作部59を通じて、スケジュール名の入力を完了するまで待機し、スケジュール名の入力が完了すると(S150でYes)、上記生成したスケジュールデータに、「スケジュール名」パラメータの値として、ユーザから入力されたスケジュール名を表す文字列を書き込む(S160)。
また、S160での処理を終えると、制御部51は、地図サーバ20に対して、場所リストの要求信号を入力し、地図サーバ20から、上記ランドマークテーブルに登録された場所のリストを表す場所リストデータを取得する(S170)。そして、この場所リストデータに基づき、行先選択画面を表示部57に表示させる(S180)。尚、行先選択画面は、ランドマークテーブルに登録された場所が列挙された画面であり、列挙された場所のいずれか一つをユーザが操作部59を通じて選択可能に構成されたものである。
S180での処理を終えると、制御部51は、行先選択画面に列挙された場所のいずれか一つがユーザにより選択されるまで待機し(S190)、選択されると(S190でYes)、選択された場所を表す値を、「場所」パラメータの値として、上記生成したスケジュールデータに書き込む(S200)。その後、制御部51は、S210に移行し、区分選択画面を表示部57に表示させる。尚、区分選択画面は、「区分」パラメータに設定する値として、”出張”、”外出”、”休暇”、 ”会議”、”業務”、”来客”のいずれか一つを、ユーザが操作部59を通じて選択可能に構成されたものである。
S210での処理を終えると、制御部51は、区分選択画面を通じて上記値のいずれか一つがユーザにより選択されるまで待機し(S220)、選択されると(S220でYes)、この選択された値を、「区分」パラメータの値として、上記生成したスケジュールデータに書き込む(S230)。
また、S230での処理を終えると、制御部51は、S240に移行し、メモ情報の入力をユーザに求めるメモ入力画面を、表示部57に表示させる。その後、メモ情報の入力が完了すると(S250でYes)、「メモ」パラメータの値として、ユーザから入力されたメモ情報(文字列)を書き込む(S260)。
その他、S260での処理を終えると、制御部51は、S270に移行し、印刷開始日時を、ユーザ自身が設定するか否かを問い合わせるユーザ設定要否選択画面を、表示部57に表示させる。尚、ユーザ設定要否選択画面には、”ユーザ設定要”及び”ユーザ設定不要”との選択項目が表示される。
また、S270での処理を終えると、制御部51は、ユーザが、操作部59を通じて、”ユーザ設定要”との項目を選択するか、”ユーザ設定不要”との項目を選択するまで待機し(S280)、”ユーザ設定要”との項目が選択されると、S290でYesと判断してS300に移行し、”ユーザ設定不要”との項目が選択されるとS290でNoと判断してS350に移行する。
また、S300に移行すると、制御部51は、印刷開始日時の入力をユーザに求める印刷開始日時入力画面を表示部57に表示させ、その後、ユーザにより印刷開始日時の入力が完了するまで待機する。そして、印刷開始日時の入力が完了すると(S310でYes)、入力された印刷開始日時を、「印刷開始日時」パラメータの値として、スケジュールデータに書き込み(S320)、その後、「区分」パラメータに設定されている値が、外出用の値であるか否かを判断する(S330)。具体的には、スケジュールデータの「区分」パラメータに、外出用の値としての”出張”、”外出”、”休暇”が設定されているか否かを判断する。
そして、「区分」パラメータに設定されている値が外出用の値ではないと判断すると(S330でNo)、S340に移行して、スケジュールデータにおける「区分」パラメータの値を、”外出”に変更し、その後、S350に移行する。一方、「区分」パラメータに設定されている値が外出用の値であると判断すると(S330でYes)、制御部51は、S340に移行することなく、S350に移行する。
また、S350に移行すると、制御部51は、S110で新規生成し、S130〜S340で各種パラメータの値を書き込んだスケジュールデータを格納した登録要求信号を、スケジュール管理サーバ10に送信し、このスケジュールデータを、スケジュール管理データに登録する。また、このようにしてS350での処理を終えると、当該スケジュール登録処理を終了する。
尚、詳細な説明は省略するが、当該ユーザ端末装置50の制御部51は、ユーザからスケジュール参照指令が入力されると、このスケジュール登録処理にてスケジュール管理データに登録されたスケジュールデータを、スケジュール管理サーバ10から読み出し、このスケジュールデータに基づいて、表示部57に、ユーザの予定表を表示する構成にされている。また、制御部51は、図11に示す印刷対象検索処理を実行することにより、ユーザのスケジュールに合わせて、行先周囲の地図を、複合機30に印刷させる構成にされている。
図11は、制御部51が繰返し実行する印刷対象検索処理を表すフローチャートである。印刷対象検索処理を開始すると、制御部51は、まず、S410にて、処理対象ユーザを決定する。具体的には、OS部に登録されているユーザ端末装置50のユーザアカウント情報に基づき、このアカウント情報に登録されているユーザの一人を、S410の処理実行の度、順に処理対象ユーザに決定する。また、別の例としては、ログインしているユーザを、処理対象ユーザに決定する。
このようにして、S410での処理を終えると、制御部51は、処理対象ユーザのユーザIDを格納した登録数問合せ信号を、スケジュール管理サーバ10に送信することにより、「遂行者」パラメータに処理対象ユーザのユーザIDが設定されたスケジュールデータであって、「日時」パラメータに、現在より未来の日時が設定された未来のスケジュールを表すスケジュールデータの登録数(スケジュール管理データに登録されているスケジュールデータの数)を、スケジュール管理サーバ10に問い合わせる(S420)。
また、S420での処理を終えると、制御部51は、スケジュール管理サーバ10から応答信号として送信されてくる上記登録数を表すデータを、通信部33を通じて取得し、この登録数を、パラメータNに設定する(S430)。また、S430での処理を終えると、S440にて、パラメータNの値が1以上であるか否かを判断し、パラメータNの値が0であると判断すると(S440でNo)、当該印刷対象検索処理を一旦終了する。
一方、パラメータNの値が1以上であると判断すると(S440でYes)、制御部51は、パラメータk=1に設定し(S450)、続くS460にて、データ要求信号をスケジュール管理サーバ10に送信することにより、上記未来のスケジュールを表すスケジュールデータであって、登録数の問合せ時から時間方向にk番目のスケジュールを表すスケジュールデータを、スケジュール管理サーバ10から取得する。そして、取得したスケジュールデータを、処理対象のスケジュールデータに設定する。
また、このようにして、S460での処理を終えると、制御部51は、処理対象のスケジュールデータにおける「印刷開始日時」パラメータに、印刷開始日時が設定されているか否かを判断し(S470)、印刷開始日時がされていないと判断すると、S480に移行する。そして、S480では、図12に示す地図検索処理を実行する。図12は、制御部51が実行する地図検索処理を表すフローチャートである。
地図検索処理を開始すると、制御部51は、まず、記憶部55が記憶する所在地データを読み出し、所在地データにおける「場所」パラメータに設定された値を、「出発地」パラメータに設定し(S481)、処理対象のスケジュールデータにおける「場所」パラメータに設定された値を、「目的地」パラメータに設定する(S483)。そして、「出発地」パラメータに設定されている値と、「目的地」パラメータに設定されている値とを比較し、目的地と出発地が同一であるか否かを判断し(S485)、目的地と出発地とが同一であると判断すると(S485でYes)、S487にて、処理対象のスケジュールデータに対応する行先(目的地)周囲の地図の印刷が不要であると判定して、この判定結果を、返値として出力する。その後、地図検索処理を終了する。
一方、目的地と出発地が同一ではないと判断すると(S485でNo)、制御部51は、S489に移行して、「目的地」パラメータの値を格納した地図取得先データの要求信号を地図サーバ20に送信し、地図サーバ20から、目的地周囲の地図画像データの取得先URLを表す地図取得先データを受信する(S491)。尚、図13は、上述した地図取得先データの具体的構成例を示した説明図である。
また、S491での処理を終えると、制御部51は、受信した地図取得先データに記載されている目的地周囲の地図画像データの取得先URLを、予めスケジュール管理サーバ10から受信した処理対象のスケジュールデータに、「地図URL」パラメータの値として、書き込む(S493)。その後、S495に移行する。尚、地図取得先データには、複数のURLが記載されていることがあるが、その場合には、記載された全てのURLを、スケジュールデータに書き込む。
その他、S495に移行すると、制御部51は、処理対象のスケジュールデータにおける「区分」パラメータに設定されている値が、外出用の値であるか否かを、S330と同様の手法で判断する。そして、「区分」パラメータに設定されている値が外出用の値ではないと判断すると(S495でNo)、S497に移行して、処理対象のスケジュールデータにおける「区分」パラメータの値を、”外出”に変更し、その後、S499に移行する。一方、「区分」パラメータに設定されている値が外出用の値であると判断すると(S495でYes)、S497に移行することなく、S499に移行する。
また、S499に移行すると、制御部51は、処理対象のスケジュールデータに対応する行先周囲の地図の印刷が必要であると判定して、この判定結果を、返値として出力する。その後、地図検索処理を終了する。
また、このようにしてS480での地図検索処理を終了すると、制御部51は、S500に移行し、地図検索処理の返値に基づき、地図検索処理での判定結果が、印刷不要との判定結果であるのか否かを判断する。そして、印刷不要との判定結果であると判断すると(S500でYes)、S640に移行し、印刷必要との判定結果であると判断すると(S500でNo)、S510に移行して、図14に示す印刷履歴確認処理を実行する。尚、図14は、制御部51が実行する印刷履歴確認処理を表すフローチャートである。
印刷履歴確認処理を開始すると、制御部51は、処理対象ユーザのユーザIDを格納した登録数問合せ信号を、地図印刷先の複合機30に送信することにより、「印刷者」パラメータに、処理対象ユーザのユーザIDが設定された履歴データの登録数(印刷履歴データに登録されている履歴データの数)を、複合機30に問い合わせる(S511)。
また、S511での処理を終えると、制御部51は、問合せ先の複合機30から応答信号として送信されてくる上記登録数を表すデータを、通信部53を通じて受信し、この登録数を、パラメータMに設定する(S513)。そして、パラメータMの値が1以上であるか否かを判断し、パラメータMの値が0であると判断すると(S515でNo)、S517に移行して、処理対象のスケジュールデータが示す行先周囲の地図の印刷履歴がないと判定し、この判定結果を返値として出力する(S517)。その後、当該印刷履歴確認処理を終了する。
一方、パラメータMの値が1以上であると判断すると(S515でYes)、制御部51は、パラメータi=1に設定し(S519)、その後、S521にて、データ要求信号を複合機30に送信することにより、印刷履歴データに登録された処理対象ユーザを印刷者とする履歴データであって、i番目の履歴データを、複合機30から取得する。また、S521での処理を終えると、今回のS521で取得した履歴データが示す「場所」パラメータの値と、処理対象のスケジュールデータが示す「場所」パラメータの値とを比較し、両者が一致するか否かを判断する(S523)。
そして、履歴データが示す「場所」パラメータの値と、処理対象のスケジュールデータが示す「場所」パラメータの値が一致すると判断すると(S523でYes)、処理対象のスケジュールデータが示す行先周囲の地図の印刷履歴があると判定し、この判定結果を返値として出力する(S525)。その後、当該印刷履歴確認処理を終了する。
一方、S523にて、履歴データが示す「場所」パラメータの値と、処理対象のスケジュールデータが示す「場所」パラメータの値が一致しないと判断すると(S523でNo)、制御部51は、パラメータiの値がM(i=M)であるか否かを判断し(S527)、i=Mではないと判断すると(S527でNo)、パラメータiの値を1加算し(S528)、その後、S521に移行する。また、S521に移行すると、次の履歴データを取得し(S521)、この履歴データにおける「場所」パラメータの値がスケジュールデータの値と一致するか否かを判断する(S523)。
そして、S523でNoと判断すると、再び、i=Mであるか否かを判断し(S527)、i=Mであると判断すると(S527でYes)、S529に移行する。また、S529に移行すると、処理対象のスケジュールデータが示す行先周囲の地図の印刷履歴がないと判定して、この判定結果を返値として出力する。その後、当該印刷履歴確認処理を終了する。
また、このようにして、S510で印刷履歴確認処理を終了すると、制御部51は、S530に移行し、印刷履歴確認処理の返値に基づき、印刷履歴確認処理での判定結果が、印刷履歴有りとの判定結果であるのか否かを判断する。そして、印刷履歴有りとの判定結果であると判断すると(S530でYes)、S640に移行し、印刷履歴無しとの判定結果であると判断すると(S530でNo)、S540に移行する。また、S540では、図15に示す印刷開始日時設定処理を実行する。尚、図15は、制御部51が実行する印刷開始日時設定処理を表すフローチャートである。
印刷開始日時設定処理を開始すると、制御部51は、所在地データにおける「場所」パラメータに設定された値を、「出発地」パラメータに設定し(S541)、処理対象のスケジュールデータにおける「場所」パラメータに設定された値を、「目的地」パラメータに設定する(S543)。そして、上記設定した「出発地」パラメータの値、及び「目的地」パラメータの値を格納した所要時間の問合せ信号を地図サーバ20に送信し(S545)、地図サーバ20から、出発地から目的地までの移動にかかる時間(所要時間)を表すデータを受信する(S547)。
また、S547での処理を終えると、制御部51は、S549に移行し、受信した所要時間を表すデータと、処理対象のスケジュールデータにおける「日時」パラメータの値とに基づいて、スケジュールデータが示す行先(目的地)へ向けてユーザが出発すると推定される日時(出発日時)を算出する。具体的には、処理対象のスケジュールデータにおける「日時」パラメータの値より、所要時間+α分の時間を引いた値(即ち、所定時間+α分過去の値)を、出発日時として算出する。尚、αは、人が余裕をもって行動するのに必要な時間であり、例えば、数十分から1時間程度の時間に設定されるとよいが、これに限らず、αは、設計者により任意に設定されればよい。
また、S549での処理を終えると、制御部51は、算出した出発日時が、業務時間外であるか否かを判断する(S551)。即ち、所定地データが示す業務開始時刻から業務終了時刻までの間に、出発日時が示す時分が収まっているか否かを判断する。そして、出発日時が業務時間外であると判断すると(S551でYes)、スケジュールデータが示す行先周囲の地図の印刷開始日時を、上記出発日時より前の業務時間における業務終了時刻の10分前に対応する値に決定する(S553)。
例えば、所定地データにおける各パラメータが図9に示す値であって、出発日時が、2005年8月4日(木曜日)18時0分から2005年8月5日(金曜日)9時0分までの時間内にある場合には、印刷開始日時を、2005年8月4日(木曜日)17時50分に決定する。その他、出発日時が、2005年8月5日(金曜日)18時0分〜2005年8月8日(月曜日)9時0分までの時間内にある場合には、印刷開始日時を、2005年8月5日(金曜日)の17時50分に決定する。このようにして、S553での処理を終えると、制御部51は、S560に移行する。
一方、出発日時が業務時間内であると判断すると(S551でNo)、制御部51は、印刷開始日時を、上記算出した出発日時に決定する(S555)。その後、S560に移行する。
また、S560に移行すると、制御部51は、図16及び図17に示す日時補正処理を実行する。尚、図16及び図17は、制御部51が実行する日時補正処理を表すフローチャートである。この日時補正処理は、決定した印刷開始日時に、ユーザが外出中である可能性がある場合、印刷開始日時を、それより前のユーザが外出中ではない日時に補正するための処理である。
この日時補正処理を開始すると、制御部51は、まず、S561にて、上記決定した印刷開始日時より所定時間前(例えば6時間前)から、処理対象のスケジュールデータにおける「日時」パラメータが示す日時までの間に、処理対象ユーザのスケジュールがあるか否かを判断する。
具体的には、先に取得した処理対象ユーザのスケジュールデータに基づき、上記決定した印刷開始日時より所定時間前から処理対象のスケジュールデータにおける「日時」パラメータが示す日時までの間に相当する日時が、「日時」パラメータに設定された処理対象ユーザのスケジュールデータが、スケジュール管理データに登録されているか否かを判断する。
そして、上記の間に、処理対象ユーザのスケジュールがないと判断すると(S561でNo)、制御部51は、当該日時補正処理を終了する。
一方、上記の間に処理対象ユーザのスケジュールがあると判断すると(S561でYes)、制御部51は、上記決定した印刷開始日時から、処理対象のスケジュールデータにおける「日時」パラメータが示す日時までの間に、処理対象ユーザの外出を伴わないスケジュールがあるか否かを判断する(S563)。
具体的には、先に取得した処理対象ユーザのスケジュールデータに基づき、上記決定した印刷開始日時から処理対象のスケジュールデータにおける「日時」パラメータが示す日時までの間に相当する日時が、「日時」パラメータに設定された処理対象ユーザのスケジュールデータであって、「区分」パラメータに、 ”会議”、”業務”、”来客”のいずれかの値が設定されたスケジュールデータが、スケジュール管理データに登録されているか否かを判断する。そして、「区分」パラメータに、 ”会議”、”業務”、”来客”のいずれかの値が設定されたスケジュールデータが、スケジュール管理データに登録されていると判断すると、上記の間に、外出を伴わないスケジュールがあると判断する。
このようにして、S563で、上記決定した印刷開始日時から、処理対象のスケジュールデータにおける「日時」パラメータに設定された日時までの間に、処理対象ユーザの外出を伴わないスケジュールがあると判断すると(S563でYes)、制御部51は、当該日時補正処理を終了する。
一方、上記の間に、処理対象ユーザの外出を伴わないスケジュールがないと判断すると(S563でNo)、制御部51は、パラメータj=1に設定し(S565)、処理対象ユーザのスケジュールデータの内、上述の処理対象のスケジュールデータよりj個前(即ち、k−j番目)のスケジュールデータにおける「区分」パラメータの値が外出用の値であるか否かを判断する(S566)。そして、外出用の値ではないと判断すると(S566でNo)、当該日時補正処理を終了する。一方、外出用の値であると判断すると(S566でYes)、S567に移行する。
また、S567に移行すると、制御部51は、印刷対象検索処理にて使用しているパラメータkの値を用いて、j=k−1であるか否かを判断する。尚、この処理は、処理対象ユーザのスケジュールデータの内、上述の処理対象のスケジュールデータよりj個前(即ち、k−j番目)のスケジュールデータが、登録数の問合せ時から時間方向に1番目のスケジュールを表すスケジュールデータであるか否かを判断するためのものである。
そして、j=k−1であると判断すると(S567でYes)、制御部51は、S581に移行し、j=k−1ではないと判断すると(S567でNo)、S569に移行して、パラメータjの値を1加算する。その後、S571に移行する。
また、S571に移行すると、制御部51は、処理対象ユーザのスケジュールデータであって、処理対象のスケジュールデータよりj個前のスケジュールデータを、検査対象に設定し、その後、S573にて、検査対象のスケジュールデータにおける「日時」パラメータに設定された日時(年月日)と、検査対象より一つ後のスケジュールデータ(k−j+1番目のスケジュールデータ)における「日時」パラメータに設定された日時(年月日)と、が日を挟んで離れているか否か(即ち、二日以上異なるか否か)を判断する。そして、日を挟んで離れていると判断すると(S573でYes)、S577に移行し、日を挟んで離れていないと判断すると(S573でNo)、S579に移行する。
また、S577に移行すると、制御部51は、検査対象のスケジュールデータにおける「日時」パラメータに設定された日時(年月日)と、検査対象より一つ後のスケジュールデータにおける「日時」パラメータに設定された日時(年月日)との間に位置する日のいずれか一日が、業務日であるか否かを、所在地データに設定された「業務曜日」パラメータの値に基づいて判断する。
そして、検査対象のスケジュールデータにおける「日時」パラメータに設定された日時(年月日)と、検査対象より一つ後のスケジュールデータにおける「日時」パラメータに設定された日時(年月日)との間に位置する日のいずれか一日が、業務日であると判断すると(S577でYes)、制御部51は、S580に移行し、検査対象のスケジュールデータにおける「日時」パラメータに設定された日時(年月日)と、検査対象より一つ後のスケジュールデータにおける「日時」パラメータに設定された日時(年月日)との間に位置する日の全てが業務日ではないと判断すると(S577でNo)、S579に移行する。
また、S579に移行すると、制御部51は、検査対象のスケジュールデータが外出を伴わないスケジュールを表すスケジュールデータであるか否かを判断する。具体的に、S579では、S563での処理と同様、検査対象のスケジュールデータにおいて、「区分」パラメータに設定された値が、 ”会議”、”業務”、”来客”のいずれかの値であるか否かを判断する。そして、「区分」パラメータに設定された値が、 ”会議”、”業務”、”来客”のいずれかの値である場合、検査対象のスケジュールデータが外出を伴わないスケジュールを表すスケジュールデータであると判断する。一方、「区分」パラメータに設定された値が、”出張”、”外出”、”休暇”のいずれかの値である場合には、検査対象のスケジュールデータが外出を伴うスケジュールを表すスケジュールデータであると判断する。
そして、検査対象のスケジュールデータが外出を伴わないスケジュールを表すスケジュールデータであると判断すると(S579でYes)、制御部51は、S580に移行し、検査対象のスケジュールデータが外出を伴うスケジュールを表すスケジュールデータであると判断すると(S579でNo)、S567に移行する。
また、S580に移行すると、制御部51は、パラメータjの値を1減算し、その後、S581に移行する。また、S581に移行すると、制御部51は、処理対象ユーザのスケジュールデータであって、処理対象のスケジュールデータよりj個前のスケジュールデータ(S567でYesと判断した場合のS581では、先頭のスケジュールデータ)に基づき、上記j個前のスケジュールデータが示す行先(場所)へ向けてユーザが出発すると推定される日時(出発日時)を、S541〜549での処理と同様の手法で算出する。即ち、行先までの移動にかかる時間(所要時間)を地図サーバ20に問い合わせ、この結果得られた所要時間、及び、上記j個前のスケジュールデータにおける「日時」パラメータが示すスケジュールの日時に基づき、出発日時を算出する。
また、S581での処理を終えると、制御部51は、S583に移行し、S581で算出した出発日時が、業務時間外であるか否かを判断する。そして、出発日時が業務時間外であると判断すると(S583でYes)、S553又はS555で決定した印刷開始日時を、S581で算出した出発日時より前の業務時間における業務終了時刻の10分前に対応する日時に補正する(S585)。その後、当該日時補正処理を終了する。
一方、出発日時が業務時間内であると判断すると(S583でNo)、制御部51は、S553又はS555で決定した印刷開始日時を、S581で算出した出発日時に補正する(S587)。その後、当該日時補正処理を終了する。
また、このようにしてS560で日時補正処理を終了すると、制御部51は、S589に移行し、「印刷開始日時」パラメータの値として、S553又はS555で決定した印刷開始日時、又は、S560で補正した印刷開始日時を、処理対象のスケジュールデータに書き込む。その後、当該印刷開始日時設定処理を終了する。また、このようにして印刷開始日時設定処理を終了すると、制御部51は、S590に移行し、S460からS589までの処理により再編集したスケジュールデータを格納した再登録要求信号を、スケジュール管理サーバ10に送信することにより、上記再編集したスケジュールデータを、スケジュール管理データに再登録(上書登録)する。その後、S640に移行する。
その他、S590又はS320での処理にて、「印刷開始日時」パラメータに、印刷開始日時が設定されたスケジュールデータが処理対象のスケジュールデータである場合、制御部51は、S470で、処理対象のスケジュールデータにおける「印刷開始日時」パラメータに、印刷開始日時が設定されていると判断し(S470でYes)、S600に移行する。
また、S600に移行すると、制御部51は、現在日時が、処理対象のスケジュールデータにおける「印刷開始日時」パラメータが示す日時を、越えているか否かを判断し、現在日時が、処理対象のスケジュールデータにおける「印刷開始日時」パラメータが示す日時を、越えていないと判断すると(S600でNo)、S640に移行し、現在日時が、処理対象のスケジュールデータにおける「印刷開始日時」パラメータが示す日時を、越えていると判断すると(S600でYes)、S610に移行する。尚、S600では、現在日時が、処理対象のスケジュールデータにおける「印刷開始日時」パラメータが示す日時と同一である場合もYesと判断し、S610に移行する。
また、S610に移行すると、制御部51は、図18に示す地図印刷処理を実行する。図18は、制御部51が実行する地図印刷処理を表すフローチャートである。
地図印刷処理を開始すると、制御部51は、処理対象のスケジュールデータにおいて、「地図URL」パラメータにURLが設定されているか否かを判断することにより、処理対象のスケジュールデータが示す行先周囲の地図画像データの取得先URLを、地図サーバ20から取得しているか否かを判断する(S611)。
そして、処理対象のスケジュールデータが示す行先周囲の地図画像データの取得先URLを、地図サーバ20から取得していないと判断すると(S611でNo)、S613に移行し、処理対象のスケジュールデータが示す行先周囲の地図画像データの取得先URLを、地図サーバ20から取得していると判断すると(S611でYes)、S619に移行する。尚、S320での処理を経て生成されたスケジュールデータが、処理対象のスケジュールデータである場合には、S611でNoと判断して、S613に移行することになる。
また、S613に移行すると、制御部51は、処理対象のスケジュールデータにおける「場所」パラメータに設定された値を、「目的地」パラメータに設定し、この「目的地」パラメータの値を格納した地図取得先データの要求信号を地図サーバ20に送信することにより、地図サーバ20から、目的地(行先)周囲の地図画像データの取得先URLを表す地図取得先データを取得する(S615)。
また、S615での処理を終えると、制御部51は、上記取得した地図取得先データに記された目的地周囲の地図画像データの取得先URLを、処理対象のスケジュールデータに、「地図URL」パラメータの値として、書き込む(S617)。尚、地図取得先データには、複数のURLが記載されていることがあるが、その場合には、記載された全てのURLを、スケジュールデータに書き込む。
そして、S617での処理を終えると、制御部51は、S619に移行する。また、S619に移行すると、処理対象のスケジュールデータにおいて「地図URL」パラメータの値として記述されたURLの数を、パラメータMに設定し、このパラメータMの値が1以上であるか否かを判断し(S621)、パラメータMの値が0であると判断すると(S621でNo)、当該地図印刷処理を終了し、パラメータMの値が1以上であると判断すると(S621でYes)、パラメータi=1に設定する(S623)。
また、S623での処理を終えると、処理対象のスケジュールデータが示すi番目の「地図URL」パラメータの値に基づき、この値に対応するURL先から目的地(行先)周囲の地図画像データを取得する(S625)。そして、取得した地図画像データを、A41頁分のプリントデータに変換し、これを複合機30に入力することにより、取得した地図画像データが示す地図を、A4用紙1枚に収まるように複合機30に印刷させる(S627)。
また、S627での処理を終えると、制御部51は、i=Mであるか否かを判断し(S629)、i=Mではないと判断すると(S629でNo)、パラメータiの値を1加算して(S631)、S625に移行し、次のURL先から目的地(行先)周囲の地図画像データを取得する。そして、取得した地図画像データを、A41頁分のプリントデータに変換し、これを複合機30に入力することにより、取得した地図画像データが示す地図を、A4用紙1枚に収まるように、複合機30に印刷させる(S627)。
尚、パラメータMは、値1又は値2を採り、M=1である場合には、スケジュールデータに、最寄り交通機関及び目的地(行先)を含む矩形領域Ra内の地図を表す地図画像データについての取得先URLが記述されていることになる。従って、M=1である場合、S627の処理により、複合機30からは、領域Raに対応する地図が出力されることになる。
また、M=2である場合には、上記領域Ra内の地図を表す地図画像データについての取得先URLと、領域Rb内の地図を表す地図画像データについての取得先URLが、スケジュールデータに記述されていることになるので、複数回にわたるS627の処理によって、複合機30からは、領域Raに対応する地図が出力されると共に、それとは別の用紙に領域Rbに対応する地図が出力されることになる。
その他、S629で、i=Mであると判断すると(S629でYes)、制御部51は、S633に移行して、空のプロパティデータを生成し、生成したプロパティデータに、「印刷者」パラメータの値として、処理対象のスケジュールデータにおける「遂行者」パラメータの値(ユーザID)を書き込むと共に、「場所」パラメータの値として、処理対象のスケジュールデータにおける「場所」パラメータの値を書き込む。そして、このプロパティデータを、複合機30に送信する。その後、当該地図印刷処理を終了する。
また、このようにしてS610で地図印刷処理を終了すると、制御部51は、S640に移行して、k=Nであるか否かを判断し、k=Nではないと判断すると(S640でNo)、パラメータkの値を1加算し(S650)、その後、S460に移行する。
このような処理により、制御部51は、処理対象ユーザの未来のスケジュールを表す各スケジュールデータを順に処理対象のスケジュールデータに設定して、S460〜S640の処理を実行する。そして、k=Nであると判断すると(S640でYes)、当該印刷対象検索処理を終了し、所定期間経過後、再び、S410に移行して、印刷対象検索処理を実行する。
以上、ユーザ端末装置50の制御部51が実行する処理について説明したが、次には、図19及び図20を用いて、複合機30の制御部31が、各種プログラムに基づき実行する処理について説明する。尚、図19は、複合機30の制御部31が繰返し実行する印刷履歴登録処理を表すフローチャートであり、図20は、複合機30の制御部31が、上記印刷履歴登録処理とは並列に、繰返し実行する印刷履歴提供処理を表すフローチャートである。
印刷履歴登録処理を開始すると、制御部31は、通信部33を通じて、ユーザ端末装置50からプロパティデータを受信するまで待機し(S710)、プロパティデータを受信すると(S710でYes)、空の履歴データを生成して(S720)、この履歴データに付与する履歴IDを決定し、決定した履歴IDを、「履歴ID」パラメータの値として、上記生成した履歴データに書き込む(S730)。
また、S730での処理を終えると、制御部31は、上記生成した履歴データに、「日時」パラメータの値として、上記プロパティデータを受信した日時(現在日時)を書き込み(S740)、この処理を終えると、受信したプロパティデータが示す「印刷者」パラメータの値(ユーザID)を、上記生成した履歴データに、「印刷者」パラメータの値として書き込む(S750)。その後、S760に移行する。
また、S760に移行すると、制御部31は、受信したプロパティデータが示す「場所」パラメータの値を、上記生成した履歴データに、「場所」パラメータの値として書き込み、この処理を終えると、上記各パラメータ値を書き込んだ履歴データを、印刷履歴データに登録する(S770)。その後、S710に移行し、次のプロパティデータを受信するまで待機する。
一方、印刷履歴提供処理を開始すると、制御部31は、通信部33を通じて、登録数問合せ信号を、ユーザ端末装置50から受信するまで待機し(S810)、登録数問合せ信号を受信すると(S810でYes)、S820に移行して、登録数問合せ信号が示すユーザIDと一致するユーザIDを、「印刷者」パラメータの値として有する履歴データを、印刷履歴データから抽出する。尚、登録数問合せ信号が示すユーザIDと一致するユーザIDを「印刷者」パラメータの値として有する履歴データが、印刷履歴データ内に複数ある場合には、それら全てを印刷履歴データから抽出する。
また、S820での処理を終えると、制御部31は、印刷履歴データから抽出した上記履歴データの数を、履歴データの登録数として記述したデータを、応答信号として、問合せ元のユーザ端末装置50に送信する(S830)。また、この処理を終えると、上記抽出した履歴データの数を、パラメータMに設定し(S840)、その後、パラメータMの値が1以上であるか否かを判断する(S850)。
また、パラメータMの値が0であると判断すると(S850でNo)、制御部31は、当該印刷履歴提供処理を一旦終了して、次の登録数問合せ信号を受信するまで待機し(S810)、パラメータMの値が1以上であると判断すると(S850でYes)、S860に移行する。また、S860に移行すると、制御部31は、パラメータi=1に設定し、その後、通信部33を通じて、データ要求信号を、登録数問合せ元のユーザ端末装置50から受信するまで待機する(S870)。
そして、データ要求信号をユーザ端末装置50から受信すると(S870でYes)、上記抽出した履歴データの内、「日時」パラメータが示す日時が古い方からi番目の履歴データを、データ要求元のユーザ端末装置50に送信する(S880)。また、この処理を終えると、制御部31は、i=Mであるか否かを判断し(S890)、i=Mではないと判断すると(S890でNo)、パラメータiの値を1加算して(S895)、S870に移行し、次のデータ要求信号を受信するまで待機する。そして、次のデータ要求信号を受信すると、前回送信した履歴データより一つ新しい履歴データを、データ要求元のユーザ端末装置50に送信する(S880)。このようにして、複合機30の制御部31は、履歴データを一つずつ古い方から順に送信する。
また、S890で、i=Mであると判断すると(S890でYes)、制御部31は、当該印刷履歴提供処理を一旦終了し、その後、S810に移行して、次の登録数問合せ信号を受信するまで待機する。
続いて、スケジュール管理サーバ10の制御部11が、各種プログラムに基づき、実行する処理について、図21及び図22を用いて説明する。図21は、スケジュール管理サーバ10の制御部11が繰返し実行するデータ登録処理を表すフローチャートであり、図22は、スケジュール管理サーバ10の制御部11が、繰返し実行するスケジュールデータ提供処理を表すフローチャートである。
図21に示すように、データ登録処理を開始すると、制御部11は、通信部13を通じて、ユーザ端末装置50から登録要求信号を受信するまで待機し(S910)、登録要求信号を受信すると(S910でYes)、この登録要求信号に格納されたスケジュールデータを、スケジュール管理データに登録する(S920)。その後、当該データ登録処理を終了する。
また、図22に示すように、スケジュールデータ提供処理を開始すると、制御部11は、通信部13を通じて、登録数問合せ信号を受信するまで待機し(S1010)、登録数問合せ信号を受信すると(S1010でYes)、S1020に移行して、登録数問合せ信号が示すユーザIDと一致するユーザIDを、「遂行者」パラメータの値として有するスケジュールデータであって、現在日時より未来の日時を「日時」パラメータの値として有するスケジュールデータを、スケジュール管理データから抽出する。尚、該当するスケジュールデータが、スケジュール管理データ内に複数ある場合には、それら全てをスケジュール管理データから抽出する。
また、S1020での処理を終えると、制御部11は、上記スケジュール管理データから抽出したスケジュールデータの数を、スケジュールデータの登録数として記述したデータを、応答信号として、問合せ元のユーザ端末装置50に送信する(S1030)。また、この処理を終えると、制御部11は、上記抽出したスケジュールデータの数を、パラメータNに設定し(S1040)、パラメータNの値が1以上であるか否かを判断する(S1050)。
そして、パラメータNの値が0であると判断すると(S1050でNo)、当該スケジュールデータ提供処理を一旦終了して、S1010に移行し、次の登録数問合せ信号を受信するまで待機する。一方、パラメータNの値が1以上であると判断すると(S1050でYes)、制御部11は、S1060に移行する。また、S1060に移行すると、制御部11は、パラメータk=1に設定し、その後、通信部13を通じて、データ要求信号を、登録数問合せ元のユーザ端末装置50から受信するまで待機する(S1070)。
また、データ要求信号を登録数問合せ元のユーザ端末装置50から受信すると(S1070でYes)、制御部11は、上記抽出したスケジュールデータの内、「日時」パラメータが示す日時が古い方からk番目のスケジュールデータを、データ要求元のユーザ端末装置50に送信する(S1080)。また、この処理を終えると、制御部11は、S1090に移行し、登録数問合せ元のユーザ端末装置50から再登録要求信号を受信しているか否かを判断する。
そして、再登録要求信号を受信していると判断すると(S1090でYes)、上記抽出したスケジュールデータの内、「日時」パラメータが示す日時が古い方からk番目のスケジュールデータ、及び、このk番目のスケジュールデータに対応するスケジュール管理データ内のスケジュールデータを、受信した再登録要求信号に格納されているスケジュールデータに置き換える(S1100)。その後、S1110に移行する。
また、S1110に移行すると、制御部11は、k=Nであるか否かを判断し(S1110)、k=Nであると判断すると(S1110でYes)、当該スケジュールデータ提供処理を一旦終了し、その後、S1010に移行して、次の登録数問合せ信号を受信するまで待機する。一方、k=Nではないと判断すると(S1110でNo)、S1120に移行する。
また、S1120に移行すると、制御部11は、新しいデータ要求信号を、登録数問合せ元のユーザ端末装置50から受信しているか否かを判断し、新しいデータ要求信号を登録数問合せ元のユーザ端末装置50から受信していないと判断すると(S1120でNo)、S1140に移行し、新しいデータ要求信号を登録数問合せ元のユーザ端末装置50から受信していると判断すると(S1120でYes)、S1130に移行する。
また、S1130に移行すると、制御部11は、パラメータkの値を1加算した後、S1080に移行して、前回送信したスケジュールデータよりも、一つ後ろに位置するスケジュールデータを、ユーザ端末装置50に送信する(S1080)。その後、S1090に移行する。
一方、S1140に移行すると、制御部11は、S1080でのデータ送信後、所定時間が経過しているか否かを判断する。そして、所定時間が経過していないと判断すると(S1140でNo)、S1090に移行して、所定時間が経過するか、再登録要求信号又はデータ要求信号を受信するまで待機する。これに対し、S1140で、所定時間が経過していると判断すると、制御部11は、当該スケジュールデータ提供処理を一旦終了し、その後、S1010に移行して、次の登録数問合せ信号を受信するまで待機する。
続いて、地図サーバ20の制御部21が、各種プログラムに基づき実行する処理について、図23及び図24を用いて説明する。尚、図23は、地図サーバ20の制御部21が繰返し実行する地図サーバ処理を表すフローチャートであり、図24は、地図サーバ20の制御部21が実行する取得先通知処理を表すフローチャートである。
地図サーバ処理を開始すると、制御部21は、通信部23を通じて、ユーザ端末装置50から、場所リストの要求信号を受信しているか否かを判断し(S1210)、場所リストの要求信号を受信していないと判断すると(S1210でNo)、S1230に移行し、場所リストの要求信号を受信していると判断すると(S1210でYes)、S1220に移行する。
また、S1220に移行すると、制御部21は、上記要求信号に対する応答信号として、ランドマークテーブルに登録された各地点の場所を表す値を記述した場所リストデータを、通信部23を通じて、要求元のユーザ端末装置50に送信する。その後、当該地図サーバ処理を一旦終了し、S1210に移行する。
一方、S1230に移行すると、制御部21は、通信部23を通じて、ユーザ端末装置50から、所要時間の問合せ信号を受信しているか否かを判断し、所要時間の問合せ信号を受信していないと判断すると(S1230でNo)、S1260に移行し、所要時間の問合せ信号を受信していると判断すると(S1230でYes)、S1240に移行する。
また、S1240に移行すると、制御部21は、所要時間の問合せ信号に含まれる「出発地」パラメータの値及び「目的地」パラメータの値に基づき、問合せ信号が示す出発地から目的地までの最適な経路を、路線データベース及び地図データベースを用いて検索し、この経路の移動にかかる時間(所要時間)を算出する。また、この処理を終えると、制御部21は、算出した所要時間を表すデータを、応答信号として、問合せ元のユーザ端末装置50に送信する(S1250)。その後、当該地図サーバ処理を一旦終了し、S1210に移行する。
一方、S1260に移行すると、制御部21は、通信部23を通じて、ユーザ端末装置50から、地図取得先データの要求信号を受信しているか否かを判断し、地図取得先データの要求信号を受信していないと判断すると(S1260でNo)、S1280に移行し、地図取得先データの要求信号を受信していると判断すると(S1260でYes)、S1270に移行する。
また、S1270に移行すると、制御部21は、図24に示す取得先通知処理を実行する。この取得先通知処理を実行すると、制御部21は、まずS1310にて、上記受信した要求信号に格納された「目的地」パラメータの値に基づき、要求信号が示す目的地の位置座標Pa(行番号及び列番号)を、ランドマークテーブルから読み出すと共に、この目的地に対応する最寄り交通機関の位置座標Pbを、ランドマークテーブルから読み出す(S1320)。
そして、目的地に対応する位置座標Paのメッシュ及び最寄り交通機関に対応する位置座標Pbのメッシュを、角部として対角線上に含む矩形領域Ra(図4太線内)を、全体地図画像生成範囲に設定し(S1330)、この全体地図画像生成範囲内の地図データに基づいて、領域Ra内の地図を表す地図画像データであって、A4用紙に適合するサイズの地図画像データを生成する(S1340)。
また、S1340での処理を終えると、制御部21は、S1350にて、上記生成した地図画像データに付与する地図IDを決定し、この地図IDに対応付けて、上記生成した地図画像データを記憶部25に保存する。尚、地図IDは、地図画像データの識別コードであり、地図画像データが表す地図の範囲を表すものである。
具体的に、本実施例では、地図画像データが表す地図の範囲(領域Ra又は領域Rb)の4つの各角部の位置座標(行番号及び列番号)を配列してなるコードを、地図IDとして用いる。例えば、地図画像データが表す地図の範囲が、図4に示す領域Raであって、Xe=11,Ye=25,Xb=16,Yb=28である場合には、地図IDとして、値”1125162516281128”を用いる。
また、地図IDと地図画像データとの対応付け方法としては、生成した地図画像データを単一のファイルとして記憶部25に保存することを前提として、地図IDと、地図画像データのファイル名とを関連付けてなるデータを、別途、管理テーブルに保存する方法が考えられるが、本実施例では、上記生成した地図画像データのファイル名を、地図IDと拡張子からなる文字列とすることで、地図画像データを、地図IDと対応付けて、記憶部25に保存する。
このようにして、S1350での処理を終えると、制御部21は、空の地図取得先データを生成し(S1360)、この地図取得先データに、上記生成した地図画像データの取得先URLを書き込む(S1370)。具体的には、取得先URLを記述した図13に示す構成のタグ<地図…(中略)…</地図>を書き込む。尚、図13に示すように、取得先URLには、地図IDの情報が含まれる。
また、S1370での処理を終えると、制御部21は、上記生成した地図画像データが表す地図の長辺、具体的には、領域Raの長辺が3kmより大きいか否かを判断し(S1380)、領域Raの長辺が3kmより大きいと判断すると(S1380でYes)、S1390に移行し、領域Raの長辺が3km以下であると判断すると(S1380でNo)、S1430に移行する。
また、S1390に移行すると、制御部21は、目的地に対応する位置座標Paのメッシュを中心として、この位置座標Paのメッシュと、その周囲のメッシュとからなる合計9メッシュ分の正方領域Rb(1辺が3kmの領域)を、詳細地図画像生成範囲に設定し、この詳細地図画像生成範囲内の地図データに基づき、領域Rb内の地図を表す地図画像データであって、上記領域Ra内の地図より縮尺の大きいA4用紙に適合するサイズの地図画像データを生成する(S1400)。
そして、S1400での処理を終えると、制御部21は、S1410に移行し、S1400で生成した地図画像データに付与する地図IDを決定し、この地図IDに対応付けて、上記生成した地図画像データを記憶部25に保存する。即ち、S1410において、制御部21は、S1350で説明した方法で地図IDを決定し、S1400で生成した地図画像データのファイル名を、上記決定した地図IDと拡張子からなる文字列とし、この地図画像データを、単一のファイルで、記憶部25に保存する。
また、S1410での処理を終えると、制御部21は、送信対象の上記地図取得先データに、S1400で生成した地図画像データの取得先URLを書き込む(S1420)。尚、S1420での実行時には、既に、地図取得先データに、S1340で生成された地図画像データの取得先URLが記述されているため、S1420では、地図取得先データに、追加書込するようにして、S1400で生成した地図画像データの取得先URLを記述する。具体的には、S1370での処理と同様に、取得先URLを記述した図13に示す構成のタグ<地図…(中略)…</地図>を追加書込みする。このようにして、S1420での処理を終えると、制御部21は、S1430に移行する。
また、S1430に移行すると、制御部21は、上記送信対象の地図取得先データを、地図取得先データ要求元のユーザ端末装置50に送信し、当該取得先通知処理を終了する。また、このようにしてS1270での上記取得先通知処理を終了すると、地図サーバ処理を一旦終了し、S1210に移行する。
その他、S1280に移行すると、制御部21は、通信部23を通じて、ユーザ端末装置50から、地図画像データの要求信号(具体的には、地図取得先データにて通知した地図提供プログラムのURLに対する要求信号)を受信しているか否かを判断し、地図画像データの要求信号を受信していないと判断すると(S1280でNo)、当該地図サーバ処理を一旦終了し、S1210に移行する。
一方、地図画像データの要求信号を受信していると判断すると(S1280)、制御部21は、この要求信号に含まれる地図IDの情報に従って、この地図IDが付与された地図画像データを、記憶部25から読み出し、これを、要求元のユーザ端末装置50に送信する(S1290)。その後、当該地図サーバ処理を一旦終了し、S1210に移行する。
以上、本実施例の地図出力制御システム1について説明したが、本実施例の地図出力制御システムでは、ユーザ端末装置50が、スケジュール登録処理にて、ユーザ操作により操作部59から入力される信号に従い、ユーザの行先を「場所」パラメータの値として記し、行先でのイベント発生日時を「日時」パラメータの値として記したスケジュールデータを生成し、これをスケジュール管理サーバ10の記憶部15に登録する(本発明の登録手段に相当)。
また、ユーザ端末装置50は、S480で実行する地図検索処理にて、記憶部55が記憶する複合機30の所在地を表す所在地データを読み出し(S481:本発明の位置情報取得手段に相当)、記憶部15が記憶する未来のスケジュールデータ毎に、スケジュールデータが示す行先周囲の地図を印刷する必要があるか否かを、スケジュールデータにおける「場所」パラメータの値と、所在地データが示す複合機30の所在地を表す「場所」パラメータの値とに基づいて、判断する。そして、複合機30の所在地と一致する行先が記されたスケジュールデータについては、このスケジュールデータが示す行先周囲の地図を、印刷する必要がないと判断する(S487,S500でYes)。
また、本実施例の地図出力制御システム1では、ユーザ端末装置50が、S627で、地図のプリントデータを送信した後、印刷履歴登録用のプロパティデータを、複合機30に送信し(S633)、複合機30が、このプロパティデータを受けて、印刷対象の地図の場所及び印刷者を記した履歴データを生成し、これを記憶部41の印刷履歴データに保存する(S770)。これによって、当該地図出力制御システム1では、印刷履歴データ内に、印刷した地図の場所をリストアップする(本発明の履歴情報生成手段に相当)。
その他、本実施例では、ユーザ端末装置50が、S510で実行する印刷履歴確認処理にて、記憶部15が記憶する未来のスケジュールデータ毎に、スケジュールデータが示す行先周囲の地図の印刷履歴(履歴データ)が、印刷履歴データに登録されているか否かを判断し(S523)、印刷履歴が登録されているスケジュールデータについては、スケジュールデータが示す行先周囲がユーザにとって既知の場所であるとして(S525)、このスケジュールデータが示す行先周囲の地図を印刷する必要がないと判断する(S530でYes)。
そして、印刷する必要がないと判断した(S500でYes,S530でYes)スケジュールデータが示す行先周囲の地図については、印刷開始日時を設定しないことにより、その印刷を禁止し、印刷する必要があると判断した(S530でNo)スケジュールデータについては、印刷開始日時を設定することにより(S540,S590)、印刷する必要があると判断したスケジュールデータが示す行先周囲の地図を、選択的に、複合機30に印刷させる(S470,S600,S610:本発明の地図印刷制御手段に相当)。
このように、本実施例の地図出力制御システム1では、スケジュールデータに基づき、地図印刷を行うので、ユーザは、地図の収集作業を単独で行う必要がなく、スケジュールの登録操作を行う程度で、行先周囲の地図を、複合機30から得ることができる。
また、本実施例の地図出力制御システム1では、スケジュールデータが示す行先の情報に基づき、行先周囲の地図の印刷要否を判断するので、行先が複合機30(ユーザ)の所在地と一致していたり、行先が既知の場所である等、行先周囲の地図がユーザにとって不要である場合に、この地図を、印刷せずに済む。従って、本実施例によれば、ユーザの行先周囲の地図を、紙資源等を浪費することなく、ユーザの必要に合わせて、自動的に、ユーザに提供することができる。
その他、本実施例の地図出力制御システム1では、行先周囲の地図を印刷する必要があると判断したスケジュールデータ毎に、S541〜S547の処理にて、複合機30の所在地からスケジュールデータが示す行先までの移動にかかる時間(所要時間)を算出し、この算出結果と、スケジュールデータが示すイベント発生日時とに基づき、行先へ移動する際のユーザの出発日時を算出し(S549)、算出した出発日時が、一日の内の予め定められた業務時間内である場合(S551でNo)、S555にて、この出発日時を印刷開始日時に決定し、算出した出発日時が、予め定められた時間外である場合(S551でYes)、S553にて、この出発日時より前に存在する業務時間内の所定時刻(業務終了時刻10分前)に、印刷開始日時を決定する(本発明の日時設定手段に相当)。
そして、上記決定した印刷開始日時を、S589にて、スケジュールデータに設定し、この印刷開始日時に、各スケジュールデータが示す行先周囲の地図を、複合機30に印刷させる(S470,S600,S610)。
従って、この地図出力制御システム1では、ユーザのスケジュールに合わせて、適切なタイミングで、ユーザの行先周囲の地図を複合機30に印刷させ、これをユーザに提供することができ、スケジュールデータ登録時など、早い時期に地図をユーザに提供することによって、ユーザによる印刷物(地図)の管理が煩雑になるのを防止することができる。
その他、本実施例では、ユーザが、複合機30のある職場に寄らずに、直接、自宅からスケジュールデータが示す行先に移動する場合を考慮して、出発日時が業務時間外となる場合、印刷開始日時を、それより前の業務時間内に設定するようにした。従って、本実施例によれば、ユーザが、業務時間外に、複合機30の印刷物を受け取ることができない場所(自宅等)から、行先に移動する際にも、適切なタイミングで、地図をユーザに提供することができる。
また、本実施例では、S553,S555で決定した印刷開始日時に、ユーザが印刷物(地図)を受け取れるか否かを、ユーザのスケジュールデータに基づいて判断し(S561〜S566:本発明の適正判断手段に相当)、上記決定した印刷開始日時に、ユーザが印刷物を受け取れない場合(S566でYes)、ユーザのスケジュールデータに基づき、S553,S555で決定した印刷開始日時を、それより前の日時であって、ユーザが印刷物を受け取れる状態にある日時に補正する(S567〜S587:本発明の補正手段に相当)ようにした。従って、本実施例では、外出するスケジュールが連続する場合などにも、ユーザが受け取ることのできるように、地図を複合機30に印刷させることができる。
また、本実施例では、最寄り交通機関及び行先を含む地域Raの地図を、複合機30に印刷させる際に、地点Pa,Pb間の距離に基づき、行先周囲の詳細な地図を印刷する必要があるか否かを判断し(S1380:本発明の詳細地図要否判断手段)、詳細な地図を印刷する必要がないと判断した場合には(S1380でNo)、最寄り交通機関及び行先を含む地域Raの地図についての取得先URLのみをユーザ端末装置50に提供することで、複合機30に、最寄り交通機関及び行先を含む地域Raの地図のみを印刷させるようにした(M=1である場合のS623〜SS631:本発明の第一の印刷制御モードに相当)。
その他、本実施例では、詳細な地図を印刷する必要あると判断した場合(S1380でYes)、最寄り交通機関及び行先を含む地域Raの地図についての取得先URL及び行先周囲の地域Rbの地図であって、地域Raの地図より縮尺の大きい地図についての取得先URLを、ユーザ端末装置50に提供することで、複合機30に、最寄り交通機関及び行先を含む地域Raの地図と、これより縮尺の大きい地域Rbの地図とを印刷させるようにした(M=2である場合のS623〜S631:本発明の第二の印刷制御モードに相当)。
このように、本実施例では、最寄り交通機関から行先までの距離によらず、地図サイズをA4用紙に適合するサイズに保持するようにして、最寄り交通機関及び行先を含む地域Raの地図を複合機30に印刷させるが、最寄り交通機関から行先までの距離が長い場合には、縮尺の大きい地域Rbの地図を、複合機30に印刷させるので、最寄り交通機関及び行先を含む地域Raの地図の縮尺が小さくなりすぎることにより、ユーザが行先までの経路を判別することができなくなるのを防止することができる。
尚、本発明の地図出力制御システム及びプログラムは、上記実施例に限定されるものではなく、種々の態様を採ることができる。例えば、上記実施例では、地図サーバ20に、路線データベースを設けて、地図サーバ20に路線(経路)探索機能を設けたが、地図サーバ20とは別サーバに、路線データベースを設けて、このサーバに、路線(経路)探索機能を設けてもよい。