JP2021508105A - コヒーレントデータを処理するためのシステム - Google Patents

コヒーレントデータを処理するためのシステム Download PDF

Info

Publication number
JP2021508105A
JP2021508105A JP2020532889A JP2020532889A JP2021508105A JP 2021508105 A JP2021508105 A JP 2021508105A JP 2020532889 A JP2020532889 A JP 2020532889A JP 2020532889 A JP2020532889 A JP 2020532889A JP 2021508105 A JP2021508105 A JP 2021508105A
Authority
JP
Japan
Prior art keywords
state information
client
subscribed
subscription
time cycle
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2020532889A
Other languages
English (en)
Other versions
JP2021508105A5 (ja
Inventor
クロッカー ロナルド
クロッカー ロナルド
Original Assignee
ニュー レリック インコーポレイテッド
ニュー レリック インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ニュー レリック インコーポレイテッド, ニュー レリック インコーポレイテッド filed Critical ニュー レリック インコーポレイテッド
Publication of JP2021508105A publication Critical patent/JP2021508105A/ja
Publication of JP2021508105A5 publication Critical patent/JP2021508105A5/ja
Pending legal-status Critical Current

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/50Network services
    • H04L67/75Indicating network or usage conditions on the user display
    • 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/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/04Processing captured monitoring data, e.g. for logfile generation
    • H04L43/045Processing captured monitoring data, e.g. for logfile generation for graphical visualisation of monitoring data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Environmental & Geological Engineering (AREA)
  • Computer And Data Communications (AREA)
  • Debugging And Monitoring (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

監視システムはコンピューティングシステムの状態情報を監視することによりメトリックまたはイベントデータを提供する。実施形態にて監視システムはコンピューティングシステムで実行中のエージェントから状態情報を受信する1つまたは複数のプロセッサーを含む。状態情報はコンピューティングシステムのコンポーネントを説明する。状態情報の受信に応答して監視システムは状態情報とエージェントから以前に受信された前の状態情報とに基づいて集約状態情報を生成する。状態情報と前の状態情報とは同じ時間周期に対応し得る。監視システムは集約状態情報からサブスクライブされた状態情報を生成する。サブスクライブされた状態情報はクライアントの命令を使用して選択された集約状態情報のサブセットである。監視システムはサブスクライブされた状態情報をクライアントに送ってクライアントより表されるユーザーインターフェイスにおいて更新をさせる。

Description

本開示は、一般に、コンピューティングシステム上で実行しているアプリケーションからのデータを処理し、ユーザーインターフェイスを生成することに関する。
ウェブベースおよびモバイルのアプリケーションは、コンテンツおよびサービスをユーザーコンピューティングデバイスに配信するための一般的なツールである。今述べたアプリケーションは、アプリケーションシステムによって実行され、コンテンツをコンピューティングデバイスに提供し、コンピューティングデバイスからのリクエストに応答する。アプリケーションシステムの機能を説明する情報を提供するために、アプリケーションシステムは、例えば、アプリケーションまたはアプリケーションサーバーを監視するエージェントなどのプログラムを実行することがあり得る。大量な情報の作成に帰着するアプリケーションシステムは、多くのユーザーコンピューティングデバイスに役立つことがあり得る。
監視システムは、コンピューティングシステムの状態情報を監視することによって、ユーザーインターフェイスを更新する。いくつかの実施形態において、監視システムは、コンピューティングシステム上で実行しているエージェントから状態情報を受信する(たとえば、サーバーの)1つまたは複数のプロセッサーを含む。状態情報は、コンピューティングシステムのコンポーネントに関する第1の時間周期に対応する。状態情報を受信することに応答して、監視システムは、状態情報と、エージェントから以前に受信された前の状態情報に基づいて、集約状態情報(aggregate state information)を生成する。監視システムは、さらに前の状態情報がコンポーネントに関する第1の時間周期にも対応するという決定を行い、同じ時間周期に関連付けられた状態情報に対して集約を行うことがあり得る。例えば、状態情報と前の状態情報とは、第1の時間周期内に生成されることがあり得り、第1の時間周期内にコンピューティングシステムに関連することがあり得り、またはそうでなければ第1の時間周期に関連付けられることがあり得る。監視システムは、集約状態情報からサブスクライブされた状態情報(subscribed state information)を生成する。サブスクライブされた状態情報は、クライアントの命令を使用して選択された集約状態情報のサブセットである。命令は、コンピューティングシステムの特定のメトリックまたはイベントデータについて報告することをサブスクライブする(subscribe)ためのクライアントによるリクエストを含むことがあり得る。監視システムは、サブスクライブされた状態情報をクライアントに送って、クライアントよって表されるユーザーインターフェイスにおいて更新をさせる。サブスクライブされた状態情報は、監視システムが状態情報の(たとえば、最新の)インスタンスを受信することに基づいて送られることがあり得る。ここで、サブスクライブされた状態情報は、時間周期に対する状態情報の部分的な集約であり、時間周期に対する追加の状態情報は、時間周期に対するサブスクライブされた状態情報の別の集約および送信に帰着することがあり得る。さらに、監視システムは、時間周期が経過したときに、時間周期に対する完全に集約された状態情報(fully aggregated state information)を送信してもよい。状態情報の後続のインスタンスは、後続の時間周期に関連付けられることがあり得り、同様の集約および送信は、複数の時間周期に対して行われることがあり得る。
様々な実施形態において、監視システムは、たとえば、論理的または審美的に順序付けられたデータを表示するユーザーインターフェイスにおいて、集約データを、クライアント上の提出に供給することが可能である。さらに、監視システムは、追加の状態情報が受信される後のときに、メトリックまたはイベントデータを更新することも可能である。加えて、監視システムは、状態情報からステートデータポイント(state data point)を検出し、無視してもよい。
いくつかの実施形態において、監視システムの1つまたは複数のプロセッサーは、状態情報の開始時間および終了時間を使用して、状態情報を第1の時間周期に関連付ける。監視システムは、前の状態情報が、第1の時間周期に対して、以前に受信されたと決定することに応答する、前の状態情報を検索する。さらに、監視システムは、状態情報に対する第1の時間周期に基づいて、集約状態情報に関連付けられたディスプレイタイム(display time)を決定することがあり得る。監視システムは、ディスプレイタイムをクライアントに送って、ユーザーインターフェイスにおける更新に、関連したディスプレイタイムに関してサブスクライブされた状態情報の表示を含ませる。いくつかの実施形態において、ユーザーインターフェイスにおける更新は、関連したディスプレイタイムに関してコンピューティングシステムに関連付けられた集約するメトリックまたは集約するイベントデータの表示を含む。
いくつかの実施形態において、監視システムの1つまたは複数のプロセッサーは、サブスクライブされた状態情報を受信するクライアントから第1のリクエストを受信する。第1のリクエストに応答して、監視システムは、サブスクライブされた状態情報をクライアントに供給するために、クライアントに関連付けられたサブスクリプションを生成する。さらに、監視システムは、サブスクライブされた状態情報を受信する第2のクライアントから第2のリクエストを受信する。第2のリクエストに応答して、監視システムは、クライアントに関連付けられたサブスクリプションがアクティブであるかどうかを決定する。クライアントに関連付けられたサブスクリプションがアクティブであると決定することに応答して、監視システムは、サブスクリプションを第2のクライアントに関連付ける。監視システムは、サブスクリプションを取り消すクライアントから第3のリクエストを受信する。第3のリクエストに応答して、監視システムは、クライアントからサブスクリプションを取り消し、監視システムは、サブスクライブされた状態情報を第2のクライアントに提供するために、サブスクリプションを維持する。
いくつかの実施形態は、コンピューティングシステムの状態情報を監視するための方法を含むことがあり得る。方法は、コンピューティングシステム上で実行しているエージェントから状態情報を受信することを含む。状態情報は、コンピューティングシステムのコンポーネントに関する第1の時間周期に対応する。状態情報を受信することに応答して、方法は、状態情報と、エージェントから以前に受信された前の状態情報とに基づいて、集約状態情報(aggregate state information)を生成することを含む。前の状態情報は、コンポーネントに関する第1の時間周期に対応する。さらに、方法は、集約状態情報から、サブスクライブされた状態情報(subscribed state information)を生成することを含む。サブスクライブされた状態情報は、クライアントの命令を使用して選択された集約状態情報のサブセットである。さらに、方法は、サブスクライブされた状態情報をクライアントに送って、クライアントによって表されるユーザーインターフェイスにおいて更新をさせる。
いくつかの実施形態は、プロセッサーによって実行されると、本明細書において説明されるようなコンピューティングシステムの状態情報を監視するための方法を実行するプロセッサーを構成する命令を格納している非一時的なコンピューター読み取り可能な媒体を含む。
いくつかの実施形態に係る監視システムを含むシステム環境のブロック図である。 いくつかの実施形態に係る監視システムのブロック図である。 いくつかの実施形態に係る図2に示される監視システムのデータフロー図である。 いくつかの実施形態に係る状態情報を含むユーザーインターフェイスの例を例示する。 いくつかの実施形態に係る状態情報を使用してユーザーインターフェイスを更新するための方法のフローチャートである。 いくつかの実施形態に係る監視システムによってサブスクリプションを維持するための方法のフローチャートである。
図面は、例示の目的だけで本開示の実施形態を描いている。当業者は、次に述べる説明から、本明細書において例示される構造および方法の代替の実施形態が、本明細書において説明される開示の原理または勧められる利益から逸脱することなく、採用されることがあり得ることを快く認めるであろう。
システム概要
図1は、いくつかの実施形態に係る監視システムのブロック図である。システム環境は、インターネットを含むことがあり得るネットワーク124を通じて通信する監視システム102、アプリケーションシステム106、およびクライアント104(たとえば、クライアントデバイス)を含む。監視システム102は、アプリケーションシステム106の1つまたは複数のアプリケーションサーバー110によって実行されるアプリケーション108のパフォーマンスを監視する。さらに、監視システム102は、クライアント104上の提出のための、アプリケーションシステム106からの状態情報を使用して、ユーザーインターフェイスを、例えば、グラフィカルユーザーインターフェイスなどを生成する。
アプリケーションシステム106は、1つまたは複数のアプリケーションサーバー110と、1つまたは複数のデータストア112とを含む。データストア112は、1つまたは複数のアプリケーションサーバー110によって実行されるアプリケーション108に対して、アプリケーションデータを格納する。さらに、アプリケーションサーバー110は、例えば、アプリケーションサーバー110上で実行しているプロセス、アプリケーション108のレスポンスタイム、アプリケーション108のトランザクション、アプリケーション108のトランザクションのプロセス、クライアント104におけるアプリケーション108のパフォーマンスに対するバックエンドプロセスの効果、アプリケーション108を実行している仮想マシンの統計、他の情報、またはこれらの組み合わせなど、アプリケーションシステム106のパフォーマンスを監視する1つまたは複数のエージェント114を実行する。エージェント114は、アプリケーション108、またはアプリケーションシステム106の他のコンポーネントについてのパフォーマンスに関連がある状態情報を収集し格納する。その上、エージェント114は、状態情報、または他の種類の情報を、監視システム102に周期的に送ることがあり得る。
アプリケーション108は、様々な種類のモバイルアプリケーションまたはwebアプリケーションのいずれかであり得て、クライアントサーバーアプリケーションの動作のサブセットを表現することがあり得る。例えば、アプリケーションサーバー110によって動かされるアプリケーション108は、例えば、データベースのコンテンツを検索し格納する、クライアント104におけるレンダリングのためのユーザーインターフェイスを生成する、クライアント104においてリクエストされる機能を行う、コンテンツをクライアント104に(たとえば、ネットワーク124を通じて)伝達するなど、クライアントサーバーアプリケーションのどんなサーバー側プロセスでも含むことがあり得る。アプリケーションサーバー110は、アプリケーション108の機能を実行している1つまたは複数のコンピューティングデバイスを含むことがあり得る。
いくつかの実施形態において、アプリケーションサーバー110は、アプリケーション108のプロセスを実行するJava仮想マシンを実行しているコンピューティングデバイスを含む。仮想マシンは、アプリケーション108を実行するための環境を提供し、アプリケーション108によって作成されるオブジェクトと、アプリケーション108によって使用されるデータストア112(たとえば、メモリー)の一部とを管理する。特に、仮想マシンは、アプリケーションシステム106の利用可能なメモリーを効率的に管理するために、アプリケーション108およびエージェント114の実行中に作成された変数またはデータ構造を含むオブジェクトを移動させることによって、メモリープールのいずれかにメモリーを割り当てる。さらに、仮想マシンは、ガベージコレクションプロセスを実行して、アプリケーション108において、もはや使用されも参照されもしないオブジェクトを識別し取り除いて、他のオブジェクトを格納するために、使用されないオブジェクトによって占有されたメモリーも解放する。
アプリケーションサーバー110を監視するために、監視システム102は、(たとえば、ソフトウェア開発キットとして、またはアプリケーション108のソフトウェアに統合されるモジュールとして)エージェント114をアプリケーションサーバー110に提供することが可能である。アプリケーションサーバー110がエージェント114を実行している間、監視システム102は、エージェント114と通信して、アプリケーションサーバー110のパフォーマンスを監視する。監視システム102は、エージェント114からアプリケーション108の状態情報を受信する。加えて、例えば、監視システム102は、アドミニストレーターに、アプリケーション108のどんなパフォーマンスの問題にでも対処できるようにする、アプリケーションサーバー110のアドミニストレーターによる分析のための情報の表示(たとえば、ユーザーインターフェイス)を生成する。例えば、監視システム102は、アプリケーション108のプロセスに対して、メトリックまたはイベントデータを示すテーブル、チャート、またはプロットを生成する。情報の表示は、監視システム102、および/またはアプリケーション108を実行している仮想マシンからの統計を含むことがあり得る。
図2は、いくつかの実施形態に係る監視システム102のブロック図である。監視システム102は、1つまたは複数の監視サーバー200、データストア210、データアグリゲーター220、サブスクリプションエンジン230、およびユーザーインターフェイスエンジン240を含む。他の実施形態において、監視システム102は、異なるまたは追加のコンポーネントを含むことがあり得る。監視サーバー200は、図1に示すように、対応するエージェント114との通信を介してアプリケーションシステム106のパフォーマンスを監視する1つまたは複数のプロセッサーを含むコンピューティングデバイスである。監視サーバー200は、アプリケーション監視サービスプロバイダーによって供給されることがあり得り、異なるアプリケーションシステム106に渡るアプリケーション108およびアプリケーションサーバー110を含む、いくつものアプリケーションシステム106のパフォーマンスを監視することがあり得る。データストア210、データアグリゲーター220、サブスクリプションエンジン230、およびユーザーインターフェイスエンジン240を、次の図面を参照して以下にさらに説明する。
図3は、いくつかの実施形態に係る図2に示される監視システム102のデータフロー図である。監視サーバー200は、アプリケーションシステム106のエージェント114から状態情報を受信する。状態情報は、アプリケーションシステム106のコンポーネントを説明するメトリックまたはイベントデータを含むことがあり得る。例えば、メトリックは、コンポーネントのパフォーマンス(たとえば、ネットワーク遅延、帯域幅、スループットなど)、コンピューティングリソース(たとえば、CPU、メモリー、キャッシュなど)の使用量、またはハードウェアの状態を示すことがあり得る。例えば、イベントデータは、webトランザクション、webページのインタラクション(たとえば、ビュー、クリック、データの入力、データのリクエストなど)、API(アプリケーションプログラミングインターフェイス)のコール、ファイルのダウンロードもしくはアップロード、またはアプリケーションの状態に関連付けられた他のデータなどを示すことがあり得る。
メトリックまたはイベントデータの各インスタンスは、時間周期に関連付けられることがあり得る。いくつかの実施形態において、状態情報は、開始時間および終了時間に関連付けられる。開始時間および終了時間は、メトリックまたはイベントデータの測定またはキャプチャーが、アプリケーションシステム106の一定のコンポーネントに対して、それぞれ、開始したおよび終了したときのタイムスタンプを示す。例えば、プロセッサーのCPUの使用量(たとえば、メトリック)、または数分間もしくは数時間に渡るウェブサイトのページビュー数(たとえば、イベントデータ)の測定。加えて、状態情報は、監視サーバー200がエージェント114から状態情報を受信したときを示すタイムスタンプ(たとえば、受信時間)に関連付けられることがあり得る。いくつかの実施形態において、イベントデータ(またはメトリック)は、1つのタイムスタンプを有し、関連したイベント時間を示す。イベント時間は、開始時間、終了時間、または開始時間と終了時間との間における他の何かの時間をいうことがあり得る。加えて、1つのタイムスタンプ(たとえば、イベント時間)は、開始時刻と終了時刻との両方として使用されることがあり得る。
データアグリゲーター220は、監視サーバー200によって受信された状態情報を処理する。図3に示す実施形態において、データアグリゲーター220は、ミニットアグリゲーター(minute aggregator)310、アワーアグリゲーター(hour aggregator)320、アワーライター(hour writer)325、およびミニットライター(minute writer)330を含み、とはいえ他の実施形態において、データアグリゲーター220は、例えば、一定数の秒、日、週、月、またはそれらのどんな組み合わせでもなど、他の時間間隔に対するアグリゲーターおよびライターを含むことがあり得る。データアグリゲーター220は、メトリックまたはイベントデータを処理することがあり得る。いくつかの実施形態において、データアグリゲーター220は、メトリックデータアグリゲーター(metric data aggregator)およびイベントデータアグリゲーター(event data aggregator)を含む。監視サーバー200は、メトリックをメトリックデータアグリゲーターに送り、イベントデータをイベントデータアグリゲーターに送ることがあり得る。
ミニットアグリゲーター310は、分毎にキャプチャーされる状態情報を集約し、集約するミニットタイムスライス(minute timeslice)315を生成する。各集約するミニットタイムスライス315は、時間周期に関連付けられた状態情報の1つまたは複数の異なるインスタンスを含むことがあり得る。今述べた例において、時間周期は、1分であるが、他の時間周期が使用されてもよい。集約するミニットタイムスライス315は、1つまたは複数の種類の集約されたメトリック、または1つまたは複数の種類の集約されたイベントデータを含むことがあり得る。
さらに、ミニットアグリゲーター310は、部分的に集約されたタイムスライス340を生成する。部分的に集約されたタイムスライス340は、現在の時刻が時間周期の経過の前であれば、ミニットアグリゲーター310が時間周期の開始時間から現在の時刻までに受信した状態情報を含む。例えば、エージェント114は、状態情報が収集されるときに、状態情報を監視サーバー200に送ることがあり得る。状態情報の各インスタンスは、時間周期に対するメトリックまたはイベントデータの値の一部のみを表現することがあり得る。しかしながら、依然として、部分的に集約されたタイムスライス340は、リアルタイムの更新を供給するために生成され使用されて、更新された(たとえば、最終の)状態情報が時間周期全体にわたって受信されるまで、ユーザーインターフェイスを更新することがあり得る。
アワーアグリゲーター320およびミニットライター330は、ミニットアグリゲーター310から、集約するミニットタイムスライス315を受信する。さらにその上、アワーアグリゲーター320は、集約するミニットタイムスライス315を時間毎に収集して、アワーライター325に提供される、集約する時間単位のタイムスライス(図3に示さず)を生成する。本明細書において使用される「タイムスライス」は、状態情報が集約されることが可能である時間周期をいう。アワーライター325およびミニットライター330は、集約する時間単位のタイムスライスおよび集約するミニットタイムスライス315を、それぞれ、ユーザーインターフェイスエンジン240のチャートデータサービス335(またはCDS335)に提供する。集約された状態情報(aggregated state information)についての受信されたタイムスライスを使用して、ユーザーインターフェイスエンジン240は、集約された状態情報をユーザーに提供するために、ユーザーインターフェイスを生成するまたは更新する。イベントデータを表示する例示的なユーザーインターフェイスを、図4を参照して説明する。ユーザーインターフェイスは、集約するミニットタイムスライス315または集約する時間単位のタイムスライスがデータアグリゲーター220によって処理される時間にわたって周期的に更新されることがあり得る。さらに、データアグリゲーター220のコンポーネントは、(たとえば、部分的に集約されたデータを含む)タイムスライスおよび状態情報を、データストア210に格納することがあり得る。
さらに、ミニットアグリゲーター310は、部分的に集約されたタイムスライス340を、サブスクリプションエンジン230のタイムスライスフィルター345に提供する。タイムスライスフィルター345は、サブスクリプションエンジン230によって受信される命令に、またはサブスクリプションストア355から検索されるサブスクリプションに従って、タイムスライスからデータをフィルタリングすることがあり得る。命令は、ユーザーインターフェイスにおける提出に対して含むまたは除外する、一定の種類のメトリックまたはイベントデータを示すことがあり得る。加えて、命令は、ユーザーインターフェイスが、特定のタイプのアプリケーションシステム106から生じる、または特定の時間周期の間に測定された(もしくは受信された)状態情報を含むべきであることを示すことがあり得る。いくつかの実施形態において、さらに、命令は、集約に対する時間周期(複数可)を定義することがあり得る。例えば、分および時間の集約よりも、他のより長い時間周期と、より短い時間周期とが使用されることがあり得る。サブスクリプションエンジン230は、クライアント104から受信されるサブスクライブされた状態情報に対する(たとえば、命令を含む)リクエストに応えて、サブスクリプションを生成し、サブスクリプションをサブスクリプションストア355に格納することがあり得る。いくつかの実施形態において、さらに、サブスクリプションエンジン230は、集約されたミニットタイムスライス315からデータをフィルタリングして、サブスクライブされた状態情報を生成することも可能である。サブスクライブされた状態情報は、選択されたメトリックまたはイベントデータに属する、部分的に集約されたタイムスライス340のサブセットを参照する。
タイムスライスフィルター345は、リアルタイムにストリームされるユーザーインターフェイスを更新するために、フィルタリングされたタイムスライスをストリーミングCDS350に提供する。特に、ストリーミングCDS350は、時間周期全体にわたる状態情報が監視システム102に対して利用可能でない場合でさえ、部分的に集約されたタイムスライス340を使用して、状態情報を、ストリームされるユーザーインターフェイスにプッシュすることがあり得る。したがって、ストリームされるユーザーインターフェイスは、監視されているアプリケーションシステム106のエージェント114から追加の状態情報が受信されるときに更新される状態情報を含むことがあり得る。さらに、サブスクリプションエンジン230は、状態情報をCDS335に提供してもよい。時間周期内の更新を提供するストリーミングCDS350とは対照的に、CDS335は、複数の時間周期の集約に基づいて更新を提供する。いくつかの実施形態において、データアグリゲーター220は、予め定義されたまたは予定された時間における集約状態情報をCDS335に提供し、エージェント114からサブスクリプションに属する状態情報を受信することに応答して、サブスクライブされた状態情報をストリーミングCDS350に提供する。
図4は、いくつかの実施形態に係る状態情報を含むユーザーインターフェイスの例を例示する。ユーザーインターフェイスエンジン240は、アプリケーションシステム106のメトリックまたはイベントデータを表示するために、ユーザーインターフェイス400、410、420、および430を生成する、または更新する。図4の例において、状態情報は、時間に渡るwebページビュー数を定義するメトリックである。さらに、他の種類のメトリックまたはイベントデータが、ユーザーインターフェイスに提供されてもよい。ユーザーインターフェイスを、図5、6に示す方法とともに以下に説明する。
図5は、いくつかの実施形態に係る状態情報を使用してユーザーインターフェイスを更新するための方法500のフローチャートである。方法500は、アプリケーションシステム106からの状態情報を使用して生成されるメトリックまたはイベントデータの表示を提供する。一実施形態において、方法500は、図1のシステムによって行われる。他のエンティティは、他の実施形態において方法500のステップのいくつかまたは全部を行うことがあり得る。同じように、実施形態は、異なるおよび/または追加されるステップを含むことか、異なる順においてステップを行うことかがあり得る。
監視システム102は、(たとえば、コンピューティングシステムともいわれる)アプリケーションシステム106上で実行しているエージェント114から状態情報を受信する510。状態情報は、アプリケーションシステム106のコンポーネントに関する時間周期に対してである。いくつかの実施形態において、状態情報は、時間周期に関連付けられたメトリックまたはイベントデータを含む。いくつかの実施形態において、状態情報は、時間周期、および時間周期と対応するメトリックまたはイベントデータの値を定義するデータ構造によって表現されることがあり得る。いくつかの実施形態において、さらに、データ構造は、監視システム102による状態情報の受信時間を含むことがあり得る。いくつかの実施形態において、状態情報は、JSON(JavaScript Object Notation)におけるデータ構造{開始時間,終了時間,データ,受信時間}によって表現されることがあり得る。
監視システム102(たとえば、データアグリゲーター220)は、前の状態情報が、時間周期に対して受信されているかどうかを決定する520。さらに、前の状態情報は、関連した時間周期を有してもよい。受信された状態情報と前の状態情報とが同じ時間周期に対してであると決定することに応答して、監視システム102は、状態情報と前の状態情報とを、集約状態情報に組み合わせることがあり得る。対照的に、状態情報と前の状態情報とが(たとえば、前の時間周期が経過したことを意味する)異なる時間周期に対してであると決定することに応答して、監視システム102は、状態情報と前の状態情報とを、集約状態情報に組み合わせないと決定することがあり得る。前の状態情報は、前の状態情報の時間周期に対して、以前に集約されている、受信された状態情報の1つまたは複数のインスタンスを含むことがあり得る。
状態情報が前の状態情報と同じ時間周期に対して受信されたと決定することに応答して、監視システム102(たとえば、データアグリゲーター220)は、状態情報と前の状態情報とに基づいて、集約状態情報を生成する530。
監視システム102(たとえば、サブスクリプションエンジン230)は、集約状態情報から、サブスクライブされた状態情報を生成する540。サブスクライブされた状態情報は、クライアント104からの命令を使用して、サブスクリプションエンジン230により選択された集約状態情報のサブセットであることがあり得る。例えば、サブスクリプションエンジン230は、命令に基づいて、集約状態情報をフィルタリングする。監視システム102からの一定のデータをリクエストしたいユーザーは、クライアント104を使用して、サブスクライブされた状態情報を受信するリクエストを入力することがあり得る。クライアント104は、ユーザーのリクエストに対応する命令を監視システム102に提供する。例えば、命令は、ユーザーが、ユーザーインターフェイス上の提出のためのメトリックもしくはイベントデータまたはデータを説明する他の基準についての1つまたは複数の種類に関する特定のサブセットに対する集約状態情報に関心があることを示す。別の例において、命令は、状態情報の集約および報告のための時間周期を指定することがあり得る。いくつかの実施形態において、サブスクリプションエンジン230は、たとえば、リクエストされたサブスクリプションまたはアクティブのサブスクリプションに対して、ユーザーの命令に従って状態情報をフィルタリングする。
監視システム102(たとえば、サブスクリプションエンジン230)は、サブスクライブされた状態情報をクライアント104に送って、クライアント104よって表されるユーザーインターフェイスにおいて更新をさせる550。サブスクライブされた状態情報の作成および送ることは、監視システム102が状態情報(たとえば、時間周期に対する部分的な集約)を受信するときに、または経過した時間周期に対して集約されたサブスクライブされた状態情報を報告するための監視システム102をトリガーすることがあり得る時間周期が経過したときに、トリガーされることがあり得る。サブスクライブされた状態情報は、ユーザーインターフェイス内の提示に対して、コヒーレントなやり方において、クライアント104に提供される。監視システム102からのサブスクライブされた状態情報の各インスタンスは、クライアント104が、時間周期に対するどんな前の状態情報にもアクセスする必要がなく、表されることが可能であるデータポイントと対応して、ポイントに対して更新されたデータ値を生成することがあり得る。さらにその上、時間周期が経過する前に、サブスクライブされた状態情報は、部分的に集約されたデータを含むことがあり得る。ここで、サブスクライブされた状態情報は、上に述べたように、時間周期に対して完全な「今のところまでの(so-far)」値を表現する。部分的に集約されたデータは、システムが(たとえば、信頼できる完全な集約が生成されることが可能である時間周期が経過する前に)時間周期に対してこれまでに受信した状態情報のみを含むので、時間周期に対して最終の値を表現しない。それにもかかわらず、部分的に集約されたデータを含むサブスクライブされた状態情報は、有用な情報としてユーザーインターフェイスに表されることが可能であり、時間周期が経過する前に、時間周期に対してさらに部分的な集約によって更新されることがあり得る。
いくつかの実施形態において、サブスクライブされた状態情報は、ディスプレイタイム、および時間値と対応するメトリックまたはイベントデータの値を含む。サブスクライブされた状態情報は、データ構造{ディスプレイタイム,データ}により表現されることがあり得り、ただし、ディスプレイタイムが、ユーザーインターフェイスのグラフ(またはチャート)内のx軸の値として使用されることが可能であり、データが、グラフの対応するy軸の値として使用されることが可能である。したがって、サブスクライブされた状態情報の各インスタンスは、ユーザーインターフェイスのグラフにおける点を定義することがあり得る。いくつかの実施形態において、ユーザーインターフェイスエンジン240は、状態情報の最新のインスタンスに関する開始時間または終了時間に基づいて、ディスプレイタイムを決定する。例えば、各時間周期は、ディスプレイタイムに関連付けられることがあり得る。ユーザーインターフェイスエンジン240は、状態情報の開始時間および終了時間を使用して、時間周期を決定して、次に、時間周期に対して、関連したディスプレイタイム決定することがあり得る。いくつかの実施形態において、ユーザーインターフェイスエンジン240は、時間周期内にすべて集約された、または部分的に集約された状態情報を、ユーザーインターフェイスにおけるディスプレイタイムに関連付ける。
図4のユーザーインターフェイス400に示すように、ユーザーインターフェイスエンジン240は、10:20AMから10:30AMまでと定義された時間周期に対して(ディスプレイタイムx=10:30AMにおいて)点402としてグラフに、サブスクライブされた状態情報をプロットする。ここで、ディスプレイタイムは、時間周期の終了時間から決定されるが、さらに、時間周期内の他の時間が、例えば、開始時間、または開始時間と終了時間との間の平均時間など、ディスプレイタイムとして使用されることもあり得る。さらにその上、集約に使用される時間周期は、10分であるが、他の時間周期を使用することもあり得る。ユーザーインターフェイスエンジン240は、10:20AMと10:30AMとの間の時間周期に関連付けられた状態情報の1つまたは複数のインスタンスに基づいて、点402を生成する。時間周期に対する状態情報の複数のインスタンスが集約されていると、点402のデータ値80kは、集約されたインスタンスの状態情報を表現する。別の例において、点402のデータ値80kは、状態情報の単一のインスタンスを表現する。ここで、ユーザーインターフェイス400における点402によって示される状態情報は、データ構造{10:21AM,10:23AM,80k,10:23AM}によって定義されることがあり得る。データ構造は、開始時間10:21AMから終了時間10:23AMまでに、または部分的に集約された状態情報の場合、開始時間10:21から時間周期内の現在もしくは最新の時間までに、キャプチャーされたページビュー数を示すイベントデータ80kを含む。点402に加えて、ユーザーインターフェイス400は、前の時間周期に関連付けられた状態情報を表現する点404を含む。
いくつかの実施形態において、ディスプレイタイムは、時間周期において受信される状態情報の最新のインスタンスに関する受信時間、開始時間、または終了時間に基づいて、選択される。例えば、図4に示すような時間周期の終了と対応するディスプレイタイムを有するよりも、ディスプレイタイムは、周期内の他の何かの時間であることがあり得る。
図4のユーザーインターフェイス410に示すように、10:20AMと10:30AMとの間の時間周期に対する状態情報の後続のインスタンスは、点402がグラフにおいて点406に更新されることに帰着する。例えば、時間周期に関連付けられた状態情報の追加インスタンスが、監視システム102によって受信されると、点402は、時間周期に関連付けられた前の状態情報であり得る。追加の状態情報は、データ構造{10:22AM,10:24AM,40k,10:24AM}によって定義されることがあり得る。データアグリゲーター220は、40kのデータ値により点402の80kのデータ値を集約して、10:20AMから10:30AMまでの時間周期に対する120kのデータ値に帰着する。監視システム102は、データ構造{ディスプレイタイム,データ}を使用して、点406に対してサブスクライブされた状態情報を送ることがあり得り、ただし、ディスプレイタイムが時間周期対して10:30AMであり、データ値が120kに集約される。ユーザーインターフェイスエンジン240は、10:20AMから10:30AMまでと定義された時間周期に対して(ディスプレイタイムx=10:30AMにおいて)、サブスクライブされた状態情報を、点406としてプロットし、点402と取り替える。
図5のステップ520に戻ると、状態情報が前の状態情報と異なる時間周期に対して受信されたと決定することに応答して、監視システム102(たとえば、サブスクリプションエンジン230)は、状態情報に基づいて、時間周期に対してサブスクライブされた状態情報を生成する560。前の状態情報が時間周期に対して存在しないので、510において受信された状態情報は、新しい時間周期と対応する。前の状態情報により集約するよりも、監視システム102は、状態情報を使用して、別の(たとえば、後続の)時間周期に対してサブスクライブされた状態情報を作成する。さらにその上、状態情報は、時間周期に対して受信される後続の状態情報に対する前の状態情報として使用されてもよいし、後続の状態情報により集約されてもよい。
監視システム102(たとえば、サブスクリプションエンジン230)は、サブスクライブされた状態情報をクライアント104に送って、クライアント104よって表されるユーザーインターフェイスにおいて更新をさせる570。図4のユーザーインターフェイス420に示すように、10:30AMと10:40PMとの間の時間周期に対する状態情報の後続のインスタンスは、新しい点412がグラフに追加されることに帰着する。監視システム102は、データ構造{ディスプレイタイム,データ}を使用して、点412に対してサブスクライブされた状態情報を送ることがあり得り、ただし、ディスプレイタイムが時間周期に対して10:40AMであり、データ値が90kである。ここで、510において受信される状態情報は、データ構造{10:33AM,10:34AM,90k,10:34AM}によって定義されることがあり得る。
いくつかの実施形態において、クライアント104によって表されるユーザーインターフェイスは、新しい時間周期に対する状態情報がクライアント104によって受信されると、時間値用のx軸をずらす。図4のユーザーインターフェイス430に示すように、チャートは、10:10AMから10:20AMまでの時間周期に対する点404がグラフから取り除かれる(または隠される)ように左方向にずらされる。例えば、x軸は、クライアント104がチャート上にない時間値を有するポイントに対してサブスクライブされた状態情報を受信すると、ずらされることがあり得る。いくつかの実施形態において、受信した状態情報が経過した時間周期に対してであるならば、クライアント104は、無効であるまたは期限切れであるとしてポイントを無視することがあり得る。他の実施形態において、クライアント104は、後続の時間周期に対するサブスクライブされた状態情報が、クライアント104によって受信されてプロットされた後でさえ、経過した時間周期に対してデータ値を更新することがあり得る。
方法500は、状態情報の追加のインスタンスに対して、監視システム102によって繰り返されることがあり得る。各新しいインスタンスは、方法500において論じられたように扱われることがあり得る。例えば、前の状態情報を有する時間周期に対する新しい状態情報は、前の状態情報により集約されることがあり得る。前の状態情報を有しない時間周期に対する新しい状態情報は、少なくとも、時間周期に対する後続の状態情報が、監視システム102によって受信されるまで、集約されない。監視システム102は、サブスクライブされた状態情報を生成して送り、クライアント104は、サブスクライブされた状態情報を使用して、ユーザーインターフェイスを適宜に更新する。
図6は、いくつかの実施形態に係る監視システム102によるサブスクリプションを維持する方法600のフローチャートである。一実施形態において、方法600は、図1のシステムによって行われる。他のエンティティは、他の実施形態において、方法600のステップのいくつかまたは全部を行うことがあり得る。同じように、実施形態は、異なるおよび/または追加されるステップを含むことか、異なる順においてステップを行うことかがあり得る。
監視システム102(たとえば、サブスクリプションエンジン230)は、サブスクライブされた状態情報を受信するクライアント104から、第1のリクエストを受信する610。監視システム102(たとえば、サブスクリプションエンジン230)は、第1のリクエストに応答して、クライアント104に関連付けられたサブスクリプションを生成する620。本明細書において使用されるサブスクリプションは、サブスクライブされた状態情報とクライアント104との間の関連をいい、サブスクライブされた状態情報をクライアント104に送るために、サブスクリプションエンジン230によって使用される。例えば、サブスクリプションは、関心のあるメトリックまたはイベントデータを指定することがあり得る。さらに、サブスクリプションは、報告のための時間周期を指定してもよい。
監視システム102(たとえば、サブスクリプションエンジン230)は、サブスクライブされた状態情報を受信する第2のクライアント104から、第2のリクエストを受信する630。第2のクライアント104は、第1のクライアント104とは異なることがあり得る。
監視システム102(たとえば、サブスクリプションエンジン230)は、第2のリクエストに応答して、サブスクリプションがアクティブであるかどうかを決定する640。例えば、サブスクリプションエンジン230は、第2のリクエストのサブスクリプションに一致するサブスクリプションを見つけるために、既存のサブスクリプションを評価することがあり得る。一致が見つかるならば、サブスクリプションは、アクティブであると決定される。一致が見つからないならば、サブスクリプションは、非アクティブであると決定される。
サブスクリプションがアクティブであると決定することに応答して、監視システム102(たとえば、サブスクリプションエンジン230)は、サブスクリプションを、第2のクライアント104に関連付ける650。今述べたことは、有利であり得り、なぜなら、例えば、第2のクライアント104に対して新しいサブスクリプションを生成する代わりに、サブスクリプションエンジン230が、たとえば、共通の種類のメトリックまたはイベントデータをリクエストするユーザーの複数のクライアント104に対して、同じサブスクリプションを共有することにおいて、日和見的であるからである。したがって、サブスクリプションエンジン230は、状態情報に対するサブスクリプションを維持するのに必要な、監視システム102の計算上のリソースまたはメモリーリソースの量を削減することがあり得る。いくつかの実施形態において、各サブスクリプションは、サブスクリプションに従ってサブスクライブされた状態情報を提供するために、1つまたは複数のクライアント104と通信する単一のサブスクリプションエンジン230によって、扱われることがあり得る。
640に戻ると、サブスクリプションが非アクティブであると決定することに応答して、監視システム102(たとえば、サブスクリプションエンジン230)は、新しいサブスクリプションを生成して、サブスクライブされた状態情報を第2のクライアント104に関連付ける660。新しいサブスクリプションは、関心のある、同じまたは異なるメトリック、イベントデータ、または時間周期を、非アクティブとして指定することがあり得る。
監視システム102(たとえば、サブスクリプションエンジン230)は、サブスクリプションを取り消すクライアント104から、第3のリクエストを受信する670。サブスクリプションエンジン230は、第3のリクエストに応答して、クライアント104からのサブスクリプションを取り消す680。いくつかの実施形態において、サブスクリプションエンジン230は、非アクティブなサブスクリプションを取り消す。サブスクリプションエンジン230は、サブスクライブされた状態情報を第2のクライアント104に提供するために、サブスクリプションを維持する690。同様に、第2のクライアント104がサブスクリプションを取り消すならば、サブスクリプションエンジン230は、第2のクライアント104に対するサブスクリプションを取り消し、クライアント104のためにサブスクリプションを維持することがあり得る。いくつかの実施形態において、サブスクリプションエンジン230は、他のクライアント104がサブスクリプションを取り消す場合でさえ、少なくとも1つのクライアント104がサブスクリプションを使用している限り、サブスクリプションをサブスクリプションストア355に保持する。やがて、異なるクライアント104は、特定のサブスクリプションに対して、サブスクライブする、または取り消す(アンサブスクライブする)リクエストを供給することがあり得る。サブスクリプションを使用するクライアント104がもうないと決定することに応答して、サブスクリプションエンジン230は、サブスクリプションストア355からサブスクリプションを取り除いて、使用されないメモリー容量と処理のリソースとを自由に使えるようにすることがあり得る。
追加の構成情報
本開示の実施形態ついての前述の説明は、例示の目的のために表されており、網羅的であること、または本開示を開示された厳密なかたちに制限することは意図されない。当業者は、多くの修正および変形が上の開示に照らして可能であることを理解することが可能である。
今までに述べた説明のいくつかの部分は、情報の演算のアルゴリズムおよび記号的な表現に関して、本開示の実施形態を説明する。今までに述べたアルゴリズムの説明および表現は、データ処理技術の当業者によって一般的に使用され、彼らの仕事の内容を他の当業者に効果的に伝える。今までに述べた動作は、機能的、計算的、または論理的に説明される一方、コンピュータープログラムまたは同等の電気回路、マイクロコードなどによって実装されることが理解される。さらにその上、モジュールとしての動作に関する今までに述べた配置を参照することは、一般性を失うことなく、時々便利であることも明らかである。説明された動作および関連付けられたモジュールは、ソフトウェア、ファームウェア、ハードウェア、またはどの組み合わせにおいても具現されることがあり得る。
本明細書において説明されたステップ、演算、または処理のどれでも、1つまたは複数のハードウェアまたはソフトウェアモジュールにより、単独または他のデバイスの組み合わせにおいて、行われるまたは実装されることがあり得る。一実施形態において、ソフトウェアモジュールは、説明したステップ、演算、または処理のいずれかまたはすべてを行うためのコンピュータープロセッサーによって実行されることが可能である、コンピュータープログラムコードを含むコンピューター読み取り可能な媒体を含むコンピュータープログラム製品により実装される。
さらに、本開示の実施形態は、本明細書における演算を行うための装置に関することもあり得る。今述べた装置は、要求される目的のために特別に構築されてもよく、および/または、コンピューターに格納されたコンピュータープログラムによって選択的にアクティベートされるまたは再構成される汎用コンピューティングデバイスを含んでもよい。上述のコンピュータープログラムは、コンピューターシステムバスに接続されることがあり得る非一時的な、有形のコンピューター読み取り可能な記録媒体、または電子命令を格納するのに適したどんな種類の媒体にでも格納されることがあり得る。さらにその上、本明細書において参照されるどのコンピューティングシステムをとっても、シングルプロセッサーを含むことがあり得り、または計算能力を高めるためにマルチプロセッサーの設計を採用するアーキテクチャーであり得る。
さらに、本開示の実施形態は、本明細書において説明される計算処理によって作り出される製品に関することもあり得る。上述の製品は、計算処理に起因する情報を含むことがあり得り、ただし、情報が非一時的な、有形のコンピューター読み取り可能な記録媒体に格納され、コンピュータープログラム製品、または本明細書において説明される他のデータの組み合わせのどんな実施形態でも含み得る。
最後に、本明細書において使用される言い回しは、主に読みやすさおよび教育目的のために選択され、本発明の主題を詳細に叙述するまたは制限するために選択されていることはあり得ない。それゆえ、本開示の範囲は、今までに述べた詳細な説明によってではなく、本明細書に基づいた出願に生じる請求項によって制限されることが意図される。したがって、実施形態の開示は、制限しないが、次に述べる特許請求の範囲に記載される、本開示の範囲を例示することが意図される。

Claims (20)

  1. 状態情報を監視するためのシステムであって、
    前記システムによって、コンピューティングシステム上で実行しているエージェントから状態情報を受信し、第1の時間周期に対する前記状態情報は、前記コンピューティングシステムのコンポーネントに関し、
    前記状態情報を受信することに応答して、
    前記システムによって、前記状態情報と、前記エージェントから以前に受信した前の状態情報とに基づいて、集約状態情報を生成し、前記第1の時間周期に対する前記前の状態情報は、前記コンポーネントに関し、
    サブスクライブされた状態情報を前記集約状態情報から生成し、前記サブスクライブされた状態情報は、クライアントの命令を使用して選択された前記集約状態情報のサブセットであり、
    前記クライアントよって表されるユーザーインターフェイスにおいて更新をさせるために、前記クライアントに前記サブスクライブされた状態情報を送信する
    ように構成された1つまたは複数のプロセッサー
    を備えたことを特徴とするシステム。
  2. 前記1つまたは複数のプロセッサーは、
    前記状態情報の開始時間および終了時間を使用して、前記第1の時間周期と前記状態情報を関連付け、
    前記前の状態情報が前記第1の時間周期に対して以前に受信されたと決定することに応答して前記前の状態情報を検索する
    ようにさらに構成されたことを特徴とする請求項1に記載のシステム。
  3. 前記1つまたは複数のプロセッサーは、
    前記状態情報に対する前記第1の時間周期に基づいて、前記集約状態情報に関連付けられたディスプレイタイムを決定し、
    前記ユーザーインターフェイスにおける前記更新に、前記関連付けられたディスプレイタイムに関して前記サブスクライブされた状態情報の表示を含ませるために、前記クライアントに前記ディスプレイタイムを送信する
    ようにさらに構成されたことを特徴とする請求項2に記載のシステム。
  4. 前記ユーザーインターフェイスにおける前記更新は、前記関連付けられたディスプレイタイムに関して前記コンピューティングシステムに関連付けられた集約するメトリックまたは集約するイベントデータを表示することを含むことを特徴とする請求項3に記載のシステム。
  5. 前記1つまたは複数のプロセッサーは、
    前記システムによって、前記エージェントから第2の状態情報を受信し、前記第2の状態情報は、前記第1の時間周期に続く第2の時間周期に対してであり、
    前記第2の時間周期と前記第2の状態情報を関連付ける
    ようにさらに構成されたことを特徴とする請求項2に記載のシステム。
  6. 前記1つまたは複数のプロセッサーは、前記第2の時間周期に関する前記ユーザーインターフェイスにおいて第2の更新をさせるために、前記第2の状態情報から生成される第2のサブスクライブされた状態情報を送信するようにさらに構成されたことを特徴とする請求項5に記載のシステム。
  7. 前記1つまたは複数のプロセッサーは、
    前記第2の時間周期が前記第1の時間周期の前であるかどうかを決定し、
    前記第2の時間周期が前記第1の時間周期の前であると決定することに応答して、前記第2の状態情報を使用することなしに、前記集約された状態情報を生成する
    ようにさらに構成されたことを特徴とする請求項5に記載のシステム。
  8. 前記1つまたは複数のプロセッサーは、
    前記システムによって、前記クライアントから前記命令を受信し、前記命令は、前記サブスクライブされた状態情報に対するリクエストを示し、前記サブスクライブされた状態情報は、前記命令に基づいて、前記集約状態情報をフィルタリングすることによって生成される
    ようにさらに構成されたことを特徴とする請求項1に記載のシステム。
  9. 前記1つまたは複数のプロセッサーは、
    前記サブスクライブされた状態情報を受信する前記クライアントから第1のリクエストを受信し、
    前記第1のリクエストに応答して、前記サブスクライブされた状態情報を前記クライアントに提供するために、前記クライアントに関連付けられたサブスクリプションを生成し、
    前記サブスクライブされた状態情報を受信する第2のクライアントから第2のリクエストを受信し、
    前記第2のリクエストに応答して、前記クライアントに関連付けられた前記サブスクリプションがアクティブであるかどうかを決定し、
    前記クライアントに関連付けられた前記サブスクリプションがアクティブであると決定することに応答して、前記第2のクライアントと前記サブスクリプションを関連付け、
    前記サブスクリプションを取り消す前記クライアントから第3のリクエストを受信し、
    前記第3のリクエストに応答して、
    前記クライアントから前記サブスクリプションを取り消し、
    前記サブスクライブされた状態情報を前記第2のクライアントに提供するために、前記サブスクリプションを維持する
    ようにさらに構成されたことを特徴とする請求項1に記載のシステム。
  10. 監視システムによって、コンピューティングシステム上で実行しているエージェントから状態情報を受信するステップであって、第1の時間周期に対する前記状態情報は、前記コンピューティングシステムのコンポーネントに関する、ステップと、
    前記状態情報を受信することに応答して、
    前記監視システムによって、前記状態情報と、前記エージェントから以前に受信した前の状態情報とに基づいて、集約状態情報を生成するステップであって、前記第1の時間周期に対する前記前の状態情報は、前記コンポーネントに関する、ステップと、
    サブスクライブされた状態情報を前記集約状態情報から生成するステップであって、前記サブスクライブされた状態情報は、クライアントの命令を使用して選択された前記集約状態情報のサブセットである、ステップと、
    前記クライアントに前記サブスクライブされた状態情報を送信して、前記クライアントよって表されるユーザーインターフェイスにおいて更新をさせるステップと
    を備えることを特徴とする方法。
  11. 前記集約状態情報を生成するステップは、
    前記状態情報の開始時間および終了時間を使用して、前記第1の時間周期と前記状態情報を関連付けるステップと、
    前記前の状態情報が前記第1の時間周期に対して以前に受信されたと決定することに応答して前記前の状態情報を検索するステップと
    を含むことを特徴とする請求項10に記載の方法。
  12. 前記状態情報に対する前記第1の時間周期に基づいて、前記集約状態情報に関連付けられたディスプレイタイムを決定するステップと、
    前記クライアントに前記ディスプレイタイムを送信して、前記ユーザーインターフェイスにおける前記更新に、前記関連付けられたディスプレイタイムに関して前記サブスクライブされた状態情報の表示を含ませるステップと
    をさらに備えることを特徴とする請求項11に記載の方法。
  13. 前記ユーザーインターフェイスにおける前記更新は、前記関連付けられたディスプレイタイムに関して前記コンピューティングシステムに関連付けられた集約するメトリックまたは集約するイベントデータを表示することを含むことを特徴とする請求項12に記載の方法。
  14. 前記監視システムによって、前記エージェントから第2の状態情報を受信するステップであって、前記第2の状態情報は、前記第1の時間周期に続く第2の時間周期に対してである、ステップと、
    前記第2の時間周期と前記第2の状態情報を関連付けるステップと
    をさらに備えることを特徴とする請求項11に記載の方法。
  15. 前記第2の状態情報から生成される第2のサブスクライブされた状態情報を送信して、前記第2の時間周期に関する前記ユーザーインターフェイスにおいて第2の更新をさせるステップをさらに備えることを特徴とする請求項14に記載の方法。
  16. 前記第2の時間周期が前記第1の時間周期の前であるかどうかを決定するステップと、
    前記第2の時間周期が前記第1の時間周期の前であると決定することに応答して、前記第2の状態情報を使用することなしに、前記集約された状態情報を更新するステップと
    をさらに備えることを特徴とする請求項14に記載の方法。
  17. 前記監視システムによって、前記クライアントから前記命令を受信するステップであって、前記命令は、前記ユーザーインターフェイスによる表示に対するデータを示し、前記サブスクライブされた状態情報は、前記命令に基づいて、前記集約状態情報をフィルタリングすることによって生成される、ステップ
    をさらに備えることを特徴とする請求項10に記載の方法。
  18. 前記サブスクライブされた状態情報を受信する前記クライアントから第1のリクエストを受信するステップと、
    前記第1のリクエストに応答して、前記サブスクライブされた状態情報を前記クライアントに提供するために、前記クライアントに関連付けられたサブスクリプションを生成するステップと、
    前記サブスクライブされた状態情報を受信する第2のクライアントから第2のリクエストを受信するステップと、
    前記第2のリクエストに応答して、前記クライアントに関連付けられた前記サブスクリプションがアクティブであるかどうかを決定するステップと、
    前記クライアントに関連付けられた前記サブスクリプションがアクティブであると決定することに応答して、前記第2のクライアントと前記サブスクリプションを関連付けるステップと、
    前記サブスクリプションを取り消す前記クライアントから第3のリクエストを受信するステップと、
    前記第3のリクエストに応答して、
    前記クライアントから前記サブスクリプションを取り消すステップと、
    前記サブスクリプションを維持して、前記サブスクライブされた状態情報を前記第2のクライアントに提供するステップと
    をさらに備えることを特徴とする請求項10に記載の方法。
  19. プロセッサーによって実行されると、前記プロセッサーを
    監視システムによって、コンピューティングシステム上で実行しているエージェントから状態情報を受信し、第1の時間周期に対する前記状態情報は、前記コンピューティングシステムのコンポーネントに関し、
    前記状態情報を受信することに応答して、
    前記監視システムによって、前記状態情報と、前記エージェントから以前に受信した前の状態情報とに基づいて、集約状態情報を生成し、前記第1の時間周期に対する前記前の状態情報は、前記コンポーネントに関し、
    サブスクライブされた状態情報を前記集約状態情報から生成し、前記サブスクライブされた状態情報は、クライアントの命令を使用して選択された前記集約状態情報のサブセットであり、
    前記クライアントよって表されるユーザーインターフェイスにおいて更新をさせるために、前記クライアントに前記サブスクライブされた状態情報を送信する
    ように構成する命令を格納することを特徴とする非一時的なコンピューター読み取り可能な媒体。
  20. 前記プロセッサーによって実行されると、前記プロセッサーを
    前記サブスクライブされた状態情報を受信する前記クライアントから第1のリクエストを受信し、
    前記第1のリクエストに応答して、前記サブスクライブされた状態情報を前記クライアントに提供するために、前記クライアントに関連付けられたサブスクリプションを生成し、
    前記サブスクライブされた状態情報を受信する第2のクライアントから第2のリクエストを受信し、
    前記第2のリクエストに応答して、前記クライアントに関連付けられた前記サブスクリプションがアクティブであるかどうかを決定し、
    前記クライアントに関連付けられた前記サブスクリプションがアクティブであると決定することに応答して、前記第2のクライアントと前記サブスクリプションを関連付け、
    前記サブスクリプションを取り消す前記クライアントから第3のリクエストを受信し、
    前記第3のリクエストに応答して、
    前記クライアントから前記サブスクリプションを取り消し、
    前記サブスクライブされた状態情報を前記第2のクライアントに提供するために、前記サブスクリプションを維持する
    ように構成する命令をさらに格納することを特徴とする請求項19に記載の非一時的なコンピューター読み取り可能な媒体。
JP2020532889A 2017-12-15 2018-11-16 コヒーレントデータを処理するためのシステム Pending JP2021508105A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/844,345 2017-12-15
US15/844,345 US11140242B2 (en) 2017-12-15 2017-12-15 System for processing coherent data
PCT/IB2018/059018 WO2019116123A1 (en) 2017-12-15 2018-11-16 System for processing coherent data

Publications (2)

Publication Number Publication Date
JP2021508105A true JP2021508105A (ja) 2021-02-25
JP2021508105A5 JP2021508105A5 (ja) 2021-11-04

Family

ID=66814862

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020532889A Pending JP2021508105A (ja) 2017-12-15 2018-11-16 コヒーレントデータを処理するためのシステム

Country Status (6)

Country Link
US (2) US11140242B2 (ja)
JP (1) JP2021508105A (ja)
AU (1) AU2018383124B2 (ja)
DE (1) DE112018006363T5 (ja)
SG (1) SG11202004972TA (ja)
WO (1) WO2019116123A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11140242B2 (en) * 2017-12-15 2021-10-05 New Relic, Inc. System for processing coherent data

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006190109A (ja) * 2005-01-06 2006-07-20 Fujitsu Ltd 監視情報提供装置、監視情報提供方法および監視情報提供プログラム
US20140143294A1 (en) * 2012-11-20 2014-05-22 Barinov Y. Vitaly Distributed Aggregation for Contact Center Agent-Groups On Sliding Interval
JP2015089014A (ja) * 2013-10-31 2015-05-07 富士通株式会社 解析プログラム、解析方法、および解析装置

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6097399A (en) * 1998-01-16 2000-08-01 Honeywell Inc. Display of visual data utilizing data aggregation
US7899855B2 (en) 2003-09-08 2011-03-01 Intel Corporation Method, apparatus and instructions for parallel data conversions
US20050183143A1 (en) 2004-02-13 2005-08-18 Anderholm Eric J. Methods and systems for monitoring user, application or device activity
US20160004820A1 (en) * 2005-02-01 2016-01-07 Newsilike Media Group, Inc. Security facility for maintaining health care data pools
US7617314B1 (en) * 2005-05-20 2009-11-10 Network General Technology HyperLock technique for high-speed network data monitoring
US7225103B2 (en) * 2005-06-30 2007-05-29 Oracle International Corporation Automatic determination of high significance alert thresholds for system performance metrics using an exponentially tailed model
US20070150581A1 (en) * 2005-12-22 2007-06-28 American Express Travel Services, Co., Inc. a New York Corporation System and method for monitoring system performance levels across a network
WO2008107020A1 (en) * 2007-03-08 2008-09-12 Telefonaktiebolaget L M Ericsson (Publ) An arrangement and a method relating to performance monitoring
US8301759B2 (en) * 2008-10-24 2012-10-30 Microsoft Corporation Monitoring agent programs in a distributed computing platform
EP2425606B1 (en) * 2009-05-02 2017-11-15 Citrix Systems, Inc. Methods and systems for providing a consistent profile to overlapping user sessions
US9167028B1 (en) * 2009-09-10 2015-10-20 AppDynamics, Inc. Monitoring distributed web application transactions
US9461896B2 (en) * 2011-12-15 2016-10-04 Riverbed Technology, Inc. Methods and systems for efficient updating of time-aligned graphs in a monitoring system
US9225608B1 (en) * 2011-12-21 2015-12-29 Amazon Technologies, Inc. Evaluating configuration changes based on aggregate activity level
US9280437B2 (en) 2012-11-20 2016-03-08 Bank Of America Corporation Dynamically scalable real-time system monitoring
US8806361B1 (en) * 2013-09-16 2014-08-12 Splunk Inc. Multi-lane time-synched visualizations of machine data events
US10693742B2 (en) * 2014-04-15 2020-06-23 Splunk Inc. Inline visualizations of metrics related to captured network data
US9641590B2 (en) 2014-08-27 2017-05-02 Google Inc. Resuming session states
US9846632B2 (en) * 2014-10-08 2017-12-19 Signalfx, Inc. Real-time reporting based on instrumentation of software
US9703670B2 (en) 2015-01-06 2017-07-11 Microsoft Technology Licensing, Llc Performance state machine control with aggregation insertion
US10061824B2 (en) * 2015-01-30 2018-08-28 Splunk Inc. Cell-based table manipulation of event data
US20180089288A1 (en) * 2016-09-26 2018-03-29 Splunk Inc. Metrics-aware user interface
US10917324B2 (en) * 2016-09-28 2021-02-09 Amazon Technologies, Inc. Network health data aggregation service
US11140242B2 (en) * 2017-12-15 2021-10-05 New Relic, Inc. System for processing coherent data

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006190109A (ja) * 2005-01-06 2006-07-20 Fujitsu Ltd 監視情報提供装置、監視情報提供方法および監視情報提供プログラム
US20140143294A1 (en) * 2012-11-20 2014-05-22 Barinov Y. Vitaly Distributed Aggregation for Contact Center Agent-Groups On Sliding Interval
JP2015089014A (ja) * 2013-10-31 2015-05-07 富士通株式会社 解析プログラム、解析方法、および解析装置

Also Published As

Publication number Publication date
US20190191010A1 (en) 2019-06-20
US11140242B2 (en) 2021-10-05
DE112018006363T5 (de) 2020-10-01
AU2018383124A1 (en) 2020-07-02
AU2018383124B2 (en) 2024-05-09
SG11202004972TA (en) 2020-07-29
US11758021B2 (en) 2023-09-12
US20210400122A1 (en) 2021-12-23
WO2019116123A1 (en) 2019-06-20

Similar Documents

Publication Publication Date Title
US11140233B2 (en) System and method for separating content site visitor profiles
US10911517B2 (en) Determining end times for single page applications
US9369521B2 (en) Naming of distributed business transactions
CN109073350B (zh) 应用性能数据的预测性汇总和缓存
JP2022140767A (ja) 計測手段が組み込まれたソフトウェアから受信されるデータストリームのリアルタイム処理
US7954011B2 (en) Enabling tracing operations in clusters of servers
CN104731690B (zh) 适应性度量收集、存储、和警告阈值
US20130262035A1 (en) Updating rollup streams in response to time series of measurement data
WO2015031402A1 (en) Content site visitor processing systems and methods
US11044533B1 (en) Automatic diagnostics alerts
CN114785690B (zh) 基于服务网格的监控方法及相关设备
WO2013033863A1 (en) Performance monitoring of a media player launched by a web browser
US11758021B2 (en) System for processing coherent data
Candra et al. On monitoring cyber-physical-social systems
WO2019028114A1 (en) RESEARCH AND INVENTORY IN CLOUD
US11695845B2 (en) System and method for separating content site visitor profiles
US11250100B2 (en) Cause-based event correlation to virtual page transitions in single page applications
CN104468248B (zh) 业务性能的监控方法、反向代理服务器、统计分析服务器及系统
Efimov et al. Integration data model for continuous service delivery in cloud computing system
US9244811B1 (en) System and method for smart framework for network backup software debugging
CN115658745A (zh) 数据处理方法、装置、计算机设备和计算机可读存储介质
WO2012102727A1 (en) Distributing information
CN106533819B (zh) 线上服务的错误监控方法、装置和系统
US10855743B1 (en) Efficient video transfer system
Truong et al. Self-managing sensor-based middleware for performance monitoring and data integration in grids

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210927

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210927

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20210927

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211026

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20220524