JP4988307B2 - コンテキスト・ベースのナビゲーション - Google Patents

コンテキスト・ベースのナビゲーション Download PDF

Info

Publication number
JP4988307B2
JP4988307B2 JP2006298853A JP2006298853A JP4988307B2 JP 4988307 B2 JP4988307 B2 JP 4988307B2 JP 2006298853 A JP2006298853 A JP 2006298853A JP 2006298853 A JP2006298853 A JP 2006298853A JP 4988307 B2 JP4988307 B2 JP 4988307B2
Authority
JP
Japan
Prior art keywords
uri
uniform resource
outbound
response
request
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2006298853A
Other languages
English (en)
Other versions
JP2007149080A (ja
Inventor
ロバート・ハリス
ウィリアム・レスリー・イエイツ
ケヴィン・リチャード・ラッセル
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2007149080A publication Critical patent/JP2007149080A/ja
Application granted granted Critical
Publication of JP4988307B2 publication Critical patent/JP4988307B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation

Description

本発明は、インターネット・ブラウジングの分野に関し、特にクライアント・サーバ環境でのコンテキスト依存URIの生成に関する。
ブラウザ・アプリケーションは、クライアント・デバイスのところで表示するために、ウェブサーバ上に位置するウェブページを検索するために使用される。従来技術のウェブブラウザは、ユーザ・セッション中にページ・ナビゲーションを助ける機能を含む。このタイプの機能の一例としては、前に表示したウェブページを再表示するための機能がある。
「前に表示したウェブページの再表示」機能は、ブラウザのツール・バー上に位置する「進む」および「戻る」ボタンにより制御される。これらのボタンは、多くの場合、ブラウザの表示エリア上の固定位置の戻りおよび進みポインティング矢印として表示される。ブラウザがあるページにアクセスすると、そのページは通常ローカル・キャッシュに格納される。「進む」ボタンまたは「戻る」ボタンにより前に表示したウェブページにアクセスするために、「進む」または「戻る」ボタンは、ローカル・キャッシュにアクセスし、該当するウェブページを検索する。それ故、前に表示したページのブラウザのキャッシュにより、ユーザはその現在のブラウジング・セッション中にすでに表示したページにナビゲートすることができる。
ユーザ入力および出力のためにブラウザにより実行するインターネット・アプリケーションは、業界ではステートレス・プロトコルと呼ばれるHTTPプロトコルを通してアクセスされる。しかし、従来技術のインターネット・アプリケーションの場合には、ブラウザは、アプリケーションがユーザのセッションに関する情報を維持するために、各要求と一緒に「状態」情報を送信しなければならない。そのため、ユーザに関連情報を提供しなければならない。しかし、実行中のアプリケーションは、ユーザ・インタラクションの継続中有効であるいかなる整合動作状態にも依存することはできない。このことは、多くの場合、ブラウザのキャッシュ内に格納しているページが無効になることを意味する。何故なら、そのページは古い情報を含んでいるからである。あるページを再表示しようとすると、ナビゲーション・エラー応答となる。このようなナビゲーション・エラーは、ページが再表示されないことから不正確なまたは無効な情報の表示まで様々である。
既存の従来技術の解決方法は、「キオスク・モード」でブラウザを使用することによりこの問題を解決しようとする。キオスク・モードは、ブラウザのインタフェースからナビゲーション・ボタンを除去することにより、ナビゲーション・エラーの問題を無視するステップを含む。ナビゲーション・ボタンを除去すると、ユーザに対して多数の使用勝手の問題が起こる。すなわち、ミスを修正するために「進む」および「戻る」ボタンを使用することができなくなる。
従来技術のナビゲーション・ボタンが役に立つ機能を提供できないもう1つの例は、ユーザが多数の一連のページ内にある特定のページをブラウジングしている場合である。順次チェーンの例は、検索エンジン結果ページに見られる。可能性のある結果の数が多いので、結果はいくつかのページに分割される。各ページは、多くの場合、少なくとも表示する次のページおよび前のページへのリンクを含む。これらは、通常、下記の形でブラウザに表示される。
<前へ> <1> <2> <3> <4> <5> <6> <次へ>
チェーン内で次のページまたは前のページへリンクするこの方法は、ブラウザの「戻る」および「進む」ボタンとは全く異なっている。ブラウジング・セッションの開始時にチェーン内の最初のページのところにいて、「次」ページにナビゲートしようとしているユーザは、「進む」ボタンを使用しようとするかもしれない。しかし、ブラウザ・キャッシュの動作により、この機能を使用することができない(何故なら、「次」ページは表示されたことがなく、そのため「次」ページがキャッシュ内に含まれていないからである)。それ故、ユーザは現在のページ上に表示されているリンクを使用しなければならない。同様に、ユーザが、チェーン内のn番目のページに直接ナビゲートするためにリンクを使用し、次に、チェーン内の前のページにアクセスしようとすると、戻りブラウザ制御はこの機能を提供しない。例えば、1、2、9ページを表示した後で、従来技術の「戻る」ボタンを使用すると、実際には8ページ目を見たいのに2ページ目が再表示される。
明らかに、これらのアプローチは、通常のユーザにとって満足のいくものではない。身体に障害のあるユーザの場合にはこの状況は論外である。視覚障害のあるユーザは、ブラウザに表示されているウェブページをチェックするためにスクリーン・リーダを使用しなければならず、そのため一組のウェブページを通してナビゲートする何らかの一様ではっきりした方法が必要になる。
この問題を解決しようとするもう1つの従来技術の例は、「進む」および「戻る」ボタンに属性を取り付ける、すなわち付加するために、特殊HTML構造を使用する場合である。これらの属性は、HTML構造にハード・コード化され、模擬の「進む」および「戻る」ボタンを実現し得るが、それらは機能において非常に静的なものである。それは、ユーザがHTML構造に含まれていないページにナビゲートすると、「進む」または「戻る」ボタンが機能しなくなるからである。これを補償する唯一の方法は、もう1つのユニフォーム・リソース・ロケータ(URI)属性を追加するために、HTML構造を手動で編集するというものである。
マルチメディア・アプリケーションを使用すると、この問題はさらに複雑になり、HTML構造をページに埋め込むことができなくなる。それ故、従来技術の進みおよび戻りナビゲーション・ボタンを使用するナビゲーションの方法を改善する必要がある。
第1の態様によれば、本発明は、ブラウザ・アプリケーションに送信するために、進みナビゲーション・ボタンに関連付けるためのユニフォーム・リソース・ロケータを生成するためのインターセプタ構成要素を含む。インターセプタ構成要素は、受信したデータ・パケットがインバウンド要求であるのかどうかを判定するためのインバウンド/アウトバウンド・コントローラと、判定したインバウンド要求の一意の識別子およびユニフォーム・リソース・ロケータを識別し、一意の識別子およびユニフォーム・リソース・ロケータを格納するための構文解析構成要素とを含み、インバウンド/アウトバウンド・コントローラが、インバウンド要求に対するアウトバウンド応答を受信し、アウトバウンド応答内で一意の識別子を識別し、一意の識別子に関連するユニフォーム・リソース・ロケータの位置を発見し、インバウンド/アウトバウンド・コントローラが、進みナビゲーション動作中にナビゲートすることができるユニフォーム・リソース・ロケータの位置を知るための第2のルックアップを行い、位置を発見したユニフォーム・リソース・ロケータをアウトバウンド応答内に挿入し、応答を要求元クライアント・デバイスに送信する。
都合の良いことに、本発明は、ブラウザ環境で「進む」および「戻る」ボタンによりナビゲートすることができるURIの識別を提供する。リソースに対する要求がウェブサーバに送信される度に、インターセプタは、HTTPデータ・パケットのHTTPヘッダ内に挿入するために、HTTP構造に内蔵される一対のURIを識別する。それ故、マルチメディア内に実行可能コードを埋め込むことができないマルチメディア環境で、進みおよび戻りナビゲーション・ボタンに取り付けるためのURIを識別することができる。
好ましくは、本発明は、さらに、戻りナビゲーション動作中にナビゲートすることができるユニフォーム・リソース・ロケータの位置を発見し、位置を発見したユニフォーム・リソース・ロケータをアウトバウンド応答内に挿入するためのインバウンド/アウトバウンド・コントローラを備えるインターセプタ構成要素を備える。
好ましくは、本発明は、アウトバウンド応答が要求元デバイス上で動作しているブラウザにより受信され、ブラウザ・アプリケーションが進みURIを各「進む」ボタンに取り付けるインターセプタ構成要素を備える。
好ましくは、本発明は、アウトバウンド応答が要求元デバイス上で動作しているブラウザにより受信され、ブラウザ・アプリケーションが各「戻る」ボタンに戻りURIを取り付けるインターセプタ構成要素を備える。
好ましくは、本発明は、一意の識別子がIPアドレスまたは状態トークンであるインターセプタ構成要素を備える。
好ましくは、本発明は、さらに、インバウンド要求で識別したURIからナビゲートすることができる少なくとも1つのURIを詳細に示すワークフロー・マップを含むインターセプタ構成要素を含む。
好ましくは、本発明は、さらに、アウトバウンド応答のURIをワークフロー・マップのノード内で識別したURIと一致させるために、ワークフロー・マップを構文解析するための状態管理構成要素を含むインターセプタ構成要素を提供する。
好ましくは、本発明は、状態管理構成要素が、一致を識別した場合に、アウトバウンド応答で識別したURIからナビゲートすることができるURIの位置を発見するために、複数の方向にワークフロー・マップを横切るインターセプタ構成要素を備える。
好ましくは、本発明は、URIペアの各URIが、アウトバウンド応答のHTTPヘッダ内に挿入するために、HTTP構造にパッケージされるインターセプタ構成要素を備える。
好ましくは、本発明は、各HTTP構造が、進みナビゲーション動作および戻りナビゲーション動作を識別するインターセプタ構成要素を提供する。
好ましくは、本発明は、ワークフロー・マップが、さらに、URI内で識別したサーバの動作作業負荷容量に関連するデータを含んでいるインターセプタ構成要素を供給することが好ましい。
好ましくは、本発明は、インバウンド/アウトバウンド構成要素が、サーバの動作作業負荷容量に応じてロード・バランシング動作を行うインターセプタ構成要素を提供する。
第2の態様によれば、本発明は、データ処理環境で動作しているサーバにリソースを要求し、すでに説明したように、アウトバウンド応答を受信することができるブラウザ・アプリケーションを提供する。
第3の態様によれば、本発明は、受信したデータ・パケットがインバウンド要求であるかどうかを判定するステップと、判定したインバウンド要求の一意の識別子とユニフォーム・リソース・ロケータを識別し、一意の識別子およびユニフォーム・リソース・ロケータを格納するステップと、インバウンド要求へのアウトバウンド応答を受信し、アウトバウンド応答内で一意の識別子を識別し、一意の識別子に関連するユニフォーム・リソース・ロケータの位置を発見するステップと、進みナビゲーション動作中にナビゲートすることができるユニフォーム・リソース・ロケータの位置を発見するために第2のルックアップを行い、位置を発見したユニフォーム・リソース・ロケータをアウトバウンド応答内に挿入し、応答を要求元クライアント・デバイスに送信するステップとを含む、ブラウザ・アプリケーションへ送信するための進みナビゲーション・ボタンに関連付けるためのユニフォーム・リソース・ロケータを生成するための方法を提供する。
第4の態様によれば、本発明は、コンピュータ・プログラムを提供する。
添付の図面を参照しながら本発明の実施形態について以下に詳細に説明するが、これは単に例示としてのものに過ぎない。
図1は、分散型コンピューティング・アーキテクチャである。複数のクライアント・デバイス105、110がインターネットのようなネットワーク150に接続している。クライアント・デバイス105、110は、パーソナル・コンピュータ、携帯電話、ゲーム・マシン等のような異なるコンピューティング・デバイスを含むことができる。クライアント・デバイス105、110は、例えば、ウェブサービス、音楽サービス、およびビデオ・オン・デマンド・サービスを含むマルチメディア・アプリケーションのようなリソースへのアクセスを要求する。通常、クライアント・デバイス105、110は、例えば、HTTPおよびTCP/IPのようなOSIプロトコル・スタック内のプロトコルによりネットワーク150と相互に作用する。ネットワーク150は、例えば、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、大都市ネットワークおよび無線ネットワークのような任意のネットワーク・タイプを含むことができる。
各クライアント・デバイス105、110は、ユーザがリソースに対する要求を指定することができるようにするためのソフトウェアを含む。例えば、ソフトウェアは、従来のウェブブラウザ115、120またはメディア・プレーヤもしくは携帯電話等で動作する特殊ウェブブラウザを含むことができる。
要求したリソースにアクセスするために、クライアント・デバイス105、110は、ウェブブラウザ115、120を介してサービス・プロバイダにリソースに対する要求を送信する。サービス・プロバイダは、要求の位置を発見し、要求者が加入しているためにリソースに対する要求を許容できる場合には、要求者に要求したリソースを返送する。サービス・プロバイダは、ウェブサーバ130およびゲートウェイ160等のネットワークを管理する。
クライアント・コンピュータ105、110は、特定のタイプのデータ処理装置に限定されることはなく、従来のデスクトップもしくはラップトップ・パーソナル・コンピュータ、携帯情報端末(PDA)、またはブラウザ・アプリケーションを実行することができる他の特殊データ処理装置であってもよい。クライアント・コンピュータ105、110は、無線または有線接続を介してデータ処理システムのネットワークに接続することができる。同様に、サーバ125は、ウェブサーバ130、ディレクトリ・サーバまたは類似のサーバ・プログラム、および複数のウェブページを格納するためのデータ記憶装置135を稼働することができる任意のデータ処理装置であってもよい。以下に詳細に説明する実施形態のソフトウェア実施要素は、どのような特定のオペレーティング・システムまたはプログラミング言語にも限定されない。
図2を参照すると、ウェブサーバ130は、例えば、メディア・ファイルのようなリソースに対するクライアント・デバイス105、110からの要求を処理するための複数の構成要素を含む。
ウェブサーバ130は、クライアント・デバイス105、110から要求を受信し、要求されたメディア・ファイルおよび他のリソースの形での応答を要求元クライアント・デバイス105、110へ送信するための通信構成要素200、メディア・ファイルを格納するためのデータ記憶装置135、およびデータ記憶装置135内の要求されたメディア・ファイルの位置を発見するために、クライアントの要求を構文解析するためのルックアップ構成要素205を含む。これら各構成要素については以下に順次説明する。
通信構成要素200は、要求元クライアント・デバイス105、110からのリソースに対する要求を受信し、HTTPプロトコル、およびTCP/IPプロトコルを含むOSIスタックの他のネットワーク・プロトコルにより動作することができる。
リソースに対する要求は、要求されているリソースおよびその位置を識別するユニフォーム・リソース・ロケータ(URI)を含む。通信構成要素200は、リソースに対する要求をルックアップ構成要素205に送る。要求されたリソースのデータ記憶装置内の位置を識別する経路名を識別するために、URIに対してルックアップが行われる。ルックアップ構成要素205は、要求を識別した位置に送り、データ記憶装置135からメディア・ファイルを取り出す。要求されたリソースは、ネットワーク150を介して要求元クライアント・デバイス105、110と通信するために、ルックアップ構成要素205により通信構成要素200に送信される。
図3は、周知の従来技術のブラウザ115、120の主要構成要素の詳細図である。これらの構成要素は、表示ウィンドウと、ウェブページ325のブラウジングに関する様々なアクションを行うためにユーザが選択することができる複数のボタンを含むアクション・バー305とを備えるユーザ・インタフェース300を含む。アクション・バー305は、例えば、前に表示したウェブページ325をブラウジングするための「進む」ボタン310および「戻る」ボタン315を含む。URIは、ブラウザ・ウィンドウ115、120のアクション・バー305上に位置するアドレス・バー内にタイプされる。
ブラウザ115、120は、ウェブサーバ130上の特定のポートへのTCP接続を確立することにより、リソースに対する要求を開始する。ウェブサーバ130は、特定のポート上で聴取(listen)し、要求の種々の態様を記述している情報ヘッダ・ストリングを有するMIMEメッセージが後に続く「Get/HTTP/1.1」の形であってもよいブラウザ要求を待つ。要求を受信した場合には、ウェブサーバ130は、「200 OK」のような応答ストリング、およびそれ自身のメッセージを返送する。応答ストリングの本体は、要求されたリソースである。例1は、クライアント・デバイス105、110とウェブサーバ130の間の通常のHTTP要求/応答会話である。
例1
クライアントの要求
GET/index.html HTTP/1.1
ホスト:www.mymusic.com
サーバの応答
HTTP/1.1 200 OK
日付;2005年11月22日 火曜日 14:19 GMT
サーバ:Apache/1.3.25
最終更新日時:2005年7月2日 土曜日 12:01 GMT
コンテンツ−長さ 524
接続:アクティブ
コンテンツ・タイプ:mps,wav,wmv;charset UTF−16
ウェブサーバ130は、ページ・レンダラ構成要素320によるレンダリングのためにブラウザ115、120に要求を返送する。
次に、「進む」ボタンおよび「戻る」ボタンが、前に表示したウェブページを通してナビゲートするためにユーザにより使用される。ユーザがブラウジング・セッションをスタートしたばかりの場合には、「進む」ボタン310および「戻る」ボタン315は、ユーザが他のウェブページ325を訪問するまでグレイのままであり、前に表示したウェブページ325のナビゲーション機能を提供するために、URIを「進む」ボタンおよび「戻る」ボタンに取り付けることができるのは、他のウェブページ325を訪問したときだけである。それは、前に、ユーザが要求されたリソースを訪問したことがなく、そのためブラウザ・キャッシュ内に格納されなかったためである。
図4を参照すると、ナビゲーション機能を強化するために、本発明は、リソースに対する要求のHTTPヘッダおよび要求への応答をインターセプトして、クライアントとサーバの間の要求/応答相互作用のコンテキストを判定するためのインターセプタ構成要素400を提供する。そのため、「進む」ボタン310および「戻る」315ボタンの属性に取り付けるために、コンテキスト依存URIがブラウザ・アプリケーションにより受信されるHTTPヘッダに取り付けられる。
好ましい実施形態によれば、本発明は、好ましくは、サービス・プロバイダのローカル・ネットワーク150上に位置していて、ウェブサーバ130およびクライアント・デバイス105、110の間で要求を送受信することができるゲートウェイ160上にあるインターセプタ構成要素400を提供する。インターセプタ構成要素400は、クライアント・デバイス105、110から要求を受信し、ウェブサーバ130から応答を受信するための通信構成要素405と、IPパーサ構成要素415、URIパーサ構成要素425、およびURI挿入装置構成要素430に対してインタフェースとしての働きをするインバウンド/アウトバウンド・コントローラ410と、ワークフロー・マップ435を含む状態管理コントローラ420とを備える。これらの各構成要素については以下に順次説明する。
この実施形態の通信構成要素405は、ゲートウェイ160上にあるので、ゲートウェイを介して、指定ウェブサーバ130宛のインバウンド・データ・パケット、または要求元クライアント・デバイス105、110宛のアウトバウンド・データ・パケットを受信する。
インバウンド・シナリオの場合には、クライアント105、110は、ブラウザのアドレス・バー内にURIをタイプすることによりリソースを要求する。ブラウザ115、120は、URIを構文解析し、要求をHTTPデータ・パケットにパッケージする。ウェブサーバ130への途中、要求は、例えば、サービス・プロバイダにより管理されているゲートウェイ160を通して送られる。ゲートウェイ160は、応答のHTTPヘッダ内に挿入すべき一対のURIを決定するために、インターセプタ構成要素400に要求を送信する。ブラウザ115、120は、応答を受信した場合、HTTPヘッダを構文解析し、URIを識別し、URIをその「進む」ボタンおよび「戻る」ボタンにそれぞれ取り付ける。
通信構成要素405は、要求を受信すると、データ・パケットがインバウンド要求なのかまたはアウトバウンド応答なのかを判定するために、インバウンド/アウトバウンド・コントローラ410に要求を送信する。インバウンド/アウトバウンド・コントローラ410は、データ・パケットがインバウンド要求なのかアウトバウンド応答なのかを識別するGETおよびPOSTのようなHTTP構造を識別する、データ・パケットのHTTPヘッダを構文解析する。HTTPヘッダ内にGETおよびPOSTを含んでいれば、データ・パケットはインバウンド要求であり、含んでいなければ、データ・パケットはアウトバウンド応答である。
インバウンド/アウトバウンド・コントローラ410は、データ・パケットがインバウンド要求であるのか、アウトバウンド応答であるのか判定する際に、TCP/IPヘッダおよびHTTPヘッダからIPアドレスおよびURIを抽出するために、IP抽出装置構成要素415およびURIパーサ構成要素425とインタフェースする。当業者であれば周知のように、TCP/IPヘッダがHTTPヘッダをカプセル化していることに留意することは重要である。ネットワーク上で動作している他のデバイスとのオープン接続の生成に関連するのはTCP/IPプロトコルである。
例えば、インバウンド要求のHTTPヘッダは、下記のものであってもよい。
インバウンド要求
TCP/IPヘッダ
IPアドレス:129.54.16.200
HTTPヘッダ
GET/index.html HTTP/1.1
ホスト:www.mymusic/lastestgroovysong/song1
IPパーサ構成要素415およびURIパーサ構成要素430は、HTTPヘッダからwww.mymusic/lastestgroovysong/song1をコピーし、TCP/IPヘッダから129.54.16.200をコピーする。
IPアドレスおよびURIのコピーは、状態管理構成要素420内にキー・ペアとして格納される。キー・ペアを格納すると、インターセプトしたデータ・パケットが、ゲートウェイを通して通信構成要素405から受信ウェブサーバ130に送信される。受信ウェブサーバ130は、例えば、songlのような要求されたリソースを見つけ、songlを要求元クライアント・デバイス105、110に返送する。例2がアウトバウンド応答の一例を示す。
例2
アウトバウンド応答
TCP/IPヘッダ
IPアドレス:129.54.16.200
HTTPヘッダ
HTTP/1.1 200 OK
日付;2005年11月22日 火曜日 14:19 GMT
サーバ:Apache/1.3.25
最終更新日時:2005年7月2日 土曜日 12:01 GMT
コンテンツ−長さ 524
接続:アクティブ
コンテンツ・タイプ:mps,wav,wmv;charset UTF−16
本体:song1
アウトバウンド応答が、要求元クライアント・デバイス105、110に返送された場合、アウトバウンド応答はゲートウェイ160により受信される。
通信構成要素405は、アウトバウンド応答を受信し、インバウンド/アウトバウンド・コントローラ410に送る。インバウンド/アウトバウンド・コントローラ410は、アウトバウンド応答を構文解析し、受信したデータ・パケットがアウトバウンド応答なのかインバウンド要求なのかを識別する。ここでは、インバウンドおよびアウトバウンドの要求/応答を使用して本発明を説明しているが、これは説明を分かり易くするためで、実際には、ゲートウェイは、HTTPデータ・パケットを特定のポート番号のところで受信し、受信したHTTPストリームがアウトバウンド応答なのか、インバウンド要求なのかは知らない。それ故、インバウンド/アウトバウンド・コントローラ410は、それがどのタイプのHTTPデータ・パケットなのかを識別するために分析ステップを実行する。
インバウンド/アウトバウンド・コントローラ410は、IPパーサ415に対して機能呼出しを行い、IPパーサ415にIPアドレスをコピーするように要求する。IPアドレスを使用することにより、インバウンド/アウトバウンド・コントローラ410は、IPアドレスに関連するURIを識別するためのルックアップを状態管理構成要素420に要求する。それ故、このルックアップは、クライアントが要求したURIを表す。
状態管理構成要素420は、インバウンド/アウトバウンド・コントローラ410から要求を受信する。状態管理構成要素420は、ブラウザ115、120内の「進む」ボタンおよび「戻る」ボタンに取り付けるために、HTTPヘッダ内に挿入するURIの識別を行う。状態管理構成要素420は、アウトバウンド応答の抽出したIPアドレスにより、データ記憶装置135内でルックアップを行うためにインバウンド/アウトバウンド・コントローラ410から通信を受信する。状態管理構成要素420は、IPアドレスに関連するURIを返送する。
状態管理構成要素420は、識別したURIにより、ブラウザ環境内での「進む」ボタン310により前方にナビゲートするためのURI、および「戻る」315ボタンにより後方にナビゲートするためのURIの位置を発見するために、ワークフロー・マップ435内でルックアップを行う。
例えば、図5を参照すると、状態管理構成要素420は下記のようなURIを識別する。
www.mymusic/lastestgroovysong/song1
それ故、状態管理構成要素420は、ブラウザ内の「進む」ボタン310および「戻る」315ボタンにより、前後にナビゲートすることができるURIをワークフロー・マップ435内でルックアップを行うためにURIを使用する。例えば、/songl 505から後方にナビゲートすることができるURIは、/home 500であり、/songlから前方にナビゲートすることができるURIは、/song2 510、/song3 515、または/song4 520である。
前方にナビゲートするためのURI、および後方にナビゲートするためのURIの位置を発見する場合に、一対のURIがURI挿入装置構成要素430によりHTTPヘッダ内に挿入される。URI挿入装置構成要素430が使用するHTTP構造は下記のものであってもよい。
Intelligent_button_forward_action:www.mymusic/lastestgroovysong/song2
Intelligent_button_back_action:www.mymusic/lastestgroovysong/home
URI挿入装置構成要素430は、これら各構造を下記のようにHTTPヘッダ内に挿入する。
アウトバウンド応答
TCP/IPヘッダ
IPアドレス:129.54.16.200
HTTPヘッダ
HTTP/1.1 200 OK
日付;2005年11月22日 火曜日 14:19 GMT
サーバ:Apache/1.3.25
最終更新日時:2005年7月2日 土曜日 12:01 GMT
コンテンツ − 長さ 524
接続:能動
コンテンツ・タイプ:mps、wav、wmv;charset UTF−16
本体:song1
Intelligent_button_forward_action:www.mymusic/lastestgroovysong/song2
Intelligent_button_back_action:www.mymusic/lastestgroovysong/home
URI挿入装置構成要素430は、要求元クライアント・デバイス105、110に送信するために、通信構成要素405にHTTPヘッダを送信する。クライアント・デバイス105、110は、通常の方法でデータ・パケットの一部としてHTTPヘッダを受信し、ブラウザは、ページ・レンダリング構成要素320を介してHTTPヘッダを処理し、URIをその「進む」ボタン310および「戻る」ボタン315にそれぞれ取り付ける。
他の実施形態の場合には、IPパーサ構成要素415の代わりに状態トークン・コントローラ600が使用される。このことは、ゲートウェイ160がリソースに対する多数の要求を受信する場合には妥当であるかもしれないが、ゲートウェイ160はTCP/IPヘッダ内に要求元クライアント・デバイスのIPアドレスを含む要求を転送するのではなく、IPアドレスをそれ自身のIPアドレスで置き換える。
例えば、クライアント・デバイスAは、song1に対する要求を送信し、192.23.46.100のIPアドレスを有し、クライアント・デバイスBは、song1に対する要求を送信し、204.46.78.200のIPアドレスを有する。ゲートウェイ160は、これら2つの要求を受信するが、TCP/IPヘッダ内のクライアントのIPアドレスを含む要求を転送するのではなく、各IPアドレスをそれ自身のIPアドレスで置換する。それ故、応答がゲートウェイ160に戻ってきたとき、ゲートウェイ160はそれ自身のIPアドレスを見るだけであり、クライアントの各IPアドレスは見えない。
それ故、受信した各要求に対して、状態トークン・コントローラ600は、例えば、16進の数値のような一意の識別子を生成し、この一意の識別子をHTTPヘッダに付加する。次に、要求は、図4のところで説明したように、通常の方法で処理されるが、この例の場合、状態トークンは、要求元クライアント・デバイスのURIの位置を発見するために、データ記憶装置内でルックアップを行うために使用される。
他の実施形態の場合には、ワークフロー・マップ435は、各ウェブサーバ130の負荷容量に関する追加情報を含むことができ、インバウンド/アウトバウンド・コントローラ410は、ロード・バランシング動作を行い、リソースに対する要求を、要求をよりよく処理することができるウェブサーバ130に送信することができる。サーバ130の動作負荷情報は、例えば、既知のネットワーク管理システムとインタフェースすることによりある時間にわたって更新することができる。
図7は本発明の動作ステップを示す。ステップ700において、インターセプタ構成要素400は、通信構成要素405を介してリソースに対する要求を受信する。通信構成要素405は、この要求をインバウンド/アウトバウンド・コントローラ410に送り、ここでコントローラ410は、ステップ705において、IPアドレスおよびURIのコピーを取るために、IPパーサ構成要素415およびURIパーサ構成要素425とインタフェースする。コピーは、状態管理構成要素420に送られ、データ記憶装置内にキー・ペアとして格納される。ステップ710において、要求は通常の方法でウェブサーバ130に転送される。
ステップ715において、通信構成要素405は、アウトバウンド応答を受信する。この応答はインバウンド/アウトバウンド・コントローラ410に送信され、インバウンド/アウトバウンド・コントローラ410は、IPアドレスをコピーするためにIPパーサ構成要素とインタフェースする。このIPアドレスは、ステップ720においてIPアドレスに関連するURIの位置を発見するために、データ記憶装置のルックアップとして使用される。
状態管理構成要素420は、URIを取り出し、ステップ725において、進みおよび戻りナビゲーション動作によりナビゲートすることができるリソースの位置を発見するためにワークフロー・マップ435内でルックアップを行う。
ステップ730において、一対のURIがHTTP構造にパッケージされ、ステップ735において、応答が要求元クライアント・デバイスに送信される。
クライアント・デバイスのところで、ブラウザは、受信した応答を構文解析し、「進む」ボタンおよび「戻る」ボタンの構造を識別し、適切なURIを適切な「進む」ボタンおよび「戻る」ボタンに取り付ける。
図8を参照すると、シーケンス図は、リソースへの要求を満足させる、要求元クライアント・デバイス105、110、インターセプタ構成要素400およびウェブサーバ130間の相互作用ステップを示す。
一例として、クライアント・デバイス105は、ブラウザ115、120を介して、イベント800のところでwww.mymusic.comからの歌を要求する。ゲートウェイ160は、例えば、ポート番号80を介して要求を受信する。ゲートウェイ160は、ウェブサーバ130に要求を送信する前に、インターセプタ構成要素400およびそのサブ構成要素を介して要求を送る。通信構成要素405は、要求を受信し、それをインバウンド/アウトバウンド・コントローラ410に送信し、このコントローラは、イベント805において、TCP/IPヘッダ内に含まれているIPアドレスを識別し、データ記憶装置内にコピーを格納するために、IPパーサ415または状態トークン構成要素600とインタフェースし、URIを識別し、コピーをのIPアドレスと共にデータ記憶装置内に格納するために(例えば、IPアドレス:102.46.73.200、URI:www.mymusic.com)URIパーサとインタフェースし、またはHTTPヘッダに取り付けるための一意の識別子(例えば、16進数値)を生成するために、状態トークン構成要素600とインタフェースする。
要求は、要求を満足させることができるウェブサーバ130に転送される。ウェブサーバ130は、イベント810において、要求を受信し、URIにより、この場合は歌1である、現在要求されているリソースがどれであるかを識別し、歌1を要求元クライアント105、110に返送する。この場合も、要求はゲートウェイ160を通して送られ、インターセプタ構成要素400によりインターセプトされる。インターセプタ構成要素400は、インバウンド/アウトバウンド・コントローラ410により要求がインバウンド要求であるのか、アウトバウンド応答であるのかを識別する。この例の場合、要求はアウトバウンド応答であり、TCP/IPヘッダ内でIPアドレスが識別され、関連するURIの位置を発見するためにデータ記憶装置内でルックアップとして使用される。URIの位置を発見した場合には、URIは前後にナビゲートすることができる関連URIを識別するために使用される。イベント815において、一対のURIがHTTP構造に収容され、HTTPヘッダに追加される。イベント820において、応答が要求元クライアント105、110に送信され、ブラウザ115、120は、HTTPヘッダを読み出し、HTTP構造の存在を識別し、URIを「進む」ボタンおよび「戻る」ボタンにそれぞれ取り付ける。
本発明の好ましい実施形態を実施することができる異機種計算環境のブロック図である。 当業者であれば周知のウェブサーバの構成要素を示すブロック図である。 本発明の好ましい実施形態を実施することができるウェブブラウザの構成要素を示すブロック図である。 本発明の好ましい実施形態によるインターセプタ構成要素の構成要素を示すブロック図である。 当業者であれば周知の階層的ウェブサイトのブロック図である。 本発明の好ましい実施形態によるインターセプタ構成要素のもう1つの例を示すブロック図である。 本発明の好ましい実施形態によるインターセプタ構成要素の動作ステップの詳細を示すフローチャートである。 インターセプタ構成要素と他のデータ処理構成要素との相互作用のシーケンスを示すシーケンス図である。

Claims (3)

  1. ブラウザ・アプリケーションに送信するために進みナビゲーション・ボタンに関連付けるためのユニフォーム・リソース・ロケータを生成するためのインターセプタ構成要素であって、
    受信したデータ・パケットがインバウンド要求であるのかどうかを判定するためのインバウンド/アウトバウンド・コントローラと、
    判定したインバウンド要求の一意の識別子およびユニフォーム・リソース・ロケータを識別し、前記一意の識別子および前記ユニフォーム・リソース・ロケータを格納するための構文解析構成要素と
    前記インバウンド要求で識別されたURIからナビゲートすることができる少なくとも1つのURIを示すワークフロー・マップを備え、
    前記インバウンド/アウトバウンド・コントローラが、前記インバウンド要求に対するアウトバウンド応答を受信し、前記アウトバウンド応答内で一意の識別子を識別し、前記一意の識別子に関連するユニフォーム・リソース・ロケータを発見し、
    前記インバウンド/アウトバウンド・コントローラが、進みナビゲーション動作の際にナビゲートすることができるユニフォーム・リソース・ロケータを知るための第2のルックアップを前記ワークフロー・マップ内で行い、前記発見したユニフォーム・リソース・ロケータを前記アウトバウンド応答内に挿入し、前記応答を要求元クライアント・デバイスに送信し、
    前記ワークフロー・マップが、前記URI内で識別したサーバの動作作業負荷容量に関するデータを含む、インターセプタ構成要素。
  2. ブラウザ・アプリケーションに送信するために進みナビゲーション・ボタンに関連付けるためのユニフォーム・リソース・ロケータを生成するための方法であって、コンピュータに下記ステップを実行させる方法において、該ステップが、
    受信したデータ・パケットがインバウンド要求であるのかどうかを判定するステップと、
    判定したインバウンド要求の一意の識別子およびユニフォーム・リソース・ロケータを識別し、前記一意の識別子および前記ユニフォーム・リソース・ロケータを格納するステップと、
    前記インバウンド要求に対するアウトバウンド応答を受信し、前記アウトバウンド応答内で前記一意の識別子を識別し、前記一意の識別子に関連するユニフォーム・リソース・ロケータを発見するステップと、
    進みナビゲーション動作中にナビゲートすることができるユニフォーム・リソース・ロケータを知るための第2のルックアップを、前記インバウンド要求で識別されたURIからナビゲートすることができる少なくとも1つのURIを示すワークフロー・マップ内で行い、前記発見したユニフォーム・リソース・ロケータを前記アウトバウンド応答内に挿入し、前記応答を要求元クライアント・デバイスに送信するステップとを含み、
    前記ワークフロー・マップが、前記URI内で識別したサーバの動作作業負荷容量に関するデータを含む、方法。
  3. コンピュータの内部メモリ内に直接ロードすることができるコンピュータ・プログラムであって、請求項2に記載のステップをコンピュータに実行させるためのコンピュータ・プログラム。
JP2006298853A 2005-11-26 2006-11-02 コンテキスト・ベースのナビゲーション Expired - Fee Related JP4988307B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GBGB0524166.6A GB0524166D0 (en) 2005-11-26 2005-11-26 Context based navigation
GB0524166.6 2005-11-26

Publications (2)

Publication Number Publication Date
JP2007149080A JP2007149080A (ja) 2007-06-14
JP4988307B2 true JP4988307B2 (ja) 2012-08-01

Family

ID=35601331

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006298853A Expired - Fee Related JP4988307B2 (ja) 2005-11-26 2006-11-02 コンテキスト・ベースのナビゲーション

Country Status (5)

Country Link
US (1) US20070124445A1 (ja)
JP (1) JP4988307B2 (ja)
CN (1) CN1972285A (ja)
GB (1) GB0524166D0 (ja)
TW (1) TW200805972A (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110276906A1 (en) * 2010-05-04 2011-11-10 Microsoft Corporation Navigational information user interface
US8862737B2 (en) * 2010-06-24 2014-10-14 Microsoft Corporation Application integration of network data based on resource identifiers
US8095534B1 (en) 2011-03-14 2012-01-10 Vizibility Inc. Selection and sharing of verified search results
US11876778B2 (en) * 2020-04-05 2024-01-16 Raja Srinivasan Methods and systems of a secure and private customer service automation platform

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5675785A (en) * 1994-10-04 1997-10-07 Hewlett-Packard Company Data warehouse which is accessed by a user using a schema of virtual tables
US6266681B1 (en) * 1997-04-08 2001-07-24 Network Commerce Inc. Method and system for inserting code to conditionally incorporate a user interface component in an HTML document
JP3627439B2 (ja) * 1997-05-09 2005-03-09 富士ゼロックス株式会社 情報発信システム、クライアント装置及びクライアント装置における画面表示方法
JP3161528B2 (ja) * 1998-09-07 2001-04-25 日本電気株式会社 液晶表示パネル
US20030080996A1 (en) * 2000-04-13 2003-05-01 Daniel Lavin Software for a navigation control unit for use with a wireless computer resource access device and associated system
WO2001082274A1 (fr) * 2000-04-24 2001-11-01 Matsushita Electric Industrial Co., Ltd. Dispositif d'affichage et procede de commande d'un tel dispositif
JP2002091656A (ja) * 2000-09-19 2002-03-29 Hitachi Software Eng Co Ltd 表示制御方法及び記録媒体
JP4966444B2 (ja) * 2000-11-10 2012-07-04 ゲットナー・ファンデーション・エルエルシー Tft液晶表示装置
JP2002202931A (ja) * 2000-12-28 2002-07-19 K-Tai Net:Kk サーバ及び記録媒体
US7171615B2 (en) * 2002-03-26 2007-01-30 Aatrix Software, Inc. Method and apparatus for creating and filing forms
JP2004152155A (ja) * 2002-10-31 2004-05-27 Sharp Corp 情報閲覧表示方法、プログラムおよび装置
JP2005122358A (ja) * 2003-10-15 2005-05-12 Nec Corp ウェブコンテンツ配信システム、ウェブコンテンツ配信プログラム及びプロクシサーバ
US7614004B2 (en) * 2003-12-15 2009-11-03 Microsoft Corporation Intelligent forward resource navigation
US7546539B2 (en) * 2004-03-10 2009-06-09 Siebel Systems, Inc. Browser back and forth navigation
US7810035B2 (en) * 2004-10-15 2010-10-05 Microsoft Corporation Browsing web content using predictive navigation links
GB0524164D0 (en) * 2005-11-26 2006-01-04 Ibm Context based navigation

Also Published As

Publication number Publication date
TW200805972A (en) 2008-01-16
GB0524166D0 (en) 2006-01-04
JP2007149080A (ja) 2007-06-14
CN1972285A (zh) 2007-05-30
US20070124445A1 (en) 2007-05-31

Similar Documents

Publication Publication Date Title
US8135831B2 (en) System, method and apparatus for use in monitoring or controlling internet access
US7426699B2 (en) Communication between browser windows
US7840707B2 (en) Reverse proxy portlet with rule-based, instance level configuration
US6012090A (en) Client-side parallel requests for network services using group name association
JP3807961B2 (ja) セッション管理方法、セッション管理システムおよびプログラム
US8024471B2 (en) System, method and apparatus for use in monitoring or controlling internet access
JP4755590B2 (ja) 非同期的に要求を処理するための方法、サーバシステム、及びプログラム
US20030050964A1 (en) Method and system for context manager proxy
US8141147B2 (en) System, method and apparatus for use in monitoring or controlling internet access
US20070130546A1 (en) Context based navigation within a browser application
US20080275982A1 (en) System and program product for tracking web user sessions
US20020078102A1 (en) Method and system for customized modification and presentation of remotely saved web content
CA2577259A1 (en) System, method and apparatus for use in monitoring or controlling internet access
KR20080081160A (ko) 컨텐츠를 목표 주소로 전송하는 방법, 컨텐츠를 목표주소로 전송하는 시스템, 기본 사용자 인터페이스프리젠테이션을 적어도 하나의 컨텐츠-전달 아이콘으로채우는 방법 및 컴퓨터 판독가능 매체
JP2003006074A (ja) 反転プロキシメカニズム
WO2006103260A1 (en) Method and apparatus to select and deliver portable portlets
US7865902B2 (en) Method and apparatus for optimizing web services binding
JP4988307B2 (ja) コンテキスト・ベースのナビゲーション
US7899911B2 (en) Method and apparatus to retrieve information in a network
JP2001249841A (ja) プロキシサーバを用いた自動再リクエスト方法
CA2577252A1 (en) System, method and apparatus for use in monitoring or controlling internet access
US8458296B2 (en) Computer system with simplified server access and corresponding process
EP2141891A2 (en) Single point of entry server solution for world-wide-web annotation services with reduced latency
TW531998B (en) Method and system of enforcing the dispatching of IP datagrams on a plurality of servers according to a defined policy
US10834167B1 (en) Client side navigation compositor

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090821

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111129

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120214

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120403

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120426

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150511

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees