[go: up one dir, main page]

JP7193035B1 - データ処理システム、データ提供システム、イベント情報生成装置、データ処理装置、データ処理方法、及びプログラム - Google Patents

データ処理システム、データ提供システム、イベント情報生成装置、データ処理装置、データ処理方法、及びプログラム Download PDF

Info

Publication number
JP7193035B1
JP7193035B1 JP2022513111A JP2022513111A JP7193035B1 JP 7193035 B1 JP7193035 B1 JP 7193035B1 JP 2022513111 A JP2022513111 A JP 2022513111A JP 2022513111 A JP2022513111 A JP 2022513111A JP 7193035 B1 JP7193035 B1 JP 7193035B1
Authority
JP
Japan
Prior art keywords
data
event information
rdma
data processing
hub node
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2022513111A
Other languages
English (en)
Other versions
JPWO2022224322A1 (ja
Inventor
伸太郎 水野
健司 清水
正久 川島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTT Inc
NTT Inc USA
Original Assignee
Nippon Telegraph and Telephone Corp
NTT Inc USA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp, NTT Inc USA filed Critical Nippon Telegraph and Telephone Corp
Publication of JPWO2022224322A1 publication Critical patent/JPWO2022224322A1/ja
Application granted granted Critical
Publication of JP7193035B1 publication Critical patent/JP7193035B1/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17306Intercommunication techniques
    • G06F15/17331Distributed shared memory [DSM], e.g. remote direct memory access [RDMA]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Multimedia (AREA)
  • Computer And Data Communications (AREA)
  • Communication Control (AREA)

Abstract

データ処理システムにおいて、複数の端末から収集されたデータを受信し、当該データからイベント情報を生成し、生成したイベント情報をブローカ装置に送信する生成手段と、イベント情報毎に異なる複数のデータハブノード装置のうちの、前記生成手段により生成したイベント情報に対応するデータハブノード装置に対して、当該イベント情報に対応するデータを送信する送信手段と、を備えるイベント情報生成装置と、特定のサービスに対応するイベント情報を前記ブローカ装置から取得する取得手段と、前記取得手段により取得したイベント情報に基づいて、当該イベント情報に対応するデータを格納するデータハブノード装置から当該データを取得し、当該データを用いた処理を実行する処理手段と、を備えるデータ処理装置と、を備える。

Description

本発明は、複数の端末から収集されたデータに対する処理を実行する技術に関連するものである。
近年、あらゆるセンサ情報等のデータが収集され、そのデータを分析することにより、犯罪防止、事故防止、混雑、需要予測といった様々な社会課題の解決に利用されている。
例えば、非特許文献1には、監視カメラ映像をリアルタイムに解析して、混雑を高精度に予測する技術が開示されている。
https://monoist.atmarkit.co.jp/mn/articles/1608/18/news119.html、NTT東日本ギガらくカメラ
以下、発明が解決しようとする課題について説明する。
多数のセンサ情報を収集して分析するサービスを提供するシステムに関して、従来技術では、特定の限られた目的のために設計・構築される。そのため、ある目的のためのサービスを提供したい場合には、その目的に応じてカメラ等のインフラを構築し、取得した映像等のセンサデータの分析を行うシステムをそのサービスのために個別に構築する必要があった。
例えば、アプリケーションサーバにより、社会の動向に応じて、新たなサービスを提供しようとする場合には、データ収集・分析のシステムから構築しなければならなかった。すなわち、従来技術では、複数の端末から収集されたデータを利用して、多様な任意のサービスを提供することが難しいという課題があった。
本発明は上記の課題に鑑みてなされたものであり、複数の端末から収集されたデータを利用して、多様な任意のサービスを容易に提供することを可能とする技術を提供することを目的とする。
開示の技術によれば、端末から収集されたデータを受信し、当該データに対する分析を行い、分析結果に基づいて、イベント情報を生成し、生成したイベント情報をブローカ装置に送信する生成手段と、イベント情報毎に異なる複数のデータハブノード装置のうちの、前記生成手段により生成したイベント情報に対応するデータハブノード装置に対して、前記分析結果に基づいて当該イベント情報に対応づけられたデータを送信する送信手段と、を備えるイベント情報生成装置と、
特定のサービスに対応するイベント情報を前記ブローカ装置から取得する取得手段と、前記取得手段により取得したイベント情報に基づいて、当該イベント情報に対応づけられたデータを格納するデータハブノード装置から当該データを取得し、当該データを用いた処理を実行する処理手段と、を備えるデータ処理装置と、
を備えるデータ処理システムが提供される。

開示の技術によれば、複数の端末から収集されたデータを利用して、多様な任意のサービスを容易に提供することを可能とする技術が提供される。
RDMAの概要を説明するための図である。 RDMAの概要を説明するための図である。 RDMAの概要を説明するための図である。 RDMAの概要を説明するための図である。 RDMAの概要を説明するための図である。 RDMAの概要を説明するための図である。 RDMAの概要を説明するための図である。 第1実施形態における通信システムの全体構成例を示す図である。 実施イメージを説明するための図である。 課題を説明するための図である。 実現モデルを説明するための図である。 第1実施形態における通信システムの機能構成例を示す図である。 第1実施形態における通信システムの機能構成例を示す図である。 第1実施形態における通信システムの動作例を説明するための図である。 第2実施形態におけるデータ処理システムの全体構成例を示す図である。 エッジノード装置の構成図である。 メッセージブローカ装置の構成図である。 データハブノード装置の構成図である。 AIアプリノード装置の構成図である。 第2実施形態におけるデータ処理システムの動作例を説明するための図である。 第2実施形態におけるデータ処理システムの具体例を説明するための図である。 装置のハードウェア構成例を示す図である。
以下、図面を参照して本発明の実施の形態を説明する。以下で説明する実施の形態は一例に過ぎず、本発明が適用される実施の形態は、以下の実施の形態に限られるわけではない。
以下、第1実施形態と第2実施形態を説明する。
第1実施形態と第2実施形態ともに、データ通信方式としてRDMAを使用していることから、まず、RDMAの概要を説明する。なお、以下のRDMAの概要について、RDMAの説明のための便宜上、従来技術を示しているが、本実施の形態で用いるRDMAが以下で説明する従来のRDMAと同一である必要はない。メモリ間でCPUを介さずに直接に通信を行うことができる方式であれば、以下のRDMAの概要で説明する方式以外の方式を使用してもよい。
(RDMAの概要)
RDMAでは、イーサネット等のNICに相当するハードウェア(本実施の形態ではRDMA-NICと呼ぶ)を使用する。
送信側のRDMA-NICは、予め確保されたメモリ領域からDMAでデータを読み込んで、受信側のRDMA-NICに転送する。受信側のRDMA-NICは、同様に予め確保されたメモリ領域に対して受信したデータをDMAで書き込む。これにより、異なるノードのユーザ空間アプリケーション同士がゼロコピーでの通信を行うことが可能となる。RDMAでは、ネットワークのプロトコルはRDMA-NIC(ハードウェア)に実装されており、これによりノードに設置された通信装置におけるOS層のCPUリソースの消費が抑えられるとともに、低レイテンシの通信を実現している。
また、従来のOS層のネットワークスタックを利用したTCPやUDPの通信ではソケットによって通信を行うのに対し、RDMAではQueue Pair(QP)によって通信を行う。
QPは、RDMA-NICによって提供される仮想的なインタフェースであり、Send Queue(SQ)とReceive Queue(RQ)のペアからなる。SQやRQには、それぞれデータ送信、データ受信に関わるデータが格納されている。これには、データを格納するメモリ領域のアドレスや、その長さの情報などが含まれる。メモリ領域としては、仮想メモリアドレスや物理メモリアドレスが使用される。
図1に示すように、RDMA-NICを使用する場合には、RDMA-NICにアクセスさせるメモリ領域をMemory RegionとしてOSに登録する。また、Memory regionの登録時に仮想メモリアドレスと物理メモリアドレスの変換表を作り、これをRDMA-NICに渡すことで、RDMA-NICは、ユーザプログラム(APP)の仮想メモリアドレス空間の一部を認識できるようになる。RDMA-NICは送信時と受信時においてこの変換表を参照して、アクセスすべき物理メモリアドレスを決定できる。そのため、ノードに設置された通信装置におけるOS層のCPUの使用を最小限に抑えたデータ転送が可能である。
なお、上記のようにメモリ領域として仮想メモリアドレスを使用することは一例である。メモリ領域として物理メモリアドレスを使用することとしてもよい。物理メモリアドレスを使用したメモリ領域はPA-MR(Physical Address Memory Region)と呼ばれる。PA-MRを使用する場合、データを格納するメモリ領域の物理メモリアドレスやその長さの情報を含む送信要求/受信要求がSQ/RQに格納され、当該送信要求/受信要求に基づいて物理メモリアドレスにアクセスすることができる。
<Transport Layerの基本モデル>
次に、LocalノードとRemoteノードの間でのRDMAにおけるTransport Layerの通信モデルについて、図2を参照して説明する。図2に示すように、RDMAのTransport Layerでは、LocalとRemoteの間でQP(Queue Pair)を構成する。前述したとおり、QPはSQ(Send Queue)とRQ(Receive Queue)のセットである。
RDMAの通信単位はWR(Work Request)と呼ばれる通信要求であり、WQE(Work Queue Element)という単位でSQ/RQに積まれる。このWQを積む動作は、ユーザプログラム(図1に示すAPP)からの命令により行われる。通信要求に対する送信/受信の動作は、RDMA-NICにより、WQを積む動作とは非同期に行われる。
WRには、送信要求であるSend WR、受信要求であるReceive WRがある。Send WRでは、送信したいデータのメモリ領域をWQEに指定してSQへ積む。Receive WRでは、データを受信したいメモリ領域をWQEに指定してRQへ積む。WQEはSQ/RQのQueue depthの数だけFIFO(First-In-First-Out)で積むことができる。
QPの間でWRの処理が正常に完了すると、SQ/RQのそれぞれに対応したCQ(Completion Queue)に、正常完了を示すCQE(Completion Queue Entry)が積まれる。QPの間でWRの処理がエラーで終了すると、CQにはエラーを示すCQEが積まれる。正常完了のCQEを確認すると、SQ/RQのWQEは削除され、次のWRの受け入れが可能になる。
<RDMAにおけるサービスタイプ、オペレーションタイプ>
RDMAにおけるサービスタイプは、Reliable/Unreliable、Connection/Datagramの区分により、Reliable Connection(RC)、Reliable Datagram(RD)、Unreliable Connection(UC)、Unreliable Datagram(UD)の4つのサービスタイプに大別される。一般に使用されるのは、このうちRCとUDである。
RCは、ACK/NAKによる通信の成功・異常の確認と再送の仕組みによって、メッセージの順序性と到達性を保証するものである。また、Connection型でもあり、Local-RemoteのQP間で1対1の通信を行う。
UDには、確認応答や再送の仕組みはないものの、RCと異なり、通信ごとに宛先を指定して複数のQPへの送信や複数のQPからの受信といった多対多の通信が可能である。
RDMAにおけるオペレーションタイプは、SEND、RDMA WRITE(with Immediate)、RDMA READ、ATOMIC Operationsの4つのオペレーションタイプに大別される。RCではこれら全てが使用でき、UDではSENDのみ使用できる。同じオペレーションタイプでも、サービスタイプによってWQEやCQEの積まれ方が異なる。
本実施の形態(第1実施形態、第2実施形態)におけるRDMA通信においては、いずれのサービスタイプ及びオペレーションタイプでも使用可能である。以下、各オペレーションタイプを説明する。
<SEND動作方式(RC)>
図3にSEND動作方式(RC)の動作概要を示す。SEND動作方式(RC)は、RDMAの基本的な送受信モデルであり、Local側がRemote側へデータを送信するモデルである。
図3に示すとおり、Local側はSQ、Remote側はRQを用意し、それぞれWQEを積む。Local側は、SQのWQEを先頭から取り出して、その中に指定されたメモリ領域のデータをSEND Onlyで送信する。
Remote側で受信したデータについては、RQのWQEを先頭から取り出して、その中に指定されたメモリ領域に格納する。受信が成功すると、RQに対応したCQにCQEが積まれ、Local側へACKを返す。Local側がACKを受信すると、CQEが積まれ、SQのWQEが解放される。
<SEND動作方式(UD)>
図4は、SEND動作方式(UD)の動作概要を示す。SEND動作方式(UD)は、RCのSENDと異なり、確認応答を行わない方式である。図4に示すとおり、Local側はSQ、Remote側はRQを用意し、それぞれWQEを積む。通信の準備ができると、Local側はSEND Onlyでデータを送信する。データを送信完了すると、SQに対応するCQにCQEが積まれる。Remote側で受信が成功すると、RQに対応したCQにCQEが積まれる。
<RDMA WRITE動作方式(RC)>
図5は、RDMA WRITE動作方式(RC)の動作概要を示す。RDMA WRITE動作方式(RC)は、SENDと同様にLocal側がRemote側へデータを送信する方式であるが、Remoteのメモリ領域へ直接転送する点がSENDと異なる。
Local側はSQを用意しWQEを積む。この時、WQEには送信したいデータのメモリ領域に加えて、書き込みを行いたいRemote側のメモリ領域も指定する。Remote側はRDMA用のメモリ領域(Memory Region)を確保するが、RQにWQEを積む必要はない。
通信の準備ができると、Local側はRDMA Writeでデータを送信する。データはRemote側のメモリ領域へ直接書き込まれる。Remote側で受信が成功すると、Local側へACKが返る。Local側がACKを受信すると、CQEが積まれ、SQのWQEが解放される。
<RDMA WRITE w/Imm動作方式(RC)>
図6は、RDMA WRITE w/Imm動作方式(RC)の動作概要を示す。図5を参照して説明したRDMA WRITEには、データ受信時にRemote側がメモリ領域の変更を検知できない不都合がある。
これに対して、図6に示すRDMA WRITE w/Imm(RDMA WRITE with Immediate)方式では、Remote側でRQとWQEを設定し、RDMA WRITEの受信成功時のCQEを待つことで対処する。
Local側のSQのWQEには、送信したいデータのメモリ領域、書き込みを行いたいRemote側のメモリ領域に加え、特殊フィールドimm_dataを設定する。Remote側で受信が成功した時、RQに対応したCQにはimm_dataを含んだCQEが積まれる。これを用いて任意のメモリ領域の変更を検知することが可能である。
<RDMA READ動作方式(RC)>
図7は、RDMA READ動作方式(RC)の概要を示す。図7に示すように、RDMA READ動作方式(RC)は、Remote側からLocal側へデータを引き込む方式である。
Local側はSQを用意しWQEを積む。この時、WQEにはデータを受信したいメモリ領域を指定する。さらに、読み込みを行いたいRemote側のメモリ領域も指定する。Remote側はRDMA用のメモリ領域(Memory Region)を確保するが、RQにWQEを積む必要はない。
通信の準備ができると、Local側はRDMA Read Requestでデータ読み込みを要求する。Remote側がこれを受信すると、設定されたLocal側のメモリ領域に対してRemote側のメモリ領域のデータをRDMA Read Responseで直接送る。RDMA Read ResponseのパケットにはACK拡張ヘッダが含まれており、Local側がこのACKを受信すると、CQEが積まれ、SQのWQEが解放される。
以下、第1実施形態と第2実施形態について説明する。
(第1実施形態)
まず、第1実施形態を説明する。図8に、第1実施形態における通信システムの全体構成図を示す。
図8に示すように、本通信システムは、複数の端末を接続するローカル集約ノード(LA)、複数のローカル集約ノード(LA)を接続する地域エッジノード(RE)、及び、アプリノード(AP)を有する。
第1実施形態では、端末はカメラであることを想定している。地域エッジノード(RE)は、東京、大阪といった各地域に設置されることを想定している。地域毎に複数のローカル集約ノード(LA)が存在し、各ローカル集約ノード(LA)が複数の端末(例えばカメラ)を収容している。各ノード間は、例えば、光ネットワークにより接続される。
<動作概要、課題等>
第1実施形態では、図8に示すシステム構成により、例えば、多カメラ多目的AIプラットフォームを構成することを想定している。なお、このような想定は第2実施形態でも同様である。
具体的には、当該プラットフォームにおいて、商業ビルやオフィスビルに多数のカメラを設置して、カメラから収集された画像データを分析する。分析の内容としては、例えば、エリアに存在する人数をカウントし、混雑回避、避難誘導等に役立てる。また、属性も含めて人数をカウントすることで、需要予測、在庫・店員配置最適化、イベント等の効果の分析、及びイベント・広告の立案等を行うことができる。また、怪しい行動の人間を検出することで、防犯に役立てることができる。
また、次世代の街づくりという観点で、道に多数のカメラを設置することで、Micromobility車両の自動制御、交差点での出会い衝突防止、人が多いところにMicromobility車両を自動配車する等を実現することも可能になる。
より具体的には、例えば図9に示すように、50m幅で格子状に道がある500m×500mの街区を想定し、10mおきにカメラを下記の仕様で設置する。
・接続方式:有線イーサネット(登録商標)
・解像度:フルHD(Rawで2MB)
・フレームレート:15FPS
・符号化:Motion JPEG 60Mbps
20本の道があり、1本の道に50個のカメラが設置されるので、カメラの総数は約1000台になる。全てのカメラからの出力をマージすると、60Gbps、15000FPSとなる。なお、総レート60Gbpsは、1フレーム500kB×カメラ1000台×15FPSにより計算される。
このデータが、例えば、図8に示した1つのローカル集約ノード(LA)への入力となる。図10は、上記のデータが、カメラから、ローカル集約ノード(LA)及び地域エッジノード(RE)を経由して、アプリノード(AP)に到達するまでのデータの流れのイメージを示している。図10に示すとおり、60MbpsのTCPデータ転送を同時に1000台のカメラ分だけ実行することになる。
例えば、OS層のTCP/IPサービスを利用しながらデータを送受信するプログラムをCPUで動作させる情報通信装置をLAとREに設置することで上記のデータ転送を実現することが考えられる。しかし、OS層のTCP/IPサービスは、転送対象のデータのサイズや更新レートに応じた通信の最適化をせずに、OS層で自律的にフロー制御を行い、データのバッファリングを行う。
このため、図10に示すようなデータ転送の例において、転送データが膨大になるとCPU負荷が大きくなり、フロー制御のためにデータ転送に時間がかかってしまうことになる。
負荷分散の層を構築することで負荷分散を図ることも考えられるが、負荷分散の層に相当数のサーバが必要となり、システム全体としてのCPU負荷が増大するとともに、負荷分散の層の分だけレイテンシが大きくなる。
そこで、第1実施形態では、LAとREとの間の通信方式として、メモリ間で直接にデータ通信を行うことが可能なRDMAを使用する。つまり、ローカル集約ノード(LA)と地域エッジノード(RE)のそれぞれに、RDMA-NICを備えた情報通信装置を備える。また、情報通信装置において、収集データのサイズにあわせてRDMAの仮想メモリ領域を確保(登録)し、この仮想メモリ領域のサイズと更新レートに合わせてネットワーク帯域を割り当てることとしている。この割り当ては動的に行うことができる。動的にネットワーク帯域の割り当てを行う方法として、例えば以下のような方法がある。なお、以下の方法は例であり、以下の方法以外の方法を用いることとしてもよい。
・光の物理層のレイヤでは、光の波長数を動的に変更する。
・伝送装置のレイヤ(レイヤ1)では、OTNにおけるフレーム変更やODUFlexによるより細かい粒度での帯域変更、SONET/SDHにおける速度階梯変更や、VC(VirtualConcatenation)によるより細かい粒度でのレート変更を行う。
・より上位のレイヤでは、MPLS-TE、RSVP―TEによる、トラヒックエンジニアリング機能による帯域制御を行う。
・同時並列のストリーム数で伝送速度を高速化しているプロトコルでは、データ転送における並列度調整を行う。
・ネットワークでの帯域制御ではなく、転送ノードでは、トラヒックシェーパなどにより、帯域制御などを行う。
図11に、上述したカメラ配置の想定の下での、ローカル集約ノード(LA)と地域エッジノード(RE)との間におけるRDMAを用いた通信の例を示す。図11には、ローカル集約ノード(LA)と地域エッジノード(RE)のそれぞれにおいて、RDMAにより使用されるメモリが示されている。
前述したとおり、総レート60Gbpsは、1フレーム500kB×カメラ1000台×15FPSであり、カメラ1000台は500MBにおさまる。そこで、ローカル(グラウンド)側の情報通信装置において、500MBのメモリ領域を確保する。ただし、ローカル側では、データ転送中に次フレームの画像データをメモリに書き込む必要があるので、メモリを書き込む為の領域と、メモリを転送するための領域、合わせて2領域を生成する。つまり、図11に示すように、G1領域として500MBのメモリ領域と、G2領域として500MBのメモリ領域との2つのメモリ領域を生成する。各メモリ領域は、15Hzで更新される。なお、メモリ領域の数は少なくても2つ以上確保すればよい。
リモート(クラウド)側の地域エッジノード(RE)の情報通信装置においては、アプリノードへのデータの転送に際して、データ分析等のために、ある時間だけデータを保持しておくことが想定される。
そのため、地域エッジノード(RE)の情報通信装置においては、データ保持時間に応じて必要な数のメモリ領域を生成する。例えば、データ保持時間が1秒であるならば、16(=15+1)個のメモリ領域を確保する。図11の例では、C1領域~C4領域の4領域が確保されている。
また、LAとREとの間のネットワークにおいて、データの総レート60Gbpsに合わせて、ネットワーク帯域(60Gbps+α)が割り当てられる。なお、αは余裕を持って帯域を割り当てることを表現しており、カプセリングするプロトコルによるヘッダオーバーヘッドや、その他の制御メッセージを含める程度、例えば10%程度を割り当てればよい。
なお、1対のRDMAノードにおいて60GbpsのRDMA通信を実現できない場合には、メモリ領域を分けて複数のメモリ同期を並列に走らせればよい。この際、例えば、ラベル多重等を行うことにより光パスを共用してもよい。
<装置構成>
図12は、LA側の情報通信装置100とRE側の情報通信装置200の機能構成を示す図である。情報通信装置100と情報通信装置200との間は光ネットワーク300により接続されている。
図12に示すとおり、LA側の情報通信装置100は、データ送信部110、制御部120、RDMA通信部130を有する。データ送信部110と制御部120は、CPU、FPGA、物理メモリ、及びユーザプログラム等により実現される機能部である。RDMA通信部130は、RDMA-NICに相当する。
データ送信部110は、端末側からのデータを受信し、当該データを物理メモリに格納するとともに、RDMA通信部130に送信命令を出す。送信命令を出すことは、RDMA通信部130における送信キューに送信要求を積むことに相当する。
制御部120は、データ送信部110を監視することで、あるいは、端末側に関する情報を取得することで、転送すべきデータのサイズ及び更新レートを把握する。制御部120は、データのサイズに基づいて、RDMA通信部130が使用するメモリ領域のサイズ(このサイズ単位で更新されるため更新サイズと呼ぶ)を決定してメモリ領域の確保を行うとともに、データのサイズ及び更新レートに基づいて、LAとREとの間においてRDMA通信によりデータ通信を行うためのネットワークパスの帯域を決定し、当該帯域の確保を行う。
すなわち、制御部120には、複数の端末から送信されるデータに関する情報に基づいて、当該データを保持するために使用されるメモリ領域の更新サイズを決定する第1レイヤで動作する決定手段と、前記更新サイズ、及び、前記データの更新レートに基づいて、受信側との間で通信に必要な第2レイヤのネットワークパスの帯域の設定を行う設定手段とを含む。なお、サイズ決定処理のレイヤ、RDMA通信に係る処理のレイヤは異なるため、第1レイヤ、第2レイヤと呼んでいる。
LA側の制御部120が把握した情報(データのサイズ及び更新レート等)は、RE側の情報通信装置200の制御部220に通知され、制御部220は、RDMA通信部230に対して、メモリ領域の確保等の処理を行う。
データのサイズ及び更新レートの把握に関しては、例えば、制御部120が、受信データに基づいて、端末数、及び、各端末から更新レートで送信されてくるデータの量を把握することにより把握することができる。また、図13に示すように、オペレーションシステム250を備え、制御部120と制御部220のそれぞれが、オペレーションシステム250から、端末数、及び、各端末から送信されるデータの更新レートとデータサイズ等の明示的な情報を受信して、データのサイズ及び更新レートを把握することとしてもよい。
図12、図13に示すとおり、RE側の情報通信装置200は、データ受信部210、制御部220、RDMA通信部230を有する。データ受信部210と制御部220は、CPU、XPU、物理メモリ、及びユーザプログラム等により実現される機能部である。RDMA通信部230は、RDMA-NICに相当する。ここではGPUなど、様々なプロセッサユニットを総称的にXPUと呼ぶこととする。
データ受信部210は、LA側からのデータを、RDMA通信部230を介して受信し、当該データを物理メモリに格納するとともに、例えばXPUによるデータ処理を実行する。
また、データ受信部210は、RDMA READ動作を実行することで、LA側からデータを取得して、物理メモリに格納することとしてもよい。これにより、機器構成上、LA側が比較的非力な場合にも対応可能となる。
以上のように、データの受信は、LA側もしくは、RE側のどちら側が主体になって実行してもよい。
制御部220は、RE側の制御部120又はオペレーションシステム250から受信する情報に基づいて、データのサイズ及び更新レート等を把握し、把握した情報に基づいて、RDMA通信部230が使用するメモリ領域の確保、及びネットワーク帯域の確保を行う。また、制御部220は、データ処理時間等に基づいて、REにおいてデータを保持する時間を算出し、データ保持時間に応じた数のメモリ領域を確保する。
<詳細例>
次に、図14を参照して、第1実施形態における詳細構成と詳細動作の例を説明する。図14に示す通信システムにおいて、LA側に情報通信装置100が備えられ、RE側に情報通信装置200が備えられる。なお、図14の例では、REに1つのLAが接続されているが、これは例であり、REは、複数のLAを接続することが可能である。また、LAにおける情報通信装置100をプロキシサーバと呼んでもよい。情報通信装置100は、端末(カメラ等)がRDMAをサポートしていない場合でもネットワーク上でRDMA通信を可能とする機能を有するからである。
また、情報通信装置100には光パケットトランスポンダ14が接続され、情報通信装置200には、光パケットトランスポンダ26が接続される。光パケットトランスポンダ14と光パケットトランスポンダ26との間は光ネットワーク300により接続される。LA側の光パケットトランスポンダ14は、情報通信装置100のRDMA-NIC12から出力された電気信号を光信号に変換し、当該光信号を送出する。RE側の光パケットトランスポンダ26は、光ネットワーク300から受信した光信号を電気信号に変換し、当該電気信号を情報通信装置200のRDMA-NIC24へ送出する。
また、LA側の情報通信装置100には、LANを介して80台のカメラが接続されている。なお、カメラからのデータ転送はTCP/IPにしても、たかだか数百メートルの通信であると想定されるので、高速なデータ転送が可能と想定している。
図14では、メモリ領域の状態を説明し易くするために、情報通信装置100と情報通信装置200のそれぞれについて、物理的な実装に近い構成を示している。
すなわち、情報通信装置100には、制御部120、スマートNIC11、RDMA-NIC12が備えられ、スマートNIC11とRDMA-NIC12は、CI(Component Interconnect)13により接続されている。
スマートNIC11は、FPGAと物理メモリを備える。FPGAはTCPサービス機能を有し、カメラ1~80から出力されたデータを受信し、物理メモリにおいて制御部120により確保されたメモリ領域に当該データが格納される。
RDMA-NIC12は、前述したようなRDMA通信を行うハードウェアである。図14には、物理メモリの写像である仮想メモリのメモリ領域が示されている。
制御部120により、メモリ領域に対応する仮想メモリアドレスが指定されることにより、情報通信装置100においてRDMA-NIC12によるアクセス対象となるメモリ領域が確保される。仮想メモリは物理メモリの写像であるため、制御部120により確保されるメモリ領域は、仮想メモリでのメモリ領域でもあり、物理メモリでのメモリ領域でもある。
情報通信装置200には、制御部220、XPUカード21、CPUカード22、中央メモリカード23、及びRDAM-NIC24が備えられ、XPUカード21、CPUカード22、中央メモリカード23、及びRDAM-NIC24は、CI25により接続されている。
XPUカード21は、例えば画像分析を行うXPUと物理メモリを備える。CPUカード22は、分析結果の活用処理等を行うCPUと物理メモリを備える。中央メモリカード23は、物理メモリを備える。
中央メモリカード23は、PCアーキテクチャにおけるいわゆるマザーボード上の高速ストレージでもよいし、NVME Arrayのような独立したストレージでもよい。RDMA-NIC24から中央メモリカード23(マザーボード)上の物理メモリに対してCPUを介在させずにデータをDMA転送することで、CPU負荷を高めずに物理メモリを使用することができる。また、複数の中央メモリカードをRAID構成にして、高性能化・HA化させることとしてもよい。
なお、中央メモリカード23としてNVME Arrayを使用する場合には、コンピューティング系の機能部とインターコネクトで高速に接続することとしてもよい。
RDMA-NIC24は、前述したようなRDMA通信を行うハードウェアである。図14には、物理メモリの写像である仮想メモリのメモリ領域が示されている。前述したように、制御部220により、メモリ領域に対応する仮想メモリアドレスが指定されることにより、情報通信装置200においてRDMA-NIC12によるアクセス対象となるメモリ領域が確保される。仮想メモリは物理メモリの写像であるため、制御部220により確保されるメモリ領域は、仮想メモリでのメモリ領域でもあり、物理メモリでのメモリ領域でもある。
LA側の情報通信装置100における制御部120は、情報通信装置100に接続しているカメラの台数が増えた場合、RDMA-NIC12のアクセス対象とするメモリ領域、及び、LAとREとの間のコネクション帯域も同じ割合で増やすなど、逆にカメラの台数が減った場合は、同じ割合減らすなど、カメラの台数の増減に応じて、RDMA-NIC12のアクセス対象とするメモリ領域、及び、LAとREとの間のコネクション帯域を増減させる。制御部120において決定されたメモリ領域の量、及びコネクション帯域の情報は、RE側の情報通信装置200における制御部220にも通知され、制御部220は、通知された情報に基づいて、RE側の情報通信装置200において、RDMA-NIC24のアクセス対象とするメモリ領域、及び、LAとREとの間のコネクション帯域を増減させる。
また、LA側の情報通信装置100における制御部120及びRE側の情報通信装置200における制御部220は、転送データの発生レート、即ち、画像データの取得端末となるカメラの台数(データ"発生元")増減などの変動に応じて、メモリ領域・コネクション帯域を増減させることとしてもよい。
各端末(カメラ)とメモリ領域との関係に関しては、1対1の関係で紐付けられていればよく、指定するメモリ領域が固定化されている必要はない。詳細は後述するが、指定するメモリ領域は、確定的に割り当てても良いし、空きメモリ領域の中から動的に割り当てても良い。またその都度、必要に応じて割り当て領域を増やすこともできる。
このために、REへの転送待ち又は転送中状態、書き込み中状態、新たに書き込み可能状態、の三状態で各メモリ領域の状態を管理する。LAにおいて、新たに書き込み可能状態の領域が減ってきたらこの領域を増やし、REに対してもメモリ領域の増加を要求する。
具体的には、図14の例において、LA-RE転送中のデータを保持する状態のメモリ領域、LAで受信中のデータを保持する状態のメモリ領域、REで処理中のデータを保持する状態のメモリ領域が示されている。
上記のメモリ割り当て制御及びメモリ状態管理については、制御部120が行う。ただし、これは例であり、制御部120以外の手段(例:スマートNIC11、RDMA-NIC12、外部にある装置等)が行ってもよい。以下、図14に示す通信システムの動作例を説明する。
図14に示すとおり、80台のカメラがLAに接続されている。各カメラは各フレームを最大500kBで符号化する。フレームレートは15FPSである。80台のカメラが接続されていて、各カメラが各フレームを最大500kBで符号化し、15FPSで画像データを出力するという情報は、カメラ自身あるいはオペレーションシステムからLA側の制御部120に通知される。なお、制御部120は受信データから当該情報を推定してもよい。
制御部120は、通知された情報に基づいて、RDMA-NIC12がアクセスするメモリ領域(つまり、スマートNIC11の物理メモリのメモリ領域)として、500kB×80台分の大きさのメモリ領域を2領域分確保するとともに、確保したメモリ領域を500kBごとの領域に分ける。なお、500kB×80台分は、更新サイズである。
図14のLA側のメモリ領域の図において、「000」の領域は、0番地~19番地の20個の領域を示し、各領域の大きさが500kBである。他の領域も同様である。つまり、各メモリ領域に、カメラの台数分の80個の500kB領域が確保されている。
ReadとWriteの競合を防ぐために、各カメラに二つの領域が割り当てられる。例えば、カメラ1には0番地の領域と80番地の領域が割り当てられ、カメラ2には1番地の領域と81番地の領域が割り当てられる。
また、各カメラの画像のフレームレートは15FPSであるので、80台のカメラの総レート(=LAからREへのデータ転送レート)は、0.5MB×8×15×80=60Mbps×80=4.8Gbpsとなる。そのため、制御部120及び制御部220により、LAとRE間のRDMA-NIC対に、60Mbps×80台+βの帯域を割り当てる。β(ベータ)は、余裕を持って帯域を割り当てることを表現しており、カプセリングするプロトコルによるヘッダオーバーヘッドや、その他の制御メッセージを含める程度、例えば10%程度を割り当てればよい。
また、REの情報通信装置200における中央メモリ(中央メモリカード23の物理メモリ)は画像5フレーム分のデータを保持することとしている。そのため、制御部210は、500kB×80台分の大きさのメモリ領域(更新サイズ)を5領域分確保するとともに、確保したメモリ領域を500kBごとの領域に分ける。図14のRE側のメモリ領域の図において、「000」の領域は、0番地~19番地の20個の領域を示し、各領域の大きさが500kBである。他の領域も同様である。
各カメラへの領域の割り当てに関しては、例えば、カメラ1には領域0、80、160、240、320が割り当てられ、カメラ2には領域1、81、161、241、321が割り当てられるといったようにして、各カメラに領域を割り当てる。
LAからREへメモリコピーする際にコピー先の領域をローテーションさせることとする。このようなローテーションは、例えば、送信側の制御部120が、送信要求を送信キューに積む際に、コピー先の領域を指定することにより実現してもよいし、RDMA-NIC12自身が、ローテーションの制御を行ってもよい。また、RE側の制御部220が、RDMA READオペレーションにより、メモリ領域を指定した受信要求を受信キューに積む際に、コピー先の領域を指定することにより実現してもよいし、RDMA-NIC24自身が、ローテーションの制御を行ってもよい。
スマートNIC11におけるTCPサービスは、各カメラから受信した画像データを当該カメラの領域に交互に書き込む。例えば、カメラ1から受信したフレーム1の画像データを0番地の領域に書き込み、カメラ1から受信したフレーム2の画像データを80番地の領域に書き込む。フレーム2の画像データを80番地の領域に書き込む間に、0番地の領域の画像データは、RDMA-NIC12により読み出され、RE側へ転送される。そのため、カメラ1から受信したフレーム3の画像データを0番地の領域に書き込む。このような処理がカメラ毎に実行される。
RDMA-NIC12からRE側へ転送されたデータは、RE側のRDMA-NIC24により、中央メモリにおける、データの送信元のカメラに対応した領域に格納される。図14の例では、「080」~「140」の領域が、LA-RE転送中のデータ、すなわち、書き込み中のデータであることが示されている。
RE側の情報通信装置200においては、目的に応じた複数のプログラムをCPUカード及びXPUカードで走行させている。各プログラムは、中央メモリカードのデータに、DMAでアクセスするか、コピー転送する。図14の例では、転送中のデータの前に格納済みである「000」のデータが、DMA転送によりXPUの物理メモリに格納され、XPUにより処理が実行される。
なお、REのRDMA-NIC24における仮想メモリアドレスと物理メモリアドレスとは、1対1の関係で紐づけられていればよく、指定するメモリ領域が固定化されている必要はない。時系列データを保存するために、時間の経過とともに仮想メモリアドレスに指定される物理メモリアドレスを変化させてもよい。
例えば、時刻が1、2、3、4、...のように経過することに対応して、仮想メモリアドレス=1に対応する物理メモリアドレスを81、82、83、84、...のように変化させる。これにより、仮想メモリアドレス=1を指定して順次送信されてくる時系列データを、時系列の順に物理メモリに格納することができ、処理効率を向上できる。この制御は、RDMA-NIC24が行ってもよいし、制御部220が行ってもよい。
また、REにおいて、RDMA-NIC24からの転送先の物理デバイス(XPUと物理メモリを備えるカード等)が複数存在する場合において、物理デバイスの負荷が均等になるように仮想メモリアドレスと物理メモリデバイス関係を調整することとしてもよい。例えば、負荷があがってきたら、別の物理デバイスに対応先を変えることとしてもよい。この制御は、RDMA-NIC24が行ってもよいし、制御部220が行ってもよい。
また、REにおいて、ある物理デバイスが機能しなくなった場合に、別の物理デバイスに対応先を変えることにより、物理デバイスの高信頼化を図ってもよい。この制御は、RDMA-NIC24が行ってもよいし、制御部220が行ってもよい。
また、REにおいて、データの高信頼化のためにNコピーを実施してもよい。すなわち、一つの仮想メモリアドレスに対して複数の物理メモリアドレスをマッピングさせて、RDMA-NIC24が当該仮想メモリアドレスに対して受信した値を当該複数の物理アドレスに書き込むこととしてもよい。このとき、複数の物理アドレスに同じ値を書く代わりにRSE(Reed Solomon Erasure)等の演算を行った結果を書き込むこととしてもよい。また、データ高信頼化の変換処理において、秘密分散で安全性を確保できる関数を用いることとしてもよい。
また、データの高信頼化のために光マルチキャストによるNコピーを行ってもよい。すなわち、1つのLAから光マルチキャストで複数のREに同時にコピーして高信頼化を実現してもよい。
<第1実施形態の効果>
第1実施形態に係る技術により、ローカル集約ノード(LA)における情報通信装置のCPU稼働の軽減を図ることができるとともに、ローカル集約ノード(LA)と遠隔地にあるNW上のサーバ側(RE)との間で大容量データの転送を高速かつ低遅延で実現できる。
また、端末から収集したデータの転送にCPUが介在しないので、より少ない装置の台数で多数の端末を収容することができる。また、TCPのようなフロー制御がなくデータ転送にかかる時間が短くて済むので、例えば、瞬間的な分析、反応が必要なAIアプリを実現できる。
(第2実施形態)
次に、第2実施形態を説明する。
多数のセンサ情報を収集して分析するサービスを提供するシステムに関して、従来技術では、特定の限られた目的のために設計・構築される。そのため、ある目的のためのサービスを提供したい場合には、その目的に応じてカメラ等のインフラを構築し、取得した映像等のセンサデータの分析を行うシステムをそのサービスのために個別に構築する必要があった。また、多数のセンサやカメラのデータを収集して他ノードに転送する集約ノードに設置された通信装置におけるOS層のTCP/IPサービスを、データ受信プログラムとともにCPUで動作させることに伴い、転送データが膨大になると、CPU負荷が大きくなってしまうという課題もあった。
例えば、アプリケーションサーバにより、社会の動向に応じて、新たなサービスを提供しようとする場合には、データ収集・分析のシステムから構築しなければならなかった。すなわち、従来技術では、複数の端末から収集されたデータを利用して、多様な任意のサービスを提供することが難しいという課題があった。以下、これらの課題を解決する第2実施形態について説明する。
<システム構成例>
図15に、第2実施形態におけるデータ処理システムの構成例を示す。第2実施形態は、第1実施形態の技術をベースとしており、図15は、図8に示したシステム構成における地域エッジノード(RE)からアプリノード(AP)までの構成をより詳細に記載したものに相当する。なお、第2実施形態では、アプリノードで動作するアプリとしてAIアプリを想定していることから、アプリノードの具体例として、AIアプリノードを記載している。
図15に示すように、地域エッジノード(RE)、メッセージブローカノード(MB)、データハブノード(DH)、AIアプリノード(AP)がそれぞれ複数存在する。地域エッジノード(RE)とデータハブノード(DH)との間、及びデータハブノード(DH)とAIアプリノード(AP)との間はそれぞれ例えば光ネットワークで接続される。なお、メッセージブローカノード(MB)とデータハブノード(DH)は、まとめて1つのノード(1つの装置)で構成することとしてもよい。
また、第2実施形態は、メモリの割り当てをユースケースの特性に応じて予め固定することで、CPUの介在を極力削減し、LA<->RE転送&AIのサービスを低負荷に実行する事例である。ここでは地域エッジノード(RE)とデータハブノード(DH)との間、及びデータハブノード(DH)とAIアプリノード(AP)との間はそれぞれRDMAを用いて通信を行うことを例に説明する。なお、RDMAを用いることは必須では無いが、RDMAを併用することで、地域エッジノード(RE)とAIアプリノード(AP)との間の通信の低遅延化が可能になるとともに、各ノードでの負荷低減、それに伴う、ノード集約効果の向上、ひいては、全体システムの低消費電力化が図れる。以下、RDMA以外の通信方式を使用しても同様の効果が期待できる。
地域エッジノード(RE)とメッセージブローカノード(MB)との間、及びメッセージブローカノード(MB)とAIアプリノード(AP)との間の通信については、どのような通信方式を使用してもよい。例えばRDMAでもよいし、一般的なIP通信(インターネット等)でもよい。
図15に示す例において、地域エッジノード(RE)は、東京、大阪、名古屋、福岡、横浜に設置されている。
メッセージブローカノード(MB)とデータハブノード(DH)は、トピック毎に分散して配置されている。なお、「トピック」を「イベント」と呼んでもよい。図15の例では、MB1とDH1が「トピック=防犯・安全管理」に対応し、MB2とDH2が「トピック=人数カウント」に対応し、MB3とDH3が「トピック=顧客行動分析」に対応する。
AIアプリノード(AP)は、アプリプロバイダの都合で散在している。図15の例では、「不審者検知」、「事故発生率予測」、「混雑緩和」、「需要予測・在庫最適化」、「マイクロ交通運行最適化」、「棚割最適化」、「キャンペーン提案」などを行う複数のAIアプリノード(AP)が配置されている。
各AIアプリノード(AP)により提供されるサービスは固定されているわけではない。第2実施形態では、サービス提供に必要な所望のデータを容易に取得することが可能であるため、任意のサービスを容易に提供することが可能である。
ローカル集約ノード(LA)の配下には、第1実施形態と同様に、LANを介して複数の端末が接続されている。端末は例えばカメラ(スマートカメラ)である。
スマートカメラはいわゆるセンサ情報を収集する装置としての例であり、イメージセンサ、DSPを搭載し、カメラ映像を符号化して圧縮しLANに送信する機能を有する。なお、ローカル集約ノード(LA)の配下に備えられる端末は、センサ情報を収集するセンサ機器であればどのような機器であってもよい。
<装置構成例>
以下、各ノードに配置される装置の機能構成例を説明する。LAに配置される情報通信装置100の構成は、第1実施形態の図12(及び図13)に示した情報通信装置100の構成と同じである。
図16に、地域エッジノード(RE)に備えられるエッジノード装置400の構成例を示す。エッジノード装置400の機能は、第1実施形態の図12(図13)に示したRE側の情報通信装置200の機能と基本的に同じであるが、第2実施形態では、イベント情報生成・送信、及びデータのデータハブノードへの送信を行うことから、図16に示す構成ではその点に係る機能を含めている。なお、エッジノード装置400をイベント情報生成装置と呼んでもよい。
図16に示すとおり、エッジノード装置400は、データ送受信部410、制御部440、RDMA通信部430、イベント情報生成部420を有する。データ送受信部410と制御部440とイベント情報生成部420は、CPU、XPU、物理メモリ、及びユーザプログラム(アプリケーション)等により実現される機能部である。RDMA通信部430は、RDMA-NICに相当する。
データ送受信部410は、LA側から送信されたデータを、RDMA通信部430を介して受信し、当該データを物理メモリに格納する。また、データ送受信部410は、RDMA通信部430を用いて、イベント情報に対応するデータハブノード装置へのデータ送信を行う。
データハブノード装置へのデータ送信の際には、送信するデータに対応するイベント情報(トピック)に対応するデータハブノード装置へデータを送信する。また、当該データハブノード装置におけるデータ格納先のメモリ領域のアドレスとして、データ送信元のエッジノード装置400が属する地域に対応するメモリ領域のアドレスを指定する。
イベント情報生成部420は、LA側から受信したデータに対して、XPU等によるデータ分析を行って、分析の結果に基づいて、イベント情報を生成し、イベント情報に対応するメッセージブローカ装置にイベント情報を送信する。イベント情報には、トピックを示す情報、分析結果の情報、当該イベント情報の格納先(格納先のデータハブノード装置とそのメモリ領域)を識別する情報(アドレス等)等が含まれる。
すなわち、イベント情報生成部420は、複数の端末から収集されたデータを受信し、当該データからイベント情報を生成し、生成したイベント情報をブローカ装置に送信する生成手段を含む。
また、データ送受信部410及びRDMA通信部430は、イベント情報毎に異なる複数のデータハブノード装置のうちの、前記生成手段により生成したイベント情報に対応するデータハブノード装置に対して、当該イベント情報に対応するデータを送信する送信手段を含む。
制御部440は、LA側の制御部120又はオペレーションシステム250から受信する情報に基づいて、データのサイズ及び更新レートを把握して、データのサイズ及び更新レートに基づいて、RDMA通信部430が使用するメモリ領域の確保、及びネットワーク帯域の確保を行う。また、制御部440は、データ処理時間等に基づいて、REにおいてデータを保持する時間を算出し、データ保持時間に応じた数のメモリ領域を確保する。
図17に、メッセージブローカノード(MB)に備えられるメッセージブローカ装置500の機能構成例を示す。メッセージブローカ装置500をブローカ装置と呼んでもよい。第2実施形態におけるメッセージブローカ装置500は、Publisher/Subscriberモデルにおけるブローカの機能を有することを想定している。
図17に示すように、メッセージブローカ装置500は、メッセージ受信部510、メッセージ格納部520、メッセージ配信部530を有する。メッセージ受信部510は、あるトピックについてのメッセージ(具体的にはイベント情報)を配信者(RE)から受信し、受信したメッセージをメッセージ格納部520に格納する。メッセージ配信部530は、あるトピックを購読する購読者(ここではAIアプリノード)に対し、当該トピックのメッセージを送信する。
図18は、データハブノード(DH)に備えられるデータハブノード装置600の機能構成例を示す。図18に示すように、データハブノード装置600は、データ送受信部610、制御部630、RDMA通信部620を有する。データ送受信部610と制御部630は、CPU、物理メモリ、及びユーザプログラム(アプリケーション)等により実現される機能部である。RDMA通信部620は、RDMA-NICに相当する。
データ送受信部610は、エッジノード装置400からのデータを、RDMA通信部620を介して受信し、当該データを物理メモリに格納する。また、データ送受信部610は、RDMA通信部620に対し、AIアプリノード装置700へのデータ送信を行うための送信命令を出し、RDMAによるデータ送信を行う。制御部630は、RDMA通信部620が使用するメモリ領域の確保、及びネットワーク帯域の確保等を行う。
図19は、AIアプリノード(AP)に備えられるAIアプリノード装置700の機能構成例を示す。図19に示すように、AIアプリノード装置700は、イベント情報処理部710、データ処理部720、RDMA通信部730、制御部740を有する。イベント情報処理部710、データ処理部720、制御部740は、XPU、CPU、物理メモリ、及びユーザプログラム(アプリケーション)等により実現される機能部である。RDMA通信部730は、RDMA-NICに相当する。なお、AIアプリノード装置700をデータ処理装置と呼んでもよい。
イベント情報処理部710は、メッセージブローカ装置500からイベント情報を取得し、イベント情報に対する処理を行う。すなわち、イベント情報処理部710は、特定のサービスに対応するイベント情報をメッセージブローカ装置から取得する取得手段を含む。
データ処理部720は、データハブノード装置600からRDMA通信部730を介してデータを受信し、当該データを物理メモリに格納するとともに、XPU等による処理を実行する。制御部740は、RDMA通信部730が使用するメモリ領域の確保、及びネットワーク帯域の確保等を行う。
すなわち、データ処理部720及びRDMA通信部730は、前記取得手段により取得したイベント情報に基づいて、当該イベント情報に対応するデータを格納するデータハブノード装置から当該データを取得し、当該データを用いた処理を実行する処理手段を含む。
また、AIアプリノード装置700において、データ処理部720を構成するプロセッサのプールが備えられ、当該プール又は当該プールの一部がユーザに割り当てられることとしてもよい。
例えば、AIアプリノード装置700において、複数のXPUを備え、当該複数のXPUをXPUプールとする。例えば、XPUプールを複数に分割し、分割したプールを各ユーザに割り当てる。
また、複数のXPUを備えるXPUプールを複数個備えてもよい。例えば、XPUプール1、XPUプール2、XPUプール3がある場合に、XPUプール1をユーザAに割り当て、XPUプール2をユーザBに割り当て、XPUプール3をユーザCに割り当てるといった割り当てを行うことができる。
XPUプールが割り当てられたユーザに関して、例えば、ユーザ自身が用意したデータ収集システム(又は本実施の形態のデータハブノード装置600)から処理対象のデータがAIアプリノード装置700に送信される。AIアプリノード装置700では、当該ユーザに割り当てられたXPUプールに当該ユーザのデータが転送され、当該ユーザのデータに対する計算処理が実行される。このように、XPUプールをユーザに割り当てることで、計算処理のロジックをサービスとして提供することができる。
<処理シーケンス例>
第2実施形態に係るデータ処理システムにおける処理の流れの例を図20のシーケンス図を参照して説明する。ここでは、一例として、分析対象データがカメラから送出された画像データ(映像データ)であるものとして説明を行う。
なお、エッジノード装置400(イベント情報生成装置)とデータハブノード装置600とを有する構成により、AIアプリノード装置700(データ処理装置)に対してデータを提供するプラットフォームが構成される。エッジノード装置400とデータハブノード装置600とを有するプラットフォームをデータ提供システムと呼んでもよい。このデータ提供システムからデータを取得してデータ処理を行う装置は、AIアプリノード装置700に限られない。例えば、ユーザが用意したアプリケーションサーバがデータ提供システムからデータを取得してデータ処理を行うこととしてもよい。
S101において、エッジノード装置400のイベント情報生成部420は、LAから受信した画像データを分析することにより得られた物体検出情報からイベントを検出し、当該イベントに関するイベント情報を生成する。S102において、イベント情報生成部420は、生成したイベント情報を、当該イベント情報に関するトピックのメッセージブローカ装置500に送信する。
例えば、イベント情報生成部420は、物体検出情報として、新規に認識された人物像を得た場合には「人数カウント」をトピックとして有するイベント情報を生成する。また、例えば、イベント情報生成部420は、物体検出情報として、特定の要監視エリアで検出された人物像を得た場合には「防犯」をトピックとして有するイベント情報を生成する。また、例えば、イベント情報生成部420は、物体検出情報として、店舗やショップエリアで検出された人物像を得た場合には、「顧客行動分析」をトピックとして有するイベント情報を生成する。
イベント情報には、トピックとともに、分析により得られた情報が含まれていてもよい。例えば、「人数カウント」をトピックに持つイベント情報に、人数のカウント結果が含まれていてもよい。
データ送受信部410は、イベント情報に付帯した物体画像データを、RDMA通信部430を介して、該当のイベント情報に対応するデータハブノード装置600に転送する(S103)。この場合、イベント情報生成部420は、転送先のデータハブノード装置600の仮想メモリアドレスを、S102で送信するイベント情報に含める。
AIアプリノード装置700のイベント情報処理部710は、S104において、イベント情報をイベントブローカ装置500から取得する。このイベント情報は、例えば、当該AIアプリノード装置700が提供する特定のサービスに対応するイベント情報である。
イベント情報処理部710は、当該イベント情報が処理すべきイベント情報であれば、当該イベントを処理すると判断し、データ処理部720に処理を依頼する。例えば、イベント情報処理部710は、前回のイベント情報と今回のイベント情報を比較して、情報に変化があった場合に、イベントを処理すると判断する。
イベントを処理する場合において、データ処理部720は、イベント情報とともに画像データが必要である場合、イベント情報に含まれるアドレス情報を用いて、イベント情報に対応する画像データをデータハブノード装置600から取得して、処理を実行する(S105、S106)。
以下ではより具体的な構成例について説明する。
<ローカル集約ノード(LA)と地域エッジノード(RE)の接続構成例>
ローカル集約ノード(LA)と地域エッジノード(RE)の接続構成例は、第1実施形態での接続構成例と同じであり、図14に示したとおりである。その動作も基本的に第1実施形態において説明したとおりである。
すなわち、LAにおける情報通信装置100は、いわゆるプロキシサーバの機能を有し、スマートカメラ等がRDMAをサポートしていない場合でもネットワーク上でRDMA通信を可能とする。
前述したとおり、LAにおける情報通信装置100内にはTCPサービスを終端し物理メモリに書き込むスマートNIC11と、RDMAに対応し光パケットトランスポンダ14にデータを転送するRDMA-NIC12が搭載されている。スマートカメラから送られてきた画像データは情報通信装置100内でTCP終端され、スマートNIC11内の物理メモリを経由してRDMA-NIC12内の仮想メモリに転写され、光パケットとなってネットワーク側に送られる。
REにおけるエッジノード装置400(第1実施形態での情報通信装置200に相当)は、LAからデータを受信し、各種データ処理を行って、イベント情報生成等を行う。
<地域エッジノード(RE)~AIアプリノードの接続構成例>
エッジノード装置400、メッセージブローカ装置500、データハブノード装置600、AIアプリノード装置700の具体例を、図21を参照して説明する。図21に示す各装置は、メモリ領域に格納されるデータの状況を示すために、メモリカード等の実装に近い構成を示している。
REにおけるエッジノード装置400には、LAからデータを受信するRDMA-NIC44、中央メモリカード43、CPUカード42、及び各種データ処理のためのXPUカード41(GPUカード等)が含まれる。
エッジノード装置400は、LAからデータを受信するとRDMA-NIC44を介して中央メモリカード43の物理メモリにデータを書き込む。当該データは、DMA転送により例えばXPUカード41の物理メモリに格納される。ここでは対象データがカメラで取得した画像データとして説明すると、XPU(例えばGPU)は物理メモリの画像データを映像に組み上げ、画像解析を行う。
ここでは画像にうつる人間の人数、顧客行動分析、防犯目的でおかしな挙動をしている人間がいないか、といった解析を行う。解析手法については既存技術を用いることが可能である。
また、GPUではデータを解析したうえで、解析した画像に応じたイベント情報を生成する。イベント情報には対応した画像データの送信先のデータハブノード装置600に記憶されるメモリのアドレス情報が含められる。
なお、イベント情報生成はCPUが行ってもよい。図21には、イベント情報生成をCPUが行う場合の例が示されている。
REのエッジノード装置400におけるイベント情報生成部420(上記のGPUやCPU、及びプログラムに相当)は、画像解析によって生成したイベント情報に対応するメッセージブローカ装置500にイベント情報を送信する。イベント情報の送信は、RDMAである必要はなく、TCP/IPなどの方法でも良い。また、RDMA-NIC44により、イベント情報に対応するデータハブノード装置600に画像データが送信される。
なお、イベント情報に対応する宛先のデータハブノード装置600の決定に関しては、例えば、エッジノード装置400において、イベント情報に対応する光パスアドレスを記憶したテーブルを用意しておき、データ送受信部410が、そのテーブルを参照することで宛先のデータハブノード装置600を決定する。
データハブノード装置600は、中央メモリカード61、及びRDMA-NIC62を含む。データハブノード装置600のRDMA-NIC62は、複数のREから特定イベントごとの画像データを受信し、RE(地域)に対応したメモリ領域にデータを格納する。また、データハブノード装置600において、RDMA-NIC62は、物理メモリからデータを読み出して、当該データをAIアプリノード装置700に送信する。
メッセージブローカ装置500は、REのエッジノード装置400からイベント情報を受信し、当該イベント情報に対応するAIアプリノード装置700にイベント情報を送信する。
AIアプリノード装置700は、各種画像データから例えば混雑状況と人数の情報を取得してレストランの混雑予測やタクシー配車管理などのサービスを提供する装置である。図21に示すように、AIアプリノード装置700の構成は、エッジノード装置400の構成と同様であり、XPUカード71、CPUカード72、中央メモリカード73、RDMA-NIC74を含む。
なお、図21の例では1つのXPUカードが示されているが、これは例である。複数のXPUカードを備えることで、前述したような1つ又は複数のXPUプールを構成してもよい。
AIアプリノード装置700は、事前にどのイベント情報を取得するかを記憶しておき、当該記憶情報に基づいて、該当するイベント情報に対応するメッセージブローカ装置500のアドレスに新規イベント情報の有無を問い合わせる。
例えばAIアプリノード装置700が、人数と顧客動向分析のイベント情報を取得することを記憶している場合において、AIアプリノード装置700は、人数に関するメッセージブローカ装置500Aと、顧客動向分析に関するメッセージブローカ装置500Bに、画像データのアップデート(つまり、イベント情報のアップデート)を問い合わせる。
メッセージブローカ装置500は、AIアプリノード装置700からの問い合わせに応じて、アップデートしたイベント情報がある場合に、保有するイベント情報を問い合わせ元のAIアプリノード装置700に送信する。
AIアプリノード装置700は、例えば、今回取得したイベント情報と以前に受信していたイベント情報との比較を行い、差分がある場合はイベント処理を実行する。このとき、差分に対応する画像データを、当該画像データが格納されているデータハブノード装置600から取得する。
イベント情報には、画像データが格納されているメモリのアドレス情報が含まれているので、AIアプリノード装置700は、当該アドレス情報に基づいて、当該画像データが格納されているデータハブノード装置600のメモリの特定の領域にアクセスすることができる。
AIアプリノード装置700において、RDMA-NIC74が、データハブノード装置600から受信した画像データを、中央メモリカード73の物理メモリに書き込む。当該画像データは、例えばXPUカード71に送られて画像分析処理が行われる。また、例えば、CPUによって分析結果の活用処理を行う。
<第2実施形態の効果>
第2実施形態に係る技術によれば、AIアプリノード装置が提供したいサービスに応じて必要な情報だけを取得することができるので、多様な任意のサービスを容易に提供することが可能となる。
また、データの送受信にRDMAを使用する場合には、CPU負荷を軽減し、高速かつ低遅延で転送のデータ転送を実現できる。
(ハードウェア構成例)
第1、第2の実施の形態で説明した情報通信装置100、200、エッジノード装置400、メッセージブローカ装置500、データハブノード装置600、AIアプリノード装置700はいずれも、例えば、コンピュータにプログラムを実行させることにより実現することもできる。このコンピュータは、物理的なコンピュータであってもよいし、クラウド上の仮想マシンであってもよい。情報通信装置100、200、エッジノード装置400、メッセージブローカ装置500、データハブノード装置600、AIアプリノード装置700を総称して「装置」と呼ぶ。
すなわち、当該装置は、コンピュータに搭載されるCPUやXPU、RDMA-NIC、メモリ等のハードウェア資源を用いて、当該装置で実施される処理に対応するプログラムを実行することによって実現することが可能である。上記プログラムは、コンピュータが読み取り可能な記録媒体(可搬メモリ等)に記録して、保存したり、配布したりすることが可能である。また、上記プログラムをインターネットや電子メール等、ネットワークを通して提供することも可能である。
図22は、上記コンピュータのハードウェア構成例を示す図である。図22のコンピュータは、それぞれバスBで相互に接続されているドライブ装置1000、補助記憶装置1002、メモリ装置1003、CPU(あるいはXPU)1004、インタフェース装置1005(例:RDMA-NIC)、表示装置1006、入力装置1007、出力装置1008等を有する。なお、これらのうち、一部の装置を備えないこととしてもよい。例えば、表示を行わない場合、表示装置1006を備えなくてもよい。
当該コンピュータでの処理を実現するプログラムは、例えば、CD-ROM又はメモリカード等の記録媒体1001によって提供される。プログラムを記憶した記録媒体1001がドライブ装置1000にセットされると、プログラムが記録媒体1001からドライブ装置1000を介して補助記憶装置1002にインストールされる。但し、プログラムのインストールは必ずしも記録媒体1001より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置1002は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
メモリ装置1003は、プログラムの起動指示があった場合に、補助記憶装置1002からプログラムを読み出して格納する。CPU(XPU)1004は、メモリ装置1003に格納されたプログラムに従って、当該装置に係る機能を実現する。インタフェース装置1005は、ネットワークに接続するためのインタフェースとして用いられる。表示装置1006はプログラムによるGUI(Graphical User Interface)等を表示する。入力装置1007はキーボード及びマウス、ボタン、又はタッチパネル等で構成され、様々な操作指示を入力させるために用いられる。出力装置1008は演算結果を出力する。
(実施の形態のまとめ)
本明細書には、第1実施形態及び第2実施形態に対応して、少なくとも下記の各項に記載した装置、方法、及びプログラム等が記載されている。
<第1実施形態に対応する項>
(第1項)
複数の端末から送信されたデータを集約して受信側に送信する情報通信装置であって、
前記複数の端末から送信されるデータに関する情報に基づいて、前記データを保持するために使用されるメモリ領域の更新サイズを決定する第1レイヤで動作する決定手段と、
前記更新サイズ、及び、前記データの更新レートに基づいて、前記受信側との間での通信に必要な第2レイヤのネットワークパスの帯域の設定を行う設定手段と、
を備える情報通信装置。
(第2項)
前記決定手段は、前記複数の端末の数、及び各端末から前記更新レートで送信されるデータの量に基づいて、前記更新サイズを決定する
第1項に記載の情報通信装置。
(第3項)
前記決定手段は、前記メモリ領域として、前記更新サイズの少なくとも2倍のメモリ領域を確保する
第1項又は第2項に記載の情報通信装置。
(第4項)
前記ネットワークパスにおける通信をRDMAで行うRDMA通信手段
を更に備える第1項ないし第3項のうちいずれか1項に記載の情報通信装置。
(第5項)
前記RDMA通信手段は、前記受信側のノード装置から実行されるRDMA READオペレーションに基づいて、データ送信を行う
第4項に記載の情報通信装置。
(第6項)
前記受信側のノード装置において、前記情報通信装置から受信するデータの保持時間に応じて、複数の前記更新サイズのメモリ領域が確保され、前記RDMA通信手段は、前記受信側のノード装置におけるデータの格納先のメモリ領域をローテーションさせる
第4項又は第5項に記載の情報通信装置。
(第7項)
複数の端末から送信されたデータを集約して受信側に送信する情報通信装置において実行される情報通信方法であって、
前記複数の端末から送信されるデータに関する情報に基づいて、前記データを保持するために使用されるメモリ領域の更新サイズを決定する第1レイヤで動作する決定手段によるステップと、
前記更新サイズ、及び、前記データの更新レートに基づいて、前記受信側との間での通信に必要な第2レイヤのネットワークパスの帯域の設定を行うステップと、
を備える情報通信方法。
(第8項)
コンピュータを、第1項ないし第6項のうちいずれか1項に記載の情報通信装置における各手段として機能させるためのプログラム。
<第2実施形態に対応する項>
(第1項)
複数の端末から収集されたデータを受信し、当該データからイベント情報を生成し、生成したイベント情報をブローカ装置に送信する生成手段と、イベント情報毎に異なる複数のデータハブノード装置のうちの、前記生成手段により生成したイベント情報に対応するデータハブノード装置に対して、当該イベント情報に対応するデータを送信する送信手段と、を備えるイベント情報生成装置と、
特定のサービスに対応するイベント情報を前記ブローカ装置から取得する取得手段と、前記取得手段により取得したイベント情報に基づいて、当該イベント情報に対応するデータを格納するデータハブノード装置から当該データを取得し、当該データを用いた処理を実行する処理手段と、を備えるデータ処理装置と、
を備えるデータ処理システム。
(第2項)
前記イベント情報は、当該イベント情報に対応するデータを格納するメモリのアドレス情報を含む
第1項に記載のデータ処理システム。
(第3項)
前記生成手段は、前記収集されたデータに対する画像分析を実施することにより前記イベント情報を生成する
第1項又は第2項に記載のデータ処理システム。
(第4項)
前記イベント情報生成装置は、前記データハブノード装置に対してRDMAを用いてデータを送信し、前記データ処理装置は、前記データハブノード装置からRDMAを用いてデータを取得する
第1項ないし第3項のうちいずれか1項に記載のデータ処理システム。
(第5項)
複数の端末から収集されたデータを受信し、当該データからイベント情報を生成し、生成したイベント情報をブローカ装置に送信する生成手段と、イベント情報毎に異なる複数のデータハブノード装置のうちの、前記生成手段により生成したイベント情報に対応するデータハブノード装置に対して、当該イベント情報に対応するデータを送信する送信手段と、を備えるイベント情報生成装置と、
前記生成手段により生成した前記イベント情報に対応する前記データを受信する受信手段と、前記イベント情報を取得したデータ処理装置に対して、前記データを送信する送信手段と、を備えるデータハブノード装置と、
を備えるデータ提供システム。
(第6項)
複数の端末から収集されたデータを受信し、当該データからイベント情報を生成し、生成したイベント情報をブローカ装置に送信する生成手段と、
イベント情報毎に異なる複数のデータハブノード装置のうちの、前記生成手段により生成したイベント情報に対応するデータハブノード装置に対して、当該イベント情報に対応するデータを送信する送信手段と、
を備えるイベント情報生成装置。
(第7項)
特定のサービスに対応するイベント情報をブローカ装置から取得する取得手段と、
前記取得手段により取得したイベント情報に基づいて、当該イベント情報に対応するデータを格納するデータハブノード装置から当該データを取得し、当該データを用いた処理を実行する処理手段と、
を備えるデータ処理装置。
(第8項)
前記データ処理装置において、前記処理手段を構成するプロセッサのプールが備えられており、当該プール又は当該プールの一部がユーザに割り当てられる
第7項に記載のデータ処理装置。
(第9項)
イベント情報生成装置とデータ処理装置とを有するデータ処理システムにおいて実行されるデータ処理方法であって、
前記イベント情報生成装置が、複数の端末から収集されたデータを受信し、当該データからイベント情報を生成し、生成したイベント情報をブローカ装置に送信する生成ステップと、
前記イベント情報生成装置が、イベント情報毎に異なる複数のデータハブノード装置のうちの、前記生成ステップにより生成したイベント情報に対応するデータハブノード装置に対して、当該イベント情報に対応するデータを送信する送信ステップと、
前記データ処理装置が、特定のサービスに対応するイベント情報を前記ブローカ装置から取得する取得ステップと、
前記データ処理装置が、前記取得ステップにより取得したイベント情報に基づいて、当該イベント情報に対応するデータを格納するデータハブノード装置から当該データを取得し、当該データを用いた処理を実行する処理ステップと
を備えるデータ処理方法。
(第10項)
コンピュータを、第6項に記載のイベント情報生成装置における各手段として機能させるためのプログラム。
(第11項)
コンピュータを、第7項又は第8項に記載のデータ処理装置における各手段として機能させるためのプログラム。
以上、本実施の形態について説明したが、本発明はかかる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
LA ローカル集約ノード
RE 地域エッジノード
AP アプリノード
MB メッセージブローカノード
DB データハブノード
100 情報通信装置
110 データ送信部
120 制御部
130 RDMA通信部
200 情報通信装置
210 データ受信部
220 制御部
230 RDMA通信部
250 オペレーションシステム
300 光ネットワーク
400 エッジノード装置
410 データ送受信部
420 イベント情報生成部
430 RDMA通信部
440 制御部
500 メッセージブローカ装置
510 メッセージ受信部
520 メッセージ格納部
530 メッセージ配信部
600 データハブノード装置
610 データ送受信部
620 RDMA通信部
630 制御部
700 AIアプリノード装置
710 イベント情報処理部
720 データ処理部
730 RDMA通信部
740 制御部
1000 ドライブ装置
1001 記録媒体
1002 補助記憶装置
1003 メモリ装置
1004 CPU
1005 インタフェース装置
1006 表示装置
1007 入力装置
1008 出力装置

Claims (11)

  1. 端末から収集されたデータを受信し、当該データに対する分析を行い、分析結果に基づいて、イベント情報を生成し、生成したイベント情報をブローカ装置に送信する生成手段と、イベント情報毎に異なる複数のデータハブノード装置のうちの、前記生成手段により生成したイベント情報に対応するデータハブノード装置に対して、前記分析結果に基づいて当該イベント情報に対応づけられたデータを送信する送信手段と、を備えるイベント情報生成装置と、
    特定のサービスに対応するイベント情報を前記ブローカ装置から取得する取得手段と、前記取得手段により取得したイベント情報に基づいて、当該イベント情報に対応づけられたデータを格納するデータハブノード装置から当該データを取得し、当該データを用いた処理を実行する処理手段と、を備えるデータ処理装置と、
    を備えるデータ処理システム。
  2. 前記イベント情報は、当該イベント情報に対応するデータを格納するメモリのアドレス情報を含む
    請求項1に記載のデータ処理システム。
  3. 前記生成手段は、前記収集されたデータに対する画像分析を実施することにより前記イベント情報を生成する
    請求項1又は2に記載のデータ処理システム。
  4. 前記イベント情報生成装置は、前記データハブノード装置に対してRDMAを用いてデータを送信し、前記データ処理装置は、前記データハブノード装置からRDMAを用いてデータを取得する
    請求項1ないし3のうちいずれか1項に記載のデータ処理システム。
  5. 端末から収集されたデータを受信し、当該データに対する分析を行い、分析結果に基づいて、イベント情報を生成し、生成したイベント情報をブローカ装置に送信する生成手段と、イベント情報毎に異なる複数のデータハブノード装置のうちの、前記生成手段により生成したイベント情報に対応するデータハブノード装置に対して、前記分析結果に基づいて当該イベント情報に対応づけられたデータを送信する送信手段と、を備えるイベント情報生成装置と、
    前記生成手段により生成した前記イベント情報に対応づけられた前記データを受信する受信手段と、前記イベント情報を取得したデータ処理装置に対して、前記データを送信する送信手段と、を備えるデータハブノード装置と、
    を備えるデータ提供システム。
  6. 端末から収集されたデータを受信し、当該データに対する分析を行い、分析結果に基づいて、イベント情報を生成し、生成したイベント情報をブローカ装置に送信する生成手段と、
    イベント情報毎に異なる複数のデータハブノード装置のうちの、前記生成手段により生成したイベント情報に対応するデータハブノード装置に対して、前記分析結果に基づいて当該イベント情報に対応づけられたデータを送信する送信手段と、
    を備えるイベント情報生成装置。
  7. イベント情報生成装置とデータ処理装置とを備えるデータ処理システムにおける前記データ処理装置であって、
    前記イベント情報生成装置は、端末から収集されたデータを受信し、当該データに対する分析を行い、分析結果に基づいて、イベント情報を生成し、生成したイベント情報をブローカ装置に送信し、イベント情報毎に異なる複数のデータハブノード装置のうちの、前記生成したイベント情報に対応するデータハブノード装置に対して、前記分析結果に基づいて当該イベント情報に対応づけられたデータを送信し、
    特定のサービスに対応するイベント情報を前記ブローカ装置から取得する取得手段と、
    前記取得手段により取得したイベント情報に基づいて、当該イベント情報に対応づけられたデータを格納するデータハブノード装置から当該データを取得し、当該データを用いた処理を実行する処理手段と、
    を備えるデータ処理装置。
  8. 前記データ処理装置において、前記処理手段を構成するプロセッサのプールが備えられており、当該プール又は当該プールの一部がユーザに割り当てられる
    請求項7に記載のデータ処理装置。
  9. イベント情報生成装置とデータ処理装置とを有するデータ処理システムにおいて実行されるデータ処理方法であって、
    前記イベント情報生成装置が、端末から収集されたデータを受信し、当該データに対する分析を行い、分析結果に基づいて、イベント情報を生成し、生成したイベント情報をブローカ装置に送信する生成ステップと、
    前記イベント情報生成装置が、イベント情報毎に異なる複数のデータハブノード装置のうちの、前記生成ステップにより生成したイベント情報に対応するデータハブノード装置に対して、前記分析結果に基づいて当該イベント情報に対応づけられたデータを送信する送信ステップと、
    前記データ処理装置が、特定のサービスに対応するイベント情報を前記ブローカ装置から取得する取得ステップと、
    前記データ処理装置が、前記取得ステップにより取得したイベント情報に基づいて、当該イベント情報に対応づけられたデータを格納するデータハブノード装置から当該データを取得し、当該データを用いた処理を実行する処理ステップと
    を備えるデータ処理方法。
  10. コンピュータを、請求項6に記載のイベント情報生成装置における各手段として機能させるためのプログラム。
  11. コンピュータを、請求項7又は8に記載のデータ処理装置における各手段として機能させるためのプログラム。
JP2022513111A 2021-04-19 2021-04-19 データ処理システム、データ提供システム、イベント情報生成装置、データ処理装置、データ処理方法、及びプログラム Active JP7193035B1 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/015930 WO2022224322A1 (ja) 2021-04-19 2021-04-19 データ処理システム、データ提供システム、イベント情報生成装置、データ処理装置、データ処理方法、及びプログラム

Publications (2)

Publication Number Publication Date
JPWO2022224322A1 JPWO2022224322A1 (ja) 2022-10-27
JP7193035B1 true JP7193035B1 (ja) 2022-12-20

Family

ID=83723590

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022513111A Active JP7193035B1 (ja) 2021-04-19 2021-04-19 データ処理システム、データ提供システム、イベント情報生成装置、データ処理装置、データ処理方法、及びプログラム

Country Status (5)

Country Link
US (2) US12355848B2 (ja)
EP (1) EP4328757A4 (ja)
JP (1) JP7193035B1 (ja)
CN (1) CN117157633A (ja)
WO (1) WO2022224322A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118467457B (zh) * 2024-07-10 2024-10-18 深圳天海宸光科技有限公司 一种基于rdma的图片传输方法、装置、介质及设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009245321A (ja) * 2008-03-31 2009-10-22 Ntt Data Corp コンテクスト装置およびプログラム
JP2015525540A (ja) * 2012-06-13 2015-09-03 オール パーパス ネットワークス リミテッド ライアビリティ カンパニー 多目的ブロードバンドネットワークの方法及びシステム
JP2016503539A (ja) * 2012-11-07 2016-02-04 マイクロソフト テクノロジー ライセンシング,エルエルシー 論理センサー・プラットフォーム用の論理センサー・サーバー

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4408692B2 (ja) * 2003-12-19 2010-02-03 富士通株式会社 通信装置管理プログラム
US7571444B2 (en) * 2004-03-25 2009-08-04 International Business Machines Corporation Method, system and program product for managing events
US8244826B2 (en) * 2007-10-23 2012-08-14 International Business Machines Corporation Providing a memory region or memory window access notification on a system area network
US9520040B2 (en) * 2008-11-21 2016-12-13 Raytheon Company System and method for real-time 3-D object tracking and alerting via networked sensors
WO2016093553A1 (ko) * 2014-12-12 2016-06-16 서울대학교 산학협력단 이벤트 데이터를 수집하는 시스템, 이벤트 데이터를 수집하는 방법, 이벤트 데이터를 수집하는 서비스 서버 및 카메라
US11468053B2 (en) 2015-12-30 2022-10-11 Dropbox, Inc. Servicing queries of a hybrid event index
US10970270B2 (en) * 2018-05-07 2021-04-06 Microsoft Technology Licensing, Llc Unified data organization for multi-model distributed databases
US11520715B2 (en) * 2021-01-15 2022-12-06 Western Digital Technologies, Inc. Dynamic allocation of storage resources based on connection type

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009245321A (ja) * 2008-03-31 2009-10-22 Ntt Data Corp コンテクスト装置およびプログラム
JP2015525540A (ja) * 2012-06-13 2015-09-03 オール パーパス ネットワークス リミテッド ライアビリティ カンパニー 多目的ブロードバンドネットワークの方法及びシステム
JP2016503539A (ja) * 2012-11-07 2016-02-04 マイクロソフト テクノロジー ライセンシング,エルエルシー 論理センサー・プラットフォーム用の論理センサー・サーバー

Also Published As

Publication number Publication date
US12355848B2 (en) 2025-07-08
WO2022224322A1 (ja) 2022-10-27
CN117157633A (zh) 2023-12-01
EP4328757A4 (en) 2025-03-05
EP4328757A1 (en) 2024-02-28
JPWO2022224322A1 (ja) 2022-10-27
US20240205299A1 (en) 2024-06-20
US20250301046A1 (en) 2025-09-25

Similar Documents

Publication Publication Date Title
CN109428770B (zh) 用于管理网络统计计数器的方法及装置
US10642777B2 (en) System and method for maximizing bandwidth of PCI express peer-to-peer (P2P) connection
US20190245924A1 (en) Three-stage cost-efficient disaggregation for high-performance computation, high-capacity storage with online expansion flexibility
US9134909B2 (en) Multiple I/O request processing in a storage system
KR101665035B1 (ko) 서버 노드 상호 연결 디바이스 및 방법
CN109218355A (zh) 负载均衡引擎,客户端,分布式计算系统以及负载均衡方法
CN104954252B (zh) 在高性能、可扩展和无掉话的数据中心交换结构内的流控制
CN109076029A (zh) 用于网络i/o访问的技术
US20050210144A1 (en) Load balancing method and system
EP3361703B1 (en) Load balancing method, related device and system
US20250301046A1 (en) Data processing system, data processing method and storage medium
US9002969B2 (en) Distributed multimedia server system, multimedia information distribution method, and computer product
CN119493661A (zh) Cxl系统中的遥测和负载均衡
CN113742048A (zh) 一种酒店云服务系统及其服务方法
US11720413B2 (en) Systems and methods for virtualizing fabric-attached storage devices
CN106528308A (zh) 一种服务器传感器信息采集方法
US8677046B2 (en) Deadlock resolution in end-to-end credit protocol
CN120238447B (zh) 存储资源分配方法、装置、电子设备及存储介质
JP7666589B2 (ja) 情報通信装置、情報通信方法、及びプログラム
WO2014010189A1 (ja) プロキシ装置、通信システム、プログラム
US9182941B2 (en) Flow control with buffer reclamation
WO2016088371A1 (ja) 管理ノード、端末、通信システム、通信方法、および、プログラム記録媒体
KR20180107706A (ko) 계층적 네트워크에서 다중코어를 이용한 패킷 처리 방법 및 그 장치
Panda et al. InfiniBand
Sheelavant Evaluation of edge cloud service scenarios with application specific routing in the network

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220225

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20220225

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220607

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220808

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20221108

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221121

R150 Certificate of patent or registration of utility model

Ref document number: 7193035

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350