(57)【要約】リモートメソッド呼出しによる複数かつ異種のウェブページの、リアルタイムのスタイリング及び装飾を可能にする方法及びシステムを開示する。ローカルホストが、リモートホスト上のリソースから作成されるコンテンツを要求することができる。リモートホストは、返されるリモート・コンテンツのカスタマイズを可能にするパラメータを、ローカルホストから受け入れることができる。このカスタマイズは、属性、レンダリング型、及びスタイルを含むことができる。リモート・コンテンツは、適切なレイアウト、ブランド設定、画像、テキスト、ハイパーリンク、等を保持するデータセットを含むことができる。一部の実施形態では、リモート・コンテンツが一旦生成されると、このリモート・コンテンツをキャッシュ記憶して、将来の要求の期間中に、このリモート・コンテンツがより迅速に返されることを可能にする。
2015518612.tif 000002
【特許請求の範囲】
【請求項１】
カスタマイズされたリモート・コンテンツをコンピュータシステムから返す方法であって、
リモート・コンテンツの要求を、前記コンピュータシステムにおいて受信するステップであって、前記要求が、
リソース識別子と、
レンダリング型と
を含むステップと、
前記リソース識別子に対応するリソースを、前記コンピュータシステムにロードするステップと、
前記リソースを、前記レンダリング型のレンダリング可能なコンテンツに変換するステップと、
前記レンダリング可能なコンテンツを返すステップと
を含むことを特徴とする方法。
【請求項２】
１つ以上のリソース属性を入れるステップをさらに含み、前記リモート・コンテンツの要求が、前記１つ以上のリソース属性をさらに含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記レンダリング可能なコンテンツにリソース・スタイルを適用するステップをさらに含み、前記リモート・コンテンツの要求が、前記リソース・スタイルをさらに含むことを特徴とする請求項１に記載の方法。
【請求項４】
前記レンダリング型をスタイリングすることができるか否かを判定するステップと、
前記リソースをスタイリングすることができる場合に、前記レンダリング可能なコンテンツにリソース・スタイルを適用するステップと
をさらに含み、
前記リモート・コンテンツの要求が前記リソース・スタイルをさらに含むことを特徴とする請求項１に記載の方法。
【請求項５】
前記リソース・スタイルがデフォルト値であり、前記リソース・スタイルを適用するステップが、デフォルトのリソース・スタイルを適用することを含むことを特徴とする請求項４に記載の方法。
【請求項６】
前記リソースを前記レンダリング可能なコンテンツに変換する前に、前記リソース中のリソースパスを有効とするステップをさらに含むことを特徴とする請求項１に記載の方法。
【請求項７】
前記レンダリング可能なコンテンツをキャッシュに記憶するステップをさらに含むことを特徴とする請求項１に記載の方法。
【請求項８】
２回目のリモート・コンテンツの要求を受信するステップであって、前記要求が、
前記リソース識別子と、
前記レンダリング型と
を含むステップと、
前記レンダリング可能なコンテンツを、前記キャッシュからロードするステップと、
前記レンダリング可能なコンテンツを返すステップと
をさらに含むことを特徴とする請求項７に記載の方法。
【請求項９】
カスタマイズされたリモート・コンテンツを返す方法をコンピュータシステムが実行するための、コンピュータ可読の命令コードを記憶した非一時的コンピュータ可読記憶媒体であって、前記方法が、
リモート・コンテンツの要求を受信するステップであって、前記要求が、
リソース識別子と、
レンダリング型と
を含むステップと、
前記リソース識別子に対応するリソースをロードするステップと、
前記リソースを、前記レンダリング型のレンダリング可能なコンテンツに変換するステップと、
前記レンダリング可能なコンテンツを返すステップと
を含むことを特徴とする非一時的コンピュータ可読記憶媒体。
【請求項１０】
前記方法が、１つ以上のリソース属性を入れるステップをさらに含み、前記リモート・コンテンツの要求が、前記１つ以上のリソース属性をさらに含むことを特徴とする請求項９に記載の非一時的コンピュータ可読記憶媒体。
【請求項１１】
前記方法が、前記レンダリング可能なコンテンツにリソース・スタイルを適用するステップをさらに含み、前記リモート・コンテンツの要求が、前記リソース・スタイルをさらに含むことを特徴とする請求項９に記載の非一時的コンピュータ可読記憶媒体。
【請求項１２】
前記方法が、
前記レンダリング型をスタイリングすることができるか否かを判定するステップと、
前記リソースをスタイリングすることができる場合に、前記レンダリング可能なコンテンツにリソース・スタイルを適用するステップと
をさらに含み、
前記リモート・コンテンツの要求が前記リソース・スタイルをさらに含むことを特徴とする請求項９に記載の非一時的コンピュータ可読記憶媒体。
【請求項１３】
前記リソース・スタイルがデフォルト値であり、前記リソース・スタイルを適用するステップが、デフォルトのリソース・スタイルを適用することを含むことを特徴とする請求項１２に記載の非一時的コンピュータ可読記憶媒体。
【請求項１４】
前記方法が、前記リソースを前記レンダリング可能なコンテンツに変換する前に、前記リソース中のリソースパスを有効とするステップをさらに含むことを特徴とする請求項９に記載の非一時的コンピュータ可読記憶媒体。
【請求項１５】
前記方法が、前記レンダリング可能なコンテンツをキャッシュに記憶するステップをさらに含むことを特徴とする請求項９に記載の非一時的コンピュータ可読記憶媒体。
【請求項１６】
前記方法が、
２回目のリモート・コンテンツの要求を受信するステップであって、前記要求が、
前記リソース識別子と、
前記レンダリング型と
を含むステップと、
前記レンダリング可能なコンテンツを、前記キャッシュからロードするステップと、
前記レンダリング可能なコンテンツを返すステップと
をさらに含むことを特徴とする請求項１５に記載の非一時的コンピュータ可読記憶媒体。
【請求項１７】
カスタマイズされたリモート・コンテンツを返すコンピュータシステムであって、
プロセッサと、
前記プロセッサと電気通信するメモリとを具え、このメモリが、
オペレーティングシステムと、
方法を実行するようにカスタマイズされたリモート・コンテンツ・モジュールとを含み、前記方法が、
リモート・コンテンツの要求を受信するステップであって、前記要求が、
リソース識別子と、
レンダリング型と
を含むステップと、
前記リソース識別子に対応するリソースをロードするステップと、
前記リソースを、前記レンダリング型のレンダリング可能なコンテンツに変換するステップと、
前記レンダリング可能なコンテンツを返すステップと
を含むことを特徴とするコンピュータシステム。
【請求項１８】
前記カスタマイズされたリモート・コンテンツ・モジュールによって実行される前記方法が、１つ以上のリソース属性を入れるステップをさらに含み、前記リモート・コンテンツの要求が、前記１つ以上のリソース属性をさらに含むことを特徴とする請求項１７に記載のコンピュータシステム。
【請求項１９】
前記カスタマイズされたリモート・コンテンツ・モジュールによって実行される前記方法が、前記レンダリング可能なコンテンツにリソース・スタイルを適用するステップをさらに含み、前記リモート・コンテンツの要求が、前記リソース・スタイルをさらに含むことを特徴とする請求項１７に記載のコンピュータシステム。
【請求項２０】
前記カスタマイズされたリモート・コンテンツ・モジュールによって実行される前記方法が、
前記レンダリング型をスタイリングすることができるか否かを判定するステップと、
前記リソースをスタイリングすることができる場合に、前記レンダリング可能なコンテンツにリソース・スタイルを適用するステップと
をさらに含み、
前記リモート・コンテンツの要求が前記リソース・スタイルをさらに含むことを特徴とする請求項１７に記載のコンピュータシステム。
【請求項２１】
前記リソース・スタイルがデフォルト値であり、前記リソース・スタイルを適用するステップが、デフォルトのリソース・スタイルを適用することを含むことを特徴とする請求項２０に記載のコンピュータシステム。
【請求項２２】
前記カスタマイズされたリモート・コンテンツ・モジュールによって実行される前記方法が、前記リソースを前記レンダリング可能なコンテンツに変換する前に、前記リソース中のリソースパスを有効とするステップをさらに含むことを特徴とする請求項１７に記載のコンピュータシステム。
【請求項２３】
前記カスタマイズされたリモート・コンテンツ・モジュールによって実行される前記方法が、前記レンダリング可能なコンテンツをキャッシュに記憶するステップをさらに含むことを特徴とする請求項１７に記載のコンピュータシステム。
【請求項２４】
前記カスタマイズされたリモート・コンテンツ・モジュールによって実行される前記方法が、
２回目のリモート・コンテンツの要求を受信するステップであって、前記要求が、
前記リソース識別子と、
前記レンダリング型と
を含むステップと、
前記レンダリング可能なコンテンツを、前記キャッシュからロードするステップと、
前記レンダリング可能なコンテンツを返すステップと
をさらに含むことを特徴とする請求項２３に記載のコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、同じ特性を有するコンテンツを異種のウェブページ上に表示する方法に関するものである。
【図面の簡単な説明】
【０００２】
【図１】カスタマイズされたリモート・コンテンツを返すシステムのブロック図である。
【図２】カスタマイズされたリモート・コンテンツを返す方法のフローチャートである。
【図３】コンテンツをロードするためのリソース要求を必要とする複数の領域を含むウェブページを示す図である。
【図４】リソース要求に対する応答より、コンテンツを構文解析した後の、図３のウェブページを示す図である。
【図５】リモートホストからのコンテンツを含む例示的なウェブページのブレイクアウトを示す図である。
【図６】リモートホストからのコンテンツを含む他の例示的なウェブページのブレイクアウトを示す図である。
【発明を実施するための形態】
【０００３】
好適な実施形態の詳細な説明
ローカルホストが、同じ見た目、感覚、及び／または挙動のような同じ特性を有する１つ以上のウェブページを、１つ以上のリモートホスト上にリモート・ウェブページとして表示したいことがある。例えば、複数のホストが、ユーザがサインオン情報を再入力することなしに１つのホストから他のホストに移ることを可能にするシングル・サインオン・スキーム（ＳＳＯ：single sign-on scheme）（単一署名契約方式）を採用することができる。各ホストのウェブページが同じ特性を有するようにすれば、ホスト間の通信はユーザにとって十分にシームレスに感じられる。ユーザは、再配置されたコンテンツ、あるいは外見上または機能上の尖鋭なコントラストに惑わされることなしに、異なるフィーチャ（特徴的形態）またはホスト間をジャンプすることができる。一部の実施形態では、これらのホストが異なる特性を有し、ユーザが他のホスト上のウェブページに移る際に、第１ホストの特性がユーザに追従する。他の実施形態では、１グループのホストのすべてが、いずれのホストを訪れるユーザにとっても同じ特性の集合を有する。
【０００４】
一貫性のある特性を保証する１つの方法は、各サイトが適切な特性を有するように、コンテンツを各サイト上に手作業で維持することである。その代わりに、適切な特性を自動的にロードするように、ホストを構成することができる。一実施形態では、複数のホストが同じリソース集合にアクセスし、このリソース集合から、これらのホストが適切な特性でコンテンツをロードする。他の実施形態では、１つ以上のホストがリモート・コンテンツ・メソッドを実現し、これらのリモート・コンテンツ・メソッドは、コンテンツを適切な特性にして、当該リモート・コンテンツ・メソッドを呼び出し中のホストに返す。一部の実施形態は、一部のホストがリソースを共有し、他のホストはリモートメソッドを呼び出すハイブリッド（混成）システムを実現することもできる。
【０００５】
本発明の実施形態は、図面を参照して最良に理解され、全図面を通して、同様の要素は同様の番号で表す。以下の説明では、本明細書に記載する実施形態の完全な理解のために、多数の特定の詳細事項を提供する。しかし、１つ以上の特定の詳細事項を省略することができ、あるいは、他の方法、構成要素、または材料を用いることができることは、当業者の認める所である。一部の例では、本発明のより重要な態様をあいまいにすることを避けるために、動作を詳細に図示または説明しない。
【０００６】
さらに、１つ以上の実施形態において、記載した特徴、動作、または特性を、あらゆる適切な方法で組み合わせることができる。さらに、開示する実施形態に関連して説明する方法のステップまたは動作の順序を、当業者にとって明らかなように変更することができることも、容易に理解される。従って、図面及び詳細な説明中のあらゆる順序は、ある順序を要求することを指定しない限り、例示目的に過ぎず、要求される順序を暗示するつもりではない。
【０００７】
実施形態は種々のステップを含むことができ、これらのステップは、コンピュータシステムによって実行される機械実行可能な命令の形で具体化することができる。コンピュータシステムは、１つ以上の汎用または専用コンピュータ（あるいは、他の電子装置）を具えている。その代わりに、コンピュータシステムは、これらのステップを実行するための特定の論理回路を含むハードウェア構成要素を具えるか、ハードウェア、ソフトウェア、及び／またはファームウェアの組合せを具えることができる。
【０００８】
実施形態は、命令を記憶したコンピュータ可読媒体を含むコンピュータプログラム製品として提供することもでき、これらの命令を用いて、コンピュータシステムまたは他の電子装置をプログラムして、本明細書で説明するプロセスを実行することができる。コンピュータ可読媒体は、ハードディスク・ドライブ、フロッピー（登録商標）ディスケット（登録商標）、光ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ＲＯＭ、ＲＡＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、磁気カードまたは光カード、固体メモリ装置、あるいは電子的命令を記憶するのに適した他の種類の媒体／コンピュータ可読媒体を含むことができる。
【０００９】
コンピュータシステム、及びコンピュータシステム内のコンピュータ同士は、ネットワークを介して接続することができる。本明細書で説明する構成及び／または使用法に適したネットワークは、１つ以上のローカルエリア・ネットワーク、ワイドエリア・ネットワーク、メトロポリタンエリア・ネットワーク、及び／または、ワールドワイド・ウェブ、プライベート（私設）インターネット、セキュア・インターネット、付加価値通信網、仮想プライベート・ネットワーク、エクストラネット、イントラネットのような「インターネット」またはＩＰネットワーク、さらには、物理的な搬送手段または媒体（いわゆる「スニーカーネット」）によって他のマシンと通信するスタンドアロン・マシン（自立型機械）を含む。特に、適切なネットワークは、異種のハードウェア及びネットワーク通信技術を用いるネットワークを含めた２つ以上の他のネットワークの部分または全体で形成することができる。
【００１０】
他の適切なネットワークは、サーバー及びいくつかのクライアントを含み；他の適切なネットワークは、サーバー、クライアント、及び／またはピア・ツー・ピア・ノードの他の組合せを含むことができ、所定のコンピュータシステムは、クライアント及びサーバーの両方として機能することができる。各ネットワークは、サーバー及び／またはクライアントのような少なくとも２つのコンピュータまたはコンピュータシステムを含む。コンピュータシステムは、ワークステーション、ラップトップ・コンピュータ、着脱可能なモバイル（携帯）コンピュータ、サーバー、メインフレーム、クラスタ、いわゆる「ネットワーク・コンピュータ」または「シン・クライアント」、タブレット、スマートホン、パーソナル・デジタル・アシスタント（個人用携帯情報端末）または他のハンドヘルド（手持ち型）コンピュータ装置、「スマート」な民生用電子装置または電化製品、医療機器、あるいはそれらの組合せを含むことができる。
【００１１】
ネットワークは、ノベル（Novell）社、マイクロソフト（Microsoft）社、アーティソフト（Artisoft）社、及び他のベンダー（供給元）から入手可能なソフトウェアのような通信またはネットワーク・ソフトウェアを含むことができ、そして、ＴＣＰ／ＩＰ、ＳＰＸ、ＩＰＸ、及び他のプロトコルを用いて、ツイストペア、同軸、または光ファイバ・ケーブル、電話回線、衛星中継、マイクロ波中継、変調ＡＣ電力線、物理的な媒体搬送、及び／または当業者に既知の他のデータ伝送「線」上で動作することができる。ネットワークは、より小規模なネットワークを包含することができ、及び／または、ゲートウェイまたは同様のメカニズムを通して他のネットワークと接続可能である。
【００１２】
各コンピュータシステムは、少なくともプロセッサ及びメモリを含み；コンピュータシステムは、種々の入力装置及び／または出力装置を含むこともできる。プロセッサは、インテル（登録商標）、ＡＭＤ（登録商標）、または他の「オフ・ザ・シェルフ」（既製の）マイクロプロセッサを含むことができる。プロセッサは、ＡＳＩＣ（application specific integrated circuit：特定用途向け集積回路）、ＳｏＣ（system-on-tip：システム・オンチップ）、ＦＰＧＡ（field programmable gate array：フィールド・プログラマブル・ゲートアレイ）、ＰＡＬ（programmable array logic：プログラマブルアレイ論理回路）、ＰＬＡ（programmable logic array：プログラマブル・ロジックアレイ）、ＦＰＬＡ（field programmable logic array：フィールド・プログラマブル・ロジックアレイ）、ＰＬＤ（programmable logic device：プログラマブル論理デバイス）のような専用処理装置、あるいは他のカスタマイズされたデバイスまたはプログラム可能なデバイスを含むことができる。メモリは、スタティックＲＡＭ、ダイナミックＲＡＭ、フラッシュメモリ、１つ以上のフリップフロップ、ＲＯＭ、ＣＤ−ＲＯＭ，ディスク、テープ、磁気媒体、光媒体、または他のコンピュータ記憶媒体を含むことができる。入力装置は、キーボード、マウス、タッチスクリーン、ライトペン、マイクロホン、センサ、あるいはファームウェア及び／またはソフトウェアを伴う他のハードウェアを含むことができる。出力装置は、モニタまたは他のディスプレイ、プリンタ、音声または文字合成器、スイッチ、信号線、あるいはファームウェア及び／またはソフトウェアを伴う他のハードウェアを含むことができる。
【００１３】
コンピュータシステムは、フロッピー（登録商標）ドライブ、テープドライブ、光ディスクドライブ、光磁気ディスクドライブ、あるいは記憶媒体を読み出すための他の手段を含むことができる。適切な記憶媒体は、磁気的、光学的、または特定の物理的構成を有する他のコンピュータ可読記憶装置を含む。適切な記憶装置は、フロッピー（登録商標）ディスク、ハードディスク、テープ、ＣＤ−ＲＯＭ、ＤＶＤ、ＰＲＯＭ、ランダムアクセスメモリ、及び他のコンピュータシステム用記憶装置を含む。それらの物理的構成は、本明細書で説明する特定かつ所定の方法でコンピュータシステムを動作させるデータ及び命令を表現する。
【００１４】
本発明を実現するのに役立つ適切なソフトウェアは、関連技術の当業者が、本明細書に提示する教示、及び、Ｊａｖａ（登録商標）、パスカル（Pascal）、Ｃ＋＋、Ｃ、データベース言語、ＡＰＩ（application program interface：アプリケーション・プログラム・インタフェース）、ＳＤＫ（software development kit：ソフトウェア開発キット）、アセンブリ言語、ファームウェア、マイクロコードのようなプログラミング言語及びツール、及び／または、他の言語またはツールを用いて、容易に用意することができる。適切な信号フォーマットは、アナログまたはデジタル形式で、誤り検出及び／または訂正ビット、パケットヘッダー、特定フォーマットのネットワークアドレス、及び／または、関連技術の当業者が容易に用意することのできる他の支援データ付きで、あるいはこうした支援データなしで具体化することができる。
【００１５】
説明する実施形態の他の態様は、ソフトウェア・モジュールまたはソフトウェア・コンポーネントとして例示することができる。本明細書で用いるソフトウェア・モジュールまたはソフトウェア・コンポーネントは、メモリ装置内に配置されたあらゆる種類のコンピュータ命令またはコンピュータ実行可能コードを含むことができる。ソフトウェア・モジュールは、例えば、コンピュータ命令の１つ以上の物理ブロックまたは論理ブロックを具えることができ、これらのコンピュータ命令は、１つ以上のタスクを実行するか特定のデータタイプを実装するためのルーチン、プログラム、オブジェクト、コンポーネント、データ構造、等として編成することができる。
【００１６】
特定実施形態では、特定のソフトウェア・モジュールが、１つのメモリ装置の異なる場所、異なるメモリ装置、または異なるコンピュータに記憶された異種の命令を含むことができ、これらの命令がまとまって、説明するモジュールの機能を実現する。実際に、１つのモジュールは、単一の命令または多数の命令を含むことができ、そして、異なるコードセグメントにわたって、異なるプログラム間に、及びいくつかのメモリ装置にわたって分散することができる。一部の実施形態は、分散型コンピュータ環境内で実施することができ、こうした環境では、通信ネットワークを通してリンクされたリモート（遠隔）処理装置によってタスクが実行される。分散型コンピュータ環境では、ソフトウェア・モジュールを、ローカル及び／またはリモート・メモリ記憶装置に配置することができる。これに加えて、データベース・レコード（記録）内で結合されるか一緒にされたデータを、同じメモリ装置内に、またはいくつかのメモリ装置にわたって常駐させることができ、そして、ネットワーク越しにまとめてリンクして、１つのデータベース内のレコードの複数フィールドの形にすることができる。
【００１７】
本発明により使用することができるインフラストラクチャ（基盤）の大部分は、既に利用可能であり、例えば：汎用コンピュータ；コンピュータ・プログラミングツールまたは技術；コンピュータ・ネットワーク及びネットワーク技術；デジタル記憶媒体；認証；アクセス制御；及びパブリックキー（公開鍵）、暗号、ファイアウォール、及び／または他の手段によって提供される他のセキュリティ・ツール及び技術である。
【００１８】
図１は、システム１００のブロック図であり、このシステム上で、本明細書に開示する方法を実現することができる。このシステムはリモートホスト１１０を具え、リモートホスト１１０は、複数のローカルホスト１２０、１３０とネットワーク越しに通信することができる。種々のユーザ１４１、１４２、１４３も、このネットワーク越しにホスト１１０、１２０、１３０と通信することができる。例えば、ユーザ１４２が、ホスト１２０うちの１つに配置されたウェブページを見たいことがある。ローカルホスト１２０上のウェブページは、リモートホスト１１０からロードしたコンテンツを含むことができる。このコンテンツを表示するために、ローカルホスト１２０は、リモートホスト１１０によって実現されるリモート・コンテンツ・メソッドを呼び出すことによって、このコンテンツをリモートホスト１１０に要求する。一部の実施形態では、ローカルホスト１２０が、リモートホスト１１０によって返されたコンテンツを、例えばカスタムの（自分に合わせた）テキストまたはタイトルを含めることによってカスタム調整（自分に合わせて変更）したい。ローカルホスト１２０は、リモートホスト１１０に属性を渡して、これらの属性によってカスタマイズされたリモート・コンテンツを受信することができる。
【００１９】
図２は、リモートホスト１１０によって実行されて、カスタマイズされたリモート・コンテンツを返す方法２００のフローチャートである。リモートホスト１１０が、コンテンツに変化させることのできるリソースの要求を受信すると（ステップ２０２）、方法２００が開始される。この要求は、リソース識別子、リソースのレンダリング型、リソース・スタイル、及び１つ以上のリソース属性のようなパラメータを含むことができる。一部の実施形態では、これらのパラメータをオブジェクト内に格納することができ、上記リソース要求は、返すべき複数のリソースを示す複数のオブジェクトを含むことができる。一部の実施形態では、ローカルホスト１２０がこの要求を行うことができる。その代わりに、ローカルホスト１２０は、このリソース要求を行うようにユーザ１４２に通知することができる。ユーザ１４２の要求は、ウェブページのロードに同期して行うことができ、あるいは、ユーザ１４２は、例えば非同期Ｊａｖａスクリプト（登録商標）（asynchronous JavaScript）及びＸＭＬ（extensible markup language：拡張マークアップ言語）（「ＡＪＡＸ」（asynchronous JavaScript + XML））を用いることによって、この要求を非同期で行うことができる。
【００２０】
次に、リモートホスト１１０は、この要求中のリソース識別子を用いてリソースを検索する（ステップ２０４）。リソース識別子パラメータは、ローカルホスト１２０が要求しているリソースを示す。一部の実施形態では、この識別子を、所望のリソースを参照する数字または英数字コードとすることができる。他の実施形態では、識別子を、ウェブページを設計する人間並びにリモートホスト１１０が理解可能な語または略語とすることができる。例えば、一部の実施形態では、識別子を「ヘッダー」、「フッター」、「メニュー」、等とすることができる。リモートホスト１１０は、リソース識別子を用いてリソースを位置検索する。これらのリソースは、ローカルメモリに記憶することができ、あるいは、他のホストまたはコンピュータシステムからロードする必要があり得る。
【００２１】
一旦、リソースをロードすると、リモートホスト１１０は、すべてのリソースパス（リソース経路）を有効とする（ステップ２０６）。リソースは、ハイパーリンク、画像、及び他の外部コンテンツを含むことができる。リソースは、ハイパーリンクにおける相対パス、あるいは、外部コンテンツをロードする元のリモートホスト１１０上の場所を示す際の相対パスを用いることができる。ローカルホスト１２０は、相対パスを、場所を修正しない限りローカルホスト１２０上に存在しない場所を参照するものとして不適正に解決することがある。リモートホスト１１０は、相対パスを絶対パスに変換することによって、これらのリソースパスを有効とする。このことは、ローカルホスト１２０がすべてのパスを適正に解決することを可能にする。他の実施形態では、リモートホスト１１０上のすべてのリソースを、絶対パスを使用するように事前に設計することができる。
【００２２】
次に、リモートホスト１１０がリソース属性を入れる（ステップ２０８）。これらのリソース属性は、ローカルホスト１２０がリソースの種々の態様をカスタマイズすることを可能にする。例えば、ヘッダー・リソースを要求する際には、リソース属性は、ヘッダー内に配置すべきタイトル、スローガン、ロゴ、等を含むことができる。従って、複数のホストにわたるウェブページは、同じ特性を有しつつも、現在のウェブページを提供しているホストを識別することができる。一部の実施形態では、ローカルホスト１２０にとって利用可能なリソース属性の種類及び数が、特定のリソース要求に応じて変動し得る。リモートホスト１１０は、ローカルホスト１２０によって指定されたあらゆる属性に応じてリソースを修正する。一部の実施形態では、属性を指定しないことによって、デフォルト属性を用いることになるか、何の属性も適用しないことができる。
【００２３】
次に、リモートホスト１１０は、リソースを、要求されたレンダリング型にレンダリング可能なコンテンツに変換する。レンダリング型パラメータは、レンダリング可能なコンテンツのフォーマットを示す。このフォーマットは、ウェブ・コンテンツ用のＸＭＬ、ＨＴＭＬ（hyper text markup language：ハイパーテキスト・マークアップ言語）、ＪＳＯＮ（JavaScript object notation：Ｊａｖａスクリプト（登録商標）オブジェクト表記）、等を含むことができる。画像及び文書コンテンツについては、レンダリング型が画像フォーマットまたは文書型を指定することができる。代案実施形態では、リソースを複数のレンダリング型で記憶することができ、適切なレンダリング型のレンダリング可能なコンテンツが、ステップ２１０の一部としてロードされる。レンダリング可能なコンテンツは、適切なレイアウト、ブランド設定、画像、テキスト、ハイパーリンク・パス、等を保持するデータセットを含むことができる。
【００２４】
一旦、リソースを変換すると、リモートホスト１１０は、レンダリング型をスタイリングすることができるか否かを判定する（ステップ２１２）。例えば、一部の画像、ウェブ・コンテンツ、及び文書、例えばポータブル・ドキュメント・フォーマット（「ｐｄｆ」：portable document format）文書は、スタイリングすることができないことがある。これに加えて、リモートホスト１１０は、この時点で、リソース・スタイル・パラメータが、リモート・コンテンツ・メソッド呼出し中に指定されているか否かを判定する。一部の実施形態では、スタイルが指定されていない場合に、リモートホスト１１０は、リソース・スタイルを適用するステップ２１４をスキップする。他の実施形態では、スタイルが指定されていない場合でも、リモートホスト１１０はステップ２１４に進む。その代わりに、リモートホスト１１０は、スタイルが指定されていない際に、リソース識別子に基づいて、ステップ２１４を実行すべきか否かを判定することができる。
【００２５】
次に、リモートホスト１１０は、適切である場合に、このスタイリングを適用する。リソース・スタイル・パラメータは、レンダリング可能なコンテンツに適用すべきスタイルの種類を示す。一部の実施形態では、カスケーディング・スタイル・シート（「ＣＳＳ：cascading style sheet」）、またはスタイルを指定する他のフォーマットを用いて、リソース・スタイルを指定することができる。その代わりに、リソース・スタイルは、リモートホスト１１０上に記憶された所定スタイルへの参照とすることができ、この所定スタイルは、ＣＳＳまたは他のフォーマットで記憶することができる。一部の実施形態では、ヌル、空白、デフォルト値、等が、リモートホスト１１０に、自分自身のスタイルを適用することを指示することができる。他の実施形態では、リソース要求がリソース・スタイルを含まないことができる。何も指定されていない場合、リモートホスト１１０が自分自身のスタイルを適用することができる。
【００２６】
次に、リモートホスト１１０が、追加のリソースが要求されているか否かを判定する（ステップ２１６）。他のリソースを必要としなければ、リモートホスト１１０は、次のリソースのためにステップ２０４に戻る。さもなければ、リモートホスト１１０は、要求に応答して、スタイリングしたレンダリング可能なコンテンツを返して処理を進める（ステップ２１８）。他の実施形態では、すべてのリソースについて、次のステップに進む前に各ステップを実行することによって、あるいは、要求されたリソース毎に別個のスレッドを生成し、これらのスレッドを並列的に実行することによって、ステップ２０４〜２１４を並列的に実行することができる。
【００２７】
要求された各リソースを処理すると、リモートホスト１１０は、ローカルホストに送信される応答において、スタイリングされたレンダリング可能なコンテンツを返す（ステップ２１８）。一部の実施形態では、この応答が、スタイリングされたレンダリング可能なコンテンツを、要求されたリソース毎に切り分けた形で含むことができる。他の実施形態では、各リソースの処理を完了し次第、当該リソースを別個の応答の形で返して、ウェブページのロードを加速する。一旦、ローカルサイト１２０またはユーザ１４２が応答を受信すると、ローカルサイト１２０またはユーザ１４２は、この応答を構文解析して、スタイリングされたレンダリング可能なコンテンツを適切な領域に表示する。
【００２８】
一部の実施形態では、リモートホスト１１０及び／またはローカルホスト１２０がキャッシュ記憶（キャッシング）を行う。単一ユーザ個人に合わせたコンテンツについては、ローカルホスト１２０が、スタイリングされたレンダリング可能なコンテンツを、ユーザのセッションの持続時間だけキャッシュ記憶することができ、所定時間内にユーザ１４２からの要求を受信しなければ、キャッシュ記憶しているコンテンツを消去することができる。個人に合わせていないコンテンツについては、ローカルホスト１２０は、このコンテンツを、所定時間、例えば１日、１週間、１ヵ月、等だけキャッシュ記憶することができる。
【００２９】
リモートホスト１１０は、個人に合わせていないコンテンツを所定時間だけキャッシュ記憶することができ、あるいは、リモートホスト１１０は、リソースを修正した日付をチェックして、キャッシュ記憶しているコンテンツを使用すべきか否かを判定する。一部の実施形態では、リモートホスト１１０が、自分のキャッシュの一部分を消去すること、及び／または、リソースを修正した際にローカルホスト１２０に通知することができる。その代わりに、リモートホスト１１０は、新たなコンテンツ用の空間が必要になった際に、コンテンツをキャッシュから削除することができる。個人に合わせたコンテンツについては、リモートホスト１１０は、適用される属性を個人に合わせずに部分的に処理したリソースをキャッシュ記憶することができる。リモートホスト１１０は、所定時間後に、あるいは空間が必要になった際に、個人に合わせたコンテンツを消去することもできる。キャッシュ記憶されているコンテンツについては、リモートホスト１１０は、要求を受信すると、キャッシュ記憶しているコンテンツを即座に返して、ステップ２０４〜２１４は実行しない。
【００３０】
図３は、コンテンツをロードするためにリソース要求を必要とする複数の領域３１０、３２０、３３０を含むウェブページ３００である。ウェブページ３００は、ローカルサイト３４０からのコンテンツも含む。図３では、返されたコンテンツをロードすべき領域内にリソース要求を示す。１つの領域３１０は、リモートホスト１１０からのヘッダーを必要とすることがある。ローカルホスト１２０は、リソース要求を、「ヘッダー」のリソースＩＤ３１１、「ＨＴＭＬ」のレンダリング型３１２、及び「Loren-Ipsum（ローレン−イプサム）」のリソース・スタイル３１３と共に提出することができる。「ヘッダー」のリソースは、ヘッダー中に出現するテキストを指定する「SiteSlogan（サイトスローガン）」属性３１５及び「SiteSubSlogan（サイトサブスローガン）」属性３１６を含むことができる。他の領域３２０は、メニューを必要とすることがあり、従って、リソースＩＤ３２１は「メニュー（Menu）」である。この要求については、ローカルホスト１２０が自分自身のスタイルを指定したいことがあり、従って、ローカルホスト１２０は、リソース・スタイル３２３を「無（None）」に設定する。「メニュー（Menu）」は、メニュー中の項目数を指定する「ItemCount（項目カウント数）」属性３２５を受け入れることができる。最後に、フッター領域については、ローカルホスト１２０は、「CountEmail（電子メールカウント数）」３３５を属性として伴う「フッター（Footer）」のリソースＩＤ３３１と共に、要求を提出することができる。
【００３１】
図４は、一旦、ローカルホスト１２０が、そのリソース要求に対する応答を受信して構文解析すると生じるウェブページ４００である。ヘッダー４１０は、リモートホスト１１０に渡された「SiteSlogan（サイトスローガン）」属性３１５及び「SiteSubSlogan（サイトサブスローガン）」属性３１６からのテキスト４１５、４１６を含む。これに加えて、リモートホスト１１０は、例えば「ログイン（Log in）」リンク４１７を右上隅に挿入することによって、自分自身の属性をヘッダー４１０に適用している。同様に、フッター４３０は、リモートホスト１１０によって挿入された一組のリンク４３７を有する。ローカルホスト１２０は、自分自身のスタイルをメニュー４２０に適用している。このことは、ユーザが、ローカルホスト１２０上でのウェブページのナビゲーションを可能にするメニュー４２０のようなフィーチャと、リモートホスト１１０上またはいくつかのホスト間でのウェブページのナビゲーションを可能にするフッターリンク４３７のようなフィーチャとを区別することを可能にすることができる。ローカルホスト１２０は、リモートホスト１１０によって適用されたスタイルを上書きしていることがあり、あるいは、スタイルが適用されていないことがある。
【００３２】
図５は、リモートホスト１１０からのコンテンツ５１０、５２０を含む例示的なウェブページ５００のブレイクアウト（出現）を示す。リモート・コンテンツ５１０、５２０は、ローカルホスト１２０によって表示されるヘッダー５１０及びフッター５２０を含む。ローカルホスト１２０は、ヘッダー要求用のオブジェクト５６０及びフッター要求用のオブジェクト５７０で、リモート・コンテンツ・メソッド５５０を呼び出す。リモート・コンテンツ・メソッド５５０は、渡されたオブジェクトからヘッダー５１０及びフッター５２０を生成する。次に、リモート・コンテンツ・メソッド５５０は、ヘッダー５１０及びフッター５２０をローカルホスト１２０に返し、ローカルホスト１２０は、そのコンテンツ５４０を、ヘッダー５１０及びフッター５２０で包む。リモート・ヘッダー及フッターを含む、返されたウェブページ５００は、iFrame（インラインフレーム）を用いるようなリモート・ヘッダー及びフッターをロードする他の方法よりも、視覚的に快適でユーザフレンドリである（使い勝手が良い）。
【００３３】
図６は、リモートホスト１１０からの代わりのコンテンツを含む例示的なウェブページ６００のブレイクアウト（出現）を示す。この例では、ローカルホスト１２０がナビゲーション・リボンをリモートホストからロードする。ここでも、ローカルホスト１２０は、リモート・コンテンツ・メソッド５５０を呼び出すが、今度は、リボン要求用のオブジェクト６６０を渡す。ナビゲーション・リボン６１０は、ユーザが、ＳＳＯスキーム下のように複数のサイト間をナビゲートすることを可能にすることができる。各サイトのユーザは、ナビゲーション・リボン６１０を用いて、他の協力サイトへのナビゲーションを行う。このナビゲーション・リボンは、これらの協力サイト間で一貫性があるので、ユーザは、より容易に、これらのウェブサイトと相互作用して、これらのサイト間を移ることができる。これにより、ユーザが、他の協力サイトへのリンクの場所を見出すために各サイト上を検索し回ることを避けることができる。
【００３４】
本発明の基になる原理を逸脱することなしに、上述した実施形態の細部に多数の変更を加えることができることは、当業者にとって自明である。従って、本発明の範囲は、以下の特許請求の範囲のみによって特定される。
【図１】
2015518612.tif 000003
【図２】
2015518612.tif 000004
【図３】
2015518612.tif 000005
【図４】
2015518612.tif 000006
【図５】
2015518612.tif 000007
【図６】
2015518612.tif 000008
【国際調査報告】
2015518612.tif 000009
2015518612.tif 000010