(57)【要約】【課題】マイコンチップとサーバ装置と通信のやり取りが複雑になった場合であっても、デバイス装置の処理負荷の増大を抑制することができる通信システムを提供する。【解決手段】デバイス装置とサーバ装置とを備える通信システムにおいて、前記サーバ装置は、前記第１形式に対応する第１命令を生成する命令生成部と、前記命令生成部により生成された前記第１命令を前記第２形式に変換する命令変換部と、前記命令変換部により変換された前記第２形式に対応する第２命令を、前記デバイス装置に送信する通信部と、を有し、前記デバイス装置の第１制御部は、前記サーバ装置から受信した前記第２命令を第２制御部に送信する。【選択図】図１
2020195040.tif 000002
【特許請求の範囲】
【請求項１】
デバイス装置とサーバ装置とを備える通信システムにおいて、
前記デバイス装置は、
第１形式にて前記サーバ装置と通信を行う第１制御部と、
前記第１形式とは異なる第２形式にて、前記第１制御部と通信を行う第２制御部と、
を有し、
前記サーバ装置は、
前記第１形式に対応する第１命令を生成する命令生成部と、
前記命令生成部により生成された前記第１命令を前記第２形式に変換する命令変換部と、
前記命令変換部により変換された前記第２形式に対応する第２命令を、前記デバイス装置に送信する通信部と、
を有し、
前記デバイス装置の前記第１制御部は、前記サーバ装置から受信した前記第２命令を前記第２制御部に送信する、
ことを特徴とする通信システム。
【請求項２】
前記命令変換部は、前記第１命令に前記第２命令を対応付けた命令変換情報を用いて、前記第１命令を前記第２形式に変換する、
請求項１に記載の通信システム。
【請求項３】
前記サーバ装置と通信する前記デバイス装置が複数ある場合、
前記命令変換部は、前記デバイス装置のそれぞれと、前記デバイス装置のそれぞれが対応する前記第２形式を対応付けたデバイス情報を用いて、前記第１命令を、通信先のデバイス装置が有する前記第２制御部が対応する前記第２形式に変換する、
請求項１又は請求項２に記載の通信システム。
【請求項４】
前記サーバ装置は、
前記第２形式に対応する応答を、前記第１形式に変換する応答変換部を更に備え、
前記デバイス装置の前記第１制御部は、前記第２制御部から受信した前記第２命令に対する前記第２形式の第２応答を、前記サーバ装置に送信し、
前記サーバ装置の前記通信部は、前記第２応答を前記デバイス装置から受信し、
前記サーバ装置の前記応答変換部は、前記第２応答を前記第１形式に変換する、
請求項１から請求項３のいずれか一項に記載の通信システム。
【請求項５】
前記サーバ装置の前記応答変換部は、前記第２形式に対応する応答と第１形式に対応する応答とを対応付けた応答変換情報を用いて、前記第２形式の応答を前記第１形式に変換する、
ことを特徴とする請求項４に記載の通信システム。
【請求項６】
前記デバイス装置の前記第１制御部は、前記第２制御部から受信した応答が、前記デバイス装置が利用する応答であるか、前記サーバ装置が利用する応答であるか判定する応答判定部を有する、
ことを特徴とする請求項１から請求項５のいずれか一項に記載の通信システム。
【請求項７】
前記第２形式は、ＩＳＯ７８１６に準拠するデータ形式である、
ことを特徴とする請求項１から請求項６のいずれか一項に記載の通信システム。
【請求項８】
第１形式にてサーバ装置と通信を行う第１制御部と、前記第１形式とは異なる第２形式にて、前記第１制御部と通信を行う第２制御部とを有するデバイス装置と通信するサーバ装置であって、
前記第１形式に対応する第１命令を生成する命令生成部と、
前記命令生成部により生成された前記第１命令を前記第２形式に変換する命令変換部と、
前記命令変換部により変換された前記第２形式に対応する第２命令を、前記デバイス装置に送信する通信部と、
を有することを特徴とするサーバ装置。
【請求項９】
請求項８に記載のサーバ装置と通信するデバイス装置であって、
第１形式にて前記サーバ装置と通信を行う第１制御部と、
前記第１形式とは異なる第２形式にて、前記第１制御部と通信を行う第２制御部と、
を有し、
前記デバイス装置の前記第１制御部は、前記サーバ装置から受信した前記第２形式の命令を前記第２制御部に送信する、
ことを特徴とするデバイス装置。
【請求項１０】
第１形式にてサーバ装置と通信を行う第１制御部と、前記第１形式とは異なる第２形式にて、前記第１制御部と通信を行う第２制御部とを有するデバイス装置と通信するサーバ装置の通信方法であって、
前記サーバ装置の命令生成部が、前記第１形式に対応する第１命令を生成し、
前記サーバ装置の命令変換部が、前記命令生成部により生成された前記第１命令を前記第２形式に変換し、
前記サーバ装置の通信部が、前記命令変換部により変換された前記第２形式に対応する第２命令を、前記デバイス装置に送信し、
前記デバイス装置の前記第１制御部が、前記サーバ装置から受信した前記第２命令を前記第２制御部に送信する、
ことを特徴とする通信方法。
【請求項１１】
請求項８に記載のサーバ装置と通信する、第１制御部と第２制御部とを有するデバイス装置の通信方法であって、
前記第１制御部が、第１形式にて前記サーバ装置と通信を行い、
前記第２制御部が、前記第１形式とは異なる第２形式にて、前記第１制御部と通信を行い、
前記デバイス装置の前記第１制御部は、前記サーバ装置から受信した前記第２形式の命令を前記第２制御部に送信する、
ことを特徴とする通信方法。
【請求項１２】
第１形式にてサーバ装置と通信を行う第１制御部と、前記第１形式とは異なる第２形式にて、前記第１制御部と通信を行う第２制御部とを有するデバイス装置と通信するサーバ装置のコンピュータに、
前記第１形式に対応する第１命令を生成させる命令生成工程と、
前記命令生成工程により生成された前記第１命令を前記第２形式に変換させる命令変換工程と、
前記命令変換工程により変換された前記第２形式に対応する第２命令を、前記デバイス装置に送信させる通信工程と、
を実行させるプログラム。
【請求項１３】
請求項８に記載のサーバ装置と通信する、第１制御部と第２制御部とを有するデバイス装置のコンピュータに、
前記第１制御部により第１形式にて前記サーバ装置と通信を行わせる第１通信工程と、
前記第２制御部により前記第１形式とは異なる第２形式にて、前記第１制御部と通信を行わせる第２通信工程では、前記サーバ装置から受信した前記第２形式の命令を前記第２制御部に送信させる送信工程、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信システム、サーバ装置、デバイス装置、通信方法、及びプログラムに関する。
【背景技術】
【０００２】
近年、様々な場所における温度や湿度などの環境データや撮像データ等（以下、環境データ等という）を集約するシステムがある。このようなシステムでは、センサを備えるデバイス装置が様々な場所に設けられる。デバイス装置はセンサを備え、センサにより環境データ等を取得し、取得したデータをサーバ装置に送信することにより、データが集約される。また、このようなシステムでは、デバイス装置のセキュリティを強化するために、デバイス装置にＳＥ（セキュアエレメント）などと称されるマイコンチップを組み込んで或いは接続させて使用する場合がある。マイコンチップは一般の装置よりも機密性の高い記憶領域と暗号に特化した計算機能を持ち、デバイス装置に代わって通信データを保存したり、通信データの暗号化及び復号を行う処理をしたりする。
特許文献１には、通信データを中継する中継器の正当性をマイコンチップが判定する技術が開示されている。特許文献２には、セキュリティ強化のために、ＰＣ（Personal Computer）や携帯電話等のデバイス装置にマイコンチップを組み込むなどして接続し、上位サーバとマイコンチップ間で送受信が行われる際に、デバイス装置が、通信データを通信先が対応するデータ形式に変換する処理を行う技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１７−３３２２５号公報
【特許文献２】特開２００５−９２５３３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、セキュリティ強化のために、マイコンチップの機能が複雑化する傾向にあり、上位サーバとマイコンチップ間でやりとりするデータの種類や数が増えたり、仕様が変更されたりすることが多い。このため、データの種類に応じてデータ形式を変換したり、仕様変更に対応したりする必要があり、デバイス装置が行う処理が増大してしまう問題があった。
【０００５】
本発明は、このような状況に鑑みてなされたもので、その目的は、マイコンチップとサーバ装置と通信のやり取りが複雑になった場合であっても、デバイス装置の処理負荷の増大を抑制することができる通信システム、サーバ装置、デバイス装置、通信方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【０００６】
上述した課題を解決するために、本発明の一態様は、デバイス装置とサーバ装置とを備える通信システムにおいて、前記デバイス装置は、第１形式にて前記サーバ装置と通信を行う第１制御部と、前記第１形式とは異なる第２形式にて、前記第１制御部と通信を行う第２制御部と、を有し、前記サーバ装置は、前記第１形式に対応する第１命令を生成する命令生成部と、前記命令生成部により生成された前記第１命令を前記第２形式に変換する命令変換部と、前記命令変換部により変換された前記第２形式に対応する第２命令を、前記デバイス装置に送信する通信部と、を有し、前記デバイス装置の前記第１制御部は、前記サーバ装置から受信した前記第２命令を前記第２制御部に送信する、ことを特徴とする通信システムである。
【０００７】
また、本発明の一態様は、上述した通信システムであって、前記命令変換部は、前記第１命令に前記第２命令を対応付けた命令変換情報を用いて、前記第１命令を前記第２形式に変換する。
【０００８】
また、本発明の一態様は、上述した通信システムであって、前記サーバ装置と通信する前記デバイス装置が複数ある場合、前記命令変換部は、前記デバイス装置のそれぞれと、前記デバイス装置のそれぞれが対応する前記第２形式を対応付けたデバイス情報を用いて、前記第１命令を、通信先のデバイス装置が有する前記第２制御部が対応する前記第２形式に変換する。
【０００９】
また、本発明の一態様は、上述した通信システムであって、前記サーバ装置は、前記第２形式に対応する応答を、前記第１形式に変換する応答変換部を更に備え、前記デバイス装置の前記第１制御部は、前記第２制御部から受信した前記第２命令に対する前記第２形式の第２応答を、前記サーバ装置に送信し、前記サーバ装置の前記通信部は、前記第２応答を前記デバイス装置から受信し、前記サーバ装置の前記応答変換部は、前記第２応答を前記第１形式に変換する。
【００１０】
また、本発明の一態様は、上述した通信システムであって、前記サーバ装置の前記応答変換部は、前記第２形式に対応する応答と第１形式に対応する応答とを対応付けた応答変換情報を用いて、前記第２形式の応答を前記第１形式に変換する。
【００１１】
また、本発明の一態様は、上述した通信システムであって、前記デバイス装置の前記第１制御部は、前記第２制御部から受信した応答が、前記デバイス装置が利用する応答であるか、前記サーバ装置が利用する応答であるか判定する応答判定部を備える。
【００１２】
また、本発明の一態様は、上述した通信システムであって、前記第２形式は、ＩＳＯ７８１６に準拠するデータ形式である。
【００１３】
また、本発明の一態様は、第１形式にてサーバ装置と通信を行う第１制御部と、前記第１形式とは異なる第２形式にて、前記第１制御部と通信を行う第２制御部とを有するデバイス装置と通信するサーバ装置であって、前記第１形式に対応する第１命令を生成する第１生成部と、前記第１生成部により生成された前記第１命令を前記第２形式に変換する命令変換部と、前記命令変換部により変換された前記第２形式に対応する第２命令を、前記デバイス装置に送信する通信部と、を有することを特徴とするサーバ装置である。
【００１４】
また、本発明の一態様は、上記に記載のサーバ装置と通信するデバイス装置であって、第１形式にて前記サーバ装置と通信を行う第１制御部と、前記第１形式とは異なる第２形式にて、前記第１制御部と通信を行う第２制御部と、を有し、前記デバイス装置の前記第１制御部は、前記サーバ装置から受信した前記第２形式の命令を前記第２制御部に送信する、ことを特徴とするデバイス装置である。
【００１５】
また、本発明の一実施形態は、第１形式にてサーバ装置と通信を行う第１制御部と、前記第１形式とは異なる第２形式にて、前記第１制御部と通信を行う第２制御部とを有するデバイス装置と通信するサーバ装置の通信方法であって、前記サーバ装置の命令生成部が、前記第１形式に対応する第１命令を生成し、前記サーバ装置の命令変換部が、前記命令生成部により生成された前記第１命令を前記第２形式に変換し、前記サーバ装置の通信部が、前記命令変換部により変換された前記第２形式に対応する第２命令を、前記デバイス装置に送信し、前記デバイス装置の前記第１制御部が、前記サーバ装置から受信した前記第２命令を前記第２制御部に送信する、ことを特徴とする通信方法である。
【００１６】
また、本発明の一実施形態は、上記に記載のサーバ装置と通信する、第１制御部と第２制御部とを有するデバイス装置の通信方法であって、前記第１制御部が、第１形式にて前記サーバ装置と通信を行い、前記第２制御部が、前記第１形式とは異なる第２形式にて、前記第１制御部と通信を行い、前記デバイス装置の前記第１制御部は、前記サーバ装置から受信した前記第２形式の命令を前記第２制御部に送信する、ことを特徴とする通信方法である。
【００１７】
また、本発明の一実施形態は、第１形式にてサーバ装置と通信を行う第１制御部と、前記第１形式とは異なる第２形式にて、前記第１制御部と通信を行う第２制御部とを有するデバイス装置と通信するサーバ装置のコンピュータに、前記第１形式に対応する第１命令を生成させる命令生成工程と、前記命令生成工程により生成された前記第１命令を前記第２形式に変換させる命令変換工程と、前記命令変換工程により変換された前記第２形式に対応する第２命令を、前記デバイス装置に送信させる通信工程と、を実行させるプログラムである。
【００１８】
また、本発明の一実施形態は、上記に記載のサーバ装置と通信する、第１制御部と第２制御部とを有するデバイス装置のコンピュータに、前記第１制御部により第１形式にて前記サーバ装置と通信を行わせる第１通信工程と、前記第２制御部により前記第１形式とは異なる第２形式にて、前記第１制御部と通信を行わせる第２通信工程では、前記サーバ装置から受信した前記第２形式の命令を前記第２制御部に送信させる送信工程、を実行させるプログラムである。
【発明の効果】
【００１９】
本発明によれば、マイコンチップとサーバ装置と通信のやり取りが複雑になった場合であっても、デバイス装置の処理負荷の増大を抑制することができる。また、サーバ装置のプログラムを変更すれば、制御チップのプログラムを変更せずにマイコンチップへ送信するデータの仕様を変更できるため、システムの柔軟性を高めることができる。
【図面の簡単な説明】
【００２０】
【図１】実施形態の通信システム１の構成の例を示すシステム構成図である。
【図２】実施形態の制御チップ２０の構成の例を示すブロック図である。
【図３】実施形態のマイコンチップ３０の構成の例を示すブロック図である。
【図４】実施形態のサーバ装置４０の構成の例を示すブロック図である。
【図５】実施形態の命令変換情報４２０Ａの構成の例を示す図である。
【図６】実施形態の命令変換情報４２０Ｂの構成の例を示す図である。
【図７】実施形態の応答変換情報４２１の構成の例を示す図である。
【図８】実施形態のデバイス情報４２２の構成の例を示す図である。
【図９】実施形態の通信システム１における動作の流れの例を示すシーケンス図である。
【図１０】実施形態の通信システム１における動作の流れの例を示すシーケンス図である。
【図１１】実施形態の通信システム１における動作の流れの例を示すシーケンス図である。
【図１２】実施形態の通信システム１における動作流れの例を示すシーケンス図である。
【発明を実施するための形態】
【００２１】
以下、実施形態の通信システム、サーバ装置、通信方法、及びプログラムを、図面を参照して説明する。
【００２２】
図１は、実施形態の通信システム１の構成の例を示すシステム構成図である。通信システム１は、例えば、複数のデバイス装置１０（デバイス装置１０−１、１０−２、…１０−Ｎ）と、サーバ装置４０と、通信ネットワーク５０とを備える。Ｎは、任意の自然数である。
【００２３】
デバイス装置１０とサーバ装置４０とは、通信ネットワーク５０により通信可能に接続されている。デバイス装置１０とサーバ装置４０との通信は、例えば、ＨＴＴＰ（Hyper Text Transfer Protocol）、或いは、ＨＴＴＰＳ（ＨＴＴＰ Secure）である。以下の説明では、デバイス装置１０とサーバ装置４０との通信で用いられるデータの形式（データ形式）を、「第１形式」と称する。
【００２４】
デバイス装置１０は、例えば、サーバ装置４０に環境データ等を送信するセンサ端末装置である。デバイス装置１０は、例えば、通信モジュール（不図示）と、センサモジュール（不図示）と、制御チップ２０と、マイコンチップ３０と、を備える。通信モジュールは、通信ネットワーク５０を介して、サーバ装置４０と通信を行う。センサモジュールは、各種のデータを測定（センシング）するモジュールであり、例えば、温度を測定する温度センサや、撮像カメラを備える。ここで、制御チップ２０は、「第１制御部」の一例である。マイコンチップ３０は、「第２制御部」の一例である。
【００２５】
以下では、デバイス装置１０において、制御チップ２０とマイコンチップ３０とが別体のＩＣチップとして組み込まれる場合を例示して説明するが、これに限定されることはない。例えば、デバイス装置１０に、制御チップ２０とマイコンチップ３０との各々が有する機能を備える単一のＩＣチップが組み込まれていてもよい。
【００２６】
制御チップ２０は、デバイス装置１０を統括的に制御する。制御チップ２０は、通信モジュールにより受信されたサーバ装置４０からのデータをマイコンチップ３０に出力する。制御チップ２０は、マイコンチップ３０から取得したデータを、通信モジュールを介してサーバ装置４０に送信する。マイコンチップ３０と制御チップ２０との通信は、例えば、ＡＰＤＵ(Application Protocol Data Unit)というデータ形式にて行われる。ＡＰＤＵに互換性を持たせるために、ＩＳＯ７８１６という国際規格が制定されている。以下の説明では、マイコンチップ３０と制御チップ２０との通信で用いられるデータ形式を、「第２形式」と称する。
【００２７】
マイコンチップ３０は、例えば、ＩＣチップ、ＳＥ（セキュアエレメント）、セキュアＩＣチップ、セキュアチップ、セキュアＩＣ、セキュアマイコン等と称される、半導体基板の上に集積回路が実装されたチップ（半導体装置）である。マイコンチップ３０は、例えばプラスチック等のカード機材に、マイコンチップ３０の機能が実装されたＩＣカード、又はＳＩＭカード（Subscriber Identity Module Card）であってもよい。この場合、マイコンチップ３０は、デバイス装置１０に設けられたＩＣカード又はＳＩＭカードのコンタクト部（不図示）を介して着脱可能に装着される。
【００２８】
マイコンチップ３０は、デバイス装置１０とサーバ装置４０との通信におけるセキュリティに関する処理を行う。マイコンチップ３０は、セキュリティに関する処理の一例として、例えば、データを暗号化する処理、及び暗号化されたデータを復号する処理を行う。デバイス装置１０がサーバ装置４０に送信する環境データを暗号化する。マイコンチップ３０は、制御チップ２０から環境データを取得し、取得した環境データを暗号化して制御チップ２０に出力する。また、マイコンチップ３０は、サーバ装置４０からデバイス装置１０に送信された暗号化されたデータを復号する。マイコンチップ３０は、通信モジュールにより受信された暗号化されたデータを、制御チップ２０を介して取得する。マイコンチップ３０は、取得した暗号化されたデータを復号し、復号したデータを制御チップ２０に出力する。これにより、制御チップ２０は、暗号鍵をマイコンチップ３０から外部に出すことなく、サーバ装置４０に送信する環境データ等の暗号化や、サーバ装置４０から送信された暗号化されたデータの復号ができるため、デバイス装置１０との通信におけるセキュリティが強化される。マイコンチップ３０の構成については後で詳しく説明する。
【００２９】
サーバ装置４０は、デバイス装置１０から環境データ等を受信し、受信した通信データを蓄積して様々なサービスを提供する。ここでの様々なサービスとは、蓄積したデータを提示するサービスであり、例えば、サーバ装置４０を操作するユーザの操作に応じて、環境データの時系列変化を示すグラフや、撮像データに応じた映像等を表示するサービスである。
【００３０】
サーバ装置４０は、マイコンチップ３０と通信し、例えば、マイコンチップ３０の正当性を確認する処理（認証処理）を行う。サーバ装置４０は、例えば、マイコンチップ３０に、証明書を要求する。証明書は、認証局などにより作成される、送信元の識別情報や公開鍵が記録された電子的なデータセットである。サーバ装置４０は、マイコンチップ３０からの応答として、マイコンチップ３０の証明書を受信する。
【００３１】
ここで、第１形式と、第２形式は、互いに異なる形式である。つまり、サーバ装置４０が制御チップ２０に送信するデータ形式のままでは、マイコンチップ３０側においてデータの内容を理解することができない。このため、従来の通信システムでは、制御チップにて、通信元から受信したデータのデータ形式を、通信先が対応するデータ形式に変換し、変換したデータを通信先に送信する処理を行っていた。例えば、従来の制御チップは、サーバ装置からの第１形式のデータを第２形式に変換して、マイコンチップに出力していた。また、従来の制御チップは、マイコンチップからの第２形式のデータを第１形式に変換して、サーバ装置に送信していた（特許文献２参照）。
【００３２】
これに対し、本実施形態では、サーバ装置４０が、第１形式のデータを第２形式に変換し、第２形式に変換したデータをデバイス装置１０に送信する。デバイス装置１０の制御チップ２０は、サーバ装置からの第２形式のデータを、データ形式を変換することなく、マイコンチップ３０に出力する。また、制御チップ２０は、マイコンチップ３０からの第２形式のデータを、データ形式を変換することなく、サーバ装置４０に送信する。これにより、制御チップ２０がデータ形式を変換する処理を行うことなく、サーバ装置４０とマイコンチップ３０が通信を行うことが可能となる。
【００３３】
通信ネットワーク５０は、例えば、インターネット、ＷＡＮ（Wide Area Network）、ＬＡＮ（Local Area Network）、プロバイダ装置、無線基地局、専用回線などのうちの一部または全部を含む通信網である。
【００３４】
図２は、実施形態の制御チップ２０の構成の例を示すブロック図である。制御チップ２０は、例えば、通信部２１と、記憶部２２と、制御部２３とを備える。通信部２１は、マイコンチップ３０、及びデバイス装置１０の通信モジュールと通信を行う。記憶部２２は、例えば、ＨＤＤ（Hard Disc Drive）、フラッシュメモリ、ＥＥＰＲＯＭ（Electrically Erasable Programmable Read Only Memory）、またはＲＡＭ（Random Access Memory）などにより実現される。記憶部２２は、制御チップ２０が備える機能を実現するためのプログラム、及び各種のデータを記憶する。
【００３５】
制御部２３は、制御チップ２０を統括的に制御する。制御部２３は、例えば、判定部２３０と、デバイス処理部２３１とを備える。判定部２３０は、「応答判定部」の一例である。
【００３６】
判定部２３０は、通信部２１に受信された通信データが、デバイス装置１０に宛てたデータであるか否かを判定する。デバイス装置１０に宛てたデータとは、デバイス装置１０が、各種の処理に利用するデータである。デバイス装置１０に宛てていないデータとは、デバイス装置１０が、各種の処理に利用しないデータであって、例えば他の装置（サーバ装置４０など）の処理に利用されるデータである。
【００３７】
デバイス装置１０が受信する通信データには、サーバ装置４０から通知されるデータと、マイコンチップ３０から通知されるデータとがある。サーバ装置４０から通知されるデータは、サーバ装置４０によるマイコンチップ３０への指示を示す「命令」である。マイコンチップ３０から通知されるデータは、「命令」に対する処理を実行した結果を示す「応答」である。
【００３８】
判定部２３０が、デバイス装置１０に宛てたデータであるか否かを判定する方法は、任意であってよいが、処理負担を増大させないよう、容易な方法であることが望ましい。つまり、判定部２３０は、マイコンチップ３０から通知されたデータの内容を把握することなく、デバイス装置１０に宛てたデータであるか否かを判定することが望ましい。
【００３９】
判定部２３０は、例えば、サーバ装置４０から通知されたデータ（命令）の所定位置に設定された値に応じて、その命令に対する応答（マイコンチップ３０から通知されたデータ）が、デバイス装置１０宛てであるか否を判定する。
【００４０】
例えば、第１形式がＨＴＴＰである場合、サーバ装置４０は、ＨＴＴＰレスポンスヘッダの中の「Content-Type」に、命令に対する応答を、デバイス装置１０とサーバ装置４０のどちらが利用すればよいかを示す情報を設定する。
サーバ装置４０は、命令に対する応答をデバイス装置１０に利用させる場合、「Content-Type」に「application/response-for-server」を設定する。一方、サーバ装置４０は、命令に対する応答をデバイス装置１０に利用させる場合、「Content-Type」に「application/response-for-mcu」を設定する。
【００４１】
判定部２３０は、サーバ装置４０からデータ（命令）が通知された場合、通知されたデータの「Content-Type」に設定された情報を記憶部２２などに記憶させる。次に、判定部２３０は、その命令に対する応答がマイコンチップ３０から通知された場合、記憶させておいた「Content-Type」に設定された情報を参照することにより、その応答が、デバイス装置１０宛てであるか否を判定する。判定部２３０は、判定結果を、デバイス処理部２３１に出力する。
【００４２】
デバイス処理部２３１は、デバイス装置１０が行う各種の処理を行う。
例えば、デバイス処理部２３１は、判定部２３０により、マイコンチップ３０から制御チップ２０に通知されたデータが、デバイス装置１０宛てのデータであると判定された場合、データの内容を把握し、その内容に応じた処理を行う。デバイス処理部２３１は、判定部２３０により、マイコンチップ３０から制御チップ２０に通知されたデータが、デバイス装置１０宛てのデータでないと判定された場合、データの内容を把握することなく、そのデータをサーバ装置４０に送信する。同様に、デバイス処理部２３１は、判定部２３０により、サーバ装置４０から通知されたデータが、デバイス装置１０宛てのデータであると判定された場合、データの内容を把握し、その内容に応じた処理を行う。デバイス処理部２３１は、判定部２３０により、サーバ装置４０から通知されたデータが、デバイス装置１０宛てのデータでないと判定された場合、データの内容を把握することなく、そのデータをマイコンチップ３０に出力する。
【００４３】
このように、本実施形態では、判定部２３０がデバイス装置１０宛てのデータであるか否かを判定し、デバイス処理部２３１がデバイス装置１０宛てのデータでない場合、そのデータの内容を把握しないようにすることができ、すべてのデータについてその内容を把握する場合と比較して処理負荷を抑制することが可能である。
【００４４】
図３は、実施形態のマイコンチップ３０の構成の例を示すブロック図である。マイコンチップ３０は、例えば、マイコン通信部３１と、マイコン記憶部３２と、マイコン制御部３３とを備える。マイコン通信部３１は、例えば、Ｉ２Ｃ（I-squared-C、Inter-Integrated Circuit）を介して制御チップ２０と接続し、制御チップ２０と通信を行う。マイコン記憶部３２は、例えば、ＨＤＤ、フラッシュメモリ、ＥＥＰＲＯＭ、またはＲＡＭなどにより実現される。マイコン記憶部３２は、マイコンチップ３０が備える機能を実現するためのプログラム、及び各種のデータを記憶する。マイコン記憶部３２は、コマンド情報３２０を記憶する。コマンド情報３２０は、コマンドに関する情報である。ここでのコマンドは、サーバ装置４０から通知されるマイコンチップ３０に対する命令（処理要求）であって、第２形式に対応するデータである。コマンドは、例えば、ＩＳＯ７８１６に準拠するＡＰＤＵのコマンドである。コマンド情報３２０は、例えば、コマンドと、そのコマンドに応じた処理（コマンド処理）とを対応させた情報である。
【００４５】
マイコン制御部３３は、マイコンチップ３０を統括的に制御する。マイコン制御部３３は、例えば、コマンド処理部３３０と、応答生成部３３１とを備える。
コマンド処理部３３０は、サーバ装置４０から通知されたコマンドに応じた処理を行う。コマンド処理部３３０は、例えば、マイコン通信部３１を介して第２形式のコマンドを取得する。コマンド処理部３３０は、取得したコマンドに基づいてコマンド情報３２０を参照してコマンドに応じた処理を把握し、そのコマンドに応じた処理を行う。
応答生成部３３１は、応答を生成する。ここでの応答は、コマンドに応じた処理を実行した実行結果であって、第２形式に対応するデータである。応答は、例えば、ＩＳＯ７８１６に準拠するＡＰＤＵのレスポンスである。応答生成部３３１は、コマンド処理部３３０によるコマンドに応じた処理の実行結果に応じた応答を生成する。
【００４６】
図４は、実施形態のサーバ装置４０の構成の例を示すブロック図である。サーバ装置４０は、例えば、サーバ通信部４１と、サーバ記憶部４２と、サーバ制御部４３とを備える。サーバ通信部４１は、通信ネットワーク５０を介してデバイス装置１０と通信を行う。サーバ通信部４１は、例えば、デバイス装置１０に第２形式のデータ（命令）を送信する。サーバ通信部４１は、デバイス装置１０から第２形式のデータ（応答）を受信する。
【００４７】
サーバ記憶部４２は、例えば、ＨＤＤ、フラッシュメモリ、ＥＥＰＲＯＭ、またはＲＡＭなどにより実現される。サーバ記憶部４２は、サーバ装置４０が備える機能を実現するためのプログラム、及び各種のデータを記憶する。サーバ記憶部４２は、例えば、命令変換情報４２０と、応答変換情報４２１と、デバイス情報４２２とを備える。
【００４８】
命令変換情報４２０は、第１形式の命令を第２形式に変換するための情報であり、例えば、第１形式の命令と、その命令に対応する第２形式のコマンドとを対応させた情報である（図５参照）。応答変換情報４２１は、第２形式の応答を第１形式に変換するための情報であり、例えば、第２形式のレスポンスと、そのレスポンスに対応する第１形式の応答とを対応させた情報である（図６参照）。デバイス情報４２２は、サーバ装置４０と通信するデバイス装置１０それぞれに関する情報である。デバイス情報４２２は、例えば、デバイス装置１０と、その装置の仕様、及びその装置のマイコンチップ３０が対応するデータ形式とを対応させた情報である（図７参照）。
【００４９】
サーバ制御部４３は、サーバ装置４０を統括的に制御する。サーバ制御部４３は、例えば、命令生成部４３０と、命令変換部４３１と、応答変換部４３２と、サーバ処理部４３３とを備える。命令生成部４３０は、サーバ装置４０からマイコンチップ３０に通知する第１形式の命令を生成する。命令生成部４３０は、生成した第１形式の命令を命令変換部４３１に出力する。
【００５０】
命令変換部４３１は、第１形式の命令を第２形式に変換する。命令変換部４３１は、命令生成部４３０により生成された第１形式の命令に基づいて、命令変換情報４２０を参照し、その第１形式の命令に対応する第２形式の命令を取得することにより、第１形式の命令を第２形式に変換する。
【００５１】
ここで、本実施形態では、サーバ装置４０は、複数のデバイス装置１０の各々のマイコンチップ３０と通信を行う。各々のデバイス装置１０には、従来の装置と同様に、サーバ装置４０から第１形式のデータを受信することを想定した仕様の装置が含まれていることが有り得る。このような装置に、第２形式のデータを送信してしまうと、そのデータに対応することができないために、正しい内容がマイコンチップ３０に通知されず、通信が成立しないことが有り得る。
【００５２】
また、各々のマイコンチップ３０が対応する第２形式が、それぞれ異なる形式であることが考えられる。例えば、あるマイコンチップ３０は、ある特定のＡＰＤＵのコマンドで通信を行うが、別のマイコンチップ３０は、上記とは仕様が異なる別のＡＰＤＵの仕様に沿ったコマンドにて通信を行うことが考えられる。このような場合、ある特定のＡＰＤＵのコマンドに対応しているマイコンチップ３０に、別の異なる仕様ＡＰＤＵのコマンドを送信してしも、そのマイコンチップ３０はコマンドの内容が判らずに通信が成立しないことが有り得る。
【００５３】
この対策として、命令変換部４３１は、第１形式の命令を第２形式に変換する際に、通知先のデバイス装置１０の仕様に応じるようにする。例えば、命令変換部４３１は、通知先のデバイス装置１０の識別情報に基づいて、デバイス情報４２２を参照することにより、デバイス装置１０の制御チップ２０が、従来のように第１形式のデータを受信することを想定した仕様であるか、本願のように第２形式のデータを受信することを想定した仕様であるかを判定する。命令変換部４３１は、通知先のデバイス装置１０が第１形式のデータを受信することを想定した仕様である場合には、第１形式の命令を第２形式に変換しない。
【００５４】
一方、命令変換部４３１は、通知先のデバイス装置１０が第２形式のデータを受信することを想定した仕様である場合には、その装置のマイコンチップ３０が対応するＡＰＤＵの仕様を判定する。命令変換部４３１は、例えば、通知先のデバイス装置１０の識別情報に基づいて、デバイス情報４２２を参照することにより、その装置のマイコンチップ３０が対応するＡＰＤＵの仕様を取得する。この場合、デバイス情報４２２には、サーバ装置４０が通信するデバイス装置１０ごとに、その装置のマイコンチップ３０が対応するＡＰＤＵの仕様を示す情報が対応付けられて記憶される。
【００５５】
命令変換部４３１は、通知先のデバイス装置１０のマイコンチップ３０が対応するＡＰＤＵの仕様に基づいて、命令変換情報４２０を参照し、マイコンチップ３０が対応するＡＰＤＵの仕様に応じた第２形式に変換する。この場合、命令変換情報４２０は、マイコンチップ３０が対応し得るＡＰＤＵの仕様ごとに作成される。
【００５６】
図５、図６を用いて命令変換情報４２０の構成について説明する。
図５は、ファイルを選択する命令についての命令変換情報４２０Ａの構成の例を示す図である。ここでは、ＩＣチップ（マイコンチップ３０）製造者の識別子が記憶されたファイルの選択を指示する命令を例示して説明する。
【００５７】
図５に示すように、命令変換情報４２０Ａは、例えば、サーバ側命令とマイコン側命令の各項目を備える。サーバ側命令は、サーバ装置４０が対応する第１形式の命令（第１命令）を示す。マイコン側命令は、マイコンチップ３０が対応する第２形式の命令（第２命令）を示す。図５の例では、マイコン側命令がＩＳＯ７８１６に準拠したＡＰＤＵのコマンドである場合を示している。命令変換情報４２０Ａは、サーバ装置４０が対応し得る第１形式と、マイコンチップ３０が対応し得る第２形式との組み合わせごとに生成されてよい。
【００５８】
サーバ側命令「ＳＥＬＥＣＴ  ＩＣ  ＭＡＫＥＲ  ＩＤ」、つまりＩＣチップ製造者の識別子を示すファイルを選択する指示を示す第１形式の命令には、マイコン側命令の「０ｘ００、０ｘＡ４、０ｘ００、０ｘ０Ｃ、０ｘ０２、０ｘ２Ｆ、０ｘ１１」からなる第２形式のデータ列が対応する。
マイコン側命令の１バイト目は、ＡＰＤＵがＩＳＯ７８１６に準拠していることを示している。２バイト目は、ファイルを選択する命令であることを表す。３バイト目は、ファイル識別子でファイルを選択することを表す。４バイト目は、選択したファイルの情報を応答に含めないことを表す。５バイト目は、ファイル識別子のデータサイズが２バイトであることを表す。６、及び７バイト目は、ファイル識別子としてＩＣチップ製造者の識別子を指定していることを表す。
マイコンチップ３０が、上記マイコン側命令（コマンド）を受信した場合、受信したコマンドから命令の内容を解釈し、ＩＣチップ製造者の識別子を示すファイルを選択する処理を行う。
【００５９】
図６は、証明書を取得する命令についての命令変換情報４２０Ｂの構成の例を示す図である。ここでは、ＰＩＮ検証後に証明書を取得する指示を示す第１形式の命令を例示して説明する。ＰＩＮは、マイコンチップ３０に記憶されている暗証番号である。
【００６０】
図６に示すように、命令変換情報４２０Ｂは、命令変換情報４２０Ａと同様に、サーバ側命令とマイコン側命令の各項目を備え、マイコン側命令がＩＳＯ７８１６に準拠したＡＰＤＵのコマンドである場合を示している。命令変換情報４２０は、サーバ装置４０が対応し得る第１形式と、マイコンチップ３０が対応し得る第２形式との組み合わせごとに生成されてよい。
【００６１】
サーバ側命令「ＧＥＴ  ＣＥＲＴＩＦＩＣＡＴＥ」、及び「ＰＩＮ（＝｛１、２、３、４｝）」には、複数のマイコン側命令が対応する。ＰＩＮ検証後の証明書を取得するサーバ側命令に対応する複数のマイコン側命令は、例えば、ＰＩＮ（Personal Identification Number）の検証に関する命令、及び証明書に関する命令で構成される。ＰＩＮの検証に関する命令には、ＰＩＮが保存されているファイルの選択、及びＰＩＮの検証の各々を示すコマンドが含まれる。この例では、２回に分けてファイルを取得している。証明書に関する命令には、証明書ファイルの選択、証明書ファイルのデータサイズの確認、証明書ファイルの読み取りの各々を示すコマンドが含まれる。制御チップ２０が一回で読み取れるデータのサイズが証明書ファイルのデータサイズを超えている場合、証明書ファイルのデータサイズに応じた複数回の読み取りコマンドを用いてデータの読み取りが行われる。
【００６２】
図７は、実施形態の応答変換情報４２１の構成の例を示す図である。応答変換情報４２１は、例えば、マイコン側応答とサーバ側応答の各項目を備える。マイコン側命令は、マイコンチップ３０が対応する第２形式の応答（第２応答）を示す。サーバ側応答は、サーバ装置４０が対応する第１形式の応答（第１応答）を示す。図６の例では、マイコン側応答がＩＳＯ７８１６に準拠したＡＰＤＵのレスポンスである場合を示している。応答変換情報４２１は、マイコンチップ３０が対応し得る第２形式とサーバ装置４０が対応し得る第１形式との組み合わせごとに生成されてよい。
【００６３】
図７の例に示すように、マイコン側応答「０ｘ９０、０ｘ００」、つまりコマンド処理の応答にデータを含めずに、処理が正常に終了したことを示す第２形式の応答には、サーバ側命令の「ＳＥＬＥＣＴ  ＦＩＮＩＳＨ」という第１形式の応答が対応する。
【００６４】
図８は、実施形態のデバイス情報４２２の構成の例を示す図である。デバイス情報４２２は、例えば、装置名称、装置ＩＤ、命令のデータ形式、応答のデータ形式、対応する第２形式の各項目を備える。装置名称には、サーバ装置４０が通信するデバイス装置１０各々の名称が示される。装置ＩＤには、デバイス装置１０の各々を一意に識別する識別情報が示される。
【００６５】
命令のデータ形式には、デバイス装置１０の制御チップ２０が対応する命令のデータ形式が示される。サーバ装置４０から第１形式の命令が通知されることを想定した仕様で制御チップ２０が設計されている場合、当該項目には「第１形式」を示す情報が記憶される。サーバ装置４０から第２形式の命令が通知されることを想定した仕様で制御チップ２０が設計されている場合、当該項目には「第２形式」を示す情報が記憶される。
【００６６】
応答のデータ形式には、デバイス装置１０の制御チップ２０が対応する応答のデータ形式が示される。サーバ装置４０に第１形式の応答を送信する仕様で制御チップ２０が設計されている場合、当該項目には「第１形式」を示す情報が記憶される。サーバ装置４０に第２形式の応答を送信する仕様で制御チップ２０が設計されている場合、当該項目には「第２形式」を示す情報が記憶される。
【００６７】
対応する第２形式の仕様には、デバイス装置１０のマイコンチップ３０が対応する第２形式の仕様が示される。マイコンチップ３０が、特定のＡＰＤＵのコマンドに対応する仕様である場合、当該項目には、そのＡＰＤＵの仕様を示す情報が記憶される。
【００６８】
ここで、図９〜図１２を用いて、通信システム１における動作の流れを説明する。図９は、実施形態の通信システム１におけるファイル選択に関する処理の流れを示すシーケンスチャートである。
【００６９】
まず、サーバ装置４０は、命令生成部４３０により、ＩＣチップ製造者の識別子が記憶されているファイルを選択する第１形式の命令「ＳＥＬＥＣＴ  ＩＣ  ＭＡＫＥＲ  ＩＤ」を生成する（ステップＳ１０）。
次に、サーバ装置４０は、命令変換部４３１により第１形式の命令「ＳＥＬＥＣＴ  ＩＣ  ＭＡＫＥＲ  ＩＤ」を、第２形式の命令「０ｘ００、０ｘＡ４、０ｘ００、０ｘ０Ｃ、０ｘ０２、０ｘ２Ｆ、０ｘ１１」（図５に示すマイコン側命令＃１に相当するコマンド、以下、コマンド＃１と称する）に変換する（ステップＳ１１）。
【００７０】
一方、制御チップ２０は、サーバ装置４０に命令の有無を確認する通知（命令有無確認）を行う（ステップＳ１２）。これに対し、サーバ装置４０は、ステップＳ１１で変換した第２形式のコマンド＃１を制御チップ２０に送信する（ステップＳ１３）。
【００７１】
制御チップ２０は、サーバ装置４０から通知された第２形式のコマンド＃１を、データ形式を変換することなくマイコンチップ３０に出力する（ステップＳ１４）。マイコンチップ３０は、コマンド処理部３３０により制御チップ２０から通知された第２形式のコマンド＃１に対応する処理を行う（ステップＳ１５）。マイコンチップ３０は、応答生成部３３１によりコマンド処理部３３０がコマンド処理を実行した結果に応じた第２形式の応答（例えば、「０ｘ９０、０ｘ００」）を生成する（ステップＳ１６）。マイコンチップ３０は、制御チップ２０に第２形式の応答を送信する（ステップＳ１７）。
【００７２】
制御チップ２０は、マイコンチップ３０から受信した第２形式の応答をサーバ装置４０に送信すると共に、サーバ装置４０に命令の有無を確認する通知を行う（ステップＳ１８）。サーバ装置４０は、応答変換部４３２により、制御チップ２０から受信した第２形式の応答を第１形式に変換して、応答の内容を判定する。サーバ装置４０は、処理が正常に終了した場合、制御チップ２０に命令が完了したことを示す通知（命令完了通達）を行う（ステップＳ２０）。
【００７３】
図１０は、実施形態の通信システム１における証明書の取得に関する処理の流れを示すシーケンス図である。
まず、サーバ装置４０は、命令生成部４３０により、ＰＩＮ認証後に証明書が記憶されているファイルを取得することを命じる第１形式の命令「ＧＥＴ  ＣＥＲＴＩＦＩＣＡＴＥ」及び「ＰＩＮ（＝｛１、２、３、４｝）」を生成する（ステップＳ１００）。
次に、サーバ装置４０はステップＳ１００にて生成した１形式の命令を、複数の第２形式の命令（図６に示すマイコン側命令＃１〜＃５に相当する。以下コマンド＃１〜＃５と称する）に変換する（ステップＳ１０１）。
【００７４】
サーバ装置４０は、ステップＳ１０１で変換した第２形式のコマンド＃１を制御チップ２０に送信する（ステップＳ１０２）。このシーケンス図では省略しているが、ステップＳ１０２の前に、図５のステップＳ１２に示す処理に相当する、制御チップ２０による命令の有無を確認する通知が行われている。
【００７５】
制御チップ２０は、サーバ装置４０から通知された第２形式のコマンド＃１を、データ形式を変換することなくマイコンチップ３０に出力する（ステップＳ１０３）。マイコンチップ３０は、コマンド処理部３３０により制御チップ２０から通知された第２形式のコマンド＃１を解釈する（コマンド＃１解釈）（ステップＳ１０４）。コマンド＃１を解釈する処理は、上述した図５のステップＳ１５、及びＳ１６に相当する、コマンド処理、及びそのコマンド処理に応じた応答を生成する処理である。
【００７６】
マイコンチップ３０は、制御チップ２０に第２形式の応答を送信する（ステップＳ１０５）。制御チップ２０は、マイコンチップ３０から受信した第２形式の応答をサーバ装置４０に送信する（ステップＳ１０６）。なお、このシーケンス図では省略しているが、図５のステップＳ１８と同様に、ステップＳ１０６では応答の送信と共に、制御チップ２０による命令の有無を確認する通知が行われている。
【００７７】
コマンド＃２〜＃５について、コマンド＃１に対するステップＳ１０２〜Ｓ１０６に示す処理と同様な処理が行われる（ステップＳ１０７〜１１６）。コマンド＃５は、証明書が記憶されたファイルのデータサイズ読み取りを指示する命令である。このためコマンド＃５に応じた読み取りの処理が正常終了した場合、コマンド＃５に対する応答にはファイルのデータサイズが示されている。
【００７８】
サーバ装置４０は、コマンド＃５に対する第２形式の応答を、第１形式に変換する（ステップＳ１１７）。サーバ装置４０は、第１形式に変換した後の応答に応じて、第１形式の命令を生成する（ステップＳ１１８）。サーバ装置４０は、例えば、ファイルのデータサイズに応じた数のデータ読み取り命令を生成する。
【００７９】
サーバ装置４０は、生成した第１形式の命令を、第２形式に変換する（図６に示すマイコン側命令＃６、＃７に相当する。以下コマンド＃６、＃７と称する）（ステップＳ１１９）。サーバ装置４０は、コマンド＃６を制御チップ２０に送信する（ステップＳ１２０）。
【００８０】
ここで、取得した証明書のデータが制御チップ２０で利用されるものである場合、サーバ装置４０が証明書のデータを取得する必要がない。この場合、サーバ装置４０は、制御チップ２０に送信するデータの所定の位置に、命令に対する応答がデバイス装置１０宛であることを示す情報を設定する。例えば、サーバ装置４０は、制御チップ２０に送信するデータのＨＴＴＰレスポンスヘッダの「Content-Type」に「application/response-for-mcu」を設定する。
【００８１】
制御チップ２０は、判定部２３０により、サーバ装置４０から通知された第２形式のコマンド＃６を含むデータにおいて、「Content-Type」に「application/response-for-mcu」が設定されていることから、コマンド＃６の応答がデバイス装置１０宛てであると判定する（ステップＳ１２１）。
【００８２】
ステップＳ１２２〜Ｓ１２３に示す処理は、ステップＳ１０２〜Ｓ１０５に示す処理と同様であるため、その説明を省略する。
【００８３】
制御チップ２０は、デバイス処理部２３１により、コマンド＃６の応答に応じた処理を行う（ステップＳ１２４）。デバイス処理部２３１は、例えば、コマンド＃６の応答に含まれるデータ（証明書の一部を示すデータ）を、記憶部２２に記憶させる。デバイス処理部２３１は、コマンド＃６の応答に応じた処理を実行した結果をサーバ装置４０に送信する（実行結果送信）（ステップＳ１２５）。
【００８４】
サーバ装置４０は、制御チップ２０から通知された実行の結果を解釈する（ステップＳ１２６）。例えば、サーバ装置４０は、実行の結果として、証明書の一部が制御チップ２０に正常に記憶されたことが示されていた場合、次のデータを読み取る命令（コマンド＃７）を送信することを決定する。
【００８５】
ステップＳ１２７〜Ｓ１３２に示す処理は、ステップＳ１２０〜Ｓ１２５に示す処理と同様であるため、その説明を省略する。
【００８６】
図１１は、図８に示すファイル選択に関する処理において、マイコンチップ３０が故障により正常終了しなかった場合の処理の流れを示すシーケンス図である。本シーケンスでは、マイコンチップ３０が故障していることを前提とする。図１１のステップＳ２１０〜Ｓ２１４に示す処理は、図８のステップＳ１０〜Ｓ１４に示す処理と同様であるため、その説明を省略する。
【００８７】
マイコンチップ３０が故障していることから、コマンド処理部３３０は、コマンド＃１処理を正常に行うことができない（ステップＳ２１５）。また、応答生成部３３１は、コマンド＃１処理が正常に終了しなかったことを示す第２形式の応答（例えば、「０ｘＦＦ、０ｘＦＦ」）を生成する（ステップＳ２１６）。マイコンチップ３０は、制御チップ２０に第２形式の応答を送信する（ステップＳ２１７）。
【００８８】
制御チップ２０は、マイコンチップ３０から受信した応答の内容（正常に終了しなかったこと）を判定することなく、受信した第２形式の応答をサーバ装置４０に送信すると共に、サーバ装置４０に命令の有無を確認する通知を行う（ステップＳ２１８）。サーバ装置４０は、応答変換部４３２により、制御チップ２０のから受信した第２形式の応答を第１形式に変換して、応答の内容を判定する。サーバ装置４０は、処理が正常に終了しない場合、例えば、制御チップ２０にコマンド＃１を再送する（ステップＳ２２０）。
【００８９】
図１２は、図８に示すファイル選択の処理において通信エラーが発生した場合における処理の流れを示すシーケンス図である。本シーケンスでは、通信エラーが、制御チップ２０とマイコンチップ３０と接続部分で発生したことを前提とする。図１２のステップＳ３１０〜Ｓ３１６に示す処理は、図８のステップＳ１０〜Ｓ１６に示す処理と同様であるため、その説明を省略する。
【００９０】
マイコンチップ３０は、制御チップ２０に第２形式の応答を送信するが、制御チップ２０とマイコンチップ３０とを接続する通信経路に異常が発生する等して、応答が制御チップ２０に送信されない（ステップＳ３１７）。
【００９１】
制御チップ２０は、ステップＳ３１４にてマイコンチップ３０にコマンド＃１を送信した後、所定の時間内にその応答を受信しなかった場合、何らかの理由で応答が送信されなかったとみなし、正常に終了しなかったことを示す第２形式の応答（例えば、「０ｘＦＦ、０ｘＦＦ」）をサーバ装置４０に送信すると共に、サーバ装置４０に命令の有無を確認する通知を行う（ステップＳ３１８）。
【００９２】
ステップＳ３１９、及びＳ３２０に示す処理は、ステップＳ２１９、及びＳ２２０にしめす処理と同様であるため、その説明を省略する。
【００９３】
以上説明したように、実施形態の通信システム１は、デバイス装置１０とサーバ装置４０とを備える。デバイス装置１０は、制御チップ２０とマイコンチップ３０とを有する。制御チップ２０は、第１形式にて前記サーバ装置と通信を行う。マイコンチップ３０は、第２形式にて、制御チップ２０と通信を行う。サーバ装置４０は、命令生成部４３０と、命令変換部４３１と、サーバ通信部４１とを有する。命令生成部４３０は、第１形式に対応する第１命令を生成する。命令変換部４３１は、命令生成部４３０により生成された第１命令を、第２形式に変換する。サーバ通信部４１は、命令変換部４３１により変換された第２形式に対応する第２命令を、デバイス装置１０に送信する。デバイス装置１０の制御チップ２０は、サーバ装置４０から受信した第２命令を、マイコンチップ３０に送信する。
【００９４】
これにより、実施形態の通信システム１は、デバイス装置１０がサーバ装置４０から通知された第２形式の命令を、そのままマイコンチップ３０に出力することができるため、マイコンチップ３０とサーバ装置４０と通信のやり取りが複雑になった場合であっても、デバイス装置１０の処理負荷の増大を抑制することができる。
【００９５】
特に、本実施形態で例示したような、センサを備えたデバイス装置は、ＰＣや携帯電話等と比較して、処理性能を低くして装置コストや消費電力を抑えられるように設計される場合が多い。このような安価なデバイス装置に、データ形式を変換する処理を行わせる従来の方法を適用させると、装置が高価格となってしまい現実的でなかった。また、センサを備えたデバイス装置では、デバイス装置のプログラムを頻繁に書き替えることが想定されていない場合が多く、プログラムの変更が容易でない。すなわち、従来の方法では、サーバ装置４０からマイコンチップ３０に命令するコマンドを追加したり、コマンドの仕様を変更したりすることが難しく、コマンドを柔軟に変更することができなかった。
【００９６】
これに対し、本実施形態では、デバイス装置１０がデータ形式を変換することがない。このため、デバイス装置１０の処理負荷を抑えて、制御チップ２０のプログラムやデータのメモリサイズを小さくすることができ、装置コストや消費電力を抑えることができる。また、サーバ装置４０とマイコンチップ３０のプログラム（アプリケーション）を変更すれば、制御チップ２０のプログラムを変更せずともコマンドの仕様変更に柔軟に対応させることができる。
【００９７】
また、実施形態の通信システム１では、命令変換部４３１が、命令変換情報４２０を用いて、第１形式の命令を第２形式に変換するため、命令変換情報４２０」を参照するという容易な方法で、変換することができる。
【００９８】
また、実施形態の通信システム１では、デバイス装置１０が複数設けられる場合、命令変換部４３１は、デバイス情報４２２を用いて、第１形式の命令を、通信先のマイコンチップ３０が対応する第２形式に変換するため、マイコンチップ３０の各々が対応するデータ形式やコマンドの仕様が異なる場合であっても、各々のマイコンチップ３０と通信することが可能である。
【００９９】
また、実施形態の通信システム１では、サーバ装置４０は、応答変換部４３２をさらに備える。応答変換部４３２は、第２形式に対応する応答を、前記第１形式に変換する。デバイス装置１０の制御チップ２０は、マイコンチップ３０から受信した第２形式の応答を、サーバ装置４０に送信し、応答変換部４３２は、第２形式の応答を第１形式に変換する。このため、実施形態の通信システム１では、デバイス装置１０は、サーバ装置４０に応答を通知する場合に、データ形式を変換する処理を行わずに済み、上述した効果と同様の効果を奏する。
【０１００】
また、実施形態の通信システム１では、応答変換部４３２は、応答変換情報４２１を用いて、第２形式に対応する応答を第１形式に変換するため、上述した効果と同様の効果を奏する。
【０１０１】
また、実施形態の通信システム１では、制御チップ２０は判定部２３０を備える。判定部２３０は、マイコンチップ３０から受信した応答が、デバイス装置１０が利用する応答であるか、サーバ装置４０が利用する応答であるかを判定する。このため、実施形態の通信システム１では、応答が利用される装置に応じて適切な処理を行うことができる。
【０１０２】
また、実施形態の通信システム１では、第２形式は、ＩＳＯ７８１６に準拠するデータ形式であることから、ＩＳＯ７８１６に準拠するデータに広く適用させることができる。
【０１０３】
また、実施形態のサーバ装置４０は、デバイス装置１０と通信するサーバ装置である。サーバ装置４０は、命令生成部４３０と、命令変換部４３１と、サーバ通信部４１を備える。命令生成部４３０は、第１形式に対応する第１命令を生成する。命令変換部４３１は、命令生成部４３０により生成された第１命令を、第２形式に変換する。サーバ通信部４１は、命令変換部４３１により変換された第２形式に対応する第２命令を、デバイス装置１０に送信する。これにより、上述した効果と同様の効果を奏する。
【０１０４】
なお、本発明における通信システム１、デバイス装置１０、サーバ装置４０の全部または一部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませて実行することにより処理を行なってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。
また、「コンピュータシステム」は、ホームページ提供環境（あるいは表示環境）を備えたＷＷＷシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。
【０１０５】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【０１０６】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【０１０７】
１…通信システム、１０…デバイス装置、２０…制御チップ、２３…制御部、２３０…判定部、３０…マイコンチップ、４０…サーバ装置、４２…サーバ記憶部、４２０…命令変換情報、４２１…応答変換情報、４２２…デバイス情報、４３…サーバ制御部、４３０…命令生成部、４３１…命令変換部、４３２…応答変換部
【図１】
2020195040.tif 000003
【図２】
2020195040.tif 000004
【図３】
2020195040.tif 000005
【図４】
2020195040.tif 000006
【図５】
2020195040.tif 000007
【図６】
2020195040.tif 000008
【図７】
2020195040.tif 000009
【図８】
2020195040.tif 000010
【図９】
2020195040.tif 000011
【図１０】
2020195040.tif 000012
【図１１】
2020195040.tif 000013
【図１２】
2020195040.tif 000014