(57)【要約】    【課題】  通信仲介手段および外部データストレージシステムを含むデータ生成装置からデータを取り出すシステムおよび方法を提供する。    【解決手段】  通信仲介手段（６）は外部データストレージシステム（１０）に接続される第１ネットワークインタフェース（１２）とデータ生成装置に接続される第２ネットワークインタフェース（１４）を有する。通信仲介手段は、データ生成装置と第２ネットワークインタフェースの間のネットワーク通信を外部ストレージシステムと第１ネットワークインタフェースの間のネットワーク通信から分離し、それによってデータ生成装置を外部ストレージシステムから分離する。通信仲介手段は、新たに生成されたデータファイルのためのデータ生成装置を監視して、新たに生成されたデータファイルを内部メモリにコピーして、そのデータファイルを外部ストレージシステムに送る。【選択図】図１
2020524345.tif 000002
【特許請求の範囲】
【請求項１】
データ生成装置からデータを取り出すためのシステムであって、データ生成装置は少なくとも１つのメモリを有し、データ生成装置はデータファイルを生成して少なくとも１つのメモリにストアし、システムは、
少なくとも１つのプロセサ、そのプロセサと電気的に通信する少なくとも１つのメモリ、少なくとも１つの第１ネットワークインタフェースおよび第２ネットワークインタフェースを有する通信仲介手段を備え、第１ネットワークインタフェースおよび第２ネットワークインタフェースはプロセサと電気的に通信し、データ生成装置は第２ネットワークインタフェースとネットワーク通信し、さらに
外部データストレージシステムを備え、外部データストレージシステムは第１ネットワークインタフェースとネットワーク通信し、
通信仲介手段は、データ生成装置と第２ネットワークインタフェースとの間のネットワーク通信を、外部データストレージシステムと第１ネットワークインタフェースとの間のネットワーク通信から分離し、それによってデータ生成装置を外部データストレージシステムから分離する、システム。
【請求項２】
通信仲介手段はシングルボードコンピュータである、請求項１記載のシステム。
【請求項３】
外部データストレージシステムはクラウドベースのストレージシステムである、請求項１記載のシステム。
【請求項４】
リムーバブルメモリストレージ装置をさらに備え、リムーバルメモリストレージ装置は、その中にある少なくとも１つのメモリを有し、システム構成情報がそのリムーバルメモリストレージ装置のメモリにストアされていて、
通信仲介手段は、リムーバルメモリストレージ装置レセプタクル（receptacle）をさらに備え、リムーバルメモリストレージ装置レセプタクルはプロセサと電気的に通信し、リムーバルメモリストレージ装置レセプタクルはリムーバルメモリストレージ装置を受容してそれと電気的に通信し、そして
リムーバルメモリストレージ装置のメモリにストアされている構成情報は通信仲介手段へ転送可能である、請求項１記載のシステム。
【請求項５】
外部コントロールサーバをさらに備え、外部コントロールサーバは通信仲介手段の第１ネットワークインタフェースとネットワーク通信している、請求項１記載のシステム。
【請求項６】
第１ネットワークインタフェースはイーサネットポートおよびＵＳＢポートの少なくとも一方であり、第２ネットワークインタフェースはイーサネットポートおよびＵＳＢポートの少なくとも一方である、請求項１記載のシステム。
【請求項７】
複数のデータ生成装置からデータを取り出すシステムであって、複数のデータ生成装置の各々は少なくとも１つのメモリを有し、複数のデータ生成装置の各々はデータファイルを生成してそれぞれのデータ生成装置のメモリにストアし、システムは、
複数の通信仲介手段を備え、複数の通信仲介手段の各々は少なくとも１つのプロセサ、そのプロセサと電気的に通信する少なくとも１つのメモリ、少なくとも１つの第１ネットワークインタフェースおよび第２ネットワークインタフェースを有し、第１ネットワークインタフェースおよび第２ネットワークインタフェースはプロセサと電気的に通信し、データ生成装置の各々は通信仲介手段のそれぞれのものの第２ネットワークインタフェースとネットワーク通信し、さらに
外部データストレージシステムを備え、外部データストレージシステムは通信仲介手段の各々の第１ネットワークインタフェースとネットワーク通信し、
外部コントロールサーバをさらに備え、外部コントロールサーバは通信仲介手段の各々の第１ネットワークインタフェースとネットワーク通信し、
各通信仲介手段は、通信仲介手段のそれぞれのデータ生成装置と通信仲介手段の第２ネットワークインタフェースとの間のネットワーク通信を、外部データストレージシステムと通信仲介手段の第１ネットワークインタフェースとの間のネットワーク通信から分離し、それによって通信仲介手段のそれぞれのデータ生成装置を外部データストレージシステムから分離する、システム。
【請求項８】
データ生成装置からデータを取り出すための方法であって、データ生成装置は少なくとも１つのメモリを有し、データ生成装置はデータファイルを生成して少なくとも１つのメモリにストアし、方法は通信仲介手段を備えるシステムによって実行され、通信仲介手段は、少なくとも１つのプロセサ、そのプロセサと電気的に通信する少なくとも１つのメモリ、少なくとも１つの第１ネットワークインタフェースおよび第２ネットワークインタフェースを有し、第１ネットワークインタフェースおよび第２ネットワークインタフェースはプロセサと電気的に通信し、データ生成装置は第２ネットワークインタフェースとネットワーク通信し、システムは、さらに外部データストレージシステムを備え、外部データストレージシステムは第１ネットワークインタフェースとネットワーク通信し、通信仲介手段は、データ生成装置と第２ネットワークインタフェースとの間のネットワーク通信を、外部データストレージシステムと第１ネットワークインタフェースとの間のネットワーク通信から分離し、それによってデータ生成装置を外部データストレージシステムから分離し、方法は、
通信仲介手段をデータ生成装置と外部データストレージシステムとの間に接続するステップ、
通信仲介手段を、新しいデータファイルの生成のためにデータ生成装置を監視するように構成するステップ、
新しいデータファイルの生成のために、通信仲介手段によって、データ生成装置を監視するステップ、
通信仲介手段によって、新しいデータファイルがデータ生成装置によって生成されたかどうか判断するステップ、
データ生成装置によって生成された新しいデータファイルを通信仲介手段上にコピーするステップ、および
データ生成装置によって生成された新しいデータファイルのコピーを外部データストレージシステムに送るステップを含む、方法。
【請求項９】
システムはリムーバブルメモリストレージ装置を含み、リムーバルメモリストレージ装置は、システム構成情報がストアされた少なくとも１つのメモリを有し、通信仲介手段は、リムーバルメモリストレージ装置レセプタクルを含み、リムーバルメモリストレージ装置レセプタクルは通信仲介手段のプロセサと電気的に通信し、リムーバルメモリストレージ装置レセプタクルはリムーバルメモリストレージ装置を受容してそれと電気的に通信し、そして
通信仲介手段を、新しいデータファイルの生成のためにデータ生成装置を監視するように構成するステップは、
リムーバブルメモリストレージ装置をレセプタクルへ装着するサブステップ（sub-step）、および
リムーバブルメモリストレージ装置からの構成情報を通信仲介手段にローディングするサブステップを含む、請求項８記載の方法。
【請求項１０】
データ生成装置のメモリは生成されたデータファイルがストアされる少なくとも１つのディレクトリを含み、新しいデータファイルの生成のためにデータ生成装置を監視するステップは、
データファイルがストアされるデータ生成装置のディレクトリを通信仲介手段へマウントするサブステップを含む、請求項８記載の方法。
【請求項１１】
データ生成装置によって生成される新しいデータファイルが完了したかどうかを判断するステップをさらに含む、請求項８記載の方法。
【請求項１２】
新しいデータファイルが完了したかどうかを判断するステップは、
新しいデータファイルのサイズを確認するサブステップ、および
新しいデータファイルのサイズの変化が止まったかどうか判断するサブステップを含む、請求項１１記載の方法。
【請求項１３】
通信仲介手段は、ダイナミックホストコンフィギュレーションプロトコル（ＤＨＣＰ）サーバを含み、さらに
ＤＨＣＰサーバを起動するステップ、および
ＤＨＣＰサーバでデータ生成装置にインターネットプロトコルアドレスを割り当てるステップを含む、請求項８記載の方法。
【請求項１４】
通信仲介手段が、データ生成装置によって生成された新しいデータファイルのコピーを外部データストレージシステムに送っていないとき外部データストレージシステムと通信仲介手段との間の接続を無効にするステップをさらに含む、請求項８記載の方法。
【請求項１５】
通信仲介手段は、新しいデータファイルの生成のためにデータ生成装置を監視するステップで、サーバメッセージブロック（ＳＭＢ）プロトコルを利用する、請求項８記載の方法。
【請求項１６】
通信仲介手段によってコピーされた新しいデータファイルをデータ生成装置のメモリに保管するステップをさらに含む、請求項８記載の方法。
【請求項１７】
複数のデータ生成装置からデータを取り出すための方法であって、複数のデータ生成装置の各データ生成装置は少なくとも１つのメモリを有し、データ生成装置の各々はデータファイルを生成してデータ生成装置のメモリにストアし、方法は複数の通信仲介手段を備えるシステムによって実行され、通信仲介手段の各々は、少なくとも１つのプロセサ、そのプロセサと電気的に通信する少なくとも１つのメモリ、少なくとも１つの第１ネットワークインタフェースおよび第２ネットワークインタフェースを有し、第１ネットワークインタフェースおよび第２ネットワークインタフェースはプロセサと電気的に通信し、データ生成装置の各々は通信仲介手段のそれぞれのものの第２ネットワークインタフェースとネットワーク通信し、システムは、さらに外部データストレージシステムを備え、外部データストレージシステムは通信仲介手段の各々の第１ネットワークインタフェースとネットワーク通信し、さらに外部コントロールサーバを備え、外部コントロールサーバは通信仲介手段の各々の第１ネットワークインタフェースとネットワーク通信し、各通信仲介手段は、通信仲介手段のそれぞれのデータ生成装置と通信仲介手段の第２ネットワークインタフェースとの間のネットワーク通信を、外部データストレージシステムと通信仲介手段の第１ネットワークインタフェースとの間のネットワーク通信から分離し、それによって通信仲介手段のそれぞれのデータ生成装置を外部データストレージシステムから分離し、方法は、
各通信仲介手段をデータ生成装置の１つと外部データストレージシステムとの間に接続するステップ、
各通信仲介手段を、新しいデータファイルの生成ために通信仲介手段のそれぞれのデータ生成装置を監視するように構成するステップ、
新しいデータファイルの生成のために各データ生成装置のそれぞれの通信仲介手段によってデータ生成装置を監視するステップ、
各通信仲介手段によって、各通信仲介手段のそれぞれのデータ生成装置によって新しいデータファイルが生成されたかどうか判断するステップ、
各データ生成装置によって生成された新しいデータファイルをデータ生成装置のそれぞれの通信仲介手段上にコピーするステップ、および
各データ生成装置によって生成された新しいデータファイルのコピーをデータ生成装置のそれぞれの通信仲介手段から外部データストレージシステムに送るステップを含む、方法。
【請求項１８】
システムは複数のリムーバルメモリストレージ装置を含み、リムーバルメモリストレージ装置の各々はシステム構成情報がストアされる少なくとも１つのメモリを有し、通信仲介手段の各々はリムーバルメモリストレージ装置レセプタクルを含み、リムーバルメモリストレージ装置レセプタクルの各々はそれぞれの通信仲介手段のプロセサと電気的に通信し、リムーバルメモリストレージ装置レセプタクルの各々はリムーバルメモリストレージ装置の１つを受容してそれと電気的に通信し、
各通信仲介手段を、新しいデータファイルの生成ために通信仲介手段のそれぞれのデータ生成装置を監視するように構成するステップは、
リムーバブルメモリストレージ装置をそれぞれの通信仲介手段のレセプタクルに挿入するサブステップ、および
リムーバブルメモリストレージ装置の各々からの構成情報をそれぞれの通信仲介手段にローディングするサブステップを含む、請求項１７記載の方法。
【請求項１９】
データ生成装置の各々のメモリは生成されたデータファイルがストアされる少なくとも１つのディレクトリを含み、新しいデータファイルの生成のためにデータ生成装置を監視するステップは、
データファイルがストアされる各データ生成装置のディレクトリをデータ生成装置のそれぞれの通信仲介手段へマウントするサブステップを含む、請求項１８記載の方法。
【請求項２０】
複数のデータ生成装置からデータを取り出すためのシステムを監視し制御する方法であって、複数のデータ生成装置の各データ生成装置は少なくとも１つのメモリを有し、データ生成装置の各々はデータファイルを生成してそのデータファイルをデータ生成装置のメモリにストアし、方法は、複数の通信仲介手段を備えるシステムによって実行され、通信仲介手段の各々は少なくとも１つのプロセサ、プロセサと電気的に通信する少なくとも１つのメモリ、少なくとも１つの第１ネットワークインタフェースおよび第２ネットワークインタフェースを有し、第１ネットワークインタフェースおよび第２ネットワークインタフェースはプロセサと電気的に通信し、データ生成装置の各々はそれぞれの通信仲介手段の第２ネットワークインタフェースとネットワーク通信し、システムは、さらに外部データストレージシステムを備え、外部データストレージシステムは通信仲介手段の各々の第１ネットワークインタフェースとネットワーク通信し、システムは外部コントロールサーバをさらに備え、外部コントロールサーバは通信仲介手段の各々の第１ネットワークインタフェースとネットワーク通信し、各通信仲介手段は、通信仲介手段のそれぞれのデータ生成装置と通信仲介手段の第２ネットワークインタフェースとの間のネットワーク通信を、外部データストレージシステムと通信仲介手段の第１ネットワークインタフェースとの間のネットワーク通信から分離し、それによって通信仲介手段のそれぞれのデータ生成装置を外部データストレージシステムから分離し、
外部コントロールサーバは少なくとも１つのユーザインタフェースおよびユーザによる外部コントロールサーバの動作を助けるリモート接続を有し、方法は
ユーザインタフェースおよびリモート接続の少なくとも一方を使用して、外部コントロールサーバに接続して操作するステップ、および
ステータス照会コマンド、システムコマンドおよび外部コントロールサーバからのソフトウエアのアップデートの少なくとも１つを、通信仲介手段の少なくとも1つへ送るステップを含む、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は一般的には、テストシステムから外部ストレージ装置へデータを転送するための装置および方法に関し、より特定的には、ネットワーク化されておらず分離されたシステム（non-networked, isolated systems）から、ネットワーク化されたシステム（networked systems）へデータを転送するためのシステムおよび方法に関する。
【背景技術】
【０００２】
セキュリティ上の懸念のために、診断アナライザのようなテストシステム（test system：検査システムないし試験システム）は、通常、ネットワーク化されない（すなわち、外部ネットワークあるいはインターネットには接続されない）。より具体的には、悪意のあるコード（たとえば、マルウェアやウイルスなど）に対するテストシステムの脆弱性を制限する最も簡単な方法の１つは、テストシステムへのネットワーク／インターネット接続を排除することである。ネットワーク化された（つまり、外部ネットワークへ接続されているか、インターネット接続を有する）テストシステムのプラットフォームでは、通常、悪意のあるコードの侵入リスクを部分的に軽減するために、システムでウィルス対策ソフトを実行する必要がある。悪意のあるコードは進化を続けており、それに応じて、ウィルス対策ソフトは非常に複雑になり、多くの場合、動作にかなりのシステムリソースと定期的なアップデートが必要になる。したがって、テストシステムのパフォーマンスはウィルス対策ソフトの動作によって影響され得る。
【０００３】
テストシステムへのネットワーク／インターネット接続を排除すると、悪意のあるコードに対するテストシステムの脆弱性は確実に軽減されるが、システムの効率化を促進する重要なシステムツールの使用も禁止される。たとえば、ソフトウエアを動作させるテストシステムはリモートで（つまり、リモート接続を介して）フップデートすることはできないため、個々のテストシステムへ接続するためには、技術者またはオペレータが物理的に現場にいなければない。さらに、各テストシステムによって生成されたデータは、サーバあるいはクラウドベースのストレージシステムのような、リモート装置に送信されない。さらに、テストシステムのステータスとパフォーマンスをリモートで監視することはできない。したがって、テストシステムを保守し運用することは時間がかかって、そして非能率的である。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
この発明の目的は、悪意のあるコードに対する装置の脆弱性を制限するデータ生成装置（data generating device）からデータを取り出すシステムを提供することである。
【０００５】
この発明の他の目的は、悪意のあるコードに対する装置の脆弱性を制限するデータ生成装置からデータを取り出す方法を提供することである。
【０００６】
この発明の別の目的は、装置にウィルス対策ソフトをインストールして運用する必要性を排除する、データ生成装置からデータを取り出す方法およびシステムを提供することである。
【課題を解決するための手段】
【０００７】
この発明の一実施例では、少なくとも１つのデータ生成装置からデータを取り出すシステムを提供する。システムは、少なくとも１つのデータ生成装置と外部データストレージシステム（external data storage system）を相互接続する通信仲介手段（communication intermediary）を含む。通信仲介手段は、第１ネットワークインタフェースおよび第２ネットワークインタフェースを含み、データ生成装置は第２ネットワークインタフェースとネットワーク通信し、外部データストレージシステムは第１ネットワークインタフェースとネットワーク通信する。通信仲介手段はデータ生成装置と第２ネットワークインタフェースの間のネットワーク通信を外部データストレージシステムと第１ネットワークインタフェースの間のネットワーク通信から分離し、それによってデータ生成装置を外部データストレージシステムから分離する。システムはさらに通信仲介手段を監視し、制御する１つのユーザインタフェースを持つ外部コントロールサーバ（external control server）を含んでもよい。
【０００８】
この発明の他の実施例では、システムは複数のデータ生成装置からデータを取り出してもよく、複数の通信仲介手段を含み、各通信仲介手段はそれぞれのデータ生成装置と外部データストレージシステムを相互接続する。あるいは、１つの通信仲介手段が複数のデータ生成装置を相互接続してもよい。システムはまた、複数の通信仲介手段を監視し、制御する１つのユーザインタフェースを有する外部コントロールサーバを含む。
【０００９】
先に説明したように、悪意のあるコードに対する装置の脆弱性を制限するデータ生成装置からデータを取り出す方法もまた開示される。この方法は、データ生成装置と外部データストレージシステムとの間に通信仲介手段を接続するステップ、通信仲介手段を新しく生成されるデータファイルについてデータ生成装置を監視するように構成するステップ、新しいデータファイルの生成についてデータ生成装置を監視するステップ、およびデータ生成装置が新しいデータファイルを生成したかどうかを判断するステップを含む。そして、この発明の方法によれば、通信仲介手段は、新しいデータファイルの検出に応答して、その新しいデータファイルを複製してそれを外部データストレージシステムに送る。
【００１０】
この発明のこれらの目的および他の目的、特徴および利点は、添付の図面に関連して読まれるべき、例示的な実施形態の以下の詳細な説明から明らかになるであろう。
【図面の簡単な説明】
【００１１】
【図１】図１は、データ生成装置からデータを取り出す、この発明の実施例のシステムの概略構成を示すブロック図である。
【図２】図２は、この実施例のブロック図であり、さらなる構成要素を示す。
【図３】図３は、複数の通信仲介手段を利用することによって複数のデータ生成装置からデータを取り出す、この発明の実施例のシステムの概略構成を示すブロック図である。
【図４】図４は、データ生成装置からデータを取り出す、この発明の実施例に従ったシステムおよび方法のシーケンス図（すなわち、ブロック図と動作フローチャートの組み合わせ）であり、システムのインストールを示す。
【図５】図５は、データ生成装置からデータを取り出す、この発明の実施例に従ったシステムおよび方法のシーケンス図（すなわち、ブロック図と動作フローチャートの組み合わせ）であり、システムの起動を示す。
【図６】図６は、データ生成装置からデータを取り出す、この発明の実施例に従ったシステムおよび方法のシーケンス図（すなわち、ブロック図と動作フローチャートの組み合わせ）であり、新しいデータファイルの検出に続く方法を示す。
【図７】図７は、データ生成装置からデータを取り出す、この発明の実施例のシステムの動作を示すフローチャートである。
【図８】図８は、例示的な構成ファイルを示すコードの抜粋である。
【発明を実施するための形態】
【００１２】
最初に図１および図２を参照して、この発明の実施例に従って構成される、データ生成装置４からデータを取り出すためのシステム２は、通信仲介手段６を含み、その通信仲介手段は、データ生成装置４、外部コントロールサーバ８、および外部データストレージシステム１０と通信し、外部データストレージシステム１０は図１および図２ではクラウドとして示される。通信仲介手段６は、好ましくは、少なくとも１つのプロセサ４６、プロセサ４６と電気的に通信する少なくとも１つのメモリ４８、少なくとも１つの第１ネットワークインタフェース１２および第２ネットワークインタフェース１４を含み、第１ネットワークインタフェース１２と第２ネットワークインタフェース１４は、プロセサ４６と電気的に通信する。ネットワークインタフェース１２および１４は、通信仲介手段６と、データ生成装置４の各々、外部コントロールサーバ８および外部データストレージシステム１０との間の通信を助け、そして各々は、イーサネット（Ethernet）（登録商標）ポート、アダプタ、またはそれらの組み合わせとして構成されてもよい。第１ネットワークインタフェース１２と、外部コントロールサーバ８および外部データストレージシステム１０の各々との間の通信は、それぞれ、たとえば、第１イーサネット経路１１および第２イーサネット経路９によって達成され得る。同じように、第２ネットワークインタフェース１４と、データ生成装置４との間の通信は、たとえば、第３イーサネット経路７によって達成され得る。システムはまた、専用の電源３を備え、その電源は通信仲介手段６と電気的に通信する。
【００１３】
この発明の好ましい実施例では、第１ネットワークインタフェース１２と第２ネットワークインタフェース１４はイーサネットポートとして構成されるが、１またはそれ以上の第１ネットワークインタフェース１２および第２ネットワークインタフェース１４は、ＵＳＢ（universal serial bus）ポートとして構成されてもよい。さらに、通信仲介手段６は、好ましくは、BeagleBone Black（ビーグルボーンブラック）（商標）またはRaspberryPI（ラズベリーパイ）（商標）のような、シングルボードコンピュータ（「ＳＢＣ」）として構成される。さらに、外部データストレージシステム１０は、好ましくは、外部クラウドストレージシステムとして構成される。第１ネットワークインタフェース１２は、外部コントロールサーバ８および外部クラウドストレージシステム１０を備えるネットワーク化されたシステム（「ネットワーク化システム」と呼ぶことがある。）と通信し、第２ネットワークインタフェース１４は、データ生成装置４を備えるネットワーク化されていないシステム（「非ネットワーク化システム」と呼ぶことがある。）と通信する。イーサネットケーブルは、たとえば第１ネットワークインタフェース１２をネットワーク化システムへ接続し、ＵＳＢ‐イーサネットケーブルアダプタ（もしくはイーサネットケーブルだけ）は、第２ネットワークインタフェース１４を非ネットワーク化システムへ接続する。次の段落で説明するように、非ネットワーク化システムがネットワーク化システムとの通信手段を持たないように、ＳＢＣ６は非ネットワーク化システムをネットワーク化システムから分離する。外部コントロールサーバ８および外部クラウドストレージシステム１０を備えるネットワーク化システムからの、データ生成装置４を備える非ネットワークシステムの分離は、データ生成装置４のセキュリティおよびパフォーマンスを強化する。
【００１４】
テストシステム（test system）、ターゲットシステム（target system）またはテスト装置（test fixture）とも呼ばれるデータ生成装置４は、動作中、規定に従って（routinely）、データファイルを生成する。データファイルはテストシステム４内にあるメモリ４４内のディレクトリにストアされてもよいが、データファイルの特定のストレージがサーバメッセージブロック（「ＳＭＢ」）プロトコルによって取り扱われる。テストシステム４は、特定の資格情報が提供された場合、メモリ４４のディレクトリにストアされたデータファイルをＳＢＣ６と共有するように構成可能である。データファイルが配置されているテストシステム４のディレクトリのアドレスは、ＳＢＣ６のメモリ４８にロードされる構成ファイル１６（図８を参照）にストアされる。より詳しく説明すれば、ＳＢＣ６はテストシステムのディレクトリとその中のファイルを監視し、新しい試験ファイル（test file）が生成されると、ＳＢＣ６が外部クラウドストレージシステム１０へそのデータファイルを送れるように、テストシステム４とＳＢＣ６との間のファイル転送プロトコルが開始される。構成ファイルの資格情報はファイル転送プロトコルのためである。新しいファイルを検出すると、システム２は資格情報を使用してクラウドで認証する。ＳＢＣ６とテストシステム４の間の資格情報は、ディレクトリを公開するときのシステム２の初期インストールの間およびディレクトリをマウントする（mount）ときのシステムブートでのみ必要とされる。
【００１５】
この発明の好ましい実施例では、ＳＢＣ６はマイクロＳＤカードあるいはフラッシュドライブのような、リムーバルメモリストレージ装置２０を受容することができる追加の通信ポート１８（レセプタクル）を含む。リムーバルメモリストレージ装置２０は、ＳＢＣ６のメモリ４８にロードされる構成ファイル１６をリムーバルメモリストレージ装置２０内にある内部メモリまたはストレージ５４にストアする。先に述べたように、構成ファイル１６は、データファイルがストアされたテストシステム４内のディレクトリのアドレス（つまり、ディレクトリパス）およびクラウドにデータファイルをアップロードするのに要する資格情報のような情報を含む。次の段落でさらに説明するように、構成ファイル１６は、ＳＢＣ６が新しいファイルのためのテストシステム４のディレクトリをポーリングする頻度のような、ＳＢＣ６の動作に関連する構成情報を含んでもよい。ＳＢＣ６が開始されるとき、リムーバルメモリストレージ装置２０にストアされた構成ファイル１６がＳＢＣ６のメモリ４８にロードされ、そして構成ファイル１６の内容がＳＢＣ６上で実行されるプログラムロジックに挿入される。
【００１６】
例示的な構成ファイル１６が図８に示される。構成ファイル１６は多様なフォーマットであり得るが、図８で示される例示的な構成ファイル１６はＪａｖａ（登録商標）スクリプトオブジェクト表記法（「ＪＳＯＮ」）のフォーマットのものである。各キー（たとえば、「dirMonitor」）は値（たとえば、「DIR_MONITOR」）に関連付けられている。図８に示す例示的な構成ファイル１６において使用されている種々の記述は以下のように特定されている。
【００１７】
dirMonotor：新しいデータを監視するためのターゲットシステム４上の１またはそれ以上のディレクトリ。これらのディレクトリはターゲットシステム４上で公開され、ＳＢＣ６上にマウントされるべきパスである。ターゲットシステム４は、これらのディレクトリに新しいデータを書き込む。
【００１８】
dirArchive：ファイルがクラウド１０にアップロードされた後に移動するターゲットシステム４上のディレクトリ。このディレクトリはターゲットシステム４上で公開され、ＳＢＣ６上にマウントされるべきパスである。ビジネス上の制約により必要に応じて、ファイルを移動せず保管（archive）しないことはオプションである。
【００１９】
ignoreInitial：システム２の最初の起動時に、監視されるディレクトリに存在するファイルをアップロードする必要があるかどうかを示すブール（boolean）フラグ。このフラグが真（true）にセットされると、監視されるディレクトリのファイルがアップロードされ、指定どおりに保管される。これは、ＳＢＣ６がしばらくオフされていて、起動時に見逃していたファイルをダンプ（dump）する必要がある場合に役立つ。
【００２０】
ignored：どのファイルが無視されるべきかを示す一群の式。たとえば、ターゲットシステム４がテキストファイル（.txt）およびコンマ区切りファイル（comma-delimited files）（.csv）を生成する場合、「*.txt」の式はＣＳＶファイルのみをアップロードする。
【００２１】
usePolling：ＳＢＣ６がポーリングを使用して新しいデータファイルを監視すべきであることを示すフラグ。真値（true value）は、新しい情報をポーリングすることを示し、偽値（false value）は、新しいファイルの生成を通知することがサーバメッセージブロック（「ＳＭＢ」）プロトコルに依存することを示す。
【００２２】
interval：ポーリングの頻度を示すミリ秒オーダーの時間。この例では、ＳＢＣ６は１０秒毎に新しいファイルを調べる。この値は、ポーリングが有効な場合にのみ使用される。
【００２３】
stabilityThreshold：ＳＢＣ６が、ファイルを検出してからアップロードするまで待機するミリ秒オーダーの時間。ファイルを生成するには複数の部分があるため、これは重要だ。最初の部分はファイルの作成である。この時点では、ファイルサイズは実質的にはゼロである。次に、システム２はファイルへ書き込む。ファイルの全内容が書き込まれる前に、複数の書き込みが発生する場合がある。もし、ポーリングがファイルが作成されたときに発生したが、データが完全にファイルに書き込まれる前であれば、ＳＢＣ６は空のファイルまたは部分的な／破損したファイルをアップロードできた。ポーリングの間中、ファイルサイズがチェックされる。この値によって指定される時間の経過後、ファイルサイズが再度チェックされる。もしサイズが変わっていなければ、ファイルはアップロードされるが、さもなければ、変化がないことが検出されるまで、待機を繰り返す。たとえば、新しいファイルが検出された後、ファイルの全内容が１０秒以内に書き込まれたものと想定した場合、２秒以内にアップロードされる。
【００２４】
pollInterval：ファイルサイズの変化をチェックするミリ秒オーダーのポーリングする時間。
【００２５】
depth：監視するサブディレクトリの層数を示す。ゼロのサイズは、監視されるディレクトリ内のファイルのみがアップロードされ、監視さるディレクトリのサブディレクトリで生成されたファイルは無視されることを示す。
【００２６】
destination：ファイルを外部クラウドストレージシステム１０へアップロードするためのパスであり、セキュアファイル転送プロトコル（「ＳＦＴＰ」）サーバであってよい。
【００２７】
username：認証に使用するユーザ名。
【００２８】
password：認証に使用するパスワード。
【００２９】
host：ＳＦＴＰサーバ１０のロケーション。
【００３０】
autoConfirm：ＳＢＣ６がホスト接続の指紋（fingerprint）を自動的に受け入れるべきであることを示す。真値は確認が受け入れられることを示す。
【００３１】
protocol：ファイルをアップロードするときに使用するプロトコルを示す。
【００３２】
port：ＳＦＴＰサーバ１０へ接続するためのポート。
【００３３】
ＳＢＣ６の電源を入れてプログラムを起動する都度、これらの構成がロードされる。一部の構成にファイルやその他の固有の設定をアップロードするための資格情報を含むため、ＳＢＣ６毎の構成は、若干変わる場合がある。ＳＢＣ６はすべて同じである。したがって、ＳＢＣ６はマイクロＳＤカードを古いＳＢＣ６から新しいものに移すだけで置き換えられる。
【００３４】
ターゲットシステムのＩＰアドレスやＳＢＣのＩＰアドレスのような、リムーバブルメモリストレージ装置２０にストアされていない他の構成パラメータはインストール中に設定される。ターゲットシステムのＩＰアドレスはＳＢＣ６がターゲットシステム４（テストシステムまたは検査設備）に与えるＩＰアドレスである。この値は、ＳＢＣ６がインストールされているときに確立され、一般には、たとえば１９２．１６８．２２２．５０である。この一貫性を保つと、管理が少し簡単になるが、環境と競合する場合は変更できる。このアドレスは、監視されるディレクトリをマウントするために必要である。ＳＢＣのＩＰアドレスはターゲットシステム４へ接続するＳＢＣ６の第２ネットワークインタフェース１４のためのＩＰアドレスである。この値は、ＳＢＣ６がインストールされているときに確立され、一般には、たとえば１９２．１６８．２２２．１である。この値は、システムのコンポーネントによって明示的に使用されることはないが、デバッグのセットアップ中に役立つ。
【００３５】
システム２の好ましいインストールおよび起動手順が図４および図５のブロック図と動作フローチャートの組み合わせにそれぞれ示される。テストシステム４上のディレクトリはディレクトリをマウントするためにＳＢＣ６に公開しなければならず、ＳＢＣ６がディレクトリをマウントしたままにするためにこの公開を維持する必要があることに注意されたい。サーバ８とＳＢＣ６の間の登録プロセスは、好ましくは、インストール中に行なわれる。登録プロセスとディレクトリのマウントは独立しており、どちらの順序でも実行できるが、一貫性のために、好ましくは登録プロセスを最後に実行する。
【００３６】
ＳＢＣ６はダイナミックホストコンフィギュレーションプロトコル（ＤＨＣＰ）サーバとして動作し、そしてテストシステム４にＩＰアドレスを提供する。より具体的には、ＳＢＣ６はリナックス（Linux）（登録商標）のバージョンを実行する。ＤＨＣＰパッケージを使用して、これを処理する。ＳＭＢパッケージがまた、好ましくは、ディレクトリのマウントを処理するのに使用される。この発明の実施例に従って形成されたシステム２の動作フローチャートを示す図７を参照して、ＳＢＣ６が、テストシステム４が第２ネットワークインタフェース１４へ接続されたことを検出すると、ＳＢＣ６はＤＨＣＰサーバを起動し（ステップ２２）、そのテストシステム４にＩＰアドレスを生成して割り当てる（ステップ２４）。ＳＢＣ６が既知の分離したＩＰアドレスをテストシステム４に提供した後、ＳＢＣ６は構成ファイル１６で指定された資格情報とディレクトリパスを使用して、テストシステム４からのディレクトリをＳＢＣにマウントする（ステップ２５）。このステップ（ステップ２５）、ターゲットシステムからのディレクトリをＳＢＣにマウントする（MOUNT DIRECTRIES FROM TARGET SYSTEM ONTO SBC）は、アプリケーションレベルではなく、システムレベルで行なわれる。このステップ、およびそれの前のステップは、好ましくは、インストールフェーズの間に技術者によって手動で実行されるため、これらのステップは１度だけ行われる。さらに、これらのディレクトリをマウントすることはＳＢＣ６上でフォルダを作成する。構成ファイルはテスト設備４上のディレクトリではなく、これらのローカルなディレクトリを参照する。それに応答して、テストシステム４はＳＭＢプロトコルによってその中のディレクトリとデータファイルを公開し、ディレクトリはＳＢＣ６でミラーリングされる。ＳＢＣ６は新しいデータファイルの生成のために、ＳＭＢプロトコルを使って、ディレクトリを監視する（ステップ２６）。
【００３７】
ＳＢＣ６は様々な方法で新しいデータについてディレクトリを監視できる。新しいデータファイルが生成されたことを判断する１つの例示的な方法が、図７の動作のフローチャートに示される。概説すると、ＳＢＣ６は、構成ファイル１６に指定されているように、特定の頻度ないし周期（たとえば、１０秒毎に）で、データ生成装置４のディレクトリをポーリングする（ステップ２６）。新しいデータファイルが検出される（ステップ２８）と、ＳＢＣ６はテストシステム４が新しいデータファイルを書き終えたかどうか判断する。より具体的には、ＳＢＣ６は周期的に（たとえば、２秒毎に）新しいデータファイルのサイズを監視して（ステップ３０‐３４）、ファイルサイズが変化しなかったかどうか判断する（ステップ３６）。もし、ファイルサイズが変化していれば、ＳＢＣ６は次の周期（たとえば、２秒）の後、再度チェックする。ＳＢＣ６がファイルサイズに変化がなかったことを判断すると、そのことはテストシステム４による新しいデータファイルの生成が完了したということであり、ＳＢＣ６は、外部クラウドストレージシステム１０と通信する第１ネットワークインタフェース１２へ接続し（ステップ３８）、データファイルのコピーをそこへ送る（ステップ４０）。
【００３８】
詳しく言うと、外部クラウドストレージシステム１０は、好ましくは、セキュアファイル転送プロトコル（「ＳＦＴＰ」）サーバとして構成されるが、外部クラウドストレージシステム１０は、また、ＳＴＰサーバ、アマゾン（Amazon：商標）ファイルストレージサーバまたは任意の種類の外部ストレージサーバとして構成されてもよい。例示的な構成ファイル１６の内容について先に説明したように、外部クラウドストレージシステム１０のロケーション、外部クラウドストレージシステム１０へファイルをアップロードするためのパス（すなわち、ディレクトリ）およびＳＦＴＰサーバへアクセスするのに必要な資格情報は、リムーバルメモリストレージ装置２０上の構成ファイル１６にストアされている。ＳＦＴＰサーバ１０へ接続するために、ＳＢＣのプログラムロジックは、構成ファイル１６で指定された必要な資格情報を通信する。ＳＢＣ６は、ついで、構成ファイル１６で指定されたディレクトリのＳＦＴＰサーバに、データファイルのコピーを書き込む。
【００３９】
新しいデータファイルがＳＦＴＰサーバ１０へ書き込まれた後、テストシステム４は、オプションとして、データファイルを保管ディレクトリへ移動する（ステップ４２）。その後、ＳＢＣ６は、新しいファイルのためのテストシステム４の監視（ステップ２６）に戻り、そして任意の新しいデータファイルをＳＦＴＰサーバ１０へ繰り返し書き込む（ステップ４０）。
【００４０】
追加的なセキュリティのために、ＳＢＣ６は、データファイルを送信する準備ができるまで、第１ネットワークインタフェース１２とネットワーク化システムとの間の接続を無効にするように構成できる。したがって、ＳＢＣ６は、データ送信フェーズの間だけ、ネットワーク化される。しかしながら、悪意のあるものでも良性のものでも、ネットワークツールは、このようなアイドル時間中にＳＢＣ６を検出することはできない。新しいファイルをアップロードする準備ができると、クラウド９への接続が作成される（認証とともに）。アップロードした後、接続は終了する（つまり、各ファイルが新しい接続を作成する）。
【００４１】
外部コントロールサーバ８はＳＢＣ６を追跡し監視するように構成される。ＳＢＣ６は自身を自動的に外部コントロールサーバ８に登録する。登録プロセスは、サーバ８とＳＢＣ６との間の通信を認証し、サーバ８が、ＳＢＣ６で実行されるべきコマンドを送信できるようにする。この認証は、初期インストールプロセス中に行われ、全ての装置（ＳＢＣ６）が正当であることを保証する。このことが、ＳＢＣ６のリモートアクセスおよびコントロールを可能にする。外部コントロールサーバ８は任意の登録されたＳＢＣ６のステータスを報告できる。この機能は、ＳＢＣ６が第１ネットワークインタフェース１２をオフしないことを要する。外部コントロールサーバ８はさらに、ユーザがリモートで外部コントロールサーバ８に接続することを可能にするリモート接続５２を含む。さらに、外部コントロールサーバ８はまた、ユーザ操作を支援するユーザインタフェース５０を含む。
【００４２】
この発明のさらに他の実施例では、外部コントロールサーバ８は複数のＳＢＣ６と複数のテストシステム４をコントロールするように構成されてもよい。詳しくいうと、図３に示すように、複数のＳＢＣ６が各ＳＢＣの第１ネットワークインタフェース１２を通して外部コントロールサーバ８に接続される。各ＳＢＣ６の第２ネットワークインタフェース１４はそれぞれのテストシステム４と通信する。外部コントロールサーバ８は、ユーザが外部コントロールサーバ８へログインして各個別のＳＢＣ６を制御できるように、全てのＳＢＣ６のためのダッシュボード（dashboard）として動作するように構成される。たとえば、外部コントロールサーバ８は１つまたは複数のＳＢＣ６へ再起動（reboot）するように指示することができる。同じように、外部コントロールサーバ８は１またはそれ以上のＳＢＣ６にそれらの動作ソフトウエア（operating software）をアップグレードするように指示でき、そしてそれ故に、全てのＳＢＣ６へのソフトウエアの一括インストールを実行できる。さらに、外部コントロールサーバ８は、オペレータが非動作中のＳＢＣ６を検出および照会できるように、１つまたはそれ以上のＳＢＣ６に命令してＳＢＣ６の動作状態のアップデートを与えることができる。先の実施例のように、各ＳＢＣ６は、外部クラウドストレージシステム１０へデータファイルを通信し続ける。ＳＢＣ６毎の構成ファイル１６が、データファイルを書き込んでよいクラウドシステム１０の特定のディレクトリを指定してもよい。
【００４３】
外部サーバ８とテストシステム（すなわち、データ生成装置４）との間に双方向通信がないことが好ましい。サーバ８は、ＳＢＣ６にコマンドを送って、他のルーチンをアップグレードして実行することができる。それにも拘わらず、ＳＢＣ６およびテストシステム４は、サーバメッセージブロック（ＳＭＢ）プロトコルを介して通信する。これはテストシステム４で公開したディレクトリをＳＢＣ６にマウントするために使われるプロトコルである。このプロトコルの双方向通信以外では、全ての意図と目的のために、好ましくは、テストシステム４とＳＢＣ６の間に他のどのような双方向通信もない。テストシステム４はデータで何が行われているか知らない。また、好ましくは、テストシステム４はＳＢＣ６とＳＭＢを使用する他の任意の潜在的なエージェントを区別することができない。先ほど述べたように、任意の双方向通信はＳＭＢ（サーバメッセージブロック）プロトコルの内部になる。
【００４４】
この発明の例示的な実施形態を添付の図面を参照して説明したが、この発明はそれらの詳細な実施形態に限定されず、発明の範囲または精神から逸脱することなく、当業者によって様々な他の変更や修正がなされ得ることを理解されたい。
【符号の説明】
【００４５】
２  …システム
４  …データ生成装置
６  …通信仲介手段
８  …外部コントロールサーバ
１０  …外部データストレージシステム
１２  …第１ネットワークインタフェース
１４  …第２ネットワークインタフェース
１８  …通信ポート
２０  …リムーバルメモリストレージ装置
４４、４８  …メモリ
４６  …プロセサ
【図１】
2020524345.tif 000003
【図２】
2020524345.tif 000004
【図３】
2020524345.tif 000005
【図４】
2020524345.tif 000006
【図５】
2020524345.tif 000007
【図６】
2020524345.tif 000008
【図７】
2020524345.tif 000009
【図８】
2020524345.tif 000010
【国際調査報告】
2020524345.tif 000011