【手続補正書】
【提出日】令和2年3月19日(2020.3.19)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
システムであって、
コンピュータメモリにおいて第１のメモリ位置を含む入力キューを備え、前記入力キューは、処理されるべきトークンの先入れ先出しシーケンスを前記第１のメモリ位置に格納し、前記入力キューにおける各トークンはデータを含むかまたはデータを含まず、前記トークンが前記入力キューに入った時間を示すタイムスタンプを含み、データを含む各トークンは、解析されるべきデータおよびタイムスタンプを担持し、データを含まない各トークンは、経過イベントを表し、解析されるべきデータを担持せず、タイムスタンプを担持し、前記トークンはネットワークを介して前記入力キューによって受信され、前記システムはさらに、
前記入力キューに結合されるドライバコンポーネントを備え、前記ドライバコンポーネントは、バックトラッキングなしで前記入力キューにおける前記トークンを処理し、１つ以上の所定の入力パターンにマッチする、前記トークンのシーケンスにおけるパターンを識別し、マッチした所定の入力パターンを識別すると、出力イベントを生成し、前記システムはさらに、
前記ドライバコンポーネントに結合され、前記コンピュータメモリにおいて第２のメモリ位置を含む出力キューを備え、前記出力キューは、前記第２のメモリ位置に、前記ドライバコンポーネントによって生成された前記出力イベントの先入れ先出しシーケンスを格納し、前記システムはさらに、
前記ドライバコンポーネントに結合される状態表コンポーネントを備え、前記状態表コンポーネントは、前記所定の入力パターンを、行を含む状態表フォーマットで格納し、各行は前記状態表コンポーネントによって記述される複数の状態のうちのある状態を表し、前記システムはさらに、
前記ドライバコンポーネントに結合され、前記コンピュータメモリにおいて第３のメモリ位置を含む状態スタックコンポーネントを備え、前記状態スタックコンポーネントは前記第３のメモリ位置にフレームの後入れ先出しのシーケンシャルストレージを格納し、フレームは、変換状態番号、記号、およびデッドラインを含み、前記変換状態番号は前記状態表コンポーネントによって記述されるある状態に対応する、システム。
【請求項２】
前記入力キューで受信される前記トークンは、物性をデジタル量に変換するハードウェアセンサによって生成される、請求項１に記載のシステム。
【請求項３】
前記ドライバコンポーネントの動作は、
前記状態スタックコンポーネントの一番上のフレーム上で参照される状態を検査することと、
前記入力キューにおける次の入力トークンを検査し、前記状態スタックコンポーネントに基づいてそれのカテゴリを判断することと、
前記状態表によって示されるカテゴリのトークンのために前記状態表によって示されるアクションを実行することとを含む、請求項１または２に記載のシステム。
【請求項４】
前記入力キューは、前記入力キューによって受信された時間に基づく順序付けられたリストに前記トークンを格納し、前記入力キューにおける第１の方向は、最も早く受信されたトークンから最後に受信されたトークンまでの時間順序であり、
前記ドライバコンポーネントは、前記入力キューを前記第１の方向において検査することによって前記トークンを処理し、以前に検査されたトークンを検査しない、請求項１〜３のいずれか１項に記載のシステム。
【請求項５】
前記入力キューは、前記入力キューによって受信された時間順序で前記トークンをリストに格納し、前記入力キューにおける第１の方向は、最も早く受信されたトークンから最後に受信されたトークンまでの時間順序であり、前記入力キューにおける第２の方向は、前記最後に受信されたトークンから前記最も早く受信されたトークンまでの時間順序であり、前記第２の方向は、前記第１の方向とは反対であり、
前記ドライバコンポーネントは、前記入力キューを前記第１の方向または前記第２の方向のいずれかで検査し、前記第１の方向および前記第２の方向の両方では検査しないことによって、前記トークンを処理する、請求項１〜３のいずれか１項に記載のシステム。
【請求項６】
前記ドライバコンポーネントは前記入力キューの各トークンを１回だけ読出し、読出されたトークンをあとで再び読出すためにバッファに保持しない、請求項１〜５のいずれか１項に記載のシステム。
【請求項７】
マッチングされる所定の入力パターンは、無限長のある数のトークンを有し得る、請求項１〜６のいずれか１項に記載のシステム。
【請求項８】
前記状態表コンポーネントは状態機械を指定し、複数の行を含み、前記状態機械の変換状態を提供する各行は、
入力トークンカテゴリ値または入力ブレークカテゴリ値を、その値の入力トークンが受信されるととられるアクションにマッピングするアクションのセットと、
派生記号型を、その型の派生記号を合成すると前記ドライバコンポーネントが変更すべき状態にマッピングする遷移のセットと、
前記状態機械が特定の状態にとどまることが許される時間の間隔を示すタイムアウトとを含む、請求項１〜７のいずれか１項に記載のシステム。
【請求項９】
前記変換状態番号は、前記状態表の行への参照であり、前記記号は、入力トークンもしくは他の記号から導出されたトークンもしくは中間記号、または組み合わせであり、前記デッドラインは、前記ドライバコンポーネントが前記フレームを前記状態スタックコンポーネントからポップして外す未来の瞬間である、請求項１〜８のいずれか１項に記載のシステム。
【請求項１０】
前記ドライバコンポーネントおよび状態表コンポーネントは、プログラマブルゲートアレイにおいて実施される、請求項１〜９のいずれか１項に記載のシステム。
【請求項１１】
前記ドライバコンポーネントおよび状態表コンポーネントは、コンピュータを使用して実施される、請求項１〜１０のいずれか１項に記載のシステム。
【請求項１２】
前記状態表コンポーネントは状態機械を指定し、前記ドライバコンポーネントは、ストリームデータを有するトークンが前記入力キューにおいて受信されない時間の経過に基づいて、前記状態機械における第１の状態から前記状態機械の第２の状態に変化する、請求項１〜１１のいずれか１項に記載のシステム。
【請求項１３】
前記状態表コンポーネントは状態機械を指定し、前記ドライバコンポーネントは、ストリームデータを有するトークンのシーケンスが第１の期間中に前記入力キューにおいて受信されることに基づいて、前記状態機械における第１の状態から前記状態機械の第２の状態に変化し、
前記ドライバコンポーネントは、ストリームデータを有するトークンのシーケンスが第２の期間中に前記入力キューにおいて受信されないことに基づいて、前記状態機械における第３の状態から前記状態機械の第４の状態に変化する、請求項１〜１２のいずれか１項に記載のシステム。
【請求項１４】
経過イベントが生じると、前記ドライバコンポーネントは現在の状態を期限切れとする、請求項１〜１３のいずれか１項に記載のシステム。
【請求項１５】
方法であって、
コンピュータメモリにおいて第１のメモリ位置を含む入力キューを提供することを備え、前記入力キューは、処理されるべきトークンの先入れ先出しシーケンスを前記第１のメモリ位置に格納し、前記入力キューにおける各トークンに関連付けられるタイムスタンプは、関連付けられるトークンが前記入力キューに入った時間を示し、前記トークンはネットワークを介して前記入力キューによって受信され、前記方法はさらに、
前記入力キューに結合されるドライバコンポーネントを提供することを備え、前記ドライバコンポーネントは、バックトラッキングなしで前記入力キューにおける前記トークンを処理し、１つ以上の所定の入力パターンにマッチする、前記トークンのシーケンスにおけるパターンを識別し、マッチした所定の入力パターンを識別すると、出力イベントを生成し、前記方法はさらに、
前記ドライバコンポーネントに結合され、前記コンピュータメモリにおいて第２のメモリ位置を含む出力キューを提供することを備え、前記出力キューは、前記第２のメモリ位置に、前記ドライバコンポーネントによって生成された前記出力イベントの先入れ先出しシーケンスを格納し、前記方法はさらに、
前記ドライバコンポーネントに結合される状態表コンポーネントを提供することを備え、前記状態表コンポーネントは前記所定の入力パターンを状態表フォーマットで格納し、前記方法はさらに、
前記ドライバコンポーネントに結合され、前記コンピュータメモリにおいて第３のメモリ位置を含む状態スタックコンポーネントを提供することを備え、前記状態スタックコンポーネントは前記第３のメモリ位置にフレームの後入れ先出しのシーケンシャルストレージを格納し、フレームは、変換状態番号、記号、およびデッドラインを含み、前記変換状態番号は前記状態表コンポーネントによって記述されるある状態に対応し、前記方法はさらに、
前記状態表コンポーネントのために状態表を生成することを備え、前記状態表コンポーネントのために状態表を生成することは、
入力データのカテゴリを各々が表わす終端記号の集合を識別することと、
終端記号または非終端記号の少なくとも１つのパターンを各々が表わす非終端記号の集合を識別することと、
文法規則のセットを識別することと、
トップレベルの規則を識別することと、
属性のセットを識別することと、
各識別された終端記号および非終端記号について最初の集合を計算することと、
各識別された終端記号および非終端記号について後続集合を計算することと、
対応する後続集合の各要素を有する、前記トップレベルの規則のクロージャから開始状態を生成することとを含み、
前記状態表を生成することは、
前記開始状態から状態変化遷移が存在する各状態のクロージャを帰納的に生成することによって前記開始状態から到達可能なすべての状態を生成することと、
組み合わせおよびリダクションによって状態のセットを最適化することと、
各状態についてのアクション、遷移、およびタイムアウト値を生成することとを含み、
前記属性のセットは、
各属性が、α:T = {A0 → λ0,…An → λn}の形式をとり、αが属性の名前であり、Tが属性の型であり、Aが非終端記号であり、λがその記号の属性の値を計算するために使用される関数であることを含む、方法。
【請求項１６】
方法であって、
コンピュータメモリにおいて第１のメモリ位置を含む入力キューを提供することを備え、前記入力キューは、処理されるべきトークンの先入れ先出しシーケンスを前記第１のメモリ位置に格納し、前記入力キューにおける各トークンに関連付けられるタイムスタンプは、関連付けられるトークンが前記入力キューに入った時間を示し、前記トークンはネットワークを介して前記入力キューによって受信され、前記方法はさらに、
前記入力キューに結合されるドライバコンポーネントを提供することを備え、前記ドライバコンポーネントは、バックトラッキングなしで前記入力キューにおける前記トークンを処理し、１つ以上の所定の入力パターンにマッチする、前記トークンのシーケンスにおけるパターンを識別し、マッチした所定の入力パターンを識別すると、出力イベントを生成し、前記方法はさらに、
前記ドライバコンポーネントに結合され、前記コンピュータメモリにおいて第２のメモリ位置を含む出力キューを提供することを備え、前記出力キューは、前記第２のメモリ位置に、前記ドライバコンポーネントによって生成された前記出力イベントの先入れ先出しシーケンスを格納し、前記方法はさらに、
前記ドライバコンポーネントに結合される状態表コンポーネントを提供することを備え、前記状態表コンポーネントは前記所定の入力パターンを状態表フォーマットで格納し、前記方法はさらに、
前記ドライバコンポーネントに結合され、前記コンピュータメモリにおいて第３のメモリ位置を含む状態スタックコンポーネントを提供することを備え、前記状態スタックコンポーネントは前記第３のメモリ位置にフレームの後入れ先出しのシーケンシャルストレージを格納し、フレームは、変換状態番号、記号、およびデッドラインを含み、前記変換状態番号は前記状態表コンポーネントによって記述されるある状態に対応し、前記方法はさらに、
前記状態表コンポーネントのために状態表を生成することを備え、前記状態表コンポーネントのために状態表を生成することは、
入力データのカテゴリを各々が表わす終端記号の集合を識別することと、
終端記号または非終端記号の少なくとも１つのパターンを各々が表わす非終端記号の集合を識別することと、
文法規則のセットを識別することと、
トップレベルの規則を識別することと、
属性のセットを識別することと、
各識別された終端記号および非終端記号について最初の集合を計算することと、
各識別された終端記号および非終端記号について後続集合を計算することと、
対応する後続集合の各要素を有する、前記トップレベルの規則のクロージャから開始状態を生成することとを含み、
前記状態表を生成することは、
前記開始状態から状態変化遷移が存在する各状態のクロージャを帰納的に生成することによって前記開始状態から到達可能なすべての状態を生成することと、
組み合わせおよびリダクションによって状態のセットを最適化することと、
各状態についてのアクション、遷移、およびタイムアウト値を生成することとを含み、
前記文法規則のセットは、
各空でない規則がA → B0…Bnの形を取り、Aが非終端記号であり、B0からBnが各々終端記号または非終端記号のいずれかであることと、
各空の規則がA → τの形を取り、τがある有益な時間単位で特徴づけられる有限時間量であるか、または無制限な時間量を示す無限大であることとを含む、方法。
【請求項１７】
方法であって、
コンピュータメモリにおいて第１のメモリ位置を含む入力キューを提供することを備え、前記入力キューは、処理されるべきトークンの先入れ先出しシーケンスを前記第１のメモリ位置に格納し、前記入力キューにおける各トークンに関連付けられるタイムスタンプは、関連付けられるトークンが前記入力キューに入った時間を示し、前記トークンはネットワークを介して前記入力キューによって受信され、前記方法はさらに、
前記入力キューに結合されるドライバコンポーネントを提供することを備え、前記ドライバコンポーネントは、バックトラッキングなしで前記入力キューにおける前記トークンを処理し、１つ以上の所定の入力パターンにマッチする、前記トークンのシーケンスにおけるパターンを識別し、マッチした所定の入力パターンを識別すると、出力イベントを生成し、前記方法はさらに、
前記ドライバコンポーネントに結合され、前記コンピュータメモリにおいて第２のメモリ位置を含む出力キューを提供することを備え、前記出力キューは、前記第２のメモリ位置に、前記ドライバコンポーネントによって生成された前記出力イベントの先入れ先出しシーケンスを格納し、前記方法はさらに、
前記ドライバコンポーネントに結合される状態表コンポーネントを提供することを備え、前記状態表コンポーネントは前記所定の入力パターンを状態表フォーマットで格納し、前記方法はさらに、
前記ドライバコンポーネントに結合され、前記コンピュータメモリにおいて第３のメモリ位置を含む状態スタックコンポーネントを提供することを備え、前記状態スタックコンポーネントは前記第３のメモリ位置にフレームの後入れ先出しのシーケンシャルストレージを格納し、フレームは、変換状態番号、記号、およびデッドラインを含み、前記変換状態番号は前記状態表コンポーネントによって記述されるある状態に対応し、前記方法はさらに、
前記状態表コンポーネントのために状態表を生成することを備え、前記状態表コンポーネントのために状態表を生成することは、
入力データのカテゴリを各々が表わす終端記号の集合を識別することと、
終端記号または非終端記号の少なくとも１つのパターンを各々が表わす非終端記号の集合を識別することと、
文法規則のセットを識別することと、
トップレベルの規則を識別することと、
属性のセットを識別することと、
各識別された終端記号および非終端記号について最初の集合を計算することと、
各識別された終端記号および非終端記号について後続集合を計算することと、
対応する後続集合の各要素を有する、前記トップレベルの規則のクロージャから開始状態を生成することとを含み、
前記文法規則のセットは、
各空でない規則がA → B0…Bnの形を取り、Aが非終端記号であり、B0からBnが各々終端記号または非終端記号のいずれかであることと、
各空の規則がA → τの形を取り、τがある有益な時間単位で特徴づけられる有限時間量であるか、または無制限な時間量を示す無限大であることとを含む、方法。
【請求項１８】
方法であって、
コンピュータメモリにおいて第１のメモリ位置を含む入力キューを提供することを備え、前記入力キューは、処理されるべきトークンの先入れ先出しシーケンスを前記第１のメモリ位置に格納し、前記入力キューにおける各トークンに関連付けられるタイムスタンプは、関連付けられるトークンが前記入力キューに入った時間を示し、前記トークンはネットワークを介して前記入力キューによって受信され、前記方法はさらに、
前記入力キューに結合されるドライバコンポーネントを提供することを備え、前記ドライバコンポーネントは、バックトラッキングなしで前記入力キューにおける前記トークンを処理し、１つ以上の所定の入力パターンにマッチする、前記トークンのシーケンスにおけるパターンを識別し、マッチした所定の入力パターンを識別すると、出力イベントを生成し、前記方法はさらに、
前記ドライバコンポーネントに結合され、前記コンピュータメモリにおいて第２のメモリ位置を含む出力キューを提供することを備え、前記出力キューは、前記第２のメモリ位置に、前記ドライバコンポーネントによって生成された前記出力イベントの先入れ先出しシーケンスを格納し、前記方法はさらに、
前記ドライバコンポーネントに結合される状態表コンポーネントを提供することを備え、前記状態表コンポーネントは前記所定の入力パターンを状態表フォーマットで格納し、前記方法はさらに、
前記ドライバコンポーネントに結合され、前記コンピュータメモリにおいて第３のメモリ位置を含む状態スタックコンポーネントを提供することを備え、前記状態スタックコンポーネントは前記第３のメモリ位置にフレームの後入れ先出しのシーケンシャルストレージを格納し、フレームは、変換状態番号、記号、およびデッドラインを含み、前記変換状態番号は前記状態表コンポーネントによって記述されるある状態に対応し、前記方法はさらに、
前記状態表コンポーネントのために状態表を生成することを備え、前記状態表コンポーネントのために状態表を生成することは、
入力データのカテゴリを各々が表わす終端記号の集合を識別することと、
終端記号または非終端記号の少なくとも１つのパターンを各々が表わす非終端記号の集合を識別することと、
文法規則のセットを識別することと、
トップレベルの規則を識別することと、
属性のセットを識別することと、
各識別された終端記号および非終端記号について最初の集合を計算することと、
各識別された終端記号および非終端記号について後続集合を計算することと、
対応する後続集合の各要素を有する、前記トップレベルの規則のクロージャから開始状態を生成することとを含み、
前記属性のセットは、
各属性が、α:T = {A0 → λ0,…An → λn}の形式をとり、αが属性の名前であり、Tが属性の型であり、Aが非終端記号であり、λがその記号の属性の値を計算するために使用される関数であることを含む、方法。
【請求項１９】
前記トップレベルの規則は、Ω→Bの形を有し、Bは終端記号または非終端記号のいずれかである、請求項１５に記載の方法。
【請求項２０】
前記属性のセットは、
各属性が、α:T = {A0 → λ0,…An → λn}の形式をとり、αが属性の名前であり、Tが属性の型であり、Aが非終端記号であり、λがその記号の属性の値を計算するために使用される関数であることを含む、請求項１６または１７に記載の方法。
【請求項２１】
システムであって、
コンピュータメモリにおいて第１のメモリ位置を含む入力キューを備え、前記入力キューは、処理されるべきトークンの先入れ先出しシーケンスを前記第１のメモリ位置に格納し、前記入力キューにおける各トークンはデータを含むかまたはデータを含まず、前記トークンが前記入力キューに入った時間を示すタイムスタンプを含み、データを含む各トークンは、解析されるべきデータおよびタイムスタンプを担持し、データを含まない各トークンは、経過イベントを表し、解析されるべきデータを担持せず、タイムスタンプを担持し、前記トークンはネットワークを介して前記入力キューによって受信され、前記システムはさらに、
前記入力キューに結合されるドライバコンポーネントを備え、前記ドライバコンポーネントは、前記入力キューにおける前記トークンを処理し、１つ以上の所定の入力パターンにマッチする、前記トークンのシーケンスにおけるパターンを識別し、マッチした所定の入力パターンを識別すると、出力イベントを生成し、前記システムはさらに、
前記ドライバコンポーネントに結合され、前記コンピュータメモリにおいて第２のメモリ位置を含む出力キューを備え、前記出力キューは、前記第２のメモリ位置に、前記ドライバコンポーネントによって生成された前記出力イベントの先入れ先出しシーケンスを格納し、前記システムはさらに、
前記ドライバコンポーネントに結合される状態表コンポーネントを備え、前記状態表コンポーネントは、前記所定の入力パターンを、行を含む状態表フォーマットで格納し、各行は前記状態表コンポーネントによって記述される複数の状態のうちのある状態を表し、前記システムはさらに、
前記ドライバコンポーネントに結合され、前記コンピュータメモリにおいて第３のメモリ位置を含む状態スタックコンポーネントを備え、前記状態スタックコンポーネントは前記第３のメモリ位置にフレームの後入れ先出しのシーケンシャルストレージを格納し、フレームは、変換状態番号、記号、およびデッドラインを含み、前記変換状態番号は前記状態表コンポーネントによって記述されるある状態に対応する、システム。
【請求項２２】
前記状態表コンポーネントは状態機械を指定し、前記ドライバコンポーネントは、ストリームデータを有するトークンのシーケンスが第１の期間中に前記入力キューにおいて受信されることに基づいて、前記状態機械における第１の状態から前記状態機械の第２の状態に変化する、請求項２１に記載のシステム。
【請求項２３】
前記状態表コンポーネントは状態機械を指定し、前記ドライバコンポーネントは、ストリームデータを有するトークンのシーケンスが第１の期間中に前記入力キューにおいて受信されないことに基づいて、前記状態機械における第１の状態から前記状態機械の第２の状態に変化する、請求項２１に記載のシステム。