JP2021516394A - 遅延データのためのユーザインタフェース最適化 - Google Patents

遅延データのためのユーザインタフェース最適化 Download PDF

Info

Publication number
JP2021516394A
JP2021516394A JP2020547360A JP2020547360A JP2021516394A JP 2021516394 A JP2021516394 A JP 2021516394A JP 2020547360 A JP2020547360 A JP 2020547360A JP 2020547360 A JP2020547360 A JP 2020547360A JP 2021516394 A JP2021516394 A JP 2021516394A
Authority
JP
Japan
Prior art keywords
workflow
metric
time
time stamp
user interface
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.)
Granted
Application number
JP2020547360A
Other languages
English (en)
Other versions
JP6997337B2 (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 JP2021516394A publication Critical patent/JP2021516394A/ja
Application granted granted Critical
Publication of JP6997337B2 publication Critical patent/JP6997337B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3034Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a storage system, e.g. DASD based or network based
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • G06F11/324Display of status information
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • G06F11/324Display of status information
    • G06F11/328Computer systems status display
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3419Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/206Drawing of charts or graphs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/24Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Human Computer Interaction (AREA)
  • Debugging And Monitoring (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

いくつかの例では、ストレージシステムの状態又は性能の少なくとも1つに関係する複数のメトリックのデータを提示するユーザインタフェースを提示するための指示をコンピュータシステムが受信してもよい。コンピュータシステムは、ストレージシステムから受信されるメッセージを処理するワークフローの状態を決定してもよい。更にコンピュータシステムは、ワークフローの状態に基づいてユーザインタフェース内で提示するための複数のメトリック可視化終了時時刻決定してもよい。コンピュータシステムは複数のメトリック可視化をレンダリングしてもよく、各メトリック可視化は決定された終了時刻を有する。更にコンピュータシステムは、複数のレンダリングされたメトリック可視化をディスプレイ上のユーザインタフェース内で提示するために提供することができる。

Description

本開示は、ユーザインタフェース及び関連データを制御する技術分野に関する。
コンピュータシステムを監視するためのユーザインタフェース(UI)は、UI内でユーザに提示するための様々なプッシュ技法及び/又はプル技法によって様々なソースからデータを受信することができる。パワー不足のハードウェアがシステムに含まれる場合、又はデータ処理の遅延を引き起こす他の何らかの問題がある場合、UI内で提示されるデータの一部分がデータの他の部分よりも遅れる場合がある。かかる遅れは、UIが一部の現行データを提示する一方で、ユーザインタフェースが提示されるときに他のデータが更新されたり又は失われたりすることを引き起こし得る。この問題は、UI及び含まれる可視化の連続的な再レンダリングを引き起こし得る。UIの再レンダリングは、再レンダリングが行われるときUIの一部又はUI全体のちらつきを引き起こす場合があり、そのことは不十分なユーザ体験をもたらし得る。更に、UIの継続的な再レンダリングは演算コストが高い場合があり、そのことはUIを提示する演算装置の性能を劣化させ得る。
いくつかの実装形態は、ストレージシステムの状態又は性能の少なくとも1つに関係する複数のメトリックを含むデータを表示するユーザインタフェースを提示するための指示を受信することができるコンピュータシステムを含む。コンピュータシステムは、ストレージシステムから受信されるメッセージを処理するワークフローの状態を決定することができる。更にコンピュータシステムは、ワークフローの状態に基づいてユーザインタフェース内で提示するための複数のメトリック可視化の終了時刻を決定することができる。コンピュータシステムは複数のメトリック可視化をレンダリングすることができ、各メトリック可視化は決定された終了時刻を有する。更にコンピュータシステムは、提示するために複数のレンダリングされたメトリック可視化をディスプレイ上のユーザインタフェース内に提供することができる。
添付図面を参照して詳細な説明を記載する。図中、参照番号の先頭の数字はその参照番号が初めて登場した図面を識別する。異なる図面内で同じ参照番号を使用することは同様の又は同一のアイテム又は特徴を示す。
図1は、いくつかの実装形態に係るシステムの構成例を示す。
図2は、いくつかの実装形態に係る処理例の流れ図及び対応するメトリック可視化を示す。
図3は、いくつかの実装形態に係る監視ユーザインタフェース例を示す。
図4は、いくつかの実装形態に係る、メトリック可視化の終了時刻を決定する一例を示す。
図5は、いくつかの実装形態に係る処理の一例を示す流れ図である。
図6は、いくつかの実装形態に係るクライアント装置の構成例を示す。
本明細書の一部の実装形態は、ユーザインタフェース(UI)のいくつかのデータの可用性を遅延させ得る構成を有するコンピュータシステム内でUIを生成するための技法及び構成を対象とする。一例として、監視アプリケーションは、1つ又は複数のワークフローが最新或いは現行のものかどうかを判定することができる。ワークフローが現行のものではないと監視アプリケーションが判定する場合、各メトリックの終了時刻がワークフローに関して受信される直近の真のデータ点になるように定めることにより、監視アプリケーションはUI内で提示される複数のメトリック可視化の時間フレームを再定義することができる。いくつかの事例では、第1のタイムスタンプ(t1)は、ワークフローの待ち行列に入るための、直近に待ち行列に入れられたワークフロー入力項目に対応してもよい。更に第2のタイムスタンプ(t2)は、ワークフローによって完了されている、直近に完了したワークフロー項目に対応してもよい。
t1とt2とが同じだと判定された場合、この判定はワークフローが現行のものであること、及び使用される終了時刻が現在時刻又は他のタイミング考察に基づき得ることを示す。その一方でt1とt2とが異なると判定された場合、この判定はデータ処理ワークフロー内のバックログを示し得る。監視アプリケーションが、データ処理ワークフローがバックログされていることを判定すすると、監視アプリケーションは、UI内で表示される全てのメトリック可視化の終了時刻としてt2を使用するようにUI内のメトリクを設定してもよい。従って、メトリック可視化の全ては、メトリックの一部について受信されるデータがメトリックの他のものについて受信されるデータに先行していても、メトリック可視化が時間的に同期されるように、同じ終了時刻に設定されてもよい。時間が進むにつれて、監視アプリケーションは後の時点において再びt1及びt2を取得し比較することにより、次の終了時刻(例えば新たなt2、又はワークフローが追いつく場合は現在時刻)を決定してもよい。
いくつかの例は、ストレージシステムを含むコンピュータシステムの性能をほぼリアルタイム(NRT:near real time)で監視するための監視演算装置を構成する監視アプリケーションを含む。監視アプリケーションは、コンピュータシステムの性能に関する複数のメトリックの複数の可視化を提供してもよい。複数の可視化は、システムの現状及び性能についての可視表示をユーザに与えるために、1つ又は複数の監視UI(いくつかの例ではダッシュボードと呼ばれることもある)内で一緒に提示されてもよい。監視アプリケーションは、監視アプリケーションによって判定されるメトリックのそれぞれについて設定され得る既定値又は他の閾値に基づいて、ユーザに対する警告又は他の通知をトリガしてもよい。
本明細書の実装形態は、UI内の複数の可視化を同期するための複数の可視化ウィンドウを設定するための処理を含む。時間が進むにつれて、監視アプリケーションは実時間と一致してもしなくてもよい新たな「現在」時刻を決定してもよく、可視化を生成するために使用した前回の事項と新たな可視化時刻との間の任意のメトリックデータの更新を決定してもよい。従って本明細書の例は、UIのメトリック可視化の1つ又は複数が遅延し、後で追いつく場合に、可視化全体を再生成する演算負荷を低減することを提供する。
解説のために、いくつかの実装形態例は、データストレージを管理するための1つ又は複数のサービス演算装置及び複数のクライアント装置と対話する、1つ又は複数のネットワークストレージシステムの性能を監視する1つ又は複数の監視演算装置の環境において説明する。但し、本明細書の実装形態は提供する特定の例に限定されず、本明細書の開示に照らして当業者に明らかになるように他の種類の演算システム構成、他の種類のストレージ環境、他の種類のクライアント及びサーバ構成、他の種類のデータ等に及んでもよい。
図1は、いくつかの実装形態に係る、UIを提示するように構成されたシステム100の構成例を示す。いくつかの事例では、システム100は複数の演算装置のクラスタに相当してもよいが、本明細書の実装形態は特定のシステム構成に限定されない。システム100は、1つ又は複数のネットワーク105等によってストレージシステム104と通信することができる或いはストレージシステム104に接続されている、本明細書ではノードとも呼ばれる、少なくとも1つのサービス演算装置102を含む。更にサービス演算装置102は、以下で更に論じるように様々な種類の演算装置の何れかとすることができる1つ又は複数のクライアント演算装置108と、1つ又は複数のネットワーク106上で通信可能であってもよい。加えてクライアント演算装置108は、サービス演算装置109を介してストレージシステム104にアクセスするために等、1つ又は複数のサービス演算装置109と通信可能であってもよい。従って、サービス演算装置109もシステム100内のノードであってもよい。
いくつかの例では、サービス演算装置102及び109は、1つ又は複数のサーバ又は任意の数のやり方で実装され得る他の種類の演算装置を含んでもよい。例えばサーバの場合、プログラム、アプリケーション、他の機能要素、及びデータストレージの少なくとも一部は、サーバのクラスタ、サーバファーム、データセンタ、クラウドによってホストされる演算サービス等の中の少なくとも1つのサーバ上に実装されてもよいが、他のコンピュータアーキテクチャが追加で又は代替的に使用されてもよい。図示の例では、サービス演算装置102及び109は、それぞれ、1つ又は複数のプロセッサ110、1つ又は複数のコンピュータ可読媒体112、及び1つ又は複数の通信インタフェース114を含んでもよく、又はそれらに関連してもよい。
各プロセッサ110は単一の処理ユニット又は幾つかの処理ユニットでもよく、単一の若しくは複数の演算ユニット又は複数の処理コアを含んでもよい。プロセッサ110は、1つ又は複数の中央処理装置、マイクロプロセッサ、マイクロコンピュータ、マイクロコントローラ、デジタル信号プロセッサ、ステートマシーン、論理回路、及び/又は動作命令に基づいて信号を操る任意のデバイスとして実装することができる。一例としてプロセッサ110は、本明細書に記載のアルゴリズム及び処理を実行するように特にプログラムされ又は構成された任意の適切な種類の1つ若しくは複数のハードウェアプロセッサ及び/又は論理回路を含んでもよい。プロセッサ110は、本明細書に記載の機能を実行するようにプロセッサ110をプログラムし得る、コンピュータ可読媒体112内に記憶されるコンピュータ可読命令を取り出して実行するように構成してもよい。
コンピュータ可読媒体112は、コンピュータ可読命令、データ構造、アプリケーションプログラムモジュール、又は他のデータ等の情報を記憶するための任意の種類の技術によって実装される揮発性メモリ及び不揮発性メモリ、及び/又は取外し可能媒体及び取外し不能媒体を含んでもよい。例えばコンピュータ可読媒体112は、これだけに限定されないが、RAM、ROM、EEPROM、フラッシュメモリ又は他のメモリ技術、光学ストレージ、ソリッドステートストレージ、磁気テープ、磁気ディスクストレージ、RAIDストレージシステム、ストレージアレイ、ネットワーク接続ストレージ、ストレージエリアネットワーク、クラウドストレージ、又は所望の情報を記憶するために使用することができ、演算装置によってアクセス可能な他の任意の媒体を含んでもよい。サービス演算装置102及び109の構成にもよるが、非一時的コンピュータ可読媒体がエネルギ、搬送波信号、電磁波、及び/又は信号自体等の媒体を除外すると言及される限りにおいて、コンピュータ可読媒体112は有形の非一時的媒体であってもよい。いくつかの事例では、コンピュータ可読媒体112はサービス演算装置102及び109と同じ位置にあってもよい一方、他の例ではコンピュータ可読媒体112はサービス演算装置102及び109と部分的に離れていてもよい。例えばいくつかの事例では、コンピュータ可読媒体112はストレージシステム104内のストレージの一部を含んでもよい。
コンピュータ可読媒体112は、プロセッサ110によって実行可能な任意の数の機能要素を記憶するために使用されてもよい。多くの実装形態においてこれらの機能要素は、プロセッサ110によって実行可能であり且つ実行時に本明細書ではサービス演算装置102及び109によるものとするアクションを実行するようにプロセッサ110をとりわけプログラムする命令又はプログラムを含む。サービス演算装置102のコンピュータ可読媒体112内に記憶される機能要素は、索引付アプリケーション116、検索アプリケーション118、及び監視アプリケーション120を含んでもよく、そのそれぞれは1つ又は複数のコンピュータプログラム、アプリケーション、実行可能コード、又はその一部を含んでもよい。例えば索引付けアプリケーション116は、以下で更に論じるように1つ又は複数の索引122を生成するためにストレージシステム104から受信されるシステムログメッセージ121に索引付けするためのワークフローを実行してもよい。更に、検索アプリケーション118は、クライアント装置108から検索クエリ123を受信してもよく、それに応答して検索結果応答124を提供してもよい。更に、監視アプリケーション120は、システム100から情報を受信してもよく、ユーザ128が見るためにディスプレイ126上に監視UI125を提示してもよい。
加えて、サービス演算装置109のコンピュータ可読媒体112内に記憶される機能要素は、サーバプログラム130及びデータベースプログラム132を含んでもよく、そのそれぞれは1つ又は複数のコンピュータプログラム、アプリケーション、実行可能コード、又はその一部を含んでもよい。例えばサーバプログラム130は、クライアント装置108及びストレージシステム104との通信機能を提供してもよい。データベースプログラム132は、ストレージシステム104において記憶されるデータに対応する1つ又は複数のファイルシステム134等のメタデータを含むメタデータデータベース133を生成し管理するためのデータベース管理機能を含んでもよい。
サービス演算装置102及び109のコンピュータ可読媒体112内に記憶される追加の機能要素は、サービス演算装置102及び109の様々な機能を制御し管理するためのオペレーティングシステム(図1には不図示)を含んでもよい。いくつかの事例では、機能要素はコンピュータ可読媒体112の記憶部分内に記憶され、コンピュータ可読媒体112のローカルメモリ部分内にロードされ、1つ又は複数のプロセッサ110によって実行されてもよい。
加えてコンピュータ可読媒体112は、本明細書に記載の機能及びサービスを実行するのに使用されるデータ及びデータ構造を記憶してもよい。例えば以下で更に論じるように、サービス演算装置102のコンピュータ可読媒体112は、索引122並びに1つ又は複数のアプリケーションプログラミングインタフェース(API)に対するAPI情報135を記憶してもよい。更に、サービス演算装置109のコンピュータ可読媒体112は、メタデータデータベース133を記憶してもよい。図示の例では、メタデータデータベース133は、複数のファイルシステム134を含む。サービス計算装置102及び109は、他の機能要素及びデータも含み又は維持してもよく、それらは、プログラム、ドライバ等及び機能要素によって使用され又は生成されるデータを含んでもよい。更に、サービス演算装置102及び109は他の多くの論理的、プログラム的、及び物理的な構成要素を含むことができ、そのうち上記で記載したものは本明細書の解説に関係する例に過ぎない。加えて、この例ではサービス演算装置102及び109を別個の計算装置として示すが、他の例ではサービス演算装置102及び109は同じ演算装置であり得る。
通信インタフェース114は、1つ又は複数のネットワーク105及び106上等において他の様々な装置との通信を可能にするための1つ又は複数のインタフェース及びハードウェア構成要素を含んでもよい。従って通信インタフェース114は、ストレージシステム104と通信するためにネットワーク105への接続を提供する1つ又は複数のポート、及びクライアント装置108と通信するためにネットワーク106への接続を提供する1つ又は複数のポートを含んでもよく、又はそれらに接続されていてもよい。例えば通信インタフェース114は、本明細書の他の箇所で更に挙げるように、LAN、インターネット、ケーブルネットワーク、セルラネットワーク、無線ネットワーク(例えばWi−Fi)及び有線ネットワーク(例えばファイバチャネル、光ファイバ、イーサネット(登録商標))、直接接続、並びにBLUETOOTH(登録商標)等の近距離通信等のうちの1つ又は複数を介しての通信を可能にしてもよい。
各クライアント装置108は、デスクトップ、ラップトップ、タブレット演算装置、モバイル装置、スマートフォン、ウェアラブルデバイス、及び/又はネットワーク上でデータを送信可能な他の任意の種類の演算装置等の任意の適切な種類の演算装置であってもよい。いくつかの事例では、クライアント装置108は図6に関して以下で論じるハードウェア構成及び論理構成を含んでもよい。クライアントユーザ136は、個々のユーザアカウント、ユーザログイン資格情報等により個々のクライアント装置108に関連してもよい。いくつかの例では、クライアント装置108がアプリケーションサーバ(図1には不図示)を介してサービス演算装置102又は109にアクセスしてもよい一方、他の例では、クライアント装置108がサービス演算装置102及び109に直接アクセスしてもよい。更にクライアント装置108は、1つ又は複数のネットワーク106を介して、別個のネットワークを介して、又は他の任意の適切な種類の通信接続を介してサービス演算装置102及び109と通信可能であってもよい。本明細書の開示の利益を得る当業者に数多くの他の改変形態が明らかになるであろう。
更に各クライアント装置108は、例えばストレージシステム104上に記憶するためのユーザデータを送信するために及び/又はストレージシステム104から記憶されたデータを受信するためにサーバプログラム130と通信するため等、それぞれのクライアント装置108上で実行されえもよいクライアントアプリケーション138の個々のインスタンスを含んでもよい。いくつかの事例では、アプリケーション138はブラウザを含んでもよく又はブラウザによって動作してもよい一方、他の事例ではアプリケーション138は、1つ又は複数のネットワーク106上でサーバプログラム130と通信することを可能にする通信機能を有する他の任意の種類のアプリケーションを含んでもよい。
1つ又は複数のネットワーク105及び106は、インターネット等の広域ネットワーク、イントラネット等のローカルエリアネットワーク(LAN)、セルラネットワーク等の無線ネットワーク、Wi−Fi等のローカル無線ネットワーク、及び/又はBLUETOOTH(登録商標)等の短距離無線通信、ファイバチャネル、光ファイバ、イーサネット、又は他の任意のかかるネットワークを含む有線ネットワーク、直接の有線接続、又はそれらの任意の組み合わせを含む任意の適切なネットワークを含んでもよい。従って、1つ又は複数のネットワーク105及び106は有線通信技術及び/又は無線通信技術の両方を含んでもよい。かかる通信に使用される構成要素はネットワークの種類、選択された環境、又はその両方に少なくとも部分的に依存し得る。かかるネットワーク上で通信するためのプロトコルはよく知られており、本明細書では詳しくは論じない。従って、サービス演算装置102及び109並びにクライアント装置108は、有線接続又は無線接続及びその組み合わせを使用して1つ又は複数のネットワーク106上で通信することができる。更にいくつかの事例では、サービス演算装置102及び/又は109とクライアント装置108との間に負荷平衡演算装置(図1には不図示)を配置してもよい。加えていくつかの例では、ネットワーク105をLANとすることができ、サービス演算装置102及び109をストレージシステム104に対してローカルに配置してもよい。
ストレージシステム104は1つ又は複数のストレージ演算装置140を含んでもよく、ストレージ演算装置140は、サービス演算装置102及び109に関して上記で論じた例の何れか等の1つ若しくは複数のサーバ又は他の任意の適切な演算装置を含んでもよい。ストレージ演算装置140は、それぞれ、1つ又は複数のプロセッサ142、1つ又は複数のコンピュータ可読媒体144、及び1つ又は複数の通信インタフェース146を含んでもよい。例えばプロセッサ142は、プロセッサ110に関して上記で論じた例の何れかに対応していてもよく、コンピュータ可読媒体144はコンピュータ可読媒体112に関して上記で論じた例の何れかに対応していてもよく、通信インタフェース146は通信インタフェース114に関して上記で論じた例の何れかに対応していてもよい。
加えてコンピュータ可読媒体144は、ストレージシステム104内に含まれるストレージ150上のデータの記憶を管理するために1つ又は複数のプロセッサ142によって実行される機能要素としてストレージプログラム148を含んでもよい。ストレージ150は、記憶装置156の1つ又は複数のアレイ154上にデータを記憶するための、ストレージ150に関連する1つ又は複数のコントローラ152を含んでもよい。例えばコントローラ152は、RAID構成等にアレイ154を構成するために、及び/又は記憶装置156に基づく論理ユニットをストレージプログラム148に提示するために、及び基礎を成す物理記憶装置156上に記憶されるデータオブジェクト158等のデータを管理する等のためにアレイ154を制御してもよい。記憶装置156はハードディスクドライブ、ソリッドステートドライブ、光学ドライブ、磁気テープ、それらの組み合わせ等、任意の種類の記憶装置としてもよい。いくつかの例では、1つ又は複数のアレイ154は、オンデマンド型の記憶容量を提供するように構成されるシンプロビジョニングアレイを含んでもよい。更に、ストレージ150は、チームフォルダのための記憶容量並びに個々のユーザのための記憶容量を提供するために使用されるストレージプールを生成するために使用してもよい。
クライアントユーザ136は、ストレージシステム104上にデータを記憶する、ストレージシステム104からデータを取得する、ストレージシステム104からデータを削除するために等のクライアントストレージ操作160を実行するために、クライアント装置108上で実行されるクライアントアプリケーション138を使用してもよい。かかる操作を実行するために、クライアントアプリケーション138はサービス演算装置109上のサーバプログラム130と通信する。次に、サーバプログラム130は、クライアントアプリケーション108から受信される要求に応じて、ユーザデータを取得する、ユーザデータを記憶する、ユーザデータを削除するようにストレージシステム104に命令するため等の、ストレージシステム104とのサーバストレージ操作162を実行してもよい。
例えばクライアントユーザ136からの要求に応じて、ストレージ演算装置140がストレージ操作を実行するとき、ストレージ演算装置140はコンピュータ可読媒体144上に又は別の適切な記憶位置内に記憶され得るシステムログ170を生成してもよい。加えてストレージプログラム148は、システムログメッセージ121内のシステムログに関する情報をサービス演算装置102に送信してもよい。一例として、システムログメッセージ121は、シスログ形式メッセージとして送信されてもよい。シスログとは、メッセージを生成するソフトウェア、メッセージを記憶するシステム、及びメッセージを報告し分析するソフトウェアの分離を可能にする、IETF(登録商標)(インターネット技術標準化委員会)によって維持されているメッセージロギング用の標準メッセージングプロトコルである。或いは、数多くの他の種類のメッセージングプロトコル及び形式の何れかを使用してもよい。従って、本明細書の実装形態はシスログプロトコルを使用することに限定されない。
いくつかの事例では、システムログメッセージ121は、ストレージシステム104によって実行される、書き込み、読み取り、移動、削除、名前変更等を行うためのアクセスアクション、例えばデータオブジェクト158とのクライアントユーザ136の対話等のそれぞれのアクション、アクションに対応していてもよい。加えて、システムログメッセージは、ストレージシステム104の設定を変更すること、ストレージシステム104内のデータを移動すること等のために管理者が管理コンソール(図1には不図示)を介して行うアクション等のストレージシステム104に対して実行されるイベントにも関係してもよい。
サービス演算算装置102上の索引付アプリケーション116は、システムログメッセージ121を受信してもよく、受信した各システムログメッセージ121への索引付け等のためのワークフローを適用してもよい。ワークフローの完了後、監視アプリケーション120は最新のシステムログメッセージ121に関する情報を監視UI125内で提示してもよい。加えて、監視アプリケーション120はAPI情報135を使用して、ストレージシステム104、及び/又はサービス演算装置109、又はシステム100内の他の演算装置の状態及び性能に関する情報を収集するための1つ又は複数のAPIを適用してもよい。例えば監視アプリケーション120は、メッセージングAPI(MAPI)、REST API、又はシステム100から情報を収集するための他の様々なAPIを使用して、監視アプリケーション120がシステム100の状態及び性能メトリックに関する情報をUI125内で提供できるようにしてもよい。更に、システム100の状態及び性能に関するデータを収集するための1つの技法としてAPIを記載するが、本明細書の実装形態はAPIを使用すること又はシステム100の構成要素の状態及び性能に関する情報を得るための他の任意の特定の技法を使用することに限定されない。一例として、状態及び性能情報を得る又は受信するためにシンプルオブジェクトアクセスプロトコルを使用してもよい。
上記で論じたように、索引付アプリケーション116によって実行される索引付ワークフローは、受信されるシステムログメッセージ121のデータを処理することに関して遅れる場合がある。例えばサービス演算装置102は、索引付処理をリアルタイムで行うには不十分な計算能力を有する可能性があり、又はプロセッサ110がリアルタイムで若しくはほぼリアルタイムで処理できない可能性がある急激に増加した大量の処理用データを受信することがある。受信したシステムログメッセージ121のデータを処理する際のこの遅延は、UI125内のいくつかの可視化について監視アプリケーション120が「最新」データを提示できないことをもたらす場合がある。他方で、監視アプリケーションによって受信され又は得られるAPI取得情報172又は他の状態及び/又は性能データは、それらの情報の索引付けが行われていないので最新であり得る。更に、システムログメッセージ121が長期間受信されていないことを単に知ることは、索引付アプリケーションによって処理されるデータが他のデータと共に最新かどうか或いは現行のものかどうかに関する提示は与えない。
従って本明細書の実装形態は、UI125内のデータの継続的な再レンダリングを回避し、それによりUI125のちらつき又は他の不所望の効果を防ぐために、UI125内で提示される可視化を最適に同期するための技法を適用する。更に、レンダリングデータ及び再レンダリングデータを減らすことは、索引付ワークフロー等の他の操作を行うためにより多くの処理能力を提供することによってサービス演算装置の動作を改善する。加えて本明細書の技法は、システムログメッセージ121を処理する際に索引付けワークフローが常に遅れる場合等において、サービス演算装置102内に導入されているハードウェアがパワー不足かどうかに関する表示を更に提供する。図2に関して以下で論じる、UI125内で提示されるメトリック可視化の同期を最適化するための技法の一例。
図示の例では、ユーザ128に監視UI125を提示するためのディスプレイ126はサービス演算装置102に接続されているものとして示す。しかし他の例では、ディスプレイ126はクライアント装置108の1つに接続され或いは関連してもよく、ユーザ128は1つ又は複数のネットワーク106上で監視ユーザインタフェース125にアクセスするようにしてもよい。従って、本明細書の実装形態はディスプレイ126及び/又はユーザ128の位置に限定されない。
図2及び図5は、いくつかの実装形態に係る処理例を示す流れ図を含む。これらの処理は論理流れ図のブロックの集まりとして示されており、それらのブロックはその一部又は全てをハードウェア、ソフトウェア、又はそれらの組み合わせによって実装し得る一連の操作を示す。ソフトウェアの脈絡では、ブロックは、1つ又は複数のプロセッサによって実行されるとき、列挙された操作を実行するようにプロセッサをプログラムする1つ又は複数のコンピュータ可読媒体上に記憶されるコンピュータ実行可能命令を表してもよい。概してコンピュータ実行可能命令は、特定の機能を実行し又は特定のデータ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造等を含む。ブロックが記載されている順序は限定として構成されるすべきではない。記載するブロックの任意の個数を任意の順序で及び/又は並列に組み合わせてこの処理又は代替的処理を実施することができ、ブロックの全てを実行しなければならない訳ではない。解説目的で、本明細書の例の中で記載する環境、枠組み、及びシステムに関して処理を説明するが、これらの処理は多岐にわたる他の環境、枠組み、及びシステム内で実施してもよい。
図2は、いくつかの実装形態に係る処理200及び対応するメトリック可視化の一例を示す。処理200は、第1のアプリケーションによって実行され得るワークフローを表すブロック202〜208を含む。例えばブロック202〜208のワークフローは、例えば図1に関して上記で論じたように受信されたシステムログメッセージに索引付けするための索引付アプリケーションによって実行されてもよい。処理200はブロック210〜218を更に含み、ブロック210〜218は、ブロック202〜208のワークフローの状態に基づいて監視UI内に提示するための最適なメトリック可視化を決定するために監視アプリケーションによって実行される操作を表す。
202で、演算装置がストレージシステムから入力を受信してもよい。例えば記憶装置は、ストレージシステム上で操作が実行されるとき、演算装置にシステムログメッセージを送信してもよい。演算装置上の索引付アプリケーションはシステムログメッセージを受信し、受信したメッセージを処理するためのワークフローを実行してもよい。図示の例では、ワークフローは、受信したメッセージに含まれるテキスト、メタデータ、及び他の情報を抽出すること等によって受信したメッセージに索引付けすることを含み、ストレージシステム104上に記憶されるオブジェクトデータの索引付け機能を行う。上記で述べたように、システムログメッセージの種類はアクセスログ及びイベントログを含んでもよい。アクセスログは、ストレージシステム内に記憶されるオブジェクトデータに対してユーザが行うアクション、例えば読み取り、書き込み、削除、移送、名前変更等を含んでもよい。イベントログは、管理コンソールによって行われ得るような管理アクションを含んでもよく、データの移動、ストレージシステムの設定変更等を含んでもよい。
204で、計算装置は、受信済みの入力をワークフロー内で処理するために、受信された入力を待ち行列に入れてもよい。例えば演算装置は、ワークフローの処理を行うためにワークフロー用の先入れ先出し待ち行列を有してもよい。待ち行列内の各入力は、入力に関連付けてタイムスタンプを有し得てもよい。例えば、受信される各システムログメッセージは、システムログメッセージを送信したストレージシステムによって割り当てられ、且つストレージシステム上で対応する操作が行われた時刻に対応し得るタイムスタンプを有してもよい。
206で、演算装置は受信された入力に対してワークフローパイプラインを実行してもよい。例えばワークフローが受信されたシステムログメッセージに索引付けするためのものである場合、ワークフローは、システムログメッセージが関係するデータオブジェクトの性質に応じて、実行されるアクションを決定すること、ストレージシステム上の操作を実行する際のレイテンシを明らかにすること、操作に関係する名前空間を決定すること、文書のMIMEタイプを検出すること、テキスト及びメタデータを抽出すること、並びに索引付けに使用され得る他の情報を抽出することを含む、受信メッセージを構文解析し、索引付けするために関連情報を抽出すること等の索引付け操作を含んでもよい。
208で、現在の入力についてワークフローが完了され、索引付アプリケーションはブロック206に戻って、ワークフローの処理を待つ待ち行列内の任意の更なる入力を調べ、それらの入力に対してワークフローの処理を行ってもよい。索引付アプリケーションは、索引付けされている各システムログメッセージのタイムスタンプを抽出してもよく従ってこの例ではtindexに対応する直近に索引付けされたシステムログメッセージのタイムスタンプにアクセスしてもよい。
210で、演算装置上で実行される監視アプリケーションが内部API又は他のアプリケーション内通信を使用して索引付アプリケーションからtqueue及びtindexを得てもよい。各システムログメッセージのタイムスタンプは、直近に待ち行列に入れられたシステムログメッセージ(即ち待ち行列に入れられた最後のシステムログメッセージ)のタイムスタンプをtqueueとして、及び直近に索引付けされたシステムログメッセージのタイムスタンプ、即ちtindexを得るための内部APIを使用し、索引付プログラムから監視プログラムによって決定されてもよい。
212で、演算装置上の監視プログラムがtqueueをtindexと比較してそれらが同じかどうかを判定してもよい。例えば図1に関して上記で論じたように、及び図3に関して以下で更に論じるように監視UIを生成するとき、監視プログラムは、各メトリックの終了時刻が互いに一致することを確実にするために監視UI内で提示されるメトリックを最適化してもよい。その結果、監視プログラムは、まず、待ち行列に追加された最後のシステムログメッセージのタイムスタンプtqueueを直近に索引付けされたシステムログメッセージに含まれるタイムスタンプtindexと比較することによってワークフローが最新であるかどうかを判定する。
214で、tqueueがtindexに等しい場合はワークフローが最新であり、監視UI内で提示されるメトリックの終了時刻は、現在時刻に設定されてもよい。例えば220に示すように、監視UIのためのメトリック可視化の一例は、グラフィカルに又は他の方法で表すことができるデータ222、開始時刻224、時間窓226、及び終了時刻228を含んでもよい。時間窓226は終了時刻と開始時刻との差に等しく、いくつかの事例では監視UI内で提示される全ての可視化について同じであってもよい。更に、ワークフローを通して追加入力を処理するときモニタUIの継続的な再レンダリングを防ぐために監視UIを最適化するために、監視UI内で提示される全てのメトリック可視化を現在時刻に基づいてレンダリングしてもよく、監視UIの再レンダリングの次の時刻は(例えばデフォルトで又はユーザによって指定される)閾値時刻に限定してもよく、及び/又は再レンダリングを引き起こす手動入力をユーザから受信すること等に限定されてもよい。従ってワークフローが最新である場合、受信したデータの一部を処理する際の遅延を引き起こし得る他のワークフローがないと仮定し、可視化の全てが現在時刻までに受信したデータを表示してもよい。
216で、tqueueがtindexと等しくない場合、ワークフローは情報処理において遅れている。従って、監視プログラムはメトリック可視化の終了時刻を、直近に索引付けされたシステムログメッセージのタイムスタンプに対応するtindexに設定してもよい。例えば監視プログラムは、その時点までの全てのデータが索引付けされている、最後の時点を決定する。監視UI内で提示するためのメトリック可視化の全ては、データ222を表示するように構成してもよく、システムログメッセージが索引付けされているその時点まで表示してもよい。従ってこの技法を使用することにより、監視UI内で提示されるメトリック可視化の全てが、提示される監視UI上で同期しているように見える。従って、ワークフローによって処理された受信されたシステムログメッセージの全てが、ソースシステム上で操作が何時行われたのかについてのその個々のタイムスタンプを含むので、ワークフローが最新かどうか又は処理が遅れているかどうかを判定するために個々のメッセージに関連するタイムスタンプを使用してもよい。その結果、監視UIをレンダリングするとき、監視プログラムは各メトリック可視化内でレンダリングされるデータをtindex、即ち直近に索引付けされたシステムログメッセージのタイムスタンプに対応する時間に限定する。
218で、各メトリック可視化が監視UI内で提示されるように、監視プログラムは各メトリック可視化の開始時刻を終了時刻から時間窓の長さを引いた時刻に等しく設定する。上記で述べたように、各メトリック可視化の終了時刻はブロック214又は216で決定される。典型的には、時間窓は特定の時間において監視UI内で提示される全ての可視化について同じとしてもよいが、他の例では異なる時間の長さを有する異なる時間窓を使用してもよい。監視プログラムはディスプレイ上に複数のメトリック可視化をレンダリングしてもよく、メトリック可視化の全てが決定された終点までのデータを表示し、それにより、提示されている監視UI内の可視化が互いに整列することを可能にする。従って本明細書の実装形態は、ユーザにとっての混乱を回避する監視UIを提供する。例えば時間窓が1時間に等しい場合、監視UI上の全てのメトリック可視化が同じ1時間の窓、即ち同じ開始時刻及び同じ終了時刻に整列される。tqueueがtindexと等しい場合、終了時刻は実際の時間に設定される。tqueueがtindexと等しくない場合、終了時刻はtindexの時刻、即ち直近に索引付けされたシステムログメッセージのタイムスタンプに対応する時刻に設定される。更に、監視アプリケーションは監視UIの再レンダリングを閾値の時限、例えば30秒ごと、毎分、2分ごと、5分ごと等に限定することにより、更なるシステムログメッセージがワークフローによって処理されるときの監視UIの連続的な再レンダリングを回避してもよい。
図3は、いくつかの実装形態に係る監視UI125の構成の一例を示す。図3に示す構成例は5つの異なるメトリック可視化を含むが、本明細書の実装形態は更に多くの又は少ないメトリック可視化を含んでもよく、他のメトリックのための多岐にわたる他のメトリック可視化を含んでもよい。いくつかの事例では、ユーザインタフェース125は、管理ユーザにとってアクセス可能なディスプレイ上に、又は上記で論じたシステム100の状態及び性能を閲覧するのに十分な許可状態を有する別のユーザの演算装置のディスプレイ上に提示されてもよい。
図示の例では、監視UIがメニュー502を含み、メニュー502は監視UI125に対応する監視ダッシュボードを閲覧することをユーザが選択したことを示している。メニュー502は、提示するメトリックのソース、監視設定、共有の設定、又はホームに戻る画面をユーザが選択することを更に可能にしてもよい。更にこの例では、選択された監視UIが、504で示すようにアプリケーション負荷監視UIを表してもよい。図示の例では、監視UI125内に含まれるメトリック可視化が、ストレージシステムのレイテンシ506、1秒当たりのストレージシステムの動作508、ストレージシステムのHTTP接続数510、ストレージシステムのスループット512、及びストレージシステムの動作規模514を含む。
本明細書では不図示の他の種類の監視UIの例は、リソース監視UI、ストレージ及びオブジェクト監視UI、並びにアプリケーションブレークダウン監視UIを含んでもよい。例えばリソースモニタUIは、CPU使用率、CPU入出力待ち時間、ディスク入出力時間、ディスク使用率、HTTP接続、フロントエンドネットワーク入出力、及びバックエンドネットワーク入出力に関するメトリック可視化を含んでもよい。ストレージ及びオブジェクト監視UIは、プライマリストレージ使用率、エコノミストレージ使用率、ストレージ内のオブジェクト数、ノードによるストレージ、テナントによるストレージ、及びテナント、即ちストレージシステムのユーザによるオブジェクト数に関するメトリック可視化を含んでもよい。加えて、アプリケーションブレークダウン監視UIは、ノードによる1秒当たりの動作、テナントによる1秒当たりの動作、タイプによる1秒当たりの動作、応答による1秒当たりの動作、及びゲートウェイによる1秒当たりの動作に関するメトリック可視化を含んでもよい。更にユーザは、上記で論じたメトリック可視化の何れか又は他のメトリック可視化等、ユーザによって指定された選択されたメトリック可視化を含み得るカスタム監視UIを指定することができるようにしてもよい。
図示の例では、516に示すように、レンダリングされるメトリック可視化506〜514の範囲を例えばこの例では11:25〜12:25と示してもよい。更に518に示すように、ユーザは監視UIの時間窓又は他の設定を制御するためのフィルタ制御を選択してもよい。加えて、本明細書では監視UIの一例を説明し図示するが、他の多くの改変形態が本明細書の開示の利益を得る当業者に明らかになる。
図4は、いくつかの実装形態に係る終了時刻及び開始時刻を決定することの一例を示す。この例では、図2に関して上記で論じたように、監視プログラムが、ディスプレイ上のUI上で監視を提示するための要求をユーザから受信したと仮定する。従って、監視UIをレンダリングする前に、監視プログラムはメトリック可視化を監視UI内で提示するために使用する終了時刻を決定する。従ってこの例では、監視プログラムは現在のワークフロー402からtqueue及びtindexを決定すると仮定する。この例では、監視プログラムがtqueueに対応するメッセージのタイムスタンプが9:30AMに等しく、対応するメッセージのタイムスタンプtindexが8:55AMに等しいと決定したと仮定する。その結果、tqueueはtindexと等しくないので、レンダリングされるメトリック可視化404ごとに、監視プログラムは終了時刻228をtindexに対応するメッセージのタイムスタンプ、即ちこの例では8:55AMに等しくなるように設定する。更に、全てのメトリック可視化404が同じ時間窓について提示される場合、監視プログラムは開始時刻224を終了時刻から、時間窓の長さ、この例では1時間を引いた時刻に等しくなるように設定してもよく、従って開始時刻が7:55AMに等しくなるように設定される。従って、監視プログラムは同じ開始時刻224及び終了時刻228を有する複数のメトリック可視化404を有する監視UIをレンダリングしてもよい。
図5は、いくつかの実装形態に係る処理500の一例を示す流れ図である。一部の事例では、処理500はサービス演算装置102又は他の適切な演算装置によって少なくとも部分的に実行されてもよい。一例として、図1〜図4に関して上記で論じたサービス演算装置102の更に多いプロセッサの1つによって実行される監視アプリケーション120は、図5の処理500の少なくとも一部を実行するための実行可能命令を含んでもよい。
502で、演算装置はストレージシステム及び/又はストレージに関連する演算装置の状態又は性能の少なくとも1つを示すデータを受信してもよい。いくつかの事例では、ストレージシステム、他のノード等からデータを集めるためにAPI又は他の技法が使用されてもよい。
504で、演算装置はストレージシステムからシステムログメッセージを受信してもよく、システムログメッセージはアクセスログ又はイベントログの少なくとも1つを含む、ストレージシステムによって又はストレージシステム上で実行される操作に関する情報を含む。例えば演算装置は、ストレージシステム上で実行される操作に関する情報を含むシスログメッセージ又は他のメッセージをストレージシステムから受信してもよい。
506で、演算装置は、ストレージシステムの状態又は性能の少なくとも1つに関する複数のメトリクのデータを提示するための監視ユーザインタフェースを提示するための指示を受信してもよい。一例として、ユーザは、演算装置に関連するディスプレイ上で又は演算装置と通信する別の演算装置上で監視アプリケーションに監視UIを提示させるためのコマンドを入力してもよい。
508で、演算装置はストレージシステムから受信されるメッセージを処理するワークフローの状態を決定してもよい。例えば、ワークフローの状態は図2のブロック210に関して以下で論じるように決定してもよい。
510で、演算装置は、ワークフローの決定された状態に基づいてユーザインタフェース内で提示するための複数のメトリック可視化の終了時刻を決定してもよい。例えば、使用する終了時刻は図2のブロック212〜216に関して以下で論じるように決定されてもよい。
512で、演算装置は終了時刻に基づいて各メトリック可視化の開始時刻を決定してもよい。例えば、開始時刻は図2のブロック218に関して以下で論じるように決定されてもよい。
514で、演算装置は、決定された終了時刻に基づいてユーザインタフェース内で提示するための複数のメトリック可視化をレンダリングしてもよい。演算装置は、監視UI内で提示するためのメトリック可視化をレンダリングするために既知の様々なレンダリング技法の何れかを使用してもよい>。
516で、演算装置は、複数のレンダリングされたメトリック可視化をディスプレイ上のユーザインタフェース内で提示するために提供してもよい。いくつか事例では、レンダリングされたメトリック可視化は、ディスプレイ上のモニタUI内で提示するためにディスプレイコントローラに提供されてもよい。他の例では、レンダリングされたメトリック可視化(又は遠隔レンダリングを可能にするための情報)はネットワーク上でクライアント演算装置に送信される。
518で、演算装置は時間閾値を適用して、その時間閾値が満了する前の複数のメトリック可視化の再レンダリングを制限してもよい。いくつかの事例では、監視プログラムはワークフローの状態を周期的に確認してもよく、新たなデータが受信されており閾値時間が満了している場合、レンダリングされるメトリック可視化を更新してもよい。
本明細書に記載したプロセスの例は解説目的で与えたプロセスの例に過ぎない。本明細書の開示に照らして他の多数の改変形態が当業者に明らかになる。更に、本明細書の開示は処理を実行するのに適した枠組み、アーキテクチャ、及び環境の幾つかの例を記載したが、本明細書の実装形態は図示し解説した特定の例に限定されない。更に、本開示は説明し図示する様々な実装形態の例を示す。しかし、本開示は本明細書で説明し図示する実装形態に限定されず、当業者に知られる又は知られることになる他の実装形態に及び得る。
図6は、いくつかの実装形態に係るクライアント装置108の一例の選択コンポーネント例を示す。各クライアント装置108は、ワークステーション、デスクトップ、ラップトップ、タブレット計算装置、モバイル装置、スマートフォン、ウェアラブル計算装置、又はネットワーク上でデータを送受信可能な他の任意の種類の計算装置等の任意の適切な種類の演算装置としてもよい。更にクライアント装置108は、1つ又は複数のネットワーク106を介して、別個のネットワークを介して、又は他の任意の適切な種類の通信接続(図6には不図示)を介して1つ又は複数のサービス演算装置102と通信可能であってもよい。本明細書の開示の利益を得る当業者に数多くの他の改変形態が明らかになり得る。
基本構成では、クライアント装置108は、少なくとも1つのプロセッサ602、1つ又は複数のコンピュータ可読媒体604、1つ又は複数の通信インタフェース606、及び1つ又は複数の入力/出力(I/O)コンポーネント608等のコンポーネントを含む。各プロセッサ602は、1つ又は複数のプロセッサ又は処理コアをそれ自体が含んでもよい。例えば各プロセッサ602は、1つ又は複数のマイクロプロセッサ、マイクロコンピュータ、マイクロコントローラ、デジタル信号プロセッサ、中央処理装置、状態機械、論理回路、及び/又は動作上の命令に基づいて信号を操作する任意の装置として実装されてもよい。いくつかの事例では、プロセッサ602は、本明細書に記載の処理及び他のアルゴリズムを実行するように特にプログラムされ又は構成される任意の適切な種類の1つ若しくは複数のハードウェアプロセッサ及び/又は論理回路を含んでもよい。プロセッサ602は、コンピュータ可読媒体604内に記憶されるコンピュータ可読可能な、プロセッサ実行可能な命令を取り出し実行するように構成されてもよい。
クライアント装置108の構成にもよるが、コンピュータ可読媒体604は有形の非一時的コンピュータ可読媒体の一例とすることができ、コンピュータ可読可能なプロセッサ実行可能命令、データ構造、プログラムモジュール、又は他のデータ等の情報を記憶するための任意の種類の技術によって実装される揮発性メモリ及び不揮発性メモリ、及び/又は取外し可能媒体及び取外し不能媒体を含んでもよい。コンピュータ可読媒体604は、これだけに限定されないが、RAM、ROM、EEPROM、フラッシュメモリ、ソリッドステートストレージ、光学ストレージ、磁気ディスクストレージ、磁気テープ、及び/又は他の種類のストレージ技術を含んでもよい。更にいくつかの事例では、クライアント装置108は、外部ストレージに直接、別の演算装置を介して、又はネットワーク等によってアクセスしてもよい。従ってコンピュータ可読媒体604は、プロセッサ602によって実行され得る命令、プログラム、又はソフトウェアコードを記憶可能なコンピュータ記憶媒体であってもよい。
コンピュータ可読媒体604は、プロセッサ602によって実行可能な任意の数の機能的なコンポーネントを記憶し維持するために使用してもよい。いくつかの実装形態では、これらの機能的コンポーネントは、プロセッサ602によって実行可能であり、且つ実行時に上記ではクライアント装置108によるものだとしたアクション及びサービスを実行するための動作ロジックを実装する命令又はプログラムを含む。コンピュータ可読媒体604内に記憶されるクライアント装置108の機能的コンポーネントは、上記で論じたようにクライアントアプリケーション138を含み得る。更なる機能的コンポーネントは、クライアント装置108の様々な機能を制御し管理するための、及びクライアント装置108との基本的なユーザ対話を可能にするためのオペレーティングシステム610を含んでもよい。コンピュータ可読媒体604は、ブラウザアプリケーションを含み得る、様々な機能及びタスクを実行するためにクライアント装置108上で実行され得る1つ又は複数の他のアプリケーション614を更に含んでもよい。加えて又は選択的に、いくつかの事例では、クライアントアプリケーション138はブラウザでもよく又はブラウザを含んでもよい。
加えて、コンピュータ可読媒体604は、機能的なコンポーネントによって使用されるデータ、データ構造等も記憶してもよい。例えばコンピュータ可読媒体604によって記憶されるデータ及びデータ構造は、1つ若しくは複数のファイル612及び/又は他のデータオブジェクトを含んでもよい。クライアント装置108の種類にもよるが、コンピュータ可読媒体604は、プログラム、ドライバ等及び機能的コンポーネントによって使用され又は生成されるデータを含み得る、他のモジュール及びデータ614等の他の機能的コンポーネント及びデータも任意選択的に含んでもよい。更に、クライアント装置108は他の多くの論理的、プログラム的、及び物理的なコンポーネントを含んでもよく、そのうち記載したものは本明細書の解説に関係する例に過ぎない。
クライアント装置108は、1つ又は複数の通信インタフェース606を更に含んでもよい。通信インタフェース606は、ネットワーク105及び106等によって他の様々な装置との通信を可能にするための1つ又は複数のインタフェース及びハードウェアコンポーネントを含んでもよい。例えば通信インタフェース606は、サービス演算装置102又は他の演算装置と通信するためにネットワーク106への接続を提供する1つ又は複数のポートを含んでもよく、又はそれらに結合してもよい。例えば通信インタフェース606は、本明細書の他の箇所で更に挙げるように、LAN(ローカルエリアネットワーク)、WAN(広域ネットワーク)、インターネット、ケーブルネットワーク、セルラネットワーク、無線ネットワーク(例えばWi−Fi)及び有線ネットワーク(例えばファイバチャネル、光ファイバ、イーサネット)、直接接続、並びにBLUETOOTH(登録商標)等の近距離通信等のうちの1つ又は複数を介しての通信を可能にしてもよい。
クライアント装置108は、スピーカ、マイクロフォン、カメラ、及び様々なユーザコントロール(例えばボタン、ジョイスティック、キーボード、キーパッド、タッチスクリーン等)、触覚出力装置等のI/Oコンポーネント608を更に含んでもよい。例えばクライアント装置108のオペレーティングシステム610は、キーパッド、キーボード、又はI/O構成要素608と共に含まれる他のユーザコントロール及び装置からの入力を受け付けるように構成される適切なドライバを含んでもよい。加えてクライアント装置108は、ディスプレイ616を含んでもよい。加えてクライアント装置108は、不図示の他の様々なコンポーネントを含んでもよく、その例は様々な種類のセンサ、全地球測位システム装置、電池及び電源制御ユニット等の電源等を含む。
本明細書に記載した様々な命令、処理、及び技法は、コンピュータ可読媒体上に記憶され、本明細書のプロセッサによって実行されるプログラムモジュール等のコンピュータ実行可能命令の全般的な脈絡において検討してもよい。概してプログラムモジュールは、特定のタスクを実行し又は特定の抽象データ型を実装するためのルーチン、プログラム、オブジェクト、コンポーネント、データ構造、実行可能コード等を含む。それらのプログラムモジュール等はネイティブコードとして実行してもよく、又は仮想マシン若しくは他のジャストインタイムコンパイル実行環境等の中でダウンロードし実行してもよい。典型的には、プログラムモジュールの機能は様々な実装形態において所望の通りに組み合わせ又は分散させてもよい。これらのモジュール及び技法の実装はコンピュータ記憶媒体上に記憶されてもよく、又は何らかの形の通信媒体上で伝送されてもよい。
構造上の特徴及び/又は方法論的な行為に固有の言語によって本主題を説明してきたが、添付の特許請求の範囲に定める本主題は記載した特定の特徴又は行為に必ずしも限定されないことを理解すべきである。むしろ特許請求の範囲を実装する形態の例として特定の特徴及び行為が開示されている。

Claims (15)

  1. 1つ又は複数のプロセッサと、
    前記1つ又は複数のプロセッサによって実行されると、
    ストレージシステムの状態又は性能の少なくとも1つに関係する複数のメトリックのデータを提示するユーザインタフェースを提示するための指示を受信すること、
    前記ストレージシステムから受信されたメッセージを処理するワークフローの状態を決定すること、
    前記ワークフローの前記状態に基づいて、前記ユーザインタフェース内で提示するための複数のメトリック可視化の終了時刻を決定すること、
    各メトリック可視化が前記決定された終了時刻を有する前記複数のメトリック可視化をレンダリングすること、及び
    前記複数のレンダリングされたメトリック可視化をディスプレイ上の前記ユーザインタフェース内で提示するために提供すること
    を含む操作を実行するように前記1つ又は複数のプロセッサを構成する実行可能命令を保持する1つ又は複数の非一時的コンピュータ可読媒体と、
    を含む、システム。
  2. 請求項1に記載のシステムにおいて、
    前記メッセージのそれぞれが個々のタイムスタンプを含み、
    前記ワークフローは、前記ワークフローによる処理の前に受信メッセージを待ち行列に並べるための待ち行列を含み、
    前記ワークフローの前記状態を決定することは、前記待ち行列に直近に追加されたメッセージの第1のタイムスタンプを、直近に完了した前記ワークフローに関するメッセージの第2のタイムスタンプと比較することを含む、
    システム。
  3. 請求項2に記載のシステムにおいて、
    前記第1のタイムスタンプが前記第2のタイムスタンプと一致する場合、前記複数のメトリック可視化の前記終了時刻を決定することは、現在時間に基づいて前記終了時刻を設定することを含む、
    システム。
  4. 請求項2に記載のシステムにおいて、
    前記第1のタイムスタンプが前記第2のタイムスタンプと一致しない場合、前記複数のメトリック可視化の前記終了時刻を決定することは、前記第2のタイムスタンプに基づいて前記終了時刻を設定することを含む、
    システム。
  5. 請求項2に記載のシステムにおいて、
    前記ワークフローは、前記受信メッセージに索引付けするための索引付処理を含み、
    前記ワークフローの前記状態を決定することは、前記索引付処理と通信して前記第1のタイムスタンプ及び前記第2のタイムスタンプを決定することを含む、
    システム。
  6. 請求項5に記載のシステムにおいて、
    前記索引付処理と通信して前記第1のタイムスタンプ及び前記第2のタイムスタンプを決定することは、前記1つ又は複数のプロセッサ上で実行される監視アプリケーションが、アプリケーションプログラミングインタフェースを使用して前記1つ又は複数のプロセッサ上で実行される索引付プログラムから前記第1のタイムスタンプ及び前記第2のタイムスタンプを得ることを含む、
    システム。
  7. 請求項2に記載のシステムにおいて、
    前記ユーザインタフェース内で提示するための前記複数のメトリック可視化それぞれの開始時刻を決定することを更に含み、前記開始時刻は個々のメトリック可視化の前記終了時刻から、個々のメトリック可視化のそれぞれの時間窓を減算することによって決定される、
    システム。
  8. 請求項1に記載のシステムにおいて、
    前記メッセージは、アクセスログ又はイベントログの少なくとも1つを含む、前記ストレージシステムによって又は前記ストレージシステム上で実行される操作に関する情報を含むシステムログメッセージであり、前記アクセスログは前記ストレージシステムによって記憶されるオブジェクトデータに対してユーザによって行われるアクションに関する情報を含み、前記イベントログは管理アクションに関する情報を含む、
    システム。
  9. 請求項1に記載のシステムにおいて、
    前記複数のメトリックのデータは、前記ストレージシステム又は前記ストレージシステムと対話する1つ若しくは複数の演算装置から、1つ又は複数のアプリケーションプログラミングインタフェースを介して得られるデータを含む、
    システム。
  10. 請求項1に記載のシステムにおいて、
    前記レンダリングされたメトリック可視化を含む前記ユーザインタフェースがディスプレイ上に提示され、
    時間閾値は、前記時間閾値が満了する前に、前記レンダリングされたメトリック可視化の再レンダリングを制限するために適用される、
    システム。
  11. ストレージシステムの状態又は性能の少なくとも1つに関係する複数のメトリックのデータを提示するユーザインタフェースを提示するための指示を1つ又は複数のプロセッサによって受信すること、
    前記ストレージシステムから受信されるメッセージを処理するワークフローの状態を決定すること、
    前記ワークフローの前記状態に基づいて前記ユーザインタフェース内で提示するための複数のメトリック可視化の終了時刻を決定すること、
    各メトリック可視化が前記決定された終了時刻を有する前記複数のメトリック可視化をレンダリングすること、及び
    前記複数のレンダリングされたメトリック可視化をディスプレイ上の前記ユーザインタフェース内で提示するために提供すること
    を含む、方法。
  12. 請求項11に記載の方法において、
    前記メッセージのそれぞれが個々のタイムスタンプを含み、前記ワークフローが、前記ワークフローによる処理の前に受信メッセージを待ち行列に並べるための待ち行列を含み、前記方法が、前記待ち行列に直近に追加されたメッセージの第1のタイムスタンプを、直近に完了した前記ワークフローに関するメッセージの第2のタイムスタンプと比較することによって前記ワークフローの前記状態を決定することを更に含む、
    方法。
  13. 請求項12に記載の方法において、
    前記第1のタイムスタンプが前記第2のタイムスタンプと一致する場合、前記複数のメトリック可視化の前記終了時刻を決定することは現在時間に基づいて前記終了時刻を設定することを含み、
    前記第1のタイムスタンプが前記第2のタイムスタンプと一致しない場合、前記複数のメトリック可視化ンの前記終了時刻を決定することは前記第2のタイムスタンプに基づいて前記終了時刻を設定することを含む、
    方法。
  14. 1つ又は複数のプロセッサによって実行されるとき、
    ストレージシステムの状態又は性能の少なくとも1つに関係する複数のメトリックのデータを提示するユーザインタフェースを提示するための指示を受信すること、
    前記ストレージシステムから受信されるメッセージを処理するワークフローの状態を決定すること、
    前記ワークフローの前記状態に基づいて前記ユーザインタフェース内で提示するための複数のメトリック可視化の終了時刻を決定すること、
    各メトリック可視化が前記決定された終了時刻を有する、前記複数のメトリクビジュアライゼーションをレンダリングすること、及び
    前記複数のレンダリングされたメトリック可視化をディスプレイ上の前記ユーザインタフェース内で提示するために提供すること
    を行うように前記1つ又は複数のプロセッサをプログラムする命令を記憶する、1つ又は複数の非一時的コンピュータ可読媒体。
  15. 請求項14に記載の1つ又は複数のコンピュータ可読媒体において、
    前記メッセージのそれぞれは、個々のタイムスタンプを含み、
    前記ワークフローは、前記ワークフローによる処理の前に受信メッセージを待ち行列に並べるための待ち行列を含み、
    前記1つ又は複数のプロセッサが、前記待ち行列に直近に追加されたメッセージの第1のタイムスタンプを、直近に完了した前記ワークフローに関するメッセージの第2のタイムスタンプと比較することにより前記ワークフローの前記状態を決定するように更にプログラムされる、
    1つ又は複数のコンピュータ可読媒体。
JP2020547360A 2018-04-12 2018-04-12 遅延データのためのユーザインタフェース最適化 Active JP6997337B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2018/027227 WO2019199308A1 (en) 2018-04-12 2018-04-12 User interface optimization for delayed data

Publications (2)

Publication Number Publication Date
JP2021516394A true JP2021516394A (ja) 2021-07-01
JP6997337B2 JP6997337B2 (ja) 2022-01-17

Family

ID=68164446

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020547360A Active JP6997337B2 (ja) 2018-04-12 2018-04-12 遅延データのためのユーザインタフェース最適化

Country Status (5)

Country Link
US (1) US11354141B2 (ja)
EP (1) EP3776214A4 (ja)
JP (1) JP6997337B2 (ja)
CN (1) CN111954869A (ja)
WO (1) WO2019199308A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11108661B1 (en) * 2019-02-20 2021-08-31 Cloudera, Inc. Apparatus and method for processing streaming data and forming visualizations thereof
US11537942B1 (en) * 2019-07-31 2022-12-27 Splunk Inc. Machine learning-based data analyses for outlier detection

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130159512A1 (en) * 2011-12-15 2013-06-20 Opnet Technologies, Inc. Methods and systems for efficient updating of time-aligned graphs in a monitoring system
US20160099844A1 (en) * 2014-10-02 2016-04-07 Pure Storage, Inc. Cloud assist for storage systems

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9813315B2 (en) * 2009-06-11 2017-11-07 Talari Networks Incorporated Methods and apparatus for providing adaptive private network centralized management system time correlated playback of network traffic
US8990948B2 (en) 2012-05-01 2015-03-24 Taasera, Inc. Systems and methods for orchestrating runtime operational integrity
US10282455B2 (en) 2015-04-20 2019-05-07 Splunk Inc. Display of data ingestion information based on counting generated events
US10542060B2 (en) * 2016-09-19 2020-01-21 Ebay Inc. Interactive real-time visualization system for large-scale streaming data

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130159512A1 (en) * 2011-12-15 2013-06-20 Opnet Technologies, Inc. Methods and systems for efficient updating of time-aligned graphs in a monitoring system
US20160099844A1 (en) * 2014-10-02 2016-04-07 Pure Storage, Inc. Cloud assist for storage systems

Also Published As

Publication number Publication date
CN111954869A (zh) 2020-11-17
WO2019199308A1 (en) 2019-10-17
EP3776214A4 (en) 2021-12-01
US20200364065A1 (en) 2020-11-19
US11354141B2 (en) 2022-06-07
JP6997337B2 (ja) 2022-01-17
EP3776214A1 (en) 2021-02-17

Similar Documents

Publication Publication Date Title
JP6629697B2 (ja) 仮想マシンイメージファイルを抽出する方法および装置
US11514086B2 (en) Generating statistics associated with unique field values
US11556577B2 (en) Filtering event records based on selected extracted value
US8577960B2 (en) Providing status information for components in a distributed landscape
CN111831420B (zh) 用于任务调度的方法、相关装置及计算机程序产品
CN110971655B (zh) 离线客户端重放和同步
JP2004227359A (ja) ポリシーに基づいたストレージシステムの運用管理方法
US20190340036A1 (en) Digital Processing System for Event and/or Time Based Triggering Management, and Control of Tasks
JP6997337B2 (ja) 遅延データのためのユーザインタフェース最適化
EP2996051B1 (en) Methods, systems, and apparatus for processing data event streams in a database environment
CN112541513B (zh) 一种模型训练方法、装置、设备及存储介质
KR102069144B1 (ko) 모바일 컴퓨팅 디바이스들에 의한 파일 관리를 위한 시스템들 및 방법들
US20200133252A1 (en) Systems and methods for monitoring performance of a building management system via log streams
US20140344418A1 (en) Dynamic configuration analysis
US20150356017A1 (en) Predictive cache apparatus and method of cache prediction
EP3596598B1 (en) Method of managing applications and computing device using the same
CN111367995A (zh) 基于服务锁的数据同步方法及装置、电子设备与存储介质
CN114035861A (zh) 集群配置方法、装置、电子设备和计算机可读介质
CN112015746B (zh) 数据实时处理方法、装置、介质和电子设备
CN114564249A (zh) 推荐调度引擎、推荐调度方法及计算机可读存储介质
JP5472885B2 (ja) プログラム、ストリームデータ処理方法及びストリームデータ処理計算機
US9509772B1 (en) Visualization and control of ongoing ingress actions
CN110750424A (zh) 资源巡检方法和装置
CN111782351A (zh) 一种分布式任务调度的方法和装置
CN112069137B (zh) 生成信息的方法、装置、电子设备及计算机可读存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200909

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210831

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210924

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211026

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211109

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211216

R150 Certificate of patent or registration of utility model

Ref document number: 6997337

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150