(57)【要約】【課題】ＵＳＢ仮想化通信システムの負荷を改善すること。【解決手段】サーバ３は、ＩＰネットワーク１を介して、ゲートウェイ装置５のＵＳＢデバイス４を制御するためのＵＳＢ制御信号を間引いてゲートウェイ装置５に送信し、ゲートウェイ装置５は、サーバ３から送信されたＵＳＢ制御信号を該間引いた分補間してＵＳＢデバイス４に送信する。【選択図】図１
2016139218.tif 000002
【特許請求の範囲】
【請求項１】
ゲートウェイ装置のＵＳＢ機器をＩＰ網を介してサーバに仮想化するＵＳＢ仮想化通信システムで行うＵＳＢ信号制御方法において、
前記ＵＳＢ仮想化通信システムは、
前記ＵＳＢ機器を仮想化するために前記ＩＰ網を介して前記サーバと前記ゲートウェイ装置との間で送信されるＵＳＢ信号の数を少なくして送信する送信ステップ、を有することを特徴とするＵＳＢ信号制御方法。
【請求項２】
前記サーバは、
前記ＵＳＢ機器を制御するために前記ＩＰ網を介して順次送信される複数のＵＳＢ制御信号を間引いて前記ゲートウェイ装置に送信する送信ステップ、を有し、
前記ゲートウェイ装置は、
前記サーバから送信されたＵＳＢ制御信号を前記間引いた分補間して前記ＵＳＢ機器に送信する送信ステップ、
を有することを特徴とする請求項１に記載のＵＳＢ信号制御方法。
【請求項３】
前記ゲートウェイ装置は、
前記ＩＰ網を介して順次送信する前記ＵＳＢ機器からの複数のＵＳＢデータ信号をまとめて前記サーバに送信する送信ステップ、を有し、
前記サーバは、
前記まとめられた複数のＵＳＢデータ信号に対する受信待機処理を終了し、次のＵＳＢデータ信号を受信するためのＵＳＢ制御信号を前記ゲートウェイ装置に送信する送信ステップ、
を有することを特徴とする請求項１に記載のＵＳＢ信号制御方法。
【請求項４】
前記ゲートウェイ装置の送信ステップでは、
前記ＵＳＢ機器から一定時間内に送信された複数のＵＳＢデータ信号のみをまとめて前記サーバに送信することを特徴とする請求項３に記載のＵＳＢ信号制御方法。
【請求項５】
前記サーバは、
前記ＵＳＢ機器を制御するために前記ＩＰ網を介して順次送信される複数のＵＳＢ制御信号を間引いて前記ゲートウェイ装置に送信する送信ステップ、を有し、
前記ゲートウェイ装置は、
前記サーバから送信されたＵＳＢ制御信号の通し番号を解析し、前記解析の結果に基づき前記間引きにより抜けている分のＵＳＢ制御信号を補間して前記ＵＳＢ機器に送信する送信ステップと、
前記ＵＳＢ機器から送信された複数のＵＳＢデータ信号を前記抜けている分まとめて前記サーバに送信する送信ステップと、を有し、
前記サーバは、
前記まとめられた複数のＵＳＢデータ信号に対する受信待機処理を終了し、次のＵＳＢデータ信号を受信するためのＵＳＢ制御信号を前記ゲートウェイ装置に送信する送信ステップ、
を有することを特徴とする請求項１に記載のＵＳＢ信号制御方法。
【請求項６】
前記ゲートウェイ装置は、
前記ＵＳＢ機器からＵＳＢデータを予め取得して記憶手段に記憶しておき、前記サーバからＵＳＢ制御信号を受信した場合、自装置のデータ読み出しサイズで前記記憶手段から前記ＵＳＢデータを読み出して前記サーバに送信する送信ステップ、を有することを特徴とする請求項１乃至５のいずれかに記載のＵＳＢ信号制御方法。
【請求項７】
ゲートウェイ装置のＵＳＢ機器をＩＰ網を介してサーバに仮想化するＵＳＢ仮想化通信システムにおいて、
前記ＵＳＢ機器を仮想化するために前記ＩＰ網を介して前記サーバと前記ゲートウェイ装置との間で送信されるＵＳＢ信号の数を少なくして送信する送信手段、を有することを特徴とするＵＳＢ仮想化通信システム。
【請求項８】
前記ゲートウェイ装置は、
前記ＵＳＢ機器からＵＳＢデータを予め取得して記憶手段に記憶しておき、前記サーバからＵＳＢ制御信号を受信した場合、自装置のデータ読み出しサイズで前記記憶手段から前記ＵＳＢデータを読み出して前記サーバに送信する送信手段、を有することを特徴とする請求項７に記載のＵＳＢ仮想化通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＵＳＢデバイスの仮想化に用いるＵＳＢ信号の制御技術に関する。
【背景技術】
【０００２】
近年、仮想化技術の進展に伴い、計算機本体のリソースだけではなく、計算機に接続された周辺機器を仮想化するＩ／Ｏ仮想化技術が普及している。Ｉ／Ｏ仮想化技術を用いることで、特定の計算機に接続された周辺機器をネットワーク上で共用可能となる。
【０００３】
上記Ｉ／Ｏ仮想化技術をＵＳＢインタフェースに適用したものがＵＳＢ仮想化技術であり、代表的な実現方式としてＵＳＢ／ＩＰ方式がある（非特許文献１，２）。ＵＳＢ／ＩＰ方式とは、ＵＳＢインタフェースを仮想化し、ＵＳＢ信号（ＵＳＢ制御信号，ＵＳＢデータ信号）をＩＰパケット化してやり取りを行う方式である。該ＵＳＢ／ＩＰ方式を用いることで、任意の計算機に接続されたＵＳＢデバイスをサーバ上に仮想化し、該サーバを通じて他の計算機で共用可能となる。
【０００４】
図９を参照しながら、一般的なＵＳＢ／ＩＰ方式のＵＳＢ仮想化技術について説明する。ＩＰネットワーク１に接続されたローカルなＰＣ端末２ａとクラウド上のサーバ３にＵＳＢ／ＩＰ方式のＵＳＢ仮想化機能をそれぞれ実装すると、ＰＣ端末２ａにＵＳＢ接続されたＵＳＢデバイス４のデバイスドライバをサーバ３で仮想的に動作可能となる。そのため、リモートのＰＣ端末２ｂは、該サーバ３で動作する仮想デバイスドライバを利用することで、他のＰＣ端末２ａのＵＳＢデバイス４をリモートで利用可能となる。
【０００５】
引き続き、ＵＳＢ／ＩＰ方式のＵＳＢ仮想化処理動作について概説する。ＰＣ端末２ｂからＰＣ端末２ａのＵＳＢデバイス４に対する要求（ＵＳＢデータ参照要求，ＵＳＢデータ更新要求等）を受けると、サーバ３のＵＳＢ仮想化機能部は、上記要求に基づきＵＳＢ制御信号をＩＰパケット化してＰＣ端末２ａに送信する。該ＰＣ端末２ａのＵＳＢ仮想化機能部は、サーバ３からＵＳＢ制御信号を受信すると、ＵＳＢハードウェア制御機能部を介してＵＳＢデバイス４からＵＳＢデータを取得し、該ＵＳＢデータのＵＳＢデータ信号をＩＰパケット化してサーバ３に送信する。これにより、リモートのＰＣ端末２ｂは、サーバ３に対して要求を行うことで、他のＰＣ端末２ａのＵＳＢデバイス４を利用可能となる。
【０００６】
ここまで、ＵＳＢ仮想化技術をサーバとＰＣ端末に適用した例を説明したが、上記ＵＳＢ仮想化技術はプログラムで提供されるため、計算機の種別を問わず適用可能である。例えば、サーバとゲートウェイ装置に適用することも可能である。その際、ゲートウェイ装置の持つリソース（ＣＰＵ，メモリ等）がサーバやＰＣ端末よりも少ないことを考慮し、ＵＳＢデバイスの機能をサーバとゲートウェイ装置に分散して実装することも可能である。
【０００７】
図１０を参照しながら、上記ＵＳＢ／ＩＰ方式のＵＳＢ仮想化技術をサーバとゲートウェイ装置に適用し、ＵＳＢデバイスの機能を分散した場合について説明する。ＵＳＢデバイス４は、複数のプロトコルに対応したマルチプロトコル対応無線ＬＡＮ親機機能を持つドングルとする。
【０００８】
該ＵＳＢデバイス４をゲートウェイ装置５に接続して上記無線ＬＡＮ親機機能を追加しようとすると、リソース不足により該ゲートウェイ装置５に実装できない場合がある。そこで、上記無線ＬＡＮ親機機能を基本的な無線通信を行う無線親機機能Ａと複数の異なるプロトコルを用いて通信を行う無線親機機能Ｂに分離し、無線親機機能ＡのみをＵＳＢデバイス４に残し、無線親機機能Ｂをリソースの多いサーバ３に仮想的に実装する。これにより、多くのリソースを必要とする高い機能をリソースの少ないゲートウェイ装置５で実質的に実装可能となる。
【０００９】
引き続き、図１１を参照しながら、図１０の構成に基づくＵＳＢ／ＩＰ方式のＵＳＢ仮想化処理動作について説明する。ＵＳＢデバイス４に無線ＬＡＮ接続される電子デバイス６はセンサとする。
【００１０】
電子デバイス６がセンサの場合、該電子デバイス６でショートサイズのデータが大量に発生する。そのため、ＵＳＢデバイス４は、電子デバイス６から送信されたセンサデータを受信するため（ステップＳ６０１）、自デバイス内にバッファリングしておく（ステップＳ６０２）。
【００１１】
一方、サーバ３は、ＵＳＢデバイス４のセンサデータを取得するため自発的に、又は、他のゲートウェイ装置（図１０，図１１において不図示）からＵＳＢデバイス４に対するセンサデータの要求を受けた場合、ＵＳＢ仮想化処理動作を開始するためのオープン・リクエスト，オープン・リターンをゲートウェイ装置５との間で送受信する（ステップＳ６０３）。
【００１２】
その後、サーバ３は、ＵＳＢデバイス４のセンサデータを取得するためのポーリング・リクエストをＩＰパケット化してゲートウェイ装置５に順次送信し（ステップＳ６０４）、ゲートウェイ装置５は、サーバ３からのポーリング・リクエストをＵＳＢデバイス４に順次転送する（ステップＳ６０５）。
【００１３】
そして、ＵＳＢデバイス４は、ゲートウェイ装置５を介してＵＳＢホストであるサーバ３からポーリング・リクエストを受信すると、自デバイスのデータ読み出しサイズでデータバッファからセンサデータを読み出して（ステップＳ６０６）、ゲートウェイ装置５に順次送信する（ステップＳ６０７）。ゲートウェイ装置５は、ＵＳＢデバイス４からのセンサデータをポーリング・リクエスト毎にＩＰパケット化してサーバ３に転送する（ステップＳ６０８）。
【先行技術文献】
【非特許文献】
【００１４】
【非特許文献１】“USB/IP PROJECT”、sourceforge.net、［online］、［平成27年1月8日検索］、＜URL: http://usbip.sourceforge.net/＞
【非特許文献２】“kernel/git/next/linux-next.git”、Linux Next Group、［online］、［平成27年1月8日検索］、＜URL: http://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git/tree/drivers/usb/usbip/usbip_protocol.txt＞
【非特許文献３】“Constrained Application Protocol(CoAP)，Section 3，Message Format”、CoRE Working Group、［online］、［平成27年1月8日検索］、＜URL: https://tools.ietf.org/html/draft-ietf-core-coap-18＞
【非特許文献４】“簡易HTTPなCoAP(Constrained Application Protocol)プロトコル”、［online］、［平成27年1月8日検索］、＜URL: http://d.hatena.ne.jp/keroring/20120417/1334639673＞
【非特許文献５】河合、外４名、“無線センサーネットワークにおけるデータ集約方式の省電力化効果と遅延について”、情報処理学会第73回全国大会、2011年、p.3-255-p.3-256、［online］、［平成27年1月8日検索］、＜URL: http://sarulab.inf.shizuoka.ac.jp/pdf/436_kawai.pdf＞
【発明の概要】
【発明が解決しようとする課題】
【００１５】
しかしながら、上記ＵＳＢ／ＩＰ方式のＵＳＢ仮想化技術をサーバとゲートウェイ装置に適用すると、ＩＰパケット化された大量のＵＳＢ信号｛ＵＳＢ制御信号（図１１のポーリング・リクエスト），ＵＳＢデータ信号（図１１のＵＳＢデータ）｝がＩＰネットワークに送出されてしまう。その理由の一つとしては、ゲートウェイ装置では信号の内容を把握できないため、ＵＳＢデータ信号を単純にサーバに転送してしまうからである。
【００１６】
そのため、第１には、図１２に示すように、サーバが収容するゲートウェイ装置の数が増加すると、ＩＰネットワークの帯域を圧迫し、ネットワーク機器やサーバの負荷が増大することでシステム全体の性能が低下するという課題がある。この傾向は、センサデータといったサイズの小さいデータを大量に送出するＭ２Ｍ（Machine to Machine）デバイスを電子デバイスとして利用した場合に特に顕著となる。
【００１７】
そこで、ＣｏＡＰ（Constrained Application Protocol）を用いることが考えられる（非特許文献３，４）。該ＣｏＡＰを用いる方式は、転送されるＩＰパケットのヘッダサイズを小さくすることで、センサデータといったショートサイズのパケットが大量に発生した場合でもデータ量が増加するのを抑制可能となる。しかし、ＩＰパケットのヘッダ量は削減されるが、ＩＰパケットの数そのものが削減されるわけではないため、ＩＰネットワークの帯域が圧迫されるという課題を解決できない。
【００１８】
また、連結方式と呼ばれる方法でＩＰパケットを集約することで、オーバーヘッド分のデータ量を削減することも考えられる（非特許文献５）。しかし、ＵＳＢ制御信号はデータパケットと異なり単純に集約できないため、ＵＳＢ制御信号の数を削減することは困難である。
【００１９】
第２には、一般的に、ＵＳＢデバイスでは、サーバやゲートウェイ装置に比べて、小さいサイズでデータを処理するため、結果的に、サーバやゲートウェイ装置に比べて小さいデータ読み出しサイズでＵＳＢデータが読み出されることとなり、その分、サーバに送信されるＵＳＢデータ信号の数が増加するという課題もある。
【００２０】
本発明は、上記事情を鑑みてなされたものであり、ＵＳＢ仮想化通信システムの負荷を改善することを目的とする。
【課題を解決するための手段】
【００２１】
以上の課題を解決するため、請求項１に記載のＵＳＢ信号制御方法は、ゲートウェイ装置のＵＳＢ機器をＩＰ網を介してサーバに仮想化するＵＳＢ仮想化通信システムで行うＵＳＢ信号制御方法において、前記ＵＳＢ仮想化通信システムは、前記ＵＳＢ機器を仮想化するために前記ＩＰ網を介して前記サーバと前記ゲートウェイ装置との間で送信されるＵＳＢ信号の数を少なくして送信する送信ステップ、を有することを要旨とする。
【００２２】
請求項２に記載のＵＳＢ信号制御方法は、請求項１に記載のＵＳＢ信号制御方法において、前記サーバは、前記ＵＳＢ機器を制御するために前記ＩＰ網を介して順次送信される複数のＵＳＢ制御信号を間引いて前記ゲートウェイ装置に送信する送信ステップ、を有し、前記ゲートウェイ装置は、前記サーバから送信されたＵＳＢ制御信号を前記間引いた分補間して前記ＵＳＢ機器に送信する送信ステップ、を有することを要旨とする。
【００２３】
請求項３に記載のＵＳＢ信号制御方法は、請求項１に記載のＵＳＢ信号制御方法において、前記ゲートウェイ装置は、前記ＩＰ網を介して順次送信する前記ＵＳＢ機器からの複数のＵＳＢデータ信号をまとめて前記サーバに送信する送信ステップ、を有し、前記サーバは、前記まとめられた複数のＵＳＢデータ信号に対する受信待機処理を終了し、次のＵＳＢデータ信号を受信するためのＵＳＢ制御信号を前記ゲートウェイ装置に送信する送信ステップ、を有することを要旨とする。
【００２４】
請求項４に記載のＵＳＢ信号制御方法は、請求項３に記載のＵＳＢ信号制御方法において、前記ゲートウェイ装置の送信ステップでは、前記ＵＳＢ機器から一定時間内に送信された複数のＵＳＢデータ信号のみをまとめて前記サーバに送信することを要旨とする。
【００２５】
請求項５に記載のＵＳＢ信号制御方法は、請求項１に記載のＵＳＢ信号制御方法において、前記サーバは、前記ＵＳＢ機器を制御するために前記ＩＰ網を介して順次送信される複数のＵＳＢ制御信号を間引いて前記ゲートウェイ装置に送信する送信ステップ、を有し、前記ゲートウェイ装置は、前記サーバから送信されたＵＳＢ制御信号の通し番号を解析し、前記解析の結果に基づき前記間引きにより抜けている分のＵＳＢ制御信号を補間して前記ＵＳＢ機器に送信する送信ステップと、前記ＵＳＢ機器から送信された複数のＵＳＢデータ信号を前記抜けている分まとめて前記サーバに送信する送信ステップと、を有し、前記サーバは、前記まとめられた複数のＵＳＢデータ信号に対する受信待機処理を終了し、次のＵＳＢデータ信号を受信するためのＵＳＢ制御信号を前記ゲートウェイ装置に送信する送信ステップ、を有することを要旨とする。
【００２６】
請求項６に記載のＵＳＢ信号制御方法は、請求項１乃至５のいずれかに記載のＵＳＢ信号制御方法において、前記ゲートウェイ装置は、前記ＵＳＢ機器からＵＳＢデータを予め取得して記憶手段に記憶しておき、前記サーバからＵＳＢ制御信号を受信した場合、自装置のデータ読み出しサイズで前記記憶手段から前記ＵＳＢデータを読み出して前記サーバに送信する送信ステップ、を有することを要旨とする。
【００２７】
請求項７に記載のＵＳＢ仮想化通信システムは、ゲートウェイ装置のＵＳＢ機器をＩＰ網を介してサーバに仮想化するＵＳＢ仮想化通信システムにおいて、前記ＵＳＢ機器を仮想化するために前記ＩＰ網を介して前記サーバと前記ゲートウェイ装置との間で送信されるＵＳＢ信号の数を少なくして送信する送信手段、を有することを要旨とする。
【００２８】
請求項８に記載のＵＳＢ仮想化通信システムは、請求項７に記載のＵＳＢ仮想化通信システムにおいて、前記ゲートウェイ装置は、前記ＵＳＢ機器からＵＳＢデータを予め取得して記憶手段に記憶しておき、前記サーバからＵＳＢ制御信号を受信した場合、自装置のデータ読み出しサイズで前記記憶手段から前記ＵＳＢデータを読み出して前記サーバに送信する送信手段、を有することを要旨とする。
【発明の効果】
【００２９】
本発明によれば、ＵＳＢ仮想化通信システムの負荷を低減できる。
【図面の簡単な説明】
【００３０】
【図１】実施例１に係るＵＳＢ仮想化通信システムの構成を示す図である。
【図２】実施例１に係るＵＳＢ信号制御処理動作を示す図である。
【図３】実施例２，３，４に係るＵＳＢ仮想化通信システムの構成を示す図である。
【図４】実施例２に係るＵＳＢ信号制御処理動作を示す図である。
【図５】実施例３に係るＵＳＢ信号制御処理動作を示す図である。
【図６】実施例４に係るＵＳＢ信号制御処理動作を示す図である。
【図７】実施例５に係るＵＳＢ仮想化通信システムの構成を示す図である。
【図８】実施例５に係るＵＳＢ信号制御処理動作を示す図である。
【図９】ＵＳＢ仮想化技術の概念を示す図である。
【図１０】ＵＳＢ仮想化技術の適用例を示す図である。
【図１１】ＵＳＢ仮想化技術の処理動作例を示す図である。
【図１２】ＵＳＢ仮想化技術の課題を説明するための参照図である。
【発明を実施するための形態】
【００３１】
以下、本発明の実施例について図面を用いて説明する。各実施例では、図１０の従来構成、すなわち、ＵＳＢ／ＩＰ方式のＵＳＢ仮想化技術をサーバとゲートウェイ装置に適用し、ＵＳＢデバイスの機能を分散した従来構成を前提とする。
【００３２】
はじめに、各実施例の実現方法について概説しておく。実施例１〜実施例４では、ＩＰネットワークを介してサーバとゲートウェイ装置との間で送信されるＵＳＢ信号（ＵＳＢ制御信号，ＵＳＢデータ信号）の数を少なくする方法を提供する。実施例５では、ＵＳＢデータの読み出し処理をデータ読み出しサイズの大きいゲートウェイ装置で行うことにより、ＵＳＢデータのパケットサイズを大きくする方法を提供する。これらの方法を用いることで、ネットワーク負荷及びサーバ負荷を全体として低減可能となり、システム全体の性能低下を回避可能となる。以下、各実施例について詳述する。
【実施例１】
【００３３】
実施例１では、上述した従来構成において、サーバからゲートウェイ装置に送信されるＵＳＢ制御信号のＩＰパケットを間引くことにより、ＩＰネットワーク上でサーバからゲートウェイ装置に流れるデータ量を削減する。
【００３４】
そのため、実施例１では、従来のサーバに対して、データ送受信管理部と、データ送受信制御部と、を追加する。また、従来のゲートウェイ装置に対して、データ送信管理部と、データ送信制御部と、を追加する。
【００３５】
図１は、実施例１に係るＵＳＢ／ＩＰ方式のＵＳＢ仮想化通信システムの構成を示す図である。該ＵＳＢ仮想化通信システムは、ＩＰネットワーク１を介して相互通信可能に接続されたクラウド上のサーバ３とローカルなゲートウェイ装置５とを備えて構成される。
【００３６】
まず、サーバ３の機能について説明する。サーバ３は、ＵＳＢ仮想化機能部３１と、無線親機機能Ｂ部３２と、データ送受信管理部３３と、データ送受信制御部３４と、を備えて構成される。
【００３７】
ＵＳＢ仮想化機能部３１は、ＵＳＢ／ＩＰ方式でゲートウェイ装置５のＵＳＢデバイス４を自サーバ内に仮想化するための機能部である。無線親機機能Ｂ部３２からの要求に応じ、ＵＳＢデバイス４のＵＳＢデータを取得するためのＵＳＢ制御信号をＩＰパケット化し、自機能部に対応して設けられたゲートウェイ装置５のＵＳＢ仮想化機能部５１に送信する。
【００３８】
無線親機機能Ｂ部３２は、ＵＳＢデバイス４の機能のうち一部の機能を実行する。本実施例では、ＵＳＢデバイス４が複数のプロトコルに対応したマルチプロトコル対応無線ＬＡＮ親機機能を持つドングルであると仮定し、無線親機機能Ｂ部３２は、該ドングルの持つ機能のうち複数の異なるプロトコルを用いて通信を行う機能を実行する。自発的、又は、他のゲートウェイ装置からの要求に基づき、データ送受信制御部３４とＵＳＢ仮想化機能部３１を通じてＵＳＢデバイス４のＵＳＢデータを取得する。
【００３９】
データ送受信管理部３３は、自サーバからゲートウェイ装置５に送信されるＵＳＢ制御信号を間引くための単位を管理し、該間引き単位情報をゲートウェイ装置５のデータ送信管理部５３に通知する。
【００４０】
データ送受信制御部３４は、ゲートウェイ装置５に通知した間引き単位で上記ＵＳＢ制御信号を間引き、ＵＳＢ仮想化機能部３１を通じてゲートウェイ装置５に送信する。
【００４１】
続いて、ゲートウェイ装置５の機能について説明する。ゲートウェイ装置５は、マルチプロトコル対応無線ＬＡＮ親機機能を持つＵＳＢデバイス４をＵＳＢ接続し、ＵＳＢ仮想化機能部５１と、ＵＳＢハードウェア制御機能部５２と、データ送信管理部５３と、データ送信制御部５４と、を備えて構成される。
【００４２】
ＵＳＢ仮想化機能部５１は、サーバ３から送信されたＵＳＢ制御信号をデータ送信制御部５４とＵＳＢハードウェア制御機能部５２を通じてＵＳＢデバイス４に転送する。また、該ＵＳＢデバイス４から送信されたＵＳＢデータ信号をＩＰパケット化してサーバ３に転送する。
【００４３】
ＵＳＢハードウェア制御機能部５２は、自ゲートウェイ装置にＵＳＢ接続されているＵＳＢデバイス４を物理レイヤで制御するための機能部であり、該ＵＳＢデバイス４のＵＳＢデータを制御する。例えば、ＵＳＢデータの取得，更新等の実処理を物理レイヤレベルで実行する。
【００４４】
データ送信管理部５３は、サーバ３から通知されたＵＳＢ制御信号の間引き単位情報を受信し、データ送信制御部５４に通知する。
【００４５】
データ送信制御部５４は、ＵＳＢ仮想化機能部５１で受信したＵＳＢ制御信号をＵＳＢハードウェア制御機能部５２を通じてＵＳＢデバイス４に送信する。該ＵＳＢ制御信号が間引かれている場合、抜けているＵＳＢ制御信号を補間してＵＳＢデバイス４に送信する。ＵＳＢ制御信号が間引かれているか否かは、ＵＳＢ制御信号の間引き設定の有無により判断する。また、ＵＳＢデバイス４から送信されたＵＳＢデータ信号をＵＳＢ仮想化機能部５１を通じてサーバ３に送信する。
【００４６】
引き続き、ＵＳＢデバイス４と電子デバイス６について説明する。ＵＳＢデバイス４は、ドングルの持つマルチプロトコル対応無線ＬＡＮ親機機能のうち基本的な無線通信を行う無線親機機能Ａを備え、電子デバイス６から送信されたセンサデータをデータバッファに記憶する。電子デバイス６は、無線ＬＡＮ子機機能を備えたセンサであり、検知したショートサイズのセンサデータをＵＳＢデバイス４に送信する。ＵＳＢデバイス４と電子デバイス６は、無線ＬＡＮで接続されており、親機と子機の関係にある。
【００４７】
上述したサーバ３とゲートウェイ装置５は、ＣＰＵ等の演算機能やメモリ等の記憶機能を備えたコンピュータで実現できる。また、サーバ３，ゲートウェイ装置５としてコンピュータを機能させるためのプログラムや該プログラムの記憶媒体を作成することも可能である。なお、サーバ３，ゲートウェイ装置５は、上記複数の機能を包括的な一つの機能部で実現してもよい。例えば、データ送受信制御部３４とＵＳＢ仮想化機能部３１を一つの機能部でまとめて実行する。
【００４８】
次に、実施例１の処理動作について説明する。
【００４９】
最初に、図１の（ａ）〜（ｃ）を参照しながら、実施例１の処理動作を概説する。まず、サーバ３は、ポーリングの間引き単位情報をゲートウェイ装置５に通知し、該通知した間引き単位でポーリング・リクエストを間引いてゲートウェイ装置５に送信する。一方、ゲートウェイ装置５は、サーバ３からのポーリング・リクエストが間引かれているため、抜けているポーリング・リクエストを補間してＵＳＢデバイス４に送信する。このように、サーバ３からゲートウェイ装置５に送信されるポーリング・リクエストを間引くため、ＩＰネットワーク１でサーバ３からゲートウェイ装置５に流れるデータ量を削減可能となる。
【００５０】
続いて、図２を参照しながら、実施例１の処理動作を詳述する。
【００５１】
ステップＳ１０１）
まず、サーバ３において、データ送受信管理部３３が、例えばポーリングを３個毎に２個間引く設定を行い、該間引き単位情報をデータ送受信制御部３４に通知して設定する。
【００５２】
ステップＳ１０２）
次に、サーバ３において、データ送受信管理部３３は、ポーリングの間引き単位を定めたポーリング間引き方法指示メッセージをゲートウェイ装置５のデータ送信管理部５３に送信し、サーバ３からのポーリングが３個毎に２個間引かれることを通知する。
【００５３】
ステップＳ１０３）
次に、ゲートウェイ装置５において、データ送信管理部５３は、サーバ３から上記ポーリング間引き方法指示メッセージを受信すると、該メッセージに基づきサーバ３からのポーリングが３個毎に２個間引かれることをデータ送信制御部５４に通知して設定する。
【００５４】
ステップＳ１０４，Ｓ１０５）
一方、電子デバイス６から無線ＬＡＮ通信により一定頻度でセンサデータが送信されているため、ＵＳＢデバイス４は、該電子デバイス６から送信されたセンサデータを自デバイス内のデータバッファに一時保管する。
【００５５】
ステップＳ１０６，Ｓ１０７）
その後、サーバ３において、データ送受信制御部３４は、ポーリング・リクエストをＩＰパケット化してゲートウェイ装置５に送信するが、ポーリングを３個毎に２個間引く設定が行われているため、シーケンス番号Ｓｅｑが１と２のポーリング・リクエストを破棄し、Ｓｅｑ＝３のポーリング・リクエストのみをゲートウェイ装置５に送信する。
【００５６】
ステップＳ１０８，Ｓ１０９）
次に、ゲートウェイ装置５において、データ送信制御部５４は、サーバ３からＳｅｑ＝３のポーリング・リクエストを受信すると、ポーリングの間引き設定に基づきＳｅｑ＝１，２のポーリング・リクエストをそれぞれ生成し、計３つのポーリング・リクエストをＵＳＢ信号化してＵＳＢデバイス４に送信する。
【００５７】
ステップＳ１１０，Ｓ１１１）
次に、ＵＳＢデバイス４において、Ｓｅｑ＝１のポーリング・リクエストに対して、データバッファからセンサデータを読み出し、Ｓｅｑ＝１のＵＳＢデータとしてゲートウェイ装置５に送信する。同様に、Ｓｅｑ＝２のポーリング・リクエストに対して、データバッファからセンサデータを読み出し、Ｓｅｑ＝２のＵＳＢデータとして送信し、Ｓｅｑ＝３のポーリング・リクエストに対して、データバッファからセンサデータを読み出し、Ｓｅｑ＝３のＵＳＢデータとして送信する。
【００５８】
ステップＳ１１２）
次に、ゲートウェイ装置５において、データ送信制御部５４は、ＵＳＢデバイス４からＳｅｑ＝１，２，３のＵＳＢデータをそれぞれ受信すると、ＩＰパケット化した後にサーバ３に順次転送する。
【００５９】
ステップＳ１１３）
最後に、サーバ３において、データ送受信制御部３４は、ゲートウェイ装置５からＳｅｑ＝１，２，３のＵＳＢデータをそれぞれ受信すると、ＵＳＢデータ信号化して無線親機機能Ｂ部３２に送る。無線親機機能Ｂ部３２は、各ＵＳＢデータからセンサデータをそれぞれ取得し、上位の解析アプリに送る。解析アプリは、センサデータのデータ解析を行う。
【００６０】
以降、同様に、ステップＳ１０６，Ｓ１０７に基づきＳｅｑ＝６のポーリング・リクエストが送信されると、ステップＳ１０８〜Ｓ１１３が繰り返し実行される。
【００６１】
以上のように、実施例１によれば、サーバ３がＩＰネットワーク１に送出するポーリング・リクエストを間引くため、ＩＰネットワーク１に流れるデータ量を削減可能（上記例では１／３倍）となり、ネットワーク機器やサーバの負荷も軽減可能となる。
【実施例２】
【００６２】
実施例２では、上述した従来構成において、ゲートウェイ装置からサーバに送信されるＵＳＢデータ信号のＩＰパケットをまとめることにより、ＩＰネットワーク上でゲートウェイ装置からサーバに流れるデータ量を削減する。
【００６３】
そのため、実施例２でも、従来のサーバに対して、データ送受信管理部３３と、データ送受信制御部３４と、を追加する。また、従来のゲートウェイ装置に対して、データ送信管理部５３と、データ送信制御部５４と、を追加する。
【００６４】
図３は、実施例２に係るＵＳＢ／ＩＰ方式のＵＳＢ仮想化通信システムの構成を示す図である。以下、実施例１と相違する機能のみを説明する。
【００６５】
データ送受信管理部３３は、ゲートウェイ装置５から自サーバに送信されるＵＳＢデータ信号をまとめるための単位を管理し、該まとめ単位情報をゲートウェイ装置５のデータ送信管理部５３に通知する。
【００６６】
データ送受信制御部３４は、ゲートウェイ装置５からまとめられたＵＳＢデータ信号を受信する。受信したＵＳＢデータ信号のシーケンス番号を確認し、抜けているシーケンス番号がある場合、該抜けているシーケンス番号のＵＳＢデータ信号に対する受信待機処理を強制終了し、次のシーケンス番号のＵＳＢ制御信号を送信する。
【００６７】
データ送信管理部５３は、サーバ３から通知されたＵＳＢデータ信号のまとめ単位情報を受信し、データ送信制御部５４に通知する。
【００６８】
データ送信制御部５４は、データ送信管理部５３から通知されたまとめ単位で複数のＵＳＢデータ信号をまとめ、サーバ３に送信する。
【００６９】
次に、実施例２の処理動作について説明する。
【００７０】
最初に、図３の（ａ）〜（ｃ）を参照しながら、実施例２の処理動作を概説する。まず、サーバ３は、ＵＳＢデータのまとめ単位情報をゲートウェイ装置５に通知する。ゲートウェイ装置５は、ＵＳＢデバイス４から複数のＵＳＢデータを取得すると、サーバ３から通知されたまとめ単位でまとめてサーバ３に送信する。その後、サーバ３は、受信したＵＳＢデータのシーケンス番号を確認し、抜けているシーケンス番号のＵＳＢデータ信号に対する受信待機処理を終了扱いとし、次のシーケンス処理に移行する。このように、ゲートウェイ装置５からサーバ３に送信されるＵＳＢデータをまとめるため、ＩＰネットワーク１でゲートウェイ装置５からサーバ３に流れるデータ量を削減可能となる。
【００７１】
続いて、図４を参照しながら、実施例２の処理動作を詳述する。
【００７２】
ステップＳ２０１）
まず、サーバ３において、データ送受信管理部３３が、例えばＵＳＢデータを３個毎にまとめる設定を行い、該まとめ単位情報をデータ送受信制御部３４に通知して設定する。
【００７３】
ステップＳ２０２）
次に、サーバ３において、データ送受信管理部３３は、ＵＳＢデータのまとめ単位を定めたデータまとめ方法指示メッセージをゲートウェイ装置５のデータ送信管理部５３に送信し、自サーバに送信するＵＳＢデータを３個毎にまとめることを通知する。
【００７４】
ステップＳ２０３）
次に、ゲートウェイ装置５において、データ送信管理部５３は、サーバ３から上記データまとめ方法指示メッセージを受信すると、該メッセージに基づき、サーバ３に送信するＵＳＢデータを３個毎にまとめることをデータ送信制御部５４に通知して設定する。
【００７５】
ステップＳ２０４，Ｓ２０５）
一方、電子デバイス６から無線ＬＡＮ通信により一定頻度でセンサデータが送信されているため、ＵＳＢデバイス４は、該電子デバイス６から送信されたセンサデータを自デバイス内のデータバッファに一時保管する。
【００７６】
ステップＳ２０６）
その後、サーバ３において、データ送受信制御部３４は、ポーリング・リクエストをＩＰパケット化し、シーケンス番号Ｓｅｑが１のものから順番にゲートウェイ装置５に送信する。
【００７７】
ステップＳ２０７）
次に、ゲートウェイ装置５において、データ送信制御部５４は、サーバ３からＳｅｑ＝１のポーリング・リクエストを受信すると、ＵＳＢ信号化してＵＳＢデバイス４に送信する。同様に、Ｓｅｑ＝２，３のポーリング・リクエストについてもそれぞれＵＳＢ信号化してＵＳＢデバイス４に順次送信する。
【００７８】
ステップＳ２０８，Ｓ２０９）
次に、ＵＳＢデバイス４において、Ｓｅｑ＝１のポーリング・リクエストに対して、データバッファからセンサデータを読み出し、Ｓｅｑ＝１のＵＳＢデータとしてゲートウェイ装置５に送信する。同様に、Ｓｅｑ＝２のポーリング・リクエストに対して、データバッファからセンサデータを読み出し、Ｓｅｑ＝２のＵＳＢデータとして送信し、Ｓｅｑ＝３のポーリング・リクエストに対して、データバッファからセンサデータを読み出し、Ｓｅｑ＝３のＵＳＢデータとして送信する。
【００７９】
ステップＳ２１０，Ｓ２１１）
次に、ゲートウェイ装置５において、データ送信制御部５４は、ＵＳＢデータのまとめ単位が設定されているため、ＵＳＢデバイス４からＳｅｑ＝１のＵＳＢデータを受信してもサーバ３には転送せずに一時保管する。続いてＳｅｑ＝２のＵＳＢデータを受信しても、該まとめ単位が３個毎に設定されているため、サーバ３には転送せずに一時保管する。更に続いてＳｅｑ＝３のＵＳＢデータを受信すると、上記ＵＳＢデータを３個毎にまとめる設定に基づきＳｅｑ＝１，２，３のＵＳＢデータを１個にまとめ、Ｓｅｑ＝３のＵＳＢデータとしてＩＰパケット化してサーバ３に送信する。
【００８０】
ステップＳ２１２）
最後に、サーバ３において、データ送受信制御部３４は、ゲートウェイ装置５からＳｅｑ＝３のＵＳＢデータを受信すると、ＵＳＢデータ信号化して無線親機機能Ｂ部３２に送る。無線親機機能Ｂ部３２は、ＵＳＢデータから３つのセンサデータを取得し、上位の解析アプリに送る。解析アプリは、センサデータのデータ解析を行う。受信したＵＳＢデータのＳｅｑが３であるため、抜けているＳｅｑ＝１，２のポーリング・リクエストに対するＵＳＢデータの受信待機処理を終了扱いとする。
【００８１】
以降、同様に、ステップＳ２０６に基づきＳｅｑ＝４，５，６のポーリング・リクエストが順次送信されると、ステップＳ２０７〜Ｓ２１２が繰り返し実行される。
【００８２】
以上のように、実施例２によれば、ゲートウェイ装置５がＩＰネットワーク１に送出するＵＳＢデータをまとめるため、ＩＰネットワーク１に流れるデータ量を削減可能（上記例では１／３倍）となり、ネットワーク機器やサーバの負荷も軽減可能となる。
【実施例３】
【００８３】
実施例３では、実施例２の変形例を説明する。
【００８４】
実施例２では、上述した従来構成において、ゲートウェイ装置からサーバに送信されるＵＳＢデータ信号のＩＰパケット数を削減する方法を説明した。実施例３では、ゲートウェイ装置において、ＵＳＢデータ信号の数が設定単位数揃っていなくても、一定時間が経過すればタイムアウトによりＵＳＢデータ信号の送信処理を開始する方法を説明する。以下、図５を参照しながら、実施例３の処理動作を詳述する。
【００８５】
ステップＳ３０１）
まず、サーバ３において、データ送受信管理部３３が、例えばＵＳＢデータを３個毎にまとめる設定を行い、該まとめ単位情報をデータ送受信制御部３４に通知して設定する。
【００８６】
ステップＳ３０２）
次に、サーバ３において、データ送受信管理部３３は、ＵＳＢデータのまとめ単位を定め、かつ、タイムアウト値として１秒を定めたデータまとめ方法指示メッセージをゲートウェイ装置５のデータ送信管理部５３に送信する。
【００８７】
ステップＳ３０３）
次に、ゲートウェイ装置５において、データ送信管理部５３は、サーバ３から上記データまとめ方法指示メッセージを受信すると、該メッセージに基づき、サーバ３に送信するデータを３個毎にまとめること、ＵＳＢデータの受信タイムリミットであるタイムアウト時間を１秒にすることをデータ送信制御部５４に通知して設定する。
【００８８】
ステップＳ３０４，Ｓ３０５）
一方、電子デバイス６から無線ＬＡＮ通信により一定頻度でセンサデータが送信されているため、ＵＳＢデバイス４は、該電子デバイス６から送信されたセンサデータを自デバイス内のデータバッファに一時保管する。
【００８９】
ステップＳ３０６）
その後、サーバ３において、データ送受信制御部３４は、ポーリング・リクエストをＩＰパケット化し、シーケンス番号Ｓｅｑが１のものから順番にゲートウェイ装置５に送信する。
【００９０】
ステップＳ３０７）
次に、ゲートウェイ装置５において、データ送信制御部５４は、サーバ３からＳｅｑ＝１のポーリング・リクエストを受信すると、ＵＳＢ信号化してＵＳＢデバイス４に送信する。同様に、Ｓｅｑ＝２，３のポーリング・リクエストについてもそれぞれＵＳＢ信号化してＵＳＢデバイス４に順次送信する。
【００９１】
ステップＳ３０８，Ｓ３０９，Ｓ３１０）
次に、ＵＳＢデバイス４において、Ｓｅｑ＝１のポーリング・リクエストに対して、データバッファからセンサデータを読み出し、Ｓｅｑ＝１のＵＳＢデータとしてゲートウェイ装置５に送信する。同様に、Ｓｅｑ＝２のポーリング・リクエストに対して、データバッファからセンサデータを読み出し、Ｓｅｑ＝２のＵＳＢデータとして送信する。しかし、Ｓｅｑ＝３のポーリング・リクエストに対しては、データバッファからセンサデータを読み出す処理の異常により、Ｓｅｑ＝３のＵＳＢデータは送信されないとする。
【００９２】
ステップＳ３１１，Ｓ３１２，Ｓ３１３）
次に、ゲートウェイ装置５において、データ送信制御部５４は、ＵＳＢデータのまとめ単位が設定されているため、ＵＳＢデバイス４からＳｅｑ＝１のＵＳＢデータを受信してもサーバ３には転送せずに一時保管する。続いてＳｅｑ＝２のＵＳＢデータを受信しても、該まとめ単位が３個毎に設定されているため、サーバ３には転送せずに一時保管する。その後、Ｓｅｑ＝３のＵＳＢデータの到着を待つが、ＵＳＢデバイス４で発生したデータ読み出し処理の異常により該ＵＳＢデータの送信処理が滞っている。この場合、Ｓｅｑ＝３のポーリング・リクエストをＵＳＢデバイス４に送信してからの待ち時間を計測し、設定された１秒のタイムアウト時間が経過すると、Ｓｅｑ＝１，２のＵＳＢデータのみを１個にまとめ、Ｓｅｑ＝２のＵＳＢデータとしてＩＰパケット化してサーバ３に送信する。
【００９３】
ステップＳ３１４）
最後に、サーバ３において、データ送受信制御部３４は、ゲートウェイ装置５からＳｅｑ＝２のＵＳＢデータを受信すると、ＵＳＢデータ信号化して無線親機機能Ｂ部３２に送る。無線親機機能Ｂ部３２は、ＵＳＢデータから２つのセンサデータを取得し、上位の解析アプリに送る。解析アプリは、センサデータのデータ解析を行う。受信したＵＳＢデータのＳｅｑが２であるため、Ｓｅｑ＝３のＵＳＢデータはまだ届いていないとし、Ｓｅｑ＝１，２，３のポーリング・リクエストを終了扱いとする。
【００９４】
以降、同様に、ステップＳ３０６に基づきＳｅｑ＝４，５，６のポーリング・リクエストが順次送信されると、正常時には実施例２のステップＳ２０７〜Ｓ２１２が繰り返されるが、ＵＳＢデータの読み出し処理の異常時には実施例３のステップＳ３０７〜Ｓ３１４が繰り返し実行される。
【００９５】
以上のように、実施例３によれば、ＵＳＢデータを受信する際にタイムアウト時間を用いるため、ＵＳＢデータの受信処理がタイムアウト値を超えて遅延することを回避可能となる。
【実施例４】
【００９６】
実施例４では、実施例２の変形例を説明する。
【００９７】
実施例２では、上述した従来構成において、ゲートウェイ装置からサーバに送信されるＵＳＢデータ信号のＩＰパケット数を削減する方法を説明した。実施例４では、実施例２のまとめ処理に対して実施例１の間引き処理を組み合わせ、信号毎にインクリメントされるシーケンス番号（通し番号）の値に基づき間引き単位とまとめ単位の設定をゲートウェイ装置が自律的に行う方法を説明する。以下、図６を参照しながら、実施例４の処理動作を詳述する。
【００９８】
ステップＳ４０１）
まず、サーバ３において、データ送受信管理部３３が、例えばポーリングを３個毎に２個間引く設定を行い、該間引き単位情報をデータ送受信制御部３４に通知して設定する。ここで、実施例１のステップＳ１０２のように、ポーリングの間引き単位を定めたポーリング間引き方法指示メッセージはゲートウェイ装置５に送信しない。
【００９９】
ステップＳ４０２，Ｓ４０３）
一方、電子デバイス６から無線ＬＡＮ通信により一定頻度でセンサデータが送信されているため、ＵＳＢデバイス４は、該電子デバイス６から送信されたセンサデータを自デバイス内のデータバッファに一時保管する。
【０１００】
ステップＳ４０４，Ｓ４０５）
その後、サーバ３において、データ送受信制御部３４は、ポーリング・リクエストをＩＰパケット化してゲートウェイ装置５に送信するが、ポーリングを３個毎に２個間引く設定が行われているため、シーケンス番号Ｓｅｑが１と２のポーリング・リクエストを破棄し、Ｓｅｑ＝３のポーリング・リクエストのみをゲートウェイ装置５に送信する。
【０１０１】
ステップＳ４０６，Ｓ４０７）
次に、ゲートウェイ装置５において、データ送信制御部５４は、サーバ３からＳｅｑ＝３のポーリング・リクエストを受信すると、抜けているシーケンス番号の数を検知し、該シーケンス番号の数は２個のため、ＵＳＢデータを３個毎にまとめる指示とみなして自機能部内に設定する。
【０１０２】
ステップＳ４０８，Ｓ４０９）
また、ゲートウェイ装置５において、データ送信制御部５４は、抜けているシーケンス番号を検知し、該シーケンス番号はＳｅｑ＝１，２のため、Ｓｅｑ＝１，２のポーリング・リクエストをそれぞれ生成し、計３つのポーリング・リクエストをＵＳＢ信号化してＵＳＢデバイス４に送信する。
【０１０３】
ステップＳ４１０，Ｓ４１１）
次に、ＵＳＢデバイス４において、Ｓｅｑ＝１のポーリング・リクエストに対して、データバッファからセンサデータを読み出し、Ｓｅｑ＝１のＵＳＢデータとしてゲートウェイ装置５に送信する。同様に、Ｓｅｑ＝２のポーリング・リクエストに対して、データバッファからセンサデータを読み出し、Ｓｅｑ＝２のＵＳＢデータとして送信し、Ｓｅｑ＝３のポーリング・リクエストに対して、データバッファからセンサデータを読み出し、Ｓｅｑ＝３のＵＳＢデータとして送信する。
【０１０４】
ステップＳ４１２，Ｓ４１３）
次に、ゲートウェイ装置５において、データ送信制御部５４は、自身でＵＳＢデータのまとめ単位を設定したため、ＵＳＢデバイス４からＳｅｑ＝１のＵＳＢデータを受信してもサーバ３には転送せずに一時保管する。続いてＳｅｑ＝２のＵＳＢデータを受信しても、該まとめ設定が３個毎に設定されているため、サーバ３には転送せずに一時保管する。更に続いてＳｅｑ＝３のＵＳＢデータを受信すると、上記ＵＳＢデータを３個毎にまとめる設定に基づきＳｅｑ＝１，２，３のＵＳＢデータを１個にまとめ、Ｓｅｑ＝３のＵＳＢデータとしてＩＰパケット化してサーバ３に送信する。
【０１０５】
ステップＳ４１４）
最後に、サーバ３において、データ送受信制御部３４は、ゲートウェイ装置５からＳｅｑ＝３のＵＳＢデータを受信すると、ＵＳＢデータ信号化して無線親機機能Ｂ部３２に送る。無線親機機能Ｂ部３２は、ＵＳＢデータから３つのセンサデータを取得し、上位の解析アプリに送る。解析アプリは、センサデータのデータ解析を行う。受信したＵＳＢデータのＳｅｑが３であるため、抜けているＳｅｑ＝１，２のポーリング・リクエストに対するＵＳＢデータの受信待機処理を終了扱いとする。
【０１０６】
以降、同様に、ステップＳ４０４，Ｓ４０５に基づきＳｅｑ＝６のポーリング・リクエストが送信されると、ステップＳ４０６〜Ｓ４１４が繰り返し実行される。
【０１０７】
以上のように、実施例４によれば、サーバ３がＩＰネットワーク１に送出するポーリング・リクエストを間引き、かつ、ゲートウェイ装置５がＩＰネットワーク１に送出するポーリング・リクエストをまとめ、更に、ゲートウェイ装置５がＵＳＢ制御信号の間引き設定とＵＳＢデータ信号のまとめ設定を自律的に行うため、ＩＰネットワーク１に流れるデータ量を更に削減可能となり、ネットワーク機器やサーバの負荷も更に軽減可能となる。
【実施例５】
【０１０８】
実施例１〜実施例４では、ＵＳＢデバイスで読み出されたＵＳＢデータをサーバに送信する。そのため、ＵＳＢデータのサイズはＵＳＢデバイスで規定されたデータ読み出しサイズとなる。しかし、課題で述べたように、ＵＳＢデバイスのデータ読み出しサイズは一般的に小さいため、ＩＰネットワークを通過するＵＳＢデータ信号の数が増加してしまう。
【０１０９】
そこで、実施例５では、上述した従来構成において、ＵＳＢデータをＵＳＢデバイスから予め取得してゲートウェイ装置で一時保管しておき、サーバからＵＳＢ制御信号が送信された際にはゲートウェイ装置が自らの記憶領域からＵＳＢデータを読み出す、つまり、データ読み出しサイズがＵＳＢデバイスよりも大きいゲートウェイ装置でＵＳＢデータの読み出し処理を行うことにより、ＩＰネットワーク上のＵＳＢ制御信号とＵＳＢデータ信号の数を削減する。
【０１１０】
そのため、実施例５では、従来のサーバに対して、データ送受信管理部３３と、データ送受信制御部３４と、を追加する。また、従来のゲートウェイ装置に対して、データ送信管理部５３と、データ送信制御部５４と、データバッファ部５５と、を追加する。実施例１〜実施例４のゲートウェイ装置に対してデータバッファ部のみを追加してもよい。
【０１１１】
図７は、実施例５に係るＵＳＢ／ＩＰ方式のＵＳＢ仮想化通信システムの構成を示す図である。以下、実施例１〜実施例４と相違する機能のみを説明する。
【０１１２】
データ送信制御部５４は、サーバ３からのＵＳＢ制御信号の受信の有無に関わらず、ＵＳＢ制御信号を自発的にＵＳＢデバイス４に送信する。また、サーバ３からＵＳＢ制御信号を受信した場合、自ゲートウェイ装置のデータ読み出しサイズでデータバッファ部５５からＵＳＢデータを取得し、該ＵＳＢデータのＵＳＢデータ信号をサーバ３に返信する。
【０１１３】
データバッファ部５５は、データ送信制御部５４による自発的なＵＳＢ制御信号の送信に基づきＵＳＢデバイス４から送信されたＵＳＢデータを一時的にバッファリングする。
【０１１４】
次に、実施例５の処理動作について説明する。
【０１１５】
最初に、図５の（ａ）〜（ｃ）を参照しながら、実施例５の処理動作を概説する。まず、ゲートウェイ装置５は、サーバ３からのポーリング・リクエストの受信の有無に関係なくポーリング・リクエストをＵＳＢデバイス４に送信し、該ＵＳＢデバイス４から受信したＵＳＢデータを自装置内にバッファリングしておく。その後、ゲートウェイ装置５は、サーバ３からのポーリング・リクエストが送信されると、自装置のデータ読み出しサイズで自装置内のバッファからＵＳＢデータを読み出してサーバ３に送信する。このように、ＵＳＢデータを予め取得してゲートウェイ装置でバッファリングしておき、ゲートウェイ装置自身の規定データ読み出しサイズでＵＳＢデータを読み出す、つまり、データ読み出しサイズをＵＳＢデバイスの制限から解放するため、ＩＰネットワーク１でゲートウェイ装置５からサーバ３に流れるパケット毎のデータ量を大きくでき、ＩＰネットワーク１でサーバ３からゲートウェイ装置５に流れるデータ数、ゲートウェイ装置５からサーバ３に流れるデータ数を削減可能となる。
【０１１６】
続いて、図８を参照しながら、実施例５の処理動作を詳述する。
【０１１７】
ステップＳ５０１，Ｓ５０２）
まず、電子デバイス６から無線ＬＡＮ通信により一定頻度でセンサデータが送信されているため、ＵＳＢデバイス４は、該電子デバイス６から送信されたセンサデータを自デバイス内のデータバッファに一時保管する。
【０１１８】
ステップＳ５０３，Ｓ５０４）
次に、ゲートウェイ装置５において、データ送信制御部５４は、サーバ３からのポーリング・リクエストとは無関係に、シーケンス番号Ｓｅｑが１のポーリング・リクエストをローカルに生成してＵＳＢデバイス４に送信する。
【０１１９】
ステップＳ５０５，Ｓ５０６）
次に、ＵＳＢデバイス４において、Ｓｅｑ＝１のポーリング・リクエストに対して、データバッファからセンサデータを読み出し、Ｓｅｑ＝１のＵＳＢデータとしてゲートウェイ装置５に送信する。このときのデータサイズは、ＵＳＢデバイス４のデータ読み出しサイズである５１２バイトとする。
【０１２０】
ステップＳ５０７）
次に、ゲートウェイ装置５において、データバッファ部５５は、ＵＳＢデバイス４から送信されたＵＳＢデータを保管する。
【０１２１】
ステップＳ５０８）
同様に、ゲートウェイ装置５において、データ送信制御部５４は、サーバ３からのポーリング・リクエストとは関係なく、Ｓｅｑ＝２，３，…のポーリング・リクエストを順次生成し、ステップＳ５０４〜Ｓ５０７を繰り返し実行する。
【０１２２】
ステップＳ５０９，Ｓ５１０，Ｓ５１１）
その後、サーバ３からＳｅｑ＝１のポーリング・リクエストがゲートウェイ装置５に送信されると、ゲートウェイ装置５のデータ送信制御部５４は、自ゲートウェイ装置のデータ読み出しサイズでデータバッファ部５５からＵＳＢデータを読み出し、ＩＰパケット化してＳｅｑ＝１のＵＳＢデータとしてサーバ３に送信する。このときのデータサイズは、ゲートウェイ装置５のデータ読み出しサイズである１０２４バイトとする。
【０１２３】
ステップＳ５１２）
最後に、サーバ３において、データ送受信制御部３４は、ゲートウェイ装置５からＳｅｑ＝１のＵＳＢデータを受信すると、ＵＳＢデータ信号化して無線親機機能Ｂ部３２に送る。無線親機機能Ｂ部３２は、各ＵＳＢデータからセンサデータをそれぞれ取得し、上位の解析アプリに送る。解析アプリは、センサデータのデータ解析を行う。
【０１２４】
以降、同様に、Ｓｅｑ＝２のポーリング・リクエストが送信されると、ステップＳ５１０〜Ｓ５１２が繰り返し実行される。
【０１２５】
以上のように、実施例５によれば、ＵＳＢデータを予め取得してゲートウェイ装置でバッファリングしておき、ゲートウェイ装置自身の規定データ読み出しサイズでＵＳＢデータを読み出して送信するため、サーバ３に送信するＵＳＢデータのサイズをＵＳＢデバイス４から直接読み出す場合よりも大きくすることができる。これにより、サーバ３がＩＰネットワーク１に送出するポーリング・リクエストのパケット数、ゲートウェイ装置５がＩＰネットワーク１に送出するＵＳＢデータのパケット数を削減可能となり、ネットワーク機器やサーバの負荷も軽減可能となる。
【符号の説明】
【０１２６】
１…ＩＰネットワーク
２…ＰＣ端末
３…サーバ
３１…ＵＳＢ仮想化機能部
３２…無線親機機能Ｂ部
３３…データ送受信管理部
３４…データ送受信制御部
４…ＵＳＢデバイス
５…ゲートウェイ装置
５１…ＵＳＢ仮想化機能部
５２…ＵＳＢハードウェア制御機能部
５３…データ送信管理部
５４…データ送信制御部
５５…データバッファ部
６…電子デバイス
Ｓ１０１〜Ｓ１１３，Ｓ２０１〜Ｓ２１２，Ｓ３０１〜Ｓ３１４，Ｓ４０１〜Ｓ４１４，Ｓ５０１〜Ｓ５１２，Ｓ６０１〜Ｓ６０８…ステップ
【図１】
2016139218.tif 000003
【図２】
2016139218.tif 000004
【図３】
2016139218.tif 000005
【図４】
2016139218.tif 000006
【図５】
2016139218.tif 000007
【図６】
2016139218.tif 000008
【図７】
2016139218.tif 000009
【図８】
2016139218.tif 000010
【図９】
2016139218.tif 000011
【図１０】
2016139218.tif 000012
【図１１】
2016139218.tif 000013
【図１２】
2016139218.tif 000014