JP4135876B2 - コンテンツ先読み装置およびコンテンツ先読みプログラム - Google Patents
コンテンツ先読み装置およびコンテンツ先読みプログラム Download PDFInfo
- Publication number
- JP4135876B2 JP4135876B2 JP2002178037A JP2002178037A JP4135876B2 JP 4135876 B2 JP4135876 B2 JP 4135876B2 JP 2002178037 A JP2002178037 A JP 2002178037A JP 2002178037 A JP2002178037 A JP 2002178037A JP 4135876 B2 JP4135876 B2 JP 4135876B2
- Authority
- JP
- Japan
- Prior art keywords
- content
- bandwidth
- priority
- distance
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
【発明の属する技術分野】
本発明は、ネットワーク上で、クライアントが、サーバからコンテンツを閲覧する方法に係り、特に、WWW(World Wide Web)サーバ等が提供するストリーム型コンテンツをクライアントが閲覧するコンテンツ先読み装置、コンテンツ先読み方法およびプログラムに関する。
【0002】
【従来の技術】
近年、インターネットが爆発的に普及している。インターネットにおいては、TCP/IP(Transmission Control Protocol/Internet Protocol)プロトコルのみを規定し、送受信されるパケットそのものの中身について規定されていないので、文字、静止画データ(いわゆるコンテンツ)等を送受信することができる。
【0003】
それらのコンテンツを統一的に送受信することができるプロトコルとして、HTTP(HyperText Transfer Protocol)があり、殆どのインターネットユーザは、HTTPを用いて情報を入出力することができるブラウザツールを用い、様々なコンテンツを閲覧している。
【0004】
ユーザ数の増加とともに、ユーザがコンテンツを取得するまでの時間が、回線容量の関係から、増加する傾向が見受けられる。
【0005】
ところで、一度見たコンテンツを自分のパソコンまたは、ネットワーク上の装置(proxyサーバ)でキャッシュし、同じコンテンツを再び見る場合、ネットワーク側からコンテンツを取るのではなく、キャッシュの中からコンテンツを取り出すようにすれば、コンテンツ表示までの時間が短縮され、ネットワーク上のトラフィックやHTTPサーバ装置の負荷を軽減することができる。
【0006】
しかし、キャッシュする場合、キャッシュされているコンテンツが実際には更新されていても、古いコンテンツが表示されるという短所があり、また、過去にキャッシュしたコンテンツに対しては効果を発揮するが、これから見ようとするコンテンツに対しては、全く効果を発揮しないという短所がある。
【0007】
上記短所を克服するには、特開平11−219313号公報に開示されているように、ページの構文を解析し、この解析されたページとリンクされているページとを先読みし、キャッシュに蓄積するコンテンツ先読み方法が知られている。
【0008】
しかし、上記従来方法では、今コンテンツのどの部分に、ユーザが着目しているかについて、クライアントが知ることができないので、今までのコンテンツアクセス頻度に応じて、ダウンロードの優先度を決めている。したがって、初めて訪れるサイトについては、有効な先読みを実行することができないという問題がある。
【0009】
また、上記従来方法では、ホームページ等のいわゆるダウンロード型のコンテンツを念頭に考えられ、ネット放送等のストリーム型のコンテンツについては、効果を発揮することはできないという問題がある。
【0010】
つまり、ユーザが今から見ようとしているコンテンツを取得する動作が完了しない状態で、リンクされているコンテンツを、先読みで取得しようとすると、現在取得しようとしているコンテンツ用のネットワーク帯域を使うので、取得までの時間が増大する。したがって、現在取得しようとしているコンテンツの取得が完了するまで、リンクされているコンテンツを先読みすることができない。
【0011】
ストリーム型のコンテンツを再生する場合、サーバからのコンテンツを、ユーザ端末がバッファリングしながら表示・再生するので、再生が完了するまで、サーバとの接続を継続する必要がある。ユーザが、所定のコンテンツを表示・再生しているときに、他のコンテンツにアクセスする場合等には、他のコンテンツをアクセスするためのアクションを起こした後に、現在表示・再生しているコンテンツのサーバへのコネクションを切断し、上記他のコンテンツサーバに接続するという形態になり、従来方法では先読みを実行することができないという問題がある。
【0012】
さらに、上記従来方法では、ページの解析に基づいて、先読み対象としてのリンクコンテンツを選択する場合、過去のアクセス履歴を用いる方法が知られている。
【0013】
しかし、この過去のアクセス履歴を用いる方法だけでは、新たなコンテンツにアクセスする場合に、その新たなコンテンツが過去の履歴に存在していないので、先読みが働かず、先読み対象コンテンツに比べ、アクセス速度が遅くなるという欠点がある。
【0014】
【発明が解決しようとする課題】
上記のように、従来のコンテンツ先読み方法では、ブラウザを利用したクライアントは、ユーザが閲覧したいページのダウンロード終了後に先読み要求を発しているので、ストリーム型コンテンツでは有効に動作しないという問題がある。
【0015】
また、従来のコンテンツ先読み方法では、過去のアクセス履歴を用いているので、全く新規に閲覧しようとするコンテンツについては、先読みを実行することができないという問題がある。
【0016】
本発明は、ネットワークのアイドル時間と、余ったネットワーク帯域とを有効に利用することができ、また、ユーザからの指示に迅速に応答することができるコンテンツ先読み装置、コンテンツ先読み方法およびプログラムを提供することを目的とするものである。
【0017】
【課題を解決するための手段】
本発明は、ユーザが現在参照しているコンテンツ画面上でのマウスポインタ位置、または、テキストブラウザにおけるフォーカス部分の位置を取得し、画面に表示されているURLを表すオブジェクトと、上記マウスポインタ位置、または上記フォーカス部分の位置との距離をポインタ距離として、各オブジェクトのそれぞれに対して求めるポインタ距離計算手段と、上記ポインタ距離を求めた各オブジェクトのURLが示すコンテンツについて、上記求めたポインタ距離を基に、ネットワーク帯域を確保する順番の優先度を計算する優先度計算手段と、優先度が一番高いコンテンツに対し、そのコンテンツが要求するネットワーク帯域を確保するネットワーク帯域確保手段と、上記確保されたネットワーク帯域を使用し、当該ネットワーク帯域を確保したコンテンツをサーバから取得してキャッシュするコンテンツ取得手段とを有し、上記コンテンツ取得手段は、サーバから取得するコンテンツがストリームデータである場合、コンテンツの要求に対してサーバからデータが届くのに必要な時間を求め、当該必要な時間のデータ量を、サーバから取得してキャッシュする手段であるコンテンツ先読み装置である。
【0018】
【発明の実施の形態および実施例】
図1は、本発明の一実施例であるコンテンツ先読み装置100を示すブロック図である。
【0019】
コンテンツ先読み装置100は、キャッシュデータ蓄積部10と、キャッシュデータ蓄積制御部20と、キャッシュテーブル30と、キャッシュテーブル制御部40と、構造化文リンク解析部50と、画面表示オブジェクト・ポインタ間距離計算部60と、優先度計算部70と、ポインタ位置取得部80と、画面表示制御部91と、下り帯域予約制御部92と、入力、表示および出力装置93とを有する。
【0020】
キャッシュデータ蓄積部10は、URLと、上記URLのコンテンツと、最終参照日時とを蓄積する。
【0021】
キャッシュデータ蓄積制御部20は、キャッシュテーブル制御部40からの指示に基づいて、キャッシュデータ蓄積部10にデータを登録し、削除する機能を有する。
【0022】
図2は、キャッシュテーブル30の一例を示す図である。
【0023】
キャッシュテーブル30は、URLと、そのURLへのアクセス回数と、ポインタの距離と、属性と、キャッシュフラグと、タイムスタンプと、有効期限と、リンス数と、優先度と、帯域幅と、カレントフラグとを有する。
【0024】
なお、上記「ポインタの距離」は、当該URLを表すオブジェクトとマウスポインタとの距離であり、または、テキストブラウザであれば、当該URLを表すオブジェクトと、フォーカスされている部分との距離である。
【0025】
キャッシュテーブル制御部40は、構造化文リンク解析部50からの情報に応じて、リンク先名や属性を登録し、アクセス回数やキャッシュフラグを更新する機能を有する。また、キャッシュテーブル制御部40は、画面表示オブジェクト・ポインタ間距離計算部60からの情報に応じて、キャッシュテーブル30に、ポインタの距離を登録する機能を有する。さらに、キャッシュテーブル制御部40は、優先度計算部70からの指示に応じて、キャッシュテーブル30に優先度を書き込む準備を行う。
【0026】
図3は、構造化文リンク解析部50の動作を示すフローチャートである。
【0027】
構造化文リンク解析部50は、受信データが存在する場合(S1)、受信データ中の構造化文の中のリンク先の抜き出しを行い(S2)、キャッシュテーブル30内にエントリが存在しない場合(S3)、リンク先をキャッシュテーブル30に登録し、アクセス回数とキャッシュフラグとを更新するように、キャッシュテーブル制御部40に指示する(S4)。また、構造化文リンク解析部50は、コンテンツデータのヘッダに書かれている属性や、ページの有効期限、さらには、コンテンツの要求する帯域幅を抜き出す。
【0028】
優先度計算部70は、キャッシュテーブル30のアクセス回数と、ポインタの距離と、属性とに基づいて、帯域を確保する順番の優先度を計算し、キャッシュテーブル30内の優先度のデータを決定し、キャッシュテーブル制御部40に書き込むように指示する機能を有する。
【0029】
ポインタ位置取得部80は、画面上で現在、表示されているポインタの位置を取得し、画面表示オブジェクト・ポインタ間距離計算部60へ、ポインタの位置に関するデータを提供する。
【0030】
図7は、上記実施例において、コンテンツ先読み動作を示すシーケンス図である。
【0031】
図7では、ネットラジオと呼ばれるネットワークを用いた放送局のコンテンツを、表示・再生する場合について、クライアントとサーバとの間におけるデータの送受信を示してある。
【0032】
まず、ストリームコンテンツの場所を記したポータルサイトを見るためのブラウザを起動したときに、まず、ポータルサイトのデータを取得するために、ネットワークにリクエストする(S11)。
【0033】
リクエストに対するレスポンスの中に書かれている構造化文から、構造化文リンク解析部50が取得したページに書かれているリンク先を、キャッシュテーブル30に登録する(S12)。
【0034】
また、属性・ページの有効期限・要求する帯域幅の情報が記載されていれば、これらの情報をもキャッシュテーブル30に登録する。
【0035】
キャッシュテーブル30のポインタの距離要素は、画面に表示されているオブジェクトに対する現在のマウスポインタの置かれている位置に基づいて求められ、また、テキストブラウザの場合、フォーカス部分の置かれている位置に基づいて、求められる。
【0036】
図4は、上記実施例におけるコンテンツ表示画面の表示例を示す図である。
【0037】
簡単のためテキストブラウザを例とって、説明する。
【0038】
図4中、網掛部分が、今現在におけるフォーカス位置を示す部分である。1行の距離を10とすると、オブジェクトhttp://Cから、オブジェクトhttp://Aまでの距離は20であり、オブジェクトhttp://Bまでの距離は10である。
【0039】
図5は、上記実施例において、リンク間の距離を計算する例を示す図である。
【0040】
図5に示すように、それぞれのリンクをたどり、予めユーザが指定したリンクの最大数(深さ)に達するまで、または、最大同時接続数までを、先読みの対象にする場合にも、上記と同様に考える。
【0041】
つまり、たとえばリンク間の距離を10とすると、オブジェクトhttp://Cからhttp://AAまでの距離は、http://Cとhttp://Aとの距離である20に、リンク間の距離である10を加えた距離である30である。また、http://Cとhttp://CAとの距離は10である。これらの距離を、キャッシュテーブル30のポインタの距離要素に書き込む。
【0042】
次に、現在、フォーカスが置かれている場所と、リンク先アドレスとの距離を計算する。この距離計算は、上記画面表示オブジェクト・ポインタ間距離計算部60によって得られた空間的距離要素に加え、嗜好的距離によって決定される。
【0043】
上記「嗜好的距離」は、今までのアクセス頻度や、コンテンツのジャンル・属性によって決定される距離である。また、図2に示すキャッシュテーブル30では、音楽の嗜好で分類するならば、ロック、ポップス、クラシックという属性に応じて、嗜好的距離を考えることができる。この嗜好で分類するために用いる属性を、構造化文リンク解析部50が、コンテンツヘッダから取得する。
【0044】
もちろん、最終的なコンテンツにたどり着くまでのリンクの過程において、所定の属性を示すリンクのグループに入ることによって、今取得しようとしているデータの属性を知ることもできる。つまり、データが階層化され、ジャンル毎にグループ分けされているので、各コンテンツにジャンルデータが入っていなかったとしても、ジャンルを知ることができる。
【0045】
また、実際に訪れたURLについては、そのアクセス回数を、キャッシュテーブル30に記録する。
【0046】
上記ポインタの距離と、嗜好的距離と、アクセス回数とに基づいて、上記実施例における帯域を確保する順番の優先度を計算し、この計算の結果、決定された値は、キャッシュテーブル制御部40を通じて、キャッシュテーブル30に登録される。
【0047】
優先度を決定する距離尺度L(距離尺度Lの値が小さい程、優先度が高い)は、たとえば、
L=f(x)+g(y)+h(z)
で表すことができる。
【0048】
ここで、xは、アクセス回数であり、yは、ポインタの距離であり、zは、属性であり、f(x)は、アクセス回数を変数とする関数であり、g(y)は、ポインタの距離を変数とする関数であり、h(z)は、属性を変数とする関数である。
【0049】
もっと単純に考えると、優先度を決定する距離尺度Lは、
L=1/x+y[1:if rock, 2:if pops, 3:if classic]
である。
【0050】
クライアントは、下り帯域予約制御部92を通じて、優先度0のコンテンツが要求する帯域幅を確保し(S13)、クライアントに許された残りの帯域幅を、キャッシュテーブル30を参照し、優先度順に順次確保する(S13)。なお、優先度の値が小さい程、優先の度合いが高くなる。つまり、優先度0は、最高優先度を示す。
【0051】
また、優先度を用いて帯域を確保する方法として、以下に示す第1、2の帯域確保方法が考えられる。
【0052】
第1の帯域確保方法は、優先の高いコンテンツから、そのコンテンツの要求する帯域を確保する方法である。つまり、ユーザが使用できる帯域を64kbpsとし、優先度0のコンテンツの帯域が32kbpsであるとすると、残りの帯域は、32kbpsである。そして、優先度1のコンテンツの帯域が、30kbpsであるとすると、残りの帯域32kbpsのうちで帯域30kbpsを使い、残りの帯域は、2kbpsである。
【0053】
優先度2のコンテンツが、2kbps以下の帯域であれば、その分を確保し、優先度3のコンテンツに渡すという操作を繰り返し、帯域を確保することができなくなった時点で、先読みを停止する。
【0054】
一方、第2の帯域確保方法は、優先度0のコンテンツが、その要求帯域を確保し、残った帯域を、先読み対象コンテンツの帯域に、優先度順の計数をかけて共有するようにして、帯域を確保する方法である。
【0055】
たとえば、上記と同様に、ユーザが使用できる帯域を64kbpsとし、優先度0のコンテンツの要求帯域が32kbpsである場合、残りの帯域が32kbpsである。ここで、優先度1のコンテンツの帯域が30kbpsであり、優先度2のコンテンツの帯域が2kbpsであり、優先度3のコンテンツの帯域が20kbpsである場合、次のように、帯域を分配する。
【0056】
つまり、優先度1のコンテンツに、32kbps×30kbps/(30kbps/1+2kbps/2+20kbps/3)≒25.49kbpsを分配し、優先度2のコンテンツに、32kbps×(2kbps/2)/(30kbps/1+2kbps/2+20kbps/3)≒0.78kbpsを分配し、優先度3のコンテンツに、32kbps×(20kbps/3)/(30kbps/1+2kbps/2+20kbps/3)≒5.66kbpsを分配するというように、残った帯域を、所定の計算方法に従って分配して使う方法である。
【0057】
ここで、ユーザが扱うことができる帯域を設定する場合、網側に帯域予約機能を持ったルータ等が存在していなければ、設定できないが、将来の通信事業者のサービスとして登場することが考えられる。この場合、その事業者との契約の中で、最低帯域保障値を定め、この定められた最低帯域保障値の範囲内で、ユーザが扱うことができる帯域を設定することができる。
【0058】
また、ユーザがそのネットワークを使用し、経験的に知ることができる最低帯域の値を、ユーザが扱うことができる帯域として設定することが考えられる。
【0059】
さらに、フロー毎に帯域を予約することはできない。つまり、取得すべきコンテンツの1つ1つについて帯域予約することはできない。ネットワークである場合、client側から、tcp通信におけるAckを返すタイミングを遅らせる等して、通信速度を変化させ、擬似的に帯域予約することによっても、ユーザが扱うことができる帯域を表現することができる。
【0060】
また、キャッシュテーブル制御部40を通じて、キャッシュテーブル30を参照して得られたコンテンツの取得状況(0:全く取得されていない/1:一部取得済み/2:全て取得済み)に応じて、キャッシュフラグを設定し、2(全て取得済み)であれば、エントリに、帯域を割り振らない。
【0061】
また、ユーザが予め設定した先読みの対象となり得るリンクをたどった場合におけるリンク数が、リンク数の最大数を超えるエントリには、帯域を割り振らない。つまり、一度にいくつものコンテンツを取得しようとすると、クライアントの負荷が大きくなり、そのコンテンツが選択される可能性が低くなるので、リンク数の最大数を超えるエントリには、帯域を割り振らない。
【0062】
図5に示す例の場合、現在、フォーカスが当たっている場所を、http://Cとすると、
http://B、http://A、http://CA等は、リンク数1であり、
http://AA、http://BAは、リンク数2であり、
http://BBA等は、リンク数3であると数える。
【0063】
つまり、先読みを行う範囲を制限するために、リンク数を数える。
【0064】
次に、カレントフラグを設定し(0:視聴中でないURL/1:ユーザによって能動的に選択された視聴中のURL)、カレントフラグが1(ユーザによって能動的に選択された視聴中のURL)であるエントリの優先度を、0にする。
【0065】
先読みコンテンツを、シーケンシャルに取得する場合と、先読みコンテンツを、同時並列に取得する場合とがある。
【0066】
まず、先読みコンテンツをシーケンシャルに取得する場合、優先度0のコンテンツを帯域予約すれば、他のコンテンツ取得による帯域圧迫が生じない。つまり、ストリームデータの場合、クライアント側では、一定のレートで再生されるが、送り側が一度に多くのデータを送ってくる場合には、そのデータのために他のコンテンツの取得が邪魔されるが、これを、帯域予約(帯域制御)することによって、上記他のコンテンツの取得の邪魔を防止することができる。そして、優先度1からコンテンツの取得を始め、コンテンツの取得が終了したら、優先度2のコンテンツを取得し、次に、優先度3のコンテンツを取得し、……というように、コンテンツを順次、取得する。
【0067】
ただし、コンテンツがストリームデータである場合、なかなか取得が終了しないこともある。この場合、clientがリクエストしてから、serverからデータを受信するために必要な時間を求め、このコンテンツの必要帯域から、どれだけのデータをキャッシュしておけば、同じコンテンツに、次にリクエストしたときに、clientがストリームデータを遅延なく再生できるかを計算し、この計算された分だけキャッシュする。
【0068】
たとえば、clientからのリクエストに対し、データが届くのが、2secであり、そのコンテンツが必要とする帯域が384kbitである場合、2sec×384kbit=765kbit分をキャッシュしておく。
【0069】
一方、同時並列に先読みコンテンツを取得する場合、上記のように、優先度の高い順に帯域を確保し、各コンテンツに帯域を確保することができなくなるまで、帯域を確保する。ただし、シーケンシャル取得の場合のように、サーバのレスポンスタイムによって、コンテンツデータの一部をキャッシュするようにしてもよい。
【0070】
上記のようにして決定された優先度と帯域幅とを用いることによって、ストリーミングコンテンツを受信中であっても、現在視聴中のコンテンツに、最大優先度を与え、コンテンツが必要とする帯域を確保し、これによって、視聴中のコンテンツに影響を与えることなく、またユーザの余った帯域を活用しつつ、効果的にコンテンツの先読みを行うことができる(S14、S15)。
【0071】
図6は、上記実施例において、距離決定と優先度とキャッシュとの一構成例を示す図である。
【0072】
図6に示す例では、テキストブラウザを想定して記載され、現在のフォーカスが、ネットラジオ局であるFM静岡上に存在している。網掛けの丸の中の数値は、嗜好的距離を示し、直線上の数値は、フォーカス位置から各オブジェクトまでの空間的距離を示し、下線付き数値は、そのコンテンツにおける優先度を決定するための距離を示す。
【0073】
また、treeの元に存在している数値の入っていない網掛けの丸には、画面に現れているページを示す。したがって、上記方法によって、空間的距離は、FM静岡に対して0であり、NHK FMに対しては10である。その他の放送局に対しては、それぞれカーソルから離れるにつれて10ずつ増える。さらに、上記方法を用い、アクセス頻度、コンテンツのジャンルに応じて、優先度が決められる。
【0074】
帯域については、コンテンツが要求する帯域と上記距離とに基づいて計算され、FM静岡:64kbps、FM三重:32kbps、ZIPFM:24kbps、FM愛知:24kbps、NHK FM:8kbps等のように決定され、先読みキャッシュが行われる。ただし、この数値は、便宜上つけたもので、実際に計算によって求めたものではない。
【0075】
また、ユーザが所望するコンテンツを変更したときに、先読みしようとするURLが、キャッシュテーブル30に存在するか否かをチェックする(S21)。先読みしようとするURLが、キャッシュテーブル30に存在しない場合、コンテンツの取得を開始する。先読みしようとするURLが、キャッシュテーブル30に存在する場合には、キャッシュフラグをチェックし、このチェックしたキャッシュフラグが「2」である場合(コンテンツの全てをキャッシュ済みである場合)、キャッシュデータを用いてコンテンツを表示する(S22)。
【0076】
チェックしたキャッシュフラグが「1」である場合(コンテンツの一部のみ取得の場合)、キャッシュデータのファイルサイズを取得し、コンテンツサーバに取得できていないコンテンツの残りを取得するためのリクエストを送信する。同時に、先読みによってキャッシュされているデータを読み出し、コンテンツを表示する。
【0077】
そして、リクエストしたデータが、クライアントに到着したら、キャッシュデータに追加書き込みする。
【0078】
上記コンテンツを見せる場合、キャッシュデータにコンテンツを追加書き込みしている最初の時点から、そのコンテンツの再生を開始することによって、コンテンツを連続的に見せる方法と、元々キャッシュに存在していたデータがなくなった時点で、データ読込先を、サーバからのデータに切り替えることによって、コンテンツを連続的に見せる方法等が考えられる。つまり、サーバからのレスポンス時間を埋めるように、キャッシュが動作する。
【0079】
先読みによるキャッシュサイズは、上記のように、コンテンツデータが実際に到着するまでのつなぎとして必要なデータサイズであり、コンテンツサーバとのレスポンスタイムに応じて、先読みによるキャッシュサイズを決定する。
【0080】
また、コンテンツ視聴が終わり、キャッシュすべき先読みデータを全て取得し終わった場合、または、コンテンツ視聴中であったとしても、キャッシュすべき先読みデータを全てキャッシュし終わり、使用可能な帯域が存在している場合、コンテンツサーバに問い合わせを行う。
【0081】
この場合、クライアントのキャッシュテーブル30のタイムスタンプと、コンテンツサーバ上のコンテンツのタイムスタンプとが異なっていたら、クライアントのキャッシュテーブル30のキャッシュフラグを「0」に更新する。
【0082】
図2に示すキャッシュテーブル30のエントリの1つである有効期限は、コンテンツの有効期限であり、データのヘッダに記述されている場合がある。この有効期限は、時限的なコンテンツを、キャッシュから消去するために用いられる。
【0083】
上記時限的なコンテンツは、取得から1週間は視聴可能であるコンテンツ、ユーザが長い間持つことを、コンテンツ業者が望まないコンテンツ、同一のURLであっても、所定の周期で内容が書き換わるコンテンツ等である。
【0084】
上記有効期限を、構造文リンク解析部50が取得し、キャッシュテーブル30に書き込む。また、上記有効期限を、定期的にチェックし、有効期限が切れているコンテンツに関するキャッシュフラグを「0」にし、コンテンツを全く取得していない状態に戻す。これに加え、キャッシュ禁止が、コンテンツヘッダに記載されると、一連の先読み動作を実行せず、コンテンツ視聴中でのキャッシュも行わないように動作する。つまり、上記キャッシュ禁止が記載される場合として、コンテンツ配信者が、ディスクへの保存は勿論、キャッシュ自体の阻止を望む場合に、上記キャッシュ禁止が記載されることが考えられる。
【0085】
上記実施例によれば、ユーザの指示によって表示したページからリンクが張られているページを先読みするので、ネットワークのアイドル時間と、余ったネットワーク帯域とを有効に利用することができ、また、ユーザからの指示に迅速に応答することができる。
【0086】
また、上記実施例によれば、ページの有効期限を検査するので、先読みしたページの内容を新鮮なものに保つことができる。
【0087】
さらに、上記実施例によれば、各ページの更新頻度等に応じて、有効期限を個別に設定するので、コンテンツ先読みの柔軟性がより高い。
【0088】
そして、上記実施例によれば、各ページの構成要素の更新頻度等に応じて、有効期限を個別に設定するので、コンテンツ先読みの柔軟性がより高い。
【0089】
また、上記実施例によれば、先読みの読み出しを並行に実行するので、ネットワークをより有効に活用することができる。
【0090】
さらに、上記実施例によれば、コンテンツの要求帯域と、現在の帯域幅の残りとに応じて、自動的に帯域を割り当てて、先読みするので、視聴中のコンテンツに影響を与えることなく、ネットワークの帯域幅をより有効に活用することができる。
【0091】
そして、上記実施例によれば、複数のコンテンツの読み出しを並行に実行する場合、その中のいずれかのページをユーザが閲覧したい旨を指示すると、既にキャッシュされているデータを読み出すと同時に、優先度が最大になり、コンテンツに必要な帯域が確保されるので、より迅速にユーザの指示に応答することができる。
【0092】
また、上記実施例によれば、リンク先コンテンツの読み出しを、並行に行うのではなく、コンテンツ毎に順番に行うことも可能であるので、優先制御しかできないネットワークにおいても、先読みすることができる。
【0093】
さらに、上記実施例によれば、コンテンツの先読みを実行している途中で、ユーザが閲覧を望むコンテンツを指示すると、指示されたコンテンツの読み出しを優先度最大で開始するので、ユーザに迅速に応答することができる。
【0094】
そして、上記実施例によれば、中断されたページにリンクが張られているページが再びユーザに表示された場合に、上記中断されたページの読み出しが、再開されるので、コンテンツの読み出しがより効率的になる。
【0095】
また、ページのコンテンツの読み出しを再開する際に、途中まで読んだデータの有効期限を検査し、有効期限が経過している場合には、その途中までのデータを破棄し、データの読み出しを初めからやり直すので、ホームページを、より新鮮なデータ内容にすることができる。
【0096】
さらに、上記実施例によれば、各ページを順番に読み出していく際に、各ページの優先度に応じて、その順番を決定するので、優先度の高いページを早い段階で読み出すことができる。
【0097】
そして、上記実施例によれば、優先度に従って、リンク先ページを複数のグループに分け、この分けられた各グループ毎に、複数のページを並行に読み出すので、ネットワークの負荷をそれほど増大させずに、しかもページのコンテンツの先読みを効率的に行うことができる。
【0098】
また、上記実施例によれば、優先度に応じて、上記グループ分けを行うので、優先度の高いページをより早い段階で先読みすることができ、ユーザの指示に対して迅速に応答することができる。
【0099】
さらに、上記実施例によれば、上記ページと現在のポインタ位置との距離に応じて、上記優先度を決定するので、距離の近いページに対して、より迅速に先読みし、より効率的に先読みが行われる。
【0100】
そして、上記実施例によれば、ユーザの嗜好との関係で、優先度を決定するので、ユーザの嗜好により近いコンテンツに、より優先的に先読みし、より効率的に先読みが行われる。
【0101】
また、上記実施例によれば、先読み動作が許可されている場合にのみ、コンテンツを先読みし、ネットワークの負荷を増大させたくない場合等には読み込み動作を禁止するので、ネットワークの負荷の調整等を的確に行うことができる。
【0102】
なお、上記実施例を、プログラムの発明として把握することができる。つまり、上記実施例は、キャッシュメモリに登録されているコンテンツと現在参照しているコンテンツとを比較する比較手順と、帯域を確保する順番の優先度を計算する優先度計算手順と、上記計算された優先度と、コンテンツが要求する帯域とを参照し、ユーザに残された帯域を確保する帯域確保手順と、上記確保された帯域を使用し、コンテンツを取得するコンテンツ取得手順とをコンピュータに実行させるプログラムの例である。
【0103】
この場合、上記優先度計算手順は、ユーザが現在参照しているコンテンツ画面上でのマウスポインタ位置、または、テキストブラウザにおけるフォーカス部分の位置を取得し、画面に表示されているオブジェクトの位置と、上記取得したマウスポインタまたはフォーカス位置との間のリンク数と、過去のアクセス回数と、コンテンツの属性とを加味して、上記優先度を決定する手順である。
【0104】
また、上記優先度計算手順は、ユーザが現在閲覧中か否かを示すカレントフラグを設定し、この設定されたカレントフラグに基づいて、優先度を決定する手順である。
【0105】
また、上記プログラムを、FD、CD、DVD、HD、半導体メモリ等の記録媒体に記録するようにしてもよい。
【0106】
【発明の効果】
本発明によれば、ユーザの指示によって表示したページからリンクが張られているページを先読みするので、ネットワークのアイドル時間と、余ったネットワーク帯域とを有効に利用することができ、また、ユーザからの指示に迅速に応答することができるという効果を奏する。
【図面の簡単な説明】
【図1】本発明の一実施例であるコンテンツ先読み装置100のブロック図である。
【図2】キャッシュテーブル30の一例を示す図である。
【図3】構造化文リンク解析部50の動作を示すフローチャートである。
【図4】上記実施例におけるコンテンツ表示画面の表示例を示す図である。
【図5】上記実施例において、リンク間の距離を計算する例を示す図である。
【図6】上記実施例において、距離決定と優先度とキャッシュとの一構成例を示す図である。
【図7】上記実施例において、コンテンツ先読み動作を示すシーケンス図である。
【符号の説明】
100…コンテンツ先読み装置、
10…キャッシュデータ蓄積部、
20…キャッシュデータ蓄積制御部、
30…キャッシュテーブル、
40…キャッシュテーブル制御部、
50…構造化文リンク解析部、
60…画面表示オブジェクト、ポインタ間距離計算部、
70…優先度計算部、
80…ポインタ位置取得部、
91…画面表示制御部、
92…下り帯域予約制御部、
D1…入力、表示および出力装置。
Claims (2)
- ユーザが現在参照しているコンテンツ画面上でのマウスポインタ位置、または、テキストブラウザにおけるフォーカス部分の位置を取得し、画面に表示されているURLを表すオブジェクトと、上記マウスポインタ位置、または上記フォーカス部分の位置との距離をポインタ距離として、各オブジェクトのそれぞれに対して求めるポインタ距離計算手段と;
上記ポインタ距離を求めた各オブジェクトのURLが示すコンテンツについて、上記求めたポインタ距離を基に、ネットワーク帯域を確保する順番の優先度を計算する優先度計算手段と;
優先度が一番高いコンテンツに対し、そのコンテンツが要求するネットワーク帯域を確保するネットワーク帯域確保手段と;
上記確保されたネットワーク帯域を使用し、当該ネットワーク帯域を確保したコンテンツをサーバから取得してキャッシュするコンテンツ取得手段と;
を有し、上記コンテンツ取得手段は、サーバから取得するコンテンツがストリームデータである場合、コンテンツの要求に対してサーバからデータが届くのに必要な時間を求め、当該必要な時間のデータ量を、サーバから取得してキャッシュする手段であることを特徴とするコンテンツ先読み装置。 - 請求項1に記載のコンテンツ先読み装置を構成する各手段としてコンピュータを機能させるコンテンツ先読みプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002178037A JP4135876B2 (ja) | 2002-06-19 | 2002-06-19 | コンテンツ先読み装置およびコンテンツ先読みプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002178037A JP4135876B2 (ja) | 2002-06-19 | 2002-06-19 | コンテンツ先読み装置およびコンテンツ先読みプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004021769A JP2004021769A (ja) | 2004-01-22 |
JP4135876B2 true JP4135876B2 (ja) | 2008-08-20 |
Family
ID=31175876
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002178037A Expired - Fee Related JP4135876B2 (ja) | 2002-06-19 | 2002-06-19 | コンテンツ先読み装置およびコンテンツ先読みプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4135876B2 (ja) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005044149A (ja) * | 2003-07-23 | 2005-02-17 | Sanyo Electric Co Ltd | コンテンツ出力装置 |
WO2007056863A1 (en) * | 2005-11-21 | 2007-05-24 | Zi Corporation Of Canada, Inc. | Information delivery system and method for mobile appliances |
JP5166161B2 (ja) * | 2008-08-07 | 2013-03-21 | 株式会社野村総合研究所 | データ処理装置およびデータ処理方法 |
JP4958922B2 (ja) * | 2009-01-23 | 2012-06-20 | キヤノン株式会社 | 情報処理装置及びその制御方法 |
EP2543189A1 (en) * | 2010-03-05 | 2013-01-09 | Thomson Licensing | Bit rate adjustment in an adaptive streaming system |
US8601052B2 (en) | 2010-10-04 | 2013-12-03 | Qualcomm Incorporated | System and method of performing domain name server pre-fetching |
US20130067349A1 (en) * | 2011-09-12 | 2013-03-14 | Microsoft Corporation | Efficiently providing data from a virtualized data source |
JP2015194832A (ja) * | 2014-03-31 | 2015-11-05 | パイオニア株式会社 | コンテンツ出力装置、コンテンツ配信サーバ、コンテンツ出力方法およびコンテンツ出力プログラム |
CN105635323B (zh) * | 2016-03-14 | 2018-05-22 | 北京百度网讯科技有限公司 | 数据传输控制方法和装置 |
JP2017126347A (ja) * | 2017-02-09 | 2017-07-20 | 株式会社Jvcケンウッド | コンテンツ再生装置、コンテンツ再生方法、コンテンツ再生プログラム。 |
JP2019023898A (ja) * | 2018-09-26 | 2019-02-14 | パイオニア株式会社 | コンテンツ出力装置、コンテンツ配信サーバ、コンテンツ出力方法およびコンテンツ出力プログラム |
-
2002
- 2002-06-19 JP JP2002178037A patent/JP4135876B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004021769A (ja) | 2004-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8856454B2 (en) | Anticipatory response pre-caching | |
KR102151457B1 (ko) | 통신 시스템에서 페이지 로딩 시간 단축 방법 및 장치 | |
US8230474B2 (en) | User specified parallel data fetching for optimized web access | |
US7065780B2 (en) | Method and system for emulating and HTTP server through a broadcast carousel | |
JP4904564B2 (ja) | コンテンツ配信システム、コンテンツ配信装置、コンテンツ再生端末およびコンテンツ配信方法 | |
JP4135876B2 (ja) | コンテンツ先読み装置およびコンテンツ先読みプログラム | |
US20070143672A1 (en) | Partial rendering of Web pages | |
US20080222242A1 (en) | Method and System for Improving User Experience While Browsing | |
US20010003828A1 (en) | Client-side system for scheduling delivery of web content and locally managing the web content | |
JP2004509395A (ja) | ダイナミック・キャッシングのための方法 | |
JP2007080161A (ja) | データ配信システム、部分コンテンツ格納サーバ、応答高速化方法、及びプログラム | |
US20070106702A1 (en) | Selective Caching of Servable Files Based at Least in Part on a Type of Memory | |
CN105760405A (zh) | 用于加载web页面的网络资源获取方法、缓存方法及装置 | |
JP3764291B2 (ja) | 情報配信システム、移動計算機、情報サーバ装置、キャッシュサーバ装置及び先読みキャッシュ処理方法 | |
US7797441B1 (en) | Methods and systems for streaming advertising content | |
CN103916474A (zh) | 缓存时间的确定方法、装置及系统 | |
JP5798523B2 (ja) | 通信制御システム、集約サーバおよび通信制御方法 | |
JP2004513405A (ja) | クライアント/サーバ・ネットワークでリンク・ファイルを順序付き先行キャッシングするシステム、方法およびプログラム | |
US8200748B2 (en) | System and method for directing data retrieval requests to a data retrieval device | |
JP2000305836A (ja) | Wwwブラウザ装置およびコンピュータ読み取り可能な記録媒体 | |
JP2003030034A (ja) | コンテンツ提供方法、コンテンツ提供装置、コンテンツ提供プログラム及びコンテンツ提供プログラムを記録した記録媒体 | |
WO2002033554A1 (fr) | Procede et dispositif d'acquisition de contenu | |
Hussain et al. | Intelligent prefetching at a proxy server | |
JP2005108057A (ja) | コンテンツ取得システム、ブラウザ装置及びそれに用いるコンテンツダウンロード方法並びにそのプログラム | |
JP2015165699A (ja) | データ配信装置、データ配信方法、データ受信装置およびデータ受信方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040802 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071214 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080207 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080307 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080501 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20080530 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080602 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110613 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120613 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |