JP2009104381A - キャッシュ制御プログラム、該プログラムを記録した記録媒体、キャッシュ制御装置、およびキャッシュ制御方法 - Google Patents

キャッシュ制御プログラム、該プログラムを記録した記録媒体、キャッシュ制御装置、およびキャッシュ制御方法 Download PDF

Info

Publication number
JP2009104381A
JP2009104381A JP2007275096A JP2007275096A JP2009104381A JP 2009104381 A JP2009104381 A JP 2009104381A JP 2007275096 A JP2007275096 A JP 2007275096A JP 2007275096 A JP2007275096 A JP 2007275096A JP 2009104381 A JP2009104381 A JP 2009104381A
Authority
JP
Japan
Prior art keywords
cache
feed
rich content
server
content
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.)
Granted
Application number
JP2007275096A
Other languages
English (en)
Other versions
JP4435819B2 (ja
Inventor
Madoka Mitsuoka
円 光岡
Masatomo Yazaki
昌朋 矢崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2007275096A priority Critical patent/JP4435819B2/ja
Priority to US12/256,237 priority patent/US20090106358A1/en
Publication of JP2009104381A publication Critical patent/JP2009104381A/ja
Application granted granted Critical
Publication of JP4435819B2 publication Critical patent/JP4435819B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5682Policies or rules for updating, deleting or replacing the stored data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/288Entity relationship models

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】将来的にアクセスの増加が見込まれるリッチコンテンツを効果的にキャッシュすること。
【解決手段】キャッシュ制御装置101は、任意のサイトに関するフィードを受信し、受信されたフィードの購読者数に基づいて、コンテンツサーバ103に格納されているコンテンツのうち、フィードから特定されるリッチコンテンツをキャッシュするか否かを判断する。このとき、キャッシュが必要であると判断された場合、購読者のクライアント端末105−1〜105−nからリッチコンテンツの送信要求を受け付けるキャッシュサーバ104−1〜104−nに、そのリッチコンテンツのキャッシュ指示を送信する。
【選択図】図1

Description

この発明は、ネットワーク上で配信される映像、音楽などのコンテンツのキャッシュを制御するキャッシュ制御プログラム、該プログラムを記録した記録媒体、キャッシュ制御装置、およびキャッシュ制御方法に関する。
近年、ネットワーク上で動画像やフラッシュなどのコンテンツを配信するサービスが急速に拡大している。一方で、データ量の多いコンテンツを配信することによって、ネットワーク帯域の圧迫や配信サーバにかかる負荷の増大化を招き、サービスの品質を劣化させるという問題を引き起こしている。
そこで、インターネットサービスプロバイダ(ISP)のネットワーク内にキャッシュサーバを配置し、そのキャッシュサーバにコンテンツを予めキャッシュする、または、あるユーザが視聴したコンテンツを別のユーザの視聴に備えてキャッシュするという手法がとられている。キャッシュサーバが効果的に利用されるためには、多くのユーザが視聴するコンテンツを正確に予測し、キャッシュサーバにキャッシュすることが必要となる。
従来、配信されるコンテンツのURLをリスト化した配信URLリストに基づいて、コンテンツのキャッシュを制御する方式が開示されている(例えば、下記特許文献1参照。)。この配信URLは、ウェブサイトのアクセスログに基づく予測、人間による分析、または、ポータルサイトにリンクされているウェブサイトをもとに作成される。
特開2001−92745号公報
しかしながら、上述した特許文献1に記載の従来技術によれば、動画共有サイトなどに投稿される一般のユーザが撮影した動画像などの自然発生的なコンテンツへのアクセスを正確に予測することは難しかった。例えば、投稿された動画像が芸能人のブログなどで紹介されることで、動画像に対するアクセスが急激に増加する場合がある。このような場合、動画像の配信サーバへのアクセスが集中してしまい、ネットワーク帯域の圧迫や配信サーバにかかる負荷の増大化を招き、サービスの品質を劣化させるという問題があった。
また、予測結果に基づいてキャッシュサーバにコンテンツをキャッシュしたとしても、そのコンテンツへのアクセスが集中する時間帯と、ネットワーク内の通信トラフィックが増大する時間帯とが重なった場合には、依然としてネットワーク帯域の圧迫を招いてしまい、サービスの品質を劣化させるという問題があった。
この発明は、上述した従来技術による問題点を解消するため、将来的にアクセスの増加が見込まれるコンテンツを効果的にキャッシュすることにより、通信品質の向上を図るキャッシュ制御プログラム、該プログラムを記録した記録媒体、キャッシュ制御装置、およびキャッシュ制御方法を提供することを目的とする。
上述した課題を解決し、目的を達成するため、このキャッシュ制御プログラム、該プログラムを記録した記録媒体、キャッシュ制御装置、およびキャッシュ制御方法は、任意のサイトに関するフィードを受信し、受信されたフィードの購読者数に基づいて、第1のサーバに格納されているコンテンツのうち、前記フィードから特定されるリッチコンテンツをキャッシュするか否かを判断し、キャッシュが必要であると判断された場合、前記購読者の端末装置から前記リッチコンテンツの送信要求を受け付ける第2のサーバに、前記リッチコンテンツのキャッシュ指示を送信することを要件とする。
このキャッシュ制御プログラム、該プログラムを記録した記録媒体、キャッシュ制御装置、およびキャッシュ制御方法によれば、将来的にアクセスの増加が見込まれるリッチコンテンツを効果的にキャッシュすることができる。
また、キャッシュ制御プログラム、該プログラムを記録した記録媒体、キャッシュ制御装置、およびキャッシュ制御方法は、前記端末装置に対する前記フィードの配信に先立って、前記リッチコンテンツのキャッシュ指示を前記第2のサーバに送信することとしてもよい。
このキャッシュ制御プログラム、該プログラムを記録した記録媒体、キャッシュ制御装置、およびキャッシュ制御方法によれば、フィードから特定されるリッチコンテンツへの購読者からのアクセスが発生する前に、リッチコンテンツのキャッシュ指示を送信することができる。
また、キャッシュ制御プログラム、該プログラムを記録した記録媒体、キャッシュ制御装置、およびキャッシュ制御方法は、前記端末装置が属するネットワーク内の通信トラフィックが増大する時間帯を特定するための混雑情報に基づいて、前記時間帯とは異なる他の時間帯に前記キャッシュ指示を前記第2のサーバに送信することとしてもよい。
このキャッシュ制御プログラム、該プログラムを記録した記録媒体、キャッシュ制御装置、およびキャッシュ制御方法によれば、通信トラフィックが増大する時間帯を回避して、リッチコンテンツのキャッシュ指示を送信することができる。
また、キャッシュ制御プログラム、該プログラムを記録した記録媒体、キャッシュ制御装置、およびキャッシュ制御方法は、前記フィードの購読者数が予め設定された閾値以上であった場合に、前記リッチコンテンツのキャッシュが必要であると判断することとしてもよい。
このキャッシュ制御プログラム、該プログラムを記録した記録媒体、キャッシュ制御装置、およびキャッシュ制御方法によれば、フィードの購読者数に応じて、リッチコンテンツのキャッシュの要否を判断することができる。
また、キャッシュ制御プログラム、該プログラムを記録した記録媒体、キャッシュ制御装置、およびキャッシュ制御方法は、前記フィードの購読者が利用するインターネットサービスプロバイダごとの購読者数に基づいて、前記購読者数が予め設定された閾値以上であった場合に、前記インターネットサービスプロバイダが運用する第2のサーバに対する前記リッチコンテンツのキャッシュが必要であると判断することとしてもよい。
このキャッシュ制御プログラム、該プログラムを記録した記録媒体、キャッシュ制御装置、およびキャッシュ制御方法によれば、ISPごとのフィードの購読者数に応じて、ISPが運用するキャッシュサーバに対するリッチコンテンツのキャッシュの要否を判断することができる。
このキャッシュ制御プログラム、該プログラムを記録した記録媒体、キャッシュ制御装置、およびキャッシュ制御方法によれば、将来的にアクセスの増加が見込まれるコンテンツを効果的にキャッシュすることにより、通信品質の向上を図ることができるという効果を奏する。
以下に添付図面を参照して、このキャッシュ制御プログラム、該プログラムを記録した記録媒体、キャッシュ制御装置、およびキャッシュ制御方法の好適な実施の形態を詳細に説明する。
(コンテンツ配信システムのシステム構成)
まず、本実施の形態にかかるコンテンツ配信システムのシステム構成について説明する。図1は、本実施の形態にかかるコンテンツ配信システムのシステム構成図である。図1において、コンテンツ配信システム100は、キャッシュ制御装置101と、ウェブサーバ102−1〜102−nと、コンテンツサーバ103と、キャッシュサーバ104−1〜104−nと、クライアント端末105−1〜105−nと、がインターネット、LAN、WANなどのネットワーク110を介して相互に交信可能に接続されている。
コンテンツ配信システム100は、ネットワーク110上において、映像や音楽などのコンテンツをクライアント端末105−1〜105−nに配信するサービスを提供する。また、コンテンツ配信システム100は、ウェブサイトの概要を表わすフィードを、フィードを購読するユーザ(以下、「購読者」という)のクライアント端末105−1〜105−nに配信する仕組みを備えている。
キャッシュ制御装置101は、キャッシュサーバ104−1〜104−nに対するリッチコンテンツのキャッシュを制御する機能を有するコンピュータ装置である。また、キャッシュ制御装置101は、ウェブサーバ102−1〜102−nからのフィードを受信し、そのフィードを購読者のクライアント端末105−1〜105−nに配信する機能を有する。
ウェブサーバ102−1〜102−nは、記憶部に格納されているコンテンツ(例えば、HTML文書)からフィードを作成する機能を有するコンピュータ装置である。また、ウェブサーバ102−1〜102−nは、キャッシュ制御装置101からのリクエストに応じて、フィードをキャッシュ制御装置101に送信する機能を有する。
コンテンツサーバ103は、キャッシュサーバ104−1〜104−nからのリクエストに応じて、記憶部に格納されているリッチコンテンツをキャッシュサーバ104−1〜104−nに送信する機能を有するコンピュータ装置である。
キャッシュサーバ104−1〜104−nは、キャッシュ制御装置101からのキャッシュ指示に応じて、リッチコンテンツを後述するキャッシュDB520(図5参照)にキャッシュする機能を有するコンピュータ装置である。具体的には、キャッシュ指示から特定されるリッチコンテンツの取得要求をコンテンツサーバ103に送信し、その結果、送信されてくるリッチコンテンツをキャッシュDB520にキャッシュする。
ここでは、キャッシュサーバ104−1〜104−nは、インターネットサービスを提供するインターネットサービスプロバイダ(以下、「ISP」という)ごとに用意されている。例えば、キャッシュサーバ104−1は、ISP名が「mifty」のISPが運用するサーバである。
クライアント端末105−1〜105−nは、キャッシュ制御装置101から配信されるフィードを受信する機能を有するコンピュータ装置である。これらクライアント端末105−1〜105−nは、契約しているISPが提供するインターネットサービスを利用することができる。
本実施の形態では、動画共有サイトなどに投稿される動画像などの自然発生的なコンテンツへのアクセスが増加するのを想定して、購読者数の多いフィードから特定されるリッチコンテンツを、予めキャッシュサーバ104−1〜104−nにキャッシュする。すなわち、将来的にアクセスの増加が見込まれるリッチコンテンツを効果的にキャッシュすることにより、ネットワーク帯域の圧迫を防ぐとともに、コンテンツサーバ103にかかる負荷を分散させて高品質なサービスの提供を実現する。
ここで、本実施の形態の概要を説明する。まず、ウェブサーバ102−1は、記憶部に格納されているウェブサイトに関するHTML文書からフィードを作成し、そのフィードをキャッシュ制御装置101に送信する(1)。このあと、キャッシュ制御装置101は、ウェブサーバ102−1からフィードを受信し、そのフィードの購読者数をISPごとに算出する。
このとき、ISPごとのフィードの購読者数が予め設定された閾値以上となった場合に、そのフィードから特定されるリッチコンテンツのキャッシュ指示をキャッシュサーバ104−1に送信する(2)。ここでは、mifty(ISP名)の購読者数が閾値以上となった場合を例に挙げて説明する。
キャッシュサーバ104−1は、キャッシュ制御装置101からのキャッシュ指示を受信すると、そのキャッシュ指示に含まれるリッチコンテンツのURLを指定して、コンテンツサーバ103に対してリッチコンテンツの取得要求を送信する(3)。
コンテンツサーバ103は、キャッシュサーバ104−1からリッチコンテンツの取得要求を受信すると、その取得要求に応じたリッチコンテンツを記憶部から抽出し、そのリッチコンテンツをキャッシュサーバ104−1に送信する(4)。この結果、キャッシュサーバ104−1は、コンテンツサーバ103からリッチコンテンツを受信し、そのリッチコンテンツをキャッシュする。
このあと、キャッシュ制御装置101は、購読者のクライアント端末105−1〜105−nにフィードを配信する(5)。なお、フィードの配信タイミングは、例えば、リッチコンテンツのキャッシュ指示を送信したあとでもよく、また、キャッシュサーバ104−1〜104−nからリッチコンテンツのキャッシュ完了通知を受信したあとでもよい。
(データベースの記憶内容)
つぎに、図1に示したコンピュータ装置が備えるデータベースの記憶内容について説明する。まず、キャッシュ制御装置101が備えるデータベースの記憶内容について説明する。図2は、キャッシュ制御装置が備えるデータベースの記憶内容を示す説明図である。図2において、キャッシュ制御装置101は、購読者情報DB210と、ISP情報DB220と、混雑情報DB230と、を備えている。
(購読者情報DBの記憶内容)
購読者情報DB210は、フィードを購読している購読者ごとの購読者情報210−1〜210−iを記憶している。具体的には、購読者情報210−1〜210−iは、購読者ごとに、購読者ID、ウェブサーバURLおよびISP名に関する情報を有している。購読者IDは、フィードの購読者を特定するための識別情報である。ウェブサーバURLは、フィードの作成元であるウェブサーバ102−1〜102−nのURLである。ISP名は、購読者が契約しているISPの名称である。
ここで、購読者情報210−1を例に挙げると、購読者ID「alice@mifty.com」から特定される購読者が購読しているフィードの作成元であるウェブサーバ102−1〜102−nのURL「http://cocolog.mifty.com/ramen.html」、および購読者が契約しているISPの名称「mifty」が示されている。この購読者情報DB210の記憶内容は、フィードの購読者数の算出に利用される。
(ISP情報DBの記憶内容)
ISP情報DB220は、ISPごとのISP情報220−1〜220−jを記憶している。具体的には、ISP情報220−1〜220−jは、ISPごとに、ISP名、キャッシュサーバURLおよび必要購読者数に関する情報を有している。ISP名は、ISPの名称である。キャッシュサーバURLは、ISPが運用するキャッシュサーバ104−1〜104−nのURLである。必要購読者数は、リッチコンテンツのキャッシュが必要となるフィードの購読者数である。
ここで、ISP情報220−1を例に挙げると、ISP名「mifty」のISPが運用するキャッシュサーバ104−1のURL「http://mifty.com/cash」、および必要購読者数「3」が示されている。このISP情報DB220の記憶内容は、リッチコンテンツをキャッシュするか否かの判断に利用される。
(混雑情報DBの記憶内容)
混雑情報DB230は、ネットワーク構造ごとの混雑情報230−1〜230−kを記憶している。具体的には、混雑情報230−1〜230−kは、ネットワーク構造ごとに、各ネットワーク内の通信トラフィックが増大する時間帯を特定するための情報を有している。ネットワーク構造とは、例えば、各ISPによって使用される通信網や配信サーバ(例えば、コンテンツサーバ103)によって使用される通信網である。
ここで、混雑情報230−1を例に挙げると、ISP名「mifty」のISPのネットワーク内の通信トラフィックが増大する時間帯「20:00−24:00」が示されている。この混雑情報DB230の記憶内容は、キャッシュ指示の送信タイミングの判断に利用される。
(キャッシュ情報DBの記憶内容)
つぎに、コンテンツサーバ103が備えるデータベースの記憶内容について説明する。図3は、コンテンツサーバが備えるキャッシュ情報DBの記憶内容を示す説明図である。図3において、キャッシュ情報DB310は、コンテンツごとのキャッシュ情報310−1〜310−mを記憶している。
具体的には、キャッシュ情報310−1〜310−mは、コンテンツごとに、コンテンツID、ISP名およびキャッシュサーバURLに関する情報を有している。コンテンツIDは、コンテンツを特定するための識別情報である。ISP名は、ISPの名称である。キャッシュサーバURLは、各ISPの運用するキャッシュサーバ104−1〜104−nにキャッシュされているリッチコンテンツのURLである。
ここで、キャッシュ情報310−1を例に挙げると、ISP名「mifty」のISPが運用するキャッシュサーバ104−1にキャッシュされているコンテンツID「xxxxxx」から特定されるリッチコンテンツのURL「http://mifty.com/cash/xxxxxx」が示されている。
(コンピュータ装置のハードウェア構成)
つぎに、図1に示したコンピュータ装置(キャッシュ制御装置101、ウェブサーバ102−1〜102−n、コンテンツサーバ103、キャッシュサーバ104−1〜104−n、クライアント端末105−1〜105−n)のハードウェア構成について説明する。図4は、この発明の実施の形態にかかるコンピュータ装置のハードウェア構成を示す説明図である。
図4において、コンピュータ装置は、コンピュータ本体410と、入力装置420と、出力装置430と、から構成されており、不図示のルータやモデムを介してLAN,WANやインターネットなどのネットワーク110に接続可能である。
コンピュータ本体410は、CPU,メモリ,インターフェースを有する。CPUは、コンピュータ装置の全体の制御を司る。メモリは、ROM,RAM,HD,光ディスク411,フラッシュメモリから構成される。メモリはCPUのワークエリアとして使用される。
また、メモリには各種プログラムが格納されており、CPUからの命令に応じてロードされる。HDおよび光ディスク411はディスクドライブによりデータのリード/ライトが制御される。また、光ディスク411およびフラッシュメモリはコンピュータ本体410に対し着脱自在である。インターフェースは、入力装置420からの入力、出力装置430への出力、ネットワーク110に対する送受信の制御をおこなう。
また、入力装置420としては、キーボード421、マウス422、スキャナ423などがある。キーボード421は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式であってもよい。マウス422は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。スキャナ423は、画像を光学的に読み取る。読み取られた画像は画像データとして取り込まれ、コンピュータ本体410内のメモリに格納される。なお、スキャナ423にOCR機能を持たせてもよい。
また、出力装置430としては、ディスプレイ431、プリンタ432、スピーカ433などがある。ディスプレイ431は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。また、プリンタ432は、画像データや文書データを印刷する。またスピーカ433は、効果音や読み上げ音などの音声を出力する。
(コンテンツ配信システムの機能的構成)
つぎに、図1に示したコンテンツ配信システム100の機能的構成について説明する。図5は、コンテンツ配信システムの機能的構成を示すブロック図である。まず、キャッシュ制御装置101の機能的構成について説明する。図5において、キャッシュ制御装置101は、受信部501と、判断部502と、検出部503と、抽出部504と、送信部505と、配信部506と、を備えている。
これら各機能501〜506は、キャッシュ制御装置101の記憶部に記憶された当該機能501〜506に関するプログラムをCPUに実行させることにより、または、入出力I/Fにより、当該機能を実現することができる。また、各機能501〜506からの出力データは上記記憶部に保持される。また、図5中矢印で示した接続先の機能は、接続元の機能からの出力データを記憶部から読み込んで、当該機能に関するプログラムをCPUに実行させるものとする。
まず、受信部501は、任意のサイトに関するフィードを受信する機能を有する。具体的には、例えば、ウェブサーバ102−1〜102−n(以下、「ウェブサーバ102」と表記)からフィードを受信する。フィードとは、ブログ(ウェブログ)やニュースサイトなどのウェブサイトの概要を表わす電子データ(例えば、XML文書)である。フィードを記述するフォーマットとしては、例えば、RSS(Rich Site Summary)やAtomなどがある。
一般的には、サイト内に配置されたフィードへのリンクを示すアイコンをユーザがクリックすることで、フィードリーダーに登録する。この結果、フィードリーダーが登録済みのフィードの更新を定期的に確認し、更新されたことをユーザに知らせる。つまり、ユーザは、所望のサイトをフィードリーダーに登録することにより、そのサイトの更新タイミングを知ることができる。
判断部502は、受信部501によって受信されたフィードの購読者数に基づいて、第1のサーバに格納されているコンテンツのうち、フィードから特定されるリッチコンテンツをキャッシュするか否かを判断する機能を有する。購読者は、フィードを購読しているユーザである。第1のサーバは、例えば、コンテンツサーバ103である。なお、フィードの購読は、有償であっても無償であってもよい。
ここで、リッチコンテンツとは、例えば、映像や音楽などデータ量の多いコンテンツでもよく、また、ユーザからの高い関心が見込まれるスポーツ選手や芸能人などの有名人に関する記事が記述されたコンテンツでもよい。より具体的には、例えば、任意に設定されたデータ量を超えるコンテンツや、任意に設定されたキーワードを含むコンテンツなどである。また、特定の種別のコンテンツをリッチコンテンツとすることとしてもよい。
具体的には、判断部502は、フィードの購読者数が予め設定された閾値以上であった場合に、リッチコンテンツのキャッシュが必要であると判断することとしてもよい。この閾値は、任意に設定可能であり、例えば、図4に示したキーボード421やマウス422などの入力装置420をユーザが操作することで設定することとしてもよい。より具体的には、例えば、閾値は、図2に示したISP情報DB220内に記憶されているISPごとの必要購読者数である。
この必要購読者数は、例えば、リッチコンテンツのダウンロード回数の期待値をもとに算定される。ここでは、リッチコンテンツのダウンロード回数の期待値が「1」を超えた場合に、リッチコンテンツのキャッシュが必要であると判断する。この期待値は、例えば、『リッチコンテンツのダウンロード回数の期待値=フィードの購読者数×ウェブ参照率×ダウンロード率』から求めることができる。
ここで、ウェブ参照率は、フィードの購読者が、実際にウェブブラウザを利用してフィードの作成元であるウェブサーバ102のウェブコンテンツを参照する率である。また、ダウンロード率は、そのウェブコンテンツ上のリッチコンテンツへのリンクのクリック率である。例えば、ウェブ参照率が「0.5」、ダウンロード率が「0.4」であるとすると、フィードの購読者数が5人以上の場合に期待値が1を超えるため、上述した必要購読者数は「6」と設定される。
ここで、判断部502による判断処理を具体的に説明する。検出部503は、受信部501によって受信されたフィードの中から、フィードの作成元であるウェブサーバ102のURLを検出する機能を有する。図6は、フィードの具体例を示す説明図である。図6において、フィード600は、ウェブサイトの概要を表わす電子データであり、XML(Extensible Markup Language)言語で記述されている。
具体的には、フィード600内の挿入位置610には、ウェブサイトの概要を表わすHTMLデータが挿入されている。また、挿入位置620には、フィード600の作成元であるウェブサーバ102のURLが挿入されている。また、挿入位置630には、リッチコンテンツのURLが挿入されている。例えば、受信部501によってフィード600が受信された場合、検出部503は、フィード600の中から、挿入位置620に挿入されているウェブサーバ102のURL「http://cocolog.mifty.com/ramen.html」を検出する。
また、検出部503は、受信部501によって受信されたフィードの中からリッチコンテンツのURLを検出する機能を有する。リッチコンテンツのURLとは、例えば、指定することでリッチコンテンツをダウンロードすることができるURLである。ここで、受信部501によってフィード600が受信された場合、検出部503は、フィード600の中から、挿入位置630に挿入されているリッチコンテンツのURL「http://www.wetube.com/v/xxxxx」を検出する。
より具体的には、例えば、検出部503は、挿入位置630に挿入されている『param name=“movie”』などの文字列からコンテンツの種別を判断し、その種別がリッチコンテンツとして予め設定された種別(例えば、“movie”)であった場合に、URL「http://www.wetube.com/v/xxxxx」を検出することとしてもよい。
抽出部504は、フィードの作成元のURLと購読者IDとを関連付けて記憶する購読者情報DB210の中から、検出部503によって検出されたウェブサーバ102のURLと関連付けて記憶されている購読者IDを抽出する機能を有する。具体的には、例えば、購読者情報DB210の中から、検出部503によって検出されたウェブサーバ102のURLと関連付けて記憶されている購読者の購読者情報210−1〜210−nを抽出する。
判断部502は、抽出部504によって抽出された購読者IDに基づいて、受信部501によって受信されたフィードの購読者数を判断する。具体的には、例えば、抽出部504によって購読者情報210−1〜210−4が抽出された場合、購読者情報210−1〜210−4に含まれる購読者IDからフィードの購読者数は「4」と判断することとなる。
このあと、判断部502は、フィードの購読者数が予め設定された閾値以上であった場合に、リッチコンテンツのキャッシュが必要であると判断する。例えば、予め設定された閾値が「3」であった場合、上述した例ではフィードの購読者数が「4」のため、判断部502は、リッチコンテンツのキャッシュが必要であると判断する。
また、判断部502は、フィードの購読者が利用するISPごとの購読者数に基づいて、ISPごとの購読者数が予め設定された閾値以上であった場合に、ISPが運用する第2のサーバに対するリッチコンテンツのキャッシュが必要であると判断することとしてもよい。ISPごとの購読者数は、例えば、抽出部504によって抽出された抽出結果から判断することができる。
具体的には、例えば、抽出部504によって購読者情報210−1〜210−4が抽出された場合、購読者情報210−1〜210−4に含まれるISP名からISPごとの購読者数を判断する。ここでは、購読者情報210−1〜210−4に含まれるISP名(mifty、GION)から、ISP名「mifty」のISPの購読者数「2」およびISP名「GION」のISPの購読者数「2」を判断する。
このあと、判断部502は、ISPごとの購読者数が各ISPの必要購読者数以上であった場合に、そのISPが運用するキャッシュサーバ104−1〜104−n(以下、「キャッシュサーバ104」と表記)に対するリッチコンテンツのキャッシュが必要であると判断する。ISPの必要購読者数は、例えば、ISP情報DB220に記憶されているISP情報220−1〜220−2から判断することができる。
具体的には、例えば、抽出部504は、購読者情報210−1〜210−4に含まれるISP名に基づいて、ISP情報DB220からISP情報220−1〜220−2を抽出する。そして、判断部502は、抽出部504によって抽出されるISP情報220−1〜220−2から、ISPごとの必要購読者数を判断する。
ここでは、ISP情報220−1〜220−2から、ISP名「mifty」および「GION」のISPごとの必要購読者数は、「3」および「5」と判断される。この場合、判断部502は、ISP名「mifty」および「GION」のISPの購読者数がそれぞれ「2」であり、ともに必要購読者数未満となるため、リッチコンテンツのキャッシュは不要であると判断する。
なお、判断部502による判断処理は、検出部503によってフィードの中からリッチコンテンツのURLが検出されなかった場合には実行しないこととしてもよい。なぜなら、フィードが購読者に配信されたとしても、そのフィード配信が引き金となってデータ量の多いリッチコンテンツへのアクセスが発生する可能性は低いからである。
送信部505は、判断部502によってキャッシュが必要であると判断された場合、購読者の端末装置からリッチコンテンツの送信要求を受け付ける第2のサーバに、リッチコンテンツのキャッシュ指示を送信する機能を有する。キャッシュ指示とは、リッチコンテンツのURLを表わす電子データであり、例えば、フィード600内の挿入位置630に挿入されたURLである。
また、このキャッシュ指示には、フィードの購読者数を表わす情報が含まれていてもよい。フィードの購読者数は、上述したように購読者情報210−1〜210−nから判断される。購読者の端末装置とは、例えば、クライアント端末105−1〜105−n(以下、「クライアント端末105」と表記)である。リッチコンテンツの送信要求とは、例えば、フィードから特定されるリッチコンテンツのダウンロード要求である。
また、第2のサーバとは、例えば、購読者のクライアント端末105が属するネットワーク内のキャッシュサーバ104、より具体的には、購読者が契約しているISPが運用するキャッシュサーバ104である。図1に示した例では、クライアント端末105−1,105−2の購読者が契約しているISP名「mifty」のISPが運用するキャッシュサーバ104−1である。
また、送信部505は、端末装置に対するフィードの配信に先立って、リッチコンテンツのキャッシュ指示を第2のサーバに送信することとしてもよい。すなわち、購読者からリッチコンテンツへのアクセスが発生する前に、そのリッチコンテンツのキャッシュ指示を送信する。
また、送信部505は、端末装置が属するネットワーク内の通信トラフィックが増大する時間帯を特定するための混雑情報に基づいて、その時間帯とは異なる他の時間帯にキャッシュ指示を第2のサーバに送信することとしてもよい。すなわち、通信トラフィックが増大する時間帯を回避してリッチコンテンツのキャッシュ指示を送信することにより、ネットワーク帯域の圧迫などを防止する。
具体的には、例えば、抽出部504は、クライアント端末105が属するネットワーク内の混雑情報230−1〜230−kを混雑情報DB230から抽出する。送信部505は、抽出部504によって抽出された混雑情報230−1〜230−kから混雑時間帯を特定し、その時間帯とは異なる他の時間帯にキャッシュ指示をキャッシュサーバ104に送信する。
より具体的には、例えば、クライアント端末105−1が属するネットワーク内の混雑情報230−1が抽出された場合、その混雑情報230−1から特定される混雑時間帯「20:00−24:00」とは異なる他の時間帯にキャッシュ指示をキャッシュサーバ104−1に送信することとなる。
配信部506は、送信部505によってキャッシュ指示が送信された結果、購読者の端末装置にフィードを送信する機能を有する。フィードの配信先の購読者は、例えば、抽出部504によって購読者情報DB210の中から抽出された購読者情報210−1〜210−nから特定する。
また、配信部506は、送信部505によってキャッシュ指示を送信したキャッシュサーバ104から、リッチコンテンツのキャッシュが完了したことを表わす完了通知を受信した場合に、購読者の端末装置にフィードを送信することとしてもよい。これにより、購読者からリッチコンテンツへのアクセスが発生する前に、そのリッチコンテンツを確実にキャッシュすることができる。
つぎに、キャッシュサーバ104の機能的構成について説明する。図5において、キャッシュサーバ104は、受信部511と、送信部512と、抽出部513と、判定部514と、削除部515と、を備えている。
これら各機能511〜515は、キャッシュサーバ104の記憶部に記憶された当該機能511〜515に関するプログラムをCPUに実行させることにより、または、入出力I/Fにより、当該機能を実現することができる。また、各機能511〜515からの出力データは上記記憶部に保持される。また、図5中矢印で示した接続先の機能は、接続元の機能からの出力データを記憶部から読み込んで、当該機能に関するプログラムをCPUに実行させるものとする。
まず、受信部511は、フィードから特定されるリッチコンテンツのキャッシュを制御するキャッシュ制御装置101からリッチコンテンツのキャッシュ指示を受信する機能を有する。リッチコンテンツのキャッシュ指示は、例えば、リッチコンテンツのURLを含む電子データである。また、このキャッシュ指示には、フィードの購読者数を表わす情報が含まれていてもよい。
送信部512は、受信部511によってリッチコンテンツのキャッシュ指示が受信された場合、そのキャッシュ指示から特定されるリッチコンテンツが格納されている第1のサーバに、そのリッチコンテンツの取得要求を送信する機能を有する。具体的には、例えば、キャッシュ指示に含まれるリッチコンテンツのURLを指定して、リッチコンテンツの取得要求をコンテンツサーバ103に送信する。
また、受信部511は、送信部512によってリッチコンテンツの取得要求が送信された結果、第1のサーバからリッチコンテンツを受信する機能を有する。受信部511によって受信されたリッチコンテンツは、キャッシュDB520にキャッシュされる。この結果、クライアント端末105は、キャッシュサーバ104からリッチコンテンツを取得することができる。
また、受信部511は、フィードの購読者の端末装置からリッチコンテンツの送信要求を受信する機能を有する。リッチコンテンツの送信要求とは、例えば、フィードから特定されるリッチコンテンツのコンテンツIDを表わす電子データである。
抽出部513は、受信部511によって受信された送信要求から特定されるリッチコンテンツを、キャッシュ済みのコンテンツ群(例えば、キャッシュDB520)の中から抽出する機能を有する。また、送信部512は、抽出部513によって抽出されたリッチコンテンツを、送信要求の送信元の端末装置に送信する機能を有する。
判定部514は、送信部512によるリッチコンテンツの送信回数が所定回数以上となったか否かを判定する機能を有する。所定回数は、任意に設定可能である。具体的には、例えば、受信部511によって受信されたキャッシュ指示から特定されるフィードの購読者数を所定回数として設定することとしてもよい。
削除部515は、判定部514によってリッチコンテンツの送信回数が所定回数以上と判定された場合、キャッシュ済みのコンテンツ群のうち上記リッチコンテンツを削除する機能を有する。具体的には、例えば、リッチコンテンツの送信回数がフィードの購読者数以上と判定された場合に、キャッシュDB520の中から上記リッチコンテンツを削除することとしてもよい。
また、送信部512は、削除部515によってキャッシュDB520の中からリッチコンテンツが削除された場合、そのリッチコンテンツが削除されたことを表わす削除通知をコンテンツサーバ103に送信する。コンテンツサーバ103は、キャッシュサーバ104から削除通知を受信した場合、その削除通知から特定されるキャッシュ情報310−1〜310−mをキャッシュ情報DB310から削除する。
ここで、クライアント端末105がキャッシュサーバ104からリッチコンテンツを取得する一連の流れを説明する。まず、クライアント端末105は、キャッシュ制御装置101から配信されるフィードを受信する。具体的には、例えば、フィードの配信要求を定期的にキャッシュ制御装置101に送信し、その結果、キャッシュ制御装置101からフィードを受信する。
このあと、クライアント端末105は、ウェブブラウザを起動して、フィード内に挿入されているウェブサーバ102のURLを指定することでウェブサイトにアクセスする。このとき、リッチコンテンツへのリンクが含まれている場合、そのリンクをユーザがクリックすることで、リッチコンテンツを格納しているコンテンツサーバ103に接続することができる。
具体的には、例えば、リッチコンテンツを特定するコンテンツIDおよびクライアント端末105が属するISPを特定する契約ISP情報が含まれたリクエストをクライアント端末105からコンテンツサーバ103に送信する。コンテンツサーバ103は、クライアント端末105からのリクエストを受信すると、コンテンツIDから特定されるリッチコンテンツのキャッシュの有無を判断する。
具体的には、例えば、図3に示したキャッシュ情報DB310に記憶されているキャッシュ情報310−1〜310−mに基づいて、契約ISP情報から特定されるISPが運用するキャッシュサーバ104にコンテンツIDから特定されるリッチコンテンツがキャッシュされているか否かを判断する。例えば、契約ISP情報から特定されるISPが「mifty」であった場合、キャッシュ情報310−1に基づいて、リッチコンテンツがキャッシュされていることを判断することができる。
コンテンツサーバ103は、リッチコンテンツがキャッシュ済みであると判断された場合、契約ISP情報から特定されるISPが運用するキャッシュサーバ104からリッチコンテンツを取得するためのURLが含まれた転送指示をクライアント端末105に送信する。具体的には、例えば、キャッシュ情報310−1から特定されるキャッシュサーバURL「http://mifty.com/cash/xxxxxx」を含む転送指示をクライアント端末105に送信する。
このあと、クライアント端末105は、コンテンツサーバ103から転送指示を受信した場合、その転送指示に含まれているURLを指定することにより、リッチコンテンツの取得要求をキャッシュサーバ104に送信する。
キャッシュサーバ104は、クライアント端末105からの取得要求を受信した場合、その取得要求に応じたリッチコンテンツをキャッシュDB520から抽出して、そのリッチコンテンツをクライアント端末105に送信する。この結果、クライアント端末105は、キャッシュサーバ104からリッチコンテンツを受信する。
このとき、キャッシュサーバ104は、クライアント端末105へのリッチコンテンツの送信回数をカウントし、そのカウント数がフィードの購読者数以上となった場合、そのリッチコンテンツをキャッシュDB520の中から削除する。すなわち、キャッシュDB520の中から将来的にアクセスの増加が見込まれなくなったリッチコンテンツを削除する。
なお、判定部514による判定処理および削除部515による削除処理は、ISPごとに実行することとしてもよい。すなわち、リッチコンテンツの送信回数がISPごとのフィードの購読者数以上となった場合に、そのISPが運用するキャッシュサーバ104にキャッシュされているリッチコンテンツを削除する。なお、ISPごとのフィードの購読者数を特定する情報は、例えば、リッチコンテンツのキャッシュ指示に含まれている。
(キャッシュ制御装置のキャッシュ制御処理手順)
つぎに、本実施の形態にかかるキャッシュ制御装置101のキャッシュ制御処理手順について説明する。図7は、本実施の形態にかかるキャッシュ制御装置のキャッシュ制御処理手順を示すフローチャートである。図7のフローチャートにおいて、まず、受信部501により、任意のサイトに関するフィードを受信したか否かを判断する(ステップS701)。
ここで、フィードを受信するのを待って(ステップS701:No)、受信した場合(ステップS701:Yes)、判断部502により、受信部501によって受信されたフィードの購読者数に基づいて、第1のサーバに格納されているコンテンツのうち、フィードから特定されるリッチコンテンツをキャッシュするか否かを判断する判断処理を実行する(ステップS702)。
このあと、判断部502による判断結果からキャッシュの要否を判断し(ステップS703)、リッチコンテンツをキャッシュする必要がある場合(ステップS703:Yes)、送信部505により、フィードの購読者の端末装置からリッチコンテンツの送信要求を受け付ける第2のサーバに、該リッチコンテンツのキャッシュ指示を送信する送信処理を実行して(ステップS704)、本フローチャートによる一連の処理を終了する。また、ステップS703において、リッチコンテンツをキャッシュする必要がない場合(ステップS703:No)、ステップS701に戻り一連の処理を繰り返す。
これにより、将来的にアクセスの増加が見込まれるリッチコンテンツを効果的にキャッシュすることができる。
つぎに、図7に示したステップS702における判断処理の処理手順について説明する。図8は、判断処理の処理手順の一例を示すフローチャートである。図8のフローチャートにおいて、まず、検出部503により、図7に示したステップS701において受信されたフィードの中から、リッチコンテンツのURLを検出する(ステップS801)。
このあと、リッチコンテンツのURLが検出されたか否かを判断し(ステップS802)、リッチコンテンツのURLが検出された場合(ステップS802:No)、検出部503により、フィードの中から、フィードの作成元であるウェブサーバ102のURLを検出する(ステップS803)。
そして、抽出部504により、検出部503によって検出されたウェブサーバ102のURLと関連付けて記憶されている購読者IDを購読者情報DB210の中から抽出する(ステップS804)。このあと、判断部502により、抽出部504によって抽出された購読者IDに基づいて、フィードの購読者数を算出する(ステップS805)。
このあと、判断部502により、算出されたフィードの購読者数が予め設定された閾値以上か否かを判断する(ステップS806)。ここで、フィードの購読者数が閾値以上であった場合(ステップS806:Yes)、判断部502により、リッチコンテンツのキャッシュが必要であると判断して(ステップS807)、図7に示したステップS703に移行する。
また、ステップS802においてリッチコンテンツのURLが検出されなかった場合(ステップS802:Yes)、あるいは、ステップS806においてフィードの購読者数が予め設定された閾値未満であった場合(ステップS806:No)、判断部502により、リッチコンテンツのキャッシュが不要であると判断して(ステップS808)、図7に示したステップS703に移行する。
これにより、ISPごとのフィードの購読者数に応じて、ISPが運用するキャッシュサーバに対するリッチコンテンツのキャッシュの要否を判断することができる。
つぎに、図7に示したステップS704における送信処理の処理手順について説明する。図9は、送信処理の処理手順の一例を示すフローチャートである。図9のフローチャートにおいて、まず、抽出部504により、クライアント端末105が属するネットワーク内の混雑情報230−1〜230−kを混雑情報DB230から抽出する(ステップS901)。
このあと、現在時刻が、抽出された混雑情報230−1〜230−kから特定される混雑時間帯か否かを判断する(ステップS902)。ここで、混雑時間帯であった場合(ステップS902:Yes)、キャッシュ指示の送信スタンバイ状態に入る(ステップS903)。
ここで、混雑時間が経過するのを待って(ステップS904:No)、経過した場合(ステップS904:Yes)、送信スタンバイ状態から復帰して、送信部505により、リッチコンテンツのキャッシュ指示をキャッシュサーバ104に送信する(ステップS905)。また、ステップS902において、混雑時間帯ではなかった場合(ステップS902:No)、ステップS905に移行する。
これにより、通信トラフィックが増大する時間帯を回避して、リッチコンテンツのキャッシュ指示を送信することができる。
(キャッシュサーバの削除処理手順)
つぎに、本実施の形態にかかるキャッシュサーバ104のキャッシュ済みのリッチコンテンツの削除処理手順について説明する。図10は、本実施の形態にかかるキャッシュサーバの削除処理手順の一例を示すフローチャートである。図10のフローチャートにおいて、まず、受信部511により、フィードの購読者のクライアント端末105からリッチコンテンツの送信要求を受信したか否かを判断する(ステップS1001)。
ここで、リッチコンテンツの送信要求を受信するのを待って(ステップS1001:No)、受信した場合(ステップS1001:Yes)、抽出部513により、受信部511によって受信された送信要求から特定されるリッチコンテンツをキャッシュDB520の中から抽出する(ステップS1002)。
このあと、送信部512により、抽出部513によって抽出されたリッチコンテンツを、送信要求の送信元のクライアント端末105に送信する(ステップS1003)。ここで、送信部512によってリッチコンテンツが送信された結果、送信部512によるリッチコンテンツの送信回数をインクリメントする(ステップS1004)。
このあと、判定部514により、送信部512によるリッチコンテンツの送信回数が購読者数以上となったか否かを判定する(ステップS1005)。ここで、リッチコンテンツの送信回数が購読者数以上であった場合(ステップS1005:Yes)、削除部515により、キャッシュDB520の中から上記リッチコンテンツを削除する(ステップS1006)。
最後に、送信部512により、キャッシュDB520の中から上記リッチコンテンツを削除したことを表わす削除通知をコンテンツサーバ103に送信して(ステップS1007)、本フローチャートによる一連の処理を終了する。また、ステップS1005において、リッチコンテンツの送信回数が購読者数未満であった場合(ステップS1005:No)、ステップS1001に戻り一連の処理を繰り返す。
これにより、キャッシュDB520の中から将来的にアクセスの増加が見込まれなくなったリッチコンテンツを削除することができる。
なお、本実施の形態では、キャッシュ制御装置101を、フィードを配信するコンピュータ装置に適用することとしたが、これに限らない。例えば、ISPごとに用意されるゲートウェイ装置にキャッシュ制御装置101を適用することとしてもよい。図11は、コンテンツ配信システムの他のシステム構成を示す説明図である。
図11において、コンテンツ配信システム1100は、ゲートウェイ装置1101−1〜1101−nと、フィード配信サーバ1102と、ウェブサーバ102−1〜102−nと、コンテンツサーバ103と、キャッシュサーバ104−1〜104−nと、クライアント端末105−1〜105−nとがインターネット、LAN、WANなどのネットワーク110を介して相互に交信可能に接続されている。
ゲートウェイ装置1101−1〜1101−nは、キャッシュサーバ104−1〜104−nに対するリッチコンテンツのキャッシュを制御する機能を有するコンピュータ装置である。また、ゲートウェイ装置1101−1〜1101−nは、異なる媒体や通信プロトコルを使用するネットワーク間の通信を可能にする機能を有する。
フィード配信サーバ1102は、ウェブサーバ102−1〜102−nからのフィードを受信し、そのフィードを、ゲートウェイ装置1101−1〜1101−nまたは購読者のクライアント端末105−1〜105−nに配信する機能を有する。
ここでは、各ISPに属するクライアント端末105−1〜105−nの通信を管理するゲートウェイ装置1101−1〜1101−nにより、ISPごとのキャッシュ制御を実現する。これにより、複数のISPのネットワーク内のキャッシュ制御を一括しておこなう必要がなくなり、キャッシュ制御装置101にかかる負荷を軽減することができる。
具体的には、例えば、フィードの購読者数をISPごとに求める算出処理や、各ISPが運用するキャッシュサーバにリッチコンテンツのキャッシュ指示を送信する送信処理などが不要となる。
このように、本実施の形態によれば、フィードの購読者からのアクセスが発生する前に、将来的にアクセスの増加が見込まれるリッチコンテンツを効果的にキャッシュすることができる。具体的には、例えば、動画共有サイトなどに投稿されるコンテンツのような、将来的な視聴の動向を予測することが難しいコンテンツを効果的にキャッシュすることができる。
これにより、フィードから特定されるリッチコンテンツをキャッシュサーバ104からダウンロードすることができ、フィードの購読者によるリッチコンテンツの視聴時におけるコンテンツサーバ103の負荷を軽減させることができる。
また、通信トラフィックが増大する時間帯を回避して、リッチコンテンツのキャッシュ指示を送信することができる。これにより、フィード配信が引き金となって発生するリッチコンテンツへのアクセス時におけるネットワーク帯域の圧迫を防ぎ、コンテンツ配信システム100,1100内のネットワーク110の利用効率を向上させることができる。
また、フィードの購読者によるリッチコンテンツへのアクセス回数が購読者数相当となった場合に、そのリッチコンテンツをキャッシュDB520の中から削除することができる。このように、将来的にアクセスの増加が見込まれなくなったリッチコンテンツをキャッシュDB520の中から削除することにより、キャッシュDB520の記憶領域の有効利用を図ることができる。
以上説明したように、キャッシュ制御プログラム、該プログラムを記録した記録媒体、キャッシュ制御装置、およびキャッシュ制御方法によれば、将来的にアクセスの増加が見込まれるコンテンツを効果的にキャッシュすることにより、通信品質の向上を図ることができる。
なお、本実施の形態で説明したキャッシュ制御方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーションなどのコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVDなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネットなどのネットワークを介して配布することが可能な伝送媒体であってもよい。
以上の実施形態に関し、さらに以下の付記を開示する。
(付記1)コンピュータを、
任意のサイトに関するフィードを受信する受信手段、
前記受信手段によって受信されたフィードの購読者数に基づいて、第1のサーバに格納されているコンテンツのうち、前記フィードから特定されるリッチコンテンツをキャッシュするか否かを判断する判断手段、
前記判断手段によってキャッシュが必要であると判断された場合、前記購読者の端末装置から前記リッチコンテンツの送信要求を受け付ける第2のサーバに、前記リッチコンテンツのキャッシュ指示を送信する送信手段、
として機能させることを特徴とするキャッシュ制御プログラム。
(付記2)前記送信手段は、
前記端末装置に対する前記フィードの配信に先立って、前記リッチコンテンツのキャッシュ指示を前記第2のサーバに送信することを特徴とする付記1に記載のキャッシュ制御プログラム。
(付記3)前記送信手段は、
前記端末装置が属するネットワーク内の通信トラフィックが増大する時間帯を特定するための混雑情報に基づいて、前記時間帯とは異なる他の時間帯に前記キャッシュ指示を前記第2のサーバに送信することを特徴とする付記1または2に記載のキャッシュ制御プログラム。
(付記4)前記判断手段は、
前記フィードの購読者数が予め設定された閾値以上であった場合に、前記リッチコンテンツのキャッシュが必要であると判断することを特徴とする付記1〜3のいずれか一つに記載のキャッシュ制御プログラム。
(付記5)前記判断手段は、
前記フィードの購読者が利用するインターネットサービスプロバイダごとの購読者数に基づいて、前記購読者数が予め設定された閾値以上であった場合に、前記インターネットサービスプロバイダが運用する第2のサーバに対する前記リッチコンテンツのキャッシュが必要であると判断することを特徴とする付記1〜4のいずれか一つに記載のキャッシュ制御プログラム。
(付記6)付記1〜5のいずれか一つに記載のキャッシュ制御プログラムを記録したコンピュータに読み取り可能な記録媒体。
(付記7)任意のサイトに関するフィードを受信する受信手段と、
前記受信手段によって受信されたフィードの購読者数に基づいて、第1のサーバに格納されているコンテンツのうち、前記フィードから特定されるリッチコンテンツをキャッシュするか否かを判断する判断手段と、
前記判断手段によってキャッシュが必要であると判断された場合、前記購読者の端末装置から前記リッチコンテンツの送信要求を受け付ける第2のサーバに、前記リッチコンテンツのキャッシュ指示を送信する送信手段と、
を備えることを特徴とするキャッシュ制御装置。
(付記8)任意のサイトに関するフィードを受信する受信工程と、
前記受信工程によって受信されたフィードの購読者数に基づいて、第1のサーバに格納されているコンテンツのうち、前記フィードから特定されるリッチコンテンツをキャッシュするか否かを判断する判断工程と、
前記判断工程によってキャッシュが必要であると判断された場合、前記購読者の端末装置から前記リッチコンテンツの送信要求を受け付ける第2のサーバに、前記リッチコンテンツのキャッシュ指示を送信する送信工程と、
を含んだことを特徴とするキャッシュ制御方法。
(付記9)任意のサイトに関するフィードから特定されるリッチコンテンツのキャッシュを制御するコンピュータ装置から、前記リッチコンテンツのキャッシュ指示を受信する受信手段と、
前記受信手段によって前記キャッシュ指示が受信された場合、当該キャッシュ指示から特定されるリッチコンテンツを格納するサーバに、前記リッチコンテンツの取得要求を送信する送信手段と、を備え、
前記受信手段は、
前記送信手段によって前記取得要求が送信された結果、前記サーバから前記リッチコンテンツを受信することを特徴とするキャッシュサーバ。
(付記10)前記受信手段は、
前記フィードの購読者の端末装置から前記リッチコンテンツの送信要求を受信し、
前記送信手段は、
前記受信手段によって受信された送信要求から特定されるリッチコンテンツを前記端末装置に送信することを特徴とする付記9に記載のキャッシュサーバ。
(付記11)前記送信手段による前記リッチコンテンツの送信回数が、前記受信手段によって受信されたキャッシュ指示から特定されるフィードの購読者数以上となったか否かを判定する判定手段と、
前記判定手段によって前記送信回数が前記フィードの購読者数以上と判定された場合、キャッシュ済みのコンテンツ群のうち前記リッチコンテンツを削除する削除手段と、を備えることを特徴とする付記10に記載のキャッシュサーバ。
本実施の形態にかかるコンテンツ配信システムのシステム構成図である。 キャッシュ制御装置が備えるデータベースの記憶内容を示す説明図である。 コンテンツサーバが備えるキャッシュ情報DBの記憶内容を示す説明図である。 この発明の実施の形態にかかるコンピュータ装置のハードウェア構成を示す説明図である。 コンテンツ配信システムの機能的構成を示すブロック図である。 フィードの具体例を示す説明図である。 本実施の形態にかかるキャッシュ制御装置のキャッシュ制御処理手順を示すフローチャートである。 判断処理の処理手順の一例を示すフローチャートである。 送信処理の処理手順の一例を示すフローチャートである。 本実施の形態にかかるキャッシュサーバの削除処理手順の一例を示すフローチャートである。 コンテンツ配信システムの他のシステム構成を示す説明図である。
符号の説明
100,1100 コンテンツ配信システム
101 キャッシュ制御装置
102,102−1〜102−n ウェブサーバ
103 コンテンツサーバ
104,104−1〜104−n キャッシュサーバ
105,105−1〜105−n クライアント端末
210 購読者情報DB
210−1〜210−i 購読者情報
220 ISP情報DB
220−1〜220−j ISP情報
230 混雑情報DB
230−1〜230−k 混雑情報
310 キャッシュ情報DB
310−1〜310−m キャッシュ情報
501 受信部
502 判断部
503 検出部
504 抽出部
505 送信部
506 配信部
511 受信部
512 送信部
513 抽出部
514 判定部
515 削除部
520 キャッシュDB
600 フィード
610,620,630 挿入位置
1101−1〜1101−n ゲートウェイ装置

Claims (8)

  1. コンピュータを、
    任意のサイトに関するフィードを受信する受信手段、
    前記受信手段によって受信されたフィードの購読者数に基づいて、第1のサーバに格納されているコンテンツのうち、前記フィードから特定されるリッチコンテンツをキャッシュするか否かを判断する判断手段、
    前記判断手段によってキャッシュが必要であると判断された場合、前記購読者の端末装置から前記リッチコンテンツの送信要求を受け付ける第2のサーバに、前記リッチコンテンツのキャッシュ指示を送信する送信手段、
    として機能させることを特徴とするキャッシュ制御プログラム。
  2. 前記送信手段は、
    前記端末装置に対する前記フィードの配信に先立って、前記リッチコンテンツのキャッシュ指示を前記第2のサーバに送信することを特徴とする請求項1に記載のキャッシュ制御プログラム。
  3. 前記送信手段は、
    前記端末装置が属するネットワーク内の通信トラフィックが増大する時間帯を特定するための混雑情報に基づいて、前記時間帯とは異なる他の時間帯に前記キャッシュ指示を前記第2のサーバに送信することを特徴とする請求項1または2に記載のキャッシュ制御プログラム。
  4. 前記判断手段は、
    前記フィードの購読者数が予め設定された閾値以上であった場合に、前記リッチコンテンツのキャッシュが必要であると判断することを特徴とする請求項1〜3のいずれか一つに記載のキャッシュ制御プログラム。
  5. 前記判断手段は、
    前記フィードの購読者が利用するインターネットサービスプロバイダごとの購読者数に基づいて、前記購読者数が予め設定された閾値以上であった場合に、前記インターネットサービスプロバイダが運用する第2のサーバに対する前記リッチコンテンツのキャッシュが必要であると判断することを特徴とする請求項1〜4のいずれか一つに記載のキャッシュ制御プログラム。
  6. 請求項1〜5のいずれか一つに記載のキャッシュ制御プログラムを記録したコンピュータに読み取り可能な記録媒体。
  7. 任意のサイトに関するフィードを受信する受信手段と、
    前記受信手段によって受信されたフィードの購読者数に基づいて、第1のサーバに格納されているコンテンツのうち、前記フィードから特定されるリッチコンテンツをキャッシュするか否かを判断する判断手段と、
    前記判断手段によってキャッシュが必要であると判断された場合、前記購読者の端末装置から前記リッチコンテンツの送信要求を受け付ける第2のサーバに、前記リッチコンテンツのキャッシュ指示を送信する送信手段と、
    を備えることを特徴とするキャッシュ制御装置。
  8. 任意のサイトに関するフィードを受信する受信工程と、
    前記受信工程によって受信されたフィードの購読者数に基づいて、第1のサーバに格納されているコンテンツのうち、前記フィードから特定されるリッチコンテンツをキャッシュするか否かを判断する判断工程と、
    前記判断工程によってキャッシュが必要であると判断された場合、前記購読者の端末装置から前記リッチコンテンツの送信要求を受け付ける第2のサーバに、前記リッチコンテンツのキャッシュ指示を送信する送信工程と、
    を含んだことを特徴とするキャッシュ制御方法。
JP2007275096A 2007-10-23 2007-10-23 キャッシュ制御プログラム、キャッシュ制御装置、キャッシュ制御方法、およびキャッシュサーバ Expired - Fee Related JP4435819B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007275096A JP4435819B2 (ja) 2007-10-23 2007-10-23 キャッシュ制御プログラム、キャッシュ制御装置、キャッシュ制御方法、およびキャッシュサーバ
US12/256,237 US20090106358A1 (en) 2007-10-23 2008-10-22 Cache control program, storage medium storing cache control program, and cache control apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007275096A JP4435819B2 (ja) 2007-10-23 2007-10-23 キャッシュ制御プログラム、キャッシュ制御装置、キャッシュ制御方法、およびキャッシュサーバ

Publications (2)

Publication Number Publication Date
JP2009104381A true JP2009104381A (ja) 2009-05-14
JP4435819B2 JP4435819B2 (ja) 2010-03-24

Family

ID=40564577

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007275096A Expired - Fee Related JP4435819B2 (ja) 2007-10-23 2007-10-23 キャッシュ制御プログラム、キャッシュ制御装置、キャッシュ制御方法、およびキャッシュサーバ

Country Status (2)

Country Link
US (1) US20090106358A1 (ja)
JP (1) JP4435819B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010134591A1 (ja) * 2009-05-21 2010-11-25 日本電気株式会社 コンテンツ配信システム、コンテンツ配信装置、コンテンツ配信方法およびコンテンツ配信プログラム
WO2012144584A1 (ja) * 2011-04-22 2012-10-26 日本電気株式会社 コンテンツ配信システム、制御装置およびコンテンツ配信方法
JP2015501483A (ja) * 2011-10-17 2015-01-15 クアルコム,インコーポレイテッド ブロードキャストネットワーク内の受信機デバイスにソーシャルネットワーク更新情報の電力効率がよい配信を行うためのシステムおよび装置
JP5901869B1 (ja) * 2015-06-22 2016-04-13 楽天株式会社 メッセージ提供装置、メッセージ提供方法、プログラム、及び、記録媒体
JP2017503228A (ja) * 2013-11-01 2017-01-26 エリクソン エービー コンテンツ配信ネットワーク(cdn)においてコンテンツのデフラグメンテーションを最適化するためのシステムおよび方法

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110137980A1 (en) * 2009-12-08 2011-06-09 Samsung Electronics Co., Ltd. Method and apparatus for using service of plurality of internet service providers
US8478836B1 (en) * 2010-06-07 2013-07-02 Purplecomm Inc. Proxy cache technology
JP5892164B2 (ja) * 2011-06-14 2016-03-23 日本電気株式会社 コンテンツ配信システム、制御装置およびコンテンツ配信方法
US20130198381A1 (en) * 2012-01-30 2013-08-01 International Business Machines Corporation Optimizing Data Extraction from Distributed Systems into a Unified Event Aggregator Using Time-Outs
US9998477B2 (en) 2015-03-31 2018-06-12 Comcast Cable Communications, Llc Digital content access control
US10516752B2 (en) 2015-06-05 2019-12-24 Apple Inc. Edge caching shared devices

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5991306A (en) * 1996-08-26 1999-11-23 Microsoft Corporation Pull based, intelligent caching system and method for delivering data over a network
US6038601A (en) * 1997-07-21 2000-03-14 Tibco, Inc. Method and apparatus for storing and delivering documents on the internet
US5987233A (en) * 1998-03-16 1999-11-16 Skycache Inc. Comprehensive global information network broadcasting system and implementation thereof
JP4146720B2 (ja) * 2000-08-04 2008-09-10 アバイア テクノロジー コーポレーション コネクションオリエンテッドトランザクションにおけるurlオブジェクトのインテリジェントな需要に基づく認識
US20040078450A1 (en) * 2002-07-08 2004-04-22 Tsu-Wei Chen Packet routing via payload inspection for digital content delivery
US7085894B2 (en) * 2003-09-11 2006-08-01 International Business Machines Corporation Selectively accepting cache content
US8099431B2 (en) * 2006-05-12 2012-01-17 Sap Ag Services for data access based on a data ownership directory in distributed system landscapes

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010134591A1 (ja) * 2009-05-21 2010-11-25 日本電気株式会社 コンテンツ配信システム、コンテンツ配信装置、コンテンツ配信方法およびコンテンツ配信プログラム
WO2012144584A1 (ja) * 2011-04-22 2012-10-26 日本電気株式会社 コンテンツ配信システム、制御装置およびコンテンツ配信方法
JP5817828B2 (ja) * 2011-04-22 2015-11-18 日本電気株式会社 コンテンツ配信システム、制御装置およびコンテンツ配信方法
JP2015501483A (ja) * 2011-10-17 2015-01-15 クアルコム,インコーポレイテッド ブロードキャストネットワーク内の受信機デバイスにソーシャルネットワーク更新情報の電力効率がよい配信を行うためのシステムおよび装置
JP2017503228A (ja) * 2013-11-01 2017-01-26 エリクソン エービー コンテンツ配信ネットワーク(cdn)においてコンテンツのデフラグメンテーションを最適化するためのシステムおよび方法
US10841353B2 (en) 2013-11-01 2020-11-17 Ericsson Ab System and method for optimizing defragmentation of content in a content delivery network
US11736550B2 (en) 2013-11-01 2023-08-22 Ericsson Ab System and method for optimizing defragmentation of content in a content delivery network
JP5901869B1 (ja) * 2015-06-22 2016-04-13 楽天株式会社 メッセージ提供装置、メッセージ提供方法、プログラム、及び、記録媒体
WO2016207957A1 (ja) * 2015-06-22 2016-12-29 楽天株式会社 メッセージ提供装置、メッセージ提供方法、プログラム、及び、記録媒体

Also Published As

Publication number Publication date
US20090106358A1 (en) 2009-04-23
JP4435819B2 (ja) 2010-03-24

Similar Documents

Publication Publication Date Title
JP4435819B2 (ja) キャッシュ制御プログラム、キャッシュ制御装置、キャッシュ制御方法、およびキャッシュサーバ
US6917960B1 (en) Intelligent content precaching
US8065275B2 (en) Systems and methods for cache optimization
US9613142B2 (en) Method and system for providing the download of transcoded files
US20100082747A1 (en) Real-time collaborative browsing
US8990429B2 (en) HTTP-based synchronization method and apparatus
US10291738B1 (en) Speculative prefetch of resources across page loads
US9832284B2 (en) Maintaining cached data extracted from a linked resource
JP2015509229A (ja) アプリケーション駆動のcdnのプリキャッシング
US20080114773A1 (en) Apparatus and method for prefetching web page
US7987243B2 (en) Method for media discovery
JP2015509229A5 (ja)
CN103765858B (zh) 用于在用户在通信网络内的浏览期间监视用户的方法和服务器
US8676880B2 (en) Server apparatus, communication apparatus, and method for generating navigation information
CN1234086C (zh) 用于高速缓存文件信息的系统和方法
EP2423837A1 (en) Method and system for viewing web page and computer program product thereof
Zhang et al. Speeding up short data transfers: Theory, architectural support, and simulation results
CN105450771A (zh) 信息推送和信息推送优化方法、服务器及系统
JP2012003652A (ja) Web情報取得方法および装置
JP2007219619A (ja) 情報管理プログラムおよび装置並びに方法
US9483575B2 (en) Reproducing a graphical user interface display
JP5898132B2 (ja) 広告選択装置、広告処理システム、広告選択方法、及びプログラム
KR101498920B1 (ko) 오프라인 실행을 위한 웹 페이지 사전 캐싱 시스템 및 방법
JP3726459B2 (ja) データ中継装置、データ中継方法、情報端末装置、情報端末装置の情報処理方法、データ通信システムおよび記録媒体
JP4739437B2 (ja) 通信路切替装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090319

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090721

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090924

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: 20091215

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: 20091224

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: 20130108

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130108

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140108

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees