(57)【要約】【課題】  端末プログラムなどのメッセージ送信元が送信メッセージと受信メッセージとの対応関係を認識することができる端末装置を提供することを課題とする。【解決手段】  端末装置１０は、端末プログラム２６からメッセージ情報を受理するメッセージ情報受理部１２と、当該メッセージ情報を識別するためのスレッドＩＤを生成するＩＤ生成部１４と、上記メッセージ情報と上記スレッドＩＤとを含むメッセージを生成してＩＣカード２４に送信する送信部１６と、ＩＣカード２４からメッセージを受信する受信部１８とを備えている。メッセージ情報受理部１２は、ＩＣカード２４からの受信メッセージに、送信メッセージに挿入したスレッドＩＤが含まれている場合、当該受信メッセージを上記メッセージ情報に対する返値として端末プログラム２６に返却し、当該メッセージ情報に起因する処理を終了する。【選択図】  図１
2006260451.tif 000002
【特許請求の範囲】
【請求項１】
メッセージ情報を受理する受理手段と、
前記受理手段によって受理されたメッセージ情報を識別するための識別情報を生成する生成手段と、
前記受理手段によって受理されたメッセージ情報と前記生成手段によって生成された識別情報とを含むメッセージを生成し、生成したメッセージを通信相手に送信する送信手段と、
通信相手からメッセージを受信する受信手段と
を備え、
前記受理手段は、前記受信手段によって受信されたメッセージに前記生成手段によって生成された識別情報が含まれている場合、前記受信手段によって受信されたメッセージを、当該識別情報によって識別されるメッセージ情報に対する返値として、当該メッセージ情報の送信元に返却し、当該メッセージ情報に起因する処理を終了する
ことを特徴とする端末装置。
【請求項２】
前記受理手段は、前記メッセージ情報を受理してから、または前記送信手段によってメッセージが送信されてから、あらかじめ定められた時間が経過した場合、前記受信手段によって受信されたメッセージを返値として返却することなく、前記メッセージ情報に起因する処理を終了する
ことを特徴とする請求項１に記載の端末装置。
【請求項３】
前記受理手段は、前記メッセージ情報とともにタイムアウトの検出に用いる時間を受理し、前記メッセージ情報を受理してから、または前記送信手段によってメッセージが送信されてから、当該時間が経過した場合、前記受信手段によって受信されたメッセージを返値として返却することなく、前記メッセージ情報に起因する処理を終了する
ことを特徴とする請求項１に記載の端末装置。
【請求項４】
前記生成手段は、前記受理手段によって受信された前記メッセージ情報の送信元を識別する識別子を含む前記識別情報を生成する
ことを特徴とする請求項１に記載の端末装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、端末装置に関し、特に通信相手（例えばＩＣカード）との間でメッセージの送受信を行う端末装置に関するものである。
【背景技術】
【０００２】
例えば下記非特許文献１に開示されているように、端末プログラムとＩＣカードとの間で互いにメッセージを送受信するによって、端末プログラムとＩＣカードとを互いに連携して動作させる方式が提案されている。
【０００３】
この方式においては、端末プログラムが、端末装置内に設けられた通信ライブラリに対してメッセージ（ｓｒｃ，ｄｓｔ，ｍｔｙｐｅ，ｐａｒａｍ）を与えることにより、ＩＣカード（あるいは他の端末プログラム）に対してメッセージを送信する。ここで、ｓｒｃ，ｄｓｔ，ｍｔｙｐｅ，ｐａｒａｍはそれぞれ、送信元ＩＤ、送信先ＩＤ、メッセージの種別、メッセージの内容である。
【非特許文献１】寺田他，「分散ＩＣカード環境のためのアーキテクチャの提案」，情報処理学会シンポジウムシリーズ  Ｖｏｌ．２００４，Ｎｏ．１１，ｐｐ．２８９−２９４，２００４年１０月２０日発行
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記従来の技術には以下に示すような問題点があった。すなわち、上記従来の技術においては、端末プログラムから通信ライブラリを介してＩＣカードへメッセージを送信した後、ＩＣカードから通信ライブラリを介して端末プログラムに対してメッセージが届いた場合であっても、受信メッセージがどの送信メッセージに対する返信なのかを区別する手段が無い。そのため、通信ライブラリから端末プログラムに対して、例えば「処理の正常終了」のメッセージが届いたとしても、端末プログラムは、どの処理が正常終了したのかを知る手段が無い。
【０００５】
そこで本発明は、上記問題点を解決し、端末プログラムなどのメッセージ送信元が送信メッセージと受信メッセージとの対応関係を認識することができる端末装置を提供することを課題とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明の端末装置は、メッセージ情報を受理する受理手段と、上記受理手段によって受理されたメッセージ情報を識別するための識別情報を生成する生成手段と、上記受理手段によって受理されたメッセージ情報と上記生成手段によって生成された識別情報とを含むメッセージを生成し、生成したメッセージを通信相手に送信する送信手段と、通信相手からメッセージを受信する受信手段とを備え、上記受理手段は、上記受信手段によって受信されたメッセージに上記生成手段によって生成された識別情報が含まれている場合、上記受信手段によって受信されたメッセージを、当該識別情報によって識別されるメッセージ情報に対する返値として、当該メッセージ情報の送信元に返却し、当該メッセージ情報に起因する処理を終了することを特徴としている。
【０００７】
メッセージ情報と識別情報とを含む送信メッセージを生成して通信相手に送信するとともに、受信メッセージに上記識別情報が含まれている場合に当該受信メッセージを上記メッセージ情報に対する返値として当該メッセージ情報の送信元に返却することで、当該メッセージ情報とこれに対する返信（返値）を関連付けることができる。
【０００８】
また、本発明の端末装置においては、上記受理手段は、上記メッセージ情報を受理してから、または上記送信手段によってメッセージが送信されてから、あらかじめ定められた時間が経過した場合、上記受信手段によって受信されたメッセージを返値として返却することなく、上記メッセージ情報に起因する処理を終了することを特徴とすることが好適である。
【０００９】
メッセージ情報を受理してから、または送信手段によってメッセージが送信されてから一定時間が経過した場合に、受信メッセージを返値として返却することなく処理を終了することで、通信エラーなどによって受信メッセージを得られなかった場合に処理が終了できなくなるというような不都合を回避することができる。
【００１０】
また、本発明の端末装置においては、上記受理手段は、上記メッセージ情報とともにタイムアウトの検出に用いる時間を受理し、上記メッセージ情報を受理してから、または上記送信手段によってメッセージが送信されてから、当該時間が経過した場合、上記受信手段によって受信されたメッセージを返値として返却することなく、上記メッセージ情報に起因する処理を終了することを特徴とするように構成することもできる。
【００１１】
メッセージ情報を受理してから、または送信手段によってメッセージが送信されてから一定時間が経過した場合に、受信メッセージを返値として返却することなく処理を終了することで、通信エラーなどによって受信メッセージを得られなかった場合に処理が終了できなくなるというような不都合を回避することができる。さらに、タイムアウトの検出に用いる時間を受理することによって、当該時間をメッセージ情報毎に任意に設定することができる。
【００１２】
また、本発明の端末装置においては、上記生成手段は、上記受理手段によって受信された上記メッセージ情報の送信元を識別する識別子を含む上記識別情報を生成することを特徴とすることが好適である。
【００１３】
メッセージ情報の送信元を識別する識別子を含むように識別情報を生成することで、互いに重複しない識別情報を容易に生成することができる。
【発明の効果】
【００１４】
本発明の端末装置は、メッセージ情報と識別情報とを含む送信メッセージを生成して通信相手に送信するとともに、受信メッセージに上記識別情報が含まれている場合に当該受信メッセージを上記メッセージ情報に対する返値として当該メッセージ情報の送信元に返却する。従って、当該メッセージ情報とこれに対する返信（返値）とを関連付けることができる。その結果、端末プログラムなどのメッセージ送信元が送信メッセージと受信メッセージとの対応関係を認識することが可能となる。
【発明を実施するための最良の形態】
【００１５】
本発明の実施形態にかかる端末装置について図面を参照して説明する。
【００１６】
まず、本実施形態にかかる端末装置の構成について説明する。
【００１７】
本実施形態にかかる端末装置は、物理的には、ＣＰＵ、メモリ、外部通信インタフェースなどを備えた端末装置であり、例えば、移動機（携帯電話機）、ＰＤＡ、パーソナルコンピュータなどである。端末装置のメモリには種々のプログラムが格納されており、当該プログラムがＣＰＵによって実行されることによって、種々の機能が実現される。
【００１８】
図１は、本実施形態にかかる端末装置の機能的構成図である。本実施形態にかかる端末装置１０は、図１に示すように、メッセージ情報受理部１２（受理手段）とＩＤ生成部１４（生成手段）と送信部１６（送信手段）と受信部１８（受信手段）とを含む通信ライブラリ２０を備えて構成される。また、端末装置１０は、ＩＣカード挿入部２２（例えばＩＣカード挿入用のスロット）を備え、ＩＣカード挿入部２２にはＩＣカード２４が挿入されている。ＩＣカード２４と端末装置１０とは電気的に接続されており、端末装置１０の送信部１６及び受信部１８とＩＣカード２４との間でデータの送受信ができるようになっている。以下、各構成要素について、詳細に説明する。
【００１９】
通信ライブラリ２０は、全体として、メッセージの送受信を行うための手続きを実行する部分である。より具体的には、通信ライブラリ２０は、端末装置１０において動作する端末プログラム２６からメッセージ情報を受け取り、当該メッセージ情報に基づくメッセージの送受信処理を行い、送信元の端末プログラム２６に対してその返値を返却する。以下、通信ライブラリ２０の構成要素について詳細に説明する。
【００２０】
メッセージ情報受理部１２は、端末プログラム２６からメッセージ情報を受信（受理）する。ここで、メッセージ情報には、送信元となる端末プログラム２６のＩＤ（以下、送信元ＩＤという）と、メッセージ情報を送信する送信相手（例えばＩＣカード２４）のＩＤ（以下、送信先ＩＤという）と、メッセージの内容とが含まれている。
【００２１】
ＩＤ生成部１４は、メッセージ情報受理部１２によって受理されたメッセージ情報を識別するための識別情報（以下、スレッドＩＤという）を生成する。ＩＤ生成部１４は、より具体的には、メッセージ情報受理部１２によって受理された互いに異なるメッセージ情報に対して互いに重複しないスレッドＩＤを生成する（以下、このように生成されたスレッドＩＤを大域的に一意性を有するスレッドＩＤという）。例えば、送信元ＩＤとＩＤ生成部１４が管理する連番とを並べた文字列をスレッドＩＤとすることで、大域的に一意性を有するスレッドＩＤを容易に生成することができる。
【００２２】
送信部１６は、メッセージ情報受理部１２によって受理されたメッセージ情報とＩＤ生成部１４によって生成されたスレッドＩＤとを含むメッセージを生成し、生成したメッセージを通信相手に送信する。より具体的には、送信部１６は、送信元ＩＤ、送信先ＩＤ、スレッドＩＤおよびメッセージの内容を含むメッセージを生成し、送信先ＩＤによって特定される送信先に対して送信する。送信部１５は、送信先ＩＤによって特定される送信先に対してメッセージを送信すると、当該メッセージの送受信処理を行うプロセスあるいはスレッド（ここでいう「スレッド」は、上述の「スレッドＩＤ」とは無関係であり、一般的な意味でのスレッドを指す）を休止状態にする。
【００２３】
受信部１８は、通信相手から送信されるメッセージを受信する。受信部１８は、また、メッセージを受信すると、メッセージの送受信処理を行うプロセスあるいはスレッドを再開させる（すなわち休止状態から起動状態にする）。ここで、メッセージの送受信処理を行うプロセスあるいはスレッドが複数休止している場合は、これらを順次再開してもよいし、一斉に再開してもよい。
【００２４】
メッセージ情報受理部１２は、また、受信部１８によって受信されたメッセージを参照し、受信部１８によって受信されたメッセージに、ＩＤ生成部１４によって生成されたスレッドＩＤ（すなわち、送信部１６から送信されたメッセージに挿入されたスレッドＩＤ）が含まれているか否かを確認する。ここで、受信されたメッセージに、ＩＤ生成部１４によって生成されたスレッドＩＤが含まれている場合、メッセージ情報受理部１２は、受信部１８によって受信されたメッセージを、当該スレッドＩＤによって識別されるメッセージ情報に対する返値として、当該メッセージ情報の送信元に返却し、当該メッセージ情報に起因する処理を終了する。一方、受信されたメッセージに、ＩＤ生成部１４によって生成されたスレッドＩＤが含まれていない場合、メッセージ情報受理部１２は、再開されたプロセスあるいはスレッドを再び休止状態に戻す。ここで、メッセージの送受信処理を行うプロセスあるいはスレッドが複数休止していた場合は、これらの処理を順次行ってもよいし、一斉に行ってもよい。
【００２５】
続いて、本実施形態にかかる端末装置の動作について説明する。ここでは、端末プログラム２６からＩＣカード２４にメッセージが送信され、ＩＣカード２４から端末プログラム２６にメッセージが返信される場合を例にして端末装置の動作を説明する。ここで、端末プログラム２６のＩＤをａ１、ＩＣカード２４のＩＤをｉ１、端末プログラム２６からＩＣカード２４に送信するメッセージの内容をｍ１とする。
【００２６】
図２は、端末プログラム２６からＩＣカード２４にメッセージが送信される際の端末装置１０の動作を示すフローチャートである。
【００２７】
メッセージの送受信にあたり、まず、端末プログラム２６から通信ライブラリ２０に対して、メッセージ情報が送信される（Ｓ１）。ここで、メッセージ情報には、送信元ＩＤ（＝ａ１）、送信先ＩＤ（＝ｉ１）およびメッセージの内容（＝ｍ１）が含まれている。端末プログラム２６から送信されたメッセージ情報は、通信ライブラリ２０のメッセージ情報受理部１２によって受理される（Ｓ２）。
【００２８】
メッセージ情報受理部１２によってメッセージ情報が受理されると、ＩＤ生成部１４によってスレッドＩＤが生成される（Ｓ３）。スレッドＩＤ（＝ｔ１）は、たとえば、送信元ＩＤ（＝ａ１）とＩＤ生成部１４が管理する連番（＝ｎ）とを並べた文字列（＝ａ１｜ｎ）として生成される。
【００２９】
続いて、送信部１６により、メッセージ情報受理部１２によって受理されたメッセージ情報とＩＤ生成部１４によって生成されたスレッドＩＤとを含むメッセージが生成される（Ｓ４）。より具体的には、送信元ＩＤ（＝ａ１）、送信先ＩＤ（＝ｉ１）、スレッドＩＤ（＝ｔ１）およびメッセージの内容（＝ｍ１）を含むメッセージ（＝＜ａ１，ｉ１，ｔ１，ｍ１＞）が生成される。生成されたメッセージは、送信先ＩＤによって特定される送信先であるＩＣカード２４に対して送信される（Ｓ５）。
【００３０】
送信部１６からＩＣカード２４に対してメッセージが送信されると、当該メッセージの送受信処理を行うプロセスあるいはスレッドは休止状態とされる（Ｓ６）。
【００３１】
図３は、ＩＣカード２４から端末プログラム２６にメッセージが返信される際の端末装置１０の動作を示すフローチャートである。
【００３２】
ＩＣカード２４は、端末プログラム２６から通信ライブラリ２０を介して送信されたメッセージに応じた処理（例えば電子価値の加減算処理）を実行すると、端末プログラム２６への返信メッセージを生成し、通信ライブラリ２０に送信する（Ｓ１１）。より具体的には、ＩＣカード２４によって、送信元ＩＤ（＝ｉ１）、送信先ＩＤ（＝ａ１）、スレッドＩＤ（＝ｔ１）およびメッセージの内容（＝ｍ２）を含むメッセージ（＝＜ｉ１，ａ１，ｔ１，ｍ２＞）が生成され、通信ライブラリ２０に送信される。ここでは、ＩＣカード２４が受信したメッセージとは逆に、送信元ＩＤがＩＣカード２４のＩＤ（＝ｉ１）となり、送信先ＩＤが端末プログラム２６のＩＤ（＝ａ１）となる。また、メッセージに含ませるスレッドＩＤについては、ＩＣカード２４が受信したメッセージに含まれていたスレッドＩＤ（＝ｔ１）がそのまま用いられる。ＩＣカード２４から送信されたメッセージは、通信ライブラリ２０の受信部１８によって受信される。
【００３３】
受信部１８によってメッセージが受信されると、メッセージの送受信処理を行うプロセスあるいはスレッドが再開される（Ｓ１２）。
【００３４】
その後、メッセージ情報受理部１２により、受信部１８によって受信されたメッセージが参照され、受信部１８によって受信されたメッセージに、ＩＤ生成部１４によって生成されたスレッドＩＤ（すなわち、送信部１６から送信された送信メッセージに挿入されたスレッドＩＤ）が含まれているか否が確認される（Ｓ１３）。ここで、受信されたメッセージに、当該スレッドＩＤが含まれている場合、受信部１８によって受信されたメッセージが、当該スレッドＩＤによって識別されるメッセージ情報に対する返値として、当該メッセージ情報の送信元である端末プログラム２６に返却され（Ｓ１４）、当該メッセージ情報に起因する処理が終了する。
【００３５】
一方、受信されたメッセージに、ＩＤ生成部１４によって生成されたスレッドＩＤ、すなわち通信ライブラリ２０から送信した送信メッセージに挿入したスレッドＩＤが含まれていない場合、再開されたプロセスあるいはスレッドは再び休止状態に戻される（Ｓ１５）。
【００３６】
続いて、本実施形態にかかる端末装置の作用及び効果について説明する。本実施形態にかかる端末装置１０は、メッセージ情報とスレッドＩＤとを含む送信メッセージを生成して通信相手（例えばＩＣカード２４）に送信するとともに、受信メッセージに上記スレッドＩＤが含まれている場合に当該受信メッセージを上記メッセージ情報に対する返値として当該メッセージ情報の送信元（例えば端末プログラム２６）に返却する。従って、当該メッセージ情報とこれに対する返信（返値）とを関連付けることができる。その結果、メッセージ送信元（例えば端末プログラム）が送信メッセージと受信メッセージとの対応関係を認識することが可能となる。
【００３７】
また、従来技術においては、同期呼び出しによる通信方式（端末プログラムからメッセージ送信を行うための手続きを呼び出した後、呼び出しから返ることなく返信メッセージを待ち受け、返信メッセージを受信したときに当該返信メッセージを返値として呼び出しから返るという通信方式）を採用することは困難であったが、本実施形態にかかる端末装置１０においては、この通信方式を採用することができる。
【００３８】
また、本実施形態にかかる端末装置１０においては、送信元から送信元ＩＤを受理し、当該受理した送信元ＩＤを用いてスレッドＩＤの作成や送信メッセージの作成を行っていたが、これは以下のようにしてもよい。すなわち、送信元ＩＤと参照情報との対応関係を示すデータベースを端末装置１０のメモリにあらかじめ格納しておき、送信元から送信元ＩＤではなく参照情報を受信し、当該参照情報をキーにして上記データベースを参照して送信元ＩＤを特定し、当該特定した送信元ＩＤを用いてスレッドＩＤの作成や送信メッセージの作成を行ってもよい。
【００３９】
上記実施形態にかかる端末装置においては、通信ライブラリ２０からＩＣカード２４に送信される送信メッセージやＩＣカード２４から送信されて通信ライブラリ２０によって受信される受信メッセージが途中で失われてしまった場合など、何らかの理由で、いくら待っても通信ライブラリ２０が送信メッセージに対する返信メッセージを受信できない場合が考えられる。そこで、このような状況下で、処理を永久に終了できなくなるというような不都合を回避するために、一定のタイムアウト処理を加えることが好ましい。
【００４０】
例えば、メッセージ情報受理部１２がメッセージ情報を受理してからあらかじめ定められた時間が経過した場合、メッセージ情報受理部１２は、送信元にエラー値などを返却して（すなわち受信部１８によって受信されたメッセージを返値として返却することなく）、上記メッセージ情報に起因する処理を終了するようにすることが好ましい。ここでは、メッセージ情報受理部１２がメッセージ情報を受理してから一定時間が経過したときにエラー値を返却して処理を終了することとしたが、送信部１６がメッセージを送信してから一定時間が経過したときにエラー値を返却して処理を終了するようにしてもよい。
【００４１】
また、メッセージ情報受理部１２がメッセージ情報とともにタイムアウトの検出に用いる時間を受理し、上記メッセージ情報を受理してから、または送信部１６によってメッセージが送信されてから、当該時間が経過した場合に、エラー値を返却するようにしてもよい。このようにすることで、タイムアウトの検出に用いる時間を、メッセージ情報毎に任意に設定することができる。
【図面の簡単な説明】
【００４２】
【図１】図１は、端末装置の機能的構成図である。
【図２】図２は、端末プログラムからＩＣカードにメッセージが送信される際の端末装置の動作を示すフローチャートである。
【図３】図３は、ＩＣカードから端末プログラムにメッセージが返信される際の端末装置の動作を示すフローチャートである。
【符号の説明】
【００４３】
１０…端末装置、１２…メッセージ情報受理部、１４…ＩＤ生成部、１６…送信部、１８…受信部、２０…通信ライブラリ、２２…ＩＣカード挿入部、２４…ＩＣカード、２６…端末プログラム
【図１】
2006260451.tif 000003
【図２】
2006260451.tif 000004
【図３】
2006260451.tif 000005