(57)【要約】【課題】通信エンタープライズサーバの稼働率とパフォーマンスを監視するためのシステムと方法を提供する【解決手段】システムは、１つ以上の無線ハンドヘルドデバイスと、前記１つ以上の無線ハンドヘルドデバイスと通信する１つ以上のエンタープライズサーバと、前記１つ以上のエンタープライズサーバと通信するエンタープライズサーバモニターとを具備し、前記エンタープライズサーバモニターは、選択されたユーザグループに使用されている前記１つ以上の無線ハンドヘルドデバイスと通信する前記１つ以上のエンタープライズサーバから通信パフォーマンスデータを収集し、前記収集された通信パフォーマンスデータが１つ以上の警告条件と一致する場合には、１つ以上の警告を生成する。前記１つ以上の警告条件は、潜在的通信失敗の１つ以上のレベルを示している。【選択図】図１
2014053042.tif 000002
【特許請求の範囲】
【請求項１】
システムであって、
１つまたは複数の無線ハンドヘルドデバイスと、
前記１つまたは複数の無線ハンドヘルドデバイスと通信する１つまたは複数のエンタープライズサーバと、
選択されたユーザのグループに関連する前記１つまたは複数の無線ハンドヘルドデバイスの１つまたは複数と通信する前記１つまたは複数のエンタープライズサーバの１つまたは複数から、前記１つまたは複数のエンタープライズサーバの１つまたは複数と前記１つまたは複数の無線ハンドヘルドデバイスの１つまたは複数との間の通信に関連する通信パフォーマンスデータを収集し、該収集された通信パフォーマンスデータが複数の警告条件の少なくとも１つと一致する場合には、１つまたは複数の警告を生成するように構成されている、前記１つまたは複数のエンタープライズサーバと通信するエンタープライズサーバモニターと、
を具備し、
それぞれの警告条件は、潜在的通信失敗の複数のレベルの少なくとも１つを示し、
前記潜在的通信失敗の複数のレベルのそれぞれは、前記複数の警告条件の少なくとも１つと対応し、
前記潜在的通信失敗の複数のレベルは、キャリアレベル失敗、サーバレベル失敗、およびデバイスレベル失敗を含み、
前記キャリアレベル失敗は、前記１つまたは複数のエンタープライズサーバの少なくともいくつかと通信する前記１つまたは複数の無線ハンドヘルドデバイスの少なくともいくつかの通信パフォーマンスデータが、前記１つまたは複数の警告条件の１つと一致する場合に発生することを特徴とするシステム。
【請求項２】
前記複数の警告条件の１つは、前記１つまたは複数の無線ハンドヘルドデバイスと関連する保留電子メッセージの量と、
前記１つまたは複数の無線ハンドヘルドデバイスが前記１つまたは複数のエンタープライズサーバと通信している経過時間の量と、
を含むことを特徴とする請求項１に記載のシステム。
【請求項３】
前記複数の警告条件の１つは、勤務時間と勤務時間外で異なることを特徴とする請求項１に記載のシステム。
【請求項４】
前記エンタープライズサーバモニターは、モニターされることからミュートされているユーザと、どの前記１つまたは複数の無線ハンドヘルドデバイスが関係しているかを判定することを特徴とする請求項１に記載のシステム。
【請求項５】
前記ミュートされているユーザは、指定期間の期限が切れた後にミュート解除されることを特徴とする請求項４に記載のシステム。
【請求項６】
前記複数の警告の１つは、電子メールを介して転送されることを特徴とする請求項１に記載のシステム。
【請求項７】
エンタープライズサーバモニターであって、
１つまたは複数のエンタープライズサーバと通信するサーバを具備し、
前記１つまたは複数のエンタープライズサーバは、１つまたは複数の無線ハンドヘルドデバイスと通信し、
前記サーバは、選択されたユーザのグループに関連する前記１つまたは複数の無線ハンドヘルドデバイスの１つまたは複数と通信する前記１つまたは複数のエンタープライズサーバの１つまたは複数から、前記１つまたは複数のエンタープライズサーバの１つまたは複数と前記１つまたは複数の無線ハンドヘルドデバイスの１つまたは複数との間の通信に関連する通信パフォーマンスデータを収集し、該収集された通信パフォーマンスデータが複数の警告条件の少なくとも１つと一致する場合には、１つまたは複数の警告を生成するウォッチャーサービスを具備し、
それぞれの警告条件は、潜在的通信失敗の複数のレベルの少なくとも１つを示し、
前記潜在的通信失敗の複数のレベルのそれぞれは、前記複数の警告条件の少なくとも１つと対応し、
前記潜在的通信失敗の複数のレベルは、キャリアレベル失敗、サーバレベル失敗、およびデバイスレベル失敗を含み、
前記キャリアレベル失敗は、前記１つまたは複数のエンタープライズサーバの少なくともいくつかと通信する前記１つまたは複数の無線ハンドヘルドデバイスの少なくともいくつかの通信パフォーマンスデータが、前記１つまたは複数の警告条件の１つと一致する場合に発生することを特徴とする通信サーバモニター。
【請求項８】
前記複数の警告条件の１つは、前記１つまたは複数の無線ハンドヘルドデバイスと関連する保留電子メッセージの量と、
前記１つまたは複数の無線ハンドヘルドデバイスが前記１つまたは複数のエンタープライズサーバと通信している経過時間の量と、
を含むことを特徴とする請求項７に記載の通信サーバモニター。
【請求項９】
前記複数の警告条件の１つは、勤務時間と勤務時間外で異なることを特徴とする請求項７に記載の通信サーバモニター。
【請求項１０】
前記エンタープライズサーバモニターは、モニターされることからミュートされているユーザと、どの前記１つまたは複数の無線ハンドヘルドデバイスが関係しているかを判定することを特徴とする請求項７に記載の通信サーバモニター。
【請求項１１】
前記ミュートされているユーザは、指定期間の期限が切れた後にミュート解除されることを特徴とする請求項１０に記載の通信サーバモニター。
【請求項１２】
前記複数の警告の１つは、電子メールを介して転送されることを特徴とする請求項７に記載の通信サーバモニター。
【請求項１３】
方法であって、
モニターするために、１つまたは複数の無線ハンドヘルドデバイスの１つまたは複数のユーザを選択するステップと、
前記１つまたは複数の無線ハンドヘルドデバイスと通信する１つまたは複数のエンタープライズサーバから、前記１つまたは複数のエンタープライズサーバの１つまたは複数と前記１つまたは複数の無線ハンドヘルドデバイスの１つまたは複数との間の通信に関連する通信パフォーマンスデータを収集するステップと、
前記収集された通信パフォーマンスデータを１つまたは複数の警告条件と比較するステップと、
前記収集された通信パフォーマンスデータが複数の警告条件の少なくとも１つに一致する場合には、１つまたは複数の警告を生成するステップと、
を具備し、
それぞれの警告条件は、潜在的通信失敗の複数のレベルの少なくとも１つを示し、
前記潜在的通信失敗の複数のレベルのそれぞれは、前記複数の警告条件の少なくとも１つと対応し、
前記潜在的通信失敗の複数のレベルは、キャリアレベル失敗、サーバレベル失敗、およびデバイスレベル失敗を含み、
前記キャリアレベル失敗は、前記１つまたは複数のエンタープライズサーバの少なくともいくつかと通信する前記１つまたは複数の無線ハンドヘルドデバイスの少なくともいくつかの通信パフォーマンスデータが、前記１つまたは複数の警告条件の１つと一致する場合に発生することを特徴とする方法。
【請求項１４】
前記複数の警告条件の１つは、前記１つまたは複数の無線ハンドヘルドデバイスと関連する保留電子メッセージの量と、
前記１つまたは複数の無線ハンドヘルドデバイスが前記１つまたは複数のエンタープライズサーバと通信している経過時間の量と、
を含むことを特徴とする請求項１３に記載の方法。
【請求項１５】
前記複数の警告条件の１つは、勤務時間と勤務時間外で異なることを特徴とする請求項１３に記載の方法。
【請求項１６】
前記複数の警告の１つを生成するステップは、モニターされることからミュートされているユーザと、どの前記１つまたは複数の無線ハンドヘルドデバイスが関係しているかを判定するステップを含むことを特徴とする請求項１３に記載の方法。
【請求項１７】
前記ミュートされているユーザは、指定期間の期限が切れた後にミュート解除されることを特徴とする請求項１６に記載の方法。
【請求項１８】
前記複数の警告の１つは、電子メールを介して転送されることを特徴とする請求項１３に記載の方法。
【請求項１９】
コンピュータ実行可能なプログラムを格納しているコンピュータ読み取り可能な記録媒体であって、前記プログラムは、コンピュータ上で実行された場合には、複数のステップを具備している方法を実行するように構成されており、
前記複数のステップは、
モニターのための１つまたは複数の無線ハンドヘルドデバイスの１つまたは複数のユーザを選択するするステップと、
前記１つまたは複数の無線ハンドヘルドデバイスと通信する１つまたは複数のエンタープライズサーバから、前記１つまたは複数のエンタープライズサーバの１つまたは複数と前記１つまたは複数の無線ハンドヘルドデバイスの１つまたは複数との間の通信に関連する通信パフォーマンスデータを収集するステップと、
前記収集された通信パフォーマンスデータを１つまたは複数の警告条件と比較するステップと、
前記収集された通信パフォーマンスデータが複数の警告条件の少なくとも１つと一致する場合には、１つまたは複数の警告を生成するステップと、
を具備し、
それぞれの警告条件は、潜在的通信失敗の複数のレベルの少なくとも１つを示し、
前記潜在的通信失敗の複数のレベルのそれぞれは、前記複数の警告条件の少なくとも１つと対応し、
前記潜在的通信失敗の複数のレベルは、キャリアレベル失敗、サーバレベル失敗、およびデバイスレベル失敗を含み、
前記キャリアレベル失敗は、前記１つまたは複数のエンタープライズサーバの少なくともいくつかと通信する前記１つまたは複数の無線ハンドヘルドデバイスの少なくともいくつかの通信パフォーマンスデータが、前記１つまたは複数の警告条件の１つと一致する場合に発生することを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項２０】
前記複数の警告条件の１つは、前記１つまたは複数の無線ハンドヘルドデバイスと関連する保留電子メッセージの量と、
前記１つまたは複数の無線ハンドヘルドデバイスが前記１つまたは複数のエンタープライズサーバと通信している経過時間の量と、
を含むことを特徴とする請求項１９に記載のコンピュータ読み取り可能な記録媒体。
【請求項２１】
前記複数の警告条件の１つは、勤務時間と勤務時間外で異なることを特徴とする請求項１９に記載のコンピュータ読み取り可能な記録媒体。
【請求項２２】
前記複数の警告条件の１つを生成するステップは、モニターされることからミュートされているユーザと、どの前記１つまたは複数の無線ハンドヘルドデバイスが関係しているかを判定するステップを含むことを特徴とする請求項１９に記載のコンピュータ読み取り可能な記録媒体。
【請求項２３】
前記ミュートされているユーザは、指定期間の期限が切れた後にミュート解除されることを特徴とする請求項２２に記載のコンピュータ読み取り可能な記録媒体。
【請求項２４】
前記複数の警告の１つは、電子メールを介して転送されることを特徴とする請求項１９に記載のコンピュータ読み取り可能な記録媒体。
【請求項２５】
サーバレベル失敗は、前記１つまたは複数のエンタープライズサーバのただ１つと通信する前記１つまたは複数の無線ハンドヘルドデバイスの少なくともいくつかの通信パフォーマンスデータが、前記複数の警告条件の１つと一致する場合に発生することを特徴とする請求項１に記載のシステム。
【請求項２６】
デバイスレベル失敗は、１つまたは複数のエンタープライズサーバと通信する前記１つまたは複数の無線ハンドヘルドデバイスのただ１つの通信パフォーマンスデータが、前記複数の警告条件の１つと一致する場合に発生することを特徴とする請求項２５に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信エンタープライズサーバの稼働率とパフォーマンスを監視する(monitoring)ためのシステムと方法に関する。より具体的には、無線ハンドヘルドデバイスと通信するエンタープライズサーバの稼働率とパフォーマンスを監視するためのシステムと方法に関する。
【０００２】
本出願は、２００７年１１月２９日に提出した米国特許出願第11/987,418号の優先権を主張し、その全体が参照によりこの明細書に組み込まれている。
【背景技術】
【０００３】
今日のモバイル社会のため、無線ハンドヘルドデバイスは企業で重要な役割を演じる。無線ハンドヘルドデバイスは、例えば、無線ネットワークにより、ユーザに電子メールを送信し受信することを可能とする。そのようなデバイスの一例は、１９９９年に登場したBlackBerry(登録商標）であり、プッシュ電子メール、携帯電話、テキストメッセージ、インターネットファックス、ウェブブラウズ、および他の無線情報サービスをサポートしている。
【０００４】
一般に、エンタープライズにおける電子メールサービスに、システムの停止または遅いシステムパフォーマンスといったパフォーマンスの問題がある場合には、影響を受けた前記サービスのユーザは、前記エンタープライズの情報技術（ＩＴ）ヘルプデスクに報告する。第１レベルＩＴサポートは、すべての電話または他の通信を取り扱うとともにそれぞれのユーザの問題に対応しなければならない。前記第１レベルＩＴサポートも、類似した内容の多くのサービスの問題がログに記録されるまでは、それぞれのユーザの苦情を解決しようと働くときには、システム全体に広がる問題はわからない。その時までには、すでに多くのユーザが影響を受けており、ＩＴサポートは、反応の早い方法において前記問題の原因を大急ぎで解明しなければならない。したがって、システム故障の早い段階での前兆を検出するために通信のパフォーマンスを積極的に監視する無線ハンドヘルドデバイス、エンタープライズアプリケーション、および無線ネットワーク間の集中型リンクのように動作するシステム、方法、およびソフトウェアの必要性がある。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
したがって、本発明は、従来技術の限界および不利益に起因する１つまたは複数の問題を相当除去するエンタープライズサーバモニターを対象としている。
【課題を解決するための手段】
【０００６】
本発明の目的は、通信アプリケーションを実行している１つまたは複数のエンタープライズサーバをモニターするためのシステムおよび方法を提供することである。
【０００７】
本発明の他の目的は、パフォーマンス問題のために、通信アプリケーションを実行しているエンタープライズサーバを積極的にモニターするためのシステムおよび方法を提供することである。
【０００８】
本発明の他の目的は、勤務時間中または勤務時間外に問題が発生しているかどうかといったパフォーマンス状況、前記無線ハンドヘルドデバイスのステータス、または前記無線ハンドヘルドデバイスのバッテリーレベルを考慮している間のコンテンツの配信に関する問題のために、無線ハンドヘルドデバイスの選択されたユーザをモニターするためのシステムおよび方法を提供することである。
【０００９】
本発明のさらなる他の目的は、前記検出されたパフォーマンス問題が前記エンタープライズネットワークまたはキャリア（carrier）ネットワークから生じたかどうかを識別するためのシステムおよび方法を提供することである。
【００１０】
本発明のさらなる特徴および利点が、本明細書において以下に説明され、一部は、本明細書から明確にされ、または本発明の実施により知られうる。本発明の前記目的および他の利点は、本明細書および特許請求の範囲のほかにも添付の図面に具体的に開示されている構成により理解され、達成されうる。
【００１１】
本発明の前記目的に従ってこれらの利点を達成するために、具体化されるとともに概略的に説明されているように、システムは、１つまたは複数の無線ハンドヘルドデバイスと、前記１つまたは複数の無線ハンドヘルドデバイスと通信する１つまたは複数のエンタープライズサーバと、前記１つまたは複数のエンタープライズサーバと通信するエンタープライズサーバモニターと、を具備し、前記エンタープライズサーバモニターは、選択されるユーザのグループに使用される前記１つまたは複数の無線ハンドヘルドデバイスと通信する前記１つまたは複数のエンタープライズサーバから通信パフォーマンスデータを収集し、前記収集された通信パフォーマンスデータが１つまたは複数の警告条件と一致する場合には、１つまたは複数の警告を生成し、前記１つまたは複数の警告条件は、潜在的通信失敗(potential communication failures)の１つまたは複数のレベルを示している。
【００１２】
他の側面において、エンタープライズサーバモニターは、１つまたは複数のエンタープライズサーバと通信するサーバと、１つまたは複数の無線ハンドヘルドデバイスと通信する前記１つまたは複数のエンタープライズサーバと、を具備し、前記サーバは、選択されるユーザのグループに使用される前記１つまたは複数の無線ハンドヘルドデバイスと通信する前記１つまたは複数のエンタープライズサーバから通信パフォーマンスデータを収集し、前記選択された通信パフォーマンスデータが１つまたは複数の警告条件と一致する場合には、１つまたは複数の警告を生成するウォッチャーサービスを含み、前記１つまたは複数の警告条件は、潜在的通信失敗の１つまたは複数のレベルを示している。
【００１３】
さらなる他の側面において、方法は、モニターするための１つまたは複数の無線ハンドヘルドデバイスの１人または複数のユーザを選択するステップと、前記１つまたは複数の無線ハンドヘルドデバイスと通信する１つまたは複数のエンタープライズサーバから通信パフォーマンスデータを収集するステップと、前記収集された通信パフォーマンスデータを１つまたは複数の警告条件と比較するステップと、前記収集された通信パフォーマンスデータが１つまたは複数の警告条件と一致する場合には、１つまたは複数の警告を生成するステップと、を具備し、前記１つまたは複数の警告条件は、潜在的通信失敗の１つまたは複数のレベルを示している。
【００１４】
さらなる他の側面において、コンピュータプログラム製品は、コンピュータ上で実行された場合には、前記コンピュータが複数のステップを具備している方法を実行するように構成されている、コンピュータ実行可能な命令を格納しているコンピュータ読み取り可能なメディアを具備し、前記複数の方法は、モニターするために１つまたは複数の無線ハンドヘルドデバイスの１人または複数のユーザを選択するステップと、前記１つまたは複数の無線ハンドヘルドデバイスと通信する１つまたは複数のエンタープライズサーバから通信パフォーマンスデータを収集するステップと、前記収集された通信パフォーマンスデータを１つまたは複数の警告条件と比較するステップと、前記収集された通信パフォーマンスデータが１つまたは複数の警告条件と一致する場合には、１つまたは複数の警告を生成するステップと、を具備し、前記１つまたは複数の警告条件は、潜在的通信失敗の１つまたは複数のレベルを示している。
【００１５】
前述の一般的な説明および以下の詳細な説明は、具体的および説明的であり、特許請求の範囲に示される本発明のさらなる説明を提供することを目的としていることは、理解されよう。
【００１６】
本発明のさらなる理解を提供し、本明細書に組み込まれるとともに構成する添付の図面は、本発明の実施形態を図示しており、本明細書とともに本明細書の原理を説明するために供給される。
【図面の簡単な説明】
【００１７】
【図１】本発明の一実施形態の系統図である。
【図２Ａ】本発明に従うプロセスフローの例示図である。
【図２Ｂ】本発明に従うプロセスフローの例示図である。
【図２Ｃ】本発明に従うプロセスフローの例示図である。
【図２Ｄ】本発明に従うプロセスフローの例示図である。
【図３Ａ】本発明に従うサービスフローの例示図である。
【図３Ｂ】本発明に従うサービスフローの例示図である。
【図４】設定インターフェースの例示図である。
【図５】本発明に従うデータベーステーブルの例示である。
【図６】本発明に従う画面の例示図である。
【図７】本発明に従う画面の例示図である。
【図８】本発明に従う画面の例示図である。
【発明を実施するための形態】
【００１８】
本発明の実施形態が、詳細に説明される。その例が、添付の図面において例示されている。
【００１９】
図１は、本発明の一実施形態におけるネットワーク図を示している。図１に示されているように、本発明の一実施形態のシステムは、電子メールまたはカレンダーデータなどの情報を送信しまた受信するための無線ハンドヘルドデバイス 101を含む。前記情報は、電子メールサーバ 104などのエンタープライズクラス電子メールシステム上に格納される。Microsoft Exchange（登録商標）サーバおよびドミノサーバが、電子メールサーバ 104の例である。前記電子メールサーバ 104は、前記エンタープライズサーバ ("ES") 106およびＥＳデータベース 105と直接通信しうる。例えば、前記無線ハンドヘルドデバイス 101は、Blackberry（登録商標）デバイスであり、前記サービスプロバイダは、Blackberry（登録商標）サービスのプロバイダであり、前記エンタープライズサーバは、Blackberry（登録商標）エンタープライズサーバ("BES")であり、そしてデータベースは、BESデータベースであってよい。しかし、他のタイプの通信デバイス、通信サーブし、通信プロトコルも、本発明の範囲を逸脱せずに使用しうる。
【００２０】
前記実施形態において、前記ＥＳ 106は、前記無線ハンドヘルドデバイス 101とリンキングするＥＳアプリケーションと、前記無線キャリア（wireless carriers） 102と、前記電子メールサーバ 104を具備している。前記ＥＳアプリケーションは、コンピュータデスクトップと、ユーザの前記無線ハンドヘルドデバイス 101との間の電子メールおよび個人情報または企業データなどの他の情報と同期するために使用される。いくつかの実施形態においては、これらは、前記ＥＳアプリケーションが実行されている複数のエンタープライズサーバ 106であってもよい。図１において示すように、前記ＥＳデータベース 105は、前記ＥＳアプリケーションが実行されている前記ＥＳ 106に含まれている。しかし、本発明の範囲を逸脱せずに、他の組み合わせを使用しうる。例えば、前記ＥＳデータベース 105は、複数のエンタープライズサーバ 106上で実行されている前記ＥＳアプリケーションと通信する１つまたは複数の別々のデータベースサーバ上にあってもよい。
【００２１】
無線ハンドヘルドデバイス 101を介して電子メールを送信および受信することを例示するために例が提供されている。無線ハンドヘルドデバイス 101を介して電子メールを受信するために、前記下書きされた(drafted)電子メールが、前記無線ハンドヘルドデバイス 101に配信するために前記電子メールサーバ 104に送信される。前記ＥＳ 106は、前記電子メールを検出し、それをインターネットなどのネットワークを通じて前記サービスプロバイダサーバ 103に転送する。前記サービスプロバイダサーバ 103は、その後、前記電子メールを１つまたは複数の無線通信事業者 102に送信する。前記無線通信事業者 102は、その後、見るために、前記電子メールを前記無線ハンドヘルドデバイス 101に送信する。前記無線ハンドヘルドデバイス 101から電子メールを送信するために、前記処理が、反転される。
【００２２】
前記ＥＳデータベース 105は、特に前記無線ハンドヘルドデバイス 101と前記ＥＳ 106間の通信に関するデータを格納する。前記データのいくつかは、限定されないが、ＩＴポリシー、モバイルデータサービス("MDS")設定、個人識別番号("PIN")電子メールデータ、ユーザ統計、シンクデータ、無線データ、および前記無線ハンドヘルドデバイス 101と前記ＥＳ 106間の通信に関係する任意の他の情報を含んでいる。例えば、前記ＰＩＮ-電子メールデータは、前記デバイスを識別するために、前記無線ハンドヘルドデバイス 101により使用され、前記無線ハンドヘルドデバイス 101に割り当てられている特定の個人のための前記電子メールまたは他のデータが、適切に配信されることを確実にする。前記データは、エンタープライズの制限内で働くために、無線ハンドヘルドデバイス 101のための適切な設定を提供し、無線ハンドヘルドデバイス 101のユーザの使用における統計を提供する。前記統計は、前記ＥＳウォッチャーサービス 108により無線ハンドヘルドデバイス 101をカテゴライズすることに役立つ。前記データは、ルーティングおよび前記ＥＳ 106と前記サービスプロバイダサーバ 103間の通信を提供するのに役立つ。
【００２３】
前記ＥＳ 106は、前記ＥＳデータベース 105に格納されている通信データをＥＳウォッチャーサーバ 107に送る。前記ＥＳウォッチャーサーバ 107は、前記ＥＳウォッチャーサーバ 107に送られた前記通信データをモニターするＥＳウォッチャーサービス 108を含んでいる。前記ＥＳウォッチャーサービス 108は、ユーザが関与せずにバックグラウンドで実行されるサービスアプリケーションであってよい。前記ＥＳウォッチャーサービス 108は、例えばコンテンツの配信が成功したといった前記ＥＳ 106と前記無線ハンドヘルドデバイス 101間の通信に関する問題のために、前記ＥＳ 106またはＥＳデータベース 105の活動をモニターする。前記通信問題は、前記電子メールサーバ 104と前記ＥＳ 106間のイベントなどの内部問題、または、前記ＥＳ 106と前記サービスプロバイダサーバ 103および／または無線通信事業者 102間のイベントなどの外部問題を含んでいる。前記通信サービス中断させるビルディング停止(building outage)などのイベントに影響する他のネットワークもモニターされる。多数のエンタープライズサーバ 106またはＥＳデータベース 105があるいくつかの実施形態において、前記ＥＳウォッチャーサービス 108は、前記多数のエンタープライズサーバ 106またはＥＳデータベース 105からアクティビティフィード（activity feed）を受信する。
【００２４】
前記ＥＳウォッチャーサービス 108が実行されており、かつアクティブ状態にある場合には、前記ＥＳウォッチャーサービス 108は、リフレッシュ期間に前記エンタープライズサーバ 106に格納されたデータにアクセスする。前記リフレッシュ期間は、変更してもよい。例えば、リフレッシュ期間は数分が使用され、前記ＥＳウォッチャーサービス 108は、前記エンタープライズサーバに格納されたデータに１０分毎にアクセスする。
【００２５】
本発明に従う、前記ＥＳウォッチャーサービス 108は、積極的に潜在的なまたは確認された通信パフォーマンス問題を識別する。前記ＥＳウォッチャーサービス 108が、ひとたび潜在的なまたは確認された通信パフォーマンス問題を識別したならば、警告を生成することにより前記パフォーマンス問題に適切な人員に通知する。したがって、前記ＥＳウォッチャーサービス 108は、多くの無線ハンドヘルドデバイスユーザが彼らの通信サービスで前記問題に適切な人員に通知しなければならないことを防ぐことが可能である。
【００２６】
システムに広がる失敗の可能性を確認するために、前記ＥＳウォッチャーサービス 108は、前記ＥＳ 106と前記無線ハンドヘルドデバイス 101間の通信をモニターする。しきい値を超えたといった定義された条件が一致する場合には、前記ＥＳウォッチャーサービス 108は、警告を生成する。例えば、前記しきい値は、保留メッセージの最大数または無線ハンドヘルドデバイスがサーバと交信している最大時間量を含んでいる。無線ハンドヘルドデバイス 101がこれらのしきい値を超えた場合には、その後特定の無線ハンドヘルドデバイス 101のための警告が生成される。前記警告は、警告が発生する原因となった条件をリストしてよい。前記通信サービスに関する問題が存在する場合には、その後、ＩＴ職員は、積極的に前記問題に取りかかる（address）。前記ＥＳウォッチャーサービス 108により生じる日付または時間のモニターに基づき、いつ警告を生成するかの基準が変化しうる。例えば、ある判定基準のセットを勤務時間中に使用し、他の判定基準のセットを勤務時間外において使用してもよい。警告を生成する場合には、前記ＥＳウォッチャーサービス 108は、前記無線ハンドヘルドデバイス 101のステータスを考慮する分析規則（analysis rule）も含む。例えば、前記無線ハンドヘルドデバイスのバッテリーレベルと、前記無線ハンドヘルドデバイスがミュートされているかどうかと、が前記ＥＳウォッチャーサービス 108により考慮される。無線ハンドヘルドデバイスがミュートされている場合には、その後、警告は、そのデバイスのために生成されない。無線ハンドヘルドデバイスの前記バッテリーレベルが低い場合には、このデバイスのための通信サービスに関する問題ではないため、その後、警告がこの要因の適切な人員に通知される。他の条件も、本発明の範囲を逸脱することなく使用されうる。
【００２７】
ウェブブラウザといったユーザインターフェースは、前記ＥＳウォッチャーサービス 108を設定し、発生する警告と警報をみるために使用されうる。図４は、設定のためのインターフェースの例である。これとは別に、前記警告と警報は、前記通信システムのモニターを担当しているユーザに割り当てられたハンドヘルド無線デバイスで受信してもよい。例えば、前記ＥＳウォッチャーサービス 108は、前記ＥＳウォッチャーサービス 108により生成される警告を受信する個人、グループ、または組織の識別情報を受け入れるためにウェブインターフェースを通じて設定されてもよい。前記ＥＳウォッチャーサービス 108は、前記ＥＳウォッチャーサービス 108によりモニターされているソースメールボックスを受け入れるように設定されている。モニターのための前記ソースメールボックスは、例えばプロファイルの高いメールボックスまたは頻繁な電子メールのユーザなどの通信アクティビティのサンプリングを提供するそれの中から選択される。一般に、モニターのために選択された前記電子メールのユーザは、前記ＥＳ 106と前記無線ハンドヘルドデバイス 101間の通信に重く依存し、上級管理職、幹部、またはオンコール義務（on-call duties）に関するＩＴサポート関係者を含みうる。前記ＥＳウォッチャーサービス 108は、警告を生成するための条件が設定されている。例えば、図４に示されているように、例示のインターフェースは、警告が生成される前まで許容されていた保留メッセージの最大数、ユーザが前記ＥＳ 106としなければならない最後の交信の最大期間、および勤務時間と勤務時間外の種別、などの条件を含んでいる。他の条件も、本発明の範囲を逸脱せずに含みうる。
【００２８】
前記ＥＳウォッチャーサービス 108は、また一時的または永久に「ミュートされている」ユーザに関する入力を受信する。例えば、ユーザが「ミュートされている」場合には、前記ＥＳウォッチャーサービス 108は、そのユーザの前記無線ハンドヘルドデバイス 101のために警告を生成しない。ユーザをミュートすることは、前記ＥＳウォッチャーサービス 108を通して「ミュートされている」必要がある前記ソースメールボックスおよびミュートの理由を識別することを含んでいる。前記「ミュートされている」ユーザは、以下でさらに説明されるUsers.xmlファイル 302aに格納される。一時的なミュートのために、ユーザは、手動でまたは指定の有効期限または有効時間が経過した後、「ミュート解除」される。
【００２９】
図２Ａ−２Ｄは、前記ＥＳウォッチャーサービス 108により実行されるモニタープロセスの例証を図示している。図３Ａおよび３Ｂは、前記ＥＳウォッチャーサーバ 107上で実行されているサービスのフローの例証を図示している。例えば、図３Ａおよび３Ｂは、図２Ａ−２Ｄに図示されている例証のモニタープロセス中の前記ＥＳウォッチャーサービス 108により実行されたコールの例証を図示している。
【００３０】
一実施形態において、前記ＥＳウォッチャーサービス 108は、アプリケーション設定データを取り出す(ステップ 201)。アプリケーション設定データを取り出すために、関数checkConfig 301が、初期設定のための、または前記ＥＳウォッチャーサービス 108の設定のための初期値を、前記ＥＳウォッチャーサービス 108により受け入れられた設定データを含んでいるApp.configファイル 301から設定の間に取り出す。
【００３１】
図４は、設定データを入力するための設定インターフェースの例示である。例えば、前記設定データは、前記警告が誰に送信されることになっているか、前記警告のための前記ソースメールボックス、警告が生成される前に許容されていた保留メッセージの最大数、警告が生成される前に無線ハンドヘルドデバイスが前記ＥＳ 106としなければならない最後の交信の最大期間、および／または勤務時間と勤務時間外の種別、といった前記警告の条件およびマネージメントを含んでいる。さらなる正確さのために、前記設定データは、ハンドヘルド無線デバイスの電源が切られているか／入っているか、および／またはバッテリーの寿命が切れているかといった付加的な基準を含んでもよい。ユーザの最後の交信のためのデータは、送信されたメッセージの最後の転送時間または最後の送信時間に基づいてよい。あくまで例示目的であるが、選択された無線ハンドヘルドデバイスの３つが、ウィークデイに１時間３０分、週末には３時間以上前記サーバと最後の交信を行った場合には、基準がセットされ、その後警告が生成される。警告を生成するための基準の他の例は、限定されないが、選択された無線ハンドヘルドデバイスの５つが最後の交信をして、設定限界を超える保留値(pending value)を有する場合、ある場所における選択された無線ハンドヘルドデバイスの１０個が最後の交信をして、設定限界を超える保留値を有する場合、または、選択された無線ハンドヘルドデバイスのすべてが同程度の距離の最後の交信をした場合、を含みうる。前記ＥＳウォッチャーサービス 108は、いつ警告を生成するか、および／または誰に前記警告を送信するか、を決定するために、前記設定データを使用する。
【００３２】
一実施形態において、一度前記ＥＳウォッチャーサービス 108が設定されると、前記ＥＳウォッチャーサービス 108は、モニターされているユーザをスキャンし更新する(ステップ 202)。関数cleanUsersXml 302は、前記ＥＳデータベース 105上の前記モニターされているユーザを通じてスキャンする。前記モニターされているユーザのリストは、Users.xmlファイル 302aに格納されている。前記Users.xmlファイル 302aは、前記ユーザの前記サービスプロバイダサーバ 103が変更されたなどといったユーザデータの変更とともに更新される。ミュートされているユーザの有効期限または有効時間が経過した場合には、関数cleanUsersXml 302は、モニターのためのユーザを復帰させ("ミュート解除")、Users.xmlファイル 302aを更新する。
【００３３】
前記ＥＳウォッチャーサービス 108は、関数checkConfig 301がコールされた後、そのキャッシュをクリアする(ステップ 203)。関数clearCache 303が前記ＥＳウォッチャーサービス 108により使用される統計データおよびモニターのために必要とされた他のデータをリセットするために実行される。加えて関数clearCache 303は、前記ＥＳウォッチャーサービス 108のキュー情報をクリアする。前記キュー情報は、特定のイベントが前記ＥＳ 106において検出された場合に、警告される必要があるユーザのための識別情報を格納するために使用される。
【００３４】
前記App.configファイル 301aに格納されている前記設定データを使用して、前記ＥＳウォッチャーサービス 108は、警告を生成するための基準で設定される(ステップ 204)。関数getWorkStatus 304は、App.configファイル 301aに格納されている前記設定データを取り出す。前記設定データおよび現在の日付と時間に基づき、前記関数getWorkStatus 304は、警告がトリガされなければならない場合の基準をセットする。図２Ｄは、警告を生成するための基準を設定するために、前記ＥＳウォッチャーサービス 108により使用される処理の一例である。この関数は、前記現在の日付と時間を取り出す(ステップ 204a)。前記日付と時間に基づき、勤務時間か勤務時間外かが判定される(ステップ 204b)。例えば、前記ＥＳウォッチャーサーバ 107から取り出された前記現在の日付と時間が平日の午後４時である場合には、その後勤務時間のための警告基準が使用される。しかし、それが土曜の午後４時である場合には、その後、勤務時間外の警告基準が使用される。
【００３５】
関数getWorkStatus 304は、保留メッセージの最大数を判定する(ステップ 204c)。前記保留メッセージの最大数は、ユーザが、彼らのメールボックスに前記保留メッセージの最大数を超えるものを有する場合には、トリガが発生しうる要因を記述する。無線ハンドヘルドデバイスのための前記保留メッセージは、ＥＳデータベース上に格納されたデータを使用して生成される。いくつかのユーザは、短い期間に大量のメッセージを受信しうるため、失敗警告を避けるために前記数は１０またはそれ以上の保留メッセージにセットされる。ユーザが前記ＥＳ 106またはＥＳデータベース 105とする最後の交信の最大期間も判定される(ステップ 204d)。別の方法では、警告を生成するためのデータは、ＳＲＰ接続度(connectivity)、ＭＡＰＩヘルス、ユーザのメールボックスへのメールフローおよび接続度のためのサーバログのスキャンに基づいていてもよい。関数getWorkStatus 304は、前記警告のソースメールボックス(すなわち、モニターされているユーザのメールボックス)を判定し(ステップ 204e)、警告が誰に送信されなければならないかを判定する(ステップ 204f)。
【００３６】
前記ＥＳウォッチャーサービス 108は、ユーザデータを処理する(ステップ 205)。例えば、関数processUsers 305は、ユーザＩＤなどのユーザ識別情報をUsers.xmlファイル 302aまたはApp.configファイル 301aから取り出す。前記関数は、その後ユーザＩＤのリストを作成する。前記ユーザＩＤは、保留メッセージの数およびユーザのためのサーバとの最後の交信時間などのユーザ統計を判定するために使用される。関数processUsers 305は、永久にまたは一時的に「ミュートされている」ユーザを識別する。これらのユーザは、ミュートされている間はモニターされず、そのためユーザＩＤの前記リストに追加されない。一度モニターリストが関数processUsers 305により生成されたならば、前記関数は、前記リストをgetStats関数 306に引き渡す。
【００３７】
前記モニターリストは、processUsers 305により処理されるために、スペースデリミタにより区切られた多くのユーザＩＤを識別する。これとは別に、関数processUsers 305は、ＳＱＬ関数であってもよい。この関数を使用することにより、シングルクエリーが、モニターされたユーザの統計を取り出しうる。これは、モニターされているユーザの統計のより良い処理を可能にし、前記ＥＳ 105上のすべてのユーザをモニターしなければならないことを避けることができる。別の実施形態において、多くのクエリーを、前記ＥＳデータベース 105からデータを取り出すために使用してもよい。
【００３８】
処理されたユーザデータは、その後格納される(ステップ 206)。例えば、関数getStats 306は、processUsers 305関数からユーザＩＤのリストを取り出し、格納プロシージャにユーザの前記リストを引き渡す。一実施形態において、このプロシージャは、"procBESWatcher"と呼ばれるＳＱＬサーバ格納プロシージャである。前記格納プロシージャは、前記ＥＳデータベース 105にクエリし、データテーブルを生成するために使用さる(ステップ 207および 208)。前記データテーブルは、データを含んでいるいろいろな行および列を含む。
【００３９】
図５は、統計的データテーブルの例示である。図５に示されているように、前記データテーブルは、"ユーザＩＤ"列、"最後の交信"列、および"保留"列を含んでいる。前記データテーブルは、また日付およびタイムスタンプと、メッセージの最後の送信／最後の転送時間と、を含んでもよい。"ユーザＩＤ"列に格納されているデータは、電子メールアドレスまたはユーザの無線ハンドヘルドデバイスそれぞれのＰＩＮなどのユーザＩＤを含んでいる。"最後の交信"列に格納されているデータは、それぞれのユーザが前記ＥＳ 106と最後に交信してから経過した期間を含んでいる。前記最後の交信期間は、日付およびタイムスタンプと、それぞれのユーザのための"最後の送信時間／最後の転送時間"列に格納されている最後の送信時間／最後の転送時間データとの差の最低値により判定される。"保留"列に格納されているデータは、それぞれのユーザのための保留メッセージの数を含んでいる。
【００４０】
関数writeStats 306aは、関数getStats 306により生成された前記データテーブルのXMLファイルを生成する。図３ＡにおいてUsersStats.xml 306bと説明されているこのＸＭＬファイルは、前記ＥＳウォッチャーサービス 108によりモニターされているユーザのグラフィック統計のために使用されてもよい。例えば、ユーザの無線ハンドヘルドデバイスおよび／または前記エンタープライズサーバに関する統計値が生成される。加えて、前記統計データは、キャリア、保留電子メールの数、または送受信された全電子メールの数などのパラメータに基づきフィルタされる。前記生成された統計値は、その後例えばウェブインターフェースを通じてみることができる。
【００４１】
前記ＥＳウォッチャーサービス 108は、前記データテーブルに格納されているデータ、例えば図５に示されているようなデータを、警告を生成するための基準と比較する。例えば、関数processRules 307は、図５に示されている前記データテーブルに格納されているデータの処理を立ち上げるとともに開始する。関数getWorkStatus 304によりセットされた基準は、前記データテーブルに格納されているデータと比較される。関数processPending 307aは、図５の前記データテーブルにおけるそれぞれのユーザの"保留"列のそれぞれの行に格納されている数をとり、それを保留メッセージ値の最大数と比較する。ユーザの前記保留メッセージ数が保留メッセージ値の最大数よりも大きい場合には、その後ユーザ名、電子メールアドレス、またはＰＩＮといったユーザＩＤは、警告のための前記ＥＳウォッチャーサービス 108のキューに追加される(ステップ 210)。関数processLastContact 307bは、図五の前記データテーブルにおけるそれぞれのユーザの"最後の交信"列のそれぞれの行に格納されている数をとり、それを最後の交信値の最大値と比較する。ユーザの最後の交信が最後の交信値の最大値よりも大きい場合には、その後ユーザ名、電子メールアドレス、またはＰＩＮといったユーザ識別は、警告のための前記ＥＳウォッチャーサービス 108のキューに追加される。
【００４２】
関数processQueue 308は、関数processPending 307aおよび関数processLastContact 307bから、生成されたキューを取り出す。ステップ 211において、前記キューにおける前記データは、格納される。例えば、関数processQueue 308は、前記キューに格納されているユーザＩＤデータを処理するとともに前記データをソートする。ソーティングは、図５に示されているような前記データテーブルに格納されているデータに基づく。例えば、ソーティングは、ユーザの電子メールまたはユーザＩＤに基づく。
【００４３】
前記ＥＳウォッチャーサービス 108は、前記キューのデータを使用して電子メールまたは他の警告を生成する(ステップ 212)。前記ソートされたリストは、関数genEmail 309に引き渡される。前記関数genEmail 309は、前記リストを介してループし、前記ソートされたリストに基づき電子メールを書式化(format)する(ステップ 213)。前記電子メールの送信元および送信先がセットされる(ステップ 214)。例えば、関数sendEmail 310は、警告が誰に送信されることになっているかを識別する情報などの設定情報に基づき前記電子メールの送信元および送信先をセットする。前記ＥＳウォッチャーサービス 108は、その後、前記電子メールを送信する(ステップ 215)。例えば、前記関数sendEmail 310は、前記メッセージを設定されたＳＭＴＰ(Simple Mail Transfer Protocol)ホストに引き渡す。これは、図１において示されている前記電子メールサーバ 104である。前記電子メールサーバは、その後前記メッセージを、ＥＳ 105をモニターしているＩＴ専門家などの受取人に送信する。前記警告は、本発明の範囲を逸脱することなく、他の通信チャネルを介して送信されうることは理解されよう。例えば、前記ＥＳ 106にログオンしたＩＴ専門家は、前記電子メールサーバ 104を介することなく前記ＥＳウォッチャーサービス 108から与えられる警告を直接受信してもよい。
【００４４】
いくつかの異なるタイプの電子メール警告が生成されうる。例えば、多数のエンタープライズサーバにまたがって警告条件がユーザのために一致する場合には、キャリア警告が生成され、それにより、キャリアに関する潜在的な問題を示す。キャリア警告の一例が図６に示されている。ユーザが、かれらに関連するエンタープライズサーバによりグループ化されるように、前記電子メールは書式化される。図６に示されるように、例示的な警告は、たとえユーザが異なるサーバに割り当てられていても、接続性のない類似した期間を有することを示している。そのような条件は、前記キャリアに関する潜在的な問題を示しうる。
【００４５】
前記電子メールにおけるデータは、種々のデリミタにより分離されている。例えば、前記電子メールは以下のように書式化されうる。
【００４６】
Server: ES01
User: User1(11) [0 Hr(s) 17 Mins] <80%>
【００４７】
前記サーバは、ユーザデータが格納されている前記エンタープライズサーバであってよい。"User1"は、警告がトリガされた特定のユーザの名前またはユーザＩＤである。（  ）における値は、保留電子メールの数である。［  ］における値は、前記エンタープライズサーバと最後に交信してからのまたは最後に転送してからの経過時間の量である。＜  ＞における値は、前記無線ハンドヘルドデバイスのバッテリー強度(battery strength)である。
【００４８】
図７は、個々のエンタープライズサーバに関する潜在的な問題を示すサーバ警告の一例である。前記電子メール警告は、前記エンタープライズサーバに基づきユーザまたは複数のユーザをグループ化する。図７に示されているように、前記サーバ警告は、共通のエンタープライズサーバ上の接続性のない類似した期間を有しているユーザを示す。そのような条件は、識別されたエンタープライズサーバに関する問題を示しうる。
【００４９】
図８は、ユーザレベルにおける潜在的な問題を示すユーザ警告の一例である。例えば、図８における警告は、識別されたユーザのハンドヘルド無線デバイスが非稼働中であり、前記エンタープライズサーバと接続不可能であることを示している。ＩＴサポートは、その後前記電子メール警告に基づくユーザ問題の問題解決を試みる。他の電子メール警告は、本発明の範囲を逸脱せずに、前記ＥＳウォッチャーサービス 108により生成されうる。
【００５０】
前記ＥＳウォッチャーサービス 108は、ユーザの無線ハンドヘルドデバイスの前記バッテリーレベルに基づき、モニターするとともに警告を発する。このモニタリングは、前記サービスにより送信される警告に対するよりよい見識を提供可能である。例えば、バッテリーレベルが低い場合には、前記無線ハンドヘルドデバイスは、前記無線をターンオフするか、またはユーザが前記デバイスシャットダウンする。この場合には、内部的サーバまたは外部的キャリアに関するようなコンテンツ配送の成功に関する大きな問題はない。
【００５１】
本発明の前記エンタープライズサーバモニターにおける種々の修正および変更が、本発明の精神または範囲を逸脱することなく作成可能であることは、当業者にとり明確である。したがって、本発明は、添付の特許請求の範囲およびその均等の範囲内で提供される修正および変更をカバーすることが意図されている。
【符号の説明】
【００５２】
１０１      無線ハンドヘルドデバイス
１０２      無線通信事業者、無線キャリア
１０３      サービスプロバイダサーバ
１０４      電子メールサーバ
１０５      ＥＳデータベース
１０６      ＥＳ
１０７      ＥＳウォッチャーサーバ
１０８      ＥＳウォッチャーサービス
【図２Ａ】
2014053042.tif 000003
【図２Ｂ】
2014053042.tif 000004
【図２Ｃ】
2014053042.tif 000005
【図２Ｄ】
2014053042.tif 000006
【図３Ａ】
2014053042.tif 000007
【図３Ｂ】
2014053042.tif 000008
【図４】
2014053042.tif 000009
【図５】
2014053042.tif 000010
【図６】
2014053042.tif 000011
【図７】
2014053042.tif 000012
【図８】
2014053042.tif 000013
【図１】
2014053042.tif 000014