(57)【要約】実施形態は、これに限定されないが、オンライン・ユーザ・エクスペリエンスのモニタリング、および／またはパフォーマンス・イシューを改善するために提供する。実施形態のコンピュータ実装方法は、エンド・ツー・エンドの診断モニタリングおよび解決サービスを提供することの一部として、クライアントのパフォーマンス・データを受け取り、事前凝集し、そして凝集する。実施形態のシステムは、テナント・レベル、地理的位置レベル、および／またはサービス・プロバイダ・レベルの内１つ以上でのレイテンシ問題を特定することの一部として、複数のクライアント・デバイスまたはシステムのパフォーマンス・データを凝集するように構成される。他の実施形態が含まれる。【選択図】図３
2017500791.tif 000002
【特許請求の範囲】
【請求項１】
システムであって、
オンライン・サービスまたはアプリケーションの状態を分析することの一部として、ユーザのパフォーマンス・データを複数のクライアントから受け、
クライントのインターネット・プロトコル（ＩＰ）アドレスと前記パフォーマンス・データに関連付けられるテナント情報とを使用して、前記複数のクライアントの前記ユーザのパフォーマンス・データを部分的に事前凝集して、クライアントのＩＰアドレスと位置パラメータ、サービス・プロバイダ・パラメータ、およびテナントのグローバル一意識別子（ＧＵＩＤ）パラメータの内１つ以上との間のマッピングを含む、マップ・データを供給し、
凝集データを生成するために、前記マップ・データを部分的に凝集して、テナント・レベル・イシュー、位置レベル・イシュー、およびＩＳＰレベル・イシューの内１つ以上を特定する
ように構成される、システム。
【請求項２】
請求項１記載のシステムであって、更に、最終的な凝集動作で用いられるデータ・ポイントの数を制限することにより、処理時間を低減するために、各ノードでクライアント・データを収集するように構成される、システム。
【請求項３】
請求項１記載のシステムであって、更に、障害ゾーン分析を実行することの一部として、多くのルールを前記凝集データに適用するように構成される、システム。
【請求項４】
請求項３記載のシステムであって、更に、１つ以上のテナントについてのパフォーマンス問題を軽減または解決することに関連付けられるレポートを供給するように構成される、システム。
【請求項５】
請求項１記載のシステムであって、更に、１つ以上のキー値の組を用いて１つ以上のマッピング・テーブルを生成するように構成され、第１キー値の組が、開始ＩＰアドレスを表す整数を有するキーを含み、前記キーの値が国コード・パラメータである、システム。
【請求項６】
請求項５記載のシステムであって、更に、前記１つ以上のキー値の組を用いて前記１つ以上のマッピング・テーブルを生成するように構成され、第２キー値の組が、開始ＩＰアドレスを表す整数を有するキーを含み、前記キーの値が、ＩＳＰに関連付けられる自律システム番号（ＡＳＮ）である、システム。
【請求項７】
請求項１記載のシステムであって、更に、グローバルにクライアント・パフォーマンス・データをプルし、共通またはカスタマイズした測定基準のセットに基づいて凝集することによって、凝集サービスを提供するように構成される、システム。
【請求項８】
製造物品であって、
ナビゲーション・タイミングおよびロード・タイミングの測定基準を含むクライアント・データを受け、
１つ以上のマッピング・テーブルを使用して、前記クライアント・データをマップ・データに変換し、
前記マッピング・テーブルおよびマップ・データを１つ以上のデータベースにアップロードし、
前記１つ以上のデータベースにわたり前記マップ・データを凝集して、１つ以上のテナント・レベル・レイテンシ、ロケーション・レベル・レイテンシ、およびＩＳＰレベル・レイテンシを定量化する
ことによって、凝集機構を提供するように動作する命令と共に構成される、製造物品。
【請求項９】
方法であって、
複数のクライアントのパフォーマンス測定基準を収集するステップであって、前記パフォーマンス測定基準がオンライン・サービスまたはアプリケーションに関連付けられる、ステップと、
国マッピングへのＩＰアドレスおよびＩＳＰマッピングへのＩＰアドレスに関連付けられるマッピングを生成することによって変換データを供給するために、前記複数のクライアントの前記パフォーマンス測定基準を部分的に事前凝集するステップと、
凝集データを供給し、テナント・レベル・レイテンシ、位置レベル・レイテンシ、およびＩＳＰレベル・レイテンシの内１つ以上を特定するために、前記変換データを凝集するステップと
を含む、方法。
【請求項１０】
請求項９記載の方法であって、更に、障害ゾーン分析に基づいて、レイテンシ関連問題を解決するステップを含む、方法。
【発明の詳細な説明】
【背景技術】
【０００１】
[0001]  数多くの大規模および小規模ビジネスは、成功する投機的事業(venture)を運営する一部として、幾らかのタイプのオンライン・サービスに依存する。帯域幅は、ネットワークの速度に影響を及ぼす１つの要因となる。レイテンシは、ネットワークの速度およびレスポンスに影響を及ぼす他の要因となる。レイテンシは、ネットワーク・データの処理に影響を及ぼす遅延として説明されることもある。ネットワーク状況、ハードウェアやソフトウェアの制約、および／または他の要因は、幾らかのオンライン・アプリケーションまたはサービスのユーザのエクスペリエンスに悪影響を与えることがある。クラウド・コンピューティングおよびデータセンター・サービスの出現と共に、何百ものサーバ・コンピュータ、および何百万ものユーザにワールドワイドにサービス提供する付随のネットワーク・インフラストラクチャにわたるボトルネックを最小限にしてサービスをタイムリに提供しなければならない。
【発明の概要】
【発明が解決しようとする課題】
【０００２】
[0002]  １つの困難性は、複数の地理的位置および複数の多様なコンポーネントを通じた１つ以上のサービスの健全性をリアルタイムまたは準リアルタイムにモニタリングすることに伴う煩雑さである。システム・ダウンタイムおよび少しのパフォーマンス低下でさえも、追加のマン・アワー、コスト、およびマシン・オーバーロードに至ることがあり、ビジネス上のボトム・ラインに潜在的に影響を及ぼすことがある。残念なことに、現在の最高水準の技術でも、効率的に問題(issue)を特定し、極力早く強力な解決案またはフィードバックを提供する、パフォーマンスのモニタリングおよび解決システムを提供するのは不十分である。
[0003]  本摘要は、簡略化した形態で概念の選択を導入するために設けられる。概念は、以下の発明の詳細な説明において更に説明される。本摘要は、特許請求する主題の鍵となる特徴または必須の特徴を特定することを意図せず、且つ、特許請求する主題の範囲を決定する際の補助として意図するものでもない。
【課題を解決するための手段】
【０００３】
[0004]  実施形態は、これらに限定されないが、オンライン・ユーザ・エクスペリエンスのモニタリング、および／またはパフォーマンス問題を改善する(remediate)ために設けられる。実施形態のコンピュータ実装方法は、エンド・ツー・エンドの診断モニタリングおよび解決サービスを提供することの一部として、クライアント・パフォーマンス・データを受け取り、事前凝集し、そして凝集するように動作する。実施形態のシステムは、テナント・レベル、地理的位置レベル、および／またはサービス・プロバイダ・レベルの内１つ以上で生じるレイテンシを特定することの一部として、複数のクライアント・デバイスまたはシステムのパフォーマンス・データを凝集するように構成される。他の実施形態が含まれる。
【０００４】
[0005]  これらの、そして他の特徴および効果は、以下の詳細な説明を読み込み、関連の図面を検討することから明らかになるであろう。上記の包括的な説明および下記の詳細な説明は例示に過ぎず、特許請求する発明を限定するものではないことが理解されるべきである。
【図面の簡単な説明】
【０００５】
【図１】図１は、リアルタイムまたは準リアルタイムのエンド・ユーザ・パフォーマンス・モニタリング・サービスを提供するように部分的に動作する例示のシステムを示す。
【図２】図２は、パフォーマンス・データおよび／または他のデータを事前凝集および凝集する例示の処理を示すフロー図である。
【図３】図３は、例示のエンド・ツー・エンドのデータ処理パイプラインのコンポーネントを示すブロック図である。
【図４】図４は、パフォーマンス診断分析および／または問題改善サービスを提供することの一部として用いられる例示のエンド・ツー・エンドのプロセスの動作を示すフロー図である。
【図５】図５は、様々な実施形態を実装する例示のコンピューティング環境を示すブロック図である。
【図６Ａ】図６Ａは、実施形態を実行する(practice)モバイル・コンピューティング・デバイスを示す。
【図６Ｂ】図６Ｂは、実施形態を実行するモバイル・コンピューティング・デバイスを示す。
【図７】図７は、様々な実施形態を実装するシステム・アーキテクチャの一実施形態を示す。
【発明を実施するための形態】
【０００６】
[0013]  図１は、これに限定されないが、リアルタイムまたは準リアルタイムのエンド・ユーザ・パフォーマンス・モニタリング・サービスを提供するように部分的に動作する例示のシステム１００を示す。システム１００のコンポーネントは、凝集したレイテンシおよび／またはネットワーク・データを用いるように部分的に動作して、ネットワーク・エコシステム問題を緩和させ、および／または解決することができる。一例として、１つ以上のオフィス生産性アプリケーションおよび／またはアプリケーションの組み合わせ(suite)の機構(feature)を提供するといったオンライン・サービスの提供の一部として、システム１００のコンポーネントは、パフォーマンス・データの凝集に基づいて障害ゾーン分析および解決の情報をテナントに提供するように動作することができる。システム１００のコンポーネントを用いて、オンライン・サービスについてのリアルタイムまたは準リアルタイムのユーザビリティの評価を提供することができる。また、如何なる関連のパフォーマンス若しくはユーザ・エクスペリエンスの問題をもトラブルシュートおよび／または矯正するために、障害ゾーンを特定またはターゲットにすることができる。
【０００７】
[0014]  後述するように、システム１００はエンド・ユーザのパフォーマンス特性(optics)をオンライン・サービスのコンシューマに供給する機構を有する。パフォーマンス特性は、例えば、如何なる１または複数の地理的位置にもわたるパフォーマンスまたはユーザ・ベースの他の測定基準をビューする機能を有するカスタマにおいて１つ以上の者(person)をイネーブルすることによって、リアルタイムのテナント・レベル特性を定量化することを含む。例えば、システム１００のコンポーネントは、規定した関心のある(interest)位置内でレポートまたはアラートするために、トップ・レイテンシ・データまたは他のアウトライアを識別するテナント・レベル・データを収集することによって、部分的に動作する。地理的レベルでフォーカスする機能を具備することにより、例えば、劣悪なＣＤＮパフォーマンス、ＤＮＳ解決時間、より長いラウンド・トリップ時間等のような位置に特化した問題を発見することができる。加えて、サービス・プロバイダに基づく地理的細かさ(geographic granularity)は、インターネット・サービス・プロバイダ（ＩＳＰ）レベルでの問題を特定するのを可能にする。
【０００８】
[0015]  これに応じて、コンシューマはリアルタイムまたは準リアルタイムのフィードバックを用いて、劣化さもなければ欠陥のあるサービス・エクスペリエンスを有する、ユーザ、テナントおよび／または位置を特定することができる。簡潔に上述したように、システム１００のコンポーネントは、テナントに対し１つ以上の障害ゾーンを確認し、劣化したエクスペリエンスを有する特定のユーザを識別するように動作することができる。例えば、オンライン電子メール・サービスを利用しているエンド・ユーザをモニタリングすることの一部として、凝集サービス１１０は凝集した出力１１２を生成するためにルールを使用することができる。その結果、通信レイテンシのスケールによってカラー・コード化された地理的ベースのレイテンシ・マップを生成することができる。凝集サービス１１０は、地理的パラメータ、ＩＳＰパラメータ、および／または後述する他のパラメータに基づいて、問題をデバッグおよび分離することの一部として、構成されたルールを使用して、凝集した出力１１２を生成することができる。
【０００９】
[0016]  これに応じて、システム１００のコンポーネントは、例えば、ＤＮＳリゾルバ、ＩＳＰピアリング、ネットワーク・ルーティング、非最適位置ホスティング等に拘束される問題を分離することによって、障害ゾーンを特定するように動作する。例えば、システム１００のコンポーネントを使用して、１つ以上の位置（例えば、地域、国、州等）、１つ以上のテナント、地理的位置またはＩＳＰにより選択されたテナント、および／またはＩＳＰにより選択された地理的位置についてのユーザ・エクスペリエンスの状態を評価または定量化することができる。システム１００は、クライアント時間、ネットワーク時間、サーバ時間、ＣＤＮ時間、接続時間などにより、レイテンシ単位の例えばテナントおよびＩＳＰの第１数のようなアウトライア・データを特定することにより、レイテンシおよび他のパフォーマンス測定基準の履歴上の傾向を生成することにより、有効なエッジおよび他のサーバ配備についてのガイダンス・データを提供することにより、地理マッピング機能を有するメールボックス・サーバを構成することによる事前凝集をイネーブルすることにより、リアル・ユーザのＣＤＮ相互作用に対する洞察(insight)を得るレポート・データを報告することにより、ロード時間を低減させるためにウェブ・アクセス・ベースでローカルにインストールされたクライアントをサポートすることにより等、レイテンシ、または付加的な故障(breakdown)を有する他のデータのデバッグを提供するように部分的に動作する。クライアントにしたがい、異なる種別の測定基準または他のデータを収集して、ユーザ・エクスペリエンスを定量化する際の使用のためにシステム１００に提供することができる。
【００１０】
[0017]  システム１００のコンポーネントは、劣化したエクスペリエンスを有する、特定のユーザまたはユーザ・グループを特定するように率先して動作することにより、オンライン・サービスまたはアプリケーションの使用のサポートの一部として動作することができる。後述するように、オンライン・サービスまたはアプリケーションのパフォーマンス状態を評価することの一部として、特定の位置またはＩＳＰについての１つ以上のベースライン・エクスペリエンスに対し、定量的な比較を行うことができる。ロバストで最新版のベースラインを確立することにより、パフォーマンスに関連する呼／電子メールに対し、よりフォーカスした信頼性のある応答を可能にする。また、率先した態様のアウトライアの特定を用いて、サービス・コンシューマと３６０度ループを有することができる。
【００１１】
[0018]  システム１００の一実施形態では、サービス・サポートの通信インフラストラクチャを備える。通信インフラストラクチャは、サーバ・コンポーネント、クライアント・コンポーネント、および／またはネットワーク条件に関するパフォーマンスや、他の問題（例えば、ネットワーク・レイテンシの問題、ＤＮＳルックアップの問題、コンテンツ・デリバリ・ネットワーク（ＣＤＮ）の問題等）についてのトラブルシューティングおよび修復を可能にする。一実施形態によれば、データ収集サービスは分散アーキテクチャを備える。当該アーキテクチャは、サーバ・ノード毎に生のクライアント・データを処理することにより、最終的な凝集よりも前に、データセンタの位置に部分的に基づいてクライアント・データを分割する。生のクライアント・データの処理は、事前凝集データを１つ以上のストア（例えば、複数のデータベース・サーバ）にアップロードする前に、生のデータを事前凝集することを含む。
【００１２】
[0019]  実装態様によれば、凝集サービス１１０は、別個の、または統合されたサービスとして構成することができる。サービスは、１つ以上の複数の物理マシン上で起動し、共通および／またはカスタマイズされた測定基準に基づいて、複数のデータ・ストアにわたり事前凝集されたデータをグローバルに凝集する。各ノードでのデータの収集の一部として事前凝集を行うことにより、最終的な凝集において使用されるデータ・ポイントの数を制限することに部分的に起因して、処理時間および使用を低減させることができる。つまり、凝集データは、リアルタイムまたは準リアル・タイムに生成されることができる。一実施形態の凝集サービス１１０は、レイテンシや、ナビゲーションおよび／またはロード・タイミング・データを含む他のパフォーマンス・データを自動的に凝集するように構成される。その結果、如何なる実現したまたは潜在的な問題も効率的に改良することの一部として、異なるレベルまたは粒度（例えばテナント・レベル、地理的若しくは位置レベル、および／またはＩＳＰレベル）で問題を特定することができる。
【００１３】
[0020]  引き続き図１を参照する。制限された数のコンポーネントが様々な実施形態の態様を説明するために示されるが、実施形態はこれに限定されるのではなく、他の構成も利用可能であることは言うまでもない。例えば、単一サーバ１０２が示される一方で、システム１００は複数のサーバ・コンピュータを含んでもよい。複数のサーバ・コンピュータは、事前凝集サーバ、データベース・サーバ、および／または凝集サーバを、エンド・ツー・エンドのコンピューティング・アーキテクチャの一部として動作するクライアント・デバイス／システムと同様に含む。サーバは、特定の実装態様によっては、１つ以上の物理および／または仮想マシンを備えてもよいことは言うまでもない。
【００１４】
[0021]  更に後述するように、システム１００のコンポーネントは、アプリケーションまたはネットワークの状態に関し、リアルタイムまたは準リアルタイムにレポートをクライアントに供給することの一部として、クライアント情報を収集、事前凝集、凝集、および／または分析するように構成される。付加的コンポーネントおよび／または機構は、必要に応じてシステム１００に付加することができる。例えば、特定されたレイテンシに基づいて、カスタマはフィードバックを使用して、ネットワーク内の付加的なエッジ・サーバを配備してもよい。後述するように、システム１００のコンポーネントを使用して、クライアントまたはコンシューマ・ベースでサービス提供する複数のネットワークおよびネットワーク種別にわたり、異なるユーザ・エクスペリエンスおよび／またはネットワーク条件を確定してもよい。
【００１５】
[0022]  図１に示されるように、サーバ１０２は、１つ以上のクライアントから情報を受け、入力１０４として示される。実施形態によれば、オンライン・サービスまたはアプリケーションを使用する間、入力１０４は、クライアントと関連付けられるフォーマンス・データを含む。例えば、生のパフォーマンス・データは、処理のためにサーバ１０２にアップロードすることができる。一実施形態では、入力１０４は、クライアント・エクスペリエンス（例えばロードおよびナビゲートするウェブ・リソース）に関する情報を含み、および／または、サーバ１０２はサーバ・コンピュータを備え、ログ・ファイルの使用をサポートして、収集したデータを格納する。一実施形態では、ユーザ・デバイス／システム上で起動するブラウザまたは他のアプリケーションは、ナビゲーション・タイミング・パラメータ、ロード・タイミング・パラメータ、および／またはサーバ・ログ・ファイルに書き込まれるカスタム・メーカ・パラメータの内１つ以上に関連する情報を収集するスクリプト・コードを使用することができる。例えば、サーバ１０２は、ＭＩＣＲＯＳＯＦＴ ＥＸＣＨＡＮＧＥサーバとして構成することができ、１つ以上の障害テナント、トランザクション・ベースのデータベースを使用して、情報を格納することができる。
【００１６】
[0023]  実施形態によれば、処理およびメモリのリソースに加えて、サーバ１０２は拡張可能診断機構(extensible diagnostic features)を含み、これに限定されないが、入力１０４に含まれる生のパフォーマンス・データに対して部分的に動作する事前凝集器１０６を利用する。実施形態の事前凝集器１０６は、クライアント・データを抽出し、１つ以上のマッピング・テーブルにマップすることの一部として、ログ・ファイルに格納されるクライアント・データを解析するように動作する。一実施形態では、事前凝集器１０６は、１つ以上のログ・ファイルに格納されるパフォーマンス・データを解析するように動作する。ここでは、上記マッピングは、クライアントのＩＰアドレスおよびログ付けしたクライアント情報を、地理的位置（例えば、国／州）、ＩＳＰおよび／またはテナントのグローバル・ユーザ識別子（ＧＵＩＤ）の１つ以上に変換することによって、部分的に規定される。
【００１７】
[0024]  事前凝集器１０６は、ＩＰ、位置、ＩＳＰおよび／またはテナントＧＵＩＤの内１つ以上によってパフォーマンス・データをグループ化した後に、グループ化された情報をストア１０８に格納するように構成される。例えば、事前凝集器１０６は、クライアントのレイテンシ測定基準に関連付けられるパフォーマンス・データを、国／州、ＩＳＰおよび／またはテナントでグループ化するように構成することができる。ログ付けしたデータがＩＳＰレベルに対して解決するできない場合は、事前凝集器１０６は国および／またはテナントに対して制限したグループを特定できる。国およびＩＳＰパラメータは、クライアントのＩＰアドレスにしたがって決定できることは言うまでもない。
【００１８】
[0025]  図示されるように、凝集サービス１１０は、事前凝集器１０６によって供給された事前凝集出力に対して動作して、凝集出力１１２を生成する。事前凝集器１０６によって提供される機能(functionality)は、凝集サービス１１０での処理およびメモリ・リソースにおける効率的な使用を増長すると共に、電力消費を低減させるようにも部分的に動作する。何故ならば、凝集出力１１２を生成するには、より少量のデータ・セットが凝集サービス１１０に入力さればよいからである。実施形態における凝集サービス１１０は、１つ以上のサーバ・コンピュータ、および凝集した出力１１２を供給するように動作する複雑な凝集コードを備える。詳細に後述するように、凝集された出力１１２は更に処理されて、如何なる潜在的な障害ゾーンおよび／またはユーザ・エクスペリエンスに寄与することもある他の問題を特定することができる。一実施形態の凝集サービス１１０は、全てのデータベースにわたって事前凝集データを凝集し、特定のアプリケーション、サービス、または他のコンポーネントに関連付けられるテナント・レベル、国レベルおよび／またはＩＳＰレベルのレイテンシを定量化することができる。
【００１９】
[0026]  後述するように、ルールは、事前凝集出力の処理を制御する凝集サービス１１０と共に含まれ、凝集出力１１２を生成することができる。異なるルール種別に基づいて、凝集出力１１２は、相関、傾向、ベースライン比較、および／または、アプリケーション若しくはオンライン・サービスの実行中に使用エクスペリエンスに拘束される他の定量化された情報を含むフォーカスを供給する。例えば、事前凝集データに対して動作するルールを実装することができ、その結果、例えば北アメリカについての所定の測定基準に対し、７５％のパーセンタイル値ｘおよび標準偏差ｙを導出するようにして、地域の全体値に基づくパフォーマンスを分析することができる。メキシコについての測定値が（ｘ＋ｙ)よりも大きい場合は、技術陣(engineering staffに対し、潜在的な問題の拡大を引き起こす場合がある。付加的な機構について更に後述する。
【００２０】
[0027]  複雑な通信アーキテクチャは通例、複数のハードウェアおよび／またはソフトウェア・コンポーネントを採用する。サーバ・コンピュータ、ネットワーク・コンポーネント、並びに有線および／または無線ネットワークによる通信および相互作用を可能にする他のコンポーネントを含むが、これに限定されないことは言うまでもない。幾らかの実施形態について説明してきたが、ハンドヘルド・デバイス、マルチプロセッサ・システム、マイクロプロセッサ・ベース、またはプログラム可能なコンシューマ・エレクトロニクス、ミニコンピュータ、メインフレーム・コンピュータ等を含む様々な実施形態を、数多くのコンピュータ構成と共に使用してもよい。様々な実施形態は、１つ以上の通信ネットワークを通じて通信するリモート処理デバイス／システムを用いて、分散コンピューティング環境で実装されてもよい。分散コンピューティング環境では、プログラム・モジュールまたはコードは、ローカルおよびリモート両方のメモリに配置してもよい。様々な実施形態は、プロセスまたは方法、システム、デバイス、製造物品等として実施することができる。
【００２１】
[0028]  図２は、実施形態により、パフォーマンス診断(diagnostics)および／または改善(remediation)サービスを提供することの一部として、パフォーマンスおよび他のデータを事前凝集および凝集する例示のプロセス２００を示すフロー図である。プロセス２００は２０２で、生のパフォーマンス・データを受け取ることにより開始する。例えば、プロセス２００は２０２で、オンライン・サービスまたはアプリケーションの状態の評価を要求することの一部として、サーバ・コンピュータを用いてクライアントが収集するクライアント中心のパフォーマンス・データを受け取るように動作ができる。一実施形態では、プロセス２００は２０２で、クライアントのパフォーマンス・データを受け取るように動作する。クライアントのパフォーマンス・データは、ナビゲーション・タイミング、ページ・ロード・タイミング、および／または、オンライン・サービスまたはアプリケーションに関連付けられた健康状態またはユーザ・エクスペリエンスを評価する際に使用する他のパラメータを含む。
【００２２】
[0029]  プロセス２００は２０４で、生のパフォーマンス・データを事前凝集するように動作する。一実施形態では、プロセス２００は２０４で、事前凝集データを最終的な凝集動作のために１つ以上のデータベースにアップロードする前に、ログ・ファイルを解析することによって、また、テナント識別子、位置識別子、および／またはＩＳＰ識別子の内１つ以上にクライアントＩＰアドレスをマップすることによって、生のパフォーマンス・データを事前凝集するように動作する。プロセス２００は２０６で、事前凝集データを凝集するように動作する。一実施形態では、プロセス２００は２０６で、テナント・レベル、位置レベル、および／またはＩＳＰレベルの内１つ以上で問題を特定するために、レイテンシまたは他のユーザ・エクスペリエンスの数量詞(quantifier)の出力を生成することによって、事前凝集データを凝集するように部分的に動作する。
【００２３】
[0030]  ２０８で更なる凝集動作がない場合は、プロセス２００は２１０に進み、レイテンシおよび／または他の分析のために凝集データを使用する。そうでない場合は、プロセス２００は、２０６に戻って凝集動作を継続する。上述し、更に後述するように、偶発的または他の手段を実装することによって、特定された如何なる問題も改善させることの一部として、凝集出力を利用することができる。特定の数および順序の動作を図２の例示フローのために説明した一方で、他の数、組み合わせ、および／または順序を所望の実装形態にしたがって使用できることは言うまでもない。
【００２４】
[0031]  図３は、例示のエンド・ツー・エンドのデータ処理パイプライン３００のコンポーネントを示すブロック図である。パイプライン３００は、インフラストラクチャ、パフォーマンス、ネットワーク、またはオンライン・アプリケーション若しくはサービスの利用に悪影響を与えることがある他の問題を特定することの一部として、ユーザの洞察を与えて、凝集データにするように部分的に動作する。例えば、クラウド・ベースのアプリケーション・サービスをサポートするオンライン・サービスは、ユーザ・シナリオ・レイテンシおよび詳細な故障の供給を含む、パフォーマンス・データまたは測定基準を、クライアント動作パラメータ、テナント・パラメータ、ＩＰパラメータ、位置パラメータ、および／またはＩＳＰパラメータの内１つ以上に関連付けられる収集済みの測定基準によって準リアル・タイムに収集および定量化する機能を含むことができる。パイプライン３００のコンポーネントは、テナント・レベル、ＩＰレベル、地理的位置レベル、および／またはＩＳＰレベルでデータを凝集、ピボット、および／または格納するように部分的に動作する。パイプライン３００のコンポーネントは、パフォーマンスの低下を低減させるために、率先してユーザ・エクスペリエンスをモニタリングするように部分的に動作すると共に、エンド・ユーザのパフォーマンス問題を改善するようにアラートおよび／または解決策を提供する。
【００２５】
[0032]  図３に示されるように、第１テナント・ユーザに関連付けられるクライアント３０２、および第２テナント・ユーザに関連付けられるクライアント３０４は、サーバ３０６と通信している。図示されるように、ログ・ファイル３０８は、クライアント３０２および３０４から、収集したデータを受け取って格納する。一実施形態では、クライアント３０２は、ユーザ・デバイス・システム上で起動しているブラウザ・アプリケーションの一部として実装することができる。ここでは、スクリプト・コードを使用して、例えばページ・ロード時間、接続時間、または幾らかの他のパラメータのような、オンライン・アプリケーションまたはサービスの使用に関連付けられる情報を収集することができる。一実施形態のサーバ３０６は、クライアント３０２および３０４にサービス提供する専用サーバ・コンピュータを備える。実施形態によれば、サーバ３０６は、関連付けられるノードのためにＩＰマッパー３１０およびアップロード・コンポーネント３１２を使用する診断サービスを含む。
【００２６】
[0033]  ＩＰマッパー３１０およびアップロード・コンポーネント３１２は、ログ・ファイル３０８のデータに対し事前凝集サービスを提供するように部分的に動作する。上述したように、これらコンポーネントによって提供される事前凝集サービスを実行するために単一コンポーネントを構成することができる。実施形態のＩＰマッパー３１０は、クライアント毎またはテナント毎に、ＩＰアドレス、位置、および／またはＩＳＰの内１つ以上に基づいて、ログ付けしたパフォーマンス・データまたは測定基準を抽出およびマップするために、ログ・ファイル３０８を解析するように部分的に動作する。一実施形態によれば、ＩＰマッパー３１０は、クライアントＩＰアドレス、およびパフォーマンスまたはレイテンシ・データを、地理的位置（例えば、国／州）、ＩＳＰ、および／またはテナントのグローバル・ユーザ識別子（ＧＵＩＤ）の１つ以上にマップすることによって、クライアント・データを事前凝集または統合するように部分的に動作する。アップロード・コンポーネント３１２は、位置、ＩＳＰおよび／またはテナントＧＵＩＤの１つ以上によってグループ化され、ＩＰマッパー３１０によって供給されたマッピング・データを専用データベース３１４にアップロードするように動作する。ログ付けしたデータがＩＳＰレベルに解決することができない場合は、事前凝集は、国および／またはテナントに制限されるグループ化を含むことができる。国およびＩＳＰパラメータをクライアントＩＰアドレスにしたがって決定できることは言うまでもない。
【００２７】
[0034]  引き続き図３を参照して、サーバ３０６のコンポーネントは、複雑なプログラム・コードで構成される。当該プログラム・コードは、収集済みのクライアント・データを解析することにより（例えば、パフォーマンス・データ・ログを解析することにより）、また、ユーザ・シナリオ、イベント時間、クライアントＩＰ、レイテンシ、テナント・データ、およびクライアント情報に基づく他の詳細化した測定基準を抽出することにより、収集したクライアント・データを事前凝集するように部分的に動作する。従って、サーバ３０６は、レイテンシおよび／または他のパフォーマンス上の問題を特定する際に最終的な凝集負荷を軽減させることの一部として、クライアントから受け取ったデータを事前凝集することができる。
【００２８】
[0035]  実施形態のＩＰマッパー３１０は、マッピング粒度にしたがってクライアントＩＰアドレスを地理的位置にマップし、および／または、既知の若しくは実装されることになるＩＰレンジに基づいて、クライアントＩＰを関連のＩＳＰにマップするように動作する。サーバ３０６は、クライアントの種別および／または関連のクライアント・データに基づいて分析するように動作する分析コードを含む。例えば、ウェブ・アクセス・クライアントのパフォーマンス・データは、収集されて、セッションをサービス提供するメールボックスのログ・ファイルにルーティングされる。ここでは、分析コードは特定のクライアント情報を分析して、シナリオ、レイテンシ、および関連の問題（例えば、遅いナビゲーション時間、遅いＤＮＳ時間等）を理解することになる。
【００２９】
[0036]  実施形態における解析は、クライアントＩＰアドレスおよびログ・ファイル中のテナント情報を、国／州、ＩＳＰおよび／またはテナントＧＵＩＤに変換するように動作する。一実施形態では、解析動作は、一般的なパブリック地理マッピング・データベースから生成される、導出されたマッピング・テーブルを用いて部分的に実行される。
【００３０】
[0037]  解析のための地理マッピング・データベースにおける例示のデータ入力は、以下のものを含むことができる。
StartIP|EndIP|CIDR|Continent|Country|Country_IS02|CountryConfidence|Region|State|State_CF|City|CityConfidence|Postal_Code|.....
16777472|16778239|24|asia|china|cn|8||beijingshi|73|beijing|5|100000|0|8|39.91176055|116.3792325|0|0|0|unknown||none|False|0|0|0|1307256208|0|RT_Unknown
16778240|16779263|24|oceania|australia|au|8||victoria|74|melbourne|5|3000|0|10|-37.8132|144.963|0|0|0|unknown||none|False|56203|7482486|440|1312156419|1312378472|RT_Unknown
【００３１】
[0041]  実施形態のＩＰマッパー３１０によって適用される解析動作は、ＩＰレンジおよびこれにしたがう対応の国に基づいて各データ入力、ソートおよびマージを走査することによって、ＩＰの国への導出マッピング・テーブルを生成する結果となる。
16777216,au
16777472,cn
16778240,au
16779264,cn
16781312,jp
16785408,cn
16793600,jp
16809984,th
16842752,cn
【００３２】
[0051]  マッピング・テーブルは、例示のマッピング｛キー，値｝データを含むことができる。上述したように、マップ・データは、開始ＩＰアドレスを表す整数値であるキー、および国のＩＳＯコードである値を含む。上記のマッピング・データでは、１６７７７２１６と１６７７７４７２の間にあるＩＰアドレスはＡＵに属する。キーをソートすることによって、テーブルは、素早い参照(quick look-up)用にメモリにロードするために圧縮することができる。
【００３３】
[0052]  同様に、ＩＰマッパー３１０によって適用される解析動作は、ＩＰのＩＳＰマッピング（後記）への導出マッピング・テーブルを生成する結果となる（値がＩＳＰのＡＳＮ番号であることを除き、キーは上記と同一である）。
17498112,18313
17514496,38091
17522688,38669
17530880,17839
17563648,18245
【００３４】
[0058]  引き続き図３およびその例を参照する。サーバ３１６は、ＩＰマッパー３２２およびアップロード・コンポーネント３２４を使用することにより、ログ・ファイル３２１に格納されたクライアントのクライアント・データ３１８および３２０を処理、即ち、事前凝集し、該事前凝集したデータを処理して、他の専用データベース３２６にアップロードする。専用データベース３１４および３２６は、２以上のホスト・コンピュータを含んでもよいし、そうでなくてもよい。更に、特定の数および種別のコンポーネントが図示される一方で、パイプラインは付加コンポーネント、機構、および機能を含むことができることは言うまでもない。サーバ３２８は、ログ・ファイル３１７に格納されたクライアント３３０，３３２，３３４，３３６のクライアント・データを処理し、ＩＰマッパー３３８およびアップロード・コンポーネント３４０を使用することによって、事前凝集データを処理して専用データベース３２６にアップロードする。
【００３５】
[0059]  実施形態では、データベース３１４および３２６は、オンライン・アプリケーションまたはサービスを提供するようにネットワーク化できる様々なマシンから収集されるパフォーマンス・カウンタおよび測定基準を扱うように設計される。エンド・ユーザのパフォーマンス・データが追加ピボットを持ち込む(bring in)ので、データベース・スキーマを使用して、ＩＰ、地理的位置、テナント、並びに／またはＩＳＰ測定基準およびパラメータをサポートすることができる。一実施形態では、サーバ３０６、サーバ３１６、およびサーバ３２８は、複数のクライアントからクライアント・データを収集する。例えば、ノード・レベルでは、サーバ３０６は、ＩＰマッパー３１０を使用してクライアント・データを５分毎に事前凝集して、クライアント・データを所定のピボットに変換するように動作することができる。変換データは、アップロード・コンポーネント３１６がデータベース３１４に伝達する。
【００３６】
[0060]  凝集サービス３４２は、データベース３１４および３２６にわたり事前凝集したデータを凝集し、オンライン／アプリケーションまたはサービスに関連付けられるテナント・レベル・レイテンシ、国レベル・レイテンシ、および／またはＩＳＰレベル・レイテンシの内１つ以上を決定することができるが、これに限定されない。例えば、凝集サービス３４２は、エンド・ユーザ測定基準のノード・レベル・データに対してスコープ（例えばグローバルおよび／またはサイト）レベル転換(conversion)を実行するために、事前凝集データまたは変換済みデータに対して動作する。図３の例に示すように、凝集サービス３４２は、凝集した出力を供給している。凝集出力は、第１テナントに関連付けられる定量化クライアント・パフォーマンス・データ３４６、および第２テナントに関連付けられる定量化クライアント・パフォーマンス・データ３４８を含む。サンプル数のカウントは、定量化パフォーマンス・データの統計上の精度を改良する加重要素として使用することができる。
【００３７】
[0061]  凝集サービス３４２は、規定した時間間隔（例えば、直近１時間のデータのスライド窓に使用するのに１５分ごとに起動する、直近２４時間のデータのスライド窓に使用するのに２４時間毎に起動する等）で、１またはそれ以上のアップロード・コンポーネントからアップロードされた事前凝集データを凝集するように構成することができる。凝集サービス３４２はまた、地理的位置、テナント、地理的位置当たりのＩＳＰ、地理的位置当たりのテナント、および／またはサイト・レベル当たりのスコープによって、１つ以上のドメイン・コントローラにわたり、ピボット化またはグループ化するように構成することができる。凝集サービス３４２は、クライアント・シナリオ・レイテンシ、およびナビゲーション時間、ＣＤＮ時間、認証時間、リダイレクト時間等を定量化するための他のパフォーマンス関連の統計値を生成するように部分的に動作する。例えば、凝集サービス３４２は、平均７５％パーセンタイル、８５％パーセンタイル、９５％パーセンタイル等のような統計測定／値を供給することができる。凝集サービス３４２はまた、１０，２０，３０，４０，５０，６０，７０，８０，９０番目のパーセンタイルでのレイテンシおよび最大レイテンシのパーセンタイル値を有するレイテンシのレンジを含む動的ビン(dynamic bin)を使用することもできる。
【００３８】
[0062]  障害ゾーン分析器３５０は、統計手段または他のレイテンシの定量化を用いて凝集データの特定のセグメントまたは特性を特定するように設計されたルールを使用するように部分的に動作する。例えば、ルールは、１つ以上の定量化手段、例えばナビゲーション時間、ロード時間、接続時間等に基づいて、異なるレベルのパフォーマンス（例えばフェア、プア、エクセレント等）を識別するように設計することができる。凝集サービス３４２からの出力にしたがい、ルールは凝集データに適用される。例示のルールは、各実装態様にしたがって構成可能である。例えば、ルールは、地域またはＩＳＰの全体値に基づくことができ、例えば、他のものに対し特定の測定基準または手段の検討を優先順位付けするように構成されるルールである。
【００３９】
[0063]  レポート生成器３５２は、解決される必要がある或る特定の問題を有するテナントについて、アプリケーションまたはサービスの状態に関して特定のあらゆるリコメンデーションと共に、レポートおよび／またはフィードバック伝達のためのレポート情報を生成するように動作する。例えば、レポート生成器３５２は、最も高いレイテンシを有する地理的位置ごとに上位(top number)（例えば１０個の）テナント、または最も高いレイテンシを有する上位テナントをリストするユーザ洞察(insight)レポートを動的に生成するように動作することができる。統合コンポーネントとして図示される一方で、障害ゾーン分析器３５０およびレポート生成器３５２は、別個のコンポーネントとして構成できることは言うまでもない。代替の実施形態では、凝集サービス３４２においてピボットを単独で適用することができ、またはピボットを組み合わせてサーバ３０６，サーバ３１６，および／またはサーバ３２８に適用することができる。
【００４０】
[0064]  実施形態のパイプライン３００は、パフォーマンス・マーカを次の一部として使用する。即ち、確実にクライアント・データを収集すること、成功および失敗したシナリオの実行の分離を可能にすること、モニタリング・データ（例えば、プローブ）のフィルタ／分離を許容すること、ユーザ・エクスペリエンスと結びつくシナリオの開始および終了を正確にマーク付けること（例えば、ナビゲーション時間、ページ・ロード、ページ表示、ページの相互作用等）、および／または、詳細なドリル・ダウンを用いて補助する欠落データ（例えば、認証を完了する時間、ＣＤＮリソースをダウンロードする時間、正しいウェブ接続サーバにリダイレクトする時間等）を特定および補充することである。
【００４１】
[0065]  一実施形態のナビゲーション・タイミングは、Ｗ３Ｃのナビゲージョン・タイミングＡＰＩにおいて規定される各タイムスタンプに基づいて計算される値を含む。ユーザ・エクスペリエンスに関する完全な情報の必要性に対処するために、Ｗ３Ｃのナビゲーション・タイミングＡＰＩは、ＪＡＶＡ ＳＣＲＩＰＴ機構がアプリケーション内の全クライアント側レイテンシ測定値を供給するのを可能にするパフォーマンス・タイミング・インタフェースを導入する。当該インタフェースは、ユーザが知覚したページ・ロード時間を測定するために使用することができる。一実施形態のリソース・タイミング・マーカは、ＪＡＶＡ ＳＣＲＩＰＴ機構がアプリケーション内の全クライアント側レイテンシ測定値を提供するのを可能にするインタフェースを定めるＷ３Ｃのリソース・タイミングＡＰＩにおいて規定される各タイムスタンプに基づいて計算される値である。インタフェースは、リソースについてユーザが知覚したロード時間を測定するために使用することができる。
【００４２】
[0066]  次のテーブルでは、一実施形態にしたがい、例示のマーカ、マーカ計算、および関連の説明が提供される。
【表１】
2017500791.tif 000003
【００４３】
[0067]  他の例示のマーカは、次のものを含むことができる。
ページ・ロード時間（ＰＬＴ）−認証時間を伴わないＰＬＴ時間であり、このキーは、「種別(type)」がＰＬＴのときのみに出現する（ノー・キャッシュ、即ちブラウザ・キャッシュからのブート）
ＡＬＴ−認証時間を伴わないＰＬＴ時間であり、このキーは、「種別」がＡＬＴのときのみに出現する（アプリケーション・キャッシュからのブート）
ＲＤＴ−ウェブ・アクセス終了抽出セッション・データからＰＬＴエンド・マーカまでのレンダ時間
【００４４】
[0071]  次の例では、クライアントの生データは、これに限定されないが、次のパラメータを含む。
リダイレクト・カウント（ＲＣ）、
リダイレクト時間（ＲＴ）、
フェッチ時間（ＦＴ）、
ドメイン参照時間（ＤＮ）、
接続時間（ＣＴ）、
安全接続時間（ＳＴ）、
要求時間（ＲＱ）、
応答時間（ＲＳ）、
総応答時間（ＴＲ）、
Ｄｏｍロード時間（ＤＬ）、
総ナビゲーション時間（ＮＶ）
【００４５】
[0083]  例示のログ・ファイル３０８は、クライアント３０２と関連付けられる、次のウェブ・アクセス・ナビゲーション・タイミングの生データを含むことができる。
例示のログ・ファイル３０８は、クライアント３０２と関連付けられる次のウェブ・アクセス・ナビゲーション・タイミングの生データを含むことができる。
20XX-01-09T00:08:12.304Z,W3CNavTimeTestBox,PerfNavTime,S:mg=<<Tenant ID>>;S:ts=20XX-01-09T00:08:03.860;
S:UC=5f8a321a877591c42b7;I32:ds=132;I32:DC=1;S:Mowa=0;S:ip=<PII>IP Address</PII>;
S:tg=D73DD084-BF81-4F05-A0D0-B8599C0444D0;S:user=<PII>Username like user1@contoso.com<PII>;
S:cbld=15.0.609.0;S:BuildType=DEBUG;
S:I=<<Server URI>>;S:FT=12;S:DN=0;S:CT=0;S:RQ=0;S:RS=10;S:UL=5;S:NV=5000;S:DL=2000;
S:D1=1078;S:D2=1760;
S:DE=5;S:PL=2;S:RC=0;S:NT=1.
【００４６】
[0091]  また、クライアント３０４と関連付けられるナビゲーション・タイミングの生データは次のとおりである。
20XX-01-09T00:08:12.304Z,W3CNavTimeTestBox,PerfNavTime,S:mg=<<Tenant ID>>;S:ts=20XX-01-09T00:08:04.860;S:UC=f8a321a877591c42b7;I32:ds=132;I32:DC=l;S:Mowa=0;S:ip=<PII>IP Address</PII>;
S:tg=D73DD084-BF81-4F05-A0D0-B8599C0444D0;S:user=<PII> Username like user1@contoso.com</PII>;
S:cbld=15.0.609.0;S:BuildType=DEBUG;
S:URI=<<Server URI>>;S:FT=20;S:DN=1;S:CT=10;S:RQ=10;S:RS=10;S:UL=15;S:NV=6000;S:DL=4000;
S:D1=2156;S:D2=3000;
S:DE=10;S:PL=3;S:RC=2;S:NT=1.
【００４７】
[0098]  クライアント３０２と関連付けられる例示のロード・タイミングの生データは次のとおりである。
20XX-05-0T08:02: 12.304Z,ClientLoadTimeTestBox,CalculatedClientLoadTime,
S:ts=20XX-05-30T08:02: 16.20XX727Z;S:UC=411e478fdfef403c9a28clc3ffaa0317;
S:ip=<PII>IP Address</PII>;S:tg=la3ba9c6-00d3-4c2e-9862-f08a05a11f1f;
S:PLT=7000;S:RDT=4000;S:RT=18;S:DN=0;S:CT=0;S:RQ=1188;S:RS=2;S:SDN=0;S:SCT=10;S:SRQ=1800;
S:SRS=300;S:R1DN=0;S:R1CT=200;S:R1ST=100;S:R1RQ=50;S:R1RS=10;S:R2DN=0;S:R2CT=8;S:R2ST=0;
S:R2RQ=50;S:R2RS=200;S:brn=MSIE;S:brv=10;
【００４８】
[00105]  また、クライアント３０４と関連付けられるロード・タイミングの生データは次のとおりである。
20XX-05-30T08:02:12.304Z,ClientLoadTimeTestBox,CalculatedClientLoadTime,
S:ts=20XX-05-30T08:03:16.20XX727Z;S:UC=412e478fdfef403c9a28c1c3ffaa0317;
S:ip=<PII>IP Address</PII>;S:tg=1a3ba9c6-00d3-4c2e-9862-f08a05a11f1f;S:PLT=8000;S:RT=18;S:DN=0;S:CT=0;S:RQ=1188;S:RS=2;S:SDN=100;S:SCT=50;S:SRQ=1600;
S:SRS=400;S:R1DN=0;S:R1CT=600;S:R1ST=300;S:R1RQ=90;S:R1RS=50;S:R2DN=0;S:R2CT=16;S:R2ST=0;
S:R2RQ=0;S:R2RS=400;S:brn=Chrome;S:brv=27.
【００４９】
[00111]  例示のクライアント・データを用いると、次のテーブルは、テナント単位および国単位での、ユーザ・パフォーマンス・データを凝集する凝集サービス３４２からの例示の出力を示す。
【表２】
2017500791.tif 000004
【表３】
2017500791.tif 000005
【００５０】
[00112]  図４は、実施形態に従って、パフォーマンス診断分析および／または問題改善サービスの提供の一部として使用される例示のエンド・ツー・エンドのプロセス４００の動作を示すフロー図である。プロセス４００は４０２で、エンド・ユーザのデバイス／システム上で実行するクライアントを使用して、パフォーマンス・データを収集するように動作する。例えば、４０２で、ブラウザまたは他のアプリケーションおよびスクリプト・コード（例えば、ＪＡＶＡＳＣＲＩＰＴ（登録商標）コード）のようなクライアントは、クライアント中心のパフォーマンス・データを収集し、および／または、パフォーマンス診断分析サービスを、オンライン・サービスまたはアプリケーションの使用に関連付けられる１つ以上のサーバ・コンピュータから要求する。一実施形態のプロセス４００は４０２で、オンライン・サービスまたはアプリケーションに関連付けられるエンド・ユーザ・エクスペリエンスを評価することの一部として、ナビゲーション・タイミング、ページ・ロード・タイミング、および／またはレイテンシを示す他のパラメータ若しくは他のパフォーマンス問題を含んだ生のパフォーマンス・データを収集するように動作する。
【００５１】
[00113]  プロセス４００は４０４で、専用サーバ・コンピュータのログ・ファイルに、生のパフォーマンス・データを供給するように動作する。例えば、プロセス４００は４０４で、ユーザ・デバイス／システム上で実行するブラウザの使用を含み、クライアントＩＰアドレスおよび収集したパフォーマンス・データまたは或る部分を１つ以上のログ・ファイルにアップロードすることができる。プロセス４００は４０６で、クライアントＩＰアドレスと、地理的位置（例えば、国／州）、ＩＳＰおよび／またはテナントＧＵＩＤを含むマッピング・ターゲットとを使用して、ログ付けしたパフォーマンス・データを変換またはマップするように動作する。例えば、プロセス４００は４０６で、ログ付けしたクライアント・データを複数のマッピング・テーブルにマップするように構成することができる。複数のマッピング・テーブルは、ログ付けしたクライアント・データについてマップした地理的位置に対しＩＰアドレスを規定する第１マッピング・テーブル、およびログ付けしたクライアント・データについてマップしたＩＳＰに対しＩＰアドレスを規定する第２マッピング・テーブルを含む。
【００５２】
[00114]  プロセス４００は４０８で、テナントＧＵＩＤ、地理的位置および／またはＩＳＰの内１つ以上によってグループ化された変換済みデータを１つ以上の診断サービス・データベースにアップロードするように動作する。プロセス４００は４１０で、オンライン・サービスまたはアプリケーションについてのレイテンシおよび／または凝集に関連する他のパフォーマンスを生成するために、１つ以上のデータベースにわたり凝集動作を実行するように動作する。一実施形態では、プロセス４００は４１０で、テナント・レベル、地理的位置レベル、および／またはＩＳＰレベルのレイテンシの内１つ以上を決定するように凝集動作を実行する。
【００５３】
[00115]  プロセス４００は４１２で、障害ゾーン分析を実行するために、凝集データに対して１つ以上のルールを使用し、１つ以上の障害ゾーンまたは潜在的障害ゾーンを特定する。例えば、プロセス４００は４１２で、ユーザ・エクスペリエンスがプア、サティスファクトリまたはエクセレントであるかを、全ての国および／若しくはＩＳＰにわたる傾向またはベースラインの比較に部分的に基づいて検査するように構成されたルールを使用することができる。プロセス４００は４１４で、如何なる矯正または軽減行為の実施の一部として、障害ゾーン情報を使用するように動作する。例えば、プロセス４００は４１４で、レイテンシまたは他のパフォーマンス関連の問題を低減させることの一部として、潜在的なネットワークおよび／または通信アーキテクチャの修正を特定するオンライン・レポートを生成する障害ゾーン分析情報を使用することができる。特定の数および順序の動作について図４の例示のフローで説明した一方で、他の数、組み合わせおよび／または順序を所望の実装態様に従って使用できることは言うまでもない。
【００５４】
[00116]  例えば、プロセス４００は、オンライン電子メール・サービスにおいて異なるネットワークの測定基準をビューするのを許容する電子レポートを生成するように部分的に使用することができる。その結果、第１位置のユーザが、関連する地域の他の国と比較して、ＣＤＮにおいてより長時間を費やしていることを特定することができる。レビュアは、次いで、第１位置のＣＤＮプロバイダを追跡調査して問題を解決することができる。加えて、問題を通知および解決するようにコンタクトされる、より大規模ＩＳＰの１つのレイテンシ増加を通知する準備をＩＳＰが可能にすることによって、第１位置についての地理的ＩＳＰレポートのレビューがレイテンシの相違を明らかにする。
【００５５】
[00117]  更に他の例として、エッジ・サーバ配備の一部として、プロセス４００は、最大ダウンロード時間を有する特定地域のユーザを識別するために、地域単位のダウンロード時間を含む電子レポートを生成するように使用することができる。その結果、ユーザ・ネットワークの影響を低減させる新規のエッジ・サーバを配備させることができる。更新された報告は、特定地域のレイテンシの低減を明らかにする。特定したレイテンシを低減させる他の例として、プロセス４００は、特定のテナントによって、傾向ビューを表示し、ＴＣＰ接続時間が５００ミリ秒増加したのと同様に、レイテンシの増加が直近数日に発生したことを判断するのを可能にする電子レポートを生成することができる。レポートに基づいて、影響を受けたテナントはコンタクトされて、他の位置とのＩＳＰピアリングによって問題を特定することができる。
【００５６】
[00118]  本明細書で説明した様々な機構は、ハードウェアおよびソフトウェア・コンポーネントを含むプロセッサ駆動環境の一部として実装できることは言うまでもない。また、特定の実施形態および例を例示目的で上述した一方で、他の実施形態が含まれ利用可能であり、そして、説明する実施形態は特許請求の範囲に限定して使用されてはならないものである。好適なプログラム手段は、コンピュータ・システムまたはデバイスにプロセスまたは方法のステップを実行させる如何なる手段を含み、例えば、コンピュータ・メモリに結合される処理ユニットおよび論理演算回路を具備するシステムを含む。当該システムはコンピュータ・メモリに格納する機能を有し、当該コンピュータ・メモリはデータおよびプログラム命令またはコードを格納するように構成される電子回路を含む。
【００５７】
[00119]  製造物品の例には、如何なる好適な処理システムでも使用可能なコンピュータ・プログラム製品が含まれる。一定数および一定種別のコンポーネントを上述した一方で、様々な実施形態により、他の数、種別、および／または構成を含めることができる。したがって、所望の実装態様により、コンポーネント機能を更に分割することができ、および／または他のコンポーネント機能と組み合わせることができる。本明細書において用いられる場合、コンピュータ可読媒体という用語は、コンピュータ記憶媒体またはコンピュータ記憶装置を含むことができる。実施形態のコンピュータ記憶装置は、幾らかの機能を実行するように動作するプログラム・コードまたは命令を格納する。コンピュータ記憶媒体は、情報（例えば、コンピュータ可読命令、データ構造、プログラム・モジュール等）の記憶のために如何なる方法または技術で実装される、揮発性および不揮発性、並びに着脱可能および着脱不能の媒体を含むことができる。
【００５８】
[00120]  システム・メモリ、リムーバブル記憶装置、および非リムーバブル記憶装置は全て、コンピュータ記憶媒体の例である（即ち、メモリ・ストレージ）。コンピュータ記憶媒体は、ＲＡＭ、ＲＯＭ、電気的消去可能リード・オンリ・メモリ（「ＥＥＰＲＯＭ」）、フラッシュ・メモリまたは他のメモリ技術、ＣＤ−ＲＯＭ、ディジタル・バーサタイル・ディスク（「ＤＶＤ」）、あるいは他の光ストレージ、磁気カセット、磁気テープ、磁気ディスク・ストレージまたは他の磁気記憶デバイス、あるいは情報を格納するために使用することができ、コンピューティング・デバイスによってアクセスすることができる他のあらゆる媒体を含むが、これらに限定されない。このようなコンピュータ記憶媒体はいずれも、デバイスまたはシステムの一部とすることができる。例えば、通信媒体は、有線ネットワークまたは直接有線接続のような有線媒体と、音響、ＲＦ、赤外線その他のワイヤレス媒体のようなワイヤレス媒体とを含むことができるが、これらに限定されない。
【００５９】
[00121]  本明細書に説明する実施形態および例は限定を意図するものではなく、他の実施形態が使用可能である。更に、上述したコンポーネントは、ネットワーク化され、分散され、および／または他のコンピュータ実装された環境の一部として実装することができる。コンポーネントは、有線、無線および／または通信ネットワークの組み合わせを介して通信することができる。ネットワーク・コンポーネントおよび／またはコンポーネント間の結合は、如何なる種別、数および／またはネットワークの組み合わせ、並びに対応のネットワーク・コンポーネントを含むことができる。当該対応のネットワーク・コンポーネントは、ワイド・エリア・ネットワーク（ＷＡＮ）、ローカル・エリア・ネットワーク（ＬＡＮ）、メトロポリタン・エリア・ネットワーク（ＭＡＮ）、私有ネットワーク、バックエンド・ネットワーク、セルラ・ネットワーク等を含むが、これらに限定されない。
【００６０】
[00122]  クライアント・コンピューティング・デバイス／システムおよびサーバは、如何なる種別および／または組み合わせのプロセッサ・ベースのデバイスまたはシステムとすることができる。また、サーバ機能は、多くのコンポーネントを含むことができ、また、他のサーバを含むことができる。単一の時制(tense)で説明したコンピューティング環境におけるコンポーネントは、このようなコンポーネントの複数のインスタンスを含むことができる。特定の実施形態がソフトウェアによる実装を含む一方で、ハードウェアまたはハードウェア／ソフトウェア混合の解決策を含むが、これらに限定されない。
【００６１】
[00123]  コンポーネント、モジュール、システム、デバイス、クラウド、ネットワークおよび他の用語のような、説明で用いた用語は、全般的にコンピュータ関連の動作環境について説明するものであり、ハードウェア、ソフトウェア、ファームウェア、および／または他のアイテムを含む。コンポーネントは、プロセッサを使用したプロセス、実行可能および／または他のコードを用いることができる。例示のコンポーネントには、アプリケーション、該アプリケーション上で起動するサーバ、および／または、通信アイテムを受信するためにサーバに結合される電子通信クライアントが含まれる。例えば、コンピュータ・リソースは、デジタル信号プロセッサ、マイクロ・プロセッサ、マルチコア・プロセッサ等のプロセッサおよびメモリ・リソース、並びに、磁気、光学および／または他の記憶デバイス、スマート・メモリ、フラッシュ・メモリ等のメモリ・コンポーネントを含むことができる。通信コンポーネントは、例えばインターネットのような１または複数の通信ネットワークを用いて電子通信アイテムを送信、受信および／またはレンダリングすることの一部としてコンピュータ可読情報を通信するように使用することができる。他の実施形態および構成が含まれる。
【００６２】
[00124]  これより図５を参照する。以下は、実施形態を実現することができる好適なコンピューティング環境についての簡潔で包括的な説明を行う。様々な種別のコンピューティング・デバイス／システム上のオペレーティング・システムで起動するプログラム・モジュールと連動して実行するプログラム・モジュールの包括的なコンテキストで説明される一方で、当業者は、本発明がまた、他の種別のコンピューティング・デバイス／システムおよびプログラム・モジュールと組み合わせて実装されてもよいことを認識するであろう。
【００６３】
[00125]  一般に、プログラム・モジュールは、ルーチン、プログラム、コンポーネント、データ構造、および他のタイプの構造を含み、これらは特定のタスクを実行するか、または特定の抽象データ型を実装する。他のコンピュータ・システム構成も使用することができ、ハンドヘルド・デバイス、マルチプロセッサ・システム、マイクロプロセッサ・ベースまたはプログラマブル・コンシューマ・エレクトロニクス、ミニコンピュータ、メインフレーム・コンピュータ等が含まれることが当業者は認識するであろう。本発明はまた、分散型コンピューティング環境も使用することができ、その場合、通信ネットワークを通じてリンクされるリモート処理デバイスによってタスクが実行される。分散型計算環境では、プログラム・モジュールは、ローカルおよびリモート双方のメモリ記憶デバイス内に配置されてもよい。
【００６４】
[00126]  図５に示されるように、コンピュータ２は、汎用サーバ、デスクトップ、ラップトップ、ハンドヘルド、または、電子メール・アプリケーション若しくは電子メール機能を含む他のアプリケーションを含んだ１つ以上のアプリケーション・プログラムを実行することができる他の種別のコンピュータを含む。コンピュータ２は、少なくとも、中央処理ユニット８（「ＣＰＵ」）、ランダム・アクセス・メモリ１８（「ＲＡＭ」）およびリード・オンリ・メモリ（「ＲＯＭ」）２０を含むシステム・メモリ７、並びにメモリをＣＰＵ８に結合するシステム・バス１０を含む。スタートアップ中のように、コンピュータ内部にあるエレメント間で情報を転送するのに役立つ基本的ルーチンを収容する基本入力／出力システムが、ＲＯＭ２０に格納される。更に、コンピュータ２は、オペレーティング・システム２４、アプリケーション・プログラム、および他のプログラム・モジュール／リソース２６格納する大容量記憶デバイス１４も含む。
【００６５】
[00127]  大容量記憶デバイス１４は、バス１０に接続された大容量記憶コントローラ（図示せず）を通じてＣＰＵ８に接続される。大容量記憶デバイス１４およびそれに付随するコンピュータ可読媒体は、コンピュータ２に不揮発性ストレージを設ける。本明細書に含まれるコンピュータ可読媒体の説明は、ハード・ディスクまたはＣＤ−ＲＯＭドライブのような大容量記憶デバイスに言及するが、コンピュータ可読媒体は、コンピュータ２によってアクセスされ利用されることができる入手可能な媒体であればいずれでも可能であることが当業者にとって認められるべきである。
【００６６】
[00128]  種々の実施形態によれば、コンピュータ２は、例えばローカル・ネットワークやインターネット等のようなネットワーク４を介したリモート・コンピュータへの論理接続を用いて、ネットワーク接続環境において動作することもできる。コンピュータ２は、バス１０に接続されたネットワーク・インターフェース・ユニット１６を介してネットワーク４に接続することができる。なお、ネットワーク・インターフェース・ユニット１６は、他の種別のネットワークおよびリモート・コンピューター・システムに接続するために利用することもできることは言うまでもない。また、コンピュータ２は、キーボードやマウス等（図示せず）を多数の他のデバイスからの入力を受けて受信および処理するために入力／出力コントローラ２２も含むことができる。同様に、入力／出力コントローラ２２は、出力を、表示画面、プリンタまたは他の種別の出力デバイスに供給することができる。
【００６７】
[00129]  端的に上述したように、多数のプログラム・モジュールおよびデータ・ファイルを、コンピュータ２の大容量記憶デバイス１４およびＲＡＭ１８に格納することができる。その中には、ワシントン州RedmondのMICROSOFT CORPORATION（マイクロソフト社）からのWINDOWS（登録商標）オペレーティング・システムのような、ネットワーク化したパーソナル・コンピュータの動作を制御するのに適したオペレーティング・システム２４が含まれる。大容量記憶デバイス１４およびＲＡＭ１８はまた、１つ以上のプログラム・モジュールも格納することもできる。特に、大容量記憶デバイス１４およびＲＡＭ９は、文書処理、スプレッドシート、描画、電子メールや他のアプリケーションおよび／またはプログラム・モジュールのようなアプリケーション・プログラム２４を格納することができる。
【００６８】
[00130]  図６Ａおよび図６Ｂは、例えば、移動体電話、スマート・フォン、タブレット・パーソナル・コンピュータ、ラップトップ・コンピュータ等のモバイル・コンピューティング環境を示し、実施形態を実施することができる。図６Ａを参照すると、実施形態を実施するための一実施形態のモバイル・コンピューティング・デバイス６００が示される。基本構成において、モバイル・コンピューティング・デバイス６００は、入力要素および出力要素の両方を有するハンドヘルド・コンピューターである。
【００６９】
[00131]  モバイル・コンピューティング・デバイス６００は、ディスプレイ６０５、および、ユーザがモバイル・コンピューティング・デバイス６００に情報を入力可能とする１つ以上の入力ボタン６１０を含む。モバイル・コンピューティング・デバイス６００のディスプレイ６０５はまた、入力デバイス（例えば、タッチ・スクリーン・ディスプレイ）としても機能することができる。含まれる場合は、任意のサイド入力要素６１５が更なるユーザ入力を可能にする。任意のサイド入力要素６１５は、回転スイッチ、ボタンまたは他の如何なる種別の手入力要素とすることができる。代替の実施形態では、モバイル・コンピューティング・デバイス６５０は、多少の入力要素を組み込むことができる。例えば、ディスプレイ６０５は、幾らかの実施形態ではタッチ・スクリーンとしなくてもよい。更に他の代替の実施形態では、モバイル・コンピューティング・デバイス６００は、セルラ・フォンのようなポータブル電話システムである。
【００７０】
[00132]  モバイル・コンピューティング・デバイス６００はまた、任意のキーパッド６３５を含むこともできる。任意のキーパッド６３５は、タッチ・スクリーン・ディスプレイ上に作られる物理的なキーパッドまたは「ソフト」キーパッドとすることができる。様々な実施形態では、出力要素はディスプレイ６０５を含み、グラフィカル・ユーザ・インターフェース（ＧＵＩ）、視覚インジケータ６２０（例えば、発光ダイオード）、および／またはオーディオ変換器６２５（例えば、スピーカ）を示す。実施形態の中には、モバイル・コンピューティング・デバイス６００は振動変換器を組み込み、ユーザに触覚のフィードバックを提供するものもある。更なる他の実施形態では、モバイル・コンピューティング・デバイス６００は、信号を外部デバイスとの間で送受信するために、例えばオーディオ入力（例えばマイクロフォン・ジャック）やオーディオ出力（例えば、ＨＤＭＩ（登録商標）ポート）のような入力および／または出力ポートを組み込む。
【００７１】
[00133]  図６Ｂは、モバイル・コンピューティング・デバイスの一実施形態のアーキテクチャを示すブロック図である。即ち、モバイル・コンピューティング・デバイス６００は、幾らかの実施形態を実装するためにシステム（即ち、アーキテクチャ）６０２を組み込むことができる。一実施形態では、システム６０２は、１つ以上のアプリケーション（例えば、ブラウザ、電子メール、カレンダ、コンタクト・マネージャ、メッセージング・クライアント、ゲーム、およびメディア・クライアント／プレイヤ）を起動することができる「スマート・フォン」として実施される。実施形態の中には、システム６０２は、統合パーソナル・デジタル・アシスタント（ＰＤＡ）および無線電話機のようなコンピューティング・デバイスとして統合される。
【００７２】
[00134]  １つ以上のアプリケーション・プログラム６６６は、メモリ６６２にロードすることができ、オペレーティング・システム６６４上で、またはこれに連携して起動することができる。アプリケーション・プログラムの例には、発呼（phone dialer）プログラム、電子メール・プログラム、個人情報管理（ＰＩＭ）プログラム、文書処理プログラム、スプレッドシート・プログラム、インターネット・ブラウザ・プログラム、メッセージング・プログラム等を含む。システム６０２はまたメモリ６６２内に不揮発性記憶領域６６８も含む。不揮発性記憶領域６６８は、システム６０２の電源を落としても失ってはならない永続情報を格納するために使用することができる。
【００７３】
[00135]  アプリケーション６６６は、電子メール・アプリケーションによって用いられる電子メールまたは他のメッセージ等というような情報を用いて、不揮発性記憶領域６６８に格納することができる。また、同期アプリケーション（図示せず）もシステム６０２上に存在し、不揮発性記憶領域６６８に格納された情報を、ホスト・コンピュータに格納された対応する情報との同期を維持するために、ホスト・コンピュータ上に存在する対応の同期アプリケーションと相互作用するようにプログラミングされる。認められて然るべきであるが、他のアプリケーションがまた、メモリ６６２にロードされ、モバイル・コンピューティング・デバイス６００上で起動することができる。
【００７４】
[00136]  システム６０２は、電源６７０を有し、これは１つ以上のバッテリとして実装することができる。電源６７０は更に、ＡＣアダプタ、またはバッテリを補助または再充電する充電ドッキング・クレードルというような外部電源を含んでもよい。また、システム６０２は、無線周波数通信を送受信する機能を実行する無線機６７２も含むことができる。無線機６７２は、システム６０２と「外部世界」との間における、通信キャリアまたはサービス・プロバイダを解したワイヤレス接続を容易にする。無線機６７２への送信および無線機１３７２からの送信は、オペレーティング・システム６６４の制御下で行われる。言い換えると、無線機６７２によって受信した通信は、オペレーティング・システム６６４を介してアプリケーション・プログラム６６６に伝搬することができ、そしてその逆もまた可能である。
【００７５】
[00137]  視覚インジケータ６２０は、視覚的通知を与えるために用いることができ、またオーディオ変換器６７４は、オーディオ変換器６２５を解して聴覚的通知を生成するために用いることができる。図示される実施形態では、視覚インジケータ６２０は発光ダイオード（ＬＥＤ）であり、オーディオ変換器６２５はスピーカである。これらのデバイスは、電源６７０に直接結合することができ、アクティブ化されているときに、プロセッサ６６０および他のコンポーネントがバッテリ電力を保存するために停止していても、これらは通知メカニズムによって指令される期間の間オンのままとすることができる。ＬＥＤは、ユーザが行動を起こすまで、不定期にオンのままとして、デバイスに電源が入っている状態を示すようにプログラミングされるのでもよい。
【００７６】
[00138]  オーディオ・インターフェース６７４は、可聴信号をユーザに供給し、可聴信号をユーザから受けるために用いられる。例えば、オーディオ変換器６２５に結合されることに加えて、オーディオ・インターフェース６７４は、例えば電話での会話を容易にするために、可聴入力を受けるためにマイクロフォンに結合されてもよい。実施形態によれば、マイクロフォンはまた、次に説明するように、通知の制御を容易にするためのオーディオ・センサとしての役割を果たすこともできる。更に、システム６０２はビデオ・インタフェース１３７６も含むことができ、静止イメージやビデオ・ストリーム等を記録するために、内蔵カメラ６３０の動作を可能にする。システム６０２を実施するモバイル・コンピューティング・デバイスは、付加的な機構または機能も有することができる。例えば、モバイル・コンピューティング・デバイス６００はまた、例えば磁気ディスク、光ディスクまたはテープのような付加的なデータ記憶デバイス（リムーバブルおよび／または非リムーバブル）も含むことができる。このような追加のストレージは、図６Ｂにおいて不揮発性記憶領域６６８によって示される。
【００７７】
[00139]  デバイス６００によって生成されまたは取り込まれ、また、システム６０２によって格納されたデータ／情報は、前述のように、モバイル・コンピューティング・デバイス６００条にローカルに格納することができる。あるいは、無線機６７２を介して、または、モバイル・コンピューティング・デバイス６００と該モバイル・コンピューティング・デバイス６００に関連付けられた別個のコンピューティング・デバイス、例えば、インターネットのような分散型コンピューティング・ネットワークにおけるサーバ・コンピュータとの間における有線接続を介して、アクセスすることができるあらゆる数の記憶媒体上にデータを格納することができる。認められてしかるべきであるが、このようなデータ／情報は、モバイル・コンピューティング・デバイス６００を介して、無線機１３７２を介して、または分散型コンピューティング・ネットワーク１２０を介してアクセスすることができる。同様に、このようなデータ／情報は、電子メールおよび連携データ／情報共有システムを含む、公知のデータ／情報の転送および記憶手段にしたがって、格納および使用のために容易にコンピューティング・デバイス間で転送することができる。
【００７８】
[00140]  図７は、レイテンシの特定および改善の機構を実施するシステム・アーキテクチャについての一実施形態である。データを処理する情報は、異なる通信チャネルまたは他のタイプのストレージに格納することができる。例えば、種々の情報は、ディレクトリ・サービス７２２、ウェブ・ポータル７２４、メールボックス・サービス７２６、インスタント・メッセージング・ストア７２８、およびソーシャル・ネットワーキング・サイト７３０を用いて格納／アクセスすることができる。サーバ７２０は、付加的なレイテンシ分析および他の機構を提供することができる。一例として、サーバ７２０は、例えばインターネットまたは他のネットワーク（１または複数）のようなネットワーク７１５を通じた多数のデータセンタ・パーティションを用いて、アウトバンドの電子メールを配信するのに使用されるルールを提供する。例えば、クライアント・コンピューティング・デバイスは、汎用コンピューティング・デバイス７０２として実装することができ、また、パーソナル・コンピュータ、タブレット・コンピューティング・デバイス７０４、および／またはモバイル・コンピューティング・デバイス７０６（例えばスマート・フォン）に組み込むことができる。これらのデバイスはいずれも、ストア７１６からのコンテンツを用いることができる。
【００７９】
[00141]  本発明の実施形態は、例えば、方法、システム、およびコンピュータ・プログラム製品等においてブロック図および／または動作図を参照して先に説明されるものである。ブロックに記される機能／動作(act)は、いずれのフロー・チャートに示される順序外でも行うことができる。例えば、連続して示される２つのブロックは、実際には、実質的に同時に実行されてもよく、または関与する機能／動作に応じて、ブロックが逆の順序で実行されてもよいことも時折ある。
【００８０】
[00142]  本出願で提供される１つ以上の実施形態に関する説明および図示は、如何なるやり方でも特許請求する発明の範囲を制限または限定することを意図するものではない。本出願で提供される実施形態、例示および詳細は、所有物を伝え、他の者が特許請求する発明のベスト・モードを作成および使用できるのに十分なものとみなされる。特許請求する発明は、本出願にて提供された如何なる実施形態、例または詳細に限定されるものと解釈してはならない。組み合わせてまたは別個に図示し説明したかに拘わらず、様々な（構造および方法上の両方の）機構は、特定の機構のセットを用いて実施形態を生み出すために、選択的に含まれ、または除外することが意図される。本出願の説明および図示を提供してきたが、当業者は、特許請求されるより広い範囲から逸脱することなく、本出願で実施される包括的で創意に富んだ概念(inventive concept)におけるより広い範囲の趣旨内に収まる、変形物、修正態様、および代替の実施形態を構想することができる。
【００８１】
[00143]  様々な実施形態は、（１）コンピューティング・システム上で起動する一連のコンピュータ実装行為若しくはプログラム・モジュールとして、および／または（２）コンピューティング・システム内で相互接続されるマシン論理回路若しくは回路モジュールとして、実施できることは言うまでもない。実装態様は、本発明を実施するコンピュータ・システムのパフォーマンス要件に依存する選択の余地の問題である。したがって、関連のアルゴリズムを含む論理動作は、動作、構造デバイス、行為またはモジュールと広範に称することができる。当業者にとって、これらの動作、構造デバイス、行為、およびモジュールは、本願明細書に記載される特許請求の範囲に記載される本発明の趣旨および範囲から逸脱することなく、ソフトウェア、ファームウェア、特定用途のデジタル・ロジック、およびこれらのいかなる組み合わせにおいて、実装することができるものと認識されよう。
【００８２】
[00144]  本発明について、様々な例示の実施形態に関して説明してきたが、これらに対する数多くの修正態様が、以降の特許請求の範囲内でなされることができることが当業者にとって理解されるであろう。したがって、本発明の範囲は、如何なるやり方でも上記の説明によって限定されることは意図せず、その代替として、以降の特許請求の範囲を参照することで全面的に規定されるものである。
【図１】
2017500791.tif 000006
【図２】
2017500791.tif 000007
【図３】
2017500791.tif 000008
【図４】
2017500791.tif 000009
【図５】
2017500791.tif 000010
【図６Ａ】
2017500791.tif 000011
【図６Ｂ】
2017500791.tif 000012
【図７】
2017500791.tif 000013
【国際調査報告】
2017500791.tif 000014
2017500791.tif 000015
2017500791.tif 000016