JP2022064982A - リアルタイムデータフロープログラミングのための効率的な状態機械 - Google Patents
リアルタイムデータフロープログラミングのための効率的な状態機械 Download PDFInfo
- Publication number
- JP2022064982A JP2022064982A JP2022014853A JP2022014853A JP2022064982A JP 2022064982 A JP2022064982 A JP 2022064982A JP 2022014853 A JP2022014853 A JP 2022014853A JP 2022014853 A JP2022014853 A JP 2022014853A JP 2022064982 A JP2022064982 A JP 2022064982A
- Authority
- JP
- Japan
- Prior art keywords
- state
- token
- input
- data
- queue
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 claims abstract description 87
- 230000008569 process Effects 0.000 claims abstract description 25
- 230000000704 physical effect Effects 0.000 claims abstract description 4
- 230000006870 function Effects 0.000 claims description 122
- 238000006243 chemical reaction Methods 0.000 claims description 55
- 230000009471 action Effects 0.000 claims description 51
- 238000012545 processing Methods 0.000 claims description 31
- 230000009467 reduction Effects 0.000 claims description 30
- 230000007704 transition Effects 0.000 claims description 27
- 238000003860 storage Methods 0.000 claims description 24
- 239000000872 buffer Substances 0.000 claims description 9
- 230000008859 change Effects 0.000 claims description 6
- 230000006399 behavior Effects 0.000 claims description 5
- 230000002194 synthesizing effect Effects 0.000 claims 1
- 230000014509 gene expression Effects 0.000 description 64
- 238000004891 communication Methods 0.000 description 32
- 238000004458 analytical method Methods 0.000 description 24
- 238000004422 calculation algorithm Methods 0.000 description 24
- 230000009466 transformation Effects 0.000 description 22
- 238000010586 diagram Methods 0.000 description 14
- 230000002829 reductive effect Effects 0.000 description 11
- 238000004364 calculation method Methods 0.000 description 10
- 230000000694 effects Effects 0.000 description 10
- 238000007726 management method Methods 0.000 description 10
- 238000005457 optimization Methods 0.000 description 8
- 238000013515 script Methods 0.000 description 8
- 241000282326 Felis catus Species 0.000 description 7
- 239000003795 chemical substances by application Substances 0.000 description 7
- 238000010801 machine learning Methods 0.000 description 7
- 238000012360 testing method Methods 0.000 description 7
- 238000000844 transformation Methods 0.000 description 7
- 230000001131 transforming effect Effects 0.000 description 7
- 230000008901 benefit Effects 0.000 description 6
- 230000004044 response Effects 0.000 description 6
- 239000000243 solution Substances 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 238000011156 evaluation Methods 0.000 description 5
- 238000005259 measurement Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 241000287219 Serinus canaria Species 0.000 description 4
- 239000012634 fragment Substances 0.000 description 4
- 238000012423 maintenance Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 4
- 230000008520 organization Effects 0.000 description 4
- 239000007787 solid Substances 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 230000015572 biosynthetic process Effects 0.000 description 3
- 238000010276 construction Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000003786 synthesis reaction Methods 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 239000011800 void material Substances 0.000 description 3
- 235000006719 Cassia obtusifolia Nutrition 0.000 description 2
- 235000014552 Cassia tora Nutrition 0.000 description 2
- 244000201986 Cassia tora Species 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 2
- 238000004220 aggregation Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 229910052802 copper Inorganic materials 0.000 description 2
- 239000010949 copper Substances 0.000 description 2
- 238000007405 data analysis Methods 0.000 description 2
- 238000013481 data capture Methods 0.000 description 2
- 238000009795 derivation Methods 0.000 description 2
- 230000005611 electricity Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000037406 food intake Effects 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 239000003550 marker Substances 0.000 description 2
- 238000005065 mining Methods 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000037081 physical activity Effects 0.000 description 2
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 2
- 241000283726 Bison Species 0.000 description 1
- VYZAMTAEIAYCRO-UHFFFAOYSA-N Chromium Chemical compound [Cr] VYZAMTAEIAYCRO-UHFFFAOYSA-N 0.000 description 1
- 230000003542 behavioural effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 239000013256 coordination polymer Substances 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000005034 decoration Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 238000010348 incorporation Methods 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 238000010248 power generation Methods 0.000 description 1
- 238000013215 result calculation Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 239000010979 ruby Substances 0.000 description 1
- 229910001750 ruby Inorganic materials 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000036962 time dependent Effects 0.000 description 1
- 238000012384 transportation and delivery Methods 0.000 description 1
- 230000005641 tunneling Effects 0.000 description 1
- ACWBQPMHZXGDFX-QFIPXVFZSA-N valsartan Chemical class C1=CC(CN(C(=O)CCCC)[C@@H](C(C)C)C(O)=O)=CC=C1C1=CC=CC=C1C1=NN=NN1 ACWBQPMHZXGDFX-QFIPXVFZSA-N 0.000 description 1
Images
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/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/35—Creation or generation of source code model driven
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3664—Environments for testing or debugging software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
-
- 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/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4498—Finite state machines
-
- 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/48—Program initiating; Program switching, e.g. by interrupt
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Computer And Data Communications (AREA)
- Debugging And Monitoring (AREA)
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Testing Or Calibration Of Command Recording Devices (AREA)
- User Interface Of Digital Computer (AREA)
- Devices For Executing Special Programs (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
関連出願との相互参照
この特許出願は、2016年3月23日に出願された米国特許出願第62/312,106号、第62/312,187号、第62/312,223号、および第62/312,255号の利益を主張し、それらは、本願で引用されたすべての他の引例とともに、引用により援用される。
この発明はコンピューティングの分野に関し、より具体的には、産業用機械によって生成される大量のデータを取扱うためのエッジコンピューティングにおいて用いられてもよいリアルタイムデータフロープログラミングのための効率的な状態機械に関する。
効率的な状態機械に基づくパターンマッチング技術は、入力キューにおけるトークンを処理し、バックトラッキングなしに、1つ以上の所定の入力パターンにマッチする、トークンのシーケンスにおけるパターンを識別する。トークンには、データを含むこと、またはデータを含まないこと、および時間コンポーネントを含むことが可能である。トークンは、物性をデジタル量に変換するセンサによって生成されたデータのストリームであることができる。パターンマッチング技術は、入力キューを単一の方向において処理し、以前に検査されたトークンを検査しない。ある実現例では、マッチングされるべき特定のパタ
ーンを、状態機械を使用して指定し、状態機械は状態表において指定され、状態スタックを使用して動作する。
ガイド、指導書、ビデオなどを含む)、ならびに、フォグホーンの技術および製品についての他の出版物が、引用により援用される。
トフォームはまた、追加のコンピューティングリソースを追加することが実行できない場合に、既存のプログラマブルロジックコントローラ(programmable logic controller:
PLC)(たとえば、ブラウンフィールド機会)において動作するように設計される。ブラウンフィールドとは、確立されたシステムを勘案しながら情報技術(information technology:IT)問題領域を解決するための新しいシステムの実現を指す。新しいソフトウェアアーキテクチャは、既存のおよび動作中のソフトウェアを考慮する。
トークンを格納し、各トークンは、データを含み(またはデータを含まず)、トークンが入力キューに入ったときのタイムスタンプを含む。ドライバコンポーネントは、バックトラッキングなしで入力キューにおけるトークンを処理し、1つ以上の所定の入力パターンにマッチする、トークンのシーケンスにおけるパターンを識別し、マッチした所定の入力パターンを識別すると、出力イベント出力を生成する。出力キューは、FIFOメモリとして編成されるコンピュータメモリにおいて第2のメモリ位置を含み、出力キューは、ド
ライバコンポーネントによって生成された出力イベントのシーケンスを格納する。状態表コンポーネントは、所定の入力パターンを状態表フォーマットで格納する。状態スタックコンポーネントは、LIFOメモリとして編成されるコンピュータメモリにおいて第3のメモリ位置を含み、スタックフレームには、変換状態番号、記号、もしくはデッドライン、または任意の組み合わせが含まれる。
図1は、本発明の一実施形態を取入れる分散型コンピュータネットワーク100の簡略ブロック図である。コンピュータネットワーク100は、複数の通信リンク128を介し
て通信ネットワーク124に結合された、複数のクライアントシステム113、116、および119と、サーバシステム122とを含む。通信ネットワーク124は、分散型ネットワーク100のさまざまなコンポーネントが互いに通信して情報を交換することを可能にするためのメカニズムを提供する。
ルなどを含んでいてもよい。一実施形態では、通信ネットワーク124はインターネットであり、他の実施形態では、通信ネットワーク124は、ローカルエリアネットワーク(local area network:LAN)、ワイドエリアネットワーク(wide area network:WA
N)、無線ネットワーク、イントラネット、私的ネットワーク、公的ネットワーク、スイッチドネットワーク、およびこれらの組合せなどを含む、任意の好適な通信ネットワークであってもよい。
バイルスマートフォンまたはタブレットアプリケーションなどのスタンドアロンアプリケーションとして動作可能である。別の実施形態では、クライアントシステム上で実行される「ウェブブラウザ」アプリケーションが、ユーザが、サーバシステム122によって格納された情報を選択し、情報にアクセスし、情報を検索し、またはクエリすることを可能にする。ウェブブラウザの例は、マイクロソフト社(Microsoft Corporation)によって
提供されるインターネットエクスプローラ(Internet Explorer)ブラウザプログラム、
モジラ(Mozilla)によって提供されるファイアーフォックス(Firefox)(登録商標)ブラウザ、グーグル(Google(登録商標))によって提供されるクローム(Chrome)ブラウザ、アップル(Apple)によって提供されるサファリ(Safari)ブラウザなどを含む。
信機、ポータブルメディアプレイヤー、携帯情報端末(personal digital assistant:PDA)、他のネットワークアクセスデバイス、および、データを送受信できる他の処理デバイスを含む、任意のコンピューティングデバイスとインターフェイス接続することができる。
クシー(Galaxy)製品(たとえば、ギャラクシーSシリーズ製品、またはギャラクシーノート(Galaxy Note)シリーズ製品)、グーグル(登録商標)ネクサス(Nexus)デバイス(たとえば、グーグルネクサス6、グーグルネクサス7、またはグーグルネクサス9)、およびマイクロソフトデバイス(たとえば、マイクロソフトサーフェス(Surface)タブ
レット)といった、スマートフォンまたはタブレットデバイスであり得る。典型的には、スマートフォンは、電話部分(および関連付けられた無線機)とコンピュータ部分とを含み、それらはタッチスクリーンディスプレイを介してアクセス可能である。
(たとえば、ブラウザを含むアプリケーションプログラム、画像、ゲーム、ビデオ、および音楽)とを格納するための不揮発性メモリがある。スマートフォンは典型的には、写真およびビデオを撮るためのカメラ(たとえば、前向きのカメラまたは後部カメラ、もしくは両方)を含む。たとえば、スマートフォンまたはタブレットは、1つ以上の他のデバイスにストリーミングされ得るライブビデオを撮るために使用され得る。
SSD))、バッテリによってバックアップされた揮発性メモリ、テープストレージ、リーダ、および他の同様の媒体、ならびにこれらの組合せを含んでいてもよい。
からの)マトラボ(Matlab)、SAS、SPSS、JavaScript(登録商標)、AJAX、Java(登録商標)、パイソン(Python)、アーラン(Erlang)、およびルビー・オン・レイルズ(Ruby on Rails)といった、さまざまな好適なプログラミング言
語のうちのいずれで書かれてもよい。コンピュータソフトウェア製品は、データ入力モジュールおよびデータ表示モジュールを有する独立したアプリケーションであってもよい。これに代えて、コンピュータソフトウェア製品は、分散オブジェクトとしてインスタンス化され得るクラスであってもよい。コンピュータソフトウェア製品はまた、(オラクル社(Oracle Corporation)からの)Java Beans、またはエンタープライズJava Beans(オラクル社からのEJB)といったコンポーネントソフトウェアであってもよい。
ウズ10、ウィンドウズCE、ウィンドウズモバイル、ウィンドウズRT)、シンビアン(Symbian)OS、タイゼン(Tizen)、リナックス(登録商標)、HP-UX、UNIX(登録商標)、サン(Sun)OS、ソラリス(Solaris)、Mac OS X、アップルiOS、アンドロイド(登録商標)、アルファ(Alpha)OS、AIX、IRIX32、ま
たはIRIX64のうちの1つであってもよい。他のオペレーティングシステムが使用されてもよい。マイクロソフトウィンドウズは、マイクロソフト社の商標である。
る際にハイパーテキスト転送プロトコル(HTTP)を使用してもよい。
ている。
ータはまた、顧客が選んだクラウド格納先へ発行され得る。
CP/IPプロトコルに加えて使用するための、ISO規格の発行-サブスクライブベースの「軽量」メッセージ通信プロトコルである。代替的なプロトコルは、アドバンストメッセージキューイングプロトコル、IETF制約アプリケーションプロトコル、XMPP、およびウェブアプリケーションメッセージングプロトコル(Web Application Messaging Protocol:WAMP)を含む。
トリック(Schneider Electric))によってそのプログラマブルロジックコントローラ(PLC)とともに使用するために発行された、シリアル通信プロトコルである。単純かつ頑強であるため、それはそれ以降、すべての意図および目的のために標準通信プロトコル
となった。それは現在、産業用電子デバイスを接続する、一般に利用可能な手段である。
ストレージに格納される必要があるデータをサブスクライブする。
てリアルタイムストリーミング解析をサポートするために効率的に実現される。たとえば、システムの待ち時間は約10ミリ秒以下であり得る。
1.1.単一の物理センサから導き出される仮想センサまたはVelセンサは、任意の組合せの動的較正、信号処理、数式、データ圧縮またはデータ解析を使用して、着信センサデータを変換し得る。
2.1.複数の異種物理センサから(上述の方法を使用して)変換として導き出された仮想センサまたはVelセンサ。
1.プログラム可能性:Velは、Velセンサをプログラマブルにして、データを合成し、データ品質、頻度および情報についての特定のアプリケーション要件に整合させる。Velセンサは、物理センサおよび他の(たとえば、前から存在する)Velセンサから供給されたデータにプラグインするための無線ソフトウェアアップグレードとして広く分散され得る。このため、アプリケーション開発者は、物理インフラストラクチャのレイアウトから独立したビジネスロジックの効率的実行の助けとなるデジタルインフラストラクチャを作成することができる。
物理インフラストラクチャの変化から開発者を隔離する。
ッチングおよび値の計算を効率的に行い得る拡張された状態機械またはDFAが生まれる。
2.データがノードを通過する際にデータに変換を適用し、変換されたデータを一時バッファに収集する。または、
3.収集したデータを一時バッファから追加の変換にフラッシュし、その結果を別のDFAまたはスタックマシンにプッシュする。
つの値を匿名の第2項にバインドすることで、パターンをマッチングするであろう。次に、aにバインドされた値[101, 202, 303]のリストに合計関数を適用することによって、
右辺を評価し、606を返すであろう。次いで606をプッシュアウトするであろう。
1020、および<no name>(名前無し)ノード10が存在する。
うなプログラミング言語の1つである。
よびそれの関連するコンパイラコンパイラの例である。
いるような型駆動型パターンマッチングシステムは、はるかにより豊富なモデリング機能を備えているが、合理的に効率的な実装を優先して表現できるものをしばしば犠牲にし、それでも依然として、DFAに基づく高速マッチングシステムほど効率的ではない。
マッチングパターンを記述する状態機械が形成される。オーバーロード間の曖昧さ回避、または全体的な不一致の検出は、シーケンス内で可能な限り早く起こり、関数適用の解決をスピードアップする。また、シーケンス内でできるだけ遅くまで一致を遅らせて、可能な限り多くの入力を受け入れる関数の「貪欲」バージョンを生成することもできる。
型の集合およびそれらのコンストラクタ、特に、我々が間もなく論ずるある特定のプロパティを持つ多相集合型。(3)sum型。(4)レコードの形式のproduct型。(5)パターンの形式のproduct型。タプルの、それのフィールドの繰り返しを含むことへの一般化で
ある。(6)ラムダ型。パターン型を任意の型にマッピングする。(7)ラムダのリストからなる多ラムダ型。
って可算であるからである。要素が、仮に、実数や文字列のように、非可算型である場合、明示的な包含または特定の端点の包含が必要となる。たとえば、集合[>= “cat”]は、文字列“cat”、および辞書編集上“cat”の後に分類するすべての文字列で構成されている。
を値として許可するであろう。実際、すべての型をこのように考えることができる。たとえば、単相の整数型は、すべての整数の集合からなる集合型と考えることができる。
は型string(文字列)は、その2つの構成要素型の和である。sum型の構成要素型のいず
れかの何れのインスタンスも、sum型のインスタンスである。これにより、たとえば、各
々が整数または文字列のいずれかである値のリストである型リスト(intまたはstring)
を記述することができる。unionのunionは平坦(flatten)になり、型式(intもしくはstring)または(intもしくはreal(実数))はintまたはrealまたはstringに等しくなる。unionにおける型の順序は重要ではないが、正規性のため、すべてのunion型をここにおいてそれらの構成要素がアルファベット順であるように提示する。
は型内において一意の名前を有する。フィールドの順序は重要ではない。{x: int; y: int}は{y: int; x: int}と同じであるが、unionに対してしたように、我々はレコード型を
、それらの構成要素がアルファベット順にある状態で提示する。
から3つの整数の後に1つから3つの文字列が続くものとマッチする。
上の整数と上限なしでマッチする。これは有効である。ただし、無限入力ストリームを処理するために使用する場合、無限のパターンを、値の収集をいつ停止すべきか示す時間間隔などの他のトリガとペアにする必要がある。
ターンはデータとマッチし、引数をバインドするが、入力ストリームからは消費しない。たとえば、パターン<a: int; b: int; peek; c: int> は3つの整数とマッチし、3つの
ローカル識別子をバインドするが、入力から2つの整数しか消費しない。
ない。語彙的には、この概念をボイドというキーワードで指定する。ボイドは一意の値である。それ自身の型でもある。合併で使用される場合、ボイドはintまたはvoidなど、任
意選択的な型の表記をもたらし、存在する場合にはintである値を意味するが、まったく
存在しないかもしれない。
なすことができる。これはパターンにも当てはまる。別のものの接頭辞であるパターンもその一般化である。
3]> → intは、1つから3つの整数をとり、ある整数を返す、ある関数の型である。我
々の多ラムダ型は、ラムダ型のリストで構成されている。ラムダの順序はここでは重要である。多ラムダ適用を解決する際、それの構成要素ラムダのうちマッチする最初のラムダにディスパッチすることになる。
11に従って離接のための部分グラフを作成する。
作成する。
復集合の値に基づいて、部分グラフにおけるなんらかの変化が必要になる。たとえば、ノードi1305からノードj1310への順方向イプシロン1315は、集合が零を含む場合にのみ含まれる。これらの変化は大部分明白であり、ここで説明したのと同じ基本的な考え方に沿って継続する。
用いて、単一のストリームCにマージしたい。
ンターリーブされる。Bストリームの内容を実現することにポイントがないことに注意さ
れたく、なぜならばそれらはCストリームを構成するためだけに使用されるためである。
それらは匿名の一時的な部分式として同じく簡単に表現できるであろう。
をこれらのDFAの合併として単一の最小DFAに変換することを記載する。その結果、中間流Biの内容を実現する必要なく流入Aiを流出Cにマージする最大効率的な手段が得ら
れる。
る。
)を考えるように変換DFAを考慮する必要がある。正規表現を変換する場合、構文a|b
は代替であり:一致a OR 一致bである。我々の例では、a AND bは各々変換関数からのD
FAである。図11に従ってそれらの代替のための部分グラフを作成する。
ョン。(10)ライブデータフロー環境におけるバイナリコードの遠隔実行、監視、および制御。
(8)DFA出力をアクションのペアにマッピングする表。各ペアは、式スタックへの参照およびストリーム出力から構成され、DFAの出力が所与の式で変換され、次いで所与のストリームにプッシュされることを示す。
用する。インタプリタはコードの実行においてハードウェアプラットフォームをエミュレートし、データフローシミュレータはストリーミングデータ環境をエミュレートし、Velストリームに入力を提供し、Velストリームから出力を収集する。これらの2つのタスクを命令解釈およびデータフローエミュレーションと呼ぼう。
データフロープログラムを作成すること。(6)このプログラムを、Velプログラム文を対応するDFAに変換するためのDFAジェネレータを組み込んだフェーズ1変換ツールと、プラットフォーム上での実行のために変換されたVel文に対応するプラットフォーム固有のハードウェア命令を生成するためのフェーズ2変換ツールとを備える2フェーズ変換ツールに、入力として与えること。(7)変換ツールの各フェーズの出力を受け取ること。
を記述するブール式を提供し、マッチング関数はこの式の直接コンパイルである。SELECTのproduct文節で名前を付けられた値のタプルは、次いで、出力生成関数を定義するため
の基礎を提供する。
自動的に変換できる。結果として生じる組み合わされたマッチングまたは計算アルゴリズムは、パターンマッチングおよび出力生成の別個の編成よりも効率的である。
このセクションでは、文脈自由文法の大きなクラスに基づいてストリーミング入力のパターンを効率的に認識するために使用できる技術であるTFR(1)パターンマッチングを提示する。この省略形は、「時限順方向右端(Timed Forward Right-most)(1)」技術を表し、この技術の持つ時間を認識する性質、一度に1つの入力トークンだけを見ながら、(時間に関して)順方向の順序で入力を走査し、最も右の構文的派生を生成するという事実を指す。
成される。
入力キューは、一度に1つずつ処理されるべき離散的な入来イベントの、先入れ先出しの、非終端シーケンスである。これは、ネットワークソケット、シリアルポート、インメモリ構造、またはエンドレスキューもしくはストリームの概念の任意の他の有形もしくは抽象的実現例であってもよい。マッチャーの目的は、このストリームにおいてパターンを認識することである。
ューに含めることは有用であり、なぜならば、それは、たとえ報告すべきデータがなくてもイベントを積極的に受信している入力キューと、何も受信していない入力キューとを区別するからである。
を記述する。r1によって、入力にnumが現れるたびに、それはEとみなされてもよい。r2によって、入力にE + Eのシーケンスを見るたびに、それら3つの記号をまとめて新たなEを構成してもよい。したがって、シーケンスnum、num + num、およびnum + num + numは、
すべて、当該言語の有効なセンテンスである。
れ自体に“x”が続くもの(r3による)からなり、そうでなければ、それは無である(r4
による)。したがって、シーケンスx、x x、およびx x xは、すべて、当該言語の有効な
センテンスである。空のシーケンスも、当該言語の有効なセンテンスである。Lがそれに
マッチするであろうからである。空の規則でタイムアウトを指定することもできる。たとえば、
はxを無限に収集するが、Cは限られた時間量だけxを収集する。ここでの時間量は5単位
として与えられる。この単位は、任意の都合のよい時間の尺度とすることができる。実際には、タイムアウトはミリ秒単位で与えられる可能性がある。ここでその違いを理解するために、タイムスタンプ付きの入力のシーケンスを考えてみる。
びr6を使用すると、時間の経過だけでリダクションを呼び出すのに十分であろうから、マッチャーはCを時刻1005で報告するであろう。
ここで、オメガルールであるr0を追加して、先の例からの文法を拡張した。
とすることになる、と言う。
同じ型のデータを担持する。これは、入力キューにおけるイベントと同じ型でも、異なる型でもよい。
的な概念である。各構文解析状態は、アクション、遷移、タイムアウト値の3つの部分から構成される。
たトークンからなる新たなエントリをスタックにプッシュする。新たなデッドラインは、現在のデッドライン、またはイベントのスタンプ+状態のタイムアウトのうち、より小さいものと等しい。
スタックからポップする。ドライバはスタックから1つ以上のエントリをポップする。ポップするエントリの数は、適用される規則の右辺の長さによって与えられる。ポップ後のスタックの一番上における状態をPと呼び、適用された規則の左辺側の記号をLと呼ぶ。
なエントリをスタックにプッシュする。
スタックリセット。ドライバはスタックからすべてのエントリをクリアし、次いで、新たな開始エントリをプッシュする。新たなエントリは、s0への参照と、入力イベントのスタンプ+s0のタイムアウトに等しいデッドラインとから構成される。エントリには記号は含まれない。
直感的には、マッチャーは、パターンマッチングのタスクを、パターンのピースを各1つがマッチングする一連のサブタスクに分割する。これらのタスクの各々は、次いで分解され、このプロセスは、マッチングされるべきピースが単純に、自明にマッチされ得る入力トークンそれら自体になるまで繰り返される。
1.別の紙片を使用して、スタックを追跡する。最初のデッドラインとともに、状態s0をスタックにプッシュすることから始める。
この例では、ペットのリストを探すマッチャーを考える。各リストは任意の数のペット
(またはペットがいない)を含むことができ、各ペットはcat(猫)、dog(犬)またはcanary(カナリア)のいずれかである。リストは、入力ストリームから50の時間単位の間隔で収集される。
期に起こるのに対し、「cat」と「canary」との区別は、さらに2つのステップを要する
ことが容易にわかる。
1536がある。矢印1540および1542は、図15Bの対応する矢印に接続する。図15Bには、状態s6 1550、s5 1555、s7 1560、s8 1565、s9 1568、s10 1570、s11 1575、およびs12 1580がある。規則r2 1583、r1 1585、r3 1588がある。
式を特定し、結果が真の場合に選択はマッチする。たとえば、現在の入力が識別子語で表された場合、ペットを探すwhere節は、語=“cat”または語=“dog”または語=“canary”かもしれない。
あるであろうが、それらはマッチする可能性はない。判定に達する前に、語の各文字が任意の回数調べられるかもしれない。
として一致の可能性があるかどうかをすでに知っている。
1.すべての記号の最初の集合および後続の集合を計算する。
しかしながら、これらのステップを説明し得る前に、まず、関連する概念のいくつかを定義する必要がある。
1.Xがトークンである場合、First(X)は単に{X}である。
3.Xをその左辺とする各空でない規則に対して、First(X)に最初の記号の各々の最初
の集合を右辺に加える。この右辺の記号がそれ自体が空の規則を伴うリダクションである場合、First(X)に次の記号の最初の集合を右辺に加える。空の規則のない右辺の記号に遭遇するまで、または右辺の記号がなくなるまで、この方法で続行する。
1.αにおける最初の記号の最初の集合から始める。これにεが含まれていない場合は、この集合をFirst(α)として返す。
1.XがΩの場合、そのFollow(X)にはFirst(Ω)におけるすべてのイベントとならんで
ブレークイベントが含まれる。
含まれ;そうでなければ、Follow(X)にはFollow(A)が含まれる。
を先読みFとともに加える。
→ pets pet ・, ≪d≫], [pets → pets pet ・, ―]}は、ペットの文法における状態s2である。
1.最初にJにおけるすべてのアイテムを含むアイテムのリストtodo、および最初は空
であるアイテムのセットdoneで開始する。
3.todoから1つのアイテムをポップする。アイテムがすでにdoneにある場合、またはアイテムが完成している場合(つまり、その右端にドットがある場合)、アイテムを破棄してステップ2に戻る。
6.Bが左辺に現れる各規則について、およびnextにおける各イベントYについて、アイテム[rule, 0, Y]をtodoに加える。
Goto。状態は、あるシーケンスγに対して実行可能なアイテムのセットを含み、各シーケンスは、それをこのように表す状態を有する。したがって、γと同一であるが、1イベント分だけより長いシーケンスγXも、ある状態によって表されなければならない。γの
状態がJの場合、γXの状態はXを伴うJのgotoと呼ばれる。
1.最初にJにおけるすべてのアイテムを含むアイテムのリストtodo、および最初は空であるアイテムのセットnextで開始する。
3.todoから1つのアイテムをポップする。アイテムが完成している場合、またはアイテムのコーナー記号がXでない場合は、アイテムを破棄してステップ2に戻る。
の先読みとする。アイテム[rule, dot + 1, Y]をnextに加える。
構築アルゴリズム。ここで、この章の冒頭で述べた構築アルゴリズムの3つのステップについて説明する。最初の集合および後続の集合を計算する最初のステップは、単純に、すべての記号を通って反復し、前のセクションの定義を適用することである。ここで、第2のステップおよび第3のステップについて説明する。
1.最初に開始アイテムのクロージャを含む状態のリストtodo、および最初は空である状態のセットdoneで、開始する。
3.todoから1つの状態Jをポップする。Jがすでにdoneにある場合は、それを破棄してステップ2に戻る。
表Eは、このアルゴリズムを表Bの文法に適用した結果を示す。
Jの各アイテムについて、規則をアイテムの規則とし、Bをアイテムのコーナー記号(
もしあれば)とし、Xをアイテムの先読みとする。
)である。
状態Jの遷移を計算するには:
文法における各リダクションAについて、KをGoto(J, A)とする。
b.Kが空である場合、transition(J, A)は未定義である。
その他の最適化。先に述べたように、TFR(1)パーサ表を構築するためのこのアルゴリズムは、標準LR(1)パーサ表を構築するためのアルゴリズムと同様であり、それの拡張である。LR(1)パーサに適用されるさまざまな一般化、最適化、および状態リダクション戦略は、TFR(1)パーサ表にも準用される。そのような戦略には、LR(1)からLALR(1)への最適化およびLR(1)のGLR(1)への一般化が含まれるが、これらに限定されない。
ットワークを介して入力キューによって受信される。ドライバコンポーネントは入力キューに接続され、ドライバコンポーネントは、バックトラッキングなしで入力キューにおけるトークンを処理し、1つ以上の所定の入力パターンにマッチする、トークンのシーケンスにおけるパターンを識別し、マッチした所定の入力パターンを識別すると、出力イベント出力を生成する。出力キューは、ドライバコンポーネントに接続され、コンピュータメモリにおいて第2のメモリ位置を含み、出力キューは、第2のメモリ位置に、ドライバコンポーネントによって生成された出力イベントの先入れ先出しシーケンスを格納する。状態表コンポーネントはドライバコンポーネントに接続され、状態表コンポーネントは所定の入力パターンを状態表フォーマットで格納する。状態スタックコンポーネントは、ドライバコンポーネントに接続され、コンピュータメモリにおいて第3のメモリ位置を含み、状態スタックコンポーネントは第3のメモリ位置にフレームの後入れ先出しのシーケンシャルストレージを格納する。フレームには、変換状態番号、記号、およびデッドラインが含まれる。
あり;各空の規則はA → τの形を取り、ここで、τはある有益な時間単位で特徴づけら
れる有限時間量であるか、または無制限な時間量を示す無限大である。
. An → λn}の形式をとり、αは属性の名前であり、Tは属性の型であり、Aは非終端記
号であり、λはその記号の属性の値を計算するために使用される関数である。トップレベルの規則は、Ω→Bの形を取ることができ、Bは終端記号または非終端記号のいずれかである。
Claims (20)
- システムであって、
コンピュータメモリにおいて第1のメモリ位置を含む入力キューを備え、前記入力キューは、処理されるべきトークンの先入れ先出しシーケンスを前記第1のメモリ位置に格納し、前記キューにおける各トークンはデータを含むかまたはデータを含まず、前記トークンが前記入力キューに入った時間を示すタイムスタンプを含み、前記トークンはネットワークを介して前記入力キューによって受信され、前記システムはさらに、
前記入力キューに結合されるドライバコンポーネントを備え、前記ドライバコンポーネントは、バックトラッキングなしで前記入力キューにおける前記トークンを処理し、1つ以上の所定の入力パターンにマッチする、前記トークンのシーケンスにおけるパターンを識別し、マッチした所定の入力パターンを識別すると、出力イベント出力を生成し、前記システムはさらに、
前記ドライバコンポーネントに結合され、前記コンピュータメモリにおいて第2のメモリ位置を含む出力キューを備え、前記出力キューは、前記第2のメモリ位置に、前記ドライバコンポーネントによって生成された前記出力イベントの先入れ先出しシーケンスを格納し、前記システムはさらに、
前記ドライバコンポーネントに結合される状態表コンポーネントを備え、前記状態表コンポーネントは前記所定の入力パターンを状態表フォーマットで格納し、前記システムはさらに、
前記ドライバコンポーネントに結合され、前記コンピュータメモリにおいて第3のメモリ位置を含む状態スタックコンポーネントを備え、前記状態スタックコンポーネントは前記第3のメモリ位置にフレームの後入れ先出しのシーケンシャルストレージを格納し、フレームは、変換状態番号、記号、およびデッドラインを含む、システム。 - 前記入力キューで受信される前記トークンは、物性をデジタル量に変換するハードウェアセンサによって生成される、請求項1に記載のシステム。
- 前記ドライバコンポーネントの動作は、前記状態スタックの一番上のフレーム上で参照される状態を検査することと、前記入力キューにおける次の入力トークンを検査し、前記状態スタックに基づいてそれのカテゴリを判断することと、前記状態表によって示されるカテゴリのトークンのために前記状態表によって示されるアクションを実行することとを含む、請求項1に記載のシステム。
- 前記入力キューは、前記入力キューによって受信された時間に基づく順序付けられたリストに前記トークンを格納し、前記キューにおける第1の方向は、最も早く受信されたトークンから最後に受信されたトークンまでの時間順序であり、
前記ドライバコンポーネントは、前記入力キューを前記第1の方向において検査することによって前記トークンを処理し、以前に検査されたトークンを検査しない、請求項1に記載のシステム。 - 前記入力キューは、前記入力キューによって受信された時間順序で前記トークンをリストに格納し、前記キューにおける第1の方向は、最も早く受信されたトークンから最後に受信されたトークンまでの時間順序であり、前記キューにおける第2の方向は、前記最後に受信されたトークンから前記最も早く受信されたトークンまでの時間順序であり、前記第2の方向は、前記第1の方向とは反対であり、
前記ドライバコンポーネントは、前記入力キューを前記第1の方向または前記第2の方向のいずれかのみで検査し、前記第1の方向および前記第2の方向の両方では検査しないことによって、前記トークンを処理する、請求項1に記載のシステム。 - 前記ドライバは前記入力キューの各トークンを1回だけ読出し、読出されたトークンをあとで再び読出すためにバッファに保持しない、請求項1に記載のシステム。
- マッチングされる所定の入力パターンは、無限長のある数のトークンを有し得る、請求項1に記載のシステム。
- 前記状態表コンポーネントは状態機械を指定し、複数の行を含み、前記状態機械の変換状態を提供する各行は、
入力トークンカテゴリ値または入力ブレークカテゴリ値を、その値の入力トークンが受信されるととられるアクションにマッピングするアクションのセットと、
派生記号型を、その型の派生記号を合成すると前記ドライバが変更すべき状態にマッピングする遷移のセットと、
前記状態機械が特定の状態にとどまることが許される時間の間隔を示すタイムアウトとを含む、請求項1に記載のシステム。 - 前記変換状態番号は、前記状態表の行への参照であり、前記記号は、入力トークンもしくは他の記号から導出されたトークンもしくは中間記号、または組み合わせであり、前記デッドラインは、前記ドライバが前記フレームを前記スタックからポップして外す未来の瞬間である、請求項1に記載のシステム。
- 前記ドライバコンポーネントおよび状態表コンポーネントは、プログラマブルゲートアレイにおいて実施される、請求項1に記載のシステム。
- 前記ドライバコンポーネントおよび状態表コンポーネントは、コンピュータを使用して実施される、請求項1に記載のシステム。
- 前記状態表コンポーネントは状態機械を指定し、前記ドライバコンポーネントは、ストリームデータを有するトークンが前記入力キューにおいて受信されない時間の経過に基づいて、前記状態機械における第1の状態から前記状態機械の第2の状態に変化する、請求項1に記載のシステム。
- 前記状態表コンポーネントは状態機械を指定し、前記ドライバコンポーネントは、ストリームデータを有するトークンのシーケンスが第1の期間中に前記入力キューにおいて受信されることに基づいて、前記状態機械における第1の状態から前記状態機械の第2の状態に変化し、
前記ドライバコンポーネントは、ストリームデータを有するトークンのシーケンスが第2の期間中に前記入力キューにおいて受信されないことに基づいて、前記状態機械における第3の状態から前記状態機械の第4の状態に変化する、請求項1に記載のシステム。 - 方法であって、
コンピュータメモリにおいて第1のメモリ位置を含む入力キューを提供することを備え、前記入力キューは、処理されるべきトークンの先入れ先出しシーケンスを前記第1のメモリ位置に格納し、前記キューにおける各トークンに関連付けられるタイムスタンプは、関連付けられるトークンが前記入力キューに入った時間を示し、前記トークンはネットワークを介して前記入力キューによって受信され、前記方法はさらに、
前記入力キューに結合されるドライバコンポーネントを提供することを備え、前記ドライバコンポーネントは、バックトラッキングなしで前記入力キューにおける前記トークンを処理し、1つ以上の所定の入力パターンにマッチする、前記トークンのシーケンスにおけるパターンを識別し、マッチした所定の入力パターンを識別すると、出力イベント出力を生成し、前記方法はさらに、
前記ドライバコンポーネントに結合され、前記コンピュータメモリにおいて第2のメモリ位置を含む出力キューを提供することを備え、前記出力キューは、前記第2のメモリ位置に、前記ドライバコンポーネントによって生成された前記出力イベントの先入れ先出しシーケンスを格納し、前記方法はさらに、
前記ドライバコンポーネントに結合される状態表コンポーネントを提供することを備え、前記状態表コンポーネントは前記所定の入力パターンを状態表フォーマットで格納し、前記方法はさらに、
前記ドライバコンポーネントに結合され、前記コンピュータメモリにおいて第3のメモリ位置を含む状態スタックコンポーネントを提供することを備え、前記状態スタックコンポーネントは前記第3のメモリ位置にフレームの後入れ先出しのシーケンシャルストレージを格納し、フレームは、変換状態番号、記号、およびデッドラインを含み、前記方法はさらに、
前記状態表コンポーネントのために状態表を生成することを備え、前記状態表コンポーネントのために状態表を生成することは、
入力データのカテゴリを各々が表わす終端記号の集合を識別することと、
終端記号または非終端記号の少なくとも1つのパターンを各々が表わす非終端記号の集合を識別することと、
文法規則のセットを識別することと、
トップレベルの規則を識別することと、
属性のセットを識別することと、
各識別された終端記号および非終端記号について最初の集合を計算することと、
各識別された終端記号および非終端記号について後続集合を計算することと、
対応する後続集合の要素の各々を有する、前記トップレベルの規則のクロージャから開始状態を生成することとを含む、方法。 - 前記状態表を生成することは、
前記開始状態から状態変化遷移が存在する各状態のクロージャを帰納的に生成することによって前記開始状態から到達可能なすべての状態を生成することと、
組み合わせおよびリダクションによって状態のセットを最適化することと、
各状態についてのアクション、遷移、およびタイムアウト値を生成することとを含む、請求項14に記載の方法。 - 前記文法規則のセットは、
各空でない規則はA → B0 . . . Bnの形を取り、ここでAは非終端記号であり、B0からBnは各々終端記号または非終端記号のいずれかであることを含み、
各空の規則はA → τの形を取り、ここで、τはある有益な時間単位で特徴づけられる
有限時間量であるか、または無制限な時間量を示す無限大であることを含む、請求項14に記載の方法。 - 前記属性のセットは、
各属性は、α:T = {A0 → λ0, . . . An → λn}の形式をとり、αは前記属性の名前
であり、Tは前記属性の型であり、Aは非終端記号であり、λはその記号の属性の値を計算するために使用される関数であることを含む、請求項14に記載の方法。 - 前記トップレベルの規則は、Ω→Bの形を有し、Bは終端記号または非終端記号のいずれかである、請求項14に記載の方法。
- 方法であって、
物理量を監視し、監視された物理量をデジタル形式のデータストリームに変換するハードウェアセンサからデータストリームを受信することと、
前記データストリームを入力キューに格納することとを備え、前記データストリームにおける各トークンは、前記トークンが受信されたときのタイムスタンプと共に格納され、前記方法はさらに、
単一の方向に前記入力キューを通ってトークンを読出し、以前に読出されたトークンを再読出ししないことによって、1つ以上の所定のパターンにマッチする、前記データストリームにおけるパターンを識別することと、
前記データストリーム内において所定のパターンを識別すると、前記所定のパターンが識別されたという肯定的な表示を前記出力キューにおいて出力することとを備える、方法。 - 所定のパターンが前記データストリームにおいて識別されていない間に、出力キューにおいて、前記所定のパターンが識別されたという否定的な表示を出力することをさらに備え、前記所定のパターンは状態表および状態スタックに格納される、請求項19に記載の方法。
Applications Claiming Priority (10)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662312223P | 2016-03-23 | 2016-03-23 | |
US201662312187P | 2016-03-23 | 2016-03-23 | |
US201662312106P | 2016-03-23 | 2016-03-23 | |
US201662312255P | 2016-03-23 | 2016-03-23 | |
US62/312,255 | 2016-03-23 | ||
US62/312,106 | 2016-03-23 | ||
US62/312,223 | 2016-03-23 | ||
US62/312,187 | 2016-03-23 | ||
PCT/US2017/023906 WO2017165708A1 (en) | 2016-03-23 | 2017-03-23 | Efficient state machines for real-time dataflow programming |
JP2018549927A JP7019589B2 (ja) | 2016-03-23 | 2017-03-23 | リアルタイムデータフロープログラミングのための効率的な状態機械 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018549927A Division JP7019589B2 (ja) | 2016-03-23 | 2017-03-23 | リアルタイムデータフロープログラミングのための効率的な状態機械 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2022064982A true JP2022064982A (ja) | 2022-04-26 |
JP7326510B2 JP7326510B2 (ja) | 2023-08-15 |
Family
ID=59897282
Family Applications (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018549799A Active JP6896759B2 (ja) | 2016-03-23 | 2017-03-23 | リアルタイムデータフロープログラミングにおけるパターン駆動型反応の合成 |
JP2018549906A Pending JP2019516167A (ja) | 2016-03-23 | 2017-03-23 | リアルタイムデータフロープログラミング言語のためのツールおよび方法 |
JP2018549927A Active JP7019589B2 (ja) | 2016-03-23 | 2017-03-23 | リアルタイムデータフロープログラミングのための効率的な状態機械 |
JP2022004285A Active JP7371141B2 (ja) | 2016-03-23 | 2022-01-14 | リアルタイムデータフロープログラミング言語のためのツールおよび方法 |
JP2022014853A Active JP7326510B2 (ja) | 2016-03-23 | 2022-02-02 | リアルタイムデータフロープログラミングのための効率的な状態機械 |
Family Applications Before (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018549799A Active JP6896759B2 (ja) | 2016-03-23 | 2017-03-23 | リアルタイムデータフロープログラミングにおけるパターン駆動型反応の合成 |
JP2018549906A Pending JP2019516167A (ja) | 2016-03-23 | 2017-03-23 | リアルタイムデータフロープログラミング言語のためのツールおよび方法 |
JP2018549927A Active JP7019589B2 (ja) | 2016-03-23 | 2017-03-23 | リアルタイムデータフロープログラミングのための効率的な状態機械 |
JP2022004285A Active JP7371141B2 (ja) | 2016-03-23 | 2022-01-14 | リアルタイムデータフロープログラミング言語のためのツールおよび方法 |
Country Status (8)
Country | Link |
---|---|
US (11) | US10572230B2 (ja) |
EP (3) | EP3433769B1 (ja) |
JP (5) | JP6896759B2 (ja) |
KR (3) | KR102092722B1 (ja) |
CN (5) | CN108885632B (ja) |
AU (4) | AU2017238637B2 (ja) |
SA (2) | SA518400085B1 (ja) |
WO (3) | WO2017165708A1 (ja) |
Families Citing this family (137)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10140191B2 (en) * | 2015-07-24 | 2018-11-27 | Accenture Global Services Limited | System for development of IoT system architecture |
US10324773B2 (en) * | 2015-09-17 | 2019-06-18 | Salesforce.Com, Inc. | Processing events generated by internet of things (IoT) |
JP6896759B2 (ja) | 2016-03-23 | 2021-06-30 | フォグホーン システムズ, インコーポレイテッドFoghorn Systems, Inc. | リアルタイムデータフロープログラミングにおけるパターン駆動型反応の合成 |
US10110563B1 (en) | 2016-04-28 | 2018-10-23 | Palo Alto Networks, Inc. | Reduction and acceleration of a deterministic finite automaton |
US10908886B2 (en) * | 2016-07-12 | 2021-02-02 | Oracle International Corporation | Accessing a migrated member in an updated type |
EP3475887B1 (en) | 2016-08-22 | 2023-07-19 | Oracle International Corporation | System and method for dynamic lineage tracking, reconstruction, and lifecycle management |
US20180069925A1 (en) * | 2016-09-08 | 2018-03-08 | BigStream Solutions, Inc. | Systems and methods for automatic transferring of big data computations from centralized systems to at least one of messaging systems and data collection systems |
US10055339B2 (en) * | 2016-09-28 | 2018-08-21 | Wipro Limited | Methods and systems for testing mobile applications |
US10025566B1 (en) * | 2016-10-07 | 2018-07-17 | The Mathworks, Inc. | Scheduling technique to transform dataflow graph into efficient schedule |
US11323519B2 (en) * | 2017-04-19 | 2022-05-03 | Microsoft Technology Licensing, Llc | Internet of things pub-sub data publisher |
GB201706300D0 (en) * | 2017-04-20 | 2017-06-07 | Microsoft Technology Licensing Llc | Debugging tool |
US11537368B2 (en) * | 2017-06-03 | 2022-12-27 | Apple Inc. | Integrating machine learning models into an interpreted software development environment |
US10387129B2 (en) * | 2017-06-29 | 2019-08-20 | General Electric Company | Deployment of environment-agnostic services |
US10872149B1 (en) * | 2017-07-25 | 2020-12-22 | Perspecta Labs Inc. | Anomaly detection based on side-channel emanations |
US10452624B2 (en) * | 2017-08-02 | 2019-10-22 | Vmware, Inc. | Storage and analysis of data records associated with managed devices in a device management platform |
US10545742B2 (en) * | 2017-09-06 | 2020-01-28 | Nicira, Inc. | Annotation-driven framework for generating state machine updates |
EP3688595A1 (en) | 2017-09-30 | 2020-08-05 | Oracle International Corporation | Binding, in an api registry, backend services endpoints to api functions |
US11113608B2 (en) | 2017-10-30 | 2021-09-07 | Accenture Global Solutions Limited | Hybrid bot framework for enterprises |
CN111480150B (zh) * | 2017-11-02 | 2024-07-16 | 芯力能简易股份公司 | 用于控制引擎调试、测试、校准和调节的软件环境 |
US10310959B2 (en) | 2017-11-07 | 2019-06-04 | Bank Of America Corporation | Pre-deployment validation system using intelligent databases |
RO133453A2 (ro) * | 2017-12-28 | 2019-06-28 | Siemens Aktiengesellschaft | Motor de procesare a semnalelor şi evenimentelor |
US11012416B2 (en) * | 2018-01-15 | 2021-05-18 | Akamai Technologies, Inc. | Symbolic execution for web application firewall performance |
CN108400917B (zh) * | 2018-01-22 | 2021-05-18 | 深圳市新科聚合网络技术有限公司 | 一种面向智能制造的边缘计算网关及系统 |
CN110347396B (zh) * | 2018-04-03 | 2023-05-26 | 阿里巴巴集团控股有限公司 | 系统构建方法、控制方法、装置、控制系统及计算设备 |
JPWO2019198221A1 (ja) * | 2018-04-13 | 2020-04-30 | 三菱電機株式会社 | データ処理装置、データ処理方法及びプログラム |
US10986183B2 (en) * | 2018-05-02 | 2021-04-20 | Hewlett Packard Enterprise Development Lp | Data management in a network environment |
US11388222B2 (en) * | 2018-05-04 | 2022-07-12 | Verizon Patent And Licensing Inc. | Mobile edge computing |
US11226797B2 (en) * | 2018-05-24 | 2022-01-18 | Chaldal, Inc. | Representation and analysis of workflows using abstract syntax trees |
EP3579174A1 (en) | 2018-06-08 | 2019-12-11 | Hexagon Technology Center GmbH | Mobile vehicles in manufacturing |
US11275485B2 (en) * | 2018-06-15 | 2022-03-15 | Sap Se | Data processing pipeline engine |
US10666557B2 (en) * | 2018-08-03 | 2020-05-26 | Hitachi, Ltd. | Method to manage data flow for edge-core distributed analytics systems |
CN109150703B (zh) * | 2018-08-23 | 2019-07-02 | 北方工业大学 | 一种工业物联网智能云网关及其通信方法 |
US11601949B2 (en) * | 2018-08-28 | 2023-03-07 | Koninklijke Philips N.V. | Distributed edge-environment computing platform for context-enabled ambient intelligence, environmental monitoring and control, and large-scale near real-time informatics |
US11228481B2 (en) * | 2018-08-29 | 2022-01-18 | Fathym, Inc. | Method for communicating and debugging across IoT systems |
WO2020041872A1 (en) | 2018-08-30 | 2020-03-05 | Streamworx.Ai Inc. | Systems, methods and computer program products for scalable, low-latency processing of streaming data |
US11252258B2 (en) * | 2018-09-27 | 2022-02-15 | Hewlett Packard Enterprise Development Lp | Device-aware dynamic protocol adaptation in a software-defined network |
DE102019124215A1 (de) * | 2018-09-28 | 2020-04-02 | Dspace Digital Signal Processing And Control Engineering Gmbh | Verfahren zum Ändern von Modellen für die Erzeugung von Quellcode |
US20200117576A1 (en) * | 2018-10-12 | 2020-04-16 | Ca, Inc. | Assessing the container-readiness of software applications |
US11960261B2 (en) | 2019-07-12 | 2024-04-16 | Johnson Controls Tyco IP Holdings LLP | HVAC system with sustainability and emissions controls |
US12007732B2 (en) | 2019-07-12 | 2024-06-11 | Johnson Controls Tyco IP Holdings LLP | HVAC system with building infection control |
CN109299380B (zh) * | 2018-10-30 | 2021-07-02 | 浙江工商大学 | 在线教育平台中基于多维特征的习题个性化推荐方法 |
CN109471401B (zh) * | 2018-11-08 | 2021-02-26 | 金蝶软件(中国)有限公司 | 数据处理方法以及边缘计算数据盒 |
US11727021B2 (en) * | 2018-12-14 | 2023-08-15 | Tibco Software Inc. | Process control tool for processing big and wide data |
US11442105B2 (en) * | 2019-01-10 | 2022-09-13 | Tektronix, Inc. | Disaggregated distributed measurement analysis system using dynamic application builder |
IL305359A (en) * | 2019-01-10 | 2023-10-01 | Brane Cognitives Pte Ltd | natural solution language |
US11761660B2 (en) | 2019-01-30 | 2023-09-19 | Johnson Controls Tyco IP Holdings LLP | Building control system with feedback and feedforward total energy flow compensation |
US11150926B2 (en) * | 2019-02-22 | 2021-10-19 | International Business Machines Corporation | Native code generation for cloud services |
US11790263B2 (en) | 2019-02-25 | 2023-10-17 | International Business Machines Corporation | Program synthesis using annotations based on enumeration patterns |
KR102188562B1 (ko) * | 2019-02-28 | 2020-12-09 | 숙명여자대학교산학협력단 | 시각 블록 언어 기반 IoT 응용 프로그램 개발 도구 및 그 동작 방법 |
ES2784865A1 (es) * | 2019-03-26 | 2020-10-01 | Ind Internet Of Robots S L U | Sistema de monitorizacion de maquinaria industrial y metodo para llevar a cabo dicha monitorizacion |
US11616839B2 (en) | 2019-04-09 | 2023-03-28 | Johnson Controls Tyco IP Holdings LLP | Intelligent edge computing platform with machine learning capability |
US10951387B2 (en) | 2019-04-22 | 2021-03-16 | Pinnacle Peak Holding Corporation | Systems and methods for self-formation and self-management of full-duplex communication networks |
CN112181396A (zh) * | 2019-07-02 | 2021-01-05 | 北京京东尚科信息技术有限公司 | Rn代码自动生成系统、方法、设备及介质 |
US11714393B2 (en) | 2019-07-12 | 2023-08-01 | Johnson Controls Tyco IP Holdings LLP | Building control system with load curtailment optimization |
US11274842B2 (en) | 2019-07-12 | 2022-03-15 | Johnson Controls Tyco IP Holdings LLP | Systems and methods for optimizing ventilation, filtration, and conditioning schemes for buildings |
US11074081B2 (en) * | 2019-08-02 | 2021-07-27 | GM Global Technology Operations LLC | Architecture and method supporting multiple vision stream using shared server on embedded platform |
US20210034031A1 (en) * | 2019-08-02 | 2021-02-04 | Hitachi, Ltd. | Using ai for ensuring data integrity of industrial controllers |
US10691728B1 (en) * | 2019-08-13 | 2020-06-23 | Datadog, Inc. | Transforming a data stream into structured data |
TWI720580B (zh) * | 2019-08-14 | 2021-03-01 | 樂澄資訊顧問有限公司 | 視覺模組化程式系統 |
US11121905B2 (en) | 2019-08-15 | 2021-09-14 | Forcepoint Llc | Managing data schema differences by path deterministic finite automata |
WO2021042065A1 (en) * | 2019-08-29 | 2021-03-04 | Unilog Content Solutions, Llc | System and method for non-programmatically constructing software solutions on configurable computing platform |
WO2021050816A1 (en) * | 2019-09-12 | 2021-03-18 | Jabil Inc. | Method and system for managing secure iot device applications |
CN110647324B (zh) * | 2019-09-18 | 2023-05-16 | 编缘(杭州)教育科技有限公司 | Python与Scratch交互式编程方法及电子设备 |
US10942710B1 (en) * | 2019-09-24 | 2021-03-09 | Rockwell Automation Technologies, Inc. | Industrial automation domain-specific language programming paradigm |
US11048483B2 (en) | 2019-09-24 | 2021-06-29 | Rockwell Automation Technologies, Inc. | Industrial programming development with an extensible integrated development environment (IDE) platform |
US11163536B2 (en) | 2019-09-26 | 2021-11-02 | Rockwell Automation Technologies, Inc. | Maintenance and commissioning |
US11392112B2 (en) | 2019-09-26 | 2022-07-19 | Rockwell Automation Technologies, Inc. | Virtual design environment |
US11042362B2 (en) | 2019-09-26 | 2021-06-22 | Rockwell Automation Technologies, Inc. | Industrial programming development with a trained analytic model |
US11733687B2 (en) | 2019-09-26 | 2023-08-22 | Rockwell Automation Technologies, Inc. | Collaboration tools |
US11080176B2 (en) | 2019-09-26 | 2021-08-03 | Rockwell Automation Technologies, Inc. | Testing framework for automation objects |
US11068260B2 (en) * | 2019-09-27 | 2021-07-20 | Hypernet Labs, Inc. | Containerizing source code for execution in different language using drag-and-drop operation |
US11422547B2 (en) | 2019-10-21 | 2022-08-23 | Johnson Controls Tyco IP Holdings LLP | Building management system with machine learning for detecting anomalies in vibration data sets |
US12050442B2 (en) | 2019-10-21 | 2024-07-30 | Tyco Fire & Security Gmbh | Edge devices and gateways with machine learning for detecting anomalies in building equipment vibration data |
US11150877B2 (en) * | 2019-11-06 | 2021-10-19 | Google Llc | Automatically generating machine learning models for software tools that operate on source code |
US11632333B2 (en) | 2019-11-14 | 2023-04-18 | Sayantek, Inc | System and method for implementation of a distributed data flow-based framework |
CN112817573B (zh) * | 2019-11-18 | 2024-03-01 | 北京沃东天骏信息技术有限公司 | 用于构建流式计算应用的方法、装置、计算机系统和介质 |
US10929181B1 (en) * | 2019-11-22 | 2021-02-23 | Iterate Studio, Inc. | Developer independent resource based multithreading module |
CN110908916B (zh) * | 2019-11-27 | 2022-02-22 | 威创集团股份有限公司 | 一种调试工具及调试方法 |
JP7434560B2 (ja) * | 2019-12-13 | 2024-02-20 | ライブパーソン, インコーポレイテッド | 双方向通信システムのためのサービスとしての機能クラウドチャットボット |
US11763217B2 (en) | 2019-12-20 | 2023-09-19 | Iterate Studio, Inc. | Dynamic feature loading |
CN111459965B (zh) * | 2019-12-24 | 2023-05-05 | 中国科学院沈阳自动化研究所 | 一种面向边缘计算的信息监控系统 |
WO2021137669A1 (ko) * | 2019-12-30 | 2021-07-08 | 매니코어소프트주식회사 | 딥러닝을 위한 가속기용 프로그램 생성 방법 |
BR112022014874A2 (pt) * | 2020-01-28 | 2022-09-20 | Ab Initio Technology Llc | Editor para gerar gráficos computacionais |
EP3869228B1 (en) | 2020-02-21 | 2022-07-06 | Tata Consultancy Services Limited | Edge based sensor actuation and control in iot network for event monitoring |
US11061652B1 (en) * | 2020-03-26 | 2021-07-13 | Cognizant Technology Solutions India Pvt. Ltd. | System and a method for moving legacy applications to cloud |
US11308447B2 (en) | 2020-04-02 | 2022-04-19 | Rockwell Automation Technologies, Inc. | Cloud-based collaborative industrial automation design environment |
WO2021211911A1 (en) * | 2020-04-16 | 2021-10-21 | Blackswan Technologies Inc. | Artificial intelligence cloud operating system |
US11609893B1 (en) * | 2020-05-27 | 2023-03-21 | The Mathworks, Inc. | Systems and methods for generating and modifying a pattern for pattern matching utilizing a hierarchical structure that stores one or more values |
US11573934B1 (en) * | 2020-06-03 | 2023-02-07 | Egnyte, Inc. | System and method of presenting a hybrid cloud cache as a file system |
CN111782194B (zh) * | 2020-06-26 | 2022-09-13 | 西北工业大学 | 一种基于航空嵌入式开放体系架构的可移植单元代码自动生成方法 |
US20220004369A1 (en) * | 2020-07-01 | 2022-01-06 | Johnson Controls Tyco IP Holdings LLP | Rule builder and simulator tool for creating complex event processing rules |
EP3940586A1 (en) * | 2020-07-17 | 2022-01-19 | Sony Group Corporation | An electronic device and a related method for detecting and counting an action |
CN116711288A (zh) * | 2020-08-27 | 2023-09-05 | 西门子股份公司 | 用于分布式边缘节点部署的数据流图的集中式管理 |
SE545771C2 (en) * | 2020-08-28 | 2024-01-09 | Stream Analyze Sweden Ab | Method and system for data processing |
CN112052053B (zh) * | 2020-10-10 | 2023-12-19 | 国科晋云技术有限公司 | 一种清理高性能计算集群中挖矿程序的方法及系统 |
CN112394914B (zh) * | 2020-10-28 | 2022-05-24 | 浙江大学 | 一种面向物联网应用的以边缘为中心的编程方法 |
US11734100B2 (en) | 2020-10-30 | 2023-08-22 | Nutanix, Inc. | Edge side filtering in hybrid cloud environments |
US11290330B1 (en) | 2020-10-30 | 2022-03-29 | Nutanix, Inc. | Reconciliation of the edge state in a telemetry platform |
US11700178B2 (en) | 2020-10-30 | 2023-07-11 | Nutanix, Inc. | System and method for managing clusters in an edge network |
CN116391172B (zh) * | 2020-11-09 | 2024-09-06 | “工艺系统”有限责任公司 | 用于创建和执行高度扩展的云应用的系统和方法 |
US11550583B2 (en) * | 2020-11-13 | 2023-01-10 | Google Llc | Systems and methods for handling macro compatibility for documents at a storage system |
CN112363856A (zh) * | 2020-11-19 | 2021-02-12 | 北京计算机技术及应用研究所 | 一种基于dds实现深度学习框架与应用程序互操作的方法 |
CN112416197B (zh) * | 2020-11-23 | 2021-12-03 | 山东师范大学 | 基于Excel和VBA的程序单步演示装置及方法 |
CN112506489B (zh) * | 2020-11-30 | 2024-06-18 | 广州市智能软件产业研究院 | 一种安全协议建模端与验证端的跨平台方法、计算机及存储介质 |
CN112327815A (zh) * | 2020-11-30 | 2021-02-05 | 北京一雄信息科技有限公司 | 一种批量测试汽车诊断仪数据流准确性的方法及装置 |
US11403090B2 (en) | 2020-12-08 | 2022-08-02 | Alibaba Group Holding Limited | Method and system for compiler optimization based on artificial intelligence |
KR102305845B1 (ko) | 2020-12-21 | 2021-09-29 | 쿠팡 주식회사 | 코드의 검증을 위한 전자 장치 및 그 방법 |
JP7492451B2 (ja) | 2020-12-22 | 2024-05-29 | 株式会社日立製作所 | データ制御システム及びデータ制御方法 |
US20210117418A1 (en) * | 2020-12-23 | 2021-04-22 | Vikram Dadwal | Time-aware general-purpose input output for industrial control systems |
EP4036752B1 (en) * | 2021-01-29 | 2024-10-09 | ABB Schweiz AG | Method for analysing process data related to a segment of a production process |
US20220300850A1 (en) * | 2021-03-16 | 2022-09-22 | Data Gran, Inc. | End-to-end machine learning pipelines for data integration and analytics |
KR102500395B1 (ko) * | 2021-03-30 | 2023-02-16 | 서울시립대학교 산학협력단 | 프로그램 소스코드의 버그를 정정하는 장치 및 방법 |
US20220350866A1 (en) * | 2021-05-03 | 2022-11-03 | EMC IP Holding Company LLC | Multi-path layer configured to de-obfuscate logs produced by multi-path input-output drivers |
WO2022251700A1 (en) | 2021-05-28 | 2022-12-01 | Johnson Controls Tyco IP Holdings LLP | Building control system with predictive control of carbon emissions using marginal operating emissions rate |
CN113312652B (zh) * | 2021-06-25 | 2024-05-03 | 国网辽宁省电力有限公司电力科学研究院 | 基于改进cat的云边协同电力终端采集数据完整性验证系统 |
US12101523B2 (en) | 2021-09-21 | 2024-09-24 | Blackberry Limited | Method and system for vehicle data file playback |
US11902664B2 (en) | 2021-09-22 | 2024-02-13 | Adam A. Locke | Cellular telephone with protracting monitor screen and camera |
CN113944601A (zh) * | 2021-10-15 | 2022-01-18 | 上海大学 | 一种用于风机高频海量数据实时采集传输及处理的方法 |
WO2023066777A1 (en) * | 2021-10-19 | 2023-04-27 | Koninklijke Philips N.V. | Efficient log file transfer and processing using grouping of regular expressions and service level dependence |
WO2023081634A1 (en) * | 2021-11-05 | 2023-05-11 | Swarm Engineering, Inc. | Method of creating self-assembling, transient analytic and learning agents in a message-driven architecture |
US12095823B2 (en) | 2021-12-10 | 2024-09-17 | Bank Of America Corporation | System and method for self-clustering edge computing protection |
CN114385178B (zh) * | 2021-12-14 | 2024-07-23 | 厦门大学 | 基于抽象语法树结构信息增强的代码生成方法 |
KR102455142B1 (ko) * | 2022-01-18 | 2022-10-17 | 한국과학기술원 | 컨테이너 환경을 위한 eBPF(extended Berkeley Packet Filter)/XDP(Express Data Path)에 기반한 고속 네트워크 패킷 페이로드 검사 시스템 |
CN114115834B (zh) * | 2022-01-25 | 2022-04-26 | 之江实验室 | 一种软硬件协同编译处理方法及系统 |
US11907142B2 (en) | 2022-02-04 | 2024-02-20 | Red Hat, Inc. | Configuring polling times for software applications |
US12047253B2 (en) | 2022-02-11 | 2024-07-23 | Nutanix, Inc. | System and method to provide priority based quality of service for telemetry data |
WO2023167862A1 (en) | 2022-03-01 | 2023-09-07 | Johnson Controls Tyco IP Holdings LLP | Building automation system with flexible architecture |
US12050017B2 (en) | 2022-03-01 | 2024-07-30 | Tyco Fire & Security Gmbh | Building automation system with edge device local configuration |
US11765065B1 (en) | 2022-03-23 | 2023-09-19 | Nutanix, Inc. | System and method for scalable telemetry |
TWI823408B (zh) * | 2022-05-27 | 2023-11-21 | 國立成功大學 | 機械設備雲端控制系統 |
US11989537B2 (en) * | 2022-06-09 | 2024-05-21 | Xilinx, Inc. | Dataflow-based computer program visualization and refactoring |
US11972257B2 (en) * | 2022-07-12 | 2024-04-30 | Rockwell Automation Technologies, Inc. | Industrial automation system topology with point to point business rule integration |
WO2024068483A1 (en) | 2022-09-30 | 2024-04-04 | Sun Chemical B.V. | Led-curable offset inks containing aluminum additives |
EP4357915A1 (en) * | 2022-10-18 | 2024-04-24 | Nokia Solutions and Networks Oy | A computer program generating apparatus and method |
EP4435608A1 (en) * | 2023-03-22 | 2024-09-25 | BlackBerry Limited | Method and system for dynamic and automatic development configuration for a vehicle |
KR102651797B1 (ko) * | 2023-09-18 | 2024-03-28 | (주) 웨다 | Ai 비전문가를 위한 소프트웨어 정의 제조 기반의 머신러닝 플랫폼 시스템 |
CN118132730B (zh) * | 2024-04-30 | 2024-07-02 | 苏州元脑智能科技有限公司 | 一种数据查询方法、系统、装置、设备、可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030035582A1 (en) * | 2001-08-14 | 2003-02-20 | Christian Linhart | Dynamic scanner |
JP2008546054A (ja) * | 2005-05-20 | 2008-12-18 | マイクロソフト コーポレーション | イベントストリームからのイベントパターンの認識 |
JP2015533243A (ja) * | 2012-09-28 | 2015-11-19 | テレフオンアクチーボラゲット エル エム エリクソン(パブル) | データストリームにおいてデータパターンを検出する装置、方法、及びネットワークサーバ |
JP2016539427A (ja) * | 2013-12-05 | 2016-12-15 | オラクル・インターナショナル・コーポレイション | 多重入力データストリームにわたるパターンマッチング |
Family Cites Families (108)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3979733A (en) * | 1975-05-09 | 1976-09-07 | Bell Telephone Laboratories, Incorporated | Digital data communications system packet switch |
US4975865A (en) * | 1989-05-31 | 1990-12-04 | Mitech Corporation | Method and apparatus for real-time control |
US5181025A (en) * | 1991-05-24 | 1993-01-19 | The United States Of America As Represented By The Secretary Of The Air Force | Conformal telemetry system |
JPH06168222A (ja) * | 1992-11-30 | 1994-06-14 | Toshiba Corp | プラントのシミュレーション装置 |
DE69432746T2 (de) * | 1994-06-10 | 2004-03-25 | Hewlett-Packard Co. (N.D.Ges.D.Staates Delaware), Palo Alto | Ereignisverarbeitungssystem und Verfahren zur Herstellen eines solchen Systems |
JP2965058B2 (ja) * | 1995-12-18 | 1999-10-18 | 日本電気株式会社 | Cpu命令エミュレートシステム |
US5916305A (en) * | 1996-11-05 | 1999-06-29 | Shomiti Systems, Inc. | Pattern recognition in data communications using predictive parsers |
US5896522A (en) * | 1996-12-31 | 1999-04-20 | Unisys Corporation | Selective emulation interpretation using transformed instructions |
JP3033713B2 (ja) * | 1997-06-12 | 2000-04-17 | 北海道日本電気ソフトウェア株式会社 | 仮想計算機エミュレート装置 |
US6219628B1 (en) * | 1997-08-18 | 2001-04-17 | National Instruments Corporation | System and method for configuring an instrument to perform measurement functions utilizing conversion of graphical programs into hardware implementations |
US7743362B2 (en) * | 1998-02-17 | 2010-06-22 | National Instruments Corporation | Automatic generation of application domain specific graphical programs |
US6826756B1 (en) * | 1998-06-30 | 2004-11-30 | Symbol Technologies, Inc. | Automatic transfer of data from an input device to a software application |
US6522875B1 (en) | 1998-11-17 | 2003-02-18 | Eric Morgan Dowling | Geographical web browser, methods, apparatus and systems |
JP3788111B2 (ja) * | 1999-06-30 | 2006-06-21 | 株式会社デンソー | 情報サービスシステム |
US7937665B1 (en) * | 2000-06-13 | 2011-05-03 | National Instruments Corporation | System and method for automatically generating a graphical program to implement a prototype |
US7590644B2 (en) * | 1999-12-21 | 2009-09-15 | International Business Machine Corporation | Method and apparatus of streaming data transformation using code generator and translator |
US6725287B1 (en) | 2000-11-09 | 2004-04-20 | Elity Systems, Inc. | Method and system for capturing streaming data by an actionable information engine |
US9141708B2 (en) * | 2001-02-23 | 2015-09-22 | Metaframe Technologies Gmbh | Methods for generating selection structures, for making selections according to selection structures and for creating selection descriptions |
US7367028B2 (en) * | 2001-08-14 | 2008-04-29 | National Instruments Corporation | Graphically deploying programs on devices in a system |
US7203635B2 (en) | 2002-06-27 | 2007-04-10 | Microsoft Corporation | Layered models for context awareness |
US7293112B2 (en) * | 2002-11-12 | 2007-11-06 | National Instruments Corporation | Graphical program node for displaying acquired images |
JP2004303114A (ja) * | 2003-04-01 | 2004-10-28 | Hitachi Ltd | インタープリタおよびネイティブコード実行方法 |
US7647562B2 (en) * | 2003-04-03 | 2010-01-12 | National Instruments Corporation | Deployment and execution of a graphical program on an embedded device from a PDA |
US20070011334A1 (en) * | 2003-11-03 | 2007-01-11 | Steven Higgins | Methods and apparatuses to provide composite applications |
US7318075B2 (en) * | 2004-02-06 | 2008-01-08 | Microsoft Corporation | Enhanced tabular data stream protocol |
US7836426B2 (en) * | 2004-05-06 | 2010-11-16 | National Instruments Corporation | Automatic generation of application domain specific graphical programs |
US7650574B2 (en) * | 2004-05-11 | 2010-01-19 | National Instruments Corporation | Visually indicating problems found during programmatic analysis of a graphical program |
US7650594B2 (en) * | 2004-05-27 | 2010-01-19 | National Instruments Corporation | Graphical program analyzer with framework for adding user-defined tests |
JP2006095440A (ja) * | 2004-09-29 | 2006-04-13 | Toshiba Corp | 下水処理場の運転管理システム |
JP2008524965A (ja) * | 2004-12-21 | 2008-07-10 | ミスルトウ テクノロジーズ, インコーポレイテッド | ネットワークインターフェイスおよびファイヤーウォールデバイス |
GB2425622A (en) * | 2005-04-27 | 2006-11-01 | Ncapsa Ltd | Programming real-time systems using data flow diagrams |
ATE437507T1 (de) * | 2005-05-23 | 2009-08-15 | Nxp Bv | Integrierte schaltung mit internem kommunikationsnetz |
US20070044072A1 (en) * | 2005-08-16 | 2007-02-22 | Hayles Timothy J | Automatically Generating a Graphical Data Flow Program Based on a Circuit Diagram |
US7864178B2 (en) * | 2005-11-09 | 2011-01-04 | National Instruments Corporation | Creating machine vision inspections using a state diagram representation |
US8543337B2 (en) | 2006-04-21 | 2013-09-24 | The Mathworks, Inc. | Block diagram explorer in a method and apparatus for integrated modeling, simulation and analysis of chemical and biological systems |
US8046739B2 (en) * | 2006-08-04 | 2011-10-25 | National Instruments Corporation | System and method for enabling a graphical program to propagate attributes of inputs and outputs of blocks |
US9038041B2 (en) * | 2006-12-04 | 2015-05-19 | Tibco Software, Inc. | Stream processor with compiled programs |
US8370812B2 (en) * | 2007-04-02 | 2013-02-05 | International Business Machines Corporation | Method and system for automatically assembling processing graphs in information processing systems |
US7899904B2 (en) * | 2007-04-30 | 2011-03-01 | Lsi Corporation | Hardware processing of regular expressions |
US8812261B2 (en) | 2007-08-23 | 2014-08-19 | Applied Materials, Inc. | Method and apparatus to automatically create virtual sensors with templates |
US20090106011A1 (en) | 2007-10-22 | 2009-04-23 | International Business Machines Corporation | System and method for developing and deploying sensor and actuator applications over distributed computing infrastructure |
US8364456B2 (en) | 2008-01-10 | 2013-01-29 | The Mathworks, Inc. | Conditionally executed states |
KR101468546B1 (ko) | 2008-02-11 | 2014-12-03 | 삼성전자 주식회사 | 이미지 센서의 구동 방법 |
US20090228407A1 (en) | 2008-03-05 | 2009-09-10 | The Boeing Company | Distributed cognitive architecture |
US8676841B2 (en) * | 2008-08-29 | 2014-03-18 | Oracle International Corporation | Detection of recurring non-occurrences of events using pattern matching |
CN101442540B (zh) * | 2008-12-30 | 2012-09-05 | 合肥昊特信息科技有限公司 | 基于现场可编程门阵列的高速模式匹配算法 |
US8250016B2 (en) * | 2009-04-17 | 2012-08-21 | Alcatel Lucent | Variable-stride stream segmentation and multi-pattern matching |
US8286191B2 (en) * | 2009-05-14 | 2012-10-09 | International Business Machines Corporation | Dynamically composing data stream processing applications |
US8478967B2 (en) * | 2009-06-01 | 2013-07-02 | National Instruments Corporation | Automatically creating parallel iterative program code in a data flow program |
US8880524B2 (en) * | 2009-07-17 | 2014-11-04 | Apple Inc. | Scalable real time event stream processing |
US8584120B2 (en) * | 2009-11-23 | 2013-11-12 | Julian Michael Urbach | Stream-based software application delivery and launching system |
WO2011072140A1 (en) | 2009-12-09 | 2011-06-16 | The Mathworks, Inc. | Canonicalized versions of reuse candidates in graphical state diagrams |
CN101860978B (zh) | 2010-05-14 | 2012-05-09 | 南京邮电大学 | 一种物联网体系结构 |
EP2598989B1 (en) * | 2010-07-30 | 2020-03-11 | National Instruments Corporation | Developing programs in a graphical specification and constraint language |
WO2012061109A1 (en) * | 2010-10-25 | 2012-05-10 | Ab Initio Technology Llc | Managing data set objects in a dataflow graph that represents a computer program |
US8843911B2 (en) * | 2011-01-25 | 2014-09-23 | Micron Technology, Inc. | Utilizing special purpose elements to implement a FSM |
US9858051B2 (en) * | 2011-06-24 | 2018-01-02 | Cavium, Inc. | Regex compiler |
JP5640910B2 (ja) * | 2011-06-27 | 2014-12-17 | 富士通株式会社 | 照合装置および照合プログラム |
US8948643B2 (en) * | 2011-06-30 | 2015-02-03 | Xerox Corporation | Method and system for controlling multiple printers in a TISP or TIPP system for increased stability |
TWI630493B (zh) * | 2011-09-19 | 2018-07-21 | 塔塔顧問服務有限公司 | 用於提供促進感測器驅動式應用的開發及部署之運算平台的系統及方法 |
US8756189B2 (en) * | 2011-10-31 | 2014-06-17 | International Business Machines Corporation | Rule generation for event processing system |
US20130144814A1 (en) * | 2011-12-05 | 2013-06-06 | International Business Machines Corporation | Conditional probability operator for event processing systems |
US20130191809A1 (en) * | 2012-01-25 | 2013-07-25 | Microsoft Corporation | Graphical representation of an order of operations |
EP2820537A1 (en) * | 2012-02-15 | 2015-01-07 | The Mathworks, Inc. | Generating a state diagram |
US9141631B2 (en) * | 2012-04-16 | 2015-09-22 | International Business Machines Corporation | Table boundary detection in data blocks for compression |
TW201404636A (zh) | 2012-06-08 | 2014-02-01 | Airbiquity Inc | 遠程識別機動車輛及監測駕駛員行爲之電子感測器資料的評估 |
US20140013313A1 (en) * | 2012-07-03 | 2014-01-09 | Johan Eker | Editor/Development Tool for Dataflow Programs |
US9253054B2 (en) | 2012-08-09 | 2016-02-02 | Rockwell Automation Technologies, Inc. | Remote industrial monitoring and analytics using a cloud infrastructure |
US8893080B2 (en) * | 2012-08-15 | 2014-11-18 | Telefonaktiebolaget L M Ericsson (Publ) | Parallelization of dataflow actors with local state |
US8914875B2 (en) | 2012-10-26 | 2014-12-16 | Facebook, Inc. | Contextual device locking/unlocking |
US9043264B2 (en) * | 2012-12-14 | 2015-05-26 | International Business Machines Corporation | Scanning data streams in real-time against large pattern collections |
CN103024059B (zh) | 2012-12-19 | 2015-08-26 | 北京时代凌宇科技有限公司 | 一种物联网中间件系统 |
US9740802B2 (en) * | 2013-03-15 | 2017-08-22 | Fisher-Rosemount Systems, Inc. | Data modeling studio |
CN103200249A (zh) | 2013-03-26 | 2013-07-10 | 大连理工大学 | 物联网智能数据网关系统的实现方法 |
US9235395B2 (en) * | 2013-05-30 | 2016-01-12 | National Instruments Corporation | Graphical development and deployment of parallel floating-point math functionality on a system with heterogeneous hardware components |
KR20150049763A (ko) | 2013-10-31 | 2015-05-08 | 대우조선해양 주식회사 | 부유식 복합 화력발전 플랜트용 폐수 처리시스템의 용존 고형물 처리 시스템 |
EP3070606B1 (en) * | 2013-11-13 | 2022-03-16 | Fujitsu Limited | Event management program, event management method, and distributed system |
EP3087508A1 (en) * | 2013-12-23 | 2016-11-02 | British Telecommunications Public Limited Company | Improved pattern matching machine |
US9843647B2 (en) | 2014-02-25 | 2017-12-12 | Here Global B.V. | Method and apparatus for providing selection and prioritization of sensor data |
US9806974B2 (en) | 2014-04-23 | 2017-10-31 | Cisco Technology, Inc. | Efficient acquisition of sensor data in an automated manner |
US9712645B2 (en) * | 2014-06-26 | 2017-07-18 | Oracle International Corporation | Embedded event processing |
US9933762B2 (en) * | 2014-07-09 | 2018-04-03 | Honeywell International Inc. | Multisite version and upgrade management system |
US20160065306A1 (en) | 2014-09-02 | 2016-03-03 | Chin Sheng Henry Chong | System and method for green communication for intelligent mobile internet of things |
CN104361058A (zh) * | 2014-10-31 | 2015-02-18 | 广东工业大学 | 一种面向海量数据流的哈希结构复杂事件检测方法 |
US9940112B2 (en) * | 2014-11-06 | 2018-04-10 | Capgemini Technology Services India Limited | Efficient framework for deploying middleware services |
US10054450B2 (en) | 2014-11-21 | 2018-08-21 | Here Global B.V. | Method and apparatus for determining trajectory paths on a transportation structure |
US9846574B2 (en) * | 2014-12-19 | 2017-12-19 | Signalfx, Inc. | Representing result data streams based on execution of data stream language programs |
US10599982B2 (en) | 2015-02-23 | 2020-03-24 | Machinesense, Llc | Internet of things based determination of machine reliability and automated maintainenace, repair and operation (MRO) logs |
US9495647B2 (en) | 2015-02-24 | 2016-11-15 | Sas Institute Inc. | Acceleration of sparse support vector machine training through safe feature screening |
US9960962B2 (en) * | 2015-06-10 | 2018-05-01 | Johnson Controls Technology Company | Building automation system with smart communications controller for building equipment |
US20170052767A1 (en) * | 2015-08-20 | 2017-02-23 | CITIUS SOFTWARE CORPORATION dba KBMax | Visual rule language systems and methods for enterprise business software |
WO2017040145A1 (en) * | 2015-08-28 | 2017-03-09 | Turck Holding Gmbh | Web-based programming environment for embedded devices |
US10756991B2 (en) * | 2015-09-17 | 2020-08-25 | Salesforce.Com, Inc. | Simplified entity engagement automation |
US10331495B2 (en) * | 2016-02-05 | 2019-06-25 | Sas Institute Inc. | Generation of directed acyclic graphs from task routines |
JP6896759B2 (ja) * | 2016-03-23 | 2021-06-30 | フォグホーン システムズ, インコーポレイテッドFoghorn Systems, Inc. | リアルタイムデータフロープログラミングにおけるパターン駆動型反応の合成 |
US10970138B2 (en) | 2017-05-09 | 2021-04-06 | Microsoft Technology Licensing, Llc | Modular applications using a common provisioning service |
US10310896B1 (en) * | 2018-03-15 | 2019-06-04 | Sas Institute Inc. | Techniques for job flow processing |
US11935646B1 (en) * | 2018-03-26 | 2024-03-19 | Glassbeam, Inc. | Predicting medical device failure based on operational log data |
CN111506610B (zh) * | 2020-04-20 | 2023-05-26 | 浙江中烟工业有限责任公司 | 一种面向烟草行业生产现场的实时流数据预处理方法 |
US11940786B2 (en) | 2020-06-06 | 2024-03-26 | Honeywell International Inc. | Building management system and method with virtual controller and failsafe mode |
US11782410B2 (en) | 2020-06-06 | 2023-10-10 | Honeywell International Inc. | Building management system with control logic distributed between a virtual controller and a smart edge controller |
EP3919991A3 (en) | 2020-06-06 | 2022-02-16 | Honeywell International Inc. | Method and system for configuring a building management system |
EP3919992A1 (en) | 2020-06-06 | 2021-12-08 | Honeywell International Inc. | Method and system for managing virtual controllers in a building management system |
JP2023529723A (ja) | 2020-06-15 | 2023-07-11 | ハネウェル・インターナショナル・インコーポレーテッド | 施設のためのエッジコントローラ |
US11526449B2 (en) * | 2020-08-31 | 2022-12-13 | Advanced Micro Devices, Inc. | Limited propagation of unnecessary memory updates |
US20240090154A1 (en) * | 2020-12-28 | 2024-03-14 | PassiveLogic, Inc. | Distributed building automation controllers |
US11252209B1 (en) * | 2021-07-13 | 2022-02-15 | Audacious Inquiry, LLC | Network architecture for parallel data stream analysis and modification |
US20240185612A1 (en) * | 2022-12-06 | 2024-06-06 | Kodiak Robotics, Inc. | Systems and methods for controlling a vehicle by detecting and tracking objects through associated detections |
-
2017
- 2017-03-23 JP JP2018549799A patent/JP6896759B2/ja active Active
- 2017-03-23 EP EP17771200.7A patent/EP3433769B1/en active Active
- 2017-03-23 EP EP17771196.7A patent/EP3433768A4/en active Pending
- 2017-03-23 AU AU2017238637A patent/AU2017238637B2/en active Active
- 2017-03-23 CN CN201780019780.6A patent/CN108885632B/zh active Active
- 2017-03-23 US US15/467,306 patent/US10572230B2/en active Active
- 2017-03-23 WO PCT/US2017/023906 patent/WO2017165708A1/en active Application Filing
- 2017-03-23 US US15/467,313 patent/US10564941B2/en active Active
- 2017-03-23 WO PCT/US2017/023912 patent/WO2017165713A1/en active Application Filing
- 2017-03-23 KR KR1020187030473A patent/KR102092722B1/ko active IP Right Grant
- 2017-03-23 AU AU2017238638A patent/AU2017238638B2/en active Active
- 2017-03-23 CN CN201780019779.3A patent/CN108885545B/zh active Active
- 2017-03-23 KR KR1020187030472A patent/KR102092721B1/ko active IP Right Grant
- 2017-03-23 CN CN201780019786.3A patent/CN108885580B/zh active Active
- 2017-03-23 CN CN202210437492.5A patent/CN115373977A/zh active Pending
- 2017-03-23 US US15/467,318 patent/US10127022B2/en active Active
- 2017-03-23 AU AU2017238633A patent/AU2017238633B2/en active Active
- 2017-03-23 JP JP2018549906A patent/JP2019516167A/ja active Pending
- 2017-03-23 JP JP2018549927A patent/JP7019589B2/ja active Active
- 2017-03-23 WO PCT/US2017/023911 patent/WO2017165712A1/en active Application Filing
- 2017-03-23 KR KR1020187030471A patent/KR102128571B1/ko active IP Right Grant
- 2017-03-23 CN CN202211226634.XA patent/CN115629829A/zh active Pending
- 2017-03-23 EP EP17771201.5A patent/EP3433711A4/en active Pending
-
2018
- 2018-09-23 SA SA518400085A patent/SA518400085B1/ar unknown
- 2018-09-23 SA SA518400086A patent/SA518400086B1/ar unknown
- 2018-11-13 US US16/190,105 patent/US10628135B2/en active Active
-
2020
- 2020-02-14 US US16/792,149 patent/US11561774B2/en active Active
- 2020-02-25 US US16/801,099 patent/US11226795B2/en active Active
- 2020-04-21 US US16/854,873 patent/US10977010B2/en active Active
-
2021
- 2021-04-13 US US17/229,782 patent/US11422778B2/en active Active
-
2022
- 2022-01-14 JP JP2022004285A patent/JP7371141B2/ja active Active
- 2022-01-18 US US17/648,281 patent/US12093666B2/en active Active
- 2022-02-02 JP JP2022014853A patent/JP7326510B2/ja active Active
- 2022-05-03 AU AU2022202972A patent/AU2022202972B2/en active Active
- 2022-08-22 US US17/892,927 patent/US20230367559A1/en active Pending
-
2023
- 2023-01-10 US US18/095,382 patent/US20230147358A1/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030035582A1 (en) * | 2001-08-14 | 2003-02-20 | Christian Linhart | Dynamic scanner |
JP2008546054A (ja) * | 2005-05-20 | 2008-12-18 | マイクロソフト コーポレーション | イベントストリームからのイベントパターンの認識 |
JP2015533243A (ja) * | 2012-09-28 | 2015-11-19 | テレフオンアクチーボラゲット エル エム エリクソン(パブル) | データストリームにおいてデータパターンを検出する装置、方法、及びネットワークサーバ |
JP2016539427A (ja) * | 2013-12-05 | 2016-12-15 | オラクル・インターナショナル・コーポレイション | 多重入力データストリームにわたるパターンマッチング |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7326510B2 (ja) | リアルタイムデータフロープログラミングのための効率的な状態機械 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220303 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220303 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220330 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20230322 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230418 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230613 |
|
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: 20230704 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230802 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7326510 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |