JP2018036889A - 通信装置、通信方法及びプログラム - Google Patents

通信装置、通信方法及びプログラム Download PDF

Info

Publication number
JP2018036889A
JP2018036889A JP2016169972A JP2016169972A JP2018036889A JP 2018036889 A JP2018036889 A JP 2018036889A JP 2016169972 A JP2016169972 A JP 2016169972A JP 2016169972 A JP2016169972 A JP 2016169972A JP 2018036889 A JP2018036889 A JP 2018036889A
Authority
JP
Japan
Prior art keywords
content
information
cache
access point
cached
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
JP2016169972A
Other languages
English (en)
Other versions
JP6674355B2 (ja
Inventor
裕一郎 大山
Yuichiro Oyama
裕一郎 大山
隆博 山浦
Takahiro Yamaura
隆博 山浦
丈士 石原
Takeshi Ishihara
丈士 石原
山口 健作
Kensaku Yamaguchi
健作 山口
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2016169972A priority Critical patent/JP6674355B2/ja
Priority to US15/445,535 priority patent/US10425495B2/en
Publication of JP2018036889A publication Critical patent/JP2018036889A/ja
Application granted granted Critical
Publication of JP6674355B2 publication Critical patent/JP6674355B2/ja
Active 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/08Access point devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Development Economics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Data Mining & Analysis (AREA)
  • Game Theory and Decision Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Information Transfer Between Computers (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

【課題】ユーザーがコンテンツの取得を効率的に行うことを可能にする。
【解決手段】本発明の実施形態としての通信装置は、サーバーと通信可能であり、互いにキャッシュされているコンテンツを交換な複数の中継装置にキャッシュされているコンテンツに関する第1情報を取得する第1取得部と、前記サーバーに保持されているコンテンツの識別子を含む第1コンテンツリストを取得する第2取得部と、前記第1コンテンツリストにおいて、前記複数の中継装置の少なくとも1つにキャッシュされているコンテンツの識別子を特定し、前記特定した識別子と、前記特定した識別子のコンテンツが前記複数の中継装置の少なくとも1つにキャッシュされていることを示す第2情報とを含む第2コンテンツリストを生成するコンテンツリスト生成部と、前記第2コンテンツリストを送信する通信部と、を備える。
【選択図】図2

Description

本発明の実施形態は、通信装置、通信方法及びプログラムに関する。
無線LAN(Local Area Network)における複数のアクセスポイントが設置されている状況において、コンテンツキャッシュ機能をそれらのアクセスポイントに搭載することにより、上位回線の使用量の削減、ユーザーへのレスポンスタイムの向上が実現できる。
近隣に複数のキャッシュ付のアクセスポイントが存在する環境においては、互いの保持しているキャッシュコンテンツを融通することで、コンテンツを効率的に利用できる。この場合、アクセスポイントポイント間で、近隣のアクセスポイントの情報と、当該近隣のアクセスポイントが保持しているキャッシュコンテンツの情報とを共有する必要がある。ICP(Internet Cache Protocol)では、コンテンツのURL(Uniform Resource Locater)を指定する必要があるため、膨大な確認コストが必要となる。
また、ユーザーから要求されたコンテンツがアクセスポイントにキャッシュされていない場合には、アクセスポイントがサーバーからコンテンツを取得する必要があり、ユーザーの待ち時間が長くなる。コンテンツがキャッシュされていても、コンテンツサイズが非常に大きい場合には、ダウンロードの時間が長くなり、それだけユーザーの待ち時間も長くなる。
Internet Cache Protocol (ICP) Cache Digests (Squid)
本発明の実施形態は、ユーザーがコンテンツの取得を効率的に行うことを可能にする通信装置、通信方法及びプログラムを提供する。
本発明の実施形態としての通信装置は、サーバーと通信可能であり、互いにキャッシュされているコンテンツを交換な複数の中継装置にそれぞれキャッシュされているコンテンツに関する第1情報を取得する第1取得部と、前記サーバーに保持されている複数のコンテンツのそれぞれの識別子を含む第1コンテンツリストを取得する第2取得部と、前記第1情報に基づき、前記第1コンテンツリストにおいて前記複数の中継装置の少なくとも1つにキャッシュされているコンテンツの識別子を特定し、前記特定した識別子と、前記特定した識別子のコンテンツが前記複数の中継装置の少なくとも1つにキャッシュされていることを示す第2情報とを含む第2コンテンツリストを生成するコンテンツリスト生成部と、前記第2コンテンツリストを送信する通信部と、を備える。
第1実施形態に係る通信システムの一例を示す図。 第1実施形態に係るアクセスポイントの概略を示すブロック図。 第1実施形態に係るキャッシュ情報の例を示す図。 第1実施形態に係る共有キャッシュ情報の例を示す図。 第1実施形態に係る共有キャッシュ情報生成のフローチャート。 第1実施形態に係るコンテンツリストの例を示す図。 第1実施形態に係る付加情報付コンテンツリストの例を示す図。 第1実施形態に係る付加情報付コンテンツリスト作成のフローチャート。 第1実施形態に係るキャッシュコンテンツ応答のフローチャート。 第1変形例を説明するための図。 第2変形例を説明するための図。 第2実施形態に係るアクセスポイントの概略を示すブロック図。 第2実施形態に係るキャッシュ情報の例を示す図。 第2実施形態に係るキャッシュフィルタリストの例を示す図。 第2実施形態に係るキャッシュフィルタ生成のフローチャート。 第2実施形態に係る共有キャッシュフィルタリストの例を示す図。 第2実施形態に係る共有キャッシュフィルタリスト生成のフローチャート。 第2実施形態に係るコンテンツリストの例を示す図。 第2実施形態に係る付加情報付コンテンツリストの例を示す図。 第2実施形態に係る付加情報付コンテンツリスト生成のフローチャート。 第2実施形態に係るコンテンツ提供のフローチャート。 第3実施形態に係る通信システムの一例を示す図。
以下、図面を参照しながら、本発明の実施形態について説明する。また、図面において同一名称の構成要素には、同じ番号を付し、説明は、適宜省略する。
(第1実施形態)
図1は、本実施形態に係る通信システムの一例を示す図である。図1の通信システムは、第1アクセスポイント1Aと、第2アクセスポイント1Bと、ユーザー端末2と、コントローラ3と、サーバー4を備えている。
第1アクセスポイント1A及び第2アクセスポイント1Bは、無線LAN(Local Area Network)のアクセスポイントである。アクセスポイント1Aおよびアクセスポイント1Bは、ユーザー端末とコントローラ3間で通信の中継を行う中継装置である。
ユーザー端末2は、例えば、スマートホン、タブレット端末またはフィーチャーホンといった、無線通信可能な通信端末である。図の例では、ユーザー端末2は、第1アクセスポイント1Aと無線で接続している。
コントローラ3は、第1アクセスポイント1Aおよび第2アクセスポイント1Bを、ネットワーク5へ接続する装置であり、第1アクセスポイント1Aおよび第2アクセスポイント1Bはコントローラ3を介して相互に接続される。さらに、第1アクセスポイント1Aおよび第2アクセスポイント1Bは、コントローラ3を介してネットワーク5に接続される。コントローラ3が存在しない構成も可能である。この場合、アクセスポイント1Aおよびアクセスポイント1Bは、上位側の他のルータまたは交換機等と接続される。本実施形態ではネットワーク5はインターネットである。ただし、ネットワーク5は、インターネット以外の広域ネットワークでもよいし、ローカルエリアネットワークでもよい。
サーバー4は、ネットワーク5上に存在する装置であり、種々のコンテンツやサービスの提供を行う。サーバー4は、ユーザー端末2、第1アクセスポイント1A、または第2アクセスポイント1B、またはコントローラ3から要求を受信し、要求に応じたデータ(例えばコンテンツリスト、コンテンツ等)を提供する。
図2は、本実施形態に係る通信装置を搭載したアクセスポイントの機能ブロック図である。アクセスポイントは、図1に示す第1アクセスポイント1A及び第2アクセスポイント1Bのいずれでもよい。図1に示す第1アクセスポイント1A及び第2アクセスポイント1Bは、いずれも図2に示すブロックの機能を有する。以下の説明で、アクセスポイントというときは、第1アクセスポイント1A及び第2アクセスポイント1Bの任意の一方を指すものとする。なお、図には本実施形態の説明に必要な要素のみ記述しており、他の要素を排除するものではない。
なお、本実施形態に係る通信装置は、アクセスポイント1A、1Bに搭載される構成の他、コントローラ3またはサーバー4に搭載する構成も可能である。または、本実施形態に係る通信装置を、独立した単独の装置として実現し、各アクセスポイントまたはコントローラ3またはサーバー4またはこれらの任意の組合せと通信可能に構成してもよい。
図2に示すように、アクセスポイントは、キャッシュ情報交換部(第1取得部)10と、共有キャッシュ情報生成部11と、コンテンツ取得要求応答部(第2取得部、コンテンツ提供部)12と、付加情報付コンテンツリスト生成部(コンテンツリスト生成部)13と、記憶部14と、通信部15と、を備える。アクセスポイントは、ユーザー端末2、コントローラ3および他のアクセスポイントなど、他の通信ノードと通信することが可能である。アクセスポイントは、他のアクセスポイントと通信する場合は、コントローラ3を介してもよいし、直接通信してもよい。
キャッシュ情報交換部10は、他のアクセスポイントのキャッシュ情報を取得するとともに、他のアクセスポイントへ自装置のキャッシュ情報の配信を行う。キャッシュ情報は、記憶部14にキャッシュされているコンテンツ(キャッシュコンテンツ)の識別子、コンテンツサイズおよびオフライン再生可能フラグを含む情報である。キャッシュ情報は、本実施形態に係るキャッシュコンテンツに関する第1情報に対応する。キャッシュ情報の詳細は後述する。
共有キャッシュ情報生成部11は、自アクセスポイント1及び他のアクセスポイントの記憶部14に記憶されているキャッシュ情報に基づいて、共有キャッシュ情報を生成する。共有キャッシュ情報は、各アクセスポイントポイントのキャッシュ情報を統合した情報であり、詳細は後述する。
コンテンツ取得要求応答部12は、サーバー4にコンテンツリストの取得要求を送信し、要求したコンテンツリストを取得する。コンテンツリストは、サーバー4が保持するコンテンツの識別子のリストである。このコンテンツリストは、本実施形態に係る第1コンテンツリストに相当し、コンテンツ取得要求応答部12は、第1コンテンツリストを取得する第2取得部を備える。
付加情報付コンテンツリスト生成部13は、共有キャッシュ情報と、コンテンツ取得要求応答部12により取得されたコンテンツリストから、付加情報付コンテンツリストを生成する。
付加情報付コンテンツリストは、コンテンツリストに含まれる複数のコンテンツの識別子のうち、少なくともいずれかのアクセスポイントにキャッシュされているコンテンツの識別子に対して、当該コンテンツがいずれかのアクセスポイントにキャッシュされていること等を示す付加情報(第2情報)を設定したものである。付加情報の設定されていない識別子のコンテンツは、いずれのアクセスポイントにもキャッシュされていない(サーバー4にのみ保持されている)ことを意味する。
つまり、付加情報コンテンツリストは、コンテンツリストにおいて少なくともいずれかのアクセスポイントにキャッシュされているコンテンツの識別子と、当該コンテンツが少なくともいずれかのアクセスポイントにキャッシュされていること等を示す付加情報(第2情報)とを含む。さらに付加情報コンテンツリストは、いずれのアクセスポイントにもキャッシュされていない(サーバー4にのみ保持されている)コンテンツの識別子と、当該コンテンツがいずれのアクセスポイントにもキャッシュされていなことを示す情報(第3情報)とを含む。本実施形態では第3情報は、識別子に何も値を設定しないことで表現するが、明示的にキャッシュされていないことを示す値を定義し、当該値を識別子に設定することも可能である。なお、付加情報付コンテンツリストに、キャッシュされていないコンテンツの識別子および第3情報を含めない構成も可能である。付加情報付コンテンツリストは、本実施形態に係る第2コンテンツリストに相当し、付加情報付コンテンツリスト生成部13は、第2コンテンツリストを生成するコンテンツリスト生成部を備える。
記憶部14は、自アクセスポイントのキャッシュ情報、および、他アクセスポイントから取得したキャッシュ情報を記憶する。また、記憶部14は、コンテンツを内部に記憶(キャッシュ)する。記憶部14に記憶されているコンテンツを、キャッシュされたコンテンツと呼ぶ場合もある。記憶部14にコンテンツを格納することを、コンテンツをキャッシュすると呼ぶ場合もある。コンテンツは、予め記憶部14に設定されている場合、サーバー4からコンテンツを取得した場合にキャッシュする場合、他のアクセスポイントからコンテンツを取得したときにキャッシュする場合などがある。なお、キャッシュ情報とコンテンツとが同じ記憶部14に保持されているが、別々の記憶部に保持されるようにしてもよい。また記憶部14は、共有キャッシュ情報、コンテンツリスト、および付加情報付コンテンツリストも記憶してよい。
通信部15は、他の通信ノードに情報または要求を送信したり、他の通信ノードから情報を受信したりする。他の通信ノードは、例えば、他のアクセスポイント、サーバー4、ユーザー端末2、コントローラ3である。以下、特に明示しない限り、他の通信ノードとの送受信は、この通信部15を介して行われる。なお、アクセスポイントは、他のアクセスポイント1、コントローラ3、サーバー4と無線で接続されても、有線で接続されてもよい。また、コントローラ3側の通信インタフェースと、ユーザー端末2側の通信インタフェースとが異なってもよい。
なお、図2においては、各部(各ブロック)は独立した要素として構成されているが、複数の要素をまとめて1つの部を定義してもよい。
次に、キャッシュ情報の交換に係る動作と、付加情報付コンテンツリストの提供に係る動作について説明する。
まず、第1アクセスポイント1Aと、この第1アクセスポイント1Aの周辺の他のアクセスポイントである第2アクセスポイント1Bとの間で接続が確立されているとする。これらのアクセスポイントは、有線又は無線のネットワークを介して接続され双方向に通信が確立されており、その接続方式および通信方式はどのような方式であってもよいものとする。
第1アクセスポイント1Aのキャッシュ情報交換部10は、第2アクセスポイント1Bに対してキャッシュ情報の取得要求を送信する。本実施形態において、キャッシュ情報は、キャッシュされたコンテンツを指し示すコンテンツID(コンテンツの識別子)と、データサイズと、オフライン再生可能フラグとの情報を備えた1以上のエントリを含むリストにより構成される。
図3(a)及び図3(b)は、キャッシュ情報の一例を示す図である。例えば、図3(a)は、第1アクセスポイント1Aのキャッシュ情報であり、コンテンツIDであるURLと、コンテンツサイズと、当該コンテンツがオフラインにおいて再生可能であるか否かを示すフラグとを紐付けた情報である。この場合、第1アクセスポイント1Aには、100,000,000Byteのオフライン再生可能なexample1というコンテンツと、1,000,000,000Byteのオフライン再生可能なexample2というコンテンツがキャッシュされている。同様に、図3(b)は、第2アクセスポイント1Bのキャッシュ情報を示す図である。図3(b)に示すように、第2アクセスポイント1Bには、第1アクセスポイント1Aと同様にexample2というコンテンツと、それとは別に10,000,000,000Byteでオフライン再生可能なexample3というコンテンツがキャッシュされている。
ここで、オフライン再生可能とは、該当するコンテンツの全体をダウンロードして、ユーザー端末でローカルに再生できることを意味する。コンテンツをネットワークから所定のレートでダウンロードしながら、再生する方式は、ストリーミング再生と呼ばれる。本実施形態ではアクセスポイントにキャッシュされているコンテンツは、オフライン再生可能であるが、それ以外のコンテンツ、すなわちサーバー4にのみ存在するコンテンツは、ストリーミング再生のみ可能なコンテンツであるとする。ただし、アクセスポイントにキャッシュされているコンテンツであっても、オフライン再生可能なコンテンツと、ストリーミング再生可能(オフライン再生不可)なコンテンツが区別されてもよい。この場合、ストリーミング再生可能なコンテンツにはオフライン再生不可フラグを設定してもよい。
第2アクセスポイント1Bのキャッシュ情報交換部10は、第1アクセスポイント1Aのキャッシュ情報交換部10から、キャッシュ情報の取得要求を受信すると、応答として、第2アクセスポイント1Bのキャッシュ情報を第1アクセスポイント1Aへ送信する。第2アクセスポイント1Bのキャッシュ情報を受信した第1アクセスポイント1Aは、第2アクセスポイント1Bのキャッシュ情報を記憶部14へ格納および保持する。同様に、第2アクセスポイント1Bから第1アクセスポイント1Aへキャッシュ情報の取得要求を送信すると、第1アクセスポイント1Aは、保持しているキャッシュ情報を、第2アクセスポイント1Bへ送信する。第2アクセスポイント1Bは、第1アクセスポイント1Aから受信したキャッシュ情報を、記憶部14に格納および保持する。これらの動作の結果、アクセスポイント間でのキャッシュ情報の交換が実現する。
キャッシュ情報を交換した各アクセスポイント(1A、1B)は、自アクセスポイント及び他アクセスポイントのキャッシュ情報から共有キャッシュ情報を生成し、生成した共有キャッシュ情報を記憶部14に格納および保持する。
図4は、この共有キャッシュ情報の一例を示す図である。図4に示す共有キャッシュ情報は、図3(a)及び図3(b)に示されるようなキャッシュ情報を1つにまとめたものであり、example1乃至example3のキャッシュ情報を含む。また、共有キャッシュ情報は、さらに、コンテンツ(example1乃至example3)がキャッシュされているアクセスポイントポイントの識別子であるAPIDを含む。したがって、共有キャッシュ情報は、コンテンツIDと、コンテンツサイズと、オフライン再生可能フラグと、APIDとを含む複数のエントリを有する。例えば、図4のexample2のコンテンツは、アクセスポイント1Aと1Bの両方でキャッシュされている。APIDの例として、SSID(Service Set Identifier)を用いることができる。
図5は、アクセスポイント1に備えられている共有キャッシュ情報生成部11が共有キャッシュ情報を生成する処理についての動作を示すフローチャートである。
まず、記憶部14に記憶されているキャッシュ情報のうち1つを取り出す(ステップS100)。例えば、図3(a)のキャッシュ情報と図3(b)のキャッシュ情報とが記憶部14に記憶されている場合に、図3(a)に示すキャッシュ情報を取得する。
次に、キャッシュ情報から1エントリを抽出する(ステップS101)。例えば、コンテンツIDがhttp://example.com/content/example1、コンテンツサイズが100,000,000、オフライン再生可能フラグが○(可能)のエントリを抽出する。
次に、抽出したエントリのコンテンツIDが、共有キャッシュ情報に含まれているか否かを判断する(ステップS102)。共有キャッシュ情報に、当該コンテンツIDを含むエントリがある場合(ステップS102:Yes)、このエントリに、このコンテンツIDのコンテンツがキャッシュされているアクセスポイントのAPIDを追記する(ステップS103)。なお、この際、既に同一のAPIDがエントリに含まれている場合においては、追記しなくてよい。
一方で、共有キャッシュ情報に、上記コンテンツIDを含むエントリがない場合(ステップS102:No)、共有キャッシュ情報に新たなエントリ、すなわち、コンテンツIDと、コンテンツサイズと、オフライン再生可能フラグと、当該コンテンツがキャッシュされているアクセスポイントのAPIDを含むエントリを追加する(ステップS104)。例えば、図3(a)に示す第1アクセスポイント1Aのキャッシュ情報からexample2のエントリが抽出された場合を考える。共有キャッシュ情報において既にexample2のエントリが存在し、APIDとして「AP2」のみが記載されていた場合は、このエントリに「AP1」を追記する。
次に、キャッシュ情報中の全てのエントリが抽出されたか否かを判断する(ステップS105)。全てのエントリの抽出が終了していない場合(ステップS105:No)、キャッシュ情報中の次のエントリを抽出し、ステップS102乃至ステップS104の処理を行う。一方で全てのエントリの抽出が終了している場合(ステップS105:Yes)、全てのキャッシュ情報が取得されたか否かを判断する(ステップS106)。
例えば、図3(a)及び図3(b)に示すキャッシュ情報が参照可能である場合において、図3(a)に示すキャッシュ情報内のエントリは全て抽出し終わったが、図3(b)に示すキャッシュ情報を取得していない場合(ステップS106:No)、新たなキャッシュ情報として図3(b)に示すキャッシュ情報を取得し、処理を継続する(ステップS101乃至ステップS105)。一方で、全てのキャッシュ情報の取得が完了した場合(ステップS106:Yes)、共有キャッシュ情報生成処理は、終了する。
上記においては、アクセスポイントが2つ存在する場合について説明したが、3以上のアクセスポイントが存在する場合においても、各アクセスポイントが自装置以外のアクセスポイントとキャッシュ情報の交換をすることで、各アクセスポイントは、3つ以上のアクセスポイントのキャッシュ情報を反映した共有キャッシュ情報を生成できる。また、各アクセスポイントは、キャッシュ情報を送信する際には、自装置のキャッシュ情報とともに、取得済みの他のアクセスポイントのキャッシュ情報を送信するようにしてもよい。
また、他の方法として、各アクセスポイントが、他のアクセスポイントにキャッシュ情報をブロードキャストすることにより、キャッシュ情報を交換してもよい。なお、ブロードキャストを行うタイミングは、他のアクセスポイントが新たに加わったタイミングでもよいし、周期的なタイミングで行ってもよいし、キャッシュ情報に変更があったタイミングでもよい。また、前述した方法と組み合わせて、キャッシュ情報の交換を行ってもよい。
次に、付加情報付コンテンツリストの提供処理について説明する。ユーザー端末2と第1アクセスポイント1Aとの間で接続が確立されており、第1アクセスポイント1Aおよび第2アクセスポイント1B間でキャッシュ情報の交換が完了し、各々の記憶部14に共有キャッシュ情報が保存されているとする。なお、第1アクセスポイント1Aとユーザー端末2間にて、ユーザー端末2が使用可能な空き帯域があらかじめ設定されているとする。
第1アクセスポイント1Aにおけるコンテンツ取得要求応答部12の第2取得部は、ユーザー端末2から付加情報付コンテンツリストの取得要求を受信すると、サーバー4に対して、コンテンツリストの取得要求を送信する。コンテンツリストの一例を図6に示す。コンテンツリストは、1つ以上のエントリから構成され、各エントリは、コンテンツのページ、例えば、URLを示すページIDを含む。
サーバー4は、第1アクセスポイント1Aからコンテンツリストの取得要求を受信すると、要求にしたがいコンテンツリストを第1アクセスポイント1Aへ送信する。コンテンツリストは、例えば、ユーザーへのお薦めコンテンツのリストである。第1アクセスポイント1Aのコンテンツ取得要求応答部12は、コンテンツリストを受信すると、受信したコンテンツリストを付加情報付コンテンツリスト生成部13へ渡す。第1アクセスポイント1Aは、コンテンツリストの取得要求を送信する際、ユーザーの識別情報(ユーザーID等)をサーバー4に送信してもよい。サーバー4はユーザーIDに応じて、コンテンツリストを生成してもよい。
付加情報付コンテンツリスト生成部13は、コンテンツ取得要求応答部12からコンテンツリストを受け取ると、記憶部14から共有キャッシュ情報を読み出し、コンテンツリストと共有キャッシュ情報とから、付加情報付コンテンツリストを生成する。以下、付加情報付コンテンツリストの生成方法の一例を、図7及び図8を参照して説明する。
図7は、付加情報付コンテンツリストの一例を示す図である。この図7に示すように、付加情報付コンテンツリストは、キャッシュコンテンツについては、ページIDと、コンテンツの推定ダウンロード時間(推定DL時間)と、オフライン再生可能フラグと、APIDとを含むエントリを含み、キャッシュコンテンツ以外のコンテンツについては、ページIDのみを含むエントリを含む。ユーザー端末が属するAPのAPIDについては、そのことが分かるような表示(例えば色を変える)を行ってもよい。推定DL時間、オフライン再生可能フラグ、APIDは、本実施形態に係る第2情報の一例である。第2情報が設定されているコンテンツIDのコンテンツは、少なくともいずれかのアクセスポイントにキャッシュされているコンテンツであるといえる。
推定ダウンロード時間は、コンテンツIDが示すキャッシュコンテンツを、ユーザー端末2が接続しているアクセスポイントからダウンロードするのに要する推定時間である。したがって、同一のコンテンツであっても、ユーザー端末2は、接続するアクセスポイントに応じて、付加情報付コンテンツリストの推定時間が異なる可能性がある。キャッシュコンテンツが、ユーザー端末2が接続しているアクセスポイント以外の他のアクセスポイントに存在する場合は、推定時間は、当該接続しているアクセスポイントが他のアクセスポイントから当該コンテンツを受信するために要する時間と、当該接続しているアクセスポイントがユーザー端末2にコンテンツを送信するのに要する時間とを含む。そのような他のアクセスポイントが2つ以上存在する場合は、最も短い時間でもよいし、これらの時間の平均等の統計値でもよい。
後に説明するように、端末2のユーザーは、この推定時間を参照することで、コンテンツをダウンロードするのに要する時間を予測できる。例えばユーザーがWifiスポットに滞在しているときに、Wifiスポットに滞在する残り予定時間に応じて、コンテンツのダウンロードを実行するか否かを決定することができる。
図8は、付加情報付コンテンツリスト生成部13が付加情報付コンテンツリストを生成する処理を示すフローチャートである。まず、付加情報付コンテンツリスト生成部13は、サーバー4から受信したコンテンツリスト(図6参照)から、1つのエントリを抽出する(ステップS110)。例えば、図6に示すコンテンツリストから、http://example.com/page/example1というページIDを有するエントリを抽出する。
次に、このページIDから、コンテンツIDを生成する(ステップS111)。本実施形態においては、ページIDに含まれる“page”を、“content”に置換することで、コンテンツIDを生成する。ただし、コンテンツIDの生成方法はこれには限られず、ページIDと同じ値を、コンテンツIDとして用いてもよい。ページIDとコンテンツIDを一意的に対応づけられるかぎり、どのような変換方法でコンテンツIDを生成してもよい。
次に、生成したコンテンツIDを、共有キャッシュ情報の各エントリのコンテンツIDと比較し、生成したコンテンツIDが共有キャッシュ情報に含まれるか否かを判断する(ステップS112)。生成したコンテンツIDと同じコンテンツIDをもつエントリが、共有キャッシュ情報に含まれている場合(ステップS112:Yes)、当該コンテンツIDに対応するページID(コンテンツIDを生成する元になったページID)に、当該エントリに応じた付加情報を設定し、ページIDと付加情報とを含むエントリを、付加情報付コンテンツリストに追加する(ステップS113)。付加情報は、本実施形態に係る第2情報に対応する。
より詳細には、付加情報(第2情報)は、コンテンツのデータサイズに基づいて算出される推定ダウンロード時間、オフライン再生可能フラグ、APID等である。例えば、これらのコンテンツIDと、推定ダウンロード時間(推定DL時間)と、オフライン再生可能フラグと、APIDとを含むエントリを、付加情報付コンテンツリストに追加する。推定ダウンロード時間は、例えば、データサイズを、帯域の伝送レートで割った値を用いることにより算出される。付加情報を含むエントリは、少なくともいずれかのアクセスポイントにキャッシュされているコンテンツに対応するエントリである。
一方で、生成したコンテンツIDと同じコンテンツIDが、共有キャッシュ情報に含まれない場合(ステップS112:No)、当該コンテンツIDのコンテンツに対して、ページIDのみを含むエントリを、付加情報付コンテンツリストへ追加する(ステップS114)。例えば、図7の一番下段に記載されているエントリのように、http://example.com/page/example4を、付加情報付コンテンツリストへ追加する。なお、このエントリには、付加情報(第2情報)、すなわち、推定ダウンロード時間、オフライン再生可能フラグ、APIDは含まれない。ただし、当該エントリに対応するコンテンツ(サーバー4にのみ存在するコンテンツ)に対しても、推定ダウンロード時間、オフライン再生不能フラグ(あるいは、オフライン再生可能な場合は、オフライン再生可能フラグ)等の情報を付加する構成も可能である。
次に、コンテンツリストに含まれる全てのエントリが抽出されたか否かを判断する(ステップS115)。コンテンツリストに含まれる全てのエントリが抽出された場合(ステップS115:Yes)、付加情報付コンテンツリストの生成を終了する。一方で、コンテンツリストに含まれる全てのエントリの抽出がされていない場合(ステップS115:No)、次のエントリを抽出し、上述した処理を繰り返す(ステップS110乃至ステップS114)。
付加情報付コンテンツリストの生成が完了すると、付加情報付コンテンツリストを応答としてユーザー端末2へと送信する。付加情報付コンテンツリストを受信したユーザー端末2は、受信した付加情報付コンテンツリストを、その画面に表示する。ユーザーは、画面に表示された付加情報付コンテンツリストを参照することで、コンテンツ毎に、オフライン再生可能か否か(キャッシュされているか否か)の判断や、ダウンロードに要する時間の予測等を行うことができる。
次に、コンテンツ提供動作について説明する。第1アクセスポイント1Aにおけるコンテンツ取得要求応答部12のコンテンツ提供部は、ユーザー端末2からページIDを含むコンテンツ取得要求を受信すると、ページIDに対応するコンテンツIDをもつコンテンツのキャッシュ状況を調べ、その結果に応じて、記憶部14、他のアクセスポイント、またはサーバー4からコンテンツを取得して、ユーザー端末2へコンテンツを送信する。これにより、ユーザー端末2からの取得要求に応答する。
図9は、コンテンツ提供動作の処理を示すフローチャートである。まず、第1アクセスポイント1Aは、ユーザー端末2からページIDを含むコンテンツ取得要求を受信する(ステップS120)。
次に、コンテンツ取得要求応答部12は、記憶部14に記憶されている共有キャッシュ情報を読み出し、コンテンツ取得要求されたページIDに対応するコンテンツIDと、共有キャッシュ情報とを比較し、当該コンテンツIDが共有キャッシュ情報に含まれるか否かを判断する(ステップS121)。
取得要求されたコンテンツIDが共有キャッシュ情報に含まれていない場合(ステップS121:No)、ページIDを元に、コンテンツの配信元となるサーバー4に対して取得要求を行い、コンテンツをサーバー4から取得する(ステップS122)。この際、取得したコンテンツを記憶部14にキャッシュし、キャッシュ情報を更新してもよい。
一方で、取得要求されたコンテンツIDが共有キャッシュ情報に含まれている場合(ステップS121:Yes)、共有キャッシュ情報の当該コンテンツIDを含むエントリを抽出し、抽出したエントリに、自アクセスポイントのAPIDが含まれるか否かを判断する(ステップS123)。すなわち、抽出したエントリのAPID項目に、第1アクセスポイント1AのAPIDである「AP1」が含まれるか否かを判断する。
抽出したエントリのAPID項目に、自アクセスポイントのAPIDが含まれている場合(ステップS123:Yes)、取得要求されたコンテンツIDに関連づけられたコンテンツを、自アクセスポイントの記憶部14から検索する(ステップS124)。
一方で、抽出したエントリのAPID項目に自アクセスポイントのAPIDが含まれていない場合(ステップS123:No)、APID項目に含まれているAPIDのうち、1つのAPIDを読み出す。そして、読み出したAPIDのアクセスポイントに対して、キャッシュコンテンツの取得要求を送信して、当該アクセスポイントからキャッシュコンテンツを取得する(ステップS125)。この際、抽出したエントリのAPID項目に複数のAPIDが含まれる場合、最もコンテンツ取得に要する時間が短いAPIDを選択してもよい。または、なるべく上位の回線の帯域を使わないようなアクセスポイントのAPIDを選択するようにしてもよい。また、取得したコンテンツを自アクセスポイントの記憶部14にキャッシュ(保持)し、キャッシュ情報を更新してもよい。あるいは、ある一定回数同じコンテンツの取得要求を受信した場合に、コンテンツをキャッシュするようにしてもよい。
コンテンツの提供準備が終了すると、コンテンツ取得要求応答部12は、コンテンツ取得要求に対する応答として、ユーザー端末2へコンテンツを送信する(ステップS126)。
このように、第1アクセスポイント1Aは、ユーザー端末2からコンテンツの取得要求を受信した場合、自アクセスポイントまたは他のいずれかのアクセスポイントにキャッシュされている場合は、キャッシュされているコンテンツを提供し、どのアクセスポイントにもキャッシュされていない場合には、サーバー4からコンテンツを取得して、ユーザー端末2へ提供する。
以上のように、本実施形態によれば、付加情報付コンテンツリストを提供することにより、ユーザーは、キャッシュされているコンテンツと、キャッシュされていないコンテンツを識別できるとともに、オフライン再生可否(ダウンロード可否)や、ダウンロードに必要な推定時間を判断できる。これらを考慮して、ユーザーは、ダウンロードの実行を行うか否かを決定したり、ダウンロードするコンテンツを決めたりすることができる。例えばダウンロードに要する推定時間が短いコンテンツが存在すれば、コンテンツをダウンロードしてから、Wifiスポットを立ち去ろうなどといった判断が可能となる。許容できるダウンロード推定時間のコンテンツがなければ、ダウンロードをしないで、Wifiスポットを立ち去ろうといった決定もできる。
また、本実施形態によれば、アクセスポイント間でキャッシュコンテンツに関する情報(キャッシュ情報)を事前に共有しておくことで、ユーザーから要求されたキャッシュコンテンツが他のアクセスポイントポイントにキャッシュされているかの確認のためのコストを削減できる。これにより、サーバー4とアクセスポイントとの間の上位回線の帯域を確保しつつ、ユーザーに高速にコンテンツを提供することが可能となる。
なお、1つのコンテンツに対して複数のビットレートのバージョンが存在していてもよい。この場合、ビットレートが異なる同一のコンテンツごとに、異なるコンテンツIDと異なるコンテンツサイズとをもつエントリを生成して、キャッシュ情報に追加する。これに応じて、付加情報付コンテンツリストでは、ビットレートが異なる同一コンテンツごとに、異なる推定ダウンロード時間を含むエントリが追加される。これにより、付加情報付コンテンツリストを参照したユーザーは、同一コンテンツであっても、ダウンロードに必要な推定時間を考慮して、ダウンロードするコンテンツの品質を決めることができる(同一のコンテンツでは、ダウンロードに必要な推定時間が長いほど、品質が高いといえる)。
また、共有キャッシュ情報には、必ずしも他のアクセスポイントのキャッシュ情報を反映させる必要は無く、共有キャッシュ情報の内容を、自アクセスポイントのキャッシュ情報にのみ基づく内容としてもよい。この場合、共有キャッシュ情報のAPID項目には、自アクセスポイントのAPIDのみが含まれることとなるための、APID項目を削除してもよい。
キャッシュ情報に変更が生じた場合に行うアクセスポイントの処理、例えば、新しいキャッシュコンテンツが追加された、又は、古いキャッシュコンテンツが削除された等の理由によりキャッシュ情報が更新された場合における処理について説明する。この場合、アクセスポイントは、更新後のキャッシュ情報を、周辺にある他のアクセスポイントへとブロードキャストにより送信する。他の例としては、キャッシュ情報を更新したタイミングではなく、所定の時間ごとに、最新のキャッシュ情報をブロードキャスト送信するようにしてもよい。
なお、上記のようなタイミングではなく、ユーザー端末2からコンテンツの取得要求がされたタイミングで、キャッシュ情報を送信してもよい。さらに別の例としては、他のアクセスポイントからキャッシュ情報の取得要求があったタイミングで、キャッシュ情報を送信するようにしてもよい。
(第1変形例)
付加情報付コンテンツリストに、コンテンツの料金情報を追加してもよい。料金情報を含む付加情報付コンテンツリストの例を図10に示す。コンテンツ毎に料金情報が追加されている。例えば、一番上のコンテンツの価格は10円、上から2番目のコンテンツは無料である。
アクセスポイントは、キャッシュ情報および共有キャッシュ情報を作成する際、キャッシュ情報および共有キャッシュ情報にコンテンツの料金情報も含める。サーバー4はコンテンツリストを提供する際は、コンテンツリストに、コンテンツの料金情報も含める。アクセスポイントでは、同一コンテンツに対して、サーバー4とは異なる料金、例えばサーバー4より易い価格(無料の場合を含む)を設定してもよい。アクセスポイントは、付加情報付コンテンツリストを作成する際、キャッシュコンテンツについては、サーバー4が提供するコンテンツリストの料金情報ではなく、自アクセスポイントの料金情報を採用し、どのアクセスポイントにもキャッシュされていないコンテンツについては、コンテンツリストの料金情報を採用する。なお、コンテンツの料金情報が、複数のアクセスポイント間で異なる場合も可能である。この場合、共有キャッシュ情報および付加情報付コンテンツリストを作成する際、同一コンテンツであっても、アクセスポイントごとにエントリを分けてもよい。
各アクセスポイントおよびサーバー4と通信可能な課金システムを設け、当該課金システムで、ユーザーの情報と、ユーザーへ提供されたコンテンツの情報をアクセスポイントから取得し、ユーザーに対する課金処理を行ってもよい。課金システムで、各アクセスポイントにキャッシュされているコンテンツの価格を管理してもよい。課金システムは、少なくともいずれか1つのアクセスポイントまたはサーバー4内に搭載されていてもよい。
(第2変形例)
付加情報付コンテンツリストに、コンテンツの提供に応じて付与するポイントの情報を追加してもよい。ポイント情報を含む付加情報付コンテンツリストの例を図11に示す。コンテンツ毎に、ポイント情報が追加されている。例えば、一番上のコンテンツのポイントは5ポイントであり、ユーザー端末に当該コンテンツを提供する際、ユーザーに5ポイントが付与される。サーバー4からダウンロードするコンテンツの場合は、ポイントは付与されない。ただし、サーバー4からダウンロードするコンテンツにも、ポイントを付与するようにしてもよい。
アクセスポイントは、キャッシュ情報および共有キャッシュ情報を作成する際、キャッシュ情報および共有キャッシュ情報にコンテンツのポイント情報も含める。また、付加情報付コンテンツリストを作成する際、付加情報付コンテンツリストにコンテンツのポイント情報も含める。なお、コンテンツのポイント情報が、複数のアクセスポイント間で異なる場合も可能である。この場合、共有キャッシュ情報および付加情報付コンテンツを作成する際、同一コンテンツであっても、アクセスポイントごとにエントリを分けてもよい。
各アクセスポイントと通信可能なポイント管理システムを設け、当該ポイント管理システムで、ユーザー毎のポイント管理を行ってもよい。ポイント管理システムは、少なくともいずれか1つのアクセスポイント内に搭載されていてもよい。ポイント管理システムでは、ユーザーの情報(ユーザーID等)と、ユーザーに提供されたコンテンツの情報をアクセスポイントから取得し、ユーザーに提供されたコンテンツに応じて、ユーザーにポイントを付与する。たまったポイント量に応じて、特定のサービス、または特定の商品をユーザーに提供してもよい。例えばたまったポイントの量に応じて、特定のボーナスコンテンツを提供してもよい。また、コンテンツが有料の場合に、コンテンツの代金の支払いの一部または全部を、ポイントで行ってもよい。この場合、本第2変形例を、第1変形例と組み合わせて、コンテンツ毎の価格の管理も行うようにしてもよい。
(第2実施形態)
本実施形態においては、キャッシュコンテンツのコンテンツIDの集合を、ブルームフィルタに集約し、ブルームフィルタの交換を行うことで、保持する情報および他のアクセスポイントとのやりとりする情報のサイズの削減を図るとともに、コンテンツがキャッシュされているか否かの判定を高速化する。以下、上述した第1実施形態と異なる部分を中心に、本実施形態について詳しく説明する。
図12は、本実施形態に係る通信装置を搭載したアクセスポイントの一例を示す機能ブロック図である。なお、図には、本実施形態の説明に必要な要素のみを示しており、他の要素を排除するものではない。
図12のアクセスポイントは、キャッシュフィルタリスト交換部(第1取得部)16と、キャッシュフィルタリスト生成部17と、共有キャッシュフィルタリスト生成部18と、コンテンツ取得要求応答部(第2取得部、コンテンツ提供部)12と、付加情報付コンテンツリスト生成部13と、記憶部14と、通信部15とを備えている。図2に示す第1実施形態に係るアクセスポイントとは、キャッシュ情報交換部10及び共有キャッシュ情報生成部11の代わりに、キャッシュフィルタリスト交換部16、キャッシュフィルタリスト生成部17及び共有キャッシュフィルタリスト生成部18とを備える点において相違する。図12においては、上記の各部は、独立した要素として構成されているが、これには限られず、複数の要素をまとめて1つの部を定義してもよい。
キャッシュフィルタリスト生成部17は、自装置のキャッシュ情報に基づいて、コンテンツサイズ範囲ごとに、ブルームフィルタであるキャッシュフィルタを生成する。各キャッシュフィルタに、対応するコンテンツサイズ範囲の情報等を関連づけたエントリを生成し、生成したエントリのリストであるキャッシュフィルタリストを生成する。キャッシュフィルタリストまたはキャッシュフィルタは、本実施形態に係る第1情報の一例に相当する。
キャッシュフィルタリスト交換部16は、他のアクセスポイントのキャッシュフィルタリストを取得するとともに、他のアクセスポイントへ自装置のキャッシュフィルタリストを送信する。
共有キャッシュフィルタリスト生成部18は、自アクセスポイント及び他のアクセスポイントのキャッシュフィルタリストに基づいて、共有キャッシュフィルタリストを生成する。
ブルームフィルタ、キャッシュフィルタリストおよび共有キャッシュフィルタリストの詳細は後述する。
図13(a)及び図13(b)は、本実施形態に係るキャッシュ情報の例を示す図である。例えば、図13(a)は、第1アクセスポイント1Aに保持されているキャッシュ情報であり、図13(b)は、第2アクセスポイント1Bに保持されているキャッシュ情報である。キャッシュ情報の説明に関しては、第1実施形態と同様であるので、詳しい説明は省略する。
図14(a)及び図14(b)は、キャッシュフィルタリストの例を示す図である。キャッシュフィルタリストの各エントリは、キャッシュフィルタと、コンテンツサイズ範囲の情報とを備えている。図14(a)は、第1アクセスポイント1Aのキャッシュフィルタリストを示し、図13(a)のキャッシュ情報から生成されたものである。図14(b)は、第2アクセスポイント1Bのキャッシュフィルタリストを示し、図13(b)のキャッシュ情報から生成されたものである。
キャッシュフィルタは、ブルームフィルタアルゴリズムにより生成されたブルームフィルタである。ブルームフィルタは一定のビット長を有し、初期値はすべてのビットが0になっている。ブルームフィルタには、該当するコンテンツサイズ範囲に含まれるサイズをもつコンテンツのコンテンツIDを登録する。登録は、コンテンツのコンテンツIDを1つまたは複数のハッシュ関数により1つまたは複数のハッシュ値に変換し、1つまたは複数のハッシュ値に対応する1つまたは複数のビットを1にする(既に1の場合は、1を維持する)ことで行う。これにより、当該コンテンツIDをキャッシュフィルタに登録する。このように、キャッシュフィルタは、コンテンツサイズ範囲ごとに用意され、各キャッシュフィルタに、対応するコンテンツ範囲に属するコンテンツのコンテンツIDを集約する。
例えば、図14(a)に示すキャッシュフィルタリストにおいて、フィルタ1は、コンテンツサイズが10,000,000Byte以下となるコンテンツのコンテンツID(図13(a)のキャッシュ情報における上側2つのコンテンツID)を登録したブルームフィルタである。同様に、フィルタ2は、コンテンツサイズが10,000,000Byteより大きく200,000,000Byte以下となるコンテンツ(図13(a)のキャッシュ情報における下側2つのコンテンツID)のコンテンツIDを登録したブルームフィルタである。すなわち、図14(a)に示すキャッシュフィルタは、図13(a)に示すキャッシュ情報をコンテンツサイズ範囲により分類し、分類ごとに、複数のコンテンツIDをブルームフィルタにより圧縮したものであるといえる。
図15は、アクセスポイントにおいてキャッシュ情報からキャッシュフィルタリストを生成する処理の動作を示すフローチャートである。この図15に示す処理は、特に断りの無い限り、各アクセスポイントにおいてキャッシュフィルタリスト生成部17が行う。ここでは、キャッシュフィルタリストの生成は、例えば他のアクセスポイントからキャッシュフィルタリストの取得要求を受けた場合に行う場合を想定する。以下、第1アクセスポイント1Aのキャッシュフィルタリスト交換部16が、第2アクセスポイント1Bのキャッシュフィルタリスト交換部16に対してキャッシュフィルタリストの取得要求を行った場合について説明する。なお、一定時間内に複数のアクセスポイントから取得要求があった場合には、既に生成されているキャッシュフィルタリストを再利用するようにしてもよい。
まず、第2アクセスポイント1Bのキャッシュフィルタリスト生成部17は、第2アクセスポイント1Bのキャッシュフィルタリストを初期化する(ステップS200)。例えば、キャッシュフィルタリストの各キャッシュフィルタ(ブルームフィルタ)の全ビットを「0」とすることにより初期化が行われる。
次に、キャッシュフィルタリスト生成部17は、記憶部14から第2アクセスポイント1Bのキャッシュ情報を取得する(ステップS201)。さらに、取得したキャッシュ情報から、エントリを1つ抽出する(ステップS202)。
次に、抽出したエントリのコンテンツIDを引数として、1又は複数のハッシュ関数を計算し、1又は複数のハッシュ値を算出する(ステップS203)。ここで、ハッシュ関数は、一般的に用いられるものであってもよいし、独自のものであってもよい。ハッシュ関数の例としては、MD5、SHA−1、SHA−2、SHA−3等があるがこれらには限られない。ハッシュ値は、できる限り衝突が起こらないことが好ましい。アクセスポイントの性能や、ハッシュ値の計算の速度などを考慮して、いずれのハッシュ関数を使用するかを選択してもよい。なお、使用する1又は複数のハッシュ関数は、各アクセスポイントにおいて同一であるとする。
次に、各キャッシュフィルタのコンテンツサイズ範囲と、抽出したエントリのコンテンツサイズとを比較し、コンテンツサイズが属するコンテンツサイズ範囲のキャッシュフィルタを特定する(ステップS204)。
次に、抽出したエントリのコンテンツIDを、特定したキャッシュフィルタに登録する(ステップS205)。具体的には、コンテンツIDから1つまたは複数のハッシュ関数により1つまたは複数のハッシュ値を計算し、特定したキャッシュフィルタのビット列において、計算した1つまたは複数のハッシュ値に対応するビットを1にする。
次に、キャッシュ情報中の全てのエントリが抽出されたか否かを判断する(ステップS206)。全てのエントリが抽出された場合(ステップS206:Yes)、キャッシュフィルタリストの生成を終了する。一方で、全てのエントリの抽出が終了していない場合(ステップS206:No)、ステップS202乃至ステップS205の処理を繰り返し行うことにより、全てのエントリのコンテンツIDを、それぞれ該当するキャッシュフィルタに登録する。
第2アクセスポイント1Bのキャッシュフィルタリスト交換部16は、上述のように生成したキャッシュフィルタリストを、第1アクセスポイント1Aへ送信する。また、この場合、第1アクセスポイント1Aのキャッシュフィルタリスト生成部17も同様に第1アクセスポイント1Aのキャッシュフィルタリストを生成し、第2アクセスポイント1Bのキャッシュフィルタリスト交換部16へ、第1アクセスポイント1Aのキャッシュフィルタリストを送信するようにしてもよい。これらの動作の結果、アクセスポイント1Aおよびアクセスポイント1B間において、キャッシュフィルタリストの交換が行われる。それぞれのアクセスポイントにおいて受信したキャッシュフィルタリストは、それぞれのアクセスポイントの記憶部14に格納および保持される。また、この際、各キャッシュフィルタリストがいずれのアクセスポイントに対応するかを示すAPIDも紐付けて記憶する。
各々のキャッシュフィルタリストを交換した後、各アクセスポイントの共有キャッシュフィルタリスト生成部18は、自アクセスポイントの生成したキャッシュフィルタリスト及び受信した他アクセスポイントの生成したキャッシュフィルタリストに基づいて共有キャッシュフィルタリストを生成する。生成した共有キャッシュフィルタリストは、各アクセスポイントの記憶部14に格納および保持される。
図16は、共有キャッシュフィルタリストの一例を示す図である。例えば図16に示すように、共有キャッシュフィルタリストの各エントリは、APIDと、キャッシュフィルタと、コンテンツサイズ範囲の情報とを含む。APIDは、各キャッシュフィルタがどのアクセスポイントのキャッシュフィルタであるかを示す。すなわち、APIDは、キャッシュフィルタに登録されているコンテンツIDが示すコンテンツがキャッシュされているアクセスポイントを示す識別子である。キャッシュフィルタは、上述したように各アクセスポイントのキャッシュフィルタリスト生成部17により生成されたキャッシュフィルタ(ブルームフィルタ)である。
例えば、フィルタ1は、第1アクセスポイント1Aが保持しているキャッシュコンテンツのうち、コンテンツサイズが10,000,000Byte以下のコンテンツのコンテンツIDを登録しているブルームフィルタである。フィルタ4は、第2アクセスポイント1Bが保持しているキャッシュコンテンツのうち、コンテンツサイズが400,000,000Byte以下のコンテンツのコンテンツIDを保持するフィルタである。あるコンテンツIDが、ブルームフィルタに登録されているか否かの検証は、当該コンテンツIDの1又は複数のハッシュ値に対応するビットがブルームフィルタですべて1になっているかを調べることで行う。すべて1になっている場合は、当該コンテンツIDはブルームフィルタに登録されており、1つでも0になっているビットがある場合は、ブルームフィルタに登録されていないと判断する。
図17は、アクセスポイントにおける共有キャッシュフィルタリストの生成処理の一例を示すフローチャートである。各アクセスポイントの共有キャッシュフィルタリスト生成部18は、下記に説明する処理フローにより、共有キャッシュフィルタリストを生成する。以下の説明では、キャッシュフィルタリスト内のキャッシュフィルタをフィルタY、共有キャッシュフィルタリスト内のキャッシュフィルタをフィルタXと記述する場合がある。
まず、共有キャッシュフィルタリスト生成部18は、記憶部14に記憶されているキャッシュフィルタリストのうち1つを取得する(ステップS210)。例えば、図14(a)及び図14(b)に示すキャッシュフィルタリストが記憶部14に記憶されている場合に、図14(a)に示すキャッシュフィルタリストを取得する。
次に、取得したキャッシュフィルタリストから、1つのエントリを抽出する(ステップS211)。例えば、取得した図14(a)に示すキャッシュフィルタリストから、フィルタ1のエントリ、すなわち、APIDが「AP1」であり、なおかつコンテンツサイズが10,000,000Byte以下のコンテンツに係るキャッシュフィルタのエントリを抽出する。
次に、抽出したエントリのコンテンツサイズを、1つまたは複数のコンテンツサイズ範囲のそれぞれと比較し、当該コンテンツサイズが属するコンテンツ範囲を特定する(ステップS212)。当該1つまたは複数のコンテンツサイズ範囲は、アクセスポイントごとに定義されてもよい。また、本例では、共有キャッシュフィルタリストにおけるコンテンツサイズ範囲(図16参照)と、キャッシュフィルタリストのコンテンツサイズ範囲(図14参照)とは、各アクセスポイントで同じであるとする。ただし、共有キャッシュフィルタリストにおけるコンテンツサイズ範囲は、キャッシュフィルタリストのコンテンツサイズ範囲を包含するより広い範囲でもよい。たとえば共有キャッシュフィルタリストにおけるアクセスポイント1Aのコンテンツサイズ範囲が、0より大きく300,000,000Byte以下の1つの範囲のみでもよい。
次に、ステップS212で特定したコンテンツサイズ範囲に対応するキャッシュフィルタ(フィルタX)を、上記抽出したエントリのキャッシュフィルタ(フィルタY)と論理和をとることで、更新する(ステップS213)。例えば、共有キャッシュフィルタリストにおいてコンテンツサイズが10,000,000Byte以下というフィルタ1(フィルタX)が準備されている場合、図14(a)に示すフィルタ1(フィルタY)は、コンテンツサイズが10,000,000Byte以下のフィルタであるので、当該フィルタXに適合する。そこで、図14(a)に示すフィルタ1(フィルタY)と、当該フィルタ(フィルタX)の論理和を演算することにより、当該フィルタ1(フィルタX)に図14(a)に示すフィルタ1(フィルタY)の情報を書き込む。書き込まれたフィルタ1(フィルタX)は、例えば、図16に示すフィルタ1である。また、図14(a)に示すフィルタ1は、第1アクセスポイント1Aに係るフィルタであるので、APID項目(図16参照)にはAP1を記載する。
次に、キャッシュフィルタリストから全てのエントリが抽出されたか否かを判断する(ステップS214)。全てのエントリが抽出されていない場合(ステップS214:No)、当該キャッシュフィルタリストから新たにエントリを抽出する。そして、共有キャッシュフィルタリストにおいて、当該エントリが満足するコンテンツサイズ範囲に対応するキャッシュフィルタ(フィルタX)を特定し、特定したフィルタXへ、抽出したエントリのキャッシュフィルタ(フィルタY)を書き込む(ステップS211乃至ステップS213)。
全てのエントリが抽出されている場合(ステップS214:Yes)、次に、全てのキャッシュフィルタリストが取得されたか否かを判断する(ステップS215)。全てのキャッシュフィルタリストが取得されていない場合(ステップS215:No)、取得されていないアクセスポイントのキャッシュフィルタリストを記憶部14から取得し、取得したキャッシュフィルタリストの各エントリのキャッシュフィルタ(フィルタY)を、共有キャッシュフィルタリストの該当するエントリのキャッシュフィルタ(フィルタX)へと書き込む(ステップS210乃至ステップS214)。全てのアクセスポイントのキャッシュフィルタリストが取得された場合(ステップS215:Yes)、共有キャッシュフィルタリストの生成を終了する。
上述した処理は、2つのアクセスポイントの場合についての処理であるが、アクセスポイントの数は2つに限られず、3以上のアクセスポイントが存在する場合においても同様に処理を行うことが可能である。すなわち、各アクセスポイントが自アクセスポイント以外のアクセスポイントとキャッシュフィルタの情報を交換することにより、全てのアクセスポイントとキャッシュフィルタリストを交換することが可能となる。また、キャッシュフィルタリストを交換する際には、各アクセスポイントが自アクセスポイントのキャッシュフィルタリストを送信するだけではなく、他のアクセスポイントのキャッシュフィルタストについても送信するようにしてもよい。
また、他の方法として、各アクセスポイントが他のアクセスポイントに対してキャッシュフィルタリストをブロードキャストすることにより、キャッシュフィルタリストを交換してもよい。なお、ブロードキャストを行うタイミングは、他のアクセスポイントが新たに加わったときでもよいし、周期的に行ってもよいし、キャッシュフィルタリストに変更があったとき、すなわち、保持しているキャッシュコンテンツの削除、又は、追加があったときでもよい。また、前述した方法と組み合わせて、キャッシュフィルタリストの交換を行ってもよい。
図17のフローチャートで説明した具体例では、共有キャッシュフィルタリストで使用する各アクセスポイントのコンテンスサイズ範囲が、各アクセスポイントのキャッシュフィルタリストで使用するコンテンツサイズ範囲と一致する。このような場合は、これらのアクセスポイントのキャッシュフィルタリストの集合を、共有キャッシュフィルタリストとして扱うことも可能である。
次に、付加情報付コンテンツリストの提供処理について説明する。ユーザー端末2と第1アクセスポイント1Aとの間で接続が確立されており、第1アクセスポイント1Aおよび第2アクセスポイント1B間でキャッシュフィルタリストの交換が完了し、各々の記憶部14に共有キャッシュフィルタリストが保存されているとする。なお、第1アクセスポイント1Aとユーザー端末2間にて、ユーザー端末2が使用可能な空き帯域があらかじめ設定されているとする。
第1アクセスポイント1Aにおけるコンテンツ取得要求応答部12の第2取得部は、端末から付加情報付コンテンツリストの取得要求を受信すると、サーバー4に対して、コンテンツリストの取得要求を送信する。コンテンツリストの一例を図18に示す。コンテンツリストは、1つ以上のエントリから構成され、各エントリは、コンテンツのページ、例えば、URLを示すページIDを含む。
サーバー4は、第1アクセスポイント1Aからコンテンツリストの取得要求を受信すると、要求にしたがいコンテンツリストを生成して、第1アクセスポイント1Aへ送信する。第1アクセスポイント1Aのコンテンツ取得要求応答部12は、コンテンツリストを受信すると、受信したコンテンツリストを付加情報付コンテンツリスト生成部13へ渡す。
付加情報付コンテンツリスト生成部13は、コンテンツリストを受け取ると、記憶部14から共有キャッシュフィルタリストを読み出し、コンテンツリストと共有キャッシュフィルタリストとから、付加情報付コンテンツリストを生成する。以下に、図19及び図20を参照して、付加情報付コンテンツリストの生成方法の一例を説明する。
図19は、付加情報付コンテンツリストの一例を示す図である。この図19に示すように、付加情報付コンテンツリストは、キャッシュコンテンツに対しては、例えば、ページIDと、コンテンツの推定ダウンロード時間と、オフライン再生可能フラグと、APIDとを含む1つ以上のエントリを有する。キャッシュコンテンツ以外のコンテンツに対しては、ページIDを含むエントリを有する。コンテンツの推定ダウンロード時間と、オフライン再生可能フラグと、APIDは、本実施形態に係る第2情報の一例に相当する。
図20は、付加情報付コンテンツリスト生成部13が付加情報付コンテンツリストを生成する際の処理を示すフローチャートである。まず、付加情報付コンテンツリスト生成部13は、コンテンツリストから1つのエントリを抽出する(ステップS220)。例えば、図18に示す、http://www.example.com/page/example1というページIDを有するエントリを抽出する。
次に、このページIDから、コンテンツIDを生成する(ステップS221)。本実施形態においては、ページIDに含まれる“page”を、“content”に置換することで、コンテンツIDを生成する。ただし、コンテンツIDの生成方法はこれには限られず、ページIDそのものを、コンテンツIDとしてもよい。ページIDとコンテンツIDを一意的に対応づけられるかぎり、どのような変換方法でコンテンツIDを生成してもよい。
次に、生成したコンテンツIDから1つまたは複数のハッシュ関数により、1つまたは複数のハッシュ値を生成する(ステップS222)。ここで、ハッシュ関数は、一般的に用いられるものであってもよいし、独自のものであってもよい。使用するハッシュ関数は、上記で説明したように、各アクセスポイントにおいて同一のハッシュ関数又は同一のハッシュ関数のセットを使用する。
次に、生成した1つまたは複数のハッシュ値に基づき、上記コンテンツIDが各キャッシュフィルタに登録されているかを検証する。つまり、生成した1つまたは複数のハッシュ値に対応するビットがすべて1になっているキャッシュフィルタが、共有キャッシュフィルタリスト内に存在するか否かを判断する(ステップS223)。
そのようなキャッシュフィルタが存在する場合(ステップS223:Yes)、当該コンテンツIDに対応するページIDと、当該キャッシュフィルタに対応するコンテンツサイズ範囲から推定したダウンロード時間と、オフライン再生可能フラグと、当該キャッシュフィルタに対応するAPID(当該コンテンツIDのコンテンツをキャッシュしているアクセスポイントのAPID)とを含むエントリを、付加情報付コンテンツリストに追加する(ステップS224)。
ダウンロード時間の推定方法は、第1実施形態と同様の方法を用いればよい。ダウンロード時間を推定する際、コンテンツサイズ範囲の上限値をコンテンツサイズとみなしてもよいし、当該上限値の80%など特定の割合の値をコンテンツサイズとみなしてもよいし、ダウンロード時間をコンテンツサイズ範囲に合わせて、時間の範囲によって表現してもよい。
一方で、そのようなキャッシュフィルタが共有キャッシュフィルタリスト内に含まれない場合(ステップS223:No)、生成したコンテンツIDに対応するページID(コンテンツIDを生成するもとになったページID)を含むエントリを、付加情報付コンテンツリストへ追加する(ステップS225)。例えば、図19の一番下段に記載されているエントリのように、http://www.example.com/page/example8を、付加情報付コンテンツリストへ追加する。なお、推定ダウンロード時間、オフライン再生可能フラグ、APIDは、当該エントリに含まれない。ただし、推定ダウンロード時間や、オフライン再生不可フラグ(あるいは、オフライン再生可能な場合は、オフライン再生不可フラグ)をエントリに追加してもよい。
次に、コンテンツリストに含まれる全てのエントリが抽出されたか否かを判断する(ステップS226)。コンテンツリストに含まれる全てのエントリが抽出された場合(ステップS226:Yes)、付加情報付コンテンツリストの生成を終了する。一方で、コンテンツリストに含まれる全てのエントリの抽出がされていない場合(ステップS226:No)、次のエントリを抽出し、上述した処理を繰り返す(ステップS220乃至ステップS225)。
付加情報付コンテンツリストの生成が完了すると、付加情報付コンテンツリストを応答としてユーザー端末2へと送信する。付加情報付コンテンツリストを受信したユーザー端末2は、受信した付加情報付コンテンツリストを、その画面に表示する。ユーザーは、画面に表示された付加情報付コンテンツリストを参照することで、コンテンツ毎に、オフライン再生可能か否か(ダウンロード可能か否か)の判断や、ダウンロードに要する時間の予測等を行うことができる。なお、ユーザーは、ページID以外の項目がなにも存在しないコンテンツはサーバーからダウンロードする必要があるコンテンツであり、ページID以外の項目も存在するコンテンツは、アクセスポイントにキャッシュされていると判断できる。
次に、コンテンツ提供動作について説明する。第1アクセスポイント1Aは、ユーザー端末2からページIDを含むコンテンツ取得要求を受信すると、ページIDに対応するコンテンツIDを算出し、当該コンテンツIDから、コンテンツのキャッシュ状況を調べる。その結果に応じて、コンテンツを記憶部14、他のアクセスポイント、またはサーバー4から取得して、ユーザー端末2へコンテンツを送信する。これにより、ユーザー端末2からの取得要求に応答する。
図21は、コンテンツ提供動作の処理を示すフローチャートである。まず、第1アクセスポイント1Aは、ユーザー端末2からページIDを含むコンテンツ取得要求を受信する(ステップS230)。
次に、コンテンツ取得要求応答部12のコンテンツ提供部は、受信したページIDからコンテンツIDを算出し、コンテンツIDから1つまたは複数のハッシュ値を算出する(ステップS231)。ハッシュ値の算出には、上述したものと同一のハッシュ関数又は同一のハッシュ関数の組を使用する。
次に、記憶部14に記憶されている共有キャッシュフィルタリスト内の各キャッシュフィルタを読み出し、ハッシュ値と各キャッシュフィルタとを比較し、当該ハッシュ値に対応するビットがすべて1になっているキャッシュフィルタが存在するかを判断する(ステップS232)。すなわち、各キャッシュフィルタに対して当該コンテンツIDが登録されているかを検証する。
そのようなキャッシュフィルタが存在しない場合(ステップS232:No)、ページIDを元に、コンテンツの配信元となるサーバーに対して取得要求を行い、コンテンツをサーバー4から取得する(ステップS233)。この際、第1アクセスポイント1Aは、当該コンテンツを記憶部14にキャッシュし、キャッシュフィルタリストを更新してもよい。
一方で、そのようなキャッシュフィルタが1つ以上存在する場合、すなわち、上記ハッシュ値に対応するビットがすべて1になっているキャッシュフィルタが、共有キャッシュフィルタリストに1つ以上含まれている場合(ステップS232:Yes)、当該1つ以上のキャッシュフィルタに対応するAPIDの中に、自アクセスポイントのAPIDに一致するものがあるか否かを判断する(ステップS234)。本例では、APIDの中に、第1アクセスポイント1AのAPIDである「AP1」が含まれているか否かを判断する。
自アクセスポイントのAPIDが含まれている場合(ステップS234:Yes)、コンテンツIDに対応するキャッシュコンテンツを自アクセスポイントの記憶部14から検索する(ステップS235)。
一方で、自アクセスポイントのAPIDが含まれていない場合(ステップS234:No)、当該1つ以上のキャッシュフィルタに対応するAPIDのうち、1つのAPIDを読み出し、読み出したAPIDのアクセスポイントに対して、キャッシュコンテンツの取得要求を送信して、当該アクセスポイントからキャッシュコンテンツを取得する(ステップS236)。この際、読み出し対象となるAPIDが複数存在する場合、最もコンテンツ取得に要する時間が短いAPIDを選択してもよい。または、なるべく上位の回線の帯域を使わないようなアクセスポイントのAPIDを選択するようにしてもよい。また、取得したコンテンツを自アクセスポイントの記憶部14にキャッシュしてもよい。この際、キャッシュフィルタリストを更新してもよい。あるいは、ある一定回数同じコンテンツの取得要求を受信した場合に、コンテンツをキャッシュするようにしてもよい。
コンテンツの提供準備が終了すると、第1アクセスポイント1Aは、コンテンツ取得要求に対する応答として、ユーザー端末2へコンテンツを送信する(ステップS237)。
以上のように、本実施形態によれば、ブルームフィルタを用いることにより、ユーザー端末2からコンテンツの取得要求があった場合に、要求されたコンテンツがどのアクセスポイントにキャッシュされているかを、高速に判定することが可能となる。また、アクセスポイント間で送受信する情報量を低減できる。
なお、上述した第1実施形態と同様に、1つのコンテンツに対して複数のビットレートのバージョンが存在していてもよい。この場合、第1実施形態と同様に、キャッシュフィルタリストのエントリの構成を変更してもよい。また、共有キャッシュフィルタリスト(図16参照)は、必ずしも他のアクセスポイントに関する情報を保持しておく必要は無く、自アクセスポイントの情報のみを保持するようにしてもよい。この場合、共有キャッシュフィルタリストのAPID項目に含まれるAPIDは、自アクセスポイントのAPIDのみとなるため、省略してもよい。
キャッシュ情報に変更があった場合のアクセスポイントの処理、例えば、新しいキャッシュコンテンツが追加された、又は、古いキャッシュコンテンツが削除された等の理由によりキャッシュ情報が更新された場合における処理について説明する。この場合、更新されたキャッシュ情報に基づき、キャッシュフィルタリストを更新する。そして、更新後のキャッシュフィルタリストを、他のアクセスポイントへとブロードキャストにより送信する。キャッシュフィルタリストを更新したタイミングではなく、所定の時間ごとに、最新のキャッシュフィルタリストをブロードキャスト送信するようにしてもよい。
なお、上記のようなタイミングではなく、ユーザー端末2からコンテンツの取得要求がされたタイミングで、キャッシュフィルタリストを送信してもよい。さらに別の例としては、他のアクセスポイントからキャッシュフィルタリストの取得要求があったタイミングで、キャッシュフィルタリストを送信するようにしてもよい。
(第3実施形態)
前述した第1および第2実施形態では、本発明の実施形態に係る通信装置をアクセスポイントに搭載したが、当該通信装置の機能の一部または全部を、コントローラ3またはサーバー4に搭載することも可能である。または、当該通信装置の機能の一部または全部を備えた単独の装置を実現することも可能である。
第1の例として、当該通信装置の機能の一部または全部を、コントローラ3に集約する例を示す。コントローラ3が、共有キャッシュ情報生成部11を備え、共有キャッシュ情報を生成する例を示す。この場合、各アクセスポイントは、サーバー4からのプッシュ通知や、コントローラ3からのキャッシュ情報の取得要求により、コントローラ3へキャッシュ情報を送信する。
コントローラ3は、自ノードに属する全てのアクセスポイントからキャッシュ情報を受信し、これらのキャッシュ情報から共有キャッシュ情報を生成する。そして、コントローラ3は、全てのアクセスポイントへ、作成した共有キャッシュ情報を送信する。この共有キャッシュ情報は、コントローラ3から各アクセスポイントへユニキャストで送信してもよいし、ブロードキャストにより全てのアクセスポイントへと一括して送信してもよい。
同様にして、第2実施形態の共有キャッシュフィルタリストをコントローラ3で生成してもよい。各アクセスポイントは、キャッシュ情報の代わりにキャッシュフィルタリストを送信し、コントローラ3は、各アクセスポイントから受信したキャッシュフィルタリストから、共有キャッシュフィルタリストを生成して、各アクセスポイントに送信してもよい。
または、コントローラ3が、各アクセスポイントのキャッシュ情報から、キャッシュフィルタリストを作成して、各アクセスポイントにキャッシュフィルタリストを送信するようにしてもよい。この場合、全てのアクセスポイントのキャッシュフィルタリストを受信した各アクセスポイントは、これらのキャッシュフィルタリストを元に、共有キャッシュフィルタリストを生成する。また、共有キャッシュフィルタリストの生成は、コントローラ3が行ってもよい。
以上のように、第1および第2実施形態におけるアクセスポイントの機能の一部を、コントローラ3に集約することにより、処理を一元化することが可能となり、各アクセスポイントにおける負荷を軽減することが可能となる。
第2の例として、当該通信装置の機能の一部または全部を、サーバー4に集約する例を示す。サーバー4は、コントローラ3に、必要な情報(キャッシュ情報またはキャッシュフィルタリスト等)の取得要求を送信して、コントローラ3は、各アクセスポイントから当該情報を取得して、サーバー4に送信する。あるいは、サーバー4からの要求を受けることなく、コントローラ3が自発的に情報を収集して、サーバー4に送信してもよい。サーバー4は、上述した第1の例におけるコントローラ3と同様に、共有キャッシュ情報の生成、または、共有キャッシュフィルタリストの生成等を行い、生成した共有キャッシュ情報または共有キャッシュフィルタリストを、コントローラ3を介して各アクセスポイントに配布する。
第3の例として、当該通信装置の機能の一部または全部を備えた単独の装置を実現する例を示す。
図21は、第3実施形態に係る通信システムの一例を示す図である。アクセスポイント1A、1Bに通信装置6が、有線または無線で接続されている。通信装置6は、第1または第2実施形態のアクセスポイントが搭載していた通信装置と同じ機能を有する。通信装置6は、アクセスポイント1A、1Bと通信可能である。この場合、アクセスポイント1A、1Bは、一般的な無線LANのアクセスポイントの機能を有すればよい。第1および第2実施形態でアクセスポイントが搭載していた機能を通信装置6に集約することで、処理を一元化することが可能となり、各アクセスポイントにおける負荷を軽減することが可能となる。または、通信装置6には、前述した第1の例または第2の例でコントローラ3またはサーバー4に集約するとしていた機能を搭載し、残りの機能はアクセスポイントに搭載してもよい。
尚、各実施形態の通信装置(アクセスポイント、コントローラまたはサーバー)は、例えば、汎用のコンピュータ装置を基本ハードウェアとして用いることでも実現可能である。すなわち、上記のコンピュータ装置に搭載されたプロセッサにプログラムを実行させることにより、通信装置が備える各機能を実現出来る。このとき、通信装置は、上記のプログラムをコンピュータ装置にあらかじめインストールすることで実現することや、各種の記憶媒体に記憶、あるいはネットワークを介して上記のプログラムを配布、このプログラムをコンピュータ装置に適宜インストールすることで実現が出来る。また、通信装置が備える記憶部は、上記のコンピュータ装置に内蔵あるいは外付けされたメモリ、ハードディスクもしくはCD−R、CD−RW、DVD−RAM、DVD−Rなどの記憶媒体などを適宜利用して実現することができる。
本実施形態で用いられる用語は、広く解釈されるべきである。例えば用語“プロセッサ”は、汎用目的プロセッサ、中央処理装置(CPU)、マイクロプロセッサ、デジタル信号プロセッサ(DSP)、コントローラ、マイクロコントローラ、状態マシンなどを包含してもよい。状況によって、“プロセッサ”は、特定用途向け集積回路、フィールドプログラマブルゲートアレイ(FPGA)、プログラム可能論理回路(PLD)などを指してもよい。“プロセッサ”は、複数のマイクロプロセッサのような処理装置の組み合わせ、DSPおよびマイクロプロセッサの組み合わせ、DSPコアと協働する1つ以上のマイクロプロセッサを指してもよい。
別の例として、用語“メモリ”は、電子情報を格納可能な任意の電子部品を包含してもよい。“メモリ”は、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、プログラム可能読み出し専用メモリ(PROM)、消去可能プログラム可能読み出し専用メモリ(EPROM)、電気的消去可能PROM(EEPROM)、不揮発性ランダムアクセスメモリ(NVRAM)、フラッシュメモリ、磁気または光学データストレージを指してもよく、これらはプロセッサによって読み出し可能である。プロセッサがメモリに対して情報を読み出しまたは書き込みまたはこれらの両方を行うならば、メモリはプロセッサと電気的に通信すると言うことができる。メモリは、プロセッサに統合されてもよく、この場合も、メモリは、プロセッサと電気的に通信していると言うことができる。
また、用語“ストレージ”は、磁気技術、光学技術、または不揮発性メモリを利用して、永久的にデータを記憶できるに任意の装置を包含してもよい。例えば、ストレージは、HDD、光学ディスク、SSD等でもよい。
上記に、本発明の一実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1A:第1アクセスポイント
1B:第2アクセスポイント
2:ユーザー端末
3:コントローラ
4:サーバー
10:キャッシュ情報交換部(第1取得部)
11:共有キャッシュ情報生成部
12:コンテンツ取得要求応答部(第2取得部、コンテンツ提供部)
13:付加情報付コンテンツリスト生成部(コンテンツリスト生成部)
14:記憶部
15:通信部
16:キャッシュフィルタリスト交換部(第1取得部)
17:キャッシュフィルタリスト生成部
18:共有キャッシュフィルタリスト生成部

Claims (12)

  1. サーバーと通信可能であり、互いにキャッシュされているコンテンツを交換な複数の中継装置にそれぞれキャッシュされているコンテンツに関する第1情報を取得する第1取得部と、
    前記サーバーに保持されている複数のコンテンツのそれぞれの識別子を含む第1コンテンツリストを取得する第2取得部と、
    前記第1情報に基づき、前記第1コンテンツリストにおいて前記複数の中継装置の少なくとも1つにキャッシュされているコンテンツの識別子を特定し、前記特定した識別子と、前記特定した識別子のコンテンツが前記複数の中継装置の少なくとも1つにキャッシュされていることを示す第2情報とを含む第2コンテンツリストを生成するコンテンツリスト生成部と、
    前記第2コンテンツリストを送信する通信部と、
    を備えた通信装置。
  2. 前記第2コンテンツリストは、前記第1コンテンツリストに含まれる前記識別子のうち、前記複数の中継装置のいずれにもキャッシュされていないコンテンツの識別子と、前記コンテンツが前記複数の中継装置のいずれにもキャッシュされていないことを示す第3情報とをさらに含む
    請求項1に記載の通信装置。
  3. 前記第2情報は、ユーザー端末から前記特定した識別子のコンテンツの取得要求を受けた前記中継装置が、前記コンテンツを前記ユーザー端末に提供するのに要する推定時間の情報を含む
    請求項1または2に記載の通信装置。
  4. 前記第2情報は、前記特定した識別子のコンテンツがキャッシュされている1つまたは複数の前記中継装置の識別子を含む
    請求項1ないし3のいずれか一項に記載の通信装置。
  5. 前記第2情報は、前記特定した識別子のコンテンツの価格情報を含む
    請求項1ないし4のいずれか一項に記載の通信装置。
  6. 前記第2情報は、前記特定した識別子のコンテンツをユーザーに提供した場合に付与されるポイントの情報を含む
    請求項1ないし5のいずれか一項に記載の通信装置。
  7. 前記第2情報は、前記特定した識別子のコンテンツをユーザー端末にダウンロードして再生することの可否を識別する情報を含む
    請求項1ないし6のいずれか一項に記載の通信装置。
  8. 前記第1情報は、前記中継装置ごとに、前記中継装置にキャッシュされているコンテンツの識別子を集約したブルームフィルタを含み、
    前記コンテンツリスト生成部は、前記第1コンテンツリストに含まれる前記識別子を各ブルームフィルタに対して検証することで、前記識別子の前記コンテンツが、各中継装置にキャッシュされているかを判断する
    請求項1ないし7のいずれか一項に記載の通信装置。
  9. コンテンツ提供部を備え、
    前記通信装置は、前記複数の中継装置のうちのいずれか1つであり、
    前記通信部は、前記第2コンテンツリストをユーザー端末に送信し、
    前記コンテンツ提供部は、
    前記ユーザー端末から前記第2コンテンツリストに含まれる前記識別子のうちの1つを指定する取得要求を受け、
    前記取得要求に指定される前記識別子のコンテンツが自装置にキャッシュされている場合は、前記キャッシュされている前記コンテンツを前記ユーザー端末に提供し、
    前記コンテンツが自装置にキャッシュされておらず他の中継装置にキャッシュされている場合は、前記他の中継装置から前記コンテンツを取得して、取得したコンテンツを前記ユーザー端末に提供し、
    前記コンテンツが前記複数の中継装置のいずれにもキャッシュされていない場合は、前記コンテンツを前記サーバーから取得して、取得したコンテンツを前記ユーザー端末に提供する
    請求項1ないし7のいずれか一項に記載の通信装置。
  10. 前記通信部は、前記第2コンテンツリストを前記複数の中継装置に送信する
    請求項1ないし9のいずれか一項に記載の通信装置。
  11. サーバーと通信可能であり、互いにキャッシュされているコンテンツを交換な複数の中継装置にそれぞれキャッシュされているコンテンツに関する第1情報を取得するステップと、
    前記サーバーに保持されている複数のコンテンツのそれぞれの識別子を含む第1コンテンツリストを取得するステップと、
    前記第1情報に基づき、前記第1コンテンツリストにおいて前記複数の中継装置の少なくとも1つにキャッシュされているコンテンツの識別子を特定し、前記特定した識別子と、前記特定した識別子のコンテンツが前記複数の中継装置の少なくとも1つにキャッシュされていることを示す第2情報とを含む第2コンテンツリストを生成するステップと、
    前記第2コンテンツリストを送信するステップと、
    を備えた通信方法。
  12. サーバーと通信可能であり、互いにキャッシュされているコンテンツを交換な複数の中継装置にそれぞれキャッシュされているコンテンツに関する第1情報を取得するステップと、
    前記サーバーに保持されている複数のコンテンツのそれぞれの識別子を含む第1コンテンツリストを取得するステップと、
    前記第1情報に基づき、前記第1コンテンツリストにおいて前記複数の中継装置の少なくとも1つにキャッシュされているコンテンツの識別子を特定し、前記特定した識別子と、前記特定した識別子のコンテンツが前記複数の中継装置の少なくとも1つにキャッシュされていることを示す第2情報とを含む第2コンテンツリストを生成するステップと、
    前記第2コンテンツリストを送信するステップと、
    をコンピュータに実行させるためのプログラム。
JP2016169972A 2016-08-31 2016-08-31 通信装置、通信方法及びプログラム Active JP6674355B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016169972A JP6674355B2 (ja) 2016-08-31 2016-08-31 通信装置、通信方法及びプログラム
US15/445,535 US10425495B2 (en) 2016-08-31 2017-02-28 Communication device, communication method, and non-transitory computer readable medium for content cache function

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016169972A JP6674355B2 (ja) 2016-08-31 2016-08-31 通信装置、通信方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2018036889A true JP2018036889A (ja) 2018-03-08
JP6674355B2 JP6674355B2 (ja) 2020-04-01

Family

ID=61240771

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016169972A Active JP6674355B2 (ja) 2016-08-31 2016-08-31 通信装置、通信方法及びプログラム

Country Status (2)

Country Link
US (1) US10425495B2 (ja)
JP (1) JP6674355B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200205155A1 (en) * 2018-12-20 2020-06-25 Arris Enterprises Llc Downloading and storing video content offline to manage video playback

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020016162A1 (en) * 2000-08-03 2002-02-07 Kddi Corporation Method for provision of contents
JP2002351772A (ja) * 2001-05-24 2002-12-06 Mitsubishi Electric Corp コンテンツ情報配信システムおよびコンテンツ情報配信方法および情報配信システム
WO2009113371A1 (ja) * 2008-03-12 2009-09-17 日本電気株式会社 コンテンツ情報提示装置、コンテンツ情報提示システム及びそれに用いるコンテンツ情報提示方法
WO2012160742A1 (ja) * 2011-05-20 2012-11-29 日立コンシューマエレクトロニクス株式会社 コンテンツ受信機およびコンテンツ情報出力方法
JP2016189132A (ja) * 2015-03-30 2016-11-04 富士通株式会社 コンテンツ取得プログラム、装置、及び方法

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4274710B2 (ja) * 2001-06-28 2009-06-10 株式会社日立製作所 通信中継装置
US20030204602A1 (en) * 2002-04-26 2003-10-30 Hudson Michael D. Mediated multi-source peer content delivery network architecture
US8176186B2 (en) * 2002-10-30 2012-05-08 Riverbed Technology, Inc. Transaction accelerator for client-server communications systems
JP4772375B2 (ja) * 2005-04-28 2011-09-14 株式会社東芝 電子機器およびコンテンツ管理方法
US20120057456A1 (en) * 2009-04-16 2012-03-08 Nearverse, Inc. Method and apparatus for distributed communication using short range and wide range communication links
JP5293533B2 (ja) * 2009-09-24 2013-09-18 ブラザー工業株式会社 情報通信システム及び情報通信方法
US10805102B2 (en) * 2010-05-21 2020-10-13 Comcast Cable Communications, Llc Content recommendation system
AU2011202182B1 (en) * 2011-05-11 2011-10-13 Frequency Ip Holdings, Llc Creation and presentation of selective digital content feeds
US20130007186A1 (en) * 2011-06-30 2013-01-03 Interdigital Patent Holdings, Inc. Controlling content caching and retrieval
US9197911B2 (en) * 2012-02-16 2015-11-24 Gopop.tv Method and apparatus for providing interaction packages to users based on metadata associated with content
WO2014057896A1 (ja) * 2012-10-09 2014-04-17 シャープ株式会社 コンテンツ送信装置、コンテンツ再生装置、コンテンツ配信システム、コンテンツ送信装置の制御方法、コンテンツ再生装置の制御方法、制御プログラムおよび記録媒体
JP6221229B2 (ja) * 2012-12-26 2017-11-01 ソニー株式会社 無線通信装置、通信システム、無線通信装置の制御方法およびプログラム
US9667735B2 (en) * 2013-03-15 2017-05-30 Infinio Systems, Inc. Content centric networking
US9906436B2 (en) * 2013-08-05 2018-02-27 Futurewei Technologies, Inc. Scalable name-based centralized content routing
JP2015170125A (ja) * 2014-03-06 2015-09-28 富士通株式会社 コンテンツ取得プログラム、装置、及び方法
US20150350714A1 (en) * 2014-05-29 2015-12-03 Apple Inc. Playback of video on demand
US10142444B2 (en) * 2014-07-01 2018-11-27 Trinity Mobile Networks, Inc. Methods, devices, and systems for implementing centralized hybrid wireless self-organizing networks
JP2016042230A (ja) * 2014-08-14 2016-03-31 富士通株式会社 コンテンツ送信プログラム、装置、及び方法
US9781047B2 (en) * 2014-09-16 2017-10-03 Panasonic Intellectual Property Corporation Of America Wireless communication terminal and wireless communication method
GB2540434A (en) * 2015-07-17 2017-01-18 Fujitsu Ltd Content delivery over D2D links
US10277481B2 (en) * 2015-09-23 2019-04-30 Futurewei Technologies, Inc. Stateless forwarding in information centric networks with bloom filters

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020016162A1 (en) * 2000-08-03 2002-02-07 Kddi Corporation Method for provision of contents
JP2002049766A (ja) * 2000-08-03 2002-02-15 Kddi Corp コンテンツ提供方法
JP2002351772A (ja) * 2001-05-24 2002-12-06 Mitsubishi Electric Corp コンテンツ情報配信システムおよびコンテンツ情報配信方法および情報配信システム
WO2009113371A1 (ja) * 2008-03-12 2009-09-17 日本電気株式会社 コンテンツ情報提示装置、コンテンツ情報提示システム及びそれに用いるコンテンツ情報提示方法
US20110035441A1 (en) * 2008-03-12 2011-02-10 Toru Osuga Content information display device, content information display system, and content information display method used for the same
WO2012160742A1 (ja) * 2011-05-20 2012-11-29 日立コンシューマエレクトロニクス株式会社 コンテンツ受信機およびコンテンツ情報出力方法
JP2012244447A (ja) * 2011-05-20 2012-12-10 Hitachi Consumer Electronics Co Ltd コンテンツ受信機およびコンテンツ情報出力方法
JP2016189132A (ja) * 2015-03-30 2016-11-04 富士通株式会社 コンテンツ取得プログラム、装置、及び方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
市木良和,他2名: "Webプロキシネットワークシステムにおけるキャッシュヒット率を考慮した負荷分散手法の提案", 第19回マルチメディア通信と分散処理ワークショップ DPS WORKSHOP 2011 (第1回〜第, vol. 第2008巻,第14号, JPN6019026206, 28 September 2011 (2011-09-28), JP, pages 213 - 218, ISSN: 0004071390 *

Also Published As

Publication number Publication date
US20180063272A1 (en) 2018-03-01
JP6674355B2 (ja) 2020-04-01
US10425495B2 (en) 2019-09-24

Similar Documents

Publication Publication Date Title
US11316946B2 (en) Processing and caching in an information-centric network
US9621620B2 (en) Apparatus and method for providing content with a distributed architecture, and system for providing content with the said apparatus
CN110392094B (zh) 一种获取业务数据的方法及融合cdn系统
CN112583882A (zh) 用于管理边缘环境中的遥测数据的方法、系统、制品和装置
CN112235420B (zh) 基于区块链的数据同步方法、系统及相关设备
US11064041B2 (en) Apparatus for providing cloud service using cloud service brokerage based on multiple clouds and method thereof
US20160142477A1 (en) Connection control device, connection control system, and non-transitory computer readable medium
US9742842B2 (en) Peer-to-peer data migration
WO2013157042A1 (ja) 分散アプリケーション及びデータホスティングシステム
CN108683730B (zh) 资源调度方法、业务服务器、客户终端、网络系统和介质
CN109522462B (zh) 一种基于区块链的云查询方法、装置、设备及存储介质
JP2005011218A (ja) コンテンツ送出装置、コンテンツ受信装置およびこれらを用いたコンテンツ配信システム
CN107612753B (zh) 无线信息的处理方法、装置和无线接入设备
JP6674355B2 (ja) 通信装置、通信方法及びプログラム
US20220182444A1 (en) Peer-managed content distribution network
KR102391506B1 (ko) 단말기 제어 관리 시스템 및 그 제어방법
CN115114316A (zh) 一种高并发数据的处理方法、装置、集群和存储介质
CN112995280A (zh) 面向多内容需求服务的数据分配方法和装置
CN106534300B (zh) 数据更新方法、用户设备、服务器及系统
CN105320606B (zh) 数据对象管理方法以及数据对象管理系统
CN117714277B (zh) 一种基于云原生的多集群网关及其工作方法
JP6007753B2 (ja) 管理サーバ、ハードウェア管理装置、情報処理装置、ハードウェア管理システム、ハードウェア管理方法、および、コンピュータ・プログラム
CN110784540B (zh) 一种基于多终端决策的数字媒体分发平台流量削减和加速的方法
CN112422613B (zh) 数据处理方法、数据处理平台和计算机可读存储介质
CN108683515B (zh) 费用核算方法、客户终端、业务服务器、网络系统和介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180904

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190627

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190705

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190902

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200306

R151 Written notification of patent or utility model registration

Ref document number: 6674355

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151