以下、本発明の実施の形態を、図面を用いて説明する。なお、以下の実施の形態においては便宜上その必要があるときは、複数のセクションまたは実施の形態に分割して説明するが、特に明示した場合を除き、それらはお互いに無関係なものではなく、一方は他方の一部または全部の変形例、詳細、補足説明などの関係にある。
また、以下の実施の形態において、要素の数等(個数、数値、量、範囲等を含む)に言及する場合、特に明示した場合及び原理的に明らかに特定の数に限定される場合などを除き、その特定の数に限定されるものではなく、特定の数以上でも以下でも良い。
さらに、以下の実施の形態において、その構成要素(要素ステップなどを含む)は、特に明示した場合及び原理的に明らかに必須であると考えられる場合などを除き、必ずしも必須のものではない。
本実施形態では、複数のプロバイダのサービスをユーザに提供する場合のサービス品質の制御方法を開示する。サービス提供管理システムは、サービスに関するデータを転送するデータ転送装置と、サービス管理装置とを含む。データ転送装置は、サービス転送装置と呼ぶこともできる。
データ転送装置は、サービス提供装置としてのプロバイダが提供するサービスの品質情報を記録し、サービス管理装置に提示する手順を実行する。サービス管理装置は、ユーザが提出したサービス品質への要求に対し、サービス品質情報に基づいて、ユーザの個々の端末が受けるサービスのプロバイダの選択結果を生成し、データ転送装置に提示する手順を実行する。そして、データ転送装置は、サービス管理装置から選択結果を取得し、その選択結果に基づき、端末からのサービス要求を選択されたプロバイダに転送し、プロバイダからのサービス結果を端末に転送する手順を実行する。
データ転送装置は、プロバイダが提供するサービスの品質情報を記録し、サービス管理装置に提示する。サービス管理装置は、ユーザの提出したサービス品質への要求に対し、サービスの品質情報に基づいて、ユーザの個々の端末が受けるサービスのプロバイダの選択結果を生成し、データ転送装置に提示する。データ転送装置は、取得した選択結果に基づき、端末からのサービス要求を選択されたプロバイダに転送し、プロバイダからのサービス結果を端末に転送する。
さらに本実施形態は、複数のプロバイダのサービスをユーザに提供する場合のサービス品質を制御するシステムに含まれるサービス管理装置を開示する。サービス管理装置は、ユーザの提出したサービス品質への要求に対し、データ転送装置から取得したプロバイダが提供するサービスの品質情報に基づいて、ユーザの個々の端末が受けるサービスのプロバイダの選択結果を生成し、データ転送装置に提示する。
本実施形態によれば、複数のプロバイダが提供するサービスを使い、要求されたサービス品質でサービスを提供する制御を実現できる。なお、前述した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
図1〜図11を用いて第1実施例を説明する。本実施例では、以下に詳述するように、ユーザクライアント3と、サービス管理装置1と、サービス転送装置2と、IoTゲートウェイ4と、設備センサ5と、ローカルサーバ6と、サービスプロバイダ7を含む工場の設備センサのデータ処理システムを例に挙げて説明する。ローカルサーバ6とサービスプロバイダ7とは、「サービス提供装置」の例である。なお、以下では、ローカルサーバ6とサービスプロバイダ7とを区別せずに、プロバイダ7と略記する場合がある。図中、ゲートウェイは「GW」と略記する。
本実施例のデータ処理システムは、サービス転送装置2が、各プロバイダ7の提供するサービスの品質情報をそれぞれ記録して、サービス管理装置1へ提示する。
先に、サービス提供管理システムの概要を述べると、サービス管理装置1は、ユーザUがクライアント3を介して提出したサービス品質への要求(ユーザ要求)に対して、サービスの品質情報に基づき、ユーザの個々の設備センサ5の生成したデータが受けるサービスのプロバイダ7の選択結果を生成し、サービス転送装置2に提示する。
「データ転送装置」の例であるサービス転送装置2は、取得した選択結果に基づき、IoTゲートウェイ4からのサービス要求を選択されたプロバイダ7へ転送し、プロバイダ7からのサービス結果をIoTゲートウェイ4に転送する。
サービス管理装置1は、サービスの品質情報を取得し、サービス品質がユーザ要求を満たせるかを判断し、サービス品質がユーザ要求を満たせないと判断した場合、サービス移行の指示を作成して、サービス転送装置2に提示する。
サービス転送装置2は、サービス移行の指示を取得し、サービス移行の指示に従い、IoTゲートウェイ4からのサービス要求を移行先プロバイダに転送し、移行先プロバイダからのサービス結果をIoTゲートウェイ4へ転送する。
本実施例のシステム構成は、図1に示すように、ユーザクライアント(以下、クライアント3)と、サービス管理装置(以下、管理装置1)と、データ転送装置(またはHead-End System(HES)、以下、転送装置2)と、IoTゲートウェイ(以下、ゲートウェイ4)と、設備センサ(以下、センサ5)と、ローカルサーバ6と、広域網(以下、通信ネットワークCN)と、複数のサービスプロバイダ(以下、プロバイダ7)とを含んで構成される。
クライアント3は、管理装置1にアクセスし、ユーザが受けるサービス(ユーザの管理下にあるセンサ5の受けるサービス)の要求を管理装置1に提示し、リアルタイムのサービス品質を監視する。
ユーザUは、ゲートウェイ4と、ゲートウェイ4に通信可能に接続された一つ以上のセンサ5とが配置された工場などのサイトと、クライアント3とを管理下に置く。ゲートウェイ4およびセンサ5は、「ユーザ側装置」の例である。
ゲートウェイ4は、各センサ5から取得した設備稼働データを収集し整形して、データ処理サービスを受けるデータを転送装置2へ送信する。ゲートウェイ4は、転送装置2から取得したデータ処理サービスの処理結果に基づいて、センサ5などを制御する。
転送装置2は、管理装置1の指示にしたがって、ゲートウェイ4とローカルサーバ6またはプロバイダ7との間の通信を管理する。すなわち転送装置2は、管理装置1の指示に従い、ゲートウェイ4から取得したデータを、ローカルサーバ6、あるいは通信ネットワークCNを経てプロバイダ7、のいずれかのデータ処理サービスへ転送する。そして、転送装置2は、サービス提供元(ローカルサーバ6またはプロバイダ7)から取得したデータ処理サービスの処理結果を、対応するゲートウェイ4へ転送する。
また、転送装置2は、転送されるトラフィックに従い、サービス提供元が提供するデータ処理サービスのサービス品質情報を記録し、管理装置1に提供する。ここで、データ処理サービスは、「情報処理サービス」に該当する。サービス品質情報は、サービスレベルの品質情報と呼ぶこともできる。
管理装置1は、それぞれ後述するように、ユーザアクセス部111、サービス選択部112、サービス品質管理武113、サービス移行部114を有する。管理装置1は、クライアント3から取得したサービス要求と転送装置2から取得したサービス品質情報とに基づき、データ処理サービスを提供する装置6,7の中から、クライアント3に提供すべきサービスを選択する。そして、管理装置1は、転送装置2に対して、サービス選択結果とサービス移行指示とを提示する。
転送装置2は、管理装置1からの指示にしたがって、サービスに関するデータ転送を制御する装置であり、それぞれ後述するように、サービス選択受信部211、データ転送部212、サービス品質送信部213、サービス移行実行部214を有する。
ローカルサーバ6は、データ処理を行うアプリケーション61を少なくとも一つ有し、データ処理サービスを提供するコンピュータである。各プロバイダ7も、データ処理を行うアプリケーション71を少なくとも一つ有し、データ処理サービスを提供するオンラインサービスである。
図1に示すように、同一のユーザUの管理下に、クライアント3と、ゲートウェイ4と、センサ5のセットが存在する。クライアント3,ゲートウェイ4およびセンサ5はそれぞれ一つずつでもよいし、あるいは複数でもよい。センサ5は、ゲートウェイ4と有線または無線で通信可能に接続される。ローカルサーバ6は、転送装置2と有線または無線で通信可能に接続される。転送装置2の内部にローカルサーバ6を設けてもよい。
図2に本実施例の管理装置1の構成例を示す。本実施例における管理装置1の機能は、一般的なコンピュータの外部記憶装置15にプログラムソフトウェアとして格納され、メモリ11上に展開されてCPU12により実行される。図中では、外部記憶装置を「SSD」と略記しているが、フラッシュメモリデバイス(Solid State Drive)に限らず、ハードディスクなどの他の記憶媒体を用いる記憶装置でもよい。
管理装置1は、入出力インターフェース13、あるいは通信インターフェース14、あるいはその両方を介して、ユーザクライアント3と転送装置2を接続する。
管理装置1のメモリ11は、例えば、ユーザアクセスプログラム111、サービス選択プログラム112、サービス品質管理プログラム113、サービス移行プログラムといったコンピュータプログラムと、ユーザ要求情報テーブル121、サービス情報テーブル122、サービス選択情報テーブル123、サービス品質情報テーブル124といった管理情報とを記憶する。
ユーザアクセスプログラム111は、管理装置1がクライアント3と情報を交換するためのプログラムである。サービス選択プログラム112は、サービス品質を満たすようにプロバイダ7を選択するプログラムである。サービス品質管理プログラム113は、各プロバイダ7の提供するサービスの品質に関する情報であるサービス品質情報を、転送装置2から取得するプログラムである。サービス移行プログラム114は、転送装置2に対して、サービス提供元(ローカルサーバ6、プロバイダ7)の変更を指示するプログラムである。
ユーザ要求情報テーブル121は、ユーザ要求を格納するテーブルである。サービス情報テーブル122は、サービスの情報を格納するテーブルである。サービス選択情報テーブル123は、サービスの選択結果を格納するテーブルである。サービス品質情報テーブル124は、サービス品質情報を格納するテーブルである。
図3に本実施例の転送装置2の構成例を示す。本実施例における転送装置2の機能は、一般的なコンピュータの外部記憶装置25にプログラムソフトウェアとして格納され、メモリ21上に展開されてCPU22により実行される。
転送装置2は、入出力インターフェース23、あるいは通信インターフェース24、あるいはその両方を介して、管理装置1とゲートウェイ4とローカルサーバ6と通信ネットワークCNとに接続する。
転送装置2のメモリ21は、サービス選択受信プログラム211、データ転送プログラム212、サービス品質送信プログラム213、サービス移行実行プログラム214といったコンピュータプログラムと、サービス選択情報テーブル221、サービス品質情報テーブル222といった管理情報とを記憶する。
サービス選択受信部211は、管理装置1が提示したサービス選択結果を受信するプログラムである。データ転送プログラム212は、ゲートウェイ4とサービス提供元の間でトラフィックを転送するプログラムである。サービス品質送信プログラム213は、ローカルサーバ6とプロバイダ7とから収集したサービス品質情報を管理装置1へ送信するプログラムである。サービス移行実行プログラム214は、管理装置1が提示したサービス移行を実行するプログラムである。
サービス選択情報テーブル221は、サービス選択結果を格納するテーブルである。サービス品質情報テーブル222は、サービス品質情報を格納するテーブルである。
なお、管理装置1と転送装置2とは、上述のコンピュータプログラムおよび管理情報(テーブル)を、単一のメモリに格納する場合を述べた。これに代えて、コンピュータプログラムやテーブルの全部または一部を外部記憶装置へ格納し、必要になる都度、外部記憶装置から読み出して使用する構成としてもよい。
上述のコンピュータプログラムおよびテーブルを複数のコンピュータに分散して格納してもよい。例えば、管理情報をリレーショナルデータベースのテーブルとして、転送装置2でもゲートウェイ4とも異なるデータベースサーバ(不図示)に格納してもよい。
図4は、管理装置1が保持するユーザ要求情報テーブル121の例である。ユーザ要求情報テーブル121は、例えば、ユーザID1211、ゲートウェイアドレス1212、センサ数1213、処理タイプ1214、センサ毎データ量1215、遅延1216、信頼性1217を対応づけて管理する。
ユーザID1211は、ユーザの識別子である。ゲートウェイアドレス1212は、転送装置2に接続するゲートウェイ4のネットワークアドレスである。各ゲートウェイ4は固有のネットワークアドレスを持つため、ネットワークアドレスはゲートウェイ4の識別子にもなっている。センサ数1213は、ゲートウェイ4に接続されたセンサ5の数を示す。
処理タイプ1214は、例えば「変化監視」、「予兆検知」などのゲートウェイ4(および/またはセンサ5)の必要とするサービス機能を示す。センサ毎データ量1215は、一つのセンサ5が発生するデータ処理負荷を示す。遅延1216は、サービス提供元であるプロバイダ7での処理の遅延の瞬間下限値を示す。信頼性1217は、プロバイダ7での処理結果の到達率の瞬間下限値を示す。
ゲートウェイアドレス1212は、ゲートウェイ4のIPアドレスの他、IPパケットが含む、ゲートウェイ4の識別が可能な他のデータでもよい。処理タイプ1214は、処理名称の他、予め決まった処理タイプの識別子(ID)や、共通する処理URL(Uniform Resource Locator)の相対パスでもよい。サービス品質は、処理遅延と処理結果到達率の瞬間下限値の他、予め決まった時間における平均値の下限値でもよいし、あるいは、処理遅延と処理結果到達率以外の、トラフィックから収集できるサービス品質を示す統計結果でもよい。
図5は、管理装置1が保持するサービス情報テーブル122の例である。サービス情報テーブル122は、例えば、サービスID1221、プロバイダ1222、処理タイプ1223、アクセス1224、コスト1225、サービス移行情報1226を対応づけて管理する。
サービスID1221は、サービスの識別子を示す。プロバイダ1222は、サービス提供元の識別子を示す。処理タイプ1223は、必要なサービス機能を示す。アクセス1224は、サービスを受けるデータの転送先、すなわちサービス提供元にデータを転送するためのネットワークアドレスを示す。コスト1225は、サービスを利用するときのコストを示す。サービス移行情報1226は、サービス移行に必要な情報を示す。
アクセス1224は、サービス提供元のIPアドレスとポートの組合せに限らず、サービスのURLやその他のサービスAPI(Application Programming Interface)の指定情報でもよい。コスト1225は、サービス利用時にサービスを提供するプロバイダ7に支払う金額のほか、サービスを利用するために転送装置2やサービス提供管理システムの他の部分に発生する各種コストを含んでもよい。サービス移行情報1226は、移行先のサービス提供元(プロバイダ)と、サービス移行時の処理手順と、サービス移行時に発生するオーバーヘッドとを含む。サービス情報テーブル122は、図5に示す各情報1221〜1226のほかに、例えば、サービスの最大キャパシティや、残りキャパシティなどを追加してもよい。
図6は、管理装置1が保持するサービス選択情報テーブル123の例である。サービス選択情報テーブル123は、例えば、ユーザID1231、センサID1232、サービスID1233を対応づけて管理する。
ユーザID1231は、ユーザの識別子である。センサID1232は、センサ5の識別子である。サービスID1233は、センサ5の生成したデータが受けるサービスの識別子、つまりセンサデータが送られるプロバイダ7での情報処理サービス(データ処理サービス)を特定する情報である。
転送装置2が保持するサービス選択情報テーブル221は、サービス選択情報テーブル123が含む情報1231〜1233のほかに、ユーザ要求情報テーブル121が含むゲートウェイアドレス1212と、サービス情報テーブル122が含むアクセス1224等の項目を備えてもよい。これにより、転送装置2は、サービス選択情報テーブル221を参照するだけで、センサ5のデータを送信すべきプロバイダ7などを直ちに把握することができ、転送処理の効率を高めることができる。
図7は、管理装置1が保持するサービス品質情報テーブル124の例である。サービス品質情報テーブル124は、例えば、報告時刻1241、サービスID1242、ユーザID1243、遅延1244、信頼性1245を対応づけて管理する。
報告時刻1241は、品質情報を報告された時刻を示す。サービスID1242は、報告対象であるサービスの識別子を示す。ユーザID1243は、報告対象であるユーザの識別子を示す。遅延1244および信頼性1245は、報告内容としての報告期間中の統計結果である、遅延と信頼性である。
報告内容は遅延1244と信頼性1245の他、サービス品質要求に含まれるトラフィックから収集できるサービス品質を示す統計結果でもよい。
転送装置2が保持するサービス品質情報テーブル222は、サービス品質情報テーブル124と同じフォーマットでもよいし、あるいは、統計結果の履歴ではなく前回報告結果からの詳細情報でもよい。つまり、転送装置2は、統計結果の履歴を管理する必要はなく、最新の報告結果だけを管理してもよい。
管理装置1が実施するユーザアクセスプログラム111は、入出力インターフェース13、あるいは通信インターフェース14、あるいはその両方を介して、クライアント3と情報をやり取りする。ユーザアクセスプログラム111は、ユーザ要求の受入れと、サービス結果の提供と、サービス品質の監視等といった各機能を実現する。これらの機能はウェブアプリケーションを利用して実現することもできる。例えば、ユーザアクセスプログラム111は、クライアント3にウェブ画面を提供し、クライアント3がウェブ画面に必要な情報を入力すると、その入力された情報をデータ処理し、ウェブ画面にその処理結果に関する情報を表示する。ユーザアクセスプログラム111とクライアント3の間の情報のやり取りは、ウェブ画面の他、予め決まったプロトコルを使ったメッセージなどの通信も可能である。
図8は、ユーザアクセスプログラム211がクライアント3に提示するサービス品質監視画面G10の例である。
サービス品質監視画面G10は、例えば、表示期間GP11、品質要求達成率GP12、詳細情報GP13、サービス結果統合ボタンGP14を含む。表示期間GP11は、画面に表示される情報の対応期間を示す。品質要求達成率GP12は、画面に表示された情報の対応期間におけるユーザ品質要求の全体達成率を示す。詳細情報GP13は、画面に表示された情報の対応期間における各サービスのサービス品質に関する詳細である。
サービス品質の詳細情報GP13は、例えば、サービスの識別子を示すID GP131と、そのサービスを受けるセンサ5の識別子を示すセンサID GP132と、サービス品質情報GP133と、サービス使用量GP134と、サービス結果GP135とを備えることができる。
サービス結果GP135には、サービスに要した処理時間や信頼性などをグラフ表示させることができる。サービス結果GP135にグラフ表示ボタンを配置し、ユーザがそのボタンを押したときに別のウインドウでグラフを表示させてもよい。サービス結果統合ボタンGP14は、ゲートウェイ4が処理を依頼している各サービスの結果を統合して示すためのボタンである。ユーザは、詳細情報GP13を参照することで、サービスごとの品質を確認することができる。さらに、ユーザは、サービス結果統合ボタンGP14を操作することで、複数のサービスの結果を統合したゲートウェイ全体としてのサービス品質を確認することもできる。
図9のフローチャートを用いて、管理装置1が実施するサービス選択プログラム112の処理を説明する。
管理装置1は、ユーザアクセスプログラム111がクライアント3からユーザ要求を受信すると、サービス選択プログラム112を動作させる。ステップS11において、管理装置1は、クライアント3から受信したユーザ要求情報をユーザ要求情報テーブル121から取得する。
ステップS12において、管理装置1は、サービス情報テーブル122から、取得したユーザ要求情報の処理タイプと一致するサービスの情報を取得する。ステップS13において、管理装置1は、サービス品質情報テーブル124から、取得したサービスの最新の品質情報を取得する。
ステップS14において、管理装置1は、ユーザ要求と、サービス情報と、サービス品質情報とを制約条件にして、公知の数理最適化アルゴリズムを利用し、ユーザ要求を満たす最適なサービスの組合せを計算する。
最適化の目標は、例えば、サービスを受けるコストの最小化である。サービスの組合せとは、ユーザの管理下にある複数のセンサ5の生成したデータに対して、違うサービスを提供することである。例えば、或るユーザの管理下に100個のセンサ5が存在し、センサデータを解析して変化を監視するサービスを受ける場合を説明する。この場合例えば、80個のセンサ5が生成したデータには変化監視を行う第1のサービスを適用し、残りの20個のセンサ5が生成したデータには変化監視を行う第2のサービスを提供する。なお、サービスの組合せを計算する場合、予め設定したサービス品質の冗長、あるいはサービス移行時のオーバーヘッドの差し引きを考慮してもよい。
ステップS15において、管理装置1は、ステップS14の計算結果に、ユーザ要求を全部満たすサービスの組合せが存在するか判定する。ユーザ要求を満たすサービスの組合せが存在しない場合(S15:NO)、管理装置1は、ステップS18へ進む。
ユーザ要求を満たすサービスの組合せが存在する場合(S15:YES)、管理装置1は、ステップS16へ進み、ステップS14の計算結果であるサービスの組合せをサービス選択情報テーブル123に記憶させる。
ステップS17において、管理装置1は、ユーザ要求を満たすサービス選択結果を転送装置2へ送信する。最後に管理装置1は、ステップS18において、ユーザ要求を満たすサービスの組合せが存在するかどうかに関わらず、サービスの組合せが存在するかの判定結果をユーザアクセスプログラム111に提示し、サービス選択プログラム112を正常終了する。ユーザアクセスプログラム111は、サービス選択プログラム112から受け取った結果を、ユーザ要求に対する応答としてクライアント3へ送信する。
管理装置1が実施するサービス品質管理プログラム113は、予め決まった一定時間が経過するごとに、あるいは他のトリガーを受け取った場合に、入出力インターフェース13、あるいは通信インターフェース14、あるいはその両方を介して、転送装置2へサービス品質情報取得の要求を送信する。サービス品質管理プログラム113は、転送装置2からの応答を受信すると、サービス品質情報テーブル124に記憶させる。その後、管理装置1は、サービス移行プログラム114を動作させる。
図10のフローチャートを用いて、管理装置1が実施するサービス移行プログラム114の処理を説明する。
管理装置1は、サービス品質管理プログラム113がサービス移行プログラム114を動作させると、ステップS21において、ユーザ要求情報テーブル121から、順番に一つのユーザ要求情報を取得する。
ステップS22において、管理装置1は、サービス選択情報テーブル123から、取得したユーザ情報に関連するサービス選択結果情報を取得する。ステップS23において、管理装置1は、サービス品質情報テーブル124から、取得したサービス選択結果が含むすべてのサービスの最新のサービス品質情報を取得する。
ステップS24において、管理装置1は、取得した最新の品質情報がユーザの要求したサービス品質を満たすかを判定する。サービスの品質がユーザの要求するサービス品質を満たす場合(S24:YES)、管理装置1は、ステップS30へ進む。これに対し、サービスの品質がユーザの要求するサービス品質を満たさない場合(S24:NO)、管理装置1は、ステップS25へ進み、ユーザ要求とサービス情報とサービス品質情報とを制約条件にして、公知の数理最適化アルゴリズムを利用し、ユーザ要求を満たす最適なサービスの組合せを計算する。
ステップS26において、管理装置1は、ステップS25の計算結果に、ユーザ要求を全部満たすサービスの組合せが存在するか判定する。ユーザ要求を満たすサービスの組合せが存在しない場合(S26:NO)、管理装置1は、ステップS30へ進む。
ユーザ要求を満たすサービスの組合せが存在する場合(S26:YES)、管理装置1は、ステップS27へ進み、サービス情報テーブル122から、関連するサービスのサービス移行情報を取得する。ステップS28において、管理装置1は、旧サービスの組合せから新サービスの組合せへ変更する場合、最小限な移行が必要なセンサ5を選定する。移行対象のセンサの選定方法には、例えば、移行オーバーヘッドの最小化を目標とした公知の数理最適化アルゴリズムを使うことが可能である。
ステップS29において、管理装置1は、選定したセンサ5とサービス移行情報とに基づき、サービス移行指示を作成し、転送装置2へ送信する。最後にステップS30において、管理装置1は、全てのユーザ要求を処理完了したかを判定する。まだ処理していないユーザ要求が存在する場合(S30:NO)、管理装置1は、ステップS21へ戻る。全てのユーザ要求を処理完了した場合(S30:YES)、管理装置1は、本処理を正常終了する。
転送装置2が実施するサービス選択受信プログラム211は、管理装置1からのサービス選択結果を受信し、サービス選択情報テーブル221に記憶させる。
転送装置2が実施するデータ転送プログラム212は、データ処理要求を含むデータパケットをゲートウェイ4から受信すると、サービス選択情報テーブル221に記憶されているゲートウェイ4に関連する情報に基づいて、そのデータパケットを適切なローカルサーバ6あるいはプロバイダ7へ転送する。
さらに、転送装置2が実施するデータ転送プログラム212は、データ処理結果を含むデータパケットをローカルサーバ6あるいはプロバイダ7から受信すると、そのデータパケットに含まれているユーザ識別子およびセンサ識別子に基づいて、適切なゲートウェイ4へ転送する。
さらに、転送装置2が実施するデータ転送プログラム212は、データパケットを転送する際に、パケット送受信時に記録したトラフィック時刻等からサービス品質情報を算出し、算出結果をサービス品質情報テーブル222に記憶させる。
転送装置2が実施するサービス品質送信プログラム213は、管理装置1からサービス品質送信取得の要求を受信すると、サービス品質情報テーブル222に基づいて、サービス品質の統計結果を作成し、作成した統計結果を管理装置1へ送信する。
転送装置2が実施するサービス移行実行プログラム214は、管理装置1からのサービス移行指示を受信すると、サービス選択情報テーブル221を更新し、サービス移行指示に含まれているサービス移行手順に基づいて、サービス提供元を、移行元のプロバイダ7のサービスから移行先のプロバイダ7のサービスへ移行させる。
図11に、データ処理システムの全体動作を示す。以下の説明では、各指示メッセージの単純応答メッセージを省略する。図11では、クライアント3を「ユーザ」、サービス管理装置1を「管理」、サービス転送装置2を「転送」と略記する。図11では、説明を簡単にするために2つのサービスプロバイダ7(1),7(2)を示す。
クライアント3は、ゲートウェイ4と、設備センサ数と、処理タイプと、サービス品質の要求とを含むユーザ要求メッセージM51を管理装置1に送信する。管理装置1は、ユーザアクセスプログラム111を動作させて、クライアント3から受信したユーザ要求M51をユーザ要求情報テーブル121へ格納し、その後、サービス選択プログラム112を動作させる。
管理装置1は、サービス選択プログラム112(図9)のステップS17において、最適化されたサービスの組合せに基づき、サービス選択結果メッセージM52を作成し、転送装置2へ送信する。
管理装置1は、サービス選択プログラム112(図9)のステップS18において、サービスの組合せが存在することを要求応答メッセージM53として、クライアント3へ送信する。転送装置2は、管理装置1からサービス選択結果M52を受信すると、サービス選択受信プログラム211を動作させ、サービス選択結果M52をサービス選択情報テーブル221へ格納する。
転送装置2は、ゲートウェイ4から処理要求メッセージM54を受信すると、データ転送プログラム212を動作させ、サービス選択情報テーブル221に格納されている情報に基づき、処理要求メッセージM55を適切なプロバイダ7(あるいはローカルサーバ6、例えば、プロバイダ7(1))へ送信する。
転送装置2は、転送先のプロバイダ7(1)から処理結果メッセージM56を受信すると、データ転送プログラム212を動作させ、処理結果メッセージM56に含まれるユーザ識別子およびセンサ識別子に基づいて、処理結果M57を適切なゲートウェイ4へ送信する。
転送装置2は、処理要求メッセージM55を送信する際と処理結果メッセージM56を受信する際とで、それぞれトラフィック時刻等を記録している。そこで、転送装置2は、送信時刻と受信時刻との差からサービス品質情報を算出し、サービス品質情報テーブル222に記憶させる。
管理装置1は、周期的にサービス品質管理プログラム113を動作させ、サービス品質情報取得メッセージM58を転送装置2へ送信する。転送装置2は、情報取得メッセージM58を受信すると、サービス品質送信プログラム213を動作させ、サービス品質情報テーブル222に格納されている情報に基づいて、サービス品質情報提供メッセージM59を生成し、管理装置1へ送信する。
通常時であれば、メッセージM54からメッセージM57までのデータ転送ルーチンと、メッセージM58からメッセージM59までのサービス品質情報転送ルーチンとがそれぞれ繰り返し発生する。
管理装置1は、転送装置2からサービス品質情報提供メッセージM59を受信すると、サービス品質管理プログラム113を動作させ、サービス品質情報テーブル124に格納した上に、サービス移行プログラム114を動作させる。
管理装置1は、サービス移行プログラム114(図10)のステップS24において、サービス品質がユーザ要求を満たさないと判定し、かつ、ステップS26において、新たなユーザ要求を満たすサービスの組合せが存在すると判定した場合、ステップS29において、サービス移行指示メッセージM60を転送装置2へ送信する。
転送装置2は、管理装置1からサービス移行指示メッセージM60を受信すると、サービス移行実行プログラム214を動作させ、サービス移行指示メッセージM60に含まれる手順に基づき、サービスの引き継ぎを行う。
サービス移行指示メッセージM60に含まれる手順の一例として、以下のメッセージのやり取りがある。以下では、プロバイダ7(1)からプロバイダ7(2)へサービス提供元が変更されるものとして説明する。プロバイダ7(1)は移行元プロバイダであり、プロバイダ7(2)は移行先プロバイダである。移行元プロバイダを旧プロバイダと、移行先プロバイダを新プロバイダと呼ぶこともできる。
まず、転送装置2は、利用するサービスのプロバイダが変更されるセンサ5について、引継情報取得メッセージM61をプロバイダ7(1)へ送信する。引継情報とは、サービスの引き継ぎに必要な統計データである。引継情報の一例として、例えば、予め決まった過去の一定期間のデータの平均値、最大値、最小値、標準偏差などがある。
転送装置2は、移行元のプロバイダ7(1)から引継情報提供メッセージM63を受信すると、サービス移行実行プルグラム314を動作させ、受信した引継情報を移行先プロバイダ7(あるいはローカルサーバ6、例えば、プロバイダ7(2))が利用可能なフォーマットなどに変換し、引継情報メッセージM63をプロバイダ7(2)へ送信し、サービスの引き継ぎを完了する。
サービスの引き継ぎが完了した後に、転送装置2は、ゲートウェイ4から処理要求メッセージM64を受信すると、データ転送プログラム212を動作させ、サービス選択情報テーブル221に格納されている情報に基づき、処理要求メッセージM65を移行先プロバイダ7(2)へ送信する。
転送装置2は、移行先プロバイダ7(2)から処理結果メッセージM66を受信すると、データ転送プログラム212を動作させ、処理結果メッセージM66に含まれているユーザ識別子およびセンサ識別子に基づき、処理結果メッセージM67を適切なゲートウェイ4へ送信する。
ここで、転送装置2は、処理要求メッセージM65を送信する場合と処理結果メッセージM66を受信する場合との両方で、トラフィックの時刻等を記録している。転送装置2は、その記録からサービス品質情報を算出して、サービス品質情報テーブル222に記憶させる。
このように構成される本実施例では、サービス品質が完全には安定していないプロバイダ7の提供するサービスを使用する場合でも、ユーザの要求するサービス品質に適合したサービスをユーザに提供することができる。そして、例えば、コスト最小化を最適目標とする数理最適化計算により生成したサービスの組合せにより、ユーザの要求したサービス品質を満たすサービスを受ける際の種々のコストを削減することができる。
すなわち、本実施例によれば、サービス品質が変化する複数のサービスをユーザ要求を満たすように動的に組み合わせることができ、ユーザの希望するサービスを提供することができ、ユーザの使い勝手が向上する。
なお、本実施例において、管理装置1と転送装置2の間のメッセージ通信が使用するパケットのフォーマットについては、既存のネットワーク通信標準に従ったフォーマット、あるいはそれを拡張したものを使用することができる。その一例として、例えば、HTTP(Hyper-Text Transfer Protocol)、JSON(JavaScript Object Notation:JavaScriptは登録商標)、CoAP(Constrained Application Protocol)、MQTT等を使用できる。
一つの管理装置1あるいは転送装置2は、複数の通信パケットフォーマットを用いて通信することもできる。一つの管理装置1あるいは転送装置2は、同時に複数の転送装置2あるいは管理装置1と、メッセージを通信することもできる。
本実施例では、サービス提供管理システムをサービス管理装置1とサービス転送装置2とに分けて構成し、サービスの組替などの管理をサービス管理装置1が担当し、ユーザ側装置(ゲートウェイ4,センサ5)とプロバイダ(6,7)との間のデータ転送をサービス転送装置2が担当する。したがって、サービス転送装置2は、多数のセンサ5のデータを高速に処理することができる。この結果、短時間で多数のセンサデータを高速に処理することができ、高い信頼性とロバスト性と使い勝手の良さを持つIoTシステムを構築することができる。
図12〜図17を用いて第2実施例を説明する。本実施例は第1実施例の変形例に相当するため、第1実施例との相違を中心に述べる。
本実施例は、サービス管理装置1Aと、サービスプロバイダ7Aと、自動車8と、ユーザクライアント3Aを含むテレマティクスサービスシステムに本発明を適用した場合の例を説明する。
テレマティクスサービスシステムは、自動車8にゲートウェイ4Aが搭載されており、ゲートウェイ4Aはデータ転送装置2Aを備える。車載ゲートウェイ4Aは、プロバイダ7の提供するサービスの品質情報を記録し、サービス管理装置1Aへ提示する。サービス管理装置1Aは、ユーザの提出したサービス品質への要求に対し、サービス品質情報に基づいて、ユーザの個々の車載センサ5Aの生成したデータが受けるサービスのプロバイダ7Aを選択する。サービス管理装置1Aは、サービス選択結果を生成して、車載ゲートウェイ4Aに提示する。そして、車載ゲートウェイ4Aは、取得したサービス選択結果に基づいて、車載センサ5Aの生成したデータを、サービス選択結果にて選択されたプロバイダ7Aへ転送する。
サービス管理装置1Aは、サービスの品質情報を取得し、サービスの品質がユーザ要求を満たせるかを判断し、サービスの品質がユーザ要求を満たせないと判断した場合、サービス移行の指示を作成して、車載ゲートウェイ4Aに提示する。車載ゲートウェイ4Aは、サービス移行の指示を取得すると、サービス移行の指示に従い、車載センサ5Aが生成したデータを移行先プロバイダへ転送する。サービス管理装置1Aは、複数のプロバイダ7Aのサービスの提供結果をそれぞれ取得し、取得したそれらの結果の内容を整合し、整合した結果をユーザに提供することもできる。
図12を用いて、本実施例のシステム構成を説明する。なお、第1実施例と重複する内容は説明を省略する。本実施例のシステム構成は、例えば、サービス管理装置(以下、管理装置1A)と、複数のサービスプロバイダ(以下、プロバイダ7A)と、自動車8と、ユーザクライアント(以下、クライアント3A)とを含む。
自動車8は、複数の車載センサ(以下、センサ5A)と、各センサ5Aの信号電送を管理する車載ゲートウェイ(以下、ゲートウェイ4A)とを備える。センサ5Aは、例えば、温度、湿度、車速、トルク、振動、圧力、騒音、電流値、電圧値、抵抗値、振動などのように、自動車8の各部品あるいはその周辺の環境情報を測定して出力する。
ゲートウェイ4Aは、センサ5Aの生成したデータを収集して整形する。ゲートウェイ4Aは、「データ転送装置」の例としてのサービス転送装置2Aの機能を内蔵しており、センサ5Aで収集されたデータを、サービス管理装置1Aから指定されたプロバイダ7Aへ送信する。図12に示すように、クライアント3Aと自動車8とは、同一のユーザUAが管理している一つないし複数のものがセットとなる。
図12では、クライアント3Aは、例えば、パーソナルコンピュータ、スマートフォン、携帯情報端末などのように、自動車8とは別の装置として構成する場合を示す。しかし、これに限らず、クライアント3Aを、ゲートウェイ4Aと同様に、自動車8に設けることもできる。例えば、クライアント3Aは、自動車8の備える車載情報システムの一部として設けることができる。クライアント3Aを車載情報システムの中に設ける場合、クライアント3Aは、ゲートウェイ4Aを介して外部と通信してもよいし、ゲートウェイ4Aから独立した別の通信手段を用いて外部と通信してもよい。
プロバイダ7Aは、データ処理を行うアプリケーション71と、外部からデータを収集するHES(Head-End System)とを備える。
図13を用いて、本実施例の管理装置1Aの構成例を説明する。管理装置1Aは、第1実施例の管理装置1と同様に、例えば、メモリ11A、CPU12A、入出力インターフェース13A、通信インターフェース14A、外部記憶装置15Aを有するコンピュータシステムとして構成されている。
メモリ11Aは、ユーザアクセスプログラム111A、サービス選択プログラム112A、サービス品質管理プログラム113A、サービス移行プログラム114A、ユーザ要求情報テーブル121A、サービス情報テーブル122A、サービス選択情報テーブル123A、サービス品質情報テーブル124Aを記憶している。これらのコンピュータプログラム111A〜114Aは、第1実施例で述べたコンピュータプログラム111〜114に対応する。テーブル121A〜124Aは、第1実施例で述べたテーブル121〜124に対応する。
図14は、管理装置1Aが保持するユーザ要求情報テーブル121Aの例である。ユーザ要求情報テーブル121Aは、例えば、ユーザID1211A、ゲートウェイID1212A、センサタイプ1213A、処理タイプ1214A、サービス品質指標1215A、閾値1216Aを対応づけて管理する。図4で述べたユーザ要求情報テーブル121との相違は、センサ数1213がセンサタイプ1213Aに、センサ毎データ量1215がサービス品質指標1215Aに、遅延1216が閾値1216Aに、それぞれなっており、信頼性1217が設けられていない点である。
ユーザID1211Aは、ユーザの識別子である。ゲートウェイアドレス1212Aは、ゲートウェイのネットワークアドレスである。センサタイプ1213Aは、センサ5Aのタイプを示す。処理タイプ1214Aは、必要なサービス機能を示す。サービス品質情報1215Aは、サービストラフィックの統計情報とサービス品質の満足度との関係を示す。閾値1216Aは、サービス品質指標の許容下限値を示す。
図14の例では、ユーザID1211Aが”1”、かつセンサタイプ1213Aが”ECU”の生成データが受けるサービス機能に対して、”f=(1-fail)*10-delay”というサービス品質満足度が適用されている。変数failは、予め決まった期間中にデータパケットのロスと解読不能およびデータ処理失敗とによるサービス失敗率である。変数delayは、予め決まった期間中に処理要求の送信から処理結果の受信までの平均遅延である。例えば、サービス失敗率が5%かつ平均遅延が0.4秒の場合、そのサービス品質満足度は9.1となる。
図15のフローチャートを用いて、管理装置1Aが実施するサービス選択プログラム112Aの処理を説明する。本実施例の処理は、図9で述べた処理と比べて、ステップS17Aが追加されている点で異なる。ステップS11A〜S16Aは、図9のステップS11〜S16に対応する。ステップS18A,S19Aは、図9のステップS17,S18に対応する。
管理装置1Aは、ユーザアクセスプログラム111Aがクライアント3Aからのユーザ要求を受信すると、サービス選択プログラム112Aを動作させる。
ステップS11Aにおいて、管理装置1Aは、クライアント3Aから受信したユーザ要求情報をユーザ要求情報テーブル121Aから取得する。ステップS12Aにおいて、管理装置1Aは、サービス情報テーブル122Aから、取得したユーザ要求情報の処理タイプと一致するサービスの情報を取得する。
ステップS13Aにおいて、管理装置1Aは、サービス品質情報テーブル124Aから、取得したサービスの最新の品質情報を取得する。ステップS14Aにおいて、管理装置1Aは、ユーザ要求とサービス情報とサービス品質情報とを制約条件に、公知の数理最適化アルゴリズムを利用し、ユーザ要求を満たす最適なサービスを計算する。最適化の目標は、例えば、サービス品質満足度の最大化である。最適なサービスを計算する場合、予め設定したサービス品質の冗長あるいはサービス移行のオーバーヘッドの差し引きを考慮に入れてもよい。
ステップS15Aにおいて、管理装置1Aは、ステップS14Aの計算結果において、ユーザ要求を全部満たすサービスが存在するかを判定する。ユーザ要求を満たすサービスが存在しない場合(S15A:NO)、管理装置1Aは、ステップS19Aへ進む。ユーザ要求を満たすサービスが存在する場合(S15A:YES)、管理装置1Aは、ステップS16Aにおいて、管理装置1Aは、計算結果であるサービス選択結果をサービス選択情報テーブル123Aに記憶させる。
ステップS17Aにおいて、管理装置1Aは、選択されたサービスを提供するプロバイダ7Aへ、サービスを提供するためのユーザ要求情報を送信し、サービスの提供を開始させる。プロバイダ7Aがサービス提供を開始した後、ステップS18Aにおいて、管理装置1Aは、サービス選択結果をゲートウェイ4Aへ送信する。
ユーザ要求を満たすサービスが存在するかどうかに関わらず、最後に、ステップS19Aにおいて、管理装置1Aは、サービスが存在するかの結果をユーザアクセスプログラム111Aに提示し、サービス選択プログラムを正常終了する。
ユーザアクセスプログラム111Aは、この結果を受けて、ユーザ要求に対応する応答をクライアント3へ送信する。
図16のフローチャートを用いて、管理装置1Aが実施するサービス移行プログラム114Aの処理を説明する。
管理装置1Aのサービス品質取得プログラム113Aが、サービス移行プログラム114Aを動作させる。
ステップS21Aにおいて、管理装置1Aは、ユーザ要求情報テーブル121Aから、順番に一つのユーザ要求情報を取得する。ステップS22Aにおいて、管理装置1Aは、サービス選択情報テーブル123Aから、取得したユーザ情報に関連するサービス選択結果情報を取得する。ステップS23Aにおいて、管理装置1Aは、サービス品質情報テーブル124Aから、取得したサービス選択結果が含むサービスの最新のサービス品質情報を取得する。
ステップS24Aにおいて、管理装置1Aは、取得した最新の品質情報がユーザの要求したサービス品質を満たすかを判定する。サービス品質を満たす場合(S24A:YES)、管理装置1Aは、ステップS32Aへ進む。サービス品質を満たさない場合(S24A:NO)、管理装置1Aは、ステップS25Aへ進み、ユーザ要求とサービス情報とサービス品質情報とを制約条件に、公知の数理最適化アルゴリズムを利用し、ユーザ要求を満たす最適なサービスを計算する。
ステップS26Aにおいて、管理装置1Aは、ステップS25Aでの計算結果において、ユーザ要求を全部満たすサービスが存在するかを判定する。ユーザ要求を満たすサービスが存在しない場合(S26A:NO)、管理装置1Aは、ステップS30Aへ進む。ユーザ要求を満たすサービスが存在する場合(S26A:YES)、管理装置1Aは、ステップS27Aへ進み、サービス情報テーブル122Aから、関連するサービスのサービス移行情報を取得する。
サービス移行情報に含まれるサービス移行手順の一例として、ステップS28Aにおいて、管理装置1Aは、サービス移行情報に基づき、旧プロバイダ7Aからサービス引継情報を取得する。ステップS29Aにおいて、管理装置1Aは、サービス移行情報に基づき、新プロバイダ7Aに対して、サービスを提供するためのユーザ要求情報とサービス引継情報とを送信し、サービスの提供を開始させる。
ステップS30Aにおいて、管理装置1Aは、サービス移行情報に基づき、サービス移行指示を作成し、ゲートウェイ4Aへ送信する。ステップS31Aにおいて、管理装置1Aは、サービス移行情報に基づき、旧プロバイダ7Aにサービス中止指示を送信し、サービスを(一部)させる。
最後に、ステップS32Aにおいて、管理装置1Aは、全てのユーザ要求を処理完了したかを判定する。まだ処理していないユーザ要求が存在する場合(S32A:NO)、管理装置1Aは、ステップS21Aへ戻る。全てのユーザ要求を処理完了した場合(S32A:YES)、管理装置1Aは、本処理を正常終了する。
図17に、データ処理システムの全体動作を示す。以下では、各指示メッセージの単純応答メッセージを省略する。
クライアント3Aは、ゲートウェイアドレスとセンサタイプと処理タイプとサービス品質の要求とを含むユーザ要求メッセージM81を、管理装置1Aへ送信する。管理装置1Aは、ユーザアクセスプログラム111Aを動作させて、ユーザ要求をユーザ要求情報テーブル121Aに格納し、そしてサービス選択プログラム112Aを動作させる。
管理装置1Aは、サービス選択プログラム112A(図15)のステップS17Aにおいて、最適化されたサービスに基づき、サービスを提供させるためのユーザ要求情報メッセージM82を作成する。そして、管理装置1Aは、ユーザ要求情報メッセージM82を、選択されたサービスを提供するプロバイダ7A(例えば、プロバイダ7A(1))へ送信し、プロバイダ7A(1)のサービスを開始させる。
管理装置1Aは、サービス選択プログラム112A(図15)のステップS18Aにおいて、サービス選択結果メッセージM83を作成し、ゲートウェイ4Aへ送信する。管理装置1Aは、サービス選択プログラム112A(図15)のステップS19Aにおいて、ユーザ要求に対応する要求応答メッセージM84をクライアント3Aへ送信する。この要求応答メッセージM84は、ユーザの要求するサービス品質を満たすサービスの組合せが存在するというメッセージを含む。
ゲートウェイ4Aは、管理装置1Aから受信したサービス選択結果を、メモリに記憶させる。ゲートウェイ4Aは、センサ5Aが生成したデータを収集し、整形する。ゲートウェイ4Aは、格納したサービス選択結果に基づき、センサデータメッセージM85を、プロバイダ7(1)へ送信する。ゲートウェイ4Aは、処理確認メッセージM86をプロバイダ7A(1)から受信すると、記録したトラフィックの時刻等からサービス品質情報を算出し、メモリに記憶させる。
ユーザの操作するクライアント3Aは、サービスの結果を取得するために、処理結果取得メッセージM87を管理装置1Aへ送信する。管理装置1Aは、ユーザアクセスプログラム111Aを動作させる。管理装置1Aは、サービス選択情報テーブル123Aに記憶されているサービス選択情報に基づき、そのユーザへサービスを提供している全てのプロバイダ7Aに対し、処理結果取得メッセージM88を送信する。
管理装置1Aは、全てのプロバイダ7Aからの処理結果提供メッセージM89を受信すると、それらメッセージM89に含まれる処理結果の内容を整合して、処理結果提供メッセージM90を作成する。管理装置1Aは、整合したサービス処理結果をクライアント3Aへ提供する。
管理装置1Aは、周期的にサービス品質取得プログラム113Aを動作させ、サービス品質情報取得メッセージM91の要求を、ゲートウェイ4Aへ送信する。これに対し、ゲートウェイ4Aは、記憶しているサービス品質情報に基づき、サービス品質情報提供メッセージM92を管理装置1Aへ送信する。
通常時では、メッセージM85からメッセージM86までのデータ送信ルーチンと、メッセージM87からメッセージM90までのサービス処理結果転送ルーチンと、メッセージM91からメッセージM92のサービス品質情報転送ルーチンとは、それぞれ繰り返し発生する。
一方、管理装置1Aは、ゲートウェイ4Aからサービス品質情報提供メッセージM92を受信すると、サービス品質取得プログラム113Aを動作させ、サービス品質情報テーブル124Aに格納した後、サービス移行プログラム114Aを動作させる。
管理装置1Aは、サービス移行プログラム114A(図16)のステップS24Aにおいて、サービス品質がユーザ要求を満たさないと判定し、かつ、ステップS26Aにおいて、新たなユーザ要求を満たすサービスが存在すると判定した場合、ステップS28Aにおいて、引継情報取得メッセージM93を移行元プロバイダであるプロバイダ7A(1)へ送信する。
管理装置1Aは、移行元プロバイダ7A(1)から引継情報提供メッセージM94を受信すると、サービス移行プログラム114A(図16)のステップS29Aにおいて、受信した引継情報を新プロバイダ7A(例えば、プロバイダ7A(2))が利用可能なフォーマットなどに変換する。管理装置1Aは、変換した引継情報とサービスを提供するためのユーザ要求情報とを合わせて、ユーザ要求および引継情報メッセージM96を作成し、移行先プロバイダであるプロバイダ7A(2)へ送信し、プロバイダ7A(2)のサービスを開始させる。
管理装置1Aは、サービス移行プログラム114A(図16)のステップS30Aにおいて、サービス移行指示メッセージM96をゲートウェイ4Aへ送信する。最後に、管理装置1Aは、サービス移行プログラム114A(図16)のステップS31Aにおいて、サービス中止指示メッセージM97をプロバイダ7A(1)へ送信して、プロバイダ7A(1)のサービスを(部分)中止させ、サービス移行手順を完了する。
ゲートウェイ4Aは、管理装置1Aから受信したサービス移行指示をメモリに記憶させる。その後、ゲートウェイ4Aは、センサ5Aが生成したデータを収集し整形し、格納しているサービス選択結果に基づき、センサデータメッセージM98をプロバイダ7A(2)へ送信する。ゲートウェイ4Aは、処理確認メッセージM99を受信すると、記録したトラフィックの時刻等からサービス品質情報を算出し、メモリに記憶させる。
クライアント3Aは、今までと同様に、サービスの結果を取得するために、処理結果取得メッセージM100を管理装置1Aへ送信する。管理装置1Aは、ユーザアクセスプログラム111Aを動作させ、サービス選択情報テーブル123Aに記憶されるサービス選択情報に基づき、該当ユーザにサービスを提供している全てのプロバイダ7Aに処理結果取得メッセージM101を送信する。
管理装置1Aは、全てのプロバイダ7Aからの処理結果提供メッセージM102を受信すると、各メッセージM102に含まれる処理結果の内容を整合して、処理結果提供メッセージM103を作成する。管理装置1Aは、処理結果提供メッセージM103をクライアント3Aへ送信することにより、整合したサービス処理結果をクライアント3Aに提供する。
このように構成される本実施例も第1実施例と同様の作用効果を奏する。さらに、本実施例では、時々刻々と品質の変化するサービスを複数動的に組み合わせるにより、テレマティクスサービスシステムの信頼性および使い勝手が向上する。さらに、管理装置が、複数のプロバイダのサービスの提供結果を整合し、整合した結果をユーザに提供するため、ユーザはプロバイダの移行などの影響を受けずに、継続したサービス処理結果を利用することが可能となる。つまり、サービスの組合せが動的に変化した場合でも、全体としてのサービス処理結果の整合を維持することができ、ユーザには、サービスの組合せ内容を意識させずにテレマティクスサービスを提供することができる。