(57)【要約】  【課題】  進みおよび戻りナビゲーション・ボタンにより従来技術のナビゲーションの方法を改善すること。  【解決手段】  ブラウザ・アプリケーション内で第１のページから第２のページにナビゲートするためのコンテキスト・ベースのナビゲーション構成要素であって、前記ブラウザ・アプリケーション内で稼働しているアクション・ボタンから第２のページへナビゲートするようにとの指示を受信するためのコールバック機能と、前記第１のページの属性を決定し、決定した属性に応じて第２のページのどれにナビゲートするのかを識別するための状態管理構成要素と、前記決定した第２のページのアドレスを生成し、前記生成したアドレスを前記アクション・ボタンに割り当てるための生成構成要素とを備えるコンテキスト・ベースのナビゲーション構成要素。【選択図】  図４
2007149074.tif 000002
【特許請求の範囲】
【請求項１】
ブラウザ・アプリケーション内で第１のページから第２のページにナビゲートするためのコンテキスト・ベースのナビゲーション・コンポーネントであって、
前記ブラウザ・アプリケーション内で稼働しているアクション・ボタンから第２のページへナビゲートするようにとの指示を受信するためのコールバック機能と、
前記第１のページの属性を決定し、前記決定した属性に応じてどの第２のページにナビゲートするのかを識別するための状態管理コンポーネントと、
前記決定した第２のページのアドレスを生成し、前記生成したアドレスを前記アクション・ボタンに割り当てるための生成コンポーネントと
を備えるコンテキスト・ベースのナビゲーション・コンポーネント。
【請求項２】
前記アクション・ボタンが、「進む」または「戻る」ボタンである、請求項１に記載のコンテキスト・ベースのナビゲーション・コンポーネント。
【請求項３】
前記状態管理コンポーネントが、前記コールバック機能から状態情報を要求することにより、前記第１のページの属性を決定する、請求項１に記載のコンテキスト・ベースのナビゲーション・コンポーネント。
【請求項４】
前記状態情報が、前記第１のページへのデータ入力のタイプおよびコンテキストの識別情報を含む、請求項３に記載のコンテキスト・ベースのナビゲーション・コンポーネント。
【請求項５】
前記状態管理コンポーネントが、ナビゲートする第２のページを決定するために、ウェブサイトのワークフローを決定するためのコンポーネントをさらに備える、請求項１に記載のコンテキスト・ベースのナビゲーション・コンポーネント。
【請求項６】
前記ワークフローが、ナビゲートする複数のナビゲーション経路を示すワークフロー・マップを備える、請求項１に記載のコンテキスト・ベースのナビゲーション・コンポーネント。
【請求項７】
前記ワークフロー・マップが、第２のページへの必要なナビゲーション経路を含んでいない場合に、前記状態管理コンポーネントが、前記第２のページの通信を要求するために、前記第１のページを格納しているサーバに要求を送信する、請求項６に記載のコンテキスト・ベースのナビゲーション・コンポーネント。
【請求項８】
前記第１のページのデータ入力フィールドの存在しないデータ入力を前記ブラウザ・アプリケーションに通知するための通知コンポーネントをさらに備え、そのため前記状態管理コンポーネントが、前記存在しないデータ入力が回復するまで、ナビゲートする前記第２のページを決定することができない、請求項１に記載のコンテキスト・ベースのナビゲーション・コンポーネント。
【請求項９】
ブラウザ・アプリケーション内で第１のページから第２のページにナビゲートするためのコンテキスト・ベースのナビゲーションのための方法であって、
前記ブラウザ・アプリケーション内で稼働しているアクション・ボタンから第２のページへナビゲートするようにとの指示を受信するステップと、
前記第１のページの属性を決定し、前記決定した属性に応じてどの第２のページにナビゲートするのかを識別するステップと、
前記決定した第２のページに関連するアドレスを生成し、前記生成したアドレスを前記アクション・ボタンに割り当てるステップと
を含む方法。
【請求項１０】
デジタル・コンピュータの内部メモリに直接ロードすることができるコンピュータ・プログラムであって、コンピュータに、請求項１〜８の何れか１項に記載のステップを実行させるコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、インターネット・ブラウジングの分野に関し、特にコンテキスト・ベースのウェブページ・ナビゲーションの分野に関する。
【背景技術】
【０００２】
ブラウザ・アプリケーションは、クライアント・デバイスのところで表示するために、ウェブ・サーバ上に位置するウェブページを検索するために使用される。従来技術のウェブ・ブラウザは、ユーザ・セッション中にページ・ナビゲーションを助ける機能を含む。このタイプの機能の一例としては、前に表示したウェブページを再表示するための機能がある。
【０００３】
「前に表示したウェブページの再表示」機能は、ブラウザのツール・バー上に位置する「進む」および「戻る」ボタンにより制御される。これらのボタンは、多くの場合、ブラウザの表示エリア上の固定位置の戻りおよび進みポインティング矢印として表示される。ブラウザがあるページにアクセスすると、そのページは通常ローカル・キャッシュに格納される。「進む」または「戻る」ボタンにより前に表示したウェブページにアクセスするために、「進む」または「戻る」ボタンは、ローカル・キャッシュにアクセスし、該当するウェブページを検索する。それ故、前に表示したページのブラウザのキャッシュにより、ユーザはその現在のブラウジング・セッション中にすでに表示したページにナビゲートすることができる。
【０００４】
ユーザ入力および出力のためにブラウザにより実行するインターネット・アプリケーションは、業界ではステートレス・プロトコルと呼ばれるＨＴＴＰプロトコルを通してアクセスされる。しかし、従来技術のインターネット・アプリケーションの場合には、ブラウザは、アプリケーションがユーザのセッションに関する情報を維持するために、各要求と一緒に「状態」情報を送信しなければならない。そのため、ユーザに関連情報を提供しなければならない。しかし、実行中のアプリケーションは、ユーザ・インタラクションの寿命を通して有効な任意の一定の動作状態に依存することはできない。このことは、多くの場合、ブラウザのキャッシュ内に格納しているページが無効になることを意味する。何故なら、そのページは古い情報を含んでいるからである。あるページを再表示しようとすると、ナビゲーション・エラー応答（ｎａｖｉｇａｔｉｏｎａｌ  ｅｒｒｏｒ  ｒｅｓｐｏｎｓｅ）となる。このようなナビゲーション・エラーは、ページが再表示されないことから不正確なまたは無効な情報の表示まで様々である。
【０００５】
既存の従来技術の解決方法は、「キオスク・モード」でブラウザを使用することによりこの問題を解決しようとする。キオスク・モードは、ブラウザのインタフェースからナビゲーション・ボタンを除去することにより、ナビゲーション・エラーの問題を無視するステップを含む。ナビゲーション・ボタンを除去すると、ユーザは使い勝手の問題に当面することになる。すなわち、ユーザは、誤りを訂正するために「進む」および「戻る」ボタンを使用することができなくなる。
【０００６】
従来技術のナビゲーション・ボタンが役に立つ機能を提供できないもう１つの例は、ユーザがもっと大きなシーケンスのページ内にあるページをブラウジングしている場合である。順次チェーン（ｓｅｑｕｅｎｔｉａｌ  ｃｈａｉｎ）の例は、検索エンジン結果ページ内にある。潜在的結果の数が多いので、結果はいくつかのページに分割される。各ページは、多くの場合、少なくとも表示する次のページおよび前のページへのリンクを含む。これらは、通常、下記の形でブラウザに表示される。
<PREV> <1> <2> <3> <4> <5><6> <NEXT>
【０００７】
チェーン内の次または前のページあるいはその両方へのこのリンク方法は、ブラウザの「戻る」および「進む」ボタンの通常の機能とは正反対のものである。「次の」ページにナビゲートしようとしているブラウジング・セッションの最初のところのチェーン内の第１のページのところにいるユーザは、「進み」ブラウザ・ナビゲーション・ボタンを使用しようとする。しかし、ブラウザ・キャッシュの動作により、この機能を使用することができない（何故なら、ページは表示されたことがなく、そのためそのページがキャッシュ内に含まれていないからである）。それ故、ユーザはページ上に表示されているリンクを使用しなければならない。同様に、ユーザが、チェーン内のｎ番目のページに直接ナビゲートするためにリンクを使用し、次に、チェーン内の前のページにアクセスしようとすると、戻りブラウザ制御はこの機能を提供しない。例えば、１、２、９ページを表示した後で、従来技術の「戻る」ボタンを使用すると、実際には８ページを見たいのに２ページが再表示される。
【０００８】
明らかに、これらのアプローチは、通常のユーザにとって満足のいくものではない。身障者の場合にはこの状況は我慢できるものではない。視覚障害のあるユーザは、ブラウザ内に表示されているウェブページをチェックするためにスクリーン・リーダを使用しなければならないし、そのため一組のウェブページを通してナビゲートするある種の一様ではっきりした方法が必要になる。
【発明の開示】
【発明が解決しようとする課題】
【０００９】
それ故、進みおよび戻りナビゲーション・ボタンにより従来技術のナビゲーションの方法を改善する必要がある。
【課題を解決するための手段】
【００１０】
第１の実施形態によれば、本発明は、ブラウザ・アプリケーション内で第１のページから第２のページにナビゲートするためのコンテキスト・ベースのナビゲーション・コンポーネントを備える。コンテキスト・ベースのナビゲーション・コンポーネントは、ブラウジング・アプリケーション内で動作しているアクション・ボタンから、第２のページにナビゲートするようにとの指示を受信するためのコールバック機能と、第１のページの属性を決定し、決定した属性に応じてどの第２のページにナビゲートするのかを識別するための状態管理コンポーネントと、決定した第２のページのアドレスを生成し、生成したアドレスをアクション・ボタンに割り当てるための生成コンポーネントとを備える。
【００１１】
都合のよいことに、本発明は、アクション・ボタン（例えば、「進む」または「戻る」ボタン）をユーザが選択した瞬間に、ナビゲートする次の論理ページを決定する方法を提供する。この利点を達成するために、本発明は、ユーザがブラウジングしているウェブサイトのワークフロー・ロジックを決定する。状態情報は、ユーザが、例えば、どのデータ入力フィールドを選択したか、またはユーザがどのデータ入力フィールドにデータを入力したかをブラウジングしているページから収集される、すなわち、ユーザが第３のラジオ・ボタンを選択したので、４ページではなく２ページを表示する必要があると判定する。
【００１２】
データ入力属性により、次の論理ページの位置が決定される。このことは、要求したページを格納しているサーバからそのページを要求することにより、または第１のページへのデータ入力により各ページから行くことができるナビゲーション経路を記述しているワークフロー・マップを分析することにより行うことができる。
【００１３】
それ故、都合のよいことに、これがＨＴＭＬの形をしていても、または論理的にオンライン・バンキング・サイトを形成しているＪａｖａアプリケーションであっても、ユーザはウェブサイトを通してナビゲートすることができる。ブラウザとウェブサイトの間の状態が一致していないので、ユーザは、例えばそのオンライン・バンキング・アプリケーションからもはやログアウトすることはできない。また、ユーザは、通常、「進む」および「戻る」ボタンが使用できない場合に、すなわちウェブサイトがキオスク・モードで動作している場合に、進みおよび戻りナビゲーション・ボタンを利用することができる。ユーザがナビゲーション・アクション・ボタンを選択する度に、次の論理ページのアドレスが動的に生成され、要求しているナビゲーション・アクション・ボタンに取り付けられる。都合のよいことに、アクション・ボタンは、単にすでに訪問したページのシーケンス内の位置によってではなく、表示中のページが設定したその特性を有する。
【００１４】
好適には、本発明は、アクション・ボタンが「進む」または「戻る」ボタンであるコンテキスト・ベースのナビゲーション・コンポーネントを備えることが好ましい。
【００１５】
好適には、本発明は、状態管理コンポーネントが、コールバック機能から状態情報を要求することにより第１のページの属性を決定するコンテキスト・ベースのナビゲーション・コンポーネントを備えることが好ましい。
【００１６】
好適には、本発明は、状態情報が第１のページへのデータ入力のタイプおよびコンテキストの識別を含むコンテキスト・ベースのナビゲーション・コンポーネントを備えることが好ましい。
【００１７】
好適には、本発明は、状態管理コンポーネントが、ナビゲートする第２のページを決定するために、ウェブサイトのワークフローを決定するためのコンポーネントをさらに備えるコンテキスト・ベースのナビゲーション・コンポーネントを備えることが好ましい。
【００１８】
好適には、本発明は、ワークフローが、ナビゲートする複数のナビゲーション経路を示すワークフロー・マップを備えるコンテキスト・ベースのナビゲーション・コンポーネントを備えることが好ましい。
【００１９】
好適には、本発明は、ワークフロー・マップが第２のページへの要求されたナビゲーション経路を含んでいない場合に、状態管理コンポーネントが第２のページの通信を要求するために第１のページを格納しているサーバに要求を送信するコンテキスト・ベースのナビゲーション・コンポーネントを備えることが好ましい。
【００２０】
好適には、本発明は、状態管理コンポーネントが、存在しないデータ入力が回復するまで、ナビゲートする第２のページを決定することができないように、第１のページのデータ入力フィールドの存在しないデータ入力をブラウザ・アプリケーションに通知するための通知コンポーネントをさらに備えるコンテキスト・ベースのナビゲーション・コンポーネントを備えることが好ましい。
【００２１】
第２の態様によれば、本発明は、ブラウザ・アプリケーション内で第１のページから第２のページにナビゲートするためのコンテキスト・ベースのナビゲーションのための方法を含む。コンテキスト・ベースのナビゲーション機能は、ブラウジング・アプリケーション内で動作しているアクション・ボタンから第２のページにナビゲートするための指示を受信するステップと、第１のページの属性を決定し、決定した属性に応じてどの第２のページにナビゲートするのかを識別するステップと、決定した第２のページに関するアドレスを生成し、生成したアドレスをアクション・ボタンに割り当てるステップとを含む。
【００２２】
第３の態様によれば、本発明は、コンピュータ・プログラムをコンピュータ上で実行した場合、すでに説明したように、本発明のステップを実行するためのソフトウェア・コード部分を含む、デジタル・コンピュータの内部メモリに直接ロードすることができるコンピュータ・プログラムを提供する。
【００２３】
添付の図面を参照しながら本発明の実施形態について以下に詳細に説明するが、これは単に例示としてのものに過ぎない。
【発明を実施するための最良の形態】
【００２４】
図１は、通信のためにクライアント・コンピュータ１０５、１１０と接続することができるメインフレーム・サーバ１２５上で稼働しているウェブサーバ１３０を含むデータ処理ネットワークの多数のコンポーネントを示す。クライアント・コンピュータ１０５、１１０は、ウェブブラウザ・プログラム１１５、１２０を実行していて、すでに表示したウェブページを格納するためのデータ記憶装置１４０、１４５を備える。当業者であれば周知のように、ウェブブラウザ１１５、１２０は、ワールド・ワイド・ウェブ上の情報にアクセスするために、ウェブサーバにハイパーテキスト移送プロトコル（ＨＴＴＰ）要求を送信することができるアプリケーション・プログラムである。
【００２５】
インターネットに接続していて、ワールド・ワイド・ウェブを通してアクセスすることができるコンピュータ上の必要なウェブページを検索するために本発明を使用する場合には、各クライアント・コンピュータ１０５、１１０およびサーバ１２５は、ネットワーク１５０内で相互に離れていてもよい。クライアント・コンピュータ１０５、１１０およびサーバ１２５は、同じように、ローカル・ネットワークまたはインターネットのコンポーネントであってもよい。
【００２６】
クライアント・コンピュータ１０５、１１０は、特定のタイプのデータ処理装置に限定されないし、また従来のデスクトップまたはラップトップ・パーソナル・コンピュータ、携帯情報端末（ＰＤＡ）、またはクライアント・リクエスタ・プログラムを実行することができる他の特種化データ処理装置であってもよい。クライアント・コンピュータ１０５、１１０は、無線または有線接続を介してデータ処理システムのネットワークに接続することができる。同様に、サーバ１２５は、ウェブサーバ１３０、ディレクトリ・サーバまたは類似のサーバ・プログラムおよび複数のウェブページを格納するためのデータ記憶装置１３５を実行することができる任意のデータ処理装置であってもよい。以下に詳細に説明する実施形態のソフトウェア実施要素は、任意の特定のオペレーティング・システムまたはプログラミング言語に限定されない。
【００２７】
図２を参照すると、ウェブサーバ１３０は、クライアント・デバイスから要求したウェブページを提供するために多数のコンポーネントを備える。ウェブサーバ１３０は、クライアント・デバイス１０５、１１０から要求を受信し、要求しているクライアント・デバイス１０５、１１０に要求されたウェブページおよび他のリソースの形で応答を送信するための通信コンポーネント２００、ウェブページを格納するためのデータ記憶装置１３５、およびデータ記憶装置内で要求されたウェブページの位置を発見するために、クライアントの要求を分析するためのルックアップ・コンポーネント２０５を備える。これらの各コンポーネントについて以下に順次説明する。
【００２８】
通信コンポーネント２００は、要求しているクライアント・デバイスからのリソースの要求を受信し、ＨＴＴＰプロトコルと一緒に動作することができる。要求は、要求されたリソースのＵＲＬを含む。通信コンポーネント２００は、リソースの要求をルックアップ・コンポーネント２０５に送る。ルックアップは、データ記憶装置内の要求されたリソースの位置を識別する経路名を識別するためにＵＲＬ上で行われる。ルックアップ・コンポーネント２０５は、要求を識別した位置に送信し、データ記憶装置１３５から要求されたリソースを検索する。要求されたリソースは、ネットワーク１５０を通して要求しているデバイス１０５、１１０と通信するために、ルックアップ・コンポーネント２０５により通信コンポーネント２００に送信される。
【００２９】
データ記憶装置１３５は、多数のウェブページと、要求しているクライアント・デバイス１０５、１１０に送信するための画像、オーディオ・ファイルおよびビデオ画像のような他のリソースとを含む。各ウェブページはＨＴＭＬコードからなる。ＨＴＭＬコードは、ウェブページ上のテキスト、画像および他のリソースのレイアウト方法を指定する。例１は、太字で示すテキスト「ハロー・ワールド」を表示している基本的なＨＴＭＬウェブページの例を示す。
【００３０】
例１
<html><head><title>ハロー・ワールド</title>
<metahttp-equiv = ’Content - Type’ content = ’text/html; charset = iso - 8859 - 15’>
</head>
<body><b>ハロー・ワールド</b></body>
</html>
【００３１】
ＨＴＭＬは、ウェブページ上に表示するテキストおよび画像、およびウェブページ上のテキストおよび画像の位置を指定するためのタグを含む。ＨＴＭＬタグはペアになっていて、各タグ・ペアは、スタート・タグおよびエンド・タグ、すなわち＜  ＞  ＜／＞を含む。例えば、＜ｓｃｒｉｐｔ＞  ＜／ｓｃｒｉｐｔ＞のようなスクリプティング・タグをＨＴＭＬに内蔵することにより、より対話的および動的機能をＨＴＭＬウェブページに組み込むことができる。例えば、＜ｓｃｒｉｐｔ  ｌａｎｇｕａｇｅ  ＝“ｊａｖａｓｃｒｉｐｔ”  ｓｒｃ  ＝“  ｐｃｇｉ  −ｂｉｎ／ｎａｖｉｇａｔｉｏｎ．ｊｓ”＞  ＜／ｓｃｒｉｐｔ＞のようにスクリプト・タグ内でアプレットを呼び出すことができる。それ故、ｎａｖｉｇａｔｉｏｎ．ｊｓというｊａｖａｓｃｒｉｐｔプログラムが呼び出される。
【００３２】
ＪａｖａＳｃｒｉｐｔは米国および他の国でのＮｅｔｓｃａｐｅ社の登録商標である。Ｊａｖａは、米国および他の国でのＳｕｎ  Ｍｉｃｒｏｓｙｓｔｅｍｓ社の登録商標である。
【００３３】
図３は、周知の従来技術のブラウザ１２５の主要コンポーネントの詳細図である。コンポーネントは、表示ウィンドウを含むユーザ・インタフェース３００、および例えば、前に表示したウェブページ３２５用の「進む」および「戻る」ボタンのようなブラウジング・ウェブページ３２５に関する多数の行為を行うために、ユーザが選択することができる多数のボタンを含むアクション・バー３０５を備える。ＵＲＬは、ブラウザ・ウィンドウ１１５、１２０のアクション・バー３０５上に位置するアドレス・バー内にタイプされる。ブラウザ１１５、１２０は、ＨＴＴＰプロトコルにより、要求したリソースを要求しているＵＲＬ内で名前を付けたウェブサーバ１３０に要求を送信する。ウェブサーバ１３０は、ページ・レンダラ・コンポーネント３２０がレンダリングするためのブラウザ１１５、１２０に要求を返送する。次に、前に表示したウェブページを通してナビゲートするために、「進む」および「戻る」ボタンがユーザにより使用される。ユーザがブラウジング・セッションをスタートしたばかりの場合には、ユーザが他のウェブページ３２５を訪問するまで、「進む」３１０および「戻る」ボタン３１５はグレイに変わるが、前に表示したウェブページ３２５のナビゲーション機能を供給するために、ＵＲＬを「進む」および「戻る」ボタンに取り付けることができるのはこの時点だけである。
【００３４】
図４を参照すると、ナビゲーション機能を強化するために、本発明は、好ましい実施形態の場合には、ＨＴＭＬが提供する機能を使用するコンテキスト・ナビゲーション・コンポーネント４００を提供する。
【００３５】
コンテキスト・ナビゲーション・コンポーネント４００は、進みナビゲーションの場合でも、戻りナビゲーションの場合でも、コンテキスト・ベースのナビゲーションが、ユーザのブラウザ・セッション中に、ユーザが現在ブラウジングしているウェブページを決定し、ユーザがナビゲートすることができる次のウェブページを決定するための手段を提供する。
【００３６】
この機能を達成するために、コンテキスト・ナビゲーション・コンポーネント４００は、ユーザが現在ブラウジングしているウェブページ３２５およびユーザが次にナビゲートすることができるウェブページ３２５に関する情報を含むユーザのブラウジング・セッションのワークフロー・ロジックに関する情報を収集する。簡単なシナリオの場合、ナビゲートする次のウェブページは、次の論理ウェブページ３２５であってもよい。すなわち、ウェブページが現在のニュース記事に関する論説である場合には、論説は２枚のページ上に表示され、次の論理ウェブページ３２５は、論説の次の部分を表示しているウェブページ３２５である。より複雑なシナリオの場合には、ユーザは、例えば理論駆動試験（ｔｈｅｏｒｙ  ｄｒｉｖｉｎｇ  ｔｅｓｔ）から「できている（ｍａｋｅ  ｕｐ）」多数のウェブページ３２５をブラウジングすることができる。理論駆動試験を通して前進するために、ユーザはラジオ・ボタンにより多数のオプションを選択しなければならない。選択したラジオ・ボタンにより、ユーザに一連の他のオプションが提示される。何故なら、ウェブページ３２５の階層的ワークフローが存在するからである。それ故、このシナリオの場合には、ナビゲートする次の論理ウェブページは、選択したオプションに関連するウェブページである。例えば、ユーザがラジオ・ボタン３を選択し、ラジオ・ボタン３が複数の選択問題に対する応答であり、選択した応答が正しい応答である場合には、ナビゲートする次の論理ページは、「おめでとうございます。正解です」ページであってもよい。しかし、ラジオ・ボタン３が実際には間違った答えである場合には、ナビゲートする次の論理ページは、「残念でした。正解ではありません。次回がんばってください」ページであってもよい。
【００３７】
意味をはっきりさせるために、ブラウジング・セッションという用語は、ユーザがブラウジングしている一連のウェブページ、またはユーザがブラウジングしているアプリケーションを意味するために使用される。このことをさらに詳細に説明するために、保険会社から自動車保険に対する保険料を入手するために、一連のウェブページ３２５は、ブラウジングした一連のオンライン書式を含むことができ、アプリケーションは、例えば、ユーザがオンラインの財政事件を管理しているオンライン・バンキング・アプリケーションを形成しているＪａｖａアプレットを含むことができる。
【００３８】
図３に戻って説明すると、コンテキスト・ナビゲーション・コンポーネント４００は、ウェブページ・レンダリング・コンポーネント３２０を介してブラウザがレンダリングした時にスタートする。要求されたウェブページ３２５および機能は、ブラウザ・ウィンドウ３００のアクション・バー３０５上に位置する「進む」３１０および「戻る」３１５ボタンにより作動する。ブラウザ３００は、例えば、ブラウザ・ウィンドウ３００内の「オン・クリック・マウス」イベントを検出することにより、またブラウザ・ウィンドウ３００内のＧＵＩイベントを検出することにより、「進む」３１０または「戻る」３２５ボタンが選択されたことを検出する。クリックしたボタンのタイプにより、メッセージが、ボタンからＨＴＭＬページのスクリプティング・タグ内に埋め込まれているコンテキスト・ナビゲーション・コンポーネント４００に送信される。コンテキスト・ナビゲーション・コンポーネント４００は、スクリプティング・タグ内に直接埋め込むこともできるし、または別の方法としては、コンテキスト・ナビゲーション・コンポーネントへのリンクをスクリプティング・タグ内に埋め込むこともできる。それ故、外データ記憶装置からコンテキスト・ナビゲーション・コンポーネント４００を「呼び出す」ことができる。
【００３９】
ここで図４について説明すると、この図は、本発明の好ましい実施形態によるコンテキスト・ナビゲーション・コンポーネント４００のコンポーネントを示す。これらコンポーネントは、ユーザのブラウジング・セッションのワークフロー・ロジックを理解するための状態管理コンポーネント４０５、ウェブサーバ１３０からメッセージを送受信するための通信コンポーネント４１０、進みおよび戻りナビゲーション・コンポーネント４２５、４３０を含むナビゲーション・コンポーネント４１５、およびユーザにページ上で完了しなかったデータ入力フィールドについて知らせるための通知機能４２０を含む。例えば、ユーザが銀行口座Ａから銀行口座Ｂに５０ポンドを送金することを要求したが、送金を行う日付を指定しなかった場合、指定漏れの日時を関連するデータ入力フィールドに記入するようにとの要求がユーザに対して行われる。
【００４０】
これらの各コンポーネントについて以下に順次説明する。ナビゲーション・コンポーネント４１５は、すでに説明したように、進みナビゲーション・コンポーネント４２５および戻りナビゲーション・コンポーネント４３０を備え、進みナビゲーション・コンポーネント４２５は、ブラウザのツール・バー３０５上に位置する「進む」ボタン３１０からメッセージを受信し、戻りナビゲーション・コンポーネント４３０は、ブラウザのツール・バー３０５上に位置する「戻る」ボタン３１５からメッセージを受信する。もちろん、当業者であれば周知のように、メッセージは、進みおよび戻りナビゲーション機能を提供しているメニュー・バーを作動することにより受信することもできる。
【００４１】
受信したメッセージは、「進む」３１０および「戻る」ボタン３１５を選択したというような情報を含む。各「進む」３１０または「戻る」ボタン３１５は、メッセージを受信した場合、ブラウジング中の現在のウェブページに関する状態およびワークフロー属性を求める状態管理コンポーネント４０５への呼出し機能を生成する。この情報を受信すると、各進み４２５または戻りナビゲーション・コンポーネント４３０は、ブラウザのツール・バー上に位置する各「進む」３１０または「戻る」ボタン３１５に取り付けるためのＵＲＬを生成する。それ故、ユーザは、自分が現在表示しているウェブページの論理ワークフロー内の前のウェブページまたは次のウェブページにナビゲートすることができる。
【００４２】
状態管理コンポーネント４０５は、ユーザが行いたい動作に関する指示を受信するためにナビゲーション・コンポーネント４１５に対してインタフェースとしての働きをし、１つまたは複数のサーバ１３０からワークフロー情報を要求するために通信コンポーネント４１５に対してインタフェースとしての働きをする。進み４２５または戻りナビゲーション・コンポーネント４３０から指示を受信した場合には、状態管理コンポーネント４０５は、指示からユーザが現在表示しているウェブページのＵＲＬを抽出する。状態管理コンポーネント４０５は、ユーザが現在表示しているサーバ１３０上のウェブページ３２５の位置を判定するためにＵＲＬを分析する。この情報を判定した場合には、状態管理コンポーネント４０５は、ワークフロー・シーケンス中に表示する次のウェブページに対する要求を含むペイロードを生成する。
【００４３】
ペイロードは通信コンポーネント４１０に送られ、ネットワーク１５０を通してサーバ１３０に送信され、ここで現在表示しているウェブページが格納される。サーバ１３０は、要求したワークフロー情報と一緒に、通信コンポーネント４１０を介して状態管理コンポーネント４０５に応答ペイロードを送信する。応答ペイロードは、次の論理ページのＵＲＬ、または次のｎ番目のページのＵＲＬを含むことができる。例えば、サーバは、ワークフロー・シーケンス内のナビゲートすることができるウェブページ３２５のすべての所与の組合せにワークフロー・マップを返送することができる。図５は、ワークフロー・マップ５２５の一例を示す。ワークフロー・マップ５２５は、ウェブサイト内に内蔵されている各ウェブページまたはノードを含む。それ故、これがユーザがこの特定のウェブサイトを最初にブラウジングした場合である場合、またはユーザがそのブラウザ・キャッシュをクリアした場合には、従来技術の「進む」ボタンの例の「進む」ボタンは、グレイに変わり、それ故使用できなくなる。しかし、この例の場合、状態管理コンポーネント４０５は、ワークフロー・マップ５２５を横切り、「戻る」３１０または「進む」ボタン３１５が選択されたかどうかにより、ナビゲートする次のウェブページ３２５を決定することができる。
【００４４】
ナビゲートする次のウェブページの位置を発見した場合、状態管理コンポーネント４０５は、ＵＲＬを生成し、そのＵＲＬを各「進む」３１０または「戻る」３１５ボタンの機能属性に取り付ける。それ故、ＵＲＬが、「進む」ボタンの機能属性に取り付けられていると、「進む」ボタンはもはやグレイではなくなり、ワークフロー・シーケンス内の次のページにナビゲートするために使用することができる。
【００４５】
それ故、図５を通して作動する場合、ユーザがウェブサイトに入るか、１ページ５００のところでアプリケーション（オンライン・バンキングなど）によりスタートすると、状態管理コンポーネント４０５は、ワークフロー・シーケンス内の次のウェブページは２ページ５０５であることを検出し、２ページ５０５に対してＵＲＬが生成され、「進む」ボタン３１０の機能属性に取り付けられる。同様に、１ページ５００はユーザがブラウジングした最後のページであるので、１ページ５００に対してＵＲＬが生成され、「戻る」ボタン３１５の機能属性に取り付けられる。
【００４６】
「進む」３１０および「戻る」ボタン３１５の両方は、ブラウジング・コンテキストＵＲＬにより動作する。ユーザが３ページ５１０に移動すると、２ページ５０５に対してＵＲＬが生成され、「戻る」ボタン３１５の機能属性に取り付けられ、４ページ５１５に対して新しいＵＲＬが生成され、「進む」ボタン３１０に取り付けられ、以下同様となる。ユーザがウェブサイトを通してブラウジングを続ける間、ステップのこのシーケンスが行われる。それ故、従来技術の場合には、例えば、アプリケーションがオンライン・バンキング・アプリケーションであり、「戻る」ボタン３１５を選択した場合には、ユーザはそのオンライン・バンキング・アプリケーションから出て銀行のホームページに入る。また、このことは、ユーザがオンライン・バンキング・アプリケーションからログアウトされることを意味する。しかし、コンテキスト・ナビゲーション・コンポーネント４００を使用して、ユーザは、自分のオンライン・バンキング・ユーザ・セッションから離脱する不利益を蒙らないで、そのオンライン・バンキング・アプリケーションで前方および後方にナビゲートすることができる。
【００４７】
図４に戻って説明すると、状態管理コンポーネント４０５は、次にナビゲートすることができるウェブページ３２５の位置を発見する目的で、ワークフロー・マップ５２５を分析するための構文解析コンポーネント（ｐａｒｓｉｎｇ  ｃｏｍｐｏｎｅｎｔ）４３５を備える。ワークフロー・マップ５２５は、ユーザの現在のブラウジング・セッション内のまたは特定のウェブサイトに対するナビゲートすることができるページのワークフロー・ロジックを示す階層木構造を含むことができる。構文解析コンポーネント４３５は、マップ５２５内で次のレベルのノードの位置が発見されるまで、ワークフロー・マップ５２５を横切る。次のレベルのノードは次のページを表す。進みナビゲーション・コンポーネント４２５から指示を受信した場合には、構文解析コンポーネント４３５は、ワークフロー・マップ５２５を横切って、マップ５２５内のもっと低いレベルのノードに行き、戻りナビゲーション・コンポーネント４３０から指示を受信した場合には、構文解析コンポーネント４３５は、ワークフロー・マップ５２５を通して後方に移動し、次に高いレベルのノードにナビゲートする。ユーザが選択すべきオプションを必要とするウェブページ３２５をブラウジングしていて、選択したオプションが表示すべき次のウェブページを決定する場合には、構文解析コンポーネント４３５は、選択したオプションについての通知を受け取り、ワークフロー・マップを横切って、選択したオプションに適用されないノードをフィルタリングにより除去し、次の論理ウェブページ３２５の名前および位置を返送する。
【００４８】
状態管理コンポーネント４０５は、前方または後方にナビゲートする次の論理ウェブページの名前および位置を受信する。名前および位置は要求している「進む」ボタンまたは「戻る」ボタンに送られる。
【００４９】
要求している「進む」３１０または「戻る」ボタン３１５は、状態管理コンポーネント４０５から名前および位置を受信し、この情報から要求しているボタン３１０、３１５の属性に取り付けるためのＵＲＬを生成する。要求している「進む」３１０または「戻る」ボタン３１５は、ブラウザのキャッシュ１４０、１４５からウェブページ３２５を受け取ることができるかどうかを判定するためにさらにチェックを行い、受け取ることができる場合には、ブラウザに、サーバ１３０からページを要求するのではなく、キャッシュ１４０、１４５からページを提供するように通知する。
【００５０】
ある実施形態の場合には、ウェブサーバ１３０は、特定のウェブページ３２５からナビゲートすることができる種々のナビゲーション経路を詳細に示すワークフロー・マップ５２５を送信する。この実施形態の場合には、状態管理コンポーネント４０５は、マップ５２５を受信した場合、マップ５２５を横切って、ナビゲートすることができる次のノード（ページ）の位置を発見する。状態管理コンポーネント４０５も状態変数を考慮に入れなければならない場合には、状態管理コンポーネント４０５は、ワークフロー・マップ５２５上のノードをフィルタリングするためにこれら変数を使用することができ、ナビゲートする正確なウェブページ３２５の位置を発見する。
【００５１】
他の実施形態の場合には、ウェブサーバ１３０は、ユーザがナビゲートすることができる次のウェブページ３２５のＵＲＬを返送する。それ故、この実施形態の場合には、ウェブサーバ１３０へのいくつかの要求を、ユーザのブラウジング・セッション中に行う必要があり、ウェブサーバ１３０がナビゲートする次のページを決定するために、ウェブサーバ１３０を修正しなければならない。図６を参照すると、この図は、従来技術のウェブサーバ１３０（図３）を示す。この実施形態の場合には、ウェブサーバ１３０は、サイトマップ・コンポーネント６００を備える。サイトマップ・コンポーネント６００は、ウェブサーバ１３０上に位置するページのマップを含む。各ページは、そのページからの可能な各ナビゲーション経路の詳細を含む。それ故、ウェブサーバ１３０は、前方へのナビゲーションなのか、後方へのナビゲーションなのかについて、ナビゲートする次のページに対するクライアント・デバイス１０５、１１０から要求を受信する。
【００５２】
通信コンポーネント２００は、クライアント・デバイス１０５、１１０から要求を受信する。通信コンポーネント２００は、ルックアップ・コンポーネント２０５に要求を送信し、ルックアップ・コンポーネントは、この要求がこの特定のウェブサイトでのこの特定のページに対するクライアント・デバイス１０５、１１０から受信した最初の要求かどうかを判定する。ルックアップ・コンポーネントは、その要求が最初の要求であると判定した場合には、ルックアップ・コンポーネントは、サイトマップ内でルックアップを行い、ナビゲートする次の各ページを決定するためにサイトマップを分析する。次のページの位置を発見した場合には、通信コンポーネント２００は、次のページのアドレスを要求しているクライアント・デバイス１０５、１１０に送信する。
【００５３】
図７を参照すると、流れ図は、本発明の動作ステップを示す。ステップ７００において、進み４２５または戻りナビゲーション・コンポーネント４３０は、ブラウザ・インタフェース３００内に位置する各「進む」３１０または「戻る」ボタン３１５からナビゲーション要求を受信する。ステップ７０５において、進み３１０または戻り３１５ナビゲーション・コンポーネントは、ワークフローで次の論理ウェブページ３２５にナビゲートするために、ユーザが「進む」３１０または「戻る」ボタン３１５を使用することができるように、（どのボタンを選択したかにより）「進む」３１０または「戻る」ボタン３１５に取り付けるために生成するＵＲＬを要求する呼出機能を生成する。
【００５４】
状態管理コンポーネント４０５は、ステップ７１０において機能呼出しを受信し、例えば、ユーザが現在ブラウジングしているウェブページ、およびユーザが前方または後方にナビゲートしたがっているウェブページのような状態情報、および例えば、ユーザがラジオ・ボタン３を選択した等というような考慮すべき任意の変数を抽出する。状態管理コンポーネント４０５は、ウェブページ３２５が格納されるウェブサーバ１３０の位置を識別し、通信コンポーネント４１０を介してウェブサーバ１３０に要求を送信し、ステップ７１５においてユーザがナビゲートすることができる次のウェブページを要求する。
【００５５】
他の実施形態の場合には、通信コンポーネント２００は、また、サイトマップのコピーを要求しているクライアント・デバイス１０５、１１０に送信することができる。それ故、要求しているクライアント・デバイスは、将来の要求においてウェブサーバ１３０に次のページのアドレスについて尋ねる前に、次のページのアドレスを決定するためにサイトマップ上でそれ自身のルックアップを行うことができる。次のページのアドレスをサイトマップ上で発見できなかった場合だけ、クライアント・デバイス１０５、１１０は、次のページに対する要求をウェブサーバに送信する。
【００５６】
ステップ７２０において、状態管理コンポーネント４０５は、ワークフロー・マップ５２５から、またはウェブサーバ１３０からの応答として次のウェブページ情報を入手し、ナビゲートする次のウェブページ３２５に対するＵＲＬを生成する。このＵＲＬは、ステップ７２５において要求している進み４２５または戻りナビゲーション・ボタン４３０に送られ、ステップ７２５において要求している「進む」３１０または「戻る」ボタン３１５の属性に取り付けられる。
【図面の簡単な説明】
【００５７】
【図１】本発明の好ましい実施形態を実施することができる異質計算環境のブロック図である。
【図２】当業者であれば周知のウェブサーバのコンポーネントを示すブロック図である。
【図３】本発明の好ましい実施形態を実施することができるウェブ・ブラウザのコンポーネントを示すブロック図である。
【図４】本発明の好ましい実施形態によるコンテキスト・ナビゲーション・コンポーネントのコンポーネントを示すブロック図である。
【図５】本発明の好ましい実施形態によるワークフロー・マップを示すブロック図である。
【図６】本発明の好ましい実施形態によるサイト・マップ・コンポーネントを含む図３のウェブサーバのブロック図である。
【図７】本発明の好ましい実施形態によるコンテキスト・ナビゲーション・コンポーネントの動作ステップを示す流れ図である。
【符号の説明】
【００５８】
１０５，１１０  クライアント・コンピュータ
１１５，１２０  ウェブブラウザ・プログラム
１２５  メインフレーム・サーバ
１３０  ウェブサーバ
１３５  データ記憶装置
１４０，１４５  データ記憶装置
１５０  ネットワーク
２００  通信コンポーネント
２０５  ルックアップ・コンポーネント
３００  ユーザ・インタフェース
３０５  アクション・バー
３１０  「進む」ボタン
３１５  「戻る」ボタン
３２５  ウェブページ
４００  コンテキスト・ナビゲーション・コンポーネント
４０５  状態管理コンポーネント
４１０  通信コンポーネント
４２０  通知機能
４２５  進みナビゲーション・コンポーネント
４３０  戻りナビゲーション・コンポーネント
４３５  構文解析コンポーネント
５００  １ページ
５０５  ２ページ
５１０  ３ページ
５２５  ワークフロー・マップ
【図１】
2007149074.tif 000003
【図２】
2007149074.tif 000004
【図３】
2007149074.tif 000005
【図４】
2007149074.tif 000006
【図５】
2007149074.tif 000007
【図６】
2007149074.tif 000008
【図７】
2007149074.tif 000009