(57)【特許請求の範囲】
【請求項１】
キュースケジューリング方法であって、
メッセージを再結合処理することと、
サブキューにおけるメッセージを転送処理することと、
サブキューの優先度を設定することとを含み、
前記メッセージを再結合処理することは、
メッセージを受信することと、
前記メッセージのネクストホップアドレスを取得することと、
前記メッセージを前記メッセージのネクストホップアドレスに対応するサブキューに追加することとを含み、
前記サブキューにおけるメッセージを転送処理することは、
１つの転送待ちメッセージのサブキューを選択することと、
前記サブキューの宛先アドレスを取得することと、
前記サブキュー中における少なくとも１つのメッセージを前記サブキューの宛先アドレスに対応する装置に転送することとを含み、
前記サブキューにおけるメッセージを転送処理することは、優先度が高いサブキューのメッセージを優先選択して転送処理することを含むキュースケジューリング方法。
【請求項２】
前記メッセージのネクストホップアドレスを取得した後、前記メッセージに対してメッセージパラメータの修正を行うことを更に含み、前記メッセージパラメータは前記メッセージのヘッダフィールドパラメータのうちの１種又は複数種であることを更に含む請求項１に記載のキュースケジューリング方法。
【請求項３】
サブキュー中に、前記サブキュー中におけるメッセージ数及びメッセージ全長情報を含むヘッダを設定することを更に含み、
前記メッセージを前記メッセージのネクストホップアドレスに対応するサブキューに追加することは、
前記サブキューのヘッダを抽出することと、
前記ヘッダに携帯しているメッセージ数及びメッセージ全長情報を更新することと、
前記メッセージを前記サブキューに追加することとを含む請求項１に記載のキュースケジューリング方法。
【請求項４】
キューに少なくとも２つのサブキューが含まれる場合、前記サブキューのメッセージ転送を行うと同時に、新たに受信したメッセージを再結合処理することを更に含む請求項１に記載のキュースケジューリング方法。
【請求項５】
前記サブキューにおけるメッセージを転送処理することは、
前記サブキュー中におけるすべてのメッセージを前記サブキューの宛先アドレスに対応する装置に転送することを含む請求項１に記載のキュースケジューリング方法。
【請求項６】
順次に接続された設定ユニット、受信ユニット、再結合ユニット及び転送ユニットを備えるキュースケジューリング装置であって、
前記設定ユニットは、キュー中に少なくとも１つのサブキューを設定するように設定され、
前記受信ユニットは、メッセージを受信して前記再結合ユニットに転送して再結合処理するように設定され、
前記再結合ユニットは、前記メッセージのネクストホップアドレスを取得し、前記メッセージを前記メッセージのネクストホップアドレスに対応するサブキューに追加するように設定され、及び
前記転送ユニットは、メッセージが再結合された後、サブキュー中におけるメッセージを転送するように設定され、
前記転送ユニットは、
１つの転送待ちメッセージのサブキューを選択し、前記サブキューの宛先アドレスを取得し、且つ前記キュー中における少なくとも１つのメッセージを前記サブキューの宛先アドレスに対応する装置に転送するという方式で、サブキュー中におけるメッセージを転送するように設定され、
前記設定ユニットは、更に、サブキューの優先度を設定するように設定され、
前記転送ユニットは、優先度が高いサブキューのメッセージを優先選択して転送処理するという方式で、サブキュー中におけるメッセージを転送するように設定されるキュースケジューリング装置。
【請求項７】
前記再結合ユニットは、更に、前記メッセージのネクストホップアドレスを取得した後、前記メッセージに対してメッセージパラメータの修正を行うように設定され、前記メッセージパラメータは前記メッセージのヘッダフィールドパラメータのうちの１種又は複数種である請求項６に記載のキュースケジューリング装置。
【請求項８】
前記設定ユニットは、更に、サブキュー中に、前記サブキュー中におけるメッセージ数及びメッセージ全長情報を含むヘッダを設定するように設定され、及び
前記再結合ユニットは、
前記サブキューのヘッダを読み取り、前記ヘッダに携帯しているメッセージ数及びメッセージ全長情報を更新し、前記メッセージを前記サブキューに追加するという方式で、前記メッセージを前記メッセージのネクストホップアドレスに対応するサブキューに追加するように設定される請求項６に記載のキュースケジューリング装置。
【請求項９】
前記再結合ユニットは、更に、キューに少なくとも２つのサブキューが含まれ、且つ前記転送ユニットが前記サブキューのメッセージを転送する場合、新たに受信したメッセージを再結合処理するように設定される請求項６に記載のキュースケジューリング装置。
【請求項１０】
前記転送ユニットは、
前記サブキュー中におけるすべてのメッセージを前記サブキューの宛先アドレスに対応する装置に転送するという方式で、サブキュー中におけるメッセージを転送するように設定される請求項６に記載のキュースケジューリング装置。
【請求項１１】
少なくとも１つのメッセージ送信装置、少なくとも１つのメッセージ受信装置、及び少なくとも１つの請求項６〜１０いずれか一つに記載のキュースケジューリング装置を含むキュースケジューリングシステムであって、
前記キュースケジューリング装置は、前記メッセージ送信装置が送信したメッセージを受信し、前記メッセージを前記メッセージ受信装置に転送するように設定されるキュースケジューリングシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は通信分野に関し、特にキュースケジューリング方法、装置及びシステムに関する。
【背景技術】
【０００２】
現在のネットワークが処理するデータ量はますます大きくなり、ネットワーク輻輳は非常に一般的であり、輻輳は、ユーザがリソースをタイムリに取得することができず、サービス性能の低下をもたらす源である。ネットワークに混雑が生じる場合、管理及び制御を行わなければならず、一般的な方法はキュー技術を用いることである。
【０００３】
従来のキューイング技術は、一般的に絶対優先（Strict Priority、ＳＰ）、加重ラウンドロビン（Weighted Round Robin、ＷＲＲ）、不足ラウンドロビン（Deficit Weighted Round Robin、ＤＷＲＲ）等の技術を用い、又はそのうちの両者を組み合わせて用いるが、関連技術では、ルータは、単一のメッセージを単位として転送する。ルータが１つのメッセージ又はデータパケットを処理する過程は、一般的に、分類、転送等の段階を含み、次に各データパケットを一つ一つ修正してレイヤ２のフレーム情報にカプセル化した後、該メッセージの宛先アドレスに送信し、この過程では、ルータは各モジュールの機能切り替え及び機能回復処理を行う必要があり、これには時間を必要とし、これらの理由により、シングルのメッセージを転送単位とするキュースケジューリング技術では、メッセージの転送量が大きすぎる場合、ルータ機能の切り替えはかなり時間がかかり、ネットワークインターフェースの輻輳を引き起こす問題が存在している。
【０００４】
ネットワーク技術の発展に伴って、メッセージの転送量が大きすぎる現象が頻繁に発生し、どのように大きすぎるメッセージの転送量がもたらすネットワーク輻輳を解決するかは当業者が解決すべき技術的問題になる。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来のキュースケジューリング技術において、単一のメッセージを転送する時、ルータ機能の頻繁な切り替えに起因する大きすぎる転送量がもたらすネットワーク輻輳が存在しているという問題を解決するために、本発明の実施例はキュースケジューリング方法、装置及びシステムを提供する。
【課題を解決するための手段】
【０００６】
本発明の実施例は、キュースケジューリング方法を提供しており、  
メッセージを再結合処理すること、及び
サブキューにおけるメッセージを転送処理することを含み、
前記メッセージを再結合処理することは、
メッセージを受信すること、
該メッセージのネクストホップアドレスを取得すること、及び
該メッセージを該メッセージのネクストホップアドレスに対応するサブキューに追加することを含む。
【０００７】
上記方法は、
メッセージのネクストホップアドレスを取得した後、メッセージに対してメッセージパラメータの修正を行うことを更に含んでもよく、そのうち、メッセージパラメータは、該メッセージのヘッダフィールドパラメータ中における１種又は複数種である。
【０００８】
上記方法は、
サブキュー中に該サブキュー中におけるメッセージ数及びメッセージ全長情報を含むヘッダを設定することを更に含んでもよく、
そのうち、前記メッセージを前記メッセージのネクストホップアドレスに対応するサブキューに追加することは、
サブキューのヘッダを抽出すること、
ヘッダに携帯しているメッセージ数及びメッセージ全長情報を更新すること、及び
メッセージをサブキューに追加することを、含む。
【０００９】
上記サブキュー中におけるメッセージを転送することは、
１つの転送待ちメッセージのサブキューを選択すること、
サブキューの宛先アドレスを取得すること、及び
該サブキュー中における少なくとも１つのメッセージを前記サブキューの宛先アドレスに対応する装置に送信することを含んでもよい。
【００１０】
上記方法は、
キューが少なくとも２つのサブキューを含む場合、サブキューのメッセージの転送を行うと同時に、新たに受信したメッセージを再結合処理することを更に含んでもよい。
【００１１】
上記サブキュー中におけるメッセージを転送することは、
サブキュー中におけるすべてのメッセージを前記サブキューの宛先アドレスに対応する装置に転送することを含んでもよい。
【００１２】
上記方法は、
サブキューの優先度を設定することを更に含んでもよく、
そのうち、前記サブキュー中におけるメッセージを転送することは、
優先度が高いサブキューのメッセージを優先選択して転送処理することを含んでもよい。
【００１３】
本発明の実施例は、順次に接続された設定ユニット、受信ユニット、再結合ユニット及び転送ユニットを備えるキュースケジューリング装置を提供しており、そのうち、
設定ユニットは、キュー中に少なくとも１つのサブキューを設定するように設定され、
受信ユニットは、メッセージを受信して再結合ユニットに転送して再結合処理するように設定され、
再結合ユニットは、メッセージのネクストホップアドレスを取得し、該メッセージを該メッセージのネクストホップアドレスに対応するサブキューに追加するように設定され、
転送ユニットは、メッセージを再結合した後、サブキュー中におけるメッセージを転送するように設定される。
【００１４】
前記再結合ユニットは、更に、前記メッセージのネクストホップアドレスを取得した後、前記メッセージに対してメッセージパラメータの修正を行うように設定されてもよく、そのうち、前記メッセージパラメータは前記メッセージのヘッダフィールドパラメータのうちの１種又は複数種である。
【００１５】
前記設定ユニットは、更に、サブキュー中に前記サブキュー中におけるメッセージ数及びメッセージ全長情報を含むヘッダを設定するように設定されてもよく、及び
前記再結合ユニットは、
前記サブキューのヘッダを読み取り、前記ヘッダに携帯しているメッセージ数及びメッセージ全長情報を更新し、前記メッセージを前記サブキューに追加するという方式で、前記メッセージを前記メッセージのネクストホップアドレスに対応するサブキューに追加するように設定されてもよい。
【００１６】
転送ユニットは、
１つの転送待ちメッセージのサブキューを選択し、サブキューの宛先アドレスを取得し、且つ該サブキュー中における少なくとも１つのメッセージを前記サブキューの宛先アドレスに対応する装置に転送するという方式で、サブキュー中におけるメッセージを転送するように設定されてもよい。
【００１７】
前記再結合ユニットは、更に、キューが少なくとも２つのサブキューを含み、且つ転送ユニットがサブキューのメッセージを転送する場合、新たに受信したメッセージを再結合処理するように設定されてもよい。
【００１８】
前記転送ユニットは、
前記サブキュー中におけるすべてのメッセージを前記サブキューの宛先アドレスに対応する装置に転送するという方式で、サブキュー中におけるメッセージを転送するように設定されてもよい。
【００１９】
前記設定ユニットは、更に、サブキューの優先度を設定するように設定されてもよく、  
前記転送ユニットは、優先度が高いサブキューのメッセージを優先選択して転送処理するという方式で、サブキュー中におけるメッセージを転送するように設定されてもよい。
【００２０】
本発明の実施例は、少なくとも１つのメッセージ送信装置、少なくとも１つのメッセージ受信装置、及び少なくとも１つの上記のキュースケジューリング装置を備えるキュースケジューリングシステムを更に提供し、そのうち、
キュースケジューリング装置は、メッセージ送信装置が送信したメッセージを受信し、且つメッセージをメッセージ受信装置に転送するように設定される。
【発明の効果】
【００２１】
本発明の実施によれば、新しいキュースケジューリング技術を提供しており、該技術は、メッセージキューイング段階では、メッセージを該メッセージのネクストホップアドレスに対応するサブキューに再結合することにより、メッセージのネクストホップアドレスに基づいて再結合を分類する目的を実現し、このように、１つのサブキュー中に該サブキューの目的情報とマッチングするメッセージのみが存在し、
選択肢として、メッセージを転送する場合、メッセージの宛先アドレスを一つ一つ読み取る必要がなく、１回のサブキューの宛先アドレスを読み取るだけで、サブキュー中におけるメッセージの転送を実現することができ、ルータの作業負荷を軽減させ、１回の処理で複数のメッセージを転送できる機能を実現し、ルータの転送効率を向上させる。
【図面の簡単な説明】
【００２２】
【図１】図１は、本発明の一実施例に係るキュースケジューリングシステムの構造模式図である。
【図２】図２は、図１に示すキュースケジューリングシステムにおけるキュースケジューリング装置１２の構造模式図である。
【図３】図３は、本発明の一実施例に係るキュースケジューリング方法のフローチャートである。
【図４】図４は、本発明一応用例に係るキュースケジューリング方法のフローチャートである。
【発明を実施するための形態】
【００２３】
以下、図面を参照しながら、本発明の実施例を説明する。ただし、矛盾が生じない場合、本願中における実施例及び実施例中における特徴は相互に任意に組み合せることができる。
【００２４】
従来のキュースケジューリング技術における、単一のメッセージを転送する時、ルータ機能の頻繁な切り替えに起因する大きすぎる転送量がもたらすネットワーク輻輳が存在するという問題を解決するために、本発明の実施例は、メッセージ転送キュー中に少なくとも１つのサブキューを設定する上で、キュースケジューリング方法を提供しており、該キュースケジューリング方法は、まず同じネクストホップ転送アドレスを有するメッセージを同一のサブキュー中に再結合し、メッセージ転送を行う場合、メッセージの宛先アドレスを一つ一つ読み取る必要がなく、サブキューの宛先アドレスを読み取るだけで、該サブキュー中におけるメッセージをその宛先アドレスのネクストホップアドレスに転送する機能を実現することができ、更に、宛先アドレスのサブキュー中におけるすべて又は複数のメッセージを１回で読み取り、複数のメッセージの転送に１回のみの機能切り替えが必要であるという目的を実現し、ルータ中における関連モジュールの機能切り替え／回復の回数及び時間を減少させ、ルータの処理効率を増加させる。
【００２５】
図１は、本発明の一実施例中におけるキュースケジューリングシステムの構造模式図であり、図１から分かるように、該実施例では、本発明の実施例に係るキュースケジューリングシステムは、少なくとも１つのメッセージ送信装置１１、少なくとも１つのキュースケジューリング装置１２、及び少なくとも１つのメッセージ受信装置１３を備え、そのうち、メッセージ送信装置１１は、メッセージを生成及び／又は送信することに用いられ、メッセージ受信装置１３は、メッセージを受信及び／又は転送することに用いられ、キュースケジューリング装置１２は、メッセージ送信装置１１が送信したメッセージを受信することに用いられ、且つメッセージをメッセージ受信装置１３に転送することに用いられる。
【００２６】
上記実施例では、メッセージ送信装置１１は、サービスアプリケーションプロバイダ等であってもよく、メッセージ受信装置１３は、移動端末又はパソコン（Personal Computer、ＰＣ）端末等であってもよく、キュースケジューリング装置１２はルータ又はネットワークスイッチ等であってもよく、予測可能なことは、キュースケジューリング装置１２がメッセージ受信及び転送機能を同時に具備することであり、他の実施例中では、キュースケジューリング装置１２は、メッセージ送信装置１１又はメッセージ受信装置１３に置き換えることができ、そのメッセージの送信又は受信機能を達成することができる。
【００２７】
従来のキュースケジューリング技術における、単一のメッセージを転送する時、ルータ機能の頻繁な切り替えに起因する大きすぎる転送量がもたらすネットワーク輻輳が存在しているという問題を解決するために、本発明の実施例では、従来のキュースケジューリング装置１２を改良し、改良後のキュースケジューリング装置１２の構造模式図を、図２に示す。
図２から明らかなように、一実施形態中では、本発明の実施例に係るキュースケジューリング装置１２は、順次に接続された設定ユニット１２１、受信ユニット１２２、再結合ユニット１２３及び転送ユニット１２４を備え、そのうち、
設定ユニット１２１は、キュー中に少なくとも１つのサブキューを設定することに用いられ、
受信ユニット１２２は、メッセージを受信し、且つ受信されたメッセージを再結合ユニット１２３に転送して再結合処理することに用いられ、
再結合ユニット１２３は、メッセージのネクストホップアドレスを取得し、該メッセージをメッセージのネクストホップアドレスに対応するサブキュー中に追加し、サブキューのメッセージを転送ユニット１２４に伝送して転送することに用いられ、及び
転送ユニット１２４は、メッセージを再結合した後、サブキュー中におけるメッセージを転送することに用いられる。
【００２８】
他の実施例では、上記実施例に係る設定ユニット１２１、受信ユニット１２２、再結合ユニット１２３及び転送ユニット１２４は以下のように作業してもよい。
設定ユニット１２１がキュー中にサブキューを設定する方式は、該キュースケジューリング装置１２が受信したすべてのメッセージで形成された転送キュー中に、複数のサブキューを設定することであり、そのうち、サブキューは、該キュースケジューリング装置１２のメッセージ転送ルートのネクストホップ転送装置、すなわち、メッセージ受信装置１３と一対一で対応し、且つサブキューの宛先アドレスを該サブキューに対応するメッセージ受信装置１３の唯一の識別情報とする。たとえば、第１のサブキューの目的情報を第１のメッセージ受信装置１３のメディアアクセス制御（Media Access Control、ＭＡＣ）情報とし、このようにサブキューとネクストホップ転送装置（メッセージ受信装置１３）の対応関係を作成し、このことからわかるように、サブキューと該キュースケジューリング装置１２のネクストホップ装置の数は一致し、且つ一対一対応し、
受信ユニット１２２は、メッセージ送信装置１１が送信したメッセージを受信し、且つ受信されたメッセージを再結合ユニット１２３に伝送して再結合処理することに用いられ、
再結合ユニット１２３がメッセージのネクストホップアドレスを取得する方式は、メッセージを解析処理し、メッセージの宛先情報を取得し、この宛先情報に基づいて、ルーティングテーブルをクエリし、該メッセージのネクストホップアドレスを確定し、更にネクストホップアドレスに基づいて該メッセージのネクストホップ転送装置（メッセージ受信装置１３）を確定し、確定されたネクストホップ転送装置（メッセージ受信装置１３）の唯一の識別情報に基づいて、該メッセージをどのサブキューの中に追加するかを確定し、該メッセージをメッセージのネクストホップアドレスに対応するサブキュー中に追加し、サブキューのメッセージを転送ユニット１２４に伝送して転送することであってもよく、
転送ユニット１２４がメッセージ転送を行う場合、単一のメッセージを選択して転送してもよく、複数のメッセージ／又はサブキュー中におけるすべてのメッセージを単位として選択して転送してもよい。
【００２９】
他の実施例では、上記実施例に係る設定ユニット１２１は、更に、サブキュー中に該サブキュー中におけるメッセージ数及びメッセージ全長情報を含むヘッダを設定することに用いられてもよく、再結合ユニット１２３は、サブキューのヘッダを読み取り、ヘッダに携帯しているメッセージ数及びメッセージ全長情報を更新し、メッセージをサブキューに追加するという方式で、メッセージをメッセージのネクストホップアドレスに対応するサブキューの中に追加することに用いられてもよい。この過程は、
サブキューのメッセージ数に１をプラスすること、
サブキューのメッセージ長さを更新すること、及び
メッセージをサブキューに追加することであってもよい。
【００３０】
上記処理過程は、サブキューの使用可能なメッセージ長さを更新することを含んでもよい。
【００３１】
他の実施例では、上記実施例に係る設定ユニット１２１は、更に、サブキュー中に該サブキューの使用可能なメッセージ長さ情報を含むヘッダを設定することに用いられてもよく、再結合ユニット１２３は、サブキューのヘッダを読み取り、ヘッダに携帯しているサブキューの使用可能なメッセージ長さが該サブキューのメッセージに追加する必要があるメッセージ長さより大きいかどうかを判断し、サブキューの使用可能なメッセージ長さが該サブキューのメッセージに追加する必要があるメッセージ長さより大きい場合のみに、該メッセージを該サブキューの中に追加するという方式で、メッセージをメッセージのネクストホップアドレスに対応するサブキューの中に追加することに用いられてもよい。
【００３２】
この判断過程は、
再結合ユニット１２３は、該サブキューの使用可能なメッセージ長さがメッセージのメッセージ長さの以上であるかどうかを判断し、そのうち、サブキューの使用可能なメッセージ長さは該サブキューが合計して収容可能なメッセージ長さから該サブキュー中におけるすべてのメッセージのメッセージ長さを差し引いた後得られたものであり、該サブキューが合計して収容可能なメッセージ長さは該メッセージのネクストホップ転送装置（メッセージ受信装置１３）の処理能力及び／又はネットワーク通信状態及び／又は本キュースケジューリング装置１２の転送能力に応じて計算して設定されてもよく、従って、各サブキューが合計して収容可能なメッセージ長さが同じではない恐れがあること、
そうであると、該メッセージを該サブキューに追加することができること、
そうではないと、該メッセージを該サブキューに追加することができず、該メッセージを破棄することであってもよい。
【００３３】
他の実施例では、上記実施例に係る再結合ユニット１２３は、更に、メッセージのネクストホップアドレスを取得した後、メッセージに対してメッセージパラメータの修正を行うことに用いられてもよく、そのうち、メッセージパラメータは該メッセージのヘッダフィールド（header field）パラメータのうちの１種又は複数種であり、例えば、該メッセージのheader fieldパラメータ中における生存時間（Time To Live、ＴＴＬ）パラメータ、巡回冗長検査（Cyclic Redundancy Check、ＣＲＣ）パラメータ、及びＭＡＣパラメータ等のパラメータが挙げられ、そのうち、ＴＴＬパラメータは、インタネットプロトコル（Internet Protocol、ＩＰ）パケットにおける１つの値であり、それはネットワークデータパケットのネットワークでの時間が長すぎて破棄されるべきであるかを知らせ、ＣＲＣパラメータはデータ通信分野では最も一般的なエラーチェックコードであり、その特徴は情報フィールド及びチェックフィールドの長さを任意に選択してもよいことであり、ＭＡＣパラメータはＭＡＣアドレス又はハードウェアアドレスとも称され、ネットワーク装置の位置を定義することに用いられ、これらのパラメータはいずれも関連技術中における一般的な名詞であり、修正規則の詳細説明は省略する。
【００３４】
選択肢として、他の実施例では、上記実施例に係る転送ユニット１２４は、１つの転送待ちメッセージのサブキューを選択し、該サブキューの宛先アドレスを取得し、且つサブキュー中における少なくとも１つのメッセージをサブキューの宛先アドレスに対応する装置に転送するという方式で、サブキュー中におけるメッセージを転送することに用いられてもよい。
【００３５】
他の実施例では、上記実施例に係る転送ユニット１２４は、１つの転送待ちメッセージのサブキューを選択し、該サブキューの宛先アドレスを取得し、且つサブキュー中におけるすべてのメッセージをサブキューの宛先アドレスに対応する装置に転送するという方式で、サブキュー中におけるメッセージを転送することに用いられてもよい。
【００３６】
上記の２つの実施例では、転送ユニット１２４がメッセージを転送する方式は、
サブキューのヘッダを検出し、サブキューに対応する宛先アドレスを取得し、
ヘッダに携帯している該サブキューのメッセージ数及びメッセージ長さ情報に基づいて、サブキューの少なくとも１つの及び／又はすべてのメッセージをサブキューの宛先アドレスに対応する装置、例えば、メッセージ受信装置１３等に転送することであってもよい。
【００３７】
上記処理過程は、該サブキューヘッダに携帯しているメッセージ数及びメッセージ全長情報をリセットし、ネクストサブキューのメッセージ転送フローを行うことを更に含んでもよい。
【００３８】
他の実施例では、キューが少なくとも２つのサブキューを含み、且つ転送ユニット１２４がサブキューのメッセージを転送する場合、再結合ユニット１２３は、更に、受信ユニット１２２が新たに受信したメッセージを再結合処理することに用いられてもよい。従来のキュースケジューリング技術中では、データパケット又はメッセージがキューに入った後から転送される前までの期間内にいかなる処理を行わず、時間の大きな無駄になり、すなわち、ルータ処理効率の低下をもたらしており、この転送待機期間を合理的に利用するために、本願は処理メカニズムを更に提供しており、本発明の実施例に係るこの並列処理メカニズムでは、ルータがメッセージ転送を行うと同時に、新たに受信されたメッセージを再結合（分類及び修正）処理することができ、それはルータのコプロセッサで実現されてもよい。
【００３９】
他の実施例では、上記実施例に係る設定ユニット１２１は、更に、各サブキューの優先度を設定することに用いられてもよく、転送ユニット１２４は、優先度が高いサブキューのメッセージを優先選択して転送処理するという方式で、サブキュー中におけるメッセージを転送することに用いられてもよく、設定ユニット１２１がサブキュー優先度を設定する方式は、ＳＰ、ＷＲＲ及びＤＷＲＲ等の技術を含むがそれらに制限されず、設定ユニット１２１が各サブキューの優先度を設定した後、転送ユニット１２４は、各サブキューの優先度及び所定の規則に従って、メッセージを送信する必要があるサブキューを選択し、選択されたサブキュー中における少なくとも１つのメッセージを該サブキューに対応するネクストホップ転送装置（メッセージ受信装置１３）に送信する。
【００４０】
予測可能なことは、各機能モジュールで矛盾が生じない場合、上記すべての実施例における機能モジュールの機能は組み合わせて使用することができることである。
【００４１】
上記の図１及び図２中における各機能モジュールを説明した後、図３を参照しながら、本願に係るキュースケジューリング方法の実施ステップを説明する。
【００４２】
図３は、本発明の一実施例に係るキュースケジューリング方法のフローチャートであり、図３から明らかなように、該実施例では、本発明の実施例に係るキュースケジューリング方法は、ステップ３０１〜ステップ３０４を含む。
【００４３】
ステップ３０１：メッセージを受信する。
【００４４】
受信ユニット１２２はメッセージを受信し、メッセージを再結合ユニット１２３に伝送する。
【００４５】
ステップ３０２：メッセージのネクストホップアドレスを取得する。
【００４６】
再結合ユニット１２３がメッセージのネクストホップアドレスを取得する方式は、メッセージの宛先アドレスを取得し、宛先アドレスに基づいてルーティングテーブルをサーチし、メッセージのネクストホップアドレスを確定することであってもよい。
【００４７】
メッセージのネクストホップアドレスを取得した後、該方法は、メッセージに対してメッセージパラメータの修正を行うことを更に含み、メッセージパラメータは該メッセージのheader fieldパラメータにおける１種又は複数種である。
【００４８】
ステップ３０３：メッセージを該サブキューに追加する。
【００４９】
メッセージをサブキューに追加する前、該方法は、メッセージがネクストホップアドレスに対応するサブキューに追加することができるかどうかを判断することを更に含み、該判断過程は、メッセージのメッセージ長さがサブキューの使用可能なメッセージ長さ以下であるかどうかを判断し、そうであると、メッセージをサブキューに追加することができ、そうではないと、メッセージを該サブキューに追加することができないことである。
【００５０】
メッセージをメッセージのネクストホップアドレスに対応するサブキューの中に追加することは、サブキューのヘッダを抽出し、そのうち、サブキューのヘッダは該サブキュー中におけるメッセージ数及びメッセージ全長情報を携帯することに用いられ、ヘッダに携帯しているメッセージ数及びメッセージ全長情報を更新し、メッセージをサブキューに追加することであってもよい。この過程は、
サブキューのメッセージ数に１をプラスすること、
サブキューのメッセージ長さを更新すること、及び
メッセージをサブキューに追加することであってもよい。
【００５１】
メッセージをサブキューに追加した後、該方法は、サブキューの使用可能なメッセージ長さを更新することを更に含んでもよい。
【００５２】
ステップ３０４：サブキューの少なくとも１つのメッセージを転送する。
【００５３】
転送ユニット１２４がメッセージを転送することは、
１つのサブキューを転送のターゲットサブキューとして選択すること、
該サブキューの宛先アドレスを取得すること、及び
サブキュー中における少なくとも１つのメッセージを該サブキューの宛先アドレスに対応する装置に転送することを含んでいる。
【００５４】
サブキュー中におけるすべてのメッセージを該サブキューの宛先アドレスに対応する装置に転送してもよい。
【００５５】
サブキューに優先度の設定がある場合、優先度が高いサブキューを転送のターゲットサブキューとして優先的に選択する。
【００５６】
キューが少なくとも２つのサブキューを含む場合、キュースケジューリング方法は、サブキューのメッセージの転送を行うと同時に、新たに受信したメッセージを再結合処理することを更に含んでもよい。
【００５７】
本願の思想をより明確に説明するために、以下、実際の作業を参照しながら、本発明の実施例を詳細に説明する。
【００５８】
図１〜３を参照しながら説明すれば、該実施例では、キュースケジューリング装置１２は、設定ユニット１２１、受信ユニット１２２、再結合ユニット１２３、転送ユニット１２４を備え、説明の便宜上、キュースケジューリングシステムに８つのネクストホップ装置、すなわち、８つのメッセージ受信装置１３が存在するものと設定し、以下、該キュースケジューリング装置１２のワークフローを説明すると、図４に示すように、ステップ４０１〜ステップ４０６を含む。
【００５９】
ステップ４０１：サブキューを設定する。
【００６０】
設定ユニット１２１は、ルータのネクストホップ装置（メッセージ受信装置１３）の個数に基づいてメッセージキュー中にサブキュー個数を設定し、サブキューとネットワークインターフェースとの対応関係を作成し、サブキュー１は第１個のメッセージ受信装置１３に対応し、……、サブキューＮは第Ｎ個のメッセージ受信装置１３に対応するものであり、第Ｎ個のメッセージ受信装置１３の処理能力に応じて、サブキューＮのヘッダを設定し、該ヘッダは該サブキューが現在に収容しているメッセージ数Ｍ及びメッセージ全長Ｌを携帯し、且つサブキューＮの目的情報は第Ｎ個のメッセージ受信装置１３である。
【００６１】
ステップ４０２：メッセージを受信し、メッセージのネクストホップアドレスを取得し、該ネクストホップアドレスはすなわち、該ルータのネクストホップ装置（メッセージ受信装置１３）のラベルである。
【００６２】
受信ユニット１２２はメッセージｉを受信し、メッセージｉを再結合ユニット１２３に伝送し、再結合ユニット１２３はメッセージｉの宛先アドレスを抽出し、この宛先アドレスに基づいて該メッセージｉのネクストホップアドレスを確定する。
【００６３】
ステップ４０３：メッセージを転送アドレスに対応するサブキューに追加することができるかどうかを判断する。
【００６４】
再結合ユニット１２３は、メッセージｉのネクストホップアドレスに基づいて、該メッセージｉを受信するネクストホップ装置（メッセージ受信装置１３）ｉを取得し、メッセージｉをネクストホップ装置ｉに対応するサブキューｉの中に追加することができるかどうかを判断する。判断方式は、メッセージｉのメッセージ長さｌｉとサブキューｉの使用可能なメッセージ長さ△Ｌを比較し、△Ｌ≧ｌｉである場合、メッセージｉをサブキューｉの中に追加することができ、そのうち、△Ｌはサブキューｉにおけるメッセージ数量Ｍ、メッセージ全長Ｌ及び該サブキューｉのネクストホップ装置ｉの処理能力に共同で決定され、△Ｌ＜ｌｉである場合、メッセージｉをサブキューｉの中に追加することができないことであってもよい。
【００６５】
ステップ４０４：メッセージをサブキューの中に追加する。
【００６６】
再結合ユニット１２３は、サブキューｉに含まれるメッセージ数Ｍ’をＭ’＋１に更新し、サブキューｉに含まれるメッセージ長さＬ’をＬ’＋ｌｉに更新し、メッセージｉをサブキューｉの中に追加する。
【００６７】
再結合ユニット１２３は、サブキューｉの使用可能なメッセージ長さ△Ｌを△Ｌ_ｌｉに更新することができる。この場合、かりに、サブキュー１中に８つのメッセージが存在し、サブキュー２中に１２個のメッセージが存在し、……、サブキューＮ中にｎ個のメッセージが存在するとする。
【００６８】
ステップ４０５：１つのサブキューを選択して転送する。
【００６９】
巡回原則又は優先度原則に基づいて、サブキューＫを選択して転送し、ここで、仮にＫ＝３とする。サブキュー３のメッセージを転送すると同時に、受信ユニット１２２が新たにメッセージを受信すると、メッセージを分類及び修正し、メッセージをサブキュー３以外の他のあるサブキュー中に添加する。
【００７０】
ステップ４０６：メッセージデータを転送する。
【００７１】
転送ユニット１２４は、サブキューＫのヘッダ及びサブキューＫに対応する宛先アドレスを検出し、ネクストホップ装置（メッセージ受信装置１３）Ｋを取得し、
転送ユニット１２４は、ヘッダ情報に携帯している該サブキューｉのメッセージ数Ｍ’及びメッセージ長さＬ’情報に基づいて、サブキューｉの少なくとも１つの又はすべてのメッセージを宛先アドレスに転送し、例えば、サブキュー１中における８つのメッセージ、サブキュー２中における１２個のメッセージ、……、サブキューＮ中におけるｎ個のメッセージをそれぞれ対応するネクストホップ装置に１回転送し、また、例えば、サブキューｉ中における少なくとも１つの又はすべてのメッセージをサブキューｉに対応する第ｉ個のネクストホップ装置（メッセージ受信装置１３）Ｋに転送する。
【００７２】
転送ユニット１２４は、サブキューＫの使用可能なメッセージ長さ△Ｌ、メッセージ数Ｍ及びメッセージ長さＬを初期値にリセットし、且つサブキュー（Ｋ＋１）のメッセージ転送操作を行う。
【００７３】
上記実施例では、再結合ユニット１２３、転送ユニット１２４の機能はルータのコプロセッサで達成される。
【００７４】
本願に係るキュースケジューリング技術では、サブキュー１のすべてのメッセージに対して１回のみのルータ解析操作を行い、他の７回のルーティングマッチング過程を不要にし、サブキュー２のすべてのメッセージに対して１回のみのルータ解析操作を行い、他の１１回のルーティングマッチング過程を不要にし、同じ理由で、サブキューＮは、他のｎ−１回のルーティングマッチング過程を不要にし、このように、メッセージの転送効率を速くするだけでなく、ルータのきついルーティングマッチング作業を大幅に軽減させ、
検出ユニットは、メッセージの転送待機期間内に、サブキュー中におけるすべてのメッセージに対して分類修正処理操作、すなわち再結合操作を行い、合理的に時間を利用し、ルータの作業効率を大幅に増加させ、
プログラマブルルータがますます普及されている前提で、特に関連するプログラマブルコプロセッサの応用につれて、この転送モードの改良による利益はますます高くなり、本願に係るキュースケジューリング方法及び装置によれば、キュースケジューリングモジュールの現場切り替え／回復時間を減少させ、ルータの転送効率を向上させる。
【００７５】
同時に、本願は、上記実施例に係るキュースケジューリング方法を実現するために、プログラマブルルータに基づいて、コンピュータアプリケーションプログラムを提供しており、該プログラムは本願に係るキュースケジューリング方法における再結合ステップ及び転送ステップを実現することに用いられ、以下の例が挙げられ、
再結合ステップを実現するためのプログラム：
１：  ＤＡ ← Ｄｅｓｔｉｎａｔｉｏｎ  Ａｄｄｒｅｓｓ
２：  ｎｅｘｔ  ｈｏｐ ← ｌｏｏｋｕｐ（ＤＡ）
３：  ｉｆ  ｐａｃｋｅｔｓｉｚｅ ＜ ｆｒｅｅｓｉｚｅ［ｎｅｘｔ  ｈｏｐ］  ｔｈｅｎ
４：  ｎｕｍｂｅｒ［ｎｅｘｔ  ｈｏｐ］＋＋
５：  ｌｅｎｇｔｈ［ｎｅｘｔ  ｈｏｐ］ ← ｌｅｎｇｔｈ［ｎｅｘｔ  ｈｏｐ］＋ｐａｃｋｅｔｓｉｚｅ
６：  Ａｄｄ  ｐａｃｋｅｔ  ｔｏ  ｑｕｅｕｅ  ｎｅｘｔ  ｈｏｐ
７：  ｆｒｅｅｓｉｚｅ［ｎｅｘｔ  ｈｏｐ］ ← ｑｕｅｕｅｓｉｚｅ−ｌｅｎｇｔｈ［ｎｅｘｔ  ｈｏｐ］
８：  ｅｎｄ  ｉｆ
転送ステップを実現するためのプログラム：
１：  ｗｈｉｌｅ  ｑｕｅｕｅ ＞ ０  ｄｏ
２：ｎｅｘｔ＿ｈｏｐ ← ｇｅｔ  ｉｎｔｅｒｆａｃｅ （ｑｕｅｕｅ）
３：  ｎｕｍｂｅｒ ← ｇｅｔ  ｎｕｍｂｅｒ （ｑｕｅｕｅ）
４：  ｆｏｒｗａｒｄｉｎｇ （ｎｅｘｔ＿ｈｏｐ，  ｌｅｎｇｔｈ，  ｎｕｍｂｅｒ）
５：  ｄｅｑｕｅｕｅ （ｑｕｅｕｅ）
６：  ｑｕｅｕｅ ← ｑｕｅｕｅ − １
７：  ｅｎｄ  ｗｈｉｌｅ
予測可能なことは、上記コンピュータプログラムは本願のキュースケジューリング方法を実現するための好適な実施例に過ぎず、上記コードに基づいて行った修正又は置き換え又は改良は、いずれも本願の保護範囲に属するものである。
【００７６】
本願は、記憶媒体を提供しており、該記憶媒体は、上記実施例に係る本願のキュースケジューリング技術を実現するためのコンピュータアプリケーションプログラムを格納することに用いられ、他の実施例では、該記憶媒体はディスク（Compact Disc、ＣＤ）、デジタルビデオディスク（Digital Video Compact Disc、ＤＶＣＤ）又はＵＳＢメモリ等の移動記憶媒体である。
【００７７】
以上は、本願の実施形態に過ぎず、本願を形態上に制限するためのものではなく、本願の技術的本質に基づいて以上の実施形態に対して行った任意の容易な変更、同等の変化又は修飾は、いずれも本願の技術的解決手段の保護範囲に属する。
【産業上の利用可能性】
【００７８】
本発明の実施例の技術的解決手段によれば、ルータの作業負荷を軽減させ、１回の処理で複数のメッセージを転送できる機能を実現し、ルータの転送効率を向上させる。
【図１】
0006055553.tif 000002
【図２】
0006055553.tif 000003
【図３】
0006055553.tif 000004
【図４】
0006055553.tif 000005