WO2013073639A1 - ネットワーク通信装置、及び転送フレーム優先的帯域制限方法 - Google Patents

ネットワーク通信装置、及び転送フレーム優先的帯域制限方法 Download PDF

Info

Publication number
WO2013073639A1
WO2013073639A1 PCT/JP2012/079705 JP2012079705W WO2013073639A1 WO 2013073639 A1 WO2013073639 A1 WO 2013073639A1 JP 2012079705 W JP2012079705 W JP 2012079705W WO 2013073639 A1 WO2013073639 A1 WO 2013073639A1
Authority
WO
WIPO (PCT)
Prior art keywords
bucket
frame
priority
token
shared
Prior art date
Application number
PCT/JP2012/079705
Other languages
English (en)
French (fr)
Inventor
志穂美 佐藤
正徳 高島
鈴木 洋司
Original Assignee
日本電気株式会社
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 日本電気株式会社 filed Critical 日本電気株式会社
Priority to KR1020147013058A priority Critical patent/KR101590740B1/ko
Priority to CA2855762A priority patent/CA2855762A1/en
Priority to IN3581CHN2014 priority patent/IN2014CN03581A/en
Priority to EP12850283.8A priority patent/EP2782298A4/en
Priority to JP2013544329A priority patent/JP5668868B2/ja
Priority to CN201280056245.5A priority patent/CN103947167B/zh
Priority to US14/357,746 priority patent/US9525635B2/en
Priority to BR112014011652A priority patent/BR112014011652A2/pt
Priority to RU2014119522/07A priority patent/RU2586062C2/ru
Publication of WO2013073639A1 publication Critical patent/WO2013073639A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/215Flow control; Congestion control using token-bucket
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2425Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
    • H04L47/2433Allocation of priorities to traffic types
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2408Traffic characterised by specific attributes, e.g. priority or QoS for supporting different services, e.g. a differentiated services [DiffServ] type of service

Definitions

  • the present invention relates to a network communication device, and more particularly to a method for preferentially limiting the bandwidth of a transfer frame in a network communication device.
  • the conventional network device has a problem that it cannot perform flexible control such as load distribution or offset from the outside. For this reason, when the scale of the network becomes large, it becomes difficult to understand and improve the behavior of the system, and there has been a problem that design and configuration changes are accompanied by a great cost.
  • the network device is in charge of the packet transfer function
  • the control device is in charge of the control function that is separated from the network device, so that the control device can centrally manage packet transfer and is highly flexible. It becomes possible to build a network.
  • CD-separated network A CD (C: control plane / D: data plane) separation type network that controls a data plane side node device from a control device on the control plane side is proposed as one of the centralized management type networks with separated functions. .
  • OpenFlow network In the OpenFlow network, a series of communications determined by a combination of a MAC address, an IP address, a port number, and the like is defined as a “flow”, and path control, failure recovery, load distribution, and optimization are performed in units of flows.
  • an OpenFlow controller (OFC: OpenFlow Controller) corresponding to a control device operates an OpenFlow switch by operating a flow table related to path control of an OpenFlow switch (OFS: OpenFlow Switch) corresponding to a node device. Control the behavior of.
  • OFC OpenFlow Controller
  • OFS OpenFlow Switch
  • the controller and the switch are connected by a “secure channel” secure channel (Secure Channel) which is a communication path protected by a dedicated line or SSL (Secure Socket Layer).
  • SSL Secure Socket Layer
  • the controller and the switch transmit / receive an OpenFlow message (OpenFlow Message) that conforms to the OpenFlow protocol (OpenFlow Protocol) via the secure channel.
  • OpenFlow Message OpenFlow Protocol
  • the switches in the OpenFlow network are an edge switch (Edge Switch) and a core switch (Core Switch) that form the OpenFlow network and are under the control of the controller.
  • the edge switch is a switch located at the boundary between the OpenFlow network and another network.
  • the core switch is a switch used for relaying a packet in the OpenFlow network.
  • the controller operates the flow table of the switch on the path to transmit the packet from the input edge switch (Ingress) to the output edge switch (Egress). It is possible to control a series of flow up to (outflow).
  • the packet may be read as a frame.
  • the difference between a packet and a frame is only the difference in the data unit (PDU: Protocol Data Unit) handled by the protocol.
  • the packet is a PDU of “TCP / IP” (Transmission Control Protocol / Internet Protocol).
  • the frame is a PDU of “Ethernet (registered trademark)” (Ethernet).
  • a flow table is a set of determination conditions (rules) for identifying packets handled as a flow, statistical information indicating the number of times a packet matches (matches) a rule, and processing contents (actions) to be performed on the packet. This is a set of flow entries that define.
  • the flow entry rule is defined by various combinations using any or all of information of each protocol layer included in the header area (field) of the packet, and can be distinguished.
  • a transmission destination address (Destination Address), a transmission source address (Source Address), a transmission destination port (Destination Port), a transmission source port (Source Port), and the like can be considered.
  • the above address includes a MAC address (Media Access Control Address) and an IP address (Internet Protocol Address).
  • information on the ingress port (Ingress Port) can also be used as a rule for the flow entry.
  • a part (or all) of a header area value of a packet handled as a flow can be set by a regular expression, a wild card “*”, or the like.
  • the action of the flow entry indicates operations such as “output / forward the packet to a specific port”, “discard / discard (delete) the packet”, and “rewrite the packet header”. For example, if the identification information (output port number, etc.) of the output port is indicated in the action of the flow entry, the switch outputs a packet to the corresponding port, and if the identification information of the output port is not indicated , Discard the packet. Alternatively, if the header information is indicated in the action of the flow entry, the switch rewrites the header of the packet based on the header information.
  • the switch executes the action of the flow entry for the packet group (packet series) that conforms to the rule of the flow entry. Specifically, when receiving a packet, the switch searches the flow table for a flow entry having a rule that matches the header information of the received packet. As a result of the search, when a flow entry having a rule that matches the header information of the received packet is found, the flow entry statistical information is updated, and the operation specified as the action of the flow entry is performed on the received packet. carry out. On the other hand, if a flow entry having a rule that matches the header information of the received packet is not found as a result of the search, the received packet is determined to be the first packet (first packet), and in the OpenFlow network via the control channel. Forwards the received packet (or a copy of it) to the controller, requests the packet route calculation based on the source / destination (destination) of the received packet, etc., and receives the flow entry setting message as a response Update the flow table.
  • a default entry having a rule that conforms to the header information of all packets with low priority is registered. If no other flow entry that matches the received packet is found, the received packet matches this default entry. The action of the default entry is “transmission of inquiry information of the received packet to the controller”.
  • the controller may receive non-control requests from a large number of switches, it may exceed the limit of its processing capacity.
  • each switch When the controller exceeds the processing capacity limit and becomes incapable of processing, each switch loses its control function and the network through each switch is disconnected. There was a need to make a request.
  • Japanese Patent Application Laid-Open No. 2005-244417 discloses a bandwidth control device, a bandwidth control method, and a bandwidth control program.
  • the bandwidth limitation processing unit stores the remaining token amount X remaining in the token bucket.
  • the token amount monitoring unit compares the stored remaining token amount with the maximum burst token amount.
  • the priority control unit allocates the communication line capacity allocated to the bandwidth guarantee type communication to the best effort type communication based on the comparison result.
  • a bucket is a bucket and is an abstracted container that accumulates network traffic to be transferred.
  • An object of the present invention is to provide a network communication device that performs bandwidth limitation in order to prevent congestion of a transfer destination device after solving the above-described problems.
  • the network communication apparatus includes an open flow processing unit 21 that registers, in a flow table, a flow entry in which rules and actions for uniformly controlling a received frame as a flow are defined in accordance with control from a controller. , For a frame addressed to the controller, a shared bucket corresponding to all the frames, a bucket setting unit for providing a priority bucket corresponding to each frame priority, and evaluating whether the received frame is addressed to the controller Then, for the frame addressed to the controller, when the shared bucket evaluation unit 23 that evaluates the shared bucket and the preferential bandwidth limitation of the transfer frame as a result of the evaluation of the shared bucket, it corresponds to the priority of the frame. Priority bucket evaluation that evaluates priority buckets and decides whether to forward or discard ; And a 24.
  • the transfer frame preferential band limiting method is a transfer frame preferential band limiting method implemented by a network communication apparatus, and a rule for uniformly controlling received frames as a flow in accordance with control from a controller.
  • the priority bucket corresponding to the priority of the frame is evaluated and transferred. And determining whether the waste.
  • FIG. 1 It is a figure which shows the structural example of an OpenFlow network system. It is a conceptual diagram for demonstrating the preferential band restriction
  • the switch 20 that first receives a frame from the outside of the OpenFlow network is a main object of the present invention.
  • a switch corresponding to the core switch can also perform the process of transferring a frame to the controller 10 and thus may be the subject of the present invention.
  • Priority bandwidth limitation in the present invention is realized by adopting a token bucket method.
  • Common buckets and a plurality of priority buckets (priority-specific buckets). In these buckets, only token amount and bucket evaluation are performed. These buckets are not used as a matrix for evaluation, a buffer from reception to transmission, or a queue.
  • the switch 20 takes out a frame from the reception buffer and checks whether a token exists in any bucket corresponding to the frame. If a token exists in any bucket, the frame is transferred to the transmission buffer. If there are no tokens in any bucket, discard it. Frames are never buffered in token or bucket evaluation.
  • the switch 20 that has received the frame evaluates whether or not the received frame is addressed to the controller 10, and evaluates the shared bucket for the frame addressed to the controller 10.
  • the switch 20 receives the frame, evaluates the priority bucket corresponding to the priority of the frame, and determines whether to transfer or discard the frame.
  • a computer such as a PC (personal computer), an appliance, a thin client server, a workstation, a mainframe, or a supercomputer is assumed.
  • the controller 10 is not limited to a terminal or a server, but may be a relay device or a peripheral device.
  • the controller 10 may be an expansion board mounted on a computer or the like, or a virtual machine (VM: Virtual Machine) constructed on a physical machine.
  • VM Virtual Machine
  • processors include a CPU (Central Processing Unit), a network processor (NP: Network Processor), a microprocessor (microprocessor), a microcontroller (microcontroller), or a semiconductor integrated circuit (LSI: Large Scale) having a dedicated function. Integration) or the like.
  • CPU Central Processing Unit
  • NP Network Processor
  • microprocessor microprocessor
  • microcontroller microcontroller
  • LSI semiconductor integrated circuit
  • semiconductor storage devices such as RAM (Random Access Memory), ROM (Read Only Memory), EEPROM (Electrically Erasable and Programmable Read Only Memory), and HDD Memory (SDHidK)
  • RAM Random Access Memory
  • ROM Read Only Memory
  • EEPROM Electrically Erasable and Programmable Read Only Memory
  • HDD Memory HDD Memory
  • An auxiliary storage device such as State Drive
  • a removable disk such as a DVD (Digital Versatile Disk)
  • a storage medium such as an SD memory card (Secure Digital memory card), or the like
  • a buffer, a register, or the like may be used.
  • DAS Direct Attached Storage
  • FC-SAN Fibre Channel-Storage Area Network
  • NAS Network Attached Storage
  • IP-SAN IP-Storage Area
  • processor and the memory may be integrated.
  • a single chip such as a microcomputer has been developed. Therefore, a case where a one-chip microcomputer mounted on an electronic device or the like includes the above processor and the above memory can be considered.
  • Examples of the above interfaces include semiconductor integrated circuits such as boards (motherboards and I / O boards) and chips that support network communication, network adapters such as NIC (Network Interface Card), and communication devices such as expansion cards and antennas.
  • NIC Network Interface Card
  • a communication port such as a connection port (connector) is conceivable.
  • networks include the Internet, LAN (Local Area Network), wireless LAN (Wireless LAN), WAN (Wide Area Network), backbone (Backbone), cable TV (CATV) line, fixed telephone network, mobile phone network, WiMAX (IEEE 802.16a), 3G (3rd Generation), dedicated line (lease line), IrDA (Infrared Data Association), Bluetooth (registered trademark), serial communication line, data bus, and the like are conceivable.
  • Switch 20 (20-i, i 1 to n), and switch 20 that has received the frame performs band limit evaluation and priority evaluation of the received frame using two types of token buckets.
  • the switch 20 that has received a frame provides a bucket for each frame priority.
  • the switch 20 that has received the frame replenishes the bucket provided for each priority with an amount of tokens according to the priority.
  • the switch 20 that has received the frame provides one shared bucket before the bucket evaluation.
  • the switch 20 that has received the frame passes all tokens existing in the buckets provided for each priority at that time to a shared bucket at a certain period.
  • the depth (capacity) of the shared bucket is fixed to the burst transfer allowable amount of the device.
  • the switch 20 that has received the frame discards the overflowed token when the token overflows beyond the limit of the depth (capacity) of the shared bucket.
  • the switch 20 that has received a frame evaluates and forwards all the frames equally regardless of the priority of the frame as long as the token in the shared bucket exists.
  • the switch 20 When there is no token in the shared bucket, the switch 20 that has received the frame switches to the priority restriction, which is a later stage, and evaluates the bucket provided for each priority.
  • the switch 20 when the switch 20 that receives a frame switches to priority restriction, the switch 20 confirms the bucket corresponding to the priority determined at the time of flow identification for each frame, Transfer the token if there is a token in the corresponding bucket.
  • the switch 20 that has received the frame performs a frame discarding process when there is no token in the priority bucket.
  • the switch 20 that has received the frame replenishes each priority bucket with a certain amount of tokens according to the priority every certain time even when a large number of high priority frames arrive. Therefore, a fixed amount of tokens is replenished at fixed time intervals in all priority buckets, and frames do not fall into a no-transfer state even in low priority buckets.
  • the switch 20 that has received the frame replenishes all the tokens in each priority bucket to the shared bucket regardless of the priority of the frame after a certain period. For this reason, tokens in the shared bucket exist at regular intervals, and all frames can be evaluated equally and transferred regardless of the priority of the frames.
  • the switch 20 that has received the frame evaluates the frame in the order of arrival, and immediately determines whether to forward or discard the frame depending on whether or not the token is used.
  • the switch 20 that has received the frame does not need to provide a sub queue for each priority level, and can simultaneously limit the bandwidth.
  • Step S102 The switch 20 that has received the frame applies the frame to the search of the flow table. That is, the switch 20 that has received the frame searches the flow table for the frame.
  • Step S103 The switch 20 that has received the frame confirms whether the frame hits the flow entry.
  • Step S104 When the frame hits the flow entry (Yes in step S103), the switch 20 that has received the frame confirms whether the action of the flow entry is forwarding to the controller 10.
  • Step S105 Even if the frame hits the flow entry, the switch 20 that has received the frame processes the frame according to the action when the action of the flow entry is an action other than the transfer to the controller 10 (No in step S104). Therefore, it is not an object of the operation of the present invention. That is, the frame processing in a normal OpenFlow network system is performed.
  • the switch 20 that has received the frame does not hit the flow entry and performs an OpenFlow-specific process that notifies the controller 10 that the frame is an unknown frame (No in step S103). Therefore, the shared bucket and the priority bucket are evaluated.
  • the switch 20 that has received the frame is also an object of the operation of the present invention. Evaluate shared buckets and priority buckets.
  • Step S106 The switch 20 that has received the frame does not hit the flow entry and performs a process unique to OpenFlow that notifies the controller 10 that the frame is an unknown frame (No in step S103), or When a flow entry is hit and the action of the flow entry is transfer to the controller 10 (Yes in step S104), the amount of tokens in the shared bucket is measured, and it is confirmed whether the token exists in the shared bucket.
  • Step S107 When the token is not present in the shared bucket (No in step S106), the switch 20 that has received the frame confirms whether the token is present in the bucket provided for each priority.
  • Step S108 The switch 20 that has received the frame has a token in the shared bucket (Yes in step S106), or has no token in the shared bucket and has a token in the priority bucket of the frame ( In step S107, the frame addressed to the controller 10 is transferred.
  • the switch 20 that has received the frame subtracts the token corresponding to the amount of the transferred frame from the shared bucket.
  • the switch 20 when the switch 20 that has received the frame has a token in the priority bucket of the frame, the switch 20 subtracts the token corresponding to the amount of the transferred frame from the priority bucket. To do.
  • Step S109 The switch 20 that has received the frame discards the frame when there is no token in the shared bucket and no token exists in the priority bucket of the frame (No in step S107).
  • the switch 20 that has received the frame discards the frame when a token is not secured in the evaluation of both the shared bucket and the priority bucket.
  • the switch 20 that has received the frame replenishes the priority bucket with a token weighted according to the priority at regular intervals.
  • the amount of token replenishment differs for each priority bucket.
  • the total amount of tokens replenished in the priority bucket matches the maximum transfer amount that the switch 20 that has received the frame can transfer to the controller 10.
  • the switch 20 that has received the frame replenishes tokens in the shared bucket by unconditionally transferring all tokens in all priority buckets to the shared bucket at regular intervals after replenishing tokens in the priority bucket. To do.
  • the switch 20 that has received the frame does not replenish tokens of the depth (capacity) or more into the shared bucket, and the remainder Discard the token.
  • the switch 20 that has received the frame replenishes a weighted amount of tokens again for a priority bucket that has become empty after a specified time.
  • the switch 20 that has received the frame replenishes the priority buckets with tokens after all the priority buckets are empty.
  • the switch 20 that has received the frame periodically manages and repeats the timing for emptying the priority bucket and the timing for replenishing the specified amount.
  • the shared bucket need not be empty for replenishment of the shared bucket.
  • the maximum amount to be replenished in the priority bucket as the final evaluation is defined as the maximum transfer amount of the device, and from the operation of emptying all priority buckets once before replenishment, at any time The maximum transfer amount is not exceeded. For this reason, it is possible not to perform bandwidth control as QoS, but to protect the processing capability of the transfer destination device and the allowable reception range.
  • tokens in priority buckets are periodically aggregated into shared buckets, and are equal regardless of the frame type as long as they are within the shared bucket range.
  • the conventional token bucket method is not for bandwidth limitation or priority control, but for measuring bandwidth.
  • the token bucket scheme is applied, and the priority band limitation is realized by providing a bucket for each priority. Therefore, in the priority bucket, tokens are replenished in all buckets, so that all priority bandwidths can be guaranteed, and bandwidth can be guaranteed even for low priority frames.
  • the switch 20 includes an open flow processing unit 21, a bucket setting unit 22, a shared bucket evaluation unit 23, and a priority bucket evaluation unit 24.
  • the open flow processing unit 21 registers a flow entry in which a rule and an action for uniformly controlling a received frame as a flow are defined in the flow table according to the control from the controller 10.
  • the bucket setting unit 22 provides a shared bucket corresponding to all frames and a priority bucket corresponding to each frame priority for the frame addressed to the controller 10.
  • the shared bucket evaluation unit 23 evaluates whether or not the received frame is destined for the controller 10, and evaluates the shared bucket for the frame destined for the controller 10.
  • the priority bucket evaluation unit 24 evaluates the priority bucket corresponding to the priority of the frame, and determines whether to transfer or discard, when performing the preferential bandwidth limitation of the transfer frame as a result of the evaluation of the shared bucket.
  • the bucket setting unit 22 includes a priority bucket setting unit 211 and a shared bucket setting unit 222.
  • the priority bucket setting unit 221 provides a bucket for each priority of a received frame.
  • the shared bucket setting unit 222 provides one shared bucket before evaluation of the bucket provided for each priority.
  • the switch 20 further includes a token processing unit 25.
  • the token processing unit 25 includes a token replenishment unit 251, a token transfer unit 252, and a token discard unit 253.
  • the token replenishment unit 251 replenishes the bucket provided for each priority with an amount of tokens according to the priority.
  • the token transfer unit 252 passes all tokens existing in the buckets provided for each priority at that time to the shared bucket at a certain period.
  • Token discard unit 253 discards the overflowed token when the token overflows beyond the capacity limit of the shared bucket.
  • the shared bucket evaluation unit 23 evaluates and forwards all frames equally regardless of the priority of the received frames as long as tokens in the shared bucket exist.
  • the priority bucket evaluation unit 24 switches to priority restriction, evaluates the bucket provided for each priority, and tokens in the bucket corresponding to the priority of the received frame Check if exists. As a result of the confirmation, the priority bucket evaluation unit 24 performs transfer processing of the received frame when a token exists in the bucket corresponding to the priority of the received frame. Further, the priority bucket evaluating unit 24 discards the received frame when there is no token in the bucket corresponding to the priority of the received frame.
  • the OpenFlow processing unit 21 searches the flow table for the arrived frame and checks whether the frame hits the flow entry. When the frame hits the flow entry, the OpenFlow processing unit 21 confirms whether the action of the flow entry is a transfer addressed to the controller 10. When the action of the flow entry is an action other than the transfer addressed to the controller 10, the open flow processing unit 21 processes a frame according to the action.
  • the shared bucket evaluation unit 23 performs processing for notifying the controller 10 that the frame does not hit the flow entry and is an unknown frame, or the frame hits the flow entry and the action of the flow entry Is a transfer addressed to the controller 10, the amount of tokens in the shared bucket is measured, and it is confirmed whether the token exists in the shared bucket.
  • the priority bucket evaluation unit 24 checks whether or not a token exists in a bucket provided for each priority when there is no token in the shared bucket.
  • the OpenFlow processing unit 21 transfers a frame addressed to the controller 10 when a token exists in the shared bucket or when a token does not exist in the shared bucket and a token exists in the priority bucket of the frame. I do.
  • the shared bucket evaluation unit 23 subtracts the token corresponding to the transferred frame amount from the shared bucket.
  • the priority bucket evaluation unit 24 subtracts the token corresponding to the amount of the transferred frame from the priority bucket when the token exists in the priority bucket of the frame.
  • the OpenFlow processing unit 21 discards the frame.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

 ネットワーク通信機器において、各転送フレームに優先性を持たせた転送及び廃棄の処理を実現した上で、転送先装置の輻輳を防止するための帯域制限を行う。具体的には、優先度毎にバケットを設け、優先度に従った量のトークンを補充する。更に、それらのバケット評価の前に、共有バケットを1つ設ける。一定周期毎に、優先度毎に設けたバケット内に存在するトークンを全て共有バケットへ譲与する。共有バケットの深さを超えてあふれたトークンは廃棄する。共有バケットのトークンが存在する限り、フレームの優先度に関わらず全てのフレームを平等に評価し、転送する。共有バケットのトークンがない場合、優先的制限へと切り替え、各優先度バケットを評価する。当該フレームの優先度と対応するバケットを確認し、トークンが存在する場合はフレームの転送処理を行う。トークンがない場合はフレームの廃棄処理を行う。

Description

ネットワーク通信装置、及び転送フレーム優先的帯域制限方法
 本発明は、ネットワーク通信装置に関し、特にネットワーク通信装置において転送フレームを優先的に帯域制限する方法に関する。
 従来のネットワーク機器は、外部から負荷分散や片寄等、柔軟性に富んだ制御ができないという問題があった。このため、ネットワークの規模が大きくなると、システムとしての挙動の把握と改善が困難になり、設計や構成変更には多大なコストを伴うことが問題であった。
 こうした課題を解決するための技術として、ネットワーク機器のパケット転送機能と経路制御機能を分離する手法が考えられている。例えば、パケット転送機能をネットワーク機器が担当し、制御機能をネットワーク機器の外部に分離した制御装置が担当することで、制御装置がパケットの転送を集中して管理することができ、柔軟性に富んだネットワークを構築することが可能になる。
 [CD分離型ネットワークの説明]
 機能を分離した集中管理型のネットワークの1つとして、コントロールプレーン側の制御装置からデータプレーン側のノード装置を制御するCD(C:コントロールプレーン/D:データプレーン)分離型ネットワークが提案されている。
 CD分離型ネットワークの一例として、コントローラからスイッチを制御してネットワークの経路制御を行うオープンフロー(OpenFlow)技術を利用したオープンフローネットワークが挙げられる。オープンフロー技術の詳細については、非特許文献1に記載されている。なお、オープンフローネットワークは一例に過ぎない。
 [オープンフローネットワークの説明]
 オープンフローネットワークでは、MACアドレスやIPアドレス、ポート番号などの組み合わせによって決定される一連の通信を「フロー」として定義し、フロー単位で経路制御、障害回復、負荷分散、最適化を行う。
 オープンフローネットワークでは、制御装置に相当するオープンフローコントローラ(OFC:OpenFlow Controller)が、ノード装置に相当するオープンフロースイッチ(OFS:OpenFlow Switch)の経路制御に関するフローテーブルを操作することにより、オープンフロースイッチの挙動を制御する。
 コントローラとスイッチの間は、専用線やSSL(Secure Socket Layer)等により保護された通信路である「セキュアチャンネル」セキュアチャンネル(Secure Channel)により接続されている。コントローラとスイッチとは、セキュアチャンネルを介して、オープンフロー規約(OpenFlow Protocol)に準拠したオープンフローメッセージ(OpenFlow Message)を送受信する。
 オープンフローネットワークにおけるスイッチとは、オープンフローネットワークを形成し、コントローラの制御下にあるエッジスイッチ(Edge Switch)及びコアスイッチ(Core Switch)のことである。なお、エッジスイッチは、オープンフローネットワークと別のネットワークとの境界に位置するスイッチである。また、コアスイッチは、オープンフローネットワーク内でパケット(packet)の中継に使うスイッチである。オープンフローネットワークにおいて、コントローラは、経路上のスイッチのフローテーブルを操作することにより、入力側エッジスイッチ(Ingress)でのパケットの受信(流入)から出力側エッジスイッチ(Egress)でのパケットの送信(流出)までの一連の流れを制御することができる。
 パケットは、フレーム(frame)と読み替えても良い。パケットとフレームの違いは、プロトコルが扱うデータの単位(PDU:Protocol Data Unit)の違いに過ぎない。パケットは、「TCP/IP」(Transmission Control Protocol/Internet Protocol)のPDUである。一方、フレームは、「イーサネット(登録商標)」(Ethernet)のPDUである。
 フローテーブルとは、フローとして扱うパケットを特定するための判別条件(ルール)と、パケットがルールに適合(マッチ)した回数を示す統計情報と、パケットに対して行うべき処理内容(アクション)の組を定義したフローエントリ(Flow entry)の集合である。
 フローエントリのルールは、パケットのヘッダ領域(フィールド)に含まれる各プロトコル階層の情報のいずれか又は全てを用いた様々な組み合わせにより定義され、区別可能である。各プロトコル階層の情報の例として、送信先アドレス(Destination Address)、送信元アドレス(Source Address)、送信先ポート(Destination Port)、送信元ポート(Source Port)等が考えられる。なお、上記のアドレスには、MACアドレス(Media Access Control Address)やIPアドレス(Internet Protocol Address)を含むものとする。また、上記に加えて、入口ポート(Ingress Port)の情報も、フローエントリのルールとして使用可能である。また、フローエントリのルールとして、フローとして扱うパケットのヘッダ領域の値の一部(又は全部)を、正規表現やワイルドカード「*」等で表現したものを設定することもできる。
 フローエントリのアクションは、「パケットを特定のポートに出力/転送する」、「パケットを破棄/廃棄する(削除する)」、「パケットのヘッダを書き換える」といった動作を示す。例えば、スイッチは、フローエントリのアクションに出力ポートの識別情報(出力ポート番号等)が示されていれば、これに該当するポートにパケットを出力し、出力ポートの識別情報が示されていなければ、パケットを破棄する。或いは、スイッチは、フローエントリのアクションにヘッダ情報が示されていれば、当該ヘッダ情報に基づいてパケットのヘッダを書き換える。
 スイッチは、フローエントリのルールに適合するパケット群(パケット系列)に対して、フローエントリのアクションを実行する。具体的には、スイッチは、パケットを受信すると、フローテーブルから、受信パケットのヘッダ情報に適合するルールを持つフローエントリを検索する。検索の結果、受信パケットのヘッダ情報に適合するルールを持つフローエントリが見つかった場合、当該フローエントリの統計情報を更新すると共に、受信パケットに対して、当該フローエントリのアクションとして指定された動作を実施する。一方、検索の結果、受信パケットのヘッダ情報に適合するルールを持つフローエントリが見つからなかった場合、当該受信パケットを最初のパケット(first packet)と判断し、制御チャネルを介して、オープンフローネットワークにおけるコントローラに対して、受信パケット(又はそのコピー)を転送し、受信パケットの送信元・送信先(宛先)等に基づいたパケットの経路計算を要求し、応答としてフローエントリの設定用メッセージを受信し、フローテーブルを更新する。
 なお、フローテーブルには、低い優先度で、全てのパケットのヘッダ情報に適合するルールを持つデフォルトエントリが登録されている。受信パケットに適合するフローエントリが他に見つからなかった場合、受信パケットは、このデフォルトエントリに適合する。デフォルトエントリのアクションは、「コントローラへの当該受信パケットの問い合わせ情報の送信」である。
 [オープンフローネットワークの課題]
 通常、オープンフローネットワークシステムにおいては、コントローラとスイッチは「1:N(多)」の接続関係にあることが多い。
 したがって、コントローラは、多数のスイッチから非制御要求を受け取ることもあるため、その処理能力の限界を超える可能性がある。
 コントローラが処理能力の限界を超えて処理不能状態になると、各スイッチは制御機能を失い、各スイッチを経由するネットワークが断絶してしまうため、スイッチ側からもコントローラの処理能力の限界を考慮して要求を行う必要があった。
 また、コントローラの処理能力を保護することに加えて、スイッチ自身の処理能力を保護する必要もあった。
 したがって、コントローラの処理能力の保護と、スイッチの処理能力の保護との両面から、コントローラとスイッチ間の帯域制限が必要であった。
 但し、コントローラとスイッチ間の帯域制限については、メッセージの種別によって、オープンフロー機能としての目的や重要度が異なるため、優先的に行う必要がある。
 優先制御においては、低優先のフレームが無転送状態になることも避けなければならないという課題もあった。
 [関連技術]
 関連する技術として、特許文献1(特開2005-244417号公報)に帯域制御装置、帯域制御方法、及び帯域制御プログラムが開示されている。この関連技術では、帯域制限処理部が、トークンバケット(token bucket)に残存する残存トークン量Xを記憶する。トークン量監視部が、記憶された残存トークン量と最大バーストトークン量とを比較する。優先制御部が、その比較結果に基づいて帯域保証型通信に割り当てられた通信回線容量をベストエフォート型通信に割り当てる。
 なお、バケット(bucket)とは、バケツのことであり、転送すべきネットワークトラフィックを集積する抽象化されたコンテナである。
特開2005-244417号公報
"OpenFlow Switch Specification, Version 1.0.0",[online],December 31,2009,インターネット(URL:http://www.openflowswitch.org/documents/openflow-spec-v1.0.0.pdf)
 ネットワーク通信装置において、転送先装置の輻輳を防止するための帯域制限を行う場合、各転送フレームに優先性を持たせた転送及び廃棄の処理を実現することが課題である。
 また、従来の優先制御方式であるPQ(Priority Queuing)のように、高い優先度のフレームを大量に受信した場合、低優先のフレームが全く転送されないという問題を解決する必要がある。
 一応、上記の問題に対応したWFQ(Weighted Fair Queuing)や、CBWFQ(Class-Based Weighted Fair Queuing)等の方式は存在する。しかし、これらの方式は、優先度別に複数設けられたサブキュー(sub queue)に詰まれたフレームを優先的に転送制御する方式であり、サブキューのためのメモリリソースが必要であるため、実装においてリソース配分の問題がある。
 更に、装置が輻輳していない時には、フレームの優先度に関わらず平等に転送を行い、平等なバースト転送も許容すると好適である。
 本発明の目的は、上記の課題を解決した上で、転送先装置の輻輳を防止するために帯域制限を行うネットワーク通信装置を提供することである。
 本発明に係るネットワーク通信装置は、コントローラからの制御に従って、受信したフレームをフローとして一律に制御するためのルールとアクションとが定義されたフローエントリを、フローテーブルに登録するオープンフロー処理部21と、コントローラ宛となるフレームに対して、全てのフレームに対応する共有バケットと、フレームの優先度毎に対応する優先度バケットを設けるバケット設置部と、受信したフレームを、コントローラ宛か否かを評価し、コントローラ宛となったフレームに対して、共有バケットを評価する共有バケット評価部23と、共有バケットの評価の結果、転送フレームの優先的帯域制限を行う場合、当該フレームの優先度と対応する優先度バケットを評価し、転送か廃棄かを決定する優先度バケット評価部24とを具備する。
 本発明に係る転送フレーム優先的帯域制限方法は、ネットワーク通信装置により実施される転送フレーム優先的帯域制限方法であって、コントローラからの制御に従って、受信したフレームをフローとして一律に制御するためのルールとアクションとが定義されたフローエントリを、フローテーブルに登録することと、コントローラ宛となるフレームに対して、全てのフレームに対応する共有バケットと、フレームの優先度毎に対応する優先度バケットを設けることと、受信したフレームを、コントローラ宛か否かを評価し、コントローラ宛となったフレームに対して、共有バケットを評価することと、共有バケットの評価の結果、転送フレームの優先的帯域制限を行う場合、当該フレームの優先度と対応する優先度バケットを評価し、転送か廃棄かを決定することとを含む。
 本発明に係るプログラムは、上記の転送フレーム優先的帯域制限方法における処理を、ネットワーク通信装置に実行させるためのプログラムである。なお、本発明に係るプログラムは、記憶装置や記憶媒体に格納することが可能である。
 高優先のフレームが大量に到着した場合でも、各バケットには時間毎に優先度に従った一定量のトークンが補充されるため、低優先のバケットにおいてフレームが無転送状態に陥ることはない。また、優先度に関わらず、各バケットの余っていたトークンは一定周期後に全て共有バケットに補充されるため、共有バケットにて転送フレームの平等転送ができる。フレームは到着順に評価され、トークンの使用有無により即時に転送か廃棄か、という判断がされる。優先度別のサブキューを設ける必要がなく、同時に帯域制限が可能である。
オープンフローネットワークシステムの構成例を示す図である。 本発明における優先的帯域制限について説明するための概念図である。 共有バケットにトークンが存在する事例について説明するための図である。 優先度バケットにトークンが存在する事例について説明するための図である。 いずれのバケットにもトークンが存在しない事例について説明するための図である。 本発明に係るスイッチ(ネットワーク通信装置)の動作を示すフローチャートである。 共有バケットにトークンが存在する場合のフレーム処理について説明するための図である。 優先度バケットにトークンが存在する場合のフレーム処理について説明するための図である。 いずれのバケットにもトークンが存在しない場合のフレーム処理について説明するための図である。 本発明に係るスイッチ(ネットワーク通信装置)の基本的な構成例を示す図である。 本発明に係るスイッチ(ネットワーク通信装置)の詳細な構成例を示す図である。
 本発明は、CD分離型ネットワークシステムを対象としている。ここでは、CD分離型ネットワークシステムの1つであるオープンフローネットワークシステムを例に説明する。但し、実際には、オープンフローネットワークシステムに限定されない。
 <実施形態>
 以下に、本発明の実施形態について添付図面を参照して説明する。
 [システム構成]
 図1に示すように、オープンフローネットワークシステムは、コントローラ10と、スイッチ20(20-i、i=1~n:nは任意)を含む。
 コントローラ10は、サーバ装置であり、スイッチ20(20-i、i=1~n)の各々に対して、受信フレームの優先度付けを行う。ここでは、コントローラ10は、受信フレームの振る舞いが既定されたフローエントリに、優先度情報を付加し、スイッチ20(20-i、i=1~n)の各々に設定する。
 スイッチ20(20-i、i=1~n)の各々は、ネットワーク通信装置であり、コントローラ10宛として流入するフレームに対して、優先的帯域制限を行う。スイッチ20(20-i、i=1~n)の各々は、コントローラ10宛として流入したフレームを、規定された複数の優先度で分ける。
 ここでは、スイッチ20(20-i、i=1~n)の各々は、フレーム受信時に、フローエントリが登録されているフローテーブルにおいてフレームを評価する。スイッチ20(20-i、i=1~n)の各々は、優先度が設定されている場合、その優先度に従って、受信フレームの転送制限を行う。
 なお、スイッチ20(20-i、i=1~n)のうち、コントローラ10にフレームを転送する処理を行うのは、入力側エッジスイッチに相当するスイッチのみでも良い。すなわち、オープンフローネットワークの外部から最初にフレームを受信したスイッチ20が、本発明の主な対象となる。無論、コアスイッチに相当するスイッチも、コントローラ10にフレームを転送する処理を行うことは可能であるため、本発明の対象としても良い。
 本発明における優先的帯域制限は、トークンバケット(token bucket)方式を採用し実現するものである。
 本実施形態においては、スイッチ20(20-i、i=1~n)の1つであり、フレームを受信したスイッチ20は、コントローラ10宛となるフレームに対して、1つの共有バケット(優先度に依存しない共通のバケット)と、複数の優先度バケット(優先度別のバケット)を設ける。これらのバケットでは、トークン量とバケットの評価のみ行うものとする。これらのバケットを、評価のための行列や受信から送信までのバッファ(buffer)やキュー(queue)として使用することはない。本実施形態においては、スイッチ20は、受信バッファからフレームを取り出し、当該フレームに対応するいずれかのバケットにトークンが存在するか確認する。いずれかのバケットにトークンが存在する場合、送信バッファにフレームを転送する。いずれのバケットにもトークンが存在しない場合、廃棄処分にする。トークンやバケットの評価において、フレームがバッファリングされることはない。
 まず、フレームを受信したスイッチ20は、受信したフレームを、コントローラ10宛か否かを評価し、コントローラ10宛となったフレームに対して、共有バケットを評価する。
 フレームを受信したスイッチ20は、共有バケットに十分なトークンがない場合、そのフレームの優先度と対応する優先度バケットを評価し、転送か廃棄かを決定する。
 [ハードウェアの例示]
 以下に、本発明に係るコントローラ10、及びスイッチ20(20-i、i=1~n)の各々を実現するための具体的なハードウェアの例について説明する。
 コントローラ10の例として、PC(パソコン)、アプライアンス(appliance)、シンクライアントサーバ、ワークステーション、メインフレーム、スーパーコンピュータ等の計算機を想定している。なお、コントローラ10は、端末やサーバに限らず、中継機器や周辺機器でも良い。また、コントローラ10は、計算機等に搭載される拡張ボードや、物理マシン上に構築された仮想マシン(VM:Virtual Machine)でも良い。
 スイッチ20(20-i、i=1~n)の各々の例として、ネットワークスイッチ(network switch)、ルータ(router)、プロキシ(proxy)、ゲートウェイ(gateway)、ファイアウォール(firewall)、ロードバランサ(load balancer:負荷分散装置)、帯域制御装置(packet shaper)、セキュリティ監視制御装置(SCADA:Supervisory Control And Data Acquisition)、ゲートキーパー(gatekeeper)、基地局(base station)、アクセスポイント(AP:Access Point)、通信衛星(CS:Communication Satellite)、或いは、複数の通信ポートを有する計算機等が考えられる。また、物理マシン上に構築された仮想マシン(VM)により実現される仮想スイッチでも良い。
 上記のようなコントローラ10、及びスイッチ20(20-i、i=1~n)の各々は、プログラムに基づいて駆動し所定の処理を実行するプロセッサと、当該プログラムや各種データを記憶するメモリと、ネットワークとの通信に用いられるインターフェースによって実現される。
 上記のプロセッサの例として、CPU(Central Processing Unit)、ネットワークプロセッサ(NP:Network Processor)、マイクロプロセッサ(microprocessor)、マイクロコントローラ(microcontroller)、或いは、専用の機能を有する半導体集積回路(LSI:Large Scale Integration)等が考えられる。
 上記のメモリの例として、RAM(Random Access Memory)、ROM(Read Only Memory)、EEPROM(Electrically Erasable and Programmable Read Only Memory)やフラッシュメモリ等の半導体記憶装置、HDD(Hard Disk Drive)やSSD(Solid State Drive)等の補助記憶装置、又は、DVD(Digital Versatile Disk)等のリムーバブルディスクや、SDメモリカード(Secure Digital memory card)等の記憶媒体(メディア)等が考えられる。また、バッファ(buffer)やレジスタ(register)等でも良い。或いは、DAS(Direct Attached Storage)、FC-SAN(Fibre Channel - Storage Area Network)、NAS(Network Attached Storage)、IP-SAN(IP - Storage Area Network)等を用いたストレージ装置でも良い。
 なお、上記のプロセッサ及び上記のメモリは、一体化していても良い。例えば、近年では、マイコン等の1チップ化が進んでいる。したがって、電子機器等に搭載される1チップマイコンが、上記のプロセッサ及び上記のメモリを備えている事例も考えられる。
 上記のインターフェースの例として、ネットワーク通信に対応した基板(マザーボード、I/Oボード)やチップ等の半導体集積回路、NIC(Network Interface Card)等のネットワークアダプタや同様の拡張カード、アンテナ等の通信装置、接続口(コネクタ)等の通信ポート等が考えられる。
 また、ネットワークの例として、インターネット、LAN(Local Area Network)、無線LAN(Wireless LAN)、WAN(Wide Area Network)、バックボーン(Backbone)、ケーブルテレビ(CATV)回線、固定電話網、携帯電話網、WiMAX(IEEE 802.16a)、3G(3rd Generation)、専用線(lease line)、IrDA(Infrared Data Association)、Bluetooth(登録商標)、シリアル通信回線、データバス等が考えられる。
 なお、コントローラ10、及びスイッチ20(20-i、i=1~n)の各々の内部の構成要素は、モジュール(module)、コンポーネント(component)、或いは専用デバイス、又はこれらの起動(呼出)プログラムでも良い。
 但し、実際には、これらの例に限定されない。
 [優先的帯域制限]
 以下に、本発明における優先的帯域制限について詳細に説明する。
 スイッチ20(20-i、i=1~n)の1つであり、フレームを受信したスイッチ20は、2種類のトークンバケットを用いて受信フレームの帯域制限評価及び優先度評価を行う。
 まず、フレームを受信したスイッチ20は、フレームの優先度毎に、バケットを設ける。
 フレームを受信したスイッチ20は、優先度毎に設けたバケットに、優先度に従った量のトークンを補充する。
 更に、フレームを受信したスイッチ20は、それらのバケット評価の前に、共有バケットを1つ設ける。
 図2に示すように、フレームを受信したスイッチ20は、ある一定周期毎に、その時点で優先度毎に設けたバケット内に存在するトークンを全て共有バケットへ渡す。
 但し、共有バケットの深さ(容量)は、装置のバースト転送許容量に固定されている。フレームを受信したスイッチ20は、共有バケットの深さ(容量)の限度を超えてトークンがあふれた場合、あふれたトークンを廃棄する。
 図3に示すように、フレームを受信したスイッチ20は、共有バケット内のトークンが存在する限り、フレームの優先度に関わらず、全てのフレームを平等に評価し、転送する。
 フレームを受信したスイッチ20は、共有バケット内のトークンがない場合には、後段階である優先的制限へと切り替え、優先度毎に設けたバケットの評価を行う。
 図4に示すように、フレームを受信したスイッチ20は、優先的制限へと切り替えた際、それぞれのフレームについて、フロー識別時に決定された優先度と対応するバケットを確認して、当該優先度と対応するバケット内にトークンが存在する場合に転送処理する。
 図5に示すように、フレームを受信したスイッチ20は、優先度バケット内にもトークンがない場合は、フレームの廃棄処理を行う。
 なお、フレームを受信したスイッチ20は、高優先のフレームが大量に到着した場合でも、各優先度バケットに対して、一定時間毎に優先度に従った一定量のトークンを補充する。そのため、全ての優先度バケットにおいて、一定時間毎に一定量のトークンが補充されることになり、低優先のバケットにおいてもフレームが無転送状態に陥ることはない。
 また、フレームを受信したスイッチ20は、一定周期後に、フレームの優先度に関わらず、各優先度バケット内のトークンを全て共有バケットに補充する。そのため、一定周期毎に、共有バケット内のトークンが存在することになり、フレームの優先度に関わらず、全てのフレームを平等に評価し、転送することができる。
 フレームを受信したスイッチ20は、フレームを到着順に評価し、トークンの使用有無により、即時に、転送か廃棄かを判断する。
 フレームを受信したスイッチ20は、優先度別のサブキュー(sub queue)を設ける必要がなく、同時に帯域制限が可能である。
 [スイッチ動作]
 図6を参照して、本発明におけるスイッチの動作について説明する。
 (1)ステップS101
 スイッチ20(20-i、i=1~n)のうち、いずれかのスイッチは、到着したフレームを受信する。
 (2)ステップS102
 フレームを受信したスイッチ20は、当該フレームを、フローテーブルの検索に掛ける。すなわち、フレームを受信したスイッチ20は、当該フレームについて、フローテーブルの検索を行う。
 (3)ステップS103
 フレームを受信したスイッチ20は、当該フレームがフローエントリにヒットしたか確認する。
 (4)ステップS104
 フレームを受信したスイッチ20は、当該フレームがフローエントリにヒットした場合(ステップS103でYes)、そのフローエントリのアクションがコントローラ10宛の転送であるか確認する。
 (5)ステップS105
 フレームを受信したスイッチ20は、当該フレームがフローエントリにヒットしたとしても、そのフローエントリのアクションがコントローラ10宛の転送以外のアクションである場合(ステップS104でNo)、アクションに従ったフレームの処理を行うため、本発明の動作の対象にはならない。すなわち、通常のオープンフローネットワークシステムにおけるフレームの処理を行う。
 また、フレームを受信したスイッチ20は、当該フレームがフローエントリにヒットせず、未知のフレームであることをコントローラ10に通知するオープンフロー独自の処理を行う場合(ステップS103でNo)、コントローラ10宛のフレーム処理のため、本発明の動作の対象となり、共有バケットと優先度バケットの評価を行う。
 また、フレームを受信したスイッチ20は、当該フレームがフローエントリにヒットし、そのフローエントリのアクションがコントローラ10宛の転送の場合(ステップS104でYes)も同様に、本発明の動作の対象となり、共有バケットと優先度バケットの評価を行う。
 (6)ステップS106
 フレームを受信したスイッチ20は、当該フレームがフローエントリにヒットせず、未知のフレームであることをコントローラ10に通知するオープンフロー独自の処理を行う場合(ステップS103でNo)、或いは、当該フレームがフローエントリにヒットし、そのフローエントリのアクションがコントローラ10宛の転送の場合(ステップS104でYes)、共有バケット内のトークンの量を計り、共有バケット内にトークンが存在するか確認する。
 (7)ステップS107
 フレームを受信したスイッチ20は、共有バケット内にトークンが存在しない場合(ステップS106でNo)、優先度毎に設けられたバケット内にトークンが存在するか確認する。
 (8)ステップS108
 フレームを受信したスイッチ20は、共有バケット内にトークンが存在する場合(ステップS106でYes)、或いは、共有バケット内にトークンが存在せず、当該フレームの優先度バケット内にトークンが存在する場合(ステップS107でYes)、コントローラ10宛のフレームの転送を行う。
 このとき、図7に示すように、フレームを受信したスイッチ20は、共有バケット内にトークンが存在する場合、転送されたフレームの量に対応するトークンを、共有バケットから減算処理する。
 また、図8に示すように、フレームを受信したスイッチ20は、当該フレームの優先度バケット内にトークンが存在する場合、転送されたフレームの量に対応するトークンを、当該優先度バケットから減算処理する。
 (9)ステップS109
 フレームを受信したスイッチ20は、共有バケット内にトークンが存在せず、当該フレームの優先度バケット内にもトークンが存在しない場合(ステップS107でNo)、当該フレームを廃棄処理する。
 すなわち、図9に示すように、フレームを受信したスイッチ20は、共有バケット及び優先度バケットの両方の評価で、トークンが確保されていなかった場合、当該フレームを廃棄処理する。
 フレームを受信したスイッチ20は、優先度バケットに、一定時間毎に、優先度に従って重み付けされた量のトークンを補充する。
 すなわち、トークンの補充量は、優先度バケット毎に異なる。
 このとき、優先度バケットに補充されたトークンの総量は、フレームを受信したスイッチ20がコントローラ10に転送できる最大転送量と一致している。
 フレームを受信したスイッチ20は、優先度バケットへのトークンの補充後、一定時間毎に、全ての優先度バケット内のトークンを全て無条件で共有バケットに譲与することで、共有バケットにトークンを補充する。
 但し、共有バケットの深さ(容量)は最大バースト転送量と一致しているため、フレームを受信したスイッチ20は、深さ(容量)以上のトークンを共有バケットに補充することはなく、余ったトークンについては廃棄する。
 フレームを受信したスイッチ20は、空となった優先度バケットに対しては、規定時間後に、再度重み付けされた量のトークンを補充する。
 すなわち、フレームを受信したスイッチ20は、全ての優先度バケットが空になってから、優先度バケットへのトークンの補充を行う。フレームを受信したスイッチ20は、優先度バケットを空にするタイミングと規定量補充するタイミングを周期的に管理し、繰り返す。
 但し、図2に示すように、共有バケットの補充については、共有バケットが空である必要はない。
 [効果の説明]
 本発明では、最終評価となる優先度バケットに補充される最大量が、装置最大転送量として規定されており、補充前に一度全ての優先度バケットを空にするという動作から、どの時点においても、最大転送量を超えることがない。そのため、QoSとしての帯域制御ではなく、転送先装置の処理能力や受信許容範囲を超えないように保護することができる。
 また、優先制御の点でいえば、WFQに似た効果が期待されるが、周期的に優先度バケットのトークンが共有バケットに集約され、共有バケットの範囲内であればフレーム種別に関わらず平等にバースト転送を許容できるというトークンバケット方式の性質的効果も同時に実現可能である。
 なお、従来のトークンバケット方式は、帯域制限や優先制御のためのものではなく、帯域量を測定するものである。
 一方、本発明では、トークンバケット方式を応用し、優先度毎にバケットを設けることによって優先的帯域制限を実現している。そのため、優先度バケットでは全てのバケットにトークンの補充がなされるので、全ての優先度の帯域保証が可能であり、低優先度のフレームに関しても帯域を保証することができる。
 更に、本発明では、フレームの優先度クラス分別において、従来の優先制御方式のように、優先度別にフレームを格納するためのバッファを設ける必要がないため、メモリリソースが節約でき、実装が容易である。
 <付記>
 本発明に係るスイッチ20(20-i、i=1~n)の各々は、以下の付記のように記載することも可能である。但し、実際には、以下の記載例に限定されない。ここでは、記載の簡略化のため、スイッチ20(20-i、i=1~n)の各々を、「スイッチ20」と表記する。
 [付記1]
 図10を参照して、本発明に係るスイッチ20の基本的な構成例について説明する。
 本発明に係るスイッチ20は、オープンフロー処理部21と、バケット設定部22と、共有バケット評価部23と、優先度バケット評価部24を備える。
 オープンフロー処理部21は、コントローラ10からの制御に従って、受信したフレームをフローとして一律に制御するためのルールとアクションとが定義されたフローエントリを、フローテーブルに登録する。
 バケット設定部22は、コントローラ10宛となるフレームに対して、全てのフレームに対応する共有バケットと、フレームの優先度毎に対応する優先度バケットを設ける。
 共有バケット評価部23は、受信したフレームを、コントローラ10宛か否かを評価し、コントローラ10宛となったフレームに対して、共有バケットを評価する。
 優先度バケット評価部24は、共有バケットの評価の結果、転送フレームの優先的帯域制限を行う場合、当該フレームの優先度と対応する優先度バケットを評価し、転送か廃棄かを決定する。
 [付記2]
 図11を参照して、本発明に係るスイッチ20の詳細な構成例について説明する。
 なお、図10と共通する内容については、説明を省略する。
 バケット設定部22は、優先度バケット設定部211と、共有バケット設定部222を備える。
 優先度バケット設定部221は、受信するフレームの優先度毎に、バケットを設ける。
 共有バケット設定部222は、優先度毎に設けたバケットの評価の前に、共有バケットを1つ設ける。
 本発明に係るスイッチ20は、更に、トークン処理部25を備える。
 トークン処理部25は、トークン補充部251と、トークン移転部252と、トークン廃棄部253を備える。
 トークン補充部251は、優先度毎に設けたバケットに、優先度に従った量のトークンを補充する。
 トークン移転部252は、一定周期毎に、その時点で優先度毎に設けたバケット内に存在するトークンを全て共有バケットへ渡す。
 トークン廃棄部253は、共有バケットの容量の限度を超えてトークンがあふれた場合、あふれたトークンを廃棄する。
 共有バケット評価部23は、共有バケット内のトークンが存在する限り、受信したフレームの優先度に関わらず、全てのフレームを平等に評価し、転送する。
 優先度バケット評価部24は、共有バケット内のトークンが存在しない場合、優先的制限へと切り替え、優先度毎に設けたバケットの評価を行い、受信したフレームの優先度と対応するバケット内にトークンが存在するか確認する。優先度バケット評価部24は、確認した結果、受信したフレームの優先度と対応するバケット内にトークンが存在する場合、受信したフレームの転送処理を行う。また、優先度バケット評価部24は、受信したフレームの優先度と対応するバケット内にトークンが存在しない場合は、受信したフレームの廃棄処理を行う。
 [付記3]
 図10及び図11を参照して、上記の構成について更に詳細に説明する。
 オープンフロー処理部21は、到着したフレームをフローテーブルの検索に掛け、当該フレームがフローエントリにヒットしたか確認する。オープンフロー処理部21は、当該フレームがフローエントリにヒットした場合、当該フローエントリのアクションがコントローラ10宛の転送であるか確認する。オープンフロー処理部21は、当該フローエントリのアクションがコントローラ10宛の転送以外のアクションである場合、当該アクションに従ったフレームの処理を行う。
 共有バケット評価部23は、当該フレームがフローエントリにヒットせず、未知のフレームであることをコントローラ10に通知する処理を行う場合、或いは、当該フレームがフローエントリにヒットし、当該フローエントリのアクションがコントローラ10宛の転送の場合、共有バケット内のトークンの量を計り、共有バケット内にトークンが存在するか確認する。
 優先度バケット評価部24は、共有バケット内にトークンが存在しない場合、優先度毎に設けられたバケット内にトークンが存在するか確認する。
 オープンフロー処理部21は、共有バケット内にトークンが存在する場合、或いは、共有バケット内にトークンが存在せず、当該フレームの優先度バケット内にトークンが存在する場合、コントローラ10宛のフレームの転送を行う。
 共有バケット評価部23は、共有バケット内にトークンが存在する場合、転送されたフレームの量に対応するトークンを、共有バケットから減算処理する。
 優先度バケット評価部24は、当該フレームの優先度バケット内にトークンが存在する場合、転送されたフレームの量に対応するトークンを、当該優先度バケットから減算処理する。
 オープンフロー処理部21は、共有バケット内にトークンが存在せず、当該フレームの優先度バケット内にもトークンが存在しない場合、当該フレームを廃棄処理する。
 [付記4]
 なお、上記の構成は、プログラムに基づいて駆動し所定の処理を実行するプロセッサと、当該プログラムや各種データを記憶するメモリと、ネットワークとの通信に用いられるインターフェースによって実現される。
 <備考>
 以上、本発明の実施形態を詳述してきたが、実際には、上記の実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の変更があっても本発明に含まれる。
 なお、本出願は、日本出願番号特願2011-250191に基づく優先権を主張するものであり、日本出願番号特願2011-250191における開示内容は引用により本出願に組み込まれる。

Claims (9)

  1.  コントローラからの制御に従って、受信したフレームをフローとして一律に制御するためのルールとアクションとが定義されたフローエントリを、フローテーブルに登録する手段と、
     前記コントローラ宛となるフレームに対して、全てのフレームに対応する共有バケットと、フレームの優先度毎に対応する優先度バケットを設ける手段と、
     受信したフレームを、前記コントローラ宛か否かを評価し、前記コントローラ宛となったフレームに対して、前記共有バケットを評価する手段と、
     前記共有バケットの評価の結果、転送フレームの優先的帯域制限を行う場合、当該フレームの優先度と対応する優先度バケットを評価し、転送か廃棄かを決定する手段と
    を具備する
     ネットワーク通信装置。
  2.  請求項1に記載のネットワーク通信装置であって、
     受信するフレームの優先度毎に、バケットを設ける手段と、
     前記優先度毎に設けたバケットに、優先度に従った量のトークンを補充する手段と、
     前記優先度毎に設けたバケットの評価の前に、前記共有バケットを1つ設ける手段と、
     一定周期毎に、その時点で前記優先度毎に設けたバケット内に存在するトークンを全て前記共有バケットへ渡す手段と、
     前記共有バケットの容量の限度を超えてトークンがあふれた場合、あふれたトークンを廃棄する手段と、
     前記共有バケット内のトークンが存在する限り、受信したフレームの優先度に関わらず、全てのフレームを平等に評価し、転送する手段と、
     前記共有バケット内のトークンが存在しない場合、優先的制限へと切り替え、前記優先度毎に設けたバケットの評価を行い、受信したフレームの優先度と対応するバケット内にトークンが存在するか確認する手段と、
     受信したフレームの優先度と対応するバケット内にトークンが存在する場合、受信したフレームの転送処理を行う手段と、
     受信したフレームの優先度と対応するバケット内にトークンが存在しない場合は、受信したフレームの廃棄処理を行う手段と
    を更に具備する
     ネットワーク通信装置。
  3.  請求項1又は2に記載のネットワーク通信装置であって、
     到着したフレームを、フローテーブルの検索に掛ける手段と、
     当該フレームがフローエントリにヒットしたか確認する手段と、
     当該フレームがフローエントリにヒットした場合、当該フローエントリのアクションが前記コントローラ宛の転送であるか確認する手段と、
     当該フローエントリのアクションが前記コントローラ宛の転送以外のアクションである場合、当該アクションに従ったフレームの処理を行う手段と、
     当該フレームがフローエントリにヒットせず、未知のフレームであることを前記コントローラに通知する処理を行う場合、或いは、当該フレームがフローエントリにヒットし、当該フローエントリのアクションが前記コントローラ宛の転送の場合、前記共有バケット内のトークンの量を計り、前記共有バケット内にトークンが存在するか確認する手段と、
     前記共有バケット内にトークンが存在しない場合、前記優先度毎に設けられたバケット内にトークンが存在するか確認する手段と、
     前記共有バケット内にトークンが存在する場合、或いは、前記共有バケット内にトークンが存在せず、当該フレームの優先度バケット内にトークンが存在する場合、前記コントローラ宛のフレームの転送を行う手段と、
     前記共有バケット内にトークンが存在する場合、転送されたフレームの量に対応するトークンを、前記共有バケットから減算処理する手段と、
     当該フレームの優先度バケット内にトークンが存在する場合、転送されたフレームの量に対応するトークンを、当該優先度バケットから減算処理する手段と、
     前記共有バケット内にトークンが存在せず、当該フレームの優先度バケット内にもトークンが存在しない場合、当該フレームを廃棄処理する手段と
    を更に具備する
     ネットワーク通信装置。
  4.  ネットワーク通信装置により実施される転送フレーム優先的帯域制限方法であって、
     コントローラからの制御に従って、受信したフレームをフローとして一律に制御するためのルールとアクションとが定義されたフローエントリを、フローテーブルに登録することと、
     前記コントローラ宛となるフレームに対して、全てのフレームに対応する共有バケットと、フレームの優先度毎に対応する優先度バケットを設けることと、
     受信したフレームを、前記コントローラ宛か否かを評価し、前記コントローラ宛となったフレームに対して、前記共有バケットを評価することと、
     前記共有バケットの評価の結果、転送フレームの優先的帯域制限を行う場合、当該フレームの優先度と対応する優先度バケットを評価し、転送か廃棄かを決定することと
    を含む
     転送フレーム優先的帯域制限方法。
  5.  請求項4に記載の転送フレーム優先的帯域制限方法であって、
     受信するフレームの優先度毎に、バケットを設けることと、
     前記優先度毎に設けたバケットに、優先度に従った量のトークンを補充することと、
     前記優先度毎に設けたバケットの評価の前に、前記共有バケットを1つ設けることと、
     一定周期毎に、その時点で前記優先度毎に設けたバケット内に存在するトークンを全て前記共有バケットへ渡すことと、
     前記共有バケットの容量の限度を超えてトークンがあふれた場合、あふれたトークンを廃棄することと、
     前記共有バケット内のトークンが存在する限り、受信したフレームの優先度に関わらず、全てのフレームを平等に評価し、転送することと、
     前記共有バケット内のトークンが存在しない場合、優先的制限へと切り替え、前記優先度毎に設けたバケットの評価を行い、受信したフレームの優先度と対応するバケット内にトークンが存在するか確認することと、
     受信したフレームの優先度と対応するバケット内にトークンが存在する場合、受信したフレームの転送処理を行うことと、
     受信したフレームの優先度と対応するバケット内にトークンが存在しない場合は、受信したフレームの廃棄処理を行うことと
    を更に含む
     転送フレーム優先的帯域制限方法。
  6.  請求項4又は5に記載の転送フレーム優先的帯域制限方法であって、
     到着したフレームを、フローテーブルの検索に掛けることと、
     当該フレームがフローエントリにヒットしたか確認することと、
     当該フレームがフローエントリにヒットした場合、当該フローエントリのアクションが前記コントローラ宛の転送であるか確認することと、
     当該フローエントリのアクションが前記コントローラ宛の転送以外のアクションである場合、当該アクションに従ったフレームの処理を行うことと、
     当該フレームがフローエントリにヒットせず、未知のフレームであることを前記コントローラに通知する処理を行う場合、或いは、当該フレームがフローエントリにヒットし、当該フローエントリのアクションが前記コントローラ宛の転送の場合、前記共有バケット内のトークンの量を計り、前記共有バケット内にトークンが存在するか確認することと、
     前記共有バケット内にトークンが存在しない場合、前記優先度毎に設けられたバケット内にトークンが存在するか確認することと、
     前記共有バケット内にトークンが存在する場合、或いは、前記共有バケット内にトークンが存在せず、当該フレームの優先度バケット内にトークンが存在する場合、前記コントローラ宛のフレームの転送を行うことと、
     前記共有バケット内にトークンが存在する場合、転送されたフレームの量に対応するトークンを、前記共有バケットから減算処理することと、
     当該フレームの優先度バケット内にトークンが存在する場合、転送されたフレームの量に対応するトークンを、当該優先度バケットから減算処理することと、
     前記共有バケット内にトークンが存在せず、当該フレームの優先度バケット内にもトークンが存在しない場合、当該フレームを廃棄処理することと
    を更に含む
     転送フレーム優先的帯域制限方法。
  7.  コントローラからの制御に従って、受信したフレームをフローとして一律に制御するためのルールとアクションとが定義されたフローエントリを、フローテーブルに登録するステップと、
     前記コントローラ宛となるフレームに対して、全てのフレームに対応する共有バケットと、フレームの優先度毎に対応する優先度バケットを設けるステップと、
     受信したフレームを、前記コントローラ宛か否かを評価し、前記コントローラ宛となったフレームに対して、前記共有バケットを評価するステップと、
     前記共有バケットの評価の結果、転送フレームの優先的帯域制限を行う場合、当該フレームの優先度と対応する優先度バケットを評価し、転送か廃棄かを決定するステップと
    をネットワーク通信装置に実行させるためのプログラムを格納した
     記憶媒体。
  8.  請求項7に記載の記憶媒体であって、
     受信するフレームの優先度毎に、バケットを設けるステップと、
     前記優先度毎に設けたバケットに、優先度に従った量のトークンを補充するステップと、
     前記優先度毎に設けたバケットの評価の前に、前記共有バケットを1つ設けるステップと、
     一定周期毎に、その時点で前記優先度毎に設けたバケット内に存在するトークンを全て前記共有バケットへ渡すステップと、
     前記共有バケットの容量の限度を超えてトークンがあふれた場合、あふれたトークンを廃棄するステップと、
     前記共有バケット内のトークンが存在する限り、受信したフレームの優先度に関わらず、全てのフレームを平等に評価し、転送するステップと、
     前記共有バケット内のトークンが存在しない場合、優先的制限へと切り替え、前記優先度毎に設けたバケットの評価を行い、受信したフレームの優先度と対応するバケット内にトークンが存在するか確認するステップと、
     受信したフレームの優先度と対応するバケット内にトークンが存在する場合、受信したフレームの転送処理を行うステップと、
     受信したフレームの優先度と対応するバケット内にトークンが存在しない場合は、受信したフレームの廃棄処理を行うステップと
    を更にネットワーク通信装置に実行させるためのプログラムを格納した
     記憶媒体。
  9.  請求項7又は8に記載の記憶媒体であって、
     到着したフレームを、フローテーブルの検索に掛けるステップと、
     当該フレームがフローエントリにヒットしたか確認するステップと、
     当該フレームがフローエントリにヒットした場合、当該フローエントリのアクションが前記コントローラ宛の転送であるか確認するステップと、
     当該フローエントリのアクションが前記コントローラ宛の転送以外のアクションである場合、当該アクションに従ったフレームの処理を行うステップと、
     当該フレームがフローエントリにヒットせず、未知のフレームであることを前記コントローラに通知する処理を行う場合、或いは、当該フレームがフローエントリにヒットし、当該フローエントリのアクションが前記コントローラ宛の転送の場合、前記共有バケット内のトークンの量を計り、前記共有バケット内にトークンが存在するか確認するステップと、
     前記共有バケット内にトークンが存在しない場合、前記優先度毎に設けられたバケット内にトークンが存在するか確認するステップと、
     前記共有バケット内にトークンが存在する場合、或いは、前記共有バケット内にトークンが存在せず、当該フレームの優先度バケット内にトークンが存在する場合、前記コントローラ宛のフレームの転送を行うステップと、
     前記共有バケット内にトークンが存在する場合、転送されたフレームの量に対応するトークンを、前記共有バケットから減算処理するステップと、
     当該フレームの優先度バケット内にトークンが存在する場合、転送されたフレームの量に対応するトークンを、当該優先度バケットから減算処理するステップと、
     前記共有バケット内にトークンが存在せず、当該フレームの優先度バケット内にもトークンが存在しない場合、当該フレームを廃棄処理するステップと
    を更にネットワーク通信装置に実行させるためのプログラムを格納した
     記憶媒体。
PCT/JP2012/079705 2011-11-15 2012-11-15 ネットワーク通信装置、及び転送フレーム優先的帯域制限方法 WO2013073639A1 (ja)

Priority Applications (9)

Application Number Priority Date Filing Date Title
KR1020147013058A KR101590740B1 (ko) 2011-11-15 2012-11-15 네트워크 통신 장치 및 전송 프레임의 우선적 대역 제한 방법
CA2855762A CA2855762A1 (en) 2011-11-15 2012-11-15 Network communication apparatus and method of preferential band limitation of transfer frame
IN3581CHN2014 IN2014CN03581A (ja) 2011-11-15 2012-11-15
EP12850283.8A EP2782298A4 (en) 2011-11-15 2012-11-15 NETWORK COMMUNICATION DEVICE AND METHOD FOR RESTRICTING A TRANSMISSION FRAME PRIORITY BAND
JP2013544329A JP5668868B2 (ja) 2011-11-15 2012-11-15 ネットワーク通信装置、及び転送フレーム優先的帯域制限方法
CN201280056245.5A CN103947167B (zh) 2011-11-15 2012-11-15 网络通信装置和传输帧的优先频带限制的方法
US14/357,746 US9525635B2 (en) 2011-11-15 2012-11-15 Network communication apparatus and method of preferential band limitation of transfer frame
BR112014011652A BR112014011652A2 (pt) 2011-11-15 2012-11-15 aparelho de comunicação de rede e método de limitação de banda preferencial do quadro de transferência
RU2014119522/07A RU2586062C2 (ru) 2011-11-15 2012-11-15 Устройство сетевой связи и способ избирательного ограничения полосы пропускания кадра передачи

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2011-250191 2011-11-15
JP2011250191 2011-11-15

Publications (1)

Publication Number Publication Date
WO2013073639A1 true WO2013073639A1 (ja) 2013-05-23

Family

ID=48429693

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/079705 WO2013073639A1 (ja) 2011-11-15 2012-11-15 ネットワーク通信装置、及び転送フレーム優先的帯域制限方法

Country Status (10)

Country Link
US (1) US9525635B2 (ja)
EP (1) EP2782298A4 (ja)
JP (1) JP5668868B2 (ja)
KR (1) KR101590740B1 (ja)
CN (1) CN103947167B (ja)
BR (1) BR112014011652A2 (ja)
CA (1) CA2855762A1 (ja)
IN (1) IN2014CN03581A (ja)
RU (1) RU2586062C2 (ja)
WO (1) WO2013073639A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015216526A (ja) * 2014-05-12 2015-12-03 沖電気工業株式会社 送信装置、送信装置の制御方法、送信プログラム及び通信システム

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9692684B2 (en) * 2014-09-05 2017-06-27 Telefonaktiebolaget L M Ericsson (Publ) Forwarding table precedence in SDN
WO2017173601A1 (zh) * 2016-04-06 2017-10-12 华为技术有限公司 软件定义网络sdn中流量控制方法和设备
CN108024256B (zh) * 2016-11-03 2020-04-03 华为技术有限公司 一种收缩网络切片实例的方法、装置和系统
JP6933535B2 (ja) * 2017-09-21 2021-09-08 株式会社東芝 通信装置、通信方法及びプログラム
RU179335U1 (ru) * 2017-12-20 2018-05-08 Общество с ограниченной ответственностью "БУЛАТ" Абонентское сетевое устройство с виртуализированными сетевыми функциями

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005244417A (ja) 2004-02-25 2005-09-08 Fujitsu Ltd 帯域制御装置、帯域制御方法および帯域制御プログラム
JP2007049591A (ja) * 2005-08-12 2007-02-22 Kddi Corp トラフィック制御装置、トラフィック制御方法及びコンピュータプログラム
WO2011083682A1 (ja) * 2010-01-05 2011-07-14 日本電気株式会社 スイッチネットワークシステム、コントローラ、及び制御方法
JP2011250191A (ja) 2010-05-27 2011-12-08 Brother Ind Ltd ラインデータの補正方法、及び画像形成装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5596576A (en) * 1995-11-03 1997-01-21 At&T Systems and methods for sharing of resources
US8032653B1 (en) * 2000-09-08 2011-10-04 Juniper Networks, Inc. Guaranteed bandwidth sharing in a traffic shaping system
US7724760B2 (en) * 2001-07-05 2010-05-25 Broadcom Corporation Method and apparatus for bandwidth guarantee and overload protection in a network switch
US7249162B2 (en) 2003-02-25 2007-07-24 Microsoft Corporation Adaptive junk message filtering system
US7327682B2 (en) * 2003-06-27 2008-02-05 Cisco Technology, Inc. Methods and devices for flexible bandwidth allocation
RU2412461C2 (ru) * 2003-08-21 2011-02-20 Майкрософт Корпорейшн Системы и способы сопряжения прикладных программ с платформой хранения на основе статей
US20050174944A1 (en) * 2004-02-10 2005-08-11 Adc Broadband Access Systems, Inc. Bandwidth regulation
US7564790B2 (en) 2005-02-28 2009-07-21 Cisco Technology, Inc. Method and system for shaping traffic in a parallel queuing hierarchy
US7719968B2 (en) * 2005-12-30 2010-05-18 Extreme Networks, Inc. Multi-priority multi-color markers for traffic metering
CN101064672A (zh) * 2006-04-24 2007-10-31 华为技术有限公司 一种接入设备及其带宽控制方法
US8730812B2 (en) * 2009-01-09 2014-05-20 Brocade Communications Systems, Inc. Hierarchical rate color marker
US8315168B2 (en) * 2009-10-28 2012-11-20 Broadcom Corporation Priority-based hierarchical bandwidth sharing
US9160669B2 (en) * 2011-06-28 2015-10-13 Zte Corporation Method and device for leaky bucket speed-limitation

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005244417A (ja) 2004-02-25 2005-09-08 Fujitsu Ltd 帯域制御装置、帯域制御方法および帯域制御プログラム
JP2007049591A (ja) * 2005-08-12 2007-02-22 Kddi Corp トラフィック制御装置、トラフィック制御方法及びコンピュータプログラム
WO2011083682A1 (ja) * 2010-01-05 2011-07-14 日本電気株式会社 スイッチネットワークシステム、コントローラ、及び制御方法
JP2011250191A (ja) 2010-05-27 2011-12-08 Brother Ind Ltd ラインデータの補正方法、及び画像形成装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP2782298A4

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015216526A (ja) * 2014-05-12 2015-12-03 沖電気工業株式会社 送信装置、送信装置の制御方法、送信プログラム及び通信システム

Also Published As

Publication number Publication date
BR112014011652A2 (pt) 2017-05-02
EP2782298A1 (en) 2014-09-24
CA2855762A1 (en) 2013-05-23
KR101590740B1 (ko) 2016-02-01
EP2782298A4 (en) 2015-05-06
IN2014CN03581A (ja) 2015-10-09
CN103947167B (zh) 2017-05-17
RU2586062C2 (ru) 2016-06-10
KR20140073589A (ko) 2014-06-16
RU2014119522A (ru) 2015-12-27
US20150063116A1 (en) 2015-03-05
JPWO2013073639A1 (ja) 2015-04-02
JP5668868B2 (ja) 2015-02-12
US9525635B2 (en) 2016-12-20
CN103947167A (zh) 2014-07-23

Similar Documents

Publication Publication Date Title
US10904367B2 (en) Network access node virtual fabrics configured dynamically over an underlay network
US20220232111A1 (en) Systems and methods for per traffic class routing
US9954798B2 (en) Network interface card having embedded virtual router
US8520522B1 (en) Transmit-buffer management for priority-based flow control
US9705827B2 (en) Methods and apparatus for virtual channel flow control associated with a switch fabric
US20200169513A1 (en) Fabric control protocol for data center networks with packet spraying over multiple alternate data paths
US9294304B2 (en) Host network accelerator for data center overlay network
JP5850131B2 (ja) ネットワークシステム、リソース使用率改善方法
US9703743B2 (en) PCIe-based host network accelerators (HNAS) for data center overlay network
JP5668868B2 (ja) ネットワーク通信装置、及び転送フレーム優先的帯域制限方法
US7492779B2 (en) Apparatus for and method of support for committed over excess traffic in a distributed queuing system
EP3591914B1 (en) Method and apparatus for flow control associated with a switch fabric
US8064344B2 (en) Flow-based queuing of network traffic
US20210320820A1 (en) Fabric control protocol for large-scale multi-stage data center networks
US20070217336A1 (en) Method and system for using a queuing device as a lossless stage in a network device in a communications network
US9485191B2 (en) Flow-control within a high-performance, scalable and drop-free data center switch fabric
EP3169036A1 (en) Packet processing method, apparatus, and device
EP3588880B1 (en) Method, device, and computer program for predicting packet lifetime in a computing device
Paliwal et al. Implementation of QoS aware Q-routing algorithm for network-on-chip
CN115514714A (zh) 基于数据有效性的网络缓冲区管理系统

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 12850283

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2013544329

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 14357746

Country of ref document: US

ENP Entry into the national phase

Ref document number: 2855762

Country of ref document: CA

ENP Entry into the national phase

Ref document number: 20147013058

Country of ref document: KR

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2012850283

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2014119522

Country of ref document: RU

Kind code of ref document: A

REG Reference to national code

Ref country code: BR

Ref legal event code: B01A

Ref document number: 112014011652

Country of ref document: BR

ENP Entry into the national phase

Ref document number: 112014011652

Country of ref document: BR

Kind code of ref document: A2

Effective date: 20140515