(57)【要約】      （修正有）【課題】登録情報の有効期限に基づいてＷｅｂページ等の画面情報を生成して端末装置に送信し、当該画面情報が適正に生成されているか否かを知ることを可能とする情報提供システムの提供。【解決手段】端末からの要求に基づき、提示情報の表示画面を生成する際、登録情報記憶手段に記憶されている登録情報に対して設定された有効期限が経過しているか否かを判別し、有効期限が経過している場合には取得された登録情報で記憶されている登録情報を更新し、プログラムインタフェースを通じた登録情報の取得エラーを検出して、有効期限が経過していないか、取得エラーが検出された何れかの場合には、記憶されている登録情報を用いて画面情報を生成し、プログラムインタフェースを通じて登録情報が取得された場合には、取得された登録情報を用いて画面情報を生成して端末装置に送信することにより、画面情報が適正に生成されているか否かを判定する。【選択図】図８
2008198158.tif 000002
【特許請求の範囲】
【請求項１】
端末装置と、前記端末装置がネットワークを介して接続可能な情報提供装置と、を備える情報提供システムであって、
前記情報提供装置は、
データベースに登録されていた登録情報であって、当該データベースを管理するデータベース管理システムに対して問い合わせを示す問い合わせ情報を出力するプログラムインタフェースを通じて当該データベース管理システムから取得された登録情報を記憶しておく登録情報記憶手段と、
ユーザに対して提示される提示情報の表示画面を構成する画面情報の要求を示す要求情報を、前記端末装置から受信する要求情報受信手段と、
前記要求情報を受信した場合に、前記登録情報記憶手段に記憶されている前記登録情報に対して設定された有効期限が経過しているか否かを判別する期限経過判別手段と、
前記有効期限が経過している場合には、前記プログラムインタフェースを通じて前記登録情報を取得し、当該取得された登録情報で、前記登録情報記憶手段に記憶されている前記登録情報を更新する登録情報取得・更新手段と、
前記プログラムインタフェースを通じた前記登録情報の取得エラーを検出する取得エラー検出手段と、
前記有効期限が経過していない場合と、前記取得エラーが検出された場合と、の何れか一方の場合には、前記登録情報記憶手段に記憶されている前記登録情報を用いて前記画面情報を生成し、前記プログラムインタフェースを通じて前記登録情報が取得された場合には、当該取得された登録情報を用いて前記画面情報を生成する画面情報生成手段と、
前記生成された画面情報を、前記要求情報を送信した前記端末装置に送信する画面情報送信手段と、
前記取得エラーの検出結果に基づいて、前記画面情報が適正に生成されているか否かの判定に用いられる適正判定情報を生成する適正判定情報生成手段と、を備え、
前記端末装置は、
前記要求情報をユーザの指令に基づいて前記情報提供装置に送信する要求情報送信手段と、
前記情報提供装置から送信された前記画面情報を受信する画面情報受信手段と、
前記受信された画面情報に基づいて、前記提示情報を画面に表示する提示情報表示手段と、
を備えることを特徴とする情報提供システム。
【請求項２】
データベースに登録されていた登録情報であって、当該データベースを管理するデータベース管理システムに対して問い合わせを示す問い合わせ情報を出力するプログラムインタフェースを通じて当該データベース管理システムから取得された登録情報を記憶しておく登録情報記憶手段と、
ユーザの指令に基づいて端末装置からネットワークを介して送信された要求情報であって、ユーザに対して提示される提示情報の表示画面を構成する画面情報の要求を示す要求情報を受信する要求情報受信手段と、
前記要求情報を受信した場合に、前記登録情報記憶手段に記憶されている前記登録情報に対して設定された有効期限が経過しているか否かを判別する期限経過判別手段と、
前記有効期限が経過している場合には、前記プログラムインタフェースを通じて前記登録情報を取得し、当該取得された登録情報で、前記登録情報記憶手段に記憶されている前記登録情報を更新する登録情報取得・更新手段と、
前記プログラムインタフェースを通じた前記登録情報の取得エラーを検出する取得エラー検出手段と、
前記有効期限が経過していない場合と、前記取得エラーが検出された場合と、の何れか一方の場合には、前記登録情報記憶手段に記憶されている前記登録情報を用いて前記画面情報を生成し、前記プログラムインタフェースを通じて前記登録情報が取得された場合には、当該取得された登録情報を用いて前記画面情報を生成する画面情報生成手段と、
前記生成された画面情報を、前記要求情報を送信した前記端末装置に前記ネットワークを介して送信する画面情報送信手段と、
前記取得エラーの検出結果に基づいて、前記画面情報が適正に生成されているか否かの判定に用いられる適正判定情報を生成する適正判定情報生成手段と、
を備えることを特徴とする情報提供装置。
【請求項３】
請求項２に記載の情報提供装置において、
前記適正判定情報生成手段は、前記取得エラーの検出数を示す取得エラー数情報を含む前記適正判定情報を生成することを特徴とする情報提供装置。
【請求項４】
請求項３に記載の情報提供装置において、
前記取得エラー検出手段は、前記取得エラーとして、前記データベース管理システムにおけるエラーと、当該データベース管理システムにおけるエラーを除いた前記プログラムインタフェースにおけるエラーと、を夫々検出し、
前記適正判定情報生成手段は、前記データベースシステムにおけるエラー数を示す第１エラー数情報と、前記プログラムインタフェースにおけるエラー数を示す第２エラー数情報と、を含む前記適正判定情報を生成することを特徴とする情報提供装置。
【請求項５】
データベースに登録されていた登録情報であって、当該データベースを管理するデータベース管理システムに対して問い合わせを示す問い合わせ情報を出力するプログラムインタフェースを通じて当該データベース管理システムから取得された登録情報を記憶しておく登録情報記憶手段を備える情報提供装置における適正判定情報生成方法であって、
ユーザの指令に基づいて端末装置からネットワークを介して送信された要求情報であって、ユーザに対して提示される提示情報の表示画面を構成する画面情報の要求を示す要求情報を受信する要求情報受信工程と、
前記要求情報を受信した場合に、前記登録情報記憶手段に記憶されている前記登録情報に対して設定された有効期限が経過しているか否かを判別する期限経過判別工程と、
前記有効期限が経過している場合には、前記プログラムインタフェースを通じて前記登録情報を取得し、当該取得された登録情報で、前記登録情報記憶手段に記憶されている前記登録情報を更新する登録情報取得・更新工程と、
前記プログラムインタフェースを通じた前記登録情報の取得エラーを検出する取得エラー検出工程と、
前記有効期限が経過していない場合と、前記取得エラーが検出された場合と、の何れか一方の場合には、前記登録情報記憶手段に記憶されている前記登録情報を用いて前記画面情報を生成し、前記プログラムインタフェースを通じて前記登録情報が取得された場合には、当該取得された登録情報を用いて前記画面情報を生成する画面情報生成工程と、
前記生成された画面情報を、前記要求情報を送信した前記端末装置に前記ネットワークを介して送信する画面情報送信工程と、
前記取得エラーの検出結果に基づいて、前記画面情報が適正に生成されているか否かの判定に用いられる適正判定情報を生成する適正判定情報生成工程と、
を備えることを特徴とする適正判定情報生成方法。
【請求項６】
データベースに登録されていた登録情報であって、当該データベースを管理するデータベース管理システムに対して問い合わせを示す問い合わせ情報を出力するプログラムインタフェースを通じて当該データベース管理システムから取得された登録情報を記憶しておく登録情報記憶手段を備える情報提供装置に含まれるコンピュータを、
ユーザの指令に基づいて端末装置からネットワークを介して送信された要求情報であって、ユーザに対して提示される提示情報の表示画面を構成する画面情報の要求を示す要求情報を受信する要求情報受信手段、
前記要求情報を受信した場合に、前記登録情報記憶手段に記憶されている前記登録情報に対して設定された有効期限が経過しているか否かを判別する期限経過判別手段、
前記有効期限が経過している場合には、前記プログラムインタフェースを通じて前記登録情報を取得し、当該取得された登録情報で、前記登録情報記憶手段に記憶されている前記登録情報を更新する登録情報取得・更新手段、
前記プログラムインタフェースを通じた前記登録情報の取得エラーを検出する取得エラー検出手段、
前記有効期限が経過していない場合と、前記取得エラーが検出された場合と、の何れか一方の場合には、前記登録情報記憶手段に記憶されている前記登録情報を用いて前記画面情報を生成し、前記プログラムインタフェースを通じて前記登録情報が取得された場合には、当該取得された登録情報を用いて前記画面情報を生成する画面情報生成手段、
前記生成された画面情報を、前記要求情報を送信した前記端末装置に前記ネットワークを介して送信する画面情報送信手段、
前記取得エラーの検出結果に基づいて、前記画面情報が適正に生成されているか否かの判定に用いられる適正判定情報を生成する適正判定情報生成手段、
として機能させることを特徴とする適正判定情報生成処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介して端末装置からの要求に応じて、ユーザに対して提示される情報の画面を構成する画面情報を、データベースに登録された情報に基づいて生成し、当該画面情報を端末装置に提供する情報提供システム、情報提供装置、当該情報提供装置における適正判定情報生成方法及び適正判定情報生成処理プログラムの技術分野に関する。
【背景技術】
【０００２】
従来から、インターネットに接続されたパーソナルコンピュータ等の端末装置からのリクエストに応じて、データベースに登録されているデータに基づきＷｅｂページを生成し、このＷｅｂページを端末装置に提供する情報提供システムが知られている。
【０００３】
こうしたシステムは、例えば、特許文献１に記載の発明のように、Ｗｅｂサーバと、ＲＤＢＭＳ（Relational DataBase Management System）等のデータベース管理システム（以下、単に「ＤＢＭＳ」という）が組み込まれたデータベースサーバとにより構成されている。Ｗｅｂサーバは、端末装置からのリクエストを受信すると、Ｗｅｂサーバプログラムから、ＯＤＢＣ（Open Database Connectivity）やＪＤＢＣといったＡＰＩ（Application Program Interface）を通じてＳＱＬ（Structured Query Language）を発行することにより、ＤＢＭＳ（データベースサーバ）からデータを取得する。そして、Ｗｅｂサーバは、取得されたデータに基づいてＷｅｂページを生成し、当該Ｗｅｂページを端末装置に送信する。このようにして、Ｗｅｂサーバにより提供されるＷｅｂページの集合は、Ｗｅｂサイトと呼ばれている。
【０００４】
ところで、インターネットの入り口ともいうべきＷｅｂサイトとして、例えば、Ｉｎｆｏｓｅｅｋ（登録商標）等のように、検索エンジンやＷｅｂディレクトリ、その他各種情報を提供するポータルサイトが知られている。このポータルサイトのトップページは、インターネットショッピング、オークション、宿泊施設の予約、ブログ、ニュース、株価情報等の各種サービスへの窓口として重要な位置を占めている。そのため、このトップページは、各サービス毎に、その一部の情報を表示している（例えば、お勧めの商品やブログの紹介、ニュースの見出し、ユーザが予め登録しておいた企業の株価情報等）。これらの情報は夫々データベースに登録され、且つ随時更新される。従って、Ｗｅｂサーバは、端末装置からのリクエストを受信する毎に、データベースからデータを取得してトップページを生成する。
【０００５】
しかしながら、ポータルサイトのトップページに対するアクセス数は、１日に何百万、何千万という膨大な数に上るため、リクエスト毎にデータベースにアクセスしていたのでは、Ｗｅｂサーバやデータベースサーバの負荷が過大となり、端末装置への応答が遅延するおそれがある。
【０００６】
そこで、こうしたポータルサイトでは、キャッシュ（cache）を用いて遅延を防止することが一般的に行われている。
【０００７】
具体的には、例えば、データベースから取得されたデータはキャッシュに格納され（以下、キャッシュに格納されているデータを「キャッシュデータ」とも称する）、有効期限（例えば、キャッシュに格納されてから３分間）が設定されている。Ｗｅｂサーバは、端末装置からリクエストを受信すると、先ず、キャッシュの有効期限が経過しているか否かを判別する。Ｗｅｂサーバは、有効期限が経過していない場合には、キャッシュデータを読み出す一方、有効期限が経過している場合には、ＡＰＩに対してデータの取得を指令する。そして、ＡＰＩを通じてデータを取得することができた場合には、キャッシュデータを更新するとともに、改めて有効期限を設定する。ポータルサイトのトップページに表示されるような情報は、データベースにおけるデータの更新を即時に反映させなければならないものは一般的には少ないため、有効期限内であれば、キャッシュに格納されたデータを用いてＷｅｂページを生成することで、データベースへのアクセス数を減らして、負荷をかけることなく迅速に端末装置に対して応答することができる。
【０００８】
ただし、ＡＰＩにおける処理遅延やＤＢＭＳにおける処理遅延等が発生したためにタイムアウト等のエラーを検出し、データベースからデータを取得することができなかった場合には、キャッシュの有効期限を延長し、このキャッシュに現在格納されているキャッシュデータを用いてＷｅｂページを生成する。このようにして、Ｗｅｂサーバは、一部のトラブルが発生しても、情報を欠落させることなく、確実にトップページを端末装置に送信する。
【特許文献１】特開２００２−３４２０８６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、エラーが検出された場合には、更新される前の古いデータに基づいた一部の情報がトップページに表示されてしまうため、適正に（あるいは、正常に）トップページが生成されたとはいえない。従って、このような事態が多発する場合には、トラブルの原因を調査して、システムを増強する必要がある。
【００１０】
ところが、ポータルサイトのトップページは、上述したようにインターネットの入り口となって重要な位置を占めることから、一部のデータがトラブルによって取得できなかったことにより、トップページが適正に生成できなかったとしても、端末装置に対して異常応答（例えば、ＨＴＴＰ（Hyper Text Transfer Protocol）ステータスコード４０４を送信）をすることは許容されるべきではないから、トップページは適正に生成されたと扱い、端末装置に対して正常応答しなければならない（例えば、ＨＴＴＰステータスコード２００を送信する）。こうしたことから、ポータルサイトの管理者等は、真に適正なトップページが生成されているか否かを知る手段がなかった。
【００１１】
本発明は、以上の点に鑑みてなされたものであり、データベースに登録された登録情報を、キャッシュ等が設定された記憶手段に記憶し、端末装置からの要求に応じて、記憶手段に記憶された登録情報の有効期限に基づいて当該登録情報を更新しながら、登録情報に基づきＷｅｂページ等の画面情報を生成して端末装置に送信する情報提供システムにおいて、当該画面情報が適正に生成されているか否かを知ることを可能とする情報提供システム、情報提供装置、適正判定情報生成方法及び適正判定情報生成処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記課題を解決するために、請求項１に記載の発明は、端末装置と、前記端末装置がネットワークを介して接続可能な情報提供装置と、を備える情報提供システムであって、前記情報提供装置は、データベースに登録されていた登録情報であって、当該データベースを管理するデータベース管理システムに対して問い合わせを示す問い合わせ情報を出力するプログラムインタフェースを通じて当該データベース管理システムから取得された登録情報を記憶しておく登録情報記憶手段と、ユーザに対して提示される提示情報の表示画面を構成する画面情報の要求を示す要求情報を、前記端末装置から受信する要求情報受信手段と、前記要求情報を受信した場合に、前記登録情報記憶手段に記憶されている前記登録情報に対して設定された有効期限が経過しているか否かを判別する期限経過判別手段と、前記有効期限が経過している場合には、前記プログラムインタフェースを通じて前記登録情報を取得し、当該取得された登録情報で、前記登録情報記憶手段に記憶されている前記登録情報を更新する登録情報取得・更新手段と、前記プログラムインタフェースを通じた前記登録情報の取得エラーを検出する取得エラー検出手段と、前記有効期限が経過していない場合と、前記取得エラーが検出された場合と、の何れか一方の場合には、前記登録情報記憶手段に記憶されている前記登録情報を用いて前記画面情報を生成し、前記プログラムインタフェースを通じて前記登録情報が取得された場合には、当該取得された登録情報を用いて前記画面情報を生成する画面情報生成手段と、前記生成された画面情報を、前記要求情報を送信した前記端末装置に送信する画面情報送信手段と、前記取得エラーの検出結果に基づいて、前記画面情報が適正に生成されているか否かの判定に用いられる適正判定情報を生成する適正判定情報生成手段と、を備え、前記端末装置は、前記要求情報をユーザの指令に基づいて前記情報提供装置に送信する要求情報送信手段と、前記情報提供装置から送信された前記画面情報を受信する画面情報受信手段と、前記受信された画面情報に基づいて、前記提示情報を画面に表示する提示情報表示手段と、を備えることを特徴とする。
【００１３】
この発明によれば、情報提供装置は、端末装置から要求情報を受信すると、登録情報記憶手段に記憶されている登録情報の有効期限が経過しているか否かを判別する。このとき、情報提供装置は、有効期限が経過していない場合には、登録情報記憶手段に記憶されている登録情報を用いて画面情報を生成する。一方、情報提供装置は、有効期限が経過している場合には、プログラムインタフェースを通じて、データベースに登録されている登録情報をデータベース管理システムから取得し、当該取得された登録情報で、登録情報記憶手段に記憶されている登録情報を更新するとともに、当該取得された登録情報を用いて画面情報を生成する。ただし、情報提供装置は、取得エラーを検出して、プログラムインタフェースを通じて登録情報を取得できなかった場合には、登録情報記憶手段に記憶されている登録情報を用いて画面情報を生成する。そして、情報提供装置は、生成された画面情報を端末装置に送信し、取得エラーの検出結果に基づいて、画面情報が適正に生成されているか否かの判定に用いられる適正判定情報を生成する。
【００１４】
従って、たとえ、プログラムインタフェースを通じて登録情報を取得できなかったことにより、登録情報記憶手段に記憶されている有効期限の経過した登録情報を用いて画面情報を生成し、当該画面情報を端末装置に送信することで、端末装置の画面には適正な情報が表示されるように見えるような場合であっても、当該画面情報が真に適正に生成されているか否かを知ることができる。
【００１５】
請求項２に記載の発明は、データベースに登録されていた登録情報であって、当該データベースを管理するデータベース管理システムに対して問い合わせを示す問い合わせ情報を出力するプログラムインタフェースを通じて当該データベース管理システムから取得された登録情報を記憶しておく登録情報記憶手段と、ユーザの指令に基づいて端末装置からネットワークを介して送信された要求情報であって、ユーザに対して提示される提示情報の表示画面を構成する画面情報の要求を示す要求情報を受信する要求情報受信手段と、前記要求情報を受信した場合に、前記登録情報記憶手段に記憶されている前記登録情報に対して設定された有効期限が経過しているか否かを判別する期限経過判別手段と、前記有効期限が経過している場合には、前記プログラムインタフェースを通じて前記登録情報を取得し、当該取得された登録情報で、前記登録情報記憶手段に記憶されている前記登録情報を更新する登録情報取得・更新手段と、前記プログラムインタフェースを通じた前記登録情報の取得エラーを検出する取得エラー検出手段と、前記有効期限が経過していない場合と、前記取得エラーが検出された場合と、の何れか一方の場合には、前記登録情報記憶手段に記憶されている前記登録情報を用いて前記画面情報を生成し、前記プログラムインタフェースを通じて前記登録情報が取得された場合には、当該取得された登録情報を用いて前記画面情報を生成する画面情報生成手段と、前記生成された画面情報を、前記要求情報を送信した前記端末装置に前記ネットワークを介して送信する画面情報送信手段と、前記取得エラーの検出結果に基づいて、前記画面情報が適正に生成されているか否かの判定に用いられる適正判定情報を生成する適正判定情報生成手段と、を備えることを特徴とする。
【００１６】
この発明によれば、情報提供装置は、端末装置から要求情報を受信すると、登録情報記憶手段に記憶されている登録情報の有効期限が経過しているか否かを判別する。このとき、情報提供装置は、有効期限が経過していない場合には、登録情報記憶手段に記憶されている登録情報を用いて画面情報を生成する。一方、情報提供装置は、有効期限が経過している場合には、プログラムインタフェースを通じて、データベースに登録されている登録情報をデータベース管理システムから取得し、当該取得された登録情報で、登録情報記憶手段に記憶されている登録情報を更新するとともに、当該取得された登録情報を用いて画面情報を生成する。ただし、情報提供装置は、取得エラーを検出して、プログラムインタフェースを通じて登録情報を取得できなかった場合には、登録情報記憶手段に記憶されている登録情報を用いて画面情報を生成する。そして、情報提供装置は、生成された画面情報を端末装置に送信し、取得エラーの検出結果に基づいて、画面情報が適正に生成されているか否かの判定に用いられる適正判定情報を生成する。
【００１７】
従って、たとえ、プログラムインタフェースを通じて登録情報を取得できなかったことにより、登録情報記憶手段に記憶されている有効期限の経過した登録情報を用いて画面情報を生成し、当該画面情報を端末装置に送信することで、端末装置の画面には適正な情報が表示されるように見えるような場合であっても、当該画面情報が真に適正に生成されているか否かを知ることができる。
【００１８】
請求項３に記載の発明は、請求項２に記載の情報提供装置において、前記適正判定情報生成手段は、前記取得エラーの検出数を示す取得エラー数情報を含む前記適正判定情報を生成することを特徴とする。
【００１９】
この発明によれば、画面情報が適正に生成されているか否かの判定に用いる情報として、登録情報の取得エラー数を得ることができる。
【００２０】
請求項４に記載の発明は、請求項３に記載の情報提供装置において、前記取得エラー検出手段は、前記取得エラーとして、前記データベース管理システムにおけるエラーと、当該データベース管理システムにおけるエラーを除いた前記プログラムインタフェースにおけるエラーと、を夫々検出し、前記適正判定情報生成手段は、前記データベースシステムにおけるエラー数を示す第１エラー数情報と、前記プログラムインタフェースにおけるエラー数を示す第２エラー数情報と、を含む前記適正判定情報を生成することを特徴とする。
【００２１】
この発明によれば、取得エラー数として、データベース管理システムにおけるエラー数と、プログラムインタフェースにおけるエラー数とを得ることができるので、システム増強等の対応を、データベース及びデータベース管理システムが組み込まれたシステムに対して施せば良いのか、あるいは、プログラムインタフェースが組み込まれたシステムに対して施せば良いのか、を判断することができる。
【００２２】
請求項５に記載の発明は、データベースに登録されていた登録情報であって、当該データベースを管理するデータベース管理システムに対して問い合わせを示す問い合わせ情報を出力するプログラムインタフェースを通じて当該データベース管理システムから取得された登録情報を記憶しておく登録情報記憶手段を備える情報提供装置における適正判定情報生成方法であって、ユーザの指令に基づいて端末装置からネットワークを介して送信された要求情報であって、ユーザに対して提示される提示情報の表示画面を構成する画面情報の要求を示す要求情報を受信する要求情報受信工程と、前記要求情報を受信した場合に、前記登録情報記憶手段に記憶されている前記登録情報に対して設定された有効期限が経過しているか否かを判別する期限経過判別工程と、前記有効期限が経過している場合には、前記プログラムインタフェースを通じて前記登録情報を取得し、当該取得された登録情報で、前記登録情報記憶手段に記憶されている前記登録情報を更新する登録情報取得・更新工程と、前記プログラムインタフェースを通じた前記登録情報の取得エラーを検出する取得エラー検出工程と、前記有効期限が経過していない場合と、前記取得エラーが検出された場合と、の何れか一方の場合には、前記登録情報記憶手段に記憶されている前記登録情報を用いて前記画面情報を生成し、前記プログラムインタフェースを通じて前記登録情報が取得された場合には、当該取得された登録情報を用いて前記画面情報を生成する画面情報生成工程と、前記生成された画面情報を、前記要求情報を送信した前記端末装置に前記ネットワークを介して送信する画面情報送信工程と、前記取得エラーの検出結果に基づいて、前記画面情報が適正に生成されているか否かの判定に用いられる適正判定情報を生成する適正判定情報生成工程と、を備えることを特徴とする。
【００２３】
請求項６に記載の発明は、データベースに登録されていた登録情報であって、当該データベースを管理するデータベース管理システムに対して問い合わせを示す問い合わせ情報を出力するプログラムインタフェースを通じて当該データベース管理システムから取得された登録情報を記憶しておく登録情報記憶手段を備える情報提供装置に含まれるコンピュータを、ユーザの指令に基づいて端末装置からネットワークを介して送信された要求情報であって、ユーザに対して提示される提示情報の表示画面を構成する画面情報の要求を示す要求情報を受信する要求情報受信手段、前記要求情報を受信した場合に、前記登録情報記憶手段に記憶されている前記登録情報に対して設定された有効期限が経過しているか否かを判別する期限経過判別手段、前記有効期限が経過している場合には、前記プログラムインタフェースを通じて前記登録情報を取得し、当該取得された登録情報で、前記登録情報記憶手段に記憶されている前記登録情報を更新する登録情報取得・更新手段、前記プログラムインタフェースを通じた前記登録情報の取得エラーを検出する取得エラー検出手段、前記有効期限が経過していない場合と、前記取得エラーが検出された場合と、の何れか一方の場合には、前記登録情報記憶手段に記憶されている前記登録情報を用いて前記画面情報を生成し、前記プログラムインタフェースを通じて前記登録情報が取得された場合には、当該取得された登録情報を用いて前記画面情報を生成する画面情報生成手段、前記生成された画面情報を、前記要求情報を送信した前記端末装置に前記ネットワークを介して送信する画面情報送信手段、前記取得エラーの検出結果に基づいて、前記画面情報が適正に生成されているか否かの判定に用いられる適正判定情報を生成する適正判定情報生成手段、として機能させることを特徴とする。
【発明の効果】
【００２４】
本発明によれば、たとえ、プログラムインタフェースを通じて登録情報を取得できなかったことにより、登録情報記憶手段に記憶されている有効期限の経過した登録情報を用いて画面情報を生成し、当該画面情報を端末装置に送信することで、端末装置の画面には適正な情報が表示されているように見えるような場合であっても、当該画面情報が真に適正に生成されているか否かを知ることができる。
【発明を実施するための最良の形態】
【００２５】
以下、図面を参照して本発明の最良の実施形態について詳細に説明する。なお、以下に説明する実施の形態は、ポータルサイトシステムに対して本発明を適用した場合の実施形態である。
【００２６】
［１．ポータルサイトシステムの構成及び機能概要］
先ず、本実施形態に係るポータルサイトシステムＳの構成及び機能概要について、図１乃至図４を用いて説明する。
【００２７】
図１は、本実施形態に係るポータルサイトシステムＳの概要構成の一例を示す図である。
【００２８】
図１に示すように、ポータルサイトシステムＳは、情報提供装置の一例としてのＷｅｂサーバ１と、データベース２−ｊ（ｊ＝１，２・・・ｍ）を夫々備える複数のデータベースサーバ３―ｊと、端末装置の一例としてのユーザ端末４−ｋ（ｋ＝１，２・・・ｎ）と、を含んで構成されている。
【００２９】
Ｗｅｂサーバ１とユーザ端末４−ｋとは、ネットワークＮＷを介して、例えば、通信プロトコルにＴＣＰ／ＩＰ（Transmission Control Protocol/Internet Protocol）等を用いて相互にデータの送受信が可能になっている。なお、ネットワークＮＷは、例えば、インターネット、専用通信回線（例えば、ＣＡＴＶ（Community Antenna Television）回線）、移動体通信網（基地局等を含む）、及びゲートウェイ等により構築されている。また、Ｗｅｂサーバ１と各データベースサーバ３−ｊとは、例えば、ＬＡＮ（Local Area Network）を介して相互にデータの送受信が可能になっている。
【００３０】
このような構成のポータルサイトシステムＳにおいて、Ｗｅｂサーバ１は、ネットワークＮＷを通じて各種のサービスを提供するサービス提供事業者によりポータルサイトを開設するために設置されたサーバ装置である。
【００３１】
このポータルサイトは、例えば、Ｗｅｂページ等の検索、インターネットショッピング、オークション、宿泊施設の予約、ニュース、天気予報、テレビ番組表、Ｗｅｂメール、株価情報、ＳＮＳ（Social Networking Service）、Ｗｅｂディレクトリ、ブログ等の各種サービスを、ユーザ端末４−ｋのユーザに提供している。具体的には、ネットワークＮＷを介してユーザ端末４−ｋからのリクエストに応じて、Ｗｅｂサーバ１がＷｅｂページ（以下、単に「ページ」ともいう）を当該ユーザ端末４−ｋに送信することにより、このＷｅｂページにより提示される情報等を通じて各種サービスが提供される。なお、サービスによっては（例えば、インターネットショッピング、オークション、宿泊施設の予約、ＳＮＳ、ブログ等）、Ｗｅｂサーバ１ではなく、他のＷｅｂサーバにユーザ端末４−ｋがアクセスすることにより提供されるが、図１においては、これらのサーバ装置についての図示を省略している。
【００３２】
Ｗｅｂサーバ１は、上述した各種サービスを提供するために、画面情報の一例としての後述するトップページ２００（図２参照）を生成し、当該ページをユーザ端末４−ｋに提供（送信）している。
【００３３】
次に、データベースサーバ３−ｊは、夫々データベース２−ｊを管理するサーバ装置である。具体的に、データベースサーバ３−ｊは、Ｗｅｂサーバ１や図示せぬサーバ装置等からのリクエストに応じて、データベース２−ｊに対して、データ（登録情報の一例）の新規登録、更新、取得等の処理を行うようになっている。
【００３４】
データベース２−１〜２−ｍには、夫々所定のサービスを提供するためのデータが登録されている。例えば、検索用データベースにはＷｅｂページ等を検索するためのＷｅｂページに関するデータが登録され、オークションデータベースには、出品されている商品や取引状況等に関するデータが登録され、ニュース情報データベースにはニュースに関するデータが登録されている。なお、ポータルサイトにおいて、一部のサービス（例えば、インターネットショッピング、オークション、宿泊施設の予約、ＳＮＳ等）を利用するために、ユーザは、ポータルサイトシステムＳの会員登録手続きを行わなければならいが、会員として登録されたユーザに関する情報（以下、「会員情報」という）もデータベース２−ｊに登録されている。
【００３５】
次に、ユーザ端末４−ｋは、Ｗｅｂサーバ１にアクセスし、Ｗｅｂページを取得して画面に表示し、当該Ｗｅｂページを通じて各種情報の閲覧や各種サービスを利用するためにユーザが用いる端末装置であり、例えば、Ｗｅｂブラウザアプリケーションや電子メールアプリケーション等がインストールされたパーソナルコンピュータ、ＰＤＡ（Personal Digital Assistant）、ＳＴＢ（Set Top Box）、携帯電話機等を適用することができる。
【００３６】
図２は、本実施形態に係るＷｅｂサーバ１により提供されるポータルサイトのトップページ２００の表示例を示す図である。
【００３７】
図２に示すように、トップページ２００には、Ｗｅｂ検索エリア２０１、リンク集表示エリア２０２、ニュース見出しエリア２０３、天気予報表示エリア２０４、Ｗｅｂディレクトリ表示エリア２０５、訪問回数表示エリア２０６、ニュースクリッピング表示エリア２０７、テレビ番組クリッピング表示エリア２０８、ブログ紹介エリア２０９等が設けられている。
【００３８】
Ｗｅｂ検索エリア２０１には、Ｗｅｂページ等の検索を行うためのキーワードを入力するためのフォームやボタン等が設けられている。また、リンク集表示エリア２０２には、各サービスのページへのリンクが設けられている。また、ニュース見出しエリア２０３には、最新のニュースの一部の見出しを表示するとともに、見出しのニュースを表示するページへのリンクが設けられている。また、天気予報表示エリア２０４には、会員情報として登録されている住所から求められるユーザが住んでいる地域の明日の天気予報等が表示される。また、Ｗｅｂディレクトリ表示エリア２０５には、Ｗｅｂディレクトリに登録されているＷｅｂサイトを検索するために、当該Ｗｅｂサイトを分類したカテゴリ毎のページへのリンクが設けられている。
【００３９】
また、訪問回数表示エリア２０６には、会員情報として登録されているユーザのニックネームと、訪問回数として当該ユーザが当該月においてトップページを閲覧した回数とが表示される。また、ニュースクリッピング表示エリア２０７には、所定のキーワードと、このキーワードに関連するニュースの件数を表示するとともに、当該関連するニュースの一覧を表示するページへのリンクが設けられている。また、テレビ番組クリッピング表示エリア２０８には、所定のキーワードと、このキーワードに関連するテレビ番組の件数を表示するとともに、当該関連する番組の一覧を表示するページへのリンクが設けられている。また、ブログ紹介エリア２０９には、最新のブログや注目のブログの紹介説明を表示するとともに、当該ブログのページへのリンクが設けられている。
【００４０】
各エリアに表示される情報は、例えば、エリア毎に個別にデータベース２−ｊから取得される情報である。例えば、ニュース見出しエリア２０３に表示される見出しや、ニュースクリッピング表示エリア２０７に表示されるニュースの件数に関するデータは、ニュース情報データベースから取得される。また、天気予報表示エリア２０４に表示される天気予報に関するデータは、天気予報情報データベースから取得される。また、訪問回数表示エリア２０６に表示されるニックネームや訪問回数は会員情報データベースから取得される。また、テレビ番組クリッピング２０８に表示されるテレビ番組の件数に関するデータは、テレビ番組表情報データベースに登録されている。また、ブログ紹介エリア２０９に表示されるブログの紹介に関するデータは、ブログ情報データベースに登録されている。
【００４１】
ここで、Ｗｅｂサーバ１は、ユーザ端末４−ｋからのリクエストに応じてトップページ２００を生成するために、データベース２−ｊに登録されている各データを、データベースサーバ３−ｊから取得するようにしているが、各サーバの負荷を軽減させるため、Ｗｅｂサーバ１において、データベース毎に対応してキャッシュを設けている。Ｗｅｂサーバ１は、キャッシュにデータベースサーバ３―ｊから取得されたデータを格納しておき、当該格納されたデータを用いてトップページ２００を生成するようにしている。
【００４２】
ただし、ニックネームや訪問回数等のように、ユーザ毎に内容が異なるデータについては、全ユーザに対してキャッシュを用意しなければならず、記憶容量等の面から非効率となるため、こうしたデータについては、キャッシュは設けられていない。従って、Ｗｅｂサーバ１は、こうしたデータについては、ユーザ端末４−ｋからのリクエストを受信する度にデータベースサーバ３−ｊから取得するようになっている。
【００４３】
図３は、本実施形態に係るポータルサイトシステムＳの機能構成の概要例を示すブロック図である。
【００４４】
図３に示すように、データベースサーバ３−１〜３−ｍには、夫々データベース２−１〜２―ｍを管理するためのソフトウエアであるデータベース管理システムの一例としてのＤＢＭＳ―１〜ｍが組み込まれている。
【００４５】
一方、Ｗｅｂサーバ１には、適正判定情報生成処理プログラムの一例としてのＷｅｂサーバプログラムが組み込まれている。Ｗｅｂサーバプログラムは、ユーザ端末４−ｋからのリクエストを受信して、当該リクエストに応じてＷｅｂページを生成等し、当該ページをユーザ端末４−ｋに送信するためのプログラムであり、例えば、ＨＴＴＰｄ（HyperText Transfer Protocol Daemon）等を適用することができる。また、Ｗｅｂサーバ１には、データベース２−１〜２―ｍに夫々対応して、キャッシュ１〜ｍが設けられているとともに、プログラムインタフェースの一例としてのデータ取得ＡＰＩ１〜ｍが組み込まれている。
【００４６】
なお、図示はしていないが、前述したように、ユーザ毎に内容が異なるデータについてはキャッシュが設けられていないため、これらのデータに対してはデータ取得ＡＰＩのみが組み込まれている。
【００４７】
データ取得ＡＰＩ―ｊは、Ｗｅｂサーバプログラムからの指令に基づいて問い合わせ情報の一例としてのＳＱＬコマンドを出力し、対応するＤＢＭＳ―ｊ（データベースサーバ３−ｊ）に送信するとともに、当該ＳＱＬコマンドの出力に対応してＤＢＭＳ―ｊから送信されてきたデータを取得して、当該データをＷｅｂサーバプログラムへ引き渡すためのミドルウエアである。また、データ取得ＡＰＩ―ｊは、このミドルウエアとＷｅｂサーバプログラムとの間のインタフェースでもあり、例えば、ＯＤＢＣやＪＤＢＣ等を適用することができる。
【００４８】
Ｗｅｂサーバプログラムは、上述したようにキャッシュｊに格納されているキャッシュデータ（登録情報記憶手段に記憶されている登録情報の一例）を用いてトップページ２００を生成するが、有効期限が経過している（切れている）キャッシュデータが存在する場合には、当該キャッシュデータに対応するデータ取得ＡＰＩ−ｊにデータの取得を指令し、データ取得ＡＰＩ−ｊによりデータベース２−ｊから取得されたデータを用いてトップページ２００を生成するとともに、当該取得されたデータでキャッシュデータを更新するようにプログラムされている。
【００４９】
ここで、Ｗｅｂサーバプログラムは、データ取得ＡＰＩ−ｊまたはＤＢＭＳ―ｊにおいてエラーが発生し、データ取得ＡＰＩ−ｊを通じてデータを取得することができなかった場合には、キャッシュｊに格納されているキャッシュデータを用いてトップページ２００を生成するとともに、キャッシュデータの期限を延長するようにプログラムされている。このときに生成されるトップページ２００は、一部古いデータに基づいて生成されているため、当該ページが適正に生成されているとはいいがたい。そこで、本実施形態においては、Ｗｅｂサーバ１において、トップページ２００が適正に生成されているか否かを判定し、システムを増強する判断材料とするための情報としてＡＰＩ稼働集計情報を収集している。
【００５０】
図４は、本実施形態に係るＷｅｂサーバ１において収集されるＡＰＩ稼働集計情報の一例を示す図である。
【００５１】
図４に示すように、ＡＰＩ稼働集計情報として、総アクセス数、総ＡＰＩコール数、キャッシュリクエスト数、エラー数（取得エラー数情報の一例）、最大レスポンスタイム、最小レスポンスタイム、平均レスポンスタイムを、データ取得ＡＰＩ―ｊ毎に収集する。
【００５２】
総アクセス数は、ページビュー数、すなわち、ユーザ端末４−ｋからのトップページ２００のリクエスト数である。また、総ＡＰＩコール数は、Ｗｅｂサーバプログラムからデータ取得ＡＰＩ―ｊを呼び出した回数、すなわち、データ取得ＡＰＩ―ｊに対して、データベース２−ｊに登録されたデータの取得を指令した回数である。また、キャッシュリクエスト数は、キャッシュｊに格納されているキャッシュデータをＷｅｂサーバプログラムから読み出した回数である。このキャッシュリクエスト数には、キャッシュｊの有効期限が経過していないときにキャッシュデータを読み出した回数と、データ取得ＡＰＩ−ｊを通じてデータベース２−ｊに登録されているデータを取得することができなかったために、有効期限が経過したキャッシュｊからキャッシュデータを読み出した回数とが含まれている。
【００５３】
エラー数は、データ取得ＡＰＩ―ｊの呼び出し対して、当該データ取得ＡＰＩ―ｊからデータを引き渡すことができなかった回数、すなわち、データベース２−ｊに登録されているデータを取得できなかった回数である。このエラー数は、データベースエラー数とＡＰＩエラー数との合計値となっている。ＡＰＩエラー数は、Ｗｅｂサーバプログラムからのデータ取得ＡＰＩ―ｊに対するデータ取得の指令に対して、所定時間内にデータ取得ＡＰＩ―ｊからの応答がなかった場合のタイムアウトエラーを、ＡＰＩエラーとして扱った回数である。また、データベースエラー数は、データ取得ＡＰＩ―ｊからのＤＢＭＳ―ｊに対する問い合わせ（ＳＱＬコマンドの出力）に対して、所定時間内にＤＢＭＳ―ｊからの応答がなかった場合のタイムアウトエラーをデータベースエラーとして扱った回数である。
【００５４】
レスポンスタイムは、Ｗｅｂサーバプログラムがデータ取得ＡＰＩ―ｊに対してデータの取得を指令してから、当該データ取得ＡＰＩ―ｊがＷｅｂサーバプログラムに対してデータを引き渡すまでの時間であり、最大レスポンスタイム、最小レスポンスタイム及び平均レスポンスタイムは、夫々これまでに収集されたレスポンスタイムの最大値、最小値、平均値である。なお、本実施形態においては、ＡＰＩエラー及びデータベースエラーが検出された場合のレスポンスタイム（この場合は、Ｗｅｂサーバプログラムがデータ取得ＡＰＩ―ｊに対してデータの取得を指令してから、エラーが検出されるまでの時間）を取得しないが、このときのレスポンスタイムを取得し、最大、最小及び平均の各レスポンスタイムに反映させても良い。
【００５５】
［２．Ｗｅｂサーバの構成及び機能］
次に、Ｗｅｂサーバ１の構成及び機能について、図５を用いて説明する。
【００５６】
図５は、本実施形態に係るＷｅｂサーバ１の概要構成の一例を示すブロック図である。
【００５７】
図５に示すように、Ｗｅｂサーバ１は、操作部１１と、表示部１２（例えば、ＣＲＴ（Cathode Ray Tube）ディスプレイ、液晶ディスプレイ等）と、通信部１３と、ドライブ部１４と、記憶部１５と、入出力インタフェース部１６と、システム制御部２０と、を備えている。システム制御部２０と入出力インタフェース部１６とは、システムバス２１を介して接続されている。
【００５８】
操作部１１は、例えば、キーボード、マウス等であり、オペレータ等からの操作指示を受け付け、その指示内容を指示信号としてシステム制御部２０に出力する。表示部１２は、例えば、ＣＲＴ（Cathode Ray Tube）ディスプレイ、液晶ディスプレイ等であり、文字や画像等の情報を表示する。通信部１３は、ネットワークＮＷ等に接続して、データベースサーバ３−ｊ、ユーザ端末４−ｋ等との通信状態を制御する。ドライブ部１４は、例えば、フレキシブルディスク、ＣＤ（Compact Disc）、ＤＶＤ（Digital Versatile Disc）等のディスクＤＫからデータ等を読み出す一方、当該ディスクＤＫに対してデータ等を記録する。また、記憶部１５は、例えば、ハードディスクドライブ等であり、各種プログラム及びデータ等を記憶する。入出力インタフェース部１６は、操作部１１〜記憶部１５とシステム制御部２０との間のインタフェース処理を行う。システム制御部２０は、ＣＰＵ（Central Processing Unit）１７、ＲＯＭ（Read Only Memory）１８、ＲＡＭ（Random Access Memory）１９等を備える。
【００５９】
記憶部１５には、データ取得ＡＰＩ―１〜ｍ夫々に対応するＡＰＩ稼働集計情報が、例えば、１時間毎、１日毎、１週間毎、１ヶ月毎というように、期間毎に分けて記憶される。
【００６０】
また、記憶部１５には、その記憶領域上に、キャッシュ１〜ｍが設定（各キャッシュデータを格納するための領域が確保）されている。また、記憶部１５には、キャッシュ１〜ｍに夫々対応してキャッシュｊの有効期限（キャッシュｊに格納されているデータの有効期限）が記憶されるようになっている。この有効期限は、キャッシュｊに格納されているキャッシュデータを用いてトップページ２００を生成することができる期限（日時等）を示している。データの性質（データベース３−ｊにおける更新をキャッシュｊに反映させる時間間隔を短くした方が良いデータであるのか、長くしても良いデータであるのか等）に応じて、キャッシュｊにデータがキャッシュデータとして格納されてから、当該キャッシュデータが無効となるまでの期間が予め定められており（つまり、キャッシュｊ毎に有効期限が切れるまでの期間を変えることができる）、当該期間に基づいて有効期限が設定される。
【００６１】
更に、記憶部１５には、所定のオペレーティングシステム、上述したＷｅｂサーバプログラム、データ取得ＡＰＩ―ｊ等が記憶されている。なお、記憶部１５は、本実施形態において、登録情報記憶手段の一例を構成する。
【００６２】
なお、各種プログラム等は、例えば、他のサーバ装置等からネットワークＮＷを介して取得されるようにしても良いし、ＣＤ−ＲＯＭ等のディスクＤＫに記録されてドライブ部１４を介して読み込まれるようにしても良い。
【００６３】
システム制御部２０は、本実施形態において、要求情報受信手段、期限経過判別手段、登録情報取得・更新手段、取得エラー検出手段、画面情報生成手段、画面情報送信手段及び適正判定情報生成手段の一例を構成している。
【００６４】
そして、システム制御部２０は、ＣＰＵ１７が、ＲＯＭ１８や記憶部１５に記憶された各種プログラムを読み出し実行することによりＷｅｂサーバ１の各部を制御するとともに、上述した各手段等として機能するようになっている。
【００６５】
この各手段等としての機能について説明すると、要求情報受信手段及び期限経過判別手段としてのシステム制御部２０は、ユーザ端末４−ｋから送信されたトップページリクエスト（要求情報の一例）を受信すると、キャッシュｊに対して設定されている有効期限が経過しているか否かを判別するようになっている。
【００６６】
登録情報取得・更新手段としてのシステム制御部２０は、キャッシュｊの有効期限が経過していると判別した場合には、当該キャッシュｊに対応するデータ取得ＡＰＩ―ｊに対してデータの取得を指令することにより当該データ取得ＡＰＩ―ｊを起動させ、当該データ取得ＡＰＩ―ｊを通じて、対応するデータベース２−ｊに登録されているデータをデータベース管理システム３−ｊから取得し、当該取得されたデータで、対応するキャッシュｊを更新するようになっている。
【００６７】
取得エラー検出手段としてのシステム制御部２０は、データ取得ＡＰＩ―ｊを通じたデータ取得のエラーを検出するようになっている。具体的に、システム制御部２０は、データ取得ＡＰＩ―ｊの起動の際にタイマをセットし、当該起動後、所定時間（例えば、３秒）経過してもデータ取得ＡＰＩ―ｊから応答がなかった場合に、ＡＰＩエラーとして検出する。また、システム制御部２０は、データ取得ＡＰＩ―ｊからのＳＱＬコマンドの出力後、所定時間（例えば、２秒）経過してもＤＢＭＳ―ｊからの応答がなかった場合には、データ取得ＡＰＩ―ｊからの応答としてデータベースエラーを取得するようになっている。なお、ＡＰＩエラーを検出するまでの時間及びデータベースエラーを検出するまでの時間は、データ取得ＡＰＩ―１〜ｍ夫々個別に設定することができる。
【００６８】
画面情報生成手段としてのシステム制御部２０は、キャッシュ１〜ｍに格納されているキャッシュデータを用いてトップページ２００を生成するようになっている。このとき、システム制御部２０は、キャッシュ１〜ｍのうち、有効期限が経過し且つデータ取得ＡＰＩ―ｊを通じてデータを取得することができた場合には、当該取得されたデータをトップページ２００の生成に用いる。つまり、キャッシュｊの有効期限が経過していない場合には、当該キャッシュｊに格納されているキャッシュデータがトップページ２００の生成に用いられ、有効期限が経過し且つデータ取得ＡＰＩ―ｊを通じてデータを取得することができた場合には、取得された最新のデータがトップページ２００の生成に用いられ、有効期限が経過し且つデータ取得ＡＰＩ―ｊを通じたデータ取得のエラーが検出された場合には、古いキャッシュデータがトップページ２００の生成に用いられる。
【００６９】
画面情報送信手段としてのシステム制御部２０は、生成されたトップページ２００を、トップページリクエストを送信してきたユーザ端末４−ｋに対して送信するようになっている。
【００７０】
適正判定情報生成手段としてのシステム制御部２０は、データ取得ＡＰＩ―ｊを通じたデータ取得のエラーの検出結果に基づいて、エラー数を生成し、当該エラー数を記憶部１５に記憶するようになっている。具体的に、システム制御部２０は、ＡＰＩエラーを検出する毎に、記憶部１５に記憶されているＡＰＩエラー数に対して１を加算した値を新たなＡＰＩエラー数として、記憶部１５に更新記憶するようになっている。また、システム制御部２０は、データベースエラーを検出する毎に、記憶部１５に記憶されているデータベースエラー数に対して１を加算した値を新たなデータベースエラー数として、記憶部１５に更新記憶するようになっている。
【００７１】
なお、有効期限の判別、データ取得ＡＰＩ―ｊを通じたデータの取得、エラーの検出、エラー数の更新は、各キャッシュｊ毎に行われる。
【００７２】
［３．データベースサーバの構成及び機能］
次に、データベースサーバ３−ｊの構成及び機能について、図６を用いて説明する。
【００７３】
図６は、本実施形態に係るデータベースサーバ３−ｊの概要構成の一例を示すブロック図である。
【００７４】
図６に示すように、データベースサーバ３−ｊは、通信部３１と、記憶部３２と、入出力インタフェース部３３と、システム制御部３７と、を備えている。システム制御部２０と入出力インタフェース部３３とは、システムバス３８を介して接続されている。
【００７５】
通信部３１は、ＬＡＮに接続してＷｅｂサーバ１との通信状態を制御する。また、記憶部３２は、例えば、ハードディスクドライブ等であり、各種プログラム及びデータ等を記憶する。入出力インタフェース部３３は、通信部３１及び記憶部３２とシステム制御部３７との間のインタフェース処理を行う。システム制御部３７は、ＣＰＵ３４、ＲＯＭ３５、ＲＡＭ３６等を備える。
【００７６】
記憶部３２には、データベース２−ｊが構築されている。また、記憶部３２には、所定のオペレーティングシステム、ＤＢＭＳ―ｊ等が記憶されている。
【００７７】
システム制御部３７は、ＣＰＵ３４が、ＲＯＭ３５や記憶部３２に記憶された各種プログラムを読み出し実行することによりデータベースサーバ３−ｊの各部を制御するようになっている。
【００７８】
［４．ポータルサイトシステムの動作］
次に、ポータルサイトシステムＳの動作について、図７乃至図１０を用いて説明する。
【００７９】
図７は、本実施形態に係るポータルサイトシステムＳにおいて、ユーザ端末４−ｋからトップページリクエストが送信されてから、当該トップページがユーザ端末４−ｋにより表示されるまでの処理例を示すフローチャートである。なお、図７において、ステップＳ１１〜Ｓ２１に示す処理は、Ｗｅｂサーバプログラムを実行することにより行われる処理である。
【００８０】
先ず、ユーザが、ユーザ端末４−ｋの、例えば、マウスやキーボード等を操作して、トップページ２００のＵＲＬ（Uniform Resource Locator）を指定して、当該トップページの要求を指示すると、図７に示すように、ユーザ端末４−ｋはトップページリクエストをＷｅｂサーバ１に送信する（ステップＳ１）。
【００８１】
トップページリクエストを受信したＷｅｂサーバ１のシステム制御部２０は（ステップＳ１１）、記憶部１５に記憶されている総アクセス数に１を加算して、当該総アクセス数を更新する（ステップＳ１２）。
【００８２】
次いで、システム制御部２０は、キャッシュ１〜ｍのうち一のキャッシュｊを特定する（ステップＳ１３）。
【００８３】
次いで、システム制御部２０は、特定されたキャッシュｊに設定されている有効期限が経過している否かを判定し（ステップＳ１４）、有効期限が経過していない場合には（ステップＳ１４：ＮＯ）、当該キャッシュｊから、トップページ２００を生成するためのデータとしてキャッシュデータを取得し（ステップＳ１５）、当該キャッシュｊに対応して記憶部１５に記憶されているキャッシュリクエスト数に１を加算して、当該キャッシュリクエスト数を更新すると（ステップＳ１６）、ステップＳ１８に移行する。
【００８４】
一方、システム制御部２０は、有効期限が経過している場合には（ステップＳ１４：ＹＥＳ）、データ取得・キャッシュ更新処理を実行して（ステップＳ１７）、ステップＳ１８に移行する。なお、データ取得・キャッシュ更新処理の処理内容については後述する。
【００８５】
ステップＳ１８において、システム制御部２０は、トップページ２００を生成するための全てのデータを取得したか否かを判定し（ステップＳ１８）、未だ取得していないデータがある場合には（ステップＳ１８：ＮＯ）、この未だ取得していないデータに対応するキャッシュのうち一のキャッシュｊを特定して（ステップＳ１９）、ステップＳ１４に移行する。つまり、システム制御部２０は、全てのデータを取得するまでは、ステップＳ１４〜Ｓ１９の処理を繰り返す。
【００８６】
そして、システム制御部２０は、全てのデータを取得した場合には（ステップＳ１８：ＹＥＳ）、取得されたデータを用いてトップページ２００を生成し（ステップＳ２０）、当該生成されたトップページ２００をユーザ端末４−ｋに送信すると（ステップＳ２１）、処理を終了させる。
【００８７】
トップページ２００を受信したユーザ端末４−ｋは(ステップＳ２)、当該ページを図２に示すように画面に表示する（ステップＳ３）。
【００８８】
次に、上述したデータ取得・キャッシュ更新処理（図７ステップＳ１７）について説明する。
【００８９】
図８は、本実施形態に係るＷｅｂサーバ１のシステム制御部２０におけるデータ取得・キャッシュ更新処理の処理例を示すフローチャートである。なお、図７に示す処理は、Ｗｅｂサーバプログラムを実行することにより行われる処理である。
【００９０】
先ず、システム制御部２０は、特定されたキャッシュｊに対応して記憶部１５に記憶されている総ＡＰＩコール数に１を加算して、当該総ＡＰＩコール数を更新し（ステップＳ３１）、タイマをセットして、計時を開始する（ステップＳ３２）。
【００９１】
次いで、システム制御部２０は、キャッシュｊに対応するデータ取得ＡＰＩ―ｊに対してデータの取得を指令する（ステップＳ３３）。
【００９２】
次いで、システム制御部２０は、計時された時間に基づいてデータ取得ＡＰＩ―ｊのタイムアウトであるか否かを判定し（ステップＳ３４）、タイムアウトである場合には（ステップＳ３４：ＹＥＳ）、ステップＳ４２に移行する。
【００９３】
一方、システム制御部２０は、タイムアウトではない場合には（ステップＳ３４：ＮＯ）、データ取得ＡＰＩ―ｊからの応答があったか否かを判定し（ステップＳ３５）、データ取得ＡＰＩ―ｊからの応答がない場合には（ステップＳ３５：ＮＯ）、ステップＳ３４に移行する。つまり、システム制御部２０は、タイムアウトを検出するかまたはデータ取得ＡＰＩ―ｊからの応答があるまではステップＳ３４〜Ｓ３５の処理を繰り返す。
【００９４】
そして、システム制御部２０は、データ取得ＡＰＩ―ｊからの応答があった場合には（ステップＳ３５：ＹＥＳ）、当該応答がデータベースエラーであるか否かを判定し（ステップＳ３６）、データベースエラーである場合には（ステップＳ３６：ＹＥＳ）、ステップＳ４７に移行する。
【００９５】
一方、システム制御部２０は、データ取得ＡＰＩ―ｊからの応答がデータベースエラーではない、すなわち、正常応答である場合には（ステップＳ３６：ＮＯ）、計時を終了し（ステップＳ３７）、特定されたキャッシュｊに対応して記憶部１５に記憶されている最大、最小、平均の各レスポンスタイムを、計時された時間、すなわち、今回のレスポンスタイムに応じて更新する（ステップＳ３８）。
【００９６】
次いで、システム制御部２０は、トップページ２００を生成するためのデータとして、データ取得ＡＰＩ―ｊからデータを取得し（ステップＳ３９）、当該データで、キャッシュｊに格納されているキャッシュデータを更新すると（ステップＳ４０）、キャッシュｊの有効期限を改めて設定して（ステップＳ４１）、データ取得・更新処理を終了させる。
【００９７】
他方、システム制御部２０は、ステップＳ３４において、タイムアウトである場合には（ステップＳ３４：ＹＥＳ）、計時を終了し（ステップＳ４２）、特定されたキャッシュｊに対応して記憶部１５に記憶されているＡＰＩエラー数に１を加算する（ステップＳ４３）。
【００９８】
次いで、システム制御部２０は、特定されたキャッシュｊから、トップページ２００を生成するためのデータとしてキャッシュデータを取得し（ステップＳ４４）、当該キャッシュｊに対応して記憶部１５に記憶されているキャッシュリクエスト数に１を加算して、当該キャッシュリクエスト数を更新する（ステップＳ４５）。
【００９９】
次いで、システム制御部２０は、キャッシュｊの有効期限を延長設定して（ステップＳ４６）、データ取得・更新処理を終了させる。
【０１００】
他方、システム制御部２０は、ステップＳ３６において、データベースエラーである場合には（ステップＳ３６：ＹＥＳ）、計時を終了し（ステップＳ４７）、特定されたキャッシュデータに対応して記憶部１５に記憶されているデータベースエラー数に１を加算する（ステップＳ４８）。
【０１０１】
次いで、システム制御部２０は、特定されたキャッシュｊから、トップページ２００を生成するためのデータとしてキャッシュデータを取得し（ステップＳ４９）、当該キャッシュｊに対応して記憶部１５に記憶されているキャッシュリクエスト数に１を加算して、当該キャッシュリクエスト数を更新する（ステップＳ５０）。
【０１０２】
次いで、システム制御部２０は、キャッシュｊの有効期限を延長設定して（ステップＳ５１）、データ取得・更新処理を終了させる。
【０１０３】
次に、図８に示すデータ取得・キャッシュ更新処理におけるステップＳ３３の処理により起動されたデータ取得ＡＰＩ―ｊにおける処理について説明する。
【０１０４】
図９は、本実施形態に係るＷｅｂサーバ１のシステム制御部２０のデータ取得ＡＰＩ―ｊにおける処理例を示すフローチャートである。
【０１０５】
先ず、システム制御部２０は、データ取得ＡＰＩ―ｊに対応するＤＢＭＳ―ｊに対するＳＱＬコマンドを生成し、当該ＳＱＬコマンドをデータベースサーバ３−ｊに送信することにより、ＤＢＭＳ―ｊに対してデータの問い合わせを行う（ステップＳ６１）。
【０１０６】
次いで、システム制御部２０は、問い合わせを行ってから所定の時間が経過することによりタイムアウトとなったか否かを判定し（ステップＳ６２）、タイムアウトである場合には（ステップＳ６２：ＹＥＳ）、Ｗｅｂサーバプログラムに対して異常応答（データベースエラー）を返却して（ステップＳ６７）、処理を終了させる。
【０１０７】
一方、システム制御部２０は、タイムアウトではない場合には（ステップＳ６２：ＮＯ）、ＤＢＭＳ―ｊ（データベースサーバ３−ｊ）からの応答があったか否かを判定し（ステップＳ６３）、応答がない場合には（ステップＳ６３：ＮＯ）、ステップＳ６２に移行する。つまり、システム制御部２０は、タイムアウトを検出するかまたはＤＢＭＳ―ｊからの応答があるまではステップＳ６２〜Ｓ６３の処理を繰り返す。
【０１０８】
そして、システム制御部２０は、ＤＢＭＳ―ｊからの応答があった場合には（ステップＳ６３：ＹＥＳ）、ＤＢＭＳ―ｊから送信されたデータを取得して（ステップＳ６４）、当該データの形式をＷｅｂサーバプログラムにおいて処理しやすい形式に変換する。
【０１０９】
次いで、システム制御部２０は、Ｗｅｂサーバプログラムに対して正常応答を返却して（ステップＳ６６）、処理を終了させる。
【０１１０】
図１０は、図７及び図８に示す処理におけるＡＰＩ稼働集計情報の集計結果の一例を示す図である。なお、図１０においては、トップページ２００のうち、ニュース見出しエリア２０３の生成に用いられるデータ、天気予報表示エリア２０４の生成に用いられるデータ、ニュースクリッピング表示エリア２０７の生成に用いられるデータ、テレビ番組クリッピング表示エリア２０８の生成に用いられるデータ及びブログ紹介エリア２０９の生成に用いられるデータについて示している。
【０１１１】
記憶部１５に記憶されたＡＰＩ稼働集計情報は、システム制御部２０の制御により、例えば、表示部１２に表示されたり、ドライブ部１４を介してディスクＤＫに記録されたり、ＬＡＮを介して他のサーバ装置や管理用の端末装置等に送信等される。
図１０に示すように、総アクセス数は、各データともに同一の値が設定されている。また、総ＡＰＩコール数とキャッシュリクエスト数の合計値が総アクセス数となる。ここで、これまでのキャッシュリクエスト数より大幅にキャッシュリクエスト数が多く、エラー数も多いコンテンツがある場合には、何らかのエラーにより、読み出されるべき新しいデータを用いずにページが作成されることがわかる。また、これからトラブルに発展する可能性があるコンテンツを事前に検知することも可能となる。
【０１１２】
エラー数は、ＡＰＩエラー数とデータベースエラー数とに区分されている。データベースエラー数が、全体的にＡＰＩエラー数が多い場合には、Ｗｅｂサーバ１においてトラブルが発生している確率が高いため、Ｗｅｂサーバ１を増強する必要があると考えられる。また、他のデータの場合と比較してデータベースエラー数が多いデータがある場合には、当該データに対応するデータベースサーバ３−ｊにおいてトラブルが発生している確率が高いため、データベースサーバ３−ｊを増強する必要があると考えられる。
【０１１３】
また、（総アクセス数−エラー数）÷総アクセス数により、総アクセスに対してトップページ２００における対応エリアが適正に生成される率を求めることができる。また、（総ＡＰＩコール数−エラー数（または、ＡＰＩエラー数、データベースエラー数））÷総ＡＰＩコール数により、データ取得ＡＰＩ―ｊの呼び出しに対してデータを取得することができる率を求めることができる。これらの率が相対的に低いほど、Ｗｅｂサーバ１またはデータベースサーバ３−ｊを増強する必要があるものと考えられる。
【０１１４】
また、図示はしていないが、ユーザ毎に内容が異なるデータについてはキャッシュが設けられていないため、これらのデータについては、総アクセス数、総ＡＰＩコール数、エラー数（ＡＰＩエラー数及びデータベースエラー数）、各レスポンスタイムは収集されるが、キャッシュリクエスト数は収集されない。また、この場合には、総アクセス数＝総ＡＰＩコール数となる。そして、この場合においても、ＡＰＩエラー数とデータベースエラー数は収集することができるので、これらの情報を、Ｗｅｂサーバ１やデータベースサーバ３−ｊを増強するか否かを判断する材料とすることができる。
【０１１５】
なお、システム制御部２０により、これらの率（適正判定情報の一例）を計算し、ＡＰＩ稼働集計情報の一部として記憶部１５に記憶させても良い。
【０１１６】
また、最大、最小、平均の各レスポンスタイムの値が大きいほど、Ｗｅｂサーバ１またはデータベースサーバ３−ｊにおける負荷が増加している傾向がある。なお、図１０に示す例では、各データに対するＡＰＩのタイムアウトまでの時間は、夫々３秒（３０００ミリ秒）に設定されている場合の例であるため、最大レスポンスタイムが３０００ミリ秒を超えることは基本的にはない。
【０１１７】
以上説明したように、本実施形態によれば、Ｗｅｂサーバ１のシステム制御部２０は、ユーザ端末４−ｋからトップページリクエストを受信すると、キャッシュｊに格納されているキャッシュデータの有効期限が経過しているか否かを判別する。このとき、システム制御部２０は、有効期限が経過していない場合には、キャッシュｊに格納されているキャッシュデータを用いてトップページ２００を生成する。一方、システム制御部２０は、有効期限が経過している場合には、データ取得ＡＰＩ―ｊを通じて、データベース２−ｊに登録されているデータをＤＢＭＳ−ｊから取得し、当該取得したキャッシュデータで、キャッシュｊに格納されているキャッシュデータを更新するとともに、当該取得したキャッシュデータを用いてトップページ２００を生成する。ただし、システム制御部２０は、ＡＰＩエラーやデータベースエラーを検出して、データ取得ＡＰＩ―ｊを通じてデータを取得できなかった場合には、キャッシュｊに格納されているキャッシュデータを用いてトップページ２００を生成する。そして、システム制御部２０は、生成されたトップページ２００をユーザ端末４−ｋに送信し、エラーの検出結果に基づいて、トップページ２００が適正に生成されているか否かの判定に用いられるＡＰＩエラー数及びデータベースエラー数を生成する。
【０１１８】
従って、たとえ、データ取得ＡＰＩ―ｊを通じてキャッシュデータを取得できなかったことにより、キャッシュｊに格納されている有効期限の経過したキャッシュデータを用いてトップページ２００を生成し、当該トップページ２００をユーザ端末４−ｋに送信することで、ユーザ端末４−ｋの画面には適正な情報が表示されるように見えるような場合であっても、当該トップページ２００が真に適正に生成されているか否かを知ることができる。
【０１１９】
また、エラー数として、ＤＢＭＳ−ｊにおけるエラー数と、データ取得ＡＰＩ―ｊにおけるエラー数とを得ることができるので、システム増強等の対応を、データベース２−ｊ及びＤＢＭＳ−ｊが組み込まれたデータベースサーバ３−ｊに対して施せば良いのか、あるいは、データ取得ＡＰＩ―ｊが組み込まれたＷｅｂサーバ１に対して施せば良いのか、等を判断することができる。
【０１２０】
なお、上記実施形態においては、トップページ２００の生成に用いられる各データを、一つずつ順番に取得するようにしていたが、各データを並列的に取得するようにしても良い。具体的には、例えば、Ｗｅｂサーバ１のシステム制御部２０が、一斉にデータ取得ＡＰＩ―１〜ｍを起動させ、タイムアウトになる前に取得ＡＰＩ―１〜ｍを通じて取得することができたデータをトップページ２００の生成に用いる。一方、タイムアウトになっても取得することができなかったデータについては、キャッシュｊに格納されているキャッシュデータをトップページ２００の生成に用いれば良い。
【０１２１】
また、上記実施形態においては、トップページ２００の生成に用いられる各データを、データベース２−１〜２−ｍに夫々分けて登録し、夫々データベースサーバ３−１〜３−ｍにおいて管理するようにしていたが、例えば、一つのデータベース２−ｊ及び一つデータベースサーバ３−ｊで管理するようにしても良い。また、Ｗｅｂサーバ１とデータベースサーバ３−ｊとを一つのサーバ装置で構成しても良い。
【０１２２】
また、上記実施形態においては、記憶部１５の記憶領域上にキャッシュｊを設定していたが、例えば、ＲＡＭ１９の記憶領域上にキャッシュｊを設定しても良い。
【０１２３】
また、上記実施形態においては、画面情報にポータルサイトのトップページを適用していたが、例えば、トップページ以外のＷｅｂページ、ポータルサイト以外のＷｅｂサイトのＷｅｂページ、その他の表示画面を構成する画面情報を適用しても良い。
【図面の簡単な説明】
【０１２４】
【図１】本実施形態に係るポータルサイトシステムＳの概要構成の一例を示す図である。
【図２】本実施形態に係るＷｅｂサーバ１により提供されるポータルサイトのトップページ２００の表示例を示す図である。
【図３】本実施形態に係るポータルサイトシステムＳの機能構成の概要例を示すブロック図である。
【図４】本実施形態に係るＷｅｂサーバ１において収集されるＡＰＩ稼働集計情報の一例を示す図である。
【図５】本実施形態に係るＷｅｂサーバ１の概要構成の一例を示すブロック図である。
【図６】本実施形態に係るデータベースサーバ３−ｊの概要構成の一例を示すブロック図である。
【図７】本実施形態に係るポータルサイトシステムＳにおいて、ユーザ端末４−ｋからトップページリクエストが送信されてから、当該トップページがユーザ端末４−ｋにより表示されるまでの処理例を示すフローチャートである。
【図８】本実施形態に係るＷｅｂサーバ１のシステム制御部２０におけるデータ取得・キャッシュ更新処理の処理例を示すフローチャートである。
【図９】本実施形態に係るＷｅｂサーバ１のシステム制御部２０のデータ取得ＡＰＩ―ｊにおける処理例を示すフローチャートである。
【図１０】図７及び図８に示す処理におけるＡＰＩ稼働集計情報の集計結果の一例を示す図である。
【符号の説明】
【０１２５】
１  Ｗｅｂサーバ
２―ｊ  データベース
３−ｊ  データベースサーバ
４−ｋ  ユーザ端末
１１  操作部
１２  表示部
１３、３１  通信部
１４  ドライブ部
１５、３２  記憶部
１６、３３  入出力インタフェース
１７、３４  ＣＰＵ
１８、３５  ＲＯＭ
１９、３６  ＲＡＭ
２０、３７  システム制御部
２１、３８  システムバス
ＮＷ  ネットワーク
Ｓ  ポータルサイトシステム
【図１】
2008198158.tif 000003
【図２】
2008198158.tif 000004
【図３】
2008198158.tif 000005
【図４】
2008198158.tif 000006
【図５】
2008198158.tif 000007
【図６】
2008198158.tif 000008
【図７】
2008198158.tif 000009
【図８】
2008198158.tif 000010
【図９】
2008198158.tif 000011
【図１０】
2008198158.tif 000012