(57)【要約】【課題】端末における操作入力がなくても、その端末が既に受信したコンテンツに対する加工処理を可能とする技術を提供する。【解決手段】中継装置２００は、サーバ１１０が送信したＨＴＭＬファイルを中継する際に、これに仮想ファイル名と要求周期時間を含んだスクリプトＳｃを挿入して端末３１０に送信する。端末３１０はＨＴＭＬファイルからスクリプトＳｃを読み出し、ＨＴＭＬファイルを受け取ったときからの経過時間が要求周期時間を超過したときに、広告ファイルを要求するｈｔｔｐ要求を中継装置２００に出力する。中継装置２００はこのｈｔｔｐ要求に対する応答として、端末３１０に対し、広告ファイルを送信する。【選択図】図１
2009031852.tif 000002
【特許請求の範囲】
【請求項１】
端末とサーバとの間で送受信される情報を中継する中継装置であって、
所定の送信条件が記述され、前記端末に読み込まれることで前記送信条件が前記端末に設定されるファイルを、前記サーバから送信される情報に対して挿入して、当該端末に送信する挿入手段と、
前記端末から送信される情報を解析し、当該情報が前記送信条件により送信されたデータ要求である場合には、当該端末に所定のデータを送信する送信手段と、
を具備することを特徴とする中継装置。
【請求項２】
前記挿入手段は、前記サーバから送信される情報を解析し、解析結果に応じて当該情報に対して前記ファイルを挿入するか否かを判断する判断手段を具備し、前記判断手段が挿入すると判断した場合に当該情報に対して前記ファイルを挿入する
ことを特徴とする請求項１に記載の中継装置。
【請求項３】
前記所定のデータは複数のアドレスに配置されており、
前記送信手段は、前記端末に所定のデータを送信する毎に、前記複数のアドレスの中から前回とは異なるアドレスのデータを選択して送信する
ことを特徴とする請求項１又は２に記載の中継装置。
【請求項４】
前記所定のデータは複数のアドレスに配置されており、
前記送信手段は、前記端末から送信される情報を解析し、当該情報が前記送信条件により送信されたデータ要求である場合にはこれを計数する計数手段と、前記計数手段の計数結果を記憶する回数記憶手段とをさらに具備し、前記回数記憶手段に記憶された計数結果に応じたアドレスのデータを選択して送信する
ことを特徴とする請求項１または２に記載の中継装置。
【請求項５】
前記所定のデータは複数のアドレスに配置されており、
前記送信手段は、通信回線の容量を観測する容量観測手段をさらに具備し、前記容量観測手段が観測した通信回線の容量に応じたアドレスのデータを選択して送信する
ことを特徴とする請求項１または２に記載の中継装置。
【請求項６】
前記所定のデータを複数のアドレスに配置して記憶するデータ記憶手段をさらに具備する
ことを特徴とする請求項３ないし５のいずれかに記載の中継装置。
【請求項７】
前記送信条件は、前記端末により計測される時間を示す時間データと比較される数値を含み、当該数値と前記時間データの比較が所定の状態になったときに、前記端末に前記データ要求を送信させるように記述された条件である
ことを特徴とする請求項１ないし６のいずれかに記載の中継装置。
【請求項８】
第２の送信条件を含むファイルであって、前記端末に設定されている所定の送信条件を、前記第２の送信条件にするように、前記端末に書き換えさせる書換ファイルを前記端末に送信する送信条件書換手段を具備する
ことを特徴とする請求項１ないし７のいずれかに記載の中継装置。
【請求項９】
前記所定のデータと前記書換ファイルとの組み合わせが予め記憶されている組み合わせ記憶手段を具備し、
前記送信条件書換手段は、前記送信手段が前記所定のデータを送信するときに、前記組み合わせ記憶手段を参照して対応する書換ファイルを送信する
ことを特徴とする請求項８に記載の中継装置。
【請求項１０】
前記挿入手段は、前記サーバから送信される情報を解析し、解析結果に応じて当該情報の一部を削除するか否かを判断する第２判断手段を具備し、前記第２判断手段が削除すると判断した場合に当該情報の一部を削除する
ことを特徴とする請求項１ないし９のいずれかに記載の中継装置。
【請求項１１】
端末とサーバとの間で送受信される情報を中継する中継方法であって、
所定の送信条件が記述され、前記端末に読み込まれることで前記送信条件が前記端末に設定されるファイルを、前記サーバから送信される情報に対して挿入して、当該端末に送信する挿入過程と、
前記端末から送信される情報を解析し、当該情報が前記送信条件により送信されたデータ要求である場合には、当該端末に所定のデータを送信する送信過程と、
を具備することを特徴とする中継方法。
【請求項１２】
端末とサーバとの間で送受信される情報を中継する中継装置に備えられたコンピュータを、
所定の送信条件が記述され、前記端末に読み込まれることで前記送信条件が前記端末に設定されるファイルを、前記サーバから送信される情報に対して挿入して、当該端末に送信する挿入手段と、
前記端末から送信される情報を解析し、当該情報が前記送信条件により送信されたデータ要求である場合には、当該端末に所定のデータを送信する送信手段
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信技術に関する。
【背景技術】
【０００２】
Ｗｅｂブラウザなどで表示されるコンテンツに情報を挿入する技術として、ＨＴＭＬ（HyperText Markup Language）ファイルをｈｔｔｐ（HyperText Transfer Protocol）サーバ上で動的に編集する技術があるが、そのほかにも、サーバから送られるコンテンツに中継装置が情報を挿入してクライアントに送信する技術も開発されている。例えば、特許文献１には、プロキシサーバをネットワーク内に配置して、情報の編集あるいはアクセス管理等を行う技術が開示されている。このようなプロキシサーバにより、利用者の要求の可否を決定したり、ｈｔｔｐサーバから送られるＨＴＭＬファイルに広告を追加したりすることができる。
【０００３】
【特許文献１】特開平１１−２４２６３９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許公報１の技術では、プロキシサーバがコンテンツに挿入する情報は、画像ファイルなどの静的な情報だけであるため、一度挿入操作が行われたコンテンツは端末でＷｅｂページを更新するなどの操作をしない限り、変化することが無かった。
【０００５】
本発明は、このような背景に鑑みてなされたものであり、その目的は、端末における操作入力がなくても、その端末が既に受信したコンテンツに対する加工処理を可能とする技術を提供することである。
【課題を解決するための手段】
【０００６】
上述した課題を解決するため、本発明に係る中継装置は、端末とサーバとの間で送受信される情報を中継する中継装置であって、所定の送信条件が記述され、前記端末に読み込まれることで前記送信条件が前記端末に設定されるファイルを、前記サーバから送信される情報に対して挿入して、当該端末に送信する挿入手段と、前記端末から送信される情報を解析し、当該情報が前記送信条件により送信されたデータ要求である場合には、当該端末に所定のデータを送信する送信手段と、を具備することを特徴とする。
【０００７】
好ましくは、前記挿入手段は、前記サーバから送信される情報を解析し、解析結果に応じて当該情報に対して前記ファイルを挿入するか否かを判断する判断手段を具備し、前記判断手段が挿入すると判断した場合に当該情報に対して前記ファイルを挿入するとよい。
【０００８】
また、好ましくは、前記所定のデータは複数のアドレスに配置されており、前記送信手段は、前記端末に所定のデータを送信する毎に、前記複数のアドレスの中から前回とは異なるアドレスのデータを選択して送信するとよい。
【０００９】
また、好ましくは、前記所定のデータは複数のアドレスに配置されており、前記送信手段は、前記端末から送信される情報を解析し、当該情報が前記送信条件により送信されたデータ要求である場合にはこれを計数する計数手段と、前記計数手段の計数結果を記憶する回数記憶手段とをさらに具備し、前記回数記憶手段に記憶された計数結果に応じたアドレスのデータを選択して送信するとよい。
【００１０】
また、好ましくは、前記所定のデータは複数のアドレスに配置されており、前記送信手段は、通信回線の容量を観測する容量観測手段をさらに具備し、前記容量観測手段が観測した通信回線の容量に応じたアドレスのデータを選択して送信するとよい。
【００１１】
また、好ましくは、前記所定のデータを複数のアドレスに配置して記憶するデータ記憶手段をさらに具備するとよい。
【００１２】
また、上述の態様において、前記送信条件は、前記端末により計測される時間を示す時間データと比較される数値を含み、当該数値と前記時間データの比較が所定の状態になったときに、前記端末に前記データ要求を送信させるように記述された条件であることが望ましい。
【００１３】
また、好ましくは、第２の送信条件を含むファイルであって、前記端末に設定されている所定の送信条件を、前記第２の送信条件にするように、前記端末に書き換えさせる書換ファイルを前記端末に送信する送信条件書換手段を具備するとよい。
【００１４】
また、好ましくは、前記所定のデータと前記書換ファイルとの組み合わせが予め記憶されている組み合わせ記憶手段を具備し、前記送信条件書換手段は、前記送信手段が前記所定のデータを送信するときに、前記組み合わせ記憶手段を参照して対応する書換ファイルを送信するとよい。
【００１５】
また、好ましくは、前記挿入手段は、前記サーバから送信される情報を解析し、解析結果に応じて当該情報の一部を削除するか否かを判断する第２判断手段を具備し、前記第２判断手段が削除すると判断した場合に当該情報の一部を削除するとよい。
【００１６】
また、本発明に係る中継方法は、端末とサーバとの間で送受信される情報を中継する中継方法であって、所定の送信条件が記述され、前記端末に読み込まれることで前記送信条件が前記端末に設定されるファイルを、前記サーバから送信される情報に対して挿入して、当該端末に送信する挿入過程と、前記端末から送信される情報を解析し、当該情報が前記送信条件により送信されたデータ要求である場合には、当該端末に所定のデータを送信する送信過程と、を具備することを特徴とする。
【００１７】
また、本発明に係るプログラムは、端末とサーバとの間で送受信される情報を中継する中継装置に備えられたコンピュータを、所定の送信条件が記述され、前記端末に読み込まれることで前記送信条件が前記端末に設定されるファイルを、前記サーバから送信される情報に対して挿入して、当該端末に送信する挿入手段と、前記端末から送信される情報を解析し、当該情報が前記送信条件により送信されたデータ要求である場合には、当該端末に所定のデータを送信する送信手段として機能させるためのプログラムである。
【発明の効果】
【００１８】
本発明によれば、ネットワーク内に配置された中継装置が、端末における操作入力がなくても、その端末が既に受信したコンテンツに対する加工処理が可能になる、という効果がある。
【発明を実施するための最良の形態】
【００１９】
（Ａ−１：広告システムの全体構成）
図１はこの発明の一実施形態である中継装置を用いた広告システムの全体構成を示す図である。１００は広域にわたって敷設された通信網によって構成されるＷＡＮ（Wide Area Network）であり、例えばインターネットである。１１０はＷＡＮ１００に接続されているサーバのうちの一つである。サーバ１１０はＷＡＮ１００を介してｈｔｔｐ要求を受け取り、当該ｈｔｔｐ要求に含まれるＵＲＩ（Uniform Resource Identifier）に応じてＨＴＭＬファイルを生成し、これを含むｈｔｔｐ応答を送信する機能を有する。このようなサーバは様々あるが、本実施形態において、サーバ１１０が検索サーバである場合を説明する。より詳細に説明すると、サーバ１１０はＷＡＮ１００を介して周期的にＨＴＭＬファイルを獲得し、その内容を解析することにより、獲得したＨＴＭＬファイルに含まれる文字列とそのＵＲＩの対応関係を自動的にデータベース化している。そして、ｈｔｔｐ要求により受け取った検索文字列に基づいて、このデータベースを参照することにより、当該検索文字列に関連するＵＲＩのリストが記載されたＨＴＭＬファイルを生成し、これを含むｈｔｔｐ応答を送信する。なお、本実施形態の説明において、ＷＡＮ１００に接続されているサーバ１１０以外の装置の説明は省略する。
【００２０】
３００はインターネットカフェやホテルなど限定された施設内に敷設された通信網によって構成されるＬＡＮ（Local Area Network）である。ＬＡＮ３００にはこの施設内で用いられる１又は複数のパーソナルコンピュータなどの端末が収容される。３１０はこれら端末のうちの一つである。端末３１０をはじめとしてＬＡＮ３００に接続されている端末には、ＣＰＵ（Central Processing Unit）などの演算装置、ＲＯＭ（Read Only Memory）やＲＡＭ（Random Access Memory）、ＨＤＤ（Hard Disk Drive）などの記憶装置が備わっており、所定の通信プロトコル（本実施形態では「ＩＰ（Internet Protocol）」）に従って通信をすることが可能な基本ＯＳ（Operating System）が稼動している。また、この基本ＯＳの上にＷＥＢブラウザが稼動する。このＷＥＢブラウザにより、ｈｔｔｐに従った通信が行われ、また、ＥＣＭＡＳｃｒｉｐｔなどのスクリプト言語で記述したスクリプトＳｃが動作する。さらに、端末３１０の演算装置にはタイマが内蔵されており、ＷＥＢブラウザは基本ＯＳを介してタイマが出力する時刻を示す時刻データを参照する。なお、本実施形態の説明において、ＬＡＮ３００に接続されている端末３１０以外の端末の説明は省略する。
【００２１】
２００は上記のＬＡＮ３００が敷設されている施設内に設置された中継装置であり、所定の通信プロトコルに従ってＷＡＮ１００やＬＡＮ３００から送信されるパケットＰａを受信し、そのパケットＰａの宛先やデータ内容に応じた処理を行うものである。以下、本発明の特徴を顕著に示している中継装置２００の構成および動作を中心に説明する。
【００２２】
（Ａ−２：中継装置２００の構成）
図２は中継装置２００のハードウェア構成を示した図である。図２に示すように、中継装置２００は、制御部２１０と、第１通信インターフェイス（以下、「ＩＦ」）部２３０と、第２通信ＩＦ部２４０と、記憶部２５０と、これら構成要素間のデータ授受を仲介するバス２６０を有している。
【００２３】
制御部２１０は、例えばＣＰＵであり、後述する記憶部２５０に格納されているプログラムを実行し、他の構成要素の制御を行う。なお、制御部２１０は通信経路でなんらかの障害が生じているときにはＩＣＭＰ（Internet Control Message Protocol）に従った通知動作を行うが、ここでは説明を省略する。
【００２４】
第１通信ＩＦ部２３０と第２通信ＩＦ部２４０は、ともに、ＮＩＣ（Network Interface Card）であり、それぞれ異なる通信網に接続されている。具体的には、第１通信ＩＦ部２３０は、ＷＡＮ１００に接続されており、第２通信ＩＦ部２４０は、ＬＡＮ３００に接続されている。第１通信ＩＦ部２３０と第２通信ＩＦ部２４０は、その各々が接続されている通信網を介して送信されてくるパケットＰａを受信し制御部２１０へと引渡す。また、第１通信ＩＦ部２３０と第２通信ＩＦ部２４０は、制御部２１０から引渡されたパケットＰｂをその各々が接続されている通信網へと送出する。
【００２５】
記憶部２５０は、図２に示すように、揮発性記憶部２５１と不揮発性記憶部２５２とを有する。
揮発性記憶部２５１は、ＲＡＭであり、プログラムに従って作動している制御部２１０によってワークエリアとして利用される。揮発性記憶部２５１にはパケット蓄積領域２５１１と仮想ファイルテーブル２５１２が記憶されている。
【００２６】
パケット蓄積領域２５１１はパケットＰａから元のデータＤａを再構築するためのワークエリアである。また、図３は仮想ファイルテーブル２５１２の一例を示した図である。図３に示すように、仮想ファイルテーブル２５１２にはコネクション識別子ＩＤ、仮想ファイル名ＳＦおよび広告送信回数ＣＮＴが一組のレコードとして記憶される（コネクション識別子ＩＤ、仮想ファイル名ＳＦおよび広告送信回数ＣＮＴの詳細については後述する）。
【００２７】
一方、不揮発性記憶部２５２は、ＥＰＲＯＭ（Erasable Programmable Read Only Memory）、ＲＯＭやハードディスクなどを有している。この不揮発性記憶部２５２には、後述するスクリプト挿入動作を制御部２１０に実行させるためのプログラムが予め記憶されているとともに、広告ファイルデータベース２５２１と広告対象ＵＲＩリスト２５２２が記憶されている。
【００２８】
広告ファイルデータベース２５２１には広告ファイルがリストとして記憶されている。各広告ファイルには０から始まる連続したファイル番号ＦＮが付与されており、このファイル番号ＦＮによって広告ファイルが特定される。例えば、３つの広告ファイルが広告ファイルデータベース２５２１に記憶されている場合には、ファイル番号ＦＮは０、１、２の３つである。本実施形態において、広告ファイルは特定の企業サイトへのリンクを含む画像が貼り付けられたＨＴＭＬファイルである。
【００２９】
広告対象ＵＲＩリスト２５２２には、広告ファイルの挿入が許可されているＨＴＭＬファイルを提供するＵＲＩのリストが予め記憶されている。このリストには例えば、主要な検索サイトのホスト名がＵＲＩとして記憶されており、本実施形態においては、サーバ１１０のホスト名が含まれている。
【００３０】
次に、中継装置２００の機能的構成について説明する。
図４は中継装置２００の機能的構成を示した図である。破線枠内に示したパケット解析モジュール２１０１、コンテンツ管理モジュール２１０２、広告管理モジュール２１０３、スクリプト挿入モジュール２１０４は制御部２１０により実現される機能ブロックである。これらの機能ブロックが以下の動作を行うことによって、制御部２１０はスクリプト挿入動作を実行する。
【００３１】
パケット解析モジュール２１０１は、以下に述べる４つの機能を担っている。
パケット解析モジュール２１０１の第１の機能は、入力されたパケットＰａを解析し、そのパケットＰａが属するコネクションを識別して、コネクション識別子ＩＤを生成する機能である。
【００３２】
より詳細に説明すると、パケット解析モジュール２１０１はパケットＰａがコネクション確立要求であるか否かを判断する。本実施形態では、パケットＰａのトランスポートプロトコルがＴＣＰ（Transmission Control Protocol）であって、かつ、その所定のコードビットが特定の値を示している場合に当該パケットＰａがコネクション確立要求であると判断する。そして、パケットＰａがコネクション確立要求であると判断したら、パケット解析モジュール２１０１はこのパケットＰａのＩＰヘッダから始点ＩＰアドレスと終点ＩＰアドレスを抽出し、ＴＣＰヘッダから始点ポート番号と終点ポート番号を抽出する。そして、抽出したこれらの値から、このコネクションに対して一意に定まる文字列をコネクション識別子ＩＤとして生成する。
【００３３】
パケット解析モジュール２１０１の第２の機能は、各コネクションの下で送られるパケットＰａを当該コネクション毎にパケット蓄積領域２５１１に記憶し、当該パケットＰａから元のデータＤａを再構築するデータ再構築機能である。パケット解析モジュール２１０１は、データＤａの再構築が完了するとデータＤａはパケット蓄積領域２５１１に記憶されるとともに、元のパケットＰａが記憶されているパケット蓄積領域２５１１の記憶領域を開放する。
【００３４】
パケット解析モジュール２１０１の第３の機能は、再構築されたデータＤａから一部を抽出してコンテンツ管理モジュール２１０２に引渡すデータ抽出機能である。より詳細に説明すると、パケット解析モジュール２１０１は、再構築されたデータＤａの中から、ＬＡＮ３００側からＷＡＮ１００側へ送信されたｈｔｔｐ要求が示すＵＲＩ（以下、要求ＵＲＩという）を抽出する。そして、当該要求ＵＲＩと上記ｈｔｔｐ要求の送信に使われたコネクションを示すコネクション識別子ＩＤとを対にしてコンテンツ管理モジュール２１０２へ引渡す。
【００３５】
パケット解析モジュール２１０１の第４の機能は、上記再構築されたデータＤａを、コネクション識別子ＩＤ、始点ＩＰアドレス、終点ＩＰアドレス、始点ポート番号、終点ポート番号とともに、スクリプト挿入モジュール２１０４へ引渡す機能である。
【００３６】
コンテンツ管理モジュール２１０２は、以下に述べる３つの機能を担っている。
コンテンツ管理モジュール２１０２の第１の機能は、パケット解析モジュール２１０１から引渡された要求ＵＲＩに基づいて、スクリプトＳｃの挿入および広告ファイルの送信を行うか否かの判断をする判断機能である。
【００３７】
より詳細に説明すると、コンテンツ管理モジュール２１０２は、上記要求ＵＲＩが、広告対象ＵＲＩリスト２５２２に予め記憶されたＵＲＩのいずれかに合致するか否かを判断し、合致する場合には当該要求ＵＲＩが要求するＨＴＭＬファイルに、所定のスクリプトＳｃを挿入することを決定する。なお、ここでいう合致とは、完全な合致のほか、部分的な合致も含む。例えば、コンテンツ管理モジュール２１０２は、要求ＵＲＩからホスト名を抽出し、広告対象ＵＲＩリスト２５２２を検索して当該ホスト名を含んだＵＲＩが見つかった場合に、当該ＨＴＭＬファイルにスクリプトＳｃを挿入すると判断する。
【００３８】
また、コンテンツ管理モジュール２１０２は、上述の要求ＵＲＩがファイル名を示している場合には、そのファイル名を仮想ファイル名ＳＦとして含むレコードを、仮想ファイルテーブル２５１２から検索する。そして、上述のレコードが見つかった場合には、当該要求ＵＲＩに対する応答として広告ファイルを送信すると判断する。そして、見つかったレコードに記述されているコネクション識別子ＩＤと広告送信回数ＣＮＴを広告管理モジュール２１０３に引渡した後、当該広告送信回数ＣＮＴに１を加算（インクリメント）して、この値を上記レコードに上書きする。
【００３９】
コンテンツ管理モジュール２１０２の第２の機能は、上述したスクリプトＳｃの挿入の決定をしたときに、当該要求ＵＲＩとともに引渡されたコネクション識別子ＩＤを基に仮想ファイル名ＳＦを生成する機能である。そして、コンテンツ管理モジュール２１０２は、当該コネクション識別子ＩＤと仮想ファイル名ＳＦおよび広告送信回数ＣＮＴとして０を書き込んだレコードを作製し、このレコードを仮想ファイルテーブル２５１２に追加する。
【００４０】
コンテンツ管理モジュール２１０２の第３の機能は、スクリプト挿入モジュール２１０４に対して指示を行う機能である。具体的には、コンテンツ管理モジュール２１０２は、上記判断機能によりスクリプトＳｃを挿入する判断をしたときには、スクリプト挿入モジュール２１０４に当該コネクション識別子ＩＤを送るとともに「スクリプトＳｃの挿入」を指示する。また、広告ファイルを送信する判断をしたときには、スクリプト挿入モジュール２１０４に、後述する処理により広告管理モジュール２１０３から送られる当該コネクション識別子ＩＤとファイル番号ＦＮを送るとともに「広告ファイルの送信」の指示をする。
【００４１】
広告管理モジュール２１０３が担っている機能は、送信する広告ファイルのファイル番号ＦＮを算出するファイル番号算出機能である。
【００４２】
より詳細に説明すると、広告管理モジュール２１０３は、コンテンツ管理モジュール２１０２からコネクション識別子ＩＤと広告送信回数ＣＮＴを受け取ると、広告送信回数ＣＮＴを広告ファイルデータベース２５２１に記憶されている広告ファイルの数で除算し、その剰余をファイル番号ＦＮとして算出する。そして、算出されたファイル番号ＦＮは、上述のコネクション識別子ＩＤとともに、コンテンツ管理モジュール２１０２に送られる。
【００４３】
例えば、広告ファイルの数が３である場合において、そのコネクションについて、広告管理モジュール２１０３が初めて当該広告送信回数ＣＮＴを受け取ったときは「広告送信回数ＣＮＴ」は０であり、上記除算の剰余は０である。したがって、この場合には、ファイル番号「０」で広告ファイルが特定される。また、広告ファイルの数が３であり、「広告送信回数ＣＮＴ」が４であるときは、上記剰余は１となるため、ファイル番号「１」によって広告ファイルが特定される。
【００４４】
スクリプト挿入モジュール２１０４は、以下に述べる３つの機能を担っている。
スクリプト挿入モジュール２１０４の第１の機能は、スクリプトＳｃをＨＴＭＬファイルに挿入する機能である。
【００４５】
より詳細に説明すると、コンテンツ管理モジュール２１０２から「スクリプトＳｃの挿入」の指示があると、スクリプト挿入モジュール２１０４は、当該指示とともに送られたコネクション識別子ＩＤによって、ｈｔｔｐ応答を特定し、これに含まれるＨＴＭＬファイルを解析して、所定のＨＴＭＬタグの直後など、スクリプトＳｃの挿入に適した位置を決定する。そして、Ｗｅｂブラウザに、定期的に広告ファイルを要求させるためのスクリプトＳｃを作成し、当該ＨＴＭＬファイル内の上述した位置に挿入して、修正ＨＴＭＬファイルを生成する。なお、中継装置２００がｈｔｔｐ要求を送信してからこれに対するｈｔｔｐ応答を受け取るまでには時間がかかるが、このようにして、コネクション識別子ＩＤを用いることで、ｈｔｔｐ要求と同一のコネクションを通って返信されたｈｔｔｐ応答を特定することができる。
【００４６】
スクリプト挿入モジュール２１０４の第２の機能は、ファイル番号ＦＮによって広告ファイルを読み出す機能である。
具体的には、コンテンツ管理モジュール２１０２から「広告ファイルの送信」の指示があると、スクリプト挿入モジュール２１０４は、当該指示とともに送られたファイル番号ＦＮによって、広告ファイルデータベース２５２１から広告ファイルを読み出す。そして、当該指示とともに送られたコネクション識別子ＩＤによって、広告ファイルを要求したｈｔｔｐ要求を特定し、これを破棄する。
【００４７】
スクリプト挿入モジュール２１０４の第３の機能は、広告ファイルや修正ＨＴＭＬファイル、それ以外の再構築されたデータＤａを所定のサイズに分割してヘッダを付して、パケットＰｂとして送信する機能である。ただし、広告ファイルを送信する場合だけは、広告ファイルを要求した送信元に向けて送信が行われるようにヘッダを調整する。そして、これ以外の送信の場合には、元のパケットＰａと同一のコネクションを通って同一の宛先へ送信されるように、ヘッダを調整する。このようなヘッダの調整は、パケット解析モジュール２１０１から引渡された、始点ＩＰアドレス、終点ＩＰアドレス、始点ポート番号、終点ポート番号を参照することにより行う。
【００４８】
（Ｂ：中継装置２００の動作）
次に、本発明に係る中継装置２００の動作を説明する。
図５は端末３１０とサーバ１１０が中継装置２００を介して行う通信の動作を示したシーケンス図である。端末３１０ではＷｅｂブラウザが稼動しており、利用者による操作を受けてこのＷｅｂブラウザはサーバ１１０に対してＨＴＭＬファイルを要求するｈｔｔｐ要求を生成する（ステップＳ１）。このｈｔｔｐ要求は端末３１０の基本ＯＳによってパケットＰａに分割され、ＬＡＮ３００を介して中継装置２００に送信される（ステップＳ２）。
【００４９】
中継装置２００はパケットＰａを受け取ると、パケット解析モジュール２１０１はこのパケットＰａを解析する（ステップＳ３）。ここで、上述のｈｔｔｐ要求はサーバ１１０に対して初めて送られる要求であり、パケットＰａにはコネクション確立要求が含まれている。したがって、パケット解析モジュール２１０１は、コネクション識別子ＩＤを生成する。以下、一例としてパケット解析モジュール２１０１が生成したコネクション識別子ＩＤは「１ｂｄｅ５ｆ７ｄ」である場合について説明する。
【００５０】
パケット解析モジュール２１０１はパケットＰａから元のデータＤａを再構築して、コネクション識別子ＩＤ「１ｂｄｅ５ｆ７ｄ」、始点ＩＰアドレス、終点ＩＰアドレス、始点ポート番号、終点ポート番号とともに、スクリプト挿入モジュール２１０４へ引渡す。また、データＤａのうち、ｈｔｔｐ要求に含まれる要求ＵＲＩをコンテンツ管理モジュール２１０２に引渡す。コンテンツ管理モジュール２１０２は、この要求ＵＲＩに基づいて、このｈｔｔｐ要求に対する応答として送られるＨＴＭＬファイルに広告を挿入するか否かを判断する。
【００５１】
ここでは要求ＵＲＩにサーバ１１０のホスト名が記述されており、広告対象ＵＲＩリスト２５２２には、サーバ１１０のホスト名が、広告ファイルの挿入が許可されているＵＲＩとして記憶されている。したがって、コンテンツ管理モジュール２１０２は、上記ＨＴＭＬファイルに広告を挿入することを決定し、コネクション識別子ＩＤ「１ｂｄｅ５ｆ７ｄ」を基にして、仮想ファイル名ＳＦ「Ｆｉｌｅ−１ｂｄｅ５ｆ７ｄ」を生成する。そして、コンテンツ管理モジュール２１０２は、当該コネクション識別子ＩＤ「１ｂｄｅ５ｆ７ｄ」と仮想ファイル名ＳＦ「Ｆｉｌｅ−１ｂｄｅ５ｆ７ｄ」および広告送信回数ＣＮＴとして０を書き込んだレコードを作製し、このレコードを仮想ファイルテーブル２５１２に追加する。
【００５２】
そして、当該ｈｔｔｐ要求はスクリプト挿入モジュール２１０４によって、再び所定のサイズに分割され、所定のヘッダを付したパケットＰｂとしてサーバ１１０に送られる（ステップＳ４）。サーバ１１０はこれに応答してＨＴＭＬファイルを端末３１０へ向けて送信する（ステップＳ５）。
【００５３】
サーバ１１０が送信したＨＴＭＬファイルは、パケットＰａとして中継装置２００によって受け取られ、パケット解析モジュール２１０１は元のＨＴＭＬファイルを再構築してスクリプト挿入モジュール２１０４に送る。スクリプト挿入モジュール２１０４は再構築されたＨＴＭＬファイルを解析し、仮想ファイル名ＳＦ「Ｆｉｌｅ−１ｂｄｅ５ｆ７ｄ」と予め定められた要求周期時間が記述されたスクリプトＳｃを所定の位置に挿入して修正ＨＴＭＬファイルを生成し（ステップＳ６）、これをパケットＰｂに分割して端末３１０に送る（ステップＳ７）。
【００５４】
このパケットＰｂを受け取った端末３１０のＷｅｂブラウザは、パケットＰｂから元のデータである修正ＨＴＭＬファイルを再構築し、修正ＨＴＭＬファイルのうち、スクリプト挿入モジュール２１０４によって挿入されたスクリプトＳｃを読み込んで起動する（ステップＳ８）。また、スクリプトＳｃ以外のコンテンツはＷｅｂブラウザの通常の機能により解釈され、ウィンドウ内に表示される。図６はＷｅｂブラウザによる修正ＨＴＭＬファイルの表示例である。図６に示す例のように、ＷｅｂブラウザがスクリプトＳｃを起動することにより、そのウィンドウ内の右側に広告枠Ｒが確保され、Ｗｅｂブラウザは広告ファイルを受け取るとその画像データが示す画像を広告枠Ｒ内に表示する。
【００５５】
スクリプトＳｃの実行により、端末３１０のＷｅｂブラウザは、基本ＯＳを介してタイマが出力する時刻を示す時刻データを参照し、修正ＨＴＭＬファイルを受け取ったときからの経過時間の計測を開始する。そして、Ｗｅｂブラウザは、この経過時間とスクリプトＳｃに記述されている要求周期時間を比較し（ステップＳ９）、経過時間が要求周期時間を超過すると、修正ＨＴＭＬファイルを受け取ったコネクションを介して広告ファイルを要求するｈｔｔｐ要求をパケットＰａに分割して出力する（ステップＳ１０）。ここで、ｈｔｔｐ要求の要求ＵＲＩには、要求するファイル名として仮想ファイル名ＳＦ「Ｆｉｌｅ−１ｂｄｅ５ｆ７ｄ」が含まれている。
【００５６】
中継装置２００はこのパケットＰａを受け取ると、パケット解析モジュール２１０１はこのパケットを解析する（ステップＳ１１）。このパケットはコネクション確立要求でないので、パケット解析モジュール２１０１はコネクション確立時に行うコネクション識別子ＩＤの生成等を行わず、受け取ったパケットから元のｈｔｔｐ要求を再構築してこれに含まれる要求ＵＲＩをコンテンツ管理モジュール２１０２に送る。
【００５７】
コンテンツ管理モジュール２１０２は、上記要求ＵＲＩに記載されたファイル名「Ｆｉｌｅ−１ｂｄｅ５ｆ７ｄ」を仮想ファイル名ＳＦとして含むレコードを、仮想ファイルテーブル２５１２から当該レコードを検索する。ここで、ファイル名「Ｆｉｌｅ−１ｂｄｅ５ｆ７ｄ」を仮想ファイル名ＳＦとして含むレコードは、すでに仮想ファイルテーブル２５１２に追加されているため当該レコードは見つかり、コンテンツ管理モジュール２１０２は、当該要求ＵＲＩに対する応答として広告ファイルを送信すると判断する。そして、コンテンツ管理モジュール２１０２は、当該レコードに記述されたコネクション識別子ＩＤと広告送信回数ＣＮＴを広告管理モジュール２１０３に引渡した後、当該広告送信回数ＣＮＴをインクリメントする。広告管理モジュール２１０３は、広告送信回数ＣＮＴから送信する広告ファイルのファイル番号ＦＮを算出し、これを上述のコネクション識別子ＩＤとともに、コンテンツ管理モジュール２１０２に送り、コンテンツ管理モジュール２１０２はこれらをスクリプト挿入モジュール２１０４へ送るとともに広告ファイルの送信を指示する。スクリプト挿入モジュール２１０４はこの指示を受けて、送られたコネクション識別子ＩＤを用いることで、要求ＵＲＩに仮想ファイル名ＳＦ「Ｆｉｌｅ−１ｂｄｅ５ｆ７ｄ」が含まれているｈｔｔｐ要求、すなわち、広告ファイルを要求するｈｔｔｐ要求を特定し、これを破棄する。これにより、このｈｔｔｐ要求は中継装置２００からＷＡＮ１００側へ送信されることがなくなる。そして、スクリプト挿入モジュール２１０４は、ファイル番号ＦＮに基づいて広告ファイルデータベース２５２１から広告ファイルを読み出し、これを分割してパケットＰｂを生成して端末３１０へ返送する（ステップＳ１２）。
【００５８】
端末３１０は返送されたパケットＰｂを再構築し、Ｗｅｂブラウザは再構築されて得られた広告ファイルを静止画として画面上の広告枠Ｒ内に表示するとともに、新たに経過時間の計測を開始する（ステップＳ１３）。
【００５９】
これ以降はステップＳ９〜ステップＳ１３の処理が繰り返されるので、上述と同様の処理がなされるが、処理が循環する度に「広告送信回数ＣＮＴ」がインクリメント処理によって増加しているため、広告ファイルが変化する。例えば、コンテンツ管理モジュール２１０２が２度目に広告送信回数ＣＮＴを広告管理モジュール２１０３に引渡したとき、当該「広告送信回数ＣＮＴ」は「１」になっているため、剰余数も１となる。したがって、ファイル番号「１」が示す広告ファイルが、端末３１０に返送されるので、端末３１０のＷｅｂブラウザはファイル番号「１」の広告ファイルを画面上の広告枠Ｒ内に表示する。
【００６０】
このようにして、端末３１０において、一切、操作入力が行われなくても、ＷｅｂブラウザがスクリプトＳｃを実行することによって、中継装置２００が広告ファイルデータベース２５２１に記憶されている広告ファイルを円環的に選択し、この広告ファイルが定期的に端末３１０の画面上に表示される。また、スクリプトＳｃの実行によって定期的に送信されるｈｔｔｐ要求は、仮想ファイル名の照合によって、検出されＷＡＮ１００側に送信されることなく、破棄される。
【００６１】
なお、画面上に静止画として表示された広告ファイルには特定の企業サイトへのリンクが含まれているので、利用者がマウス等を操作して、この静止画をクリックすると、Ｗｅｂブラウザは上記リンクに基づいてｈｔｔｐ要求を生成する。このｈｔｔｐ要求に記述された要求ＵＲＩには仮想ファイル名は使用されていないため、中継装置２００で破棄されることなく、上記企業サイトに送信される。したがって、利用者は当該企業サイトが提供する情報を入手することができる。
【００６２】
（Ｃ：変形例）
以上、本発明の実施形態について説明したが、本発明は上述した実施形態に限定されることなく、他の様々な形態で実施可能である。以下にその一例を示す。なお、以下の各態様を適宜に組み合わせてもよい。
【００６３】
（１）上述の実施形態において、広告ファイルは静止画としたが、広告ファイルはこれに限られない。例えば、動画、文字列、音声などであってもよいし、スクリプトなどの動的コンテンツであってもよい。
【００６４】
（２）また、上述の実施形態において、中継装置２００は通信回線の容量（ここでは、単位時間当たりに伝送可能な情報量をいう）の大小に関わらず、広告ファイルを送信したが、通信回線の容量の大小に応じて送信する広告ファイルの種別を選択してもよい。この場合、通信回線の容量を複数のグループに区分けする１以上の閾値と、当該各グループと広告ファイルの種別の対応関係を示した表を不揮発性記憶部２５２に記憶して、制御部２１０が観測した通信回線の容量を上記閾値と比較することで、送信する広告ファイルの種別を選択すればよい。なお、ファイルの種別とは、動画、静止画、文字列などのファイルフォーマットだけに限られず、同じファイルフォーマットであってもサイズが異なっていれば異なる種別のファイルとする。
【００６５】
（３）また、上述の実施形態において、中継装置２００は、サーバ１１０から送られたＨＴＭＬファイルにスクリプトＳｃを挿入したが、スクリプトＳｃの挿入とともに他の加工を行ってもよい。例えば、すでにサーバ１１０から送られてきたＨＴＭＬファイルに広告やスクリプトなどが含まれている場合には、これらを検出して除去してもよい。この場合には、不揮発性記憶部２５２に、除去の対象となるコンテンツのタグのリストなどを記憶させ、ＨＴＭＬファイルの解析のときに、当該リストに基づいて、除去すべきコンテンツを検出するようにすればよい。また、除去したコンテンツのあった位置にスクリプトＳｃを挿入してもよい。すなわち、コンテンツの置き換えを行ってもよい。
【００６６】
（４）また、上述の実施形態において、Ｗｅｂブラウザのウィンドウは一つであり、広告ファイルの静止画は、修正ＨＴＭＬファイルの他のコンテンツと同一のウィンドウ内に確保された広告枠Ｒ（図６参照）に表示されたが、これらの表示先は同一のウィンドウ内に限られない。例えば、図７に示すように、広告以外のコンテンツを表示するウィンドウとは別のウィンドウを作り、その中で広告ファイルの画像を表示してもよい。
【００６７】
（５）また、上述の実施形態において、広告送信回数ＣＮＴは中継装置２００で処理されたが、広告送信回数ＣＮＴは端末３１０で処理されてもよい。例えば、ＷｅｂブラウザがスクリプトＳｃを実行してｈｔｔｐ要求を出力する度に、端末３１０のＲＡＭ上に記憶した広告送信回数ＣＮＴをインクリメントしてもよい。また、端末３１０のＲＡＭ上にはスクリプトＳｃが記憶されているので、これに記述された仮想ファイル名の末尾にシーケンス番号を追加し、このシーケンス番号を書き換えることによって広告送信回数ＣＮＴを表してもよい。具体的には、広告送信回数ＣＮＴが３である場合に、仮想ファイル名を「Ｆｉｌｅ−１ｂｄｅ５ｆ７ｄ−００３」とすることで仮想ファイル名と広告送信回数ＣＮＴとをスクリプトＳｃ中に表現してもよい。また、この場合には、仮想ファイルテーブル２５１２には広告送信回数ＣＮＴのフィールドは不要であり、コンテンツ管理モジュール２１０２が広告ファイルの送信の可否を判断する際には、上記仮想ファイル名のうち、シーケンス番号を除いた部分を比較対象とすればよい。
【００６８】
（６）また、上述の実施形態において、端末３１０において要求周期時間は書き換えられることは無かったが、中継装置２００は、新たな要求周期時間を記述した書換ファイルを送信し、端末３１０に要求周期時間を書き換えさせてもよい。この場合、広告ファイルデータベース２５２１は広告ファイル毎に書換ファイルを記憶してもよい。書換ファイルに記述されている新たな要求周期時間は全ての広告ファイルに対して一律の値でもよいし、広告ファイル毎に異なっていてもよい。また、スクリプト挿入モジュール２１０４は、広告ファイルとその広告ファイルの要求周期時間を対にして送信し、これを受け取ったＷｅｂブラウザは当該広告ファイルを受け取った瞬間からの経過時間と当該要求周期時間とを比較することによって、次に広告ファイルを要求するタイミングを決めてもよい。このようにすると、広告ファイル毎に要求周期時間を設定できるので、たとえば、要求周期時間が長い広告ファイルほど広告料金を高く設定するなど、広告ファイル毎の広告料金を柔軟に設定することができる。
【００６９】
（７）また、上述の実施形態において、中継装置２００は、データＤａの内容に関わらず、パケットＰａは全て再構築したが、一部のみを再構築するようにしてもよい。例えば、再構築の途中でデータがｈｔｔｐに従って記述されていないことが判明したり、パケットＰａがＴＣＰ以外のトランスポートプロトコルに従って記述されていることが判明したりしたら、その時点で再構築を中止してもよい。そして、中継装置２００は、中止した再構築の元のパケットＰａをそのまま、そのヘッダに記述されている送信先に送った後に、途中まで再構築したデータと送信済みのパケットＰａが記憶されている領域を解放すればよい。
【００７０】
（８）また、上述の実施形態において、広告ファイルデータベース２５１２は中継装置２００の不揮発性記憶部２５２に記憶されているが、外部記憶装置に広告ファイルを記憶させ、第１通信ＩＦ部２３０や第２通信ＩＦ部２４０を介して広告ファイルを読み出してもよい。この場合、記憶部２５０は広告ファイルのＵＲＩを記憶しており、中継装置２００はこのＵＲＩを参照して、広告ファイルを読み出せばよい。すなわち、中継装置２００は記憶部２５０の領域を示すアドレスや外部記憶装置の領域を示すＵＲＩなどのアドレスを記憶しておき、これに基づいて広告ファイルを読み出せばよい。なお、このような外部記憶装置は一つでもよいし、複数でもよい。
【００７１】
また、定期的に外部記憶装置から中継装置２００に広告ファイルが送信され、中継装置２００は送信された広告ファイルにファイル番号を付して広告ファイルデータベース２５１２に記憶させてもよい。
【００７２】
さらに、外部記憶装置は、複数の中継装置２００のそれぞれが設置されている設置場所を検出し、この設置場所毎に各中継装置２００に送信する広告ファイルを変化させてもよい。この場合、外部記憶装置は、予め設置場所を示す文字列と広告ファイルの対応関係を記憶しておけばよい。このようにすると、端末３１０の画面上に、端末３１０が設置されている施設の近隣にある店舗などについての広告を表示することができるため、より効果的な広告を表示させることができる。なお、外部記憶装置が各中継装置２００の設置場所を検出する方法は様々あるが、例えば、外部記憶装置は、予め中継装置２００のＩＰアドレスと設置場所を示す文字列を対にしてテーブルに記憶しておいてもよい。
【００７３】
（９）また、上述の実施形態において、コンテンツ管理モジュール２１０２は、要求ＵＲＩに基づいてスクリプトＳｃの挿入および広告ファイルの送信を行うか否かの判断を行ったが、検索サーバに対して検索を求める検索文字列を監視して、これに基づいてこの判断を行ってもよい。この場合、パケット解析モジュール２１０１はｈｔｔｐ要求から検索文字列を抽出して、コンテンツ管理モジュール２１０２に引渡せばよい。
【００７４】
（１０）また、検索文字列の内容に応じて、挿入する広告ファイルを決定してもよい。この場合、広告ファイルとその広告ファイルに関連するキーワードとを対にして広告ファイルデータベース２５２１に記憶させ、ｈｔｔｐ要求から検索文字列を得た制御部２１０は、検索文字列と上記キーワードとを照合することにより、挿入する広告ファイルを決定させればよい。
【００７５】
（１１）また、上述の実施形態において、広告ファイルのアドレスとしてのファイル番号ＦＮを特定するために、広告送信回数ＣＮＴを利用したが、利用しなくてもよい。例えば、揮発性記憶部２５１に端末３１０へ送信した広告ファイルのファイル番号ＦＮを記憶しておき、新たにファイル番号ＦＮを決定するときに、記憶した前回のファイル番号ＦＮを除外した複数のファイル番号ＦＮの中から一つを選択すればよい。この選択には、例えば、乱数を用いてもよい。また、この場合、乱数は全てのファイル番号ＦＮに均等に発生するようにしてもよいが、所定の重み係数を掛けてもよい。さらに、このような重み係数はファイル番号ＦＮ毎に不揮発性記憶部２５２の所定の領域に記憶してもよい。要するに、端末３１０にデータ（広告ファイル等）を送信する毎に、複数のアドレス（ファイル番号ＦＮ等）の中から前回とは異なるアドレスのデータを選択して送信することが可能なように、中継装置２００がアドレスを特定できればよい。
【００７６】
（１２）本発明に係る中継装置２００は様々な機器で構成することができる。例えば、ルータに上述した機能を持たせることで、中継装置２００を構成してもよい。
【図面の簡単な説明】
【００７７】
【図１】この発明の一実施形態である中継装置を用いた広告システムの全体構成を示す図である。
【図２】中継装置２００のハードウェア構成を示した図である。
【図３】仮想ファイルテーブル２５１２の一例を示した図である。
【図４】中継装置２００の機能的構成を示した図である。
【図５】端末３１０とサーバ１１０が中継装置２００を介して行う通信の動作を示したシーケンス図である。
【図６】Ｗｅｂブラウザによる修正ＨＴＭＬファイルの表示例である。
【図７】２つのウィンドウを開いたＷｅｂブラウザによる広告の表示例である。
【符号の説明】
【００７８】
１００…ＷＡＮ、２００…中継装置、２１０…制御部、２１０１…パケット解析モジュール、２１０２…コンテンツ管理モジュール、２１０３…広告管理モジュール、２１０４…スクリプト挿入モジュール、２３０…第１通信ＩＦ部、２４０…第２通信ＩＦ部、２５０…記憶部、２５１…揮発性記憶部、２５１１…パケット蓄積領域、２５１２…仮想ファイルテーブル、２５２…不揮発性記憶部、２５２１…広告ファイルデータベース、２５２２…広告対象ＵＲＩリスト、２６０…バス、３００…ＬＡＮ、３１０…端末
【図１】
2009031852.tif 000003
【図２】
2009031852.tif 000004
【図３】
2009031852.tif 000005
【図４】
2009031852.tif 000006
【図５】
2009031852.tif 000007
【図６】
2009031852.tif 000008
【図７】
2009031852.tif 000009