[go: up one dir, main page]

JP2008510259A - モジュラー型のイベントドリブン処理 - Google Patents

モジュラー型のイベントドリブン処理 Download PDF

Info

Publication number
JP2008510259A
JP2008510259A JP2007527954A JP2007527954A JP2008510259A JP 2008510259 A JP2008510259 A JP 2008510259A JP 2007527954 A JP2007527954 A JP 2007527954A JP 2007527954 A JP2007527954 A JP 2007527954A JP 2008510259 A JP2008510259 A JP 2008510259A
Authority
JP
Japan
Prior art keywords
thread
thread boundary
boundary
task
events
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.)
Pending
Application number
JP2007527954A
Other languages
English (en)
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 JP2008510259A publication Critical patent/JP2008510259A/ja
Pending legal-status Critical Current

Links

Images

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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/506Constraint

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Multi Processors (AREA)
  • Debugging And Monitoring (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

複数のスレッド境界のそれぞれは、単一のスレッドによって所与のイベントについて実行される機能を有している。スレッド境界には、イベントをルーティング可能な複数のキューを結合可能である。定義済みの関係において複数のタスクを構成可能であり、それぞれのタスクは、スレッド境界と関連付けられており、特定の機能を実行するための一群のコードを有している。リソースは、キューの深度に基づいてスレッド境界に割り当て可能である。
【選択図】図1

Description

本開示の実施例は、一般に、高性能の演算と、モジュラー型のイベントドリブン方式における演算サービスの提供に関するものである。
コンピューティング・デバイスは、リクエストを処理するべく、限られた数のリソースを備えることが可能である。リクエストを効率的に処理するには、装置は、どのリクエストに対してリソースをどのように割り当て可能であるのかを管理する必要があろう。リソースがリクエストに割り当てられた際に、そのリクエストを処理可能である。
本出願は、2004年8月17日付けで出願された「TECHNIQUES FOR DELIVERING PERSONALIZED CONTENT WITH A REAL−TIME ROUTING NETWORK, MODULAR EVENT−DRIVEN ARCHITECTURE, MODULAR EVENT−DRIVEN PROCESSING AND VIEWER FAILOVER TESTING A SYSTEM MEMORY WHILE AN OPERATING SYSTEM IS ACTIVE」という名称の同時係属中の米国仮特許出願第60/602,539号に対する優先権を主張するものであり、この内容は、本引用により、本明細書中に完全に記述されているかのように、あらゆる目的のために、本明細書に包含される。
装置は、特定の理由から、リクエストの大幅な増大を遭遇する場合がある。例えば、多数のユーザに対してウェブサイトのウェブページをサービスしているサーバは、ウェブページに対する多数のリクエストをユーザから受信する場合がある。リソースがリクエストに対して効率的に割り当てられていない場合には、ユーザは、遅延を遭遇することになる。
一実施例においては、モジュラー型のイベントドリブン処理は、複数のスレッド境界を提供し、それぞれのスレッド境界は、所与のイベントについて単一のスレッドによって実行される機能を有している。イベントをルーティング可能なキューによってスレッド境界を結合できるように、複数のキューをスレッド境界に対して通信可能に結合可能である。演算機能を複数のスレッド境界に分割すれば、それらの対応しているキューが満杯になるため、負荷の影響を受けやすい部分を識別することが可能となる。この結果、キューの深度に基づいて、スレッドなどの演算リソースをスレッド境界に対して動的に割り当て可能である。
複数のタスクは、サービスを提供するべく、定義済みの関係にあってよく、それぞれのタスクは、スレッド境界と関連付け可能であり、且つ、特定の機能を実行するための一群のコードを包含している。又、複数のサービスユーティリティを提供することも可能であり、それぞれのサービスユーティリティは、複数のタスクがアクセス可能なユーティリティを包含している。
いくつかの実施例においては、タスク及びそれらの間における定義済みの関係は、システム自体の外部においてハイレベルに記述可能であり、且つ、このハイレベルな記述に応じた能力を有することができる。いくつかの実施例においては、このハイレベルな記述は、XML(Extensible Markup Language)などの宣言型言語におけるものであってよい。このハイレベルな外部記述により、タスクとそれらの間における関係、並びに、その認証の動的な構成が可能になる。
添付の図面は、いくつかの実施例を示しているが、これらは、例示を目的とするものに過ぎない。当業者であれば、以下の説明内容から、本明細書に示されている構造及び方法の代替実施例を利用可能であることを容易に認識するであろう。
本明細書の残りの部分及び添付の図面を参照することにより、本明細書に開示されている開示内容の特性及び利点について理解を深めることができよう。
図1は、一実施例によるシステム101のハイレベルな概要を示している。システム101は、情報を処理するあらゆるコンピューティング・デバイス内において提供可能である。例えば、システム101は、サーバ又はルータに包含可能である。
システム101は、いくつかの機能(例えば、1つのサービス)を提供している。この機能は、複数のスレッド境界103に分割可能であり、それぞれのスレッド境界103は、所望の機能のアプリケーションロジックの一部をカプセル化可能である。スレッド境界は、スレッド境界キュー105によって接続可能である。イベント107(例えば、サービスに対するリクエストやメッセージ)は、スレッド境界103との間において、スレッド境界キュー105を介して入出力可能である。
イベントは、必要となる任意の処理であってよい。イベント107の一例が、サービスに対するリモートクライアントからのリクエストであってよい。例えば、クライアントは、ログインするべく要求可能であり、この場合には、システム101(例えば、サーバ)は、クライアントのクレデンシャルをチェックした後に、適切なアクションをとることが必要となろう。いくつかの実施例によれば、システム101は、このリクエストをイベント107としてカプセル化し、スレッド103(このそれぞれは、サービスの小さな構成要素を実行する能力を有することができる)のチェーンを通じて伝達することにより、このリクエストを処理し、最終的に、ログインの確認又は拒絶のいずれかを出力可能である。当業者には、本明細書に鑑み、イベントの様々なその他の例について明らかであろう。例えば、イベントは、データベースに対するレコードリクエストの処理、到来電子メールメッセージの処理、送出するエンコード済みデータの処理、送出エラーメッセージの送信、ウェブページに対するリクエストの処理などを包含可能である。
サーバなどの演算システムは、多数のイベントを同時に処理する必要があろう。従って、スレッド境界103間におけるイベント107は、スレッド境界キュー105内に存在可能である。スレッド境界103内においては、単一のスレッドがイベント107を処理可能である。但し、第1スレッド境界103がイベント107に関するその処理を完了し、イベント107をキュー105内に配置した後に、別のスレッドがイベント107をピックアップし、次のスレッド境界103を通過させることができる。
尚、図1には、2つのスレッド境界103が示されているが、任意の数のスレッド境界を提供可能である。多くの演算システムは、複雑な機能を提供しており、この複雑な機能は、必要に応じて、多数のスレッド境界103に分割可能である。複数のスレッド境界103への機能の分割と、使用するスレッド境界103の数は、異なったものであってよい。本明細書に鑑み、当業者には、多数の変形が明らかであろう。
機能を多数のスレッド境界103に分割することにより、それらの対応しているスレッド境界キュー105が満杯になるため、負荷の影響を受けやすい部分を識別することが可能となる。いくつかの実施例においては、リソース割当モジュール109により、スレッド境界キュー105を監視しており、キューの深度に基づいて、対応するスレッド境界103に演算リソースを割り当てている。例えば、第1キュー105及び第2キュー105内に保持されているイベントの数を判定可能である。そして、それぞれ、第1キュー105及び第2キュー105内に保持されているイベントの数に基づいて、リソースを割り当て可能である。例えば、第1キュー105が、第2キュー105よりも長い場合には、より多くのリソースを第1スレッド境界103に割り当て可能である。従って、スレッド境界103の負荷を使用することにより、リソースを動的に割り当てる方法を判定可能である。尚、キューの長さについて説明しているが、スレッド境界103によって処理されるイベントの数を使用するものなど、負荷を判定するその他の技法を使用することも可能であることを理解されたい。図1に示されている実施例においては、リソース割当モジュール109は、中央集中化可能であり、従って、これは、スレッド境界103及びキュー105によってカプセル化されているアプリケーションロジックとは別個のものになっている。
いくつかの実施例においては、リソース割当モジュール109は、そのインバウンドキュー105の長さに従って(或いは、必要に応じて、その他の測定基準に従って)、スレッドプール111のスレッドをスレッド境界103に割り当てている。当業者であれば、スレッド境界103内において、単一のスレッド(又は、複数のスレッド)により、それぞれのイベント107を処理可能であることを理解するであろう。同一のバウンダリ103により、複数のイベント107を並行して処理可能であり、必要に応じて、このような並行したイベント107の処理を複数のスレッドによって実行可能である(一実施例においては、スレッドは、1つのイベント107当たりに1つを上回っていない)。
従って、さもなければボトルネックになり得るシステム101の部分が、より多くのリソースを受領することになり、この結果、アプリケーションフローが円滑になると共に、性能を改善可能である。割当は、動的なものであってよいことから、リソース割当モジュール109は、状態の変化に対応可能である。例えば、特定のタイプのリクエストがシステム101に殺到すると、通常はボトルネックにならない部分が過負荷状態となる可能性がある。このような状況に対して、リソース割当モジュール109は、演算リソースの割当を動的に変更することにより、相応して対応可能である。
複数のスレッド境界に処理を分割するステップには、単一のリクエストを1つのスレッドに割り当てるステップ(この結果、この1つのスレッドが、そのリクエストのすべての処理を実行する)が伴っていないため、これは、利点を提供している。必要とするリソースの観点において、それぞれのリクエストを同一のものとして取り扱わなくてもよい。システム101は、イベントがキューイングされるスレッド境界に形成される負荷に対して、自身をチューニング可能である。従って、システム101の内部性能を監視可能であり、これを負荷に応答してチューニング可能である。
又、システム101は、スレッド境界用のキューのキュー長を使用することにより、リソースを割り当てる先を判定可能である。この結果、システム101は、イベントを優先順位付けする方法に伴う複雑な機能を導入することなしに、リソースを割り当てる先を判定可能である。
尚、リソース割当モジュール109は、単一のエンティティとして図示可能ではあるが、本明細書において使用されているリソース割当モジュール109という用語は、ソフトウェア、ハードウェア、ファームウェア、又はこれらの3つの任意の組み合わせとして実装可能な機能の集合体を意味していることを理解することができよう。リソース割当モジュール109をソフトウェアとして実装可能である場合には、これは、スタンドアロンプログラムとして実装可能であるが、例えば、より大きなプログラムの一部として、複数の別個のプログラムとして、又は1つ又は複数の静的又は動的にリンクされたライブラリとしてなど、その他の方法によって実装することも可能である。
図1に示されているように、それぞれのスレッド境界103によってカプセル化されている機能は、1つ又は複数のタスク113によって実行可能である。本明細書において使用されているこのタスク103という用語は、特定の機能を実行するためのコードの任意のブロックを包含可能である。所望の演算サービスを提供するためのチェーン内に複数のタスク113を包含可能である。
図2は、メッセージを暗号化及び送信する能力を有する4つのタスク113の単純な例を示している。暗号化及び伝送の対象である入力メッセージ201は、タスク1によって受信可能であり、このタスク1が宛先アドレスの有効性をチェックする。宛先アドレスが有効である場合には、タスク3が入力メッセージ201を暗号化し、暗号化されたメッセージ203をタスク4が出力として宛先アドレスに送信する。一方、宛先アドレスが無効である場合には、タスク2が、適切なエラーメッセージを生成し、これをタスク4が出力メッセージ203として発信元アドレスに送信する。4つのタスクによって提供されている機能は、必要に応じて、格段に大きな演算システムの一部であってよい。
図1を再度参照すれば、タスク113は、スレッド境界103よりも微細な粒度レベルにおけるものであってよい。複数のタスク113を単一スレッド境界103内にカプセル化可能であるが、単一のタスク113のみをスレッド境界103が格納することも可能であろう。特定のタスク113を特定のスレッド境界103に割り当て可能である。例えば、図1は、タスク1及び2がスレッド境界1内においてカプセル化され、且つ、タスク3〜5が、スレッド境界2内においてカプセル化されるものとして示している。その他の実施例においては、タスク1〜5は、2つを上回る数のスレッド境界103に分割可能であり、或いは、必要に応じて、5つのタスクのすべてを単一のスレッド境界内にカプセル化することも可能である。様々な実施例に応じて、タスク113をスレッド境界に割り当てるための多数の可能性が存在し得る。当業者には、本明細書に鑑み、必要に応じて、構成の変化により、タスク113とスレッド境界103間の関係を設定及び変更可能であることが明らかであろう。
図1に示されているように、すべての所望の機能をタスク113によって実行可能である必要はない。例えば、特定の機能をサービスユーティリティ115によって実行可能であり、これらのサービスユーティリティは、複数のタスク113によって使用可能なユーティリティであってよい。標準的なユーティリティを中央集中化することによって効率が向上することに加えて、サービスユーティリティ115によれば、柔軟性も向上することになる。タスク113が、インタフェースを通じてサービスユーティリティ115にアクセスする実施例においては、そのサービスに依存しているタスク113のいずれをも変更することなしに、サービス115の実装をスワップ可能であろう。例えば、ログファイルに書き込むべく多数のタスク113を必要としている場合には、ロギングサービスを提供可能である。タスク113は、サービスユーティリティ115を通じてロギングサービスにアクセス可能である。サービス115は、状態を保存可能であり、従って、複数のタスク113がこれらをイベント用に使用可能である。
サービスユーティリティ115は、イベント107の生成ソースとして使用可能である。例えば、クライアントがリクエストを発行した際には、このリクエストをタスクフローに入力するべく、ネットワークプロトコルサービス115が、このリクエストをイベント107としてパッケージ化し、適切なスレッド境界キュー105に挿入する責任を担うことができる。イベント107は、サービスユーティリティ115によって生成され、処理のためにタスク113に伝達可能であり、タスクは、通常、既存のイベント107を変更し、それらをその他のタスク113に転送する。
いくつかの実施例においては、サービスユーティリティ115は、状態を保存可能であり、タスク113は、ステートレスであってよい。例えば、現時点において登録されているユーザのリストは、通常、サービス115によって制御されることになろう。タスク113は、サービス115に関するメソッドを呼び出すことにより、リストにアクセス可能である。尚、タスク113は、ステートレスであるものとして説明されているが、いくつかの実施例においては、タスク113も状態を保存可能である。
一実施例においては、タスク113は、スレッドを生成したり、或いは、内部タスク113の手順を制御しているスレッドに関する知識を具備している必要はない。一方、サービスユーティリティ115は、異なるスレッド境界103内において稼動している複数のタスク113がそれらにアクセス可能であるため、スレッドセーフであってよい。従って、サービスユーティリティ115は、複数のスレッドからアクセス可能である。
タスク113を利用するケースとサービス115を使用するケースは変化可能である。いくつかの実施例においては、可能な限りタスクを使用可能である。このような実施例においては、サービス115は、多数のタスク113にわたって横断しているユーティリティ、イベント107を生成するコンポーネント、又は状態を管理するコンポーネント用に使用可能である。その他の実施例においては、タスク113及び/又はサービスユーティリティ115は、必要に応じて、より多くの又は少ない目的に使用可能である。本明細書に鑑み、当業者には、本明細書において、「タスク」及び「サービス」という用語が、単に様々な機能を説明するべく使用されていることが明らかであろう。これらの機能に対するこの特定の命名法は、必須又は重要ではなく、様々な実施例及び/又はその特徴を実装するメカニズムは、様々な名称、分割、及び/又はフォーマットを具備可能である。
前述のように、複数のタスク113は、サービス用の所望の機能を提供するべく、定義済みの関係にあってよい。このタスク113間における定義済みの関係は、提供される機能によって左右されることになる。例えば、タスク113は、所望の機能に応じて異なる方式で構成可能である。前述のように、タスク113は、入力としてイベント107を受信し、これに関する動作を実行し、(恐らくは変形された)イベント107を更なる処理のためにその他のタスク113に伝達可能である。タスク113は、その内容又はその他の要因に基づいて、イベント107の処理方法及び/又はその伝達先について決定を下すことができる。
特定のタスク113は、特定の入力を受信し、特定の処理を実行し、特定の出力を送信する能力を有することができる。タスク113は、処理コードであってよく、ゼロ又はこれを上回る数の入力(即ち、タスク113がイベント107の形態でデータを受信する供給ソース)とゼロ又はこれを上回る数の出力を有しており、この出力を通じて、タスクは、処理の後にイベント107を送信する。タスク113と関連している入力、処理、及び出力は、タスク113のコントラクトを定義するものとして見なすことができる。供給ソースコントラクトは、タスク113の入力を介して受信するイベント107に関する制約を規定している。処理コントラクトは、タスクを通過するイベント107に対してタスク113が実行する変更の内容について記述している。この「入力」、「出力」、「供給ソースコントラクト」、及び「処理コントラクト」という用語は、言語学的な用語であり、本明細書においては、基礎をなしている機能を記述するべく使用されている。このような側面及び機能を記述するべく使用されるその他の名称を想起することも可能である。
供給ソースコントラクト及び処理コントラクトの一例を示すべく、クライアントは、イベント107(即ち、認証リクエスト)をシステム101(例えば、サーバ)に対して伝送することにより、ユーザの認証を要求可能である。例として、イベント107が、「username」というストリングと「password」というストリングを格納していると想定しよう。このイベント107は、「password」というストリングと「username」というストリングを受領することが供給ソースコントラクトに規定されている検証タスク113に伝達可能である。タスク113は、これらのストリングを使用することにより、ユーザを認証可能である。認証結果は、下流の様々なタスク113に伝達可能であり、検証タスク113の処理コントラクトにおいて、「valid」というブーリアンをイベント107に付加する旨を規定可能である。その他のケースにおいては、タスク113の処理コントラクトは、イベント107からアイテムを除去可能であろう。
いくつかの実施例においては、タスク113及びそれらの間における定義済みの関係は、システム自体の外部においてハイレベルに記述可能であり、且つ、このハイレベルな記述に従って構成可能である。いくつかの実施例においては、このハイレベルな記述は、XML(Extensible Markup Language)などの宣言型言語におけるものである。ハイレベルな記述は、例えば、XML構成ファイル内に保存可能である。
このハイレベルな外部記述により、タスク113、それらの間の関係、並びに、その認証の動的な構成が可能となる。本明細書に鑑み、当業者には、タスク113及びそれらの間における定義済みの関係のハイレベルな記述が、タスク113の機能、入力及び出力、供給ソースコントラクト及び処理コントラクト、並びに、複数のタスク113を1つに関係付けて所望の機能を提供する方法、及びスレッド境界103に対するタスク113の割当に関する説明を包含可能であることが容易に明らかであろう。いくつかの実施例においては、更に多くの又は更に少ない情報をハイレベルな記述内に包含可能である。
図3は、本発明に従ってタスク113及びそれらの間における関係のハイレベルな記述を処理するステップを示している。ステップ301において、システム101は、ハイレベルな記述を(例えば、XML構成ファイルから)読み取る。ステップ303において、システム101は、複数のタスクを相応して動的に構成する。
対応した変更をハイレベルな記述に対して実行することにより、タスク113及び/又はタスク113間における関係に対する動的な変更を実行可能である。ステップ305において、システム101は、ハイレベルな記述に対する対応した変更に応答し、タスク113を動的に変更可能である。又、ステップ307及び309において、システム101は、ハイレベルな記述に対応した変更に応答し、複数のタスク113間における定義済みの関係(又は、タスク113のスレッド境界103に対する割当)を動的に変更可能である。
ステップ311において、ハイレベルな記述を使用することにより、タスク113間における定義済みの関係が論理的に一貫性を有しているかどうかを自動的に判定することも可能である。このような判定は、例えば、供給ソース及び処理コントラクトの検証をも包含可能である。
図4は、一実施例による管理モジュール401のハイレベルな概要を示している。図4に示されているように、いくつかの実施例においては、タスク113、サービスユーティリティ115、及び/又はスレッド境界103は、これらのコンポーネントを、管理モジュール401を介して監視及び制御できるように実装可能である。このような実施例においては、タスク113及び/又はその他のコンポーネントは、管理モジュール401に対して通信可能に結合可能であり、これらのタスク113及びその他のコンポーネントの属性(例えば、アクティブ接続の数)を、例えば、グラフィカルユーザインタフェース405又はコマンドライン407、或いは、適宜、構成ファイルを介して、管理モジュール401から監視又は動的に変更可能である。
このような一実施例においては、コンポーネントと管理モジュール401間における前述の通信は、JMX(Java(登録商標) Management Extention)のMBeanインタフェースを介して実行可能である。このような実施例においては、タスク113、サービスユーティリティ115、及び/又はスレッド境界103は、MBeanの実装体であってよく、従って、管理モジュール401に対して露出したMBeanインタフェースを自動的に包含可能であり、このような実施例においては、これをJMX上に構築可能である。
JMXによれば、コンポーネントの管理、運用、及び監視が、これらのコンポーネント自体から分離される。この結果、アプリケーションの管理フロントエンドがスワップ可能となる。一例として、サーバなどのコンピューティング・システムは、コンポーネントを監視及び制御するべく、ウェブベースのグラフィカルユーザインタフェース405とコマンドラインインタフェース407の両方を有するようにパッケージ化された管理モジュール401を包含可能であろう。これらのインタフェース405、407は、本明細書に鑑み、当業者には明らかな方式により、JMXによって定義されている規則及びインタフェースを用いて独立的に開発可能である。その後、これらのインタフェース405、407を使用することにより、こちらも、本明細書に鑑み、当業者には明らかな方式により、タスク113、サービスユーティリティ115、及び/又はスレッド境界103を監視及び動的に構成可能である。当然のことながら、必要に応じて、JMX以外の開発環境においてその他の実施例を実装することも可能である。
当業者であれば、その精神又は基本的な特性を逸脱することなしに、本開示をその他の特定の形態において実施可能であることを理解することができよう。同様に、モジュール、特徴、属性、方法、及びその他の側面の特定の命名法及び分割は、必須又は重要ではなく、実施例及びその特徴を実装するメカニズムは、様々な命名法、分割、及び/又はフォーマットを具備可能である。又、当業者には、本開示のモジュール、特徴、属性、方法、及びその他の側面は、ソフトウェア、ハードウェア、ファームウェア、又はこれら3つの任意の組み合わせとして実装可能であることが明らかであろう。コンポーネントをソフトウェアとして実装可能である場合には、コンポーネントは、スタンドアロンプログラムとして、より大きなプログラムの一部として、複数の別個のプログラムとして、静的又は動的にリンクされたライブラリとして、カーネル読み込み可能なモジュールとして、デバイスドライバとして、及び/又はコンピュータプログラミング分野の当業者に現在又は将来判明するすべての任意のその他の方法によって実装可能である。又、実施例は、特定のプログラミング言語や特定のオペレーティングシステム又は環境における実装には決して限定されていない。従って、本開示は、本開示の範囲を例示することを意図するものであり、これを限定するものではなく、本開示の範囲は、添付の請求項に記述されているとおりである。
一実施例においては、「及び/又は」という文言は、「及び/又は」によって接続されている要素の任意の組み合わせを使用可能であることを示し得る。例えば、「及び/又は」を使用するフレーズ内における2つの単語又は表現は、1つ又はもう一方、或いは、これらの両方を示し得る。一実施例においては、「実質的」という文言は、ほとんど(但し、完全にではなく)規定可能であること(或いは、規定可能であるもの)を意味可能である。一実施例においては、「〜する能力を有する」とう文言は、「構成されている」、「適合されている」、「可能である」などを意味可能である。例えば、「アクションを実行する能力を有している」という文言は、要素が、「そのアクションを実行可能であってよい」、「そのアクションを実行するべく構成可能である」、及び/又は「そのアクションを実行するべく適合可能である」を示し得る。
実施例は、ソフトウェア又はハードウェア、或いは、これらの組み合わせとして、制御ロジックの形態において実装可能である。この制御ロジックは、一実施例に開示されているステップのペアを情報処理装置に実行させるべく適合された複数の命令として情報ストレージ媒体内に保存可能である。当業者であれば、本明細書に提供されている開示及び教示内容に基づいて、実施例を実装するためのその他の方法及び/又は方式について理解することができよう。
以上の説明は、例示を目的としており、制限を意図するものではない。本開示を参照することにより、当業者には、本開示の多数の変形が明らかとなろう。従って、本開示の範囲は、以上の説明を参照することによって判断されるべきものではなく、添付の請求項をその完全な範囲又はその等価物と共に参照して、判断されるべきである。
本発明の一実施例によるシステムのハイレベルな概要を示すブロックダイアグラムである。 本発明の一実施例による送出メッセージを暗号化及び送信する能力を有する4つのタスクの一例を示すブロックダイアグラムである。 本発明の一実施例によるタスクとそれらの間における関係のハイレベルな記述を処理するステップを示すフローチャートである。 本発明の一実施例による管理モジュールのハイレベルな概要を示すブロックダイアグラムである。

Claims (34)

  1. イベントを処理する方法において、
    複数のスレッド境界の中の第1スレッド境界における負荷を判定するステップであって、前記複数のスレッド境界は、1つ又は複数のイベント用のサービスを実行可能であり、前記複数のスレッド境界の中のそれぞれのスレッド境界は、少なくとも1つのタスクが実行可能な前記サービスの少なくとも一部と関連付けられた当該少なくとも1つのタスクを含んでいる、ステップと、
    前記判定された負荷に基づいて、1つ又は複数のリソースを前記第1スレッド境界に対して動的に割り当てるステップであって、前記1つ又は複数のリソースにより、前記第1スレッド境界の前記少なくとも1つのタスクは、前記少なくとも1つのタスクと関連付けられている前記サービスの少なくとも一部を実行可能である、ステップと、
    を有することを特徴とする方法。
  2. 前記負荷は、前記第1スレッド境界が処理することを要するイベントの数に基づいている請求項1に記載の方法。
  3. 複数のスレッド境界キューを提供するステップを更に有しており、前記第1スレッド境界は、前記イベントの数を保持可能である第1スレッド境界キューを有する請求項2に記載の方法。
  4. 前記負荷は、前記スレッド境界キュー内に保持されている前記イベントの数に基づいて判定される請求項3に記載の方法。
  5. 前記第1スレッド境界は、前記イベントの数に対して前記サービスの前記少なくとも一部を実行可能である請求項2に記載の方法。
  6. 前記複数のスレッド境界の中の第2のスレッド境界における第2負荷を判定するステップと、
    判定された前記第2負荷に基づいて、1つ又は複数のリソースの第2の組を前記第2のスレッド境界に対して動的に割り当てるステップであって、前記1つ又は複数のリソースの第2の組により、前記第2のスレッド境界の前記少なくとも1つのタスクは、第2の前記サービスの少なくとも一部を実行可能である、ステップと、
    を更に有する請求項2に記載の方法。
  7. 前記第2負荷は、前記第2スレッド境界が処理すること要する第2のイベントの数に基づいている請求項6に記載の方法。
  8. 前記第1スレッド境界の前記負荷及び前記第2スレッド境界の前記第2負荷は、前記第1スレッド境界及び前記第2スレッド境界に対して割り当てるリソースの数を判定するために使用される請求項6に記載の方法。
  9. 1つ又は複数のリソースを前記第1スレッド境界に動的に割り当てるステップは、
    前記負荷に基づいてスレッドを前記第1スレッド境界に割り当てるステップであって、それぞれの割り当てられたスレッドは、それが割り当てられている前記スレッド境界と関連付けられた前記サービスの少なくとも一部を実行する、ステップを更に有する請求項1に記載の方法。
  10. 前記複数のスレッド境界のそれぞれの前記少なくとも1つのタスクは、前記1つ又は複数のイベント用の前記サービスを実行するために、定義済みの関係を有している請求項1に記載の方法。
  11. 前記1つ又は複数のイベントの中のイベントは、該イベント用の前記サービスを実行するために、前記複数のスレッド境界によって処理される請求項1に記載の方法。
  12. 前記1つ又は複数のイベントの中の第1イベント及び第2イベントは、前記第1スレッド境界内において並列処理される請求項1に記載の方法。
  13. イベントを処理するためのコンピュータシステムにおいて、
    サービスを実行可能な複数のスレッド境界であって、該複数のスレッド境界の中の第1スレッド境界は、前記サービスの少なくとも一部を実行可能な少なくとも1つのタスクを含んでいる、複数のスレッド境界と、
    前記スレッド境界に結合された複数のスレッド境界キューであって、前記第1スレッド境界は、前記第1スレッド境界にルーティングするための1つ又は複数のイベントを保持可能な第1スレッド境界キューを含んでいる、複数のスレッド境界キューと、
    前記第1スレッド境界キューの第1スレッド境界キュー深度に基づいて、1つ又は複数のリソースを前記第1スレッド境界に割り当て可能なリソース割当モジュールであって、前記第1スレッド境界キュー深度は、前記第1スレッド境界キュー内に保持されているイベントの数に基づいている、リソース割当モジュールと、
    を有することを特徴とするシステム。
  14. 前記割り当てられた1つ又は複数のリソースにより、前記第1スレッド境界の少なくとも1つのタスクは、前記第1スレッド境界キュー内に保持されている前記イベントの数のための前記サービスの少なくとも一部を実行可能である請求項13に記載のシステム。
  15. 前記複数のスレッド境界の中の第2スレッド境界は、第2のイベントの数を保持する第2スレッド境界キューを含んでおり、
    前記リソース割当モジュールは、前記第1スレッド境界キュー深度及び前記第2スレッド境界キュー深度に基づいて、第1のリソースの組を前記第1スレッド境界に、そして、第2のリソースの組を前記第2スレッド境界に割り当て可能であり、前記第1スレッド境界キュー深度は、前記第1スレッド境界キュー内に保持されている前記イベントの数に基づいており、前記第2スレッド境界キュー深度は、前記第2スレッド境界キュー内に保持されている前記第2のイベントの数に基づいている請求項13に記載のシステム。
  16. 前記1つ又は複数のリソースは、1つ又は複数のスレッドを有しており、前記1つ又は複数のスレッドは、前記第1スレッド境界キュー深度に基づいて前記第1スレッド境界に割り当てられる請求項13に記載のシステム。
  17. それぞれの割り当てられたスレッドは、前記イベントの数のための前記第1スレッド境界内において前記少なくとも1つのタスクを実行する請求項16に記載のシステム。
  18. スレッド境界キュー深度に基づいてスレッド境界に割り当てられる前記1つ又は複数のスレッドを有し、かつ、前記リソース割当モジュールに結合されたスレッドプールを更に有する請求項16に記載のシステム。
  19. 前記複数のタスクのそれぞれは、ステートレスである請求項13記載のシステム。
  20. ユーティリティを提供可能な1つ又は複数のサービスユーティリティを更に有しており、前記複数のスレッド境界のそれぞれの中の前記少なくとも1つのタスクは、前記1つ又は複数のサービスユーティリティの中のサービスユーティリティを使用して、前記サービスのその一部を実行する請求項13に記載のシステム。
  21. 前記1つ又は複数のサービスユーティリティの中の少なくとも1つは、ステートフルである請求項20に記載のシステム。
  22. 前記複数のスレッド境界の少なくとも1つのタスクは、前記1つ又は複数のイベント用の前記サービスを実行するために、定義済みの関係を有している請求項13に記載のシステム。
  23. 前記イベントの数の中のイベントは、該イベント用の前記サービスを実行するために、前記複数のスレッド境界によって処理される請求項13に記載のシステム。
  24. 前記イベントは、前記第2スレッド境界が前記イベントを次に処理できるように、前記第1スレッド境界から第2スレッド境界の第2スレッド境界キューに伝達される請求項23に記載のシステム。
  25. 前記1つ又は複数のイベントの中の第1イベント及び第2イベントは、前記第1スレッド境界内において並列処理される請求項13に記載のシステム。
  26. 処理するためのコンピュータシステムにおいて、
    少なくとも1つのタスクを有する第1スレッド境界であって、該第1スレッド境界内の第1タスクは、第1機能を実行するための処理機能を有する、第1スレッド境界と、
    少なくとも1つのタスクを有する第2スレッド境界であって、前記第2スレッド境界内の第2タスクは、第2機能を実行するための処理機能を有する、第2スレッド境界と、
    前記第1スレッド境界に結合された第1スレッド境界キューと、
    前記第2スレッド境界に結合された第2スレッド境界キューであって、該第2スレッド境界キューは、前記1つ又は複数のイベントが、前記第2スレッド境界キューを通じて前記第1スレッド境界から前記第2スレッド境界にルーティングされるように、前記第1スレッド境界及び前記第2スレッド境界を結合する、第2スレッド境界キューと、
    1つ又は複数のリソースを前記第1及び第2スレッド境界に割り当て可能なリソース割当モジュールであって、1つ又は複数のリソースにより、前記第1及び第2タスクは、それぞれの第1及び第2機能を実行可能であり、前記1つ又は複数のリソースは、前記第1スレッド境界キューの第1スレッド境界キュー深度及び前記第2スレッド境界キューの第2スレッド境界キュー深度に基づいて前記第1及び第2スレッド境界に割り当てられており、前記第1スレッド境界は、前記1つ又は複数のリソースの中の第1のリソースの組を受領し、前記第2スレッド境界は、前記1つ又は複数のリソースの中の第2のリソースの組を受領する、リソース割当モジュールと、
    を有することを特徴とするコンピュータシステム。
  27. 前記1つ又は複数のリソースは、前記第1タスクの前記第1機能、又は、前記第2タスクの第2機能を処理可能なスレッドを有する請求項26に記載のコンピュータシステム。
  28. 前記第1及び第2スレッド境界キュー深度に基づいて前記第1及び第2スレッド境界に割り当てられる前記1つ又は複数のスレッドを有するスレッドプールを更に有する請求項27に記載のコンピュータシステム。
  29. 第1及び第2タスクは、ステートレスである請求項26に記載のコンピュータシステム。
  30. 1つ又は複数のサービスユーティリティを更に有しており、サービスユーティリティは、前記第1機能又は前記第2機能を実行するときに前記第1タスク又は第2タスクからアクセス可能なユーティリティを有する請求項26に記載のコンピュータシステム。
  31. 前記1つ又は複数のサービスユーティリティの中の少なくとも1つは、ステートフルである請求項30に記載のコンピュータシステム。
  32. 前記第1スレッド境界内の前記少なくとも1つの第1タスク、及び、前記第2スレッド境界内の前記少なくとも1つのタスクは、前記イベント用の前記第1機能及び第2機能に基づいて全体的な機能を実行するために、定義済みの関係を有している請求項26に記載のコンピュータシステム。
  33. 前記イベントは、前記イベント用の前記第1及び第2機能によって定義された全体的な機能を実行するために、前記複数のスレッド境界によって処理される請求項26に記載のコンピュータシステム。
  34. 前記1つ又は複数のイベントの中の第1イベント及び第2イベントは、並列処理される請求項26に記載のコンピュータシステム。
JP2007527954A 2004-08-17 2005-08-15 モジュラー型のイベントドリブン処理 Pending JP2008510259A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US60253904P 2004-08-17 2004-08-17
PCT/US2005/029158 WO2006023506A1 (en) 2004-08-17 2005-08-15 Modular event-driven processing
US11/205,263 US8397237B2 (en) 2004-08-17 2005-08-15 Dynamically allocating threads from a thread pool to thread boundaries configured to perform a service for an event

Publications (1)

Publication Number Publication Date
JP2008510259A true JP2008510259A (ja) 2008-04-03

Family

ID=35426992

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007527954A Pending JP2008510259A (ja) 2004-08-17 2005-08-15 モジュラー型のイベントドリブン処理

Country Status (4)

Country Link
US (2) US8397237B2 (ja)
EP (1) EP1789875A1 (ja)
JP (1) JP2008510259A (ja)
WO (1) WO2006023506A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8356305B2 (en) 2004-08-17 2013-01-15 Shaw Parsing, L.L.C. Thread boundaries comprising functionalities for an event by a single thread and tasks associated with the thread boundaries configured in a defined relationship
JP2019179487A (ja) * 2018-03-30 2019-10-17 日本電気株式会社 情報処理装置、制御方法、及びプログラム

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7051070B2 (en) 2000-12-18 2006-05-23 Timothy Tuttle Asynchronous messaging using a node specialization architecture in the dynamic routing network
US8505024B2 (en) 2000-12-18 2013-08-06 Shaw Parsing Llc Storing state in a dynamic content routing network
US7930362B2 (en) * 2000-12-18 2011-04-19 Shaw Parsing, Llc Techniques for delivering personalized content with a real-time routing network
EP1779636B1 (en) * 2004-08-17 2015-05-27 Shaw Parsing LLC Techniques for upstream failure detection and failure recovery
EP1805610A4 (en) * 2004-10-04 2008-02-13 Research In Motion Ltd ALLOCATION OF WIRES TO USER OBJECTS OF A COMPUTER SYSTEM
US8127010B2 (en) * 2004-10-04 2012-02-28 Research In Motion Limited System and method for adaptive allocation of threads to user objects in a computer system
US8789021B2 (en) * 2005-06-30 2014-07-22 International Business Machines Corporation Method and apparatus for object-oriented load testing of computing systems
US7752123B2 (en) * 2006-04-28 2010-07-06 Townsend Analytics Ltd. Order management system and method for electronic securities trading
US8881169B2 (en) * 2007-03-20 2014-11-04 Fujitsu Mobile Communications Limited Information processing apparatus for monitoring event delivery from plurality of monitoring threads
US8108545B2 (en) * 2007-08-27 2012-01-31 International Business Machines Corporation Packet coalescing in virtual channels of a data processing system in a multi-tiered full-graph interconnect architecture
US8014387B2 (en) * 2007-08-27 2011-09-06 International Business Machines Corporation Providing a fully non-blocking switch in a supernode of a multi-tiered full-graph interconnect architecture
US7958182B2 (en) * 2007-08-27 2011-06-07 International Business Machines Corporation Providing full hardware support of collective operations in a multi-tiered full-graph interconnect architecture
US7769892B2 (en) * 2007-08-27 2010-08-03 International Business Machines Corporation System and method for handling indirect routing of information between supernodes of a multi-tiered full-graph interconnect architecture
US7958183B2 (en) * 2007-08-27 2011-06-07 International Business Machines Corporation Performing collective operations using software setup and partial software execution at leaf nodes in a multi-tiered full-graph interconnect architecture
US7769891B2 (en) * 2007-08-27 2010-08-03 International Business Machines Corporation System and method for providing multiple redundant direct routes between supernodes of a multi-tiered full-graph interconnect architecture
US8185896B2 (en) * 2007-08-27 2012-05-22 International Business Machines Corporation Method for data processing using a multi-tiered full-graph interconnect architecture
US8140731B2 (en) * 2007-08-27 2012-03-20 International Business Machines Corporation System for data processing using a multi-tiered full-graph interconnect architecture
US7822889B2 (en) * 2007-08-27 2010-10-26 International Business Machines Corporation Direct/indirect transmission of information using a multi-tiered full-graph interconnect architecture
US7840703B2 (en) * 2007-08-27 2010-11-23 International Business Machines Corporation System and method for dynamically supporting indirect routing within a multi-tiered full-graph interconnect architecture
US7904590B2 (en) * 2007-08-27 2011-03-08 International Business Machines Corporation Routing information through a data processing system implementing a multi-tiered full-graph interconnect architecture
US7793158B2 (en) * 2007-08-27 2010-09-07 International Business Machines Corporation Providing reliability of communication between supernodes of a multi-tiered full-graph interconnect architecture
US7809970B2 (en) * 2007-08-27 2010-10-05 International Business Machines Corporation System and method for providing a high-speed message passing interface for barrier operations in a multi-tiered full-graph interconnect architecture
US7827428B2 (en) * 2007-08-31 2010-11-02 International Business Machines Corporation System for providing a cluster-wide system clock in a multi-tiered full-graph interconnect architecture
US7921316B2 (en) * 2007-09-11 2011-04-05 International Business Machines Corporation Cluster-wide system clock in a multi-tiered full-graph interconnect architecture
US7779148B2 (en) * 2008-02-01 2010-08-17 International Business Machines Corporation Dynamic routing based on information of not responded active source requests quantity received in broadcast heartbeat signal and stored in local data structure for other processor chips
US20090198956A1 (en) * 2008-02-01 2009-08-06 Arimilli Lakshminarayana B System and Method for Data Processing Using a Low-Cost Two-Tier Full-Graph Interconnect Architecture
US8077602B2 (en) * 2008-02-01 2011-12-13 International Business Machines Corporation Performing dynamic request routing based on broadcast queue depths
US8417778B2 (en) 2009-12-17 2013-04-09 International Business Machines Corporation Collective acceleration unit tree flow control and retransmit
US9250964B2 (en) 2013-08-27 2016-02-02 International Business Machines Corporation Concurrent computing with reduced locking requirements for shared data
US9430775B2 (en) * 2013-09-17 2016-08-30 Responsys, Inc. System and method for analyzing and tuning a marketing program
CN104980333B (zh) * 2014-04-14 2018-03-27 纬创资通股份有限公司 Pushlet即时通信方法及平台
US10201847B2 (en) 2014-07-09 2019-02-12 The Boeing Company Clamping feet for an end effector
WO2016010932A1 (en) 2014-07-14 2016-01-21 Oracle International Corporation Age-based policies for determining database cache hits
US10277414B2 (en) 2014-07-18 2019-04-30 Oracle International Corporation Communication gateway services in a networked message distribution system
US10726376B2 (en) * 2014-11-04 2020-07-28 Energage, Llc Manager-employee communication
US10692027B2 (en) * 2014-11-04 2020-06-23 Energage, Llc Confidentiality protection for survey respondents
US10061619B2 (en) 2015-05-29 2018-08-28 Red Hat, Inc. Thread pool management
WO2023114327A1 (en) * 2021-12-14 2023-06-22 Redactable Inc. Cloud-based methods and systems for integrated optical character recognition and redaction

Family Cites Families (105)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5230048A (en) 1986-09-03 1993-07-20 Wang Laboratories, Inc. Data processing system with tree and list data structure
US5031089A (en) 1988-12-30 1991-07-09 United States Of America As Represented By The Administrator, National Aeronautics And Space Administration Dynamic resource allocation scheme for distributed heterogeneous computer systems
US5535335A (en) 1992-12-22 1996-07-09 International Business Machines Corporation Method and system for reporting the status of an aggregate resource residing in a network of interconnected real resources
FR2702579B1 (fr) * 1993-03-12 1995-05-24 Bull Sa Dispositif de communication entre au moins un client et au moins un serveur, procédé d'utilisation du dispositif et utilisation du dispositif.
US6052447A (en) 1993-05-28 2000-04-18 Sprint Communications Company L.P. Method and apparatus for aggregating customer information for a telecommunications system
US5974457A (en) 1993-12-23 1999-10-26 International Business Machines Corporation Intelligent realtime monitoring of data traffic
US5692193A (en) * 1994-03-31 1997-11-25 Nec Research Institute, Inc. Software architecture for control of highly parallel computer systems
US6769009B1 (en) 1994-05-31 2004-07-27 Richard R. Reisman Method and system for selecting a personalized set of information channels
US5706516A (en) 1995-01-23 1998-01-06 International Business Machines Corporation System for communicating messages among agent processes
US5819284A (en) 1995-03-24 1998-10-06 At&T Corp. Personalized real time information display as a portion of a screen saver
US6240451B1 (en) 1995-05-25 2001-05-29 Punch Networks Corporation Method and apparatus for automatically disseminating information over a network
US5740549A (en) 1995-06-12 1998-04-14 Pointcast, Inc. Information and advertising distribution system and method
US5948067A (en) * 1995-07-19 1999-09-07 Fujitsu Network Communications, Inc. Converting between an internal cell and multiple standard asynchronous transfer mode cells
US5878420A (en) 1995-08-31 1999-03-02 Compuware Corporation Network monitoring and management system
US6029175A (en) 1995-10-26 2000-02-22 Teknowledge Corporation Automatic retrieval of changed files by a network software agent
WO1997016796A1 (en) 1995-10-31 1997-05-09 Herz Frederick S M System for customized electronic identification of desirable objects
US5938733A (en) * 1996-03-08 1999-08-17 International Business Machines Corporation Object oriented representation of network requests in a client server model
US5964839A (en) 1996-03-29 1999-10-12 At&T Corp System and method for monitoring information flow and performing data collection
US6018619A (en) 1996-05-24 2000-01-25 Microsoft Corporation Method, system and apparatus for client-side usage tracking of information server systems
US5822543A (en) 1996-07-08 1998-10-13 International Business Machines Corporation Gathering data handling statistics in non-synchronous data communication networks
US7249037B2 (en) 1996-09-09 2007-07-24 Bancorp Services L.L.P. System for managing a stable value protected investment plan
US5886643A (en) 1996-09-17 1999-03-23 Concord Communications Incorporated Method and apparatus for discovering network topology
US6055493A (en) 1997-01-29 2000-04-25 Infovista S.A. Performance measurement and service quality monitoring system and process for an information system
JP3932462B2 (ja) 1997-05-27 2007-06-20 ソニー株式会社 クライアント装置、画像表示制御方法、共有仮想空間提供装置および方法、並びに記録媒体
US6578077B1 (en) 1997-05-27 2003-06-10 Novell, Inc. Traffic monitoring tool for bandwidth management
JP3799134B2 (ja) 1997-05-28 2006-07-19 ソニー株式会社 システムおよび通知方法
US6490610B1 (en) 1997-05-30 2002-12-03 Oracle Corporation Automatic failover for clients accessing a resource through a server
US5983227A (en) 1997-06-12 1999-11-09 Yahoo, Inc. Dynamic page generator
US6173406B1 (en) 1997-07-15 2001-01-09 Microsoft Corporation Authentication systems, methods, and computer program products
US6233600B1 (en) 1997-07-15 2001-05-15 Eroom Technology, Inc. Method and system for providing a networked collaborative work environment
US6112240A (en) 1997-09-03 2000-08-29 International Business Machines Corporation Web site client information tracker
WO1999027556A2 (en) 1997-11-20 1999-06-03 Xacct Technologies, Inc. Network accounting and billing system and method
US6324587B1 (en) 1997-12-23 2001-11-27 Microsoft Corporation Method, computer program product, and data structure for publishing a data object over a store and forward transport
US6094681A (en) 1998-03-31 2000-07-25 Siemens Information And Communication Networks, Inc. Apparatus and method for automated event notification
US6363421B2 (en) 1998-05-31 2002-03-26 Lucent Technologies, Inc. Method for computer internet remote management of a telecommunication network element
US6108703A (en) 1998-07-14 2000-08-22 Massachusetts Institute Of Technology Global hosting system
US6560611B1 (en) 1998-10-13 2003-05-06 Netarx, Inc. Method, apparatus, and article of manufacture for a network monitoring system
US6308209B1 (en) 1998-10-22 2001-10-23 Electronic Data Systems Corporation Method and system for measuring usage of a computer network by a network user
ATE242511T1 (de) 1998-10-28 2003-06-15 Verticalone Corp Gerät und verfahren für die automatische zusammenstellung und übertragung von transaktionen welche persönliche elektronische informationen oder daten enthalten
US6691165B1 (en) 1998-11-10 2004-02-10 Rainfinity, Inc. Distributed server cluster for controlling network traffic
US6366926B1 (en) 1998-12-31 2002-04-02 Computer Associates Think, Inc. Method and apparatus for the dynamic filtering and routing of events
US6567411B2 (en) 1998-12-31 2003-05-20 Qwest Communications International, Inc. Method and apparatus for continuous narrowcast of individualized information over a data network
US6446257B1 (en) 1999-02-04 2002-09-03 Hewlett-Packard Company Method and apparatus for pre-allocation of system resources to facilitate garbage collection
US6970924B1 (en) 1999-02-23 2005-11-29 Visual Networks, Inc. Methods and apparatus for monitoring end-user experience in a distributed network
US6408282B1 (en) 1999-03-01 2002-06-18 Wit Capital Corp. System and method for conducting securities transactions over a computer network
US6609138B1 (en) 1999-03-08 2003-08-19 Sun Microsystems, Inc. E-mail list archiving and management
US6751663B1 (en) 1999-03-25 2004-06-15 Nortel Networks Limited System wide flow aggregation process for aggregating network activity records
US6377939B1 (en) * 1999-05-04 2002-04-23 Metratech Pipelined method and apparatus for processing communication metering data
US6539427B1 (en) 1999-06-29 2003-03-25 Cisco Technology, Inc. Dynamically adaptive network element in a feedback-based data network
US6829642B1 (en) 1999-07-01 2004-12-07 International Business Machines Corporation Method and system for automatically and optimally selecting a TN3270 server in an internet protocol network
US6789115B1 (en) 1999-07-09 2004-09-07 Merrill Lynch & Company System for collecting, analyzing, and reporting high volume multi-web server usage
US7293074B1 (en) 1999-09-20 2007-11-06 Fusionone, Inc. Performing server actions using template with field that can be completed without obtaining information from a user
US6792458B1 (en) 1999-10-04 2004-09-14 Urchin Software Corporation System and method for monitoring and analyzing internet traffic
US7137116B2 (en) 1999-11-09 2006-11-14 Microsoft Corporation Method and system for performing a task on a computer
US6484143B1 (en) 1999-11-22 2002-11-19 Speedera Networks, Inc. User device and system for traffic management and content distribution over a world wide area network
US6418448B1 (en) 1999-12-06 2002-07-09 Shyam Sundar Sarkar Method and apparatus for processing markup language specifications for data and metadata used inside multiple related internet documents to navigate, query and manipulate information from a plurality of object relational databases over the web
US6687729B1 (en) * 1999-12-20 2004-02-03 Unisys Corporation System and method for providing a pool of reusable threads for performing queued items of work
US6606643B1 (en) 2000-01-04 2003-08-12 International Business Machines Corporation Method of automatically selecting a mirror server for web-based client-host interaction
US7454457B1 (en) 2000-02-07 2008-11-18 Parallel Networks, Llc Method and apparatus for dynamic data flow control using prioritization of data requests
US6871346B1 (en) 2000-02-11 2005-03-22 Microsoft Corp. Back-end decoupled management model and management system utilizing same
US6658449B1 (en) 2000-02-17 2003-12-02 International Business Machines Corporation Apparatus and method for periodic load balancing in a multiple run queue system
US20030110203A1 (en) * 2000-02-17 2003-06-12 Brenner Larry Bert Apparatus and method for dispatching fixed priority threads using a global run queue in a multiple run queue system
US7392281B1 (en) 2000-02-25 2008-06-24 Navic Systems, Inc. System and method for providing guaranteed delivery of messages to embedded devices over a data network
US6654804B1 (en) 2000-04-27 2003-11-25 Micron Electronics, Inc. Method and apparatus for automatic dial-up dial-down web hosting
ES2236222T3 (es) 2000-05-05 2005-07-16 Nomadix, Inc. Dispositivo de supervision del uso de una red y procedimiento asociado.
US7577834B1 (en) 2000-05-09 2009-08-18 Sun Microsystems, Inc. Message authentication using message gates in a distributed computing environment
US6658652B1 (en) 2000-06-08 2003-12-02 International Business Machines Corporation Method and system for shadow heap memory leak detection and other heap analysis in an object-oriented environment during real-time trace processing
US20030041110A1 (en) 2000-07-28 2003-02-27 Storymail, Inc. System, Method and Structure for generating and using a compressed digital certificate
US6944662B2 (en) 2000-08-04 2005-09-13 Vinestone Corporation System and methods providing automatic distributed data retrieval, analysis and reporting services
US7150015B2 (en) 2000-09-01 2006-12-12 Pace Charles P Method and system for deploying an asset over a multi-tiered network
US7107326B1 (en) 2000-10-13 2006-09-12 3Com Corporation Method and system for integrating IP address reservations with policy provisioning
US7249197B1 (en) 2000-10-20 2007-07-24 Nortel Networks Limited System, apparatus and method for personalising web content
US20020087630A1 (en) 2000-10-20 2002-07-04 Jonathan Wu Enhanced information and presence service
US6970939B2 (en) 2000-10-26 2005-11-29 Intel Corporation Method and apparatus for large payload distribution in a network
US6725446B1 (en) 2000-11-01 2004-04-20 Digital Integrator, Inc. Information distribution method and system
US7051330B1 (en) * 2000-11-21 2006-05-23 Microsoft Corporation Generic application server and method of operation therefor
US20020078251A1 (en) * 2000-12-18 2002-06-20 Philips Electronics North America Corp. Self-determining command path architecture
US8505024B2 (en) 2000-12-18 2013-08-06 Shaw Parsing Llc Storing state in a dynamic content routing network
US7930362B2 (en) 2000-12-18 2011-04-19 Shaw Parsing, Llc Techniques for delivering personalized content with a real-time routing network
US7043525B2 (en) 2000-12-18 2006-05-09 Bang Networks, Inc. Techniques for updating live objects at clients using a dynamic routing network
US7051070B2 (en) 2000-12-18 2006-05-23 Timothy Tuttle Asynchronous messaging using a node specialization architecture in the dynamic routing network
US7127720B2 (en) 2000-12-18 2006-10-24 Charles E Cano Storing state in a dynamic content routing network
US7177917B2 (en) 2000-12-27 2007-02-13 Softwired Ag Scaleable message system
JP2002202959A (ja) * 2000-12-28 2002-07-19 Hitachi Ltd 動的な資源分配をする仮想計算機システム
US7581230B2 (en) 2001-02-06 2009-08-25 Siebel Systems, Inc. Adaptive communication application programming interface
US6978461B2 (en) 2001-02-28 2005-12-20 Sun Microsystems, Inc. System and method for accessing functionality of a backend system from an application server
US6836886B2 (en) 2001-03-19 2004-12-28 Autodesk, Inc. Method and apparatus for delivering electronic information
US7103887B2 (en) 2001-06-27 2006-09-05 Sun Microsystems, Inc. Load-balancing queues employing LIFO/FIFO work stealing
US7069559B2 (en) * 2001-08-29 2006-06-27 International Business Machines Corporation System and method for monitoring software queuing applications
US7114158B1 (en) * 2001-10-01 2006-09-26 Microsoft Corporation Programming framework including queueing network
CA2463095A1 (en) 2001-10-15 2003-04-24 Maximilian Ott Dynamic content based multicast routing in mobile networks
US7207043B2 (en) * 2002-12-31 2007-04-17 International Business Machines Corporation Programmatic response-time based workload distribution techniques
JP2004234123A (ja) * 2003-01-28 2004-08-19 Fujitsu Ltd マルチスレッドコンピュータ
US7159034B1 (en) 2003-03-03 2007-01-02 Novell, Inc. System broadcasting ARP request from a server using a different IP address to balance incoming traffic load from clients via different network interface cards
US7467390B2 (en) * 2003-04-01 2008-12-16 International Business Machines Corporation Enhanced staged event-driven architecture
US20040252709A1 (en) 2003-06-11 2004-12-16 Fineberg Samuel A. System having a plurality of threads being allocatable to a send or receive queue
US7350213B2 (en) * 2003-06-19 2008-03-25 Sap Ag System and method for dynamic selection of stateless/stateful software components
US8549078B2 (en) 2003-08-08 2013-10-01 Teamon Systems, Inc. Communications system providing load balancing based upon connectivity disruptions and related methods
US6926311B2 (en) * 2003-09-03 2005-08-09 Apex Medical Corp. Apparatus for quick connection
GB0325691D0 (en) 2003-11-04 2003-12-10 Dotworlds Ltd Resolution of network names
US20050125557A1 (en) 2003-12-08 2005-06-09 Dell Products L.P. Transaction transfer during a failover of a cluster controller
US7552446B1 (en) 2003-12-31 2009-06-23 Emc Corporation Methods and apparatus for a timer event service infrastructure
US8397237B2 (en) 2004-08-17 2013-03-12 Shaw Parsing, L.L.C. Dynamically allocating threads from a thread pool to thread boundaries configured to perform a service for an event
EP1779636B1 (en) 2004-08-17 2015-05-27 Shaw Parsing LLC Techniques for upstream failure detection and failure recovery
EP1808117A4 (en) 2004-10-26 2015-07-15 Olympus Corp DEVICE FOR DETECTING THE ENDOSCOPE FORM

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8356305B2 (en) 2004-08-17 2013-01-15 Shaw Parsing, L.L.C. Thread boundaries comprising functionalities for an event by a single thread and tasks associated with the thread boundaries configured in a defined relationship
US8397237B2 (en) 2004-08-17 2013-03-12 Shaw Parsing, L.L.C. Dynamically allocating threads from a thread pool to thread boundaries configured to perform a service for an event
JP2019179487A (ja) * 2018-03-30 2019-10-17 日本電気株式会社 情報処理装置、制御方法、及びプログラム
JP7087585B2 (ja) 2018-03-30 2022-06-21 日本電気株式会社 情報処理装置、制御方法、及びプログラム

Also Published As

Publication number Publication date
US20060117318A1 (en) 2006-06-01
US20070061811A1 (en) 2007-03-15
WO2006023506A1 (en) 2006-03-02
EP1789875A1 (en) 2007-05-30
US8356305B2 (en) 2013-01-15
US8397237B2 (en) 2013-03-12

Similar Documents

Publication Publication Date Title
JP2008510259A (ja) モジュラー型のイベントドリブン処理
CN100527086C (zh) 模块化事件驱动处理
JP7197612B2 (ja) オンデマンドネットワークコード実行システム上での補助機能の実行
US10606565B2 (en) Visual devops systems and methods
JP6935496B2 (ja) メッセージングプロトコル通信の管理
KR102045136B1 (ko) 애플리케이션 배포를 위한 맞춤 통신 채널들
JP3965185B2 (ja) ウェブ・サービス呼び出しをサポートするスケジューラ
KR100600959B1 (ko) 분산 컴퓨팅 환경에서 집합화된 서비스의 공급
US9348709B2 (en) Managing nodes in a distributed computing environment
US9497096B2 (en) Dynamic control over tracing of messages received by a message broker
CN110383795A (zh) 基于服务图的无服务器云管理平台
JP2007518169A (ja) 準最適な最適とはいえないグリッド環境内におけるアプリケーションの動作の維持
Chard et al. Globus Nexus: A platform-as-a-service provider of research identity, profile, and group management
JP6539341B2 (ja) プログラマティックインターフェースに従ったルータ情報の提供
US8352617B2 (en) Method and system for data processing
CN108287894B (zh) 数据处理方法、装置、计算设备及存储介质
US11861386B1 (en) Application gateways in an on-demand network code execution system
Singh et al. Load balancing aware scheduling algorithms for fog networks
US20080256078A1 (en) Secure distributed computing engine and database system
Maksimović et al. Task queue implementation for edge computing platform
Hernández et al. A reliable and scalable service bus based on Amazon SQS
Song et al. Optimizing communication performance in scale-out storage system
US12327133B1 (en) Application gateways in an on-demand network code execution system
CN113127184B (zh) 一种数据分析方法、装置、设备和介质
HK40052851A (en) Edge gateway control method and system, device, electronic equipment, storage medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080814

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20100727

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20100802

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110704

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111004

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20111025