以下に、本願の開示するスケジュール管理プログラム、スケジュール管理方法及びスケジュール管理装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。また、以下に示す各実施例は、矛盾を起こさない範囲で適宜組み合わせても良い。
実施例1におけるスケジュール管理方法は、例えば社員等のユーザが、スケジューラに登録した予定を管理する方法である。例えば、実施例1におけるスケジュール管理方法は、ユーザが、出張前にアクセスされることが多い時刻表サイトや路線検索サイト等へアクセスしたことを検出した場合、アクセス以降のユーザの予定を「外出」と設定する処理をコンピュータが実行する。これにより、容易に外出予定を設定できる。
[機能ブロック]
実施例1におけるスケジュール管理方法は、例えば図1に示すようなスケジュール管理装置200を含むスケジュール管理システム1により実現される。図1は、実施例1におけるスケジュール管理システムの一例を示す図である。図1に示すように、実施例1におけるスケジュール管理システム1は、スケジュール管理装置200と、プロキシサーバ300と、スケジューラ400と、ユーザ端末500と、外部のWebサーバ600a乃至600cとを有する。なお、以下において、外部のWebサーバ600a乃至600cを区別せずに表現する場合に、単に「外部のWebサーバ600」と表記する場合がある。
図1に示すスケジュール管理装置200は、例えばプロキシサーバ300及びスケジューラ400と、無線又は有線の通信にて通信可能に接続される。また、図1に示すユーザ端末500は、例えばプロキシサーバ300及びスケジューラ400と、例えば社内LAN(Local Area Network)のような無線又は有線のネットワークN1を介して、通信可能に接続される。そして、プロキシサーバ300は、例えばインターネット等のネットワークN2を通じて、外部のWebサーバ600と通信可能に接続される。
図1に示すプロキシサーバ300は、ユーザ端末500と外部のWebサーバ600との通信を中継する。プロキシサーバ300は、例えばユーザ端末500からアクセス要求を受信した場合、ネットワークN2を介して、外部のWebサーバ600からWebサイトの情報を取得し、ユーザ端末500に送信する。その際、プロキシサーバ300は、ユーザ端末500による外部のWebサーバ600へのアクセスログを、ログDB321に記憶する。なお、以下の説明では、データベースを「DB」と表記する場合がある。
図2は、実施例1におけるログDBの一例を示す図である。図2に示すように、実施例1におけるログDB321は、「時刻」と、「URL」とを、「ユーザID」に対応付けて記憶する。なお、ログDB321に記憶される情報は、ユーザ端末500がプロキシサーバ300を介して外部のWebサーバ600にアクセスする際に、プロキシサーバ300により入力される。
図2において、「ユーザID」は、各ユーザを一意に識別する識別子(Identifier)を示す。また、「時刻」及び「URL」は、当該ユーザIDに対応するユーザがアクセスした、外部のWebサーバ600が提供するWebサイトのURL、及びアクセス時刻を示す。
図1に戻って、スケジューラ400は、各ユーザの予定を管理する。スケジューラ400は、例えばユーザ端末500を通じてユーザにより入力された予定を、スケジュールDB421に記憶する。
図3は、実施例1におけるスケジュールDBの一例を示す図である。図3に示すように、スケジュールDB421は、例えば、「時刻」及び「内容」の各項目を、「ユーザID」に対応付けて記憶する。なお、スケジュールDB421に記憶される情報は、ユーザ端末500から予定の入力を受け付けたスケジューラ400により登録され、後に説明するスケジュール管理装置200の設定部234により更新される。
図3において、「時刻」及び「内容」は、当該ユーザIDに対応するユーザにより登録される予定の時刻及び内容を示す。ところで、予定の内容の様式が限定されておらず、同じ内容の予定であっても、ユーザによって入力の仕方が異なる場合がある。この場合、図2に示すように、ユーザにより登録される予定の内容は、例えば「打ち合わせ」などのように具体的な場所が記載されていないことや、「●号棟」のように、場所が記載されていても、外出するか否かが一見わかりにくいことがある。
図1に戻って、実施例1におけるスケジュール管理装置200は、ログDB321及びスケジュールDB421を参照して、スケジュールDB421に記憶された情報を更新する。スケジュール管理装置200は、通信部210と、記憶部220と、制御部230とを有する。
通信部210は、有線又は無線を問わず、プロキシサーバ300及びスケジューラ400等、その他のコンピュータ等との通信を制御する。通信部210は、例えばNIC(Network Interface Card)等の通信インタフェース等である。
記憶部220は、例えば制御部230が実行するプログラムなどの各種データなどを記憶する。記憶部220は、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリなどの半導体メモリ素子や、HDD(Hard Disk Drive)などの記憶装置に対応する。また、記憶部220は、サイトDB221を有する。
サイトDB221は、外部のWebサーバ600が提供するWebサイトのうち、ユーザが外出前に参照することが多いWebサイトに関する情報を記憶する。図4は、実施例1におけるサイトDBの一例を示す図である。図4に示すように、サイトDB221は、例えば、「種別」と、「URL」とを、「サイトID」に対応付けて記憶する。なお、サイトDB221に記憶される情報は、例えば図示しないスケジュール管理装置200の管理者により予め入力される。また、以下において、ユーザが外出前に参照することが多いWebサイトを、「対象Webサイト」と表記する場合がある。
図4において、「種別」及び「URL」は、対象Webサイトの種別及びURLを記憶する。図4に示すように、対象Webサイトは、例えば「地図」サイトや「時刻表」サイト、「乗換案内」サイトなど、外出に関連する各種のサイトを含む。
図1に戻って、制御部230は、スケジュール管理装置200の全体的な処理を司る処理部である。制御部230は、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、内部の記憶装置に記憶されているプログラムがRAMを作業領域として実行されることにより実現される。また、制御部230は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現されるようにしてもよい。
制御部230は、ログ取得部231、スケジュール取得部232、判定部233及び設定部234を有する。なお、ログ取得部231、スケジュール取得部232、判定部233及び設定部234は、プロセッサが有する電子回路の一例やプロセッサが実行するプロセスの一例である。
ログ取得部231は、ユーザによるWebサイトへのアクセスログを取得する。ログ取得部231は、例えば通信部210を通じて、プロキシサーバ300のログDB321に記憶されているアクセスログを取得する。ログ取得部231は、取得したアクセスログを、判定部233に出力する。なお、ログ取得部231は、検出部の一例である。
スケジュール取得部232は、ユーザにより登録された予定を取得する。スケジュール取得部232は、例えば通信部210を通じて、スケジューラ400のスケジュールDB421に記憶されている予定を取得する。スケジュール取得部232は、取得した予定を、判定部233に出力する。なお、スケジュール取得部232は、取得部の一例である。
判定部233は、ユーザのアクセスログが所定の条件を満たすか否かを判定する。判定部233は、ログ取得部231からアクセスログの入力を受けると、サイトDB221を参照し、アクセスログに含まれるURLが、対象WebサイトのURLに該当するか否かを判定する。判定部233は、対象WebサイトのURLに該当すると判定した場合、アクセスログに含まれるユーザID及び時刻と、対象WebサイトのURLに該当することを示す情報とを含む判定結果とを、設定部234に出力する。
判定部233は、例えば図2に示すようなログDB321に記憶されたアクセスログを取得する。判定部233は、図4に示すサイトDB221を参照し、ユーザID「A」のアクセス先URL「map.example.co.jp」が、対象WebサイトのURLに該当すると判定する。一方、判定部233は、ユーザID「B」のアクセス先URL「news.example.co.jp」及びユーザID「C」のアクセス先URL「sports.example.co.jp」は、対象WebサイトのURLに該当しないと判定する。
設定部234は、判定部233による判定結果に基づいて、スケジューラ400に記憶されたユーザの予定を更新する。設定部234は、判定部233から判定結果の出力を受けると、通信部210を通じて、スケジューラ400のスケジュールDB421を参照する。そして、設定部234は、判定結果に含まれるユーザIDを用いて、判定結果に含まれる時刻以降の時刻を含む当該ユーザの予定を検索する。
設定部234は、当該時刻を含む当該ユーザの予定がスケジュールDB421に登録されていると判定した場合、当該予定の内容を更新する。設定部234は、例えば判定結果にユーザID「A」が含まれ、スケジュールDB421にユーザ「A」の予定が当該時刻以降に登録されている場合、当該予定の内容を、「外出予定有」など、外出中であることを示す内容に更新する。
設定部234により、ユーザ「A」の予定の内容が更新される一例を、図5を用いて説明する。図5は、実施例1における更新後のスケジュールDBの一例を示す図である。図5に示すように、設定部234は、図3において「打ち合わせ」となっていた予定の内容を「外出予定有」を示す内容5011に更新する。一方、設定部234は、その他のユーザの予定は更新しない。
[処理の流れ]
次に、実施例1における処理の流れについて、図6を用いて説明する。図6は、実施例1におけるスケジュール管理処理の一例を示すフローチャートである。図6に示すように、スケジュール管理装置200のログ取得部231は、例えば通信部210を通じて、図示しない管理者からスケジュール管理処理の開始指示を受け付けるまで待機する(S100:No)。
ログ取得部231は、開始指示を受け付けたと判定した場合(S100:Yes)、通信部210を通じてプロキシサーバ300にアクセスし、未取得のアクセスログがログDB321にあるか否かを判定する(S110)。ログ取得部231は、未取得のアクセスログがないと判定した場合(S110:No)、新たにアクセスログが記録されるまで待機する。
ログ取得部231は、未取得のアクセスログがあると判定した場合(S110:Yes)、当該アクセスログをプロキシサーバ300から取得し、判定部233に出力する。判定部233は、サイトDB221を参照し、アクセス先が対象サイトか否か、すなわちアクセスログに含まれるURLが、対象WebサイトのURLに該当するか否かを判定する(S120)。
判定部233は、アクセス先が対象サイトではないと判定した場合(S120:No)、S110に戻って処理を繰り返す。一方、判定部233は、アクセス先が対象サイトであると判定した場合(S120:Yes)、スケジュール取得部232に、アクセスログに含まれるユーザIDに対応する予定の取得を要求する。
スケジュール取得部232は、通信部210を通じてスケジューラ400にアクセスして、当該ユーザIDに対応するスケジュールに関する情報を取得し、判定部233に出力する(S121)。判定部233は、アクセスログに含まれる時刻以降に、当該ユーザの予定があるか否かを判定する(S130)。判定部233は、当該ユーザの予定がないと判定した場合(S130:No)、S110に戻って処理を繰り返す。
判定部233は、当該ユーザの予定があると判定した場合(S130:Yes)、判定結果を設定部234に出力する。設定部234は、当該ユーザの予定の内容を、「外出予定有」に設定する(S180)。
その後、ログ取得部231は、図示しない管理者からスケジュール管理処理の終了指示を受け付けるまで(S190:No)、S110に戻って処理を繰り返す。ログ取得部231は、終了指示を受け付けたと判定した場合(S190:Yes)、処理を終了する。
[効果]
以上説明したように、実施例1におけるスケジュール管理プログラムは、ユーザが外出前にアクセスする可能性があるWebサイトに関する情報を記憶する記憶部を参照して、Webサイトへのアクセスを検出する処理をコンピュータに実行させる。また、スケジュール管理プログラムは、検出されたアクセスを行ったユーザのスケジュールのうち、アクセス以降の時間帯に登録された予定を外出と設定する処理をコンピュータに実行させる。これにより、対象者の外出予定を設定できる。
例えば、他のユーザが、特定のユーザとの面談を希望する場合、当該特定のユーザのスケジュールを参照する。しかし、当該スケジュールに登録された予定に場所が記載されていなかったり、場所が不明確であったりすると、当該特定のユーザが外出する予定であるか否かが特定できない。この場合、他のユーザは、特定のユーザと面談可能かを判定することが難しい。実施例1によれば、ユーザが外出予定であるか否かを、当該ユーザのアクセスログ等に基づいて設定するので、ユーザによる予定の登録内容に依拠することなく、ユーザの外出予定を設定できる。
ところで、実施例1において、対象Webサイトとして地図サイト、時刻表サイト及び乗換案内サイトを例示したが、対象Webサイトによって、アクセスした場合にユーザが外出する可能性が異なる場合がある。例えば、地図サイトにアクセスするユーザは、乗換案内サイトにアクセスするユーザよりも、外出する可能性が高い場合がある。そこで、実施例2においては、対象Webサイトごとにユーザが外出する可能性を示す「確度」を設定し、ユーザの予定を更新する際に、ユーザがアクセスした対象Webサイトの確度をさらに記憶する構成について説明する。
[機能ブロック]
実施例2におけるスケジュール管理方法は、例えば図7に示すようなスケジュール管理装置700を含むスケジュール管理システム2により実現される。図7は、実施例2におけるスケジュール管理システムの一例を示す図である。なお、以下の実施例において、先に説明した図面に示す部位と同一の部位には同一の符号を付し、重複する説明は省略する。
図7に示すように、実施例2におけるスケジュール管理装置700は、通信部210と、記憶部720と、制御部730とを有する。
記憶部720は、例えば制御部730が実行するプログラムなどの各種データなどを記憶する。記憶部720は、RAM、ROM、フラッシュメモリなどの半導体メモリ素子や、HDDなどの記憶装置に対応する。また、記憶部720は、サイトDB721及び確度DB722を有する。
実施例2におけるサイトDB721は、対象Webサイトに関する情報に、さらに当該Webサイトの「確度」を対応付けて記憶する。図8は、実施例2におけるサイトDBの一例を示す図である。図8に示すように、サイトDB721は、例えば、「種別」及び「URL」に加えて、さらに「確度」7010を、「サイトID」に対応付けて記憶する。なお、サイトDB721に記憶される情報は、例えば図示しないスケジュール管理装置700の管理者により予め入力される。
図8に示すように、サイトDB721は、サイトごとに異なる「確度」を、サイトIDと対応付けて記憶する。例えば、サイトID「0001」である、種別が「地図」のURLの確度は「100」であり、サイトID「0002」である、種別が「時刻表」のURLの確度は「80」である。
次に、実施例2における確度DB722は、現在の各ユーザの「確度」を記憶する。図9は、実施例2における確度DBの一例を示す図である。図9に示すように、確度DB722は、「現在の確度」を、「ユーザID」に対応付けて記憶する。なお、確度DB722に記憶される情報は、例えば後に説明する設定部734により入力される。
実施例2において、確度DB722は、例えば各ユーザの確度の初期値として「0」を記憶する。例えば後に説明する判定部733において、ユーザ「A」が確度「100」の対象Webサイトにアクセスしたと判定された場合、確度DB722の「現在の確度」には「100」が入力される。
図7に戻って、制御部730は、スケジュール管理装置700の全体的な処理を司る処理部である。制御部730は、例えば、CPUやMPU等によって、内部の記憶装置に記憶されているプログラムがRAMを作業領域として実行されることにより実現される。また、制御部730は、例えば、ASICやFPGA等の集積回路により実現されるようにしてもよい。
制御部730は、ログ取得部231、スケジュール取得部232、判定部733及び設定部734を有する。なお、判定部733及び設定部734も、プロセッサが有する電子回路の一例やプロセッサが実行するプロセスの一例である。
判定部733は、ユーザのアクセスログに含まれるURLが所定の条件を満たすか否かに加えて、アクセスログに含まれる確度が所定の条件を満たすか否かをさらに判定する。判定部733は、対象WebサイトのURLに該当すると判定した場合、サイトDB721を参照し、アクセス先の対象サイトの確度を取得する。また、判定部733は、確度DB722を参照し、該当ユーザの現在の確度を取得する。
そして、判定部733は、該当ユーザの現在の確度が「0」である場合、すなわちユーザの予定が、後に説明する設定部734により「外出予定有」に更新されていない場合、アクセス先の対象サイトの確度を含む判定結果を、設定部734に出力する。
また、判定部733は、該当ユーザの現在の確度が「0」ではない場合、すなわちユーザの予定が、設定部734により既に「外出予定有」に更新されている場合、アクセス先の対象サイトの確度が、該当ユーザの現在の確度より大きいか否かをさらに判定する。判定部733は、アクセス先の対象サイトの確度が、該当ユーザの現在の確度より大きい場合、アクセス先の対象サイトの確度を含む判定結果を、設定部734に出力する。
判定部733は、例えば図2に示すようなログDB321に記憶されたアクセスログを取得する。判定部733は、図8に示すサイトDB721を参照し、ユーザID「A」のアクセス先URL「map.example.co.jp」の確度「100」を取得する。また、判定部733は、図9に示す確度DB722を参照し、ユーザID「A」の現在の確度「80」を取得する。この場合、判定部733は、アクセス先の対象サイトの確度「100」が、該当ユーザの現在の確度「80」より大きいので、アクセス先の対象サイトの確度を含む判定結果を、設定部734に出力する。
また、判定部733は、例えばユーザID「B」のアクセス先URLが「timetable.example.co.jp」であると判定した場合、図8に示すサイトDB721を参照し、当該対象Webサイトの確度「80」を取得する。また、判定部733は、図9に示す確度DB722を参照し、ユーザID「B」の現在の確度「0」を取得する。この場合、判定部733は、該当ユーザの現在の確度が「0」なので、アクセス先の対象サイトの確度を含む判定結果を、設定部734に出力する。
一方、判定部733は、例えばユーザID「C」のアクセス先URLが「transit.example.co.jp」であると判定した場合、図8に示すサイトDB721を参照し、当該対象Webサイトの確度「60」を取得する。また、判定部733は、図9に示す確度DB722を参照し、ユーザID「C」の現在の確度「60」を取得する。この場合、判定部733は、アクセス先の対象サイトの確度「60」が、該当ユーザの現在の確度「60」以下であるので、判定結果を設定部734に出力しない。
設定部734は、対象Webサイトの確度を含む判定結果に基づいて、スケジューラ400に記憶されたユーザの予定を更新する。設定部734は、判定部733から判定結果の出力を受けると、通信部210を通じて、スケジューラ400のスケジュールDB421を参照する。そして、設定部734は、判定結果に含まれるユーザIDを用いて、判定結果に含まれる時刻以降の時刻を含む当該ユーザの予定を検索する。
設定部734は、当該時刻を含む当該ユーザの予定がスケジュールDB421に登録されていると判定した場合、当該予定の内容を更新する。設定部734は、例えばスケジュールDB421に該当ユーザの予定が当該時刻以降に登録されている場合、当該予定の内容を、「外出予定有(確度100)」など、外出中であること、及び確度を示す内容に更新する。
設定部734により、ユーザ「A」の予定の内容が更新される一例を、図10を用いて説明する。図10は、実施例2における更新後のスケジュールDBの一例を示す図である。図10に示すように、設定部734は、予定の内容を「外出予定有(確度100)」のように、外出予定に加えて、さらに確度を示す内容5211に更新する。
[処理の流れ]
次に、実施例2における処理の流れについて説明する。図11は、実施例2におけるスケジュール管理処理の一例を示すフローチャートである。なお、以下の説明において、図6に示すステップと同じ符号については同様のステップであるため、詳細な説明を省略する。
判定部733は、当該ユーザの予定があると判定した場合(S130:Yes)、サイトDB721を参照して、アクセス先の対象サイトの確度を取得する(S140)。また、判定部733は、確度DB722を参照し、当該ユーザの現在の確度を取得する(S141)。
そして、判定部733は、当該ユーザの現在の確度が「0」であるか否かを判定する(S150)。判定部733は、当該ユーザの現在の確度が「0」であると判定した場合(S150:Yes)、アクセス先の対象サイトの確度を含む判定結果を設定部734に出力する。設定部734は、スケジュールDB421に記憶された当該ユーザの予定の内容を「外出予定有」に設定するとともに、アクセス先の対象サイトの確度を設定する(S181)。
一方、判定部733は、当該ユーザの現在の確度が「0」ではないと判定した場合(S150:No)、アクセス先の対象サイトの確度が、当該ユーザの現在の確度よりも大きいか否かをさらに判定する(S160)。判定部733は、アクセス先の対象サイトの確度が当該ユーザの現在の確度以下であると判定した場合(S160:No)、S190に移行する。
一方、判定部733は、アクセス先の対象サイトの確度が当該ユーザの現在の確度よりも大きいと判定した場合(S160:Yes)、アクセス先の対象サイトの確度を含む判定結果を設定部734に出力する。設定部734は、スケジュールDB421に記憶された当該ユーザの予定の内容に設定された確度を、アクセス先の対象サイトの確度で更新し(S161)、S190に移行する。
[効果]
以上説明したように、実施例2におけるスケジュール管理プログラムは、Webサイトと外出との関連の高さを示す確度をさらに記憶する処理をコンピュータに実行させる。また、スケジュール管理プログラムは、外出と設定された予定に、アクセスが検出されたWebサイトの確度をさらに対応付けて設定する処理をコンピュータに実行させる。これにより、ユーザが外出する可能性を示す確度を含む外出予定を設定することができる。
また、スケジュール管理プログラムは、Webサイトの確度が、予定に対応付けられた確度よりも高いと判定された場合には、予定に対応付けられた確度を更新する処理をさらにコンピュータに実行させてもよい。これにより、既にユーザの外出予定が設定されている場合においても、より確度の高い外出予定を設定することができる。
ところで、上記の各実施例におけるスケジュール管理処理によって外出予定が設定される場合においても、実際にはユーザの予定が外出を伴わない場合もある。例えばユーザが対象Webサイトに頻繁にアクセスするが、実際には外出する機会が少ない場合、スケジュール管理処理によって設定される外出予定が、当該ユーザによってさらに更新される場合がある。
また、設定される外出予定が、ユーザによってさらに更新されることが多い場合、当該ユーザについては、外出予定が設定されていても、実際には外出の予定ではない可能性が高い。すなわち、当該ユーザについては、設定される外出予定の信頼性が低いと想定される。
そこで、実施例3においては、設定された外出予定に対する再更新を検出する構成、並びに検出された再更新に応じて外出予定の信頼性を設定する構成について説明する。
[機能ブロック]
実施例3におけるスケジュール管理方法は、例えば図12に示すようなスケジュール管理装置800を含むスケジュール管理システム3により実現される。図12は、実施例3におけるスケジュール管理システムの一例を示す図である。図12に示すように、実施例3におけるスケジュール管理装置800は、通信部210と、記憶部820と、制御部830とを有する。
記憶部820は、例えば制御部830が実行するプログラムなどの各種データなどを記憶する。記憶部820は、RAM、ROM、フラッシュメモリなどの半導体メモリ素子や、HDDなどの記憶装置に対応する。また、記憶部820は、サイトDB221及び予定更新DB823を有する。
実施例3における予定更新DB823は、スケジュール管理処理において設定された外出予定に対する再更新に関する情報を記憶する。図13は、実施例3における予定更新DBの一例を示す図である。図13に示すように、予定更新DB823は、例えば、「設定回数」及び「更新回数」を、「ユーザID」に対応付けて記憶する。なお、予定更新DB823に記憶される情報は、例えば後に説明するスケジュール取得部832及び設定部834により入力される。
図13において、「設定回数」は、当該ユーザの予定に対して、スケジュール管理処理により「外出予定有」が設定された回数を示す。「更新回数」は、設定された「外出予定有」の予定が再更新された回数を示す。
次に、制御部830は、スケジュール管理装置800の全体的な処理を司る処理部である。制御部830は、例えば、CPUやMPU等によって、内部の記憶装置に記憶されているプログラムがRAMを作業領域として実行されることにより実現される。また、制御部830は、例えば、ASICやFPGA等の集積回路により実現されるようにしてもよい。
制御部830は、ログ取得部231、スケジュール取得部832、判定部833及び設定部834を有する。なお、スケジュール取得部832、判定部833及び設定部834も、プロセッサが有する電子回路の一例やプロセッサが実行するプロセスの一例である。
スケジュール取得部832は、ユーザにより登録された予定を取得するとともに、「外出予定有」の予定が再更新されたことを検出する。なお、スケジュール取得部832は、取得部の一例である。
スケジュール取得部832は、例えば通信部210を通じて、スケジューラ400のスケジュールDB421に記憶されている予定を取得する。スケジュール取得部832は、取得した予定のうち、当日中の「外出予定有」が設定された予定が更新されたか否かを判定する。スケジュール取得部832は、「外出予定有」が設定された予定が更新されたと判定した場合、予定更新DB823に記憶された、該当するユーザの更新回数を1インクリメントする。
次に、判定部833は、ユーザのアクセスログに含まれるURLが所定の条件を満たすか否かに加えて、ユーザの予定の設定回数及び更新回数が所定の条件を満たすか否かをさらに判定する。
判定部833は、対象WebサイトのURLに該当し、かつ該当ユーザの予定があると判定した場合、予定更新DB823を参照し、該当ユーザの設定回数及び更新回数を取得する。そして、判定部833は、例えば更新回数が設定回数に占める割合が所定の閾値(50%等)以上であるか否かを判定する。なお、以下において、ユーザの更新回数が設定回数に占める割合を、「更新割合」と表記する場合がある。
判定部833は、更新割合が所定の閾値以上である場合、すなわち設定された「外出予定有」の予定が高い頻度で再更新されている場合、信頼度が低いことを示す情報を含む判定結果を、設定部834に出力する。
判定部833は、例えば図13に示す予定更新DB823において、ユーザID「A」の更新割合は、「60/100=60%」であることを特定する。この場合において、所定の閾値が50%とすると、判定部833は、更新割合が所定の閾値以上であると判定するので、ユーザID「A」については、信頼度が低いことを示す情報を含む判定結果を、設定部834に出力する。
また、判定部833は、ユーザID「B」の更新割合は、「80/200=40%」であることを特定する。すなわち、ユーザID「B」の更新回数はユーザID「A」の更新回数を上回るものの、更新割合は所定の閾値未満である。この場合、判定部833は、ユーザID「B」については、信頼度に関する情報を含まない判定結果を、設定部834に出力する。同様に、判定部833は、更新割合が所定の閾値未満であるユーザID「C」についても、信頼度に関する情報を含まない判定結果を、設定部834に出力する。
設定部834は、スケジューラ400に記憶されたユーザの予定を設定する際に、信頼度に関する情報をさらに設定する。設定部834は、判定部833から信頼度が低いことを示す情報を含む判定結果の出力を受けると、スケジュールDB421に、信頼度が低いことを示す外出予定を登録する。一方、設定部834は、判定部833から信頼度に関する情報を含まない判定結果の出力を受けると、スケジュールDB421に、信頼度に関する情報を含まない外出予定を登録する。また、設定部834は、信頼度に関する情報を含むか否かに関わらず、判定結果の出力を受けた場合、予定更新DB823に記憶された、該当するユーザの設定回数を1インクリメントする。
設定部834により、予定の内容が更新される一例を、図14を用いて説明する。図14は、実施例3における更新後のスケジュールDBの一例を示す図である。図14に示すように、設定部834は、信頼度が低いことを示す情報を含む判定結果の出力を受けたユーザID「A」について、信頼度が低いことを示す外出予定5311を設定する。一方、設定部834は、例えばユーザID「D」について、信頼度に関する情報を含まない判定結果の出力を受けた場合、信頼度に関する情報を含まない外出予定5312を設定する。
[処理の流れ]
次に、本実施例における処理について、図15及び図16を用いて説明する。図15は、実施例3におけるスケジュール管理処理の一例を示すフローチャートである。なお、以下の説明において、図6に示すステップと同じ符号については同様のステップであるため、詳細な説明を省略する。
判定部833は、当該ユーザの予定があると判定した場合(S130:Yes)、予定更新DB823を参照して、該当ユーザの設定回数及び更新回数を取得する。そして、判定部833は、該当ユーザの更新割合を算出し、更新割合が所定の閾値(例えば50%)以上であるか否かを判定する(S170)。
判定部833は、更新割合が所定の閾値以上であると判定した場合(S170:Yes)、信頼度が低いことを示す判定結果を設定部834に出力する。設定部834は、スケジュールDB421に記憶された当該ユーザの予定の内容を「外出予定有(信頼度低)」に設定し(S180)、S188に移行する。
一方、判定部833は、更新割合が所定の閾値未満であると判定した場合(S170:No)、信頼度に関する情報を含まない判定結果を設定部834に出力する。設定部834は、スケジュールDB421に記憶された当該ユーザの予定の内容を「外出予定有」に設定し(S171)、S188に移行する。
次に、設定部834は、予定更新DB823に記憶された、該当するユーザの更新回数を1インクリメントする(S188)。そして、スケジュール取得部832は、更新監視処理を開始し(S189)、S190に移行する。
図16は、実施例3における更新監視処理の一例を示すフローチャートである。まず、スケジュール取得部832は、スケジューラ400のスケジュールDB421に記憶されている予定を取得する(S201)。次に、スケジュール取得部832は、「外出予定有」と設定された予定を検索し、当該予定が再更新されたか否かを判定する(S210)。
スケジュール取得部832は、「外出予定有」と設定された予定が再更新されたと判定した場合(S210:Yes)、予定更新DB823に記憶された、当該ユーザに対応する更新回数を1インクリメントする(S211)。その後、S220に移行する。
一方、スケジュール取得部832は、「外出予定有」と設定された予定が再更新されていないと判定した場合(S210:No)、日付が変わるまでS210に戻って処理を繰り返す(S220:No)。スケジュール取得部832は、日付が変わった場合(S220:Yes)、処理を終了する。
[効果]
以上説明したように、実施例3におけるスケジュール管理プログラムは、ユーザにより、外出と設定された予定が更新されたことを示す情報を取得する処理をコンピュータに実行させる。また、実施例3におけるスケジュール管理プログラムは、外出と設定された予定の総数と、更新された予定の数との関係が所定の条件を満たす場合、外出と設定された予定の信頼度が低いことを示す情報をさらに設定する処理をコンピュータに実行させる。これにより、ユーザによる予定更新に応じた外出予定の信頼性を含む予定を設定することができる。
ところで、ユーザが対象Webサイトにアクセスするタイミングは、外出予定に応じて異なる。例えば、ユーザが午前中に地図サイトにアクセスした場合、ユーザが午後に外出予定があると推定されるが、ユーザが終業時間間際に乗換案内サイトにアクセスした場合、ユーザの外出予定は翌日であると推定される。
また、ユーザの外出予定が設定された場合に、当該ユーザや、当該ユーザの予定を確認したい他のユーザが、外出予定が設定されたことを知りたい場合がある。
そこで、実施例4においては、ユーザによる対象Webサイトへのアクセスに対応する時間帯において、外出予定を設定する構成、及び外出予定が設定されたことをユーザに通知する構成について説明する。
[機能ブロック]
実施例4におけるスケジュール管理方法は、例えば図17に示すようなスケジュール管理装置900を含むスケジュール管理システム4により実現される。図17は、実施例4におけるスケジュール管理システムの一例を示す図である。なお、以下の実施例において、先に説明した図面に示す部位と同一の部位には同一の符号を付し、重複する説明は省略する。
記憶部920は、例えば制御部930が実行するプログラムなどの各種データなどを記憶する。記憶部920は、RAM、ROM、フラッシュメモリなどの半導体メモリ素子や、HDDなどの記憶装置に対応する。また、記憶部920は、サイトDB721、確度DB922、日時範囲DB924及び通知対象DB925を有する。
実施例4における確度DB922は、各ユーザの「確度」を、「当日の確度」と「翌日の確度」とに分けて記憶する。図18は、実施例4における確度DBの一例を示す図である。図18に示すように、確度DB922は、「当日の確度」及び「翌日の確度」を、「ユーザID」に対応付けて記憶する。なお、確度DB922に記憶される情報は、例えば後に説明する設定部934により入力される。
図18に示すように、確度DB922は、例えばユーザID「C」のユーザについて、当日には確度「60」の外出予定が設定されていることを記憶する。一方、確度DB922には、ユーザ「C」の翌日の確度が「0」である、すなわちユーザ「C」については翌日には外出予定が設定されていないことを記憶する。
実施例4における日時範囲DB924は、アクセスログに含まれる時刻と、外出予定を設定する対象とする日時の検索範囲とを対応付けて記憶する。図19は、実施例4における日時範囲DBの一例を示す図である。なお、確度DB922に記憶される情報は、例えば後に説明する設定部934により入力される。なお、日時範囲DB924に記憶される情報は、例えば図示しないスケジュール管理装置900の管理者により予め入力される。
図19に示すように、日時範囲DB924は、アクセスログに含まれる時刻が「15:00まで」である場合は、当日の当該時刻以降の予定を、外出予定を設定する対象とすることを記憶する。同様に、日時範囲DB924は、アクセスログに含まれる時刻が「15:00以降」である場合は、翌営業日の予定を、外出予定を設定する対象とすることを記憶する。
実施例4における通知対象DB925は、外出予定が設定されたことを通知する対象であるユーザに関する情報を記憶する。図20は、実施例4における通知対象DBの一例を示す図である。図20に示すように、通知対象DB925は、「対象ユーザID」に対応付けて、「通知先のユーザID」を記憶する。なお、通知対象DB925に記憶される情報は、例えばスケジュール管理装置900の管理者により予め入力される。
図20において、「対象ユーザID」は、外出予定を設定する対象となるユーザのユーザIDを示す。「通知先のユーザID」は、対象ユーザIDのユーザの予定に外出予定が設定された場合に通知する対象となるユーザのユーザIDを記憶する。通知先のユーザIDは、例えば「対象ユーザID」を含んでもよく、当該ユーザの予定を確認したい他のユーザのユーザIDであってもよい。また、ユーザIDに代えて、通知先のメールアドレス等を記憶してもよい。
次に、制御部930は、スケジュール管理装置900の全体的な処理を司る処理部である。制御部930は、例えば、CPUやMPU等によって、内部の記憶装置に記憶されているプログラムがRAMを作業領域として実行されることにより実現される。また、制御部930は、例えば、ASICやFPGA等の集積回路により実現されるようにしてもよい。
制御部930は、ログ取得部231、スケジュール取得部232、判定部933、設定部934及び通知部935を有する。なお、判定部933、設定部934及び通知部935も、プロセッサが有する電子回路の一例やプロセッサが実行するプロセスの一例である。
判定部933は、ユーザのアクセスログに含まれるURLが所定の条件を満たすか否かに加えて、アクセスログに含まれる時刻が所定の条件を満たすか否かをさらに判定する。
判定部933は、対象WebサイトのURLに該当すると判定した場合、日時範囲DB924を参照し、アクセスログに含まれる時刻に対応する検索範囲を特定する。そして、判定部933は、特定された検索範囲に、当該ユーザの予定が登録されているか否かを判定する。判定部933は、特定された検索範囲に、当該ユーザの予定が登録されている場合、当該ユーザの予定を指定する情報を含む判定結果を、設定部934に出力する。
判定部933は、対象Webサイトへのアクセスログに含まれる時刻が「14:00」である場合において、当日の「14:00」以降に当該ユーザの予定が登録されていると判定したときは、当日の当該ユーザの予定を指定する情報を含む判定結果を出力する。また、判定部933は、アクセスログに含まれる時刻が「16:00」である場合において、翌日に当該ユーザの予定が登録されていると判定したときは、当該翌日のユーザの予定を指定する情報を含む判定結果を出力する。
設定部934は、判定部933から出力された判定結果において指定された予定について、外出予定を設定する。また、設定部934は、通知部935に、外出予定を設定したことを通知する。
通知部935は、設定部934により外出予定を設定されたことを、指定されたユーザのユーザ端末500に通信部210を通じて通知する。通知部935は、例えばユーザID「A」のユーザのスケジュールに外出予定が設定された場合、ユーザID「A」及び「B」のユーザに対して、外出予定を設定されたことを通知する。
[効果]
以上説明したように、実施例4におけるスケジュール管理プログラムは、Webサイトへのアクセスがあった時間が所定の条件を満たす場合に、所定の条件に対応する時間帯に登録されたユーザの予定を外出と設定する処理をコンピュータに実行させる。これにより、ユーザが対象Webサイトにアクセスした時刻に応じて、外出予定を設定することができる。
また、スケジュール管理プログラムは、外出と設定された予定に関する情報を、ユーザ以外の他のユーザに通知する処理をコンピュータに実行させるので、他のユーザに外出予定の設定を通知できる。
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。例えば、図1に示す各装置の台数は一例であり、2台以上のユーザ端末500や、4台以上の外部のWebサーバ600を含むような構成であってもよい。
また、実施例1において、ログ取得部231がプロキシサーバ300から取得するアクセスログに含まれる情報は一例であり、例えばユーザ端末500により入力され、Webサイトに送信された情報を含んでもよい。また、ログ取得部231が、URLとしてドメイン名のみを取得する例を示したが、これに限られず、可能な場合は、ページ全体のURLを取得してもよい。さらに、ログ取得部231は、アクセス元のユーザ端末500を識別する際に、「ユーザID」の代わりに、ユーザ端末500のIPアドレスやMACアドレスを用いてもよい。
また、ログ取得部231は、プロキシサーバ300にアクセスする代わりに、ユーザ端末500からアクセスログを取得してもよい。例えば、ログ取得部231は、ユーザ端末500にインストールされた、アクセスログ調査用のプログラムを用いて、ユーザ端末500から送信されるアクセスログを取得してもよい。
また、実施例2における、図8に示すサイトDB721に記憶された対象Webサイトの確度を用いる構成において、ユーザが時刻表サイトや乗換案内サイトなど、複数の対象Webサイトにアクセスすることが考えられる。この場合において、スケジュール管理プログラムは、例えば、複数のWebサイトの確度のうち、最も高い確度を外出と設定された予定に対応付けて設定する処理をさらにコンピュータに実行させてもよい。
例えば、判定部733は、ユーザID「A」のユーザが時刻表サイト「timetable.example.co.jp」と乗換案内サイト「transit.example.co.jp」にアクセスしたと判定した場合、図8に示すサイトDB721を参照し、各サイトの確度を抽出する。図8に示すように、時刻表サイトの確度は「80」であり、乗換案内サイトの確度は「60」である。この場合において、判定部733は、図9に示す確度DB722を参照し、高い方の確度「80」を、ユーザID「A」の確度と比較する。
このように、スケジュール管理プログラムは、例えば、ユーザが複数のWebサイトへアクセスしたことが検出された場合、複数のWebサイトの確度のうち、最も高い確度を外出と設定された予定に対応付けて設定する処理をコンピュータに実行させてもよい。これにより、より確度の高い外出予定を設定できる。
また、ユーザが複数のWebサイトにアクセスした場合、スケジュール管理プログラムは、例えば全てのWebサイトの確度を合算する処理をコンピュータに実行させてもよい。また、スケジュール管理プログラムは、最も確度が高いものと最も確度が低いものとを除外した他の確度の平均値を算出してもよい。
さらに、ユーザが、外出予定がない場合においても、又は外出予定とは関係なく、対象Webサイトを参照する場合がある。例えば、ユーザは、終業時間後に歓送迎会を行う店を選ぶ際に地図サイトを参照したり、帰宅の際の電車の時刻を確認するために時刻表サイトを参照したりすることがある。
このような場合において、ユーザは、レストラン予約サイトなど、対象Webサイト以外のサイトにも合わせてアクセスする場合がある。そこで、スケジュール管理装置700のサイトDB721は、対象Webサイト以外のWebサイトを、負の値となる確度と対応付けて、さらに記憶してもよい。また、スケジュール管理プログラムは、ユーザが、確度が負の値となるWebサイトにアクセスしたと判定した場合、当該負の値の確度を用いて、図9に示す確度DB722の「現在の確度」を更新する処理をコンピュータに実行させてもよい。
例えば、サイトDB721は、確度が「−20」であるレストラン検索サイトに関するレコードをさらに記憶してもよい。この場合において、ユーザが確度「80」の時刻表サイト「timetable.example.co.jp」と、当該レストラン検索サイトとにアクセスしたとき、判定部733は、時刻表サイトの確度「80」と、レストラン検索サイトの確度「−20」を合算する。そして、判定部733は、図9に示す確度DB722を参照し、合算された確度「60」を、ユーザの確度と比較する。なお、設定部734は、図9に示す確度DB722の「現在の確度」に、レストラン検索サイトの確度「−20」を合算してもよい。
このように、実施例2におけるスケジュール管理プログラムは、アクセスが検出されたWebサイトの確度が負の値である場合、予定に対応付けられた確度を更新する処理をコンピュータに実行させてもよい。これにより、外出する可能性が低いことを反映した確度を設定できる。
なお、図8に示すサイトDB721に記憶される確度は、例えばサイトの「種別」ごとに一律に定めてもよく、また同一の「種別」のサイトであっても異なる角度を定めてもよい。
また、実施例3における更新割合を用いて外出予定の信頼度を判定する構成において、判定部833は、更新割合の代わりに、更新回数を用いて信頼度を判定してもよい。例えば、判定部833は、更新回数が「70」回以上であるユーザについて、信頼度が低いことを示す情報を含む判定結果を、設定部834に出力してもよい。
例えば、図13に示す予定更新DB823において、ユーザID「A」の「更新回数」は「60」回であり、ユーザID「B」の「更新回数」は「80」回である。この場合において、判定部833は、ユーザID「B」については信頼度が低いことを示す情報を含む判定結果を出力するが、ユーザID「A」については信頼度に関する情報を含まない判定結果を出力する。
また、信頼度が低いことを示す情報を含む判定結果を出力する構成について説明したが、実施の形態はこれに限られない。例えば、判定部833は、「更新割合」又は「更新回数」が所定の閾値未満である場合に、「信頼度が高いことを示す情報」を含む判定結果を出力してもよい。
さらに、実施例4における、対象Webサイトへのアクセスのタイミングに応じて日時の範囲を変更する構成において、ユーザが対象Webサイトにアクセスするタイミングは、ユーザに応じて異なる場合がある。そこで、図19に示すような日時範囲DB924を、ユーザごとに個別に用意してもよい。また、実施例3における外出予定の信頼度を判定する構成を組み合わせ、信頼度が低いユーザについて、日時範囲DB924の検索範囲を変更してもよい。
[システム]
また、各実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の一部を手動的におこなうこともできる。あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散や統合の具体的形態は図示のものに限られない。つまり、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、図1に示す判定部233と設定部234とを統合してもよい。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
更に、スケジュール管理装置200で行われる各種処理機能は、CPU、又はMPU、MCU(Micro Controller Unit)等のマイクロ・コンピュータ上で、その全部又は任意の一部を実行するようにしても良い。また、各種処理機能は、CPU(又はMPU、MCU等のマイクロ・コンピュータ)で解析実行するプログラム上、又はワイヤードロジックによるハードウェア上で、その全部又は任意の一部を実行するようにしても良いことは言うまでもない。
ところで、本実施例で説明した各種の処理は、予め用意されたプログラムをコンピュータで実行することで実現できる。そこで、以下では、上記実施例と同様の機能を有するプログラムを実行するコンピュータの一例を説明する。図21は、スケジュール管理プログラムを実行するコンピュータの一例を示す説明図である。なお、以下においては、実施例1におけるスケジュール管理装置200を例として説明するが、実施例2乃至4におけるスケジュール管理装置700、800及び900についても同様のコンピュータにより実現できる。
図21においてスケジュール管理プログラムを実行するコンピュータ100は、通信部110と、二次記憶装置120、メモリ130、CPU140、バス150とを有する。
そして、二次記憶装置120には、上記実施例と同様の機能を発揮するスケジュール管理プログラムが予め記憶されている。なお、二次記憶装置120ではなく、図示せぬドライブで読取可能な記録媒体に処理プログラムが記録されていても良い。また、記録媒体としては、例えば、CD−ROM、DVD、USBメモリ、SDカード等の可搬型記録媒体、フラッシュメモリ等の半導体メモリ等でも良い。処理プログラムとしては、ログ取得プログラム120A、スケジュール取得プログラム120B、判定プログラム120C及び設定プログラム120Dである。なお、ログ取得プログラム120A、スケジュール取得プログラム120B、判定プログラム120C及び設定プログラム120Dについては、適宜統合又は分散しても良い。また、コンピュータ100が、これらの可搬用の物理媒体から配信先設定プログラムを取得して実行するようにしても良い。さらに、公衆回線、インターネット、LAN、WAN等を介してコンピュータ100に接続される他のコンピュータ等に配信先設定プログラムを記憶させておき、コンピュータ100がこれらから配信先設定プログラムを取得して実行するようにしても良い。
そして、CPU140は、これらのログ取得プログラム120A、スケジュール取得プログラム120B、判定プログラム120C及び設定プログラム120Dを二次記憶装置120から読み出し、これら読み出された各プログラムをメモリ130上に展開する。CPU140は、ログ取得プログラム120A、スケジュール取得プログラム120B、判定プログラム120C及び設定プログラム120Dをメモリ130上でログ取得プロセス130A、スケジュール取得プロセス130B、判定プロセス130C及び設定プロセス130Dとして機能させる。なお、CPU140では、必ずしも本実施例で示した全ての処理部が動作しなくてもよく、実行対象とする処理に対応する処理部が仮想的に実現されれば良い。
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)コンピュータに、
ユーザが外出前にアクセスする可能性があるWebサイトに関する情報を記憶する記憶部を参照して、前記Webサイトへのアクセスを検出し、
前記検出されたアクセスを行ったユーザのスケジュールのうち、前記アクセス以降の時間帯に登録された予定を外出と設定する
処理を実行させるスケジュール管理プログラム。
(付記2)前記記憶部は、前記Webサイトと外出との関連の高さを示す確度をさらに記憶し、
前記設定する処理は、前記外出と設定された予定に、前記アクセスが検出されたWebサイトの確度をさらに対応付けて設定することを特徴とする付記1に記載のスケジュール管理プログラム。
(付記3)前記設定する処理は、前記ユーザが複数の前記Webサイトへアクセスしたことが検出された場合、複数の前記Webサイトの確度のうち、最も高い確度を前記外出と設定された予定に対応付けて設定することを特徴とする付記2に記載のスケジュール管理プログラム。
(付記4)前記設定する処理は、前記Webサイトの確度が、前記予定に対応付けられた確度よりも高いと判定された場合には、前記予定に対応付けられた確度を更新することを特徴とする付記2又は3に記載のスケジュール管理プログラム。
(付記5)前記設定する処理は、前記アクセスが検出されたWebサイトの確度が負の値である場合、前記予定に対応付けられた確度を更新することを特徴とする付記2乃至4のいずれか1つに記載のスケジュール管理プログラム。
(付記6)前記設定する処理は、前記Webサイトへのアクセスがあった時間が所定の条件を満たす場合に、前記所定の条件に対応する時間帯に登録された前記ユーザの予定を外出と設定することを特徴とする付記1乃至5のいずれか1つに記載のスケジュール管理プログラム。
(付記7)前記ユーザにより、前記外出と設定された予定が更新されたことを示す情報を取得する処理をさらにコンピュータに実行させ、
前記設定する処理は、前記外出と設定された予定の総数と、前記更新された予定の数との関係が所定の条件を満たす場合、前記外出と設定された予定の信頼度が低いことを示す情報をさらに設定することを特徴とする付記1乃至6のいずれか1つに記載のスケジュール管理プログラム。
(付記8)前記更新された予定の数が前記外出と設定された予定の総数に占める割合が所定の閾値以上である場合に、前記関係が所定の条件を満たすと判定する処理をさらにコンピュータに実行させることを特徴とする付記7に記載のスケジュール管理プログラム。
(付記9)前記外出と設定された予定に関する情報を、前記ユーザ以外の他のユーザに通知する処理をさらにコンピュータに実行させることを特徴とする付記1乃至8のいずれか1つに記載のスケジュール管理プログラム。
(付記10) コンピュータが、
ユーザが外出前にアクセスする可能性があるWebサイトに関する情報を記憶する記憶部を参照して、前記Webサイトへのアクセスを検出し、
前記検出されたアクセスを行ったユーザのスケジュールのうち、前記アクセス以降の時間帯に登録された予定を外出と設定する
処理を行うスケジュール管理方法。
(付記11)ユーザが外出前にアクセスする可能性があるWebサイトに関する情報を記憶する記憶部と、
前記Webサイトへのアクセスを検出する検出部と、
前記検出されたアクセスを行ったユーザのスケジュールのうち、前記アクセス以降の時間帯に登録された予定を外出と設定する設定部と、
を有することを特徴とするスケジュール管理装置。