(57)【特許請求の範囲】
【請求項１】
所定の管理情報を格納して管理する管理部と、
送信メールおよび受信メールを格納して管理するメール管理部と、
前記管理部に格納されている前記管理情報の少なくとも一部を記載した通知メールを作成するメール作成部と、
前記通知メールをユーザ端末に送信し、前記通知メールに記載された前記管理情報に対する修正管理情報が記載された修正メールを受信する送受信部と、
前記修正メールに対応する前記通知メールを前記メール管理部から検索するメール検索部と、
前記修正メールに記載された修正管理情報と前記通知メールに記載された管理情報との差分を抽出する差分抽出部と、
前記差分抽出部の差分抽出結果に基づいて、前記管理部の対応する管理情報を修正する修正部と
を備えることを特徴とする情報処理装置。
【請求項２】
前記修正部は、
前記差分抽出部の差分抽出結果が前記管理部の対応する管理情報と整合するときに、前記対応する管理情報を修正する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記管理情報は、
スケジュール情報、会議室予約情報、ＴｏＤｏリストのいずれかである
ことを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記修正メールは、
前記通知メールに対する返信メール又は当該返信メールを引用したメールであり、
前記メール検索部は、
前記通知メールに対する返信メール又は当該返信メールを引用したメールに記載された前記通知メールのメッセージＩＤに基づいて、前記通知メールを検索する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項５】
前記メール作成部は、
前記差分抽出部の差分抽出結果が前記管理部の対応する前記管理情報と整合しないときに、前記通知メールに記載した管理情報及び前記対応する管理情報が整合しない旨を通知する返送メールを作成し、
前記送受信部は、
前記返送メールを前記ユーザ端末に送信する
ことを特徴とする請求項２に記載の情報処理装置。
【請求項６】
前記メール作成部は、
前記受信メールと前記対応するマスタスケジュールとが整合しない旨を通知するメールを作成する際に、前記管理部に格納されている最新の管理情報を記載する
ことを特徴とする請求項５に記載の情報処理装置。
【請求項７】
情報処理装置の制御方法であって、
管理部が、所定の管理情報を格納して管理する第１のステップと、
メール管理部が、送信メールおよび受信メールを格納して管理する第２のステップと、
メール作成部が、前記管理部に格納されている前記管理情報の少なくとも一部を記載した通知メールを作成する第３のステップと、
送受信部が、前記通知メールをユーザ端末に送信し、前記通知メールに記載された前記管理情報に対する修正管理情報が記載された修正メールを受信する第４のステップと、
メール検索部が、前記修正メールに対応する前記通知メールを前記メール管理部から検索する第５のステップと、
差分抽出部が、前記修正メールに記載された修正管理情報と前記通知メールに記載された管理情報との差分を抽出する第６のステップと、
修正部が、前記差分抽出部の差分抽出結果に基づいて、前記管理部の対応する管理情報を修正する第７のステップと
を備えることを特徴とする情報処理装置の制御方法。
【請求項８】
情報処理装置に対して、
管理部が、所定の管理情報を格納して管理する第１のステップと、
メール管理部が、送信メールおよび受信メールを格納して管理する第２のステップと、
メール作成部が、前記管理部に格納されている前記管理情報の少なくとも一部を記載した通知メールを作成する第３のステップと、
送受信部が、前記通知メールをユーザ端末に送信し、前記通知メールに記載された前記管理情報に対する修正管理情報が記載された修正メールを受信する第４のステップと、
メール検索部が、前記修正メールに対応する前記通知メールを前記メール管理部から検索する第５のステップと、
差分抽出部が、前記修正メールに記載された修正管理情報と前記通知メールに記載された管理情報との差分を抽出する第６のステップと、
修正部が、前記差分抽出部の差分抽出結果に基づいて、前記管理部の対応する管理情報を修正する第７のステップと
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及びその制御方法並びにプログラムに関し、特に、電子メールの送受信によりスケジュールや会議室の予約などの管理情報の参照・登録・修正が可能な情報処理装置及びその制御方法並びにプログラムに関する。
【背景技術】
【０００２】
電子メールの送受信によりスケジュールの参照・修正を行うことができるスケジュール管理装置（情報処理装置）が、従来から提案されている。このような従来のスケジュール管理装置の一例が、特許文献１及び特許文献２に記載されている。
【０００３】
特許文献１のスケジュール管理装置は、図２２に示すように、受信したメールが予め決められたスケジュール書式のメールか否かを解析するメール解析処理部９と、予め決められたスケジュール書式のメールに記載のスケジュールと既に登録されているスケジュールとを照合し、スケジュール登録部１２に登録するスケジュール管理処理部１１とを備えて構成されている。スケジュール管理処理部１１は、メールに記載されているスケジュールと、既に登録されているスケジュールの日時が重なるときに登録を拒否し、日時が重ならないときに登録を行う。
【０００４】
また、特許文献２のスケジュール管理装置は、メール情報ファイルに新規のメールが格納されたことに応じてそのメールを形態素解析し、スケジュール表現語を抽出する。そして、特許文献２のスケジュール管理装置は、スケジュールの作成に必要なスケジュール表現語が確定できない場合に、この未確定のスケジュール表現語を絶対表現に変換するために、メール情報ファイルから処理対象のメールの引用元メールを抽出し、抽出したメールから未確定のスケジュール表現語に対応する表現を抽出する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００３−０５８５１４号公報
【特許文献２】特開２００６−１１３９５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、例えば、特許文献１のスケジュール管理装置は、メールに記載されているスケジュールと、既に登録されているスケジュールの日時が重なるときに登録を拒否するため、既に登録済みのスケジュールに対して、開催場所だけ変更したい、といった一部修正を行うことができない。すなわち、従来のスケジュール管理装置は、ユーザの意図を的確に反映した修正を行うことができない。
【０００７】
また、特許文献１のスケジュール管理装置は、その後スケジュールを閲覧したときにユーザがスケジュールの修正を了承するか否かを選択することにより、スケジュールの修正を確定するが、ユーザがメールの送受信に加えてスケジュールの閲覧と確認操作を行わなければならないため、ユーザに負担を強いるものとなっており、操作が簡便であるとはいえないという問題がある。
【０００８】
一方、特許文献２のスケジュール管理装置は、スケジュールの変更や削除を求める内容のメールに対し、スケジュールの作成に必要なスケジュール表現語が確定できない場合に、そのメールの引用元メールを抽出するものであり、電子メールの送受信によりスケジュールの修正を的確かつ簡便に行うものではない。
【０００９】
本発明は以上の点を考慮してなされたものであり、ユーザの使い勝手を格段に向上させ得る情報処理装置及びその制御方法並びにプログラムを提案するものである。
【課題を解決するための手段】
【００１０】
かかる課題を解決するために本発明は、情報処理装置であって、所定の管理情報を格納して管理する管理部と、送信メールおよび受信メールを格納して管理するメール管理部と、前記管理部に格納されている前記管理情報の少なくとも一部を記載した通知メールを作成するメール作成部と、前記通知メールをユーザ端末に送信し、前記通知メールに記載された前記管理情報に対する修正管理情報が記載された修正メールを受信する送受信部と、前記修正メールに対応する前記通知メールを前記メール管理部から検索するメール検索部と、前記修正メールに記載された修正管理情報と前記通知メールに記載された管理情報との差分を抽出する差分抽出部と、前記差分抽出部の差分抽出結果に基づいて、前記管理部の対応する管理情報を修正する修正部とを備えることを特徴とする。
【００１１】
また、本発明は、情報処理装置の制御方法であって、管理部が、所定の管理情報を格納して管理する第１のステップと、メール管理部が、送信メールおよび受信メールを格納して管理する第２のステップと、メール作成部が、前記管理部に格納されている前記管理情報の少なくとも一部を記載した通知メールを作成する第３のステップと、送受信部が、前記通知メールをユーザ端末に送信し、前記通知メールに記載された前記管理情報に対する修正管理情報が記載された修正メールを受信する第４のステップと、メール検索部が、前記修正メールに対応する前記通知メールを前記メール管理部から検索する第５のステップと、差分抽出部が、前記修正メールに記載された修正管理情報と前記通知メールに記載された管理情報との差分を抽出する第６のステップと、修正部が、前記差分抽出部の差分抽出結果に基づいて、前記管理部の対応する管理情報を修正する第７のステップとを備えることを特徴とする。
【００１２】
さらに、本発明は、プログラムであって、情報処理装置に対して、管理部が、所定の管理情報を格納して管理する第１のステップと、メール管理部が、送信メールおよび受信メールを格納して管理する第２のステップと、メール作成部が、前記管理部に格納されている前記管理情報の少なくとも一部を記載した通知メールを作成する第３のステップと、
送受信部が、前記通知メールをユーザ端末に送信し、前記通知メールに記載された前記管理情報に対する修正管理情報が記載された修正メールを受信する第４のステップと、
メール検索部が、前記修正メールに対応する前記通知メールを前記メール管理部から検索する第５のステップと、差分抽出部が、前記修正メールに記載された修正管理情報と前記通知メールに記載された管理情報との差分を抽出する第６のステップと、修正部が、前記差分抽出部の差分抽出結果に基づいて、前記管理部の対応する管理情報を修正する第７のステップとを実行させる。
【００１３】
従って、メールの送受信により管理情報の修正を的確かつ簡便に行うことができる。
【発明の効果】
【００１４】
本発明によれば、ユーザの使い勝手を格段に向上させ得る情報処理装置及びその制御方法並びにプログラムを実現することができる。
【図面の簡単な説明】
【００１５】
【図１】本実施形態のスケジュール管理装置の機能的構成を示すブロック図である。
【図２】スケジュール管理装置のハードウェア構成を示す図である。
【図３】スケジュール管理装置の動作を示すフローチャートである。
【図４】スケジュール管理装置の動作を示すフローチャートである。
【図５】スケジュール管理部の内容の一例を示す図である。
【図６】スケジュール通知メールの一例を示す図である。
【図７】ユーザによる修正指示メールの一例を示す図である。
【図８】差分抽出部のアウトプットの一例を示す図である。
【図９】スケジュール管理部の内容の一例を示す図である。
【図１０】ユーザによる修正指示メールの一例を示す図である。
【図１１】差分抽出部のアウトプットの一例を示す図である。
【図１２】スケジュール管理部の内容の一例を示す図である。
【図１３】従来技術により更新されたスケジュール管理部の内容の一例を示す図である。
【図１４】ユーザによる修正指示メールの一例を示す図である。
【図１５】ユーザによる修正指示メールの一例を示す図である。
【図１６】差分抽出部のアウトプットの一例を示す図である。
【図１７】差分抽出部のアウトプットの一例を示す図である。
【図１８】スケジュール管理部の内容の一例を示す図である。
【図１９】スケジュール管理部の内容の一例を示す図である。
【図２０】修正指示メールの内容とマスタスケジュールが整合しないことをユーザに通知するメールの一例である。
【図２１】本発明を会議室予約システムに適用した場合のスケジュール管理部の内容の一例を示す図である。
【図２２】従来技術によるスケジュール管理装置の構成を示す図である。
【発明を実施するための形態】
【００１６】
以下、本発明の一実施の形態を、図面を参照して詳細に説明する。
【００１７】
図１は、本実施形態のスケジュール管理装置１の機能的構成を示している。図１を参照すると、本実施形態のスケジュール管理装置１は、マスタスケジュール（管理情報）を格納して管理するスケジュール管理部２（管理部）と、マスタスケジュールに関する発信メール及び受信メールを格納して管理するメール管理部３（メール管理部、メール検索部）と、スケジュール管理部２に格納されたマスタスケジュールに基づいてスケジュール通知メールを作成するメール作成部４と、スケジュール管理部２に対してマスタスケジュールの登録・修正を行うスケジュール登録部５（修正部）と、スケジュール通知メールに記述されたスケジュール情報の差分を計算する差分抽出部６と、スケジュール管理装置１全体を統括的に制御する制御部７と、外部とのメールの送受信を制御する通信制御部８（送受信部）とを有して構成されている。
【００１８】
図２は、本実施形態のスケジュール管理装置１のハードウェア構成を示している。図２を参照すると、スケジュール管理装置１は、入力装置１２と、プログラム制御により動作する中央処理装置（ＣＰＵ）１３と、ランダムアクセスメモリ（ＲＡＭ）１４と、ハードディスク１５と、出力装置１６と、通信制御装置１７とを有して構成されている。
【００１９】
ハードディスク１５には、スケジュール情報を格納するスケジュールデータベース２１１と、送受信したメールを格納するメールデータベース２２と、プログラムファイル２３が格納されている。プログラムファイル２３は、ランダムアクセスメモリ１４に読み込まれ、中央処理装置１３の動作を制御する。入力装置１２は、キーボード等の入力装置であり、出力装置１６は、ディスプレイ端末等の出力装置である。通信制御装置１７は、有線ＬＡＮアダプタや無線ＬＡＮアダプタ等のネットワークアダプタであり、ＬＡＮ／ＷＡＮを経由して通信を行う機能を有する。
【００２０】
スケジュール管理プログラム３７は、スケジュール管理プログラム３１、メール管理プログラム３２、メール作成プログラム３３、スケジュール登録プログラム３４、差分抽出プログラム３５および全体制御プログラム３６を有している。中央処理装置１３は、全体制御プログラム３６を実行することにより、スケジュール管理プログラム３１、メール管理プログラム３２、メール作成プログラム３３、スケジュール登録プログラム３４および差分抽出プログラム３５の各サブプログラムをコントロールして動作させるように構成されている。
【００２１】
スケジュール管理プログラム３１は、ハードディスク１５上のスケジュールデータベース２１を制御してスケジュール情報を格納・管理する。メール管理プログラム３２は、メールデータベース４２を制御してメールを格納・管理する。メール作成プログラム３３は、スケジュール情報を記載したメールを作成し送信する。差分抽出プログラム３５は、メールに記載されたスケジュール情報同士の差分を抽出する。スケジュール登録プログラム３４は、差分抽出プログラム３５が出力するスケジュールの差分情報を参照して、これと整合するように、スケジュールデータベース４１に格納されたスケジュール情報を更新する。なお、スケジュール管理プログラム３１、メール管理プログラム３２、メール作成プログラム３３、スケジュール登録プログラム３４および差分抽出プログラム３５は、中央処理装置１３により実行される。
【００２２】
スケジュール管理プログラム３１は、中央処理装置１３にスケジュール管理部２に対応する処理を実行させるコンピュータプログラムである。メール管理プログラム３２は、中央処理装置１３にメール管理部３に対応する処理を実行させるコンピュータプログラムである。メール作成プログラム３３は、中央処理装置１３にメール作成部４に対応する処理を実行させるコンピュータプログラムである。スケジュール登録プログラム３４は、中央処理装置１３にスケジュール登録部５に対応する処理を実行させるコンピュータプログラムである。差分抽出プログラム３５は、中央処理装置１３に差分抽出部６に対応する処理を実行させるコンピュータプログラムである。全体制御プログラム３６は、中央処理装置１３に制御部７に対応する処理を実行させるコンピュータプログラムである。
【００２３】
次に、本実施形態のスケジュール管理装置１の動作について、図３のフローチャートを参照して説明する。
【００２４】
本実施形態のスケジュール管理装置１は、毎日指定時刻に、登録されているマスタスケジュールの内容をメールとしてユーザ（ユーザの情報処理装置など）に送信する機能を有する。また、本実施形態のスケジュール管理装置１は、マスタスケジュールの修正を指示するメールをユーザ（ユーザの情報処理装置など）から受信したときに、そのメールの内容に応じてスケジュール管理部２に格納されているマスタスケジュールを修正する機能を有する。
【００２５】
これらの機能を実現するために、スケジュール管理装置１の制御部７は、起動されると、現在の時刻が、予め指定されたスケジュール通知メールの送信時刻になったか否かを判定する（ステップＳ１）。
【００２６】
送信時刻になった場合（ステップＳ１：ＹＥＳ）、スケジュール管理装置１の制御部７は、メール作成部４によって、スケジュール管理部２に格納された最新のマスタスケジュールに基づいてスケジュール通知メールを作成し、ユーザに送信する（ステップＳ２）。送信が終わると、スケジュール管理装置１の制御部７は、当該スケジュール通知メールをメール管理部３に格納し、再びステップＳ１に戻る。一方、送信時刻になっていない場合（ステップＳ１：ＮＯ）、スケジュール管理装置１の制御部７は、通信制御部８によって、スケジュール修正に関するメールが到着したか否かをチェックする（ステップＳ３）。
【００２７】
メールが到着した場合（ステップＳ３：ＹＥＳ）、スケジュール管理装置１の制御部７は、メール管理部３によって、受信したメールの処理を行う（ステップＳ４）。このステップＳ４では受信メールの内容に応じたスケジュール修正処理が行われるが、その処理の詳細については後述する。一方、メールが到着していない場合（ステップＳ４：ＮＯ）、スケジュール管理装置１の制御部７は、装置全体の電源オフ（ＯＦＦ）など、終了を指示されたか否かを判定する（ステップＳ５）。
【００２８】
終了を指示されていない場合（ステップＳ５：ＮＯ）、スケジュール管理装置１の制御部７は、再びステップＳ１に戻る。すなわち、スケジュール管理装置１の制御部７は、終了を指示されるまで、ステップＳ２及びステップＳ４の２つのイベント待ちのループを繰り返す。一方、終了を指示された場合（ステップＳ５：ＹＥＳ）、スケジュール管理装置１の制御部７は、動作を終了する。
【００２９】
次に、受信メールの処理（ステップＳ４）の詳細について、図４のフローチャートを参照して説明する。
【００３０】
まず、スケジュール管理装置１の制御部７は、受信したメールが修正メール（スケジュール通知メールに対するリプライメール（返信メール）又はリプライメールを引用した転送メールに基づくメール（後述））であるか否かをチェックする（ステップＳ１１）。そして、スケジュール管理装置１の制御部７は、受信したメールが修正メールである場合（ステップＳ１１：ＹＥＳ）、修正メールをメール管理部３に格納する（ステップＳ１２）。次に、スケジュール管理装置１の制御部７は、メール管理部３によって、当該メール管理部３に保管されているメールの中から、修正メールの返信元となったスケジュール通知メールを検索する（ステップＳ１３）。通常、リプライ（返信）や転送に基づくメール送信等をする際の元になったスケジュール通知メールのメッセージＩＤ（後述）は修正メールのヘッダ中に記録されているため、メール管理部３は、当該メッセージＩＤを手がかりとしてスケジュール通知メールを検索することができる。
【００３１】
次に、スケジュール管理装置１の制御部７は、差分抽出部６によって、修正メールに記述されたスケジュール情報と、その返信元となったスケジュール通知メールのスケジュール情報との差分を計算する（ステップＳ１４）。当該差分は、修正メールを作成したユーザが変更したいと思っている内容となる。次に、スケジュール管理装置１の制御部７は、スケジュール登録部５によって、当該差分と、スケジュール管理部２に格納されているマスタスケジュールとが整合するか否かをチェックする（ステップＳ１５）。
【００３２】
整合している場合（ステップＳ１５：ＹＥＳ）、スケジュール管理装置１の制御部７は、スケジュール登録部５によって、計算したスケジュールの差分をスケジュール管理部２の対応するマスタスケジュールに反映し（修正し）（ステップＳ１６）、その後、「受信メールの処理」を終了する。一方、整合していない場合（ステップＳ１５：ＮＯ）、スケジュール管理装置１の制御部７は、スケジュール登録部５によって、スケジュールの修正に失敗した旨の連絡メールを当該ユーザに向けて発信し（ステップＳ１７）、その後、「受信メールの処理」を終了する。
【００３３】
以上の動作をユーザの視点からみると、まず、ユーザは、毎日決まった時刻に最新のスケジュール情報をメールで受け取ることができる。これは、ステップＳ２の処理の結果である。次に、ユーザは、送信されてきたスケジュール通知メールを参照し、スケジュールを修正したいと考えたときに、最新のスケジュール通知メールにリプライや転送に基づくメール送信等することにより、修正したスケジュール情報をリプライメールや転送に基づくメール等に含めてスケジュール管理装置１に返信する。
【００３４】
当該リプライメールや転送に基づくメール等をスケジュール管理装置１が受信すると、元になったスケジュール通知メールとの差分が計算され（ステップＳ１４）、ユーザが修正したい部分がどこかが的確に判定される。当該差分がスケジュール管理部２に格納されたマスタスケジュールと整合する場合、修正結果がマスタスケジュールに反映される（ステップＳ１６）。また、整合しない場合、その旨がメールで連絡される（ステップＳ１７）。
【００３５】
すなわち、本実施形態では、ステップＳ１４において、ユーザがスケジュール修正の際に使用した元メールであるスケジュール通知メールの記載内容と、スケジュール修正後の修正メールの記載内容との差分が抽出される。ユーザが修正を意図しているのは、差分の部分だけであり、差分以外の元メールの記載内容から変更のない部分は、たとえスケジュール管理部２の最新のマスタスケジュールと異なっていても、修正の意図はないはずであり、この場合はスケジュール管理部２内のマスタスケジュールを修正する必要はない。
【００３６】
一方、スケジュール修正後の修正メールの記載内容がスケジュール管理部２に格納されている最新のマスタスケジュールと一致していても、スケジュール通知メールの記載内容が最新のマスタスケジュールと異なっている場合は、ユーザが最新ではないスケジュール情報に基づいて修正内容を判断した可能性があるため、無条件にマスタスケジュールに反映するのは危険である。この場合は、ユーザに最新のスケジュールを送信して再確認を求めるなどすることにより、より的確なスケジュール修正を促すことができる。
【００３７】
このように、スケジュール管理装置１では、修正メールが基準としたスケジュール通知メールに記載されたスケジュール情報と修正メールに記載された修正後のスケジュール情報との差分をとることにより修正の必要性を判断しているので、ユーザ修正後の修正メールを確認しただけでは判断できないようなユーザの修正意図をも的確に捉えたスケジュール修正を行うことができる。
【００３８】
なお、差分の計算には様々な方法があるが、本実施形態では、例えば、Unix（登録商標）のdiffコマンドによる行単位の比較を利用することができる。一般には、行を単位とする差分が得られる計算方法であれば、どのようなアルゴリズムを採用してもよい。
【００３９】
また、本実施形態では、ユーザがスケジュールの参照及び修正をメールベースで簡便に行うことができる。特に、差分抽出部６がユーザの修正意図を的確に汲み取ってマスタスケジュールに反映するため、メールベースの簡便なインタフェースにもかかわらず、スケジュール修正がユーザの意図を正確に反映して的確に行うことができる。
【００４０】
次に、具体例を用いて、本実施形態の動作を詳細に説明する。この例では、毎日午前３時にスケジュール管理装置１がスケジュール通知メールを発信する設定になっている。
【００４１】
図５は、スケジュール管理部２に格納されている、あるユーザの直近の最新のマスタスケジュールの例を示す図である。このマスタスケジュールの内容は、例えば、２００９年７月１６日午前３時ちょうどに、スケジュール管理部２に格納されているものであり、６件のマスタスケジュールが登録されている。具体的には、１６日当日の打ち合わせと来客対応のスケジュールが３件（ＩＤ１〜ＩＤ３）、翌実動日１７日の休暇予定が１件（ＩＤ４）、７月２１日の打ち合わせが１件（ＩＤ５）、２２日の出張予定が１件(ＩＤ６）が登録されている。
【００４２】
図６は、図５のスケジュールの内容に基づいて、７月１６日の午前３時にスケジュール管理装置１のメール作成部４により作成され、通信制御部８から発信されたスケジュール通知メールを示す図である。個々のスケジュールは、１行１アイテムで、定型のフォーマットに従ったテキスト文字列としてスケジュール通知メールに記入される。この例では、日付、時間、場所、内容が、それぞれタブ文字で分離され、１行の文字列となってスケジュール通知メールの本文中に記入される。
【００４３】
また、送信当日を含めて３日先の予定までが、スケジュール通知メールに記入されており、具体的には、１７日の休暇予定までの４件が、４行でメール本文に記入される。また、サブジェクト（Subject）には、発信日を含む文字列が自動生成され、挿入される。メッセージＩＤ（Message-Id）には、メールをグローバルに一意に識別するＩＤであり、発信日、発信時刻、送信者、送信ドメインと乱数を用いて全てのメールにユニークな番号が、メーラにより自動的に付与される（以後、このメールをメール１と呼ぶ）。
【００４４】
（１）実施例１
図７は、図６のメール１を受信したユーザ１が、スケジュールを一部修正しようとして、同日（７月１６日）の朝９時ちょうどにスケジュール管理装置１を送り先として返信したメール（以後、このメールをメール２と呼ぶ）の内容を示す図である。ユーザ１は、スケジュールの１行目、同日の１０時〜１１時の予定で１０１号室にて技術会議を行うという予定を、１０時〜１２時に１０２号室で技術会議を行うという予定に修正している。その他のスケジュール（第２行目〜第４行目）は、変更する意図はなく、当初のままである。
【００４５】
メール２のメールヘッダのレファレンス（References）には、メール１のメッセージＩＤが記載されており、メール１がメール２の返信元になっていることが明示されている。このようなレファレンスの記載は、ユーザがメーラのリプライ機能や転送機能等に基づいてメールを作成した場合、通常、該メーラによって自動的に付与される。
【００４６】
スケジュール管理装置１の制御部７は、メール２を受信すると、ステップＳ４の「受信メールの処理」を開始する。まず、スケジュール管理装置１の制御部７は、ステップＳ１１において、受信したメールが修正メールであるか否かをチェックし、ステップＳ１２において、受信したメール２をメール管理部３に格納する。次に、スケジュール管理装置１の制御部７は、メール管理部３によって、ステップＳ１３において、メール２の返信元となったスケジュール通知メールを検索する。メール２には返信元メールのメッセージＩＤである2009071603000012345@mail.xxx.yyy.co.jpがヘッダ中に格納されているので、スケジュール管理装置１の制御部７は、当該メッセージＩＤを手がかりとしてメール管理部３を検索することにより、該当するメール１を探し出すことができる。
【００４７】
ここで、メール管理部３には、メールが、メッセージＩＤをキーとしてメールが検索できるように、メッセージＩＤをインデックスに含めてメールが格納されている。ただし、メッセージＩＤをキーにしてメールが検索することができれば、具体的な格納方法はどのような方法でも良い。例えば、単に全てのメールをプレーンテキスト（Plane text）で格納して、メッセージＩＤをキーにした検索の際には、メッセージＩＤの文字列で全文検索をかけるように実施しても良い。
【００４８】
次に、スケジュール管理装置１の制御部７は、差分抽出部６によって、ステップＳ１３において、メール１の本文に記載されたスケジュール情報と、メール２の本文に記載されたスケジュール情報との差分を抽出する。
【００４９】
図８は、メール１とメール２の差分抽出結果を示している。先頭に「del)」と記載された行にあるのは、メール１に記載された古いスケジュール（１０時〜１１時に１０１号室で技術会議を開催）であり、先頭に「add)」と記載された行にあるのは、メール２に記載された新しい（ユーザ１による修正後の）スケジュールである。
【００５０】
次に、スケジュール管理装置１の制御部７は、スケジュール登録部５によって、この差分抽出結果に基づいてスケジュール管理部２のマスタスケジュールのアップデートを行う。スケジュール登録部５が処理対象とするのは、この差分抽出結果だけであり、メール２の本文に記載されていても、差分抽出結果に記載されていないスケジュールは、スケジュール管理部２が格納しているマスタスケジュールへの反映対象とならない。言い換えれば、ユーザがメール２を作成するときに変更しなかった部分は、スケジュール登録部５によるマスタスケジュールへの修正点として反映されることはない。このように、差分抽出部６による差分抽出処理により、ユーザ２の修正意図を的確に判定することができる。
【００５１】
次に、スケジュール管理装置１の制御部７は、スケジュール登録部５によって、抽出された差分抽出結果とマスタスケジュールとが整合するかチェックする（ステップＳ１５）。具体的に、スケジュール管理装置１の制御部７は、「del)」と記載された行と内容が一致する行がマスタスケジュール側に存在するかどうかをチェックする。
【００５２】
存在しない場合（ステップＳ１５：ＮＯ）、スケジュール管理装置１の制御部７は、ユーザが既に削除されたマスタスケジュールを参照してその変更を試みたことになると認識し、差分抽出結果とマスタスケジュールとが整合していないと判断する。一方、存在する場合（ステップＳ１４：ＹＥＳ）、スケジュール管理装置１の制御部７は、ユーザがマスタスケジュールに対する変更を試みて修正していると認識し、差分抽出結果とマスタスケジュールとが整合していると判断する。
【００５３】
実施例１では、ステップＳ１５の時点におけるマスタスケジュールの内容は図５に記載された通りであり、図８でdel)と記載されたのと同じ行がスケジュールＩＤ１に存在するため、整合していると判断され、ステップＳ１６において、マスタスケジュールのアップデートが行われる。具体的には、この例では、スケジュール管理装置１の制御部７は、スケジュール登録部５によって、図８のdel)の行を削除し、add)の行をマスタスケジュールに追加する。この結果、メール２の送信直後（７月１６日９時過ぎ）に、スケジュール管理装置１上のマスタスケジュールがメール２を反映して修正され、図９に示す内容に変更される。これにより、マスタスケジュールは、ユーザ２がメール２を作成した当初想定していた修正内容と一致し、ユーザの意図を的確に反映した修正結果となる。
【００５４】
（２）実施例２
次に、この状態で、別のユーザ（ユーザ２）が、１３時〜１５時に設定されていた販売戦略会議の場所を、１０２号室から２０３号室に変更したいという意図で、図１０に示すメール（メール３）をスケジュール管理装置１に送信したとする。ユーザ２は、メール１に対するリプライや転送に基づくメール送信等としてメーラのリプライ機能や転送機能等を用いて、該当する部分（１３時〜１５時の予定）のみを修正して図１０のメール３を作成し、スケジュール管理装置１に返信する。図１１は、メール３の返信元となったメール１と、ユーザ２により送信されたメール３を差分抽出部６により抽出した差分抽出結果である。実施例２では、ステップＳ１５の時点におけるマスタスケジュールの内容は図９に記載されたとおりであり、図１１でdel)と記載されたのと同じ行がスケジュールＩＤ２に存在するため、整合していると判断され、ステップＳ１６において、マスタスケジュールのアップデートが行われ、結果として図１２に示す状態が得られる。
【００５５】
ここで、メール２による更新はスケジュールのＩＤ１（技術会議）のみに関わるものであり、メール３による更新はスケジュールのＩＤ２（販売戦略会議）のみに関わるものであるため、メール２を受信して計算した差分と、メール３を受信して計算した差分は、独立である。従って、スケジュール管理装置１は、図５の状態に、２つの差分抽出結果をどのような順序で適用しても、同じ図１２の状態が得られるため、メール２によるスケジュール修正と、メール３によるスケジュール修正との両方のスケジュール更新を矛盾なく実行することができる。
【００５６】
一方、特許文献１に示す従来技術による場合、スケジュール管理部２が図９に示す状態にあるとき、メール３を送信すると、同一時間帯に異なる予定が入っているため、衝突があると判断され、スケジュール管理部２のマスタスケジュールは修正されないこととなる。この場合、別途ユーザがスケジュール管理装置１に直接アクセスして、ＧＵＩ（Graphical User Interface）による操作によりスケジュール修正を実施することは可能だが、メールベースでの簡便な修正は行えないこととなる。
【００５７】
次に、このメール３を例に、修正後のメールと、返信元となったメールの差分をとることでユーザの意図を的確に判断したスケジュール修正することができる原理を詳細に説明する。例えば、メール３には、１０時〜１１時に１０１号室で技術会議を行う旨のスケジュールがある。
【００５８】
一方、メール３によるスケジュール修正を適用する時点で、図９に示すように、スケジュール管理部２のマスタスケジュールにはこれと異なる内容（メール２により修正された新しいスケジュール）が格納されている。メール３の本文の１行目「２００９年７月１６日  １０時〜１１時  １０１号室  技術会議」という記述も、２行目「２００９年７月１６日  １３時〜１５時  ２０３号室  販売戦略会議」という記述も、スケジュール管理部２のマスタスケジュールとは異なる内容である。
【００５９】
しかし、メール３の文面だけからは、これが現在のマスタスケジュールに対する修正要求なのか、単に修正時に参照したスケジュールの一部がそのまま残っているだけなのかは判断できない。
【００６０】
この場合、メール３の内容をマスタスケジュールと比較しても、メール３の本文の１行目はマスタスケジュールに反映すべきではなく、２行目だけを反映すべきである旨を正しく判断することは困難である。メール３の１行目、２行目の両方をマスタスケジュールに対する修正として反映させれば、ユーザ１がメール２により修正した技術会議の予定が、図１３に示すように、ユーザの意図に反して修正前に戻ることとなる。一方、両方ともマスタスケジュールに反映しなければ、ユーザ２が意図した２行目の修正がマスタスケジュールに反映されない。このように、返信元との差分情報がなければ、このようなケースにおいてユーザの修正意図を的確に判断することは困難である。
【００６１】
本実施形態のスケジュール管理装置１の制御部７は、差分抽出部６によって、返信元となったメールの記述内容と、返信メールの修正後の記述内容との差分をとることにより、例えばメール３の記述内容のうち、ユーザが修正を意図しているのは、差分が発生している２行目の「２００９年７月１６日  １３時〜１５時  ２０３号室  販売戦略会議」だけであり、１行目の「２００９年７月１６日  １０時〜１１時  １０１号室  技術会議」のほうは差分が発生しないため修正を意図していない、というユーザの意図を的確に判断することができる。
【００６２】
こうして、スケジュール管理装置１の制御部７は、ユーザの意図を正しく反映して、２行目の内容のみスケジュール管理部２中のマスタスケジュールの修正として取り込むことができる。すなわち、本実施形態のスケジュール管理装置１は、メール３がメール１を元に作成されたという情報を利用して、この２つのメールの差分をとることにより、ユーザにより変更されていないスケジュールのＩＤ１が、たとえ適用時点のマスタスケジュールと異なる内容になっていても、これを反映してマスタスケジュールを更新する必要はない、と的確に判断できる。
【００６３】
このようにして、本実施形態によれば、差分抽出部６によって、返信元となったスケジュール通知メールの記述内容と、修正メールの修正後の記述内容との差分をとることで、ユーザの修正意図を的確に判断することができるため、メールベースであってもスケジュールの修正が的確に行うことができる。ユーザにとっては、スケジュール管理装置１にアクセスしなくても、スケジュール通知メールを引用し、修正点のみ編集して修正メールを送信するだけで、スケジュール管理装置１のマスタスケジュールを修正できるため、スケジュール修正が容易に行うことができる。
【００６４】
なお、ユーザによる修正内容によっては、差分のうちdel)もしくはadd)のどちらかが存在しないこともありうる。del)が存在しない場合は、ユーザがオリジナルのメールの記載内容から何も削除せずに、単純にスケジュールを追加したことを意味する。この場合は、整合チェックを行うべきdel)の行が存在しないので、差分抽出結果とマスタスケジュールとの整合は常に確保されており、単純にマスタスケジュールに追加される。また、add)が存在しない場合は、ユーザがオリジナルのメールから削除のみを行ったことを意味する。この場合は、差分抽出結果とマスタスケジュールとの整合をチェックした後、該当するマスタスケジュールを削除する処理を行う。
【００６５】
（３）実施例３
リプライ操作や転送操作等の元となったスケジュール通知メールの違いによる結果の違いについて、以下具体的に説明する。図１４は、メール１にリプライ操作や転送操作等をして返信したメール（以後メール４と呼ぶ）である。図１５は、メール２にリプライ操作や転送操作等をして返信したメール（以後メール５と呼ぶ）である。メール４及びメール５は、全く総一の文面を有し、いずれも、元のスケジュール通知メールに対してスケジュールＩＤ１のみに変更が行われている。ユーザからの送信は、いずれも９時３２分であり、図１２に示す状態にあるマスタスケジュールに対して修正を指示するものである。
【００６６】
図１６は、メール４に対する差分抽出部６により抽出された差分抽出結果であり、図１７は、メール５に対する差分抽出部６により抽出された差分抽出結果である。メール４とメール５は、返信元（リプライ操作や転送操作等の元）のスケジュール通知メールが異なるので、それに応じてdel)に記述される内容が異なっている。
【００６７】
メール４は、スケジュール管理装置１に送信されても、メール１との差分抽出結果をスケジュール管理部２に適用しようとした際に、マスタスケジュールとの間に不整合が検出される。これは、マスタスケジュールがメール２により更新された結果、メール４と元メールであるメール１とマスタスケジュールとが一致しなくなったためである。このため、メール４で指示された修正はマスタスケジュールに適用されず、スケジュール管理部２のマスタスケジュールは、図１８に示すように図１２の状態そのままとなる。
【００６８】
図２０は、メール４を送信した後に、ユーザに返送された返送メールの例である。当該返送メールは、差分抽出部６により抽出された差分抽出結果が最新のマスタスケジュールと整合しなかったため、メール作成部４によりその旨と共に最新のマスタスケジュールがあらためて本文中に記入され、送信されたものである。ユーザは、このメールを参照して、リプライ元や転送元となった修正指示メール（ここではメール４）がマスタスケジュールに反映されなかったことを認識すると共に、本文中に記述された最新のマスタスケジュールをもとに、改めてマスタスケジュールの修正を行い、スケジュール管理装置１にメールを返信することによって、意図する修正をマスタスケジュールに反映することができる。すなわち、スケジュール登録部５によってユーザの意図する修正がマスタスケジュールに反映される。
【００６９】
これは、図１２に示す状態におけるスケジュールのＩＤ１が、メール２による修正を反映した後の状態であり、メール１に記載された内容とは既に異なっていることを正しく反映した動作となっている。
【００７０】
一方、メール５は、メール２との差分抽出結果をスケジュール管理部２に適用しようとした際に、マスタスケジュールとの間に整合が検出されるため、スケジュール登録部５によりマスタスケジュールに適用され、修正が反映されて、マスタスケジュールは図１９に示す状態へと更新される。
【００７１】
このように本実施形態では、ユーザによる修正内容指示のメールの文面が全く同じであっても、ユーザが、最新のマスタスケジュールと整合したメール（メール２）を参照してリプライや転送に基づくメール送信を行った場合は、修正が反映されるが、最新のマスタスケジュールと整合しないメール（メール１）を参照して、整合しないエントリに対してさらに修正をかけてリプライを作成・送信した場合や転送に基づくメールを作成・送信した場合は、不整合を検出して修正を反映しない。
【００７２】
すなわち、本実施形態によるスケジュール管理装置１は、ユーザによる修正内容指示のメールの文面が全く同じであっても、ユーザが参照したスケジュール情報とマスタスケジュールとの整合性を、差分を取得することによりチェックできるため、ユーザの意図と異なる誤ったマスタスケジュールの更新を防止することができる。
【００７３】
本発明は、上述した以外にも、様々に変形して実施することができる。
【００７４】
すなわち、本発明では、スケジュール通知メールに対するリプライメールに基づいてスケジュール修正処理を行うのみならず、リプライメールを引用して他人がスケジュール管理装置に送信した転送メールに基づくメールによって、スケジュール修正処理を行うこともできる。この場合、本実施形態において、受信したメールの引用元のメールをメール管理部３から探し出すことができない場合、修正メールの処理をペンディング（中断）して、引用元のメールが届いてから処理を再開することができる。これにより、本発明では、メールの配信経路上の問題により、メールがスケジュール管理装置に届くメールの順番が前後しても、正しいスケジュール修正処理を行うことができる。これに対して、メールが届いた順番にスケジュール更新処理を行うような従来のスケジュール管理装置では、メールの到着の順番が前後すると、ユーザの意図しない修正が行われる危険性がある。
【００７５】
また、上記の説明では、スケジュールの対象者を明示しなかったが、本発明では、誰の行動予定かを他の項目（日時や場所など）と同様に管理することもできる。このように実施することにより、本発明では、複数メンバからなるグループのスケジュールを管理するために用いることができる。この場合、図５等に示すスケジュール管理部２の内容について、日時・時間・場所・内容に加えて対象者という欄を新設して、そこに対象メンバの名前や対象グループの名前を格納するように構成すればよい。本発明では、対象者を管理することにより、スケジュール通知メールの送信に際し、メールの宛先となるメンバが対象者となっているスケジュールだけを抽出してスケジュール通知メールに含めるように構成したり、メールによるスケジュール修正において、ある項目の修正を行うことができるのを修正メール送信者が対象者として含まれているスケジュール項目に限定したりする等の拡張が容易である。
【００７６】
また、本発明では、別の変形例として、例えば、メールで送信したスケジュール修正内容とマスタスケジュールが整合しない場合、単に整合せず更新できない旨を返信するだけでなく、最新のマスタスケジュールを同時に送信して、そのマスタスケジュールをベースにあらためてスケジュール修正してもらうように実施することができる。このように実施した場合、ユーザは最新のマスタスケジュールを参照して修正メールの作成を行うことができるため、次の修正メールでは、修正がマスタスケジュールと整合して登録される可能性が非常に高くなる。すなわち、このように実施することにより、本発明では、メールベースのスケジュール修正に失敗した場合でも、一度だけ再試行すれば、高い確率でスケジュール修正を成功することができるようになる。
【００７７】
さらに、本発明では、メールで送信したスケジュール修正内容とマスタスケジュールとが整合しない場合、最新のマスタスケジュールと整合しなかった差分情報とを、ともにシステムからユーザへの返信に含めて、ユーザが再修正にあたり留意すべきポイントをわかりやすく明示するように実現することもできる。この場合、整合しなかった部分を太字やイタリックで表示したり、★印等でわかりやすく表示したりしても良い。
【００７８】
さらに、メール間の返信・返信元の関係については、ヘッダ中のレファレンスに格納されていることを仮定して実施例を説明したが、本発明では、これ以外にも、メールのリプライ元（転送元）とリプライ（転送に基づくメール送信）の関係を同定するためには様々な手法を使うことができる。例えば、リプライ（転送に基づくメール送信）の際に、リプライ元（転送元）のメールがほぼ全文メールの末尾に引用されていることも多い。この場合、引用部分に現れる文章や文字列のマッチングをとることにより、引用元のメールが比較的高い精度で同定できるため、引用部分に現れる文章や文字列のマッチングによりリプライ元（転送元）のメールを同定する手法を用いる形で、本発明を変形することもできる。
【００７９】
さらに、本発明では、スケジュールの管理以外の種々の管理にも適用することができる。例えば、部屋や設備等の施設予約を行う管理システムとして、全く同様のやり方で、メールによる参照・登録・修正機能を実現することが可能であり、特に予約の修正をメールベースで簡便かつ的確に行うことが可能である。一般には、データベースを有するシステム全般に本発明の考え方を適用することが可能であり、スケジュール管理や施設予約以外にも、やるべきことをリストにしたＴｏＤｏリストなど、データベースの内容をテキストファイルとして書き出すことが可能な場合に広く適用することができる。例えば、システムからデータベースの内容がテキスト形式で送信されたメールに対して、必要に応じて加筆修正し、システム宛に返信する。システムは、受け取ったメールと、返信元となった送信メールの本文テキストの比較を行い、差分を抽出する。この差分をユーザの意図する修正内容と判断して、可能であればデータベースを更新する。以上のスキームに従う応用であれば、本発明を広く適用することができる。
【００８０】
図２１は、本発明を会議室予約システムに適用した場合のスケジュール管理部２の内容の一例を示す図である。本発明を適用した会議室予約システムは、図１の構成を有し、スケジュール管理部２には、各会議室の予約日、予約時間、予約者が格納されている。毎日一定時刻にこの内容をテキスト本文に一項目一行の形で記載した予約内容通知メールがメール作成部４によりユーザに送信される。ユーザは、予約内容を変更したい場合は、受信した予約内容通知メールの記述内容を修正して修正メールを送信することにより、スケジュール予約の場合と同様に、差分抽出部６により差分抽出結果が抽出され、スケジュール登録部５により差分がスケジュール管理部に反映されて、予約の修正が行われる。会議室予約の特性としては、予約時・予約の修正時に同一会議室を重複して予約しないようチェックがかかる等、スケジュール登録部５における登録時のチェックが強化されるが、その他の動作には特に変更はない。このように、本発明を会議室予約システムとして変形して利用することにより、メールの送受信により簡便かつ的確な予約変更を行うことができる。
【産業上の利用可能性】
【００８１】
本発明は、スケジュール管理装置のほか、電子メールの送受信によりスケジュールや会議室の予約などの管理情報の参照・登録・修正が可能な情報処理装置に適用することができる。
【符号の説明】
【００８２】
１……スケジュール管理装置、２……スケジュール管理部、３……メール管理部、４……メール作成部、５……スケジュール登録部、６……差分抽出部、７……制御部、８……通信制御部、１２……入力装置、１３……中央処理装置、１４……ランダムアクセスメモリ（ＲＡＭ）、１５……ハードディスク、１６……出力装置、１７……通信制御部、２１……スケジュールデータベース、２２……メールデータベース、２３……プログラムファイル、３１……スケジュール管理プログラム、３２……メール管理プログラム、３３……メール作成プロラム、３４……スケジュール登録プログラム、３５……差分抽出プログラム、３６……全体制御プログラム、３７……スケジュール管理プログラム
【図１】
0005392561.tif 000002
【図２】
0005392561.tif 000003
【図３】
0005392561.tif 000004
【図４】
0005392561.tif 000005
【図５】
0005392561.tif 000006
【図６】
0005392561.tif 000007
【図７】
0005392561.tif 000008
【図８】
0005392561.tif 000009
【図９】
0005392561.tif 000010
【図１０】
0005392561.tif 000011
【図１１】
0005392561.tif 000012
【図１２】
0005392561.tif 000013
【図１３】
0005392561.tif 000014
【図１４】
0005392561.tif 000015
【図１５】
0005392561.tif 000016
【図１６】
0005392561.tif 000017
【図１７】
0005392561.tif 000018
【図１８】
0005392561.tif 000019
【図１９】
0005392561.tif 000020
【図２０】
0005392561.tif 000021
【図２１】
0005392561.tif 000022
【図２２】
0005392561.tif 000023