JP5731353B2 - Cache server solving method, apparatus, and system - Google Patents

Cache server solving method, apparatus, and system Download PDF

Info

Publication number
JP5731353B2
JP5731353B2 JP2011231815A JP2011231815A JP5731353B2 JP 5731353 B2 JP5731353 B2 JP 5731353B2 JP 2011231815 A JP2011231815 A JP 2011231815A JP 2011231815 A JP2011231815 A JP 2011231815A JP 5731353 B2 JP5731353 B2 JP 5731353B2
Authority
JP
Japan
Prior art keywords
cache server
terminal
cache
network
relay device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2011231815A
Other languages
Japanese (ja)
Other versions
JP2013090277A (en
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2011231815A priority Critical patent/JP5731353B2/en
Priority to PCT/JP2012/067008 priority patent/WO2013057985A1/en
Publication of JP2013090277A publication Critical patent/JP2013090277A/en
Application granted granted Critical
Publication of JP5731353B2 publication Critical patent/JP5731353B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23106Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving caching operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明はネットワーク上のキャッシュサーバに関する。   The present invention relates to a cache server on a network.

ネットワークを介して遠方のコンテンツサーバから大量のデータを返すと、ネットワーク使用量とエンドユーザが感じる遅延の両面に問題が生じる。そのため、エンドユーザ近傍にキャッシュサーバを置きそこからデータを返すキャッシュシステムが用いられる。このようなシステムでは1) エンドユーザ近傍のキャッシュサーバを発見する技術と2) エンドユーザをキャッシュサーバに誘導する技術が用いられる。   When a large amount of data is returned from a distant content server via the network, problems arise in both the amount of network usage and the delay perceived by the end user. For this reason, a cache system is used in which a cache server is placed near the end user and data is returned therefrom. In such a system, 1) technology for finding a cache server near the end user and 2) technology for guiding the end user to the cache server are used.

このようなシステムの一つに特許文献1がある。該システムではキャッシュシステムからエンドユーザにキャッシュサーバのリストを渡す。その後、エンドユーザの近傍キャッシュサーバ探索プログラムがリスト内のキャッシュサーバにpingを打って距離 (ここではネットワーク遅延を距離とする) を測り、最も近いものを選ぶことで上記1)、2)を解決する。該システムでは、エンドユーザが、専用の距離測定プログラムを持つこと必要になる。   Patent Document 1 is one such system. In the system, a list of cache servers is passed from the cache system to the end user. Then, the end user's neighbor cache server search program pings the cache server in the list to measure the distance (here network delay is the distance), and solves the above 1) and 2) by selecting the closest one To do. The system requires the end user to have a dedicated distance measurement program.

既存のエンドユーザがそのまま流用可能な従来システムの代表は特許文献2及びそのファミリである。特許文献2はインターネットにつながる全エンドユーザを対象に、契約コンテンツプロバイダのデータを、エンドユーザ近傍の自社キャッシュサーバから返す超大規模システムである。そのため、近傍の自社キャッシュサーバの探索を実時間で処理できるように準最近傍キャッシュサーバを返す手法を用いている。具体的には特許文献2に書かれているように、1) についてインターネットプロバイダの主要DNSサーバごとに最近傍キャッシュサーバを割り当てたマップと、BGP (Border Gateway Protocol、ルータ間の経路制御メッセージ) を用いてインターネットをIP(Internet Protocol)アドレスゾーンに分割したマップを作り、これらを組み合わせてIPアドレスゾーンごとの準最近傍キャッシュサーバ割当マップを作る。また、2) についてDNS(Domain Name System)書き換え技術を用い、エンドユーザが用いる インターネットプロバイダのDNSサーバXの再帰問い合わせ先を該システムのDNSサーバとし、該システムのDNSサーバはDNSサーバXのアドレスを用いて1) のマップから最適なキャッシュサーバを返す。   A typical conventional system that can be used as is by existing end users is Patent Document 2 and its family. Patent Document 2 is an ultra-large-scale system that returns contract content provider data from a company cache server in the vicinity of an end user for all end users connected to the Internet. For this reason, a method of returning a quasi-nearest neighbor cache server is used so that a search for a nearby company cache server can be processed in real time. Specifically, as described in Patent Document 2, a map in which the nearest cache server is assigned to each major DNS server of Internet provider and BGP (Border Gateway Protocol, routing message between routers) for 1) Use it to create a map that divides the Internet into IP (Internet Protocol) address zones, and combine them to create a quasi-nearest neighbor cache server allocation map for each IP address zone. In addition, using DNS (Domain Name System) rewriting technology for 2), the recursive inquiry destination of the Internet provider's DNS server X used by the end user is the DNS server of the system, and the DNS server of the system uses the address of the DNS server X Use 1) to return the best cache server from the map.

米国特許公報番号6606643,“Method of automatically selecting a mirror server for web−based client−host interaction”US Pat. No. 6,606,643, “Method of automatically selecting a mirror server for web-based client-host interaction”. 米国特許公報番号2002/0129134,“Global load balancing across mirrored data centers”US Patent Publication No. 2002/0129134, “Global load balancing across mirrored data centers”

特許文献1に記載のシステムではエンドユーザが専用の距離測定プログラムを動かす必要があり、不特定多数のエンドユーザを扱うようなB2C(Business to Consumer)サービスには適用できない。   In the system described in Patent Document 1, it is necessary for an end user to run a dedicated distance measurement program, and it cannot be applied to a B2C (Business to Consumer) service that handles an unspecified number of end users.

特許文献2に記載の仕組みではDNSサーバごとにしか最適化できないため、エンドユーザが使うDNSサーバがエンドユーザの近くにある必要がある。しかし、エンドユーザが使うDNSサーバは必ずしも近くにある保証はないという問題がある。また、今日のDNSサーバは1台あたり毎秒数十万クエリの性能を有するため、少なくとも1台あたり数万ユーザを受け持っていると見積もれる。一方でVOD (Video On−Demand) など要求性能の高いサービスはサーバ1台あたり数千ユーザを受け持つため、DNSサーバごとにキャッシュサーバの割当てを決めると粒度が粗い。結果としてロードバランサを置き複数のキャッシュサーバを束ねるなど、余計なコストが発生するという問題がある。   Since the mechanism described in Patent Document 2 can be optimized only for each DNS server, the DNS server used by the end user needs to be close to the end user. However, there is a problem that there is no guarantee that the DNS server used by the end user is close. Also, because today's DNS server has a performance of hundreds of thousands of queries per second, it can be estimated that it has at least tens of thousands of users per device. On the other hand, services with high required performance such as VOD (Video On-Demand) are responsible for thousands of users per server, so the granularity is coarse when allocating cache servers for each DNS server. As a result, there is a problem that extra costs occur, such as placing a load balancer and bundling a plurality of cache servers.

上記問題のため、従来手法では不特定多数のエンドユーザを扱うようなB2Cサービスにおいてエンドユーザ近傍のキャッシュサーバを解決する技術に課題がある。   Due to the above problems, the conventional method has a problem in a technique for solving a cache server in the vicinity of an end user in a B2C service that handles an unspecified number of end users.

本発明の目的は、上記の課題を解決し、エンドユーザ近傍のキャッシュサーバを解決し、エンドユーザを近傍キャッシュサーバに誘導することが可能なキャッシュサーバ解決方法、装置、及びシステムを提供することにある。   An object of the present invention is to provide a cache server solving method, apparatus, and system capable of solving the above-described problems, solving a cache server in the vicinity of an end user, and guiding the end user to the neighborhood cache server. is there.

上記の目的を達成するため、本発明においては、複数のキャッシュサーバの中から、端末にネットワーク上の距離の近いキャッシュサーバを通知する装置のキャッシュサーバ解決方法であって、装置は、ネットワーク上の複数の中継装置と、複数のキャッシュサーバそれぞれとのネットワーク上の距離を測定し、複数の中継装置各々に距離の近いキャッシュサーバを決定した結果を保持し、端末へのネットワーク上の経路上の中継装置を調査し、保持された端末に最も近い中継装置に近いキャッシュサーバを取得し、端末に最も近い中継装置に近いキャッシュサーバが保持されていない場合は、端末から次に近い中継装置に近い前記キャッシュサーバを探索して取得することを繰返すキャッシュサーバ解決方法を提供する。   In order to achieve the above object, according to the present invention, there is provided a cache server solution for an apparatus for notifying a terminal of a cache server having a short distance on the network from a plurality of cache servers. Measure the distance on the network between the multiple relay devices and each of the multiple cache servers, hold the result of determining the cache server close to each of the multiple relay devices, and relay on the route on the network to the terminal If the cache server close to the relay device closest to the held terminal is acquired and the cache server close to the relay device closest to the terminal is not held, the device closest to the next closest relay device to the terminal Provided is a cache server solution that repeatedly searches and acquires a cache server.

また、上記の目的を達成するため、本発明においては、処理部と記憶部とを備え、複数のキャッシュサーバの中から、端末にネットワーク上の距離の近いキャッシュサーバを通知する解決装置であって、記憶部に、ネットワーク上の複数の中継装置と、複数のキャッシュサーバそれぞれとのネットワーク上の距離を測定し、複数の中継装置各々に距離の近いキャッシュサーバを決定した結果を保持し、処理部は、端末を識別する識別子を入力し、端末へのネットワーク上の経路上の中継装置を調査し、記憶部に記憶された端末に最も近い中継装置に近いキャッシュサーバを取得し、端末に最も近い中継装置に近いキャッシュサーバが記憶部に保持されていない場合は、端末から次に近い中継装置に近いキャッシュサーバを探索して取得することを再帰的に繰返す解決装置を提供する。   In order to achieve the above object, the present invention is a solution device that includes a processing unit and a storage unit, and notifies a terminal of a cache server having a short distance on the network from a plurality of cache servers. The storage unit measures the distance on the network between the plurality of relay devices on the network and each of the plurality of cache servers, and stores the result of determining the cache server close to each of the plurality of relay devices, the processing unit Inputs the identifier for identifying the terminal, investigates the relay device on the route on the network to the terminal, obtains the cache server close to the relay device closest to the terminal stored in the storage unit, and is closest to the terminal When the cache server close to the relay device is not held in the storage unit, the cache server closest to the next relay device is searched for and acquired from the terminal. The provides a solution system recursively repeats.

更に、上記の目的を達成するため、本発明においては、端末と、複数のキャッシュサーバと、端末にネットワーク上の距離の近いキャッシュサーバを通知する解決装置とを備えるキャッシュサーバシステムであって、解決装置は、ネットワーク上の複数の中継装置と、複数のキャッシュサーバそれぞれとのネットワーク上の距離を測定し、複数の中継装置各々に距離の近いキャッシュサーバを決定した結果を保持し、端末を識別する識別子を入力し、ネットワーク上の経路上の中継装置を調査し、保持した端末に最も近い中継装置に近いキャッシュサーバを取得し、端末に最も近い中継装置に近いキャッシュサーバが保持されていない場合は、端末から次に近い中継装置に近いキャッシュサーバを探索して取得することを順次繰返し、取得した前記キャッシュサーバを出力するキャッシュサーバシステムを提供する。   Furthermore, in order to achieve the above object, the present invention provides a cache server system comprising a terminal, a plurality of cache servers, and a resolution device for notifying the terminal of a cache server having a short distance on the network. The device measures the distance on the network between a plurality of relay devices on the network and each of the plurality of cache servers, holds a result of determining a cache server close to each of the plurality of relay devices, and identifies a terminal When the identifier is input, the relay device on the route on the network is investigated, the cache server closest to the relay device closest to the retained terminal is obtained, and the cache server closest to the relay device closest to the terminal is not retained , Repeatedly search and acquire the cache server closest to the next closest relay device from the terminal To provide a cache server system which outputs the cache server.

不特定多数のエンドユーザに対して、エンドユーザ近傍のキャッシュサーバを解決できるようになる。   For an unspecified number of end users, a cache server near the end users can be solved.

実施例1のキャッシュサーバ解決システムの全体図である。1 is an overall view of a cache server solution system according to a first embodiment. 実施例1に係る、traceroute結果からルータ配列を作る例を示す図である。It is a figure which shows the example which makes a router arrangement | sequence from the traceroute result based on Example 1. FIG. 実施例1に係る、ping結果から距離を求める例を示す図である。It is a figure which shows the example which calculates | requires distance from the ping result based on Example 1. FIG. 実施例1に係る、リゾルブ マネージャ(Resolve Manager)とリゾルブ エージェント(Resolve Agent)の一構成を示す図である。It is a figure which shows one structure of the resolve manager (Resolve Manager) and the resolve agent (Resolve Agent) based on Example 1. FIG. 実施例1に係る、初期近傍キャッシュ表構築処理のシーケンス図である。FIG. 11 is a sequence diagram of initial neighborhood cache table construction processing according to the first embodiment. 実施例1に係る、Resolve Managerの初期近傍キャッシュ表構築処理フローの一例を示す図である。It is a figure which shows an example of the initial neighborhood cache table construction processing flow of Resolve Manager based on Example 1. FIG. 実施例1に係る、Resolve Agentの経路調査処理フローを示す図である。It is a figure which shows the path | route investigation processing flow of Resolve Agent based on Example 1. FIG. 実施例1に係る、Resolve Agentの距離測定処理フローの一例を示す図である。It is a figure which shows an example of the distance measurement processing flow of Resolve Agent based on Example 1. FIG. 実施例1に係る、リゾルブ処理のシーケンスの一例を示す図である。It is a figure which shows an example of the sequence of the resolve process based on Example 1. FIG. 実施例1に係る、リゾルブ処理で最近傍キャッシュが見つからなかった場合のシーケンスの一例を示す図である。It is a figure which shows an example of a sequence when a nearest neighbor cache is not found by the resolve process based on Example 1. FIG. 実施例1に係る、Resolve Managerの近傍キャッシュ探索処理フローの一例を示す図である。It is a figure which shows an example of the neighborhood cache search processing flow of Resolve Manager based on Example 1. FIG. 実施例1に係る、キャッシュ追加処理のシーケンスの一例を示す図である。6 is a diagram illustrating an example of a sequence of cache addition processing according to Embodiment 1. FIG. 実施例1に係る、キャッシュ削除処理のシーケンスを示す図である。FIG. 10 is a diagram illustrating a sequence of cache deletion processing according to the first embodiment. 実施例1に係る、Resolve Managerのキャッシュ追加処理フローを示す図である。It is a figure which shows the cache addition processing flow of Resolve Manager based on Example 1. FIG. 実施例1に係る、Resolve Managerのキャッシュ削除処理フローを示す図である。It is a figure which shows the cache deletion processing flow of Resolve Manager based on Example 1. FIG. 実施例1に係る、Resolve Managerの全体フローの一例を示す図である。It is a figure which shows an example of the whole flow of Resolve Manager based on Example 1. FIG. 実施例1に係る、Resolve Agentの全体フローの一例を示す図である。It is a figure which shows an example of the whole flow of Resolve Agent based on Example 1. FIG. 実施例2に係る、キャッシュサーバ解決システムの全体図である。It is a general view of the cache server solution system based on Example 2. FIG. 実施例2に係る、Resolve ManagerとHTTP Data (Origin) の構成を示す図である。It is a figure which shows the structure of Resolve Manager and HTTP Data (Origin) based on Example 2. FIG. 実施例2に係る、リゾルブ処理のシーケンスの一例を示す図である。FIG. 10 is a diagram illustrating an example of a sequence of resolve processing according to the second embodiment. 実施例2に係る、Resolve Managerのリゾルブ処理フローを示す図である。It is a figure which shows the resolve processing flow of Resolve Manager based on Example 2. FIG.

以下、本発明の種々の実施例を図面に従い説明する。   Hereinafter, various embodiments of the present invention will be described with reference to the drawings.

第一の実施例として、エンドユーザ近傍キャッシュサーバ解決システムを用いたVODシステムについて説明する。   As a first embodiment, a VOD system using an end-user neighborhood cache server solution system will be described.

図1に本実施例のVODシステムの全体構成の一例を示す。
データセンタ(Data Center:DC)1011にはResolve Manager1012とVOD Portal1013、VOD DRM(Digital Rights Management)1014、VOD Data(Origin)1015がある。Resolve Manager1012は本実施例のエンドユーザ近傍キャッシュサーバ解決システムのメインコンポーネントである。VOD Portal 1013、VOD DRM1014、VOD Data(Origin)1015はそれぞれ、VODシステムのコンポーネントである。VOD Portal 1013は番組表の表示などコンテンツ視聴の前にユーザが利用するポータルサイトを表示するコンポーネントである。VOD DRM1014は暗号化されたコンテンツを復号するための鍵を配信するコンポーネントである。VOD Data(Origin)1015は実際にコンテンツを配信するコンポーネントである。
FIG. 1 shows an example of the overall configuration of the VOD system of this embodiment.
A data center (DC) 1011 includes a Resolve Manager 1012, a VOD Portal 1013, a VOD DRM (Digital Rights Management) 1014, and a VOD Data (Origin) 1015. The Resolve Manager 1012 is the main component of the end user neighborhood cache server resolution system of this embodiment. VOD Portal 1013, VOD DRM 1014, and VOD Data (Origin) 1015 are components of the VOD system. VOD Portal 1013 is a component that displays a portal site used by a user before viewing content such as a program guide. The VOD DRM 1014 is a component that distributes a key for decrypting encrypted content. VOD Data (Origin) 1015 is a component that actually distributes content.

DC1011からネットワーク上の距離が離れた所にキャッシュサーバ1021、1031、1041を置く。キャッシュサーバ1021、1031、1041にはResolve Agent1022、1032、1042とVOD Data(Cache)1023、1033、1043がある。Resolve Agent1022、1032、1042は本実施例のエンドユーザ近傍キャッシュサーバ解決システムのコンポーネントであり、Resolve Manager1012と連携して動作する。VOD Data(Cache)1023、1033、1043はVOD Data(Origin)1015と同等の機能およびコンテンツを持ち、実際にコンテンツを配信するコンポーネントである。   Cache servers 1021, 1031 and 1041 are placed at a distance from the DC 1011 on the network. The cache servers 1021, 1031, and 1041 include Resolve Agents 1022, 1032, and 1042, and VOD Data (Cache) 1023, 1033, and 1043. The Resolve Agents 1022, 1032, and 1042 are components of the end-user neighborhood cache server resolution system according to this embodiment, and operate in cooperation with the Resolve Manager 1012. VOD Data (Cache) 1023, 1033, and 1043 have the same functions and content as VOD Data (Origin) 1015, and are components that actually deliver the content.

なお、本実施例ではネットワーク上の距離を測る指針としてRTT(Round Trip Time、往復遅延時間)を用いる。インターネットプロトコルの下では、RTTはICMP(Internet Control Message Protocol)で計測できる。また、他のプロトコルであってもRTTを計測する手段があれば本実施例を適用可能である。   In this embodiment, RTT (Round Trip Time) is used as a guideline for measuring the distance on the network. Under the Internet protocol, RTT can be measured by ICMP (Internet Control Message Protocol). Also, this embodiment can be applied to other protocols if there is a means for measuring RTT.

DC1011とキャッシュサーバ1021、1031、1041はネットワークで結ばれる。本実施例ではインターネットを想定している。インターネットプロトコル(IP)の下では、ネットワークは複数の中継装置であるルータ1051〜1058によって構成される。なお、イントラネットやその他閉域網(Closed IP Network)であってもインターネットプロトコル(IP)のネットワークであれば本実施例と同様のキャッシュシステムを構成できる。また、他のプロトコルのネットワークであっても、ルータに準ずる中継装置を用いるネットワークであれば本実施例と同様のキャッシュシステムを構成できる。   The DC 1011 and the cache servers 1021, 1031 and 1041 are connected by a network. In this embodiment, the Internet is assumed. Under the Internet protocol (IP), the network is configured by routers 1051 to 1058 which are a plurality of relay apparatuses. Note that a cache system similar to the present embodiment can be configured as long as it is an Internet protocol (IP) network even if it is an intranet or other closed network (Closed IP Network). In addition, even in a network of another protocol, a cache system similar to that of the present embodiment can be configured as long as it is a network using a relay device similar to a router.

DC1011およびキャッシュサーバ1021、1031、1041とネットワークで結ばれた先に例えばテレビ(TV)、パーソナルコンピュータ(PC)などの情報処理端末1061、1062、1063がある。この情報処理端末1061,1062,1063は、本VODシステムの視聴用クライアントが入っている。なお、VODシステムに関する本実施例においては、視聴用クライアントが動作すれば、情報処理端末1061、1062、1063は、TV、PCやスマートフォンなどハードウエアは問わない。便宜上、図面上では”TV”表示とする場合があるが、限定されるものではない。   Information processing terminals 1061, 1062, and 1063 such as a television (TV) and a personal computer (PC) are connected to the DC 1011 and the cache servers 1021, 1031, and 1041 through a network. The information processing terminals 1061, 1062, and 1063 contain viewing clients of this VOD system. In the present embodiment related to the VOD system, the information processing terminals 1061, 1062, and 1063 may be any hardware such as a TV, a PC, and a smartphone as long as the viewing client operates. For convenience, the display may be “TV” on the drawing, but is not limited thereto.

図4に図1のResolve Manager1012とResolve Agent1022、1032、1042の詳細構成の一例を示す。   FIG. 4 shows an example of the detailed configuration of the Resolve Manager 1012 and Resolve Agents 1022, 1032, and 1042 in FIG.

図4上段に示されたResolve Manager1012は、コンピュータ構成を備え、処理部である中央処理部(Central Processing Unit:CPU)4011、記憶部である主記憶4012と二次記憶4013を含む。主記憶4012の上にはマネージャモジュール4021と近傍キャッシュ表4022とキャッシュサーバ一覧表4023がある。マネージャモジュール4021は、Resolve Managerをコントロールするプログラムの実行時イメージである。マネージャモジュール4012の動作の詳細は図16等を用いて後述する。近傍キャッシュ表4022はネットワーク上のルータごとの最近傍キャッシュサーバと2番目に近いキャッシュサーバを保持する表である。   The Resolve Manager 1012 shown in the upper part of FIG. 4 has a computer configuration and includes a central processing unit (CPU) 4011 that is a processing unit, a main memory 4012 that is a storage unit, and a secondary storage 4013. On the main memory 4012, there are a manager module 4021, a neighborhood cache table 4022, and a cache server list 4023. The manager module 4021 is a runtime image of a program that controls the Resolve Manager. Details of the operation of the manager module 4012 will be described later with reference to FIG. The neighborhood cache table 4022 is a table holding the nearest neighbor cache server and the second nearest cache server for each router on the network.

図4の中段に示した近傍キャッシュ表4022はネットワーク上のルータを識別するルータIPアドレス列4041、アクセス頻度を表すCounter列4042、最近傍キャッシュを保持するキャッシュサーバ1列4043とそのルータからの距離を表す距離1列4044、さらに最近傍キャッシュサーバがメンテナンスなどで一次停止中である場合を表す停止フラグ4045、同じく2番目に近いキャッシュサーバに関する3列4046、4047、4048がある。なお、近傍キャッシュ表4022の主キーはルータIPアドレス列4041であり、ルータIPアドレス列を用いて特定の1行を限定する事ができる。   The neighborhood cache table 4022 shown in the middle of FIG. 4 is a router IP address column 4041 that identifies a router on the network, a Counter column 4042 that represents the access frequency, a cache server 1 column 4043 that holds the nearest cache, and the distance from that router. 1 column 4044, a stop flag 4045 indicating that the nearest cache server is temporarily stopped due to maintenance or the like, and three columns 4046, 4047, 4048 related to the second closest cache server. The primary key of the neighborhood cache table 4022 is a router IP address column 4041, and a specific one line can be limited using the router IP address column.

また、図4中段のキャッシュサーバ一覧表4023はネットワーク上の使用可能なキャッシュサーバの一覧である。キャッシュサーバ一覧表4023には通し番号であるID列4051と、キャッシュサーバを識別するキャッシュサーバIPアドレス列4052と、Resolve Agentを識別するResolve Agent IPアドレス列4053がある。なお、キャッシュサーバ一覧表4023にはID=0番にオリジナルサーバであるVOD Data(Origin)1015のエントリも含む。VOD Data(Origin)には対応するResolve Agentがないため、Resolve Agent IPアドレス列4053は空欄とする。また、キャッシュサーバ一覧表4023の主キーはID列4051であり、ID列を用いて特定の1行を限定する事ができる。また、キャッシュサーバIPアドレス列4052とResolve Agent IPアドレス列4053もユニーク列であり、それぞれの値を用いて特定の1行を限定する事ができる。二次記憶4013にはマネージャモジュールプログラム4031が含まれる。Resolve Manager動作時にはマネージャモジュールプログラム4031を主記憶4012上に展開し、マネージャモジュール4021として実行する。   A cache server list 4023 in the middle of FIG. 4 is a list of available cache servers on the network. The cache server list 4023 includes an ID column 4051 which is a serial number, a cache server IP address column 4052 for identifying a cache server, and a Resolve Agent IP address column 4053 for identifying a Resolve Agent. The cache server list 4023 also includes an entry of VOD Data (Origin) 1015 that is the original server at ID = 0. Since there is no corresponding Resolve Agent in VOD Data (Origin), the Resolve Agent IP address column 4053 is blank. The primary key of the cache server list 4023 is an ID column 4051, and a specific row can be limited using the ID column. Further, the cache server IP address column 4052 and the Resolve Agent IP address column 4053 are also unique columns, and a specific one line can be limited using each value. The secondary storage 4013 includes a manager module program 4031. When the Resolve Manager is operating, the manager module program 4031 is expanded on the main memory 4012 and executed as the manager module 4021.

図4下段のResolve Agent1022は、コンピュータ構成を備え、処理部であるCPU4061、記憶部である主記憶4062と二次記憶4063を含む。主記憶4062にはエージェントモジュール4071がある。エージェントモジュール4071はResolve Agentをコントロールするプログラムの実行時イメージである。エージェントモジュールの動作の詳細は図17等を用いて後述する。二次記憶4063にはエージェントモジュールプログラム4081が含まれる。Resolve Agent動作時にはエージェントモジュールプログラム4081を主記憶4062上に展開し、エージェントモジュール4071として実行する。   The Resolve Agent 1022 in the lower part of FIG. 4 has a computer configuration, and includes a CPU 4061 that is a processing unit, a main memory 4062 that is a storage unit, and a secondary storage 4063. The main memory 4062 has an agent module 4071. The agent module 4071 is an execution image of a program that controls the Resolve Agent. Details of the operation of the agent module will be described later with reference to FIG. The secondary storage 4063 includes an agent module program 4081. When the Resolve Agent operates, the agent module program 4081 is expanded on the main memory 4062 and executed as the agent module 4071.

続いて、エンドユーザ近傍キャッシュサーバ解決システムを用いた本実施例のVODシステムの動作詳細を示す。具体的にはシステム開始時の初期近傍キャッシュ表構築処理と、定常状態時の動作である情報処理端末がコンテンツを視聴する際の処理、システムに新たなキャッシュサーバを追加する際の処理と削除する際の処理である。   Next, operation details of the VOD system of this embodiment using the end-user neighborhood cache server resolution system will be described. Specifically, the initial neighborhood cache table construction process at the start of the system, the process when the information processing terminal that is operating in the steady state is viewing content, the process when adding a new cache server to the system, and deletion Process.

図5にシステム開始時の初期近傍キャッシュ表構築処理のシーケンスを示す。本処理はResolve Manager1012とResolve Agent1022、1032、1042の間で執り行われる。
まずResolve Manager1012が全Resolve Agent1022、1032、1042に対し、Resolve Manager1012および全Resolve Agent1022、1032、1042との間の経路調査指示5001を出す。この結果、Resolve Manager1012−Resolve Agent1022間、Resolve Manager1012−Resolve Agent1032間、Resolve Manager1012−Resolve Agent1042間、Resolve Agent1022−Resolve Agent1032間、Resolve Agent1022−Resolve Agent1042間、Resolve Agent1032−Resolve Agent1042間の計6本の経路上のルータが明らかになる。
FIG. 5 shows a sequence of initial neighborhood cache table construction processing at the time of system start. This process is performed between the Resolve Manager 1012 and the Resolve Agents 1022, 1032, and 1042.
First, the Resolve Manager 1012 issues a route investigation instruction 5001 between the Resolve Manager 1012 and all Resolve Agents 1022, 1032, 1042 to all Resolve Agents 1022, 1032, 1042. As a result, a total of six paths between the Resolve Manager 1012 and the Resolve Agent 1022, between the Resolve Manager 1012 and the Resolve Agent 1032, between the Resolve Manager 1012 and the Resolve Agent 1042, between the Resolve Agent 1022 and the Resolve Agent 1032, between the Resolve Agent 1022 and the Resolve Agent 1042, and between the Resolve Agent 1032 and the Resolve Agent 1042. The upper router becomes clear.

続いてこれらのルータを重複排除などして1つのリストにする(5002)。続いてリストの先頭のルータを取りだしルータAとし(5003)、全Resolve Agent1022、1032、1042にルータAとの距離測定指示5004を出す。その結果を集計し、距離の近い上位2件のルータを近傍キャッシュ表4022に追加する。なお、ここではカウンター列4042の値は0、停止フラグ1(4045)および2(4048)はオフとする。以後、リストの終端まで処理を繰り返し(5006、5007、...)、初期近傍キャッシュ表を構築する。以下、本処理に関わる各モジュールの処理フローを説明する。   Subsequently, these routers are made into one list by deduplication or the like (5002). Subsequently, the first router in the list is taken out and designated as router A (5003), and a distance measurement instruction 5004 with respect to router A is issued to all the Resolve Agents 1022, 1032, and 1042. The results are totaled and the top two closest routers are added to the neighborhood cache table 4022. Here, the value of the counter row 4042 is 0, and the stop flags 1 (4045) and 2 (4048) are off. Thereafter, the processing is repeated until the end of the list (5006, 5007,...), And an initial neighborhood cache table is constructed. Hereinafter, the processing flow of each module related to this processing will be described.

図6にシステム開始時の初期近傍キャッシュ表構築処理のうち、Resolve Manager1012の処理部分のフローチャートを示す。Resolve Manager1012は初期近傍キャッシュ表構築処理開始(6001)後、全Resolve Agent1022、1032、1042に経路調査指示を出す。詳細には、以下の疑似コードで示す手順で、全Resolve Agent1022、1032、1042に指示を出す。   FIG. 6 shows a flowchart of the processing portion of the Resolve Manager 1012 in the initial neighborhood cache table construction processing at the time of starting the system. The Resolve Manager 1012 issues a route investigation instruction to all the Resolve Agents 1022, 1032, and 1042 after starting the initial neighborhood cache table construction process (6001). Specifically, an instruction is issued to all Resolve Agents 1022, 1032, and 1042 in the procedure shown in the following pseudo code.

n = rows_of(キャッシュサーバ一覧表)
for a in {1, 2, …, n - 1}
for b in {0, 1, …, n - 1}
if b < a
router_array.add(ResolveAgent${a}.経路調査
(ResolveAgent${b}))
fi
done
done
続いて全Resolve Agent1022、1032、1042からの経路調査の結果をルータの配列として受け取り、重複排除したルータの配列を作る(6003)。続いてルータ配列の先頭を変数ルータAにコピー(6004)し、ルータ配列の先頭要素を削除(6005)し、全Resolve Agent1022、1032、1042にルータAとの間の距離測定指示を出す(6006)。続いて全Resolve Agent1022、1032、1042からの距離調査の結果を受け取り、距離の近い上位2件を選び、近傍キャッシュ表にレコード登録(6007)する。ここではCount列4042の値は0、二つの停止フラグ4045、4048の値はオフとする。続いてルータ配列に続きがあるか否か判断(6008)し、続きがあれば手順6004に戻る。続きがなければ処理を終える(6009)。
n = rows_of (cache server list)
for a in {1, 2,…, n-1}
for b in {0, 1,…, n-1}
if b <a
router_array. add (ResolveAgent $ {a}. Route survey (ResolveAgent $ {b}))
fi
done
done
Subsequently, the route investigation results from all the Resolve Agents 1022, 1032, and 1042 are received as a router array, and a router array from which duplicates are eliminated is created (6003). Subsequently, the head of the router array is copied to the variable router A (6004), the head element of the router array is deleted (6005), and a distance measurement instruction to the router A is issued to all Resolve Agents 1022, 1032, and 1042 (6006). ). Subsequently, the results of distance surveys from all the Resolve Agents 1022, 1032, and 1042 are received, and the top two closest distances are selected, and records are registered in the neighborhood cache table (6007). Here, the value of the Count column 4042 is 0, and the values of the two stop flags 4045 and 4048 are off. Subsequently, it is determined whether there is a continuation in the router array (6008). If there is a continuation, the process returns to step 6004. If there is no continuation, the process ends (6009).

図7にシステム開始時の初期近傍キャッシュ表構築処理のうち、Resolve Agent1022、1032、1042の経路調査処理部分のフローチャートを示す。Resolve Agent1022、1032、1042はルータXとの経路調査処理開始(7001)後、ルータXにtracerouteを発行(7002)して経路を測定し、その結果をResolve Manager1012に返し(7003)、処理を終了(7004)する。   FIG. 7 shows a flowchart of the route investigation processing part of the Resolve Agents 1022, 1032, and 1042 in the initial neighborhood cache table construction processing at the time of starting the system. Resolve Agents 1022, 1032, and 1042 start route investigation processing with router X (7001), issue a traceroute to router X (7002), measure the route, return the result to Resolve Manager 1012 (7003), and finish the processing (7004).

図2に、手順7003の具体例を示す。図2ではaaa.example.com [a1.a2.a3.a4]からzzz.example.com [z1.z2.z3.z4]にtracerouteを発行した例である。tracerouteの結果、4つのルータを経由してzzz.example.comに到着する事が判る。この結果から、ルータ配列として、[b1.b2.b3.b4][c1.c2.c3.c4][d1.d2.d3.d4][e1.e2.e3.e4]が得られる。   FIG. 2 shows a specific example of the procedure 7003. In FIG. example. com [a1. a2. a3. a4] to zzz. example. com [z1. z2. z3. This is an example of issuing traceroute to [z4]. As a result of traceroute, zzz. example. You can see it arriving at com. From this result, [b1. b2. b3. b4] [c1. c2. c3. c4] [d1. d2. d3. d4] [e1. e2. e3. e4] is obtained.

なお、ここでは経路を取得する手段として広く用いられているtracerouteプログラムを用いたが、同様の機能を持った別のプログラムを用いてもいい。   Although the traceroute program widely used as a means for acquiring a route is used here, another program having the same function may be used.

図8にシステム開始時の初期近傍キャッシュ表構築処理のうち、Resolve Agent1022、1032、1042の距離測定処理部分のフローチャートを示す。Resolve Agent1022、1032、1042はルータXとの距離測定処理開始(8001)後、ルータXにpingを発行(8002)して経路を測定し、その結果をResolve Manager1012に返し(8003)、処理を終了(8004)する。   FIG. 8 shows a flowchart of the distance measurement processing portion of the Resolve Agents 1022, 1032, and 1042 in the initial neighborhood cache table construction processing at the time of starting the system. Resolve Agents 1022, 1032, and 1042 start distance measurement processing with router X (8001), issue a ping to router X (8002), measure the route, return the result to Resolve Manager 1012 (8003), and terminate the processing (8004).

図3に、手順8003の具体例を示す。図3ではaaa.example.com [a1.a2.a3.a4]からzzz.example.com [z1.z2.z3.z4]にpingを発行した例である。pingの結果、RTTの4回平均が11msであることが判る。この結果から、距離として11msが得られる。なお、ここでは距離を測定する手段として広く用いられているpingプログラムを用いたが、同様の機能を持った別のプログラムを用いてもいい。   FIG. 3 shows a specific example of the procedure 8003. In FIG. example. com [a1. a2. a3. a4] to zzz. example. com [z1. z2. z3. This is an example of issuing a ping to [z4]. As a result of pinging, it can be seen that the average of four RTTs is 11 ms. From this result, a distance of 11 ms is obtained. Although the ping program widely used as a means for measuring the distance is used here, another program having the same function may be used.

なお、ここではキャッシュサーバ間の経路上のルータを発見し登録したが、他にも既知のルータを手動登録することが考えられる。特にIX(Internet Exchange)など複数のコネクションを集約する個所にあるルータを登録しておく事が考えられる。ここまでの処理で、システム開始時に初期近傍キャッシュ表が構築できる。   Although a router on the path between cache servers is found and registered here, other known routers can be manually registered. In particular, it is conceivable to register a router at a location where a plurality of connections such as IX (Internet Exchange) are aggregated. With the processing so far, the initial neighborhood cache table can be constructed at the time of starting the system.

続いて図9に定常状態時の動作である情報処理端末がコンテンツを視聴する際の処理シーケンスを示す。本処理では、まず情報処理端末1061がVOD Portal1013に接続し番組表などを閲覧(9001)する。その裏で、VOD Portal1013はResolve Manager1012から近傍キャッシュアドレスを取得する。ここではResolve Manager1012が情報処理端末106)にtracerouteし、情報処理端末1061の近傍ルータを調査(9003)し、近傍キャッシュ表を用いて近傍キャッシュサーバのアドレスを返す。その後、情報処理端末1061が視聴する番組を決めた際に番組のメタデータ要求(9004)がある。VOD Portal1013は番組のメタデータとして、コンテンツのURL(Uniform Resource Locator)とコンテンツに対するDRMキーのURLを返す。このとき、コンテンツのURLとして手順9002で取得した近傍キャッシュサーバ内のURLを返す。その後、番組のメタデータを受けた情報処理端末1061が適当なキャッシュにコンテンツを要求(9005)し、またVOD DRM1014にDRMキーを要求する。   Next, FIG. 9 shows a processing sequence when the information processing terminal, which is an operation in a steady state, views content. In this processing, first, the information processing terminal 1061 connects to the VOD Portal 1013 and browses a program guide (9001). On the other hand, the VOD Portal 1013 acquires a neighborhood cache address from the Resolve Manager 1012. Here, the Resolve Manager 1012 traceroutes to the information processing terminal 106), investigates the neighboring router of the information processing terminal 1061 (9003), and returns the address of the neighboring cache server using the neighboring cache table. Thereafter, when the information processing terminal 1061 determines a program to be viewed, there is a program metadata request (9004). The VOD Portal 1013 returns the URL (Uniform Resource Locator) of the content and the URL of the DRM key for the content as program metadata. At this time, the URL in the neighborhood cache server acquired in step 9002 is returned as the content URL. Thereafter, the information processing terminal 1061 that has received the metadata of the program requests the content from an appropriate cache (9005), and requests a DRM key from the VOD DRM 1014.

なお、手順9002において、常に情報処理端末1061近傍のキャッシュサーバを返す事ができるわけではない。そのため、手順9002において情報処理端末1061近傍のキャッシュサーバを返す事が出来なかった場合は、図10に示す処理シーケンスに基づき代替キャッシュサーバを返し、さらに情報処理端末1061の近傍キャッシュを探索しておく。本処理では、まず情報処理端末1061がVOD Portal1013に接続し番組表などを閲覧(9001)する。その裏で、VOD Portal1013はResolve Manager1012から近傍キャッシュアドレスを取得する。ここではResolve Manager1012が情報処理端末1061にtracerouteし、情報処理端末1061の近傍ルータを調査(9003)し、近傍キャッシュ表を用いて近傍キャッシュサーバを探索するが見つからず、2番目に近いルータの最近傍キャッシュサーバを返す(10001)。その後、情報処理端末1061が番組のメタデータ要求(9004)し、適当なキャッシュにコンテンツを要求(9005)し、またVOD DRM1014にDRMキーを要求するのだが、その裏でResolve Manager1012は全Resolve Agent1022、1032、1042に情報処理端末1061最近傍のルータとの距離測定指示(10002)を出し、近傍キャッシュサーバを決定してレコードを作成(10003)する。この処理の結果、情報処理端末1061が再び番組を見る時や、他の近くにある情報処理端末1062、1063が番組を見るときに、最近傍のキャッシュサーバを使えるようになる。   Note that in the procedure 9002, it is not always possible to return a cache server in the vicinity of the information processing terminal 1061. Therefore, if the cache server in the vicinity of the information processing terminal 1061 cannot be returned in the procedure 9002, the alternative cache server is returned based on the processing sequence shown in FIG. . In this processing, first, the information processing terminal 1061 connects to the VOD Portal 1013 and browses a program guide (9001). On the other hand, the VOD Portal 1013 acquires a neighborhood cache address from the Resolve Manager 1012. Here, the Resolve Manager 1012 traceroutes to the information processing terminal 1061, investigates the neighboring router of the information processing terminal 1061 (9003), searches the neighboring cache server using the neighboring cache table, but cannot find the nearest router of the second nearest router. The neighbor cache server is returned (10001). Thereafter, the information processing terminal 1061 requests the metadata of the program (9004), requests the content from an appropriate cache (9005), and requests the DRM key from the VOD DRM 1014. On the other hand, the Resolve Manager 1012 receives all the Resolve Agents 1022 1032 and 1042, a distance measurement instruction (10002) with the router nearest to the information processing terminal 1061 is issued, a nearby cache server is determined, and a record is created (10003). As a result of this processing, the nearest cache server can be used when the information processing terminal 1061 views the program again or when the other information processing terminals 1062 and 1063 view the program.

以下、本処理に関わる各モジュールの処理フローを説明する。
図11に定常状態時の動作である情報処理端末がコンテンツを視聴する際の処理のうち、Resolve Manager1012の処理部分のフローチャートを示す。Resolve Manager1012は情報処理端末の近傍キャッシュ探索処理開始(11001)後、情報処理端末1061にtracerouteしルータ配列を取得(11002)する。続いて変数ルータAにルータ配列の末尾をコピー(11003)する。ルータ配列の末尾とは、すなわち情報処理端末1061に最も近いルータである。
Hereinafter, the processing flow of each module related to this processing will be described.
FIG. 11 shows a flowchart of the processing portion of the Resolve Manager 1012 in the processing when the information processing terminal views the content, which is the operation in the steady state. The Resolve Manager 1012 traces to the information processing terminal 1061 after starting the neighborhood cache search process of the information processing terminal (11001), and acquires the router array (11002). Subsequently, the end of the router array is copied to the variable router A (11003). The end of the router array is the router closest to the information processing terminal 1061.

続いて近傍キャッシュ表からルータAのレコードを探索(11004)し、見つかったか否か判断(11005)する。見つかった場合は同レコード内の停止フラグ1がオフか否か判断(11006)する。オフであった場合、すなわちキャッシュサーバ1が稼働中である場合はキャッシュサーバ1のURLを返す(11007)。停止フラグ1がオンであった場合は、続いて停止フラグ2の判断(11008)を行う。停止フラグ2がオフであればキャッシュサーバ2のURLを返す(11009)。停止フラグ2もオンであれば、判断11005で見つからなかった場合と同じく、ルータ配列に続きがあるか否か判断(11010)し、続きがあればルータAを本処理内で用いる一時領域である探索配列に追加(11012)し、ルータ配列の末尾を削除(11013)し、手順11003に戻る。判断11010でルータ配列に続きがない場合はVOD Data(Origin)1015のURLを返す(11010)。ここまでの処理で、現時点で最善のキャッシュサーバ(オリジンサーバを含む)をVOD Portal1013に返す事ができる。続いて図10で説明した最近傍ルータの近傍キャッシュサーバ探索処理を行う。まず一時領域である探索配列に要素があるか否か判断(11014)し、要素がない場合はそのまま処理を終了(11019)する。要素があった場合は変数ルータAに探索配列の先頭をコピー(11015)し、探索配列の先頭を削除(11016)し、全Resolve Agent1022、1032、1042にルータAとの距離測定指示(11017)を出す。続いて全Resolve Agent1022、1032、1042からの距離調査の結果を受け取り、距離の近い上位2件を選び、近傍キャッシュ表にレコード登録(11018)し、手順11014に戻る。   Subsequently, the record of the router A is searched from the neighborhood cache table (11004), and it is determined whether it has been found (11005). If found, it is determined whether or not the stop flag 1 in the record is off (11006). If it is off, that is, if the cache server 1 is in operation, the URL of the cache server 1 is returned (11007). When the stop flag 1 is on, the stop flag 2 is determined (11008). If the stop flag 2 is off, the URL of the cache server 2 is returned (11009). If the stop flag 2 is also ON, it is determined whether there is a continuation in the router array (11010) as in the case where it is not found in the determination 11005. If there is a continuation, the router A is a temporary area used in this processing. Add to the search array (11012), delete the end of the router array (11013), and return to step 11003. If the router array is not continued in the decision 11010, the URL of VOD Data (Origin) 1015 is returned (11010). With the processing so far, the best cache server (including the origin server) at the present time can be returned to the VOD Portal 1013. Subsequently, the neighborhood cache server search process of the nearest router described in FIG. 10 is performed. First, it is determined whether or not there is an element in the search array, which is a temporary area (11014). If there is no element, the process ends as it is (11019). If there is an element, the head of the search array is copied to variable router A (11015), the head of the search array is deleted (11016), and all Resolve Agents 1022, 1032, and 1042 are instructed to measure the distance to router A (11017). Put out. Subsequently, the distance survey results from all the Resolve Agents 1022, 1032, and 1042 are received, the top two items having the closest distances are selected, records are registered in the neighborhood cache table (11018), and the procedure returns to step 11014.

なお、ルータによってはICMPメッセージを返さず、どの経路を通ったか特定できない場合がある。その場合には、そのようなルータはルータ配列から除いて上記処理を実行する。また、経路上のすべてのルータがICMPメッセージを返さなかった場合は、情報処理端末に最も近いキャッシュサーバを探索し、返す。   Note that some routers do not return an ICMP message and cannot identify which route was taken. In that case, such a router removes it from the router array and executes the above processing. If all routers on the route do not return the ICMP message, the cache server closest to the information processing terminal is searched and returned.

ここまでの処理で、定常状態時の動作である情報処理端末がコンテンツを視聴する際の近傍キャッシュサーバを解決できる。   With the processing so far, it is possible to solve the neighborhood cache server when the information processing terminal, which is the operation in the steady state, views the content.

続いて図12にシステムに新たなキャッシュサーバを追加する際の処理、同じく図13システムからキャッシュサーバを削除する際の処理シーケンスを示す。   Next, FIG. 12 shows a process when a new cache server is added to the system, and a process sequence when a cache server is deleted from the system shown in FIG.

システムに新たなキャッシュサーバを追加する際の処理はResolve Manager1012と新たに追加されるキャッシュサーバ12001のResolve Agent12002の間で執り行われる。まずResolve Agent12002がResolve Manager1012に対しキャッシュ追加処理指示(12004)を出す。続いてResolve Manager1012はキャッシュサーバ一覧表4023にキャッシュサーバ12001に関するレコードを追加(12005)する。続いて近傍キャッシュ表4022の1行目のルータを取りだしルータAとし(12006)、Resolve Agent12002にルータAとの距離測定指示(12007)を出し、ここではその結果が近傍キャッシュ表4022のレコード中の距離よりも近いためレコードを更新する(12008)。続いて近傍キャッシュ表4022の2行目のルータを取りだしルータAとし(12009)、Resolve Agent12002にルータAとの距離測定指示(12010)を出し、ここではその結果が近傍キャッシュ表4022のレコード中の距離よりも遠いためレコードを更新しない。以後、近傍キャッシュ表4022の3行目(12011)から近傍キャッシュ表の最後まで同じ処理を続ける。   The processing for adding a new cache server to the system is performed between the Resolve Manager 1012 and the Resolve Agent 12002 of the newly added cache server 12001. First, the Resolve Agent 12002 issues a cache addition processing instruction (12004) to the Resolve Manager 1012. Subsequently, the Resolve Manager 1012 adds a record related to the cache server 12001 to the cache server list 4023 (12005). Subsequently, the router on the first line of the neighborhood cache table 4022 is taken out and designated as router A (12006), and a distance measurement instruction (12007) to the router A is issued to the Resolve Agent 12002. Here, the result is stored in the record of the neighborhood cache table 4022. Since it is closer than the distance, the record is updated (12008). Subsequently, the router on the second line of the neighborhood cache table 4022 is taken out and designated as router A (12009), and a distance measurement instruction (12010) to the router A is issued to the Resolve Agent 12002. Here, the result is stored in the record of the neighborhood cache table 4022 The record is not updated because it is further than the distance. Thereafter, the same processing is continued from the third row (12011) of the neighborhood cache table 4022 to the end of the neighborhood cache table.

一方でシステムからキャッシュサーバを削除する際の処理はResolve Manager1012と全てのResolve Agent1022、1032、1042、12002の間で執り行われる。まずこれから削除されるキャッシュサーバ12001のResolve Agent12002がResolve Manager1012に対しキャッシュ削除処理指示(13001)を出す。続いてResolve Manager1012はキャッシュサーバ一覧表4023からこれから削除されるキャッシュサーバ12001に関するレコードを削除(13002)する。続いて近傍キャッシュ表4022のうちこれから削除されるキャッシュサーバ12001に関する複数の行のうちの1行目のルータを取りだしルータAとし(13003)、これから削除されるキャッシュサーバ12001のResolve Agent1022、1032、1042にルータAとの距離測定指示(13004)を出し、その結果を用いてレコードを更新する(12008)。以後、同じ処理をこれから削除されるキャッシュサーバ12001に関する複数の行のうちの2行目(13006〜13008)、3行目(13009)から近傍キャッシュ表の最後まで同じ処理を続ける。   On the other hand, processing for deleting a cache server from the system is performed between the Resolve Manager 1012 and all Resolve Agents 1022, 1032, 1042, and 12002. First, the Resolve Agent 12002 of the cache server 12001 to be deleted issues a cache deletion processing instruction (13001) to the Resolve Manager 1012. Subsequently, the Resolve Manager 1012 deletes the record related to the cache server 12001 to be deleted from the cache server list 4023 (13002). Subsequently, the router in the first row among the plurality of rows related to the cache server 12001 to be deleted from the neighborhood cache table 4022 is taken out as router A (13003), and the Resolve Agents 1022, 1032, and 1042 of the cache server 12001 to be deleted from now on. A distance measurement instruction (13004) is issued to router A, and the record is updated using the result (12008). Thereafter, the same process is continued from the second line (13006 to 13008) and the third line (13009) of the plurality of lines related to the cache server 12001 to be deleted from the end of the neighborhood cache table.

図14にシステムに新たなキャッシュサーバを追加する際の処理のうち、Resolve Manager1012の処理部分のフローチャートを示す。Resolve Manager1012はキャッシュサーバCの追加処理開始(14001)後、まずキャッシュサーバ一覧表4023にキャッシュサーバCに関するレコードを追加(14002)する。続いて近傍キャッシュ表4022から全レコードのルータIPアドレス列4041を取りだしルータ配列を作る(14003)。続いて変数ルータAにルータ配列の先頭をコピー(14004)し、ルータ配列の先頭を削除(14005)し、キャッシュサーバCのResolve AgentにルータAとの距離測定指示(14006)を出し、結果を受け取る。その距離と近傍キャッシュ表4022のルータAに関する行のうちキャッシュサーバ1よりも近いか否か判断(14007)し、近い場合は近傍キャッシュ表4022のルータAに関する行のキャッシュサーバ2および距離2を現在のキャッシュサーバ1および距離1の値で更新(14008)し、続いて近傍キャッシュ表4022のルータAに関する行のキャッシュサーバ1および距離1をキャッシュサーバCのIPアドレスと距離で更新する(14009)。判断14007において遠い場合は続いてキャッシュサーバCとルータAの距離と近傍キャッシュ表4022のルータAに関する行のうちキャッシュサーバ2よりも近いか否か判断(14010)し、近い場合は近傍キャッシュ表4022のルータAに関する行のキャッシュサーバ2および距離2をキャッシュサーバ1および距離1をキャッシュサーバCのIPアドレスと距離で更新する(14011)。続いてルータ配列に続きがあるか否か判断(14012)し、あれば手順14004に戻り、なければ処理を終える(14013)。   FIG. 14 shows a flowchart of the processing portion of the Resolve Manager 1012 in the processing when a new cache server is added to the system. The Resolve Manager 1012 first adds a record related to the cache server C to the cache server list 4023 after starting the addition process of the cache server C (14001) (14002). Subsequently, the router IP address column 4041 of all records is extracted from the neighborhood cache table 4022, and a router array is created (14003). Subsequently, the head of the router array is copied to the variable router A (14004), the head of the router array is deleted (14005), a distance measurement instruction (14006) with the router A is issued to the Resolve Agent of the cache server C, and the result is displayed. receive. It is determined whether or not the distance and the line related to the router A in the neighboring cache table 4022 are closer to the cache server 1 (14007). If the distance is close, the cache server 2 and the distance 2 in the line related to the router A in the neighboring cache table 4022 are The cache server 1 is updated with the value of the distance 1 (14008), and the cache server 1 and the distance 1 of the row related to the router A in the neighborhood cache table 4022 are updated with the IP address and the distance of the cache server C (14009). If it is determined in the determination 14007 that it is far, then it is determined whether the distance between the cache server C and the router A and the line related to the router A in the neighborhood cache table 4022 is closer to the cache server 2 (14010). The cache server 2 and the distance 2 in the line related to the router A of the server A are updated with the cache server 1 and the distance 1 with the IP address and distance of the cache server C (14011). Subsequently, it is determined whether there is a continuation in the router array (14012).

図15にシステムからキャッシュサーバを削除する際の処理のうち、Resolve Manager1012の処理部分のフローチャートを示す。Resolve Manager1012はキャッシュサーバCの削除処理開始(15001)後、まずキャッシュサーバ一覧表4023からキャッシュサーバCに関するレコードを削除(15002)する。続いて近傍キャッシュ表4022からキャッシュCを含む全レコードのルータIPアドレス列4041を取りだしルータ配列を作る(15003)。続いて変数ルータAにルータ配列の先頭をコピー(15004)し、ルータ配列の先頭を削除(15005)し、キャッシュサーバC以外の全Resolve Agent1022、1032、1042にルータAとの距離測定指示(15006)を出し、結果を受け取る。その結果から距離の近い上位2件を選び、近傍キャッシュ表4022のルータAに関するレコードを更新(15007)する。続いてルータ配列に続きがあるか判断(15008)し、あれば手順15004に戻り、なければ処理を終了(15009)する。
ここまでの処理で、システムに新たなキャッシュサーバを追加および削除できる。
FIG. 15 shows a flowchart of the processing portion of the Resolve Manager 1012 in the processing when deleting the cache server from the system. The Resolve Manager 1012 first deletes the record related to the cache server C from the cache server list 4023 (15002) after starting the deletion process of the cache server C (15001). Subsequently, the router IP address column 4041 of all records including the cache C is extracted from the neighborhood cache table 4022, and a router array is created (15003). Subsequently, the head of the router array is copied to the variable router A (15004), the head of the router array is deleted (15005), and the distance measurement instruction (15006) with respect to the router A is sent to all Resolve Agents 1022, 1032, and 1042 other than the cache server C. ) And receive the result. Based on the result, the top two items that are closest to each other are selected, and the record related to router A in the neighborhood cache table 4022 is updated (15007). Subsequently, it is determined whether there is a continuation in the router array (15008).
With the processing so far, a new cache server can be added to and deleted from the system.

最後に、これまでに説明した個々の処理手順を統合して、Resolve Managerの動作を図16に、またResolve Agentの動作を図17に示す。
Resolve Managerは起動(16001)後、キャッシュサーバ一覧表にキャッシュサーバを登録(16002)する。これは初期値として与えるキャッシュサーバの一覧であり、ここでは人手で入力する。他にも設定ファイルに書いたりResolve Agentのキャッシュ追加処理指示を受けたりといった方法が考えられる。続いてマネージャモジュールを起動(16003)し、図6の初期近傍キャッシュ表構築処理を実行(16004)する。これ以降は処理依頼を待ちうける。近傍キャッシュの問い合わせがあった場合は(16005)、図11の情報処理端末の近傍キャッシュ探索処理を実行(16006)する。また、キャッシュサーバ追加処理依頼があった場合は(16007)、図14のキャッシュCの追加処理を実行(16008)する。また、キャッシュサーバ削除処理依頼があった場合は(16009)、図15のキャッシュCの削除処理を実行(16010)する。またキャッシュサーバのメンテナンス報告があった場合は(16011)、それがメンテナンス中報告であれば近傍キャッシュ表(4022)のうち、報告のあったキャッシュサーバのIPアドレスをキャッシュサーバ1列(4043)に含む行は停止フラグ1(4045)を、キャッシュサーバ2列(4046)に含む行は停止フラグ2(4048)をオンに操作(16012)する。同じくメンテナンス終了報告であればオフにする。
Finally, the individual processing procedures described so far are integrated, and the operation of the Resolve Manager is shown in FIG. 16, and the operation of the Resolve Agent is shown in FIG.
After the Resolve Manager is started (16001), the cache server is registered in the cache server list (16002). This is a list of cache servers to be given as initial values, which are manually entered here. There are other methods such as writing to the configuration file and receiving instructions for adding the Resolve Agent cache. Subsequently, the manager module is activated (16003), and the initial neighborhood cache table construction process of FIG. 6 is executed (16004). After this, you can wait for a processing request. If there is an inquiry about the neighborhood cache (16005), the neighborhood cache search process of the information processing terminal in FIG. 11 is executed (16006). If there is a cache server addition process request (16007), the cache C addition process of FIG. 14 is executed (16008). If there is a cache server deletion processing request (16009), the cache C deletion processing of FIG. 15 is executed (16010). If there is a maintenance report for the cache server (16011), and if it is a maintenance report, the IP address of the cache server that reported in the neighborhood cache table (4022) is stored in the cache server 1 column (4043). The line including the stop flag 1 (4045) is turned on (16012), and the line including the cache server 2 column (4046) is turned on the stop flag 2 (4048) (16012). If it is also a maintenance end report, turn it off.

Resolve Agentは起動(17001)後、エージェントモジュールを起動(17002)し、Resolve Managerにキャッシュ追加処理を指示(17003)する。これ以降は処理の依頼を待ちうける。経路調査依頼があった場合は(17004)図7のルータXとの経路調査処理を実行(17005)し、距離調査依頼があった場合は(17006)図8のルータXとの距離測定処理を実行(17007)する。この待ち受け中に管理者から明示的に終了指示があった場合(17008)はResolve Managerにキャッシュ削除処理を指示(17009)し、Resolve Agentを終了(17010)する。   The Resolve Agent starts (17001), then starts the agent module (17002), and instructs the Resolve Manager to perform cache addition processing (17003). After this, you can wait for a request for processing. When there is a route investigation request (17004), a route investigation process with the router X in FIG. 7 is executed (17005), and when there is a distance investigation request (17006), a distance measurement process with the router X in FIG. Execute (17007). If there is an explicit termination instruction from the administrator during this standby (17008), the Resolve Manager is instructed to delete the cache (17009), and the Resolve Agent is terminated (17010).

ここでは本実施例のエンドユーザ近傍キャッシュ解決システムを用いたWEBコンテンツ配信システムについて説明する。WEBコンテンツ配信システムではVODの場合と異なり、エンドユーザからのコンテンツ要求に対して即座にコンテンツを返す必要がある。そのためtracerouteなど時間がかかる処理を行う事ができないと言う特徴がある。そこで本実施例ではこの特徴に合わせてResolve Managerの構成や動作に変更を加えている。   Here, a web content distribution system using the end-user neighborhood cache solution system of this embodiment will be described. Unlike the case of VOD, the web content distribution system needs to return content immediately in response to a content request from an end user. Therefore, there is a feature that processing that takes time such as traceroute cannot be performed. Therefore, in this embodiment, the configuration and operation of the Resolve Manager are changed in accordance with this feature.

図18に本実施例の全体構成を示す。
DC1011には変更されたResolve Manager18001とWEBコンテンツ配信コンポーネントであるコンテンツ配信装置としてのHTTP Data(Origin)18002がある。
FIG. 18 shows the overall configuration of this embodiment.
The DC 1011 includes a modified Resolve Manager 18001 and HTTP Data (Origin) 18002 as a content distribution device that is a WEB content distribution component.

キャッシュサーバ1021、1031、1041にはResolve Agent1022、1032、1042とHTTP Data(Cache)18003、18004、18005がある。Resolve Agent1022、1032、1042は実施例1と同じものを用いる。またHTTP Data(Cache)18003、18004、18005はHTTP Data(Origin)18002と同等の機能およびコンテンツを持ち、実際にコンテンツを配信するコンポーネントである。ただし、コンテンツのうち、AタグやIMGタグなどリンクを持つタグのURLが絶対パスを持っている場合は、各HTTP Data(Cache)のURLに置き換えられている。
また、本実施例でPC18006、18007、18008がクライアントであり、クライアントプログラムには一般的なWEBブラウザを想定している。なおWEBブラウザが動作すれば、PCやスマートフォンなど情報処理端末のハードウェアは問わない。
The cache servers 1021, 1031, and 1041 include Resolve Agents 1022, 1032, and 1042 and HTTP Data (Cache) 18003, 18004, and 18005. The same Resolve Agents 1022, 1032, and 1042 are used as in the first embodiment. HTTP Data (Cache) 18003, 18004, and 18005 have the same functions and content as HTTP Data (Origin) 18002, and are components that actually deliver the content. However, if the URL of a tag having a link such as an A tag or an IMG tag in the content has an absolute path, it is replaced with the URL of each HTTP Data (Cache).
In this embodiment, PCs 18006, 18007, and 18008 are clients, and a general web browser is assumed as the client program. Note that the hardware of the information processing terminal such as a PC or a smartphone is not limited as long as the web browser operates.

図19に変更されたResolve Manager18001とHTTP Data(Origin)18002の詳細構成を示す。
Resolve Manager18001はCPU19011、主記憶19012、二次記憶19013を含む。主記憶19012の上にはマネージャモジュール19021と近傍キャッシュ表19022とキャッシュサーバ一覧表19023とtraceroute表19024を含む。このうち、マネージャモジュール19021は実施例1のマネージャモジュール4021を変更したものである。また近傍キャッシュ表19022とキャッシュサーバ一覧表19023はそれぞれ実施例1の近傍キャッシュ表4022とキャッシュサーバ一覧表4023と同じものである。traceroute表19024はPCアドレス列19041とルータ配列列19042を持ち、あるPCまでの経路上のルータを保存しておく。
FIG. 19 shows the detailed configuration of the changed Resolve Manager 18001 and HTTP Data (Origin) 18002.
The Resolve Manager 18001 includes a CPU 19011, a main storage 19012, and a secondary storage 19013. On the main memory 19012, a manager module 19021, a neighborhood cache table 19022, a cache server list 19023, and a traceroute table 19024 are included. Among these, the manager module 19021 is obtained by changing the manager module 4021 of the first embodiment. The neighborhood cache table 19022 and the cache server list 19023 are the same as the neighborhood cache table 4022 and the cache server list 4023 of the first embodiment, respectively. The traceroute table 19024 has a PC address column 19041 and a router array column 19042, and stores a router on the route to a certain PC.

なお、traceroute表19024の主キーはPCアドレス列19041であり、PCアドレス列を用いて特定の1行を限定する事ができる。また二次記憶19013にはマネージャモジュールプログラム19031が含まれる。Resolve Manager18001動作時にはマネージャモジュールプログラム19031を主記憶19012上に展開し、マネージャモジュール19021として実行する。   Note that the primary key of the traceroute table 19024 is the PC address column 19041, and a specific row can be limited using the PC address column. The secondary storage 19013 includes a manager module program 19031. When the Resolve Manager 18001 operates, the manager module program 19031 is expanded on the main memory 19012 and executed as the manager module 19021.

HTTP Data(Origin)18002はCPU1905、主記憶1905、二次記憶19053を含む。主記憶19052の上にはHTTPサーバ19061とリライトモジュール19062を含む。このうち、HTTPサーバ19061は汎用のHTTPサーバ19061を用いる。またリライトモジュールはHTTPサーバ19061とPC18006、18007、18008の間に入り、コンテンツ中のAタグやIMGタグなどリンクを持つタグのURLを書き換える機能を持つ。二次記憶19053にはHTTPサーバプログラム19071とリライトモジュールプログラム19072が含まれる。HTTP Data(Origin)18002動作時にはHTTPサーバプログラム19071とリライトモジュールプログラム19072を主記憶19052上に展開し、HTTPサーバ19061とリライトモジュール19062として実行する。   HTTP Data (Origin) 18002 includes a CPU 1905, a main memory 1905, and a secondary storage 19053. An HTTP server 19061 and a rewrite module 19062 are included on the main memory 19052. Among these, the HTTP server 19061 uses a general-purpose HTTP server 19061. The rewrite module enters between the HTTP server 19061 and the PCs 18006, 18007, and 18008, and has a function of rewriting the URL of a tag having a link such as an A tag or an IMG tag in the content. The secondary storage 19053 includes an HTTP server program 19071 and a rewrite module program 19072. When the HTTP Data (Origin) 18002 operates, the HTTP server program 19071 and the rewrite module program 19072 are expanded on the main memory 19052 and executed as the HTTP server 19061 and the rewrite module 19062.

続いて、エンドユーザ近傍キャッシュ解決システムを用いたWEBコンテンツ配信システムの動作詳細を示す。ただし、システム開始時の初期近傍キャッシュ表構築処理と、システムに新たなキャッシュサーバを追加する際の処理と削除する際の処理は実施例1と同様であるため、ここでは定常状態時の動作であるPCがコンテンツを取得する際の処理を示す。   Next, operation details of the WEB content distribution system using the end user neighborhood cache solution system will be described. However, the initial neighborhood cache table construction process at the time of starting the system, the process when adding a new cache server to the system, and the process when deleting it are the same as in the first embodiment. A process when a certain PC acquires contents will be described.

図20に定常状態時の動作であるPCがコンテンツを取得する際の処理シーケンスを示す。本処理では、まずPC18006がHTTP Data(Origin)18002に接続しトップページを要求(20001)する。続いてHTTP Data(Origin)18002はResolve Manager18001から近傍キャッシュアドレスを取得(20002)するが、ここではResolve Manager18001はtraceroute表19024を探索してもPC18006のレコードが見つからなかった(20003)ためHTTP Data(Origin)18002のアドレスを返す(20004)このため、HTTP Data(Origin)18002はPC18006にコンテンツ中のアドレスの書き換えをしないでコンテンツを返す(20005)。その裏で、Resolve Manager18001はPC18006にtracerouteし、結果をtraceroute表19024に登録(20006)しておく。続いてPC18006が続きのページを要求(20007)すると、再びHTTP Data(Origin)18002はResolve Manager18001から近傍キャッシュアドレスを取得(20008)するが、この時は手順20006でtraceroute結果をtraceroute表19024に登録してあるため、traceroute表を探索するとレコードが見つかる(20009)。そのためそのレコードを用いて近傍キャッシュサーバを解決し、近傍キャッシュサーバのアドレスを返す(20010)。続いてHTTP Data(Origin)18002は近傍キャッシュサーバのアドレスを用いてコンテンツ中のアドレスを書き換えてコンテンツを返す(20011)。これ以降のPC18006からのコンテンツ要求は、ここではキャッシュサーバ1(1021)上のHTTP Data(Cache)1(18003)に向かう(20012)。   FIG. 20 shows a processing sequence when the PC, which is an operation in the steady state, acquires content. In this process, the PC 18006 first connects to HTTP Data (Origin) 18002 and requests a top page (20001). Subsequently, HTTP Data (Origin) 18002 obtains the neighborhood cache address from Resolve Manager 18001 (20002), but here, Resolve Manager 18001 did not find the record of PC 18006 even after searching the traceroute table 19024 (20003). Origin) 18002 is returned (20004). Therefore, HTTP Data (Origin) 18002 returns the content without rewriting the address in the content to PC 18006 (20005). On the other hand, Resolve Manager 18001 traceroutes to PC 18006 and registers the result in traceroute table 19024 (20006). Subsequently, when the PC 18006 requests a subsequent page (20007), the HTTP Data (Origin) 18002 again obtains a neighborhood cache address from the Resolve Manager 18001 (20008). At this time, the traceroute result is registered in the traceroute table 19024 in step 20006. Therefore, when the traceroute table is searched, a record is found (20009). Therefore, the neighboring cache server is resolved using the record, and the address of the neighboring cache server is returned (20010). Subsequently, HTTP Data (Origin) 18002 rewrites the address in the content using the address of the neighboring cache server and returns the content (20011). The subsequent content requests from the PC 18006 are directed to HTTP Data (Cache) 1 (18003) on the cache server 1 (1021) (20012).

図21に定常状態時の動作であるPCがコンテンツを取得する際の処理シーケンスのうち、Resolve Manager18001の処理部分であるPCの近傍キャッシュ探索処理のフローチャートを示す。本実施例では、本処理で図16のResolve Manager全体処理のうち情報処理端末の近傍キャッシュ探索処理(16006)を置き変える。Resolve Manager18001はPCの近傍キャッシュ探索処理開始(21001)後、まずtraceroute表にPCのエントリがあるか否か判断(21002)する。判断の結果エントリがなかった場合はHTTP Data(Origin)18002のURLを返し(21003)、その後PC18006にtracerouteして得られたルータ配列からレコードを作成してtraceroute表(19024)に追加(21004)し、処理を終える(21005)。一方判断21002の結果エントリがあった場合はtraceroute表のエントリからルータ配列を取得する(21006)。これ以降の処理は図11の処理11003〜11018と等しいため説明を省く。
ここまでの処理で、定常状態時の動作であるPCがコンテンツを取得する際の近傍キャッシュサーバを解決できる。
FIG. 21 shows a flowchart of the neighborhood cache search process of the PC, which is the process part of the Resolve Manager 18001, in the process sequence when the PC acquires the content as the operation in the steady state. In this embodiment, this process replaces the neighborhood cache search process (16006) of the information processing terminal in the entire Resolve Manager process of FIG. The Resolve Manager 18001 first judges whether there is an entry for the PC in the traceroute table after starting the PC neighborhood cache search process (21001) (21002). If there is no entry as a result of determination, the URL of HTTP Data (Origin) 18002 is returned (21003), and then a record is created from the router array obtained by traceroute to PC 18006 and added to the traceroute table (19024) (21004) Then, the process ends (21005). On the other hand, if there is an entry as a result of judgment 21002, the router array is acquired from the entry in the traceroute table (21006). Since the subsequent processing is the same as the processing 11003 to 11018 of FIG.
With the processing so far, it is possible to solve the neighborhood cache server when the PC, which is the operation in the steady state, acquires the content.

なお、Resolve Manager18001が用いる近傍キャッシュ表4022、キャッシュサーバ一覧表18022、traceroute表19024のうち、近傍キャッシュ表4022とtraceroute表19024はレコード数が際限なく大きくなる可能性がある。これに対して、レコード数に上限を持たせて、重要度の低いレコードを削除する方法が有効である。重要度の低いレコードは、近傍キャッシュ表4022の場合はアクセス回数を表すcounter列4042の値が小さいものである。そこで、この場合はLRU(Least Recently Used)アルゴリズムに基づきcouter列4042の値が小さい順に削除する。また、traceroute表19024のようにアクセス回数が判らない表であれば、FIFO(First In First Out)アルゴリズムに基づき、古い行すなわち表の上の方にある行は重要度が低いと判断する。   Of the neighborhood cache table 4022, cache server list 18022, and traceroute table 19024 used by the Resolve Manager 18001, the neighborhood cache table 4022 and the traceroute table 19024 may have an unlimited number of records. On the other hand, a method of deleting a record with low importance by giving an upper limit to the number of records is effective. In the case of the neighborhood cache table 4022, a record with low importance has a small value in the counter column 4042 indicating the number of accesses. Therefore, in this case, deletion is performed in ascending order of the value in the couter column 4042 based on an LRU (Least Recently Used) algorithm. If the access count is not known, such as the traceroute table 19024, the old row, that is, the row at the top of the table, is determined to be less important based on the FIFO (First In First Out) algorithm.

なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したのであり、必ずしも説明の全ての構成を備えるものに限定されものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることが可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。   In addition, this invention is not limited to an above-described Example, Various modifications are included. For example, the above-described embodiments have been described in detail in order to explain the present invention in an easy-to-understand manner, and are not necessarily limited to those having all the configurations described. Further, a part of the configuration of one embodiment can be replaced with the configuration of another embodiment, and the configuration of another embodiment can be added to the configuration of one embodiment. Further, it is possible to add, delete, and replace other configurations for a part of the configuration of each embodiment.

また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウエアで実現してもよい。また、上記の各構成、機能等は、それぞれの機能を実現するプログラムを実行することによりソフトウェアで実現する場合を例示して説明したが、各機能を実現するプログラム、テーブル、ファイル等の情報はメモリのみならず、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード、DVD等の記録媒体におくことができるし、必要に応じてネットワーク等を介してダウンロード、インストールすることも可能である。   Each of the above-described configurations, functions, processing units, processing means, and the like may be realized by hardware by designing a part or all of them with, for example, an integrated circuit. In addition, each configuration, function, and the like have been described by exemplifying a case where they are realized by software by executing a program that realizes each function. However, information on programs, tables, files, and the like that realize each function It can be stored not only in memory, but also in recording devices such as hard disks and SSDs (Solid State Drives), or recording media such as IC cards, SD cards, and DVDs. It is also possible to do.

以上説明した本発明の開示の内容には、特許請求の範囲の各項に記載の発明以外に種々の発明が含まれている。その一例を示すと下記のとおりである。
例1:ある装置Aを識別するIDを入力し、同じ機能を持った別のいくつかの装置の中から装置Aにネットワーク上の距離の近い別の装置Bを識別するIDを返す装置解決方法であって、
予めネットワーク上の幾つかの中継装置と、同じ機能を持った別の幾つかの装置それぞれとの距離を測定し、ネットワーク上の幾つかの中継装置にネットワーク上の距離の近い別の装置を決定してリストとして保持しておき、
装置Aを識別するIDを入力したら装置Aまでのネットワーク上の経路上の中継装置を調査し、中継装置の配列とし、
装置Aに最も近い中継装置を前記予め保持したリストから探索し、装置Aに最も近い中継装置に最も近い別の装置Bを取得し、
もし装置Aに最も近い中継装置が前記予め保持したリストに含まれない場合は、装置Aから二番目に近い中継装置を用いて前記予め保持したリストから探索し、装置Aから二番目に近い中継装置に最も近い別の装置Bを取得し、
同様に再帰的に装置Aにn番目に近い中継装置前記予め保持したリストに含まれない場合は、装置Aからn+1番目に近い中継装置を用いて前記予め保持したリストから探索し、装置Aからn+1番目に近い中継装置に最も近い別の装置Bを取得し、装置Bを返す、
装置解決方法。
The contents of the disclosure of the present invention described above include various inventions in addition to the inventions described in the respective claims. An example is as follows.
Example 1: An apparatus solution method for inputting an ID for identifying a device A and returning an ID for identifying another device B having a short distance on the network to the device A from among several other devices having the same function Because
Measure the distance between several relay devices on the network in advance and several other devices with the same function, and determine another device with a short distance on the network for some relay devices on the network And keep it as a list,
When the ID for identifying the device A is input, the relay device on the route on the network to the device A is investigated, and the relay device is arranged.
Search the relay device closest to the device A from the previously held list, obtain another device B closest to the relay device closest to the device A,
If the relay device closest to device A is not included in the pre-stored list, a search is made from the pre-held list using the relay device that is the second closest to device A, and the relay that is the second closest to device A. Get another device B closest to the device,
Similarly, if the relay device that is nth closest to device A is not included in the list held in advance, the device A searches from the list held in advance using the relay device that is closest to n + 1 from device A. obtain another device B closest to the n + 1th closest relay device and return device B,
Device solution.

1011 データセンタ(DC)
1012、18001 リゾルブマネージャ
1013 VOD Portal
1014 VOD DRM
1015 VOD Data(Origin)
1021、1031、1041 キャッシュ サーバ
1022、1032、1042 リゾルブ エージェント
1023、1033、1043 VOD Data(Cache)
1051、1052、1053、1054、1055、1056、1058、1059 ルータ
1061、1062、1063 情報処理端末
4011、4061、19011、19051 CPU
4012、4062、19012、19052 主記憶
4013、4063、19013、19053 二次記憶
4021、19021 マネージャモジュール
4022、19022 近傍キャッシュ表
4023、19023 キャッシュサーバ一覧表
4031、19031 マネージャモジュールプログラム
4041 ルータIP
4042 カウンタ
4043、4046 キャッシュサーバ
4044、4047 距離
4045、4048 停止フラグ
4051 ID
4052 キャッシュサーバIP
4053 リゾルブ エージェント IP
4081 エージェントモジュールプログラム
18002、18003、18004、18005 HTTP Data (Cache)
18006、18007、18008 パーソナルコンピュータ(PC)
19041 PCアドレス
19042 ルータ配列
19061 HTTPサーバ
19062 リライトモジュール
19071 HTTPサーバプログラム
19072 リライトモジュールプログラム
1011 Data Center (DC)
1012, 18001 Resolve Manager 1013 VOD Portal
1014 VOD DRM
1015 VOD Data (Origin)
1021, 1031, 1041 Cache server 1022, 1032, 1042 Resolve agent 1023, 1033, 1043 VOD Data (Cache)
1051, 1052, 1053, 1054, 1055, 1056, 1058, 1059 Router 1061, 1062, 1063 Information processing terminal 4011, 4061, 19011, 19051 CPU
4012, 4062, 19012, 19052 Main memory 4013, 4063, 19013, 19053 Secondary memory 4021, 19021 Manager module 4022, 19022 Neighborhood cache table 4023, 19023 Cache server list table 4031, 19031 Manager module program 4041 Router IP
4042 Counter 4043, 4046 Cache server 4044, 4047 Distance 4045, 4048 Stop flag 4051 ID
4052 Cache server IP
4053 Resolve Agent IP
4081 Agent module programs 18002, 18003, 18004, 18005 HTTP Data (Cache)
18006, 18007, 18008 Personal computer (PC)
19041 PC address 19042 Router array 19061 HTTP server 19062 Rewrite module 19071 HTTP server program 19072 Rewrite module program

Claims (15)

複数のキャッシュサーバの中から、端末にネットワーク上の距離の近いキャッシュサーバを通知する装置のキャッシュサーバ解決方法であって、
前記装置は、
前記ネットワーク上の複数の中継装置と、複数の前記キャッシュサーバそれぞれとのネットワーク上の距離を測定し、複数の前記中継装置各々に距離の近い前記キャッシュサーバを決定した結果を保持し、
前記端末へのネットワーク上の経路上の前記中継装置を調査し、
保持された前記端末に最も近い前記中継装置に近い前記キャッシュサーバを取得し、前記端末に最も近い前記中継装置に近いキャッシュサーバが保持されていない場合は、前記端末から次に近い前記中継装置に近い前記キャッシュサーバを探索して取得することを繰返す、
ことを特徴とするキャッシュサーバ解決方法。
A cache server solution for an apparatus for notifying a terminal of a cache server having a short distance on a network from a plurality of cache servers,
The device is
Measure the distance on the network between the plurality of relay devices on the network and each of the plurality of cache servers, hold the result of determining the cache server that is close to each of the plurality of relay devices,
Investigate the relay device on the network path to the terminal,
The cache server closest to the relay device closest to the held terminal is acquired, and when the cache server close to the relay device closest to the terminal is not held, the relay device closest to the next to the terminal Repeatedly searching for and obtaining the near cache server;
A cache server solution characterized by the above.
請求項1に記載のキャッシュサーバ解決方法であって、
前記装置は、
予め前記端末までのネットワーク上の経路上の前記中継装置を調査し、その結果を前記中継装置の配列のリストとして保持し、
前記端末を識別する識別子が入力されたら、予め保持した前記中継装置の配列のリストから探索する、
ことを特徴とするキャッシュサーバ解決方法。
The cache server solving method according to claim 1,
The device is
Investigate the relay device on the route on the network to the terminal in advance, hold the result as a list of the array of relay devices,
When an identifier for identifying the terminal is input, search from a list of the arrangement of the relay devices held in advance,
A cache server solution characterized by the above.
請求項2に記載のキャッシュサーバ解決方法であって、
前記装置は、
前記端末にtracerouteすることにより、前記端末近傍の前記中継装置を調査する、
ことを特徴とするキャッシュサーバ解決方法。
The cache server solving method according to claim 2,
The device is
By examining the relay device in the vicinity of the terminal by traceroute to the terminal,
A cache server solution characterized by the above.
請求項1に記載のキャッシュサーバ解決方法であって、
前記端末は、動画配信システムの視聴用クライアントを備え、
前記キャッシュサーバは、前記動画配信システムの動画データをキャッシュする、
ことを特徴とするキャッシュサーバ解決方法。
The cache server solving method according to claim 1,
The terminal includes a client for viewing a video distribution system,
The cache server caches video data of the video distribution system;
A cache server solution characterized by the above.
請求項1に記載のキャッシュサーバ解決方法であって、
前記端末は、コンテンツ配信装置にコンテンツ配信要請するためのクライアントプログラムを備え、
前記装置は、
前記端末が前記コンテンツ配信装置に配信要請してきた際、前記端末近傍の前記キャッシュサーバを探索できない場合、前記コンテンツ配信装置からコンテンツを返し、前記端末までのネットワーク上の経路上の前記中継装置を調査して結果を保持する、
ことを特徴とするキャッシュサーバ解決方法。
The cache server solving method according to claim 1,
The terminal includes a client program for requesting content distribution to a content distribution device,
The device is
When the terminal makes a distribution request to the content distribution device, if the cache server in the vicinity of the terminal cannot be searched, the content is returned from the content distribution device and the relay device on the route on the network to the terminal is investigated. And hold the result,
A cache server solution characterized by the above.
処理部と記憶部とを備え、複数のキャッシュサーバの中から、端末にネットワーク上の距離の近いキャッシュサーバを通知する解決装置であって、
前記記憶部に、
前記ネットワーク上の複数の中継装置と、複数の前記キャッシュサーバそれぞれとのネットワーク上の距離を測定し、複数の前記中継装置各々に距離の近い前記キャッシュサーバを決定した結果を保持し、
前記処理部は、
前記端末を識別する識別子を入力し、当該端末へのネットワーク上の経路上の前記中継装置を調査し、
前記記憶部に記憶された前記端末に最も近い中継装置に近い前記キャッシュサーバを取得し、前記端末に最も近い中継装置に近い前記キャッシュサーバが前記記憶部に保持されていない場合は、前記端末から次に近い中継装置に近い前記キャッシュサーバを探索して取得することを再帰的に繰返す、
ことを特徴とする解決装置。
A resolution device that includes a processing unit and a storage unit and notifies a terminal of a cache server having a short distance on the network from a plurality of cache servers,
In the storage unit,
Measure the distance on the network between the plurality of relay devices on the network and each of the plurality of cache servers, hold the result of determining the cache server that is close to each of the plurality of relay devices,
The processor is
Enter an identifier for identifying the terminal, investigate the relay device on the network path to the terminal,
When the cache server close to the relay device closest to the terminal stored in the storage unit is acquired, and the cache server close to the relay device closest to the terminal is not held in the storage unit, from the terminal Recursively repeating the search and acquisition of the cache server close to the next closest relay device,
The solution apparatus characterized by the above-mentioned.
請求項6に記載の解決装置であって、
前記記憶部は、前記結果として、前記中継装置のIPアドレスと、前記キャッシュサーバのIPアドレスと、前記中継装置と前記キャッシュサーバのネットワーク上の距離を保持するテーブルを記憶する、
ことを特徴とする解決装置。
It is a solution apparatus of Claim 6, Comprising:
The storage unit stores, as the result, an IP address of the relay device, an IP address of the cache server, and a table that holds a distance between the relay device and the cache server on the network.
The solution apparatus characterized by the above-mentioned.
請求項6に記載の解決装置であって、
前記処理部は、
前記端末にtracerouteすることにより、前記端末近傍の前記中継装置を調査する、
ことを特徴とする解決装置。
It is a solution apparatus of Claim 6, Comprising:
The processor is
By examining the relay device in the vicinity of the terminal by traceroute to the terminal,
The solution apparatus characterized by the above-mentioned.
請求項6に記載の解決装置であって、
前記端末は、ビデオオンデマンド(以下、VOD)システムの視聴用クライアントを備え、
前記キャッシュサーバは、前記VODシステムのVODデータをキャッシュする、
ことを特徴とする解決装置。
It is a solution apparatus of Claim 6, Comprising:
The terminal includes a client for viewing a video on demand (hereinafter, VOD) system,
The cache server caches VOD data of the VOD system;
The solution apparatus characterized by the above-mentioned.
請求項9に記載の解決装置であって、
前記処理部は、
再帰的な探索によって前記VODデータをキャッシュする前記キャッシュサーバが見つからない場合、前記VODデータのオリジナルのURLを返す、
ことを特徴とする解決装置。
The solution device according to claim 9,
The processor is
If the cache server that caches the VOD data is not found by recursive search, the original URL of the VOD data is returned.
The solution apparatus characterized by the above-mentioned.
端末と、複数のキャッシュサーバと、前記端末にネットワーク上の距離の近い前記キャッシュサーバを通知する解決装置とを備えるキャッシュサーバシステムであって、
前記解決装置は、
前記ネットワーク上の複数の中継装置と、複数の前記キャッシュサーバそれぞれとのネットワーク上の距離を測定し、複数の前記中継装置各々に距離の近い前記キャッシュサーバを決定した結果を保持し、
前記端末を識別する識別子を入力し、ネットワーク上の経路上の前記中継装置を調査し、
保持した前記端末に最も近い中継装置に近い前記キャッシュサーバを取得し、前記端末に最も近い中継装置に近い前記キャッシュサーバが保持されていない場合は、前記端末から次に近い中継装置に近い前記キャッシュサーバを探索して取得することを順次繰返し、取得した前記キャッシュサーバを出力する、
ことを特徴とするキャッシュサーバシステム。
A cache server system comprising: a terminal; a plurality of cache servers; and a resolution device that notifies the cache server of a short distance on the network to the terminal,
The solving apparatus includes:
Measure the distance on the network between the plurality of relay devices on the network and each of the plurality of cache servers, hold the result of determining the cache server that is close to each of the plurality of relay devices,
Enter an identifier for identifying the terminal, investigate the relay device on the route on the network,
If the cache server closest to the relay device closest to the held terminal is acquired and the cache server closest to the relay device closest to the terminal is not held, the cache closest to the relay device next closest to the terminal Sequentially searching for and acquiring a server and outputting the acquired cache server;
A cache server system characterized by that.
請求項11に記載のキャッシュサーバシステムであって、
前記解決装置は、前記結果として、前記中継装置のIPアドレスと、前記キャッシュサーバのIPアドレスと、前記中継装置と前記キャッシュサーバのネットワーク上の距離を保持する、
ことを特徴とするキャッシュサーバシステム。
The cache server system according to claim 11,
As a result, the resolution device holds the IP address of the relay device, the IP address of the cache server, and the distance between the relay device and the cache server on the network.
A cache server system characterized by that.
請求項11に記載のキャッシュサーバシステムであって、
前記解決装置は、
前記端末にtracerouteすることにより、前記端末近傍の前記中継装置を調査する、
ことを特徴とするキャッシュサーバシステム。
The cache server system according to claim 11,
The solving apparatus includes:
By examining the relay device in the vicinity of the terminal by traceroute to the terminal,
A cache server system characterized by that.
請求項11に記載のキャッシュサーバシステムであって、
動画配信システムの番組表を配信可能なポータル配信装置を更に備え、
前記端末は、前記動画配信システムの視聴用クライアントを備え、
前記キャッシュサーバは、前記動画配信システムの動画データをキャッシュ可能であり、
前記解決装置は、取得した前記キャッシュサーバを、前記ポータル配信装置に出力し、
前記ポータル配信装置は、前記端末から動画配信要請を受信した場合、前記当該キャッシュサーバを前記端末に返し、
前記端末は当該キャッシュサーバから動画を受信する、
ことを特徴とするキャッシュサーバシステム。
The cache server system according to claim 11,
A portal distribution device capable of distributing the program table of the video distribution system;
The terminal includes a viewing client of the video distribution system,
The cache server can cache the video data of the video distribution system,
The resolution apparatus outputs the acquired cache server to the portal distribution apparatus,
When the portal distribution device receives a video distribution request from the terminal, it returns the cache server to the terminal,
The terminal receives a video from the cache server;
A cache server system characterized by that.
請求項11に記載のキャッシュサーバシステムであって、
コンテンツを配信するためのコンテンツ配信装置を更に備え、
前記端末は、前記コンテンツ配信装置にコンテンツ配信要請するためのクライアントプログラムを備え、
前記解決装置は、
前記端末が前記コンテンツ配信装置に配信要請してきた際、前記端末近傍の前記キャッシュサーバを解決できない場合、前記コンテンツ配信装置からコンテンツを返し、前記端末までのネットワーク上の経路上の前記中継装置を調査し、その結果を保持する、
ことを特徴とするキャッシュサーバシステム。
The cache server system according to claim 11,
A content distribution device for distributing content;
The terminal includes a client program for requesting content distribution to the content distribution device,
The solving apparatus includes:
When the terminal makes a distribution request to the content distribution device, if the cache server in the vicinity of the terminal cannot be resolved, the content is returned from the content distribution device and the relay device on the route on the network to the terminal is investigated. And hold the result,
A cache server system characterized by that.
JP2011231815A 2011-10-21 2011-10-21 Cache server solving method, apparatus, and system Expired - Fee Related JP5731353B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2011231815A JP5731353B2 (en) 2011-10-21 2011-10-21 Cache server solving method, apparatus, and system
PCT/JP2012/067008 WO2013057985A1 (en) 2011-10-21 2012-07-03 Cache server resolving method, device, and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011231815A JP5731353B2 (en) 2011-10-21 2011-10-21 Cache server solving method, apparatus, and system

Publications (2)

Publication Number Publication Date
JP2013090277A JP2013090277A (en) 2013-05-13
JP5731353B2 true JP5731353B2 (en) 2015-06-10

Family

ID=48140644

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011231815A Expired - Fee Related JP5731353B2 (en) 2011-10-21 2011-10-21 Cache server solving method, apparatus, and system

Country Status (2)

Country Link
JP (1) JP5731353B2 (en)
WO (1) WO2013057985A1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111711852B (en) 2015-07-24 2022-09-23 麦克赛尔株式会社 Receiving apparatus
JP2017097707A (en) 2015-11-26 2017-06-01 沖電気工業株式会社 System for dynamically deploying virtual machine and server
JP6864055B2 (en) * 2019-10-10 2021-04-21 マクセル株式会社 Broadcast receiver

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1290853A2 (en) * 2000-05-26 2003-03-12 Akamai Technologies, Inc. Global load balancing across mirrored data centers
JP2002259197A (en) * 2001-02-27 2002-09-13 Nippon Telegr & Teleph Corp <Ntt> Active contents cache control system, active contents cache controller, its controlling method, program for control and processing active contents cache and recording medium for its program
JP2004086317A (en) * 2002-08-23 2004-03-18 Fujitsu Ltd Load distribution method and device

Also Published As

Publication number Publication date
JP2013090277A (en) 2013-05-13
WO2013057985A1 (en) 2013-04-25

Similar Documents

Publication Publication Date Title
US20220166764A1 (en) Authenticating computing system requests with an unknown destination across tenants of a multi-tenant system
US10027564B2 (en) Unobtrusive methods and systems for collecting information transmitted over a network
US7865537B2 (en) File sharing system and file sharing method
US8700573B2 (en) File storage service system, file management device, file management method, ID denotative NAS server and file reading method
CN107690800A (en) Manage dynamic IP addressing distribution
JP2018506936A (en) Method and system for an end-to-end solution for distributing content in a network
CN102624914B (en) Method for detecting local DNS (Domain Name Server) used by client side in Web form
US20140280912A1 (en) System and method for determination and visualization of cloud processes and network relationships
JP2007188184A (en) Access control program, access control method, and access control device
JP2017107556A (en) Key catalogs in content-centric network
US20110302272A1 (en) Unobtrusive methods and systems for collecting information transmitted over a network
Patil et al. What can you learn from an IP?
CN106169963A (en) The access method of service page and system, proxy server
JP2016018561A (en) System and method for parallel secure content bootstrapping in content-centric networks
CN101551813A (en) Network connection apparatus, search equipment and method for collecting search engine data source
US8862667B2 (en) Network based audience measurement
US10608981B2 (en) Name identification device, name identification method, and recording medium
JP5731353B2 (en) Cache server solving method, apparatus, and system
JP5770652B2 (en) Source / destination organization identification apparatus, method and program
Kratzke et al. How to operate container clusters more efficiently
JP2004511835A (en) Active Directory for content objects
CN113691608B (en) Traffic distribution method, device, electronic equipment and medium
JP5734416B2 (en) Network traffic analysis method, network traffic analysis device, computer program
CN109669846B (en) Management information query method, device and computer readable medium
JP5165045B2 (en) Cache system and content delivery control method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140528

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20140908

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150409

R150 Certificate of patent or registration of utility model

Ref document number: 5731353

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees