(57)【要約】【課題】会議等のイベント間の移動距離を考慮して、最も移動効率のよいスケジュールを決定するスケジュール調整装置およびスケジュール調整プログラムを提供する。【解決手段】会議等の新規イベントのデータが入力されると、ユーザの個人スケジュールおよび会議室データが取得され（Ｓ２０４）、取得されたデータに基づき候補日程が抽出される（Ｓ２０８）。そして、新規イベントの直前のユーザの居場所から各候補日程の候補場所への移動距離に応じて算出された重要度（Ｓ２０９）を考慮して、新規イベントのスケジュールが決定される（Ｓ２１０〜Ｓ２１３）。これにより、ユーザが同じ場所を行ったり来たりする、遠回りをする等の無駄のない、移動効率のよいスケジュールを自動的に決定することができる。【選択図】図８
2008090409.tif 000002
【特許請求の範囲】
【請求項１】
入力に応じて新規イベントの開催スケジュールを調整するスケジュール調整装置において、
新規イベントの希望開催日時、希望開催場所、および所要時間のうち少なくとも１つならびに参加メンバーを含む、新規イベント情報を入力する入力手段と、
ユーザの識別情報、ユーザの通常の居場所である基準場所ならびにすでに登録された既存イベントの登録日時および登録場所を含む、個人スケジュール情報を記憶した個人スケジュール記憶手段から、前記個人スケジュール情報を取得する個人スケジュール情報取得手段と、
会議室の場所、日時、および会議室の場所と日時に対応した会議予約を含む、複数の会議室の予約情報を記憶した会議室情報記憶手段から、前記予約情報を取得する会議室情報取得手段と、
前記入力手段により入力された前記新規イベント情報、前記個人スケジュール情報取得手段により取得された前記個人スケジュール情報、前記会議室情報取得手段により取得された前記予約情報に基づいて、前記新規イベントが開催可能な候補日時および候補場所からなる新規イベント候補日程を選択する候補日程選択手段と、
前記候補日程選択手段により選択された前記新規イベント候補日程の各々について、前記新規イベント候補日程の前記候補場所と前記新規イベント候補日程の直前または直後に登録された前記既存イベントの前記登録場所との移動距離、もしくは前記新規イベント候補日程の前記候補場所と前記基準場所との間の移動距離を考慮して、前記新規イベント候補日程のいずれかを新規スケジュールとして決定するスケジュール決定手段と、
前記スケジュール決定手段により決定された前記新規スケジュールを、前記参加メンバーに通知するスケジュール通知手段と、
前記スケジュール決定手段により決定された前記新規スケジュールを、前記個人スケジュール記憶手段および会議室情報記憶手段に登録するスケジュール登録手段と、
を備えたことを特徴とするスケジュール調整装置。
【請求項２】
前記スケジュール決定手段は、
前記新規イベント候補日程の直前に前記既存イベントが存在する場合には、前記既存イベントの登録場所と前記新規イベント候補日程の候補場所との間の移動距離が最も短くなる前記新規イベント候補日程を前記新規スケジュールとして決定し、
前記新規イベント候補日程の直前に前記既存イベントが存在しない場合には、前記新規イベント候補日程の候補場所と前記新規イベント候補日程の直後に存在する前記既存イベントの登録場所との間の移動距離、または前記基準場所と前記新規イベント候補日程の候補場所との間の移動距離が最も短くなる前記新規イベント候補日程を前記新規スケジュールとして決定する請求項１に記載のスケジュール調整装置。
【請求項３】
前記スケジュール決定手段は、
前記新規イベント候補日程の直前に前記既存イベントが存在する場合であって、前記既存イベントの登録場所と前記新規イベント候補日程の候補場所との間の前記移動距離が最も短くなる前記新規イベント候補日程が複数存在する場合には、前記新規イベント候補日程の候補場所と前記新規イベント候補日程の直後に存在する前記既存イベントの登録場所との間の移動距離、または前記ユーザの基準場所と前記新規イベント候補日程の候補場所との間の移動距離が最も短くなる前記新規イベント候補日程を前記新規スケジュールとして決定することを特徴とする請求項２に記載のスケジュール調整装置。
【請求項４】
前記新規イベント候補日程の前記候補場所と前記新規イベント候補日程の直前または直後に登録された前記既存イベントの前記登録場所との移動距離、もしくは前記新規イベント候補日程の前記候補場所と前記基準場所との間の移動距離について、前記移動距離が短くなるほど高くなる重要度を算出する重要度算出手段をさらに備え、
前記スケジュール決定手段は、前記重要度算出手段により算出された前記重要度を考慮して、前記新規スケジュールを決定することを特徴とする請求項１乃至３のいずれかに記載のスケジュール調整装置。
【請求項５】
前記通知手段により通知された前記新規スケジュールについて、前記個人スケジュール情報取得手段により取得された前記個人スケジュール情報における前記新規スケジュールの直後に登録された前記既存イベントの前記重要度に基づいて、前記新規スケジュールの了承の可否を判定する新規スケジュール判定手段と、
前記新規スケジュール判定手段の判定結果を通知元に通知する了承可否通知手段をさらに備えたことを特徴とする請求項１乃至４のいずれかに記載のスケジュール調整装置。
【請求項６】
前記候補日程選択手段が候補日程選択に用いる前記個人スケジュール情報は、前記新規イベント情報に含まれる参加メンバーのうち少なくとも１名の前記個人スケジュール情報であることを特徴とする請求項１乃至５のいずれかに記載のスケジュール調整装置。
【請求項７】
前記スケジュール決定手段がスケジュール決定に用いる前記既存イベントは、前記新規イベント情報に含まれる参加メンバーのうち少なくとも１名の前記個人スケジュール情報に含まれる前記既存イベントであることを特徴とする請求項１乃至６のいずれかに記載のスケジュール調整装置。
【請求項８】
請求項１乃至７のいずれかに記載のスケジュール調整システムの各種処理手段としてコンピュータを機能させるためのスケジュール調整プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スケジュール調整装置およびスケジュール調整プログラムに関し、より具体的には、会議等のイベント間の移動距離を考慮して、イベント参加者のスケジュールを調整する装置およびプログラムに関する。
【背景技術】
【０００２】
従来から、ユーザの必要最小限の介在のもとに、ユーザの意図を理解して自律的な判断に基づいた処理を実行するエージェントが、会議等のイベント参加者のスケジュールを調整するシステムが知られている。例えば特許文献１に記載の発明のスケジュール調整システムでは、ユーザがある名称の会議の開催を指示すると、エージェントは、過去の履歴情報を参照して、最も出席頻度の高いメンバーの組合せ、最も開催頻度の高い会議室、会議の平均優先度を含む会議条件を最初に提示する。そして、ユーザの変更または承認によって会議条件の設定が完了すると、エージェントは自動的に参加メンバーのスケジュールを問い合わせ、最適な時間帯を選択して新規スケジュールを決定する。なお、エージェントが最適な時間帯を選択するにあたっては、会議室の空き状況、区切りのいい時間帯、必ず出席してほしいという重要メンバー、過去の会議の開催日時等を考慮している。
【特許文献１】特開平９−９１３４１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、特許文献１に記載されているスケジュール調整システムでは、イベントの開催場所（会議室）を決定するとき、エージェントが過去の履歴を参照し、最も多く利用されている会議室を優先的に選択している。よって、連続して複数の会議が続く場合に、同じ場所を行ったりきたりする、または遠回りをするというように、非効率的な移動をしなければならない場合があった。
【０００４】
本発明は、上記問題点を解決するためになされたものであり、会議等のイベント間の移動距離を考慮して、最も移動効率のよいスケジュールを決定するスケジュール調整装置およびスケジュール調整プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成するために、請求項１に係る発明のスケジュール調整装置は、入力に応じて新規イベントの開催スケジュールを調整するスケジュール調整装置において、新規イベントの希望開催日時、希望開催場所、および所要時間のうち少なくとも１つならびに参加メンバーを含む、新規イベント情報を入力する入力手段と、ユーザの識別情報、ユーザの通常の居場所である基準場所ならびにすでに登録された既存イベントの登録日時および登録場所を含む、個人スケジュール情報を記憶した個人スケジュール記憶手段から、前記個人スケジュール情報を取得する個人スケジュール情報取得手段と、会議室の場所、日時、および会議室の場所と日時に対応した会議予約を含む、複数の会議室の予約情報を記憶した会議室情報記憶手段から、前記予約情報を取得する会議室情報取得手段と、前記入力手段により入力された前記新規イベント情報、前記個人スケジュール情報取得手段により取得した前記個人スケジュール情報、前記会議室情報取得手段により取得した前記予約情報に基づいて、前記新規イベントが開催可能な候補日時および候補場所からなる新規イベント候補日程を選択する候補日程選択手段と、前記候補日程選択手段により選択された前記新規イベント候補日程の各々について、前記新規イベント候補日程の前記候補場所と前記新規イベント候補日程の直前または直後に登録された前記既存イベントの前記登録場所との移動距離、もしくは前記新規イベント候補日程の前記候補場所と前記基準場所との間の移動距離を考慮して、前記新規イベント候補日程のいずれかを新規スケジュールとして決定するスケジュール決定手段と、前記スケジュール決定手段により決定された前記新規スケジュールを、前記参加メンバーに通知するスケジュール通知手段と、前記スケジュール決定手段により決定された前記新規スケジュールを、前記個人スケジュール記憶手段および会議室情報記憶手段に登録するスケジュール登録手段とを備えている。
【０００６】
また、請求項２に係る発明のスケジュール調整装置は、請求項１に記載の発明の構成に加え、前記スケジュール決定手段が、前記新規イベント候補日程の直前に前記既存イベントが存在する場合には、前記既存イベントの登録場所と前記新規イベント候補日程の候補場所との間の移動距離が最も短くなる前記新規イベント候補日程を前記新規スケジュールとして決定し、前記新規イベント候補日程の直前に前記既存イベントが存在しない場合には、前記新規イベント候補日程の候補場所と前記新規イベント候補日程の直後に存在する前記既存イベントの登録場所との間の移動距離、または前記基準場所と前記新規イベント候補日程の候補場所との間の移動距離が最も短くなる前記新規イベント候補日程を前記新規スケジュールとして決定することを特徴とする。
【０００７】
また、請求項３に係る発明のスケジュール調整装置は、請求項２に記載の発明の構成に加え、前記スケジュール決定手段が、前記新規イベント候補日程の直前に前記既存イベントが存在する場合であって、前記既存イベントの登録場所と前記新規イベント候補日程の候補場所との間の前記移動距離が最も短くなる前記新規イベント候補日程が複数存在する場合には、前記新規イベント候補日程の候補場所と前記新規イベント候補日程の直後に存在する前記既存イベントの登録場所との間の移動距離、または前記ユーザの基準場所と前記新規イベント候補日程の候補場所との間の移動距離が最も短くなる前記新規イベント候補日程を前記新規スケジュールとして決定することを特徴とする。
【０００８】
また、請求項４に係る発明のスケジュール調整装置は、請求項１乃至３のいずれかに記載の発明の構成に加え、前記新規イベント候補日程の前記候補場所と前記新規イベント候補日程の直前または直後に登録された前記既存イベントの前記登録場所との移動距離、もしくは前記新規イベント候補日程の前記候補場所と前記基準場所との間の移動距離について、前記移動距離が短くなるほど高くなる重要度を算出する重要度算出手段をさらに備え、前記スケジュール決定手段は、前記重要度算出手段により算出された前記重要度を考慮して、前記新規スケジュールを決定することを特徴とする。
【０００９】
また、請求項５に係る発明のスケジュール調整装置は、請求項１乃至４のいずれかに記載の発明の構成に加え、前記通知手段により通知された前記新規スケジュールについて、前記新規スケジュールの開催場所と、前記個人スケジュール情報取得手段により取得した前記個人スケジュール情報における前記新規スケジュールの直後に登録された前記既存イベントの登録場所との移動距離を考慮して、前記新規スケジュールの了承の可否を判定する新規スケジュール判定手段と、前記新規スケジュール判定手段の判定結果を通知元に通知する了承可否通知手段をさらに備えたことを特徴とする。
【００１０】
また、請求項６に係る発明のスケジュール調整装置は、請求項１乃至５のいずれかに記載の発明の構成に加え、前記候補日程選択手段が候補日程選択に用いる前記個人スケジュール情報は、前記新規イベント情報に含まれる参加メンバーのうち少なくとも１名の前記個人スケジュール情報であることを特徴とする。
【００１１】
また、請求項７に係る発明のスケジュール調整装置は、請求項１乃至６のいずれかに記載の発明の構成に加え、前記スケジュール決定手段がスケジュール決定に用いる前記既存イベントは、前記新規イベント情報に含まれる参加メンバーのうち少なくとも１名の前記個人スケジュール情報に含まれる前記既存イベントであることを特徴とする。
【００１２】
さらに、請求項８に係る発明のスケジュール調整プログラムは、請求項１乃至７のいずれかに記載のスケジュール調整装置の各種処理手段としてコンピュータを機能させる。
【発明の効果】
【００１３】
請求項１に係る発明のスケジュール調整装置では、スケジュール調整を希望するユーザによって、会議等の新規イベント情報が入力手段から入力されると、入力された新規イベント情報、ユーザの個人スケジュールデータ、およびイベントの開催場所候補である会議室データを基に候補日程が選択され、候補日程の候補場所と候補日程の前または後にすでに登録されている既存イベントとの間の移動距離またはユーザの通常の居場所との間の移動距離を考慮してスケジュール決定が行われれる。したがって、連続して複数の会議が続く場合に、同じ場所を行ったりきたりする、または遠回りをするというような、非効率的な移動を伴うスケジュールが決定されるのを回避することができる。
【００１４】
また、請求項２に係る発明のスケジュール調整装置では、新規イベントの候補日程の直前にすでに登録された既存イベントがあれば、まず、その既存イベントからの移動距離を考慮し、直前に既存イベントがなければ、直後に登録された既存イベントへの移動距離、またはユーザの通常の居場所である基準場所との移動距離を考慮するという順番で、いずれの場合も、考慮した移動距離が最短となるようなスケジュールが決定される。したがって、請求項１に記載の発明の効果に加えて、移動効率のよいスケジュール調整処理を系統的に行うことができる。
【００１５】
請求項３に係る発明のスケジュール調整装置では、新規イベントの候補日程の直前にすでに既存イベントがあって、その既存イベントからの移動距離が最短となる候補日程が複数ある場合には、直後に登録された既存イベントへの移動距離か、ユーザの通常の居場所である基準場所との移動距離が最短となるスケジュールが決定される。したがって、請求項２に記載の発明の効果に加えて、さらに移動効率のよいスケジュール調整処理を系統的に行うことができる。
【００１６】
また、請求項４に係る発明のスケジュール調整装置では、新規イベントとその直前または直後の既存イベントとの間の移動距離または基準場所と新規イベントとの間の移動距離が、移動距離が短くなるほど高くなる重要度として算出されるため、請求項１乃至３のいずれかに記載の発明の効果に加えて、移動距離の長短を簡便に比較することができる。
【００１７】
また、請求項５に係るスケジュール調整装置では、参加メンバーに通知された新規スケジュールについて、新規スケジュールとその直後の既存イベントとの間の移動距離に基づいてスケジュールを了承するか否かを判断し、その結果を通知元に通知するため、請求項１乃至４のいずれかに記載の発明の効果に加えて、判断結果が否だった場合には、通知元はスケジュールを変更して、参加メンバーの出席率を高めることができる。
【００１８】
また、請求項６に係るスケジュール調整装置では、参加メンバーのうち少なくとも１名の個人スケジュール情報を候補日程を選択する際に用いるため、請求項１乃至５のいずれかに記載の発明の効果に加えて、特定の参加メンバーが参加可能な候補日程を確実に選択することができる。
【００１９】
また、請求項７に係るスケジュール調整装置では、参加メンバーのうち少なくとも１名の個人スケジュール情報に含まれる既存イベントの情報に基づいて移動距離を考慮するため、請求項１乃至６のいずれかに記載の発明の効果に加えて、特定の参加メンバーにとって最も移動効率のよいスケジュール調整を行うことができる。
【００２０】
さらに、請求項８に係るスケジュール調整プログラムは、請求項１乃至７のいずれかに記載のスケジュール調整装置の各種処理手段としてコンピュータを機能させることができる。したがって、請求項１乃至７の何れかに記載の発明の効果を奏することができる。
【発明を実施するための最良の形態】
【００２１】
以下、本発明を具体化したスケジュール調整装置の実施の形態について、図面を参照して説明する。なお、これらの図面は、本発明が採用しうる技術的特徴を説明するために用いられるものであり、記載されている装置の構成、各種処理のフローなどは、特に特定的な記載がない限り、それのみに限定する趣旨ではなく、単なる説明例である。
【００２２】
<第１の実施形態>
まず、図１〜図２１を参照して、本発明の第１の実施の形態に係るスケジュール調整システム１について説明する。スケジュール調整システム１は、以下に詳述するように、ネットワークを介して接続されたサーバ１１とユーザ端末２０のうち、ユーザ端末２０が主なスケジュール調整機能を有するものである。
【００２３】
最初に、図１〜図３を参照して、本実施形態に係るスケジュール調整システム１の概略構成について説明する。図１は、スケジュール調整システム１のシステム構成図である。図２は、スケジュール調整システム１の備えるサーバ１１の電気的構成を示すブロック図である。図３は、スケジュール調整システム１の備えるユーザ端末２１の電気的構成を示すブロック図である。
【００２４】
図１に示すように、スケジュール調整システム１は、サーバ１１と、サーバ１１にネットワークを介して接続されたユーザ端末２１、２２、ほか複数のユーザ端末２０を備えている。スケジュール調整システム１では、ユーザ端末２０のユーザ２００がユーザ端末２０からネットワークを介してサーバ１１にアクセスし、必要なデータを入手して、ユーザ端末２０において後述するスケジュール調整処理を行う。なお、これ以降、「ユーザ端末２０」という場合には、複数のユーザ端末２１、２２・・・他のすべてのユーザ端末を総称するか、または不特定のユーザ端末を指し、「ユーザ端末２１」という場合には、ある特定の「ユーザ端末２１」を指すものとする。また、各ユーザ端末２０は、それぞれについてユーザが特定されており、「ユーザ２００」という場合には、不特定のユーザ端末２０のユーザを指し、「ユーザ２０１」という場合には、「ユーザ端末２１のユーザ２０１」を指すものとする。
【００２５】
次に、図２のブロック図を参照して、サーバ１１の電気的構成について説明する。図２に示すように、サーバ１１には、サーバ１１の制御を司るＣＰＵ１１１１、ＢＩＯＳ等を記憶したＲＯＭ１１１２、および各種データを一時的に記憶する記憶エリアを有するＲＡＭ１１１３を備えた制御部１１１が設けられており、ＲＯＭ１１１２およびＲＡＭ１１１３は、それぞれＣＰＵ１１１１に接続されている。そして、ＣＰＵ１１１１にはさらに、データバス１１０を介して、後述する記憶装置１１２、各種データの入力を行うためのキーボード１１３、各種データを表示するディスプレイ１１４、ネットワークを介して行われるユーザ端末２０との通信を制御する通信制御部１１５、ＣＤ−ＲＯＭ等の記憶媒体を駆動する記憶媒体駆動装置１１６、およびデータの受け渡しの仲介を行う入出力インターフェース（Ｉ／Ｆ）１１７とが接続されている。
【００２６】
サーバ１１の記憶装置１１２には、複数の記憶エリアが設けられており、そのうちの１つには、後述する会議室データが格納された会議室スケジュールデータベース１１２３が記憶されている。また、他の１つの記憶エリアには、ユーザ端末２０のすべてのユーザ２００の識別コード、氏名、部署、役職、電話番号、電子メールアドレス等の個人情報が格納されたパーソナルデータデータベース１１２４が記憶されている。さらに、図示しないが、他の記憶エリアには、ＣＰＵ１１１１で実行される各種プログラム等が記憶されている。
【００２７】
ここで、図１２を参照して、会議室スケジュールデータベース１１２３に格納された会議室データついて説明する。図１２は、会議室データ表示例の説明図である。会議室スケジュールデータベース１１２３には、サーバ１１の管理する会議室毎に、会議室の「名称」、「場所」、「予約の日時」、「予約の登録者」、「会議」や「セミナー」といった「イベントの区分」、「イベント参加メンバー」等の会議室データが記憶されている。図１２は、会議室データの表示画面の１例である会議室予約状況表示画面６１に、「２００６年８月１日」をサーバ１１のキーボード１１３またはネットワークによりサーバ１１に接続されたユーザ端末２１のキーボード２１３（後述）により指定して、この日の会議室データを表示させた状態を示している。この例の会議室データでは、「名称」として「本社２Ｆ第１会議室」、「本社２Ｆ第２会議室」、「本社２Ｆ第３会議室」、「第１工場２Ｆ第１会議室」、「第１工場３Ｆ第２会議室」、「第２工場３Ｆ会議室Ａ」および「第２工場４Ｆ会議室Ｂ」が登録されており、それぞれに対応する「場所」として、「本社２Ｆ」、「本社２Ｆ」、「本社２Ｆ」、「第１工場２Ｆ」、「第１工場３Ｆ」、「第２工場３Ｆ」および「第２工場４Ｆ」が登録されている。また、例えば「本社２Ｆ第１会議室」の会議室データでは、「予約の日時」として、「２００６年８月１日  １１：００〜１２：００」、「２００６年８月１日  １４：００〜１５：００」のデータが登録されている。そして、図示しないが、これらの予約に対応して、予約の登録者、「会議」や「セミナー」といったイベントの区分、イベント参加メンバー等、予約の詳細に関するデータも登録されている。
【００２８】
次に、図３のブロック図を参照して、複数のユーザ端末２０の１つであるユーザ端末２１の電気的構成について説明する。なお、各ユーザ端末２０は、いずれも以下に説明するユーザ端末２１と同じ構成を有している。図３に示すように、ユーザ端末２１には、サーバ１１と同様、ユーザ端末２１の制御を司るＣＰＵ２１１１、ＢＩＯＳ等を記憶したＲＯＭ２１１２、および各種データを一時的に記憶する記憶エリアを有するＲＡＭ２１１３を備えた制御部２１１が設けられており、ＲＯＭ２１１２およびＲＡＭ２１１３は、それぞれＣＰＵ２１１１に接続されている。そして、ＣＰＵ２１１１にはさらに、データバス２１０を介して、後述する記憶装置２１２、各種データの入力を行うためのキーボード２１３、各種データを表示するディスプレイ２１４、ネットワークを介して行われるサーバ１１との通信を制御する通信制御部２１５、ＣＤ−ＲＯＭ等の記憶媒体を駆動する記憶媒体駆動装置２１６、およびデータの受け渡しの仲介を行う入出力インターフェース（Ｉ／Ｆ）２１７とが接続されている。
【００２９】
ユーザ端末２１の記憶装置２１２には、複数の記憶エリアが設けられており、そのうちの１つには、キーボード２１３を用いたユーザ２０１からの入力や、他のユーザ端末２２等からの通知を受けて、スケジュール調整処理を行うスケジュール調整プログラム２１２１が記憶されている。このスケジュール調整プログラムにつては、後で詳述する。また、他の１つの記憶エリアには、後述するユーザ端末２１のユーザ２０１個人のスケジュールデータを格納した個人スケジュールデータベース２１２２が記憶されている。さらに、図示しないが、記憶装置２１２には他に、ＣＰＵ２１１１で実行される各種プログラムを記憶する記憶エリア、後述する応答記憶エリア、チェック日時記憶エリア等が設けられている。
【００３０】
ここで、図１５を参照して、個人スケジュールデータベース２１２２に格納された個人スケジュールデータについて説明する。図１５の左側の図は、個人スケジュールデータの表示例の説明図である。個人スケジュールデータベース２１２２には、ユーザ端末２１のユーザ２０１の「識別コード」、「氏名」、「イベントの開催日時」、「会議」や「セミナー」といった「イベントの区分」、「イベントの開催場所」、「イベント参加メンバー」等のスケジュールデータが登録されている。図１５は、個人スケジュールデータの表示画面の１例であるスケジュール表７１に、「２００６年８月１日」をユーザ端末２１のキーボード２１３により指定して、この日のユーザ２０１のスケジュールデータを表示させた状態を示している。この例では、図示していないが、「識別コード」にはユーザ２０１固有の「社員コード」が登録されており、「氏名」にはユーザ２０１の氏名である「Ａ」が登録されている。そして、図１５に示す会議７１１について、「イベントの開催日時」として「２００６年８月１日  ９：００〜１０：００」が、「イベントの区分」として「会議」が、「イベントの開催場所」として「本社２Ｆ第１会議室」がそれぞれ登録されるとともに、「イベント参加メンバー」として参加メンバー「Ｃ、Ｄ、Ｅ」が登録されている（図示外）。その他、「定例打合せ」や「役員会」といった「イベントの名称」等を登録することも可能である。
【００３１】
次に、図４〜図６を参照して、ユーザ端末２１のＣＰＵ２１１１において実施されるスケジュール調整プログラム２１２１の全体処理について説明する。図４は、ユーザ端末２１の新規スケジュール入力画面５１の模式図であり、図５および図６は、スケジュール調整プログラム２１２１の全体処理のフローチャートである。
【００３２】
図５および図６に示す全体処理は、ユーザ端末２１において、スケジュール調整プログラム２１２１が起動されると開始される。その後、ユーザ２０１がプログラムメニューから「新規スケジュール登録」を選択して、会議等、新規イベントのスケジュールを登録する旨の指示を行うと（Ｓ１：ＹＥＳ）、図４に示す新規スケジュール入力画面５１がディスプレイ２１４に表示される（Ｓ２）。この新規スケジュール入力画面５１は、スケジュール調整プログラム２１２１による新規イベントのスケジュール調整を希望するユーザ２０１が、ユーザ端末２１のキーボード２１３を用いて新規イベント情報を入力する画面である。
【００３３】
ここで、図４に示す新規スケジュール入力画面５１の入力項目について、具体的に説明する。まず、「区分」欄５１１には、「会議」、「外出」、「出張」の３区分が設けられており、これらのいずれか１つのチェックボックスをクリックすることにより、新規イベントの区分の選択を行うことができる。新規イベントの開催希望日時を指定する「日時」欄５１２には、特定の日時を指定する「指定日時」欄５１２１と、日時まで特定できない場合に、一定の幅をもたせて、「この期間内ならばよい」という期間を特定する「指定期間」欄５１２２が設けられている。また、新規イベントの所要時間を入力する「所要時間」欄５１３、開催希望場所を入力する「場所」欄５１４、参加を要請するメンバーを入力する「参加メンバー」欄５１５、および会議の名称等、新規イベントの内容を入力する「内容」欄５１６が設けられている。「参加メンバー」欄５１５は、複数の氏名を入力できるように、複数の入力欄５１５１〜５１５６に分けられている。なお、本実施形態では、「参加メンバー」欄５１５１に入力された「Ａ」は「ユーザ２０１」であるものとする。
【００３４】
さらに、新規スケジュール入力画面５１の右下には、「設定」ボタン５１７が設けられており、これをクリックすることで、入力したデータが後述するスケジュール決定処理（Ｓ４、図７〜１１参照）で考慮される条件として設定され、ＲＡＭ２１１３に記憶されて、入力受付が完了する（図５、Ｓ３）。なお、本実施形態では、「所要時間」欄５１３および「参加メンバー」欄５１５は必須入力項目とされており、入力がされないまま「設定」ボタン５１７がクリックされると、エラー音が発せられ、次の処理には進めないよう構成されている。
【００３５】
図５に示す全体処理において、入力が受け付けられると（Ｓ３）、ＣＰＵ２１１１は、続いて、後に詳述するスケジュール決定処理（Ｓ４、図７〜図１１参照）を行う。そして、処理途上でエラーが生じたか否かをエラーフラグのＯＮ／ＯＦＦに基づいて判断する（Ｓ５）。エラーがあった場合には（Ｓ５：ＹＥＳ）、処理をキャンセルするか否かの選択ボタンをディスプレイ２１４に表示し（図示外）、「キャンセルする」が選択された場合は（Ｓ６：ＹＥＳ）、新規スケジュール登録指示が行われたか否かの判断処理に戻る（Ｓ１）。また、「キャンセルしない」が選択された場合には（Ｓ６：ＮＯ）、新規スケジュール入力画面５１に戻り（Ｓ２）、入力条件を変更して、再びスケジュール決定処理を行うことができる（Ｓ３〜Ｓ４）。一方、スケジュール決定処理（Ｓ４）においてエラーが生じなかった場合には（Ｓ５：ＮＯ）、図４に示す新規スケジュール入力画面５１の「参加メンバー」欄５１５に入力された参加メンバーＣ（ユーザ２０３）、Ｄ（ユーザ２０４）、Ｅ（ユーザ２０５）の利用するユーザ端末２３、２４、２５に、スケジュール決定処理（Ｓ４、図７〜図１１参照）において決定された新規スケジュールの区分、日時、所要時間、場所、参加メンバーおよび内容（会議名称）を含む「新規スケジュール登録依頼通知」を送信する（Ｓ７）。なお、参加メンバーＡは、スケジュール調整を指示した本人のユーザ２０１であるため、送信先から除かれる。
【００３６】
参加メンバーに「新規スケジュール登録依頼通知」を送信すると（Ｓ７）、ＣＰＵ２１１１は、記憶装置２１２に設けられた記憶エリアの１つである応答記憶エリア（図示外）をクリアする（Ｓ８）。この応答記憶エリアは、後述する参加メンバーＣ、ＤおよびＥからの新規スケジュールを了承するか否かに関する応答を記憶しておくエリアである。そして、参加メンバーＣ、ＤおよびＥからの応答のために待機する期限であるチェック日時を、例えばユーザ２０１による新規イベント情報の入力から３日後の「２００６年７月１５日  ０：００」にセットし、記憶装置２１２に設けられたチェック日時記憶エリア（図示外）に記憶する（Ｓ９）。さらに、スケジュール決定処理（Ｓ４、図７〜図１１参照）において決定された新規スケジュールを、ユーザ端末２１の記憶装置２１２が備える個人スケジュールデータベース２１２２に登録するとともに、ネットワークを介してサーバ１１の記憶装置１１２が備える会議室スケジュールデータベース１１２３にアクセスし、ここにもスケジュール決定処理（Ｓ４、図７〜図１１参照）において決定された新規スケジュールを登録する（Ｓ１０）。そして、再び新規スケジュール登録指示が行われたか否かの判断処理に戻る（Ｓ１）。
【００３７】
一方、図５に示す全体処理が開始された後、新規スケジュール登録の指示が行われない場合には（Ｓ１：ＮＯ）、ＣＰＵ２１１１は、チェック日時が記憶装置２１２のチェック日時記憶エリアに記憶されているか否かをチェックする（Ｓ２１）。チェック日時が記憶されている場合に（Ｓ２１：ＹＥＳ）、参加メンバーＣ、ＤおよびＥのいずれかからの応答を受信すると（Ｓ２２：ＹＥＳ）、ＣＰＵ２１１１は、その応答を記憶装置２１２の応答記憶エリアに記憶させる（Ｓ２３）。さらに、この時点で応答参加メンバーＣ、ＤおよびＥ全員の応答があったかどうか、記憶装置２１２の応答記憶エリアをチェックし（Ｓ２４）、全員の応答が返ってきていない（記憶されていない）場合は（Ｓ２４：ＮＯ）、チェック日時の「２００６年７月１５日  ０：００」が経過したか否かをチェックする（Ｓ２５）。チェック日時がすでに経過している場合（Ｓ２５：ＹＥＳ）、および参加メンバーＣ、ＤおよびＥ全員の応答が記憶装置２１２の応答エリアに記憶されている場合には（Ｓ２４：ＹＥＳ）、それ以上応答を待つ必要はないため、いずれもチェック日時「２００６年７月１５日  ０：００」を消去して、記憶装置２１２のチェック日時記憶エリアをクリアする（Ｓ２６）。
【００３８】
次に、ＣＰＵ２１１１は、記憶装置２１２の応答エリアに記憶された参加メンバー全員分の応答が、登録を依頼したスケジュールに対する了承通知か否かを判断する（Ｓ２７）。応答すべてが了承通知の場合には（Ｓ２７：ＹＥＳ）、スケジュールを変更する必要はないため、参加メンバーＣ、ＤおよびＥの利用するユーザ端末２３、２４、２５に、Ｓ７で送信した「新規スケジュール登録依頼通知」と同一内容で、スケジュールが決定された旨の「スケジュール決定通知」を送信する（Ｓ３１）。なお、応答が返ってきていない参加メンバーがいるが（Ｓ２４：ＮＯ）、チェック日時がすでに経過している場合（Ｓ２５：ＹＥＳ）には、応答のない参加メンバーからは了承通知を受信したものとみなす（Ｓ２７：ＹＥＳ）。一方、参加メンバーからの応答の中に、スケジュールの変更を希望する旨の変更要請が含まれている場合には（Ｓ２７：ＮＯ）、その変更要請の内容をディスプレイ２１４に表示し（Ｓ２８）、新規スケジュールの入力者であるユーザ２０１（Ａ）に、変更するか否かをボタンで選択させる。なお、ユーザ端末２１が「新規スケジュール登録依頼通知」を受信した場合の処理については、後で詳述する。
【００３９】
ユーザ２０１（Ａ）が、変更要請の内容を確認した結果、例えば、「参加が必須でないメンバーのみからの変更要請である」等の理由で、スケジュール変更はしないと決定し、ディスプレイ２１４に表示された「変更しない」ボタンをクリックした場合には（Ｓ２９：ＮＯ）、ＣＰＵ２１１１は、参加メンバーＣ、ＤおよびＥの利用するユーザ端末２３、２４、２５に、Ｓ７で送信した「新規スケジュール登録依頼通知」と同一内容で、スケジュールが変更なく決定された旨の「スケジュール決定通知」を送信する（Ｓ３１）。一方、ユーザ２０１（Ａ）が、例えば、参加が必須のメンバーから、「登録を依頼されたスケジュールの日時は空いていないため、空いている日時に変更してほしい。」との変更要請を受けて、スケジュールを変更すると決定し、ディスプレイ２１４に表示された「変更する」ボタンをクリックすると（Ｓ２９：ＹＥＳ）、参加メンバーＣ、ＤおよびＥの利用するユーザ端末２３、２４、２５に、Ｓ７で送信した「新規スケジュール登録依頼通知」で送信したスケジュールはキャンセルし、追って変更したスケジュールの登録を依頼する旨の「スケジュール変更通知」を送信する（Ｓ３２）。さらに、ユーザ端末２１の記憶装置２１２が有する個人スケジュールデータベース２１２２に登録されていた該当スケジュールを消去するとともに、ネットワークを介してサーバ１１の記憶装置１１２が有する会議室スケジュールデータベース１１２３にアクセスし、ここに登録されていた該当スケジュールも消去する（Ｓ３３）。そして、ユーザ２０１が日時等を変更して、再度スケジュール調整を行えるように、新規スケジュール入力画面５１に戻る（Ｓ２）。
【００４０】
図５に示す全体処理が開始された後、新規スケジュール登録の指示が行われず（Ｓ１：ＮＯ）、さらに、記憶装置２１２のチェック日時記憶エリアをチェックした結果、チェック日時が記憶されていない場合、すなわちユーザ端末２１が自ら送信した「スケジュール登録依頼通知」に対する応答を待っていない場合は（Ｓ２１：ＮＯ）、他のユーザ端末２０のいずれかから「新規スケジュール登録依頼通知」を受信していないかどうかチェックする（図６、Ｓ４１）。なお、「新規スケジュール登録依頼通知」を含む、他のユーザ端末２０のいずれかから受信したメッセージは、いずれもユーザ端末２１の記憶装置２１２の所定の記憶エリアに記憶されている。また、送信した「スケジュール登録依頼通知」に対する応答待ち状態ではあるが（Ｓ２１：ＹＥＳ）、応答を受信していない場合（Ｓ２２：ＮＯ）や、まだ全員の応答がなく（Ｓ２４：ＮＯ）、チェック日時が経過していない場合（Ｓ２５：ＮＯ）も、他のユーザ端末２０のいずれかから「新規スケジュール登録依頼通知」を受信していないかどうかチェックする（図６、Ｓ４１）。さらに、全員から応答が返ってきており（Ｓ２４：ＹＥＳ）、全員が了承したか（Ｓ２７：ＹＥＳ）、変更要請には応えずに（Ｓ２９：ＮＯ）、「スケジュール決定通知」を発信した後（Ｓ３１）も、「新規スケジュール登録依頼通知」の受信の有無を確認する（図６、Ｓ４１）。
【００４１】
他のユーザ端末２０のいずれかから「新規スケジュール登録依頼通知」を受信していれば（Ｓ４１：ＹＥＳ）、ＣＰＵ２１１１は、受信したスケジュールの了承の可否を判断するスケジュール了承判断処理を行う（Ｓ４２、図２１参照）。なお、スケジュール了承判断処理（Ｓ４２）については、後で詳述する。そして、スケジュール了承判断処理（Ｓ４２）が完了すると、受信したスケジュールを了承したか否かにかかわらず、受信したスケジュールを記憶装置２１２の個人スケジュールデータベース２１２２に登録し（Ｓ４３）、再び新規スケジュール登録指示が行われたか否かの判断処理に戻る（図６、Ｓ１）。
【００４２】
「新規スケジュール登録依頼通知」は受信しておらず（図６、Ｓ４１：ＮＯ）、他のユーザ端末２０のいずれかから、その時点より前に受信したスケジュール（Ｓ４１：ＹＥＳ）に関する「スケジュール変更通知」を受信した場合（Ｓ５１：ＹＥＳ）は、変更通知の内容をディスプレイ２１４に表示させて（Ｓ５２）ユーザ２０１に知らせ、記憶装置２１２の個人スケジュールデータベース２１２２に登録されていた該当スケジュールを消去する（Ｓ５３）。そして、再び新規スケジュール登録指示が行われたか否かの判断処理に戻る（図５、Ｓ１）。
【００４３】
「スケジュール変更通知」の受信はなく（図６、Ｓ５１：ＮＯ）、他のユーザ端末２０のいずれかから、その時点より前に受信したスケジュールに関する「スケジュール決定通知」を受信した場合（Ｓ６１：ＹＥＳ）には、決定通知の内容をディスプレイ２１４に表示させて（Ｓ６２）ユーザ２０１に知らせ、新規スケジュール登録指示が行われたか否かの判断処理に戻る（図５、Ｓ１）。
【００４４】
さらに、「スケジュール決定通知」も受信しておらず（図６、Ｓ６１：ＮＯ）、プログラムの終了指示も行われない場合（Ｓ７１：ＮＯ）には、その他の処理が行われる（Ｓ７２）。その他の処理では、例えば、特定の日のユーザ２０１のスケジュールを個人スケジュールデータベース２１２２から検索して、ユーザ端末２１の備えるプリンタ（図示外）で印刷する処理や、サーバ１１の記憶装置１１２が有する会議室スケジュールデータベース１１２３にアクセスして、特定の会議室の予約状況をユーザ端末２１のディスプレイ２１４に表示させる処理等が行われるが、ここでは説明を省略する。そして、その他の処理が終了すると、新規スケジュール登録指示が行われたか否かの判断処理に戻る（図５、Ｓ１）。一方、プログラムメニューから「終了」処理が選択され、プログラムの終了が指示された場合（Ｓ７１：ＹＥＳ）には、ＣＰＵ２１１１は、スケジュール調整プログラム２１２１を終了する。
【００４５】
次に、図５に示す全体処理において実行されるスケジュール決定処理（Ｓ４）について、図７〜図２０を参照して説明する。まず最初に、図７のフローチャートを参照して、スケジュール決定処理のメイン処理について説明する。
【００４６】
図７は、スケジュール決定処理のメイン処理のフローチャートである。図７に示すように、スケジュール決定処理（図５、Ｓ４）のメイン処理が開始されると、ＣＰＵ２１１１は、ＲＡＭ２１１３のエラーフラグ記憶エリア（図示外）において、エラーフラグをＯＦＦにする（Ｓ１０１）。そして、記憶装置２１２の個人スケジュールデータベース２１２２からユーザ２０１のスケジュールデータを取得し、ＲＡＭ２１１３に一時的に記憶させる（Ｓ１０２）。次に、ＣＰＵ２１１１は、ユーザ２０１が、図４に示す新規スケジュール入力画面５１の「日時」欄５１２１において指定をしたかどうか、すなわち、特定の日と時間の入力データがあるかどうか判断する（Ｓ１０３）。その結果、特定の日と時間の入力データがあれば（Ｓ１０３：ＹＥＳ）、ユーザ２０１自身が指定された日時に空いているかどうかを、個人スケジュールデータベース２１２２から取得したユーザ２０１のスケジュールデータから判断する（Ｓ１０４）。このとき、新規スケジュール入力画面５１の「所要時間」欄５１３に入力された所要時間も考慮する。指定された日時にすでに他のイベントが登録されている場合は（Ｓ１０４：ＮＯ）、指定日時に新規イベントの登録は不可能なため、エラーフラグをＯＮにし（Ｓ１０５）、ディスプレイ２１４に、ユーザ２０１には他の予定が入っている旨を表示して（Ｓ１０６）、図５に示すスケジュール調整プログラム２１２１の全体処理に戻る。
【００４７】
ユーザ２０１のスケジュールデータから、ユーザ２０１が指定された日時に空いていると判断されると（Ｓ１０４：ＹＥＳ）、ＣＰＵ２１１１は、ユーザ２０１が、図４に示す新規スケジュール入力画面５１の「場所」欄５１４において、特定の会議室を指定したかどうか、すなわち、場所の入力データがあるかどうか判断する（Ｓ１１１）。その結果、場所の入力データがない場合は（Ｓ１１１：ＮＯ）、後述する場所決定処理（Ｓ１３１）に移る。一方、特定の会議室の入力データがある場合には（Ｓ１１１：ＹＥＳ）、ネットワークを介してサーバ１１の記憶装置１１２に記憶された会議室スケジュールデータベース１１２３にアクセスし、指定された日時に所要時間を足した時間帯の指定された会議室のデータを取得する（Ｓ１１２）。そして、会議室の空き状況を判定し（Ｓ１１５）、その会議室が空いていない場合には（Ｓ１１５：ＮＯ）、指定された会議室では新規イベントの登録は不可能なため、エラーフラグをＯＮにし（Ｓ１１６）、ディスプレイ２１４に、指定日時に指定された会議室が空いていない旨を表示して（Ｓ１１７）、図５に示すスケジュール調整プログラム２１２１の全体処理に戻る。
【００４８】
会議室スケジュールデータベース１１２３から取得したデータから、指定された会議室が空いていると判断された場合（Ｓ１１５：ＹＥＳ）には、ユーザ２０１の指定通りの日時および場所（会議室）でイベントの開催が可能であるから、これでスケジュールを決定し、ユーザ２０１の確認を得るため、ディスプレイ２１４に決定したスケジュールを表示させる（Ｓ１２１）。そして、ユーザ２０１の了承が得られれば（Ｓ１２２：ＹＥＳ）、図５に示すスケジュール調整プログラム２１２１の全体処理に戻り、了承を得られなければ（Ｓ１２２：ＮＯ）、エラーフラグをＯＮにしてから（Ｓ１２３）、図５に示すスケジュール調整プログラム２１２１の全体処理に戻る。
【００４９】
一方、図７に示すスケジュール決定のメイン処理において、特定の日時が指定されていないと判断された場合（Ｓ１０３：ＮＯ）には、次に、場所は指定されているかどうかを判断する（Ｓ１４１）。そして、場所の入力データがあれば（Ｓ１４１：ＹＥＳ）、後述する日時決定処理を行い（Ｓ１４２）、なければ（Ｓ１４１：ＮＯ）、後述する日時・場所決定処理を行う（Ｓ１４３）。前述した場所決定処理（Ｓ１３１）、日時決定処理（Ｓ１４２）、または日時・場所決定処理（Ｓ１４３）が終了すると、いずれも処理過程でエラーが生じなかったかどうかをチェックする（Ｓ１３２）。エラーがあった場合は（Ｓ１３２：ＹＥＳ）そのまま図５に示すスケジュール調整プログラム２１２１の全体処理に戻り、なかった場合は（Ｓ１３２：ＮＯ）、ディスプレイ２１４に決定したスケジュールを表示し（Ｓ１２１）、ユーザ２０１の了承を得て、または了承しないとの指示を受けて（Ｓ１２２）、図５に示すスケジュール調整プログラム２１２１の全体処理に戻る。
【００５０】
次に、図７に示すスケジュール決定処理で実行される場所決定処理のサブルーチン（Ｓ１３１）について、図８のフローチャートと、図１２、図１３、および図１５を参照し、具体例を用いて説明する。図８は、場所決定処理のサブルーチンのフローチャートである。図１２は、会議室スケジュールデータベース１１２３から取得した８月１日の会議室データを表示する会議室予約状況表示画面６１の模式図である。図１３は、短距離移動を前提とした重要度算出テーブルの模式図である。図１５は、スケジュール表７１と各候補日程の重要度の対応表９１を用いた場所決定プロセスの説明図である。なお、以下の具体例に関する説明では、図４に示すデータが新規スケジュール入力画面５１において入力されているものとする。また、本社と第１工場は、名古屋にある同一の敷地内、第２工場は、本社および第１工場の敷地に隣接する敷地（名古屋）に存在し、ユーザ２０１の通常の居場所であるデスクは、第１工場の２Ｆにあるとする。さらに、会議室スケジュールデータベース１１２３において、図１２に示す会議室予約状況表示画面６１の左側から記載されている順番で、会議室のデータが記憶されているものとする。
【００５１】
以下に説明する場所決定処理は、図７に示すスケジュール決定処理において、日時は指定されているが（Ｓ１０３：ＹＥＳ）場所は指定されていない場合（Ｓ１１１：ＮＯ）に行われる処理である。よって、図８に示すように、処理が開始されると、ＣＰＵ２１１１はまず、ネットワークを介してサーバ１１の記憶装置１１２に記憶された会議室スケジュールデータベース１１２３にアクセスし、指定された日時に所要時間を足した時間帯のすべての会議室データを取得する（Ｓ２０４）。そして、取得した会議室データから、いずれの会議室も空いていないと判断した場合には（Ｓ２０５：ＮＯ）、指定された日時では新規イベントの登録は不可能なため、エラーフラグをＯＮにし（Ｓ２０６）、ディスプレイ２１４に、指定日時では空いている会議室がない旨を表示して（Ｓ２０７）、図７に示すスケジュール決定のメイン処理に戻る。
【００５２】
会議室スケジュールデータベース１１２３から取得したデータから、指定された日時または期間中に空いている会議室がある場合（Ｓ２０５：ＹＥＳ）には、ユーザ２０１のスケジュールデータも考慮して、候補日時および候補場所からなる、イベントを開催可能な候補日程を抽出する（Ｓ２０８）。図４の入力例では、候補日時は「２００６年８月１日  １０：００〜１１：００」であり、図１２に太枠６１１で囲んだ部分がこれに該当する。図１２が示すように、この候補日時に空いている会議室は、「本社２Ｆ第１会議室」、「本社２Ｆ第３会議室」、「第１工場２Ｆ第１会議室」、「第１工場３Ｆ第２会議室」、「第２工場３Ｆ会議室Ａ」の５箇所で、これらが候補場所となる。したがって、これらの候補日時および候補日程を組み合わせた５つの候補日程が抽出される。
【００５３】
候補日程の抽出が完了すると（Ｓ２０８）、ＣＰＵ２１１１は、各候補日程と、その直後にすでに登録されているイベントの重要度を、その直前にユーザ２０１がいる場所からの移動距離に基づいて算出する（Ｓ２０９）。すなわち、各候補日程については、ユーザ２０１のスケジュールデータに、各候補日程の候補日時直前にすでに登録されたイベントがある場合は、直前の登録イベント開催場所から各候補日程の候補場所への移動距離に基づいて重要度を算出し、直前に登録されたイベントがなければ、ユーザ２０１のデスクの存在する場所から各候補日程の候補場所への移動距離に基づいて重要度を算出する。また、各候補日程の候補日時直後にすでに登録されているイベントについては、各候補日程の候補場所から直後の登録イベント開催場所への移動距離に基づいて重要度を算出する。さらに、各候補日程については、一律に、ユーザ２０１の通常の居場所であるデスクの存在する場所から各候補日程の候補場所への移動距離に基づいて、デスク基準重要度も算出する（Ｓ２０９）。すなわち、「候補日程の重要度」、「候補日程直後のイベントの重要度（直後にイベントが登録されている場合のみ）」、「各候補日程のデスク基準重要度」の最大３種類の重要度が算出され、ＲＡＭ２１１３に記憶されることになる（Ｓ２０９）。
【００５４】
ここで、「重要度」とは、前後するイベント間の移動距離が短いほど大きく、長いほど小さくなる重み付け数値であり、例えば、図１３に示すような重要度算出テーブル８１に基づいて算出される。以下に、図１５に示すスケジュール表７１と、前述した４つの候補日程および各候補日程の重要度の対応表９１を用いて、具体的な重要度の算出方法について説明する。２００６年８月１日のユーザ２０１のスケジュールデータのスケジュール表７１に示すように、ユーザ２０１の個人スケジュールデータベース２１２２に格納された８月１日のスケジュールデータによれば、５つの候補日程に共通する候補日時である「８月１日  １０：００〜１１：００」の直前には、「本社２Ｆ第１会議室」で開催される会議７１１の予定が登録されている。したがって、図１３に示す重要度算出テーブル８１に基づいて、図１５の対応表９１のように、各候補日程の重要度を算出することができる。例えば、対応表９１の１行目の候補日程は、候補場所が「本社２Ｆ第１会議室」であるから、直前に登録された会議７１１の開催場所である「本社２Ｆ第１会議室」と同一場所であり、イベント間の移動はない。よって、図１３の重要度算出テーブル８１に基づき、この候補日程の重要度は「６」となる。同様にして、各候補日程直後のイベントの重要度およびデスク基準の重要度も算出される。なお、図１５の例では、各候補日程の候補日時「８月１日  １０：００〜１１：００」の直後には登録されたイベントがないため、各候補日程直後のイベントの重要度は算出されない。
【００５５】
図８のフローチャートにおいて、前述のようにして重要度が算出されると（Ｓ２０９）、ＣＰＵ２１１１は、ユーザ２０１のスケジュールデータから、各候補日程に共通する候補日時の直前にすでに登録されたイベントがあるかどうかを判断する（Ｓ２１０）。その結果、直前にイベントがあると判断された場合には（Ｓ２１０：ＹＥＳ）、Ｓ２０９において前述のように算出された最大３種類の重要度のうち、各候補日程の重要度を比較し、その中で最も重要度の高い候補日程を選び出す（Ｓ２１１）。そして、最も重要度の高い候補日程が１つだけであれば（Ｓ２１２：ＮＯ）、その候補日程の候補場所に場所を決定して（Ｓ２１３）、図７に示すスケジュール決定のメイン処理に戻り、決定したスケジュールをディスプレイ２１４に表示させる（Ｓ１１１）。図１５の例では、候補日時直前に会議７１１の予定があり、各候補日程の重要度が対応表９１に示す通り算出されているため、１行目の候補日程の重要度が「６」で最も高い（Ｓ２１１）。したがって、この場合は、「日時：２００６年８月１日  １０：００〜１１：００、場所：本社２Ｆ第１会議室」が決定したスケジュールとしてディスプレイ２１４に表示される（Ｓ２１３、図７：Ｓ１１１）。
【００５６】
一方、各候補日程に共通する候補日時の直前に登録されたイベントがない場合（Ｓ２１０：ＮＯ）と、直前に登録されたイベントがあり（Ｓ２１０：ＹＥＳ）、各候補日程の重要度を比較した結果、重要度が最も高い候補日程が複数ある場合（Ｓ２１２：ＹＥＳ）には、ＣＰＵ２１１１は、ユーザ２０１のスケジュールデータから、各候補日程の直後にすでに登録されたイベントがあるかどうかを判断する（Ｓ２２１）。その結果、各候補日程に共通する候補日時の直後にすでに登録されたイベントがあれば（Ｓ２２１：ＹＥＳ）、Ｓ２０９において前述のように算出された各種重要度のうち、Ｓ２１１において選定された重要度が最も高い候補日程の直後のイベントの重要度を比較し、候補日程直後のイベントの重要度が最も高くなるような候補日程を選び出す（Ｓ２２２）。そして、最も重要度の高い候補日程が１つだけであれば（Ｓ２２３：ＮＯ）、その候補日程の候補場所に場所を決定して（Ｓ２１３）、図７に示すスケジュール決定のメイン処理に戻り、決定したスケジュールをディスプレイ２１４に表示させる（Ｓ１１１）。
【００５７】
さらに、各候補日程に共通する候補日時の直後に登録されたイベントがない場合（Ｓ２２１：ＮＯ）と、直後に登録されたイベントがあり（Ｓ２２１：ＹＥＳ）、直後のイベントの重要度を比較した結果、直後のイベントの重要度が最も高くなるような候補日程が複数ある場合（Ｓ２２３：ＹＥＳ）には、ＣＰＵ２１１１は、前述のようにＳ２０９で算出し、ＲＡＭ２１１３に記憶した各候補日程のデスク基準重要度を比較して、デスク基準重要度が最も高い候補日程を選び出す（Ｓ２３１）。そして、デスク基準重要度が最も高い候補日程が１つだけであれば（Ｓ２３２：Ｎｏ）、その候補日程の候補場所に場所を決定する（Ｓ２１３）。一方、デスク基準重要度が最も高い候補日程が複数ある場合には（Ｓ２３２：ＹＥＳ）、会議室スケジュールデータベース１１２３において先にデータが登録されている候補場所の会議室に場所を決定する（Ｓ２１３）。そして、場所を決定した後（Ｓ２１３）は、いずれも図７に示すスケジュール決定のメイン処理に戻り、決定したスケジュールをディスプレイ２１４に表示させる（Ｓ１１１）。
【００５８】
ここで、図８のフローチャート、図１３の重要度算出テーブル８１、図１６〜図１８の説明図を参照して、前述の場所決定処理の別の具体例について説明する。図１６〜図１８は、ユーザ２０１の２００６年８月１日のスケジュールデータを示すスケジュール表７２と、各候補日程の重要度の対応表９２〜９４とを用いた場所決定プロセスの説明図である。この例では、図１６の対応表９２に示すように、候補日時がいずれも「２００６年８月１日  １６：００〜１７：００」の４つの候補日程が抽出されたとする（図８、Ｓ２０８）。図１６に示すように、ユーザ２０１の個人スケジュールデータベース２１２２には、スケジュール表７２に示すように、４つの候補日程の直前に、すでに「第１工場２Ｆ第１会議室」で開催される会議７２１が登録されている（図８、Ｓ２１０：ＹＥＳ）。よって、各候補日程のうち、最も重要度が高い候補日程が選定される（Ｓ２１１）。各候補日程の候補場所からの移動距離に基づいて、図１３の重要度算出テーブル８１を用いて算出された各候補日程の重要度（図８、Ｓ２０９）は、対応表９２に示す通りである。すなわち、最も高い重要度「３」を示す候補日程が２つある（図８、Ｓ２１２：ＹＥＳ）。よって、重要度「３」である候補日程の候補日時直後にすでに登録されているイベントの有無がチェックされる（図８、Ｓ２２１）。スケジュール表７２に示すように、ユーザ２０１の個人スケジュールデータベース２１２２には、重要度「３」である候補日程の直後の２００６年８月１日の１７：００から「第２工場３Ｆ会議室Ａ」で開催される会議７２２が登録されている（図８、Ｓ２２１：ＹＥＳ）。したがって、この「第２工場３Ｆ会議室Ａ」で開催される会議７２２の重要度が最も高くなる候補日程を、前述した最も高い重要度「３」を示す２つの候補日程から選定することになる（図８、Ｓ２２２）。ここで、各候補日程の候補場所である「本社２Ｆ第１会議室」と「本社２Ｆ第３会議室」からの移動距離に基づいて、図１３に示す重要度算出テーブル８１を用いて算出された会議７２２の重要度（図８、Ｓ２０９）は、図１７の対応表９３に示す通りである。ここでもまた、最も高い重要度「２」となる候補日程が２つある（図８、Ｓ２２３：ＹＥＳ）、したがって、さらに、各候補日程のデスク基準重要度によって選定を行う（図８、Ｓ２３１）。ユーザ２０１のデスクは、前述したように、第１工場２Ｆにあるため、各候補日程のデスク基準重要度は、図１８の対応表９４に示す通りである。すなわち、ここでも２つの候補日程のデスク基準重要度が「２」で等しいため（図８、Ｓ２３２：ＹＥＳ）、会議室スケジュールデータベース１１２３において先にデータが登録されている「本社２Ｆ第１会議室」を選定し（図８、Ｓ２３４）、場所が決定する（Ｓ２１３）。
【００５９】
次に、図７に示すスケジュール決定処理において実行される日時決定処理のサブルーチン（Ｓ１２３）について、図９および図１０のフローチャートと、図１３、図１４、図１９および図２０を参照して説明する。この処理は、図７に示すスケジュール決定処理において、日時は指定されていないが（Ｓ１０３：ＮＯ）場所は指定されている場合（Ｓ１１１：ＹＥＳ）に行われる処理である。図９および図１０は、日時決定処理のサブルーチンのフローチャートである。図１３は、短距離移動を前提とした重要度算出テーブルの模式図である。図１４は、長距離移動を前提とした重要度算出テーブルの模式図である。図１９は、ユーザ端末２１の新規スケジュール入力画面５１の模式図である。図２０は、２００６年７月３１日から８月５日までのユーザ２０１のスケジュールデータを示すスケジュール表７５と、各候補日程の重要度の対応表９５とを用いた日時決定プロセスの説明図である。なお、以下では、図１９に示す新規スケジュール入力画面５１のように、「区分」欄５１１では「出張」が選択され、「日時」欄５１２では、特定の日時が指定されるのではなく、１週間の幅をもたせた「２００６年７月３１日〜２００６年８月４日」が「指定期間」欄５１２２で入力され、さらに、「所要時間」欄５１３には「１日」、「場所」欄５１４には、「横浜」との入力がされている場合を具体例として説明する。
【００６０】
図９に示すように、日時決定処理のサブルーチンが開始されると、ＣＰＵ２１１１は、最初に、所要時間が１日以上であるか、１日未満であるかを判断する（Ｓ３０１）。これは、後述するように、所要時間が１日以上か否かによって、重要度の算出に用いる重要度算出テーブルが異なるためである（図１３および図１４参照）。所要時間が一日未満の場合であって（Ｓ３０１：ＮＯ）、図１９に示す新規スケジュール入力画面５１の「指定期間」欄５１２２で指定期間が入力されている場合は、ユーザ２０１自身が指定期間中に空いているかどうかを、個人スケジュールデータベース２１２２から取得したユーザ２０１のスケジュールデータ（Ｓ１０２、図７参照）から判断する（Ｓ３０２）。「日時」欄５１２にまったく入力がされていない場合には、例えば「入力日から１週間」というように所定の期間を区切って、その所定期間内のユーザ２０１のスケジュールデータ（Ｓ１０２、図７参照）から判断する（Ｓ３０２）。このとき、新規スケジュール入力画面５１の「所要時間」欄５１３に入力された所要時間も考慮する。そして、指定期間中または所定期間中にわたって、所要時間分の空きがない場合は（Ｓ３０２：ＮＯ）、入力された条件ではスケジュールは登録不可能なため、エラーフラグをＯＮにし（Ｓ３０３）、ディスプレイ２１４に、ユーザ２０１には空きがない旨を表示して（Ｓ３０４）、図７に示すスケジュール決定のメイン処理に戻る。
【００６１】
ユーザ２０１のスケジュールデータから、ユーザ２０１が指定期間または所定期間に空いているときがあると判断された場合には（Ｓ３０２：ＹＥＳ）、ネットワークを介してサーバ１１の記憶装置１１２に記憶された会議室スケジュールデータベース１１２３にアクセスし、新規スケジュール入力画面５１の「場所」欄５１４で指定された会議室について、指定期間中または所定期間中の会議室データを取得する（Ｓ３０５）。そして、所要時間も考慮して、取得した会議室データから、指定された会議室では、指定期間中または所定期間中は所要時間分の予約を確保できないと判断した場合には（Ｓ３０６：ＮＯ）、入力された条件ではスケジュールは登録不可能なため、エラーフラグをＯＮにし（Ｓ３０７）、ディスプレイ２１４に、指定された会議室は、指定期間中または所定期間中では空きがない旨を表示して（Ｓ３０８）、図７に示すスケジュール決定のメイン処理に戻る。
【００６２】
会議室スケジュールデータベース１１２３から取得したデータから、指定期間中または所定期間中で、指定された会議室に空きがあると判断された場合には（Ｓ３０６：ＹＥＳ）、ユーザ２０１のスケジュールデータも考慮して、候補日時および候補場所からなる、新規イベントを開催可能な候補日程を抽出する（Ｓ３０９）。候補日程の抽出が完了すると（Ｓ３０９）、ＣＰＵ２１１１は、図１３の短距離移動を前提とした重要度算出テーブル８１を用いて、その直前にユーザ２０１がいる場所からの移動距離に基づいて各候補日程の重要度を算出し、ＲＡＭ２１１３に記憶する（Ｓ３１０）。
【００６３】
次にＣＰＵ２１１１は、各候補日程の重要度を比較し、その中で最も重要度の高い候補日程を選び出す（Ｓ３１２）。そして、最も重要度の高い候補日程が１つだけであれば（Ｓ３１３：ＮＯ）、その候補日程の候補日時に日時を決定して（Ｓ３１４）、図７に示すスケジュール決定のメイン処理に戻り、決定したスケジュールをディスプレイ２１４に表示させる（Ｓ１１１）。一方、各候補日程の重要度を比較した結果、重要度が最も高い候補日程が複数ある場合（Ｓ３１３：ＹＥＳ）には、ＣＰＵ２１１１は、候補日程のうち、最も早い候補日時を選択し（Ｓ３２１）、日時として決定する（Ｓ３１４）。そして、日時を決定した後（Ｓ３１４）は、図６に示すスケジュール決定のメイン処理に戻り、決定したスケジュールをディスプレイ２１４に表示させる（Ｓ１１１）。
【００６４】
図９および図１０に示す日時決定処理のサブルーチンにおいて、所要時間が一日以上の場合であって（Ｓ３０１：ＹＥＳ）、図１９に示す新規スケジュール入力画面５１の「指定期間」欄５１２２で指定期間が入力されている場合は、ユーザ２０１自身が指定期間中に空いているかどうかを、個人スケジュールデータベース２１２２から取得したユーザ２０１のスケジュールデータ（Ｓ１０２、図７参照）から判断する（図１０、Ｓ３３１）。「日時」欄５１２にまったく入力がされていない場合には、例えば「入力日から１ヶ月」というように所定の期間を区切って、その所定期間内のユーザ２０１のスケジュールデータから判断する（図１０、Ｓ３３１）。そして、指定期間中または所定期間中にわたって所要時間（１日以上）分の空きがない場合（Ｓ３３１：ＮＯ）は、入力された条件ではスケジュールは登録不可能なため、エラーフラグをＯＮにし（Ｓ３３２）、ディスプレイ２１４に、ユーザ２０１には空きがない旨を表示して（Ｓ３３３）、図７に示すスケジュール決定のメイン処理に戻る。
【００６５】
一方、Ｓ３３１において、指定期間中または所定期間中にユーザ２０１に所要時間分の空きがある場合には（Ｓ３３１：ＹＥＳ）、候補日程を抽出し（Ｓ３３４）、各候補日程の重要度を、その前日にユーザ２０１がいる場所からの移動距離に基づいて算出し、ＲＡＭ２１１３に記憶する（Ｓ３３５）。すなわち、各候補日程について、ユーザ２０１のスケジュールデータに、各候補日程前日にすでに登録されたイベントがある場合は、前日の最終の登録イベント開催場所から各候補日程の候補場所への移動距離に基づいて重要度を算出し、前日に登録されたイベントがなければ、ユーザ２０１のデスクの存在する場所から各候補日程の候補場所への移動距離に基づいて重要度を算出する。ここでいう「重要度」も、所要時間が１日未満の場合と同様、前後するイベント間の移動距離が短いほど大きく、長いほど小さくなる重み付け数値であり、具体的には、図１４に示す長距離移動を前提とした重要度算出テーブル８２を用いて算出する。このように、所要時間が１日以上の場合には、社内の建物間の移動や近隣の施設への移動ではなく、長距離移動がほとんどであることから、重要度の算出に用いるテーブルは、所要時間が１日未満の場合とは異なるものを用いることが好ましい。例えば、図１４に示す重要度算出テーブル８２では、市内、県内、隣接県、というように、所要時間が１日未満の場合に用いる、短距離移動を前提とした重要度算出テーブル８１（図１３）よりも広い範囲ごとに、重要度の区分けがなされている。なお、前述した場所決定処理（図８）および後述する日時・場所決定処理（図１１）の場合は、会議室スケジュールデータベース１１２３に記憶された会議室データ中からしか場所の選択はできないため、所要時間が１日以上であっても、重要度の算出にはすべて短距離移動を前提とした図１３の重要度算出テーブルを用いている。
【００６６】
図１９に示す新規スケジュール入力画面５１で「指定期間」欄５１２２に入力された「２００６年７月３１日〜２００６年８月４日」のユーザ２０１のスケジュールデータが、図２０のスケジュール表７５に示す通りである場合、所要時間の「１日」（図１９、５１４）が確保できる候補日時は、「２００６年８月３日」および「２００６年８月４日」の２つである。よって、これらの候補日程について、図１４に示す重要度算出テーブル８２を用いて重要度を算出すると、「２００６年８月３日」については、ユーザ２０１のスケジュールデータによれば、前日の８月２日にユーザ２０１は横浜（神奈川県）の隣接県である東京にいるため、重要度は「３」である。同様に、「２００６年８月４日」は、前日の８月２日には登録されたイベントはなく、ユーザ２０１のデスク（名古屋）からの移動として重要度が算出されるため、重要度は「１」となる。
【００６７】
図１０のフローチャートにおいて、前述のように重要度が算出されると（Ｓ３３５）、ＣＰＵ２１１１は、各候補日程の重要度を比較し、その中で重要度が最も高い候補日程を選び出す（Ｓ３３６）。そして、最も重要度の高い候補日程が１つだけであれば（Ｓ３３７：ＮＯ）、その候補日程の候補日時に日時を決定して（Ｓ３１４）、図７に示すスケジュール決定のメイン処理に戻り、決定したスケジュールをディスプレイ２１４に表示させる（Ｓ１１１）。図１９の例では、「２００６年８月３日」の重要度が最も高いため、「日時：２００６年８月３日、場所：横浜」というスケジュールが決定し、ディスプレイに表示される（図７、Ｓ１１１）。一方、最も重要度の高い候補日程が複数ある場合には（Ｓ３３７：ＹＥＳ）、ＣＰＵ２１１１は、これらの候補日程のうち、最も早い日程を選択し（Ｓ３４１）、日時が決定する（Ｓ３１４）。この後はいずれも、図７に示すスケジュール決定のメイン処理に戻り、決定したスケジュールをディスプレイ２１４に表示させる（Ｓ１１１）。
【００６８】
なお、前述した場所決定処理（図８）では、各候補日程の直前および直後にすでに登録されたイベントがあるか否かで、Ｓ３１０において算出された「各候補日程の重要度」、「各候補日程直後のイベントの重要度」、「各候補日程のデスク基準の重要度」のいずれかを考慮して候補日程を決定したが、この日時決定処理では「各候補日程の重要度」のみを考慮している。これは、場所決定処理の場合は、各候補日程の候補日時は共通しているため、候補日程直前または直後の登録イベントも共通していたが、日時決定処理の場合は、各候補日程の候補日時は様々であり、直前または直後にイベントがあるものとないものが混在するため、一律に比較するのは不都合だからである。ただし、本実施形態では、重要度が最も高い候補日程が複数ある場合は、そのうち最も早い（直近の）候補日程を選択しているが、直後（または翌日）に登録イベントがあるものをまず選択し、その中で直後（または翌日）の登録イベントの重要度が最も高くなる候補日程を選択するようにしてもよい。
【００６９】
次に、図７に示すスケジュール決定処理において実行される日時・場所決定処理のサブルーチン（Ｓ１４３）について、図１１のフローチャートを参照して説明する。この処理は、図７に示すスケジュール決定処理において、特定の日時も場所も指定されていない場合（Ｓ１０３：ＮＯおよびＳ１４１：ＮＯ）に行われる処理である。図１１は、日時・場所決定処理のサブルーチンのフローチャートである。なお、図４に示す新規スケジュール入力画面５１の「日時」欄５１２において、「指定日時」欄５１２１には入力がなく、「指定期間」欄５１２２のみに入力がされている場合も、「特定の日時が指定されていない」場合に該当する。
【００７０】
図１１に示すように、日時・場所決定処理のサブルーチンが開始されると、ＣＰＵ２１１１はまず、所要時間の入力データも考慮して、図４に示す新規スケジュール入力画面５１の「指定期間」欄５１２２で指定期間が入力されている場合は、ユーザ２０１自身が指定期間中に空いているかどうかを、個人スケジュールデータベース２１２２から取得したユーザ２０１のスケジュールデータ（Ｓ１０２、図７参照）から判断する（Ｓ３５１）。「日時」欄５１２にまったく入力がされていない場合には、例えば「入力日から１週間」というように所定の期間を区切って、その所定期間内のユーザ２０１のスケジュールデータ（Ｓ１０２、図７参照）から判断する（Ｓ３５１）。そして、指定期間中または所定期間中にわたって、所要時間分の空きがない場合は（Ｓ３５１：ＮＯ）、入力された条件ではスケジュールは登録不可能なため、エラーフラグをＯＮにし（Ｓ３５２）、ディスプレイ２１４に、ユーザ２０１には空きがない旨を表示して（Ｓ３５３）、図７に示すスケジュール決定のメイン処理に戻る。
【００７１】
ユーザ２０１のスケジュールデータから、ユーザ２０１が指定期間または所定期間に空いていると判断された場合（Ｓ３５１：ＹＥＳ）には、ネットワークを介してサーバ１１の記憶装置１１２に記憶された会議室スケジュールデータベース１１２３にアクセスし、新規スケジュール入力画面５１の「場所」欄５１４で指定された会議室について、指定期間中または所定期間中の会議室データを取得する（Ｓ３５４）。そして、所要時間も考慮して、取得した会議室データから、指定された会議室では、指定期間中または所定期間中は所要時間分の予約を確保できないと判断した場合には（Ｓ３６１：ＮＯ）、入力された条件ではスケジュールは登録不可能なため、エラーフラグをＯＮにし（Ｓ３６２）、ディスプレイ２１４に、指定された会議室は、指定期間中または所定期間中では空きがない旨を表示して（Ｓ３６３）、図７に示すスケジュール決定のメイン処理に戻る。
【００７２】
会議室スケジュールデータベース１１２３から取得したデータから、指定期間中または所定期間中で、指定された会議室に空きがあると判断された場合には（Ｓ３６１：ＹＥＳ）、ユーザ２０１のスケジュールデータも考慮して、候補日時および候補場所からなる、イベントを開催可能な候補日程を抽出する（Ｓ３７１）。次いでＣＰＵ２１１１は、図１３に示す重要度算出テーブル８１を用いて、各候補日程の重要度を算出するとともに、各候補日程のデスク基準重要度も算出し、ＲＡＭ２１１３に記憶する（Ｓ３７２）。そして、まず各候補日程の重要度を比較して、その中で最も重要度の高い候補日程を選び出し（Ｓ３７３）、最も重要度の高い候補日程が１つだけであれば（Ｓ３８１：ＮＯ）、その候補日程で日時と場所を決定して（Ｓ３８２）、図７に示すスケジュール決定のメイン処理に戻り、決定したスケジュールをディスプレイ２１４に表示させる（Ｓ１１１）。一方、各候補日程の重要度を比較した結果、重要度が最も高い候補日程が複数ある場合（Ｓ３８１：ＹＥＳ）には、ＣＰＵ２１１１は、Ｓ３７２で算出され、ＲＡＭ２１１３に記憶されたこれらの候補日程のデスク基準重要度を比較し（Ｓ３９１）、最も高い候補日程が１つだけであれば（Ｓ３９２：ＮＯ）、その候補日程で日時と場所を決定する（Ｓ３８２）。デスク基準重要度の最も高い候補日程がさらに複数ある場合は（Ｓ３９２：ＹＥＳ）、（Ｓ３９３）、会議室スケジュールデータベース１１２３において先にデータが登録されている会議室の候補日程を選択する（Ｓ３９３）。このようにして日時および場所を決定した後（Ｓ３８２）は、図７に示すスケジュール決定のメイン処理に戻り、決定したスケジュールをディスプレイ２１４に表示させる（Ｓ１１１）。
【００７３】
次に、図６に示すスケジュール調整プログラム２１２１の全体処理のフローチャートにおいて、他のユーザ端末２０のいずれかから、「新規スケジュール登録通知」によりスケジュールを受信した場合（Ｓ４１：ＹＥＳ）のスケジュール了承判断処理（Ｓ４２）について、図１６、図１７および図２１を参照して説明する。図１６および図１７は、各項候補日程および各候補日程直後のイベントの重要度の算出に関する説明図であり、図２１は、スケジュール了承判断処理のサブルーチンのフローチャートである。
【００７４】
図２１に示すように、スケジュール了承判断処理が開始されると、ＣＰＵ２１１１はまず、記憶装置２１２の個人スケジュールデータベース２１２２からユーザ２０１のスケジュールデータを取得し、ＲＡＭ２１１３に一時的に記憶させる（Ｓ４０１）。そして、ユーザ２０１のスケジュールデータから、受信したスケジュールの日時にユーザ２０１のスケジュールが空いているかどうかを判断する（Ｓ４０２）。その日時にすでに他のイベントが登録されている場合や、所要時間分の空きがない場合は（Ｓ４０２：ＮＯ）、「指定日時に空きがないため、日程を変更してほしい。」などと要請する応答を、所定期間中（例えば、１週間）で所要時間分空いている日時とともに、「新規スケジュール登録依頼通知」の発信元のユーザ端末２０に送信し（Ｓ４０３）、スケジュール調整プログラム２１２１の全体処理（図６）に戻る。
【００７５】
受信したスケジュールの日時にユーザ２０１のスケジュールが空いている場合には（Ｓ４０２：ＹＥＳ）、その日時に受信したスケジュールが入ることによって、直後に登録されているイベントの重要度が下がるかどうかを判断する（Ｓ４０５）。例えば、図１６のユーザ２０１の８月１日のスケジュールデータを示すスケジュール表７２に示すように、すでに１７：００〜１８：００には、第２工場３Ｆ会議室Ａで行われる会議７２２が登録されていたとする。この時点では、会議７２２の直前の１６：００〜１７：００には他に登録されたイベントはないため、ユーザ２０１のデスクの場所（第１工場２Ｆ）からの移動距離に基づき、会議７２２の重要度は「４」と算出されている。そこに、対応表９２の候補日程の１行目にあるように、「日時：２００６年８月１日  １６：００〜１７：００、場所：本社２Ｆ第１会議室」という日程の「新規スケジュール登録依頼通知」を受信したとすると（図６、Ｓ４１：ＹＥＳ）、図１７の対応表９３の候補日程の１行目に示すように、会議７２２の重要度は、「２」に下がることになる。
【００７６】
ＣＰＵ２１１１は、例えば前述した図１６および図１７に示す会議７２２のように、直後に登録されたイベントの重要度が下がる場合は（Ｓ４０５：ＹＥＳ）、ディスプレイ２１４に「新規スケジュール登録依頼通知」の内容と、直後のイベントの重要度がいくつからいくつに下がるのかを表示する（Ｓ４１１）。そして、ユーザ２０１が、この表示内容を確認した結果、同じくディスプレイ２１４に表示された「変更要請する」ボタンをクリックして、受信した新規スケジュールの変更要請を指示した場合には（Ｓ４１２：ＹＥＳ）、例えば、「１７：００から第２工場３Ｆ会議室Ａで会議７２２（重要度：４）が登録されているため、重要度が下がらない場所に変更してほしい。」と要請する応答を、「新規スケジュール登録依頼通知」の発信元のユーザ端末２０に送信する（Ｓ４１３）。一方、受信したスケジュールを登録しても、直後に登録されたイベントの重要度が下がらない場合（直後に登録されたイベントがない場合を含む）（Ｓ４０５：ＮＯ）や、ユーザ２０１が、例えば、すでに会議７２２の重要度は「４」であるため、重要度が下がることはやむを得ないと判断し、ディスプレイ２１４に表示された「変更要請しない」ボタンをクリックした場合（Ｓ４１２：ＮＯ）には、ＣＰＵ２１１１は、「新規スケジュール登録依頼」を了承する旨の応答を発信元のユーザ端末２０に送信し（Ｓ４０６）、図６に示すスケジュール調整プログラム２１２１の全体処理に戻る。
【００７７】
以上説明した通り、本実施形態に係るスケジュール調整システム１によれば、スケジュール調整プログラム２１２１が起動され、ユーザ２０１によって会議等の新規イベントのデータが入力されると、新規イベントの開催場所と、その直前のユーザ２０１の居場所との間の移動距離が最も短くなるような日時と場所でスケジュールが決定されるため、ユーザ２０１にとって、同じ場所を行ったり来たりする、遠回りをする等の無駄のない、移動効率のよいスケジュールを自動的に決定することができる。また、他のユーザ端末２０のいずれかから、ユーザ２０１が参加メンバーとして含まれる新規イベントのスケジュールの登録依頼を受けた場合も、同様にして、その新規イベントの直後のイベントとの移動距離を考慮して、移動効率が低下する場合は、できるだけ移動距離の少ない場所への変更を依頼者へ要請することができる。
【００７８】
なお、本実施形態では、ユーザ端末２１が、本発明に係る「スケジュール調整装置」に相当し、ユーザ端末２１のキーボード２１３が、「入力手段」に相当する。そして、図７のＳ１０２で個人スケジュールデータ取得処理を行うユーザ端末２１のＣＰＵ２１１１が「個人スケジュール取得手段」に相当する。また、図７のＳ１１２、図８のＳ２０４、図９のＳ３０５、および図１１のＳ３５４で会議室データ取得処理を行うＣＰＵ２１１１が「会議室情報取得手段」に相当する。また、図８のＳ２０８、図９および図１０のＳ３０９およびＳ３３４、ならびに図１１のＳ３７１で候補日程抽出処理を行うＣＰＵ２１１１が「候補日程選択手段」に相当する。そして、図８のＳ２１０〜Ｓ２１３、Ｓ２２１〜Ｓ２２３、Ｓ２３１〜Ｓ２３４、図９および図１０のＳ３１２〜Ｓ３１４、Ｓ３２１、Ｓ３３５〜Ｓ３３７、Ｓ３４１、および図１１のＳ３７３、Ｓ３８１〜Ｓ３８２、Ｓ３９１〜Ｓ３９３でスケジュール決定処理を行うＣＰＵ２１１１が「スケジュール決定手段」に相当する。また、図５のＳ７で「新規スケジュール登録依頼通知」送信処理を行うＣＰＵ２１１１が「スケジュール通知手段」に相当し、同じく図５のＳ１０で新規スケジュール登録処理を行うＣＰＵ２１１１が「スケジュール登録手段」に相当する。そして、図８のＳ２０９、図９および図１０のＳ３１０およびＳ３３５、ならびに図１１のＳ３７２で重要度算出処理を行うＣＰＵ２１１１が「重要度算出手段」に相当する。また、図８のＳ２０４、図９のＳ３０５、および図２１のスケジュール了承判断処理を行うＣＰＵ２１１１が「新規スケジュール判定手段」に相当する。そして、図２１のＳ４０３、Ｓ４０６、またはＳ４１３で依頼了承または変更要請の応答処理を行うＣＰＵ２１１１が「了承可否通知手段」に相当する。
【００７９】
<第２の実施形態>
次に、図２２〜図３１を参照して、第２の実施形態に係るスケジュール調整システム２について説明する。スケジュール調整システム２は、以下に詳述するように、第１の実施形態に係るスケジュール調整システム１とは異なり、ネットワークを介して接続されたサーバ１２とユーザ端末３０のうち、サーバ１２が主なスケジュール調整機能を有するものである。
【００８０】
まず、図２２〜図２４を参照して、本実施形態に係るスケジュール調整システム２の概略構成について説明する。図２２は、スケジュール調整システム２のシステム構成図である。図２３は、スケジュール調整システム２の備えるサーバ１２の電気的構成を示すブロック図である。図２４は、スケジュール調整システム２の備えるユーザ端末３１の電気的構成を示すブロック図である。
【００８１】
図２２に示すように、スケジュール調整システム２は、サーバ１２と、サーバ１２にネットワークを介して接続されたユーザ端末３１、３２、ほか複数のユーザ端末３０を備えている。スケジュール調整システム２では、ユーザ端末３０のユーザ３００がユーザ端末３０からネットワークを介してサーバ１２に必要なデータを送信すると、サーバ１２において後述するスケジュール調整処理を行う。
【００８２】
次に、図２３のブロック図を参照して、サーバ１２の電気的構成について説明する。図２３に示すように、サーバ１２には、第１の実施形態におけるサーバ１１と同様に、ＣＰＵ１２１１、ＲＯＭ１２１２、およびＲＡＭ１２１３を備えた制御部１２１が設けられており、ＲＯＭ１２１２およびＲＡＭ１２１３は、それぞれＣＰＵ１２１１に接続されている。そして、ＣＰＵ１２１１にはさらに、データバス１２０を介して、後述する記憶装置１２２、キーボード１２３、ディスプレイ１２４、通信制御部１２５、記憶媒体駆動装置１２６、および入出力インターフェース（Ｉ／Ｆ）１２７とが接続されている。
【００８３】
図２３に示すように、サーバ１２の記憶装置１２２には、複数の記憶エリアが設けられており、そのうちの４つには、ユーザ端末３０からの入力を受けて、スケジュール調整処理を行うスケジュール調整プログラム１２２１、ユーザ端末３０のすべてのユーザ３００のスケジュールデータをユーザ毎に格納した個人スケジュールデータベース１２２２、サーバ１２の管理する会議室の場所、日時、場所と日時に対応する予約を含む会議室データが格納された会議室スケジュールデータベース１２２３、およびユーザ端末３０のすべてのユーザ３００の識別コード、氏名、部署、役職、電話番号、電子メールアドレス等の個人情報が格納されたパーソナルデータデータベース１２２４が、それぞれ記憶されている。さらに、図示しないが、他の記憶エリアには、ＣＰＵ１２１１で実行される各種プログラム等が記憶されている。なお、スケジュール調整プログラム１２２１については、後で詳述する。また、個人スケジュールデータベース１２２２は、第１の実施形態においてユーザ端末２１の記憶装置２１２に記憶されていた個人スケジュールデータベース２１２２と同様に構成されたデータベースを、ユーザ端末３０のすべてのユーザ３００毎に統合したものである。会議室スケジュールデータベース１２２３およびパーソナルデータデータベース１２２４は、第１の実施形態における会議室スケジュールデータベース１１２３およびパーソナルデータデータベース１１２４と同じである。
【００８４】
次に、図２４のブロック図を参照して、複数のユーザ端末３０の１つであるユーザ端末３１の電気的構成について説明する。なお、各ユーザ端末３０は、いずれも以下に説明するユーザ端末３１と同じ構成を有している。図２４に示すように、ユーザ端末３１には、第１の実施形態におけるユーザ端末２１と同様に、ＣＰＵ３１１１、ＲＯＭ３１１２、およびＲＡＭ３１１３を備えた制御部３１１が設けられており、ＲＯＭ３１１２およびＲＡＭ３１１３は、それぞれＣＰＵ３１１１に接続されている。そして、ＣＰＵ３１１１にはさらに、データバス３１０を介して、ＣＰＵ３１１１で実行される各種プログラム等を記憶する記憶エリア（図示外）が設けられた記憶装置３１２、キーボード３１３、ディスプレイ３１４、サーバ１２との通信を制御する通信制御部３１５、記憶媒体駆動装置３１６、およびデータの受け渡しの仲介を行う入出力インターフェース（Ｉ／Ｆ）３１７とが接続されている。
【００８５】
次に、図２５および図２６を参照して、スケジュール調整システム２のサーバ１２のＣＰＵ１２１１において実施されるスケジュール調整プログラム１２２１のメイン処理について説明する。図２５は、ユーザ端末３１の新規スケジュール入力画面５２の模式図であり、図２６は、スケジュール調整プログラム１２２１のメイン処理のフローチャートである。
【００８６】
図２６に示すスケジュール調整処理は、ユーザ端末３０のいずれか（以下の説明では、ユーザ端末３１）において、ユーザ３０１がネットワークを介してサーバ１２のスケジュール調整プログラム１２２１にアクセスし、スケジュール調整を希望する新規イベントに関するデータをユーザ端末３１で入力してサーバ１２に送信した後、サーバがこの入力データを受信すると開始される。
【００８７】
図２５に示す新規スケジュール入力画面５２は、スケジュール調整プログラム１２２１にアクセスしたときにユーザ端末３１のディスプレイ３１４に表示される画面である。新規スケジュール入力画面５２における入力項目は、第１の実施形態における新規スケジュール入力画面５１と基本的に同一であるが、ここではさらに、「キーマン」欄５２６が設けられている。この欄では、「参加メンバー」欄５２５に入力された参加メンバーのうち、参加が必須である重要メンバー等を指定することができる。なお、「キーマン」欄５２６は、複数の氏名を入力できるように、複数の入力欄５２６１〜５２６６に分けられている。また、第１の実施形態と同様、「所要時間」欄５１３および「参加メンバー」欄５１５は必須入力項目とされているが、その他の欄は任意の入力項目である。さらに、第１の実施形態と同様、新規スケジュール入力画面５２の右下には、「設定」ボタン５２８が設けられており、これをクリックすることで、入力したデータがネットワークを介してサーバ１２に送信される。
【００８８】
図２６に示すように、サーバ１２においてメイン処理が開始されると、ＣＰＵ１２１１は、ユーザ端末３１から受信した入力データから、特定の日時が指定されているか否かを判断する（Ｓ５０１）。その結果、「指定日時」欄５２２１（図２５）で入力された日時データがある場合には（Ｓ５０１：ＹＥＳ）、記憶装置１２２の個人スケジュールデータベース１２２２から、参加メンバーのスケジュールデータを取得して、「参加メンバー」欄５２５（図２５）で入力された参加メンバー全員が指定された日時に空いているかどうかをチェックする（Ｓ５０２）。このとき、新規スケジュール入力画面５２の「所要時間」欄５２３（図２５）に入力された所要時間も考慮する。指定された日時に空いていないメンバーがいる場合は（Ｓ５０２：ＮＯ）、参加メンバーのスケジュールデータから、所定期間中（例えば、１週間）に全員が所要時間分空いている日時を抽出し、抽出された日時とともに、指定された日時には参加できないメンバーがいる旨を、新規イベント情報の入力者であるユーザ３０１のユーザ端末３１へ送信する（Ｓ５０３）。そして、処理を終了する。
【００８９】
参加メンバーのスケジュールデータから、入力された指定時間に全員が空いていると判断され（Ｓ５０２：ＹＥＳ）、指定場所（会議室）も入力されている場合は（Ｓ５０４）、記憶装置１２２の会議室スケジュールデータベース１２２３に記憶された会議室データを取得し（Ｓ５０５）、指定された日時に指定された会議室が空いているかどうかを、所要時間も考慮してチェックする（Ｓ５０６）。指定された会議室が空いていなければ（Ｓ５０６：ＮＯ）、会議室データから、指定日時に空いている他の会議室を抽出し、新規イベント情報の入力者３０１のユーザ端末３１へ、指定された会議室は空いていない旨を、空いている会議室とあわせて通知する（Ｓ５０７）。指定された会議室が空いていれば、記憶装置１２２の個人スケジュールデータベース１２２２において、参加メンバーのスケジュールデータに新規スケジュールを登録するとともに、会議室スケジュールデータベース１２２３にも新規スケジュールを登録する（Ｓ５１２）。そして、ユーザ端末３１ほか参加メンバーの利用するユーザ端末３０へスケジュール決定通知を送信し（Ｓ５１３）、処理を終了する。
【００９０】
図２６に示すメイン処理において、指定日時の入力データはあるが（Ｓ５０１：ＹＥＳ）、場所の入力データはない場合は（Ｓ５０４：ＮＯ）、後述するスケジュール獲得処理を行い（Ｓ５１４：図２７参照）、さらに、これも後述する場所決定処理を行う（Ｓ５１５：図２８参照）。また、入力データに指定日時がないが（Ｓ５０１：ＮＯ）、場所の入力データがある場合には（Ｓ５２１：ＹＥＳ）、後述するスケジュール獲得処理（Ｓ５２２：図２７参照）および日時決定処理（Ｓ５２３：図２９および図３０参照）を、場所データもない場合には（Ｓ５２１：ＮＯ）、後述するスケジュール獲得処理（Ｓ５２４：図２７参照）および日時・場所決定処理（Ｓ５２５：図２９および図３０参照）をそれぞれ順に行う。そして、前述した場所決定処理（Ｓ５１５）、日時決定処理（Ｓ５２３）、または日時・場所決定処理（Ｓ５２５）が終了すると、いずれも処理過程でエラーが生じなかったかどうかをＲＡＭ１２１３のエラーフラグ記憶エリア（図示外）のエラーフラグのＯＮ／ＯＦＦに基づいて判断する（Ｓ５１６）。エラーがあった場合は（Ｓ５１６：ＹＥＳ）そのまま処理を終了し、なかった場合は（Ｓ５１６：ＮＯ）、個人スケジュールデータベース１２２２において、参加メンバーのスケジュールデータに新規スケジュールを登録するとともに、会議室スケジュールデータベース１２２３にも新規スケジュールを登録する（Ｓ５１２）。そして、ユーザ端末３１ほか参加メンバーの利用するユーザ端末３０へスケジュール決定通知を送信し（Ｓ５１３）、処理を終了する。
【００９１】
次に、図２７のフローチャートを参照して、スケジュール獲得処理のサブルーチンについて説明する。このスケジュール獲得処理は、図２６に示すメイン処理において、後述する場所決定処理（Ｓ５１５）、日時決定処理（Ｓ５２３）および日時・場所決定処理（Ｓ５２５）のいずれかの前で、スケジュール調整の基準となるユーザの個人スケジュールを獲得するために行われるものである。図２７は、メイン処理で行われるスケジュール獲得処理のサブルーチンのフローチャートである。
【００９２】
処理が開始されると、ＣＰＵ１２１１は、まず、ユーザ端末３１から受信した入力データから、キーマンが登録されているかどうかをチェックし（Ｓ６０１）、キーマンの入力データがない場合は（Ｓ６０１：ＮＯ）、新規イベント情報の入力データの送信元であるユーザ端末３１のユーザ３０１を、キーマンとして設定する（Ｓ６０３）。そして、記憶装置１２２の個人スケジュールデータベース１２２２から、入力時に登録されたキーマン（Ｓ６０１：ＹＥＳ）またはＳ６０３において設定されたキーマン（ユーザ３０１）のスケジュールデータを取得して、ＲＡＭ１２１３に記憶し（Ｓ６０２）、図２６に示すメイン処理に戻って、場所決定処理（Ｓ５１５）、日時決定処理（Ｓ５２３）および日時・場所決定処理（Ｓ５２５）のいずれかに進む。なお、図２５に示す例のように、「キーマン」欄５２６にキーマンが４名入力されている場合には、サーバ１２の記憶装置１２２に記憶されたパーソナルデータデータベース１２２４の「役職」データを参照して、役職が１番上のメンバーをキーマンとして、そのメンバーのスケジュールデータが取得される。役職が同じメンバーが複数名いる場合には、「キーマン」欄５２６に１番最初に入力された「Ｃ」をキーマンとして、「Ｃ」のスケジュールデータが取得される。
【００９３】
次に、図２８のフローチャートを参照して、場所決定処理のサブルーチンについて説明する。この場所決定処理は、図２６に示すメイン処理において、日時は指定されているが（Ｓ５０１：ＹＥＳ）場所は指定されていない場合（Ｓ５０４：ＮＯ）に行われる処理である。図２８は、メイン処理で行われる場所決定処理のサブルーチンのフローチャートである。
【００９４】
処理が開始されると、ＣＰＵ１２１１はまず、ＲＡＭ１２１３のエラーフラグ記憶エリア（図示外）において、エラーフラグをＯＦＦにし（Ｓ７００）、記憶装置２１２の会議室スケジュールデータベース１２２３に記憶された会議室データから、指定された日時に所要時間を足した時間帯の会議室データをすべて取得する（Ｓ７０１）。そして、空いている会議室がないと判断した場合には（Ｓ７０２：ＮＯ）、ＲＡＭ１２１３のエラーフラグをＯＮにするとともに（Ｓ７０３）、指定日時には空いている会議室がない旨の通知を新規イベント情報の入力者３０１のユーザ端末３１に送信して（Ｓ７０４）、図２６に示すメイン処理に戻る。
【００９５】
一方、指定された日時に空いている会議室があれば（Ｓ７０２：ＹＥＳ）、入力時に指定された日時を候補日時、空いている会議室を候補場所として、候補日程を抽出する（Ｓ７０５）。なお、第１の実施形態と同様に、この場所決定処理では特定の日時が指定されているので、候補日程が複数抽出されても、候補日時はすべて同一である。そして、図１３の重要度算出テーブル８１と、前述のスケジュール獲得処理（Ｓ５１４、図２６および図２７参照）で取得されたキーマンのスケジュールデータとを参照し、キーマンがその直前にいる場所からの移動距離に基づいて、各候補日程と、その直後にすでに登録されているイベントの重要度を算出するとともに、キーマンのデスクの存在する場所から各候補日程の候補場所への移動距離に基づいて、デスク基準重要度を算出する（Ｓ７０６）。すなわち、キーマンを基準とした「候補日程の重要度」、「候補日程直後のイベントの重要度（直後にイベントが登録されている場合のみ）」、「各候補日程のデスク基準重要度」の最大３種類の重要度が算出され、ＲＡＭ１２１３に記憶される。
【００９６】
そして、キーマンのスケジュールデータの各候補日程の候補日時（新規スケジュール入力画面５２の「指定日時」欄５２２１で指定された特定の日時）の直前に、すでに登録されたイベントがあれば（Ｓ７０７：ＹＥＳ）、前述のようにＳ７０６で算出された各種重要度のうち、候補日程の重要度を比較し、重要度が最も高い候補日程を選び出す（Ｓ７１１）。これが１つだけであれば（Ｓ７１２：ＮＯ）、その候補日程の候補場所に場所を決定し（Ｓ７１３）、図２６に示すメイン処理に戻る。
【００９７】
一方、各候補日程に共通する候補日時の直前に登録されたイベントがない場合（Ｓ７０７：ＮＯ）と、直前に登録されたイベントがあり（Ｓ７０７：ＹＥＳ）、各候補日程の重要度を比較した結果、重要度が最も高い候補日程が複数ある場合（Ｓ７１２：ＹＥＳ）には、ＣＰＵ１２１１は、キーマンのスケジュールデータから、各候補日程の直後にすでに登録されたイベントがあるかどうかを判断する（Ｓ７２１）。その結果、各候補日程に共通する候補日時の直後にすでに登録されたイベントがあれば（Ｓ７２１：ＹＥＳ）、Ｓ７０６において前述のように算出された各種重要度のうち、Ｓ７１１において選定された重要度が最も高い候補日程の直後のイベントの重要度を比較し、候補日程直後のイベントの重要度が最も高くなるような候補日程を選び出す（Ｓ７２２）。そして、最も重要度の高い候補日程が１つだけであれば（Ｓ７２３：ＮＯ）、その候補日程の候補場所に場所を決定して（Ｓ７１３）、図２６に示すメイン処理に戻る。
【００９８】
さらに、各候補日程に共通する候補日時の直後に登録されたイベントがない場合（Ｓ７２１：ＮＯ）と、直後に登録されたイベントがあり（Ｓ７２１：ＹＥＳ）、直後のイベントの重要度を比較した結果、直後のイベントの重要度が最も高くなるような候補日程が複数ある場合（Ｓ７２３：ＹＥＳ）には、ＣＰＵ１２１１は、前述のようにＳ７０６で算出し、ＲＡＭ２１１３に記憶した各候補日程のデスク基準重要度を比較して、デスク基準重要度が最も高い候補日程を選び出す（Ｓ７３１）。そして、デスク基準重要度が最も高い候補日程が１つだけであれば（Ｓ７３２：Ｎｏ）、その候補日程の候補場所に場所を決定する（Ｓ７１３）。一方、デスク基準重要度が最も高い候補日程が複数ある場合には（Ｓ７３２：ＹＥＳ）、会議室スケジュールデータベース１２２３において先にデータが登録されている候補場所の会議室に場所を決定する（Ｓ７３３）。そして、場所を決定した後（Ｓ７１３）は、いずれも図２６に示すメイン処理に戻る。
【００９９】
次に、図２６に示すスケジュール調整プログラム１２２１のメイン処理において行われる日時決定処理のサブルーチンについて、図２９および図３０を参照して説明する。この日時決定処理は、図２６に示すメイン処理において、日時は指定されていないが（Ｓ５０１：ＮＯ）場所は指定されている場合（Ｓ５２１：ＹＥＳ）に行われる処理である。図２９および図３０は、メイン処理で行われる日時決定処理のサブルーチンのフローチャートである。
【０１００】
図２９に示す日時決定処理が開始されると、ＣＰＵ１２１１は最初に、ＲＡＭ１２１３のエラーフラグ記憶エリア（図示外）のエラーフラグをＯＦＦにする（Ｓ８００）。そして次に、所要時間が１日以上であるか、１日未満であるかを判断する（Ｓ８０１）。これは、第１の実施形態と同様、所要時間が１日以上か否かによって、重要度の算出に用いる重要度算出テーブルを変えるためである（図１３および図１４参照）。所要時間が一日未満の場合であって（Ｓ８０１：ＮＯ）、図２５に示す新規スケジュール入力画面５２の「指定期間」欄５２２２で指定期間が入力されている場合は、個人スケジュールデータベース１２２２から参加メンバー毎のスケジュールデータを取得して、「参加メンバー」欄５２５で指定された全員が、指定期間中に所要時間分空いている時間帯があるかどうかを判断する（Ｓ８０２）。「日時」欄５２２にまったく入力がされていない場合には、例えば「入力日から１週間」というように所定の期間を区切って、その所定期間内の参加メンバー全員のスケジュールデータから判断する（Ｓ８０２）。そして、指定期間中または所定期間中にわたって、所要時間分の空きがない場合は（Ｓ８０２：ＮＯ）、入力された条件ではスケジュールは登録不可能なため、ＲＡＭ１２１３のエラーフラグをＯＮにするとともに（Ｓ８０３）、新規イベント情報の入力者であるユーザ３０１のユーザ端末３１に、指定期間内または所定期間内にメンバー全員空いているときがない旨の通知を送信し（Ｓ８０４）、図２６に示すメイン処理に戻る。
【０１０１】
指定期間内または所定期間内にメンバー全員空いているときがあれば（Ｓ８０２：ＹＥＳ）、図２５に示す新規スケジュール入力画面５２の「場所」欄５２４で指定された会議室の指定期間内または所定期間内のデータを取得し（Ｓ８０５）、指定期間内または所定期間内に指定された会議室が空いているかどうかをチェックする（Ｓ８０６）。所要時間分空いているときがない場合は（Ｓ８０６：ＮＯ）、ＲＡＭ１２１３のエラーフラグをＯＮにするとともに（Ｓ８０７）、新規イベント情報の入力者であるユーザ３０１のユーザ端末３１に、指定された会議室が空いていない旨の通知を送信し（Ｓ８０８）、図２６に示すメイン処理に戻る。空きがあれば（Ｓ８０６：ＹＥＳ）、Ｓ８０２で取得した参加メンバー毎のスケジュールデータから、全員が空いている日程も考慮して、候補日時および候補場所からなる候補日程を抽出する（Ｓ８０９）。そして、各候補日程について、前述のスケジュール獲得処理（Ｓ５１４、図２６および図２７参照）で獲得したキーマンのスケジュールにおいて、各候補日程の直前に登録されたイベントがあれば、その開催場所からの移動距離、直前に登録イベントがなければ、キーマンのデスクがある場所からの移動距離に基づいて、図１３の重要度算出テーブル８１を用いて各候補日程の重要度を算出し、ＲＡＭ１２１３に記憶させる（Ｓ８１０）。次いでＣＰＵ１２１１は、前述のように算出された各候補日程の重要度を比較して、最も重要度が高い候補日程を選び出し（Ｓ８１１）、それが１つであれば（Ｓ８１２：ＮＯ）、その候補日程の候補日時に新規イベントの開催日時を決定し（Ｓ８１３）、図２６に示すメイン処理に戻る。一方、重要度が最も高い候補日程が複数ある場合は（Ｓ８１２：ＹＥＳ）、候補日程のうち、最も早い日時の候補日程を選択し（Ｓ８２１）、日時を決定する（Ｓ８１３）。
【０１０２】
また、図２９および図３０に示す日時決定処理において、所要時間が１日以上の場合も（Ｓ８０１：ＹＥＳ）、１日未満の場合と同様、個人スケジュールデータベース１２２２の参加メンバーのスケジュールデータを取得して、まず指定期間内または所定期間内に参加メンバー全員が所要時間分空いているときがあるかどうかを判断する（図３０、Ｓ８３１）。全員空いているときがなければ（Ｓ８３１：ＮＯ）、ＣＰＵ１２１１は、ＲＡＭ１２１３のエラーフラグ記憶エリア（図示外）にあるエラーフラグをＯＮにして（Ｓ８５１）、新規イベント情報の入力者であるユーザ３０１のユーザ端末３１に指定期間内または所定期間内にメンバー全員空いているときがない旨の通知を送信し（Ｓ８５２）、図２６に示すメイン処理に戻る。
【０１０３】
図３０に示すように、全員が空いているときがあれば（Ｓ８３１：ＹＥＳ）、候補日程を抽出し（Ｓ８３３）、各候補日程について、前述のスケジュール獲得処理（Ｓ５２２、図２６および図２７参照）で獲得したキーマンのスケジュールにおいて、各候補日程の前日に登録されたイベントがあれば、その開催場所からの移動距離、前日に登録イベントがなければ、キーマンのデスクがある場所からの移動距離に基づいて、各候補日程の重要度を算出し、ＲＡＭ１２１３に記憶させる（Ｓ８３４）。次いでＣＰＵ１２１１は、前述のように算出された各候補日程の重要度を比較して、最も重要度が高い候補日程を選び出し（Ｓ８３５）、それが１つであれば（Ｓ８３６：ＮＯ）、その候補日程の候補日時に新規イベントの開催日時を決定し（図２９、Ｓ８１３）、重要度が最も高い候補日程が複数ある場合は（Ｓ８３６：ＹＥＳ）、候補日程のうち、最も早い日時の候補日程を選択し（Ｓ８４１）、日時を決定する（図２９、Ｓ８１３）。
【０１０４】
次に、図２６に示すメイン処理において実行される日時・場所決定処理のサブルーチン（Ｓ５２５）について、図３１のフローチャートを参照して説明する。この処理は、図２６に示すスケジュール決定処理において、特定の日時も場所も指定されていない場合（Ｓ５０１：ＮＯおよびＳ５２１：ＮＯ）に行われる処理である。図３１は、メイン処理で行われる日時・場所決定処理のサブルーチンのフローチャートである。なお、図２５に示す新規スケジュール入力画面５２の「日時」欄５２２において、「指定日時」欄５２２１には入力がなく、「指定期間」欄５２２２のみに入力がされている場合も、「特定の日時が指定されていない」場合に該当する。
【０１０５】
図３１に示すように、日時・場所決定処理のサブルーチンが開始されると、ＣＰＵ１２１１はまず、ＲＡＭ１２１３のエラーフラグをＯＦＦにする（Ｓ９００）。次いで、図２５に示す新規スケジュール入力画面５２の「指定期間」欄５２２２で指定期間が入力されている場合は指定期間内で、図２５に示すように指定がない場合は所定の期間（例えば、１週間）を区切って、個人スケジュールデータベース１２２２から参加メンバー全員（図２５の入力例では、参加メンバー「Ａ」、「Ｃ」、「Ｄ」および「Ｅ」）のスケジュールデータを取得し、指定期間内または所定期間内に、参加メンバーに所要時間分空いているときがあるかどうかチェックする（Ｓ９０１）。全員空いているときがなければ（Ｓ９０１：ＮＯ）、ＣＰＵ１２１１は、ＲＡＭ１２１３のエラーフラグをＯＮにして（Ｓ９０２）、新規イベント情報の入力者であるユーザ３０１のユーザ端末３１に、指定期間内または所定期間内にメンバー全員空いているときがない旨の通知を送信し（Ｓ９０３）、図２６に示すメイン処理に戻る。
【０１０６】
参加メンバー全員が所要時間分空いている日時があれば（Ｓ９０１：ＹＥＳ）、これを抽出して、ＲＡＭ１２１３に記憶させる（Ｓ９０４）。そして、抽出された日時のうち、最も早い日時を選択し（Ｓ９０５）、会議室スケジュールデータベース１２１３から、その日時の会議室データを取得して、その日時に空いている会議室があるかどうかチェックする（Ｓ９０６）。その日時には空きがないが（Ｓ９０６：ＮＯ）、まだ抽出された日時を全部チェックし終わっていなければ（Ｓ９０７：ＮＯ）、次に早い日時を選択（Ｓ９０８）し、会議室の空き状況チェックを繰り返す（Ｓ９０６〜Ｓ９０８）。抽出された日時をすべてチェックした結果、空いている会議室がなかった場合は（Ｓ９０６：ＮＯ、Ｓ９０７：ＹＥＳ）、ＲＡＭ１２１３のエラーフラグをＯＮにして（Ｓ９０９）、新規イベント情報の入力者であるユーザ３０１のユーザ端末３１に、指定期間内または所定期間内に空いている会議室がない旨の通知を送信し（Ｓ９１０）、図２６に示すメイン処理に戻る。
【０１０７】
選択された日時に会議室に空きがあれば（Ｓ９０６：ＹＥＳ）、選択された日時を候補日時、空いている会議室を候補場所とした候補日程が決定される。このとき、選択された日時は１つであるから、候補日程の候補日時はすべて同一である。次いでＣＰＵ１２１１は、図１３の重要度算出テーブル８１と、前述のスケジュール獲得処理（Ｓ５２４、図２６および図２７参照））で獲得されたキーマンのスケジュールデータとを参照し、キーマンがその直前にいる場所からの移動距離に基づいて、各候補日程と、その直後にすでに登録されているイベントの重要度を算出するとともに、キーマンのデスクの存在する場所から各候補日程の候補場所への移動距離に基づいて、デスク基準重要度を算出する（Ｓ９１１）。すなわち、キーマンを基準とした「候補日程の重要度」、「候補日程直後のイベントの重要度（直後にイベントが登録されている場合のみ）」、「各候補日程のデスク基準重要度」の最大３種類の重要度が算出され、ＲＡＭ１２１３に記憶される。次いでＣＰＵ１２１１は、選択された日時の直前にすでに登録されたイベントがあれば（Ｓ９１２：ＹＥＳ）、各候補日程の重要度を比較し、最も重要度が高い候補日程を選択する（Ｓ９１３）。選択された候補日程が１つであれば（Ｓ９１４：ＮＯ）、その候補日程で日時と場所を決定し（Ｓ９１５）、図２６に示すメイン処理に戻る。一方、最も重要度が高い候補日程が複数ある場合には（Ｓ９１４：ＹＥＳ）、それらの候補日程（日時は同一）の直後にすでに登録されたイベントがあれば（Ｓ９２１：ＹＥＳ）、Ｓ９１１において算出され、ＲＡＭ１２１３に記憶されたそれらの候補日程の直後の登録イベントの重要度が最も高くなる候補日程を選び出す（Ｓ９２３）。それでも複数の候補の日程が残された場合（Ｓ９２３：ＹＥＳ）や、候補日程の直後にすでに登録されたイベントがない場合（Ｓ９２１：ＮＯ）には、Ｓ９１１において算出され、ＲＡＭ１２１３に記憶されたデスク基準重要度を比較して選定を行い（Ｓ９３１）、選定された候補日程が１つであれば（Ｓ９３２：ＮＯ）、その候補日程で日時と場所を決定する（Ｓ９１５）。まだ複数の候補が残る場合は（Ｓ９３２：ＹＥＳ）、会議室スケジュールデータベース１１２３において最も先に登録されている会議室を選択して（Ｓ９３３）、日時・場所を決定する（Ｓ９１５）。
【０１０８】
以上説明した通り、本実施形態に係るスケジュール調整システム２によれば、ユーザ３００がユーザ端末３０において入力した会議等の新規イベントのデータをネットワークを介してサーバ１２が受信すると、サーバ１２のＣＰＵ１２１１は、サーバ１２の記憶装置１２２が備える個人スケジュールデータベース１２２２から新規イベントの参加メンバー全員のスケジュールを参照して、メンバー全員が参加できる日程を調整する。したがって、メンバーの新規イベントへの参加率を向上させることができる。また、新規イベントの重要メンバーであるキーマンのイベント間の移動距離が最も短くなるような日時と場所でスケジュールが決定される。したがって、キーマンにとって、同じ場所を行ったり来たりする、遠回りをする等の無駄のない、移動効率のよいスケジュールを自動的に決定することができる。また、指定された日時に参加メンバー全員が揃わない場合や、指定された会議室が空いていない場合には、サーバ１２のＣＰＵ１２１１が、全員が参加できる日や空いている他の会議室を抽出し、入力者のユーザ端末３０に通知する。よって、通知を受けた入力者は、改めて、条件が整いやすい日程でスケジュール調整を行うことができる。
【０１０９】
なお、本実施形態では、サーバ１２が、本発明に係る「スケジュール調整装置」に相当し、ユーザ端末３１のキーボード３１３が、「入力手段」に相当する。そして、図２６のＳ５０２、図２７のスケジュール獲得処理（図２６のＳ５１４、Ｓ５２２、Ｓ５２４）、図２９のＳ８０２およびＳ８３１、ならびに図３１のＳ９０１で個人スケジュール取得処理を行うサーバ１２のＣＰＵ１２１１が「個人スケジュール取得手段」に相当する。また、図２６のＳ５０５、図２８のＳ７０１、図２９のＳ８０５、および図３１のＳ９０６で会議室データ取得処理を行うＣＰＵ１２１１が「会議室情報取得手段」に相当する。また、図２８のＳ７０５、図２９および図３０のＳ８０８およびＳ８３３、ならびに図３１のＳ９０４〜９０５およびＳ９０８で候補日程抽出処理を行うＣＰＵ１２１１が「候補日程選択手段」に相当する。そして、図２８のＳ７０７、Ｓ７１１〜Ｓ７１３、Ｓ７２１〜Ｓ７２３、Ｓ７３１〜Ｓ７３３、図２９および図３０のＳ８１１〜Ｓ８１３、Ｓ８２１、Ｓ８３５〜Ｓ８３６、Ｓ８４１、ならびに図３１のＳ９１２〜Ｓ９１５、Ｓ９２１〜Ｓ９２３、Ｓ９３１〜Ｓ９３３のスケジュール決定処理を行うＣＰＵ１２１１が「スケジュール決定手段」に相当する。また、図２６のＳ５１３でスケジュール決定通知送信処理を行うＣＰＵ１２１１が「スケジュール通知手段」に相当し、同じく図２６のＳ５１２で新規スケジュール登録処理を行うＣＰＵ２１１１が「スケジュール登録手段」に相当する。そして、図２８のＳ７０６、図２９および図３０のＳ８０９およびＳ８３４、ならびに図３１のＳ９１１で重要度算出処理を行うＣＰＵ２１１１が「重要度算出手段」に相当する。
【０１１０】
なお、本発明のスケジュール調整装置およびスケジュール調整プログラムは、上記した第１の実施形態および第２の実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において各種の変形が可能なことは言うまでもない。
【０１１１】
例えば、図３２および図３３は、第１の実施形態に係るスケジュール調整システム１の変形例であるスケジュール調整システム３を示している。図３２は、スケジュール調整システム３のシステム構成図であり、図３３は、スケジュール調整システム３の備える複数のユーザ端末４０の１つであるユーザ端末４１の電気的構成を示すブロック図である。
【０１１２】
図３２に示すように、スケジュール調整システム３は、第１の実施形態とは異なり、サーバは備えておらず、複数のユーザ端末４０が、ネットワーク１０により、互いに接続された構成を有する。そして、図３３に示すように、ユーザ端末４１は、第１の実施形態のユーザ端末２１と同様に、ＣＰＵ４１１１、ＲＯＭ４１１２、およびＲＡＭ４１１３を備えた制御部４１１が設けられており、ＲＯＭ４１１２およびＲＡＭ４１１３は、それぞれＣＰＵ４１１１に接続されている。そして、ＣＰＵ４１１２にはさらに、データバス４１０を介して、記憶装置４１２、キーボード４１３、ディスプレイ４１４、通信制御部４１５、記憶媒体駆動装置４１６、および入出力インターフェース４１７とが接続されている。また、ユーザ端末４１以外のユーザ端末４０も、それぞれユーザ端末４１と同一の構成を有している。
【０１１３】
なお、第１の実施形態のユーザ端末２１とは異なり、ユーザ端末４１の記憶装置４１２には、ユーザ端末４１のキーボード４１３による入力を受けて、スケジュール調整処理を行うスケジュール調整プログラム４１２１、ユーザ端末４１のユーザ４０１のスケジュールデータを格納した個人スケジュールデータベース４１２２、複数のユーザ端末４０のユーザ４００が利用可能な会議室の場所、日時、場所と日時に対応する予約を含む会議室データが格納された会議室スケジュールデータベース４１２３、およびユーザ端末４０のすべてのユーザ４００の識別コード、氏名、部署、役職、電話番号、電子メールアドレス等の個人情報が格納されたパーソナルデータデータベース４１２４が、それぞれ記憶されている。このうちの会議室スケジュールデータベース４１２３およびパーソナルデータデータベース４１２４は、第１の実施形態のスケジュール調整システム１ではサーバ１１が備えており、複数のユーザ端末２０のユーザ２００は、サーバ１１にアクセスし、共同でこれを使用していた。しかし、本実施形態に係るスケジュール調整システム３では、各ユーザ端末４０が、会議室スケジュールデータベース４１２３およびパーソナルデータデータベース４１２４を備えており、ユーザ端末４０のいずれかで更新が行われるたび、ネットワークを介して他のユーザ端末４０の会議室スケジュールデータベース４１２３およびパーソナルデータデータベース４１２４も更新されることによって、各ユーザ端末４０が、常に同一の会議室スケジュールデータベース４１２３およびパーソナルデータデータベース４１２４を有するように構成されている。その他の構成や機能は、第１の実施形態に係るスケジュール調整システム１と同様である。
【０１１４】
このように、サーバを用いず、ユーザ端末４０のみで、本発明に係るスケジュール調整装置およびスケジュール調整プログラムを実現することも可能である。なお、この場合は、各ユーザ端末４０が、本発明の「スケジュール調整装置」に相当し、ユーザ端末４０のＣＰＵ４１１１に実行されるスケジュール調整プログラム４１２１が、本発明の「スケジュール調整システム」に相当する。
【０１１５】
また、上記の実施形態では、場所決定処理（図８および図２８）、日時決定処理（図９〜図１０および図２９〜図３０）、および日時・場所決定処理（図１１および図３１）の各々において、候補日程を抽出した後、「候補日程の重要度」、「候補日程直後のイベントの重要度」、「候補日程のデスク基準重要度」の最大３種類の重要度をまとめて算出してＲＡＭに記憶し、後の処理で必要な重要度を参照しているが、処理の都度、必要な重要度のみを算出する構成としてもよい。さらに、場所決定処理（図８および図２８）においては、３種類の重要度を考慮する順番を、「候補日程の重要度」、「候補直後のイベントの重要度」、「候補日程のデスク基準重要度」としているが、これを変更することも可能である。
【０１１６】
また、上記の実施形態では、図１３または図１４の重要度算出テーブル８１または８２を用いて、新規イベントの直前にユーザがいる場所（すでに登録されたイベントの場所またはユーザのデスク）から新規イベントの候補場所の移動距離に応じて、各候補日程の重要度を算出しているが、新規イベントの候補場所から新規イベントの直後にユーザがいる場所への移動距離に応じて、各候補日程の重要度を算出してもよい。さらに、重要度算出テーブルの場所と重要度の対応付けをさらに細分化したり、「会議」「外出」「出張」などの区分に応じてより多くのテーブルを使い分けることも可能である。また、上記の実施形態では、スケジュールの区切りを１時間単位としたが、例えば３０分単位として、より細かいスケジュール調整を行うことも可能である。
【図面の簡単な説明】
【０１１７】
【図１】第１の実施形態に係るスケジュール調整システム１のシステム構成図である。
【図２】スケジュール調整システム１の備えるサーバ１１の電気的構成を示すブロック図である。
【図３】スケジュール調整システム１の備えるユーザ端末２１の電気的構成を示すブロック図である。
【図４】ユーザ端末２１の新規スケジュール入力画面５１の模式図である。
【図５】スケジュール調整プログラム２１２１の全体処理のフローチャートである。
【図６】スケジュール調整プログラム２１２１の全体処理のフローチャートであり、図５に示すフローチャートの続きである。
【図７】スケジュール決定処理のメイン処理のフローチャートである。
【図８】メイン処理で行われる場所決定処理のサブルーチンのフローチャートである。
【図９】メイン処理で行われる日時決定処理のサブルーチンのフローチャートである。
【図１０】メイン処理で行われる日時決定処理のサブルーチンのフローチャートであり、図９に示すフローチャートの続きである。
【図１１】メイン処理で行われる日時・場所決定処理のサブルーチンのフローチャートである。
【図１２】会議室データ表示例の説明図である。
【図１３】距離移動を前提とした重要度算出テーブルの模式図である。
【図１４】長距離移動を前提とした重要度算出テーブルの模式図である。
【図１５】重要度を用いた場所決定プロセスに関する説明図である。
【図１６】重要度を用いた場所決定プロセスに関する説明図である。
【図１７】重要度を用いた場所決定プロセスに関する説明図である。
【図１８】重要度を用いた場所決定プロセスに関する説明図である。
【図１９】ユーザ端末２１の新規スケジュール入力画面５１の模式図である。
【図２０】重要度を用いた日時決定プロセスに関する説明図である。
【図２１】スケジュール了承判断処理のサブルーチンのフローチャートである。
【図２２】第２の実施形態に係るスケジュール調整システム２のシステム構成図である。
【図２３】スケジュール調整システム２の備えるサーバ１２の電気的構成を示すブロック図である。
【図２４】スケジュール調整システム１の備えるユーザ端末３１の電気的構成を示すブロック図である。
【図２５】ユーザ端末３１の新規スケジュール入力画面５２の模式図である。
【図２６】スケジュール調整プログラム１２２１のメイン処理のフローチャートである。
【図２７】メイン処理で行われるスケジュール獲得処理のサブルーチンのフローチャートである。
【図２８】メイン処理で行われる場所決定処理のサブルーチンのフローチャートである。
【図２９】メイン処理で行われる日時決定処理のサブルーチンのフローチャートである。
【図３０】メイン処理で行われる日時決定処理のサブルーチンのフローチャートであり、図２９に示すフローチャートの続きである。
【図３１】メイン処理で行われる日時・場所決定処理のサブルーチンのフローチャートである。
【図３２】第１の実施形態の変形例に係るスケジュール調整システム３のシステム構成図である。
【図３３】スケジュール調整システム３の備えるユーザ端末４１の電気的構成を示すブロック図である。
【符号の説明】
【０１１８】
１、２        スケジュール調整システム
１１、１２          サーバ
１１１、１２１      制御部
１１１１、１２１１  ＣＰＵ
１１２、１２１      記憶装置
１１２３、１２２３  会議室スケジュールデータベース
２０、２１、３０、３１  ユーザ端末
２１１、３１１      制御部
２１１１、３１１１  ＣＰＵ
２１２、３１２      記憶装置
２１２１、１２２１  スケジュール調整プログラム
２１２２、１２２２  個人スケジュールデータベース
２１３、３１３      キーボード
【図１】
2008090409.tif 000003
【図２】
2008090409.tif 000004
【図３】
2008090409.tif 000005
【図４】
2008090409.tif 000006
【図５】
2008090409.tif 000007
【図６】
2008090409.tif 000008
【図７】
2008090409.tif 000009
【図８】
2008090409.tif 000010
【図９】
2008090409.tif 000011
【図１０】
2008090409.tif 000012
【図１１】
2008090409.tif 000013
【図１２】
2008090409.tif 000014
【図１３】
2008090409.tif 000015
【図１４】
2008090409.tif 000016
【図１５】
2008090409.tif 000017
【図１６】
2008090409.tif 000018
【図１７】
2008090409.tif 000019
【図１８】
2008090409.tif 000020
【図１９】
2008090409.tif 000021
【図２０】
2008090409.tif 000022
【図２１】
2008090409.tif 000023
【図２２】
2008090409.tif 000024
【図２３】
2008090409.tif 000025
【図２４】
2008090409.tif 000026
【図２５】
2008090409.tif 000027
【図２６】
2008090409.tif 000028
【図２７】
2008090409.tif 000029
【図２８】
2008090409.tif 000030
【図２９】
2008090409.tif 000031
【図３０】
2008090409.tif 000032
【図３１】
2008090409.tif 000033
【図３２】
2008090409.tif 000034
【図３３】
2008090409.tif 000035