JP6682668B2 - コンカレントプライオリティキューにおいてシーケンサを用いるためのシステムおよび方法 - Google Patents
コンカレントプライオリティキューにおいてシーケンサを用いるためのシステムおよび方法 Download PDFInfo
- Publication number
- JP6682668B2 JP6682668B2 JP2019001317A JP2019001317A JP6682668B2 JP 6682668 B2 JP6682668 B2 JP 6682668B2 JP 2019001317 A JP2019001317 A JP 2019001317A JP 2019001317 A JP2019001317 A JP 2019001317A JP 6682668 B2 JP6682668 B2 JP 6682668B2
- Authority
- JP
- Japan
- Prior art keywords
- requests
- priority queue
- sequencer
- ticket
- list
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 22
- 230000007246 mechanism Effects 0.000 claims description 12
- 230000004044 response Effects 0.000 claims description 5
- 238000003490 calendering Methods 0.000 claims description 4
- 230000002123 temporal effect Effects 0.000 description 18
- 230000007704 transition Effects 0.000 description 17
- 230000000903 blocking effect Effects 0.000 description 6
- 230000002452 interceptive effect Effects 0.000 description 6
- 230000003993 interaction Effects 0.000 description 5
- 230000010354 integration Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
- G06F9/4887—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation 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/5038—Allocation 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
- G06F9/524—Deadlock detection or avoidance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
- G06F9/526—Mutual exclusion algorithms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Telephonic Communication Services (AREA)
- Multi Processors (AREA)
- Advance Control (AREA)
- Debugging And Monitoring (AREA)
Description
この特許文献の開示の一部は、著作権保護の対象となる題材を含んでいる。著作権の所有者は、特許商標庁の包袋または記録に掲載されるように特許文献または特許情報開示を誰でも複製できることに対して異議はないが、その他の点ではすべての如何なる著作権をも保有する。
本発明は、概して、ミドルウェアなどのコンピュータシステムおよびソフトウェアに関し、特に、ミドルウェアマシン環境においてキューをサポートするためのシステムおよび方法に関する。
どのような大きな組織でも、その中では、長年を経て、さまざまな異なるコンピュータハードウェア、オペレーティングシステム、およびアプリケーションソフトウェアを含むITインフラストラクチャが無秩序に拡大していることが多い。このようなインフラストラクチャの個々のコンポーネント自体は巧みに設計され適切に維持管理されているかもしれないが、このようなコンポーネントを相互に接続、または、リソースを共有しようとすると、それは困難な管理タスクであることが多い。近年、組織の関心は、仮想化およびストレージの集中化といった技術に向けられるようになっており、さらに近年では、共有インフラストラクチャの基礎を提供できるクラウドコンピューティングに向けられている。しかしながら、このような環境に特に適したオールインワンのプラットフォームはほとんどない。これらが、本発明の実施形態が取組もうとしている一般的な分野である。
コンカレントプライオリティキューをサポートするためのシステムおよび方法を提供する。コンカレントプライオリティキューは、複数のスレッドがプライオリティキューとインタラクトすることを可能にする。プライオリティキューは、シーケンサを用いて、プライオリティキューにおける1つ以上の要求を求めて競合する複数のスレッドを検出して順序付けることができる。さらに、プライオリティキューは複数のスレッド間における競合を減少させるよう動作する。
ここで、クラスタにおけるワークシェアリングの多重化をサポートすることができるシステムおよび方法を記載する。
34、およびグリッドリンク(GridLink)136それぞれのコンテナを含むウェブロジック(WebLogic))とを含み得る。別のアプリケーションサーバインスタンス110は、仮想マシン118と、オペレーティングシステム122と、仮想化層126と、データグリッド層140(たとえばアクティブキャッシュ142を含むコヒーレンス(Coherence)
)とを含み得る。インスタンスは各々、エクサロジック統合(integration)パックとい
ったミドルウェアマシン統合コンポーネント150を用いて、互いに通信でき、かつ、そのミドルウェアマシンハードウェアノードおよびその他のノード双方とも通信できる。ミドルウェアマシン統合コンポーネント150自体が、以下でさらに詳細に説明するように、インフィニバンドおよびその他の特徴に対するサポートといったいくつかの最適化特徴を提供する。
付けられ得るカーネルスペース(kernel space)165と、ユーザスペース167と、アプリケーションサーバ(たとえばウェブロジックスペース)166と、JVM(たとえばジェイロキット/ホットスポット層)170と、WLSコア172と、サーブレットコンテナ174と、JSPコンパイラ176とを含み得る。他の例に従うと、ミドルウェアタイプのソフトウェアの他の組合せが含まれていてもよい。さまざまな実施形態に従い、マシン統合コンポーネントは、ゼロバッファコピー、分散/収集I/O、T3接続、遅延デシリアライゼーション、およびグリッドリンクデータソースなどの特徴180を提供することにより、共有されるインフラストラクチャの基礎を提供するとともにこのインフラストラクチャ内での性能を改善することができる。
本発明のさまざまな実施形態に従うと、コンカレントシステムは、適切なサービスレベルアグリーメント(SLA:service level agreement)をサービスに提供するために、
プライオリティキューを用いて、受信した要求に優先順位を付けることができる。
イオリティキュー301に要求320を配置することができる。次いで、複数のワーカースレッド、たとえばワーカースレッドA321〜C323がプライオリティキュー301に同時にアクセスすることができ、たとえばdelete_min()メソッドを用いて、要求320を主張することができる。
ットに向かって「1レベル低い」バケットに要求を移動させることができる。最終的に、いくつかの要求を第1の256個のバケットにおける1つ以上のバケットへとプロモートすることができ、コンシューマは要求を主張し、これに応じて次の段階に進むことができる。
図5は、発明のさまざまな実施形態に従ったコンカレントプライオリティキューをサポートする例を示す。図5に示されるように、複数のコンシューマ、たとえばコンシューマA511〜C513は、ミドルウェアマシン環境500におけるコンカレントプライオリティキュー501に同時にアクセスすることができる。
図6は、発明のさまざまな実施形態に従った、アウトライアリストのための先入れ先出し(FIFO)順序を保証する例を示す。図6に示されるように、ミドルウェアマシン環境600におけるプライオリティキュー601は、カレンダーリング602およびアウトライアリスト603を含み得る。
図8は、発明のさまざまな実施形態に従った、コンカレントプライオリティキューの異なる消費者間における競合を検出する例を示す。図8に示されるように、さまざまな消費者、たとえば消費者A811〜B812は、ミドルウェアマシン環境800におけるプライオリティキュー801に同時にアクセスすることができる。プライオリティキュー801はカレンダーリング802、アウトライアリスト803および高速レーン804を含み得る。
ティキュー801へのアクセスが許可される前にチケットを要求することができる。
プ907〜908はまた、非時間的遷移914と称することもできる。これは以降の段落で説明する)。
発明の実施形態に従うと、コンカレントプログラミングモデルは、時間的遷移および非時間的遷移などのさまざまな種類の遷移をサポートすることができる。
は、解放され得る最大数の競合者を制御することによって、高速レーン804における要求のアクセス可能性を制御することができる。なぜなら、十分な競合者が犠牲者812によって解放される場合にだけ、fastLane_rの値がfastLane_wに達し得るからである。
以上用いて、適宜実現し得る。適切なソフトウェアコーディングは、熟練したプログラマが本開示の教示に基づいて容易に準備できる。これはソフトウェア技術における当業者には明らかであろう。
Claims (10)
- ミドルウェアマシン環境において複数のコンシューマから受取った複数の要求に優先順位を付けるための方法であって、前記方法は、
複数のスレッドによるプライオリティキューへのアクセスを検知することと、
前記プライオリティキューに含まれるカレンダーリングバッファに、予め構成された時間よりも短い目標応答時間を有する前記複数の要求の第1のサブセットを格納することと、
前記プライオリティキューに含まれるアウトライアリストに、前記予め構成された時間よりも長い目標応答時間を有する前記複数の要求の第2のサブセットを格納することと、
シーケンサを用いて、前記アウトライアリストに格納された前記複数の要求の前記第2のサブセットのための先入れ先出し順序を実施することと、
前記プライオリティキューにおける1つ以上の要求を求めて競合する複数のスレッドを検出することと、
前記競合を減少させることとを含み、
前記競合を減少させることは、
前記複数のスレッドのうちの第1のスレッドが、前記カレンダーリングバッファおよび前記アウトライアリストとは異なる場所に要求を配置することと、
前記第1のスレッドと異なる第2のスレッドによる、当該異なる場所に配置された要求へのアクセスを可能にすることとを含む、方法。 - 前記複数の要求の前記第1のサブセットの各々に関連付けられたQoSの値に応じた位置で前記カレンダーリングバッファに前記複数の要求の前記第1のサブセットの各々を格納することをさらに含む、請求項1に記載の方法。
- 前記予め構成された時間は、2秒と規定される、請求項1または2に記載の方法。
- 前記アウトライアリストに格納された前記複数の要求の前記第2のサブセットのための前記先入れ先出し順序を実施するために、前記シーケンサにおいてチケット機構を実現することをさらに含む、請求項1〜3のいずれかに記載の方法。
- 作業負荷が集中している場合、前記カレンダーリングバッファについての競合を減少させるのに用いることができる要求のリストを格納することをさらに含み、前記要求のリストは、同じカレンダーエントリ上にある1つ以上の要求を含む、請求項1〜4のいずれかに記載の方法。
- 協働的同時並行性をサポートする高速レーンを提供することをさらに含む、請求項1〜5のいずれかに記載の方法。
- 前記アウトライアリストに格納された前記複数の要求の前記第2のサブセットのための先入れ先出し順序を実施するために前記シーケンサにおいてチケット機構を実現することと、
コンシューマが前記プライオリティキューにアクセスしようとするたびに増やされるリーダカウントを前記チケット機構で維持することとをさらに含む、請求項1〜3のいずれかに記載の方法。 - 前記アウトライアリストに格納された前記複数の要求の前記第2のサブセットのための先入れ先出し順序を実施するために前記シーケンサにおいてチケット機構を実現することと、
前記複数のコンシューマのうち1のコンシューマにチケットを発行することとをさらに含み、前記チケットは前記コンシューマが前記アウトライアリストにアクセスすることを可能にする、請求項1〜3のいずれかに記載の方法。 - 前記アウトライアリストに格納された前記複数の要求の前記第2のサブセットのための先入れ先出し順序を実施するために前記シーケンサにおいてチケット機構を実現することと、
コンシューマが前記プライオリティキューにアクセスしようとするたびに増やされるリーダカウントを前記チケット機構で維持することと、
前記リーダカウントを用いて、前記複数のコンシューマと前記複数の要求との間の競合を検出することとをさらに含む、請求項1〜3のいずれかに記載の方法。 - 請求項1〜9のいずれかに記載の方法をコンピュータに実行させるプログラム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/781,493 US9110715B2 (en) | 2013-02-28 | 2013-02-28 | System and method for using a sequencer in a concurrent priority queue |
US13/781,493 | 2013-02-28 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015560169A Division JP6505610B2 (ja) | 2013-02-28 | 2013-10-28 | コンカレントプライオリティキューにおいてシーケンサを用いるためのシステムおよび方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019071108A JP2019071108A (ja) | 2019-05-09 |
JP6682668B2 true JP6682668B2 (ja) | 2020-04-15 |
Family
ID=49551816
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015560169A Active JP6505610B2 (ja) | 2013-02-28 | 2013-10-28 | コンカレントプライオリティキューにおいてシーケンサを用いるためのシステムおよび方法 |
JP2019001317A Active JP6682668B2 (ja) | 2013-02-28 | 2019-01-08 | コンカレントプライオリティキューにおいてシーケンサを用いるためのシステムおよび方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015560169A Active JP6505610B2 (ja) | 2013-02-28 | 2013-10-28 | コンカレントプライオリティキューにおいてシーケンサを用いるためのシステムおよび方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9110715B2 (ja) |
EP (1) | EP2962200B1 (ja) |
JP (2) | JP6505610B2 (ja) |
KR (1) | KR101997816B1 (ja) |
CN (1) | CN104798045B (ja) |
WO (1) | WO2014133595A1 (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9372716B1 (en) * | 2013-09-23 | 2016-06-21 | Amazon Technologies, Inc. | Download prioritization |
US10127061B2 (en) * | 2015-08-21 | 2018-11-13 | International Business Machines Corporation | Controlling priority of dynamic compilation |
US10496577B2 (en) * | 2017-02-09 | 2019-12-03 | Hewlett Packard Enterprise Development Lp | Distribution of master device tasks among bus queues |
CN108563495A (zh) * | 2018-04-08 | 2018-09-21 | 郑州云海信息技术有限公司 | 数据中心综合管理系统的云资源队列分级调度系统和方法 |
US11422856B2 (en) | 2019-06-28 | 2022-08-23 | Paypal, Inc. | Adaptive program task scheduling to blocking and non-blocking queues |
CN111541623B (zh) * | 2020-04-10 | 2022-12-06 | 深圳前海微众银行股份有限公司 | 一种数据处理方法及装置 |
US11893613B2 (en) | 2020-12-23 | 2024-02-06 | Shopify Inc. | Systems, manufacture, and methods for controlling access to resources |
Family Cites Families (85)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5109384A (en) | 1988-11-02 | 1992-04-28 | Tseung Lawrence C N | Guaranteed reliable broadcast network |
US6571274B1 (en) | 1998-11-05 | 2003-05-27 | Beas Systems, Inc. | Clustered enterprise Java™ in a secure distributed processing system |
US6449614B1 (en) | 1999-03-25 | 2002-09-10 | International Business Machines Corporation | Interface system and method for asynchronously updating a share resource with locking facility |
US6874144B1 (en) | 1999-04-05 | 2005-03-29 | International Business Machines Corporation | System, method, and program for implementing priority inheritance in an operating system |
US6701367B1 (en) | 1999-09-24 | 2004-03-02 | Sun Microsystems, Inc. | Mechanism for enabling customized session managers to interact with a network server |
WO2001073550A2 (en) | 2000-03-29 | 2001-10-04 | Nextset Software Inc. | System and method of generating and using proxy beans |
US20030120822A1 (en) | 2001-04-19 | 2003-06-26 | Langrind Nicholas A. | Isolated control plane addressing |
US7209921B2 (en) | 2000-09-01 | 2007-04-24 | Op40, Inc. | Method and system for deploying an asset over a multi-tiered network |
US20020174136A1 (en) | 2000-12-14 | 2002-11-21 | Ducan Cameron | Method and system for high performance transaction processing using a relational database management system |
JP3944231B2 (ja) * | 2000-12-28 | 2007-07-11 | フューチャーアーキテクト株式会社 | フレームワークシステム |
US6895585B2 (en) * | 2001-03-30 | 2005-05-17 | Hewlett-Packard Development Company, L.P. | Method of mixed workload high performance scheduling |
US7409420B2 (en) | 2001-07-16 | 2008-08-05 | Bea Systems, Inc. | Method and apparatus for session replication and failover |
JP3975703B2 (ja) * | 2001-08-16 | 2007-09-12 | 日本電気株式会社 | 情報処理システムにおける優先実行制御方法及びその装置並びにプログラム |
US7136392B2 (en) * | 2001-08-31 | 2006-11-14 | Conexant Systems, Inc. | System and method for ordering data messages having differing levels of priority for transmission over a shared communication channel |
US6895590B2 (en) | 2001-09-26 | 2005-05-17 | Intel Corporation | Method and system enabling both legacy and new applications to access an InfiniBand fabric via a socket API |
US7143227B2 (en) | 2003-02-18 | 2006-11-28 | Dot Hill Systems Corporation | Broadcast bridge apparatus for transferring data to redundant memory subsystems in a storage controller |
US6886041B2 (en) * | 2001-10-05 | 2005-04-26 | Bea Systems, Inc. | System for application server messaging with multiple dispatch pools |
US7046676B2 (en) | 2001-11-01 | 2006-05-16 | International Business Machines Corporation | QoS scheduler and method for implementing quality of service with cached status array |
US20030110232A1 (en) | 2001-12-11 | 2003-06-12 | International Business Machines Corporation | Distributing messages between local queues representative of a common shared queue |
US7403996B2 (en) | 2002-02-21 | 2008-07-22 | Bea Systems, Inc. | Systems and methods for migratable services |
US7554993B2 (en) | 2003-03-27 | 2009-06-30 | Hewlett-Packard Development Company, L.P. | Method and apparatus for performing connection management with multiple stacks |
US7536673B2 (en) | 2003-07-22 | 2009-05-19 | Sap Ag | Application business object processing |
US7953860B2 (en) | 2003-08-14 | 2011-05-31 | Oracle International Corporation | Fast reorganization of connections in response to an event in a clustered computing system |
JP2005128952A (ja) * | 2003-10-27 | 2005-05-19 | Nippon Telegr & Teleph Corp <Ntt> | 監視制御装置及び監視制御プログラム |
US7366109B2 (en) | 2003-10-29 | 2008-04-29 | Nortel Networks Limited | Virtual private networks within a packet network having a mesh topology |
US20050102412A1 (en) | 2003-11-10 | 2005-05-12 | Jan Hirsimaki | Transmission performance of a transport layer protocol connection |
US7640357B2 (en) | 2004-04-30 | 2009-12-29 | Sap Ag | Transmitting enterprise messages based on buffer sizes |
US7649854B2 (en) | 2004-05-19 | 2010-01-19 | Bea Systems, Inc. | System and method for providing channels in application servers and transaction-based systems |
US7219198B2 (en) | 2004-06-22 | 2007-05-15 | International Business Machines Corporation | Facilitating communication within shared memory environments using lock-free queues |
US7447861B2 (en) | 2004-07-14 | 2008-11-04 | International Business Machines Corporation | Integrated multi-function object locks |
WO2007014186A2 (en) | 2005-07-22 | 2007-02-01 | The Thomson Corporation | Systems, methods, and software for online courses |
DE602004012563T2 (de) | 2004-10-11 | 2009-05-07 | Texas Instruments Inc., Dallas | Mehrfädiges DMA |
US7685391B1 (en) | 2004-10-12 | 2010-03-23 | Sun Microsystems, Inc. | Kernel/user stack relocation during system uptime |
JP4189374B2 (ja) * | 2004-11-19 | 2008-12-03 | 富士通株式会社 | 処理システム |
US7562138B2 (en) | 2004-12-28 | 2009-07-14 | Sap | Shared memory based monitoring for application servers |
US20060176884A1 (en) | 2005-02-04 | 2006-08-10 | Sytex, Inc. | Sytems, Methods And Devices For Remotely Administering A Target Device |
US7409709B2 (en) | 2005-02-14 | 2008-08-05 | Etsec, Inc. | Systems and methods for automatically reconfiguring a network device |
ATE373399T1 (de) | 2005-03-04 | 2007-09-15 | Alcatel Lucent | Vermittlung für integrierte telekommunikationssnetzwerke |
US7603502B2 (en) | 2005-04-12 | 2009-10-13 | Microsoft Corporation | Resource accessing with locking |
US8169938B2 (en) | 2005-06-05 | 2012-05-01 | Starkey Laboratories, Inc. | Communication system for wireless audio devices |
US7480823B2 (en) | 2005-06-24 | 2009-01-20 | Sun Microsystems, Inc. | In-memory replication of timing logic for use in failover within application server node clusters |
US8166547B2 (en) | 2005-09-06 | 2012-04-24 | Fortinet, Inc. | Method, apparatus, signals, and medium for managing a transfer of data in a data network |
US8015256B2 (en) | 2005-11-23 | 2011-09-06 | Medicalis Corp. | Method and apparatus for parallel sequencing of messages between disparate information systems |
US8707323B2 (en) | 2005-12-30 | 2014-04-22 | Sap Ag | Load balancing algorithm for servicing client requests |
JP2007226398A (ja) | 2006-02-22 | 2007-09-06 | Hitachi Ltd | データベース接続管理方法及び計算機システム |
US7685131B2 (en) | 2006-02-28 | 2010-03-23 | International Business Machines Corporation | Web services database cluster architecture |
US8131860B1 (en) | 2006-03-30 | 2012-03-06 | Emc Corporation | Serialization and deserialization |
EP2002335A1 (en) | 2006-03-31 | 2008-12-17 | British Telecommunications Public Limited Company | Interactive development tool and debugger for web services |
US20070263650A1 (en) | 2006-05-09 | 2007-11-15 | Srivatsa Sivan Subramania | Method for prioritizing web service requests |
US7371014B2 (en) | 2006-08-21 | 2008-05-13 | Intel Corporation | Monolithic active optical cable assembly for data device applications and various connector types |
US7991904B2 (en) | 2007-07-10 | 2011-08-02 | Bytemobile, Inc. | Adaptive bitrate management for streaming media over packet networks |
US8391295B2 (en) | 2007-07-31 | 2013-03-05 | Oracle International Corporation | Temporal affinity-based routing of workloads |
US7809925B2 (en) | 2007-12-07 | 2010-10-05 | International Business Machines Corporation | Processing unit incorporating vectorizable execution unit |
US20090182642A1 (en) | 2008-01-14 | 2009-07-16 | Neelakantan Sundaresan | Methods and systems to recommend an item |
US8306951B2 (en) | 2009-09-18 | 2012-11-06 | Oracle International Corporation | Automated integrated high availability of the in-memory database cache and the backend enterprise database |
US8972978B2 (en) | 2008-05-02 | 2015-03-03 | Skytap | Multitenant hosted virtual machine infrastructure |
US8255914B1 (en) | 2008-09-25 | 2012-08-28 | Emc Corporation | Information retrieval techniques involving the use of prioritized object requests |
US8347302B1 (en) * | 2008-10-09 | 2013-01-01 | Amazon Technologies, Inc. | System-aware resource scheduling |
US20100100889A1 (en) | 2008-10-16 | 2010-04-22 | International Business Machines Corporation | Accelerating mutual exclusion locking function and condition signaling while maintaining priority wait queues |
US9230002B2 (en) | 2009-01-30 | 2016-01-05 | Oracle International Corporation | High performant information sharing and replication for single-publisher and multiple-subscriber configuration |
US8612930B2 (en) | 2009-01-30 | 2013-12-17 | Oracle America, Inc. | Methods and apparatus for dynamic class reloading and versioning |
US7986706B2 (en) * | 2009-04-29 | 2011-07-26 | Telefonaktiebolaget Lm Ericsson | Hierarchical pipelined distributed scheduling traffic manager |
US8539486B2 (en) | 2009-07-17 | 2013-09-17 | International Business Machines Corporation | Transactional block conflict resolution based on the determination of executing threads in parallel or in serial mode |
CN101989922B (zh) | 2009-07-31 | 2014-05-28 | 国际商业机器公司 | 用于恢复会话初始协议事务的方法和系统 |
US8566509B2 (en) | 2009-08-25 | 2013-10-22 | International Business Machines Corporation | Efficiently implementing a plurality of finite state machines |
US8130776B1 (en) | 2009-08-28 | 2012-03-06 | Massachusetts Institute Of Technology | Method and apparatus providing network coding based flow control |
EP2293524A1 (en) | 2009-09-07 | 2011-03-09 | Nxp B.V. | Set-up of media stream transmission and server and client for media stream transmission |
US8811417B2 (en) | 2009-11-15 | 2014-08-19 | Mellanox Technologies Ltd. | Cross-channel network operation offloading for collective operations |
US8972994B2 (en) | 2009-12-23 | 2015-03-03 | Intel Corporation | Method and apparatus to bypass object lock by speculative execution of generated bypass code shell based on bypass failure threshold in managed runtime environment |
IT1397440B1 (it) | 2009-12-30 | 2013-01-10 | St Microelectronics Srl | Procedimento e sistemi per la distribuzione di contenuti mediali e relativo prodotto informatico |
US8549538B2 (en) | 2010-03-18 | 2013-10-01 | Microsoft Corporation | Coordinating communication medium state for subtasks |
US8627317B2 (en) | 2010-03-25 | 2014-01-07 | International Business Machines Corporation | Automatic identification of bottlenecks using rule-based expert knowledge |
WO2012008016A1 (ja) | 2010-07-13 | 2012-01-19 | 富士通株式会社 | マルチスレッド処理装置,マルチスレッド処理システム,マルチスレッド処理プログラム,及びマルチスレッド処理方法 |
US8856460B2 (en) | 2010-09-15 | 2014-10-07 | Oracle International Corporation | System and method for zero buffer copying in a middleware environment |
US9185054B2 (en) | 2010-09-15 | 2015-11-10 | Oracle International Corporation | System and method for providing zero buffer copying in a middleware machine environment |
US8387057B2 (en) * | 2010-12-16 | 2013-02-26 | Intel Corporation | Fast and linearizable concurrent priority queue via dynamic aggregation of operations |
TW201237632A (en) | 2010-12-21 | 2012-09-16 | Ibm | Buffer management scheme for a network processor |
US20120158684A1 (en) | 2010-12-21 | 2012-06-21 | Lsi Corporation | Performance enhanced synchronization mechanism with intensity-oriented reader api |
US8504691B1 (en) | 2010-12-29 | 2013-08-06 | Amazon Technologies, Inc. | System and method for allocating resources for heterogeneous service requests |
US8918791B1 (en) * | 2011-03-10 | 2014-12-23 | Applied Micro Circuits Corporation | Method and system for queuing a request by a processor to access a shared resource and granting access in accordance with an embedded lock ID |
US8863136B2 (en) | 2011-05-19 | 2014-10-14 | International Business Machines Corporation | Lock control in multiple processor systems |
JP5885481B2 (ja) | 2011-12-01 | 2016-03-15 | キヤノン株式会社 | 情報処理装置、情報処理方法、及びプログラム |
US9219765B2 (en) * | 2012-05-10 | 2015-12-22 | International Business Machines Corporation | End user QoS selection |
US8930584B2 (en) | 2012-08-09 | 2015-01-06 | Oracle International Corporation | System and method for providing a linearizable request manager |
CN102902512B (zh) * | 2012-08-31 | 2015-12-16 | 浪潮电子信息产业股份有限公司 | 一种基于多线程编程及消息队列的多线程并行处理方法 |
-
2013
- 2013-02-28 US US13/781,493 patent/US9110715B2/en active Active
- 2013-10-28 KR KR1020157014571A patent/KR101997816B1/ko active IP Right Grant
- 2013-10-28 WO PCT/US2013/067108 patent/WO2014133595A1/en active Application Filing
- 2013-10-28 EP EP13786862.6A patent/EP2962200B1/en active Active
- 2013-10-28 CN CN201380060771.3A patent/CN104798045B/zh active Active
- 2013-10-28 JP JP2015560169A patent/JP6505610B2/ja active Active
-
2019
- 2019-01-08 JP JP2019001317A patent/JP6682668B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
WO2014133595A1 (en) | 2014-09-04 |
CN104798045A (zh) | 2015-07-22 |
EP2962200A1 (en) | 2016-01-06 |
JP2016508651A (ja) | 2016-03-22 |
JP6505610B2 (ja) | 2019-04-24 |
KR101997816B1 (ko) | 2019-10-01 |
KR20150122119A (ko) | 2015-10-30 |
EP2962200B1 (en) | 2020-07-15 |
US20140245313A1 (en) | 2014-08-28 |
US9110715B2 (en) | 2015-08-18 |
JP2019071108A (ja) | 2019-05-09 |
CN104798045B (zh) | 2018-10-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6682668B2 (ja) | コンカレントプライオリティキューにおいてシーケンサを用いるためのシステムおよび方法 | |
CN1973266B (zh) | 对或涉及用于计算装置的操作系统的改进 | |
US8078820B2 (en) | Managing message queues | |
US10095562B2 (en) | System and method for transforming a queue from non-blocking to blocking | |
US10331500B2 (en) | Managing fairness for lock and unlock operations using operation prioritization | |
US20110276732A1 (en) | Programmable queue structures for multiprocessors | |
US20100153957A1 (en) | System and method for managing thread use in a thread pool | |
CA2536037A1 (en) | Fast and memory protected asynchronous message scheme in a multi-process and multi-thread environment | |
JP6283376B2 (ja) | クラスタにおけるワークシェアリング多重化をサポートするためのシステムおよび方法 | |
CN115408117A (zh) | 协程运行方法、装置、计算机设备和存储介质 | |
US20090007140A1 (en) | Reducing layering overhead in collective communication operations | |
JP2024520146A (ja) | 決定論的フロー伝送方法および装置 | |
JP6412888B2 (ja) | ミドルウェアマシン環境において協働的同時並行性をサポートするためのシステムおよび方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190205 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190205 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20191015 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20191112 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200207 |
|
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: 20200225 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200325 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6682668 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |