(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-08-01
(54)【発明の名称】車両データ
(51)【国際特許分類】
H04L 45/24 20220101AFI20240725BHJP
H04L 61/4511 20220101ALI20240725BHJP
H04W 4/40 20180101ALI20240725BHJP
H04W 40/02 20090101ALI20240725BHJP
【FI】
H04L45/24
H04L61/4511
H04W4/40
H04W40/02
【審査請求】未請求
【予備審査請求】有
(21)【出願番号】P 2024503852
(86)(22)【出願日】2022-07-26
(85)【翻訳文提出日】2024-03-06
(86)【国際出願番号】 EP2022070894
(87)【国際公開番号】W WO2023006716
(87)【国際公開日】2023-02-02
(32)【優先日】2021-07-27
(33)【優先権主張国・地域又は機関】GB
(81)【指定国・地域】
(71)【出願人】
【識別番号】524027329
【氏名又は名称】キュービック テレコム リミテッド
【氏名又は名称原語表記】CUBIC TELECOM LIMITED
(74)【代理人】
【識別番号】100147485
【氏名又は名称】杉村 憲司
(74)【代理人】
【識別番号】230118913
【氏名又は名称】杉村 光嗣
(74)【代理人】
【識別番号】100180655
【氏名又は名称】鈴木 俊樹
(72)【発明者】
【氏名】フランク モナハン
(72)【発明者】
【氏名】ダミアン パワー
(72)【発明者】
【氏名】マーク コンキャノン
(72)【発明者】
【氏名】バリー ネイピア
【テーマコード(参考)】
5K030
5K067
【Fターム(参考)】
5K030GA13
5K030HA08
5K030HC09
5K030HD03
5K030LB06
5K067DD11
5K067EE02
5K067EE10
(57)【要約】
車載データトラフィックを分類する方法が提供される。
【選択図】
図2
【特許請求の範囲】
【請求項1】
車載データトラフィックを分類するネットワークノードにおける方法であって、
前記ネットワークノードにおいて、第1のネットワークネームスペース及び第2のネットワークネームスペースを定義し、
前記第1のネットワークネームスペースは、着信リクエストデータパケットを受信し、レスポンスデータパケットを配信するように構成されたイングレスネットワークインタフェースを含み、前記第2のネットワークネームスペースは、着信レスポンスデータパケットを受信し、リクエストデータパケットを配信するように構成されたエグレスネットワークインタフェースを含み、チャネルは、前記イングレスネットワークインタフェースと前記エグレスネットワークインタフェースとの間のトラフィックが前記チャネルを介してルーティングされるように、前記第1のネットワークネームスペースと前記第2のネットワークネームスペースとの間に設けられ、
車両から複数の着信リクエストデータパケットを前記ネットワークノードで受信し、前記データパケットは前記車両で実行中のアプリケーションから発信されることと、
前記複数の着信リクエストデータパケットの各データパケットについて
前記データパケットのヘッダから前記データパケットの送信元IPアドレスを抽出し、前記送信元IPアドレスは前記車両と関連付けられ、
前記データパケットのヘッダから、前記データパケットの宛先IPアドレスを抽出し、前記宛先IPアドレスは、前記アプリケーションによってリクエストされたサービスに関連付けられ、
前記データパケットのヘッダを検査することにより、着信データパケットのデータ量を決定することと
前記宛先IPアドレスをルーティングテーブルと照合し、
前記宛先IPアドレスが前記ルーティングテーブル内で定義されていると判断された場合、前記着信データパケットを、前記宛先IPアドレスのために定義されたチャネルを通じてルーティングし、又は
前記宛先IPアドレスが前記ルーティングテーブル内で定義されていないと判断された場合、前記着信データパケットを、定義されていないすべての宛先IPアドレスに提供されるデフォルトチャネルを通じてルーティングすることと、
前記着信リクエストデータパケットの決定されたデータ量に基づいて、チャネルボリュームのインジケータを更新することと
前記ネットワークノードから前記複数の着信リクエストデータパケットを、それぞれの前記リクエストデータパケットに関連付けられた前記宛先IPアドレスに送信する、方法。
【請求項2】
前記着信リクエストデータパケットは、少なくとも部分的にセルラデータネットワークを介して受信される、請求項1に記載の方法。
【請求項3】
前記ルーティングテーブルは、同一の宛先IPアドレスのトラフィックに対して同一のチャネルを使用する、請求項1又は請求項2に記載の方法。
【請求項4】
前記複数の着信リクエストデータパケットを前記ネットワークノードから前記宛先IPアドレスへ送信することに応答して、前記ネットワークノードで複数の着信レスポンスデータパケットを受信することと
前記複数の着信レスポンスデータパケットの各データパケットについて
前記データパケットのヘッダから、前記データパケットの宛先IPアドレスを抽出し、前記IPアドレスは前記車両に関連付けられ、
前記データパケットのヘッダから、前記データパケットの送信元IPアドレスを抽出し、前記送信元IPアドレスは、前記アプリケーションによってリクエストされたサービスに関連付けられ、
前記データパケットの前記ヘッダを検査することにより、前記着信データパケットのデータ量を決定することと、
前記送信元IPアドレスを前記ルーティングテーブルと照合し、且つ
前記送信元IPアドレスが前記ルーティングテーブル内に定義されていると判断した場合、その送信元IPアドレスに対して定義されたチャネルを通じて着信データパケットをルーティングし、又は、
前記送信元IPアドレスが前記ルーティングテーブル内に定義されていないと判断した場合、前記着信データパケットを、未定義のすべての送信元IPアドレスに対して定義されたデフォルトチャネルを通じてルーティングし
前記着信リクエストデータパケットの決定されたデータ量に基づいて、チャネルボリュームのインジケータを更新することと、
前記複数の着信レスポンスデータパケットの各々を、前記ネットワークノードから、前記レスポンスデータパケットの各々に対するIPアドレスに関連付けられた各車両に送信する、先行する任意の請求項に記載の方法。
【請求項5】
前記送信は、少なくとも部分的にセルラデータネットワークを使用して行われる、請求項4に記載の方法。
【請求項6】
前記ルーティングテーブルは、同一の送信元IPアドレスのトラフィックに対して同一のチャネルを使用する、請求項4又は5に記載の方法。
【請求項7】
複数の前記チャネルの各々が、前記車両で実行される個別のアプリケーションに関連付けられている、請求項1から6のいずれか一項に記載の方法。
【請求項8】
前記ルーティングテーブル内で前記チャネルを定義することを含み、前記方法は、特定のチャネルに関連付けられたIPアドレス宛のトラフィックが、前記チャネルを通じてルーティングされるように、既知のIPアドレス値を特定のチャネルに関連付けることを含む、請求項1から7のいずれか一項に記載の方法。
【請求項9】
前記ルーティングテーブルを動的に更新することをさらに含み、前記方法は、着信DNSリクエストデータパケットに対して、まず、DNSクエリ内のドメインを定義された式の集合に対して照合することによってパケット検査を実行することを含み、各定義された式は特定のサービスと関連付けられ、一致が見つかった場合、この方法は、リクエストデータパケットに対するレスポンスデータパケットを受信する際に、これらのIPアドレスへの後続のトラフィック、及びこれらのIPアドレスからの後続のトラフィックが、DNSリクエストデータパケットに対して最初に一致した特定のサービスに関連するチャネルを通過するように、ドメインのIPアドレス又はアドレスでルーティングテーブルを更新することを含む、請求項1から8のいずれか一項に記載の方法。
【請求項10】
前記ルーティングテーブルを動的に更新することをさらに含み、
前記方法は、アップストリームのTLSパケットを監視して、TLSハンドシェイクを識別することと、
前記TLSハンドシェイクが前記パケットを検査してSNIヘッダが含まれているかどうかを判断するプロセス中であると判断した場合、SNIヘッダが見つけ、そのヘッダの値を抽出し、且つ、その値をサービスごとに定義されたSNIマッチングルールと比較し、
SNIルールが一致した場合、そのルールを所有するサービスの前記ルーティングテーブルを前記TLSパケットの前記宛先IPアドレスヘッダで更新する、請求項1から9のいずれか一項に記載の方法。
【請求項11】
プロセッサ、第1のネットワークインターフェース、及び第2のネットワークインターフェースを含むネットワークノードであって、前記ネットワークノードは、請求項1から10のいずれか一項に記載の方法を実行するように構成される、ネットワークノード。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワークトラフィックを分析するための方法及びシステムに関する。特に、本発明は、車両とデータサービスプロバイダとの間のデータトラフィックの分析を提供する方法及びシステムに関する。
【背景技術】
【0002】
車内のインターネットトラフィック使用量は年々増加している。ビデオ及びオーディオのストリーミングサービス、ナビゲーションシステム、ユーザ生成コンテンツの共有などの提供は、ユビキタスになってきている。多くの新車はインターネット接続を備えて納車される。これを可能にする他の方法には、車両の車載診断(OBD)システムに後付けできるサードパーティ製Wi-Fiデバイスの使用が含まれる。接続方法に関係なく、接続は通常、車両とリクエストされたトラフィックに関連する適切なデータサービスプロバイダの間でデータトラフィックを適切にルーティングするセルラネットワークを通じて提供される。これらのサービスプロバイダの例としては、Netflix、Spotify、グーグルなどがある。
【0003】
図1は、従来の車載ネットワークデータ提供の簡略化したアーキテクチャを示している。車両105は、セルラネットワーク110を通じてセルラサービスプロバイダ115と通信するように構成される。セルラネットワークは、トラフィックの出入り口となることによって、車両104から外部パケットデータネットワーク(PDN)への接続を提供するパケットデータネットワークゲートウェイ、PGWなどの従来のネットワークコンポーネントを含む。セルラサービスプロバイダ115は、車両105に関連付けられている。セルラサービスプロバイダ115を介して、ネットワークサービスにアクセスすることを認可された車両は、通常、国際移動加入者識別子(IMSI)、又はその車両の他の固有のモバイルデバイス識別子を使用して識別される。ネットワークサービスへのアクセスリクエストを受信すると、サービスプロバイダ115は、クラウドベースのサービスプロバイダ120として
図1の概略図に示されている適切なネットワークサービスプロバイダにトラフィックをルーティングする。
図1のアーキテクチャでは、車両105は、エンドポイントデータ消費デバイス(end point data consuming device)として、モバイルデバイスネットワークとほぼ同じように動作する。実際には、サービスプロバイダ115で起こることは、認可された車両からのトラフィックが、トラフィックリクエストに関連付けられた適切な宛先にルーティングされるということである。例えば、リクエストが音楽ストリーミングサービスに対するものである場合、そのリクエストはインターネットベースの音楽ストリーミングサービスにルーティングされる。リクエストがビデオストリーミングの場合、リクエストはインターネットベースのビデオストリーミングサービスにルーティングされる。どちらの場合も、サービスプロバイダ115は、単にこれらのサービスと車両との間のトラフィックをルーティングする。従来の取り決めでは、サービスプロバイダ115は、これらのリクエストを一般的にデータサービスとして分類するだけであり、異なるタイプのデータサービスを区別する能力を有していない。
【0004】
車両データトラフィックをきめ細かいサービスレベルで分類すること、また、サービスごとに使用されるトラフィックの量を任意のレベルで細分化することには課題がある。車内トラフィックに関する詳細な分析が欠如しているため、ネットワークの使用状況をあらゆるレベルで詳細に特定する能力が低下し、且つ、セキュリティ及び運用上の問題を含む異常を特定する能力が低下する。
【0005】
また、車両製造業者が自社の車両アクセスを専用のサービスプロバイダ115に事前に関連付けることができるが、車両内でどのようなデータサービスが消費されるかを管理できる必要があるという問題もある。
【0006】
また、特定のネットワークトラフィックが特定のネットワークデータサービスプロバイダに関連するものであることを識別できるようにし、そのトラフィックを専用チャネルでルーティングしやすくする必要もある。
【0007】
これらの理由から、ネットワーク内で利用される実際のデータサービスに関して、より細分性を高める必要がある。
【発明の概要】
【0008】
したがって、本出願の第1の実施形態は、請求項1に定義された方法を提供する。有利な実施形態は、従属請求項にて提供する。また、この方法を提供するように構成されたネットワークノードも提供する。
【0009】
本発明の一態様によれば、ネットワークノードにおいて車内データトラフィックを分類する方法が提供され、この方法は以下を含む。
【0010】
前記ネットワークノードにおいて、第1のネットワークネームスペース及び第2のネットワークネームスペースを定義し、
前記第1のネットワークネームスペースは、着信リクエストデータパケット(incoming response data packets)を受信し、レスポンスデータパケットを配信するように構成されたイングレスネットワークインタフェースを含み、
前記第2のネットワークネームスペースは、着信レスポンスデータパケット(incoming response data packets)を受信し、リクエストデータパケットを配信するように構成されたエグレスネットワークインタフェースを含み、
チャネルは、前記イングレスネットワークインタフェースと前記エグレスネットワークインタフェースとの間のトラフィックが前記チャネルを通じてルーティングされるように、前記第1のネットワークネームスペースと第2のネットワークネームスペースとの間に提供されることと、
車両から、前記ネットワークノードで複数の着信リクエストデータパケットを受信し、前記データパケットは、前記車両において実行されるアプリケーションから発信され、
複数の着信リクエストデータパケットの各データパケットについて、
前記データパケットのヘッダから前記データパケットの送信元IPアドレスを抽出し、前記送信元IPアドレスは前記車両と関連付けられ、
前記データパケットのヘッダから、前記データパケットの宛先IPアドレスを抽出し、前記宛先IPアドレスは、前記アプリケーションによってリクエストされたサービスに関連付けられ、
前記データパケットのヘッダを検査することによって、着信データパケットに対するデータ量を決定することと、
前記宛先IPアドレスをルーティングテーブルと照合し、
前記宛先IPアドレスが、前記ルーティングテーブル内で定義されていることを確認したら、前記宛先IPアドレスに定義されたチャネルを通じて前記着信データパケットをルーティングし、又は、
前記宛先IPアドレスが、前記ルーティングテーブル内で定義されていないと判断した場合、未定義のすべての宛先IPアドレスに用意されたデフォルトチャネルを通じて前記着信データパケットをルーティングすることと、
前記着信リクエストデータパケットについて決定されたデータ量に基づいてチャネルボリュームのインジケータを更新することと、
前記ネットワークノードから前記複数の着信リクエストデータパケットを、それぞれの前記リクエストデータパケットに関連付けられた前記宛先IPアドレスに送信する。
前記着信リクエストデータパケットは、セルラデータネットワークを通じて、少なくとも部分的に受信されることが望ましい。
前記ルーティングテーブルでは、同一の宛先IPアドレストラフィックに同じチャネルを使用することが望ましい。
【0011】
望ましくは、この方法は以下を含む。
前記複数の着信リクエストデータパケットを前記ネットワークノードから前記宛先IPアドレスに送信することに応答して、前記ネットワークノードで複数の着信レスポンスデータパケットを受信することと、
前記複数の着信レスポンスデータパケットの各データパケットについて、
前記データパケットのヘッダから、前記データパケットの宛先IPアドレスを抽出し、前記IPアドレスは前記車両に関連付けられ、
前記データパケットのヘッダから、前記データパケットの送信元IPアドレスを抽出し、前記送信元IPアドレスは、前記アプリケーションによってリクエストされたサービスに関連付けられ、
前記データパケットの前記ヘッダを検査することによって、前記着信データパケットに対するデータ量を決定することと、
前記送信元IPアドレスを前記ルーティングテーブルと照合し、且つ
前記送信元IPアドレスが、前記ルーティングテーブル内で定義されていることを判断した場合、前記送信元IPアドレスに定義されたチャネルを通じて前記着信データパケットをルーティングし、又は、
前記送信元IPアドレスが、前記ルーティングテーブル内で定義されていないと判断した場合、未定義のすべての前記送信元IPアドレスに用意されたデフォルトチャネルを通じて前記着信データパケットをルーティングし、
前記着信リクエストデータパケットについて決定されたデータ量に基づいてチャネルボリュームのインジケータを更新することと、
前記複数の着信レスポンスデータパケットの各々を、前記ネットワークノードから、前記レスポンスデータパケットの各々に対する前記宛先IPアドレスに関連付けられた各車両に送信することと、前記宛先IPアドレスは、前記レスポンスデータパケットの各々についてのモバイルデバイスIDとして関連付けられるか、又はプロキシとして機能することが理解されるであろう。
【0012】
前記送信は少なくとも部分的にセルラデータネットワークを使用して行われることが望ましい。
【0013】
前記ルーティングテーブルは、同一の送信元IPアドレストラフィックに対して、同じチャネルを使用することが望ましい。
【0014】
複数の前記チャネルのそれぞれは、前記車両で実行される個別のアプリケーションに関連付けられることが望ましい
【0015】
本方法は、前記ルーティングテーブル内で前記チャネルを定義することを含み、特定のチャネルに関連付けられたIPアドレス宛のトラフィックが前記チャネルを通じてルーティングされるように、既知のIPアドレス値を特定のチャネルに関連付けることを含むことが望ましい。
【0016】
本方法は、前記ルーティングテーブルを動的に更新することを含み、本方法は、着信DNSリクエストデータパケットに対して、まず、定義された式の集合に対して、DNSクエリ内のドメインを前記定義済み式の集合に対して照合することによってパケット検査を実行することを含み、前記各定義式は、特定のサービスに関連付けられ、かつ、一致が見出された場合に、前記リクエストデータパケットに対するレスポンスデータパケットを受信する際に、これらのIPアドレスへの後続のトラフィック、及びこれらのIPアドレスからの後続のトラフィックが、DNSリクエストデータパケットに対して最初に一致した特定のサービスに関連するチャネルを通過するように、ドメインのIPアドレス又はアドレスでルーティングテーブルを更新することが望ましい。
【0017】
本方法は、前記ルーティングテーブルを動的に更新することを含むことが望ましい。
TLSハンドシェイクを識別するためにアップストリームのTLSパケットを監視することと、
TLSハンドシェイクが前記パケットを検査してSNIヘッダが含まれているかどうかを判断するプロセス中であると判断した場合、
SNIヘッダが見つけ、ヘッダの値を抽出し、且つ、その値を各サービスに定義されたSNIマッチングルールと比較し、SNIルールが一致する場合、前記TLSパケットの前記宛先IPアドレスヘッダを使用して、そのルールを所有するサービスの前記ルーティングテーブルを更新する。
【0018】
本発明のさらなる態様によれば、プロセッサと第1のネットワークインターフェースと、第2のネットワークインターフェースを含むネットワークノードが提供され、
ネットワークノードは、本方法を実行するように構成されることが望ましい。
【図面の簡単な説明】
【0019】
次に、添付図面を参照して本出願を説明する。
【
図1】
図1は、従来技術によるシステムのネットワークアーキテクチャを示す概略図である。
【
図2】
図2は、本発明によるシステムのネットワークアーキテクチャを示す概略図である。
【
図3】
図3は、特定の車両との間で送受信されるトラフィックを分析する特定のインスタンスにおけるアーキテクチャを示す概略図である。
【
図4】
図4は、車両から発信されたデータがどのようにルーティングされ得るかを示すプロセスフロー図である。
【
図5】
図5は、車両宛てのデータをルーティングする方法を示すプロセスフロー図である。
【
図6】
図6は、本教示のシステムを用いて生成することができるチャネルごとのデータサービスの概要を示すヒストグラムの一例である。
【
図7】
図7は、本教示に従って使用できるDNSルックアッププロセスフローの一部の例である。
【
図8】
図8は、本教示に従って使用できるDNSルックアッププロセスフローの別の部分の例である。
【
図9】
図9は、本教示に従って使用できるTLSパケット検査プロセスフローの例である。
【発明を実施するための形態】
【0020】
図2は、本発明による処理又は分類システム200を統合するネットワークアーキテクチャである。処理又は分類システム200は、そこを通過するネットワークトラフィックを宛先サービスに分類し、サービスごとのトラフィック量を報告するように構成されている。システム200は、車両105から受信した任意のトラフィックの最終的な目的地を識別し、その識別された宛先をその車両105で消費されているデータサービスの分類器として使用するように構成されている。
【0021】
データパケットの形式で受信される車両105からの着信トラフィックは、そのトラフィックの宛先IPアドレスを識別するために解析される。宛先IPアドレスを決定すると、システム200は、そのIPアドレスが既知のデータサービスプロバイダに事前に関連付けられているかどうかを判断するように構成される。既知のデータサービスプロバイダが存在すると判断すると、システムは、そのデータサービスプロバイダのトラフィック専用のシステム内のチャネルを通じて、その着信トラフィックをチャネルする。データサービスプロバイダA宛てのトラフィックはチャネルA経由でルーティングされ、データサービスプロバイダB宛てのトラフィックはチャネルB経由でルーティングされる。宛先IPアドレスに基づいて専用チャネルを介してトラフィックをチャネル化することにより、パケットの実際のペイロードの任意の調査を必要とせずに、ヘッダ情報に基づいてトラフィックを分析及び分類できる。これにより、トラフィックのリアルタイムの最小遅延分類(minimal delay classification)が容易になる。
【0022】
したがって、本発明による分類システムは、任意の1つのチャネルを通過するデータ量が特定のデータサービスの実際の使用状況を反映し、監視、報告、又はその他の方法で制御され得ることを確実にする。
【0023】
システム機能は5つのコアブロック205~225で視覚化することができるが、これは理解を容易にするためであり、1つのブロックに関して、以下に説明する機能は別のブロックによって同様に提供できることが理解されるであろう。機能的には、特定の実装に制約されないが、システムは以下を含むと理解できる。
【0024】
コンフィギュレーションマネージャ205
コンフィギュレーションマネージャ205は、構成オプションを検証し、構成の更新をシステム200の他のコンポーネントに公開する。
【0025】
DNSモニタ210
DNSモニタ210は、システムを通過するDNSトラフィックをスキャンし、コンフィギュレーションマネージャのデータ構造内で定義されたサービスルールに対するクエリとレスポンスを比較し、一致が見つかった場合にルーティングコントローラ220に更新を公開する。
【0026】
SNIモニタ215
SNIモニタ215は、TLSハンドシェイクをスキャンし、サービス一致ルールをSNIヘッダに適用する。一致するものが見つかると、更新がルーティングコントローラ220に公開される。
【0027】
ルーティングコントローラ220
ルーティングコントローラは、システム200を通過するトラフィックの暗黙的な分類を可能にするようにルーティングテーブルを構成する。初期ルーティングテーブルの構成は、各サービスの構成に含まれるIPアドレスとネットワーク範囲に基づく。ただし、ルーティングコントローラは、DNS及びSNIモニタから受信した更新に応答して、実行時にルーティングテーブルを動的に変更することもできます。
【0028】
EDRジェネレータ225
EDRジェネレータ225は、システム内の各チャネルを流れるパケットのヘッダを監視し、車両ごとのサービスごとのトラフィックを要約した定期的な更新を公開する。
【0029】
分類システム200のコンポーネント機能ブロック205~225は、管理システム230を使用して構成及び監視することができる。
図2は、個別のデバイスである管理ネットワーク235上に設けられたこの管理システムを示すが、これは、分類システム200を通過するトラフィックと能動的にインターフェースする機能コンポーネントから、管理及び後処理機能を視覚的に分離するための、概略的な目的のためのものであることが理解されるであろう。また、管理ネットワーク235は、EDRジェネレータ225によって公開されたEDRデータを格納できるデータベース240と、データ分析エンジン250をホストすることもできる。任意選択の実施形態では、データベース240及び/又は分析エンジン250は、管理システム230とは別の1つ又は複数の追加デバイス上に提供されてもよい。
図2のシステムの詳細の一部については、
図3を参照して以下でさらに説明する。
【0030】
本発明の教示を任意の1つの特定のネットワークオペレーティングシステムなどに限定することは意図していないが、本目的のためには、分類システム200は、3枚のネットワークカードを備えたLINUX(登録商標)マシン(物理マシン又は仮想マシンであり得る)上でホストされることを仮定する。
【0031】
制御NIC315は、システム200と管理ネットワーク235との間の通信を提供する。制御NIC315は、システム200を管理するために使用される管理システム230から通信を送受信するために使用することができる。また、制御NIC315は、EDRジェネレータ225からデータベース240及び分析エンジン250へのデータ送信を提供するためにも使用され得る。
【0032】
イングレスNIC305は、車両と通信するためにイングレスネットワークに接続される。そして、エグレスNIC310は、車両によってリクエストされるサービスなどの外部ネットワーク要素と通信するためにエグレスネットワークに接続される。
【0033】
分類システム200内で発生する処理の少なくとも一部を概略形式で示す
図3に示されるように、分類システムは、イングレスネームスペース301及びエグレスネームスペース302の2つのネットワークネームスペースを実行するように構成される。イングレスNIC305は、イングレスネームスペース301に位置し、エグレスNIC310はエグレスネームスペース302に位置する。イングレスネットワークは、リクエストパケットを受信し、レスポンスパケットを配信するために使用される。エグレスネットワークは、リクエストパケットの配信とレスポンスパケットの受信に使用されます。これらのパケットのルーティングは、ルーティングコントローラ220によって制御される。
【0034】
ネットワークネームスペースがIPスタックの独立した実装であることは、当業者には理解されよう。イングレスNICとエグレスNICを個別のネームスペースでホストすると、各ネットワーク上のトラフィックが効果的に分離される。ネットワーク間でパケットを転送するには、ネームスペース間でパケットを転送する必要がある。それぞれのネームスペース間のこの転送を実現するために、本教示のシステムは、それぞれのネームスペース間のローカルイーサネットトンネルの作成を可能にする仮想イーサネット(VETH)の既知のLinux構成を採用する。vethペアは、2つのエンドポイントを持つ仮想イーサネット接続である。一方のエンドポイントに書き込まれたパケットをもう一方のエンドポイントから読み取ることができ、その逆も同様である。
図3のホストシステム内で、本教示は、vethペア1~5を使用して、それぞれのペアの一端をイングレスネームスペース301内に配置し、他端をエグレスネームスペース302内に配置することによって、ネットワークネームスペースをブリッジする。
【0035】
トラフィックの分類を備えるためのシステムの初期構成の一部として、本教示では、最初に、分類される各サービスのイングレスネームスペースとエグレスネームスペースの間にvethペアを作成し、未分類のトラフィック用に1つの追加のvethペアを作成する。これらのvethペアは、分類されたトラフィックが通過するチャネルとして効果的に機能する。この例では、分類されるサービスはチャネルAからDで識別されるサービスであり、最後のチャネルであるチャネルEは、分類されていないすべてのトラフィックがルーティングされるチャネルである。示されているチャネルの数は、単に説明を目的としたものであり、これも単に理解を容易にするために、チャネルAは第1の音楽ストリーミングサービスに、チャネルBはビデオストリーミングサービスに、チャネルCは第2の音楽ストリーミングサービスに、チャネルDは、Googleマップによって提供されるようなナビゲーションサービスに使用され得ると考えることができることが理解され、チャネルEは、他のすべてのインターネットトラフィック、ブラウジング、他のデータサービスプロバイダなど用である。このチャネル数又は特定のサービスとの関連付けは、システムの特定の要件に応じて変更できることが理解されよう。
【0036】
パケットベースのネットワークを通過する任意のパケットはヘッダとペイロードを含むことが理解されよう。ヘッダには、ペイロードを配信するためのデータ(送信元と宛先のネットワークアドレスなど)を提供する制御情報が含まれ、ペイロードにはユーザデータが含まれる。本システムは、車両発信パケットの宛先アドレスと車両終端パケットの送信元アドレスを検査することによってトラフィックを分類する。ルーティングテーブル内で特定のアドレスと特定のチャネルを関連付けるエントリを定義することにより、ヘッダ情報内の特定のアドレスを識別すると、ルーティングテーブル内のエントリを使用してパケットを適切なvethペアに転送することが可能となる。したがって、特定のチャネルを通じてトラフィックをルーティングする行為は、トラフィックを特定のタイプのデータサービスに関連付けられているものとして暗黙的に分類する。
【0037】
図4は、車両からのトラフィックのルーティングに関連するプロセスフローを示している。パケットは車両からイングレスNICに到着する(ステップ405)。従来、実際の車両識別子VIN、又は車両のモバイル識別子IMSIは、イングレスNIC305では表示されないことが理解されるであろう。従来のトラフィックセッションごとに、車両から発信されるトラフィックは、最初にパケットゲートウェイ(PGW)にルーティングされ、パケットゲートウェイ(PGW)は、セルラネットワーク110の従来のコンポーネントであると理解されるであろう。PGWは、セッションの間、車両にIPアドレスを割り当てる。PGWは、MSISDN識別子をセッションに割り当てられたIPアドレスに関連付けるデータフィードも公開する。本教示によると、このフィードは、分析フェーズ中にMSISDNが帯域外のVIN/IMSIに解決されることができるため、その後、イングレス及びエグレスNICを介してルーティングされるトラフィックを調整するために使用され、サービストラフィックを特定の車両に帰属させることができる。例えば、システム200を介してルーティングされるトラフィックの一部は、個々の車両105aに帰属することができ、一方、トラフィックの他の部分は、車両105b及び105cに帰属させることができる。通常、この調整は、分析エンジン250によるPGWフィード及びEDRジェネレータ225からのチャネルボリュームデータのオフライン処理を通じて行われる。したがって、分析エンジン250は、チャネルごと及び車両ごとにトラフィックを分析することができる。レスポンスパケットの宛先IPアドレスとそれぞれの車両のMSISDNとの間に関連性があることが理解されるであろうが、これは通常、パケットゲートウェイ(PGW)でのみ知られる。このIPアドレスは特定の車両に関連付けることができるが、これは通常、PGW自体としては行われない。それにも関わらず、一旦パケットがイングレスNIC301で車両から受信されると、宛先IPアドレスについてヘッダが確認される(ステップ410)。そのIPアドレスが抽出され、次いでルーティングテーブルと照合される(ステップ415)。一致するものがあれば(ステップ420)、宛先IPアドレスに従って、定義されたVethペアによって提供される適切なチャネルにルーティングされる(ステップ425)。
【0038】
宛先IPアドレスに対して定義されたルーティングテーブル内に明示的なルートが定義されていないために一致しない場合(ステップ420)、パケットは、それ自身の特定のvethペアに関連付けられたデフォルトチャネル(ステップ430)にルーティングされる。
図3の例では、このデフォルトチャネルはチャネル5で、他に分類されていないすべてのインターネットトラフィックに関連付けられている。
【0039】
どちらのシナリオ(一致又は一致しない)でも、パケットはエグレスネームスペースのvethペアを出て、サービスに関連付けられたアップストリームのゲートウェイを経由するか、明示的なゲートウェイが設定されていない場合はデフォルトゲートウェイを経由してルーティングされる。次いで、パケットは、送信元のエグレスNICに書き込まれる(ステップ435)。
【0040】
図5は、車両がトラフィックを終端する場合の同等のプロセスを示している。パケットはエグレスNICに到着し(ステップ505)、送信元IPアドレス、すなわちパケットの発信元に従って、適切なvethペアにポリシールーティングされる。これは、送信元IPアドレスのヘッダを確認し(ステップ510)、その識別された送信元アドレスのルーティングテーブルを確認する(ステップ515)ことによって達成される。明示的なポリシールートが存在しない場合(一致判定ステップ520で一致しない場合)、パケットはデフォルトのVethペアを介してルーティングされる(ステップ530)。明示的なポリシールートが存在する場合(一致判定ステップ520で一致)、パケットは、一致に関連付けられたチャネルにルーティングされる(ステップ525)。どちらのシナリオでも、パケットはイングレスネームスペースのvethペアを出て、宛先アドレスに関連付けられたダウンストリームゲートウェイ経由でルーティングされる。これらはイングレスNIC経由で送信される。
【0041】
IPアドレスに従ってトラフィックを分類することにより、任意のチャネルを通過するトラフィックの量に関するデータを経時的に集約することができる。
【0042】
図6は、計算可能な時間の経過に伴うトラフィックのヒストグラムの例を示している。これは単に例示的なものであるが、車両又は車両のグループによって時間の経過とともに利用されるデータトラフィックの性質に関する有意義なデータを抽出できることを示していることが理解されるであろう。データは、パケットが各vethペアを通過するときにパケットのヘッダを検査することにより、サービスごとのトラフィックを計算することによって集約される。
図6のデータは、特定の車両105に対応する1つの特定のIPアドレスに関連付けられたチャネルごとのデータであってもよいし、システム200を通るすべてのトラフィック(すなわち、複数の車両105aからcのトラフィック)に関連付けられた集約されたチャネルごとのデータであってもよい。
【0043】
車両発信パケットの場合、システムはパケット内のバイト数を記録し、パケットヘッダにある送信元IPアドレスに関連付けることができる。車両終端パケットの場合、システムはヘッダのバイト数を記録し、パケットヘッダにある宛先IPアドレスに関連付けるように設定できる。上で概説したように、送信元/宛先IPアドレスは、PGWによって公開されたデータフィードとの比較を通じて特定の車両と関連付けることができる。このようにして、システムは各車両のサービスごとにアップロード及びダウンロードされたバイト数を維持できる。これらの統計は定期的に収集され、データ処理と分析のために送信され、その時点でカウントはリセットされるか、後で使用するためにアーカイブされる。
【0044】
システム200によって収集された分類データは、集約されたデータセットとして出力され、保存及び/又はさらなる処理のためにデータベース240及び/又は分析エンジン250に送信される。
【0045】
一例では、チャネルごとのトラフィックデータを含む集約されたデータセットが、保存のためにシステム200からデータベース240に送信される。分析エンジン250は、データベース240から集約されたデータセットを取得し、処理する。分析エンジン250は、特定のチャネル上のトラフィックを特定のIMSI、車両及び/又は車両のグループと関連付けるために、集約されたデータセットをプラットフォームデータで強化する。たとえば、特定のブランド(例:VW、ポルシェなど)のすべての車両による特定のサービスプロバイダ(例:Netflix、Spotifyなど)の使用状況を、強化された集約データセットから推測することができ、これを請求データ及びレポートデータの提供に使用できる。
【0046】
分析エンジン250は、システム200から出力されデータベース240に格納されたチャネルごと/IPアドレスごとのトラフィックデータを取得し、それらを調整してサービスごと/車両ごとの同等のトラフィック概要を生成する。消費されたデータ(アップロード及びダウンロード)は、サンプリングされた頻度で収集され、データを消費するサービス(ユーザが契約したサービス)に対して保存される。
【0047】
システムを通過するパケットを有意義に分類するために必要なルーティングテーブルを作成するために、システムは特定のデータサービスプロバイダによって使用されているIPアドレスに関する知識を必要とする。Spotify、Netflixなどの人気のあるデータサービスプロバイダが、それぞれのサービスのために既知の永久的なIPアドレス又はサブネットのリストを採用することが知られていることは理解されよう。これらは、そのサービスのトラフィックを分類する初期ルーティングコンフィギュレーションを作成するために使用される。
【0048】
しかし、この静的構成を強化するために、本システムは、DNSとTLSパケットを検査することで、サービス用の新しいIPアドレスを動的に発見するようにも構成されている。
【0049】
この文脈では、従来のインターネットトラフィックのルーティングでは、クライアントデバイス上のアプリケーションがインターネットホストに接続したいが、そのホストの名前(例えばservices.cubictelecom.comなど)しか持っていない場合に、DNSルックアップがトリガされることが理解されるであろう。接続を開くには、デバイス(又はネットワークノード)上で実行されるアプリケーションは、アドレスが必要である。DNSの役割は、名前を検索し、関連するホストにコンタクトするために使用できる1つ以上のIPアドレスを返すことである。本教示によれば、特定のインターネットサービスが特定の車両によって使用されているかどうかのその後の分析を容易にするために、特定のトラフィックを特定のチャネルを通して誘導するために使用されるルーティングテーブルには、特定の既知のサービスごとに特定のIPアドレスが入力される。このように、ルーティングテーブルは、既知のサービスに対して既知のIPアドレスを使用し、それらのIPアドレスに関連付けられたチャネルを通じてそれらのサービスのトラフィックをルーティングする。
【0050】
特定のサービスには、それらのサービスに関連付けられた固定IPアドレスがあり、本発明のシステムがトラフィック解析を必要とすると予想されるそれらのサービスについては、それらのサービスに関連付けられたチャネルのルーティングテーブルをそれらのIPアドレスで事前に設定することができる。複数のIPアドレスが1つのサービスプロバイダに関連付けられることもあり、本発明のルーティングテーブルは、1つの専用サービスのトラフィックをルーティングするために複数のIPアドレスを使用することに対応できることが理解されよう。
【0051】
その他のサービス、あるいは特定のサービスが特定のIPアドレスにトラフィックをジオフェンスする場合など、アプリケーションリクエストの処理に使用される実際のIPアドレスは、時間の経過とともに異なる可能性がある。本教示のシステムは、着信トラフィックを分析してサービスに関連するIPアドレスの変更を特定し、そのターゲットサービスの新しいIPアドレスが見つかったときにルーティングテーブルを更新することによって、この種の動的IPアドレスに対処することができる。後続のパケットの分類に使用されるルーティングテーブルを動的に更新するこのような配置では、システムは、最初に正規表現のコレクションに対してDNSクエリのドメインを照合することによって、DNSパケット(UDPポート53)検査を実行するように構成することができる。システムの構成の一部として、分析チャネルが必要とされる各サービスは、照合する正規表現のセットを定義することができる。一致が見つかった場合、システムはリクエストIDをキャッシュし、対応するDNSレスポンスを待つことができる。レスポンスが到着すると、ドメインに関連するIPアドレスがルーティングコントローラに転送され、ルーティングコントローラはサービスのルーティングテーブルエントリを更新する。レスポンスが到着すると、ドメインに関連付けられたIPアドレスがルーティングコントローラに転送され、ルーティングコントローラはサービスのルーティングテーブルエントリを更新する。これらのIPアドレスとの間で送受信される後続のトラフィックは、そのサービスに属するものとして分類される。
【0052】
場合によっては、照会されるドメインが一般的すぎて、サービスと関連付けることができないことがある。この場合、DNSルールは、DNSレスポンスのCNAMEを照合するための追加ルールを含むことができる。レスポンスで返されたIPアドレスは、レスポンスがCNAMEを含み、そのCNAMEが提供されたルールのいずれかに一致する場合にのみ、ルーティングコントローラに転送される。
【0053】
図7及び
図8は、本教示によるシステムが、適切なチャネルが使用されることを確実にするために、システムを通じてルーティングされるトラフィックをどのように解消できるかに関連する例示的なプロセスフローを示す概略図である。
【0054】
このプロセスは、ステップ705では、クライアントデバイスである車両がホストへの接続を開こうとするときに開始される。ステップ710では、クライアントデバイスはネームサーバにDNSリクエストを送り、ホスト名を1つ以上のIPアドレスに解決する。DNSリクエストは、それがイングレスNICに到着すると識別される。ステップ715では、到着すると、リクエストは検査され、ホストが各サービスに定義されたルールと比較される。一致しない場合、リクエストIDは保存されないが(ステップ730)、ステップ735で、リクエストは依然としてDNSネームサーバにルーティングされる。
【0055】
一致がある場合、ステップ720で、ホストに対して、DNSリクエストIDはキャッシュされ、DNSリクエストはエグレスNICを通過してDNSネームサーバにルーティングされ、DNSネームサーバはリクエストを解決し、DNSレスポンスで返信する。
【0056】
DNSレスポンスがネームサーバから受信されると、ステップ740でDNSレスポンスのレスポンスIDがリクエストIDキャッシュと照合され、ステップ741で、一致するかどうかが確認される。
【0057】
一致が見つかった場合、ステップ745で、システムはAレコードをルーティングコントローラに転送するように構成されるが、Aレコードはドメインに関連付けられたIPアドレスを含むDSNレスポンスの部分であることを当業者は理解するであろう。その後、ルーティングコントローラは、関連するサービスのルーティングテーブルを更新する。
【0058】
ステップ750では、一致が見つかったか否かに関わらず、DNSレスポンスはリクエスト元のクライアントに送信される。
【0059】
ステップ755で、クライアントは、DNSレスポンスに含まれるIPアドレスの1つに接続を開く。
【0060】
ステップ760では、リクエストから生じるトラフィックは、ルーティングコントローラによって定義された正しいチャネルを経由してルーティングされる。
【0061】
図9のプロセスフローに従って、システムは、イングレスNIC上のすべてのアップストリームのTLSパケット(TCPポート443)を監視するように構成することもできる。プロセスステップ805でTLSハンドシェイクを識別すると、ステップ810でクライアントハンドシェイクパケットを検査し、SNI(Server Name Indication)拡張ヘッダを含むかどうかを判断する。SNIヘッダが見つかった場合、ステップ820でヘッダの値が抽出され、各サービスに定義されたSNIマッチングルールと比較される。サービスルールが一致すると、ステップ825で、パケットの宛先IPアドレスがそのサービスの識別IPアドレスであると仮定され、ステップ835で、宛先IPアドレスがルーティングコントローラに転送される。DNSの一致の場合と同様に、ルーティングコントローラはサービス840のルーティングテーブルエントリを更新する。
【0062】
以上のことから、本教示によるシステムは、そのトラフィックを生成しているサービスに基づいて、ネットワークレベルでのデータ使用の分類を可能にすることが理解されよう。異なるデータサービスプロバイダのIPアドレスを特定することで、本教示によれば、ネットワークトラフィックを、これらの異なるデータサービスプロバイダに固有のチャネルを通してネットワークレベルでルーティングすることが可能になる。ルーティングは、ネットワークを通過するパケットのヘッダを解析し、送信元又は宛先IPアドレスに基づいて特定のチャネルにパケットをルーティングすることによって行われる。このようにして、トラフィックの性質は、ネットワークを通過する個々のパケットを詳細にパケット分析する必要があるのとは対照的に、生成データサービスプロバイダのIPアドレスから推測される。
【0063】
本教示のシステムは、特定の車両から発信されたトラフィックを、異なるデータサービスプロバイダに固有のチャネルを介してルーティングするように構成されている。このようにして、特定の車両によって使用されているデータサービスの種類の詳細な概要がネットワークレベルで実現される。このシステムでは、例えばブラウジングアクティビティ又はクッキーなどを実際の車両に問い合わせる必要はない。分析は、ネットワークデバイスを通過するパケットに基づいて実行される。車両のデバイス識別子(通常はIMSI)を使用することで、その車両から発信された、又は異なるデータサービスプロバイダからその車両にルーティングされたトラフィックを追跡することができる。これにより、データ使用量の監視が容易になるだけでなく、サービスブロック、使用中のデバイス又はデータサービスに基づくルーティング設定変更、課金データなどの追加機能も可能になる。
【0064】
本教示のシステムは、ブラウザ又は特定のアプリケーションレベルではなく、デバイス固有のレベルでのトラッキングを提供することが理解されよう。データ解析はデバイスごとに行われるが、トラフィックを推定するために統計的サンプリングを行うのとは対照的に、ネットワークを使用するすべてのデバイスを追跡し、ネットワーク上の指定されたすべてのデバイスのアクティビティを全体的に把握することが可能である。
【0065】
上記で詳述したように、本教示のシステムは、ウェブブラウザのようなアプリケーションからではなく、ネットワークレベルからリクエストを追跡するため、インターネットタイプのデータサービスプロバイダからのデータサービスに対するすべてのリクエストを確認し、追跡することが可能である。これにはウェブベースのサービスも含まれるが、テレマティクス、地図、その他のマシンツーマシンデータなどのマシンツーマシンサービス、ウェブサイトのリクエスト又はNetflix/Spotifyのようなストリーミングデータサービスのような消費者ベースのサービスのような、人間/ユーザ向けではないサービスも含まれる。
【0066】
データリクエストは、ネットワークを経由してくる生のリクエストレベルで追跡される。これは、他のトラフィック解析ツールとは異なり、ウェブブラウザからのリクエストを記録するもので、ターミナルウィンドウからのリクエスト、OSからのアップデートなど、他のリクエストは記録されない。
【0067】
データ分析システムの例示的な構成は、ネットワークノード内、例えば車両とデータサービスプロバイダとの間に配置されることが理解されよう。このシステムは、特定の車両から発信された、又は特定の車両に向けられたデータのパケットを解析し、それらのパケット内のヘッダ情報に基づいて、その車両によって使用されている特定のデータサービスの性質についてデータ解析を実行できるように、ネットワークノード内の特定のチャネルを介してパケットをルーティングするように構成される。以下の特許請求の範囲に照らして必要な限りにおいてのみ限定されることを意図する本出願の範囲から逸脱することなく、本明細書に記載されたものに変更を加えることができる。
【0068】
本明細書中で使用される、含む(comprises)/含む(comprising)という語は、記載された特徴、整数、ステップ又はコンポーネントの存在を特定するためのものであるが、1つ又は複数の他の特徴、整数、ステップ、構成要素又はそれらのグループの存在又は追加を排除するものではない。
【手続補正書】
【提出日】2023-05-09
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワークトラフィックを分析するための方法及びシステムに関する。特に、本発明は、車両とデータサービスプロバイダとの間のデータトラフィックの分析を提供する方法及びシステムに関する。
【背景技術】
【0002】
車内のインターネットトラフィック使用量は年々増加している。ビデオ及びオーディオのストリーミングサービス、ナビゲーションシステム、ユーザ生成コンテンツの共有などの提供は、ユビキタスになってきている。多くの新車はインターネット接続を備えて納車される。これを可能にする他の方法には、車両の車載診断(OBD)システムに後付けできるサードパーティ製Wi-Fiデバイスの使用が含まれる。接続方法に関係なく、接続は通常、車両とリクエストされたトラフィックに関連する適切なデータサービスプロバイダの間でデータトラフィックを適切にルーティングするセルラネットワークを通じて提供される。これらのサービスプロバイダの例としては、Netflix、Spotify、グーグルなどがある。
【0003】
US2017251339A1は、車両アドホックネットワークにおいて、送信元ノードから宛先ノードへデータパケットをルーティングするための経路を選択することを開示している。CN106953788Bは、第1の仮想ネットワークカード31と第2の仮想ネットワークカード32で構成される仮想ネットワークカード3を開示している。Nguyen Keinら、「Empowering 5G Mobile Devices With Network Softwarization」IEEE Transactions on network and service management vol.18, no.3 (2021)は、ネームスペースを使用したネットワークソフトウェアライゼーションを開示している。
【0004】
図1は、従来の車載ネットワークデータ提供の簡略化したアーキテクチャを示している。車両105は、セルラネットワーク110を通じてセルラサービスプロバイダ115と通信するように構成される。セルラネットワークは、トラフィックの出入り口となることによって、車両104から外部パケットデータネットワーク(PDN)への接続を提供するパケットデータネットワークゲートウェイ、PGWなどの従来のネットワークコンポーネントを含む。セルラサービスプロバイダ115は、車両105に関連付けられている。セルラサービスプロバイダ115を介して、ネットワークサービスにアクセスすることを認可された車両は、通常、国際移動加入者識別子(IMSI)、又はその車両の他の固有のモバイルデバイス識別子を使用して識別される。ネットワークサービスへのアクセスリクエストを受信すると、サービスプロバイダ115は、クラウドベースのサービスプロバイダ120として
図1の概略図に示されている適切なネットワークサービスプロバイダにトラフィックをルーティングする。
図1のアーキテクチャでは、車両105は、エンドポイントデータ消費デバイス(end point data consuming device)として、モバイルデバイスネットワークとほぼ同じように動作する。実際には、サービスプロバイダ115で起こることは、認可された車両からのトラフィックが、トラフィックリクエストに関連付けられた適切な宛先にルーティングされるということである。例えば、リクエストが音楽ストリーミングサービスに対するものである場合、そのリクエストはインターネットベースの音楽ストリーミングサービスにルーティングされる。リクエストがビデオストリーミングの場合、リクエストはインターネットベースのビデオストリーミングサービスにルーティングされる。どちらの場合も、サービスプロバイダ115は、単にこれらのサービスと車両との間のトラフィックをルーティングする。従来の取り決めでは、サービスプロバイダ115は、これらのリクエストを一般的にデータサービスとして分類するだけであり、異なるタイプのデータサービスを区別する能力を有していない。
【0005】
車両データトラフィックをきめ細かいサービスレベルで分類すること、また、サービスごとに使用されるトラフィックの量を任意のレベルで細分化することには課題がある。車内トラフィックに関する詳細な分析が欠如しているため、ネットワークの使用状況をあらゆるレベルで詳細に特定する能力が低下し、且つ、セキュリティ及び運用上の問題を含む異常を特定する能力が低下する。
【0006】
また、車両製造業者が自社の車両アクセスを専用のサービスプロバイダ115に事前に関連付けることができるが、車両内でどのようなデータサービスが消費されるかを管理できる必要があるという問題もある。
【0007】
また、特定のネットワークトラフィックが特定のネットワークデータサービスプロバイダに関連するものであることを識別できるようにし、そのトラフィックを専用チャネルでルーティングしやすくする必要もある。
【0008】
これらの理由から、ネットワーク内で利用される実際のデータサービスに関して、より細分性を高める必要がある。
【発明の概要】
【0009】
したがって、本出願の第1の実施形態は、請求項1に定義された方法を提供する。有利な実施形態は、従属請求項にて提供する。また、この方法を提供するように構成されたネットワークノードも提供する。
【0010】
本発明の一態様によれば、ネットワークノードにおいて車内データトラフィックを分類する方法が提供され、この方法は以下を含む。
【0011】
前記ネットワークノードにおいて、第1のネットワークネームスペース及び第2のネットワークネームスペースを定義し、
前記第1のネットワークネームスペースは、着信リクエストデータパケット(incoming response data packets)を受信し、レスポンスデータパケットを配信するように構成されたイングレスネットワークインタフェースを含み、
前記第2のネットワークネームスペースは、着信レスポンスデータパケット(incoming response data packets)を受信し、リクエストデータパケットを配信するように構成されたエグレスネットワークインタフェースを含み、
チャネルは、前記イングレスネットワークインタフェースと前記エグレスネットワークインタフェースとの間のトラフィックが前記チャネルを通じてルーティングされるように、前記第1のネットワークネームスペースと第2のネットワークネームスペースとの間に提供されることと、
車両から、前記ネットワークノードで複数の着信リクエストデータパケットを受信し、前記データパケットは、前記車両において実行されるアプリケーションから発信され、
複数の着信リクエストデータパケットの各データパケットについて、
前記データパケットのヘッダから前記データパケットの送信元IPアドレスを抽出し、前記送信元IPアドレスは前記車両と関連付けられ、
前記データパケットのヘッダから、前記データパケットの宛先IPアドレスを抽出し、前記宛先IPアドレスは、前記アプリケーションによってリクエストされたサービスに関連付けられ、
前記データパケットのヘッダを検査することによって、着信データパケットに対するデータ量を決定することと、
前記宛先IPアドレスをルーティングテーブルと照合し、
前記宛先IPアドレスが、前記ルーティングテーブル内で定義されていることを確認したら、前記宛先IPアドレスに定義されたチャネルを通じて前記着信データパケットをルーティングし、又は、
前記宛先IPアドレスが、前記ルーティングテーブル内で定義されていないと判断した場合、未定義のすべての宛先IPアドレスに用意されたデフォルトチャネルを通じて前記着信データパケットをルーティングすることと、
前記着信リクエストデータパケットについて決定されたデータ量に基づいてチャネルボリュームのインジケータを更新することと、
前記ネットワークノードから前記複数の着信リクエストデータパケットを、それぞれの前記リクエストデータパケットに関連付けられた前記宛先IPアドレスに送信する。
前記着信リクエストデータパケットは、セルラデータネットワークを通じて、少なくとも部分的に受信されることが望ましい。
前記ルーティングテーブルでは、同一の宛先IPアドレストラフィックに同じチャネルを使用することが望ましい。
【0012】
望ましくは、この方法は以下を含む。
前記複数の着信リクエストデータパケットを前記ネットワークノードから前記宛先IPアドレスに送信することに応答して、前記ネットワークノードで複数の着信レスポンスデータパケットを受信することと、
前記複数の着信レスポンスデータパケットの各データパケットについて、
前記データパケットのヘッダから、前記データパケットの宛先IPアドレスを抽出し、前記IPアドレスは前記車両に関連付けられ、
前記データパケットのヘッダから、前記データパケットの送信元IPアドレスを抽出し、前記送信元IPアドレスは、前記アプリケーションによってリクエストされたサービスに関連付けられ、
前記データパケットの前記ヘッダを検査することによって、前記着信データパケットに対するデータ量を決定することと、
前記送信元IPアドレスを前記ルーティングテーブルと照合し、且つ
前記送信元IPアドレスが、前記ルーティングテーブル内で定義されていることを判断した場合、前記送信元IPアドレスに定義されたチャネルを通じて前記着信データパケットをルーティングし、又は、
前記送信元IPアドレスが、前記ルーティングテーブル内で定義されていないと判断した場合、未定義のすべての前記送信元IPアドレスに用意されたデフォルトチャネルを通じて前記着信データパケットをルーティングし、
前記着信リクエストデータパケットについて決定されたデータ量に基づいてチャネルボリュームのインジケータを更新することと、
前記複数の着信レスポンスデータパケットの各々を、前記ネットワークノードから、前記レスポンスデータパケットの各々に対する前記宛先IPアドレスに関連付けられた各車両に送信することと、前記宛先IPアドレスは、前記レスポンスデータパケットの各々についてのモバイルデバイスIDとして関連付けられるか、又はプロキシとして機能することが理解されるであろう。
【0013】
前記送信は少なくとも部分的にセルラデータネットワークを使用して行われることが望ましい。
【0014】
前記ルーティングテーブルは、同一の送信元IPアドレストラフィックに対して、同じチャネルを使用することが望ましい。
【0015】
複数の前記チャネルのそれぞれは、前記車両で実行される個別のアプリケーションに関連付けられることが望ましい
【0016】
本方法は、前記ルーティングテーブル内で前記チャネルを定義することを含み、特定のチャネルに関連付けられたIPアドレス宛のトラフィックが前記チャネルを通じてルーティングされるように、既知のIPアドレス値を特定のチャネルに関連付けることを含むことが望ましい。
【0017】
本方法は、前記ルーティングテーブルを動的に更新することを含み、本方法は、着信DNSリクエストデータパケットに対して、まず、定義された式の集合に対して、DNSクエリ内のドメインを前記定義済み式の集合に対して照合することによってパケット検査を実行することを含み、前記各定義式は、特定のサービスに関連付けられ、かつ、一致が見出された場合に、前記リクエストデータパケットに対するレスポンスデータパケットを受信する際に、これらのIPアドレスへの後続のトラフィック、及びこれらのIPアドレスからの後続のトラフィックが、DNSリクエストデータパケットに対して最初に一致した特定のサービスに関連するチャネルを通過するように、ドメインのIPアドレス又はアドレスでルーティングテーブルを更新することが望ましい。
【0018】
本方法は、前記ルーティングテーブルを動的に更新することを含むことが望ましい。
TLSハンドシェイクを識別するためにアップストリームのTLSパケットを監視することと、
TLSハンドシェイクが前記パケットを検査してSNIヘッダが含まれているかどうかを判断するプロセス中であると判断した場合、
SNIヘッダが見つけ、ヘッダの値を抽出し、且つ、その値を各サービスに定義されたSNIマッチングルールと比較し、SNIルールが一致する場合、前記TLSパケットの前記宛先IPアドレスヘッダを使用して、そのルールを所有するサービスの前記ルーティングテーブルを更新する。
【0019】
本発明のさらなる態様によれば、プロセッサと第1のネットワークインターフェースと、第2のネットワークインターフェースを含むネットワークノードが提供され、
ネットワークノードは、本方法を実行するように構成されることが望ましい。
【図面の簡単な説明】
【0020】
次に、添付図面を参照して本出願を説明する。
【
図1】
図1は、従来技術によるシステムのネットワークアーキテクチャを示す概略図である。
【
図2】
図2は、本発明によるシステムのネットワークアーキテクチャを示す概略図である。
【
図3】
図3は、特定の車両との間で送受信されるトラフィックを分析する特定のインスタンスにおけるアーキテクチャを示す概略図である。
【
図4】
図4は、車両から発信されたデータがどのようにルーティングされ得るかを示すプロセスフロー図である。
【
図5】
図5は、車両宛てのデータをルーティングする方法を示すプロセスフロー図である。
【
図6】
図6は、本教示のシステムを用いて生成することができるチャネルごとのデータサービスの概要を示すヒストグラムの一例である。
【
図7】
図7は、本教示に従って使用できるDNSルックアッププロセスフローの一部の例である。
【
図8】
図8は、本教示に従って使用できるDNSルックアッププロセスフローの別の部分の例である。
【
図9】
図9は、本教示に従って使用できるTLSパケット検査プロセスフローの例である。
【発明を実施するための形態】
【0021】
図2は、本発明による処理又は分類システム200を統合するネットワークアーキテクチャである。処理又は分類システム200は、そこを通過するネットワークトラフィックを宛先サービスに分類し、サービスごとのトラフィック量を報告するように構成されている。システム200は、車両105から受信した任意のトラフィックの最終的な目的地を識別し、その識別された宛先をその車両105で消費されているデータサービスの分類器として使用するように構成されている。
【0022】
データパケットの形式で受信される車両105からの着信トラフィックは、そのトラフィックの宛先IPアドレスを識別するために解析される。宛先IPアドレスを決定すると、システム200は、そのIPアドレスが既知のデータサービスプロバイダに事前に関連付けられているかどうかを判断するように構成される。既知のデータサービスプロバイダが存在すると判断すると、システムは、そのデータサービスプロバイダのトラフィック専用のシステム内のチャネルを通じて、その着信トラフィックをチャネルする。データサービスプロバイダA宛てのトラフィックはチャネルA経由でルーティングされ、データサービスプロバイダB宛てのトラフィックはチャネルB経由でルーティングされる。宛先IPアドレスに基づいて専用チャネルを介してトラフィックをチャネル化することにより、パケットの実際のペイロードの任意の調査を必要とせずに、ヘッダ情報に基づいてトラフィックを分析及び分類できる。これにより、トラフィックのリアルタイムの最小遅延分類(minimal delay classification)が容易になる。
【0023】
したがって、本発明による分類システムは、任意の1つのチャネルを通過するデータ量が特定のデータサービスの実際の使用状況を反映し、監視、報告、又はその他の方法で制御され得ることを確実にする。
【0024】
システム機能は5つのコアブロック205~225で視覚化することができるが、これは理解を容易にするためであり、1つのブロックに関して、以下に説明する機能は別のブロックによって同様に提供できることが理解されるであろう。機能的には、特定の実装に制約されないが、システムは以下を含むと理解できる。
【0025】
コンフィギュレーションマネージャ205
コンフィギュレーションマネージャ205は、構成オプションを検証し、構成の更新をシステム200の他のコンポーネントに公開する。
【0026】
DNSモニタ210
DNSモニタ210は、システムを通過するDNSトラフィックをスキャンし、コンフィギュレーションマネージャのデータ構造内で定義されたサービスルールに対するクエリとレスポンスを比較し、一致が見つかった場合にルーティングコントローラ220に更新を公開する。
【0027】
SNIモニタ215
SNIモニタ215は、TLSハンドシェイクをスキャンし、サービス一致ルールをSNIヘッダに適用する。一致するものが見つかると、更新がルーティングコントローラ220に公開される。
【0028】
ルーティングコントローラ220
ルーティングコントローラは、システム200を通過するトラフィックの暗黙的な分類を可能にするようにルーティングテーブルを構成する。初期ルーティングテーブルの構成は、各サービスの構成に含まれるIPアドレスとネットワーク範囲に基づく。ただし、ルーティングコントローラは、DNS及びSNIモニタから受信した更新に応答して、実行時にルーティングテーブルを動的に変更することもできます。
【0029】
EDRジェネレータ225
EDRジェネレータ225は、システム内の各チャネルを流れるパケットのヘッダを監視し、車両ごとのサービスごとのトラフィックを要約した定期的な更新を公開する。
【0030】
分類システム200のコンポーネント機能ブロック205~225は、管理システム230を使用して構成及び監視することができる。
図2は、個別のデバイスである管理ネットワーク235上に設けられたこの管理システムを示すが、これは、分類システム200を通過するトラフィックと能動的にインターフェースする機能コンポーネントから、管理及び後処理機能を視覚的に分離するための、概略的な目的のためのものであることが理解されるであろう。また、管理ネットワーク235は、EDRジェネレータ225によって公開されたEDRデータを格納できるデータベース240と、データ分析エンジン250をホストすることもできる。任意選択の実施形態では、データベース240及び/又は分析エンジン250は、管理システム230とは別の1つ又は複数の追加デバイス上に提供されてもよい。
図2のシステムの詳細の一部については、
図3を参照して以下でさらに説明する。
【0031】
本発明の教示を任意の1つの特定のネットワークオペレーティングシステムなどに限定することは意図していないが、本目的のためには、分類システム200は、3枚のネットワークカードを備えたLINUX(登録商標)マシン(物理マシン又は仮想マシンであり得る)上でホストされることを仮定する。
【0032】
制御NIC315は、システム200と管理ネットワーク235との間の通信を提供する。制御NIC315は、システム200を管理するために使用される管理システム230から通信を送受信するために使用することができる。また、制御NIC315は、EDRジェネレータ225からデータベース240及び分析エンジン250へのデータ送信を提供するためにも使用され得る。
【0033】
イングレスNIC305は、車両と通信するためにイングレスネットワークに接続される。そして、エグレスNIC310は、車両によってリクエストされるサービスなどの外部ネットワーク要素と通信するためにエグレスネットワークに接続される。
【0034】
分類システム200内で発生する処理の少なくとも一部を概略形式で示す
図3に示されるように、分類システムは、イングレスネームスペース301及びエグレスネームスペース302の2つのネットワークネームスペースを実行するように構成される。イングレスNIC305は、イングレスネームスペース301に位置し、エグレスNIC310はエグレスネームスペース302に位置する。イングレスネットワークは、リクエストパケットを受信し、レスポンスパケットを配信するために使用される。エグレスネットワークは、リクエストパケットの配信とレスポンスパケットの受信に使用されます。これらのパケットのルーティングは、ルーティングコントローラ220によって制御される。
【0035】
ネットワークネームスペースがIPスタックの独立した実装であることは、当業者には理解されよう。イングレスNICとエグレスNICを個別のネームスペースでホストすると、各ネットワーク上のトラフィックが効果的に分離される。ネットワーク間でパケットを転送するには、ネームスペース間でパケットを転送する必要がある。それぞれのネームスペース間のこの転送を実現するために、本教示のシステムは、それぞれのネームスペース間のローカルイーサネットトンネルの作成を可能にする仮想イーサネット(VETH)の既知のLinux構成を採用する。vethペアは、2つのエンドポイントを持つ仮想イーサネット接続である。一方のエンドポイントに書き込まれたパケットをもう一方のエンドポイントから読み取ることができ、その逆も同様である。
図3のホストシステム内で、本教示は、vethペア1~5を使用して、それぞれのペアの一端をイングレスネームスペース301内に配置し、他端をエグレスネームスペース302内に配置することによって、ネットワークネームスペースをブリッジする。
【0036】
トラフィックの分類を備えるためのシステムの初期構成の一部として、本教示では、最初に、分類される各サービスのイングレスネームスペースとエグレスネームスペースの間にvethペアを作成し、未分類のトラフィック用に1つの追加のvethペアを作成する。これらのvethペアは、分類されたトラフィックが通過するチャネルとして効果的に機能する。この例では、分類されるサービスはチャネルAからDで識別されるサービスであり、最後のチャネルであるチャネルEは、分類されていないすべてのトラフィックがルーティングされるチャネルである。示されているチャネルの数は、単に説明を目的としたものであり、これも単に理解を容易にするために、チャネルAは第1の音楽ストリーミングサービスに、チャネルBはビデオストリーミングサービスに、チャネルCは第2の音楽ストリーミングサービスに、チャネルDは、Googleマップによって提供されるようなナビゲーションサービスに使用され得ると考えることができることが理解され、チャネルEは、他のすべてのインターネットトラフィック、ブラウジング、他のデータサービスプロバイダなど用である。このチャネル数又は特定のサービスとの関連付けは、システムの特定の要件に応じて変更できることが理解されよう。
【0037】
パケットベースのネットワークを通過する任意のパケットはヘッダとペイロードを含むことが理解されよう。ヘッダには、ペイロードを配信するためのデータ(送信元と宛先のネットワークアドレスなど)を提供する制御情報が含まれ、ペイロードにはユーザデータが含まれる。本システムは、車両発信パケットの宛先アドレスと車両終端パケットの送信元アドレスを検査することによってトラフィックを分類する。ルーティングテーブル内で特定のアドレスと特定のチャネルを関連付けるエントリを定義することにより、ヘッダ情報内の特定のアドレスを識別すると、ルーティングテーブル内のエントリを使用してパケットを適切なvethペアに転送することが可能となる。したがって、特定のチャネルを通じてトラフィックをルーティングする行為は、トラフィックを特定のタイプのデータサービスに関連付けられているものとして暗黙的に分類する。
【0038】
図4は、車両からのトラフィックのルーティングに関連するプロセスフローを示している。パケットは車両からイングレスNICに到着する(ステップ405)。従来、実際の車両識別子VIN、又は車両のモバイル識別子IMSIは、イングレスNIC305では表示されないことが理解されるであろう。従来のトラフィックセッションごとに、車両から発信されるトラフィックは、最初にパケットゲートウェイ(PGW)にルーティングされ、パケットゲートウェイ(PGW)は、セルラネットワーク110の従来のコンポーネントであると理解されるであろう。PGWは、セッションの間、車両にIPアドレスを割り当てる。PGWは、MSISDN識別子をセッションに割り当てられたIPアドレスに関連付けるデータフィードも公開する。本教示によると、このフィードは、分析フェーズ中にMSISDNが帯域外のVIN/IMSIに解決されることができるため、その後、イングレス及びエグレスNICを介してルーティングされるトラフィックを調整するために使用され、サービストラフィックを特定の車両に帰属させることができる。例えば、システム200を介してルーティングされるトラフィックの一部は、個々の車両105aに帰属することができ、一方、トラフィックの他の部分は、車両105b及び105cに帰属させることができる。通常、この調整は、分析エンジン250によるPGWフィード及びEDRジェネレータ225からのチャネルボリュームデータのオフライン処理を通じて行われる。したがって、分析エンジン250は、チャネルごと及び車両ごとにトラフィックを分析することができる。レスポンスパケットの宛先IPアドレスとそれぞれの車両のMSISDNとの間に関連性があることが理解されるであろうが、これは通常、パケットゲートウェイ(PGW)でのみ知られる。このIPアドレスは特定の車両に関連付けることができるが、これは通常、PGW自体としては行われない。それにも関わらず、一旦パケットがイングレスNIC301で車両から受信されると、宛先IPアドレスについてヘッダが確認される(ステップ410)。そのIPアドレスが抽出され、次いでルーティングテーブルと照合される(ステップ415)。一致するものがあれば(ステップ420)、宛先IPアドレスに従って、定義されたVethペアによって提供される適切なチャネルにルーティングされる(ステップ425)。
【0039】
宛先IPアドレスに対して定義されたルーティングテーブル内に明示的なルートが定義されていないために一致しない場合(ステップ420)、パケットは、それ自身の特定のvethペアに関連付けられたデフォルトチャネル(ステップ430)にルーティングされる。
図3の例では、このデフォルトチャネルはチャネル5で、他に分類されていないすべてのインターネットトラフィックに関連付けられている。
【0040】
どちらのシナリオ(一致又は一致しない)でも、パケットはエグレスネームスペースのvethペアを出て、サービスに関連付けられたアップストリームのゲートウェイを経由するか、明示的なゲートウェイが設定されていない場合はデフォルトゲートウェイを経由してルーティングされる。次いで、パケットは、送信元のエグレスNICに書き込まれる(ステップ435)。
【0041】
図5は、車両がトラフィックを終端する場合の同等のプロセスを示している。パケットはエグレスNICに到着し(ステップ505)、送信元IPアドレス、すなわちパケットの発信元に従って、適切なvethペアにポリシールーティングされる。これは、送信元IPアドレスのヘッダを確認し(ステップ510)、その識別された送信元アドレスのルーティングテーブルを確認する(ステップ515)ことによって達成される。明示的なポリシールートが存在しない場合(一致判定ステップ520で一致しない場合)、パケットはデフォルトのVethペアを介してルーティングされる(ステップ530)。明示的なポリシールートが存在する場合(一致判定ステップ520で一致)、パケットは、一致に関連付けられたチャネルにルーティングされる(ステップ525)。どちらのシナリオでも、パケットはイングレスネームスペースのvethペアを出て、宛先アドレスに関連付けられたダウンストリームゲートウェイ経由でルーティングされる。これらはイングレスNIC経由で送信される。
【0042】
IPアドレスに従ってトラフィックを分類することにより、任意のチャネルを通過するトラフィックの量に関するデータを経時的に集約することができる。
【0043】
図6は、計算可能な時間の経過に伴うトラフィックのヒストグラムの例を示している。これは単に例示的なものであるが、車両又は車両のグループによって時間の経過とともに利用されるデータトラフィックの性質に関する有意義なデータを抽出できることを示していることが理解されるであろう。データは、パケットが各vethペアを通過するときにパケットのヘッダを検査することにより、サービスごとのトラフィックを計算することによって集約される。
図6のデータは、特定の車両105に対応する1つの特定のIPアドレスに関連付けられたチャネルごとのデータであってもよいし、システム200を通るすべてのトラフィック(すなわち、複数の車両105aからcのトラフィック)に関連付けられた集約されたチャネルごとのデータであってもよい。
【0044】
車両発信パケットの場合、システムはパケット内のバイト数を記録し、パケットヘッダにある送信元IPアドレスに関連付けることができる。車両終端パケットの場合、システムはヘッダのバイト数を記録し、パケットヘッダにある宛先IPアドレスに関連付けるように設定できる。上で概説したように、送信元/宛先IPアドレスは、PGWによって公開されたデータフィードとの比較を通じて特定の車両と関連付けることができる。このようにして、システムは各車両のサービスごとにアップロード及びダウンロードされたバイト数を維持できる。これらの統計は定期的に収集され、データ処理と分析のために送信され、その時点でカウントはリセットされるか、後で使用するためにアーカイブされる。
【0045】
システム200によって収集された分類データは、集約されたデータセットとして出力され、保存及び/又はさらなる処理のためにデータベース240及び/又は分析エンジン250に送信される。
【0046】
一例では、チャネルごとのトラフィックデータを含む集約されたデータセットが、保存のためにシステム200からデータベース240に送信される。分析エンジン250は、データベース240から集約されたデータセットを取得し、処理する。分析エンジン250は、特定のチャネル上のトラフィックを特定のIMSI、車両及び/又は車両のグループと関連付けるために、集約されたデータセットをプラットフォームデータで強化する。たとえば、特定のブランド(例:VW、ポルシェなど)のすべての車両による特定のサービスプロバイダ(例:Netflix、Spotifyなど)の使用状況を、強化された集約データセットから推測することができ、これを請求データ及びレポートデータの提供に使用できる。
【0047】
分析エンジン250は、システム200から出力されデータベース240に格納されたチャネルごと/IPアドレスごとのトラフィックデータを取得し、それらを調整してサービスごと/車両ごとの同等のトラフィック概要を生成する。消費されたデータ(アップロード及びダウンロード)は、サンプリングされた頻度で収集され、データを消費するサービス(ユーザが契約したサービス)に対して保存される。
【0048】
システムを通過するパケットを有意義に分類するために必要なルーティングテーブルを作成するために、システムは特定のデータサービスプロバイダによって使用されているIPアドレスに関する知識を必要とする。Spotify、Netflixなどの人気のあるデータサービスプロバイダが、それぞれのサービスのために既知の永久的なIPアドレス又はサブネットのリストを採用することが知られていることは理解されよう。これらは、そのサービスのトラフィックを分類する初期ルーティングコンフィギュレーションを作成するために使用される。
【0049】
しかし、この静的構成を強化するために、本システムは、DNSとTLSパケットを検査することで、サービス用の新しいIPアドレスを動的に発見するようにも構成されている。
【0050】
この文脈では、従来のインターネットトラフィックのルーティングでは、クライアントデバイス上のアプリケーションがインターネットホストに接続したいが、そのホストの名前(例えばservices.cubictelecom.comなど)しか持っていない場合に、DNSルックアップがトリガされることが理解されるであろう。接続を開くには、デバイス(又はネットワークノード)上で実行されるアプリケーションは、アドレスが必要である。DNSの役割は、名前を検索し、関連するホストにコンタクトするために使用できる1つ以上のIPアドレスを返すことである。本教示によれば、特定のインターネットサービスが特定の車両によって使用されているかどうかのその後の分析を容易にするために、特定のトラフィックを特定のチャネルを通して誘導するために使用されるルーティングテーブルには、特定の既知のサービスごとに特定のIPアドレスが入力される。このように、ルーティングテーブルは、既知のサービスに対して既知のIPアドレスを使用し、それらのIPアドレスに関連付けられたチャネルを通じてそれらのサービスのトラフィックをルーティングする。
【0051】
特定のサービスには、それらのサービスに関連付けられた固定IPアドレスがあり、本発明のシステムがトラフィック解析を必要とすると予想されるそれらのサービスについては、それらのサービスに関連付けられたチャネルのルーティングテーブルをそれらのIPアドレスで事前に設定することができる。複数のIPアドレスが1つのサービスプロバイダに関連付けられることもあり、本発明のルーティングテーブルは、1つの専用サービスのトラフィックをルーティングするために複数のIPアドレスを使用することに対応できることが理解されよう。
【0052】
その他のサービス、あるいは特定のサービスが特定のIPアドレスにトラフィックをジオフェンスする場合など、アプリケーションリクエストの処理に使用される実際のIPアドレスは、時間の経過とともに異なる可能性がある。本教示のシステムは、着信トラフィックを分析してサービスに関連するIPアドレスの変更を特定し、そのターゲットサービスの新しいIPアドレスが見つかったときにルーティングテーブルを更新することによって、この種の動的IPアドレスに対処することができる。後続のパケットの分類に使用されるルーティングテーブルを動的に更新するこのような配置では、システムは、最初に正規表現のコレクションに対してDNSクエリのドメインを照合することによって、DNSパケット(UDPポート53)検査を実行するように構成することができる。システムの構成の一部として、分析チャネルが必要とされる各サービスは、照合する正規表現のセットを定義することができる。一致が見つかった場合、システムはリクエストIDをキャッシュし、対応するDNSレスポンスを待つことができる。レスポンスが到着すると、ドメインに関連するIPアドレスがルーティングコントローラに転送され、ルーティングコントローラはサービスのルーティングテーブルエントリを更新する。レスポンスが到着すると、ドメインに関連付けられたIPアドレスがルーティングコントローラに転送され、ルーティングコントローラはサービスのルーティングテーブルエントリを更新する。これらのIPアドレスとの間で送受信される後続のトラフィックは、そのサービスに属するものとして分類される。
【0053】
場合によっては、照会されるドメインが一般的すぎて、サービスと関連付けることができないことがある。この場合、DNSルールは、DNSレスポンスのCNAMEを照合するための追加ルールを含むことができる。レスポンスで返されたIPアドレスは、レスポンスがCNAMEを含み、そのCNAMEが提供されたルールのいずれかに一致する場合にのみ、ルーティングコントローラに転送される。
【0054】
図7及び
図8は、本教示によるシステムが、適切なチャネルが使用されることを確実にするために、システムを通じてルーティングされるトラフィックをどのように解消できるかに関連する例示的なプロセスフローを示す概略図である。
【0055】
このプロセスは、ステップ705では、クライアントデバイスである車両がホストへの接続を開こうとするときに開始される。ステップ710では、クライアントデバイスはネームサーバにDNSリクエストを送り、ホスト名を1つ以上のIPアドレスに解決する。DNSリクエストは、それがイングレスNICに到着すると識別される。ステップ715では、到着すると、リクエストは検査され、ホストが各サービスに定義されたルールと比較される。一致しない場合、リクエストIDは保存されないが(ステップ730)、ステップ735で、リクエストは依然としてDNSネームサーバにルーティングされる。
【0056】
一致がある場合、ステップ720で、ホストに対して、DNSリクエストIDはキャッシュされ、DNSリクエストはエグレスNICを通過してDNSネームサーバにルーティングされ、DNSネームサーバはリクエストを解決し、DNSレスポンスで返信する。
【0057】
DNSレスポンスがネームサーバから受信されると、ステップ740でDNSレスポンスのレスポンスIDがリクエストIDキャッシュと照合され、ステップ741で、一致するかどうかが確認される。
【0058】
一致が見つかった場合、ステップ745で、システムはAレコードをルーティングコントローラに転送するように構成されるが、Aレコードはドメインに関連付けられたIPアドレスを含むDSNレスポンスの部分であることを当業者は理解するであろう。その後、ルーティングコントローラは、関連するサービスのルーティングテーブルを更新する。
【0059】
ステップ750では、一致が見つかったか否かに関わらず、DNSレスポンスはリクエスト元のクライアントに送信される。
【0060】
ステップ755で、クライアントは、DNSレスポンスに含まれるIPアドレスの1つに接続を開く。
【0061】
ステップ760では、リクエストから生じるトラフィックは、ルーティングコントローラによって定義された正しいチャネルを経由してルーティングされる。
【0062】
図9のプロセスフローに従って、システムは、イングレスNIC上のすべてのアップストリームのTLSパケット(TCPポート443)を監視するように構成することもできる。プロセスステップ805でTLSハンドシェイクを識別すると、ステップ810でクライアントハンドシェイクパケットを検査し、SNI(Server Name Indication)拡張ヘッダを含むかどうかを判断する。SNIヘッダが見つかった場合、ステップ820でヘッダの値が抽出され、各サービスに定義されたSNIマッチングルールと比較される。サービスルールが一致すると、ステップ825で、パケットの宛先IPアドレスがそのサービスの識別IPアドレスであると仮定され、ステップ835で、宛先IPアドレスがルーティングコントローラに転送される。DNSの一致の場合と同様に、ルーティングコントローラはサービス840のルーティングテーブルエントリを更新する。
【0063】
以上のことから、本教示によるシステムは、そのトラフィックを生成しているサービスに基づいて、ネットワークレベルでのデータ使用の分類を可能にすることが理解されよう。異なるデータサービスプロバイダのIPアドレスを特定することで、本教示によれば、ネットワークトラフィックを、これらの異なるデータサービスプロバイダに固有のチャネルを通してネットワークレベルでルーティングすることが可能になる。ルーティングは、ネットワークを通過するパケットのヘッダを解析し、送信元又は宛先IPアドレスに基づいて特定のチャネルにパケットをルーティングすることによって行われる。このようにして、トラフィックの性質は、ネットワークを通過する個々のパケットを詳細にパケット分析する必要があるのとは対照的に、生成データサービスプロバイダのIPアドレスから推測される。
【0064】
本教示のシステムは、特定の車両から発信されたトラフィックを、異なるデータサービスプロバイダに固有のチャネルを介してルーティングするように構成されている。このようにして、特定の車両によって使用されているデータサービスの種類の詳細な概要がネットワークレベルで実現される。このシステムでは、例えばブラウジングアクティビティ又はクッキーなどを実際の車両に問い合わせる必要はない。分析は、ネットワークデバイスを通過するパケットに基づいて実行される。車両のデバイス識別子(通常はIMSI)を使用することで、その車両から発信された、又は異なるデータサービスプロバイダからその車両にルーティングされたトラフィックを追跡することができる。これにより、データ使用量の監視が容易になるだけでなく、サービスブロック、使用中のデバイス又はデータサービスに基づくルーティング設定変更、課金データなどの追加機能も可能になる。
【0065】
本教示のシステムは、ブラウザ又は特定のアプリケーションレベルではなく、デバイス固有のレベルでのトラッキングを提供することが理解されよう。データ解析はデバイスごとに行われるが、トラフィックを推定するために統計的サンプリングを行うのとは対照的に、ネットワークを使用するすべてのデバイスを追跡し、ネットワーク上の指定されたすべてのデバイスのアクティビティを全体的に把握することが可能である。
【0066】
上記で詳述したように、本教示のシステムは、ウェブブラウザのようなアプリケーションからではなく、ネットワークレベルからリクエストを追跡するため、インターネットタイプのデータサービスプロバイダからのデータサービスに対するすべてのリクエストを確認し、追跡することが可能である。これにはウェブベースのサービスも含まれるが、テレマティクス、地図、その他のマシンツーマシンデータなどのマシンツーマシンサービス、ウェブサイトのリクエスト又はNetflix/Spotifyのようなストリーミングデータサービスのような消費者ベースのサービスのような、人間/ユーザ向けではないサービスも含まれる。
【0067】
データリクエストは、ネットワークを経由してくる生のリクエストレベルで追跡される。これは、他のトラフィック解析ツールとは異なり、ウェブブラウザからのリクエストを記録するもので、ターミナルウィンドウからのリクエスト、OSからのアップデートなど、他のリクエストは記録されない。
【0068】
データ分析システムの例示的な構成は、ネットワークノード内、例えば車両とデータサービスプロバイダとの間に配置されることが理解されよう。このシステムは、特定の車両から発信された、又は特定の車両に向けられたデータのパケットを解析し、それらのパケット内のヘッダ情報に基づいて、その車両によって使用されている特定のデータサービスの性質についてデータ解析を実行できるように、ネットワークノード内の特定のチャネルを介してパケットをルーティングするように構成される。以下の特許請求の範囲に照らして必要な限りにおいてのみ限定されることを意図する本出願の範囲から逸脱することなく、本明細書に記載されたものに変更を加えることができる。
【0069】
本明細書中で使用される、含む(comprises)/含む(comprising)という語は、記載された特徴、整数、ステップ又はコンポーネントの存在を特定するためのものであるが、1つ又は複数の他の特徴、整数、ステップ、構成要素又はそれらのグループの存在又は追加を排除するものではない。
【手続補正2】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
車載データトラフィックを分類するネットワークノードにおける方法であって、
前記ネットワークノードにおいて、第1のネットワークネームスペース及び第2のネットワークネームスペースを定義し、
前記第1のネットワークネームスペースは、着信リクエストデータパケットを受信し、レスポンスデータパケットを配信するように構成されたイングレスネットワークインタフェースを含み、前記第2のネットワークネームスペースは、着信レスポンスデータパケットを受信し、リクエストデータパケットを配信するように構成されたエグレスネットワークインタフェースを含み、
複数のチャネルは、前記イングレスネットワークインタフェースと前記エグレスネットワークインタフェースとの間のトラフィックが前記チャネルを介してルーティングされるように、前記第1のネットワークネームスペースと前記第2のネットワークネームスペースとの間に設けられ、
車両
(105)から複数の着信リクエストデータパケットを前記ネットワークノードで受信し、前記データパケットは前記車両
(105)で実行中のアプリケーションから発信されることと、
前記複数の着信リクエストデータパケットの各データパケットについて
前記データパケットのヘッダから前記データパケットの送信元IPアドレスを抽出し、前記送信元IPアドレスは前記車両
(105)と関連付けられ、
前記データパケットのヘッダから、前記データパケットの宛先IPアドレスを抽出し、前記宛先IPアドレスは、前記アプリケーションによってリクエストされたサービスに関連付けられ、
前記データパケットのヘッダを検査することにより、着信データパケットのデータ量を決定することと
前記宛先IPアドレスをルーティングテーブルと照合し、
前記宛先IPアドレスが前記ルーティングテーブル内で定義されていると判断された場合、前記着信データパケットを、前記宛先IPアドレスのために定義されたチャネルを通じてルーティングし、
前記チャネルは、前記第1のネットワークネームスペースと前記第2のネットワークネームスペースとの間に設けられた複数のチャネルのうちの1つであり、又は
前記宛先IPアドレスが前記ルーティングテーブル内で定義されていないと判断された場合、前記着信データパケットを、定義されていないすべての宛先IPアドレスに提供されるデフォルトチャネルを通じてルーティング
し、前記デフォルトチャネルは、前記第1のネットワークネームスペースと前記第2のネットワークネームスペースとの間に設けられる複数のチャネルのうちの1つであり、
前記着信リクエストデータパケットの決定されたデータ量に基づいて、チャネルボリュームのインジケータを更新することと
前記ネットワークノードから前記複数の着信リクエストデータパケットを、それぞれの前記リクエストデータパケットに関連付けられた前記宛先IPアドレスに送信する、方法。
【請求項2】
前記着信リクエストデータパケットは、少なくとも部分的にセルラデータネットワークを介して受信される、請求項1に記載の方法。
【請求項3】
前記ルーティングテーブルは、同一の宛先IPアドレスのトラフィックに対して同一のチャネルを使用する、請求項1又は請求項2に記載の方法。
【請求項4】
前記複数の着信リクエストデータパケットを前記ネットワークノードから前記宛先IPアドレスへ送信することに応答して、前記ネットワークノードで複数の着信レスポンスデータパケットを受信することと
前記複数の着信レスポンスデータパケットの各データパケットについて
前記データパケットのヘッダから、前記データパケットの宛先IPアドレスを抽出し、前記IPアドレスは前記車両
(105)に関連付けられ、
前記データパケットのヘッダから、前記データパケットの送信元IPアドレスを抽出し、前記送信元IPアドレスは、前記アプリケーションによってリクエストされたサービスに関連付けられ、
前記データパケットの前記ヘッダを検査することにより、前記着信データパケットのデータ量を決定することと、
前記送信元IPアドレスを前記ルーティングテーブルと照合し、且つ
前記送信元IPアドレスが前記ルーティングテーブル内に定義されていると判断した場合、その送信元IPアドレスに対して定義されたチャネルを通じて着信データパケットをルーティングし、
前記チャネルは、前記第1のネットワークネームスペースと前記第2のネットワークネームスペースとの間に設けられた複数のチャネルのうちの1つであり、又は、
前記送信元IPアドレスが前記ルーティングテーブル内に定義されていないと判断した場合、前記着信データパケットを、未定義のすべての送信元IPアドレスに対して定義されたデフォルトチャネルを通じてルーティングし
、前記デフォルトチャネルは、第1のネットワークネームスペースと第2のネットワークネームスペースとの間に設けられる複数のチャネルのうちの1つであり、
前記着信リクエストデータパケットの決定されたデータ量に基づいて、チャネルボリュームのインジケータを更新することと、
前記複数の着信レスポンスデータパケットの各々を、前記ネットワークノードから、前記レスポンスデータパケットの各々に対するIPアドレスに関連付けられた各車両
(105)に送信する、請求項1から3のいずれか一項に記載の方法。
【請求項5】
前記送信は、少なくとも部分的にセルラデータネットワークを使用して行われる、請求項4に記載の方法。
【請求項6】
前記ルーティングテーブルは、同一の送信元IPアドレスのトラフィックに対して同一のチャネルを使用する、請求項4又は5に記載の方法。
【請求項7】
複数の前記チャネルの各々が、前記車両
(105)で実行される個別のアプリケーションに関連付けられている、請求項1から6のいずれか一項に記載の方法。
【請求項8】
前記ルーティングテーブル内で前記チャネルを定義することを含み、前記方法は、特定のチャネルに関連付けられたIPアドレス宛のトラフィックが、前記チャネルを通じてルーティングされるように、既知のIPアドレス値を特定のチャネルに関連付けることを含む、請求項1から7のいずれか一項に記載の方法。
【請求項9】
前記ルーティングテーブルを動的に更新することをさらに含み、前記方法は、着信DNSリクエストデータパケットに対して、まず、DNSクエリ内のドメインを定義された式の集合に対して照合することによってパケット検査を実行することを含み、各定義された式は特定のサービスと関連付けられ、一致が見つかった場合、この方法は、リクエストデータパケットに対するレスポンスデータパケットを受信する際に、これらのIPアドレスへの後続のトラフィック、及びこれらのIPアドレスからの後続のトラフィックが、DNSリクエストデータパケットに対して最初に一致した特定のサービスに関連するチャネルを通過するように、ドメインのIPアドレス又はアドレスでルーティングテーブルを更新することを含む、請求項1から8のいずれか一項に記載の方法。
【請求項10】
前記ルーティングテーブルを動的に更新することをさらに含み、
前記方法は、アップストリームのTLSパケットを監視して、TLSハンドシェイクを識別することと、
前記TLSハンドシェイクが前記パケットを検査してSNIヘッダが含まれているかどうかを判断するプロセス中であると判断した場合、SNIヘッダが見つけ、そのヘッダの値を抽出し、且つ、その値をサービスごとに定義されたSNIマッチングルールと比較し、
SNIルールが一致した場合、そのルールを所有するサービスの前記ルーティングテーブルを前記TLSパケットの前記宛先IPアドレスヘッダで更新する、請求項1から9のいずれか一項に記載の方法。
【請求項11】
プロセッサ、第1のネットワークインターフェース、及び第2のネットワークインターフェースを含むネットワークノードであって、前記ネットワークノードは、請求項1から10のいずれか一項に記載の方法を実行するように構成される、ネットワークノード。
【国際調査報告】