【手続補正書】
【提出日】令和2年3月19日(2020.3.19)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
システムであって、
各々がセンサに結合され、前記センサからデータを受信する複数のエージェントと、
前記複数のエージェントに接続されるデータバスと、
前記データバスに結合されるデータプロセッサとを含み、前記データプロセッサは、一連の相互接続されたトランスダクションを形成することによって入力のストリームを出力のストリームに変換し、各前記トランスダクションは、
参照として外部データソースまたはトランスデューサのうちの少なくとも１つに各々が与えられる１つ以上の入力と、
参照として外部データシンクまたはトランスデューサのうちのいずれか少なくとも１つに各々が与えられる１つ以上の出力と、
各入力について、当該入力に適用されて、生の入力をフィルタリング、収集、および整理して、より有用な、部分的に処理された形式にし、誤った入力を除去するパターンとを含み、
少なくとも１つのエージェントは、
コンピュータメモリにおいて第１のメモリ位置を含む入力キューを含み、前記入力キューは、処理されるべきトークンの先入れ先出しシーケンスを前記第１のメモリ位置に格納し、前記入力キューにおける各トークンに関連付けられるタイムスタンプは、前記関連付けられるトークンが前記入力キューに入った時間を示し、前記トークンはネットワークを介して前記入力キューによって受信され、前記少なくとも１つのエージェントはさらに、
前記入力キューに結合されるドライバを含み、前記ドライバは、バックトラッキングなしで前記入力キューにおける前記トークンを処理し、１つ以上の所定の入力パターンにマッチする、前記トークンのシーケンスにおけるパターンを識別し、マッチした所定の入力パターンを識別すると、出力イベントを生成し、前記少なくとも１つのエージェントはさらに、
前記ドライバに結合され、前記コンピュータメモリにおいて第２のメモリ位置を含む出力キューを含み、前記出力キューは、前記第２のメモリ位置に、前記ドライバによって生成された前記出力イベントの先入れ先出しシーケンスを格納し、前記少なくとも１つのエージェントはさらに、
前記ドライバに結合される状態表を含み、前記状態表は前記所定の入力パターンを状態表フォーマットで格納し、前記少なくとも１つのエージェントはさらに、
前記ドライバに結合され、前記コンピュータメモリにおいて第３のメモリ位置を含む状態スタックを含み、前記状態スタックは前記第３のメモリ位置にフレームの後入れ先出しのシーケンシャルストレージを格納し、フレームは、変換状態番号、記号、およびデッドラインを含み、
入力パターンを入力シーケンスとマッチングしようと試みた結果は、少なくとも３つの異なる状態を有することができ、前記少なくとも３つの異なる状態は、
前記入力パターンの最小入力にマッチするまで、前記マッチングの試みは第１の状態にあることと、
前記最小入力にマッチした後、最大入力にマッチするまで、前記マッチングの試みは第２の状態にあることと、
前記最大入力にマッチした後、前記マッチングの試みは第３の状態にあることとを含み、
前記第１の状態は「コールド」状態と呼ばれ、前記第２の状態は「ウォーム」状態と呼ばれ、前記第３の状態は「ホット」状態と呼ばれ、
データは、プッシュベースでセンサからエージェントに流れ、エージェントの入力のすべてが少なくとも前記第２の状態にあるとき、および前記センサの入力のうちの１つ以上が前記第３の状態にあるとき、そしてトリガ式の結果が前記第２の状態にあるとき、前記データは、エージェントによってセンサからプルベースで流れ、
エージェントは、前記第２の状態にあるそれのセンサを加速して、各そのようなセンサに、それのパターンが完全にマッチしたと考えさせ、したがって各そのようなセンサを前記第３の状態になるようにし、それの出力を生成させ、それによって、前記エージェントが、それのセンサからデータを効果的にプルすることを可能にする、システム。
【請求項２】
各トランスダクションは、フィルタ式をいつ評価するかを判断するために使用されるトリガ式を含む、請求項１に記載のシステム。
【請求項３】
前記トリガ式は、ノードのツリーとして定義され、各ノードは、
前記入力のうちの１つに対する参照と、
時間の単位で時間の間隔として与えられるタイムアウトと、
少なくとも２つの子を含み、各子は別のトリガ式ノードによって表わされる、二項連言演算子と、
少なくとも２つの子を含み、各子は別のトリガ式ノードによって表わされる、二項選言演算子とのうちの少なくとも１つである、請求項１または２に記載のシステム。
【請求項４】
各トランスダクションはフィルタ式を含み、前記フィルタ式はマッチした入力のドメインで指定され、前記フィルタ式はトランスダクションがいつ出力を生成するかを決定するブール結果をもたらす、請求項２または３に記載のシステム。
【請求項５】
入力パターンは、ゼロ長さまたは無制限長さを含む可変長の入力シーケンスとマッチすることができる、請求項１〜４のいずれか１項に記載のシステム。
【請求項６】
入力パターンを入力シーケンスとマッチングしようと試みた結果は、少なくとも３つの異なる状態を有することができる、請求項１〜５のいずれか１項に記載のシステム。
【請求項７】
データはプッシュベースでセンサからエージェントに流れる、請求項１〜６のいずれか１項に記載のシステム。
【請求項８】
限定的に長いパターンまたはオープンエンドのパターンが、トランスダクションにおいて有用に使用されることを可能にする、請求項１〜７のいずれか１項に記載のシステム。
【請求項９】
前記センサのうちの少なくとも１つは、物性をデジタル量に変換するハードウェア装置であり、前記デジタル量はストリーム化される、請求項１〜８のいずれか１項に記載のシステム。
【請求項１０】
前記センサはハードウェアセンサを含む、請求項１〜８のいずれか１項に記載のシステム。
【請求項１１】
前記センサは仮想センサを含む、請求項１〜８のいずれか１項に記載のシステム。
【請求項１２】
前記センサは、ハードウェアセンサおよび仮想センサを含む、請求項１〜８のいずれか１項に記載のシステム。
【請求項１３】
前記少なくとも１つのエージェントはコンピュータプロセッサを含む、請求項１〜１２のいずれか１項に記載のシステム。
【請求項１４】
前記ドライバはコンピュータプロセッサを含む、請求項１〜１３のいずれか１項に記載のシステム。
【請求項１５】
所定の入力パターンは、オープンエンドの長さを含む、請求項１〜１４のいずれか１項に記載のシステム。
【請求項１６】
所定の入力パターンは限定的な長さを含む、請求項１〜１４のいずれか１項に記載のシステム。
【請求項１７】
各変換は計算を含む、請求項１〜１６のいずれか１項に記載のシステム。
【請求項１８】
方法であって、
複数のエージェントおよびセンサを相互接続することを備え、前記エージェントは前記センサに結合され、前記センサからデータのストリームを受信し、前記方法はさらに、
前記センサからの入力の前記ストリームを、一連の相互接続されたトランスダクションを介して、出力のストリームに変換することを備え、各トランスダクションは、
参照として外部データソースまたはトランスデューサのいずれかに各々が与えられる１つ以上の入力と、
参照として外部データシンクまたはトランスデューサのいずれかに各々が与えられる１つ以上の出力と、
各入力について、前記各入力に適用されて、生の入力をフィルタリング、収集、および整理して、より有用な、部分的に処理された、または一致した形式にし、誤った入力を除去するパターンと、
フィルタ式をいつ評価するかを判断するために使用され、ノードのツリーとして定義されるトリガ式とを含み、各ノードは、
前記入力のうちの１つに対する参照と、
何らかの便利な時間の単位で特徴づけられる時間の間隔として与えられるタイムアウトと、
少なくとも２つの子を含み、各子は別のトリガ式ノードである、二項連言演算子と、
少なくとも２つの子を含み、各子は別のトリガ式ノードである、二項選言演算子と、
マッチした入力のドメインで定義され、前記トランスダクションがいつ出力を生成するかを決定するブール結果をもたらすフィルタ式と、
マッチした入力のドメインで定義され、前記トランスダクションの出力を生成する型の任意の組み合わせの結果をもたらす１つ以上の式とのうちの１つであり、
少なくとも１つのエージェントは、
コンピュータメモリにおいて第１のメモリ位置を含む入力キューを含み、前記入力キューは、処理されるべきトークンの先入れ先出しシーケンスを前記第１のメモリ位置に格納し、前記入力キューにおける各トークンに関連付けられるタイムスタンプは、前記関連付けられるトークンが前記入力キューに入った時間を示し、前記トークンはネットワークを介して前記入力キューによって受信され、前記少なくとも１つのエージェントはさらに、
前記入力キューに結合されるドライバを含み、前記ドライバは、バックトラッキングなしで前記入力キューにおける前記トークンを処理し、１つ以上の所定の入力パターンにマッチする、前記トークンのシーケンスにおけるパターンを識別し、マッチした所定の入力パターンを識別すると、出力イベントを生成し、前記少なくとも１つのエージェントはさらに、
前記ドライバに結合され、前記コンピュータメモリにおいて第２のメモリ位置を含む出力キューを含み、前記出力キューは、前記第２のメモリ位置に、前記ドライバによって生成された前記出力イベントの先入れ先出しシーケンスを格納し、前記少なくとも１つのエージェントはさらに、
前記ドライバに結合される状態表を含み、前記状態表は前記所定の入力パターンを状態表フォーマットで格納し、前記少なくとも１つのエージェントはさらに、
前記ドライバに結合され、前記コンピュータメモリにおいて第３のメモリ位置を含む状態スタックを含み、前記状態スタックは前記第３のメモリ位置にフレームの後入れ先出しのシーケンシャルストレージを格納し、フレームは、変換状態番号、記号、およびデッドラインを含み、
入力パターンを入力シーケンスとマッチングしようと試みた結果は、少なくとも３つの異なる状態を有することができ、前記少なくとも３つの異なる状態は、
前記入力パターンの最小入力にマッチするまで、前記マッチングの試みは第１の状態にあることと、
前記最小入力にマッチした後、最大入力にマッチするまで、前記マッチングの試みは第２の状態にあることと、
前記最大入力にマッチした後、前記マッチングの試みは第３の状態にあることとを含み、
前記第１の状態はコールド状態と呼ばれ、前記第２の状態はウォーム状態と呼ばれ、前記第３の状態はホット状態と呼ばれ、
データは、プッシュベースでセンサからエージェントに流れ、エージェントの入力のすべてが少なくとも前記第２の状態にあるとき、および前記センサの入力のうちの１つ以上が前記第３の状態にあるとき、そしてトリガ式の結果が前記第２の状態にあるとき、前記データは、エージェントによってセンサからプルベースで流れ、
エージェントは、前記第２の状態にあるそれのセンサを加速して、各そのようなセンサに、それのパターンが完全にマッチしたと考えさせ、したがって各そのようなセンサを前記第３の状態になるようにし、それの出力を生成させ、それによって、前記エージェントが、それのセンサからデータを効果的にプルすることを可能にする、方法。
【請求項１９】
入力パターンは、ゼロ長さまたは無制限長さを含む可変長の入力シーケンスとマッチすることができる、請求項１８に記載の方法。
【請求項２０】
トランスデューサのマッチングの準備の完全性モデルは、２つ以下の異なる度合いではなく、少なくとも３つの異なる度合いによって特徴付けられる、請求項１８または１９に記載の方法。
【請求項２１】
前記少なくとも３つの異なる度合いの完全性モデルは、可変長パターンの処理を可能にするパターン駆動型反応を直接容易にする、請求項２０に記載の方法。
【請求項２２】
プロデューサからコンシューマへのデータフローはプッシュベースであり、ただし、それは
エージェントの入力のすべての入力が少なくとも前記ウォーム状態にあるとき、および前記センサの入力の１つ以上が前記ホット状態にあり、そしてトリガ式の結果が前記ウォーム状態にあるときを除くものであり、
そのとき、前記エージェントはそれのウォーム状態のセンサを加速して、各そのようなセンサに、それのパターンが完全にマッチしたと考えさせ、したがって各そのようなセンサを前記ホット状態になるようにし、それの出力を生成させ、
したがって、前記センサに、それが接続されている他のプロデューサデータを効果的にプルさせることができ、
したがって、限定的に長いかまたはオープンエンドのパターンがトランスダクションで有用に使用されることを可能にしてもよい、請求項１８〜２１のいずれか１項に記載の方法。
【請求項２３】
所定の入力パターンは、オープンエンドの長さを含む、請求項１８〜２２のいずれか１項に記載の方法。
【請求項２４】
所定の入力パターンは限定的な長さを含む、請求項１８〜２２のいずれか１項に記載の方法。
【請求項２５】
各変換は計算を含む、請求項１８〜２４のいずれか１項に記載の方法。