JP2018156606A - 通信制御装置、通信制御方法およびコンピュータプログラム - Google Patents

通信制御装置、通信制御方法およびコンピュータプログラム Download PDF

Info

Publication number
JP2018156606A
JP2018156606A JP2017055064A JP2017055064A JP2018156606A JP 2018156606 A JP2018156606 A JP 2018156606A JP 2017055064 A JP2017055064 A JP 2017055064A JP 2017055064 A JP2017055064 A JP 2017055064A JP 2018156606 A JP2018156606 A JP 2018156606A
Authority
JP
Japan
Prior art keywords
data
storage
relay
terminal
characteristic information
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.)
Pending
Application number
JP2017055064A
Other languages
English (en)
Inventor
丈士 石原
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.)
Kioxia Corp
Original Assignee
Toshiba Memory 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 Memory Corp filed Critical Toshiba Memory Corp
Priority to JP2017055064A priority Critical patent/JP2018156606A/ja
Priority to US15/697,597 priority patent/US10708377B2/en
Publication of JP2018156606A publication Critical patent/JP2018156606A/ja
Pending legal-status Critical Current

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/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • 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/563Data redirection of data network streams
    • 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
    • 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/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources

Abstract

【課題】端末からの要求を処理する中継装置またはストレージ装置を適切に決定する。【解決手段】通信制御装置114は、有線および無線のネットワーク間で通信を中継する複数の中継装置から有線通信特性情報および無線通信特性情報の少なくとも一方を取得することと、前記無線ネットワークにおける端末が前記中継装置を介して送信または受信するデータを保存する複数のストレージ装置の使用状況を表すストレージ特性情報を取得することと、前記複数のストレージ装置のそれぞれに保存されている複数のデータの状態を表すデータ特性情報を取得することとの少なくとも1つを実行する情報収集部13と、端末から送信されるデータ取得要求またはデータ保存要求を受信し、処理すべき中継装置またはストレージ装置を特定し、データ取得要求またはデータ保存要求を送信することを指示する指示情報を端末に送信する判断部15と、を備える。【選択図】図4

Description

本発明の実施形態は、通信制御装置、通信制御方法およびコンピュータプログラムに関する。
複数のネットワーク間を中継する通信装置として、スイッチングハブや無線LAN(Local Area Network)アクセスポイントがある。これらは、レイヤー2にて通信を中継するブリッジ装置である。また、レイヤー3にて通信を中継するルータ装置もある。現在、これら装置は、通信の中継に特化しており、一般的にはストレージを搭載していない。しかし、ICN(Information Centric Networking)やCCN(Content Centric Networking)、エッジコンピューティングやフォグコンピューティングの概念が導入され、通信装置へのストレージ搭載が検討されている。
また、インターネットを通じて情報を広く流通させる技術としてCDN(Content Devivery Network)技術がある。CDN技術ではネットワーク上に多数のキャッシュサーバを配置し、要求を発した端末に最も近いキャッシュサーバから情報を送信することで、効果的な情報送信を実現している。キャッシュサーバの選択にはDNSを使った方式や、HTTPリダイレクトを使う方式が知られている。
これら技術を組み合わせると、エッジコンピューティングを利用したCDNが構築できる。これによって、従来のCDNではカバーできなかった非常に細かい範囲を対象とした情報の配信制御や配信履歴の取得などが可能となる。
しかしながら、従来のキャッシュサーバ選択方式では、エッジコンピューティングと融合したキャッシュサーバを適切に選択することは困難である。エッジネットワークに設置される通信装置は非常に数が多く、考慮すべき装置の数が膨大となる。例えば、DNSによる選択は、インターネット全体から利用できる分散データベースの一部を維持する必要がある。そのデータベースに、個々のエッジネットワークやキャッシュ装置の負荷の情報を追加して維持管理することは困難である。また、HTTPリダイレクトを用いる方法もリダイレクトを発行するHTTPサーバを特定するためにDNSを利用していることから、本質的な状況は同じである。
また、何らかの方法でエッジネットワークに設置されたキャッシュサーバを選択できたとしても、新たな不具合が生じる可能性がある。要求を発生させた端末に最も近いキャッシュサーバを常時選択すると、特定のキャッシュサーバに要求が集中する可能性がある。このような状況下ではキャッシュストレージのI/O性能が低下したり、ストレージデバイスが疲弊したりするなどの問題が生じる恐れがある。
特表2013−503390号公報
X. Wang, M. Chen, T. Taleb, A. Ksentini and V. C. M. Leung, "Cache in the air: exploiting content caching and delivery techniques for 5G systems" in IEEE Communications Magazine, vol. 52, no. 2, pp. 131−139, February 2014.
本発明の実施形態は、端末からの要求を処理する中継装置またはストレージ装置を適切に決定することを目的とする。
本発明の実施形態としての通信制御装置は、情報収集部と、判断部とを備える。前記情報収集部は、有線ネットワークと無線ネットワーク間で通信を中継する複数の中継装置もしくは前記複数の中継装置を管理する管理サーバから、前記複数の中継装置の有線通信特性情報および無線通信特性情報の少なくとも一方を取得すること、前記複数の中継装置に直接または前記有線ネットワークを介して接続され、前記無線ネットワークにおける端末が前記中継装置を介して送信または受信するデータを保存する、複数のストレージ装置のストレージ特性情報を取得すること、前記複数のストレージ装置のそれぞれに保存されている複数のデータのデータ特性情報を取得すること、の少なくとも1つを実行する。前記判断部は、前記端末から送信されるデータ取得要求またはデータ保存要求を受信し、前記有線通信特性情報、前記無線通信特性情報、前記ストレージ特性情報および前記データ特性情報に基づき、前記データ取得要求またはデータ保存要求を処理すべき中継装置またはストレージ装置を特定し、特定した中継装置または前記ストレージ装置に、前記データ取得要求またはデータ保存要求を送信することを指示する指示情報を、前記端末に送信する。
第1の実施形態における通信システムの構成図。 中継装置とストレージ装置との接続形態の例を示す図。 第1の実施形態に係るシステムの全体シーケンスを示す図。 第1の実施形態に係る通信制御装置であるリダイレクト装置のブロック構成図。 データ保存先の後決め方式のアルゴリズムを示す図。 管理データベースの例を示す図。 データを複製または移動する場合の動作の例を模式的に示す図。 データの保存先となる中継装置を決定する方法の動作フローチャート。 スコアの算出方法の一例を説明するための図。 データをアップロードする場合のシーケンスを示す図。 第3の実施形態に係るリダイレクト装置のブロック図。 第4の実施形態に係る中継装置のブロック図。 第4の実施形態に係る中継装置の他の構成例のブロック図。 第5の実施形態に係るWLCの構成を示すブロック図。 第5の実施形態に係るWLCの他の構成例を示すブロック図。 第6の実施形態に係る中継装置とストレージ装置とがネットワークを介して接続された構成の例を示す図。 第6の実施形態に係る中継装置とストレージ装置とがネットワークを介して接続された構成の他の例を示す図。 第6の実施形態に係る中継装置とストレージ装置とを接続する場合の構成例を示す図。 第6の実施形態に係る中継装置とストレージ装置とを接続する場合の別の構成例を示す図。
以下、図面を参照しながら、本発明の実施形態について説明する。以下で示す各実施形態は一例であり、本発明は必ずしもこれらと同一の形態で実施される必要はない。また、図面において同一の構成要素には同じ番号を付し、同じ説明は適宜省略する。
(第1の実施形態)
<システム概形>
図1は、第1の実施形態における通信システムの構成図である。大きく3つのネットワーク、すなわち、アクセス網(有線ネットワーク)101と、CDN201と、コンテンツ事業者ネットワーク301とが示されており、それらは広域網を介して接続されている。各ネットワーク101、201、301には、ネームサーバ102、202、302が設置されている。各ネームサーバ102、202、302は、それぞれのネットワーク101、201、301におけるドメイン名とIPアドレスとの対応関係などを管理している。また、アクセス網101のネームサーバ102は、端末からの名前解決要求を処理するリレーネームサーバの機能を具備している。なお、この図では、各ネットワーク101、201、301にひとつのネームサーバが接続されているが、各ネットワークに複数台のネームサーバを接続し、これらのネームサーバで負荷分散を行ってもかまわない。
アクセス網101は、顧客に上位のネットワークへの接続性を提供するネットワークである。具体例として、光ファイバを用いた固定回線事業者のアクセス網や、無線LANを使った無線LAN事業者のアクセス網などがある。アクセス網101の内部には、端末に対してネットワーク接続を提供するための中継装置111、112、端末113からの要求を適切な中継装置に振り分ける通信制御装置(リダイレクト装置)114、およびネームサーバ102などが配置されている。
中継装置111、112には、データを保存するストレージ装置が内部に設けられている(内部接続されている)か、コネクタ等を介して外部接続されているか、有線LAN等のネットワークを介して接続されている。それぞれの例を模式的に図2(A)〜図2(C)に示す。図2(A)が内部接続、図2(B)が外部接続、図2(C)がネットワーク接続を示す。図2(A)および図2(B)は、直接接続の一形態、図2(C)はネットワークを介した接続の一形態である。接続形態の具体例は、後に別の実施形態で詳細に説明する。以下では、図2(A)のように、中継装置がストレージを内蔵(内部接続)している場合を想定する。図2(B)または図2(C)の形態では、ストレージ装置自体が通信機能を備えて、中継装置またはリダイレクト装置等をネットワーク101を介して通信可能な形態もあり得る。以降の説明では、特別の断りの無い限り、中継装置は、ストレージ装置を含んでいる。
アクセス網101には、このほかにも複数の他の装置が接続されているが、本実施形態の説明に不要のため省略する。
CDN201は、コンテンツ配信事業者のネットワークであり、コンテンツ配信事業者によって運営されている。CDN201は、相互に接続した複数のCDNキャッシュサーバ(図では簡単のため1つのCDNキャッシュサーバ203のみを示している)およびネームサーバ202を備える。ネームサーバ202には、CDNキャッシュサーバ203の位置およびその負荷情報を記憶したデータベースが搭載されているか、外部接続されている。ネームサーバ202は、そのデータベースの情報に基づいて、複数のCDNキャッシュサーバのうち、要求を発した端末の最寄りで、かつ適切なCDNキャッシュサーバを選択し、選択したCDNキャッシュサーバを示す情報を応答する機能を具備する。CDNキャッシュサーバは、コンテンツ事業者が提供する(オリジンサーバ303が配信する)データをキャッシュする機能や、要求を発した端末に対して適切なリダイレクト装置を選択する機能などを有する。
コンテンツ事業者は、インターネットもしくはCDN201を通じて、何らかのデータまたは情報を提供する事業者である。コンテンツ事業者は、顧客にデータを効率よく送信するため、コンテンツ配信事業者と契約して、CDN201を使ったコンテンツ配信を行うものとする。コンテンツ事業者のネットワーク301には、ネームサーバ302とオリジンサーバ303が接続されている。オリジンサーバ303には、顧客に提供すべきデータまたは情報(以下、データに統一)が格納されている。データは、その識別情報等の属性情報と、データ本体とを含む。データは、例えば動画データ、画像データ、テキストデータ、またはこれらの任意の組み合わせである。
<全体シーケンス>
図3は本システムの全体シーケンスを示す。このシーケンスは、アクセス網101に接続した端末113が、コンテンツ事業者の提供するデータを取得する際のシーケンスである。本シーケンスの前提として、事前にコンテンツ事業者からコンテンツ配信事業者に対してドメイン名の管理権限が委譲され(S101)、コンテンツ配信事業者のネームサーバで、当該ドメイン名が管理されている。またコンテンツ配信の契約に基づいて、データがキャッシュサーバ203にインストール(キャッシュ)されている(S102)。
端末113が所望のデータを取得するために、ウェブブラウザ等にURLを入力することにより、名前解決のシーケンスが実行される。名前解決要求は、端末113に設定されているネームサーバ102に送信される(S103)。端末113に設定されているネームサーバは、一般には、端末113が接続されているアクセス網101のネームサーバである。アクセス網101のネームサーバ102は、名前解決処理として、解決すべきドメイン名を管理しているネームサーバ(ここではコンテンツ配信事業者のネームサーバ(以下、CDNネームサーバ)202)を特定し(S104)、当該ネームサーバ202に、名前解決要求を転送する(S105)。
CDNネームサーバ202は、コンテンツ配信事業者が運営・管理しているキャッシュサーバ(以下、CDNキャッシュサーバと呼ぶことがある)203のIPアドレスを管理している。CDNネームサーバ202は、名前解決処理として、受信した名前解決要求の送信元IPアドレス(=アクセス網101のネームサーバ102)を参照し、当該送信元IPアドレスに対して、ネットワーク的に最も近く、負荷が少ないCDNキャッシュサーバ203のIPアドレスを特定する(S106)。CDNネームサーバ202は、特定したIPアドレスを含む応答を、ネームサーバ102に送信する(S107)。負荷が少ないとは、例えば、CPUの処理負荷を示す値が閾値以下であることを意味する。ネットワーク的に最も近いとは、例えばホップ数が最も少ないことを意味する。最も近いCDNキャッシュサーバではなく、ネットワーク的な距離が閾値以下であれば、別のCDNキャッシュサーバを選択してもよい。また、ネットワーク的な距離ではなく、物理的な距離に基づいて判断してもよい。アクセス網101のネームサーバ102は、受信した応答に基づいて名前解決処理を行い(S108)、名前解決応答を要求元の端末113に送り返す(S109)。
アクセス先のIPアドレスを取得した端末113は、当該IPアドレスのCDNキャッシュサーバ203に対して、データ取得要求を送信する(S110)。ここでは、データ取得要求を、HTTP(またはHTTPS)により送信すると仮定する。データ取得要求はCDNキャッシュサーバ203によって受信される(S110)。CDNキャッシュサーバ203は、コンテンツ配信事業者によって運用されている少なくとも1つのリダイレクト装置114を把握している。CDNキャッシュサーバ203は、データ取得要求の送信元IPアドレス(=端末113のIPアドレス)を参照して、当該送信元IPアドレスに対して、ネットワーク的に最寄りのリダイレクト装置114を特定する(S111)。CDNキャッシュサーバ203は、リダイレクト先となるリダイレクト装置114のIPアドレスを含むリダイレクト応答を送信する(S112)。
リダイレクト先のIPアドレスを受信した端末113は、リダイレクト先となるリダイレクト装置114に、データ取得要求を送信する(S113)。リダイレクト装置114は、管理下の中継装置のIPアドレス、および当該中継装置におけるデータの格納状況などを管理している。データ取得要求を受信したリダイレクト装置114は、それらの管理している内容にもとづいて、端末113に最適な中継装置のIPアドレスを特定する(S114)。リダイレクト装置114は、特定したIPアドレスを含むリダイレクト応答を、端末113に送信する(S115)。
リダイレクト応答を受信した端末113は、リダイレクト応答に含まれるIPアドレスを有する中継装置に、最終的にデータ取得要求を送信する(S116)。データ取得要求を受信した中継装置は、データ取得要求で要求されたデータを自身のストレージ装置から読み出し(S117)、読み出したデータを端末113に送信する(S118)。
以上が本システムの動作概要である。
図3のシーケンスでは、リダイレクト装置114がアクセス網101に設置されており、CDNキャッシュサーバ203が、リダイレクト装置114をリダイレクト先として指定している。ただし、一般に、アクセス網101の事業者とコンテンツ配信事業者とは異なるため、互いを直接参照することはできない可能性がある。そのため、本実施形態では、次のいずれかの仮定が成立しているとする。
仮定1)CDNキャッシュサーバ203はコンテンツ配信事業者によって管理され、リダイレクト装置114はアクセス網事業者によって管理されるが、契約等に基づいてCDNキャッシュサーバ203は、リダイレクト装置114の存在を把握することができる。
仮定2)リダイレクト装置114はアクセス網事業者が管理するネットワークに設置されるが、コンテンツ配信事業者がリダイレクト装置114を運用する。
[補足:リダイレクト装置114が、CDNキャッシュサーバの役割を兼ねる]
前述のシーケンスでは、2回のリダイレクト応答(S112、S115)を介して、中継装置に、データ取得要求を転送した。これに対して、リダイレクト装置114がCDNキャッシュサーバの役割を兼ねることで、リダイレクト回数を1回にしてもよい。その場合に取りうる方法として、CDNネームサーバ202が管理するCDNキャッシュサーバの数を増やす方法(ここではリダイレクト装置114がCDNキャッシュサーバ機能を備えているため、リダイレクト装置114の数を増やすことになる)と、CDNキャッシュサーバ(リダイレクト装置114が備えているCDNキャッシュサーバ機能)が管理する範囲を細かくする方法がある。
前者の場合、CDNネームサーバ202が把握・管理するネットワークが広範囲になり、ネットワークの状況や、CDNキャッシュサーバ(リダイレクト装置114が備えているCDNキャッシュサーバ機能)の負荷などの監視情報が増える可能性がある。
後者の場合、CDNキャッシュサーバ(リダイレクト装置114が備えているCDNキャッシュサーバ機能)が個々の中継装置における保存状況などを把握する必要があり、やはり監視情報が増える可能性がある。
本実施形態の実現にあたっては、各装置(CDNキャッシュサーバ機能を備えたリダイレクト装置114や、CDNネームサーバ202など)における管理情報の量と、リダイレクト回数のトレードオフとを考慮する必要がある。
<リダイレクト装置114の構成>
図4は、本実施形態に係る通信制御装置の一形態であるリダイレクト装置114のブロック構成図である。この図では本実施形態の説明に必要な構成要素のみを記載している。
I/F部11は、ネットワーク101と接続するインタフェースである。
通信部12は、I/F部11に接続されるとともに、バス等を介して情報収集部13、記憶部14および判断部15に接続されている。通信部12は、I/F部11、情報収集部13、記憶部14および判断部15と、種々の情報および制御信号をやり取りすることで、ネットワーク101を介して、情報またはデータを送受信する。また、通信部12は、送受信にあたって必要な通信プロトコルの処理(例えば、TCP/IPの処理)なども行う。また、通信部12は、IPアドレスの維持管理や、ドメイン名の解決など、通信の実現に必要な処理も行う。
情報収集部13は、中継装置ならびにアクセス網101に関する各種情報を収集する。情報の種類および収集方法については後述する。
記憶部14は、情報収集部13により収集された情報を保存する。記憶部14は、一例として、メモリもしくはストレージ装置またはこれらの両方により構成される。
判断部15は、記憶部14に保存された情報に基づいて、データ取得要求を送信した端末113に対して、適切な中継装置を選択する。なお、ストレージ装置がネットワーク101等に接続され、単体で通信機能を備える場合は(図3(C)等)、ストレージ装置を選択する構成もあり得る。
図4の構成では、各部を機能ブロックとして図示しているが、ソフトウェアにより実現してもよい。その際は、例えば、通信部12、情報収集部13および判断部15の機能を実行するためのソフトウェア(プログラム)を、CPU等のプロセッサに実行させてもよい。
<リダイレクト装置114が収集する情報とその収集方法>
リダイレクト装置114の情報収集部13は、アクセス網101に設置された複数の中継装置の状態を表す特性情報、およびアクセス網101のネットワーク状態を表す特性情報(有線通信特性情報)を収集する。中継装置の状態を表す特性情報の種類として、無線ネットワークのネットワーク状態を表す特性情報(無線通信特性情報)、ストレージ装置の使用状況を表すストレージ特性情報、ストレージ装置に保存されているデータの状態を表すデータ特性情報(キャッシュ特性情報)、および中継装置本体の特性情報がある。収集する特性情報の例を以下に示す。リダイレクト装置114は、これらの情報を総合的に判断し、データ取得要求を送信した端末113に対して、適切な中継装置を選択する。
(1)中継装置に保存されているデータと、そのメタ情報(保存されているデータの識別子やサイズ、データの参照回数、有効なデータの割合)
(2)中継装置の負荷(一例として、CPUの処理負荷(稼働率)など)
(3)中継装置が内蔵するストレージ装置の使用状況(用いているストレージ装置の使用率・書き換え回数・エラー率などのパラメータ)
(4)中継装置が直接接続している無線ネットワーク(中継装置と端末113との間のネットワーク)の通信の性能(平均スループット、平均遅延、平均エラー率、など)。無線ネットワークに接続している端末ごとの通信の性能でもよい。
(5)中継装置が直接接続している無線ネットワーク(端末113との間のネットワーク)に接続する端末ごとの伝搬路の品質(電波到来方向、電波到達時間、電波到達時間の差、RSSI、エラー率、再送回数、など)
(6)中継装置同士を接続する有線ネットワーク(ネットワーク101)の通信の品質(スループット、RTT)
(1)の情報は、データ特性情報(キャッシュ特性情報)に対応する。(2)の情報は中継装置本体の状況を表す特性情報に対応する。(3)の情報は、ストレージ特性情報に対応する。(4)および(5)の情報は、無線通信特性情報に対応する。(6)の情報は、有線通信特性情報に対応する。
リダイレクト装置114の情報収集部13は、上記の例に示した特性情報を各中継装置、もしくは関連するネットワーク装置(スイッチやルータなど各種装置またはその管理装置)等の収集先装置から収集する。情報収集部13は、一例としてSNMPにより、収集先装置においてMIBで管理されている値を参照することで、特性情報を収集する。別の例として、情報収集部13は、収集先装置が備えている管理サーバ上で動作するウェブサーバに対して、APIを用いて問い合わせたりすることで、特性情報を収集してもよい。収集方法はこれらに限定されないが、中継装置に負荷があまりかからない方法を用いることが好ましい。なお、特性情報の収集と、特性情報の参照として役割を明確に分離してもよい。すなわち、図1や図3では図示されていない収集装置を別途設け、当該収集装置が、各収集先装置から特性情報を集め、収集した特性情報を何らかの方法でリダイレクト装置114に通知する。リダイレクト装置114は、当該図示しない収集装置から通知された特性情報を利用する。
<保存場所判断アルゴリズム(配置アルゴリズム)>
リダイレクト装置114が実行する、データを保存すべき中継装置を決定するアルゴリズム(配置アルゴリズム)は、2通りの方法がある。ひとつは端末113からのデータ取得要求を受信した際に、保存先を決める場合(後決め方式)であり、もうひとつは事前に(例えば端末113からデータ取得要求を受信する前に)保存先を決める場合(先決め方式)である。以下、順番に説明する。
(保存場所判断アルゴリズム(配置アルゴリズム):後決め方式)
図5に、後決め方式のアルゴリズムを示す。本アルゴリズムは、リダイレクト装置114の判断部15により実行される。本アルゴリズムの実行にあたり、リダイレクト装置114が管理する複数の中継装置には、それぞれ異なる識別子が付与されていると仮定する。また、リダイレクト装置114では、データに対して、ハッシュ関数などを用いて管理識別子を算出し、管理識別子によってデータを識別する機能を備えている。管理識別子は、データの識別子(URL等)から算出してもよいし、データ本体とURLとから算出してもよいし、データ本体のみから算出してもよいし、その他の方法で算出してもよい。リダイレクト装置114は、これら二種類の識別子(中継装置の識別子と、データの識別子)を用いて、管理下における各中継装置でのデータの保存状態を管理データベースで管理している。管理データベースは、記憶部14に格納されている。管理データベースに基づく管理は、図4の判断部15または図示しない別の管理部が行う。
本アルゴリズムは、リダイレクト装置114が端末113からデータ取得要求を受信することにより開始される(S201)。はじめにデータ取得要求を解析して、端末113から要求された、対象となるデータの識別子を特定する。例えばHTTPによりデータ取得要求を受信した場合、HTTPリクエストを解析して、URLを識別子として特定する。
続いて、対象となるデータが、リダイレクト装置114の管理下にある1つ以上の中継装置のいずれかに保存されているかどうかを判断する(S202)。これは、特定したURLに対してハッシュ関数を適用して管理識別子を算出し、リダイレクト装置114の記憶部14内の管理データベースと照合することで行う。
管理データベースは、管理識別子と、保存の有無とを表す情報とから構成されてもよい。この場合、データごとに、保存の有無に関する情報だけを記憶することになる。また、中継装置と、データの管理識別子と、参照回数との組を管理してもよい。参照回数は、端末113(ユーザ)によってデータ取得を要求された回数に対応する。管理データベースの例を図6に示す。
なお、実際に各中継装置に対して問い合わせることで、データの保存有無を確認してもよい。いずれにせよ、何らかの方法で管理下の中継装置に要求されたデータが保存されているかどうかを確認する。
判断部15は、この管理データベースを参照し、対象となるデータが、管理下にあるいずれかの中継装置に保存されているかを判断する(同S202)。端末113が接続している中継装置にデータが保存されていれば、その中継装置へのリダイレクト応答を送信し、当該データに対する参照回数を1インクリメントすれば良い。ここでは、端末113が接続している中継装置にはデータが保存されていない場合を想定する。ここではk番目の中継装置に保存されているとする。
対象となるデータが、k番目の中継装置に保存されていた場合(S202のYES)、端末113が接続されている中継装置(ここではi番目の中継装置とする)での当該データの参照回数が、閾値hを超えるかどうかを確認する(S203)。i番目の中継装置でデータjが参照された回数を参照回数[i][j]と記述する。なお、参照回数は、あらゆる端末(ユーザ)の参照の合計回数であり、特定の端末(ここでは端末113)のみの参照の回数ではない。
参照回数[i][j]が閾値hを超えている場合には、k番目の中継装置からi番目の中継装置に、対象となるデータを複製(コピー)する(S204)。すなわち、k番目の中継装置に記憶されている、対象となるデータと同じデータを、端末113が接続されているi番目の中継装置に生成および格納するよう制御する。具体的に、i番目の中継装置に、k番目の中継装置からデータを取得して、保存することを指示する。なお、複製ではなく、移動でもよい。複製か移動かの判断は、当該対象となるデータのサイズ、参照回数の変化率や最終更新時刻などのパラメータに基づいて行う。先の管理データベースに、これらのパラメータを追加して管理してもよい。
図7にk番目の中継装置から、i番目の中継装置にデータを複製または移動する場合の動作の例を模式的に示す。この例では、k番目の中継装置は中継装置112、i番目の中継装置は、中継装置111に対応している。リダイレクト装置114が、中継装置111に中継装置112からのデータの取得を指示する。中継装置111は、中継装置112にデータの取得要求を送信する。中継装置112は、要求されたデータを中継装置111に複製または移動する。
リダイレクト装置114は、端末113に対象となるデータを取得させる中継装置を、i番目の中継装置に決定する。図5の動作フローでは、この処理を行うため、iの値を、kに入れることで、k番目の中継装置を、端末113に対象となるデータを取得させる中継装置として決定している(S205)。
参照回数[i][j]が閾値hを超えていない場合、対象となるデータの複製または移動は行わず(S203のNO)、処理はS206へ進む。なお、ステップS202で対象となるデータが、端末が接続されているi番目の中継装置に保存されていると判断された場合も、複製または移動を行う必要は無い。
リダイレクト装置114は、k番目の中継装置へリダイレクトすることを指示するリダイレクト応答を端末113に送信する(S206)。なお、ここで言うkは、ステップS203のYESの判断を経た場合は、iによって更新されたkを意味する。ステップS203のNOの判断を経た場合は、ステップS202で特定されたk番目の中継装置のkを意味する。
端末113は、現在接続している中継装置とは別の中継装置へのリダイレクトを指示された場合は、別の中継装置のカバレッジ内に入り、当該別の中継装置と接続した後に、当該別の中継装置にデータ取得要求を送信してもよい。または、指示された中継装置宛のパケット(情報取得要求)を現在接続している中継装置に送信してもよい。現在接続している中継装置は、当該パケットを、ネットワーク101を介して、当該指示された中継装置に転送する。当該指示された中継装置は、要求されたデータを、端末が現在接続している中継装置にネットワーク101を介して送信する。端末が現在接続している中継装置は、当該データを端末に送信する。
一方、リダイレクト装置114が管理しているいずれの中継装置にも、対象となるデータが保存されていない場合(S202のNO)、リダイレクト装置114は、データ取得要求を送信した端末113が接続されている中継装置における当該データの参照回数[i][j]が、閾値pを超えるかどうかを判断する(図5の右側のフローチャートのS207)。閾値pは、閾値hより大きくても、小さくてもよいし、あるいは、閾値hと同じ値でもよい。
参照回数[i][j]が閾値pを超えている場合(S207のYES)、リダイレクト装置114は、データの保存先となる中継装置を決定する(S210)。決定方法の詳細は後述する。保存先が決定すると(ここでは、決定された保存先を、k番目の中継装置とする)、k番目の中継装置に対して、リダイレクト装置114は、データの取得要求と、データの保存要求とを送信する(S211)。そして、リダイレクト装置114は、端末113に、k番目の中継装置に対してリダイレクトすることを指示するリダイレクト応答を送信する(S212)。k番目の中継装置に対する当該データの参照回数[k][j]を1インクリメントする(同S212)。
一方、ステップS207で参照回数[i][j]が閾値pを超えていない場合(S207のNO)、例えば、リダイレクト装置114は、オリジンサーバ303から対象となるデータを取得し、取得したデータを含む応答を、端末113に送信する(S208)。すなわち、リダイレクト装置114は、取得したデータをいずれの中継装置にも保存する処理を行わずに、単純なプロキシ動作のみを行う。リダイレクト装置114は、端末113が接続されているi番目の中継装置に対する当該データの参照回数[i][j]を1インクリメントする(S209)。
図8に、図5のステップS210で、リダイレクト装置114が、対象となるデータの保存先となる中継装置を決定する方法の動作フローチャートを示す。
本フローの動作を行う前提として、リダイレクト装置114は、各中継装置に対して、データの保存に適するかどうかを判断するスコアを保持している。スコアは、現在の中継装置の状況、ネットワーク(例えば端末との間の無線ネットワーク、およびネットワーク101の少なくとも一方)の状況、ストレージ装置の状況に基づいて決定される(基本スコア)。あるいは、これに加えて、さらに、端末の状態およびユーザが利用するサービスなどを考慮して算出されるスコア(端末スコア)が定義されてもよい。スコアは、前述した各種特性情報等に基づき計算できる。本アルゴリズムでは、基本スコアまたは端末スコアが最も高い中継装置にデータを保存することを決定する。以下の説明で記述されるスコアは、状況に応じて、基本スコアまたは端末スコアを意味している。以下、アルゴリズムについて述べる。
はじめに、リダイレクト装置114は、受信したデータ取得要求の送信元端末を特定する(S221)。これは、例えば、データ取得要求のパケットの送信元IPアドレスを参照することで行う。ここでは端末113が特定されたとする。次に、リダイレクト装置114は、端末113の通信電波に関する情報を用いて、端末113の移動状態(移動中か、停止しているか。移動中のうち、所定の速さを下回っている場合には停止とみなしてもよい。)を推定する(S222)。S222における推定に基づいて、端末113が停止していると判断した場合(S223のNO)、端末113が接続している中継装置のスコアを算出する(S224)。なお、端末113が同時に接続している中継装置の台数が1台の前提の場合は、スコアの算出を省略して、ステップS225に進んでも良い。
リダイレクト装置114は、最も高いスコアとなる中継装置を選択し、選択した中継装置を表す情報を、本アルゴリズムの結果として出力する(S225)。ステップS224でスコアの算出を省略した場合、または端末が接続している中継装置の台数が1台の前提の場合は、端末が現在接続している中継装置を表す情報を出力すればよい。
一方、リダイレクト装置114は、端末113が移動していると判断した場合(S223のYES)、端末113の移動方向と速さを推定する(S226)。そして、推定した移動方向と速さとから、所定の期間内における移動先の範囲を推定し、移動先の範囲に存在する中継装置を特定する(S227)。ここで、移動先の範囲に存在する中継装置のカバレッジエリアは、移動先の範囲に比べて十分大きく、当該移動先の範囲を包含する可能性が高いものとする。したがって、移動先の範囲に存在する中継装置であれば、当該範囲に属する端末はどの中継装置にも接続できるとする。移動先の範囲に存在する中継装置のうちの1台が、端末113が現在接続している中継装置であってもよい。なお、ステップS227で特定する中継装置は1台でもよいし、複数台でもよい。
なお、リダイレクト装置114は、移動先として推定される範囲に、中継装置が存在しない場合には、当該現在接続している中継装置を選択してもよい。
端末が移動しているかどうかを判断するために必要な情報の収集と、端末が移動しているかどうかの判断は、リダイレクト装置114の代わりに、中継装置もしくは中継装置を管理する管理装置(図示せず)が行ってもよい。この場合、中継装置または管理装置は、当該判断を定期的に行っていても良いし、リダイレクト装置114からの指示に基づいて行ってもよい。
さらにリダイレクト装置114は、端末が移動しているかどうかの判断は、データ取得要求を受信するごとに行ってもよいし、所定の条件が成立するごとに行うようにしてもよい。ここで所定の条件とは、例えば所定時間ごと、または所定通信量ごとでもよい。または、所定の中継装置に関して所定のイベントが発生した場合でもよい。例えば、「所定の中継装置に接続した場合」を条件とする場合、端末の移動先またはその範囲を決定する判断は、当該所定の中継装置から収集する情報のみから行う。具体的なケースとしては、動線(経路など)が分岐する場所の近傍でのみ、移動先を判断するようなケースが考えられる。
リダイレクト装置114は、ステップS227で特定した1台または複数台の中継装置に対してスコアを算出する(S228)。
リダイレクト装置114は、最も高いスコアとなる中継装置を選択し、選択した中継装置を表す情報を、本アルゴリズムの結果として出力する(S225)。
<判断アルゴリズム:スコアの算出方法(1)>
図8のフローチャートのステップS228またはS224で行うスコアの算出方法(算出方法(1))について述べる。スコアの算出には、先に“リダイレクト装置114が収集する情報とその収集方法”の説明にて述べた各種特性情報の一部を利用し、以下のような関数を用いる。なお、リダイレクト装置114は、スコアの計算を、図8のフローチャートのアルゴリズムを実行するたびに行ってもよい(すなわち、この場合、アルゴリズムの実行ごとに、各特性情報は最新の値に更新される)、本アルゴリズムの実行とは独立に一定時間ごとに計算して、メモリ等に記憶させても良い。後者の場合、ステップS228またはS224では、当該計算済みのスコアをメモリ等から読み出せばよい。
j番目の中継装置の負荷
・fLOAD()
・負荷の値が増加するとスコアが単調に減少する関数として定義される。例えば、負荷に反比例する関数(1/x)として定義してもよい。
・値域の最小値はゼロとする。
管理下にあるi番目の各中継装置と、スコアを算出する対象となるj番目の中継装置(i≠j)との間の有線LANの特性(具体的には、j番目の中継装置と、管理下にあるそれ以外のすべて中継装置のそれぞれとの間の有線LANの特性の総和)
・ΣfLANij(x1, x2
・x1: 平均スループット
・x2: 平均RTT
平均スループットが増加すると単調に増加し、平均遅延が増加すると単調に減少する関数として定義される。例えば一次関数ax1+bx2+c (a>0, b<0)として定義してもよい。
・値域の最小値はゼロとする。
スコアを算出する対象となるj番目の中継装置が接続する無線ネットワーク(無線LAN等)の特性
・fWLANj(y1, y2, y3, ...)
・y1: 平均スループット
・y2: 平均RTT
・y3: 平均エラー率
・平均スループットが増加するとスコアが単調減少し、平均遅延および平均エラー率が上昇するとスコアが単調増加する関数として定義される。例えば平均スループットに反比例し、平均遅延と平均エラー率に比例する関数(by2+cy3+d)/ay1+e (a>0, b>0, c>0) として定義してもよい。
・値域の最小値はゼロとする。
・ここでは引数を3つとして記載しているが、多くのパラメータについて情報が収集できる場合には引数を増やしてもよい。また、より少ない引数で定義してもよい。
スコアを算出する対象となるj番目の中継装置におけるストレージ装置の特性
・fSTORAGEj(z1,z2,z3,z4,...)
・z1: ストレージ装置の使用率(全容量に対して情報を保存した容量の割合)
・z2: ストレージ装置への総書き込み量(バイト数)
・z3: ストレージ装置を構成する不揮発セルの平均書き換え回数
・z4: ストレージ装置を構成する不揮発セルの平均読み出しエラー率
・使用率、総書き込み量、平均書き換え回数、平均読み出しエラー率の各パラメータが増加するとスコアが単調減少し、各パラメータについて別途定義された閾値を超えるとスコアがゼロとなる関数として定義される。
・例えば以下のような一次関数として定義してもよい。
・az1+bz2+cz3+....+d (a<0, b<0, c<0) (if z1<T1, z2<T2, z3<T3)
・0 (if z1>=T1 or z2>=T2 or z3>=T3、上記式が負になる場合)
最終的なスコアS[j]は、これら4つの関数と、加算値αを用いて、以下のように定義される。
S[j] = { fLOAD(j) + ΣfLANij(x1, x2) + fWLANj(y1, y2, y3, y4, ...) + α } × fSTORAGEi(z1, z2, z3, ...)
各関数の定義から、S[j]の値域は、0以上の実数である。リダイレクト装置114は、上式から算出した値を基本スコアとして保持する。既に述べたように、基本スコアの更新は、所定の条件が成立した際に行ってもよい。
(有線LAN(ネットワーク101)の特性に関する補足)
前述の関数fLAN()について補足する。関数fLAN()は、データの取得要求を送信する端末が接続されている中継装置と、スコアを算出する対象となる(データを保存させる候補となる)中継装置との間の通信特性を引数とする。図5のステップS204のように中継装置間でデータを複製または移動する際は、データをLAN経由で転送するため、転送経路となるLANで利用可能なスループットが高く、RTTが小さいほどデータの転送に適していると判断できる。前述の例ではスループットとRTTを用いているが、データの転送に適するか否かを表す(すなわち通信特性を表す)別のパラメータを用いて本関数を設計してもよい。
(無線LANの特性に関する補足)
前述の関数fWLANj()について補足する。関数fWLANj()は、中継装置jが提供する無線LANネットワークがどの程度良好に機能しているか(伝搬路の状態品質または通信特性など)を表すものである。平均スループットは、一例として、当該中継装置に接続するすべての端末のスループットを平均した値である。この値が高いほど、無線LANネットワークで高速にデータまたは情報を転送できる可能性があると判断でき、この中継装置が備えるストレージ装置は、当該中継装置に直接接続している端末のために利用することが有用であると判断できる。逆に言えば、この値が高いほど、この中継装置に新たな端末を接続させたくないと判断する。
平均RTTと平均エラー率も同様である。ただし、これらの値は小さいほうがネットワークは混雑しておらず、良好な通信が期待できる。よって、値が小さい場合にはストレージ装置は当該中継装置に直接接続している端末のために利用することが有用と判断する。
なお、前述の説明では上記3つのパラメータを利用したが、無線LANネットワークの品質(伝搬路の状態または通信の特性)を表現できるほかのパラメータで構成してもよい。それらのパラメータを用いて無線LANネットワークの品質が良い場合にはスコアが小さく、品質が悪い場合にはスコアが高くなるように関数を定義すればよい。
なお、ここで述べたのと逆の解釈で関数fWLANj()を定義することも可能である。すなわち、無線LANネットワークの品質が良い場合にはスコアが大きく、品質が悪い場合にはスコアが低くなるように関数を定義してもよい。この場合、端末が移動先の中継装置から好適なネットワーク環境で、データをダウンロードできる利点があるが、多くの端末が集まり、無線LANネットワーク環境が悪化する可能性がある。
<判断アルゴリズム:スコアの算出方法(2)>
前述のスコアの算出方法(1)とは異なるスコアの算出方法(算出方法(2))について述べる。前述したスコアの算出方法(1)では、有線LAN部分のΣfLANij(x1, x2)を、各中継装置間の通信特性を観測し、それらの合計により求めた。これに対して、本算出方法では、対象となる中継装置の有線LANポートで観測できる情報と、ストレージ装置のI/O状況と、当該対象となる中継装置の転送状況とを考慮して判断する。したがって、この方法では、各中継装置間の通信特性を観測する必要はない。なお、関数fLOAD(j)、関数fWLANj(y1, y2, y3, y4, ...)、関数fSTORAGEi(z1, z2, z3, ...)については、スコアの算出方法(1)と同じである。
スコアを算出するj番目の中継装置の有線LANの特性
・fLANj(x1, x2, x3, x4, x5, x6
・x1: 有線LANの送信スループット
・x2: 有線LANの受信スループット
・x3: 無線LANの送信スループット(複数のインタフェースがある場合には合計)
・x4: 無線LANの受信スループット(複数のインタフェースがある場合には合計)
・x5: ストレージ装置の読み出しスループット
・x5W: 無線LAN側に送信する情報の読み出しスループット
・x5L: 有線LAN側に送信する情報の読み出しスループット
・x5 = x5W + x5L とする
・x6: ストレージ装置の書き込みスループット
・例えば、一次関数ax5W+bx5L+c (a>0, b<0)として定義してもよい。
・値域の最小値はゼロとする。
ここでx5Wとx5Lを直接測定できる場合には、その値を用いてスコアを算出すればよい(例えば、送信IPアドレスおよび受信IPアドレスに基づいてデータ通信フローを特定し、そのフローを用いてストレージI/Oまで算出できるような実装になっている場合)。しかし、直接測定できない場合にはx1〜x4の各パラメータを使って算出する。
図9に、算出方法(2)を説明するための図を示す。中継装置内に設けられたストレージ装置173と有線LAN部171と無線LAN部172と、パラメータ(スループット)x1,…,x6とが示されている。図9を参照して、x5Wとx5Lは、以下のように算出される。
・x5L = x1 - x4
・x5w = x3 - (x2 - x6)
ここでx1〜x4の各スループットには、ストレージ装置のI/Oに関与しない制御トラフィックなども含まれるが、データに比べて量が少ないと考えられるので無視している。なお、送信IPアドレス、受信IPアドレス、通信プロトコルおよび送受信ポート番号などを用いて、全体トラフィックから制御トラフィックを除外した値を、スループットの算出対象となるトラフィックとして用いてもよい。
このようにしてfLANj()を算出することで、単一の装置(スコアの算出対象となる中継装置)から取得できる情報のみで、スコア計算が完結できる。このため算出方法(1)よりも簡単にスコアを算出することができる。
<負荷に関する補足>
前述の関数fLOAD()について補足する。関数fLOAD()は、負荷に対する単調減少関数であるとした。負荷が高い中継装置は、すでに多くの端末に対してデータまたは情報を提供していると考えられる。このため、負荷の少ない中継装置を優先するようにスコアを算出する。なお、負荷は、前述したように、一例として、CPUの処理負荷と定義されるが、別の方法として、接続端末数として定義することもできる。この場合には、接続端末数を使って本関数を定義してもよい。さらに、CPU負荷と接続端末数との両方を用いて、本関数を定義してもよい。
<ストレージ装置の特性に関する補足>
前述の関数fSTORAGE()について補足する。関数fSTORAGE()の引数として、ストレージ装置の使用率(全容量に対して情報を保存した容量の割合)および総書き込み量のほか、不揮発セルの平均書き換え回数と平均読み出しエラー率とを使用している。これら4つのパラメータは、記憶素子としてNANDフラッシュメモリを利用する際に用いるものである。
NANDフラッシュメモリは、その特性上、書き換え回数に上限が存在する。そのため、すでに多く書き換えられた記憶セルを酷使することは得策ではない。一般に、ストレージ装置単体内での記憶セル間の書き換え回数等の偏りは、NANDコントローラによってストレージ装置内部に隠蔽されるが、複数の中継装置間での偏りを無くすよう動作させることにより、システム全体での長寿命化が期待できる。例えば、劣化の程度の指標として、総書き込み量もしくは各セルの平均書き換え回数を用いることで、各中継装置間の偏りを緩和できる。なお、総書き込み量については、リダイレクト装置114単体でもおおよその量を把握できる(受信した要求および応答の少なくとも一方に含まれるコンテンツサイズ情報を用いて算出することが可能)が、書き換え回数は中継装置のストレージ装置そのものから情報を入手する必要がある。
同様に、読み出しエラー率も、記憶セルの寿命(劣化の程度)を表す指標である。読み出しエラー率が高い場合には、記憶セルとしての性能が低下していることを示している。特定のストレージ装置に書き換えを集中させないことで、読み出しエラー率の上昇を抑え、システム全体での長寿命化が期待できる。なお、読み出しエラー率が高い記憶セルを避けて書き込みを行う処理は、ストレージ装置内に隠蔽される。以上の理由により、関数fSTORAGE()において上記2つのパラメータはスコアを単調減少させる方向に作用する必要がある。
ここでは記憶素子としてNANDフラッシュメモリを用いる場合を述べたが、ほかの記憶素子であっても、考慮すべきパラメータが存在する場合には、同様にして関数を定義できる。すなわち、該当するパラメータを本関数に導入し、書き込み処理がストレージ装置の寿命に対してプラスに作用するかマイナスに作用するか、その影響度合いを踏まえて、パラメータの係数の値を決定すればよい。なお、書き換え回数がストレージ装置の寿命に影響を与えない場合には、本関数は、ストレージ装置の使用率のみに基づき設計すればよい。
<判断アルゴリズム:移動方向および速さの推定>
図8のステップS226で、端末113の移動方向および速さを推定するには、一例として、中継装置にて受信された電波の到来角、到達時刻(または到来電波の到来時刻の時間差)、電波強度の変化などを用いる。これらの情報を、中継装置、もしくは中継装置を管理する管理装置から、端末ごとに収集、もしくは複数の端末をまとめたグループごとに収集する。グループごとに収集する場合、端末113を含むグループに対して推定された移動方向および速さ等を採用すればよい。中継装置は、収集した情報を、ストレージ装置または別の記憶装置に蓄積する。なお、中継装置は、収集した情報をリダイレクト装置114に送信し、リダイレクト装置114が、これらの情報を解析することで、端末113の移動方向および速さを推定しても良い。または、リダイレクト装置114がこれらの情報を中継装置から収集した後に、リダイレクト装置114が外部サーバ等に情報解析の依頼要求を送信し、情報解析の結果をリダイレクト装置114が外部サーバ等から受け取るようにしても良い。または、リダイレクト装置114は、解析済みの情報を中継装置または管理装置から収集しても良い。解析済みの情報は、一例として、端末(群)の(相対・絶対)位置、移動方向、移動の速さによって構成される。
<判断アルゴリズム:中継装置群の決定方法>
図8のステップS227において行う、端末113の移動先範囲に含まれる中継装置群を決定する方法について補足する。先に述べたように端末113の移動方向や速さは、既存技術で算出できる。それに加え、リダイレクト装置114は、各中継装置で構成される無線ネットワークの論理トポロジおよび各中継装置の物理的位置を把握している。リダイレクト装置114は、これらの情報を総合的に利用して、移動先範囲に含まれる中継装置群を特定する。
移動先範囲は、例えば、移動方向および速さにそれぞれある誤差を含めて、ある時間後(例えばデータのダウンロードに必要な時間を考慮してもよい)に端末113が存在する範囲として算出してもよい。ここでは移動方向および速さ等を利用して移動先範囲を特定しているが、リダイレクト装置114が、端末113のユーザの行動履歴を保持しておき、行動履歴に基づいてユーザの移動先の範囲を特定してもよい。ここで述べた以外の方法で、ユーザの移動先範囲を特定することも可能である。
ここで、無線ネットワークの論理トポロジおよび各中継装置の物理的位置に関する情報は、ネットワークの設置者やネットワーク運用者によって事前に設定されてもよい。または、無線ネットワークの論理トポロジを自動的に把握する手段を設け、中継装置の物理的な位置情報を検出するための何らかの位置情報検出手段(一例としてGPSでもよい)を設けてもよい。自動的に行う場合には、リダイレクト装置114の情報収集部13にて、必要な通信プロトコルと、関連デバイス(一例として他の中継装置やGPS等)からの情報収集とが実行される。
<判断アルゴリズム:先決め方式における保存先決定方法>
続いて、リダイレクト装置114が、データ取得要求の受信に先立って、データの保存先の決定と、決定した保存先へのデータ転送と保存とを予め行っておく場合(先決め方式)について述べる。リダイレクト装置114は、前述したデータ取得要求の受信時にデータの保存先を決定する後決め方式と同様に、“リダイレクト装置114が収集する情報とその収集方法”の説明で述べた各種特性情報を収集しておく。なお、特性情報の鮮度を考慮して、収集した特性情報を一定期間ごとに更新してもよい。あるいは、特性情報の保存期間を、所定の時間(例えば過去5分間分など)に限定するようにしてもよい。
リダイレクト装置114は、所定の間隔で、各中継装置に保存されているデータのリストを取得する(この段階で、データそのものを取得しておいてもよい)。リダイレクト装置114は、このリストと、先に収集していたネットワークやストレージ装置等の特性情報とに基づき、データの保存先(配置先)となる中継装置を決定する。データの保存先(配置先)を決定するにあたっては、いくつかの方法が考えられる。以下、本実施形態で利用できる配置例を示す。
(配置例1:無線LANユーザが多い部分にデータを配置)
第1の方法は、事前に収集した特性情報(中継装置が直接接続している無線ネットワークの状況(平均スループット、平均遅延、平均エラー率、など))に基づいて、接続端末数(ユーザ数)が多い中継装置を特定し、特定した中継装置に対して多くのデータを割り当てる(保存させる)。
例えば、リダイレクト装置114は、M個の中継装置に対して合計N個のデータが与えられた場合、各中継装置iにおけるユーザ数Uに応じて、保存すべきデータの数Sを決める。中継装置間で同一データの重複を許さないとすれば、ΣS=Nである。
例えば、リダイレクト装置114は、最もユーザ数が多い中継装置に対して、N個のデータからランダムにデータを選択して、選択したデータを当該中継装置に保存させていく。中継装置の空き容量が無くなる、もしくは所定容量に到達するまで、データを繰り返し選択して、中継装置に保存させる。完了したら、次にユーザ数が多い中継装置に対して同様の処理を行う。N個のデータがいずれかの中継装置に保存された段階で、処理は終了となる。
データのリストは、データの人気度の情報を含んでいても良い。前述の例では、ランダムにS個の情報を選択していたが、人気度が高いものから順番にS個を保存すれば、人気が高いデータほど、ユーザ数が多い中継装置に保存されるようになる。これにより、当該データの参照確率が高まり、中継装置の上位回線や上位に位置するCDNキャッシュサーバ、オリジンサーバに対するアクセス増加を回避できる。
ただし、人気度の順序と、中継装置の選択順序(ユーザ数の多い順序)とを固定的に決めると、特定の中継装置に負荷が集中する可能性がある。そこで、ランダムに選択する方法と人気度に基づく方法との中間的な方法も可能である。
具体的には、保存するデータの選択有無が、人気度とユーザ数とに基づいて決定される確率に基づく事象となるようにする。例えば、ユーザ数が多い中継装置に対して保存対象となるデータを選択するかしないかの処理を1回実行した時に、人気度が高いデータは高い確率で選択され、人気度が低いデータは低い確率で選択されるようにする。一方、ユーザ数が少ない中継装置に対しては、人気度が高いデータは低い確率で選択され、人気度が低いデータが高い確率で選択されるようにする。
このように設計することで、ある中継装置が常に特定の人気データだけを保存するという状況を回避できる。結果として、システム全体の負荷が平滑化される。
前述に説明した例では、中継装置間で、同じデータが重複して保存されることを認めていなかったが、重複を許容してもよい。また、必要に応じて、同一のデータを、複数の中継装置に複製して保存してもよい。この場合、ΣS>N(i=1,…,M)として、同一データの重複を許せばよい。なお、どこの中継装置にも保存されないデータが発生することを無くすため、はじめに中継装置間で同一データの重複を認めずに、Si_min個(ただし、ΣSi_min=N(i=1,…M))のデータを保存し、その後、記憶容量に余裕がある中継装置に対して、重複して保存させるデータを選択し、選択したデータを保存させるようにしても良い。
(配置例1の追加事項)
ユーザ数が多い中継装置に多くのデータを保存することは、データをより効率的に配信する上で有用である。しかし、多くのデータを保存するためには、ストレージ装置の容量が必要となる。このため、アプリケーション層のレベルでデータ量(情報量)を減らすことができる場合、データ量を削減する工夫を行っても良い。
例えば、対象となるデータの一部分のみを保存する、または、データの圧縮度合いを高めてデータのサイズを小さくする、などの方法が考えられる。より具体的な例として、動画を保存する場合を考える。動画全体を保存するとデータサイズが大きくなってしまうことから、動画の最初の部分またはハイライト部分だけを保存しておく。これらを実現するためには、動画全体を複数の断片として配信する通信方式が有効である。配信を制御するメタ情報を変更することで、上述の一部保存に対応できる。具体的には、保存した部分の取得先を該当する中継装置とし、それ以外の部分は上位サーバ(オリジンサーバまたはCDNキャッシュサーバ等)のままにする。すなわち、中継装置に保存されていない部分の情報については、従来通り、オリジンサーバまたはCDNキャッシュサーバから転送すればよい。なお、配信を制御するメタ情報をリダイレクト装置114がリダイレクト応答の代わりに端末に送信し、端末は、メタ情報に応じた動画データ部分だけの取得要求を送信し、取得要求を受信した中継装置は、メタ情報に応じた動画データ部分を取得するようにしてもよい。
さらに動画について言及すれば、無線ネットワークの状況に応じて、保存する動画の品質(ビットレートや解像度)を変更してもよい。例えば、ユーザ数が多く、様々な多数の動画が要求されると思われる場合には、低いビットレートでエンコードした動画を保存しておく。一方、ユーザ数が少ない場合、もしくは要求される動画の数が少ない場合(要求される動画が、特定の動画に偏ることがわかっている場合)は、高いビットレートでエンコードした動画を保存しておく。この方法についても、先に述べたように動画配信のメタ情報を変更することで実現できる(所定の品質の動画は中継装置、それ以外の動画は上位サーバを取得先とするように、リダイレクト装置114は、端末に指定する)。
なお、ユーザ数もしくは、要求の数・多様性をベースとして説明したが、両者を組み合わせたり、別の基準を用いたりして、保存するデータの数と、提供する品質とのバランスをとってもよい。
(配置例2:複数の中継装置間で、ユーザの移動方向に合わせてデータを配置)
中継装置は、カバレッジ内(電波が到達する範囲)内に存在する端末にデータ(コンテンツ等)を配信するが、ユーザが移動すると、端末が当該中継装置から離れてしまう。この場合、当該端末にとって、この中継装置は、データの取得先としては適切ではなくなってしまう。
これに対応するため、ユーザの移動傾向を踏まえて、リダイレクト装置114は、複数の中継装置のそれぞれに、ユーザ(端末)から要求されたデータ、またはデータを分割した複数の断片を配置しても良い。ユーザの移動傾向を把握するにあたっては、個々のユーザを対象として、ユーザ単体の移動傾向を把握してもよい。あるいは、一定の特徴を持つユーザ群を対象とし、ユーザ群の移動傾向を把握してもよい。前者のようにユーザ単体の移動傾向を把握する場合は、特別なサービス契約をしている加入者を対象とするなどの制限を設けてもよい。後者の場合、一定の特徴を持つユーザ群として、同じ方向に移動するユーザ群、年齢・性別・所属・利用する端末などの共通点を有するユーザ群、同じ情報(コンテンツ情報)を所定の時間内に要求したユーザ群、過去X日以内に所定の範囲で通信を行ったユーザ群などが考えられる。
ユーザ単体またはユーザ群の移動傾向を得るために必要な情報として、端末が無線ネットワークに接続する際のユーザ情報(ユーザ名やその他の情報)や、中継装置に対するアクセス履歴を用いることができる。リダイレクト装置114は、これらの情報を各中継装置から取得すればよい。また、ユーザの移動方向および移動の速さについては、前述したように、中継装置で受信した電波の到来角度および到来時間などから判断できる。中継装置が、ユーザ(端末)の状況の把握を、リダイレクト装置114からの要求に応じて実行する場合には、リダイレクト装置114が、特定の端末を指定し、中継装置が、特定の端末の移動傾向を把握しても良い。または、中継装置が、リダイレクト装置114から要求を受けた後の所定の時間に観測された任意の1つまたは複数の端末を対象として、移動傾向の把握を実行しても良い。
ユーザ群を特定する場合、これらの情報を総合的に判断して、同じ方向に移動しているユーザ群を特定する。同じ方向とは、同じ経路の同じ向きのことでもよいし、所定の方位に対して所定の角度範囲に含まれることでもよい。その他の方法で定義してもよい。
特定するユーザ群は1つに限定されない。複数のユーザ群を同時に特定してもよい。例えば、ある施設の入り口から施設内へ向かう複数の動線がある場合、これらの動線を異なるユーザ群として特定してもよい。また、ある動線上で、速さがいくつかの群に分けられる場合には、それらを互いに異なるユーザ群として特定してもよい。この場合、ユーザ群ごとに、移動方向および速さが算出される。
なお、ユーザ群を特定する処理は、リダイレクト装置114で行う以外に、外部のサーバ(クラウド上に設けられた管理装置など)で行ってもよい。外部のサーバを利用する場合、リダイレクト装置114が外部サーバに、ユーザ群を特定する処理に必要な情報を提供しても良い。あるいは、リダイレクト装置114が、中継装置などに指示を出し、指示を受けた中継装置が、外部サーバに、ユーザ群を特定する処理に必要な情報を提供してもよい。または、外部サーバが独自に、当該処理に必要な情報を収集していてもよい。
ユーザ群が特定されると、リダイレクト装置114は、ユーザ群の移動経路上にある中継装置を特定し、特定した中継装置に、データを保存するよう指示を出す。先に述べた通り、リダイレクト装置114は、ネットワーク装置の物理的な位置と論理的なトポロジを把握しているので、それらを用いてユーザ群の移動の推定経路上にある中継装置を特定する。
移動経路上にある複数の中継装置にデータを保存する場合、データを断片化(分割)してそれぞれに保存してもよい。つまり、データを複数の中継装置に断片化して保存するに際し、データの連続性を考慮する。具体的には、大きなサイズを有するデータであれば、移動経路の前側(現在のユーザの位置に近い側)に当たる部分に配置されている中継装置に、データの先頭部分の断片を保存し、移動経路の後半になるにしたがって、中継装置に、データのより末尾側の断片が保存されるようにする。データの配信に当たっては、すでに述べたように、大きなデータを断片化して配信する方法を利用し、そのメタ情報を書き換えることで、これを実現する。具体的には、データにおける各断片の位置に合わせて、各々の中継装置が自装置に対応する断片を適切に取得および保存できるように書き換える。この書き換え処理は、リダイレクト装置114で行っても良いし、個々の中継装置が行っても良い。また、配信方法が断片化に対応していない場合には、HTTPの範囲指定ダウンロードを使って、データの一部分だけを配信できる。その際、各中継装置は、自装置の担当部分だけではなく、その前後の部分も加えて保存してもよい。これにより、端末が、前の中継装置から受信し損ねた部分を、別の中継装置からの取得によって補うことができる。
(配置例2の変形)
先に述べた配置例2の変化形として、移動経路の前側付近にある中継装置に人気度の高いデータを保存し、経路を進むにしたがって人気度が低くなるデータを配置するようにしてもよい。
(配置例3:ストレージ装置の状態を考慮した配置)
前述の2つの配置例1および配置例2では、ストレージ装置の状況を考慮することなく、データを保存する中継装置を決定していた。本配置例では、ストレージ装置の状態を踏まえて、データを保存する中継装置を決定する。先に述べた通り、NANDフラッシュメモリ等の不揮発メモリは、頻繁な書き換え処理によって、ストレージ装置としての寿命が影響を受ける。すなわち、劣化が進む。そのため、すでに多くの書き換え処理が行われているストレージ装置を酷使しないことが、システム全体の長寿命化につながる。
本配置例3では、データの有効期限(ストレージ装置上で保持できる期限、またはオリジナルデータに対する再確認が必要な時限)を表したリストが、各中継装置からリダイレクト装置114に通知される場合を想定する。このリストと、前述した配置例1もしくは配置例2で述べた方法とを組み合わせて、保存先を決定する。具体的には、ストレージ装置の劣化の程度の指標、例えば平均書き換え回数または総書き込み量に基づいて、中継装置に対して優先度を設定する(書き換え回数または書き込み量が少ない中継装置ほど、高い優先度を設定する)。さらに有効期限が短い順に整列させた際の順番を人気度として扱う(最も短いものが最も人気度が高いとする)ことで、配置例1もしくは配置例2の方法が適用できる。これにより有効期限が短く書き換えが頻発すると予想されるデータが、書き換え回数もしくは書き換え量が少ない中継装置に保存される)。配置例1もしくは配置例2で複数の中継装置が保存先の候補としてある場合、優先度が高いものを優先的に選択し、選択した中継装置に、データを保存する。
<判断アルゴリズム:先決め方式に対するスコア概念の導入>
後決め方式で用いたスコアの概念を、先決め方式でも用いてよい。先決め方式の説明で述べたように、リダイレクト装置114は、各中継装置の特性情報を把握し、これに基づき、各中継装置のスコアを管理する。後決め時と同様に、パラメータごとに数値化し、各関数を計算し、関数の計算値を合計することで、算出すればよい。
例えば、配置例1であれば、ユーザ数が多い中継装置から優先的にデータを保存していくので、ユーザ数が多い場合に、スコアが大きくなるようにすればよい。
配置例2の場合には、移動傾向を加味しない状態の「基本スコア」を各中継装置の負荷やネットワーク特性に基づいて算出しておく。その後、特定のユーザもしくはユーザ群を対象に、基本スコアに加点を行うことで、端末スコアを算出する。端末スコアの算出に当たっては、例えば、対象となるユーザ群の移動経路上に存在する中継装置に加点する。また、配置例2において、人気度を考慮する場合、人気度に応じて加点を調整する。すなわち、人気度が高いデータを保存するのに好ましい経路の前側付近の中継装置のスコアを高くし、それ以外の中継装置のスコアは調整しないようにする。また、データを断片化する場合にも同様に、断片ごとにスコアを、計算して調整すればよい。配置例3にて考慮したストレージ装置の特性については、すでに先決め時のアルゴリズムの説明で述べた通り、基本スコアに反映すればよい。
(判断アルゴリズム:先決め方式の保存先決定処理に関する補足)
前述の配置例1〜配置例3で述べた先決め方式の保存先決定処理は、リダイレクト装置114が行うことを前提としたが、これに限定するものではない。例えば、リダイレクト装置114と外部のサーバ装置とが連携する方法が考えられる。連携の一例として、リダイレクト装置114が情報を収集し、リダイレクト装置114が収集した情報を、外部のサーバ装置が利用して、判断アルゴリズムを高速に実行する方法が考えられる。また、外部のサーバ装置が、情報の収集から保存先の決定まで実行し、その結果をリダイレクト装置114に通知してもよい。リダイレクト装置114は、端末からデータ取得要求を受けた際は、その結果に基づく応答を、端末に送信すればよい。
<リダイレクト装置114:データの再配置(先決め、後決め)>
先決め方法または後決め方法による保存先決定処理によってデータを保存する中継装置が決定された後、所定の条件が満たされたタイミングで、データの再配置を行ってもよい。
所定の条件の例として、以下が考えられる。
1)リダイレクト装置114の管理下にある中継装置のいずれかにおいて空き容量不足に陥った場合(例えば、空き容量が閾値以下になった場合)
2)前回データの保存先を決定した時に比べて、大きく環境条件に変化が生じた場合(例えば、中継装置に接続する端末が10台以上増減した、など)
3)事前に定めた時間帯が終了した(朝、昼、夜、深夜の時間区分に応じて再配置を行う場合など)
4)複数の中継装置間の使用率に大きな偏りが生じた(例えば最大の使用率と最小の使用率の差が一定値以上になる、など。使用率は、例えば一定時間内における端末からの要求数でもよい)
再配置は、後決め方法および先決め方法のいずれで行ってもよい。再配置は、該当する中継装置に保存されているすべてのデータ(コンテンツ等)でもよいし、保存されているすべてのデータのうちの一部のデータもよい。
再配置によりデータを保存する中継装置の変更が決定された場合、リダイレクト装置114は、データを現在の中継装置から新しい中継装置に複製または移動するよう制御してもよいし、新しいデータを再度、オリジンサーバ303から取得するよう制御してもよい。
なお、上述した一連の説明では情報を収集する処理と、リダイレクト処理とを連続する動作のように記述したが、各々独立かつ並行に実行してもよい。本実施形態によれば、従来よりも細かい範囲を対象としたデータ配信の実現と、ストレージ装置の負荷の分散、ストレージ装置の長寿命化を同時に達成できる。
(第2の実施形態:アップロード対応)
第1の実施形態では、データをダウンロードする場合を述べた。本実施形態では、データのアップロードに対応する場合について述べる。本実施形態のシステム構成(ネットワーク)およびリダイレクト装置114、その他の装置構成は、第1の実施形態と同じである。
図10に、データをアップロードする場合のシーケンスを示す。本シーケンスは、ダウンロード時のシーケンスと基本的には同じである。図10のステップS201〜S213は、図3のS101〜S113に対応する。ステップS201とS202は、図3のステップS101とS102と同じである。また、端末113が発する名前解決要求に対してDNSによってCDNキャッシュサーバ203が特定され(S203〜S209)、端末113が発するデータ保存要求(アップロード要求)は、キャッシュサーバ203によるリダイレクト指示によって、リダイレクト装置114に導かれる(S210〜S213)。リダイレクト装置114によって、端末113がアップロードしたいデータを保存するべき適切な中継装置が選択される(S214)。リダイレクト装置114は、選択した中継装置へリダイレクトすることを指示するリダイレクト応答を端末113に送信する(S215)。端末113は、リダイレクト応答に示される中継装置に、アップロードしたいデータのデータ保存要求を送信する(S216)。このデータは、当該中継装置に確保された領域に保存され、保存が完了すると、当該中継装置は端末113に、データ保存が完了したことを通知する応答を返す(S218)。中継装置に保存されたデータは、最終的には、中継装置から、外部ネットワーク上のサーバ(図1のオリジンサーバ303でもよい)や、別途設けたストレージ装置に送信され、ここに保存される。データ保存要求に、URL等のアップロード先(識別子)が含まれても良く、その場合は、中継装置は、当該URLの場所にデータが最終的に保存されるよう、該当するサーバ(オリジンサーバでもよい)にデータを転送するよう制御する。
なお、アップロードするデータの保護(セキュリティ)や、アップロードするデータとユーザとを結びつけるためのユーザ情報の送信などは、一連のシーケンスに付随する形で実行される(図示せず)。また、図10では、端末113がデータ保存要求を送信して、対応するリダイレクト応答が送信されているが(S212、S215)、端末113が“アップロード先要求”をリダイレクト装置114に送信して、リダイレクト装置114がアップロード先となるストレージ装置の場所(URL)をリダイレクト応答として、端末113に送信してもよい。
(保存先の確保)
データのアップロードに対応するにあたって、中継装置にデータを一時的に保存する領域を確保する必要がある。リダイレクト装置114がこの領域確保のための処理を制御し、リダイレクト装置114の指示を受けた中継装置が、データを保存する領域を確保する処理(領域確保処理)を行う。
具体的には、この領域確保処理は、データ保存要求(アップロード要求)をリダイレクト装置114が受信し、リダイレクト装置114が適切な中継装置へのリダイレクトを端末113に指示する際に実行される。リダイレクト装置114は、各中継装置のストレージ装置の使用状況を把握しているため、どの中継装置に、端末113がアップロードしたいデータの保存領域が残っているかを判断できる。
もし、何らかの方法によってアップロードするデータのサイズが事前にわかっていれば、そのサイズを保存できるだけの領域を確保できる中継装置が存在するかどうかを判断する。もし事前にサイズがわからない場合は、過去にアップロードされたデータの平均サイズまたは契約に基づく最大サイズなど、一般的な情報を用いて、データを保存するための領域を確保できるかどうかを判断してもよい。
なお、リダイレクト装置114は、端末113に対してアップロードサイズを問い合わせることができる場合、端末113にアップロードサイズの問合せメッセージを送信しても良い。リダイレクト装置114は、判断の結果、1台の中継装置を特定できれば、当該中継装置をアップロード先として、端末113にリダイレクト応答を返す。複数台の中継装置が候補になっている場合には、何らかの方法で1台に絞り込みを行う。
例えば、第1の実施形態で述べたスコアを用いて、絞り込みを行ってもよい。具体的には、中継装置の負荷や、ネットワークの状況に加え、ストレージ装置の空き容量を加味して、第1の実施形態と同様の方法で、基本スコアを求める。その後、第1の実施形態と同様にして、必要に応じて、端末スコアを算出する。この際、アップロードの候補にならない中継装置の基本スコアまたは端末スコアはゼロにする。その後、ゼロ以外の基本スコアまたは端末スコアを有する中継装置に対して、ストレージ装置の特性(総書き込み量や平均書き換え回数)を踏まえた調整を行ってもよい。例えば、所定のパラメータが大きい中継装置のスコアを減算し、選択されにくくする(この調整は基本スコアの算出の際に行ってもよい)。さらに、接続している端末の位置および端末の移動状況を踏まえて、点の加算(直接接続している中継装置や、移動方向に位置する中継装置のスコアを加算)や、減算(接続している端末の位置から離れた中継装置や、移動方向とは異なる方向に位置する中継装置のスコアを減算)を行ってもよい。
これにより選択可能な複数の中継装置候補間でスコア(基本スコアまたは端末スコア)が比較されるため、適切な中継装置が選択される。
<第1・第2の実施形態の補足:個人への対応>
(個々のユーザの利用可否に関する判断)
端末のユーザ情報は、中継装置の端末管理機能(図示せず)によって管理される。もしくは、端末のユーザ情報は、複数の中継装置を集中管理する管理装置とそのバックエンドとなる認証サーバ(図示せず)とによって管理される。これら管理機能もしくは管理装置は、ユーザ名およびパスワードなどの無線ネットワークのユーザ情報を管理すると共に、端末から接続要求を受信した際に、接続の可否判断を行う。また、管理機能もしくは管理装置は、接続中の端末が、中継装置に送信するフレームの暗号化に使用する暗号鍵の管理なども行う。
第1および第2の実施形態のリダイレクト装置114が、個々のユーザに対応した処理を行う場合、中継装置の管理機能もしくは管理装置と連携して、接続中の端末のユーザ情報を取得する。例えば、リダイレクト装置114は、MACアドレスもしくはIPアドレスを元にユーザ名を取得する。
なお、無線ネットワークへの接続を管理する事業者と、中継装置のストレージ装置を管理する事業者とが異なる場合、リダイレクト装置114は、当該無線ネットワークへの接続を管理する事業者の情報の取得を試みる(この情報は、例えばユーザ名(ユーザ情報)に付随する情報として得られる)。リダイレクト装置114は、当該事業者の情報に基づき無線ネットワークへの接続を管理する事業者のサーバを特定し、特定したサーバに対してユーザ情報を照会する。照会の結果、中継装置のストレージ装置の利用が許可された場合、リダイレクト装置114は、中継装置に、当該ユーザの領域を確保するよう指示を出す。
ストレージ装置における領域の確保に必要となる情報(例えば、確保すべき領域のサイズの上限など)は、リダイレクト装置114の内部に保存されていてもよいし、各中継装置に保存されていてもよいし、無線ネットワーク事業者の管理装置もしくは認証サーバ(図示せず)内部に保存されていても良い。管理装置や認証サーバに保存されている場合には、リダイレクト装置114は、ユーザ情報の照会結果とともに、当該情報を取得すればよい。
両事業者が同じ場合、ユーザ情報は、リダイレクト装置114の記憶部14、もしくはリダイレクト装置114の上位に位置づけられる管理装置(図示せず)にて管理されている。リダイレクト装置114は、記憶部14または管理装置から取得したユーザ情報を用いて、ストレージ装置の利用可否を確認する。例えばユーザ名ごとに、利用可能な中継装置を指定したデータベースを利用してもよい。中継装置の利用が許可されている場合、リダイレクト装置114は、中継装置(ストレージ装置)に、当該ユーザの領域を確保するように指示を出す。
リダイレクト装置114が、個々のユーザ(人)のユーザ情報以外の情報を利用して、利用する中継装置を判断してもよい。これには、これまでに述べた各方法に加えて、ユーザ(端末)の特性情報を加味して、判断すればよい。例えば、端末スコアを算出する際に、ユーザによる中継装置の利用動向を考慮してもよい。例えば、ユーザが頻繁に利用する(端末が頻繁にアクセスする)中継装置のスコアが高くなるように加点を行ってもよい。
(第3の実施形態:リダイレクト装置114もストレージ装置を備える場合)
これまでに述べた各実施形態では、リダイレクト装置114は各中継装置に内蔵(内部接続)されるストレージ装置に対して、ダウンロード用またはアップロード用のデータの保存を指示していた。本実施形態のリダイレクト装置114は、ストレージ装置を具備し、ストレージ装置にデータを保存し、自装置がデータを端末に送信することもできる。この場合、リダイレクト装置114は、端末からデータ取得要求を受信した場合に、端末に中継装置へリダイレクトさせることなく、要求されたデータを自装置のストレージ装置から読み出して、端末が接続している中継装置を介して、端末に送信することもできる。
図11に、本実施形態に係るリダイレクト装置114のブロック図を示す。この図は図4で示した第1および第2の実施形態におけるリダイレクト装置114に対して、ストレージ装置として大容量記憶部16を追加したものである。大容量記憶部16の具体例として、HDDやSSDなどを用いることができる。
リダイレクト装置114は、中継装置(またはストレージ装置)と必要に応じて協調して、自装置で保存すべきデータを特定し、特定したデータを、大容量記憶部(ストレージ装置)16に保存する。具体的な方法としては、既存キャッシュ装置で一般的に使用されている方法が利用できる。具体的には、以下の方法が考えられる。
(1)複数の中継装置で参照されるデータ(端末から受信したデータ取得要求で特定されるデータ)を保存する方法
(2)中継装置での参照頻度が高いもしくは低いデータを保存する方法
(3)所定の閾値より大きいサイズもしくは小さいサイズのデータを保存する方法
(1)の方法において、第1の実施形態の後決め方式の配置アルゴリズムを用いる場合について述べる。リダイレクト装置114が、同じデータに対するデータ取得要求が複数の中継装置で受信されたことを検出した場合に、リダイレクト装置114が、当該データを、大容量記憶部16に保存する。その際、リダイレクト装置114に保存されるデータと、中継装置に保存されているデータとが重複することを避けるため、中継装置に当該データを削除するよう指示情報を送信してもよい。指示情報を出さない場合、当該データの有効期限などに基づいて、中継装置の管理アルゴリズムが適切にデータを管理する。
一方、(1)の方法において、先決め方式の配置アルゴリズムを用いる場合には、複数の中継装置で利用する可能性が高いデータを、リダイレクト装置114の大容量記憶部16に保存すればよい。例えば、第1の実施形態で述べたように、リダイレクト装置114は、データの人気度を含んだリストを取得できるとする。リダイレクト装置114は、リストを用いて、第1の実施形態と同様にして、当該データを割り当てる中継装置を決定するための処理を実行する。リダイレクト装置114は、あるデータに対して、複数の中継装置を選択した場合、当該複数の中継装置に、当該データを保存させることに加えて、リダイレクト装置114の大容量記憶部16にも、当該データを保存する。このようにすることで、比較的単純に、本実施形態への拡張が可能である。なお、リダイレクト装置114が、あるデータを大容量記憶部16に保存することを確定した後、中継装置への当該データの割り当てを中止し、当該中継装置には、別のデータを再割り当てするように処理を変更してもよい。
また、人気度の上位(例えば上位100位まで)にランクされているデータを、機械的にリダイレクト装置114の大容量記憶部16に保存するようにしても良い。
続いて、(2)の方法において、後決め方式の配置アルゴリズムを用いる場合について述べる。第1の実施形態で述べたように、リダイレクト装置114は、各中継装置で保存されるデータに対する参照回数を把握している。この参照回数に基づき、各中継装置に保存したデータの中で、所定の時間が経過しても参照回数が少ないもの(例えば参照回数が所定の回数より少ない)を特定する。リダイレクト装置114は、特定したデータを、大容量記憶部16に保存する。この時、各中継装置からデータをコピーまたは移動してもよいし、新たにオリジンサーバにアクセスして、同じコンテンツ識別子を有する最新のデータを取得してもよい。なお、参照回数が、上記の所定の回数より小さい別の所定の回数を下回るデータは、リダイレクト装置114での保存しないようにしてもよい。
(2)の方法において、先決め方式の配置アルゴリズムを用いる場合、過去の参照回数(≒人気度)または、当該過去の参照回数などに基づいて予想される参照回数を利用する。それ以外の動作は、後決め方式の場合と同じである。なお、上記の後決め動作の説明では、参照回数が所定の回数よりも少ない場合を例に説明したが、参照回数が所定の回数より多い場合も、同様の処理が可能である。
参照回数が少ないデータをリダイレクト装置114で保存する場合は、個々の中継装置の記憶領域を節約できる効果がある。参照回数が多いデータをリダイレクト装置114で保存する場合は、リダイレクト装置114に負荷を集約して、中継装置の負荷を減らす効果がある。
続いて、(3)の方法において、後決め方式の配置アルゴリズムを用いる場合について述べる。リダイレクト装置114が、要求されたデータのサイズが閾値より大きいか小さいかを判断し、データを自装置で保存するか、中継装置に保存させるかを判断する。中継装置にデータを保存させることを決定した場合、中継装置にデータの保存の指示情報を送信する。
(3)の方法において、先決め方式の配置アルゴリズムを用いる場合には、リストにデータのサイズに関する情報が含まれていることが前提となる。リストに含まれる各データのサイズに基づいて、リダイレクト装置114は、自装置と中継装置のどちらでデータを保存するかを決定すればよい。
なお、(2)または(3)の方法において、後決め方式の配置アルゴリズムを用いる場合、リダイレクト装置114が保存すべきデータを取得および保存する処理は、事前に定めたタイミングで実行してもよいし、管理下にあるいずれかの中継装置の空き容量が所定の閾値以下になったときに実行してもよい。
(第4の実施形態:リダイレクト機能を中継装置が兼ねる場合)
これまで述べた各実施形態では、どの中継装置にデータを保存するかを決定する処理は、リダイレクト装置114が行っていた。本実施形態では、中継装置が、リダイレクト装置114の機能も兼ねる場合を示す。
図12に、本実施形態に係る中継装置を示す。この構成は、これまで述べたリダイレクト装置114が備える機能と中継装置とが備える機能とを、ハードウェアのレベルで結合したものとなっている。図12における通信部12、情報収集部13、記憶部14および判断部15は、図4と同じである。有線LAN部171、無線LAN部172、およびストレージ装置173は、図9と同じである。図4のI/F部11は、有線LAN部171に含まれている。転送部174は、有線LAN部171に接続されるネットワークと、無線LAN部172に接続される無線ネットワーク間で、フレームまたはパケットの転送を行う。制御部175は、中継装置全体の動作を制御する。また、制御部175は、これまで述べた各実施形態における各種処理(中継制御処理、リダイレクト装置114との処理、端末113との処理)を行う。図11の大容量記憶部16は、ストレージ装置173がこれを兼ねていても良いし、別途、大容量記憶部16に対応する別のストレージ装置を追加してもよい。
図13は、制御部上で動作するソフトウェアとして、リダイレクト装置114の機能等を実装した場合の中継装置の構成を示す。制御部180のブロック内に、各機能を実装したソフトウェアが示される。これらのソフトウェアが、制御部180上で動作する。制御部180は、CPU等のプロセッサにより構成される。情報収集SWは情報収集部13に、判断SWは判断部15に、対応する。通信SWは、通信部12の機能を含む。中継制御SWは、図12に示した制御部175が行っていた中継制御処理を行い、他SWは、リダイレクト装置114との処理、および端末113との処理などを行う。これらのSWはOS上で実行され、図にもOSのブロックが示されている。なお、記憶SWは、記憶部14が具備する機能のうち、データ管理等を行い、実際にデータを記憶する機能は、ハードウェアの記憶部14もしくはストレージ装置173が行う。これによって、専用の機器を中継装置内に設置しなくても、リダイレクト装置の動作が実現できる。
(第5の実施形態:リダイレクト機能を無線LANコントローラが兼ねる場合)
本実施形態では、無線LANコントローラ(WLC)が、リダイレクト装置114の機能を搭載している。図14に、本実施形態に係るWLCの構成を示す。図14のように、WLCは、通信部12、情報収集部13、記憶部14、判断部15、大容量記憶部16、複数の有線LAN部191−1〜191−N、無線制御部192、および制御部193を備えている。有線LAN部191−1〜191−Nは、有線ネットワーク(ネットワーク101)に接続されている。ここでは複数の有線LAN部が設けられているが、1つでもよい。無線制御部192は、各中継装置を介した無線通信を処理したり、各中継装置の電波強度などの無線パラメータを制御・監視したりする部分である。通信部12は、有線LANの上位層のプロトコル等の処理を行う。制御部193は、本装置全体の動作を制御(無線制御部192の制御、通信部12の制御等を含む)する。図14のような構成は、既存のWLCのハードウェアに対してリダイレクト機能の追加に必要なハードウェアを追加して搭載することで、実現できる。
図15は、リダイレクト機能をソフトウェアで実行する場合のWLCの構成例を示す。図15のように制御部193で動作するソフトウェアとして、リダイレクト機能が実現される。無線制御SWは、図14の無線制御部192に相当する機能を備えたソフトウェアである(なお、図14ではハードウェア要素として構成したが、図14の場合にも制御部上のソフトウェアとして構成してもよい)。また、中継装置が接続される無線ネットワークの情報は、WLC等の制御装置に集約されていることが一般的であり、ここにリダイレクト機能を搭載することで、情報収集のコスト(通信オーバヘッドなど)を低く抑えることができる。
(第6の実施形態:中継装置とストレージ装置が別々の場合)
これまでに述べた各実施形態では、中継装置(例えば無線LANアクセスポイント)がストレージ装置を具備している場合を想定していた。
本実施形態では、中継装置本体とストレージ装置とが別々に実装されている場合を示す。
図16に、本実施形態に係る中継装置とストレージ装置との第1の例を示す。中継装置とストレージ装置とは、別々の筐体に格納される。中継装置とストレージ装置は、ネットワーク(ここではLAN)200を介して、互いに接続されている。
中継装置は、有線LAN部171、無線LAN部172、転送部174、制御部175、記憶部221を備えている。記憶部221は、データを格納するストレージ装置とは別の記憶部であり、中継装置としての動作に必要な情報等を格納するためのものである。記憶部221は、一例として揮発性または不揮発性のメモリである。
ストレージ装置は、有線LAN部211、通信部212、制御部213、記憶部214および大容量記憶部215を備える。大容量記憶部215は、データを格納するためのストレージ部品である。制御部213は、ストレージ装置の全体動作を制御する。記憶部214は、ストレージ装置の動作に必要な情報またはデータを格納する。記憶部214は、一例として揮発性または不揮発性のメモリである。通信部212は、有線LANより上層の通信プロトコルの処理を行う。
リダイレクト装置114は、事前に登録されたストレージ装置の近隣に存在する中継装置を特定する必要がある。中継装置を特定する処理は、例えばストレージ装置と同じネットワークに接続しているかどうか、または、ネットワークの往復遅延が所定の値以下であるかどうかといった項目を確認することで決定する。あるいは、中継装置を管理する管理置に問い合わせることで、管理者が設定した中継装置とストレージ装置との関連付けを把握してもよい。あるいは、リダイレクト装置114に対して管理者が事前に中継装置とストレージ装置との関連付けを入力しておいてもよい。
なお、中継装置とストレージ装置との関連付けは、両者が十分に近くに設置されていることが必要であり、両者を相互に接続するネットワークが、ストレージ装置からの情報送信を妨げることない帯域を有していることが必要である。上記関連付けの処理にあたって、帯域測定の処理を行い、十分な帯域が得られない場合には、関連付けを行わないようにしてもよい。また、中継装置とストレージ装置とが(論理的には異なる装置だが)物理的に直接接続されていることが確認できる場合、両者を必ず関連づけるという判断をしてもよい。
リダイレクト装置114は、関連づけされた中継装置とストレージ装置とを、これまで述べた各実施形態における中継装置と当該中継装置が具備するストレージ装置と同様に扱えばよい。一例として、リダイレクト装置114は、中継装置とのみ直接通信を行い、ストレージ装置とは直接通信を行わない構成も可能である。あるいは、リダイレクト装置114は、中継装置のみならず、ストレージ装置とも直接通信を行う構成も可能である。この場合、データの保存指示および転送指示等は、ストレージ装置に直接送信する形態も可能である。また、ストレージ装置の特性情報の収集も、ストレージ装置から直接行う形態でも可能である。また、端末が送信する要求(データ取得要求、データ保存要求等)も、中継装置を介して、ストレージ装置に直接送信する形態も可能である。もちろん、通信は、中継装置とのみ行い、中継装置およびストレージ装置間の通信は、外部に隠蔽されてもよい。
図17に、本実施形態に係る中継装置とストレージ装置との第2の例を示す。中継装置には、コネクタ222が設けられている。コネクタ222は、外部バス223を介して制御部175と接続されている。ストレージ装置には、コネクタ216が設けられている。コネクタ216は、外部バス217を介して制御部213に接続されている。外部バス223、217は、PCIExpressなど汎用の外部バスである。中継装置とストレージ装置とは、コネクタ222、216を介して1:1に接続される。この構成では、リダイレクト装置114は、図16の場合のような、中継装置とストレージ装置との関連付けを検出するといった複雑な動作を行う必要が無い。
図18は、SGMIIやXGMII、USGXMIIなど規格の通信用インタフェースを用いて中継装置とストレージ装置とを接続する場合の構成を示す。図19は、同様の通信用インタフェースを用いて中継装置とストレージ装置とを接続する場合の別の構成を示す。
図19では、中継装置の制御部175と、ストレージ装置の制御部213とが、それぞれコネクタ225およびコネクタ218を介して、直接接続されている。一方、図18では、中継装置の制御部175とコネクタ225との間に、転送部174が介在している。
図19の構成では、中継装置とストレージ装置は、基本的には1:1で直接接続している。よって、前述した中継装置とストレージ装置との関連付けを検出するといった複雑な動作は不要である。一方、図18の構成の場合、転送部を介して複数の装置(ストレージ装置、他の中継装置など)が接続しているため、前述の複雑な検出動作が必要となり得る。ただし、中継装置とストレージ装置とが物理的に直結しているため、別の手段を用いることで、検出動作を簡略化することは可能と考えられる。
このように中継装置とストレージ装置とが別々に構成されている場合でも、リダイレクト装置114によりデータの配置および管理が可能である。
本明細書に記載の実施形態は、IEEE 802.11として知られる無線LAN技術への適用例とした。しかし、無線LAN技術への適用は一例に過ぎず、他の無線通信技術(例えばLTE(Long Term Evolution)や第5世代移動通信システムなどのセルラー通信、IEEE 802.15として知られる近距離無線通信など)に適用することも可能である。すなわち、本願発明に基づく技術は、無線LAN技術以外の他の無線通信技術に対応した中継装置および付随する装置、ならびに、複数の無線通信方式を組み合わせて搭載する中継装置などに対しても適用可能である。
本実施形態で用いられる用語は、広く解釈されるべきである。例えば用語“プロセッサ”は、汎用目的プロセッサ、中央処理装置(CPU)、マイクロプロセッサ、デジタル信号プロセッサ(DSP)、コントローラ、マイクロコントローラ、状態マシンなどを包含してもよい。状況によって、“プロセッサ”は、特定用途向け集積回路、フィールドプログラマブルゲートアレイ(FPGA)、プログラム可能論理回路(PLD)などを指してもよい。“プロセッサ”は、複数のマイクロプロセッサのような処理装置の組み合わせ、DSPおよびマイクロプロセッサの組み合わせ、DSPコアと協働する1つ以上のマイクロプロセッサを指してもよい。
別の例として、用語“メモリ”は、電子情報を格納可能な任意の電子部品を包含してもよい。“メモリ”は、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、プログラム可能読み出し専用メモリ(PROM)、消去可能プログラム可能読み出し専用メモリ(EPROM)、電気的消去可能PROM(EEPROM)、不揮発性ランダムアクセスメモリ(NVRAM)、フラッシュメモリ、磁気または光学データストレージを指してもよく、これらはプロセッサによって読み出し可能である。プロセッサがメモリに対して情報を読み出しまたは書き込みまたはこれらの両方を行うならば、メモリはプロセッサと電気的に通信すると言うことができる。メモリは、プロセッサに統合されてもよく、この場合も、メモリは、プロセッサと電気的に通信していると言うことができる。
また、用語“ストレージ装置”または“ストレージ”は、磁気技術、光学技術、または不揮発性メモリを利用して、永久的にデータを記憶できるに任意の装置を包含してもよい。例えば、ストレージ装置またはストレージは、HDD、光学ディスク、SSD等でもよい。
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
101:アクセス網
201:CDN
301:コンテンツ事業者ネットワーク
102、202、302:ネームサーバ
111、112:中継装置
113:端末
リダイレクト装置:114
11:I/F部
12:通信部(送信部、受信部)
13:情報収集部
14:記憶部
15:判断部
16:大容量記憶部
171、211:有線LAN部
172:無線LAN部
173:ストレージ装置
174:転送部
175:制御部
180:制御部
191:有線LAN部
192:無線制御部
193:制御部
221:記憶部
222、225:コネクタ
223:外部バス
212:通信部
213:制御部
214:記憶部
215:大容量記憶部
216、218:コネクタ
217:外部バス

Claims (18)

  1. 有線ネットワークと無線ネットワーク間で通信を中継する複数の中継装置もしくは前記複数の中継装置を管理する管理サーバから、前記複数の中継装置の有線通信特性情報および無線通信特性情報の少なくとも一方を取得すること、
    前記複数の中継装置に直接または前記有線ネットワークを介して接続され、前記無線ネットワークにおける端末が前記中継装置を介して送信または受信するデータを保存する、複数のストレージ装置の使用状況を表すストレージ特性情報を取得すること、
    前記複数のストレージ装置のそれぞれに保存されている複数のデータの状態を表すデータ特性情報を取得すること、
    の少なくとも1つを実行する情報収集部と、
    前記端末から送信されるデータ取得要求またはデータ保存要求を受信し、前記有線通信特性情報、前記無線通信特性情報、前記ストレージ特性情報および前記データ特性情報の少なくとも1つに基づき、前記データ取得要求またはデータ保存要求を処理すべき中継装置またはストレージ装置を特定し、特定した中継装置または前記ストレージ装置に、前記データ取得要求またはデータ保存要求を送信することを指示する指示情報を、前記端末に送信する判断部と、
    を備えた通信制御装置。
  2. 前記判断部は、前記データ取得要求で要求されたデータが、前記端末が接続されている中継装置に対応するストレージ装置に保存されているかどうかを判断し、
    前記データが保存されている場合は、前記端末が接続されている中継装置または当該中継装置に対応するストレージ装置に前記データ取得要求を送信するように前記端末に指示情報を送信し、
    前記データが保存されていない場合は、前記有線通信特性情報、前記無線通信特性情報、前記ストレージ特性情報および前記データ特性情報の少なくとも1つに基づき、前記データを保存すべきストレージ装置を特定し、前記特定したストレージ装置または前記特定されたストレージ装置に対応する中継装置に、前記データの取得および保存を行うことを指示する指示情報を送信し、
    前記端末に、前記特定したストレージ装置または前記特定したストレージ装置に対応する中継装置に、前記データ取得要求を送信することを指示する指示情報を送信する
    請求項1に記載の通信制御装置。
  3. 前記判断部は、前記データ取得要求で要求されたデータがこれまでに要求された回数が所定の閾値を超えたかを判断し、
    前記所定の閾値を超えた場合には、前記特定したストレージ装置または前記特定したストレージ装置に対応する中継装置に、前記データの取得および保存を行うことを指示する指示情報を送信し、前記端末に、前記特定したストレージ装置または前記特定したストレージ装置に対応する中継装置に前記データ取得要求を送信することを指示する指示情報を送信し、
    前記所定の閾値を超えていない場合に、自装置が前記データを取得し、取得したデータを前記端末に送信する
    請求項2に記載の通信制御装置。
  4. 前記判断部は、前記データ取得要求で要求されたデータが、前記端末が接続されている中継装置に対応するストレージ装置に保存されていない場合に、前記端末が接続されている中継装置または前記中継装置に対応するストレージ装置に対して、前記データ取得要求で要求されたデータがこれまでに要求された回数が所定の閾値を超えたかを判断し、
    前記所定の閾値を超えた場合には、前記データが保存されているストレージ装置に保存されている前記データを取得および保存することを、前記端末が接続されている前記中継装置または前記中継装置に対応するストレージ装置に指示する指示情報を送信し、
    前記所定の閾値を超えない場合は、前記データが保存されている前記ストレージ装置または前記ストレージ装置に対応する中継装置に前記データ取得要求を送信することを前記端末に指示する指示情報を送信する
    請求項1に記載の通信制御装置。
  5. 前記判断部は、前記有線通信特性情報、前記無線通信特性情報、前記ストレージ特性情報および前記データ特性情報の少なくとも1つに基づき、前記ストレージ装置に保存されているデータの保存先とするストレージ装置を決定し、
    前記決定したストレージ装置または前記決定したストレージ装置に対応する中継装置に、前記データを取得および保存することを指示する指示情報を送信する
    請求項1に記載の通信制御装置。
  6. 前記判断部は、前記保存先とするストレージ装置に保存するデータ量を決定し、前記データのうち前記データ量のデータ部分を保存することを指示する指示情報を送信する
    請求項5に記載の通信制御装置。
  7. 前記判断部は、複数のデータを特定したリストに基づいて、前記リストに示される少なくとも1つのデータについて、前記データを保存しているストレージ装置を特定するとともに、前記データの保存先とするストレージ装置を決定し、前記決定したストレージ装置または前記決定したストレージ装置に対応する中継装置に、前記データを取得および保存することを指示する指示情報を送信する
    請求項5に記載の通信制御装置。
  8. 前記判断部は、前記データを分割した複数の断片を保存すべき複数のストレージ装置を決定し、前記データを保存しているストレージ装置から取得される前記データを分割した前記複数の断片のうちのそれぞれ対応する断片を取得して保存することを指示する指示情報を、前記複数のストレージ装置または前記複数のストレージ装置に対応する複数の中継装置に送信する
    請求項7に記載の通信制御装置。
  9. 前記リストは、前記複数のデータのサイズおよび人気度の少なくとも一方を含み、
    前記判断部は、前記データのサイズおよび人気度の少なくとも一方に基づき、前記データの保存先を決定する
    請求項7または8に記載の通信制御装置。
  10. 前記リストは、前記データの有効期限に関する情報を含み、
    前記判断部は、前記ストレージ特性情報から把握される前記ストレージ装置の劣化の程度と、前記データの有効期限とに基づき、前記データの保存先とする前記ストレージ装置を決定する
    請求項7ないし9のいずれか一項に記載の通信制御装置。
  11. 前記判断部は、各中継装置の接続端末数および各中継装置に接続している端末の移動経路の少なくとも一方を把握し、前記接続端末数および前記移動経路の少なくとも一方に基づいて、前記保存先のストレージ装置を決定する
    請求項5ないし10のいずれか一項に記載の通信制御装置。
  12. 前記判断部は、前記端末から前記データ取得要求を受信した場合に、前記有線通信特性情報、前記無線通信特性情報および前記ストレージ特性情報のうちの少なくとも1つを最新の情報に更新し、
    更新後の情報に基づいて、前記保存先となるストレージ装置を決定する
    請求項2または3に記載の通信制御装置。
  13. 前記判断部は、前記データ保存要求を受信した場合に、前記データ保存要求で要求されるデータを保存する記憶領域を確保することを指示する指示情報を、前記特定した中継装置または前記特定したストレージ装置に送信する
    請求項1に記載の通信制御装置。
  14. 前記判断部は、前記端末のユーザの識別子を特定し、前記識別子に基づき、前記ユーザに対して、前記特定した中継装置に対応するストレージ装置または前記特定したストレージ装置の利用が許可されているかを判断し、許可されている場合にのみ、前記指示情報を送信する
    請求項13に記載の通信制御装置。
  15. データを保存可能なストレージ装置を備え、
    前記判断部は、前記複数のストレージ装置に保存されているデータのうち、予め定めた条件を満たすデータを特定し、特定したデータを、前記複数のストレージ装置のうち、前記特定したデータを保存しているストレージ装置から取得して、自装置の前記ストレージ装置に保存し、
    前記自装置のストレージ装置に保存されているデータのデータ取得要求を受信した場合は、前記自装置のストレージ装置に保存されているデータを取り出して、前記端末に送信する
    請求項1ないし3のいずれか一項に記載の通信制御装置。
  16. 前記判断部は、前記自装置のストレージ装置に保存された前記データが前記予め定めた条件を満たさなくなった場合は、前記複数のストレージ装置のうちから特定したストレージ装置に前記データを保存することを指示する指示情報を送信する
    請求項15に記載の通信制御装置。
  17. 有線ネットワークと無線ネットワーク間で通信を中継する複数の中継装置もしくは前記複数の中継装置を管理する管理サーバから、前記複数の中継装置の有線通信特性情報および無線通信特性情報の少なくとも一方を取得すること、
    前記複数の中継装置に直接または前記有線ネットワークを介して接続され、前記無線ネットワークにおける端末が前記中継装置を介して送信または受信するデータを保存する、複数のストレージ装置のストレージ特性情報を取得すること、
    前記複数のストレージ装置のそれぞれに保存されている複数のデータの状態を表すデータ特性情報を取得すること、
    の少なくとも1つを実行するステップと、
    前記端末から送信されるデータ取得要求またはデータ保存要求を受信するステップと、
    前記有線通信特性情報、前記無線通信特性情報、前記ストレージ特性情報および前記データ特性情報に基づき、前記データ取得要求またはデータ保存要求を処理すべき中継装置またはストレージ装置を特定するステップと、
    特定した中継装置または前記ストレージ装置に、前記データ取得要求またはデータ保存要求を送信することを指示する指示情報を、前記端末に送信するステップと
    を備えた通信制御方法。
  18. 有線ネットワークと無線ネットワーク間で通信を中継する複数の中継装置もしくは前記複数の中継装置を管理する管理サーバから、前記複数の中継装置の有線通信特性情報および無線通信特性情報の少なくとも一方を取得すること、
    前記複数の中継装置に直接または前記有線ネットワークを介して接続され、前記無線ネットワークにおける端末が前記中継装置を介して送信または受信するデータを保存する、複数のストレージ装置のストレージ特性情報を取得すること、
    前記複数のストレージ装置のそれぞれに保存されている複数のデータの状態を表すデータ特性情報を取得すること、
    の少なくとも1つを実行するステップと、
    前記端末から送信されるデータ取得要求またはデータ保存要求を受信するステップと、
    前記有線通信特性情報、前記無線通信特性情報、前記ストレージ特性情報および前記データ特性情報に基づき、前記データ取得要求またはデータ保存要求を処理すべき中継装置またはストレージ装置を特定するステップと、
    特定した中継装置または前記ストレージ装置に、前記データ取得要求またはデータ保存要求を送信することを指示する指示情報を、前記端末に送信するステップと
    をコンピュータに実行させるためのコンピュータプログラム。
JP2017055064A 2017-03-21 2017-03-21 通信制御装置、通信制御方法およびコンピュータプログラム Pending JP2018156606A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017055064A JP2018156606A (ja) 2017-03-21 2017-03-21 通信制御装置、通信制御方法およびコンピュータプログラム
US15/697,597 US10708377B2 (en) 2017-03-21 2017-09-07 Communication control device, communication control method, and non-transitory computer readable medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017055064A JP2018156606A (ja) 2017-03-21 2017-03-21 通信制御装置、通信制御方法およびコンピュータプログラム

Publications (1)

Publication Number Publication Date
JP2018156606A true JP2018156606A (ja) 2018-10-04

Family

ID=63583091

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017055064A Pending JP2018156606A (ja) 2017-03-21 2017-03-21 通信制御装置、通信制御方法およびコンピュータプログラム

Country Status (2)

Country Link
US (1) US10708377B2 (ja)
JP (1) JP2018156606A (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201924285A (zh) * 2017-10-06 2019-06-16 日商日本電氣股份有限公司 資料通信裝置、通信系統、資料通信方法及程式
CN109246234B (zh) * 2018-09-30 2021-09-24 北京金山云网络技术有限公司 一种镜像文件下载方法、装置、电子设备及存储介质
CN111200627A (zh) * 2018-11-20 2020-05-26 中兴通讯股份有限公司 一种信息中心网络中转发端口的确定方法及装置
KR20200098847A (ko) * 2019-02-13 2020-08-21 삼성전자주식회사 전자장치 및 그 제어방법
US11122110B2 (en) * 2019-06-11 2021-09-14 Advanced New Technologies Co., Ltd. Blockchain-based file processing method, apparatus, and device, and storage medium
CN110825402B (zh) * 2019-09-26 2021-06-22 华为技术有限公司 一种下载数据包的方法及装置
CN110896364B (zh) * 2019-11-28 2022-09-16 北京小米移动软件有限公司 配网方法及装置、电子设备及存储介质
CN113900800B (zh) * 2021-09-17 2022-08-19 中标慧安信息技术股份有限公司 一种边缘计算系统的分配方法
CN114257536B (zh) * 2021-11-05 2023-09-01 浙江木链物联网科技有限公司 一种工业数据采集方法和系统
US20230291787A1 (en) * 2022-03-14 2023-09-14 Red Hat, Inc. Chunked file transfer among mobile peer devices

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5514315B2 (ja) 1971-09-03 1980-04-15
US20110055312A1 (en) 2009-08-28 2011-03-03 Apple Inc. Chunked downloads over a content delivery network
US8880636B2 (en) * 2010-03-25 2014-11-04 Telefonaktiebolaget L M Ericsson (Publ) Caching in mobile networks
JP6069181B2 (ja) 2013-12-16 2017-02-01 日本電信電話株式会社 データ配信システム、データ配信方法、ストレージ装置及びストレージプログラム
JP2017058787A (ja) 2015-09-14 2017-03-23 株式会社東芝 無線通信装置、通信装置、無線通信システム

Also Published As

Publication number Publication date
US20180278708A1 (en) 2018-09-27
US10708377B2 (en) 2020-07-07

Similar Documents

Publication Publication Date Title
JP2018156606A (ja) 通信制御装置、通信制御方法およびコンピュータプログラム
US11863417B2 (en) Routing mode and point-of-presence selection service
US10667172B2 (en) Download management with congestion mitigation for over the air content delivery to vehicles
US10091096B1 (en) Routing mode and point-of-presence selection service
US10033627B1 (en) Routing mode and point-of-presence selection service
EP3232710B1 (en) Method, device and system for processing traffic of mobile terminal based on content delivery network
EP2880829B1 (en) Adaptive infrastructure for distributed virtual switch
JP5944537B2 (ja) 通信経路の管理方法
EP3593502B1 (en) Cooperative multipath
US11533261B2 (en) Download management with congestion mitigation for over the air content delivery to vehicles
JP2018506873A (ja) モビリティ管理のための仮想サービングゲートウェイを配置するためのシステムおよび方法
WO2018120802A1 (zh) 协同内容缓存控制系统和方法
US10404603B2 (en) System and method of providing increased data optimization based on traffic priority on connection
KR20090097034A (ko) 피어 투 피어 통신에서의 피어 선정 방법 및 그 시스템
Wong et al. Content routers: Fetching data on network path
US20170078436A1 (en) Wireless communication device, communication device, and wireless communication system
US11606415B2 (en) Method, apparatus and system for processing an access request in a content delivery system
CN111245740B (zh) 配置业务的服务质量策略方法、装置和计算设备
JP2003280975A (ja) キャッシュ制御方法およびキャッシュシステム
EP3491790B1 (en) A hybrid approach with classification for name resolution and producer selection in icn
JP3704134B2 (ja) パケット転送装置、ネットワーク制御サーバ、およびパケット通信ネットワーク
Jayapal et al. Enhanced service discovery protocol for MANET by effective cache management
Deepa et al. Routing Scalability in Named Data Networking
Mokhtarian Content management in planet-scale video CDNs
Tomic et al. Implementation and efficiency analysis of composite DNS-metric for dynamic server selection

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20170606

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20180905

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190311

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200129

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200225

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200427

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20200918