(57)【特許請求の範囲】
【請求項１】
ＩｏＴ環境（１００）におけるエッジデバイス（１０４Ａ〜Ｎ）にソフトウェアアプリケーションを供給する方法であって、前記方法は、
プロセッサ（２０２）によって、前記ＩｏＴ環境（１００）における１つ以上のエッジデバイス（１０４Ａ〜Ｎ）上での前記ソフトウェアアプリケーションの動作をシミュレーション可能な複数のシミュレーションインスタンス（４０２Ａ〜Ｎ）を生成するステップであって、それぞれの前記シミュレーションインスタンス（４０２Ａ〜Ｎ）には、固有リソース構成（４０４Ａ〜Ｎ）が設定されている、ステップと、
プラント（１０３）からのデータを使用して、それぞれの前記シミュレーションインスタンス（４０２Ａ〜Ｎ）上で前記ソフトウェアアプリケーションを処理するステップと、
前記シミュレーションインスタンス（４０２Ａ〜Ｎ）上での前記ソフトウェアアプリケーションの処理に基づいて、前記ソフトウェアアプリケーションに関連する最適リソース構成（４０４Ｂ）を計算するステップと、
を含み、
前記ソフトウェアアプリケーションに関連する前記最適リソース構成（４０４Ｂ）の計算するステップは、
複数の前記シミュレーションインスタンス（４０２Ａ〜Ｎ）から、前記ソフトウェアアプリケーションの動作が十分である少なくとも１つのシミュレーションインスタンス（４０２Ｂ）を特定するステップと、
特定した前記シミュレーションインスタンス（４０２Ｂ）に関連する前記固有リソース構成（４０４Ｂ）を特定するステップと、
を含み、
前記固有リソース構成（４０４Ｂ）は、１つ以上の前記エッジデバイス（１０４Ａ〜Ｎ）上で前記ソフトウェアアプリケーションを実行するのに必要な最小リソースを示す前記最適リソース構成である、
方法。
【請求項２】
アプリケーションリポジトリ（１１２）内の、前記ソフトウェアアプリケーションに関連するメタファイル内に前記最適リソース構成（４０２Ｂ）を格納するステップをさらに含む、請求項１記載の方法。
【請求項３】
前記ソフトウェアアプリケーションの前記動作をシミュレーション可能な複数の前記シミュレーションインスタンス（４０２Ａ〜Ｎ）を生成するステップは、
複数の固有リソース構成から固有リソース構成（４０４Ａ〜Ｎ）の集合を選択するステップであって、固有リソース構成（４０４Ａ〜Ｎ）の前記集合は、前記ＩｏＴ環境（１００）における前記エッジデバイス（１０４Ａ〜Ｎ）のリアルタイムリソース機能に対応する、ステップと、
固有リソース構成（４０４Ａ〜Ｎ）の選択した前記集合に基づいて複数の前記シミュレーションインスタンス（４０２Ａ〜Ｎ）を生成するステップと、
を含む、請求項１記載の方法。
【請求項４】
それぞれの前記固有リソース構成（４０４Ａ〜Ｎ）は、前記ソフトウェアアプリケーションの前記動作に影響を及ぼすリソース制約を有する、請求項１または３記載の方法。
【請求項５】
前記プラント（１０３）からの前記データを使用して、それぞれの前記シミュレーションインスタンス（４０２Ａ〜Ｎ）上での前記ソフトウェアアプリケーションを処理するステップは、
それぞれの前記シミュレーションインスタンス（４０２Ａ〜Ｎ）の前記固有リソース構成（４０４Ａ〜Ｎ）に基づき、前記プラント（１０３）からの前記データを使用して、それぞれの前記シミュレーションインスタンス（４０２Ａ〜Ｎ）上で前記ソフトウェアアプリケーションの前記動作をシミュレーションするステップと、
それぞれの前記シミュレーションインスタンス（４０２Ａ〜Ｎ）上での前記ソフトウェアアプリケーションのシミュレーション中に、前記ソフトウェアアプリケーションの前記動作を示すパラメータ値を取り込むステップと、
を含む、請求項１記載の方法。
【請求項６】
１つ以上の前記エッジデバイス（１０４Ａ〜Ｎ）に前記ソフトウェアアプリケーションをデプロイするのに必要な前記最適リソース構成（４０４Ｂ）を計算するステップは、
取り込んだ前記パラメータ値に基づき、複数の前記シミュレーションインスタンス（４０２Ａ〜Ｎ）から、前記ソフトウェアアプリケーションの前記動作が十分である少なくとも１つのシミュレーションインスタンス（４０２Ｂ）を特定するステップと、
前記固有リソース構成を特定するステップと、
を含む、請求項５記載の方法。
【請求項７】
前記ソフトウェアアプリケーションに関連する前記最適リソース構成（４０４Ｂ）に基づいて、前記ソフトウェアアプリケーションを実行するために、前記ＩｏＴ環境（１００）における少なくとも１つのエッジデバイス（１０４Ａ）のリアルタイムリソース機能を評価するステップと、
前記エッジデバイス（１０４Ａ）の前記リアルタイムリソース機能の評価に基づいて、前記エッジデバイス（１０４Ａ）に前記ソフトウェアアプリケーションを供給するステップと、
をさらに含む、請求項１記載の方法。
【請求項８】
ＩｏＴ環境（１００）におけるエッジデバイス（１０４Ａ〜Ｎ）にソフトウェアアプリケーションを供給するシステム（１０２）であって、前記システム（１０２）は、
１つ以上のプロセッサ（２０２）と、
前記プロセッサ（２０２）に接続されておりかつ複数のソフトウェアアプリケーションを格納可能なアプリケーションリポジトリ（１１２）を有するメモリユニット（２０４）と、
シミュレーションモジュール（１０６）と、
を有し、
前記シミュレーションモジュール（１０６）は、
前記ＩｏＴ環境（１００）における１つ以上のエッジデバイス（１０４Ａ〜Ｎ）上での前記ソフトウェアアプリケーションの動作をシミュレーション可能な複数のシミュレーションインスタンス（４０２Ａ〜Ｎ）を生成し、この際、それぞれの前記シミュレーションインスタンス（４０２Ａ〜Ｎ）には、固有リソース構成（４０４Ａ〜Ｎ）が設定されており、
プラント（１０３）からのデータを使用して、それぞれの前記シミュレーションインスタンス（４０２Ａ〜Ｎ）上で前記ソフトウェアアプリケーションを処理し、
前記シミュレーションインスタンス（４０２Ａ〜Ｎ）上での前記ソフトウェアアプリケーションの処理に基づいて、前記ソフトウェアアプリケーションに関連する最適リソース構成（４０４Ｂ）を計算する、
ように構成されており、前記シミュレーションモジュール（１０６）は、  複数の前記シミュレーションインスタンス（４０２Ａ〜Ｎ）から、前記ソフトウェアアプリケーションの動作が十分である少なくとも１つのシミュレーションインスタンス（４０２Ｂ）を特定することにより、かつ
特定した前記シミュレーションインスタンス（４０２Ｂ）に関連する前記固有リソース構成（４０４Ｂ）を特定することにより、
前記ソフトウェアアプリケーションに関連する前記最適リソース構成（４０４Ｂ）を計算するように構成されており、
前記固有リソース構成（４０４Ｂ）は、１つ以上の前記エッジデバイス（１０４Ａ〜Ｎ）上で前記ソフトウェアアプリケーションを実行するのに必要な最小リソースを示す前記最適リソース構成である、
システム（１０２）。
【請求項９】
前記シミュレーションモジュール（１０６）は、前記アプリケーションリポジトリ（１１２）内の、前記ソフトウェアアプリケーションに関連するメタファイルに前記最適リソース構成（４０４Ｂ）を格納するように構成されている、請求項８記載のシステム（１０２）。
【請求項１０】
前記シミュレーションモジュール（１０６）は、
複数の固有リソース構成から、固有リソース構成（４０４Ａ〜Ｎ）の集合を選択し、
固有リソース構成（４０４Ａ〜Ｎ）の前記集合は、前記ＩｏＴ環境（１００）における前記エッジデバイス（１０４Ａ〜Ｎ）のリアルタイムリソース機能に対応し、それぞれの前記固有リソース構成（４０４Ｂ）は、前記ソフトウェアアプリケーションの前記動作に影響を及ぼすリソース制約を有し、
選択した、固有リソース構成（４０４Ａ〜Ｎ）の前記集合に基づき、複数の前記シミュレーションインスタンス（４０２Ａ〜Ｎ）を生成する、
ように構成されている、請求項８または９記載のシステム（１０２）。
【請求項１１】
前記シミュレーションモジュール（１０６）は、
それぞれの前記シミュレーションインスタンス（４０２Ａ〜Ｎ）の前記固有リソース構成（４０４Ａ〜Ｎ）に基づき、前記プラント（１０３）からの前記データを使用して、それぞれの前記シミュレーションインスタンス（４０２Ａ〜Ｎ）上で前記ソフトウェアアプリケーションの前記動作をシミュレーションし、
それぞれの前記シミュレーションインスタンス（４０２Ａ〜Ｎ）上での前記ソフトウェアアプリケーションのシミュレーション中に、前記ソフトウェアアプリケーションの前記動作を示すパラメータ値を取り込む、
ように構成されている、請求項８または１０記載のシステム（１０２）。
【請求項１２】
前記シミュレーションモジュール（１０６）は、
取り込んだ前記パラメータ値に基づき、複数の前記シミュレーションインスタンス（４０２Ａ〜Ｎ）から、前記ソフトウェアアプリケーションの前記動作が十分であることが判明した少なくとも１つのシミュレーションインスタンス（４０２Ｂ）を特定し、
特定した前記シミュレーションインスタンス（４０２Ｂ）に関連する前記固有リソース構成（４０４Ｂ）を特定する、
ように構成されており、
前記固有リソース構成（４０４Ｂ）は、前記最適リソース構成である、
請求項１１記載のシステム（１０２）。
【請求項１３】
前記ソフトウェアアプリケーションに関連する前記最適リソース構成（４０４Ｂ）に基づいて前記ソフトウェアアプリケーションを実行するために、前記ＩｏＴ環境（１００）における少なくとも１つのエッジデバイス（１０４Ａ）のリアルタイムリソース機能を評価するように構成されているエッジデバイス管理モジュール（１１０）をさらに有する、請求項８記載のシステム（１０２）。
【請求項１４】
さらに、前記エッジデバイス（１０４Ａ）の前記リアルタイムリソース機能の評価に基づいて、前記エッジデバイス（１０４Ａ）に前記ソフトウェアアプリケーションが供給される、請求項１３記載のシステム（１０２）。
【請求項１５】
プロセッサ（２０２）によって実行される場合に、前記プロセッサ（２０２）に、請求項１から７までのいずれか１項に記載の方法ステップを実行させる機械読み出し可能命令が格納されているコンピュータ読み出し可能記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般にモノのインターネット（ＩｏＴ：Internet-of-Things）の分野に関し、より詳細にはＩｏＴ環境におけるエッジデバイスにソフトウェアアプリケーションを供給する方法およびシステムに関する。
【０００２】
インダストリアルＩｏＴ（ＩＩＯＴ：Industrial IoT）のようなＩｏＴ環境では、複数のエッジデバイスが、インターネットを介してＩｏＴクラウドプラットフォームと、センサと、アクチュエータとに接続されている。エッジデバイスは、軽量かつ低価格の装置であってよく、この装置により、プラントに配備されているさまざまなセンサおよびアクチュエータからデータが収集され、収集したデータが格納およびバッファリングされ、収集したこの分析が行われ、分析の結果に基づいてアクション（例えば、制御コマンドの発行）が実行される。エッジデバイスはまた、プラントデータを集計し、フィルタリングし、選択的にリポートし、圧縮し、暗号化し、かつ／またはこれと別の前処理を行うように構成可能であり、これによってＩｏＴクラウドプラットフォームに通信されるデータを少なくし、かつ／またはデータに価値を付加することができる。これにより、このような前処理が行われていない場合に必要または消費され得るよりも、ネットワーク通信、バックエンド記憶容量、および処理リソースの消費を少なくすることが可能である。一般に、それぞれのエッジデバイスは、そこにデプロイされた１つ以上のソフトウェアアプリケーションを使用して上記の機能を実行可能である。ＩｏＴクラウドプラットフォームの役割は、エッジデバイスを管理し、エッジデバイスから受信した（生または前処理された）データを管理し、エッジデバイスにソフトウェアアプリケーションを供給することである。
【０００３】
一般にＩｏＴ環境におけるエッジデバイスは、リソース制約型デバイスである。さらに、それぞれのリソース制約型デバイスは、ハードウェアスペックの点において異なることがあり、またＩｏＴクラウドプラットフォームによって供給される新しいソフトウェアアプリケーションを実行するためのリアルタイムリソースの機能が異なり得る。例えばRaspberry Pi（商標）上で動作するエッジデバイスは、一般的な産業ＰＣベースのエッジデバイスとは異なるアプリケーションを実行可能であってよい。また、リアルタイムリソース機能は、エッジデバイスにデプロイされているソフトウェアアプリケーションの個数、およびこれらのソフトウェアアプリケーションをランタイム中に実行する際にエッジデバイスによって利用されるリソースに基づいて異なり得る。互換性のないハードウェアおよびリソース制約を有するエッジデバイスにデプロイされる新たなソフトウェアアプリケーションは、リアルタイムでのソフトウェアアプリケーションの実行中に性能問題（例えばデバイス動作可能時間）に見舞われることがある。またこれは、プラントデータの誤った分析をまねくことがある。
【０００４】
米国特許出願公開第２０１６／０２３２３６６号明細書には、与えられたシナリオにおいてリアルタイムデバイスの性能をシミュレート可能な検証システムが開示されている。この検証システムは、関心対象のデバイスの機能をシミュレートする仮想シミュレータに読み込まれる、特定のシナリオについての情報を受信し、この仮想シミュレータによって一連のシミュレーションイベントを実行し、このデバイスの性能が目標性能を満たすか否かを特定する。この検証システムは、デバイスの性能が目標性能を満たす場合、リアルタイムデバイスにデバイス構成プロファイルをデプロイする。しかしながらこの検証システムによって、上記の問題は解決されない。
【０００５】
上記のことを考慮すると、ＩｏＴ環境におけるエッジデバイスにソフトウェアアプリケーションを供給するための改善された方法およびシステムが必要である。
【０００６】
したがって本発明の１つの目的は、ＩｏＴ環境におけるエッジデバイスにソフトウェアアプリケーションを供給する方法およびシステムを提供することである。
【０００７】
本発明のこの目的は、ＩｏＴ環境におけるエッジデバイスにソフトウェアアプリケーションを供給する方法によって達成される。例えば、このソフトウェアアプリケーションは、エッジデバイス上でデータ分析を実行するアプリケーションである。
【０００８】
択一的には、ソフトウェアアプリケーションは、エッジデバイス上で機能を実行する任意の別のアプリケーションであってよい。ソフトウェアアプリケーションは、新しいアプリケーションまたはアップグレードパッチであってよい。上記の方法では、ＩｏＴ環境における１つ以上のエッジデバイス上でのソフトウェアアプリケーションの動作をシミュレーション可能な複数のシミュレーションインスタンスを生成する。それぞれのシミュレーションインスタンスには、固有リソース構成が設定されている。本発明による方法では、工業プラントからのデータを使用して、それぞれの上記シミュレーションインスタンス上でソフトウェアアプリケーションを処理し、シミュレーションインスタンス上でのソフトウェアアプリケーションの処理に基づいて、ソフトウェアアプリケーションに関連する最適リソース構成を計算する。ソフトウェアアプリケーションに関連する最適リソース構成は、複数のシミュレーションインスタンスから、ソフトウェアアプリケーションの動作が十分である少なくとも１つのシミュレーションインスタンスを特定することにより、また特定したシミュレーションインスタンスに関連する固有リソース構成を特定することによって計算可能であり、この固有リソース構成設定（４０４Ｂ）が、最適リソース構成である。最適リソース構成は、１つ以上のエッジデバイス上でソフトウェアアプリケーションを実行するのに必要な最小リソースを示す。したがってソフトウェアアプリケーションは、最適リソース構成に基づいて少なくとも１つのエッジデバイスに供給される。
【０００９】
好ましい一実施形態において、この方法では、アプリケーションリポジトリ内の、ソフトウェアアプリケーションに関連するメタファイルに最適リソース構成を格納可能である。
【００１０】
好ましい別の一実施形態において、この方法では、ソフトウェアアプリケーションに関連する最適リソース構成に基づいてソフトウェアアプリケーションを実行するために、ＩｏＴ環境における少なくとも１つのエッジデバイスのリアルタイムリソース機能を評価可能である。例えば、リアルタイムリソース機能は、ソフトウェアアプリケーションを実行するためにエッジデバイス上で利用可能なリアルタイムリソースを示す。リアルタイムリソースは、ハードウェアリソースもソフトウェアリソースも共に含んでいてよい。リアルタイムリソースは、エッジデバイス上のハードウェア機能および利用されないリソースを含んでいてよい。上記の方法では、上記エッジデバイスのリアルタイムリソース機能の評価に基づいて、上記エッジデバイスにソフトウェアアプリケーションを供給可能である。
【００１１】
さらに別の好ましい一実施形態において、この方法では、複数の固有リソース構成から、固有リソース構成の集合を選択可能であり、この固有リソース構成の集合は、ＩｏＴ環境におけるエッジデバイスのリアルタイムリソース機能に対応する。この方法では、固有リソース構成の選択した集合に基づいて複数のシミュレーションインスタンスを生成可能である。それぞれの固有リソース構成は、ソフトウェアアプリケーションの動作に影響を及ぼすリソース制約を有する。
【００１２】
さらに別の好ましい一実施形態において、この方法では、それぞれの上記シミュレーションインスタンスの固有リソース構成に基づき、工業プラントからのデータを使用して、それぞれの上記シミュレーションインスタンス上でソフトウェアアプリケーションをシミュレーションすることが可能である。この方法では、それぞれの上記シミュレーションインスタンス上でのソフトウェアアプリケーションのシミュレーション中に、ソフトウェアアプリケーションの動作を示すパラメータ値を取り込むことが可能である。有利には、異なるリソース構成を有するエッジデバイス上でのソフトウェアアプリケーションの性能は、このエッジデバイス上にソフトウェアアプリケーションを供給する前に特定可能である。
【００１３】
さらに別の好ましい一実施形態において、この方法では、取り込んだパラメータ値に基づき、複数のシミュレーションインスタンスから、ソフトウェアアプリケーションの最適な動作が十分である少なくとも１つのシミュレーションインスタンスを特定可能である。この方法ではまた、特定したシミュレーションインスタンスに関連する固有リソース構成を特定することができ、ここではこの固有リソース構成は、最適リソース構成である。
【００１４】
本発明の目的はまた、ＩｏＴ環境におけるエッジデバイスにソフトウェアアプリケーションを供給するシステムによって達成される。例示的な一実施形態において、システムは、プラントにおけるエッジデバイスに通信接続されたクラウドインフラストラクチャにおけるＩｏＴクラウドプラットフォームであってよい。例示的な別の一実施形態において、システムは、プラントにおけるエッジデバイスに通信接続されたリモートサーバであってよい。システムは、１つ以上のプロセッサと、このプロセッサに接続されておりかつ複数のソフトウェアアプリケーションを格納可能なアプリケーションリポジトリを有するメモリとを有する。このシステムはまた、ＩｏＴ環境における１つ以上のエッジデバイス上でのソフトウェアアプリケーションの動作をシミュレーション可能な複数のシミュレーションインスタンスを生成するために構成されたシミュレーションモジュールを有する。それぞれのシミュレーションインスタンスには、固有リソース構成が設定されている。このシミュレーションモジュールは、工業プラントからのデータを使用して、それぞれの上記シミュレーションインスタンス上でソフトウェアアプリケーションを処理するように、かつシミュレーションインスタンス上でのソフトウェアアプリケーションの処理に基づいて、１つ以上のエッジデバイスにおける、ソフトウェアアプリケーションに関連する最適リソース構成を計算するように構成されている。このシミュレーションモジュールは、複数のシミュレーションインスタンスから、ソフトウェアアプリケーションの動作が十分である少なくとも１つのシミュレーションインスタンスを特定することにより、かつ特定したシミュレーションインスタンスに関連する固有リソース構成を特定することにより、ソフトウェアアプリケーションに関連する最適リソース構成を計算するように構成されており、固有リソース構成（４０４Ｂ）は、最適リソース構成である。最適リソース構成は、１つ以上のエッジデバイス上でソフトウェアアプリケーションを実行する必要な最小リソースを示す。したがって、ソフトウェアアプリケーションは、最適リソース構成に基づいて少なくとも１つのエッジデバイスに供給される。
【００１５】
好ましい一実施形態において、システムは、構成されたエッジデバイス管理モジュールを有していてよく、このエッジデバイス管理モジュールは、ソフトウェアアプリケーションに関連する最適リソース構成に基づいてソフトウェアアプリケーションを実行するために、ＩｏＴ環境における少なくとも１つのエッジデバイスのリアルタイムリソース機能を評価するように構成されている。この好ましい実施形態において、システムは、上記エッジデバイスのリアルタイムリソース機能の評価に基づいて、上記エッジデバイスにソフトウェアアプリケーションを供給するように構成された供給モジュールを有していてよい。
【００１６】
別の好ましい一実施形態において、シミュレーションモジュールは、アプリケーションリポジトリ内の、ソフトウェアアプリケーションに関連するメタファイルに最適リソース構成を格納するように構成可能である。
【００１７】
さらに別の好ましい一実施形態において、シミュレーションモジュールは、複数の固有リソース構成から、固有リソース構成の集合を選択するように構成可能である。固有リソース構成の集合は、ＩｏＴ環境におけるエッジデバイスのリアルタイムリソース機能に対応する。それぞれの固有リソース構成は、ソフトウェアアプリケーションの動作に影響を及ぼすリソース制約を有する。シミュレーションモジュールは、選択した、固有リソース構成の集合に基づき、複数のシミュレーションインスタンスを生成するように構成可能である。
【００１８】
さらに別の好ましい一実施形態において、シミュレーションモジュールは、それぞれの上記シミュレーションインスタンスの固有リソース構成に基づき、工業プラントからのデータを使用して、それぞれの上記シミュレーションインスタンス上でソフトウェアアプリケーションをシミュレーションするように構成されていてよい。このシミュレーションモジュールはまた、それぞれの上記シミュレーションインスタンス上でのソフトウェアアプリケーションのシミュレーション中に、ソフトウェアアプリケーションの動作を示すパラメータ値を取り込む、ように構成可能である。
【００１９】
さらに別の好ましい一実施形態において、シミュレーションモジュールは、取り込んだパラメータ値に基づき、複数のシミュレーションインスタンスから、ソフトウェアアプリケーションの動作が十分であることが判明した少なくとも１つのシミュレーションインスタンスを特定するように構成可能である。さらにこのシミュレーションモジュールは、特定したシミュレーションインスタンスに関連する固有リソース構成を特定するように構成可能であり、ここではこの固有リソース構成は、最適リソース構成である。
【００２０】
本発明の目的はまた、プロセッサによって実行される場合に、このプロセッサに、上記のステップを実行させる機械読み出し可能命令が格納されているコンピュータプログラム製品によって達成される。このプロセッサは、ＩｏＴクラウドプラットフォームのプロセッサであってよい。
【００２１】
本発明の上記の特徴および別の特徴を以下、本発明の添付図面を参照して取り扱う。図示した実施形態は、本発明の説明を意図したものであり、限定を意図したものではない。
【００２２】
以下、添付図面に示した例示的な実施形態を参照して、本発明をさらに説明する。
【図面の簡単な説明】
【００２３】
【図１】本発明の一実施形態によるモノのインターネット（ＩｏＴ: Internet-of-Things）環境の概略図である。
【図２】本発明の実施形態による、図１に示したＩｏＴクラウドプラットフォームのブロック図である。
【図３】本発明の実施形態にしたがい、ＩｏＴクラウドプラットフォームによって、エッジデバイスにソフトウェアアプリケーションを供給する例示的な方法を説明する流れ図である。
【図４】本発明の実施形態にしたがい、エッジデバイスにソフトウェアアプリケーションをデプロイするための最適リソース構成を計算するシミュレーション環境の概略図である。
【００２４】
図面に関連してさまざまな実施形態が示されており、ここでは、同様の参照符号は、これらの図面を参照するために示されており、同様の参照符号は、全体を通して、同様の構成要素を参照するために使用されている。以下の説明では、説明を目的として、１つ以上の実施形態が完全に理解されるようにするために多数の具体的な詳細が示されている。これらの実施形態は、これらの具体的な詳細がなくても実施できることは明らかであろう。
【００２５】
図１は、本発明の一実施形態による、モノのインターネット（ＩｏＴ: Internet-of-Things）環境１００の概略図である。ＩｏＴ環境１００には、ＩｏＴクラウドプラットフォーム１０２と、エッジデバイス１０４Ａ〜Ｎ、およびセンサ／アクチュエータ１１６Ａ〜Ｎのグループを含むプラント１０３と、ユーザデバイス１１４Ａ〜Ｃとが含まれている。センサ／アクチュエータ１１６Ａ〜Ｎのそれぞれのグループは、有線ネットワークまたは無線ネットワークを介して、対応するエッジデバイス１０４Ａ〜Ｎに接続されている。それぞれのエッジデバイス１０４Ａ〜Ｎは、ワイドエリアネットワークのようなネットワーク接続を介してＩｏＴクラウドプラットフォーム１０２に接続されている。同様にユーザデバイス１１４Ａ〜Ｃもワイドエリアネットワークを介してＩｏＴクラウドプラットフォーム１０２に接続されている。
【００２６】
図示されていないが、いくつかのまたはすべてのエッジデバイス１０４Ａ〜Ｎは、エッジゲートウェイを介してＩｏＴクラウドプラットフォーム１０２に接続可能である。同様にＩｏＴクラウドプラットフォーム１０２は、異なる地理的位置に設置されているプラント１０３のエッジデバイスに接続可能である。
【００２７】
プラント１０３では、センサ／アクチュエータ１１６Ａ〜Ｎのグループは、設備およびプロセスを監視および制御するために配備されている。センサの一例は、プラント１０３に配備されている赤外線カメラであってよい。エッジデバイス１０４Ａ〜Ｎは、バッテリ駆動式デバイスであってよく、またエッジオペレーティングシステムを装備していてよい。例えば、エッジデバイス１０４Ａ〜Ｎは、センサ１１６Ａ〜Ｎの対応するグループからプラントデータを収集し、エッジデバイス１０４Ａ〜Ｎにデプロイされた一式のソフトウェアアプリケーションを使用して、収集したプラントデータを分析するように構成されている。エッジデバイス１０４Ａ〜Ｎは、収集したプラントデータの分析の結果に基づいて、対応するアクチュエータに命令を送信可能である。エッジデバイス１０４Ａ〜Ｎはまた、生の／処理されたプラントデータおよび／またはプラントデータの分析の結果をＩｏＴクラウドプラットフォーム１０２に出力することも可能である。
【００２８】
ＩｏＴクラウドプラットフォーム１０２は、エッジデバイス１０４Ａ〜Ｎへのソフトウェアアプリケーションの供給のような、クラウドベースサービスを提供可能なクラウドインフラストラクチャであってよい。ＩｏＴクラウドプラットフォーム１０２は、パブリッククラウドおよび／またはプライベートクラウドの一部であってよい。ＩｏＴクラウドプラットフォーム１０２は、データサイエンティスト／ソフトウェアベンダが、ソフトウェアアプリケーションをサービスとして提供できるようにすることが可能であり、その際にはユーザによるソフトウェアのメンテナンス、アップグレートおよびバックアップは不要である。ソフトウェアアプリケーションは、完全なアプリケーション、またはソフトウェアパッチであってよい。いくつかの実施形態において、ソフトウェアアプリケーションは、エッジデバイス１０４Ａ〜Ｎ上でデータ分析を行う分析アプリケーションであってよい。例えば、ソフトウェアアプリケーションは、時系列データのダウンサンプリング、閾値または移動平均に基づく時系列データのフィルタリング、振動データへの高速フーリエ変換の実行および異常値を示す周波数のフィルタリング、線形回帰および傾向予測、サポートベクターマシン分類器、ニューラルネットワークまたはディープラーニング分類器を使用した局所分類の実行、ストリーム分析の実行などのためのアプリケーションを含んでいてよい。
【００２９】
ＩｏＴクラウドプラットフォーム１０２はさらに、図２により詳細に示されている。図２を参照すると、ＩｏＴクラウドプラットフォーム１０２は、シミュレーションモジュール１０６と、供給モジュール１０８と、エッジデバイス管理モジュール１１０と、プロセッサ２０２と、メモリユニット２０４と、通信インタフェース２０６とを有する。シミュレーションモジュール１０６、供給モジュール１０８およびエッジデバイス管理モジュール１１０は、組み込みソフトウェアを有するプロセッサのようなハードウェア、またはコンピュータプログラム製品（例えばメモリユニット２０４）に格納されておりプロセッサ２０２によって実行可能な機械読み出し可能命令の形態のコンピュータプログラムの形態をとってよい。プロセッサ２０２は、１つ以上の処理ユニット（例えばサーバ）であってよい。プロセッサ２０２はまた、プラントデータの処理、プラントデータの分析、分析されたプラントデータの視覚化の提供、アクチュエータへの制御コマンドの発行、エッジデバイス１０４Ａ〜Ｎの管理などのようなさまざまな機能を実行するために、メモリユニット２０４のようなコンピュータ読み出し可能記憶媒体に格納されている機械読み出し可能命令を実行可能である。メモリユニット２０４は、揮発性メモリまたは不揮発性メモリであってよい。好ましい実施形態において、メモリユニット２０４は、アプリケーションリポジトリ１１２を格納するように構成されている。アプリケーションリポジトリ１１２は、エッジデバイス１０４Ａ〜Ｎに供給するためのソフトウェアアプリケーションを格納可能である。ソフトウェアアプリケーションは、アプリケーションリポジトリ１１２内の、関連する最適リソース構成と共にアプリケーションバイナリとして、メタファイルに格納されている。通信インタフェース２０６は、エッジデバイス１０４Ａ〜Ｎと、ＩｏＴクラウドプラットフォーム１０２との間の通信チャネルを確立するように構成されている。同様に通信インタフェース２０６は、ＩｏＴクラウドプラットフォーム１０２と、ユーザデバイス１１４Ａ〜Ｃとの間に通信チャネルを確立するように構成されている。
【００３０】
シミュレーションモジュール１０６は、シミュレーション環境において、複数のシミュレーションインスタンス上でソフトウェアアプリケーションの動作をシミュレーションするように構成されている。それぞれのシミュレーションインスタンスは、ＩｏＴ環境１００におけるエッジデバイスを表す。それぞれのシミュレーションインスタンスにはまた、固有リソース構成が設定されている。固有リソース構成は、エッジデバイスのリアルタイムリソース機能に対応する。固有リソース構成は、ソフトウェアアプリケーションの動作に影響を及ぼすリソース制約を有する。例示的な一実装において、シミュレーションモジュール１０６は、あらかじめ定めた時間の間、順次または並列に複数のシミュレーションインスタンス上でソフトウェアアプリケーションを実行する。シミュレーションモジュール１０６は、ソフトウェアアプリケーションのシミュレーションの結果に基づいて、ソフトウェアアプリケーションに関連する最適リソース構成を計算するように構成されている。最適リソース構成は、ＩｏＴ環境１００におけるエッジデバイス１０４Ａ〜Ｎ上でソフトウェアアプリケーションを実行するのに必要な最小リソースを示す。シミュレーションモジュール１０６は、アプリケーションリポジトリ１１２内の、ソフトウェアアプリケーションに関連するメタファイルに最適リソース構成を格納するように構成されている。
【００３１】
エッジデバイス管理モジュール１１０は、ソフトウェアアプリケーションに関連する最適リソース構成に基づいてソフトウェアアプリケーションを実行するための、エッジデバイス１０４Ａ〜Ｎのリアルタイムリソース機能を評価するように構成されている。例えば、リソースは、ハードウェアリソースであってもソフトウェアリソースであってもよい。リソースは、ネットワークリソース、記憶装置リソース、計算リソースなどであってよい。最適リソース構成は、エッジデバイス１０４Ａ〜Ｎ上でソフトウェアアプリケーションをリアルタイムに実行するのに必要な最小リソースを示す。供給モジュール１０８は、１つ以上のエッジデバイス１０４Ａ〜Ｎが、ソフトウェアアプリケーションを実行するのに十分なリアルタイムリソース機能を有する場合に、１つの以上のエッジデバイス１０４Ａ〜Ｎにソフトウェアアプリケーションを供給するように構成されている。ソフトウェアアプリケーションをシミュレートし、後にエッジデバイス１０４Ａ〜Ｎにソフトウェアアプリケーションを供給するために、ＩｏＴクラウドプラットフォーム１０２によって実行されるステップを、以下の説明においてより詳しく説明する。
【００３２】
ユーザデバイス１１４Ａ〜Ｃは、ラップトップ、デスクトップ、タブレットコンピュータ、スマートフォンおよび同様のデバイスなどのクラウドを意識したデバイスであってよい。ユーザデバイス１１４Ａ〜Ｃは、インターネットを介し、クラウドユーザインタフェースを使用してＩｏＴクラウドプラットフォーム１０２にアクセスするように構成されている。一実施形態では、ユーザデバイス１１４Ａ〜Ｃは、クラウドユーザインタフェースを介して、生の／処理されたプラントデータ、および／またはプラントデータの分析の結果が視られるように構成されている。別の一実施形態では、ユーザデバイス１１４Ａ〜Ｃは、エッジデバイス１０４Ａ〜Ｎに供給されるソフトウェアアプリケーションをアプリケーションリポジトリ１１２にアップロードするように構成されている。例えば、ソフトウェアアプリケーションは、一般に、ターゲットユーザ事例毎にデータサイエンティストまたはソフトウェアベンダによって作成され、エッジデバイス１０４Ａ〜Ｎに供給するためにＩｏＴクラウドプラットフォーム１０２にアップロードされる。さらに別の一実施形態では、ユーザデバイス１１４Ａ〜Ｃは、所望のソフトウェアアプリケーションのシミュレーションを介して、最適リソース構成の計算を要求し、また最適リソース構成に基づいて、プラント１０３の複数のエッジデバイス１０４Ａ〜Ｎのうちの１つにソフトウェアアプリケーションを供給するように構成されている。さらに別の一実施形態では、ユーザデバイス１１４Ａ〜Ｃは、プラントデータの分析の結果に基づきかつエッジデバイス１０４Ａ〜Ｎを介してアクチュエータ１１６Ａ〜Ｎにコマンドを発行する携帯型の人間対機械インタフェースデバイスとして動作可能である。
【００３３】
図３は、本発明の実施形態にしたがい、ＩｏＴクラウドプラットフォーム１０２によって、エッジデバイス１０４Ａにソフトウェアアプリケーションを供給する例示的な方法を説明するプロセスフローチャート３００である。ステップ３０２では、エッジデバイス１０４Ａ〜Ｎ上でのソフトウェアアプリケーションの動作をシミュレーション可能な複数のシミュレーションインスタンスを生成する。例えば、ソフトウェアアプリケーションは、プラント１０３に配備された赤外線カメラからのリアルタイムビデオストリームを分析して、生産される製品の品質を特定する分析アプリケーションであってよい。好ましい実施形態では、複数の固有リソース構成から、固有リソース構成の集合を選択する。この固有リソース構成の集合は、ＩｏＴ環境１００におけるエッジデバイス１０４Ａ〜Ｎのリアルタイムリソース機能にリソース構成が対応する、ように選択される。シミュレーション中にソフトウェアアプリケーションの動作に影響を及ぼすそれぞれの選択された固有リソース構成は、リソース制約から成る。例示的なリソース制約は、読み出しアクセスメモリ（ＲＡＭ：read-access memory）サイズ、プロセッサタイプ、記憶装置サイズ、バスサイズなどを含んでいてよい。この好ましい実施形態では、固有リソース構成の選択した集合に基づいて複数のシミュレーションインスタンスを生成する。例えば、シミュレーションインスタンスには、対応する固有リソース構成を設定する。シミュレーションインスタンスおよび関連するリソース構成の個数は、シミュレーションされるソフトウェアアプリケーションのタイプに基づいて決定される。
【００３４】
ステップ３０４では、プラント１０３からのデータを使用して、シミュレーションインスタンス上でソフトウェアアプリケーションを処理する。例えば、プラント１０３からのデータは、プラント１０３から収集されるリアルタイムデータまたは履歴データであってよい。製品品質を分析するためのデータには、赤外線カメラから取得されるリアルタイムビデオストリームが含まれていてよい。好ましい一実施形態では、プラント１０３からのデータを使用して、シミュレーションインスタンス上でソフトウェアアプリケーションを実行することによってソフトウェアアプリケーションの動作をシミュレーションする。例示的な一実装では、あらかじめ定めた時間の間、シミュレーションインスタンス上でソフトウェアアプリケーションを並列に実行する。択一的には、あらかじめ定めた時間の間、あらかじめ定めた順序でソフトウェアアプリケーションをシミュレーションインスタンス上で実行する。好ましい実施形態では、シミュレーションインスタント毎に、ソフトウェアアプリケーションの動作を示すパラメータ値をシミュレーション中に取り込む。例えば、シミュレーションインスタンス毎に取り込まれるこのパラメータ値は、関連する固有リソース構成でエッジデバイス上で実行される場合に、ソフトウェアアプリケーションの性能を示すキー性能指標である。
【００３５】
ステップ３０６では、シミュレーションインスタンス上でのソフトウェアアプリケーションの処理に基づいて、ソフトウェアアプリケーションに関連する最適リソース構成を計算する。好ましい一実施形態では、取り込んだパラメータ値に基づき、複数のシミュレーションインスタンスから、シミュレーションインスタンスを特定する。言い換えると、ソフトウェアアプリケーションの動作が最適になるシミュレーションインスタンスが、最善のシミュレーションインスタンスとして特定される。
【００３６】
この好ましい実施形態では、このシミュレーションインスタンスに関連する固有リソース構成を特定する。この固有リソース構成は、このソフトウェアアプリケーションを実行するのに最適なリソース構成とみなされる。最適リソース構成は、このソフトウェアアプリケーションが、関連するシミュレーションインスタンス上でシミュレーションされる場合に結果的にこのソフトウェアアプリケーションの十分な性能が得られるリソース構成である。最適リソース構成は、エッジデバイス上でこのソフトウェアアプリケーションの十分な性能を得るために、エッジデバイス上で利用できるはずである最低限に推奨されるリソース構成を示す。したがって最適リソース構成は、エッジデバイスにソフトウェアアプリケーションを供給するために、エッジデバイスが処理しなければならない最小限のリソース構成である。
【００３７】
ステップ３０８では、アプリケーションリポジトリ１１２内の、ソフトウェアアプリケーションに関連するメタファイルに最適リソース構成を格納する。ステップ３１０では、ソフトウェアアプリケーションに関連する最適リソース構成に基づいて、ソフトウェアアプリケーションを実行するための、少なくとも１つのエッジデバイス１０４Ａのリアルタイムリソース機能を評価する。
【００３８】
好ましい実施形態において、ソフトウェアアプリケーションを実行するために利用可能なリアルタイムリソースは、エッジデバイス１０４Ａから得られる。同様に、エッジデバイス１０４Ａにデプロイされる場合にソフトウェアアプリケーションの十分な性能に必要な最小リソースを示す最適リソース構成は、ソフトウェアアプリケーションに関連するメタファイルから得られる。ここでは、この利用可能なリアルタイムリソースが、ソフトウェアアプリケーションを供給するのに必要な最小リソース以上であるか否かを特定する。利用可能なリアルタイムリソースが、必要な最小リソース以上である場合、ステップ３１２において、ソフトウェアアプリケーションをエッジデバイス１０４Ａに供給する。次に、ソフトウェアアプリケーションをインストールし、エッジデバイス１０４Ａ上で利用可能なリアルタイムリソースを使用して、エッジデバイス１０４Ａ上でこのソフトウェアアプリケーションをリアルタイムに実行する。
【００３９】
利用可能なこのリアルタイムリソースが、必要な最小リソースを下回る場合、エッジデバイス１０４Ａは、不要のソフトウェアアプリケーションをアンインストールすることによってリソースを開放可能である。択一的には、ＩｏＴクラウドプラットフォーム１０２は、ソフトウェアアプリケーションに関連する最適リソース構成が、エッジデバイス１０４Ａ上で利用可能なリアルタイムリソース以下になるように、ソフトウェアアプリケーションをカスタマイズすることが可能である。
【００４０】
図４は、本発明の実施形態にしたがい、エッジデバイス１０４Ａ〜Ｎにソフトウェアアプリケーションをデプロイするための最適リソース構成を計算するシミュレーション環境４００の概略図を示している。
【００４１】
プラント１０３において赤外線カメラから取得した、製品のリアルタイムビデオストリームを分析し、製品品質における偏差をリアルタイムに識別するために分析アプリケーションが開発されるものとする。この分析アプリケーションは、それぞれの層に約１００ノードを有する３層の畳み込みニューラルネットワーク（ＣＮＮ：Convolutional Neural Network）モデルとして実装可能である。ＣＮＮモデルは、トレーニングビデオデータを使用して、データサイエンティストによって作成される。分析アプリケーションは、製造される製品の赤外線ビデオストリームを取得する赤外線カメラに接続されかつ製品の品質の偏差を計算する、プラント１０３の１つ以上のエッジデバイス１０４Ａ〜Ｎにデプロイされるように設計されている。一般に、分析アプリケーションのデプロイの前には、エッジデバイス１０４Ａにデプロイされた場合に、性能上のいかなる問題なしに分析アプリケーションがスムーズに動作するか否かは明らかではない。したがって、本発明では、シミュレーション環境４００において、分析アプリケーションの動作をシミュレーションし、エッジデバイス１０４Ａにデプロイするのに必要な、分析アプリケーションについての最適リソース構成を、以下に説明するように計算する。
【００４２】
好ましい実施形態によれば、分析アプリケーションは、１つ以上のエッジデバイス１０４Ａ〜Ｎに供給するために、クラウドコンテナ（例えばDocker（商標）Hub）としてアプリケーションレジストリ１１２に加えられる。シミュレーションモジュール１０６は、分析アプリケーションの動作をシミュレーションするシミュレーションインスタンス４０２Ａ〜Ｎを有するシミュレーション環境４００を準備する。説明のために、シミュレーション環境４００には、シミュレーションインスタンス４０２Ａ、シミュレーションインスタンス４０２Ｂ、およびシミュレーションインスタンス４０２Ｃが含まれるものとする。
【００４３】
シミュレーションモジュール１０６は、シミュレーションインスタンス４０２Ａに固有リソース構成４０４Ａを設定する。この固有リソース構成４０４Ａには、リソース制約、すなわち６４ＭＢのＲＡＭ、シングルコアプロセッサで５１２ＭＨｚ、５１２ＭＢの記憶容量、および１２８ＭＨｚの内部通信バスを有する。同様に、シミュレーションモジュール１０６は、シミュレーションインスタンス４０２Ｂに固有リソース構成４０４Ｂを設定する。固有リソース構成４０２Ｂは、リソース制約、すなわち５１２ＭＢのＲＡＭ、デュアルコアプロセッサで１ＧＨｚ、２ＧＢの記憶容量、１ＧＨｚの内部通信バス、および５１２ＭＢのＧＰＵ（Graphical Processing Unit）を有する。同様に、シミュレーションモジュール１０６は、シミュレーションインスタンス４０２Ｃに固有リソース構成４０４Ｃを設定する。固有リソース構成４０４Ｃは、リソース制約、すなわち、２ＧＢのＲＡＭ、エイトコアプロセッサで２ＧＨｚ、４ＧＢのＳＳＤ（Solid State Drive）、２ＧＨｚの内部通信バス、２ＧＢのＧＰＵおよびテンソルプロセッシングユニットを有する。シミュレーションインスタンス４０２Ａのリソース構成４０４Ａが、低リソース機能の組み込みデバイスのリソース構成にとって一般的なリソース構成であることがわかる。逆に、シミュレーションインスタンス４０２Ｃは、ビルトインＧＰＵおよびテンソルプロセッシングユニットおよび高いリソース機能を有するパワフルなエッジデバイスの固有リソース構成のような固有リソース構成４０４Ｃを有する。
【００４４】
シミュレーションモジュール１０６は、アプリケーションリポジトリ１１２から分析アプリケーションのクラウドコンテナを取得し、同時に分析アプリケーションのクラウドコンテナをシミュレーションインスタンス４０２Ａ〜Ｃにデプロイする。シミュレーションインスタンス４０２Ａ〜Ｃは、対応する固有リソース構成にしたがい、特定の期間（例えば４８時間）の間、赤外線ビデオストリームデータを使用して分析アプリケーションを実行する。例示的な一実装において、シミュレーションインスタンス４０２Ａ〜Ｃは、分析アプリケーションのクラウドコンテナを動作させるDocker（商標）ランタイムを有していてよい。クラウドコンテナは、同様に赤外線ビデオストリームデータを含んでいてよい。この期間中、シミュレーションモジュール１０６は、シミュレーションインスタンス４０２Ａ〜Ｃにおいてシミュレーションされる分析アプリケーションの動作を監視する。シミュレーションモジュール１０６は、それぞれのシミュレーションインスタンス４０２Ａ〜Ｃ上での分析アプリケーションの動作を示すパラメータ値を計算する。パラメータ値は、分析アプリケーションの出力の精度、プロセッサにおける平均／ピーク負荷、平均／ピーク読み出しおよび書き込み、ＧＰＵ／テンソルプロセッシングユニットの平均／ピーク利用率などを指し示してよい。
【００４５】
シミュレーションモジュール１０６は、それぞれのシミュレーションインスタンスに関連するパラメータ値が、あらかじめ定めた閾値レベル内にあるか否かをチェックする。例えば、あらかじめ定めた、プロセッサの利用率についての閾値が７５％であるのに対し、特定のシミュレーションインスタンス（例えばシミュレーションインスタンス４０２Ａ）上でのプロセッサの平均利用率が９０％であることをパラメータ値が指し示している場合、特定のシミュレーションインスタンス（例えばシミュレーションインスタンス４０２Ａ）上での分析アプリケーションの動作または性能は、不十分であるかまたは許容できないとされる。このことは、分析アプリケーションが、上記の特定のシミュレーションインスタンスの構成のような構成を有するエッジデバイス上で動作される場合には性能問題をまねくことになり得る。この例において分析アプリケーションには計算コストがかかり、したがってリソース構成４０４Ａの低いシミュレーションインスタンス４０２Ａ上では、分析アプリケーションの性能は不十分である。
【００４６】
パラメータ値に基づき、シミュレーションモジュール１０６は、シミュレーションインスタンス４０２Ａ〜Ｃから、分析アプリケーションの動作が十分であることが判明した１つ以上のシミュレーションインスタンスを識別する。言い換えると、これらのシミュレーションインスタンスについて計算されたパラメータ値は、あらかじめ定めた閾値レベル内にある。シミュレーションモジュール１０６により、分析アプリケーションの動作が十分であるシミュレーションインスタンス４０２Ｂおよび４０２Ｃが識別されるとする。
【００４７】
シミュレーションモジュール１０６は、シミュレーションインスタンス４０２Ｂおよび４０２Ｃのうちで最も低い固有リソース構成を有するシミュレーションインスタンスを特定する。このケースでは、シミュレーションモジュール１０６は、エッジデバイス１０４Ａ〜Ｎに分析アプリケーションをデプロイするのに最適なリソース構成として、シミュレーションインスタンス４０２Ｂに関連する固有リソース構成４０４Ｂを識別する。最適リソース構成は、分析アプリケーションのデプロイに適格であると認定されるためにエッジデバイスが有すべき最小の推奨されるリソース構成である。シミュレーションモジュール１０６は、アプリケーションリポジトリ１１２内の、分析アプリケーションに関連するメタファイルに最適リソース構成を格納する。
【００４８】
エッジデバイス１０４Ａに分析アプリケーションを供給するリクエストを受信すると、エッジデバイス管理モジュール１１０は、エッジデバイス１０４Ａから、リアルタイムリソース利用可能情報を取得する。エッジデバイス管理モジュール１１０は、リアルタイプリソース利用可能情報および最適リソース構成に基づいて分析アプリケーションをリアルタイムに実行するために、エッジデバイス１０４Ａのリアルタイムリソース機能を評価する。エッジデバイス１０４Ａが最適リソース構成を有する場合、供給モジュール１０８は、エッジデバイス１０４Ａに分析アプリケーションを供給する。このことは、分析アプリケーションがエッジデバイス１０４Ａ上で実行される場合に、分析アプリケーションの性能が十分になり得ることを保証するのに役立つ。
【００４９】
本発明は、１つ以上のコンピュータ、プロセッサまたは命令実行システムによって使用されるかもしくはこれらに関連するプログラムコードを格納するコンピュータ使用可能もしくはコンピュータ読み出し可能媒体から入手可能なプログラムモジュールを有するコンピュータプログラム製品の形態を取ることが可能である。この説明のために、コンピュータ使用可能もしくはコンピュータ読み出し可能媒体は、命令実行システム、装置またはデバイスによって使用されるかまたはこれらに関連するプログラムを含み、格納し、通信し、伝搬し、または伝送することが可能な任意の装置であってよい。上記の媒体は、電子的な、磁気的な、光学的な、電磁的な、赤外線式の、または半導体システム（または装置またはデバイス）または伝搬媒体それ自体であってよい。というのは、信号担体は、物理的なコンピュータ読み出し可能媒体の定義に含まれていないからである。上記の媒体には、半導体またはソリッドステートメモリ、磁気テープ、リムーバブルコンピュータディスケット、ランダムアクセスメモリ（ＲＡＭ）、読出専用メモリ（ＲＯＭ）、固定磁気ディスクおよびコンパクトディスク読出専用メモリ（ＣＤ−ＲＯＭ）、コンパクトディスク読み出し／書き込み、およびＤＶＤのような光学ディスクなどが含まれている。このテクノロジのそれぞれの様相を実現するためのプロセッサおよびプログラムコードの両方は、当業者に公知のように、一元化または分散化（またはこれらの組み合わせ）可能である。
【００５０】
特定の実施形態を参照して本発明を詳しく説明したが、当然のことながら本発明はこれらの実施形態に限定されない。本開示を考慮すれば、当業者には、ここに説明した本発明のさまざまな実施形態の範囲から逸脱することなく、多くの修正形態および変化形態が想到されよう。したがって本発明の範囲は、上記の説明によるのではなくむしろ添付の請求項によって示される。請求項の同等物の意味および範囲内に入るすべての変更形態、修正形態および変化形態は、その範囲内に入るものと見される。方法についての請求項に示したすべての有利な実施形態は、システム／装置についての請求項にも適用可能である。
【図１】
0006844067.tif 000002
【図２】
0006844067.tif 000003
【図３】
0006844067.tif 000004
【図４】
0006844067.tif 000005