JP2011118593A - Data transfer server, data transfer system, data transfer method, and program - Google Patents

Data transfer server, data transfer system, data transfer method, and program Download PDF

Info

Publication number
JP2011118593A
JP2011118593A JP2009274549A JP2009274549A JP2011118593A JP 2011118593 A JP2011118593 A JP 2011118593A JP 2009274549 A JP2009274549 A JP 2009274549A JP 2009274549 A JP2009274549 A JP 2009274549A JP 2011118593 A JP2011118593 A JP 2011118593A
Authority
JP
Japan
Prior art keywords
data
data transfer
request
server
transfer server
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.)
Withdrawn
Application number
JP2009274549A
Other languages
Japanese (ja)
Inventor
Masumi Ichien
真澄 一圓
Kinichi Sugimoto
欽一 杉本
Sumiaki Sakae
純明 榮
Takayuki Shizuno
隆之 静野
Yasuo Itabashi
康雄 板橋
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2009274549A priority Critical patent/JP2011118593A/en
Publication of JP2011118593A publication Critical patent/JP2011118593A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a configuration and a method for preventing resources of each data transfer server in a data transfer system for relaying a data request and data from being wasted, according to a predetermined network configuration. <P>SOLUTION: Each data transfer server arranged on a network for relaying a data request and data, when receiving a data request from another data transfer server, determines whether to cache the requested data, and when determining that the data is to be cached, causes the data transfer server that caches the data to participate in a logical network, and transfers and caches the data based on the request between the data transfer servers participating in the logical network. <P>COPYRIGHT: (C)2011,JPO&INPIT

Description

本発明は、データ転送サーバ、データ転送システム、データ転送方法およびプログラムに関し、特に、キャッシュ機能を備えるデータ転送サーバ、データ転送システム、データ転送方法およびプログラムに関する。   The present invention relates to a data transfer server, a data transfer system, a data transfer method, and a program, and more particularly, to a data transfer server, a data transfer system, a data transfer method, and a program having a cache function.

特許文献1に、キャッシュ機能を備えるサーバであって、グループ内で、それぞれの負荷情報、キャッシュ情報等を通知し合う構成を持つものが開示されている。同文献によると、これらのサーバは、PCから共通アドレスを用いたURL指定による第1要求を受信すると、グループでのキャッシュ状態や負荷状態に応じて処理を受け付ける。該当サーバは、最新のコンテンツデータのキャッシュが無い場合は第2要求及び第2応答によりWebサーバから取得しキャッシュしてPCへ第1応答として送信する。同文献によると、上記構成により、全体を管理する装置等を必要とせずに、複数のサーバでの負荷分散・均衡化を図ることができるとされている。   Patent Document 1 discloses a server having a cache function and having a configuration for notifying each other of load information, cache information, and the like within a group. According to the document, when these servers receive a first request by URL designation using a common address from a PC, they accept processing according to the cache state and load state in the group. If there is no cache of the latest content data, the corresponding server obtains it from the Web server by the second request and the second response, caches it, and transmits it to the PC as the first response. According to the document, with the above configuration, it is possible to achieve load distribution and balancing among a plurality of servers without requiring a device for managing the whole.

特許文献2には、クライアント端末とサーバ装置の間に設けられた通信中継装置であって、クライアント端末からの要求に基づき、メソッドチェック、URIチェックを経て、キャッシュ可かキャッシュ不可かを判断する輻輳制御方法が開示されている。   Patent Document 2 discloses a communication relay device provided between a client terminal and a server device, and based on a request from the client terminal, a method check and a URI check are performed to determine whether the cache is cacheable or not cacheable. A control method is disclosed.

その他、本発明の背景技術として、CDN(Contents Delivery Network、コンテンツデリバリーネットワーク)がある。CDNは、カバーするユーザ数あるいは地理的範囲などに応じて階層的な論理ツリー構成を採り、ユーザからの視聴リクエストに応じて適切なコンテンツ配備を行うことにより、高速なレスポンス性、効率的なネットワーク使用などを実現している。   In addition, as a background art of the present invention, there is a CDN (Contents Delivery Network). The CDN adopts a hierarchical logical tree structure according to the number of users to be covered or a geographical range, etc., and performs appropriate content deployment according to a viewing request from the user, thereby enabling high-speed response and efficient network. Use has been realized.

図16は階層構成を持つCDNの概略構成を表した図である。図16の例では、カバーするユーザ数の規模で首都圏のDC(Data Center)から地方中堅都市のDCまで3階層のTier構成をとっているが、階層の構成の仕方や階層数はこの限りではない。   FIG. 16 is a diagram showing a schematic configuration of a CDN having a hierarchical configuration. In the example of FIG. 16, a three-tier tier configuration is adopted from the DC (Data Center) in the metropolitan area to the DC in the regional mid-sized city in the scale of the number of users to be covered. is not.

図16のようなCDNを利用する各ユーザは最寄DCにアクセスし、コンテンツの要求を行う。もし最寄DCに所望のコンテンツがない場合は、他のDCからコンテンツを取得してくる。この際、各DCで論理ネットワークを構築し、転送の途中経路のDCにコンテンツをキャッシュすることで、コンテンツが複数のDCに複製される。これにより、地理的に分散したユーザからの大量アクセスを、分散した複数のDCで処理することができ、負荷分散やユーザのコンテンツ取得レスポンスの向上が図られる。   Each user using the CDN as shown in FIG. 16 accesses the nearest DC and requests content. If there is no desired content in the nearest DC, the content is acquired from another DC. At this time, a logical network is constructed by each DC, and the content is cached in the DC on the way of transfer, so that the content is copied to a plurality of DCs. As a result, a large number of accesses from geographically dispersed users can be processed by a plurality of dispersed DCs, and load distribution and user content acquisition response can be improved.

コンテンツを他のDCから取得し、転送途中経路のDCにキャッシュする方法はいくつか考えられる。最も単純な方法は、途中経路のDCすべてにキャッシュするという方法である。さらに、より効率的なリソースの使用を可能とする方法として、コンテンツ人気度に応じたキャッシュ利用率やサーバの負荷などを考慮した複雑なキャッシュ方法も考えられる。このように複雑なキャッシュ方法を行う場合、コンテンツ転送時に動的にキャッシュするDCを決定することが想定される。例えば、コンテンツ転送時にコンテンツの人気に応じてキャッシュするか否かを判断する場合、コンテンツ毎でキャッシュされるDCが異なる。   There are several methods for acquiring content from other DCs and caching them in the DCs on the transfer path. The simplest method is to cache all DCs on the way. Furthermore, as a method that enables more efficient use of resources, a complicated cache method that considers the cache usage rate according to the content popularity and the load on the server is also conceivable. When performing such a complicated cache method, it is assumed that a DC to be dynamically cached is determined at the time of content transfer. For example, when determining whether or not to cache according to the popularity of content during content transfer, the DC to be cached differs for each content.

コンテンツ転送毎に途中経路のDCで動的にキャッシュする単純な方法としては、転送するコンテンツを途中経路のDCすべてに経由させ、それぞれのDCでキャッシュするかを判断する方法が挙げられる。   As a simple method of dynamically caching with a DC on an intermediate path for each content transfer, there is a method of determining whether to transfer the content to be transferred through all the DCs on the intermediate path and caching with each DC.

特開2006−301769号公報JP 2006-301769 A 特開2009−9592号公報JP 2009-9592 A

しかしながら、上記した各方法は、DC内のサーバのCPUやメモリ、ネットワーク帯域などのリソースを無駄に使用するという問題点がある。その理由は、途中経路のDCすべてにデータを経由させ、DC内のサーバがデータを受信してからキャッシュの判断を行うためである。例えば、上記したコンテンツ転送毎に途中経路のDCで動的にキャッシュするか否かを判断させる方法を採った場合であっても、あるDCがコンテンツをキャッシュしないと判断したとき、コンテンツはそのまま次のDCに転送されるため、それに伴い前記「判断」に要した当該DC内のサーバのCPUやメモリ、ネットワーク帯域などのリソースは無駄に使用されることになる。特に映像などコンテンツサイズが大きい場合、影響が大きい。なお、上記問題点は、DCに限ったことではなく、転送データをキャッシュするキャッシュ機能を備えるデータ転送サーバ一般に当てはまる。   However, each of the above-described methods has a problem in that resources such as the CPU, memory, and network bandwidth of the server in the DC are wasted. The reason is that the data is routed through all the DCs on the way and the cache is judged after the server in the DC receives the data. For example, even when the above-described method for dynamically determining whether or not to cache on the midway route DC is used for each content transfer, when a certain DC determines that the content is not cached, the content continues as it is. Accordingly, resources such as the CPU, memory, and network bandwidth of the server in the DC required for the “determination” are wasted. In particular, when the content size such as video is large, the influence is large. Note that the above problem is not limited to DC, and applies to data transfer servers in general having a cache function for caching transfer data.

なお、特許文献1は、上記したサーバの負荷を考慮したキャッシュを行う例である。また、特許文献2には、実施例として、レイヤ7負荷分散装置を備え、クライアント端末からの要求を複数のWeb通信中継装置に振り分ける構成が開示されているが、これらWeb通信中継装置は、あくまで負荷分散のために並列設置されているのであり、それぞれ自身に割り当てられたユーザのために当該データを提供するものではない。また、クライアント端末からの要求は、レイヤ7負荷分散装置により振り分けられてしまうため、指定されていないWeb通信中継装置が当該データをキャッシュすることも無い。   Patent Document 1 is an example in which caching is performed in consideration of the server load described above. In addition, Patent Document 2 discloses a configuration that includes a layer 7 load distribution device as an example and distributes requests from client terminals to a plurality of Web communication relay devices. They are installed in parallel for load distribution and do not provide the data for each user assigned to them. In addition, since requests from client terminals are distributed by the layer 7 load balancer, an unspecified Web communication relay device does not cache the data.

本発明は、上記した事情に鑑みてなされたものであって、その目的とするところは、上記DCの例のようにそれぞれのデータ転送サーバが予め定められたネットワーク構成に従って、データのリクエストおよびデータを中継するデータ転送システムにおける個々のデータ転送サーバのリソースを無駄に使用しないようにすることのできる構成および方法を提供することにある。   The present invention has been made in view of the above circumstances, and the object of the present invention is to request data and data according to a network configuration in which each data transfer server is determined in advance as in the above-described example of DC. It is an object of the present invention to provide a configuration and a method capable of avoiding wasteful use of resources of individual data transfer servers in a data transfer system that relays data.

本発明の第1の視点によれば、データのリクエストおよびデータを中継するネットワークに配置され、他のデータ転送サーバからデータのリクエストを受信した際に、リクエストされているデータをキャッシュするか否かを判断し、当該データをキャッシュすると判断した場合、当該データをキャッシュするデータ転送サーバの論理ネットワークに参加する処理を実行しておき、前記論理ネットワークに参加したデータ転送サーバ間で、前記リクエストに基づくデータの転送とキャッシュを行うデータ転送サーバが提供される。   According to the first aspect of the present invention, whether or not the requested data is cached when a data request is received from another data transfer server, which is arranged in the network that relays the data request and the data. If it is determined that the data is to be cached, a process of participating in the logical network of the data transfer server that caches the data is executed, and the data transfer server participating in the logical network is based on the request. A data transfer server for transferring and caching data is provided.

本発明の第2の視点によれば、上記したデータ転送サーバを複数含んで構成されるデータ転送システムが提供される。   According to a second aspect of the present invention, a data transfer system including a plurality of the above-described data transfer servers is provided.

本発明の第3の視点によれば、データのリクエストおよびデータを中継するネットワークに配置されたデータ転送サーバが、他のデータ転送サーバからデータのリクエストを受信した際に、リクエストされているデータをキャッシュするか否かを判断し、当該データをキャッシュすると判断した場合、当該データをキャッシュするデータ転送サーバの論理ネットワークに参加する処理を実行しておくステップと、前記論理ネットワークに参加したデータ転送サーバ間で、前記リクエストに基づくデータの転送とキャッシュを行うステップとを含むデータ転送方法が提供される。なお。本方法は、データのリクエストおよびデータを中継するネットワークに配置されたデータ転送サーバという、特定の機械に結びつけられている。   According to the third aspect of the present invention, when a data transfer server arranged in a network that relays a data request and data receives a data request from another data transfer server, the requested data is Determining whether or not to cache, and determining that the data is to be cached, executing a process of participating in the logical network of the data transfer server that caches the data; and a data transfer server participating in the logical network A data transfer method is provided that includes transferring data based on the request and caching. Note that. The method is tied to a specific machine, a data transfer server located in a network that relays data requests and data.

本発明の第4の視点によれば、データのリクエストおよびデータを中継するネットワークに配置されたデータ転送サーバに実行させるプログラムであって、他のデータ転送サーバからデータのリクエストを受信した際に、リクエストされているデータをキャッシュするか否かを判断し、当該データをキャッシュすると判断した場合、当該データをキャッシュするデータ転送サーバの論理ネットワークに参加する処理を実行しておく処理と、前記論理ネットワークに参加したデータ転送サーバから前記リクエストに基づくデータを受信した際に、前記データのキャッシュと、前記論理ネットワークに参加した他のデータ転送サーバへの前記データの転送を行う処理と、を前記データ転送サーバに実行させるプログラムが提供される。なお、このプログラムは、コンピュータが読み取り可能な記憶媒体に記録することができる。即ち、本発明は、コンピュータプログラム製品として具現することも可能である。   According to a fourth aspect of the present invention, when a data request is received from another data transfer server, the program is executed by a data transfer server arranged in a network that relays the data request and data. Determining whether to cache the requested data, and, if it is determined to cache the data, a process of executing a process of participating in a logical network of a data transfer server that caches the data; and the logical network When the data based on the request is received from the data transfer server that participated in the data transfer, the data transfer includes the data cache and the process of transferring the data to another data transfer server participating in the logical network. A program to be executed by a server is provided. This program can be recorded on a computer-readable storage medium. That is, the present invention can be embodied as a computer program product.

本発明によれば、リクエストに対応するデータをキャッシュしないデータ転送サーバのリソースの無駄な使用を回避できることにある。その理由はリクエスト時にキャッシュするか否かを事前に判断し、データ転送専用の論理ネットワークを構築し、データ転送時は、その論理ネットワークを利用することでキャッシュしないサーバを経由せずに転送するためである。   According to the present invention, useless use of resources of a data transfer server that does not cache data corresponding to a request can be avoided. The reason for this is to determine in advance whether or not to cache when making a request, and to construct a logical network dedicated to data transfer, and to transfer data without using a non-cached server by using that logical network. It is.

本発明の概要を説明するための図である。It is a figure for demonstrating the outline | summary of this invention. 本発明の第1の実施形態に係るデータ転送サーバの構成を示すブロック図である。It is a block diagram which shows the structure of the data transfer server which concerns on the 1st Embodiment of this invention. 本発明の第1の実施形態に係るデータ転送サーバが送信するリクエストの構成を示す図である。It is a figure which shows the structure of the request which the data transfer server which concerns on the 1st Embodiment of this invention transmits. 本発明の第1の実施形態に係るデータ転送サーバが送信するデータの構成を示す図である。It is a figure which shows the structure of the data which the data transfer server which concerns on the 1st Embodiment of this invention transmits. 本発明の第1の実施形態に係るデータ転送サーバが保持するデータ転送テーブルの構成を示す図である。It is a figure which shows the structure of the data transfer table which the data transfer server which concerns on the 1st Embodiment of this invention hold | maintains. 本発明の第1の実施形態に係るデータ転送サーバがリクエストを送信する際の動作を示す流れ図である。It is a flowchart which shows the operation | movement at the time of the data transfer server which concerns on the 1st Embodiment of this invention transmits a request. 本発明の第1の実施形態に係るデータ転送サーバがリクエストを受信した際の動作を示す流れ図である。It is a flowchart which shows operation | movement when the data transfer server which concerns on the 1st Embodiment of this invention receives a request. 本発明の第1の実施形態に係るデータ転送サーバがデータを転送する際の動作を示す流れ図である。It is a flowchart which shows the operation | movement at the time of the data transfer server which concerns on the 1st Embodiment of this invention transfers data. 本発明の第2の実施形態に係るデータ転送サーバの構成を示すブロック図である。It is a block diagram which shows the structure of the data transfer server which concerns on the 2nd Embodiment of this invention. 本発明の第2の実施形態に係るデータ転送サーバが送信するリクエストの構成を示す図である。It is a figure which shows the structure of the request which the data transfer server which concerns on the 2nd Embodiment of this invention transmits. 本発明の第2の実施形態に係るデータ転送サーバが送信するデータの構成を示す図である。It is a figure which shows the structure of the data which the data transfer server which concerns on the 2nd Embodiment of this invention transmits. 本発明の第1の実施形態に係るデータ転送サーバがリクエストを受信した際の動作を示す流れ図である。It is a flowchart which shows operation | movement when the data transfer server which concerns on the 1st Embodiment of this invention receives a request. 本発明の第1の実施形態に係るデータ転送サーバがデータを転送する際の動作を示す流れ図である。It is a flowchart which shows the operation | movement at the time of the data transfer server which concerns on the 1st Embodiment of this invention transfers data. 本発明の具体的な動作を説明するためのネットワーク構成を示す図である。It is a figure which shows the network structure for demonstrating the specific operation | movement of this invention. 図14のネットワーク構成の具体的動作を説明するための図である。It is a figure for demonstrating the specific operation | movement of the network structure of FIG. 階層構造を持つコンテンツデリバリーネットワーク(CDN)の構成例である。It is a structural example of a content delivery network (CDN) having a hierarchical structure.

はじめに、本発明の概要について図1を参照して説明する。図1の上段のデータ転送サーバおよびルータ間の実線は物理的なネットワーク接続を示し、破線はデータのリクエストおよびデータを中継する論理的なネットワークを示している。図1の下段は、データ転送サーバ101aからデータ転送サーバ101dへとデータのリクエストを送出した場合の動作シーケンスの例を示している。   First, the outline of the present invention will be described with reference to FIG. A solid line between the data transfer server and the router in the upper part of FIG. 1 indicates a physical network connection, and a broken line indicates a logical network that relays data requests and data. The lower part of FIG. 1 shows an example of an operation sequence when a data request is sent from the data transfer server 101a to the data transfer server 101d.

例えば、データ転送サーバ101aが図示省略するクライアントからデータ転送サーバ101dが保持するデータのリクエストを受け付けた場合を考える。データ転送サーバ101aから前記リクエストを受け取ったデータ転送サーバ101b、101cは、当該リクエストを次のノードに中継する際に、当該リクエストにて要求されているデータをキャッシュするか否かを判断し、当該データをキャッシュすると判断した場合、当該データをキャッシュするデータ転送サーバの論理ネットワークに参加する処理(例えば、当該論理ネットワークを構成するサーバリスト・アドレスリストへの自身の追加等)を実行しておく。図1の例では、データ転送サーバ101bがキャッシュすると判断し、データ転送サーバ101cはキャッシュしないと判断した例である。その後、前記リクエストに基づくデータは、データ転送サーバ101dから、論理ネットワークに参加したデータ転送サーバ101bを経由してデータ転送サーバ101aへと転送される。これにより、データ転送時には、キャッシュしないデータ転送サーバ101cにリソースを消費させないようにすることできる。   For example, consider a case where the data transfer server 101a receives a request for data held by the data transfer server 101d from a client (not shown). The data transfer servers 101b and 101c that have received the request from the data transfer server 101a determine whether to cache the data requested in the request when relaying the request to the next node. If it is determined that the data is to be cached, a process of participating in the logical network of the data transfer server that caches the data (for example, adding itself to the server list / address list constituting the logical network) is executed. The example of FIG. 1 is an example in which the data transfer server 101b determines to cache and the data transfer server 101c determines not to cache. Thereafter, the data based on the request is transferred from the data transfer server 101d to the data transfer server 101a via the data transfer server 101b participating in the logical network. Thereby, at the time of data transfer, it is possible to prevent the data transfer server 101c that does not cache from consuming resources.

[第1の実施形態]
続いて、本発明の第1の実施形態について図面を参照して詳細に説明する。図2は、本発明の第1の実施形態に係るデータ転送サーバの構成を示すブロック図である。
[First Embodiment]
Next, a first embodiment of the present invention will be described in detail with reference to the drawings. FIG. 2 is a block diagram showing the configuration of the data transfer server according to the first embodiment of the present invention.

図2を参照すると、本発明の第1の実施形態のデータ転送サーバ(以下、特に断らない場合「サーバ」と略称する。)101は、伝送路100を介して他のサーバと接続され、データの保持、データやリクエストの送受信および転送を行う。なお、図2には、1台のサーバを示しているが、台数の制限はない。また、サーバ間の接続構成は、図14に示すようなものであってもよいし、図16に示したCDNのような階層構成を持つものであってもよい。   Referring to FIG. 2, a data transfer server (hereinafter, abbreviated as “server” unless otherwise specified) 101 according to the first embodiment of the present invention is connected to another server via a transmission line 100, and data Holding, sending and receiving and transferring data and requests. FIG. 2 shows one server, but there is no limit on the number of servers. Further, the connection configuration between servers may be as shown in FIG. 14, or may have a hierarchical configuration like the CDN shown in FIG.

図2のサーバ101は、送受信部10と、リクエスト処理部11と、データ転送部12と、論理ネットワーク情報管理部13と、キャッシュ判断部14と、データ保持部15と、データ転送テーブル16とを含む。これらはそれぞれ次のように動作する。   2 includes a transmission / reception unit 10, a request processing unit 11, a data transfer unit 12, a logical network information management unit 13, a cache determination unit 14, a data holding unit 15, and a data transfer table 16. Including. Each of these operates as follows.

送受信部10は、要求するデータの転送を依頼するリクエストやデータの送受信を行う。   The transmission / reception unit 10 performs transmission / reception of requests and data for requesting transfer of requested data.

図3は、個々のサーバ101の送受信部10が送信するリクエストの構成を示す図である。図3の例では、データを保持するサーバの識別子と、転送を要求するデータの識別子と、当該データの転送先となるサーバの物理アドレスとが含まれている。また、サーバの識別子は論理ネットワーク上で一意に識別するものである。   FIG. 3 is a diagram illustrating a configuration of a request transmitted by the transmission / reception unit 10 of each server 101. In the example of FIG. 3, the identifier of the server that holds the data, the identifier of the data that requests transfer, and the physical address of the server that is the transfer destination of the data are included. The server identifier is uniquely identified on the logical network.

図4は、個々のサーバ101の送受信部10が送信するデータの構成を示す図である。図4の例では、データの識別子とデータ本体が対応付けられた構成となっている。例えば、リクエストを受信したサーバは、データ保持部15から該当する識別子を持つデータを探し出すことができる。   FIG. 4 is a diagram illustrating a configuration of data transmitted by the transmission / reception unit 10 of each server 101. In the example of FIG. 4, the data identifier is associated with the data body. For example, the server that has received the request can search for data having a corresponding identifier from the data holding unit 15.

リクエスト処理部11は、受信したリクエストの解析および送信するリクエストの作成を行う。例えば、図3のようなリクエストを受信したサーバのリクエスト処理部11は、リクエスト中のデータ識別子を参照し自身がデータを保持しているか否かを判断し、自身が保持していなければ、キャッシュを行うか否かをキャッシュ判定部14に依頼するとともに、論理ネットワーク情報管理部13に格納された論理ネットワーク情報を参照して次の宛先となるサーバに当該リクエストを転送する動作を行う。また前記リクエストの転送の際に、キャッシュ判定部14からキャッシュを行うとの判断結果を受け取っている場合、リクエスト処理部11は、リクエストの「転送先サーバ物理アドレス」フィールドの値を自身の物理アドレスに書き換える動作を行う。   The request processing unit 11 analyzes the received request and creates a request to be transmitted. For example, the request processing unit 11 of the server that has received the request as shown in FIG. 3 refers to the data identifier in the request to determine whether or not it holds data. The cache determination unit 14 is requested to determine whether or not to perform the request, and the logical network information stored in the logical network information management unit 13 is referred to transfer the request to the next destination server. When the request is transferred, if the determination result that the cache is performed is received from the cache determination unit 14, the request processing unit 11 sets the value of the “transfer destination server physical address” field of the request to its own physical address. The operation to rewrite is performed.

データ転送部12は、リクエストされたデータを要求元のサーバに向けて送信および転送を行う。具体的には、データ転送部12は、データ転送テーブル16を参照して、当該データをキャッシュすると判定したサーバに宛てて当該データを転送する。   The data transfer unit 12 transmits and transfers the requested data to the requesting server. Specifically, the data transfer unit 12 refers to the data transfer table 16 and transfers the data to a server determined to cache the data.

データ転送テーブル16はリクエストを受信し、データをキャッシュすると判断した場合、データが転送されるまで、当該データの識別子と次に転送するサーバの物理アドレスを保持しておくテーブルである。   When the data transfer table 16 receives a request and determines to cache the data, the data transfer table 16 holds an identifier of the data and a physical address of the next server to be transferred until the data is transferred.

図5は、データ転送テーブル16の構成を示す図である。例えば、あるサーバからデータを受信すると、データ転送部12は、データ転送テーブル16から前記受信したデータの識別子に対応するサーバの物理アドレスに宛てて当該データを送信する。   FIG. 5 is a diagram showing the configuration of the data transfer table 16. For example, when data is received from a certain server, the data transfer unit 12 transmits the data from the data transfer table 16 to the physical address of the server corresponding to the received data identifier.

論理ネットワーク情報管理部13は、サーバ101同士の論理ネットワークおよびオーバレイネットワーク構成の情報を管理する。   The logical network information management unit 13 manages logical network and overlay network information between the servers 101.

キャッシュ判断部14はリクエストされているデータをキャッシュするか否かを判断する。キャッシュの判断方法は、種々の方法を採ることができる。例えば、確率で決定する、負荷に応じて決定する、またサーバをクラウドサービスなどからレンタルしている場合、その使用料金で判断するなどの方法が考えられる。その他、データに含まれるメタデータを用いて自身がキャッシュすべきか否かを判断するなど、特に制限されるものではない。   The cache determination unit 14 determines whether to cache the requested data. Various methods can be used for determining the cache. For example, a method of determining by probability, determining according to a load, and determining a use fee when a server is rented from a cloud service or the like can be considered. In addition, there is no particular limitation such as determining whether or not it should be cached using metadata included in the data.

データ保持部15は、図4に例示した構成を持つデータを保持する。なお、データ保持部15としては、ブロックアクセスやファイルアクセスストレージなどを用いることができ、特に制限はない。   The data holding unit 15 holds data having the configuration illustrated in FIG. As the data holding unit 15, block access, file access storage, or the like can be used, and there is no particular limitation.

続いて、本実施形態の全体の動作について詳細に説明する。以下、サーバがリクエスト送信元となる「リクエスト送信時」、サーバがリクエストを受信した際の「リクエスト受信時」、サーバがデータを転送する際の「データ転送時」について、図6、図7、図8を用いて説明する。   Next, the overall operation of this embodiment will be described in detail. Hereinafter, “when request is transmitted” when the server is a request transmission source, “when request is received” when the server receives a request, and “when data is transferred” when the server transfers data, FIG. 6, FIG. This will be described with reference to FIG.

[リクエスト送信時]
図6は、サーバ101が、クライアントから要求されているデータを保持しておらず、他のサーバ(以下、「他サーバ」と記述する)にデータを要求する場合の動作を表した流れ図である。
[When sending a request]
FIG. 6 is a flowchart showing an operation when the server 101 does not hold data requested by a client and requests data from another server (hereinafter referred to as “other server”). .

まず、リクエスト処理部11は、要求するデータの識別子とそのデータを保持しているサーバの識別子をリクエストに格納する(ステップS100)。なお、データの識別子およびデータを保持しているサーバの識別子は何からの手段(ディレクトリサービスなど)から得ることを前提とする。   First, the request processing unit 11 stores the identifier of the requested data and the identifier of the server holding the data in the request (step S100). It is assumed that the identifier of the data and the identifier of the server holding the data are obtained from any means (such as a directory service).

次に、リクエスト処理部11は、リクエストの転送先サーバ物理アドレスフィールド(図3参照)に自身の物理アドレスを格納する(ステップS101)。物理アドレスは物理的にネットワーク上のサーバの位置を表すアドレスであり、例えばIPアドレスが好例である。また、ポート番号を通知する必要がある場合は、ポート番号もリクエストに格納する。   Next, the request processing unit 11 stores its own physical address in the request transfer destination server physical address field (see FIG. 3) (step S101). The physical address is an address that physically represents the position of the server on the network. For example, an IP address is a good example. When it is necessary to notify the port number, the port number is also stored in the request.

そして論理ネットワーク上の途中経路のサーバにリクエストを転送するため、リクエスト処理部11は、論理ネットワーク情報管理部13を参照して、送受信部10に対して当該リクエストの送信を指示する(ステップS102)。   The request processing unit 11 refers to the logical network information management unit 13 to instruct the transmission / reception unit 10 to transmit the request in order to transfer the request to a server on an intermediate path on the logical network (step S102). .

[リクエスト受信時]
図7は、サーバ101がリクエストを受信した場合の動作を表した流れ図である。まず、送受信部10を通してリクエストを受信すると(ステップS200)、サーバ101のリクエスト処理部11は、データ転送部12を通じてデータ保持部15を参照してリクエストされているデータと一致するデータ識別子を持つデータを保持しているか否かを判断する(ステップS201)。
[When receiving a request]
FIG. 7 is a flowchart showing the operation when the server 101 receives a request. First, when a request is received through the transmission / reception unit 10 (step S200), the request processing unit 11 of the server 101 refers to the data holding unit 15 through the data transfer unit 12 and has data identifiers that match the requested data. Is determined (step S201).

リクエストされているデータと一致するデータ識別子を持つデータを保持している場合(ステップS201のYes)、サーバ101のリクエスト処理部11は、データ転送部12を通じて該当するデータを読み出し(ステップS206)、当該リクエストの転送先サーバ物理アドレスフィールド(図3参照)に格納されている物理アドレスに宛てて当該データを送信する(ステップS207)。前記データを受け取ったサーバは後記する図8のフローに従ってデータのキャッシュ処理と転送処理を実行することになる。   When data having a data identifier that matches the requested data is held (Yes in step S201), the request processing unit 11 of the server 101 reads out the corresponding data through the data transfer unit 12 (step S206). The data is transmitted to the physical address stored in the transfer destination server physical address field (see FIG. 3) of the request (step S207). The server that has received the data executes data cache processing and transfer processing according to the flow shown in FIG.

一方、リクエストされているデータと一致するデータ識別子を持つデータを保持していない場合(ステップS201のNo)、サーバ101のリクエスト処理部11は、キャッシュ判断部14に、リクエスト対象のデータをキャッシュするか否かの判断を行わせる(ステップS202)。   On the other hand, when data having a data identifier that matches the requested data is not held (No in step S201), the request processing unit 11 of the server 101 caches the request target data in the cache determination unit 14. Whether or not is determined (step S202).

ここで、キャッシュ判断部14がリクエスト対象のデータをキャッシュすると判断した場合(ステップS202のYes)、サーバ101のリクエスト処理部11は、データ転送テーブル16にリクエストに格納されているデータ識別子と転送先サーバ物理アドレスの組を格納する(ステップS203)。次に、サーバ101のリクエスト処理部11は、リクエストに転送先サーバ物理アドレスフィールドの値を自身の物理アドレスに書き換えた後(ステップS204)、論理ネットワーク情報管理部13を参照して、送受信部10に対して前記書き換え後のリクエストの送信を指示する(ステップS205)。   When the cache determination unit 14 determines that the request target data is to be cached (Yes in step S202), the request processing unit 11 of the server 101 stores the data identifier stored in the request in the data transfer table 16 and the transfer destination. A set of server physical addresses is stored (step S203). Next, the request processing unit 11 of the server 101 rewrites the value of the transfer destination server physical address field in the request with its own physical address (step S204), and then refers to the logical network information management unit 13 to transmit / receive the unit 10 Is instructed to transmit the rewritten request (step S205).

一方、キャッシュ判断部14がリクエスト対象のデータをキャッシュしないと判断した場合(ステップS202のNo)、サーバ101のリクエスト処理部11は、そのままリクエストを論理ネットワーク上の次のサーバに送信する(ステップS205)。上記キャッシュしないと判断したサーバにおけるステップS203、S204の処理の省略は、データ転送時の論理ネットワーク経路から自身を外すことを意味する。   On the other hand, when the cache determination unit 14 determines not to cache the request target data (No in step S202), the request processing unit 11 of the server 101 transmits the request as it is to the next server on the logical network (step S205). ). Omitting the processing in steps S203 and S204 in the server that has been determined not to cache means removing itself from the logical network path during data transfer.

[データ転送時]
図8は、サーバ101がデータを受信した場合の動作を表した流れ図である。まず、送受信部10を通してデータを受信すると(ステップS300)、サーバ101のデータ転送部12は、データ保持部15にデータを格納する(キャッシュする)。(ステップS301)。
[When transferring data]
FIG. 8 is a flowchart showing the operation when the server 101 receives data. First, when data is received through the transmission / reception unit 10 (step S300), the data transfer unit 12 of the server 101 stores (caches) the data in the data holding unit 15. (Step S301).

次に、サーバ101のデータ転送部12は、データ転送テーブル16を参照し、当該データのデータ識別子に対応する転送先サーバ物理アドレスのサーバに宛ててデータを転送する(ステップS302)。次に、サーバ101のデータ転送部12は、データ転送テーブル16のデータ識別子に対応する行を削除する(ステップS303)。   Next, the data transfer unit 12 of the server 101 refers to the data transfer table 16 and transfers the data to the server of the transfer destination server physical address corresponding to the data identifier of the data (step S302). Next, the data transfer unit 12 of the server 101 deletes the row corresponding to the data identifier of the data transfer table 16 (step S303).

その後は、前記データの転送を受けたサーバ、つまり自身のキャッシュ判断部14にてキャッシュをすると判断したサーバにて、上記ステップS301〜S302の処理が繰り返される。   Thereafter, the processes of steps S301 to S302 are repeated on the server that has received the data transfer, that is, the server that has determined that the cache determination unit 14 performs caching.

以上のように、本実施形態では、キャッシュしないサーバにおけるリソースの無駄な使用を回避することが可能になる。その理由はリクエスト時にキャッシュするサーバのアドレスを通知し、キャッシュすると判断したサーバ間でデータ転送専用の論理ネットワーク経路を構築し、データ転送時はその論理ネットワーク経路を利用することでキャッシュしないサーバを経由せずに転送するためである。   As described above, in this embodiment, it is possible to avoid wasteful use of resources in a server that does not cache. The reason is that the address of the server to be cached is notified at the time of request, a logical network path dedicated to data transfer is established between the servers that are determined to be cached, and the data is routed through a server that does not cache by using the logical network path. It is because it transfers without.

また、本実施の形態の副次的な効果として、途中経路のサーバにキャッシュしないようにすることで他サーバから高速にデータを取得できるという効果も得られる。その理由は、データ転送時にキャッシュしないサーバを経由せずに転送するよう構成したので、通信に掛かる時間が少なくなるためである。   Further, as a secondary effect of the present embodiment, there is also an effect that data can be acquired from other servers at high speed by not caching in the server on the way route. The reason is that the time required for communication is reduced because the data is transferred without going through a non-cached server.

[第2の実施形態]
続いて、本発明の第2の実施形態について図面を参照して詳細に説明する。上記した第1の実施形態では、各サーバにデータ転送テーブルを保持させて、キャッシュすると判断したサーバの物理アドレスを格納させることにより、データ転送時の論理ネットワーク経路を構築したが、第2の実施形態は、リクエストおよびデータにデータ転送時の論理ネットワーク経路情報をそれぞれ格納する形態としたものである。
[Second Embodiment]
Next, a second embodiment of the present invention will be described in detail with reference to the drawings. In the first embodiment described above, each server holds the data transfer table and stores the physical address of the server determined to be cached, thereby constructing the logical network path at the time of data transfer. The form is such that logical network path information at the time of data transfer is stored in the request and data, respectively.

図9は、本発明の第2の実施形態に係るデータ転送サーバの構成を示すブロック図である。図9に示すとおり、本実施形態のデータ転送サーバ201と、本発明の第1の実施形態のデータ転送サーバ101との構成上の相違点は、データ転送テーブル16を持たない構成となっている点である。   FIG. 9 is a block diagram showing the configuration of the data transfer server according to the second embodiment of the present invention. As shown in FIG. 9, the difference in configuration between the data transfer server 201 of the present embodiment and the data transfer server 101 of the first embodiment of the present invention is a configuration without the data transfer table 16. Is a point.

図10は、個々のサーバ201の送受信部10が送信するリクエストの構成を示す図である。図10の例では、データを保持するサーバの識別子と転送を要求するデータの識別子に加え、当該データの転送先となるサーバの物理アドレスを順次追加できる構成となっている。前記順次追加されたサーバの物理アドレスがデータ転送時の論理ネットワーク経路として使用される。   FIG. 10 is a diagram illustrating a configuration of a request transmitted by the transmission / reception unit 10 of each server 201. In the example of FIG. 10, in addition to the identifier of the server that holds the data and the identifier of the data that requests transfer, the physical address of the server that is the transfer destination of the data can be sequentially added. The physical address of the sequentially added server is used as a logical network path during data transfer.

図11は、個々のサーバ201の送受信部10が送信するデータの構成を示す図である。図11の例では、データの識別子とデータ本体に加えて、図10に示したリクエストから取り出されたサーバの物理アドレスが対応付けられた構成となっている。例えば、リクエストされたデータを保持するサーバは、データ保持部15から該当する識別子を持つデータとともに、当該データの転送時の論理ネットワーク経路を特定することができる。   FIG. 11 is a diagram illustrating a configuration of data transmitted by the transmission / reception unit 10 of each server 201. In the example of FIG. 11, in addition to the data identifier and the data body, the physical address of the server extracted from the request shown in FIG. 10 is associated. For example, the server that holds the requested data can specify the logical network path at the time of transferring the data together with the data having the corresponding identifier from the data holding unit 15.

続いて、本実施形態の全体の動作について詳細に説明する。以下、サーバがリクエスト送信元となる「リクエスト送信時」、サーバがリクエストを受信した際の「リクエスト受信時」、サーバがデータを転送する際の「データ転送時」について、図2、図12、図13を用いて説明する。   Next, the overall operation of this embodiment will be described in detail. Hereinafter, with respect to the “request transmission” when the server is a request transmission source, the “request reception” when the server receives a request, and the “data transfer” when the server transfers data, FIG. 2, FIG. This will be described with reference to FIG.

[リクエスト送信時]
本実施形態のリクエスト送信時の動作は第1の実施形態の動作と同じである(図2参照)。
[When sending a request]
The operation at the time of request transmission in this embodiment is the same as that in the first embodiment (see FIG. 2).

[リクエスト受信時]
図12は、サーバ201がリクエストを受信した場合の動作を表した流れ図である。図7に示した第1の実施形態との相違点は、自身がデータを保持しておらず、かつ、当該データをキャッシュすると判断した場合において(ステップS202のYes)、図7のステップS203、S204の代わりに、リクエストの物理アドレス格納領域(図10参照)に自身の物理アドレスを追加するという動作が行われる(ステップS204A)。なお、物理アドレスの追加は、追加された順番が分かるように追加されていればよく、その方法に制限はない。例えば、追加する場合は必ず最後尾に追加する方法が挙げられる。
[When receiving a request]
FIG. 12 is a flowchart showing the operation when the server 201 receives a request. The difference from the first embodiment shown in FIG. 7 is that when it does not hold data and it is determined that the data is cached (Yes in step S202), step S203 in FIG. Instead of S204, an operation of adding its own physical address to the physical address storage area of the request (see FIG. 10) is performed (step S204A). Note that the addition of the physical address is not limited as long as it is added so that the order of addition can be understood. For example, when adding, there is always a method of adding at the end.

図7に示した第1の実施形態との第2の相違点は、自身がデータを保持している場合において(ステップS201のYes)、リクエストされているデータを読み出した後、リクエストに含まれている物理アドレス群を、当該読み出したデータの物理アドレス格納領域(図11参照)に格納する点と(ステップS207A)、前記物理アドレス群の中で最近に追加されたアドレス、論理ネットワーク経路の始点のサーバにデータを送信する点である(ステップS208A)。   The second difference from the first embodiment shown in FIG. 7 is that it is included in the request after reading the requested data when it holds the data (Yes in step S201). The physical address group stored in the physical address storage area (see FIG. 11) of the read data (step S207A), the recently added address in the physical address group, the starting point of the logical network path The point is that data is transmitted to the server (step S208A).

[データ転送時]
図13は、サーバ201がデータを受信した場合の動作を表した流れ図である。図8に示した第1の実施形態との相違点は、データ転送テーブルを用いる代わりに、データに格納されているサーバ201の物理アドレスの次の物理アドレスを取り出して当該データを転送する点である(ステップS302A)。
[When transferring data]
FIG. 13 is a flowchart showing the operation when the server 201 receives data. The difference from the first embodiment shown in FIG. 8 is that instead of using the data transfer table, the physical address next to the physical address of the server 201 stored in the data is extracted and the data is transferred. Yes (step S302A).

以上のように、本発明の第2の実施形態によれば、第1の実施形態と比較して、データ転送テーブル15を省略できることに加えて、データ転送時のサーバ障害に対応できるという効果が奏される。その理由は、転送されるサーバすべての情報、すなわち、キャッシュすると判断したサーバによって構成された論理ネットワーク経路がデータ自体に格納されており、あるサーバで障害が発生したとしても、そのサーバのさらに次のサーバに転送することが可能であるためである。   As described above, according to the second embodiment of the present invention, compared to the first embodiment, in addition to being able to omit the data transfer table 15, there is an effect that it is possible to cope with a server failure at the time of data transfer. Played. The reason is that the information of all servers to be transferred, that is, the logical network path configured by the server that is determined to be cached, is stored in the data itself, and even if a failure occurs in a certain server, This is because it can be transferred to the other server.

なお、上記した実施形態では、サーバ201は、データに格納されているサーバ201の物理アドレスの次の物理アドレスを取り出して当該データを転送するものとして説明したが、各サーバ201が転送を行う前に、当該データから前記転送に用いる物理アドレスを削除するステップを追加することも可能である。このようにすれば、各サーバはデータの特定の箇所(物理アドレス群の先頭または末尾)を参照してデータを転送すればよくなる上、データに添付される物理アドレスを減らしていくことが可能になる。   In the above-described embodiment, the server 201 has been described as extracting the physical address next to the physical address of the server 201 stored in the data and transferring the data. However, before each server 201 performs the transfer, It is also possible to add a step of deleting the physical address used for the transfer from the data. In this way, each server can transfer data by referring to a specific portion of data (the beginning or end of a physical address group), and can reduce the number of physical addresses attached to the data. Become.

[具体的な動作例]
続いて、図14に示す簡単なネットワーク構成を用いて本発明の具体的な動作を説明する。
[Specific operation example]
Next, a specific operation of the present invention will be described using a simple network configuration shown in FIG.

図14の実線は物理的なネットワーク接続を意味している。図14の破線はサーバ間の論理ネットワークを意味しており、ここでは1層の直線の論理ネットワークを想定する。なお、論理ネットワークは、他にツリー状、リング状、メッシュ状が考えられ、本発明では特に限定しない。   The solid line in FIG. 14 means a physical network connection. The broken line in FIG. 14 means a logical network between servers. Here, a one-layer straight logical network is assumed. The logical network may be a tree shape, a ring shape, or a mesh shape, and is not particularly limited in the present invention.

各サーバには、論理ネットワーク上の識別子(ID)が与えられている。論理ネットワーク上ではこのIDを元に経路を決定する。また、各サーバの物理アドレスとしてIPアドレスを想定し、それぞれID1のサーバ101aは1.1.1.1、ID2のサーバ101bは2.2.2.2、ID3のサーバ101cは3.3.3.3、ID4のサーバ101dは4.4.4.4というIPアドレスが設定されているものとする。なお、ポート番号の記述は省略する。   Each server is given an identifier (ID) on the logical network. On the logical network, a route is determined based on this ID. Assuming that an IP address is assumed as the physical address of each server, the server 101a with ID1 is 1.1.1.1, the server 101b with ID2 is 2.2.2.2, and the server 101c with ID3 is 3.3. It is assumed that the IP address of 4.4.4.4 is set in the server 101d of 3.3 and ID4. Note that description of the port number is omitted.

このとき、各サーバ101a〜101bの論理ネットワーク管理情報部13では論理ネットワーク上のIDと物理アドレスの対応を管理しているとする。例えば、ID2のサーバ101bは、ID1のサーバ101aのIPアドレスは1.1.1.1であり、ID3のサーバ101cのIPアドレスは3.3.3.3であるという情報を保持している。   At this time, it is assumed that the logical network management information unit 13 of each of the servers 101a to 101b manages the correspondence between the ID on the logical network and the physical address. For example, the server 101b with ID2 has information that the IP address of the server 101a with ID1 is 1.1.1.1 and the IP address of the server 101c with ID3 is 3.3.3.3. .

ここで例えば、ID1のサーバ101aがID4のサーバ101dが保持しているデータを、論理ネットワーク上の途中経路であるID2、ID3を経由してリクエストする場合を想定する。ここでは、ID2のサーバ101bはキャッシュし、ID3のサーバ101cはキャッシュしないと判断することにする。   Here, for example, it is assumed that the server 101a with ID1 requests the data held by the server 101d with ID4 via ID2 and ID3 which are intermediate paths on the logical network. Here, it is determined that the server 101b with ID2 caches and the server 101c with ID3 does not cache.

まずID1のサーバ101aがクライアントから識別子999のデータの要求を受ける。ID1のサーバ101aは外部のディレクトリサービスや自身が保持しているデータベースなどから要求されるデータはID4のサーバ101dが保持していることを知る。   First, the server 101a with ID1 receives a request for data with identifier 999 from the client. The ID1 server 101a knows that the data requested by the external directory service or the database held by the ID1 server 101d is held by the ID4 server 101d.

そして、ID1のサーバ101aは、図15に示すように、入手した情報を元にリクエストを作成し、そのリクエストに自身のIPアドレスである1.1.1.1を格納する。ID1のサーバ101aは、前記作成したリクエストをID2のサーバ101bに送信する。   Then, as shown in FIG. 15, the server 101a with ID1 creates a request based on the acquired information, and stores its own IP address 1.1.1.1 in the request. The server 101a with ID1 transmits the created request to the server 101b with ID2.

前記リクエストを受信したID2のサーバ101bは、図15に示すように、識別子999のデータをキャッシュすると判断し、データ転送テーブル16に識別子999とそれに対応する値として、リクエストに格納されているIPアドレス1.1.1.1を格納する。   The server 101b of ID2 that has received the request determines that the data of the identifier 999 is cached as shown in FIG. 15, and the IP address stored in the request as the identifier 999 and the corresponding value in the data transfer table 16 1.1.1.1 is stored.

そして、ID2のサーバ101bは、リクエストの転送先サーバ物理アドレス1.1.1.1を自身のIPアドレス2.2.2.2に更新して、ID3のサーバ101cにリクエストを送信する。   Then, the server 101b with ID2 updates the request transfer destination server physical address 1.1.1.1 to its own IP address 2.2.2.2, and transmits the request to the server 101c with ID3.

ID3のサーバ101cは、キャッシュしないと判断したので、リクエストをそのままID4のサーバ101dに転送する。   Since the server 101c with ID3 determines not to cache, the request is directly transferred to the server 101d with ID4.

リクエストを受信したID4のサーバ101dは識別子999のデータを保持しているので、データをデータ保持部15から読み出し、転送を開始する。転送の際には、リクエストに格納されている転送先サーバ物理アドレス2.2.2.2のサーバ101bにデータを送信する。   The server 101d with ID4 that has received the request holds the data with the identifier 999, and therefore reads the data from the data holding unit 15 and starts the transfer. At the time of transfer, data is transmitted to the server 101b of the transfer destination server physical address 2.2.2.2 stored in the request.

識別子999のデータを受信したID2のサーバ101bは、データ転送テーブル16を参照し、アドレス1.1.1.1のサーバ101aにデータを転送する。そして、データ要求をしたID1のサーバ101aへのデータ転送が完了する。   The server 101b with ID2 that has received the data with the identifier 999 refers to the data transfer table 16 and transfers the data to the server 101a with the address 1.1.1.1. Then, the data transfer to the server 101a with ID1 that requested the data is completed.

以上のようにリクエストの時点でキャッシュするかを判断し、データ転送時にキャッシュしないサーバを経由しなくすることで、キャッシュしないサーバ(図15のサーバ101c)に無駄な負荷がかからず、またキャッシュしないサーバとそのルータ間の帯域を無駄に使用せず、さらにキャッシュしないサーバへの経由を回避するのでより高速にデータの取得ができる。   As described above, whether to cache at the time of the request is determined, and by not passing through the server that does not cache at the time of data transfer, the server that is not cached (the server 101c in FIG. 15) is not subjected to unnecessary load, and cache The bandwidth between the server that does not use and its router is not wasted, and the route to the server that does not cache is avoided, so that data can be acquired at a higher speed.

以上、本発明の好適な実施形態を説明したが、本発明は、上記した実施形態に限定されるものではなく、本発明の基本的技術的思想を逸脱しない範囲で、更なる変形・置換・調整を加えることができる。例えば、上記した第2の実施形態では、各サーバがリクエストされているデータをキャッシュすると判断した場合に、順次リクエストに自身の物理アドレスを追加していくものとして説明したが、リクエストに予め各サーバのアドレス情報を含めておき、リクエストされているデータをキャッシュしないと判断した場合に、各サーバがリクエストから自身の物理アドレスを削除するといった変形実施も可能である。   The preferred embodiments of the present invention have been described above. However, the present invention is not limited to the above-described embodiments, and further modifications, replacements, and replacements may be made without departing from the basic technical idea of the present invention. Adjustments can be made. For example, in the above-described second embodiment, it has been described that each server sequentially adds its own physical address to the request when it is determined that the requested data is cached. If it is determined that the requested data is not cached, each server can delete the physical address of the server from the request.

本発明は、CDNや広域環境でのデータ配置やキャッシュ、P2Pによるデータ配送システムといった用途に適用できる。   The present invention can be applied to uses such as data distribution and cache in a CDN, a wide area environment, and a data delivery system using P2P.

100 伝送路
101、101a〜101d、201 サーバ(データ転送サーバ)
10 送受信部
11 リクエスト処理部
12 データ転送部
13 論理ネットワーク情報管理部
14 キャッシュ判断部
15 データ保持部
16 データ転送テーブル
100 transmission path 101, 101a to 101d, 201 server (data transfer server)
DESCRIPTION OF SYMBOLS 10 Transmission / reception part 11 Request processing part 12 Data transfer part 13 Logical network information management part 14 Cache judgment part 15 Data holding part 16 Data transfer table

Claims (14)

データのリクエストおよびデータを中継するネットワークに配置され、
他のデータ転送サーバからデータのリクエストを受信した際に、リクエストされているデータをキャッシュするか否かを判断し、当該データをキャッシュすると判断した場合、当該データをキャッシュするデータ転送サーバの論理ネットワークに参加する処理を実行しておき、
前記論理ネットワークに参加したデータ転送サーバ間で、前記リクエストに基づくデータの転送とキャッシュを行うデータ転送サーバ。
Located in a network that relays data requests and data,
When a data request is received from another data transfer server, it is determined whether or not the requested data is to be cached. If it is determined that the data is to be cached, the logical network of the data transfer server that caches the data Execute the process to participate in
A data transfer server that transfers and caches data based on the request between data transfer servers participating in the logical network.
他のデータ転送サーバからデータのリクエストを受信した際に、当該データをキャッシュするか否かを判断し、当該データをキャッシュすると判断した場合、前記データのリクエストに含まれるアドレス情報を保存するとともに、前記リクエストに自身のアドレス情報を格納することにより、当該データをキャッシュするサーバの論理ネットワークに参加し、
前記リクエストを受信した際に保存したアドレス情報を用いてデータの転送を行う請求項1のデータ転送サーバ。
When receiving a data request from another data transfer server, determine whether to cache the data, and if it is determined to cache the data, save the address information included in the data request, By storing its own address information in the request, it joins the logical network of the server that caches the data,
The data transfer server according to claim 1, wherein data transfer is performed using the address information stored when the request is received.
他のデータ転送サーバからデータのリクエストを受信した際に、当該データをキャッシュするか否かを判断し、当該データをキャッシュすると判断した場合、前記リクエストに自身のアドレス情報を追加することにより、当該データをキャッシュするデータ転送サーバの論理ネットワークに参加し、
前記リクエストに含まれるアドレス情報を用いてデータの転送を行う請求項1のデータ転送サーバ。
When a request for data is received from another data transfer server, it is determined whether to cache the data. If it is determined that the data is to be cached, the address information is added to the request by adding its own address information. Join a logical network of data transfer servers that cache data,
The data transfer server according to claim 1, wherein data transfer is performed using address information included in the request.
受信したリクエストにて要求されているデータを保持している場合、前記リクエストに格納されているアドレス情報を用いて、前記リクエストされているデータを送信する請求項2または3に記載のデータ転送サーバ。   The data transfer server according to claim 2 or 3, wherein when the data requested by the received request is held, the requested data is transmitted using address information stored in the request. . ネットワーク情報を参照してデータを依頼するリクエストを送信するリクエスト処理部と、
リクエストされているデータをキャッシュするか否かを判断するキャッシュ判断部と、
受信したデータを転送するデータ転送部と、
を備える請求項1から4いずれか一のデータ転送サーバ。
A request processing unit that transmits a request for data by referring to network information;
A cache determination unit that determines whether to cache the requested data;
A data transfer unit for transferring received data;
A data transfer server according to any one of claims 1 to 4.
前記データ転送部は、前記リクエストに格納されている前記アドレス情報を用いて、データ転送サーバに前記データを送信する請求項5に記載のデータ転送サーバ。   The data transfer server according to claim 5, wherein the data transfer unit transmits the data to a data transfer server using the address information stored in the request. さらに、前記データのリクエストに含まれるアドレス情報と、データと、を対応付けて保持するデータ転送テーブルを備える請求項2のデータ転送サーバ。   The data transfer server according to claim 2, further comprising a data transfer table that associates and holds address information included in the data request and data. 前記データ転送部は、前記データ転送テーブルに格納されているアドレス情報を用いて、受信したデータを転送する請求項7のデータ転送サーバ。   The data transfer server according to claim 7, wherein the data transfer unit transfers received data using address information stored in the data transfer table. 前記キャッシュ判断部にてリクエストされているデータをキャッシュしないと判断した場合、次のデータ転送サーバに対して前記リクエストをそのまま送信する請求項1から8いずれか一のデータ転送サーバ。   The data transfer server according to any one of claims 1 to 8, wherein when the cache determination unit determines that the requested data is not cached, the request is transmitted as it is to a next data transfer server. 前記キャッシュ判断部にてリクエストされているデータをキャッシュしないと判断した場合、当該データをキャッシュするデータ転送サーバの論理ネットワークから離脱する処理を実行する請求項1から8いずれか一のデータ転送サーバ。   The data transfer server according to any one of claims 1 to 8, wherein when the cache determination unit determines that the requested data is not cached, a process of leaving the logical network of the data transfer server that caches the data is executed. 前記論理ネットワークは、コンテンツデリバリーネットワークを構成する論理ツリー構造の一部である請求項1から10いずれか一のデータ転送サーバ。   The data transfer server according to any one of claims 1 to 10, wherein the logical network is a part of a logical tree structure constituting a content delivery network. 請求項1乃至11のいずれか一に記載のデータ転送サーバを複数含んで構成されるデータ転送システム。   A data transfer system comprising a plurality of data transfer servers according to any one of claims 1 to 11. データのリクエストおよびデータを中継するネットワークに配置されたデータ転送サーバが、
他のデータ転送サーバからデータのリクエストを受信した際に、リクエストされているデータをキャッシュするか否かを判断し、当該データをキャッシュすると判断した場合、当該データをキャッシュするデータ転送サーバの論理ネットワークに参加する処理を実行しておくステップと、
前記論理ネットワークに参加したデータ転送サーバ間で、前記リクエストに基づくデータの転送とキャッシュを行うステップと、を含むデータ転送方法。
A data transfer server located in a network that relays data requests and data,
When a data request is received from another data transfer server, it is determined whether or not the requested data is to be cached. If it is determined that the data is to be cached, the logical network of the data transfer server that caches the data The step of executing the process of participating in
A data transfer method comprising: transferring data based on the request and caching between data transfer servers participating in the logical network.
データのリクエストおよびデータを中継するネットワークに配置されたデータ転送サーバに実行させるプログラムであって、
他のデータ転送サーバからデータのリクエストを受信した際に、リクエストされているデータをキャッシュするか否かを判断し、当該データをキャッシュすると判断した場合、当該データをキャッシュするデータ転送サーバの論理ネットワークに参加する処理を実行しておく処理と、
前記論理ネットワークに参加したデータ転送サーバから前記リクエストに基づくデータを受信した際に、前記データのキャッシュと、前記論理ネットワークに参加した他のデータ転送サーバへの前記データの転送を行う処理と、を前記データ転送サーバに実行させるプログラム。
A program for causing a data transfer server arranged in a network that relays a data request and data,
When a data request is received from another data transfer server, it is determined whether or not the requested data is to be cached. If it is determined that the data is to be cached, the logical network of the data transfer server that caches the data The process of executing the process of participating in
When data based on the request is received from a data transfer server participating in the logical network, the data cache and a process of transferring the data to another data transfer server participating in the logical network, A program to be executed by the data transfer server.
JP2009274549A 2009-12-02 2009-12-02 Data transfer server, data transfer system, data transfer method, and program Withdrawn JP2011118593A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009274549A JP2011118593A (en) 2009-12-02 2009-12-02 Data transfer server, data transfer system, data transfer method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009274549A JP2011118593A (en) 2009-12-02 2009-12-02 Data transfer server, data transfer system, data transfer method, and program

Publications (1)

Publication Number Publication Date
JP2011118593A true JP2011118593A (en) 2011-06-16

Family

ID=44283850

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009274549A Withdrawn JP2011118593A (en) 2009-12-02 2009-12-02 Data transfer server, data transfer system, data transfer method, and program

Country Status (1)

Country Link
JP (1) JP2011118593A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013196688A (en) * 2012-03-21 2013-09-30 Nhn Corp Cache system and cache service providing method using network switch
JP2018014568A (en) * 2016-07-19 2018-01-25 富士通株式会社 Relay device and relay method
JP2018524656A (en) * 2015-04-30 2018-08-30 ネットフリックス・インコーポレイテッドNetflix, Inc. Tiered cache fill
JPWO2021070536A1 (en) * 2019-10-08 2021-04-15
JP2021526268A (en) * 2018-06-07 2021-09-30 レベル スリー コミュニケーションズ,エルエルシー Load balancing across superclusters

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013196688A (en) * 2012-03-21 2013-09-30 Nhn Corp Cache system and cache service providing method using network switch
JP2018524656A (en) * 2015-04-30 2018-08-30 ネットフリックス・インコーポレイテッドNetflix, Inc. Tiered cache fill
US11010341B2 (en) 2015-04-30 2021-05-18 Netflix, Inc. Tiered cache filling
US11675740B2 (en) 2015-04-30 2023-06-13 Netflix, Inc. Tiered cache filling
JP2018014568A (en) * 2016-07-19 2018-01-25 富士通株式会社 Relay device and relay method
JP2021526268A (en) * 2018-06-07 2021-09-30 レベル スリー コミュニケーションズ,エルエルシー Load balancing across superclusters
JP7148033B2 (en) 2018-06-07 2022-10-05 レベル スリー コミュニケーションズ,エルエルシー Load balancing across superclusters
JPWO2021070536A1 (en) * 2019-10-08 2021-04-15
WO2021070536A1 (en) * 2019-10-08 2021-04-15 日立Astemo株式会社 Communication system, electronic control device, and communication method
CN114731300A (en) * 2019-10-08 2022-07-08 日立安斯泰莫株式会社 Communication system, electronic control device, and communication method
JP7237176B2 (en) 2019-10-08 2023-03-10 日立Astemo株式会社 Communication system, electronic control device and communication method
CN114731300B (en) * 2019-10-08 2024-04-09 日立安斯泰莫株式会社 Communication system, electronic control device, and communication method

Similar Documents

Publication Publication Date Title
US8195764B2 (en) Information delivery system, delivery request program, transfer program, delivery program, and the like
JP4938074B2 (en) Resource location information request method, user node and server for the method
JP2007066161A (en) Cache system
EP3242463B1 (en) Content distribution method and system for mobile terminal application
US8250171B2 (en) Content delivery apparatus, content delivery method, and content delivery program
JP5847185B2 (en) Content sharing method and apparatus using group change information in content-centric network environment
KR20090115225A (en) A method, system and nodes for p2p content sharing
JP6601784B2 (en) Method, network component, and program for supporting context-aware content requests in an information-oriented network
KR101573197B1 (en) Control method for transmitting distributed file based on P2Peer and P2P communication control apparatus therefor
CN102438020A (en) Method and equipment for distributing contents in content distribution network, and network system
JP2016111703A (en) Content arrangement in information centric network
JP2016110628A (en) Content placement in hierarchical networks of caches
JP2011118593A (en) Data transfer server, data transfer system, data transfer method, and program
US9781033B2 (en) Providing requested content in an overlay information centric networking (O-ICN) architecture
WO2008017502A1 (en) Content distribution network
JP2005070987A (en) Node to be used in file sharing system, file storage method to be used in file sharing system, and file storing program
CN109120556B (en) A kind of method and system of cloud host access object storage server
JP2011211543A (en) Information communication system, information processing device, information processing method, and information processing program
JP5136581B2 (en) Information communication system, information processing apparatus, information processing method, and information processing program
JP2010009449A (en) Distributed information arrangement system
US20080040445A1 (en) Storage performance
CN101741869A (en) Method and system for providing contents
JP5272991B2 (en) Information communication system, information communication method and program
CN109644160B (en) Hybrid method for name resolution and producer selection in ICN by classification
WO2013047207A1 (en) Cache system, cache method, and cache server

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20130205