JP5902173B2 - メッセージキュー管理 - Google Patents

メッセージキュー管理 Download PDF

Info

Publication number
JP5902173B2
JP5902173B2 JP2013529192A JP2013529192A JP5902173B2 JP 5902173 B2 JP5902173 B2 JP 5902173B2 JP 2013529192 A JP2013529192 A JP 2013529192A JP 2013529192 A JP2013529192 A JP 2013529192A JP 5902173 B2 JP5902173 B2 JP 5902173B2
Authority
JP
Japan
Prior art keywords
message queue
component
tab
components
tabs
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
Application number
JP2013529192A
Other languages
English (en)
Other versions
JP2013541091A (ja
JP2013541091A5 (ja
Inventor
ウッズ,ショーン・エム
イン,ハーマン・エイチ
プラスター,ダニエル・ジェームズ
グローバー,アレックス・ジェイ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2013541091A publication Critical patent/JP2013541091A/ja
Publication of JP2013541091A5 publication Critical patent/JP2013541091A5/ja
Application granted granted Critical
Publication of JP5902173B2 publication Critical patent/JP5902173B2/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/44Arrangements for executing specific programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0718Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in an object-oriented system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • 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/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Information Transfer Between Computers (AREA)
  • User Interface Of Digital Computer (AREA)
  • Digital Computer Display Output (AREA)

Description

本発明は、メッセージキュー管理に関する。
[0001]タブ付きWebブラウザーなどのマルチコンポーネントアプリケーションプログラムは、単一のアプリケーションを介して複数のリソース(例えば、ドキュメント、Webページ、ファイルなど)と同時に対話するための便利な方法であるので、ユーザーに人気がある。慣例では、マルチコンポーネントを利用するアプリケーションは、共有入力メッセージキューを用いて、複数のコンポーネントのメッセージ処理およびシーケンス処理を行う。
ところが、従来の手法では、1つのコンポーネントが応答しなくなった場合、そのコンポーネントは共有キューからそのメッセージを処理することを停止する。このことは、同じメッセージキューを共有するその他のコンポーネントのメッセージの中断を引き起こす可能性がある。したがって、1つの応答しないコンポーネントは、キューを事実上ブロックし、その他のコンポーネントも同様に応答しなくなる原因となる可能性がある。
[0002]この概要は、発明を実施するための形態において以下でさらに説明される、簡略化した形態での概念の選択肢を紹介するために提供される。この概要は、特許請求される主題の主要な機能または必須の機能を特定することを意図するものでもなく、特許請求される主題の範囲を限定するために使用されることを意図するものでもない。
[0003]様々な実施形態は、マルチコンポーネントアプリケーションが応答しなくなる(例えば、「ロックアップ」、「ハング」、「クラッシュ」など)可能性を低減し、マルチコンポーネントアプリケーションが応答しなくなった場合に個々のコンポーネントの回復オプションを有効にするように設計されたメッセージキュー管理技法を提供する。少なくともいくつかの実施形態では、メッセージキューマネージャーを実施して、アプリケーションのコンポーネントが応答しなくなったときを検出し、共有入力メッセージキューからそのコンポーネントをデタッチすることができる。共有キューは、他の応答するコンポーネントのメッセージの処理を継続することができる一方、応答しないコンポーネントのメッセージングは、別個のキューを介して管理される。また、メッセージキューマネージャーは、応答しないコンポーネントについてユーザーに通知し、応答しないコンポーネントの回復を容易にするためのオプションをユーザーに提供することができる。さらに、少なくともいくつかの実施形態では、メッセージキューマネージャーは、デタッチされたコンポーネントを監視し、デタッチされたコンポーネントが再び応答するようになったときに、デタッチされたコンポーネントを再アタッチ(リアタッチ、reattach)することができる。
[0004]同様の機能を参照するために、図面全体を通して同じ番号が使用される。
[0005]1つまたは複数の実施形態による、本明細書に記載される様々な原理を用いることができる運用環境を示す図である。 [0006]1つまたは複数の実施形態による、マルチコンポーネントアプリケーションの例示的なメッセージキュー管理技法を表現したものを示す図である。 [0007]1つまたは複数の実施形態による例示的なWebブラウザーを示す図である。 [0008]1つまたは複数の実施形態による方法のステップを説明する流れ図である。 [0009]1つまたは複数の実施形態を実施するために使用することができる例示的なシステムを示す図である。
概説
[0010]様々な実施形態は、マルチコンポーネントアプリケーションが応答しなくなる(例えば、「ロックアップ」、「ハング」、「クラッシュ」など)可能性を低減し、マルチコンポーネントアプリケーションが応答しなくなった場合に個々のコンポーネントの回復オプションを有効にするように設計されたメッセージキュー管理技法を提供する。ブラウジング環境では、メッセージキューマネージャーを実施して、タブ付きブラウザーユーザーインターフェイスのタブを管理することができる。少なくともいくつかの実施形態では、メッセージキューマネージャーは、アプリケーションのコンポーネント(例えば、タブ)が応答しなくなったときを検出し、共有入力メッセージキューからそのコンポーネントをデタッチすることができる。共有キューは、他の応答するコンポーネントのメッセージの処理を継続することができる一方、応答しないコンポーネントのメッセージングは、別個のキューを介して管理される。また、メッセージキューマネージャーは、応答しないコンポーネントについてユーザーに通知し、応答しないコンポーネントの回復を容易にするためのオプションをユーザーに提供することができる。さらに、少なくともいくつかの実施形態では、メッセージキューマネージャーは、デタッチされたコンポーネントを監視し、デタッチされたコンポーネントが再び応答するようになったときに、デタッチされたコンポーネントを再アタッチすることができる。
[0011]以下に続く説明では、「運用環境」と題されたセクションが提供され、このセクションは、1つまたは複数の実施形態を用いることができる1つの環境について説明する。これに続いて、「メッセージキュー管理」と題されたセクションは、1つまたは複数の実施形態による、マルチコンポーネントアプリケーションのメッセージキューを管理するための例示的な技法について説明する。次に、「例示的なWebブラウザー」と題されたセクションは、1つまたは複数の実施形態によるタブ付きWebブラウザーインターフェイス、通知、および回復オプションの例について説明する。次いで、「例示的な方法」と題されたセクションは、例示的な方法の文脈におけるメッセージキュー管理に関連した例示的な技法および機能について説明する。最後に、「例示的なシステム」と題されたセクションは、1つまたは複数の実施形態を実施するために利用することができる例示的なシステムについて説明する。
運用環境
[0012]図1は、1つまたは複数の実施形態による運用環境の全体を100で示す。環境100は、1つまたは複数のプロセッサー104、1つまたは複数のコンピューター可読記憶媒体106および、コンピューター可読記憶媒体に常駐し、(1つまたは複数の)プロセッサーによって実行可能な1つまたは複数のアプリケーション108を有するコンピューティングデバイス102を含む。コンピューター可読記憶媒体は、例として限定することなく、すべての形態の揮発性メモリーおよび不揮発性メモリーならびに/または通常コンピューティングデバイスに関連付けられる記憶媒体を含むことができる。そのようなメディアとしては、ROM、RAM、フラッシュメモリー、ハードディスク、リムーバブルメディアなどを挙げることができる。コンピューティングデバイスの1つの具体的な例が図5に示され、以下で説明される。
[0013]加えて、コンピューティングデバイス102は、上記および以下で説明されるように動作するメッセージキューマネージャー111を含む、またはそうでない場合はメッセージキューマネージャー111を利用するWebブラウザー110の形態のソフトウェアアプリケーションを含む。メッセージキューマネージャーは、マルチコンポーネントアプリケーションのコンポーネントの管理を提供して、応答しないコンポーネントによるクラッシュ/ハングに影響されず、クラッシュ/ハングから回復するように構成され得る。タブ付きブラウジング環境では、メッセージキューマネージャーは、Webブラウザー110の複数のタブの1つまたは複数の入力メッセージキューを管理するように動作可能である。少なくともいくつかの実施形態では、メッセージキューマネージャーは、アプリケーションのコンポーネント(例えば、タブ)が応答しなくなったときを検出し、共有入力メッセージキューからそのコンポーネントをデタッチすることができる。そうすることにより、別個の「デタッチされた」メッセージキューによって、応答しないコンポーネントのメッセージ処理を行うことができる。これにより、共有キューがアプリケーションの他の応答するコンポーネントのメッセージの処理を継続することができ、その結果、応答するコンポーネントとの対話を継続することができる。また、メッセージキューマネージャーは、応答しないコンポーネントについてユーザーに通知し、応答しないコンポーネントの回復を容易にするためのオプションをユーザーに提供することができる。さらに、少なくともいくつかの実施形態では、メッセージキューマネージャーは、デタッチされたコンポーネント/タブを監視し、デタッチされたコンポーネントが再び応答するようになったときに、デタッチされたコンポーネントを再アタッチすることができる。
[0014]ブラウジング環境およびWebブラウザーまたは他のアプリケーションのタブの文脈において、様々な例が本明細書に記載される。ただし、様々な環境において、複数のコンポーネントを利用する任意の適切なアプリケーションとともに、メッセージキューマネージャー111および対応する技法を用いることができることを理解されたい。例として限定することなく、メッセージキューマネージャーを実施して、電子メールアプリケーション、デスクトップ生産性アプリケーション、ゲームアプリケーション、メディアアプリケーション、および/またはコンピューティングデバイス102の他の適切なアプリケーションを含むがこれらに限定されない、様々なアプリケーション108のコンポーネントを管理することができる。
[0015]加えて、環境100は、インターネットなどのネットワーク112、および上記および以下で説明されるようにコンテンツを送受信することができる1つまたは複数のWebサーバー114を含む。そのようなコンテンツは、Webサーバーから受信されるWebページを含むことができる。
[0016]コンピューティングデバイス102は、例として限定することなく、デスクトップコンピューター、ポータブルコンピューター、携帯情報端末(PDA)、携帯電話などのハンドヘルドコンピューターなどの任意の適切なコンピューティングデバイスとして具体化され得る。
[0017]例示的な運用環境について説明してきたが、次に、メッセージキューマネージャー111を利用することができるいくつかの例示的な実施形態の説明について検討する。
メッセージキュー管理
[0018]図2は、1つまたは複数の実施形態による、マルチコンポーネントアプリケーションのメッセージキュー管理の例示的な技法を表現したものを示す。具体的には、図2は、メッセージキューマネージャー111を含む、またはそうでない場合はメッセージキューマネージャー111を利用する図1の例示的なコンピューティングデバイス102などの、適切に構成されたコンピューティングデバイスによって実行することができるメッセージキューに関連付けられた異なる状態間の移行を表す。
[0019]状態200において、複数のコンポーネント204(1)〜204(3)を有するマルチコンポーネントアプリケーション202のインスタンスは最初に、共有入力メッセージキュー206を使用するように構成される。この状態では、それぞれの例示的なコンポーネント204(1)〜204(3)のメッセージがシーケンス処理され、共有入力メッセージキュー206を介して処理される。
[0020]本明細書で使用される場合、マルチコンポーネントアプリケーションは、アプリケーションのインターフェイスの別個の異なる部分または「コンポーネント」を介して、複数のリソース(例えば、Webページ、ドキュメント、ファイル、スクリプト、メディアコンテンツなど)とのユーザー対話を可能にするアプリケーションである。この文脈では、コンポーネントという用語は、マルチコンポーネントアプリケーションの異なる、別々に誘導可能なおよび/または動作可能な部分を指すことができる。コンポーネントは、親アプリケーションの共通のメインウィンドウまたはフレーム内に含まれる別個のサブアプリケーションとすることができる。したがって、複数のコンポーネントを利用するインターフェイスは、アプリケーションの単一のウィンドウ内に含まれ得る。コンポーネントは同じアプリケーションの部分であってもよいが、1つのコンポーネントを介したユーザー対話はその他のコンポーネントを介したユーザー対話とは無関係であることができるという点で、コンポーネントは半自律とみなされ得る。異なるコンポーネントは、選択的には、共通の表示部分を介して二者択一的におよび/またはユーザーインターフェイスの様々な異なる領域(明らかに異なる領域、different distinct area)において同時に示され得る。共有キューを用いて、異なる複数の半自律コンポーネントを同期させ、調和させることができ、その結果、これらの半自律コンポーネントは単一のコンポーネントとして挙動する。
[0021]本明細書に記載されるメッセージキュー管理を用いることができるマルチコンポーネントアプリケーションの様々な例が企図される。上述したように、複数のタブを有効にするように構成されたタブ付きWebブラウザーは、マルチコンポーネントアプリケーションの一例である。タブを文書処理アプリケーション、電子メールクライアント、またはマルチメディアアプリケーション用などの他の文脈において使用することもできる。別の例では、オフィス生産性スイートなどのアプリケーションは、テキストドキュメント、Webページ、スプレッドシート、グラフなどを含む複数のリソースとの対話を容易にするための異なるタブ、セクション、列または他のコンポーネントを有するように構成され得る。
[0022]メッセージキューマネージャー111(図1)が、コンポーネントが応答しなくなったことを検出したとき、メッセージキューマネージャー111は、応答しないコンポーネントを共有入力メッセージキュー206からデタッチさせることによって応答することができる。例えば、何らかの理由で、コンポーネント204(1)がハングした、またはそうでない場合は応答しなくなったと仮定する。メッセージキューマネージャー111は、コンポーネント204(1)が応答しないことを任意の適切な方法で検出することができ、その例は上記および以下で説明される。検出に応答して、メッセージキューマネージャー111は、共有入力メッセージキューからコンポーネント204(1)をデタッチするように動作することができる。
[0023]具体的には、図2におけるデタッチされた状態208によって表されるように、応答しないコンポーネント204(1)をデタッチすることができる。図示のように、デタッチされたメッセージキュー210を応答しないコンポーネント204(1)に関連付けることができ、デタッチされたメッセージキュー210を用いて、コンポーネント204(1)のメッセージングを管理することができる。コンポーネント204(2)およびコンポーネント204(3)は、共有入力メッセージキュー206の使用を継続することができる。したがって、応答しないコンポーネントのメッセージは、デタッチされたメッセージキュー210によって処理され得る。共有入力メッセージキュー206は、他の応答するコンポーネントのメッセージの処理を継続することができ、その結果、アプリケーション全体が個々のコンポーネントによって引き起こされる中断によって応答しなくなることはない。少なくともいくつかの実施形態では、メッセージキューマネージャー111は、デタッチされたメッセージキュー210をオンデマンドで作成し、そのキューをあるコンポーネントによる専用使用に割り当てるように構成され得る。これは、コンポーネントが応答しないことを検出したことに応答して起こり得る。次いで、コンポーネントのメッセージを新たに作成されたキューに移行させることができる。加えてまたはあるいは、メッセージキューマネージャー111は、既存のデタッチされたメッセージキューを利用して、必要に応じて応答しないコンポーネントを処理するように構成され得る。コンポーネントが応答しなくなった場合、既存のデタッチされたメッセージキューを異なるコンポーネントに対して繰り返し使用することができる。この場合、メッセージキューマネージャー111は、各使用の前に既存のデタッチされたメッセージキューを初期化するおよび/または各使用の後にキューをクリアして、次回使用するためのキューを準備することができる。
[0024]メッセージキューマネージャー111が、デタッチされたコンポーネントに対する応答性が復旧したことを検出したとき、メッセージキューマネージャー111は、応答しないコンポーネントを共有入力メッセージキュー206に再アタッチさせることによって応答することができる。例えば、コンポーネント204(1)が上記のように一定期間デタッチされた後、再び応答するようになったと仮定する。メッセージキューマネージャー111は、コンポーネント204(1)が再び応答することを任意の適切な方法で検出することができ、その例は上記および以下で説明される。検出に応答して、メッセージキューマネージャー111は、コンポーネント204(1)を再アタッチするように動作することができる。
[0025]具体的には、図2における再アタッチされた状態212によって表されるように、応答しないコンポーネント204(1)を再アタッチすることができる。図示のように、別個のコンポーネントメッセージキュー210が閉じられ、またはそうでない場合は削除される。再アタッチされた状態212では、コンポーネント204(1)のメッセージングは再び共有入力メッセージキュー206によって処理されている。これは、共有入力メッセージキュー206にコンポーネント204(1)のメッセージを戻してコンポーネント204(2)およびコンポーネント204(3)のメッセージとマージすることを含み得る。共有入力メッセージキューからのコンポーネントをデタッチし、再アタッチするために用いることができる技法についてのさらなる詳細は、以下で「例示的な方法」と題されたセクションで見出すことができる。
[0026]メッセージキュー管理の例について説明してきたが、次に、1つまたは複数の実施形態による、メッセージキューマネージャー111を利用することができる例示的なWebブラウザーの説明について検討する。
例示的なWebブラウザー
インターフェイス
[0027]図3は、1つまたは複数の実施形態による例示的なWebブラウザーの全体を300で示す。図示のWebブラウザーは、コンポーネントの管理を容易にするために複数のコンポーネント(例えば、タブ)およびメッセージキューマネージャー111(図1)を利用することができるアプリケーションの一例にすぎない。Webブラウザー300は、Webブラウザーユーザーインターフェイス302を含み、Webブラウザーユーザーインターフェイス302は、戻るナビゲーションボタンおよび進むナビゲーションボタン、アドレスバー、検索バー、ならびに複数のタブをサポートすることができるタブバンドなどの典型的な手段(instrumentality)を含む。例えば、複数のタブは、図3に示されるタブバンドに現れる。これらのタブはコンポーネント204(1)〜204(3)と称されて、図2に関連して説明されたコンポーネントが図3の例示的なタブなどのタブに対応することができることを示す。Webブラウザーユーザーインターフェイスは、コンテンツを表示することができる(クロスハッチングによって示された)コンテンツレンダリング領域304も含む。加えて、Webブラウザーユーザーインターフェイス302は、通知バー306を含む。1つまたは複数の実施形態では、通知バーは、ユーザーが自分のブラウジングアクティビティへの集中を維持するのを助けるとともに、提案の形で通知を行うように設計される。通知バーを介して提示される通知は、メッセージキュー管理の様々な技法を有効にするように出力された、またはそうでない場合はメッセージキューマネージャー111の動作を介して引き起こされた、応答しないタブに関連する通知を含むことができる。
[0028]少なくともいくつかの実施形態では、通知バーは非モーダルであり、ユーザーの注意散漫を低減するように選択されたブラウジング視野内の場所で提示される。例えば、図示され、説明された実施形態では、通知バーは、Webブラウザーのユーザーインターフェイスの下部でまたはその近く(ここでは、コンテンツレンダリング領域304の下部付近またはコンテンツレンダリング領域304の下)に提示される。通知バーは、目立つものでありながら無視できるものであるように設計され、したがって、ユーザーは、モーダルダイアログによって気を散らされることなく、コンテンツレンダリング領域304で自分のブラウジング作業を継続することができる。さらに、少なくともいくつかの実施形態では、通知バーは、Webブラウザーによって表示されたコンテンツをオーバーレイする方法で提示される。したがって、通知バーの場所は事実上、通知バーに現れる可能性がある特定の通知よりもコンテンツレンダリング領域304内で表示されるコンテンツを優先させる。
通知
[0029]応答しないコンポーネントについての通知は、任意の適切な方法で構成され得る。適切な通知は、ポップアップダイアログボックス、Webブラウザー300または他のアプリケーションによって表示されるhtmlページ、タブ付きユーザーインターフェイスのタブ警告、通知バー306を介して提示される通知、および/またはこれらの組合せを含むことができる。通知は、直接および/またはその通知を介してアクセス可能な別個の回復ダイアログを介して回復を実行するための1つまたは複数のユーザー選択可能な手段を含むように構成され得る。回復ダイアログは、クラッシュについての追加の情報および/または様々な利用可能な回復オプションを提供するように構成され得る。
[0030]例えば、図3における通知バー306は、応答しないコンポーネントについての例示的な通知を表示するものとして図示される。具体的には、メッセージキューマネージャー111は、例示的なブラウザー300のタブが応答しないことを検出したことに応答して、通知を提示させることができる。通知は、対応するタブにおいて現れるように構成され得る。したがって、バックグラウンドにおけるタブに対応する通知は、ユーザーがバックグラウンドタブをアクティブなタブとして選択するまで、現れないことがある。この手法は、ユーザーのブラウジングまたはアクティブなタブとの他の対話の中断を制限することができる。
[0031]図示された例では、通知は、「タブが応答していません(Tab is not responding)」と示す情報部分308を含む。また、この情報部分は、応答しないコンポーネントに関連付けられたページ名、URL、ドメイン名、および/または他の識別子を特定して、クラッシュの原因を特定することができる。例えば、メッセージキューマネージャーは、Webリソースのドメイン文字列を構文解析して、ドメイン名を判定し、「Foo.comが応答していません(Foo.com is not responding)」と示すものなど、ドメイン名を示すための、応答しないタブについての通知を構成することができる。任意選択で、通知は、全体が310で示された図示のボタンなどの1つまたは複数のユーザー選択可能な手段を含むこともでき、これらのボタンは、応答しないタブまたは他のコンポーネントの回復のための様々なオプションを提供するように構成される。例えば、図3の例示的なボタンは、「タブを回復する(Recover Tab)」ボタンを含み、このボタンは、選択されたときに、通知を介して直接アクションを実行して、タブを回復するように構成され得る。例示的なアクションとしては、ページを再度読み込むこと、タブに関連して実行中のスクリプトを停止すること、ブラウジング履歴における前のリソースまたはURLにロールバックすることなどを挙げることができる。加えてまたは代替として、「タブを回復する」ボタンは別のダイアログまたはインターフェイスを示すことができ、その別のダイアログまたはインターフェイスを介して、ユーザーは応答しないタブについてのより詳細な情報を取得するおよび/または様々な回復オプションを選択することができる。例示的なボタンは、ユーザーが応答しないタブを終了するよう選択することができる「タブを閉じる(Close Tab)」ボタンをさらに含む。
回復オプション
[0032]上記に述べたように、応答しないタブまたは他のコンポーネントを回復するための様々なオプションは、通知に含まれるユーザー選択可能な手段を介しておよび/または様々な選択可能な回復オプションを有する回復ダイアログを介して利用可能とすることができる。回復オプションは、メニュー項目オプション、ツールバー、キーボードショートカット、ボタンなどの典型的な手段を介して利用可能とすることができる。
[0033]次に、応答しないタブが検出されたときに利用可能とすることができる、いくつかの例示的な回復オプションについての詳細について検討する。タブを閉じるためのオプションが提供され得る。したがって、ユーザーは単に、応答しないタブとの対話を停止するよう選択することができる。さらに、タブを復旧させるためのオプションが提供され得る。復旧オプションを選択することで、Webブラウザーに、選択されたリソース(例えば、ページ、ドキュメント、Webサイトなど)を再度読み込むおよび/または選択されたリソースに再度移動することを試行させることができる。
[0034]別のオプションにより、ユーザーは、応答しないコンポーネントに関連付けられたリソース間でのスワップを実行することができる。スワップは事実上、応答しないコンポーネントを隠しおよび/または強制終了し、新しいリソースを有する新しいコンポーネントを作成して、応答しないコンポーネントと置き換える。スワップは、バックグラウンドでユーザーに対して透過的に実行され得る。ユーザーの視点からは、コンポーネントを介して新しいリソースが選択され、提示されたかのように見える。
[0035]例えば、選択されたときに、応答しないタブを別のWebページに自動的に移動するボタンまたは他の手段が提供され得る。その他のWebページは、事前に指定されたデフォルトページまたはホームページとすることができる。加えてまたは代替として、ユーザーは、入力することによってスワップを開始するか、または、お気に入りリストからリンクを選択する、Webブラウザーのアドレスバーに新しいアドレスをタイプする、「戻る」ボタンまたは「ホーム」ボタンなどの移動ボタンを選択することによってなど、様々な方法で別のリソースを選択することができる。応答しないタブについて別のリソースの選択が行われたとき、メッセージキューマネージャー111はこれを検出し、スワップを自動的に開始することができ、スワップは応答しないタブを隠しまたは強制終了し、新たに選択されたリソースに向けられた新しいタブを作成し、応答しないタブを新しいタブにシームレスに置き換える。
[0036]加えて、ユーザーが応答しないタブの原因であり得るスクリプトの実行を停止することができるように、スクリプト回復オプションが提供され得る。例えば、メッセージキューマネージャー111が応答しないタブを検出したとき、チェックを行って、そのタブに関連付けられたスクリプトが実行中であるかどうかを確認することができる。スクリプトが特定された場合、メッセージキューマネージャー111は、上記および以下で説明されるように、通知を使用してユーザーに通知することができる。通知は、選択されたときに、スクリプトに実行を停止させるボタンまたは他のユーザー選択可能な手段を含むこともできる。スクリプトが原因でタブが応答しない場合、説明された方法でできるだけ早くスクリプトを停止することで、タブに対する応答性を迅速に復旧させ、ユーザーのブラウジングの中断を制限することができる。
[0037]また、「自己回復」オプションを実施して、メッセージキューマネージャー111がいかなるユーザー介入もなしに回復を自動的に実行することもできることに留意されたい。このオプションでは、メッセージキューマネージャー111は、応答しないコンポーネントが再び応答するようになったことを判定することができる。この判定は、回復ボタンのユーザー選択または回復ダイアログとの対話とは無関係になど、ユーザーのアクションとは無関係に行われ得る。メッセージキューマネージャー111が応答性が復旧したと判定すると、メッセージキューマネージャー111は自動的に動作して、コンポーネントをキューに再アタッチし、図3のコンテンツレンダリング領域304などにおける表示部分でコンポーネントに対応するデータを表示し、適切な場合、対応する通知を解除することができる。「自己回復」手法を実施して、自力で回復する(これはよくあることである)コンポーネントについての通知および/または回復オプションでユーザーを混乱させることを回避することができる。
[0038]1つまたは複数の実施形態による、複数のタブおよび通知バーを利用する例示的なWebブラウザーについて検討してきたが、次に、例示的な方法の文脈において説明されるメッセージキュー管理についてのいくつかのさらなる詳細について検討する。
例示的な方法
[0039]図4は、1つまたは複数の実施形態による方法のステップについて説明する流れ図である。この方法は、任意の適切なハードウェア、ソフトウェア、ファームウェア、またはこれらの組合せに関連して実施され得る。少なくともいくつかの実施形態では、この方法は、メッセージキューマネージャー111を含む、またはそうでない場合はメッセージキューマネージャー111を利用する図1の例示的なコンピューティングデバイス102などの、コンピューティングデバイスを構成する適合性によって実施され得る。
[0040]初期状態では、タブ付きWebブラウザーなどのマルチコンポーネントアプリケーションは、共有入力メッセージキューを利用して、それぞれのコンポーネントのメッセージを処理することができることを思い出されたい。具体的な例では、Webブラウザーは複数のタブを有することができ、複数のタブは独立して動作し、複数のタブを用いて、Webサーバーからの異なるリソースにアクセスすることができる。したがって、それぞれのタブを移動して、異なるリソースまたはURLを示し、対応するコンテンツを提示することができる。初期状態では、Webブラウザーは、共有入力メッセージキューを使用して、それぞれのタブを管理するように構成され得る。例えば、それぞれの新しいタブは、デフォルトで、共有キューに割り当てられ得る。
[0041]メッセージキューマネージャー111を実施して、タブが応答状態を維持していることを確認するためにタブを監視することができる。具体的には、ステップ400は、例示的なWebブラウザーなどに対するアプリケーションのタブの応答性を監視する。監視に基づいて、ステップ402は、タブが応答しなくなるかどうかを判定する。
[0042]任意の適切な方法でタブの監視を行うことができる。タブの監視を行うことができる1つの方法は、定期的な「ハートビート」メッセージをタブに送信することによるものである。言い換えれば、メッセージキューマネージャー111は、ハートビートメッセージを用いてそれぞれのタブにポーリングするように構成され得る。ハートビートメッセージは、タブに応答メッセージを送信させる基本要求メッセージとして構成され得る。したがって、メッセージキューマネージャー111は、タブが応答メッセージを送信するかどうかを監視することができる。応答するタブはメッセージに応答し、メッセージキューマネージャー111はタブが応答すると結論付けることができる。しかし、タブがハートビートメッセージに応答しない場合、メッセージキューマネージャー111はタブが応答しないと結論付けることができる。
[0043]別の例示的な監視の技法では、リソースは、メッセージをメッセージキューマネージャー111にプッシュして、リソースが応答することをメッセージキューマネージャー111に通知するように構成され得る。この手法は、適切ではあるが、プッシュされたメッセージを有効にするコードを用いてリソースを再構成することを必要とすることがある。したがって、いずれも実行可能な手法ではあるが、説明したようにハートビートメッセージを使用してタブをポーリングすることは、プッシュされたメッセージの手法に比べてより効率的で、より安価で、より単純であり得る。ステップ402によって、どのタブも応答しないものとして検出されなかった場合、ステップ400で実行される監視を継続することができる。図に明示的に示されていなくても、応答しないタブが存在する場合でもステップ400の監視が継続することを理解されたい。
[0044]応答しないタブが検出されたとき、ステップ404はそのタブをデタッチすることができる。具体的には、Webブラウザーまたは他のアプリケーションによって使用される共有入力メッセージキューから応答しないタブをデタッチすることができる。デタッチメントを実行するために、ステップ406はデタッチされたキューを開始する。例えば、メッセージキューマネージャー111は、キューを作成して、またはそうでない場合はキューを取得して、任意の適切な方法で応答しないタブのメッセージを処理することができる。これは、新しいキューをオンデマンドで作成することおよび/または応答しないタブが使用するための既存のキューを準備することを必要とすることがある。初期化は、キューと応答しないタブとの間の関連性を生み出す。
[0045]適切なデタッチされたキューが初期化されると、ステップ408は、タブのメッセージを共有キューからデタッチされたキューに移行する。これは、キュー間でメッセージを移動することおよびメッセージが正しくシーケンス処理されることを確認することを含むことができる。例えば、メッセージを、タイムスタンプおよび/または入力キューにおいてメッセージをシーケンス処理するために使用することができる優先度などのシーケンス情報と関連付けることができる。メッセージは、メッセージを適切なタブに向けるために使用することができるメッセージ番号、ソース名、および/またはプロセスIDなどのターゲット情報を含むこともできる。
[0046]特定の応答しないタブに関連付けられたメッセージの移行を実行するために、メッセージキューマネージャー111は、ターゲット情報を検査して、デタッチされたキューに移動されるべきメッセージを特定し、選択することができる。移動されるメッセージに関連付けられたシーケンス情報を用いて、メッセージシーケンスを保持するおよび/または適切な場合、デタッチされたキューにおいてメッセージを並べ替えることができる。これで、タブをデタッチされたものとみなすことができ、デタッチされたキューを使用して、デタッチされたタブのメッセージ処理を実行することができる。同時に、共有入力メッセージキューの使用を継続して、その他の「応答する」タブのメッセージを処理することができる。必要に応じて、シーケンス情報を使用して、共有入力メッセージに保持されるメッセージを並べ替えることもできる。
[0047]タブがデタッチされると、ステップ410は、デタッチされたタブを監視する。監視に基づいて、ステップ412は、デタッチされたタブが再び応答するようになったときを判定する。任意の適切な機構を用いて、デタッチされたタブを監視することができる。例えば、上記で説明された共有キューのタブの監視に匹敵した方法で、デタッチされたタブの監視を行うことができる。少なくともいくつかの実施形態では、メッセージキューマネージャー111は、ハートビートメッセージをデタッチされたタブに送信し、ハートビートメッセージに基づいて、デタッチされたタブが応答するかどうかを判定するように動作することができる。
[0048]デタッチされたタブが応答するようになったとき、ステップ414はそのタブを再アタッチする。例えば、メッセージキューマネージャー111がデタッチされたタブからハートビートメッセージ応答を受信した、またはそうでない場合はタブが応答すると判定した場合、メッセージキューマネージャー111は、タブを共有キューに再アタッチさせることができる。再アタッチメントを実行するために、ステップ416はデタッチされたキューから共有キューにタブのメッセージをマージする。例えば、メッセージキューマネージャー111は、共有キューにおけるメッセージとともに、適切なシーケンスで、メッセージをデタッチされたキューから共有キューに戻すことができる。メッセージが正しくシーケンス処理されるように、先に述べたシーケンス情報を用いて、メッセージをまとめることができる。例えば、メッセージが共有キューでマージされるときに、タイムスタンプおよび/またはメッセージに関連付けられた優先度を使用して、メッセージを並べ替えることができる。
[0049]ステップ416でメッセージがマージされると、ステップ418はデタッチされたキューをクリアする。メッセージキューマネージャー111がキューを繰り返し使用するように構成されている場合、このステップを実行して、別の応答しないタブとともに使用するためのキューを準備することができる。メッセージキューマネージャー111が応答しないタブのためのキューをオンデマンドで作成する実施形態では、このステップは、デタッチされたキューを閉じること、デタッチされたキューを削除すること、またはそうでない場合はデタッチされたキューをシャットダウンすることを必要とすることがある。次いで、必要に応じて、異なる応答しないタブとともに使用するための別のデタッチされたキューがオンデマンドで作成され得る。
[0050]ここで、タブを共有キューに再アタッチされたものとみなすことができ、再アタッチされたタブならびに他のタブのメッセージ処理が再び共有キューを介して行われる。
[0051]1つまたは複数の実施形態による例示的な方法について説明してきたが、次に、1つまたは複数の実施形態による、メッセージキュー管理の様々な技術を実施するために用いることができる例示的なシステムについて検討する。
例示的なシステム
[0052]図5は、上記で説明された様々な実施形態を実施するために使用することができる例示的なコンピューティングデバイス500を示す。コンピューティングデバイス500は、例えば、図1のコンピューティングデバイス102またはWebサーバー114とすることができる。
[0053]コンピューティングデバイス500は、1つまたは複数のプロセッサーもしくは処理ユニット502、1つまたは複数のメモリーおよび/もしくは記憶コンポーネント504、1つまたは複数の入力/出力(I/O)デバイス506、ならびに様々なコンポーネントおよびデバイスが互いに通信することを可能にするバス508を含む。バス508は、様々なバスアーキテクチャのいずれかを使用するメモリーバスまたはメモリーコントローラー、周辺バス、アクセラレーテッドグラフィックスポート、およびプロセッサーまたはローカルバスを含む、いくつかのタイプのバス構造のいずれかの1つまたは複数を表す。バス508は、有線バスおよび/または無線バスを含むことができる。
[0054]メモリー/記憶コンポーネント504は、1つまたは複数のコンピューター記憶媒体を表す。コンポーネント504は、(ランダムアクセスメモリー(RAM)などの)揮発性メディアおよび/または(読取り専用メモリー(ROM)、フラッシュメモリー、光ディスク、磁気ディスクなどの)不揮発性メディアを含むことができる。コンポーネント504は、固定メディア(例えば、RAM、ROM、固定ハードドライブなど)ならびにリムーバブルメディア(例えば、フラッシュメモリードライブ、リムーバブルハードドライブ、光ディスクなど)を含むことができる。
[0055]1つまたは複数の入力/出力デバイス506により、ユーザーはコマンドおよび情報をコンピューティングデバイス500に入力することができ、また、情報をユーザーおよび/または他のコンポーネントもしくはデバイスに提示することができる。入力デバイスの例としては、キーボード、カーソル制御デバイス(例えば、マウス)、マイクロホン、スキャナーなどが挙げられる。出力デバイスの例としては、表示デバイス(例えば、モニターまたはプロジェクター)、スピーカー、プリンター、ネットワークカードなどが挙げられる。
[0056]ソフトウェアまたはプログラムモジュールの概括的な文脈において、様々な技法が本明細書に記載され得る。概して、ソフトウェアは、特定のタスクを実行するまたは特定の抽象データタイプを実施するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。これらのモジュールおよび技法の実施は、何らかの形態のコンピューター可読メディアに記憶されるか、または伝送され得る。コンピューター可読メディアは、コンピューティングデバイスによってアクセスすることができる、任意の利用可能な1つまたは複数のメディアとすることができる。例として限定することなく、コンピューター可読メディアは、「コンピューター可読記憶媒体」を備え得る。
[0057]「コンピューター可読記憶媒体」は、コンピューター可読命令、データ構造、プログラムモジュール、または他のデータなどの情報を記憶するために任意の方法または技術で実施される揮発性メディアおよび不揮発性メディア、リムーバブルメディアおよび非リムーバブルメディアを含む。コンピューター可読記憶媒体としては、RAM、ROM、EEPROM、フラッシュメモリーもしくは他のメモリー技術、CD−ROM、デジタル多用途ディスク(DVD)もしくは他の光学記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置もしくは他の磁気記憶デバイス、または所望の情報を記憶するために使用することができ、コンピューターによってアクセスすることができる任意の他のメディアが挙げられるが、これらに限定されない。
結論
[0058]様々な実施形態は、マルチコンポーネントアプリケーションが応答しなくなる(例えば、「ロックアップ」、「ハング」、「クラッシュ」など)可能性を低減し、マルチコンポーネントアプリケーションが応答しなくなった場合に個々のコンポーネントの回復オプションを有効にするように設計された、メッセージキュー管理の技法を提供する。少なくともいくつかの実施形態では、メッセージキューマネージャーを実施して、アプリケーションインターフェイスのコンポーネントが応答しなくなったときを検出し、共有メッセージキューからそのコンポーネントをデタッチすることができる。共有メッセージキューは、他の応答するコンポーネントのメッセージの処理を継続することができる一方、応答しないコンポーネントのメッセージングは、別個のキューを介して管理される。また、メッセージキューマネージャーは、応答しないコンポーネントについてユーザーに通知し、応答しないコンポーネントの回復を容易にするためのオプションをユーザーに提供することができる。さらに、少なくともいくつかの実施形態では、メッセージキューマネージャーは、デタッチされたコンポーネントを監視し、デタッチされたコンポーネントが再び応答するようになったときに、デタッチされたコンポーネントを再アタッチすることができる。
[0059]構造的機能および/または方法的行為に特有の文言で主題について説明してきたが、添付の特許請求の範囲で定義される主題は必ずしも上記で説明された特定の機能または行為に限定されないことを理解されたい。むしろ、上記で説明された特定の機能および行為は、特許請求の範囲を実施する例示的な形態として開示される。

Claims (13)

  1. コンピューティングデバイスによって実行されると、コンピューティングデバイスに、
    共有入力メッセージキューを管理して、前記コンピューティングデバイス上でアプリケーションの複数のコンポーネントのためのメッセージを処理することと、
    前記コンピューティングデバイス上の前記複数のコンポーネントのうちの応答しないコンポーネントを検出することと、
    前記検出することに応答して、前記共有入力メッセージキューから前記応答しないコンポーネントをデタッチすることであって、前記共有入力メッセージキューから前記応答しないコンポーネントをデタッチすることとは、前記応答しないコンポーネントのためのメッセージを処理するためのデタッチされたメッセージキューを開始することと、前記応答しないコンポーネントのためのメッセージを前記デタッチされたメッセージキューに移行させることからなることと、
    を含む動作を実行するように構成されたメッセージキューマネージャーを実施させる命令を記憶する、1つまたは複数のコンピューター可読記憶媒体。
  2. 前記アプリケーションがWebブラウザーを備える、請求項1に記載の1つまたは複数のコンピューター可読記憶媒体。
  3. 前記複数のコンポーネントが前記アプリケーションのタブ付きインターフェイスの複数のタブを備える、請求項1又は2に記載の1つまたは複数のコンピューター可読記憶媒体。
  4. 前記応答しないコンポーネントを検出することが、
    メッセージを前記複数のコンポーネントのそれぞれに定期的に送信して、前記複数のコンポーネントの応答性を監視することと、
    前記応答性に基づいて前記コンポーネントが前記メッセージに応答しなかったと判定することと
    を含む、請求項1〜3のいずれか一項に記載の1つまたは複数のコンピューター可読記憶媒体。
  5. 前記メッセージキューマネージャーが、
    通知を出力して、前記応答しないコンポーネントについてユーザーに通知することであって、前記通知が非モーダルであり、コンテンツレンダリング領域において前記アプリケーションによってレンダリングされたコンテンツに重なる通知バーを介して出力される、ユーザーに通知すること
    を含む動作を実行するようにさらに構成される、請求項1〜4のいずれか一項に記載の1つまたは複数のコンピューター可読記憶媒体。
  6. 前記通知が、前記応答しないコンポーネントを回復するための回復オプションを有効にするように構成された1つまたは複数のユーザー選択可能な選択肢を含む、請求項に記載の1つまたは複数のコンピューター可読記憶媒体。
  7. 前記複数のコンポーネントが、前記アプリケーションの共通フレーム内に含まれる別々に動作可能なサブアプリケーションを備える、請求項1〜6のいずれか一項に記載の1つまたは複数のコンピューター可読記憶媒体。
  8. 前記メッセージキューマネージャーが、
    応答しないものとして検出された前記コンポーネントが再び応答すると判定することと、
    前記コンポーネントを前記共有入力メッセージキューに再アタッチすることとと、
    を含む動作を実行するようにさらに構成される、請求項1〜7のいずれか一項に記載の1つまたは複数のコンピューター可読記憶媒体。
  9. 前記コンポーネントを再アタッチすることが、
    デタッチされたメッセージキューから前記共有入力メッセージキューに前記コンポーネントのためのメッセージをマージすることと、
    前記デタッチされたメッセージキューをクリアすることと
    を含む、請求項に記載の1つまたは複数のコンピューター可読記憶媒体。
  10. ッセージをタブ付きアプリケーションの複数のタブに定期的に送信して、前記複数のタブの応答性を監視するステップであって、前記複数のタブがメッセージ処理に共有入力メッセージキューを使用するように構成される、ステップと、
    記メッセージに基づいて、前記複数のタブのうちのいずれかが応答しないことを検出するステップと、
    記共有入力メッセージキューからデタッチされたメッセージキューに前記タブのためのメッセージを移行することによって、前記共有入力メッセージキューから前記応答しないタブをデタッチするステップと、
    答しないものとして検出された前記タブが再び応答すると判定するステップと、
    記デタッチされたメッセージキューから前記共有入力メッセージキューに前記タブのためのメッセージをマージすることによって、前記タブを前記共有入力メッセージキューに再アタッチするステップと、
    を含む、コンピューターにより実施される方法。
  11. 通知を出力して、前記応答しないタブについてユーザーに通知するステップと、
    前記通知に含まれる1つまたは複数のユーザー選択可能な手段を介して、回復オプションへのアクセスを提供するステップであって、前記回復オプションが前記通知に含まれる前記1つまたは複数のユーザー選択可能な手段の選択に応答して出力されるステップと
    をさらに含む、請求項10に記載のコンピューターにより実施される方法。
  12. 前記回復オプションが、前記応答しないタブを介してアクセスされるリソースを別のリソースとスワップするオプションを含む、請求項11に記載のコンピューターにより実施される方法。
  13. 前記回復オプションが、スクリプトの実行が前記応答しないタブの原因として特定されたときに、前記応答しないタブに関連付けられた前記スクリプトの実行を停止するオプションを含む、請求項11又は12に記載のコンピューターにより実施される方法。
JP2013529192A 2010-09-14 2011-09-06 メッセージキュー管理 Active JP5902173B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/882,000 2010-09-14
US12/882,000 US8667505B2 (en) 2010-09-14 2010-09-14 Message queue management
PCT/US2011/050470 WO2012036932A2 (en) 2010-09-14 2011-09-06 Message queue management

Publications (3)

Publication Number Publication Date
JP2013541091A JP2013541091A (ja) 2013-11-07
JP2013541091A5 JP2013541091A5 (ja) 2014-09-04
JP5902173B2 true JP5902173B2 (ja) 2016-04-13

Family

ID=45760777

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013529192A Active JP5902173B2 (ja) 2010-09-14 2011-09-06 メッセージキュー管理

Country Status (8)

Country Link
US (1) US8667505B2 (ja)
EP (1) EP2616930B1 (ja)
JP (1) JP5902173B2 (ja)
KR (1) KR101865432B1 (ja)
CN (1) CN102368212B (ja)
ES (1) ES2605415T3 (ja)
TW (1) TWI540513B (ja)
WO (1) WO2012036932A2 (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9558048B2 (en) * 2011-09-30 2017-01-31 Oracle International Corporation System and method for managing message queues for multinode applications in a transactional middleware machine environment
CN103019866B (zh) * 2012-10-24 2017-02-08 北京京东世纪贸易有限公司 基于消息队列的分布式方法和系统
CN103118138B (zh) * 2013-03-04 2016-02-10 中国信息安全测评中心 一种基于云服务的消息队列流处理方法
US10042682B2 (en) 2014-01-30 2018-08-07 Hewlett Packard Enterprise Development Lp Copy message from application buffer to send buffer within kernel
US10609155B2 (en) * 2015-02-20 2020-03-31 International Business Machines Corporation Scalable self-healing architecture for client-server operations in transient connectivity conditions
US9853933B2 (en) 2015-08-13 2017-12-26 60East Technologies, Inc. Message queue replication with message ownership migration
US10230678B2 (en) * 2015-08-20 2019-03-12 International Business Machines Corporation Storing messages of a message queue
US10270671B2 (en) 2015-09-22 2019-04-23 Microsoft Technology Licensing, Llc External process user interface isolation and monitoring
US10169116B2 (en) 2015-10-21 2019-01-01 International Business Machines Corporation Implementing temporary message queues using a shared medium
US10218656B2 (en) 2016-03-08 2019-02-26 International Business Machines Corporation Smart message delivery based on transaction processing status
WO2017206101A1 (en) * 2016-06-01 2017-12-07 Beijing Yi Zhang Yun Feng Technology Co., Ltd. Synchronization of messages based on queues
KR20180079584A (ko) * 2016-12-30 2018-07-11 에스케이하이닉스 주식회사 컨트롤러 및 컨트롤러의 동작 방법
CN106933589B (zh) * 2017-03-13 2020-07-28 车智互联(北京)科技有限公司 一种基于配置的消息队列组件及其集成的方法
TWI658369B (zh) * 2017-10-13 2019-05-01 遊戲橘子數位科技股份有限公司 保證訊息通知及回覆之方法
CN109542643B (zh) * 2018-11-16 2021-04-30 北京金山云网络技术有限公司 一种OpenStack系统中消息的恢复方法及装置
US11036365B2 (en) * 2019-06-07 2021-06-15 Microsoft Technology Licensing, Llc Hang condition mitigation for browser applications
CN115344168B (zh) * 2021-05-13 2024-08-09 荣耀终端有限公司 消息展示方法、终端及计算机可读存储介质
KR102639786B1 (ko) 2021-11-22 2024-02-22 주식회사 이글루코퍼레이션 메시지큐를 이용한 무중단 로그 전송 시스템 및 방법

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08202566A (ja) * 1995-01-24 1996-08-09 Nissin Electric Co Ltd プロセス間通信システム
JP4205843B2 (ja) * 2000-09-22 2009-01-07 株式会社日立製作所 ネットワーク接続装置の制御方法
US7127720B2 (en) * 2000-12-18 2006-10-24 Charles E Cano Storing state in a dynamic content routing network
US20050149952A1 (en) 2003-04-11 2005-07-07 Microsoft Corporation Persisting state across navigations in a navigation-based application and responding to navigation-related events throughout an application
US7440997B2 (en) 2003-06-13 2008-10-21 Microsoft Corporation Mechanism for supporting browser navigation while preserving important application return states
US7283993B2 (en) * 2004-04-29 2007-10-16 International Business Machines Corporation Methods, systems, and media for handling errors in script files
US7624308B2 (en) * 2005-03-28 2009-11-24 Microsoft Corporation Failed message error recovery using application specific error queues
US7549087B2 (en) * 2005-03-29 2009-06-16 Microsoft Corporation User interface panel for hung applications
US20090183155A1 (en) * 2008-01-15 2009-07-16 Microsoft Corporation Isolation of Content by Processes in an Application
US8307300B1 (en) 2008-05-13 2012-11-06 Google Inc. Content resizing and caching in multi-process browser architecture
US8443379B2 (en) * 2008-06-18 2013-05-14 Microsoft Corporation Peek and lock using queue partitioning
US8261286B1 (en) * 2008-06-18 2012-09-04 Amazon Technologies, Inc. Fast sequential message store
JP5272595B2 (ja) * 2008-09-05 2013-08-28 沖電気工業株式会社 表示制御装置、表示制御システム、表示制御方法およびプログラム
US7934129B2 (en) 2008-09-05 2011-04-26 Microsoft Corporation Network hang recovery

Also Published As

Publication number Publication date
KR101865432B1 (ko) 2018-06-07
CN102368212B (zh) 2015-08-12
JP2013541091A (ja) 2013-11-07
EP2616930B1 (en) 2016-08-24
ES2605415T3 (es) 2017-03-14
WO2012036932A3 (en) 2012-07-19
TW201224935A (en) 2012-06-16
WO2012036932A2 (en) 2012-03-22
US8667505B2 (en) 2014-03-04
KR20130107276A (ko) 2013-10-01
EP2616930A2 (en) 2013-07-24
EP2616930A4 (en) 2014-05-14
US20120066616A1 (en) 2012-03-15
TWI540513B (zh) 2016-07-01
CN102368212A (zh) 2012-03-07

Similar Documents

Publication Publication Date Title
JP5902173B2 (ja) メッセージキュー管理
US9588781B2 (en) Associating command surfaces with multiple active components
US9021469B2 (en) Web application pinning including task bar pinning
US8434135B2 (en) Creating and launching a web application with credentials
US9367636B2 (en) Web application home button
US8793650B2 (en) Dynamic web application notifications including task bar overlays
US9164671B2 (en) Web application navigation domains
US8595551B2 (en) Web application transitioning and transient web applications
US8429546B2 (en) Creating task sessions
US20110307810A1 (en) List integration

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140718

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140718

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20150520

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150811

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150904

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151009

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160309

R150 Certificate of patent or registration of utility model

Ref document number: 5902173

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250