(57)【特許請求の範囲】
【請求項１】
アクセス要求をクライアントから受信するステップであって、前記アクセス要求はウェブサイト上のアクセスすべきページを示す、ステップと、
前記アクセスすべきページに含まれるコンテンツ・ファイルの初期ユニフォーム・リソース・ロケータ、ＵＲＬ、を取得するステップであって、前記初期ＵＲＬは前記コンテンツ・ファイルの元のパス情報を含む、ステップと、
前記ウェブサイトの現在のバージョンのバージョン・パラメータを取得するステップであって、前記ウェブサイトの各バージョンは前記ウェブサイトの１つのアップグレードに対応し、前記ウェブサイトの各バージョンは一意なバージョン・パラメータに対応する、ステップと、
前記コンテンツ・ファイルの前記初期ＵＲＬおよび前記ウェブサイトの前記現在のバージョンの前記バージョン・パラメータに従って前記コンテンツ・ファイルの現在のＵＲＬを生成するステップであって、前記現在のＵＲＬはパス情報部および検索部を含み、前記パス情報部は前記コンテンツ・ファイルの前記元のパス情報を含み、前記検索部は前記ウェブサイトの前記現在のバージョンの前記バージョン・パラメータを含む、ステップと、
アクセス応答を前記クライアントに返すステップであって、前記アクセス応答は前記コンテンツ・ファイルの前記現在のＵＲＬを運搬する、ステップと、
を含み、
前記ウェブサイトの前記現在のバージョンのバージョン・パラメータを取得するステップは、前記ウェブサイトのバージョン・アップグレード・プロセスを監視し、ウェブサイトのバージョン・アップグレードの完了が判定された後、前記ウェブサイトの前記現在のバージョンのバージョン番号をバージョン・リポジトリから読み出すステップを含む、ウェブサイト・アクセス方法。
【請求項２】
前記ウェブサイトの現在のバージョンのバージョン・パラメータを取得するステップは以下の方式、即ち、
方式１：前記ウェブサイトの前記現在のバージョンのバージョン番号を取得し、前記バージョン番号に従って前記バージョン・パラメータを生成するステップ、
方式２：前記ウェブサイトの前記現在のバージョンのバージョン番号を取得し、前記ウェブサイトの前記現在のバージョンの前記バージョン番号を前記バージョン・パラメータとして使用するステップ、または
方式３：前記ウェブサイトの識別子を運搬するバージョン問合せ要求を管理サーバに送信し、前記ウェブサイトの前記識別子に従って前記管理サーバにより返される前記ウェブサイトの前記現在のバージョンの前記バージョン・パラメータを受信するステップ
の何れか１つを含む、請求項１に記載の方法。
【請求項３】
前記ウェブサイトの前記現在のバージョンのバージョン番号を取得するステップは以下の方式、即ち、
方式１：前記ウェブサイトのバージョン記述ファイルを取得し、前記ウェブサイトの前記現在のバージョンの前記バージョン番号を前記バージョン記述ファイルから読み出すステップ、
方式２：業務員および保守員が管理インタフェースを用いて書き込んだ前記ウェブサイトの前記現在のバージョンの前記バージョン番号を受信するステップ、または
方式３：アップグレード・スクリプト・ファイルを実行し、ウェブサイトのアップグレードが完了した後、前記ウェブサイトの前記現在のバージョンの前記バージョン番号を構成するステップ
の何れか１つを含む、請求項２に記載の方法。
【請求項４】
前記アクセスすべきページに含まれるコンテンツ・ファイルの初期ＵＲＬを取得するステップは前記アクセスすべきページに対応するインデックス・ファイルを読み出すステップを含み、前記インデックス・ファイルは前記コンテンツ・ファイルの前記初期ＵＲＬを含み、
対応して、前記方法はさらに、
前記インデックス・ファイルに含まれる前記コンテンツ・ファイルの前記初期ＵＲＬを前記生成された現在のＵＲＬで置き換え、更新されたインデックス・ファイルを前記アクセス応答に追加するステップを含む、
請求項１乃至３の何れか１項に記載の方法。
【請求項５】
前記アクセス応答は、前記クライアントが前記コンテンツ・ファイルをキャッシュする必要があるかどうか、およびキャッシュ期間を示すために使用されるキャッシュ設定パラメータを含む、請求項１乃至４の何れか１項に記載の方法。
【請求項６】
前記アクセス要求を前記クライアントから受信した後、前記方法はさらに、
前記アクセスすべきページに対応する前記インデックス・ファイルのファイル・タイプを決定し、前記インデックス・ファイルの前記ファイル・タイプに従って、前記インデックス・ファイルが前記コンテンツ・ファイルの前記初期ＵＲＬを含むかどうかを判定するステップ
を含む、請求項４に記載の方法。
【請求項７】
前記アクセス応答のクッキーは前記ウェブサイトの前記現在のバージョンの前記バージョン・パラメータを運搬する、請求項１乃至６の何れか１項に記載の方法。
【請求項８】
第１のアクセス応答をウェブ・サーバからインターセプトするステップであって、前記第１のアクセス応答は前記ウェブ・サーバがアクセス要求をクライアントから受信した後に送信され、前記アクセス要求はウェブサイト上のアクセスすべきページを示し、前記第１のアクセス応答は前記アクセスすべきページに含まれるコンテンツ・ファイルの初期ＵＲＬを運搬し、前記初期ＵＲＬは前記コンテンツ・ファイルの元のパス情報を含む、ステップと、
前記ウェブサイトの現在のバージョンのバージョン・パラメータを取得するステップであって、前記ウェブサイトの各バージョンは前記ウェブサイトの１つのアップグレードに対応し、前記ウェブサイトの各バージョンは一意なバージョン・パラメータに対応する、ステップと、
前記コンテンツ・ファイルの前記初期ＵＲＬおよび前記ウェブサイトの前記現在のバージョンの前記バージョン・パラメータに従って前記コンテンツ・ファイルの現在のＵＲＬを生成するステップであって、前記現在のＵＲＬはパス情報部および検索部を含み、前記パス情報部は前記コンテンツ・ファイルの前記元のパス情報を含み、前記検索部は前記ウェブサイトの前記現在のバージョンの前記バージョン・パラメータを含む、ステップと、
第２のアクセス応答を前記クライアントに返すステップであって、前記第２のアクセス応答は前記コンテンツ・ファイルの前記現在のＵＲＬを運搬する、ステップと、
を含み、
前記ウェブサイトの前記現在のバージョンのバージョン・パラメータを取得するステップは、前記ウェブサイトのバージョン・アップグレード・プロセスを監視し、ウェブサイトのバージョン・アップグレードの完了が判定された後、前記ウェブサイトの前記現在のバージョンのバージョン番号をバージョン・リポジトリから読み出すステップを含む、ウェブサイト・アクセス方法。
【請求項９】
前記ウェブサイトの現在のバージョンのバージョン・パラメータを取得するステップは以下の方式、即ち、
方式１：前記ウェブサイトの前記現在のバージョンのバージョン番号を取得し、前記バージョン番号に従って前記バージョン・パラメータを生成するステップ、
方式２：前記ウェブサイトの前記現在のバージョンのバージョン番号を取得し、前記ウェブサイトの前記現在のバージョンの前記バージョン番号を前記バージョン・パラメータとして使用するステップ、または
方式３：前記ウェブサイトの識別子を運搬するバージョン問合せ要求を管理サーバに送信し、前記ウェブサイトの前記識別子に従って前記管理サーバにより返される前記ウェブサイトの前記現在のバージョンの前記バージョン・パラメータを受信するステップ
の何れか１つを含む、請求項８に記載の方法。
【請求項１０】
前記ウェブサイトの前記現在のバージョンのバージョン番号を取得するステップは以下の方式、即ち、
方式１：前記ウェブサイトのバージョン記述ファイルを取得し、前記ウェブサイトの前記現在のバージョンの前記バージョン番号を前記バージョン記述ファイルから読み出すステップ、
方式２：業務員および保守員が管理インタフェースを用いて書き込んだ前記ウェブサイトの前記現在のバージョンの前記バージョン番号を受信するステップ、または
方式３：アップグレード・スクリプト・ファイルを実行し、ウェブサイトのアップグレードが完了した後、前記ウェブサイトの前記現在のバージョンの前記バージョン番号を構成するステップ
の何れか１つを含む、請求項９に記載の方法。
【請求項１１】
前記コンテンツ・ファイルの前記初期ＵＲＬは前記第１のアクセス応答のインデックス・ファイルに含まれ、
対応して、前記方法はさらに、
前記インデックス・ファイルに含まれる前記コンテンツ・ファイルの前記初期ＵＲＬを前記生成された現在のＵＲＬで置き換え、更新されたインデックス・ファイルを前記第２のアクセス応答に追加するステップ
を含む、請求項８乃至１０の何れか１項に記載の方法。
【請求項１２】
前記第２のアクセス応答は、前記クライアントが前記コンテンツ・ファイルをキャッシュする必要があるかどうか、およびキャッシュ期間を示すために使用されるキャッシュ設定パラメータを含む、請求項８乃至１１の何れか１項に記載の方法。
【請求項１３】
第１のアクセス応答をウェブ・サーバからインターセプトした後、前記方法はさらに、
前記第１のアクセス応答において、前記アクセスすべきページに対応する前記インデックス・ファイルのファイル・タイプを決定し、前記インデックス・ファイルの前記ファイル・タイプに従って、前記インデックス・ファイルが前記コンテンツ・ファイルの前記初期ＵＲＬを含むかどうかを判定するステップを含む、請求項１１に記載の方法。
【請求項１４】
前記第２のアクセス応答のクッキーは前記ウェブサイトの前記現在のバージョンの前記バージョン・パラメータを運搬する、請求項８乃至１３の何れか１項に記載の方法。
【請求項１５】
アクセス要求をウェブ・サーバに送信するステップであって、前記アクセス要求はウェブサイト上のアクセスすべきページを示す、ステップと、
返されたアクセス応答を受信するステップであって、前記アクセス応答は前記アクセス
すべきページに含まれるコンテンツ・ファイルの現在のＵＲＬを運搬し、前記現在のＵＲＬはパス情報部および検索部を含み、前記パス情報部は前記コンテンツ・ファイルの元のパス情報を含み、前記検索部は前記ウェブサイトの現在のバージョンのバージョン・パラメータを含む、ステップと、
ファイル要求メッセージを前記ウェブ・サーバに送信して前記コンテンツ・ファイルを取得するステップであって、前記ファイル要求メッセージは前記コンテンツ・ファイルの前記現在のＵＲＬを運搬する、ステップと、
を含み、
前記ウェブサイトの前記現在のバージョンの前記バージョン・パラメータは、前記ウェブサイトのバージョン・アップグレード・プロセスを監視し、ウェブサイトのバージョン・アップグレードの完了が判定された後、前記ウェブサイトの前記現在のバージョンのバージョン番号をバージョン・リポジトリから読み出すことによって取得される、ウェブサイト・アクセス方法。
【請求項１６】
前記ウェブサイトが以前にアクセスされたとき取得されたコンテンツ・ファイルのファイル名およびバージョン・パラメータを格納するステップをさらに含む、請求項１５に記載の方法。
【請求項１７】
ファイル要求メッセージを前記ウェブ・サーバに送信する前に、前記方法はさらに、
前記コンテンツ・ファイルの前記格納されたファイル名およびバージョン・パラメータを問い合わせて、前記アクセスすべきページに含まれる前記コンテンツ・ファイルがキャッシュされていないと判定するステップ
を含む、請求項１６に記載の方法。
【請求項１８】
前記アクセス応答のクッキーが前記バージョン・パラメータを運搬し、前記現在のＵＲＬは特に第１のＪＳファイルのＵＲＬであり、
対応して、前記方法はさらに、
前記バージョン・パラメータを前記クッキーから取得し、前記第１のＪＳファイルを実行し、ＸｍｌＨｔｔｐＲｅｑｕｅｓｔオブジェクトを生成するステップであって、前記ＸｍｌＨｔｔｐＲｅｑｕｅｓｔオブジェクト内の宛先ＵＲＬは第２のＪＳファイルの元のアドレス情報および前記バージョン・パラメータを含み、前記ＸｍｌＨｔｔｐＲｅｑｕｅｓｔオブジェクトは前記第２のＪＳファイルを前記ウェブ・サーバから取得するために使用され、前記第２のＪＳファイルは前記第１のＪＳファイルによって参照される、ステップ
を含む、請求項１５乃至１７の何れか１項に記載の方法。
【請求項１９】
ウェブ・サーバであって、
アクセス要求をクライアントから受信するように構成されたサーバ受信モジュールであって、前記アクセス要求はウェブサイト上のアクセスすべきページを示す、サーバ受信モジュールと、
前記アクセスすべきページに含まれるコンテンツ・ファイルの初期ユニフォーム・リソース・ロケータＵＲＬおよび前記ウェブサイトの現在のバージョンのバージョン・パラメータを取得するように構成されたサーバ取得モジュールであって、前記初期ＵＲＬは前記コンテンツ・ファイルの元のパス情報を含み、前記ウェブサイトの各バージョンは前記ウェブサイトの１つのアップグレードに対応し、前記ウェブサイトの各バージョンは一意なバージョン・パラメータに対応する、サーバ取得モジュールと、
前記コンテンツ・ファイルの前記初期ＵＲＬおよび前記ウェブサイトの前記現在のバージョンの前記バージョン・パラメータに従って前記コンテンツ・ファイルの現在のＵＲＬを生成するように構成されたサーバ生成モジュールであって、前記現在のＵＲＬはパス情報部および検索部を含み、前記パス情報部は前記コンテンツ・ファイルの前記元のパス情報を含み、前記検索部は前記ウェブサイトの前記現在のバージョンの前記バージョン・パラメータを含む、サーバ生成モジュールと、
アクセス応答を前記クライアントに返すように構成されたサーバ送信モジュールであって、前記アクセス応答は前記コンテンツ・ファイルの前記現在のＵＲＬを運搬する、サーバ送信モジュールと、
を備え、
前記サーバ取得モジュールは特に、前記ウェブサイトのバージョン・アップグレード・プロセスを監視し、ウェブサイトのバージョン・アップグレードの完了が判定された後、前記ウェブサイトの前記現在のバージョンのバージョン番号をバージョン・リポジトリから読み出すことによって、前記ウェブサイトの前記現在のバージョンのバージョン・パラメータを取得するように構成される、ウェブ・サーバ。
【請求項２０】
前記サーバ取得モジュールは特に、以下の方式、即ち、
方式１：前記ウェブサイトの前記現在のバージョンのバージョン番号を取得し、前記バージョン番号に従って前記バージョン・パラメータを生成するステップ、
方式２：前記ウェブサイトの前記現在のバージョンのバージョン番号を取得し、前記ウェブサイトの前記現在のバージョンの前記バージョン番号を前記バージョン・パラメータとして使用するステップ、または
方式３：前記ウェブサイトの識別子を運搬するバージョン問合せ要求を管理サーバに送信し、前記ウェブサイトの前記識別子に従って前記管理サーバにより返される前記ウェブサイトの前記現在のバージョンの前記バージョン・パラメータを受信するステップ
の何れか１つで前記ウェブサイトの前記現在のバージョンの前記バージョン・パラメータを取得するように構成される、請求項１９に記載のウェブ・サーバ。
【請求項２１】
前記サーバ取得モジュールは特に、以下の方式、即ち、
方式１：前記ウェブサイトのバージョン記述ファイルを取得し、前記ウェブサイトの前記現在のバージョンの前記バージョン番号を前記バージョン記述ファイルから読み出すステップ、
方式２：業務員および保守員が管理インタフェースを用いて書き込んだ前記ウェブサイトの前記現在のバージョンの前記バージョン番号を受信するステップ、または
方式３：アップグレード・スクリプト・ファイルを実行し、ウェブサイトのアップグレードが完了した後、前記ウェブサイトの前記現在のバージョンの前記バージョン番号を構成するステップ
の何れか１つで前記ウェブサイトの前記現在のバージョンの前記バージョン・パラメータを取得するように構成される、請求項２０に記載のウェブ・サーバ。
【請求項２２】
前記サーバ取得モジュールは特に、前記アクセスすべきページに対応するインデックス・ファイルに含まれる前記コンテンツ・ファイルの初期ＵＲＬを読み出すように構成され、
対応して、前記サーバ生成モジュールはさらに、前記インデックス・ファイルに含まれる前記コンテンツ・ファイルの前記初期ＵＲＬを前記生成された現在のＵＲＬで置き換え、更新されたインデックス・ファイルを前記アクセス応答に追加するように構成される、
請求項１９乃至２１の何れか１項に記載のウェブ・サーバ。
【請求項２３】
第１のアクセス応答をウェブ・サーバからインターセプトするように構成されたインターセプト・モジュールであって、前記第１のアクセス応答は前記ウェブ・サーバがアクセス要求をクライアントから受信した後に送信され、前記アクセス要求はウェブサイト上のアクセスすべきページを示し、前記第１のアクセス応答は前記アクセスすべきページに含まれるコンテンツ・ファイルの初期ＵＲＬを運搬し、前記初期ＵＲＬは前記コンテンツ・ファイルの元のパス情報を含む、インターセプト・モジュールと、
前記ウェブサイトの現在のバージョンのバージョン・パラメータを取得するように構成されたプロキシ取得モジュールであって、前記ウェブサイトの各バージョンは前記ウェブサイトの１つのアップグレードに対応し、前記ウェブサイトの各バージョンは一意なバージョン・パラメータに対応する、プロキシ取得モジュールと、
前記コンテンツ・ファイルの前記初期ＵＲＬおよび前記ウェブサイトの前記現在のバージョンの前記バージョン・パラメータに従って前記コンテンツ・ファイルの現在のＵＲＬを生成するように構成されたプロキシ生成モジュールであって、前記現在のＵＲＬはパス情報部および検索部を含み、前記パス情報部は前記コンテンツ・ファイルの前記元のパス
情報を含み、前記検索部は前記ウェブサイトの前記現在のバージョンの前記バージョン・パラメータを含む、プロキシ生成モジュールと、
第２のアクセス応答を前記クライアントに返すように構成されたプロキシ送信モジュールであって、前記第２のアクセス応答は前記コンテンツ・ファイルの前記現在のＵＲＬを運搬する、プロキシ送信モジュールと、
を備え、
前記プロキシ取得モジュールは特に、前記ウェブサイトのバージョン・アップグレード・プロセスを監視し、ウェブサイトのバージョン・アップグレードの完了が判定された後、前記ウェブサイトの前記現在のバージョンのバージョン番号をバージョン・リポジトリから読み出すことによって、前記ウェブサイトの前記現在のバージョンの前記バージョン・パラメータを取得するように構成される、プロキシ・サーバ。
【請求項２４】
前記プロキシ取得モジュールは特に、以下の方式、即ち、
方式１：前記ウェブサイトの前記現在のバージョンのバージョン番号を取得し、前記バージョン番号に従って前記バージョン・パラメータを生成するステップ、
方式２：前記ウェブサイトの前記現在のバージョンのバージョン番号を取得し、前記ウェブサイトの前記現在のバージョンの前記バージョン番号を前記バージョン・パラメータとして使用するステップ、または
方式３：前記ウェブサイトの識別子を運搬するバージョン問合せ要求を管理サーバに送信し、前記ウェブサイトの前記識別子に従って前記管理サーバにより返される前記ウェブサイトの前記現在のバージョンの前記バージョン・パラメータを受信するステップ
の何れか１つで前記ウェブサイトの前記現在のバージョンの前記バージョン・パラメータを取得するように構成される、請求項２３に記載のプロキシ・サーバ。
【請求項２５】
前記プロキシ取得モジュールは特に、以下の方式、即ち、
方式１：前記ウェブサイトのバージョン記述ファイルを取得し、前記ウェブサイトの前記現在のバージョンの前記バージョン番号を前記バージョン記述ファイルから読み出すステップ、
方式２：業務員および保守員が管理インタフェースを用いて書き込んだ前記ウェブサイトの前記現在のバージョンの前記バージョン番号を受信するステップ、または
方式３：アップグレード・スクリプト・ファイルを実行し、ウェブサイトのアップグレードが完了した後、前記ウェブサイトの前記現在のバージョンの前記バージョン番号を構成するステップ、
の何れか１つで前記ウェブサイトの前記現在のバージョンの前記バージョン・パラメータを取得するように構成される、請求項２４に記載のプロキシ・サーバ。
【請求項２６】
前記コンテンツ・ファイルの前記初期ＵＲＬは前記第１のアクセス応答のインデックス・ファイルに含まれ、
対応して、前記プロキシ生成モジュールはさらに、前記インデックス・ファイルに含まれる前記コンテンツ・ファイルの前記初期ＵＲＬを前記生成された現在のＵＲＬで置き換え、更新されたインデックス・ファイルを前記第２のアクセス応答に追加するように構成される、請求項２３乃至２５の何れか１項に記載のプロキシ・サーバ。
【請求項２７】
クライアントであって、
アクセス要求をウェブ・サーバに送信するように構成されたクライアント送信モジュールであって、前記アクセス要求はウェブサイト上のアクセスすべきページを示す、クライアント送信モジュールと、
返されたアクセス応答を受信するように構成されたクライアント受信モジュールであって、前記アクセス応答は前記アクセスすべきページに含まれるコンテンツ・ファイルの現在のＵＲＬを運搬し、前記現在のＵＲＬはパス情報部および検索部を含み、前記パス情報部は前記コンテンツ・ファイルの元のパス情報を含み、前記検索部は前記ウェブサイトの現在のバージョンのバージョン・パラメータを含む、クライアント受信モジュールと、
を備え、
前記クライアント送信モジュールはさらに、ファイル要求メッセージを前記ウェブ・サーバに送信して、前記コンテンツ・ファイルを取得するように構成され、前記ファイル要求メッセージは前記コンテンツ・ファイルの前記現在のＵＲＬを運搬し、
前記ウェブサイトの前記現在のバージョンの前記バージョン・パラメータは、前記ウェブサイトのバージョン・アップグレード・プロセスを監視し、ウェブサイトのバージョン・アップグレードの完了が判定された後、前記ウェブサイトの前記現在のバージョンのバージョン番号をバージョン・リポジトリから読み出すことによって取得される、
クライアント。
【請求項２８】
前記ウェブサイトが以前にアクセスされたとき取得された前記コンテンツ・ファイルのファイル名およびバージョン・パラメータを格納するように構成された記憶ユニットをさらに備える、請求項２７に記載のクライアント。
【請求項２９】
前記記憶ユニットから、前記コンテンツ・ファイルの前記格納されたファイル名およびバージョン・パラメータを問い合わせて、前記アクセスすべきページに含まれる前記コンテンツ・ファイルがキャッシュされているかどうかを判定し、そうでない場合、前記クライアント送信モジュールが前記ファイル要求メッセージを前記ウェブ・サーバに送信するように構成された処理ユニットをさらに備える、請求項２８に記載のクライアント。
【請求項３０】
前記アクセス応答のクッキーが前記バージョン・パラメータを運搬し、前記現在のＵＲＬは特に第１のＪＳファイルのＵＲＬであり、
前記クライアントはさらに、
前記バージョン・パラメータを前記クッキーから取得し、前記第１のＪＳファイルを実行し、ＸｍｌＨｔｔｐＲｅｑｕｅｓｔオブジェクトを生成するように構成されたＡＪＡＸエンジンであって、前記ＸｍｌＨｔｔｐＲｅｑｕｅｓｔオブジェクト内の宛先ＵＲＬは第２のＪＳファイルの元のアドレス情報および前記バージョン・パラメータを含み、前記ＸｍｌＨｔｔｐＲｅｑｕｅｓｔオブジェクトは前記第２のＪＳファイルを前記ウェブ・サーバから取得するために使用され、前記第２のＪＳファイルは前記第１のＪＳファイルによって参照される、ＡＪＡＸエンジン
を備える、請求項２７乃至２９の何れか１項に記載のクライアント。
【請求項３１】
ウェブ・サーバおよびプロキシ・サーバを備えたウェブサイト・システムであって、
前記ウェブ・サーバは、アクセス要求をクライアントから受信し、第１のアクセス応答を前記クライアントに返すように構成され、前記アクセス要求はウェブサイト上のアクセスすべきページを示し、前記第１のアクセス応答は前記アクセスすべきページに含まれるコンテンツ・ファイルの初期ＵＲＬを運搬し、前記初期ＵＲＬは前記コンテンツ・ファイルの元のパス情報を含み、
前記プロキシ・サーバは、前記第１のアクセス応答をインターセプトし、前記ウェブサイトの現在のバージョンのバージョン・パラメータを取得するように構成され、前記ウェブサイトの各バージョンは前記ウェブサイトの１つのアップグレードに対応し、前記ウェブサイトの各バージョンは一意なバージョン・パラメータに対応し、
前記プロキシ・サーバはさらに、前記コンテンツ・ファイルの前記初期ＵＲＬおよび前記ウェブサイトの前記現在のバージョンの前記バージョン・パラメータに従って前記コンテンツ・ファイルの現在のＵＲＬを生成し、第２のアクセス応答を前記クライアントに返すように構成され、前記第２のアクセス応答は前記コンテンツ・ファイルの前記現在のＵＲＬを運搬し、前記現在のＵＲＬはパス情報部および検索部を含み、前記パス情報部は前記コンテンツ・ファイルの前記元のパス情報を含み、前記検索部は前記ウェブサイトの前記現在のバージョンの前記バージョン・パラメータを含み、
前記ウェブサイトの前記現在のバージョンの前記バージョン・パラメータは、前記ウェブサイトのバージョン・アップグレード・プロセスを監視し、ウェブサイトのバージョン・アップグレードの完了が判定された後、前記ウェブサイトの前記現在のバージョンのバージョン番号をバージョン・リポジトリから読み出すことによって取得される、
ウェブサイト・システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はＩＴ技術の分野に関し、特に、ウェブサイト・アクセス方法、装置、およびウェブサイト・システムに関する。
【背景技術】
【０００２】
１９８９年を起源とするワールド・ワイド・ウェブ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ、ＷＷＷ）はブラウザ−サーバ構造を利用している。Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂを用いることにより、ユーザは、ウェブ・ブラウザを用いることによって、ウェブ・サーバで提供されるリッチな情報リソースにアクセスすることができる。一般に、ウェブ・サーバ上のファイルはウェブ・サーバ上のファイル・システムに格納される。ウェブ・サーバは、ユニフォーム・リソース・ロケータ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ、ＵＲＬ）がファイル名に対応する組織構造を用いることによって、当該ウェブ・ブラウザから受信されたＵＲＬをローカル・ファイル・システム内のファイルにマップする。例えば、サーバ・ソフトウェアがウェブサイト「ｅｘａｍｐｌｅ．ｆｕｎｎｙｃｏｒｐ．ｃｏｍ」に対するウェブ・サーバ上で設定され、ウェブ・サーバ・ソフトウェアのルート・ディレクトリが「／ｈｏｍｅ／ｐｕｂｌｉｃ／ｗｅｂ／」に設定される。ユーザがＵＲＬ  ｈｔｔｐ：／／ｅｘａｍｐｌｅ．ｆｕｎｎｙｃｏｒｐ．ｃｏｍ／ｌｉｐｓ／ｒａｓｐｂｅｒｒｙ．ｈｔｍｌをウェブ・ブラウザで入力した後、当該ウェブ・ブラウザはハイパーテキスト転送プロトコル（ＨｙｐｅｒＴｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ、ＨＴＴＰ）要求をウェブ・サーバに送信し、「ｅｘａｍｐｌｅ．ｆｕｎｎｙｃｏｒｐ．ｃｏｍ」にあるウェブ・サーバが当該ＨＴＴＰ要求を受信し、ファイル「／ｈｏｍｅ／ｐｕｂｌｉｃ／ｗｅｂ／ｌｉｐｓ／ｒａｓｐｂｅｒｒｙ．ｈｔｍｌ」を読み出す。当該ファイルは当該ウェブ・ブラウザに返されるＨＴＴＰ応答で運搬される。ＨＴＴＰ応答は一般に、ハイパーテキスト・マークアップ言語（ＨｙｐｅｒＴｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ、ＨＴＭＬ）ファイルを含み、テキスト・ファイル、画像、または別のタイプのファイルを含んでもよい。静的リソース・ファイルをダウンロードした後、当該ウェブ・ブラウザはダウンロードした静的リソース・ファイルをローカルの一時フォルダにキャッシュする。ブラウザが当該ウェブサイトに再度アクセスする必要があるとき、ブラウザは、当該ウェブサイトに対応するウェブ・サーバから、既にキャッシュされている静的リソース・ファイルを再度ダウンロードするのではなく、当該静的リソース・ファイルをキャッシュから直接読み出し、それによりウェブサイト・アクセスを高速化する。しかし、ウェブ・サーバ上のファイルを当該ウェブサイトの更新情報で更新してもよく、したがって、ウェブサイト・アクセス中に最新のファイルをブラウザにより取得できることを保証するための機構が必要である。
【０００３】
ウェブ・ページの動的な更新を保証するために、ファイル・コンテンツのハッシュに基づくファイル更新機構が先行技術で提供されている。特に、ウェブ・サーバに格納されたファイルに対応するＵＲＬは絶対パスである。例えば、ファイルｌｏｇｏ．ｇｉｆに対する絶対パスのフォーマットは「／ｄｉｒｅｃｔｏｒｙ／ｓｕｂｄｉｒｅｃｔｏｒｙ／・・・／ｌｏｇｏ．ｇｉｆ」である。当該ウェブサイトがアップグレードされると、ファイルｌｏｇｏ．ｇｉｆが更新される場合、ファイル名はｌｏｇｏ＿ｈａｓｈｃｏｄｅ．ｇｉｆに変更される。ハッシュコードは、ファイルｌｏｇｏ．ｇｉｆのコンテンツに基づいて計算されたハッシュ値である。ファイル・コンテンツが変化するたびに、ハッシュコードが再計算される。したがって、当該絶対パスは「／ｄｉｒｅｃｔｏｒｙ／ｓｕｂｄｉｒｅｃｔｏｒｙ／・・・／ｌｏｇｏ＿ｈａｓｈｃｏｄｅ．ｇｉｆ」に変更され、ユーザのブラウザは最新のファイルｌｏｇｏ．ｇｉｆを当該絶対パスに従って取得することができる。このように、ウェブ・ページの動的な更新が実装される。
【０００４】
しかし、ウェブ・サーバ上のファイルは相互に参照されている。別のファイルがｌｏｇｏ．ｇｉｆを参照しているとき、ｌｏｇｏ．ｇｉｆのファイル名の変更は、ｌｏｇｏ．ｇｉｆを参照しているファイルのファイル・コンテンツの変更をもたらし、結果として、ｌｏｇｏ．ｇｉｆを参照しているファイルのハッシュコードを、変更されたファイル・コンテンツに従って再計算する必要がある。例えば、ファイルａ．ｊｓがｌｏｇｏ．ｇｉｆを参照する。ｌｏｇｏ．ｇｉｆが変化したとき、そのファイル名はｌｏｇｏ＿ｈａｓｈｃｏｄｅ．ｇｉｆに変化する。この場合、ファイルａ．ｊｓのファイル・コンテンツはそれに従って変化し、そのファイル名はａ＿ｈａｓｈｃｏｄｅ．ｊｓに変化する。したがって、先行技術では、ウェブ・サーバ上の或るファイルが更新されたとき、当該ファイルに依存する全てのファイルがそれに従って更新され、大量のファイルが更新されることとなり、ウェブサイトのアップグレードのリスクが増大する。
【発明の概要】
【課題を解決するための手段】
【０００５】
本明細書では、ウェブサイトのアップグレードのリスクを減らしウェブサイトのアップグレードの効率を高めるための、ウェブサイト・アクセス方法、装置、およびウェブサイト・システムを説明する。
【０００６】
１態様によれば、本願の１実施形態では、アクセス要求をクライアントから受信するステップであって、当該アクセス要求はウェブサイト上のアクセスすべきページを示す、ステップと、当該アクセスすべきページに含まれるコンテンツ・ファイルの初期ユニフォーム・リソース・ロケータＵＲＬを取得するステップであって、当該初期ＵＲＬは当該コンテンツ・ファイルの元のパス情報を含む、ステップと、当該ウェブサイトの現在のバージョンのバージョン・パラメータを取得するステップであって、当該ウェブサイトの各バージョンは当該ウェブサイトの１つのアップグレードに対応し、当該ウェブサイトの各バージョンは一意なバージョン・パラメータに対応する、ステップと、当該コンテンツ・ファイルの初期ＵＲＬおよび当該ウェブサイトの現在のバージョンのバージョン・パラメータに従って当該コンテンツ・ファイルの現在のＵＲＬを生成するステップであって、当該現在のＵＲＬはパス情報部および検索部を含み、当該パス情報部は当該コンテンツ・ファイルの元のパス情報を含み、当該検索部は当該ウェブサイトの現在のバージョンのバージョン・パラメータを含む、ステップと、アクセス応答をクライアントに返すステップであって、当該アクセス応答は当該コンテンツ・ファイルの現在のＵＲＬを運搬する、ステップとを含むウェブサイト・アクセス方法を提供する。
【０００７】
上述の方式によれば、クライアントがウェブサイトのページにアクセスすると、ウェブ・サーバは、当該アクセスすべきページに含まれるコンテンツ・ファイルの初期ＵＲＬおよび当該ウェブサイトの現在のバージョンのバージョン・パラメータを取得し、当該コンテンツ・ファイルの現在のＵＲＬを生成し、当該バージョン・パラメータを当該コンテンツ・ファイルの現在のＵＲＬの検索部に追加し、その結果、クライアントは当該コンテンツ・ファイルをウェブ・サーバから現在のＵＲＬに従って取得することができる。したがって、本発明の当該実施形態によれば、ウェブ・サーバがアクセス要求をクライアントから受信するとき、バージョン・パラメータが現在のＵＲＬの検索部に追加され、コンテンツ・ファイルのクライアントに返される。したがって、ウェブサイトのバージョンのアップグレード中に、当該コンテンツ・ファイルが更新され、開発者は当該コンテンツ・ファイルへのパスを更新する必要はなく、当該コンテンツ・ファイルのＵＲＬを手動で変更する必要はなく、当該コンテンツ・ファイルの名前を更新する必要もない。これが、ウェブサイトのアップグレード効率を高める。特に、一方で、当該コンテンツ・ファイルのファイル名を当該ウェブサイトのアップグレード・プロセスにおいて変更する必要はなく、したがって、当該コンテンツ・ファイルを参照する別のファイルは影響を受けず、当該コンテンツ・ファイルを参照する別のファイルのファイル名も変更する必要もなく、当該ウェブサイトの大量のファイルの完全なアップグレードが回避され、アップグレードのリスクが低下する。他方、ウェブサイトの上述のアップグレード・プロセスにおいて、コンテンツ・ファイルへのパスを変更する必要はなく、したがって、当該コンテンツ・ファイルへのパスを開発者により書き換える必要はなく、開発コストが低下する。
【０００８】
可能な設計では、ウェブサイト・システムはさらに管理サーバを含む。ウェブ・サーバにより送信されたバージョン問合せ要求を受信すると、管理サーバは、バージョン・パラメータを、当該バージョン問合せ要求で運搬されるウェブサイトの識別子に従って問い合わせ、当該バージョン・パラメータをウェブ・サーバに返す。管理サーバが当該ウェブサイトの識別子を記録する。当該識別子が当該ウェブサイトの鍵ＩＤであってもよい。管理サーバはさらに当該ウェブサイトの現在のバージョン番号および当該バージョン番号に従って生成されたバージョン・パラメータを記録する。
【０００９】
可能な設計では、管理サーバの機能を、ウェブ・サーバ上の管理モジュールの形式で実装してもよい。この場合、ウェブ・サーバは、当該ウェブサイトの現在のバージョンのバージョン番号を取得し、当該バージョン・パラメータを当該バージョン番号に従って生成する。
【００１０】
可能な設計では、ウェブ・サーバは当該ウェブサイトの現在のバージョンのバージョン番号を当該バージョン・パラメータとして使用する。
【００１１】
可能な設計では、管理サーバが、ウェブサイトのバージョン番号を以下の方式、即ち、方式１：当該ウェブサイトのバージョンがアップグレードされたとき、ウェブ・サーバが、バージョン記述ファイルにアップグレードした後、当該ウェブサイトのバージョン番号を書き込んでもよく、管理サーバが当該ウェブサイトの最新のバージョン番号を当該バージョン記述ファイルから抽出すること、方式２：当該ウェブサイトが業務員および保守員によりアップグレードされ、当該アップグレードの完了後、当該ウェブサイトの最新のバージョン番号が管理サーバのインタフェースを用いることによって管理サーバに書き込まれること、方式３：当該ウェブサイトを、アップグレード・スクリプト・ファイルを用いることによってアップグレードしてもよく、当該ウェブサイト・システムはさらにアップグレード管理モジュールを含み、当該アップグレード管理モジュールが当該アップグレード・スクリプト・ファイルを実行し、当該ウェブサイトのアップグレードが完了し当該ウェブサイトのコンテンツ・ファイルが更新された後、管理サーバ・インタフェースが呼び出され、当該ウェブサイトのバージョン番号が管理サーバ上で構成されるか、または、方式４：当該ウェブサイト・システムの構成管理ツールがウェブ・サーバを監視してもよく、当該ウェブサイトのバージョンが更新されたと検出したとき、当該ウェブサイトの更新されたバージョン番号をバージョン・リポジトリから読み出し、管理サーバのインタフェースを呼び出し、当該ウェブサイトの更新されたバージョン番号を管理サーバ上で構成すること、の何れか１つで構成してもよい。本願では上述の４つの方式を提供して、管理サーバが当該ウェブサイトの最新のバージョン番号をタイムリーにで取得できるようにし、それにより最新のバージョン番号に対応するバージョン・パラメータを生成する。
【００１２】
可能な設計では、管理サーバの機能がウェブ・サーバ上の管理モジュールの形式で実装される。この場合、ウェブ・サーバが、当該ウェブサイトのバージョン番号を取得して、上述の方式と同様な方法、即ち、方式１：当該ウェブサイトのバージョン記述ファイルを取得し、当該ウェブサイトの現在のバージョンのバージョン番号を当該バージョン記述ファイルから読み出すステップと、方式２：業務員および保守員が管理インタフェースを用いて書き込んだ当該ウェブサイトの現在のバージョンのバージョン番号を受信するステップと、方式３：アップグレード・スクリプト・ファイルを実行し、ウェブサイトのアップグレードが完了した後、当該ウェブサイトの現在のバージョンのバージョン番号を構成するステップと、または方式４：当該ウェブサイトのバージョン・アップグレード・プロセスを監視し、ウェブサイトのバージョン・アップグレードの完了が判定された後、当該ウェブサイトの現在のバージョンのバージョン番号をバージョン・リポジトリから読み出すステップを用いることにより、当該ウェブサイトの現在のバージョンのバージョン・パラメータを生成してもよい。
【００１３】
可能な設計では、コンテンツ・ファイルの初期ＵＲＬがインデックス・ファイルで運搬され、ウェブ・サーバが、当該インデックス・ファイルに含まれる当該コンテンツ・ファイルの初期ＵＲＬを生成された現在のＵＲＬで置き換え、更新されたインデックス・ファイルをアクセス応答に追加する。
【００１４】
可能な設計では、クライアント側が、クライアントが以前にウェブサイトにアクセスしたときに格納されたコンテンツ・ファイルのファイル名およびバージョン・パラメータをキャッシュする。キャッシュするための位置が、クライアントに接続可能なクライアントまたは別の記憶装置であってもよい。クライアントは、当該コンテンツ・ファイルのキャッシュされたファイル名およびバージョン・パラメータを問い合わせて、当該アクセスすべきページに含まれる当該コンテンツ・ファイルがキャッシュされているかどうかを判定する。そうである場合、当該キャッシュされたコンテンツ・ファイルが直接読み出され、そうでない場合、ファイル要求メッセージは、当該コンテンツ・ファイルをウェブ・サーバから取得するために、ウェブ・サーバに送信される。キャッシュ設定により、ブラウザ・クライアントが当該ウェブサイトに再度アクセスすると、既にキャッシュに格納されている場合、当該アクセスすべきページに含まれる当該コンテンツ・ファイルをウェブ・サーバから再び取得する必要はない。これは、ウェブサイト・アクセス効率を高める。
【００１５】
可能な設計では、ウェブ・サーバがブラウザ・クライアント側のコンテンツ・ファイルのキャッシュ属性を制御してもよく、特に、ウェブ・サーバが、ブラウザ・クライアント側が当該コンテンツ・ファイルをキャッシュする必要があるかどうか、およびキャッシュ期間を示すために使用されるキャッシュ設定パラメータをアクセス応答に追加する。
【００１６】
可能な設計では、ウェブ・サーバは、当該アクセス応答で運搬されるインデックス・ファイルのファイル・タイプを決定し、当該インデックス・ファイルのファイル・タイプに従って、当該インデックス・ファイルがコンテンツ・ファイルの初期ＵＲＬを含むかどうかを判定する。特に、当該ファイルがｃｓｓファイルまたはｈｔｍｌファイルであるとき、当該インデックス・ファイルは当該コンテンツ・ファイルの初期ＵＲＬを含む。
【００１７】
可能な設計では、ブラウザ・クライアントがＡＪＡＸ技術をサポートしてもよく、当該コンテンツ・ファイルをウェブ・サーバから非同期データ転送方式で取得してもよい。この場合、当該アクセス応答のクッキーは当該ウェブサイトの現在のバージョンのバージョン・パラメータを運搬する。クライアントは、当該バージョン・パラメータを当該クッキーから優先的に読み出し、当該バージョン・パラメータを当該コンテンツ・ファイルのクライアント上で生成された要求アドレスに追加し、当該コンテンツ・ファイルをウェブ・サーバから取得する。
【００１８】
別の態様によれば、本発明の１実施形態では別のウェブサイト・アクセス方法を提供する。当該方法は、ウェブ・サーバにより返されたアクセス応答をインターセプトして当該アクセス応答で運搬されるコンテンツ・ファイルのＵＲＬを更新することによって、プロキシ・サーバにより実行される。特に、当該方法は、第１のアクセス応答をウェブ・サーバからインターセプトするステップであって、当該第１のアクセス応答はウェブ・サーバがアクセス要求をクライアントから受信した後に送信され、当該アクセス要求はウェブサイト上のアクセスすべきページを示し、当該第１のアクセス応答は当該アクセスすべきページに含まれるコンテンツ・ファイルの初期ＵＲＬを運搬し、当該初期ＵＲＬは当該コンテンツ・ファイルの元のパス情報を含む、ステップと、当該ウェブサイトの現在のバージョンのバージョン・パラメータを取得するステップであって、当該ウェブサイトの各バージョンは当該ウェブサイトの１つのアップグレードに対応し、当該ウェブサイトの各バージョンは一意なバージョン・パラメータに対応する、ステップと、当該コンテンツ・ファイルの初期ＵＲＬおよび当該ウェブサイトの現在のバージョンのバージョン・パラメータに従って当該コンテンツ・ファイルの現在のＵＲＬを生成するステップであって、現在のＵＲＬはパス情報部および検索部を含み、当該パス情報部は当該コンテンツ・ファイルの元のパス情報を含み、当該検索部は当該ウェブサイトの現在のバージョンのバージョン・パラメータを含む、ステップと、第２のアクセス応答をクライアントに返すステップであって、当該第２のアクセス応答は当該コンテンツ・ファイルの現在のＵＲＬを運搬する、ステップとを含む。
【００１９】
本発明の当該実施形態で提供する上述のウェブサイト・アクセス方法によれば、プロキシ・サーバが、ウェブ・サーバにより返されたアクセス応答をインターセプトし、当該ウェブサイトの現在のバージョンのバージョン・パラメータを当該アクセス応答に含まれるコンテンツ・ファイルのＵＲＬの検索部に追加し、その結果、クライアントは、当該コンテンツ・ファイルをウェブ・サーバから現在のＵＲＬに従って取得することができる。当該ウェブサイトのバージョンのアップグレード中に、開発者はコンテンツ・ファイルへのパスを変更する必要はなく、当該コンテンツ・ファイルのＵＲＬを手動で変更する必要はなく、当該コンテンツ・ファイルの名前を更新する必要もない。これが、ウェブサイトのアップグレード効率を高める。一方で、当該コンテンツ・ファイルのファイル名を当該ウェブサイトのアップグレード・プロセスにおいて変更する必要なく、したがって、当該コンテンツ・ファイルを参照する別のファイルは影響を受けず、当該コンテンツ・ファイルを参照する別のファイルのファイル名も変更する必要もなく、当該ウェブサイトの大量のファイルの完全なアップグレードが回避され、アップグレードのリスクが低下する。他方、当該ウェブサイトの上述のアップグレード・プロセスにおいて、当該コンテンツ・ファイルへのパスを変更する必要はなく、したがって、当該コンテンツ・ファイルへのパスを開発者により書き換える必要はなく、開発コストが低下する。
【００２０】
可能な設計では、ウェブサイト・システムはさらに管理サーバを含む。プロキシ・サーバにより送信されたバージョン問合せ要求を受信すると、管理サーバは、当該バージョン問合せ要求で運搬されるウェブサイトの識別子に従ってバージョン・パラメータを問い合わせ、当該バージョン・パラメータをプロキシ・サーバに返す。管理サーバが当該ウェブサイトの識別子を記録する。当該識別子が当該ウェブサイトの鍵ＩＤであってもよい。管理サーバはさらに、当該ウェブサイトの現在のバージョン番号および当該バージョン番号に従って生成されたバージョン・パラメータを記録する。
【００２１】
可能な設計では、管理サーバの機能をプロキシ・サーバ上の管理モジュールの形式で実装してもよい。この場合、プロキシ・サーバが当該ウェブサイトの現在のバージョンのバージョン番号を取得し、当該バージョン・パラメータを当該バージョン番号に従って生成する。
【００２２】
可能な設計では、プロキシ・サーバが当該ウェブサイトの現在のバージョンのバージョン番号を当該バージョン・パラメータとして使用する。
【００２３】
可能な設計では、プロキシ・サーバは以下の方式、即ち、方式１：当該ウェブサイトのバージョン記述ファイルを取得し、当該ウェブサイトの現在のバージョンのバージョン番号を当該バージョン記述ファイルから読み出すステップと、方式２：業務員および保守員が管理インタフェースを用いて書き込んだ当該ウェブサイトの現在のバージョンのバージョン番号を受信するステップと、方式３：アップグレード・スクリプト・ファイルを実行し、ウェブサイトのアップグレードが完了した後、当該ウェブサイトの現在のバージョンのバージョン番号を構成するステップと、または方式４：当該ウェブサイトのバージョン・アップグレード・プロセスを監視し、ウェブサイトのバージョン・アップグレードの完了が判定された後、当該ウェブサイトの現在のバージョンのバージョン番号をバージョン・リポジトリから読み出すステップの何れか１つで当該ウェブサイトの現在のバージョンのバージョン・パラメータを取得してもよい。
【００２４】
可能な設計では、当該コンテンツ・ファイルの初期ＵＲＬが、ウェブ・サーバにより返された第１のアクセス応答においてインデックス・ファイルで運搬され、プロキシ・サーバが、当該インデックス・ファイルに含まれるコンテンツ・ファイルの初期ＵＲＬを当該生成された現在のＵＲＬで置き換え、更新されたインデックス・ファイルを、クライアントに送信された第２のアクセス応答を追加する。
【００２５】
可能な設計では、当該第２のアクセス応答は、クライアントがコンテンツ・ファイルをキャッシュする必要があるかどうか、およびキャッシュ期間を示すために使用されるキャッシュ設定パラメータを含む。
【００２６】
可能な設計では、プロキシ・サーバがさらに、当該第１のアクセス応答において、当該アクセスすべきページに対応するインデックス・ファイルのファイル・タイプを決定してもよく、当該インデックス・ファイルのファイル・タイプに従って、当該インデックス・ファイルが当該コンテンツ・ファイルの初期ＵＲＬを含むかどうかを判定する。当該インデックス・ファイルがｃｓｓファイルまたはｈｔｍｌファイルであるとき、当該インデックス・ファイルは当該コンテンツ・ファイルの初期ＵＲＬを含む。
【００２７】
可能な設計では、ブラウザ・クライアントがＡＪＡＸ技術をサポートしてもよく、コンテンツ・ファイルをウェブ・サーバから非同期データ転送方式で取得してもよい。この場合、当該第２のアクセス応答のクッキーは当該ウェブサイトの現在のバージョンのバージョン・パラメータを運搬する。
【００２８】
可能な設計では、プロキシ・サーバの機能を既存のＮｇｉｎｘまたはＨＡＰｒｏｘｙに統合してもよい。さらに、プロキシ・サーバを、管理サーバまたはウェブ・サーバとともに１つの物理サーバにデプロイしてもよい。プロキシ・サーバが別のサーバとともにデプロイされるとき、プロキシ・サーバが機能モジュールのうち１つであってもよい。
【００２９】
さらに別の態様によれば、本発明の１実施形態ではさらに、別のウェブサイト・アクセス方法を提供する。当該方法はクライアントにより実行され、アクセス要求をウェブ・サーバに送信するステップであって、当該アクセス要求はウェブサイト上のアクセスすべきページを示す、ステップと、返されたアクセス応答を受信するステップであって、当該アクセス応答は当該アクセスすべきページに含まれるコンテンツ・ファイルの現在のＵＲＬを運搬し、現在のＵＲＬはパス情報部と検索部を含み、当該パス情報部は当該コンテンツ・ファイルの元のパス情報を含み、当該検索部は当該ウェブサイトの現在のバージョンのバージョン・パラメータを含む、ステップと、ファイル要求メッセージをウェブ・サーバに送信して、当該コンテンツ・ファイルを取得するステップであって、当該ファイル要求メッセージは当該コンテンツ・ファイルの現在のＵＲＬを運搬する、ステップを含む。
【００３０】
クライアントがウェブサイトのページにアクセスすると、ウェブ・サーバにより返されたアクセス応答で運搬されるアクセスすべきページのコンテンツ・ファイルの現在のＵＲＬの検索部は当該ウェブサイトのバージョン・パラメータを含み、したがって、クライアントは現在のＵＲＬに従って最新のコンテンツ・ファイルをウェブ・サーバから取得することができる。
【００３１】
可能な設計では、クライアントが、受信されたコンテンツ・ファイルをキャッシュし、特に、ウェブサイトが以前にアクセスされたとき取得された当該コンテンツ・ファイルのファイル名およびバージョン・パラメータを格納する。ウェブサイトにアクセスするとき、クライアントは、受信されたコンテンツ・ファイルの現在のＵＲＬ内のファイル名およびバージョン・パラメータに従って、当該コンテンツ・ファイルがローカルにキャッシュされているかどうかを判定する。キャッシュされている場合、当該コンテンツ・ファイルをウェブ・サーバから取得する必要はない。さらに、クライアントが、バージョン・パラメータを区別することなく、当該受信されたコンテンツ・ファイルの現在のＵＲＬを直接格納してもよい。コンテンツ・ファイルの問合せが必要なときは、取得すべきＵＲＬおよび当該格納されたＵＲＬを直接比較して、当該取得すべきＵＲＬに対応するコンテンツ・ファイルが既にローカルにキャッシュされているかどうかを判定する。
【００３２】
クライアントは、以前のアクセス時に受信されたコンテンツ・ファイルにアクセスして、当該コンテンツ・ファイルのファイル名およびバージョン・パラメータを記録する。ウェブサイトのページにアクセスするとき、当該アクセスすべきページに含まれるコンテンツ・ファイルのＵＲＬを受信した後、クライアントは、当該ＵＲＬに対応するコンテンツ・ファイルが既にローカルにキャッシュされているかどうかを判定する。当該ウェブサイトがアップグレードされた後、当該ウェブサイトの現在のバージョンのバージョン・パラメータが変化する。この場合、クライアントにより受信されたコンテンツ・ファイルのＵＲＬ内のバージョン・パラメータは当該ローカルにキャッシュされたコンテンツ・ファイルのバージョン・パラメータとは異なり、クライアントは、当該ウェブサイトがアップグレードされた後に、当該コンテンツ・ファイルを当該ウェブサイトから再度ダウンロードする必要がある。上述の手続きによれば、当該ウェブサイトがアップグレードされた後の、クライアント側におけるコンテンツ・ファイルのキャッシュ更新の問題が解決される。
【００３３】
可能な設計では、アクセス応答のクッキーがバージョン・パラメータを運搬し、現在のＵＲＬは第１のＪＳファイルのＵＲＬを含む。対応して、当該方法はさらに、クライアントにより、当該バージョン・パラメータを当該クッキーから取得するステップと、第１のＪＳファイルを実行するステップと、ＸｍｌＨｔｔｐＲｅｑｕｅｓｔオブジェクトを生成するステップとを含む。当該ＸｍｌＨｔｔｐＲｅｑｕｅｓｔオブジェクト内の宛先ＵＲＬは第２のＪＳファイルの元のアドレス情報および当該バージョン・パラメータを含み、当該ＸｍｌＨｔｔｐＲｅｑｕｅｓｔオブジェクトは第２のＪＳファイルをウェブ・サーバから取得するために使用され、第２のＪＳファイルは第１のＪＳファイルによって参照される。上述の方式によれば、ＡＪＡＸ技術を使用するとき、ウェブサイト・システム側により返されたインデックス・ファイルに含まれる第１のＪＳファイルが第２のＪＳファイルを参照する場合、クライアントは、ＸｍｌＨｔｔｐＲｅｑｕｅｓｔオブジェクトを構築し、第２のＪＳファイルをウェブ・サーバから再度取得する必要がある。
【００３４】
別の態様によれば、本発明の１実施形態ではウェブ・サーバを提供する。当該ウェブ・サーバは特に上述の方法におけるウェブ・サーバの機能を実装する。当該機能を、ハードウェアを用いることによって実装してもよいか、または、対応するソフトウェアを実行するハードウェアを用いることによって実装してもよい。当該ハードェアまたはソフトウェアは上述の機能に対応する１つまたは複数のモジュールを含む。
【００３５】
別の態様によれば、本発明の１実施形態ではプロキシ・サーバを提供する。当該プロキシ・サーバは特に上述の方法におけるプロキシ・サーバの機能を実装する。当該機能を、ハードウェアを用いることによって実装してもよいか、または、対応するソフトウェアを実行するハードウェアを用いることによって実装してもよい。当該ハードェアまたはソフトウェアは上述の機能に対応する１つまたは複数のモジュールを含む。
【００３６】
さらに別の態様によれば、本発明の１実施形態ではクライアントを提供する。当該クライアントは特に上述の方法におけるクライアントの機能を実装する。当該機能を、ハードウェアを用いることによって実装してもよいか、または、対応するソフトウェアを実行するハードウェアを用いることによって実装してもよい。当該ハードェアまたはソフトウェアは上述の機能に対応する１つまたは複数のモジュールを含む。
【００３７】
可能な設計では、上述のウェブ・サーバ、プロキシ・サーバ、およびクライアントを、ハードウェア装置を用いることによって実装してもよい。ハードウェア装置は特にプロセッサとメモリを備える。当該プロセッサは、上述の方法を実行するための、ウェブ・サーバ、プロキシ・サーバ、およびクライアントの対応する機能をサポートするように構成される。ウェブ・サーバ、プロキシ・サーバ、およびクライアントがさらにメモリを備えてもよい。当該メモリは、当該プロセッサに接続するように構成され、当該プロセッサが上述の機能を実行するために必要とされるプログラム命令およびデータを格納する。
【００３８】
さらに別の態様によれば、本発明の１実施形態では、上述のウェブ・サーバにより使用されるコンピュータ・ソフトウェア命令を格納するように構成されたコンピュータ記憶媒体を提供する。当該コンピュータ記憶媒体は上述の態様を実行するように設計されたプログラムを含む。
【００３９】
さらに別の態様によれば、本発明の１実施形態では、上述のプロキシ・サーバにより使用されるコンピュータ・ソフトウェア命令を格納するように構成されたコンピュータ記憶媒体を提供する。当該コンピュータ記憶媒体は上述の態様を実行するように設計されたプログラムを含む。
【００４０】
さらに別の態様によれば、本発明の１実施形態では、上述のクライアントにより使用されるコンピュータ・ソフトウェア命令を格納するように構成されたコンピュータ記憶媒体を提供する。当該コンピュータ記憶媒体は上述の態様を実行するように設計されたプログラムを含む。
【００４１】
先行技術と比較すると、本願で提供するウェブサイト・アクセス方法、装置、およびウェブサイト・システムによれば、ウェブサイトのバージョン・アップグレードの間に、開発者はコンテンツ・ファイルのＵＲＬを手動で更新する必要はなく、当該コンテンツ・ファイルの名前付けと更新を気にする必要もなく、ウェブサイトのアップグレードの効率が高まる。さらに、幾つかのコンテンツ・ファイルの更新は他のファイルに影響を及ぼさず、したがって当該ウェブサイトの完全なアップグレードは必要でなく、アップグレードのリスクが低下する。
【００４２】
本発明の諸実施形態または先行技術における技術的解決策をより明確に説明するために、以下では、当該実施形態または先行技術を説明するために必要な添付図面を簡単に説明する。明らかに、以下の説明における添付図面は本発明の幾つかの実施形態を示すにすぎず、当業者は創造的努力なしにこれらの添付図面から本発明の他の実装方式を導出することができる。これらの全ての実施形態または実装方式は本発明の保護範囲に入るものとする。
【図面の簡単な説明】
【００４３】
【図１Ａ】本発明を実装するためのシステムの可能な略構造図である。
【図１Ｂ】本発明を実装するためのシステムの別の可能な略構造図である。
【図１Ｃ】本発明を実装するためのシステムのさらに別の可能な略構造図である。
【図２】本発明の１実施形態に従うコンピュータ装置の略図である。
【図３】本発明の１実施形態に従うブラウザ・クライアントによりウェブ・サーバにアクセスするための方法の略流れ図である。
【図４】本発明の１実施形態に従うウェブ・サーバの略構造図である。
【図５】本発明の１実施形態に従うプロキシ・サーバの略構造図である。
【図６】本発明の１実施形態に従うブラウザ・クライアントの略構造図である。
【図７】本発明の１実施形態に従うウェブサイト・システムの略構造図である。
【発明を実施するための形態】
【００４４】
本発明の諸実施形態に従う技術的解決策を、以下で添付図面を参照して明確かつ十分に説明する。明らかに、説明された実施形態は本発明の実施形態の一部にすぎず全部ではない。当業者が創造的努力なしに本発明の諸実施形態に基づいて得る他の全ての実施形態は本発明の保護範囲に入るものとする。
【００４５】
本発明の諸実施形態において説明するネットワーク・アーキテクチャおよびサービス・シナリオの目的は、本発明の諸実施形態における技術的解決策をより明確に説明することであり、本発明の諸実施形態における技術的解決策に対する限定を構成しない。当業者は、ネットワーク・アーキテクチャの発展と、新たなサービス・シナリオの出現とともに、本発明の諸実施形態における技術的解決策を同様な技術的課題に適用可能であることを知り得る。
【００４６】
本発明の諸実施形態では、ウェブ・サーバは、ウェブ・アプリケーション・プログラムをデプロイし、リソース・ファイルを格納するように構成される。複数のウェブ・サーバが、ウェブサイトをもつようにウェブ・サーバ・クラスタを構成してもよい。ウェブ・サーバに格納されたファイルは一般にリソース・ファイルと呼ばれ、アプリケーション固有の構成ファイル、ウェブ・ページ・テンプレート等を含む。アプリケーション・プログラム・コードは、ファイル・システムを用いることによってこれらのファイルにアクセスしてもよい。本発明の諸実施形態で言及したコンテンツ・ファイルは一般に、ウェブ・サーバでホストされる静的リソース・ファイルである。当該静的リソース・ファイルは全てのユーザに対して一貫しており、一般に、アプリケーション・プログラムを実行したとき正常な状況では変化しない。当該コンテンツ・ファイルが、（画像のような）ウェブサイト・メディア・ファイル、どのようにウェブ・ページをスクリーン上で生成するかを記述するためのカスケーディング・スタイル・シート（Ｃａｓｃａｄｉｎｇ  Ｓｔｙｌｅ  Ｓｈｅｅｔ、ｃｓｓ）ファイル、ブラウザによりダウンロードでき実行できるＪａｖａＳｃｒｉｐｔ（登録商標）コード、動的コンテンツを含まないＨＴＭＬページ等を含んでもよい。ＨＴＴＰ要求を受信したとき、ウェブ・サーバは、クライアントに、ＨＴＴＰ要求に対応するｈｔｍｌおよび当該ｈｔｍｌにより参照されるコンテンツ・ファイルのアドレスを返す。
【００４７】
可能な実装方式において、ウェブサイトのデプロイ・プロセスおよびフロントエンドの両方が、アプリケーション・プログラムのどのファイルが静的リソース・ファイルであるかを知る必要がある。当該デプロイ・プロセスは当該静的リソース・ファイルをウェブ・サーバに送信し、当該フロントエンドが当該静的リソース・ファイルへのＵＲＬパスを格納し、その結果、当該フロントエンドは、当該静的リソース・ファイルへのＵＲＬパス上で要求を適切なウェブ・サーバに経路付けることができる。本発明の諸実施形態では、プロキシ・サーバが当該フロントエンドの機能を実装することができる。
【００４８】
本発明の諸実施形態の主な要素は以下の通りである。
クライアント：ウェブ・ブラウザがクライアント上で実行され、したがって、クライアントもブラウザ・クライアントと称する。ブラウザ・クライアントが、ネットワークを用いることによってシステム側にあるプロキシ・サーバおよびウェブ・サーバに接続され、ブラウザ・クライアントはＨＴＴＰ要求を送信するように構成される。本願に含まれるクライアントが、様々なハンドヘルド装置、車両内装置、ウェアラブル装置、コンピューティング装置または様々なタイプのネットワークに接続された他の処理装置を含んでもよい。当該装置には無線通信機能が提供され、クライアントが、様々な形態のクライアント、移動局（Ｍｏｂｉｌｅ  ｓｔａｔｉｏｎ、略してＭＳ）、端末（ｔｅｒｍｉｎａｌ）、端末機器（Ｔｅｒｍｉｎａｌ  Ｅｑｕｉｐｍｅｎｔ）等を含んでもよい。説明の簡単さのため、上で述べた装置を全て、本願ではクライアントと称する。
【００４９】
ウェブ・サーバ：ウェブ・サーバは、ウェブ・アプリケーション・プログラムをデプロイし、コンテンツ・ファイル（即ち、静的リソース・ファイル）を格納するように構成され、ウェブ・サーバは管理サーバおよびプロキシ・サーバに接続される。１つまたは複数のウェブ・サーバがあってもよく、複数のウェブ・サーバがウェブ・サーバ・クラスタを構成する。ブラウザ・クライアントにより送信されたアクセス要求を受信するとき、プロキシ・サーバが、負荷分散を実施して、適切なウェブ・サーバをウェブ・サーバ・クラスタから選択して、ブラウザ・クライアントにサービス提供してもよい。
【００５０】
プロキシ・モジュール：プロキシ・モジュールは、プラグイン形式で、コンテンツ・ファイルのバージョン・パラメータの問合せと当該コンテンツ・ファイルのＵＲＬ更新を実装してもよい。任意選択で、当該プロキシ・モジュールがさらに、ウェブ・サーバにより送信されたアクセス応答においてクッキー・コンテンツを更新してもよい。１例では、当該プロキシ・モジュールを、管理モジュールに接続し、当該ウェブサイトの現在のバージョンのバージョン・パラメータを当該管理モジュールから取得してもよい。
【００５１】
管理モジュール：管理モジュールは、ウェブサイト・バージョン管理機能、バージョン・パラメータ生成機能等を提供するように構成される。当該バージョン・パラメータ生成機能を当該管理モジュール内のバージョン生成器により実装してもよい。バージョン・パラメータが、ウェブサイトの現在のバージョンを示すために使用され、ウェブサイトのバージョンを一意に特定できるならば、任意のフォーマットまたは任意の形式でのパラメータであってもよい。ウェブサイトのバージョン番号を、特定のバージョン・パラメータとして直接使用してもよく、または、ランダム・コードが当該ウェブサイトのバージョン番号に従って生成され、当該ウェブサイトの現在のバージョンのバージョン・パラメータとして使用される。当該バージョン・パラメータの具体的な形態は本発明の諸実施形態では限定されない。当該管理モジュールは当該ウェブサイトの現在のバージョンのバージョン番号を格納し、当該プロキシ・モジュールにより送信されたファイル問合せ要求を受信したとき、当該ウェブサイトの現在のバージョンに対応するバージョン・パラメータを返す。当該ウェブサイトがアップグレードされると、当該管理モジュールが、当該ウェブサイトの現在のバージョンのバージョン番号を様々な方式で取得する。当該管理モジュールがウェブサイトの識別子を記録する。１つのウェブサイト識別子は１つのウェブサイトに対応し、当該ウェブサイトを一意に特定するために使用されてもよい。当該ウェブサイトの各バージョンは当該ウェブサイトの１つのアップグレードに対応し、当該ウェブサイトの各バージョンは一意なバージョン・パラメータに対応する。
【００５２】
上述のプロキシ・モジュールおよび管理モジュールを、ウェブ・サーバ上で機能モジュールの形式で実装してもよく、または、独立な物理サーバ上で実装してもよい。独立な物理サーバの形式で実装されているとき、当該プロキシ・モジュールをプロキシ・サーバと称してもよい。独立な物理サーバの形式で実装されているとき、当該管理モジュールを管理サーバと称してもよい。本発明の諸実施形態では当該プロキシ・モジュールおよび当該管理モジュールの機能に着目する。当業者は、当該プロキシ・モジュールおよび当該管理モジュールの機能を別のサーバで実装してもよく、本発明の諸実施形態では限定されないことを理解しうる。１例では、プロキシ・サーバは、ウェブ・サーバのフロントエンドにデプロイされ、ウェブ・サーバに対するＨＴＴＰ要求を処理するためのロード・バランサとして使用されてもよい。プロキシ・サーバの機能を既存のＮｇｉｎｘまたはＨＡＰｒｏｘｙに統合してもよい。
【００５３】
図１Ａに示すように、図１Ａは、本発明の１実施形態に従うウェブサイト・システムの略構造図である。クライアントは、ネットワーク、クライアントにインストールされたウェブ・ブラウザを用いることによってウェブ・サーバに接続され、プロキシ・サーバはクライアントおよびウェブ・サーバの間に配置され、管理サーバはウェブサイト・バージョン情報を管理するように構成される。この場合、ウェブ・サーバ、プロキシ・サーバ、および管理サーバが異なる物理サーバに分散される。図１Ｂに示すように、図１Ｂは本発明の１実施形態に従う別のウェブサイト・システムの略構造図である。この場合、プロキシ・サーバがプロキシ・モジュールの形式で１つのウェブ・サーバとともにウェブ・サーバ・クラスタ内でデプロイされる。図１Ｃに示すように、図１Ｃは、本発明の１実施形態に従うさらに別のウェブサイト・システムの略構造図である。管理サーバが管理モジュールの形式でプロキシ・サーバとともにデプロイされる。当該システム内の要素が本発明の諸実施形態における対応する機能を実装できると仮定して、本発明の諸実施形態はウェブサイト・システムの特定のハードウェア実装方式を厳密に限定しないことに留意されたい。
【００５４】
図２は本発明の１実施形態に従うコンピュータ装置の略図である。コンピュータ装置２００は少なくとも１つのプロセッサ２０１、通信バス２０２、メモリ２０３、および少なくとも１つの通信インタフェース２０４を含む。
【００５５】
プロセッサ２０１が汎用目的中央演算装置（ＣＰＵ）、マイクロプロセッサ、特定用途向け集積回路（ａｐｐｌｉｃａｔｉｏｎ−ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ、ＡＳＩＣ）、または、本発明の解決策のプログラムの実行を制御するための１つまたは複数の集積回路であってもよい。
【００５６】
通信バス２０２が、上述のコンポーネント間で情報を転送するためのパスを含んでもよい。通信インタフェース３０４は、別の装置またはＥｔｈｅｒｎｅｔネットワーク、無線アクセス・ネットワーク（ＲＡＮ）、無線ローカル・エリア・ネットワーク（Ｗｉｒｅｌｅｓｓ  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ、ＷＬＡＮ）のような通信ネットワークと通信するための装置のような任意の送受信器を使用する。
【００５７】
メモリ２０３が、読取専用メモリ（ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ、ＲＯＭ）または静的情報および命令を格納するための別のタイプの静的記憶装置、ランダム・アクセス・メモリ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ、ＲＡＭ）、または情報および命令を格納するための別のタイプの動的記憶装置、電気的消去可能プログラム可能読取専用メモリ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ、ＥＥＰＲＯＭ）、コンパクト・ディスク読取専用メモリ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ  Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ、ＣＤ−ＲＯＭ）または別の光ディスク記憶、光ディスク記憶（コンパクト・ディスク、レーザ・ディスク、光ディスク、デジタル多用途ディスク、ブルーレイ光ディスク等を含む）、磁気ディスク記憶媒体または別の磁気記憶装置、または期待されるプログラム・コードを命令またはデータ構造の形で運搬または格納するために使用できる任意の他のコンピュータ・アクセス可能媒体であってもよいが、これらに限定されない。当該メモリが独立に存在してもよく、当該バスを用いて当該プロセッサに接続される。当該メモリを当該プロセッサと統合してもよい。
【００５８】
メモリ２０３は、本発明の解決策のアプリケーション・プログラム・コードを格納するように構成され、プロセッサ２０１が実行を制御する。プロセッサ２０１は、メモリ２０３に格納されたアプリケーション・プログラム・コードを実行するように構成される。
【００５９】
具体的な実装では、１実施形態において、プロセッサ２０１が、１つまたは複数のＣＰＵ、例えば、図２におけるＣＰＵ０およびＣＰＵ１を含んでもよい。
【００６０】
具体的な実装では、１実施形態において、コンピュータ装置２００が複数のプロセッサ、例えば、図２のプロセッサ２０１およびプロセッサ２０８を含んでもよい。当該プロセッサの各々がシングルコア・プロセッサ（ｓｉｎｇｌｅ−ＣＰＵ）であってもよく、または、マルチコア・プロセッサ（ｍｕｌｔｉ−ＣＰＵ）であってもよい。ここでのプロセッサが、１つまたは複数の装置、回路、および／またはデータ（例えば、コンピュータ・プログラム命令）を処理するための処理コアであってもよい。
【００６１】
具体的な実装では、１実施形態において、コンピュータ装置２００がさらに、出力装置２０５および入力装置２０６を含んでもよい。出力装置２０５はプロセッサ２０１と通信し、情報を複数の方式で表示してもよい。例えば、出力装置２０５が、液晶ディスプレイ（ｌｉｑｕｉｄ  ｃｒｙｓｔａｌ  ｄｉｓｐｌａｙ、ＬＣＤ）、発光ダイオード（ｌｉｇｈｔ  ｅｍｉｔｔｉｎｇ  ｄｉｏｄｅ、ＬＥＤ）ディスプレイ装置、カソード・レイ・チューブ（ｃａｔｈｏｄｅ  ｒａｙ  ｔｕｂｅ、ＣＲＴ）ディスプレイ装置、プロジェクタ（ｐｒｏｊｅｃｔｏｒ）等であってもよい。入力装置２０６はプロセッサ２０１と通信し、ユーザ入力を複数の方式で受信してもよい。例えば、入力装置２０６がマウス、キーボード、タッチスクリーン装置、センサ装置等であってもよい。
【００６２】
上述のコンピュータ装置２００が汎用目的コンピュータ装置または専用コンピュータ装置であってもよい。具体的な実装では、コンピュータ装置２００がデスクトップ・コンピュータ、ポータブル・コンピュータ、ネットワーク・サーバ、パームトップ・コンピュータ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ、ＰＤＡ）、携帯電話、タブレット・コンピュータ、無線端末装置、通信装置、組込み型装置、または図２における構造と同様な構造を有する装置であってもよい。本発明の当該実施形態はコンピュータ装置２００の種類を限定しない。
【００６３】
図１Ａ、図１Ｂ、および図１Ｃにおけるウェブ・サーバ、プロキシ・サーバ、管理サーバ、およびクライアントが図２に示す装置であってもよい。当該メモリは、ウェブ・サーバ、管理サーバ、およびクライアントの機能（例えば、管理サーバにおけるウェブサイト・バージョン管理機能およびバージョン・パラメータ生成機能）を実装するための１つまたは複数のソフトウェア・モジュールを格納する。ウェブ・サーバ、プロキシ・サーバ、管理サーバ、およびクライアントが、プロセッサおよびメモリに格納されたプログラム・コードを用いることによって、ブラウザ・クライアントによりウェブ・サーバにアクセスするための方法を実装してもよい。
【００６４】
図２に示すコンピュータ装置では、ウェブサイト・システム内の要素の可能なハードウェア実装方式のみを提供することに留意されたい。当該コンピュータ装置のハードウェア・コンポーネントを、当該システム内の当該要素の機能の差分または変化に従って追加または削除し、当該システム内の当該要素の機能をマッチさせてもよい。
【００６５】
上述のウェブサイト・システムでは、ウェブ・サーバがウェブサイトの静的リソース・ファイルを格納する。プロキシ・サーバは、ウェブ・サーバによりブラウザ・クライアントに返されるアクセス応答をインターセプトし、アクセスすべきページに含まれる静的リソース・ファイルの現在のＵＲＬに、当該ウェブサイトの現在のバージョン番号に対応するバージョン・パラメータを追加する。プロキシ・サーバは現在のＵＲＬをブラウザ・クライアントに返す。本願で提供する解決策を用いることによって、ブラウザ・クライアントは、当該静的リソース・ファイルをウェブ・サーバから現在のＵＲＬに従って取得することができる。当該ウェブサイトのバージョン・アップグレード中に、開発者は、静的リソース・ファイルへのパスを変更する必要はなく、当該リソース・ファイルのＵＲＬを手動で更新する必要はなく、当該静的リソース・ファイルの名前を更新する必要もない。これが、ウェブサイトのアップグレード効率を高める。一方で、当該静的リソース・ファイルのファイル名を当該ウェブサイトのアップグレード・プロセスにおいて変更する必要なく、したがって、当該静的リソース・ファイルを参照する別のファイルは影響を受けず、当該静的リソース・ファイルを参照する当該別のファイルのファイル名も変更する必要はなく、当該ウェブサイトの大量のファイルの完全なアップグレードが回避され、アップグレードのリスクが低下する。他方、当該ウェブサイトの上述のアップグレード・プロセスにおいて、当該静的リソース・ファイルへのパスを変更する必要はなく、したがって、当該静的リソース・ファイルへのパスを開発者により書き換える必要はなく、開発コストが低下する。
【００６６】
図３に示すように、図３は、本発明の１実施形態に従うブラウザ・クライアントによりウェブ・サーバにアクセスするための方法の略流れ図であり、以下を含む。
【００６７】
ステップ３０１．ウェブサイトの静的リソース・ファイルを更新する。
【００６８】
当該ウェブサイトがアップグレードされると、更新された静的リソース・ファイルが当該ウェブサイトのウェブ・サーバにデプロイされ、当該ウェブサイトの現在のバージョン番号が決定される。
【００６９】
ステップ３０２．管理サーバが当該ウェブサイトのバージョンを管理し、当該ウェブサイトの現在のバージョン番号を記録する。
【００７０】
特定の解決策の実装では、管理サーバが、以下の方式の何れか１つで当該ウェブサイトの現在のバージョンのバージョン番号を取得してもよいことに留意されたい。
【００７１】
方式１：アップグレード・スクリプト・ファイルを実行する。当該アップグレード・スクリプトはウェブ・サーバまたは別の独立なサーバで実行され、当該ウェブサイトのバージョン番号が当該アップグレード・スクリプト・ファイルで構成される。当該ウェブサイトをアップグレードするプロセスにおいて、当該アップグレード・スクリプト・ファイルを実行することにより、ウェブ・サーバ内のウェブサイトを最初にアップグレードして当該静的リソース・ファイルを更新し、次いで、当該アップグレード・スクリプト・ファイルが管理サーバのインタフェースを呼び出して、管理サーバ上で、当該ウェブサイトの最新のバージョン番号を構成する。
【００７２】
方式２：手動実行。当該ウェブサイトのウェブ・サーバ上の当該静的リソース・ファイルを更新し、管理サーバが提供するインタフェースを用いて管理ウィンドウにおいて当該ウェブサイトの最新のバージョン番号を書き込むことにより、業務員および保守員が当該ウェブサイトをアップグレードする。
【００７３】
方式３：管理ツールを構成する。当該管理ツールを使用して、当該ウェブサイトのアップグレード・プロセスを監視してもよく、当該ウェブサイトのアップグレードされたバージョン番号をバージョン・リポジトリから自動的に取得し、または、当該管理ツールがウェブ・サーバにおける当該ウェブサイト・バージョン番号の変化を直接監視してもよい。同一のウェブサイトに対するバージョン・リポジトリにおいて多数のバージョンがありうる。当該管理ツールが複数の方式を使用して、当該ウェブサイトがそこにアップグレードされた最新のバージョンを取得してもよい。当該複数の方式には、バージョン番号定義ルールを事前に定義すること、アップグレード開始時間をマッチさせること等が含まれるがこれらに限られない。
【００７４】
方式４：ウェブ・サーバが、当該ウェブサイトの現在のバージョンを記述するためのバージョン記述ファイルを格納する。管理サーバが、当該バージョン記述ファイルを取得して当該ウェブサイトのバージョン番号を抽出してもよい。
【００７５】
ステップ３０３．管理サーバが、当該ウェブサイトの現在のバージョンのバージョン番号に対応するバージョン・パラメータを生成し、当該ウェブサイトの識別子、バージョン番号、およびバージョン・パラメータ間の対応関係を記録する。当該ウェブサイトの識別子は管理サーバ上の当該ウェブサイトの一意な識別子である。
【００７６】
当該ウェブサイトの現在のバージョンのバージョン番号をバージョン・パラメータとして直接使用してもよいことに留意されたい。当該バージョン・パラメータの具体的な実装形式は本発明の当該実施形態では限定されない。
【００７７】
ステップ３０４．ブラウザ・クライアントが、アクセス要求をウェブ・サーバに送信する。当該アクセス要求は、プロキシ・サーバを用いることによってウェブ・サーバに送信される。
【００７８】
１例では、ユーザが、当該ウェブサイトのアクセスすべきページのアドレスをブラウザ・クライアントのウィンドウに入力し、ブラウザ・クライアントがＨＴＴＰ要求を当該ウェブサイトのウェブ・サーバに送信する。当該ＨＴＴＰ要求は当該アクセスすべきページを示すために使用され、当該ＨＴＴＰ要求内のアドレスは当該アクセスすべきページのアドレスである。ウェブ・サーバはウェブ・サービスを当該アクセスすべきウェブサイトに提供し、当該アクセスすべきページに含まれる静的リソース・ファイルがウェブ・サーバに格納される。
【００７９】
１例では、当該ウェブサイトを、１つのウェブ・サーバにデプロイするか、または、複数のサーバにより構成されるウェブ・サーバ・クラスタにデプロイしてもよい。プロキシ・サーバを使用して、ＨＴＴＰ要求に対する負荷分散を実施し、当該ＨＴＴＰ要求に対する適切なウェブ・サーバを選択してもよい。
【００８０】
ステップ３０５．ウェブ・サーバが、プロキシ・サーバを用いることによって、第１のアクセス応答をブラウザ・クライアントに返す。当該第１のアクセス応答はインデックス（ｉｎｄｅｘ）ファイルを運搬し、当該インデックス・ファイルは当該アクセスすべきページに含まれる静的リソース・ファイルの初期ＵＲＬを含む。
【００８１】
本発明の当該実施形態において、ウェブ・サーバにより返されたインデックス・ファイル内のＵＲＬは、当該アクセスすべきページに含まれる当該静的リソース・ファイルの初期ＵＲＬである。当該初期ＵＲＬは当該静的リソース・ファイルの元のパス情報を含む。当該元のパス情報が当該静的リソース・ファイルの絶対アドレスまたは相対アドレスであってもよく、本発明の当該実施形態では限定されないことに留意されたい。当該元のパス情報は当該ウェブサイトのバージョン情報を含まない。即ち、当該ウェブサイトのアップグレードは当該元のパス情報の変更をもたらさない。
【００８２】
ステップ３０６．プロキシ・サーバが当該第１のアクセス応答をインターセプトし、バージョン問合せ要求を管理サーバに送信する。当該バージョン問合せ要求は、当該ウェブサイトの現在のバージョンのバージョン番号に対応するバージョン・パラメータを問い合わせるための当該ウェブサイトの識別子を運搬する。
【００８３】
１例では、プロキシ・サーバは、ウェブ・サーバによりブラウザ・クライアントに返された全てのファイルをインターセプトしない。プロキシ・サーバは、ウェブ・サーバにより返されたファイルのファイル・タイプに従って、インターセプトを実施するかどうかを判定し、当該静的リソース・ファイルのＵＲＬを運搬するファイルのみがインターセプトされる。特に、プロキシ・サーバが、当該第１のアクセス応答で運搬されるインデックス・ファイルのファイル・タイプを決定する。当該ファイルがｃｓｓファイルまたはｈｔｍｌファイルであるとき、当該第１のアクセス応答がインターセプトされる。当該ファイルがｃｓｓファイルでもｈｔｍｌファイルでもないとき、当該第１のアクセス応答が透過的にブラウザ・クライアントに送信される。
【００８４】
別の例では、プロキシ・サーバがバージョン・サーバの機能を実装する。この場合、プロキシ・サーバが、ウェブサイトの現在のバージョンのバージョン・パラメータを生成するか、または、当該ウェブサイトの現在のバージョンのバージョン番号を当該バージョン・パラメータとして直接利用する。
【００８５】
ステップ３０７．管理サーバが、バージョン問合せ要求で運搬されるウェブサイトの識別子に従って、当該ウェブサイトの識別子と当該ウェブサイトのバージョン番号およびバージョン・パラメータとの間の対応関係を問い合わせて、当該ウェブサイトの現在のバージョン番号に対応するバージョン・パラメータを取得し、バージョン・パラメータ問合せ応答をプロキシ・サーバに返す。当該バージョン・パラメータ問合せ応答は当該バージョン・パラメータを運搬する。
【００８６】
ステップ３０８．プロキシ・サーバが、当該バージョン・パラメータ問合せ応答を受信し、当該静的リソース・ファイルの元のＵＲＬおよび当該ウェブサイトの現在のバージョンのバージョン・パラメータに従って当該静的リソース・ファイルの現在のＵＲＬを生成する。当該現在のＵＲＬはパス情報部および検索部を含み、当該パス情報部はコンテンツ・ファイルの元のパス情報を含み、当該検索部は当該ウェブサイトの現在のバージョンのバージョン・パラメータを含む。
【００８７】
プロキシ・サーバが、インデックス・ファイルに含まれる静的リソース・ファイルの初期ＵＲＬを、生成された現在のＵＲＬで置き換える。
【００８８】
例示的には、ＵＲＬの構造が本発明の当該実施形態において説明される。ＲＦＣ１７３８標準における定義（リンク：ｈｔｔｐｓ：／／ｗｗｗ．ｉｅｔｆ．ｏｒｇ／ｒｆｃ／ｒｆｃ１７３８．ｔｘｔ）によれば、ＵＲＬのフォーマットは以下の通りである。即ち、
ｈｔｔｐ：／／＜ｈｏｓｔ＞：＜ｐｏｒｔ＞／＜ｐａｔｈ＞？＜ｓｅａｒｃｈｐａｒｔ＞
である。
【００８９】
＜ｈｏｓｔ＞はドメイン名またはＩＰアドレスを表し、＜ｐｏｒｔ＞はポート番号であり、＜ｐａｔｈ＞は静的リソース・ファイルを取得するためのパスを示すために使用されうるパス情報部であり、＜ｓｅａｒｃｈｐａｒｔ＞はＵＲＬパラメータを表す検索部である。「？」は、当該検索部の開始点を表し、当該検索部を当該パス情報部から分離する。本発明の当該実施形態において、当該バージョン・パラメータは当該検索部内で上述のＵＲＬフォーマットで運搬され、したがって、当該静的リソース・ファイルを取得するためのパスは影響を受けない。当該ウェブサイトがアップグレードされると、当該パス情報部は変化せず、したがって、開発者は静的リソース・ファイルへのパスを更新する必要はなく、当該静的リソース・ファイルのファイル名も変更する必要はない。これにより開発コストが減る。
【００９０】
例示的には、具体的な実装方式において、インデックス・ファイルの元のＵＲＬは＜ｌｉｎｋ  ｓｒｃ＝“ｔｈｅｍｅ／ｌｏｇｏ．ｇｉｆ”＞であり、プロキシ・サーバは元のＵＲＬを＜ｌｉｎｋ  ｓｒｃ＝“ｔｈｅｍｅ／ｌｏｇｏ．ｇｉｆ？ｔｔｌ＝３４５６７２”＞で置き換える。文字列３４５６７２は静的リソース・ファイルｌｏｇｏ．ｇｉｆが配置されたウェブサイトの現在のバージョンに対応するバージョン・パラメータであり、当該文字列を、バージョン番号にハッシュを実施することによって生成してもよい。
【００９１】
ステップ３０９．プロキシ・サーバが第２のアクセス応答をブラウザ・クライアントに返す。当該第２のアクセス応答は更新されたインデックス・ファイルを運搬し、当該更新されたインデックス・ファイルは当該静的リソース・ファイルの現在のＵＲＬを含む。
【００９２】
ステップ３１０．ブラウザ・クライアントが当該第２のアクセス応答を受信し、当該静的リソース・ファイルの当該更新されたＵＲＬを抽出する。
【００９３】
ステップ３１１．ブラウザ・クライアントがファイル取得要求をウェブ・サーバに送信する。当該ファイル取得要求は、当該静的リソース・ファイルをウェブ・サーバから要求するために、当該静的リソース・ファイルの当該更新されたＵＲＬを運搬する。ウェブ・サーバは、当該ファイル取得要求を受信し、当該静的リソース・ファイルの現在のＵＲＬに従って当該静的リソース・ファイルを抽出し、当該静的リソース・ファイルをブラウザ・クライアントに返す。
【００９４】
１例では、ブラウザ・クライアントがさらに、受信された静的リソース・ファイルをローカルにキャッシュし、当該静的リソース・ファイルのファイル名およびバージョン・パラメータを記録してもよい。さらに、当該ウェブサイトに再度アクセスするとき、アクセスすべきページに含まれる静的リソース・ファイルのＵＲＬを取得した後、ブラウザ・クライアントがさらに、当該静的リソース・ファイルのＵＲＬに含まれるファイル名およびバージョン・パラメータに従って、当該読み出すべき静的リソース・ファイルがローカルにキャッシュされているかどうかを判定してもよい。キャッシュされている場合、当該読み出すべき静的リソース・ファイルをウェブ・サーバから再度取得する必要はない。これは、ウェブサイト・アクセスの速度を高める。
【００９５】
さらに、ＨＴＴＰプロトコルがキャッシュをサポートする機構を用いることによって、第１のアクセス応答はさらに、ブラウザ・クライアント側が静的リソース・ファイルをキャッシュする必要があるかどうか、およびキャッシュ期間を示すために使用されるキャッシュ設定パラメータを含む。特に、当該キャッシュ設定パラメータがパラメータ・キャッシュおよび／または有効期限であってもよく、キャッシュ設定は当該ＨＴＴＰプロトコル内の定義に基づく。プロキシ・サーバによりブラウザ・クライアントに送信される第２のアクセス応答も当該キャッシュ設定パラメータを運搬する。当該キャッシュ設定パラメータはキャッシュ有効期限時間の推奨された値を運搬する。ブラウザ・クライアントがこの推奨された値を受け入れることを選択した場合、当該静的リソース・ファイルは当該推奨された値に対応する期間にわたってキャッシュされる。当該期間において、当該静的リソース・ファイルのローカル・コピーが直接使用され、当該静的リソース・ファイルをウェブ・サーバから再度取得する必要はない。これは、ネットワーク帯域幅の消費を減らす。当該ウェブサイトがアップグレードされた後、当該静的リソース・ファイルに対応するバージョン・パラメータが変化する。ブラウザ・クライアントが、受信されたＵＲＬに含まれる当該静的リソース・ファイルのファイル名およびバージョン・パラメータに従って、ローカルに格納された静的リソース・ファイルの有効期限が切れたと判定してもよい。この場合、当該静的リソース・ファイルを取得するための上述の手続きを実行して、当該ローカルにキャッシュされた静的リソース・ファイルを更新する必要がある。
【００９６】
本発明の当該実施形態において、プロキシ・サーバが、ウェブ・サーバからのアクセス応答のインターセプトと修正を実装するために、ブラウザ・クライアントおよびウェブ・サーバの間で追加される。ファイル名がファイル・コンテンツのハッシュ値に基づいて更新される先行技術と異なり、本発明の当該実施形態において、プロキシ・サーバは、ウェブサイトのバージョン・パラメータに基づいて、ブラウザ・クライアントによりアクセスされる静的リソース・ファイルの現在のＵＲＬを更新し、当該バージョン・パラメータを現在のＵＲＬの検索部に追加し、当該ウェブサイトがアップグレードされたときブラウザ・クライアントに更新された静的リソース・ファイルを提供し、ブラウザ・クライアント側でキャッシュされているファイルを更新する。当該ウェブサイトのバージョン・アップグレード・プロセスにおいて、開発者は静的リソース・ファイルへのパスを変更する必要はなく、当該リソース・ファイルのＵＲＬを手動で更新する必要はなく、当該静的リソース・ファイルの名前を更新する必要もない。これが、ウェブサイトのアップグレード効率を高める。一方で、当該コンテンツ・ファイルのファイル名を当該ウェブサイトのアップグレード・プロセスにおいて変更する必要なく、したがって、当該コンテンツ・ファイルを参照する別のファイルは影響を受けず、当該コンテンツ・ファイルを参照する別のファイルのファイル名も変更する必要はなく、当該ウェブサイトの大量のファイルの完全なアップグレードが回避され、アップグレードのリスクが低下する。他方、当該ウェブサイトの上述のアップグレード・プロセスにおいて、当該コンテンツ・ファイルへのパスを変更する必要はなく、したがって、当該コンテンツ・ファイルへのパスを開発者により書き換える必要はなく、開発コストが低下する。
【００９７】
本発明の当該実施形態において、ウェブサイトのホーム・ページ（Ｈｏｍｅ．ｈｔｍｌ）がキャッシュされないことが好ましいことに留意されたい。ブラウザ・クライアントが当該ウェブサイトのホーム・ページにログインする必要があるとき、当該ホーム・ページに対応するインデックス・ファイルを常にウェブ・サーバから取得する必要がある。当該ウェブサイトのバージョンが更新されると、ブラウザ・クライアントは最新の静的リソース・ファイルを取得することができる。
【００９８】
プロキシ・サーバはレイヤ７ロード・バランサとも呼ばれる。例えば、既存のＮｇｉｎｘおよび既存のＨＡＰｒｏｘｙの両方がかかるサービスを提供することができる。
【００９９】
さらに、１例では、ブラウザ・クライアントがＡＪＡＸ（非同期ＪａｖａＳｃｒｉｐｔ（登録商標）および拡張マークアップ言語、Ａｓｙｎｃｈｒｏｎｏｕｓ  ＪａｖａＳｃｒｉｐｔ（登録商標）  ａｎｄ  Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）をサポートしてもよい。（ＡＪＡＸ技術が使用されない）従来のウェブ・ページにおいて、ページ・コンテンツを更新する必要がある場合、ウェブ・ページのコンテンツの一部だけが変化した場合でも、ウェブ・ページ全体をリロードする必要がある。しかし、ＡＪＡＸ技術に対しては、非同期データ転送がブラウザ・クライアントとウェブ・サーバの間で使用され、ウェブ・ページ全体をリロードすることなく、ウェブ・ページ・コンテンツの一部に更新を実施することができる。このように、サーバからダウンロードされた大量のデータを当該ウェブ・ページに対して削減することができる。
【０１００】
ＡＪＡＸは、インタラクティブなウェブ・ページ・アプリケーションを作成するためのウェブ開発技術である。ブラウザ・クライアント側はＡＪＡＸエンジンを含む。当該ＡＪＡＸエンジンが、ＸｍｌＨｔｔｐＲｅｑｕｅｓｔオブジェクトを用いることによって静的リソース・ファイルをウェブ・サーバから取得してもよい。
【０１０１】
１例では、ＡＪＡＸエンジンは、ＪａｖａＳｃｒｉｐｔ（登録商標）（ＪＳ）ファイルを実行してＸｍｌＨｔｔｐＲｅｑｕｅｓｔオブジェクトを生成する。当該ＸｍｌＨｔｔｐＲｅｑｕｅｓｔオブジェクトはＨＴＴＰメソッド（Ｇｅｔ／Ｐｏｓｔ）、宛先ＵＲＬ、およびコールバック関数を含む。当該宛先ＵＲＬは、取得すべき静的リソース・ファイルのＵＲＬである。本願では、ＪａｖａＳｃｒｉｐｔ（登録商標）を用いることによって当該ＡＪＡＸエンジンによりＸｍｌＨｔｔｐＲｅｑｕｅｓｔオブジェクトを生成するための方法は既存のＡＪＡＸ技術における一般的な方法であり得、本願では限定されないことに留意されたい。
【０１０２】
さらに、ステップ３０９がさらに、プロキシ・サーバが、第２のアクセス応答のクッキーに、ウェブサイトの現在のバージョンに対応するバージョン・パラメータを追加することを含んでもよい。当該第２のアクセス応答で運搬される更新されたインデックス・ファイルは第１のＪＳファイルのファイル名を含む。ステップ３１０がさらに、ＡＪＡＸエンジンが第１のＪＳファイルを実行してＸｍｌＨｔｔｐＲｅｑｕｅｓｔオブジェクトを生成することを含んでもよい。当該ＸｍｌＨｔｔｐＲｅｑｕｅｓｔオブジェクト内の宛先ＵＲＬは第２のＪＳファイルのファイル名および当該バージョン・パラメータを含み、当該ＸｍｌＨｔｔｐＲｅｑｕｅｓｔオブジェクトは第２のＪＳファイルをウェブ・サーバから取得するために使用され、第２のＪＳファイルは第１のＪＳファイルによって参照される。
【０１０３】
上述の方式によれば、ブラウザ・クライアントがＡＪＡＸ技術をサポートし、ウェブ・サーバにより返されるインデックス・ファイルに含まれる第１のＪＳファイルが第２のＪＳファイルを参照する必要があるとき、ブラウザ・クライアントのＡＪＡＸエンジンは、ＸｍｌＨｔｔｐＲｅｑｕｅｓｔオブジェクトを構築し、当該ＸｍｌＨｔｔｐＲｅｑｕｅｓｔオブジェクトで運搬される第２のＪＳファイルの宛先ＵＲＬにバージョン・パラメータを追加し、その結果、当該ウェブサイトがアップグレードされた後に取得された第２のＪＳファイルをウェブ・サーバから取得することができる。これは、ＡＪＡＸ要求の場合に、静的リソース・ファイルの取得とキャッシュ更新における問題を解決する。
【０１０４】
１例では、当該ウェブサイトがアップグレードされると、ウェブ・サーバに格納された静的リソース・ファイルが更新される。ブラウザ・クライアントがアクセス要求をウェブ・サーバに初めて送信するとき、アクセスすべきページに含まれる静的リソース・ファイルが自動的にダウンロードされ、ローカルのキャッシュが更新される。後続の要求において、後にアクセスすべきページに含まれる静的リソース・ファイルが既にローカルにキャッシュされているとき、ブラウザ・クライアントは、当該静的リソース・ファイルに関するファイル取得要求をウェブ・サーバに送信しない。したがって、プロキシ・サーバに基づくバージョン・パラメータの追加は、当該ウェブサイトがアップグレードされるか、または、キャッシュの有効期限が切れたときにのみ実行される。したがって、本発明の当該実施形態は、非常に良好なウェブサイト応答性能および非常に良好な並列性の能力を提供することができる。
【０１０５】
上述の方法の実施形態に対応して、図４に示すように、図４は、本発明の１実施形態に従うウェブ・サーバの略構造図である。ウェブ・サーバ４００は、サーバ受信モジュール４０１、サーバ取得モジュール４０２、サーバ生成モジュール４０３、およびサーバ送信モジュール４０４を含む。
【０１０６】
サーバ受信モジュール４０１は、アクセス要求をクライアントから受信するように構成される。当該アクセス要求はウェブサイト上のアクセスすべきページを示す。
【０１０７】
サーバ取得モジュール４０２は、当該アクセスすべきページに含まれるコンテンツ・ファイルの初期ユニフォーム・リソース・ロケータＵＲＬおよび当該ウェブサイトの現在のバージョンのバージョン・パラメータを取得するように構成される。当該初期ＵＲＬは当該コンテンツ・ファイルの元のパス情報を含み、当該ウェブサイトの各バージョンは当該ウェブサイトの１つのアップグレードに対応し、当該ウェブサイトの各バージョンは一意なバージョン・パラメータに対応する。
【０１０８】
サーバ生成モジュール４０３は、当該コンテンツ・ファイルの初期ＵＲＬおよび当該ウェブサイトの現在のバージョンのバージョン・パラメータに従って当該コンテンツ・ファイルの現在のＵＲＬを生するように構成される。現在のＵＲＬはパス情報部および検索部を含み、当該パス情報部は当該コンテンツ・ファイルの元のパス情報を含み、当該検索部は当該ウェブサイトの現在のバージョンのバージョン・パラメータを含む。
【０１０９】
サーバ送信モジュール４０４は、アクセス応答をクライアントに返すように構成される。当該アクセス応答は当該コンテンツ・ファイルの現在のＵＲＬを運搬する。
【０１１０】
さらに、サーバ取得モジュール４０２が当該ウェブサイトの現在のバージョンのバージョン・パラメータを複数の方式で取得してもよい。当該方式が特に以下のようであってもよい。即ち、
サーバ取得モジュール４０２は特に、当該ウェブサイトの現在のバージョンのバージョン番号を取得し、当該バージョン・パラメータを当該バージョン番号に従って生成するように構成されるか、または、
サーバ取得モジュール４０２は特に、当該ウェブサイトの現在のバージョンのバージョン番号を取得し、当該ウェブサイトの現在のバージョンのバージョン番号を当該バージョン・パラメータとして使用するように構成されるか、または、
サーバ取得モジュール４０２は特に、管理サーバから、当該ウェブサイトの識別子に従って管理サーバにより返された当該ウェブサイトの現在のバージョンのバージョン・パラメータを取得するように構成される。
【０１１１】
サーバ取得モジュール４０２は特に、以下の方式、即ち、
方式１：当該ウェブサイトのバージョン記述ファイルを取得し、当該ウェブサイトの現在のバージョンのバージョン番号を当該バージョン記述ファイルから読み出すステップ、
方式２：業務員および保守員が管理インタフェースを用いて書き込んだ当該ウェブサイトの現在のバージョンのバージョン番号を受信するステップ、
方式３：アップグレード・スクリプト・ファイルを実行し、ウェブサイトのアップグレードが完了した後、当該ウェブサイトの現在のバージョンのバージョン番号を構成するステップ、または
方式４：当該ウェブサイトのバージョン・アップグレード・プロセスを監視し、ウェブサイトのバージョン・アップグレードの完了が判定された後、当該ウェブサイトの現在のバージョンのバージョン番号をバージョン・リポジトリから読み出すステップ
の何れか１つで当該ウェブサイトの現在のバージョンのバージョン番号を取得するように構成される。
【０１１２】
サーバ取得モジュール４０２は特に、当該アクセスすべきページに対応するインデックス・ファイルに含まれるコンテンツ・ファイルの初期ＵＲＬを読み出すように構成され、
対応して、サーバ生成モジュール４０３はさらに、当該インデックス・ファイルに含まれる当該コンテンツ・ファイルの初期ＵＲＬを当該生成された現在のＵＲＬで置き換え、更新されたインデックス・ファイルを当該アクセス応答に追加するように構成される。
【０１１３】
さらに、ウェブ・サーバによりクライアントに返されたアクセス応答は、クライアントがコンテンツ・ファイルをキャッシュする必要があるかどうか、およびキャッシュ期間を示すために使用されるキャッシュ設定パラメータを含む。当該アクセス応答のクッキーがさらに、当該ウェブサイトの現在のバージョンのバージョン・パラメータを運搬してもよく、その結果、クライアントは、当該コンテンツ・ファイルの要求アドレスがクライアント側で生成されたとき、当該バージョン・パラメータを当該クッキーから読み出し、当該バージョン・パラメータを追加することができる。
【０１１４】
ウェブ・サーバがさらに、当該アクセスすべきページに対応するインデックス・ファイルのファイル・タイプを決定し、当該インデックス・ファイルのファイル・タイプに従って、当該インデックス・ファイルが当該コンテンツ・ファイルの初期ＵＲＬを含むかどうかを判定するように構成された決定モジュールを含んでもよい。特に、当該ファイルがｃｓｓファイルまたはｈｔｍｌファイルであるとき、当該インデックス・ファイルは当該コンテンツ・ファイルの初期ＵＲＬを含む。
【０１１５】
図５に示すように、図５は、本発明の１実施形態に従うプロキシ・サーバの略構造図である。プロキシ・サーバ５００は、インターセプト・モジュール５０１、プロキシ取得モジュール５０２、プロキシ生成モジュール５０３、およびプロキシ送信モジュール５０４を備える。
【０１１６】
インターセプト・モジュール５０１は、第１のアクセス応答をウェブ・サーバからインターセプトするように構成される。当該第１のアクセス応答はウェブ・サーバがアクセス要求をクライアントから受信した後に送信され、当該アクセス要求はウェブサイト上のアクセスすべきページを示し、当該第１のアクセス応答は当該アクセスすべきページに含まれるコンテンツ・ファイルの初期ＵＲＬを運搬し、当該初期ＵＲＬは当該コンテンツ・ファイルの元のパス情報を含む。
【０１１７】
プロキシ取得モジュール５０２は、当該ウェブサイトの現在のバージョンのバージョン・パラメータを取得するように構成される。当該ウェブサイトの各バージョンは当該ウェブサイトの１つのアップグレードに対応し、当該ウェブサイトの各バージョンは一意なバージョン・パラメータに対応する。
【０１１８】
プロキシ生成モジュール５０３は、当該コンテンツ・ファイルの初期ＵＲＬおよび当該ウェブサイトの現在のバージョンのバージョン・パラメータに従って当該コンテンツ・ファイルの現在のＵＲＬを生成するように構成される。現在のＵＲＬはパス情報部および検索部を含み、当該パス情報部は当該コンテンツ・ファイルの元のパス情報を含み、当該検索部は当該ウェブサイトの現在のバージョンのバージョン・パラメータを含む。
【０１１９】
プロキシ送信モジュール５０４は、第２のアクセス応答をクライアントに返すように構成される。当該第２のアクセス応答は当該コンテンツ・ファイルの現在のＵＲＬを運搬する。
【０１２０】
さらに、プロキシ取得モジュール５０２が当該ウェブサイトの現在のバージョンのバージョン・パラメータを複数の方式で取得してもよい。当該方式が特に以下のようであってもよい。即ち、
プロキシ取得モジュール５０２は特に、当該ウェブサイトの現在のバージョンのバージョン番号を取得し、当該バージョン・パラメータを当該バージョン番号に従って生成するように構成されるか、または、
プロキシ取得モジュール５０２は特に、当該ウェブサイトの現在のバージョンのバージョン番号を取得し、当該ウェブサイトの現在のバージョンのバージョン番号を当該バージョン・パラメータとして使用するように構成されるか、または、
プロキシ取得モジュール５０２は特に、管理サーバから、当該ウェブサイトの識別子に従って管理サーバにより返された当該ウェブサイトの現在のバージョンのバージョン・パラメータを取得するように構成される。
【０１２１】
プロキシ取得モジュール５０２は特に、以下の方式、即ち、
方式１：当該ウェブサイトのバージョン記述ファイルを取得し、当該ウェブサイトの現在のバージョンのバージョン番号を当該バージョン記述ファイルから読み出すステップ、
方式２：業務員および保守員が管理インタフェースを用いて書き込んだ当該ウェブサイトの現在のバージョンのバージョン番号を受信するステップ、
方式３：アップグレード・スクリプト・ファイルを実行し、ウェブサイトのアップグレードが完了した後、当該ウェブサイトの現在のバージョンのバージョン番号を構成するステップ、または
方式４：当該ウェブサイトのバージョン・アップグレード・プロセスを監視し、ウェブサイトのバージョン・アップグレードの完了が判定された後、当該ウェブサイトの現在のバージョンのバージョン番号をバージョン・リポジトリから読み出すステップ
の何れか１つで当該ウェブサイトの現在のバージョンのバージョン番号を取得するように構成される。
【０１２２】
当該コンテンツ・ファイルの初期ＵＲＬは第１のアクセス応答のインデックス・ファイル内に含まれ、
対応して、プロキシ生成モジュール５０３はさらに、当該インデックス・ファイルに含まれる当該コンテンツ・ファイルの初期ＵＲＬを当該生成された現在のＵＲＬで置き換え、更新されたインデックス・ファイルを第２のアクセス応答に追加するように構成される。
【０１２３】
図６に示すように、図６は、クライアント送信モジュール６０１とクライアント受信モジュール６０２を備えた本発明の１実施形態に従うクライアント６００の略構造図である。
【０１２４】
クライアント送信モジュール６０１は、アクセス要求をウェブ・サーバに送信するように構成される。当該アクセス要求はウェブサイト上のアクセスすべきページを示す。
【０１２５】
クライアント受信モジュール６０２は、返されたアクセス応答を受信するように構成される。当該アクセス応答はアクセスすべきページに含まれるコンテンツ・ファイルの現在のＵＲＬを運搬し、現在のＵＲＬはパス情報部および検索部を含み、当該パス情報部は当該コンテンツ・ファイルの元のパス情報を含み、当該検索部は当該ウェブサイトの現在のバージョンのバージョン・パラメータを含む。
【０１２６】
クライアント送信モジュール６０１はさらに、ファイル要求メッセージをウェブ・サーバに送信して、当該コンテンツ・ファイルを取得するように構成される。当該ファイル要求メッセージは当該コンテンツ・ファイルの現在のＵＲＬを運搬する。
【０１２７】
さらに、クライアントは受信されたコンテンツ・ファイルをキャッシュしてもよく、特に、クライアントはさらに、
当該ウェブサイトが以前にアクセスされたとき取得された当該コンテンツ・ファイルのファイル名およびバージョン・パラメータを格納するように構成された記憶ユニット６０３と、
記憶ユニット６０３から、当該コンテンツ・ファイルの格納されたファイル名およびバージョン・パラメータを問い合わせ、当該アクセスすべきページに含まれるコンテンツ・ファイルがキャッシュされているかどうかを判定し、そうでない場合、クライアント送信モジュール６０１が当該ファイル要求メッセージをウェブ・サーバに送信するように構成された処理ユニット６０４と、
を備える。
【０１２８】
さらに、当該アクセス応答のクッキーは当該バージョン・パラメータを運搬し、現在のＵＲＬは特に第１のＪＳファイルのＵＲＬである。
【０１２９】
クライアントはさらに、バージョン・パラメータをクッキーから取得し、第１のＪＳファイルを実行し、ＸｍｌＨｔｔｐＲｅｑｕｅｓｔオブジェクトを生成するように構成されたＡＪＡＸエンジン６０５を備える。当該ＸｍｌＨｔｔｐＲｅｑｕｅｓｔオブジェクト内の宛先ＵＲＬは第２のＪＳファイルの元のアドレス情報および当該バージョン・パラメータを含み、当該ＸｍｌＨｔｔｐＲｅｑｕｅｓｔオブジェクトは第２のＪＳファイルをウェブ・サーバから取得するために使用され、第２のＪＳファイルは第１のＪＳファイルによって参照される。
【０１３０】
図７に示すように、図７は、ウェブ・サーバ４００およびプロキシ・サーバ５００を備えた本発明の１実施形態に従うウェブサイト・システムである。
【０１３１】
ウェブ・サーバ４００は、アクセス要求をクライアントから受信し、第１のアクセス応答をクライアントに返すように構成される。当該アクセス要求はウェブサイト上のアクセスすべきページを示し、当該第１のアクセス応答は当該アクセスすべきページに含まれるコンテンツ・ファイルの初期ＵＲＬを運搬し、当該初期ＵＲＬは当該コンテンツ・ファイルの元のパス情報を含む。
【０１３２】
プロキシ・サーバ５００は、当該第１のアクセス応答をインターセプトし、当該ウェブサイトの現在のバージョンのバージョン・パラメータを取得するように構成される。当該ウェブサイトの各バージョンは当該ウェブサイトの１つのアップグレードに対応し、当該ウェブサイトの各バージョンは一意なバージョン・パラメータに対応する。
【０１３３】
プロキシ・サーバ５００はさらに、当該コンテンツ・ファイルの初期ＵＲＬおよび当該ウェブサイトの現在のバージョンのバージョン・パラメータに従って当該コンテンツ・ファイルの現在のＵＲＬを生成し、第２のアクセス応答をクライアントに返すように構成される。当該第２のアクセス応答は当該コンテンツ・ファイルの現在のＵＲＬを運搬し、現在のＵＲＬはパス情報部および検索部を含み、当該パス情報部は当該コンテンツ・ファイルの元のパス情報を含み、当該検索部は当該ウェブサイトの現在のバージョンのバージョン・パラメータを含む。
【０１３４】
本発明の諸実施形態で提供する上述のウェブサイト・アクセス方法、装置、およびウェブサイト・システムによれば、ウェブサイトの現在のバージョンのバージョン・パラメータが、クライアントに返されたアクセス応答に含まれるコンテンツ・ファイルのＵＲＬの検索部に追加され、その結果、クライアントは、当該コンテンツ・ファイルをウェブ・サーバから現在のＵＲＬに従って取得することができる。当該ウェブサイトのバージョン・アップグレード中に、開発者はコンテンツ・ファイルへのパスを変更する必要はなく、当該コンテンツ・ファイルのＵＲＬを手動で変更する必要はなく、当該コンテンツ・ファイルの名前を更新する必要もない。これが、ウェブサイトのアップグレード効率を高める。一方で、当該コンテンツ・ファイルのファイル名を当該ウェブサイトのアップグレード・プロセスにおいて変更する必要なく、したがって、当該コンテンツ・ファイルを参照する別のファイルは影響を受けず、当該コンテンツ・ファイルを参照する別のファイルのファイル名も変更する必要はなく、当該ウェブサイトの大量のファイルの完全なアップグレードが回避され、アップグレードのリスクが低下する。他方、当該ウェブサイトの上述のアップグレード・プロセスにおいて、当該コンテンツ・ファイルへのパスを変更する必要はなく、したがって、当該コンテンツ・ファイルへのパスを開発者により書き換える必要はなく、開発コストが低下する。
【０１３５】
図４乃至図７に対応する実施形態において、ウェブ・サーバ４００、プロキシ・サーバ５００、ブラウザ・クライアント６００、および管理サーバは機能ユニット／機能モジュールの形式で提供される。本明細書での「ユニット／モジュール」は、特定用途向け集積回路（ａｐｐｌｉｃａｔｉｏｎ−ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ、ＡＳＩＣ）回路、１つまたは複数のソフトウェアまたはファームウェア・プログラム、集積論理回路、および／または上述の機能を提供できる別のコンポーネントを実行できるプロセッサおよびメモリを指してもよい。単純な実施形態では、ウェブ・サーバ４００、プロキシ・サーバ５００、ブラウザ・クライアント６００、および管理サーバが図２に示す形であってもよいことを当業者は発見しうる。例えば、サーバ受信モジュール４０１、サーバ取得モジュール４０２、サーバ生成モジュール４０３、およびサーバ送信モジュール４０４を、図２のプロセッサおよびメモリを用いることによって実装してもよい。これらは、特に、当該プロセッサを用いて、当該メモリに格納されたプログラム・コードを実行することにより実装される。
【０１３６】
本発明の１実施形態ではさらに、上述の実施形態におけるウェブ・サーバにより使用されるコンピュータ・ソフトウェア命令を格納するように構成されたコンピュータ記憶媒体を提供する。当該コンピュータ記憶媒体は上述の方法の実施形態を実行するために設計されたプログラムを含む。当該ウェブサイト・アクセス方法を、当該格納されたプログラムを実行することにより実装してもよい。
【０１３７】
本発明の１実施形態ではさらに、上述のプロキシ・サーバにより使用されるコンピュータ・ソフトウェア命令を格納するように構成された別のコンピュータ記憶媒体を提供する。当該コンピュータ記憶媒体は上述の方法の実施形態を実行するために設計されたプログラムを含む。当該ウェブサイト・アクセス方法を、当該格納されたプログラムを実行することにより実装してもよい。
【０１３８】
本発明の１実施形態ではさらに、上述のクライアントにより使用されるコンピュータ・ソフトウェア命令を格納するように構成された別のコンピュータ記憶媒体を提供する。当該コンピュータ記憶媒体は上述の方法の実施形態を実行するために設計されたプログラムを含む。当該ウェブサイト・アクセス方法を、当該格納されたプログラムを実行することにより実装してもよい。
【０１３９】
本明細書では本発明を諸実施形態に関連して説明したが、保護を請求された本発明を実施するプロセスにおいて、当業者は、添付図面をチェックすることによって、当該開示された内容、および以下の特許請求の範囲、当該開示された実施形態に対する他の変更を理解し実装することができる。特許請求の範囲においては、「〜を含む」（ｃｏｍｐｒｉｓｉｎｇ）という用語は別の要素またはステップを排除せず、不定冠詞「ａ」または「ａｎ」は複数を排除しない。或るプロセッサまたは別のユニットが、特許請求の範囲に列挙された複数の機能を満たしてもよい。幾つかの手段は互いに異なる従属請求項に記録されているが、これらの手段を組み合せて良好な効果を生み出せないことは示さない。
【０１４０】
本発明の諸実施形態を方法、装置（デバイス）、またはコンピュータ・プログラム製品として提供してもよいことを当業者は理解すべきである。したがって、本発明が、ハードウェアのみの実施形態、ソフトウェアのみの実施形態、またはソフトウェアとハードウェアの組合せによる実施形態の形式を使用してもよい。さらに、本発明が、コンピュータ利用可能プログラム・コードを含む１つまたは複数のコンピュータ利用可能記憶媒体（ディスク・メモリ、ＣＤ−ＲＯＭ、光メモリ等を含むがこれらに限られない）で実装されるコンピュータ・プログラム製品の形式を使用してもよい。当該コンピュータ・プログラムは、適切な媒体に格納／分散され、他のハードウェアの一部とともに提供され、または、他の形態で、例えば、インターネットまたは他の有線または無線の電気通信システムを通じて分散されてもよい。
【０１４１】
本発明は、本発明の諸実施形態に従う方法、当該装置（デバイス）、およびコンピュータ・プログラム製品の流れ図および／またはブロック図を参照して説明されている。コンピュータ・プログラム命令を、当該流れ図および／または当該ブロック図における各プロセスおよび／または各ブロック、および当該流れ図および／または当該ブロック図におけるプロセスおよび／またはブロックの組合せを実装するために使用してもよいことは理解されるべきである。これらのコンピュータ・プログラム命令を、汎用目的コンピュータ、専用コンピュータ、組込み型プロセッサ、または任意の他のプログラム可能データ処理装置のプロセッサに提供してマシンを生成してもよく、その結果、任意の他のプログラム可能データ処理装置のコンピュータまたはプロセッサにより実行された命令は、当該流れ図内の１つまたは複数のプロセスおよび／または当該ブロック図内の１つまたは複数のブロックにおける特定の機能を実装するための装置を生成する。
【０１４２】
これらのコンピュータ・プログラム命令を、特定の方式で動作するようにコンピュータまたは任意の他のプログラム可能データ処理装置に指示できるコンピュータ可読メモリに格納してもよく、その結果、当該コンピュータ可読メモリに格納された命令は、命令装置を含む人工物を生成する。当該命令装置は、当該流れ図内の１つまたは複数のプロセスおよび／または当該ブロック図内の１つまたは複数のブロックにおける特定の機能を実装する。
【０１４３】
これらのコンピュータ・プログラム命令をコンピュータまたは別のプログラム可能データ処理装置にロードしてもよく、その結果、一連の動作およびステップが当該コンピュータまたは当該別のプログラム可能装置で実施され、それにより、コンピュータ実行型の処理が生成される。したがって、当該コンピュータまたは当該別のプログラム可能装置で実行される命令が、当該流れ図内の１つまたは複数のプロセスおよび／または当該ブロック図内の１つまたは複数のブロックにおける特定の機能を実装するためのステップを提供する。
【０１４４】
本発明を、その特定の機能と実施形態を参照して説明したが、明らかに、本発明の範囲から逸脱しない様々な修正および組合せを行ってもよい。対応して、本明細書と添付図面は添付の特許請求の範囲で定義された本発明の例示的な記述にすぎず、本発明の範囲内にある任意のおよび全ての修正、変更、組合せ、または均等物を包含すると考えられる。明らかに、当業者は、本発明の趣旨と範囲から逸脱しない様々な修正および変形を本発明に行うことができる。本発明は、これらの修正および変形が以下の特許請求の範囲とその均等な技術により定義される保護の範囲内にある限り、これらの修正および変形を包含することを意図している。
【符号の説明】
【０１４５】
２０１  プロセッサ
２０２  通信バス
２０３  メモリ
２０４  通信インタフェース
２０５  出力装置
２０６  入力装置
２０８  プロセッサ
４００  ウェブ・サーバ
４０１  サーバ受信モジュール
４０２  サーバ取得モジュール
４０３  サーバ生成モジュール
４０４  サーバ送信モジュール
５００  プロキシ・サーバ
５０１  インターセプト・モジュール
５０２  プロキシ取得モジュール
５０３  プロキシ生成モジュール
５０４  プロキシ送信モジュール
６００  ブラウザ・クライアント
６０１  クライアント受信モジュール
６０２  クライアント送信モジュール
６０３  記憶ユニット
６０４  処理モジュール
６０５  ＡＪＡＸエンジン
【図１Ａ】
0006410280.tif 000002
【図１Ｂ】
0006410280.tif 000003
【図１Ｃ】
0006410280.tif 000004
【図２】
0006410280.tif 000005
【図３】
0006410280.tif 000006
【図４】
0006410280.tif 000007
【図５】
0006410280.tif 000008
【図６】
0006410280.tif 000009
【図７】
0006410280.tif 000010