IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 横河電機株式会社の特許一覧

特許7490969産業IOTを基にした協調的プラットフォームを実現するための方法、システム、およびコンピュータプログラム
<>
  • 特許-産業IOTを基にした協調的プラットフォームを実現するための方法、システム、およびコンピュータプログラム 図1
  • 特許-産業IOTを基にした協調的プラットフォームを実現するための方法、システム、およびコンピュータプログラム 図2
  • 特許-産業IOTを基にした協調的プラットフォームを実現するための方法、システム、およびコンピュータプログラム 図3
  • 特許-産業IOTを基にした協調的プラットフォームを実現するための方法、システム、およびコンピュータプログラム 図4
  • 特許-産業IOTを基にした協調的プラットフォームを実現するための方法、システム、およびコンピュータプログラム 図5
  • 特許-産業IOTを基にした協調的プラットフォームを実現するための方法、システム、およびコンピュータプログラム 図6
  • 特許-産業IOTを基にした協調的プラットフォームを実現するための方法、システム、およびコンピュータプログラム 図7
  • 特許-産業IOTを基にした協調的プラットフォームを実現するための方法、システム、およびコンピュータプログラム 図8
  • 特許-産業IOTを基にした協調的プラットフォームを実現するための方法、システム、およびコンピュータプログラム 図9
  • 特許-産業IOTを基にした協調的プラットフォームを実現するための方法、システム、およびコンピュータプログラム 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-20
(45)【発行日】2024-05-28
(54)【発明の名称】産業IOTを基にした協調的プラットフォームを実現するための方法、システム、およびコンピュータプログラム
(51)【国際特許分類】
   G06F 21/62 20130101AFI20240521BHJP
【FI】
G06F21/62 318
【請求項の数】 31
【外国語出願】
(21)【出願番号】P 2020012443
(22)【出願日】2020-01-29
(65)【公開番号】P2020177650
(43)【公開日】2020-10-29
【審査請求日】2022-12-26
(31)【優先権主張番号】201911015574
(32)【優先日】2019-04-18
(33)【優先権主張国・地域又は機関】IN
(73)【特許権者】
【識別番号】000006507
【氏名又は名称】横河電機株式会社
(74)【代理人】
【識別番号】100106909
【弁理士】
【氏名又は名称】棚井 澄雄
(74)【代理人】
【識別番号】100146835
【弁理士】
【氏名又は名称】佐伯 義文
(74)【代理人】
【識別番号】100167553
【弁理士】
【氏名又は名称】高橋 久典
(74)【代理人】
【識別番号】100181124
【弁理士】
【氏名又は名称】沖田 壮男
(72)【発明者】
【氏名】スブラマニアン・ペリアスワミー
【審査官】三森 雄介
(56)【参考文献】
【文献】国際公開第2014/199464(WO,A1)
【文献】特開2008-226005(JP,A)
【文献】米国特許出願公開第2009/0099895(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 9/44, 9/46
G06F 12/14,21/00-21/88
H04L 13/00-13/18
G05B 23/00-23/02
(57)【特許請求の範囲】
【請求項1】
産業環境内でのプロセスまたは装置の監視または制御のために構成された1つまたは複数のデバイスを制御し、監視し、または前記1つまたは複数のデバイスとインターフェースするためのソフトウェアコンポーネントの協調的開発のための方法であって、
1つまたは複数のデバイスを制御し、監視し、または前記1つまたは複数のデバイスとインターフェースするためのソフトウェアコンポーネントの開発仕様を、開発サーバプラットフォームにおいて受信するステップと、
複数のエンティティから参加提案を受信するステップであって、各参加提案は、前記複数のエンティティの各々が前記ソフトウェアコンポーネントの協調的開発への参加のために提案する参加パラメータを記載した情報を含む、ステップと、
前記複数のエンティティの中から、前記ソフトウェアコンポーネントを協調的に開発するための1組の協調者エンティティを選択するステップであって、前記1組の協調者エンティティが、少なくとも2つのエンティティを備え、前記少なくとも2つのエンティティが、前記開発サーバプラットフォームとは別個のものである、ステップと、
前記ソフトウェアコンポーネントの開発に関連付けられる1つまたは複数の役割を、前記選択された1組の協調者エンティティのうちの各エンティティに割り当てるステップであって、前記選択された1組の協調者エンティティのうちの少なくとも第1のエンティティに割り当てられる1つまたは複数の役割が、前記第1のエンティティによって制御される第1の組のデバイスによって生成されたパラメータデータに、前記選択された1組の協調者エンティティのうちの少なくとも第2のエンティティがアクセスすることを可能にすることを含む、ステップと、
前記ソフトウェアコンポーネントの前記協調的開発に関連付けられるアクセス制御されたポータルを生成するステップであって、
前記アクセス制御されたポータルに関連付けられる第1の組のアクセス権であって、前記選択された1組の協調者エンティティの中の各エンティティにとって前記アクセス制御されたポータル内で利用可能なアクセスまたは機能を規定する、第1の組のアクセス権、および
前記アクセス制御されたポータルに関連付けられる第2の組のアクセス権であって、前記第1のエンティティによって制御される前記第1の組のデバイスによって生成された前記パラメータデータに前記第2のエンティティがアクセスするための、前記第1のエンティティによって可能にされるアクセスを規定する、第2の組のアクセス権
を規定することを含む、ステップと、
1つまたは複数のデバイスを制御し、監視し、または前記1つまたは複数のデバイスとインターフェースするように前記ソフトウェアコンポーネントを実装するために、前記協調的に開発されるソフトウェアコンポーネントを公開するステップと
を含む、方法。
【請求項2】
前記第1の組のデバイスが、第1の組のIOTデバイスを備え、または
前記ソフトウェアコンポーネントによって制御され、監視され、またはインターフェースされる前記1つまたは複数のデバイスが、1つまたは複数のIOTデバイスである、
請求項1に記載の方法。
【請求項3】
前記ソフトウェアコンポーネントが、
前記1つまたは複数のデバイスからデータを収集し、または
前記1つまたは複数のデバイスから収集されたデータを処理し、前記処理されたデータに基づいて、1つまたは複数のタスクまたはソリューションを自動化または実現する
ために構成される、請求項1に記載の方法。
【請求項4】
前記第2のエンティティの遂行役割が、データを基にした状態検出モデルまたはデータを基にした状態予測モデルを備えるモデルの生成を含み、前記モデルの生成が、前記第2のエンティティに与えられた、前記第1のエンティティによって制御される前記第1の組のデバイスによって生成されたパラメータデータに関するアクセスに基づく、請求項1に記載の方法。
【請求項5】
前記協調的に開発されるソフトウェアコンポーネントが、前記第2のエンティティによって生成された前記モデルを備える、請求項4に記載の方法。
【請求項6】
1つまたは複数のデバイスを制御し、監視し、または前記1つまたは複数のデバイスとインターフェースするように前記ソフトウェアコンポーネントを実装することが、
前記開発サーバプラットフォームを通じて前記ソフトウェアコンポーネントにアクセスすること、および
前記第1の組のデバイスとは別個のものである第2の組のデバイスに関する制御機能、監視機能、インターフェース機能、データ収集機能、データ処理機能、または異常検出機能のうちの1つまたは複数を実装するようにプロセッサを基にしたエンジンを構成することであって、前記プロセッサを基にしたエンジンが、制御機能、監視機能、インターフェース機能、データ収集機能、データ処理機能、または異常検出機能のうちの前記1つまたは複数を実装するために、前記協調的に開発されるソフトウェアコンポーネントを備えるか、または前記協調的に開発されるソフトウェアコンポーネントと通信可能に結合される、前記構成すること
を含む、請求項5に記載の方法。
【請求項7】
前記第2の組のデバイスが1組のIOTデバイスを備える、請求項6に記載の方法。
【請求項8】
各参加提案内の前記参加パラメータが、(i)それぞれのエンティティの、前記エンティティが前記ソフトウェアコンポーネントの協調的開発への参加に関して提案する、権利もしくは役割を記載した情報、(ii)前記受信した参加提案に対応するエンティティによって制御されるデバイスのリストであって、前記リスト内のデバイスから、パラメータデータが、前記エンティティによって、前記1組の協調者エンティティの中からの1つもしくは複数の他のエンティティと共用されるように提案される、デバイスのリスト、または(iii)前記受信した参加提案に対応するエンティティによって制御される1つもしくは複数のデバイスからのパラメータデータが、前記エンティティによって、前記1組の協調者エンティティの中からの1つもしくは複数のエンティティと共用されるように提案される、継続期間もしくは有効期間のうちの少なくとも1つを含む、請求項1に記載の方法。
【請求項9】
前記第1の組のアクセス権が、
前記選択された1組の協調者エンティティのうちの他の任意のエンティティのカスタマデータに関する、前記選択された1組の協調者エンティティのうちの1つもしくは複数のエンティティのアクセス権を規定する許可、または
前記選択された1組の協調者エンティティのうちの任意のエンティティのカスタマデータの処理に関する、1つもしくは複数の規定されたデータプライバシー規制もしくはデータ保護規制に基づくデータアクセス許可
のうちのいずれか1つまたは複数を規定する、請求項1に記載の方法。
【請求項10】
前記第1のエンティティによって制御される前記第1の組のデバイスによって生成された前記パラメータデータが、時系列パラメータデータを含み、前記第1の組のデバイスが、産業環境内の1つまたは複数の資産、デバイス、コンポーネント、タグ、ハードウェア、またはソフトウェアを監視または制御するように構成されている、請求項1に記載の方法。
【請求項11】
前記選択された1組の協調者エンティティのうちの各エンティティに割り当てられた、前記ソフトウェアコンポーネントの開発に関連付けられる役割が、前記ソフトウェアコンポーネントの前記協調的開発に関連付けられた契約内に記録される、請求項1に記載の方法。
【請求項12】
前記ソフトウェアコンポーネントの前記協調的開発に関連付けられた前記契約が、前記第1のエンティティによって制御される前記第1の組のデバイスを特定する情報を含む、請求項11に記載の方法。
【請求項13】
前記契約が分散型台帳データ構造内に記録される、請求項11に記載の方法。
【請求項14】
前記1組の協調者エンティティのうちのエンティティによる前記アクセス制御されたポータル内での前記ソフトウェアコンポーネントの協調的開発が、前記アクセス制御されたポータルによって、前記第1の組のアクセス権および前記第2の組のアクセス権に基づいて制御される、請求項1に記載の方法。
【請求項15】
前記ソフトウェアコンポーネントが、1つまたは複数のデバイスに産業環境内の1つまたは複数の資産、デバイス、コンポーネント、タグ、ハードウェア、ソフトウェア、またはデータパラメータを監視または制御させるためのコンピュータ可読命令を含む、請求項1に記載の方法。
【請求項16】
産業環境内でのプロセスまたは装置の監視または制御のために構成された1つまたは複数のデバイスのためのコントローラの協調的開発のためのシステムであって、
1つまたは複数のデバイスを制御し、監視し、または前記1つまたは複数のデバイスとインターフェースするためのソフトウェアコンポーネントの開発仕様を、開発サーバプラットフォームにおいて受信することと、
複数のエンティティから参加提案を受信することであって、各参加提案は、前記複数のエンティティの各々が前記ソフトウェアコンポーネントの協調的開発への参加のために提案する参加パラメータを記載した情報を含む、前記受信することと、
前記複数のエンティティの中から、前記ソフトウェアコンポーネントを協調的に開発するための1組の協調者エンティティを選択することであって、前記1組の協調者エンティティが、少なくとも2つのエンティティを備え、前記少なくとも2つのエンティティが、前記開発サーバプラットフォームとは別個のものである、前記選択することと、
前記ソフトウェアコンポーネントの開発に関連付けられる1つまたは複数の役割を、前記選択された1組の協調者エンティティのうちの各エンティティに割り当てることであって、前記選択された1組の協調者エンティティのうちの少なくとも第1のエンティティに割り当てられる1つまたは複数の役割が、前記第1のエンティティによって制御される第1の組のデバイスによって生成されたパラメータデータに、前記選択された1組の協調者エンティティのうちの少なくとも第2のエンティティがアクセスすることを可能にすることを含む、前記割り当てることと、
前記ソフトウェアコンポーネントの前記協調的開発に関連付けられるアクセス制御されたポータルを生成することであって、
前記アクセス制御されたポータルに関連付けられる第1の組のアクセス権であって、前記選択された1組の協調者エンティティの中の各エンティティにとって前記アクセス制御されたポータル内で利用可能なアクセスまたは機能を規定する、第1の組のアクセス権、および
前記アクセス制御されたポータルに関連付けられる第2の組のアクセス権であって、前記第1のエンティティによって制御される前記第1の組のデバイスによって生成された前記パラメータデータに前記第2のエンティティがアクセスするための、前記第1のエンティティによって可能にされるアクセスを規定する、第2の組のアクセス権
を規定することを含む、前記生成することと、
1つまたは複数のデバイスを制御し、監視し、または前記1つまたは複数のデバイスとインターフェースするように前記ソフトウェアコンポーネントを実装するために、前記協調的に開発されるソフトウェアコンポーネントを公開することと
を行うように構成された少なくとも1つのサーバを備える、システム。
【請求項17】
前記第1の組のデバイスが、第1の組のIOTデバイスを備え、または
前記ソフトウェアコンポーネントによって制御され、監視され、またはインターフェースされる前記1つまたは複数のデバイスが、1つまたは複数のIOTデバイスである、
請求項16に記載のシステム。
【請求項18】
前記ソフトウェアコンポーネントが、
前記1つまたは複数のデバイスからデータを収集し、または
前記1つまたは複数のデバイスから収集されたデータを処理し、前記処理されたデータに基づいて、1つまたは複数のタスクまたはソリューションを自動化または実現する
ために構成される、請求項16に記載のシステム。
【請求項19】
前記第2のエンティティの遂行役割が、データを基にした状態検出モデルまたはデータを基にした状態予測モデルを備えるモデルの生成を含み、前記モデルの生成が、前記第2のエンティティに与えられた、前記第1のエンティティによって制御される前記第1の組のデバイスによって生成されたパラメータデータに関するアクセスに基づく、請求項16に記載のシステム。
【請求項20】
前記協調的に開発されるソフトウェアコンポーネントが、前記第2のエンティティによって生成された前記モデルを備える、請求項19に記載のシステム。
【請求項21】
1つまたは複数のデバイスを制御し、監視し、または前記1つまたは複数のデバイスとインターフェースするように前記ソフトウェアコンポーネントを実装することが、
前記開発サーバプラットフォームを通じて前記ソフトウェアコンポーネントにアクセスすること、および
前記第1の組のデバイスとは別個のものである第2の組のデバイスに関する制御機能、監視機能、インターフェース機能、データ収集機能、データ処理機能、または異常検出機能のうちの1つまたは複数を実装するようにプロセッサを基にしたエンジンを構成することであって、前記プロセッサを基にしたエンジンが、制御機能、監視機能、インターフェース機能、データ収集機能、データ処理機能、または異常検出機能のうちの前記1つまたは複数を実装するために、前記協調的に開発されるソフトウェアコンポーネントを備えるか、または前記協調的に開発されるソフトウェアコンポーネントと通信可能に結合される、前記構成すること
を含む、請求項20に記載のシステム。
【請求項22】
前記第2の組のデバイスが1組のIOTデバイスを備える、請求項21に記載のシステム。
【請求項23】
各参加提案内の前記参加パラメータが、(i)それぞれのエンティティの、前記エンティティが前記ソフトウェアコンポーネントの協調的開発への参加に関して提案する、権利もしくは役割を記載した情報、(ii)前記受信した参加提案に対応するエンティティによって制御されるデバイスのリストであって、前記リスト内のデバイスから、パラメータデータが、前記エンティティによって、前記1組の協調者エンティティの中からの1つもしくは複数の他のエンティティと共用されるように提案される、デバイスのリスト、または(iii)前記受信した参加提案に対応するエンティティによって制御される1つもしくは複数のデバイスからのパラメータデータが、前記エンティティによって、前記1組の協調者エンティティの中からの1つもしくは複数のエンティティと共用されるように提案される、継続期間もしくは有効期間、のうちの少なくとも1つを含む、請求項16に記載のシステム。
【請求項24】
前記第1の組のアクセス権が、
前記選択された1組の協調者エンティティのうちの他の任意のエンティティのカスタマデータに関する、前記選択された1組の協調者エンティティのうちの1つもしくは複数のエンティティのアクセス権を規定する許可、または
前記選択された1組の協調者エンティティのうちの任意のエンティティのカスタマデータの処理に関する、1つもしくは複数の規定されたデータプライバシー規制もしくはデータ保護規制に基づくデータアクセス許可
のうちのいずれか1つまたは複数を規定する、請求項16に記載のシステム。
【請求項25】
前記第1のエンティティによって制御される前記第1の組のデバイスによって生成された前記パラメータデータが、時系列パラメータデータを含み、前記第1の組のデバイスが、産業環境内の1つまたは複数の資産、デバイス、コンポーネント、タグ、ハードウェア、またはソフトウェアを監視または制御するように構成されている、請求項16に記載のシステム。
【請求項26】
前記選択された1組の協調者エンティティのうちの各エンティティに割り当てられた、前記ソフトウェアコンポーネントの開発に関連付けられる役割が、前記ソフトウェアコンポーネントの前記協調的開発に関連付けられた契約内に記録される、請求項16に記載のシステム。
【請求項27】
前記ソフトウェアコンポーネントの前記協調的開発に関連付けられた前記契約が、前記第1のエンティティによって制御される前記第1の組のデバイスを特定する情報を含む、請求項26に記載のシステム。
【請求項28】
前記契約が分散型台帳データ構造内に記録される、請求項26に記載のシステム。
【請求項29】
前記1組の協調者エンティティのうちのエンティティによる前記アクセス制御されたポータル内での前記ソフトウェアコンポーネントの協調的開発が、前記アクセス制御されたポータルによって、前記第1の組のアクセス権および前記第2の組のアクセス権に基づいて制御される、請求項16に記載のシステム。
【請求項30】
前記ソフトウェアコンポーネントが、1つまたは複数のデバイスに産業環境内の1つまたは複数の資産、デバイス、コンポーネント、タグ、ハードウェア、ソフトウェア、またはデータパラメータを監視または制御させるためのコンピュータ可読命令を含む、請求項16に記載のシステム。
【請求項31】
産業環境内でのプロセスまたは装置の監視または制御のために構成された1つまたは複数のデバイスを制御し、監視し、または前記1つまたは複数のデバイスとインターフェースするためのソフトウェアコンポーネントの協調的開発のためのコンピュータプログラムであって、前記コンピュータプログラムが、コンピュータ可読プログラムコードを備え、前記コンピュータ可読プログラムコードが、
1つまたは複数のデバイスを制御し、監視し、または前記1つまたは複数のデバイスとインターフェースするためのソフトウェアコンポーネントの開発仕様を、開発サーバプラットフォームにおいて受信するステップと、
複数のエンティティから参加提案を受信するステップであって、各参加提案は、前記複数のエンティティの各々が前記ソフトウェアコンポーネントの協調的開発への参加のために提案する参加パラメータを記載した情報を含む、ステップと、
前記複数のエンティティの中から、前記ソフトウェアコンポーネントを協調的に開発するための1組の協調者エンティティを選択するステップであって、前記1組の協調者エンティティが、少なくとも2つのエンティティを備え、前記少なくとも2つのエンティティが、前記開発サーバプラットフォームとは別個のものである、ステップと、
前記ソフトウェアコンポーネントの開発に関連付けられる1つまたは複数の役割を、前記選択された1組の協調者エンティティのうちの各エンティティに割り当てるステップであって、前記選択された1組の協調者エンティティのうちの少なくとも第1のエンティティに割り当てられる1つまたは複数の役割が、前記第1のエンティティによって制御される第1の組のデバイスによって生成されたパラメータデータに、前記選択された1組の協調者エンティティのうちの少なくとも第2のエンティティがアクセスすることを可能にすることを含む、ステップと、
前記ソフトウェアコンポーネントの前記協調的開発に関連付けられるアクセス制御されたポータルを生成するステップであって、
前記アクセス制御されたポータルに関連付けられる第1の組のアクセス権であって、前記選択された1組の協調者エンティティの中の各エンティティにとって前記アクセス制御されたポータル内で利用可能なアクセスまたは機能を規定する、第1の組のアクセス権、および
前記アクセス制御されたポータルに関連付けられる第2の組のアクセス権であって、前記第1のエンティティによって制御される前記第1の組のデバイスによって生成された前記パラメータデータに前記第2のエンティティがアクセスするための、前記第1のエンティティによって可能にされるアクセスを規定する、第2の組のアクセス権
を規定することを含む、ステップと、
1つまたは複数のデバイスを制御し、監視し、または前記1つまたは複数のデバイスとインターフェースするように前記ソフトウェアコンポーネントを実装するために、前記協調的に開発されるソフトウェアコンポーネントを公開するステップと
を、プロセッサを基にしたコンピューティングシステム内で実施するための命令を含む、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ソフトウェアソリューションの協調的開発の分野に関し、より詳細には、1つまたは複数のデバイスを制御し、監視し、それとインターフェースし、またはその他、それと通信するためのアプリケーションまたはソフトウェアコンポーネントの協調的な開発および配布を行うように構成された協調プラットフォームに関係する、方法、システム、およびコンピュータプログラムに関する。
【背景技術】
【0002】
産業環境、例えば製造、生産、抽出、構築、その他のための環境は、複雑なシステムおよびデバイス、ならびに同様に複雑なワークフローを必要とする。これらの環境におけるオペレータは、機能上の目的を達成するため、またパフォーマンスを最適化するために、異なる技術の設計、開発、配備、および動作に関するパラメータおよびメトリックの広範なセットに対する責任を負わなければならない。従来、そのようなパラメータに対応するデータの収集は、主として人手によるものであり、したがって時間がかかり、高価であった。しかし、モノのインターネット(IoT)の出現により、広範なデバイスおよびセンサに常時接続すること、ならびにそのようなデバイスおよびセンサからのデータを有意味に解析しそれに応答することが可能になった。従来、IOT能力は、消費者向けデバイス内への実装に関係するものと考えられてきたが、IOTソリューションは今や、産業環境(industrial setting)に移行し、産業IOT/IIOTと呼ばれている。
【0003】
しかし、産業環境の複雑さは高度であり、監視されているパラメータは決定的に重要であり、したがって、必要とされる異なる制御機構およびセンサの数は多く、その結果として、複数のデバイスまたはセンサからのデータを扱う複雑さが、産業部門にとって重要かつ効果的な技術ソリューションを容易に生み出すことを困難にしている、ということが分かっている。
【発明の概要】
【発明が解決しようとする課題】
【0004】
したがって、産業環境におけるデバイスを基にしたデータ収集のための改善されたソリューションと、収集されたデータが、産業環境内に実装するための改善されたデバイスを基にした監視ソリューション、制御ソリューション、および診断ソリューションの開発および配布に使用されることを可能にする、改善された方法およびシステムとが必要とされている。
【課題を解決するための手段】
【0005】
本発明は、1つまたは複数のデバイスを制御し、監視し、それとインターフェースし、または、そうでなければ、通信するためのアプリケーションまたはソフトウェアコンポーネントの協調的な開発および配布を行うように構成された協調プラットフォームに関係する、方法、システム、およびコンピュータプログラムを提供する。
【0006】
一方法実施形態では、本発明は、産業環境内でのプロセスまたは装置の監視または制御のために構成された1つまたは複数のデバイスを制御し、監視し、またはそれとインターフェースするためのソフトウェアコンポーネントの協調的開発のための方法であって、(i)1つまたは複数のデバイスを制御し、監視し、またはそれとインターフェースするためのソフトウェアコンポーネントの開発仕様を、開発サーバプラットフォームにおいて受信することと、(ii)複数のエンティティから参加提案を受信することであって、各参加提案は、当該エンティティがソフトウェアコンポーネントの協調的開発へのその参加のために提案する参加パラメータを記載した情報を含む、受信することと、(iii)複数のエンティティの中から、ソフトウェアコンポーネントを協調的に開発するための1組の協調者(collaborator)エンティティを選択することであって、1組の協調者エンティティが、少なくとも2つのエンティティを備え、少なくとも2つのエンティティが、開発サーバプラットフォームとは別個のものである、選択することと、(iv)ソフトウェアコンポーネントの開発に関連付けられる1つまたは複数の役割を、選択された1組の協調者エンティティのうちの各エンティティに割り当てることであって、選択された1組の協調者エンティティのうちの少なくとも第1のエンティティに割り当てられる1つまたは複数の役割が、第1のエンティティによって制御される第1の組のデバイスによって生成されたパラメータデータに、選択された1組の協調者エンティティのうちの少なくとも第2のエンティティがアクセスすることを可能にすることを含む、割り当てることと、(v)ソフトウェアコンポーネントの協調的開発に関連付けられるアクセス制御されたポータルを生成することであって、(a)アクセス制御されたポータルに関連付けられる第1の組のアクセス権であって、選択された1組の協調者エンティティの中の各エンティティにとってアクセス制御されたポータル内で利用可能なアクセスまたは機能を規定する、第1の組のアクセス権、および(b)アクセス制御されたポータルに関連付けられる第2の組のアクセス権であって、第1のエンティティによって制御される第1の組のデバイスによって生成されたパラメータデータに第2のエンティティがアクセスするための、
第1のエンティティによって可能にされるアクセスを規定する、第2の組のアクセス権を規定することを含む、生成することと、(vi) 1つまたは複数のデバイスを制御し、監視し、またはそれとインターフェースするようにソフトウェアコンポーネントを実装するために、協調的に開発されるソフトウェアコンポーネントを公開することとを含む、方法を含む。さまざまな実施形態では、方法は、以下により詳細に論じる1つまたは複数の方法上の制限を含むことがある。
【0007】
本発明はさらに、産業環境内でのプロセスまたは装置の監視または制御のために構成された1つまたは複数のデバイスのためのコントローラの協調的開発のためのシステムを提供する。システムは、(i)1つまたは複数のデバイスを制御し、監視し、またはそれとインターフェースするためのソフトウェアコンポーネントの開発仕様を、開発サーバプラットフォームにおいて受信することと、(ii)複数のエンティティから参加提案を受信することであって、各参加提案は、そのようなエンティティがソフトウェアコンポーネントの協調的開発へのその参加のために提案する参加パラメータを記載した情報を含む、受信することと、(iii)複数のエンティティの中から、ソフトウェアコンポーネントを協調的に開発するための1組の協調者エンティティを選択することであって、1組の協調者エンティティが、少なくとも2つのエンティティを備え、少なくとも2つのエンティティが、開発サーバプラットフォームとは別個のものである、選択することと、(iv)ソフトウェアコンポーネントの開発に関連付けられる1つまたは複数の役割を、選択された1組の協調者エンティティのうちの各エンティティに割り当てることであって、選択された1組の協調者エンティティのうちの少なくとも第1のエンティティに割り当てられる1つまたは複数の役割が、第1のエンティティによって制御される第1の組のデバイスによって生成されたパラメータデータに、選択された1組の協調者エンティティのうちの少なくとも第2のエンティティがアクセスすることを可能にすることを含む、割り当てることと、(v)ソフトウェアコンポーネントの協調的開発に関連付けられるアクセス制御されたポータルを生成することであって、(a)アクセス制御されたポータルに関連付けられる第1の組のアクセス権であって、選択された1組の協調者エンティティの中の各エンティティにとってアクセス制御されたポータル内で利用可能なアクセスまたは機能を規定する、第1の組のアクセス権、および(b)アクセス制御されたポータルに関連付けられる第2の組のアクセス権であって、第1のエンティティによって制御される第1の組のデバイスによって生成されたパラメータデータに第2のエンティティがアクセスするための、第1のエンティティによって可能にされるアクセスを規定する、第2の組のアクセス権を規定することを含む、生成することと、(vi)1つまたは複数のデバイスを制御し、監視し、またはそれとインターフェースするようにソフトウェアコンポーネントを実装するために、協調的に開発されるソフトウェアコンポーネントを公開することとを行うように構成された少なくとも1つのサーバを備える。さまざまな実施形態では、システムは、以下により詳細に論じる1つまたは複数の方法上の制限を含むことがある。
【0008】
さらに、本発明は、産業環境内でのプロセスまたは装置の監視または制御のために構成された1つまたは複数のデバイスを制御し、監視し、またはそれとインターフェースするためのソフトウェアコンポーネントの協調的開発のためのコンピュータプログラム製品であって、コンピュータプログラム製品が、その中に具現化されたコンピュータ可読プログラムコードを有する非一時的コンピュータ使用可能媒体を備え、コンピュータ可読プログラムコードが、(i)1つまたは複数のデバイスを制御し、監視し、またはそれとインターフェースするためのソフトウェアコンポーネントの開発仕様を、開発サーバプラットフォームにおいて受信することと、(ii)複数のエンティティから参加提案を受信することであって、各参加提案は、そのようなエンティティがソフトウェアコンポーネントの協調的開発へのその参加のために提案する参加パラメータを記載した情報を含む、受信することと、(iii)複数のエンティティの中から、ソフトウェアコンポーネントを協調的に開発するための1組の協調者エンティティを選択することであって、1組の協調者エンティティが、少なくとも2つのエンティティを備え、少なくとも2つのエンティティが、開発サーバプラットフォームとは別個のものである、選択することと、(iv)ソフトウェアコンポーネントの開発に関連付けられる1つまたは複数の役割を、選択された1組の協調者エンティティのうちの各エンティティに割り当てることであって、選択された1組の協調者エンティティのうちの少なくとも第1のエンティティに割り当てられる1つまたは複数の役割が、第1のエンティティによって制御される第1の組のデバイスによって生成されたパラメータデータに、選択された1組の協調者エンティティのうちの少なくとも第2のエンティティがアクセスすることを可能にすることを含む、割り当てることと、(v)ソフトウェアコンポーネントの協調的開発に関連付けられるアクセス制御されたポータルを生成することであって、(a)アクセス制御されたポータルに関連付けられる第1の組のアクセス権であって、選択された1組の協調者エンティティの中の各エンティティにとってアクセス制御されたポータル内で利用可能なアクセスまたは機能を規定する、第1の組のアクセス権、および(b)アクセス制御されたポータルに関連付けられる第2の組のアクセス権であって、第1のエンティティによって制御される第1の組のデバイスによって生成されたパラメータデータに第2のエンティティがアクセスするための、第1のエンティティによって可能にされるアクセスを規定する、第2の組のアクセス権を規定することを含む、生成することと、(vi)1つまたは複数のデバイスを制御し、監視し、またはそれとインターフェースするようにソフトウェアコンポーネントを実装するために、協調的に開発されるソフトウェアコンポーネントを公開することとを、プロセッサを基にしたコンピューティングシステム内で実施するための命令を含む、コンピュータプログラム製品を提供する。さまざまな実施形態では、コンピュータプログラム製品は、以下により詳細に論じる1つまたは複数の方法上の制限を含むことがある。
【図面の簡単な説明】
【0009】
図1】本発明の教示を実現するために使用することのできるタイプのシステム環境を示す図である。
図2】IIOT技術のための協調的開発および配布プラットフォームを提供するように構成された、本発明の教示による協調的システム環境を示す図である。
図3図2のシステム環境内に実装することのできるタイプの例示的な開発サーバプラットフォームを示す図である。
図4】一分散型台帳実装形態に基づく本発明の一実施形態を示す図である。
図5】本発明の教示による分散型台帳の例示的な構造を示す図である。
図6】本発明の特定の実装形態による分散型台帳内のトランザクションブロックの例示的な構造を示す図である。
図7】本発明の教示を実現するように構成されたシステム環境内で協調的ソフトウェアソリューションの開発を開始する方法を示す図である。
図8】本発明の教示を実現するように構成されたシステム環境内で、開発が開始されたソフトウェアコンポーネントの協調的開発を可能にする方法を示す図である。
図9】本発明の教示を実現するように構成されたシステム環境内で開発された、協調的に開発されるソフトウェアコンポーネントソリューションを配布する方法を示す図である。
図10】本発明のさまざまな実施形態をそれに従って実装することのできる、例示的なコンピュータシステムを示す図である。
【発明を実施するための形態】
【0010】
本発明は、1つまたは複数のデバイスを制御し、監視し、それとインターフェースし、またはその他の方途で通信するためのアプリケーションまたはソフトウェアコンポーネントの協調的な開発および配布を行うように構成された協調的開発プラットフォームに関係する、方法、システム、およびコンピュータプログラムを提供する。
【0011】
以下に記載の説明では、「デバイス」、「IOTデバイス」、「IOTセンサ」、および「センサ」という用語は、交換可能に使用されることがあり、例えば産業環境内の、1つまたは複数の資産、デバイス、コンポーネント、タグ、ハードウェア、ソフトウェア、またはデータパラメータに対応するパラメータを監視または制御するように構成された、デバイスまたはコンポーネントを指すものと理解されるものとする。
【0012】
図1は、本発明の教示を実現することのできる、一種のシステム環境を示す。システム環境100は、例えば産業環境内の、1つもしくは複数の資産、デバイス、コンポーネント、タグ、ハードウェア、ソフトウェア、もしくはデータパラメータに対応する動作パラメータを監視もしくは制御するように、または、そうでなければ、例えば産業環境内の、1つもしくは複数の資産、デバイス、コンポーネント、タグ、ハードウェア、ソフトウェア、もしくはデータパラメータとインターフェースもしくは通信するように構成された、デバイスネットワーク102を含む。デバイスネットワーク102は、例示的なデバイス1 102a、デバイス2 102b、デバイスN 102cまでを含み、それらのデバイスは個々にまたは全体で、例えば産業環境内の、1つもしくは複数の資産、デバイス、コンポーネント、タグ、ハードウェア、ソフトウェア、もしくはデータパラメータに対応する動作パラメータを監視もしくは制御するように、または、そうでなければ、例えば産業環境内の、1つもしくは複数の資産、デバイス、コンポーネント、タグ、ハードウェア、ソフトウェア、もしくはデータパラメータとインターフェースもしくは通信するように構成されている。デバイスネットワーク102内の各デバイスは、デバイス、マシン、センサ、ハードウェアデバイスに組み込まれたソフトウェアスタック、産業制御システム、またはネットワークゲートウェイのうちのいずれか1つまたは複数を備えることができる。監視機能、制御機能、インターフェース機能、または通信機能を有することに加えて、デバイスネットワーク102内のデバイスは、一方の側では(例えば産業環境内にある)資産、デバイス、コンポーネント、タグ、ハードウェア、ソフトウェア、またはデータパラメータと、他方の側ではデバイスサーバプラットフォーム106との間のセキュアな双方向接続、およびそれらのセキュアな管理を提供するように構成されていてもよい。
【0013】
本発明の一実施形態では、デバイスネットワーク102とデバイスサーバプラットフォーム106との間の接続または通信は、通信ネットワーク104を通じて達成され得、通信ネットワーク104は、2つ以上のデバイス間のデータ通信を可能にする、基礎をなす任意のネットワークを備えることができ、限定はしないが、ローカルエリアネットワーク、広域ネットワーク、インターネット、または他の任意のデータネットワークのうちのいずれかを含むことができる。
【0014】
デバイスサーバプラットフォーム106は、1つまたは複数のサーバを備えるサーバプラットフォームであり、デバイスネットワーク102を通じた、(例えば産業環境内にある)1つまたは複数の資産、デバイス、コンポーネント、タグ、ハードウェア、ソフトウェア、またはデータパラメータの、ネットワークを基にした監視、制御、それとのインターフェース、または通信を可能にするように構成される。デバイスサーバプラットフォーム106内の1つまたは複数のサーバは、ネットワークインターフェース1062、アクセスコントローラ1064、デバイス通信コントローラ1066、およびデバイスデータヒストリアン1068を実現するように構成され得る。さまざまな実施形態では、デバイスサーバプラットフォーム106は、デバイスネットワーク102内、またはデバイスネットワーク102と通信可能に結合されたネットワーク内にあってもよく、クラウドを基にしたものであってもよい。
【0015】
ネットワークインターフェース1062は、(i)デバイスサーバプラットフォーム106とデバイスネットワーク102内の1つもしくは複数のデバイスとの間、および/または(ii)デバイスサーバプラットフォーム106と1つもしくは複数の端末デバイス108との間のネットワークを基にした双方向通信を可能にするように構成された、プロセッサにより実現されたネットワークインターフェースを備える。本発明の一実施形態では、ネットワークインターフェース1062は、(i)デバイス通信コントローラ1066とデバイスネットワーク102内の1つまたは複数のデバイスとの間、および(ii)1つまたは複数の端末デバイス108とデバイス通信コントローラ1066との間のネットワークを基にした双方向通信を可能にするように構成された、プロセッサにより実現されたネットワークインターフェースである。
【0016】
デバイス通信コントローラ1066は、(i)デバイスネットワーク102内のデバイス内の1つもしくは複数の機能を監視もしくは制御するように、またはデバイスネットワーク102内のデバイスとインターフェースもしくは通信するように、また(ii)前記デバイスを通じて、システム環境(例えば産業環境)内の、1つまたは複数の資産、デバイス、コンポーネント、タグ、ハードウェア、ソフトウェア、またはデータパラメータを監視し、制御し、またはそれとインターフェースし、もしくは通信するように構成された、プロセッサにより実現されたコントローラを備える。特定の一実施形態では、デバイス通信コントローラ1066は、端末デバイス108から受信した命令に基づいて、デバイスネットワーク102内のデバイスの機能(および/またはデバイスネットワーク102内のデバイスによって監視もしくは制御される資産、デバイス、コンポーネント、タグ、ハードウェア、ソフトウェア、もしくはデータパラメータ)を監視または制御するように構成され得る。
【0017】
アクセスコントローラ1064は、デバイスサーバプラットフォーム106に関するアクセス制御機能を提供するように構成された、プロセッサにより実現されたコントローラを備える。アクセスコントローラ1064は、デバイスネットワーク102内の1つまたは複数のデバイスが、デバイスサーバプラットフォーム106へのアクセス権を与えられたかどうか、かつ/またはデバイスサーバプラットフォーム106との通信権利を与えられたかどうかを判定するように構成される。前記アクセス権は、デバイスネットワーク102内のデバイスのセットアップまたは構成中に登録プロセスによって与えられ得、その場合、デバイスをセットアップする技術者および/またはデバイスサーバプラットフォーム106を構成もしくは操作するシステムオペレータが、(i)デバイスサーバプラットフォーム106が、特定のデバイスを監視および/または制御するためのアクセス権を与えられるかどうか、また(ii)特定のデバイスが、デバイスサーバプラットフォーム106にデータを送信する権利を与えられるかどうかを指定する。デバイスネットワーク102内の1つまたは複数のデバイスに対応するアクセス権は、デバイスサーバプラットフォーム106内の、またはデバイスサーバプラットフォーム106と通信可能に結合された、アクセス権のリポジトリまたはデータベース内に格納され得る。その後、デバイスサーバプラットフォーム106から、デバイスからのデータにアクセスするか、または監視命令もしくは制御命令をデバイスに転送する前に、アクセスコントローラ1064は、前記デバイスに関連付けられる指定されたアクセス権を確認して、データアクセス動作、デバイス監視動作、デバイス制御動作、またはデバイス通信動作もしくはデバイスインターフェース動作を許可または阻止する。
【0018】
デバイスネットワーク102内の1つまたは複数のデバイスから受信したデバイスデータは、デバイスサーバプラットフォーム106内の、またはデバイスサーバプラットフォーム106と通信可能に結合された、デバイスデータヒストリアン1068内に格納され得る。一実施形態では、デバイスデータは時系列データであり、データがそこから受信されたデバイスおよび/またはデバイスネットワークの識別情報またはネットワーク位置を特定するために使用され得る1つまたは複数の識別子、タイムスタンプ、ならびにデバイスの状態および/またはデバイスによって監視されている(例えば産業環境内の)資産、センサ、デバイス、コンポーネント、タグ、ハードウェア、もしくはソフトウェアの状態に対応する1つまたは複数のデータパラメータを含む。
【0019】
(通信ネットワーク104を通じてデバイスサーバプラットフォーム106と通信可能に結合され得る)端末デバイス108は、任意のコンピューティングデバイス108a、モバイル通信デバイス108b、またはネットワークを基にした通信の可能な他のデータ処理デバイスを備えることができる。端末デバイス108が通信ネットワーク104およびネットワークインターフェース1062を通じてデバイスサーバプラットフォーム106と通信可能にインターフェースできるようにすることによって、端末デバイス108のユーザまたはオペレータは、デバイスネットワーク102内の1つもしくは複数のデバイスおよび/または産業環境内の1つもしくは複数の資産、デバイス、センサ、コンポーネント、タグ、ハードウェア、ソフトウェア、もしくはデータパラメータを、遠隔から監視および制御することができる。
【0020】
システム環境100の特定の一実施形態では、アクセスコントローラ1064は、デバイスサーバプラットフォーム106へのアクセスを要求している1つもしくは複数の端末デバイス108、またはデバイスサーバプラットフォーム106へのアクセスを要求している(もしくはデバイスサーバプラットフォーム106を通じてデバイスネットワーク102内の1つもしくは複数のデバイスへのアクセスを要求している)1人もしくは複数のユーザもしくはオペレータが、デバイスサーバプラットフォーム106に対する、またはデバイスネットワーク102内の当該デバイスに対する、十分な(または任意の)アクセス権を与えられたかどうかを判定するようにさらに構成され得る。いくつかの実施形態では、前記アクセス権は、事前の登録プロセス中に与えられていてよく、その場合、特定のユーザ/オペレータ/端末デバイスが、デバイスサーバプラットフォーム106に対する、かつ/またはデバイスネットワーク102内の1つもしくは複数のデバイスに対する、アクセス権を与えられる。1人または複数のユーザ/オペレータ/1つまたは複数の端末デバイスに対応するアクセス権は、デバイスサーバプラットフォーム106内の、またはデバイスサーバプラットフォーム106と通信可能に結合された、アクセス権のリポジトリまたはデータベース内に格納され得る。その後、ユーザ/オペレータ/端末デバイスにデータを転送するか、またはユーザ/オペレータ/端末デバイスから監視命令もしくは制御命令を受信する前に、アクセスコントローラ1064は、前記ユーザ/オペレータ/端末デバイスに関連付けられる指定されたアクセス権を解析して、アクセス動作、デバイス監視動作、デバイス制御動作、またはデバイスインターフェース動作もしくはデバイス通信動作を許可または拒否する。
【0021】
図1は、ただ1つのデバイスネットワーク102を示しているが、デバイスサーバプラットフォーム106は、1つまたは複数の別個のデバイスセットを各々が備える複数のデバイスネットワークと通信可能に結合され、それらを監視および制御するように構成され得る、ということが理解されよう。
【0022】
図2は、本発明による協調的システム環境200を示しており、このプラットフォームは、一実施形態では、ソフトウェアコンポーネントまたはソフトウェアソリューションのための協調的開発および配布プラットフォームを提供するように構成され得る。
【0023】
システム環境200にとって不可欠の要素は、開発サーバプラットフォーム202であり、これは、ソフトウェアアプリケーションまたはソフトウェアコンポーネントの協調的開発および配布を可能にするように構成された、サーバを基にしたプラットフォームである。開発サーバプラットフォーム202は、単一のコンピュータ/サーバ、単一のプロセッサ、および単一のメモリデバイスを備えてもよく、あるいは、複数のメモリデバイス(例えば複数のデータベース)と共に動作する複数のコンピュータ/サーバを備えてもよい。開発サーバプラットフォーム202のさまざまな機能は、単一のコンピュータ/サーバを通じて実装されてもよく、複数のコンピュータ/サーバの間で分割されてもよい。開発サーバプラットフォーム202は、協調的アプリケーション開発および配布のさまざまな段階および実装を助けるように構成され、その構成およびコンポーネントについては、下で図3および図7から図9に関してより詳細に説明する。
【0024】
図2から、開発サーバプラットフォーム202は、(先に図1に関して論じたような)1つまたは複数のデバイスネットワークを備える1組のデバイスネットワーク206と通信可能に結合されるとともにそれを監視および制御するように構成された(先に図1に関して論じたような)少なくとも1つのデバイスサーバプラットフォーム204と、通信可能に結合されることが分かるであろう。システム環境200では、1組のデバイスネットワーク206は、デバイスネットワーク1 2062、デバイスネットワーク2 2064、デバイスネットワークN 2066までを備える。デバイスサーバプラットフォーム204は、上で図1に関して簡単に説明したように、1組のデバイスネットワーク206内の1つまたは複数のデバイスの監視もしくは制御、またはそれとのインターフェースもしくは通信を可能にするように構成され得る。さまざまな実施形態では、デバイスサーバプラットフォーム204は、1組のデバイスネットワーク206内の任意のデバイスネットワーク内、または1組のデバイスネットワーク206内のデバイスネットワークのうちのいずれか1つもしくは複数と通信可能に結合されたネットワーク内にあってもよく、クラウドを基にしたものであってもよい。
【0025】
開発サーバプラットフォーム202とデバイスサーバプラットフォーム204との間の通信可能な結合により、開発サーバプラットフォーム202が、デバイスサーバプラットフォームに、1組のデバイスネットワーク206内の1つまたは複数のデバイスに対応するデバイスデータを要求し、デバイスサーバプラットフォームからそのデバイスデータを受信することが可能になり、これについては、後続の図に関してより詳細に論じる。
【0026】
さらに、図2に示すように、開発サーバプラットフォーム202は、複数の他のエンティティと通信可能に結合され得、それによって、複数の結合されたエンティティが、ソフトウェアソリューションまたはソフトウェアアプリケーションの協調的開発を目的として、開発サーバプラットフォーム202を通じて協調することが可能になる。開発サーバプラットフォーム202と通信可能に結合され得る例示的な非限定の協調エンティティとしては、
・デバイスネットワークサービスサブスクライバ208 - デバイスサーバプラットフォーム204を通じて利用され得るデバイスネットワーク監視および制御サービスへの1つまたは複数のサブスクライバを含む
・サポートサービスプロバイダ210 - デバイス関連のサポートサービス(例えば補修サービス、アップグレードサービス、補給(servicing)サービス、および/または定期保守サービス)を提供する、1つまたは複数のエンティティを含む
・デバイスベンダ/デバイス製造業者212 - デバイスの1つもしくは複数のベンダもしくは製造業者、またはデバイスもしくはIOTセンサによって監視される(例えば産業環境内で動作するように構成された)資産、センサ、コンポーネント、タグ、ハードウェア、ソフトウェア、もしくはシステムの1つもしくは複数のベンダもしくは製造業者を含む
・統合サポート/ソリューションプロバイダ214 - デバイス技術を産業環境内に統合するためのサポートまたは技術ソリューションを提供する、1つまたは複数のサービスプロバイダを含む
・エンドカスタマ216 - (例えば産業環境内の)資産、デバイス、センサ、コンポーネント、タグ、ハードウェア、ソフトウェア、またはシステムを監視または制御するための技術ソリューションを実装した、1つまたは複数のカスタマまたはエンティティを含む
・デバイスサービスプロバイダ218 - 産業環境内のデバイスを基にした技術ソリューションを実装したエンティティまたはエンドカスタマにデバイスを基にしたサービスを提供する、1つまたは複数のサービスプロバイダまたはエンティティを含む
・デバイスサーバプラットフォーム204に関係する製品提供物のマーケティング/セールスと関連のある、マーケティングチームおよびセールスチーム(図示せず)
・エンドカスタマビジネスチーム(図示せず)
・デバイスサーバプラットフォーム開発チーム/エンドユーザ開発チーム(図示せず)
・物流サービスプロバイダ(図示せず)
がある。
【0027】
下でより詳細に論じるように、システム環境200は、デバイスネットワーク内の1つまたは複数のデバイスを、デバイスサーバプラットフォーム204を通じて監視または制御するために実現することの可能な1つまたは複数のソフトウェアソリューションまたはデバイスに特定のソリューションを開発および/または配布するために、(例えば図2に示す協調エンティティのうちのいずれかを含む)複数の協調エンティティが開発サーバプラットフォーム202を通じて協調的に対話することを可能にするように構成される。
【0028】
図3は、図2のシステム環境内に実現することのできるタイプの例示的な開発サーバプラットフォーム300を示す。
【0029】
開発サーバプラットフォーム300は、プロセッサにより実現されたデバイスサーバプラットフォームインターフェース3022、プロセッサにより実現されたピアツーピア通信コントローラ3024、ポータルサブスクリプションデータベース3026、プロセッサにより実現された協調コントローラ3042、協調データベース3044、プロセッサにより実現されたスマート契約エンジン3046、プロセッサにより実現された仮想グループジェネレータ3062、プロセッサにより実現されたポータルインターフェースコントローラ3064、プロセッサにより実現されたデバイスネットワークデータパーサ3066、開発済みソリューションデータベース3082、プロセッサにより実現されたサービスソリューションコントローラ3084、およびプロセッサにより実現された収益コントローラ3086のうちの1つまたは複数を備える。開発サーバプラットフォーム300の上記のコンポーネントの各々については、下で構成および機能の点から説明する。
【0030】
デバイスサーバプラットフォームインターフェース3022は、開発サーバプラットフォーム300と通信可能に結合された1つまたは複数のエンティティが前記開発サーバプラットフォーム300と直接通信すること、および開発サーバプラットフォーム300を通じて他のエンティティと通信することを可能にするように構成された、プロセッサにより実現された通信ネットワークインターフェースを備える。
【0031】
ピアツーピア通信コントローラ3024は、協調的に開発されるソリューションを開発サーバプラットフォーム300を通じて開発および/または配布する目的で、協調エンティティ同士が互いに通信することを可能にする、プロセッサにより実現された通信コントローラを備える。
【0032】
ポータルサブスクリプションデータベース3026は、開発サーバプラットフォーム300のさまざまな機能にアクセスするかまたはそれを使用するために登録されているエンティティに関するデータ/情報を取り出し可能に格納するために使用される、非一時的メモリデータベースを備える。一実施形態では、開発サーバプラットフォーム300の残りのコンポーネントのうちの1つまたは複数が、特定のエンティティとのネットワーク通信を、そのようなエンティティが開発サーバプラットフォーム300の、またはその特定のエンティティの、特定の機能にアクセスするかまたはそれを使用するために登録されている場合にのみ、許可するように構成され得る。
【0033】
協調コントローラ3042は、開発サーバプラットフォーム300の環境内で実施されている進行中の協調における特定のステップまたは実行可能物を実施するように、またはそれを協調エンティティが実施することを可能にするように構成された、プロセッサにより実現されたコントローラを備える。前記協調コントローラ3042は、協調プロジェクトの1または複数の参加者(participant)によって実行されるかまたは実行される必要のあるアクセス権および実行可能物を、監視または制御するように構成され得る。
【0034】
協調データベース3044は、開始された、保留中の、または完了した、1つまたは複数の協調的開発プロジェクトに対応するデータを取り出し可能に格納するように構成された、非一時的メモリを基にしたデータベースを備え、その協調的開発プロジェクトには、開発サーバプラットフォーム300と通信可能に結合された少なくとも2つのエンティティ(例えば、図2に示すエンティティの中からの、開発サーバプラットフォーム202と通信可能に結合された、少なくとも2つのエンティティ)が必要である。本発明の一実施形態では、少なくとも2つのエンティティは、開発サーバプラットフォーム300とは別個のものである。
【0035】
スマート契約エンジン3046は、開始された、進行中の、または完了した協調的開発プロジェクトに関連付けられた各協調エンティティの権利および義務を確立させる契約を記録または生成するように構成された、プロセッサにより実現されたエンジンを備える。一実施形態では、スマート契約エンジン3046は、開始された、進行中の、または完了した協調的開発プロジェクトに関連付けられた各協調エンティティのそれぞれの権利および義務を実施する目的で、自動実行の分散型台帳ベースまたはブロックチェーンを基にしたスマート契約を生成するように構成され得る。
【0036】
仮想グループジェネレータ3062は、開始された、または進行中の特定の協調的開発プロジェクトに関連付けられる仮想グループ、仮想フォルダ、または仮想電子プロジェクトリポジトリを電子的に生成するように構成された、プロセッサにより実現されたジェネレータを備え、仮想グループ、仮想フォルダ、または仮想電子プロジェクトリポジトリにおいて、参加者または協調者はそれぞれ、協調的開発を目的として、それらの寄与分を保存することもでき、あるいは他の参加者または協調者による寄与分にアクセスし、またはそれを修正することもできる。一実施形態では、協調的開発プロジェクトに関して生成された仮想グループは、その協調的開発プロジェクトのために登録された参加者または協調者の各々の電子アカウント/サブスクリプションアカウントにリンクされ、それによって、協調者が、開発サーバプラットフォーム300によって作成および維持されるそれらのそれぞれの電子アカウント/サブスクリプションアカウントを通じて、仮想グループにアクセスできるようになる。
【0037】
ポータルインターフェースコントローラ3064は、1つまたは複数の協調的開発プロジェクトの参加者と開発サーバプラットフォーム300との間、および参加者自体同士の間のデータ通信を可能にするような構成の入力-出力インターフェース(例えば仮想ディスプレイインターフェース)を生成するように構成された、プロセッサにより実現されたコントローラを備える。ポータルインターフェースコントローラ3064は、それを通じて1つまたは複数の協調的開発プロジェクトの参加者が対話し、ソフトウェアアプリケーションまたはソフトウェアソリューションを協調的に開発することのできる、ネットワーク通信によりアクセス可能なオンラインまたはクラウドを基にしたポータルを作成するように構成され得る、ということが理解されよう。
【0038】
デバイスネットワークデータパーサ3066は、開発サーバプラットフォーム300と通信可能に結合され得るデバイスサーバプラットフォーム(例えば図2のデバイスサーバプラットフォーム204)を通じて監視または制御される1つまたは複数のデバイスまたはデバイスネットワークからデータを受信するように構成された、プロセッサにより実現されたデータパーサを備える。デバイスネットワークデータパーサ3066の機能については、後続の図に関してより詳細に説明する。
【0039】
開発済みソリューションデータベース3082は、開発サーバプラットフォーム300を通じて協調的に開発され、開発サーバプラットフォーム300を通じて配布または第三者アクセスできるようになっているソリューションおよび/またはアプリケーションを、取り出し可能に格納するように構成された、非一時的メモリを基にしたデータベースを備える。
【0040】
サービスソリューションコントローラ3084は、開発サーバプラットフォーム300を通じて協調的に開発されたソリューションおよび/またはアプリケーションをシステム環境内(例えばIIOT環境内)に実現するための、そのようなソリューションおよび/またはアプリケーションへの第三者アクセスを許可し、または可能にするように構成された、プロセッサにより実現されたコントローラを備える。特定の一実施形態では、サービスソリューションコントローラ3084により、開発サーバプラットフォーム300と通信可能に結合された1つまたは複数のデバイスサーバプラットフォーム(例えばデバイスサーバプラットフォーム204)が、前記デバイスサーバプラットフォームによって制御されるデバイスネットワーク内のデバイスを監視または制御するために、開発済みソリューションデータベース3082内に取り出し可能に格納された1つまたは複数の協調的に開発されるソリューションおよび/またはアプリケーションを実装することが可能になる。
【0041】
収益コントローラ3086は、サービスソリューションコントローラ3084によって許可され、または可能にされたソリューションおよび/またはアプリケーションの第三者使用に関して受信した収益の、当該ソリューションおよび/またはアプリケーションを協調的に開発した協調者または参加者間での配分を実施し、または発効させるように構成された、プロセッサにより実現されたコントローラを備える。一実施形態では、収益コントローラ3086は、当該の協調的に開発されるソリューションおよび/またはアプリケーションに関連付けられた、またはそれに対して生成されたスマート契約内に明記された収益配分に従って、収益の配分を実施するように構成される。
【0042】
図4は、開発サーバプラットフォーム300のスマート契約エンジン3046の一実施形態が機能することを可能にする、システム環境400をより詳細に示す。図示のシステム環境400では、スマート契約エンジン4022が、開発サーバプラットフォーム300を通じて実施されている各協調的プロジェクトまたは協調的開発の割当てに対応するスマート契約を格納するための、分散型台帳またはブロックチェーンを実現するように構成される。
【0043】
図4に示すように、スマート契約エンジン4022は、協調者1からN(4062、4064、4066)の各々から、特定された協調者が協調的開発プロジェクトを実施する目的で合意したそれぞれの権利および義務を規定する情報を受信するように、またこれらのそれぞれの権利および義務の各々を記録した契約を生成するように構成される。さらに、図4に示すように、スマート契約エンジン4022は、分散型台帳格納構造(すなわちブロックチェーン格納構造)を実現するように構成された複数のネットワークノード4042、4044、4046と通信可能に結合される。各ネットワークノード4042から4046は、ピアデバイスとして動作するように構成され、分散型台帳のそれ自体のコピーを格納することができる。図4に示す非集中型の分散型台帳構造では、次の、(i)各ネットワークノード4042から4046が、それぞれのピア処理デバイス上に実現され、スマート契約エンジン4022を実現するためにそれぞれのピア処理デバイスが同時に使用され得る構成、あるいは(ii)スマート契約エンジン4022が、1つまたは複数のネットワークノード4042から4046を実現するように構成されたピアデバイスの外部のプロセッサ上に実現され得る構成、あるいは(iii)複数のネットワークノード4042から4046(および前記複数のネットワークノードに対応する分散型台帳)が、単一の処理デバイスおよび/または単一のデータベースもしくは単一のメモリリポジトリを通じて、かつ/または図3の開発サーバプラットフォーム300内に実現される構成、のうちのいずれか1つまたは複数を含む、複数の異なる構成が可能である、ということが理解されよう。
【0044】
特定の一実施形態では、スマート契約エンジン4022によって図4の分散型台帳構造内に格納されたスマート契約データは、例えば公開-秘密鍵暗号技術を使用して暗号によりセキュリティ保護されてよい。
【0045】
図5は、トランザクションブロック[1]から[n]を備える例示的な分散型台帳500を示す。各トランザクションブロックは、例えば、確実に各トランザクションブロックのヘッダが分散型台帳内の直前のブロックの識別情報または位置に関する情報を含むようにすることによって、台帳内の直前のブロックにリンクされ、それにより、分散型台帳が、ごく最近追加されたトランザクションブロックから各中間トランザクションブロックを通ってチェーン内の第1のブロックまで(すなわちルートブロックまたはジェネシスブロックまで)パースされることが可能になっている。
【0046】
図6は、本発明の一分散型台帳実装形態による、トランザクションブロックのコンテンツを格納するために使用することのできる例示的なデータ構造600(ブロック[i])を示す。図6のデータ構造では、トランザクションブロック600は、(i)契約の当事者、(ii)契約下での各当事者の義務、(iii)契約下での各当事者の権利、(iv)契約の履行に関与するデバイス(例えばIOTセンサ)、(v)契約の履行に関連するデバイス許可、および/または(vi)支払い情報、原価計算情報、もしくは収益配分情報について記載した情報を含むことができる。図6の例示的なデータ構造のコンテンツの一部または全てを実現したデータ構造を、本発明の分散型台帳(ブロックチェーン台帳)を基にした実施形態を実現する目的で使用することができる。
【0047】
図7は、本発明の教示を実現するように構成されたシステム環境内でソフトウェアコンポーネントの協調的開発を開始する方法を示す。
【0048】
図7の方法は、ステップ702において、特定のソフトウェアコンポーネントの開発仕様を、開発サーバプラットフォーム300において、またはそれを通じて受信することによって開始される。ステップ702の仕様は、産業環境内の1つまたは複数の資産、デバイス、センサ、コンポーネント、タグ、またはハードウェアもしくはソフトウェアを監視もしくは制御する、またはそれとインターフェースもしくは通信する目的で構成されたデバイスネットワーク内の、1つまたは複数のデバイスを監視もしくは制御すること、またはそれとインターフェースもしくは通信することの可能なソフトウェアコンポーネントのための仕様を含む。図7の方法の一実施形態では、仕様は、1つまたは複数のデバイスからデータを収集し、または1つまたは複数のデバイスから収集されたデータを処理し、処理されたデータに基づいて、1つまたは複数のタスクまたはソリューションを自動化または実現するために構成された、ソフトウェアコンポーネントに対応することができる。
【0049】
ステップ704は、開発サーバプラットフォーム300に接続されているかまたはそれに登録されている複数(少なくとも2つ)の個体(individual)またはエンティティから参加提案を受信することを含み、これらの提案は、特定のソフトウェアコンポーネントの開発に向けて協調しようとする意向の表現、提案エンティティの能力および専門知識、提案エンティティが協調において引き受けようと提案する義務または作業、ならびに提案エンティティがソフトウェアコンポーネントの協調的開発完了後に得ようと提案する権利または報酬/収益のうちの1つまたは複数を含むことができる。本発明の一実施形態では、参加提案の提出は、開発サーバプラットフォーム300の機能にアクセスするかまたはそれを使用するために登録されているエンティティまたは個体に限定され、そのエンティティまたは個体の情報は、ポータルサブスクリプションデータベース3026内に格納され、そこから取り出され得る。本発明の一実施形態では、参加提案は、デバイスサーバプラットフォームインターフェース3022を通じて開発サーバプラットフォーム300において提出され得、提案エンティティはその後、それら自体の提案を、ピアツーピア通信コントローラ3024を通じて、議論し、かつ/または(やはり特定のソフトウェアコンポーネントの開発に関して協調しようとしている)他のエンティティとの議論に基づいて修正もしくは繰り返し改良することができる。本発明の一実施形態では、参加提案は、開発サーバプラットフォーム300のポータルインターフェースコントローラ3064を通じて受信または閲覧または表示され得る。特定の一実施形態では、1つまたは複数の参加提案が、参加パラメータを規定することができ、この参加パラメータは、(i)エンティティがソフトウェアコンポーネントの協調的開発へのその参加に関して提案する、それぞれのエンティティの権利もしくは役割を記載した情報、(ii)受信した参加提案に対応するエンティティによって制御されるデバイスのリストであって、それらのデバイスから、パラメータデータが、前記エンティティによって、1組の協調者エンティティの中からの1つもしくは複数の他のエンティティと共用されるように提案される、デバイスのリスト、または(iii)受信した参加提案に対応するエンティティによって制御さ
れる1つもしくは複数のデバイスからのパラメータデータが、前記エンティティによって、1組の協調者エンティティの中からの1つもしくは複数のエンティティと共用されるように提案される、継続期間もしくは有効期間のうちの少なくとも1つを含む。
【0050】
ステップ706は、参加提案を提出した複数のエンティティの中から、ステップ702からのIIOTソリューションを協調的に開発および実施するために選択された1組の協調者を特定することと、選択された1組の協調者とソフトウェアコンポーネントとの間の関連を記録することとを含む。選択された1組の協調者を特定する情報、それらが開発目的で協調しようと提案する対象のソフトウェア、および他の関連情報は、それに加えて一実施形態では選択された協調者の各々から受信した提案も含めて、協調データベース3044内に取り出し可能に格納され得る。
【0051】
1組の協調者の選択は、選択された協調者のそれぞれの能力、ならびに協調中とソフトウェアコンポーネントの開発完了後の両方の各選択された協調者の権利および義務に関する、選択された協調者間の合意に基づいて、(一実施形態では相互同意によるものを含む)幾通りもの方途において達成され得る。
【0052】
本発明の一実施形態では、(ソフトウェアコンポーネントの協調的開発を目的とした)選択された1組の協調者のうちの少なくとも第1の協調者の義務が、そのような第1の協調者によって開発サーバプラットフォーム300と通信可能に結合されたデバイスサーバプラットフォーム(例えばデバイスサーバプラットフォーム204)を通じて制御される、1つまたは複数のデバイスネットワーク(例えばデバイスネットワーク2062から2066のうちのいずれか)内の1つまたは複数のデバイスによって生成されたパラメータデータへのアクセス権を、選択された1組の協調者のうちの少なくとも第2の協調者に与えることを含む。より特定の環境では、第1の協調者によって少なくとも第2の協調者にアクセス権が与えられる対象のパラメータデータが、1つまたは複数のデバイス、例えば、1つまたは複数の資産、デバイス、センサ、コンポーネント、タグ、またはハードウェアもしくはソフトウェアを監視または制御するように構成された1つまたは複数のデバイスに基づいて生成された、時系列パラメータデータを含む。さらなる一実施形態では、選択された1組の協調者のうちの少なくとも第2の協調者の義務が、データを基にした状態検出モデルまたはデータを基にした状態予測モデルを備えるモデルの生成を含み、モデルの生成が、前記第2の協調者に与えられた、第1の協調者によって制御される第1の組のデバイスによって生成されたパラメータデータに関するアクセスに基づく。
【0053】
その後、ステップ708が、(i)選択された1組の協調者のうちの各協調者の、特定のソフトウェアコンポーネントを開発することを目的として合意された権利および義務、ならびに/または(ii)第1の協調者によって開発サーバプラットフォーム300と通信可能に結合されたデバイスサーバプラットフォームを通じて制御される、1つもしくは複数のデバイスネットワーク内の1つもしくは複数のデバイスであって、協調的開発プロセスの一環としてそのデバイスデータに対して少なくとも第2の協調者がアクセス権を与えられている、1つもしくは複数のデバイス(例えばIOTセンサもしくはIOTデバイス)を特定することを記録した、契約または他のデジタル記録を生成することを含む。本発明の一実施形態では、ステップ708において生成される契約は、開発サーバプラットフォーム300内のスマート契約エンジン3046によって生成されるスマート契約/自動実行の契約である。さまざまな実施形態では、ステップ708において生成される契約には、1つまたは複数のタイプの機械学習アルゴリズム、プロジェクト段階、成果物、および/または各段階についてのキーパフォーマンスインジケータ(key performance indicator)が明記され得る。
【0054】
その後、ステップ710が、生成された契約の条項の履行を、選択された1組の協調者のうちのさまざまな協調者によって監視および記録することを含む。生成された契約の条項の履行は、選択された1組の協調者によるソフトウェアコンポーネントの協調的開発のさまざまなステップの実施を含み、協調的開発のそれらのステップも監視および記録される、ということが理解されよう。生成された契約の条項の履行および/または選択された1組の協調者によるソフトウェアコンポーネントの協調的開発のさまざまなステップの実施は、一実施形態では、スマート契約エンジン3046によって監視され得、協調データベース3044内に記録され得る。
【0055】
方法の特定の一実施形態では、図7の方法に従って協調的に開発されるソフトウェアコンポーネントが、選択された1組の協調者のうちの第2の協調者によって生成されたモデルを備え、または含む。
【0056】
図8は、システム環境200内で、開発が開始されたソフトウェアコンポーネントの協調的開発を可能にする方法を示す。
【0057】
ステップ802は、ソフトウェアコンポーネントの協調的開発に対応する記録された契約(すなわち図7の方法に従って生成された契約)に対応する情報に基づいて、記録された契約に関連付けられているかまたはその中に特定される、複数の協調者を特定することを含む。図7の方法を参照すると、特定される協調者は、ソフトウェアコンポーネントを開発サーバプラットフォーム300を通じて協調的に開発および実施するために選択された1組の協調者を含む。
【0058】
ステップ804は、開発サーバプラットフォーム300内に、記録された契約に関連する仮想グループを生成することを含み、この仮想グループは、ソフトウェアコンポーネントの協調的開発を実施する目的で開発サーバプラットフォーム300内に生成される、アクセス制御されたポータルまたは仮想環境を備える。仮想グループは、規定された1組の参加者が、仮想グループにアクセスすること、および記録された契約内に明記されている、ソフトウェアコンポーネントの開発に関連付けられる協調的開発プロセスに参加することを許可されるように、生成される。特定の一実施形態では、仮想グループに関連付けられた参加者は、少なくとも、記録された契約内に、記録された契約によって意図されるソフトウェアコンポーネントの協調的開発を担うものとして特定または記録された、1組の協調者を含み、またはそれに特に限定される。本発明の一実施形態では、生成された仮想グループを規定する情報は、協調データベース3044内に格納され得る。特定の一実施形態では、仮想グループの生成が、仮想グループを、協調的ソフトウェアコンポーネント開発プロジェクトに関連付けられた1組の参加者のうちの各参加者に対応する(開発サーバプラットフォーム300によって生成および維持される)開発サーバプラットフォームアカウントとリンクするステップを含む。
【0059】
ステップ806は、仮想グループの特性またはパラメータを、第1の組のアクセス権を規定することによって構成することを含み、前記第1の組のアクセス権は、仮想グループの各参加者のアクセス権を含み、このアクセス権は、開発サーバプラットフォーム300が生成された仮想グループに関連付けられる個々の参加者にとって利用できるようにしたアクセス権および機能を、特定し発効させるものである。一実施形態では、各参加者に与えられるアクセス権は、図7の方法に従って生成された記録された契約に関連付けられる、記録された契約内に明記または規定されている前記参加者の権利および義務に基づいて決定される。特定の一実施形態では、仮想グループに関連付けられる個々の参加者に与えられたアクセス権(第1の組のアクセス権)は、協調データベース3044内に記録され得、前記仮想グループに関連付けられた1つまたは複数のデータ記録に関連付けられ得る。
【0060】
一実施形態では、第1の組のアクセス権が、(i)選択された1組の協調者エンティティのうちの他の任意のエンティティのカスタマデータに関する、選択された1組の協調者エンティティのうちの1つもしくは複数のエンティティのアクセス権を規定する許可、または(ii)選択された1組の協調者エンティティのうちの任意のエンティティのカスタマデータの処理に関する、1つもしくは複数の規定されたデータプライバシー規制もしくはデータ保護規制に基づくデータアクセス許可のうちのいずれか1つまたは複数を規定する。
【0061】
ステップ808は、仮想グループの特性またはパラメータを、第2の組のアクセス権を規定することによって構成することを含み、前記第2の組のアクセス権は、仮想グループの1または複数の参加者に与えられる、グループの参加者の少なくとも1つによって制御される1つまたは複数のデバイスに関するアクセス権を規定するものであり、それらのデバイスは、記録された契約内に、契約の履行に関与するものとして特定されている(すなわち図7のステップ708においてIIOTソリューションの協調的開発に関与するデバイスとして契約内に特定および記録されたデバイスである)。特定の一実施形態では、仮想グループに対して規定された第2の組のアクセス権も、協調データベース3044内に記録され得、仮想グループに関連付けられた1つまたは複数のデータ記録に関連付けられ得る。
【0062】
その後、ステップ810が、参加者の仮想グループへのアクセスおよび仮想グループ内での動作を、仮想グループに関連付けられている規定された第1の組のアクセス権および第2の組のアクセス権に基づいて発効させる/制御することを含む。別の言い方をすれば、ステップ810において、仮想グループがそのために生成された協調的IIOTソリューションの開発を目的とした、仮想グループの参加者間の協調は、規定された第1および第2の組のアクセス権に基づいて制御され、それにより、各参加者が、(図7の方法に従って)ソフトウェアコンポーネントの協調的開発に対応するスマート契約が生成された時点で相互に合意または許可されたような実行可能物を遂行すること、および協調的開発に関与する1つまたは複数のデバイスからの、(図7の方法に従って)ソフトウェアコンポーネントの当該の協調的開発に対応するスマート契約が生成された時点で相互に合意または許可されたようなデータにアクセスすることのみが、許可されることが確実になる。本発明の一実施形態では、協調的開発に関与するデバイスへの参加者のアクセスを発効させること、または制御することは、デバイスネットワークデータパーサ3066を通じて達成される。
【0063】
図8の方法の一実施形態では、ステップ802から808のうちの1つまたは複数が、開発サーバプラットフォーム300内の仮想グループジェネレータ3062によって実施され得る。一実施形態では、ステップ810は、開発サーバプラットフォーム300内のポータルインターフェースコントローラ3064を通じて実施され得る。
【0064】
上で図7および図8に関して論じた方法を実施すると、システム環境(例えば産業環境)内の1つまたは複数の資産、デバイス、センサ、コンポーネント、タグ、またはハードウェアもしくはソフトウェアを監視または制御する目的で実現されたデバイスネットワーク内の、1つまたは複数のデバイスを監視もしくは制御すること、またはそれとインターフェースもしくは通信することの可能な少なくとも1つのソフトウェアコンポーネントの協調的開発を含むソフトウェアコンポーネントの協調的開発を開始し、首尾よく完了させることを目的とした、開発サーバプラットフォームを通じた複数のエンティティ間の、制御および目標設定された協調が可能になる、ということが理解されよう。
【0065】
図9は、本発明の教示を実現するように構成されたシステム環境内で図7および図8の方法の実施を通じて協調的に開発されたソフトウェアコンポーネントを配布する方法を示す。
【0066】
ステップ902は、図7および図8(例えば図7のステップ708および図8のステップ808を参照されたい)に関して説明した、ソフトウェアコンポーネントの開発のための協調的開発プロセスの一環としてそのデータがアクセスまたは使用された1つまたは複数のデバイスと比較して、(i)同じデバイスタイプ、または(ii)1つもしくは複数のデバイス特性を有する1つまたは複数のデバイスから、データを受信し、それに対して動作するように構成された、ソフトウェアコンポーネントの生成を含む。
【0067】
本発明の一実施形態では、生成されたソフトウェアコンポーネントは、一実施形態では産業環境であるシステム環境内の1つまたは複数の資産、デバイス、センサ、コンポーネント、タグ、ハードウェア、ソフトウェア、またはデータパラメータの監視、制御、それとのインターフェース、または通信を可能にするための命令を含む、コンパイル型、事前コンパイル型、または他のソフトウェアコードを含む。特定の実施形態では、生成されたソフトウェアコンポーネントは、ソフトウェアコンポーネントの生成をもたらした協調的開発プロセスの一環としてそのデータがアクセスまたは使用されるデバイスとは別個のまたは異なるデバイスを、監視または制御するように構成されている。一実施形態では、生成されたソフトウェアコンポーネントは、開発サーバプラットフォーム300内の開発済みソリューションデータベース3082内に格納され得る。特定の一実施形態では、生成されたソフトウェアコンポーネントは、1つまたは複数のデバイスネットワークを監視または制御するように構成されたデバイスサーバプラットフォーム204における、インストール、実装、または実行を行うように構成されている。
【0068】
ステップ904は、1つまたは複数のエンティティによって(例えば1つまたは複数のデバイスサーバプラットフォーム204によって)アクセス、ダウンロード、または実装できるように、ソフトウェアコンポーネントを公開すること(または他の任意の様式でダウンロードもしくは実装できるようにすること)を含み、この場合、ソフトウェアコンポーネントが動作する結果、好ましくは、システム環境内(例えば産業環境内)の1つまたは複数の資産、デバイス、センサ、コンポーネント、タグ、ハードウェア、ソフトウェア、またはデータパラメータを監視または制御する目的で、実装するエンティティによって監視または制御される1つまたは複数のデバイスが、そのソフトウェアコンポーネントを通じて監視または制御される。
【0069】
特定の一実施形態では、1つまたは複数のデバイスを制御もしくは監視する、またはそれとインターフェースもしくは通信するためにソフトウェアコンポーネントを実装することが、(i)開発サーバプラットフォームを通じてソフトウェアコンポーネントにアクセスすること、および(ii)協調的開発プロセス中にパラメータデータがそこから受信され、そのパラメータデータに基づいてソフトウェアコンポーネント(またはソフトウェアコンポーネントを実装もしくは生成するために使用されるモデル)が協調的に開発された、第1の組のデバイスとは別個のものである第2の組のデバイスに関する制御機能、監視機能、インターフェース機能、データ収集機能、データ処理機能、または異常検出機能のうちの1つまたは複数を実現するようにプロセッサを基にしたエンジンを構成することであって、プロセッサを基にしたエンジンが、制御機能、監視機能、インターフェース機能、データ収集機能、データ処理機能、または異常検出機能のうちの前記1つまたは複数を実現するために、協調的に開発されるソフトウェアコンポーネントを備えるか、またはそれと通信可能に結合される、構成することを含む。
【0070】
特定の実施形態では、ソフトウェアコンポーネントは、そのソフトウェアコンポーネントの協調的開発に参加したエンティティとは別個のものであるかまたは無関係の1つまたは複数のエンティティによってアクセス、ダウンロード、または実装できるように公開される。一実施形態では、生成されたソフトウェアコンポーネントは、開発サーバプラットフォーム300内のポータルインターフェースコントローラ3064を通じて、公開され、かつ/またはアクセス、ダウンロード、もしくは実装できるようになっていてよい。さらに、システム環境(例えば産業環境)内の、アクセスする/ダウンロードする/実装するエンティティの1つまたは複数の資産、デバイス、センサ、コンポーネント、タグ、ハードウェア、ソフトウェア、またはデータパラメータを監視または制御することを目的とした、生成されたソフトウェアコンポーネントのアクセス、ダウンロード、または実装は、開発サーバプラットフォーム300内のサービスソリューションコントローラ3084を通じて制御または実現され得る。
【0071】
ステップ906は、生成されたソフトウェアコンポーネントにアクセスし、それをダウンロードし、または実装した1つまたは複数のエンティティから受信した収益/金銭的報酬/料金の配分を、生成されたソフトウェアコンポーネントの協調的開発のプロセスに参加したエンティティに割り振ることを含む。本発明の一実施形態では、受信した収益/金額的報酬/料金の配分は、ソフトウェアコンポーネントがその下で協調的に開発された、記録された契約の条項に従って決定され、割り振られる。一実施形態では、ステップ906における収益配分の割振りは、開発サーバプラットフォーム300内の収益コントローラ3086を通じて実施され得る。
【0072】
特定の一実施形態では、本発明は、1つまたは複数のデバイスを制御し、監視し、それとインターフェースし、またはその他の方途で通信するためのアプリケーションまたはソフトウェアコンポーネントの協調的な開発および配布を行うように構成された協調プラットフォームに関係する、方法、システム、およびコンピュータプログラムを提供する。
【0073】
一方法実施形態では、本発明は、産業環境内でのプロセスまたは装置の監視または制御のために構成された1つまたは複数のデバイスを制御し、監視し、またはそれとインターフェースするためのソフトウェアコンポーネントの協調的開発のための方法であって、(i)1つまたは複数のデバイスを制御し、監視し、またはそれとインターフェースするためのソフトウェアコンポーネントの開発仕様を、開発サーバプラットフォームにおいて受信することと、(ii)複数のエンティティから参加提案を受信することであって、各参加提案は、そのようなエンティティがソフトウェアコンポーネントの協調的開発へのその参加のために提案する参加パラメータを記載した情報を含む、受信することと、(iii)複数のエンティティの中から、ソフトウェアコンポーネントを協調的に開発するための1組の協調者エンティティを選択することであって、1組の協調者エンティティが、少なくとも2つのエンティティを備え、少なくとも2つのエンティティが、開発サーバプラットフォームとは別個のものである、選択することと、(iv)ソフトウェアコンポーネントの開発に関連付けられる1つまたは複数の役割を、選択された1組の協調者エンティティのうちの各エンティティに割り当てることであって、選択された1組の協調者エンティティのうちの少なくとも第1のエンティティに割り当てられる1つまたは複数の役割が、第1のエンティティによって制御される第1の組のデバイスによって生成されたパラメータデータに、選択された1組の協調者エンティティのうちの少なくとも第2のエンティティがアクセスすることを可能にすることを含む、割り当てることと、(v)ソフトウェアコンポーネントの協調的開発に関連付けられるアクセス制御されたポータルを生成することであって、(a)アクセス制御されたポータルに関連付けられる第1の組のアクセス権であって、選択された1組の協調者エンティティの中の各エンティティにとってアクセス制御されたポータル内で利用可能なアクセスまたは機能を規定する、第1の組のアクセス権、および(b)アクセス制御されたポータルに関連付けられる第2の組のアクセス権であって、第1のエンティティによって制御される第1の組のデバイスによって生成されたパラメータデータに第2のエンティティがアクセスするための、第1のエンティティによって可能にされるアクセスを規定する、第2の組のアクセス権を規定することを含む、生成することと、(vi)1つまたは複数のデバイスを制御し、監視し、またはそれとインターフェースするようにソフトウェアコンポーネントを実装するために、協調的に開発されるソフトウェアコンポーネントを公開することとを含む、方法を含む。
【0074】
一方法実施形態では、第1の組のデバイスが、第1の組のIOTデバイスを備えることができる。別の実施形態では、ソフトウェアコンポーネントによって制御され、監視され、またはインターフェースされる1つまたは複数のデバイスが、1つまたは複数のIOTデバイスである。
【0075】
ソフトウェアコンポーネントは、1つまたは複数のデバイスからデータを収集し、または1つまたは複数のデバイスから収集されたデータを処理し、処理されたデータに基づいて、1つまたは複数のタスクまたはソリューションを自動化または実現するために構成され得る。
【0076】
方法の一実施形態では、第2のエンティティの遂行役割が、データを基にした状態検出モデルまたはデータを基にした状態予測モデルを備えるモデルの生成を含み、モデルの生成が、前記第2のエンティティに与えられた、第1のエンティティによって制御される第1の組のデバイスによって生成されたパラメータデータに関するアクセスに基づく。
【0077】
さらなる一実施形態では、協調的に開発されるソフトウェアコンポーネントが、第2のエンティティによって生成されたモデルを備える。
【0078】
1つまたは複数のデバイスを制御し、監視し、またはそれとインターフェースするようにソフトウェアコンポーネントを実装することが、(i)開発サーバプラットフォームを通じてソフトウェアコンポーネントにアクセスすること、および(ii)第1の組のデバイスとは別個のものである第2の組のデバイスに関する制御機能、監視機能、インターフェース機能、データ収集機能、データ処理機能、または異常検出機能のうちの1つまたは複数を実現するようにプロセッサを基にしたエンジンを構成することであって、プロセッサを基にしたエンジンが、制御機能、監視機能、インターフェース機能、データ収集機能、データ処理機能、または異常検出機能のうちの前記1つまたは複数を実現するために、協調的に開発されるソフトウェアコンポーネントを備えるか、またはそれと通信可能に結合される、構成することを含む。
【0079】
方法の特定の一実施形態では、第2の組のデバイスが1組のIOTデバイスを備える。
【0080】
各参加提案内の参加パラメータは、(i)エンティティがソフトウェアコンポーネントの協調的開発へのその参加に関して提案する、それぞれのエンティティの権利もしくは役割を記載した情報、(ii)受信した参加提案に対応するエンティティによって制御されるデバイスのリストであって、それらのデバイスから、パラメータデータが、前記エンティティによって、1組の協調者エンティティの中からの1つもしくは複数の他のエンティティと共用されるように提案される、デバイスのリスト、または(iii)受信した参加提案に対応するエンティティによって制御される1つもしくは複数のデバイスからのパラメータデータが、前記エンティティによって、1組の協調者エンティティの中からの1つもしくは複数のエンティティと共用されるように提案される、継続期間もしくは有効期間のうちの少なくとも1つを含むことができる。
【0081】
方法の一実施形態では、第1の組のアクセス権が、(i)選択された1組の協調者エンティティのうちの他の任意のエンティティのカスタマデータに関する、選択された1組の協調者エンティティのうちの1つもしくは複数のエンティティのアクセス権規定する許可、または(ii)選択された1組の協調者エンティティのうちの任意のエンティティのカスタマデータの処理に関する、1つもしくは複数の規定されたデータプライバシー規制もしくはデータ保護規制に基づくデータアクセス許可のうちのいずれか1つまたは複数を規定する。
【0082】
第1のエンティティによって制御される第1の組のデバイスによって生成されたパラメータデータは、時系列パラメータデータを含むことができ、第1の組のデバイスは、産業環境内の1つまたは複数の資産、デバイス、コンポーネント、タグ、ハードウェア、またはソフトウェアを監視または制御するように構成されていてよい。
【0083】
方法の一実施形態によれば、選択された1組の協調者エンティティのうちの各エンティティに割り当てられた、ソフトウェアコンポーネントの開発に関連付けられる役割が、ソフトウェアコンポーネントの協調的開発に関連付けられた契約内に記録される。ソフトウェアコンポーネントの協調的開発に関連付けられた契約は、第1のエンティティによって制御される第1の組のデバイスを特定する情報を含むことができる。
【0084】
契約は、分散型台帳データ構造内に記録され得る。
【0085】
一方法実施形態では、1組の協調者エンティティのうちのエンティティによるアクセス制御されたポータル内でのソフトウェアコンポーネントの協調的開発が、アクセス制御されたポータルによって、第1の組のアクセス権および第2の組のアクセス権に基づいて制御される。
【0086】
開発されたソフトウェアコンポーネントは、1つまたは複数のデバイスに産業環境内の1つまたは複数の資産、デバイス、コンポーネント、タグ、ハードウェア、ソフトウェア、またはデータパラメータを監視または制御させるためのコンピュータ可読命令を含むことができる。
【0087】
本発明はさらに、産業環境内でのプロセスまたは装置の監視または制御のために構成された1つまたは複数のデバイスのためのコントローラの協調的開発のためのシステムを提供する。システムは、(i)1つまたは複数のデバイスを制御し、監視し、またはそれとインターフェースするためのソフトウェアコンポーネントの開発仕様を、開発サーバプラットフォームにおいて受信することと、(ii)複数のエンティティから参加提案を受信することであって、各参加提案は、そのようなエンティティがソフトウェアコンポーネントの協調的開発へのその参加のために提案する参加パラメータを記載した情報を含む、受信することと、(iii)複数のエンティティの中から、ソフトウェアコンポーネントを協調的に開発するための1組の協調者エンティティを選択することであって、1組の協調者エンティティが、少なくとも2つのエンティティを備え、少なくとも2つのエンティティが、開発サーバプラットフォームとは別個のものである、選択することと、(iv)ソフトウェアコンポーネントの開発に関連付けられる1つまたは複数の役割を、選択された1組の協調者エンティティのうちの各エンティティに割り当てることであって、選択された1組の協調者エンティティのうちの少なくとも第1のエンティティに割り当てられる1つまたは複数の役割が、第1のエンティティによって制御される第1の組のデバイスによって生成されたパラメータデータに、選択された1組の協調者エンティティのうちの少なくとも第2のエンティティがアクセスすることを可能にすることを含む、割り当てることと、(v)ソフトウェアコンポーネントの協調的開発に関連付けられるアクセス制御されたポータルを生成することであって、(a)アクセス制御されたポータルに関連付けられる第1の組のアクセス権であって、選択された1組の協調者エンティティの中の各エンティティにとってアクセス制御されたポータル内で利用可能なアクセスまたは機能を規定する、第1の組のアクセス権、および(b)アクセス制御されたポータルに関連付けられる第2の組のアクセス権であって、第1のエンティティによって制御される第1の組のデバイスによって生成されたパラメータデータに第2のエンティティがアクセスするための、第1のエンティティによって可能にされるアクセスを規定する、第2の組のアクセス権を規定することを含む、生成することと、(vi)1つまたは複数のデバイスを制御し、監視し、またはそれとインターフェースするようにソフトウェアコンポーネントを実装するために、協調的に開発されるソフトウェアコンポーネントを公開することとを行うように構成された少なくとも1つのサーバを備える。
【0088】
一システム実施形態では、第1の組のデバイスが、第1の組のIOTデバイスを備えることができる。別の実施形態では、ソフトウェアコンポーネントによって制御され、監視され、またはインターフェースされる1つまたは複数のデバイスが、1つまたは複数のIOTデバイスである。
【0089】
ソフトウェアコンポーネントは、1つまたは複数のデバイスからデータを収集し、または1つまたは複数のデバイスから収集されたデータを処理し、処理されたデータに基づいて、1つまたは複数のタスクまたはソリューションを自動化または実現するために構成され得る。
【0090】
システムの一実施形態では、第2のエンティティの遂行役割が、データを基にした状態検出モデルまたはデータを基にした状態予測モデルを備えるモデルの生成を含み、モデルの生成が、前記第2のエンティティに与えられた、第1のエンティティによって制御される第1の組のデバイスによって生成されたパラメータデータに関するアクセスに基づく。
【0091】
さらなる一実施形態では、協調的に開発されるソフトウェアコンポーネントが、第2のエンティティによって生成されたモデルを備える。
【0092】
一システム実施形態では、1つまたは複数のデバイスを制御し、監視し、またはそれとインターフェースするようにソフトウェアコンポーネントを実装することが、(i)開発サーバプラットフォームを通じてソフトウェアコンポーネントにアクセスすること、および(ii)第1の組のデバイスとは別個のものである第2の組のデバイスに関する制御機能、監視機能、インターフェース機能、データ収集機能、データ処理機能、または異常検出機能のうちの1つまたは複数を実現するようにプロセッサを基にしたエンジンを構成することであって、プロセッサを基にしたエンジンが、制御機能、監視機能、インターフェース機能、データ収集機能、データ処理機能、または異常検出機能のうちの前記1つまたは複数を実現するために、協調的に開発されるソフトウェアコンポーネントを備えるか、またはそれと通信可能に結合される、構成することを含む。
【0093】
システムの特定の一実施形態では、第2の組のデバイスが1組のIOTデバイスを備える。
【0094】
各参加提案内の参加パラメータは、(i)エンティティがソフトウェアコンポーネントの協調的開発へのその参加に関して提案する、それぞれのエンティティの権利もしくは役割を記載した情報、(ii)受信した参加提案に対応するエンティティによって制御されるデバイスのリストであって、それらのデバイスから、パラメータデータが、前記エンティティによって、1組の協調者エンティティの中からの1つもしくは複数の他のエンティティと共用されるように提案される、デバイスのリスト、または(iii)受信した参加提案に対応するエンティティによって制御される1つもしくは複数のデバイスからのパラメータデータが、前記エンティティによって、1組の協調者エンティティの中からの1つもしくは複数のエンティティと共用されるように提案される、継続期間もしくは有効期間のうちの少なくとも1つを含むことができる。
【0095】
システムの一実施形態では、第1の組のアクセス権が、(i)選択された1組の協調者エンティティのうちの他の任意のエンティティのカスタマデータに関する、選択された1組の協調者エンティティのうちの1つもしくは複数のエンティティのアクセス権規定する許可、または(ii)選択された1組の協調者エンティティのうちの任意のエンティティのカスタマデータの処理に関する、1つもしくは複数の規定されたデータプライバシー規制もしくはデータ保護規制に基づくデータアクセス許可のうちのいずれか1つまたは複数を規定する。
【0096】
第1のエンティティによって制御される第1の組のデバイスによって生成されたパラメータデータは、時系列パラメータデータを含むことができ、第1の組のデバイスは、産業環境内の1つまたは複数の資産、デバイス、コンポーネント、タグ、ハードウェア、またはソフトウェアを監視または制御するように構成されていてよい。
【0097】
システムの一実施形態によれば、選択された1組の協調者エンティティのうちの各エンティティに割り当てられた、ソフトウェアコンポーネントの開発に関連付けられる役割が、ソフトウェアコンポーネントの協調的開発に関連付けられた契約内に記録される。ソフトウェアコンポーネントの協調的開発に関連付けられた契約は、第1のエンティティによって制御される第1の組のデバイスを特定する情報を含むことができる。
【0098】
契約は、分散型台帳データ構造内に記録され得る。
【0099】
一システム実施形態では、1組の協調者エンティティのうちのエンティティによるアクセス制御されたポータル内でのソフトウェアコンポーネントの協調的開発が、アクセス制御されたポータルによって、第1の組のアクセス権および第2の組のアクセス権に基づいて制御される。
【0100】
開発されたソフトウェアコンポーネントは、1つまたは複数のデバイスに産業環境内の1つまたは複数の資産、デバイス、コンポーネント、タグ、ハードウェア、ソフトウェア、またはデータパラメータを監視または制御させるためのコンピュータ可読命令を含むことができる。
【0101】
さらに、本発明は、産業環境内でのプロセスまたは装置の監視または制御のために構成された1つまたは複数のデバイスを制御し、監視し、またはそれとインターフェースするためのソフトウェアコンポーネントの協調的開発のためのコンピュータプログラム製品であって、コンピュータプログラム製品が、その中に具現化されたコンピュータ可読プログラムコードを有する非一時的コンピュータ使用可能媒体を備え、コンピュータ可読プログラムコードが、(i)1つまたは複数のデバイスを制御し、監視し、またはそれとインターフェースするためのソフトウェアコンポーネントの開発仕様を、開発サーバプラットフォームにおいて受信するステップと、(ii)複数のエンティティから参加提案を受信するステップであって、各参加提案は、そのようなエンティティがソフトウェアコンポーネントの協調的開発へのその参加のために提案する参加パラメータを記載した情報を含む、ステップと、(iii)複数のエンティティの中から、ソフトウェアコンポーネントを協調的に開発するための1組の協調者エンティティを選択するステップであって、1組の協調者エンティティが、少なくとも2つのエンティティを備え、少なくとも2つのエンティティが、開発サーバプラットフォームとは別個のものである、ステップと、(iv)ソフトウェアコンポーネントの開発に関連付けられる1つまたは複数の役割を、選択された1組の協調者エンティティのうちの各エンティティに割り当てるステップであって、選択された1組の協調者エンティティのうちの少なくとも第1のエンティティに割り当てられる1つまたは複数の役割が、第1のエンティティによって制御される第1の組のデバイスによって生成されたパラメータデータに、選択された1組の協調者エンティティのうちの少なくとも第2のエンティティがアクセスすることを可能にすることを含む、ステップと、(v)ソフトウェアコンポーネントの協調的開発に関連付けられるアクセス制御されたポータルを生成するステップであって、(a)アクセス制御されたポータルに関連付けられる第1の組のアクセス権であって、選択された1組の協調者エンティティの中の各エンティティにとってアクセス制御されたポータル内で利用可能なアクセスまたは機能を規定する、第1の組のアクセス権、および(b)アクセス制御されたポータルに関連付けられる第2の組のアクセス権であって、第1のエンティティによって制御される第1の組のデバイスによって生成されたパラメータデータに第2のエンティティがアクセスするための、第1のエンティティによって可能にされるアクセスを規定する、第2の組のアクセス権を規定するステップを含む、ステップと、(vi)1つまたは複数のデバイスを制御し、監視し、またはそれとインターフェースするようにソフトウェアコンポーネントを実装するために、協調的に開発されるソフトウェアコンポーネントを公開するステップとを、プロセッサを基にしたコンピューティングシステム内で実施するための命令を含む、コンピュータプログラム製品を提供する。
【0102】
図10は、本発明のさまざまな実施形態をそれに従って実装することのできる、例示的なコンピュータシステムを示す。
【0103】
システム1000は、コンピュータシステム1002を含み、コンピュータシステム1002は、1つまたは複数のプロセッサ1004、および少なくとも1つのメモリ1006を備える。プロセッサ1004は、プログラム命令を実行するように構成され、実プロセッサであってもよく、仮想プロセッサであってもよい。コンピュータシステム1002は、説明する実施形態の使用または機能の範囲に関するどんな制限も示唆するものではない、ということが理解されよう。コンピュータシステム1002は、それらに限定されないが、汎用コンピュータ、プログラムされたマイクロプロセッサ、マイクロコントローラ、集積回路、および本発明の方法を構成するステップを実施することの可能な他のデバイスまたはデバイス配置、のうちの1つまたは複数を含むことができる。本発明によるコンピュータシステム1002の例示的な実施形態は、1つまたは複数のサーバ、デスクトップ型コンピュータ、ラップトップ型コンピュータ、タブレット、スマートフォン、モバイル電話、モバイル通信デバイス、タブレット、ファブレット、および携帯情報端末を含むことができる。本発明の一実施形態では、メモリ1006は、本発明のさまざまな実施形態を実現するためのソフトウェアを格納することができる。コンピュータシステム1002は、さらなるコンポーネントを有することができる。例えば、コンピュータシステム1002は、1つまたは複数の通信チャネル1008、1つまたは複数の入力デバイス1010、1つまたは複数の出力デバイス1012、および記憶装置1014を含むことができる。バス、コントローラ、またはネットワークなどの相互接続機構(図示せず)が、コンピュータシステム1002のコンポーネント同士を相互接続する。本発明のさまざまな実施形態では、オペレーティングシステムソフトウェア(図示せず)が、コンピュータシステム1002内でプロセッサ1004を使用して実行されるさまざまなソフトウェアのための動作環境を提供し、コンピュータシステム1002のコンポーネントがもつ異なる機能を管理する。
【0104】
通信チャネル1008は、さまざまな他のコンピューティングエンティティへの通信媒体を介した通信を可能にする。通信媒体は、プログラム命令や、通信媒体内の他のデータなどの情報を提供する。通信媒体は、それらに限定されないが、電気、光、RF、赤外線、音波、マイクロ波、ブルートゥース(登録商標)、または他の伝送媒体を用いて実現される、有線または無線による方法を含む。
【0105】
入力デバイス1010は、それらに限定されないが、タッチスクリーン、キーボード、マウス、ペン、ジョイスティック、トラックボール、音声デバイス、スキャンデバイス、またはコンピュータシステム1002に入力を提供することの可能な別の任意のデバイスを含むことができる。本発明の一実施形態では、入力デバイス1010は、アナログ形式またはデジタル形式のオーディオ入力を受け取るサウンドカードまたは類似のデバイスとすることができる。出力デバイス1012は、それらに限定されないが、CRTディスプレイ上、LCDディスプレイ上、LEDディスプレイ上、もしくはサーバ、デスクトップ型コンピュータ、ラップトップ型コンピュータ、タブレット、スマートフォン、モバイル電話、モバイル通信デバイス、タブレット、ファブレット、および携帯情報端末のうちのいずれかに関連付けられた他の任意のディスプレイ上のユーザインターフェース、プリンタ、スピーカ、CD/DVDライタ、またはコンピュータシステム1002からの出力を提供する他の任意のデバイスを含むことができる。
【0106】
記憶装置1014は、それらに限定されないが、磁気ディスク、磁気テープ、CD-ROM、CD-RW、DVD、任意のタイプのコンピュータメモリ、磁気ストライプ、スマートカード、印刷バーコード、または情報を格納するために使用され得、またコンピュータシステム1002によってアクセスされ得る、他の任意の一時的もしくは非一時的な媒体を含むことができる。本発明のさまざまな実施形態では、記憶装置1014は、説明した実施形態のうちのいずれかを実現するためのプログラム命令を収容することができる。
【0107】
本発明の一実施形態では、コンピュータシステム1002は、分散型ネットワークの一部または1組の利用可能なクラウドリソースの一部である。
【0108】
本発明は、システム、方法、またはコンピュータ可読記憶媒体などのコンピュータプログラム製品もしくはプログラミング命令が遠隔地から伝達されるコンピュータネットワークを含む、多くのやり方で実現することができる。
【0109】
本発明は、コンピュータシステム1002で使用するためのコンピュータプログラム製品として適切に具現化することができる。本明細書において説明した方法は、典型的には、コンピュータシステム1002または他の任意の類似デバイスによって実行されるプログラム命令のセットを備えるコンピュータプログラム製品として実現される。プログラム命令のセットは、コンピュータ可読記憶媒体(記憶装置1014)などの有形媒体、例えばディスケット、CD-ROM、ROM、フラッシュドライブ、もしくはハードディスク上に格納された、またはモデムもしくは他のインターフェースデバイス経由で、光もしくはアナログの通信チャネル1008を含むがそれらに限定されない有形媒体を介してコンピュータシステム1002に送信可能な、一連のコンピュータ可読コードとすることができる。コンピュータプログラム製品としての本発明の実装形態は、マイクロ波、赤外線、ブルートゥース(登録商標)、または他の伝送技法を含むがそれらに限定されない、無線技法を使用した無形の形態をとってもよい。これらの命令は、システム内に予めロードされてもよく、CD-ROMなどの記憶媒体上に記録されてもよく、インターネットやモバイル電話ネットワークなどのネットワークを介してダウンロードできるようになっていてもよい。一連のコンピュータ可読命令は、本明細書において先に説明した機能の全てまたは一部を具現化することができる。
【0110】
上記に基づいて、本発明は、特に、いずれも集中型開発および配布プラットフォームを通じて、産業環境内の1つまたは複数のIOTデバイスの制御機構を監視、制御、または変更するためのIIOTアプリケーションの協調的開発を可能にすることによって、IIOTアプリケーションの開発への複数の異なる能力、データソース、および専門知識の集約または蓄積を可能にすることによって、またカスタマ/エンドユーザが協調的に開発されるIIOTアプリケーションにアクセスできるようにする、またはそれを実装できるようにするという点で、大きな利点をもたらす、ということが明らかであろう。
【0111】
本発明の例示的な実施形態について、本明細書において説明し図示しているが、それらは例示にすぎないことが認識されよう。添付の特許請求の範囲によって規定される本発明の趣旨および範囲から逸脱することなく、またはそれを損なうことなく、本発明の例示的な実施形態に形態および詳細のさまざまな修正を行えるということが、当業者には理解されよう。加えて、本明細書において適切に例示的に開示した本発明は、本明細書において具体的に開示していない任意の要素がなくても実践することができ、具体的に意図される特定の一実施形態では、本発明は、本明細書において具体的に開示していないいずれか1つまたは複数の要素がなくても実現されることが意図されている。
【符号の説明】
【0112】
100 システム環境
102 デバイスネットワーク
102a デバイス1
102b デバイス2
102c デバイスN
104 通信ネットワーク
106 デバイスサーバプラットフォーム
108 端末デバイス
108a コンピューティングデバイス
108b モバイル通信デバイス
200 協調的システム環境
202 開発サーバプラットフォーム
204 デバイスサーバプラットフォーム
206 デバイスネットワーク
208 デバイスネットワークサービスサブスクライバ
210 サポートサービスプロバイダ
212 デバイスベンダ/デバイス製造業者
214 統合サポート/ソリューションプロバイダ
216 エンドカスタマ
218 デバイスサービスプロバイダ
300 開発サーバプラットフォーム
400 システム環境
500 分散型台帳
600 データ構造、トランザクションブロック
1002 コンピュータシステム
1004 プロセッサ
1006 メモリ
1008 通信チャネル
1010 入力デバイス
1012 出力デバイス
1014 記憶装置
1062 ネットワークインターフェース
1064 アクセスコントローラ
1066 デバイス通信コントローラ
1068 デバイスデータヒストリアン
2062 デバイスネットワーク1、デバイスネットワーク
2064 デバイスネットワーク2、デバイスネットワーク
2066 デバイスネットワークN、デバイスネットワーク
3022 デバイスサーバプラットフォームインターフェース
3024 ピアツーピア通信コントローラ
3026 ポータルサブスクリプションデータベース
3042 協調コントローラ
3044 協調データベース
3046 スマート契約エンジン
3062 仮想グループジェネレータ
3064 ポータルインターフェースコントローラ
3066 デバイスネットワークデータパーサ
3082 開発済みソリューションデータベース
3084 サービスソリューションコントローラ
3086 収益コントローラ
4022 スマート契約エンジン
4042 ネットワークノード
4044 ネットワークノード
4046 ネットワークノード
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10