(57)【要約】【課題】アプリケーションがＰＣ／ＳＣと、ＡＴコマンドに従って通信する必要があるＡＴコマンド機器を介してＩＣカードとＡＰＤＵの通信をする場合において、アプリケーションの開発者がＡＴコマンドを意識することなくアプリケーションを開発することができる変換プログラム等を提供すること。【解決手段】Ｃ−ＡＰＤＵの入力を受け付け、受け付けたＣ−ＡＰＤＵにＡＴコマンドのヘッダ及びフッタを付加し、出力する構成を有する変換プログラム等とする。【選択図】図７
2020173642.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータを、
Ｃ−ＡＰＤＵの入力を受け付ける第１受付手段、
前記第１受付手段が受け付けたＣ−ＡＰＤＵにＡＴコマンドのヘッダ及びフッタを付加する付加手段、
前記ＡＴコマンドのヘッダ及びフッタを付加したＣ−ＡＰＤＵを出力する第１出力手段、
として機能させることを特徴とする変換プログラム。
【請求項２】
請求項１に記載の変換プログラムであって、
前記コンピュータを、
ＡＴコマンドのヘッダ及びフッタが付加されたＲ−ＡＰＤＵの入力を受け付ける第２受付手段、
前記第２受付手段が受け付けた前記ＡＴコマンドのヘッダ及びフッタが付加されたＲ−ＡＰＤＵからＡＴコマンドのヘッダ及びフッタを削除する削除手段、
前記ＡＴコマンドのヘッダ及びフッタを削除したＲ−ＡＰＤＵを出力する第２出力手段、
として更に機能させることを特徴とする変換プログラム。
【請求項３】
請求項１に記載の変換プログラムであって、
前記付加手段は、前記第１受付手段が受け付けたＣ−ＡＰＤＵの送信先が通信モジュールである場合に、当該Ｃ−ＡＰＤＵにＡＴコマンドのヘッダ及びフッタを付加し、
前記第１出力手段は、前記ＡＴコマンドのヘッダ及びフッタを付加したＣ−ＡＰＤＵを前記通信モジュールに出力することを特徴とする変換プログラム。
【請求項４】
請求項２に記載の変換プログラムであって、
前記削除手段は、前記第２受付手段が受け付けた前記ＡＴコマンドのヘッダ及びフッタが付加されたＲ−ＡＰＤＵの送信元が通信モジュールである場合に、当該Ｃ−ＡＰＤＵからＡＴコマンドのヘッダ及びフッタを削除し、
前記第２出力手段は、前記ＡＴコマンドのヘッダ及びフッタを削除したＲ−ＡＰＤＵを、前記Ｃ−ＡＰＤＵの入力元に出力することを特徴とする変換プログラム。
【請求項５】
請求項４に記載の変換プログラムであって、
前記コンピュータを、
前記第２受付手段が受け付けたＲ−ＡＰＤＵに含まれるＳＷの１バイト目が「０ｘ６１」である場合に、当該ＳＷとともに受け付けたデータを保持する保持手段、
前記第２受付手段が受け付けたＲ−ＡＰＤＵに含まれるＳＷの１バイト目が「０ｘ６１」である場合に、［ＧＥＴ  ＲＥＳＰＯＮＳＥ］コマンドを含むＣ−ＡＰＤＵにＡＴコマンドのヘッダ及びフッタを付加して、前記通信モジュールに出力する第３出力手段、
として更に機能させ、
前記［ＧＥＴ  ＲＥＳＰＯＮＳＥ］コマンドの応答として受け付けた前記ＡＴコマンドのヘッダ及びフッタが付加されたＲ−ＡＰＤＵに含まれるＳＷが「０ｘ９０００」である場合に、
前記削除手段は、当該ＡＴコマンドのヘッダ及びフッタが付加されたＲ−ＡＰＤＵから当該ＡＴコマンドのヘッダ及びフッタを削除し、
前記第２出力手段は、当該ＡＴコマンドのヘッダ及びフッタが削除されたＲ−ＡＰＤＵに前記保持手段が保持したデータを付加した上で、前記第１受付手段の受け付けたＣ−ＡＰＤＵの送信元に出力することを特徴とする変換プログラム。
【請求項６】
Ｃ−ＡＰＤＵの入力を受け付ける第１受付手段と、
前記第１受付手段が受け付けたＣ−ＡＰＤＵにＡＴコマンドのヘッダ及びフッタを付加する付加手段と、
前記ＡＴコマンドのヘッダ及びフッタを付加したＣ−ＡＰＤＵを出力する第１出力手段と、
を備えることを特徴とする変換装置。
【請求項７】
変換装置による変換方法であって、
Ｃ−ＡＰＤＵの入力を受け付ける第１受付工程と、
前記第１受付工程により受け付けたＣ−ＡＰＤＵにＡＴコマンドのヘッダ及びフッタを付加する付加工程と、
前記ＡＴコマンドのヘッダ及びフッタを付加したＣ−ＡＰＤＵを出力する第１出力工程と、
を含むことを特徴とする変換方法。
【発明の詳細な説明】
【技術分野】
【０００１】
情報処理端末と通信モジュール間のデータ変換に関するプログラム等の技術分野に関する。
【背景技術】
【０００２】
集積回路（ＩＣ（integrated circuit））を備えるＩＣカードは、アプリケーションプログラム（「アプリケーション」）を実行することにより、様々なサービスをユーザに提供する。
【０００３】
一方で、インターネットに接続されたパーソナルコンピュータのウェブブラウザを用いて、電子メールや動画配信など様々なサービスをユーザは享受することができるようになっている。つまり、ユーザはインターネットに接続され、且つ、ウェブブラウザがインストールされたコンピュータであれば、任意のコンピュータからこれらのサービスを利用することができる。
【０００４】
その一方でウェブブラウザは、プライベートアカウントが不正に使用されたり、個人情報やプライベートデータが盗まれたりするなどの可能性があり、セキュリティ対策を施されたコンピュータにおいて利用することが重要である。また、ユーザの証明書を安全に記憶することができ、ログインプロセスに不可欠なコンポーネントとして使用されて、二要素認証を行うことができるＩＣカードを利用することにより、セキュリティを強化することができる。そうした中、特許文献１には、ウェブブラウザでサービスを享受する際に、ＩＣカードによるユーザ認証等を行うための技術が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１６−１４４１１１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、ＩＣカードは一般的に情報処理端末に接続されたリーダ・ライタ（Ｒ／Ｗ（Reader/Writer））と通信することにより、サービスを提供する。このときの情報処理端末のアプリケーションとＩＣカード間の通信方式について図１（Ａ）を用いて説明する。情報処理端末にインストールされているアプリケーションは、ＩＣカードとのコマンド・レスポンスのやりとり（「トランザクション」）を介してユーザにサービスを提供する。ＰＣ／ＳＣ（Personal Computer/Smart Card）は、Ｗｉｎｄｏｗｓ（登録商標）環境でＩＣカードを利用するための標準ＡＰＩ（Application Programming Interface）である。Ｒ／Ｗは、ＩＣカードへのデータの読み出し及び書き込みを行う。なお、ＩＣカード内にもアプリケーションがインストールされており、コマンドに応じた処理を実行し、コマンドの送信元にレスポンスを返信する。
【０００７】
国際標準規格であるＩＳＯ／ＩＥＣ７８１６が適用されるＩＣカードは、情報処理端末のアプリケーションからコマンドを含むＡＰＤＵ（Application protocol data unit）であるＣ−ＡＰＤＵ（Command-APDU）を受信し、コマンドに応じた処理をＩＣカード内にインストールされたアプリケーションにより実行する。そして、ＩＣカードは、当該処理の実行結果に応じた２バイトからなるＳＷ（Status Word）を含むＡＰＤＵであるＲ−ＡＰＤＵ（Response-APDU）を情報処理端末のアプリケーションへ送信（返信）する。このように情報処理端末のアプリケーションとＩＣカードの間では、コマンドとレスポンスをやりとりするトランザクションによりユーザにサービスを提供する。具体的には、図２（Ａ）に示すように、Ｃ−ＡＰＤＵは、情報処理端末のアプリケーションから送信されて、ＰＣ／ＳＣ及びＲ／Ｗを介してＩＣカードに到達する。一方、Ｒ−ＡＰＤＵはＩＣカードから送信されて、Ｒ／Ｗ及びＰＣ／ＳＣを介して情報処理端末のアプリケーションに到達する。
【０００８】
その一方で、ＩＣカードは通信事業者が加入者を特定するためのＳＩＭ（Subscriber Identity Module）としても利用されている。そのＳＩＭは、ＩｏＴ機器がＩｏＴサーバと通信する時に、通信事業者及びＩｏＴサーバがＩｏＴ機器を認証するために利用されている。ここで、ＩｏＴ機器のアプリケーションとＳＩＭ間の通信方式について図１（Ｂ）を用いて説明する。ＩｏＴ機器にインストールされているアプリケーションは、ＳＩＭとのコマンド・レスポンスのやりとり（トランザクション）を実行する。ＬＴＥ通信モジュール（ＬＴＥモデム）は、ＳＩＭと通信を行ったり、通信事業者（図示しない）との通信に関する処理を行ったりする。なお、ＳＩＭにもアプリケーションがインストールされており、アプリケーションによりコマンドに応じた処理を実行し、コマンドの送信元にレスポンスを返信する。
【０００９】
ＩＣカードの一種であるＳＩＭは、ＩＳＯ／ＩＥＣ７８１６が適用されるため、ＩｏＴ機器（アプリケーション）からＣ−ＡＰＤＵを受信し、コマンドに応じた処理を実行し、Ｒ−ＡＰＤＵをＩｏＴ機器（アプリケーション）へ送信（返信）する。但し、ＩｏＴ機器のアプリケーションがＬＴＥ通信モジュールとＣ−ＡＰＤＵ及びＲ−ＡＰＤＵを送受信する際には、ＡＴコマンドの形式に従う必要がある（ＬＴＥ通信モジュールのように、ＡＴコマンドに従って通信する必要がある機器を「ＡＴコマンド機器」という場合がある）。具体的には、図２（Ｂ）に示すように、ＩｏＴ機器にインストールされたアプリケーションはＡＴコマンドのヘッダ及びフッタを付加したＣ-ＡＰＤＵをＬＴＥ通信モジュールに送信する。これを受信したＬＴＥ通信モジュールはＡＴコマンドのヘッダ及びフッタを除いたＣ−ＡＰＤＵをＳＩＭへ送信する。一方、ＳＩＭはコマンドに応じた処理を実行し、Ｒ−ＡＰＤＵをＬＴＥ通信モジュールに送信する。これを受信したＬＴＥ通信モジュールはＡＴコマンドのヘッダ及びフッタを付加してＲ−ＡＰＤＵをアプリケーションへ送信する。つまり、アプリケーションとＬＴＥ通信モジュール間ではＡＴコマンドのヘッダ及びフッタが付加されたデータが送受信される。
【００１０】
すなわち、ＩｏＴ機器のアプリケーションからみてＣ−ＡＰＤＵの送信先がＰＣ／ＳＣの場合にはＡＴコマンドのヘッダ及びフッタを付加せずにそのまま送信することとなる（図２（Ａ））一方、送信先がＡＴコマンド機器の場合にはＡＴコマンドのヘッダ及びフッタを付加して送信することとなる（図２（Ｂ））。同様に、ＩｏＴ機器のアプリケーションからみてＲ−ＡＰＤＵを受信する際、送信元がＰＣ／ＳＣの場合にはＡＴコマンドのヘッダ及びフッタを削除せずにすむ一方、送信元がＡＴコマンド機器の場合にはＡＴコマンドのヘッダ及びフッタを削除して処理することとなる。よって、アプリケーションの開発者は、ＡＰＤＵの授受を行う直接的な相手がＰＣ／ＳＣであるか、ＡＴコマンド機器であるかに応じてアプリケーションを開発する必要があり、大きな負担となるという問題がある。
【００１１】
そこで、本発明は、アプリケーションがＡＴコマンド機器に接続されたＩＣカードとＡＰＤＵを通信する場合であっても、アプリケーションがＡＰＤＵの授受を行う直接的な相手をＰＣ／ＳＣとすることにより、アプリケーションの開発者がＡＴコマンドを意識することなくアプリケーションを開発することができる変換プログラム等を提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記課題を解決するために、請求項１に記載の発明は、コンピュータを、Ｃ−ＡＰＤＵの入力を受け付ける第１受付手段、前記第１受付手段が受け付けたＣ−ＡＰＤＵにＡＴコマンドのヘッダ及びフッタを付加する付加手段、前記ＡＴコマンドのヘッダ及びフッタを付加したＣ−ＡＰＤＵを出力する第１出力手段、として機能させることを特徴とする。
【００１３】
請求項２に記載の発明は、請求項１に記載の変換プログラムであって、前記コンピュータを、ＡＴコマンドのヘッダ及びフッタが付加されたＲ−ＡＰＤＵの入力を受け付ける第２受付手段、前記第２受付手段が受け付けた前記ＡＴコマンドのヘッダ及びフッタが付加されたＲ−ＡＰＤＵからＡＴコマンドのヘッダ及びフッタを削除する削除手段、前記ＡＴコマンドのヘッダ及びフッタを削除したＲ−ＡＰＤＵを出力する第２出力手段、として更に機能させることを特徴とする。
【００１４】
請求項３に記載の発明は、請求項１に記載の変換プログラムであって、前記付加手段は、前記第１受付手段が受け付けたＣ−ＡＰＤＵの送信先が通信モジュールである場合に、当該Ｃ−ＡＰＤＵにＡＴコマンドのヘッダ及びフッタを付加し、前記第１出力手段は、前記ＡＴコマンドのヘッダ及びフッタを付加したＣ−ＡＰＤＵを前記通信モジュールに出力することを特徴とする。
【００１５】
請求項４に記載の発明は、請求項２に記載の変換プログラムであって、前記削除手段は、前記第２受付手段が受け付けた前記ＡＴコマンドのヘッダ及びフッタが付加されたＲ−ＡＰＤＵの送信元が通信モジュールである場合に、当該Ｃ−ＡＰＤＵからＡＴコマンドのヘッダ及びフッタを削除し、前記第２出力手段は、前記ＡＴコマンドのヘッダ及びフッタを削除したＲ−ＡＰＤＵを、前記Ｃ−ＡＰＤＵの入力元に出力することを特徴とする。
【００１６】
請求項５に記載の発明は、請求項４に記載の変換プログラムであって、前記コンピュータを、前記第２受付手段が受け付けたＲ−ＡＰＤＵに含まれるＳＷの１バイト目が「０ｘ６１」である場合に、当該ＳＷとともに受け付けたデータを保持する保持手段、前記第２受付手段が受け付けたＲ−ＡＰＤＵに含まれるＳＷの１バイト目が「０ｘ６１」である場合に、［ＧＥＴ  ＲＥＳＰＯＮＳＥ］コマンドを含むＣ−ＡＰＤＵにＡＴコマンドのヘッダ及びフッタを付加して、前記通信モジュールに出力する第３出力手段、として更に機能させ、前記［ＧＥＴ  ＲＥＳＰＯＮＳＥ］コマンドの応答として受け付けた前記ＡＴコマンドのヘッダ及びフッタが付加されたＲ−ＡＰＤＵに含まれるＳＷが「０ｘ９０００」である場合に、前記削除手段は、当該ＡＴコマンドのヘッダ及びフッタが付加されたＲ−ＡＰＤＵから当該ＡＴコマンドのヘッダ及びフッタを削除し、前記第２出力手段は、当該ＡＴコマンドのヘッダ及びフッタが削除されたＲ−ＡＰＤＵに前記保持手段が保持したデータを付加した上で、前記第１受付手段の受け付けたＣ−ＡＰＤＵの送信元に出力することを特徴とする。
【００１７】
請求項６に記載の発明は、Ｃ−ＡＰＤＵの入力を受け付ける第１受付手段と、前記第１受付手段が受け付けたＣ−ＡＰＤＵにＡＴコマンドのヘッダ及びフッタを付加する付加手段と、前記ＡＴコマンドのヘッダ及びフッタを付加したＣ−ＡＰＤＵを出力する第１出力手段と、を備えることを特徴とする。
【００１８】
請求項７に記載の発明は、変換装置による変換方法であって、Ｃ−ＡＰＤＵの入力を受け付ける第１受付工程と、前記第１受付工程により受け付けたＣ−ＡＰＤＵにＡＴコマンドのヘッダ及びフッタを付加する付加工程と、前記ＡＴコマンドのヘッダ及びフッタを付加したＣ−ＡＰＤＵを出力する第１出力工程と、を含むことを特徴とする。
【発明の効果】
【００１９】
本発明によれば、Ｃ−ＡＰＤＵを入力することによりＡＴコマンドのヘッダ及びフッタが付加されて出力されることから、ＰＣ／ＳＣとＡＴコマンド機器の間で動作させることにより、ＰＣ／ＳＣが出力したＣ−ＡＰＤＵをＡＴコマンド機器に受信させることができる。したがって、アプリケーションがＡＴコマンド機器に接続されたＩＣカードとＡＰＤＵを通信する場合であっても、アプリケーションがＡＰＤＵの授受を行う直接的な相手をＰＣ／ＳＣとすることができ、アプリケーションの開発者はＡＴコマンドを意識することなくアプリケーションを開発することができる。
【図面の簡単な説明】
【００２０】
【図１】（Ａ）は、情報処理端末のアプリケーションとＩＣカード間の通信方式の一例を示す図であり、（Ｂ）は、情報処理端末のアプリケーションとＳＩＭ間の通信方式の一例を示す図である。
【図２】（Ａ）は、情報処理端末のアプリケーションとＩＣカード間におけるＡＰＤＵの送受信の一例を示す図であり、（Ｂ）は、情報処理端末のアプリケーションとＳＩＭ間におけるＡＰＤＵの送受信の一例を示す図である。
【図３】本実施形態に係るＩｏＴ通信システムＳの概要構成例を示す図である。
【図４】本実施形態に係るマイコン１１の概要構成例を示すブロック図である。
【図５】は本実施形態に係るマイコン１１のアプリケーションとＳＩＭ間の通信方式の一例を示す図である。
【図６】本実施形態に係るマイコン１１のアプリケーションとＳＩＭ間におけるＡＰＤＵの送受信の一例を示す図である。
【図７】本実施形態に係る変換プログラムに基づくＣＰＵ１１１による変換処理の一例を示すフローチャートである。
【図８】本実施形態に係るＩｏＴ通信システムＳの動作例を示すシーケンス図である。
【図９】本実施形態に係るＩｏＴ通信システムＳの動作例を示すシーケンス図である。
【図１０】変形例に係るマイコン１１のアプリケーションとＳＩＭ間におけるＡＰＤＵの送受信の一例を示す図である。
【図１１】変形例に係る変換プログラムに基づくＣＰＵ１１１による変換処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００２１】
まず、本発明の実施形態について説明する。なお、本実施形態は、本願発明をＩｏＴ機器１におけるマイコン１１における変換プログラムに適用した場合の実施例である。
【００２２】
［１．ＩｏＴシステムＳの構成］
図３を用いて、ＩｏＴ通信システムＳの構成及び機能概要を説明する。図３は、本実施例に係るＩｏＴ通信システムＳの概要構成例を示すブロック図である。ＩｏＴ通信システムＳは、ＩｏＴ機器１とＩｏＴサーバ２を含んで構成され、ＩｏＴ機器１とＩｏＴサーバ２は、ネットワークＮＷを介して相互にデータの送受信が可能になっている。なお、ネットワークＮＷは、例えば、ＬＡＮ（Local Area Network）、インターネット、移動体通信網（基地局等を含む）、及びゲートウェイ等により構築されている。
【００２３】
ＩｏＴ機器１は、温度センサー（図示しない）を備えており、周囲の温度を測定して得た温度データを記録する。ＩｏＴサーバ２は、ＩｏＴ機器１から送信された温度データを管理したり、ＩｏＴ機器１に記憶されているプログラムや情報等の更新を行ったりする。なお、ＩｏＴ機器１とＩｏＴサーバ２間で送受信されるデータは、セキュリティ確保のため、それぞれが管理する鍵データにより暗号化された上で通信される。
【００２４】
［２．ＩｏＴ機器１の構成］
ＩｏＴ機器１は、ＩｏＴ機器１の通信に関する処理を行うＬＴＥ通信モジュール１０（「通信モジュール」の一例）と、ＩｏＴ機器１全体を制御するマイコン１１と、ＬＴＥ通信モジュール１０に接続されたＳＩＭ１２とを含んで構成される。
【００２５】
ＬＴＥ通信モジュール１０は、ＳＩＭ１２と通信を行ったり、通信事業者との通信に関する処理を行ったりする。ＬＴＥ通信モジュール１０は、ＡＴコマンドに従ってデータの送受信を行う。つまり、ＬＴＥ通信モジュール１０にＣ−ＡＰＤＵ等のデータを送信する場合にはＡＴコマンドのヘッダ及びフッタを付加する必要がある。一方、ＬＴＥ通信モジュール１０から送信されるＲ−ＡＰＤＵ等のデータを受信する場合にはＡＴコマンドのヘッダ及びフッタを削除してデータを取り扱う必要がある。
【００２６】
ＳＩＭ１２は、通信事業者がＳＩＭ１２を認証するために使用する契約者情報（ＩＭＳＩ等）、ＩｏＴサーバ２とＩｏＴ機器１間で通信される通信データを暗号／復号するための鍵を記憶する。また、ＳＩＭ１２は、ＩｏＴサーバ２がＩｏＴ機器１を認証するために使用する情報やデータを暗号／復号するための鍵を記憶する。なお、通信事業者やＩｏＴサーバ２が認証を行う場合におけるＳＩＭ１２とのＡＰＤＵによるコマンド・レスポンスは、ＩｏＴ機器１のマイコン１１のアプリケーションが担う。
【００２７】
［３．マイコン１１の構成］  
図４は、本実施例に係るマイコン１１の概要構成例を示すブロック図である。図４に示すように、マイコン１１は、ＣＰＵ（Central Processing Unit）１１１、ＲＡＭ（Random Access Memory）１１２、ＲＯＭ（Read Only Memory）１１３、Ｉ／Ｏ部１１４及び不揮発性メモリ１１５を含んで構成され、ＩｏＴ機器１全体を制御する。
【００２８】
ＲＡＭ１１２には、例えばＯＳ（Operating System）や各種アプリケーションが機能する上で一時的に必要となるデータが記憶される。不揮発性メモリ１１５には、例えばフラッシュメモリ又は「Electrically Erasable Programmable Read-Only Memory」などを適用することができる。ＲＯＭ１１３及び不揮発性メモリ１１５には、ＯＳ、各種アプリケーション、後述する変換プログラム等が記憶される。Ｉ／Ｏ部１１４は、ＬＴＥ通信モジュール１０との通信インターフェースを担う。
【００２９】
［４．変換プログラム］
次に、図５−図７を用いて、マイコン１１にインストールされているアプリケーションとＳＩＭ１２間の通信方式と、変換プログラムについて説明する。図５に示すように、マイコン１１にインストールされたアプリケーション３０１とＳＩＭ１２間で、ＰＣ／ＳＣ３０２、変換プログラム３０３及びＬＴＥ通信モジュール１０（「ＡＴコマンド機器」の一例）を介してＡＰＤＵの受け渡しが行われる。なお、変換プログラム３０３は、マイコン１１のＣＰＵ１１１により実行されることにより、ＯＳ３００とＬＴＥ通信モジュール１０間のデバイスドライバとして機能する。
【００３０】
以下、図６を用いて具体的に説明する。まず、アプリケーション３０１は、ＰＣ／ＳＣ３０２にＣ−ＡＰＤＵを受け渡す（ステップＳ１）。次いで、ＰＣ／ＳＣ３０２は変換プログラム３０３にＣ−ＡＰＤＵを入力する（ステップＳ２）。変換プログラム３０３は、Ｃ−ＡＰＤＵの入力を受け付けるとＡＴコマンドのヘッダ及びフッタを付加するヘッダ・フッタ付加処理を行い（ステップＳ３）、ＡＴコマンドのヘッダ及びフッタが付加されたＣ−ＡＰＤＵをＬＴＥ通信モジュール１０に出力する（ステップＳ４）。ＬＴＥ通信モジュール１０は、これを受け取るとＡＴコマンドのヘッダ及びフッタを解釈した上でＣ−ＡＰＤＵをＳＩＭ１２に受け渡す（ステップＳ５）。
【００３１】
ＳＩＭ１２にインストールされたアプリケーションは、Ｃ−ＡＰＤＵに含まれるコマンドに応じて処理を実行し、レスポンスを含むＲ−ＡＰＤＵをＬＴＥ通信モジュール１０に受け渡す（ステップＳ６）。ＬＴＥ通信モジュール１０は、これを受け取るとＲ−ＡＰＤＵにＡＴコマンドのヘッダ及びフッタを付加して変換プログラム３０３に受け渡す（ステップＳ７）。変換プログラム３０３はＬＴＥ通信モジュール１０によりＡＴコマンドのヘッダ及びフッタが付加されたＲ−ＡＰＤＵの入力を受け付けると、当該ＡＴコマンドのヘッダ及びフッタを削除するヘッダ・フッタ削除処理を行い（ステップＳ８）、Ｒ−ＡＰＤＵをＰＣ／ＳＣ３０２に出力する（ステップＳ９）。ＰＣ／ＳＣ３０２は、変換プログラム３０３からＲ−ＡＰＤＵを受け付けるとアプリケーション３０１に受け渡す（ステップＳ１０）。
【００３２】
つまり、変換プログラム３０３は、ＰＣ／ＳＣ３０２からＣ−ＡＰＤＵの入力を受け付けた場合に、Ｃ−ＡＰＤＵにＡＴコマンドのヘッダ及びフッタを付加し、ＬＴＥ通信モジュール１０に出力する。また、変換プログラム３０３は、ＬＴＥ通信モジュール１０からＡＴコマンドのヘッダ及びフッタが付加されたＲ−ＡＰＤＵの入力を受け付けた場合に、ＡＴコマンドのヘッダ及びフッタを削除して、Ｒ−ＡＰＤＵをＰＣ／ＳＣ３０２に出力する。
【００３３】
ここで、図７を用いて、変換プログラム３０３に基づくマイコン１１のＣＰＵ１１１による変換処理について説明する。図７は、マイコン１１１による変換処理の一例を示すフローチャートである。
【００３４】
まず、マイコン１１のＣＰＵ１１１は、ＰＣ／ＳＣ３０２からデータ（例えば、Ｃ−ＡＰＤＵ）の入力を受け付けたか否かを判定する（ステップＳ１０１）。ＣＰＵ１１１は、ＰＣ／ＳＣ３０２からデータを受け付けたと判定した場合には（ステップＳ１０１：ＹＥＳ）、当該受け付けたデータにＡＴコマンドのヘッダ及びフッタを付加して、送信データを生成する（ステップＳ１０２）。
【００３５】
具体的には、ＣＰＵ１１１は、送信データとしてＡＴコマンド（Generic UICC logical channel access +CGLA）を生成する。例えば、ＡＴコマンド（AT+CGLA）は、
<sessionid>,<length>,<command><CR>
により構成される。ＣＰＵ１１１は、<sessionid>に、セッション開始時に送るＡＴコマンド(Open logical channel +CCHO)のレスポンスとして得られる整数値を記述し、<length>に、Ｃ−ＡＰＤＵの長さを記述し、<command>に、Ｃ−ＡＰＤＵを記述する。<CR>は改行コードである。
【００３６】
なお、
<sessionid>,<length>,<command><CR>
において、
<command>より前にある
<sessionid>,<length>
がＡＴコマンドのヘッダであり、
<command>より後ろにある
<CR>
がＡＴコマンドのフッタである。
【００３７】
次いで、ＣＰＵ１１１は、ステップＳ１０２の処理で生成した送信データをＬＴＥ通信モジュール１０に出力し（ステップＳ１０３）、ステップＳ１０１の処理に移行する。
【００３８】
一方、ＣＰＵ１１１は、ＰＣ／ＳＣ３０２からデータを受け付けていないと判定した場合には（ステップＳ１０１：ＮＯ）、次いで、ＬＴＥ通信モジュール１０からデータ（例えば、Ｒ−ＡＰＤＵ）の入力を受け付けたか否かを判定する（ステップＳ１０４）。ＣＰＵ１１１は、ＬＴＥ通信モジュール１０からデータを受け付けたと判定した場合には（ステップＳ１０４：ＹＥＳ）、当該受け付けたデータからＡＴコマンドのヘッダ及びフッタを削除して、送信データを生成する（ステップＳ１０５）。
【００３９】
例えば、ＣＰＵ１１１は、上記ＡＴコマンド（AT+CGLA）に対応するレスポンスとして、
<CR><LF>+CGLA: <length>,<response><CR><LF>
<CR><LF>OK<CR><LF>
を受け付ける。
<length>には、<response>の長さが記述されている。<response>には、Ｒ−ＡＰＤＵが記述されている。<LF>は改行コードである。ＣＰＵ１１１は、当該レスポンスを受信した場合にはＡＴコマンドのヘッダ及びフッタを削除する。いいかえれば、ＣＰＵ１１１は、<response>部分を残して他の部分を削除する。
【００４０】
なお、
<length>,<response><CR><LF>
<CR><LF>OK<CR><LF>
において、
<response>より前にある
<length>
がＡＴコマンドのヘッダであり、
<response>より後ろにある
<CR><LF>
<CR><LF>OK<CR><LF>
がＡＴコマンドのフッタである。
【００４１】
次いで、ＣＰＵ１１１は、ステップＳ１０５の処理で生成した送信データをＰＣ／ＳＣ３０２に出力し（ステップＳ１０６）、ステップＳ１０１の処理に移行する。他方、ＣＰＵ１１１は、ＬＴＥ通信モジュール１０からデータを受け付けていないと判定した場合には（ステップＳ１０４：ＮＯ）、ステップＳ１０１の処理に移行する。
【００４２】
なお、ステップＳ１０４を削除するとともに、ステップＳ１０１の処理において、「入力を受け付けたデータにＡＴコマンドのヘッダ及びフッタが付加されているか否か」について判定することとし、「ＹＥＳ」である場合にステップＳ１０５の処理に移行し、「ＮＯ」である場合にステップＳ１０２の処理に移行することとしてもよい。また、変換プログラム３０３は、ＡＴコマンドのヘッダ及びフッタについて付加処理と削除処理の双方を実行可能なプログラムとしたが、それぞれの処理を実行可能な付加プログラムと削除プログラムに分割することとし、ＡＴコマンドのヘッダ及びフッタを付加すべき場合に付加プログラムを実行し、ＡＴコマンドのヘッダ及びフッタを削除すべき場合に削除プログラムを実行することとしてもよい。
【００４３】
［５．ＩｏＴシステムＳの通信］
次に、図８及び図９を用いて、ＩｏＴシステムＳにおける通信の一例について説明する。
【００４４】
まず、図８を用いて、マイコン１１にインストールされているアプリケーション３０１が送信データをＩｏＴサーバ２に送信する場合の通信の一例について説明する。
【００４５】
図８に示すように、マイコン１１のＣＰＵ１１１（アプリケーション３０１）は、ＩｏＴサーバ２に送信する送信データ（例えば、温度データ）をＳＩＭ１２に受け渡す（ステップＳ２０１）。具体的には、ＣＰＵ１１１（アプリケーション３０１）は、ＳＩＭ１２にインストールされている暗号・復号用のアプリケーションを選択した上で、送信データと、当該アプリケーションに送信データを暗号化させるコマンドを含むＣ−ＡＰＤＵを送信する。
【００４６】
ＳＩＭ１２は、送信データを受け取ると、選択されたアプリケーションに基づいて、送信データを暗号鍵により暗号化する（ステップＳ２０２）。次いで、ＳＩＭ１２は、暗号化した送信データをマイコン１１（アプリケーション３０１）に受け渡す（ステップＳ２０３）。具体的には、ＳＩＭ１２は暗号化した送信データと暗号処理の処理結果を示すＳＷからなるレスポンスを含むＲ−ＡＰＤＵを送信する。
【００４７】
なお、ＣＰＵ１１１（アプリケーション３０１）とＳＩＭ１２間では、図６を用いて説明したように、ＰＣ／ＳＣ３０２、変換プログラム３０３及びＬＴＥ通信モジュール１０を介して送信データ（ＡＰＤＵ）が送受信される。
【００４８】
マイコン１１のＣＰＵ１１１（アプリケーション３０１）は、暗号化された送信データを受け取ると、これをＩｏＴサーバ２に送信する（ステップＳ２０４）。
【００４９】
ＩｏＴサーバ２は、暗号化された送信データを受信すると、これを復号鍵により復号する（ステップＳ２０５）。
【００５０】
次に、図９を用いて、ＩｏＴサーバ２が送信データをマイコン１１にインストールされているアプリケーション３０１に送信する場合の通信の一例について説明する。
【００５１】
図９に示すように、ＩｏＴサーバ２は、ＩｏＴ機器１へ送信するデータ（例えば、温度センサーの設定変更用のデータ）を暗号鍵により暗号化する（ステップＳ２５１）。次いで、ＩｏＴサーバ２は、暗号化した送信データをＩｏＴ機器１に送信する（ステップＳ２５２）。
【００５２】
マイコン１１のＣＰＵ１１１（アプリケーション３０１）は、受け取った、暗号化された送信データをＳＩＭ１２に受け渡す（ステップＳ２５３）。具体的には、ＣＰＵ１１１（アプリケーション３０１）は、ＳＩＭ１２にインストールされている暗号・復号用のアプリケーションを選択した上で、暗号化された送信データと、当該アプリケーションに当該暗号化された送信データを復号させるコマンドを含むＣ−ＡＰＤＵを送信する。
【００５３】
ＳＩＭ１２は、暗号化された送信データを受け取ると、選択されたアプリケーションに基づいて、復号鍵により復号する（ステップＳ２５４）。次いで、ＳＩＭ１２は、復号した送信データをマイコン１１（アプリケーション３０１）に受け渡す（ステップＳ２５５）。具体的には、ＳＩＭ１２は復号した送信データと復号処理の処理結果を示すＳＷからなるレスポンスを含むＲ−ＡＰＤＵを送信する。
【００５４】
なお、ＣＰＵ１１１（アプリケーション３０１）とＳＩＭ１２間では、図６を用いて説明したように、ＰＣ／ＳＣ３０２、変換プログラム３０３及びＬＴＥ通信モジュール１０を介して送信データ（ＡＰＤＵ）が送受信される。
【００５５】
これにより、マイコン１１のＣＰＵ１１１（アプリケーション３０１）は、復号された送信データを受け取る。
【００５６】
以上説明したように、本実施形態のＣＰＵ１１１（「第１受付手段」、「付加手段」、「第１出力手段」の一例）は、変換プログラム３０３に基づいて、Ｃ−ＡＰＤＵの入力を受け付け、当該受け付けたＣ−ＡＰＤＵにＡＴコマンドのヘッダ及びフッタを付加し、当該ＡＴコマンドのヘッダ及びフッタを付加したＣ−ＡＰＤＵを出力する。
【００５７】
したがって、本実施形態の変換プログラム３０３によれば、Ｃ−ＡＰＤＵを入力することによりＡＴコマンドのヘッダ及びフッタが付加されて出力されることから、ＰＣ／ＳＣとＬＴＥ通信モジュール１０の間で動作させることにより、ＰＣ／ＳＣ３０２が出力したＣ−ＡＰＤＵをＬＴＥ通信モジュール１０に受信させることができる。したがって、アプリケーション３０１がＬＴＥ通信モジュール１０に接続されたＳＩＭ（「ＩＣカード」の一例）とＡＰＤＵを通信する場合であっても、アプリケーション３０１がＡＰＤＵの授受を行う直接的な相手をＰＣ／ＳＣ３０２とすることができ、アプリケーション３０１の開発者はＡＴコマンドを意識することなくアプリケーション３０１を開発することができる。
【００５８】
また、本実施形態のＣＰＵ１１１（「第２受付手段」、「削除手段」、「第２出力手段」の一例）は、変換プログラム３０３に基づいて、ＡＴコマンドのヘッダ及びフッタが付加されたＲ−ＡＰＤＵの入力を受け付け、当該受け付けたＡＴコマンドのヘッダ及びフッタが付加されたＲ−ＡＰＤＵからＡＴコマンドのヘッダ及びフッタを削除し、当該ＡＴコマンドのヘッダ及びフッタを削除したＲ−ＡＰＤＵを出力する。
【００５９】
したがって、本実施形態の変換プログラム３０３によれば、ＡＴコマンドのヘッダ及びフッタが付加されたＲ−ＡＰＤＵを入力することによりＡＴコマンドのヘッダ及びフッタが削除されて出力されることから、変換プログラム３０３をＰＣ／ＳＣ３０２とＬＴＥ通信モジュール１０の間で動作させることにより、ＬＴＥ通信モジュール１０が出力したＡＴコマンドのヘッダ及びフッタが付加されたＲ−ＡＰＤＵを受信した場合にＡＴコマンドのヘッダ及びフッタを削除したＲ−ＡＰＤＵをＰＣ／ＳＣ３０２に受信させることができる。したがって、アプリケーション３０１がＬＴＥ通信モジュール１０に接続されたＳＩＭ（「ＩＣカード」の一例）とＡＰＤＵを通信する場合であっても、アプリケーション３０１がＡＰＤＵの授受を行う直接的な相手をＰＣ／ＳＣ３０２とすることができ、アプリケーション３０１の開発者はＡＴコマンドを意識することなくアプリケーション３０１を開発することができる。
【００６０】
［６．変形例］
マイコン１１のアプリケーション３０１がＳＩＭ１２にデータの送信を命令するコマンドを送信して、これに対してＳＩＭ１２がデータをレスポンスとしてアプリケーション３０１に送信する場合がある。このとき、一度のレスポンスで送信すべきデータを送信できない場合に、ＳＩＭ１２はレスポンスとして当該送信すべきデータの一部と、特定のＳＷをアプリケーション３０１に送信する。このとき、特定のＳＷにおけるＳＷ１（ＳＷの１バイト目）には「０ｘ６１」が設定され、ＳＷ２（ＳＷの２バイト目）に残りのデータサイズを示す値が設定される。アプリケーション３０１は、ＳＷ１が「０ｘ６１」であるレスポンスを受信した場合に、残りのデータの送信を命令する［ＧＥＴ  ＲＥＳＰＯＮＳＥ］コマンドをＳＩＭ１２に送信し、ＳＩＭ１２は当該コマンドに対して、残りのデータ及びＳＷを含むレスポンスを送信する。このとき、一度の［ＧＥＴ  ＲＥＳＰＯＮＳＥ］コマンドに対するレスポンスで送信すべきデータを送信しきれない場合には、これらの処理を繰り返すことにより、ＳＩＭ１２からアプリケーション３０１に送信すべきデータを分割して送信することができる。
【００６１】
そこで、本変形例における変換プログラム３０３は、ＳＩＭ１２からのレスポンスにＳＷ１が「０ｘ６１」であるＳＷが含まれる場合に、当該レスポンスをＰＣ／ＳＣ３０２（アプリケーション３０１）に送信せずに、自らが［ＧＥＴ  ＲＥＳＰＯＮＳＥ］コマンドをＳＩＭ１２に送信して、ＳＩＭ１２がアプリケーション３０１に送信すべきデータを全て受信して、一括して送信すべきデータをＰＣ／ＳＣ３０２（アプリケーション３０１）に送信することとする。以下、図１０及び図１１を用いて、本変形例におけるマイコン１１にインストールされているアプリケーション３０１とＳＩＭ１２間の通信方式と、変換プログラム３０３に基づく変換処理について説明する。
【００６２】
図１０におけるステップＳ３１からステップＳ３５までは、図６におけるステップＳ１からステップＳ５までは同様であるので説明を省略する。但し、マイコン１１（アプリケーション３０１）から送信されるコマンドは、ＳＩＭ１２に何らかのデータの送信を命令するコマンドであることとする。これに対してＳＩＭ１２は、マイコン１１（アプリケーション３０１）に送信すべきデータを一度に送信できない場合に、Ｒ−Ｄａｔａ１とＲ−Ｄａｔａ２に分割して送信する（ここでは、２つのデータに分割して送信する場合について説明するが、データをＲ−Ｄａｔａ１〜Ｒ−ＤａｔａＮのＮ個に分割した上で、Ｎ回に分けて送信することもできる）。具体的には、ＳＩＭ１２は、まず、Ｒ−Ｄａｔａ１とＳＷ１が「０ｘ６１」であるＳＷからなるレスポンスを含むＲ−ＡＰＤＵをＬＴＥ通信モジュール１０に受け渡す（ステップＳ３６）。ＬＴＥ通信モジュール１０は、これを受け取るとＲ−ＡＰＤＵにＡＴコマンドのヘッダ及びフッタを付加して変換プログラム３０３に受け渡す（ステップＳ３７）。
【００６３】
これに対して変換プログラム３０３は、ＬＴＥ通信モジュール１０から受け付けたＡＴコマンドのヘッダ及びフッタが付加されたＲ−ＡＰＤＵに含まれるＳＷ１が「０ｘ６１」であると判定すると、Ｒ−Ｄａｔａ１を一時保持するとともに、［ＧＥＴ  ＲＥＳＰＯＮＳＥ］コマンドを生成し、これにＡＴコマンドのヘッダ及びフッタを付加した上でＬＴＥ通信モジュール１０に送信する自動送信処理を実行する（ステップ３８、ステップＳ３９）。ＬＴＥ通信モジュール１０は、これを受け取るとＡＴコマンドのヘッダ及びフッタを削除してＣ−ＡＰＤＵをＳＩＭ１２に受け渡す（ステップＳ４０）。これに対してＳＩＭ１２は、Ｒ−Ｄａｔａ２とＳＷ「０ｘ９０００」（正常終了を示す）からなるレスポンスを含むＲ−ＡＰＤＵをＬＴＥ通信モジュール１０に受け渡す（ステップＳ４１）。ＬＴＥ通信モジュール１０は、これを受け取るとＲ−ＡＰＤＵにＡＴコマンドのヘッダ及びフッタを付加して変換プログラム３０３に受け渡す（ステップＳ４２）。
【００６４】
変換プログラム３０３は、ステップＳ３９で送信した［ＧＥＴ  ＲＥＳＰＯＮＳＥ］コマンドのレスポンスとして、ＬＴＥ通信モジュール１０からＡＴコマンドのヘッダ及びフッタが付加されたＲ−ＡＰＤＵの入力を受け付けると、これに含まれるＳＷが「０ｘ９０００」であることを確認して、ヘッダ・フッタ削除処理を行う（ステップＳ４３）。ヘッダ・フッタ削除処理では、Ｒ−ＡＰＤＵに付加されているＡＴコマンドのヘッダ及びフッタを削除するとともに、当該Ｒ−ＡＰＤＵに対してそれまでに一時保持したＲ−Ｄａｔａ１を加えたＲ−ＡＰＤＵ（すなわち、Ｒ−Ｄａｔａ１とＲ−Ｄａｔａ１２とＳＷ「０ｘ９０００」を含むＲ−ＡＰＤＵ）を生成する。次いで、変換プログラム３０３は、当該Ｒ−ＡＰＤＵをＰＣ／ＳＣ３０２に出力する（ステップＳ４４）。ＰＣ／ＳＣ３０２は、変換プログラム３０３からＲ−ＡＰＤＵを受け付けるとアプリケーション３０１に受け渡す（ステップＳ４５）。
【００６５】
つまり、変換プログラム３０３は、ＬＴＥ通信モジュール１０を介してＳＩＭ１２からＳＷ１が「０ｘ６１」であるＳＷを含むＲ−ＡＰＤＵの入力を受け付けた場合には、ＳＷが「０ｘ９０００」であるＳＷを含むＲ−ＡＰＤＵの入力を受け付けるまで、［ＧＥＴ  ＲＥＳＰＯＮＳＥ］コマンドを含むＣ−ＡＰＤＵの送信と、これに対する応答であるＲ−ＡＰＤＵに含まれる分割データの一時保持を繰り返す。そして、ＳＷが「０ｘ９０００」であるＳＷを含むＲ−ＡＰＤＵ（Ｒ−ＤａｔａＮ）の入力を受け付けた場合には、これに一時保持した全ての分割データ（Ｒ−Ｄａｔａ１〜Ｒ−ＤａｔａＮ−１）を加えたＲ−ＡＰＤＵをＰＣ／ＳＣ３０２に出力する。
【００６６】
次に、図１１を用いて、変形例における変換プログラム３０３に基づくマイコン１１のＣＰＵ１１１による変換処理について説明する。図１１は、変形例におけるマイコン１１１による変換処理の一例を示すフローチャートである。なお、図１１では、図７のステップＳ１０４の処理とステップＳ１０５の処理の間に、ステップＳ１５１の処理からステップ１５８の処理を追加しており、ここでは、当該追加した部分を中心に説明する。
【００６７】
まず、図１１のステップＳ１０４において、マイコン１１のＣＰＵ１１１は、ＬＴＥ通信モジュール１０からデータを受け付けていないと判定した場合には（ステップＳ１０４：ＮＯ）、ステップＳ１０１の処理に移行する。一方、ＣＰＵ１１１は、ＬＴＥ通信モジュール１０からデータを受け付けたと判定した場合には（ステップＳ１０４：ＹＥＳ）、当該受け付けたデータであるＲ−ＡＰＤＵに含まれるＳＷが「０ｘ６１ＸＸ」（すなわち、ＳＷ１が「０ｘ６１」）であるか否かを判定する（ステップＳ１５１）。
【００６８】
ＣＰＵ１１１は、ＳＷが「０ｘ６１ＸＸ」であると判定した場合には（ステップＳ１５１：ＹＥＳ）、Ｒ−ＡＰＤＵに含まれる分割されたＲ―Ｄａｔａｎ（ｎは１からＮ−１の自然数）を不揮発性メモリ１１５又はＲＡＭ１１２に一時保持する（ステップＳ１５２）。次いで、ＣＰＵ１１１は、［ＧＥＴ  ＲＥＳＰＯＮＳＥ］コマンドを含むＣ−ＡＰＤＵを用意し、これにＡＴコマンドのヘッダ及びフッタを付加して送信データを生成する（ステップＳ１５３）。次いで、ＣＰＵ１１１は、ステップＳ１５３の処理で生成した送信データをＬＴＥ通信モジュール１０に出力し（ステップＳ１５４）、一時保持フラグをオンに設定し（ステップＳ１５５）、ステップＳ１０１の処理に移行する。なお、一時保持フラグは、ＳＷ「０ｘ６１ＸＸ」を含むＲ−ＡＰＤＵに含まれるＲ−Ｄａｔａを変換プログラム３０３が一時保持している場合にオンに設定される。
【００６９】
一方、ＣＰＵ１１１は、ＳＷが「０ｘ６１ＸＸ」ではない（例えば、「０ｘ９０００」である）と判定した場合には（ステップＳ１５１：ＮＯ）、次いで、一時保持フラグがオンであるか否かを判定する（ステップＳ１５６）。ＣＰＵ１１１は、一時保持フラグがオンではないと判定した場合には（ステップＳ１５６：ＮＯ）、ステップＳ１０５の処理に移行する。
【００７０】
他方、ＣＰＵ１１１は、一時保持フラグがオンであると判定した場合には（ステップＳ１５６：ＹＥＳ）、受信したデータ（Ｒ−ＤａｔａＮ及びＳＷ「０ｘ９０００」を含むＲ−ＡＰＤＵ）からＡＴコマンドのヘッダ及びフッタを削除した上で、当該Ｒ−ＡＰＤＵ（Ｒ−ＤａｔａＮ及びＳＷ「０ｘ９０００」を含むＲ−ＡＰＤＵ）に対して、ステップＳ１５２の処理で一時保持した全てのデータ（Ｒ−Ｄａｔａ１〜Ｒ−Ｄａｔａ（Ｎ−１））を加えたＲ−ＡＰＤＵ（（Ｒ−Ｄａｔａ１〜Ｒ−ＤａｔａＮ及びＳＷ「０ｘ９０００」を含むＲ−ＡＰＤＵ）を送信データとして生成する（ステップＳ１５７）。次いで、ＣＰＵ１１１は、一時保持フラグをオフに設定し（ステップＳ１５８）、ステップＳ１０６の処理に移行する。
【００７１】
以上説明したように、本変形例のＣＰＵ１１１（「保持手段」、「第３出力手段」の一例）は、変換プログラム３０３に基づいて、受け付けたＲ−ＡＰＤＵに含まれるＳＷの１バイト目が「０ｘ６１」である場合に、当該ＳＷとともに受け付けたＲ−Ｄａｔａを保持するとともに、［ＧＥＴ  ＲＥＳＰＯＮＳＥ］コマンドを含むＣ−ＡＰＤＵにＡＴコマンドを付加した送信データをＬＴＥ通信モジュール１０に出力し、［ＧＥＴ  ＲＥＳＰＯＮＳＥ］コマンドの応答として受け付けたＡＴコマンドのヘッダ及びフッタが付加されたＲ−ＡＰＤＵに含まれるＳＷが「０ｘ９０００」である場合に、当該ＡＴコマンドのヘッダ及びフッタが付加されたＲ−ＡＰＤＵから当該ＡＴコマンドのヘッダ及びフッタを削除し、当該ＡＴコマンドのヘッダ及びフッタが削除されたＲ−ＡＰＤＵに先に保持したＲ−Ｄａｔａを付加した上で、Ｃ−ＡＰＤＵの送信元に出力する。
【００７２】
すなわち、ＳＩＭ１２からＳＷ「０ｘ６１ＸＸ」を含むレスポンスを含むＲ−ＡＰＤＵが送信された場合において、変換プログラム３０３は、マイコン１１（アプリケーション３０１）に当該Ｒ−ＡＰＤＵを戻すことなく、ＳＩＭ１２がマイコン１１（アプリケーション３０１）に送信すべき全てのデータを取得した上で、一括してマイコン１１（アプリケーション３０１）に送信する。これにより、マイコン１１（アプリケーション３０１）と変換プログラム３０３間での通信回数を削減することができ、延いてはトランザクションに係る処理時間を短縮することができる。
【符号の説明】
【００７３】
１  ＩｏＴ機器
１０  ＬＴＥ通信モジュール
１１  マイコン
１１１  ＣＰＵ
１１２  ＲＡＭ
１１３  ＲＯＭ
１１４  Ｉ／Ｏ部
１１５  不揮発性メモリ
１２  ＳＩＭ
２  ＩｏＴサーバ
３００  ＯＳ
３０１  アプリケーション
３０２  ＰＣ／ＳＣ
３０３  変換プログラム
【図１】
2020173642.tif 000003
【図２】
2020173642.tif 000004
【図３】
2020173642.tif 000005
【図４】
2020173642.tif 000006
【図５】
2020173642.tif 000007
【図６】
2020173642.tif 000008
【図７】
2020173642.tif 000009
【図８】
2020173642.tif 000010
【図９】
2020173642.tif 000011
【図１０】
2020173642.tif 000012
【図１１】
2020173642.tif 000013