(57)【要約】【課題】ネットワークに接続されたクライアントのクライアントブラウザによるブラウジングを支援する。【解決手段】ウェブリソース再構成装置１はネットワーク５を介してクライアントブラウザ４に接続されている。クライアントブラウザ４からＨＴＴＰへリクエストを受信すると、認証を行う。認証が成功すると、セッションデータベースから当該ユーザのセッションを読込む。当該ユーザのセッションがセッションデータベースに存在しない場合、シナリオデータベースから利用可能なシナリオを選択し、ＨＴＭＬを作成して当該ユーザクライアントに送信する。リクエストＵＲＬがホワイトリストを構成するＵＲＬパターンと一致した場合、リクエストＵＲＬに相当するリソースを外部ウェブサーバ２から取得する。取得されたリソースはＨＴＭＬに書き換えられ、ＨＴＴＰレスポンスとしてクライアントブラウザ４に送信、表示される。【選択図】  図１
2005004631.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに接続されたクライアントブラウザによるブラウジングを支援するウェブ利用学習支援方法であって、
クライアントからＨＴＴＰリクエストを受信し、リクエストヘッダを解析して、その結果をリクエスト情報記憶に格納するＨＴＴＰリクエスト受信ステップと、
前記ＨＴＴＰリクエストを送信したクライアントのユーザの認証を行う認証ステップと、
認証が成功すると、各ユーザに対して、ユーザＩＤ、実行中シナリオＩＤ、１つ以上のホワイトリストＩＤ、最終アクセスＵＲＬからなるセッションが格納されているセッションデータベースから当該ユーザのセッションを読み込むセッション読み込みステップと、
当該ユーザのセッションが前記セッションデータベースに存在しない場合、各シナリオに対して、シナリオＩＤと、シナリオ名と、ＵＲＬパターンの組からなる１つ以上のホワイトリストＩＤの組が保存されているシナリオデータベースから利用可能なシナリオを検索し、画面表示に必要なＨＴＭＬを生成してＨＴＭＬを当該ユーザのクライアントに送信するシナリオ選択ステップと、
読み込まれたセッションの情報を前記リクエスト情報記憶に追加し、実行中シナリオＩＤをキーにして前記シナリオデータベースからシナリオを読み込み、シナリオ情報記憶に格納するシナリオ記憶ステップと、
前記リクエスト情報記憶に格納されたホワイトリストＩＤをキーにしてホワイトリストデータベースからホワイトリストを取得し、ホワイトリスト情報記憶に格納するホワイトリスト記憶ステップと、
前記リクエスト情報記憶からリクエストＵＲＬを取得し、該リクエストＵＲＬが前記ホワイトリスト情報記憶にあるホワイトリストを構成するＵＲＬパターンの組と順にマッチするかどうか判定するアクセス許可判定ステップと、
前記リクエストＵＲＬがホワイトリストを構成する少なくとも１つのＵＲＬとマッチすると、前記リクエストＵＲＬに相当するコンテンツを外部ウェブサーバから取得するウェブコンテンツ取得ステップと、
取得したコンテンツがＨＴＭＬであれば、ホワイトリストを利用したハイパーリンクの無効化と、ナビゲーションおよび／またはアノテーションのためのツールバーの挿入を行ってＨＴＭＬを書き換えるＨＴＭＬ書き換えステップと、
取得されたコンテンツまたはＨＴＭＬが書き換えられたコンテンツをＨＴＴＰレスポンスとして、前記ＨＴＴＰリクエストを送信したクライアントブラウザに送信するＨＴＴＰレスポンス送信ステップを有する、ウェブリソース再構成によるウェブ利用学習支援方法。
【請求項２】
前記認証が失敗した場合、前記ＨＴＴＰリクエストを送信したクライアントに対して識別符号の入力要求を行う識別符号入力要求ステップを有する、請求項１に記載の方法。
【請求項３】
前記アクセス許可判定ステップでマッチすると判定された場合、
前記リクエストＵＲＬがシナリオ選択画面表示を要求するＵＲＬかどうか判定するステップと、
前記リクエストＵＲＬがシナリオ選択画面表示を要求するＵＲＬであれば、前記リクエストＵＲＬが目次画面表示を要求するＵＲＬかどうか判定するステップを有し、
前記リクエストＵＲＬが目次画面表示を要求するＵＲＬでなければ前記ウェブコンテンツ取得ステップに進み、前記リクエストＵＲＬが目次画面表示を要求するＵＲＬである場合、および、前記アクセス許可判定するステップでマッチしないと判定された場合、前記シナリオ情報記憶から実行中シナリオの情報を獲得し、シナリオを構成する任意のＵＲＬに遷移できるように、各ＵＲＬへのハイパーリンクを備えたリンクを生成するステップをさらに有する、請求項１または２に記載の方法。
【請求項４】
ネットワークに接続されたクライアントブラウザによるブラウジングを支援するウェブリソース再構成装置であって、
ＨＴＴＰリクエストを送信したクライアントの情報を記憶するリクエスト情報記憶と、
クライアントからＨＴＴＰリクエストを受信し、リクエストヘッダを解析し、その結果を前記リクエスト情報記憶に格納するＨＴＴＰサーバと、
各ユーザに対して、一意なユーザＩＤ、ユーザ名、パスワード、アドレスが格納されているユーザ情報データベースと、
前記リクエスト情報記憶に格納されたクライアントの情報を前記ユーザ情報データベースの情報と照合し、前記ＨＴＴＰを送信したクライアントを認証する認証アクセス制御手段と、
各ユーザに対して、ユーザＩＤ、実行中シナリオＩＤ、１つ以上のホワイトリストＩＤ、最終アクセスＵＲＬからなるセッションが格納されているセッションデータベースと、
各シナリオに対して、シナリオＩＤ、シナリオ名と、ＵＲＬパターンの組からなる１つ以上のホワイトリストＩＤの組が保存されているシナリオデータベースと、
ホワイトリストデータベースと、
前記認証が成功すると、前記セッションデータベースから当該ユーザのセッションを読み込み、読み込まれたセッションの情報を前記リクエスト情報記憶に追加し、実行中シナリオＩＤをキーにして前記シナリオデータベースからシナリオを読み込み、前記シナリオ情報記憶に格納し、前記リクエスト情報記憶に格納されたホワイトリストＩＤをキーにして前記ホワイトリストデータベースからホワイトリストを取得し、ホワイトリスト情報記憶に格納するセッション読み込み手段と、
当該ユーザのセッションが前記セッションデータベースに存在しない場合、前記シナリオデータベースから利用可能なシナリオを検索し、画面表示に必要なＨＴＭＬを生成してＨＴＭＬを当該ユーザのクライアントブラウザに送信するシナリオ選択手段と、
前記リクエスト情報記憶からリクエストＵＲＬを取得し、該リクエストＵＲＬが前記ホワイトリスト情報記憶にあるホワイトリストを構成するＵＲＬパターンの組と順にマッチするかどうか判定するアクセス許可判定手段と、
前記リクエストＵＲＬがホワイトリストを構成する少なくとも１つのＵＲＬとマッチすると、前記リクエストＵＲＬに相当するコンテンツを外部ウェブサーバから取得するウェブコンテンツ取得手段と、
取得したコンテンツがＨＴＭＬであれば、ホワイトリストを利用したハイパーリンクの無効化と、ナビゲーションおよび／またはアノテーションのためのツールバーの挿入を行ってＨＴＭＬを書き換えるＨＴＭＬ書き換え手段と、
取得されたコンテンツまたはＨＴＭＬが書き換えられたコンテンツをＨＴＴＰレスポンスとして、前記ＨＴＴＰリクエストを送信したクライアントブラウザに送信するＨＴＴＰレスポンス送信手段を有するウェブリソース再構成装置。
【請求項５】
前記認証アクセス制御手段は、認証に失敗すると、前記ＨＴＴＰサーバを介して前記ＨＴＴＰリクエストを送信したクライアントに対して識別符号の入力要求を行う、請求項４に記載の装置。
【請求項６】
前記アクセス許可判定手段は、マッチすると判定された場合、
前記リクエストＵＲＬがシナリオ選択画面表示を要求するＵＲＬかどうか判定する手段と、
前記リクエストＵＲＬがシナリオ選択画面表示を要求するＵＲＬであれば、前記リクエストＵＲＬが目次画面表示を要求するＵＲＬかどうか判定する手段をさらに有し、
前記リクエストＵＲＬが目次画面表示を要求するＵＲＬでなければ前記ウェブコンテンツ取得手段に進み、
前記リクエストＵＲＬが目次画面表示を要求するＵＲＬである場合、および、前記アクセス許可判定手段でマッチしないと判定された場合、前記シナリオ情報記憶から実行中シナリオの情報を獲得し、シナリオを構成する任意のＵＲＬに遷移できるように、各ＵＲＬへのハイパーリンクを備えたリンクを生成する目次生成手段をさらに有する、請求項４または５に記載の装置。
【請求項７】
請求項１から３のいずれかに記載のウェブ利用学習支援方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、一般にはＨＴＴＰ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）プロキシサーバを介したクライアントブラウザの情報表示制御方法に関し、より詳細には、ＨＴＴＰプロキシサーバによるウェブリソースの再編成や、再編成に利用するためのメタデータ生成方法に関する。
【０００２】
【従来の技術】
ハイパーテキスト上での学習を支援する従来の方法としてガイドツアーがある。ガイドツアーは、ハイパーテキストの作者がハイパーテキストの読者に、ハイパーテキスト上の情報以外に、望ましい閲覧順などの作者の隠された意図を伝達するために、ナビゲーション専用の構造をハイパーテキストに付加するものである（例えば、非特許文献１参照）。
【０００３】
ガイドツアーの概念をウェブに適用したものとして、パスと呼ばれる順路をウェブ上に設定する方法が知られている。パスの実現方法としては、ウェブアプリケーションとして実装し、ウェブアプリケーションがｏｒｉｇｉｎ  ｓｅｒｖｅｒとクライアントブラウザとを仲介する過程で、ウェブページにパスを表現するのに必要なハイパーリンクを埋め込むものがある（例えば、非特許文献２参照）。この方法の場合、ｏｒｉｇｉｎ  ｓｅｒｖｅｒ上のウェブページに変更を加える必要がなく、ウェブページの作者以外でもパスを設定することができる。
【０００４】
【非特許文献１】
Ｒ．Ｈ．Ｔｒｉｇｇ，  敵ｕｉｄｅｄ  Ｔｏｕｒｓ  ａｎｄ  Ｔａｂｌｅｔｏｐｓ：  Ｔｏｏｌｓ  ｆｏｒ  Ｃｏｍｍｕｎｉｃａｔｉｎｇ  ｉｎ  ａ  Ｈｙｐｅｒｔｅｘｔ  Ｅｎｖｉｒｏｎｍｅｎｔ，    ＡＣＭ  Ｔｒａｎｓ．  Ｉｎｆｏｒｍａｔｉｏｎ  Ｓｙｓｔｅｍｓ，  ｖｏｌ．６，  ｎｏ．４，  Ｏｃｔ．  １９８８．  ｐｐ．３９８−４１４．
【非特許文献２】
Ｄ．Ｎｉｃｏｌ，  Ｃ．Ｓｍｅａｔｏｎ  ａｎｄ  Ａ．Ｆ．Ｓｌａｔｅｒ，  擢ｏｏｔｓｔｅｐｓ：  Ｔｒａｉｌ−ｂｌａｚｉｎｇ  ｔｈｅ  Ｗｅｂ，    Ｃｏｍｐｕｔｅｒ  Ｎｅｔｗｏｒｋｓ  ａｎｄ  ＩＳＤＮ  Ｓｙｓｔｅｍｓ，  ｖｏｌ．２７，  ｎｏ．６，  Ａｐｒ．  １９９５，  ｐｐ．８７９−８８５．
【０００５】
【発明が解決しようとする課題】
学校教育においてインターネットの利用が広がっている。数多くのインターネットアプリケーションの中でも、ウェブは、その豊富な情報量と、子どもでも簡単に扱える操作性が魅力となり、授業での活用が期待されている。しかし、ウェブリソースは教科書やビデオ教材とは異なり教育利用を前提として製作されたものではないため、そのまま授業で利用しようとすると、さまざまな問題を引き起こす。
【０００６】
例として、教育上好ましくないリソースの存在が挙げられる。インターネット上には、ポルノや暴力的なコンテンツなど子どもに見せるのに不適切なコンテンツが多数存在しており、これらのコンテンツに子どもが接触するのを防ぐために、いくつかの技術的解決策が提示されている。プロキシサーバを利用したコンテンツのフィルタリングは、その一例である。他にも、コンテンツに対するラベリングを挙げることができるが、必ずしもすべての好ましくないコンテンツに正しいラベルがついているわけではないので、完全な解決策を提供するものではない。
【０００７】
さらに、ウェブに含まれる情報は膨大であるため、必要とする情報を見つけるのに技術的支援を必要とする。現在、目的の情報を見つけるのに利用されている方法の代表的なものに、ディレクトリサービスと検索エンジンによるサービスとがある。しかし、子どもの場合には、これらの方法を使いこなすことができず、短時間で必要とする情報にたどり着くのは困難である。このため、授業が情報探索に終始してしまい、教師の期待どおりの学習をすることができなくなる。子どもが学習に関係したページを見つけるのを支援する必要がある。
【０００８】
さて、ウェブはハイパーテキストを技術基盤としていることを忘れてはいけない。ハイパーテキストが抱える問題もウェブに継承されるのである。本発明では２つの大きな問題について対象とすることとする。すなわち、認知的負荷が大きいことと見当識障害を引き起こすことである（例えば、Ｊ．Ｃｏｎｋｌｉｎ，  滴ｙｐｅｒｔｅｘｔ：  Ａｎ  Ｉｎｔｒｏｄｕｃｔｉｏｎ  ａｎｄ  Ｓｕｒｖｅｙ，    ＩＥＥＥ  Ｃｏｍｐｕｔｅｒ，  ｖｏｌ．２０，  ｎｏ．９，  Ｓｅｐｔ．  １９８７，  ｐｐ．１７−４１参照）。
【０００９】
まず、認知的負荷について述べる。ハイパーテキストは、書籍などと異なり、探索していく順番が一意に定まっておらず、読者は、常に次のテキストを選択することを迫られる。この選択は、通常ハイパーリンクと呼ばれる。ページ間を連結する指示子を選択することにより行われるが、ある時点で選択可能なハイパーリンクの数が多すぎると読者の認知機能に大きな負荷を与えてしまうことになる。
【００１０】
次に、見当識障害について述べる。認知負荷で述べたのと同様、書籍と比較してみよう。書籍の構造は線形である。すなわち、探索の方向は一方向であり、通常は、ページ数の増大する方向に読者が読み進んで行く。この場合、読者は、総ページ数を確認するだけで全体を把握することができ、現在のページ番号を確認するだけで、全体の中での自分の位置を確認することができる。書籍に対し、ウェブの構造は非線形である。ウェブページはその数があまりにも大きく、また、ページ間はハイパーリンクにより複雑に連結されているので、読者がウェブの全体像を把握するのは不可能に近い。当然、現在見ているページがウェブ全体でどの位置を占めるかについて知る由も無い。このため、しばしばウェブの中で迷子になってしまうという問題が存在する。
【００１１】
最後に、コンピュータ利用の授業で生じる問題について述べる。黒板とチョークを用いた一斉授業とは異なり、ウェブを閲覧するようなコンピュータ利用の授業では、一人一人の学習の進展が異なる。さらに言うならば、ある時点において、それぞれの子どもが見ているウェブページは別々のものであると考えてもよい。ここでも、ウェブリソースが必ずしも教育利用を想定していないという事実が問題となる。教育利用を想定していないリソースの場合、リソースから教師の期待通りに子どもに情報を読み取らせるには、何らかの追加情報を与えるなどの教示が必要となる。しかし、それぞれの子どもが別々のページを見ているので、一斉授業のように授業中に追加情報を子どもに与えるのは不可能である。ウェブリソースに事前に学習に必要な追加情報を付加できればよいのだが、一般のウェブリソースは教師が編集できるものではないので、これも難しい。子どもが授業中見るページに追加の情報を提示する手段が必要となる。いわゆる、アノテーションというものである。
【００１２】
ここまで述べてきた問題点を整理してみよう。ウェブ利用学習で問題となるのは、（１）子どもが好ましくない情報に接するのを避ける、（２）子どもに必要な情報を閲覧させる、（３）ウェブ利用の際の認知的負荷をできるだけ少なくする、（４）ウェブでの学習の全体像を提示し全体の中での現在位置がわかるような仕組みをつくる、（５）学習に必要な情報をウェブページに追加して表示できるようにする、といったことであった。これら（１）〜（５）の問題を同時に、かつ効率的に解決するのが、本発明が解決しようとする課題である。
【００１３】
もちろん、従来の技術にもこれら課題を部分的に解決する可能性があるものもある。たとえば、ガイドツアーは上記の（２）と（４）の問題をある程度解決するが、ハイパーテキストの作成者のみが実行できる手段であるという問題点がある。ほとんど全てのウェブリソースについて、教師は作成者ではないため、ガイドツアーの利用をあきらめるか、ウェブリソースの利用をあきらめざるを得ない。
【００１４】
本発明は、ハイパーテキストの作成者でなくても、仮想的にガイドツアーを実行できることを目的としており、さらに、従来のガイドツアーでは解決できない上記（１）、（３）、（５）の問題をも同時に解決することを目的としている。
【００１５】
従来のパスと呼ばれる方法は、上記の（２）、（４）、（５）をある程度解決するが、学習支援を得られるのはブラウザがウェブアプリケーションに接続している間だけであり、子どものすべてのブラウジングにおいて学習支援を得られるわけではない、という問題点がある。本発明は、すべてのブラウジングにおいて学習支援を実施することを目的としており、さらに、従来のパスでは解決できない上記（１）、（３）の問題をも同時に解決することを目的としている。
【００１６】
【課題を解決するための手段】
上記目的を達成するために、本発明においては、学校ネットワークとインターネットとの間にプロキシサーバとしてウェブリソース再構成装置を設置する。学習支援対象のブラウザは、ウェブ閲覧の際にプロキシサーバの仲介を必要とする。プロキシサーバは仲介時にウェブリソースの再編成を実行することにより、ｏｒｉｇｉｎ  ｓｅｒｖｅｒ上のリソースを変更することなく、学習支援を実施する。
【００１７】
学習支援は、あらかじめ定義されたシナリオと呼ばれるメタデータに従い、ウェブリソースを再編成してブラウザに表示させることで行う。本発明でいうシナリオとは、一つのパスと複数のホワイトリストを含むものである。パスは順序づけられた複数のＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）からなり、各ＵＲＬにはアノテーション用のコメントが対応づけられている。ホワイトリストは複数のＵＲＬマッチングパターンから構成される。
【００１８】
上記のように構成されたウェブリソース再構成装置により、すべての学校ネットワークに接続されたすべてのクライアントブラウザによるブラウジングが学習支援の対象となる。ウェブリソース再構成装置がクライアントブラウザからのＨＴＴＰリクエストを受信すると、ウェブリソース再構成装置は認証を行う。認証により、ウェブリソース再構成装置は接続してくる各クライアントブラウザを識別することが可能となり、クライアントブラウザ毎に異なるシナリオを実行することが可能となる。
【００１９】
認証が完了したウェブブラウザは学習支援ウェブアプリケーションが提供するシナリオ選択画面を利用して、実行するシナリオを選択することができる。選択されたシナリオはセッション管理手段によってウェブリソース再構成装置に記憶され、以降のＨＴＴＰリクエストについて、シナリオによるウェブリソース再編成が行われる。
【００２０】
シナリオ実行中のＨＴＴＰリクエストは、アクセス許可判定手段により、リクエストＵＲＬがシナリオに含まれるホワイトリストにマッチするかどうか判定される。リクエストＵＲＬがシナリオに含まれるホワイトリストにマッチしなかった場合、ＨＴＴＰリクエストは拒否される。この機構により、子どもが好ましくない情報に接するのを確実に避けることができる。
【００２１】
リクエストＵＲＬがシナリオに含まれるホワイトリストにマッチした場合には、リクエストＵＲＬに相当するリソースが外部ウェブサーバから取得される。取得されたリソースはシナリオに基づいてＨＴＭＬ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）が書き換えられる。書き換えの詳細は、ホワイトリストを利用したハイパーリンクの無効化と、ナビゲーションやアノテーションのためのツールバーの挿入である。ＨＴＭＬ書き換えが終了したリソースはＨＴＴＰレスポンスとしてクライアントブラウザに送信され、表示される。ハイパーリンクの無効化により、ある時点で選択可能なハイパーリンクの数は減少する。これにより、認知的負荷が軽減される。
【００２２】
ＨＴＭＬに挿入されたツールバー上には、「次へ」「前へ」「目次」などのボタンが表示されており、これらのボタンがクリックされることで、各ボタンに対応するＨＴＴＰリクエストをクライアントブラウザがウェブリソース再構成装置に送信する。各ボタンに対応したＨＴＴＰリクエストを受信したウェブリソース再構成装置は、要求された処理を行う。「次へ」「前へ」ボタンが押された場合には、ウェブリソース再構成装置は、シナリオ上の順番で、それぞれ、１つ次の、１つ前のウェブページをクライアントブラウザに表示させる。これら２つのボタンを用意することにより、シナリオの全てのページ、すなわち、必要な情報を確実に閲覧させることができる。「目次」ボタンが押された場合には、プロキシサーバはシナリオに含まれる全ウェブページのリストをクライアントブラウザに表示させる。目次により学習の全体像を把握することを可能としている。
【００２３】
【発明の実施の形態】
次に、本発明の実施の形態について図面を参照して説明する。
【００２４】
図１は本発明の一実施形態のシステム構成を示している。ウェブサーバ２が接続されているネットワーク３と、クライアントブラウザ４が接続されているネットワーク５の間にウェブリソース再構成装置１が設置され、両者が接続されている。
【００２５】
図２はウェブリソース再構成装置１の構成例を示している。ウェブリソース再構成装置１はＨＴＴＰサーバ１０と認証アクセス制御部１１とセッション管理部１２とシナリオ選択画面表示部１３とホワイトリスト管理部１４とアクセス許可判定部１５と目次生成部１６とＨＴＴＰクライアント１７とＨＴＭＬパーザ１８とＨＴＭＬ組み立て部１９とカーネル２１とユーザ情報データベース２２とセッションデータベース２３とシナリオデータベース２４とホワイトリストデータベース２５より構成されている。カーネル２１は全てのモジュール（ＨＴＴＰサーバ１０からＨＴＭＬ組み立て部１９）の制御を行うモジュールであり、その内部にリクエスト情報記憶２６、ホワイトリスト情報記憶２７、シナリオ情報記憶２８、パーズ済みＨＴＭＬ文書２９を保持することができる。ＨＴＴＰサーバ１０はネットワーク３に接続され、クライアントブラウザ４へのＨＴＴＰレスポンスの送信を行う。ＨＴＴＰクライアント１７はネットワーク５に接続され、ウェブサーバ２からのリソース取得を行う。本実施形態でのＨＴＴＰについてはＲＦＣ２６１６の規定が適用される。
【００２６】
図３はウェブリソース再構成装置１が行うウェブリソース再構成の手順を示している。
【００２７】
ステップ１０１に、ＨＴＴＰリクエストを受信したＨＴＴＰサーバ１０はリクエストヘッダを解析して、その結果をリクエスト情報記憶２６に格納する。リクエスト情報記憶２６には、クライアントブラウザ４のＩＰアドレスや、Ｐｒｏｘｙ  Ａｕｔｈｅｎｔｉｃａｔｉｏｎによるユーザ名やパスワード、リクエストＵＲＬなどが含まれる。
【００２８】
ステップ１０２では、認証アクセス制御モジュール１１が、リクエスト情報記憶２６に格納された、クライアントブラウザ４のＩＰアドレスやユーザ名をキーにして、ユーザ情報データベース２２からユーザ情報を取得する。ユーザ情報データベース２２の構成例を表１に示す。ユーザ情報データベース２２には、各ユーザに対して、一意なユーザＩＤ、ユーザ名、パスワード、アドレスが格納されている。
【００２９】
【表１】
2005004631.tif 000003
【００３０】
該当するユーザがユーザ情報データベース２２に存在しないときには認証は失敗する。また、リクエスト情報記憶２６中のパスワードとユーザ情報データベース２２中のパスワードが一致しない場合にも認証が失敗する。認証が失敗した場合には、ステップ１０３に、ＲＦＣ２６１６による認証符号入力要求がＨＴＴＰサーバ１０を通じてクライアントブラウザ４に送信され、識別符号入力要求が行われる。認証が成功すると、該ユーザＩＤをリクエスト情報記憶２６に追加格納する。
【００３１】
ステップ１０４では、セッション管理モジュール１２がリクエスト情報記憶２６に格納されてユーザＩＤをキーにして、セッションデータベース２３からセッション、すなわち前回リクエスト時の状態を読み出す。セッションデータベース２３には、表２に示すように、各ユーザに対して、ユーザＩＤ、実行中シナリオＩＤ、１以上のホワイトリストＩＤ、最終アクセスＵＲＬが格納され、セッションを構成していることがわかる。
【００３２】
【表２】
2005004631.tif 000004
【００３３】
当該ユーザのセッションがセッションデータベース２３中に存在しない場合にはセッションが読み込まれず、ステップ１０５に、クライアントブラウザ４にシナリオ選択画面を表示させる。
【００３４】
ステップ１０５では、図４に示すように、シナリオ選択画面表示部１３はシナリオデータベース２４から利用可能なシナリオを検索する（ステップ２０１）。シナリオデータベース２４の例を図５に示す。この図は同時にホワイトリストデータベース２５の例にもなっている。シナリオデータベース２４には、各シナリオに対して、シナリオＩＤとシナリオ名と１つ以上のホワイトリストＩＤとの組が保存されている。シナリオＩＤはＩＤに対応するパスに関連づけられている。パスは複数の、順番とＵＲＬとコメントの組とから構成される。ホワイトリストＩＤは対応するホワイトリストに関連づけられている。ホワイトリストＩＤはＵＲＬパターンの組からなる。ＵＲＬパターンには、たとえば、シェル形式のグロブパターンや正規表現を用いる。ＵＲＬパターンにより、全てのＵＲＬを列挙する方法と比較して、ホワイトリストを短くすることができる。次に、画面表示に必要なＨＴＭＬを再生する（ステップ２０２）。画面表示に必要なＨＴＭＬの生成は、フォーム要素などを用いてプルダウンメニュー形式でシナリオを選択できるようにすればよい。次に、ＨＴＴＰサーバ１０がＨＴＭＬをクライアントブラウザ４に送信し（ステップ２０３）、クライアントブラウザ４がシナリオ選択画面を表示する（ステップ２０４）。
【００３５】
ここで、ステップ１０４のセッション読み込みに戻る。読み込まれたセッションの情報はリクエスト情報記憶２６に追加され、以降の処理で利用される。さらに、セッション管理部１２は実行中シナリオＩＤをキーにしてシナリオデータベース２４からシナリオを読み込み、シナリオ情報記憶２８に格納する。
【００３６】
アクセス許可の前に、ホワイトリスト管理部１４がリクエスト情報記憶２６に格納されたホワイトリストＩＤをキーにしてホワイトリストデータベース２５からホワイトリストを取得し、ホワイトリスト情報記憶２７に格納する。ステップ１０６に、アクセス許可判定部１５がリクエスト情報記憶２６からリクエストＵＲＬを取得し、ホワイトリスト情報記憶２７にあるホワイトリストを構成するＵＲＬパターンの組と順にマッチングを行う。リクエストＵＲＬがホワイトリストを構成する少なくとも一つのＵＲＬパターンとマッチするときにアクセスを許可する。
【００３７】
ステップ１０７では、リクエストＵＲＬがシナリオ選択画面表示を要求するＵＲＬかどうかをアクセス許可判定部１５で判定する。シナリオ選択画面表示を要求するＨＴＴＰリクエストは、たとえば、リクエストＵＲＬが、ｈｔｔｐ：／／ｈｏｍｅ．ｗｅｂａｎｇｅｌ／のような、通常のウェブページを示すＵＲＬではないものである。ここで、ＵＲＬホスト部中のＴＬＤ文字列、ｗｅｂａｎｇｅｌは、外部サーバのリソースを要求しているわけではないことを示すために例として挙げたもので、ＩＡＮＡ（ｈｔｔｐ：／／ｗｗｗ．ｉａｎａ．ｏｒｇ／）でｇＴＬＤあるいはｃｃ−ＴＬＤとして定義されているものでなければ別の文字列を使用してもよい。ＵＲＬホスト部中のホスト名文字列、ｈｏｍｅは、シナリオ選択画面を要求することを示す例として挙げたもので、システムとして一意の文字列を使用するのなら、別の文字列を使用してもよい。
【００３８】
ステップ１０８では、アクセス許可判定部１５がリクエストＵＲＬが目次画面表示を要求するＵＲＬかどうかを判定する。目次画面表示を要求するＨＴＴＰリクエストも、シナリオ選択画面表示を要求するＵＲＬ同様、通常のウェブページを示すＵＲＬではないもので、かつ、シナリオ選択画面表示を要求するＵＲＬとは異なるものを設定する。
【００３９】
ステップ１０９では、目次生成部１６がシナリオ情報記憶２８から実行中シナリオの情報を獲得し、シナリオを構成する任意のＵＲＬに遷移できるように、各ＵＲＬへのハイパーリンクを備えたＨＴＭＬを生成する。
【００４０】
ステップ１１０では、ＨＴＴＰクライアントモジュール１７がリクエスト情報記憶２６に格納されているリクエストＵＲＬに相当するコンテンツをネットワーク３を介してウェブサーバ２から取得する。ステップ１１１で、取得したコンテンツがＨＴＭＬかどうか判定する。コンテンツがＨＴＭＬの場合には、ステップ１１２に、ＨＴＭＬパーザ１８によりパーズされ、パーズ済みＨＴＭＬ文書２９に格納される。コンテンツがＨＴＭＬ以外の場合にはＨＴＴＰサーバ１０がコンテンツをクライアントブラウザ４に表示させるためにステップ１１５にＨＴＴＰレスポンス送信を行う。ＨＴＭＬパーザ１８がウェブコンテンツをパーズする様子について図６に例を示す。
【００４１】
パーズの後、ステップ１１２にＨＴＭＬ組み立て部１９によりＨＴＭＬの組み立てが図７に示すフローで行なわれる。
【００４２】
まず、パーズ済みＨＴＭＬ文書２９の各ハイパーリンクに対して、ホワイトリスト情報記憶２７のＵＲＬパターンの少なくとも１つとマッチするかどうかを判定する（ステップ３０１）。マッチした場合にはハイパーリンクに対して何も操作しない。マッチしなかった場合には、ハイパーリンク中の＜ａ＞タグを削除し、ハイパーリンクを無効化する。次に、固定のＨＴＭＬ文字列に加えて、「次へ」「前へ」ボタンを実現するためのＨＴＭＬを生成する（ステップ３０２）。「次へ」「前へ」ボタン用のＨＴＭＬ生成について、図８に例を示す。最後に、パーズ済みＨＴＭＬ文書２９とツールバーを合成してＨＴＭＬを生成する（ステップ３０３）。ＨＴＭＬ生成の様子の例を図９に示す。
【００４３】
このようにして組み立てられたＨＴＭＬはステップ１１４にＨＴＭＬサーバ１０よりクライアントブラウザ４に出力される。
【００４４】
なお、ウェブリソース再構成装置は専用のハードウェアにより実現されるもの以外に、その機能を実現するためのプログラムを、コンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行するものであってもよい。コンピュータ読み取り可能な記録媒体とは、フロッピーディスク、光磁気ディスク、ＣＤ−ＲＯＭ等の記録媒体、コンピュータシステムに内蔵されるハードディスク装置等の記憶装置を指す。さらに、コンピュータ読み取り可能な記録媒体は、インターネットを介してプログラムを送信する場合のように、短時間の間、動的にプログラムを保持するもの（伝送媒体もしくは伝送波）、その場合のサーバとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含む。
【００４５】
【発明の効果】
以上説明したように、本発明は、以下に記載されるような効果を有する。
【００４６】
プロキシサーバとして実現することで全てのブラウジングを学習支援の対象とすることができる。
【００４７】
また、各端末に専用ソフトウェアをインストールする必要がないので、利用環境構築が容易になる。
【００４８】
個別のシステムを組み合わせて実現することが必要であった、ブロッキングやナビゲーションを単一のシステムで実現することにより、設備投資費用の軽減と保守管理の容易化を図ることができる。
【００４９】
アクセス制限のために使われるホワイトリストをハイパーリンクの無効化に用いることにより、画面上に一度に表示されるハイパーリンクを減らすことができる。これにより、学習者のブラウジング中の認知的負荷を低減することができる。
【図面の簡単な説明】
【図１】本発明の一実施形態のウェブリソース再構成装置を含むシステムの構成図である。
【図２】図１中のウェブリソース再構成装置の構成を示す図である。
【図３】ウェブリソース再構成装置が行うウェブリソース再構成の手順を示すフローチャートである。
【図４】シナリオ選択画面表示の手順を示すフローチャートである。
【図５】シナリオデータベースの例を示す図である。
【図６】ＨＴＭＬパーザがウェブコンテンツをパーズする様子を示す図である。
【図７】リンク書き換えの手順を示すフローチャートである。
【図８】「次へ」「前へ」ボタン用のＨＴＭＬ生成の例を示す図である。
【図９】ＨＴＭＬ生成の様子の例を示す図である。
【符号の説明】
１    ウェブリソース再構成装置
２    ウェブサーバ
３，５    ネットワーク
４    クライアントブラウザ
１０    ＨＴＴＰサーバ
１１    認証アクセス制御部
１２    セッション管理部
１３    シナリオ選択画面表示部
１４    ホワイトリスト管理部
１５    アクセス許可判定部
１６    目次生成部
１７    ＨＴＴＰクライアント
１８    ＨＴＭＬパーザ
１９    ＨＴＭＬ組み立て器
２１    カーネル
２２    ユーザ情報データベース
２３    セッションデータベース
２４    シナリオデータベース
２５    ホワイトリストデータベース
２６    リクエスト情報記憶
２７    ホワイトリスト情報記憶
２８    シナリオ情報記憶
２９    パーズ済みＨＴＭＬ文書
１０１〜１１４，２０１〜２０４，３０１〜３０３    ステップ
【図１】
2005004631.tif 000005
【図２】
2005004631.tif 000006
【図３】
2005004631.tif 000007
【図４】
2005004631.tif 000008
【図５】
2005004631.tif 000009
【図６】
2005004631.tif 000010
【図７】
2005004631.tif 000011
【図８】
2005004631.tif 000012
【図９】
2005004631.tif 000013