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 PDFInfo
- 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
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
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応答として送信する。同文献によると、上記構成により、全体を管理する装置等を必要とせずに、複数のサーバでの負荷分散・均衡化を図ることができるとされている。
特許文献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.
しかしながら、上記した各方法は、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通信中継装置が当該データをキャッシュすることも無い。
本発明は、上記した事情に鑑みてなされたものであって、その目的とするところは、上記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.
はじめに、本発明の概要について図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
例えば、データ転送サーバ101aが図示省略するクライアントからデータ転送サーバ101dが保持するデータのリクエストを受け付けた場合を考える。データ転送サーバ101aから前記リクエストを受け取ったデータ転送サーバ101b、101cは、当該リクエストを次のノードに中継する際に、当該リクエストにて要求されているデータをキャッシュするか否かを判断し、当該データをキャッシュすると判断した場合、当該データをキャッシュするデータ転送サーバの論理ネットワークに参加する処理(例えば、当該論理ネットワークを構成するサーバリスト・アドレスリストへの自身の追加等)を実行しておく。図1の例では、データ転送サーバ101bがキャッシュすると判断し、データ転送サーバ101cはキャッシュしないと判断した例である。その後、前記リクエストに基づくデータは、データ転送サーバ101dから、論理ネットワークに参加したデータ転送サーバ101bを経由してデータ転送サーバ101aへと転送される。これにより、データ転送時には、キャッシュしないデータ転送サーバ101cにリソースを消費させないようにすることできる。
For example, consider a case where the
[第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
図2のサーバ101は、送受信部10と、リクエスト処理部11と、データ転送部12と、論理ネットワーク情報管理部13と、キャッシュ判断部14と、データ保持部15と、データ転送テーブル16とを含む。これらはそれぞれ次のように動作する。
2 includes a transmission /
送受信部10は、要求するデータの転送を依頼するリクエストやデータの送受信を行う。
The transmission /
図3は、個々のサーバ101の送受信部10が送信するリクエストの構成を示す図である。図3の例では、データを保持するサーバの識別子と、転送を要求するデータの識別子と、当該データの転送先となるサーバの物理アドレスとが含まれている。また、サーバの識別子は論理ネットワーク上で一意に識別するものである。
FIG. 3 is a diagram illustrating a configuration of a request transmitted by the transmission /
図4は、個々のサーバ101の送受信部10が送信するデータの構成を示す図である。図4の例では、データの識別子とデータ本体が対応付けられた構成となっている。例えば、リクエストを受信したサーバは、データ保持部15から該当する識別子を持つデータを探し出すことができる。
FIG. 4 is a diagram illustrating a configuration of data transmitted by the transmission /
リクエスト処理部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
データ転送部12は、リクエストされたデータを要求元のサーバに向けて送信および転送を行う。具体的には、データ転送部12は、データ転送テーブル16を参照して、当該データをキャッシュすると判定したサーバに宛てて当該データを転送する。
The
データ転送テーブル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
論理ネットワーク情報管理部13は、サーバ101同士の論理ネットワークおよびオーバレイネットワーク構成の情報を管理する。
The logical network
キャッシュ判断部14はリクエストされているデータをキャッシュするか否かを判断する。キャッシュの判断方法は、種々の方法を採ることができる。例えば、確率で決定する、負荷に応じて決定する、またサーバをクラウドサービスなどからレンタルしている場合、その使用料金で判断するなどの方法が考えられる。その他、データに含まれるメタデータを用いて自身がキャッシュすべきか否かを判断するなど、特に制限されるものではない。
The
データ保持部15は、図4に例示した構成を持つデータを保持する。なお、データ保持部15としては、ブロックアクセスやファイルアクセスストレージなどを用いることができ、特に制限はない。
The
続いて、本実施形態の全体の動作について詳細に説明する。以下、サーバがリクエスト送信元となる「リクエスト送信時」、サーバがリクエストを受信した際の「リクエスト受信時」、サーバがデータを転送する際の「データ転送時」について、図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
まず、リクエスト処理部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
[リクエスト受信時]
図7は、サーバ101がリクエストを受信した場合の動作を表した流れ図である。まず、送受信部10を通してリクエストを受信すると(ステップS200)、サーバ101のリクエスト処理部11は、データ転送部12を通じてデータ保持部15を参照してリクエストされているデータと一致するデータ識別子を持つデータを保持しているか否かを判断する(ステップS201)。
[When receiving a request]
FIG. 7 is a flowchart showing the operation when the
リクエストされているデータと一致するデータ識別子を持つデータを保持している場合(ステップ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
一方、リクエストされているデータと一致するデータ識別子を持つデータを保持していない場合(ステップ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
ここで、キャッシュ判断部14がリクエスト対象のデータをキャッシュすると判断した場合(ステップS202のYes)、サーバ101のリクエスト処理部11は、データ転送テーブル16にリクエストに格納されているデータ識別子と転送先サーバ物理アドレスの組を格納する(ステップS203)。次に、サーバ101のリクエスト処理部11は、リクエストに転送先サーバ物理アドレスフィールドの値を自身の物理アドレスに書き換えた後(ステップS204)、論理ネットワーク情報管理部13を参照して、送受信部10に対して前記書き換え後のリクエストの送信を指示する(ステップS205)。
When the
一方、キャッシュ判断部14がリクエスト対象のデータをキャッシュしないと判断した場合(ステップS202のNo)、サーバ101のリクエスト処理部11は、そのままリクエストを論理ネットワーク上の次のサーバに送信する(ステップS205)。上記キャッシュしないと判断したサーバにおけるステップS203、S204の処理の省略は、データ転送時の論理ネットワーク経路から自身を外すことを意味する。
On the other hand, when the
[データ転送時]
図8は、サーバ101がデータを受信した場合の動作を表した流れ図である。まず、送受信部10を通してデータを受信すると(ステップS300)、サーバ101のデータ転送部12は、データ保持部15にデータを格納する(キャッシュする)。(ステップS301)。
[When transferring data]
FIG. 8 is a flowchart showing the operation when the
次に、サーバ101のデータ転送部12は、データ転送テーブル16を参照し、当該データのデータ識別子に対応する転送先サーバ物理アドレスのサーバに宛ててデータを転送する(ステップS302)。次に、サーバ101のデータ転送部12は、データ転送テーブル16のデータ識別子に対応する行を削除する(ステップS303)。
Next, the
その後は、前記データの転送を受けたサーバ、つまり自身のキャッシュ判断部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
以上のように、本実施形態では、キャッシュしないサーバにおけるリソースの無駄な使用を回避することが可能になる。その理由はリクエスト時にキャッシュするサーバのアドレスを通知し、キャッシュすると判断したサーバ間でデータ転送専用の論理ネットワーク経路を構築し、データ転送時はその論理ネットワーク経路を利用することでキャッシュしないサーバを経由せずに転送するためである。 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
図10は、個々のサーバ201の送受信部10が送信するリクエストの構成を示す図である。図10の例では、データを保持するサーバの識別子と転送を要求するデータの識別子に加え、当該データの転送先となるサーバの物理アドレスを順次追加できる構成となっている。前記順次追加されたサーバの物理アドレスがデータ転送時の論理ネットワーク経路として使用される。
FIG. 10 is a diagram illustrating a configuration of a request transmitted by the transmission /
図11は、個々のサーバ201の送受信部10が送信するデータの構成を示す図である。図11の例では、データの識別子とデータ本体に加えて、図10に示したリクエストから取り出されたサーバの物理アドレスが対応付けられた構成となっている。例えば、リクエストされたデータを保持するサーバは、データ保持部15から該当する識別子を持つデータとともに、当該データの転送時の論理ネットワーク経路を特定することができる。
FIG. 11 is a diagram illustrating a configuration of data transmitted by the transmission /
続いて、本実施形態の全体の動作について詳細に説明する。以下、サーバがリクエスト送信元となる「リクエスト送信時」、サーバがリクエストを受信した際の「リクエスト受信時」、サーバがデータを転送する際の「データ転送時」について、図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
図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
以上のように、本発明の第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
[具体的な動作例]
続いて、図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
このとき、各サーバ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
ここで例えば、ID1のサーバ101aがID4のサーバ101dが保持しているデータを、論理ネットワーク上の途中経路であるID2、ID3を経由してリクエストする場合を想定する。ここでは、ID2のサーバ101bはキャッシュし、ID3のサーバ101cはキャッシュしないと判断することにする。
Here, for example, it is assumed that the
まずID1のサーバ101aがクライアントから識別子999のデータの要求を受ける。ID1のサーバ101aは外部のディレクトリサービスや自身が保持しているデータベースなどから要求されるデータはID4のサーバ101dが保持していることを知る。
First, the
そして、ID1のサーバ101aは、図15に示すように、入手した情報を元にリクエストを作成し、そのリクエストに自身のIPアドレスである1.1.1.1を格納する。ID1のサーバ101aは、前記作成したリクエストをID2のサーバ101bに送信する。
Then, as shown in FIG. 15, the
前記リクエストを受信したID2のサーバ101bは、図15に示すように、識別子999のデータをキャッシュすると判断し、データ転送テーブル16に識別子999とそれに対応する値として、リクエストに格納されているIPアドレス1.1.1.1を格納する。
The
そして、ID2のサーバ101bは、リクエストの転送先サーバ物理アドレス1.1.1.1を自身のIPアドレス2.2.2.2に更新して、ID3のサーバ101cにリクエストを送信する。
Then, the
ID3のサーバ101cは、キャッシュしないと判断したので、リクエストをそのままID4のサーバ101dに転送する。
Since the
リクエストを受信したID4のサーバ101dは識別子999のデータを保持しているので、データをデータ保持部15から読み出し、転送を開始する。転送の際には、リクエストに格納されている転送先サーバ物理アドレス2.2.2.2のサーバ101bにデータを送信する。
The
識別子999のデータを受信したID2のサーバ101bは、データ転送テーブル16を参照し、アドレス1.1.1.1のサーバ101aにデータを転送する。そして、データ要求をしたID1のサーバ101aへのデータ転送が完了する。
The
以上のようにリクエストの時点でキャッシュするかを判断し、データ転送時にキャッシュしないサーバを経由しなくすることで、キャッシュしないサーバ(図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
以上、本発明の好適な実施形態を説明したが、本発明は、上記した実施形態に限定されるものではなく、本発明の基本的技術的思想を逸脱しない範囲で、更なる変形・置換・調整を加えることができる。例えば、上記した第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
DESCRIPTION OF
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.
リクエストされているデータをキャッシュするか否かを判断するキャッシュ判断部と、
受信したデータを転送するデータ転送部と、
を備える請求項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.
他のデータ転送サーバからデータのリクエストを受信した際に、リクエストされているデータをキャッシュするか否かを判断し、当該データをキャッシュすると判断した場合、当該データをキャッシュするデータ転送サーバの論理ネットワークに参加する処理を実行しておくステップと、
前記論理ネットワークに参加したデータ転送サーバ間で、前記リクエストに基づくデータの転送とキャッシュを行うステップと、を含むデータ転送方法。 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.
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)
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 |
-
2009
- 2009-12-02 JP JP2009274549A patent/JP2011118593A/en not_active Withdrawn
Cited By (12)
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 |