(57)【要約】【課題】従来のウェブアクセスにおけるネットワークトラフィックの軽減方法には、ウェブページに埋め込まれた画像などのオブジェクトをＵＲＬに関連付けてキャッシュに保存し、その後同じＵＲＬで指定されたオブジェクトはキャッシュより読み出す方法が一般的であった。 しかしながら、従来の方法によれば、ユーザーが同じウェブページをリロードした場合には同じＵＲＬが指定されていてもウェブページやオブジェクトをウェブサーバーよりダウンロードする慣例になっているなどの制約があった。【解決手段】本発明は、ユーザーが前回と同じウェブページをリロードした場合でも、オブジェクトが前回のアクセス時と同じであることをオブジェクトを特定する識別子により判定し、同じであればキャッシュより読み込み、冗長的なダウンロードを防止してネットワークトラフィックを軽減する機能を備えるシステムを提供する。【選択図】  図９ 
2005128874.tif 000002
【特許請求の範囲】
【請求項１】
インターネット上のウェブサーバーに保存された閲覧可能なウェブページ１や、今後ウェブサーバーで公開する目的でコンピュータ読み込み可能な記憶媒体に保存されたウェブページ２、あるいは前記ウェブページ１および２からハイパーリンクされたウェブページ群に埋め込まれた画像、アプレット、ＨＴＭＬ形式のファイルなどの各々のオブジェクトに対してオブジェクトを特定する固定長あるいは可変長の識別子を割り当てることによって構築した、識別子によりオブジェクトの検索を可能にしたデータベースを記録したコンピュータで読み取り可能な記録媒体。
【請求項２】
従来のウェブページに埋め込まれた、画像、アプレット、ＨＴＭＬ形式のファイルなどのオブジェクトへのハイパーリンクに、従来のＵＲＬによる指定に加えて、 オブジェクト特有の固定長あるいは可変長の識別子を追記して更新したウェブページを従来のウェブページに代えて提供するウェブサーバー。
【請求項３】
コンピューターに、インターネット上のウェブサーバーに保存された閲覧可能なウェブページ１や、今後ウェブサーバーで公開する目的でコンピュータ読み込み可能な記憶媒体に保存されたウェブページ２を読み込む機能１と、前記ウェブページ上でハイパーリンクにより埋め込まれた、画像、アプレット、ＨＴＭＬ形式のファイルなどのオブジェクトを読み込み、各々のオブジェクトに対して、オブジェクトを特定する固定長あるいは可変長の識別子を割り当てる機能２と、前記識別子によりオブジェクトの検索を可能にしたデータベースを構築する機能３と、入力されたウェブページ上のオブジェクトへのハイパーリンクに、従来のＵＲＬによる指定に加えて、前記オブジェクトに割り当てられた識別子を追記して更新されたウェブページを出力する機能４と、前記機能１で読み込んだウェブページ１および２から、他のウェブページへのハイパーリンクを自動的に辿りながら機能２、機能３、機能４を実施することを可能にする機能５、を実現させるためのプログラム。
【請求項４】
請求項２のサーバーが提供するウェブページにアクセスし、ハイパーリンクからダウンロードされるオブジェクトをそのハイパーリンクに指定される識別子に関連付けてデータベースに保存し、その後同一の識別子によって指定されるオブジェクトは、たとえリロードの場合であっても、前記データベースから読み出す機能１と、別途請求項１の配布可能な記録媒体からデータベースを構築または追記し、識別子に対応するオブジェクトを読み出す機能２の、いずれか、あるいは両方を、ウェブブラウザーあるいは既存のウェブブラウザーに埋め込むプラグインの形で、コンピュータに実現させるためのプログラム。
【請求項５】
請求項４のプログラムを記録したコンピュータで読み取り可能な記録媒体。
【請求項６】
請求項４のブラウザープログラムあるいはプラグインを追加された既存のブラウザープログラムを搭載する電子機器。
【請求項７】
請求項１のデータベースを記録したコンピュータ読み取り可能記録媒体と、請求項４のブラウザープログラム、あるいは、既存のブラウザー用のプラグインプログラムを記録した請求項５のコンピュータ読み取り可能記録媒体とをユーザーに配布またはダウンロードさせることにより、前記ユーザーが請求項６の電子機器を構築し、請求項２のウェブサーバーにアクセスすることにより、ウェブページの閲覧をする際に生じるネットワークトラフィックを軽減させる通信システム。
【請求項８】
ウェブサーバーを所有する業者が自ウェブサーバに対して請求項１のデータベースを記録したコンピュータ読み取り可能記録媒体と、請求項４のブラウザープログラム、あるいは、既存のブラウザー用のプラグインプログラムを記録した請求項５のコンピュータ読み取り可能記録媒体をユーザーに無料や有料で配布し、請求項７に記述された通信システムを利用することにより無線接続やモデム接続などの帯域の小さな回線で接続されているユーザーのアクセス速度を改善したり、ネットワークトラフィックを軽減させてユーザーや業者の回線利用のコストを削減したり、また業者の所有するウェブサーバーへの負荷を軽減することにより、自ウェブサーバーへのアクセスを促進するビジネスモデル。
【請求項９】
自ウェブサーバーを所有する業者１のために、業者１以外の他業者２が、業者１のウェブサーバに対して請求項１のデータベースを記録したコンピュータ読み取り可能記録媒体と、請求項４のブラウザープログラム、あるいは、既存のブラウザー用のプラグインプログラムを記録した請求項５のコンピュータ読み取り可能記録媒体とをユーザーに無料や有料で配布し、請求項７に記述された通信システムを利用することにより無線接続やモデム接続などの帯域の小さな回線で接続されているユーザーのアクセス速度を改善したり、ネットワークトラフィックを軽減させてユーザーおよび業者１の回線利用のコストを削減したり、また業者１の所有するウェブサーバーへの負荷を軽減することにより、業者１のウェブサーバーへのアクセスを促進し、その対価としてサービス料を徴収するビジネスモデル。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、インターネットにおいて、画像やプログラムなどのオブジェクトを含むウェブページにアクセスする際に生じるネットワークトラフィックを軽減することを可能にする通信システムに関するものである。
【背景技術】
【０００２】
従来のウェブアクセスにおけるネットワークトラフィックの軽減方法には、ウェブページに埋め込まれた画像などのオブジェクトをそのＵＲＬに関連付けてブラウザーのキャッシュに保存し、その後同じＵＲＬで指定されたオブジェクトにアクセスする際に、ウェブサーバーではなくブラウザーのキャッシュより読み出すことによって新たなネットワークトラフィックを生じさせない方法が一般的であった。
【非特許文献１】Ｈｙｐｅｒｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ  ＨＴＴＰ／１．０，  Ｎｅｔｗｏｒｋ  Ｗｏｒｋｉｎｇ  Ｇｒｏｕｐ  Ｒｅｑｕｅｓｔ  ｆｏｒ  Ｃｏｍｍｅｎｔｓ（ＲＦＣ）：１９４５，Ｔ．Ｂｅｒｎｅｒｓ−Ｌｅｅ，Ｒ．Ｆｉｅｌｄｉｎｇ，Ｈ．Ｆｒｙｓｔｙｋ，Ｍａｙ  １９９６．
【非特許文献２】Ｈｙｐｅｒｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ  ＨＴＴＰ／１．１，  Ｎｅｔｗｏｒｋ  Ｗｏｒｋｉｎｇ  Ｇｒｏｕｐ  Ｒｅｑｕｅｓｔ  ｆｏｒ  Ｃｏｍｍｅｎｔｓ（ＲＦＣ）：２６１６，Ｒ．Ｆｉｅｌｄｉｎｇ，Ｊ．Ｇｅｔｔｙｓ，Ｊ．Ｍｏｇｕｌ，Ｈ．Ｆｒｙｓｔｙｋ，Ｌ．Ｍａｓｉｎｔｅｒ，Ｐ．Ｌｅａｃｈ，Ｔ．Ｂｅｒｎｅｒｓ−Ｌｅｅ，Ｊｕｎｅ  １９９９．
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、以上の技術によれば、（１）ユーザーがブラウザーのリロードボタンにより前回と同じウェブページを要求した場合には同じＵＲＬが指定されているにも関わらずオブジェクトをブラウザーキャッシュから読み込まず、ウェブサーバーよりネットワーク経由でダウンロードする慣例になっているという制約があった。これは、従来の通信方式では、オブジェクトが最新のものであるか、あるいは、以前ダウンロードされたものと同じものであるかどうかを簡単に検査する手段がなかったことに起因する。また更に、（２）最初にオブジェクトにアクセスする際には、まずそのオブジェクトをウェブサーバーよりネットワーク経由でダウンロードする必要があるという制約があった。
【０００４】
そこで、本発明は、（１）ユーザーがブラウザーのリロードボタンにより前回と同じウェブページを要求した場合でも、オブジェクトが前回のアクセス時と同じであることをオブジェクトの特徴や内容に基づく識別子により判定し、同じであればそのオブジェクトをブラウザーのキャッシュより読み込み、ウェブサーバーから再度ネットワーク経由による冗長的なダウンロードを防止する、また更に、（２）識別子からオブジェクトを検索できるデータベースを、コンピュータで読み取り可能な記録媒体で提供して、非ネットワーク経由でブラウザーキャッシュに読み込ませることにより、オブジェクトに対する初回のアクセスの際にもネットワークトラフィックを軽減することを課題とする。
【課題を解決するための手段】
【０００５】
以上の課題を解決するために、第一発明は、インターネット上のウェブサーバーに保存された閲覧可能なウェブページ１や、今後ウェブサーバーで公開する目的でコンピュータ読み込み可能な記憶媒体に保存されたウェブページ２、あるいは前記ウェブページ１および２からハイパーリンクされたウェブページ群に埋め込まれた画像、アプレット、ＨＴＭＬ形式のファイルなどの各々のオブジェクトに対してオブジェクトを特定する固定長あるいは可変長の識別子を割り当てることによって構築した、識別子によりオブジェクトの検索を可能にしたデータベースを記録したコンピュータで読み取り可能な記録媒体である。
【０００６】
ウェブページに埋め込まれたオブジェクトは通常ファイルの形でウェブサーバーに保存される。ファイルはバイナリデータを含むため、オブジェクトからそのバイナリデータは容易に抽出することができる。図１に示すように、オブジェクトのファイル１００により与えられたオブジェクトに対する識別子は、オブジェクトのバイナリデータ１０１を入力として、特定のハッシュ関数１０２を適用した際の出力である（元のオブジェクトのバイナリーデータよりも短いバイト数の）固定長あるいは可変長のハッシュ値を１６進数で表したアスキー表現を基本識別子１０４として用いる。また、前記識別子は、前記基本識別子に、オブジェクトのその他の特徴（オブジェクトのバイナリデータのバイト数で表されたオブジェクトのサイズ、著作権情報やウェブサーバーの所有者など）の情報のアスキー表現１０５をバイナリーデータに変換したもの１０６を入力として、特定のハッシュ関数１０７から出力として得られる固定長あるいは可変長のハッシュ値を１６進数で表したアスキー表現を付加識別子１０８として用いることもできる。識別子は前記基本識別子のみで構成される場合と、前記基本識別子に前記付加識別子を組み合わせて構成される場合がある。
【０００７】
第一発明では、前記識別子を導くために用いられるハッシュ関数や、オプションとして追加するオブジェクトのその他の特徴については特定しないが、ハッシュ関数は、（１）一方向関数であり、（２）入力が少しでも異なれば、異なる結果を出力し、また、（３）同じ出力を得るための入力を推測することが困難であるもの、を用いるのが望ましい。このようなハッシュ関数の具体例には、ＭＤ５、ＲＩＰＥＭＤ，ＳＨＡ，およびＴｉｇｅｒなどが挙げられる。例えば、特定のハッシュ関数としてＭＤ５を用いる場合、任意長のサイズのオブジェクトのバイナリデータから固定長１２８ビットの出力を得ることができるが、このＭＤ５による出力は、一方向関数により生成され、またオブジェクトが少しでも異なれば、全く異なる１２８ビットの出力が得られ、また、その出力を与えるオブジェクトを推測することは困難であるなどの特徴を備える。
【０００８】
第一発明の出力であるデータベースは、図２に示されるように、コンピュータ読み取り可能な記録媒体に実現された、識別子２０１を検索キーとし、オブジェクトのファイル名２０２を値とするハッシュテーブル２００と、コンピュータ読み取り可能な記録媒体に実現された、ファイル名２０４を検索キーとしてオブジェクトのファイル２０５を取り出すことのできるファイルシステム２０３とで構成される。このファイル名は、識別子そのものを用いる場合や、識別子を元にして、細かくディレクトリ構造を指定して用いる場合、あるいはオブジェクトのＵＲＬをディレクトリ構造とみなして同じディレクトリ構造を用いる場合などがある。例えば、あるオブジェクト１に対する識別子がＡ６ＢＣ６Ｅ９７で与えられる場合は、ファイル名をＡ６ＢＣ６Ｅ９７とする場合や、識別子を元に、細かくディレクトリ構造を指定して、／Ａ／６／Ｂ／Ｃ／６／Ｅ／９／７などのファイル名を用いる場合も考えられる（ただし、／はディレクトリおよびサブディレクトリを表すプリフィックスとする）。また、例えばあるオブジェクトのＵＲＬが、ｈｔｔｐ：／／Ｘ／Ｙ／Ｚで与えられる場合、これをディレクトリ構造とみなして、／Ｘ／Ｙ／Ｚをファイル名として用いる場合も考えられる。第一発明は、このファイル名の生成方法は特定しないが、識別子に基づいてディレクトリなどの階層構造を利用するなどファイルシステム上でのオブジェクトの検索を効率的に行うようなファイル名の生成方法が望ましい。なお、最初の例で、ファイル名に識別子を用いる場合には、ハッシュテーブル２００を省略することが可能であるが、第一発明はこのような場合も可能な実施例として含める。第一発明のデータベースは、各オブジェクトに対し識別子とファイル名を生成した後、前記識別子を検索キー、前記ファイル名を値として、ハッシュテーブルに記録し、また、同時にそのオブジェクトを前記ファイル名でファイルシステムに保存することによって構築される。
【０００９】
第二発明は、画像、アプレット、ＨＴＭＬ形式のファイルなどのオブジェクトへのハイパーリンクに、従来のＵＲＬによる指定に加えて、各々のオブジェクトに割り当てられた識別子を追記してウェブページを提供するウェブサーバーである。このようなオブジェクトへのハイパーリンクを表すＨＴＭＬタグには、例えば、＜ＩＭＧ＞、＜ＡＰＰＬＥＴ＞、＜ＯＢＪＥＣＴ＞、＜ＥＭＢＥＤ＞、＜Ａ＞などが挙げられるが、本発明は同様にオブジェクトへのハイパーリンクを表すその他のＨＴＭＬタグも全て包括するものとする。第二発明のウェブサーバーは以下に述べる２種類の方法によって、前記のウェブページを提供する。まず第一の方法は、オブジェクトへのハイパーリンクに明示的に識別子を追加する方法である。これは具体的には、ハイパーリンクを表すＨＴＭＬタグに新規のアトリビュート，例えばＯｂｊｅｃｔＩＤの略号を表すＯＩＤを追加表記することによって実現される。本発明は、前記、新規アトリビュートの名称に関しては特定しないが、これらのアトリビュートがオブジェクトを特定する識別子を指定するために定義されるものであることを定める。以下の説明においては簡単のため前記アトリビュートを表す名称としてＯＩＤを用いることとする。第二発明で用いられる各オブジェクトに対する識別子の生成方法は、第一発明で前述された識別子の生成方法と同一である。図３に、画像へのハイパーリンクを表すＨＴＭＬタグである＜ＩＭＧ＞の例を挙げる。例えば、オブジェクトの一つでありｉｍａｇｅ．ｊｐｇという名前でウェブサーバーに保存されているＪＰＥＧ画像（３０２）へのハイパーリンクが従来の表記で＜ＩＭＧ  ＳＲＣ＝”ｉｍａｇｅ．ｊｐｇ“＞によって与えられている場合（３０１）で、このオブジェクトに対して識別子Ａ６ＢＣ６Ｅ９７を割り当てる場合、第二発明のウェブサーバーは、前記ＪＰＥＧ画像（３０４）へのハイパーリンクを＜ＩＭＧ  ＳＲＣ＝”ｉｍａｇｅ．ｊｐｇ“  ＯＩＤ＝”Ａ６ＢＣ６Ｅ９７”＞と表記する（３０３）ウェブページを提供する。第二の方法は、オブジェクトへのハイパーリンクに暗示的に識別子を埋め込む方法である。この方法は、ハイパーリンクに示されたオブジェクトへのリンク名の中に、識別子を埋め込むことによって実現される。例えば、オブジェクトの一つでありｉｍａｇｅ．ｊｐｇという名前でウェブサーバーに保存されているＪＰＥＧ画像（４０２）へのハイパーリンクが従来の表記で＜ＩＭＧ  ＳＲＣ＝”ｉｍａｇｅ．ｊｐｇ“＞によって与えられている場合（４０１）で、、このオブジェクトに対して識別子Ａ６ＢＣ６Ｅ９７を割り当てる場合、第二発明のウェブサーバーは、前記ＪＰＥＧ画像へのハイパーリンクを＜ＩＭＧ  ＳＲＣ＝” Ａ６ＢＣ６Ｅ９７．ｊｐｇ“＞と表記する（４０３）ウェブページを提供する。この際、前記ウェブサーバーは、このオブジェクトをＡ６ＢＣ６Ｅ９７．ｊｐｇというファイル名に変換して保存する（４０４）。この場合、新規にアトリビュートを付加することなく、ファイル名の一部を参照することにより、オブジェクトに対応する識別子を取り出すことが可能になる。
【００１０】
第三発明は、コンピューターに、インターネット上のウェブサーバーに保存された閲覧可能なウェブページ１や、今後ウェブサーバーで公開する目的でコンピュータ読み込み可能な記憶媒体に保存されたウェブページ２を読み込む機能１と、前記ウェブページ上でハイパーリンクにより埋め込まれた、画像、アプレット、ＨＴＭＬ形式のファイルなどのオブジェクトを読み込み、各々のオブジェクトに対して、オブジェクトを特定する固定長あるいは可変長の識別子を割り当てる機能２と、前記識別子によりオブジェクトの検索を可能にしたデータベースを構築する機能３と、入力されたウェブページ上のオブジェクトへのハイパーリンクに、従来のＵＲＬによる指定に加えて、前記オブジェクトに割り当てられた識別子を追記して更新されたウェブページを出力する機能４と、前記機能１で読み込んだウェブページ１および２から、他のウェブページへのハイパーリンクを自動的に辿りながら機能２、機能３、機能４を実施することを可能にする機能５、を実現させるためのプログラムである。これらの機能のうち機能２および機能３については、第一発明のデータベースの構築で前述されたオブジェクトへの識別子の割り当て方法およびデータベースの構築方法と同一であり、また機能４については、第二発明で前述されたウェブページの更新方法と同一である。従って、機能１と機能５について以下に詳述する。
【００１１】
第三発明のプログラムは、機能１において、インターネット上のウェブサーバーに保存された閲覧可能なウェブページ１を読み込む際に、前記ウェブページ１のＵＲＬを入力とする。このＵＲＬは前記ウェブページ１をネットワーク経由で読み込む際のダウンロードに用いられる。また、前記プログラムは、今後ウェブサーバーで公開する目的でコンピュータ読み込み可能な記憶媒体に保存されたウェブページ２を読み込む際に、前記ウェブページ２のファイル名および前記ウェブページ２が公開されるときに保存されるＵＲＬを入力とする。このファイル名は、前記ウェブページ２を読み込む際に用いられ、またＵＲＬは、前記プログラムの機能３において構築されるデータベースのファイルシステムでファイル名を命名する際に用いられる。  前記プログラムは、ウェブページを読み込んだ後、ＨＴＭＬタグを解釈し、必要なオブジェクトへのハイパーリンクを抽出し、機能２，機能３、機能４の処理を実行する。第三発明のプログラムは、機能５において、まず指定されたリンクの深さを入力とし、読み込まれたウェブページのＨＴＭＬタグを解釈し、必要なウェブページ群へのハイパーリンクを抽出し、それらを指定されたリンクの深さ以内で順次辿ることによって、機能２，機能３、機能４の処理を実行する。
【００１２】
第三発明のプログラムのフローチャートを図５に示す。第三発明のプログラムは、まずＵＲＬとファイル名および辿るリンクの深さを入力し、また、現在のリンクの深さを１に初期化するブロック５０１を起点とし、以下後述のウェブページのスタックが空になるまで、ブロック５０２からブロック５１１までのループを順次処理する。前記プログラムはブロック５０２でＵＲＬあるいはファイル名によって指定されたウェブページを読み込み、以下そのウェブページの終わりが検出されるまで、ブロック５０３からブロック５１０で示されたループを順次処理する。まず、ブロック５０３で各ＨＴＭＬタグを読み込み、ブロック５０４で前記ＨＴＭＬタグがオブジェクトへのハイパーリンクかどうかを検査する。前記ＨＴＭＬタグがオブジェクトへのハイパーリンクの場合、ブロック５０６へ進み、オブジェクトをダウンロードした後、オブジェクトに対する識別子を生成し、その識別子とオブジェクトを関連付けてデータベースに追加してブロック５０７へ進む。ブロック５０４で前記ＨＴＭＬタグがオブジェクトへのハイパーリンクで無い場合もブロック５０７へ進む。ブロック５０７では、ウェブページのハイパーリンクを検出し、ウェブページのハイパーリンクが検出された場合、ブロック５０８に進み、前記ウェブページのリンクの深さ（現在のリンクの深さに１を加えたもの）がブロック５０１で入力された指定のリンクの深さ以内である場合、ブロック５０９に進む。ブロック５０９では、ウェブページのＵＲＬあるいはファイル名を前記ウェブページのリンクの深さ（現在のリンクの深さに１を加えたもの）と共にウェブページのスタックに追加してブロック５１０に進む。ブロック５０７でウェブページへのハイパーリンクが検出されない場合や、またブロック５０８でウェブページのリンクの深さが指定のリンクの深さ以内でない場合はブロック５１０に進む。ブロック５１０ではＨＴＭＬファイルの終わりを検出し、もし終わりでない場合はループの起点であるブロック５０３に戻るが、もし終わりの場合はブロック５１１に進む。ブロック５１１ではウェブページのスタックを検査し、もしスタックが空でない場合は、その中からウェブページのＵＲＬあるいはファイル名、そしてリンクの深さを取り出し、現在のリンクの深さを前記のリンクの深さで更新し、ブロック５０２に戻ってＵＲＬあるいはファイル名で指定されるウェブページを処理する。もしスタックが空の場合は終点であるブロック５１２に進んでこのプログラムは終了する。
【００１３】
第四発明は、第二発明のウェブサーバーが提供するウェブページにアクセスし、ハイパーリンクからダウンロードされたオブジェクトをそのハイパーリンクに指定されたＵＲＬと新規に追加された識別子に従ってデータベースに保存し、その後同一の識別子によって指定されたオブジェクトは、たとえリロードの場合であっても、データベースから読み出す機能１と、別途第一発明の配布可能な記録媒体からインストールされたデータベースを利用してキャッシュを構築し、識別子に対応するオブジェクトを読み出す機能２の、いずれかあるいは両方を、ウェブブラウザー、あるいは既存のウェブブラウザーに埋め込むプラグインの形で、コンピュータに実現させるためのプログラムである。前記プログラムは図８に示すように、、２種類のキャッシュを利用する。８０１に示される第一のキャッシュ（キャッシュ１）は、前記識別子によってオブジェクトにアクセスするデータベースによって提供されるキャッシュであり、８０２に示される第二のキャッシュ（キャッシュ２）は、ＵＲＬを検索キーとしてオブジェクトにアクセスする従来の既存ブラウザーによって実現されているキャッシュである。
【００１４】
第四発明の機能１は、図６のフローチャートによって示される、ＨＴＭＬ形式のファイルを解釈する実行ルーチンによって実現される。なお、このプログラムが、既存のウェブブラウザーに埋め込むプラグインの形で提供される場合は、図６に示されるように、破線で囲まれた処理部分６１３がプラグインとして提供され、既存のブラウザーに組み込まれることによって、機能１が実現される。ただし、図６のフローチャートは、ブラウザーの機能のうち、ＨＴＭＬ形式のファイルを解釈する実行ルーチンのみを示しており、ブラウザーのその他の処理を行う実行ルーチン（画面のレンダリング、ユーザーインタフェースなど）については既存のブラウザーと同じであるため本発明の記述からは省略する。図６のフローチャートにおいて、第四発明のプログラムは、まずＨＴＭＬ形式のファイルを読み込むブロック６００を起点とし、このファイルに記述されたＨＴＭＬタグをブロック６０１からブロック６１１に示されるループによって順次処理する。前記プログラムは、ブロック６０１にてまず各ＨＴＭＬタグを読み込み、ブロック６０２にてそのＨＴＭＬタグがハイパーリンクであるかどうかを検査する。もしＨＴＭＬタグがハイパーリンクでないならば、ブロック６１０にて通常のタグ処理を行うが、ハイパーリンクならば、ブロック６０３に進み、ＨＴＭＬタグのアトリビュートに識別子が含まれるかどうかを検査する。 ＨＴＭＬタグのアトリビュートに識別子が含まれない場合、ブロック６０６に進む。ＨＴＭＬタグのアトリビュートに識別子が含まれる場合は、ブロック６０４に進む。ブロック６０４では、識別子がキャッシュ１に存在するかを検査し、もし存在するならブロック６０５に進み、オブジェクトを識別子をキーとしてキャッシュ１より読み出した後、ブロック６０９に進む。ブロック６０４で、識別子がキャッシュ１に存在しない場合、ブロック６０６に進む。ブロック６０６では、ユーザーの指示がページのリロードではなく、かつ、ハイパーリンクに指定されたＵＲＬがキャッシュ２に存在するか検査し、もしそうであるならブロック６０７でオブジェクトをＵＲＬをキーとしてキャッシュ２より読み出した後、ブロック６０９に進む。もし、ＵＲＬがキャッシュ２に存在しないなら、ブロック６０８に進み、オブジェクトをダウンロードした後、ブロック６０９に進む。ブロック６０９では、読み込んだオブジェクトに対して、識別子を生成した後、その識別子をキーとして、オブジェクトをキャッシュ１に保存する。ただし、制御がブロック６０５からブロック６０９に遷移した場合は、実際の識別子やオブジェクトは変更を受けていないため、これらがキャッシュ内で更新されるとは限らない。この場合は、キャッシュ１が読まれたことを示すメタデータなどの更新のみが行われるのが普通である。その後、ブロック６１０では、ブラウザーの他の機能（レンダリングのためのデータ構築など）である通常のＨＴＭＬタグの処理を行う。続くブロック６１１ではＨＴＭＬ形式のファイルの終点までＨＴＭＬタグを読み込んだかどうかを検査し、もし終点でなければループの起点であるブロック６０１に戻り、もし終点ならばブロック６１２に進みこのＨＴＭＬ形式のファイルを解釈する実行��ーチンを終了する。
【００１５】
第四発明の機能２は、図７のフローチャートによって示される、ＨＴＭＬ形式のファイルを解釈する実行ルーチンの前段階のブロック７０１で、別途第一発明の配布可能な記録媒体に記録されたデータベースをキャッシュ１にインストールし、前記機能１のフローチャートによって示される処理をブロック７０２で実行することによって実現される。
【００１６】
第五発明は、前記第四発明のプログラムを記録したコンピュータで読み取り可能な記録媒体である。
【００１７】
第六発明は、前記第四発明のブラウザープログラムあるいはプラグインを追加された既存のブラウザープログラムを搭載する電子機器である。
【００１８】
第七発明は、第一発明のデータベースを記録したコンピュータ読み取り可能記録媒体と、第四発明のブラウザープログラム、あるいは、既存のブラウザー用のプラグインプログラムを記録した第五発明のコンピュータ読み取り可能記録媒体とをユーザーに配布またはダウンロードさせることにより、前記ユーザーが第二発明のウェブサーバーにアクセスしてウェブページの閲覧をする際に生じるネットワークトラフィックを軽減させる通信システムである。図９に示されているように、第一発明の記録媒体９０７と第五発明の記録媒体９１０がＣＤ−ＲＯＭやＤＶＤ−ＲＯＭなどの物理的に配布可能な記録媒体で提供される場合、ユーザーはこの記録媒体からオブジェクトのデータベース９０４と第四発明のブラウザープログラム９０６（プラグインを追加されたブラウザープログラムも含むが以下簡単にブラウザーと呼ぶ）を自分の電子機器９０３にインストールすることにより、第二発明のウェブサーバー９０１に保存されたウェブページ９０２を閲覧する際に、ブラウザーを用いてまず識別子を含むハイパーリンクをダウンロードし、その識別子に従ってデータベース９０４からオブジェクトを読み出すことによって、全くネットワークを介さずにオブジェクトを閲覧することが可能になる。また、第一発明の記録媒体９０７および第五発明の記録媒体９１０が、ネットワーク経由で配布される場合でも、初回にユーザーがこれらの記録媒体に記録されたブラウザー９０６をインストールし、また、データベースをブラウザー９０６に付随するデータベース９０４にインストールしてしまえば、その後は物理的に配布された場合と同じように、更新されていないオブジェクトに対し、識別子に従ってデータベース９０４からオブジェクトを読み出すことによって全くネットワークを介さずにオブジェクトを閲覧することが可能になる。
【００１９】
従来のブラウザーでは、ユーザーがブラウザーのリロードボタンを押して、明示的にウェブサーバーから再度ウェブページをダウンロードするようにブラウザーに指示した場合には、最新のオブジェクトを含む最新のウェブページをダウンロードする慣例になっている。これは、従来の通信方式に、オブジェクトが最新のものであるか、あるいは、以前ダウンロードされたものと同じものであるかどうかを簡単に検査する手段がなかったことに起因する。従って、従来の通信方式では、オブジェクトが最新のものである場合や、以前ダウンロードされたものを同じものである場合にも、リロードの際には再度オブジェクトがダウンロードされるために、ネットワークトラフィックの軽減を実現できなかった。しかしながら、第七発明で提案される通信方式では、ユーザーがブラウザーのリロードボタンを押して、明示的にウェブサーバーから再度ウェブページをダウンロードするようにブラウザーに指示した場合でも、第四発明のブラウザーが、まずハイパーリンクを含むウェブページを最初にダウンロードした段階でオブジェクトの識別子を検査でき、また、オブジェクトの識別子が同じである限り、そのオブジェクトはローカルなデータベースに保存されたものと同一であることが判断できる。つまり、オブジェクトがローカルなデータベースに保存されている場合は、ブラウザーはそのオブジェクトをネットワーク経由でダウンロードする必要はなく、ローカルなデータベースから読み込まれる。従って、本発明で提案される通信方式は、リロードの際でも有効なネットワークトラフィックの軽減方法を実現する。
【００２０】
第八発明は、ウェブサーバーを所有する業者１が自ウェブサーバに対して、第一発明のデータベースを記録したコンピュータ読み取り可能記録媒体と、第四発明のブラウザープログラム、あるいは、既存のブラウザー用のプラグインプログラムを記録した第五発明のコンピュータ読み取り可能記録媒体とをユーザーに無料や有料で配布し、第七発明に記述された通信システムを利用することにより無線接続やモデム接続などの帯域の小さな回線で接続されているユーザーのアクセス速度を改善したり、ネットワークトラフィックを軽減させてユーザーの回線利用のコストを削減することにより、自ウェブサーバーアクセスを促進するビジネスモデルである。
【００２１】
図１０に示されたように、ウェブサーバーを所有する業者１（１００１）は無料または有料で第一発明の記録媒体１００２と、第四発明のブラウザープログラム、あるいは、既存のブラウザー用のプラグインプログラムを記録した第五発明のコンピュータ読み込み可能記録媒体１００３をユーザーに無料や有料で配布する。ユーザー１００４は、前記データベースおよびブラウザーを自分の電子機器にインストールし、このウェブサーバーを所有する業者とユーザーとの間で、第七発明で記述された通信方式を実践することによって、ネットワークトラフィックの軽減を実現する。ただし、この通信方式は、業者１との通信において有効な方法であり、業者１以外の、ウェブサーバーを所有する業者２との通信においては有効ではない。つまり、ユーザーは、業者１との通信にのみ、ネットワークトラフィックの軽減を実現できるわけである。ネットワークトラフィックの軽減は、無線接続やモデム接続などの帯域の小さな回線で接続されているユーザーのアクセス速度を改善したり、ネットワークトラフィックを軽減させてユーザーや業者１の回線利用のコストを削減したり、また業者１の所有するウェブサーバーへの負荷を軽減させる効果があるため、業者１は多くのユーザーに対し、他業者２に比較して、業者１の所有するウェブサーバーへのアクセスを促進することが期待できる。
【００２２】
第九発明は、自ウェブサーバーを所有する業者１のために、業者１以外の他業者２が、業者１のウェブサーバに対して第一発明のデータベースを記録したコンピュータ読み取り可能記録媒体１１０４と、第四発明のブラウザープログラム、あるいは、既存のブラウザー用のプラグインプログラムを記録した第五発明のコンピュータ読み取り可能記録媒体１１０５とをユーザーに無料や有料で配布し、第七発明に記述された通信システムを利用することにより無線接続やモデム接続などの帯域の小さな回線で接続されているユーザーのアクセス速度を改善したり、ネットワークトラフィックを軽減させてユーザーおよびサーバーを所有する会社の回線利用のコストを削減することにより、業者１のウェブサーバーアクセスを促進し、その対価としてサービス料を徴収するビジネスモデルである。 図１１に示されたように、ウェブサーバーを所有する業者１（１１０１）は業者２（１１０２）にサービス料を支払い、第一発明のデータベース１１０４と、第四発明のブラウザープログラム、あるいは、既存のブラウザー用のプラグインプログラムを記録した、第五発明のコンピュータ読み込み可能な記録媒体１１０５をユーザーに提供するサービスと、および、業者１の所有するウェブサーバーに保存されているウェブページおよびオブジェクトから、識別子で指定されるオブジェクトを含むウェブページ１１０６を生成するサービスを委託する。業者２はこのサービスの委託を受け、ユーザー１１０３に対し、第一発明のデータベースと、第四発明のブラウザーを無料や有料で配布する。ユーザー１１０３は、前記データベースおよびブラウザーを自分の電子機器にインストールし、前記ウェブサーバーを所有する業者１とユーザーとの間で、第七発明で記述された通信方式を実施することによって、ネットワークトラフィックの軽減を実現する。ただし、この通信方式は、業者１との通信において有効な方法であり、業者１以外の、ウェブサーバーを所有する業者３との通信においては有効ではない。つまり、ユーザーは、業者１との通信にのみ、ネットワークトラフィックの軽減を実現できるわけである。 ネットワークトラフィックの軽減は、無線接続やモデム接続などの帯域の小さな回線で接続されているユーザーのアクセス速度を改善したり、ネットワークトラフィックを軽減させてユーザーの回線利用のコストを削減したり、また業者１の所有するウェブサーバーへの負荷を軽減させる効果があるため、業者１は多くのユーザーに対し、他業者３に比較して、業者１の所有するウェブサーバーへのアクセスを促進することが期待できる。
【発明の効果】
【００２３】
本発明の請求項１〜９によれば、（１）ユーザーがブラウザーのリロードボタンにより前回と同じウェブページを要求した場合でも、オブジェクトが前回のアクセス時と同じであることをオブジェクトの特徴に基づく識別子により判定し、同じであればそのオブジェクトをブラウザーに付随するデータベースより読み込み、ウェブサーバーから再度ネットワーク経由による冗長的なダウンロードを防止する、また更に、（２）識別子からオブジェクトを検索できるデータベースを、コンピュータで読み取り可能な記録媒体で提供して、非ネットワーク経由でブラウザーキャッシュに読み込ませることにより、オブジェクトに対する初回のアクセスの際にもネットワークトラフィックを軽減する、という機能を備えるシステムを提供することにより、ウェブアクセスにおけるネットワークトラフィックを軽減させるという優れた効果を奏し得る。
【発明を実施するための最良の形態】
【００２４】
以下、本発明の実施の形態を図示例と共に説明する。以下の説明を持って示された図１〜図１１は発明を実施する形態の一例である。 この実施形態において、第一発明におけるデータベースは、図１のハッシュ関数１０２にはＭＤ５を用いて、また、識別子としては１２８ビット固定長の基本識別子のみを用いる。また、図２のハッシュテーブル２００は識別子の最上位１６ビットをハッシュのキーとして６５５３６エントリーのバケットを持ち、またファイル名はオブジェクトが保存されているＵＲＬをディレクトリ構造とみなして同じディレクトリ構造を用いて命名される。また図２のファイルシステム２０３は前記ファイル名によってオブジェクトを保存して、データベースを構築する。この実施形態において、第一発明におけるコンピュータ読み取り可能な記録媒体は、前記データベースを記録したＣＤ−ＲＯＭとして実施される。
【００２５】
この実施形態において、第二発明におけるウェブサーバーは、その提供するＨＴＭＬ形式のウェブページに含まれる、オブジェクトへのハイパーリンクの中で、従来のＵＲＬによる指定に加えて、各々のオブジェクトに割り当てられた識別子を追記する。前記識別子を追加するオブジェクトへのハイパーリンクを表すＨＴＭＬタグは、＜ＩＭＧ＞、＜ＡＰＰＬＥＴ＞、＜ＯＢＪＥＣＴ＞、＜ＥＭＢＥＤ＞、＜Ａ＞である。 また前記識別子の追加方法は、図３に示されるように、オブジェクトへのハイパーリンクに明示的に識別子を追加する方法である。これは具体的には、ハイパーリンクを表すＨＴＭＬタグに新規のアトリビュート，ＯｂｊｅｃｔＩＤの略号を表すＯＩＤを追加表記（３０３）することによって実施される。
【００２６】
この実施形態において、第三発明におけるプログラムは、請求項３に記述された機能のうち、前記の第一発明の実施形態で示される識別子の生成方法を機能２とし、また前記の第一発明の実施形態で示されるデータベースを構築する方法を機能３とし、前記の第二発明の実施形態で示されるウェブページの更新を行う機能４とし、また請求項３に記述されている機能１および機能５とを実現するプログラムとして実施される。
【００２７】
この実施形態において、第四発明におけるプログラムは、既存のブラウザーに追加するためのプラグインの形で、機能１と機能２を実現する。このプラグインは、図６における、破線で囲まれた部分６１３の処理を行うために従来のブラウザーに追加されて、全体として第四発明に詳述される機能を実現するためのプログラムであり、また、図８における破線部分８０４で示されるように、キャッシュ１として機能するデータベース８０１を備える。
【００２８】
この実施形態において、第五発明におけるコンピュータで読み取り可能な記録媒体は、前記第四発明で実施されるプラグインプログラムを記録したＣＤ−ＲＯＭとして実施される。または、この記録媒体は、前記プラグインプログラムをユーザーがインターネット上でダウンロード可能にする目的で記録したウェブサーバーに付随するハードディスクとして実施される。
【００２９】
この実施形態において、第六発明における電子機器は、ユーザーが前記第五発明で実施される記録媒体よりプラグインプログラムを読み込んで自分のコンピュータにインストールすることにより、第四発明で記述される機能を実現したブラウザーが搭載されたコンピューターによって実施される。
【００３０】
この実施形態において、第七発明における通信システムは、第一発明の記録媒体として実施されたＣＤ−ＲＯＭと、第四発明のブラウザープログラムとして実施されたプラグインと、第五発明の記録媒体として実施されたＣＤ−ＲＯＭと、第六発明の電子機器として実施されたユーザーのコンピュータと、ユーザーが第二発明で実施されたウェブサーバーによって実施されるネットワークトラフィックを軽減させる通信システムである。
【００３１】
この実施形態において、第八発明におけるビジネスモデルは、ウェブサーバーを所有する業者１が自ウェブサーバに対して、第一発明の記録媒体として実施されたＣＤ−ＲＯＭと、第四発明のブラウザープログラムとして実施されたプラグインと、第五発明の記録媒体として実施されたＣＤ−ＲＯＭなどを無料で配布し、第六発明の電子機器として実施されたユーザーのコンピュータと、ユーザーが第二発明で実施されたウェブサーバーによって実施される第七発明に記述された通信システムを利用することにより無線接続やモデム接続などの帯域の小さな回線で接続されているユーザーのアクセス速度を改善したり、ネットワークトラフィックを軽減させてユーザーの回線利用のコストを削減することにより、自ウェブサーバーアクセスを促進するビジネスとして実施される。
【００３２】
この実施形態において、第九発明におけるビジネスモデルは、自ウェブサーバーを所有する業者１のために、業者１以外の他業者２が業者１のウェブサーバに対して、第一発明の記録媒体として実施されたＣＤ−ＲＯＭと、第四発明のブラウザープログラムとして実施されたプラグインと、第五発明の記録媒体として実施されたＣＤ−ＲＯＭなどを無料で配布し、第六発明の電子機器として実施されたユーザーのコンピュータと、ユーザーが第二発明で実施されたウェブサーバーによって実施される第七発明に記述された通信システムを利用することにより無線接続やモデム接続などの帯域の小さな回線で接続されているユーザーのアクセス速度を改善したり、ネットワークトラフィックを軽減させてユーザーの回線利用のコストを削減することにより、業者１のウェブサーバーアクセスを促進し、その対価として業者１よりサービス料を徴収するビジネスとして実施される。
【００３３】
「実施形態の効果」   この実施形態によれば、（１）ユーザーがブラウザーのリロードボタンにより前回と同じウェブページを要求した場合でも、オブジェクトが前回のアクセス時と同じであることをオブジェクトの特徴に基づく識別子により判定し、同じであればそのオブジェクトをブラウザーのデータベースから読み込み、ウェブサーバーから再度ネットワーク経由による冗長的なダウンロードを防止する、また更に、（２）識別子からオブジェクトを検索できるデータベースを、コンピュータで読み取り可能な記録媒体で提供して、非ネットワーク経由でブラウザーキャッシュに読み込ませることにより、オブジェクトに対する初回のアクセスの際にもネットワークトラフィックを軽減する効果が実現できる。
【００３４】
「他の実施形態」   前記最良の実施形態では、第一発明におけるハッシュ関数にＭＤ５を用いたり、第一発明のコンピュータ読み取り可能な記録媒体にＣＤ−ＲＯＭなどを用いたが、他の実施形態では、第一発明におけるハッシュ関数はＳＨＡなどの他のハッシュ関数を用いたものでも良いし、第一発明のコンピュータ読み取り可能な記憶媒体はＤＶＤ−ＲＯＭを用いてもよいなど、ここではそのすべての可能な実施形態については列挙しないが、 本発明の詳細な説明で詳述したように、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論であり、その結果多くの実施形態が考えられる。 
【図面の簡単な説明】
【００３５】
【図１】オブジェクトに対する識別子の割り当て方法。
【図２】識別子からオブジェクトを検索するためのデータベース。
【図３】従来のハイパーリンクと第二発明で提案されるハイパーリンクの比較（第一の方法）。
【図４】従来のハイパーリンクと第二発明で提案されるハイパーリンクの比較（第二の方法）。
【図５】第三発明のプログラムのフローチャート。
【図６】第四発明のプログラム（機能１の部分）のフローチャート。
【図７】第四発明のプログラム（機能２の部分）のフローチャート。
【図８】第四発明のプログラムのキャッシュ。
【図９】第七発明の通信システム。
【図１０】第八発明のビジネスモデル。
【図１１】第九発明のビジネスモデル。
【符号の説明】
【００３６】
１００  オブジェクトのファイル
１０１  オブジェクトのバイナリーデータ
１０２  ハッシュ関数
１０４  基本識別子（オブジェクトのバイナリーデータのハッシュ値）
１０５  アスキー表現で表されたオブジェクトのその他の特徴
１０６  オブジェクトの特徴のバイナリーデータ
１０７  ハッシュ関数
１０８  付加識別子（オブジェクトの特徴のハッシュ値）
１０９  サイズ
１１０  著作権情報
１１１  サーバーを所有する会社名
２００  ハッシュテーブル
２０１  識別子
２０２  オブジェクトのファイル名
２０３  ファイルシステム
２０４  オブジェクトのファイル名
２０５  オブジェクトのファイル  
３０１  画像オブジェクトへの従来のハイパーリンク
３０２  画像オブジェクトのファイル
３０３  画像オブジェクトへの本発明のハイパーリンク
３０４  画像オブジェクトのファイル
４０１  画像オブジェクトへの従来のハイパーリンク
４０２  画像オブジェクトのファイル
４０３  画像オブジェクトへの本発明のハイパーリンク
４０４  画像オブジェクトのファイル
５０１  ＵＲＬおよびファイル名、辿るリンクの深さを入力するブロック
５０２  ウェブページを読み込むブロック
５０３  ＨＴＭＬタグを読み込むブロック
５０４  オブジェクトへのハイパーリンクを検出するブロック
５０６  識別子を計算し、識別子とオブジェクトをデータベースに追加するブロック
５０７  ウェブページへのハイパーリンクを検出するブロック
５０８  リンクの深さが指定以内であることを検査するブロック
５０９  ウェブページのＵＲＬまたはファイル名およびリンクの深さをスタックに追加するブロック
５１０  ＨＴＭＬファイルの終わりを検出するブロック
５１１  ウェブページのスタックが空であることを検査するブロック
５１２  終了ブロック
６００  ＨＴＭＬファイルを読み込むブロック
６０１  ＨＴＭＬタグを読み込むブロック
６０２  ハイパーリンクのタグを検出するブロック
６０３  識別子のアトリビュートを検出するブロック
６０４  識別子がキャッシュ１にあることを検査するブロック
６０５  オブジェクトをキャッシュ１より読み込むブロック
６０６  リロードではなく、かつ、ＵＲＬがキャッシュ２にあることを検査するブロック６０７  オブジェクトをキャッシュ２より読み込むブロック
６０８  オブジェクトをサーバーよりダウンロードするブロック
６０９  識別子を計算した後、オブジェクトと識別子をキャッシュ１に保存するブロック６１０  ブラウザーの通常のタグ処理を行うブロック
６１１  ＨＴＭＬファイルの終わりを検出するブロック
６１２  ＨＴＭＬファイルの解釈を終了するブロック
６１３  プログラムがプラグインで提供される場合の追加処理の範囲
７０１  別途第三発明の配布可能な記憶媒体に記録されたデータベースをキャッシュ１にインストールするブロック
７０２  ＨＴＭＬの形式のファイルを解釈する実行ルーチン
８０１  データベース（キャッシュ１）
８０２  ブラウザーキャッシュ（キャッシュ２）
８０３  ブラウザー、あるいは、プラグインを追加されたブラウザー
８０４  第四発明がプラグインの形で実施される場合に、プラグインが含む部分
９０１  ウェブサーバー
９０２  識別子で指定されるオブジェクトを含むウェブページ
９０３  クライアント（ユーザー）電子機器
９０４  データベース
９０５  ブラウザーキャッシュ
９０６  ブラウザー、あるいは、プラグインを追加されたブラウザー
９０７  データベースを記録したコンピュータ読み取り可能記憶媒体
９０８  ブラウザー、あるいはプラグインを記録したコンピュータ読み取り可能記憶媒体９０９  ネットワークアクセス
９１０  配布またはダウンロード
１００１  ウェブサーバーを所有する業者１
１００２  データベースを記録したコンピュータ読み取り可能記憶媒体
１００３  ブラウザー、あるいはプラグインを記録したコンピュータ読み取り可能記憶媒体
１００４  クライアント（ユーザー）
１００６  識別子で指定されるオブジェクトを含むウェブページ
１００７  供給されたブラウザー、あるいはプラグインを追加したブラウザーでウェブサーバーにネットワークアクセス
１００８  無料または有料で図の記憶媒体（１００２、１００３）を供給する
１１０１  ウェブサーバーを所有する業者１
１１０２  業者２
１１０３  クライアント（ユーザー）
１１０４  データベースを記録したコンピュータ読み取り可能記憶媒体
１１０５  ブラウザー、あるいはプラグインを記録したコンピュータ読み取り可能記憶媒体
１１０６  識別子で指定されるオブジェクトを含むウェブページ
１１０７  供給されたブラウザー、あるいはプラグインを追加したブラウザーでウェブサーバーにネットワークアクセス
１１０８  サービス料
１１０９  サービス料（無償の場合もある）
１１１０  業者１より委託され、識別子で指定されるオブジェクトを含むウェブページ、および、オブジェクトのデータベースを作成するサービスを提供
１１１１  無料または有料で図の記憶媒体（１１０４、１１０５）を供給する
【図１】
2005128874.tif 000003
【図２】
2005128874.tif 000004
【図３】
2005128874.tif 000005
【図４】
2005128874.tif 000006
【図５】
2005128874.tif 000007
【図６】
2005128874.tif 000008
【図７】
2005128874.tif 000009
【図８】
2005128874.tif 000010
【図９】
2005128874.tif 000011
【図１０】
2005128874.tif 000012
【図１１】
2005128874.tif 000013