JP7483703B2 - 分散型コンピューティングのためのメッシュベースのイベントブローカー - Google Patents
分散型コンピューティングのためのメッシュベースのイベントブローカー Download PDFInfo
- Publication number
- JP7483703B2 JP7483703B2 JP2021526455A JP2021526455A JP7483703B2 JP 7483703 B2 JP7483703 B2 JP 7483703B2 JP 2021526455 A JP2021526455 A JP 2021526455A JP 2021526455 A JP2021526455 A JP 2021526455A JP 7483703 B2 JP7483703 B2 JP 7483703B2
- Authority
- JP
- Japan
- Prior art keywords
- event
- nodes
- mesh
- node
- catalog
- 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
Links
- 238000000034 method Methods 0.000 claims description 68
- 230000004044 response Effects 0.000 claims description 31
- 238000003860 storage Methods 0.000 claims description 27
- 230000015654 memory Effects 0.000 claims description 26
- 230000003416 augmentation Effects 0.000 claims description 15
- 230000005540 biological transmission Effects 0.000 claims description 13
- 238000001914 filtration Methods 0.000 claims description 9
- 230000009466 transformation Effects 0.000 claims description 9
- 238000005206 flow analysis Methods 0.000 claims 3
- 238000005192 partition Methods 0.000 description 41
- 239000003795 chemical substances by application Substances 0.000 description 37
- 238000004891 communication Methods 0.000 description 32
- 238000000638 solvent extraction Methods 0.000 description 29
- 230000009471 action Effects 0.000 description 26
- 230000006870 function Effects 0.000 description 21
- 230000008569 process Effects 0.000 description 18
- 230000018109 developmental process Effects 0.000 description 16
- 238000004458 analytical method Methods 0.000 description 15
- 238000011161 development Methods 0.000 description 15
- 238000012545 processing Methods 0.000 description 13
- 238000005516 engineering process Methods 0.000 description 10
- 238000007726 management method Methods 0.000 description 10
- 239000008186 active pharmaceutical agent Substances 0.000 description 8
- 230000010354 integration Effects 0.000 description 8
- 238000012384 transportation and delivery Methods 0.000 description 8
- 230000008878 coupling Effects 0.000 description 7
- 238000010168 coupling process Methods 0.000 description 7
- 238000005859 coupling reaction Methods 0.000 description 7
- 230000000007 visual effect Effects 0.000 description 7
- 230000027455 binding Effects 0.000 description 6
- 238000009739 binding Methods 0.000 description 6
- 238000001514 detection method Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000004519 manufacturing process Methods 0.000 description 5
- 238000012546 transfer Methods 0.000 description 5
- 238000009434 installation Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000005057 refrigeration Methods 0.000 description 4
- 230000003068 static effect Effects 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 230000001133 acceleration Effects 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000000875 corresponding effect Effects 0.000 description 3
- 239000007789 gas Substances 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000033001 locomotion Effects 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000012800 visualization Methods 0.000 description 3
- 241000282412 Homo Species 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000001276 controlling effect Effects 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 230000005291 magnetic effect Effects 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 230000001052 transient effect Effects 0.000 description 2
- HRANPRDGABOKNQ-ORGXEYTDSA-N (1r,3r,3as,3br,7ar,8as,8bs,8cs,10as)-1-acetyl-5-chloro-3-hydroxy-8b,10a-dimethyl-7-oxo-1,2,3,3a,3b,7,7a,8,8a,8b,8c,9,10,10a-tetradecahydrocyclopenta[a]cyclopropa[g]phenanthren-1-yl acetate Chemical compound C1=C(Cl)C2=CC(=O)[C@@H]3C[C@@H]3[C@]2(C)[C@@H]2[C@@H]1[C@@H]1[C@H](O)C[C@@](C(C)=O)(OC(=O)C)[C@@]1(C)CC2 HRANPRDGABOKNQ-ORGXEYTDSA-N 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009118 appropriate response Effects 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000003542 behavioural effect Effects 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000036772 blood pressure Effects 0.000 description 1
- 230000036760 body temperature Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000013481 data capture Methods 0.000 description 1
- 238000013079 data visualisation Methods 0.000 description 1
- 238000005553 drilling Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 239000003344 environmental pollutant Substances 0.000 description 1
- 238000011985 exploratory data analysis Methods 0.000 description 1
- 230000008921 facial expression Effects 0.000 description 1
- 230000037406 food intake Effects 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000012010 growth Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000007620 mathematical function Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000008450 motivation Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000013439 planning Methods 0.000 description 1
- 231100000719 pollutant Toxicity 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000008261 resistance mechanism Effects 0.000 description 1
- 230000004043 responsiveness Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 210000001525 retina Anatomy 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 210000004243 sweat Anatomy 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000033772 system development Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
- H04L45/123—Evaluation of link metrics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0806—Configuration setting for initial configuration or provisioning, e.g. plug-and-play
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/302—Route determination based on requested QoS
- H04L45/306—Route determination based on the nature of the carried application
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Multimedia (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
- Multi Processors (AREA)
- Stored Programmes (AREA)
Description
この文脈における「搬送波信号(Carrier Signal)」とは、機械(machine)により実行するための命令を格納、符号化または搬送することが可能な任意の無形媒体をいい、当該命令の通信を可能にするためのデジタルもしくはアナログの通信信号または他の無形媒体を含む。命令は、ネットワークインターフェースを介して伝送媒体を使用してネットワークで送受信されてもよい。
分割(PARTITIONING)
「アプリケーション分割(application partitioning)」という用語は、アプリケーションロジックをネットワーク内の2以上のコンピュータに分散するアプリケーション開発プロセスをいう。最も単純なケースでは、アプリケーションは、リモートサービスとして1台のPC上で動作し、実行するためのタスク要求をサーバに送信する。より高度なケースでは、アプリケーションロジックは、数台のサーバに分散することができる。
イベント駆動型アーキテクチャ(EDA : event-driven architecture)とは、イベントの発生、検出、消費およびイベントに対する反応に基づくソフトウェアアーキテクチャである。イベントは、技術的観点からは状態の変化とみなされ、それに応答してイベント通知が発生される。イベント通知は、イベント通知の伝送をトリガした状態変化の通知である。EDAは、イベント通知を疎結合ソフトウェア構成要素およびサービス間で伝送するアプリケーションおよびシステムによって実装されてもよい。EDAは、イベントトランスミッタ、イベントコンシューマ、およびイベントチャネルを含んでもよい。あるEDAは、イベントブローカーを採用することがあり、当該イベントブローカーは、イベントを取得および配信する中央メディエータ(centralized mediators)として使用される。メディエータは、分散型コンピューティング環境内の単一の論理ノードに常駐するプロセスとしてもよい。イベント通知(またはメッセージ)がメディエータに送信され、拡張されてから、メディエータを介してイベントコンシューマ(event consumer)(例えば、イベントサブスクライバ(event subscriber))に配信される。このアプローチは、レガシーアーキテクチャに基づいており、最初にメッセージブローカーで始めてから、後でイベントブローカーによって採用される。
いくつかの例示的な実施形態によると、イベント駆動型アプリケーションは、応答性、ロバストネスおよびセキュリティを改善するために、分散されるようにデプロイしてもよい。本明細書で説明されるとき、イベント駆動型アプリケーションは、1つのクラウドロケーションで開発されてから、自動的に分割されてもよく、その結果、アプリケーションの構成要素は、ノードがクラウドホスト型か、データセンターホスト型か、エッジのインテリジェントデバイスか、またはそれらの組合せかどうかを問わず、実行のために最適なノードに分散されることになる。ロジックは、それが最も効果的なところに配置される。星型、階層型およびピアツーピア型などの広範囲のシステムトポロジがサポートされる。これらのネットワークのプロビジョニングと管理は、自動化されて、本明細書で説明するサービスとしてのプラットフォーム(PaaS)100のインテリジェント機能によって管理される。アプリケーション構成要素は、システムが動作している間、何千または何万のノードのための分散型環境のどこでも動的に変更することができる。
・入力は、例えば長期間かけて、多数のセンサから受信する。センサは、例えば、物理的センサ、他のエンタープライズシステムによって生成されるデータストリームまたは公開データストリームとしてもよい。
・センサデータを分析して、情報およびコンテキストからなるイベントを発生させ、それに対して自動化、推奨(recommendation)および協調の決定が行われる。追加のコンテキストを他のシステムから抽出して、センサデータを拡張してもよい。
・イベントは、リアルタイムで評価して、取る必要のあるアクションを決定する。例えば、リアルタイム評価を行うために、個別的ルールおよび機械学習戦略のうちの少なくとも一方を使用してもよい。
・アクションを、実施を担当するシステムに伝送するか、または担当者によって人間と機械の協調を開始し、現状に対して最も適切な応答を決定する。
・センサの生データから導出されるロケーション、加速度、音声、映像および行動パターンを含むセンサデータをホストする携帯機器
・腕時計、活動量計、ヘルスモニタ、音声および映像ヘッドセットなどのウェアラブルデバイス
・産業機械、陸上および航空輸送機関、家電、ならびに感知と制御のうちの少なくとも一方ができる任意の機械的または電子的機器を含む機械。例えば、様々な破砕点(crush points)を有しうる物体にかかる圧力を変えるために圧力センサを装備されているロボットのマニピュレータを想像されたい。
・数多くデプロイされる独立型センサ。例えば、作物の成長率を最大化しながら、水消費量を最小化するために、農場中に分散される水分センサ。
・センサデータと考えることができるものを大量に生成する映像および音声フィード。認識ソフトウェアを使用して映像が表すものを決定し、映像をより個別的なイベントに翻訳して、自動化の決定がそれに依存できるようにする。
・トランザクションのストリームを生成する既存のエンタープライズアプリケーション。
分析中に検出されうるイベントまたは状況の例には、単なる例として、以下のものが含まれる。
・高温または低速などの条件があり予想通りに機能していない機器。
・店舗または施設内の関心のある場所に到着した顧客。例えば、顧客がレジまたは特定の商品ディスプレイのところに立っている。
・ユーザが安全ではないエリアにいて、助けが必要である。
・製品管理の注意を要する注文の配送が変更された。
・コンシューマの現在の状況に基づいて、コンシューマに関連のある応答を与えること(例えば、セール中のアイテム、施設の地図、緊急時対応の推奨)。
・異常な状態に対してインテリジェントに応答すること(例えば、弁を閉じる、スプリンクラーをオンにする、誤作動するロボットを停止する)。
・現在の状況に基づいて、機会/問題をスタッフに早めに警告すること(例えば、利用可能な追加の配送トラック、サプライチェーンの一部の不足)。
・生産性と顧客満足度とのうちの少なくとも一方を上げるために、ユーザまたはビジネスリソースを最適化すること(例えば、組立ラインのスピードアップ、スポーツ参加者に自家用車までの最短経路を知らせる)。
・データストリームが、根本原因を一意に明らかにして最善なアクションの方針を決定するには十分ではない例外状況。
・オペレーションチームが、システムには入手できない追加情報を知りうる立場にある状況。
・システムの側に、オンラインで制御できない手動アクションを取らなければならない状況。
・アクションを行えるようになる前に、ポリシーまたは規制により、より徹底的な状況分析が要求される状況。
図1は、説明される技術の例示的な実施形態をデプロイしてもよいサービスとしてのプラットフォーム(PaaS)100の高レベルの機能性を示すブロック図である。サービスとしてのプラットフォーム(PaaS)100は、リアルタイムのビジネスアプリケーションの開発、デプロイメントおよび動作をサポートするように設計され、構築される。具体的には、サービスとしてのプラットフォーム(PaaS)100は、開発者ポータル102を含み、それを使用して開発者は、イベント駆動型アプリケーション104を開発し、これをさらに分散型ランタイムノード106にデプロイする。システムモニタ108は、分散型ランタイムノード(distributed run-time nodes)106上のイベント駆動型アプリケーション104の動作を監視し、開発者がイベント駆動型アプリケーション104を進化させることができるように、開発者ポータル102にフィードバックをする。
図2は、いくつかの例示的な実施形態による、サービスとしてのプラットフォーム(PaaS)100のイベント駆動型アプリケーション104のアーキテクチャ200に関するさらなる詳細を示すブロック図である。
1.データ取得:IoTおよびエンタープライズソースからデータを取得し、データをフィルタリングして、それを自動決定エンジンに利用できるようにする技術。
2.イベントおよび状況分析:データをリアルタイムで分析し、その結果に基づいて決定を行う決定エンジン。
3.アクション:制御情報をデバイスに送信し、自動化ソリューションによって行うその後のアクションに関する決定または推奨を外部システムおよびユーザに通知するための技術。複雑な状況に対する最適な応答を引き出すために、自動化システムと担当者との協調を管理する技術。
・プッシュおよびプル(push and pull)の両モデル
・同期モデルおよび非同期モデル
・RPC(Remote Procedure Call : 遠隔手続き呼出し)、ならびに蓄積交換式メッセージングシステム
・ソースは、文書化された指定フォーマットをマッチングしてデータを送信する選択をしてもよく、またはPaaS100にネイティブソースフォーマットを受け入れさせて、フィルタリングシステムを使用してそれを内部処理用に適切なフォーマットに変換する選択をすることができる。
・複数のストリームからのデータを、状況分析を助けるために相関付けることができる。開発者は、SQLから導出される単純なドメイン固有言語を使用して、あるストリームで検出されたイベントを別のストリームのイベントの前か後にこなければならない、または両方のイベントがどちらの順序で起こっても特定の時間枠内に生じなければならないと指定する。イベントが起こらない場合でも、一般的なエラーインジケータを単純なやり方で指定することができる。複雑な条件の指定を単純にするイベント制約をどのレベルにも構成することができる。例えば、自動化システムは、機械的デバイスの2つのセンサストリームを監視してもよく、第1のストリームが速度を報告し、第2のものが位置を報告する。自動化システムがデバイスに停止要求を送る場合、第1センサで読み取られるデバイスの速度がゼロになり、速度ゼロの読み取りが確認されたら、デバイスの位置は変わらないままであることが確認されると予想する。速度ゼロになった「後」の位置変化が報告された場合、警告が発せられる。また、速度ゼロが報告されてから30秒以内に位置が報告され「なけれ」ば、デバイス制御システムの故障の可能性を示す警告が発せられる。
・あるストリーミングデータは、即座に処理されるか、または短時間のみ保持されて、時系列構造を促進する一方、他のデータは、より長期間維持されなければならない長期的な時系列または履歴データを表してもよい。PaaS100は、連続データおよび集合データをその一時的および永続的形式の両方で表すために使用される抽象化を一元化することによって、一時的および永続的データの両方の使用を単純にする。
・データは、ルールの個別的な集合体により、または機械学習システムによって生成されるアルゴリズムにより分析され、その後アプリケーションに統合される。
・データをSQLベースのドメイン固有言語を使用して分散型トポロジの他のノードに転送し、分散型環境全体でリアルタイム処理を容易にサポートするための完全なサービスセットが利用できる。
協調ルール212は、人間のユーザとサービスとしてのプラットフォーム(PaaS)100の構成要素との間に、人間と機械との協調を実施するために使用される。協調ルール212は、人間のユーザとサービスとしてのプラットフォーム(PaaS)100内の機械とが、状況に応じて、できるだけ独立してまたは協調的に働き、互いの要求を調整することを可能にすることを図る(例えば、システムが反応しているときに人間のユーザが動作(operations)を駆動する(drives)、またはユーザが反応しているときにシステムが動作を駆動する)。
・通知-SMS、EMAIL、プッシュ通知およびメッセージングシステムを介して通知および応答を処理する。
・アサイン-タスクへのユーザのアサインをネゴシエートする。
・ロケーション追跡-ユーザが指定目的地に到着するとき、およびその目的地に向かって移動中のユーザの現在のロケーションを知るタスクを大幅に簡素化する。
・会話-サードパーティメッセージングシステムによりユーザ間の会話を媒介する。
・エスカレーション-タスク完了の重大な遅延に応答する。
サービスとしてのプラットフォーム(PaaS)100は、分散型および連合型のトポロジの一般的モデルをサポートする。分散型アプリケーション(例えば、イベント駆動型アプリケーション104)は、各ノードが設備(installation)を表す2以上のノードからなってもよい。設備は、1つのサービスインスタンスまたはサービスインスタンスのクラスタを含むことができる。設備がメッセージ交換を望む少なくとも1つの「ピア」ノードを設備が宣言すると、設備は、分散型トポロジにアセンブルされる。
・星型-1つの親ノードと任意の数の子ノードとからなる。
・木型-根ノードと任意の数の子ノードとからなり、各子ノードが任意の数の子ノードの親として機能してもよい。
図3は、一例示的な実施形態による、イベント駆動型アプリケーション104のデプロイメント300を示す図表示である。具体的には、サービスとしてのプラットフォーム(PaaS)100はデプロイメントマネージャ304を含み、これが、分散型コンピューティング環境216などのターゲット環境へのイベント駆動型アプリケーション104のデプロイメントを操作管理する。図3は、デプロイメントマネージャ304が動作しているノードから直接的または間接的のいずれかで到達可能な多数のノードからなるものとして、分散型コンピューティング環境216を示している。分散型コンピューティング環境216内の物理ノードは、ノードセットに組織化してもよく、そこで、ノードセットについて確立された基準を満たす記述的特性を有することに基づいて、ノードは、特定のノードセットのメンバーとなる。
図4は、いくつかの例示的な実施形態によるデプロイメント環境400のさらなる詳細を示すブロック図である。デプロイメント環境400は、デプロイメントマネージャ304を含み、これは、プロジェクト(例えば、プロジェクト404、プロジェクト408およびプロジェクト412)のデプロイメントに集中することにより、開発者の開発タスクを簡素化するように作動する。
・デフォルトパーティションの自動作成および各パーティションへ開発アーチファクトをアサインすること。
・ターゲット環境340で定義されるノードへパーティションを自動的にアサインすること。
・ユーザによる設定338、環境340およびデプロイメント342のカスタマイズを可能にすること。
・プロジェクトをデプロイし、デプロイメント作業のステータスを視覚化すること。
・CLIを介して、デプロイメント作業をスクリプトツールおよび自動化ツールに利用できるようにすること。
設定(CONFIGURATIONS)
設定338は、設定の一部であるアーチファクトのマニフェストと、それがデプロイされるパーティションの定義とを含む。設定は、1つのパーティションとそのパーティションにアサインされるアーチファクトとを定義してもよい。プロジェクトは、1つまたは複数の設定を含んでもよく、各設定が一意のパーティションにデプロイされるアーチファクトを記述する。アーチファクトは、2以上の設定のメンバーとしてもよい。設定は、そのマニフェストに他の設定を含んでもよい。このような場合、子設定(child configuration)は、パーティションにデプロイされてもよく、さらにその後、子設定は、デプロイメントマネージャを使用して、ターゲットパーティションにアサインされるノードにデプロイされる。
設定338に含まれ、パーティションに配置されるアーチファクトは、以下のものを含む。
・ルール
・ソース
・タイプ
・プロシージャ
・トピック
・ビジュアルルール
・設定
・クライアント
・RCS要求
・RCSペイロード
・協調タイプ
アプリケーションおよび協調は設定338に含まれるが、これらは、より根本的な、分割可能なルールおよびプロシージャから構成される。
環境340の各々は、環境のメンバーであるノードセットを列挙する。ノードは、環境が定義されるプロジェクトのメンバーであってもよい。
デプロイメントは、プロジェクトを環境にデプロイする目的で、開発プロジェクトと環境との間のバインディングを特定する。デプロイメントに適用されるデプロイメント動作の結果は、プロジェクトの設定が環境内で定義されるノードにデプロイされるというアーチファクトである。
具体的にプロジェクト(例えば、プロジェクト404、プロジェクト408、またはプロジェクト412)に移ると、各プロジェクトは、名前空間内で定義されるアーチファクトのサブセットを含む。したがって、プロジェクトは、デプロイ可能な機能性の単位を表し、これは、略式にはアプリケーションまたはサービスとして示されることがある。アプリケーションとサービスとの区別に関して、アプリケーションは、そのようなイベントストリームが外部システム(例えば、MQTTキュー)によって発生されるか、またはユーザイベントを介してユーザによって発生されるかに関係なく、インバウンドイベントストリーム(inbound event stream)を作動的に受け入れてもよい。他方で、サービスは、RESTインターフェースを介して配信される、またはスクリプトによって直接呼び出されることにより配信される呼出し要求に応答する。サービスは、独立してデプロイされ、透明性をもって管理されるため、「マイクロサービス(micro-services)」と考えてもよい。図4に図示されるように、プロジェクトは、デプロイメントの単位でもあり、デプロイメントの結果は、インバウンド要求に対して実行するアクティブなアプリケーションまたはサービスとなる。
上で述べたように、デプロイメントマネージャ304は、設定338(設定エディタ418構成要素を使用して)、環境340(環境エディタ420構成要素を使用して)、およびデプロイメント342(デプロイメントエディタ422構成要素を使用して)を視覚化および編集するためのグラフィカル環境402(またはビジュアルエディタ)を開発者に与える。
・イベント構成要素704
・ソース構成要素706
・ルール構成要素708
・プロシージャ構成要素710、および
・タイプ構成要素712。
分割システム416で行われるような分割プロセス920は、いくつかの例示的な実施形態において、イベント駆動型アプリケーション104の構成要素が分散型コンピューティング環境216内のノードに割り当てられる記法に基づくので、イベント駆動型アプリケーション104の正当性を確保するとともに、イベント駆動型アプリケーション104のパフォーマンスおよび可用性を最適化する。しかし、アプリケーション開発プロセス中に特定のノードにアサインすることは難しい。その理由は、開発者が、アプリケーション開発中にはターゲット分散型コンピューティング環境216の最終的なトポロジの抽象観(abstract view)しかもたないことがあるからである。この技術的な課題に対処するため、分割プロセス920および分割システム416は、いくつかの例示的な実施形態では、特定のノードセットに関連付けられているプロパティを示す1つまたは複数のノードを表すノードセットを特定することにより、分散型コンピューティング技術の抽象モデルを定義する。開発者が、冷蔵ユニットに関連付けられる計算リソース(例えば、計算ノード)がIoTアプリケーション内に存在することはわかっているが、多数の当該ノート(a number of such notes)、そのロケーションおよびアイデンティティ(identities)は、デプロイメントプロセス(動作914)の後半まで、さらにイベント駆動型アプリケーション104の構成要素の計算リソースへの割当てが完了してからずっと後になるまで不明なままである場合の例を考えてみる。いくつかの例示的な実施形態による分割システム416および分割プロセス920は、宣言型モデルをサポートすることによりこれらのアサインを抽象化し、そこで開発者は、計算リソースが満たさなければならない論理的な制約を指定することにより、構成要素への参照を指定する。論理的な制約は、その後でノードセットとして正式なものとされ、これは、最終デプロイメントトポロジに1つまたは複数のノードを含んでもよい。冷蔵ユニットの例に戻ると、冷蔵ユニットに関連付けられる計算リソースは、例えば、処理制約によって以下のように指定してもよい。
アプリケーション分析
特に分割プロセス920を参照すると、動作1000で、ソースコードアナライザ720は、検出および構成要素アサイン作業のノードセットの準備のために、イベント駆動型アプリケーション104を分析する。
決定動作1010で、ソースコードアナライザ720は、アプリケーションのソースコード内に、リモート参照を含む別のステートメントがあるかどうかを判定する。あれば、動作1000は動作1004に戻る。他方で、決定動作1010で、プロセスへのリモート参照を含む別のステートメントがないと判定されれば、動作1000は動作1012に進み、ソースコードアナライザ720は、イベント駆動型アプリケーションの構成要素間の依存関係を特定するように作動する。
図9に戻ると、動作902で、分割システム416のソースコードアナライザ720はノードセットの特定に進む。
図11は、分散型コンピューティング環境1100の図表示であり、イベントプロデューサ1102、メッシュイベントブローカー1200、ローカルイベントコンシューマ(local event consumers)1104、イベントコンソリデーター(event consolidators)1108、および外部イベントコンシューマ1106を含む。メッシュエージェント(例えば、メッシュエージェント1112~メッシュエージェント1120)は、乱れた分散型コンピューティング環境1100とともにこれらのプロデューサおよびコンシューマ構成要素のそれぞれに関連付けられていて、これらの隣に常駐する。メッシュエージェントは、メッシュイベントブローカー1200の実装を担い、したがって、図11に図示されるように、概念的にはメッシュイベントブローカー1200の一部として考えられるはずである。このように、各メッシュエージェントは、事実上独立型イベントブローカーとして機能しても、またはメッシュイベントブローカー1200をともに構成するエージェントの集合体の一部として機能してもよい。
図13は、いくつかの例示的な実施形態による、分散型コンピューティング環境内で各イベントコンシューマについてルーティングルール1206を実施するために、イベントルータ1214によって行われる方法1300を示すフローチャートである。方法1300は動作1302から始まり、イベントルータ1214がプロデューサ/コンシューマカタログ1204内の関連サブスクライバを検索して、関連サブスクライバが常駐する分散型コンピューティング環境内のノードを決定することにより、イベントメッシュ内で、評価対象のコンシューマに関連付けられているサブスクライバを突き止める。
図14は、プロデューサからコンシューマへの(決定動作1312で直接接続されないと評価される)中間経路を決定するための動作1400の下位動作を示すフローチャートである。
決定動作1404で、イベントルータ1214は、コンシューマおよびプロデューサの両方に直接接続している中間ノードが存在するかどうかを判定する。存在すれば、決定動作1404での肯定判定後、動作1408で、イベントルータ1214は、プロデューサから中間ノードへ、および中間ノードからコンシューマへのイベント通知の伝送の接続性コストが、接続性カタログ1202に反映されるコスト情報に基づいて最低コストになるノード(またはノードセット)を選択する。
動作1500は決定動作1502で始まり、イベントルータ1214がイベントコンシューマとの低コストリンクを有し、イベントにサブスクライブされるコンソリデーター(例えば、中間ノード)が存在するかどうかを判定する。存在する場合、決定動作1502での肯定判定後、動作1504で、サブスクライブされるコンソリデーターがイベントルータ1214によってプロビジョニングされて、関連イベントをイベントコンシューマに転送する。
動作1506で、関連イベントにサブスクライブされるコンシューマのセットを、イベントルータ1214がプロデューサ/コンシューマカタログ1204を探索して取得する。さらに、動作1506で、特定されたコンシューマセットを検査(または評価)して、メッシュネットワークのコンテキスト内で、現在評価されているコンシューマ(すなわち、評価対象のコンシューマN)に近いイベントコンシューマを特定する。決定動作1508で、イベントにサブスクライブされる各コンシューマを評価してもよい。具体的には、動作1506で特定されたセット内の各コンシューマを、決定動作1508で評価して、評価対象のコンシューマNとの接続性コストの低い(例えば、コスト閾値を下回る)少なくとも1つの追加コンシューマがいるかどうかを判定し、この低コストコンシューマのセットが低コストコンシューマセットとして指定される。
1.ロケーション制約を有する拡張をプロデューサが有する場合、拡張は、指定されるノードにアサインされる。
2.ロケーション制約のない関連付けられる拡張をプロデューサが有する場合、それが特定されて、プロデューサが常駐するノードにアサインされる。
3.ロケーション制約を有する拡張をサブスクライバが有する場合、拡張は、指定されるノードにアサインされる。
4.関連付けられている拡張をサブスクライバが有する場合、それが特定されて、サブスクライバが常駐する同じノードにアサインされる。
図19は、本明細書で説明するデバイスの任意の1つまたは複数にインストールすることのできるソフトウェアアーキテクチャ1904を示すブロック図1900である。ソフトウェアアーキテクチャ1904は、プロセッサ1920、メモリ1926およびI/O構成要素1938を含む機械1902などのハードウェアによってサポートされる。この実施例では、ソフトウェアアーキテクチャ1904は、層のスタックとして概念化することができ、各層が特定の機能性を提供する。ソフトウェアアーキテクチャ1904は、オペレーティングシステム1912、ライブラリ1910、フレームワーク1908、およびアプリケーション1906などの層を含む。作動上、アプリケーション1906は、ソフトウェアスタックを通してAPIコール1950を呼び出し、APIコール1950に応答してメッセージ1952を受信する。
1.分散型コンピューティング環境内のイベント駆動型アプリケーション構成要素のイベントを、メッシュブローカーを使用して仲介する方法であって、
前記方法は、
分散型コンピューティング環境内の複数の計算ノードに関わるメディエーション作業をサポートするためにプロビジョニングされる複数のメッシュエージェントとしてメッシュブローカーをインスタンス化することと、
分散型コンピューティング環境の複数の計算ノード間のメッシュネットワークとして、複数のメッシュエージェントをデプロイすることと、
複数の計算ノードの複数の計算ノードペアの各々の間におけるイベント通知の伝送に関連するコストデータを格納する接続性カタログを維持することと、
複数のメッシュエージェントを使用して、メッシュネットワークでの経路を自動的に選択することと、を備える。自動的な選択は、メッシュネットワークでの低コスト経路を決定するためにコストデータを使用することを含む。
3.メディエーション作業は、メッシュネットワーク内のイベントに適用される少なくとも1つの変換、フィルタリング、相関付け、コンテキスト化および分析を含む、前述のステートメントのいずれか1つまたは複数の方法。
プロセッサと、
複数の命令を格納するメモリと、を備え、
プロセッサによって実行されたときに、複数の命令は、
分散型コンピューティング環境内の複数の計算ノードに関わるメディエーション作業をサポートするためにプロビジョニングされる複数のメッシュエージェントとして、メッシュブローカーをインスタンス化することと、
分散型コンピューティング環境の複数の計算ノード間にメッシュネットワークとして複数のメッシュエージェントをデプロイすることと、
複数の計算ノードの複数の計算ノードペアの各々の間におけるイベント通知の伝送に関連するコストデータを格納する接続性カタログを維持することと、
複数のメッシュエージェントを使用して、メッシュネットワークでの経路を自動的に選択することと、を実行させるように前記装置を設定する。自動的な選択は、メッシュネットワークでの低コスト経路を決定するためにコストデータを使用することを含む。
コンピュータによって実行されたときに、複数の命令は、コンピュータに、
分散型コンピューティング環境内の複数の計算ノードに関わるメディエーション作業をサポートするためにプロビジョニングされる複数のメッシュエージェントとしてメッシュブローカーをインスタンス化することと、
分散型コンピューティング環境の複数の計算ノード間にメッシュネットワークとして複数のメッシュエージェントをデプロイすることと、
複数の計算ノードの複数の計算ノードペアの各々の間におけるイベント通知の伝送に関連するコストデータを格納する接続性カタログを維持することと、
複数のメッシュエージェントを使用して、メッシュネットワークでの経路を自動的に選択することと、を実行させる。自動的な選択は、メッシュネットワークでの低コスト経路を決定するためにコストデータを使用することを含む。
Claims (20)
- 分散型コンピューティング環境内のイベント駆動型アプリケーション構成要素のイベントをメッシュブローカーを使用して仲介する方法であって、
前記分散型コンピューティング環境内のイベント通知の拡張をサポートする複数のメッシュエージェントとして、前記メッシュブローカーをインスタンス化すること、
前記分散型コンピューティング環境の複数の計算ノード間にメッシュネットワークとして前記複数のメッシュエージェントをデプロイすること、
前記メッシュネットワーク内で、イベントコンシューマ計算ノードに伝送するべき、前記複数の計算ノードのうちのイベントプロデューサ計算ノードでのイベントを検出すること、
前記イベントの検出に応答して、前記イベントプロデューサ計算ノードで前記イベント通知を生成すること、
前記複数の計算ノードの複数対の計算ノードの各対の計算ノード間のイベント通知の伝送に関連するコストデータを格納する接続性カタログを維持すること、
前記複数のメッシュエージェントを使用して、前記メッシュネットワークにおける複数の経路を自動的に選択することであって、前記コストデータを用いて前記メッシュネットワークにおける複数の低コスト経路を決定することを含む前記複数の経路を自動的に選択すること、
拡張プロビジョニングルールを使用して、前記複数の低コスト経路のうちの選択された経路に沿ってノードを選択すること、
前記選択されたノードにおいて前記拡張を前記イベント通知に適用して拡張されたイベント通知を生成すること、
前記選択された経路を介して前記拡張されたイベント通知を前記イベントコンシューマ計算ノードに配信すること、を備える方法。 - 前記複数のメッシュエージェントは、前記複数の計算ノード間に部分的なメッシュネットワークとして分散される、請求項1に記載の方法。
- 前記拡張は、少なくとも変換、フィルタリング、相関付け、コンテキスト化、およびイベントトラフィックフロー分析のうちの1つである、請求項1に記載の方法。
- 前記拡張を適用する際の制約を示す拡張制約を備える拡張データを取得することをさらに備え、
前記拡張を適用するために前記選択された経路に沿って前記ノードを選択することは、前記選択されたノードが前記制約を満たすと判断することをさらに含む、請求項1に記載の方法。 - コンピューティング装置であって、
プロセッサと、
複数の命令を格納するメモリと、を備え、
前記プロセッサによって実行されたときに、前記複数の命令は、
分散型コンピューティング環境内のイベント通知の拡張をサポートする複数のメッシュエージェントとして、メッシュブローカーをインスタンス化すること、
前記分散型コンピューティング環境の複数の計算ノード間にメッシュネットワークとして前記複数のメッシュエージェントをデプロイすること、
前記メッシュネットワーク内で、イベントコンシューマ計算ノードに伝送するべき、前記複数の計算ノードのうちのイベントプロデューサ計算ノードでのイベントを検出すること、
前記イベントの検出に応答して、前記イベントプロデューサ計算ノードで前記イベント通知を生成すること、
前記複数の計算ノードの複数対の計算ノードの各対の計算ノード間のイベント通知の伝送に関連するコストデータを格納する接続性カタログを維持すること、
前記複数のメッシュエージェントを使用して、前記メッシュネットワークにおける複数の経路を自動的に選択することであって、前記コストデータを用いて前記メッシュネットワークにおける複数の低コスト経路を自動的に決定することを含む前記複数の経路を自動的に選択すること、
拡張プロビジョニングルールを使用して、前記複数の低コスト経路のうちの選択された経路に沿ってノードを選択すること、
前記選択されたノードにおいて前記拡張を前記イベント通知に適用して拡張されたイベント通知を生成すること、
前記選択された経路を介して前記拡張されたイベント通知を前記イベントコンシューマ計算ノードに配信すること、を実行させるように前記コンピューティング装置を設定する、コンピューティング装置。 - 前記複数のメッシュエージェントが、前記複数の計算ノード間に部分的なメッシュネットワークとして分散される、請求項5に記載のコンピューティング装置。
- 前記拡張は、前記メッシュネットワーク内のイベントに適用される少なくとも変換、フィルタ、相関付け、コンテキスト化、およびイベントトラフィックフロー分析のうちの1つである、請求項5に記載のコンピューティング装置。
- 前記拡張を適用する際の制約を示す拡張制約を備える拡張データを取得することをさらに備え、
前記拡張を適用するために前記選択された経路に沿って前記ノードを選択することは、前記選択されたノードが前記制約を満たすと判断することをさらに含む、請求項5に記載のコンピューティング装置。 - 複数の命令を含むコンピュータ可読記憶媒体であって、
コンピュータによって実行されたときに、前記複数の命令は、
分散型コンピューティング環境内のイベント通知の拡張をサポートするように構成された複数のメッシュエージェントとしてメッシュブローカーをインスタンス化すること、
前記分散型コンピューティング環境の複数の計算ノード間にメッシュネットワークとして前記複数のメッシュエージェントをデプロイすること、
前記メッシュネットワーク内で、イベントコンシューマ計算ノードに伝送するべき、前記複数の計算ノードのうちのイベントプロデューサ計算ノードでのイベントを検出すること、
前記イベントの検出に応答して、前記イベントプロデューサ計算ノードで前記イベント通知を生成すること、
前記複数の計算ノードの複数対の計算ノードの各対の計算ノード間のイベント通知の伝送に関連するコストデータを格納する接続性カタログを維持すること、
前記複数のメッシュエージェントを使用して、前記メッシュネットワークにおける複数の経路を自動的に選択することであって、前記コストデータを用いて前記メッシュネットワークにおける複数の低コスト経路を決定することを含む前記複数の経路を自動的に選択すること、
拡張プロビジョニングルールを使用して、前記複数の低コスト経路のうちの選択された経路に沿ってノードを選択すること、
前記選択されたノードにおいて前記拡張を前記イベント通知に適用して拡張されたイベント通知を生成すること、
前記選択された経路を介して前記拡張されたイベント通知を前記イベントコンシューマ計算ノードに配信すること、を含む複数の動作を前記コンピュータに実行させる、コンピュータ可読記憶媒体。 - 前記複数のメッシュエージェントが、前記複数の計算ノード間に部分的なメッシュネットワークとして分散される、請求項9に記載のコンピュータ可読記憶媒体。
- 前記拡張は、少なくとも変換、フィルタ、相関付け、コンテキスト化、および、イベントトラフィックフロー分析のうちの1つである、請求項9に記載のコンピュータ可読記憶媒体。
- 前記拡張を適用する際の制約を示す拡張制約を備える拡張データを取得することをさらに備え、
前記拡張を適用するために前記選択された経路に沿って前記ノードを選択することは、前記選択されたノードが前記制約を満たすと判断することをさらに含む、請求項9に記載のコンピュータ可読記憶媒体。 - 前記接続性カタログは、イベント、各イベントのイベントプロデューサ、および各イベントのローカルイベントコンシューマのリストを含む、請求項1に記載の方法。
- 前記接続性カタログとは異なるプロデューサカタログは、各イベントプロデューサのアイデンティティとロケーションとに関連付けられた各イベントの一意の識別子を維持する、請求項1に記載の方法。
- 前記接続性カタログとは異なるコンシューマカタログは、各イベントコンシューマのアイデンティティとロケーションとに関連付けられた各イベントの一意の識別子を維持する、請求項1に記載の方法。
- 前記複数の低コスト経路を選択することは、
直接ルーティングコストが所定の閾値を逸脱するかどうかを判定すること、
前記直接ルーティングコストが前記所定の閾値を逸脱するという判定に応じて、コスト効率の高い中間経路を判定すること、をさらに含む、請求項1に記載の方法。 - 前記接続性カタログは、イベント、各イベントのイベントプロデューサ、および各イベントのローカルコンシューマのリストを含み、
前記コンピューティング装置は、
前記接続性カタログとは異なり、各イベントプロデューサのアイデンティティとロケーションとに関連付けられた各イベントの一意の識別子を維持するプロデューサカタログと、
前記接続性カタログおよび前記プロデューサカタログとは異なり、各イベントコンシューマのアイデンティティとロケーションとに関連付けられた各イベントの一意の識別子を維持するコンシューマカタログと、をさらに備える、請求項5に記載のコンピューティング装置。 - 前記複数の低コスト経路を選択することは、
直接ルーティングコストが所定の閾値を逸脱するかどうかを判定すること、
前記直接ルーティングコストが前記所定の閾値を逸脱するという判定に応じて、コスト効率の高い中間経路を判定すること、をさらに含む、請求項5に記載のコンピューティング装置。 - 前記接続性カタログは、イベント、各イベントのイベントプロデューサ、および各イベントのローカルコンシューマのリストを含み、
前記複数の動作は、
前記接続性カタログとは異なり、各イベントプロデューサのアイデンティティとロケーションとに関連付けられた各イベントの一意の識別子を維持するプロデューサカタログを維持すること、
前記接続性カタログおよび前記プロデューサカタログとは異なり、各イベントコンシューマのアイデンティティとロケーションとに関連付けられた各イベントの一意の識別子を維持するコンシューマカタログを維持すること、をさらに備える、請求項9に記載のコンピュータ可読記憶媒体。 - 前記複数の低コスト経路を選択することは、
直接ルーティングコストが所定の閾値を逸脱するかどうかを判定すること、
前記直接ルーティングコストが前記所定の閾値を逸脱するという判定に従って、コスト効率の高い中間経路を決定すること、をさらに含む、請求項9に記載のコンピュータ可読記憶媒体。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862760902P | 2018-11-13 | 2018-11-13 | |
US62/760,902 | 2018-11-13 | ||
US201862768742P | 2018-11-16 | 2018-11-16 | |
US62/768,742 | 2018-11-16 | ||
PCT/US2019/060959 WO2020102218A1 (en) | 2018-11-13 | 2019-11-12 | Mesh-based event broker for distributed computing |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2022510569A JP2022510569A (ja) | 2022-01-27 |
JP7483703B2 true JP7483703B2 (ja) | 2024-05-15 |
Family
ID=69160227
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021526455A Active JP7483703B2 (ja) | 2018-11-13 | 2019-11-12 | 分散型コンピューティングのためのメッシュベースのイベントブローカー |
Country Status (4)
Country | Link |
---|---|
US (3) | US11829801B2 (ja) |
EP (1) | EP3881183A1 (ja) |
JP (1) | JP7483703B2 (ja) |
WO (1) | WO2020102218A1 (ja) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020102218A1 (en) | 2018-11-13 | 2020-05-22 | Vantiq, Inc. | Mesh-based event broker for distributed computing |
US11405260B2 (en) | 2019-11-18 | 2022-08-02 | Juniper Networks, Inc. | Network model aware diagnosis of a network |
US11533215B2 (en) * | 2020-01-31 | 2022-12-20 | Juniper Networks, Inc. | Programmable diagnosis model for correlation of network events |
CN113206749B (zh) | 2020-01-31 | 2023-11-17 | 瞻博网络公司 | 网络事件的相关性的可编程诊断模型 |
US11269711B2 (en) | 2020-07-14 | 2022-03-08 | Juniper Networks, Inc. | Failure impact analysis of network events |
US11522967B2 (en) * | 2020-11-25 | 2022-12-06 | Sap Se | System metamodel for an event-driven cluster of microservices with micro frontends |
US11429460B1 (en) * | 2021-07-16 | 2022-08-30 | Curantis Solutions | Event driven data processing system and method |
CN113489756A (zh) * | 2021-07-23 | 2021-10-08 | 中企云链(北京)金融信息服务有限公司 | 一种物联网分布式事件驱动服务系统 |
JP7181974B1 (ja) * | 2021-08-13 | 2022-12-01 | ソフトバンク株式会社 | 情報提供システム、情報提供システムの制御方法、及び情報提供システムの制御プログラム |
US11496360B1 (en) * | 2021-11-23 | 2022-11-08 | Red Hat, Inc. | Applying impairments to nodes of a distributed computing environment using a software operator |
WO2024086407A1 (en) * | 2022-10-18 | 2024-04-25 | Mouton Bernard Behan | System and method for making event routing decisions based on a standardized messages format |
CN116225576B (zh) * | 2023-05-08 | 2023-07-28 | 成都赛力斯科技有限公司 | 应用程序的数据环境切换方法、装置、电子设备及介质 |
CN117434912B (zh) * | 2023-12-21 | 2024-02-20 | 宁晋县润博达医疗防护用品有限公司 | 无纺布制品生产环境监控方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007306442A (ja) | 2006-05-15 | 2007-11-22 | Ip Flex Kk | ネットワークに含まれるノード間の最短経路を探索するためのシステムおよび方法 |
JP2007538313A (ja) | 2004-04-29 | 2007-12-27 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 分散ネットワーキング・アーキテクチャ内にサービスをモデル化し、動的にデプロイするためのシステムおよび方法 |
JP2015095176A (ja) | 2013-11-13 | 2015-05-18 | 富士通株式会社 | イベント収集方法、情報処理装置、情報処理システム、及び情報処理プログラム |
US20180284757A1 (en) | 2016-05-09 | 2018-10-04 | StrongForce IoT Portfolio 2016, LLC | Methods and systems for industrial internet of things data collection in a network sensitive mining environment |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1995004968A1 (en) | 1993-08-03 | 1995-02-16 | Forte Software, Inc. | Flexible multi-platform partitioning for computer applications |
US5870605A (en) | 1996-01-18 | 1999-02-09 | Sun Microsystems, Inc. | Middleware for enterprise information distribution |
US6597684B1 (en) | 1997-12-24 | 2003-07-22 | Nortel Networks Ltd. | Distributed architecture and associated protocols for efficient quality of service-based route computation |
WO2003096221A1 (en) | 2002-05-08 | 2003-11-20 | British Telecommunications Public Limited Company | Data storage system interface |
US7549153B2 (en) | 2002-07-22 | 2009-06-16 | Amberpoint, Inc. | Apparatus and method for content and context processing of web service traffic |
US9258765B1 (en) | 2003-05-08 | 2016-02-09 | Dynamic Mesh Networks, Inc. | Chirp networks |
US20050249215A1 (en) | 2004-02-19 | 2005-11-10 | Kelsey Richard A | Directing packets in a mesh network |
US7865550B2 (en) | 2008-01-21 | 2011-01-04 | International Business Machines Corporation | Message processing control in a publish/subscribe system |
US7962650B2 (en) * | 2008-04-10 | 2011-06-14 | International Business Machines Corporation | Dynamic component placement in an event-driven component-oriented network data processing system |
US9910862B2 (en) | 2009-02-11 | 2018-03-06 | Gtx Corp. | System and method for processing location data |
JP2015220560A (ja) * | 2014-05-16 | 2015-12-07 | 株式会社日立製作所 | ルーティング制御方法およびルーティング制御プログラム |
US10218619B2 (en) * | 2014-11-07 | 2019-02-26 | Cisco Technology, Inc. | Proactive broadcast capacity adjustment for fast network joins |
US10491411B2 (en) | 2017-11-28 | 2019-11-26 | Itron, Inc. | Limiting forwarding of multicast communications |
WO2020102218A1 (en) | 2018-11-13 | 2020-05-22 | Vantiq, Inc. | Mesh-based event broker for distributed computing |
-
2019
- 2019-11-12 WO PCT/US2019/060959 patent/WO2020102218A1/en active Search and Examination
- 2019-11-12 US US17/319,873 patent/US11829801B2/en active Active
- 2019-11-12 JP JP2021526455A patent/JP7483703B2/ja active Active
- 2019-11-12 EP EP19836195.8A patent/EP3881183A1/en active Pending
-
2021
- 2021-05-13 US US17/320,160 patent/US11614975B2/en active Active
-
2023
- 2023-10-23 US US18/492,355 patent/US20240045732A1/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007538313A (ja) | 2004-04-29 | 2007-12-27 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 分散ネットワーキング・アーキテクチャ内にサービスをモデル化し、動的にデプロイするためのシステムおよび方法 |
JP2007306442A (ja) | 2006-05-15 | 2007-11-22 | Ip Flex Kk | ネットワークに含まれるノード間の最短経路を探索するためのシステムおよび方法 |
JP2015095176A (ja) | 2013-11-13 | 2015-05-18 | 富士通株式会社 | イベント収集方法、情報処理装置、情報処理システム、及び情報処理プログラム |
US20180284757A1 (en) | 2016-05-09 | 2018-10-04 | StrongForce IoT Portfolio 2016, LLC | Methods and systems for industrial internet of things data collection in a network sensitive mining environment |
Also Published As
Publication number | Publication date |
---|---|
US20210271522A1 (en) | 2021-09-02 |
WO2020102218A1 (en) | 2020-05-22 |
US11829801B2 (en) | 2023-11-28 |
US20220075662A1 (en) | 2022-03-10 |
US11614975B2 (en) | 2023-03-28 |
US20240045732A1 (en) | 2024-02-08 |
JP2022510569A (ja) | 2022-01-27 |
EP3881183A1 (en) | 2021-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7483703B2 (ja) | 分散型コンピューティングのためのメッシュベースのイベントブローカー | |
US12056485B2 (en) | Edge computing platform | |
US11888675B2 (en) | Systems, devices, and methods for internet of things integrated automation and control architectures | |
US10007513B2 (en) | Edge intelligence platform, and internet of things sensor streams system | |
US11397620B2 (en) | Deployment of event-driven application in an IoT environment | |
US20170255373A1 (en) | Method, system, and program storage device for analytics in an industrial internet of things | |
Magaia et al. | Development of mobile IoT solutions: approaches, architectures, and methodologies | |
Ramgir | Internet of Things-Architecture, Implementation, and Security | |
Goumopoulos | Smart City Middleware: A Survey and a Conceptual Framework | |
Tuan et al. | Enhanced interoperating mechanism between OneM2M and OCF platform based on rules engine and interworking proxy in heterogeneous IoT networks | |
Pflanzner et al. | Simulating sensor devices for experimenting with IoT cloud systems | |
Tsagkaropoulos | Model-driven adaptation of Function-as-a-Service applications | |
Khan | Microservices in context: Internet of Things: Infrastructure and Architecture | |
Cuadra Gómez et al. | OpenFog-Compliant Application-Aware Platform: A Kubernetes Extension | |
Fasihi | Rule based inference and action selection based on monitoring data in IoT | |
Wiener | Managing Event-Driven Applications in Heterogeneous Fog Infrastructures | |
Καλκάνωφ | Study and implementation of an IoT service for device provisioning and controlling, data collection and visualization | |
DE BENEDETTI | Integration of distributed autonomous systems through a multi-layer, IoT-based hierachical approach | |
Pereira | Enabling IoT in Manufacturing: from device to the cloud |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A529 | Written submission of copy of amendment under article 34 pct |
Free format text: JAPANESE INTERMEDIATE CODE: A529 Effective date: 20210629 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20221111 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20230823 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20231003 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20231227 |
|
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: 20240402 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240501 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7483703 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |