JP2022053105A - Transfer device and program of content distribution system - Google Patents

Transfer device and program of content distribution system Download PDF

Info

Publication number
JP2022053105A
JP2022053105A JP2020159724A JP2020159724A JP2022053105A JP 2022053105 A JP2022053105 A JP 2022053105A JP 2020159724 A JP2020159724 A JP 2020159724A JP 2020159724 A JP2020159724 A JP 2020159724A JP 2022053105 A JP2022053105 A JP 2022053105A
Authority
JP
Japan
Prior art keywords
content
packet
transfer processing
transfer
chunk
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2020159724A
Other languages
Japanese (ja)
Other versions
JP7335216B2 (en
Inventor
淳二 武政
Junji Takemasa
敦士 田上
Atsushi Tagami
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.)
KDDI Corp
Original Assignee
KDDI 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 KDDI Corp filed Critical KDDI Corp
Priority to JP2020159724A priority Critical patent/JP7335216B2/en
Publication of JP2022053105A publication Critical patent/JP2022053105A/en
Application granted granted Critical
Publication of JP7335216B2 publication Critical patent/JP7335216B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

To provide a technique that can prevent decrease in throughput and reduce packet loss.SOLUTION: A transfer device of a content distribution system that transfers packets based on the names of content associated with the packets includes: a plurality of communication interfaces; a plurality of pieces of transfer processing means that perform transfer processing of packets; and control means that performs control to determine the transfer processing means that performs transfer processing of a packet from the plurality of pieces of the transfer processing means when a communication interface among the plurality of communication interfaces receives the packet. The control means classifies content into first content, and second content that is less popular than the first content, based on packets received by the plurality of communication interfaces, and distributes the transfer processing means that performs transfer processing of packets associated with the first content to the plurality of pieces of the transfer processing means.SELECTED DRAWING: Figure 3

Description

特許法第30条第2項適用申請有り ▲1▼ウェブサイトの掲載日:令和2年8月21日 ウェブサイトのアドレス https://ieeexplore.ieee.org/document/9173693Patent Law Article 30, Paragraph 2 Application Applicable ▲ 1 ▼ Website Publication Date: August 21, 2nd Reiwa Website Address https: // IEEEXplore. IEEE. org / document / 9173693

本開示は、コンテンツの名前に基づきルーティングを行うコンテンツ配信システムの転送装置及びプログラムに関する。 The present disclosure relates to transfer devices and programs of content distribution systems that perform routing based on the name of the content.

コンテンツの名前に基づきコンテンツの要求及び配信を行うコンテンツ配信システムが提案されている。非特許文献1は、その様なシステムの1つであるコンテンツ・セントリック・ネットワーク(CCN:Content Centric Networking)を開示している。 A content distribution system that requests and distributes content based on the name of the content has been proposed. Non-Patent Document 1 discloses a content-centric network (CCN), which is one such system.

CCNにおいて、コンテンツを公開するサーバ装置は当該コンテンツを1つ以上のチャンクに分割し、クライアント装置は、この分割されたチャンク単位でコンテンツを取得する。また、CCNにおいて、チャンクの転送を行った通信装置(以下、転送装置と呼ぶ。)は、当該チャンクを保存(キャッシュ)できる。転送装置は、キャッシュしているチャンクを要求するインタレスト・パケット(要求パケット)をクライアント装置から受信すると、当該インタレスト・パケットをサーバ装置に向けて転送することなく、キャッシュしているチャンクを、当該インタレスト・パケットを送信したクライアント装置に向けて送信できる。 In the CCN, the server device that publishes the content divides the content into one or more chunks, and the client device acquires the content in units of the divided chunks. Further, in the CCN, the communication device (hereinafter referred to as a transfer device) that has transferred the chunk can store (cache) the chunk. When the transfer device receives an interest packet (request packet) requesting a cached chunk from the client device, the transfer device transfers the cached chunk to the server device without forwarding the interest packet to the server device. -Can be sent to the client device that sent the packet.

以下に、転送装置の動作の一例を説明する。転送装置は、CS(Contents Store)と、FIB(Forward Information Base)と、PIT(Pending Interest Table)と、を管理する。CSは、キャッシュしているチャンクを示す情報である。FIBは、インタレスト・パケットが要求するチャンクと、当該インタレスト・パケットの転送のために、当該インタレスト・パケットを送信するインタフェースとの関係を示す情報である。PITは、インタレスト・パケットが要求するチャンクと、当該インタレスト・パケットを受信したインタフェースとの関係を示す情報である。 An example of the operation of the transfer device will be described below. The transfer device manages CS (Contents Store), FIB (Forward Information Base), and PIT (Pending Interest Table). CS is information indicating a cached chunk. The FIB is information indicating the relationship between the chunk requested by the interest packet and the interface that transmits the interest packet for the transfer of the interest packet. The PIT is information indicating the relationship between the chunk requested by the interest packet and the interface that received the interest packet.

転送装置は、インタレスト・パケットを受信すると、CSを検索し、当該インタレスト・パケットが要求するチャンク(以下、要求チャンク)をキャッシュしているか否かを判定する。要求チャンクをキャッシュしている場合には、キャッシュしている要求チャンクを含むデータ・パケットを、当該インタレスト・パケットの送信元のクライアント装置に向けて送信する。なお、当該データ・パケットを送信するインタフェースは、当該インタレスト・パケットを受信したインタフェースである。一方、要求チャンクをキャッシュしていない場合、転送装置は、PITを検索して、要求チャンクを要求する別のインタレスト・パケットを既に転送し、要求チャンクの受信待ち状態であるかを判定する。受信待ち状態であると、転送装置は、受信したインタレスト・パケットを転送せず、PITの当該要求チャンクのエントリに当該インタレスト・パケットの受信インタフェースを追加する。一方、要求チャンクの受信待ち状態ではない場合、転送装置は、FIBに基づき判定したインタフェースから当該インタレスト・パケットを送信(転送)し、PITに要求チャンクのエントリを追加する。このエントリは、要求チャンクを示す情報(チャンク名)と、当該インタレスト・パケットを受信したインタフェースを示す情報と、を有する。 When the transfer device receives the interest packet, it searches the CS and determines whether or not the chunk requested by the interest packet (hereinafter referred to as the request chunk) is cached. When the request chunk is cached, the data packet including the cached request chunk is transmitted to the client device that is the source of the interest packet. The interface for transmitting the data packet is the interface for receiving the interest packet. On the other hand, if the request chunk is not cached, the transfer device searches the PIT to forward another interest packet requesting the request chunk and determines whether the request chunk is waiting to be received. When in the reception wait state, the transfer device does not forward the received interest packet and adds the reception interface of the interest packet to the entry of the request chunk of the PIT. On the other hand, when the request chunk is not in the reception waiting state, the transfer device transmits (forwards) the interest packet from the interface determined based on the FIB, and adds the request chunk entry to the PIT. This entry has information indicating a request chunk (chunk name) and information indicating the interface on which the interest packet was received.

また、転送装置は、チャンクを含むデータ・パケットを受信すると、当該データ・パケットを送信するインタフェースをPITに基づき判定し、判定したインタフェースから当該データ・パケットを送信し、当該チャンクのエントリをPITから削除する。なお、データ・パケットを送信するインタフェースは、当該チャンクを要求するインタレスト・パケットを受信したインタフェースであり、PITの当該チャンクに関するエントリに設定されている。また、転送装置は、受信したデータ・パケットに含まれるチャンクをキャッシュするとCSを更新する。 Further, when the transfer device receives the data packet including the chunk, the transfer device determines the interface for transmitting the data packet based on the PIT, transmits the data packet from the determined interface, and makes an entry for the chunk from the PIT. delete. The interface for transmitting the data packet is the interface for receiving the interest packet requesting the chunk, and is set in the entry related to the chunk in the PIT. Further, the transfer device updates the CS when the chunk included in the received data packet is cached.

この様に、CCNにおいて、チャンクを含むデータ・パケットは、当該チャンクを要求するインタレスト・パケットを受信したインタフェースに送信される。よって、チャンクは、当該チャンクを要求するインタレスト・パケットと同じ経路を逆向きに転送されて、当該チャンクを要求したクライアント装置に配信される。 Thus, in the CCN, the data packet containing the chunk is transmitted to the interface that received the interest packet requesting the chunk. Therefore, the chunk is forwarded in the reverse direction on the same route as the interest packet requesting the chunk, and is delivered to the client device requesting the chunk.

転送装置は、一般的には、パケットの送受信処理を行うインタフェース部と、パケットの転送処理を行う転送処理部と、を有する。なお、本明細書において、パケットとは、インタレスト・パケットとデータ・パケットの総称を意味する。ここで、転送装置のスループットを高めるために転送装置に複数の転送処理部を設けることが検討されている。 A transfer device generally includes an interface unit that performs packet transmission / reception processing and a transfer processing unit that performs packet transfer processing. In addition, in this specification, a packet means a generic term of an interest packet and a data packet. Here, in order to increase the throughput of the transfer device, it is considered to provide a plurality of transfer processing units in the transfer device.

転送装置の転送処理部は、パケットを受信した際、PITのエントリに対するエントリ処理を行う。なお、本明細書において、エントリ処理とは、PITへのエントリの追加処理、エントリ内容の更新処理、エントリの削除処理の総称である。転送装置に複数の転送処理部を設けると、各転送処理部が、PITの同じエントリに同時にアクセスしてエントリ処理を行うことが生じ得る。PITの同じエントリに対して、異なる転送処理部によるエントリ処理が同時に生じると、PITに格納すべき情報が消失するといった不具合がPITに生じ得る。 When a packet is received, the transfer processing unit of the transfer device performs entry processing for the PIT entry. In the present specification, the entry process is a general term for an entry addition process to the PIT, an entry content update process, and an entry deletion process. If the transfer device is provided with a plurality of transfer processing units, it is possible that each transfer processing unit accesses the same entry of the PIT at the same time and performs entry processing. If entry processing by different transfer processing units occurs simultaneously for the same entry in the PIT, a problem such as loss of information to be stored in the PIT may occur in the PIT.

このため、非特許文献2は、同じチャンクを要求するインタレスト・パケットと、同じチャンクを搬送しているデータ・パケットについては、同じ転送処理部に処理させる構成を開示している。具体的には、ハッシュ値と転送処理部との対応関係を予め決定して、この対応関係を示す情報を転送装置に格納しておく。そして、転送装置は、パケットを受信すると、当該パケットが要求している、或いは、当該パケットが搬送しているチャンク(以下、パケットが要求している、或いは、パケットが搬送しているチャンクを、"パケットに関連付けられたチャンク"と表記する。)の名前のハッシュ値を求め、求めたハッシュ値に対応する転送処理部に当該パケットの転送処理を行わせることを非特許文献2は開示している。この構成により、PITのあるエントリに対するエントリ処理は、同じ1つの転送処理部のみにより行われるため、PITに不具合が生じることを防ぐことができる。 Therefore, Non-Patent Document 2 discloses a configuration in which the same transfer processing unit processes an interest packet requesting the same chunk and a data packet carrying the same chunk. Specifically, the correspondence between the hash value and the transfer processing unit is determined in advance, and the information indicating this correspondence is stored in the transfer device. Then, when the transfer device receives the packet, the chunk requested by the packet or carried by the packet (hereinafter, the chunk requested by the packet or carried by the packet) is transferred to the transfer device. Non-Patent Document 2 discloses that a hash value of the name of "chunk associated with a packet") is obtained, and the transfer processing unit corresponding to the obtained hash value is made to perform the transfer processing of the packet. There is. With this configuration, since the entry processing for an entry having a PIT is performed only by the same one transfer processing unit, it is possible to prevent a problem from occurring in the PIT.

また、非特許文献3は、PITのエントリ処理において排他制御を行うことを提案している。具体的には、PITにロック状態フィールドを設ける。なお、ロック状態フィールドには、値"0"又は値"1"が設定され、値"0"はアンロック状態を示し、値"1"はロック状態を示している。PITのエントリ処理を行う転送処理部は、処理対象のエントリのロック・フィールドの値をチェックし、値が"1"、つまり、ロック状態であれば、値が"0"、つまりアンロック状態になるまで待機する。処理対象のPITエントリがアンロック状態である場合、転送処理部は、エントリ処理を開始するが、この際、転送処理部は、まず、処理対象のエントリのロック状態フィールドの値を"1"に設定して処理対象のエントリをロック状態にする。そして、転送処理部は転送処理及びエントリ処理を実行し、これらの処理が完了すると、処理対象のエントリのロック状態フィールドの値を"0"に設定してアンロック状態にする。非特許文献3においては、この排他制御により、異なる転送処理部が、PITの同じエントリに同時にアクセスすることを防いでいる。 Further, Non-Patent Document 3 proposes to perform exclusive control in the entry processing of PIT. Specifically, a locked state field is provided in the PIT. A value "0" or a value "1" is set in the lock state field, a value "0" indicates an unlock state, and a value "1" indicates a lock state. The transfer processing unit that performs PIT entry processing checks the value of the lock field of the entry to be processed, and if the value is "1", that is, in the locked state, the value is "0", that is, in the unlocked state. Wait until it becomes. When the PIT entry to be processed is in the unlocked state, the transfer processing unit starts the entry processing. At this time, the transfer processing unit first sets the value of the lock state field of the entry to be processed to "1". Set to lock the entry to be processed. Then, the transfer processing unit executes the transfer process and the entry process, and when these processes are completed, the value of the lock state field of the entry to be processed is set to "0" to bring it into the unlock state. In Non-Patent Document 3, this exclusive control prevents different transfer processing units from accessing the same entry of PIT at the same time.

V.Jacobson,et al.,"Networking Named Content",in Proceedings of ACM CoNEXT 2009,2009年12月V. Jacobson, et al. , "Networking Named Content", in Proceedings of ACM CoNEXT 2009, December 2009 D.Kirchner,et al.,"Augustus:a CCN router for programmable networks",ACM ICN, 2016D. Kirchner, et al. , "Augustus: a CCN router for program networks", ACM ICN, 2016 J.Takemasa,et al.,"Analysis of mutual exclusion overhead of NDN packet forwarding on multi-core software router",ACM ICN 2018 Poster SessionJ. Takemasa, et al. , "Analysis of mutual exclusion overhead of NDN packet forwarding on multi-core software router", ACM ICN 2018 Poster Session

非特許文献3の構成において、転送処理部は、パケットを受信しても、当該パケットに関連付けられたチャンクに対応するPITのエントリがロック状態であると、アンロック状態になるまで待機しなければならず、スループットが低下する。また、非特許文献2の構成では、パケットに関連付けられたチャンクの名前により、当該パケットの転送処理を行う転送処理部が決まるため、同じ名前のチャンクに関連付けられたパケットが連続して到着すると、1つの転送処理部に処理が集中し、パケット損失の原因となり得る。 In the configuration of Non-Patent Document 3, even if the transfer processing unit receives a packet, if the entry of the PIT corresponding to the chunk associated with the packet is in the locked state, the transfer processing unit must wait until the packet is unlocked. However, the throughput is reduced. Further, in the configuration of Non-Patent Document 2, since the transfer processing unit that performs the transfer processing of the packet is determined by the name of the chunk associated with the packet, when the packets associated with the chunk with the same name arrive consecutively, Processing is concentrated on one transfer processing unit, which may cause packet loss.

本発明は、スループットの低下を防ぎ、かつ、パケット損失を低下させることができる技術を提供するものである。 The present invention provides a technique capable of preventing a decrease in throughput and reducing packet loss.

本発明の一態様によると、パケットに関連付けられたコンテンツの名前に基づき前記パケットを転送するコンテンツ配信システムの転送装置は、複数の通信インタフェースと、前記パケットの転送処理を行う複数の転送処理手段と、前記複数の通信インタフェースの内の通信インタフェースが前記パケットを受信した際、前記複数の転送処理手段から、当該パケットの転送処理を行う転送処理手段を決定する制御を行う制御手段と、を備え、前記制御手段は、前記複数の通信インタフェースが受信した前記パケットに基づき、前記コンテンツを、第1コンテンツと、前記第1コンテンツより人気度の低い第2コンテンツに分類し、前記第1コンテンツに関連付けられた前記パケットの転送処理を行う前記転送処理手段を前記複数の転送処理手段に分散させることを特徴とする。 According to one aspect of the present invention, the transfer device of the content distribution system that transfers the packet based on the name of the content associated with the packet includes a plurality of communication interfaces and a plurality of transfer processing means that perform the transfer process of the packet. When the communication interface among the plurality of communication interfaces receives the packet, the plurality of transfer processing means are provided with a control means for controlling the transfer processing means for performing the transfer processing of the packet. Based on the packet received by the plurality of communication interfaces, the control means classifies the content into a first content and a second content which is less popular than the first content, and is associated with the first content. It is characterized in that the transfer processing means for performing the transfer processing of the packet is distributed to the plurality of transfer processing means.

本発明によると、スループットの低下を防ぎ、かつ、パケット損失を低下させることができる。 According to the present invention, it is possible to prevent a decrease in throughput and reduce packet loss.

一実施形態による転送装置の構成図。The block diagram of the transfer apparatus by one Embodiment. パケットのヘッダ領域を示す図。The figure which shows the header area of a packet. 一実施形態による制御部の構成図。The block diagram of the control part by one Embodiment. 第1情報及び第2情報の例を示す図。The figure which shows the example of the 1st information and the 2nd information. 一実施形態によるPITを示す図。The figure which shows PIT by one Embodiment.

以下、添付図面を参照して実施形態を詳しく説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定するものでなく、また実施形態で説明されている特徴の組み合わせの全てが発明に必須のものとは限らない。実施形態で説明されている複数の特徴うち二つ以上の特徴が任意に組み合わされてもよい。また、同一若しくは同様の構成には同一の参照番号を付し、重複した説明は省略する。 Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. It should be noted that the following embodiments do not limit the invention according to the claims, and not all combinations of features described in the embodiments are essential to the invention. Two or more of the plurality of features described in the embodiments may be arbitrarily combined. In addition, the same or similar configuration will be given the same reference number, and duplicated explanations will be omitted.

以下では、コンテンツ配信システム(コンテンツ配信ネットワーク)が、CCNであるものとして本実施形態の説明を行う。しかしながら、コンテンツを示す名前に基づきルーティングを行う任意のコンテンツ配信システムに対して本発明を適用することができる。特に、以下ではCCNによるコンテンツの配信に従い、チャンクと呼ばれるコンテンツの断片を単位としてコンテンツを配信する形態で本実施形態の説明を行うが、コンテンツを分割することなく配信するネットワークに対しても本発明を適用することができる。さらに、CCNにおいては、コンテンツの断片であるチャンクを単位としてコンテンツを配信するため、以下の説明では、このチャンクの名前を"チャンク名"と表記するが、チャンクもコンテンツであるため、本実施形態の"チャンク名"は、"コンテンツ名"に置き換えることもできる。 Hereinafter, the present embodiment will be described assuming that the content distribution system (content distribution network) is CCN. However, the present invention can be applied to any content distribution system that routes based on the name indicating the content. In particular, in the following, the present embodiment will be described in the form of distributing the content in units of pieces of content called chunks according to the distribution of the content by CCN, but the present invention also applies to a network that distributes the content without dividing the content. Can be applied. Further, in CCN, since the content is distributed in units of chunks that are fragments of the content, the name of this chunk is referred to as "chunk name" in the following description, but since the chunk is also the content, this embodiment. The "chunk name" in can be replaced with the "content name".

図1は、本実施形態による転送装置100の構成図である。転送装置100は、通信インタフェース(IF)部1と、複数の転送処理部20と、記憶部30と、を有する。IF部1は、複数の通信インタフェース(IF)10と、制御部11と、を有する。複数の転送処理部20のそれぞれは、CPU(プロセッサ)により実現され得る。この場合、CPUが、例えば、記憶部30に格納されているプログラムを実行することで以下に説明する転送処理部20の機能が実現され得る。さらに、複数の転送処理部20は、複数のコアを有するマルチコアCPUにより実現され得る。この場合、マルチコアCPUが、例えば、記憶部30に格納されているプログラムを実行することで、各コアそれぞれが、以下に説明する転送処理部20として機能する。なお、転送処理部20の機能は、ASIC等のハードウェアによっても実現され得る。また、転送処理部20の機能は、適切なプログラムを実行する任意のプロセッサと、ASIC等のハードウェアの組み合わせでも実現され得る。なお、図1においては、IF部1が有するIF10の数をN(Nは2以上の整数)としている。また、転送処理部20の数をM(Mは2以上の整数)としている。なお、個々のIF10を区別するため、n番目(nは1~Nまでの整数)のIF10をIF#nとも表記する。同様に、個々の転送処理部20を区別するため、m番目(mは1~Mまでの整数)の転送処理部20を転送処理部#mとも表記する。 FIG. 1 is a configuration diagram of a transfer device 100 according to the present embodiment. The transfer device 100 includes a communication interface (IF) unit 1, a plurality of transfer processing units 20, and a storage unit 30. The IF unit 1 includes a plurality of communication interfaces (IF) 10 and a control unit 11. Each of the plurality of transfer processing units 20 can be realized by a CPU (processor). In this case, for example, the CPU can realize the function of the transfer processing unit 20 described below by executing the program stored in the storage unit 30. Further, the plurality of transfer processing units 20 can be realized by a multi-core CPU having a plurality of cores. In this case, each core functions as the transfer processing unit 20 described below by executing the program stored in the storage unit 30, for example, by the multi-core CPU. The function of the transfer processing unit 20 can also be realized by hardware such as an ASIC. Further, the function of the transfer processing unit 20 can be realized by a combination of an arbitrary processor that executes an appropriate program and hardware such as an ASIC. In FIG. 1, the number of IF10s in the IF unit 1 is N (N is an integer of 2 or more). Further, the number of transfer processing units 20 is M (M is an integer of 2 or more). In order to distinguish individual IF10s, the nth IF10 (n is an integer from 1 to N) is also referred to as IF # n. Similarly, in order to distinguish individual transfer processing units 20, the m-th (m is an integer from 1 to M) transfer processing unit 20 is also referred to as transfer processing unit #m.

IF10は、通信線を介して他の装置(他の転送装置や、サーバ装置や、クライアント装置等)に接続され、接続されている他の装置とパケットの送受信を行う。具体的には、IF10は、パケットを受信すると、当該パケットを転送処理部#1~転送処理部#Mの内の1つに出力する。なお、IF10が、パケットを出力する転送処理部20については、制御部11が決定する。制御部11が、パケットを出力する転送処理部20をどの様に決定するかについては後述する。また、IF10は、転送処理部20からパケットを受信すると、当該パケットを、通信線を介して他の装置に送信する。 The IF 10 is connected to another device (another transfer device, a server device, a client device, etc.) via a communication line, and transmits / receives packets to / from another connected device. Specifically, when the IF 10 receives a packet, it outputs the packet to one of the transfer processing unit # 1 to the transfer processing unit # M. The control unit 11 determines the transfer processing unit 20 for which the IF 10 outputs a packet. How the control unit 11 determines the transfer processing unit 20 for outputting the packet will be described later. Further, when the IF 10 receives a packet from the transfer processing unit 20, the IF 10 transmits the packet to another device via a communication line.

記憶部30は、揮発性メモリ及び不揮発性メモリを含む1つ以上の記憶デバイス(メモリ)を備え、PIT、FIBを保持している。さらに、記憶部30は、チャンクをキャッシュし、かつ、キャッシュしているチャンクの情報(CS)も保持している。 The storage unit 30 includes one or more storage devices (memories) including a volatile memory and a non-volatile memory, and holds a PIT and a FIB. Further, the storage unit 30 caches the chunks and also holds the cached chunk information (CS).

転送処理部20は、IF10からパケットを受信すると、当該パケットに応じた処理を行う。具体的には、パケットがインタレスト・パケットであり、要求チャンクをキャッシュしていると、当該パケットを受信したIF10にキャッシュしているチャンクを含むデータ・パケットを送信する。また、パケットがインタレスト・パケットであり、要求チャンクをキャッシュしていないが、PITに当該要求チャンクのエントリがあると、PITを更新してインタレスト・パケットを廃棄する。さらに、パケットがインタレスト・パケットであり、要求チャンクをキャッシュしておらず、かつ、PITに当該要求チャンクのエントリが無いと、PITに要求チャンクのエントリを追加し、FIBに基づき決定したIF10にインタレスト・パケットを転送する。また、パケットがデータ・パケットであると、PITに基づき判定したIF10に当該データ・パケットを送信し、当該データ・パケットが搬送しているチャンクに関するPITのエントリを削除する。 When the transfer processing unit 20 receives a packet from the IF 10, the transfer processing unit 20 performs processing according to the packet. Specifically, when the packet is an interest packet and the request chunk is cached, the data packet including the cached chunk is transmitted to the IF10 that received the packet. Also, if the packet is an interest packet and the request chunk is not cached, but there is an entry for the request chunk in the PIT, the PIT is updated and the interest packet is discarded. Further, if the packet is an interest packet, the request chunk is not cached, and the PIT does not have an entry for the request chunk, an entry for the request chunk is added to the PIT, and the interest is in IF10 determined based on the FIB. -Forward packets. Further, if the packet is a data packet, the data packet is transmitted to the IF10 determined based on the PIT, and the PIT entry regarding the chunk carried by the data packet is deleted.

図2は、パケットのヘッダの一部を示している。パケットのヘッダは、チャンク名フィールドと、ナンス値フィールドと、を含んでいる。チャンク名フィールドには、チャンク名が格納される。なお、インタレスト・パケットの場合には、要求するチャンクのチャンク名が格納され、データ・パケットの場合には、ペイロードに格納されているチャンクのチャンク名が格納される。本明細書において、パケットのチャンク名フィールドに格納されているチャンク名を、"パケットに関連付けられたチャンク名"と表記する。さらに、パケットのチャンク名フィールドに格納されているチャンク名が示すチャンクを、"パケットに関連付けられたチャンク"と表記する。同様に、"チャンク名に関連付けられたパケット"とは、チャンク名フィールドに当該チャンク名が格納されているパケットを意味するものとする。さらに、"チャンクに関連付けられたパケット"とは、チャンク名フィールドに当該チャンクのチャンク名が格納されているパケットを意味するものとする。ナンス値フィールドには、ランダムに生成された数字であるナンス値が格納される。ナンス値は、パケットがループ状に転送されているといったパケットの転送異常を検出するために設けられている。 FIG. 2 shows a part of the packet header. The packet header contains a chunk name field and a nonce value field. The chunk name field stores the chunk name. In the case of an interest packet, the chunk name of the requested chunk is stored, and in the case of a data packet, the chunk name of the chunk stored in the payload is stored. In the present specification, the chunk name stored in the chunk name field of the packet is referred to as "chunk name associated with the packet". Further, the chunk indicated by the chunk name stored in the chunk name field of the packet is referred to as "chunk associated with the packet". Similarly, "packet associated with a chunk name" shall mean a packet in which the chunk name is stored in the chunk name field. Further, "packet associated with a chunk" shall mean a packet in which the chunk name of the chunk is stored in the chunk name field. The nonce value field stores a nonce value, which is a randomly generated number. The nonce value is provided to detect a packet transfer abnormality such as a packet being transferred in a loop.

続いて、IF10が他の装置からパケットを受信した際、受信したパケットの出力先の転送処理部20を制御部11がどの様に決定するかについて説明する。なお、IF10は、他の装置からパケット受信した際、当該パケットのチャンク名フィールドに格納されているチャンク名と、ナンス値フィールドに格納されているナンス値と、を制御部11に通知するものとする。図3は、制御部11の機能ブロック図である。例えば、制御部11は、1つ以上のプロセッサにより構成され、当該1つ以上のプロセッサが記憶部30に格納されているプログラムを実行することで、図3の機能ブロックが実現され得る。また、制御部11は、ハードウェアによっても実現され得る。さらに、制御部11は、適切なプログラムを実行する任意のプロセッサと、ASIC等のハードウェアの組み合わせでも実現され得る。 Subsequently, when the IF 10 receives a packet from another device, how the control unit 11 determines the transfer processing unit 20 of the output destination of the received packet will be described. When a packet is received from another device, the IF 10 notifies the control unit 11 of the chunk name stored in the chunk name field of the packet and the nonce value stored in the nonce value field. do. FIG. 3 is a functional block diagram of the control unit 11. For example, the control unit 11 is composed of one or more processors, and the functional block of FIG. 3 can be realized by executing a program stored in the storage unit 30 by the one or more processors. The control unit 11 can also be realized by hardware. Further, the control unit 11 can be realized by a combination of an arbitrary processor that executes an appropriate program and hardware such as an ASIC.

IF10から通知されるチャンク名は、第2ハッシュ値算出部110と、第1ハッシュ値算出部112に入力される。また、IF10から通知されるナンス値は、第1ハッシュ値算出部112に入力される。第2ハッシュ値算出部110は、チャンク名を第2ハッシュ関数の入力として、そのハッシュ値(第2ハッシュ値)を求め、選択部111に第2ハッシュ値を通知する。選択部111は、第2情報114と、第2ハッシュ値と、に基づき、チャンク名とナンス値のいずれか1つを選択して選択結果を第1ハッシュ値算出部112に通知する。 The chunk name notified from the IF 10 is input to the second hash value calculation unit 110 and the first hash value calculation unit 112. Further, the nonce value notified from the IF 10 is input to the first hash value calculation unit 112. The second hash value calculation unit 110 takes the chunk name as an input of the second hash function, obtains the hash value (second hash value), and notifies the selection unit 111 of the second hash value. The selection unit 111 selects one of the chunk name and the nonce value based on the second information 114 and the second hash value, and notifies the first hash value calculation unit 112 of the selection result.

図4(A)は、第2情報114の例である。第2情報114は、第2ハッシュ値と、第1ハッシュ関数の入力として使用する入力値との対応関係を示す対応関係情報である。図4(A)の例において、第2ハッシュ値が"0"又は"1"であると、選択部111は、第1ハッシュ値算出部112に選択結果としてチャンク名を通知する。一方、第2ハッシュ値が"2"であると、選択部111は、第1ハッシュ値算出部112に選択結果としてナンス値を通知する。 FIG. 4A is an example of the second information 114. The second information 114 is correspondence information indicating the correspondence between the second hash value and the input value used as the input of the first hash function. In the example of FIG. 4A, when the second hash value is "0" or "1", the selection unit 111 notifies the first hash value calculation unit 112 of the chunk name as the selection result. On the other hand, when the second hash value is "2", the selection unit 111 notifies the first hash value calculation unit 112 of the nonce value as the selection result.

第1ハッシュ値算出部112は、チャンク名及びナンス値の内の選択部111から通知された値を第1ハッシュ関数の入力として、そのハッシュ値(第1ハッシュ値)を求め、決定部113に第1ハッシュ値を通知する。決定部113は、第1情報115と、第1ハッシュ値と、に基づき、転送処理部#1~転送処理部#Mの内の1つの転送処理部20を決定し、決定した転送処理部20を、チャンク名及びナンス値を通知したIF10に通知する。IF10は、決定部113から通知された転送処理部20に受信したパケットを出力する。 The first hash value calculation unit 112 obtains the hash value (first hash value) by using the value notified from the selection unit 111 of the chunk name and the nonce value as the input of the first hash function, and causes the determination unit 113 to obtain the hash value. Notify the first hash value. The determination unit 113 determines and determines one transfer processing unit 20 among the transfer processing unit # 1 to the transfer processing unit #M based on the first information 115 and the first hash value, and determines the transfer processing unit 20. Is notified to IF10 which has notified the chunk name and the nonce value. The IF 10 outputs the received packet to the transfer processing unit 20 notified from the determination unit 113.

図4(B)は、第1情報115の例である。第1情報115は、第1ハッシュ値と、転送処理部20との対応関係を示す情報である。図4(B)の例において、第1ハッシュ値が"0"であると、決定部113は、転送処理部#1にパケットを出力することをIF10に通知する。 FIG. 4B is an example of the first information 115. The first information 115 is information indicating the correspondence between the first hash value and the transfer processing unit 20. In the example of FIG. 4B, when the first hash value is "0", the determination unit 113 notifies the IF 10 that the packet is output to the transfer processing unit # 1.

例えば、IF#1から通知されたチャンク名が"Ca"であり、その第2ハッシュ値が"0"であり、その第1ハッシュ値が"1"であるものとする。なお、第2情報114及び第1情報115は図4(A)及び図4(B)に示す通りとする。選択部111は、第2ハッシュ値が"0"であるため、第1ハッシュ値算出部112に、第1ハッシュ値の算出にチャンク名"Ca"を使用することを通知する。したがって、第1ハッシュ値算出部112は、第1ハッシュ値として"1"を決定部113に通知する。よって、決定部113は、第1情報115に基づき、転送処理部#2をIF#1に通知する。この様に、受信したパケットのチャンク名が"Ca"であると、当該パケットは、常に、転送処理部#2で処理されることになる。 For example, it is assumed that the chunk name notified from IF # 1 is "Ca", its second hash value is "0", and its first hash value is "1". The second information 114 and the first information 115 are as shown in FIGS. 4 (A) and 4 (B). Since the second hash value is "0", the selection unit 111 notifies the first hash value calculation unit 112 that the chunk name "Ca" is used for the calculation of the first hash value. Therefore, the first hash value calculation unit 112 notifies the determination unit 113 of "1" as the first hash value. Therefore, the determination unit 113 notifies the IF # 1 of the transfer processing unit # 2 based on the first information 115. As described above, when the chunk name of the received packet is "Ca", the packet is always processed by the transfer processing unit # 2.

一方、IF#1から通知されたチャンク名が"Cb"であり、その第2ハッシュ値が"2"であるものとする。なお、第2情報114及び第1情報115は図4(A)及び図4(B)に示す通りとする。選択部111は、第2ハッシュ値が"2"であるため、第1ハッシュ値算出部112に、第1ハッシュ値の算出にナンス値を使用することを通知する。したがって、第1ハッシュ値算出部112は、ナンス値に基づき第1ハッシュ値を算出して決定部113に通知する。ここで、ナンス値は、ランダムに生成された値であるため、パケットのチャンク名が"Cb"であっても、ナンス値はパケット毎に異なる。したがって、パケットのチャンク名が"Cb"であっても、第1ハッシュ値算出部112が算出する第1ハッシュ値もパケット毎に異なる。よって、パケットのチャンク名が"Cb"であっても決定部113が出力先として決定する転送処理部20は同じではなく、パケット毎に異なることになる。 On the other hand, it is assumed that the chunk name notified from IF # 1 is "Cb" and the second hash value is "2". The second information 114 and the first information 115 are as shown in FIGS. 4 (A) and 4 (B). Since the second hash value is "2", the selection unit 111 notifies the first hash value calculation unit 112 that the nonce value is used for the calculation of the first hash value. Therefore, the first hash value calculation unit 112 calculates the first hash value based on the nonce value and notifies the determination unit 113. Here, since the nonce value is a randomly generated value, the nonce value differs for each packet even if the chunk name of the packet is "Cb". Therefore, even if the chunk name of the packet is "Cb", the first hash value calculated by the first hash value calculation unit 112 is also different for each packet. Therefore, even if the chunk name of the packet is "Cb", the transfer processing unit 20 determined by the determination unit 113 as the output destination is not the same, but is different for each packet.

例えば、要求数の少ないチャンクに関連付けられたパケットについては、同じ転送処理部20で処理しても、転送処理部20の処理能力を超えることはなく、パケット損失等の原因とはなり得ない。また、同じチャンクに関連付けられたパケットを同じ転送処理部20が処理するため、異なる転送処理部20が同じPITのエントリに同時にアクセスすることで生じ得るPITの不具合を防ぐことができる。したがって、制御部11は、第2情報114において、要求数の少ないチャンクのチャンク名による第2ハッシュ値に対応する入力値を"チャンク名"に設定する。一方、要求数の多いチャンクに関連付けられたパケットを同じ転送処理部20で処理すると、転送処理部20の処理能力を超え、パケット損失の原因となり得る。したがって、制御部11は、第2情報114において、要求数の多いチャンクのチャンク名による第2ハッシュ値に対応する入力値を"ナンス値"に設定する。これにより、要求数の多いチャンクに関連付けられたパケットは、複数の転送処理部20により分散して処理されることになり、パケット損失の発生を抑えることができる。 For example, even if a packet associated with a chunk having a small number of requests is processed by the same transfer processing unit 20, the processing capacity of the transfer processing unit 20 is not exceeded, and it cannot cause packet loss or the like. Further, since the same forwarding processing unit 20 processes the packets associated with the same chunk, it is possible to prevent PIT defects that may occur when different forwarding processing units 20 access the same PIT entry at the same time. Therefore, in the second information 114, the control unit 11 sets the input value corresponding to the second hash value of the chunk name of the chunk with a small number of requests to the "chunk name". On the other hand, if a packet associated with a chunk having a large number of requests is processed by the same transfer processing unit 20, the processing capacity of the transfer processing unit 20 may be exceeded, which may cause packet loss. Therefore, in the second information 114, the control unit 11 sets the input value corresponding to the second hash value of the chunk name of the chunk with the larger number of requests to the "nonce value". As a result, the packets associated with the chunks having a large number of requests are distributed and processed by the plurality of transfer processing units 20, and the occurrence of packet loss can be suppressed.

このため、制御部11は、IF10がパケットを受信した際にIF10から通知されるチャンク名に基づき、各チャンクの人気度を求める。チャンクの人気度は、例えば、所定期間において受信した当該チャンクを要求するインタレスト・パケットの合計数とすることができる。そして、制御部11は、人気度(合計数)を閾値と比較することで、チャンクを人気度の高い第1チャンクと、人気度の低い第2チャンクに分類する。第1チャンクは、合計数が閾値より大きいチャンクであり、第2チャンクは合計数が閾値以下のチャンクである。制御部11は、第1チャンクのチャンク名による第2ハッシュ値を求め、第2情報114のこの第2ハッシュ値に対応する入力値を"ナンス値"に設定し、それ以外の第2ハッシュ値に対応する入力値を"チャンク名"に設定する。制御部114は、各チャンクの人気度を求めて第1チャンクを判定する処理と、判定結果に基づき第2情報114を更新する処理を所定期間毎に繰り返す。この構成により、パケット損失を抑えつつ、パケットの転送処理を複数の転送処理部20に分散させることができ、転送装置100のスループットを高くすることができる。 Therefore, the control unit 11 obtains the popularity of each chunk based on the chunk name notified from the IF 10 when the IF 10 receives the packet. The popularity of a chunk can be, for example, the total number of interest packets requesting the chunk received in a predetermined period. Then, the control unit 11 classifies the chunks into a first chunk having a high popularity and a second chunk having a low popularity by comparing the popularity (total number) with the threshold value. The first chunk is a chunk whose total number is larger than the threshold value, and the second chunk is a chunk whose total number is equal to or less than the threshold value. The control unit 11 obtains the second hash value by the chunk name of the first chunk, sets the input value corresponding to this second hash value of the second information 114 to the "nonce value", and sets the other second hash values. Set the input value corresponding to to "chunk name". The control unit 114 repeats a process of determining the popularity of each chunk to determine the first chunk and a process of updating the second information 114 based on the determination result at predetermined intervals. With this configuration, packet transfer processing can be distributed to a plurality of transfer processing units 20 while suppressing packet loss, and the throughput of the transfer device 100 can be increased.

上述した構成により、人気度が閾値以下である第2チャンクに関連付けられたパケットは、同じ転送処理部20により処理されるため、異なる転送処理部20が同時にPITの同じエントリにアクセスすることは生じず、よって、PITに不具合は生じない。しかしながら、人気度が閾値より大きい第1チャンクに関するパケットは、異なる転送処理部20により処理されるため、異なる転送処理部20が同時にPITの同じエントリにアクセスすることが生じ得る。このため、本実施形態では、第1チャンクに関連付けられたパケットを転送処理部20が処理する際、当該転送処理部20にPITの排他制御を行わせる。 Due to the above configuration, the packet associated with the second chunk whose popularity is less than or equal to the threshold value is processed by the same transfer processing unit 20, so that different transfer processing units 20 may access the same entry of the PIT at the same time. Therefore, there is no problem with PIT. However, since the packet relating to the first chunk whose popularity is larger than the threshold value is processed by the different transfer processing units 20, different transfer processing units 20 may access the same entry of the PIT at the same time. Therefore, in the present embodiment, when the transfer processing unit 20 processes the packet associated with the first chunk, the transfer processing unit 20 is made to perform exclusive control of the PIT.

例えば、制御部11は、ナンス値を使用して転送処理部20を決定した際、決定した転送処理部20にPITの排他制御を行うことを通知する構成とすることができる。本実施形態では、パケットのヘッダ領域を使用して、転送処理部20にPITの排他制御を行うことを通知する。このため、図2に示すパケットのヘッダ領域に、ロック・フィールドを設ける。そして、第1ハッシュ値算出部112は、選択結果として"チャンク名"が通知された場合、第1ハッシュ値と共に"ロック不要"を示す情報を決定部113に通知する。一方、選択結果として"ナンス値"が通知された場合、第1ハッシュ値算出部112は、第1ハッシュ値と共に"ロック要"を示す情報を決定部113に通知する。決定部113は、決定した転送処理部20を示す情報と共に、第1ハッシュ値算出部112から通知された、"ロック不要"又は"ロック要"を示す情報をIF10に通知する。 For example, when the transfer processing unit 20 is determined using the nonce value, the control unit 11 may be configured to notify the determined transfer processing unit 20 of performing exclusive control of PIT. In the present embodiment, the header area of the packet is used to notify the transfer processing unit 20 to perform exclusive control of PIT. Therefore, a lock field is provided in the header area of the packet shown in FIG. Then, when the "chunk name" is notified as the selection result, the first hash value calculation unit 112 notifies the determination unit 113 of the information indicating "lock unnecessary" together with the first hash value. On the other hand, when the "nonce value" is notified as the selection result, the first hash value calculation unit 112 notifies the determination unit 113 of the information indicating "lock required" together with the first hash value. The determination unit 113 notifies the IF 10 of the information indicating "lock not required" or "lock required" notified from the first hash value calculation unit 112 together with the information indicating the determined transfer processing unit 20.

IF10は、決定部113から通知された転送処理部20にパケットを出力する際、決定部113から"ロック不要"が通知されていると、当該パケットのロック・フィールドに、例えば、値"0"を設定し、"ロック要"が通知されていると、当該パケットのロック・フィールドに、例えば、値"1"を設定する。転送処理部20は、ロック・フィールドに値"0"が設定されていると、PITの排他制御を行わず、ロック・フィールドに値"1"が設定されていると、PITの排他制御を行う。 When the IF10 outputs a packet to the transfer processing unit 20 notified by the determination unit 113, if "lock not required" is notified from the determination unit 113, the lock field of the packet is, for example, a value "0". Is set, and when "lock required" is notified, for example, a value "1" is set in the lock field of the packet. The transfer processing unit 20 does not perform exclusive control of PIT when the value "0" is set in the lock field, and performs exclusive control of PIT when the value "1" is set in the lock field. ..

具体的には、図5に示す様に、PITにロック状態フィールドを設ける。ロック状態フィールドには、値"0"又は値"1"が設定され、値"0"はアンロック状態を示し、値"1"はロック状態を示す。転送処理部20は、受信したパケットのロック・フィールドの値が"0"であると、PITの処理対象のエントリのロック状態フィールドの値に拘わらず当該パケットの転送処理と、処理対象のエントリに対するエントリ処理を実行する。一方、受信したパケットのロック・フィールドの値が"1"である場合、PITの処理対象のエントリのロック状態フィールドの値をまず検査する。そして、PITの処理対象のエントリのロック状態フィールドの値が"1"、つまり、ロック状態であると、値が"0"、つまりアンロック状態になるまで待機する。処理対象のPITエントリがアンロック状態である場合、転送処理部20は、転送処理及びエントリ処理を開始するが、この際、転送処理部20は、まず、処理対象のエントリのロック状態フィールドの値を"1"に設定して処理対象のエントリをロック状態にする。そして、転送処理部20は転送処理及びエントリ処理を実行し、これらの処理が完了すると、処理対象のエントリのロック状態フィールドの値を"0"に設定してアンロック状態にする。 Specifically, as shown in FIG. 5, a locked state field is provided in the PIT. A value "0" or a value "1" is set in the locked state field, a value "0" indicates an unlocked state, and a value "1" indicates a locked state. When the value of the lock field of the received packet is "0", the transfer processing unit 20 performs the transfer processing of the packet and the entry to be processed regardless of the value of the lock state field of the entry to be processed by PIT. Perform entry processing. On the other hand, when the value of the lock field of the received packet is "1", the value of the lock state field of the entry to be processed by PIT is first checked. Then, if the value of the lock state field of the entry to be processed by PIT is "1", that is, the lock state, the value waits until the value is "0", that is, the unlock state. When the PIT entry to be processed is in the unlocked state, the transfer processing unit 20 starts the transfer process and the entry process. At this time, the transfer processing unit 20 first starts the value of the lock state field of the entry to be processed. Is set to "1" to lock the entry to be processed. Then, the transfer processing unit 20 executes the transfer process and the entry process, and when these processes are completed, the value of the lock state field of the entry to be processed is set to "0" to bring it into the unlock state.

この様に、本実施形態では、総てのパケットの処理においてPITの排他制御を行うのではなく、一部のパケットの処理においてのみPITの排他制御を行うため、排他制御の実行によるスループットの低下を抑えることができる。 As described above, in the present embodiment, the exclusive control of the PIT is not performed in the processing of all packets, but the exclusive control of the PIT is performed only in the processing of some packets, so that the throughput is reduced due to the execution of the exclusive control. Can be suppressed.

なお、本実施形態において、制御部11は、第1ハッシュ関数と第2ハッシュ関数の2つのハッシュ関数を使用していたが、第1ハッシュ関数と第2ハッシュ関数は、異なる関数であっても、同じ関数であっても良い。さらに、本実施形態では、第1ハッシュ値に基づきパケットの転送処理を行う転送処理部20を決定し、第1ハッシュ値を求めるための第1ハッシュ関数の入力値を、第2ハッシュ値に基づき制御していた。しかしながら、第1チャンクに関連付けられたパケットを複数の転送処理部20に分散させて処理し、第2チャンクに関連付けられたパケットについては、基本的には、同じ1つの転送処理部20で処理すれば良く、第1チャンクに関連付けられたパケットを複数の転送処理部20に分散させる方法は、上記構成に限定されない。 In the present embodiment, the control unit 11 uses two hash functions, a first hash function and a second hash function, but the first hash function and the second hash function may be different functions. , May be the same function. Further, in the present embodiment, the transfer processing unit 20 that performs packet transfer processing based on the first hash value is determined, and the input value of the first hash function for obtaining the first hash value is based on the second hash value. I was in control. However, the packets associated with the first chunk are distributed and processed by a plurality of transfer processing units 20, and the packets associated with the second chunk are basically processed by the same transfer processing unit 20. The method of distributing the packets associated with the first chunk to a plurality of transfer processing units 20 is not limited to the above configuration.

例えば、制御部11は、上記実施形態で説明した様に閾値に基づき第1チャンクを判定する。そして、第1チャンクとは判定されなかったチャンク(第2チャンク)については、上記実施形態と同様に、チャンク名に基づき1つの転送処理部20を決定してIF10に通知する。一方、第1チャンクについては、複数の転送処理部20から1つの転送処理部20をランダムに選択してIF10に通知する構成とすることもできる。例えば、第1チャンクについては、乱数を生成し、生成した乱数に基づき求めた第1ハッシュ値により、当該第1チャンクに関連付けられたパケットを転送する転送処理部20を決定する構成とすることもできる。また、複数の転送処理部20の選択順序を、例えば、ラウンドロビン形式で予め決めておき、第1チャンクについては、選択順序に従い複数の転送処理部20から1つの転送処理部20を選択してIF10に通知する構成とすることもできる。 For example, the control unit 11 determines the first chunk based on the threshold value as described in the above embodiment. Then, for the chunk (second chunk) that is not determined to be the first chunk, one transfer processing unit 20 is determined based on the chunk name and notified to IF10, as in the above embodiment. On the other hand, the first chunk may be configured to randomly select one transfer processing unit 20 from the plurality of transfer processing units 20 and notify the IF 10. For example, for the first chunk, a random number may be generated, and the transfer processing unit 20 for transferring the packet associated with the first chunk may be determined based on the first hash value obtained based on the generated random number. can. Further, the selection order of the plurality of transfer processing units 20 is determined in advance in a round-robin format, for example, and for the first chunk, one transfer processing unit 20 is selected from the plurality of transfer processing units 20 according to the selection order. It can also be configured to notify the IF10.

なお、上記実施形態において制御部11は、人気度の高い第1チャンクを判定し、第2情報114において、第1チャンクの名前の第2ハッシュ値に対応する入力値をナンス値に設定していた。この場合、人気度の低い第2チャンクの名前の第2ハッシュ値が、第1チャンクの名前の第2ハッシュ値に一致することが生じ得る。この様な場合、第2ハッシュ値が、第1チャンクの名前の第2ハッシュ値に一致する第2チャンクについては、同じ転送処理部20で処理されるのではなく、複数の転送処理部20で処理されることになる。しかしながら、この様なケースが生じる確率は低く、かつ、複数の転送処理部20で処理される場合にはPITの排他制御が行われるため問題はない。 In the above embodiment, the control unit 11 determines the most popular first chunk, and in the second information 114, the input value corresponding to the second hash value of the name of the first chunk is set as the nonce value. rice field. In this case, it is possible that the second hash value of the less popular second chunk name matches the second hash value of the first chunk name. In such a case, the second chunk whose second hash value matches the second hash value of the name of the first chunk is not processed by the same transfer processing unit 20, but is processed by a plurality of transfer processing units 20. It will be processed. However, the probability that such a case will occur is low, and there is no problem because exclusive control of PIT is performed when processing is performed by a plurality of transfer processing units 20.

纏めると、人気度の高い第1チャンクに関連付けられたパケットの転送処理については複数の転送処理部20に分散させる。一方、人気度の低い第2チャンクに関連付けられたパケットの転送処理については、基本的には、同じ1つの転送処理部20で処理させる。つまり、本発明は、人気度の低い第2チャンクに関連付けられたパケットの転送処理を同じ1つの転送処理部20で処理させる形態のみならず、人気度の低い第2チャンクに関連付けられたパケットの内の一部が、複数の転送処理部20に分散されて処理され得る形態と、を含むものである。 In summary, the transfer processing of the packet associated with the popular first chunk is distributed to a plurality of transfer processing units 20. On the other hand, the forwarding process of the packet associated with the second chunk, which is less popular, is basically processed by the same one forwarding processing unit 20. That is, the present invention is not only a form in which the forwarding process of the packet associated with the less popular second chunk is processed by the same one forwarding processing unit 20, but also the packet associated with the less popular second chunk. A part of the above includes a form in which the transfer processing unit 20 can be distributed and processed.

また、本発明による転送装置100は、複数のIF10と、1つ以上のプロセッサと、プログラムを格納する1つ以上のメモリと、を有する装置で実現することができる。この場合、1つ以上のメモリに格納されたプログラムは、1つ以上のプロセッサで実行されると、当該装置を上記転送装置100として機能・動作させるための命令を含んでいる。また、このプログラムは、コンピュータが読み取り可能な記憶媒体に記憶されて、又は、ネットワーク経由で配布が可能なものである。 Further, the transfer device 100 according to the present invention can be realized by a device having a plurality of IFs 10, one or more processors, and one or more memories for storing a program. In this case, the program stored in one or more memories includes an instruction for functioning and operating the device as the transfer device 100 when executed by one or more processors. The program can also be stored in a computer-readable storage medium or distributed over a network.

発明は上記の実施形態に制限されるものではなく、発明の要旨の範囲内で、種々の変形・変更が可能である。 The invention is not limited to the above embodiment, and various modifications and changes can be made within the scope of the gist of the invention.

10:インタフェース、20:転送処理部、11:制御部 10: Interface, 20: Transfer processing unit, 11: Control unit

Claims (11)

パケットに関連付けられたコンテンツの名前に基づき前記パケットを転送するコンテンツ配信システムの転送装置であって、
複数の通信インタフェースと、
前記パケットの転送処理を行う複数の転送処理手段と、
前記複数の通信インタフェースの内の通信インタフェースが前記パケットを受信した際、前記複数の転送処理手段から、当該パケットの転送処理を行う転送処理手段を決定する制御を行う制御手段と、
を備え、
前記制御手段は、前記複数の通信インタフェースが受信した前記パケットに基づき、前記コンテンツを、第1コンテンツと、前記第1コンテンツより人気度の低い第2コンテンツに分類し、前記第1コンテンツに関連付けられた前記パケットの転送処理を行う前記転送処理手段を前記複数の転送処理手段に分散させることを特徴とする転送装置。
A transfer device of a content distribution system that transfers the packet based on the name of the content associated with the packet.
With multiple communication interfaces
A plurality of forwarding processing means for performing the forwarding processing of the packet, and
When the communication interface among the plurality of communication interfaces receives the packet, the control means for controlling the plurality of transfer processing means to determine the transfer processing means for performing the transfer processing of the packet, and the control means.
Equipped with
Based on the packet received by the plurality of communication interfaces, the control means classifies the content into a first content and a second content which is less popular than the first content, and is associated with the first content. A transfer device, characterized in that the transfer processing means for performing the transfer processing of the packet is distributed to the plurality of transfer processing means.
前記制御手段は、乱数に基づき前記第1コンテンツに関連付けられた前記パケットの転送処理を行う前記転送処理手段を決定することを特徴とする請求項1に記載の転送装置。 The transfer device according to claim 1, wherein the control means determines the transfer processing means for performing the transfer processing of the packet associated with the first content based on a random number. 前記制御手段は、前記第2コンテンツの名前に基づき前記第2コンテンツに関連付けられた前記パケットの転送処理を行う前記転送処理手段を決定することを特徴とする請求項1又は2に記載の転送装置。 The transfer device according to claim 1 or 2, wherein the control means determines the transfer processing means for performing the transfer processing of the packet associated with the second content based on the name of the second content. .. 前記制御手段は、
第1ハッシュ関数による第1ハッシュ値を求める第1算出手段と、
前記第1ハッシュ値に基づき前記パケットの転送処理を行う前記転送処理手段を決定する決定手段と、
を備え、
前記制御手段は、前記第1コンテンツに関連付けられた前記パケットの転送処理を行う前記転送処理手段を決定する場合、乱数を前記第1算出手段への入力とし、前記第2コンテンツに関連付けられた前記パケットの転送処理を行う前記転送処理手段を決定する場合、前記第2コンテンツの名前を前記第1算出手段への入力とすることを特徴とする請求項1から3のいずれか1項に記載の転送装置。
The control means is
The first calculation means for obtaining the first hash value by the first hash function,
A determining means for determining the forwarding processing means for performing the forwarding processing of the packet based on the first hash value, and
Equipped with
When the control means determines the transfer processing means that performs the transfer processing of the packet associated with the first content, the random number is input to the first calculation means, and the control means associated with the second content. The method according to any one of claims 1 to 3, wherein when the transfer processing means for performing the packet transfer processing is determined, the name of the second content is input to the first calculation means. Transfer device.
前記乱数は、前記パケットに格納されている値であることを特徴とする請求項2又は4に記載の転送装置。 The transfer device according to claim 2 or 4, wherein the random number is a value stored in the packet. 前記制御手段は、前記複数の通信インタフェースで受信した前記パケットに基づき、前記コンテンツを要求するパケットの数を前記コンテンツ毎に判定し、判定した前記コンテンツ毎のパケットの数を閾値と比較することで、前記コンテンツを前記第1コンテンツと前記第2コンテンツに分類することを特徴とする請求項1から5のいずれか1項に記載の転送装置。 The control means determines the number of packets requesting the content for each content based on the packets received by the plurality of communication interfaces, and compares the determined number of packets for each content with the threshold value. The transfer device according to any one of claims 1 to 5, wherein the content is classified into the first content and the second content. 前記制御手段は、第2ハッシュ関数による第2ハッシュ値を求める第2算出手段をさらに備え、
前記制御手段は、前記第2ハッシュ値に対応する前記コンテンツが前記第1コンテンツであるか前記第2コンテンツであるかを示す対応関係情報を管理し、前記パケットの転送処理を行う前記転送処理手段を決定する際、当該パケットに関連付けられた前記コンテンツの名前を前記第2算出手段の入力とすることで求めた前記第2ハッシュ値と、前記対応関係情報とに基づき、当該パケットに関連付けられた前記コンテンツが前記第1コンテンツであるか前記第2コンテンツであるかを判定し、
前記制御手段は、前記複数の通信インタフェースで受信した前記パケットに基づき、前記コンテンツを前記第1コンテンツと前記第2コンテンツに分類すると、分類結果に基づき前記対応関係情報を更新することを特徴とする請求項6に記載の転送装置。
The control means further includes a second calculation means for obtaining a second hash value by a second hash function.
The control means manages correspondence information indicating whether the content corresponding to the second hash value is the first content or the second content, and performs the transfer processing of the packet. Was associated with the packet based on the second hash value obtained by inputting the name of the content associated with the packet as the input of the second calculation means and the correspondence information. It is determined whether the content is the first content or the second content, and the content is determined.
The control means is characterized in that when the content is classified into the first content and the second content based on the packet received by the plurality of communication interfaces, the correspondence information is updated based on the classification result. The transfer device according to claim 6.
前記制御手段は、前記パケットの転送処理を行う転送処理手段を決定すると、前記通信インタフェースに、決定した前記転送処理手段と、当該パケットに関連付けられた前記コンテンツが前記第1コンテンツであるか、前記第2コンテンツであるかを通知し、
前記通信インタフェースは、当該パケットの所定フィールドに、当該パケットに関連付けられた前記コンテンツが前記第1コンテンツであるか、前記第2コンテンツであるかを示す情報を設定して、当該パケットを前記制御手段から通知された前記転送処理手段に出力することを特徴とする請求項1から7のいずれか1項に記載の転送装置。
When the control means determines the transfer processing means for performing the transfer processing of the packet, the communication interface determines whether the determined transfer processing means and the content associated with the packet are the first content. Notify if it is the second content,
The communication interface sets information indicating whether the content associated with the packet is the first content or the second content in a predetermined field of the packet, and controls the packet by the control means. The transfer device according to any one of claims 1 to 7, wherein the transfer device is output to the transfer processing means notified from.
前記コンテンツを要求するパケットを転送して、当該コンテンツを搬送するパケットの受信待ちであることと、当該コンテンツを搬送するパケットを送信する前記通信インタフェースとを示すテーブルを格納する格納手段をさらに備え、
前記転送処理手段は、前記通信インタフェースから前記パケットを受信すると、前記パケットの前記所定フィールドに設定された情報に基づき、前記テーブルに対する処理において排他制御を行うか否かを判定することをと特徴とする請求項8に記載の転送装置。
Further provided with a storage means for storing a table indicating that the packet requesting the content is forwarded and waiting for reception of the packet carrying the content and the communication interface for transmitting the packet carrying the content is provided.
The transfer processing means is characterized in that when it receives the packet from the communication interface, it determines whether or not exclusive control is performed in the processing for the table based on the information set in the predetermined field of the packet. The transfer device according to claim 8.
前記転送処理手段は、前記所定フィールドに設定された情報が前記第1コンテンツであることを示していると前記排他制御を行い、前記所定フィールドに設定された情報が前記第2コンテンツであることを示していると前記排他制御を行わないことを特徴とする請求項9に記載の転送装置。 When the transfer processing means indicates that the information set in the predetermined field is the first content, the transfer processing means performs the exclusive control, and the information set in the predetermined field is the second content. The transfer device according to claim 9, wherein the exclusive control is not performed when shown. 1つ以上のプロセッサを有する装置の前記1つ以上のプロセッサで実行されると、前記1つ以上のプロセッサを有する装置を請求項1から10のいずれか1項に記載の転送装置として機能させることを特徴とするプログラム。 When executed by the one or more processors of the device having one or more processors, the device having the one or more processors functions as the transfer device according to any one of claims 1 to 10. A program featuring.
JP2020159724A 2020-09-24 2020-09-24 TRANSFER DEVICE AND PROGRAM FOR CONTENT DISTRIBUTION SYSTEM Active JP7335216B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020159724A JP7335216B2 (en) 2020-09-24 2020-09-24 TRANSFER DEVICE AND PROGRAM FOR CONTENT DISTRIBUTION SYSTEM

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020159724A JP7335216B2 (en) 2020-09-24 2020-09-24 TRANSFER DEVICE AND PROGRAM FOR CONTENT DISTRIBUTION SYSTEM

Publications (2)

Publication Number Publication Date
JP2022053105A true JP2022053105A (en) 2022-04-05
JP7335216B2 JP7335216B2 (en) 2023-08-29

Family

ID=80963321

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020159724A Active JP7335216B2 (en) 2020-09-24 2020-09-24 TRANSFER DEVICE AND PROGRAM FOR CONTENT DISTRIBUTION SYSTEM

Country Status (1)

Country Link
JP (1) JP7335216B2 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004248132A (en) * 2003-02-17 2004-09-02 Nippon Telegr & Teleph Corp <Ntt> Content distribution method, client device, program and recording medium
CN1842799A (en) * 2004-07-21 2006-10-04 索尼株式会社 Content processing device, content processing method, and computer program
JP2009165159A (en) * 2009-03-11 2009-07-23 Hitachi Ltd Network relaying equipment
JP2015162686A (en) * 2014-02-25 2015-09-07 日本電信電話株式会社 Cache control device, method and program
US9178806B2 (en) * 2012-07-31 2015-11-03 Alcatel Lucent High-speed content routing

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004248132A (en) * 2003-02-17 2004-09-02 Nippon Telegr & Teleph Corp <Ntt> Content distribution method, client device, program and recording medium
CN1842799A (en) * 2004-07-21 2006-10-04 索尼株式会社 Content processing device, content processing method, and computer program
JP2009165159A (en) * 2009-03-11 2009-07-23 Hitachi Ltd Network relaying equipment
US9178806B2 (en) * 2012-07-31 2015-11-03 Alcatel Lucent High-speed content routing
JP2015162686A (en) * 2014-02-25 2015-09-07 日本電信電話株式会社 Cache control device, method and program

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"情報指向型ネットワークに適用するためのコンテンツ人気度推定方式", 電子情報通信学会2018年総合大会, JPN6023010753, 6 March 2018 (2018-03-06), ISSN: 0005015521 *

Also Published As

Publication number Publication date
JP7335216B2 (en) 2023-08-29

Similar Documents

Publication Publication Date Title
US8271578B2 (en) Bidirectional data transfer optimization and content control for networks
JP2004070860A (en) Stream contents distribution system and proxy server
JP6601784B2 (en) Method, network component, and program for supporting context-aware content requests in an information-oriented network
US20170031908A1 (en) Efficient parallel insertion into an open hash table
US9015438B2 (en) System and method for achieving enhanced performance with multiple networking central processing unit (CPU) cores
Wu et al. N-DISE: NDN-based data distribution for large-scale data-intensive science
US11184460B2 (en) Server device and transfer device for content distribution system
JP7335216B2 (en) TRANSFER DEVICE AND PROGRAM FOR CONTENT DISTRIBUTION SYSTEM
JP6474710B2 (en) Communication apparatus and program
JP6495777B2 (en) Transfer device, server device, and program for content distribution network
JP6546566B2 (en) Parallel load distribution system, parallel load distribution method, SDN controller host and program
JP6430849B2 (en) Transfer device for content distribution network
JP7028811B2 (en) Content delivery network transporter
JP6590774B2 (en) Server device, transfer device, and program for content distribution system
US20210029212A1 (en) Transfer apparatus for content distribution network
JP2021114707A (en) Transfer device and program for content distribution system
JP6516692B2 (en) Transfer device and program for content distribution network
JP7084365B2 (en) Transporters and programs for content distribution systems
Watano et al. Interest re-route control according to degree of similarity on cached contents using bloom filter on NDN
JP6591946B2 (en) Server device, transfer device, and program for content distribution system
JP7463314B2 (en) Content delivery network client device and program
JP2019145900A (en) Client device and program for content distribution network
JP6718397B2 (en) Router device, control method thereof, and program
JP2008131351A (en) Cache system, cache device, packet processor, caching method, packet processing method, caching program, and packet processing program
KR101755620B1 (en) Network device and control method of the same

Legal Events

Date Code Title Description
A80 Written request to apply exceptions to lack of novelty of invention

Free format text: JAPANESE INTERMEDIATE CODE: A80

Effective date: 20201006

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20210203

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220531

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230320

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230414

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230721

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230817

R150 Certificate of patent or registration of utility model

Ref document number: 7335216

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150