(57)【要約】【課題】  スケジュール管理装置において、電子地図との連係の容易化を図る。【解決手段】  スケジュール管理システムでは、携帯電話１００からの操作に応じて、サーバ２００が、各ユーザのスケジュールをスケジュールＤＢ２１２に登録、管理する。位置ＤＢ２３２は、ユーザがスケジュール登録時に使用されるスケジュール項目や目的地名称などのキーワードと、緯度、経度を対応づけて記憶する。ユーザがこれらのキーワードに基づいてスケジュールの場所を指定すると、サーバ２００は、位置ＤＢ２３２を参照して緯度、経度を特定する。更に、この緯度、経度情報に基づいて、各スケジュール間の移動に要する時間を推定し、新規スケジュールの登録可否を判断する。また、時間、場所が指定されていない新規スケジュールに対しては、既登録スケジュールに基づいて、新規スケジュールを効率的に実行可能な時刻および場所を自動設定する。【選択図】  図１
2005228020.tif 000002
【特許請求の範囲】
【請求項１】
スケジュールの管理を行うスケジュール管理装置であって、
スケジュールの内容を表すキーワードと、経路探索に利用可能な位置情報とを対応づけたデータベースを参照するデータベース参照部と、
スケジュールデータを登録するためのユーザの操作に応じて前記キーワードを入力する入力部と、
前記キーワードに応じて前記データベースを参照して得られる位置情報を、前記スケジュールを実行するための場所として前記スケジュールデータに対応づける位置情報登録部とを備えるスケジュール管理装置。
【請求項２】
スケジュールの管理を行うスケジュール管理装置であって、
スケジュールを実行するための場所を表す位置情報と、スケジュールを実行すべき時刻を表す時刻情報とを含むスケジュールデータを管理する管理部と、
ユーザの操作に応じて新規のスケジュールデータを入力するためのスケジュールデータ入力部と、
前記新規のスケジュールデータと、既に登録されている他のスケジュールデータに基づいて、各スケジュール間の移動時間を推定し、該新規のスケジュールデータの登録可否を判断する判断部と、
登録可能と判断された場合に、前記新規のスケジュールデータを登録する登録部とを備えるスケジュール管理装置。
【請求項３】
請求項２記載のスケジュール管理装置であって、
現在時刻および現在位置を入力する入力部と、
前記管理されているスケジュールデータに基づき、現在時刻の後に予定されているスケジュールを実行するための場所までの現在位置からの移動時間を推定し、該推定結果に基づいて、現在位置を出発すべき時刻を報知する出発時刻報知部とを備えるスケジュール管理装置。
【請求項４】
請求項２記載のスケジュール管理装置であって、
前記スケジュールデータには、時刻が特定された時刻指定スケジュールと、時刻を特定しない時刻不定スケジュールとが含まれ、
前記時刻不定スケジュールについて、前記時刻指定スケジュールからの移動時間を推定し、該推定結果に基づいて該時刻不定スケジュールを実行すべき時刻を設定する時刻設定部を備えるスケジュール管理装置。
【請求項５】
請求項１または２記載のスケジュール管理装置であって、
前記位置情報は、一地点を特定する情報であるスケジュール管理装置。
【請求項６】
請求項１または２記載のスケジュール管理装置であって、
前記スケジュールデータには、前記スケジュールを実行するための場所を一地点に特定された位置指定スケジュールと、複数の場所が選択可能な位置不定スケジュールとが含まれ、
前記位置不定スケジュールについて、前記位置指定スケジュールからの移動時間を推定し、該推定結果に基づいて該位置不定スケジュールを実行すべき場所を設定する位置設定部を備えるスケジュール管理装置。
【請求項７】
請求項６記載のスケジュール管理装置であって、
前記位置不定スケジュールの位置情報は、複数の地点を特定する点群情報、直線または曲線状の領域を特定する区間情報、および２次元的な領域を特定する領域情報のいずれかであるスケジュール管理装置。
【請求項８】
スケジュールの管理を行うスケジュール管理装置の制御方法であって、
スケジュールの内容を表すキーワードと、経路探索に利用可能な位置情報とを対応づけたデータベースを参照する工程と、
前記スケジュールを登録するためのユーザの操作に応じて前記キーワードを入力する工程と、
前記キーワードに応じて前記データベースを参照して得られる位置情報を、前記スケジュールを実行するための場所として前記スケジュールに対応づける工程とを備える制御方法。
【請求項９】
スケジュールの管理を行うスケジュール管理装置の制御方法であって、
スケジュールを実行するための場所を表す位置情報と、スケジュールを実行すべき時刻を表す時刻情報とを含むスケジュールデータを管理する工程と、
前記ユーザの操作に応じて新規のスケジュールデータを入力するための工程と、
前記新規のスケジュールデータと、既に登録されている他のスケジュールデータに基づいて、各スケジュール間の移動時間を推定し、該新規のスケジュールデータの登録可否を判断する工程と、
登録可能と判断された場合に、前記新規のスケジュールデータを登録する工程とを備えるスケジュール管理装置。
【請求項１０】
コンピュータを内蔵するスケジュール管理装置によってスケジュールの管理を行うためのコンピュータプログラムであって、
スケジュールの内容を表すキーワードと、経路探索に利用可能な位置情報とを対応づけたデータベースを参照する機能と、
前記スケジュールを登録するためのユーザの操作に応じて前記キーワードを入力する機能と、
前記キーワードに応じて前記データベースを参照して得られる位置情報を、前記スケジュールを実行するための場所として前記スケジュールに対応づける機能とを前記コンピュータに実現させるコンピュータプログラム。
【請求項１１】
コンピュータを内蔵するスケジュール管理装置によってスケジュールの管理を行うためのコンピュータプログラムであって、
スケジュールを実行するための場所を表す位置情報と、スケジュールを実行すべき時刻を表す時刻情報とを含むスケジュールデータを管理する機能と、
前記ユーザの操作に応じて新規のスケジュールデータを入力するための機能と、
前記新規のスケジュールデータと、既に登録されている他のスケジュールデータに基づいて、各スケジュール間の移動時間を推定し、該新規のスケジュールデータの登録可否を判断する機能と、
登録可能と判断された場合に、前記新規のスケジュールデータを登録する機能とを前記コンピュータに実現させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子地図を活用して、スケジュールを管理するスケジュール管理装置に関する。
【背景技術】
【０００２】
ＰＤＡや携帯電話などの携帯端末は、ユーザのスケジュールを管理する機能を備えていることがある。かかる機能では、スケジュールをこなすべき時刻および場所を含むスケジュールデータによってユーザの行動が電子的に管理される。近年では、スケジュール管理の機能と、電子地図との連係も図られつつある。
【０００３】
例えば、特許文献１は、ユーザの現在位置が、予定された目的地に指定された時間に到達可能な範囲にいるか否かを判定し、その結果を報知する機器を開示している。特許文献２は、入力されたスケジュールで指定された目的地までの現在位置からの経路および時間的余裕度を表示可能なナビゲーション装置を開示している。
【０００４】
【特許文献１】特開２０００−２８３７８６号公報
【特許文献２】特開２０００−２５８１７３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
スケジュール管理の機能と、電子地図との連係を図るためには、緯度、経度など電子地図上で特定可能な態様で各スケジュールの目的地を入力する必要がある。しかし、従来は、目的地の入力については十分な検討がなされておらず、目的地の入力が非常に煩雑となる可能性があった。
【０００６】
また、別の課題として、従来技術では、複数のスケジュール間の移動に要する時間は考慮されていないため、実際にはこなし得ないスケジュールが登録されるおそれがあった。
【０００７】
このように従来技術では、スケジュール管理の機能と電子地図との連係について、利便性、実用性という観点で改善の余地があった。本発明は、かかる課題を解決し、電子地図を利用するスケジュール管理装置において、利便性、実用性の向上を図ることを目的とする。
【課題を解決するための手段】
【０００８】
本発明は、スケジュールの管理を行うスケジュール管理装置として構成することができる。本発明の第１のスケジュール管理装置は、スケジュールの内容を表すキーワードと、経路探索に利用可能な位置情報とを対応づけたデータベースを参照することができる。そして、スケジュールを登録するための操作において入力されるキーワードに基づいて、上述のデータベースを参照して得られる位置情報を、スケジュールを実行するための場所（以下、「目的地」と呼ぶ）として設定する。キーワードは種々の設定が可能であり、例えば、目的地の名称や、「出張」、「会議」などの行動を表す語、行動を共にする相手の名称などを用いることができる。位置情報は、経路探索用の電子地図データ上で目的地の位置を特定可能な種々の形式で与えることができ、例えば、緯度、経度としてもよいし、電子地図データに固有の座標系における座標値としてもよい。第１のスケジュール管理装置によれば、上述のデータベースを利用することにより、目的地の位置情報を簡易に入力することができ、利便性を向上することができる。
【０００９】
データベースは、複数のユーザに共有としてもよいし、各ユーザに固有のデータベースとしてもよい。いずれにしても、各ユーザがカスタマイズ可能とすることが好ましい。データベースは、スケジュール管理装置内でローカルに記憶しておいてもよいし、サーバなどで集中管理してもよい。後者の場合、各スケジュール管理装置は、ネットワーク等の通信回線を介して、データベースを参照することになる。
【００１０】
本発明の第２のスケジュール管理装置は、スケジュールを実行するための場所を表す位置情報と、スケジュールを実行すべき時刻を表す時刻情報とを含むスケジュールデータを管理する。スケジュールデータの登録は、次の手順で行われる。スケジュール管理装置は、ユーザの操作に応じて新規のスケジュールデータを入力すると、この新規のスケジュールデータと、既に登録されている他のスケジュールデータに基づいて、各スケジュール間の移動時間を推定し、新規のスケジュールデータの登録可否を判断する。例えば、スケジュール間の移動時間が確保できる場合に、登録可能と判断することができる。そして、登録可能と判断された場合に、新規のスケジュールデータを登録する。第２のスケジュール管理装置によれば、登録可否の判断においてスケジュール間の移動時間が考慮されるため、実行不能なスケジュールが登録される可能性を抑制することができる。
【００１１】
第２のスケジュール管理装置において、移動時間は、種々の方法で推定可能であり、例えば、各スケジュールの目的地間の距離に基づいて推定してもよいし、経路探索に基づいて推定してもよい。途中で交通機関を利用する場合には、そのダイヤを考慮してもよい。経路探索および交通機関のダイヤを利用することにより、移動時間の推定精度を向上することができる。
【００１２】
第２のスケジュール管理装置においては、現在時刻および現在位置を入力し、管理されているスケジュールデータに基づき、現在位置を出発すべき時刻を報知可能としてもよい。この報知は、現在時刻の後に予定されているスケジュールの目的地までの現在位置からの移動時間を推定し、現在位置を出発すべき時刻を特定することで行うことができる。こうすることで、登録されたスケジュールに沿って行動できるよう、ユーザを支援することができる。
【００１３】
第２のスケジュール管理装置において、スケジュールデータとして、時刻が特定された時刻指定スケジュール、時刻を特定しない時刻不定スケジュールの双方を登録可能とし、時刻不定スケジュールを実行すべき時刻を設定する機能を設けても良い。時刻不定スケジュールとしては、例えば、銀行振込や行政手続などが含まれる。例えば、時刻不定スケジュールと他の各時刻指定スケジュールとの間の移動時間を推定し、その推定結果に基づいて時刻を設定する方法を採ることができる。こうすることで、時刻指定スケジュールの合間に、効率的に時刻不定スケジュールをこなすようスケジュール設定をすることができる。
【００１４】
本発明の第１および第２のスケジュール管理装置において、位置情報は、一地点を特定する情報としてもよいし、複数の場所が選択可能な位置不定スケジュールを許容してもよい。位置不定スケジュールとしては、例えば、銀行振込のように、いずれの銀行でも実行可能なスケジュールが含まれる。位置不定スケジュールを許容する場合には、位置指定スケジュールからの移動時間を推定し、推定結果に基づいて位置不定スケジュールを実行すべき場所を設定可能としてもよい。こうすることで、位置指定スケジュールと併せて効率的に位置不定スケジュールをこなすことが可能となる。本発明のスケジュール管理装置は、時刻および場所のいずれも不定なスケジュールを許容しても構わない。かかる場合には、そのスケジュールを実行すべき位置および時刻の双方を、自動的に設定可能としてもよい。
【００１５】
位置不定スケジュールの位置情報は、種々の形式で指定可能であり、例えば、複数の地点を特定する点群情報、直線または曲線状の領域を特定する区間情報、および２次元的な領域を特定する領域情報のいずれかの形式を採ることができる。点群情報としては、例えば、銀行のように点在する種々の店舗を総称する名称が含まれる。区間情報としては、例えば、国道や鉄道などの名称および区間が含まれる。領域情報としては、市町村名その他の行政界名称、特定の地点から一定の距離範囲の領域を示す情報などが含まれる。
【００１６】
本発明は、複数のユーザのスケジュールを連係可能なスケジュール管理システムとして構成してもよい。スケジュール管理システムは、第１および第２のスケジュール管理装置で説明したデータベースやスケジュールデータをサーバで集中管理することで実現することができる。かかるスケジュール管理システムでは、例えば、他のユーザのスケジュールを参照して、時刻不定スケジュールに対する時刻設定を行ったり、位置不定スケジュールに対する場所設定を行ったりしてもよい。こうすることで、他のユーザとの待ち合わせを円滑に行ったり、他のユーザと共通のスケジュールを簡易に設定したりすることが可能となり、実用性を向上することができる。
【００１７】
本発明は、以上で説明した種々の特徴を全て備えている必要はなく、一部を省略したり、適宜、組み合わせたりして種々の構成を実現することができる。例えば、上述の第１および第２のスケジュール管理装置を統合した構成としてもよい。また、本発明はスケジュール管理装置としての態様のみならず、スケジュール管理装置の制御方法、かかる制御を実現するためのコンピュータプログラム、かかるコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体などの態様で構成してもよい。ここで、記録媒体としては、フレキシブルディスクやＣＤ−ＲＯＭ、光磁気ディスク、ＩＣカード、ＲＯＭカートリッジ、パンチカード、バーコードなどの符号が印刷された印刷物、コンピュータの内部記憶装置（ＲＡＭやＲＯＭなどのメモリ）および外部記憶装置等、コンピュータが読取り可能な種々の媒体を利用できる。
【発明を実施するための最良の形態】
【００１８】
本発明の実施例について以下の順序で説明する。
Ａ．システム構成：
Ｂ．スケジュール登録処理：
Ｃ．予定時刻報知処理：
Ｄ．変形例：
【００１９】
Ａ．システム構成：
図１は実施例としてのスケジュール管理システムの概略構成を示す説明図である。スケジュール管理システムは、スケジュール管理装置としての機能を提供するサーバ２００と、その端末装置として機能する携帯電話１００を有している。両者は無線その他のネットワークで接続されている。図中では、携帯電話１００が２台接続された例を示したが、携帯電話１００は任意の台数、接続可能である。
【００２０】
各ユーザは、携帯電話１００を操作して、サーバ２００にスケジュールを登録することができる。サーバ２００は、スケジュールの登録を支援するとともに、各ユーザのスケジュールを管理する。また、予定時刻の報知などを行って、ユーザがスケジュールを実行するのを支援する。
【００２１】
図中に、携帯電話１００およびサーバ２００の機能ブロックを併せて示した。携帯電話１００には、ＣＰＵおよびメモリを内蔵した制御ユニットが搭載されており、これらの機能ブロックは、ＣＰＵが所定のプログラムを実行することでソフトウェア的に構成される。サーバ２００の機能ブロックも同様に、所定のプログラムをインストールすることで、ソフトウェア的に構成される。携帯電話１００およびサーバ２００における機能ブロックの少なくとも一部は、ハードウェア的に構成することも可能である。
【００２２】
携帯電話１００では、図示する各機能ブロックが主制御部１１０の制御下で、それぞれ次の機能を実現する。通信部１２０は、ネットワーク経由でのサーバ２００との通信を制御する。携帯電話１００からサーバ２００に対して送信する情報には、例えば、スケジュールを登録・閲覧するためのコマンドが含まれる。サーバ２００から携帯電話１００に送信する情報には、スケジュールを登録・閲覧するためのインタフェース画面や、予定時刻の報知信号など登録されたスケジュールの実行を支援するための情報が含まれる。
【００２３】
ＧＰＳ１３０は、全地球測位システム（Global  Positioning  System)を利用して、携帯電話１００の現在位置を検出する。時刻管理部１６０は、現在時刻を出力する「時計」である。表示制御部１５０は、携帯電話１００のディスプレイの表示を制御する。コマンド入力部１４０は、ユーザによるキー等の操作内容を入力する。これらの機能ブロックにより、携帯電話１００は、スケジュール管理システムの端末装置として要求されるユーザインタフェースを提供することができる。
【００２４】
サーバ２００では、スケジュール管理部２１０の制御下で各機能ブロックが動作する。通信部２２０は、ネットワーク経由での携帯電話１００との通信を制御する。位置ＤＢ管理部２３０は、位置ＤＢ２３２の管理、即ち位置ＤＢ２３２に新たなデータを登録したり、位置ＤＢ２３２の検索を行ったりする。位置ＤＢ２３２は、スケジュールの登録時に参照されるデータベースであり、その内容については後述する。
【００２５】
スケジュールＤＢ２１２は、各ユーザのスケジュールを登録するデータベースであり、その内容は、スケジュール管理部２１０によって管理される。スケジュールＤＢ２１２の内容については後述する。
【００２６】
スケジュール自動設定部２４０は、スケジュールの登録を支援するための機能を提供する。かかる機能としては、例えば、新規に登録されるスケジュール（以下、単に「新規スケジュール」と称する）と既に登録されている他のスケジュール（以下、単に「既登録スケジュール」と称する）との重複の有無を確認する機能；既登録スケジュールに基づいて新規スケジュールの時刻、場所を設定する機能などが挙げられる。
【００２７】
経路探索部２５０は、周知のダイクストラ法などの手法を利用して、指定された出発地から目的地までの経路探索を行う。また、経路探索結果および標準の移動速度に基づいて、目的地までの移動時間を推定する。推定された移動時間は、スケジュール自動設定部２４０で利用される。
【００２８】
電子地図ＤＢ２５２は、上述した経路探索に使用される電子地図を提供するデータベースである。電子地図ＤＢ２５２には、道路をノード、リンクの集合で表した道路ネットワークデータが含まれる。経路中に交通機関での移動が含まれる場合の移動時間の推定精度を向上するため、電子地図ＤＢ２５２には、交通機関のダイヤデータを含めても良い。また、電子地図ＤＢ２５２には、目的地までの地図を表示するための描画データを含めても良い。
【００２９】
図２は位置ＤＢ２３２の内容を示す説明図である。位置ＤＢ２３２は、スケジュールの登録時に参照されるデータベースであり、登録時に目的地を特定するために使用されるキーワードと、それに対応する位置情報を記憶している。本実施例では、キーワードとして、スケジュール項目および名称を用いるものとした。位置情報は、電子地図上で目的地を特定するための情報であり、本実施例では、緯度、経度の座標値とした。位置ＤＢ２３２は、ユーザ単位で設けられており、各ユーザが内容をカスタマイズすることが可能である。
【００３０】
例えば、スケジュール項目の「月例会議」に対しては、通常その会議が開かれる「本館会議室」の緯度、経度（Ｌａｔ１，Ｌｏｎ１）が登録されている。位置ＤＢ２３２においてスケジュール項目に対して対応づけられるのは、必ずしも１つの地点のみとは限らず、点群、区間、領域などであってもよい。例えば、「銀行振込」というスケジュール項目に対しては、ユーザが利用しているＡＡ銀行の本店や各支店などの位置情報が対応づけられる。「＃＃マラソン」というイベントに対しては、そのルートに相当する区間が、点列として与えられる。「＋＋花火」というイベントに対しては、花火を鑑賞可能なエリア、例えば、中心位置（Ｌａｔ９，Ｌｏｎ９）および半径Ｒという円形領域が対応づけられる。領域は、円形に限らず、ポリゴンの点列で特定してもよい。
【００３１】
位置ＤＢ２３２は、ユーザが位置情報を登録可能としてもよいし、サーバ２００がインターネット上のＷｅｂページなどから位置情報を取得して登録するようにしてもよい。前者の例としては、例えば、ユーザが電子地図ＤＢ２５２を参照しながら住所、電話番号、建造物名称などに基づいて検索したり、表示された地図上で指定した目的地の緯度、経度を、新規な位置情報として位置ＤＢ２３２に登録する方法を採ることができる。後者の例は、種々のイベントに関する位置情報の登録に適用することができる。位置情報は、Ｗｅｂページで提供する方法、チケットや広告に印刷されるバーコード、ＱＲコードなどに符号化して提供する方法などを採ることができる。
【００３２】
図３はスケジュールＤＢ２１２の内容を示す説明図である。ユーザごとに登録されたスケジュールデータを保持するためのデータベースである。スケジュールデータには「Ｎｏ．」が付されて、図示する各項目が登録される。スケジュールデータには、「開始時刻」および「終了時刻」が指定されている「時刻指定スケジュール」と、これらが不定の「時刻不定スケジュール」が存在する。目的地が指定されている「場所指定スケジュール」と、目的地が点群、区間、領域など一地点に限定されない形で指定された「場所不定スケジュール」が存在する。「時刻不定」欄および「場所不定」欄が「ＹＥＳ」とされているのが、それぞれ「時刻不定スケジュール」、「場所不定スケジュール」である。Ｎｏ．３のスケジュールのように、時刻不定、場所不定でありながら、開始時刻、終了時刻、場所の各データが記憶されているものは、後述する処理によって、サーバ２００が、時刻および場所を自動設定したことを表している。「備考」には、例えば、会議への参加者など、各スケジュールについて行動を共にすべき他のユーザ名などを登録することができる。
【００３３】
図２、３に例示した位置ＤＢ２３２、スケジュールＤＢ２１２は例示に過ぎず、これらのデータベースには、図示した他に種々の項目を登録してもよい。図示の都合上、各データベースはテーブル形式を例示したが、ＸＭＬ（eXtensible Markup Language）を利用したデータベースなど種々の形式を採ることが可能である。
【００３４】
Ｂ．スケジュール登録処理：
図４はスケジュールの登録画面例を示す説明図である。サーバ２００からＷｅｂページなどの形式で提供される表示データに基づいて携帯電話１００のディスプレイに表示される画面を例示した。ユーザは、携帯電話１００のキーを操作して、項目、開始日時、終了日時、場所、メンバー、備考をそれぞれ入力することができる。「項目」および「メンバー」に入力した内容は、スケジュールＤＢ２１２の「スケジュール項目」、「備考」に登録される。開始日時、終了日時をブランクにすると、スケジュールＤＢ２１２の「時刻不定」欄が「ＹＥＳ」となる。場所として、点群、区間、領域などが指定されると、スケジュールＤＢ２１２の「場所不定」欄が「ＹＥＳ」となる。
【００３５】
本実施例では、場所およびメンバーについて、入力を支援する機能が設けられている。場所欄およびメンバー欄の右側にある三角印をクリックすると、図の右方に示したリストが表示される。場所については、位置ＤＢ２３２に登録された名称が提示されるとともに、新規な場所の登録用に「住所から検索」、「電話番号から検索」、「最寄駅から検索」などの検索メニューが提示される。これらの検索メニューを選択した場合、画面は、更に、住所、電話番号、最寄駅名などの必要な情報を入力するための検索画面に移行する。「項目」欄の入力内容が、位置ＤＢ２３２のスケジュール項目と一致する場合には、それに対応する名称を、場所欄にデフォルト表示しても良い。ユーザが指定した「場所」は、サーバ２００によって緯度、経度の位置情報に変換されてスケジュールＤＢ２１２に登録される。
【００３６】
メンバーについても同様に、社内会議、プライベートグループなどユーザ固有のリストを提示するとともに、種々の検索メニューが提示される。社内会議、プライベートグループなどのメンバーは、例えば、位置ＤＢ２３２と同様の形式のデータベースによって予め登録しておいてもよいし、スケジュールＤＢ２１２に登録された過去のスケジュールデータから検索するようにしてもよい。前者の場合、位置ＤＢ２３２の位置情報に代えて、「社内会議」、「プライベートグループ」などの名称に対応するメンバー名を列挙して記憶しておく方法を採ることができる。後者の場合、「社内会議」などの「項目」に対応する過去のスケジュールデータを検索し、そこに登録されているメンバー名を抽出する方法を採ることができる。「備考」欄についても同様に、スケジュールＤＢ２１２における過去のスケジュールデータで登録されているデータをリストアップするようにしてもよい。
【００３７】
スケジュールの登録は、上述した通り、ユーザがキーを操作してマニュアルで行う方法の他、ＱＲコードやＷｅｂページなどから情報を取得する方法を採っても良い。例えば、ＱＲコードには、項目名、開始時刻、終了時刻、場所などの情報を符号化して記録しておくことができる。コンサートなどのイベントに関しては、主催者がチケットや広告にこれらの情報を含んだＱＲコードを印刷し、ユーザがこのＱＲコードを、携帯電話１００に組み込まれたディジタルカメラで読み込ませれば、スケジュールデータを容易に登録することが可能となる。
【００３８】
図５はスケジュール登録処理のフローチャートである。携帯電話１００からのアクセスに応じて、サーバ２００が実行する処理である。ここでは、上述したマニュアル操作でスケジュールを登録する方法と、ＱＲコードを利用して新規スケジュールを登録する方法が利用可能であるものとして説明する。サーバ２００は、携帯電話１００に対して、マニュアル操作、ＱＲコード利用のいずれの方法で入力するかを指定するためのインタフェース画面を提供し、入力方法の選択指示を受け付ける（ステップＳ１０）。コード入力が指示された場合には、携帯電話１００からＱＲコードの情報を入力し、その内容を解析する（ステップＳ１２）。ＱＲコードの解析は、サーバ２００で行っても良いし、携帯電話１００で行うようにしてもよい。
【００３９】
コード入力でない場合（ステップＳ１１）は、サーバ２００は、マニュアル登録用のインタフェース画面を提供し、新規スケジュールデータの入力を行う（ステップＳ１３）。この際、先に図４で説明した通り、場所やメンバーについては、位置ＤＢ２３２や既登録スケジュールデータに応じて、デフォルトの表示や入力支援用のリストアップを行う。また、位置ＤＢ２３２を参照して、名称で指定された「場所」を緯度、経度の位置情報に変換し、スケジュールＤＢ２１２に登録する。位置ＤＢ２３２に未登録の新規な場所が指定された場合には、その名称および位置情報を、位置ＤＢ２３２に追加登録してもよい。
【００４０】
次に、サーバ２００は、入力された新規スケジュールデータが、時刻および場所共に指定されているか否かを判定する（ステップＳ１４）。時刻および場所の少なくとも一方が不定の場合、即ち「時刻不定スケジュール」または「場所不定スケジュール」に該当する場合には、時刻および場所を自動的に設定するための処理、時刻・場所設定処理を実行する（ステップＳ２０）。この処理内容については後述する。
【００４１】
時刻および場所の双方が指定されている新規スケジュールについては（ステップＳ１４）、そのスケジュールの登録可否を次の手順で判断する。サーバ２００は、スケジュールＤ２１２を参照して、新規スケジュールの開始時刻の直前に予定されている既登録スケジュール、および終了時刻の直後に予定されている既登録スケジュールを抽出する（ステップＳ１５）。
【００４２】
次に、抽出された各既登録スケジュールと、新規登録スケジュールの位置情報に基づき、スケジュール間の経路探索を行って、移動時間を推定する（ステップＳ１６）。そして、各スケジュールの開始時刻、終了時刻に基づき、スケジュール間に移動時間が確保されるか否かを判断して、新規スケジュールの登録可否を判定する（ステップＳ４０）。移動時間に所定の余裕を見込んで、スケジュールの実行可否を判定するようにしてもよい。登録可能と判定された場合には、スケジュールＤＢ２１２に新規スケジュールを登録し（ステップＳ４１）、登録不可と判断された場合には、その旨のエラーメッセージを携帯電話１００に出力する（ステップＳ４２）。
【００４３】
図６は時刻・場所設定処理のフローチャートである。スケジュール登録処理（図５）のステップＳ２０に相当する処理である。サーバ２００は、まず、スケジュールデータを読み込み（ステップＳ２１）、行動を共にすべき参加者が指定されているか否かを判断する（ステップＳ２２）。参加者が指定されている場合には、スケジュールＤＢ２１２から、その参加者のスケジュールデータも入力する（ステップＳ２３）。
【００４４】
次に、サーバ２００は、スケジュールが未登録の時間帯、即ち空き時間帯を特定する（ステップＳ２４）。参加者が指定されていない場合には、ユーザ自身のスケジュールが空いている時間帯を特定すればよいし、参加者が指定されている場合には、ユーザおよび参加者の双方のスケジュールが空いている時間帯を特定することになる。空き時間帯は、１つとは限らず、複数特定される可能性がある。
【００４５】
サーバ２００は、こうして特定された空き時間帯の１つを選択し（ステップＳ２５）、その空き時間帯の直前および直後に予定されている既登録のスケジュールを抽出する（ステップＳ２６）。参加者が指定されている場合には、スケジュールの抽出は、参加者の分についても行う。空き時間帯は、任意の順序で選択可能であり、例えば、時刻の早いものから順番に選択してもよいし、空き時間の長いものから順番に選択してもよい。新規のスケジュールにおいて、時間が指定されている場合には、その時間を含む空き時間帯を選択すればよい。
【００４６】
サーバ２００は、次に新規スケジュールの場所を設定する（ステップＳ２７）。新規のスケジュールにおいて、場所が指定されている場合には、その場所を用いればよい。場所が不定の場合には、サーバ２００は指定されている候補の中から次の方法で目的地を選択する。場所が点群で指定されている場合には、これらの点群の中から、直前・直後のスケジュールの目的地に最も近いものを選択する。この選択は、直前のスケジュールにおける目的地からの距離のみに基づいて行っても良いし、直後のスケジュールにおける目的地からの距離のみに基づいて行っても良いし、両者の距離の総和に基づいて行ってもよい。場所が区間や領域で指定されている場合には、これらの区間、領域内の種々の地点のうち、直前・直後のスケジュールの目的地に最も近い地点を選択する。この選択も、点群と同様、種々の方法で行うことができる。
【００４７】
サーバ２００は、こうして場所を設定すると、直前・直後のスケジュールの目的地から新規スケジュールの目的地までの経路探索を行い、移動時間を推定する（ステップＳ２８）。そして、各スケジュールの開始時刻、終了時刻に基づき、スケジュール間に移動時間が確保されるか否かを判断して、新規スケジュールの登録可否を判定する（ステップＳ２９）。登録可能である場合には、新規スケジュールの開始時間、終了時間を空き時間帯の中で設定して、スケジュールＤＢ２１２に登録する。場所についても、ステップＳ２７で設定された目的地を登録する（ステップＳ３２）。
【００４８】
登録不能である場合には（ステップＳ２９）、全空き時間帯について同様の処理を繰り返し実行し、全空き時間帯について登録不能である場合には（ステップＳ３０）、その旨のエラーメッセージを出力する（ステップＳ３１）。
【００４９】
図７は時刻・場所設定の処理例を示す説明図である。ユーザＡ、Ｂについてハッチングで図示する時間帯に既登録スケジュールが存在する状態で、ユーザＡが新規スケジュール［１］、［２］を登録する場合を考える。スケジュール［１］は、所要時間は１５分の銀行振込であり、時刻は指定されておらず、目的地も銀行の各店舗から選択することができる「時間・場所不定スケジュール」である。スケジュール［１］はユーザＡが単独で行うスケジュールであり、参加者はいない。スケジュール［２］は、所要時間１．５時間の社内企画会議であり、時刻は指定されていないが、目的地は社内の会議室に指定されている「時間不定スケジュール」である。スケジュール［２］は、参加者として、社内のユーザＢが指定されているものとする。
【００５０】
ユーザＡの既登録スケジュールでは、スケジュール［１］を登録可能な時間帯として、空き時間帯［１］、［２］が見いだされる。サーバ２００は、図６で説明した通り、空き時間［１］に対して、直前の既登録スケジュール「月例会議」の目的地と、直後の既登録スケジュール「Ｂ社打ち合わせ」の目的地に近い店舗を選択し、経路探索および移動時間推定を行う。即ち、月例会議が終了した後、銀行振込をすませて、Ｂ社打ち合わせに向かうことの可否を、それぞれの移動時間も考慮して判断する。銀行振込が可能と判断されれば、スケジュール［１］の開始時刻、終了時刻を空き時間帯［１］内で設定し、不可能と判断されれば、空き時間帯［２］を対象として同様の判断を行う。
【００５１】
一方、ユーザＡ、Ｂの既登録スケジュールによれば、スケジュール［２］を登録可能な時間帯として、空き時間帯［３］が見いだされる。サーバ２００は、この空き時間帯［３］に対して、直前のスケジュール「Ｂ社打ち合わせ」からの移動時間を考慮して、スケジュール［２］の設定可否を判断する。この処理により、時間、場所が指定されていないスケジュールについても、既登録スケジュールを踏まえ、かつ移動時間を考慮して、効率的にスケジュールの設定を行うことができる。時間、場所不定スケジュールについては、一旦、時間および場所が設定された後も、図６の処理を再実行することにより、時間、場所の再設定を許容してもよい。こうすることにより、時間・場所指定の新規スケジュールの登録が試みられる度に、その新規スケジュールを優先しつつ、時間、場所不定スケジュールの再設定を行うことが可能となる。
【００５２】
Ｃ．予定時刻報知処理：
図８は予定時刻報知処理のフローチャートである。スケジュールＤＢ２１２に登録されたスケジュールデータに基づいて、予定時刻をサーバ２００がユーザに報知することにより、スケジュールの実行を支援するための機能である。サーバ２００は、周期的に、各ユーザのスケジュールデータを監視し、以下で説明する処理を実行する。
【００５３】
まず、サーバ２００の携帯電話１００から現在位置、時刻を入力する（ステップＳ５１）。現在時刻については、サーバ２００自身が、時計を保持するようにしたり、ＮＴＰサーバなどから絶対時刻を取得するようにしてもよい。サーバ２００は、スケジュールＤＢ２１２を参照して、現在時刻の直後に予定されている既登録スケジュールデータを入力する（ステップＳ５２）。そして、現在位置から次のスケジュールの目的地までの経路探索を行って、移動時間を推定するとともに、その結果と次のスケジュールの開始時刻に基づいて、現在位置を出発すべき時間（以下、「出発時刻」と呼ぶ）を推定する（ステップＳ５３）。
【００５４】
現在時刻から出発時刻までの余裕が３０分未満である場合には（ステップＳ５４）、サーバ２００は、ユーザに対して出発を促すため、出発警報を鳴らすための指示を携帯電話１００に出力する（ステップＳ５５）。余裕が３０分以上の場合には、出発警報は行わない。現在時刻が、出発時刻を過ぎている場合、即ち次のスケジュールに間に合わないと判断される場合（ステップＳ５４）、サーバ２００は、ユーザに対して遅刻を報知するとともに、予想遅れ時間を表示するための指示を、携帯電話１００に対して出力する（ステップＳ５６）。
【００５５】
予想遅れ時間は、例えば、現在時刻と出発時刻の差分とすることができる。また、別の態様として、新たな出発時刻を検索し、その出発時刻と現在時刻との差分として求めても良い。後者の態様では、交通機関による移動を含む場合に、その交通機関のダイヤを考慮して予想遅れ時間を求めることが可能となる。また、予想遅れ時間の算出に先立って、更に、到着時間、即ち次のスケジュールの開始時刻またはその開始時刻に一定の余裕を見込んだ時刻、を固定として、経路探索を行うことにより、所要時間の短い経路を見いだすよう試みる処理を行っても良い。
【００５６】
サーバ２００は、以上の処理を終えると処理時間間隔の設定を行う（ステップＳ５７）。処理時間間隔とは、次にサーバ２００が、予定時刻報知処理を実行するまでの時間である。本実施例では、サーバ２００の負荷を軽減するため、現在時刻から出発時刻までの余裕に応じて、スケジュールを監視する時間間隔を変更するものとした。図中に、時間間隔の設定例を示した。この例では、余裕が多くなるほど、処理時間間隔が延びるよう設定されている。余裕が６０分の時に、処理時間間隔は３０分に設定される。処理時間間隔は、余裕に応じて図中の実線で示すように連続的に変化させてもよいし、破線で示すように段階的に変化させてもよい。余裕と処理時間間隔との対応関係は、この例に限らず、種々の設定が可能である。
【００５７】
以上で説明した実施例のスケジュール管理システムによれば、ユーザはスケジュールの目的地の位置情報を簡易に入力することができるため、スケジュールと電子地図との連係を比較的容易に実現することができる。この結果、スケジュール間の移動時間を考慮して、新規スケジュールの登録可否を判断したり、新規スケジュールをこなす時刻および場所を自動設定したりすることができ、比較的容易に効率的なスケジュール設定を行うことができる。
【００５８】
Ｄ．変形例：
（１）  サーバ２００は、上述の各処理の他、スケジュールの実行を支援する種々の機能を提供してもよい。例えば、スケジュールデータに基づき、各スケジュールの目的地までの経路を表す地図を携帯電話１００に提供したり、経路案内するようにしてもよい。また、経路案内の一機能として、例えば、交通機関を利用して移動する場合には、交通機関のダイヤ、下車駅までの所要時間などの情報を提示したり、下車駅の到着前に下車を促す表示、音声、振動などの出力を行っても良い。スケジュールＤＢ２１２の内容は、登録したユーザが閲覧可能である他、所定の条件下で、他のユーザからも閲覧可能としてもよい。例えば、各スケジュールデータに対して、他のユーザによる閲覧を許可するか否かを設定可能としてもよい。
【００５９】
（２）  登録対象となるスケジュールには、結婚記念日、家族の誕生日などのアニバーサリーを含めても良い。例えば、これらアニバーサリーの日付および内容を、家族全員が共有するホームサーバに登録しておくことにより、家族の各構成員のスケジュール設定時に、自動的にアニバーサリーを回避するように制御してもよい。また、併せて、アニバーサリーには、夕食時など予め指定された時間に、帰宅するなどのスケジュールを各構成員に自動的に設定するようにしてもよい。
【００６０】
（３）  スケジュールの登録の一部を自動化してもよい。例えば、スケジュール管理システムが、電子メールから必要な情報を抽出して登録するようにしてもよい。こうすることで、会議や出張などの電子メールによる通知を利用して、スケジュールの登録を簡易に行うことが可能となる。スケジュールに登録すべき日時や内容の抽出方法としては、電子メール中の該当箇所をユーザが指定する方法、「日時」、「場所」などのキーワードに基づいてスケジュール管理装置が自動的に抽出する方法などを採ることができる。
【００６１】
（４）  別の態様として、スケジュールを音声によって登録可能としてもよい。即ち、ユーザがマイクに向かって話す内容を、スケジュール管理システムが、音声認識して、スケジュールとして登録するようにしてもよい。かかる態様での入力は、スケジュール管理システムの端末装置として携帯電話を利用する場合に有用性が高い。音声認識は、種々の周知の技術を利用して行うことが可能である。
【００６２】
（５）  時刻不定または場所不定スケジュールの場合、時刻の設定に際しては、スケジュールの空き状況に加えて、種々の条件を併せて考慮してもよい。例えば、「買い物」というスケジュールに関しては、バーゲン情報、タイムサービス情報、店舗の混雑状況などを考慮して、時刻および場所の設定を行うようにしてもよい。これらの情報は、サーバから提供するようにしてもよいし、カスタマイズの一種としてユーザが予め登録しておくようにしてもよい。「食事」というスケジュールに関しては、時間およびレストランを決定してスケジュール登録すると共に、そのレストランに電子メール等で予約を入れる機能を設けても良い。
【００６３】
以上、本発明の種々の実施例について説明したが、本発明はこれらの実施例に限定されず、その趣旨を逸脱しない範囲で種々の構成を採ることができることはいうまでもない。例えば、本実施例では、端末装置は、携帯電話に限らず、ＰＤＡや車載のナビゲーション装置など種々の機器を利用可能である。また、サーバ２００と携帯電話１００の機能を統合し、スタンドアロン型のスケジュール管理装置を構成してもよい。
【図面の簡単な説明】
【００６４】
【図１】実施例としてのスケジュール管理システムの概略構成を示す説明図である。
【図２】位置ＤＢ２３２の内容を示す説明図である。
【図３】スケジュールＤＢ２１２の内容を示す説明図である。
【図４】スケジュールの登録画面例を示す説明図である。
【図５】スケジュール登録処理のフローチャートである。
【図６】時刻・場所設定処理のフローチャートである。
【図７】時刻・場所設定の処理例を示す説明図である。
【図８】予定時刻報知処理のフローチャートである。
【符号の説明】
【００６５】
１００...携帯電話
１１０...主制御部
１２０...通信部
１３０...ＧＰＳ
１４０...コマンド入力部
１５０...表示制御部
１６０...時刻管理部
２００...サーバ
２１０...スケジュール管理部
２１２...スケジュールＤＢ
２２０...通信部
２３０...位置ＤＢ管理部
２３２...位置ＤＢ
２４０...スケジュール自動設定部
２５０...経路探索部
２５２...電子地図ＤＢ
【図１】
2005228020.tif 000003
【図２】
2005228020.tif 000004
【図３】
2005228020.tif 000005
【図４】
2005228020.tif 000006
【図５】
2005228020.tif 000007
【図６】
2005228020.tif 000008
【図７】
2005228020.tif 000009
【図８】
2005228020.tif 000010