(57)【要約】  【課題】  クライアントに割り当てられた固有の識別情報を、機能を選択するために利用して、コードリーダが読み込んだコードを、適切な機能に与えることができるリモートコードリーダシステムを提供することである。  【解決手段】  バーコードリーダ１と、ネットワーク５に接続されたホストコンピュータ７と、を備える。バーコードリーダ１のＩＤ（ペンＩＤ）及び読み込まれたバーコード１３は、ネットワーク５に接続された端末３を介して、ホストコンピュータ７に送信される。ホストコンピュータ７は、受信したペンＩＤをデコードして、当該ペンＩＤに適合するＣＧＩ９−ｍを選択し、バーコード１３を、選択したＣＧＩ９−ｍに処理させるために、当該ＣＧＩ９−ｍに与える。【選択図】  図１
2011028351.tif 000002
【特許請求の範囲】
【請求項１】
コードを読み込むコードリーダと、
ネットワークに接続されたサーバと、を備え、
前記コードリーダを含むクライアントに固有の識別情報、及び、前記コードリーダが読み込んだ前記コードは、前記ネットワークに接続された端末を介して、前記サーバに送信され、
前記サーバは、
受信した前記識別情報をデコードして、当該識別情報に適合する機能を選択するデコード手段と、
前記コード、又は、前記コード及び前記識別情報を、選択した前記機能に処理させるために、当該機能に与える提供手段と、を含む、リモートコードリーダシステム。
【請求項２】
前記デコード手段は、前記識別情報及び前記コードをデコードして、当該識別情報及び当該コードに適合する機能を選択する、請求項１記載のリモートコードリーダシステム。
【請求項３】
コードを読み込むコードリーダと、
ネットワークに接続されたサーバと、を備え、
前記コードリーダを含むクライアントに固有の識別情報、及び、前記コードリーダが読み込んだ前記コードは、前記ネットワークに接続された端末を介して、前記サーバに送信され、
前記サーバは、
第１所定アルゴリズムに従って、受信した前記識別情報をデコードして、当該識別情報に適合する機能を選択する第１デコード手段と、
第２所定アルゴリズムに従って、受信した前記コードをデコードする第２デコード手段と、
前記コード、前記識別情報、及び、前記第２デコード手段によるデコードの結果のうち、少なくともデコードの結果を、選択した前記機能に処理させるために、当該機能に与える提供手段と、を含む、リモートコードリーダシステム。
【請求項４】
前記第１デコード手段は、前記第１所定アルゴリズムに従って、前記識別情報及び前記コードをデコードして、当該識別情報及び当該コードに適合する機能を選択する、請求項３記載のリモートコードリーダシステム。
【請求項５】
前記第２デコード手段は、前記第２所定アルゴリズムに従って、前記識別情報及び前記コードをデコードする、請求項３又は４記載のリモートコードリーダシステム。
【請求項６】
前記クライアントの前記識別情報は、前記コードリーダの識別情報、前記端末の識別情報、ユーザの識別情報、若しくは、前記端末にインストールされたソフトウェアの識別情報、または、それらの二以上の組合せである、請求項１から５のいずれかに記載のリモートコードリーダシステム。
【請求項７】
コードを読み込むコードリーダと、
ネットワークに接続されたサーバと、を備え、
前記コードリーダが読み込んだ前記コードは、前記ネットワークに接続された端末を介して、前記サーバに送信され、
前記サーバは、
受信した前記コードをデコードして、当該コードに適合する機能を選択するデコード手段と、
前記コードを、選択した前記機能に処理させるために、当該機能に与える提供手段と、を含む、リモートコードリーダシステム。
【請求項８】
コードを読み込むコードリーダと、
ネットワークに接続されたサーバと、を備え、
前記コードリーダが読み込んだ前記コードは、前記ネットワークに接続された端末を介して、前記サーバに送信され、
前記サーバは、
第１所定アルゴリズムに従って、前記コードをデコードして、当該コードに適合する機能を選択する第１デコード手段と、
第２所定アルゴリズムに従って、前記コードをデコードする第２デコード手段と、
前記コード、及び、前記第２デコード手段によるデコードの結果のうち、少なくともデコードの結果を、選択した前記機能に処理させるために、当該機能に与える提供手段と、を含む、リモートコードリーダシステム。
【請求項９】
前記機能は、動的にサービスを提供する機能である、請求項１から８のいずれかに記載のリモートコードリーダシステム。
【請求項１０】
前記コードは、一次元コード、二次元コード、又は、ＩＣタグに格納されたコードである、請求項１から９のいずれかに記載のリモートコードリーダシステム。
【請求項１１】
前記一次元コードは一次元バーコードであり、前記二次元コードはＱＲコード又はドットパターンで表されたコードであり、前記ＩＣタグはＲＦＩＤタグである、請求項１０記載のリモートコードリーダシステム。
【請求項１２】
請求項１から１１のいずれか一に記載のホストコンピュータ。
【請求項１３】
請求項１から１１のいずれか一に記載のコードリーダ。
【請求項１４】
コードを読み込むコードリーダを含むクライアントに固有の識別情報、及び、前記コードリーダが読み込んだ前記コードを、前記コードリーダ及びネットワークに接続された端末を介して、受信するステップと、
受信した前記識別情報をデコードして、当該識別情報に適合する機能を選択するステップと、
前記コード、又は、前記コード及び前記識別情報を、選択した前記機能に処理させるために、当該機能に与えるステップと、を含むコード収集処理方法。
【請求項１５】
コードを読み込むコードリーダを含むクライアントに固有の識別情報、及び、前記コードリーダが読み込んだ前記コードを、前記コードリーダ及びネットワークに接続された端末を介して、受信するステップと、
第１所定アルゴリズムに従って、受信した前記識別情報をデコードして、当該識別情報に適合する機能を選択するステップと、
第２所定アルゴリズムに従って、受信した前記コードをデコードするステップと、
前記コード、前記識別情報、及び、前記第２所定アルゴリズムによるデコードの結果のうち、少なくともデコードの結果を、選択した前記機能に処理させるために、当該機能に与えるステップと、を含むコード収集処理方法。
【請求項１６】
コードを読み込むコードリーダが読み込んだ前記コードを、前記コードリーダ及びネットワークに接続された端末を介して、受信するステップと、
受信した前記コードをデコードして、当該コードに適合する機能を選択するステップと、
前記コードを、選択した前記機能に処理させるために、当該機能に与えるステップと、を含むコード収集処理方法。
【請求項１７】
コードを読み込むコードリーダが読み込んだ前記コードを、前記コードリーダ及びネットワークに接続された端末を介して、受信するステップと、
第１所定アルゴリズムに従って、前記コードをデコードして、当該コードに適合する機能を選択するステップと、
第２所定アルゴリズムに従って、前記コードをデコードするステップと、
前記コード、及び、前記第２所定アルゴリズムによるデコードの結果のうち、少なくともデコードの結果を、選択した前記機能に処理させるために、当該機能に与えるステップと、を含むコード収集処理方法。
【請求項１８】
請求項１４から１７のいずれか一に記載のコード収集処理方法をコンピュータに実行させるためのコンピュータプログラム。
【請求項１９】
請求項１４から１７のいずれか一に記載のコード収集処理方法をコンピュータに実行させるためのコンピュータプログラムを記録したコンピュータ読取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コードリーダが読み込んだコード（例えばバーコード）をネットワークを介して収集及び処理するリモートコードリーダシステム及びその関連技術に関する。
【背景技術】
【０００２】
特許文献１には、バーコードリーダを用いた情報収集システムが開示されている。このバーコードリーダは、当該バーコードリーダを特定する識別データをバーコードデータに付加して、ＰＣに送出する。そして、ＰＣは、通信回線網を介して、これらのデータをホストコンピュータに送信する。
【０００３】
この場合、バーコードリーダの識別データがバーコードデータと共に、ホストコンピュータに与えられる。そして、ホストコンピュータは、バーコードリーダの識別データに関連付けて、そのユーザの個人情報を管理する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００１−３０６６２４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
このように、一般に、バーコードリーダの識別データは、ユーザの個人情報を管理するために利用される。しかし、本発明者は、バーコードリーダ等のクライアントの識別情報の新たな利用に着目した。
【０００６】
そこで、本発明の目的は、クライアントに割り当てられた固有の識別情報を、機能を選択するために利用して、コードリーダが読み込んだコード及び／又はそのデコード結果を、適切な機能に与えることができるリモートコードリーダシステム及びその関連技術を提供することである。
【課題を解決するための手段】
【０００７】
本発明の第１の観点によると、リモートコードリーダシステムは、コードを読み込むコードリーダと、ネットワークに接続されたサーバと、を備え、前記コードリーダを含むクライアントに固有の識別情報、及び、前記コードリーダが読み込んだ前記コードは、前記ネットワークに接続された端末を介して、前記サーバに送信され、前記サーバは、受信した前記識別情報をデコードして、当該識別情報に適合する機能を選択するデコード手段と、前記コード、又は、前記コード及び前記識別情報を、選択した前記機能に処理させるために、当該機能に与える提供手段と、を含む。
【０００８】
この構成によれば、クライアントの識別情報（例えば、コードリーダの識別情報、ユーザの識別情報、端末の識別情報、若しくは、端末にインストールされたソフトウェアの識別情報、又は、それらの二以上の組合せ）を、機能（例えば、本サーバにインストールされたＣＧＩ、他のサーバ、あるいは、それにインストールされたＣＧＩ）を選択するために利用して、コードリーダが読み込んだコードを、適切な機能に与えることができる。その結果、クライアントに応じた適切な機能が起動され、当該機能は、受け取ったコードに応じた情報処理を実行できる。
【０００９】
このリモートコードリーダシステムにおいて、前記デコード手段は、前記識別情報及び前記コードをデコードして、当該識別情報及び当該コードに適合する機能を選択する。
【００１０】
本発明の第２の観点によると、リモートコードリーダシステムは、コードを読み込むコードリーダと、ネットワークに接続されたサーバと、を備え、前記コードリーダを含むクライアントに固有の識別情報、及び、前記コードリーダが読み込んだ前記コードは、前記ネットワークに接続された端末を介して、前記サーバに送信され、前記サーバは、第１所定アルゴリズムに従って、受信した前記識別情報をデコードして、当該識別情報に適合する機能を選択する第１デコード手段と、第２所定アルゴリズムに従って、受信した前記コードをデコードする第２デコード手段と、前記コード、前記識別情報、及び、前記第２デコード手段によるデコードの結果のうち、少なくともデコードの結果を、選択した前記機能に処理させるために、当該機能に与える提供手段と、を含む。
【００１１】
この構成によれば、クライアント（例えば、コードリーダの識別情報、ユーザの識別情報、端末の識別情報、若しくは、端末にインストールされたソフトウェアの識別情報、又は、それらの二以上の組合せ）の識別情報を、機能（例えば、本サーバにインストールされたＣＧＩ、他のサーバ、あるいは、それにインストールされたＣＧＩ）を選択するために利用して、コードのデコード結果を、適切な機能に与えることができる。その結果、クライアントに応じた適切な機能が起動され、当該機能は、受け取ったデコード結果に応じた情報処理を実行できる。
【００１２】
このリモートコードリーダシステムにおいて、前記第１デコード手段は、前記第１所定アルゴリズムに従って、前記識別情報及び前記コードをデコードして、当該識別情報及び当該コードに適合する機能を選択する。
【００１３】
上記リモートコードリーダシステムにおいて、前記第２デコード手段は、前記第２所定アルゴリズムに従って、前記識別情報及び前記コードをデコードする。
【００１４】
上記第１及び第２の観点によるリモートコードリーダシステムにおいて、前記クライアントの前記識別情報は、前記コードリーダの識別情報、前記端末の識別情報、ユーザの識別情報、若しくは、前記端末にインストールされたソフトウェアの識別情報、または、それらの二以上の組合せである。
【００１５】
本発明の第３の観点によると、リモートコードリーダシステムは、コードを読み込むコードリーダと、ネットワークに接続されたサーバと、を備え、前記コードリーダが読み込んだ前記コードは、前記ネットワークに接続された端末を介して、前記サーバに送信され、前記サーバは、受信した前記コードをデコードして、当該コードに適合する機能を選択するデコード手段と、前記コードを、選択した前記機能に処理させるために、当該機能に与える提供手段と、を含む。
【００１６】
この構成によれば、コードリーダが読み込んだコードを、機能（例えば、本サーバにインストールされたＣＧＩ、他のサーバ、あるいは、それにインストールされたＣＧＩ）を選択するために利用して、当該コードを、適切な機能に与えることができる。その結果、コードに応じた適切な機能が起動され、当該機能は、受け取ったコードに応じた情報処理を実行できる。
【００１７】
本発明の第４の観点によると、リモートコードリーダシステムは、コードを読み込むコードリーダと、ネットワークに接続されたサーバと、を備え、前記コードリーダが読み込んだ前記コードは、前記ネットワークに接続された端末を介して、前記サーバに送信され、前記サーバは、第１所定アルゴリズムに従って、前記コードをデコードして、当該コードに適合する機能を選択する第１デコード手段と、第２所定アルゴリズムに従って、前記コードをデコードする第２デコード手段と、前記コード、及び、前記第２デコード手段によるデコードの結果のうち、少なくともデコードの結果を、選択した前記機能に処理させるために、当該機能に与える提供手段と、を含む。
【００１８】
この構成によれば、コードリーダが読み込んだコードを、機能（例えば、本サーバにインストールされたＣＧＩ、他のサーバ、あるいは、それにインストールされたＣＧＩ）を選択するために利用して、当該コードのデコード結果を、適切な機能に与えることができる。その結果、コードに応じた適切な機能が起動され、当該機能は、受け取ったデコード結果に応じた情報処理を実行できる。
【００１９】
上記第１〜第４の観点によるリモートコードリーダシステムにおいて、前記機能は、動的にサービスを提供する機能である。
【００２０】
上記第１〜第４の観点によるリモートコードリーダシステムにおいて、前記コードは、一次元コード、二次元コード、又は、ＩＣタグに格納されたコードである。例えば、前記一次元コードは一次元バーコードであり、前記二次元コードはＱＲコード又はドットパターンで表されたコードであり、前記ＩＣタグはＲＦＩＤタグである。
【００２１】
本発明の第５の観点によると、ホストコンピュータは、上記第１〜第４の観点によるリモートコードリーダシステムのホストコンピュータである。
【００２２】
本発明の第６の観点によると、コードリーダは、上記第１〜第４の観点によるリモートコードリーダシステムのコードリーダである。
【００２３】
本発明の第７の観点によると、コード収集処理方法は、コードを読み込むコードリーダを含むクライアントに固有の識別情報、及び、前記コードリーダが読み込んだ前記コードを、前記コードリーダ及びネットワークに接続された端末を介して、受信するステップと、受信した前記識別情報をデコードして、当該識別情報に適合する機能を選択するステップと、前記コード、又は、前記コード及び前記識別情報を、選択した前記機能に処理させるために、当該機能に与えるステップと、を含む。
【００２４】
この構成によれば、上記第１の観点によるリモートコードリーダシステムと同様の効果を奏する。
【００２５】
本発明の第８の観点によると、コード収集処理方法は、コードを読み込むコードリーダを含むクライアントに固有の識別情報、及び、前記コードリーダが読み込んだ前記コードを、前記コードリーダ及びネットワークに接続された端末を介して、受信するステップと、第１所定アルゴリズムに従って、受信した前記識別情報をデコードして、当該識別情報に適合する機能を選択するステップと、第２所定アルゴリズムに従って、受信した前記コードをデコードするステップと、前記コード、前記識別情報、及び、前記第２所定アルゴリズムによるデコードの結果のうち、少なくともデコードの結果を、選択した前記機能に処理させるために、当該機能に与えるステップと、を含む。
【００２６】
この構成によれば、上記第２の観点によるリモートコードリーダシステムと同様の効果を奏する。
【００２７】
本発明の第９の観点によると、コード収集処理方法は、コードを読み込むコードリーダが読み込んだ前記コードを、前記コードリーダ及びネットワークに接続された端末を介して、受信するステップと、受信した前記コードをデコードして、当該コードに適合する機能を選択するステップと、前記コードを、選択した前記機能に処理させるために、当該機能に与えるステップと、を含む。
【００２８】
この構成によれば、上記第３の観点によるリモートコードリーダシステムと同様の効果を奏する。
【００２９】
本発明の第１０の観点によると、コード収集処理方法は、コードを読み込むコードリーダが読み込んだ前記コードを、前記コードリーダ及びネットワークに接続された端末を介して、受信するステップと、第１所定アルゴリズムに従って、前記コードをデコードして、当該コードに適合する機能を選択するステップと、第２所定アルゴリズムに従って、前記コードをデコードするステップと、前記コード、及び、前記第２所定アルゴリズムによるデコードの結果のうち、少なくともデコードの結果を、選択した前記機能に処理させるために、当該機能に与えるステップと、を含む。
【００３０】
この構成によれば、上記第４の観点によるリモートコードリーダシステムと同様の効果を奏する。
【００３１】
本発明の第１１の観点によると、コンピュータプログラムは、上記第７〜第１０の観点によるコード収集処理方法をコンピュータに実行させるためのコンピュータプログラムである。
【００３２】
本発明の第１２の観点によると、記録媒体は、上記第７〜第１０の観点によるコード収集処理方法をコンピュータに実行させるためのコンピュータプログラムを記録したコンピュータ読取り可能な記録媒体である。
【００３３】
なお、記録媒体には、例えば、フレキシブルディスク、ハードディスク、磁気テープ、光磁気ディスク、ＣＤ（ＣＤ−ＲＯＭ、Ｖｉｄｅｏ−ＣＤを含む）、ＤＶＤ（ＤＶＤ−Ｖｉｄｅｏ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭを含む）、ＲＯＭカートリッジ、バッテリバックアップ付きのＲＡＭメモリカートリッジ、フラッシュメモリカートリッジ、不揮発性ＲＡＭカートリッジ等を含む。
【図面の簡単な説明】
【００３４】
【図１】本発明の実施の形態によるリモートバーコードリーダシステムの全体構成を示す図である。
【図２】（ａ）図１のバーコードリーダ１の一例を示す外観斜視図である。（ｂ）図２（ａ）のバーコードリーダ１の電気的構成を示す図である。（ｃ）図２（ｂ）のＭＣＵ２３に内蔵されたＲＯＭ２７に格納されたプログラム及びデータの概念図である。
【図３】図２（ｂ）のＭＣＵ２３が行う処理の流れの一例を示すフローチャートである。
【図４】（ａ）図３のステップＳ６１からデータを受信した端末３による処理の流れの一例を示すフローチャートである。（ｂ）図３のステップＳ６３からデータを受信した端末３による処理の流れの一例を示すフローチャートである。
【図５】端末３にインストールされたミドルウェアによる処理の流れの一例を示すフローチャートである。
【図６】（ａ）図１のホストコンピュータ７の電気的構成を示す図である。（ｂ）図１のホストコンピュータ７の記憶領域８１の構成を示す概念図である。
【図７】図１の端末３とホストコンピュータ７とＣＧＩ９−ｍとの間の通信手順の一例を示す図である。
【図８】（ａ）本発明の実施の形態の第１変形例のバーコードリーダ１が第２モードの場合の端末３による処理の流れの一例を示すフローチャートである。（ｂ）第１変形例のバーコードリーダ１が第２モードの場合の端末３のブラウザのプラグインよる処理の流れの一例を示すフローチャートである。
【図９】本発明の実施の形態の第２変形例におけるバーコードリーダ１からのデータ取得に競合が発生する場合の制御の説明図である。
【図１０】本発明の実施の形態の第３変形例における端末３による処理の流れの一例を示すフローチャートである。
【図１１】本発明の実施の形態の第４変形例における端末３による処理の流れの一例を示すフローチャートである。
【発明を実施するための形態】
【００３５】
以下、本発明の実施の形態について、図面を参照しながら説明する。なお、図中、同一または相当部分については同一の参照符号を付してその説明を援用する。
【００３６】
図１は、本発明の実施の形態によるリモートバーコードリーダシステムの全体構成を示す図である。図１を参照して、このリモートバーコードリーダシステムは、ホストコンピュータ（「センタサーバ」と呼ぶこともある。）７及び複数のバーコードリーダ１（図１では、1つのバーコードリーダ１のみを記載）を備える。なお、これらのバーコードリーダ１は、本システム専用である。
【００３７】
ここで、バーコードとは、バーコード情報及びバーコードパターンを包括した表現であって、これらを厳密に区別する必要のないときは、単にバーコードなる用語を使用する。別の観点から、バーコードとは、物（物品・不動産などの有体物、情報（映像、音声、プログラム、データを含む。）・サービスなどの無体物、商品、人・動物などの生物を含む。）、その他の何らかの手段により識別可能なものに割り当てられたコードのことである。
【００３８】
バーコード情報とは、数字、文字、及び記号等のキャラクタ列を意味する。バーコードパターンとは、バーコード情報を黒色バーと白色スペースとの組み合わせにより表現したパターンを意味する。なお、バーコード、バーコード情報、及びバーコードパターンには、同じ参照符合「１３」を付する。
【００３９】
さて、バーコードリーダ１は、バーコードパターン１３をスキャンして、バーコードパターン１３のデコード結果、つまり、バーコード情報１３と、当該バーコードリーダ１に固有に割り当てられた識別情報（以下、「ペンＩＤ」と呼ぶ。）と、を端末３に送信する。
【００４０】
端末３は、バーコードリーダ１から受信したペンＩＤ及びバーコード情報１３を、ネットワーク（例えば、インターネット、ＬＡＮ等）５を介して、ホストコンピュータ７に送信する。
【００４１】
ホストコンピュータ７は、所定のアルゴリズムに従って、受信したペンＩＤをデコードし、当該ペンＩＤに適合するＣＧＩ（Ｃｏｍｍｏｎ  Ｇａｔｅｗａｙ  Ｉｎｔｅｒｆａｃｅ）９−ｍ（ｍは整数）を選択する。なお、図中、「Ｍ」は、ＣＧＩの総数から１を減算した値である。そして、ホストコンピュータ７は、選択したＣＧＩ９−ｍに、受信したバーコード情報１３を送信する。なお、ＣＧＩ９−ｍは、ネットワーク９上に配置することもできるし、ホストコンピュータ７に配置することもできる。
【００４２】
バーコード情報１３を受け取ったＣＧＩ９−ｍは、そのバーコード情報１３に応じた情報処理を実行する。この場合の具体的な処理は、ＣＧＩ９−ｍの運営事業者等が任意かつ自由に企画設計するものであり、本リモートバーコードリーダシステムの関与するところではない。
【００４３】
次に、図１のバーコードリーダ１について具体例を挙げながら詳細に説明する。
【００４４】
図２（ａ）は、図１のバーコードリーダ１の一例を示す外観斜視図である。図２（ｂ）は、図２（ａ）のバーコードリーダ１の電気的構成を示す図である。図２（ｃ）は、図２（ｂ）のＭＣＵ２３に内蔵されたＲＯＭ２７に格納されたプログラム及びデータの概念図である。
【００４５】
図２（ａ）を参照して、このバーコードリーダ１は、ペン型のバーコードリーダである。図２（ｂ）を参照して、バーコードリーダ１は、スキャナ２１、ＭＣＵ２３及び通信装置２５を有する。スキャナ２１は、バーコードパターン１３を光学的に読み込み、バーとスペースを電気信号に変換する（スキャン）。スキャナ２１からの、バーコードパターン１３に応じた電気信号は、ＭＣＵ２３に与えられる。
【００４６】
ＭＣＵ２３は、ＣＰＵ（図示せず）、ＲＡＭ（図示せず）、Ａ／Ｄコンバータ、及び図２（ｃ）に示すＲＯＭ２７等を内蔵している。ＲＯＭ２７には、制御プログラム３３、キーボードデータ形式のホストコンピュータ７のアドレス（ホストアドレスと呼ぶこともある。）３５、キーボードデータ形式の端末３へのコマンド３７、キーボードデータ形式の識別情報（ペンＩＤ）３９、並びにその他必要なプログラム及びデータが格納される。なお、例えば、アドレス３５は、ホストコンピュータ７のＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）である。
【００４７】
コマンド３７は、端末３に対して、ブラウザを起動し、アドレス３５が示すホストコンピュータ７へアクセスすることを指示するコマンドである。例えば、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）がＷｉｎｄｏｗｓ（登録商標）の場合、Ｗｉｎｄｏｗｓ９８以降において、コマンド３７は、キーボードのＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）キー＋Ｒキーに相当するキーボードデータである。このコマンド３７により、Ｗｉｎｄｏｗｓでは、ブラウザ（Ｉｎｔｅｒｎｅｔ  Ｅｘｐｌｏｒｅｒ）が起動する。つまり、このコマンド３７は、ＯＳであるＷｉｎｄｏｗｓにおいて予め用意されているものである。なお、ＷｉｎｄｏｗｓのＧＵＩキーは、通称、Ｗｉｎｄｏｗｓキーと呼ばれるものである。Ｗｉｎｄｏｗｓのようにシェアが大きいＯＳに対するコマンド３７をバーコードリーダ１に格納し出力するので、簡易に、つまり、バーコードリーダ１を端末３に接続するだけで、大部分の端末３を本システムのために利用できる。このため、バーコードリーダ１は、複数のコマンドを予め格納し、端末３ごとにＯＳを認識して、そのＯＳに応じたコマンドを選択して使用するといった処理が不要になる。
【００４８】
ペンＩＤ３９は、バーコードリーダ１を識別するために割り当てられたユニークなコードである。
【００４９】
ＭＣＵ２３は、制御プログラム３３を実行する。それによって、ＭＣＵ２３は、バーコードパターン１３に応じた電気信号を解読して、バーコード情報１３を取得する。そして、ＭＣＵ２３は、キーボードデータ形式に変換したバーコード情報１３、並びに、ＲＯＭ２７に格納されたキーボードデータ形式のコマンド３７、ホストアドレス３５、及びペンＩＤ３９を、通信装置２５に与える。
【００５０】
通信装置２５は、例えば、ＵＳＢコントローラ等であり、ＭＣＵ２３から受け取ったキーボードデータ形式の出力用データ（コマンド３７、ホストアドレス３５、バーコード情報１３、及びペンＩＤ３９）を端末３に送信する。すると、端末３は、受信したコマンド３７に応答して、受信したホストアドレス３５に基づき、受信したバーコード情報１３及びペンＩＤ３９をネットワーク５を介してホストコンピュータ７へ送信する。
【００５１】
図３は、図２（ｂ）のＭＣＵ２３が行う処理の流れの一例を示すフローチャートである。図３を参照して、ステップＳ５１にて、バーコードリーダ１のＭＣＵ２３は、ユーザの操作に応答して、バーコードパターン１３をスキャンする。ステップＳ５３にて、ＭＣＵ２３は、周知のバーコード解読手法に基づいて、バーコードパターン１３を解読し、バーコード情報１３を取得する。ステップＳ５５にて、ＭＣＵ２３は、バーコード情報１３（例えば、「４５６０２５６５８００１６」）、ホストアドレス３５（例えば、「ｗｗｗ．ｓｓｄ．ｃｏ．ｊｐ」）、及びペンＩＤ３９（例えば、「１５５５５」）から、出力用データ（例えば、「ｗｗｗ．ｓｓｄ．ｃｏ．ｊｐ／？ｂｃ＝４５６０２５６５８００１６＆ｓｎ＝１５５５５」）を作成する。
【００５２】
ステップＳ５７にて、ＭＣＵ２３は、現在のモードを確認し、第１モードであればステップＳ５９に進み、第２モードであればステップＳ６３に進む。第１モードは、端末３に本システムのためのミドルウェアがインストールされていない場合、又は、インストールされていても起動していない場合のモードである。第２モードは、端末３に本システムのためのミドルウェアがインストールされ起動している場合のモードである。
【００５３】
なお、バーコードリーダ１のデフォルトのモードは、第１モードである。後述のように、端末３でミドルウェアが起動している場合に、そのミドルウェアによって、第２モードに切り替えられる。
【００５４】
さて、第１モードでは、ステップＳ５９にて、ＭＣＵ２３は、ステップＳ５５で作成した出力用データにコマンド３７を付加する。そして、ステップＳ６１にて、ＭＣＵ２３は、コマンド３７を付加した出力用データを、キーボードデータとして、第１インタフェースから端末３へ送信する。第１インタフェースは、第１モードのときの端末３とのインタフェースである。
【００５５】
一方、第２モードでは、ステップＳ６３にて、ＭＣＵ２３は、ステップＳ５５で作成した出力用データを、キーボードデータとして、第２インタフェースから端末３へ送信する。第２インタフェースは、第２モードのときの端末３とのインタフェースである。
【００５６】
次に、バーコードリーダ１から出力用データを受信した端末３での処理を説明する。
【００５７】
図４（ａ）は、図３のステップＳ６１からデータを受信した端末３による処理の流れの一例を示すフローチャートである。図４（ａ）を参照して、図３のステップＳ６１でＭＣＵ２３が出力用データを送信すると、ステップＳ８１にて、端末３の汎用キーボードドライバは、その出力用データをバーコードリーダ１の第１モードのインタフェースから受信する。そして、ステップＳ８３にて、端末３のＯＳは、受信した出力用データに含まれるコマンド３７によって、受信した出力用データに含まれるホストアドレス３５、ペンＩＤ３９及びバーコード１３を引数として、端末３のブラウザを起動する。すると、ステップＳ８５にて、起動したブラウザは、受け取ったホストアドレス３５に基づき、ホストコンピュータ７にアクセスして、ペンＩＤ３９及びバーコード１３をホストコンピュータ７に送信する。
【００５８】
さて、図４（ｂ）は、図３のステップＳ６３からデータを受信した端末３による処理の流れの一例を示すフローチャートである。なお、ミドルウェアは起動しているものとする。図４（ｂ）を参照して、図３のステップＳ６３でＭＣＵ２３が出力用データを送信すると、ステップＳ９１にて、端末３のＨＩＤ（Ｈｕｍａｎ  Ｉｎｔｅｒｆａｃｅ  Ｄｅｖｉｃｅ）準拠ドライバは、その出力用データをバーコードリーダ１の第２モードのインタフェースから受信する。そして、ステップＳ９３にて、端末３のミドルウェアは、ＨＩＤ準拠ドライバから出力用データを受信する。ステップＳ９５にて、ミドルウェアは、受信した出力用データに含まれるホストアドレス３５、ペンＩＤ３９及びバーコード１３を引数として、端末３のブラウザを起動する。すると、ステップＳ９７にて、起動したブラウザは、受け取ったホストアドレス３５に基づき、ホストコンピュータ７にアクセスして、ペンＩＤ３９及びバーコード１３をホストコンピュータ７に送信する。
【００５９】
なお、上記例において、バーコードリーダ１が送信するホストアドレス３５には、プロトコル「ｈｔｔｐ：／／」が付加されていないので、図４（ａ）及び図４（ｂ）の処理では、端末３のブラウザが、これをホストアドレス３５に付加する。また、図４（ａ）及び図４（ｂ）において、ブラウザが既に起動している場合は、起動は行われない。
【００６０】
次に、端末３にインストールされたミドルウェアの処理をもう少し詳しく説明する。
【００６１】
図５は、ミドルウェアによる処理の流れの一例を示すフローチャートである。なお、ミドルウェアが既に起動しているものとする。図５を参照して、端末３が起動すると、ステップＳ１２１にて、ミドルウェアは、ＨＩＤ準拠ドライバがバーコードリーダ１を検出したか否かを確認し、検出していない場合ステップＳ１２１に戻り、検出した場合ステップＳ１２３に進む。
【００６２】
ステップＳ１２３にて、ミドルウェアは、ＨＩＤ準拠ドライバを介して、バーコードリーダ１のモードを第２モードに切り替える。なお、バーコードリーダ１のデフォルトのモードは、第１モードである。ステップＳ１２５にて、ミドルウェアは、ＨＩＤ準拠ドライバがバーコードリーダ１の第２モードのインタフェースからデータを受信したか否か確認し、受信していない場合ステップＳ１２５に戻り、受信した場合ステップＳ１２７に進む。ステップＳ１２７にて、ミドルウェアは、ＨＩＤ準拠ドライバから、受信データを受け取る。そして、ステップＳ１２９にて、受信データに含まれるホストアドレス３５、ペンＩＤ３９、及びバーコード１３を引数として、ブラウザを起動する。そして、図４（ｂ）のステップＳ９７の処理が実行される。
【００６３】
なお、ステップＳ１２３で第２モードに切り替えられた後は、第２モードが保持され、電源オフや再起動されない限り、それ以降、ステップＳ１２１及びＳ１２３の処理は実行されない。ただし、ミドルウェアは、それが終了する場合、ＨＩＤ準拠ドライバを介して、バーコードリーダ１を第１モードに設定する。そして、ミドルウェアが再び起動されると、図５の処理が実行される。
【００６４】
次に、図１のホストコンピュータ７について具体例を挙げながら詳細に説明する。
【００６５】
図６（ａ）は、図１のホストコンピュータ７の電気的構成を示す図である。図６（ｂ）は、図１のホストコンピュータ７の記憶領域８１の構成を示す概念図である。
【００６６】
図６（ａ）を参照して、ホストコンピュータ７は、ＣＰＵ（中央演算処理装置）５１、メインメモリ５３、チップセット５５、ＧＰＵ（グラフィックスプロセシングユニット）５７、ＳＰＵ（サウンドプロセシングユニット）５９、ＨＤＤ（ハードディスクドライブ）６１、ドライブ６３、及び通信部６５を含む。
【００６７】
ＣＰＵ５１は、ＨＤＤ６１に格納されたコンピュータプログラムを実行して各種演算を行う。メインメモリ５３は、ＣＰＵ５１から直接読み書きが行われる高速のメモリである。ＧＰＵ５７は、グラフィックス処理を実行し、モニタ６７に映像信号を与える。ＳＰＵ５９は、サウンド処理を実行し、スピーカ６９に音声信号を与える。ＨＤＤ６１は、ＯＳやアプリケーションソフトウェア等のコンピュータプログラム並びにこれらが用いるデータを書き込むために用いる補助記憶装置である。ドライブ６３は、リムーバル記録媒体７５からデータを読み込んだり、書き込んだりする装置である。通信部６５は、ネットワーク９への接続を司るＬＡＮカードやＵＳＢコントローラなどを含み（図示せず）、通信を制御する。
【００６８】
ＣＰＵ５１、ＧＰＵ５７、ＳＰＵ５９、ＨＤＤ６１、ドライブ６３、通信部６５、キーボード７１、及びマウス７３といった機能ユニットは、チップセット５５に接続される。チップセット５５は、これに接続される機能ユニット間のデータの受け渡しを管理する。
【００６９】
なお、図１の端末３の電気的構成は、図４（ａ）のホストコンピュータ７の電気的構成と同様であり、説明を省略する。
【００７０】
さて、図６（ｂ）を参照して、ホストコンピュータ７のＨＤＤ６１の記憶領域８１は、プログラム格納部８３及びデータベース１１を備えている。
【００７１】
データベース１１は、ペンＩＤとＣＧＩとを関連付けたものであり、ペンＩＤから、それに関連付けられたＣＧＩを読み出すことができる。例えば、各バーコードリーダ１に割り当てるＣＧＩ９−ｍを予め決めて、データベース１１を作成し、それから、バーコードリーダ１を配布ないしは販売する。また、例えば、初回のアクセス時に、ユーザが、端末３を介して、ホストコンピュータ７が提供する所定のＷＥＢサイトから、所望のＣＧＩ９−ｍを選択し、それから、端末３からのペンＩＤとユーザが選択したＣＧＩ９−ｍとをデータベース１１に登録する。
【００７２】
プログラム格納部８３は、通信制御部８５、第１デコーダ８７、及び第２デコーダ８９−０，…，８９−ｍ，…，８９−Ｍを含む。第２デコーダ８９−０，…，８９−ｍ，…，８９−Ｍは、それぞれ、ＣＧＩ９−０，…，９−ｍ，…，９−Ｍに対応して起動される。
【００７３】
これらの各機能部は、ＨＤＤ６１にインストールされたコンピュータソフトウエアプログラム若しくは１つのプログラム中のサブルーチンである。これらのプログラムは、リムーバル記録媒体７５に格納され、これから、ホストコンピュータ７にインストールされる。これらの各機能部は、次のフローチャートを用いて説明される。
【００７４】
図７は、図１の端末３とホストコンピュータ７とＣＧＩ９−ｍとの間の通信手順の一例を示す図である。図７を参照して、ステップＳ１にて、端末３は、バーコードリーダ１から受け取ったペンＩＤ３９及びバーコード１３をホストコンピュータ７へ送信する（詳細は図４（ａ）及び図４（ｂ）参照）。
【００７５】
すると、ステップＳ３１にて、ホストコンピュータ７の通信制御部８５は、バーコード１３及びペンＩＤ３９を受信する。そして、ステップＳ３３にて、ホストコンピュータ７の第１デコーダ８７は、第１所定アルゴリズム（本実施の形態ではペンＩＤ３９に基づきデータベース１１を検索するためのアルゴリズム）に従って、ペンＩＤ３９をデコードして、バーコードリーダ１に適合するＣＧＩ９−ｍを選択する。即ち、第１デコーダ８７は、受信したペンＩＤ３９から、データベース１１を検索し、当該ペンＩＤ３９に関連付けられたＣＧＩ９−ｍの情報を取得する。
【００７６】
ステップＳ３５にて、第１デコーダ８７は、選択したＣＧＩ−ｍに対応する第２デコーダ８９−ｍに、受信したバーコード１３を渡す。すると、第２デコーダ８９−ｍは、選択されたＣＧＩ９−ｍに対応する第２所定アルゴリズムに従って処理を実行する。
【００７７】
例えば、選択したＣＧＩがＣＧＩ９−０の場合、ステップＳ３５にて、第１デコーダ８７は、バーコード１３を、第２デコーダ８９−０に渡す。すると、ステップＳ３７にて、第２デコーダ８９−０は、受け取ったバーコード１３をそのまま、通信制御部８５を介して、選択されたＣＧＩ９−０に送信する。この場合、第２所定アルゴリズムは、バーコード１３をそのままＣＧＩ９−０に送信するためのアルゴリズムである。
【００７８】
すると、ステップＳ１０１−０にて、ＣＧＩ９−０は、通信制御部８５からバーコード１３を受信する。そして、ステップＳ１０３−０にて、ＣＧＩ９−０は、バーコード１３に応じた処理を実行する。
【００７９】
また、例えば、選択したＣＧＩがＣＧＩ９−１の場合、ステップＳ３５にて、第１デコーダ８７は、バーコード１３を、第２デコーダ８９−１に渡す。すると、ステップＳ３９にて、第２デコーダ８９−１は、ＣＧＩ９−１に対応する第２所定アルゴリズムに従って、受け取ったバーコード１３をデコードする。この場合、第２所定アルゴリズムは、対応するＣＧＩ９−１に応じて設計ないしは提供される。そして、ステップＳ４１にて、第２デコーダ８９−１は、バーコード１３のデコード結果を、通信制御部８５を介して、ＣＧＩ９−１に送信する。
【００８０】
すると、ステップＳ１０１−１にて、ＣＧＩ９−１は、通信制御部８５からバーコード１３のデコード結果を受信する。そして、ステップＳ１０３−１にて、ＣＧＩ９−１は、バーコード１３のデコード結果に応じた処理を実行する。
【００８１】
なお、各ＣＧＩ９−ｍの具体的な処理は、各ＣＧＩ９−ｍの運営事業者等が任意かつ自由に企画設計するものであり、本リモートバーコードリーダシステムの関与するところではない。
【００８２】
さて、以上のように、本実施の形態によれば、ペンＩＤを、ＣＧＩ９−ｍを選択するために利用して、バーコードリーダ１が読み込んだバーコード１３及び／又はそのデコード結果を、適切なＣＧＩ９−ｍに与えることができる。その結果、バーコードリーダ１に応じた適切なＣＧＩ９−ｍが起動され、当該ＣＧＩ９−ｍは、受け取ったバーコード１３及び／又はそのデコード結果に応じた情報処理を実行できる。
【００８３】
（第１変形例）
【００８４】
上記実施の形態では、端末３にミドルウェアをインストールする例を示した。これに対して、本実施の形態の第１変形例では、上記ミドルウェアをインストールせずに、第１変形例におけるリモートコードリーダシステムのためのプラグインを端末３のブラウザに付加する。つまり、上記実施の形態と第１変形例とは、バーコードリーダ１とブラウザとの間を仲介するプログラムが異なる。その他の点は、上記実施の形態と同様である。従って、図１及び図７は、第１変形例にも同様に適用できる。また、第１変形例の端末３やホストコンピュータ７のハードウェア構成は、図６（ａ）及び図６（ｂ）と同じである。第１変形例のバーコードリーダ１のハードウェア構成は、図２（ａ）及び図２（ｂ）と同じである。以下、異なる点を中心に説明する。なお、このプラグインは、ＣＤ−ＲＯＭ等のリムーバル記録媒体やネットワーク５上のサーバ等から提供することができる。
【００８５】
第１変形例のバーコードリーダ１の処理は、図３の処理と同様である。ただし、第１変形例では、バーコードリーダ１の第１モードは、端末３のブラウザに本システムのためのプラグインが付加されていない場合、プラグインが付加されているブラウザが起動していない場合、又は、プラグインが付加されているブラウザが起動しているがインアクティブ（バックグラウンド）の場合のモードである。また、第２モードは、端末３のブラウザに本システムのためのプラグインが付加されており、かつ、ブラウザが起動していて、かつ、ブラウザがアクティブ（フォアグラウンド）な場合のモードである。
【００８６】
また、第１変形例のバーコードリーダ１が第１モードの場合の端末３の処理は、図４（ａ）の処理と同じである。
【００８７】
次に、第１変形例のバーコードリーダ１が第２モードの場合の端末３の処理を説明する。
【００８８】
図８（ａ）は、本発明の実施の形態の第１変形例における第２モードでの端末３による処理の流れの一例を示すフローチャートである。図８（ａ）を参照して、図３のステップＳ６３でＭＣＵ２３が出力用データを送信すると、ステップＳ１４１にて、端末３のＨＩＤ準拠ドライバは、その出力用データをバーコードリーダ１の第２モードのインタフェースから受信する。そして、ステップＳ１４３にて、端末３のブラウザに付加されたプラグインは、ＨＩＤ準拠ドライバから出力用データを受信する。
【００８９】
そして、ステップＳ１４５にて、プラグインは、受信した出力用データに含まれるホストアドレス３５、ペンＩＤ３９及びバーコード１３を引数として、ブラウザを制御する。
【００９０】
例えば、プラグインは、ブラウザに対して、ホストアドレス３５が示すホストコンピュータ７にアクセスさせ、ペンＩＤ３９及びバーコード１３をホストコンピュータ７に送信させる。その後のホストコンピュータ７及びＣＧＩ９−ｍの処理は、図７に示したものと同様である。
【００９１】
また、例えば、プラグインは、ブラウザに対して、ペンＩＤ３９及び／又はバーコード１３を渡し、ブラウザに、ペンＩＤ３９及び／又はバーコード１３を用いた処理をローカル（端末３）で実行させる。この場合、例えば、ブラウザは、それ自身の機能、Ｊａｖａ（登録商標）Ｓｃｒｉｐｔ等のスクリプト、Ｊａｖａ（登録商標）アプレット、あるいは、Ｆｌａｓｈ（登録商標）プレイヤ等のプラグインを実行して、ペンＩＤ３９及び／又はバーコード１３に応じた処理を実行する。
【００９２】
次に、ブラウザに付加されたプラグインの処理をもう少し詳しく説明する。
【００９３】
図８（ｂ）は、第１変形例における第２モードでのプラグインよる処理の流れの一例を示すフローチャートである。なお、ブラウザはインアクティブな状態であるとする。図８（ｂ）を参照して、ステップＳ１６１にて、プラグインは、ＨＩＤ準拠ドライバがバーコードリーダ１を検出したか否かを確認し、検出していない場合ステップＳ１６１に戻り、検出した場合ステップＳ１６３に進む。
【００９４】
ステップＳ１６３にて、プラグインは、ＨＩＤ準拠ドライバを介して、バーコードリーダ１のモードを第２モードに切り替える。なお、バーコードリーダ１のデフォルトのモードは、第１モードである。ステップＳ１６５にて、プラグインは、ＨＩＤ準拠ドライバがバーコードリーダ１の第２モードのインタフェースからデータを受信したか否か確認し、受信していない場合ステップＳ１６５に戻り、受信した場合ステップＳ１６７に進む。ステップＳ１６７にて、プラグインは、ＨＩＤ準拠ドライバから、受信データを受け取る。そして、ステップＳ１６９にて、プラグインは、受信データに含まれるホストアドレス３５、ペンＩＤ３９、及びバーコード１３を引数として、ブラウザを制御する。
【００９５】
なお、ステップＳ１６３で第２モードに切り替えられた後は、第２モードが保持され、電源オフや再起動されない限り、それ以降、ステップＳ１６１及びＳ１６３の処理は実行されない。ただし、プラグインは、ブラウザが終了した場合、又は、インアクティブになった場合、ＨＩＤ準拠ドライバを介して、バーコードリーダ１を第１モードに設定する。そして、ブラウザが再びアクティブになると、図８（ｂ）の処理が実行される。
【００９６】
以上により、第１変形例は、上記実施の形態と同様の効果を奏する。
【００９７】
（第２変形例）
【００９８】
本実施の形態の第２変形例では、端末３に上記ミドルウェアがインストールされ、かつ、端末３のブラウザに上記プラグインが付加される。従って、バーコードリーダ１からのデータ取得に競合が発生する場合があり、いずれか一方を有効にする。第２変形例では、そのための制御が要求される。その他の点は、上記実施の形態と同様である。従って、図１及び図７は、第２変形例にも同様に適用できる。また、第２変形例の端末３やホストコンピュータ７のハードウェア構成は、図６（ａ）及び図６（ｂ）と同じである。第２変形例のバーコードリーダ１のハードウェア構成は、図２（ａ）及び図２（ｂ）と同じである。以下、異なる点を中心に説明する。
【００９９】
第２変形例のバーコードリーダ１の処理は、図３の処理と同様である。ただし、第２変形例では、バーコードリーダ１の第１モード及び第２モードは次のようになる。モードの説明の前に、いくつかの状態を定義する。第１状態は、端末３のブラウザに本システムのためのミドルウェアがインストールされていない状態である。第２状態は、端末３にミドルウェアがインストールされているが起動していない状態である。第３状態は、ブラウザにプラグインが付加されていない状態である。第４状態は、プラグインが付加されているブラウザが起動していない状態である。
【０１００】
このように定義した場合、第１モードは、第１状態かつ第３状態の場合、第１状態かつ第４状態の場合、第２状態かつ第３状態の場合、又は、第２状態かつ第４状態の場合である。
【０１０１】
また、第２モードは、端末３にミドルウェアがインストールされて起動している場合、又は、プラグインが付加されているブラウザが起動していて、かつ、ブラウザがアクティブな場合のモードである。
【０１０２】
また、第２変形例のバーコードリーダ１が第１モードの場合の端末３の処理は、図４（ａ）の処理と同じである。
【０１０３】
次に、第２変形例のバーコードリーダ１が第２モードの場合の端末３の処理を説明する。この場合、端末３のミドルウェア及びプラグインのいずれか一方が有効になる（詳細は後述）。従って、ミドルウェアが有効な場合は、第２モードの端末３の処理は、図４（ｂ）及び図５と同じである。一方、プラグインが有効な場合は、第２モードの端末３の処理は、図８（ａ）及び図８（ｂ）と同じである。
【０１０４】
次に、第２モードにおいて、ミドルウェアとプラグインとが競合する場合の制御について説明する。
【０１０５】
図９は、本発明の実施の形態の第２変形例におけるバーコードリーダ１からのデータ取得に競合が発生する場合の制御の説明図である。なお、ミドルウェアは起動しているものとする。図９を参照して、ある時刻ｔ０になる前では、ブラウザは起動していないか、あるいは、起動していてもインアクティブ（バックグラウンド）であるとする。この場合は、第２モードにおいて、ミドルウェアがアクティブ（有効）になり、上記処理を実行する。
【０１０６】
そして、時刻ｔ０において、ブラウザが起動し、かつ、アクティブ（フォアグラウンド）になったとする。この場合、ブラウザに付加されたプラグインもアクティブ（有効）になり、上記処理を実行する。ただし、この時点では、ミドルウェアも有効であり、競合を排除する必要がる。このため、プラグインは、アクティブになると、ミューテックス（Ｍｕｔｅｘ）機構により、ミドルウェアをロックする。これにより、ミドルウェアはインアクティブになる。
【０１０７】
さらに、時刻ｔ１において、ブラウザが起動しているがインアクティブになると、プラグインは、ミューテックス機構により、ミドルウェアをアンロック（解除）して、自らはインアクティブになる。これにより、ミドルウェアは、アクティブになり上記処理を実行する。
【０１０８】
そして、さらに、時刻ｔ２において、ブラウザが終了すると、プラグインも同時に終了する。ただし、ミドルウェアはアンロックされたままであるので、ブラウザが起動され、かつ、アクティブになるまで、ミドルウェアは引き続き、上記処理を実行する。
【０１０９】
なお、ミューテックスは、相互排他（Ｍｕｔｕａｌ  Ｅｘｃｌｕｓｉｏｎ）のことである。
【０１１０】
ところで、プラグインが付加されたブラウザがインアクティブ若しくは終了する際に（例えば時刻ｔ０、ｔ１）、ミドルウェアが起動していない場合は、プラグインは、ＨＩＤ準拠ドライバを介して、バーコードリーダ１を第１モードに設定する。一方、ミドルウェアが終了する際に、プラグインが付加されたブラウザがインアクティブ若しくは起動していない場合、ミドルウェアは、ＨＩＤ準拠ドライバを介して、バーコードリーダ１を第１モードに設定する。
【０１１１】
以上により、第２変形例は、上記実施の形態と同様の効果を奏する。
【０１１２】
（第３変形例）
【０１１３】
図１を参照して、実施の形態の第３変形例の概要を説明する。バーコードリーダ１は、バーコードパターン１３をスキャンして、バーコード情報１３及びペンＩＤ（任意）を端末３に送信する。端末３は、当該端末３を識別するための情報（以下、「端末ＩＤ」と呼ぶ。）、並びに、バーコードリーダ１から受信したペンＩＤ（任意）及びバーコード情報１３を、ネットワーク５を介して、ホストコンピュータ７に送信する。なお、端末ＩＤは、ホストコンピュータ７が端末３を識別するための情報である。
【０１１４】
ホストコンピュータ７は、所定のアルゴリズムに従って、受信した端末ＩＤをデコードし、当該端末ＩＤに適合するＣＧＩ９−ｍを選択する。そして、ホストコンピュータ７は、選択したＣＧＩ９−ｍに、受信したバーコード情報１３を送信する。
【０１１５】
バーコード情報１３を受け取ったＣＧＩ９−ｍは、そのバーコード情報１３に応じた情報処理を実行する。この場合の具体的な処理は、ＣＧＩ９−ｍの運営事業者等が任意かつ自由に企画設計するものであり、本リモートバーコードリーダシステムの関与するところではない。
【０１１６】
以下、上記実施の形態と異なる点を中心に詳細に説明していく。
【０１１７】
第３変形例のバーコードリーダ１は、上記実施の形態の第１モードを有しておらず、第２モードに固定され、かつ、端末３には上記ミドルウェアがインストールされているものとする。
【０１１８】
また、第３変形例の端末３のハードウェア構成は、図６（ａ）と同じである。また、第３変形例のバーコードリーダ１のハードウェア構成は、図２（ａ）と同じである。ただし、ＲＯＭ２７に、コマンド３７は格納されない。また、ペンＩＤ３９は、ＲＯＭ２７に格納されてもよいし、格納されなくてもよく、任意である。
【０１１９】
第３変形例のバーコードリーダ１の処理は、図３の処理と同様である。ただし、バーコードリーダ１は第２モードのみを搭載するので、ステップＳ５７，Ｓ５９及びＳ６１は実行されず、ステップＳ５５の後は、ステップＳ６３が実行される。
【０１２０】
次に、第３変形例の端末３の処理を説明する。
【０１２１】
図１０は、本発明の実施の形態の第３変形例における端末３による処理の流れの一例を示すフローチャートである。図１０を参照して、ステップＳ２０１及びステップＳ２０３の処理は、それぞれ、図４（ｂ）のステップＳ９１及びＳ９３の処理と同様であり、説明を省略する。さて、ステップＳ２０５にて、ミドルウェアは、端末ＩＤを作成する。具体的には、ミドルウェアは、端末３を構成する所定の１のハードウェアの情報を端末ＩＤとし、又は、端末３を構成する所定の複数のハードウェアの情報を収集して、それらを結合し、端末ＩＤとする。
【０１２２】
例えば、ハードウェアの情報は、ディスプレイアダプタのプロダクトＩＤ及び／又はシリアル番号、ＳＣＳＩアダプタのプロダクトＩＤ及び／又はシリアル番号、ＩＤＥアダプタ（ＩＤＥコントローラ）のプロダクトＩＤ及び／又はシリアル番号、ＬＡＮアダプタのＭＡＣアドレス、メインメモリのサイズ、ＣＰＵのタイプ、ＣＰＵのシリアル番号、ＨＤＤのタイプ、ＨＤＤのシリアル番号、並びに、ＣＤ−ＲＯＭ／ＣＤ−Ｒ／ＤＶＤ−ＲＯＭ等のタイプである。
【０１２３】
さて、ステップＳ２０７にて、ミドルウェアは、受信した出力用データに含まれるホストアドレス３５、ペンＩＤ３９（もし含まれるならば）及びバーコード１３、並びに、端末ＩＤを引数として、端末３のブラウザを起動する。すると、ステップＳ２０９にて、起動したブラウザは、受け取ったホストアドレス３５に基づき、ホストコンピュータ７にアクセスして、ペンＩＤ３９（もし含まれるならば）、バーコード１３、及び端末ＩＤをホストコンピュータ７に送信する。
【０１２４】
次に、ホストコンピュータ７の構成及び処理について説明する。第３変形例のホストコンピュータ７のハードウェア構成は、図６（ａ）及び図６（ｂ）と同様である。ただし、データベース１１は、端末ＩＤとＣＧＩ９−ｍとを関連付けたものである。例えば、初回のアクセス時に、ユーザが、端末３を介して、ホストコンピュータ７が提供する所定のＷＥＢサイトから、所望のＣＧＩ９−ｍを選択し、それから、端末３からの端末ＩＤとユーザが選択したＣＧＩ９−ｍとをデータベース１１に登録する。
【０１２５】
また、例えば、初回のアクセス時に、ユーザが、端末３を介して、ホストコンピュータ７が提供する所定のＷＥＢサイトから、所望のＣＧＩ９−ｍを選択し、さらに、ホストコンピュータ７が、端末ＩＤを作成し、それから、ホストコンピュータ７が作成した端末ＩＤとユーザが選択したＣＧＩ９−ｍとをデータベース１１に登録し、当該端末ＩＤを端末３のミドルウェアに送信する。また、例えば、各ミドルウェアに割り当てるＣＧＩ９−ｍを予め決めて、ミドルウェアの識別情報とＣＧＩ９−ｍとを関連付けたデータベース１１を作成し、それから、ミドルウェアを配布ないしは販売する。この場合、ミドルウェアの識別情報が、端末ＩＤとして使用される。なお、ミドルウェアの識別情報は、ネットワーク５を介して、ホストコンピュータ７から取得、または、ミドルウェアに予め持たせておく。また、下記第４変形例では、これらの例において、ミドルウェアをプラグインと読み替える。
【０１２６】
第３変形例における端末３とホストコンピュータ７とＣＧＩ９−ｍとの間の通信手順は、図７の説明において、「ペンＩＤ３９」を「端末ＩＤ」と読み替えることにより説明される。
【０１２７】
つまり、ステップＳ１にて、端末３は、バーコードリーダ１から受け取ったペンＩＤ３９（任意）及びバーコード１３、並びに、端末ＩＤをホストコンピュータ７へ送信する。
【０１２８】
すると、ステップＳ３１にて、ホストコンピュータ７の通信制御部８５は、バーコード１３及びペンＩＤ３９（任意）並びに端末ＩＤを受信する。そして、ステップＳ３３にて、ホストコンピュータ７の第１デコーダ８７は、第１所定アルゴリズム（本実施の形態では端末ＩＤに基づきデータベース１１を検索するためのアルゴリズム）に従って、端末ＩＤをデコードして、バーコードリーダ１に適合するＣＧＩ９−ｍを選択する。即ち、第１デコーダ８７は、受信した端末ＩＤから、データベース１１を検索し、当該端末ＩＤに関連付けられたＣＧＩ９−ｍの情報を取得する。
【０１２９】
ステップＳ３５にて、第１デコーダ８７は、選択したＣＧＩ−ｍに対応する第２デコーダ８９−ｍに、受信したバーコード１３を渡す。すると、第２デコーダ８９−ｍは、選択されたＣＧＩ９−ｍに対応する第２所定アルゴリズムに従って処理を実行する。第３変形例の第２デコーダ８９−ｍの処理及びＣＧＩ９−ｍの処理は、上記実施の形態と同じである。
【０１３０】
さて、以上のように、本実施の形態の第３変形例によれば、端末ＩＤを、ＣＧＩ９−ｍを選択するために利用して、バーコードリーダ１が読み込んだバーコード１３及び／又はそのデコード結果を、適切なＣＧＩ９−ｍに与えることができる。その結果、端末３に応じた適切なＣＧＩ９−ｍが起動され、当該ＣＧＩ９−ｍは、受け取ったバーコード１３及び／又はそのデコード結果に応じた情報処理を実行できる。
【０１３１】
（第４変形例）
【０１３２】
本発明の実施の形態の第４変形例は、第３変形例のミドルウェアの処理をブラウザに付加されたプラグインが実行する。従って、第４変形例は、端末３での処理主体が第３変形例と異なる。以下、異なる点を中心に説明する。
【０１３３】
図１１は、本発明の実施の形態の第４変形例における端末３による処理の流れの一例を示すフローチャートである。図１１を参照して、ステップＳ２２１及びステップＳ２２３の処理は、それぞれ、図８（ａ）のステップＳ１４１及びＳ１４３の処理と同様であり、説明を省略する。さて、ステップＳ２２５にて、プラグインは、端末ＩＤを作成する。作成方法は、図１０のステップＳ２０５と同じである。ステップＳ２２７にて、プラグインは、受信した出力用データに含まれるホストアドレス３５、ペンＩＤ３９（もし含まれるならば）及びバーコード１３、並びに、端末ＩＤを引数として、端末３のブラウザを制御する。この場合のブラウザの制御の例は、図８（ａ）のステップＳ１４５で挙げたものと同じである。ただし、第４変形例では、ペンＩＤ３９（任意）及びバーコード１３に加えて、端末ＩＤが利用される。なお、これらをホストコンピュータ７に送信する制御を行う場合、ホストコンピュータ７及びＣＧＩ９−ｍの処理は、第３変形例と同様である。
【０１３４】
以上により、第４変形例は、上記第３変形例と同様の効果を奏する。
【０１３５】
（第５変形例）
【０１３６】
本発明の実施の形態の第５変形例では、端末３に第３変形例のミドルウェアがインストールされ、端末３のブラウザに第４変形例のプラグインが付加されている。従って、第５変形例のミドルウェア及びプラグインの処理は、それぞれ、第３変形例のミドルウェア及び第４変形例のプラグインと同様である。
【０１３７】
ただし、上記第２変形例と同様に競合の問題が発生するので、上記第２変形例と同じ手段で競合を回避する。
【０１３８】
以上により、第５変形例は、上記第３変形例と同様の効果を奏する。
【０１３９】
（第６変形例）
【０１４０】
本発明の実施の形態の第６変形例は、上記第３変形例の端末ＩＤの代わりに、ユーザを識別する情報（以下、「ユーザＩＤ」と呼ぶ。）を使用する。従って、第６変形例では、図１０のステップＳ２０５にて、ミドルウェアは、ユーザＩＤをＨＤＤから取得する。そして、ステップＳ２０７にて、ミドルウェアは、受信した出力用データに含まれるホストアドレス３５、ペンＩＤ３９（もし含まれるならば）及びバーコード１３、並びに、ユーザＩＤを引数として、端末３のブラウザを起動する。すると、ステップＳ２０９にて、起動したブラウザは、受け取ったホストアドレス３５に基づき、ホストコンピュータ７にアクセスして、ペンＩＤ３９（もし含まれるならば）、バーコード１３、及びユーザＩＤをホストコンピュータ７に送信する。
【０１４１】
また、第６変形例では、図６（ｂ）のデータベース１１は、ユーザＩＤとＣＧＩ９−ｍとを関連付ける。例えば、初回のアクセス時に、ユーザが、端末３を介して、ホストコンピュータ７が提供する所定のＷＥＢサイトから、所望のＣＧＩ９−ｍを選択し、それから、ユーザＩＤとユーザが選択したＣＧＩ９−ｍとをデータベース１１に登録する。この場合、例えば、ユーザがユーザＩＤを端末３に入力してホストコンピュータ７に与えることもできるし、ホストコンピュータ７がユーザＩＤを作成することもできる。そして、ホストコンピュータ７が端末３のミドルウェア（下記第７変形例ではプラグイン）にユーザＩＤを与える。
【０１４２】
また、例えば、各ミドルウェアに割り当てるＣＧＩ９−ｍを予め決めて、ミドルウェアの識別情報とＣＧＩ９−ｍとを関連付けたデータベース１１を作成し、それから、ミドルウェアを配布ないしは販売する。この場合、ミドルウェアの識別情報が、ユーザＩＤとして使用される。なお、ミドルウェアの識別情報は、ネットワーク５を介して、ホストコンピュータ７から取得、または、ミドルウェアに予め持たせておく。また、下記第７変形例では、この例において、ミドルウェアをプラグインと読み替える。
【０１４３】
さて、第６変形例における端末３とホストコンピュータ７とＣＧＩ９−ｍとの間の通信手順は、第３変形例における図７の説明において、「端末ＩＤ」を「ユーザＩＤ」と読み替える。
【０１４４】
さて、以上のように、本実施の形態の第６変形例によれば、ユーザＩＤを、ＣＧＩ９−ｍを選択するために利用して、バーコードリーダ１が読み込んだバーコード１３及び／又はそのデコード結果を、適切なＣＧＩ９−ｍに与えることができる。その結果、ユーザＩＤに応じた適切なＣＧＩ９−ｍが起動され、当該ＣＧＩ９−ｍは、受け取ったバーコード１３及び／又はそのデコード結果に応じた情報処理を実行できる。
【０１４５】
（第７変形例）
【０１４６】
本発明の実施の形態の第７変形例は、上記第４変形例の端末ＩＤの代わりに、ユーザＩＤを使用する。従って、第７変形例では、図１１のステップＳ２２５にて、プラグインは、ユーザＩＤをＨＤＤから取得する。そして、ステップＳ２２７にて、プラグインは、受信した出力用データに含まれるホストアドレス３５、ペンＩＤ３９（もし含まれるならば）及びバーコード１３、並びに、ユーザＩＤを引数として、端末３のブラウザを制御する。この場合のブラウザの制御の例は、図８（ａ）のステップＳ１４５で挙げたものと同じである。ただし、第７変形例では、ペンＩＤ３９（任意）及びバーコード１３に加えて、ユーザＩＤが利用される。なお、これらをホストコンピュータ７に送信する制御を行う場合、ホストコンピュータ７及びＣＧＩ９−ｍの処理は、第６変形例と同様である。また、ユーザＩＤの入力例は、第６変形例と同じである。
【０１４７】
以上により、第７変形例は、上記第６変形例と同様の効果を奏する。
【０１４８】
（第８変形例）
【０１４９】
本発明の実施の形態の第８変形例は、上記第５変形例の端末ＩＤの代わりに、ユーザＩＤを使用する。従って、第８変形例では、端末３に第６変形例のミドルウェアがインストールされ、端末３のブラウザに第７変形例のプラグインが付加されている。この場合、第８変形例のミドルウェア及びプラグインの処理は、それぞれ、第６変形例のミドルウェア及び第７変形例のプラグインと同様である。
【０１５０】
ただし、上記第２変形例と同様に競合の問題が発生するので、上記第２変形例と同じ手段で競合を回避する。
【０１５１】
以上により、第８変形例は、上記第６変形例と同様の効果を奏する。
【０１５２】
さて、以上のように、本実施の形態及びその第１〜第８変形例によれば、クライアント（バーコードリーダ１、ユーザ、端末３、及び、端末３にインストールされたソフトウェアを総称）の識別情報（ペンＩＤ、ユーザＩＤ、端末ＩＤ、若しくは、端末３にインストールされたソフトウェア（ミドルウェア又はプラグイン）の識別情報）を、機能（例えば、ホストコンピュータ７にインストールされたＣＧＩ９−ｍ、他のサーバ、あるいは、それにインストールされたＣＧＩ９−ｍ）を選択するために利用して、バーコードリーダ１が読み込んだバーコード１３及び／又はそのデコード結果を、適切な機能に与えることができる。その結果、クライアントに応じた適切な機能が起動され、当該機能は、受け取ったバーコード１３及び／又はそのデコード結果に応じた情報処理を実行できる。
【０１５３】
なお、本発明は、上記の実施の形態に限られるものではなく、その要旨を逸脱しない範囲で種々の態様において実施することが可能であり、例えば、以下のような変形も可能である。
【０１５４】
（１）上記第３〜第５変形例では、端末ＩＤを利用し、上記第６〜第８変形例では、ユーザＩＤを利用したが、これらの変形例において、端末ＩＤ及びユーザＩＤ、端末ＩＤ及びペンＩＤ、ユーザＩＤ及びペンＩＤ、又は、端末ＩＤ、ユーザＩＤ、及びペンＩＤを利用して、ＣＧＩ９−ｍを選択することもできる。端末ＩＤ及びユーザＩＤを利用する場合、データベース１１では、端末ＩＤ及びユーザＩＤと、ＣＧＩ９−ｍと、が関連付けられる。端末ＩＤ及びペンＩＤを利用する場合、データベース１１では、端末ＩＤ及びペンＩＤと、ＣＧＩ９−ｍと、が関連付けられる。ユーザＩＤ及びペンＩＤを利用する場合、データベース１１では、ユーザＩＤ及びペンＩＤと、ＣＧＩ９−ｍと、が関連付けられる。端末ＩＤ、ユーザＩＤ、及びペンＩＤを利用する場合、データベース１１では、端末ＩＤ、ユーザＩＤ、及びペンＩＤと、ＣＧＩ９−ｍと、が関連付けられる。
【０１５５】
（２）上記実施の形態において、バーコードリーダ１が第１モードのみを有し、ドライバ及びミドルウェアをインストールしないことも可能である。また、上記実施の形態及び第１〜第８変形例において、バーコードリーダ１が第２モードのみを有していてもよい。この場合は、バーコードリーダ１は、コマンド３７を格納する必要はない。
【０１５６】
上記では、ホストアドレス３５は、バーコードリーダ１から端末３に与えられた。ただし、端末３が、予めホストアドレス３５を持っていてもよいし、ユーザが入力することもできる。この場合は、バーコードリーダ１は、ホストアドレス３５を格納する必要はない。また、上記第３〜第８変形例では、ペンＩＤは任意である。従って、ペンＩＤを利用しない場合、バーコードリーダ１は、ペンＩＤを格納する必要はない。
【０１５７】
上記第３〜第８変形例において、バーコードリーダ１が第２モードのみを有し、端末３が予めホストアドレス３５を持ち、ペンＩＤを利用しない場合は、本システムに専用のバーコードリーダ１は不要であり（もちろん使うことも可能）、一般的な汎用のバーコードリーダを使用することができる。例えば、本システム専用に設計及び製造されたものではない、一般的なＰＯＳ（Ｐｏｉｎｔ  Ｏｆ  Ｓａｌｅ）システムのために設計及び製造されたバーコードリーダを使用できる。
【０１５８】
（３）上記では、ドライバやミドルウェアがブラウザを制御して、ホストコンピュータ７へバーコード１３等を送信した。ただし、上記ドライバやミドルウェアの機能に加えて、通信機能を有する専用のソフトウェアを端末３にインストールし、ブラウザを介さずに処理をすることもできる。
【０１５９】
（４）上記では、ホストコンピュータ７及びＣＧＩ９−ｍに送信する情報として、バーコード１３を採用したが、これに限定されない。例えば、ＲＦＩＤ（Ｒａｄｉｏ  Ｆｒｅｑｕｅｎｃｙ  Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ  Ｓｙｓｔｅｍ）タグ等の電子タグ（ＩＣタグ）を利用できる。ただし、この場合には、バーコードリーダ１に代えて、電子タグリーダ（ＩＣタグリーダ）で電子タグに格納された情報（コード）を読み込む。電子タグリーダには、上記実施の形態、若しくは、上記第１〜第８変形例の、バーコードスキャン以外の機能を搭載する。この場合、ペンＩＤの代わりに、電子タグリーダの識別情報を使用する。
【０１６０】
また、上記では、一次元コードである一次元バーコードを利用したが、二次元コードである二次元バーコードやＱＲコード等を利用することもできる。また、二次元コードとして、人間には見え難いドットパターンにより表されたコードを利用することもできる。
【０１６１】
（５）バーコードリーダ１として、携帯電話機のカメラを利用したバーコード認識機能を利用することもできる。ＱＲコードの認識についても同様である。この場合、携帯電話機には、上記実施の形態、若しくは、上記第１〜第８変形例の、端末３及びバーコードリーダ１の機能を搭載する。また、この場合、ペンＩＤの代わりに、携帯電話機の識別情報を使用する。
【０１６２】
（６）上記では、ホストコンピュータ７は、バーコード１３又はそのデコード結果をＣＧＩ９−ｍに渡した。ただし、バーコード１３及びそのデコード結果の双方を渡すこともできる。また、ホストコンピュータ７は、バーコード１３、バーコード１３のデコード結果、又は、バーコード１３及びそのデコード結果と共に、ペンＩＤ、端末ＩＤ、若しくは、ユーザＩＤ、または、それらの二以上の組合せを、ＣＧＩ９−ｍに渡すこともできる。
【０１６３】
（７）上記では、ホストコンピュータ７は、ペンＩＤ、端末ＩＤ、若しくは、ユーザＩＤ、または、それらの二以上の組合せに基づいて、ＣＧＩ９−ｍを選択した。ただし、これらを使用せずに、ホストコンピュータ７は、バーコード１３に基づいて、ＣＧＩ９−ｍを選択して、選択したＣＧＩ９−ｍに、バーコード１３及び／又はバーコード１３のデコード結果（図７のステップＳ３９）を渡すこともできる。
【０１６４】
このように、バーコードリーダ１が読み込んだバーコード１３を、機能（例えば、ホストコンピュータ７にインストールされたＣＧＩ９−ｍ、他のサーバ、あるいは、それにインストールされたＣＧＩ９−ｍ）を選択するために利用して、当該バーコード１３及び／又はそのデコード結果を、適切な機能に与えることができる。その結果、バーコード１３に応じた適切な機能が起動され、当該機能は、受け取ったバーコード１３及び／又はそのデコード結果に応じた情報処理を実行できる。
【０１６５】
なお、ホストコンピュータ７は、ペンＩＤ、端末ＩＤ、ユーザＩＤ、若しくは、バーコード１３、又は、それらの二以上の組合せに基づいて、ＣＧＩ９−ｍを選択することもできる。また、ホストコンピュータ７は、図７のステップＳ３９にて、ペンＩＤ、端末ＩＤ、ユーザＩＤ、若しくは、バーコード１３、又は、それらの二以上の組合せをデコードして、結果をＣＧＩ９−ｍに送信することもできる。
【０１６６】
（８）ＣＧＩはクライアントに動的なサービスを提供する機能の一例であり、これに限定されない。例えば、ＡＳＰ（Ａｃｔｉｖｅ  Ｓｅｒｖｅｒ  Ｐａｇｅｓ）であってもよい。
【０１６７】
（９）ホストコンピュータ７は、物理的に１つのコンピュータで構成することもできるし、処理を複数のコンピュータに分散させて構成することもできる。もちろん、分散処理する場合の各コンピュータの設置場所は、同一国内でもよいし、複数国に分散して設置してもよい。なお、ホストコンピュータ７は、ハードウェア及びソフトウェアを含む概念として使用している。これらのことは、サーバについても同様である。
【０１６８】
（１０）本明細書及び特許請求の範囲において、手段とは必ずしも物理的手段を意味するものではなく、各手段の機能が、ソフトウェアによって実現される場合も包含する。さらに、一つの手段の機能が、二つ以上の物理的手段により実現されても、若しくは、二つ以上の手段の機能が、一つの物理的手段により実現されてもよい。この点、サーバやコンピュータについても同様である。
【産業上の利用可能性】
【０１６９】
本発明は、例えば、バーコード、ＱＲコード、ＩＣタグに格納されたコード、及び、ドットパターンで表されたコード等をネットワークを介して収集及び処理する分野に利用可能である。
【符号の説明】
【０１７０】
１…バーコードリーダ、３…端末、５…ネットワーク、７…ホストコンピュータ（センタサーバ）、９−０〜９−Ｍ（９−ｍ）…ＣＧＩ、１１…データベース、１３…バーコード。
【図１】
2011028351.tif 000003
【図２】
2011028351.tif 000004
【図３】
2011028351.tif 000005
【図４】
2011028351.tif 000006
【図５】
2011028351.tif 000007
【図６】
2011028351.tif 000008
【図７】
2011028351.tif 000009
【図８】
2011028351.tif 000010
【図９】
2011028351.tif 000011
【図１０】
2011028351.tif 000012
【図１１】
2011028351.tif 000013