JP5324637B2 - Dynamic flowlet scheduling system, flow scheduling method, and flow scheduling program - Google Patents

Dynamic flowlet scheduling system, flow scheduling method, and flow scheduling program Download PDF

Info

Publication number
JP5324637B2
JP5324637B2 JP2011244242A JP2011244242A JP5324637B2 JP 5324637 B2 JP5324637 B2 JP 5324637B2 JP 2011244242 A JP2011244242 A JP 2011244242A JP 2011244242 A JP2011244242 A JP 2011244242A JP 5324637 B2 JP5324637 B2 JP 5324637B2
Authority
JP
Japan
Prior art keywords
flow
bandwidth
scheduling
flowlet
path
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2011244242A
Other languages
Japanese (ja)
Other versions
JP2012209928A (en
Inventor
イェン フー
ヨン シア
ソンジェー チェン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC China Co Ltd
Original Assignee
NEC China Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority to CN201110085812.7 priority Critical
Priority to CN201110085812.7A priority patent/CN102710489B/en
Application filed by NEC China Co Ltd filed Critical NEC China Co Ltd
Publication of JP2012209928A publication Critical patent/JP2012209928A/en
Application granted granted Critical
Publication of JP5324637B2 publication Critical patent/JP5324637B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

The invention provides a dynamic flow division scheduling system and a dynamic flow division scheduling method for a data center network. A host machine applies for bandwidth reservation of specific flow for a flow scheduler of a data center; the flow scheduler checks the bandwidth using conditions of all paths which can be selected by the specific flow; if the sum of bandwidths retained on the paths meets the demand for the bandwidth of the specific flow, the flow is divided into one or more sub-flows, and then the sub-flows are forwarded on the corresponding paths; and if the bandwidths retained on all the paths cannot meet the demand for the bandwidth of the specific flow, the current flows on the paths are transferred to other paths, so that a space is reserved for forwarding the specific flow. According to the dynamic flow division scheduling system and the dynamic flow division scheduling method, the actual bandwidth demand of the flow can be timely and accurately obtained, and scheduling can be performed on the granularity which is thinner than the flow, so that the utilization rate of the whole data center network is balanced, and the convergence bandwidth of the whole data center network is increased.

Description

本発明は、データセンターネットワークの分野に関し、特に、動的フローレットスケジューリングのためのシステムおよび方法に関する。   The present invention relates to the field of data center networks, and more particularly to systems and methods for dynamic flowlet scheduling.

インターネットや、クラウドコンピューティングサービス等のアプリケーションの発達に伴って、データセンターの規模はますます増大しており、今や数万〜数十万台のサーバおよびスイッチを備えていることも珍しくない。加えて、データセンターは多種多様なアプリケーションを同時にサポートするのが一般的であり、これらのアプリケーションにはデータセンター内の異なるサーバ間で大量なデータ通信を必要とするものも含まれる。こうしたデータセンターの拡大とアプリケーションの発達により、データセンターのネットワークアーキテクチャに新たな課題が生じている。   With the development of applications such as the Internet and cloud computing services, the scale of data centers is increasing, and it is not uncommon to now have tens of thousands to hundreds of thousands of servers and switches. In addition, data centers typically support a wide variety of applications simultaneously, including those requiring large amounts of data communication between different servers in the data center. These data center expansions and application developments are creating new challenges for data center network architectures.

一般に、スイッチのポート数には限りがあるため、データセンターは複数ルートのツリートポロジ形式となっている。図1に、ホスト間通信用として複数の任意パスを提供する、複数ルートのツリートポロジを示す。このトポロジには複数の任意パスが存在するので、高度に集約された帯域幅を実現するために、これらのパス間のフローを動的にスケジューリングする方法を確立することが重要な課題となる。   In general, since the number of ports of a switch is limited, the data center has a tree topology format with multiple roots. FIG. 1 shows a multi-root tree topology that provides a plurality of arbitrary paths for inter-host communication. Since there are multiple arbitrary paths in this topology, it is an important issue to establish a method for dynamically scheduling flows between these paths in order to achieve highly aggregated bandwidth.

現在、フローのスケジューリングにおいて最も一般的に使用されているメカニズムは、等価コストマルチパス(ECMP:Equal Cost Multipath)スキームである。1つの宛先ホストが与えられると、スイッチは当該ホストに関して複数の転送用任意パスが確立されるように構成される。スイッチにパケットが着信すると、スイッチはパケットのヘッダ内の特定フィールドに対してハッシュ演算を実行し、続いて任意パスの総数に関するモジュロ演算を実行して最終的に選択されるパスを決定し、そのパスを介してパケットを転送する。ハッシュアルゴリズムは、複数の任意パスの間でデータトラフィックを無作為に分散して負荷バランスを確保する。   Currently, the most commonly used mechanism in flow scheduling is the equivalent cost multipath (ECMP) scheme. Given a single destination host, the switch is configured such that multiple forwarding arbitrary paths are established for that host. When a packet arrives at the switch, the switch performs a hash operation on a particular field in the packet header, followed by a modulo operation on the total number of arbitrary paths to determine the final selected path, Forward the packet through the path. The hash algorithm ensures a load balance by randomly distributing data traffic among a plurality of arbitrary paths.

ただし、ECMPは静的なマッピングスキームなので、同じフローのすべてのパケットが常に1つの特定のパスにマッピングされる。さらに、ECMPによれば、ネットワークの使用状況やフローサイズは無視され、ハッシュ演算の結果だけに基づいて転送用パスが選択される。このような方法であれば、状況によっては、複数の大量フローに対して同じパスが選択される可能性がある。これが発生すると、ネットワーク内にボトルネックが生じて、ネットワーク全体の使用率が低下する。図2に2種類のフロー衝突を示す。図2を見ると、スイッチAgg0でハッシュ衝突が発生したために、フローAとフローBに対して同じパスが選択されている。加えて、スイッチAgg1およびAgg2からそれぞれ別個に転送されたフローCとフローDのパケットが、スイッチCore2で衝突している。図2の各リンクの最大帯域は1Gbpsとすると、衝突のために、全4つのフローは500Mbpsの帯域幅にしか到達できない。ECMよりも優れた、ネットワークリソースの使用状況とフロー状態とに基づいてフローをスケジューリングできる方法があれば、例えばフローAはスイッチCore1にスケジューリングされ、フローDはスイッチCore3にスケジューリングされるので、全4フローの各々が1Gbpsの帯域幅に到達することができる。   However, since ECMP is a static mapping scheme, all packets of the same flow are always mapped to one specific path. Further, according to ECMP, the network usage status and flow size are ignored, and a transfer path is selected based only on the result of the hash calculation. With such a method, the same path may be selected for a plurality of large-scale flows depending on the situation. When this occurs, a bottleneck occurs in the network and the usage rate of the entire network decreases. FIG. 2 shows two types of flow collisions. Referring to FIG. 2, since a hash collision occurs in the switch Agg0, the same path is selected for the flow A and the flow B. In addition, packets of flow C and flow D transferred separately from the switches Agg1 and Agg2 collide at the switch Core2. If the maximum bandwidth of each link in FIG. 2 is 1 Gbps, all four flows can only reach a bandwidth of 500 Mbps due to collisions. If there is a method superior to ECM that can schedule flows based on network resource usage and flow states, for example, flow A is scheduled on switch Core1 and flow D is scheduled on switch Core3. Each of the flows can reach a bandwidth of 1 Gbps.

このように、静的なマッピングスキームであるECMPはネットワークの使用状況とフローサイズのいずれも考慮しないため、衝突が発生し、ネットワーク全体の使用率が低下する結果となる。   As described above, ECMP, which is a static mapping scheme, does not consider both the network usage status and the flow size, so that a collision occurs and the overall network usage rate decreases.

非特許文献1(“Hedera:Dynamic Flow Scheduling for Data Center Networks(Hedera:データセンターネットワークのための動的フロースケジューリング)”,Mohammad Al−Fares,et al,NSDI 2010)は、データセンターネットワークのための動的フロースケジューリングシステムを提案している。Hederaは、まず、エッジスイッチで大量フローを検出する。次に、大量フローによる帯域幅要求を予想し、これらのフローのための最良のパスを計算する。最後に、計算されたパスがスイッチ上にインストールされる。   Non-Patent Document 1 ("Hedera: Dynamic Flow Scheduling for Data Center Networks (Hedera: Dynamic Flow Scheduling for Data Center Networks)", Mohammad Al-Fares, et al, NSDI 2010) A dynamic flow scheduling system is proposed. First, Hedera detects a large number of flows with an edge switch. Next, it anticipates bandwidth demands due to large flows and calculates the best path for these flows. Finally, the calculated path is installed on the switch.

図3はHederaシステムの構造図である。図3に示すように、Hederaは「ファットツリー」ネットワークトポロジに基づき設計および実装されたフロースケジューリングシステムである(非特許文献2(“A scalable,Commodity Data Center Network Architecture(スケーラブルなコモディティデータセンターネットワークアーキテクチャ)”,Mohammad Al−Fares,et al,SIGCOMM 2008)を参照)。ファットツリー内のスイッチは、エッジ層、集約層、コア層(下から上)に編成される。3つの異なる層のすべてのスイッチは同じであり、各々k個のポートを備えている。図3は、k=4のファットツリートポロジを示す。ファットツリーはk個のポッドに分割されており、これはエッジ層と集約層にあるk個の点線枠で示されている。k個の点線枠の各々に囲まれたk個のスイッチが、1つのポッドを構成する。ファットツリートポロジでは、各々k個のポートを有する5k/4個のスイッチによって、k/4個のホストをサポートすることができる。各スイッチではOpenFlowが稼働している。OpenFlowコントローラは、各スイッチ内の転送テーブルにアクセスして、転送テーブル内のフローエントリに対してクエリ、挿入、修正等の操作を実行することができる。フロースケジューラは、現在のネットワーク状態に基づいて、衝突が発生しないパスにフローをスケジューリングする。OpenFlowコントローラとフロースケジューラは、論理的に中央化された中央管理装置上で稼働する。 FIG. 3 is a structural diagram of the Hedera system. As shown in FIG. 3, Hedera is a flow scheduling system designed and implemented based on a “Fat Tree” network topology (Non-Patent Document 2 (“A scalable, Community Data Center Network Architecture (Scalable Commodity Data Center Network Architecture ) ", Mohammad Al-Fares, et al, SIGCOMM 2008)). The switches in the fat tree are organized into edge layers, aggregation layers, and core layers (from bottom to top). All switches in the three different layers are the same, each with k ports. FIG. 3 shows a fat tree topology with k = 4. The fat tree is divided into k pods, which are indicated by k dotted frames in the edge layer and the aggregation layer. k switches surrounded by each of the k dotted line frames constitute one pod. The fat tree topology, each by 5k 2/4 pieces of switch has k port, can support k 3/4 pieces of the host. In each switch, OpenFlow is operating. The OpenFlow controller can access the forwarding table in each switch and execute operations such as query, insertion, and correction on the flow entry in the forwarding table. The flow scheduler schedules a flow in a path where no collision occurs based on the current network state. The OpenFlow controller and the flow scheduler run on a logically centralized central management device.

図4はHederaシステム40のブロック図である。図4に示すように、Hederaシステム40はスイッチ410と中央管理装置420で構成される。   FIG. 4 is a block diagram of the Hedera system 40. As shown in FIG. 4, the Hedera system 40 includes a switch 410 and a central management device 420.

スイッチ410は、転送テーブル4110と、パケット転送手段4120と、フロー統計報告手段4130とを備える。転送テーブル4110は、フローと送信ポート間のマッピングを保持する。パケット転送手段4120は、転送テーブル4110に保持されるマッピングに基づいてパケットを転送する。フロー統計報告手段4130はトラフィック統計を生成し、その統計を中央管理装置420に定期的(例:5秒間隔)に報告する。   The switch 410 includes a forwarding table 4110, a packet forwarding unit 4120, and a flow statistics reporting unit 4130. The forwarding table 4110 holds mapping between flows and transmission ports. The packet transfer unit 4120 transfers the packet based on the mapping held in the transfer table 4110. The flow statistics reporting means 4130 generates traffic statistics and reports the statistics to the central management apparatus 420 periodically (eg, every 5 seconds).

中央管理装置420は、スイッチコントローラ4210と、フロースケジューリング手段4220と、フロー要求予想手段4230と、フロー要求テーブル4240と、フロー統計収集手段4250とを備える。フロー統計収集手段4250は、各スケジューリング期間(例:5秒間)にフロー統計報告手段4130からトラフィック統計を受信し、大量フローを検出する。フロー要求テーブル4240は、全ホストに関するフロー要求行列を保持する。フロー要求予想手段4230は、トラフィック統計を使ってフローの帯域幅要求を予想する。フロースケジューリング手段4220は、大量フローに、すべての任意パスから適切なパスを選んで割り当てる。スイッチコントローラ4210は、フロースケジューリング手段4220から受け取ったスケジューリング結果に基づいて、対応するスイッチ内に転送エントリを作成し、大量フローが新たに選択されたパスに転送されるようにする。   The central management apparatus 420 includes a switch controller 4210, a flow scheduling unit 4220, a flow request prediction unit 4230, a flow request table 4240, and a flow statistics collection unit 4250. The flow statistics collection unit 4250 receives traffic statistics from the flow statistics report unit 4130 during each scheduling period (eg, 5 seconds), and detects a large number of flows. The flow request table 4240 holds a flow request matrix for all hosts. The flow request prediction means 4230 uses the traffic statistics to predict a flow bandwidth request. The flow scheduling means 4220 selects and assigns an appropriate path from all arbitrary paths to a large quantity of flows. The switch controller 4210 creates a forwarding entry in the corresponding switch based on the scheduling result received from the flow scheduling unit 4220 so that a large amount of flow is forwarded to the newly selected path.

具体的に述べると、新たなフローが開始したときにスイッチ410がとるデフォルトの振る舞いは、フローのハッシュ値(ECMPに関連して説明済み)に基づいて等価コストパスの1つを選択することである。スイッチ410はこのパスに沿ってフローを転送し、フローのトラフィック量が事前に決定されたしきい値を超えるまでこれを継続する。しきい値としては、例えば100 Mbps(1GigEリンクの帯域幅の10%)が考えられる。フロー統計収集手段4250は、各スケジューリング期間中に、大量フローを検出するためにエッジスイッチからトラフィック統計を1度取得する。その後、フロー要求予想手段4230が大量フローの帯域幅要求を予想する。次に、フロースケジューリング手段4220が、大量フローの帯域幅要求に基づいて、大量フローに適切なパスを計算する。最後に、スイッチコントローラ4210が、転送エントリを修正することにより対応するスイッチ上にパスをインストールし、大量フローはこの新たに選択されたパスに転送されるようになる。   Specifically, the default behavior that switch 410 takes when a new flow starts is to select one of the equivalent cost paths based on the hash value of the flow (explained in connection with ECMP). is there. Switch 410 forwards the flow along this path and continues until the traffic volume of the flow exceeds a predetermined threshold. As the threshold value, for example, 100 Mbps (10% of the bandwidth of the 1 GigE link) can be considered. The flow statistics collection means 4250 obtains traffic statistics once from the edge switch in order to detect a large number of flows during each scheduling period. Thereafter, the flow request prediction unit 4230 predicts a bandwidth request for a large amount of flows. Next, the flow scheduling means 4220 calculates an appropriate path for the mass flow based on the bandwidth request of the mass flow. Finally, the switch controller 4210 installs a path on the corresponding switch by modifying the forwarding entry so that the mass flow is forwarded to this newly selected path.

すべての大量フローの現在のトラフィック統計は、N×N行列M(Nはホスト数)を保持するフロー要求予想手段4230に入力される。行列Mの第i行第j列の要素M(i,j)には、ホストiからホストjへのフローの予想要求が保持される。フロー要求予想手段4230は、送信元ホストにおいてフローの帯域幅要求を増大させ、かつ宛先ホストの帯域幅限界に基づいてフロー帯域幅を超過分だけ減少させる作業を繰り返し実行し、すべてのフローの帯域幅要求が満たされるまでこれを継続する。   Current traffic statistics for all large flows are input to a flow request predictor 4230 that holds an N × N matrix M, where N is the number of hosts. An element M (i, j) in the i-th row and j-th column of the matrix M holds a flow prediction request from the host i to the host j. The flow request prediction means 4230 repeatedly executes the operation of increasing the bandwidth request of the flow at the source host and decreasing the flow bandwidth by an excess amount based on the bandwidth limit of the destination host. This continues until the width requirement is met.

大量フローの帯域幅要求が予想された後、フロースケジューリング手段4220は、帯域幅要求に基づいて大量フローに適切なパスを計算する。非特許文献1では、2つのスケジューリングアルゴリズムが使用されている。第1のスケジューリングアルゴリズムは「Global First Fit」と呼ばれるもので、新たな大量フロー検出されると、スケジューラがすべての任意パスを直線的に検索し、そのフローの帯域幅要求をすべて収容可能なリンクを有するパスを発見して、その発見されたパスをスケジューリング結果として選択する。第2のスケジューリングアルゴリズムは「Simulated Annealing」と呼ばれ、状態空間を検索してほぼ最適な解決法を発見する汎用の確率的アルゴリズムである。Hederaシステム40は、検索空間内の状態数を削減するため、各フローに1つのコアスイッチを割り当てるのではなく、各宛先ホストに1つのコアスイッチを割り当てる。   After a bandwidth request for a large flow is expected, the flow scheduling means 4220 calculates an appropriate path for the large flow based on the bandwidth request. In Non-Patent Document 1, two scheduling algorithms are used. The first scheduling algorithm is called “Global First Fit”. When a new mass flow is detected, the scheduler searches all arbitrary paths linearly and can accommodate all the bandwidth requests of the flow. And find the path as a scheduling result. The second scheduling algorithm is called “Simulated Annealing”, and is a general-purpose stochastic algorithm that searches the state space to find a nearly optimal solution. In order to reduce the number of states in the search space, the Hedera system 40 does not assign one core switch to each flow, but assigns one core switch to each destination host.

“Hedera:Dynamic Flow Scheduling for Data Center Networks(Hedera:データセンターネットワークのための動的フロースケジューリング)”,Mohammad Al−Fares,et al,NSDI 2010“Hedera: Dynamic Flow Scheduling for Data Center Networks (Hedera: Dynamic Flow Scheduling for Data Center Networks)”, Mohammad Al-Fares, et al, NSDI 2010. “A scalable,Commodity Data Center Network Architecture(スケーラブルなコモディティデータセンターネットワークアーキテクチャ)”,Mohammad Al−Fares,et al,SIGCOMM 2008“A scalable, Community Data Center Network Architecture (Scalable Commodity Data Center Network Architecture)”, Mohammad Al-Fares, et al, SIGCOMM 2008

ただし、Hederaシステムで使用されるスケジューリングメカニズムは、以下の欠点を有する。第1に、フローの実際の帯域幅要求はエッジスイッチで測定されたトラフィック統計から予想されるが、この統計は時にアプリケーションの実際の帯域幅要求を正確に反映していないため、実際のフローの帯域幅要求を正確かつ時宜を得て取得することができない。また、スケジューリングは各スケジューリング期間(例:5秒間)に1度しか実行されないため、1つのスケジューリング期間中にトラフィック状態が大幅に変動したという可能性が常に残る。第2に、フローの粒度に基づくスケジューリングは、状況によっては、バランスのとれたネットワーク使用と高度に集約されたネットワーク帯域幅を達成するのには不十分である。   However, the scheduling mechanism used in the Hedera system has the following drawbacks. First, the actual bandwidth demand of the flow is expected from the traffic statistics measured at the edge switch, but this statistic sometimes does not accurately reflect the actual bandwidth demand of the application, so Bandwidth requests cannot be obtained accurately and in a timely manner. In addition, since scheduling is performed only once in each scheduling period (eg, 5 seconds), there is always a possibility that the traffic state has fluctuated significantly during one scheduling period. Second, scheduling based on flow granularity is insufficient in some situations to achieve balanced network usage and highly aggregated network bandwidth.

上記の問題に対処するため、本発明は、データセンターネットワークのための動的フローレットスケジューリングシステムを提供する。ホストは、データセンターのフロースケジューラに対し、特定フロー用として予約された帯域幅を申請する。フロースケジューラは、当該特定フローが通過しうるすべてのパスの帯域幅の使用状況をチェックする。これらのパスの残余帯域幅の合計が、当該特定フローの帯域幅要求を満たす場合、このフローは1つ以上のフローレットに分割された後、対応するパスに転送される。これらのパスの残余帯域幅の合計が、当該特定フローの帯域幅要求を満たさない場合には、当該特定フローを転送するための余地を作るために、これらのパス上の既存のフローが他のパスに移動される。   To address the above problems, the present invention provides a dynamic flowlet scheduling system for a data center network. The host applies to the data center flow scheduler for the bandwidth reserved for the specific flow. The flow scheduler checks the usage status of the bandwidths of all paths through which the specific flow can pass. If the sum of the remaining bandwidths of these paths satisfies the bandwidth requirement of the specific flow, the flow is divided into one or more flowlets and then transferred to the corresponding path. If the total remaining bandwidth of these paths does not meet the bandwidth requirements for that particular flow, the existing flows on these paths will have other flows to make room for forwarding that particular flow. Moved to the path.

本発明の第1の態様によれば、中央管理装置であって、送信元ホストからの特定フローの帯域幅要求を収集するように構成された帯域幅要求収集手段と、リンクの帯域幅使用状況とホストペアの任意パスとを記憶するように構成された記憶手段と、現在のリンクの帯域幅使用状況に基づいて、当該特定フローの任意パスから1つ以上のパスを当該特定フロー用として割り当て、割り当てられたパスを送信元ホストに返し、かつ送信元ホストからフローレット情報を受信するように構成されたフロースケジューリング手段と、フロースケジューリング手段のスケジューリング結果に基づいて、対応するスイッチを設定するように構成されたスイッチコントローラとを備える、中央管理装置が提供される。   According to the first aspect of the present invention, a bandwidth management unit is a central management device configured to collect bandwidth requests of a specific flow from a transmission source host, and bandwidth usage status of a link. And one or more paths from the arbitrary path of the specific flow are allocated for the specific flow based on the bandwidth usage status of the current link, and storage means configured to store the arbitrary path of the host pair, A flow scheduling unit configured to return the assigned path to the transmission source host and receive flowlet information from the transmission source host, and to set a corresponding switch based on a scheduling result of the flow scheduling unit A central management device is provided comprising a configured switch controller.

フロースケジューリング手段は、当該特定フローの任意パスにおけるアイドル帯域幅の合計を計算し、当該特定フローの任意パスにおけるアイドル帯域幅の合計が当該特定フローの帯域幅要求と同じかそれ以上の場合、当該特定フローの任意パスから1つ以上のパスを当該特定フロー用として割り当てるように構成されるのが望ましい。   The flow scheduling means calculates the total idle bandwidth in an arbitrary path of the specific flow, and if the total idle bandwidth in the arbitrary path of the specific flow is equal to or greater than the bandwidth request of the specific flow, It is desirable to configure one or more paths from an arbitrary path of a specific flow for the specific flow.

フロースケジューリング手段はさらに、当該特定フローの任意パスにおけるアイドル帯域幅の合計が当該特定フローの帯域幅要求と同じかそれ以上の場合、当該特定フローの任意パスをアイドル帯域幅の多い順に並び替え、選択したパスのアイドル帯域幅の合計が前記特定フローの帯域幅要求と同じかそれ以上になるまで、前記並び替えられた任意パスからパスを順に選択するように構成されるのが望ましい。   The flow scheduling means further rearranges the arbitrary paths of the specific flow in descending order of the idle bandwidth when the total idle bandwidth in the arbitrary path of the specific flow is equal to or greater than the bandwidth request of the specific flow, It is desirable that the paths are sequentially selected from the rearranged arbitrary paths until the total idle bandwidth of the selected path is equal to or greater than the bandwidth request of the specific flow.

フロースケジューリング手段はさらに、当該特定フローの任意パスにおけるアイドル帯域幅の合計が当該特定フローの帯域幅要求を下回る場合、当該特定フローの任意パスを通過する他のフローを検出して、当該他のフローの任意パスにおけるアイドル帯域幅の合計を計算し、当該他のフローの任意パスにおけるアイドル帯域幅の合計が当該特定フローの帯域幅要求と同じかそれ以上の場合、当該他のフローを再スケジュールして、当該特定フローの任意パスから1つ以上のパスを当該特定フロー用として割り当てるように構成されるのが望ましい。   The flow scheduling means further detects another flow passing through the arbitrary path of the specific flow when the total idle bandwidth in the arbitrary path of the specific flow is lower than the bandwidth request of the specific flow, and detects the other flow Calculate the total idle bandwidth in any path of the flow, and reschedule the other flow if the total idle bandwidth in the arbitrary path of the other flow is equal to or greater than the bandwidth request for the specific flow Thus, it is desirable that one or more paths are allocated for the specific flow from the arbitrary paths of the specific flow.

フロースケジューリング手段はさらに、当該他のフローの任意パスにおけるアイドル帯域幅の合計が当該特定フローの帯域幅要求と同じかそれ以上の場合、当該他のフローをその任意パスにおけるアイドル帯域幅合計の多い順に並び替えて、並び替えられたフローから1つのフローを順に選択し、当該特定フローの任意パスにおけるアイドル帯域幅の合計が当該特定フローの帯域幅要求と同じかそれ以上になるまで、選択したフローを再スケジュールするように構成されるのが望ましい。   Furthermore, the flow scheduling means further increases the idle bandwidth total in the arbitrary path when the total idle bandwidth in the arbitrary path of the other flow is equal to or greater than the bandwidth request of the specific flow. Select one flow from the rearranged flows in order, and select until the total idle bandwidth in any path of the specific flow is equal to or greater than the bandwidth request of the specific flow It is desirable to be configured to reschedule the flow.

フロースケジューリング手段はさらに、当該他のフローの任意パスにおけるアイドル帯域幅の合計が当該特定フローの帯域幅要求を下回る場合には、当該他のフローをそのアイドルパスへ再スケジュールして、当該特定フローの任意パスにおけるアイドル帯域幅を、当該特定フローと、マキシミン公正原理に基づいた再スケジュール後にもまだ当該特定フローの任意パスを通過する残余フローとに割り当てるように構成されるのが望ましい。   The flow scheduling means further re-schedules the other flow to the idle path when the total idle bandwidth in the arbitrary path of the other flow is lower than the bandwidth request of the specific flow. It is desirable to allocate the idle bandwidth in the arbitrary path to the specific flow and the remaining flow that still passes through the arbitrary path of the specific flow even after rescheduling based on the Maximin fairness principle.

フロースケジューリング手段はさらに、送信元ホストから受信されたフローレット情報を宛先ホストへ送信するように構成されるのが望ましい。   The flow scheduling means is preferably further configured to transmit the flowlet information received from the source host to the destination host.

記憶手段はさらに、フローレット情報を記憶するように構成されるのが望ましい。   The storage means is preferably further configured to store the flowlet information.

フローレット情報はフローレットのポート番号を含むのが望ましい。   The flowlet information preferably includes the port number of the flowlet.

本発明の他の態様によれば、フロースケジューリング方法であって、送信元ホストからの特定フローの帯域幅要求を収集するステップと、現在のリンクの帯域幅使用状況に基づいて、当該特定フローの任意パスから1つ以上のパスを当該特定フロー用として割り当てるステップと、割り当てられたパスを送信元ホストに返すステップと、送信元ホストからフローレット情報を受信するステップと、スケジューリング結果に基づいて対応するスイッチを構成するステップとを備えるのが望ましい。   According to another aspect of the present invention, there is provided a flow scheduling method for collecting a bandwidth request for a specific flow from a source host, and based on a current link bandwidth usage state, Assigning one or more paths from an arbitrary path for the specific flow, returning the assigned path to the transmission source host, receiving flowlet information from the transmission source host, and responding based on the scheduling result And configuring a switch to perform.

割り当てステップは、当該特定フローの任意パスにおけるアイドル帯域幅の合計を計算するステップと、当該特定フローの任意パスにおけるアイドル帯域幅の合計が当該特定フローの帯域幅要求と同じかそれ以上の場合には、当該特定フローの任意パスから1つ以上のパスを当該特定フロー用として割り当てるステップとを備えるのが望ましい。   The allocation step includes a step of calculating a total idle bandwidth in an arbitrary path of the specific flow, and a case where the total idle bandwidth in the arbitrary path of the specific flow is equal to or greater than the bandwidth request of the specific flow. Preferably includes a step of allocating one or more paths from an arbitrary path of the specific flow for the specific flow.

当該特定フローの任意パスにおけるアイドル帯域幅の合計が当該特定フローの帯域幅要求と同じかそれ以上の場合には、当該特定フローの任意パスがアイドル帯域幅の多い順に並び替えられて、並び替えられた任意パスから1つのパスが選択され、選択されたパスのアイドル帯域幅の合計が当該特定フローの帯域幅要求と同じかそれ以上になるまでこれが継続されるのが望ましい。   If the total idle bandwidth in the arbitrary path of the specific flow is equal to or greater than the bandwidth request of the specific flow, the arbitrary path of the specific flow is rearranged in descending order of idle bandwidth. Preferably, one path is selected from the selected arbitrary paths, and this is continued until the total idle bandwidth of the selected path is equal to or greater than the bandwidth request of the particular flow.

当該特定フローの任意パスにおけるアイドル帯域幅の合計が当該特定フローの帯域幅要求を下回る場合には、当該特定フローの任意パスを通過するフローが検出されて、当該他のフローの任意パスにおけるアイドル帯域幅の合計が計算され、当該他のフローの任意パスにおけるアイドル帯域幅の合計が当該特定フローの帯域幅要求と同じかそれ以上の場合には、当該他のフローが再スケジュールされて、当該特定フローの任意パスから1つ以上のパスが当該特定フロー用として割り当てられるのが望ましい。   When the total idle bandwidth in the arbitrary path of the specific flow is less than the bandwidth request of the specific flow, a flow passing through the arbitrary path of the specific flow is detected, and the idle in the arbitrary path of the other flow is detected. If the total bandwidth is calculated and the total idle bandwidth in any path of the other flow is equal to or greater than the bandwidth request for the specific flow, the other flow is rescheduled and the It is desirable that one or more paths from an arbitrary path of a specific flow are assigned for the specific flow.

当該他のフローの任意パスにおけるアイドル帯域幅の合計が当該特定フローの帯域幅要求と同じかそれ以上の場合には、当該他のフローをその任意パスにおけるアイドル帯域幅合計の多い順に並び替えて、並び替えられたフローから1つのフローが順に選択され、そのフローが再スケジュールされ、当該特定フローの任意パスにおけるアイドル帯域幅の合計が当該特定フローの帯域幅要求と同じかそれ以上になるまでこれが継続されるのが望ましい。   If the total idle bandwidth in the arbitrary path of the other flow is equal to or greater than the bandwidth request of the specific flow, the other flows are rearranged in descending order of the total idle bandwidth in the arbitrary path. Until one flow is selected in order from the rearranged flows, the flow is rescheduled, and the total idle bandwidth in any path of the specific flow is equal to or greater than the bandwidth request of the specific flow This is preferably continued.

当該他のフローの任意パスにおけるアイドル帯域幅の合計が当該特定フローの帯域幅要求を下回る場合には、当該他のフローがそのアイドルパスへ再スケジュールされて、当該特定フローの任意パスにおけるアイドル帯域幅が、当該特定フローと、マキシミン公正原理に基づいた再スケジュール後にもまだ当該特定フローの任意パスを通過する残余フローとに割り当てられるのが望ましい。   If the total idle bandwidth in the arbitrary path of the other flow is less than the bandwidth request of the specific flow, the other flow is rescheduled to the idle path, and the idle bandwidth in the arbitrary path of the specific flow is Preferably, the width is assigned to the specific flow and the residual flow that still passes through the arbitrary path of the specific flow after rescheduling based on the Maximin fairness principle.

この方法は、送信元ホストから受信されたフローレット情報を宛先ホストへ送信するステップをさらに備えるのが望ましい。   The method preferably further comprises the step of transmitting the flowlet information received from the source host to the destination host.

フローレット情報はフローレットのポート番号を含むのが望ましい。   The flowlet information preferably includes the port number of the flowlet.

本発明の他の態様によれば、ホストであって、中央管理装置に特定フロー用の帯域幅を申請するように構成された帯域幅予約手段と、中央管理装置から返されたスケジューリング結果に基づいて、当該特定フローを1つ以上のフローレット(分流:flowlet)に分割し、中央管理装置によって割り当てられたパス上で1つ以上のフローレットを転送するための対応する接続を確立するように構成されたフロー制御手段とを備えるホストが提供される。   According to another aspect of the present invention, the host is a bandwidth reservation unit configured to apply a bandwidth for a specific flow to the central management device, and based on a scheduling result returned from the central management device. To divide the specific flow into one or more flowlets and establish a corresponding connection to transfer one or more flowlets on the path assigned by the central management unit A host comprising a configured flow control means is provided.

このホストは、1つ以上のフローレットを介して受信されたデータを再構築するように構成されたデータ再構築手段をさらに備えるのが望ましい。   The host preferably further comprises data reconstruction means configured to reconstruct data received via one or more flowlets.

フロー制御手段は、フローレットを変更するコマンドが中央管理装置から受信された場合には、対応する接続を調整するように構成されるのが望ましい。   The flow control means is preferably configured to adjust the corresponding connection when a command to change the flowlet is received from the central management device.

本発明の動的フローレットスケジューリングシステムおよび動的フローレットスケジューリング方法を使用することにより、フローの実際の帯域幅要求を正確かつ時宜を得て取得でき、かつ、スケジューリングをフローよりも細かい粒度に基づいて(すなわち、フローレットの粒度に基づいて)実行することができる。そのため、本発明の動的フローレットスケジューリングシステムおよび動的フローレットスケジューリング方法は、データセンターネットワーク全体のネットワーク使用率のバランスをとり、さらには、データセンターネットワーク全体の集約帯域幅を増大させることが可能となる。   By using the dynamic flowlet scheduling system and dynamic flowlet scheduling method of the present invention, the actual bandwidth requirements of the flow can be obtained accurately and timely, and the scheduling is based on a finer granularity than the flow. (Ie, based on the granularity of the flowlet). Therefore, the dynamic flowlet scheduling system and the dynamic flowlet scheduling method of the present invention can balance the network usage rate of the entire data center network and further increase the aggregate bandwidth of the entire data center network. It becomes.

本発明の上記および他の特徴は、詳細な説明と添付図面を併せて参照することでより明らかとなるであろう。   These and other features of the present invention will become more apparent when taken in conjunction with the detailed description and accompanying drawings.

従来技術における複数ルートのツリートポロジを示す概略図である。It is the schematic which shows the tree topology of the multiple root | route in a prior art. 従来技術における2種類のフロー衝突を示す概略図である。It is the schematic which shows two types of flow collision in a prior art. 従来技術におけるHederaシステムを示す概略図である。It is the schematic which shows the Hedera system in a prior art. 従来技術におけるHederaシステムを示すブロック図である。It is a block diagram which shows the Hedera system in a prior art. 本発明の一実施例による動的フローレットスケジューリングシステムを示すブロック図である。1 is a block diagram illustrating a dynamic flowlet scheduling system according to an embodiment of the present invention. FIG. 本発明の一実施例による動的フローレットスケジューリングシステムの動作を示すフローチャートである。6 is a flowchart illustrating an operation of a dynamic flowlet scheduling system according to an exemplary embodiment of the present invention. 本発明の一実施例によるフロースケジューリングアルゴリズムを示すフローチャートである。4 is a flowchart illustrating a flow scheduling algorithm according to an embodiment of the present invention. 本発明の他の実施例による動的フローレットスケジューリングシステムを示すブロック図である。FIG. 6 is a block diagram illustrating a dynamic flowlet scheduling system according to another embodiment of the present invention. 本発明の他の実施例による動的フローレットスケジューリングシステムの動作を示すフローチャートである。6 is a flowchart illustrating an operation of a dynamic flowlet scheduling system according to another embodiment of the present invention.

以下では、本発明の原理および実施がより明らかとなるように、添付図面を参照して本発明による特定の実施例を説明する。本発明は以下で説明する特定の実施例に限定されないことに留意されたい。煩雑化を避けるため、本発明に直接関係しないよく知られた技術の詳細な説明は省略する。   In the following, specific embodiments according to the present invention will be described with reference to the accompanying drawings so that the principle and implementation of the present invention will become more apparent. It should be noted that the present invention is not limited to the specific embodiments described below. In order to avoid complications, detailed descriptions of well-known techniques not directly related to the present invention are omitted.

図5は、本発明の一実施例による動的フローレットスケジューリングシステム50を示すブロック図である。図5に示すように、動的フローレットスケジューリングシステム50は、ホスト510、中央管理装置520、スイッチ530という3種類のノードで構成される。   FIG. 5 is a block diagram illustrating a dynamic flowlet scheduling system 50 according to one embodiment of the present invention. As shown in FIG. 5, the dynamic flowlet scheduling system 50 includes three types of nodes: a host 510, a central management device 520, and a switch 530.

スイッチ530は、転送テーブル5310とパケット転送手段5320とを備える。転送テーブル5310は、フローと送信ポート間のマッピングを保持する。パケット転送手段5320は、転送テーブル5310に保持されるマッピングに基づいてパケットを転送する。   The switch 530 includes a transfer table 5310 and a packet transfer unit 5320. The forwarding table 5310 holds mapping between flows and transmission ports. The packet transfer unit 5320 transfers the packet based on the mapping held in the transfer table 5310.

ホスト510は、フロー制御手段5110と帯域幅予約手段5120とを備える。帯域幅予約手段5120は、中央管理装置520に対し、特定フロー用として予約された帯域幅を申請する。フロー制御手段5110は、中央管理装置520からのスケジューリング結果に基づいて、当該特定フローを1つ以上のフローレットに分割し、当該フローレットを各々のパス上で転送する。   The host 510 includes a flow control unit 5110 and a bandwidth reservation unit 5120. The bandwidth reservation unit 5120 applies to the central management device 520 for the bandwidth reserved for the specific flow. The flow control unit 5110 divides the specific flow into one or more flowlets based on the scheduling result from the central management apparatus 520, and transfers the flowlets on each path.

中央管理装置520は、スイッチコントローラ5210と、フロースケジューリング手段5220と、帯域幅使用状況・パス情報テーブル記憶手段5230と、帯域幅要求収集手段5240とを備える。帯域幅要求収集手段5240は、ホスト510からフローの帯域幅要求を収集する。帯域幅使用状況・パス情報テーブル記憶手段5230は、すべてのリンクの帯域幅使用状況と、各ホストペアのすべての任意パスとを記憶する。フロースケジューリング手段5220は、ネットワークリンクの現在の帯域幅使用状況に基づいて、特定フロー用のすべての任意パスから1つ以上の適切なパスを割り当てる。スイッチコントローラ5210は、当該特定フローを転送するために、フロースケジューリング手段5220から受け取ったスケジューリング結果に基づいて、対応するスイッチ内に転送エントリを作成する。   The central management apparatus 520 includes a switch controller 5210, a flow scheduling unit 5220, a bandwidth usage / path information table storage unit 5230, and a bandwidth request collection unit 5240. The bandwidth request collection unit 5240 collects a flow bandwidth request from the host 510. The bandwidth usage / path information table storage unit 5230 stores the bandwidth usage of all links and all arbitrary paths of each host pair. The flow scheduling means 5220 allocates one or more appropriate paths from all arbitrary paths for a specific flow based on the current bandwidth usage of the network link. In order to transfer the specific flow, the switch controller 5210 creates a transfer entry in the corresponding switch based on the scheduling result received from the flow scheduling unit 5220.

次に、図5に示す動的フローレットスケジューリングシステム50の動作について、図6を参照しながら詳細に説明する。   Next, the operation of the dynamic flowlet scheduling system 50 shown in FIG. 5 will be described in detail with reference to FIG.

図6は、本発明の一実施例による動的フローレットスケジューリングシステム50の動作を示すフローチャートである。図6においては、ホストA、ホストB、ホストCの各々は図5に示すホスト510を使用して実施し、中央管理装置は図5に示す中央管理装置520を使用して実施し、スイッチは図5に示すスイッチ530を使用して実施することができる。具体的な動作は以下のとおりである。   FIG. 6 is a flowchart illustrating the operation of the dynamic flowlet scheduling system 50 according to an embodiment of the present invention. In FIG. 6, each of the host A, host B, and host C is implemented using the host 510 shown in FIG. 5, the central management apparatus is implemented using the central management apparatus 520 shown in FIG. It can be implemented using the switch 530 shown in FIG. The specific operation is as follows.

1.1:送信元ホストA上で、ある特定のアプリケーションが帯域幅予約手段に対し、このアプリケーションに対応するフローの帯域幅要求を通知する。
1.2:送信元ホストAの帯域幅予約手段が、中央管理装置に対し帯域幅の予約を申請する。
1.3:中央管理装置のフロースケジューリング手段が、スケジューリングアルゴリズム(後述する)に基づいて、フロースケジューリングを実行する(すなわち、すべての任意パスからの1つ以上のパスを当該特定フロー用に割り当てる)。
1.4:中央管理装置が、帯域幅の予約を申請した送信元ホストAに、割り当てられたパスと、各パスの予約された帯域幅とを返す。
1.5:送信元ホストAのフロー制御手段が、スケジューリング結果に基づいて、当該特定フローを1つ以上のフローレットに分割する。
1.6:送信元ホストAが、中央管理装置にフローレット情報(フローレットが使用するポート番号等)を報告する。
1.7:中央管理装置のスイッチコントローラが、対応するスイッチ内に転送エントリを作成して、対応するスイッチが新たに選択されたパスを介してフローレットを転送するようにする。
1.8:中央管理装置は、状況に応じて、当該特定フローの帯域幅予約に対応するための余地を作るために、他のホスト(例:ホストC)に対しいくつかの既存のフローのパスと占有帯域幅を変更するよう指示する。
1.9:このコマンドを受信したホストCは、中央管理装置の指示に従って、当該いくつかの既存のフローのパスと占有帯域幅を変更する。
1.10:送信元ホストAが、各々1つのフローレットに対応する1つ以上の接続を介してデータを送信する。
1.11:宛先ホストBが、当該1つ以上のフローレットを介してデータを受信する。
1.1: On the transmission source host A, a specific application notifies the bandwidth reservation unit of a bandwidth request for a flow corresponding to this application.
1.2: The bandwidth reservation means of the transmission source host A applies for bandwidth reservation to the central management apparatus.
1.3: The flow scheduling unit of the central management apparatus executes flow scheduling based on a scheduling algorithm (described later) (that is, one or more paths from all arbitrary paths are allocated for the specific flow). .
1.4: The central management apparatus returns the allocated path and the reserved bandwidth of each path to the transmission source host A that has applied for bandwidth reservation.
1.5: The flow control means of the source host A divides the specific flow into one or more flowlets based on the scheduling result.
1.6: The transmission source host A reports the flowlet information (port number used by the flowlet, etc.) to the central management apparatus.
1.7: The switch controller of the central management device creates a forwarding entry in the corresponding switch so that the corresponding switch forwards the flowlet through the newly selected path.
1.8: Depending on the situation, the central management unit may allow some existing flows to other hosts (eg host C) to make room for the bandwidth reservation of the particular flow. Instruct to change path and occupied bandwidth.
1.9: The host C that has received this command changes the paths and occupied bandwidths of the several existing flows in accordance with instructions from the central management apparatus.
1.10: Source host A sends data over one or more connections each corresponding to one flowlet.
1.11: The destination host B receives data via the one or more flowlets.

図7は、本発明の一実施例によるフロースケジューリングアルゴリズムを示すフローチャートである。このスケジューリングアルゴリズムは、フロースケジューリングを実行するために、図5に示す中央管理装置520のフロースケジューリング手段5220によって実行されてもよい。   FIG. 7 is a flowchart illustrating a flow scheduling algorithm according to an embodiment of the present invention. This scheduling algorithm may be executed by the flow scheduling means 5220 of the central management device 520 shown in FIG. 5 in order to execute flow scheduling.

まず、ステップS701において、フローFとその帯域幅要求Rが取得される。 First, in step S701, the flow F and its bandwidth request RF are acquired.

ステップS702において、フローFのすべての任意パスが検出される。ここでは、各々アイドル帯域幅Ciを有する合計N個のパス{Pi、1<=i<=N}があると想定する。   In step S702, all arbitrary paths of the flow F are detected. Here, it is assumed that there are a total of N paths {Pi, 1 <= i <= N} each having an idle bandwidth Ci.

ステップS703において、以下の式を用いて、全N個のパスのアイドル状態帯域幅の合計が計算される。
In step S703, the total idle state bandwidth of all N paths is calculated using the following equation:

次に、ステップS704において、SはR以上か否かが判定される。SがR以上の場合(これは、既存のN個のパスのアイドル帯域幅がフローFの帯域幅要求を満たすことを意味する)には、処理はステップS705に進む。SがR未満の場合(これは、既存のN個のパスのアイドル帯域幅がフローFの帯域幅要求を満たさず、従ってこれらのパスの他のフローは、フローFが流れる余地を作る必要があることを意味する)には、処理はステップS707に進む。 Next, in step S704, S F is determined whether or R F. If S F is greater than R F (This means that that the idle bandwidth of the existing of the N paths meet the bandwidth requirements of the flow F), the process proceeds to step S705. If SF is less than R F (this means that the idle bandwidth of the existing N paths does not meet the bandwidth requirements of flow F, so other flows in these paths will make room for flow F to flow The process proceeds to step S707.

がR以上の場合には、ステップS705において、当該特定フローの任意パスPiがそのアイドル帯域幅Ciの多い順に並べ替えられ、これらの並び替えられた任意パスからいくつかのパスPi(この数をMとする)が選択され、条件
が満足されるまでこれが繰り返される。次にステップS706において、選択されたM個のパスがフローFに割り当てられ、M個のパスのアイドル帯域幅CiがフローFのために予約される。これでフロースケジューリング処理は終了し、制御が返される。
If S F is greater than R F is, in step S705, the arbitrary path Pi of the specific flow is sorted in descending order of the idle bandwidth Ci, some of these rearranged any path path Pi ( This number is assumed to be M) and the condition
This is repeated until is satisfied. Next, in step S706, the selected M paths are assigned to flow F and the idle bandwidth Ci of M paths is reserved for flow F. This ends the flow scheduling process and returns control.

がR未満の場合には、ステップS707において、{Pi,1<=i<=N}を通る他のフロー{Fj,1<=j<=L}(すなわち、フローFと同じパスを共有するフロー)が検出される。既存のN個のパスのアイドル帯域幅ではフローFの帯域幅要求を満たすことができないので、L個のフローのうちいくつかのフローが、フローFの帯域幅要求を満たすための余地を作る必要がある。 If S F is less than R F , in step S707, another flow {Fj, 1 <= j <= L} that passes through {Pi, 1 <= i <= N} (that is, the same path as the flow F) Are detected). The idle bandwidth of the existing N paths cannot satisfy the bandwidth requirement of the flow F, so some of the L flows need to make room to satisfy the bandwidth requirement of the flow F. There is.

ステップS708において、各フローFjについて、すべての任意パス{Hjk,1<=k<=Nj}が検出される。ここで、j番目のフローFjはNj個のパスを有し、各パスHjkはアイドル帯域幅Cjkを有する。また、パス{Hjk,1<=k<=Nj,1<=j<=L}においては、合計T個のパスがあり、当該T個のパスの各々はアイドル帯域幅Ctを有すると想定する。異なる複数のフローFjは、各々のパスセットHjk、
に共通の要素を有することができる。
In step S708, all arbitrary paths {Hjk, 1 <= k <= Nj} are detected for each flow Fj. Here, the j-th flow Fj has Nj paths, and each path Hjk has an idle bandwidth Cjk. Further, in the path {Hjk, 1 <= k <= Nj, 1 <= j <= L}, it is assumed that there are a total of T paths, and each of the T paths has an idle bandwidth Ct. . A plurality of different flows Fj are represented by respective path sets Hjk,
Can have common elements.

ステップS709において、T個のパスのアイドル帯域幅の合計
と、各フローFjのアイドル帯域幅の合計
とが、計算される。
In step S709, the total idle bandwidth of the T paths
And the total idle bandwidth of each flow Fj
And is calculated.

ステップS710において、T個のパスのアイドル帯域幅の合計SumがR以上かどうかが判定される。SumがR以上の場合には、フローFが流れる余地を作るためにL個のフローFjが他のパスに再スケジュールされて、フローFの帯域幅要求が満足されるので、プロセスはステップS711に進む。SumがR未満の場合には、L個のフローFjが他のパスに再スケジュールされても、フローFの帯域幅要求は満足されないので、プロセスはステップS712に進む。 In step S710, the sum Sum of the idle bandwidth of the T path is determined whether or R F. If Sum is greater than or equal to R F , the L flows Fj are rescheduled to another path to make room for the flow F to flow, and the bandwidth requirement of the flow F is satisfied, so the process is step S711. Proceed to If Sum is less than R F , the flow proceeds to step S712 because the bandwidth request for flow F is not satisfied even if L flows Fj are rescheduled to another path.

SumがR以上の場合には、ステップS711において、フローFjはパスSjのアイドル帯域幅の合計が多い順に並び替えられ、いくつかのフローFjが順に選択され、これらのフローがそれぞれのアイドルパスに再スケジュールされ、解放された帯域幅がフローFに割り当てられる。この動作は、SがR以上になるまで繰り返し継続される。前記再スケジュール動作は、既存のフローレットの再分割、集約、および帯域幅変更で構成される。SがR以上になると、プロセスはステップS705に進む。 If Sum is greater than or equal to R F , in step S711, the flow Fj is rearranged in order of increasing total idle bandwidth of the path Sj, several flows Fj are selected in turn, and these flows are assigned to their respective idle paths. And the freed bandwidth is allocated to flow F. This operation, S F is repeatedly continued until the above R F. The rescheduling operation is composed of subdivision of existing flowlets, aggregation, and bandwidth change. When S F is greater than or equal to R F, the process proceeds to step S705.

SumがR未満の場合には、ステップS712において、フローFの追加によりフローFのどのパスにもアイドル帯域幅はもうないが、Fjの他のパスにはアイドル帯域幅Sjがある可能性があることを考慮して、Fjがそれぞれのアイドルパスに再スケジュールされ、その帯域幅が使い果たされる。その後、ステップS713において、L個のフローFjを他のパスに再スケジュールしたとしてもフローFの帯域幅要求は満足されないことを考慮して、パス{Pi,1<=i<=N}のアイドル帯域幅が、フローFと、マキシミン公正原理に基づいた再スケジュール後にもまだパス{Pi,1<=i<=N}のいずれかを通過する残余フローとに割り当てられる。このとき、パスPiと、計算された対応する帯域幅が、フローFに割り当てられる。これでフロースケジューリング処理は終了し、制御が返される。 If Sum is less than R F , there is no possibility that there is no idle bandwidth in any path of flow F due to the addition of flow F in step S712, but other paths in Fj may have idle bandwidth Sj. Considering that, Fj is rescheduled to each idle path and its bandwidth is exhausted. Thereafter, in step S713, considering that the bandwidth requirement of the flow F is not satisfied even if the L flows Fj are rescheduled to another path, the idle of the path {Pi, 1 <= i <= N} Bandwidth is allocated to flow F and the residual flow that still passes through any of the paths {Pi, 1 <= i <= N} after rescheduling based on the Maximin fairness principle. At this time, the path Pi and the calculated corresponding bandwidth are allocated to the flow F. This ends the flow scheduling process and returns control.

フロースケジューリングの終了後、ホスト510のフロー制御手段5110は中央管理装置520から、スケジューリング結果を取得する。この結果には、当該特定フローに割り当てられたパスと、各パスの予約された帯域幅とが含まれる。フロー制御手段5110は、割り当てられたパスに基づいて、当該特定フローを各々1つの割り当てられたパスに対応する1つ以上のフローレットに分割し、その後、各々1つのフローレットに対応する1つ以上の接続を確立する。フロー制御手段5110は、このようにして、異なるパス上の帯域幅予約に基づいて、個々のデータトラフィックを送信する。   After the flow scheduling is completed, the flow control unit 5110 of the host 510 acquires a scheduling result from the central management apparatus 520. This result includes the path assigned to the specific flow and the reserved bandwidth of each path. Based on the assigned path, the flow control means 5110 divides the specific flow into one or more flowlets each corresponding to one assigned path, and then one corresponding to each one flowlet. The above connection is established. The flow control means 5110 thus transmits individual data traffic based on bandwidth reservations on different paths.

フロー制御手段5110は、データ送信中に中央管理装置520からある接続に対応するフローを変更するよう求めるコマンドを受信した場合には、その接続を終了して新たな接続を開始することができる。対応するフローの変更では、フローの分割、フローレットの集約、フローレットの予約済み帯域幅の変更といった動作が実行される。   When the flow control unit 5110 receives a command for changing the flow corresponding to a certain connection from the central management apparatus 520 during data transmission, the flow control unit 5110 can terminate the connection and start a new connection. In the corresponding flow change, operations such as flow splitting, flowlet aggregation, and flowlet reserved bandwidth change are executed.

これに加えて、フロー制御手段5110はデータ送信中に、上位層アプリケーションのデータトラフィックも制御する。上位層アプリケーションがデータトラフィックを予約された帯域幅よりも高速で送信する場合には、フロー制御手段5110は、上位層アプリケーションのデータをキャッシュして、中央管理装置520によって予約された帯域幅に基づいてそのデータを送信することができる。アプリケーション用として大きな帯域幅が予約されたために、一定時間が経過した後もデータ送信速度が予約された帯域幅に到達しなかった場合には、フロー制御手段5110は中央管理装置520に通知して、リソースの予約を変更するよう求めることができる。   In addition, the flow control means 5110 controls data traffic of higher layer applications during data transmission. When the upper layer application transmits data traffic at a higher speed than the reserved bandwidth, the flow control means 5110 caches the data of the upper layer application and based on the bandwidth reserved by the central management device 520. The data can be transmitted. If the data transmission rate does not reach the reserved bandwidth even after a certain period of time because a large bandwidth is reserved for the application, the flow control means 5110 notifies the central management device 520 , You can ask to change the resource reservation.

アプリケーションが終了すると、フロー制御手段5110は中央管理装置520に通知して、対応するリソースの予約をキャンセルするよう求めることができる。   When the application ends, the flow control means 5110 can notify the central management device 520 and request to cancel the reservation of the corresponding resource.

中央管理装置520のフロースケジューリング手段5220は、フロースケジューリング中には、すべてのリンクの帯域幅使用状況と、各ホストペアのすべての任意パスとを把握している必要がある。この理由から、帯域幅使用状況・パス情報テーブル記憶手段5230には、各ホストペアのすべての任意パスを保持するパステーブルと、すべてのフローレットについて、各々が属するフロー、各々が通過するパス、およびこれらのパスの予約された帯域幅を保持する帯域幅使用状況テーブルとが記憶されている。以下の表1および表2は、それぞれ、パステーブルと帯域幅使用テーブルの例を示す。

The flow scheduling means 5220 of the central management device 520 needs to know the bandwidth usage status of all links and all arbitrary paths of each host pair during flow scheduling. For this reason, the bandwidth usage status / path information table storage means 5230 includes a path table that holds all arbitrary paths of each host pair, a flow to which each flow belongs, a path through which each passes, and A bandwidth usage status table holding the reserved bandwidths of these paths is stored. Tables 1 and 2 below show examples of a path table and a bandwidth usage table, respectively.

メディアストリーミング等の一部のアプリケーションでは、受信されたデータをその順序で保持する必要がある。しかし、データはホストで複数のフローレットに分割された後、複数の接続を介して送信されるので、データの順序は保証されない。そのため、受信側のホストは、データの再構築を実行する必要がある。   Some applications, such as media streaming, need to keep received data in that order. However, since the data is divided into a plurality of flowlets at the host and then transmitted through a plurality of connections, the order of the data is not guaranteed. Therefore, the host on the receiving side needs to perform data reconstruction.

図8は、受信されたデータの再構築を可能にした、本発明の他の実施例による動的フローレットスケジューリングシステムを示すブロック図である。図8に示す動的フローレットスケジューリングシステム80が、図5に示す動的フローレットスケジューリングシステム50と異なる点は、動的フローレットスケジューリングシステム80のホスト810がデータ再構築手段8130をさらに備えることと、中央管理装置820の帯域幅使用状況・パス情報テーブル記憶手段8230が、帯域幅使用状況・パス情報テーブル記憶手段5230とは異なる内容を記憶していることである。具体的には、本実施例においては、データ再構築手段8130は複数フローレットから受信したデータを構築し、帯域幅使用状況・パス情報テーブル記憶手段8230は、すべてのリンクの帯域幅使用状況、および各ホストペアのすべての任意パスだけでなく、ポート番号等のフローレット情報も記憶する。次に、図8に示す動的フローレットスケジューリングシステム80の動作について、図9を参照しながら詳細に説明する。   FIG. 8 is a block diagram illustrating a dynamic flowlet scheduling system according to another embodiment of the present invention that allows reconstruction of received data. The dynamic flowlet scheduling system 80 shown in FIG. 8 is different from the dynamic flowlet scheduling system 50 shown in FIG. 5 in that the host 810 of the dynamic flowlet scheduling system 80 further includes data restructuring means 8130. The bandwidth usage status / path information table storage unit 8230 of the central management device 820 stores different contents from the bandwidth usage status / path information table storage unit 5230. Specifically, in this embodiment, the data restructuring unit 8130 constructs data received from a plurality of flowlets, and the bandwidth usage status / path information table storage unit 8230 includes the bandwidth usage status of all links, In addition, not only all arbitrary paths of each host pair but also flowlet information such as a port number is stored. Next, the operation of the dynamic flowlet scheduling system 80 shown in FIG. 8 will be described in detail with reference to FIG.

図9は、本発明の一実施例による動的フローレットスケジューリングシステム80の動作を示すフローチャートである。図9においては、ホストA、ホストB、ホストCの各々は図8に示すホスト810を使用して実施し、中央管理装置は図8に示す中央管理装置820を使用して実施し、スイッチは図8に示すスイッチ830を使用して実施することができる。   FIG. 9 is a flowchart illustrating the operation of the dynamic flowlet scheduling system 80 according to an embodiment of the present invention. In FIG. 9, each of host A, host B, and host C is implemented using the host 810 shown in FIG. 8, the central management device is implemented using the central management device 820 shown in FIG. It can be implemented using the switch 830 shown in FIG.

図から分かるように、図9の動作1.1〜1.11は図6のそれと同じなので、ここでは動作1.1〜1.11の詳細な説明は省略する。図6と比較して、図9は、1.12および1.13という2つの動作をさらに備える。   As can be seen from FIG. 9, the operations 1.1 to 1.11 in FIG. 9 are the same as those in FIG. 6, and thus detailed description of the operations 1.1 to 1.11. Compared to FIG. 6, FIG. 9 further comprises two operations, 1.12 and 1.13.

宛先ホストBが複数フローレットから受信したデータを再構築して、上位アプリケーションが元の順序でデータを受信できるようにするためには、データ再構築手段はどのフローレットが同じフローに属するかを把握している必要がある。そのため、中央管理装置はフローレット情報を宛先ホストBに提供する(動作1.12)。その後、宛先ホストBは複数フローレットからデータを受信し、中央管理装置から提供されたフローレット情報に基づいて受信したデータを再構築する(動作1.13)。   In order for the destination host B to reconstruct the data received from multiple flowlets so that the host application can receive the data in the original order, the data restructuring means determines which flowlet belongs to the same flow. It is necessary to know. Therefore, the central management apparatus provides the flowlet information to the destination host B (operation 1.12.). Thereafter, the destination host B receives data from a plurality of flowlets, and reconstructs the received data based on the flowlet information provided from the central management apparatus (operation 1.13).

したがって、たとえデータが複数フローレットに分割され、複数の接続を介して送信されたとしても、動的フローレットスケジューリングシステム80は受信したデータの順序を復元して、メディアストリーミング等の特定のアプリケーションの要件を満たすことができる。   Thus, even if the data is split into multiple flowlets and sent over multiple connections, the dynamic flowlet scheduling system 80 restores the order of the received data and allows for specific applications such as media streaming. Can meet the requirements.

以上、好ましい実施の形態をあげて本発明を説明したが、本発明は必ずしも、上記実施の形態に限定されるものでなく、その技術的思想の範囲内において様々に変形して実施することができる。   The present invention has been described above with reference to preferred embodiments. However, the present invention is not necessarily limited to the above embodiments, and various modifications can be made within the scope of the technical idea. it can.

さらに、上記実施形態の一部又は全部は、以下の付記のようにも記載されうるが、これに限定されない。   Further, a part or all of the above-described embodiment can be described as in the following supplementary notes, but is not limited thereto.

(付記1)
送信元ホストからの特定フローの帯域幅要求を収集するように構成された帯域幅要求収集手段と、
リンクの帯域幅使用状況とホストペアの任意パスとを記憶するように構成された記憶手段と、
現在のリンクの帯域幅使用状況に基づいて、前記特定フローの任意パスから1つ以上のパスを前記特定フロー用として割り当て、割り当てられたパスを送信元ホストに返し、かつ送信元ホストからフローレット情報を受信するように構成されたフロースケジューリング手段と、
前記フロースケジューリング手段のスケジューリング結果に基づいて、対応するスイッチを設定するように構成されたスイッチコントローラと
を備えることを特徴とする中央管理装置。
(Appendix 1)
A bandwidth request collection means configured to collect bandwidth requests for a specific flow from a source host;
Storage means configured to store link bandwidth usage and an arbitrary path of the host pair;
Based on the bandwidth usage status of the current link, one or more paths from the arbitrary path of the specific flow are allocated for the specific flow, the allocated path is returned to the transmission source host, and the flowlet is transmitted from the transmission source host. Flow scheduling means configured to receive information;
A central controller comprising: a switch controller configured to set a corresponding switch based on a scheduling result of the flow scheduling means.

(付記2)
前記フロースケジューリング手段は、前記特定フローの任意パスにおけるアイドル帯域幅の合計を計算し、前記特定フローの任意パスにおけるアイドル帯域幅の合計が前記特定フローの帯域幅要求と同じかそれ以上の場合、前記特定フローの任意パスから1つ以上のパスを前記特定フロー用として割り当てるように構成されることを特徴とする付記1に記載の中央管理装置。
(Appendix 2)
The flow scheduling means calculates a total idle bandwidth in an arbitrary path of the specific flow, and when the total idle bandwidth in an arbitrary path of the specific flow is equal to or greater than the bandwidth request of the specific flow, The central management device according to appendix 1, wherein one or more paths from an arbitrary path of the specific flow are allocated for the specific flow.

(付記3)
前記フロースケジューリング手段は、前記特定フローの任意パスにおけるアイドル帯域幅の合計が当該特定フローの帯域幅要求と同じかそれ以上の場合、前記特定フローの任意パスをアイドル帯域幅の多い順に並び替え、選択したパスのアイドル帯域幅の合計が前記特定フローの帯域幅要求と同じかそれ以上になるまで、前記並び替えた任意パスから1つのパスを順に選択するように構成されることを特徴とする付記2に記載の中央管理装置。
(Appendix 3)
The flow scheduling means rearranges the arbitrary paths of the specific flow in descending order of the idle bandwidth when the total idle bandwidth in the arbitrary path of the specific flow is equal to or greater than the bandwidth request of the specific flow, One path is sequentially selected from the rearranged arbitrary paths until the total idle bandwidth of the selected path is equal to or greater than the bandwidth request of the specific flow. The central management device according to attachment 2.

(付記4)
前記フロースケジューリング手段は、前記特定フローの任意パスにおけるアイドル帯域幅の合計が前記特定フローの帯域幅要求を下回る場合、前記特定フローの任意パスを通過する他のフローを検出し、当該他のフローの任意パスにおけるアイドル帯域幅の合計を計算し、当該他のフローの任意パスにおけるアイドル帯域幅の合計が当該特定フローの帯域幅要求と同じかそれ以上の場合、前記他のフローを再スケジュールして、前記特定フローの任意パスから1つ以上のパスを前記特定フロー用として割り当てるように構成されることを特徴とする付記2に記載の中央管理装置。
(Appendix 4)
The flow scheduling means detects another flow passing through the arbitrary path of the specific flow when the total idle bandwidth in the arbitrary path of the specific flow is lower than the bandwidth request of the specific flow, and detects the other flow If the total idle bandwidth in the arbitrary path of the other flow is equal to or greater than the bandwidth request for the specific flow, the other flow is rescheduled. The central management device according to appendix 2, wherein one or more paths from an arbitrary path of the specific flow are allocated for the specific flow.

(付記5)
前記フロースケジューリング手段は、前記他のフローの任意パスにおけるアイドル帯域幅の合計が前記特定フローの帯域幅要求と同じかそれ以上の場合、前記他のフローをその任意パスにおけるアイドル帯域幅合計の多い順に並び替え、並び替えられたフローから1つのフローを順に選択し、当該特定フローの任意パスにおけるアイドル帯域幅の合計が当該特定フローの帯域幅要求と同じかそれ以上になるまで、選択したフローを再スケジュールするように構成されることを特徴とする付記4に記載の中央管理装置。
(Appendix 5)
If the total idle bandwidth in the arbitrary path of the other flow is equal to or greater than the bandwidth request of the specific flow, the flow scheduling means determines that the other flow has a large total idle bandwidth in the arbitrary path. Reorder in order, select one flow from the reordered flows in order, and the selected flow until the total idle bandwidth in any path of the specific flow is equal to or greater than the bandwidth request of the specific flow The central management device according to appendix 4, wherein the central management device is configured to reschedule.

(付記6)
前記フロースケジューリング手段は、前記他のフローの任意パスにおけるアイドル帯域幅の合計が当該特定フローの帯域幅要求を下回る場合、前記他のフローをそのアイドルパスへ再スケジュールし、前記特定フローの任意パスにおけるアイドル帯域幅を、前記特定フローと、マキシミン公正原理に基づいた再スケジュール後にもまだ前記特定フローの任意パスを通過する残余フローとに割り当てるように構成されることを特徴とする付記4に記載の中央管理装置。
(Appendix 6)
The flow scheduling means reschedules the other flow to the idle path when the total idle bandwidth in the arbitrary path of the other flow is lower than the bandwidth request of the specific flow, and determines the arbitrary path of the specific flow. The additional bandwidth is configured to allocate the idle bandwidth in the specific flow and a remaining flow that still passes through an arbitrary path of the specific flow even after rescheduling based on the Maximin fairness principle Central management device.

(付記7)
前記フロースケジューリング手段は、前記送信元ホストから受信されたフローレット情報を宛先ホストへ送信するように構成されることを特徴とする付記1に記載の中央管理装置。
(Appendix 7)
The central management device according to claim 1, wherein the flow scheduling means is configured to transmit the flowlet information received from the transmission source host to a destination host.

(付記8)
前記記憶手段は、さらに、フローレット情報を記憶するように構成されることを特徴とする付記7に記載の中央管理装置。
(Appendix 8)
The central management device according to appendix 7, wherein the storage means is further configured to store flowlet information.

(付記9)
前記フローレット情報は、フローレットのポート番号を含むことを特徴とする付記7又は付記8に記載の中央管理装置。
(Appendix 9)
9. The central management device according to appendix 7 or appendix 8, wherein the flowlet information includes a port number of the flowlet.

(付記10)
送信元ホストからの特定フローの帯域幅要求を収集するステップと、
現在のリンクの帯域幅使用状況に基づいて、前記特定フローの任意パスから1つ以上のパスを前記特定フロー用として割り当てるステップと、
割り当てられたパスを送信元ホストに返すステップと、送信元ホストからフローレット情報を受信するステップと、
スケジューリング結果に基づいて対応するスイッチを設定するステップと
を含むことを特徴とするフロースケジューリング方法。
(Appendix 10)
Collecting bandwidth requests for a specific flow from the source host;
Assigning one or more paths from any path of the specific flow for the specific flow based on bandwidth usage of the current link;
Returning the assigned path to the source host; receiving flowlet information from the source host;
And setting a corresponding switch based on a scheduling result.

(付記11)
前記割り当てステップが、
前記特定フローの任意パスにおけるアイドル帯域幅の合計を計算し、
前記特定フローの任意パスにおけるアイドル帯域幅の合計が前記特定フローの帯域幅要求と同じかそれ以上の場合、当該特定フローの任意パスから1つ以上のパスを前記特定フロー用として割り当てることを特徴とする付記10に記載のフロースケジューリング方法。
(Appendix 11)
Said assigning step comprises:
Calculate the total idle bandwidth in any path of the specific flow;
When the total idle bandwidth in an arbitrary path of the specific flow is equal to or greater than the bandwidth request of the specific flow, one or more paths from the arbitrary path of the specific flow are allocated for the specific flow. The flow scheduling method according to Supplementary Note 10.

(付記12)
前記割り当てステップが、
前記特定フローの任意パスにおけるアイドル帯域幅の合計が当該特定フローの帯域幅要求と同じかそれ以上の場合、当該特定フローの任意パスがアイドル帯域幅の多い順に並び替え、選択したパスのアイドル帯域幅の合計が当該特定フローの帯域幅要求と同じかそれ以上になるまで、前記並び替えた任意パスから1つのパスを順に選択することを特徴とする付記11に記載のフロースケジューリング方法。
(Appendix 12)
Said assigning step comprises:
When the total idle bandwidth in the arbitrary path of the specific flow is equal to or greater than the bandwidth request of the specific flow, the arbitrary path of the specific flow is rearranged in descending order of the idle bandwidth, and the idle bandwidth of the selected path 12. The flow scheduling method according to appendix 11, wherein one path is sequentially selected from the rearranged arbitrary paths until the total width becomes equal to or greater than the bandwidth request of the specific flow.

(付記13)
前記割り当てステップが、
前記特定フローの任意パスにおけるアイドル帯域幅の合計が当該特定フローの帯域幅要求を下回る場合、前記特定フローの任意パスを通過する他のフローを検出し、当該他のフローの任意パスにおけるアイドル帯域幅の合計を計算し、当該他のフローの任意パスにおけるアイドル帯域幅の合計が当該特定フローの帯域幅要求と同じかそれ以上の場合、前記他のフローを再スケジュールし、前記特定フローの任意パスから1つ以上のパスを前記特定フロー用として割り当てることを特徴とする付記11に記載のフロースケジューリング方法。
(Appendix 13)
Said assigning step comprises:
When the total idle bandwidth in the arbitrary path of the specific flow is lower than the bandwidth request of the specific flow, another flow passing through the arbitrary path of the specific flow is detected, and the idle bandwidth in the arbitrary path of the other flow is detected. Calculate the total width, and if the total idle bandwidth in any path of the other flow is equal to or greater than the bandwidth request of the specific flow, reschedule the other flow and The flow scheduling method according to appendix 11, wherein one or more paths are allocated for the specific flow from the paths.

(付記14)
前記割り当てステップが、
前記他のフローの任意パスにおけるアイドル帯域幅の合計が当該特定フローの帯域幅要求と同じかそれ以上の場合、前記他のフローをその任意パスにおけるアイドル帯域幅合計の多い順に並び替え、並び替えたフローから1つのフローを順に選択し、当該特定フローの任意パスにおけるアイドル帯域幅の合計が当該特定フローの帯域幅要求と同じかそれ以上になるまで、選択したフローを再スケジュールすることを特徴とする付記13に記載のフロースケジューリング方法。
(Appendix 14)
Said assigning step comprises:
When the total idle bandwidth in the arbitrary path of the other flow is equal to or greater than the bandwidth request of the specific flow, the other flows are rearranged in the descending order of the total idle bandwidth in the arbitrary path and rearranged. Select one flow from the selected flows in order, and reschedule the selected flow until the total idle bandwidth in any path of the specific flow is equal to or greater than the bandwidth request of the specific flow The flow scheduling method according to Supplementary Note 13.

(付記15)
前記割り当てステップが、
前記他のフローの任意パスにおけるアイドル帯域幅の合計が当該特定フローの帯域幅要求を下回る場合、前記他のフローをそのアイドルパスへ再スケジュールし、前記特定フローの任意パスにおけるアイドル帯域幅を、当該特定フローと、マキシミン公正原理に基づいた再スケジュール後にもまだ当該特定フローの任意パスを通過する残余フローとに割り当てることを特徴とする付記13に記載のフロースケジューリング方法。
(Appendix 15)
Said assigning step comprises:
If the total idle bandwidth in any path of the other flow is less than the bandwidth request for the specific flow, reschedule the other flow to the idle path and set the idle bandwidth in the arbitrary path of the specific flow to: 14. The flow scheduling method according to appendix 13, wherein the flow is assigned to the specific flow and a remaining flow that still passes through an arbitrary path of the specific flow even after rescheduling based on the Maximin fairness principle.

(付記16)
前記送信元ホストから受信されたフローレット情報を宛先ホストへ送信するステップをさらに含むことを特徴とする付記10に記載のフロースケジューリング方法。
(Appendix 16)
The flow scheduling method according to claim 10, further comprising the step of transmitting the flowlet information received from the transmission source host to a destination host.

(付記17)
前記フローレット情報はフローレットのポート番号を含むことを特徴とする付記16に記載のフロースケジューリング方法。
(Appendix 17)
The flow scheduling method according to appendix 16, wherein the flowlet information includes a port number of a flowlet.

(付記18)
中央管理装置に特定フロー用の帯域幅を申請するように構成された帯域幅予約手段と、
前記中央管理装置から返されたスケジューリング結果に基づいて、当該特定フローを1つ以上のフローレットに分割し、中央管理装置によって割り当てられたパス上で1つ以上のフローレットを転送するための対応する接続を確立するように構成されたフロー制御手段と
を備えることを特徴とするホスト。
(Appendix 18)
Bandwidth reservation means configured to apply for bandwidth for a specific flow to a central management device;
Correspondence for dividing the specific flow into one or more flowlets based on the scheduling result returned from the central management unit and transferring one or more flowlets on the path allocated by the central management unit And a flow control means configured to establish a connection to be made.

(付記19)
前記フロー制御手段は、フローレットを変更するコマンドを前記中央管理装置から受信した場合、対応する接続を調整するように構成されることを特徴をとする付記18に記載のホスト。
(Appendix 19)
The host according to appendix 18, wherein the flow control means is configured to adjust a corresponding connection when a command to change a flowlet is received from the central management apparatus.

(付記20)
1つ以上のフローレットを介して受信されたデータを再構築するように構成されたデータ再構築手段をさらに備えることを特徴とする付記18又は付記19に記載のホスト。
(Appendix 20)
The host according to appendix 18 or appendix 19, further comprising data reconstruction means configured to reconstruct data received via one or more flowlets.

4110:転送テーブル
4120:パケット転送手段
4130:フロー統計報告手段
4210:スイッチコントローラ
4220:フロースケジューリング手段
4230:フロー要求予想手段
4240:フロー要求テーブル
4250:フロー統計収集手段
5110:フロー制御手段
5120:帯域幅予約手段
5210:スイッチコントローラ
5220:フロースケジューリング手段
5230:帯域幅使用状況・パス情報テーブル
5240:帯域幅要求収集手段
5310:転送テーブル
5320:パケット転送手段
8110:フロー制御手段
8130:データ再構築手段
8120:帯域幅予約手段
8210:スイッチコントローラ
8220:フロースケジューリング手段
8230:帯域幅使用状況・パス情報テーブル記憶手段
8240:帯域幅要求収集手段
8310:転送テーブル
8320:パケット転送手段
830:スイッチ
80:動的フローレットスケジューリングシステム
4110: Forwarding table 4120: Packet forwarding means 4130: Flow statistics reporting means 4210: Switch controller 4220: Flow scheduling means 4230: Flow request prediction means 4240: Flow request table 4250: Flow statistics collection means 5110: Flow control means 5120: Bandwidth Reservation means 5210: Switch controller 5220: Flow scheduling means 5230: Bandwidth usage status / path information table 5240: Bandwidth request collection means 5310: Transfer table 5320: Packet transfer means 8110: Flow control means 8130: Data reconstruction means 8120: Bandwidth reservation means 8210: Switch controller 8220: Flow scheduling means 8230: Bandwidth usage status / path information table storage means 82 40: Bandwidth request collection means 8310: Forwarding table 8320: Packet forwarding means 830: Switch 80: Dynamic flowlet scheduling system

Claims (10)

送信元ホストからの特定フローの帯域幅要求を収集するように構成された帯域幅要求収集手段と、
リンクの帯域幅使用状況とホストペアの任意パスとを記憶するように構成された記憶手段と、
現在のリンクの帯域幅使用状況に基づいて、前記特定フローの任意パスから1つ以上のパスを前記特定フロー用として割り当て、割り当てられたパスを送信元ホストに返し、かつ送信元ホストから前記特定フローを所定の数に分割した各フローレットのフローレット情報を受信するように構成されたフロースケジューリング手段と、
前記フロースケジューリング手段のスケジューリング結果に基づいて、対応するスイッチを設定するように構成されたスイッチコントローラとを備える中央管理装置と、
前記中央管理装置に特定フロー用の帯域幅を申請するように構成された帯域幅予約手段と、
前記中央管理装置から返されたスケジューリング結果に基づいて、当該特定フローを1つ以上のフローレットに分割し、中央管理装置によって割り当てられたパス上で1つ以上のフローレットを転送するための対応する接続を確立するように構成されたフロー制御手段とを備えるホストとを備え、
前記フロー制御手段は、
前記フロースケジューリング手段によって割り当てられたパスの数に応じで前記フローをフローレットに分割し、1つのパスが1つの前記フローレットに割り当てられるように接続を確立し、
前記フローレット情報は、前記フローレットが使用するポート番号を含む
ことを特徴とする動的フローレットスケジューリングシステム
A bandwidth request collection means configured to collect bandwidth requests for a specific flow from a source host;
Storage means configured to store link bandwidth usage and an arbitrary path of the host pair;
Based on the bandwidth usage status of the current link, one or more paths from the arbitrary path of the specific flow are allocated for the specific flow, the allocated path is returned to the transmission source host, and the specific path is transmitted from the transmission source host. Flow scheduling means configured to receive flowlet information of each flowlet obtained by dividing the flow into a predetermined number ;
Based on the scheduling result of the flow scheduling means, the central management device in which Ru and a switch controller configured to set the corresponding switch,
Bandwidth reservation means configured to apply for bandwidth for a specific flow to the central management device;
Correspondence for dividing the specific flow into one or more flowlets based on the scheduling result returned from the central management unit and transferring one or more flowlets on the path allocated by the central management unit A host comprising flow control means configured to establish a connection to
The flow control means includes
Dividing the flow into flowlets according to the number of paths allocated by the flow scheduling means, establishing a connection so that one path is allocated to one flowlet;
The flowlet information includes a port number used by the flowlet.
A dynamic flowlet scheduling system characterized by that .
前記フロースケジューリング手段は、前記特定フローの任意パスにおけるアイドル帯域幅の合計を計算し、前記特定フローの任意パスにおけるアイドル帯域幅の合計が前記特定フローの帯域幅要求と同じかそれ以上の場合、前記特定フローの任意パスから1つ以上のパスを前記特定フロー用として割り当てるように構成されることを特徴とする請求項1に記載の動的フローレットスケジューリングシステムThe flow scheduling means calculates a total idle bandwidth in an arbitrary path of the specific flow, and when the total idle bandwidth in an arbitrary path of the specific flow is equal to or greater than the bandwidth request of the specific flow, The dynamic flowlet scheduling system according to claim 1, wherein one or more paths from an arbitrary path of the specific flow are configured to be allocated for the specific flow. 前記フロースケジューリング手段は、前記特定フローの任意パスにおけるアイドル帯域幅の合計が当該特定フローの帯域幅要求と同じかそれ以上の場合、前記特定フローの任意パスをアイドル帯域幅の多い順に並び替え、選択したパスのアイドル帯域幅の合計が前記特定フローの帯域幅要求と同じかそれ以上になるまで、前記並び替えた任意パスから1つのパスを順に選択するように構成されることを特徴とする請求項2に記載の動的フローレットスケジューリングシステムThe flow scheduling means rearranges the arbitrary paths of the specific flow in descending order of the idle bandwidth when the total idle bandwidth in the arbitrary path of the specific flow is equal to or greater than the bandwidth request of the specific flow, One path is sequentially selected from the rearranged arbitrary paths until the total idle bandwidth of the selected path is equal to or greater than the bandwidth request of the specific flow. The dynamic flowlet scheduling system according to claim 2. 前記フロースケジューリング手段は、前記特定フローの任意パスにおけるアイドル帯域幅の合計が前記特定フローの帯域幅要求を下回る場合、前記特定フローの任意パスを通過する他のフローを検出し、当該他のフローの任意パスにおけるアイドル帯域幅の合計を計算し、当該他のフローの任意パスにおけるアイドル帯域幅の合計が当該特定フローの帯域幅要求と同じかそれ以上の場合、前記他のフローを再スケジュールして、前記特定フローの任意パスから1つ以上のパスを前記特定フロー用として割り当てるように構成されることを特徴とする請求項2に記載の動的フローレットスケジューリングシステムThe flow scheduling means detects another flow passing through the arbitrary path of the specific flow when the total idle bandwidth in the arbitrary path of the specific flow is lower than the bandwidth request of the specific flow, and detects the other flow If the total idle bandwidth in the arbitrary path of the other flow is equal to or greater than the bandwidth request for the specific flow, the other flow is rescheduled. The dynamic flowlet scheduling system according to claim 2, wherein one or more paths from an arbitrary path of the specific flow are allocated for the specific flow. 前記フロースケジューリング手段は、前記他のフローの任意パスにおけるアイドル帯域幅の合計が前記特定フローの帯域幅要求と同じかそれ以上の場合、前記他のフローをその任意パスにおけるアイドル帯域幅合計の多い順に並び替え、並び替えられたフローから1つのフローを順に選択し、当該特定フローの任意パスにおけるアイドル帯域幅の合計が当該特定フローの帯域幅要求と同じかそれ以上になるまで、選択したフローを再スケジュールするように構成されることを特徴とする請求項4に記載の動的フローレットスケジューリングシステムIf the total idle bandwidth in the arbitrary path of the other flow is equal to or greater than the bandwidth request of the specific flow, the flow scheduling means determines that the other flow has a large total idle bandwidth in the arbitrary path. Reorder in order, select one flow from the reordered flows in order, and the selected flow until the total idle bandwidth in any path of the specific flow is equal to or greater than the bandwidth request of the specific flow The dynamic flowlet scheduling system of claim 4, wherein the dynamic flowlet scheduling system is configured to reschedule . 前記フロースケジューリング手段は、前記他のフローの任意パスにおけるアイドル帯域幅の合計が当該特定フローの帯域幅要求を下回る場合、前記他のフローをそのアイドルパスへ再スケジュールし、前記特定フローの任意パスにおけるアイドル帯域幅を、前記特定フローと、マキシミン公正原理に基づいた再スケジュール後にもまだ前記特定フローの任意パスを通過する残余フローとに割り当てるように構成されることを特徴とする請求項4に記載の動的フローレットスケジューリングシステムThe flow scheduling means reschedules the other flow to the idle path when the total idle bandwidth in the arbitrary path of the other flow is lower than the bandwidth request of the specific flow, and determines the arbitrary path of the specific flow. 5. The idle bandwidth in claim 4 is configured to allocate the idle bandwidth to the specific flow and a residual flow that still passes through an arbitrary path of the specific flow after rescheduling based on a Maximin fairness principle. The described dynamic flowlet scheduling system . 前記フロースケジューリング手段は、前記送信元ホストから受信されたフローレット情報を宛先ホストへ送信するように構成されることを特徴とする請求項1に記載の動的フローレットスケジューリングシステムThe dynamic flowlet scheduling system according to claim 1, wherein the flow scheduling unit is configured to transmit the flowlet information received from the transmission source host to a destination host. 前記記憶手段は、さらに、フローレット情報を記憶するように構成されることを特徴とする請求項7に記載の動的フローレットスケジューリングシステム8. The dynamic flowlet scheduling system according to claim 7, wherein the storage means is further configured to store flowlet information. 複数のホストと、中央管理装置とを備える動的フローレットスケジューリングシステムによるフロースケジューリング方法であって、
前記中央管理装置が備える帯域幅要求収集手段が、送信元ホストからの特定フローの帯域幅要求を収集する帯域幅要求収集ステップと、
前記中央管理装置が備える記憶手段が、リンクの帯域幅使用状況とホストペアの任意パスとを記憶する記憶ステップと、
前記中央管理装置が備えるフロースケジューリング手段が、現在のリンクの帯域幅使用状況に基づいて、前記特定フローの任意パスから1つ以上のパスを前記特定フロー用として割り当て、割り当てられたパスを送信元ホストに返し、かつ送信元ホストから前記特定フローを所定の数に分割した各フローレットのフローレット情報を受信するフロースケジューリングステップと、
前記中央管理装置が備えるスイッチコントローラが、前記フロースケジューリング手段のスケジューリング結果に基づいて、対応するスイッチを設定するスイッチコントロールステップと、
前記ホストが備える帯域幅予約手段が、前記中央管理装置に特定フロー用の帯域幅を申請する帯域幅予約ステップと、
前記ホストが備えるフロー制御手段が、前記中央管理装置から返されたスケジューリング結果に基づいて、当該特定フローを1つ以上のフローレットに分割し、中央管理装置によって割り当てられたパス上で1つ以上のフローレットを転送するための対応する接続を確立するフロー制御ステップとを有し、
前記フロー制御ステップで、
前記フロースケジューリングステップによって割り当てられたパスの数に応じで前記フローをフローレットに分割し、1つのパスが1つの前記フローレットに割り当てられるように接続を確立し、
前記フローレット情報は、前記フローレットが使用するポート番号を含む
ことを特徴とするフロースケジューリング方法
A flow scheduling method by a dynamic flowlet scheduling system comprising a plurality of hosts and a central management device,
Bandwidth request collecting means provided in the central management device collects a bandwidth request of a specific flow from a transmission source host,
A storage unit included in the central management device stores a bandwidth usage status of the link and an arbitrary path of the host pair;
The flow scheduling means included in the central management device allocates one or more paths from the arbitrary path of the specific flow for the specific flow based on the bandwidth usage status of the current link, and transmits the allocated path to the source A flow scheduling step of returning to the host and receiving flowlet information of each flowlet obtained by dividing the specific flow into a predetermined number from the transmission source host;
A switch controller provided in the central management device, a switch control step of setting a corresponding switch based on a scheduling result of the flow scheduling means;
Bandwidth reservation means provided in the host, a bandwidth reservation step of applying a bandwidth for a specific flow to the central management device;
The flow control means provided in the host divides the specific flow into one or more flowlets based on the scheduling result returned from the central management apparatus, and one or more on the path assigned by the central management apparatus A flow control step for establishing a corresponding connection for forwarding a flowlet of
In the flow control step,
Divides the flow into flowlets according to the number of paths allocated by the flow scheduling step, and establishes connections so that one path is allocated to one flowlet;
The flowlet information includes a port number used by the flowlet.
A flow scheduling method characterized by the above .
複数のホストと、中央管理装置とを備える動的フローレットスケジューリングシステムにおけるフロースケジューリングプログラムであって、
前記中央管理装置が備える帯域幅要求収集手段に、送信元ホストからの特定フローの帯域幅要求を収集する帯域幅要求収集処理を実行させ、
前記中央管理装置が備える記憶手段に、リンクの帯域幅使用状況とホストペアの任意パスとを記憶する記憶処理を実行させ、
前記中央管理装置が備えるフロースケジューリング手段に、現在のリンクの帯域幅使用状況に基づいて、前記特定フローの任意パスから1つ以上のパスを前記特定フロー用として割り当て、割り当てられたパスを送信元ホストに返し、かつ送信元ホストから前記特定フローを所定の数に分割した各フローレットのフローレット情報を受信するフロースケジューリング処理を実行させ、
前記中央管理装置が備えるスイッチコントローラに、前記フロースケジューリング手段のスケジューリング結果に基づいて、対応するスイッチを設定するスイッチコントロール処理を実行させ、
前記ホストが備える帯域幅予約手段に、前記中央管理装置に特定フロー用の帯域幅を申請する帯域幅予約処理を実行させ、
前記ホストが備えるフロー制御手段に、前記中央管理装置から返されたスケジューリング結果に基づいて、当該特定フローを1つ以上のフローレットに分割し、中央管理装置によって割り当てられたパス上で1つ以上のフローレットを転送するための対応する接続を確立するフロー制御処理を実行させ、
前記フロー制御処理で、
前記フロースケジューリング処理によって割り当てられたパスの数に応じで前記フローをフローレットに分割し、1つのパスが1つの前記フローレットに割り当てられるように接続を確立し、
前記フローレット情報は、前記フローレットが使用するポート番号を含む
ことを特徴とするフロースケジューリングプログラム
A flow scheduling program in a dynamic flowlet scheduling system comprising a plurality of hosts and a central management device,
The bandwidth request collection means provided in the central management device executes a bandwidth request collection process for collecting a bandwidth request of a specific flow from the transmission source host,
The storage means provided in the central management device executes a storage process for storing the bandwidth usage status of the link and the arbitrary path of the host pair,
Based on the current bandwidth usage status of the link, one or more paths from the arbitrary path of the specific flow are allocated for the specific flow to the flow scheduling means included in the central management apparatus, and the allocated path is the source Return to the host and execute flow scheduling processing for receiving the flowlet information of each flowlet obtained by dividing the specific flow into a predetermined number from the transmission source host,
Based on the scheduling result of the flow scheduling means, the switch controller included in the central management device is caused to execute a switch control process for setting a corresponding switch,
The bandwidth reservation means provided in the host causes the central management device to execute a bandwidth reservation process for applying for a bandwidth for a specific flow,
Based on the scheduling result returned from the central management device to the flow control means provided in the host, the specific flow is divided into one or more flowlets, and one or more on the path assigned by the central management device To execute the flow control process to establish the corresponding connection to transfer the flowlet of
In the flow control process,
Divides the flow into flowlets according to the number of paths allocated by the flow scheduling process, and establishes connections so that one path is allocated to one flowlet;
The flowlet information includes a port number used by the flowlet.
A flow scheduling program characterized by the above .
JP2011244242A 2011-03-28 2011-11-08 Dynamic flowlet scheduling system, flow scheduling method, and flow scheduling program Expired - Fee Related JP5324637B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201110085812.7 2011-03-28
CN201110085812.7A CN102710489B (en) 2011-03-28 2011-03-28 Dynamic shunt dispatching patcher and method

Publications (2)

Publication Number Publication Date
JP2012209928A JP2012209928A (en) 2012-10-25
JP5324637B2 true JP5324637B2 (en) 2013-10-23

Family

ID=46903059

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011244242A Expired - Fee Related JP5324637B2 (en) 2011-03-28 2011-11-08 Dynamic flowlet scheduling system, flow scheduling method, and flow scheduling program

Country Status (2)

Country Link
JP (1) JP5324637B2 (en)
CN (1) CN102710489B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9857577B2 (en) 2002-12-09 2018-01-02 European Molecular Biology Laboratory (Embl) Microscope with a viewing direction perpendicular to the illumination direction

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014198053A1 (en) * 2013-06-14 2014-12-18 Microsoft Corporation Fault tolerant and load balanced routing
CN104426792B (en) * 2013-09-05 2019-08-13 中兴通讯股份有限公司 Inquiry, notification method and the device of scheduler tenability
CN104579722A (en) * 2013-10-11 2015-04-29 中兴通讯股份有限公司 Flow statistics capability negotiation method and apparatus
US9300528B2 (en) * 2013-12-13 2016-03-29 International Business Machines Corporation Trill network with multipath redundancy
US9397957B2 (en) * 2013-12-23 2016-07-19 Google Inc. Traffic engineering for large scale data center networks
CN103729427B (en) * 2013-12-25 2017-08-29 南京未来网络产业创新有限公司 A kind of flow table conversion method based on self-defined multilevel flow table incremental update
CN103825838B (en) * 2014-02-24 2017-11-10 上海交通大学 A kind of data center removes bandwidth fragmentation stream scheduling method
CN104468352B (en) * 2014-12-26 2018-05-01 深圳市新格林耐特通信技术有限公司 Special flow QOS support methods based on SDN
CN104618157B (en) * 2015-01-27 2018-05-18 华为技术有限公司 Network management, equipment and system
CN105610709B (en) * 2016-02-03 2018-09-11 西安电子科技大学 Big current load equilibrium System and method for based on SDN
CN106027416B (en) * 2016-05-23 2019-03-01 北京邮电大学 A kind of data center network traffic scheduling method and system based on space-time combination
CN107634912B (en) 2016-07-19 2020-04-28 华为技术有限公司 Load balancing method, device and equipment
CN106254273A (en) * 2016-08-09 2016-12-21 清华大学深圳研究生院 The dispatching method of a kind of data center network stream and system
CN109327400B (en) 2017-08-01 2022-04-26 华为技术有限公司 Data communication method and data communication network
CN108199966A (en) * 2018-01-09 2018-06-22 莫毓昌 The network flow dynamic dispatching method and system at a kind of high-performance data center
CN109361603B (en) * 2018-11-26 2021-03-23 浪潮思科网络科技有限公司 Method and system for dynamically adjusting equivalent path flow based on programmable switching chip
CN109905329B (en) * 2019-01-04 2021-06-08 东南大学 Task type aware flow queue self-adaptive management method in virtualization environment
CN110061935B (en) * 2019-03-13 2022-02-18 平安科技(深圳)有限公司 Flow source ratio adjusting method and device, computer equipment and storage medium

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3769544B2 (en) * 2003-01-31 2006-04-26 富士通株式会社 Transmission band control device
JP2006081086A (en) * 2004-09-13 2006-03-23 Matsushita Electric Ind Co Ltd Routing apparatus, routing method, communication terminal device and packet communication system
CN1294723C (en) * 2004-12-17 2007-01-10 华为技术有限公司 Alleviation adjusting method for mobile IP burst flow
CN101072171A (en) * 2006-05-09 2007-11-14 薄明霞 Integrated routing method for multi-fiber IP over WDM net
US8483096B2 (en) * 2008-07-22 2013-07-09 The Regents Of The University Of California Scalable commodity data center network architecture
JP2010245640A (en) * 2009-04-01 2010-10-28 Mitsubishi Electric Corp Simulation method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9857577B2 (en) 2002-12-09 2018-01-02 European Molecular Biology Laboratory (Embl) Microscope with a viewing direction perpendicular to the illumination direction

Also Published As

Publication number Publication date
CN102710489B (en) 2015-07-29
CN102710489A (en) 2012-10-03
JP2012209928A (en) 2012-10-25

Similar Documents

Publication Publication Date Title
JP5324637B2 (en) Dynamic flowlet scheduling system, flow scheduling method, and flow scheduling program
Hong et al. Achieving high utilization with software-driven WAN
US10341208B2 (en) File block placement in a distributed network
Hu et al. Balanceflow: controller load balancing for openflow networks
WO2015096761A1 (en) Traffic behavior driven dynamic zoning for distributed traffic engineering in sdn
Ghosh et al. Scalable multi-class traffic management in data center backbone networks
CN105242956A (en) Virtual function service chain deployment system and deployment method therefor
Fang et al. Power-efficient virtual machine placement and migration in data centers
Noormohammadpour et al. {DCCast}: Efficient Point to Multipoint Transfers Across Datacenters
US20170099210A1 (en) Systems and Methods for Energy-Aware IP/MPLS Routing
JP2008536409A (en) Method and apparatus for enhanced content delivery over a data network
CN107666448B (en) 5G virtual access network mapping method under time delay perception
US10511524B2 (en) Controller communications in access networks
CN110463140B (en) Network service level agreement for computer data center
WO2019072162A1 (en) Virtual network mapping method, device and storage medium
Liu et al. Deadline guaranteed service for multi-tenant cloud storage
Noormohammadpour et al. DDCCast: Meeting point to multipoint transfer deadlines across datacenters using ALAP scheduling policy
KR20150080183A (en) Method and Apparatus for dynamic traffic engineering in Data Center Network
Wang et al. Network-aware placement of virtual machine ensembles using effective bandwidth estimation
JP6090587B2 (en) Method and apparatus for determining allocated resources and system for providing resources
WO2020217465A1 (en) Network controller
Bo et al. Adaptive scheme based on status feedback for virtual network mapping
Watashiba et al. An architectural design of a job management system leveraging software defined network
CN108737289B (en) Storage multipath load balancing method and system
Song et al. Ashman: A bandwidth fragmentation-based dynamic flow scheduling for data center networks

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130204

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130206

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130425

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130718

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees