以下、図面に基づいて、本願の開示する管理装置、管理プログラム及び管理方法の実施例を詳細に説明する。尚、本実施例により、開示技術が限定されるものではない。また、以下に示す各実施例は、矛盾を起こさない範囲で適宜組み合わせても良い。
図1は、図書館システムの一例を示す説明図である。図1に示す図書館システム1は、図書館側のサーバ2と、複数の利用者端末3とを有し、サーバ2と利用者端末3との間をインターネット4等で接続している。
サーバ2は、電子書籍(以下、単に書籍と称する)を管理し、利用者端末3に対して書籍を提供するサーバである。サーバ2は、通信インタフェース21と、データベース(以下、単にDBと称する)記憶部22と、ROM(Read Only Memory)23と、RAM(Random Access Memory)24と、制御部25とを有する。通信インタフェース21は、インターネット4等との通信を司るインタフェースである。DB記憶部22は、各種DBを記憶管理する記憶領域である。ROM23は、各種プログラム等の情報を格納した領域である。各種プログラムには、例えば、識別プログラム23A、配信プログラム23B、貸与プログラム23C、登録プログラム23D及び判定プログラム23E等がある。RAM24は、各種情報を記憶する領域である。制御部25は、サーバ2全体を制御する。
DB記憶部22は、利用者DB41と、書籍DB42と、貸出書籍DB43と、閲覧DB44と、予約DB45と、ペースDB46とを有する。
図2は、利用者DB41の一例を示す説明図である。図2に示す利用者DB41は、利用者に関する情報を管理し、利用者ID41A、氏名41B、住所41C及び職業41Dを対応付けて管理している。利用者ID41Aは、利用者を識別するIDである。氏名41Bは、利用者を識別する氏名である。住所41Cは、利用者の住所である。職業41Dは、利用者の職業である。
図3は、書籍DB42の一例を示す説明図である。図3に示す書籍DB42は、書籍に関する情報を管理し、書籍名ID42A、作者42B、出版社42C、書籍総ページ数42D、ライセンスID42E及び書籍画像42Fを対応付けて管理している。書籍名42Aは、書籍の作品名である。作者42Bは、書籍の作者名である。出版社42Cは、書籍の出版社名である。書籍総ページ数42Dは、書籍の総ページ数である。ライセンスID42Eは、書籍のライセンスを識別するIDである。書籍画像42Fは、書籍の表紙画像を示す情報である。
図4は、貸出書籍DB43の一例を示す説明図である。図4に示す貸出書籍DB43は、貸出中の書籍に関する情報を管理し、ライセンスID43A、書籍名43B、貸出状況43C、利用者ID43D及び返却月日43Eを対応付けて管理している。ライセンスID43Aは、貸出中の書籍のライセンスを識別するIDである。書籍名43Bは、貸出中の書籍の作品名である。貸出状況43Cは、書籍の貸出状況、例えば、貸出中や在庫あり等の情報である。利用者ID43Dは、貸出中の書籍の利用者を識別するIDである。返却月日43Eは、貸出中の書籍の返却月日である。尚、貸出状況43Cの「在庫あり」の場合、貸出中の利用者の利用者ID43D及び返却月日43Eは「なし」である。
図5は、閲覧DB44の一例を示す説明図である。図5に示す閲覧DB44は、貸出中の書籍の閲覧状況に関する情報を管理し、利用者ID44A、ライセンスID44B、書籍名44C、閲覧状況44D及び閲覧ページ数44Eを対応付けて管理している。利用者ID44Aは、貸出中の書籍の利用者を識別するIDである。ライセンスID44Bは、貸出中の書籍のライセンスを識別するIDである。書籍名44Cは、貸出中の書籍の作品名である。閲覧状況44Dは、貸出中書籍の閲覧状況、例えば、「終了」、「未閲覧」及び「閲覧中」の3種類がある。閲覧ページ数44Eは、最終閲覧ページを識別するページ数である。
図6は、予約DB45の一例を示す説明図である。図6に示す予約DB45は、貸出予約を要求する予約要求者に関わる情報を管理し、予約要求者の利用者ID45A、ライセンスID45B、書籍名45C、権限フラグ45D、権限貸与者の利用者ID45E、予約フラグ45F及び予約番号45Gを対応付けて管理している。予約要求者の利用者ID45Aは、貸出予約を要求する予約要求者を識別するIDである。ライセンスID45Bは、貸出予約の書籍のライセンスを識別するIDである。書籍名45Cは、貸出予約の書籍の作品名である。権限フラグ45Dは、貸出中の書籍の利用者から閲覧権限を貸与されたか否かを示す情報であって、閲覧権限が貸与された場合は“1”、閲覧権限が貸与されなかった場合は“0”である。権限貸与者の利用者ID45Eは、閲覧権限を付与した利用者を識別するIDである。予約フラグ45Fは、書籍の貸出を予約したか否かを示すフラグであって、書籍の貸出を予約した場合は“1”、書籍の貸出を予約しなかった場合は“0”である。予約番号45Gは、書籍の貸出予約の識別番号である。尚、制御部25は、権限フラグ45Dが“1”の場合、すなわち、利用者から閲覧権限を付与されているため、利用者ID45Eに権限貸与者の利用者ID、予約フラグ45Fに“0”、予約番号に「なし」を登録する。これに対して、制御部25は、権限フラグ45Dが“0”の場合、すなわち、閲覧権限が付与されていないため、権限貸与者の利用者ID45Eに「なし」、予約フラグ45Fに“1”、予約番号45Gに予約番号を登録する。
図7は、ペースDB46の一例を示す説明図である。図7に示すペースDB46は、利用者毎の読書ペースに関わる情報を管理し、利用者ID46A、読書済み書籍名46B、実読書時間46C、実読書日数46D、書籍総ページ数46E及び累積平均読書速度46Fを対応付けて管理している。利用者ID46Aは、利用者を識別するIDである。読書済み書籍名46Bは、読書済みの書籍の作品名である。実読書時間46Cは、書籍の読書完了に要した実時間である。実読書日数46Dは、書籍の読書完了に要した実日数である。書籍総ページ数46Eは、書籍の総ページ数である。累積平均読書速度46Fは、利用者の1日当たりの平均読書時間に相当する読書平均速度及び、1ページに要する平均読書時間に相当する読書平均速度である。
図1に示すサーバ2内の制御部25は、ROM23内に格納された各種プログラム23A〜23Eを読み出し、これらプログラム23A〜23Eに基づき各種プロセスを機能として実行する。制御部25は、機能として、識別部25Aと、配信部25Bと、貸与部25Cと、登録部25Dと、判定部25Eとを有する。識別部25Aは、利用者端末3に貸出中の書籍に対する予約要求者の利用者端末3から予約要求を検出すると、閲覧DB44内の閲覧状況44Dを参照して、予約要求の貸出対象書籍の閲覧状況を識別する。配信部25Bは、識別部25Aで識別された貸出対象書籍の閲覧状況に基づき、貸出対象書籍を借受中の利用者端末3に対して、貸出対象書籍の優先メッセージ等の予約要求メッセージを送信する。
貸与部25Cは、利用者端末3から予約要求メッセージに対する承諾を検出すると、利用者端末3に貸出中の貸出対象書籍の閲覧権限を予約要求者の利用者端末3に貸与して、予約DB45を更新登録する。貸与部25Cは、予約DB45内の予約要求者の利用者ID45A、貸出対象書籍のライセンスID45B、書籍名45C、権限フラグ45Dの「1」、利用者ID45Eの権限貸与者の利用者ID、予約フラグ45Fの「0」、予約番号45Gの「なし」を登録する。登録部25Dは、利用者端末3から予約要求メッセージに対する拒否を検出すると、貸出対象書籍を予約要求者の利用者端末3への貸出予約を登録すべく、予約DB45を更新登録する。登録部25Dは、予約DB45内の予約要求者の利用者ID45A、貸出対象書籍のライセンスID45B、書籍名45C、権限フラグ45Dの「0」、利用者ID45Eの「なし」、予約フラグ45Fの「1」、予約番号45Gを登録する。
判定部25Eは、ペースDB46を参照し、貸出対象書籍の利用者の累積平均読書速度46Fに基づき、予約要求の貸出対象書籍の現在読書位置から読書終了位置までに要する貸出中利用者側の第1の読書推定時間を算出する。判定部25Eは、予約要求者の累積平均読書速度46Fに基づき、予約要求の貸出対象書籍の読書開始位置から読書終了位置までに要する予約要求者側の第2の読書推定時間を算出する。更に、判定部25Eは、第1の読書推定時間と第2の読書推定時間との合計時間が貸出対象書籍の返却日以内であるか否かを判定する。
また、判定部25Eは、貸出書籍DB43内の貸出中書籍の返却月日43Eを参照し、利用者に貸出中の貸出中書籍の内、予約要求の貸出対象書籍の返却日よりも早い貸出中書籍があるか否かを判定する。判定部25Eは、貸出対象書籍の返却日よりも早い貸出中書籍がある場合、貸出対象書籍の利用者の累積平均読書速度46Fに基づき、貸出対象書籍の現在読書位置から読書終了位置までに要する第3の読書推定時間を算出する。判定部25Eは、貸出対象書籍の返却日よりも早い貸出中書籍の現在読書位置から読書終了位置までに要する第4の読書推定時間を算出する。判定部25Eは、第3の読書推定時間と第4の読書推定時間とを比較して判定する。尚、判定部25Eは、例えば、第一の判定部及び第2の判定部である。
利用者端末3は、例えば、利用者のタブレット端末やスマートフォン等の端末である。利用者端末3は、通信インタフェース31と、操作部32と、表示部33と、ROM34と、RAM35と、制御部36とを有する。通信インタフェース31は、インターネット等との通信を司るインタフェースである。操作部32は、各種情報を入力する入力インタフェースである。表示部33は、各種情報を画面表示する出力インタフェースである。ROM34は、各種プログラム等を格納した領域である。RAM35は、各種情報を記憶する領域である。制御部36は、利用者端末3全体を制御する。
図8Aは、利用者端末3の予約要求者の個人本棚画面(閲覧権限貸与前)の一例を示す説明図である。図8Aに示す個人本棚画面51は、予約要求者である、例えば、「青山太郎」の閲覧権限貸与前の個人本棚画面である。個人本棚画面51では、貸出書籍一覧51Aと、お気に入り書籍一覧51Bとを有する。貸出書籍一覧51Aには、現在借受中の登録書籍を一覧表示する領域である。お気に入り書籍一覧51Bは、お気に入りの登録書籍を一覧表示する領域である。
図8Bは、利用者端末3の利用者の個人本棚画面(閲覧権限貸与前)の一例を示す説明図である。図8Bに示す個人本棚画面52は、予約要求の貸出対象書籍を借受中の利用者である、例えば、「本田一郎」の閲覧権限貸与前の個人本棚画面である。個人本棚画面52では、貸出書籍一覧52Aと、お気に入り書籍一覧52Bとを有する。貸出書籍一覧52Aには、現在借受中の登録書籍を一覧表示する領域である。お気に入り書籍一覧52Bは、お気に入りの登録書籍を一覧表示する領域である。また、貸出書籍一覧52Aには、閲覧中52Cを付して閲覧中の登録書籍を識別表示している。利用者は、個人本棚画面52上の閲覧中52Cを見て、現在閲覧中の登録書籍を視認できる。
尚、サーバ2内の制御部25は、利用者毎の個人本棚画面を生成し、生成した個人本棚画面を利用者端末3に送信する。制御部25は、利用者「本田一郎」に貸出中の「大阪城のひみつ」を予約要求者「青山太郎」へ閲覧権限を貸与する場合、図9A及び図9Bに示すように「本田一郎」及び「青山太郎」の個人本棚画面を生成し、生成した個人本棚画面を利用者端末3に送信する。
図9Aは、利用者端末3の予約要求者の個人本棚画面(閲覧権限貸与後)の一例を示す説明図である。図9Aに示す個人本棚画面51は、予約要求者である「青山太郎」の個人本棚画面である。個人本棚画面51上の貸出書籍一覧51Aには、例えば、「本田一郎」から閲覧権限が貸与された「大阪城のひみつ」の書籍が表示される。更に、書籍には、貸与期限51Cを付して閲覧権限が貸与された書籍を識別表示している。予約要求者は、個人本棚画面51上の貸与期限51Cを見て、閲覧権限が貸与された書籍の貸与期限を視認できる。
図9Bは、利用者端末3の利用者(権限貸与者)の個人本棚画面(閲覧権限貸与後)の一例を示す説明図である。図9Bに示す個人本棚画面52は、利用者である「本田一郎」の個人本棚画面である。個人本棚画面52上の貸出書籍一覧52Aには、「青山太郎」に閲覧権限を貸与した「大阪城のひみつ」の書籍が表示される。更に、書籍には、貸与期限52Dを付して閲覧権限を貸与した書籍を識別表示している。権限貸与者は、個人本棚画面52上の貸与期限52Dを見て、閲覧権限を貸与した書籍の貸与期限を視認できる。更に、貸出書籍一覧52Aには、優先閲覧52Eを付して優先的に読むべき書籍を識別表示している。尚、優先的に読むべき書籍とは、例えば、判定部25Eが貸出対象書籍の閲覧権限を予約要求者に貸与する際に判定した貸出対象書籍の返却日よりも早い登録書籍である。権限貸与者は、個人本棚画面52上の優先閲覧52Eを見て、優先的に読むべき貸出中書籍を視認できる。
次に本実施例の図書館システム1の動作について説明する。図10は、配信処理に関わるサーバ2側の制御部25の処理動作の一例を示すフローチャートである。図10に示す配信処理は、利用者端末3からの要求に応じて各種画面を提供する処理である。
図10においてサーバ2側の制御部25は、利用者端末3から利用者IDを受信したか否かを判定する(ステップS11)。制御部25は、利用者IDを受信した場合(ステップS11肯定)、利用者DB41を参照して利用者IDを認証し(ステップS12)、認証OKであるか否かを判定する(ステップS13)。
制御部25内の配信部25Bは、認証OKである場合(ステップS13肯定)、閲覧メニュー画面を利用者端末3に送信する(ステップS14)。尚、閲覧メニュー画面は、例えば、書籍の検索、貸出書籍の検索や書籍の予約等をサーバ2に要求するためのメニュー画面である。利用者端末3は、閲覧メニュー画面を表示部33に画面表示する。制御部25は、利用者端末3から書籍検索要求を受信したか否かを判定する(ステップS15)。尚、書籍検索要求は、閲覧メニュー画面上の書籍を検索する検索要求のコマンドである。
配信部25Bは、書籍検索要求を受信した場合(ステップS15肯定)、書籍検索結果画面を利用者端末3に送信する(ステップS16)。尚、利用者端末3は、書籍検索結果画面を表示部33に画面表示する。利用者は、書籍の検索結果を視認できる。
制御部25は、利用者端末3から書籍貸出要求を受信したか否かを判定する(ステップS17)。尚、書籍貸出要求は、サーバ2に対して貸出書籍を要求する要求コマンドである。制御部25は、書籍貸出要求を受信した場合(ステップS17肯定)、貸出書籍DB43を参照して書籍貸出要求の貸出対象書籍の貸出状況43Cを取得する(ステップS18)。
制御部25は、貸出対象書籍の貸出状況43Cを参照し、貸出対象書籍の在庫があるか否かを判定する(ステップS19)。配信部25Bは、貸出対象書籍の在庫がない場合(ステップS19否定)、利用者の利用者端末3に貸出対象書籍の予約確認画面を送信する(ステップS20)。尚、利用者の利用者端末3は、予約確認画面を表示部33に画面表示する。利用者は、予約確認画面を見て貸出対象書籍の予約を要求するか否かを視認できる。
制御部25は、予約要求者の利用者端末3から貸出対象書籍の予約要求を受信したか否かを判定する(ステップS21)。制御部25は、貸出対象書籍の予約要求を受信した場合(ステップS21肯定)、貸出書籍DB43の貸出状況43Cを参照して貸出対象書籍を貸出中の利用者の利用者ID43Dを取得する(ステップS22)。制御部25内の識別部25Aは、閲覧DB44を参照して該当利用者ID44Aの閲覧状況44Dを取得し(ステップS23)、図11に示すM1に移行する。
制御部25は、利用者端末3から利用者IDを受信しなかった場合(ステップS11否定)、図10に示す処理動作を終了する。配信部25Bは、認証OKでない場合(ステップS13否定)、認証エラー画面を利用者端末3に送信し(ステップS24)、図10に示す処理動作を終了する。
制御部25は、利用者端末3から書籍検索要求を受信しなかった場合(ステップS15否定)、書籍検索要求を受信したか否かを判定すべく、ステップS15に移行する。制御部25は、利用者端末3から書籍貸出要求を受信しなかった場合(ステップS17否定)、書籍貸出要求を受信したか否かを判定すべく、ステップS17に移行する。
制御部25内の登録部25Dは、貸出対象書籍の在庫がある場合(ステップS19肯定)、貸出書籍DB43の貸出対象書籍のライセンスID43Aに対応付けて貸出状況43Cを「貸出中」として登録するとともに、利用者ID43Dには利用者の利用者ID、貸出対象書籍の返却月日も登録する。(ステップS25)。配信部25Bは、利用者の利用者端末3に対して貸出対象書籍の貸出可能画面を送信する(ステップS26)。尚、貸出可能画面は、利用者に対して貸出対象書籍の貸出登録完了の画面である。
更に、制御部25は、利用者端末3からログアウト要求を受信したか否かを判定する(ステップS27)。配信部25Bは、ログアウト要求を受信した場合(ステップS27肯定)、利用者端末3に対してログアウト完了画面を送信し(ステップS28)、図10に示す処理動作を終了する。また、制御部25は、ログアウト要求を受信しなかった場合(ステップS27否定)、ログアウト要求を受信したか否かを判定すべく、ステップS27に移行する。また、制御部25は、貸出対象書籍の予約要求を受信しなかった場合(ステップS21否定)、書籍貸出要求を受信したか否かを判定すべく、ステップS17に移行する。
図11に示すM1において識別部25Aは、貸出対象書籍の閲覧状況44Dが「閲覧中」であるか否かを判定する(ステップS31)。識別部25Aは、貸出対象書籍の閲覧状況44Dが「閲覧中」でない場合(ステップS31否定)、貸出対象書籍の閲覧状況44Dが「終了」であるか否かを判定する(ステップS32)。
識別部25Aは、貸出対象書籍の閲覧状況44Dが「終了」でない場合(ステップS32否定)、貸出対象書籍の閲覧状況44Dが「未閲覧」と判定し、貸出書籍DB43を参照して貸出対象書籍以外の貸出中書籍の有無を検索する(ステップS33)。識別部25Aは、貸出中書籍が2冊以上であるか否かを判定する(ステップS34)。
配信部25Bは、貸出中書籍が2冊以上でない場合(ステップS34否定)、すなわち1冊である場合、図12に示す第1の閲覧権限貸与処理を実行する(ステップS35)。配信部25Bは、第1の閲覧権限貸与処理を実行後、予約要求者の利用者端末3に、閲覧権限の貸与期限51Cを付した図9Aに示す個人本棚画面51を送信する(ステップS36)。尚、予約要求者は、個人本棚画面51の貸与期限51Cを見て閲覧権限が貸与された書籍の貸与期限を視認できる。
更に、配信部25Bは、権限貸与者の利用者端末3に、予約要求者に閲覧権限を貸与した貸与期限52Dを付した、図9Bに示す個人本棚画面52を送信し(ステップS37)、ログアウト要求を受信したか否かを判定すべく、図10に示すM2に移行する。尚、権限貸与者は、個人本棚画面52の貸与期限52Dを見て、閲覧権限を貸与した書籍、その貸与期限を視認できる。
配信部25Bは、貸出中書籍が2冊以上の場合(ステップS34肯定)、図13に示す第2の閲覧権限貸与処理を実行する(ステップS38)。配信部25Bは、第2の閲覧権限貸与処理を実行後、予約要求者の利用者端末3に貸与期限51Cを付した図9Aに示す個人本棚画面51を送信する(ステップS39)。尚、予約要求者は、個人本棚画面51上の貸与期限51Cを見て、閲覧権限が貸与された書籍の貸与期限を視認できる。
配信部25Bは、権限貸与者の利用者端末3に、予約要求者に閲覧権限を貸与した貸与期限52D及び優先閲覧52Eを付した個人本棚画面52を送信し(ステップS40)、図10に示すM2に移行する。尚、権限貸与者は、個人本棚画面52上の貸与期限52D及び優先閲覧52Eを見て、閲覧権限を貸与した書籍、その貸与期限及び優先的に閲覧すべき貸出中書籍を視認できる。
識別部25Aは、貸出対象書籍の閲覧状況44Dが「閲覧中」の場合(ステップS31肯定)、貸出対象書籍以外の貸出中書籍の有無を検索すべく、ステップS33に移行する。配信部25Bは、貸出対象書籍の閲覧状況44Dが「終了」の場合(ステップS32肯定)、貸出中利用者の利用者端末3に返却メッセージを送信する(ステップS41)。尚、返却メッセージは、貸出中の利用者に対して閲覧完了済みの貸出対象書籍の返却を促すメッセージである。返却メッセージの一例としては、「読み終えた本です。この本を読みたい人が他にいますので、返却して下さい。」等のメッセージである。
制御部25内の登録部25Dは、貸出中利用者の利用者端末3から返却メッセージに対する貸出対象書籍の返却許可を受信したか否かを判定する(ステップS42)。登録部25Dは、貸出中利用者の利用者端末3から貸出対象書籍の返却許可を受信した場合(ステップS42肯定)、貸出書籍DB43内の貸出対象書籍の貸出中利用者ID43Dを削除して予約要求者の利用者IDを登録する(ステップS43)。更に、配信部25Bは、予約要求者の利用者端末3に貸出対象書籍の貸出可能画面を送信し(ステップS44)、ログアウト要求を受信したか否かを判定すべく、図10に示すM1に移行する。尚、予約要求者は、貸出可能画面を見て貸出対象書籍の貸出完了を視認できる。
登録部25Dは、貸出利用者の利用者端末3から返却許可を受信しなかった場合(ステップS42否定)、予約DB45内の予約要求者の利用者IDに対応付けた権限フラグ45Dに「0」(貸与不可)、予約フラグ45Fに「1」及び予約番号45Gを登録する(ステップS45)。更に、配信部25Bは、予約要求者の利用者端末3に予約待ち画面を送信し(ステップS46)、ログアウト要求を受信したか否かを判定すべく、図10に示すM1に移行する。尚、予約待ち画面には、当該貸出対象書籍の予約待ちの人数を表示している。
図10に示す配信処理の制御部25は、貸出対象書籍の在庫がある場合、貸出対象書籍の貸出可能画面を、書籍貸出を要求した利用者端末3に送信する。その結果、書籍貸出を要求した利用者は、貸出可能画面を見て、貸出対象書籍の貸出登録完了を視認できる。
制御部25は、貸出対象書籍が閲覧中又は未閲覧の場合、貸出対象書籍以外の貸出中書籍が2冊以上であるか否かを判定する。制御部25は、貸出中書籍が1冊である場合で、貸出対象書籍の閲覧権限を予約要求者に貸与する場合、権限貸与者の利用者端末3に貸与期限52Dを付した個人本棚画面52を送信する。その結果、権限貸与者は、個人本棚画面52の貸与期限52Dを見て、貸出対象書籍の貸与期限を視認できる。
制御部25は、貸出中書籍が2冊以上の場合で、貸出対象書籍の閲覧権限を予約要求者に貸与する場合、権限貸与者の利用者端末3に貸与期限52D及び優先閲覧52Eを付した個人本棚画面52を送信する。その結果、権限貸与者は、個人本棚画面52の貸与期限52D及び優先閲覧52Eを見て、閲覧権限を貸与した書籍、その貸与期限及び閲覧すべき書籍を視認できる。
制御部25は、貸出対象書籍の閲覧権限が予約要求者に貸与された場合、予約要求者の利用者端末3に、閲覧権限の貸与期限51Cを付した個人本棚画面51を送信する。その結果、予約要求者は、個人本棚画面51の貸与期限51Cを見て、閲覧権限が貸与された書籍の貸与期限を視認できる。
制御部25は、貸出対象書籍の閲覧状況44Dが「終了」の場合、貸出中利用者の利用者端末3に貸出対象書籍の返却メッセージを送信する。その結果、貸出中の利用者は、貸出対象書籍の返却を促すメッセージを視認できる。
制御部25は、貸出中利用者の利用者端末3から返却メッセージに対する貸出対象書籍の返却許可を受信した場合、予約要求者の利用者端末3に貸出対象書籍の貸出を登録し、予約要求者の利用者端末3に貸出可能画面を送信する。その結果、利用者は、貸出可能画面を見て、貸出対象書籍の登録完了を視認できる。
尚、図11に示す配信処理では、貸出対象書籍の閲覧状況が「閲覧中」の場合(ステップS31肯定)、ステップS33に移行するようにしたが、図10に示すM2に移行するようにしても良い。
図12は、第1の閲覧権限貸与処理に関わるサーバ2側の制御部25の処理動作の一例を示すフローチャートである。図12に示す第1の閲覧権限貸与処理は、貸出対象書籍以外の貸出中書籍が1冊である場合に、貸出対象書籍の閲覧権限を予約要求者に貸与する際の処理である。
制御部25は、図11に示すステップS34にて貸出中書籍が1冊である場合に、第1の閲覧権限貸与処理を起動する。制御部25は、ペースDB46を参照し、予約要求者及び貸出中利用者の累積平均読書速度46Fを取得する(ステップS51)。制御部25内の判定部25Eは、予約要求者の累積平均読書速度と貸出中利用者の累積平均読書速度とを比較して、予約要求者の累積平均読書速度の方が速いか否かを判定する(ステップS52)。
判定部25Eは、予約要求者の累積平均読書速度の方が速い場合(ステップS52肯定)、予約要求者及び貸出中利用者の貸出対象書籍の読書完了に要する日数を算出する(ステップS53)。尚、判定部25Eは、閲覧DB44の貸出対象書籍の閲覧ページ数44E、書籍DB42の貸出対象書籍の書籍総ページ数42D、ペースDB46の貸出中利用者の累積平均読書速度46Fを取得する。判定部25Eは、閲覧ページ数44E、書籍総ページ数42D及び累積平均読書速度46Fに基づき、貸出対象書籍の現在読書位置から読書完了位置までの貸出中利用者側の第1の読書推定時間を算出する。更に、判定部25Eは、貸出対象書籍に関わる書籍総ページ数42D及び予約要求者の累積平均読書速度46Fに基づき、貸出対象書籍の読書開始位置から読書完了位置までの予約要求者側の第2の読書推定時間を算出する。判定部25Eは、第1の読書推定時間と第2の読書推定時間とを合計した合計時間を日数換算し、予約要求者及び貸出中利用者の貸出対象書籍の読書完了に要する日数とする。
判定部25Eは、予約要求者及び貸出中利用者の貸出対象書籍の読書完了日数を算出した後、貸出書籍DB43内の貸出対象書籍の返却月日43Eを参照して読書完了日数が本日から貸出対象書籍の返却日以内であるか否かを判定する(ステップS54)。
判定部25Eは、読書完了日数が本日から貸出対象書籍の返却日以内である場合(ステップS54肯定)、貸出中利用者の利用者端末3に予約要求者に閲覧権限を貸与するか否かを示す確認メッセージを送信する(ステップS55)。尚、確認メッセージは、予約要求者の予約要求に関わる貸出対象書籍を示すメッセージである。確認メッセージの一例としては、「予約が入りました。○月×日までに返却可能な利用者です。本を譲りましょうか?」のメッセージである。貸出中利用者は、確認メッセージを見て予約要求者に対して貸出対象書籍の閲覧権限を貸与できる旨を視認できる。
判定部25Eは、貸出中利用者の利用者端末3から確認メッセージに対する応答を受信したか否かを判定する(ステップS56)。制御部25内の貸与部25Cは、応答を受信した場合(ステップS56肯定)、応答内容が閲覧権限貸与の承諾であるか否かを判定する(ステップS57)。
貸与部25Cは、貸出中利用者の利用者端末3からの承諾である場合(ステップS57肯定)、予約DB45内の予約要求者の利用者ID45Aに対応付けて権限フラグ45Dに「1」(貸与)、利用者ID45Eに権限貸与者の利用者IDを登録する(ステップS58)。その結果、貸出中利用者である権限貸与者は、予約要求者に対して貸出対象書籍の閲覧権限を貸与できる。そして、制御部25は、図12に示す処理動作を終了する。
判定部25Eは、予約要求者側の累積平均読書速度の方が速くない場合(ステップS52否定)や、読書完了日数が貸出対象書籍の返却日以内でない場合(ステップS54否定)、ログアウト要求を受信したか否かを判定すべく、図10に示すM2に移行する。
判定部25Eは、貸出中利用者の利用者端末3から確認メッセージに対する応答を受信しなかった場合(ステップS56否定)、確認メッセージに対する応答を受信したか否かを判定すべく、ステップS56に移行する。判定部25Eは、応答内容が閲覧権限貸与の承諾でない場合(ステップS57否定)、ログアウト要求を受信したか否かを判定すべく、図10に示すM2に移行する。
図12に示す第1の閲覧権限貸与処理の制御部25は、貸出対象書籍以外の貸出中書籍が1冊であり、貸出中利用者よりも予約要求者の累積平均読書速度が速く、予約要求者及び貸出中利用者の貸出対象書籍の読書完了日数が貸出対象書籍の返却日以内であるか否かを判定する。制御部25は、貸出対象書籍の読書完了日数が貸出対象書籍の返却日以内の場合、かつ、貸出中利用者の利用者端末3から閲覧権限の貸与の承諾を受信した場合、貸出対象書籍の閲覧権限を予約要求者に貸与する。その結果、予約要求者は、権限貸与者の貸出対象書籍を閲覧できる。
図13は、第2の閲覧権限貸与処理に関わるサーバ2側の制御部25の処理動作の一例を示すフローチャートである。図13に示す第2の閲覧権限貸与処理は、貸出対象書籍以外の貸出中書籍が2冊以上の場合に、貸出対象書籍の閲覧権限を予約要求者に貸与する際の処理である。
図13において制御部25内の判定部25Eは、図11に示すステップS34にて貸出中書籍が2冊以上の場合に、第2の閲覧権限貸与処理を起動する。制御部25は、貸出書籍DB43を参照して貸出中利用者に貸出中の全書籍の返却月日43Eを取得する(ステップS61)。判定部25Eは、貸出中の全書籍の内、貸出対象書籍よりも返却日までの期間が短い貸出中書籍があるか否かを判定する(ステップS62)。
判定部25Eは、貸出対象書籍よりも返却日までの期間が短い貸出中書籍がある場合(ステップS62肯定)、返却日までの期間が短い貸出中書籍と貸出対象書籍とを読み終えるのに必要な日数を累積平均読書速度46Fから算出する(ステップS63)。尚、判定部25Eは、閲覧DB44の貸出対象書籍の閲覧ページ数44E、書籍DB42の貸出対象書籍の書籍総ページ数42D、ペースDB46の貸出中利用者の累積平均読書速度46Fを取得する。判定部25Eは、閲覧ページ数44E、書籍総ページ数42D及び累積平均読書速度46Fに基づき、貸出対象書籍の現在読書位置から読書完了位置までの利用者の第3の読書推定時間を算出する。また、判定部25Eは、閲覧ページ数44E、書籍総ページ数42D及び累積平均読書速度46Fに基づき、貸出対象書籍よりも返却日が短い貸出中書籍の読書完了位置までに要する利用者の第4の読書推定時間を算出する。判定部25Eは、第3の読書推定時間及び第4の読書推定時間の合計時間を日数で換算して必要日数を算出する。
判定部25Eは、算出した必要日数に基づき、貸出対象書籍の返却日よりも期間の短い貸出中書籍を優先し、貸出対象書籍を後回しにしても当該貸出対象書籍の返却日までに貸出対象書籍を読み切れるか否かを判定する(ステップS64)。判定部25Eは、貸出対象書籍を後回しにしても貸出対象書籍の返却日までに読み切れる場合(ステップS64肯定)、貸出中利用者が返却日までに貸出対象書籍を読み切るための必要返却期限を特定する(ステップS64A)。判定部25Eは、予約要求者が貸出対象書籍の読書完了日数を予約要求者の累積平均読書速度に基づき算出する(ステップS64B)。判定部25Eは、現在から貸出対象書籍の読書完了日数に要する予約要求者側の読書完了日が貸出中利用者の必要返却期限前であるか否かを判定する(ステップS64C)。尚、例えば、現在が3月5日、貸出対象書籍の読書完了日数が5日の読書完了日は、3月10日となる。判定部25Eは、予約要求者側の読書完了日が貸出中利用者の必要返却期限前である場合(ステップS64C肯定)、貸出中利用者の利用者端末3に、予約要求者の存在及び、返却日の迫っている貸出中書籍を示す優先メッセージを送信する(ステップS65)。尚、優先メッセージは、閲覧順序変更の要求を示すメッセージである。優先メッセージの一例としては、「予約が入りました。*月*日までに返却可能な利用者です。しかも、O月O月返却期限の本が他にもあります。この本を先に読んで、予約の入った本は譲りましょうか?」のメッセージである。利用者は、優先メッセージを見て、貸出中書籍の中に予約要求者から予約要求の貸出対象書籍及び、貸出対象書籍の返却日よりも期間の短い貸出中書籍があり、返却日の短い貸出中書籍を先に読んでも貸出対象書籍が返却日内に読み切れる旨を視認できる。
判定部25Eは、優先メッセージに対する貸出中利用者の利用者端末3から順番変更の承諾を受信したか否かを判定する(ステップS66)。貸与部25Cは、順番変更の承諾を受信した場合(ステップS66肯定)、予約DB45内の予約要求者の利用者IDに対応付けて権限フラグ45Dに「1」(貸与)、利用者ID45Eに権限貸与者の利用者IDを登録する(ステップS67)。その結果、貸出中利用者である権限貸与者は、予約要求者に対して貸出対象書籍の閲覧権限を貸与できる。そして、制御部25は、図13に示す処理動作を終了する。
判定部25Eは、貸出対象書籍の返却日までの期限が短い貸出中書籍がない場合(ステップS62否定)や、貸出対象書籍の返却日までに貸出対象書籍を読み切れない場合(ステップS64否定)、貸出対象書籍の貸出予約を登録すべく、図11に示すM3に移行する。判定部25Eは、予約要求者側の読書完了日が貸出中利用者の必要返却期限前でない場合(ステップS64C否定)、図11に示すM3に移行する。判定部25Eは、貸出中利用者の利用者端末3から順番変更の承諾を受信しなかった場合(ステップS66否定)、図11に示すM3に移行する。
図13に示す第2の閲覧権限貸与処理の制御部25は、貸出対象書籍以外の貸出中書籍が2冊以上、かつ、貸出中書籍の内、貸出対象書籍の返却日よりも短い貸出中書籍があるか否かを判定する。制御部25は、貸出対象書籍の返却日よりも短い貸出中書籍があり、かつ、返却日の短い貸出中書籍を優先して貸出対象書籍を後回しにしても返却日までに読み切れる場合、貸出中利用者の利用者端末3に対して優先メッセージを送信する。その結果、貸出中利用者は、優先メッセージを見て、予約要求者から予約要求の貸出対象書籍及び、貸出対象書籍の返却日よりも期間の短い貸出中書籍があり、返却日の短い貸出中書籍を先に読んでも貸出対象書籍が返却日内に読み切れる旨を視認できる。
本実施例では、個人本棚画面内の貸出中書籍の内、予約要求者から貸出対象書籍の予約が入った場合、貸出対象書籍の閲覧状況を参照し、利用者及び予約要求者の累積平均読書速度46Fを考慮した上で利用者に貸出対象書籍の情報を知らせる。
本実施例のサーバ2内の制御部25は、貸出対象書籍に対する予約要求者の利用者端末3から予約要求を検出すると、閲覧DB44を参照して、予約要求の貸出対象書籍の閲覧状況を識別する。制御部25は、識別された貸出対象書籍の閲覧状況に基づき、貸出対象書籍の利用者の利用者端末3に対して、予約要求の貸出対象書籍に関わる、例えば、優先メッセージ、確認メッセージや返却メッセージ等の予約要求メッセージを送信する。利用者は、予約要求メッセージを見て、貸出中書籍の内、優先して閲覧すべき、予約要求の貸出対象書籍を認識できる。更に、サーバ2は、利用者に予約要求の貸出対象書籍を認識させることで、貸出対象書籍の貸出の回転効率の向上が図れる。
制御部25は、利用者端末3から予約要求メッセージに対する承諾を検出すると、貸出対象書籍の閲覧権限を予約要求者の利用者端末3に貸与する。その結果、貸出対象書籍の閲覧権限を予約要求者に簡単に貸与できる。
制御部25は、利用者端末3から予約要求メッセージに対する拒否を検出すると、貸出対象書籍の予約要求者による貸出予約を登録する。その結果、貸出対象書籍の貸出予約を予約要求者に簡単に登録できる。
制御部25は、貸出対象書籍に要する利用者側の第1の読書推定時間と、貸出対象書籍に要する予約要求者側の第2の読書推定時間とで貸出対象書籍の読書完了日数を算出する。更に、制御部25は、読書完了日数が貸出対象書籍の返却日以内の場合、利用者の利用者端末3に確認メッセージを送信する。その結果、利用者は、確認メッセージを見て、自分の貸出中書籍の内、予約要求者から予約要求の貸出対象書籍を視認できる。
制御部25は、貸出対象書籍の返却日よりも早い貸出中書籍がある場合に、貸出対象書籍に要する第3の読書推定時間と、返却日よりも早い貸出中書籍に要する第4の読書推定時間とを算出する。制御部25は、第3の読書推定時間及び第4の読書推定時間に基づき、貸出対象書籍の返却日までに、返却日が早い貸出中書籍を優先して貸出対象書籍を読み終えるか否かを判定する。制御部25は、返却日が早い貸出中書籍を優先して貸出対象書籍を読み終えることができる場合に、利用者の利用者端末3に優先メッセージを送信する。その結果、利用者は、優先メッセージを見て、貸出中書籍の内、予約要求のある貸出対象書籍及び優先して読むべき貸出中書籍を視認できる。
尚、上記実施例では、書籍を、例えば、小説や実用書等の文章を主体にした本を例示したが、例えば、静止画や動画等の写真画像を主体にした本にも適用可能である。
また、図示した各部の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各部の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。
更に、各装置で行われる各種処理機能は、CPU(Central Processing Unit)(又はMPU(Micro Processing Unit)、MCU(Micro Controller Unit)等のマイクロ・コンピュータ)上で、その全部又は任意の一部を実行するようにしても良い。また、各種処理機能は、CPU(又はMPU、MCU等のマイクロ・コンピュータ)で解析実行するプログラム上、又はワイヤードロジックによるハードウェア上で、その全部又は任意の一部を実行するようにしても良いことは言うまでもない。
ところで、本実施例で説明した各種の処理は、予め用意されたプログラムを情報処理装置で実行することで実現できる。そこで、以下では、上記実施例と同様の機能を有するプログラムを実行する情報処理装置の一例を説明する。図14は、管理プログラムを実行する情報処理装置100の一例を示す説明図である。
図14において管理プログラムを実行する情報処理装置100では、ROM110、RAM120、CPU130及び通信部140を有する。
そして、ROM110には、上記実施例と同様の機能を発揮する管理プログラムが予め記憶されている。尚、ROM110ではなく、図示せぬドライブで読取可能な記録媒体に管理プログラムが記録されていても良い。また、記録媒体としては、例えば、CD−ROM、DVDディスク、USBメモリ、SDカード等の可搬型記録媒体、HDD、フラッシュメモリ等の半導体メモリ等でも良い。価格決定プログラムとしては、識別プログラム110A及び配信プログラム110Bである。尚、プログラム110A及び110Bについては、適宜統合又は分散しても良い。
RAM120には、利用者毎に、当該利用者の端末に貸出中の電子書籍毎の閲覧状況が記憶してある。
そして、CPU130は、これらのプログラム110A及び110BをROM110から読み出し、これら読み出された各プログラムを実行する。そして、CPU130は、各プログラム110A及び110Bを、識別プロセス130A及び配信プロセス130Bとして機能させる。
CPU130は、利用者に貸出中の電子書籍に対する予約要求者の端末から予約要求を検出すると、RAM120を参照して、予約要求の電子書籍の閲覧状況を識別する。CPU130は、識別された電子書籍の閲覧状況に基づき、電子書籍を貸出中の利用者の端末に対して、予約要求の電子書籍に関わる予約要求のメッセージを送信する。その結果、貸出中書籍の内、優先して閲覧すべき書籍を利用者に提示できる。