(57)【要約】本出願の実施形態は、マルチキャストパケット処理方法を開示する。本出願の実施形態における方法は、第１のネットワークノードによって、第１のマルチキャストパケットを受信するステップと、第１のネットワークノードによって、第１のマルチキャストパケットに対応するトリクルタイマーを始動するステップと、第１のネットワークノードによって、送信の瞬間Ｔ１の前に第１のトリクル期間において受信される第１のマルチキャストパケットの量Ｚ１が第１の冗長定数Ｋ１以下であるかどうかを決定するステップと、Ｚ１がＫ１以下である場合、第１のネットワークノードによって、第１のマルチキャストパケットをブロードキャストするステップと、第２のトリクル期間において受信される第１のマルチキャストパケットの量Ｚ２が第２の冗長定数Ｋ２以上であるかどうかを決定するステップであって、Ｋ２が近隣のネットワークノードの量に等しい整数である、ステップと、Ｚ２がＫ２以上である場合、第１のネットワークノードによって、第２のトリクル期間における第１のマルチキャストパケットのブロードキャストを止めるステップとを含む。本出願では、冗長定数は、近隣のネットワークノードの量以上の整数に設定され、それによりネットワークリソースを節約する。
2021519562.tif 000002
【特許請求の範囲】
【請求項１】
第１のネットワークノードによって、第２のネットワークノードによって送信される第１のマルチキャストパケットを受信するステップであって、前記第２のネットワークノードが前記第１のネットワークノードの任意の近隣のネットワークノードであり、前記近隣のネットワークノードが前記第１のネットワークノードに接続されるネットワークノードである、ステップと、
前記第１のネットワークノードによって、前記第１のマルチキャストパケットに対応するトリクルタイマーを始動し、前記トリクルタイマーのｅ個のトリクル期間の中の第１のトリクル期間を実行するステップであって、ｅが２以上の整数である、ステップと、
前記第１のネットワークノードによって、送信の瞬間Ｔ１の前に前記第１のトリクル期間において受信される第１のマルチキャストパケットの量Ｚ１が第１の冗長定数Ｋ１以下であるかどうかを決定するステップであって、Ｋ１が近隣のネットワークノードの量より大きい整数であり、Ｔ１が前記第１のトリクル期間の中のあらかじめ設定された瞬間である、ステップと、
Ｚ１がＫ１以下である場合、前記第１のネットワークノードによって、前記第１のマルチキャストパケットをブロードキャストするステップと、
前記第１のネットワークノードによって、送信の瞬間Ｔ２の前に第２のトリクル期間において受信される第１のマルチキャストパケットの量Ｚ２が第２の冗長定数Ｋ２以上であるかどうかを決定するステップであって、Ｋ２が近隣のネットワークノードの前記量に等しい整数であり、Ｔ２が前記第２のトリクル期間の中のあらかじめ設定された瞬間である、ステップと、
Ｚ２がＫ２以上である場合、前記第１のネットワークノードによって、前記第２のトリクル期間における前記第１のマルチキャストパケットのブロードキャストを止めるステップ、または、
Ｚ２がＫ２未満である場合、前記第１のネットワークノードによって、前記第１のマルチキャストパケットをブロードキャストするステップと
を備えるマルチキャストパケット処理方法。
【請求項２】
前記方法が、
ｅが３以上であるとき、前記第１のネットワークノードによって、第３のトリクル期間から第ｅのトリクル期間に対応するトリクルアルゴリズムを実行するステップをさらに備え、
前記第３のトリクル期間から前記第ｅのトリクル期間の各々に対応する冗長定数が近隣のネットワークノードの前記量に等しい請求項１に記載の方法。
【請求項３】
前記第１のマルチキャストパケットが、前記第２のネットワークノードがｉ回目の前記第１のマルチキャストパケットを送信することを示すために使用されるカウント情報を備え、ｉが０より大きい整数であり、
前記第１のネットワークノードによって、送信の瞬間Ｔ１の前に前記第１のトリクル期間において受信される第１のマルチキャストパケットの量Ｚ１が第１の冗長定数Ｋ１以下であるかどうかを決定する前記ステップが、
前記第１のネットワークノードによって、Ｔ１の前に受信される前記第１のマルチキャストパケットに備えられるカウント情報に基づいて、前記ｉ回目の前記第２のネットワークノードによって送信される第１のマルチキャストパケットの量を決定するステップと、
前記ｉ回目の送信される第１のマルチキャストパケットの前記量がＫ１以下である場合、前記第１のネットワークノードによって、Ｚ１がＫ１以下であると決定するステップと
を備える請求項１または２に記載の方法。
【請求項４】
前記第１のネットワークノードによって、送信の瞬間Ｔ２の前に第２のトリクル期間において受信される第１のマルチキャストパケットの量Ｚ２が第２の冗長定数Ｋ２に等しいかどうかを決定する前記ステップが、
前記第１のネットワークノードによって、Ｔ２の前に受信される前記第１のマルチキャストパケットに備えられるカウント情報に基づいて、前記ｉ回目の送信される第１のマルチキャストパケットの前記量を決定するステップと、
前記ｉ回目の送信される第１のマルチキャストパケットの前記量がＫ２に等しい場合、前記第１のネットワークノードによって、第１のマルチキャストパケットの前記量Ｚ２がＫ２に等しいと決定するステップ、または、
前記ｉ回目の送信される第１のマルチキャストパケットの前記量がＫ２未満である場合、前記第１のネットワークノードによって、第１のマルチキャストパケットの前記量Ｚ２がＫ２未満であると決定するステップと
を備え、
Ｚ２がＫ２に等しいとき、前記第１のネットワークノードによって、前記第２のトリクル期間における前記第１のマルチキャストパケットのブロードキャストを止める前記ステップの後で、前記方法が、
前記第１のネットワークノードによって、前記第１のマルチキャストパケットに対応する前記トリクルタイマーを止めるステップ
をさらに備える請求項１乃至３のいずれか一項に記載の方法。
【請求項５】
前記第１のネットワークノードによって、前記第１のマルチキャストパケットをブロードキャストする前記ステップが、
前記第１のネットワークノードによって、前記第１のマルチキャストパケットをブロードキャストするステップを備え、
前記第１のマルチキャストパケットが、前記第１のネットワークノードがｊ回目の前記第１のマルチキャストパケットを送信することを示すために使用されるカウント情報を備え、ｊが０より大きい整数である請求項３に記載の方法。
【請求項６】
前記第１のネットワークノードによって、Ｔ１の前に受信される前記第１のマルチキャストパケットに備えられるカウント情報に基づいて、前記ｉ回目の送信される第１のマルチキャストパケットの量を決定する前記ステップが、
前記第１のネットワークノードによって、Ｔ１の前に受信される前記第１のマルチキャストパケットが前記ｉ回目に送信されるかどうかを決定し、前記ｉ回目に対応するトリクルカウンタカウンタ（ｉ）に、前記ｉ回目の送信される第１のマルチキャストパケットの前記量を追加するステップと、
前記第１のネットワークノードによって、前記カウンタ（ｉ）の量が前記ｉ回目の送信される第１のマルチキャストパケットの前記量であると決定するステップと
を備える請求項３に記載の方法。
【請求項７】
前記第１のネットワークノードによって、Ｔ２の前に受信される前記第１のマルチキャストパケットに備えられるカウント情報に基づいて、前記ｉ回目の送信される第１のマルチキャストパケットの前記量を決定する前記ステップが、
前記第１のネットワークノードによって、Ｔ２の前に受信される前記第１のマルチキャストパケットが前記ｉ回目に送信されるかどうかを決定し、前記ｉ回目に対応するトリクルカウンタカウンタ（ｉ）に、前記ｉ回目の送信される第１のマルチキャストパケットの前記量を追加するステップと、
前記第１のネットワークノードによって、前記カウンタ（ｉ）の量が前記ｉ回目の送信される第１のマルチキャストパケットの前記量であると決定するステップと
を備える請求項４に記載の方法。
【請求項８】
前記第１のネットワークノードによって、送信の瞬間Ｔ１の前に前記第１のトリクル期間において受信される第１のマルチキャストパケットの量Ｚ１が第１の冗長定数Ｋ１以下であるかどうかを決定する前記ステップの前に、前記方法が、
前記第１のネットワークノードによって、近隣のネットワークノードの前記量を取得し、近隣のネットワークノードの前記量に基づいてＫ１またはＫ２を設定するステップをさらに備える請求項１に記載の方法。
【請求項９】
前記第１のネットワークノードによって、近隣のネットワークノードの前記量を取得する前記ステップが、
前記第１のネットワークノードによって、Ｎ個の第２のマルチキャストパケットをブロードキャストするステップであって、前記Ｎ個の第２のマルチキャストパケットが互いに異なり、前記第２のマルチキャストパケットがインジケーション情報を備え、前記インジケーション情報が、前記第２のマルチキャストパケットを受信した前記第２のネットワークノードに前記第２のマルチキャストパケットを一度ブロードキャストするように命令するために使用され、Ｎが１以上の整数である、ステップと、
前記第１のネットワークノードによって、前記Ｎ個の第２のマルチキャストパケットの各々を受信するステップと、
前記第１のネットワークノードによって、前記Ｎ個の第２のマルチキャストパケットの各々の量を決定するステップと、
前記第１のネットワークノードによって、前記第２のマルチキャストパケットの中の第２のマルチキャストパケットの最大の量を近隣のネットワークノードの前記量として決定するステップと
を備える請求項８に記載の方法。
【請求項１０】
ネットワークデバイスであって、前記ネットワークデバイスが第１のネットワークノードであり、前記ネットワークデバイスが、
第２のネットワークノードによって送信される第１のマルチキャストパケットを受信するように構成される受信ユニットであって、前記第２のネットワークノードが、前記第１のネットワークノードの任意の近隣のネットワークノードであり、前記近隣のネットワークノードが、前記第１のネットワークノードに接続されるネットワークノードである、受信ユニットと、
処理ユニットであって、
前記第１のマルチキャストパケットに対応するトリクルタイマーを始動し、前記トリクルタイマーのｅ個のトリクル期間の中の第１のトリクル期間を実行し、ｅが２以上の整数であり、
送信の瞬間Ｔ１の前に前記第１のトリクル期間において受信される第１のマルチキャストパケットの量Ｚ１が第１の冗長定数Ｋ１以下であるかどうかを決定し、Ｋ１が近隣のネットワークノードの量より大きい整数であり、Ｔ１が前記第１のトリクル期間の中のあらかじめ設定された瞬間である、
ように構成される処理ユニットと、
Ｚ１がＫ１以下であるとき、前記第１のマルチキャストパケットをブロードキャストする
ように構成されるブロードキャストユニットと
を備え、前記処理ユニットが、
送信の瞬間Ｔ２の前に第２のトリクル期間において受信される第１のマルチキャストパケットの量Ｚ２が第２の冗長定数Ｋ２以上であるかどうかを決定し、Ｋ２が近隣のネットワークノードの前記量に等しい整数であり、Ｔ２が前記第２のトリクル期間の中のあらかじめ設定された瞬間であり、
Ｚ２がＫ２以上であるとき、前記第１のマルチキャストパケットのブロードキャストを止める
ようにさらに構成され、前記ブロードキャストユニットが、
Ｚ２がＫ２未満であるとき、前記第１のマルチキャストパケットをブロードキャストする
ようにさらに構成される、ネットワークデバイス。
【請求項１１】
前記処理ユニットが、ｅが３以上であるとき、第３のトリクル期間から第ｅのトリクル期間に対応するトリクルアルゴリズムを実行するようにさらに構成され、前記第３のトリクル期間から前記第ｅのトリクル期間の各々に対応する冗長定数が近隣のネットワークノードの前記量に等しい整数である請求項１０に記載のネットワークデバイス。
【請求項１２】
前記第１のマルチキャストパケットが、前記第２のネットワークノードがｉ回目の前記第１のマルチキャストパケットを送信することを示すために使用されるカウント情報を備え、ｉが０より大きい整数であり、
前記処理ユニットが、
Ｔ１の前に受信される前記第１のマルチキャストパケットに備えられるカウント情報に基づいて、前記ｉ回目の送信される第１のマルチキャストパケットの量を決定し、
前記ｉ回目の送信される第１のマルチキャストパケットの前記量がＫ１以下であるとき、Ｚ１がＫ１以下であると決定する
ように特に構成される請求項１０または１１に記載のネットワークデバイス。
【請求項１３】
前記処理ユニットが、
Ｔ２の前に受信される前記第１のマルチキャストパケットに備えられるカウント情報に基づいて、前記ｉ回目の前記第２のネットワークノードによって送信される第１のマルチキャストパケットの前記量を決定し、
前記ｉ回目の送信される第１のマルチキャストパケットの前記量がＫ２に等しいとき、第１のマルチキャストパケットの前記量Ｚ２がＫ２に等しいと決定し、または、
前記ｉ回目の送信される第１のマルチキャストパケットの前記量がＫ２未満であるとき、第１のマルチキャストパケットの前記量Ｚ２がＫ２未満であると決定する
ように特に構成され、
前記処理ユニットが、Ｚ２がＫ２に等しいとき、前記第１のマルチキャストパケットに対応する前記トリクルタイマーを止めるようにさらに構成される請求項１０乃至１２のいずれか一項に記載のネットワークデバイス。
【請求項１４】
前記ブロードキャストユニットが、前記第１のマルチキャストパケットをブロードキャストするようにさらに構成され、前記第１のマルチキャストパケットが、前記第１のネットワークノードがｊ回目の前記第１のマルチキャストパケットを送信することを示すために使用されるカウント情報を備え、ｊが０より大きい整数である請求項１２に記載のネットワークデバイス。
【請求項１５】
前記処理ユニットが、
Ｔ１の前に受信される前記第１のマルチキャストパケットが前記ｉ回目に送信されるかどうかを決定し、前記ｉ回目に対応するトリクルカウンタカウンタ（ｉ）に、前記ｉ回目の送信される第１のマルチキャストパケットの前記量を追加し、
前記カウンタ（ｉ）の量が前記ｉ回目の送信される前記第１のマルチキャストパケットの前記量であると決定する
ように特に構成される請求項１２に記載のネットワークデバイス。
【請求項１６】
前記処理ユニットが、
Ｔ２の前に受信される前記第１のマルチキャストパケットが前記ｉ回目に送信されるかどうかを決定し、前記ｉ回目に対応するトリクルカウンタカウンタ（ｉ）に、前記ｉ回目の送信される第１のマルチキャストパケットの前記量を追加し、
前記カウンタ（ｉ）の量が前記ｉ回目の送信される第１のマルチキャストパケットの前記量であると決定する
ように特に構成される請求項１３に記載のネットワークデバイス。
【請求項１７】
前記処理ユニットが、近隣のネットワークノードの前記量を取得し、近隣のネットワークノードの前記量に基づいてＫ１またはＫ２を設定するようにさらに構成される請求項１０に記載のネットワークデバイス。
【請求項１８】
前記ブロードキャストユニットが、Ｎ個の第２のマルチキャストパケットをブロードキャストするようにさらに構成され、前記Ｎ個の第２のマルチキャストパケットが互いに異なり、前記第２のマルチキャストパケットがインジケーション情報を備え、前記インジケーション情報が、前記第２のマルチキャストパケットを受信した前記第２のネットワークノードに前記第２のマルチキャストパケットを一度ブロードキャストするように命令するために使用され、Ｎが１以上の整数であり、
前記受信ユニットが、前記Ｎ個の第２のマルチキャストパケットの各々を受信するようにさらに構成され、
前記処理ユニットが、
前記Ｎ個の第２のマルチキャストパケットの各々の量を決定し、
前記第２のマルチキャストパケットの中の第２のマルチキャストパケットの最大の量を近隣のネットワークノードの前記量として決定する
ようにさらに構成される請求項１７に記載のネットワークデバイス。
【請求項１９】
命令を備えるコンピュータ可読記憶媒体であって、前記命令がコンピュータ上で実行され、前記コンピュータが、請求項１乃至９のいずれか一項に記載の方法を実行することが可能にされるコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、通信技術の分野に関し、特に、マルチキャストパケット処理方法およびネットワークデバイスに関する。
【背景技術】
【０００２】
本出願は、その全体が参照によって本明細書に組み込まれる、２０１８年４月１８日に中国特許庁に出願された「ＭＵＬＴＩＣＡＳＴ  ＰＡＣＫＥＴ  ＰＲＯＣＥＳＳＩＮＧ  ＭＥＴＨＯＤ  ＡＮＤ  ＮＥＴＷＯＲＫ  ＤＥＶＩＣＥ」という表題の中国特許出願第２０１８１０３４９９１２．８号の優先権を主張する。
【０００３】
低電力有損失ネットワーク（ｌｏｗ  Ｐｏｗｅｒ  ａｎｄ  ｌｏｓｓｙ  ｎｅｔｗｏｒｋｓ、ＬＬＮ）は、モノのインターネット（ｉｎｔｅｒｎｅｔ  ｏｆ  ｔｈｉｎｇｓ、ＩｏＴ）の一種である。モノのインターネットにおける、あらゆるものが接続されるという特性により、ＬＬＮの中には大量のネットワークノードがある。
【０００４】
現在のＬＬＮのためのマルチキャストプロトコル（ｍｕｌｔｉｃａｓｔ  ｐｒｏｔｏｃｏｌ  ｆｏｒ  ＬＬＮ、ＭＰＬ）では、マルチキャストパケットは、制御されたフラッディング（Ｆｌｏｏｄ）に基づいて処理される。この処理過程は次のようなものであり得る。マルチキャストパケットを受信した後で、ＬＬＮの中のネットワークノードが、マルチキャストパケットのための独立したトリクルタイマーを確立し、トリクルタイマーを始動する。複数のトリクル期間が、トリクルタイマーにおいて設定され得る。たとえば、ｅ個のトリクル期間が設定される。マルチキャストパケットの送信の瞬間Ｔとして、瞬間が各トリクル期間から選択される。各トリクル期間における送信の瞬間Ｔの前に、ネットワークノードは、近隣のネットワークノードがマルチキャストパケットを送信する総回数ｃについての統計を収集する。送信の瞬間Ｔが到達されるとき、ネットワークノードは、すべての隣接するネットワークノードがマルチキャストパケットを受信したかどうかを推測するために、総回数ｃを冗長定数ｋと比較する。ｃ≧ｋである場合、ネットワークノードは、すべての近隣のネットワークノードがマルチキャストパケットを受信したと推測し、ネットワークノードは、マルチキャストパケットをそれ以上送信する必要がなく、送信抑制を完了する。ｃ＜ｋである場合、ネットワークノードは、マルチキャストパケットを受信していない近隣のネットワークノードがあると推測し、ネットワークノードはマルチキャストパケットをブロードキャストする。
【０００５】
マルチキャストパケットのブロードキャストを止めるかどうか、またはマルチキャストパケットをブロードキャストし続けるかどうかを決定するために、同じ冗長定数がＬＬＮにおいて使用されるので、正しくない決定の事例がたいていは発生する。その結果、次の事例がたいてい発生する。マルチキャストパケットがブロードキャストされなければならないときに、マルチキャストパケットのブロードキャストが止められ、マルチキャストパケットのブロードキャストが止められなければならないときに、マルチキャストパケットがまだブロードキャストされている。結果として、マルチキャストパケットが正しくブロードキャストされることが可能ではなく、それによりネットワークリソースを無駄にする。
【発明の概要】
【０００６】
本出願の実施形態は、第１のネットワークノードの近隣のネットワークノードの量に基づいて冗長定数を設定し、第１のマルチキャストパケットに対応するトリクルタイマーのトリクル期間を最適化し、それによりネットワークリソースを節約するための、マルチキャストパケット処理方法およびネットワークデバイスを提供する。
【０００７】
本出願の実施形態の第１の態様は、マルチキャストパケット処理方法を提供し、この方法は、
ＬＬＮにおいて、第２のネットワークノードが第１のマルチキャストパケットを第１のネットワークノードに送信するとき、第１のネットワークノードによって、第２のネットワークノードによって送信される第１のマルチキャストパケットを受信するステップであって、第２のネットワークノードが第１のネットワークノードの任意の近隣のネットワークノードであり、近隣のネットワークノードが第１のネットワークノードに接続されるネットワークノードである、ステップと、第１のマルチキャストパケットを受信した後で、第１のネットワークノードによって、第１のマルチキャストパケットに対応するトリクルタイマーを確立するステップと、トリクルタイマーを始動するステップと、トリクルタイマーのｅ個のトリクル期間の中の第１のトリクル期間を実行するステップであって、ｅが２以上の整数である、ステップと、第１のトリクル期間を実行する過程において、第１のネットワークノードによって、送信の瞬間Ｔ１の前に第１のトリクル期間において受信される第１のマルチキャストパケットの量Ｚ１が第１の冗長定数Ｋ１以下であるかどうかを決定するステップであって、Ｋ１が近隣のネットワークノードの量より大きい整数であり、Ｔ１が第１のトリクル期間の中のあらかじめ設定された瞬間である、ステップと、Ｚ１がＫ１以下である場合、第１のネットワークノードによって、第１のマルチキャストパケットをブロードキャストするステップと、第１のトリクル期間が終了した後で、第１のネットワークノードによって、第２のトリクル期間を実行し続けるステップと、送信の瞬間Ｔ２の前に第２のトリクル期間において受信される第１のマルチキャストパケットの量Ｚ２が第２の冗長定数Ｋ２以上であるかどうかを決定するステップであって、Ｋ２が近隣のネットワークノードの量に等しい整数であり、Ｔ２が第２のトリクル期間の中のあらかじめ設定された瞬間である、ステップと、Ｚ２がＫ２以上である場合、第１のネットワークノードによって、第２のトリクル期間における第１のマルチキャストパケットのブロードキャストを止め、次のトリクル期間を実行するステップ、または、Ｚ２がＫ２未満である場合、第１のネットワークノードによって、第１のマルチキャストパケットをブロードキャストするステップとを含む。第１のネットワークノードによって第１のマルチキャストパケットをブロードキャストすることの正確さを高め、それによりネットワークリソースを節約するために、第１のネットワークノードが近隣のネットワークノードの量に基づいて冗長定数を柔軟に設定できることが、第１の態様から知られることが可能である。
【０００８】
本出願の実施形態の第１の態様に基づいて、本出願の実施形態の第１の態様の第１の実装において、マルチキャストパケット処理方法は、ｅが３以上であるとき、第１のネットワークノードによって、第３のトリクル期間から第ｅのトリクル期間に対応するトリクルアルゴリズムを実行するステップをさらに含み、第３のトリクル期間から第ｅのトリクル期間の各々に対応する冗長定数は、近隣のネットワークノードの量に等しい整数である。第１のネットワークノードが、第３のトリクル期間から第ｅのトリクル期間の各々に対応する冗長定数を近隣のネットワークノードの量の整数に設定し、その結果、第３のトリクル期間から第ｅのトリクル期間を実行する過程において、第１のネットワークノードが、冗長定数に基づいて、各々の近隣のネットワークが第１のマルチキャストパケットを受信したかどうかを正しく決定することができ、それにより、第１のネットワークノードによって第１のマルチキャストパケットをブロードキャストすることの正確さを高めることが、第１の態様の第１の実装から知られることが可能である。
【０００９】
本出願の実施形態の第１の態様および第１の態様の第１の実装に基づいて、本出願の実施形態の第１の態様の第２の実装において、第１のネットワークノードは、第２のネットワークノードによって送信される第１のマルチキャストパケットを受信し、第１のマルチキャストパケットは、第２のネットワークノードがｉ回目の第１のマルチキャストパケットを送信することを示すために使用されるカウント情報を含み、ｉは０より大きい整数であり、第１のネットワークノードによって、送信の瞬間Ｔ１の前に受信される第１のマルチキャストパケットの量Ｚ１が第１の冗長定数Ｋ１以下であるかどうかを決定するステップは、第１のネットワークノードによって、Ｔ１の前に受信される第１のマルチキャストパケットに含まれるカウント情報に基づいて、ｉ回目の送信される第１のマルチキャストパケットの量を決定するステップと、ｉ回目の送信される第１のマルチキャストパケットの量がＫ１以下である場合、第１のネットワークノードによって、Ｚ１がＫ１以下であると決定するステップとを含む。Ｔ１が到達されるとき、第１のネットワークノードが、同じ回数に対して送信される第１のマルチキャストパケットの量とＫ１を比較することが、第１の態様の第２の実装から知られることが可能である。実際の適用例では、第１のネットワークノードは、比較結果に基づいて、すべての近隣のネットワークノードが第１のマルチキャストパケットを受信したかどうかを正しく決定することができる。
【００１０】
本出願の実施形態の第１の態様、第１の態様の第１の実装、および第１の態様の第２の実装のいずれか１つに基づいて、本出願の実施形態の第１の態様の第３の実装において、第１のネットワークノードによって、送信の瞬間Ｔ２の前に第２のトリクル期間において受信される第１のマルチキャストパケットの量Ｚ２が第２の冗長定数Ｋ２に等しいかどうかを決定するステップは、第１のネットワークノードによって、Ｔ２の前に受信される第１のマルチキャストパケットに含まれるカウント情報に基づいて、ｉ回目の送信される第１のマルチキャストパケットの量を決定するステップと、ｉ回目の送信される第１のマルチキャストパケットの量がＫ２に等しい場合、第１のネットワークノードによって、第１のマルチキャストパケットの量Ｚ２がＫ２に等しいと決定し、それに対応して、Ｚ２がＫ２に等しいとき、第１のネットワークノードが第１のマルチキャストパケットのブロードキャストを止めた後で、第１のネットワークノードによって、第１のマルチキャストパケットに対応するトリクルタイマーを止め、トリクルアルゴリズムの実行を止めるステップ、または、ｉ回目の送信される第１のマルチキャストパケットの量がＫ２未満である場合、第１のネットワークノードによって、第１のマルチキャストパケットの量Ｚ２がＫ２未満であると決定するステップとを含む。第１のネットワークノードは、第２のトリクル期間において同じ回数に対して送信される第１のマルチキャストパケットの量をＫ２と比較することが、第１の態様の第３の実装から知られることが可能である。実際の適用例では、第１のネットワークノードは、比較結果に基づいて、すべての隣接するネットワークノードが第１のマルチキャストパケットを受信したかどうかを正しく決定し、すべての近隣のネットワークノードが第１のマルチキャストパケットを受信したと決定した後で、第１のマルチキャストパケットに対応するトリクルタイマーを止めることができ、それによりネットワークリソースを節約する。
【００１１】
本出願の実施形態の第１の態様および第１の態様の第１の実装から第１の態様の第３の実装のいずれか１つに基づいて、本出願の実施形態の第１の態様の第４の実装において、第１のネットワークノードによって、第１のマルチキャストパケットをブロードキャストするステップは、第１のネットワークノードによって、第１のマルチキャストパケットを近隣のネットワークノードにブロードキャストするステップを含み、第１のマルチキャストパケットは、第１のネットワークノードがｊ回目の第１のマルチキャストパケットを送信することを示すために使用されるカウント情報を含み、ｊは０より大きい整数である。第１のネットワークノードが、カウント情報をブロードキャストされる第１のマルチキャストパケットに追加して、その結果、カウント情報を含む第１のマルチキャストパケットを受信した近隣のネットワークノードが、カウント情報に基づいて第１のマルチキャストパケットの量をカウントできることが、第１の態様の第４の実装から知られることが可能である。
【００１２】
本出願の実施形態の第１の態様および第１の態様の第１の実装から第１の態様の第４の実装のいずれか１つに基づいて、本出願の実施形態の第１の態様の第５の実装において、第１のネットワークノードによって、Ｔ１の前に受信される第１のマルチキャストパケットに含まれるカウント情報に基づいて、ｉ回目の送信される第１のマルチキャストパケットの量を決定するステップは、第１のネットワークノードによって、カウント情報に基づいて、Ｔ１の前に受信される第１のマルチキャストパケットがｉ回目に送信されるかどうかを決定するステップと、ｉ回目に対応するトリクルカウンタカウンタ（ｉ）に、ｉ回目の送信される第１のマルチキャストパケットの量を追加するステップと、第１のネットワークノードによって、カウンタ（ｉ）の量がｉ回目の送信される第１のマルチキャストパケットの量であると決定するステップとを含む。カウント情報が第１のマルチキャストパケットに追加され、その結果、第１のネットワークノードが、カウント情報に基づいて、同じ回数に対して送信される第１のマルチキャストパケットの量をトリクルカウンタカウンタ（ｉ）においてカウントすることができ、具体的には、第１のマルチキャストパケットの送信の回目である量と、トリクルカウンタにおいてカウントされる量は同じであることが、第１の態様の第５の実装から知られることが可能である。
【００１３】
本出願の実施形態の第１の態様および第１の態様の第１の実装から第１の態様の第５の実装のいずれか１つに基づいて、本出願の実施形態の第１の態様の第６の実装において、第１のネットワークノードによって、Ｔ２の前に受信される第１のマルチキャストパケットに含まれるカウント情報に基づいて、ｉ回目の送信される第１のマルチキャストパケットの量を決定するステップは、第１のネットワークノードによって、カウント情報に基づいて、Ｔ２の前に受信される第１のマルチキャストパケットがｉ回目に送信されるかどうかを決定するステップと、ｉ回目に対応するトリクルカウンタ（ｉ）に、ｉ回目の送信される第１のマルチキャストパケットの量を追加するステップと、第１のネットワークノードによって、カウンタ（ｉ）の量がｉ回目の送信される第１のマルチキャストパケットの量であると決定するステップとを含む。カウント情報が第１のマルチキャストパケットに追加され、その結果、第１のネットワークノードが、カウント情報に基づいて、同じ回数に対して送信される第１のマルチキャストパケットの量をトリクルカウンタカウンタ（ｉ）においてカウントすることができ、言い換えると、第１のマルチキャストパケットを送信する回目である量と、トリクルカウンタにおいてカウントされる量は同じであることが、第１の態様の第６の実装から知られることが可能である。
【００１４】
本出願の実施形態の第１の態様および第１の態様の第１の実装から第１の態様の第６の実装のいずれか１つに基づいて、本出願の実施形態の第１の態様の第７の実装において、第１のネットワークノードによって、送信の瞬間Ｔ１の前に第１のトリクル期間において受信される第１のマルチキャストパケットの量Ｚ１が第１の冗長定数Ｋ１以下であるかどうかを決定する前に、方法は、第１のネットワークノードによって、近隣のネットワークノードの量を取得するステップと、近隣のネットワークノードの量に基づいてＫ１またはＫ２を設定するステップとをさらに含む。近隣のネットワークノードの量に基づいて第１のネットワークノードがＫ１またはＫ２を設定し、その結果、Ｋ１またはＫ２がより正確であることが、第１の態様の第７の実装から知られることが可能である。
【００１５】
本出願の実施形態の第１の態様および第１の態様の第１の実装から第１の態様の第７の実装のいずれか１つに基づいて、本出願の実施形態の第１の態様の第８の実装において、第１のネットワークノードによって、近隣のネットワークノードの量を取得するステップは、第１のネットワークノードによって、Ｎ個の第２のマルチキャストパケットを近隣のネットワークノードにブロードキャストするステップであって、Ｎ個の第２のマルチキャストパケットが互いに異なり、第２のマルチキャストパケットがインジケーション情報を含み、インジケーション情報が、第２のマルチキャストパケットを受信した第２のネットワークノードに第２のマルチキャストパケットを一度ブロードキャストするように命令するために使用され、Ｎが１以上の整数である、ステップと、第２のマルチキャストパケットを受信した各々の近隣のネットワークノードが第１のマルチキャストパケットを一度ブロードキャストした後で、第１のネットワークノードによって、近隣のネットワークノードによって送信されるＮ個の第２のマルチキャストパケットの各々を受信するステップと、Ｎ個の第２のマルチキャストパケットの各々の量を決定するために、Ｎ個の第２のマルチキャストパケットの中の同じ第２のマルチキャストパケットをカウントするステップと、第２のマルチキャストパケットの中の第２のマルチキャストパケットの最大の量を近隣のネットワークノードの量として使用するステップとを含む。第１のネットワークノードが近隣のネットワークノードの量を取得するために第２のマルチキャストパケットを送信することが、第１の態様の第８の実装から知られることが可能である。第１のネットワークノードが動的ネットワークノードであるとき、この解決法において取得される近隣のネットワークノードの量はより正確である。
【００１６】
本出願の実施形態の第１の態様および第１の態様の第１の実装から第１の態様の第８の実装のいずれか１つに基づいて、本出願の実施形態の第１の態様の第９の実装において、第１のネットワークノードがマルチキャストパケットの送信を止めた後で、方法は、第１のネットワークノードによって、サーバまたはモノのインターネットゲートウェイによって送信される制御パケットを受信するステップであって、制御パケットが制御命令を含み、制御命令がトリクルタイマーを再始動するように第１のネットワークノードに命令するために使用される、ステップと、第１のネットワークノードによって、制御命令に従ってトリクルタイマーを再始動するステップと、トリクルカウンタに対応するトリクル期間を再実行するステップと、第１のマルチキャストパケットのためのトリクルタイマーを止めた後で、第１のマルチキャストパケットを受信していない近隣のネットワークノードが第１のマルチキャストパケットを受信できるように、第１のネットワークノードによって、トリクルタイマーを再始動するための制御パケットを受信するステップとをさらに含む。
【００１７】
本出願の実施形態の第２の態様はネットワークデバイスを提供する。ネットワークデバイスは第１のネットワークノードであってもよく、ネットワークデバイスは、受信ユニット、処理ユニット、およびブロードキャストユニットを含む。受信ユニットは、第１の態様および可能な実装のいずれか１つに従った受信動作に関するステップを実行するように構成される。処理ユニットは、第１の態様および可能な実装のいずれか１つに従った処理動作に関するステップを実行するように構成される。ブロードキャストユニットは、第１の態様および可能な実装のいずれか１つに従ったブロードキャスト動作に関するステップを実行するように構成される。
【００１８】
本出願の実施形態の第３の態様はネットワークデバイスを提供する。ネットワークデバイスは第１のネットワークノードであってもよく、ネットワークデバイスは、メモリ、トランシーバ、および少なくとも１つのプロセッサを含む。メモリは命令を記憶する。メモリ、トランシーバ、および少なくとも１つのプロセッサは、線を使用して接続される。
【００１９】
本出願の第４の態様は、命令を含むコンピュータプログラム製品を提供する。命令がコンピュータ上で実行されるとき、第１の態様または第１の態様の可能な実装のいずれか１つに従った方法が実行される。
【００２０】
本出願の実施形態の第５の態様はコンピュータ記憶媒体を提供する。コンピュータ記憶媒体は命令を記憶する。命令がコンピュータ上で実行されるとき、コンピュータは、第１の態様または第１の態様の可能な実装のいずれか１つに従って方法を実行することが可能にされる。
【００２１】
本出願の第６の態様はチップシステムを提供する。チップシステムは、少なくとも１つのプロセッサおよび通信インターフェースを含む。チップシステムはメモリをさらに含み得る。メモリ、通信インターフェース、および少なくとも１つのプロセッサは、線を使用することによって接続される。少なくとも１つのメモリは命令を記憶する。命令は、第１の態様または第１の態様の可能な実装のいずれか１つに従って方法を実行するように、プロセッサによって実行される。
【００２２】
本出願の実施形態は以下の利点を有することが、前述の技術的な解決法から知られることが可能である。
【００２３】
実施形態では、第１のネットワークノードは、近隣のネットワークノードが第１のマルチキャストパケットを受信でき、近隣のネットワークノードによる第１のマルチキャストパケットを受信することの遅延が減らされることが可能であるように、第１のマルチキャストパケットを初めて受信した後で、第１のネットワークノードが第１のマルチキャストパケットをすべての近隣のネットワークノードにブロードキャストすることを確実にするために、トリクルアルゴリズムにおける冗長定数を、第１のトリクル期間における近隣のネットワークノードの量より大きい値に設定する。第１のネットワークノードは、トリクルアルゴリズムにおける冗長定数を、第２のトリクル期間から第ｅのトリクル期間における近隣のネットワークノードの量に等しい値に設定し、第２のトリクル期間から第ｅのトリクル期間の各々において、受信された第１のマルチキャストパケットの量を冗長定数と比較した比較結果に基づいて、第１のマルチキャストパケットをブロードキャストするかどうかを決定する。冗長定数は第１のネットワークノードの近隣のネットワークノードの量に基づいて柔軟に設定されるので、第１のネットワークノードによって第１のマルチキャストパケットをブロードキャストすることの正確さが高められることが可能であり、それによりネットワークリソースを節約する。
【図面の簡単な説明】
【００２４】
【図１】本出願の実施形態による適用シナリオの概略図である。
【図２】本出願の実施形態によるマルチキャストパケット処理方法の概略フローチャートである。
【図３】本出願の実施形態による別の適用シナリオの概略図である。
【図４】本出願の実施形態による別の適用シナリオの概略図である。
【図５】本出願の実施形態による別の適用シナリオの概略図である。
【図６】本出願の実施形態による別の適用シナリオの概略図である。
【図７】本出願の実施形態による別のマルチキャストパケット処理方法の概略フローチャートである。
【図８】本出願の実施形態によるマルチキャストパケットのフレームフォーマットの概略図である。
【図９】本出願の実施形態による別の適用シナリオの概略図である。
【図１０】本出願の実施形態による別の適用シナリオの概略図である。
【図１１】本出願の実施形態による別のマルチキャストパケット処理方法の概略フローチャートである。
【図１２】本出願の実施形態による別の適用シナリオの概略図である。
【図１３】本出願の実施形態による別の適用シナリオの概略図である。
【図１４】本出願の実施形態によるネットワークデバイスの概略ブロック図である。
【図１５】本出願の実施形態によるネットワークデバイスのハードウェア構造の概略図である。
【図１６】本出願の実施形態によるチップシステムのハードウェア構造の概略図である。
【発明を実施するための形態】
【００２５】
以下は、添付の図面を参照して本出願の技術的な解決法を説明する。
【００２６】
本出願の実施形態は、第１のネットワークノードの近隣のネットワークノードの量に基づく冗長定数を設定し、第１のマルチキャストパケットに対応するトリクルタイマーのトリクル期間を最適化し、それによりネットワークリソースを節約するための、マルチキャストパケット処理方法およびネットワークデバイスを提供する。
【００２７】
図１は、本出願の実施形態による、モノのインターネットの分野におけるＬＬＮの適用シナリオの概略図である。この適用シナリオの概略図は、ネットワークノード１０１から１０４およびモノのインターネットゲートウェイ１０５を含む。モノのインターネットゲートウェイ１０５は、各ネットワークノードへの接続を確立する。この接続は、ワイヤレス接続であっても、または有線接続であってもよい。ワイヤレス接続または有線接続は、ネットワークノード間でも確立される。
【００２８】
本出願のこの実施形態では、ネットワークノード１０１から１０４は、マルチキャストパケットを生成するためのルートノードであってもよく、または、マルチキャストパケットを転送することを担う転送ノードであってもよい。ＬＬＮのためのマルチキャストプロトコル（Ｍｕｌｔｉｃａｓｔ  Ｐｒｏｔｏｃｏｌ  ｆｏｒ  ＬＬＮ、ＭＰＬ）では、マルチキャストパケットを生成するためのルートノードはシードノードと呼ばれ、マルチキャストパケットを転送することを担う転送ノードは転送者ノードと呼ばれる。実際の適用例では、ネットワークノード１０１から１０４は、ルーティング機能を有するノードであってもよく、たとえば、ルータまたはスイッチであってもよい。これは本明細書では具体的に限定されない。
【００２９】
本出願のこの実施形態におけるモノのインターネットゲートウェイ１０５は、検知ネットワークと通信ネットワークとの間のプロトコル交換と、異なるタイプの検知ネットワーク間のプロトコル変換を実施することができ、ワイドエリア相互接続とローカルエリア相互接続の両方を実施することができる。加えて、モノのインターネットゲートウェイ１０５は、デバイス管理機能をさらに有する。運用者は、モノのインターネットゲートウェイ１０５を使用することによってネットワークノード１０１から１０４を管理し、ネットワークノード１０１から１０４の関連情報を知り、遠隔制御を実施することができる。
【００３０】
本出願のこの実施形態は、インテリジェント交通信号に適用されてもよく、スマートグリッド、スマートシティ、またはスマートビルディングなどの様々なモノのインターネットの分野にも適用されてもよいことに留意されたい。
【００３１】
ＭＰＬプロトコルでは、ネットワークノードは、トリクルアルゴリズムを使用することによって、ネットワークノードの近隣のネットワークノードにより送信されるマルチキャストパケットの量を計算する。トリクルアルゴリズム（ＲＦＣ６２０６）の主な動作原理は次の通りである。ネットワークの中のネットワークノードが、時間の期間における特定のマルチキャストパケットを受信する総回数を聴取することが可能にされ、ここでその時間の期間はトリクル期間と呼ばれてもよく、次いで、トリクル期間の中のあらかじめ設定された瞬間Ｔにおける総回数を決定し、ここで、あらかじめ設定された瞬間Ｔが設定されるとき、トリクル期間の中の任意の瞬間が選択されてもよい。総回数が特定の閾値を超える場合、ネットワークノードは、ネットワークノードおよび近隣のネットワークノードがマルチキャストパケットを受信することの一致するステータスを有すると決定する。言い換えると、ネットワークノードと近隣のネットワークノードの両方が、マルチキャストパケットを受信している。それ以外の場合、ネットワークノードは、ネットワークノードおよびネットワークの中の近隣のネットワークノードがマルチキャストパケットを受信することの一致するステータスを有しないと決定する。言い換えると、マルチキャストパケットを受信していない近隣のネットワークノードがある。ネットワークノードおよび近隣のネットワークノードがマルチキャストパケットを受信することの一致するステータスを有すると、ネットワークノードが決定するとき、ネットワークノードは、マルチキャストパケットを外部にブロードキャストする必要はない。しかしながら、ネットワークノードおよび近隣のネットワークノードが、マルチキャストパケットを受信することの一致するステータスを有しない場合、ネットワークノードおよび近隣のネットワークノードがマルチキャストパケットを受信することの一致するステータスを有するように、ネットワークノードは、近隣のネットワークノードとのデータ更新動作を実行する必要がある。
【００３２】
ＭＰＬマルチキャストにおけるトリクルアルゴリズムのパラメータは、表１−１に示される。
【００３３】
【表１】
2021519562.tif 000003
【００３４】
ネットワークノード、モノのインターネットゲートウェイ、およびＭＰＬプロトコルにおいてネットワークノードにより実行されるトリクルアルゴリズムが、上で説明される。本出願の実施形態におけるマルチキャストパケット処理方法は、添付の図面を参照して以下で説明される。
【００３５】
図２は、本出願の実施形態による、マルチキャストパケット処理方法の概略フローチャートである。図２に示されるように、マルチキャストパケット処理方法は次のステップを含む。
【００３６】
２０１．第１のネットワークノードが、第２のネットワークノードにより送信される第１のマルチキャストパケットを受信する。
【００３７】
ＬＬＮでは、第２のネットワークノードが第１のマルチキャストパケットを取得した後で、第２のネットワークノードが、第１のマルチキャストパケットを第１のネットワークノードに送信する。この場合、第１のネットワークノードは、受信デバイスを使用することによって、第２のネットワークノードにより送信される第１のマルチキャストパケットを受信する。第２のネットワークノードは第１のネットワークノードの近隣のネットワークノードであり、第１のネットワークノードの近隣のネットワークノードは第１のネットワークノードに接続されるネットワークノードである。第１のネットワークノードの近隣のネットワークノードは、有線で第１のネットワークノードに接続されるネットワークノードであってもよく、または、ワイヤレスに第１のネットワークノードに接続されるネットワークノードであってもよいことに留意されたい。ワイヤレスに接続される近隣のネットワークノードは、第１のネットワークノードの無線信号のカバレッジ内のネットワークノードであり得る。これは本明細書では具体的に限定されない。
【００３８】
２０２．第１のネットワークノードが近隣のネットワークノードの量を取得する。
【００３９】
第１のマルチキャストパケットに対応するトリクルタイマーを確立する前に、第１のネットワークノードは、近隣のネットワークノードの量を取得する。具体的には、第１のネットワークノードは、無線信号のカバレッジ内のすべての近隣のネットワークノードにＮ個の第２のマルチキャストパケットをブロードキャストし、Ｎ個の第２のマルチキャストパケットは互いに異なり、第２のマルチキャストパケットはインジケーション情報を含み、このインジケーション情報は、第２のマルチキャストパケットを受信したすべての近隣のネットワークノードに、第２のマルチキャストパケットを一度ブロードキャストするように命令するために使用され、Ｎは１以上の整数である。
【００４０】
近隣のネットワークノードがＮ個の第２のマルチキャストパケットを受信した後で、近隣のネットワークノードは、インジケーション情報に従って、Ｎ個の第２のマルチキャストパケットの各々を一度ブロードキャストする。
【００４１】
第１のネットワークノードは、近隣のネットワークノードによってブロードキャストされるＮ個の第２のマルチキャストパケットの各々を受信し、Ｎ個の第２のマルチキャストパケットの中の第２のマルチキャストパケットの最大の量を近隣のネットワークノードの量として決定する。
【００４２】
第１のネットワークノードが第１のネットワークノードのすべての近隣のネットワークノードに５つの第２のマルチキャストパケットをブロードキャストする例が、以下で説明に使用される。
【００４３】
具体的には、第１のネットワークノードはそれぞれ、５つの第２のマルチキャストパケットをマークし、たとえば、第１の第２のマルチキャストパケットを１としてマークし、第２の第２のマルチキャストパケットを２としてマークし、…、第５の第２のマルチキャストパケットを５としてマークする。そして、第１のネットワークノードは、５つのマークされた第２のマルチキャストパケットを、あらかじめ設定された規則に従ってすべての近隣のネットワークノードにブロードキャストする。あらかじめ設定された規則は、特定の時間間隔で５つの第２のマルチキャストパケットがブロードキャストされる、たとえば第１のネットワークノードが１つの第２のマルチキャストパケットを２ｍｓの間隔でブロードキャストするというものであり得る。この実施形態では、マークを搬送する５つの第２のマルチキャストパケットが、別の規則に従って別々にブロードキャストされ得ることに留意されたい。あらかじめ設定された規則はこの実施形態において限定されない。
【００４４】
近隣のネットワークノードが第２のマルチキャストパケットを受信した後で、各々の第２のマルチキャストパケットはインジケーション情報を含むので、近隣のネットワークノードは、インジケーション情報に従って第２のマルチキャストパケットを一度ブロードキャストする。言い換えると、近隣のネットワークノードがインジケーション情報を含むいずれかの第２のマルチキャストパケットを受信している限り、近隣のネットワークノードは、第２のマルチキャストパケットをブロードキャストし、第２のマルチキャストパケットを一度だけブロードキャストする。
【００４５】
近隣のネットワークノードが第２のマルチキャストパケットをブロードキャストした後で、第１のネットワークノードは、近隣のネットワークノードによってブロードキャストされる第２のマルチキャストパケットを受信し、第１のネットワークノードは、５つの第２のマルチキャストパケットの量を別々にカウントする。たとえば、１としてマークされる第２のマルチキャストパケットの量はカウンタカウンタ（１）においてカウントされ、２としてマークされる第２のマルチキャストパケットの量はカウンタカウンタ（２）においてカウントされ、…、５としてマークされる第２のマルチキャストパケットの量はカウンタカウンタ（５）においてカウントされる。そして、カウンタ（１）、カウンタ（２）、…、およびカウンタ（５）の中で最大の値を伴うカウンタの値が、近隣のネットワークノードの量として使用される。たとえば、カウンタ（１）＝３、カウンタ（２）＝１、カウンタ（３）＝４、カウンタ（４）＝２、およびカウンタ（５）＝３であるとき、３としてマークされる第２のマルチキャストパケットの量が最大であることが知られることが可能である。この場合、第１のネットワークノードは、第１のネットワークノードの近隣のネットワークノードの量が４であると決定する。
【００４６】
第２のマルチキャストパケットの量がカウンタ（１）からカウンタ（５）を使用することによってカウントされる例が、上で使用されることに留意されたい。実際の適用例では、近隣のネットワークノードの量は、カウンタの具体的な値を使用することによって決定される。
【００４７】
実際の適用例では、第１のネットワークノードは、第２のマルチキャストパケットを送信する前述の方式で近隣のネットワークノードの量を取得し、第１のネットワークノードは、第１のネットワークノードにおける第１のネットワークノードの近隣のネットワークノードの量をさらにあらかじめ設定し得ることに留意されたい。これは本明細書では限定されない。
【００４８】
２０３．第１のネットワークノードが、第１のマルチキャストパケットに対応するトリクルタイマーを始動し、トリクルタイマーのｅ個のトリクル期間の中の第１のトリクル期間を実行する。
【００４９】
第１のネットワークノードが第２のネットワークノードによって送信される第１のマルチキャストパケットを受信した後で、第１のネットワークノードは、第１のマルチキャストパケットのための独立したトリクルタイマーを確立し、トリクルタイマーのトリクルアルゴリズムを実行し、トリクルアルゴリズムのｅ個のトリクル期間の中の最初のトリクル期間に入り、ｅは２以上の整数である。
【００５０】
第１のネットワークノードがトリクルタイマーを確立する過程において、第１のネットワークノードは、トリクルタイマーにおいて実行される第１のトリクル期間における第１の冗長定数をＫ１に設定し、Ｋ１が第１のネットワークノードの近隣のネットワークノードの量より大きい整数であり、第２のトリクル期間における第２の冗長定数をＫ２に設定し、Ｋ２が第１のネットワークノードの近隣のネットワークノードの量に等しい整数であることに留意されたい。
【００５１】
実際の適用例では、第１のネットワークノードは代替として、トリクルタイマーのｅ個のトリクル期間のいずれか１つにおける冗長定数をＫ１に設定し、残りのトリクル期間における冗長定数をＫ２に設定し得ることに留意されたい。具体的には、実際の適用例では、第１のネットワークノードは代替として、第１のトリクル期間から第ｅのトリクル期間のいずれか１つにおける冗長定数をＫ１に設定し、Ｋ１が設定されるトリクル期間以外のトリクル期間における冗長定数をＫ２に設定し得る。
【００５２】
この実施形態では、第１のネットワークノードがトリクルタイマーにおいて実行される第１のトリクル期間における第１の冗長定数をＫ１に設定し、第２のトリクル期間における第２の冗長定数をＫ２に設定する例のみが、説明に使用される。
【００５３】
２０４．第１のネットワークノードが、送信の瞬間Ｔ１の前に第１のトリクル期間において受信される第１のマルチキャストパケットの量Ｚ１が第１の冗長定数Ｋ１以下であるかどうかを決定し、そうである場合、第１のネットワークノードがマルチキャストパケットをブロードキャストする。
【００５４】
第１のネットワークノードがトリクルタイマーを始動した後で、第１のトリクル期間を実行する過程において、第１のネットワークノードは、別の近隣のネットワークノードによって送信される第１のマルチキャストパケットをさらに受信し得る。第１のトリクル期間の中の送信の瞬間Ｔ１が到達されるとき、第１のネットワークノードは、Ｔ１の前に第１のトリクル期間において受信される第１のマルチキャストパケットの量Ｚ１をカウントし、そしてＺ１を第１の冗長定数Ｋ１と比較する。Ｚ１がＫ１以下である場合、第１のネットワークノードは、第１のマルチキャストパケットをすべての近隣のネットワークノードにブロードキャストし、第１のトリクル期間が終了した後で第２のトリクル期間を実行し続け、Ｔ１は第１のトリクル期間の中のあらかじめ設定された瞬間であり、あらかじめ設定された瞬間は第１のトリクル期間の中の任意の瞬間であり得る。
【００５５】
具体的には、図３および図４を参照されたい。図３において、ネットワークノードＴＸは第１のネットワークノードであり、ＲＸ１、ＲＸ２、ＲＸ３、およびＲＸ４は、第１のネットワークの近隣のネットワークノードである。言い換えると、Ｋ１は４より大きい。ここでは、Ｔ１の前に、ＴＸはＲＸ１およびＲＸ４によってそれぞれ送信される第１のマルチキャストパケットを受信する。図４は、ＴＸによって確立されるトリクルタイマーに対応する第１のトリクル期間を示し、Ｔ１は第１のトリクル期間の中の送信の瞬間である。Ｔ１が到達されるとき、ＴＸは、ＴＸによって受信される第１のマルチキャストパケットの量Ｚ１をカウントする。図４に従うと、Ｔ１の前に、ＴＸは、ＲＸ１およびＲＸ４によってそれぞれ送信される第１のマルチキャストパケットを受信することが知られることが可能である。言い換えると、Ｚ１＝２である。第１のネットワークノードは、Ｚ１をＫ１と比較する。Ｚ１はＫ１より小さいことが知られることが可能である。したがって、ＴＸは、第１のマルチキャストパケットを受信していない少なくとも１つの近隣のネットワークノードがあると決定する。この場合、ＴＸは、瞬間Ｔ１においてすべての近隣のネットワークノードに第１のマルチキャストパケットをブロードキャストする。
【００５６】
この実施形態および後続の実施形態では、各トリクル期間において第１のネットワークノードによりカウントされるマルチキャストパケットの量は、第１のマルチキャストパケットの量であることに留意されたい。
【００５７】
２０５．第１のネットワークノードが、送信の瞬間Ｔ２の前に第２のトリクル期間において受信される第１のマルチキャストパケットの量Ｚ２が第２の冗長定数Ｋ２以上であるかどうかを決定し、そうである場合、ステップ２０６を実行する。
【００５８】
第１のネットワークノードが第２のトリクル期間を実行する過程において、第１のネットワークノードは、近隣のネットワークノードによって送信される第１のマルチキャストパケットを受信する。第２のトリクル期間の中の送信の瞬間Ｔ２が到達されるとき、第１のネットワークノードは、第２のトリクル期間において受信される第１のマルチキャストパケットの量Ｚ２をカウントし、そしてＺ２を第２の冗長定数Ｋ２と比較する。Ｚ２がＫ２以上である場合、第１のネットワークノードは、すべての近隣のネットワークノードが第１のマルチキャストパケットを受信したことを決定し、第１のネットワークノードは、第２のトリクル期間における第１のマルチキャストパケットのブロードキャストを止める。Ｚ２がＫ２未満である場合、第１のネットワークノードは、第１のマルチキャストパケットをすべての近隣のネットワークノードにブロードキャストし、第２のトリクル期間が終了した後で第３のトリクル期間を実行し続ける。
【００５９】
具体的には、図５および図６を参照されたい。図５において、ネットワークノードＴＸは第１のネットワークノードであり、ＲＸ１、ＲＸ２、ＲＸ３、およびＲＸ４は、第１のネットワークの近隣のネットワークノードである。言い換えると、Ｋ２＝４である。ここでは、第２のトリクル期間における送信の瞬間Ｔ２の前に、ＴＸが、ＲＸ１、ＲＸ２、ＲＸ３、およびＲＸ４によってそれぞれ送信される第１のマルチキャストパケットを受信する。図６は、ＴＸによって確立されるトリクルタイマーのｅ個のトリクル期間を示す。Ｔ１の前に、ＴＸは、ＲＸ１およびＲＸ４によってそれぞれ送信される第１のマルチキャストパケットを受信し、Ｔ２の前に、ＴＸは、ＲＸ１、ＲＸ２、ＲＸ３、およびＲＸ４によってそれぞれ送信される第１のマルチキャストパケットを受信し、Ｔ２は第２のトリクル期間における送信の瞬間であり、Ｔ２は第２のトリクル期間におけるあらかじめ設定された瞬間であり、Ｔｅは第ｅのトリクル期間における送信の瞬間であり、Ｔｅは第ｅのトリクル期間におけるあらかじめ設定された瞬間である。
【００６０】
Ｔ２が到達されるとき、ＴＸは第２のトリクル期間において受信される第１のマルチキャストパケットの量Ｚ２をカウントする。Ｔ２の前に第２のトリクル期間において、ＴＸがＲＸ１、ＲＸ２、ＲＸ３、およびＲＸ４によってそれぞれ送信される第１のマルチキャストパケットを受信することが、図６から知られることが可能である。言い換えると、Ｚ２＝４である。第１のネットワークノードはＺ２をＫ２と比較する。Ｚ２はＫ２と等しいことが知られることが可能である。したがって、第１のネットワークノードは、すべての近隣のネットワークノードが第１のマルチキャストパケットを受信したと決定する。この場合、第１のネットワークノードは、瞬間Ｔ２において第１のマルチキャストパケットのブロードキャストを止める。加えて、トリクルアルゴリズムにおけるｅが２より大きい場合、第１のネットワークノードは、第２のトリクル期間が終了した後で次の期間を実行し続ける。
【００６１】
図５および図６において説明される内容は例であることに留意されたい。実際の適用例では、具体的に、第１のマルチキャストパケットをブロードキャストするか、または第１のマルチキャストパケットのブロードキャストを止めるかは、ＴＸによって受信されるマルチキャストパケットの量に基づいて決定される。
【００６２】
２０６．第１のネットワークノードが、第３のトリクル期間から第ｅのトリクル期間に対応するトリクルアルゴリズムを実行する。
【００６３】
第１のネットワークノードが第１のマルチキャストパケットに対応するトリクルタイマーを確立するとき、トリクルタイマーのトリクルアルゴリズムにおけるｅが３以上である場合、第１のネットワークノードは、第２のトリクル期間が終了した後で第３のトリクル期間から第ｅのトリクル期間を実行し続け、第３のトリクル期間から第ｅのトリクル期間にそれぞれ対応する冗長定数Ｋを第１のネットワークノードの近隣のネットワークノードの量に設定する。第３のトリクル期間から第ｅのトリクル期間を実行する過程において、第１のネットワークノードは、冗長定数Ｋを、第３のトリクル期間から第ｅのトリクル期間の各々において受信される第１のマルチキャストパケットの量と比較し、受信された第１のマルチキャストパケットの量が冗長定数Ｋ以上である場合、対応するトリクル期間における第１のマルチキャストパケットのブロードキャストを止め、または、受信された第１のマルチキャストパケットの量が冗長定数Ｋ未満である場合、トリクルアルゴリズムにおける各トリクル期間が実行され完了されるまで、対応するトリクル期間の中の送信の瞬間Ｔにおいてマルチキャストパケットを各々の近隣のネットワークノードにブロードキャストする。
【００６４】
この実施形態では、第１のネットワークノードは、近隣のネットワークノードが第１のマルチキャストパケットを受信することができ、近隣のネットワークノードによる第１のマルチキャストパケットを受信することの遅延が減らされることが可能であるように、第１のマルチキャストパケットを初めて受信した後で、第１のネットワークノードが第１のマルチキャストパケットをすべての近隣のネットワークノードにブロードキャストすることを確実にするために、トリクルアルゴリズムにおける冗長定数を、第１のトリクル期間における近隣のネットワークノードの量より大きい値に設定する。第１のネットワークノードは、トリクルアルゴリズムにおける冗長定数を、第２のトリクル期間から第ｅのトリクル期間における近隣のネットワークノードの量に等しい値に設定し、第２のトリクル期間から第ｅのトリクル期間の各々において、受信された第１のマルチキャストパケットの量を冗長定数と比較した比較結果に基づいて、第１のマルチキャストパケットをブロードキャストするかどうかを決定する。冗長定数は第１のネットワークノードの近隣のネットワークノードの量に基づいて柔軟に設定されるので、第１のネットワークノードによって第１のマルチキャストパケットをブロードキャストすることの正確さが高められることが可能であり、それによりネットワークリソースを節約する。
【００６５】
図７は、本出願の実施形態による、別のマルチキャストパケット処理方法の概略フローチャートである。図７に示されるように、マルチキャストパケット処理方法は、次のステップを含む。
【００６６】
７０１．第１のネットワークノードが、第２のネットワークノードによって送信される第１のマルチキャストパケットを受信する。
【００６７】
ＬＬＮにおいて、第２のネットワークノードが第１のマルチキャストパケットを取得した後で、第２のネットワークノードは、第１のマルチキャストパケットを第１のネットワークノードに送信する。この場合、第１のネットワークノードは、受信デバイスを使用することによって、第２のネットワークノードによって送信される第１のマルチキャストパケットを受信する。第１のマルチキャストパケットは、第２のネットワークノードがｉ回目の第１のマルチキャストパケットを送信することを示すために使用されるカウント情報を含み、ｉは０より大きい整数である。
【００６８】
具体的には、第１のマルチキャストパケットに含まれるカウント情報について、図８を参照されたい。図８は、ＭＰＬにおける第１のマルチキャストパケットのフレームフォーマットを示し、異なる特徴フィールドをマークするためにＳ、Ｍ、およびＶが使用される。予備（ｒｅｓｅｒｖｅｄ、ｒｓｖ）フィールドはＬＬＮにおける予備フィールドであり、言い換えると、ｒｓｖフィールドは、標準的な組織では一時的に使用されない。マルチキャストパケットの順列番号（ｓｅｑｕｅｎｃｅ）フィールドは、第１のマルチキャストパケットの順序を表すために使用される。マルチキャストソース特定（Ｓｅｅｄ−ｉｄ）フィールドは、第１のマルチキャストパケットを送信するマルチキャストソースデバイスを表すために使用される。Ｓｅｅｄ−ｉｄフィールドは、任意選択のフィールドであり、実際の適用例においては存在することもしないこともある。マルチキャストパケットのパケットタイプ（Ｏｐｔｉｏｎ  Ｔｙｐｅ）フィールドおよびマルチキャストパケットの長さ（Ｏｐｔ  Ｄａｔａ  ｌｅｎ）フィールドは、ＩＰｖ６マルチキャストパケットフレームのフィールドであり、第１のマルチキャストパケットがＩＰｖ６  Ｈｏｐ  ｂｙ  Ｈｏｐ拡張パケットであることを示すために使用される。Ｏｐｔｉｏｎ  Ｔｙｐｅフィールドは、第１のマルチキャストパケットのパケットタイプを表すために使用される。Ｏｐｔ  Ｄａｔａ  ｌｅｎフィールドは、第１のマルチキャストパケットの長さを表すために使用される。
【００６９】
この実施形態では、第２のネットワークノードは、第１のマルチキャストパケットの中のカウント情報を特定するためにｒｓｖフィールドを使用する。具体的な実施過程では、第２のネットワークノードが第１のマルチキャストパケットを送信する時間を表すために、異なる値がｒｓｖフィールドに割り当てられ得る。たとえば、１がｒｓｖフィールドに割り当てられるとき、それは、第２のネットワークノードが第１のマルチキャストパケットを初めて送信することを示し、または２がｒｓｖフィールドに割り当てられるとき、それは、第２のネットワークノードが２回目の第１のマルチキャストパケットを送信することを示し、以下同様である。
【００７０】
この実施形態では、第１のマルチキャストパケットの中のカウント情報を特定するために、新しく追加されるフィールドまたは別のフィールドが代替として使用され得ることに留意されたい。
【００７１】
７０２．第１のネットワークノードが、第１のマルチキャストパケットに対応するトリクルタイマーを始動し、トリクルタイマーのｅ個のトリクル期間の中の第１のトリクル期間を実行する。
【００７２】
第１のネットワークノードが第２のネットワークノードによって送信される第１のマルチキャストパケットを受信した後で、第１のネットワークノードは、第１のマルチキャストパケットのための独立したトリクルタイマーを確立し、トリクルタイマーを始動し、トリクルタイマーのトリクルアルゴリズムを実行し、トリクルアルゴリズムにおけるｅ個のトリクル期間の中の第１のトリクル期間に入り、ｅは２以上の整数である。
【００７３】
７０３．第１のネットワークノードが、Ｔ１の前に受信される第１のマルチキャストパケットに含まれるカウント情報に基づいて、ｉ回目の送信される第１のマルチキャストパケットの量を決定する。
【００７４】
第１のネットワークノードが第１のトリクル期間を実行する過程において、カウント情報に基づいて、ｉ回目の第１のマルチキャストパケットが第２のネットワークノードにより第１のネットワークノードに送信されると決定した後で、第１のネットワークノードは、ｉ回目に対応するトリクルカウンタに第１のマルチキャストパケットの量を追加する。次いで、第１のネットワークノードは、トリクルカウンタの値に基づいて、ｉ回目の送信される第１のマルチキャストパケットの量を決定する。
【００７５】
具体的には、第１のネットワークノードは、カウントのために第１のマルチキャストパケットのｒｓｖフィールドの値を抽出する。たとえば、第１のネットワークノードによって受信される第１のマルチキャストパケットのｒｓｖフィールドは１としてマークされ、これは、第２のネットワークノードが第１のネットワークノードに第１のマルチキャストパケットを初めて送信することを示し、第１のネットワークノードは、追加の結果を結果（ｓｕｍ（１））に記録するために、１をカウンタ（カウンタ（１））に追加する。第１のネットワークノードによって受信される第１のマルチキャストパケットのｒｓｖフィールドが２としてマークされる場合、これは、第２のネットワークノードが第１のネットワークノードに２回目の第１のマルチキャストパケットを送信することを示し、追加の結果をｓｕｍ（２）に記録するために、１が第１のネットワークノードのカウンタ（２）に追加され、以下同様である。第１のネットワークノードによって受信される第１のマルチキャストパケットのｒｓｖフィールドがｉとしてマークされる場合、それは、第２のネットワークノードが第１のネットワークノードにｉ回目の第１のマルチキャストパケットを送信することを示し、第１のネットワークは、追加の結果をｓｕｍ（ｉ）に記録するために、１をカウンタ（ｉ）に追加する。言い換えると、ｓｕｍ（ｉ）の値は、ｉ回目の送信される第１のマルチキャストパケットの量である。
【００７６】
第１のトリクル期間において、第１のネットワークノードがカウンタカウンタ（ｉ）の中の第１のマルチキャストパケットの量をカウントした後で、第１のネットワークノードは、冗長定数Ｋを、カウント結果ｓｕｍ（１）、ｓｕｍ（２）、…、およびｓｕｍ（ｉ）にそれぞれ対応する値と比較する。ｓｕｍ（１）、ｓｕｍ（２）、…、およびｓｕｍ（ｉ）にそれぞれ対応する値のうちの少なくとも１つが冗長定数Ｋより大きい場合、それは、各々の近隣のネットワークノードが第１のマルチキャストパケットを受信したことを示す。瞬間Ｔ１において、第１のネットワークノードは、第１のマルチキャストパケットのブロードキャストを止め、トリクルタイマーの実行を止め、トリクルアルゴリズムにおける第２のトリクル期間から第ｅのトリクル期間をもはや実行しない。ｓｕｍ（１）、ｓｕｍ（２）、…、およびｓｕｍ（ｉ）にそれぞれ対応する値のいずれもが冗長定数Ｋより大きくない場合、それは、第１のマルチキャストパケットを受信していない少なくとも１つの近隣のネットワークノードがあることを示し、第１のネットワークノードは、瞬間Ｔ１において第１のマルチキャストパケットをすべての近隣のネットワークノードにブロードキャストし、トリクルアルゴリズムにおける第２のトリクル期間を実行する。
【００７７】
具体的には、図９は、第１のトリクル期間に対応するシナリオの概略図である。図９において、ＴＸは、ＲＸ１、ＲＸ２、およびＲＸ３によって送信される第１のマルチキャストパケットを別々に受信する。第１のネットワークノードは、第１のマルチキャストパケットを特定するために、ＲＸ１によって送信される第１のマルチキャストパケットのｒｓｖフィールドを抽出する。第１のマルチキャストパケットがＲＸ１によってＴＸノードに初めて送信される場合、第１のネットワークノードは、追加の結果をｓｕｍ（１）に記録するために、１をカウンタ（１）に追加する。この場合、ｓｕｍ（１）＝１である。第１のネットワークノードは、第１のマルチキャストパケットを特定するために、ＲＸ２によって送信される第１のマルチキャストパケットのｒｓｖフィールドを抽出する。第１のマルチキャストパケットがＲＸ２によってＴＸノードに初めて送信される場合、第１のネットワークノードは、追加の結果をｓｕｍ（１）に記録するために、１をカウンタ（１）に追加する。この場合、ｓｕｍ（１）＝２である。第１のネットワークノードは、第１のマルチキャストパケットを特定するために、ＲＸ３によって送信される第１のマルチキャストパケットのｒｓｖフィールドを抽出する。第１のマルチキャストパケットがＲＸ３によってＴＸノードに初めて送信される場合、第１のネットワークノードは、追加の結果をｓｕｍ（１）に記録するために、１をカウンタ（１）に追加する。この場合、ｓｕｍ（１）＝３である。第１のネットワークノードは、瞬間Ｔ１におけるｓｕｍ（１）の値を冗長定数Ｋと比較する。ｓｕｍ（１）が冗長定数Ｋ未満である場合、第１のネットワークノードは、第１のマルチキャストパケットをブロードキャストし、第２のトリクル期間を実行し続ける。ｓｕｍ（１）の値が冗長定数Ｋに等しい場合、第１のネットワークノードは、第１のネットワークノードのブロードキャストを止め、トリクルタイマーを止め、後続のトリクル期間をもはや実行しない。
【００７８】
この実施形態における冗長定数ｋは、近隣のネットワークノードの量に基づいて設定され得ることに留意されたい。詳しくは、図２に対応する実施形態を参照されたい。冗長定数ｋは代替として、ネットワークトポロジーおよびホップの量などの、複数の要因に基づいて設定されてもよい。ネットワークトポロジーおよびホップの量などの複数の要因に基づいて冗長定数ｋを設定するための方法は、標準的な処理手順における方法と似ている。詳細は本明細書では説明されない。
【００７９】
７０４．第１のネットワークノードが、Ｔ２の前に受信される第１のマルチキャストパケットに含まれるカウント情報に基づいて、ｉ回目の送信される第１のマルチキャストパケットの量を決定する。
【００８０】
第１のトリクル期間において第１のマルチキャストパケットを受信していない少なくとも１つの近隣のネットワークノードがあることを、第１のネットワークノードが決定した後で、第１のネットワークノードは、第２のトリクル期間を実行し続け、近隣のネットワークノードから第１のマルチキャストパケットを受信する。Ｔ２が到達されるとき、第１のネットワークノードは、送信の瞬間Ｔ２の前に受信される第１のマルチキャストパケットの量をカウントする。具体的には、第１のマルチキャストパケットに含まれるカウント情報に基づいて、第２のネットワークノードによって第１のマルチキャストパケットをｉ回目に送信されると決定する場合、第１のネットワークノードは、ｉ回目に対応するトリクルカウンタに第１のマルチキャストパケットの量を追加し、第１のネットワークノードは、トリクルカウンタの値に基づいて、ｉ回目の送信される第１のマルチキャストパケットの量を決定する。
【００８１】
具体的には、図１０は、第２のトリクル期間に対応するシナリオの概略図である。図１０において、ＴＸは、ＲＸ１、ＲＸ２、およびＲＸ４によって送信される第１のマルチキャストパケットを別々に受信する。第１のネットワークノードは、第１のマルチキャストパケットを特定するために、ＲＸ１によって送信される第１のマルチキャストパケットのｒｓｖフィールドを抽出する。２回目の第１のマルチキャストパケットがＲＸ１によってＴＸノードに送信される場合、第１のネットワークノードは、追加の結果をｓｕｍ（２）に記録するために、１をカウンタ（２）に追加する。この場合、ｓｕｍ（２）＝１である。第１のネットワークノードは、第１のマルチキャストパケットを特定するために、ＲＸ２によって送信される第１のマルチキャストパケットのｒｓｖフィールドを抽出する。２回目の第１のマルチキャストパケットがＲＸ２によってＴＸノードに送信される場合、第１のネットワークノードは、追加の結果をｓｕｍ（２）に記録するために、１をカウンタ（２）に追加する。この場合、ｓｕｍ（２）＝２である。第１のネットワークノードは、第１のマルチキャストパケットを特定するために、ＲＸ４によって送信される第１のマルチキャストパケットのｒｓｖフィールドを抽出する。第１のマルチキャストパケットがＲＸ４によってＴＸノードに初めて送信される場合、第１のネットワークノードは、追加の結果をｓｕｍ（１）に記録するために、１をカウンタ（１）に追加する。この場合、ｓｕｍ（１）＝４である（ｓｕｍ（１）＝３はステップ７０３においてすでに記録されている）。瞬間Ｔ２が到達されるとき、ＴＸは、冗長定数Ｋを、ｓｕｍ（１）およびｓｕｍ（２）にそれぞれ対応する値と比較する。ｓｕｍ（１）およびｓｕｍ（２）にそれぞれ対応する値がともに冗長定数Ｋ未満である場合、第１のネットワークノードは、瞬間Ｔ２において第１のマルチキャストパケットをブロードキャストし、第２のトリクル期間が終了した後で第３のトリクル期間を実行する。ｓｕｍ（１）およびｓｕｍ（２）にそれぞれ対応する値のうちの少なくとも１つが冗長定数Ｋに等しい場合、第１のネットワークノードは、第１のマルチキャストパケットのブロードキャストを止め、トリクルタイマーを止め、トリクルアルゴリズムにおける後続のトリクル期間をもはや実行しない。
【００８２】
この実施形態では、ｓｕｍ（ｉ）の値に対して、第１のトリクル期間に基づいて、第２のトリクル期間に含まれる、ｉ回目の送信される第１のマルチキャストパケットの量がｓｕｍ（ｉ）に追加されることに留意されたい。言い換えると、ｓｕｍ（ｉ）の値は、第１のトリクル期間においてカウントされる第１のマルチキャストパケットの量を含む。
【００８３】
７０５．第１のネットワークノードが第１のマルチキャストパケットをブロードキャストする。
【００８４】
第１のマルチキャストパケットを受信していない少なくとも１つの近隣のネットワークノードがあることを、第１のネットワークノードが決定するとき、第１のネットワークノードは、第１のマルチキャストパケットをすべての近隣のネットワークノードにブロードキャストし、ブロードキャストされる第１のマルチキャストパケットは、第１のネットワークノードがｊ回目の第１のマルチキャストパケットを送信することを示すために使用されるカウント情報を含み、ｊは０より大きい整数である。
【００８５】
この実施形態では、第１のネットワークノードによってすべての近隣のネットワークノードにブロードキャストされる第１のマルチキャストパケットは、カウント情報を含む。その具体的な実施過程は、上でステップ７０１においてすでに詳しく説明されている。詳細はここでは再び説明されない。
【００８６】
この実施形態では、第１のネットワークノードは、第１のマルチキャストパケットに含まれるカウント情報に基づいて、ｉ回目の第１のマルチキャストパケットが第２のネットワークノードによって送信されることを決定し、ｉ回目の送信される第１のマルチキャストパケットをｓｕｍ（ｉ）に記録し、次いで、ｓｕｍ（ｉ）の値を冗長定数Ｋと比較し、比較結果に基づいて、第１のマルチキャストパケットをブロードキャストするかどうかを決定する。第１のマルチキャストパケットがカウント情報を含むので、ｓｕｍ（ｉ）に記録される、第１のマルチキャストパケットの量は、異なる第２のネットワークノードによって送信される。したがって、第１のネットワークノードは、ｓｕｍ（ｉ）の値に基づいて、すべての近隣のネットワークノードが第１のマルチキャストパケットを受信したかどうかを正しく決定して、第１のネットワークノードによって第１のマルチキャストパケットをブロードキャストすることの正確さを高め、それによりネットワークリソースを節約することができる。
【００８７】
図１１は、本出願の実施形態による、別のマルチキャストパケット処理方法の概略フローチャートである。図１１に示されるように、マルチキャストパケット処理方法は次のステップを含む。
【００８８】
１１０１．第１のネットワークノードが、第２のネットワークノードによって送信される第１のマルチキャストパケットを受信する。
【００８９】
この実施形態では、ステップ１１０１は図７のステップ７０１と同様である。詳細はここでは再び説明されない。
【００９０】
１１０２．第１のネットワークノードが、第１のマルチキャストパケットに対応するトリクルタイマーを始動し、トリクルタイマーのｅ個のトリクル期間の中の第１のトリクル期間を実行する。
【００９１】
１１０３．第１のネットワークノードが、近隣のネットワークノードの量を取得する。
【００９２】
この実施形態では、ステップ１１０２およびステップ１１０３は、図２のステップ２０２およびステップ２０３と同様である。詳細はここでは再び説明されない。
【００９３】
１１０４．第１のネットワークノードが、Ｔ１の前に受信される第１のマルチキャストパケットに含まれるカウント情報に基づいて、ｉ回目の送信される第１のマルチキャストパケットの量を決定する。
【００９４】
第１のネットワークノードが、トリクルカウンタの決定された値に基づいて、ｉ回目の送信される第１のマルチキャストパケットの量を決定する。
【００９５】
具体的には、第１のネットワークノードは、カウントのために第１のマルチキャストパケットのｒｓｖフィールドを抽出する。たとえば、第１のネットワークノードによって受信される第１のマルチキャストパケットのｒｓｖフィールドが１としてマークされる場合、それは、第２のネットワークノードが第１のネットワークノードに第１のマルチキャストパケットを初めて送信することを示し、第１のネットワークノードは、追加の結果をｓｕｍ（１）に記録するために、１をカウンタ（１）に追加する。第１のネットワークノードによって受信される第１のマルチキャストパケットのｒｓｖフィールドが２としてマークされる場合、それは、第２のネットワークノードが第１のネットワークノードに２回目の第１のマルチキャストパケットを送信することを示し、追加の結果をｓｕｍ（２）に記録するために、１が第１のネットワークノードのカウンタ（２）に追加され、以下同様である。第１のネットワークノードによって受信される第１のマルチキャストパケットのｒｓｖフィールドがｉとしてマークされる場合、それは、第２のネットワークノードが第１のネットワークノードにｉ回目の第１のマルチキャストパケットを送信することを示し、第１のネットワークノードは、追加の記録をｓｕｍ（ｉ）に記録するために、１をカウンタ（ｉ）に追加する。言い換えると、ｓｕｍ（ｉ）の値は、ｉ回目の送信される第１のマルチキャストパケットの量である。
【００９６】
第１のネットワークノードが、Ｔ１の前に受信される第１のマルチキャストパケットに含まれるカウント情報に基づいて、ｉ回目の送信される第１のマルチキャストパケットの量を決定することが、添付の図面を参照して以下で説明される。
【００９７】
図１２は、第１のトリクル期間に対応するシナリオの概略図である。図１２において、ネットワークノードＴＸは第１のネットワークノードであり、ＲＸ１、ＲＸ２、ＲＸ３、およびＲＸ４は、第１のネットワークの近隣のネットワークノードである。言い換えると、Ｋ１は４より大きい。Ｔ１の前に、ＴＸは、ＲＸ３およびＲＸ４によってそれぞれ送信される第１のマルチキャストパケットを受信する。第１のネットワークノードは、第１のマルチキャストパケットを特定するために、ＲＸ３によって送信される第１のマルチキャストパケットのｒｓｖフィールドを抽出する。第１のマルチキャストパケットがＲＸ３によってＴＸノードに初めて送信される場合、第１のネットワークノードは追加の結果をｓｕｍ（ｉ）に記録するために、１をカウンタ（１）に追加する。この場合、ｓｕｍ（１）＝１である。第１のネットワークノードは、第１のマルチキャストパケットを特定するために、ＲＸ４によって送信される第１のマルチキャストパケットのｒｓｖフィールドを抽出する。第１のマルチキャストパケットがＲＸ４によってＴＸノードに初めて送信される場合、第１のネットワークノードは、追加の結果をｓｕｍ（１）に記録するために、１をカウンタ（１）に追加する。この場合、ｓｕｍ（１）＝２である。
【００９８】
１１０５．第１のネットワークノードが、ｉ回目の送信される第１のマルチキャストパケットの量がＫ１以下であるかどうかを決定し、そうである場合、ステップ１１０６を実行し、そうではない場合、ステップ１１１１を実行する。
【００９９】
第１のトリクル期間において、第１のネットワークノードが、Ｔ１の前に受信される第１のマルチキャストパケットの量をカウンタカウンタ（ｉ）においてカウントした後で、第１のネットワークノードは、Ｋ１をカウント結果ｓｕｍ（１）、ｓｕｍ（２）、…、およびｓｕｍ（ｉ）にそれぞれ対応する値と比較する。ｓｕｍ（１）、ｓｕｍ（２）、…、およびｓｕｍ（ｉ）にそれぞれ対応する値のうちの少なくとも１つがＫ１より大きい場合、それは、各々の近隣のネットワークノードが第１のマルチキャストパケットを受信したことを示す。瞬間Ｔ１において、第１のネットワークノードは、第１のマルチキャストパケットのブロードキャストを止め、トリクルタイマーの実行を止め、トリクルアルゴリズムにおける第２のトリクル期間から第ｅのトリクル期間をもはや実行しない。ｓｕｍ（１）、ｓｕｍ（２）、…、およびｓｕｍ（ｉ）にそれぞれ対応する値のすべてがＫ１以下である場合、それは、第１のマルチキャストパケットを受信していない少なくとも１つの近隣のネットワークノードがあることを示し、第１のネットワークノードは、瞬間Ｔ１において、第１のマルチキャストパケットをすべての近隣のネットワークノードにブロードキャストし、トリクルアルゴリズムにおける第２のトリクル期間を実行する。
【０１００】
具体的には、ＴＸは、ｓｕｍ（１）の値をＫ１と比較する。ステップ１１０４から、ｓｕｍ（１）＝２であることが知られることが可能である。ｓｕｍ（１）の値がＫ１未満であることが知られることが可能である。この場合、Ｔ１が到達されるとき、ＴＸは、第１のマルチキャストパケットをＲＸ１、ＲＸ２、ＲＸ３、およびＲＸ４にブロードキャストし、第１のトリクル期間が終了した後で第２のトリクル期間に入る。
【０１０１】
１１０６．第１のネットワークノードが第１のマルチキャストパケットをブロードキャストする。
【０１０２】
第１のマルチキャストパケットを受信していない少なくとも１つの近隣のネットワークノードがあると、第１のネットワークノードが決定するとき、第１のネットワークノードは、第１のマルチキャストパケットをネットワークすべての近隣のネットワークノードにブロードキャストし、ブロードキャストされる第１のマルチキャストパケットはカウント情報を含み、第１のネットワークノードが第１のマルチキャストパケットを初めて送信することを示すために、カウント情報が使用される。
【０１０３】
この実施形態では、第１のネットワークノードによってすべての近隣のネットワークノードにブロードキャストされる第１のマルチキャストパケットは、カウント情報を含む。その具体的な実施過程は、ステップ７０１においてすでに上で詳しく説明されている。詳細はここでは再び説明されない。
【０１０４】
１１０７．第１のネットワークノードが、Ｔ２の前に受信される第１のマルチキャストパケットに含まれるカウント情報に基づいて、ｉ回目の送信される第１のマルチキャストパケットの量を決定する。
【０１０５】
第１のトリクル期間において第１のマルチキャストパケットを受信していない少なくとも１つの近隣のネットワークノードがあることを、第１のネットワークノードが決定した後で、第１のネットワークノードは、第２のトリクル期間を実行し続け、近隣のネットワークノードから第１のマルチキャストパケットを受信する。Ｔ２が到達されるとき、第１のネットワークノードは、Ｔ２の前に受信される第１のマルチキャストパケットの量をカウントする。具体的には、第１のマルチキャストパケットに含まれるカウント情報に基づいて、ｉ回目の第１のマルチキャストパケットが第２のネットワークノードによって送信されると決定する場合、第１のネットワークノードは、ｉ回目に対応するトリクルカウンタに第１のマルチキャストパケットの量を追加し、第１のネットワークノードは、トリクルカウンタの値に基づいて、ｉ回目の送信される第１のマルチキャストパケットの量を決定する。
【０１０６】
具体的には、図１３は、第２のトリクル期間に対応するシナリオの概略図である。図１３において、ネットワークノードＴＸは第１のネットワークノードであり、ＲＸ１、ＲＸ２、ＲＸ３、およびＲＸ４は、第１のネットワークの近隣のネットワークノードである。言い換えると、Ｋ２は４に等しい。Ｔ２の前に、ＴＸは、ＲＸ１、ＲＸ２、およびＲＸ３によってそれぞれ送信される第１のマルチキャストパケットを受信する。第１のネットワークノードは、第１のマルチキャストパケットを特定するために、ＲＸ１によって送信される第１のマルチキャストパケットのｒｓｖフィールドを抽出する。第１のマルチキャストパケットがＲＸ１によってＴＸノードに初めて送信される場合、第１のネットワークノードは、追加の結果をｓｕｍ（１）に記録するために、１をカウンタ（１）に追加する。この場合、ｓｕｍ（１）＝３である（ｓｕｍ（１）＝２はステップ１１０４においてすでに記録されている）。第１のネットワークノードは、第１のマルチキャストパケットを特定するために、ＲＸ２によって送信される第１のマルチキャストパケットのｒｓｖフィールドを抽出する。第１のマルチキャストパケットがＲＸ４によってＴＸノードに初めて送信される場合、第１のネットワークノードは、追加の結果をｓｕｍ（１）に記録するために、１をカウンタ（１）に追加する。この場合、ｓｕｍ（１）＝４である。第１のネットワークノードは、第１のマルチキャストパケットを特定するために、ＲＸ３によって送信される第１のマルチキャストパケットのｒｓｖフィールドを抽出する。２回目の第１のマルチキャストパケットがＲＸ４によってＴＸノードに送信される場合、第１のネットワークノードは、追加の結果をｓｕｍ（２）に記録するために、１をカウンタ（２）に追加する。この場合、ｓｕｍ（２）＝１である。
【０１０７】
この実施形態では、ｓｕｍ（ｉ）の量に対して、第１のトリクル期間に基づいて、第２のトリクル期間に含まれる、ｉ回目の送信される第１のマルチキャストパケットの量が、ｓｕｍ（ｉ）に追加されることに留意されたい。言い換えると、ｓｕｍ（ｉ）の値は、第１のトリクル期間においてカウントされる第１のマルチキャストパケットの量を含む。
【０１０８】
１１０８．第１のネットワークノードが、ｉ回目の送信される第１のマルチキャストパケットの量がＫ２に等しいかどうかを決定し、等しくない場合、ステップ１１０９を実行し、等しい場合、ステップ１１１１を実行する。
【０１０９】
第１のネットワークノードがトリクルカウンタにおいて第１のマルチキャストパケットの量をカウントした後で、第１のネットワークノードは、トリクルカウンタの中のｓｕｍ（ｉ）の値をＫ２と比較する。具体的には、第１のネットワークノードは、Ｋ２を、ｓｕｍ（１）、ｓｕｍ（２）、…、およびｓｕｍ（ｉ）にそれぞれ対応する値と比較する。ｓｕｍ（１）、ｓｕｍ（２）、…、およびｓｕｍ（ｉ）にそれぞれ対応する値のうちの少なくとも１つがＫ２に等しい場合、それは、各々の近隣のネットワークノードが第１のマルチキャストパケットを受信したことを示す。瞬間Ｔ２において、第１のネットワークノードは、第１のマルチキャストパケットのブロードキャストを止め、トリクルタイマーの実行を止め、トリクルアルゴリズムにおける第２のトリクル期間から第ｅのトリクル期間をもはや実行しない。ｓｕｍ（１）、ｓｕｍ（２）、…、およびｓｕｍ（ｉ）にそれぞれ対応する値のすべてがＫ２未満である場合、それは、第１のマルチキャストパケットを受信していない少なくとも１つの近隣のネットワークノードがあることを示し、第１のネットワークノードは、瞬間Ｔ２において第１のマルチキャストパケットをすべての近隣のネットワークノードにブロードキャストし、トリクルアルゴリズムにおける次のトリクル期間を実行する。
【０１１０】
具体的には、瞬間Ｔ２が到達されるとき、ＴＸは、ｓｕｍ（１）およびｓｕｍ（２）にそれぞれ対応する値とＫ２を比較する。ｓｕｍ（２）はＫ２未満であり、ｓｕｍ（１）はＫ２に等しいことが知られることが可能である。したがって、ＴＸは、ＲＸ１、ＲＸ２、ＲＸ３、およびＲＸ４がすべて第１のマルチキャストパケットを受信したと決定し、ＴＸは、マルチキャストパケットのブロードキャストを止め、第１のマルチキャストパケットに対応するトリクルタイマーを止め、トリクルタイマーの後続のトリクル期間をもはや実行しない。
【０１１１】
１１０９．第１のネットワークノードが第１のマルチキャストパケットをブロードキャストする。
【０１１２】
第１のマルチキャストパケットを受信していない少なくとも１つの近隣のネットワークノードがあることを第１のネットワークノードが決定するとき、第１のネットワークノードは、第１のマルチキャストパケットをすべての近隣のネットワークノードにブロードキャストし、ブロードキャストされた第１のマルチキャストパケットはカウント情報を含み、第１のネットワークノードが２回目の第１のマルチキャストパケットを送信することを示すために、カウント情報が使用される。
【０１１３】
この実施形態では、第１のネットワークノードによってすべての近隣のネットワークノードにブロードキャストされる第１のマルチキャストパケットは、カウント情報を含む。その具体的な実施過程は、上でステップ７０１においてすでに詳しく説明されている。詳細はここでは再び説明されない。
【０１１４】
１１１０．第１のネットワークノードが、第３のトリクル期間から第ｅのトリクル期間に対応するトリクルアルゴリズムを実行する。
【０１１５】
ｅが３以上であるとき、第２のトリクル期間において、第１のネットワークノードは、ｓｕｍ（１）、ｓｕｍ（２）、…、およびｓｕｍ（ｉ）にそれぞれ対応する値のすべてがＫ２未満であると決定し、第１のネットワークノードは、第３のトリクル期間から第ｅのトリクル期間を実行し、第１のネットワークノードの近隣のネットワークノードの量に、第３のトリクル期間から第ｅのトリクル期間にそれぞれ対応する冗長定数Ｋを設定する。第３のトリクル期間から第ｅのトリクル期間を実行する過程において、第１のネットワークノードは、カウント情報に基づいて、送信の瞬間Ｔの前に受信される第１のマルチキャストパケットの量をｓｕｍ（ｉ）に追加し、次いでｓｕｍ（ｉ）の値を冗長定数Ｋと比較し、ｓｕｍ（ｉ）の値が冗長定数Ｋに等しい場合、対応するトリクル期間における第１のマルチキャストパケットのブロードキャストを止め、または、ｓｕｍ（ｉ）の値が冗長定数Ｋ未満である場合、対応するトリクル期間の中の送信の瞬間Ｔにおいてマルチキャストパケットを各々の近隣のネットワークノードにブロードキャストする。
【０１１６】
第１のネットワークノードが第３のトリクル期間から第ｅのトリクル期間を実行する過程において、第１のマルチキャストパケットのブロードキャストがトリクル期間のいずれか１つにおいて止められた後で、第１のネットワークノードは、第１のマルチキャストパケットに対応するトリクルタイマーを止め、後続のトリクル期間をもはや実行しないことに留意されたい。
【０１１７】
加えて、第１のネットワークノードが第３のトリクル期間から第ｅのトリクル期間を実行する過程において、第１のマルチキャストパケットがトリクル期間のいずれか１つにおいてブロードキャストされる限り、第１のネットワークノードは、ブロードキャストされる第２のマルチキャストパケットにカウント情報を追加し、第１のネットワークノードがｊ回目の第１のマルチキャストパケットを送信することを示すために、カウント情報が使用される。
【０１１８】
この実施形態では、第１のネットワークノードによってブロードキャストされる第１のマルチキャストパケットは、カウント情報を含む。その具体的な実施過程は、上でステップ７０１においてすでに詳しく説明されている。詳細はここでは再び説明されない。
【０１１９】
１１１１．第１のネットワークノードが、第１のマルチキャストパケットのブロードキャストを止め、トリクルタイマーを止める。
【０１２０】
すべての近隣のネットワークノードが第１のマルチキャストパケットを受信したと第１のネットワークノードが決定するとき、第１のネットワークノードは、第１のマルチキャストパケットのブロードキャストを止め、第１のマルチキャストパケットに対応するトリクルタイマーを止め、トリクルアルゴリズムにおける後続のトリクル期間をもはや実行しない。
【０１２１】
１１１２．第１のネットワークノードが制御パケットを受信する。
【０１２２】
第１のネットワークノードが第１のマルチキャストパケットに対応するトリクルタイマーを止めた後で、第１のネットワークノードは制御パケットを受信し、制御パケットは制御命令を含み、制御命令は、トリクルタイマーを再始動するように第１のネットワークに命令するために使用される。
【０１２３】
制御パケットは、モノのインターネットゲートウェイによって第１のネットワークノードに送信されてもよく、または、サーバによって第１のネットワークノードに送信されてもよいことに留意されたい。これは本明細書では限定されない。
【０１２４】
１１１３．第１のネットワークノードがトリクルタイマーを再始動する。
【０１２５】
第１のネットワークノードが制御パケットを受信した後で、第１のネットワークノードは、制御パケットの中の制御命令に従って、第１のマルチキャストパケットに対応するトリクルタイマーを再始動し、トリクルカウンタに対応するトリクルアルゴリズムを再実行する。
【０１２６】
第１のネットワークノードが第１のマルチキャストパケットに対応するトリクルタイマーを再始動した後で、第１のネットワークノードは、第１のトリクル期間の冗長定数を近隣のネットワークノードの量より大きい整数に設定し、第２のトリクル期間から第ｅのトリクル期間にそれぞれ対応する冗長定数を近隣のネットワークノードの量に等しい整数に設定することに留意されたい。
【０１２７】
この実施形態では、第１のネットワークノードは、第１のマルチキャストパケットに含まれるカウント情報に基づいて、ｉ回目の第１のマルチキャストパケットが第２のネットワークノードによって送信されると決定し、ｓｕｍ（ｉ）に、ｉ回目の送信される第１のマルチキャストパケットを記録し、それにより、ｓｕｍ（ｉ）に記録されている第１のマルチキャストパケットの量が異なる第２のネットワークノードによって送信されることを確実にする。第１のネットワークノードは、近隣のネットワークノードが第１のマルチキャストパケットを受信でき、近隣のネットワークノードによる第１のマルチキャストパケットを受信することの遅延が減らされることが可能であるように、第１のマルチキャストパケットを初めて受信した後で、第１のネットワークノードが第１のマルチキャストパケットをすべての近隣のネットワークノードにブロードキャストすることを確実にするために、トリクルアルゴリズムにおける冗長定数を、第１のトリクル期間における近隣のネットワークノードの量より大きい値に設定する。第１のネットワークノードは、トリクルアルゴリズムにおける冗長定数を、第２のトリクル期間から第ｅのトリクル期間における近隣のネットワークノードの量に等しい値に設定し、第２のトリクル期間から第ｅのトリクル期間の各々において、ｓｕｍ（ｉ）の値を冗長定数と比較する比較結果に基づいて、第１のマルチキャストパケットをブロードキャストするかどうかを決定する。したがって、第１のネットワークノードは、第１のネットワークノードによって第１のマルチキャストパケットをブロードキャストすることの正確さを高め、それによりネットワークリソースを節約するために、ｓｕｍ（ｉ）の値および柔軟に設定された冗長定数に基づいて、すべての近隣のネットワークノードが第１のマルチキャストパケットを受信したかどうかを正しく決定することができる。
【０１２８】
本出願の実施形態におけるマルチキャストパケット処理方法が上で説明され、本出願の実施形態におけるネットワークデバイスが添付の図面を参照して以下で説明される。本出願の実施形態におけるネットワークデバイスは、第１のネットワークノードまたはチップシステムであり得る。異なる役割のネットワークデバイスは異なる機能を有する。ネットワークデバイスが第１のネットワークノードである例のみが、本出願の実施形態および後続の実施形態において説明に使用されることに留意されたい。
【０１２９】
図１４は、本出願の実施形態による、ネットワークデバイスの概略ブロック図である。ネットワークデバイスは、第１のネットワークノードであってもよく、ネットワークデバイス１４０は、
第２のネットワークノードによって送信される第１のマルチキャストパケットを受信するように構成される受信ユニット１４０１であって、第２のネットワークノードが第１のネットワークノードの任意の近隣のネットワークノードであり、近隣のネットワークノードが第１のネットワークノードに接続されるネットワークノードである、受信ユニット１４０１と、
処理ユニット１４０２であって、
第１のマルチキャストパケットに対応するトリクルタイマーを始動し、トリクルタイマーのｅ個のトリクル期間の中の第１のトリクル期間を実行し、ｅが２以上の整数であり、
送信の瞬間Ｔ１の前に第１のトリクル期間において受信される第１のマルチキャストパケットの量Ｚ１が第１の冗長定数Ｋ１以下であるかどうかを決定し、Ｋ１が近隣のネットワークノードの量より大きい整数であり、Ｔ１が第１のトリクル期間の中のあらかじめ設定された瞬間である、
ように構成される処理ユニット１４０２と、
Ｚ１がＫ１以下であるとき、第１のマルチキャストパケットをブロードキャストするように構成されるブロードキャストユニット１４０３と
を含む。
【０１３０】
処理ユニット１４０２はさらに、送信の瞬間Ｔ２の前に第２のトリクル期間において受信される第１のマルチキャストパケットの量Ｚ２が第２の冗長定数Ｋ２以上であるかどうかを決定し、Ｋ２が近隣のネットワークノードの量に等しい整数であり、Ｔ２が第２のトリクル期間の中のあらかじめ設定された瞬間であり、Ｚ２がＫ２以上であるとき、第１のマルチキャストパケットのブロードキャストを止めるように構成される。
【０１３１】
ブロードキャストユニット１４０３はさらに、Ｚ２がＫ２未満であるとき、第１のマルチキャストパケットをブロードキャストするように構成される。
【０１３２】
この実施形態では、処理ユニット１４０２はさらに、ｅが３以上であるとき、第３のトリクル期間から第ｅのトリクル期間に対応するトリクルアルゴリズムを実行するように構成され、第３のトリクル期間から第ｅのトリクル期間の各々に対応する冗長定数は近隣のネットワークノードの量に等しい整数である。
【０１３３】
この実施形態では、第１のマルチキャストパケットは、第２のネットワークノードが第１のマルチキャストパケットをｉ回目に送信することを示すために使用されるカウント情報を含み、ｉは０より大きい整数であり、処理ユニット１４０２は具体的に、Ｔ１の前に受信される第１のマルチキャストパケットに含まれるカウント情報に基づいて、ｉ回目の送信される第１のマルチキャストパケットの量を決定し、
ｉ回目の送信される第１のマルチキャストパケットの量がＫ１以下であるとき、Ｚ１がＫ１以下であると決定する
ように構成される。
【０１３４】
この実施形態では、処理ユニット１４０２は具体的に、
Ｔ２の前に受信される第１のマルチキャストパケットに含まれるカウント情報に基づいて、ｉ回目の送信される第１のマルチキャストパケットの量を決定し、
ｉ回目の送信される第１のマルチキャストパケットの量がＫ２に等しいとき、第１のマルチキャストパケットの量Ｚ２がＫ２に等しいと決定し、または、
ｉ回目の送信される第１のマルチキャストパケットの量がＫ２未満であるとき、第１のマルチキャストパケットの量Ｚ２がＫ２未満であると決定する
ように構成され、
処理ユニット１４０２はさらに、Ｚ２がＫ２に等しいとき、第１のマルチキャストパケットに対応するトリクルタイマーを止めるように構成される。
【０１３５】
この実施形態では、ブロードキャストユニット１４０３は、第１のマルチキャストパケットをブロードキャストするようにさらに構成され、第１のマルチキャストパケットは、第１のネットワークノードがｊ回目の第１のマルチキャストパケットを送信することを示すために使用されるカウント情報を含み、ｊは０より大きい整数である。
【０１３６】
この実施形態では、処理ユニット１４０２は具体的に、
Ｔ１の前に受信される第１のマルチキャストパケットがｉ回目に送信されるかどうかを決定し、ｉ回目に対応するトリクルカウンタカウンタ（ｉ）に、ｉ回目の送信される第１のマルチキャストパケットの量を追加し、
カウンタ（ｉ）の量がｉ回目の送信される第１のマルチキャストパケットの量であると決定する
ように構成される。
【０１３７】
この実施形態では、処理ユニット１４０２は具体的に、
Ｔ２の前に受信される第１のマルチキャストパケットがｉ回目に送信されるかどうかを決定し、ｉ回目に対応するトリクルカウンタカウンタ（ｉ）に、ｉ回目の送信される第１のマルチキャストパケットの量を追加し、
カウンタ（ｉ）の量がｉ回目の送信される第１のマルチキャストパケットの量であると決定する
ように構成される。
【０１３８】
この実施形態では、処理ユニット１４０２は、近隣のネットワークノードの量を取得し、近隣のネットワークノードの量に基づいてＫ１またはＫ２を設定するようにさらに構成される。
【０１３９】
この実施形態では、ブロードキャストユニット１４０３は、
Ｎ個の第２のマルチキャストパケットをブロードキャストするようにさらに構成され、Ｎ個の第２のマルチキャストパケットが互いに異なり、第２のマルチキャストパケットがインジケーション情報を含み、第２のマルチキャストパケットを受信した第２のネットワークノードに、第２のマルチキャストパケットを一度ブロードキャストするように命令するために、インジケーション情報が使用され、Ｎが１以上の整数であり、
受信ユニット１４０１は、Ｎ個の第２のマルチキャストパケットの各々を受信するようにさらに構成され、
処理ユニット１４０２は、
Ｎ個の第２のマルチキャストパケットの各々の量を決定し、
第２のマルチキャストパケットの中の第２のマルチキャストパケットの最大の量を近隣のネットワークノードの量として決定する
ようにさらに構成される。
【０１４０】
この実施形態では、処理ユニット１４０２は、第１のマルチキャストパケットに含まれるカウント情報に基づいて、ｉ回目の第１のマルチキャストパケットが第２のネットワークノードによって送信されると決定し、ｓｕｍ（ｉ）に、ｉ回目の送信される第１のマルチキャストパケットを記録し、それにより、ｓｕｍ（ｉ）に記録されている第１のマルチキャストパケットの量が異なる第２のネットワークノードによって送信されることを確実にする。処理ユニット１４０２は、近隣のネットワークノードが第１のマルチキャストパケットを受信できるように、第１のネットワークノードが第１のマルチキャストパケットを初めて受信した後で、ブロードキャストユニット１４０３が第１のマルチキャストパケットをすべての近隣のネットワークノードにブロードキャストすることを確実にするために、トリクルアルゴリズムにおける冗長定数を第１のトリクル期間における近隣のネットワークノードの量より大きい値に設定する。処理ユニット１４０２は、トリクルアルゴリズムにおける冗長定数を、第２のトリクル期間から第ｅのトリクル期間における近隣のネットワークノードの量に等しい値に設定し、第２のトリクル期間から第ｅのトリクル期間の各々において、ｓｕｍ（ｉ）の値を冗長定数と比較する比較結果に基づいて、第１のマルチキャストパケットをブロードキャストするかどうかを決定する。したがって、第１のネットワークノードは、第１のネットワークノードによって第１のマルチキャストパケットをブロードキャストすることの正確さを高め、それによってネットワークリソースを節約するために、ｓｕｍ（ｉ）の値および柔軟に設定された冗長定数に基づいて、すべての近隣のネットワークノードが第１のマルチキャストパケットを受信したかどうかを正しく決定することができる。
【０１４１】
図１５は、本出願の実施形態による、ネットワークデバイスのハードウェア構造の概略図である。ネットワークデバイス１５０は第１のネットワークノードであってもよく、ネットワークデバイス１５０は、少なくとも１つのプロセッサ１５１０、メモリ１５５０、およびトランシーバ１５３０を含む。トランシーバは受信機および送信機を含み得る。メモリ１５５０は、読取り専用メモリおよび／またはランダムアクセスメモリを含み、動作命令およびデータをプロセッサ１５１０に提供し得る。メモリ１５５０の一部は、不揮発性ランダムアクセスメモリ（ＮＶＲＡＭ）をさらに含み得る。
【０１４２】
いくつかの実装では、メモリ１５５０は、次の要素、すなわち実行可能モジュールもしくはデータ構造、またはそのサブセット、またはその拡張セットを記憶する。
【０１４３】
本出願のこの実施形態では、メモリ１５５０に記憶されている動作命令（動作命令はオペレーティングシステムに記憶されていてもよい）が、対応する動作を実行するために呼び出される。プロセッサ１５１０はネットワークデバイス１５０の動作を制御し、プロセッサ１５１０はＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ、中央処理装置）とも呼ばれ得る。メモリ１５５０は、読取り専用メモリおよびランダムアクセスメモリを含み、命令およびデータをプロセッサ１５１０に提供し得る。メモリ１５５０の一部は、不揮発性ランダムアクセスメモリ（ＮＶＲＡＭ）をさらに含み得る。具体的な適用例では、ネットワークデバイス１５０の構成要素は、バスシステム１５２０を使用することによって一緒に結合される。データバスに加えて、バスシステム１５２０は、電力バス、制御バス、ステータス信号バスなどをさらに含み得る。しかしながら、明確な説明のために、図面の中の様々なタイプのバスがバスシステム１５２０としてマークされる。
【０１４４】
本出願の前述の実施形態において開示される方法は、プロセッサ１５１０に適用され、プロセッサ１５１０によって実施され得る。プロセッサ１５１０は、集積回路チップであってもよく、信号処理能力を有する。実施過程において、前述の方法のステップは、プロセッサ１５１０の中のハードウェア集積論理回路を使用することによって、または、ソフトウェアの形式の命令を使用することによって実施されることが可能である。プロセッサ１５１０は、汎用プロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）もしくは別のプログラマブル論理デバイス、ディスクリートゲートもしくはトランジスタロジックデバイス、またはディスクリートハードウェア構成要素であり得る。プロセッサ１５１０は、本出願の実施形態において開示される方法、ステップ、および論理ブロック図を実施または実行し得る。汎用プロセッサはマイクロプロセッサであってもよく、または、プロセッサは任意の従来のプロセッサなどであってもよい。本出願の実施形態を参照して開示される方法のステップは、ハードウェア復号プロセッサを使用することによって直接実行され完了されてもよく、または、復号プロセッサの中のハードウェアモジュールとソフトウェアモジュールの組合せを使用することによって実行され完了されてもよい。ソフトウェアモジュールは、ランダムアクセスメモリ、フラッシュメモリ、読取り専用メモリ、プログラマブル読取り専用メモリ、電気的消去可能プログラマブルメモリ、またはレジスタなどの、当技術分野における成熟した記憶媒体に配置され得る。記憶媒体はメモリ１５５０に配置される。メモリ１５５０は、物理的に独立したユニットであってもよく、またはプロセッサ１５１０に統合されてもよい。プロセッサ１５１０は、メモリ１５５０から情報を読み取り、プロセッサ１５１０のハードウェアと組み合わせて前述の方法のステップを完了する。
【０１４５】
任意選択で、この実施形態におけるトランシーバ１５３０は、図２に対応する実施形態におけるステップ２０１およびステップ２０２で説明された内容の中の受信および送信に関する内容を実行するように構成されてもよく、または、図７に対応する実施形態におけるステップ７０１およびステップ７０５において説明される受信および送信に関する内容を実行してもよく、または、図１１に対応する実施形態におけるステップ１１０１、ステップ１１０３、ステップ１１０６、ステップ１１０９、およびステップ１１１２、もしくは、別の任意選択の実施形態において第１のネットワークノードのメッセージ送信および受信ステップにおいて説明される、受信および送信に関する内容を実行してもよい。
【０１４６】
プロセッサ１５１０は、図２に対応する実施形態においてステップ２０３、ステップ２０４、およびステップ２０５においてそれぞれ説明される内容を実行するように構成されてもよく、または、図７に対応する実施形態においてステップ７０２、ステップ７０３、およびステップ７０４においてそれぞれ説明される内容を実行するように構成されてもよく、または、図１１に対応する実施形態におけるステップ１１０２、ステップ１１０４、ステップ１１０５、ステップ１１０７、ステップ１１０８、ステップ１１１０、ステップ１１１１、およびステップ１１１２、もしくは別の任意選択の実施形態における第１のネットワークノードのデータ処理ステップにおいてそれぞれ説明される内容を実行するように構成されてもよい。
【０１４７】
図１６は、本出願の実施形態による、チップシステムのハードウェア構造の概略図である。チップシステム１６０は、少なくとも１つのプロセッサ１６１０、メモリ１６５０、および通信インターフェース１６３０を含む。メモリ１６５０は、読取り専用メモリおよびランダムアクセスメモリを含み、動作命令およびデータをプロセッサ１６１０に提供し得る。メモリ１６５０の一部は、不揮発性ランダムアクセスメモリ（ＮＶＲＡＭ）をさらに含み得る。
【０１４８】
いくつかの実装では、メモリ１６５０は、次の要素、すなわち実行可能モジュールもしくはデータ構造、またはこれらのサブセット、またはこれらの拡張セットを記憶する。
【０１４９】
本出願のこの実施形態では、メモリ１６５０に記憶されている動作命令（動作命令はオペレーティングシステムに記憶されていてもよい）が、対応する動作を実行するために呼び出される。
【０１５０】
可能な実装では、チップシステムの構造は、ネットワークデバイスによって使用されるチップシステムの構造と同様であるが、異なる装置はそれぞれの機能を実装するために異なるチップシステムを使用する。
【０１５１】
プロセッサ１６１０はチップシステムの動作を制御し、プロセッサ１６１０はＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ、中央処理装置）とも呼ばれ得る。メモリ１６５０は、読取り専用メモリおよびランダムアクセスメモリを含み、命令およびデータをプロセッサ１６１０に提供し得る。メモリ１６５０の一部は、不揮発性ランダムアクセスメモリ（ＮＶＲＡＭ）をさらに含み得る。具体的な適用例では、チップシステム１６０の構成要素は、バスシステム１６２０を使用することによって一緒に結合される。データバスに加えて、バスシステム１６２０は、電力バス、制御バス、ステータス信号バスなどをさらに含み得る。しかしながら、明確な説明のために、図面の中の様々なタイプのバスがバスシステム１６２０としてマークされる。
【０１５２】
本出願の前述の実施形態において開示される方法は、プロセッサ１６１０に適用され、またはプロセッサ１６１０によって実施され得る。プロセッサ１６１０は、集積回路チップであってもよく、信号処理能力を有する。実施過程において、前述の方法のステップは、プロセッサ１６１０の中のハードウェア集積論理回路を使用することによって、または、ソフトウェアの形式の命令を使用することによって実施されることが可能である。プロセッサ１６１０は、汎用プロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）もしくは別のプログラマブル論理デバイス、ディスクリートゲートもしくはトランジスタロジックデバイス、またはディスクリートハードウェア構成要素であり得る。プロセッサ１６１０は、本出願の実施形態において開示される方法、ステップ、および論理ブロック図を実施または実行し得る。汎用プロセッサはマイクロプロセッサであってもよく、または、プロセッサは任意の従来のプロセッサなどであってもよい。本出願の実施形態を参照して開示される方法のステップは、ハードウェア復号プロセッサを使用することによって直接実行され完了されてもよく、または、復号プロセッサの中のハードウェアモジュールとソフトウェアモジュールの組合せを使用することによって実行され完了され得る。ソフトウェアモジュールは、ランダムアクセスメモリ、フラッシュメモリ、読取り専用メモリ、プログラマブル読取り専用メモリ、電気的消去可能プログラマブルメモリ、またはレジスタなどの、当技術分野における成熟した記憶媒体に配置され得る。記憶媒体はメモリ１６５０に配置される。メモリ１６５０は、物理的に独立したユニットであってもよく、またはプロセッサ１６１０に統合されてもよい。プロセッサ１６１０は、メモリ１６５０から情報を読み取り、プロセッサ１６１０のハードウェアと組み合わせて前述の方法のステップを完了する。
【０１５３】
任意選択で、この実施形態におけるトランシーバ１６３０は、図２に対応する実施形態におけるステップ２０１およびステップ２０２で説明された内容の中の受信および送信に関する内容を実行するように構成されてもよく、または、図７に対応する実施形態におけるステップ７０１およびステップ７０５で説明された受信および送信に関する内容を実行してもよく、または、図１１に対応する実施形態におけるステップ１１０１、ステップ１１０３、ステップ１１０６、ステップ１１０９、およびステップ１１１２、もしくは、別の任意選択の実施形態において第１のネットワークノードのメッセージ送信および受信ステップにおいて説明される、受信および送信に関する内容を実行してもよい。
【０１５４】
プロセッサ１６１０は、図２に対応する実施形態においてステップ２０３、ステップ２０４、およびステップ２０５においてそれぞれ説明される内容を実行するように構成されてもよく、または、図７に対応する実施形態においてステップ７０２、ステップ７０３、およびステップ７０４においてそれぞれ説明される内容を実行するように構成されてもよく、または、図１１に対応する実施形態におけるステップ１１０２、ステップ１１０４、ステップ１１０５、ステップ１１０７、ステップ１１０８、ステップ１１１０、ステップ１１１１、およびステップ１１１２、もしくは別の任意選択の実施形態における第１のネットワークノードのデータ処理ステップにおいてそれぞれ説明される内容を実行するように構成されてもよい。
【０１５５】
前述の実施形態のすべてまたは一部が、ソフトウェア、ハードウェア、ファームウェア、またはこれらの任意の組合せを使用することによって実施され得る。ソフトウェアが実施形態を実施するために使用されるとき、実施形態は、コンピュータプログラム製品の形式で完全にまたは部分的に実施され得る。
【０１５６】
コンピュータプログラム製品は、１つまたは複数のコンピュータ命令を含む。コンピュータプログラム命令が、コンピュータ上にロードされそこで実行されるとき、本出願の実施形態に従った手順または機能が、すべてまたは部分的に生成される。コンピュータは、汎用コンピュータ、専用コンピュータ、コンピュータネットワーク、または別のプログラマブル装置であり得る。コンピュータ命令は、コンピュータ可読記憶媒体に記憶されてもよく、または、コンピュータ可読記憶媒体から別のコンピュータ可読記憶媒体に送信されもよい。たとえば、コンピュータ命令は、ウェブサイト、コンピュータ、サーバ、またはデータセンターから、有線の方式で（たとえば、同軸ケーブル、光ファイバ、またはデジタル加入者線（ＤＳＬ））、またはワイヤレスの方式で（たとえば、赤外線、無線、またはマイクロ波）、別のウェブサイト、コンピュータ、サーバ、またはデータセンターに送信され得る。コンピュータ可読記憶媒体は、コンピュータによってアクセス可能な任意の使用可能な媒体、または、１つまたは複数の使用可能な媒体を組み込むサーバもしくはデータセンターなどのデータ記憶デバイスなどのデータ記憶デバイスであり得る。使用可能な媒体は、磁気媒体（たとえば、フロッピーディスク、ハードディスク、または磁気テープ）、光学媒体（たとえば、ＤＶＤ）、半導体媒体（たとえば、ソリッドステートドライブＳｏｌｉｄ  Ｓｔａｔｅ  Ｄｉｓｋ（ＳＳＤ））などであり得る。
【０１５７】
実施形態の方法のステップのすべてまたは一部は、関連するハードウェアに命令するプログラムによって完了され得ることを、当業者は理解し得る。プログラムは、コンピュータ可読記憶媒体に記憶され得る。記憶媒体は、ＲＯＭ、ＲＡＭ、磁気ディスク、光学ディスクなどを含み得る。
【０１５８】
本出願の実施形態において提供されるデータ送信方法、デバイス、コンピュータ可読記憶媒体、およびチップシステムは、上で詳しく説明される。本出願の原理および実装は、具体的な例を通じて本明細書で説明される。前述の実施形態の説明は、本出願の方法および核心の考え方を理解するのを助けるために与えられるにすぎない。加えて、当業者は、本出願の考え方に従って、具体的な実装および適用の範囲に関して、本出願に変形および修正を行うことができる。結論として、本明細書の内容は、本出願への限定として解釈されるべきではない。
【０１５９】
本明細書、特許請求の範囲、および本出願の添付の図面において、「第１の」、「第２の」などの用語は、類似する物体を区別することが意図されているが、具体的な順序または順列を必ずしも示さない。そのような方法で名付けられるデータは適切な場合には相互に交換可能であるので、本明細書で説明される実施形態は、本明細書で例示または説明されるもの以外の他の順序で実施されてもよいことが理解されるべきである。その上、「含む」、「有する」という用語、またはそれらの任意の他の変形が、非排他的な包含をカバーすることが意図される。本出願に現れるステップの名称または番号は、その名称または番号によって示される時間的な／論理的な順序で方法手順のステップが実行されなければならないことを意味しない。名前または番号を付けられた手順におけるステップの実行順序は、同じまたは同様の技術的な効果が達成されることが可能である限り、達成されるべき技術的な目的に従って変更されることが可能である。
【０１６０】
便宜的に、および簡単な説明のために、前述のシステム、装置、およびユニットの詳細な動作過程について、前述の方法の実施形態における対応する過程に対して参照が行われてもよく、詳細はここでは再び説明されないことが、当業者により明確に理解され得る。
【０１６１】
本出願において提供されるいくつかの実施形態では、開示されるシステム、装置、および方法は、他の方式で実施され得ることが理解されるべきである。たとえば、説明される装置の実施形態は例にすぎない。たとえば、ユニットの分割は、論理的な機能の分割にすぎず、実際の実装では他の分割であってもよい。たとえば、複数のユニットまたは構成要素が別のシステムへと組み合わされてもよく、もしくは統合されてもよく、または、いくつかの特徴が、無視されてもよく、もしくは実行されなくてもよい。加えて、表示もしくは議論される相互の結合または直接の結合または通信接続は、何らかのインターフェースを使用することによって実施され得る。装置またはユニット間の間接的な結合または通信接続は、電気的に、機械的に、または他の形式で実施され得る。
【０１６２】
別々の部分として説明されるユニットは、物理的に別々であってもなくてもよく、ユニットとして表示される部分は、物理的なユニットであってもなくてもよく、１つの場所に配置されてもよく、または複数のネットワークユニットに分散されてもよい。実施形態の解決法の目的を達成するために、実際の要件に基づいて、ユニットの一部またはすべてが選択され得る。
【０１６３】
加えて、本出願の実施形態における機能ユニットは、１つの処理ユニットへと統合されてもよく、またはユニットの各々が物理的に単独で存在してもよく、または２つ以上のユニットが１つのユニットへ統合される。統合されるユニットは、ハードウェアの形式で実装されてもよく、またはソフトウェア機能ユニットの形式で実装されてもよい。
【０１６４】
集積ユニットがソフトウェア機能ユニットの形式で実装され、独立の製品として販売または使用されるとき、集積ユニットは、コンピュータ可読記憶媒体に記憶され得る。そのような理解に基づいて、本出願の技術的な解決法が基本的に、または従来技術に寄与する部分が、または技術的な解決法のすべてもしくは一部が、ソフトウェア製品の形式で実装され得る。コンピュータソフトウェア製品は、記憶媒体に記憶され、本出願の実施形態において説明される方法のステップのすべてまたは一部を実行するようにコンピュータデバイス（パーソナルコンピュータ、サーバ、ネットワークデバイスなどであり得る）に命令するためのいくつかの命令を含む。前述の記憶媒体は、ＵＳＢフラッシュドライブ、リムーバブルハードディスク、読取り専用メモリ（ＲＯＭ、Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ランダムアクセスメモリ（ＲＡＭ、Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、磁気ディスク、または光学ディスクなどの、プログラムコードを記憶することができる任意の媒体を含む。
【０１６５】
前述の実施形態は、本出願を限定することではなく、本出願の技術的な解決法を説明することだけが意図されている。本出願は、前述の実施形態を参照して詳しく説明されるが、当業者は、前述の実施形態において説明される技術的な解決法に対してそれでも修正を行い得ること、または、それらのいくつかの技術的な特徴に対して等価な置換を行い得ることを、理解すべきである。そのような修正または置換は、対応する技術的な解決法の本質を、本出願の実施形態の技術的な解決法の趣旨および範囲から逸脱させない。
【図１】
2021519562.tif 000004
【図２】
2021519562.tif 000005
【図３】
2021519562.tif 000006
【図４】
2021519562.tif 000007
【図５】
2021519562.tif 000008
【図６】
2021519562.tif 000009
【図７】
2021519562.tif 000010
【図８】
2021519562.tif 000011
【図９】
2021519562.tif 000012
【図１０】
2021519562.tif 000013
【図１１】
2021519562.tif 000014
【図１２】
2021519562.tif 000015
【図１３】
2021519562.tif 000016
【図１４】
2021519562.tif 000017
【図１５】
2021519562.tif 000018
【図１６】
2021519562.tif 000019
【手続補正書】
【提出日】令和2年11月27日(2020.11.27)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
第１のネットワークノードによって、第２のネットワークノードによって送信される第１のマルチキャストパケットを受信するステップであって、前記第２のネットワークノードが前記第１のネットワークノードの任意の近隣のネットワークノードであり、前記近隣のネットワークノードが前記第１のネットワークノードに接続されるネットワークノードである、ステップと、
前記第１のネットワークノードによって、前記第１のマルチキャストパケットに対応するトリクルタイマーを始動し、前記トリクルタイマーのｅ個のトリクル期間の中の第１のトリクル期間を実行するステップであって、ｅが２以上の整数である、ステップと、
前記第１のネットワークノードによって、送信の瞬間Ｔ１の前に前記第１のトリクル期間において受信される第１のマルチキャストパケットの量Ｚ１が第１の冗長定数Ｋ１以下であるかどうかを決定するステップであって、Ｋ１が近隣のネットワークノードの量より大きい整数であり、Ｔ１が前記第１のトリクル期間の中のあらかじめ設定された瞬間である、ステップと、
Ｚ１がＫ１以下である場合、前記第１のネットワークノードによって、前記第１のマルチキャストパケットをブロードキャストするステップと、
前記第１のネットワークノードによって、送信の瞬間Ｔ２の前に第２のトリクル期間において受信される第１のマルチキャストパケットの量Ｚ２が第２の冗長定数Ｋ２以上であるかどうかを決定するステップであって、Ｋ２が近隣のネットワークノードの前記量に等しい整数であり、Ｔ２が前記第２のトリクル期間の中のあらかじめ設定された瞬間である、ステップと、
Ｚ２がＫ２以上である場合、前記第１のネットワークノードによって、前記第２のトリクル期間における前記第１のマルチキャストパケットのブロードキャストを止めるステップ、または、
Ｚ２がＫ２未満である場合、前記第１のネットワークノードによって、前記第１のマルチキャストパケットをブロードキャストするステップと
を備えるマルチキャストパケット処理方法。
【請求項２】
前記方法が、
ｅが３以上であるとき、前記第１のネットワークノードによって、第３のトリクル期間から第ｅのトリクル期間に対応するトリクルアルゴリズムを実行するステップをさらに備え、
前記第３のトリクル期間から前記第ｅのトリクル期間の各々に対応する冗長定数が近隣のネットワークノードの前記量に等しい請求項１に記載の方法。
【請求項３】
前記第１のマルチキャストパケットが、前記第２のネットワークノードがｉ回目の前記第１のマルチキャストパケットを送信することを示すために使用されるカウント情報を備え、ｉが０より大きい整数であり、
前記第１のネットワークノードによって、送信の瞬間Ｔ１の前に前記第１のトリクル期間において受信される第１のマルチキャストパケットの量Ｚ１が第１の冗長定数Ｋ１以下であるかどうかを決定する前記ステップが、
前記第１のネットワークノードによって、Ｔ１の前に受信される前記第１のマルチキャストパケットに備えられるカウント情報に基づいて、前記ｉ回目の前記第２のネットワークノードによって送信される第１のマルチキャストパケットの量を決定するステップと、
前記ｉ回目の送信される第１のマルチキャストパケットの前記量がＫ１以下である場合、前記第１のネットワークノードによって、Ｚ１がＫ１以下であると決定するステップと
を備える請求項１または２に記載の方法。
【請求項４】
前記第１のネットワークノードによって、送信の瞬間Ｔ２の前に第２のトリクル期間において受信される第１のマルチキャストパケットの量Ｚ２が第２の冗長定数Ｋ２以上かどうかを決定する前記ステップが、
前記第１のネットワークノードによって、Ｔ２の前に受信される前記第１のマルチキャストパケットに備えられるカウント情報に基づいて、ｉ回目の送信される第１のマルチキャストパケットの前記量を決定するステップと、
前記ｉ回目の送信される第１のマルチキャストパケットの前記量がＫ２に等しい場合、前記第１のネットワークノードによって、第１のマルチキャストパケットの前記量Ｚ２がＫ２に等しいと決定するステップ、または、
前記ｉ回目の送信される第１のマルチキャストパケットの前記量がＫ２未満である場合、前記第１のネットワークノードによって、第１のマルチキャストパケットの前記量Ｚ２がＫ２未満であると決定するステップと
を備え、
Ｚ２がＫ２に等しいとき、前記第１のネットワークノードによって、前記第２のトリクル期間における前記第１のマルチキャストパケットのブロードキャストを止める前記ステップの後で、前記方法が、
前記第１のネットワークノードによって、前記第１のマルチキャストパケットに対応する前記トリクルタイマーを止めるステップ
をさらに備える請求項１乃至３のいずれか一項に記載の方法。
【請求項５】
前記第１のネットワークノードによって、前記第１のマルチキャストパケットをブロードキャストする前記ステップが、
前記第１のネットワークノードによって、前記第１のマルチキャストパケットをブロードキャストするステップを備え、
前記第１のマルチキャストパケットが、前記第１のネットワークノードがｊ回目の前記第１のマルチキャストパケットを送信することを示すために使用されるカウント情報を備え、ｊが０より大きい整数である請求項３に記載の方法。
【請求項６】
前記第１のネットワークノードによって、Ｔ１の前に受信される前記第１のマルチキャストパケットに備えられるカウント情報に基づいて、前記ｉ回目の送信される第１のマルチキャストパケットの量を決定する前記ステップが、
前記第１のネットワークノードによって、Ｔ１の前に受信される前記第１のマルチキャストパケットが前記ｉ回目に送信されるかどうかを決定し、前記ｉ回目に対応するトリクルカウンタ（ｉ）に、前記ｉ回目の送信される第１のマルチキャストパケットの前記量を追加するステップと、
前記第１のネットワークノードによって、前記カウンタ（ｉ）の値が前記ｉ回目の送信される第１のマルチキャストパケットの前記量であると決定するステップと
を備える請求項３に記載の方法。
【請求項７】
前記第１のネットワークノードによって、Ｔ２の前に受信される前記第１のマルチキャストパケットに備えられるカウント情報に基づいて、前記ｉ回目の送信される第１のマルチキャストパケットの前記量を決定する前記ステップが、
前記第１のネットワークノードによって、Ｔ２の前に受信される前記第１のマルチキャストパケットが前記ｉ回目に送信されるかどうかを決定し、前記ｉ回目に対応するトリクルカウンタ（ｉ）に、前記ｉ回目の送信される第１のマルチキャストパケットの前記量を追加するステップと、
前記第１のネットワークノードによって、前記カウンタ（ｉ）の値が前記ｉ回目の送信される第１のマルチキャストパケットの前記量であると決定するステップと
を備える請求項４に記載の方法。
【請求項８】
前記第１のネットワークノードによって、送信の瞬間Ｔ１の前に前記第１のトリクル期間において受信される第１のマルチキャストパケットの量Ｚ１が第１の冗長定数Ｋ１以下であるかどうかを決定する前記ステップの前に、前記方法が、
前記第１のネットワークノードによって、近隣のネットワークノードの前記量を取得し、近隣のネットワークノードの前記量に基づいてＫ１またはＫ２を設定するステップをさらに備える請求項１に記載の方法。
【請求項９】
前記第１のネットワークノードによって、近隣のネットワークノードの前記量を取得する前記ステップが、
前記第１のネットワークノードによって、Ｎ個の第２のマルチキャストパケットをブロードキャストするステップであって、前記Ｎ個の第２のマルチキャストパケットが互いに異なり、前記第２のマルチキャストパケットがインジケーション情報を備え、前記インジケーション情報が、前記第２のマルチキャストパケットを受信した前記第２のネットワークノードに前記第２のマルチキャストパケットを一度ブロードキャストするように命令するために使用され、Ｎが１以上の整数である、ステップと、
前記第１のネットワークノードによって、前記Ｎ個の第２のマルチキャストパケットの各々を受信するステップと、
前記第１のネットワークノードによって、前記Ｎ個の第２のマルチキャストパケットの各々の順列番号を決定するステップと、
前記第１のネットワークノードによって、前記第２のマルチキャストパケットの中の第２のマルチキャストパケットの最大の量を近隣のネットワークノードの前記量として決定するステップと
を備える請求項８に記載の方法。
【請求項１０】
ネットワークデバイスであって、前記ネットワークデバイスが第１のネットワークノードであり、前記ネットワークデバイスが、
第２のネットワークノードによって送信される第１のマルチキャストパケットを受信するように構成される受信ユニットであって、前記第２のネットワークノードが、前記第１のネットワークノードの任意の近隣のネットワークノードであり、前記近隣のネットワークノードが、前記第１のネットワークノードに接続されるネットワークノードである、受信ユニットと、
処理ユニットであって、
前記第１のマルチキャストパケットに対応するトリクルタイマーを始動し、前記トリクルタイマーのｅ個のトリクル期間の中の第１のトリクル期間を実行し、ｅが２以上の整数であり、
送信の瞬間Ｔ１の前に前記第１のトリクル期間において受信される第１のマルチキャストパケットの量Ｚ１が第１の冗長定数Ｋ１以下であるかどうかを決定し、Ｋ１が近隣のネットワークノードの量より大きい整数であり、Ｔ１が前記第１のトリクル期間の中のあらかじめ設定された瞬間である、
ように構成される処理ユニットと、
Ｚ１がＫ１以下であるとき、前記第１のマルチキャストパケットをブロードキャストする
ように構成されるブロードキャストユニットと
を備え、前記処理ユニットが、
送信の瞬間Ｔ２の前に第２のトリクル期間において受信される第１のマルチキャストパケットの量Ｚ２が第２の冗長定数Ｋ２以上であるかどうかを決定し、Ｋ２が近隣のネットワークノードの前記量に等しい整数であり、Ｔ２が前記第２のトリクル期間の中のあらかじめ設定された瞬間であり、
Ｚ２がＫ２以上であるとき、前記第１のマルチキャストパケットのブロードキャストを止める
ようにさらに構成され、前記ブロードキャストユニットが、
Ｚ２がＫ２未満であるとき、前記第１のマルチキャストパケットをブロードキャストする
ようにさらに構成される、ネットワークデバイス。
【請求項１１】
前記処理ユニットが、ｅが３以上であるとき、第３のトリクル期間から第ｅのトリクル期間に対応するトリクルアルゴリズムを実行するようにさらに構成され、前記第３のトリクル期間から前記第ｅのトリクル期間の各々に対応する冗長定数が近隣のネットワークノードの前記量に等しい整数である請求項１０に記載のネットワークデバイス。
【請求項１２】
前記第１のマルチキャストパケットが、前記第２のネットワークノードがｉ回目の前記第１のマルチキャストパケットを送信することを示すために使用されるカウント情報を備え、ｉが０より大きい整数であり、
前記処理ユニットが、
Ｔ１の前に受信される前記第１のマルチキャストパケットに備えられるカウント情報に基づいて、前記ｉ回目の送信される第１のマルチキャストパケットの量を決定し、
前記ｉ回目の送信される第１のマルチキャストパケットの前記量がＫ１以下であるとき、Ｚ１がＫ１以下であると決定する
ように構成される請求項１０または１１に記載のネットワークデバイス。
【請求項１３】
前記処理ユニットが、
Ｔ２の前に受信される前記第１のマルチキャストパケットに備えられるカウント情報に基づいて、ｉ回目の前記第２のネットワークノードによって送信される第１のマルチキャストパケットの前記量を決定し、
前記ｉ回目の送信される第１のマルチキャストパケットの前記量がＫ２に等しいとき、第１のマルチキャストパケットの前記量Ｚ２がＫ２に等しいと決定し、または、
前記ｉ回目の送信される第１のマルチキャストパケットの前記量がＫ２未満であるとき、第１のマルチキャストパケットの前記量Ｚ２がＫ２未満であると決定する
ように構成され、
前記処理ユニットが、Ｚ２がＫ２に等しいとき、前記第１のマルチキャストパケットに対応する前記トリクルタイマーを止めるようにさらに構成される請求項１０乃至１２のいずれか一項に記載のネットワークデバイス。
【請求項１４】
前記ブロードキャストユニットが、前記第１のマルチキャストパケットをブロードキャストするようにさらに構成され、前記第１のマルチキャストパケットが、前記第１のネットワークノードがｊ回目の前記第１のマルチキャストパケットを送信することを示すために使用されるカウント情報を備え、ｊが０より大きい整数である請求項１２に記載のネットワークデバイス。
【請求項１５】
前記処理ユニットが、
Ｔ１の前に受信される前記第１のマルチキャストパケットが前記ｉ回目に送信されるかどうかを決定し、前記ｉ回目に対応するトリクルカウンタ（ｉ）に、前記ｉ回目の送信される第１のマルチキャストパケットの前記量を追加し、
前記カウンタ（ｉ）の値が前記ｉ回目の送信される前記第１のマルチキャストパケットの前記量であると決定する
ように構成される請求項１２に記載のネットワークデバイス。
【請求項１６】
前記処理ユニットが、
Ｔ２の前に受信される前記第１のマルチキャストパケットが前記ｉ回目に送信されるかどうかを決定し、前記ｉ回目に対応するトリクルカウンタ（ｉ）に、前記ｉ回目の送信される第１のマルチキャストパケットの前記量を追加し、
前記カウンタ（ｉ）の値が前記ｉ回目の送信される第１のマルチキャストパケットの前記量であると決定する
ように構成される請求項１３に記載のネットワークデバイス。
【請求項１７】
前記処理ユニットが、近隣のネットワークノードの前記量を取得し、近隣のネットワークノードの前記量に基づいてＫ１またはＫ２を設定するようにさらに構成される請求項１０に記載のネットワークデバイス。
【請求項１８】
前記ブロードキャストユニットが、Ｎ個の第２のマルチキャストパケットをブロードキャストするようにさらに構成され、前記Ｎ個の第２のマルチキャストパケットが互いに異なり、前記第２のマルチキャストパケットがインジケーション情報を備え、前記インジケーション情報が、前記第２のマルチキャストパケットを受信した前記第２のネットワークノードに前記第２のマルチキャストパケットを一度ブロードキャストするように命令するために使用され、Ｎが１以上の整数であり、
前記受信ユニットが、前記Ｎ個の第２のマルチキャストパケットの各々を受信するようにさらに構成され、
前記処理ユニットが、
前記Ｎ個の第２のマルチキャストパケットの各々の順列番号を決定し、
前記第２のマルチキャストパケットの中の第２のマルチキャストパケットの最大の量を近隣のネットワークノードの前記量として決定する
ようにさらに構成される請求項１７に記載のネットワークデバイス。
【請求項１９】
命令を備えるコンピュータ可読記憶媒体であって、前記命令がコンピュータ上で実行され、前記コンピュータが、請求項１乃至９のいずれか一項に記載の方法を実行することが可能にされるコンピュータ可読記憶媒体。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、通信技術の分野に関し、特に、マルチキャストパケット処理方法およびネットワークデバイスに関する。
【背景技術】
【０００２】
本出願は、その全体が参照によって本明細書に組み込まれる、２０１８年４月１８日に中国国家知識産権局に出願された「ＭＵＬＴＩＣＡＳＴ  ＰＡＣＫＥＴ  ＰＲＯＣＥＳＳＩＮＧ  ＭＥＴＨＯＤ  ＡＮＤ  ＮＥＴＷＯＲＫ  ＤＥＶＩＣＥ」という表題の中国特許出願第２０１８１０３４９９１２．８号の優先権を主張する。
【０００３】
低電力有損失ネットワーク（ｌｏｗ−ｐｏｗｅｒ  ａｎｄ  ｌｏｓｓｙ  ｎｅｔｗｏｒｋｓ、ＬＬＮ）は、モノのインターネット（ｉｎｔｅｒｎｅｔ  ｏｆ  ｔｈｉｎｇｓ、ＩｏＴ）の一種である。モノのインターネットにおける、あらゆるものが接続されるという特性により、ＬＬＮの中には大量のネットワークノードがある。
【０００４】
現在のＬＬＮのためのマルチキャストプロトコル（ｍｕｌｔｉｃａｓｔ  ｐｒｏｔｏｃｏｌ  ｆｏｒ  ＬＬＮｓ、ＭＰＬ）では、マルチキャストパケットは、制御されたフラッディング（Ｆｌｏｏｄ）に基づいて処理される。この処理過程は次のようなものであり得る。マルチキャストパケットを受信した後で、ＬＬＮの中のネットワークノードが、マルチキャストパケットのための独立したトリクルタイマーを確立し、トリクルタイマーを始動する。複数のトリクル期間が、トリクルタイマーにおいて設定され得る。たとえば、ｅ個のトリクル期間が設定される。マルチキャストパケットの送信の瞬間Ｔとして、瞬間が各トリクル期間から選択される。各トリクル期間における送信の瞬間Ｔの前に、ネットワークノードは、近隣のネットワークノードがマルチキャストパケットを送信する総回数ｃについての統計を収集する。送信の瞬間Ｔが到達されるとき、ネットワークノードは、すべての隣接するネットワークノードがマルチキャストパケットを受信したかどうかを推測するために、総回数ｃを冗長定数Ｋと比較する。ｃ≧Ｋである場合、ネットワークノードは、すべての近隣のネットワークノードがマルチキャストパケットを受信したと推測し、ネットワークノードは、マルチキャストパケットをそれ以上送信する必要がなく、送信抑制を完了する。ｃ＜Ｋである場合、ネットワークノードは、マルチキャストパケットを受信していない近隣のネットワークノードがあると推測し、ネットワークノードはマルチキャストパケットをブロードキャストする。
【０００５】
マルチキャストパケットのブロードキャストを止めるかどうか、またはマルチキャストパケットをブロードキャストし続けるかどうかを決定するために、同じ冗長定数がＬＬＮにおいて使用されるので、正しくない決定の事例がたいていは発生する。その結果、次の事例がたいてい発生する。マルチキャストパケットがブロードキャストされなければならないときに、マルチキャストパケットのブロードキャストが止められ、マルチキャストパケットのブロードキャストが止められなければならないときに、マルチキャストパケットがまだブロードキャストされている。結果として、マルチキャストパケットが正しくブロードキャストされることが可能ではなく、それによりネットワークリソースを無駄にする。
【発明の概要】
【０００６】
本出願の実施形態は、第１のネットワークノードの近隣のネットワークノードの量に基づいて冗長定数を設定し、第１のマルチキャストパケットに対応するトリクルタイマーのトリクル期間を最適化し、それによりネットワークリソースを節約するための、マルチキャストパケット処理方法およびネットワークデバイスを提供する。
【０００７】
本出願の実施形態の第１の態様は、マルチキャストパケット処理方法を提供し、この方法は、
ＬＬＮにおいて、第２のネットワークノードが第１のマルチキャストパケットを第１のネットワークノードに送信するとき、第１のネットワークノードによって、第２のネットワークノードによって送信される第１のマルチキャストパケットを受信するステップであって、第２のネットワークノードが第１のネットワークノードの任意の近隣のネットワークノードであり、近隣のネットワークノードが第１のネットワークノードに接続されるネットワークノードである、ステップと、第１のマルチキャストパケットを受信した後で、第１のネットワークノードによって、第１のマルチキャストパケットに対応するトリクルタイマーを確立するステップと、トリクルタイマーを始動するステップと、トリクルタイマーのｅ個のトリクル期間の中の第１のトリクル期間を実行するステップであって、ｅが２以上の整数である、ステップと、第１のトリクル期間を実行する過程において、第１のネットワークノードによって、送信の瞬間Ｔ１の前に第１のトリクル期間において受信される第１のマルチキャストパケットの量Ｚ１が第１の冗長定数Ｋ１以下であるかどうかを決定するステップであって、Ｋ１が近隣のネットワークノードの量より大きい整数であり、Ｔ１が第１のトリクル期間の中のあらかじめ設定された瞬間である、ステップと、Ｚ１がＫ１以下である場合、第１のネットワークノードによって、第１のマルチキャストパケットをブロードキャストするステップと、第１のトリクル期間が終了した後で、第１のネットワークノードによって、第２のトリクル期間を実行し続けるステップと、送信の瞬間Ｔ２の前に第２のトリクル期間において受信される第１のマルチキャストパケットの量Ｚ２が第２の冗長定数Ｋ２以上であるかどうかを決定するステップであって、Ｋ２が近隣のネットワークノードの量に等しい整数であり、Ｔ２が第２のトリクル期間の中のあらかじめ設定された瞬間である、ステップと、Ｚ２がＫ２以上である場合、第１のネットワークノードによって、第２のトリクル期間における第１のマルチキャストパケットのブロードキャストを止め、次のトリクル期間を実行するステップ、または、Ｚ２がＫ２未満である場合、第１のネットワークノードによって、第１のマルチキャストパケットをブロードキャストするステップとを含む。第１のネットワークノードによって第１のマルチキャストパケットをブロードキャストすることの正確さを高め、それによりネットワークリソースを節約するために、第１のネットワークノードが近隣のネットワークノードの量に基づいて冗長定数を柔軟に設定できることが、第１の態様から知られることが可能である。
【０００８】
本出願の実施形態の第１の態様に基づいて、本出願の実施形態の第１の態様の第１の実装において、マルチキャストパケット処理方法は、ｅが３以上であるとき、第１のネットワークノードによって、第３のトリクル期間から第ｅのトリクル期間に対応するトリクルアルゴリズムを実行するステップをさらに含み、第３のトリクル期間から第ｅのトリクル期間の各々に対応する冗長定数は、近隣のネットワークノードの量に等しい整数である。第１のネットワークノードが、第３のトリクル期間から第ｅのトリクル期間の各々に対応する冗長定数を近隣のネットワークノードの量に等しい整数に設定し、その結果、第３のトリクル期間から第ｅのトリクル期間を実行する過程において、第１のネットワークノードが、冗長定数に基づいて、各々の近隣のネットワークが第１のマルチキャストパケットを受信したかどうかを正しく決定することができ、それにより、第１のネットワークノードによって第１のマルチキャストパケットをブロードキャストすることの正確さを高めることが、第１の態様の第１の実装から知られることが可能である。
【０００９】
本出願の実施形態の第１の態様および第１の態様の第１の実装に基づいて、本出願の実施形態の第１の態様の第２の実装において、第１のネットワークノードは、第２のネットワークノードによって送信される第１のマルチキャストパケットを受信し、第１のマルチキャストパケットは、第２のネットワークノードがｉ回目の第１のマルチキャストパケットを送信することを示すために使用されるカウント情報を含み、ｉは０より大きい整数であり、第１のネットワークノードによって、送信の瞬間Ｔ１の前に受信される第１のマルチキャストパケットの量Ｚ１が第１の冗長定数Ｋ１以下であるかどうかを決定するステップは、第１のネットワークノードによって、Ｔ１の前に受信される第１のマルチキャストパケットに含まれるカウント情報に基づいて、ｉ回目の送信される第１のマルチキャストパケットの量を決定するステップと、ｉ回目の送信される第１のマルチキャストパケットの量がＫ１以下である場合、第１のネットワークノードによって、Ｚ１がＫ１以下であると決定するステップとを含む。Ｔ１が到達されるとき、第１のネットワークノードが、 同じ送信順列番号で第１のマルチキャストパケットの量とＫ１を比較することが、第１の態様の第２の実装から知られることが可能である。実際の適用例では、第１のネットワークノードは、比較結果に基づいて、すべての近隣のネットワークノードが第１のマルチキャストパケットを受信したかどうかを正しく決定することができる。
【００１０】
本出願の実施形態の第１の態様、第１の態様の第１の実装、および第１の態様の第２の実装のいずれか１つに基づいて、本出願の実施形態の第１の態様の第３の実装において、第１のネットワークノードによって、送信の瞬間Ｔ２の前に第２のトリクル期間において受信される第１のマルチキャストパケットの量Ｚ２が第２の冗長定数Ｋ２以上であるかどうかを決定するステップは、第１のネットワークノードによって、Ｔ２の前に受信される第１のマルチキャストパケットに含まれるカウント情報に基づいて、ｉ回目の送信される第１のマルチキャストパケットの量を決定するステップと、ｉ回目の送信される第１のマルチキャストパケットの量がＫ２に等しい場合、第１のネットワークノードによって、第１のマルチキャストパケットの量Ｚ２がＫ２に等しいと決定し、それに対応して、Ｚ２がＫ２に等しいとき、第１のネットワークノードが第１のマルチキャストパケットのブロードキャストを止めた後で、第１のネットワークノードによって、第１のマルチキャストパケットに対応するトリクルタイマーを止め、トリクルアルゴリズムの実行を止めるステップ、または、ｉ回目の送信される第１のマルチキャストパケットの量がＫ２未満である場合、第１のネットワークノードによって、第１のマルチキャストパケットの量Ｚ２がＫ２未満であると決定するステップとを含む。第１のネットワークノードは、第２のトリクル期間において同じ送信順列番号で第１のマルチキャストパケットの量をＫ２と比較することが、第１の態様の第３の実装から知られることが可能である。実際の適用例では、第１のネットワークノードは、比較結果に基づいて、すべての隣接するネットワークノードが第１のマルチキャストパケットを受信したかどうかを正しく決定し、すべての近隣のネットワークノードが第１のマルチキャストパケットを受信したと決定した後で、第１のマルチキャストパケットに対応するトリクルタイマーを止めることができ、それによりネットワークリソースを節約する。
【００１１】
本出願の実施形態の第１の態様および第１の態様の第１の実装から第１の態様の第２の実装のいずれか１つに基づいて、本出願の実施形態の第１の態様の第４の実装において、第１のネットワークノードによって、第１のマルチキャストパケットをブロードキャストするステップは、第１のネットワークノードによって、第１のマルチキャストパケットを近隣のネットワークノードにブロードキャストするステップを含み、第１のマルチキャストパケットは、第１のネットワークノードがｊ回目の第１のマルチキャストパケットを送信することを示すために使用されるカウント情報を含み、ｊは０より大きい整数である。第１のネットワークノードが、カウント情報をブロードキャストされる第１のマルチキャストパケットに追加して、その結果、カウント情報を含む第１のマルチキャストパケットを受信した近隣のネットワークノードが、カウント情報に基づいて第１のマルチキャストパケットの量をカウントできることが、第１の態様の第４の実装から知られることが可能である。
【００１２】
本出願の実施形態の第１の態様および第１の態様の第１の実装から第１の態様の第４の実装のいずれか１つに基づいて、本出願の実施形態の第１の態様の第５の実装において、第１のネットワークノードによって、Ｔ１の前に受信される第１のマルチキャストパケットに含まれるカウント情報に基づいて、ｉ回目の送信される第１のマルチキャストパケットの量を決定するステップは、第１のネットワークノードによって、カウント情報に基づいて、Ｔ１の前に受信される第１のマルチキャストパケットがｉ回目に送信されるかどうかを決定するステップと、ｉ回目に対応するトリクルカウンタ（ｉ）に、ｉ回目の送信される第１のマルチキャストパケットの量を追加するステップと、第１のネットワークノードによって、カウンタ（ｉ）の値がｉ回目の送信される第１のマルチキャストパケットの値であると決定するステップとを含む。カウント情報が第１のマルチキャストパケットに追加され、その結果、第１のネットワークノードが、カウント情報に基づいて、同じ送信順列番号で第１のマルチキャストパケットの量をトリクルカウンタ（ｉ）においてカウントすることができ、具体的には、第１のマルチキャストパケットの送信の回目である量と、トリクルカウンタにおいてカウントされる量は同じであることが、第１の態様の第５の実装から知られることが可能である。
【００１３】
本出願の実施形態の第１の態様および第１の態様の第１の実装から第１の態様の第５の実装のいずれか１つに基づいて、本出願の実施形態の第１の態様の第３の実装において、第１のネットワークノードによって、Ｔ２の前に受信される第１のマルチキャストパケットに含まれるカウント情報に基づいて、ｉ回目の送信される第１のマルチキャストパケットの量を決定するステップは、第１のネットワークノードによって、カウント情報に基づいて、Ｔ２の前に受信される第１のマルチキャストパケットがｉ回目に送信されるかどうかを決定するステップと、ｉ回目に対応するトリクルカウンタ（ｉ）に、ｉ回目の送信される第１のマルチキャストパケットの量を追加するステップと、第１のネットワークノードによって、カウンタ（ｉ）の値がｉ回目の送信される第１のマルチキャストパケットの量であると決定するステップとを含む。カウント情報が第１のマルチキャストパケットに追加され、その結果、第１のネットワークノードが、カウント情報に基づいて、同じ回数に対して送信される第１のマルチキャストパケットの量をトリクルカウンタ（ｉ）においてカウントすることができ、言い換えると、第１のマルチキャストパケットを送信する回目である量と、トリクルカウンタにおいてカウントされる量は同じであることが、第１の態様の第６の実装から知られることが可能である。
【００１４】
本出願の実施形態の第１の態様に基づいて、本出願の実施形態の第１の態様の第７の実装において、第１のネットワークノードによって、送信の瞬間Ｔ１の前に第１のトリクル期間において受信される第１のマルチキャストパケットの量Ｚ１が第１の冗長定数Ｋ１以下であるかどうかを決定する前に、方法は、第１のネットワークノードによって、近隣のネットワークノードの量を取得するステップと、近隣のネットワークノードの量に基づいてＫ１またはＫ２を設定するステップとをさらに含む。近隣のネットワークノードの量に基づいて第１のネットワークノードがＫ１またはＫ２を設定し、その結果、Ｋ１またはＫ２がより正確であることが、第１の態様の第７の実装から知られることが可能である。
【００１５】
本出願の第１の態様の第７の実装に基づいて、本出願の実施形態の第１の態様の第８の実装において、第１のネットワークノードによって、近隣のネットワークノードの量を取得するステップは、第１のネットワークノードによって、Ｎ個の第２のマルチキャストパケットを近隣のネットワークノードにブロードキャストするステップであって、Ｎ個の第２のマルチキャストパケットが互いに異なり、第２のマルチキャストパケットがインジケーション情報を含み、インジケーション情報が、第２のマルチキャストパケットを受信した第２のネットワークノードに第２のマルチキャストパケットを一度ブロードキャストするように命令するために使用され、Ｎが１以上の整数である、ステップと、第２のマルチキャストパケットを受信した各々の近隣のネットワークノードが第１のマルチキャストパケットを一度ブロードキャストした後で、第１のネットワークノードによって、近隣のネットワークノードによって送信されるＮ個の第２のマルチキャストパケットの各々を受信するステップと、Ｎ個の第２のマルチキャストパケットの各々の順列番号を決定するために、Ｎ個の第２のマルチキャストパケットの中の同じ順列番号で同じ第２のマルチキャストパケットをカウントするステップと、第２のマルチキャストパケットの中の第２のマルチキャストパケットの最大の量を近隣のネットワークノードの量として使用するステップとを含む。第１のネットワークノードが近隣のネットワークノードの量を取得するために第２のマルチキャストパケットを送信することが、第１の態様の第８の実装から知られることが可能である。第１のネットワークノードが動的ネットワークノードであるとき、この解決法において取得される近隣のネットワークノードの量はより正確である。
【００１６】
本出願の実施形態の第１の態様および第１の態様の第１の実装から第１の態様の第８の実装のいずれか１つに基づいて、本出願の実施形態の第１の態様の第９の実装において、第１のネットワークノードがマルチキャストパケットの送信を止めた後で、方法は、第１のネットワークノードによって、サーバまたはモノのインターネットゲートウェイによって送信される制御パケットを受信するステップであって、制御パケットが制御命令を含み、制御命令がトリクルタイマーを再始動するように第１のネットワークノードに命令するために使用される、ステップと、第１のネットワークノードによって、制御命令に従ってトリクルタイマーを再始動するステップと、トリクルカウンタに対応するトリクル期間を再実行するステップと、第１のマルチキャストパケットのためのトリクルタイマーを止めた後で、第１のマルチキャストパケットを受信していない近隣のネットワークノードが第１のマルチキャストパケットを受信できるように、第１のネットワークノードによって、トリクルタイマーを再始動するための制御パケットを受信するステップとをさらに含む。
【００１７】
本出願の実施形態の第２の態様はネットワークデバイスを提供する。ネットワークデバイスは第１のネットワークノードであってもよく、ネットワークデバイスは、受信ユニット、処理ユニット、およびブロードキャストユニットを含む。受信ユニットは、第１の態様および可能な実装のいずれか１つに従った受信動作に関するステップを実行するように構成される。処理ユニットは、第１の態様および可能な実装のいずれか１つに従った処理動作に関するステップを実行するように構成される。ブロードキャストユニットは、第１の態様および可能な実装のいずれか１つに従ったブロードキャスト動作に関するステップを実行するように構成される。
【００１８】
本出願の実施形態の第３の態様はネットワークデバイスを提供する。ネットワークデバイスは第１のネットワークノードであってもよく、ネットワークデバイスは、メモリ、トランシーバ、および少なくとも１つのプロセッサを含む。メモリは命令を記憶する。メモリ、トランシーバ、および少なくとも１つのプロセッサは、線を使用して接続される。
【００１９】
本出願の第４の態様は、命令を含むコンピュータプログラム製品を提供する。命令がコンピュータ上で実行されるとき、第１の態様または第１の態様の可能な実装のいずれか１つに従った方法が実行される。
【００２０】
本出願の実施形態の第５の態様はコンピュータ記憶媒体を提供する。コンピュータ記憶媒体は命令を記憶する。命令がコンピュータ上で実行されるとき、コンピュータは、第１の態様または第１の態様の可能な実装のいずれか１つに従って方法を実行することが可能にされる。
【００２１】
本出願の第６の態様はチップシステムを提供する。チップシステムは、少なくとも１つのプロセッサおよび通信インターフェースを含む。チップシステムはメモリをさらに含み得る。メモリ、通信インターフェース、および少なくとも１つのプロセッサは、線を使用することによって接続される。少なくとも１つのメモリは命令を記憶する。命令は、第１の態様または第１の態様の可能な実装のいずれか１つに従って方法を実行するように、プロセッサによって実行される。
【００２２】
本出願の実施形態は以下の利点を有することが、前述の技術的な解決法から知られることが可能である。
【００２３】
実施形態では、第１のネットワークノードは、近隣のネットワークノードが第１のマルチキャストパケットを受信でき、近隣のネットワークノードによる第１のマルチキャストパケットを受信することの遅延が減らされることが可能であるように、第１のマルチキャストパケットを初めて受信した後で、第１のネットワークノードが第１のマルチキャストパケットをすべての近隣のネットワークノードにブロードキャストすることを確実にするために、トリクルアルゴリズムにおける冗長定数を、第１のトリクル期間における近隣のネットワークノードの量より大きい値に設定する。第１のネットワークノードは、トリクルアルゴリズムにおける冗長定数を、第２のトリクル期間から第ｅのトリクル期間における近隣のネットワークノードの量に等しい値に設定し、第２のトリクル期間から第ｅのトリクル期間の各々において、受信された第１のマルチキャストパケットの量を冗長定数と比較した比較結果に基づいて、第１のマルチキャストパケットをブロードキャストするかどうかを決定する。冗長定数は第１のネットワークノードの近隣のネットワークノードの量に基づいて柔軟に設定されるので、第１のネットワークノードによって第１のマルチキャストパケットをブロードキャストすることの正確さが高められることが可能であり、それによりネットワークリソースを節約する。
【図面の簡単な説明】
【００２４】
【図１】本出願の実施形態による適用シナリオの概略図である。
【図２】本出願の実施形態によるマルチキャストパケット処理方法の概略フローチャートである。
【図３】本出願の実施形態による別の適用シナリオの概略図である。
【図４】本出願の実施形態による別の適用シナリオの概略図である。
【図５】本出願の実施形態による別の適用シナリオの概略図である。
【図６】本出願の実施形態による別の適用シナリオの概略図である。
【図７】本出願の実施形態による別のマルチキャストパケット処理方法の概略フローチャートである。
【図８】本出願の実施形態によるマルチキャストパケットのフレームフォーマットの概略図である。
【図９】本出願の実施形態による別の適用シナリオの概略図である。
【図１０】本出願の実施形態による別の適用シナリオの概略図である。
【図１１】本出願の実施形態による別のマルチキャストパケット処理方法の概略フローチャートである。
【図１２】本出願の実施形態による別の適用シナリオの概略図である。
【図１３】本出願の実施形態による別の適用シナリオの概略図である。
【図１４】本出願の実施形態によるネットワークデバイスの概略ブロック図である。
【図１５】本出願の実施形態によるネットワークデバイスのハードウェア構造の概略図である。
【図１６】本出願の実施形態によるチップシステムのハードウェア構造の概略図である。
【発明を実施するための形態】
【００２５】
以下は、添付の図面を参照して本出願の技術的な解決法を説明する。
【００２６】
本出願の実施形態は、第１のネットワークノードの近隣のネットワークノードの量に基づく冗長定数を設定し、第１のマルチキャストパケットに対応するトリクルタイマーのトリクル期間を最適化し、それによりネットワークリソースを節約するための、マルチキャストパケット処理方法およびネットワークデバイスを提供する。
【００２７】
図１は、本出願の実施形態による、モノのインターネットの分野におけるＬＬＮの適用シナリオの概略図である。この適用シナリオの概略図は、ネットワークノード１０１から１０４およびモノのインターネットゲートウェイ１０５を含む。モノのインターネットゲートウェイ１０５は、各ネットワークノードへの接続を確立する。この接続は、ワイヤレス接続であっても、または有線接続であってもよい。ワイヤレス接続または有線接続は、ネットワークノード間でも確立される。
【００２８】
本出願のこの実施形態では、ネットワークノード１０１から１０４は、マルチキャストパケットを生成するためのルートノードであってもよく、または、マルチキャストパケットを転送することを担う転送ノードであってもよい。ＬＬＮのためのマルチキャストプロトコル（Ｍｕｌｔｉｃａｓｔ  Ｐｒｏｔｏｃｏｌ  ｆｏｒ  ＬＬＮ、ＭＰＬ）では、マルチキャストパケットを生成するためのルートノードはシードノードと呼ばれ、マルチキャストパケットを転送することを担う転送ノードは転送者ノードと呼ばれる。実際の適用例では、ネットワークノード１０１から１０４は、ルーティング機能を有するノードであってもよく、たとえば、ルータまたはスイッチであってもよい。これは本明細書では具体的に限定されない。
【００２９】
本出願のこの実施形態におけるモノのインターネットゲートウェイ１０５は、検知ネットワークと通信ネットワークとの間のプロトコル交換と、異なるタイプの検知ネットワーク間のプロトコル変換を実施することができ、ワイドエリア相互接続とローカルエリア相互接続の両方を実施することができる。加えて、モノのインターネットゲートウェイ１０５は、デバイス管理機能をさらに有する。運用者は、モノのインターネットゲートウェイ１０５を使用することによってネットワークノード１０１から１０４を管理し、ネットワークノード１０１から１０４の関連情報を知り、遠隔制御を実施することができる。
【００３０】
本出願のこの実施形態は、インテリジェント交通信号に適用されてもよく、スマートグリッド、スマートシティ、またはスマートビルディングなどの様々なモノのインターネットの分野にも適用されてもよいことに留意されたい。
【００３１】
ＭＰＬプロトコルでは、ネットワークノードは、トリクルアルゴリズムを使用することによって、ネットワークノードの近隣のネットワークノードにより送信されるマルチキャストパケットの量を計算する。トリクルアルゴリズム（ＲＦＣ６２０６）の主な動作原理は次の通りである。ネットワークの中のネットワークノードが、時間の期間における特定のマルチキャストパケットを受信する総回数について統計を集めることが可能にされ、ここでその時間の期間はトリクル期間と呼ばれてもよく、次いで、トリクル期間の中のあらかじめ設定された瞬間Ｔにおける総回数を決定し、ここで、あらかじめ設定された瞬間Ｔが設定されるとき、トリクル期間の中の任意の瞬間が選択されてもよい。総回数が特定の閾値を超える場合、ネットワークノードは、ネットワークノードおよび近隣のネットワークノードがマルチキャストパケットを受信することの一致するステータスを有すると決定する。言い換えると、ネットワークノードと近隣のネットワークノードの両方が、マルチキャストパケットを受信している。それ以外の場合、ネットワークノードは、ネットワークノードおよびネットワークの中の近隣のネットワークノードがマルチキャストパケットを受信することの一致するステータスを有しないと決定する。言い換えると、マルチキャストパケットを受信していない近隣のネットワークノードがある。ネットワークノードおよび近隣のネットワークノードがマルチキャストパケットを受信することの一致するステータスを有すると、ネットワークノードが決定するとき、ネットワークノードは、マルチキャストパケットを外部にブロードキャストする必要はない。しかしながら、ネットワークノードおよび近隣のネットワークノードが、マルチキャストパケットを受信することの一致するステータスを有しない場合、ネットワークノードおよび近隣のネットワークノードがマルチキャストパケットを受信することの一致するステータスを有するように、ネットワークノードは、近隣のネットワークノードとのデータ更新動作を実行する必要がある。
【００３２】
ＭＰＬにおけるトリクルアルゴリズムのパラメータは、表１−１に示される。
【００３３】
【表１】
2021519562.tif 000020
【００３４】
ネットワークノード、モノのインターネットゲートウェイ、およびＭＰＬプロトコルにおいてネットワークノードにより実行されるトリクルアルゴリズムが、上で説明される。本出願の実施形態におけるマルチキャストパケット処理方法は、添付の図面を参照して以下で説明される。
【００３５】
図２は、本出願の実施形態による、マルチキャストパケット処理方法の概略フローチャートである。図２に示されるように、マルチキャストパケット処理方法は次のステップを含む。
【００３６】
２０１．第１のネットワークノードが、第２のネットワークノードにより送信される第１のマルチキャストパケットを受信する。
【００３７】
ＬＬＮでは、第２のネットワークノードが第１のマルチキャストパケットを取得した後で、第２のネットワークノードが、第１のマルチキャストパケットを第１のネットワークノードに送信する。この場合、第１のネットワークノードは、受信デバイスを使用することによって、第２のネットワークノードにより送信される第１のマルチキャストパケットを受信する。第２のネットワークノードは第１のネットワークノードの近隣のネットワークノードであり、第１のネットワークノードの近隣のネットワークノードは第１のネットワークノードに接続されるネットワークノードである。第１のネットワークノードの近隣のネットワークノードは、有線で第１のネットワークノードに接続されるネットワークノードであってもよく、または、ワイヤレスに第１のネットワークノードに接続されるネットワークノードであってもよいことに留意されたい。ワイヤレスに接続される近隣のネットワークノードは、第１のネットワークノードの無線信号のカバレッジ内のネットワークノードであり得る。これは本明細書では具体的に限定されない。
【００３８】
２０２．第１のネットワークノードが近隣のネットワークノードの量を取得する。
【００３９】
第１のマルチキャストパケットに対応するトリクルタイマーを確立する前に、第１のネットワークノードは、近隣のネットワークノードの量を取得する。具体的には、第１のネットワークノードは、無線信号のカバレッジ内のすべての近隣のネットワークノードにＮ個の第２のマルチキャストパケットをブロードキャストし、Ｎ個の第２のマルチキャストパケットは互いに異なり、第２のマルチキャストパケットはインジケーション情報を含み、このインジケーション情報は、第２のマルチキャストパケットを受信したすべての近隣のネットワークノードに、第２のマルチキャストパケットを一度ブロードキャストするように命令するために使用され、Ｎは１以上の整数である。
【００４０】
近隣のネットワークノードがＮ個の第２のマルチキャストパケットを受信した後で、近隣のネットワークノードは、インジケーション情報に従って、Ｎ個の第２のマルチキャストパケットの各々を一度ブロードキャストする。
【００４１】
第１のネットワークノードは、近隣のネットワークノードによってブロードキャストされるＮ個の第２のマルチキャストパケットの各々を受信し、Ｎ個の第２のマルチキャストパケットの中の第２のマルチキャストパケットの最大の量を近隣のネットワークノードの量として決定する。
【００４２】
第１のネットワークノードが第１のネットワークノードのすべての近隣のネットワークノードに５つの第２のマルチキャストパケットをブロードキャストする例が、以下で説明に使用される。
【００４３】
具体的には、第１のネットワークノードはそれぞれ、５つの第２のマルチキャストパケットをマークし、たとえば、第１の第２のマルチキャストパケットを１としてマークし、第２の第２のマルチキャストパケットを２としてマークし、…、第５の第２のマルチキャストパケットを５としてマークする。そして、第１のネットワークノードは、５つのマークされた第２のマルチキャストパケットを、あらかじめ設定された規則に従ってすべての近隣のネットワークノードにブロードキャストする。あらかじめ設定された規則は、特定の時間間隔で５つの第２のマルチキャストパケットがブロードキャストされる、たとえば第１のネットワークノードが１つの第２のマルチキャストパケットを２ｍｓの間隔でブロードキャストするというものであり得る。この実施形態では、マークを搬送する５つの第２のマルチキャストパケットが、別の規則に従って別々にブロードキャストされ得ることに留意されたい。あらかじめ設定された規則はこの実施形態において限定されない。
【００４４】
近隣のネットワークノードが第２のマルチキャストパケットを受信した後で、各々の第２のマルチキャストパケットはインジケーション情報を含むので、近隣のネットワークノードは、インジケーション情報に従って第２のマルチキャストパケットを一度ブロードキャストする。言い換えると、近隣のネットワークノードがインジケーション情報を含むいずれかの第２のマルチキャストパケットを受信している限り、近隣のネットワークノードは、第２のマルチキャストパケットをブロードキャストし、第２のマルチキャストパケットを一度だけブロードキャストする。
【００４５】
近隣のネットワークノードが第２のマルチキャストパケットをブロードキャストした後で、第１のネットワークノードは、近隣のネットワークノードによってブロードキャストされる第２のマルチキャストパケットを受信し、第１のネットワークノードは、５つの第２のマルチキャストパケットの量を別々にカウントする。たとえば、１としてマークされる第２のマルチキャストパケットの量はカウンタ（１）においてカウントされ、２としてマークされる第２のマルチキャストパケットの量はカウンタ（２）においてカウントされ、…、５としてマークされる第２のマルチキャストパケットの量はカウンタ（５）においてカウントされる。そして、カウンタ（１）、カウンタ（２）、…、およびカウンタ（５）の中で最大の値を伴うカウンタの値が、近隣のネットワークノードの量として使用される。たとえば、カウンタ（１）＝３、カウンタ（２）＝１、カウンタ（３）＝４、カウンタ（４）＝２、およびカウンタ（５）＝３であるとき、３としてマークされる第２のマルチキャストパケットの量が最大であることが知られることが可能である。この場合、第１のネットワークノードは、第１のネットワークノードの近隣のネットワークノードの量が４であると決定する。
【００４６】
第２のマルチキャストパケットの量がカウンタ（１）からカウンタ（５）を使用することによってカウントされる例が、上で使用されることに留意されたい。実際の適用例では、近隣のネットワークノードの量は、カウンタの具体的な値を使用することによって決定される。
【００４７】
実際の適用例では、第１のネットワークノードは、第２のマルチキャストパケットを送信する前述の方式で近隣のネットワークノードの量を取得し、第１のネットワークノードは、第１のネットワークノードにおける第１のネットワークノードの近隣のネットワークノードの量をさらにあらかじめ設定し得ることに留意されたい。これは本明細書では限定されない。
【００４８】
２０３．第１のネットワークノードが、第１のマルチキャストパケットに対応するトリクルタイマーを始動し、トリクルタイマーのｅ個のトリクル期間の中の第１のトリクル期間を実行する。
【００４９】
第１のネットワークノードが第２のネットワークノードによって送信される第１のマルチキャストパケットを受信した後で、第１のネットワークノードは、第１のマルチキャストパケットのための独立したトリクルタイマーを確立し、トリクルタイマーのトリクルアルゴリズムを実行し、トリクルアルゴリズムのｅ個のトリクル期間の中の最初のトリクル期間に入り、ｅは２以上の整数である。
【００５０】
第１のネットワークノードがトリクルタイマーを確立する過程において、第１のネットワークノードは、トリクルタイマーにおいて実行される第１のトリクル期間における第１の冗長定数をＫ１に設定し、Ｋ１が第１のネットワークノードの近隣のネットワークノードの量より大きい整数であり、第２のトリクル期間における第２の冗長定数をＫ２に設定し、Ｋ２が第１のネットワークノードの近隣のネットワークノードの量に等しい整数であることに留意されたい。
【００５１】
実際の適用例では、第１のネットワークノードは代替として、トリクルタイマーのｅ個のトリクル期間のいずれか１つにおける冗長定数をＫ１に設定し、残りのトリクル期間における冗長定数をＫ２に設定し得ることに留意されたい。具体的には、実際の適用例では、第１のネットワークノードは代替として、第１のトリクル期間から第ｅのトリクル期間のいずれか１つにおける冗長定数をＫ１に設定し、Ｋ１が設定されるトリクル期間以外のトリクル期間における冗長定数をＫ２に設定し得る。
【００５２】
この実施形態では、第１のネットワークノードがトリクルタイマーにおいて実行される第１のトリクル期間における第１の冗長定数をＫ１に設定し、第２のトリクル期間における第２の冗長定数をＫ２に設定する例のみが、説明に使用される。
【００５３】
２０４．第１のネットワークノードが、送信の瞬間Ｔ１の前に第１のトリクル期間において受信される第１のマルチキャストパケットの量Ｚ１が第１の冗長定数Ｋ１以下であるかどうかを決定し、送信の瞬間Ｔ１前に、第１のトリクル期間に受信された第１のマルチキャストパケットの量Ｚ１が、第１の冗長定数Ｋ１以下である場合、第１のネットワークノードが第１のマルチキャストパケットをブロードキャストする。
【００５４】
第１のネットワークノードがトリクルタイマーを始動した後で、第１のトリクル期間を実行する過程において、第１のネットワークノードは、別の近隣のネットワークノードによって送信される第１のマルチキャストパケットをさらに受信し得る。第１のトリクル期間の中の送信の瞬間Ｔ１が到達されるとき、第１のネットワークノードは、Ｔ１の前に第１のトリクル期間において受信される第１のマルチキャストパケットの量Ｚ１をカウントし、そしてＺ１を第１の冗長定数Ｋ１と比較する。Ｚ１がＫ１以下である場合、第１のネットワークノードは、第１のマルチキャストパケットをすべての近隣のネットワークノードにブロードキャストし、第１のトリクル期間が終了した後で第２のトリクル期間を実行し続け、Ｔ１は第１のトリクル期間の中のあらかじめ設定された瞬間であり、あらかじめ設定された瞬間は第１のトリクル期間の中の任意の瞬間であり得る。
【００５５】
具体的には、図３および図４を参照されたい。図３において、ネットワークノードＴＸは第１のネットワークノードであり、ＲＸ１、ＲＸ２、ＲＸ３、およびＲＸ４は、第１のネットワークノードの近隣のネットワークノードである。言い換えると、Ｋ１は４より大きい。ここでは、Ｔ１の前に、ＴＸはＲＸ１およびＲＸ４によってそれぞれ送信される第１のマルチキャストパケットを受信する。図４は、ＴＸによって確立されるトリクルタイマーに対応する第１のトリクル期間を示し、Ｔ１は第１のトリクル期間の中の送信の瞬間である。Ｔ１が到達されるとき、ＴＸは、ＴＸによって受信される第１のマルチキャストパケットの量Ｚ１をカウントする。図４に従うと、Ｔ１の前に、ＴＸは、ＲＸ１およびＲＸ４によってそれぞれ送信される第１のマルチキャストパケットを受信することが知られることが可能である。言い換えると、Ｚ１＝２である。第１のネットワークノードは、Ｚ１をＫ１と比較する。Ｚ１はＫ１より小さいことが知られることが可能である。したがって、ＴＸは、第１のマルチキャストパケットを受信していない少なくとも１つの近隣のネットワークノードがあると決定する。この場合、ＴＸは、瞬間Ｔ１においてすべての近隣のネットワークノードに第１のマルチキャストパケットをブロードキャストする。
【００５６】
この実施形態および後続の実施形態では、各トリクル期間において第１のネットワークノードによりカウントされるマルチキャストパケットの量は、第１のマルチキャストパケットの量であることに留意されたい。
【００５７】
２０５．第１のネットワークノードが、送信の瞬間Ｔ２の前に第２のトリクル期間において受信される第１のマルチキャストパケットの量Ｚ２が第２の冗長定数Ｋ２以上であるかどうかを決定し、そうである場合、ステップ２０６を実行する。
【００５８】
第１のネットワークノードが第２のトリクル期間を実行する過程において、第１のネットワークノードは、近隣のネットワークノードによって送信される第１のマルチキャストパケットを受信する。第２のトリクル期間の中の送信の瞬間Ｔ２が到達されるとき、第１のネットワークノードは、第２のトリクル期間において受信される第１のマルチキャストパケットの量Ｚ２をカウントし、そしてＺ２を第２の冗長定数Ｋ２と比較する。Ｚ２がＫ２以上である場合、第１のネットワークノードは、すべての近隣のネットワークノードが第１のマルチキャストパケットを受信したことを決定し、第１のネットワークノードは、第２のトリクル期間における第１のマルチキャストパケットのブロードキャストを止める。Ｚ２がＫ２未満である場合、第１のネットワークノードは、第１のマルチキャストパケットをすべての近隣のネットワークノードにブロードキャストし、第２のトリクル期間が終了した後で第３のトリクル期間を実行し続ける。
【００５９】
具体的には、図５および図６を参照されたい。図５において、ネットワークノードＴＸは第１のネットワークノードであり、ＲＸ１、ＲＸ２、ＲＸ３、およびＲＸ４は、第１のネットワークノードの近隣のネットワークノードである。言い換えると、Ｋ２＝４である。ここでは、第２のトリクル期間における送信の瞬間Ｔ２の前に、ＴＸが、ＲＸ１、ＲＸ２、ＲＸ３、およびＲＸ４によってそれぞれ送信される第１のマルチキャストパケットを受信する。図６は、ＴＸによって確立されるトリクルタイマーのｅ個のトリクル期間を示す。Ｔ１の前に、ＴＸは、ＲＸ１およびＲＸ４によってそれぞれ送信される第１のマルチキャストパケットを受信し、Ｔ２の前に、ＴＸは、ＲＸ１、ＲＸ２、ＲＸ３、およびＲＸ４によってそれぞれ送信される第１のマルチキャストパケットを受信し、Ｔ２は第２のトリクル期間における送信の瞬間であり、Ｔ２は第２のトリクル期間におけるあらかじめ設定された瞬間であり、Ｔｅは第ｅのトリクル期間における送信の瞬間であり、Ｔｅは第ｅのトリクル期間におけるあらかじめ設定された瞬間である。
【００６０】
Ｔ２が到達されるとき、ＴＸは第２のトリクル期間において受信される第１のマルチキャストパケットの量Ｚ２をカウントする。Ｔ２の前に第２のトリクル期間において、ＴＸがＲＸ１、ＲＸ２、ＲＸ３、およびＲＸ４によってそれぞれ送信される第１のマルチキャストパケットを受信することが、図６から知られることが可能である。言い換えると、Ｚ２＝４である。第１のネットワークノードはＺ２をＫ２と比較する。Ｚ２はＫ２と等しいことが知られることが可能である。したがって、第１のネットワークノードは、すべての近隣のネットワークノードが第１のマルチキャストパケットを受信したと決定する。この場合、第１のネットワークノードは、瞬間Ｔ２において第１のマルチキャストパケットのブロードキャストを止める。加えて、トリクルアルゴリズムにおけるｅが２より大きい場合、第１のネットワークノードは、第２のトリクル期間が終了した後で次の期間を実行し続ける。
【００６１】
図５および図６において説明される内容は例であることに留意されたい。実際の適用例では、具体的に、第１のマルチキャストパケットをブロードキャストするか、または第１のマルチキャストパケットのブロードキャストを止めるかは、ＴＸによって受信されるマルチキャストパケットの量に基づいて決定される。
【００６２】
２０６．第１のネットワークノードが、第３のトリクル期間から第ｅのトリクル期間に対応するトリクルアルゴリズムを実行する。
【００６３】
第１のネットワークノードが第１のマルチキャストパケットに対応するトリクルタイマーを確立するとき、トリクルタイマーのトリクルアルゴリズムにおけるｅが３以上である場合、第１のネットワークノードは、第２のトリクル期間が終了した後で第３のトリクル期間から第ｅのトリクル期間を実行し続け、第３のトリクル期間から第ｅのトリクル期間にそれぞれ対応する冗長定数Ｋを第１のネットワークノードの近隣のネットワークノードの量に設定する。第３のトリクル期間から第ｅのトリクル期間を実行する過程において、第１のネットワークノードは、冗長定数Ｋを、第３のトリクル期間から第ｅのトリクル期間の各々において受信される第１のマルチキャストパケットの量と比較し、受信された第１のマルチキャストパケットの量が冗長定数Ｋ以上である場合、対応するトリクル期間における第１のマルチキャストパケットのブロードキャストを止め、または、受信された第１のマルチキャストパケットの量が冗長定数Ｋ未満である場合、トリクルアルゴリズムにおける各トリクル期間が実行され完了されるまで、対応するトリクル期間の中の送信の瞬間Ｔにおいてマルチキャストパケットを各々の近隣のネットワークノードにブロードキャストする。
【００６４】
この実施形態では、第１のネットワークノードは、近隣のネットワークノードが第１のマルチキャストパケットを受信することができ、近隣のネットワークノードによる第１のマルチキャストパケットを受信することの遅延が減らされることが可能であるように、第１のマルチキャストパケットを初めて受信した後で、第１のネットワークノードが第１のマルチキャストパケットをすべての近隣のネットワークノードにブロードキャストすることを確実にするために、トリクルアルゴリズムにおける冗長定数を、第１のトリクル期間における近隣のネットワークノードの量より大きい値に設定する。第１のネットワークノードは、トリクルアルゴリズムにおける冗長定数を、第２のトリクル期間から第ｅのトリクル期間における近隣のネットワークノードの量に等しい値に設定し、第２のトリクル期間から第ｅのトリクル期間の各々において、受信された第１のマルチキャストパケットの量を冗長定数と比較した比較結果に基づいて、第１のマルチキャストパケットをブロードキャストするかどうかを決定する。冗長定数は第１のネットワークノードの近隣のネットワークノードの量に基づいて柔軟に設定されるので、第１のネットワークノードによって第１のマルチキャストパケットをブロードキャストすることの正確さが高められることが可能であり、それによりネットワークリソースを節約する。
【００６５】
図７は、本出願の実施形態による、別のマルチキャストパケット処理方法の概略フローチャートである。図７に示されるように、マルチキャストパケット処理方法は、次のステップを含む。
【００６６】
７０１．第１のネットワークノードが、第２のネットワークノードによって送信される第１のマルチキャストパケットを受信する。
【００６７】
ＬＬＮにおいて、第２のネットワークノードが第１のマルチキャストパケットを取得した後で、第２のネットワークノードは、第１のマルチキャストパケットを第１のネットワークノードに送信する。この場合、第１のネットワークノードは、受信デバイスを使用することによって、第２のネットワークノードによって送信される第１のマルチキャストパケットを受信する。第１のマルチキャストパケットは、第２のネットワークノードがｉ回目の第１のマルチキャストパケットを送信することを示すために使用されるカウント情報を含み、ｉは０より大きい整数である。
【００６８】
具体的には、第１のマルチキャストパケットに含まれるカウント情報について、図８を参照されたい。図８は、ＭＰＬにおける第１のマルチキャストパケットのフレームフォーマットを示し、異なる特徴フィールドをマークするためにＳ、Ｍ、およびＶが使用される。予備（ｒｅｓｅｒｖｅｄ、ｒｓｖ）フィールドはＬＬＮにおける予備フィールドであり、言い換えると、ｒｓｖフィールドは、標準的な組織では一時的に使用されない。マルチキャストパケットの順列番号（ｓｅｑｕｅｎｃｅ）フィールドは、第１のマルチキャストパケットの順序を表すために使用される。マルチキャストソース特定（Ｓｅｅｄ−ｉｄ）フィールドは、第１のマルチキャストパケットを送信するマルチキャストソースデバイスを表すために使用される。Ｓｅｅｄ−ｉｄフィールドは、任意選択のフィールドであり、実際の適用例においては存在することもしないこともある。マルチキャストパケットのパケットタイプ（Ｏｐｔｉｏｎ  Ｔｙｐｅ）フィールドおよびマルチキャストパケットの長さ（Ｏｐｔ  Ｄａｔａ  ｌｅｎ）フィールドは、ＩＰｖ６マルチキャストパケットフレームのフィールドであり、第１のマルチキャストパケットがＩＰｖ６  Ｈｏｐ  ｂｙ  Ｈｏｐ拡張パケットであることを示すために使用される。Ｏｐｔｉｏｎ  Ｔｙｐｅフィールドは、第１のマルチキャストパケットのパケットタイプを表すために使用される。Ｏｐｔ  Ｄａｔａ  ｌｅｎフィールドは、第１のマルチキャストパケットの長さを表すために使用される。
【００６９】
この実施形態では、第２のネットワークノードは、第１のマルチキャストパケットの中のカウント情報を特定するためにｒｓｖフィールドを使用する。具体的な実施過程では、第２のネットワークノードが第１のマルチキャストパケットを送信する時間を表すために、異なる値がｒｓｖフィールドに割り当てられ得る。たとえば、１がｒｓｖフィールドに割り当てられるとき、それは、第２のネットワークノードが第１のマルチキャストパケットを初めて送信することを示し、または２がｒｓｖフィールドに割り当てられるとき、それは、第２のネットワークノードが２回目の第１のマルチキャストパケットを送信することを示し、以下同様である。
【００７０】
この実施形態では、第１のマルチキャストパケットの中のカウント情報を特定するために、新しく追加されるフィールドまたは別のフィールドが代替として使用され得ることに留意されたい。
【００７１】
７０２．第１のネットワークノードが、第１のマルチキャストパケットに対応するトリクルタイマーを始動し、トリクルタイマーのｅ個のトリクル期間の中の第１のトリクル期間を実行する。
【００７２】
第１のネットワークノードが第２のネットワークノードによって送信される第１のマルチキャストパケットを受信した後で、第１のネットワークノードは、第１のマルチキャストパケットのための独立したトリクルタイマーを確立し、トリクルタイマーを始動し、トリクルタイマーのトリクルアルゴリズムを実行し、トリクルアルゴリズムにおけるｅ個のトリクル期間の中の第１のトリクル期間を実行し、ｅは２以上の整数である。
【００７３】
７０３．第１のネットワークノードが、Ｔ１の前に受信される第１のマルチキャストパケットに含まれるカウント情報に基づいて、ｉ回目の送信される第１のマルチキャストパケットの量を決定する。
【００７４】
第１のネットワークノードが第１のトリクル期間を実行する過程において、カウント情報に基づいて、ｉ回目の第１のマルチキャストパケットが第２のネットワークノードにより第１のネットワークノードに送信されると決定した後で、第１のネットワークノードは、ｉ回目に対応するトリクルカウンタに第１のマルチキャストパケットの量を追加する。次いで、第１のネットワークノードは、トリクルカウンタの値に基づいて、ｉ回目の送信される第１のマルチキャストパケットの量を決定する。
【００７５】
具体的には、第１のネットワークノードは、カウントのために第１のマルチキャストパケットのｒｓｖフィールドの値を抽出する。たとえば、第１のネットワークノードによって受信される第１のマルチキャストパケットのｒｓｖフィールドは１としてマークされ、これは、第２のネットワークノードが第１のネットワークノードに第１のマルチキャストパケットを初めて送信することを示し、第１のネットワークノードは、追加の結果を結果（ｓｕｍ（１））に記録するために、１をカウンタ（カウンタ（１））に追加する。第１のネットワークノードによって受信される第１のマルチキャストパケットのｒｓｖフィールドが２としてマークされる場合、これは、第２のネットワークノードが第１のネットワークノードに２回目の第１のマルチキャストパケットを送信することを示し、追加の結果をｓｕｍ（２）に記録するために、１が第１のネットワークノードのカウンタ（２）に追加され、以下同様である。第１のネットワークノードによって受信される第１のマルチキャストパケットのｒｓｖフィールドがｉとしてマークされる場合、それは、第２のネットワークノードが第１のネットワークノードにｉ回目の第１のマルチキャストパケットを送信することを示し、第１のネットワークは、追加の結果をｓｕｍ（ｉ）に記録するために、１をカウンタ（ｉ）に追加する。言い換えると、ｓｕｍ（ｉ）の値は、ｉ回目の送信される第１のマルチキャストパケットの量である。
【００７６】
第１のトリクル期間において、第１のネットワークノードがカウンタ（ｉ）の中の第１のマルチキャストパケットの量をカウントした後で、第１のネットワークノードは、冗長定数Ｋを、カウント結果ｓｕｍ（１）、ｓｕｍ（２）、…、およびｓｕｍ（ｉ）にそれぞれ対応する値と比較する。ｓｕｍ（１）、ｓｕｍ（２）、…、およびｓｕｍ（ｉ）にそれぞれ対応する値のうちの少なくとも１つが冗長定数Ｋより大きい場合、それは、各々の近隣のネットワークノードが第１のマルチキャストパケットを受信したことを示す。瞬間Ｔ１において、第１のネットワークノードは、第１のマルチキャストパケットのブロードキャストを止め、トリクルタイマーの実行を止め、トリクルアルゴリズムにおける第２のトリクル期間から第ｅのトリクル期間をもはや実行しない。ｓｕｍ（１）、ｓｕｍ（２）、…、およびｓｕｍ（ｉ）にそれぞれ対応する値のいずれもが冗長定数Ｋより大きくない場合、それは、第１のマルチキャストパケットを受信していない少なくとも１つの近隣のネットワークノードがあることを示し、第１のネットワークノードは、瞬間Ｔ１において第１のマルチキャストパケットをすべての近隣のネットワークノードにブロードキャストし、トリクルアルゴリズムにおける第２のトリクル期間を実行する。
【００７７】
具体的には、図９は、第１のトリクル期間に対応するシナリオの概略図である。図９において、ＴＸは、ＲＸ１、ＲＸ２、およびＲＸ３によって送信される第１のマルチキャストパケットを別々に受信する。第１のネットワークノードは、第１のマルチキャストパケットを特定するために、ＲＸ１によって送信される第１のマルチキャストパケットのｒｓｖフィールドを抽出する。第１のマルチキャストパケットがＲＸ１によってＴＸノードに初めて送信される場合、第１のネットワークノードは、追加の結果をｓｕｍ（１）に記録するために、１をカウンタ（１）に追加する。この場合、ｓｕｍ（１）＝１である。第１のネットワークノードは、第１のマルチキャストパケットを特定するために、ＲＸ２によって送信される第１のマルチキャストパケットのｒｓｖフィールドを抽出する。第１のマルチキャストパケットがＲＸ２によってＴＸノードに初めて送信される場合、第１のネットワークノードは、追加の結果をｓｕｍ（１）に記録するために、１をカウンタ（１）に追加する。この場合、ｓｕｍ（１）＝２である。第１のネットワークノードは、第１のマルチキャストパケットを特定するために、ＲＸ３によって送信される第１のマルチキャストパケットのｒｓｖフィールドを抽出する。第１のマルチキャストパケットがＲＸ３によってＴＸノードに初めて送信される場合、第１のネットワークノードは、追加の結果をｓｕｍ（１）に記録するために、１をカウンタ（１）に追加する。この場合、ｓｕｍ（１）＝３である。第１のネットワークノードは、瞬間Ｔ１におけるｓｕｍ（１）の値を冗長定数Ｋと比較する。ｓｕｍ（１）が冗長定数Ｋ未満である場合、第１のネットワークノードは、第１のマルチキャストパケットをブロードキャストし、第２のトリクル期間を実行し続ける。ｓｕｍ（１）の値が冗長定数Ｋに等しい場合、第１のネットワークノードは、第１のネットワークノードのブロードキャストを止め、トリクルタイマーを止め、後続のトリクル期間をもはや実行しない。
【００７８】
この実施形態における冗長定数Ｋは、近隣のネットワークノードの量に基づいて設定され得ることに留意されたい。詳しくは、図２に対応する実施形態を参照されたい。冗長定数Ｋは代替として、ネットワークトポロジーおよびホップの量などの、複数の要因に基づいて設定されてもよい。ネットワークトポロジーおよびホップの量などの複数の要因に基づいて冗長定数Ｋを設定するための方法は、標準的な処理手順における方法と似ている。詳細は本明細書では説明されない。
【００７９】
７０４．第１のネットワークノードが、Ｔ２の前に受信される第１のマルチキャストパケットに含まれるカウント情報に基づいて、ｉ回目の送信される第１のマルチキャストパケットの量を決定する。
【００８０】
第１のトリクル期間において第１のマルチキャストパケットを受信していない少なくとも１つの近隣のネットワークノードがあることを、第１のネットワークノードが決定した後で、第１のネットワークノードは、第２のトリクル期間を実行し続け、近隣のネットワークノードから第１のマルチキャストパケットを受信する。Ｔ２が到達されるとき、第１のネットワークノードは、送信の瞬間Ｔ２の前に受信される第１のマルチキャストパケットの量をカウントする。具体的には、第１のマルチキャストパケットに含まれるカウント情報に基づいて、第２のネットワークノードによって第１のマルチキャストパケットをｉ回目に送信されると決定する場合、第１のネットワークノードは、ｉ回目に対応するトリクルカウンタに第１のマルチキャストパケットの量を追加し、第１のネットワークノードは、トリクルカウンタの値に基づいて、ｉ回目の送信される第１のマルチキャストパケットの量を決定する。
【００８１】
具体的には、図１０は、第２のトリクル期間に対応するシナリオの概略図である。図１０において、ＴＸは、ＲＸ１、ＲＸ２、およびＲＸ４によって送信される第１のマルチキャストパケットを別々に受信する。第１のネットワークノードは、第１のマルチキャストパケットを特定するために、ＲＸ１によって送信される第１のマルチキャストパケットのｒｓｖフィールドを抽出する。２回目の第１のマルチキャストパケットがＲＸ１によってＴＸノードに送信される場合、第１のネットワークノードは、追加の結果をｓｕｍ（２）に記録するために、１をカウンタ（２）に追加する。この場合、ｓｕｍ（２）＝１である。第１のネットワークノードは、第１のマルチキャストパケットを特定するために、ＲＸ２によって送信される第１のマルチキャストパケットのｒｓｖフィールドを抽出する。２回目の第１のマルチキャストパケットがＲＸ２によってＴＸノードに送信される場合、第１のネットワークノードは、追加の結果をｓｕｍ（２）に記録するために、１をカウンタ（２）に追加する。この場合、ｓｕｍ（２）＝２である。第１のネットワークノードは、第１のマルチキャストパケットを特定するために、ＲＸ４によって送信される第１のマルチキャストパケットのｒｓｖフィールドを抽出する。第１のマルチキャストパケットがＲＸ４によってＴＸノードに初めて送信される場合、第１のネットワークノードは、追加の結果をｓｕｍ（１）に記録するために、１をカウンタ（１）に追加する。この場合、ｓｕｍ（１）＝４である（ｓｕｍ（１）＝３はステップ７０３においてすでに記録されている）。瞬間Ｔ２が到達されるとき、ＴＸは、冗長定数Ｋを、ｓｕｍ（１）およびｓｕｍ（２）にそれぞれ対応する値と比較する。ｓｕｍ（１）およびｓｕｍ（２）にそれぞれ対応する値がともに冗長定数Ｋ未満である場合、第１のネットワークノードは、瞬間Ｔ２において第１のマルチキャストパケットをブロードキャストし、第２のトリクル期間が終了した後で第３のトリクル期間を実行する。ｓｕｍ（１）およびｓｕｍ（２）にそれぞれ対応する値のうちの少なくとも１つが冗長定数Ｋに等しい場合、第１のネットワークノードは、第１のマルチキャストパケットのブロードキャストを止め、トリクルタイマーを止め、トリクルアルゴリズムにおける後続のトリクル期間をもはや実行しない。
【００８２】
この実施形態では、ｓｕｍ（ｉ）の値に対して、第１のトリクル期間に基づいて、第２のトリクル期間に含まれる、ｉ回目の送信される第１のマルチキャストパケットの量がｓｕｍ（ｉ）に追加されることに留意されたい。言い換えると、ｓｕｍ（ｉ）の値は、第１のトリクル期間においてカウントされる第１のマルチキャストパケットの量を含む。
【００８３】
７０５．第１のネットワークノードが第１のマルチキャストパケットをブロードキャストする。
【００８４】
第１のマルチキャストパケットを受信していない少なくとも１つの近隣のネットワークノードがあることを、第１のネットワークノードが決定するとき、第１のネットワークノードは、第１のマルチキャストパケットをすべての近隣のネットワークノードにブロードキャストし、ブロードキャストされる第１のマルチキャストパケットは、第１のネットワークノードがｊ回目の第１のマルチキャストパケットを送信することを示すために使用されるカウント情報を含み、ｊは０より大きい整数である。
【００８５】
この実施形態では、第１のネットワークノードによってすべての近隣のネットワークノードにブロードキャストされる第１のマルチキャストパケットは、カウント情報を含む。その具体的な実施過程は、上でステップ７０１においてすでに詳しく説明されている。詳細はここでは再び説明されない。
【００８６】
この実施形態では、第１のネットワークノードは、第１のマルチキャストパケットに含まれるカウント情報に基づいて、ｉ回目の第１のマルチキャストパケットが第２のネットワークノードによって送信されることを決定し、ｉ回目の送信される第１のマルチキャストパケットをｓｕｍ（ｉ）に記録し、次いで、ｓｕｍ（ｉ）の値を冗長定数Ｋと比較し、比較結果に基づいて、第１のマルチキャストパケットをブロードキャストするかどうかを決定する。第１のマルチキャストパケットがカウント情報を含むので、ｓｕｍ（ｉ）に記録される、第１のマルチキャストパケットの量は、異なる第２のネットワークノードに対応する。したがって、第１のネットワークノードは、ｓｕｍ（ｉ）の値に基づいて、すべての近隣のネットワークノードが第１のマルチキャストパケットを受信したかどうかを正しく決定して、第１のネットワークノードによって第１のマルチキャストパケットをブロードキャストすることの正確さを高め、それによりネットワークリソースを節約することができる。
【００８７】
図１１は、本出願の実施形態による、別のマルチキャストパケット処理方法の概略フローチャートである。図１１に示されるように、マルチキャストパケット処理方法は次のステップを含む。
【００８８】
１１０１．第１のネットワークノードが、第２のネットワークノードによって送信される第１のマルチキャストパケットを受信する。
【００８９】
この実施形態では、ステップ１１０１は図７のステップ７０１と同様である。詳細はここでは再び説明されない。
【００９０】
１１０２．第１のネットワークノードが、第１のマルチキャストパケットに対応するトリクルタイマーを始動し、トリクルタイマーのｅ個のトリクル期間の中の第１のトリクル期間を実行する。
【００９１】
１１０３．第１のネットワークノードが、近隣のネットワークノードの量を取得する。
【００９２】
この実施形態では、ステップ１１０２およびステップ１１０３は、図２のステップ２０２およびステップ２０３と同様である。詳細はここでは再び説明されない。
【００９３】
１１０４．第１のネットワークノードが、Ｔ１の前に受信される第１のマルチキャストパケットに含まれるカウント情報に基づいて、ｉ回目の送信される第１のマルチキャストパケットの量を決定する。
【００９４】
第１のネットワークノードが、トリクルカウンタの決定された値に基づいて、ｉ回目の送信される第１のマルチキャストパケットの量を決定する。
【００９５】
具体的には、第１のネットワークノードは、カウントのために第１のマルチキャストパケットのｒｓｖフィールドを抽出する。たとえば、第１のネットワークノードによって受信される第１のマルチキャストパケットのｒｓｖフィールドが１としてマークされる場合、それは、第２のネットワークノードが第１のネットワークノードに第１のマルチキャストパケットを初めて送信することを示し、第１のネットワークノードは、追加の結果をｓｕｍ（１）に記録するために、１をカウンタ（１）に追加する。第１のネットワークノードによって受信される第１のマルチキャストパケットのｒｓｖフィールドが２としてマークされる場合、それは、第２のネットワークノードが第１のネットワークノードに２回目の第１のマルチキャストパケットを送信することを示し、追加の結果をｓｕｍ（２）に記録するために、１が第１のネットワークノードのカウンタ（２）に追加され、以下同様である。第１のネットワークノードによって受信される第１のマルチキャストパケットのｒｓｖフィールドがｉとしてマークされる場合、それは、第２のネットワークノードが第１のネットワークノードにｉ回目の第１のマルチキャストパケットを送信することを示し、第１のネットワークノードは、追加の記録をｓｕｍ（ｉ）に記録するために、１をカウンタ（ｉ）に追加する。言い換えると、ｓｕｍ（ｉ）の値は、ｉ回目の送信される第１のマルチキャストパケットの量である。
【００９６】
第１のネットワークノードが、Ｔ１の前に受信される第１のマルチキャストパケットに含まれるカウント情報に基づいて、ｉ回目の送信される第１のマルチキャストパケットの量を決定することが、添付の図面を参照して以下で説明される。
【００９７】
図１２は、第１のトリクル期間に対応するシナリオの概略図である。図１２において、ネットワークノードＴＸは第１のネットワークノードであり、ＲＸ１、ＲＸ２、ＲＸ３、およびＲＸ４は、第１のネットワークノードの近隣のネットワークノードである。言い換えると、Ｋ１は４より大きい。Ｔ１の前に、ＴＸは、ＲＸ３およびＲＸ４によってそれぞれ送信される第１のマルチキャストパケットを受信する。第１のネットワークノードは、第１のマルチキャストパケットを特定するために、ＲＸ３によって送信される第１のマルチキャストパケットのｒｓｖフィールドを抽出する。第１のマルチキャストパケットがＲＸ３によってＴＸノードに初めて送信される場合、第１のネットワークノードは追加の結果をｓｕｍ（ｉ）に記録するために、１をカウンタ（１）に追加する。この場合、ｓｕｍ（１）＝１である。第１のネットワークノードは、第１のマルチキャストパケットを特定するために、ＲＸ４によって送信される第１のマルチキャストパケットのｒｓｖフィールドを抽出する。第１のマルチキャストパケットがＲＸ４によってＴＸノードに初めて送信される場合、第１のネットワークノードは、追加の結果をｓｕｍ（１）に記録するために、１をカウンタ（１）に追加する。この場合、ｓｕｍ（１）＝２である。
【００９８】
１１０５．第１のネットワークノードが、ｉ回目の送信される第１のマルチキャストパケットの量がＫ１以下であるかどうかを決定し、そうである場合、ステップ１１０６を実行し、そうではない場合、ステップ１１１１を実行する。
【００９９】
第１のトリクル期間において、第１のネットワークノードが、Ｔ１の前に受信される第１のマルチキャストパケットの量をカウンタ（ｉ）においてカウントした後で、第１のネットワークノードは、Ｋ１をカウント結果ｓｕｍ（１）、ｓｕｍ（２）、…、およびｓｕｍ（ｉ）にそれぞれ対応する値と比較する。ｓｕｍ（１）、ｓｕｍ（２）、…、およびｓｕｍ（ｉ）にそれぞれ対応する値のうちの少なくとも１つがＫ１より大きい場合、それは、各々の近隣のネットワークノードが第１のマルチキャストパケットを受信したことを示す。瞬間Ｔ１において、第１のネットワークノードは、第１のマルチキャストパケットのブロードキャストを止め、トリクルタイマーの実行を止め、トリクルアルゴリズムにおける第２のトリクル期間から第ｅのトリクル期間をもはや実行しない。ｓｕｍ（１）、ｓｕｍ（２）、…、およびｓｕｍ（ｉ）にそれぞれ対応する値のすべてがＫ１以下である場合、それは、第１のマルチキャストパケットを受信していない少なくとも１つの近隣のネットワークノードがあることを示し、第１のネットワークノードは、瞬間Ｔ１において、第１のマルチキャストパケットをすべての近隣のネットワークノードにブロードキャストし、トリクルアルゴリズムにおける第２のトリクル期間を実行する。
【０１００】
具体的には、ＴＸは、ｓｕｍ（１）の値をＫ１と比較する。ステップ１１０４から、ｓｕｍ（１）＝２であることが知られることが可能である。ｓｕｍ（１）の値がＫ１未満であることが知られることが可能である。この場合、Ｔ１が到達されるとき、ＴＸは、第１のマルチキャストパケットをＲＸ１、ＲＸ２、ＲＸ３、およびＲＸ４にブロードキャストし、第１のトリクル期間が終了した後で第２のトリクル期間を実行する。
【０１０１】
１１０６．第１のネットワークノードが第１のマルチキャストパケットをブロードキャストする。
【０１０２】
第１のマルチキャストパケットを受信していない少なくとも１つの近隣のネットワークノードがあると、第１のネットワークノードが決定するとき、第１のネットワークノードは、第１のマルチキャストパケットをすべての近隣のネットワークノードにブロードキャストし、ブロードキャストされる第１のマルチキャストパケットはカウント情報を含み、第１のネットワークノードが第１のマルチキャストパケットを初めて送信することを示すために、カウント情報が使用される。
【０１０３】
この実施形態では、第１のネットワークノードによってすべての近隣のネットワークノードにブロードキャストされる第１のマルチキャストパケットは、カウント情報を含む。その具体的な実施過程は、ステップ７０１においてすでに上で詳しく説明されている。詳細はここでは再び説明されない。
【０１０４】
１１０７．第１のネットワークノードが、Ｔ２の前に受信される第１のマルチキャストパケットに含まれるカウント情報に基づいて、ｉ回目の送信される第１のマルチキャストパケットの量を決定する。
【０１０５】
第１のトリクル期間において第１のマルチキャストパケットを受信していない少なくとも１つの近隣のネットワークノードがあることを、第１のネットワークノードが決定した後で、第１のネットワークノードは、第２のトリクル期間を実行し続け、近隣のネットワークノードから第１のマルチキャストパケットを受信する。Ｔ２が到達されるとき、第１のネットワークノードは、Ｔ２の前に受信される第１のマルチキャストパケットの量をカウントする。具体的には、第１のマルチキャストパケットに含まれるカウント情報に基づいて、ｉ回目の第１のマルチキャストパケットが第２のネットワークノードによって送信されると決定する場合、第１のネットワークノードは、ｉ回目に対応するトリクルカウンタに第１のマルチキャストパケットの量を追加し、第１のネットワークノードは、トリクルカウンタの値に基づいて、ｉ回目の送信される第１のマルチキャストパケットの量を決定する。
【０１０６】
具体的には、図１３は、第２のトリクル期間に対応するシナリオの概略図である。図１３において、ネットワークノードＴＸは第１のネットワークノードであり、ＲＸ１、ＲＸ２、ＲＸ３、およびＲＸ４は、第１のネットワークノードの近隣のネットワークノードである。言い換えると、Ｋ２は４に等しい。Ｔ２の前に、ＴＸは、ＲＸ１、ＲＸ２、およびＲＸ３によってそれぞれ送信される第１のマルチキャストパケットを受信する。第１のネットワークノードは、第１のマルチキャストパケットを特定するために、ＲＸ１によって送信される第１のマルチキャストパケットのｒｓｖフィールドを抽出する。第１のマルチキャストパケットがＲＸ１によってＴＸノードに初めて送信される場合、第１のネットワークノードは、追加の結果をｓｕｍ（１）に記録するために、１をカウンタ（１）に追加する。この場合、ｓｕｍ（１）＝３である（ｓｕｍ（１）＝２はステップ１１０４においてすでに記録されている）。第１のネットワークノードは、第１のマルチキャストパケットを特定するために、ＲＸ２によって送信される第１のマルチキャストパケットのｒｓｖフィールドを抽出する。第１のマルチキャストパケットがＲＸ４によってＴＸノードに初めて送信される場合、第１のネットワークノードは、追加の結果をｓｕｍ（１）に記録するために、１をカウンタ（１）に追加する。この場合、ｓｕｍ（１）＝４である。第１のネットワークノードは、第１のマルチキャストパケットを特定するために、ＲＸ３によって送信される第１のマルチキャストパケットのｒｓｖフィールドを抽出する。２回目の第１のマルチキャストパケットがＲＸ４によってＴＸノードに送信される場合、第１のネットワークノードは、追加の結果をｓｕｍ（２）に記録するために、１をカウンタ（２）に追加する。この場合、ｓｕｍ（２）＝１である。
【０１０７】
この実施形態では、ｓｕｍ（ｉ）の値に対して、第１のトリクル期間に基づいて、第２のトリクル期間に含まれる、ｉ回目の送信される第１のマルチキャストパケットの量が、ｓｕｍ（ｉ）に追加されることに留意されたい。言い換えると、ｓｕｍ（ｉ）の値は、第１のトリクル期間においてカウントされる第１のマルチキャストパケットの量を含む。
【０１０８】
１１０８．第１のネットワークノードが、ｉ回目の送信される第１のマルチキャストパケットの量がＫ２に等しいかどうかを決定し、等しくない場合、ステップ１１０９を実行し、等しい場合、ステップ１１１１を実行する。
【０１０９】
第１のネットワークノードがトリクルカウンタにおいて第１のマルチキャストパケットの量をカウントした後で、第１のネットワークノードは、トリクルカウンタの中のｓｕｍ（ｉ）の値をＫ２と比較する。具体的には、第１のネットワークノードは、Ｋ２を、ｓｕｍ（１）、ｓｕｍ（２）、…、およびｓｕｍ（ｉ）にそれぞれ対応する値と比較する。ｓｕｍ（１）、ｓｕｍ（２）、…、およびｓｕｍ（ｉ）にそれぞれ対応する値のうちの少なくとも１つがＫ２に等しい場合、それは、各々の近隣のネットワークノードが第１のマルチキャストパケットを受信したことを示す。瞬間Ｔ２において、第１のネットワークノードは、第１のマルチキャストパケットのブロードキャストを止め、トリクルタイマーの実行を止め、トリクルアルゴリズムにおける第２のトリクル期間から第ｅのトリクル期間をもはや実行しない。ｓｕｍ（１）、ｓｕｍ（２）、…、およびｓｕｍ（ｉ）にそれぞれ対応する値のすべてがＫ２未満である場合、それは、第１のマルチキャストパケットを受信していない少なくとも１つの近隣のネットワークノードがあることを示し、第１のネットワークノードは、瞬間Ｔ２において第１のマルチキャストパケットをすべての近隣のネットワークノードにブロードキャストし、トリクルアルゴリズムにおける次のトリクル期間を実行する。
【０１１０】
具体的には、瞬間Ｔ２が到達されるとき、ＴＸは、ｓｕｍ（１）およびｓｕｍ（２）にそれぞれ対応する値とＫ２を比較する。ｓｕｍ（２）はＫ２未満であり、ｓｕｍ（１）はＫ２に等しいことが知られることが可能である。したがって、ＴＸは、ＲＸ１、ＲＸ２、ＲＸ３、およびＲＸ４がすべて第１のマルチキャストパケットを受信したと決定し、ＴＸは、マルチキャストパケットのブロードキャストを止め、第１のマルチキャストパケットに対応するトリクルタイマーを止め、トリクルタイマーの後続のトリクル期間をもはや実行しない。
【０１１１】
１１０９．第１のネットワークノードが第１のマルチキャストパケットをブロードキャストする。
【０１１２】
第１のマルチキャストパケットを受信していない少なくとも１つの近隣のネットワークノードがあることを第１のネットワークノードが決定するとき、第１のネットワークノードは、第１のマルチキャストパケットをすべての近隣のネットワークノードにブロードキャストし、ブロードキャストされた第１のマルチキャストパケットはカウント情報を含み、第１のネットワークノードが２回目の第１のマルチキャストパケットを送信することを示すために、カウント情報が使用される。
【０１１３】
この実施形態では、第１のネットワークノードによってすべての近隣のネットワークノードにブロードキャストされる第１のマルチキャストパケットは、カウント情報を含む。その具体的な実施過程は、上でステップ７０１においてすでに詳しく説明されている。詳細はここでは再び説明されない。
【０１１４】
１１１０．第１のネットワークノードが、第３のトリクル期間から第ｅのトリクル期間に対応するトリクルアルゴリズムを実行する。
【０１１５】
ｅが３以上であるとき、第２のトリクル期間において、第１のネットワークノードは、ｓｕｍ（１）、ｓｕｍ（２）、…、およびｓｕｍ（ｉ）にそれぞれ対応する値のすべてがＫ２未満であると決定し、第１のネットワークノードは、第３のトリクル期間から第ｅのトリクル期間を実行し、第１のネットワークノードの近隣のネットワークノードの量に、第３のトリクル期間から第ｅのトリクル期間にそれぞれ対応する冗長定数Ｋを設定する。第３のトリクル期間から第ｅのトリクル期間を実行する過程において、第１のネットワークノードは、カウント情報に基づいて、送信の瞬間Ｔの前に受信される第１のマルチキャストパケットの量をｓｕｍ（ｉ）に追加し、次いでｓｕｍ（ｉ）の値を冗長定数Ｋと比較し、ｓｕｍ（ｉ）の値が冗長定数Ｋに等しい場合、対応するトリクル期間における第１のマルチキャストパケットのブロードキャストを止め、または、ｓｕｍ（ｉ）の値が冗長定数Ｋ未満である場合、対応するトリクル期間の中の送信の瞬間Ｔにおいてマルチキャストパケットを各々の近隣のネットワークノードにブロードキャストする。
【０１１６】
第１のネットワークノードが第３のトリクル期間から第ｅのトリクル期間を実行する過程において、第１のマルチキャストパケットのブロードキャストがトリクル期間のいずれか１つにおいて止められた後で、第１のネットワークノードは、第１のマルチキャストパケットに対応するトリクルタイマーを止め、後続のトリクル期間をもはや実行しないことに留意されたい。
【０１１７】
加えて、第１のネットワークノードが第３のトリクル期間から第ｅのトリクル期間を実行する過程において、第１のマルチキャストパケットがトリクル期間のいずれか１つにおいてブロードキャストされる限り、第１のネットワークノードは、ブロードキャストされる第２のマルチキャストパケットにカウント情報を追加し、第１のネットワークノードがｊ回目の第１のマルチキャストパケットを送信することを示すために、カウント情報が使用される。
【０１１８】
この実施形態では、第１のネットワークノードによってブロードキャストされる第１のマルチキャストパケットは、カウント情報を含む。その具体的な実施過程は、上でステップ７０１においてすでに詳しく説明されている。詳細はここでは再び説明されない。
【０１１９】
１１１１．第１のネットワークノードが、第１のマルチキャストパケットのブロードキャストを止め、トリクルタイマーを止める。
【０１２０】
すべての近隣のネットワークノードが第１のマルチキャストパケットを受信したと第１のネットワークノードが決定するとき、第１のネットワークノードは、第１のマルチキャストパケットのブロードキャストを止め、第１のマルチキャストパケットに対応するトリクルタイマーを止め、トリクルアルゴリズムにおける後続のトリクル期間をもはや実行しない。
【０１２１】
１１１２．第１のネットワークノードが制御パケットを受信する。
【０１２２】
第１のネットワークノードが第１のマルチキャストパケットに対応するトリクルタイマーを止めた後で、第１のネットワークノードは制御パケットを受信し、制御パケットは制御命令を含み、制御命令は、トリクルタイマーを再始動するように第１のネットワークに命令するために使用される。
【０１２３】
制御パケットは、モノのインターネットゲートウェイによって第１のネットワークノードに送信されてもよく、または、サーバによって第１のネットワークノードに送信されてもよいことに留意されたい。これは本明細書では限定されない。
【０１２４】
１１１３．第１のネットワークノードがトリクルタイマーを再始動する。
【０１２５】
第１のネットワークノードが制御パケットを受信した後で、第１のネットワークノードは、制御パケットの中の制御命令に従って、第１のマルチキャストパケットに対応するトリクルタイマーを再始動し、トリクルカウンタに対応するトリクルアルゴリズムを再実行する。
【０１２６】
第１のネットワークノードが第１のマルチキャストパケットに対応するトリクルタイマーを再始動した後で、第１のネットワークノードは、第１のトリクル期間の冗長定数を近隣のネットワークノードの量より大きい整数に設定し、第２のトリクル期間から第ｅのトリクル期間にそれぞれ対応する冗長定数を近隣のネットワークノードの量に等しい整数に設定することに留意されたい。
【０１２７】
この実施形態では、第１のネットワークノードは、第１のマルチキャストパケットに含まれるカウント情報に基づいて、ｉ回目の第１のマルチキャストパケットが第２のネットワークノードによって送信されると決定し、ｓｕｍ（ｉ）に、ｉ回目の送信される第１のマルチキャストパケットを記録し、それにより、ｓｕｍ（ｉ）に記録されている第１のマルチキャストパケットの量が異なる第２のネットワークノードによって送信されるｓｕｍ（ｉ）に記録される、第１のマルチキャストパケットの量は、異なる第２のネットワークノードに対応することを確実にする。第１のネットワークノードは、近隣のネットワークノードが第１のマルチキャストパケットを受信でき、近隣のネットワークノードによる第１のマルチキャストパケットを受信することの遅延が減らされることが可能であるように、第１のマルチキャストパケットを初めて受信した後で、第１のネットワークノードが第１のマルチキャストパケットをすべての近隣のネットワークノードにブロードキャストすることを確実にするために、トリクルアルゴリズムにおける冗長定数を、第１のトリクル期間における近隣のネットワークノードの量より大きい値に設定する。第１のネットワークノードは、トリクルアルゴリズムにおける冗長定数を、第２のトリクル期間から第ｅのトリクル期間における近隣のネットワークノードの量に等しい値に設定し、第２のトリクル期間から第ｅのトリクル期間の各々において、ｓｕｍ（ｉ）の値を冗長定数と比較する比較結果に基づいて、第１のマルチキャストパケットをブロードキャストするかどうかを決定する。したがって、第１のネットワークノードは、第１のネットワークノードによって第１のマルチキャストパケットをブロードキャストすることの正確さを高め、それによりネットワークリソースを節約するために、ｓｕｍ（ｉ）の値および柔軟に設定された冗長定数に基づいて、すべての近隣のネットワークノードが第１のマルチキャストパケットを受信したかどうかを正しく決定することができる。
【０１２８】
本出願の実施形態におけるマルチキャストパケット処理方法が上で説明され、本出願の実施形態におけるネットワークデバイスが添付の図面を参照して以下で説明される。本出願の実施形態におけるネットワークデバイスは、第１のネットワークノードまたはチップシステムであり得る。異なる役割のネットワークデバイスは異なる機能を有する。ネットワークデバイスが第１のネットワークノードである例のみが、本出願の実施形態および後続の実施形態において説明に使用されることに留意されたい。
【０１２９】
図１４は、本出願の実施形態による、ネットワークデバイスの概略ブロック図である。ネットワークデバイス１４０は、第１のネットワークノードであってもよく、ネットワークデバイス１４０は、
第２のネットワークノードによって送信される第１のマルチキャストパケットを受信するように構成される受信ユニット１４０１であって、第２のネットワークノードが第１のネットワークノードの任意の近隣のネットワークノードであり、近隣のネットワークノードが第１のネットワークノードに接続されるネットワークノードである、受信ユニット１４０１と、
処理ユニット１４０２であって、
第１のマルチキャストパケットに対応するトリクルタイマーを始動し、トリクルタイマーのｅ個のトリクル期間の中の第１のトリクル期間を実行し、ｅが２以上の整数であり、
送信の瞬間Ｔ１の前に第１のトリクル期間において受信される第１のマルチキャストパケットの量Ｚ１が第１の冗長定数Ｋ１以下であるかどうかを決定し、Ｋ１が近隣のネットワークノードの量より大きい整数であり、Ｔ１が第１のトリクル期間の中のあらかじめ設定された瞬間である、
ように構成される処理ユニット１４０２と、
Ｚ１がＫ１以下であるとき、第１のマルチキャストパケットをブロードキャストするように構成されるブロードキャストユニット１４０３と
を含む。
【０１３０】
処理ユニット１４０２はさらに、送信の瞬間Ｔ２の前に第２のトリクル期間において受信される第１のマルチキャストパケットの量Ｚ２が第２の冗長定数Ｋ２以上であるかどうかを決定し、Ｋ２が近隣のネットワークノードの量に等しい整数であり、Ｔ２が第２のトリクル期間の中のあらかじめ設定された瞬間であり、Ｚ２がＫ２以上であるとき、第１のマルチキャストパケットのブロードキャストを止めるように構成される。
【０１３１】
ブロードキャストユニット１４０３はさらに、Ｚ２がＫ２未満であるとき、第１のマルチキャストパケットをブロードキャストするように構成される。
【０１３２】
この実施形態では、処理ユニット１４０２はさらに、ｅが３以上であるとき、第３のトリクル期間から第ｅのトリクル期間に対応するトリクルアルゴリズムを実行するように構成され、第３のトリクル期間から第ｅのトリクル期間の各々に対応する冗長定数は近隣のネットワークノードの量に等しい整数である。
【０１３３】
この実施形態では、第１のマルチキャストパケットは、第２のネットワークノードが第１のマルチキャストパケットをｉ回目に送信することを示すために使用されるカウント情報を含み、ｉは０より大きい整数であり、処理ユニット１４０２は具体的に、Ｔ１の前に受信される第１のマルチキャストパケットに含まれるカウント情報に基づいて、ｉ回目の送信される第１のマルチキャストパケットの量を決定し、
ｉ回目の送信される第１のマルチキャストパケットの量がＫ１以下であるとき、Ｚ１がＫ１以下であると決定する
ように構成される。
【０１３４】
この実施形態では、処理ユニット１４０２は具体的に、
Ｔ２の前に受信される第１のマルチキャストパケットに含まれるカウント情報に基づいて、ｉ回目の送信される第１のマルチキャストパケットの量を決定し、
ｉ回目の送信される第１のマルチキャストパケットの量がＫ２に等しいとき、第１のマルチキャストパケットの量Ｚ２がＫ２に等しいと決定し、または、
ｉ回目の送信される第１のマルチキャストパケットの量がＫ２未満であるとき、第１のマルチキャストパケットの量Ｚ２がＫ２未満であると決定する
ように構成され、
処理ユニット１４０２はさらに、Ｚ２がＫ２に等しいとき、第１のマルチキャストパケットに対応するトリクルタイマーを止めるように構成される。
【０１３５】
この実施形態では、ブロードキャストユニット１４０３は、第１のマルチキャストパケットをブロードキャストするようにさらに構成され、第１のマルチキャストパケットは、第１のネットワークノードがｊ回目の第１のマルチキャストパケットを送信することを示すために使用されるカウント情報を含み、ｊは０より大きい整数である。
【０１３６】
この実施形態では、処理ユニット１４０２は具体的に、
Ｔ１の前に受信される第１のマルチキャストパケットがｉ回目に送信されるかどうかを決定し、ｉ回目に対応するトリクルカウンタ（ｉ）に、ｉ回目の送信される第１のマルチキャストパケットの量を追加し、
カウンタ（ｉ）の値がｉ回目の送信される第１のマルチキャストパケットの量であると決定する
ように構成される。
【０１３７】
この実施形態では、処理ユニット１４０２は具体的に、
Ｔ２の前に受信される第１のマルチキャストパケットがｉ回目に送信されるかどうかを決定し、ｉ回目に対応するトリクルカウンタ（ｉ）に、ｉ回目の送信される第１のマルチキャストパケットの量を追加し、
カウンタ（ｉ）の値がｉ回目の送信される第１のマルチキャストパケットの量であると決定する
ように構成される。
【０１３８】
この実施形態では、処理ユニット１４０２は、近隣のネットワークノードの量を取得し、近隣のネットワークノードの量に基づいてＫ１またはＫ２を設定するようにさらに構成される。
【０１３９】
この実施形態では、ブロードキャストユニット１４０３は、
Ｎ個の第２のマルチキャストパケットをブロードキャストするようにさらに構成され、Ｎ個の第２のマルチキャストパケットが互いに異なり、第２のマルチキャストパケットがインジケーション情報を含み、第２のマルチキャストパケットを受信した第２のネットワークノードに、第２のマルチキャストパケットを一度ブロードキャストするように命令するために、インジケーション情報が使用され、Ｎが１以上の整数であり、
受信ユニット１４０１は、Ｎ個の第２のマルチキャストパケットの各々を受信するようにさらに構成され、
処理ユニット１４０２は、
Ｎ個の第２のマルチキャストパケットの各々の順列番号を決定し、
第２のマルチキャストパケットの中の第２のマルチキャストパケットの最大の量を近隣のネットワークノードの量として決定する
ようにさらに構成される。
【０１４０】
この実施形態では、処理ユニット１４０２は、第１のマルチキャストパケットに含まれるカウント情報に基づいて、ｉ回目の第１のマルチキャストパケットが第２のネットワークノードによって送信されると決定し、ｓｕｍ（ｉ）に、ｉ回目の送信される第１のマルチキャストパケットを記録し、それにより、ｓｕｍ（ｉ）に記録される、第１のマルチキャストパケットの量は、異なる第２のネットワークノードに対応することを確実にする。処理ユニット１４０２は、近隣のネットワークノードが第１のマルチキャストパケットを受信できるように、第１のネットワークノードが第１のマルチキャストパケットを初めて受信した後で、ブロードキャストユニット１４０３が第１のマルチキャストパケットをすべての近隣のネットワークノードにブロードキャストすることを確実にするために、トリクルアルゴリズムにおける冗長定数を第１のトリクル期間における近隣のネットワークノードの量より大きい値に設定する。処理ユニット１４０２は、トリクルアルゴリズムにおける冗長定数を、第２のトリクル期間から第ｅのトリクル期間における近隣のネットワークノードの量に等しい値に設定し、第２のトリクル期間から第ｅのトリクル期間の各々において、ｓｕｍ（ｉ）の値を冗長定数と比較する比較結果に基づいて、第１のマルチキャストパケットをブロードキャストするかどうかを決定する。したがって、第１のネットワークノードは、第１のネットワークノードによって第１のマルチキャストパケットをブロードキャストすることの正確さを高め、それによってネットワークリソースを節約するために、ｓｕｍ（ｉ）の値および柔軟に設定された冗長定数に基づいて、すべての近隣のネットワークノードが第１のマルチキャストパケットを受信したかどうかを正しく決定することができる。
【０１４１】
図１５は、本出願の実施形態による、ネットワークデバイス１５０のハードウェア構造の概略図である。ネットワークデバイス１５０は第１のネットワークノードであってもよく、ネットワークデバイス１５０は、少なくとも１つのプロセッサ１５１０、メモリ１５５０、およびトランシーバ１５３０を含む。トランシーバは受信機および送信機を含み得る。メモリ１５５０は、読取り専用メモリおよび／またはランダムアクセスメモリを含み、動作命令およびデータをプロセッサ１５１０に提供し得る。メモリ１５５０の一部は、不揮発性ランダムアクセスメモリ（ＮＶＲＡＭ）をさらに含み得る。
【０１４２】
いくつかの実装では、メモリ１５５０は、次の要素、すなわち実行可能モジュールもしくはデータ構造、またはそのサブセット、またはその拡張セットを記憶する。
【０１４３】
本出願のこの実施形態では、メモリ１５５０に記憶されている動作命令（動作命令はオペレーティングシステムに記憶されていてもよい）が、対応する動作を実行するために呼び出される。プロセッサ１５１０はネットワークデバイス１５０の動作を制御し、プロセッサ１５１０はＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ、中央処理装置）とも呼ばれ得る。メモリ１５５０は、読取り専用メモリおよびランダムアクセスメモリを含み、命令およびデータをプロセッサ１５１０に提供し得る。メモリ１５５０の一部は、不揮発性ランダムアクセスメモリ（ＮＶＲＡＭ）をさらに含み得る。具体的な適用例では、ネットワークデバイス１５０の構成要素は、バスシステム１５２０を使用することによって一緒に結合される。データバスに加えて、バスシステム１５２０は、電力バス、制御バス、ステータス信号バスなどをさらに含み得る。しかしながら、明確な説明のために、図面の中の様々なタイプのバスがバスシステム１５２０としてマークされる。
【０１４４】
本出願の前述の実施形態において開示される方法は、プロセッサ１５１０に適用され、プロセッサ１５１０によって実施され得る。プロセッサ１５１０は、集積回路チップであってもよく、信号処理能力を有する。実施過程において、前述の方法のステップは、プロセッサ１５１０の中のハードウェア集積論理回路を使用することによって、または、ソフトウェアの形式の命令を使用することによって実施されることが可能である。プロセッサ１５１０は、汎用プロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）もしくは別のプログラマブル論理デバイス、ディスクリートゲートもしくはトランジスタロジックデバイス、またはディスクリートハードウェア構成要素であり得る。プロセッサ１５１０は、本出願の実施形態において開示される方法、ステップ、および論理ブロック図を実施または実行し得る。汎用プロセッサはマイクロプロセッサであってもよく、または、プロセッサは任意の従来のプロセッサなどであってもよい。本出願の実施形態を参照して開示される方法のステップは、ハードウェア復号プロセッサを使用することによって直接実行され完了されてもよく、または、復号プロセッサの中のハードウェアモジュールとソフトウェアモジュールの組合せを使用することによって実行され完了されてもよい。ソフトウェアモジュールは、ランダムアクセスメモリ、フラッシュメモリ、読取り専用メモリ、プログラマブル読取り専用メモリ、電気的消去可能プログラマブルメモリ、またはレジスタなどの、当技術分野における成熟した記憶媒体に配置され得る。記憶媒体はメモリ１５５０に配置される。メモリ１５５０は、物理的に独立したユニットであってもよく、またはプロセッサ１５１０に統合されてもよい。プロセッサ１５１０は、メモリ１５５０から情報を読み取り、プロセッサ１５１０のハードウェアと組み合わせて前述の方法のステップを完了する。
【０１４５】
任意選択で、この実施形態におけるトランシーバ１５３０は、図２に対応する実施形態におけるステップ２０１およびステップ２０２で説明された内容の中の受信および送信に関する内容を実行するように構成されてもよく、または、図７に対応する実施形態におけるステップ７０１およびステップ７０５において説明される受信および送信に関する内容を実行してもよく、または、図１１に対応する実施形態におけるステップ１１０１、ステップ１１０３、ステップ１１０６、ステップ１１０９、およびステップ１１１２、もしくは、別の任意選択の実施形態において第１のネットワークノードのメッセージ送信および受信ステップにおいて説明される、受信および送信に関する内容を実行してもよい。
【０１４６】
プロセッサ１５１０は、図２に対応する実施形態においてステップ２０３、ステップ２０４、およびステップ２０５においてそれぞれ説明される内容を実行するように構成されてもよく、または、図７に対応する実施形態においてステップ７０２、ステップ７０３、およびステップ７０４においてそれぞれ説明される内容を実行するように構成されてもよく、または、図１１に対応する実施形態におけるステップ１１０２、ステップ１１０４、ステップ１１０５、ステップ１１０７、ステップ１１０８、ステップ１１１０、ステップ１１１１、およびステップ１１１２、もしくは別の任意選択の実施形態における第１のネットワークノードのデータ処理ステップにおいてそれぞれ説明される内容を実行するように構成されてもよい。
【０１４７】
図１６は、本出願の実施形態による、チップシステム１６０のハードウェア構造の概略図である。チップシステム１６０は、少なくとも１つのプロセッサ１６１０、メモリ１６５０、および通信インターフェース１６３０を含む。メモリ１６５０は、読取り専用メモリおよびランダムアクセスメモリを含み、動作命令およびデータをプロセッサ１６１０に提供し得る。メモリ１６５０の一部は、不揮発性ランダムアクセスメモリ（ＮＶＲＡＭ）をさらに含み得る。
【０１４８】
いくつかの実装では、メモリ１６５０は、次の要素、すなわち実行可能モジュールもしくはデータ構造、またはこれらのサブセット、またはこれらの拡張セットを記憶する。
【０１４９】
本出願のこの実施形態では、メモリ１６５０に記憶されている動作命令（動作命令はオペレーティングシステムに記憶されていてもよい）が、対応する動作を実行するために呼び出される。
【０１５０】
可能な実装では、チップシステムの構造は、ネットワークデバイスによって使用されるチップシステムの構造と同様であるが、異なる装置はそれぞれの機能を実装するために異なるチップシステムを使用する。
【０１５１】
プロセッサ１６１０はチップシステムの動作を制御し、プロセッサ１６１０はＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ、中央処理装置）とも呼ばれ得る。メモリ１６５０は、読取り専用メモリおよびランダムアクセスメモリを含み、命令およびデータをプロセッサ１６１０に提供し得る。メモリ１６５０の一部は、不揮発性ランダムアクセスメモリ（ＮＶＲＡＭ）をさらに含み得る。具体的な適用例では、チップシステム１６０の構成要素は、バスシステム１６２０を使用することによって一緒に結合される。データバスに加えて、バスシステム１６２０は、電力バス、制御バス、ステータス信号バスなどをさらに含み得る。しかしながら、明確な説明のために、図面の中の様々なタイプのバスがバスシステム１６２０としてマークされる。
【０１５２】
本出願の前述の実施形態において開示される方法は、プロセッサ１６１０に適用され、またはプロセッサ１６１０によって実施され得る。プロセッサ１６１０は、集積回路チップであってもよく、信号処理能力を有する。実施過程において、前述の方法のステップは、プロセッサ１６１０の中のハードウェア集積論理回路を使用することによって、または、ソフトウェアの形式の命令を使用することによって実施されることが可能である。プロセッサ１６１０は、汎用プロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）もしくは別のプログラマブル論理デバイス、ディスクリートゲートもしくはトランジスタロジックデバイス、またはディスクリートハードウェア構成要素であり得る。プロセッサ１６１０は、本出願の実施形態において開示される方法、ステップ、および論理ブロック図を実施または実行し得る。汎用プロセッサはマイクロプロセッサであってもよく、または、プロセッサは任意の従来のプロセッサなどであってもよい。本出願の実施形態を参照して開示される方法のステップは、ハードウェア復号プロセッサを使用することによって直接実行され完了されてもよく、または、復号プロセッサの中のハードウェアモジュールとソフトウェアモジュールの組合せを使用することによって実行され完了され得る。ソフトウェアモジュールは、ランダムアクセスメモリ、フラッシュメモリ、読取り専用メモリ、プログラマブル読取り専用メモリ、電気的消去可能プログラマブルメモリ、またはレジスタなどの、当技術分野における成熟した記憶媒体に配置され得る。記憶媒体はメモリ１６５０に配置される。メモリ１６５０は、物理的に独立したユニットであってもよく、またはプロセッサ１６１０に統合されてもよい。プロセッサ１６１０は、メモリ１６５０から情報を読み取り、プロセッサ１６１０のハードウェアと組み合わせて前述の方法のステップを完了する。
【０１５３】
任意選択で、この実施形態におけるトランシーバ１６３０は、図２に対応する実施形態におけるステップ２０１およびステップ２０２で説明された内容の中の受信および送信に関する内容を実行するように構成されてもよく、または、図７に対応する実施形態におけるステップ７０１およびステップ７０５で説明された受信および送信に関する内容を実行してもよく、または、図１１に対応する実施形態におけるステップ１１０１、ステップ１１０３、ステップ１１０６、ステップ１１０９、およびステップ１１１２、もしくは、別の任意選択の実施形態において第１のネットワークノードのメッセージ送信および受信ステップにおいて説明される、受信および送信に関する内容を実行してもよい。
【０１５４】
プロセッサ１６１０は、図２に対応する実施形態においてステップ２０３、ステップ２０４、およびステップ２０５においてそれぞれ説明される内容を実行するように構成されてもよく、または、図７に対応する実施形態においてステップ７０２、ステップ７０３、およびステップ７０４においてそれぞれ説明される内容を実行するように構成されてもよく、または、図１１に対応する実施形態におけるステップ１１０２、ステップ１１０４、ステップ１１０５、ステップ１１０７、ステップ１１０８、ステップ１１１０、ステップ１１１１、およびステップ１１１２、もしくは別の任意選択の実施形態における第１のネットワークノードのデータ処理ステップにおいてそれぞれ説明される内容を実行するように構成されてもよい。
【０１５５】
前述の実施形態のすべてまたは一部が、ソフトウェア、ハードウェア、ファームウェア、またはこれらの任意の組合せを使用することによって実施され得る。ソフトウェアが実施形態を実施するために使用されるとき、実施形態は、コンピュータプログラム製品の形式で完全にまたは部分的に実施され得る。
【０１５６】
コンピュータプログラム製品は、１つまたは複数のコンピュータ命令を含む。コンピュータプログラム命令が、コンピュータ上にロードされそこで実行されるとき、本出願の実施形態に従った手順または機能が、すべてまたは部分的に生成される。コンピュータは、汎用コンピュータ、専用コンピュータ、コンピュータネットワーク、または別のプログラマブル装置であり得る。コンピュータ命令は、コンピュータ可読記憶媒体に記憶されてもよく、または、コンピュータ可読記憶媒体から別のコンピュータ可読記憶媒体に送信されもよい。たとえば、コンピュータ命令は、ウェブサイト、コンピュータ、サーバ、またはデータセンターから、有線の方式で（たとえば、同軸ケーブル、光ファイバ、またはデジタル加入者線（ＤＳＬ））、またはワイヤレスの方式で（たとえば、赤外線、無線、またはマイクロ波）、別のウェブサイト、コンピュータ、サーバ、またはデータセンターに送信され得る。コンピュータ可読記憶媒体は、コンピュータによってアクセス可能な任意の使用可能な媒体、または、１つまたは複数の使用可能な媒体を組み込むサーバもしくはデータセンターなどのデータ記憶デバイスなどのデータ記憶デバイスであり得る。使用可能な媒体は、磁気媒体（たとえば、フロッピーディスク、ハードディスク、または磁気テープ）、光学媒体（たとえば、ＤＶＤ）、半導体媒体（たとえば、ソリッドステートドライブ（ＳＳＤ））などであり得る。
【０１５７】
実施形態の方法のステップのすべてまたは一部は、関連するハードウェアに命令するプログラムによって完了され得ることを、当業者は理解し得る。プログラムは、コンピュータ可読記憶媒体に記憶され得る。記憶媒体は、ＲＯＭ、ＲＡＭ、磁気ディスク、光学ディスクなどを含み得る。
【０１５８】
本出願の実施形態において提供されるマルチキャストパケット処理方法、デバイス、コンピュータ可読記憶媒体、およびチップシステムは、上で詳しく説明される。本出願の原理および実装は、具体的な例を通じて本明細書で説明される。前述の実施形態の説明は、本出願の方法および核心の考え方を理解するのを助けるために与えられるにすぎない。加えて、当業者は、本出願の考え方に従って、具体的な実装および適用の範囲に関して、本出願に変形および修正を行うことができる。結論として、本明細書の内容は、本出願への限定として解釈されるべきではない。
【０１５９】
本明細書、特許請求の範囲、および本出願の添付の図面において、「第１の」、「第２の」などの用語は、類似する物体を区別することが意図されているが、具体的な順序または順列を必ずしも示さない。そのような方法で名付けられるデータは適切な場合には相互に交換可能であるので、本明細書で説明される実施形態は、本明細書で例示または説明されるもの以外の他の順序で実施されてもよいことが理解されるべきである。その上、「含む」、「有する」という用語、またはそれらの任意の他の変形が、非排他的な包含をカバーすることが意図される。本出願に現れるステップの名称または番号は、その名称または番号によって示される時間的な／論理的な順序で方法手順のステップが実行されなければならないことを意味しない。名前または番号を付けられた手順におけるステップの実行順序は、同じまたは同様の技術的な効果が達成されることが可能である限り、達成されるべき技術的な目的に従って変更されることが可能である。
【０１６０】
便宜的に、および簡単な説明のために、前述のシステム、装置、およびユニットの詳細な動作過程について、前述の方法の実施形態における対応する過程に対して参照が行われてもよく、詳細はここでは再び説明されないことが、当業者により明確に理解され得る。
【０１６１】
本出願において提供されるいくつかの実施形態では、開示されるシステム、装置、および方法は、他の方式で実施され得ることが理解されるべきである。たとえば、説明される装置の実施形態は例にすぎない。たとえば、ユニットの分割は、論理的な機能の分割にすぎず、実際の実装では他の分割であってもよい。たとえば、複数のユニットまたは構成要素が別のシステムへと組み合わされてもよく、もしくは統合されてもよく、または、いくつかの特徴が、無視されてもよく、もしくは実行されなくてもよい。加えて、表示もしくは議論される相互の結合または直接の結合または通信接続は、何らかのインターフェースを使用することによって実施され得る。装置またはユニット間の間接的な結合または通信接続は、電気的に、機械的に、または他の形式で実施され得る。
【０１６２】
別々の部分として説明されるユニットは、物理的に別々であってもなくてもよく、ユニットとして表示される部分は、物理的なユニットであってもなくてもよく、１つの場所に配置されてもよく、または複数のネットワークユニットに分散されてもよい。実施形態の解決法の目的を達成するために、実際の要件に基づいて、ユニットの一部またはすべてが選択され得る。
【０１６３】
加えて、本出願の実施形態における機能ユニットは、１つの処理ユニットへと統合されてもよく、またはユニットの各々が物理的に単独で存在してもよく、または２つ以上のユニットが１つのユニットへ統合される。統合されるユニットは、ハードウェアの形式で実装されてもよく、またはソフトウェア機能ユニットの形式で実装されてもよい。
【０１６４】
集積ユニットがソフトウェア機能ユニットの形式で実装され、独立の製品として販売または使用されるとき、集積ユニットは、コンピュータ可読記憶媒体に記憶され得る。そのような理解に基づいて、本出願の技術的な解決法が基本的に、または従来技術に寄与する部分が、または技術的な解決法のすべてもしくは一部が、ソフトウェア製品の形式で実装され得る。コンピュータソフトウェア製品は、記憶媒体に記憶され、本出願の実施形態において説明される方法のステップのすべてまたは一部を実行するようにコンピュータデバイス（パーソナルコンピュータ、サーバ、ネットワークデバイスなどであり得る）に命令するためのいくつかの命令を含む。前述の記憶媒体は、ＵＳＢフラッシュドライブ、リムーバブルハードディスク、読取り専用メモリ（ＲＯＭ、Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ランダムアクセスメモリ（ＲＡＭ、Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、磁気ディスク、または光学ディスクなどの、プログラムコードを記憶することができる任意の媒体を含む。
【０１６５】
前述の実施形態は、本出願を限定することではなく、本出願の技術的な解決法を説明することだけが意図されている。本出願は、前述の実施形態を参照して詳しく説明されるが、当業者は、前述の実施形態において説明される技術的な解決法に対してそれでも修正を行い得ること、または、それらのいくつかの技術的な特徴に対して等価な置換を行い得ることを、理解すべきである。そのような修正または置換は、対応する技術的な解決法の本質を、本出願の実施形態の技術的な解決法の範囲から逸脱させない。
【国際調査報告】
2021519562.tif 000021
2021519562.tif 000022
2021519562.tif 000023
2021519562.tif 000024