(57)【特許請求の範囲】
【請求項１】
ネットワークを介して、スケジュールの編集操作及びスケジュールの閲覧を行う情報端末と接続される情報処理装置であって、
前記編集操作により登録された実施予定のスケジュールを示すスケジュール情報であって、少なくとも該スケジュールを登録した登録者を識別するための登録者識別情報と、該スケジュールの参加者を識別するための参加者識別情報と、該スケジュールの実施を決定するための第一の優先度情報と、該スケジュールの実施条件と、を含むスケジュール情報を記憶領域に保持するスケジュール情報保持手段と、
利用者ごとに他の利用者が登録したスケジュールの実施を決定するための優先度情報であって、前記第一の優先度情報と異なる第二の優先度情報を対応付けて記録領域に保持する利用者情報保持手段と、
前記編集操作の実行又はスケジュールの実施状況の変化を検知すると、前記スケジュール情報に含まれる、前記優先度及び前記スケジュールの実施条件に基づき、複数の前記実施予定のスケジュールが時系列にリスト化された実施予定リスト内のスケジュール構成を再構成し、スケジュール調整する調整手段と、
前記調整手段により調整された実施予定リストに基づき、前記実施予定のスケジュールに対応する前記スケジュール情報を、前記編集操作又は前記閲覧の要求元である前記情報端末に送信する情報提供手段と、を有し、
前記調整手段は、前記調整対象のスケジュールのうち、第一のスケジュールと第二のスケジュールが重複する場合に前記第一のスケジュール及び前記第二のスケジュールの優先度情報を比較することによって優先度が高いスケジュールを前記実施予定のスケジュールとして決定し、前記優先度情報を比較する処理は、それぞれのスケジュールに対応する前記スケジュール保持手段によって保持されるスケジュール情報を参照し、該参照したスケジュール情報に含まれる登録者識別情報が前記要求元の情報端末の利用者を示す場合には前記参照したスケジュール情報に含まれる前記第一の優先度情報を比較対象の優先度情報とし、該参照したスケジュール情報に含まれる登録者識別情報が前記要求元の情報端末の利用者を示さない場合には前記利用者保持手段によって保持される前記要求元の情報端末の利用者に対応する前記第二の優先度情報を比較対象の優先度情報として実行することを特徴とする情報処理装置。
【請求項２】
前記調整手段は、
前記実施条件である、スケジュールの開始日時及び終了日時により実施期間を示す実施期間情報に基づき、前記実施予定リストから、検知した編集操作の実行や実施予定スケジュールの実施状況の変化によって、実施期間が重複する重複スケジュールを抽出し、
前記重複スケジュールの優先度を示す優先度情報に基づき、前記優先度の高いスケジュールを前記実施スケジュールに決定し、
前記実施スケジュールに決定されたスケジュールを、前記実施予定リストに追加し、前記実施スケジュールに決定されなかったスケジュールを、前記実施予定リストから削除し、
前記実施予定リスト内のスケジュール構成を再構成することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記調整手段は、
前記実施条件である、スケジュールの実施場所を示す実施場所情報に基づき、前記実施予定リスト内の時系列に従って前後関係にあるスケジュール間の移動時間を算出し、
算出した移動時間を含む実施期間を示す前記実施期間情報に基づき、前後関係にあるスケジュール同士の実施期間が重複するか否かを判定し、
判定結果に基づき、前記実施スケジュールを決定する請求項２に記載の情報処理装置。
【請求項４】
前記調整手段は、
前に実施されるスケジュールの終了日時が、後に実施されるスケジュールの前記移動時間が加算された開始日時と重複するか否かを判定し、
重複しないと判定された場合、後に実施されるスケジュールを前記実施スケジュールに決定し、
後に実施されるスケジュールの開始日時が、前に実施されるスケジュールの前記移動時間が加算された終了日時と重複するか否かを判定し、
重複しないと判定された場合、前に実施されるスケジュールを前記実施スケジュールに決定することを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記調整手段は、
スケジュールの削除により、前記実施予定リスト内に空き時間が発生した場合、登録スケジュールの全てが時系列にリスト化された全予定リストから、前記空き時間に該当する該当スケジュールを抽出し、
前記該当スケジュールに基づき、前記実施予定リスト内の前記空き時間におけるスケジュール構成を再構成することを特徴とする請求項３又は４に記載の情報処理装置。
【請求項６】
前記調整手段は、
前記該当スケジュールが複数存在する場合、前記該当スケジュールの前記優先度情報に基づき、前記該当スケジュールの順番を優先度順にソートし、
前記実施予定リストから、ソート順の前記該当スケジュールと実施期間が重複する重複スケジュールを抽出し、前記重複スケジュールの中から、前記優先度の高いスケジュールを前記実施スケジュールとし、前記実施スケジュールとされたスケジュールを、前記実施予定リストに追加し、前記実施予定リスト内の前記空き時間におけるスケジュール構成を再構成することを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記調整手段は、
前記実施状況の変化により、スケジュールの実施が不可能となった場合、前記実施予定リストから、実施が不可能となった実施不可能スケジュールを削除し、
前記実施不可能スケジュールの削除により、前記実施予定リスト内に空き時間が発生した場合、登録スケジュールの全てが時系列にリスト化された全予定リストから、前記空き時間に該当する該当スケジュールを抽出し、
前記該当スケジュールに基づき、前記実施予定リスト内の前記空き時間におけるスケジュール構成を再構成することを特徴とする請求項３ないし６のいずれか一項に記載の情報処理装置。
【請求項８】
外部サービスを提供する外部サービス提供装置と当該情報処理装置との連携動作を制御する外部連携手段を有し、
前記調整手段は、
前記外部連携手段により、外部サービス提供装置に対し、前記実施場所情報を送信することで前記移動時間の算出を要求し、
前記外部連携手段を介して、前記移動時間の算出結果を取得すること特徴とする請求項３ないし７のいずれか一項に記載の情報処理装置。
【請求項９】
前記利用者情報保持手段は、
利用者情報を所定の記憶領域に保持し、
前記調整手段は、
前記利用者情報に含まれる、スケジュール調整を制御する値が設定された調整モード設定情報に基づき、スケジュール調整を行うか否かを判定し、判定結果に従って実行を制御することを特徴とする請求項１ないし８のいずれか一項に記載の情報処理装置。
【請求項１０】
ネットワークを介して、スケジュールの編集操作及びスケジュールの閲覧を行う情報端末と接続される情報処理装置におけるスケジュール管理プログラムであって、
コンピュータを、
前記編集操作により登録された実施予定のスケジュールを示すスケジュール情報であって、少なくとも該スケジュールを登録した登録者を識別するための登録者識別情報と、該スケジュールの参加者を識別するための参加者識別情報と、該スケジュールの実施を決定するための第一の優先度情報と、該スケジュールの実施条件と、を含むスケジュール情報を記憶領域に保持するスケジュール情報保持手段と、
利用者ごとに他の利用者が登録したスケジュールの実施を決定するための優先度情報であって、前記第一の優先度情報と異なる第二の優先度情報を対応付けて記録領域に保持する利用者情報保持手段と、
前記編集操作の実行又はスケジュールの実施状況の変化を検知すると、前記スケジュール情報に含まれる、前記優先度及び前記スケジュールの実施条件に基づき、複数の前記実施予定のスケジュールが時系列にリスト化された実施予定リスト内のスケジュール構成を再構成し、スケジュール調整する調整手段と、
前記調整手段により調整された実施予定リストに基づき、前記実施予定のスケジュールに対応する前記スケジュール情報を、前記編集操作又は前記閲覧の要求元である前記情報端末に送信する情報提供手段として機能させ、
前記調整手段は、前記調整対象のスケジュールのうち、第一のスケジュールと第二のスケジュールが重複する場合に前記第一のスケジュール及び前記第二のスケジュールの優先度情報を比較することによって優先度が高いスケジュールを前記実施予定のスケジュールとして決定し、前記優先度情報を比較する処理は、それぞれのスケジュールに対応する前記スケジュール保持手段によって保持されるスケジュール情報を参照し、該参照したスケジュール情報に含まれる登録者識別情報が前記要求元の情報端末の利用者を示す場合には前記参照したスケジュール情報に含まれる前記第一の優先度情報を比較対象の優先度情報とし、該参照したスケジュール情報に含まれる登録者識別情報が前記要求元の情報端末の利用者を示さない場合には前記利用者保持手段によって保持される前記要求元の情報端末の利用者に対応する前記第二の優先度情報を比較対象の優先度情報として実行するスケジュール管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スケジュール管理を制御する技術に関するものである。
【背景技術】
【０００２】
近年、スマートフォン（smart phone）などの情報端末が普及している。この情報端末は、携帯性に優れ、かつ、データ通信を介した高度な情報処理機能を提供できる。そのため、利用者は、例えば、情報端末を携帯して移動し、移動中や移動先などの通信可能な環境であれば、所望する各種情報を送受信することができる。
【０００３】
このように処理される情報には、例えば、スケジュール情報などがあり、情報端末から利用可能なスケジュール管理システムが知られている。
【０００４】
そこで、このようなスケジュール管理システムに対して、次のような技術が提案されている。
【０００５】
例えば、特許文献１には、スケジュールを無理なく実施するために、移動時間や実施が予定される他のスケジュール（登録済みスケジュール）との関係を考慮して、新たな（新規登録する）スケジュールが実行可能か否かを判断する技術が開示されている。また、特許文献２には、参加率を向上させるために、登録済みスケジュールを解析し、重みづけに基づき、スケジュールの実施日時（開始・終了日時）を調整する（スケジュール管理に係る）技術が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来のスケジュール管理では、利用者に対して、最適なスケジュールを提案するものではない。
【０００７】
スケジュールは、必ずしも登録時の日時で実施されるとは限らず、その日の状況に応じて、変更されることがある。例えば、急に会議を開催する必要が発生した場合や、開催中の会議が予定より早めに終わった場合などである。このようなことから、スケジュール管理では、スケジュール内容の変更に柔軟に対応できることが望ましい。
【０００８】
また、一般的なスケジュール管理では、スケジュール登録者（開催者）に対するスケジュール調整機能（スケジュール登録時の開始・終了日時の調整機能）はあっても、参加者に対しての調整機能を有していない。
【０００９】
そのため、参加者は、自身が関わる登録スケジュールを確認し、スケジュール内容の変更に応じて、実施予定を最適化（自身でスケジュールを再構成）しなければならない。その作業は、参加者にとって煩雑である。このようなことから、スケジュール管理では、登録スケジュールに関わる人に対して、スケジュール内容の変更に応じた最適なスケジュールを提案できることが望ましい。
【００１０】
本発明は上記従来技術の問題点を鑑み提案されたものであり、利用者に対して、最適なスケジュールを提案することができる情報処理装置及びスケジュール管理プログラムを提供することにある。
【課題を解決するための手段】
【００１１】
上記目的を達成するため、本発明に係る情報処理装置は、ネットワークを介して、スケジュールの編集操作及びスケジュールの閲覧を行う情報端末と接続される情報処理装置であって、
前記編集操作により登録された実施予定のスケジュールを示すスケジュール情報であって、少なくとも該スケジュールを登録した登録者を識別するための登録者識別情報と、該スケジュールの参加者を識別するための参加者識別情報と、該スケジュールの実施を決定するための第一の優先度情報と、該スケジュールの実施条件と、を含むスケジュール情報を記憶領域に保持するスケジュール情報保持手段と、
利用者ごとに他の利用者が登録したスケジュールの実施を決定するための優先度情報であって、前記第一の優先度情報と異なる第二の優先度情報を対応付けて記録領域に保持する利用者情報保持手段と、
前記編集操作の実行又はスケジュールの実施状況の変化を検知すると、前記スケジュール情報に含まれる、前記優先度及び前記スケジュールの実施条件に基づき、複数の前記実施予定のスケジュールが時系列にリスト化された実施予定リスト内のスケジュール構成を再構成し、スケジュール調整する調整手段と、
前記調整手段により調整された実施予定リストに基づき、前記実施予定のスケジュールに対応する前記スケジュール情報を、前記編集操作又は前記閲覧の要求元である前記情報端末に送信する情報提供手段と、を有し、
前記調整手段は、前記調整対象のスケジュールのうち、第一のスケジュールと第二のスケジュールが重複する場合に前記第一のスケジュール及び前記第二のスケジュールの優先度情報を比較することによって優先度が高いスケジュールを前記実施予定のスケジュールとして決定し、前記優先度情報を比較する処理は、それぞれのスケジュールに対応する前記スケジュール保持手段によって保持されるスケジュール情報を参照し、該参照したスケジュール情報に含まれる登録者識別情報が前記要求元の情報端末の利用者を示す場合には前記参照したスケジュール情報に含まれる前記第一の優先度情報を比較対象の優先度情報とし、該参照したスケジュール情報に含まれる登録者識別情報が前記要求元の情報端末の利用者を示さない場合には前記利用者保持手段によって保持される前記要求元の情報端末の利用者に対応する前記第二の優先度情報を比較対象の優先度情報として実行することを特徴とする。
【００１２】
上記目的を達成するため、本発明に係るスケジュール管理プログラムは、ネットワークを介して、スケジュールの編集操作及びスケジュールの閲覧を行う情報端末と接続される情報処理装置におけるスケジュール管理プログラムであって、
コンピュータを、
前記編集操作により登録された実施予定のスケジュールを示すスケジュール情報であって、少なくとも該スケジュールを登録した登録者を識別するための登録者識別情報と、該スケジュールの参加者を識別するための参加者識別情報と、該スケジュールの実施を決定するための第一の優先度情報と、該スケジュールの実施条件と、を含むスケジュール情報を記憶領域に保持するスケジュール情報保持手段と、
利用者ごとに他の利用者が登録したスケジュールの実施を決定するための優先度情報であって、前記第一の優先度情報と異なる第二の優先度情報を対応付けて記録領域に保持する利用者情報保持手段と、
前記編集操作の実行又はスケジュールの実施状況の変化を検知すると、前記スケジュール情報に含まれる、前記優先度及び前記スケジュールの実施条件に基づき、複数の前記実施予定のスケジュールが時系列にリスト化された実施予定リスト内のスケジュール構成を再構成し、スケジュール調整する調整手段と、
前記調整手段により調整された実施予定リストに基づき、前記実施予定のスケジュールに対応する前記スケジュール情報を、前記編集操作又は前記閲覧の要求元である前記情報端末に送信する情報提供手段として機能させ、
前記調整手段は、前記調整対象のスケジュールのうち、第一のスケジュールと第二のスケジュールが重複する場合に前記第一のスケジュール及び前記第二のスケジュールの優先度情報を比較することによって優先度が高いスケジュールを前記実施予定のスケジュールとして決定し、前記優先度情報を比較する処理は、それぞれのスケジュールに対応する前記スケジュール保持手段によって保持されるスケジュール情報を参照し、該参照したスケジュール情報に含まれる登録者識別情報が前記要求元の情報端末の利用者を示す場合には前記参照したスケジュール情報に含まれる前記第一の優先度情報を比較対象の優先度情報とし、該参照したスケジュール情報に含まれる登録者識別情報が前記要求元の情報端末の利用者を示さない場合には前記利用者保持手段によって保持される前記要求元の情報端末の利用者に対応する前記第二の優先度情報を比較対象の優先度情報として実行する。
【発明の効果】
【００１３】
本発明によれば、利用者に対して、最適なスケジュールを提案する情報処理装置及びスケジュール管理プログラムを提供することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の第１の実施形態に係るスケジュール管理システムの構成例を示す図である。
【図２】本発明の第１の実施形態に係る情報処理装置のハードウェア構成例を示す図である。
【図３】本発明の第１の実施形態に係るスケジュール管理の機能構成例を示す図である。
【図４】本発明の第１の実施形態に係る利用者情報のデータ例を示す図である。
【図５】本発明の第１の実施形態に係るスケジュール情報のデータ例を示す図である。
【図６】本発明の第１の実施形態に係る実施予定リストのデータ例を示す図である。
【図７】本発明の第１の実施形態に係る全予定リストのデータ例を示す図である。
【図８】本発明の第１の実施形態に係る編集操作とスケジュール調整との関係を示す図である。
【図９】本発明の第１の実施形態に係る編集処理の処理手順例を示すフローチャートである。
【図１０】本発明の第１の実施形態に係るスケジュール調整の処理手順例（その１）を示すフローチャートである。
【図１１】本発明の第１の実施形態に係る移動時間算出［開始前］の処理手順例を示すフローチャートである。
【図１２】本発明の第１の実施形態に係る移動時間算出［終了後］の処理手順例を示すフローチャートである。
【図１３】本発明の第１の実施形態に係る移動時間算出時の動作例（その１）を示す図である。
【図１４】本発明の第１の実施形態に係る移動時間算出時の動作例（その２）を示す図である。
【図１５】本発明の第１の実施形態に係るスケジュール調整の処理手順例（その２）を示すフローチャートである。
【図１６】本発明の第１の実施形態に係るスケジュール調整の処理手順例（その３）を示すフローチャートである。
【図１７】本発明の第１の実施形態に係るスケジュール登録時の調整動作例を示す図である。
【図１８】本発明の第１の実施形態に係るスケジュール登録による空き時間を考慮した調整動作例を示す図である。
【図１９】本発明の第１の実施形態に係るスケジュール登録に応じて調整された実施予定リスト例を示す図である。
【図２０】本発明の第１の実施形態に係るスケジュール実施状況に応じた調整動作例を示す図である。
【図２１】本発明の第１の実施形態に係るスケジュール実施状況による空き時間を考慮した調整動作例を示す図である。
【図２２】本発明の第１の実施形態に係るスケジュール実施状況に応じて調整された実施予定リスト例を示す図である。
【図２３】本実施形態の変形例に係るスケジュール管理の機能構成例を示す図である。
【発明を実施するための形態】
【００１５】
以下、本発明の好適な実施の形態（以下「実施形態」という）について、図面を用いて詳細に説明する。
【００１６】
［第１の実施形態］
＜システム構成＞
図１は、本実施形態に係るスケジュール管理システム１の構成例を示す図である。
図１には、情報処理装置１００と複数の情報端末２００１〜２００ｎ（以降総称する場合「情報端末２００」という）とが、インターネットなどのデータ伝送路Ｉ（外部ネットワーク）で接続されるシステム構成例が示されている。
【００１７】
情報端末２００は、データ通信を含む情報処理機能を有する機器である。情報端末２００は、例えば、スマートフォンなどであり、Ｗｅｂブラウザなどのアプリケーションを介して、情報処理装置１００にアクセスし、各種情報の閲覧や操作を行う。
【００１８】
情報処理装置１００は、スケジュール管理機能を有する機器であり、スケジュール管理サーバにあたる。情報処理装置１００は、例えば、ＰＣ（Personal Computer）などであり、所定の記憶領域に、利用者やスケジュールに関する情報（以下単に「利用者情報」や「スケジュール情報」という）を格納し、これらの情報に基づき、スケジュールを調整・管理する。また、情報処理装置１００は、情報端末２００から、スケジュールの編集操作要求を受け付けたり、実施予定のスケジュール一覧（以下単に「実施予定リスト」という）を、情報端末２００に応答したりする。
【００１９】
また、図１には、外部サービス提供サーバ３００（情報処理装置）が、データ伝送路Ｉに接続されている例が示されている。外部サービス提供サーバ３００は、情報処理装置１００が有するスケジュール管理機能と連携する各種外部サービスを提供する機器の総称である。外部サービスには、例えば、カレンダーサービスなどがある。このように、スケジュール管理システム１では、他の外部サービスと連携し、広域環境で利用可能なスケジュール管理サービスを提供するように、システムを構成してもよい。
【００２０】
なお、以降の説明では、便宜上、上記２つのサーバを識別するため、スケジュール管理サーバを「情報処理装置１００」とし、外部サービス提供サーバは、単に「外部サービス提供サーバ３００」とする。
【００２１】
システム管理システム１は、上記システム構成により、次のようなサービスを提供する。例えば、利用者は、情報端末２００から、Ｗｅｂブラウザを介して設定したスケジュールデータを情報処理装置１００に送信し、スケジュールの新規登録を要求する。
【００２２】
その結果、情報処理装置１００では、受信データに基づき、当該装置で保持する利用者のスケジュール情報を更新する。このとき、情報処理装置１００は、カレンダーサービスを提供する外部サービス提供サーバ３００に対して、受信データを送信し、スケジュールの登録を要求する。
【００２３】
次に、利用者は、移動中や移動先から、情報端末２００のＷｅｂブラウザを介して、実施予定リストの取得を情報処理装置１００に要求する。
【００２４】
その結果、情報処理装置１００では、スケジュール内容の変更に応じて、利用者が関わるスケジュールを調整し、最適化された実施予定リストを生成し、情報端末２００に応答する。
【００２５】
以上のように、本実施形態に係るスケジュール管理システム１では、上記システム構成により、利用者に対して、最適なスケジュールを提案する環境を提供することができる。
【００２６】
なお、本実施形態では、上記各機器が、ファイアウォール（非図示）を介して、データ伝送路Ｉに接続されるものとする。
【００２７】
＜ハードウェア構成＞
図２は、本実施形態に係る情報処理装置１００のハードウェア構成例を示す図である。
図２に示すように、情報処理装置１００は、入力装置１０１、表示装置１０２、ドライブ装置１０３、ＲＡＭ（Random Access Memory）１０４、ＲＯＭ（Read Only Memory）１０５、ＣＰＵ（Central Processing Unit）１０６、インタフェース装置１０７、及びＨＤＤ（Hard Disk Drive）１０８などを備え、それぞれがバスＢで相互に接続されている。
【００２８】
入力装置１０１は、キーボードやマウスなどを含み、情報処理装置１００に各操作信号を入力するのに用いられる。表示装置１０２は、ディスプレイなどを含み、情報処理装置１００による処理結果を表示する。
【００２９】
インタフェース装置１０７は、情報処理装置１００を所定のデータ伝送路に接続するインタフェースである。これにより、情報処理装置１００は、インタフェース装置１０７を介して、他の機器（非図示）とデータ通信を行うことができる。
【００３０】
ＨＤＤ１０８は、プログラムやデータを格納している不揮発性の記憶装置である。格納されるプログラムやデータには、装置全体を制御する情報処理システム（例えば「Ｗｉｎｄｏｗｓ（商標又は登録商標）」や「ＵＮＩＸ（商標又は登録商標）」などの基本ソフトウェアであるＯＳ（Operating System））、及びシステム上において各種機能（例えば「スケジュール管理機能」）を提供するアプリケーションなどがある。
【００３１】
また、ＨＤＤ１０８は、格納しているプログラムやデータを、所定のファイルシステム及び／又はＤＢ（Data Base）により管理している。なお、端末３００からの受信データ（ジョブデータ）は、ＨＤＤ１０８の所定の記憶領域に格納・蓄積され、ＤＢにより管理される。
【００３２】
ドライブ装置１０３は、着脱可能な記録媒体１０３ａとのインタフェースである。これにより、情報処理装置１００は、ドライブ装置１０３を介して、記録媒体１０３ａの読み取り及び／又は書き込みを行うことができる。記録媒体１０３ａには、例えば、フロッピー（商標又は登録商標）ディスク、ＣＤ（Compact Disk）、及びＤＶＤ（Digital Versatile Disk）、ならびに、ＳＤメモリカード（SD memory card）やＵＳＢメモリ（Universal Serial Bus memory）などがある。
【００３３】
ＲＯＭ１０５は、電源を切っても内部データを保持することができる不揮発性の半導体メモリ（記憶装置）である。ＲＯＭ１０５には、情報処理装置１００の起動時に実行されるＢＩＯＳ（Basic Input/Output System）、情報処理システム設定、及びネットワーク設定などのプログラムやデータが格納されている。
【００３４】
ＲＡＭ１０４は、プログラムやデータを一時保持する揮発性の半導体メモリ（記憶装置）である。ＣＰＵ１０６は、上記記憶装置（「ＨＤＤ」や「ＲＯＭ」など）から、プログラムやデータをＲＡＭ（メモリ）上に読み出し、処理を実行することで、装置全体の制御や搭載機能を実現する演算装置である。
【００３５】
以上のように、本実施形態に係る情報処理装置１００は、上記ハードウェア構成により、スケジュール管理機能（スケジュール管理サービス）を提供することができる。
【００３６】
＜スケジュール管理機能＞
本実施形態に係るスケジュール管理機能について説明する。
本実施形態に係る情報処理装置１００では、スケジュールの編集操作の実行や実施状況の変化を検知すると、利用者に関するスケジュールの実施を決定するための優先度、及び、スケジュールの実施条件に基づき、実施予定の登録スケジュールが時系列にリスト化された実施予定リストを再構成し、実施予定を最適化する。本実施形態に係る情報処理装置１００は、このようなスケジュール管理機能を有している。
【００３７】
従来のスケジュール管理では、利用者に対して、最適なスケジュールを提案するものではなかった。なぜなら、スケジュール内容の変更に応じたスケジュール調整が行われていないからである。
【００３８】
そこで、本実施形態に係る情報処理装置１００では、スケジュール内容の変更に応じて、実施予定リストを再構成し、利用者の実施予定を最適化する仕組みとした。
【００３９】
これにより、本実施形態に係る情報処理装置１００は、利用者に対して、登録予定の中から、最適な実施予定を提案可能な環境を提供する。その結果、本実施形態に係る情報処理装置１００では、利用者自身が最適化作業を行わなくてよい（煩雑な作業を行わなくてよい）。
【００４０】
以下に、本実施形態に係るスケジュール管理機能の構成とその動作について説明する。
図３は、本実施形態に係るスケジュール管理の機能構成例を示す図である。
図３に示すように、本実施形態に係るスケジュール管理機能は、編集部１１、調整部１２、情報提供部１３、及び外部連携部２１（外部サービス接続制御部）などを有している。
【００４１】
これらは、情報処理装置１００が有する機能部であり、編集部１１及び情報提供部１３は、情報端末２００と連携動作し、外部連携部２１は、外部サービス提供サーバ３００と連携動作する。
【００４２】
また、スケジュール管理機能は、利用者情報やスケジュール情報などを、利用者情報保持部８０やスケジュール情報保持部９０に格納し、管理する。なお、各保持部８０，９０は、例えば、情報処理装置１００が備える記憶装置（ＨＤＤ）の所定の記憶領域にあたる。
【００４３】
ここで、利用者情報及びスケジュール情報について説明する。
図４は、本実施形態に係る利用者情報８０Ｄのデータ例を示す図である。
図４に示すように、利用者情報８０Ｄは、［優先度設定］及び［調整モード設定］などの情報項目を有し、各情報項目が利用者ごとに対応づけられている。つまり、利用者情報８０Ｄは、利用者に関する設定を利用者単位で管理している。
【００４４】
［優先度設定］項目は、他の利用者が登録したスケジュールの実施を決定するために適用する優先度が設定される項目であり、項目値（以下「優先度設定情報」という）には、例えば、優先度を段階的に示す値などがある。図中には、優先度が'低'、'中'、'高'で設定された項目値の例が示されている。
【００４５】
［調整モード設定］項目は、利用者に対して実施するスケジュール調整のモードが設定される項目であり、項目値（以下「調整モード設定情報」という）には、例えば、スケジュール調整の実行を制御する値などがある。図中には、調整モードが'自動調整ＯＮ'、'自動調整ＯＦＦ'で設定された項目値の例が示されている。
【００４６】
これらの項目値は、管理者が予め設定しておけばよい。設定方法は、例えば、次の通りである。管理者は、情報処理装置１００において、所定の設定ツールを起動し、該設定ツールを介して、利用者に割り当てる優先度と調整モードの各値を設定する。なお、利用者自身が設定するようにしてもよい。
【００４７】
図５は、本実施形態に係るスケジュール情報９０Ｄのデータ例を示す図である。
図５に示すように、スケジュール情報９０Ｄは、［スケジュール識別］、［実施期間］、［実施場所］、［優先度］、［登録者］、［参加者］、［状態］、［分類］などの情報項目を有し、各情報項目がスケジュールごとに対応づけられている。つまり、スケジュール情報９０Ｄは、スケジュールに関する属性をスケジュール単位で管理している。
【００４８】
［スケジュール識別］項目は、スケジュールを識別する情報が保持される項目であり、項目値（以下「スケジュール識別情報」という）には、例えば、タイトル名などの値がある。図中には、タイトル名'ミーティングＡ'が保持された項目値の例が示されている。
【００４９】
［実施期間］項目は、スケジュールの実施期間を示す情報が保持される項目であり、実施条件の１つである。項目値（以下「実施期間情報」という）には、例えば、開始・終了日時などの値がある。図中には、開始・終了日時'２０１１／０５／２７  ０９：１５−１０：１５'が保持された項目値の例が示されている。
【００５０】
［実施場所］項目は、スケジュールの実施場所を示す情報が保持される項目であり、実施条件の１つである。項目値（以下「実施場所情報」という）には、例えば、実施場所名（施設名）、住所、又は位置座標などの値（ＧＰＳ：Global Positioning Systemからの座標値）がある。図中には、実施場所名'会議室Ａ'が保持された項目値の例が示されている。
【００５１】
［優先度］項目は、スケジュールの実施を決定するために適用する優先度が保持される項目であり、項目値（以下「優先度情報」という）は、利用者情報８０Ｄの［優先度設定］項目と同種の値である。
【００５２】
利用者情報８０Ｄの優先度設定情報との関係は、次の通りである。他の利用者が登録し、利用者本人が参加者として関わるスケジュールの場合、スケジュールの実施を決定する際に利用者情報８０Ｄの優先度設定情報が用いられる。一方、利用者本人が登録したスケジュールの場合、スケジュールの実施を決定する際にスケジュール情報９０Ｄの優先度情報が用いられる。つまり、スケジュールが利用者本人が登録者か否かによって、利用者情報８０Ｄの優先度とスケジュール情報９０Ｄの優先度とが使い分けられる。具体的な用い方については、スケジュール調整方法の説明で後述する。
【００５３】
［登録者］項目は、スケジュールの登録者を識別する情報が保持される項目であり、項目値（以下「登録者識別情報」という）には、例えば、登録した利用者名や利用者ＩＤなどの値がある。図中には、登録者名'ＵｓｅｒＤ'が保持された項目値の例が示されている。
【００５４】
［参加者］項目は、スケジュールの参加者を識別する情報が保持される項目であり、項目値（以下「参加者識別情報」という）には、例えば、参加する利用者名や利用者ＩＤなどの値がある。図中には、参加者名'ＵｓｅｒＡ，Ｂ，Ｃ'が保持された項目値の例が示されている。
【００５５】
また、情報項目には、その他にも、スケジュールの実施／未実施などの状態を示す［状態］項目や、スケジュールの種別を示す［分類］項目などがある。
【００５６】
情報処理装置１００では、上記スケジュール情報９０Ｄに対して、情報端末２００からの要求に応じたデータ操作を行い、利用者のスケジュールを管理する。なお、ここでいう「データ操作」には、スケジュールの新規登録（スケジュール情報の追加）、登録スケジュールの変更（スケジュール情報の変更）、登録スケジュールの削除（スケジュール情報の削除）などがある。
【００５７】
図３の説明に戻り、各機能部の説明にうつる。編集部１１は、スケジュール情報９０Ｄの編集を行う機能部である。編集部１１は、情報端末２００から、編集操作の要求を受け付けると、スケジュール情報保持部９０にアクセスし、要求に応じて、スケジュールの新規登録、登録スケジュールの変更、又は登録スケジュールの削除などを行う。
【００５８】
編集部１１は、新規登録要求受付時の受信データ［スケジュールデータ］に基づき、情報項目値を設定し、スケジュール情報９０Ｄを追加する。また、編集部１１は、変更要求受付時の受信データ［変更データ］に基づき、該当情報項目値を変更（上書き）し、スケジュール情報９０Ｄを変更する。また、編集部１１は、削除要求受付時の受信データ［削除指定データ］に基づき、該当するスケジュール情報９０Ｄを特定し、削除する。
【００５９】
また、編集部１１は、情報処理装置１００が外部サービス提供サーバ３００と連携している場合、該外部サービス提供サーバ３００に対し、上記編集操作の結果を反映する。例えば、カレンダーサービスを提供する外部サービス提供サーバ３００と連携している場合には、操作要求受付時の受信データを送信し、同様のデータ操作を要求する。
【００６０】
なお、スケジュール管理機能の各機能部と外部サービス提供サーバ３００と連携は、外部連携部２１を介して行われる。
【００６１】
外部連携部２１は、外部サービス提供サーバ３００と連携動作を制御する機能部である。外部連携部２１は、予め設定された連携先のネットワーク設定値（例えば「ＩＰアドレス：Internet Protocol address」）に基づき、情報処理装置１００と１又は複数の外部サービス提供サーバ３００との接続を制御する。また、外部連携部２１は、連携先のネットワーク設定値と連携する機能部（編集部や調整部）とが対応づけられた制御情報を有し、該制御情報に基づき、機能部からの要求に応じた外部連携の動作を制御する。
【００６２】
調整部１２は、利用者のスケジュールを調整する機能部である。調整部１２は、スケジュール内容の変更に応じて、実施予定リストを再構成し、利用者の実施予定を最適化する。
【００６３】
調整部１２は、編集部１１による編集操作の実行やスケジュールの実施状況の変化などを検知すると（スケジュール情報の状態変化を検知すると）、利用者に関するスケジュールの実施を決定するための優先度、及び、スケジュールの実施条件（実施期間や実施場所）に基づき、実施予定の登録スケジュール（以下「実施予定スケジュール」という）が時系列にリスト化された実施予定リストを再構成し、実施予定を最適化する。なお、調整部１２は、利用者情報保持部８０にアクセスし、利用者情報８０Ｄの調整モード設定情報に基づき、上記スケジュール調整を行うか否かを判定し、判定結果に従って実行を制御する。
【００６４】
ここで、本実施形態で取り扱うスケジュール一覧に係る情報について説明する。
図６は、本第１の実施形態に係る実施予定リストＵＳＤのデータ例を示す図である。
図６（Ａ）には、スケジュール情報９０Ｄの実施期間情報、実施場所情報、及びスケジュール識別情報が、実施予定スケジュールの情報セットとして対応づけられ、これらの情報セットが時系列に従って実施順にリスト化された利用者ごとの実施予定リストＵＳＤのデータ例が示されている。
【００６５】
実施予定リストＵＳＤには、実施予定のスケジュールと各スケジュールの実施場所に基づく移動予定（移動スケジュール）が含まれており、図６（Ｂ）に示すように、移動予定を考慮し、実施期間（移動時間が加算された期間）が重複しないスケジュールがリスト化されている。
【００６６】
このように、調整部１２は、スケジュールの優先度及び実施条件に基づき、実施予定リストＵＳＤ内の登録スケジュールを再構成し、新たな実施予定リストＵＳＤ（以下便宜上「調整後の実施予定リスト」という）を生成することで、利用者の実施予定を最適化する。
【００６７】
図７は、本実施形態に係る全予定リストＡＳＤのデータ例を示す図である。
図７（Ａ）には、スケジュール情報９０Ｄの実施期間情報、実施場所情報、及びスケジュール識別情報が、登録スケジュールの情報セットとして対応づけられ、これらの情報セットが時系列に従って実施順にリスト化された利用者ごとの全予定リストＡＳＤのデータ例が示されている。
【００６８】
全予定リストＡＳＤは、図７（Ｂ）に示すように、実施予定リストＵＳＤと異なり、実施期間が重複する・しないに関わらず、利用者が関わる登録スケジュールの全てがリスト化されている。
【００６９】
つまり、調整部１２は、実施予定リストＵＳＤを再構成する際に、全予定リストＡＳＤから再構成に用いる登録スケジュールを抽出し、抽出した１又は複数の登録スケジュール（以下便宜上「抽出スケジュール」という）に基づき、調整後の実施予定リストＵＳＤを生成する。
【００７０】
これらのリストＵＳＤ，ＡＳＤは、該当スケジュール情報９０Ｄに対応づけて、スケジュール情報保持部９０で保持される。
【００７１】
なお、以降の説明では、便宜上、スケジュール調整時の動作例を分かり易くするため、実施予定リストＵＳＤや全予定リストＡＳＤを、図６（Ｂ）や図７（Ｂ）に示すデータ例を用いる。
【００７２】
図３の説明に戻る。情報提供部１３は、調整後（最適化後）の実施予定リストＵＳＤを提供する機能部である。情報提供部１３は、情報端末２００に対し、調整部１２により生成された実施予定リストＵＳＤを送信する。なおこのとき、実施予定リストＵＳＤに基づき、スケジュール情報保持部９０から該当情報を取得し、取得情報も送信するようにしてもよい。
【００７３】
なお、情報端末２００へのリスト提供方法は、主に、次の２通り方法が考えられる。１つは、ＰＵＬＬ型による提供方法である。この場合、情報提供部１３は、情報端末２００から、実施予定リストＵＳＤの取得要求を受け付けると、要求に応じて、調整後の実施予定リストＵＳＤを提供する。もう１つは、ＰＵＳＨ型による提供方法である。この場合、情報提供部１３は、リスト生成結果を受けて、情報端末２００に対し、調整後の実施予定リストＵＳＤを提供する。これらのリスト提供方法については、システム運用に応じて採用すればよい。
【００７４】
ここからは、本実施形態に係るスケジュール調整（調整部と他の機能部との連携）について、具体的に説明する。
【００７５】
《スケジュール調整のタイミングと調整対象》
本実施形態では、スケジュールの編集操作実行時（１）やスケジュールの実施状況変化時（２）を、スケジュール調整が動作するタイミングとして想定している。
【００７６】
（１）：編集操作実行時
図８は、本実施形態に係る編集操作とスケジュール調整との関係を示す図である。
図８には、スケジュールの新規登録、実施予定スケジュールの変更、及び実施予定スケジュールの削除の各種編集操作に対応する、実施予定リストＵＳＤ内における調整対象の例が示されている。
【００７７】
（１−１）：実施予定スケジュール新規登録時
図８（Ａ）に示すように、調整部１２は、編集部１１によるスケジュールの新規登録動作を受けて、登録されるスケジュールと実施期間が重複する実施予定リストＵＳＤ内の実施予定スケジュールを抽出し、抽出スケジュールを調整対象とする。この場合、調整部１２は、抽出スケジュールに基づき、同期間内のスケジュール構成を再構成する。
【００７８】
（１−２）：実施予定スケジュール変更時
図８（Ｂ）に示すように、調整部１２は、編集部１１による実施予定スケジュールの変更［実施期間の短縮］動作を受けて、変更により実施予定リストＵＳＤ内に出現した空き時間を特定する。この場合、調整部１２は、実施予定リストＵＳＤ内に含まれておらず、空き時間に該当する全予定リストＡＳＤ内の登録スケジュールを抽出し、抽出スケジュールを調整対象とする。調整部１２は、抽出スケジュールに基づき、空き時間内のスケジュール構成を再構成する。
【００７９】
一方、調整部１２は、編集部１１による実施予定スケジュールの変更［実施期間の延長］動作を受けて、変更されるスケジュールと実施期間が重複する実施予定リストＵＳＤ内の実施予定スケジュールを抽出し、抽出スケジュールを調整対象とする。
【００８０】
（１−３）：実施予定スケジュール削除時
図８（Ｃ）に示すように、調整部１２は、編集部１１による実施予定スケジュールの削除動作を受けて、削除により実施予定リストＵＳＤ内に出現した空き時間を特定する。この場合も、調整部１２は、上記（１−２）：登録スケジュール変更時［実施期間の短縮］と同様に、全予定リストＡＳＤ内からの抽出スケジュールを調整対象とし、該抽出スケジュールに基づき、空き時間内のスケジュール構成を再構成する。
【００８１】
（２）：スケジュール実施状況変化時
本実施形態では、例えば、実施中のスケジュールが予定より早めに終了した場合［実施期間の短縮］や、終了までに予定以上の時間が掛かったりした場合［実施期間の延長］などを、スケジュールの実施状況の変化として想定している。
【００８２】
（２−１）：実施期間短縮時
調整部１２は、スケジュールの実施状況の変化［実施期間の短縮］を受けて、状況変化により実施予定リストＵＳＤ内に出現した空き時間を特定する。この場合も、調整部１２は、上記（１−２）：実施予定スケジュール変更時［実施期間の短縮］と同様に、全予定リストＡＳＤ内からの抽出スケジュールを調整対象とし、該抽出スケジュールに基づき、空き時間内のスケジュール構成を再構成する。
【００８３】
（２−２）：実施期間延長時
調整部１２は、スケジュールの実施状況の変化［実施期間の延長］を受けて、状態変化により（延長された実施中のスケジュールと）実施期間が重複する実施予定リストＵＳＤ内の実施予定スケジュールを抽出し、抽出スケジュールを調整対象とする。
【００８４】
《スケジュール調整方法》
調整部１２は、上記調整タイミングで、上記調整対象スケジュールの中から、実施するスケジュール（以下便宜上「実施スケジュール」という）を決定する。つまり、調整後の実施予定リストＵＳＤに含めるスケジュールを決定する。これにより、調整部１２は、実施予定リストＵＳＤ内のスケジュール構成を再構成し、調整後の実施予定リストＵＳＤを生成する。
【００８５】
調整部１２は、スケジュール調整時に行う上記実施スケジュールの決定を、スケジュールの優先度及び実施条件に基づき行う。
【００８６】
（Ａ）：優先度に基づく実施スケジュールの決定
調整部１２は、調整対象スケジュールの中で、設定された優先度が高いスケジュールを実施スケジュールに決定する。このとき、調整部１２は、スケジュール情報保持部９０にアクセスし、重複するスケジュールのスケシュール情報９０Ｄを参照し、優先度情報に基づき、スケジュール同士の優先度を比較する。調整部１２は、比較結果に基づき、優先度の高いスケジュールを実施スケジュールに決定する。
【００８７】
なお、調整部１２は、優先度比較時に、スケジュールの登録者が、実施予定リストＵＳＤの提供利用者（編集操作又はリスト提供の要求利用者）と同一か否かを判定する。
【００８８】
調整部１２は、登録者と提供利用者が同一でなかった場合、つまり、他の利用者が登録したスケジュール（利用者が参加者として関わるスケジュール）が実施スケジュールの候補であった場合、利用者情報保持部８０にアクセスし、利用者情報８０Ｄを参照し、優先度設定情報の値を該当スケジュールの優先度とし、スケジュール同士の優先度を比較する。
【００８９】
この動作（適用優先度の切り替え）は、利用者に関わるスケジュールにおいて、利用者の登録スケジュールが他の利用者が登録したスケジュールより優先的に実施スケジュールとして決定されるようにするものである。例えば、利用者情報８０Ｄの優先度設定情報に低い値を設定しておくことで、優先度比較時に、利用者の登録スケジュールの優先度が、他の利用者が登録したスケジュールの優先度より高く、利用者の登録スケジュールが実施スケジュールとして決定されることになる。
【００９０】
（Ｂ）：移動時間を考慮した重複判定
調整部１２は、調整対象スケジュールの中で、時系列に従って前後関係にあるスケジュールを特定する。具体的には、調整対象スケジュールのうち、１つのスケジュールＳｘに対して、１つ前に実施が予定されるスケジュールＳｙと１つ後に実施が予定されるスケジュールＳｚとの２つのスケジュールを特定する。
【００９１】
調整部１２は、１つ前のスケジュールＳｙの実施場所からスケジュールＳｘの実施場所までの移動時間を算出する。また、スケジュールＳｘの実施場所から１つ後のスケジュールＳｚの実施場所までの移動時間を算出する。このとき、調整部１２は、スケジュール情報保持部９０にアクセスし、各スケジュールＳｘ，Ｓｙ，Ｓｚのスケシュール情報９０Ｄを参照し、実施条件である実施場所情報に基づき、スケジュール間の移動時間を算出する。
【００９２】
調整部１２は、ＧＰＳからの取得値や住所などから２地点間の移動距離と移動時間とを提供する外部サービス提供サーバ３００（例えば「ナビゲーションサービス提供サーバ」）と連携し、移動時間を算出する。調整部１２は、外部連携部２１を介して、外部サービス提供サーバ３００にアクセスし、該外部サービス提供サーバ３００に、実施場所情報を送信することで、移動時間の取得を要求する。これにより、調整部１２は、各スケジュール間の移動時間を算出する。
【００９３】
その後、調整部１２は、移動予定を考慮し、各スケジュールＳｘ，Ｓｙ，Ｓｘの間で実施期間が重複するか否かを判定する。このとき、調整部１２は、スケジュール情報保持部９０にアクセスし、各スケジュールＳｘ，Ｓｙ，Ｓｚのスケシュール情報９０Ｄを参照し、実施条件である実施期間情報と、先に算出した移動時間とに基づき、重複判定を行う。
【００９４】
調整部１２は、１つ前のスケジュールＳｙの終了日時が、スケジュールＳｘの開始日時に両スケジュール間（Ｓｙ−Ｓｘ）の移動時間を加算した日時（スケジュールＳｘへの移動開始日時）と重複するか否かを判定する。また、１つ後のスケジュールＳｚの開始日時が、スケジュールＳｘの終了日時に両スケジュール間（Ｓｘ−Ｓｚ）の移動時間を加算した日時（スケジュールＳｚへの移動終了日時）と重複するか否かを判定する。
【００９５】
調整部１２は、上記重複判定において、スケジュールＳｘが、前後のスケジュールＳｙ，Ｓｚと重複しないと判定された場合、スケジュールＳｘを実施スケジュールに決定する。
【００９６】
なお、調整部１２は、重複すると判定されたスケジュールのうち、どちらのスケジュールを実施スケジュールとするかを、上記（Ａ）：優先度に基づく実施スケジュールの決定方法に従って決定する。
【００９７】
調整部１２は、上記スケジュール調整により、実施スケジュールとして決定した調整対象スケジュールを、実施予定リストＵＳＤに追加する。一方、調整部１２は、実施スケジュールとして決定されなかった他のスケジュールと重複する調整対象スケジュールを、実施予定リストＵＳＤから削除する。これにより、実施予定リストＵＳＤは、スケジュール内容の変更に応じて、スケジュール調整され、再構成される。
【００９８】
以上のように、本実施形態に係るスケジュール管理機能は、上記各機能部が連携動作することにより実現される。なお、上記各機能部は、情報処理装置１００に搭載（インストール）されるプログラム（スケジュール管理機能を実現するソフトウェア）が、演算装置（ＣＰＵ）により、記憶装置（「ＨＤＤ」や「ＲＯＭ」）からメモリ（ＲＡＭ）上に読み出され、以下の処理が実行されることで実現される。
【００９９】
本実施形態に係るスケジュール管理機能の詳細な動作（機能部群の連携動作）について、処理手順を示すフローチャートを用いて説明する。
【０１００】
《編集処理》
図９は、本実施形態に係る編集処理の処理手順例を示すフローチャートである。
（Ａ）には、実施予定スケジュール新規登録時の編集処理が示されている。
（Ａ）に示すように、情報処理装置１００は、情報端末２００から、新規登録要求を受け付けると、編集部１１により、スケジュール情報保持部９０にアクセスし、要求に応じて、スケジュールの新規登録を行う（ステップＳ１０１）。このとき、編集部１１は、新規登録要求受付時の受信データ［スケジュールデータ］に基づき、情報項目値を設定し、スケジュール情報９０Ｄを追加する。
【０１０１】
情報処理装置１００は、編集部１１による新規登録動作を受けて、調整部１２により、新規登録に対するスケジュール調整を行う（ステップＳ１０２：スケジュール調整処理＃１）。このとき、調整部１２は、登録されるスケジュールと実施期間が重複する実施予定リストＵＳＤ内の実施予定スケジュールを抽出し、抽出スケジュールを調整対象とする。
【０１０２】
（Ｂ）には、実施予定スケジュール変更時の編集処理が示されている。
（Ｂ）に示すように、情報処理装置１００は、情報端末２００から、変更要求［実施期間の短縮／延長］を受け付けると、編集部１１により、スケジュール情報保持部９０にアクセスし、要求に応じて、登録スケジュールの変更を行う（ステップＳ２０１）。このとき、編集部１１は、変更要求受付時の受信データ［変更データ］に基づき、該当情報項目値を変更（上書き）し、スケジュール情報９０Ｄを変更する。
【０１０３】
情報処理装置１００は、編集部１１による変更動作を受けて、調整部１２により、変更種別に応じたスケジュール調整を行う（ステップＳ２０２又はＳ２０３）。
【０１０４】
具体的には、調整部１２は、編集部１１による変更動作が［実施期間の短縮］であった場合、期間短縮により発生した空き時間に対するスケジュール調整を行う（ステップＳ２０２：スケジュール調整処理＃２）。このとき、調整部１２は、実施予定リストＵＳＤ内に含まれておらず、空き時間に該当する全予定リストＡＳＤ内の登録スケジュールを抽出し、抽出スケジュールを調整対象とする。
【０１０５】
また、調整部１２は、編集部１１による変更動作が［実施期間の延長］であった場合、期間延長により実施不可能なスケジュールに対するスケジュール調整を行う（ステップＳ２０３：スケジュール調整処理＃３）。このとき、調整部１２は、変更されるスケジュールと実施期間が重複する実施予定リストＵＳＤ内の実施予定スケジュールを抽出し、抽出スケジュールを調整対象とする。
【０１０６】
（Ｃ）には、実施予定スケジュール削除時の編集処理が示されている。
（Ｃ）に示すように、情報処理装置１００は、情報端末２００から、削除要求を受け付けると、編集部１１により、スケジュール情報保持部９０にアクセスし、要求に応じて、登録スケジュールの削除を行う（ステップＳ３０１）。このとき、編集部１１は、削除要求受付時の受信データ［削除指定データ］に基づき、該当するスケジュール情報９０Ｄを特定し、削除する。
【０１０７】
情報処理装置１００は、編集部１１による削除動作を受けて、調整部１２により、削除に対するスケジュール調整を行う（ステップＳ３０２）。具体的には、調整部１２は、削除により発生した空き時間に対するスケジュール調整を行う（スケジュール調整処理＃２）。このとき、調整部１２は、実施予定リストＵＳＤ内に含まれておらず、空き時間に該当する全予定リストＡＳＤ内の登録スケジュールを抽出し、抽出スケジュールを調整対象とする。
【０１０８】
なお、スケジュール実施状況変化時の処理については、上記（Ｂ）に示した実施予定スケジュール変更時の処理と同様である。なお、実施期間の短縮又は延長の判別は、例えば、スケジュールの実施状況に基づき行えばよい。
【０１０９】
《スケジュール調整処理＃１》
図１０は、本実施形態に係るスケジュール調整の処理手順例（その１）を示すフローチャートである。図１０に示す処理は、スケジュールの新規登録やスケジュールの変更に応じて、調整部１２により、スケジュールの優先度及び実施条件に基づき、実施予定リストＵＳＤ内のスケジュール構成を再構成し、調整後の実施予定リストＵＳＤを生成する。
【０１１０】
図１０に示すように、調整部１２は、利用者の実施予定リストＵＳＤから、新規登録又は変更されたスケジュールＳｘと実施期間が重複するスケジュールＬｘ（以下便宜上「重複スケジュールＬｘ」という）を抽出する（ステップＳ４０１）。このとき、調整部１２は、スケジュール情報保持部９０にアクセスし、スケジュール情報９０Ｄを参照し、実施期間情報に基づき、スケジュール同士の重複を判定する。その結果、１又は複数の重複スケジュールＬｘを含む抽出リストが生成される。なおこのとき、重複スケジュールＬｘが存在しなければ、空の抽出リストが生成される。
【０１１１】
調整部１２は、抽出リストを参照し、重複スケジュールＬｘが存在するか否かを判定する（ステップＳ４０２：重複判定処理）。
【０１１２】
調整部１２は、重複スケジュールＬｘが存在する場合（ステップＳ４０２：ＹＥＳ）、スケジュールＳｘと重複スケジュールＬｘとの優先度を比較する（ステップＳ４０３）。このとき、調整部１２は、各スケジュールＳｘ，Ｌｘのスケジュール情報９０Ｄを参照し、互いの優先度情報の値を比較する。またこのとき、調整部１２は、重複スケジュールＬｘが他の利用者により登録された実施予定スケジュールであった場合、利用者情報保持部８０にアクセスし、利用者の利用者情報８０Ｄを参照し、優先度設定情報を用いた優先度比較を行う。
【０１１３】
調整部１２は、比較結果に基づき、優先度比較したスケジュールのうち、スケジュールＳｘの優先度が最も高いか否かを判定する（ステップＳ４０４：優先度判定処理）。
【０１１４】
調整部１２は、スケジュールＳｘの優先度が最も高い場合（ステップＳ４０４：ＹＥＳ）、スケジュールＳｘの前に実施が予定されるスケジュールからスケジュールＳｘへの移動時間を算出する（ステップＳ４０５：開始前の移動時間算出処理）。このとき、調整部１２は、ナビゲーションサービスを提供する外部サービス提供サーバ３００との連携により、各スケジュールの実施場所に基づき、スケジュールＳｘ開始前の移動時間を算出する。また、調整部１２は、算出した移動時間に基づき（移動予定を考慮し）、スケジュールＳｘを実施スケジュールに決定する（調整後の実施予定リストに含める）か否かを判定する。なお、これらの処理の詳細については、図１１を用いて後述する。
【０１１５】
調整部１２は、開始前の移動時間算出処理において、スケジュールＳｘが実施スケジュールに決定されたか否かを判定する（ステップＳ４０６：実施決定判定処理）。
【０１１６】
調整部１２は、スケジュールＳｘが実施スケジュールに決定された場合（ステップＳ４０６：ＹＥＳ）、スケジュールＳｘから該スケジュールＳｘの後に実施が予定されるスケジュールへの移動時間を算出する（ステップＳ４０７：終了後の移動時間算出処理）。このときも、調整部１２は、外部サービス提供サーバ３００との連携により、スケジュールＳｘ終了後の移動時間を算出し、算出した移動時間に基づき、スケジュールＳｘを実施スケジュールに決定するか否かを判定する。これらの処理の詳細については、図１２を用いて後述する。
【０１１７】
調整部１２は、終了後の移動時間算出処理において、スケジュールＳｘが実施スケジュールに決定されたか否かを判定する（ステップＳ４０８：実施決定判定処理）。
【０１１８】
調整部１２は、スケジュールＳｘが実施スケジュールに決定された場合（ステップＳ４０８：ＹＥＳ）、抽出リストを参照し、実施スケジュールとして決定されたスケジュールＳに対する重複スケジュールＬｘが存在するか否かを判定する（ステップＳ４０９：重複判定処理）。
【０１１９】
調整部１２は、重複スケジュールＬｘが存在する場合（ステップＳ４０９：ＹＥＳ）、重複スケジュールＬｘを実施予定リストＵＳＤから削除し（ステップＳ４１０）、スケジュールＳｘを追加する（ステップＳ４１１）。
【０１２０】
調整部１２は、上記ステップＳ４１０の削除処理で発生した空き時間に対し、スケジュール調整を行う（ステップＳ４１２：スケジュール調整処理＃２）。
【０１２１】
なお、調整部１２は、上記ステップＳ４０２の重複判定処理において、重複スケジュールＬｘが存在しないと判定された場合（ステップＳ４０２：ＮＯ）、上記ステップＳ４０５の開始前の移動時間の算出処理へと移行する。
【０１２２】
また、調整部１２は、上記ステップＳ４０４の優先度判定処理において、スケジュールＳｘの優先度が高くないと判定された場合（ステップＳ４０４：ＮＯ）、処理を終了する。つまり、優先度の低いスケジュールＳｘは、調整後の実施予定リストＵＳＤに含まない。
【０１２３】
また、調整部１２は、上記ステップＳ４０６，Ｓ４０８の実施決定判定処理において、スケジュールＳｘが実施スケジュールに決定されなかったと判定された場合（ステップＳＳ４０６，４０８：ＮＯ）、処理を終了する。つまり、実施スケジュールとして決定されなかったスケジュールＳｘは、調整後の実施予定リストＵＳＤに含まない。
【０１２４】
また、調整部１２は、上記ステップＳ４０９の重複判定処理において、重複スケジュールＬｘが存在しないと判定された場合（ステップＳ４０９：ＮＯ）、スケジュールＳｘを追加し（ステップＳ４１３）、処理を終了する。このとき、調整部１２は、上記ステップＳ４１０の削除処理を行わないため、空き時間に対するスケジュール調整（スケジュール調整処理＃２）も行わない（ステップＳ４１２）。
【０１２５】
このような処理により、調整部１２は、スケジュール内容の変更に応じて、実施予定リストＵＳＤ内のスケジュール構成を再構成し、利用者の実施予定を最適化する。
【０１２６】
《移動時間算出処理》
図１１は、本実施形態に係る移動時間算出［開始前］の処理手順例を示すフローチャートである。図１１に示す処理は、図１０に示した調整部１２による開始前の移動時間算出処理（ステップＳ４０５）にあたる。
【０１２７】
図１１に示すように、調整部１２は、スケジュールＳｘの開始前に移動予定があるか否かを判定する（ステップＳ５０１）。このとき、調整部１２は、利用者の実施予定リストＵＳＤを参照し、スケジュールＳｘの開始前に移動予定が存在するか否かに基づき、上記判定を行う。
【０１２８】
調整部１２は、移動予定がないと判定した場合（ステップＳ５０１：ＮＯ）、実施予定リストＵＳＤから、時系列に従って、スケジュールＳｘの１つ前に実施が予定されるスケジュールＳｙを特定する（ステップＳ５０２）。
【０１２９】
一方、調整部１２は、移動予定がある場合（ステップＳ５０１：ＹＥＳ）、実施予定リストＵＳＤから、移動予定に対応する、スケジュールＳｘの１つ前に実施が予定されるスケジュールＳｙを特定する（ステップＳ５０３）。つまり、スケジュールＳｘへの移動元にあたるスケジュールＳｙを特定する。
【０１３０】
調整部１２は、特定結果に基づき、スケジュールＳｘの開始前に、実施が予定されるスケジュールＳｙが存在するか否かを判定する（ステップＳ５０４：存在判定処理）。
【０１３１】
調整部１２は、スケジュールＳｙが存在する場合（ステップＳ５０４：ＹＥＳ）、スケジュールＳｙからスケジュールＳｘへの移動時間Ｍｙｘを算出する（ステップＳ５０５）。このとき、調整部１２は、スケジュール情報保持部９０にアクセスし、各スケジュールＳｘ，Ｓｙのスケシュール情報９０Ｄを参照し、実施場所情報に基づき、スケジュール間の移動時間を算出する。調整部１２は、外部連携部２１を介して、ナビゲーションサービスを提供する外部サービス提供サーバ３００にアクセスし、該外部サービス提供サーバ３００に、実施場所情報を送信することで、移動時間Ｍｙｘの取得を要求する。これにより、調整部１２は、各スケジュール間の移動時間を算出する。
【０１３２】
調整部１２は、移動予定を考慮したスケジュールＳｘの実施期間が、スケジュールＳｙの実施期間と重複するか否かを判定する（ステップＳ５０６：重複判定処理）。このとき、調整部１２は、各スケジュールＳｘ，Ｓｙのスケシュール情報９０Ｄを参照し、実施期間情報及び移動時間Ｍｙｘとに基づき、重複判定を行う。調整部１２は、スケジュールＳｙの終了日時が、スケジュールＳｘの開始日時に移動時間Ｍｙｘを加算した日時（スケジュールＳｘへの移動開始日時）と重複するか否かを判定する。
【０１３３】
調整部１２は、スケジュールＳｙの実施期間と重複する場合（ステップＳ５０６：ＹＥＳ）、スケジュールＳｘとスケジュールＳｙとの優先度を比較する（ステップＳ５０７）。このとき、調整部１２は、各スケジュールＳｘ，Ｓｙのスケジュール情報９０Ｄを参照し、互いの優先度情報の値を比較する。またこのとき、調整部１２は、スケジュールＳｙが他の利用者により登録された実施予定スケジュールであった場合、利用者情報保持部８０にアクセスし、利用者の利用者情報８０Ｄを参照し、優先度設定情報を用いた優先度比較を行う。
【０１３４】
調整部１２は、比較結果に基づき、優先度比較したスケジュールＳｙより、スケジュールＳｘの優先度が高いか否かを判定する（ステップＳ５０８）。
【０１３５】
調整部１２は、スケジュールＳｘの優先度が高い場合（ステップＳ５０８：ＹＥＳ）、スケジュールＳｙを、重複スケジュールＬｘの抽出リストに追加し（ステップＳ５０９）、次のスケジュールＳｙの処理に移行する。ここでいう「次のスケジュールＳｙ」とは、スケジュールＳｘの２つ前に実施が予定されるスケジュールである。つまり、スケジュールＳｘの優先度が高い場合には、スケジュールＳｘの移動予定を含む実施期間が、該スケジュールＳｘ開始前の他の実施予定スケジュールと重複しなくなるまで、実施予定リストＵＳＤ内の実施予定スケジュールを時系列に従って遡って処理を行う。
【０１３６】
一方、調整部１２は、スケジュールＳｘの優先度が低い場合（ステップＳ５０８：ＮＯ）、スケジュールＳｘを実施スケジュールとしない（実施予定リストに含めない：ステップＳ５１１）。
【０１３７】
なお、調整部１２は、上記ステップＳ５０６の重複判定処理において、スケジュールＳｙの実施期間と重複しないと判定された場合（ステップＳ５０６：ＮＯ）、移動時間Ｍｙｘを、実施予定リストＵＳＤ内の移動スケジュールデータとし（ステップＳ５１０）、スケジュールＳｘを実施スケジュールとする（実施予定リストに含める：ステップＳ５１１）。
【０１３８】
また、調整部１２は、上記ステップＳ５０４の存在判定処理において、スケジュールＳｙが存在しないと判定された場合（ステップＳ５０４：ＮＯ）、スケジュールＳｘを実施スケジュールとする（ステップＳ５１１）。
【０１３９】
このような処理により、調整部１２は、スケジュールの実施場所に基づき、スケジュールＳｘ開始前の移動時間を算出し、算出した移動時間に基づき（移動予定を考慮し）、スケジュールＳｘを実施スケジュールに決定する（調整後の実施予定リストに含める）か否かを判定する。
【０１４０】
図１２は、本実施形態に係る移動時間算出［終了後］の処理手順例を示すフローチャートである。図１２に示す処理は、図１０に示した調整部１２による終了後の移動時間算出処理（ステップＳ４０７）にあたる。
【０１４１】
図１２に示すように、調整部１２は、スケジュールＳｘの終了後に移動予定があるか否かを判定する（ステップＳ６０１）。このとき、調整部１２は、利用者の実施予定リストＵＳＤを参照し、スケジュールＳｘの終了後に移動予定が存在するか否かに基づき、上記判定を行う。
【０１４２】
調整部１２は、移動予定がないと判定した場合（ステップＳ６０１：ＮＯ）、実施予定リストＵＳＤから、時系列に従って、スケジュールＳｘの１つ後に実施が予定されるスケジュールＳｚを特定する（ステップＳ６０２）。
【０１４３】
一方、調整部１２は、移動予定がある場合（ステップＳ６０１：ＹＥＳ）、実施予定リストＵＳＤから、移動予定に対応する、スケジュールＳｘの１つ後に実施が予定されるスケジュールＳｚを特定する（ステップＳ６０３）。つまり、スケジュールＳｘからの移動先にあたるスケジュールＳｚを特定する。
【０１４４】
調整部１２は、特定結果に基づき、スケジュールＳｘの終了後に、実施が予定されるスケジュールＳｚが存在するか否かを判定する（ステップＳ６０４：存在判定処理）。
【０１４５】
調整部１２は、スケジュールＳｚが存在する場合（ステップＳ６０４：ＹＥＳ）、スケジュールＳｘからスケジュールＳｚへの移動時間Ｍｘｚを算出する（ステップＳ６０５）。このとき、調整部１２は、スケジュール情報保持部９０にアクセスし、各スケジュールＳｘ，Ｓｚのスケシュール情報９０Ｄを参照し、実施場所情報に基づき、スケジュール間の移動時間を算出する。調整部１２は、外部連携部２１を介して、ナビゲーションサービスを提供する外部サービス提供サーバ３００にアクセスし、該外部サービス提供サーバ３００に、実施場所情報を送信することで、移動時間Ｍｘｚの取得を要求する。これにより、調整部１２は、各スケジュール間の移動時間を算出する。
【０１４６】
調整部１２は、移動予定を考慮したスケジュールＳｘの実施期間が、スケジュールＳｚの実施期間と重複するか否かを判定する（ステップＳ６０６：重複判定処理）。このとき、調整部１２は、各スケジュールＳｘ，Ｓｚのスケシュール情報９０Ｄを参照し、実施期間情報及び移動時間Ｍｘｚとに基づき、重複判定を行う。調整部１２は、スケジュールＳｚの開始日時が、スケジュールＳｘの終了日時に移動時間Ｍｘｚを加算した日時（スケジュールＳｚへの移動終了日時）と重複するか否かを判定する。
【０１４７】
調整部１２は、スケジュールＳｚの実施期間と重複する場合（ステップＳ６０６：ＹＥＳ）、スケジュールＳｘとスケジュールＳｚとの優先度を比較する（ステップＳ６０７）。このとき、調整部１２は、各スケジュールＳｘ，Ｓｚのスケジュール情報９０Ｄを参照し、互いの優先度情報の値を比較する。またこのとき、調整部１２は、スケジュールＳｚが他の利用者により登録された実施予定スケジュールであった場合、利用者情報保持部８０にアクセスし、利用者の利用者情報８０Ｄを参照し、優先度設定情報を用いた優先度比較を行う。
【０１４８】
調整部１２は、比較結果に基づき、優先度比較したスケジュールＳｚより、スケジュールＳｘの優先度が高いか否かを判定する（ステップＳ６０８）。
【０１４９】
調整部１２は、スケジュールＳｘの優先度が高い場合（ステップＳ６０８：ＹＥＳ）、スケジュールＳｚを、重複スケジュールＬｘの抽出リストに追加し（ステップＳ６０９）、次のスケジュールＳｚの処理に移行する。ここでいう「次のスケジュールＳｚ」とは、スケジュールＳｘの２つ後に実施が予定されるスケジュールである。つまり、スケジュールＳｘの優先度が高い場合には、スケジュールＳｘの移動予定を含む実施期間が、該スケジュールＳｘ終了後の他の実施予定スケジュールと重複しなくなるまで、実施予定リストＵＳＤ内の実施予定スケジュールを時系列に従って進めて処理を行う。
【０１５０】
一方、調整部１２は、スケジュールＳｘの優先度が低い場合（ステップＳ６０８：ＮＯ）、スケジュールＳｘを実施スケジュールとしない（実施予定リストに含めない：ステップＳ６１１）。
【０１５１】
なお、調整部１２は、上記ステップＳ６０６の重複判定処理において、スケジュールＳｚの実施期間と重複しないと判定された場合（ステップＳ６０６：ＮＯ）、移動時間Ｍｘｚを、実施予定リストＵＳＤ内の移動スケジュールデータとし（ステップＳ６１０）、スケジュールＳｘを実施スケジュールとする（実施予定リストに含める：ステップＳ６１１）。
【０１５２】
また、調整部１２は、上記ステップＳ６０４の存在判定処理において、スケジュールＳｚが存在しないと判定された場合（ステップＳ６０４：ＮＯ）、スケジュールＳｘを実施スケジュールとする（ステップＳ６１１）。
【０１５３】
このような処理により、調整部１２は、スケジュールの実施場所に基づき、スケジュールＳｘ終了後の移動時間を算出し、算出した移動時間に基づき（移動予定を考慮し）、スケジュールＳｘを実施スケジュールに決定する（調整後の実施予定リストに含める）か否かを判定する。
【０１５４】
ここで、上記移動時間算出時の動作を、実施予定リストＵＳＤのデータを例に説明する。
《動作例》
図１３は、本実施形態に係る移動時間算出時の動作例（その１）を示す図である。
図１３に示す実施予定リストＵＳＤは、図１１に示すステップＳ５０６（重複判定処理：ＮＯ），ステップＳ５１０，Ｓ５１１の処理、及び、図１２に示すステップＳ６０６（重複判定処理：ＮＯ），ステップＳ６１０，Ｓ６１１の処理が行われた際のデータ例（処理結果）にあたる。
【０１５５】
図１３に示すように、図１１に示す開始前の移動時間算出処理では、算出した移動時間Ｍｙｘを実施期間（開始日時）に加算したスケジュールＳｘが、開始前に実施が予定されるスケジュールＳｙの実施期間（終了日時）と重複しない場合、スケジュールＳｘを、実施予定リストＵＳＤに含める実施スケジュールに決定する。
【０１５６】
また、図１２に示す終了後の移動時間算出処理では、算出した移動時間Ｍｘｚを実施期間（終了日時）に加算したスケジュールＳｘが、終了後に実施が予定されるスケジュールＳｚの実施期間（開始日時）と重複しない場合、スケジュールＳｘを、実施予定リストＵＳＤに含める実施スケジュールに決定する。
【０１５７】
図１４は、本実施形態に係る移動時間算出時の動作例（その２）を示す図である。
図１４に示す実施予定リストＵＳＤは、図１１に示すステップＳ５０６（重複判定処理：ＹＥＳ），ステップＳ５０７，Ｓ５０８（優先度判定処理：ＹＥＳ）の処理が行われた際のデータ例（処理結果）にあたる。
【０１５８】
図１４（Ａ）に示すように、図１１に示す開始前の移動時間算出処理では、算出した移動時間Ｍｙ１ｘを実施期間（開始日時）に加算したスケジュールＳｘが、開始前に実施が予定されるスケジュールＳｙ１の実施期間（終了日時）と重複する場合、スケジュールＳｘとスケジュールとスケジュールＳｙ１との優先度を比較する。
【０１５９】
その結果、開始前の移動時間算出処理では、スケジュールＳｙ１よりスケジュールＳｘの優先度が高い場合、スケジュールＳｙ１を抽出リストに追加する。
【０１６０】
その後、図１４（Ｂ）に示すように、図１１に示す開始前の移動時間算出処理では、スケジュールＳｘの２つ前に実施が予定されるスケジュールＳｙ２を特定し、スケジュールＳｙ２からスケジュールＳｘへの移動時間Ｍｙ２ｘを算出する。
【０１６１】
その結果、開始前の移動時間算出処理では、算出した移動時間Ｍｙ２ｘを実施期間（開始日時）に加算したスケジュールＳｘが、２つ前に実施が予定されるスケジュールＳｙの実施期間（終了日時）と重複しない場合、スケジュールＳｘを、実施予定リストＵＳＤに含める実施スケジュールに決定する。
【０１６２】
このように、開始前の移動時間算出処理では、スケジュールＳｘの優先度が高い場合、スケジュールＳｘの移動予定を含む実施期間が、該スケジュールＳｘ開始前の他の実施予定スケジュールと重複しなくなるまで、実施予定リストＵＳＤ内の実施予定スケジュールを遡って処理を行う。
【０１６３】
なお、終了後の移動時間算出処理の動作例については、開始前の処理と同様の動作概念であることから、図を用いた説明を省略する。
【０１６４】
《スケジュール調整処理＃２》
図１５は、本実施形態に係るスケジュール調整の処理手順例（その２）を示すフローチャートである。図１５に示す処理は、調整部１２により、スケジュールの変更や削除により発生した空き時間に対し、スケジュールの優先度及び実施条件に基づき、実施予定リストＵＳＤ内のスケジュール構成を再構成し、調整後の実施予定リストＵＳＤを生成する。
【０１６５】
図１５に示すように、調整部１２は、利用者の全予定リストＡＳＤから、空き時間に該当する実施予定リストＵＳＤにないスケジュールＬａ（以下便宜上「該当スケジュールＬａ」という）を抽出する（ステップＳ７０１）。このとき、調整部１２は、スケジュール情報保持部９０にアクセスし、全予定リストＡＳＤ内の登録スケジュールのスケジュール情報９０Ｄを参照し、実施期間情報に基づき、空き時間内に実施期間が該当するスケジュールを特定する。その結果、１又は複数の該当スケジュールＬａを含む抽出リストが生成される。なおこのとき、該当スケジュールＬａが存在しなければ、空の抽出リストが生成される。
【０１６６】
調整部１２は、抽出リストを参照し、該当スケジュールＬａが存在するか否かを判定する（ステップＳ７０２）。
【０１６７】
調整部１２は、該当スケジュールＬａが存在する場合（ステップＳ７０２：ＹＥＳ）、該当スケジュールＬａを優先度順にソートする（ステップＳ７０３）。このとき、調整部１２は、スケジュール情報９０Ｄを参照し、優先度情報に基づき、抽出リスト内の該当スケジュールＬａを優先度の高い順にソートする。なお、調整部１２は、該当スケジュールＬａが複数存在する場合、上記ソート処理を行う。
【０１６８】
調整部１２は、抽出リストを参照し、空き時間の該当スケジュールＬａのスケジュール調整を行う（ステップＳ７０４：スケジュール調整処理＃１）。ここで行うスケジュール調整処理は、図１０に示す処理である。つまり、優先度順にソートされた該当スケジュールＬａを調整対象スケジュールとする処理を行う。
【０１６９】
このような処理により、調整部１２は、実施予定リストＵＳＤ内の空き時間に対して、スケジュール構成を再構成し、利用者の実施予定を最適化する。
【０１７０】
《スケジュール調整処理＃３》
図１６は、本実施形態に係るスケジュール調整の処理手順例（その３）を示すフローチャートである。図１６に示す処理は、調整部１２により、実施期間延長によるスケジュールの削除により発生した空き時間に対し、スケジュールの優先度及び実施条件に基づき、実施予定リストＵＳＤ内のスケジュール構成を再構成し、調整後の実施予定リストＵＳＤを生成する。
【０１７１】
図１６に示すように、調整部１２は、利用者の実施予定リストＵＳＤから、実施不可能なスケジュール（実施中のスケジュールと実施期間（開始日時）が重複するスケジュール）に該当するスケジュールＬｂ（該当スケジュール）を抽出する（ステップＳ８０１）。このとき、調整部１２は、スケジュール情報保持部９０にアクセスし、スケジュール情報９０Ｄを参照し、実施期間情報に基づき、実施中のスケジュールと実施予定スケジュールとの重複を判定する。なお、実施中のスケジュールの特定は、スケジュール情報９０Ｄの［状態］項目の値（以下「実施状態情報」という）に基づき行えばよい。その結果、１又は複数の該当スケジュールＬｂを含む抽出リストが生成される。なおこのとき、該当スケジュールＬｂが存在しなければ、空の抽出リストが生成される。
【０１７２】
調整部１２は、抽出リストを参照し、該当スケジュールＬｂが存在するか否かを判定する（ステップＳ８０２）。
【０１７３】
調整部１２は、該当スケジュールＬａが存在する場合（ステップＳ８０２：ＹＥＳ）、該当スケジュールＬｂを実施予定リストＵＳＤから削除する（ステップＳ８０３）。
【０１７４】
調整部１２は、削除による空き時間に対するスケジュール調整を行う（ステップＳ８０４：スケジュール調整処理＃２）。ここで行うスケジュール調整処理は、図１５に示す処理である。つまり、空き時間の該当スケジュールＬｂを調整対象スケジュールとする処理を行う。
【０１７５】
ここで、上記スケジュール調整時の動作を、実施予定リストＵＳＤのデータを例に説明する。
【０１７６】
《調整例》
（１）：編集操作実行時
（１−１）：実施予定スケジュール新規登録時
図１７は、本実施形態に係るスケジュール登録時の調整動作例を示す図である。
図１７に示す実施予定リストＵＳＤは、図１０に示すステップＳ４０１，Ｓ４０２（重複判定処理：ＹＥＳ），Ｓ４０３，Ｓ４０４（優先度判定処理：ＹＥＳ），Ｓ４０５，Ｓ４０６（実施決定判定処理：ＹＥＳ），Ｓ４０７，Ｓ４０８（実施決定判定処理：ＹＥＳ），Ｓ４０９（重複判定処理：ＹＥＳ），Ｓ４１０，Ｓ４１１の処理（スケジュール調整処理＃１）が行われた際のデータ例（処理結果）にあたる。
【０１７７】
図１７（Ａ）に示すように、図１０に示すスケジュール調整処理では、スケジュールＳｘ［ミーティングＺ］の新規登録を受けて、実施予定リストＵＳＤから、スケジュールＳｘと実施期間が重複する重複スケジュールＬｘ［ミーティングＣ，Ｄ］を抽出する。
【０１７８】
図１７（Ｂ）に示すように、その後、スケジュール調整処理では、重複スケジュールＬｘより、スケジュールＳｘの優先度が高い場合［Ｚ（高）＞Ｃ，Ｄ（低）］、スケジュールＳｘと該スケジュールＳｘの前後で実施が予定されるスケジュールＳｙ，Ｓｚ［ミーティングＢ，Ｇ］との間の移動時間Ｍｙｘ，Ｍｘｚを算出する。
【０１７９】
その結果、スケジュール調整処理では、移動時間Ｍｙｘ，Ｍｘｚを加算したスケジュールＳｘの実施期間が、スケジュールＳｙ，Ｓｚの実施期間と重複しない場合、スケジュールＳｘを実施スケジュールに決定し、実施予定リストＵＳＤに追加する。なおこのとき、重複スケジュールＬｘ（対応する移動予定を含む）は、実施予定リストＵＳＤから削除される。
【０１８０】
図１８は、本実施形態に係るスケジュール登録による空き時間を考慮した調整動作例を示す図である。
図１８に示す実施予定リストＵＳＤは、図１０に示すステップＳ４１２の処理、具体的には、図１５に示す処理（スケジュール調整処理処理＃２）が行われた際のデータ例（処理結果）にあたる。
【０１８１】
図１８に示すように、実施予定リストＵＳＤ内には、重複スケジュールＬｘの削除により、空き時間が発生する。なお、空き時間は、前後に移動予定があれば、その移動時間も含む。その理由は、次の通りである。
【０１８２】
例えば、実施予定リストＵＳＤ内の［ミーティングＺ］と［ミーティングＧ］のように、スケジュールＳｘと移動元又は移動先の実施予定スケジュール（前後で実施が予定されるスケジュール）との間に空き時間が発生する。このような位置に発生した空き時間に対するスケジュール調整を行った場合には、移動元又は移動先の実施予定スケジュールが変わることが考えられる。つまり、［ミーティングＺ］から［ミーティングＧ］への移動予定［移動（会議室Ｚ→Ｇ）］ではなくなることが想定される。そのため、本実施形態では、このような移動予定を空き時間に含め、調整対象とする。
【０１８３】
そこで、図１５に示すスケジュール調整処理では、全予定リストＡＳＤから、空き時間に実施期間が該当する該当スケジュールＬａ［ミーティングＥ，Ｆ，Ｈ］を抽出する。
【０１８４】
図１９は、本実施形態に係るスケジュール登録に応じて調整された実施予定リスト例を示す図である。
図１９に示す実施予定リストＵＳＤは、図１５に示すステップＳ７０４の処理、具体的には、図１０に示す処理（スケジュール調整処理＃１）が行われた際のデータ例（処理結果）にあたる。
【０１８５】
図１０に示すスケジュール調整処理では、該当スケジュールＬａの各スケジュールを調整対象スケジュールとし、前後の実施予定スケジュールとの優先度比較や移動時間を考慮した重複判定を行う。
【０１８６】
その結果、スケジュール調整処理では、図１９に示すように、優先度が高く、移動時間を加算した実施期間が、前後の実施予定スケジュールの実施期間と重複しない該当スケジュールＬａ［ミーティングＦ］を実施スケジュールに決定し、実施予定リストＵＳＤに追加する。なおこのとき、実施予定リストＵＳＤには、対応する移動予定も追加される。
【０１８７】
（１−２）：実施予定スケジュール変更時
スケジュール変更の編集操作で、実施期間が短縮された場合には、図１５に示す空き時間に対する処理（スケジュール調整処理＃２）が行われる。よって、この場合の調整動作は、図１８，１９を用いて説明した動作となる。
【０１８８】
一方、実施期間が延長された場合には、図１６に示す実施不可能なスケジュールに対する処理（スケジュール調整処理＃３）が行われる。この場合の調整動作は、同様の（２）：スケジュール実施状況変化時の動作説明において、図２０〜２２を用いて後述する。
【０１８９】
（１−３）：実施予定スケジュール削除時
編集操作で、スケジュールが削除された場合には、図１５に示す空き時間に対する処理（スケジュール調整処理＃２）が行われる。よって、この場合の調整動作は、図１８，１９を用いて説明した動作となる。
【０１９０】
（２）：スケジュール実施状況変化時
（２−１）：実施期間短縮時
スケジュールの実施状況に応じて、実施期間が短縮された場合（スケジュールを遅く開始した場合や速く終了した場合）には、図１５に示す空き時間に対する処理（スケジュール調整処理＃２）が行われる。よって、この場合の調整動作は、図１８，１９を用いて説明した動作となる。
【０１９１】
（２−２）：実施期間延長時
図２０は、本実施形態に係るスケジュール実施状況に応じた調整動作例を示す図である。
図２０に示す実施予定リストＵＳＤは、図１６に示すステップＳ８０１，Ｓ８０２（該当判定処理：ＹＥＳ），Ｓ８０３の処理（スケジュール調整処理＃３）が行われた際のデータ例（処理結果）にあたる。
【０１９２】
図２０（Ａ）に示すように、図１６に示すスケジュール調整処理では、実施中のスケジュールＳｘ［ミーティングＺ］の終了時間が延長されたことを受けて、実施予定リストＵＳＤから、スケジュールＳｘと実施期間が重複し、実施不可能な該当スケジュールＬｂ［ミーティングＦ］を抽出する。
【０１９３】
図２０（Ｂ）に示すように、その後、スケジュール調整処理では、該当スケジュールＬｂが存在した場合、該スケジュールＬｂを実施予定リストＵＳＤから削除する。
【０１９４】
図２１は、本実施形態に係るスケジュール実施状況による空き時間を考慮した調整動作例を示す図である。
図２１に示す実施予定リストＵＳＤは、図１６に示すステップＳ８０３の処理、具体的には、図１５に示す処理（スケジュール調整処理＃２）が行われた際のデータ例（処理結果）にあたる。
【０１９５】
図２１に示すように、実施予定リストＵＳＤ内には、該当スケジュールＬｂの削除により、空き時間が発生する。
【０１９６】
そこで、図１５に示すスケジュール調整処理では、全予定リストＡＳＤから、空き時間に実施期間が該当する該当スケジュールＬａ［ミーティングＦ，Ｈ］を抽出する。
【０１９７】
図２２は、本実施形態に係るスケジュール実施状況に応じて調整された実施予定リスト例を示す図である。
図２２に示す実施予定リストＵＳＤは、図１５に示すステップＳ７０４の処理、具体的には、図１０に示す処理（スケジュール調整処理＃１）が行われた際のデータ例（処理結果）にあたる。
【０１９８】
図１０に示すスケジュール調整処理では、該当スケジュールＬａの各スケジュールを調整対象スケジュールとし、前後の実施予定スケジュールとの優先度比較や移動時間を考慮した重複判定を行う。
【０１９９】
その結果、スケジュール調整処理では、図２２に示すように、優先度が高く、移動時間を加算した実施期間が、前後の実施予定スケジュールの実施期間と重複しない該当スケジュールＬａ［ミーティングＨ］を実施スケジュールに決定し、実施予定リストＵＳＤに追加する。なおこのとき、実施予定リストＵＳＤには、対応する移動予定も追加される。
【０２００】
このように、本実施形態に係るスケジュール管理機能では、スケジュール内容の変更に応じて、利用者の実施予定が最適化された実施予定リストＵＳＤ（調整後の実施予定リスト）が生成される。
【０２０１】
＜まとめ＞
以上のように、本実施形態に係る情報処理装置１００によれば、スケジュールの編集操作の実行や実施状況の変化を検知すると、調整部１２により、利用者に関するスケジュールの実施を決定するための優先度、及び、スケジュールの実施条件に基づき、実施予定の登録スケジュールが時系列にリスト化された実施予定リストＵＳＤを再構成し、実施予定を最適化する。
【０２０２】
これによって、本実施形態に係る情報処理装置１００では、利用者に対して、最適なスケジュール（実施予定）を提案することができる。
【０２０３】
［変形例］
図２３は、本変形例に係るスケジュール管理の機能構成例を示す図である。
上記実施形態に係る機能構成との違いは、実績管理部１４を有する点である。
実績管理部１４は、スケジュールの実施状況に応じた利用者の作業実績を管理する機能部である。実績管理部１４は、スケジュール情報保持部９０にアクセスし、スケジュール情報９０Ｄを参照し、実施状態情報に基づき、スケジュールの実施状態を特定する。また、実績管理部１４は、特定した実施状態が'実施済み'であった場合、該当スケジュールのスケジュール情報９０Ｄを参照し、［分類］項目の値（以下「分類情報」という）に基づき、実施されたスケジュール（以下便宜上「実施済みスケジュール」という）の分類を特定する。
【０２０４】
その結果、実績管理部１４は、情報処理装置１００が、例えば、利用者の工数管理サービスを提供する外部サービス提供サーバ３００と連携している場合、該外部サービス提供サーバ３００に対し、実施済みスケジュールのスケジュール情報９０Ｄを送信し、実績に応じた工数記録の更新を要求する。その結果、外部サービス提供サーバ３００では、例えば、'営業'に分類される実施済みスケジュールのスケジュール情報９０Ｄが送信された場合、利用者の営業工数を更新する。
【０２０５】
なお、実績管理部１４と外部サービス提供サーバ３００と連携は、外部連携部２１を介して行われる。
【０２０６】
このように、本変形例に係るスケジュール管理機能では、スケジュールの実施状況に応じて、利用者の作業実績を記録できる。そのため、手作業では煩雑な工数管理などを自動化でき、利用者や管理者などの作業負荷が軽減される。
【０２０７】
ここまで、上記実施形態の説明を行ってきたが、上記実施形態に係る「スケジュール管理機能」は、図を用いて説明を行った各処理手順を、動作環境（プラットフォーム）にあったプログラミング言語でコード化したプログラムが、情報処理装置１００の演算装置（ＣＰＵ）により実行されることで実現される。
【０２０８】
上記プログラムは、コンピュータが読み取り可能な記録媒体１０３ａに格納することができる。これにより、例えば、上記プログラムは、記録媒体１０３ａに記憶させることで、ドライブ装置１０３を介して、情報処理装置１００にインストールすることができる。また、情報処理装置１００は、インタフェース装置１０７を備えていることから、電気通信回線を用いて上記プログラムをダウンロードし、インストールすることもできる。
【０２０９】
また、上記実施形態では、スケジュールの実施場所を示す実施場所情報を、ＧＰＳからの取得値や住所値を例に説明を行ったが、この限りでない。例えば、スケジュールの実施場所が、複数の固定施設の中から選択可能な場合には、固定施設にあたる施設名（○×ビル：会議室△）などの選択値であってもよい。よって、上記実施形態では、スケジュール管理の汎用的な利用環境を例に説明を行ったものである。
【０２１０】
最後に、上記実施形態に挙げた形状や構成に、その他の要素との組み合わせなど、ここで示した要件に、本発明が限定されるものではない。これらの点に関しては、本発明の主旨をそこなわない範囲で変更することが可能であり、その応用形態に応じて適切に定めることができる。
【符号の説明】
【０２１１】
１      スケジュール管理システム
１１    編集部
１２    調整部
１３    情報提供部
１４    実績管理部
２１    外部連携部（外部サービス接続制御部）
８０    利用者情報保持部（Ｄ：利用者情報）
９０    スケジュール情報保持部（Ｄ：スケジュール情報）
１００  情報処理装置（スケジュール管理サーバ）
１０１  入力装置
１０２  表示装置
１０３  ドライブ装置（ａ：記録媒体）
１０４  ＲＡＭ（揮発性の半導体メモリ）
１０５  ＲＯＭ（不揮発性の半導体メモリ）
１０６  ＣＰＵ（演算装置）
１０７  インタフェース装置（ＮＩＣ：Network I/F Card）
１０８  ＨＤＤ（不揮発性の記憶装置）
２００  情報端末
３００  外部サービス提供サーバ（情報処理装置）
Ｂ      バス
Ｉ      データ伝送路（ネットワーク）
【先行技術文献】
【特許文献】
【０２１２】
【特許文献１】特開平０５−１３４９８９号公報
【特許文献２】特開２００４−２９５７８９号公報
【図１】
0005796362.tif 000002
【図２】
0005796362.tif 000003
【図３】
0005796362.tif 000004
【図４】
0005796362.tif 000005
【図５】
0005796362.tif 000006
【図６】
0005796362.tif 000007
【図７】
0005796362.tif 000008
【図８】
0005796362.tif 000009
【図９】
0005796362.tif 000010
【図１０】
0005796362.tif 000011
【図１１】
0005796362.tif 000012
【図１２】
0005796362.tif 000013
【図１３】
0005796362.tif 000014
【図１４】
0005796362.tif 000015
【図１５】
0005796362.tif 000016
【図１６】
0005796362.tif 000017
【図１７】
0005796362.tif 000018
【図１８】
0005796362.tif 000019
【図１９】
0005796362.tif 000020
【図２０】
0005796362.tif 000021
【図２１】
0005796362.tif 000022
【図２２】
0005796362.tif 000023
【図２３】
0005796362.tif 000024