JP6220338B2 - フォールトトレラント外部アプリケーションサーバ - Google Patents

フォールトトレラント外部アプリケーションサーバ Download PDF

Info

Publication number
JP6220338B2
JP6220338B2 JP2014532124A JP2014532124A JP6220338B2 JP 6220338 B2 JP6220338 B2 JP 6220338B2 JP 2014532124 A JP2014532124 A JP 2014532124A JP 2014532124 A JP2014532124 A JP 2014532124A JP 6220338 B2 JP6220338 B2 JP 6220338B2
Authority
JP
Japan
Prior art keywords
agent
farm
configuration
component
external application
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.)
Expired - Fee Related
Application number
JP2014532124A
Other languages
English (en)
Other versions
JP2014530435A (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 JP2014530435A publication Critical patent/JP2014530435A/ja
Application granted granted Critical
Publication of JP6220338B2 publication Critical patent/JP6220338B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/105Multiple levels of security

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)
  • Computer And Data Communications (AREA)
  • Hardware Redundancy (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本願発明の一実施例は、例えば、フォールトトレラント外部アプリケーションサーバに関する。
[0001]企業は多くの場合、異なる場所に異なる目的で保管された様々な形式の文書を維持管理している。多くの場合、これらの文書は様々な異なるソフトウェアアプリケーションおよび記憶システムにより生成され、かつ記憶される。例えば、文書は、ワードプロッサアプリケーション、表計算アプリケーション、プレゼンテーションアプリケーション、ノートアプリケーション、グラフィック設計アプリケーション、写真処理アプリケーションなどを使用して生成することができる。生成された文書は、様々な形式の文書を記憶するために使用される1つまたは複数のコンテンツサーバ、電子メール項目(Eメール)への添付物として文書を記憶するためのサーバ、会議用の添付物として文書を記憶するための記憶システム、見込み客あるいは顧客に対する添付物として文書を記憶するための顧客関係管理(CRM)システム、日常使用される文書を記憶するための汎用文書記憶装置、および/または特定の、高度に規制された用途用の文書を記憶するための特定の文書記憶装置(例えば、Documentum社のDocumentum(登録商標))を含む、様々な記憶システムにより記憶されうる。
[0002]一般的なサーバファームでは、機能の喪失を避けるためにファームのトポロジおよび構成についての最新かつ完全な理解を共有するための厳密な運用がファームのすべての構成員に要求される。最新状況を理解させるために、一般的なサーバファームでは、状態構成データベースに頼っているが、状態構成データベースの使用は一般的にサーバファームの管理、要求条件、運営の複雑性およびコストを増加させる。
[0003]本発明の目的は、これらおよびその他の問題に鑑みてなされたものである。
[0004]以下の概要は、後述の詳細な説明に詳しく記述される概念の中から選択したものを簡単化した形で紹介するために提供するものである。この概要は、請求項に係る主題の主な特徴または本質的な特徴を同定することを意図したものでも、請求項に係る主題の範囲を限定するために使用されることを意図したものでもない。
[0005]実施形態によれば、外部アプリケーションサーバファームは、フォールトトレラントファーム(FTF)システムが含む。外部アプリケーションサーバファームは、低い管理負担、最小限の支援ソフトウェアの必要性、ならびにFTFシステムの結果としての優れた堅牢性、信頼性およびスケーラビリティ達成する。FTFシステムの主要な構成要素には、ファーム管理構成要素、代替可能なサーバ構成要素、および正常性監視構成要素が含まれる。一般的に、FTFシステムは、状態管理データベースのコストおよび複雑性を伴うことなく外部アプリケーションサーバファームの現在の状態を記述するファーム状態を管理する。このことを達成するために、FTFシステムは、外部アプリケーションサーバファームの各構成装置上で実行される様々なエージェントを含んでいる。エージェントは、ファーム構成装置がエージェントを実行するための個別の機能を提供するシステムサービスである。
[0006]ファーム管理構成要素は、ファーム状態マネージャおよびファーム状態レプリケータを含む。ファーム管理構成要素の主たる機能は、ファーム状態の構成変更を管理することおよびファーム状態をファーム構成装置に配送することである。ファーム状態マネージャは各ファーム構成装置上で実行されるエージェントである。各ファーム構成装置は、ファーム状態マネージャを実行するが、ファーム状態マネージャの1つのインスタンスのみが、任意の所与の時点でマスターファーム状態マネージャとして指定される。マスターとして指定されていないいずれのファーム状態マネージャのインスタンス(すなわち、2次インスタンス)も、一般に実行を継続するが、責任は有していない(すなわち、何も行わない)。マスターファーム状態マネージャは、外部アプリケーションサーバファーム全体に対するファーム状態の「正式の」(すなわち、真の)バージョンを維持する。FTFシステムは、中央構成記憶装置内に正式なファーム状態を記憶する。各ファーム構成装置は、ローカル構成記憶装置内にファーム状態のローカルなコピーを蓄積する。
[0007]FTFシステムは、動作中のマスターファーム状態マネージャが故障となったとしても外部アプリケーションサーバファームが機能し続けることを可能とする。この場合、管理者は、手動で別のファーム状態マネージャをマスターに指定する。FTFシステムによるファーム状態操作の流動的な設計の結果、別のファーム状態マネージャを昇格させる必要がない。新しいマスターファーム状態マネージャが指定されるまで、ファーム状態マネージャの各個別のインスタンスは、個別のコンピューティング装置のローカルな構成記憶装置内に蓄積されている最後に知り得たファーム状態を使用して独立に動作し続ける。
[0008]ファーム状態レプリケータは、各ファーム構成装置が正式なバージョンのファーム状態のほぼ現在のコピーを確実に持てるようにするエージェントである。各コンピューティング装置は、ファーム状態レプリケータのインスタンスを実行する。ローカルに蓄積されたバージョンのファーム状態をほぼ現状に保つために、ファーム状態レプリケータは、周期的にマスターファーム状態マネージャと連絡を取り、正式なファーム状態をコンピューティング装置のローカルな構成記憶装置にコピーする。
[0009]ローカルな構成記憶装置が更新される間の時間量はファーム管理構成要素の固有の遅延時間に相当する。ファーム管理構成要素によりもたらされるファーム構成装置に対する正式なファーム状態の伝搬に関与した遅延時間があることから、全ファーム状態は、整合が取れなくなる(すなわち、個々のファーム構成装置に知られるファーム状態が、正式なファーム状態および/または他のファーム構成装置に知られているファーム状態と異なりうる)と推定される。遅延時間の段階はなんら構成変更がなくても経過することから、全ファーム状態は、一度各ファーム構成装置が中央構成記憶装置から正式なファーム状態を取得すると、整合が取れてくる(すなわち、外部アプリケーションサーバは、管理者が意図するように動作する)。外部アプリケーションサーバファームが機能し続けるために遅延時間の段階を短くする必要はない。遅延時間の段階が長くなると、すべてのファーム構成装置が管理者の意図したように動作するまでに要求される時間量は単純に増加する。
[0010]外部アプリケーションサーバは、代替可能なサーバ構成要素により高度の対障害性を示す。他の利点の中でも、代替可能なサーバ構成要素は、外部アプリケーションサーバファームが機能を損なうことなく整合が取れていないファーム状態で動作することを可能とする。代替可能なサーバ構成要素の第1の態様は、所期の役割の構成要素である。ファームの構成装置および各ファーム構成装置の役割は、ファーム構成の中で指定される、しかしながら、外部アプリケーションサーバの役割は、構成装置の機能を制限することなく当該特定構成装置の主眼を示す役割が意図されている。代替可能なサーバ構成要素は、すべてのファーム構成装置にすべてのエージェント、あるいは少なくとも外部アプリケーションサーバの機能に対して指定されたすべてのエージェントを、常時実行することを要求する。従って、各構成装置は、通常外部アプリケーションサーバにより取り扱われる任意の動作を遂行する能力がある。さらに、各ファーム構成装置は、当該構成装置に割り当てられた所期の役割に関わりなく要求された任意の動作を遂行することになる。
[0011]代替可能なサーバ構成要素の第2の態様は、フォールバック運転構成要素である。外部アプリケーションサーバは、外部の情報源から要求を受信し、かつ、これらの要求は外部アプリケーションサーバの構成に基づきファーム構成装置に配送される。さらに、ファーム内部の要求も、ファーム構成装置間でなされうる。ファーム構成装置に対して要求が作られたが、外部アプリケーションサーバ制御できる範囲内で何らかの理由により当該要求が満足されない場合、要求が満足されるまで、要求元を含む、他のファーム構成装置に対して当該要求が、作成されることになる。フォールバック運転構成要素は、ファーム状態の構成上の問題に対する外部アプリケーションサーバファームの応答を取り扱う。設定が管理者によって解決できないほどに誤って構成されている、または外部アプリケーションサーバにより理解されない場合、外部アプリケーションサーバは、状況に応じて、設定のデフォルト値に復帰する、または設定を無視する。
[0012]所期の役割の構成要素およびフォールバック運転構成要素の組み合わせにより、代替可能なサーバシステムは、外部アプリケーションサーバを個別のファーム構成装置の故障または動作しないことについて極めてフォールトトレラントなものとする。所期の役割のサブシステムおよびフォールバック運転サブシステムは、外部アプリケーションサーバに対してなされるすべての要求がなんら機能の外見的に明らかな(すなわち、利用者に対して明らかになる)損失なしに取り扱われることを保証する。
[0013]正常性監視構成要素は、各ファーム構成装置および各構成装置上で実行される様々なエージェントの正常性を監視する。各ファーム構成装置は、複数の動作監視エージェントおよび正常性評価エージェントを実行する。各動作監視エージェントは、ファーム構成装置上で実行される動作監視対象エージェントの状態を監視する役を果たす。監視されている動作監視対象エージェントに問題がある場合、担当の動作監視エージェントは適切な処置を取ることになる。様々な実施形態では、適切な処置には、実行していない関連した動作監視対象エージェントの再起動を試みること、および正常性評価エージェントに関連した動作監視対象エージェントの問題を報告することが含まれるが、これらに限定されない。正常性評価エージェントは、ファーム構成装置が正常であるか否かを動作監視エージェントからの報告に基づき決定し、かつマスターファーム状態マネージャに正常性判定結果(すなわち、構成装置正常性報告)を報告する。次いで、マスターファーム状態マネージャは、各構成装置正常性報告をファーム状態の一部として記録する。
[0014]本開示のより詳細、態様および利点は、詳細をより明確に示すために要素が原寸通りでなく、同一の参照番号が複数の図を通して同一の要素を示す、以下の詳細な説明、添付の特許請求の範囲、および添付の図面を参照することによってより良く理解されることになる。
[0015]ホスト非依存型文書アクセスシステムの一実施形態を用いた企業ネットワークのブロック図を示す図である。 [0016]外部アプリケーションサーバの構造の一実施形態のブロック図を示す図である。 [0017]フォールトトレラントファーム(FTF)システムの構成要素の一実施形態を示す外部アプリケーションサーバのブロック図を示す図である。 [0018]本発明の実施形態が実践されうるコンピューティング装置の簡単化したブロック図である。 [0019]本発明が実践されうる実施形態を備えた移動体コンピューティング装置の簡単化されたブロック図である。 本発明が実践されうる実施形態を備えた移動体コンピューティング装置の簡単化されたブロック図である。 [0020]本発明が実践されうる実施形態の分散型コンピューティングシステムの簡単化されたブロック図である。
[0021]フォールトトレラント外部アプリケーションサーバが本明細書で説明され、添付の図面に例示されている。外部アプリケーションサーバは、クライアントコンピューティング装置の利用者がホストと通信する一般的なクライアントアプリケーションを介してネットワーク上のファイルを操作することを可能とするweb対応システムである。ホストは機能の仲介をし、かつ外部アプリケーションサーバとの対話のためのプラットホームを提供する。外部アプリケーションサーバは、サーバファームとして実装される。フォールトトレラントファームシステムは、外部アプリケーションサーバファームがオンザフライ構成を提供して、実時間状態管理データベースを要求することなく全機能を維持することを可能とするために潜在的なファーム構成装置間構成の複製、相互交換可能なファーム構成装置、および任意選択の正常性監視を組み合わせる。
[0022]図1は、1つまたは複数のホスト102および1つまたは複数の外部アプリケーションサーバ104を含む例示的企業ネットワーク100の一実施形態を例示する。利用者106は、クライアントコンピューティング装置110からwebブラウザ108を用いてホスト102にアクセスする。ホスト102は、最も典型的には、文書記憶システム126中に文書を記憶し、かつ利用者106に対する許可を管理するコンテンツサーバである。一般的に、ホスト102は、ホスト102の通常機能を取り扱うホスト−利用者インタフェース114を提供するホストアプリケーション112を実行する。少なくとも幾つかのホスト102の通常の機能は、コンテンツ記憶装置126内に保管され、かつ支援アプリケーションを用いて参照され、かつ/または編集されることが意図された記録文書116へのアクセスを利用者106に提供することになる。ホスト102はまた、外部アプリケーションサーバ104のサービスを利用者106が利用可能とするための一般的なプラットホームを提供する。外部アプリケーションサーバ104は、利用者106がホストを通じて利用可能な文書と対話するブラウザを使ったwebアプリケーションを提供する。オープンプラットホームインタフェースは、ホスト102と外部アプリケーションサーバ104間の文書操作を定義しかつ指示する。ホスト102はまた、外部アプリケーションサーバ104からの通信を受信するエンドポイント120を実装する。ホスト102は、外部アプリケーションサーバ104のサービスに関わるシナリオを始動するが、ホスト102は、外部アプリケーションサーバ104を呼び出すことはない。その代わりに、外部アプリケーションサーバ104は、コールバックを用いてサポートしている文書形式を操作するためにサポートしている機能を公開する。
[0023]外部アプリケーションサーバ104は、特定の文書形式を操作するために必要となる適切なアプリケーションをローカルにインストールすることを要求することなくネットワークを通じてクライアントコンピューティング装置110からコンテンツ(すなわち、ファイルまたは文書)へアクセスし、参照し、編集し、かつ任意選択で他の操作を遂行し、さらに、フォルダー(すなわち、ディレクトリ)管理を遂行することを利用者106に可能とする1つまたは複数のwebに基づくサービスアプリケーション118を実行する。外部アプリケーションサーバ104の操作および出力は、外部アプリケーションサーバ104の機能を呼び出すホスト102にとって特殊なものではない。各サービスアプリケーション118は一般的に、外部アプリケーションサーバ104上のサービスとして実行される。外部アプリケーションサーバ104は、ホスト102と統合するためにオープンプラットホームインタフェースおよび一連のオープンプラットホームインタフェース規約を使用する。外部アプリケーションサーバ104は、選択されたファイル形式の文書を操作するために必要な動作および機能を提供する。外部アプリケーションサーバ104は、ホスト非依存である。言い換えれば、外部アプリケーションサーバ104の動作および/または出力は、外部アプリケーションサーバ104のサービスにアクセスを容易にするホスト102にとって特別なものではない。様々な文書形式を取り扱うためのサービスアプリケーション118の例は、ワードプロッサ文書、表計算、プレゼンテーション、およびノートを操作するための標準的な(すなわち、ローカルにインストールされている)アプリケーションに対するオンラインの(すなわち、webに基づく)相手方を含んでいる。
[0024]各サービスアプリケーション118により提供される動作は、通常選択されたファイル形式に特化されているか、またはフォルダー管理に関連している。外部アプリケーションサーバ104により提供される核となる動作は、文書を参照することおよび編集することである。様々な実施形態において、サービスアプリケーション118は、移動体装置上で参照するための文書の書式替え、新規文書の生成、文書の変換、文書の埋め込み、および文書の同報を含むが、これらに限定されない、1つまたは複数の付加的動作を提供する。外部アプリケーションサーバ104の観点からは、同報および埋め込みは、特別の対話型利用者の流れである。同報の場合には、外部アプリケーションサーバ104は、文書を複数のクライアントコンピューティング装置110上に表示し、かつ、一実施形態では、各複数のクライアントコンピューティング装置で参照されている現在のページを追跡する。ホスト102は、文書のアップロード、同報の始動、およびリッチクライアント・エントリポイントを管理する。同報動作の別な実施形態では、ページ追跡は、ホスト102により取り扱われる。
[0025]各サービスアプリケーション118にサポートされている動作は、1つまたは複数のサービスアプリケーションエントリURLを通じてアクセスされる。各サービスアプリケーションエントリURLは、特定の文書形式についての特定の動作のための外部アプリケーションサーバ104に対するエントリポイントの役を果たす。一般的に、各サービスアプリケーションエントリURLは、外部アプリケーションサーバ104のアドレスを含み、かつ、タスク(例えば、表計算アプリケーションを使用した埋め込み型編集)および要求されたタスクを完遂するために要求されたデータ、すなわち文書およびアクセス権限を与えるアクセストークン用のメタデータURLの両者を特定する。
[0026]利用者106が、文書に対する動作を選択した場合、ホスト102は、利用者に選択された文書に対する当該動作のためのサービスアプリケーションエントリURLを生成する。より詳細には、外部アプリケーションホストページ122は、サービスアプリケーション118に使用されるURLパラメータを生成する。外部アプリケーションホストページ122により生成されたパラメータは、アクセストークンおよびソースURLを含むが、これらに限定されない。ソースURLは、サービスアプリケーション118が、ホストエンドポイント120および文書にアクセスするために使用するURLである。アクセストークンは、ホストエンドポイント120が利用者106を認証し、かつ文書および/またはサービスアプリケーション118へのアクセス権を与える利用者/オブジェクト対に対して固有となるトークンである。様々な実施形態において、アクセストークンは、利用者識別子、時刻スタンプ、および文書識別子の内の1つまたは複数のハッシュに基づき計算され、かつ、ホスト102に知られている(例えば、ホストの構成データベース中に記憶されている)秘密により暗号化される。
[0027]サービスアプリケーションエントリポイントは、ホスト102により提供されたラッパーを通じて取り扱われる。ホスト102により提供されたラッパーは、外部アプリケーションサーバ104の出力を表示し、かつ、クライアントコンピューティング装置110からの入力を利用者106がサービスアプリケーション118により提供される機能を利用して文書を操作することを可能とする枠組みまたは環境である。一実施形態では、ラッパーは、外部アプリケーションホストページ122および/またはアプリケーションフレーム124を含む。例として、ホスト102により生成された外部アプリケーションホストページ122の一実施形態では、エッジ・ツゥ・エッジ・レイアウトを持つインラインフレーム(iFrame)などのwebページコンテナ中にアプリケーションサーバ104により生成されたすべてのサービスアプリケーションページに対応する単一のページである。外部アプリケーションホストページ122は、それ自身の利用者インタフェースを持たない。外部アプリケーションホストページ122の別の実装では、利用者インタフェースが含むか、または上記に説明したものに対する他のwebページコンテナおよびレイアウトの代わりをなしうる。
[0028]外部アプリケーションサーバ104は、様々な文書形式にアクセス、編集、参照およびその他の方法で処理または操作するために必要な機能を提供する。説明した実施形態では、外部アプリケーションサーバ104は、ネットワークへのアクセス、利用者認証、ファイル記憶、ネットワークおよびファイルのセキュリティ、ならびに通常ネットワーク内の他のサーバにより取り扱われ、かつしばしば個々の企業にとって特有の他の管理業務に関連した複雑性およびオーバヘッドを含んでいない。そのような特徴を省略し、かつオープンプラットホームインタフェースを通じて文書操作を取り扱う上での外部アプリケーションサーバ104に焦点を絞ることで、外部アプリケーションサーバ104が幅広い企業ネットワークのシナリオの中で使用されることを可能とする。外部アプリケーションサーバ104が本明細書に記載されたように実行されかつ通常は企業ネットワーク上の他のサーバにより取り扱われるさらなる役割および責任を仮定することが本発明の範囲および趣旨内に留まることを理解されたい。
[0029]ホストは、webブラウザなど一般的なクライアントアプリケーションを使用してネットワーク上にアクセスする能力のあるオンラインサーバアプリケーションである。外部アプリケーションサーバ104により提供されるサービスは、ホストにより実行され、クライアントコンピューティング装置に利用可能となる。外部アプリケーションサーバ104に接続されると、ホストは、外部アプリケーションサーバ104によりサポートされているサービスアプリケーションおよび機能を知ることになる。オープンプラットホームインタフェースは、双方向拡張可能であり、かつクロスバージョンのインタフェース通信のサポートを提供する。オープンプラットホームインタフェースの基本的データ送信機構は、クロスプラットフォーム通信を容易にする。様々な実施形態において、基本的なデータは、Java(登録商標)script Object Notation(JSON)の本文中で転送されるが、他の人間および/または機械読み取り可能なデータの交換フォーマットが、本発明の範囲および趣旨内に留まることを理解されたい。オープンプラットホームインタフェースはまた、Windows(登録商標) Communication Foundation(WCF)などのいくつかのアプリケーションプログラミングインタフェースで使用されている「あなたが期待していなかったものを無視せよ」および「あなたが期待していたが得られなかったデータに対してデフォルト値を使用せよ」というサービス指向型アーキテクチャ原理に従う。オープンプラットホームインタフェースで使用される「デフォルト値は受け入れ可能な振る舞いをもたらさなければならない」ことの意味は、高度なクロスバージョンの世界における機能の維持に役立つ。
[0030]図2は、複数サーバのファームとして実装された外部アプリケーションサーバ104のトポロジの一実施形態を例示する。外部アプリケーションサーバ104にとって複数のサーバを含む必要はない。外部アプリケーションサーバ104の一実施形態は、単一サーバ「ファーム」として効果的に動作する、単一のコンピューティング装置を使用して実装される。一実施形態では、外部アプリケーションサーバファーム200の各構成装置202、204a、204b、204cは、フロントエンドサーバ202またはバックエンドサーバ204a、204b、204cとして役割を与えられている。フロントエンドサーバ202は、選択された文書形式に関連したバックエンドサーバ204a、204b、204cに文書取り扱い要求を経路付けする役を果たす。2つ以上のフロントエンドサーバ202が使用される場合、性能の改善は、フロントエンドサーバ202間のトラフィックを分散させるために任意選択の負荷分散装置206を使用することによって達成される。バックエンドサーバ204a、204b、204cは、サポートされた文書に対する文書処理サービスを提供する。図示された実施形態では、各バックエンドサーバ204a、204b、204cは、個別の文書形式に対する文書処理サービスを提供する。
[0031]図示された実施形態では、外部アプリケーションサーバ104のファーム状態208は、中央構成記憶装置210内に格納された1つまたは複数のファイル中に記憶される。ファーム状態208中に格納された情報は、以下の項目:ファームトポロジー(すなわち、ファームの構成装置の識別情報)、ファーム構成装置の役割、ファーム構成装置に対する構成設定、外部アプリケーションサーバ構成設定、サービスアプリケーション構成設定、およびファーム構成装置正常性の内の1つまたは複数を含むが、それらに限定されない。各ファーム構成装置202、204a、204b、204cは、中央構成記憶装置210へのアクセスを読み取らなければならない。図示された実施形態では、中央構成記憶装置210は、外部アプリケーションサーバを作り上げている各コンピューティング装置により読み取り可能な共用フォルダーである。様々な実施形態において、ファーム状態208を記憶しているファイルは、機械読み込み可能であり、かつ任意選択で人間が読み込み可能である。
[0032]外部アプリケーションサーバ104は、標準的ネットワーク資源のアドレス指定方式を通じてアクセス可能である。適切なネットワークアドレス指定方式は、汎用命名規則(UNC)のパス、ドライブマッピング、およびユニフォーム・リソース・ネーム(URN)およびユニフォーム・リソース・ロケータ(URL)などのユニフォーム・リソース・アイデンティファイア(URI)を含むが、これらに限定されない。外部から見えるアドレスは、インターネットまたはイントラネットいずれにも向かっており、かつ一般にURLを使用してアクセスされる。構成フォルダーのパスなどの、外部アプリケーションサーバ104の内部アドレスは、一般にUNCパスを使用してアクセスされる。
[0033]一実施形態では、ファーム内部の通信は、ファームの構成装置のみがキャッシュおよびバックエンドサーバに対して要求を作成することを確実にするように保証される。このことは、要求している機械の身元を検査することにより達成される。ファーム内部の通信は、セキュリティを高めるために任意選択で暗号化される。
[0034]図3は、フォールトトレラントファーム(FTF)システム300の一実施形態を持つ外部アプリケーションサーバファーム200を例示する。外部アプリケーションサーバファーム200は、FTFシステム300の結果として低い管理負担、最小限の支援ソフトウェアの要求条件、ならびに優れた堅牢性、信頼性、およびスケーラビリティを達成する。FTFシステム300の主要な構成要素は、ファーム管理構成要素302、代替可能なサーバ構成要素304、および正常性監視構成要素306を含む。一般に、FTFシステム300は、状態管理データベースのコストおよび複雑性なしに、外部アプリケーションサーバファーム200の現在の状態を記述するファーム状態208を管理する。このことを達成するために、FTFシステム300は、外部アプリケーションサーバファーム200の各構成装置上で実行される様々なエージェントを含む。エージェントは、エージェントを実行するファーム構成装置に対して個別に機能部品を提供するシステムサービスである。例示された実施形態では、外部アプリケーションサーバファーム200は、可変なファーム構成装置308a〜308nの組を示している。
[0035]ファーム管理構成要素302は、ファーム状態マネージャ310a、310bおよびファーム状態レプリケータ312を含む。ファーム管理構成要素302の主たる機能は、ファーム状態の構成変更管理すること、およびファーム構成装置308a〜308nにファーム状態を配布することである。
[0036]ファーム状態マネージャ310a、310bは、各ファーム構成装置308a〜308n上で実行されるエージェントである。各ファーム構成装置308a〜308nは、ファーム状態マネージャ310a、310bを実行するが、1つのファーム状態マネージャのインスタンスのみが、所与の時点でマスターファーム状態マネージャ310aとして指定される。マスターと指定されていない(すなわち、2次インスタンス)ファーム状態マネージャ310bのいずれのインスタンスも、通常実行され続けるが責任は持ってない(すなわち、それらは何も行わない)。別の実施形態では、ファーム状態マネージャ310bの2次インスタンスは、マスターファーム状態マネージャ310aが発見されている時には停止され、かつマスターファーム状態マネージャ310aが利用可能ではない場合または管理者の手動で要求された時にのみ起動される。
[0037]マスターファーム状態マネージャ310aは、外部アプリケーションサーバファーム200全体についてのファーム状態208の「正式な」(すなわち、真の)バージョンを維持する。FTFシステム300は、中央構成記憶装置210中に正式なファーム状態208を記憶する。各ファーム構成装置は、ローカルな構成記憶装置314中にファーム状態のローカルコピーを蓄積する。
[0038]マスターファーム状態マネージャ310aは、任意のファーム構成装置からなされた構成変更を受け入れ、かつ中央構成記憶装置210中の構成状態の正式なバージョンを更新する。複数の構成変更が同時に試みられた場合に発生する競合を防止するために、マスターファーム状態は中央構成記憶装置210へのアクセス制御を行使する。一実施形態では、マスターファーム状態マネージャ310aは、中央構成記憶装置210中の構成ファイルへ構成状態変更を書き込み、かつ、構成変更が受信された時に、構成ファイルをロックすることにより競合を制御する。一実施形態では、中央構成記憶装置210は、マスターファーム状態マネージャ310aが実行されているファーム構成装置上のローカル構成記憶装置314である。マスターファーム状態マネージャ310aはまた、任意のファーム構成装置308a〜308nからファーム状態の現状のコピーについての要求を受け付ける。いくつかの実施形態では、マスターファーム状態マネージャ310aは、選択されたファーム構成装置および/または外部アプリケーションサーバファーム200の構成装置ではない選択されたコンピューティング装置からの構成変更および要求のみを受け付ける。
[0039]FTFシステム300は、動作中のマスターファーム状態マネージャ310aが故障した場合でも外部アプリケーションサーバファーム200が機能し続けることを可能とする。その場合には、管理者は、手動で別のファーム状態マネージャ310bをマスターに指定する。FTFシステム300によりファーム状態が流動的に取り扱われる設計の結果、別のファーム状態マネージャ310bを昇格させる必要はない。新しいマスターファーム状態マネージャ310aが特定されるまで、ファーム状態マネージャ310bの各個別のインスタンスは、その特定のコンピューティング装置のローカル構成記憶装置314中に蓄積された最後に知らされたファーム状態を使用して独立に動作し続ける。別な実施形態では、外部アプリケーションサーバは、別のファーム状態マネージャを自動的にマスターに昇格させる。様々な実施形態において、ファーム状態マネージャのあるインスタンスを自動的に昇格させる自動決定は、完全に任意である、または選択基準(例えば、コンピューティング装置の役割、負荷、および/または資源および/または最後のファーム状態複写操作の時刻を考慮すること)に基づいている。
[0040]ファーム状態レプリケータ312は、各ファーム構成装置308a〜308nがファーム状態の正式なバージョンのほぼ現状のコピーを有していることを確実にするエージェントである。各コンピューティング装置は、ファーム状態レプリケータ312のインスタンスを実行するが、ファーム状態マネージャと異なり、マスターファーム状態レプリケータというものはない。ファーム状態のローカルに蓄積したバージョンをほぼ現状のものとするために、ファーム状態レプリケータ312は、周期的にマスターファーム状態マネージャ310aに接続し、かつ当該コンピューティング装置のローカル構成記憶装置314に正式なファーム状態を複写する。一実施形態では、ファーム状態レプリケータ312は、スケジュールに従い(例えば、30秒毎)ファーム構成装置のローカルなファーム状態を更新する。いくつかの実施形態では、各個別のファーム状態レプリケータ312は、独立したスケジュールで動作する。他の実施形態では、各個別のファーム状態レプリケータ312は、マスター時計に基づく共通スケジュール(例えば、同期が取られた時計の毎分の開始時に)に従い動作する。ある実施形態では、ファーム状態レプリケータ312は、ある事象または他の類似の引き金に応答してローカルな構成状態を更新する。
[0041]ローカル構成記憶装置に対する更新間の時間量は、ファーム管理構成要素302内の固有の遅延時間を表す。ファーム管理構成要素302により導かれるファーム構成装置308a〜308nへの正式なファーム状態の伝搬には遅延時間があるために、全ファーム状態は、首尾一貫しなくなる(すなわち、個々のファーム構成装置に知られたファーム状態は、正式なファーム状態および/または他のファーム構成装置に知られているファーム状態と異なりうる)と推定される。遅延時間の段階は何らの構成変更がなくとも経過するので、ファーム状態全体は、一度各ファーム構成装置308a〜308nが中央構成記憶装置210から正式なファーム状態を入手すると整合が取れてくる(すなわち、外部アプリケーションサーバは、管理者の意図通りに動作する)。遅延時間の段階が機能し続けるために外部アプリケーションサーバファーム200にとって短いことは必要ではない。延長された遅延時間の段階は、すべてのファーム構成装置が管理者の意図しているように動作するまでに必要とされる時間量を単に増加させる。
[0042]外部アプリケーションサーバ104は、代替可能なサーバ構成要素304により高度な耐障害性を示す。他の利点の中で、代替可能なサーバ構成要素304は、外部アプリケーションサーバファーム200が機能を損なうことなく首尾一貫しないファーム状態で動作することを可能とする。代替可能なサーバ構成要素304の第1の態様は、所期の役割の構成要素である。ファームの構成装置および各ファーム構成装置308a〜308nの役割は、ファーム構成の中で特定される、しかしながら、外部アプリケーションサーバの役割は、通常のサーバで一般に使用される厳密な役割ではなく所期の役割である。厳密な役割は、特定のサーバ上で実行されるサービスを定義する。サーバに厳密な役割を割り当てることは、サーバの処理能力を最適化する、または特定のサーバにより操作される機能を当該サーバの資源に適合させるためにしばしば行われる。対照的に、所期の役割は、構成装置の機能を規制することなく当該特定の構成装置の主眼を記述する。所期の役割は、構成装置の機能に直接的に強い影響を与えることはないが、所期の役割の使用は、ファーム構成装置間の負荷分散の結果としての性能改善などの、別な利点を与える。
[0043]代替可能なサーバ構成要素304は、常時、すべてのファーム構成装置308a〜308nにすべてのエージェントを実行する、または少なくとも外部アプリケーションサーバ104の機能に特化したすべてのエージェントを実行することを要求する。このことは、ファーム管理エージェント(例えば、ファーム状態マネージャ310およびファーム状態レプリケータ312)、文書操作エージェント316a〜316d(例えば、ワードプロッシングビューワー・エージェント、表計算編集エージェント、およびプレゼンテーション同報エージェント)、および監視エージェント(例えば、動作監視エージェントおよび正常性評価エージェント)を含むが、それらに限定されない。従って、各構成装置は、外部アプリケーションサーバにより通常取り扱われる任意の動作を実行する能力がある。さらに、各ファーム構成装置308a〜308nは、当該構成装置に割り当てられた所期の役割に拘わらず要求された任意の動作を実行することになる。言い換えれば、外部アプリケーションサーバファーム200の構成装置は、代替可能である。要求者に知られているファーム状態が期限切れであることから要求が誤ったファーム構成装置308a〜308nに送られたとしても、その「誤った」構成装置は、要求を取り扱うことになる。
[0044]代替可能なサーバ構成装置304の第2の態様は、フォールバック運転構成要素である。外部アプリケーションサーバ104は、外部の情報源から要求を受信し、かつこれらの要求は、外部アプリケーションサーバの構成に基づきファーム構成装置に配送される。付加的に、ファーム内部での要求が、ファーム構成装置308a〜308n間でなされうる。要求がファーム構成装置に対してなされたが、要求が外部アプリケーションサーバの制御範囲内で何らかの理由により満たされない場合、要求は、要求が満たされるまで、要求元を含む他のファーム構成装置に対してなされる。極端な場合、代替可能なサーバシステムは、構成装置(すなわち、要求者)が自身の要求を取り扱うことを可能とする。フォールバック運転構成要素は、ファーム状態における構成問題に対する外部アプリケーションサーバファーム200の応答を取り扱う。設定が解決できないほどに管理者によって誤構成されているか、または外部アプリケーションサーバ104に理解できない場合、外部アプリケーションサーバ104は、状況に応じて、設定に対するデフォルト値に復帰させる、または設定を無視する。
[0045]所期の役割の構成要素およびフォールバック運転構成要素の組み合わせにより、代替可能なサーバシステムは、外部アプリケーションサーバを個別のファーム構成装置の故障または他の動作不良について極めてフォールトトレラントなものにする。所期の役割のサブシステムおよびフォールバック運転サブシステムは、外部アプリケーションサーバによってなされたすべての要求がなんら外見上明らかな(すなわち、利用者に対して明らかな)機能の損失なく取り扱われることを保証する。
[0046]正常性監視構成要素306は、各ファーム構成装置の正常性および各構成装置上で実行される様々なエージェントを監視する。各ファーム構成装置は、複数の動作監視エージェント318a〜318fおよび正常性評価エージェント320を実行する。各動作監視エージェント318a〜318fは、ファーム構成装置308a〜308n上で実行される動作監視対象エージェント(例えば、ファーム管理エージェント310a、310b、312および文書処理エージェント316a〜316d)の状態を監視する役を果たす。一実施形態では、各動作監視エージェントは、動作監視対象エージェントの1つと一意的に対となっている(すなわち、付随している)。監視している動作監視対象エージェントに問題がある場合、担当の動作監視エージェントは、適切な処置を取ることになる。様々な実施形態において、適切な処置は、実行していない関連した動作監視対象エージェントの再起動を試みること、および正常性評価エージェント320に関連した動作監視対象エージェントについての問題を報告することを含むが、それらに限定されない。いくつかの実施形態では、動作監視エージェントは、関連した動作監視対象エージェントについての問題を直接マスターファーム状態マネージャ310aに報告することになる。他の実施形態では、担当の動作監視エージェントは、問題が検出されるか否かに拘わらず関連した動作監視対象エージェントの状態を周期的に報告する。
[0047]正常性評価エージェント320は、動作監視エージェントからの報告に基づきファーム構成装置が正常であるか否かを決定し、かつ正常性判定結果(すなわち、構成装置正常性報告)をマスターファーム状態マネージャ310aに報告する。次に、マスターファーム状態マネージャ310aは、ファーム状態の一部として報告された各構成装置正常性報告を記録する。一実施形態では、ファーム構成装置は、当該構成装置上のすべてのエージェントが正しく実行されている場合に、正常と看做される。別な実施形態では、ファーム構成装置は、外部アプリケーションサーバの機能に特有のすべてのエージェントが正しく実行されている場合に、正常と看做される。さらに他の実施形態では、ファーム構成装置は、当該構成装置上の選択されたエージェントが正しく実行されている場合に、正常と看做される。様々な実施形態において、正常性評価エージェント320は、ファーム構成装置が正常であるか否かを判定する時、動作監視エージェントを含む。このような実施形態では、正常性評価エージェント320は、ファーム構成装置上で実行される動作監視エージェントを認識しており、かつ当該動作監視エージェントが報告を作成しない場合動作監視エージェントが故障していると判定する。一実施形態では、正常性評価エージェント320は、ファーム構成装置が正常でない場合にのみマスターファーム状態マネージャ310aに報告する。
[0048]信頼性の利点は別として、FTFシステム300は、外部アプリケーションサーバファーム200の管理者に別の利点を提供する。第1に、各ファーム構成装置からファーム状態の正常性報告を集めることにより、ファームの正常性を点検するために見なければならない場所が1箇所になることから、管理負担が単純化される。各ファーム構成装置の正常性を個別に点検する必要がない。第2に、集められた正常性データは、独自の監視ツールにより容易に監視される。例えば、正常性データは、イベントログまたは独自の監視ツール(例えば、総合的な企業またはネットワーク監視システム)に組み込まれ、かつ警報が、問題発生時に外部アプリケーションサーバ管理者に送信されうる。第3に、ファーム状態がすべてのファーム構成装置により蓄積されていることから、正式なファーム状態の真のコピーまたは、少なくともほぼ最新のコピーが、中央構成記憶装置が故障した場合にさえ利用可能である。このことは、障害の原因を調査する場合に有用となりうる価値ある正常性データを含んでいる。
[0049]FTFシステム300は、高度に制御された状態管理システムにより提供されるいくつかの効率性を活用することにより低コストで、管理が容易なシステムにおいて堅牢な耐障害性を提供する。FTFシステム300により引き起こされた遅延時間の結果であっても、ファーム構成装置故障の結果としてであっても、ファーム状態が不整合になった場合、負荷分散の欠如または複数のフォールバック要求を行わなければならないことに起因する効率の潜在的な損失を伴うとしても、外部アプリケーションシステムは、動作を継続する。マスターファーム状態マネージャ310aが1つも利用可能ではないという極端な場合には、FTFシステム300は、各構成装置が構成装置のローカル構成記憶装置内に蓄積されたファーム状態に基づき自動的に動作しながら、外部アプリケーションサーバが機能し続ける(がおそらく非効率)ことを可能とする。ファーム状態の整合が取れてくると、外部アプリケーションサーバファーム200は、落ち着いてきて、管理者により意図されたように動作する。
[0050]本明細書で説明した実施形態および機能は、ホスト102および外部アプリケーションサーバ104、などの多数のコンピューティングシステム、と有線および無線コンピューティングシステム、移動体コンピューティングシステム(例えば、携帯電話、タブレットまたは石板状コンピュータ、ラップトップコンピュータ、など)を含む、図1を参照して上記に説明したクライアント装置110により動作することができる。さらに、本明細書で説明した実施形態および機能は、アプリケーション機能、メモリ、データ記憶装置、と検索および様々な処理機能が、インターネットまたはイントラネットなどの分散型コンピューティングネットワーク上で互いに遠隔で運転されうる、分散型システム(例えば、クラウド型コンピューティングシステム)上で動作することができる。様々な形式の利用者インタフェースおよび情報が、内蔵のコンピューティング装置ディスプレイにより、または1つまたは複数のコンピューティング装置に付随した遠隔ディスプレイ装置により表示されうる。例えば、様々な形式の利用者インタフェースおよび情報は、様々な形式の利用者インタフェースおよび情報が投影された壁面上に表示されかつ対話されうる。本発明の実施形態が実践されうる多数のコンピューティングシステムとの対話は、キー入力、タッチスクリーン入力、音声または他の可聴音入力、関連したコンピューティング装置がコンピューティング装置の機能を制御するために利用者のジェスチャーを補足しかつ解釈するための検出器(例えば、カメラ)機能を装着しているジェスチャー入力、などを含む。図4から図6および関連した説明は、本発明の実施形態が実践されうる様々な動作環境についての考察を提供する。しかしながら、図4から図6に関して例示されかつ説明された装置およびシステムは、例および例示を目的としているもので、本明細書で説明した、本発明の実施形態を実践するために利用されうる膨大な数のコンピューティング装置構成を限定するものではない。
[0051]図4は、本発明の実施形態が実践されうる例示的コンピューティング装置400の物理的な構成要素の例を示すブロック図である。以下に説明されるコンピューティング装置構成要素は、上記に説明されたコンピューティング装置、例えば、ホスト102、外部アプリケーションサーバ104、およびクライアントコンピューティング装置110に適しうる。基本的な構成において、コンピューティング装置400は、少なくとも1つの処理装置402およびシステムメモリ404を含む。コンピューティング装置の構成および形式に応じて、システムメモリ404は、揮発性の(例えば、ランダムアクセスメモリ(RAM))、不揮発性の(例えば、読み出し専用メモリ(ROM))、フラッシュメモリ、または任意の組み合わせを備えるが、それらに限定されない。システムメモリ404は、オペレーティングシステム405、クライアントアプリケーション(例えば、利用者エージェント/webブラウザ108)またはサーバアプリケーション(例えば、ホストアプリケーション112またはサービスアプリケーション118)などのアプリケーション420を実行することに適している、1つまたは複数のプログラムモジュール406を含む。オペレーティングシステム405は、例えば、コンピューティング装置400の動作を制御することに適しうる。さらに、本発明の実施形態は、画像ライブラリ、他のオペレーティングシステム、または任意の他のアプリケーションプログラムと共に実践され得て、かつ何らの特定のアプリケーションまたはシステムに限定されない。この基本的構成は、点線408の範囲内のこれらの構成要素により図4内に例示されている。
[0052]コンピューティング装置400は、別の特徴または機能を持つことができる。例えば、コンピューティング装置400はまた、例えば、磁気ディスク、光ディスク、またはテープなどの付加的なデータ記憶装置(可換型および/または非可換型)を含むことができる。このような付加的な記憶装置は、可換型記憶装置409および非可換型記憶装置410により図4中に例示されている。
[0053]上記に述べたように、いくつかのプログラムモジュールおよびデータファイルは、オペレーティングシステム405を含め、システムメモリ404中に記憶されうる。処理装置402上で実行されるが、プログラムモジュール406は、例えば、フォールトトレラントファームシステム300の方法の段階の1つまたは複数を含む処理を遂行することができる。前述の処理は、ある例であり、処理装置402は、他の処理を遂行することができる。本発明の実施形態に従って使用されうる他のプログラムモジュールは、電子メールおよび連絡先アプリケーション、ワードプロセッシングアプリケーション、表計算アプリケーション、データベースアプリケーション、スライド表示アプリケーション、描画またはコンピュータ支援アプリケーション、などを含むことができる。
[0054]一般に、本発明の実施形態に合致する形で、プログラムモジュールは、ルーチン、プログラム、構成要素、データ構造、および特定の業務を遂行することができる、または特定の抽象データ形式を実装できる他の形式の構造を含むことができる。さらに、本発明の実施形態は、携帯装置、マルチプロセッサシステム、マイクロプロセッサ型、またはプログラム可能な家電機器、ミニコンピュータ、メインフレームコンピュータ、などを含むその他のコンピュータシステム構成で実践されうる。本発明の実施形態はまた、通信ネットワークを通じて結合されている遠隔処理装置により業務が実行される分散コンピューティング環境においても実践されうる。分散コンピューティング環境において、プログラムモジュールは、ローカルおよび遠隔のメモリ記憶装置の両方の中に置かれうる。
[0055]さらに、本発明の実施形態は、個別電子素子を備えた電子回路、論理ゲートを内蔵したパッケージ化されたまたは集積された電子チップ、マイクロプロセッサを利用した回路、あるいは電子素子またはマイクロプロセッサを内蔵した単一のチップ内に実践されうる。例えば、本発明の実施形態は、図4中に例示された構成要素の各々または多くが単一の集積回路上に集積されうるシステム・オン・チップ(SOC)により実践されうる。このようなSOC装置は、1つまたは複数の処理装置、グラフィック装置、通信装置、システム仮想化装置、および様々なアプリケーション機能が含まれ、それらのすべてが、単一の集積回路としてチップ基板上に集積されて(または「焼かれて」)いる。SOCにより動作する場合、様々なクライアントおよび/またはサーバアプリケーションの機能は、単一集積回路(チップ)上にコンピューティング装置400の他の構成要素と統合されたアプリケーション専用ロジックにより実装されうる。本発明の実施形態はまた、機械的、光型の、流体型の、および量子技術を含むが限定されない、例えば、AND、OR、およびNOTなどの論理動作を実行する能力のある他の技術を用いて実践されうる。加えて、本発明の実施形態は、汎用コンピュータ内で、または任意の他の回路またはシステム内で実践されうる。
[0056]本発明の実施形態は、例えば、コンピュータ処理過程(方法)、コンピューティングシステムとして、またはコンピュータプログラム製品またはコンピュータ可読媒体としてといった、製造業者の製品として実装されうる。コンピュータプログラム製品は、コンピュータシステムにより読み取り可能な、かつコンピュータ処理過程を実行するためにコンピュータプログラムの命令を暗号化しているコンピュータの記憶装置媒体であり得る。
[0057]本明細書で使用される用語、コンピュータ可読媒体は、コンピュータの記憶装置媒体を含むことができる。コンピュータの記憶装置媒体は、コンピュータが読み取り可能な命令、データ構造、プログラムモジュールまたはその他のデータなどの、情報の記憶のために何らかの方法または技術で実装されている揮発性および不揮発性、可換型および非可換型媒体を含むことができる。システムメモリ404、可換型記憶装置409、および非可換型記憶装置410は、すべてコンピュータ記憶装置媒体の例(すなわち、メモリ記憶装置)である。コンピュータ記憶装置媒体は、RAM、ROM、電気的に消去可能な読み出し専用メモリ(EEPROM)、フラッシュメモリまたは他のメモリ技術、CD−ROM、デジタル多目的ディスク(DVD)または他の光記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置、または他の磁気記憶装置、あるいは情報を記憶するために使用されうる、およびコンピューティング装置400によりアクセスされうる任意の他の媒体を含むことができるが、それらに限定されない。任意のこのようなコンピュータ記憶装置もまた、装置400の一部であり得る。コンピューティング装置400はまた、キーボード、マウス、ペン、音響入力装置、タッチ入力装置他などの入力装置412を有することができる。表示装置、スピーカ、印刷装置他などの出力装置414もまた含まれうる。前述の装置は、例であり、他のものも使用されうる。
[0058]本明細書で使用される用語、コンピュータ可読媒体はまた、通信媒体を含む。通信媒体は、コンピュータ読み込み可能な命令、データ構造、プログラムモジュール、または搬送波または他の転送機構などの、変調されたデータ信号中の他のデータにより具現化され得て、かつ、任意の情報配信媒体を含む。用語「変調されたデータ信号」は、1つまたは複数の特性集合を有している、または信号中の情報を符号化するような方法で変更された信号と説明することができる。限定されないが、例として、通信媒体は、有線ネットワークまたは直接有線接続などの有線媒体、および音波、無線周波(RF)、赤外線、およびその他の無線媒体などの無線媒体を含むことができる。コンピューティング装置400は、他のコンピューティング装置418との通信を可能とする通信接続16を含むことができる。適切な通信接続416の例は、RF送信機、受信機、および/または送受信機回路すなわちユニバーサル・シリアル・バス(USB)、パラレルまたはシリアルポート、ならびに対象コンピュータが読み込み可能な媒体と共に使用するために適切なその他の接続を含むが、それらに限定されない。
[0059]図5Aおよび図5B は、本発明の実施形態が実践される、適切な移動体コンピューティング環境、例えば、携帯電話500、スマートフォン、タブレット型パソコン、ラップトップコンピュータ、などを例示している。図5Aを参照すると、実施形態を実装するための例の移動体コンピューティング装置500が例示されている。基本的な構成において、移動体コンピューティング装置500は、入力素子および出力素子の両者を持つ携帯コンピュータである。入力素子は、利用者が移動体コンピューティング装置500に情報を入力することを可能とするタッチスクリーン表示装置505および入力ボタン510を含む。移動体コンピューティング装置500はまた、さらなる利用者入力を可能とする任意選択の側面入力素子515を組み込むことができる。任意選択の側面入力素子515は、回転スイッチ、ボタンまたは任意の他の形式の手動入力素子でありえる。別の実施形態では、移動体コンピューティング装置500は、より多くのまたはより少ない入力素子を組み込むことができる。例えば、表示装置505は、いくつかの実施形態ではタッチスクリーンではないかもしれない。さらに別の実施形態では、移動体コンピューティング装置は、表示装置505および入力ボタン510を有する携帯電話などの携帯電話システムである。移動体コンピューティング装置500はまた、任意選択のキーパッド535を含むことができる。任意選択のキーパッド535は、物理的なキーパッドまたはタッチスクリーン表示装置上に生成される「ソフト」キーパッドでありえる。
[0060]移動体コンピューティング装置500は、グラフィカル・ユーザー・インターフェース(GUI)を表示することができる、表示装置505などの出力素子を組み込んでいる。その他の出力素子は、スピーカ525およびLEDライト520を含む。さらに、移動体コンピューティング装置500は、利用者に事象を通知するために移動体コンピューティング装置に振動を起こさせるバイブレーションモジュール(図示されない)を組み込むことができる。さらに別の実施形態では、移動体コンピューティング装置500は、出力信号を提供する別な手段を提供するためのヘッドホンジャック(図示されない)を組み込むことができる。
[0061]移動体コンピューティング装置500と組み合わせて本明細書では説明されているが、別の実施形態では、本発明は、デスクトップ環境、ラップトップまたはノートブックコンピュータシステム、マイクロプロセッサシステム、マイクロプロセッサ型またはプログラム可能な家電機器、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、などの任意の数のコンピュータシステムと組み合わせて使用される。本発明の実施形態はまた、業務が分散コンピューティング環境内の通信ネットワークを通じて結合されている遠隔処理装置により実行される分散コンピューティング環境の中で実践され得て、プログラムはローカルおよび遠隔のメモリ記憶装置の両方の内に置かれうる。要約すれば、複数の環境センサー、利用者に通知を提供するための複数の出力素子、および複数の通知事象形式有する任意のコンピュータシステムが、本発明の実施形態に組み込まれうる。
[0062]図5B は、図5Aに示されるコンピューティング装置などの、一実施形態の中で使用される移動体コンピューティング装置の構成要素を例示するブロック図である。すなわち、移動体コンピューティング装置500は、ある実施形態を実装するためにシステム502を組み込むことができる。例えば、システム502は、例えば、ブラウザ、Eメール、スケジュール帳、インスタントメッセージング、およびメディアプレーヤアプリケーションなどのデスクトップまたはノートブックコンピュータのアプリケーションに類似した1つまたは複数のアプリケーションを実行することができる「スマートフォン」を実装するために使用されうる。いくつかの実施形態では、システム502は、携帯情報端末(PDA)および無線電信機などのコンピューティング装置として統合される。
[0063]1つまたは複数のアプリケーションプログラム566は、メモリ562に読み込まれ、かつオペレーティングシステム564上でまたは連携して実行されることができる。アプリケーションプログラムの例は、電話のダイアルプログラム、Eメールプログラム、個人情報管理(PIM)プログラム、ワードプロセッシングプログラム、表計算プログラム、インターネットブラウザプログラム、メッセージングプログラム、その他を含む。システム502はまた、メモリ562内に不揮発性記憶装置568を含む。不揮発性記憶装置568は、システム502の電源が落とされた場合に消失されるべきではない永続的情報を記憶するために使用されうる。アプリケーション566は、EメールまたはEメールアプリケーションにより使用される他のメッセージ、などのような情報を不揮発性記憶装置568内で使用しかつ記憶することができる。同期アプリケーション(図示されない)もまた、システム502上に存在し、かつ不揮発性記憶装置568内に記憶された情報をホストコンピュータに記憶されている対応する情報と同期させておくためにホストコンピュータ上に存在する対応した同期アプリケーションと対話するようにプログラムされている。本明細書で説明した様々なクライアントおよびサーバアプリケーションを含む、他のアプリケーションが、メモリ562に読み込まれかつ装置500上で実行できることを理解されたい。
[0064]システム502は、1つまたは複数の電池として実装されうる、電源570を有する。電源570はさらに、ACアダプターまたは電池を補充または再充電する電源格納台などの外部供給電源を含む。
[0065]システム502はまた、無線周波通信を送信および受信する機能を実行する無線装置572を含む。
無線装置572は、通信回線業者またはサービス提供業者を介したシステム502と「外部の世界」間の無線接続を容易にする。無線装置572へのおよびからの送信受信は、オペレーティングシステム564の制御のもとで行われる。言い換えれば、無線装置572により受信された通信は、オペレーティングシステム564を介してアプリケーションプログラム566に伝搬され得て、逆もまた同様である。
[0066]無線装置572は、システム502がネットワーク上でなど、他のコンピューティング装置と通信することを可能とする。無線装置572は、通信媒体の一例である。通信媒体は一般に、搬送波または他の転送機構などの変調されたデータ信号中のコンピュータが読み取り可能な命令、データ構造、プログラムモジュールまたは他のデータにより具現化され、かつ任意の情報配送媒体を含むことができる。用語「変調されたデータ信号」は、その特性集合の1つまたは複数を有する、または信号中の情報を符号化するためのそのような方法により変更された信号を意味する。限定されないが、例として、通信媒体は、有線ネットワークまたは直接有線接続などの有線媒体、と音波、RF、赤外線および他の無線媒体などの無線媒体を含む。本明細書中で使用される用語、コンピュータ可読媒体は、記憶媒体および通信媒体両者を含む。
[0067]システム502のこの実施形態は、2つの形式の通知出力装置すなわち視覚的な通知を提供するために使用されうる発光ダイオード(LED)520および音声通知を提供するためにスピーカ525で使用されうる音声インタフェース574により示される。これらの装置は、プロセッサ560および他の構成要素が電池電力を消費しないように終了されるかも知れないにも拘わらず、起動された時、通知機構により指示された期間オンのままであるように電源570に直接連結されうる。LED520は、利用者が装置の電源オン状態を示すように行動するまで、無期限にオンのままであるようにプログラムされうる。音声インタフェース574は、利用者に可聴信号を提供しかつ利用者から可聴信号を受信するために使用される。例えば、スピーカ525に連結されていることに加え、音声インタフェース574もまた、電話の会話を容易にするためなど、可聴入力を受信するためにマイクロフォンに連結されうる。本発明の実施形態によれば、マイクロフォンはまた、以下に説明されるように、通知の制御を容易にするために音声センサーとして役に立ちうる。システム502はさらに、静止画、動画ストリームなどを記録するために内蔵カメラ530の動作を可能とするビデオインタフェース576を含むことができる。
[0068]システム502を実装している移動体コンピューティング装置は、さらなる特徴または機能を有しうる。例えば、装置はまた、磁気ディスク、光ディスクまたはテープなどの付加的なデータ記憶装置(可換型および/または非可換型)を含むことができる。このような付加的な記憶装置は、図5B中に記憶装置568により示されている。コンピュータ記憶装置媒体は、コンピュータ読み取り可能な命令、データ構造、プログラムモジュールまたは他のデータなどの、情報の記憶のための任意の方法または技術により実装された揮発性および不揮発性、可換型および非可換型媒体含むことができる。
[0069]装置500により生成されたまたは捕捉され、かつシステム502により記憶されたデータ/情報は、上記に説明してように、装置500上にローカルに記憶されうる、または、データは、装置500と装置500に関連した別個のコンピューティング装置、例えば、インターネットなどの分散コンピューティングネットワーク内のサーバコンピュータ間で無線装置572を介してまたは有線接続を介して本装置によりアクセスされうる任意の数の記憶媒体上に記憶されうる。このようなデータ/情報が装置500を介して無線装置572または分散コンピューティングネットワークによりアクセスされうることを理解されたい。同様に、このようなデータ/情報は、電子メールおよび協調的データ/情報共有システムを含む公知のデータ/情報転送および記憶手段に従って記憶および使用のためにコンピューティング装置間で即時に転送されうる。
[0070]図6は、上記に説明したように、ブラウザアプリケーション108、ホストアプリケーション112および/またはサービスアプリケーション118を1つまたは複数のクライアント装置に提供するためのシステムアーキテクチャを例示する。ホストアプリケーション112および/またはサービスアプリケーション118によって開発され、対話されまたは編集されたコンテンツは、異なる通信チャネルまたは他の記憶形式で記憶されうる。例えば、様々な文書は、ディレクトリサービス622、webポータル624、メールボックスサービス626、インスタントメッセージング記憶装置628、およびソーシャルネットワーキングサイト630を使用して記憶されうる。ホストアプリケーション112および/またはサービスアプリケーション118は、本明細書中で説明したように、データの利用を可能とするためにこれらの形式のシステムまたは同様のもののいずれか使用することができる。サーバ620は、クライアントにホストアプリケーション112および/またはサービスアプリケーション118を提供することができる。1つの例として、サーバ620は、web上でホストアプリケーション112および/またはサービスアプリケーション118を提供するwebサーバでありえる。サーバ620は、ネットワーク615を通じてクライアントにweb上でホストアプリケーション112および/またはサービスアプリケーション118を提供することができる。ホストに依存しない文書アクセスシステム100にアクセスすることができるクライアントの例は、任意の汎用目的パソコン110a、タブレットコンピューティング装置110b、および/またはスマートフォンなどの移動体コンピューティング装置110cを含みうるコンピューティング装置400を含む。任意のこれらの装置は、記憶装置616からコンテンツを入手できる。
[0071]本発明の実施形態は、例えば、本発明の実施形態に従った方法、システム、およびコンピュータプログラム製品のブロック図および/または動作例図を参照して上記に説明されている。ブロック中で言及された機能/動作は、いずれの流れ図に示されるような順序を外れうる。例えば、連続して示される2つのブロックは、実際には、ほぼ同時に実行されうる、またはブロックは、関わっている機能/動作に応じてしばしば逆順で実行されうる。
[0072]本発明のいくつかの実施形態を説明してきたが、その他の実施形態が存在しうる。さらに、本発明の実施形態が、メモリおよび他の記憶媒体中に記憶されたデータに関連しているように説明されてきているが、データはまた、ハードディスク、フロッピー(登録商標)ディスク、またはCD−ROMのような2次記憶装置、インターネットからの搬送波、あるいはRAMまたはROMの他の形式などの、他の形式のコンピュータ可読媒体上に記憶または他の形式のコンピュータ可読媒体上から読み出されうる。さらに、開示した方法の段階は、本発明を逸脱することなく、段階の順序替えおよび/または段階の挿入または削除を含む、任意の態様で変更されうる。
[0073]様々な実施形態において、本発明を作り上げるコンピューティング装置間の通信を使用するためのネットワークの形式は、インターネット、イントラネット、ワイドエリアネットワーク(WAN)、ローカルエリアネットワーク(LAN)、および仮想プライベートネットワーク(VPN)を含むが、これらに限定されない。本出願においては、ネットワークは、企業ネットワークおよびクライアントコンピューティング装置が企業ネットワークにアクセスするネットワーク(すなわち、クライアントネットワーク)を含む。一実施形態では、クライアントネットワークは、企業ネットワークの一部である。別な実施形態では、クライアントネットワークは、ゲートウェイ、遠隔アクセスプロトコル、あるいは公衆または私設インターネットアドレスなどの、外部から利用可能なエントリポイントを通じて企業ネットワークにアクセスする個別のネットワークである。
[0074]本出願で提供された1つまたは複数の実施形態の説明および例図は、いかなる形であれ請求項に記載の本発明の範囲を限定または制限することを意図したものではない。本出願中で提供される実施形態、例、および詳細は、所有権を伝え、さらに請求する発明の最良の形態を他社が作成しかつ使用することを可能とするに十分であると考えられる。請求項に係る発明は、本出願中で提供されるいかなる実施形態、例、および詳細に限定されるものと解釈されるべきではない。組み合わせてまたは個別に示されかつ説明されているか否かに拘わらず、様々な特徴(構造的および方法論的両者)は、特定の特徴集合を持つ実施形態を生成するために選択的に含められまたは除外されることを意図している。本出願の説明および例図を提供してきたことから、当業者は、請求項に係る発明の幅広い態様および幅広い範囲から逸脱しない本出願中に表現された一般的な発明上の概念の範囲内に留まる変形、修正、および代替の実施形態描くことができよう。

Claims (8)

  1. 外部(external)アプリケーションサーバであって、
    ファーム(farm)構成(configuration)と、
    各コンピューティング装置がサーバファーム(server farm)の構成装置(member)であり、各前記構成装置が前記ファーム構成のコピーを記憶するためのローカルな構成記憶場所(configuration storage location)を有する、1つまたは複数のコンピューティング装置と、
    各前記構成装置のための管理(management)エージェントであって、各前記構成装置が前記管理エージェントの1つのインスタンスを実行し(running)、1つの前記管理エージェントがマスター管理エージェントとして指定され、前記マスター管理エージェントを実行する前記構成装置上の前記ローカルな構成記憶場所が前記ファーム構成のマスターコピーを保持する(holding)ための中央構成記憶場所(central configuration storage location)として指定され、前記マスター管理エージェントが前記ファーム構成の前記マスターコピーを維持する(maintaining)、管理エージェントであって、前記マスター管理エージェントが、前記サーバファームの任意の構成装置から為された構成変更を受け取るものと、
    各前記構成装置のためのレプリケーション(replication)エージェントであって、各前記構成装置が前記レプリケーションエージェントの1つのインスタンスを実行し(running)、前記レプリケーションエージェントが周期的に(periodically)前記ファーム構成のコピーを前記マスター管理エージェントに要求し、かつ前記ファーム構成の前記コピーを前記構成装置上の前記ローカルな構成記憶場所に記憶させる(storing)レプリケーションエージェントと、
    各前記構成装置のための文書処理(document handling)エージェントであって、各前記構成装置が、前記文書処理エージェントの1つのインスタンスを実行し、前記文書処理エージェントが、選択されたファイル形式(type)の文書と対話する(interact with)機能(functionality)を提供する、文書処理エージェントと、
    を備える外部アプリケーションサーバ。
  2. さらに複数の動作監視(watchdog)エージェントを備え、各前記構成装置が各動作監視エージェントの1つのインスタンスを実行し、前記複数の動作監視エージェントが動作監視対象(watched)エージェントのための動作監視エージェントを含み、前記動作監視対象エージェントが前記構成装置上で実行される別のエージェントを含む、請求項1に記載の外部アプリケーションサーバ。
  3. さらに複数の正常性評価(health assessment)エージェントを備え、各前記構成装置が前記正常性評価エージェントの1つのインスタンスを実行し、各前記動作監視エージェントが対応する前記動作監視対象エージェント(watched agent)の動作監視対象エージェント状態(watched agent status)を前記正常性評価エージェントに報告し、前記正常性評価エージェントが前記動作監視対象エージェントの状態に基づき構成装置正常性報告(member health report)を生成し、各前記正常性評価エージェントが前記構成装置正常性報告を前記マスター管理エージェントに報告する、請求項2に記載の外部アプリケーションサーバ。
  4. 前記マスター管理エージェントが前記構成装置正常性報告を前記ファーム構成中に記憶することを特徴とする、請求項3に記載の外部アプリケーションサーバ。
  5. 外部アプリケーションサーバファームにフォールトトレランス(fault tolerance)を提供する方法であって、
    各コンピューティング装置がサーバファームの構成装置である1つまたは複数のコンピューティング装置を提供するステップと、
    各前記構成装置上の管理エージェントを実行するステップと、
    1つの前記構成装置上の前記管理エージェントをマスター管理エージェントとして指定するステップと、
    前記マスター管理エージェントを使用して正式な(official)ファーム構成(configuration)を中央ファーム構成記憶装置に記憶するステップであって、前記マスター管理エージェントが、前記サーバファームの任意の構成装置から為された構成変更を受け取るものと、
    各前記構成装置上でレプリケーション(replication)エージェントを実行するステップと、
    前記レプリケーションエージェントを使用して前記正式なファーム構成のコピーを前記マスター管理エージェントに要求するステップと、
    前記正式なファーム構成の前記コピーを前記構成装置上のローカルな構成記憶装置内に記憶するステップと、
    各前記構成装置上で文書処理エージェントを実行し、前記文書処理エージェントが選択されたファイル形式(type)の文書と対話する(interact with)ための機能(functionality)を提供するステップと、
    を備える方法。
  6. 各前記管理エージェント、各前記レプリケーションエージェント、および各前記文書処理(document handling)エージェントが動作監視対象エージェントであり、前記方法がさらに各前記構成装置上の各動作監視対象エージェントに対する各動作監視エージェントを実行するステップを含むことを特徴とする、請求項5に記載の方法。
  7. 各前記構成装置上で正常性評価エージェントを実行するステップと、
    対応する前記監視対象エージェントのエージェント状態(agent status)を、各前記動作監視(watchdog)エージェントを使用して前記正常性評価(health assessment)エージェントに報告するステップと、
    各前記エージェント状態に基づく構成装置正常性報告を、前記正常性評価エージェントを使用して前記マスター管理エージェントに送信するステップと、
    をさらに含む、請求項6記載の方法。
  8. 請求項1に記載の外部アプリケーションサーバであって、更に、複数の動作監視対象(watched)エージェントを備え、当該動作監視対象エージェントが、
    各前記構成装置上で実行される前記管理エージェントと、
    各前記構成装置で実行されるレプリケーションエージェントと、
    各前記構成装置上で実行される文書処理エージェントと、
    各構成装置上で実行される複数の動作監視エージェントであって、各前記動作監視エージェントが1つの前記動作監視対象エージェントと一意に関連付けられ、各前記動作監視エージェントが関連する前記動作監視対象エージェントの動作監視対象エージェント状態を報告する、動作管理エージェントと、
    各構成装置上で実行される正常性評価エージェントであって、各前記正常性評価エージェントが前記動作監視対象エージェント状態を受信しおよび構成装置正常性報告を生成し、前記正常性評価エージェントが前記ファーム構成に包含される(for inclusion)ように前記構成装置正常性報告を前記マスター管理エージェントに送信する、正常性評価エージェントと、
    を備える外部アプリケーションサーバ。
JP2014532124A 2011-09-27 2012-09-27 フォールトトレラント外部アプリケーションサーバ Expired - Fee Related JP6220338B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201161539975P 2011-09-27 2011-09-27
US61/539,975 2011-09-27
US13/284,718 US20130080603A1 (en) 2011-09-27 2011-10-28 Fault Tolerant External Application Server
US13/284,718 2011-10-28
PCT/US2012/057677 WO2013049426A1 (en) 2011-09-27 2012-09-27 Fault tolerant external application server

Publications (2)

Publication Number Publication Date
JP2014530435A JP2014530435A (ja) 2014-11-17
JP6220338B2 true JP6220338B2 (ja) 2017-10-25

Family

ID=47912443

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014532124A Expired - Fee Related JP6220338B2 (ja) 2011-09-27 2012-09-27 フォールトトレラント外部アプリケーションサーバ

Country Status (8)

Country Link
US (3) US9578114B2 (ja)
EP (3) EP2761806B1 (ja)
JP (1) JP6220338B2 (ja)
KR (1) KR101951066B1 (ja)
AR (1) AR089563A1 (ja)
HK (1) HK1178636A1 (ja)
TW (1) TWI556168B (ja)
WO (3) WO2013049426A1 (ja)

Families Citing this family (72)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10048854B2 (en) 2011-01-31 2018-08-14 Oracle International Corporation Drag and drop interaction between components of a web application
US8572505B2 (en) * 2011-01-31 2013-10-29 Oracle International Corporation Automatically testing a web application that has independent display trees
US9578114B2 (en) 2011-09-27 2017-02-21 Microsoft Technology Licensing, Llc External service application discovery method
US10430388B1 (en) 2011-10-17 2019-10-01 Google Llc Systems and methods for incremental loading of collaboratively generated presentations
US20150199308A1 (en) 2011-10-17 2015-07-16 Google Inc. Systems and methods for controlling the display of online documents
US8266245B1 (en) 2011-10-17 2012-09-11 Google Inc. Systems and methods for incremental loading of collaboratively generated presentations
US20130254553A1 (en) * 2012-03-24 2013-09-26 Paul L. Greene Digital data authentication and security system
CN102664937B (zh) * 2012-04-09 2016-02-03 威盛电子股份有限公司 云端运算图形服务器及云端运算图形服务方法
US10607219B2 (en) * 2012-06-11 2020-03-31 Visa International Service Association Systems and methods to provide privacy protection for activities related to transactions
US10963420B2 (en) * 2012-08-10 2021-03-30 Adobe Inc. Systems and methods for providing hot spare nodes
US9292352B2 (en) 2012-08-10 2016-03-22 Adobe Systems Incorporated Systems and methods for cloud management
GB2509723A (en) * 2013-01-10 2014-07-16 Ibm Invoking web services that are determined at the time of execution
US9588954B2 (en) * 2013-06-15 2017-03-07 Microsoft Technology Licensing, Llc Application/document collaboration in a multi-device environment
US20150058369A1 (en) * 2013-08-23 2015-02-26 Samsung Electronics Co., Ltd. Electronic device and method for using captured image in electronic device
US9170808B2 (en) * 2013-11-07 2015-10-27 Sap Se Dynamic containerization
FR3013541B1 (fr) * 2013-11-19 2021-02-19 Oberthur Technologies Procede et dispositif pour la connexion a un service distant
US20150244835A1 (en) * 2014-02-21 2015-08-27 Andrew T. Fausak Transcoding instance with multiple channels
US9936002B2 (en) 2014-02-21 2018-04-03 Dell Products L.P. Video compose function
US20150277724A1 (en) 2014-03-31 2015-10-01 Microsoft Corporation Inline document collaboration workflow
US10466882B2 (en) 2014-03-31 2019-11-05 Microsoft Technology Licensing, Llc Collaborative co-authoring via an electronic user interface
US10404637B2 (en) 2014-03-31 2019-09-03 Microsoft Technology Licensing, Llc Electronic communication-based storage of documents to support multiple workflows
US9548976B2 (en) * 2014-05-06 2017-01-17 Okta, Inc. Facilitating single sign-on to software applications
US9722795B2 (en) * 2014-05-20 2017-08-01 Vmware, Inc. Digitally signing JSON messages
US9361054B2 (en) * 2014-05-29 2016-06-07 Nuance Communications, Inc. Voice and touch based mobile print and scan framework
US20150379469A1 (en) * 2014-06-30 2015-12-31 Bank Of America Corporation Consolidated client onboarding system
JP2017526092A (ja) * 2014-07-03 2017-09-07 エイブル ワールド インターナショナル リミテッド ツールを作業環境で操作する方法及び上記方法を応用する機械
US10511694B2 (en) * 2014-07-23 2019-12-17 Citrix Systems, Inc. Systems and methods for application specific load balancing
US9621650B2 (en) 2014-09-30 2017-04-11 Google Inc Mobile application state identifier framework
US9853863B1 (en) 2014-10-08 2017-12-26 Servicenow, Inc. Collision detection using state management of configuration items
US9600548B2 (en) * 2014-10-10 2017-03-21 Salesforce.Com Row level security integration of analytical data store with cloud architecture
US9876849B2 (en) * 2014-11-05 2018-01-23 Google Llc Opening local applications from browsers
US9948625B2 (en) 2015-01-07 2018-04-17 Cyph, Inc. Encrypted group communication method
WO2016114822A1 (en) 2015-01-16 2016-07-21 Cyph Inc. A system and method of cryprographically signing web applications
US10419223B2 (en) * 2015-01-07 2019-09-17 Cyph, Inc. Method of using symmetric cryptography for both data encryption and sign-on authentication
US20160292445A1 (en) 2015-03-31 2016-10-06 Secude Ag Context-based data classification
US10216504B2 (en) * 2015-06-05 2019-02-26 Oracle International Corporation System and method for insulating a web user interface application from underlying technologies in an integration cloud service
CN106330988B (zh) * 2015-06-16 2020-01-03 阿里巴巴集团控股有限公司 一种超文本传输请求的补发方法、装置及客户端
CN105005543A (zh) * 2015-06-29 2015-10-28 浪潮通用软件有限公司 一种接口生成装置及方法
US10397191B2 (en) * 2015-12-01 2019-08-27 Adobe Inc. Passing content securely from web browsers to computer applications
US10715502B2 (en) * 2015-12-31 2020-07-14 Verisign, Inc. Systems and methods for automating client-side synchronization of public keys of external contacts
US10628466B2 (en) * 2016-01-06 2020-04-21 Quest Software Inc. Smart exchange database index
US10438209B2 (en) 2016-02-10 2019-10-08 Bank Of America Corporation System for secure routing of data to various networks from a process data network
US11374935B2 (en) 2016-02-11 2022-06-28 Bank Of America Corporation Block chain alias person-to-person resource allocation
US10178105B2 (en) * 2016-02-22 2019-01-08 Bank Of America Corporation System for providing levels of security access to a process data network
TW201732583A (zh) 2016-03-04 2017-09-16 群暉科技股份有限公司 執行請求指令的方法及相關的伺服器
US20170329985A1 (en) * 2016-05-10 2017-11-16 Cyber-Ark Software Ltd. Application control
US20170366545A1 (en) * 2016-06-18 2017-12-21 Lior Malka Sealed network external applications
US10310718B2 (en) * 2016-06-22 2019-06-04 Microsoft Technology Licensing, Llc Enabling interaction with an external service feature
CN106302661B (zh) * 2016-08-02 2019-08-13 网宿科技股份有限公司 P2p数据加速方法、装置和系统
US10402796B2 (en) 2016-08-29 2019-09-03 Bank Of America Corporation Application life-cycle transition record recreation system
US10362143B2 (en) * 2016-09-29 2019-07-23 International Business Machines Corporation Dynamically transitioning the file system role of compute nodes for provisioning a storlet
US10423475B2 (en) 2016-09-30 2019-09-24 Microsoft Technology Licensing, Llc Stateful tokens for communicating with external services
US9998551B1 (en) 2016-10-24 2018-06-12 Palantir Technologies Inc. Automatic discovery and registration of service application for files introduced to a user interface
US10313359B2 (en) 2016-11-01 2019-06-04 Microsoft Technology Licensing, Llc Protocols for accessing hosts
US20180150810A1 (en) * 2016-11-29 2018-05-31 Bank Of America Corporation Contextual augmented reality overlays
CN106850609A (zh) * 2017-01-24 2017-06-13 北京奇虎科技有限公司 一种文件的校验方法和装置
US10671570B2 (en) * 2017-02-01 2020-06-02 Open Text Sa Ulc Web application open platform interface (WOPI) server architecture and applications for distributed network computing environments
US10387383B2 (en) 2017-02-15 2019-08-20 Google Llc Systems and methods for providing access to a data file stored at a data storage system
CN107332922B (zh) * 2017-07-19 2020-07-17 佛山科学技术学院 基于社区管理的嵌入式Web服务器的数据传输方法及系统
US10747728B2 (en) * 2017-08-10 2020-08-18 Microsoft Technology Licensing, Llc Edit and share unsupported files through instantly generated preview
US10470040B2 (en) 2017-08-27 2019-11-05 Okta, Inc. Secure single sign-on to software applications
GB201717251D0 (en) * 2017-10-20 2017-12-06 Palantir Technologies Inc Serving assets in a networked environment
US10142349B1 (en) 2018-02-22 2018-11-27 Palantir Technologies Inc. Verifying network-based permissioning rights
US10866963B2 (en) 2017-12-28 2020-12-15 Dropbox, Inc. File system authentication
CN108737527B (zh) * 2018-05-11 2021-07-09 重庆工商职业学院 一种适用于平台大规模用户访问方法及系统
US10949272B2 (en) 2018-06-14 2021-03-16 Microsoft Technology Licensing, Llc Inter-application context seeding
US20200117722A1 (en) * 2018-10-12 2020-04-16 Goke Us Research Laboratory Efficient file storage and retrieval system, method and apparatus
US10904314B2 (en) * 2018-10-31 2021-01-26 Salesforce.Com, Inc. Endpoint URL generation and management
US11190514B2 (en) * 2019-06-17 2021-11-30 Microsoft Technology Licensing, Llc Client-server security enhancement using information accessed from access tokens
US11425143B2 (en) * 2020-01-23 2022-08-23 Bank Of America Corporation Sleeper keys
US11934548B2 (en) * 2021-05-27 2024-03-19 Microsoft Technology Licensing, Llc Centralized access control for cloud relational database management system resources
US11934545B2 (en) 2021-06-22 2024-03-19 Fortra, Llc Secure way to authenticate from file protocol while handling third party cookies and browser inconsistencies

Family Cites Families (78)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5802530A (en) 1996-07-01 1998-09-01 Sun Microsystems, Inc. Web document based graphical user interface
US5875296A (en) 1997-01-28 1999-02-23 International Business Machines Corporation Distributed file system web server user authentication with cookies
US6167441A (en) 1997-11-21 2000-12-26 International Business Machines Corporation Customization of web pages based on requester type
US6256620B1 (en) 1998-01-16 2001-07-03 Aspect Communications Method and apparatus for monitoring information access
JP2000112906A (ja) * 1998-10-01 2000-04-21 Mitsubishi Electric Corp クラスタシステム
US20020002563A1 (en) 1999-08-23 2002-01-03 Mary M. Bendik Document management systems and methods
US7120590B1 (en) 1999-08-23 2006-10-10 User Trencis, Inc. Electronically distributing promotional and advertising material based upon consumer internet usage
US6766298B1 (en) 1999-09-03 2004-07-20 Cisco Technology, Inc. Application server configured for dynamically generating web pages for voice enabled web applications
US7434219B2 (en) * 2000-01-31 2008-10-07 Commvault Systems, Inc. Storage of application specific profiles correlating to document versions
US7146233B2 (en) * 2000-02-11 2006-12-05 Sun Microsystems, Inc. Request queue management
US20010051890A1 (en) * 2000-03-17 2001-12-13 Raleigh Burgess Systems and methods for providing remote support via productivity centers
US7401131B2 (en) 2000-05-22 2008-07-15 Verizon Business Global Llc Method and system for implementing improved containers in a global ecosystem of interrelated services
JP4287990B2 (ja) 2000-07-07 2009-07-01 インターナショナル・ビジネス・マシーンズ・コーポレーション ネットワークシステム、端末管理システム、端末管理方法、データ処理方法、記録媒体およびインターネットサービス提供方法
US6988241B1 (en) 2000-10-16 2006-01-17 International Business Machines Corporation Client side, web-based spreadsheet
US6931429B2 (en) * 2001-04-27 2005-08-16 Left Gate Holdings, Inc. Adaptable wireless proximity networking
WO2003001413A1 (en) 2001-06-22 2003-01-03 Nosa Omoigui System and method for knowledge retrieval, management, delivery and presentation
US7207041B2 (en) * 2001-06-28 2007-04-17 Tranzeo Wireless Technologies, Inc. Open platform architecture for shared resource access management
US7117504B2 (en) 2001-07-10 2006-10-03 Microsoft Corporation Application program interface that enables communication for a network software platform
US7152204B2 (en) 2001-10-18 2006-12-19 Bea Systems, Inc. System and method utilizing an interface component to query a document
US20030084045A1 (en) 2001-11-01 2003-05-01 Flying Wireless, Inc. Systems and protocols for remote file access
US20030115226A1 (en) * 2001-12-13 2003-06-19 International Business Machines Corporation Method, apparatus, and program for quick save to remote storage
JP2003224674A (ja) 2002-01-30 2003-08-08 Nec Infrontia Corp 携帯電話端末による健康管理サービスシステム
US7603450B2 (en) 2002-04-26 2009-10-13 Hewlett-Packard Development Company, L.P. Methods and applets for providing and contributing to an IT network management service
US7499983B2 (en) 2002-05-06 2009-03-03 Micron Technology, Inc. Web dispatch service
US7085764B2 (en) * 2002-05-13 2006-08-01 International Business Machines Corporation System, method and program product for centrally managing agents
GB2389479B (en) * 2002-06-07 2005-12-28 Hewlett Packard Co Method of serving out video over a network of video servers
US7047243B2 (en) * 2002-08-05 2006-05-16 Microsoft Corporation Coordinating transactional web services
CN100463469C (zh) 2002-10-25 2009-02-18 国际商业机器公司 在多通道上共享应用程序会话信息的方法、装置和系统
US7441046B2 (en) 2003-03-03 2008-10-21 Siemens Medical Solutions Usa, Inc. System enabling server progressive workload reduction to support server maintenance
JP4297811B2 (ja) 2003-03-14 2009-07-15 株式会社リコー 情報提供装置、情報提供方法、及びプログラム
US7216169B2 (en) * 2003-07-01 2007-05-08 Microsoft Corporation Method and system for administering personal computer health by registering multiple service providers and enforcing mutual exclusion rules
US20050060372A1 (en) 2003-08-27 2005-03-17 Debettencourt Jason Techniques for filtering data from a data stream of a web services application
US7533168B1 (en) * 2003-09-11 2009-05-12 Sun Microsystems, Inc. Autonomic grid computing mechanism
US7376650B1 (en) 2003-09-12 2008-05-20 Microsoft Corporation Method and system for redirecting a request using redirection patterns
WO2005026946A2 (en) 2003-09-17 2005-03-24 Research In Motion Limited System and method for dynamic content processing with extendable provisioning
US7716357B2 (en) 2003-10-24 2010-05-11 Microsoft Corporation Service discovery and publication
US7475125B2 (en) * 2003-11-24 2009-01-06 Microsoft Corporation Seamless discovery of workstation-installed remote applications from an extranet
US7844639B2 (en) * 2003-11-24 2010-11-30 Ebay Inc. Backward compatibility in database schemas
US7720906B2 (en) 2003-11-24 2010-05-18 Microsoft Corporation Web service for remote application discovery
US8082520B2 (en) * 2004-02-26 2011-12-20 International Business Machines Corporation System and method for database management
US20050193106A1 (en) * 2004-03-01 2005-09-01 University Of Florida Service discovery and delivery for ad-hoc networks
US7606814B2 (en) 2004-03-11 2009-10-20 Microsoft Corporation Tracing a web request through a web server
US7650432B2 (en) 2004-05-20 2010-01-19 Bea Systems, Inc. Occasionally-connected application server
US20050268215A1 (en) 2004-06-01 2005-12-01 Microsoft Corporation Method and apparatus for viewing and interacting with a spreadsheet from within a web browser
US7680955B2 (en) * 2004-12-01 2010-03-16 George Mason Intellectual Properties, Inc. SCIT-DNS: critical infrastructure protection through secure DNS server dynamic updates
JP2006163723A (ja) * 2004-12-06 2006-06-22 Hitachi Software Eng Co Ltd ドキュメント検索方法
US7577661B2 (en) * 2005-06-30 2009-08-18 Microsoft Corporation Extensible and automatically replicating server farm configuration management infrastructure
US7752536B2 (en) 2005-09-09 2010-07-06 Microsoft Corporation Designating, setting and discovering parameters for spreadsheet documents
US7606844B2 (en) * 2005-12-19 2009-10-20 Commvault Systems, Inc. System and method for performing replication copy storage operations
US8122111B2 (en) * 2006-07-25 2012-02-21 Network Appliance, Inc. System and method for server configuration control and management
US20080091806A1 (en) * 2006-10-11 2008-04-17 Jinmei Shen Dynamic On-Demand Clustering
US7908292B2 (en) 2006-12-05 2011-03-15 Nokia Corporation Metadata broker
JP5046669B2 (ja) * 2007-01-31 2012-10-10 キヤノン株式会社 画像形成装置及び画像形成装置の制御方法、プログラム、記憶媒体
US20080209037A1 (en) 2007-02-05 2008-08-28 Dror Zernik System and method for enforcing in real time corporate business rules on web users
US8756673B2 (en) 2007-03-30 2014-06-17 Ricoh Company, Ltd. Techniques for sharing data
US20090007067A1 (en) * 2007-06-28 2009-01-01 International Business Machines Corporation Composite portal application
US8155987B2 (en) 2007-08-31 2012-04-10 Sap Aktiengeselleschaft Linking transactions with separate systems
KR20090038105A (ko) 2007-10-15 2009-04-20 권진욱 분산저장방식을 이용한 웹상에서의 파일공유방법
WO2009055368A2 (en) * 2007-10-21 2009-04-30 Citrix Systems, Inc. Systems and methods to adaptively load balance user sessions to reduce energy consumption
US8326814B2 (en) * 2007-12-05 2012-12-04 Box, Inc. Web-based file management system and service
US20090157987A1 (en) 2007-12-14 2009-06-18 Casdex, Inc. System and Method for Creating Self-Authenticating Documents Including Unique Content Identifiers
US9104738B2 (en) 2008-06-19 2015-08-11 Tropare, Inc. Leveraging collaborative cloud services to build and share apps
WO2010034608A1 (en) * 2008-09-24 2010-04-01 Telefonaktiebolaget Lm Ericsson (Publ) System and method for configuration of processing clusters
US20100162236A1 (en) * 2008-12-22 2010-06-24 Witchey Nicholas J Using Stored State To Instantiate A Virtual Computer
US8195792B2 (en) 2009-01-16 2012-06-05 Microsoft Corporation Interfacing distinct services for providing web based document manipulation access
US9165154B2 (en) 2009-02-16 2015-10-20 Microsoft Technology Licensing, Llc Trusted cloud computing and services framework
US8332356B2 (en) * 2009-05-12 2012-12-11 Oracle International Corporation NFS agent upgrade
US8510755B2 (en) * 2009-06-22 2013-08-13 Microsoft Corporation Automatically re-starting services
EP2302509B1 (en) * 2009-09-29 2012-09-26 Citrix Systems, Inc. Synchronization of server-side cookies with client-side cookies
US8645511B2 (en) 2009-10-13 2014-02-04 Google Inc. Pre-configuration of a cloud-based computer
US9220054B2 (en) 2009-12-22 2015-12-22 Intel Corporation Enhanced service discovery mechanism in wireless communication system
US8495193B2 (en) * 2010-02-23 2013-07-23 Microsoft Corporation Centralized management tool for remote presentation session server farms
US8296267B2 (en) * 2010-10-20 2012-10-23 Microsoft Corporation Upgrade of highly available farm server groups
CN102118249B (zh) 2010-12-22 2014-04-30 厦门柏事特信息科技有限公司 一种基于数字摘要和数字签名的拍照取证方法
CA2832444C (en) * 2011-04-07 2017-10-17 Pneuron Corp. Legacy application migration to real time, parallel performance cloud
US9009212B2 (en) * 2011-06-29 2015-04-14 Cisco Technology, Inc. Optimized transfer of applications between computing environments
US20130060806A1 (en) * 2011-09-07 2013-03-07 Microsoft Corporation Data Solution Composition Architecture
US9578114B2 (en) 2011-09-27 2017-02-21 Microsoft Technology Licensing, Llc External service application discovery method

Also Published As

Publication number Publication date
WO2013049414A3 (en) 2013-05-23
EP2761489A1 (en) 2014-08-06
KR101951066B1 (ko) 2019-02-21
WO2013049414A2 (en) 2013-04-04
WO2013049426A1 (en) 2013-04-04
EP2761806B1 (en) 2018-07-25
TWI556168B (zh) 2016-11-01
EP2761486A4 (en) 2015-07-01
EP2761806A2 (en) 2014-08-06
TW201314571A (zh) 2013-04-01
HK1178636A1 (zh) 2013-09-13
AR089563A1 (es) 2014-09-03
US9578114B2 (en) 2017-02-21
EP2761486A1 (en) 2014-08-06
EP2761489A4 (en) 2015-09-02
US20130080785A1 (en) 2013-03-28
US9319469B2 (en) 2016-04-19
EP2761806A4 (en) 2015-04-22
WO2013049422A1 (en) 2013-04-04
US20130080603A1 (en) 2013-03-28
US20130080507A1 (en) 2013-03-28
EP2761489B1 (en) 2018-06-13
JP2014530435A (ja) 2014-11-17
KR20140079385A (ko) 2014-06-26

Similar Documents

Publication Publication Date Title
JP6220338B2 (ja) フォールトトレラント外部アプリケーションサーバ
US9483473B2 (en) High availability architecture for a cloud-based concurrent-access collaboration platform
US10193951B2 (en) Binding CRUD-type protocols in distributed agreement protocols
JP2017199396A (ja) 汎用サービスを通してのリアル・タイムのドキュメント・プレゼンテーション・データの同期
US9311109B2 (en) Synchronizing device association data among computing devices
US20040098728A1 (en) System and method for multi-functional XML-capable software applications on a peer-to-peer network
US20190166209A1 (en) Service cross-consumption based on an open service broker application programming interface
CN105683896A (zh) 跨多个虚拟机共享虚拟硬盘
JP2004318822A (ja) プレゼンス情報表示方法及び装置
CA2707764A1 (en) Distributed system and method for management of multiple users and workspaces
US20150326620A1 (en) Media presentation in a virtual shared space
JP2007193793A (ja) データベース・クライアント・ユーザとの通信のためのシステム、方法、およびプログラム
US9811544B1 (en) Management of real-time and historical streaming data
WO2024061199A1 (zh) 一种云剪贴板的实现方法、设备、系统及存储介质
US20180332108A1 (en) Orchestrating work across domains and work streams
Bose et al. A billboard manager based model that offers dual features supporting cloud operating system and managing cloud data storage
US20160140352A1 (en) Communicating data between client devices using a hybrid connection having a regular communications pathway and a highly confidential communications pathway
CN102930368B (zh) 容错外部应用服务器
Sedivy et al. Mcsync-distributed, decentralized database for mobile devices
US9178942B1 (en) Systems and methods for updating native contact information
US20200364122A1 (en) Planned zero downtime server switching for web applications

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20150528

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150824

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160725

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160902

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161117

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170508

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170724

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170929

R150 Certificate of patent or registration of utility model

Ref document number: 6220338

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees