JPWO2018092679A1 - ネットワークシステム、キャッシュ方法、キャッシュプログラム、管理装置、管理方法及び管理プログラム - Google Patents

ネットワークシステム、キャッシュ方法、キャッシュプログラム、管理装置、管理方法及び管理プログラム Download PDF

Info

Publication number
JPWO2018092679A1
JPWO2018092679A1 JP2018551597A JP2018551597A JPWO2018092679A1 JP WO2018092679 A1 JPWO2018092679 A1 JP WO2018092679A1 JP 2018551597 A JP2018551597 A JP 2018551597A JP 2018551597 A JP2018551597 A JP 2018551597A JP WO2018092679 A1 JPWO2018092679 A1 JP WO2018092679A1
Authority
JP
Japan
Prior art keywords
file
cache
node device
node
group
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
JP2018551597A
Other languages
English (en)
Other versions
JP6712744B2 (ja
Inventor
努 吉永
努 吉永
拓真 中島
拓真 中島
真聡 吉見
真聡 吉見
暢哉 村木
暢哉 村木
敏雄 森元
敏雄 森元
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.)
THE UNIVERSITY OF ELECTRO-COMUNICATINS
TIS Inc
Original Assignee
THE UNIVERSITY OF ELECTRO-COMUNICATINS
TIS Inc
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 THE UNIVERSITY OF ELECTRO-COMUNICATINS, TIS Inc filed Critical THE UNIVERSITY OF ELECTRO-COMUNICATINS
Publication of JPWO2018092679A1 publication Critical patent/JPWO2018092679A1/ja
Application granted granted Critical
Publication of JP6712744B2 publication Critical patent/JP6712744B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (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)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

簡易な構成により、ファイルへのアクセスの集中を避け、且つ全体の通信量を削減できるネットワークシステムを提供する。ネットワークシステムは、送受信されるファイルを一時的に保持するノード装置を複数含む。ノード装置は、当該ノード装置が保持すべきファイルを特定するための複数のグループのいずれかであって、ネットワークトポロジ上、隣接するノード装置とは異なるグループに属し、ファイルは、ゼロ以上のグループを示す情報と関連付けられる。また、ノード装置は、当該ノード装置が属するグループを示す情報と関連付けられたファイルを受信した場合、当該ファイルをキャッシュファイルとして一時的に保持するキャッシュ保持部と、他のノード装置が要求するファイルに対応するキャッシュファイルを保持している場合、当該キャッシュファイルを他のノード装置に対して送信するキャッシュ送信部とを含む。

Description

本発明は、ネットワークシステム、キャッシュ方法、キャッシュプログラム、管理装置、管理方法及び管理プログラムに関する。
従来、ネットワークに接続されたコンピュータ間で伝送されるファイルを中間的にキャッシュするための様々な技術が提案されている。オリジナルファイルの代わりにキャッシュファイルをダウンロードすることで、オリジナルファイルへのアクセスの集中を避けると共に、受信側においてダウンロードを完了するまでの時間を短縮し得る。
例えば、管理サーバにおいて、コンテンツの要求を取得すると、オリジナルノード及びキャッシュオーバレイノードの中から、該コンテンツを保持するノードを探索し、その中でユーザとのホップ数が最も小さいノードを、コンテンツ配信元ノードとして選択する技術が提案されている(特許文献1)。当該技術では、オーバレイノードにおいて、コンテンツ配信元ノードと配信要求ユーザの間の経路を決定し、決定された経路に従ってコンテンツを配信し、コンテンツ配信経路上に、キャッシュオーバレイノードが存在すれば、そこに該コンテンツをキャッシュする。
また、携帯電話の端末間通信等において動画をキャッシュする技術も提案されている。例えば、ジャンルによって動画をグループ化すると共に、好みによってユーザをグループ化し、好みのジャンルに応じてユーザの携帯電話にキャッシュする動画を決定する技術(非特許文献1)、ユーザのSNS(Social Network Service)上の振る舞いや流動性パターンに基づいてキャッシュするコンテンツを決定する技術も提案されている(非特許文献2)。
また、コンテンツをいずれのサーバに保持させるか決定する技術も提案されている(例えば、非特許文献3)。通信コストを最小化するキャッシュの分散配置を決定するために遺伝的アルゴリズムを用いる技術も提案されている(例えば、非特許文献4)。
特開2012−114649号公報
Xiangyang Zhang, Ying Wang, Ruijin Sun, Dong Wang, "Clustered Device-to-Device Caching Based on File Preferences"IEEE PIMRC 2016 Xiaofei Wang, Min Chen, Zhu Han, Dapeng Oliver Wu, Ted "Taekyoung" Kwon, "TOSS: Traffic Offloading by Social Network Service-Based Opportunistic Sharing in Mobile Social Networks" IEEE INFOCOM 2014 Bruce M. Maggs, Ramesh K. Sitaraman, "Algorithmic Nuggets in Content Delivery" ACM SIGCOMM Computer Communication Review Volume 45 pp.52-66 Zhe Li and, Gwendal Simon, "In a Telco-CDN, Pushing Content Makes Sense", IEEE Transactions on Network and Service Management
従来、ネットワークシステムを構成する複数のノードに分散してファイルをキャッシュさせる場合、アクセスの集中を避け、全体の通信量を低減できるファイル配置を決定するためには、一般的に処理に時間がかかるという問題があった。
本発明は、簡易な構成により、ファイルへのアクセスの集中を避け、且つ全体の通信量を削減できるネットワークシステムを提供することを目的とする。
本発明に係るネットワークシステムは、送受信されるファイルを一時的に保持するノード装置を複数含む。ノード装置は、当該ノード装置が保持すべきファイルを特定するための複数のグループのいずれかであって、ネットワークトポロジ上、隣接するノード装置とは異なるグループに属し、ファイルは、ゼロ以上のグループを示す情報と関連付けられる。また、ノード装置は、当該ノード装置が属するグループを示す情報と関連付けられたファイルを受信した場合、当該ファイルをキャッシュファイルとして一時的に保持するキャッシュ保持部と、他のノード装置が要求するファイルに対応するキャッシュファイルを保持している場合、当該キャッシュファイルを他のノード装置に対して送信するキャッシュ送信部とを含む。
隣接するノード装置に異なるグループを割り当て、ファイルにキャッシュすべきグループを関連付けておくことで、ネットワーク上において適切に分散させてファイルをキャッシュすることができる。また、すなわち、簡易な構成により、オリジナルファイルへのアクセスの集中を避け、且つ全体の通信量を削減できる準最適なネットワークシステムを提供することができる。
また、グループが4以上存在するようにしてもよい。例えばリンクが交差しないネットワークトポロジ上のノードをグループに分ける場合、平面上の領域を隣接しない色で塗り分ける問題と同様に考えることができる。したがって、少なくとも4つのグループによれば同一のグループが隣接しないようにノードをグループ分けできる。
また、ファイルに対するアクセスの頻度を算出するアクセス管理装置をさらに含み、アクセス管理装置は、算出した頻度に基づいて、ファイルに関連付けるグループを示す情報を変更するようにしてもよい。このようにすれば、アクセス頻度の傾向の変化に追従して、ファイルをキャッシュすべきノードのグループを変更することができる。なお、アクセス管理装置は、オリジナルのファイルを配信する装置であってもよい。
また、アクセス管理装置は、ファイルに割り当てるグループを示す情報を削除したファイルについて、ノード装置に対し当該ファイルを削除させるための通知を行い、ノード装置は、通知に基づいてキャッシュファイルを削除するキャッシュ削除部をさらに有するようにしてもよい。上述のようにファイルに対するグループの関連付けを変更する場合、ノード装置におけるキャッシュの削除も制御するようにしてもよい。
また、キャッシュ保持部は、キャッシュを許可するファイルを特定するためのホワイトリスト、キャッシュを禁止するファイルを特定するためのブラックリスト、又はファイルが有する当該ファイルに対するキャッシュの許否を示すフラグに基づいて、受信したファイルを保持するか否か判断するようにしてもよい。このようにすれば、キャッシュを禁止するファイルを明示的に定義でき、例えば秘密情報の漏えいを防ぐことができる。
また、ファイルは、所定のハイパーテキストによる文書からリンクされると共に、基準となる文書からの経由するリンク数に基づいて、ファイルに割り当てるグループを示す情報が割り当てられるようにしてもよい。このようにすれば、アクセス頻度のような情報がない場合においても優先してキャッシュすべきファイルを定義することができる。
また、ファイルは秘密分散法により複数の部分ファイルに分割され、各部分ファイルには異なるグループを示す情報が関連付けられるようにしてもよい。このようにすれば、情報の漏えいを防止することができる。
また、本発明に係るキャッシュ方法は、送受信されるファイルを一時的に保持するノード装置を複数含むネットワークシステムによって実行される。また、ノード装置は、当該ノード装置が保持すべきファイルを特定するための複数のグループのいずれかであって、ネットワークトポロジ上、隣接するノード装置とは異なるグループに属し、ファイルは、ゼロ以上のグループを示す情報と関連付けられる。そして、ノード装置が、当該ノード装置が属するグループを示す情報と関連付けられたファイルを受信した場合、当該ファイルをキャッシュファイルとして一時的に保持するステップと、他のノード装置が要求するファイルに対応するキャッシュファイルを保持している場合、当該キャッシュファイルを他のノード装置に対して送信するステップとを実行する。
また、本発明に係る管理装置は、自身が保持すべきファイルを特定するための複数のグループのいずれかであって、ネットワークトポロジ上、隣接するノード装置とは異なるグループが優先して割り当てられると共に、自身が属するグループを示す情報と関連付けられたファイルを受信した場合、当該ファイルをキャッシュファイルとして一時的に保持するノード装置を複数含むネットワークシステムに接続される。そして、管理装置は、ノード装置からファイルに対する取得要求を計数し、頻度を算出する頻度算出部と、頻度算出部が算出した頻度に基づいてファイルに割り当てる、ゼロ以上のグループを決定し、ファイルとグループとの組合せを示す情報をノード装置へ送信する設定変更部とを備える。
このようにすれば、ファイルに対する取得要求の頻度に応じて、ファイルをキャッシュすべきノードのグループを設定することができる。なお、管理装置は、オリジナルのファイルを配信する装置であってもよい。
また、設定変更部は、取得要求を受ける頻度が高いファイルほど多くのグループを割り当てるようにしてもよい。このようにすれば、要求の頻度が高い人気のあるファイルをより多くのノード装置にキャッシュさせられるようになる。
また、本発明に係る管理方法は、自身が保持すべきファイルを特定するための複数のグループのいずれかであって、ネットワークトポロジ上、隣接するノード装置とは異なるグループが優先して割り当てられると共に、自身が属するグループを示す情報と関連付けられたファイルを受信した場合、当該ファイルをキャッシュファイルとして一時的に保持するノード装置を複数含むネットワークシステムに接続される管理装置が実行する。具体的には、ノード装置からファイルに対する取得要求を計数し、頻度を算出するステップと、頻度算出部が算出した頻度に基づいてファイルに割り当てる、ゼロ以上のグループを決定し、ファイルとグループとの組合せを示す情報をノード装置へ送信するステップとが実行される。
なお、課題を解決するための手段に記載の内容は、本発明の課題や技術的思想を逸脱しない範囲で可能な限り組み合わせることができる。また、課題を解決するための手段の内容は、コンピュータ等の装置若しくは複数の装置を含むシステム、コンピュータが実行する方法、又はコンピュータに実行させるプログラムとして提供することができる。なお、プログラムを保持する記録媒体を提供するようにしてもよい。
簡易な構成により、ファイルへのアクセスの集中を避け、且つ全体の通信量を削減できるネットワークシステムを提供することができるようになる。
実施形態に係るネットワークシステムの構成の一例を示す図である。 ファイルに付される、グループを示す情報を説明するための図である。 ノードの構成の一例を示すブロック図である。 配信サーバの構成の一例を示すブロック図である。 ネットワークシステムが行うファイル配信処理の一例を示す処理フロー図である。 フルメッシュ型のネットワークの例を示す図である。 バス型のネットワークの例を示す図である。 企業のネットワークシステムにおける実施例を示す図である。 キャッシュ対象更新処理の一例を示す処理フロー図である。 所定期間におけるファイルへのアクセス数と、当該ファイルに関連付けて割り当てられるグループを示すタグの一例を示す図である。 図1のノード11aが記憶する、近傍のノードが存在する方向を示す情報の一例である。 図1のノード11bが記憶する、近傍のノードが存在する方向を示す情報の一例である。 キャッシュの許否を示すホワイトリストを中継ノードが有する例を説明するための図である。 ファイルに対して当該ファイルをキャッシュすべきグループを示すタグと、当該ファイルにアクセスを認可するユーザを特定するための情報とを関連付けて記憶する例を示す図である。 遺伝的アルゴリズムを利用してキャッシュ配置を決定する手順を説明するための図である。 外部サーバとの通信量を示すグラフである。 ネットワーク上にキャッシュされるファイル及びその数を示すグラフである。 ネットワーク内部における通信量を示すグラフである。
以下、図面を参照して本発明を実施するための形態について説明する。なお、実施形態の構成は例示であり、本発明は実施形態に示す構成に限定されない。
<ネットワーク構成>
図1は、実施形態に係るネットワークシステム(単に「ネットワーク」とも呼ぶ)1の構成の一例を示す図である。実施形態に係るネットワーク1は、例えば電気通信回線を介して相互に通信可能に接続された複数のコンピュータによって形成され、コンピュータが記憶する様々な形式の電子データ(「ファイル」とも呼ぶ)をコンピュータ間において送受信することができる。図1に示すメッシュ型のネットワークは、日本国内に設けられたバックボーンの一例を表すモデルである。
図1に示すハッチングが施された正円の各々は、ネットワーク1に接続されたコンピュータ(「ノード」又は「ノード装置」とも呼ぶ)を示す。なお、一部のノードに、便宜上11a〜11eの符号を付している。また、各ノードは、図1に直線で示す光ファイバケーブル等の伝送路(「リンク」とも呼ぶ)で隣接する1以上のノードと接続されている。なお、あるノードに対して、他のノードを介することなくリンクで直接的に接続されたノードを、隣接するノードと呼ぶものとする。
また、ネットワーク1は、オリジナルのファイルを記憶し、例えばノードからの要求を受けてファイルを配信するコンピュータである配信サーバ2を含む。配信されるファイルは、配信サーバ2から要求元のノードへ、経路上のノードを経由して伝送される。また、本実施形態では、各ノードは、キャッシュサーバとしても機能する。キャッシュサーバは、送受信するファイルをキャッシュファイルとして一時的に記憶(キャッシュ)し、同一のファイルに対する要求に対しキャッシュファイルを送信する。
また、本実施形態では、複数のノードが同一のファイルを分散してキャッシュする。そして、ファイルのダウンロードを要求するノードは、例えば当該ファイルをキャッシュするノードのうち、自ノードからのホップ数が最も小さいノードからファイルを受信する。具体的には、各ノードが保持すべきファイルを特定するためのグループを定義する。各ノードは、予め定められた複数のグループのいずれかに属するものとする。図1の例では、各ノードに施されたハッチングのパターンが、当該ノードの属するグループを表している。一方、各ファイルは、当該ファイルをキャッシュすべきゼロ以上のグループを示す情報を有する。そして、各ノードは、自身が属するグループを示す情報を有するファイルを送受信する際、当該ファイルをキャッシュする。
図1の例では、ノードは4つのグループに分類されている。ここで、四色定理によれば、図1に示すようなリンクが交差しないメッシュ型のネットワークにおいては、少なくとも4色あれば同じ色が隣接しないようにノードを塗り分けられることがわかる。隣接するノードが異なるグループに属するように、ノードをN個のグループに分ける場合、N色による塗り分け問題を解くことでグループを決定することができる。具体的には、次数の高いノードから順に、色間距離が遠い色を付すことにより、同色が隣り合わないように彩色することができる。すなわち、接続されているリンクが多いノードから順に、そのノードの近くに存在する色を順に除外していき残った色を付す。なお、既存のネットワークに新たなノードを接続する場合は、単に隣接するノードとは異なる色を付すようにしてもよいし、ネットワーク全体について塗り直すようにしてもよい。なお、グループの数は4以上が好ましいが、ネットワークによっては4未満でも塗り分けできる場合がある。以下、本実施形態に係るグループを「色」とも呼ぶものとする。
図2は、ファイルに付される、グループを示す情報を説明するための図である。図2のファイル3は、コンピュータによって生成、読み出し、書き込み、記憶等される様々な電子データであり、動画や文書、アプリケーションの実行ファイル等である。また、ファイル3には、ゼロ以上の上述したグループを示す情報が関連付けられている。図2の例では、1つのファイル3に対し、吹出し内に示すようにハッチングのパターンで表した0〜4個のグループの組合せが関連付けられる。具体的には、各ノードにおいて、例えばグループの数だけ桁数を有するビット列によって表されるタグを、ファイルの識別情報に関連付けて保持しておくことにより、各ノードはキャッシュすべきファイルを特定することができる。また、このようなファイルのリストは、各ノードにおいてデータベースのテーブルに記憶させるようにしてもよい。また、このような関連付けは、例えば配信サーバ2等の管理装置が一元的に管理し、例えばキャッシュすべきファイルのリストをネットワーク上のノードにブロードキャストして各ノードの記憶装置に保持するようにしてもよいし、ネットワーク上の所定の管理装置に保持させて各ノードが読み出せるようにしてもよい。なお、4つのグループが存在する場合、4桁のビット列によって2種類のタグを生成することができる。また、頻繁にアクセスされるファイルほど、多くのグループでキャッシュするようにしてもよい。また、すべてのファイルにグループを関連付ける必要はなく、タグが「0000」のファイルは、いずれのグループにもキャッシュされないファイルを示す。
そして、図1に示したノードは、自身が属するグループを示す情報を有するファイルを受信した場合、当該ファイルをキャッシュすると共に、他のノードからの要求に対して自身がキャッシュしている情報を出力する。
<ノードの構成>
図3は、ノードの構成の一例を示すブロック図である。ノード4は、一般的なコンピュータであり、通信I/F41と、記憶装置42と、入出力装置43と、プロセッサ44と、バス45とを備えている。
通信I/F41は、例えばネットワークカードであり、所定のプロトコルに基づき、図1に示したリンクを介して他のコンピュータと通信を行う。例えば、ノード間においてファイル3を送受信する。
記憶装置42は、RAM(Random Access Memory)やROM(Read Only Memory)等の主記憶装置及びHDD(Hard-disk Drive)やSSD(Solid State Drive)、フラッシュメモリ等の補助記憶装置(二次記憶装置)である。主記憶装置は、プロセッサが読み出したプログラムやデータを一時的に記憶したり、プロセッサの作業領域を確保したりする。補助記憶装置は、プロセッサが実行するプログラムや、送受信されるファイルのキャッシュ、当該ノード4が属するグループを示す情報等を記憶する。
入出力装置43は、例えばキーボード、マウス等の入力装置や、モニタ等の出力装置、タッチパネル等である。例えば、ユーザは、入出力装置43を介して配信サーバに対しファイルの送信を要求したり、受信したファイルを読み出して表示させたりする。
プロセッサ44は、CPU(Central Processing Unit)等の演算処理装置であり、アプリケーション(プログラム、ソフトウェア等とも呼ぶ)を実行することにより本実施の形態に係る各処理を行う。図3の例では、プロセッサ44内に機能ブロックを示している。プロセッサ44は、例えば、ファイル要求部441、伝送中継部442、キャッシュ保持部443、キャッシュ送信部444、キャッシュ削除部445、セキュリティ制御部446の各処理部として機能する。ファイル要求部441は、例えばユーザの操作に基づいて、ネットワークを介して接続されたファイル配信サーバに対し、ファイルの送信を要求する。伝送中継部442は、他のノードと配信サーバとの経路上に当該ノード4が位置する場合において、他のノードから配信サーバへのファイル送信要求や、他のノードへ送信するファイルを中継する。キャッシュ保持部443は、ファイルに関連付けられたグループを示す情報に基づいて、受信したファイルを保持するか否か判断し、記憶装置42に一時的に保持させる。キャッシュ送信部444は、他のノードから配信サーバへのファイルの要求に対し、当該ノード4の記憶装置42にキャッシュされている場合、キャッシュされているファイルを他のノード装置に送信する。キャッシュ削除部445は、所定のルールに基づいて、記憶装置42に記憶されたキャッシュを削除する。また、セキュリティ制御部446は、キャッシュの保持に際し、所定の秘匿化を行う。
以上のような構成要素が、バス45を介して接続されている。
<配信サーバの構成>
図4は、配信サーバの構成の一例を示すブロック図である。配信サーバ2も、一般的なコンピュータであり、通信I/F21と、記憶装置22と、入出力装置23と、プロセッサ24と、バス25とを備えている。
通信I/F21は、例えばネットワークカードであり、所定のプロトコルに基づき、図1に示したリンクを介して他のコンピュータと通信を行う。例えば、隣接するノードにとの間でファイル3を送受信する。
記憶装置22は、RAMやROM等の主記憶装置及びHDDやSSD、フラッシュメモリ等の補助記憶装置である。主記憶装置は、プロセッサが読み出したプログラムやデータを一時的に記憶したり、プロセッサの作業領域を確保したりする。補助記憶装置は、プロセッサが実行するプログラムや、配信するオリジナルのファイル等を記憶しているものとする。また、各ファイルに関連づけて、当該ファイルをキャッシュするグループを示す情報を記憶するようにしてもよい。さらに、ファイルに対する送信要求を計数し、所定期間における頻度に基づいて各ファイルをキャッシュするグループの設定を変更するようにしてもよい。
入出力装置23は、例えばキーボード、マウス等の入力装置や、モニタ等の出力装置、タッチパネル等である。
プロセッサ24は、CPU等の演算処理装置であり、アプリケーションを実行することにより本実施の形態に係る各処理を行う。図4の例では、プロセッサ24内に機能ブロックを示している。プロセッサ24は、例えば、ファイル配信部241、頻度算出部242、設定変更部243、セキュリティ制御部244の各処理部として機能する。ファイル配信部241は、送信の要求を受けたファイルを記憶装置22から読み出し、要求元のノードに対して送信する。頻度算出部242は、ファイルごとにアクセス数を計数し、所定期間内のアクセス頻度を算出する。設定変更部243は、アクセス頻度に応じて、各ファイルをキャッシュするグループを示す情報を変更する。設定の変更に伴い、設定変更部243は、ネットワーク上のノードに対し、特定のキャッシュファイルの削除を指示する情報を送信するようにしてもよい。また、セキュリティ制御部244は、送信するファイルに対し、所定の秘匿化を行う。
以上のような構成要素が、バス25を介して接続されている。
<ファイル配信処理>
図5は、ネットワークシステムが行うファイル配信処理の一例を示す処理フロー図である。図5の要求元ノードは、図1に示したいずれかのノードに相当し、図3に示した機能部を備えている。図5の配信サーバは、図1に示した配信サーバ2に相当する。また、図5の中継ノードは、図1おける要求元ノードと配信サーバ2との間の経路上に存在するノードに相当する。すなわち、2以上の中継ノードを経由する場合もあるし、中継ノードを経由しない場合もある。図5では、便宜上、1つの中継ノードを示す。
まず、要求元ノードのファイル要求部441は、配信サーバが保持するファイルの送信を要求する(図5:S1)。一方、中継ノードの伝送中継部442は、要求を受信し(S2)、自ノードの記憶装置42に対応するキャッシュファイルを保持しているか判断する(S3)。キャッシュを保持している場合(S3:Yes)、中継ノードのキャッシュ送信部444は、キャッシュファイルを要求元ノードに送信する(S4)。また、中継ノードがキャッシュを保持していない場合(S3:No)、中継ノードの伝送中継部442は、隣接する中継ノード(図示せず)又は配信サーバに要求を中継する(S5)。なお、中継ノードが複数存在する場合は、同様の処理が繰り返される。そして、配信サーバ2のファイル配信部241は、ファイルに対する送信の要求を受信し(S6)、該当するファイルを記憶装置22から読み出して送信する(S7)。一方、中継ノードの伝送中継部442は、ファイルを要求元のノード対して中継する(S8)。そして、S8の後、又はS4において中継ノードがキャッシュを送信した後、要求元ノードのファイル要求部441はS1において要求したファイルを受信する(S9)。また、S8においてファイルを要求元ノードへ送信する場合、中継ノードのキャッシュ保持部443は、当該ファイルは自ノードにおいてキャッシュすべき対象であるか判断する(S10)。本ステップでは、ファイルに対し、自ノードが属するグループを示す情報が関連付けられているか判断する。ファイルとグループを示す情報との関連付けは、自ノードの記憶装置42又はネットワーク上の所定の装置が保持するデータベースのテーブルやファイルに記憶させておくことができる。そして、中継したファイルがキャッシュすべき対象であると判断された場合(S10:Yes)、中継ノードのキャッシュ保持部443は、当該ファイルを記憶装置42に一時的に保持する。一方、中継したファイルがキャッシュすべき対象でないと判断された場合は、中継ノードはファイルを保持しない。ネットワークシステム1は、要求元ノードからファイルの送信要求に対して、図5に示したようなファイル配信処理を繰り返す。
<効果>
本実施形態によれば、同一のグループに属するノードが隣接しないようにノードをグループ分けするという簡便な方法により、同一のファイルをキャッシュするノードをネットワーク上に分散させ、いずれのノードからもある程度近接した位置に各グループに属するキャッシュサーバが存在するという準最適なキャッシュ配置を実現することができる。また、図2に示したように、1つのファイルには複数のグループを示す情報を関連付けておくようにしてもよい。アクセス頻度の高いファイルほど、多くのグループに属するノードでキャッシュすれば、ネットワーク上におけるキャッシュのヒット率を向上させることができる。
図1では国内のバックボーンを示すメッシュ型のネットワークを例示したが、実施形態に係るネットワークは様々な規模及びトポロジのネットワークに適用することができる。例えば、複数の拠点ごとにネットワークを形成し、いわゆるクラウド上に共通のファイルサーバを設けた、企業等のような組織のネットワークシステムに適用するようにしてもよい。各拠点のイントラネットにおいてファイルをキャッシュすれば、一般的に、ファイルの取得に要する時間を短縮することができるといえる。また、クラウドとの通信量に応じて料金が発生するような場合、キャッシュを利用することにより費用を低減させることができる。
図6、7は、ネットワークのトポロジの他の例を示す図である。本実施形態に係るネットワークのトポロジも特に限定されず、メッシュ型のほか、いわゆるリング型、スター型、ツリー型、ライン型等に適用することができる。ただし、図6に示すように、フルメッシュ型のネットワーク(図6:左図)については、交差する任意のリンクを削除する(図6:右図)ことで、同一のグループに属するノードが隣接しないように4つのグループに分類できるようにしてもよい。また、グループの数を増やすことによって、同一のグループに属するノードが隣接しないようにしてもよい。
また、図7は、バス型のネットワークの例である。バス型のネットワーク(図7:上図)については、例えば新たなグループ(図7:無色)の定義を追加し、スイッチを新たなグループ(図7:下図)に属するノードとして扱うことにより、同一のグループに属するノードが隣接しないようにしてもよい。ここでは、レイヤ2スイッチ、レイヤ3スイッチ、ルータ等を「スイッチ」と呼ぶものとする。図7のスイッチは、ファイル転送を行うが、補助記憶装置の容量はゼロのノードといえる。また、1つスイッチに接続されたコンピュータを、距離がゼロのノードと定義し、距離がゼロである複数のノード内において、グループが分散するように割り当てられるようにしてもよい。
図8は、4つの拠点を有する企業のネットワークシステムにおいて、社員のコンピュータにファイルを分散させてキャッシュする一例を示す図である。東京、名古屋、大阪、博多の各拠点は、インターネット上に構築されたVPN(Virtual Private Network)を介して接続されている。また、クラウドサービスを提供する配信サーバ2に、社内で利用するコンテンツを記憶させ、配信サーバ2から適宜ダウンロードするものとする。図8のネットワークシステムでは、各拠点におけるVPNサーバを送受信されるファイルを一時的にキャッシュするノードとして、隣接するノードが異なるグループに属するように、グループを割り当てるようにしてもよい。また、各拠点においては、互いに距離がゼロのノードが、スイッチを介して複数接続されている。図8の例では、各拠点においてもグループが分散するように各ノードに割り当てられている。拠点のローカルネットワークに接続されたノードは、所望のファイルにアクセスする場合、拠点内のノードにキャッシュされているときは拠点内のノードからダウンロードする。拠点内のノードにキャッシュされていない場合は、他の拠点又は配信サーバ2からダウンロードする。このようにすれば、クラウド上の配信サーバ2との通信量の増大を抑えることができると共に、ファイルのダウンロードに要する時間を低減させることができる。
<キャッシュ対象更新処理>
また、上述したネットワークシステムにおいて、ファイルに対するキャッシュの優先度を決定し、ファイルに関連付けられたグループを示す情報(キャッシュすべきファイルの一覧)を動的に変更するようにしてもよい。キャッシュの優先度は、配信サーバ2又は他の管理装置の頻度算出部242が算出する各ファイルへのアクセス頻度に基づき決定する。
図9は、キャッシュ対象のファイルを変更するキャッシュ対象更新処理の一例を示す処理フロー図である。例えば、ネットワークシステム1は、図5に示したファイル配信処理に加え、図9に示すような処理を行う。
まず、中継ノードは、要求に応じてキャッシュファイルを送信した回数をファイルごとに計数しておき、当該回数を所定のタイミングで配信サーバ2へ送信する(図9:S21)。一方、配信サーバ2は、各中継ノードからファイルの送信回数を受信し、ファイルごとのアクセス数を記憶する(S22)。本ステップでは、アクセス数を集計するためのアクセスログを受信するようにしてもよい。また、図4に示した処理フロー図において、例えば配信サーバはS7においてファイルを送信する場合、さらに当該ファイルへのアクセスログを記憶装置22に書き出す(S23)。
そして、配信サーバ2は、所定のタイミングで所定期間における各ファイルへのアクセス回数(すなわち、アクセスの頻度)を算出し(図示せず)、頻度の高いファイルほどキャッシュの優先度が高いものとしてより多くのグループにキャッシュさせる。すなわち、ファイルに対しより多くのグループを示す情報を関連付けるようにする。具体的には、まず、頻度算出部242は、キャッシュ対象を更新するタイミングであるか判断する(S24)。例えば、予め定められた動作時刻が到来した場合や、前回の処理から所定期間が経過した場合等の条件を満たした場合に、キャッシュ対象を更新するタイミグであると判断するものとする。キャッシュ対象を更新するタイミングでないと判断された場合、配信サーバ2は特に処理を行わない。一方、キャッシュ対象を更新するタイミングであると判断された場合(S24:Yes)、頻度算出部242は、ファイルごとのアクセス頻度を算出し、キャッシュ対象を決定する(S25)。
図10は、所定期間におけるファイルへのアクセス数と、当該ファイルに関連付けて割り当てられるグループを示すタグの一例を示す図である。配信サーバ2は、当該配信サーバ2が要求に応じて送信したファイルについてのアクセスログと、中継ノードがキャッシュを送信した旨のアクセスログを所定期間分集計し、図10に示すようなファイルごとの統計データを生成する。図10に示す表は、「アクセス数」、「順位」、「人気」、「ファイル名」、及び「タグ」の項目を有する。「アクセス数」のフィールドには、所定期間におけるファイルへのアクセス数であり、頻度を表す値が記録されている。図9のS25においては、所定期間におけるアクセス数が算出される。「順位」のフィールドには、頻度の高さを基準に並べたファイルの順序を表す数値が記録されている。「人気」のフィールドには、頻度の高さ又は順位を基準に分類したカテゴリを示す情報が記録されている。「ファイル名」のフィールドには、各ファイルの識別情報の一例である名称が記録されている。「タグ」のフィールドには、当該ファイルをキャッシュするグループを示す情報が上述したタグの形式で記録されている。
また、設定変更部243は、アクセス頻度に応じて、各ファイルをキャッシュするグループを決定する(図9:S25)。本ステップでは、各ファイルに対しキャッシュするグループを割り当てる。まず、所定期間のアクセス数に基づいて、図10に示す人気の程度を決定する。例えばノードを4つのグループに分ける場合、人気の程度を5段階に分類する。すなわち、人気「高」のファイルを4つのグループすべてにおいてキャッシュさせ、人気「中高」のファイルを3つのグループにおいてキャッシュさせ、人気「中」のファイルを2つのグループにおいてキャッシュさせ、人気「中低」のファイルを1つのグループにおいてキャッシュさせ、人気「低」のファイルはいずれのグループにおいてもキャッシュさせないものとする。このように、人気のカテゴリに応じて当該ファイルをキャッシュするノードのグループ数が決定され、その後、同数のグループが割り当てられたファイルに対し循環的にグループの組合せを割り当てる。例えば、図10の順位11以降のレコードの「タグ」のフィールドには、3つのグループの組み合わせを循環的に割り当てることにより決定されたタグが記録されている。S25においては、直近の所定期間における各ファイルへのアクセス頻度に基づいて、ファイルに関連付けられるタグが更新される。
そして、設定変更部243は、各ファイルをキャッシュの対象とするグループを示すリストを、各ノードへ配信する(図9:S26)。本ステップでは、例えば図10の「ファイル名」及び「タグ」の列に示す情報が、各ノードへブロードキャストされる。中継ノードは、リストを受信すると、当該リストを記憶装置42に保持させると共に以降は当該リストに基づいて自ノードがキャッシュする対象のファイルを決定する(S27)。
なお、本実施形態においては、各ノードは、各グループが割り当てられた近傍のノードが存在する方向を予め記憶しておくようにしてもよい。図11Aは、図1のノード11aが記憶する、近傍のノードが存在する方向を示す情報の一例である。図11Bは、図1のノード11bが記憶する、近傍のノードが存在する方向を示す情報の一例である。図11A及び図11Bの表は、「グループ」の列と「宛先ノード」の列とを含む。「グループ」のフィールドには、ノード及びファイルに割り当てられるグループを示す識別情報が登録される。ここでは、図1における横線のハッチングをグループA、右上から左下へ向かう太い実線のハッチングをグループB、縦の破線のハッチングをグループC、左上から右下に向かう細い実線のハッチングをグループDと呼ぶものとする。また、「宛先ノード」のフィールドには、各グループに属するノードのうち最小のホップ数で到達できるものへアクセスするための、要求の宛先となるノードを示す識別情報が登録される。具体的には、ネットワークシステムの構成や採用するプロトコルに応じて、機器のMACアドレス、IPアドレス、ポート番号等の識別情報が登録される。図1のノード11aから最も近い、グループAに属するノードは、ノード11dであり、ノード11bを介してアクセスすることができる。したがって、図11Aにおいては、グループAに対応づけてノード11bが登録されている。また、図1においてノード11aから最も近い、グループBに属するノードは、ノード11cであり、図11AにおいてはグループBに対応付けてノード11cが登録されている。図1においてノード11aから最も近い、グループCに属するノードは、ノード11bであり、図11AにおいてはグループCに対応付けてノード11bが登録されている。また、自ノードが属するグループDについては、宛先ノードのフィールドには他のノードは登録されない。
ノード11aは、図9のS27において受信するリストに基づいて、あるファイルがいずれかのグループに属するノードによってキャッシュされることを知ることができる。そして、図11Aに示す情報に基づいて、所望のファイルが属するグループが割り当てられた最も近いノードにファイルを要求することができる。同様に、ノード11bは、図11Bに示すような情報を保持している。例えば、ノード11aから、グループAに属するファイルを取得するための要求を受けた場合、ノード11bは、図11Bに示す情報のうちグループのフィールドに「A」が登録されたレコードを参照し、グループAに属する最も近いノードは、ノード11dであることがわかる。また、ノード11bを基準とする場合のグループBに属する最も近いノードは、いずれもホップ数が2のノード11c及びノード11eであり、図11Bに示す情報には宛先ノードとしてノード11a及びノード11dの2つが登録されている。このようなとき、複数の宛先のノードのうち1つを主系として登録して通常利用し、他方をネットワーク切断等の障害発生時に利用するようにしてもよい。また、複数の宛先ノードを順に利用するラウンドロビン方式を採用し、ノード及び通信回線にかかる負荷を分散させるようにしてもよい。
各ノードに割り当てられたグループは、ノード間に新たなノードが追加されたり、ノード間の既存のノードが削除されたりしない限り、基本的には変更されない。したがって、図12A及び図12Bに示す情報も基本的には変更する必要がない。
<効果>
キャッシュ対象更新処理によれば、配信サーバから新たに配信されるファイルについてもその後のアクセス数に応じてキャッシュさせることができると共に、既存のファイルに対するアクセス頻度の傾向が変化した場合にも、傾向の変化に追従してネットワークにおけるキャッシュのヒット率を維持及び向上させられるよう設定を変更できる。なお、アクセス頻度の算出やキャッシュすべきファイルのリストの更新は、配信サーバ2とは異なるネットワーク上の管理装置が行うようにしてもよい。また、各中継ノードが記憶するファイルへのアクセスログは、ネットワーク上の所定の装置に保持させ、配信サーバ2又は上記管理装置が各中継ノードにおけるアクセスログを読み出せるようにしてもよい。
<変形例1>
上述したネットワークシステムにおいて、ファイルに対するキャッシュの許否を示す情報をさらに設定するようにしてもよい。キャッシュの許否を示す情報は、例えば各ファイルがメタデータとして保持するようにしてもよい。また、ブラックリスト又はホワイトリストにより、各ノードがキャッシュの許否を示す情報を保持するようにしてもよい。ブラックリスト又はホワイトリストは、例えばURL(Uniform Resource Locator)フィルタによって記述するようにしてもよいし、ファイル名又はファイルの格納場所を示す階層構造等を識別情報とするリストによって記述するようにしてもよい。
このような場合、図4に示した処理フロー図において、例えば中継ノードはS10において中継したファイルがキャッシュを許可されているか否かさらに判断し、キャッシュを許可されていない場合にはキャッシュを保持しないようにする。
図12は、キャッシュの許否を示すホワイトリストを中継ノードが有する例を説明するための図である。図12では、配信サーバ2は「A.pdf」〜「D.pdf」等のファイルを保持している。また、中継ノードは、正規表現で「A.pdf」〜「C.pdf」等のキャッシュを許可する旨のホワイトリストを有している。このような場合において、中継ノードに接続された端末1からの要求を受けて配信サーバ2から端末1へ「A.pdf」が送信され、端末2からの要求を受けて配信サーバ2から端末2へ「D.pdf」が送信されたものとする。このような場合において、仮に「A.pdf」及び「D.pdf」のいずれも中継ノードが属するグループを示す情報が関連付けられていたとしても、中継ノードはホワイトリストにおいてキャッシュが許可されている「A.pdf」はキャッシュし、ホワイトリストにおいてキャッシュが許可されていない「D.pdf」はキャッシュしない。
変形例1によれば、明示的にキャッシュを禁止することができるため、例えばファイルが社員の給与明細のように秘密性のあるものである場合に情報の漏えいを防止することができる。また、ブラックリスト又はホワイトリストをノードに保持させることにより、図10に示したファイルの人気の程度からは独立して、キャッシュの許否を設定することができる。すなわち、例えば配信サーバ2は、仮にあるファイルに対してキャッシュの許否を示す設定が変更された場合であっても、アクセス頻度に基づくファイルの順位を再度求めたり、ファイルのタグを「0000」(いずれのグループに属するノードにもキャッシュさせない設定)に変更したりする必要がない。また、ブラックリスト又はホワイトリストをノードに保持させることにより、ノードごとに異なる設定をすることもできる。例えば、ある社外秘のファイルについて、社内のローカルネットワーク又はプライベートクラウドを形成するノードに対してはキャッシュを許可し、社外のパブリッククラウドを形成するノードに対してはキャッシュを拒否するという設定にしてもよい。
<変形例2>
ファイルについて、アクセスされ易いファイルを予測しておき、キャッシュすべきか否か決定するようにしてもよい。例えば、ファイルがハイパーテキスト形式の文書からリンクされている場合、ウェブサイトのトップページのように基準となる文書からアクセスするまでに経由するリンクの数が少ないほどアクセスされ易いと予測するようにしてもよい。すなわち、トップページから少ないクリックで到達するファイルはアクセスされる可能性が高いと判断してキャッシュするものとする。具体的には、ウェブクローラによりウェブサイトを巡回させて各ファイルに到達するまでに経由するリンクを計数し、経由するリンク数が所定の閾値よりも少ないファイルの一覧を作成する。このようにすれば、アクセスされ易いと予測されるファイルを自動的に抽出し、ファイルをキャッシュさせるための設定を生成することができる。
ファイルをキャッシュさせるための設定は、例えば配信サーバからブロードキャストされ、各ノードが記憶する。この場合、ファイルも配信して予めキャッシュさせるようにしてもよいし、各ノードにおいて該当するファイルの送受信が初めて発生したときにキャッシュさせるようにしてもよい。
変形例2によれば、ファイルごとにアクセス頻度の算出を行うことなく、所定の基準に基づいてキャッシュすべきか否か判断することができる。また、例えば配信サーバから新たに配信される、アクセス頻度が未知のファイルについても、所定の基準に基づいてキャッシュすべきか否か判断できるようになる。
<変形例3>
また、配信サーバが保持するファイルは、任意のタイミングで更新されることもあり得る。本変形例では、中継ノードはキャッシュしたファイルについて再取得が必要であるか否か、確認又は通知するものとする。
例えば、中継ノードは要求元ノードから要求を受けたファイルをキャッシュしている場合であっても、配信サーバにおける更新の有無を毎回確認するようにしてもよい。具体的には、図4に示した処理フロー図のS3においてキャッシュを保持していると判断した場合(S3:Yes)、さらに配信サーバが保持するファイルが更新されていないか判断する(図示せず)。ファイルの更新の有無は、例えば、キャッシュしているファイルとファイル名等の識別情報が同一である配信サーバ上のファイルについて、タイムスタンプが更新されているか否かを基準として判断するようにしてもよいし、所定のアルゴリズムによりファイルから算出されるチェックサムに基づいて判断するようにしてもよい。また、配信サーバにおいてファイルが更新されていない場合は、図4のS4に遷移し、キャッシュファイルを要求元ノードへ送信する。一方、配信サーバにおいてファイルが更新されている場合は、図4のS5に遷移し、配信サーバからファイルを取得する。このようにすれば、配信サーバにおいてファイルが更新された場合であっても、速やかに最新のファイルを要求元ノードに送信することができる。
また、中継ノードはキャッシュファイルについて所定の有効期限を定めておき、有効期限を超過した場合に更新の有無を配信サーバへ確認するようにしてもよい。例えば、図4に示した処理フロー図のS11においてキャッシュを保持する際には当該時点の日時又は当該時点から所定期間後の有効期限を示す日時を関連づけて記憶装置42に保持しておく。その後、S3においてキャッシュを保持していると判断した場合(S3:Yes)、さらにキャッシュした時点から所定期間を超過しているか判断し、超過している場合には配信サーバが保持するファイルが更新されていないか判断する(図示せず)。その後の処理は、上述の毎回確認する場合と同様とする。このようにすれば、ファイルの更新を確認するために発生する通信の増大を抑制しつつ、妥当なタイミングで更新の有無を確認できる。
また、配信サーバは、オリジナルのファイルについて追加、更新(変更)、削除等された場合に、キャッシュし直すべきファイルを示すリストの差分を生成し、各ノードへブロードキャストするようにしてもよい(図示せず)。このようにして更新等の通知を受けた場合、中継ノードは、図4のS3においてキャッシュの有無に関わらずS5へ遷移し、配信サーバから更新後のファイルを取得する。このようにすれば、ファイルの更新を確認するために発生する通信の増大を抑制しつつ、配信サーバにおいてファイルが更新された場合であっても、速やかに最新のファイルを要求元ノードに送信することができる。
<変形例4>
また、中継ノードにおいて、適切なタイミングでキャッシュを削除するようにしてもよい。例えば、上記変形例2においてファイルへのアクセス頻度に基づいてキャッシュすべきファイルの一覧を更新すると共に、一覧から外れたファイルについてキャッシュを削除すべき旨の命令を各ノードへブロードキャストする。一方、中継ノードのキャッシュ削除部445は、命令に従い、キャッシュしているファイルを記憶装置42から削除する。
また、削除するキャッシュファイルは、各中継ノードが決定するようにしてもよい。例えば、LFU(Least Frequently Used)方式を採用し、キャッシュ削除部445は、アクセス頻度の低いキャッシュファイルを優先的に削除するようにしてもよい。
変形例4によれば、ファイルのキャッシュに要する中継ノードの記憶領域を、適宜解放することができる。
<変形例5>
また、中継ノード又は配信サーバ2は、キャッシュファイルに対し秘匿化又は暗号化を行うセキュリティ制御部を備えるようにしてもよい。セキュリティ制御部446は、例えば、ファイルに対してアクセスを許可するユーザを示す情報を関連付けて記憶させておき、要求元ノードがファイルの送信を要求する際にユーザの認証を行うようにしてもよい。
図13は、ファイルに対して当該ファイルをキャッシュすべきグループを示すタグと、当該ファイルにアクセスを認可するユーザを特定するための情報(ACL(Access Control List))とを関連付けて記憶する例を示す図である。図13の例では、ACLのフィールドにユーザが属する部署を示す情報が登録されている。そして、要求元ノードは、図4のS1において、ユーザの認証情報を含むリクエストを中継ノードに送信する。一方、中継ノードは、図4のS3においてキャッシュファイルを保持していると判断した場合(S3:Yes)、さらに認証情報が示すユーザの所属部署に基づいて要求されたファイルの送信の許否を判断する。そして、ユーザに対してアクセスが認可されている場合は、S4に遷移してキャッシュファイルを要求元ノードへ送信する。
また、ファイルの送受信に係る通信について、例えばSSL(Secure Socket Layer)/TLS(Transport Layer Security)を用いて暗号化するようにしてもよい。このようにすれば、通信データの傍受やなりすましによる情報の漏えいを防止することができる。
また、配信サーバ2のセキュリティ制御部244は、秘密分散法を利用してファイルを分割し、分割後のファイルをそれぞれ異なるグループに属するノードによってキャッシュさせるようにしてもよい。例えば、ファイルは、ノードが属するグループの数に分割され、図10に示したようなリストにおいて、分割後のファイルの各々について異なるタグが関連付けられる。このような方法によっても、情報の漏えいを防止することができる。
また、中継ノードのセキュリティ制御部446は、ファイルを暗号化してキャッシュすると共に、キャッシュファイルのハッシュ値を算出し、キャッシュファイルと関連付けて記憶装置42に記憶させておくようにしてもよい。また、セキュリティ制御部446は、保持しているキャッシュデータから算出されるハッシュ値と、記憶装置42が保持しているハッシュ値とを比較し、異なる場合にはキャッシュファイルの改ざんを検知したものと判断してキャッシュファイルを削除するようにしてもよい。このようにすれば、保持するキャッシュファイルの完全性が担保される。また、暗号化することにより、正当な権限のあるユーザのみが当該ファイルを読み出せるようになる。したがって、キャッシュファイルの機密性を担保できる。
<変形例6>
上述した実施形態及び変形例に係るネットワークシステムは、動画等のデジタルコンテンツを配信するためのコンテンツ配信ネットワーク(CDN:Contents Delivery Network)に適用することもできる。すなわち、上述したファイルは、動画データや音声データ、VR(Virtual Reality)コンテンツ、3Dコンテンツ、ゲームに用いられるデータ、その他のデジタルコンテンツであり、ノード4は、CDNを形成するキャッシュサーバ等であってもよい。
上述したネットワークトポロジ上の隣接するノードとは、ノード間に配線以外の装置を含まないことを意図したものではなく、CDNのような所定のネットワークを構成する複数のノードのうちの隣接するノードを指す。また、ノード2は、いわゆるキャッシュサーバとして働き、ユーザの端末が要求するコンテンツファイルを送信する。CDNは、インターネット上に公開されたものに限らず、ローカルネットワーク上に形成するようにしてもよい。このとき、ネットワークにおいて利用されるプロトコルは特に限定されない。また、ノード4若しくは配信サーバ2、又は上述したネットワークシステムは、ゲートウェイ等のプロトコル変換装置を介してネットワークに接続されていてもよい。
例えばHTTPSを利用する場合には、キャッシュファイルを以下のようなURI(Uniform Resource Identifier)で表すようにしてもよい。
<プロトコル>://<キャッシュサーバのURL>:<キャッシュサーバのポート番号>/<エンコードされたアクセス先のURL>
ここで、あるCDNのコンテンツサーバからHTTPSで配信されるファイルのURLが以下の通りであったとする。
https://cdn.example.com/video.mp4
これをURLエンコーディング(パーセントエンコーディング)すると、以下のような文字列が生成される。
https%3A%2F%2Fcdn.example.com%2Fvideo.mp4
なお、キャッシュサーバのホスト名とIPアドレスとは一対一に対応付けられていてもよいし、キャッシュサーバは複数存在するため、一対多に対応付けられていてもよい。一対一に対応付けられている場合は、例えば要求元のユーザ端末が、CDNを構成するキャッシュサーバのうち、近くのキャッシュサーバ(例えば、ホップ数が最も少ないキャッシュサーバ)のURLを指定し、アクセスする。また、一対多に対応付けられている場合は、ユーザ端末は、キャッシュサーバのURLについてDNS(Domain Name System)サーバに名前解決を要求する。例えば、アクセス先のアドレスが以下の通りであったとする。
https://cache.example.net
これに上述した文字列を設定すると、以下のようなリクエストURLが生成される。
https://cache.example.net/https%3A%2F%2Fcdn.example.com%2Fvideo.mp4
ここで、キャッシュサーバのホスト名とIPアドレスとが一対一に対応付けられている場合は、DNSサーバは、キャッシュサーバに対応付けられたIPアドレスを返答する。また、一対多に対応付けられている場合は、DNSサーバは、例えばユーザ端末のIPアドレスに基づいて接続元の地域を特定し、当該地域に近いキャッシュサーバのIPアドレスを返答する。その後、ユーザ端末は、DNSサーバが返答したIPアドレスに対して接続を試みる。すなわち、ユーザ端末が備えるインターネットブラウザ等のクライアント側アプリケーションは、cache.example.netにHTTPSで接続し、ブラウザとキャッシュサーバとの間において暗号化通信を行う。このとき、サーバ証明書は、cache.example.netのものが利用される。なお、複数のキャッシュサーバはcache.example.netの証明書を有している。
一方、キャッシュサーバは、リクエストURLをデコードし、もとのURL(すなわち、https://cdn.example.com/video.mp4)を生成する。キャッシュサーバは、自身がキャッシュファイルを保持していない場合には、ファイルに割り当てられたグループと自身及び近隣のキャッシュサーバに割り当てられたグループとに基づいて、他の装置からファイルを取得する。コンテンツサーバからファイルを取得する場合には、デコードしたURLに基づいてcdn.example.comとHTTPSセッションを張り、video.mp4の送信を要求する。このとき、サーバ証明書は、cdn.example.comのものが利用される。また、キャッシュサーバは、他の装置から要求したファイルを受信した場合は、ユーザ端末の要求元アプリケーションへ転送する。以上のような処理によれば、キャッシュサーバを介する場合においても、証明書の不一致を回避し、HTTPSで配信されるファイルをユーザ端末へ送信することができる。なお、キャッシュサーバのホスト名とIPアドレスとの対応関係や、キャッシュサーバに対するコンテンツサーバへのリクエストURLの命名規則等は一例であり、上述した例には限定されない。
<変形例7>
また、ノード4にグループを割り当てる処理は、上述した実施形態に示したものには限られない。例えば、次数の高いノードから順に、グループ間の距離が遠くなるようにグループを選択すると共に、グループ間の距離が同じになるグループが複数存在する場合には、ネットワーク中に存在するノードが少ないグループを割り当てるようにしてもよい。このようにすれば、あるノード4に対し、隣接するノード4とは異なるグループを優先して割り当てることができると共に、ネットワーク全体において各グループができるだけ均等に含まれるようバランスさせることができる。
また、1つのノード4に複数のグループを割り当てるようにしてもよい。特に、複数のノード4においてストレージの容量(すなわち、キャッシュ容量)が異なるような場合には、容量の大きなノード4に複数のグループを割り当てることでリソースを効率よく利用する子ができる。この場合も、あるノード4に対し、隣接するノード4とは異なるグループを優先して割り当てる。
<変形例8>
図9のS21及びS22に示すアクセス数の集計処理は、ネットワーク上において予め定められた経路に従い、配信サーバ2又は図示していない管理装置が、各ノード4からアクセス数を受信するようにしてもよい。例えば、配信サーバ2又は図示していない管理装置を根とする木構造のネットワークを定義しておく。例えば、図1のネットワーク1において、配信サーバ2をルートとし、すべてのノード4を含む、既存のリンクで接続された木構造のネットワークを別途定義しておく。そして、葉から根に向かって所定のタイミングでファイルごとのアクセス数を送信する。この場合、分岐の合流点となるノードにおいてはファイルごとのアクセス数を集約するようにしてもよい。このようにすれば、集計にかかる通信量や配信サーバ2又は他の管理装置において集計にかかる負荷を低減させることができる。
上記の実施形態及び変形例1〜8に記載した事項は、適宜組み合わせて実施することができる。
<比較例>
図14は、遺伝的アルゴリズムを利用してキャッシュ配置を決定する手順を説明するための図である。上述したようなネットワークにおいて分散してキャッシュを保持する場合、キャッシュの配置を決定する手法として例えば遺伝的アルゴリズムを利用することができる。具体的には、以下の手順を繰り返し、最適なキャッシュ配置を探索する。
(1)初期値の決定
まず、各サーバにおいてキャッシュするファイルをランダムに決定した配置を、一定数生成する。本ステップでは、例えばランダムに300通りのキャッシュ配置を生成する。図14の例では、模式的に配信サーバと接続された3つの中継ノードと、各中継ノードに1つずつ接続された要求元ノードを示している。初期値の決定においては、キャッシュ配置1、2、3・・・に示すように、ランダムにキャッシュするファイルを決定する。なお、図14のキャッシュ配置1、2、3・・・に示す正方形内の数字は、キャッシュするファイルの識別情報を示している。また、3つの中継ノードは、5つずつファイルをキャッシュする例を示している。
(2)通信量の算出
次に、各キャッシュ配置に対して、通信量を算出する。通信量は、トポロジ、キャッシュ配置、アクセス頻度から求められる。要求元ノードiが最も近いファイルkを保持するノードjからファイルを取得するときの通信量tikは、以下の式(1)によって求めることができる。
Figure 2018092679
また、発生する総通信量Tは、以下の式(2)によって求めることができる。
Figure 2018092679
なお、sはファイルkのサイズ、rjkはノードjがファイルkを保持しているとき1、それ以外のとき0、d(i,j)はノードiからノードjまでのホップ数、pはファイルkを要求する頻度である。図14において、例えばキャッシュ配置1、2、3・・・の右に示す通り、キャッシュ配置1、2について算出された通信量が100、90であったものとする。
(3)選択
そして、通信量に基づいて所定数のキャッシュ配置を選択する。具体的には、通信量の逆数に比例した確率に基づき、キャッシュ配置を選択する。すなわち、通信量の小さいものほど選択されやすいルールによってキャッシュ配置が抽出される。図11の例では、キャッシュ配置1、2が選択される確率の大きさは、相対的に1/100と、1/90の関係になる。図14の例においては、キャッシュ配置1及び2が選択されたものとする。
(4)交叉
次に、選択されたキャッシュ配置から新たなキャッシュ配置を生成する。具体的には、まず図14の交叉1に示すように、キャッシュ配置1とキャッシュ配置2とにおいて、中継ノードごとに共通しているキャッシュファイルを抽出する。そして、交叉2に示すように、もとのキャッシュ配置1及び2に共通していないファイルからランダムにファイルを選択する。
(5)突然変異
その後、生成されたキャッシュ配置の一部をランダムに変化させる。本ステップでは、すべてのキャッシュファイルを対象として、例えば0.1%のように所定の確率でランダムにファイルを変更する。
(6)選択
さらに、手順(3)〜(5)を繰り返して生成された複数のキャッシュ配置の中から、通信量の小さいものを所定数選択する。本ステップでは、例えば300種類のキャッシュ配置を選択する。
その後、手順(2)に戻り、処理を繰り返す。以上のようにして、通信量がより小さいキャッシュ配置へ収束させ、準最適なキャッシュ配置を求めることができる。
図15は、本発明に係るネットワーク、比較例に係るネットワーク、協調なしのLFUによってキャッシュを行うネットワークについて、外部サーバとの通信量を比較したグラフである。グラフの縦軸は、キャッシュを行わない場合を1とした外部サーバとの相対的な通信量を表している。ネットワークトポロジは、図1に示したメッシュ型のネットワークを採用した。また、外部サーバとは、図1の配信サーバ2をいうものとする。また、通信量の計算において、各ノードはそれぞれファイル全体の10%を保持可能とした。
図16は、ネットワーク上にキャッシュされるファイル及びその数を示すグラフである。図16の横軸は、アクセス頻度の降順にソートしたファイルの通し番号を表し、縦軸は、各ファイルをキャッシュするノード数を表している。本発明に係るネットワークにおいて、ファイルに付すタグの設定は、上述した比較例において求められるキャッシュ配置においてノード上にキャッシュされるファイルの種類及び同一のファイルをキャッシュするノードの数に従って決定してもよい。図16の実線は、遺伝的アルゴリズム(GA:Genetic Algorithm)によって求められた準最適なキャッシュ配置におけるファイルと当該ファイルがネットワーク上にキャッシュされる数との関係を表している。また、丸の点線は、本発明に係る4種のグループに分類したノードで形成されるネットワークにおいて、GAのファイル数に従って決定されたキャッシュするファイル数の設定の一例を表している。太く短い破線は、本発明に係る8種のグループに分類したノードによってキャッシュするファイルを、GAで求めたファイル数に基づいて決定する例を表している。細く長い破線は、本発明に係る16種のグループに分類したノードによってキャッシュするファイルを、GAで求めたファイル数に従って決定する例を表している。本実施形態では、上述したタグによって表される、各ファイルに割り当てるグループを変更することにより、当該ファイルをキャッシュするネットワーク上のノード数を調整することができる。また、グループの種類の数を増やすことで準最適な配置に対する近似の精度を向上させることができる。このように、図10に示した、人気の程度を示す各カテゴリに対応付けられるファイルの数は、予め所定のアルゴリズムを利用して求められた、ほぼ同一のネットワークにおける準最適なキャッシュ配置を近似した値となるように、上記ファイルに割り当てるグループ及びネットワーク上のノードに割り当てるグループの少なくともいずれかを決定するようにしてもよい。
図15のグラフの横軸に示す協調なしLFUは、各ノードが独立してアクセス頻度の低いキャッシュファイルを削除する場合の通信量の一例を示す。4色、8色、16色は、それぞれノードを4つのグループ、8つのグループ、16のグループに分類して本発明に係るキャッシュ配置を行った場合の通信量を示す。GAは、比較例に係る遺伝的アルゴリズムによりキャッシュ配置を決定した場合の通信量を示す。図15に示すように、本発明に係るキャッシュ配置によれば、グループ数の増加に伴い実効キャッシュ容量が増加し、16色の例ではファイル配信サーバとの通信量は、協調なしLFUに対し95.3%の通信量を削減できている。これに対し、GAの方が通信量は低いものの、16色の例ではGAによる準最適なキャッシュ配置とほぼ同等の通信量といえる。
図17は、ネットワーク内部における通信量を、本発明に係るネットワーク、比較例に係るネットワーク、協調なしのLFUによってキャッシュを行うネットワークについて示すグラフである。縦軸は、キャッシュを行わない場合を1としたネットワーク内の通信量を表している。横軸は、図15の例と同様である。例えば16色のネットワークにおいては、協調なしLFUに対して51%の通信量が削減されている。また、本発明に係るネットワークとGAによる準最適なキャッシュ配置とはほぼ同等の通信量といえる。
GAによるキャッシュ配置の決定には、一般的なコンピュータで10時間以上の計算が必要であるのに対し、本発明に係るキャッシュ配置は数秒程度で計算が完了する。すなわち、本発明によれば、ファイルのアクセス頻度に従ってファイルに対し循環的にタグを付すことによりファイルのキャッシュ配置を決定することができる。また、ノードに対するグループ分けの設定も、本発明によればN色による塗り分け問題として決定することができる。ノードに対するグループ分けの設定は、キャッシュサーバで構成されるネットワークにおいては構成の変更が少なく再計算を行う必要はほとんどない。また、PC(Personal Computer)によって構成されるネットワークにおいて個々のPCをキャッシュサーバとして機能させる場合は、新たにネットワークに接続されるPCに対し近傍に存在しないグループを割り当てることによりグループを決定できる。このように、本発明によれば、準最適な配置に比して遜色ないキャッシュ配置を、簡便に決定できる。
<その他>
本発明は上述の処理を実行するコンピュータプログラムを含む。さらに、当該プログラムを記録した、コンピュータ読み取り可能な記録媒体も、本発明の範疇に属する。当該プログラムが記録された記録媒体については、コンピュータに、この記録媒体のプログラムを読み込ませて実行させることにより、上述の処理が可能となる。
ここで、コンピュータ読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータから読み取ることができる記録媒体をいう。このような記録媒体のうちコンピュータから取り外し可能なものとしては、フレキシブルディスク、光磁気ディスク、光ディスク、磁気テープ、メモリカード等がある。また、コンピュータに固定された記録媒体としては、ハードディスクドライブやROM等がある。
1 ネットワークシステム
2 配信サーバ
241 :ファイル配信部
242 :頻度算出部
243 :設定変更部
244 :セキュリティ制御部
3 ファイル
4 ノード
441 :ファイル要求部
442 :伝送中継部
443 :キャッシュ保持部
444 :キャッシュ送信部
445 :キャッシュ削除部
446 :セキュリティ制御部

Claims (14)

  1. 送受信されるファイルを一時的に保持するノード装置を複数含むネットワークシステムであって、
    前記ノード装置には、当該ノード装置が保持すべきファイルを特定するための複数のグループのいずれかであって、ネットワークトポロジ上、隣接する前記ノード装置とは異なる前記グループが優先して割り当てられ、
    前記ファイルは、ゼロ以上の前記グループを示す情報と関連付けられ、
    前記ノード装置は、
    当該ノード装置が属する前記グループを示す情報と関連付けられた前記ファイルを受信した場合、当該ファイルをキャッシュファイルとして一時的に保持するキャッシュ保持部と、
    他のノード装置が要求する前記ファイルに対応する前記キャッシュファイルを保持している場合、当該キャッシュファイルを前記他のノード装置に対して送信するキャッシュ送信部と、
    を含む
    ネットワークシステム。
  2. 前記グループが4以上存在する
    請求項1に記載のネットワークシステム。
  3. 前記ファイルに対するアクセスの頻度を算出するアクセス管理装置をさらに含み、
    前記アクセス管理装置は、算出した前記頻度に基づいて、前記ファイルに関連付ける前記グループを示す情報を変更する
    請求項1又は2に記載のネットワークシステム。
  4. 前記アクセス管理装置は、前記ファイルに割り当てる前記グループを示す情報を削除したファイルについて、前記ノード装置に対し当該ファイルを削除させるための通知を行い、
    前記ノード装置は、前記通知に基づいて前記キャッシュファイルを削除するキャッシュ削除部をさらに有する
    請求項3に記載のネットワークシステム。
  5. 前記キャッシュ保持部は、キャッシュを許可するファイルを特定するためのホワイトリスト、キャッシュを禁止するファイルを特定するためのブラックリスト、又は前記ファイルが有する当該ファイルに対するキャッシュの許否を示すフラグに基づいて、受信した前記ファイルを保持するか否か判断する
    請求項1から4のいずれか一項に記載のネットワークシステム。
  6. 前記ファイルは、所定のハイパーテキストによる文書からリンクされると共に、基準となる文書からの経由するリンク数に基づいて、前記ファイルに割り当てる前記グループを示す情報が割り当てられる
    請求項1から5のいずれか一項に記載のネットワークシステム。
  7. 前記ファイルは秘密分散法により複数の部分ファイルに分割され、各部分ファイルには異なる前記グループを示す情報が関連付けられる
    請求項1から6のいずれか一項に記載のネットワークシステム。
  8. 前記ファイルはデジタルコンテンツであり、
    前記ノード装置は、コンテンツ配信ネットワークを形成するキャッシュサーバである
    請求項1から7のいずれか一項に記載のネットワークシステム。
  9. 送受信されるファイルを一時的に保持するノード装置を複数含むネットワークシステムによって実行されるファイルのキャッシュ方法であって、
    前記ノード装置には、当該ノード装置が保持すべきファイルを特定するための複数のグループのいずれかであって、ネットワークトポロジ上、隣接する前記ノード装置とは異なる前記グループが優先して割り当てられ、
    前記ファイルは、ゼロ以上の前記グループを示す情報と関連付けられ、
    前記ノード装置が、
    当該ノード装置が属する前記グループを示す情報と関連付けられた前記ファイルを受信した場合、当該ファイルをキャッシュファイルとして一時的に保持するステップと、
    他のノード装置が要求する前記ファイルに対応する前記キャッシュファイルを保持している場合、当該キャッシュファイルを前記他のノード装置に対して送信するステップと、
    を実行する
    ファイルのキャッシュ方法。
  10. 送受信されるファイルを一時的に保持するノード装置を複数含むネットワークシステムにおいて、前記ノード装置によって実行されるファイルのキャッシュプログラムであって、
    前記ノード装置には、当該ノード装置が保持すべきファイルを特定するための複数のグループのいずれかであって、ネットワークトポロジ上、隣接する前記ノード装置とは異なる前記グループが優先して割り当てられ、
    前記ファイルは、ゼロ以上の前記グループを示す情報と関連付けられ、
    前記ノード装置に、
    当該ノード装置が属する前記グループを示す情報と関連付けられた前記ファイルを受信した場合、当該ファイルをキャッシュファイルとして一時的に保持するステップと、
    他のノード装置が要求する前記ファイルに対応する前記キャッシュファイルを保持している場合、当該キャッシュファイルを前記他のノード装置に対して送信するステップと、
    を実行させる
    ファイルのキャッシュプログラム。
  11. 自身が保持すべきファイルを特定するための複数のグループのいずれかであって、ネットワークトポロジ上、隣接するノード装置とは異なる前記グループが優先して割り当てられると共に、自身が属する前記グループを示す情報と関連付けられた前記ファイルを受信した場合、当該ファイルをキャッシュファイルとして一時的に保持するノード装置を複数含むネットワークシステムに接続される管理装置であって、
    前記ノード装置から前記ファイルに対する取得要求を計数し、頻度を算出する頻度算出部と、
    頻度算出部が算出した頻度に基づいて前記ファイルに割り当てる、ゼロ以上の前記グループを決定し、前記ファイルと前記グループとの組合せを示す情報を前記ノード装置へ送信する設定変更部と、
    を備える管理装置。
  12. 前記設定変更部は、取得要求を受ける頻度が高いファイルほど多くのグループを割り当てる
    請求項11に記載の管理装置。
  13. 自身が保持すべきファイルを特定するための複数のグループのいずれかであって、ネットワークトポロジ上、隣接するノード装置とは異なる前記グループが優先して割り当てられると共に、自身が属する前記グループを示す情報と関連付けられた前記ファイルを受信した場合、当該ファイルをキャッシュファイルとして一時的に保持するノード装置を複数含むネットワークシステムに接続される管理装置が、
    前記ノード装置から前記ファイルに対する取得要求を計数し、頻度を算出するステップと、
    頻度算出部が算出した頻度に基づいて前記ファイルに割り当てる、ゼロ以上の前記グループを決定し、前記ファイルと前記グループとの組合せを示す情報を前記ノード装置へ送信するステップと、
    を実行する管理方法。
  14. 自身が保持すべきファイルを特定するための複数のグループのいずれかであって、ネットワークトポロジ上、隣接するノード装置とは異なる前記グループが優先して割り当てられると共に、自身が属する前記グループを示す情報と関連付けられた前記ファイルを受信した場合、当該ファイルをキャッシュファイルとして一時的に保持するノード装置を複数含むネットワークシステムに接続される管理装置に、
    前記ノード装置から前記ファイルに対する取得要求を計数し、頻度を算出するステップと、
    頻度算出部が算出した頻度に基づいて前記ファイルに割り当てる、ゼロ以上の前記グループを決定し、前記ファイルと前記グループとの組合せを示す情報を前記ノード装置へ送信するステップと、
    を実行させる管理プログラム。
JP2018551597A 2016-11-17 2017-11-09 ネットワークシステム、キャッシュ方法、キャッシュプログラム、管理装置、管理方法及び管理プログラム Active JP6712744B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2016224243 2016-11-17
JP2016224243 2016-11-17
PCT/JP2017/040485 WO2018092679A1 (ja) 2016-11-17 2017-11-09 ネットワークシステム、キャッシュ方法、キャッシュプログラム、管理装置、管理方法及び管理プログラム

Publications (2)

Publication Number Publication Date
JPWO2018092679A1 true JPWO2018092679A1 (ja) 2019-10-17
JP6712744B2 JP6712744B2 (ja) 2020-06-24

Family

ID=62145902

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018551597A Active JP6712744B2 (ja) 2016-11-17 2017-11-09 ネットワークシステム、キャッシュ方法、キャッシュプログラム、管理装置、管理方法及び管理プログラム

Country Status (2)

Country Link
JP (1) JP6712744B2 (ja)
WO (1) WO2018092679A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7371849B2 (ja) * 2019-06-06 2023-10-31 Tis株式会社 ネットワークシステム、配信サーバ、配信方法、配信プログラム
CN112261154A (zh) * 2020-11-23 2021-01-22 国网能源研究院有限公司 一种电网数据文件存储方法、装置、电子设备
KR20220076969A (ko) * 2020-12-01 2022-06-08 삼성전자주식회사 무결성 검사를 수행하는 방법 및 이를 이용하는 전자 장치

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003022211A (ja) * 2001-07-10 2003-01-24 Nec Corp キャッシュ制御方法及びキャッシュ装置
JP2008140050A (ja) * 2006-11-30 2008-06-19 Brother Ind Ltd ネットワークシステム、配信制御装置並びに配信方法及び配信制御用プログラム
JP2015162686A (ja) * 2014-02-25 2015-09-07 日本電信電話株式会社 キャッシュ制御装置及び方法及びプログラム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4797679B2 (ja) * 2006-02-20 2011-10-19 ブラザー工業株式会社 コンテンツ配信システム、コンテンツデータ管理装置及びその情報処理方法並びにそのプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003022211A (ja) * 2001-07-10 2003-01-24 Nec Corp キャッシュ制御方法及びキャッシュ装置
JP2008140050A (ja) * 2006-11-30 2008-06-19 Brother Ind Ltd ネットワークシステム、配信制御装置並びに配信方法及び配信制御用プログラム
JP2015162686A (ja) * 2014-02-25 2015-09-07 日本電信電話株式会社 キャッシュ制御装置及び方法及びプログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
BONG-JUN KO ; D. RUBENSTEIN: "Distributed Self-Stabilizing Placement of Replicated Resources in Emerging Networks", IEEE/ACM TRANSACTIONS ON NETWORKING, vol. 13, no. 3, JPN6019044979, June 2005 (2005-06-01), US, pages 476 - 487, XP058158334, ISSN: 0004157716, DOI: 10.1109/TNET.2005.850196 *

Also Published As

Publication number Publication date
WO2018092679A1 (ja) 2018-05-24
JP6712744B2 (ja) 2020-06-24

Similar Documents

Publication Publication Date Title
CN103262063B (zh) 用于在内容导向网络中创建和管理虚拟专用组的方法和设备
US12015666B2 (en) Systems and methods for distributing partial data to subnetworks
US20220166764A1 (en) Authenticating computing system requests with an unknown destination across tenants of a multi-tenant system
EP3510743B1 (en) Interchangeable retrieval of sensitive content via private content distribution networks
JP2017519269A5 (ja)
TW201404073A (zh) 網路連接裝置之連接路徑的監視技術
CN113114656B (zh) 基于边缘云计算的基础设施布局方法
JP6712744B2 (ja) ネットワークシステム、キャッシュ方法、キャッシュプログラム、管理装置、管理方法及び管理プログラム
KR101393159B1 (ko) 소셜 네트워크 서비스에서의 키 기반의 액세스 제어 방법 및 장치
JP6858328B2 (ja) パーソナルユーザデバイスおよびデータ分配デバイスを用いたストレージシステムの実現
US20180367308A1 (en) User authentication in a dead drop network domain
US11841875B2 (en) Database sharing in a virtual private deployment
CN106027555B (zh) 一种采用sdn技术改善内容分发网络安全性的方法及系统
JPWO2012026082A1 (ja) 条件マッチングシステム、条件マッチング連係装置および条件マッチング処理方法
CN107710219A (zh) 死点网络架构
CN106856456A (zh) 缓存集群服务的处理方法及系统
CN108521362A (zh) 一种基于p2p-vpn的网络架构及其访问方法
JP6500645B2 (ja) 情報処理装置及びプログラム
JP6888478B2 (ja) 振り分けシステム
JP2014048719A (ja) 配信管理システム、配信管理方法、配信システム、及び、配信管理プログラム
US8881242B2 (en) Information communication system, information communication method, node apparatus and recording medium
CA2951711C (en) Multi-peer routing in a network
AU2023203129B2 (en) Systems and methods for distributing partial data to subnetworks
Sarkar et al. The State of CDNs Today and What AI‐Assisted CDN Means for the Future
KR101629106B1 (ko) 컨텐츠 기반 네트워크에서 요청 컨텐츠의 해쉬값에 따라 컨텐츠를 송신하는 방법

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190606

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190906

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190906

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20190906

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20190913

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191126

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20200124

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200324

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200501

R150 Certificate of patent or registration of utility model

Ref document number: 6712744

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250