(57)【特許請求の範囲】
【請求項１】
プロセッサおよび第１のアプリケーションを備える第１のデバイスと、プロセッサおよび第２のアプリケーションを備える第２のデバイスとを接続する方法であって、
前記第１のデバイスおよび前記第１のデバイス内の前記第１のアプリケーションのうちの少なくとも１つを構成管理プログラムで登録するステップであって、前記第１のデバイスは、光ベースの物理計器、銅ベースの物理計器、光ベースの仮想計器、または、銅ベースの仮想計器のうちの１つを備える、ステップと、
前記第２のデバイスおよび前記第２のデバイス内の前記第２のアプリケーションのうちの少なくとも１つによって、プロセッサおよびアプリケーションを備えるデバイスの接続情報を前記構成管理プログラムに要求するステップであって、前記第２のデバイスは、光ベースの物理計器、銅ベースの物理計器、光ベースの仮想計器、または、銅ベースの仮想計器のうちの１つを備える、ステップと、
前記第１のデバイスおよび前記第１のアプリケーションのうちの少なくとも１つの接続情報を前記第２のデバイスおよび前記第２のアプリケーションのうちの少なくとも１つに提供するステップと
を含み、前記第２のデバイスまたは前記第２のアプリケーションのうちの少なくとも１つが、前記接続情報に基づいて前記第１のデバイスまたは前記第１のアプリケーションのうちの少なくとも１つと直接通信し、
前記第１のデバイス、第１のアプリケーション、第２のデバイス、または、第２のアプリケーションのうちの１つは、前記第１のデバイスまたは第２のデバイスのうちの他方を制御し、それによって、前記第１のデバイスまたは第２のデバイスのうちの前記他方が測定を行うことを引き起こし、かつ、前記第１のデバイスまたは第２のデバイスのうちの前記他方から読取りを取得する、方法。
【請求項２】
前記第１のデバイスが、複数のアプリケーションを備える複数のデバイスを備え、
接続管理プログラムが、システム内のすべてのデバイスおよびすべてのアプリケーションを定義し、前記定義されたデバイスおよび前記定義されたアプリケーションが、前記定義されたデバイスおよびアプリケーションが構成されるときに互いに直接通信する、請求項１に記載の方法。
【請求項３】
前記第２のデバイスが、複数のアプリケーションを備える複数のデバイスを備え、
接続管理プログラムが、システム内のすべてのデバイスおよびすべてのアプリケーションを定義し、前記定義されたデバイスおよび前記定義されたアプリケーションが、前記定義されたデバイスおよびアプリケーションが構成されるときに互いに直接通信する、請求項１に記載の方法。
【請求項４】
前記第１のデバイスが、複数のアプリケーションを備える複数のデバイスを備え、
前記構成管理プログラムが、複数の物理マシンにわたって広がる仮想システム内のすべてのデバイスおよびアプリケーションを定義し、
前記デバイスおよび前記アプリケーションが、構成されると、直接通信する、請求項１に記載の方法。
【請求項５】
前記第２のデバイスが、複数のアプリケーションを備える複数のデバイスを備え、
前記構成管理プログラムが、複数の物理マシンにわたって広がる仮想システム内のすべてのデバイスおよびすべてのアプリケーションを定義し、
前記デバイスおよび前記アプリケーションが、構成されると、直接通信する、請求項１に記載の方法。
【請求項６】
複数のアプリケーション、複数のデバイス、ならびに、複数のアプリケーションおよびデバイスを接続する方法であって、
分散型アーキテクチャシステム内の遠隔接続構成に、プロセッサを備える第１のデバイスによって要求するステップであって、前記第１のデバイスは、光ベースの物理計器、銅ベースの物理計器、光ベースの仮想計器、または、銅ベースの仮想計器のうちの１つを備える、ステップと、
前記分散型アーキテクチャシステム内のアプリケーション管理プログラムによって、前記遠隔接続構成への要求を受信するステップと、
前記アプリケーション管理プログラムによって、サービス管理プログラムに前記遠隔接続構成への前記要求に対応する第２のデバイスを見つけるように要求するステップであって、前記第２のデバイスは、光ベースの物理計器、銅ベースの物理計器、光ベースの仮想計器、または、銅ベースの仮想計器のうちの１つを備える、ステップと、
サービスデバイスによって、前記第２のデバイスと通信し、前記第２のデバイスの場所を識別するステップと、
前記サービス管理プログラムによって、前記第２のデバイスの場所の情報を前記アプリケーション管理プログラムに送信するステップと、
前記アプリケーション管理プログラムによって、前記第２のデバイスの場所の情報を受信し、前記遠隔接続構成を介して前記第１のデバイスに送信するステップと、
前記アプリケーション管理プログラムによって提供された前記場所の情報に基づいて、前記第１のデバイスによって、前記第２のデバイスと直接通信するステップであって、前記第１のデバイスまたは第２のデバイスのうちの一方は、前記第１のデバイスまたは第２のデバイスのうちの他方を制御し、それによって、前記第１のデバイスまたは第２のデバイスのうちの前記他方が測定を行うことを引き起こし、かつ、前記第１のデバイスまたは第２のデバイスのうちの前記他方から読取りを取得する、ステップと
を含む、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、参照によりその開示の全部が本明細書に組み込まれている、２０１２年１１月５日に出願した米国仮出願第６１／７２２，５７８号に基づき、その優先権を主張するものである。
【０００２】
本発明は、アプリケーションをアプリケーションに、ハードウェアをハードウェアに、および、アプリケーションをハードウェアに接続する方法、ならびに、複数のアプリケーションの間と、複数のデバイスの間と、複数のアプリケーションおよびデバイスの間のモジュール式通信を円滑に進めるための分散型アーキテクチャシステムに関する。
【背景技術】
【０００３】
今日のテストおよび測定システムは、本質的にモノリシックであり、そこで、所与のシステムがせいぜい一握りの密接に関連した、強固に統合された刺激および測定能力をサポートする。システムは、特定の刺激および測定能力の性格および特性をもつようになり、この性格および特性のサポートに制限される。モジュール式プラットフォームで設計されたシステムでさえ、本質的に真にモノリシックであり、密接に関連した、強固に統合された能力の所与のセットのみが、所与の時間にサポートされ得る。異なる能力をサポートするために、モジュール式システムは、この新しい能力を完全に変質させる必要がある。モノリシックソフトウェアが、インストールされるハードウェア能力のための特定のドライバをインストールすることができるように、しばしば、システムは、電源を切り、再び電源を入れる必要がある。
【０００４】
今日のモノリシックの、非分散型システムは、異なる測定および刺激能力を同時にサポートするためのユーザの能力を制限する。これらの解決法はまた、通常は直接ハードウェア接続を介する、強固な結合を必要とする。ユーザインターフェースを介する刺激および測定能力の危急が、実際の刺激および測定ハードウェアと強固に結合される。ユーザインターフェースはまた、システムソフトウェアと濃密に統合される。ユーザインターフェースが別個のアプリケーション層として作成される場合にも、それは、システムソフトウェア、システムハードウェア、およびモジュールハードウェアと強固に結合される。モジュールドライバもまた、システムソフトウェアと濃密に統合される。これは、新しい性格および新しいモジュールドライバが具体的にロードされ得るようにモジュールが変更されるときにシステムが完全に再起動される必要があるという、それらの状況にはっきりと示される。今日のシステムでは、そのシステムが一握りの密接に関連した、強固に統合された刺激および測定能力の適用を受けない限り、ユーザは自分たちのシステム全体をテストすることはできない。
【０００５】
一例として、顧客は、しばしば、光／銅ファイバ境界を横切る完全な通信ネットワーク経路をテストしたいと考える。顧客は、ネットワークのファイバ構成要素で伝送特性および信号パラメータを測定し、また、ネットワークの銅構成要素で伝送特性および信号パラメータを測定したいと考える。今日、顧客は、２つの完全に異なるユニット−ファイバテストプラットフォームとして構成されたものと、銅ファイバテストプラットフォームとして構成されたもののいずれかを有することが必要になる（モジュール式プラットフォームを仮定して）。２つの完全なモジュール式システムを有することは非常に費用が掛かり得る。別法で、顧客が費用を抑制したい場合、顧客は、自分たちのモジュール式システムをファイバテスタとして構成し、ファイバ構成要素をテストし、次いで、自分たちのモジュール式システムを銅テスタに再構成し、銅構成要素をテストする必要がある。これは、テスト時間を増やす。これはまた、疑似故障および誤判定の両方の機会も増やす。
【０００６】
今日のモノリシックソフトウェアアーキテクチャはまた、具体的に、所与のハードウェアベース向けに設計される。それらは、所与のオペレーティングシステム（たとえば、ウインドウズまたはリナックス（登録商標））で実行するために設計されるが、プロセッサ、メモリ、サポート周辺機器、記憶装置、および通信から成るハードウェアのカスタム設計されたセットでも稼働する。異なるハードウェアベースへの移動をサポートするために、ソフトウェアは、それが稼働するハードウェアと強固に統合されているため、再設計および再構成される必要があることになる。同様の能力の新しいプロセッサが、それらのハードウェアベース内に設計され得るが、異なるハードウェアベースまたは異なるオペレーティングシステムへの大規模な変更は、それらのシステム設計の密接に統合された性質により、可能ではない。
【発明の概要】
【課題を解決するための手段】
【０００７】
本発明の例示的実装形態は、少なくとも前述の問題および／または欠点と、前述されていない他の欠点とに対処する。また、本発明は、前述の欠点を克服することを必要とはされず、本発明の例示的実装形態は、前述の問題のいずれも克服しないことがある。
【０００８】
本発明の一実施形態は、第１のデバイスおよび構成管理プログラムを有する第１のアプリケーションのうちの少なくとも１つを登録するステップと、第２のデバイスおよび第２のアプリケーションのうちの少なくとも１つが、プロセッサおよびアプリケーションを備えるデバイスの接続情報を構成管理プログラムに要求するステップと、第１のデバイスおよび第１のアプリケーションのうちの少なくとも１つの接続情報を第２のデバイスおよび第２のアプリケーションのうちの少なくとも１つに提供するステップと、第２のデバイスおよび第２のアプリケーションのうちの少なくとも１つが、その接続情報に基づいて第１のデバイスおよび第１のアプリケーションのうちの少なくとも１つと直接通信するステップとを含む、プロセッサおよび第１のアプリケーションを備える第１のデバイスとプロセッサおよび第２のアプリケーションを備える第２のデバイスを接続する方法を使用する。
【０００９】
本実施形態の他の特徴は、複数のアプリケーションを有する複数のデバイスを有する第１のデバイスを含むことが可能であり、構成管理プログラムは、定義されたデバイスとアプリケーションの間の接続性をマップするアプリケーション管理プログラムを有し、接続管理プログラムが、システム内のすべてのデバイスおよびすべてのアプリケーションを定義し、定義されたデバイスおよび定義されたアプリケーションは、定義されたデバイスおよびアプリケーションが構成およびマップされるときに互いに直接通信する。
【００１０】
本実施形態の他の特徴は、複数のアプリケーションを有する複数のデバイスを有する第２のデバイスを含むことができ、構成管理プログラムは、定義されたデバイスとアプリケーションの間の接続性をマップするアプリケーション管理プログラムを備え、接続管理プログラムは、システム内のすべてのデバイスおよびすべてのアプリケーションを定義し、定義されたデバイスおよび定義されたアプリケーションは、定義されたデバイスおよびアプリケーションが構成およびマップされるときに互いに直接通信する。
【００１１】
本実施形態の他の特徴は、複数のアプリケーションを有する複数のデバイスを有する第１のデバイスを含むことができ、構成管理プログラムは、複数の物理マシンにわたって広がる仮想システム内のすべてのデバイスおよびアプリケーションを定義し、アプリケーション管理プログラムは、構成されたデバイスとアプリケーションの間の接続性をそれらが稼働する物理マシンにかかわらずマップし、それらのデバイスおよびアプリケーションは、構成およびマップされると、直接通信する。
【００１２】
本実施形態の他の特徴は、複数のアプリケーションを有する複数のデバイスを有する第２のデバイスを含むことができ、構成管理プログラムは、複数の物理マシンにわたって広がる仮想システム内のすべてのデバイスおよびすべてのアプリケーションを定義し、アプリケーション管理プログラムは、構成されたデバイスとアプリケーションの間の接続性をそれらが稼働する物理マシンにかかわらずマップし、それらのデバイスおよびアプリケーションは、構成およびマップされると、直接通信する。
【００１３】
本発明のもう１つの実施形態は、複数のアプリケーション、複数のデバイス、ならびに、複数のアプリケーションおよびデバイスを接続する方法を含むことができ、本方法は、プロセッサを備える第１のデバイスが、分散型アーキテクチャシステム内の遠隔接続構成に要求を送信するステップと、その分散型アーキテクチャシステム内のアプリケーション管理プログラムが遠隔接続構成を用いてその要求を受信するステップと、アプリケーション管理プログラムが、サービス管理プログラムに遠隔接続構成を用いてその要求に対応する第２のデバイスを見つけるように要求するステップと、サービスデバイスが第２のデバイスと通信し、第２のデバイスの場所を識別するステップと、サービス管理プログラムがアプリケーション管理プログラムに第２のデバイスの場所の情報を送信するステップと、アプリケーション管理プログラムが、第２のデバイスの場所の情報を受信し、遠隔接続構成を介して第１のデバイスに送信するステップと、第１のデバイスが、アプリケーション管理プログラムによって提供された場所の情報に基づいて第２のデバイスと直接通信するステップとを含む。
【００１４】
本発明のもう１つの実施形態は、複数のアプリケーションと、複数のデバイスと、複数のアプリケーションおよびデバイスの間のモジュール式通信を円滑に進めるための分散型アーキテクチャシステムを含むことができ、複数のデバイスの中の第１のデバイスから遠隔接続構成への要求を受信するアプリケーション管理プログラムと、遠隔接続構成への要求に対応する第２のデバイスを探索し、第２のデバイスと通信し、第２のデバイスの場所を識別し、アプリケーション管理プログラムに第２のデバイスの場所の情報を送信するサービス管理プログラムとを含み、そのアプリケーション管理プログラムは、第１のデバイスがアプリケーション管理プログラムによって提供された場所に基づいて第２のデバイスと直接通信するように、遠隔接続構成を介して第１のデバイスに第２のデバイスの場所の情報を送信する。
【００１５】
本実施形態の他の特徴は、ファンデーションアプリケーションプログラミングインターフェース（ＡＰＩ）を有するアプリケーション管理プログラムによって使用されるアプリケーションを含むことができ、ファンデーションＡＰＩは、パワーＡＰＩ、ライセンスＡＰＩ、プラグインＡＰＩ、ＡＳＹＮＣ  ＡＰＩ、パッケージ管理ＡＰＩ、インテントＡＰＩ、設定ＡＰＩ、データ記憶ＡＰＩ、プロセス間通信ＡＰＩ、エクスポート／インポートＡＰＩ、エラー処理／管理ＡＰＩ、およびネットワーク構成ＡＰＩのうちの少なくとも１つを有する。
【００１６】
本発明のもう１つの実施形態は、第１のデバイスまたは第１のアプリケーションのうちの少なくとも１つが分散型アーキテクチャシステム内の遠隔接続構成に要求を送信するステップと、その分散型アーキテクチャシステム内のアプリケーション管理プログラムが遠隔接続構成への要求を受信するステップと、アプリケーション管理プログラムがサービス管理プログラムに遠隔接続構成への要求に対応する第２のデバイスまたは第２のアプリケーションのうちの少なくとも１つを見つけるように要求するステップと、サービスデバイスが第２のデバイスまたは第２のアプリケーションのうちの少なくとも１つと通信し、第２のデバイスまたは第２のアプリケーションのうちの少なくとも１つの場所を識別するステップと、サービス管理プログラムが、第２のデバイスまたは第２のアプリケーションのうちの少なくとも１つの場所の情報をアプリケーション管理プログラムに送信するステップと、アプリケーション管理プログラムが、第２のデバイスまたは第２のアプリケーションのうちの少なくとも１つの場所の情報を受信し、遠隔接続構成を介して第１のデバイスおよび第１のアプリケーションのうちの少なくとも１つに送信するステップと、第１のデバイスまたは第１のアプリケーションのうちの少なくとも１つが、アプリケーション管理プログラムによって提供された場所の情報に基づいて、第２のデバイスまたは第２のアプリケーションのうちの少なくとも１つと直接通信するステップとを含む、複数のアプリケーション、複数のデバイス、ならびに、複数のアプリケーションおよびデバイスをプロセッサが接続するようにするためのプログラムを記憶するコンピュータ可読媒体を含み得る。
【図面の簡単な説明】
【００１７】
【図１】デバイス管理システムの例示的一実施形態の図である。
【図２】正常に動作するアプリケーション内に含まれるファンデーションＡＰＩ３０の例示的一実施形態を示す図である。
【図３】ファンデーションＡＰＩが通信のためにシステムを使用するプロセスの例示的一実施形態の流れ図である。
【図４Ａ】複数のデバイスを接続するプラットフォームを実行するデバイスの例示的一実施形態の図である。
【図４Ｂ】プラットフォームを実行するデバイスの第２の例示的実施形態の図である。
【図４Ｃ】プラットフォームを実行するデバイスの第３の例示的実施形態の図である。
【発明を実施するための形態】
【００１８】
以下の詳細な説明は、読者が本明細書に記載の方法、装置および／またはシステムの総合的理解を得るのを助けるために提供される。本明細書に記載のシステム、装置および／または方法の様々な変更形態、修正形態、および均等物が当業者の頭に浮かぶことになろう。よく知られている機能および構造の説明は、明確性および簡潔性を高めるために、省略される。
【００１９】
本明細書で使用される用語は、実施形態を説明することのみを目的とし、決して限定的ではないものとする。明白に他の方法で使用される場合を除いて、単数形での表現は、複数形の意味を含む。本明細書で、「備える」または「含む」などの表現は、特性、数、ステップ、動作、要素、それらの部分または組合せを指示することが意図されており、１つまたは複数の他の特性、数、ステップ、動作、要素、それらの部分または組合せの存在または可能性を排除すると解釈されないものとする。
【００２０】
本発明は、ハードウェアおよびソフトウェアレベルですべて交換可能な主要な構成要素にテストおよび測定システムを分ける分散型アーキテクチャに適用される。本発明の例示的一実施形態は、ハードウェアに依存しない、アプリケーションに依存しないテストオペレーティングシステム（プラットフォームと称される）と、任意の所与の刺激および測定能力が無制限の数のユーザ体験に抽象化されることを可能にする仮想計器層と、それがプラットフォームを実行する任意のハードウェアシステムに容易に接続し、仮想計器層を介するユーザ体験としてユーザに抽象化され得るサービスを提供することができるような形で、任意の所与の刺激および測定能力がラップされることを可能にする物理計器層と、カスタムのおよびユーザ定義されたテストプログラムが開発されることを可能にするシステムソフトウェアと実際のテスト実行を分けるテスト実行ファイル層とを備える。
【００２１】
例示的一実施形態で、プラットフォームはハードウェアに依存しないエンティティであり、したがって、プラットフォームは、稼働するために必要とされる最低限のサービスを提供する任意のハードウェアおよびオペレーションシステムベースで稼働することができる。例示的一実施形態で、その最低限のサービスは、ワイヤードおよびワイヤレス接続性を提供するためにハードウェアをサポートする、Ｔｏｒａｄｅｘ  Ｃｏｌｉｂｒｉコンピュータモジュールなど、ＮＶＩＤＩＡ  Ｔｅｇｒａ２＆３、Ｆｒｅｅｓｃａｌｅ  ＶｙｂｒｉｄおよびＩｎｔｅｌ／Ｍａｒｖｅｌｌ  ＸＳｃａｌｅ（ＰＸＡ２７０、ＰＸＡ３００、ＰＸＡ３１０、ＰＸＡ３２０）に基づくＡＲＭベースのシングルボードコンピュータと、ＮＡＮＤ  Ｆｌａｓｈメモリとを備え得る。
【００２２】
したがって、プラットフォームは、多数のオペレーティングシステムと、マイクロプロセッサコア、および、プラットフォームをサポートするのに十分なメモリを備える、ハードウェアとの上に構築されたシステムに存在し得る。オペレーティングシステムの例示的実施形態は、アンドロイド、リナックス、ウインドウズなどを備える。
【００２３】
例示的一実施形態で、プラットフォームは、アプリケーションに依存しないエンティティであり、したがって、プラットフォームは、任意の所与の刺激および測定能力または任意の所与のユーザ体験に縛られない。そのようなものとして、プラットフォームの例示的一実施形態は、テストおよび測定システムに限定されず、任意の最低限能力を有するハードウェアシステム上に存在し、物理計器層内でラップされ、仮想計器層内に統合された物理計器のユーザ体験をサポートすることができる任意のハードウェアまたはソフトウェア構成要素をサポートすることができる。例示的一実施形態で、物理計器層は、無線を備える。第２の例示的実施形態で、物理計器層は、テスト装置を備える。例示的一実施形態で、１つまたは複数の仮想計器、１つまたは複数の物理計器、およびテスト実行ファイルから成る完全な機能システムが、前記ハードウェア上に確立され得る。ハードウェアの例示的実施形態は、ｉＰａｄ、Ｎｅｘｕｓ７、またはＬｅｎｏｖｏ  ｘ２３０を備え得る。
【００２４】
例示的一実施形態で、プラットフォームはハードウェアに依存せず、プラットフォームが複数のハードウェアシステム上に同時に存在することを可能にし、各々のハードウェアシステムは、プラットフォームをサポートするための最小限の処理およびメモリ能力を備える。例示的一実施形態で、仮想計器層、物理計器層、およびテスト実行ファイル層は強固に統合されず、各層がプラットフォームとは別れたハードウェアシステム上に存在することを可能にする。
【００２５】
例示的一実施形態で、仮想計器層は物理計器と強固に結合されず、それにより、複数の仮想計器抽象が所与の物理計器のために稼働することができる。これは、最終用途のより大きな柔軟性を実現する複数の異なる形で所与の物理計器の機能が公開されることを可能にする。たとえば、物理計器は、ＬＥＤを備える。ＬＥＤは、ＬＥＤをユーザに抽象化する仮想計器として公開され得る。例示的一実施形態で、ＬＥＤは、懐中電灯（ＬＥＤがつく、消える）、ランダムライトパターンメーカ、およびモールス信号視覚信号伝達デバイスとしてユーザに抽象化され得る。例示的一実施形態で、各仮想計器は、ハードウェアシステム上に同時に存在することができ、所与の所望のアプリケーション実装が同時実行を要求するまたはその利益を受ける場合に、同時に実行することができる。
【００２６】
例示的一実施形態で、物理計器はプラットフォームと強固に結合されず、それによって、複数のハードウェアおよびソフトウェア能力が同時に存在することができ、所与のハードウェアシステム内で同時に稼働することができる。たとえば、光学光源物理計器、光パワーメータ物理計器、および銅パワーメータ物理計器は、プラットフォームを実行する所与の完全なシステムで同時にサポートされ、端から端まで光−銅リンクをテストする能力をユーザに提供することができる。例示的一実施形態で、完全なシステムは、前述のようなプラットフォームをサポートするための最小限のシステムと、各々の物理計器の刺激および測定ハードウェアと、プラットフォームを提供するハードウェアシステムの間のハードワイヤード接続性またはワイヤレス接続性のいずれかを備えることができ、そのハードウェアシステムは、刺激および測定（ＯＰＭモジュール、ＯＬＳモジュール、ＣＰＭモジュールなど）を実施する。
【００２７】
例示的一実施形態で、完全なシステムは、プラットフォームを実行するＬｅｎｏｖｏ  Ｘ３２０ラップトップを備え得る。例示的一実施形態で、３つの独立モジュール（ＯＰＭ、ＯＬＳ、ＣＰＭ）は、各々、それら自体のバッテリ、それら自体のオンボード処理、および、それら自体のワイヤレスリンクを有する。例示的一実施形態で、各モジュールは、８０２．１１ｇを介してラップトップにワイヤレスに接続される。例示的一実施形態で、各モジュールのための物理計器ドライバは、Ｌｅｎｏｖｏラップトップで実行されることになる。例示的一実施形態で、異なる仮想計器ドライバは、ラップトップで稼働し、プラットフォームとインターフェースすることになる。前述のシステムは、任意のラップトップ上で構築可能であり、物理計器モジュールおよび仮想計器で無限に構成可能な完全なテストシステムを与えることになる。
【００２８】
例示的一実施形態で、仮想計器は物理計器と強固に結合されず、それによって、１つまたは複数の物理計器とインターフェースする仮想計器が開発され得る。例示的一実施形態で、前述の完全なシステムは、同時にＯＬＳ仮想計器、ＯＰＭ仮想計器、およびＣＰＭ仮想機器を公開することができ、または、３つのすべての物理計器を単一のアプリケーションにラップする銅ファイバリンクテスタのための単一の仮想計器が公開され得る。
【００２９】
例示的一実施形態で、プラットフォーム層はハードウェアに依存せず、物理および仮想計器層は強固に結合されず、それにより、前記要素の間の通信プロトコルは柔軟であり、所与の完全なシステム具体化および物理計器実施形態の最小要件を満たすためのみに定義される。言い換えれば、通信技術が向上するとき（銅、ブルートゥース、Ｗｉｆｉなど）完全なシステムは、「プラットフォーム」および「仮想計器」層を介する実際のアーキテクチャ実装形態によって限定されない。
【００３０】
図面を参照すると、図１は、分散型テストシステムアーキテクチャ１の例示的一実施形態の図である。例示的一実施形態で、システム１は、アプリケーション管理プログラム３、サービス管理プログラム５、ファンデーションローダ７、およびプロセス間コミュニケータ９を備える、コア構成要素を備える。例示的一実施形態で、アプリケーション管理プログラム３は、システム１内のアプリケーションを監視し、そのシステム内の破損を検出し、破損が検出された場合、エラー処理管理構成要素２９に通知し、システム内の各アプリケーションがアプリケーションライフサイクルを実行することを確保する。例示的一実施形態で、アプリケーションライフサイクルは、開始、および再開中、休止中、および停止を備える。
【００３１】
例示的一実施形態で、サービス管理プログラム５は、どのようにサービスが開始されるべきか、いつサービスが開始されるべきか、いつサービスが停止されるべきか、サービスの再開のサポートについて責任を有し、サービスへのアプリケーションアクセスを認可し、サービスへのアプリケーションアクセスを無効にし、システム上のすべての使用可能なサービスおよびそれらの現在の状態のリスト取得することになるアプリケーションプログラミングインターフェース（ＡＰＩ）を提供し、システム動作が検出されたときにサービスを開始し、モジュール式ハードウェアをサポートする。システム動作の例示的実施形態は、ＯｎＳｔａｒｔ、ＯｎＤｅｍａｎｄ、ＯｎＥｖｅｎｔ、およびマニュアルを備える。例示的一実施形態で、サービス管理プログラム５は、遠隔でアクセスされ得る。
【００３２】
例示的一実施形態で、ＯｎＤｅｍａｎｄは、アプリケーションがそれを要求したときにのみサービスが開始されることを可能にするシステム動作である。ＯｎＤｅｍａｎｄは、サービスがもう必要とされないことをアプリケーションがサービス管理プログラムに知らせた後にはサービスがシャットダウンすることを可能にするシステム動作である。例示的一実施形態で、ＯｎＳｔａｒｔは、サービスがシステム１で開始し、ずっと稼働したままであることを可能にするシステム動作である。例示的一実施形態で、ＯｎＥｖｅｎｔは、ウォッチャプラグインが何らかの事象を検出したときにサービスが開始することを可能にするシステム動作である。例示的一実施形態で、マニュアルは、アプリケーションがサービスを開始および停止することを可能にするシステム動作である。
【００３３】
例示的一実施形態で、ファンデーションローダ７は、アプリケーション管理プログラムおよびサービス管理プログラムの両方を起動し、システムレベルパワー管理を制御する。例示的一実施形態で、ファンデーションブートローダは、前述の最低限のサービスを備える。
【００３４】
例示的一実施形態で、遠隔接続構成９は、システム１がそれ自体、アプリケーション、および他のシステムの間で通信することを可能にする。遠隔接続構成の例示的実施形態は、ワイヤードイーサネット（登録商標）、ＷｉＦｉ、ブルートゥース、ならびに、ＩＰアドレス指定、プロキシ、およびＶＰＮなどの他の接続手段を備える。アプリケーションおよび他のシステムの例示的実施形態は、アンドロイドシステム、ｉＰｈｏｎｅ、ＷｉｎＰｈｏｎｅ、およびＰＣアプリケーションを備える。
【００３５】
例示的一実施形態で、様々な２次構成要素が、コア構成要素の性能を補完することができる。例示的一実施形態で、２次構成要素は、パッケージ管理プログラム１５、ライセンス管理プログラム１７、データストレージ管理プログラム１９、パワー管理拡張２１、遠隔デバイスコントロール２３、遠隔サービスアクセス（図示せず）、ビジュアルスタジオテンプレート２５、ハードウェアサービス２７、およびエラー処理管理構成要素２９を備える。
【００３６】
例示的一実施形態で、ファンデーションＡＰＩ３０は、正常に動作するアプリケーションおよびアプライアンスアプリケーション内に含まれる。
【００３７】
図２は、正常に動作するアプリケーション内に含まれたファンデーションＡＰＩ３０の例示的一実施形態である。例示的一実施形態で、ファンデーションＡＰＩ３０は、パワーＡＰＩ３１、ライセンスＡＰＩ３２、プラグインＡＰＩ３３、ＡＳＹＮＣ  ＡＰＩ（図示せず）、パッケージ管理ＡＰＩ３４、インテントＡＰＩ３５、設定ＡＰＩ３６、データ記憶ＡＰＩ３７、プロセス間通信ＡＰＩ３８、エクスポート／インポートＡＰＩ３９、エラー処理／管理ＡＰＩ４０、およびネットワーク構成ＡＰＩ４１を備える。
【００３８】
例示的一実施形態で、パワーＡＰＩは、現在のパワー状況へのアクセスを提供し、非アクティブ期間中に画面を薄暗くする能力を提供し、非アクティブ期間中に画面を消す能力を提供し、特定のパワーレベルでシステムをシャットダウンする能力を提供し、特定のＡＰＩ呼出しでシステムをシャットダウンする能力を提供し、特定のＡＰＩ呼出しでシステムを再起動する能力を提供し、特定のＡＰＩ呼出しでシステムを一時停止する能力を提供する。
【００３９】
例示的一実施形態で、ライセンスＡＰＩ３２は、ライセンスをインストールし、所与のライセンスに関する、タイプなど、情報を要求し、ライセンスを削除し、ライセンスを検査し、ラインセンス要求について真を返すことを管理プログラムに強制することになるオーバライド機構を提供し、遠隔およびローカル接続性をサポートし、全面的、試験的、および回数制限されたライセンスを含むいくつかのライセンスタイプをサポートし、「解雇された従業員テスト」に合格するのに十分なほど安全である。
【００４０】
例示的一実施形態で、プラグインＡＰＩ３３は、所与のアセンブル内のすべてのクラスのリストを取得し、実行時に特定のアセンブリからクラスを動的にロードする。例示的一実施形態で、ＡＳＹＮＣ  ＡＰＩは、．ＮＥＴスレッドクラスを使用する必要なしにバックグラウンド処理を実行し、スレッドを呼び出すための特別な開発者コードなしにＵＩを更新し、開発者の手から結合、キャンセルおよび同期機能の複雑性を取り除く。
【００４１】
例示的一実施形態で、パッケージ管理ＡＰＩ３４は、ファンデーションＡＰＩのサービスおよびアプリケーションをインストールし、様々な場所（たとえばＵＳＢ、ネットワークサーバ、クラウドなど）からパッケージをダウンロードし、パッケージインストール中にソフトウェア依存性をチェックし、パッケージリポジトリを維持し、有効なファンデーションパッケージの構造を定義および実施し、新しいユニットでコアサービスをインストールするシステムパッケージを備える。例示的一実施形態で、パッケージ管理ＡＰＩ３４は、任意の他のアプリケーションまたはサービスがそのユニットでインストールされる前にユニットＯＳ上に存在する。
【００４２】
例示的一実施形態で、インテントＡＰＩ３５は、アプリケーションランチャにインテントクラスを送信する。ランチャは、インテントを満たすことができるアプリケーションがシステム上に見つけることが可能かを判定することになる。それが見つかった場合、アプリケーションは起動されることになり、そのインテントはアプリケーションに渡されることになり、アプリケーションは、次いで、アプリケーションランチャを介して元のアプリケーションに流れて戻ることになるメッセージを返すことになる。
【００４３】
例示的一実施形態で、設定ＡＰＩ３６は、クラスを設定する単純なアプリケーションを生成する。例示的一実施形態で、設定ＡＰＩ３６は、５００ｍｓ以内に１００の単純なタイプを有する設定ファイルをロードし、５００ｍｓ未満で１００の単純なタイプを有する設定ファイルを保存し、ネイティブに移行をサポートし、整数、浮動小数、ダブル、および文字列を含むすべての基本タイプをサポートする。
【００４４】
例示的一実施形態で、データ記憶ＡＰＩ３７は、アプリケーションまたはサービスによって必要とされる任意のデータ要素を作成、検索、更新および削除するための方法を含み、標準オンデバイスまたはオフデバイス（遠隔）サービスとしてアクセス可能であり、それのＡＰＩで複数のデータ記憶媒体タイプをサポートし、ＳＱＬデータベースデータストアプラグインを提供し、アップグレード中のデータストアプラグインの追加をサポートする。
【００４５】
例示的一実施形態で、プロセス間通信ＡＰＩ３８は、クロスプロセス通信を可能にする。例示的一実施形態で、プロセス間通信ＡＰＩ３８は、異なるプロセスで方法を呼び出すための機構を提供し、１秒以内にあるプロセスから別のプロセスに大量のデータ（＞２５６ＫＢ）を送信し、両方向通信のための機構を提供し、オブジェクトなどの構造化されたデータの送信のための機構を提供し、所与のインターフェースからクライアント側コードを生成する。プロセス間通信ＡＰＩの機構の例示的実施形態は、ウインドウズシステムのウインドウズメッセージング、および、ユニックスまたはリナックスシステムのネームドパイプである。
【００４６】
例示的一実施形態で、エクスポート／インポートＡＰＩ３９は、デバイスから指定されたデータを抽出して、エクスポートと呼ばれる他の目的のためにそれを活用し、デバイスが、インポートと呼ばれる様々な目的のためにそれを使用することができるように、デバイスにデータを追加する。例示的一実施形態で、エクスポート／インポートＡＰＩ３９は、ユニットにおよびからファイルをコピーするためのサポートを提供し、単純なＣＳＶ（コンマで区切られた値）ファイルをデータストアプラグイン媒体にインポートし、データストアプラグイン媒体からＣＳＶファイルにデータをエクスポートし、ユーザが個別化されたインポートまたはエクスポートプラグインを設計するためのフックを提供し、データをデータストアプラグインからＰＤＦ文書、ＤＢファイル、またはＸＭＬファイルのいずれかにエクスポートする。
【００４７】
例示的一実施形態で、エラー処理／管理ＡＰＩ４０は、システム１内のすべてのサービスおよびアプリケーションにわたるエラー処理機能を提供する。例示的一実施形態で、エラー処理機能は、エラー受信を有するエラー検出と、アプリケーションおよびサービスを実行する状態の保存ならびにフェイルオーバオプションのスケジューリングおよび実行を行う、エラー回復と、ロギングサービスを介してある特定のエラーのログを自動的に取り、伝える、エラーロギングと、アプリおよびサービスがある特定のエラーを登録することを可能にし、それらのエラーが発生するときにそのアプリまたはサービスに通知する、通知とを備える。例示的一実施形態で、エラーは、「致命的」、「重大」、「エラー」、「警告」、「情報提供」、および「デバッグ」として分類することが可能である。
【００４８】
例示的一実施形態で、ネットワーク構成ＡＰＩ４１は、ＩＰアドレス指定を制御する能力を提供する。例示的一実施形態で、ネットワーク構成ＡＰＩ４１は、ネットワーク上のＤＨＣＰサーバからＩＰアドレスを取得し、静的アドレスシステムで、知られているＩＰアドレスと、サブネットマスクと、ゲートウェイアドレスと、１次および２次ＤＮＳアドレスとを設定する能力を提供する。プロキシで、ネットワーク構成ＡＰＩ４１は、プロキシサーバ名、ポート、ユーザ名、およびパスワードを設定する能力を有する。
【００４９】
例示的一実施形態で、図１に示す２次構成要素は、ファンデーションＡＰＩのランタイム構成要素である。言い換えれば、２次構成要素は、システムで開始することになるプロセスである。例示的一実施形態で、あらゆるファンデーションアプリケーションへのＡＰＩの組込みは、ランタイム構成要素と対話して、それらのタスクを実行することになる。例示的一実施形態で、パッケージ管理ＡＰＩ３４は、パッケージ管理プログラム１５と対話して関連タスクを実行する。
【００５０】
図３は、ファンデーションＡＰＩが第１のアプリケーション／デバイスと第２のアプリケーション／デバイスの間の通信のためにシステムを使用する複数のプロセスの例示的一実施形態の流れ図である。
【００５１】
例示的一実施形態で、方法の第１のステップは、第１のアプリケーション／デバイスが分散型アーキテクチャシステム内の遠隔接続構成に要求を行うことである。第２のステップで、その要求は、システムのサービス管理プログラムによって処理される。第３のステップで、サービス管理プログラムが、第２のアプリケーション／デバイスと通信し、第２のアプリケーション／デバイスの場所を識別する。例示的一実施形態で、第２のアプリケーション／デバイスは、図３に示すように、テスト装置ハードウェアである。第４のステップで、サービス管理プログラムが、遠隔接続構成を介して第２のアプリケーション／デバイスの場所を第１のアプリケーション／デバイスに送信する。第５のステップで、第１のアプリケーション／デバイスが、システムによって提供される場所に基づいて、第２のアプリケーション／デバイスと直接通信する。例示的一実施形態で、図３は、システムによって提供される場所に基づいて第２のアプリケーション／デバイスから読取りを取得する第１のアプリケーション／デバイスを示す。
【００５２】
例示的一実施形態で、第１のアプリケーション／デバイスはラップトップであり、第２のアプリケーション／デバイスは、ファックス機器、スキャナ、またはプリンタである。例示的一実施形態で、前述の方法のステップが、システムのヘッドを識別することなしに、生じさせられる。
【００５３】
図４Ａは、複数のデバイスと接続するプラットフォームを実行するデバイスの例示的一実施形態の図である。例示的一実施形態で、カスタムベースユニット５１は、ＯＴＤＲ物理計器、ＣＷＤＭ物理計器、および、光源物理計器５６を制御するＯＬＳ仮想計器を備える。例示的一実施形態で、カスタムベースユニット５１は、それ自体と、光源物理計器５５と、パワーメータ物理計器５６と、テスト用デバイス５３との間の通信を円滑化する。例示的一実施形態で、パワーメータ物理計器および光源物理計器は、パーソナルコンピュータ（ＰＣ）上にある。
【００５４】
図４Ｂは、プラットフォームを実行するデバイスの第２の例示的実施形態の図である。例示的一実施形態で、第２のデバイス５７は、プラットフォームと、カスタムベースユニット５１でＯＴＤＲ物理計器を制御するＯＴＤＲ仮想計器とを実行する。例示的一実施形態で、第２のデバイス５７は、ワイヤレス接続によってカスタムベースユニット５１に接続されたｉＰａｄでもよい。
【００５５】
図４Ｃは、プラットフォームを実行するデバイスの第３の例示的実施形態の図である。例示的一実施形態で、第３のデバイス５８は、プラットフォームと、カスタムベースユニット５１上のＣＷＤＭ物理計器、パワーメータ物理計器を制御するパワーメータ仮想計器、および光源物理計器を制御する、チャネルチェッカ仮想計器とを実行する。例示的一実施形態で、第３のデバイス５８は、ウインドウズＯＳを有するＰＣである。
【００５６】
例示的一実施形態で、プラットフォームおよび仮想計器は、ｉＰａｄ（第２のデバイス５７）上で稼働してシステム内の別個の物理計器を制御する。例示的一実施形態で、プラットフォームは、２つの異なる物理計器を物理的に包含する特に設計されたベースユニットで稼働する。例示的一実施形態で、プラットフォームおよび複数の仮想計器は、別個の物理計器モジュールにワイヤードまたはワイヤレスのいずれかで接続された複数の物理計器を有するＰＣ（第３のデバイス５８）で稼働する。例示的一実施形態で、図４Ａ、４Ｂ、および４Ｃのデバイスは、同時に作動して完全なテストシステムを作り出す。
【符号の説明】
【００５７】
１  分散型テストシステムアーキテクチャ
３  アプリケーション管理プログラム
５  サービス管理プログラム
７  ファンデーションローダ
９  プロセス間コミュニケータ
１５  パッケージ管理プログラム
１７  ライセンス管理プログラム
１９  データストレージ管理プログラム
２１  パワー管理拡張
２３  遠隔デバイスコントロール
２５  ビジュアルスタジオテンプレート
２７  ハードウェアサービス
２９  エラー処理管理構成要素
３０  ファンデーションＡＰＩ
３１  パワーＡＰＩ
３２  ライセンスＡＰＩ
３３  プラグインＡＰＩ
３４  パッケージ管理ＡＰＩ
３５  インテントＡＰＩ
３６  設定ＡＰＩ
３７  データ記憶ＡＰＩ
３８  プロセス間通信ＡＰＩ
３９  エクスポート／インポートＡＰＩ
４０  エラー処理／管理ＡＰＩ
４１  ネットワーク構成ＡＰＩ
５１  カスタムベースユニット
５３  テスト用デバイス
５５  光源物理計器
５６  パワーメータ物理計器
５７  第２のデバイス
５８  第３のデバイス
【図１】
0006351609.tif 000002
【図２】
0006351609.tif 000003
【図３】
0006351609.tif 000004
【図４Ａ】
0006351609.tif 000005
【図４Ｂ】
0006351609.tif 000006
【図４Ｃ】
0006351609.tif 000007