JP2020502647A - 異種イベントキュー - Google Patents

異種イベントキュー Download PDF

Info

Publication number
JP2020502647A
JP2020502647A JP2019529898A JP2019529898A JP2020502647A JP 2020502647 A JP2020502647 A JP 2020502647A JP 2019529898 A JP2019529898 A JP 2019529898A JP 2019529898 A JP2019529898 A JP 2019529898A JP 2020502647 A JP2020502647 A JP 2020502647A
Authority
JP
Japan
Prior art keywords
event
event message
message
messages
transfer time
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
Application number
JP2019529898A
Other languages
English (en)
Other versions
JP6864746B2 (ja
JP2020502647A5 (ja
Inventor
クレイグ ダブリュ. スタンフィル
クレイグ ダブリュ. スタンフィル
Original Assignee
アビニシオ テクノロジー エルエルシー
アビニシオ テクノロジー エルエルシー
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by アビニシオ テクノロジー エルエルシー, アビニシオ テクノロジー エルエルシー filed Critical アビニシオ テクノロジー エルエルシー
Publication of JP2020502647A publication Critical patent/JP2020502647A/ja
Publication of JP2020502647A5 publication Critical patent/JP2020502647A5/ja
Application granted granted Critical
Publication of JP6864746B2 publication Critical patent/JP6864746B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/548Queue

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Telephonic Communication Services (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Debugging And Monitoring (AREA)

Abstract

コンピューティングシステムにおいて複数の種類のイベントメッセージを処理することは、受信されたイベントメッセージを、イベントメッセージに関連付けられた第1の複数の記録(222)のための記憶(220)を含むデータ記憶システム内に記憶することを含む。各イベントメッセージはタイムスタンプを含む。イベントメッセージに関連付けられた記録(222)は、イベントメッセージのためのイベント結果のための目標転送時間を指示するフィールド(426)を含み、少なくとも一部のイベントメッセージのための目標転送時間はイベントメッセージの種類に従って決定される。記憶されたイベントメッセージは、記憶されたイベントメッセージ内の情報、およびイベントメッセージに関連付けられた記録(222)内の目標転送時間に基づいてイベント結果を転送するよう処理される。イベントメッセージは、優先順位を指示する記憶された情報に従ってイベント結果を転送するよう優先順位付けされる。第1のセット内のイベントメッセージの全てのための同じ優先順位を指示する情報を記憶する1つ以上のイベントメッセージの第1のセット内の各イベントメッセージのための目標転送時間は、イベントメッセージのそれぞれのタイムスタンプに対する固定された遅延に基づいて計算される。イベントメッセージの目標転送時間とクロック時間との比較に基づいて転送可能であるイベントメッセージのためのイベント結果が転送される。

Description

関連出願の相互参照
本出願は、2016年12月15日に出願された米国特許出願公開第62/434,472号明細書に対する優先権を主張する。
本記載は、異種の特性を有するイベントを処理するためのイベントキューに関する。
データ処理システムはしばしば、多くの異なる種類の入力イベントを扱う。例えば、電気通信領域では、いくつかのイベントは、例えば、電話通話のセットアップ、ルーティング、および/またはティアダウンに関連する、「実時間」特性を有し得る。いくつかのイベントは、例えば、通話ごとに一度発生する、例えば、通話記録処理に関連する、「準実時間」のものであり得る。他のイベントは、例えば、請求書作成発送または定期的保全タスクに関連する、より低頻度のものであり得る。全体として、これらの入力イベントは、特定の種類のイベント(例えば、準実時間イベント)のために適切な応答を常に提供しつつ、処理されなければならない大量のフローを構成し得る。
このような異種入力を扱うシステムを設計することへの1つのアプローチは、これらの種類の入力の異なるもの専用の別個のソフトウェアおよび/またはハードウェア構造を有し、これにより、異なる種類にふさわしい異なるタイプの処理を可能にすることである。異なるタイプの処理のいくつかの例は、イベントができるだけ迅速に処理されるべきであるのか、適切なビジネスロジックを確実にするために、イベントが生成された順序で処理されるべきであるのか、それともより高い優先順位のタスクから計算リソースをスチールすること(steeling)を回避するために、低い優先順位で処理されるべきであるのかという点が異なり得る。
例えば、複雑なシステムを保全する人的コスト、および専用リソースの潜在的過少利用から生じる技術的コストのゆえに、別個のソフトウェアおよび/またはハードウェア構造の保全にはコストがかかる。
一般的態様では、システムへの異種イベント入力の処理のためのアプローチは、特定の種類のイベント(例えば、準実時間イベント)への必要な応答を提供しつつ、入力イベントの大量のフローを処理することができる、統合キュー構造を利用する。キュー構造は、(a)例えば、異なる種類もしくはクラスのイベントを異なる優先順位レベルに関連付けることによる、イベントの優先順位付け、(b)例えば、イベントの種類もしくはクラスに依存し得る、規則に基づく転送時間の計算に従う、イベントの遅延転送、および(c)例えば、イベント内のキー値によって任意選択的に制約される、イベントの発信時間に従う、イベントの再順序付けという複数の特徴を含む、特徴の組み合わせを含む。これらの特徴のうちの1つ以上をサポートするために、キュー構造は、記憶されたイベントの種類から規則によって評価され、決定された優先順位および/または遅延転送時間を含むか、またはそれを参照するものを有するフィールド(例えば、列)を有する、イベントのための記録のための記憶(例えば、ta表)を含む。記憶のこの構成は、(例えば、メッセージの種類ごとに別個のキューを用いることによる)従来のアプローチを用いて可能となるよりも少ない動作および/またはより効果的な記憶の使用を必要とする仕方でイベントを処理する方法を提供する。さらに、本アプローチは、例えば、新たな種類のイベントを処理しなければならない時に、その種類のイベントのための新たなキューをシステム内に導入する必要がないため、システムの構成におけるさらなる柔軟性を可能にする。
実施例によっては、この統合されたキュー構造は、少なくとも一部の種類のイベントのための準実時間性能を維持しつつ、イベントの大量のフローを処理するように構成され得る、イベント処理システムへの入力として用いられる。選択された特徴(例えば、上述の(a)〜(c))の利用を通じて、キュー構造は、計算リソースの高い利用度を維持しつつ、多様な種類のイベントの効率的処理を提供することによって、イベント処理技術を改善する。処理の改善は、キュー構造および関連する手続きステップによって導入される機能性からもたらされ、単に、コンピュータによって、コンピュータがそれらの通常の能力内で用いられるタスクに対して遂行されるおかげでもたらされるのではないことに留意されたい。さらに、本アプローチは、もし、人が、処理されるべきイベントのフローを扱うために十分な能力を有していれば、従来、人がイベントを整理して処理するであろう仕方の単なる自動化ではない。
1つの特定の態様では、概して、方法がコンピューティングシステムにおけるイベントメッセージの処理に適用される。本方法は、受信されたイベントメッセージをデータ記憶システム内に記憶することを含む。データ記憶システムは、イベントメッセージに関連付けられた第1の複数の記録のための記憶を含み、各イベントメッセージはタイムスタンプを含み、イベントメッセージに関連付けられた記録は、イベントメッセージのためのイベント結果のための目標転送時間を指示するフィールドを含み、少なくとも一部のイベントメッセージのための目標転送時間は、イベントメッセージの種類に従って決定される。記憶されたイベントメッセージは、記憶されたイベントメッセージ内の情報、およびイベントメッセージに関連付けられた目標転送時間に基づいてイベント結果を転送するよう処理される。この処理は、イベントメッセージを、優先順位を指示するイベントメッセージ内に記憶された情報に従ってイベント結果を転送するために優先順位付けすること、第1のセット内のイベントメッセージの全てのための同じ優先順位を指示する情報を記憶する1つ以上のイベントメッセージの第1のセット内の各イベントメッセージのための目標転送時間を、イベントメッセージのそれぞれのタイムスタンプに対する固定された遅延に基づいて計算すること、およびイベントメッセージの目標転送時間とクロック時間との比較に基づいて転送可能であるイベントメッセージのためのイベント結果を転送すること、を含む。
諸態様は以下の特徴のうちの1つ以上を含み得る。
処理は、記憶されたイベントメッセージのうちの全てより少数を包含するイベントメッセージの第2のセットを、イベントメッセージの第2のセット内のイベントメッセージを、それらのイベントメッセージが受信された順序に従って処理する代わりに、イベントメッセージの第2のセット内のイベントメッセージを、イベントメッセージ内のタイムスタンプに従って処理するように再順序付けすることをさらに含む。
特定のイベントメッセージに関連付けられた目標転送時間は、特定のイベントメッセージが受信された後に、特定のイベントメッセージ内に含まれる情報によって少なくとも部分的に定義された関数を用いて計算される。例えば、第1のイベントクラスに関連付けられたイベントメッセージのために、関数は、クロック時間に基づく目標転送時間を返す。
第1のイベントクラスに関連付けられたイベントメッセージは、再順序付けされる第2のセット内になく、それらのイベントメッセージが受信された順序に従って処理される。
第1のイベントクラスよりも低い優先順位の第2のイベントクラスに関連付けられたイベントメッセージのために、関数は、固定された遅延、およびイベントメッセージ内のタイムスタンプの合計である目標転送時間を返す。
第2のイベントクラスに関連付けられたイベントメッセージは、再順序付けされる第2のセット内にあり、第2のクラスに関連付けられたイベントメッセージ内に記憶されたタイムスタンプに従って再順序付けされる。
第2のイベントクラスよりも低い優先順位の第3のイベントクラスに関連付けられたイベントメッセージのために、関数は、イベントメッセージ内に記憶されたタイムスタンプに基づく目標転送時間を返す。
第3のイベントクラスに関連付けられたイベントメッセージは、再順序付けされる第2のセット内にあり、第3のクラスに関連付けられたイベントメッセージ内に記憶されたタイムスタンプに従って再順序付けされる。
第2のイベントクラスよりも低い優先順位の第3のイベントクラスに関連付けられたイベントメッセージのために、関数は、繰り返しスケジュールに基づく目標転送時間を返す。
第2のセットは、全てが共通キー値を含むイベントメッセージを含む。
イベントメッセージ内に記憶された情報に従ってイベント結果を転送するためにイベントメッセージを優先順位付けすることは、異なる優先順位のイベントクラスに関連付けられたイベントメッセージを、異なるそれぞれの順序付けられたキュー内に記憶し、空でない最も高い優先順位の順序付けられたキューの前方から、イベント結果の潜在的転送について評価するべき次のイベントメッセージを選択することを含む。
別の態様では、概して、コンピューティングシステムにおいてイベントメッセージを処理するためのソフトウェアがコンピュータ可読媒体上に非一時的形態で記憶される。ソフトウェアは、コンピューティングシステムに、受信されたイベントメッセージをデータ記憶システム内に記憶することであって、データ記憶システムは、イベントメッセージに関連付けられた第1の複数の記録のための記憶を含み、各イベントメッセージはタイムスタンプを含み、イベントメッセージに関連付けられた記録は、イベントメッセージのためのイベント結果のための目標転送時間を指示するフィールドを含み、少なくとも一部のイベントメッセージのための目標転送時間は、イベントメッセージの種類に従って決定される、記憶することと、記憶されたイベントメッセージを、記憶されたイベントメッセージ内の情報、およびイベントメッセージに関連付けられた目標転送時間に基づいてイベント結果を転送するよう処理することであって、この処理することは、イベントメッセージを、優先順位を指示するイベントメッセージ内に記憶された情報に従ってイベント結果を転送するために優先順位付けすること、第1のセット内のイベントメッセージの全てのための同じ優先順位を指示する情報を記憶する1つ以上のイベントメッセージの第1のセット内の各イベントメッセージのための目標転送時間を、イベントメッセージのそれぞれのタイムスタンプに対する固定された遅延に基づいて計算すること、およびイベントメッセージの目標転送時間とクロック時間との比較に基づいて転送可能であるイベントメッセージのためのイベント結果を転送すること、を含む、処理することと、をさせるための命令を含む。
別の態様では、概して、イベントメッセージを処理するためのコンピューティングシステムであって、このコンピューティングシステムは、受信されたイベントメッセージを記憶するためのデータ記憶システムであって、このデータ記憶システムは、イベントメッセージに関連付けられた第1の複数の記録のための記憶を含み、各イベントメッセージはタイムスタンプを含み、イベントメッセージに関連付けられた記録は、イベントメッセージのためのイベント結果のための目標転送時間を指示するフィールドを含み、少なくとも一部のイベントメッセージのための目標転送時間は、イベントメッセージの種類に従って決定される、データ記憶システムと、記憶されたイベントメッセージを、記憶されたイベントメッセージ内の情報、およびイベントメッセージに関連付けられた目標転送時間に基づいてイベント結果を転送するよう処理するように構成された少なくとも1つのプロセッサであって、処理することは、イベントメッセージを、優先順位を指示するイベントメッセージ内に記憶された情報に従ってイベント結果を転送するために優先順位付けすること、第1のセット内のイベントメッセージの全てのための同じ優先順位を指示する情報を記憶する1つ以上のイベントメッセージの第1のセット内の各イベントメッセージのための目標転送時間を、イベントメッセージのそれぞれのタイムスタンプに対する固定された遅延に基づいて計算すること、およびイベントメッセージの目標転送時間とクロック時間との比較に基づいて転送可能であるイベントメッセージのためのイベント結果を転送すること、を含む、少なくとも1つのプロセッサと、を含む。
諸態様は以下の利点のうちの1つまたは複数を含むことができる。
優先順位および転送時間もしくは遅延要求に関する実質的に異なる特性を有するイベント(すなわち、イベントの異種セット)を単一のキュー構造において処理することで、イベントタイプごとの別個のキューの必要性が回避される。さらに、キューから出力されたイベントの処理が共有リソース(例えば、計算リソース)を消費する際には、イベントをキューから出す順序および時間が、共有リソースの使用をスケジュールし、割り振り、および/または優先順位付けする働きをする。例えば、遅延に敏感でないイベント(例えば、「バッチ」処理イベント)は、イベントを処理するために必要とされる共有リソースの高い利用度を維持しつつ、待ち時間の少ないもの(例えば、「実時間」イベント)と同じキューにおいて処理することができる。
本発明の他の特徴および利点は、以下の説明および請求項から明らかになるであろう。
図1は、入力イベントの異種セットを受信し、これらのイベントをイベント処理エンジンに提供するイベントキューを含むイベント処理システムのブロック図である。 図2は、図1のイベントキューの一実施形態のブロック図である。 図3は、図2に示されるイベントキューの入力プロセッサの一例によって実施される規則を示す表である。 図4は、分散イベントキューを利用する分散イベント処理システムのブロック図である。 図5A〜Hは、一連のイベントの処理を示す図2に対応するブロック図である。 図6は、図2に示されるイベントキューにおける処理の様々な段階におけるイベントデータ構造を示す図である。
図1は、イベントソース112のセットが、システムによって処理されるイベントを提供する(例えば、作成する)、データ処理システム100の一例を示す。システム100では、作成されたイベントは、イベントキュー110に提供され、イベントキュー110は、ソース112からの異なる種類のイベントを受け付ける例えば、各イベントソース112が異なる種類のイベントを提供し得るか、または特定のソースが複数の種類のイベントを各々提供し得る。いずれにせよ、イベントキュー110は異なる種類のイベントを処理し、それらをイベント処理環境120による処理のために提供する。以上に紹介されたように、電気通信の一例において、1つのイベントソース112は、通話セットアップ、ルーティング、およびティアダウンに関連する実時間イベントを提供してもよく、その一方で、別のイベントソース112は通話記録イベントを提供してもよく、その一方で、さらに別のイベントソース112は、はるかにより低い優先順位および遅延要求実時間イベントを有する、請求書作成発送イベントを提供してもよい。
図2を参照すると、図1のイベントキュー110の一実装形態は、第1の段階244および第2の段階245として表される2つの処理段階を内部において一般的に利用する。処理の第1の段階244では、入力プロセッサ210が、例えば、イベントソースからの通信リンク上のデータ記録として、またはイベントキューのオブジェクト指向ソフトウェア実装形態の場合には、入力メソッドへの通話内のパラメータとして、イベント212を受信する。以上に紹介されたように、これらのイベントは複数の異なるソース112から到来してもよく、各ソースは、同種である(すなわち、全て同じタイプのものである)イベント212を提供してもよいか、または異種であるイベント(すなわち、様々なタイプのイベント)を提供してもよい。図2では、異なるタイプのイベントが、異なるクロスハッチングを用いて示されており、これにより、イベント212aはイベント212bとは異なるタイプのものである。
以下においてより詳細に説明されるように、イベントは、イベントが生成された時間を通例指示するタイムスタンプを含む。イベントはまた、特定の文脈においては「メッセージ」または「記録」と呼ばれる場合もあり、用語「イベント」は、データ表現内のタイムスタンプの呈示を考慮して用いられる。概して、第1の処理段階では、イベントの追跡は、直接経路(矢印230で示される)、または遅延経路(矢印232によって示される)のいずれかをたどることができる。遅延経路においては、特定のイベントが、入力プロセッサによって遅延転送にふさわしいと識別され、入力プロセッサは各々のこのようなイベントに転送時間を付与し、これにより、その転送時間の経過後になるまでイベントはイベントキュー110から転送されない。まだ到達していない転送時間を付与されたイベント222は、「遅延キュー」と呼ばれるキュー220内に維持される。一実装形態では、キュー220内のイベントは、最も早い転送時間を有するイベント222がキューの先頭になるようにソートされる。この遅延キューは多数のイベント220を保持することができ、遅延転送を許容するこれらのイベントの性質は、転送時間によるソートなどのステップのための時間を提供する。遅延プロセッサ230は、入力プロセッサ210および遅延プロセッサの両方に時間基準を提供するクロック250を利用する。遅延プロセッサは、クロック250によって提供された時間が、遅延キューの先頭にあるイベントの付与された転送時間以降であるために、イベント222をいつ遅延キューから出すべきかを決定する。実例として、入力プロセッサによって受信された2つの入力イベント212bがイベント222bとして遅延キューに入れられた様子が示されている。イベント222bは、それらの転送時間がキュー内で最も早いため、ここではキューの先頭に示されている。
イベントキュー110の第2の段階245は優先順位キュー245を利用する。一実装形態では、優先順位の個別のセットの各優先順位(最も高い優先順位A〜最も低い優先順位Zとして示される)がキュー240A〜Zのセットのうちの別個のキューを有する。イベントは、入力プロセッサ210が、そのイベントが遅延転送にふさわしくないと決定した場合には、例えば、経路230上のイベント212aとして示される、直接経路230によっていずれかでこの第2の段階に入る。入力プロセッサ210から遅延経路232を介して進み、遅延キュー220に入れられるイベントに対して、本実装形態において、遅延プロセッサ230は、転送時間が経過した各イベント242を、イベントの優先順位に基づいて適切なキュー240A〜Zキューに入れる。例えば、入力されたイベント212bおよびキューに入れられたイベント222bに対応するイベント242bは、キュー240Bへ進むように示されている。優先順位プロセッサ250が、任意の保留イベント242を有する最も高い優先順位のキューを選定することによって、イベント242をキュー240A〜Zから出し、そのキューの先頭にあるイベントをキューから出す。イベント結果と呼ばれ得る、イベントキュー110の出力は、イベントが渡される通信リンクであり得る。オブジェクト指向実装形態では、イベントをキュー240A〜Zから出すプロセスは、イベントキューオブジェクトの出力メソッドの実行中に遂行されてもよい。実装形態によっては、遅延プロセッサによる処理はまた、イベントキューのオブジェクト指向実装形態の出力メソッドの実行の一部として遂行されてもよいか、または遅延キュー220のイベント222をソートし、経過した転送時間を有するそれらのイベント222をそれらの優先順位に基づく適切なキュー240A〜Zへ渡す定期的タイマ「割り込み」に基づいて実施されてもよい。
以上に紹介されたように、入力プロセッサ210によって受け付けられた特定のイベント212は、遅延または遅延転送を全く必要としない、またはそれに全くふさわしくない。このようなイベントは、入力プロセッサ210によって、入力プロセッサによって決定された優先順位に従って直接経路230を介して適切なキュー240A〜Zに直接渡される。
図3を参照すると、クラスのセット、ならびに例えば、それらのタイムスタンプ(tsと表示)に従って、それらの優先順位(priと表示)および転送時間(dtと表示)を付与するための規則の一例が表に示されている。本例では、「実時間」と呼ばれる、イベントの第1のクラスに最も高い優先順位(A)が付与される。転送時間は現在の時間(now( ))に付与される。これは、このようなクラスからのイベントのためには余分の遅延が存在しないことを意味する。図2を再び参照すると、入力プロセッサ210はこのようなイベントを優先順位キュー245の最も高い優先順位のキュー240Aに直接渡す。第2のクラス、「準実時間」には、2番目に高い優先順位(B)が付与される。このクラスのイベントの特徴は、イベントは、それらのタイムスタンプとは異なる順序で着信し得るが、その後、順序正しく転送されることが望ましいということである。これらのイベントのこの順序がばらばらの着信に対処する仕方は、入力プロセッサ210が、転送時間を、タイムスタンプ・プラス・タイムスタンプと(クロック260に従う)イベントの着信の時間との間の最も長い典型的遅延(デルタと表示)として付与することである(すなわち、dt=ts+デルタ)。このようにして、イベントキューに転送されるのにデルタも要しないこの準実時間クラスのイベントは、それらのタイムスタンプの順序で、優先順位キュー245から、およびその後、イベントキュー110から転送されることになる。いずれかのイベントが、イベントキュー110に着信する前にデルタよりも長く遅延された場合には、そのイベントはイベントキュー110からtsの順序で転送されないことがあり、したがって、このアプローチは、順序がばらばらの着信の場合のほとんどを処理するものの、イベントキューからの正しい順序の出力を絶対的に保証するわけではないことに留意されたい。しかし、入力遅延が非常に大きい、なり得る場合には、そのクラス内の全てのイベントの同等の遅延を生じさせなければ、このような正しい順序の出力を保証することはできない。
図3では、3つの他のクラスも、遅延転送を必要としないものとして示されており、異なる優先順位を各々有する。これらのクラスは、優先順位Cにおける「準実時間(near real−time、NRT)アラーム」、優先順位Dにおける「バッチアラーム」、および優先順位Zにおける「スケジュールされていないバッチ」である。入力プロセッサ210はこれらのイベントを、遅延キュー220を通して渡すことなく、優先順位キュー245に直接渡す。
最後に、「スケジュールされたバッチ」キューは優先順位Eを有するが、処理時間next_window( )、例えば、現在の時間の後の次の午前零時まで遅延される。このようなクラスのイベントは、転送時間が経過するまで遅延キュー220内に保持され、その後、遅延プロセッサ230によって優先順位キュー245のキュー240Eに渡される。
図4を参照すると、イベントキューを通過するイベントの構造の1つの可能なセットが示されている。本例では、イベントキュー110への各入力イベント212は、フィールドのセット:メッセージ412は、例えば、メッセージを表現するフィールドのセットを自ら有する、イベントの「ペイロード」を保持する、以下においてより詳細に説明される特定の再順序付け操作のために特別に扱われる、メッセージのフィールドのうちの1つと考えられ得る、キー413、例えば、指示「実時間」などを表現する、cls414と表される、クラス、ならびにイベントのソースによって付与されたイベントのためのタイムスタンプts415を有する。入力プロセッサ210が入力イベント212を受信すると、それはイベントを補足し、構造222を形成する。具体的には、入力プロセッサは、例えば、図3に示される規則に従って、転送時間dt426、および優先順位pri427を追加する。イベントが遅延プロセッサによって遅延キュー220から出された後に、イベント242が優先順位キュー内に配置される。優先順位は、イベントが配置されたキュー240A〜Zによって暗に示され、転送時間はすでに過ぎたことが保証されているため、優先順位pri427、および転送時間dt426は省略されてもよい。
キュー240A〜Z内のイベント242の任意選択的な処理において、メッセージは、多数の制約に従ってさらに再順序付けされてもよい。1つの制約は、クラスのためのイベントが、再順序付けされることを許可されることである。例えば、入力プロセッサ210のための図3に示される規則は、「実時間」クラスは再順序付けされなくてもよく(re=F)、その一方で、クラス「準実時間」は再順序付けされてもよいこと(re=T)を指示し得る。実施形態によっては、再順序付けは、特定のキュー(例えば240B)内のイベントは任意の順序で転送することができるという要求の支配を受け、同じキー値を有するイベントは、規定の順序(例えば、tsの順序、またはイベントがイベントキュー110に到着した順序)のままでなければならないという要求の支配を受けてもよい。re=Fであるクラスのための1つの任意選択的な実装形態は、優先順位プロセッサ250が、最も低いtsを有し、先に転送された、同じtsを有するイベントを有しないイベントを取ることである。re=Tであるクラスのための1つの任意選択的な実装形態は、優先順位プロセッサ250が、各キュー240A〜Z内全体で最も早いtsを有するイベントを転送することである。
図5A〜Hを参照すると、イベントキュー110を通る一連の入力イベント212−1〜212−5の通過を示す、図2に対応する一実施形態の動作が示されている。図5Aを参照すると、イベント242−0および242−10がそれぞれキュー240Cおよび240Dに入れられており、イベント212−1が入力プロセッサ210によって処理されようとしている。図5Bでは、イベント242−0は優先順位プロセッサ250によってキューから出されており、入力プロセッサが、イベント212−1が遅延経路を介して処理されてもよいと決定した後に、入力イベント212−1に対応するイベント222−1(すなわち、イベント212−1の内容に加えて転送時間フィールドおよび優先順位フィールドを含む)が遅延キュー220内に入れられている。イベント222−1は、入力プロセッサによって計算された転送時間を含み、このそのイベント222−1は、その時間が過ぎるまで遅延キュー220内にとどまることになる。図5Bでは、2つの新たなイベント212−2および212−3が入力プロセッサ210によって処理されようとしている。図5Cでは、入力イベント212−2および212−3は入力プロセッサ210によって処理されている。本図では、イベント212−2は、入力プロセッサによって、即時の処理を必要とすると決定され、したがって、直接経路を介してキュー240Aに(イベント242−2として)入れられる。他方で、イベント212−3は、入力プロセッサが、このイベントは遅延転送にふさわしいと決定したため、イベント222−3として遅延キュー220に入れられ、この場合も先と同様に、転送時間がイベント223−3内で指示される。本図では、イベント222−3の転送時間はイベント222−1のものよりも遅く、したがって、イベント222−3は、より遅くキューから出されることになるため、遅延キュー内により遅くまで保持される。図5Cでは、イベント214−4が、入力プロセッサ210によって処理されようとしているように示されている。図5Dでは、イベント242−2は、優先順位プロセッサ250によってキューから出されたように示されており、入力イベント212−4は、イベント222−4として遅延キューに入れられて示されている。本図では、イベント222−4の転送時間は、イベント222−1のものの後、且つイベント222−3のものの前であると仮定され、したがって、イベントは222−1である。222−4、および222−3は、遅延キュー220内においてそれらの転送時間に従って順序付けられる。図5Eでは、イベント222−1の転送時間が過ぎ、遅延プロセッサ230は、対応するイベント242−1をキュー240Bに入れた。入力プロセッサ210はまた、入力イベント212−5をイベント242−5としてキュー240Aに直接渡した。図5Fでは、優先順位プロセッサはイベント242−5をキューから出しており、イベント222−4および222−3の双方の転送時間が過ぎたため、遅延プロセッサは、対応するイベント242−4および242−3をそれぞれキュー240Bおよび240Dに入れた。図5Gでは、優先順位プロセッサ250は、イベント242−1(すなわち、保留イベントを有する最も高い優先順位のキューの先頭イベント)をキューから出した。図5Hでは、優先順位プロセッサ250はイベント242−4をキューから出し、低い優先順位のイベント242−10および242−3を、優先順位プロセッサによって後にキューから出すために残した。典型的な実際の動作では、これらのキュー内にははるかにより多数のイベントが含まれ、優先順位キュー240A〜Dは一般的に複数の保留イベントを有することになることを理解されたい。
以上の説明は単一のイベントキュー110に焦点を当てている。図6に、分散イベントキュー510が示される。分散キュー510は、図2に示されるイベントキュー110の構造を各々有する、多数のコピー511を含む。本例では、分散イベントキューに入力されるイベントは、上述されたキーに従って区分化される。このように、クラスが、特定の値のためのイベントが正しい順序のままとどまることを必要とする場合には、その制約を各イベントキューコピー511において別個に適用することができる。
一実装形態では、上述されたイベントキュー100の一実装形態が、本明細書において参照により組み込まれる、米国特許出願公開第2016/0062776号明細書、「EXECUTING GRAPH−BASED PROGRAM SPECIFICATIONS」に記載されているシステムと併せて用いられる。例えば、イベントキュー100は、実行され得るタスクの「動作可能キュー」を実施するために用いられてもよく、または、例えば、順序付けられていない集団のフローを支援するための、リンクバッファを実施してもよい。実装形態によっては、イベント100は、以上において参照された公報に記載されるとおりの実行時システムのためのスケジューリングおよび優先順位付け機能を形成し、これによって、異なる計算グラフの動作可能タスクが単一のイベントキュー内で組み合わせられ、イベントキューによって課される優先順位付けおよびスケジューリングが、計算リソース、特に、計算の動作インスタンスを優先順位付けおよびスケジューリングに従って効率的に割り振る。このように、複数のグラフが実行時システム内に共存することができ、より優先順位の高い、またはより遅延に敏感なイベントにはリソースが優先的に適用され、他のイベントは、利用可能である時には、より多くの「バックグラウンド」リソースを消費する。
上述されたアプローチは、例えば、好適なソフトウェア命令を実行するプログラム可能なコンピューティングシステムを用いて実施し得るか、あるいはそれは、フィールドプログラマブルゲートアレイ(field−programmable gate array、FPGA)などの好適なハードウェアの形で、あるいは何らかのハイブリッド形態で実施することができる。例えば、プログラムされたアプローチでは、ソフトウェアは、少なくとも1つのプロセッサ、(揮発性および/または不揮発性メモリおよび/または記憶要素を含む)少なくとも1つのデータ記憶システム、(少なくとも1つの入力デバイスもしくはポートを用いて入力を受信するため、および少なくとも1つの出力デバイスもしくはポートを用いて出力を提供するための)少なくとも1つのユーザインターフェースを各々含む、(分散型、クライアント/サーバ型、またはグリッド型などの様々なアーキテクチャのものであり得る)1つ以上のプログラムされた、またはプログラム可能なコンピューティングシステム上で実行する1つ以上のコンピュータプログラム内の手続きを含み得る。ソフトウェアは、例えば、データフローグラフの設計、構成、および実行に関連するサービスを提供する、より大きなプログラムの1つまたは複数のモジュールを含んでもよい。プログラムのモジュール(例えば、データフローグラフの要素)は、データリポジトリ内に記憶されたデータモデルに適合するデータ構造またはその他の編成データとして実装可能である。
ソフトウェアは、媒体の物理特性(例えば、表面ピットおよびランド、磁気領域、または電荷)を用いて、期間(例えば、ダイナミックRAMなどのダイナミックメモリデバイスのリフレッシュ周期の間の時間)にわたって、揮発性もしくは不揮発性記憶媒体、または任意の他の非一時的媒体内に組み込まれるなど、非一時的形態で記憶され得る。命令のロードに備えて、ソフトウェアは、CD−ROM、または(例えば、汎用もしくは専用コンピューティングシステムもしくはデバイスによって可読の)その他のコンピュータ可読媒体などの、有形の非一時的媒体上に提供され得るか、あるいはネットワークの通信媒体を通じて、ソフトウェアが実行されるコンピューティングシステムの有形の非一時的媒体へ(例えば、伝搬信号内に符号化されて)転送され得る。処理の一部または全ては、専用コンピュータ上で、あるいはコプロセッサまたはフィールドプログラマブルゲートアレイ(FPGA)または専用の特定用途向け集積回路(application−specific integrated circuit、ASIC)などの、専用ハードウェアを用いて遂行されてもよい。処理は、ソフトウェアによって指定された計算の異なる部分が、異なるコンピューティング要素によって遂行される、分散した仕方で実施されてもよい。このようなコンピュータプログラムは各々、好ましくは、記憶デバイス媒体がコンピュータによって、本明細書において説明されている処理を遂行するために読み出されると、コンピュータを構成し、動作させるために、汎用または専用プログラム可能コンピュータによってアクセス可能な記憶デバイスのコンピュータ可読記憶媒体(例えば、ソリッドステートメモリもしくは媒体、または磁気的もしくは光学的媒体)上に記憶されるか、またはそれにダウンロードされる。本発明のシステムはまた、コンピュータプログラムを用いて構成された、有形の非一時的媒体として実装されると考えられてもよく、このように構成された媒体は、コンピュータを、本明細書において説明されている処理ステップのうちの1つまたは複数を遂行するための特定の既定の仕方で動作させる。
命令は、機械言語命令、仮想機械命令、より高水準のプログラミング命令、および/またはコンパイルもしくは解釈実行される命令を含む、異なるレベルのものであり得る。実装形態によっては、機能のうちの一部は、専用ハードウェアの形で完全に、または部分的に実施され得る。例えば、図2に示される様々なキューは、実施されるキューイングアプローチの効率を増大させるか、またはその待ち時間を低減し得る、専用ハードウェアを有し得る。いくつかの実装形態は、ソフトウェア構成要素および専用ハードウェア構成要素の組み合わせを用いる。
本発明の多数の実施形態が説明された。しかし、上述の説明は、本発明の範囲を限定することではなく、本発明を例示することが意図されていることを理解されたい。本発明の範囲は添付の請求項の範囲によって定義される。したがって、他の実施形態もまた、添付の請求項の範囲内に含まれる。例えば、様々な変更が、本発明の範囲から逸脱することなくなされ得る。追加的に、上述されたステップのいくつかは順序に依存しなくてもよく、それゆえ、説明されているものと異なる順序で遂行されることが可能である。

Claims (14)

  1. コンピューティングシステムにおいて複数の種類のイベントメッセージを処理するための方法であって、前記方法は、
    受信されたイベントメッセージをデータ記憶システム内に記憶することであって、前記データ記憶システムは、イベントメッセージに関連付けられた第1の複数の記録のための記憶を含み、各イベントメッセージはタイムスタンプを含み、イベントメッセージに関連付けられた記録は、前記イベントメッセージのためのイベント結果のための目標転送時間を指示するフィールドを含み、少なくとも一部のイベントメッセージのための前記目標転送時間は、前記イベントメッセージの種類に従って決定される、記憶することと、
    前記記憶されたイベントメッセージを、前記記憶されたイベントメッセージ内の情報、および前記イベントメッセージに関連付けられた前記記録内の前記目標転送時間に基づいてイベント結果を転送するよう処理することであって、前記処理することは、
    前記イベントメッセージを、優先順位を指示する前記イベントメッセージ内に記憶された情報に従って前記イベント結果を転送するために優先順位付けすること、
    第1のセット内の前記イベントメッセージの全てのための同じ優先順位を指示する情報を記憶する1つ以上のイベントメッセージの前記第1のセット内の各イベントメッセージのための目標転送時間を、前記イベントメッセージのそれぞれのタイムスタンプに対する固定された遅延に基づいて計算すること、および
    前記イベントメッセージの目標転送時間とクロック時間との比較に基づいて転送可能である前記イベントメッセージのための前記イベント結果を転送すること、
    を含む、処理することと、
    を含む、方法。
  2. 前記処理することが、前記記憶されたイベントメッセージのうちの全てより少数を包含するイベントメッセージの第2のセットを、イベントメッセージの前記第2のセット内のイベントメッセージを、それらのイベントメッセージが受信された順序に従って処理する代わりに、イベントメッセージの前記第2のセット内のイベントメッセージを、前記イベントメッセージ内の前記タイムスタンプに従って処理するように再順序付けすることをさらに含む、請求項1に記載の方法。
  3. 特定のイベントメッセージに関連付けられた前記目標転送時間が、前記特定のイベントメッセージが受信された後に、前記特定のイベントメッセージ内に含まれる情報によって少なくとも部分的に定義された関数を用いて計算される、請求項2に記載の方法。
  4. 第1のイベントクラスに関連付けられたイベントメッセージのために、前記関数が、前記クロック時間に基づく目標転送時間を返す、請求項3に記載の方法。
  5. 前記第1のイベントクラスに関連付けられたイベントメッセージが、再順序付けされる前記第2のセット内になく、それらのイベントメッセージが受信された前記順序に従って処理される、請求項4に記載の方法。
  6. 前記第1のイベントクラスよりも低い優先順位の第2のイベントクラスに関連付けられたイベントメッセージのために、前記関数が、前記固定された遅延、および前記イベントメッセージ内のタイムスタンプの合計である目標転送時間を返す、請求項4に記載の方法。
  7. 前記第2のイベントクラスに関連付けられたイベントメッセージが、再順序付けされる前記第2のセット内にあり、前記第2のクラスに関連付けられた前記イベントメッセージ内に記憶されたタイムスタンプに従って再順序付けされる、請求項6に記載の方法。
  8. 前記第2のイベントクラスよりも低い優先順位の第3のイベントクラスに関連付けられたイベントメッセージのために、前記関数が、前記イベントメッセージ内に記憶されたタイムスタンプに基づく目標転送時間を返す、請求項6に記載の方法。
  9. 前記第3のイベントクラスに関連付けられたイベントメッセージが、再順序付けされる前記第2のセット内にあり、前記第3のクラスに関連付けられた前記イベントメッセージ内に記憶されたタイムスタンプに従って再順序付けされる、請求項8に記載の方法。
  10. 前記第2のイベントクラスよりも低い優先順位の第3のイベントクラスに関連付けられたイベントメッセージのために、前記関数が、繰り返しスケジュールに基づく目標転送時間を返す、請求項6に記載の方法。
  11. 前記第2のセットが、全てが共通キー値を含むイベントメッセージを含む、請求項2に記載の方法。
  12. 前記イベントメッセージ内に記憶された情報に従ってイベント結果を転送するためにイベントメッセージを優先順位付けすることが、異なる優先順位のイベントクラスに関連付けられたイベントメッセージを、異なるそれぞれの順序付けられたキュー内に記憶し、空でない最も高い優先順位の順序付けられたキューの前方から、イベント結果の潜在的転送について評価するべき次のイベントメッセージを選択することを含む、請求項1に記載の方法。
  13. コンピューティングシステムにおいてイベントメッセージを処理するための、コンピュータ可読媒体上に非一時的形態で記憶されるソフトウェアであって、前記ソフトウェアは、前記コンピューティングシステムに、
    受信されたイベントメッセージをデータ記憶システム内に記憶することであって、前記データ記憶システムは、イベントメッセージに関連付けられた第1の複数の記録のための記憶を含み、各イベントメッセージはタイムスタンプを含み、イベントメッセージに関連付けられた記録は、前記イベントメッセージのためのイベント結果のための目標転送時間を指示するフィールドを含み、少なくとも一部のイベントメッセージのための前記目標転送時間は、前記イベントメッセージの種類に従って決定される、記憶することと、
    前記記憶されたイベントメッセージを、前記記憶されたイベントメッセージ内の情報、および前記イベントメッセージに関連付けられた前記目標転送時間に基づいてイベント結果を転送するよう処理することであって、前記処理することは、
    前記イベントメッセージを、優先順位を指示する前記イベントメッセージ内に記憶された情報に従って前記イベント結果を転送するために優先順位付けすること、
    第1のセット内の前記イベントメッセージの全てのための同じ優先順位を指示する情報を記憶する1つ以上のイベントメッセージの前記第1のセット内の各イベントメッセージのための目標転送時間を、前記イベントメッセージのそれぞれのタイムスタンプに対する固定された遅延に基づいて計算すること、および
    前記イベントメッセージの目標転送時間とクロック時間との比較に基づいて転送可能である前記イベントメッセージのための前記イベント結果を転送すること、
    を含む、処理することと、
    をさせるための命令を含む、ソフトウェア。
  14. イベントメッセージを処理するためのコンピューティングシステムであって、前記コンピューティングシステムは、
    受信されたイベントメッセージを記憶するためのデータ記憶システムであって、前記データ記憶システムは、イベントメッセージに関連付けられた第1の複数の記録のための記憶を含み、各イベントメッセージはタイムスタンプを含み、イベントメッセージに関連付けられた記録は、前記イベントメッセージのためのイベント結果のための目標転送時間を指示するフィールドを含み、少なくとも一部のイベントメッセージのための前記目標転送時間は、前記イベントメッセージの種類に従って決定される、データ記憶システムと、
    前記記憶されたイベントメッセージを、前記記憶されたイベントメッセージ内の情報、および前記イベントメッセージに関連付けられた前記目標転送時間に基づいてイベント結果を転送するよう処理するように構成された少なくとも1つのプロセッサであって、前記処理することは、
    前記イベントメッセージを、優先順位を指示する前記イベントメッセージ内に記憶された情報に従って前記イベント結果を転送するために優先順位付けすること、
    第1のセット内の前記イベントメッセージの全てのための同じ優先順位を指示する情報を記憶する1つ以上のイベントメッセージの前記第1のセット内の各イベントメッセージのための目標転送時間を、前記イベントメッセージのそれぞれのタイムスタンプに対する固定された遅延に基づいて計算すること、および
    前記イベントメッセージの目標転送時間とクロック時間との比較に基づいて転送可能である前記イベントメッセージのための前記イベント結果を転送すること、
    を含む、少なくとも1つのプロセッサと、
    を含む、コンピューティングシステム。
JP2019529898A 2016-12-15 2017-12-15 異種イベントキュー Active JP6864746B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201662434472P 2016-12-15 2016-12-15
US62/434,472 2016-12-15
PCT/US2017/066676 WO2018112344A1 (en) 2016-12-15 2017-12-15 Heterogeneous event queue

Publications (3)

Publication Number Publication Date
JP2020502647A true JP2020502647A (ja) 2020-01-23
JP2020502647A5 JP2020502647A5 (ja) 2021-01-21
JP6864746B2 JP6864746B2 (ja) 2021-04-28

Family

ID=61656331

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019529898A Active JP6864746B2 (ja) 2016-12-15 2017-12-15 異種イベントキュー

Country Status (8)

Country Link
US (1) US10628240B2 (ja)
EP (1) EP3555747B1 (ja)
JP (1) JP6864746B2 (ja)
KR (1) KR102239428B1 (ja)
CN (1) CN110100235B (ja)
AU (1) AU2017377034B2 (ja)
CA (1) CA3044287C (ja)
WO (1) WO2018112344A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11074554B2 (en) * 2016-12-30 2021-07-27 Verizon Patent And Licensing Inc. Cloud-based event calendar synching and notification
KR102527925B1 (ko) * 2017-11-29 2023-05-03 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
CN109508231B (zh) * 2018-11-17 2020-09-18 中国人民解放军战略支援部队信息工程大学 异构多模处理器的等价体间的同步方法及装置
US11593248B2 (en) * 2020-03-11 2023-02-28 SK Hynix Inc. Firmware event tracking systems and methods for preventing loss of events
CN111694619A (zh) * 2020-06-09 2020-09-22 重庆锐云科技有限公司 基于刷新率的定时器实现方法、装置、设备及存储介质
CN113535426B (zh) * 2021-06-16 2023-11-03 福建天泉教育科技有限公司 一种消息下发的优化方法及服务端

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09244984A (ja) * 1996-03-08 1997-09-19 Nippon Telegr & Teleph Corp <Ntt> イベント順序補正方法
JP2000293387A (ja) * 1999-04-05 2000-10-20 Nec Corp イベント通知システム
JP2016509730A (ja) * 2013-01-31 2016-03-31 フラウンホーファー−ゲゼルシャフト ツール フエルデルング デア アンゲヴァンテン フォルシュング エー.ファオ. アウトオブオーダーイベントを処理するための装置、方法及びコンピュータプログラム

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2358525C (en) 1999-01-08 2008-04-01 Nortel Networks Limited Dynamic assignment of traffic classes to a priority queue in a packet forwarding device
US6760309B1 (en) 2000-03-28 2004-07-06 3Com Corporation Method of dynamic prioritization of time sensitive packets over a packet based network
JP4294879B2 (ja) 2001-02-05 2009-07-15 株式会社日立製作所 サービスレベル制御機構を有するトランザクション処理システム及びそのためのプログラム
US7334000B2 (en) 2001-07-16 2008-02-19 Aol Llc Method and apparatus for calendaring reminders
US7421273B2 (en) 2002-11-13 2008-09-02 Agere Systems Inc. Managing priority queues and escalation in wireless communication systems
KR101043167B1 (ko) * 2003-06-25 2011-06-20 주식회사 케이티 레거시 망 운용관리 시스템간의 연동시스템 및 방법
US8028052B2 (en) * 2004-07-09 2011-09-27 Alcatel Lucent NMS with multi-server change requests processing
US20060277330A1 (en) 2005-06-01 2006-12-07 Wilhelmus Diepstraten Techniques for managing priority queues and escalation considerations in USB wireless communication systems
US8949840B1 (en) * 2007-12-06 2015-02-03 West Corporation Method, system and computer-readable medium for message notification delivery
EP2096564B1 (en) * 2008-02-29 2018-08-08 Euroclear SA/NV Improvements relating to handling and processing of massive numbers of processing instructions in real time
US9042366B2 (en) * 2010-09-30 2015-05-26 Vitesse Semiconductor Corporation Timestamp predictor for packets over a synchronous protocol
US8924981B1 (en) * 2010-11-12 2014-12-30 Teradat US, Inc. Calculating priority indicators for requests in a queue
WO2012149450A1 (en) * 2011-04-29 2012-11-01 Welleness & Prevention, Inc. Method and apparatus for electronic event correlated message delivery
US8452901B1 (en) * 2011-12-30 2013-05-28 Emc Corporation Ordered kernel queue for multipathing events
US20140278641A1 (en) * 2013-03-15 2014-09-18 Fiserv, Inc. Systems and methods for incident queue assignment and prioritization
US9785419B2 (en) 2014-09-02 2017-10-10 Ab Initio Technology Llc Executing graph-based program specifications
US9424075B1 (en) 2015-01-30 2016-08-23 Amazon Technologies, Inc. Dynamic virtual partitioning for delayed queues

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09244984A (ja) * 1996-03-08 1997-09-19 Nippon Telegr & Teleph Corp <Ntt> イベント順序補正方法
JP2000293387A (ja) * 1999-04-05 2000-10-20 Nec Corp イベント通知システム
JP2016509730A (ja) * 2013-01-31 2016-03-31 フラウンホーファー−ゲゼルシャフト ツール フエルデルング デア アンゲヴァンテン フォルシュング エー.ファオ. アウトオブオーダーイベントを処理するための装置、方法及びコンピュータプログラム

Also Published As

Publication number Publication date
AU2017377034A1 (en) 2019-06-06
US20180173577A1 (en) 2018-06-21
CA3044287A1 (en) 2018-06-21
EP3555747A1 (en) 2019-10-23
AU2017377034B2 (en) 2020-08-20
CN110100235B (zh) 2023-01-06
CN110100235A (zh) 2019-08-06
KR20190093653A (ko) 2019-08-09
CA3044287C (en) 2021-08-10
KR102239428B1 (ko) 2021-04-12
EP3555747B1 (en) 2021-12-08
WO2018112344A1 (en) 2018-06-21
US10628240B2 (en) 2020-04-21
JP6864746B2 (ja) 2021-04-28

Similar Documents

Publication Publication Date Title
JP2020502647A (ja) 異種イベントキュー
JP6383518B2 (ja) 仮想マシンモニター及び仮想マシンモニターのスケジューリング方法
US8881161B1 (en) Operating system with hardware-enabled task manager for offloading CPU task scheduling
Xie et al. Pandas: robust locality-aware scheduling with stochastic delay optimality
Moschakis et al. Towards scheduling for Internet‐of‐Things applications on clouds: a simulated annealing approach
US8385358B2 (en) Simple low-jitter scheduler
CN112099975B (zh) 一种消息处理方法及系统、存储介质
JP2020502647A5 (ja)
US20200125407A1 (en) Techniques for behavioral pairing in a task assignment system
KR20200062299A (ko) 블록체인 트랜잭션들을 선택하기 위한 트랜잭션 선택 디바이스
US11221883B2 (en) Hierarchical scheduler
US8547984B2 (en) Weighted differential scheduler
US7769026B2 (en) Efficient sort scheme for a hierarchical scheduler
CN111190541B (zh) 存储系统的流控方法以及计算机可读存储介质
US20200104193A1 (en) Port Groups
Somula et al. Analysis of CPU scheduling algorithms for cloud computing
US11474868B1 (en) Sharded polling system
Gaitan et al. Methods to improve the performances of the real-time operating systems for small microcontrollers
Rao et al. Development of scheduler for real time and embedded system domain
Busch et al. Stable Scheduling in Transactional Memory
CN115086245B (zh) 一种tsn报文调度的方法、交换机、设备及存储介质
JP2018073303A (ja) イベント制御装置、イベント制御方法、及びプログラム
US11784933B2 (en) Traffic shaping offload on a network interface controller
KR101137570B1 (ko) 멀티 에이전트 시스템을 위한 우선순위 기반 메시지 스케줄링 방법 및 그 장치
Erciyes et al. Design of an Experimental Distributed Real-Time Kernel

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190628

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200831

A524 Written submission of copy of amendment under article 19 pct

Free format text: JAPANESE INTERMEDIATE CODE: A524

Effective date: 20201130

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: 20210308

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210402

R150 Certificate of patent or registration of utility model

Ref document number: 6864746

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250