(58)【調査した分野】(Int.Cl.,DB名)
【背景技術】
【0003】
今日のテストおよび測定システムは、本質的にモノリシックであり、そこで、所与のシステムがせいぜい一握りの密接に関連した、強固に統合された刺激および測定能力をサポートする。システムは、特定の刺激および測定能力の性格および特性をもつようになり、この性格および特性のサポートに制限される。モジュール式プラットフォームで設計されたシステムでさえ、本質的に真にモノリシックであり、密接に関連した、強固に統合された能力の所与のセットのみが、所与の時間にサポートされ得る。異なる能力をサポートするために、モジュール式システムは、この新しい能力を完全に変質させる必要がある。モノリシックソフトウェアが、インストールされるハードウェア能力のための特定のドライバをインストールすることができるように、しばしば、システムは、電源を切り、再び電源を入れる必要がある。
【0004】
今日のモノリシックの、非分散型システムは、異なる測定および刺激能力を同時にサポートするためのユーザの能力を制限する。これらの解決法はまた、通常は直接ハードウェア接続を介する、強固な結合を必要とする。ユーザインターフェースを介する刺激および測定能力の危急が、実際の刺激および測定ハードウェアと強固に結合される。ユーザインターフェースはまた、システムソフトウェアと濃密に統合される。ユーザインターフェースが別個のアプリケーション層として作成される場合にも、それは、システムソフトウェア、システムハードウェア、およびモジュールハードウェアと強固に結合される。モジュールドライバもまた、システムソフトウェアと濃密に統合される。これは、新しい性格および新しいモジュールドライバが具体的にロードされ得るようにモジュールが変更されるときにシステムが完全に再起動される必要があるという、それらの状況にはっきりと示される。今日のシステムでは、そのシステムが一握りの密接に関連した、強固に統合された刺激および測定能力の適用を受けない限り、ユーザは自分たちのシステム全体をテストすることはできない。
【0005】
一例として、顧客は、しばしば、光/銅ファイバ境界を横切る完全な通信ネットワーク経路をテストしたいと考える。顧客は、ネットワークのファイバ構成要素で伝送特性および信号パラメータを測定し、また、ネットワークの銅構成要素で伝送特性および信号パラメータを測定したいと考える。今日、顧客は、2つの完全に異なるユニット−ファイバテストプラットフォームとして構成されたものと、銅ファイバテストプラットフォームとして構成されたもののいずれかを有することが必要になる(モジュール式プラットフォームを仮定して)。2つの完全なモジュール式システムを有することは非常に費用が掛かり得る。別法で、顧客が費用を抑制したい場合、顧客は、自分たちのモジュール式システムをファイバテスタとして構成し、ファイバ構成要素をテストし、次いで、自分たちのモジュール式システムを銅テスタに再構成し、銅構成要素をテストする必要がある。これは、テスト時間を増やす。これはまた、疑似故障および誤判定の両方の機会も増やす。
【0006】
今日のモノリシックソフトウェアアーキテクチャはまた、具体的に、所与のハードウェアベース向けに設計される。それらは、所与のオペレーティングシステム(たとえば、ウインドウズまたはリナックス(登録商標))で実行するために設計されるが、プロセッサ、メモリ、サポート周辺機器、記憶装置、および通信から成るハードウェアのカスタム設計されたセットでも稼働する。異なるハードウェアベースへの移動をサポートするために、ソフトウェアは、それが稼働するハードウェアと強固に統合されているため、再設計および再構成される必要があることになる。同様の能力の新しいプロセッサが、それらのハードウェアベース内に設計され得るが、異なるハードウェアベースまたは異なるオペレーティングシステムへの大規模な変更は、それらのシステム設計の密接に統合された性質により、可能ではない。
【発明の概要】
【課題を解決するための手段】
【0007】
本発明の例示的実装形態は、少なくとも前述の問題および/または欠点と、前述されていない他の欠点とに対処する。また、本発明は、前述の欠点を克服することを必要とはされず、本発明の例示的実装形態は、前述の問題のいずれも克服しないことがある。
【0008】
本発明の一実施形態は、第1のデバイスおよび構成管理プログラムを有する第1のアプリケーションのうちの少なくとも1つを登録するステップと、第2のデバイスおよび第2のアプリケーションのうちの少なくとも1つが、プロセッサおよびアプリケーションを備えるデバイスの接続情報を構成管理プログラムに要求するステップと、第1のデバイスおよび第1のアプリケーションのうちの少なくとも1つの接続情報を第2のデバイスおよび第2のアプリケーションのうちの少なくとも1つに提供するステップと、第2のデバイスおよび第2のアプリケーションのうちの少なくとも1つが、その接続情報に基づいて第1のデバイスおよび第1のアプリケーションのうちの少なくとも1つと直接通信するステップとを含む、プロセッサおよび第1のアプリケーションを備える第1のデバイスとプロセッサおよび第2のアプリケーションを備える第2のデバイスを接続する方法を使用する。
【0009】
本実施形態の他の特徴は、複数のアプリケーションを有する複数のデバイスを有する第1のデバイスを含むことが可能であり、構成管理プログラムは、定義されたデバイスとアプリケーションの間の接続性をマップするアプリケーション管理プログラムを有し、接続管理プログラムが、システム内のすべてのデバイスおよびすべてのアプリケーションを定義し、定義されたデバイスおよび定義されたアプリケーションは、定義されたデバイスおよびアプリケーションが構成およびマップされるときに互いに直接通信する。
【0010】
本実施形態の他の特徴は、複数のアプリケーションを有する複数のデバイスを有する第2のデバイスを含むことができ、構成管理プログラムは、定義されたデバイスとアプリケーションの間の接続性をマップするアプリケーション管理プログラムを備え、接続管理プログラムは、システム内のすべてのデバイスおよびすべてのアプリケーションを定義し、定義されたデバイスおよび定義されたアプリケーションは、定義されたデバイスおよびアプリケーションが構成およびマップされるときに互いに直接通信する。
【0011】
本実施形態の他の特徴は、複数のアプリケーションを有する複数のデバイスを有する第1のデバイスを含むことができ、構成管理プログラムは、複数の物理マシンにわたって広がる仮想システム内のすべてのデバイスおよびアプリケーションを定義し、アプリケーション管理プログラムは、構成されたデバイスとアプリケーションの間の接続性をそれらが稼働する物理マシンにかかわらずマップし、それらのデバイスおよびアプリケーションは、構成およびマップされると、直接通信する。
【0012】
本実施形態の他の特徴は、複数のアプリケーションを有する複数のデバイスを有する第2のデバイスを含むことができ、構成管理プログラムは、複数の物理マシンにわたって広がる仮想システム内のすべてのデバイスおよびすべてのアプリケーションを定義し、アプリケーション管理プログラムは、構成されたデバイスとアプリケーションの間の接続性をそれらが稼働する物理マシンにかかわらずマップし、それらのデバイスおよびアプリケーションは、構成およびマップされると、直接通信する。
【0013】
本発明のもう1つの実施形態は、複数のアプリケーション、複数のデバイス、ならびに、複数のアプリケーションおよびデバイスを接続する方法を含むことができ、本方法は、プロセッサを備える第1のデバイスが、分散型アーキテクチャシステム内の遠隔接続構成に要求を送信するステップと、その分散型アーキテクチャシステム内のアプリケーション管理プログラムが遠隔接続構成を用いてその要求を受信するステップと、アプリケーション管理プログラムが、サービス管理プログラムに遠隔接続構成を用いてその要求に対応する第2のデバイスを見つけるように要求するステップと、サービスデバイスが第2のデバイスと通信し、第2のデバイスの場所を識別するステップと、サービス管理プログラムがアプリケーション管理プログラムに第2のデバイスの場所の情報を送信するステップと、アプリケーション管理プログラムが、第2のデバイスの場所の情報を受信し、遠隔接続構成を介して第1のデバイスに送信するステップと、第1のデバイスが、アプリケーション管理プログラムによって提供された場所の情報に基づいて第2のデバイスと直接通信するステップとを含む。
【0014】
本発明のもう1つの実施形態は、複数のアプリケーションと、複数のデバイスと、複数のアプリケーションおよびデバイスの間のモジュール式通信を円滑に進めるための分散型アーキテクチャシステムを含むことができ、複数のデバイスの中の第1のデバイスから遠隔接続構成への要求を受信するアプリケーション管理プログラムと、遠隔接続構成への要求に対応する第2のデバイスを探索し、第2のデバイスと通信し、第2のデバイスの場所を識別し、アプリケーション管理プログラムに第2のデバイスの場所の情報を送信するサービス管理プログラムとを含み、そのアプリケーション管理プログラムは、第1のデバイスがアプリケーション管理プログラムによって提供された場所に基づいて第2のデバイスと直接通信するように、遠隔接続構成を介して第1のデバイスに第2のデバイスの場所の情報を送信する。
【0015】
本実施形態の他の特徴は、ファンデーションアプリケーションプログラミングインターフェース(API)を有するアプリケーション管理プログラムによって使用されるアプリケーションを含むことができ、ファンデーションAPIは、パワーAPI、ライセンスAPI、プラグインAPI、ASYNC API、パッケージ管理API、インテントAPI、設定API、データ記憶API、プロセス間通信API、エクスポート/インポートAPI、エラー処理/管理API、およびネットワーク構成APIのうちの少なくとも1つを有する。
【0016】
本発明のもう1つの実施形態は、第1のデバイスまたは第1のアプリケーションのうちの少なくとも1つが分散型アーキテクチャシステム内の遠隔接続構成に要求を送信するステップと、その分散型アーキテクチャシステム内のアプリケーション管理プログラムが遠隔接続構成への要求を受信するステップと、アプリケーション管理プログラムがサービス管理プログラムに遠隔接続構成への要求に対応する第2のデバイスまたは第2のアプリケーションのうちの少なくとも1つを見つけるように要求するステップと、サービスデバイスが第2のデバイスまたは第2のアプリケーションのうちの少なくとも1つと通信し、第2のデバイスまたは第2のアプリケーションのうちの少なくとも1つの場所を識別するステップと、サービス管理プログラムが、第2のデバイスまたは第2のアプリケーションのうちの少なくとも1つの場所の情報をアプリケーション管理プログラムに送信するステップと、アプリケーション管理プログラムが、第2のデバイスまたは第2のアプリケーションのうちの少なくとも1つの場所の情報を受信し、遠隔接続構成を介して第1のデバイスおよび第1のアプリケーションのうちの少なくとも1つに送信するステップと、第1のデバイスまたは第1のアプリケーションのうちの少なくとも1つが、アプリケーション管理プログラムによって提供された場所の情報に基づいて、第2のデバイスまたは第2のアプリケーションのうちの少なくとも1つと直接通信するステップとを含む、複数のアプリケーション、複数のデバイス、ならびに、複数のアプリケーションおよびデバイスをプロセッサが接続するようにするためのプログラムを記憶するコンピュータ可読媒体を含み得る。
【発明を実施するための形態】
【0018】
以下の詳細な説明は、読者が本明細書に記載の方法、装置および/またはシステムの総合的理解を得るのを助けるために提供される。本明細書に記載のシステム、装置および/または方法の様々な変更形態、修正形態、および均等物が当業者の頭に浮かぶことになろう。よく知られている機能および構造の説明は、明確性および簡潔性を高めるために、省略される。
【0019】
本明細書で使用される用語は、実施形態を説明することのみを目的とし、決して限定的ではないものとする。明白に他の方法で使用される場合を除いて、単数形での表現は、複数形の意味を含む。本明細書で、「備える」または「含む」などの表現は、特性、数、ステップ、動作、要素、それらの部分または組合せを指示することが意図されており、1つまたは複数の他の特性、数、ステップ、動作、要素、それらの部分または組合せの存在または可能性を排除すると解釈されないものとする。
【0020】
本発明は、ハードウェアおよびソフトウェアレベルですべて交換可能な主要な構成要素にテストおよび測定システムを分ける分散型アーキテクチャに適用される。本発明の例示的一実施形態は、ハードウェアに依存しない、アプリケーションに依存しないテストオペレーティングシステム(プラットフォームと称される)と、任意の所与の刺激および測定能力が無制限の数のユーザ体験に抽象化されることを可能にする仮想計器層と、それがプラットフォームを実行する任意のハードウェアシステムに容易に接続し、仮想計器層を介するユーザ体験としてユーザに抽象化され得るサービスを提供することができるような形で、任意の所与の刺激および測定能力がラップされることを可能にする物理計器層と、カスタムのおよびユーザ定義されたテストプログラムが開発されることを可能にするシステムソフトウェアと実際のテスト実行を分けるテスト実行ファイル層とを備える。
【0021】
例示的一実施形態で、プラットフォームはハードウェアに依存しないエンティティであり、したがって、プラットフォームは、稼働するために必要とされる最低限のサービスを提供する任意のハードウェアおよびオペレーションシステムベースで稼働することができる。例示的一実施形態で、その最低限のサービスは、ワイヤードおよびワイヤレス接続性を提供するためにハードウェアをサポートする、Toradex Colibriコンピュータモジュールなど、NVIDIA Tegra2&3、Freescale VybridおよびIntel/Marvell XScale(PXA270、PXA300、PXA310、PXA320)に基づくARMベースのシングルボードコンピュータと、NAND Flashメモリとを備え得る。
【0022】
したがって、プラットフォームは、多数のオペレーティングシステムと、マイクロプロセッサコア、および、プラットフォームをサポートするのに十分なメモリを備える、ハードウェアとの上に構築されたシステムに存在し得る。オペレーティングシステムの例示的実施形態は、アンドロイド、リナックス、ウインドウズなどを備える。
【0023】
例示的一実施形態で、プラットフォームは、アプリケーションに依存しないエンティティであり、したがって、プラットフォームは、任意の所与の刺激および測定能力または任意の所与のユーザ体験に縛られない。そのようなものとして、プラットフォームの例示的一実施形態は、テストおよび測定システムに限定されず、任意の最低限能力を有するハードウェアシステム上に存在し、物理計器層内でラップされ、仮想計器層内に統合された物理計器のユーザ体験をサポートすることができる任意のハードウェアまたはソフトウェア構成要素をサポートすることができる。例示的一実施形態で、物理計器層は、無線を備える。第2の例示的実施形態で、物理計器層は、テスト装置を備える。例示的一実施形態で、1つまたは複数の仮想計器、1つまたは複数の物理計器、およびテスト実行ファイルから成る完全な機能システムが、前記ハードウェア上に確立され得る。ハードウェアの例示的実施形態は、iPad、Nexus7、またはLenovo x230を備え得る。
【0024】
例示的一実施形態で、プラットフォームはハードウェアに依存せず、プラットフォームが複数のハードウェアシステム上に同時に存在することを可能にし、各々のハードウェアシステムは、プラットフォームをサポートするための最小限の処理およびメモリ能力を備える。例示的一実施形態で、仮想計器層、物理計器層、およびテスト実行ファイル層は強固に統合されず、各層がプラットフォームとは別れたハードウェアシステム上に存在することを可能にする。
【0025】
例示的一実施形態で、仮想計器層は物理計器と強固に結合されず、それにより、複数の仮想計器抽象が所与の物理計器のために稼働することができる。これは、最終用途のより大きな柔軟性を実現する複数の異なる形で所与の物理計器の機能が公開されることを可能にする。たとえば、物理計器は、LEDを備える。LEDは、LEDをユーザに抽象化する仮想計器として公開され得る。例示的一実施形態で、LEDは、懐中電灯(LEDがつく、消える)、ランダムライトパターンメーカ、およびモールス信号視覚信号伝達デバイスとしてユーザに抽象化され得る。例示的一実施形態で、各仮想計器は、ハードウェアシステム上に同時に存在することができ、所与の所望のアプリケーション実装が同時実行を要求するまたはその利益を受ける場合に、同時に実行することができる。
【0026】
例示的一実施形態で、物理計器はプラットフォームと強固に結合されず、それによって、複数のハードウェアおよびソフトウェア能力が同時に存在することができ、所与のハードウェアシステム内で同時に稼働することができる。たとえば、光学光源物理計器、光パワーメータ物理計器、および銅パワーメータ物理計器は、プラットフォームを実行する所与の完全なシステムで同時にサポートされ、端から端まで光−銅リンクをテストする能力をユーザに提供することができる。例示的一実施形態で、完全なシステムは、前述のようなプラットフォームをサポートするための最小限のシステムと、各々の物理計器の刺激および測定ハードウェアと、プラットフォームを提供するハードウェアシステムの間のハードワイヤード接続性またはワイヤレス接続性のいずれかを備えることができ、そのハードウェアシステムは、刺激および測定(OPMモジュール、OLSモジュール、CPMモジュールなど)を実施する。
【0027】
例示的一実施形態で、完全なシステムは、プラットフォームを実行するLenovo X320ラップトップを備え得る。例示的一実施形態で、3つの独立モジュール(OPM、OLS、CPM)は、各々、それら自体のバッテリ、それら自体のオンボード処理、および、それら自体のワイヤレスリンクを有する。例示的一実施形態で、各モジュールは、802.11gを介してラップトップにワイヤレスに接続される。例示的一実施形態で、各モジュールのための物理計器ドライバは、Lenovoラップトップで実行されることになる。例示的一実施形態で、異なる仮想計器ドライバは、ラップトップで稼働し、プラットフォームとインターフェースすることになる。前述のシステムは、任意のラップトップ上で構築可能であり、物理計器モジュールおよび仮想計器で無限に構成可能な完全なテストシステムを与えることになる。
【0028】
例示的一実施形態で、仮想計器は物理計器と強固に結合されず、それによって、1つまたは複数の物理計器とインターフェースする仮想計器が開発され得る。例示的一実施形態で、前述の完全なシステムは、同時にOLS仮想計器、OPM仮想計器、およびCPM仮想機器を公開することができ、または、3つのすべての物理計器を単一のアプリケーションにラップする銅ファイバリンクテスタのための単一の仮想計器が公開され得る。
【0029】
例示的一実施形態で、プラットフォーム層はハードウェアに依存せず、物理および仮想計器層は強固に結合されず、それにより、前記要素の間の通信プロトコルは柔軟であり、所与の完全なシステム具体化および物理計器実施形態の最小要件を満たすためのみに定義される。言い換えれば、通信技術が向上するとき(銅、ブルートゥース、Wifiなど)完全なシステムは、「プラットフォーム」および「仮想計器」層を介する実際のアーキテクチャ実装形態によって限定されない。
【0030】
図面を参照すると、
図1は、分散型テストシステムアーキテクチャ1の例示的一実施形態の図である。例示的一実施形態で、システム1は、アプリケーション管理プログラム3、サービス管理プログラム5、ファンデーションローダ7、およびプロセス間コミュニケータ9を備える、コア構成要素を備える。例示的一実施形態で、アプリケーション管理プログラム3は、システム1内のアプリケーションを監視し、そのシステム内の破損を検出し、破損が検出された場合、エラー処理管理構成要素29に通知し、システム内の各アプリケーションがアプリケーションライフサイクルを実行することを確保する。例示的一実施形態で、アプリケーションライフサイクルは、開始、および再開中、休止中、および停止を備える。
【0031】
例示的一実施形態で、サービス管理プログラム5は、どのようにサービスが開始されるべきか、いつサービスが開始されるべきか、いつサービスが停止されるべきか、サービスの再開のサポートについて責任を有し、サービスへのアプリケーションアクセスを認可し、サービスへのアプリケーションアクセスを無効にし、システム上のすべての使用可能なサービスおよびそれらの現在の状態のリスト取得することになるアプリケーションプログラミングインターフェース(API)を提供し、システム動作が検出されたときにサービスを開始し、モジュール式ハードウェアをサポートする。システム動作の例示的実施形態は、OnStart、OnDemand、OnEvent、およびマニュアルを備える。例示的一実施形態で、サービス管理プログラム5は、遠隔でアクセスされ得る。
【0032】
例示的一実施形態で、OnDemandは、アプリケーションがそれを要求したときにのみサービスが開始されることを可能にするシステム動作である。OnDemandは、サービスがもう必要とされないことをアプリケーションがサービス管理プログラムに知らせた後にはサービスがシャットダウンすることを可能にするシステム動作である。例示的一実施形態で、OnStartは、サービスがシステム1で開始し、ずっと稼働したままであることを可能にするシステム動作である。例示的一実施形態で、OnEventは、ウォッチャプラグインが何らかの事象を検出したときにサービスが開始することを可能にするシステム動作である。例示的一実施形態で、マニュアルは、アプリケーションがサービスを開始および停止することを可能にするシステム動作である。
【0033】
例示的一実施形態で、ファンデーションローダ7は、アプリケーション管理プログラムおよびサービス管理プログラムの両方を起動し、システムレベルパワー管理を制御する。例示的一実施形態で、ファンデーションブートローダは、前述の最低限のサービスを備える。
【0034】
例示的一実施形態で、遠隔接続構成9は、システム1がそれ自体、アプリケーション、および他のシステムの間で通信することを可能にする。遠隔接続構成の例示的実施形態は、ワイヤードイーサネット(登録商標)、WiFi、ブルートゥース、ならびに、IPアドレス指定、プロキシ、およびVPNなどの他の接続手段を備える。アプリケーションおよび他のシステムの例示的実施形態は、アンドロイドシステム、iPhone、WinPhone、およびPCアプリケーションを備える。
【0035】
例示的一実施形態で、様々な2次構成要素が、コア構成要素の性能を補完することができる。例示的一実施形態で、2次構成要素は、パッケージ管理プログラム15、ライセンス管理プログラム17、データストレージ管理プログラム19、パワー管理拡張21、遠隔デバイスコントロール23、遠隔サービスアクセス(図示せず)、ビジュアルスタジオテンプレート25、ハードウェアサービス27、およびエラー処理管理構成要素29を備える。
【0036】
例示的一実施形態で、ファンデーションAPI30は、正常に動作するアプリケーションおよびアプライアンスアプリケーション内に含まれる。
【0037】
図2は、正常に動作するアプリケーション内に含まれたファンデーションAPI30の例示的一実施形態である。例示的一実施形態で、ファンデーションAPI30は、パワーAPI31、ライセンスAPI32、プラグインAPI33、ASYNC API(図示せず)、パッケージ管理API34、インテントAPI35、設定API36、データ記憶API37、プロセス間通信API38、エクスポート/インポートAPI39、エラー処理/管理API40、およびネットワーク構成API41を備える。
【0038】
例示的一実施形態で、パワーAPIは、現在のパワー状況へのアクセスを提供し、非アクティブ期間中に画面を薄暗くする能力を提供し、非アクティブ期間中に画面を消す能力を提供し、特定のパワーレベルでシステムをシャットダウンする能力を提供し、特定のAPI呼出しでシステムをシャットダウンする能力を提供し、特定のAPI呼出しでシステムを再起動する能力を提供し、特定のAPI呼出しでシステムを一時停止する能力を提供する。
【0039】
例示的一実施形態で、ライセンスAPI32は、ライセンスをインストールし、所与のライセンスに関する、タイプなど、情報を要求し、ライセンスを削除し、ライセンスを検査し、ラインセンス要求について真を返すことを管理プログラムに強制することになるオーバライド機構を提供し、遠隔およびローカル接続性をサポートし、全面的、試験的、および回数制限されたライセンスを含むいくつかのライセンスタイプをサポートし、「解雇された従業員テスト」に合格するのに十分なほど安全である。
【0040】
例示的一実施形態で、プラグインAPI33は、所与のアセンブル内のすべてのクラスのリストを取得し、実行時に特定のアセンブリからクラスを動的にロードする。例示的一実施形態で、ASYNC APIは、.NETスレッドクラスを使用する必要なしにバックグラウンド処理を実行し、スレッドを呼び出すための特別な開発者コードなしにUIを更新し、開発者の手から結合、キャンセルおよび同期機能の複雑性を取り除く。
【0041】
例示的一実施形態で、パッケージ管理API34は、ファンデーションAPIのサービスおよびアプリケーションをインストールし、様々な場所(たとえばUSB、ネットワークサーバ、クラウドなど)からパッケージをダウンロードし、パッケージインストール中にソフトウェア依存性をチェックし、パッケージリポジトリを維持し、有効なファンデーションパッケージの構造を定義および実施し、新しいユニットでコアサービスをインストールするシステムパッケージを備える。例示的一実施形態で、パッケージ管理API34は、任意の他のアプリケーションまたはサービスがそのユニットでインストールされる前にユニットOS上に存在する。
【0042】
例示的一実施形態で、インテントAPI35は、アプリケーションランチャにインテントクラスを送信する。ランチャは、インテントを満たすことができるアプリケーションがシステム上に見つけることが可能かを判定することになる。それが見つかった場合、アプリケーションは起動されることになり、そのインテントはアプリケーションに渡されることになり、アプリケーションは、次いで、アプリケーションランチャを介して元のアプリケーションに流れて戻ることになるメッセージを返すことになる。
【0043】
例示的一実施形態で、設定API36は、クラスを設定する単純なアプリケーションを生成する。例示的一実施形態で、設定API36は、500ms以内に100の単純なタイプを有する設定ファイルをロードし、500ms未満で100の単純なタイプを有する設定ファイルを保存し、ネイティブに移行をサポートし、整数、浮動小数、ダブル、および文字列を含むすべての基本タイプをサポートする。
【0044】
例示的一実施形態で、データ記憶API37は、アプリケーションまたはサービスによって必要とされる任意のデータ要素を作成、検索、更新および削除するための方法を含み、標準オンデバイスまたはオフデバイス(遠隔)サービスとしてアクセス可能であり、それのAPIで複数のデータ記憶媒体タイプをサポートし、SQLデータベースデータストアプラグインを提供し、アップグレード中のデータストアプラグインの追加をサポートする。
【0045】
例示的一実施形態で、プロセス間通信API38は、クロスプロセス通信を可能にする。例示的一実施形態で、プロセス間通信API38は、異なるプロセスで方法を呼び出すための機構を提供し、1秒以内にあるプロセスから別のプロセスに大量のデータ(>256KB)を送信し、両方向通信のための機構を提供し、オブジェクトなどの構造化されたデータの送信のための機構を提供し、所与のインターフェースからクライアント側コードを生成する。プロセス間通信APIの機構の例示的実施形態は、ウインドウズシステムのウインドウズメッセージング、および、ユニックスまたはリナックスシステムのネームドパイプである。
【0046】
例示的一実施形態で、エクスポート/インポートAPI39は、デバイスから指定されたデータを抽出して、エクスポートと呼ばれる他の目的のためにそれを活用し、デバイスが、インポートと呼ばれる様々な目的のためにそれを使用することができるように、デバイスにデータを追加する。例示的一実施形態で、エクスポート/インポートAPI39は、ユニットにおよびからファイルをコピーするためのサポートを提供し、単純なCSV(コンマで区切られた値)ファイルをデータストアプラグイン媒体にインポートし、データストアプラグイン媒体からCSVファイルにデータをエクスポートし、ユーザが個別化されたインポートまたはエクスポートプラグインを設計するためのフックを提供し、データをデータストアプラグインからPDF文書、DBファイル、またはXMLファイルのいずれかにエクスポートする。
【0047】
例示的一実施形態で、エラー処理/管理API40は、システム1内のすべてのサービスおよびアプリケーションにわたるエラー処理機能を提供する。例示的一実施形態で、エラー処理機能は、エラー受信を有するエラー検出と、アプリケーションおよびサービスを実行する状態の保存ならびにフェイルオーバオプションのスケジューリングおよび実行を行う、エラー回復と、ロギングサービスを介してある特定のエラーのログを自動的に取り、伝える、エラーロギングと、アプリおよびサービスがある特定のエラーを登録することを可能にし、それらのエラーが発生するときにそのアプリまたはサービスに通知する、通知とを備える。例示的一実施形態で、エラーは、「致命的」、「重大」、「エラー」、「警告」、「情報提供」、および「デバッグ」として分類することが可能である。
【0048】
例示的一実施形態で、ネットワーク構成API41は、IPアドレス指定を制御する能力を提供する。例示的一実施形態で、ネットワーク構成API41は、ネットワーク上のDHCPサーバからIPアドレスを取得し、静的アドレスシステムで、知られているIPアドレスと、サブネットマスクと、ゲートウェイアドレスと、1次および2次DNSアドレスとを設定する能力を提供する。プロキシで、ネットワーク構成API41は、プロキシサーバ名、ポート、ユーザ名、およびパスワードを設定する能力を有する。
【0049】
例示的一実施形態で、
図1に示す2次構成要素は、ファンデーションAPIのランタイム構成要素である。言い換えれば、2次構成要素は、システムで開始することになるプロセスである。例示的一実施形態で、あらゆるファンデーションアプリケーションへのAPIの組込みは、ランタイム構成要素と対話して、それらのタスクを実行することになる。例示的一実施形態で、パッケージ管理API34は、パッケージ管理プログラム15と対話して関連タスクを実行する。
【0050】
図3は、ファンデーションAPIが第1のアプリケーション/デバイスと第2のアプリケーション/デバイスの間の通信のためにシステムを使用する複数のプロセスの例示的一実施形態の流れ図である。
【0051】
例示的一実施形態で、方法の第1のステップは、第1のアプリケーション/デバイスが分散型アーキテクチャシステム内の遠隔接続構成に要求を行うことである。第2のステップで、その要求は、システムのサービス管理プログラムによって処理される。第3のステップで、サービス管理プログラムが、第2のアプリケーション/デバイスと通信し、第2のアプリケーション/デバイスの場所を識別する。例示的一実施形態で、第2のアプリケーション/デバイスは、
図3に示すように、テスト装置ハードウェアである。第4のステップで、サービス管理プログラムが、遠隔接続構成を介して第2のアプリケーション/デバイスの場所を第1のアプリケーション/デバイスに送信する。第5のステップで、第1のアプリケーション/デバイスが、システムによって提供される場所に基づいて、第2のアプリケーション/デバイスと直接通信する。例示的一実施形態で、
図3は、システムによって提供される場所に基づいて第2のアプリケーション/デバイスから読取りを取得する第1のアプリケーション/デバイスを示す。
【0052】
例示的一実施形態で、第1のアプリケーション/デバイスはラップトップであり、第2のアプリケーション/デバイスは、ファックス機器、スキャナ、またはプリンタである。例示的一実施形態で、前述の方法のステップが、システムのヘッドを識別することなしに、生じさせられる。
【0053】
図4Aは、複数のデバイスと接続するプラットフォームを実行するデバイスの例示的一実施形態の図である。例示的一実施形態で、カスタムベースユニット51は、OTDR物理計器、CWDM物理計器、および、光源物理計器56を制御するOLS仮想計器を備える。例示的一実施形態で、カスタムベースユニット51は、それ自体と、光源物理計器55と、パワーメータ物理計器56と、テスト用デバイス53との間の通信を円滑化する。例示的一実施形態で、パワーメータ物理計器および光源物理計器は、パーソナルコンピュータ(PC)上にある。
【0054】
図4Bは、プラットフォームを実行するデバイスの第2の例示的実施形態の図である。例示的一実施形態で、第2のデバイス57は、プラットフォームと、カスタムベースユニット51でOTDR物理計器を制御するOTDR仮想計器とを実行する。例示的一実施形態で、第2のデバイス57は、ワイヤレス接続によってカスタムベースユニット51に接続されたiPadでもよい。
【0055】
図4Cは、プラットフォームを実行するデバイスの第3の例示的実施形態の図である。例示的一実施形態で、第3のデバイス58は、プラットフォームと、カスタムベースユニット51上のCWDM物理計器、パワーメータ物理計器を制御するパワーメータ仮想計器、および光源物理計器を制御する、チャネルチェッカ仮想計器とを実行する。例示的一実施形態で、第3のデバイス58は、ウインドウズOSを有するPCである。
【0056】
例示的一実施形態で、プラットフォームおよび仮想計器は、iPad(第2のデバイス57)上で稼働してシステム内の別個の物理計器を制御する。例示的一実施形態で、プラットフォームは、2つの異なる物理計器を物理的に包含する特に設計されたベースユニットで稼働する。例示的一実施形態で、プラットフォームおよび複数の仮想計器は、別個の物理計器モジュールにワイヤードまたはワイヤレスのいずれかで接続された複数の物理計器を有するPC(第3のデバイス58)で稼働する。例示的一実施形態で、
図4A、4B、および4Cのデバイスは、同時に作動して完全なテストシステムを作り出す。