(57)【特許請求の範囲】
【請求項１】
測定系アプリケーションソフトウェアと操作端末との間の接続インタフェースとして生成するソケットを、マスタソケット及びスレーブソケットの２種類のソケットとして生成し、かつ、マスタソケットを１台の操作端末の接続にのみ生成し、他のソケットを全てスレーブソケットとして生成するソケット調停管理部と、
前記マスタソケット又はスレーブソケットの何れであるかを示す識別子を各ソケットの識別番号毎に登録するソケットデータベース格納部と、
前記マスタソケットで接続された操作端末からの測定アプリケーションソフトウェアに対する制御コマンド及び測定コマンドを制限することなく処理するマスタ処理部と、
前記スレーブソケットで接続された操作端末からの前記測定アプリケーションソフトウェアに対する制御コマンド及び測定コマンドのうち、機能限定規則によって許可されたコマンドのみを処理し、機能限定規則によって許可されたコマンド以外のコマンドを破棄するスレーブ処理部と
を備え、
前記スレーブ処理部は、
前記機能限定規則によって許可されたコマンドとして、前記スレーブソケットで接続された操作端末からの測定開始要求を受け付け、
前記測定開始要求を受け付けた場合に、前記マスタソケットで接続された操作端末からの測定開始要求に応じて前記マスタソケットで接続された操作端末に向けて測定データが報告される周期に合わせて、前記スレーブソケットで接続された操作端末に測定データを報告することを特徴とする測定／試験アクセス制御装置。
【請求項２】
前記ソケット調停管理部は、初期状態から最初に接続要求した操作端末に対するソケットをマスタソケットとして登録し、該操作端末の接続が終了したときに、他の操作端末の接続に使用されているスレーブソケットの１つをマスタソケットとして登録するよう、前記ソケットデータベース格納部の識別子を書き換える構成を有することを特徴とする請求項１に記載の測定／試験アクセス制御装置。
【請求項３】
前記マスタソケット及びスレーブソケットで接続された各操作端末から要求された測定項目を有効な測定項目として記憶保持する測定機能データベース格納部と、
前記測定機能データベース格納部で有効な測定項目として記憶保持された測定項目の測定データを記憶保持する測定データ格納部とを有し、
前記マスタ処理部及びスレーブ処理部は、それぞれマスタソケット及びスレーブソケットで接続された各操作端末に、前記測定データ格納部に格納された測定データを転送する構成を有することを特徴とする請求項１または請求項２に記載の測定／試験アクセス制御装置。
【請求項４】
測定系アプリケーションソフトウェアと操作端末との間の接続インタフェースとして生成するソケットを、マスタソケット及びスレーブソケットの２種類のソケットとして生成し、かつ、マスタソケットを１台の操作端末の接続にのみ生成し、他のソケットを全てスレーブソケットとして生成するソケット調停管理プロセスと、
前記マスタソケット又はスレーブソケットの何れであるかを示す識別子を各ソケットの識別番号毎に登録するソケットデータベース格納プロセスと、
前記マスタソケットで接続された操作端末からの測定アプリケーションソフトウェアに対する制御コマンド及び測定コマンドを制限することなく処理するマスタ処理プロセスと、
前記スレーブソケットで接続された操作端末からの前記測定アプリケーションソフトウェアに対する制御コマンド及び測定コマンドのうち、機能限定規則によって許可されたコマンドのみを処理し、機能限定規則によって許可されたコマンド以外のコマンドを破棄するスレーブ処理プロセスと
を含み、
前記スレーブ処理プロセスにおいて、
前記機能限定規則によって許可されたコマンドとして、前記スレーブソケットで接続された操作端末からの測定開始要求を受け付けた場合に、前記マスタソケットで接続された操作端末からの測定開始要求に応じて前記マスタソケットで接続された操作端末に向けて測定データが報告される周期に合わせて、前記スレーブソケットで接続された操作端末に測定データを報告することを特徴とする測定／試験アクセス制御方法。
【請求項５】
測定系アプリケーションソフトウェアと操作端末との間の接続インタフェースとして生成するソケットを、マスタソケット及びスレーブソケットの２種類のソケットとして生成し、かつ、マスタソケットを１台の操作端末の接続にのみ生成し、他のソケットを全てスレーブソケットとして生成するソケット調停管理手段と、
前記マスタソケット又はスレーブソケットの何れであるかを示す識別子を各ソケットの識別番号毎に登録するソケットデータベース格納手段と、
前記マスタソケットで接続された操作端末からの測定アプリケーションソフトウェアに対する制御コマンド及び測定コマンドを制限することなく処理するマスタ処理手段と、
前記スレーブソケットで接続された操作端末からの前記測定アプリケーションソフトウェアに対する制御コマンド及び測定コマンドのうち、機能限定規則によって許可されたコマンドのみを処理し、機能限定規則によって許可されたコマンド以外のコマンドを破棄するスレーブ処理手段と
を実行させ、
前記スレーブ処理手段は、
前記機能限定規則によって許可されたコマンドとして、前記スレーブソケットで接続された操作端末からの測定開始要求を受け付け、
前記測定開始要求を受け付けた場合に、前記マスタソケットで接続された操作端末からの測定開始要求に応じて前記マスタソケットで接続された操作端末に向けて測定データが報告される周期に合わせて、前記スレーブソケットで接続された操作端末に測定データを報告することを特徴とする測定／試験アクセス制御用のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、測定／試験アクセス制御装置及び方法並びにそのプログラムに関し、例えばモバイルフォン等の被試験カードの動作や特性等の多数の測定項目を測定又は試験する場合に、それら多数の測定項目の測定データを収集管理する測定系アプリケーションソフトウェアに、複数の操作端末からアクセスして測定又は試験を実施する場合の接続制御に好適に適用されるものである。
【背景技術】
【０００２】
図１１に従来の測定／試験システムの接続インタフェースを示す。同図に示すように、測定／試験アクセス制御装置内の制御カード１１−１と、パーソナルコンピュータ（ＰＣ）等による測定／試験の作業を実施するための複数の操作端末ＰＣ１，ＰＣ２，ＰＣ３とが、ルータ１１−６を介して接続され、制御カード１１−１内では、１０００ＢＡＳＥ−Ｔ等のＬＡＮインタフェース１１−４を介し、各操作端末ＰＣ１，ＰＣ２，ＰＣ３がそれぞれソケット１１−３１，１１−３２，１１−３３を経由して、測定系アプリケーションソフトウェア１１−２に接続される。
【０００３】
測定系アプリケーションソフトウェア１１−２は、制御カード１１−１内にファームウェア機能部として実装され、ＴＣＰサーバ機能部及びＴＣＰプロトコル処理部を備え、各操作端末ＰＣ１，ＰＣ２，ＰＣ３からのコマンドに従って、各被試験カード１１−５の測定データの収集、測定／試験のための各種設定等を行う。
【０００４】
測定系アプリケーションソフトウェア１１−２は、ＬＡＮインタフェース１１−４を介して接続された各操作端末ＰＣ１，ＰＣ２，ＰＣ３と、それぞれソケット１１−３１，１１−３２，１１−３３を通してＴＣＰ／ＩＰ通信によるデータ送受を行い、各操作端末ＰＣ１，ＰＣ２，ＰＣ３から制御コマンド又は測定コマンドを受信し、各操作端末ＰＣ１，ＰＣ２，ＰＣ３に測定データを転送する。
【０００５】
ここでソケットとは、ＢＳＤ（Berkeley Software Distribution）系ＵＮＩＸ（登録商標）を起源とするＡＰＩ（Application Program Interface）であり、Ｃ言語によるアプリケーションソフトウェア開発でのプロセス間通信、特にコンピュータネットワークに関するライブラリを構成し、データ送受を行うアプリケーションソフトウェアがＴＣＰ／ＩＰ通信を扱うためのインタフェースである。
【０００６】
図１１に示すように、制御カード１１−１内で１つの測定系アプリケーションソフトウェア（即ち１つのポート）１１−２に対してソケット１１−３を複数生成し、各ソケット１１−３１，１１−３２，１１−３３を通して１つの測定系アプリケーションソフトウェア１１−２と複数の操作端末ＰＣ１，ＰＣ２，ＰＣ３とで通信を行うことは可能である。
【０００７】
しかし、１つの測定系アプリケーションソフトウェア１１−２に１つの操作端末例えばＰＣ１がアクセスし、測定系にユニークな設定情報＃Ａを設定して測定／試験を実施している最中に、他の操作端末例えばＰＣ２からの命令が非同期で測定系アプリケーションソフトウェア１１−２に入力され、測定系にユニークな設定情報＃Ｂを設定しようとすると、先の操作端末ＰＣ１で設定した設定情報＃Ａが破壊されてしまうこととなる。
【０００８】
このようなことを防ぐために、従来の試験制御装置では、１つの操作端末（例えばＰＣ１）が測定系アプリケーションソフトウェア１１−２にアクセスしている最中には、他の操作端末（例えばＰＣ２，ＰＣ３）はアクセスすることができないようにし、ソケット１１−３を１個しか生成しない構成とするなどの手法を採用していた。
【０００９】
１つの試験装置で複数の被試験デバイスを試験する試験方法、試験制御プログラム等に関しては下記の特許文献１に開示されている。
【特許文献１】特開２００６−２６６８３５号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
前述のように、１つの測定系アプリケーションソフトウェア（同一ポート）に対して、各操作端末対応に複数のソケットを生成することにより、複数の操作端末が１つの測定系アプリケーションソフトウェアにアクセスすることは可能であるが、従来のソケットによる接続では、複数の操作端末のアクセスを相互に関連付けたアクセス制御をすることができず、このため、複数の操作端末が１つの測定系アプリケーションソフトウェアにアクセスすると、１つの操作端末による測定設定にユニークな設定情報が、他の操作端末のアクセスによって上書きされ、或いは測定項目が測定中に変更されたりして、測定／試験に不具合が発生するため、複数の操作端末がアクセス可能であっても、その内の１つのアクセスしか許容されないという制約があった。
【００１１】
本発明は、１つの測定系アプリケーションソフトウェアに対して複数の操作端末がアクセスして測定／試験を実施することができ、かつ、測定系アプリケーションソフトウェアに最初にアクセスした操作端末が測定／試験を実施している最中に、他の操作端末のアクセスによる測定／試験の実施によって測定設定が破壊されることなく影響を受けない測定／試験を実施可能にする。
【課題を解決するための手段】
【００１２】
上記課題を解決するために、この測定／試験アクセス制御システムは、測定系アプリケーションソフトウェアと操作端末との間の接続インタフェースとして生成するソケットを、マスタソケット及びスレーブソケットの２種類のソケットとして生成し、かつ、マスタソケットを１台の操作端末の接続にのみ生成し、他のソケットを全てスレーブソケットとして生成するソケット調停管理部と、前記マスタソケット又はスレーブソケットの何れであるかを示す識別子を各ソケットの識別番号毎に登録するソケットデータベース格納部と、前記マスタソケットで接続された操作端末からの測定アプリケーションソフトウェアに対する制御コマンド及び測定コマンドを制限することなく処理するマスタ処理部と、前記スレーブソケットで接続された操作端末からの前記測定アプリケーションソフトウェアに対する制御コマンド及び測定コマンドのうち、機能限定規則によって許可されたコマンドのみを処理し、機能限定規則によって許可されたコマンド以外のコマンドを破棄するスレーブ処理部とを備え、スレーブ処理手段は、前記機能限定規則によって許可されたコマンドとして、前記スレーブソケットで接続された操作端末からの測定開始要求を受け付け、前記測定開始要求を受け付けた場合に、前記マスタソケットで接続された操作端末からの測定開始要求に応じて前記マスタソケットで接続された操作端末に向けて測定データが報告される周期に合わせて、前記スレーブソケットで接続された操作端末に測定データを報告することを要件とする。
【発明の効果】
【００１３】
この測定／試験アクセス制御システムでは、測定系アプリケーションソフトウェアと操作端末とを接続するソケットを、マスタソケットとスレーブソケットとに分離し、１台の操作端末の接続に使用するマスタソケットにのみ通常の測定設定の機能与え、スレーブソケットに対して機能限定規則によって制限した機能のみを与えることにより、１つの測定系アプリケーションソフトウェアに対して複数の操作端末がアクセスして測定／試験を実施することができ、かつ、他の操作端末のアクセスによる測定／試験の実施によって測定設定が破壊されることなく影響を受けない測定／試験が実施可能となる。
【発明を実施するための最良の形態】
【００１４】
図１は本発明による測定／試験システムの接続インタフェースを示す。同図に示すように、ソケットをマスタソケット１−３１及びスレーブソケット１−３２，１−３３の２種類のソケットに分離し、マスタソケット１−３１によって接続された操作端末ＰＣ１からは、従来と同様の通常の測定アプリケーションソフトウェア１−２による測定／試験を実施可能とするが、スレーブソケット１−３２，１−３３によって接続された操作端末ＰＣ２，ＰＣ３からは、他の操作端末の測定／試験に影響を与えない処理に限定した測定／試験を実施可能とする。具体例としては、スレーブソケット１−３２，１−３３で接続された操作端末ＰＣ２，ＰＣ３から実施可能な制御は、測定項目の追加設定の要求、測定開始／停止の要求、接続終了（Ｃｌｏｓｅ）要求等に制限する。
【００１５】
マスタソケット１−３１及びスレーブソケット１−３２，１−３３を生成して管理するソケット調停管理部１−２１を、測定系アプリケーションソフトウェア１−２内のＴＣＰサーバ部に設ける。該ソケット調停管理部１−２１は、複数のソケットを生成し、そのうちの１つをマスタソケット１−３１に決定し、他のソケットをスレーブソケット１−３２，１−３３として管理する。
【００１６】
ソケット調停管理部１−２１は、何れの操作端末ＰＣ１，ＰＣ２，ＰＣ３も接続されていない初期状態から、最初にアクセス要求のあった操作端末ＰＣ１を接続するソケットをマスタソケット１−３１とする。ソケット生成は、操作端末ＰＣ１，ＰＣ２，ＰＣ３からの接続要求の受信前に予め１つ分余分に生成しておき、マスタソケット１−３１を設定登録すると、その後に設定登録するソケットは全てスレーブソケット１−３２，１−３３として設定登録する。
【００１７】
マスタソケット１−３１で接続された操作端末ＰＣ１から、接続終了（Ｃｌｏｓｅ）の要求が発せられ、マスタソケット１−３１の接続を終了するときは、スレーブソケット１−３２，１−３３の何れか１つをマスタソケットに変更する。スレーブソケットが複数存在する場合は、ラウンドロビン等による割り当て制御によって選択したスレーブソケットをマスタソケットに変更する。
【００１８】
また、生成したソケットがマスタソケット又はスレーブソケットの何れであるかを示す識別子（マスタ／スレーブ）を各ソケットに対応付けて管理するソケットデータベース格納部１−４を導入する。該ソケットデータベース格納部１−４は、各生成ソケットにユニークなソケット識別番号（ＩＤ）対応にマスタ／スレーブ識別子を保持する。
【００１９】
また、測定系アプリケーションソフトウェア１−２内に、マスタ・スレーブ測定制御部を設け、マスタ・スレーブ測定制御部内にはマスタ処理部１−２２及びスレーブ処理部１−２３を実装する。マスタ処理部１−２２は、通常の測定／試験機能及び配下被試験カード１１−５に対する各種の設定機能を具備する。スレーブ処理部１−２３は、機能限定規則によって実施可能な機能のみに限定して実施し、基本的に測定データ転送と、他の操作端末に影響を与えない設定制御のみを実施する。なお、図１において、図１１に示した構成要素と同一の構成要素には同一の符号を付し、重複した説明は省略する。
【００２０】
図２は本発明の測定／試験システムにおけるアクセス制御の機能部を示す。これらの機能部は、ＴＣＰ／ＩＰ通信機能のミドルウェアプログラム２−９のＢＳＤ（Berkeley Software Distribution）準拠ＴＣＰ用ＡＰＩを利用し、上位アプリケーションソフトウェア２−１との仲介層となる部分に該当し、上位アプリケーションソフトウェア２−１に対して、送信関数、受信関数、サーバ開始関数等でＡＰＩ（Application Program Interface）を生成する。
【００２１】
本発明の測定／試験システムにおけるアクセス制御機能部として、ソケット調停管理部２−２、ソケットデータベース格納部２−３、測定機能データベース格納部２−４、測定データ格納部２−５、機能限定規則命令ルーティング格納部２−６、マスタ処理部２−７及びスレーブ処理部２−８を備える。
【００２２】
図２では左側に１つのマスタ処理部２−７、右側に１つのスレーブ処理部２−８を示しているが、スレーブソケットは複数生成され、各スレーブソケット対応にスレーブ処理部２−８は複数生成される。マスタソケットが生成されると、その後に受け付けられる操作端末からの接続要求に対して生成するソケットは全てスレーブソケットとなる。これらのソケットの生成手順は、以下のとおりである。
【００２３】
（１）マスタ処理部２−７のソケット制御部２−７３により、最初のソケット（１個目）をマスタソケットの制御用ソケット２−７４として生成する。
（２）マスタ処理部２−７のソケット制御部２−７３で、制御用ソケット２−７４により受信した操作端末（ＰＣ）の接続要求を受け付ける。
（３）マスタ処理部２−７により、上記操作端末（ＰＣ）を接続するマスタソケットの通信用ソケット２−７５として２個目のソケットを生成する。
（４）スレーブ処理部２−８のソケット制御部２−８３により、３個目のソケットをスレーブソケットの制御用ソケット２−８４として生成し、次の操作端末（ＰＣ）からの接続要求を待機する。
（５）スレーブ処理部２−８のソケット制御部２−８３で、制御用ソケット２−８４により受信した次の操作端末（ＰＣ）の接続要求を受け付ける。
（６）スレーブ処理部２−８のソケット制御部２−８３で、次の操作端末（ＰＣ）を接続するスレーブソケットの通信用ソケット２−８５として４個目のソケットを生成する。
（７）スレーブ処理部のソケット制御部で、５個目のソケットをスレーブソケットの制御用ソケットとして生成し、更に次の操作端末（ＰＣ）からの接続要求を待機する。
【００２４】
マスタ処理部２−７のパケット制御・送信部２−７２は、通信用ソケット２−７５から受信される制御コマンド及び測定コマンドを、従来と同様に制限なく処理し、それらを上位アプリケーションソフトウェア２−１に渡す。しかし、スレーブ処理部２−８のパケット判定・送信部２−８２は、機能限定規則命令ルーティング格納部２−６に格納された機能限定規則を参照し、該機能限定規則によって許可されたコマンド以外のコマンドを破棄する。
【００２５】
また、スレーブ処理部２−８の登録依頼部２−８１は、上記機能限定規則によって許可された制御コマンドを、マスタ処理部２−７へのシグナルとしてメールボックス等により通知し、マスタ処理部２−７から、測定機能データベース部２−４に必要な測定項目を登録するよう依頼する。
【００２６】
マスタ処理部２−７の機能データ保存部２−７１は、上記スレーブ処理部２−８の登録依頼部２−８１からの登録要求を受け取り、該要求に応じて測定機能データベース格納部２−４に測定項目の変更を指示する。ここで、許可された制御コマンドは、測定項目追加の設定、自身のソケットのみに割り当てられた測定項目の削除、測定開始／停止、接続終了（Ｃｌｏｓｅ）等の要求コマンドのように、他の操作端末の測定／試験の測定設定に影響を与えない制御コマンドである。
【００２７】
なお、スレーブ処理部２−８は、許可されたコマンド以外のコマンドを無視して破棄するが、該コマンドを送信した操作端末（ＰＣ）に破棄した旨のメッセージを通知する。また、マスタ処理部２−７及びスレーブ処理部２−８は、上位アプリケーションソフトウェア２−１により測定され、測定データ格納部２−５に格納された測定データを、それぞれパケット制御・送信部２−７２及びパケット判定・送信部２−８２で受け、該測定データを測定報告周期毎に、それぞれ通信用ソケット２−７５及び２−８５により各操作端末（ＰＣ）に通知する。
【００２８】
ここで前述のソケットデータベース格納部２−３、測定機能データベース格納部２−４、測定データ格納部２−５、及び機能限定規則命令ルーティング格納部２−６の４つのデータベース格納部について説明する。ソケットデータベース格納部２−３は、図３の（ａ）に示すように、ソケット調停管理部２−２が生成したソケットの識別番号（ＩＤ）とマスタ又はスレーブの識別子（Ｍ／Ｓ）とを対応付けて保持し、それらの保持内容はソケット調停管理部２−２が編集する。
【００２９】
ソケット調停管理部２−２は、受け付けの早いものから順番にソケットを登録していく。各ソケットを識別するためにソケット識別番号（ＩＤ）を使用する。１つの接続要求に対して制御用ソケットと及び通信用ソケットの２つのソケットを生成し、それぞれにソケット識別番号（ＩＤ）を付与する。制御用ソケットは接続を終了（クローズ）するときに使用し、通常の測定データの送受には通信用ソケットを使用する。該ソケット識別番号（ＩＤ）の情報は上位アプリケーションソフトウェア２−１が読み出し可能なものとする。
【００３０】
測定機能データベース格納部２−４は、図３（ｂ）の上部に示すように、全測定項目について各ソケット識別番号（ＩＤ）対応に、それぞれ要求された測定項目に対して「有効(“１”)」を示す情報を設定する。また、測定機能データベース格納部２−４の最下行に、各ソケット識別番号（ＩＤ）対応の「有効(“１”)」を論理和演算した結果を格納する。該論理和演算結果が“１”となっている測定項目が、測定すべき測定項目となる。
【００３１】
測定データ格納部２−５は、図３（ｂ）の下部に示すように、各測定項目の測定データを格納する。測定機能データベース格納部２−４及び測定データ格納部２−５は、図３の（ｂ）に示すように組み合わせて使用することができる。同図では、各測定項目の「有効」／「無効」を示す格納領域と同一のコラムに当該測定項目の測定データを格納するテーブルの構成例を示しているが、「有効」／「無効」を示す格納領域と、測定データを格納する領域とは同一コラムである必要はなく、測定項目に対応した領域にその測定データを格納する構成であれば良い。
【００３２】
測定機能データベース格納部２−４は、マスタ処理部２−７のみ編集可能とし、スレーブ処理部２−８からは読み出しのみを許可する。測定機能データベース格納部２−４の格納情報（「有効」／「無効」）により、それぞれのソケットで接続された各操作端末（ＰＣ）が要求した測定項目の情報が認識される。
【００３３】
上位アプリケーションソフトウェア２−１は、測定機能データベース格納部２−４に有効情報が格納された測定項目の全てを網羅する（各測定項目の有効を示す情報ビットの論理和が１となる測定項目を収集する）ように測定項目を収集し、該収集した測定項目の測定データを測定データ格納部２−５に蓄積し、それぞれの測定報告周期毎に、各測定項目の測定データを各ソケットに転送する。
【００３４】
機能限定規則命令ルーティング格納部２−６は、図３の（ｃ）に示すように、スレーブ処理部２−８における機能限定規則を格納し、スレーブ処理部２−８における処理識別テーブルとなる。機能限定規則命令ルーティング格納部２−６は、スレーブ処理部２−８で受信されたコマンドをどのように処理するかについての情報を設定する。
【００３５】
スレーブ処理部２−８は、操作端末（ＰＣ）から受信される各コマンドに対して、機能限定規則命令ルーティング格納部２−６を参照して、許可するコマンドを選別し、該許可するコマンドに対してマスタ処理部２−７に測定機能データベースの編集を依頼する。許可しないコマンドに対しては、自身のスレーブ処理部２−８のタスク内で該コマンドを破棄し、破棄した旨を通知するパケットを操作端末（ＰＣ）に送信する。
【００３６】
次に、ソケット調停管理部、マスタ処理部及びスレーブ処理部におけるタスクフローを関連付けて説明する。ソケットのマスタ又はスレーブの種別を決定するのはソケット調停管理部である。初期状態で操作端末（ＰＣ）から接続要求を受けたときには、マスタソケットもスレーブソケッも存在せず、先着優先によりマスタソケットを設定登録する。先着優先でマスタソケットを設定登録すると、その後の接続要求に対しては全てスレーブソケットの設定登録となる。
【００３７】
ソケット調停管理部、マスタ処理部及びスレーブ処理部の全体のタスクフローの詳細を、図４及び図５を参照して説明する。まず、全体のタスクフローは、Ａ．ソケット調停管理タスク（又はプロセス）、Ｂ．マスタ制御タスク（又はプロセス）、及びＣ．スレーブ制御タスク（又はプロセス）の三つの部分に分かれている。以下、順を追って説明する。
【００３８】
Ａ．ソケット調停管理タスク（又はプロセス）について（図４の（ａ）参照）
このタスクフローは、ソケットデータベースを管理するフローである。動作は次の通りである。
Ａ−１．測定／試験システムが起動し、最初に操作端末（ＰＣ）が接続を開始すると、マスタ処理部はマスタ制御タスクを生成する。このマスタ制御タスクが開始すると、ソケット調停管理タスクにマスタ制御タスクが開始された旨のメッセージを通知する。ソケット調停管理タスクにおいてこれを待ち受けるのが接続要求発生判定（４−１）のフローである。
【００３９】
Ａ−２．接続要求が発生したメッセージを受け取ると、ソケット調停管理タスクではソケットデータベースにマスタフラグをセットし（４−２）、マスタとなる操作端末（クライアントＰＣ）との接続情報を登録する（４−３）。
【００４０】
Ａ−３．その後のフローは、ソケットの登録数が０でない限り、即ち、少なくとも１つのソケットが存在し、マスタソケットが登録されていれば、次の操作端末（ＰＣ）からの接続要求に対してスレーブソケットを生成するための接続要求発生待ちのループ処理を巡回する（４−４〜４−６）。
【００４１】
Ａ−４．前項のループ処理を巡回している状態（４−４〜４−６）で、新たな操作端末（クライアントＰＣ）からの接続要求が発生すると、スレーブ制御タスクは、ソケット調停管理タスクにスレーブ制御タスクが開始された旨のメッセージを通知する。これを待ち受けるのが下段にある接続要求発生判定（４−４）のフローである。
【００４２】
Ａ−５．接続要求が発生した旨のメッセージを受け取ると、ソケット調停管理タスクはソケットデータベースにスレーブフラグをセットし（４−５）、スレーブとなる操作端末（クライアントＰＣ）との接続情報を登録する（４−６）。
【００４３】
Ａ−６．最後にマスタソケットが機能停止した場合の処理フローについて説明する。新規スレーブソケット生成の待ち受け処理ループの実施中（４−４〜４−６）に、マスタソケットで接続された操作端末（ＰＣ）による測定／試験の作業が終了し、接続断要求により該マスタソケットの機能が停止すると、登録中のスレーブソケットの中から次にマスタソケットとなるソケットを決定する必要がある。それがマスタ停止発生の判断（４−７）のフローである。
【００４４】
Ａ−７．マスタ停止発生の判断（４−７）のフローでマスタ停止発生を検出すると、ソケットデータベースに登録されているスレーブソケットで接続された操作端末（クライアントＰＣ）の中から、例えばソケット識別番号（ＩＤ）が一番若いソケットをマスタソケットとして選出し、該ソケットで接続された操作端末（クライアントＰＣ）をマスタとして選択する（４−８）。
【００４５】
Ａ−８．次期マスタソケットとなるスレーブソケットのスレーブ制御タスクに、マスタソケットへの切り替え要求のメッセージを送信する（４−９）。
Ａ−９．ソケットデータベース上で、次にマスタソケットとなるスレーブソケットの識別子をマスタにする処理を行う。
【００４６】
Ａ−１０．登録されているソケット数が０（マスタもスレーブも無い状態）かどうかを判定し（４−１０）、登録ソケット数が０でなければ、処理フロー４−４に戻って同様の処理を繰り返し、登録ソケット数が０なったときは、最初の接続要求発生待ちループの処理フロー４−１に戻って同様の処理を繰り返す。
【００４７】
Ｂ．マスタ制御タスク（又はプロセス）について（図４の（ｂ）参照）
このタスクのメインフローは、測定機能データベースを管理するフローである。動作は次の通りである。但し、前提として測定／試験システムに操作端末（ＰＣ）が全く接続していない初期状態（立ち上げ直後の状態）、或いは、全ての操作端末（ＰＣ）が接続を切断した状態から開始するものとする。
【００４８】
Ｂ−１．制御用ソケットを生成する（４−１１）。
Ｂ−２．操作端末（クライアントＰＣ）からの接続要求を待ち受ける（４−１２，４−１３）。
Ｂ−３．操作端末（クライアントＰＣ）からの接続要求を検出すると、ソケット調停管理タスクに受付メッセージを通知する（４−１４）。
【００４９】
Ｂ−４．最初の接続要求なので、ソケット調停管理タスクは、該接続用のソケットをマスタソケットとして登録する。これをマスタ処理部の制御タスクは、ソケットデータベースの参照により確認し（又はステータス通知関数などを用意して通知する構成としてもよい）、自身がマスタであることを認識する。
Ｂ−５．自身がマスタ処理部の制御タスクであることを認識すると、自身の通信用ソケットで接続された操作端末（クライアントＰＣ）に対して、従来と同様の通常の制限の無いアクセスを提供し、通常のパケットを送受信する（４−１５）。
【００５０】
そして、スレーブ制御タスクから、測定項目の追加要求が発生したか否かを判定し（４−１６）、測定項目の追加要求が発生した場合は、測定項目を追加するよう測定機能データベースを編集する（４−１７）。また、マスタソケットとしての機能停止要求が発生したか否かを判定し（４−１８）、マスタソケットの機能停止要求が発生していない場合は、前述の処理フロー４−１５に戻って同様の処理を繰り返す。マスタソケットの機能停止要求が発生した場合は、ソケット調停管理タスクにマスタ停止を通知し（４−１９）、マスタタスクの消去を実施してマスタタスクを終了する（４−２０）。
【００５１】
Ｃ．スレーブ制御タスク（又はプロセス）について（図５参照）
このタスクのメインフローは、機能限定規則命令ルーティングテーブルを利用し、制限された設定機能のみをスレーブソケットに提供する。動作は次の通りである。
【００５２】
Ｃ−１．スレーブソケットの制御用ソケットを生成する（５−１）。
Ｃ−２．操作端末（クライアントＰＣ）からの接続要求を待ち受ける（５−２，５−３）。
Ｃ−３．操作端末（クライアントＰＣ）からの接続要求を検出すると、ソケット調停管理タスクに受付メッセージを通知する（５−４）。
【００５３】
Ｃ−４．操作端末（クライアントＰＣ）からの接続要求に対して、スレーブ制御タスクはソケットを生成し、ソケットデータベースの参照によりマスタソケットかスレーブソケットかを確認する（５−５）。或いはステータス通知関数等を用意して通知する構成としてもよい。
【００５４】
Ｃ−５．自身がスレーブであることを認識すると、操作端末（クライアントＰＣ）にスレーブ情報を通知する（５−６）。このスレーブ情報には、現状の測定機能データベースに登録されている測定項目の情報を含む。この通知で操作端末（クライアントＰＣ）は、自身がスレーブ処理しか実施できないことを認識する。また、通知されたスレーブ情報から、現在登録されている測定項目の情報を認識し、登録されている測定項目に足りない測定項目が有れば、その測定項目の追加要求を送信する。測定項目の追加要求のコマンドは、スレーブ制御タスクで廃棄されることなく、マスタ制御タスクへの測定機能データベースの編集依頼として送出される。
【００５５】
Ｃ−６．スレーブ制御タスクは、操作端末（クライアントＰＣ）からのパケットを受信し（５−７）、該パケットのペイロードを解析し（５−８）、コマンドパケットを受信するたびに、そのコマンドが測定コマンドか制御コマンドであるかを判定する（５−９）。
【００５６】
Ｃ−７．受信パケットのコマンドが制御コマンドである場合は破棄する（５−１１）。
Ｃ−８．受信パケットのコマンドが測定コマンドである場合は、マスタ制御タスクへその要求内容を転送し、登録を依頼する（５−１０）。マスタ制御タスクでは、測定項目の測定周期などを設定し、その設定が完了すると、スレーブ制御タスクでは、現時刻が測定報告周期の時刻か否かを判定し（５−１２）、測定報告周期の時刻であるときは、測定データを操作端末（クライアントＰＣ）に送信する（５−１３）。
【００５７】
Ｃ−９．スレーブ制御タスクは、この後、マスタへの切り替え要求が発生したか否かを判定する（５−１４）。現存のマスタソケットの接続が切断され、ソケット調停管理タスクで当該スレーブソケットが次のマスタソケットに選定されると、当該スレーブ制御タスクにその旨のメッセージが転送されて来るのでそれを判定する。
【００５８】
Ｃ−１０．マスタへの切り替え要求が発生した場合は、操作端末（ＰＣ）にマスタ切り替えの旨のメッセージを通知する（５−１５）。
Ｃ−１１．このとき現状の測定項目の設定情報を測定機能データベースから読み取り、それらを該操作端末（ＰＣ）に転送する（５−１６）。
【００５９】
Ｃ−１２．そして、スレーブソケットとしての機能停止要求が発生したか否かを判定し（５−１７）、スレーブソケットの機能停止要求が発生していない場合は、前述の処理フロー５−５に戻って同様の処理を繰り返す。スレーブソケットの機能停止要求が発生した場合は、スレーブタスクを終了する（５−１８）。
【００６０】
Ｃ−１３．前述のマスタ／スレーブ判定（５−５）の処理フローで、マスタソケットに切り替わったことを認識すると、処理フローがマスタ処理部の処理フローに遷移することになる。マスタソケットへの切り替えが完了すると、その旨を操作端末（クライアントＰＣ）に通知する（５−１９）。これは測定／試験システムで処理を同期化するためである。
【００６１】
Ｃ−１４．これ以降は、前述のマスタ制御タスクのフローと同様であり、制限の無い通常のパケット送受信を行い（５−２０）、スレーブタスク制御部から測定項目の追加要求が発生したか否かを判定し（５−２１）、発生した場合は該測定項目を追加するよう、測定機能データベースを編集する（５−２２）。
【００６２】
そして、マスタソケットとしての機能停止要求が発生したか否かを判定し（５−２３）、マスタソケットの機能停止要求が発生していない場合は、前述の処理フロー５−２０に戻って同様の処理を繰り返し、マスタソケットの機能停止要求が発生した場合は、マスタタスクを終了する（５−２４）。なお、マスタ制御タスクからスレーブ制御タスクへの遷移は無い。
【００６３】
上述のＡ．ソケット調停管理タスク（又はプロセス）、Ｂ．マスタ制御タスク（又はプロセス）、及びＣ．スレーブ制御タスク（又はプロセス）の各処理フローのタイミング相関は、図中の点線矢印で示している。これらのタイミング相関は、例えばリアルタイムＯＳにおけるようなメッセージキューやメールボックス等を用いて実現することができる。
【００６４】
次に、２つの操作端末（ＰＣ）が測定アプリケーションソフトウェアの制御カードにアクセスしたときの動作シーケンス例を図６及び図７に示す。この動作シーケンス例は、ソケットのマスタ／スレーブを決定し、各操作端末（ＰＣ）に測定情報を転送するまでの動作シーケンスを示している。
【００６５】
この動作シーケンス例において、図示のＴＣＰサーバは、マスタ制御タスク及びスレーブ制御タスクの両方の実行機能を含んでいるものとする。また、タスク生成用関数は、通常リアルタイムＯＳなどでＡＰＩとして定義（用意）されているものとする。
【００６６】
ＴＣＰサーバはマスタ制御タスクを生成する。そして操作端末（マスタＰＣ）から接続要求が発生する（６−１）。ＴＣＰサーバは、ソケット調停管理タスクにソケット管理番号（識別番号）取得要求のメッセージを送信する（６−２）。ソケット調停管理タスクは、ソケットデータベースを参照してマスタソケットの有無を判定し（６−３）、管理番号（マスタ通知）をＴＣＰサーバに送信する（６−４）。
【００６７】
ＴＣＰサーバでは、先に受け取った操作端末（ＰＣ）からの接続要求に対して先着優先でマスタソケットを生成する（６−５）。この後、生成したマスタソケットの識別番号ＩＤの登録要求をソケット調停管理タスクに送信する（６−６）。ソケット調停管理タスクは、先に生成登録したマスタ情報に追加してマスタソケットのソケットＩＤを登録する（６−７）。
【００６８】
ＴＣＰサーバは、測定機能データベース格納部にマスタ領域を生成する（６−８）。この領域は最初に空データとなる。また、このときまでにＴＣＰサーバは、マスタとなる操作端末（ＰＣ）とのソケット環境を構築しておく（６−９）。操作端末（マスタＰＣ）は、測定機能データベース格納部に対して測定動作設定及び測定項目の設定を行う（６−１０）。
【００６９】
マスタ制御タスクの生成が完了した後、ＴＣＰサーバでスレーブ制御タスクを生成する（６−１１）。ここで、今まで待たされていた操作端末（スレーブＰＣ）の接続要求がＴＣＰサーバによって受け付けられる。ＴＣＰサーバは、ソケット調停管理タスクに２個目のソケットＩＤ登録要求を送信する（６−１２）。
【００７０】
ソケット調停管理タスクは、マスタソケットの有無を判定し（６−１３）、管理番号（スレーブ通知）をＴＣＰサーバに送信する（６−１４）。ＴＣＰサーバでは、先に受け取った操作端末（スレーブＰＣ）からの接続要求に対してスレーブソケットを生成し（６−１５）、ソケット調停管理タスクにソケットＩＤ登録要求を送信する（６−１６）。
【００７１】
ソケット調停管理タスクは、先に生成登録したスレーブ情報に追加してスレーブソケットのソケットＩＤを登録する（６−１７）。ＴＣＰサーバは、スレーブとなる操作端末（スレーブＰＣ）とソケット環境を構築しておく（６−１８）。そしてスレーブ通知を該操作端末（スレーブＰＣ）に送信し（６−１９）、マスタに設定された測定項目の情報を操作端末（スレーブＰＣ）に転送する（６−２０）。
【００７２】
操作端末（スレーブＰＣ）は、測定項目として追加項目の有無を判定し（７−１）、追加項目が存在すれば、測定機能データベース格納部に対して測定項目の追加を設定する（７−２）。操作端末（スレーブＰＣ）から測定開始要求が送出され（７−３）、ＴＣＰサーバは該測定開始要求に対して、測定機能データベース格納部からの測定状態の応答を受けて応答を返し（７−４）、測定データ（全測定データ）を操作端末（スレーブＰＣ）に転送する（７−５）。
【００７３】
また、操作端末（マスタＰＣ）から測定開始要求が送出され（７−６）、ＴＣＰサーバは該測定開始要求に対して、測定機能データベース格納部からの測定状態の応答を受けて応答を返し（７−７）、測定データ（全測定データ）を操作端末（マスタＰＣ）に転送する（７−８）。測定項目の設定情報は測定機能データベース格納部に保管され、ＴＣＰサーバはその情報に基づいて操作端末（ＰＣ）に測定データを転送する。測定データの振り分けは、測定機能データベース格納部に基づきＴＣＰサーバが選択して転送する。
【００７４】
また、マスタ切り替え時の動作シーケンス例を図８に示す。マスタ切り替えは、マスタソケットで接続された操作端末（マスタＰＣ）が、接続の終了（Ｃｌｏｓｅ）を要求すると自動的に処理される。スレーブＰＣは、切り替え前に自身がマスタに選定された旨の通知を受ける。この後、以前のマスタＰＣの測定項目のみを削除した全測定項目情報を最新のマスタＰＣに転送する。マスタＰＣとなったスレーブＰＣは、その情報を画面に表示し直す。
【００７５】
図８を参照して上記のシーケンス例を詳細に説明する。同図のシーケンス例において、ＴＣＰサーバは、マスタ制御タスク及びスレーブ制御タスクの両方の実行機能を含んでいるものとする。
【００７６】
操作端末（マスタＰＣ）から接続の終了（Ｃｌｏｓｅ）要求が発生する（８−１）。ＴＣＰサーバは、該接続の終了（Ｃｌｏｓｅ）要求の通知を受け取り、ソケット調停管理タスクに対して、ソケット管理番号（識別番号）の削除要求を送る（８−３）。ソケット調停管理タスクで、該ソケット管理番号の削除によるマスタの有無の影響を判定し（８−４）、マスタ無しとなる場合は、他のスレーブをマスタに変更する（８−５）。
【００７７】
ソケット調停管理タスクは、旧マスタソケットの管理番号削除の通知と共に、新マスタソケットの情報をＴＣＰサーバに通知する（８−６）。ＴＣＰサーバは、該通知により測定データの転送を停止し、バッファに蓄積し（又は破棄でも測定データなので問題ない）、旧マスタソケットを削除する（８−７）。
【００７８】
そしてその旨を操作端末（旧マスタＰＣ）に通知し（８−８）、操作端末（旧マスタＰＣ）は該通知に対して応答（Ａｃｋ）を返す。ここまでが操作端末（マスタＰＣ）が接続の終了（Ｃｌｏｓｅ）要求を送信してからの３ウェイハンドシェークの通信である。
【００７９】
また、ＴＣＰサーバは、測定機能データベース格納部に対してマスタ情報の抹消と共に新マスタの情報を通知し（８−９）、測定機能データベース格納部では該通知によりマスタ情報を切り替え（８−１０）、測定機能データベース格納部に対してマスタ変更の応答を返し（８−１０）、マスタ変更を通知する（８−１１）。
【００８０】
ＴＣＰサーバは、マスタに変更された操作端末（スレーブＰＣ１）に対して、スレーブからマスタの変更を通知し（８−１２）、測定機能データベース格納部に格納された全測定項目の情報を、操作端末（スレーブＰＣ１）に転送する（８−１３）。操作端末（スレーブＰＣ１）ではマスタ変更通知を検出すると、全測定項目の設定情報を表示し、操作者はそれを基に測定項目の変更、追加又は削除を実施することができる。マスタ切り替え通知後、すぐに、ＴＣＰサーバから切り替え処理期間に貯めていた測定データを転送する。
【００８１】
図９は測定情報の設定例を示している。同図（ａ）及び（ｂ）に示すように、２つの操作端末（マスタＰＣ及びスレーブＰＣ）がそれぞれ測定項目を要求しているとすると、実際に制御カードから各操作端末（マスタＰＣ及びスレーブＰＣ）に転送される測定データの測定項目を図（ｃ）に示す。
【００８２】
即ち、図９の（ａ）及び（ｂ）に示すそれぞれの測定項目をマージ（併合）した測定項目の測定データを、各操作端末（マスタＰＣ及びスレーブＰＣ）に転送する。各操作端末（マスタＰＣ及びスレーブＰＣ）は自身が要求した測定項目の測定データを取り込む。
【００８３】
図１０は、２つの操作端末（マスタＰＣ及びスレーブＰＣ）が測定開始要求を送出した場合の測定データ報告タイミングを示す。図示の例では、制御カードから各操作端末（マスタＰＣ及びスレーブＰＣ）への測定データ報告周期を１００ｍｓとしている。１００ｍｓの間で配下の被試験カードから測定データを収集する。
【００８４】
即ち、図１０に示すように、操作端末（マスタＰＣ）が５００ｍｓの測定期間に亘る測定データをＴＭのタイミングで要求した場合、該要求後の１００ｍｓの測定周期毎に得られる測定データをそれぞれＴ１，Ｔ２，Ｔ３，Ｔ４，Ｔ５のタイミングで報告する。一方、操作端末（スレーブＰＣ）が３００ｍｓの測定期間に亘る測定データをＴＳのタイミングで要求した場合、該要求後の１００ｍｓの測定周期毎に得られる測定データをそれぞれＴ４，Ｔ５，Ｔ６のタイミングで報告する。
【００８５】
図１０に示すように、既に何らかの測定が開始されている場合に、新たにＴＳのタイミングで測定開始要求をした操作端末（スレーブＰＣ）への測定データの報告は、１周期後の１００ｍｓの報告周期Ｔ４に合わせて報告することとする。
【００８６】
これは、測定開始が厳密に定義されることはなく、測定が可能となった時点で開始すればよいという特性を利用している。無線通信はいつアクセスが発生するか分からないので、測定を行う場合は事前に十分に余裕を持って設定することになるからである。
【図面の簡単な説明】
【００８７】
【図１】本発明による測定／試験システムの接続インタフェースを示す図である。
【図２】本発明の測定／試験システムにおけるアクセス制御の機能部を示す図である。
【図３】ソケットデータベース格納部、測定機能データベース格納部、測定データ格納部及び機能限定規則命令ルーティング格納部を示す図である。
【図４】ソケット調停管理部及びマスタ処理部のタスクフローを示す図である。
【図５】スレーブ処理部のタスクフローを示す図である。
【図６】２つの操作端末（ＰＣ）が制御カードにアクセスしたときの動作シーケンス例を示す図である。
【図７】２つの操作端末（ＰＣ）が制御カードにアクセスしたときの動作シーケンス例を示す図である。
【図８】マスタ切り替え時の動作シーケンス例を示す図である。
【図９】測定情報の設定例を示す図である。
【図１０】２つの操作端末が測定開始要求を送出した場合の測定データ報告タイミングを示す図である。
【図１１】従来の測定／試験システムの接続インタフェースを示す図である。
【符号の説明】
【００８８】
１−１  制御カード
１−２  測定アプリケーションソフトウェア
１−２１  ソケット調停管理部
１−２２  マスタ処理部
１−２３  スレーブ処理部
１−３１  マスタソケット
１−３２，１−３３  スレーブソケット
１−４  ソケットデータベース格納部
１１−４  ＬＡＮインタフェース
１１−５  配下被試験カード
１１−６  ルータ
ＰＣ１，ＰＣ２，ＰＣ３  操作端末
【図１】
0005115208.tif 000002
【図２】
0005115208.tif 000003
【図３】
0005115208.tif 000004
【図４】
0005115208.tif 000005
【図５】
0005115208.tif 000006
【図６】
0005115208.tif 000007
【図７】
0005115208.tif 000008
【図８】
0005115208.tif 000009
【図９】
0005115208.tif 000010
【図１０】
0005115208.tif 000011
【図１１】
0005115208.tif 000012