(57)【要約】【課題】無線通信装置に搭載された仮想計算機環境において仮想化の効果を損なうことなく、通信制御に必要な情報を取得可能にする。【解決手段】本発明の実施形態としての無線通信装置は、無線ネットワークを介して、１つ以上の端末と通信する無線通信インタフェース部と、プロセッサ内の仮想計算機実行環境上で動作する仮想計算機またはコンテナから、前記端末との無線通信に基づく情報である無線ネットワーク情報に関する要求を受信し、前記要求に基づき、前記無線通信インタフェース部を用いて無線ネットワーク情報を取得、または予め与えられた情報から前記無線ネットワーク情報を読み出し、前記無線ネットワーク情報を前記仮想計算機またはコンテナに送信する無線ネットワーク情報制御部とを備える。【選択図】図１
2018156607.tif 000002
【特許請求の範囲】
【請求項１】
無線ネットワークを介して、１つ以上の端末と通信する無線通信インタフェース部と、
プロセッサにおける仮想計算機実行環境上で動作する仮想計算機またはコンテナから、前記端末との無線通信に基づく情報である無線ネットワーク情報に関する要求を受信し、前記要求に基づき、前記無線通信インタフェース部を用いて無線ネットワーク情報を取得、または予め与えられた情報から前記無線ネットワーク情報を読み出し、前記無線ネットワーク情報を前記仮想計算機またはコンテナに送信する無線ネットワーク情報制御部と
を備えた無線通信装置。
【請求項２】
前記仮想計算機またはコンテナは、前記無線ネットワーク情報を用いた処理を行う第１アプリケーションと、前記無線ネットワーク情報制御部と通信するための仮想デバイスを備えており、
前記無線ネットワーク情報制御部は、前記仮想デバイスから前記仮想計算機実行環境またはコンテナを介して、前記要求を受信し、前記無線ネットワーク情報を前記仮想デバイスに送信し、
前記仮想デバイスは、前記第１アプリケーションの指示に従って、前記仮想計算機実行環境またはコンテナを介して前記要求を前記無線ネットワーク情報制御部に送信し、前記無線ネットワーク情報制御部から受信した前記無線ネットワーク情報を、前記仮想計算機実行環境またはコンテナを介して、前記第１アプリケーションに渡す
請求項１に記載の無線通信装置。
【請求項３】
前記仮想計算機またはコンテナは、前記無線ネットワーク情報を用いた処理を行う第１アプリケーションを備えており、
前記プロセッサでは、前記仮想計算機実行環境またはコンテナとは別の環境で動作する第２アプリケーションが動作しており、
前記無線ネットワーク情報制御部は、前記第２アプリケーションから前記要求を受信し、前記無線ネットワーク情報を前記第２アプリケーションに送信し、
前記第２アプリケーションは、前記仮想計算機実行環境またはコンテナを介して前記仮想計算機またはコンテナから前記第１アプリケーションからの指示を受けることにより、前記要求を前記無線ネットワーク情報制御部に送信し、前記無線ネットワーク情報制御部から受信した前記無線ネットワーク情報を、前記仮想計算機実行環境またはコンテナを介して、前記第１アプリケーションに渡す
請求項１に記載の無線通信装置。
【請求項４】
前記要求は、無線ネットワーク情報の識別子を含み、
前記無線ネットワーク情報制御部は、情報識別子と、動作を識別するアクション識別子とを定義した複数のルールに基づき、前記要求が、前記複数のルールのいずれかの情報識別子に合致した場合に、前記合致するルールにおけるアクション識別子に対応する動作を実行することにより、前記無線ネットワーク情報を得る
請求項１ないし３のいずれか一項に記載の無線通信装置。
【請求項５】
前記ルールは、仮想計算機またはコンテナの識別子を含み、
前記要求は、前記要求の送出元の仮想計算機またはコンテナの識別子を含む、
請求項４に記載の無線通信装置。
【請求項６】
前記ルールは、前記アクション識別子に対応する動作を実行するための前提条件を含み、
前記無線ネットワーク情報制御部は、前記要求に関連する端末が前提条件を満たす場合、前記アクション識別子に対応する動作を実行する
請求項４または５に記載の無線通信装置。
【請求項７】
前記ルールは、前記アクション識別子に対応する動作を実行する対象となる端末に関する条件を含み、
前記無線ネットワーク情報制御部は、前記要求が対象とする情報が前記条件に合致するルールを特定する
請求項４または５に記載の無線通信装置。
【請求項８】
前記予め定めた情報を記憶する記憶部を備え、
前記無線ネットワーク情報制御部は、前記記憶部から無線ネットワーク情報の読み出しを行い、また、前記記憶部に前記取得した無線ネットワーク情報を保存する
請求項１ないし７のいずれか一項に記載の無線通信装置。
【請求項９】
前記予め定めた情報は外部サーバに保存されており、
前記無線ネットワーク情報制御部は、前記外部サーバから前記無線ネットワーク情報の読み出しを行い、また、前記外部サーバに前記取得した無線ネットワーク情報を保存する
請求項１ないし７のいずれか一項に記載の無線通信装置。
【請求項１０】
前記予め定めた情報の一部を記憶する記憶部を備え、
前記予め定めた情報の別の一部は外部サーバに記憶されており、
前記無線ネットワーク情報制御部は、前記記憶部および前記外部サーバの少なくとも一方から前記無線ネットワーク情報の読み出しを行う
請求項１ないし７のいずれか一項に記載の無線通信装置。
【請求項１１】
無線通信装置に接続されるコンピュータ装置であって、
プロセッサにおける仮想計算機実行環境上で動作する仮想計算機内またはコンテナ内に設けられ、前記無線通信装置と通信する端末の無線通信に基づく無線ネットワーク情報を利用した処理を行う第１アプリケーションと、
前記第１アプリケーションの指示に基づき前記無線通信装置に前記無線ネットワーク情報に関する要求を出力し、前記要求に応じて前記無線ネットワーク情報を含む応答を受信し、前記応答に含まれる前記無線ネットワーク情報を前記第１アプリケーションに提供するインタフェース部と、
を備えたコンピュータ装置。
【請求項１２】
前記インタフェース部は、前記仮想計算機内またはコンテナ内に設けられ仮想デバイスであり、
前記仮想デバイスは、前記第１アプリケーションから指示を受けて前記要求を前記無線通信装置に出力し、前記無線通信装置から前記応答を受信し、受信した応答を前記第１アプリケーションに提供する
請求項１１に記載のコンピュータ装置。
【請求項１３】
前記インタフェース部は、前記プロセッサにおいて前記仮想計算機実行環境またはコンテナとは別の環境で動作する第２アプリケーションであり、
前記第２アプリケーションは、前記仮想計算機実行環境またはコンテナを介して前記第１アプリケーションからの指示を受けることにより、前記要求を前記無線通信装置に出力し、前記無線通信装置から受信した前記無線ネットワーク情報を、前記仮想計算機実行環境またはコンテナを介して、前記第１アプリケーションに提供する
請求項１１に記載のコンピュータ装置。
【請求項１４】
無線ネットワークを介して、１つ以上の端末と通信するステップと、
プロセッサで動作する仮想計算機実行環境上で動作する仮想計算機またはコンテナから、前記端末との無線通信に基づく情報である無線ネットワーク情報に関する要求を受信するステップと、
前記要求に基づき、無線通信インタフェース部を用いて無線ネットワーク情報を取得、または予め与えられた情報から前記無線ネットワーク情報を読み出すステップと、
前記無線ネットワーク情報を前記仮想計算機またはコンテナに送信するステップと
を備えた無線通信方法。
【請求項１５】
無線通信装置に接続されるコンピュータ装置で実行する情報処理方法であって、
プロセッサにおいて動作する仮想計算機実行環境上で動作する仮想計算機内またはコンテナ内に設けられ、前記無線通信装置と通信する端末との無線通信に基づく情報である無線ネットワーク情報を利用した処理を行う第１アプリケーションが、前記無線ネットワーク情報に関する要求を生成するステップと、
前記仮想計算機内またはコンテナ内に設けられたインタフェース部により、前記無線通信装置に前記要求を送信し、前記要求に応じて前記無線ネットワーク情報を含む応答を前記インタフェース部で受信するステップと、
前記応答に含まれる前記無線ネットワーク情報を、前記第１アプリケーションに提供するステップと
を備えた情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、無線通信装置、無線通信方法、コンピュータ装置および情報処理方法に関する。
【背景技術】
【０００２】
従来、通信装置は、ネットワークに関連する処理のみを行い、一般的な計算処理（例えば、データ変更や、データの配信制御など）を実行する機能を具備していなかった。これに対して近年提唱されているいくつかの概念では、仮想計算機を通信装置に導入して、通信装置の内部で計算処理を行うことが示されている。
【０００３】
このような仮想計算機が導入された通信装置に、複数の計算処理を実行させる場合がある。その際、仮想計算機実行環境が提供する計算環境の分離機能により、異なる計算処理が互いに影響を受けることなく実行できる。仮想計算機実行環境は、物理的な計算リソースから切り離されて、ソフトウェアによって再現されるが、実環境の情報を参照する必要がある一部のアプリケーションで問題が生じる。例えば、無線通信の状況を把握し、把握した状況に基づき通信制御を行う制御ソフトウェアを考える。この制御ソフトウェアの実行には、無線インタフェースが検出している受信電力や電波干渉の発生頻度といった無線情報が必要である。しかし、仮想化された計算機環境では、無線インタフェースも仮想化され、無線通信で受信されたフレームは、有線通信のフレームに変換されて処理される。この変換の過程で、受信フレームのヘッダに含まれる情報や、物理リソースの無線インタフェースを通してのみ検出できる情報が欠落する。そのため、無線通信の状況に基づき通信制御を行う制御ソフトウェアを、仮想計算機環境で実行することは難しい。
【０００４】
この問題を解決する１つの方法は、無線インタフェースをソフトウェアで完全にエミュレートすることである。もう１つの方法は、物理リソースである無線インタフェースへの直接的なアクセスを許容することである。これらによって上記の情報の欠落を防ぐことができる。しかし、前者のようにソフトウェアによるエミュレートの方法を用いると、物理リソースである無線インタフェースは実装ごとに仕様が異なるため、ソフトウェアが複雑になり、仮想化と相反する状態になってしまう。後者の無線インタフェースへの直接的なアクセスを実現する方法の一例として、ＰＣＩ−ＳＩＧで策定されたＳＲ−ＩＯＶがある。この方法では、仮想環境から無線ＬＡＮの情報にアクセスできるようになるが、通信装置側に複雑な制御技術が必要になる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】米国特許出願公開第2016/0054953号明細書
【非特許文献】
【０００６】
【非特許文献１】“Virtual WiFi: Bring Virtualization from Wired to Wireless”VEE '11 Proceedings of the 7th ACM SIGPLAN/SIGOPS international conference on Virtual execution environments
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明の実施形態は、以上のような従来の欠点に鑑み、無線通信装置に搭載された仮想計算機環境において仮想化の効果を損なうことなく、通信制御に必要な情報を取得可能にすることを目的とする。
【課題を解決するための手段】
【０００８】
本発明の実施形態としての無線通信装置は、無線ネットワークを介して、１つ以上の端末と通信する無線通信インタフェース部と、プロセッサ内の仮想計算機実行環境上で動作する仮想計算機またはコンテナから、前記端末との無線通信に基づく情報である無線ネットワーク情報に関する要求を受信し、前記要求に基づき、前記無線通信インタフェース部を用いて無線ネットワーク情報を取得、または予め与えられた情報から前記無線ネットワーク情報を読み出し、前記無線ネットワーク情報を前記仮想計算機またはコンテナに送信する無線ネットワーク情報制御部とを備える。
【図面の簡単な説明】
【０００９】
【図１】第１の実施形態に係る無線通信装置の構成例を示す図。
【図２】アプリ実行部の構成例を示す図。
【図３】仮想デバイスをインタフェース部として仮想計算機に設けた構成図。
【図４】アプリ実行部に中継アプリケーションをインタフェース部として設けた構成図。
【図５】第１の実施形態に係る動作のシーケンス図。
【図６】第１の実施形態に係る動作のシーケンス図。
【図７】第１の実施形態に係る動作のシーケンス図。
【図８】複数のルールの例を示す図。
【図９】無線ネットワーク情報制御部の動作のフローチャート。
【図１０】付随条件の確認処理のフローチャート。
【図１１】アクション実行の動作のフローチャート。
【図１２】第２の実施形態の説明図。
【図１３】第３の実施形態に係るブロック図。
【図１４】第４の実施形態に係るブロック図。
【図１５】近隣の無線通信装置から情報を取得する動作例を説明する図。
【図１６】第５の実施形態のブロック図。
【発明を実施するための形態】
【００１０】
以下、図面を参照しながら、本発明の実施の形態について説明する。
（第１の実施形態）
（構成）
図１は、本発明の実施形態に係る無線通信装置の構成を示したものである。無線通信装置は、例えばＩＥＥＥ８０２．１１ａｃに準拠する無線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）アクセスポイントである。本無線通信装置は、無線通信部１０１、転送部１０２、有線通信部１０３、無線通信制御部１０４、転送制御部１０５、無線情報記憶部１０６、無線ネットワーク情報制御部１０７、アプリ実行部１０８、アプリ用記憶部１０９を備えている。無線通信部１０１および無線通信制御部１０４は、一例として、無線通信インタフェース部１１１（例えば、無線ＬＡＮインタフェース部）を構成する。なお、本実施形態の説明に不要な構成要素は省略している。図における破線は、情報の流れを示す。実線は、制御信号またはパケット（フレーム）の流れを示す。
【００１１】
無線通信部１０１は、無線通信装置が提供する無線ネットワーク（無線ＬＡＮ）と接続するためのインタフェースである。無線通信部１０１は、使用する無線周波数に応じて、５ＧＨｚ帯や２．４ＧＨｚ帯に対応した無線回路（パワーアンプ等）を備える。また、無線通信部１０１は、ＭＡＣ層やＰＨＹ層を実装した無線ＬＡＮチップ、送受信するフレームを一時的に格納するバッファメモリ、それらを制御する制御回路などを含む。制御回路では、無線ＬＡＮチップを介して把握できる端末との無線通信に基づく種々の情報（以下、無線ネットワーク情報とする）を管理する。制御回路は、無線ネットワーク情報を、バッファメモリに格納したり、レジスタを介して外部（例えば無線通信制御部１０４、無線ネットワーク情報制御部１０７）に提供できる。なお、図１では、無線通信部１０１が備えるこれらの詳細要素（無線回路、無線ＬＡＮチップ、バッファメモリ、制御回路等）は省略している。
【００１２】
有線通信部１０３は、無線ＬＡＮの上流となる外部ネットワークに接続するための通信インタフェースである。有線通信部１０３は、例えば、ＩＥＥＥ８０２．３ａｂ（１０００ＢＡＳＥ−Ｔ）に対応する有線ＬＡＮインタフェースである。なお、この図ではインタフェースを１つしか図示していないが、複数でもよい。複数のインタフェースを具備する際に、スイッチングハブＬＳＩを具備して、接続ポートを増やすようにしても良い。
【００１３】
転送部１０２は、無線通信部１０１と有線通信部１０３の間でデータを転送する。無線ネットワークと有線ネットワークでは通信方式が異なるため、転送部１０２は、データ転送の際に、フレームフォーマットの変換を行う。
【００１４】
転送制御部１０５は、転送部１０２の転送処理を司る制御部である。例えば無線通信部１０１と有線通信部１０３との間で転送を禁止するフレームの制御や、ＶＬＡＮとＳＳＩＤの対応管理などを行う。なお、転送制御部１０５は、転送を制御するための制御情報に基づき動作する。この制御情報を転送制御部１０５に設定する例として、アプリ実行部１０８や図示しない別の実行部等にて、ユーザインタフェースプログラム（例えばウェブサーバやＳＳＨサーバ）が実行されることで、転送制御部１０５に制御情報が通知される。
【００１５】
無線通信制御部１０４は、無線通信部１０１が提供する無線ＬＡＮ（無線ネットワーク）の管理を行う。例えば、無線通信制御部１０４は、無線通信端末（以下、端末）との接続管理、および、周辺電波状況に応じた無線出力の制御と受信感度の制御などを行う。また、無線通信制御部１０４は、無線通信部１０１（の制御回路）で検出した無線ネットワーク情報を受け取り、無線ネットワーク情報制御部１０７に当該受け取った情報を提供したりする。
【００１６】
無線ネットワーク情報制御部１０７は、無線通信制御部１０４および無線通信部１０１から取得した種々の無線ネットワーク情報を管理したり、加工したりする。また、外部（アプリ実行部１０８など）からの要求に基づいて、無線ネットワーク情報を提供することもできる。加工後の無線ネットワーク情報も、無線ネットワーク情報の一例である。
【００１７】
無線情報記憶部１０６は、本無線通信装置が無線ＬＡＮ（無線ネットワーク）を提供および管理するための種々の情報を保存する。無線情報記憶部１０６は、一例として、無線ネットワークのユーザを管理するユーザ情報を記憶する記憶部１２１、無線ネットワークに接続している端末の情報を管理するアソシエーション情報を記憶する記憶部１２２、無線通信部１０１を介して収集した無線ネットワーク情報を記憶する記憶部１２３を備える。本実施形態では、これら３つの情報を保存していることを想定するが、更なる情報を保存していてもよい。ユーザ情報は、ユーザ名、パスワード、ＩＰアドレス、ＭＡＣアドレスなどのうち少なくとも１つを例えば含む。アソシエーション情報は、例えば端末が本無線通信装置に接続（アソシエート）した時刻等の情報を含む。無線ネットワーク情報は、端末との無線通信に基づく情報である。本実施形態では、無線ネットワーク情報を、アソシエーション情報およびユーザ情報とは区別しているが、本発明の実施においては、無線ネットワーク情報がアソシエーション情報およびユーザ情報の少なくとも一方を含むように定義してもかまわない。
【００１８】
アプリ用記憶部１０９は、無線ネットワークを介して送受信される様々な情報またはデータに対して様々な計算処理を行うアプリ（アプリケーション）と、アプリケーションに関連する情報またはデータを記憶する。アプリ実行部１０８は、アプリ用記憶部１０９に記憶されているアプリケーションを実行する。アプリ実行部１０８には、仮想計算機環境が備わっており、それによって複数のアプリケーション（処理）を独立に実行できる。加えて、アプリ実行部１０８は、転送制御部１０５に対して、アプリ実行部１０８に備わっている仮想計算機（アプリケーションを実行する単位）へのパケット（またはフレーム）の転送を指示することができる。アプリ実行部１０８は、これによって仮想計算機を、特定の無線ネットワークもしくは有線ネットワークに接続できる。
【００１９】
なお、無線通信制御部１０４、転送制御部１０５、無線ネットワーク情報制御部１０７、転送部１０２等の各機能は、専用のハードウェアで実現してもよいし、汎用のプロセッサで動作するソフトウェアによって実現してもよい。その際、汎用プロセッサは１つでもよいし、複数でもよい。物理的には１つのプロセッサであっても、当該１つのプロセッサの内部が複数に分割される場合や、当該１つのプロセッサが論理的に分割されるような構成であってもよい。さらに専用回路または専用プロセッサと、汎用プロセッサとの組み合わせによって実現してもよい。
【００２０】
（無線ネットワーク情報制御部１０７の詳細）
本実施形態の中心的な役割を担う無線ネットワーク情報制御部１０７の機能を詳細に述べる。
【００２１】
無線ネットワーク情報制御部１０７が備える機能は大きく３つある。
第一に、無線通信部１０１および無線通信制御部１０４から無線ネットワーク情報（以下、単に情報と記載する場合がある）を受け取る機能（情報取得機能）である。
第二に、必要に応じて、受け取った情報に演算を施して加工し、無線情報記憶部１０６に保存する機能（情報の加工および保存機能）である。
第三に、情報を無線情報記憶部１０６から（すなわち予め与えられた情報から）読み出して、読み出した情報をアプリ実行部１０８に提供する機能（情報の読み出し・応答機能）である。
以下、各々の機能について述べる。
【００２２】
（無線ネットワーク情報制御部１０７：情報取得機能）
無線ネットワーク情報制御部１０７は、無線通信部１０１および無線通信制御部１０４など、無線通信装置の内部構成要素から情報を取得する。取得する情報の内容は、静的に決定されていてもよいし、アプリ実行部１０８にて実行されるアプリケーションからの指示（情報取得要求）に基づいて決定されてもよい。また無線ネットワーク情報制御部１０７は、図１には図示しないプロセッサから指示を受け取って、それに基づいて取得する情報を決定してもよい。いずれにせよ、無線ネットワーク情報制御部１０７は、何らかの指示に基づいて、取得するべき情報を決定する。
【００２３】
取得する情報を特定する指示は、情報そのものを特定する識別子を含んでもよい。あるいは、何らかの作業内容を特定する識別子によって、取得する情報の識別子が特定されてもよい。後者の場合、識別子によって特定された作業内容を無線ネットワーク情報制御部１０７が解釈し、取得する情報の識別子を決定する。例えば、ある「端末の通信状況を取得」という作業内容を特定する識別子が指定された場合、ＲＳＳＩ、送信フレーム数、受信フレーム数、送信エラー率、受信エラー率を示す各識別子が特定される。作業内容の識別子と、情報の識別子との対応関係が、無線情報記憶部１０６などに、事前に保持されているとする。この対応関係を利用して、作業内容の識別子を、取得する情報を特定する識別子を特定する。なお、ここに挙げた対応関係は一例であり、本発明の実施を限定するものではない。
【００２４】
無線ネットワーク情報制御部１０７は、取得するべき情報を決定すると、無線通信部１０１もしくは無線通信制御部１０４などから、情報の取得を行う。ここで情報の取得方法には複数の方法がある。複数の方法は、要求の有無と、要求方法および応答方法の組み合わせとによって区別される。
【００２５】
要求の有無とは、情報の取得に際して、情報の取得先に対する要求の発行要否のことである。
【００２６】
要求を発行する必要がある場合は、要求と応答の方法により、さらにいくつかの組み合わせが考えられる。例えば、要求レジスタに必要な情報の識別子を書き込んで、応答レジスタから情報を読み出す方法が考えられる。また、識別子を要求ディスクリプタに設定することにより生成した要求を送信して、メモリ（図示せず）に出力される応答を読み出す方法が考えられる。また、プロセス間通信によって識別子を通知して、応答として情報を受信する方法が考えられる。
【００２７】
一方、要求の発行が不要の場合は、例えば、情報の最新の値が、参照される側（情報の取得先）のレジスタにセットされ、その値を無線ネットワーク情報制御部１０７が読み出す方法が考えられる。また、無線通信装置内のバスやネットワークを通じて情報が逐次、情報の取得先から送信されるようにする方法が考えられる。この場合、情報は無線ネットワーク情報制御部１０７（の小さなバッファ（図示せず））もしくは無線情報記憶部１０６のいずれかに蓄積される。
【００２８】
また、最初に要求を、参照される側の構成要素（情報の取得先）に通知しておくと、所望の情報が自発的に出力されるように実装することもできる。例えば、無線通信制御部１０４にＭＡＣアドレスを通知しておくと、当該ＭＡＣアドレスを送信元にするフレームのＲＳＳＩが自動的に無線ネットワーク情報制御部１０７に送られてくるようにする方法がある。また、所望の情報について、事前に通知した閾値に対する関係が変化した場合に、当該情報が無線ネットワーク情報制御部１０７に送られてくるようにする方法もある。
【００２９】
無線通信部１０１もしくは無線通信制御部１０４が複数の情報を一度に参照できるように実装されている場合、無線ネットワーク情報制御部１０７は、複数の情報を一度に取得してもよい。
【００３０】
このように取得する情報（無線ネットワーク情報）の例として、以下のものがある。この他の情報も、必要に応じて、取得してもよい。
・受信電波強度（ＲＳＳＩ）、受信電力、信号雑音比（ＳＮＲ）
・電波到来角（ＡｏＡ：  Ａｎｇｌｅ  ｏｆ  Ａｒｒｉｖａｌ）、電波到来時間差（ＴＤｏＡ：  Ｔｉｍｅ  Ｄｉｆｆｅｒｅｎｃｅ  ｏｆ  Ａｒｒｉｖａｌ）
・通信量に関する情報
送信フレーム数、受信フレーム数
送信エラーフレーム数、受信エラーフレーム数、送信エラー率、受信エラー率
【００３１】
（無線ネットワーク情報制御部１０７：情報の加工および保存機能）
無線ネットワーク情報制御部１０７は、取得した情報（無線ネットワーク情報）に対して、必要に応じて演算を施して加工し、加工された情報を、無線情報記憶部１０６に保存する。加工の種類には、例えば以下のものがある。
・エラーの除去・訂正
取得した情報にエラーが含まれている場合に、そのエラーを除去したり訂正したりする処理を行う。
・統計処理（平均値、中央値、最頻値、最大値、最小値、など）
取得した複数の値に対して統計処理を行う。演算の対象となるサンプル数もしくは時間に関する情報は静的に設定されているか、もしくは、情報の提供を取得先に要求する際に設定される。
・値の正規化
受信した情報を正規化し、これにより、保存する情報量を削減する。
【００３２】
また、情報の保存処理にもいくつかのバリエーションがある。
・端末ごとのリストにして保存する。すなわち、取得した情報を、端末の識別子（ＭＡＣアドレスなど）に関連づけて保存する。
・時系列化して保存する。すなわち、取得した情報を時系列に並べて保存する。
・タグを付与して保存する。すなわち、取得した情報を特徴づけるタグを付与する。タグの種類としては、取得時刻、端末の識別子（ＭＡＣアドレス）、取得した情報の識別子などがある。
【００３３】
これら加工処理と保存処理は互いに独立して実行できる。それらの組み合わせ、および実行順序は、本実施形態の実現には影響せず、任意で良い。例えば、実行順序に関して、事前に加工処理を行ってから、加工後の情報を無線情報記憶部１０６に保存してもよい。または、いったん情報を保存し、その後で情報を読み出してから加工し、加工後の情報を再度保存しても良い。加工後の情報に加え、加工前の情報も保存しておいてもよい。
【００３４】
加工処理の内容と、保存処理の内容と、これらの処理の対象となる情報とを、アプリ実行部１０８からの要求に応じて、無線ネットワーク情報制御部１０７が決定する。（アプリ実行部１０８から）要求される情報と、当該情報の元になる情報（加工前の情報）と、加工・保存処理との組み合わせと、を定義した生成規則を事前に保持しておき、無線ネットワーク情報制御部１０７は、この生成規則に基づき、動作してもよい。この場合、無線ネットワーク情報制御部１０７は、アプリ実行部１０８から情報に関する要求を受信すると、生成規則を参照して、行うべき加工処理および保存処理の内容を決定し、これらの処理に必要な情報も決定する。無線ネットワーク情報制御部１０７は、決定した情報を、前述したようにして取得し、加工処理および保存処理を行うことにより、アプリ実行部１０８から要求された情報を生成する。なお、無線ネットワーク情報制御部１０７は、この決定した情報をアプリ実行部１０８から、当該要求とともに生成規則として受け取り、それに基づいて動作してもよい。生成規則はＳＱＬ文のようなデータベース操作言語などを含むプログラムの形で表現されてもよいし、加工処理および保存処理等を特定する識別子の組み合わせとして表現されてもよい。
【００３５】
（無線ネットワーク情報制御部１０７：情報の読み出し・応答機能）
無線ネットワーク情報制御部１０７が、外部（アプリ実行部１０８等）からの情報参照要求（読み出し要求）に基づいて、無線情報記憶部１０６から（すなわち予め与えられた情報から）情報を読み出して、読み出した情報を応答する。
【００３６】
情報の読み出し要求は、先に述べた情報の取得要求と同様の方法で、アプリ実行部１０８等から無線ネットワーク情報制御部１０７に通知される。ただし、情報の読み出し要求が、情報の取得要求と同時に、無線ネットワーク情報制御部１０７に通知されてもよいし、情報の読み出し要求が、情報の取得要求とは独立した形で通知されてもよい。また、取得要求にフラグを付けるなどすることにより、取得要求が、情報の取得と同時に、情報をアプリ実行部１０８へ応答することを表してもよい。
【００３７】
取得要求と読み出し要求が同時に通知された場合に、取得と読み出しを同時に行うか否かは、無線ネットワーク情報制御部１０７において、取得する情報の種類に応じて決定してもよい。または、アプリ実行部１０８が、取得要求または読み出し要求に、上述のようにフラグを付けるなどして、同時に行うかを明示的に指定してもよい。あるいは、取得と読み出しを同時に行うことを意味する要求を定義してもよい。ここで、取得と読み出しを同時に行うとは、取得した（または加工した）情報を、即時に（または無線情報記憶部１０６にいったん保存してから）、アプリ実行部１０８に返すことを意味する。ここで、情報の種類に応じて同時実行するかを決定する例として、アプリ実行部１０８が取得要求および読み出し要求される情報が統計値の場合、無線情報記憶部１０６に保存されている情報を使って応答する（ただし、取得した最新値で更新してから応答してもよい）。一方、取得要求および読み出し要求される情報が現在値（最新値）の場合は、取得した情報を速やかにアプリ実行部１０８に応答する（この場合、取得した情報を保存する処理は、応答と並行して実施してもよい）。
【００３８】
アプリ実行部１０８から単独で読み出し要求を受信することにより、情報の読み出しが必要となった場合、無線ネットワーク情報制御部１０７は、要求された情報を読み出す指示情報を生成して、生成した指示情報を無線情報記憶部１０６に通知する。無線情報記憶部１０６は、指示情報に基づいて読み出すべき情報を特定し、特定した情報を読み出して、応答として無線ネットワーク情報制御部１０７に送る。無線ネットワーク情報制御部１０７は、無線情報記憶部１０６から受け取った応答に含まれる情報を、必要に応じて整形して、アプリ実行部１０８に返す。
【００３９】
（アプリ実行部１０８における無線ネットワーク情報の取得処理）
アプリ実行部１０８における無線ネットワーク情報の取得について述べる。アプリ実行部１０８では、１つまたは複数の仮想計算機が動作している。図２に、アプリ実行部１０８の構成例を示す。なお、図２には、アプリ実行部１０８以外に、転送部１０２、無線通信部１０１、無線通信部１０３、無線ネットワーク情報制御部１０７も表示してある。アプリ実行部１０８は、一例として、物理マシン（例えばＣＰＵ等のプロセッサ）と、当該物理マシンで動作するソフトウェアとによって構成される。
【００４０】
より詳細には、物理マシン（プロセッサ）には、デバイスドライバ１５１、および仮想計算機基盤ソフトウェア（仮想計算機実行基盤）１６１がインストールされている。仮想計算機の基盤ソフトは、例えばＶＭＭ（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ  Ｍｏｎｉｔｏｒ）と呼ばれる仮想化ソフトウェアである。ＶＭＭの具体例として、ＸｅｎまたはＫＶＭなどがある。仮想計算機基盤ソフトウェア１６１を介して、複数の仮想計算機（ＶＭ：Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ）１５５−１〜１５５−Ｎが動作可能になっている。複数の仮想計算機により、ＣＰＵの物理的な計算資源が共有される。各仮想計算機は、仮想計算機ハードウェア１９１−１〜１９１−Ｎを含み、仮想計算機ハードウェア１９１−１〜１９１−Ｎ上で、オペレーティングシステム（ＯＳ）１８１−１〜１８１−Ｎと、アプリケーション（アプリ）１７１−１〜１７１−Ｎが動作する。仮想的計算機ハードウェアは、ＯＳや、ＯＳ上で動作するアプリケーションにとって、あたかも物理マシンのように振る舞うソフトウェアである。仮想計算機基盤ソフトウェア１６１は、仮想計算機１５５−１〜１５５−Ｎの動作をサポートする。また、仮想計算機基盤ソフトウェア１６１は、例えばＣＰＵスケジューリングなども行う。ＣＰＵスケジューリングとは、ＣＰＵの物理リソースをどの仮想計算機に割り当てるかを決定し、決定した仮想計算機に物理リソースを実際に使用させることである。
【００４１】
（仮想計算機に対する情報提供の仕組み：１つ目）
アプリ実行部１０８が、無線ネットワーク情報を取得するためには、アプリ実行部１０８に、無線ネットワーク情報制御部１０７とのインタフェース部を設ける必要がある。このためには、複数の実現方法がある。１つ目は仮想デバイス（インタフェース部）を仮想計算機に提供する方法である。図３に、仮想デバイスを仮想計算機に提供することにより無線ネットワーク情報を取得するための構成例を示す。
【００４２】
ソフトウェアの仮想デバイス（図では無線ネットワーク情報交換用仮想デバイス）１９２が、仮想計算機ハードウェアに設けられている。仮想計算機基盤ソフトウェア１６１が、仮想デバイス１９２を生成して、仮想計算機ハードウェア１９１に提供してもよい。この仮想デバイス１９２は、仮想計算機から参照されることができる。より詳細には、仮想デバイス１９２は、仮想計算機内のＯＳ１８１に含まれる専用ソフトウェアである仮想デバイス用デバイスドライバ１８２からアクセスできる。仮想計算機の内部では、アプリケーション１７１から仮想デバイス１９２を認識でき、アプリケーション１７１は、デバイスドライバ１８２を介して、仮想デバイス１９２を制御する。すなわち、アプリケーション１７１は、仮想デバイス１９２を用いて、実際の情報のやり取りを行う。
【００４３】
仮想計算機基盤ソフトウェア１６１には、仮想デバイス１９２への対応部分１６２を有し、対応部分１６２が仮想デバイス１９２の動作をサポートする。デバイスドライバ１５１には、無線ネットワーク情報制御部１０７用のデバイスドライバ１５２が含まれ、仮想デバイス１９２は、デバイスドライバ１５２を介して、無線ネットワーク情報制御部１０７にアクセスする。
【００４４】
ここでは、無線ネットワーク情報制御部１０７がハードウェアの場合を想定しているが、無線ネットワーク情報制御部１０７がソフトウェアで実装されてもよい。この場合、このソフトウェアは、仮想計算機１５５と同じプロセッサにおいて、仮想計算機基盤ソフトウェアとは別の環境に所定のＯＳ上で実装されればよい。この場合、対応部分１６２が、ソフトウェアの無線ネットワーク情報制御部と情報をやりとりし、ソフトウェアの無線ネットワーク情報制御部がデバイスドライバ１５１を介して、無線通信部１０１、無線通信制御部１０４、および無線情報記憶部１０６等とやりとすればよい。
【００４５】
（仮想計算機に対する情報提供の仕組み：２つめ）
２つ目は、アプリ実行部１０８内に無線ネットワーク情報制御部１０７とのインタフェース部として中継アプリケーションを設け、仮想計算機内のアプリが、この中継アプリケーションと通信する方法である。図４に、アプリ実行部１０８に中継アプリケーション（インタフェース部）を設けることにより、情報（無線ネットワーク情報）を取得するための構成例を示す。
【００４６】
アプリ実行部１０８内に中継アプリケーション２０１が設けられている。中継アプリケーション２０１、仮想計算機１５５と同じプロセッサにおいて、仮想計算機基盤ソフトウェアとは別の環境に所定のＯＳ上で実装される。中継アプリケーション２０１は、ＴＣＰ／ＩＰまたはプロセス間通信などにより、仮想計算機１５５内のアプリケーション１７１と通信し、情報のやり取りを行う。また、中継アプリケーション２０１は、デバイスドライバ１５２を介して、無線ネットワーク情報制御部１０７と情報をやり取りする。
【００４７】
（仮想計算機に対する情報提供の仕組み：仮想計算機を区別する識別子）
図３および図４に示した上記二つの方法において、複数の仮想計算機を識別するための識別子が必要である。以下、識別子の種類と、その扱いについて述べる。
【００４８】
図３に示した方法を利用する場合、仮想計算機基盤ソフトウェア１６１が情報の取得要求を生成した仮想計算機の識別子と、当該情報の取得要求との対応を把握する。利用できる識別子として、仮想計算機内で用いられているプロセスＩＤまたはプログラム名、または、仮想計算機で使用している物理メモリのアドレスがある。または、仮想計算機基盤ソフトウェアが発行した一意の識別子などがある。
【００４９】
図４に示した方法を利用する場合、仮想計算機に割り当てられたＩＰアドレス、仮想計算機に割り当てられた仮想ＭＡＣアドレス、仮想計算機基盤ソフトウェア１６１が一意に割り当てた仮想計算機ＩＤなどが利用できる。なお、仮想計算機内で用いられているプロセスＩＤまたはプログラム名、または、仮想計算機で使用している物理メモリアドレスなど、仮想計算機内に閉じた識別子は、仮想計算機実行環境の外側から一意に識別できないため、仮想計算機の識別子として利用できない。
【００５０】
（仮想計算機に対する情報提供の仕組み：混在）
上述したアプリ実行部１０８と無線ネットワーク情報制御部１０７との間での情報のやり取りの方法（図３に示した仮想デバイスを用いる方法、図４に示した中継アプリケーションを用いる方法）は、複数の仮想計算機に対していずれか一方の方法が共通に用いられてもよいし、仮想計算機ごとに用いられる方法が異なってもよい。
【００５１】
（シーケンス）
図５〜図７を用いて、本実施形態に係る動作のシーケンスを説明する。本シーケンスは、図３および図４で説明した２つの方法のいずれでも実行可能である。
【００５２】
（読み出し機能のみ）
図５は、アプリ実行部１０８が必要とする情報（無線ネットワーク情報）が無線情報記憶部１０６に保存されている場合に当該情報を読み出す場合のシーケンスである。
【００５３】
仮想計算機１５５は、情報の取得要求を生成し（Ａ１０１）、生成した取得要求を仮想計算機実行基盤１６１に出力する（Ａ１０２）。ここでの取得要求は、読み出し要求も兼ねているものとする（例えば前述したフラグが取得要求に付加されているなど）。仮想計算機実行基盤１６１は、取得要求の送信元の仮想計算機を特定し、特定した仮想計算機の識別子を、取得要求に対応づけてメモリ等に保存する（Ａ１０３）。また仮想計算機実行基盤１６１は、取得要求を、無線ネットワーク情報制御部１０７が解釈可能な形式に整形して（同Ａ１０３）、無線ネットワーク情報制御部１０７に出力する（Ａ１０４）。
【００５４】
無線ネットワーク情報制御部１０７は、取得要求で要求された情報が無線情報記憶部１０６に保存されているかを確認し（Ａ１０５）、保存されている場合に、無線情報記憶部１０６に、要求された情報の読み出し指示を出力する（Ａ１０６）。無線情報記憶部１０６は、指示された情報を内部から読み出して、当該情報を含む応答（読み出し応答）を無線ネットワーク情報制御部１０７に返す（Ａ１０７）。
【００５５】
無線ネットワーク情報制御部１０７は、受信した読み出し応答を確認し（Ａ１０８）、読み出し応答に含まれる情報を取り出し、当該情報を含む応答を生成して、仮想計算機実行基盤１６１に返す（Ａ１０９）。仮想計算機実行基盤１６１は、受信した応答に対応する仮想計算機識別子を特定し、応答に含まれる情報に基づき、当該仮想計算機識別子を有する仮想計算機用の応答を生成する（Ａ１１０）。仮想計算機実行基盤１６１は、生成した応答を仮想計算機１５５に返す（Ａ１１１）。仮想計算機１５５は、応答を受信し、応答から情報を取得する（Ａ１１２）。これにより、仮想計算機１５５は、取得要求で要求した情報を取得する。
【００５６】
（取得・加工・読み出し）
図６は、アプリ実行部１０８が必要とする情報が無線情報記憶部１０６に保存されていない場合のシーケンスを示す。図５のステップと同じまたは対応するステップには同一の符号を付している。無線ネットワーク情報制御部１０７は、取得要求で要求された情報が無線情報記憶部１０６に保存されていない場合は、当該情報の取得要求（情報要求）を無線通信制御部１０４または無線通信部１０１に送信し（Ａ１２１またはＡ１２３）、当該情報を含む応答（情報応答）を得る（Ａ１２２またはＡ１２４）。どちらに情報要求を送信するかは、要求された情報に依存する。無線ネットワーク情報制御部１０７は、受信した情報応答に含まれる情報をアプリ実行部１０８から受けた取得要求に合わせて加工し、加工後の情報を含む応答を返す（Ａ１０９）。この際、加工した情報の再利用に対応するため、無線情報記憶部１０６に保存してもよい（Ａ１２６）。また、加工した情報を無線情報記憶部１０６に一旦保存し、保存された情報を読み出して、応答を返してもよい（Ａ１２６、Ａ１０７、Ａ１０８、Ａ１０９）。以降のステップは、図５と同様である（Ａ１１０、Ａ１１１等）。
【００５７】
（事前予約）
図７は、情報が生成された時に自動的に仮想計算機に当該情報が送られるようにする場合のシーケンスの例である。
【００５８】
アプリ実行部１０８が、情報が生成または取得された際に自動的に当該情報を自部へ送信することを指示する予約要求を、無線ネットワーク情報制御部１０７に送る（Ｂ１００−１、Ｂ１００−２）。より詳細には、仮想計算機１５５が、予約要求を生成して、仮想計算機実行基盤１６１に出力する（Ｂ１００−１）。仮想計算機実行基盤１６１は、予約要求の送信元の仮想計算機を特定し、特定した仮想計算機の識別子を、予約要求に対応づけてメモリ等に保存する。仮想計算機実行基盤１６１は、予約要求を、無線ネットワーク情報制御部１０７が解釈可能な形式に整形して、無線ネットワーク情報制御部１０７に出力する（Ｂ１００−２）。
【００５９】
無線ネットワーク情報制御部１０７は、受信した予約要求に基づき、通知を必要とする情報の識別子および当該情報の通知条件等を含む通知予約要求を生成する（Ｂ１０１）。情報の識別子や通知条件等は、無線ネットワーク情報制御部１０７が、予約要求で指定された情報の内容に応じて決定すればよい。なお、アプリ実行部１０６が当該識別子または通知条件を指定してもよい。この場合、当該識別子または通知条件は、上記の予約要求に含められる。無線ネットワーク情報制御部１０７は、生成した通知予約要求を無線通信制御部１０４または無線通信部１０１に送信する（Ｂ１０２、Ｂ１０４）。どちらに送信するかは、当該情報に依存する。無線ネットワーク情報制御部１０７は、通知予約要求が受け付けられた場合に、無線通信制御部１０４または無線通信部１０１から、確認応答を受信する（Ｂ１０３、Ｂ１０５）。
【００６０】
無線通信部１０１または無線通信制御部１０４で、上記の通知条件を満たすイベントが発生（例えば特定のフレームが受信されたなど）すると（Ｂ１０６、Ｂ１０８）、上記通知された識別子の情報を生成し、当該情報を無線ネットワーク情報制御部１０７に送る（Ｂ１０７、Ｂ１１０）。無線ネットワーク情報制御部１０７は、受信した情報を、アプリ実行部１０８からの要求に合わせて加工し（Ｂ１０９、Ｂ１１１）、加工した情報を無線情報記憶部１０６に保存するとともに（Ｂ１１２）、当該加工した情報を含む応答を、アプリ実行部１０８の仮想計算機実行基盤１６１に送信する（Ｂ１１３、Ｂ１１４、Ｂ１１５）。仮想計算機実行基盤１６１は、受信した応答に対応する仮想計算機識別子を特定し、応答に含まれる情報に基づき、当該仮想計算機識別子を有する仮想計算機用の応答を生成する（Ｂ１１６）。仮想計算機実行基盤１６１は、生成した応答を仮想計算機１５５に返す（Ｂ１１７）。仮想計算機１５５は、応答を受信し、応答から情報を取得する。これにより、仮想計算機１５５は、事前予約で要求した情報を取得する。
【００６１】
（仮想計算機上のアプリケーションにおける情報の利用例）
アプリ実行部１０８で動作する仮想計算機のアプリケーションが、これまでに述べた方法を用いて取得した情報（無線ネットワーク情報）の利用する際には、例えば以下のような用途で利用する。
（例１）平日または休日のＸ時〜Ｙ時にアソシエートする端末の一覧を取得する。
（例２）平日または休日のＸ時〜Ｙ時にアソシエートする端末のうち、受信信号電力の平均値がα（ｄＢｍ）以上の端末の数を取得する。
（例３）ＭＡＣアドレスがある値の端末が接続しているかどうかを確認する。
（例４）ＭＡＣアドレスがある値の端末が過去に接続した時刻の一覧を得る。
（例５）あるユーザ情報の端末が過去に接続した時刻およびその際の平均受信信号電力の一覧を得る。
ここに挙げた用途は一例であり、実際にはアプリケーションの目的によって様々な用途に使用できる。
【００６２】
（第１の実施形態：まとめ）
以上、本実施形態によれば、無線通信装置において、無線通信部または無線制御部等からネットワーク情報を取得する無線ネットワーク情報制御部を設け、仮想計算機が動作するアプリ実行部には当該無線ネットワーク情報制御部とのインタフェース部を設けた。これにより、仮想計算機の内部で動作するアプリケーションから、無線ネットワーク情報を利用できるようになり、無線ネットワークの状況に応じた細かい制御が可能となる。例えば、所定数以上の端末のそれぞれの平均受信信号電力が閾値未満であれば、無線ネットワークで使用するチャネルを変更するといった判断が可能になる。また、受信信号電力の平均値がα以上の端末数が多ければ、変調方式または通信方式をより多くの情報を送信または受信可能なものに変更するといった判断が可能になる。ここで述べた例は一例に過ぎず、他にも様々な制御が可能である。
【００６３】
（第２の実施形態：フィルタ機能の追加）
本実施形態のブロック図は第１の実施形態のブロック図（図１）と同じである。ただし、無線ネットワーク情報制御部１０７がフィルタ機能を備える点が異なる。
【００６４】
フィルタ機能とは、アプリ実行部１０８の仮想計算機から要求を受信した際に、事前に設定されたルール（フィルタ）に基づいて、要求に対する応答を行う機能のことである。例えば、要求が対象とする情報が所定の条件に合致する場合にのみ当該情報を取得して応答したり、要求に関連する端末が条件を満たす場合のみ、要求された情報を取得したりする。第１の実施形態では、無線ネットワーク情報制御部１０７は、仮想計算機から要求された情報をそのまま応答していた。本実施形態では、無線ネットワーク情報制御部１０７がフィルタ機能を備えることで、個々の仮想計算機の機能や、個々の仮想計算機が提供するサービスに応じた情報提供を可能とする。
【００６５】
フィルタ機能は、無線ネットワーク情報制御部１０７が動作する各段階にて適用しうる。具体的には、仮想計算機から取得要求を受信した時（情報の取得段階）、無線情報記憶部に保存要求を送信する時（情報の保存段階）、無線情報記憶部に読み出し要求を送信する時（情報の読み出し段階）、無線情報記憶部から読み出した情報を仮想計算機に送信する時（情報の応答段階）、の各段階である。これら各段階でのルールの適用は、段階ごとに独立して適用してもよい。または、各段階で適用するルールの組み合わせであるルール集合を１つまたは複数定義しておき、ルール集合を選択して、選択したルール集合を各段階に適用してもよい。
【００６６】
（ルールの適用）
第１の方法として、情報の取得段階と、無線情報記憶部１０６への情報の保存段階にはルールを適用せず、アプリ実行部１０８へ情報を応答する段階で、ルールを適用する方法が考えられる。この方法は、ある時点で動作していなかった仮想計算機が、動作前に発生した情報の取得を要求した場合でも、無線ネットワーク情報制御部１０７は、情報を適切にフィルタリングした上で（動作開始前の期間に属する情報のみを抽出して）、提供できる。この方法は、多くの情報を扱える利点があるが、保存するべき情報量が多くなるという欠点がある。
【００６７】
第２の方法として、情報の取得段階や無線情報記憶部１０６への情報の保存段階でもルールを適用し、アプリ実行部１０８への応答段階には適用しないという方法も考えられる。この場合、事前に設定されたルールもしくは動作中の仮想計算機が設定したルールによって、必要最低限の情報を取得して、無線情報記憶部１０６に保存するといったことが可能になる。この方法では、保存する情報量を抑制できる利点があるが、新しい仮想計算機が動作開始した場合など、アプリ実行部１０８の動作や要求が変化した場合に、仮想計算機に提供できる情報が不足する可能性がある。
【００６８】
なお、上述した説明では、ルールの適用動作が１つの構成要素（無線ネットワーク情報制御部１０７）で行われたが、複数の構成要素（またはソフトウェア）で分散して、ルールの適用を行っても良い。例えば、ＭＡＣ層を実装したソフトウェアでルールを適用するとともに、情報の取得段階や情報の読み出し段階で無線ネットワーク情報制御部１０７（の機能を実装したアプリケーション）でもルールを適用することなどが可能である。ＭＡＣ層を実装したソフトウェアでのルール適用では、例えば加工前の情報へのルール適用が可能である。
【００６９】
（ルールの例と説明）
図８に、複数のルールの例を示す。横一列が１つのルールに対応する。この例で示すように、各ルールは、情報取得の要求元となる仮想計算機やプログラムを識別する識別子（要求元ＩＤ）、対象となる情報を識別する識別子（情報ＩＤ）、アクションを識別する識別子（取得（ＧＥＴ）、設定（ＳＥＴ）、保存（ＳＡＶＥ）、読み出し（ＲＥＡＤ）、統計値計算（ＣＡＬ）など）、付随条件を識別する識別子（アクションの実行の際に対象を限定するための条件、もしくはアクション実行の前提条件）、実行可否を識別する識別子、を含む。
【００７０】
図８では、各項目の識別子は、事前に決定された値として表現されている。ここでは、各項目の識別子を文字列により表現しているが、実際には３２ビットや６４ビットを単位としたワードで表現される。要求元ＩＤの記号「＊」は、要求元を特定しない（要求元は何でも良い）ことを示す。
【００７１】
各識別子の括弧書きは、識別子の意味を表しており、括弧書きは存在しなくてもよい。例えば、情報ＩＤ（情報識別子）におけるＩＮＦＯ＿０１は、ＲＳＳＩを表し、ＩＮＦＯ＿１１は、ＡＶＧ＿ＲＳＳＩ、すなわち、ある期間のＲＳＳＩの平均値を示す。この他にも、前述した情報、およびその情報から何らかの演算処理によって得られる情報が、情報ＩＤとして指定できるものとする。なお、ＡｏＡは、前述したように電波到来角（Ａｎｇｌｅ  ｏｆ Ａｒｒｉｖａｌ）である。
【００７２】
アクションの識別子ＡＣＴ＿０１は、情報取得（すなわちＧＥＴ）を表し、ＡＣＴ＿１１は加工（すなわちＰｒｏｃｅｓｓｉｎｇ）を表し、ＡＣＴ＿０３は、無線情報記憶部１０６からの読み出し（すなわちＲＥＡＤ）を表す。
【００７３】
付随条件におけるＡＤＤＩＮＦＯ＿ＭＡＣ（）は、括弧内に含まれる値を有するＭＡＣアドレスを表し、ＡＤＤＩＮＦＯ＿ＭＡＣ（ＡＳＳＯＣＩＡＴＥＤ）は、本無線通信装置とアソシエート済みの端末のＭＡＣアドレス（の集合）を表す。ＡＤＤＩＮＦＯ＿ＭＡＣ（ＮＯＴ＿ＡＳＳＯＣＩＡＴＥＤ）は、本無線通信装置とアソシエートしていない端末のＭＡＣアドレス（の集合）を表す。実際には、アソシエートしていない端末のＭＡＣアドレスは多数存在するため、アソシエートしているＭＡＣアドレスでないことを確認する処理を行う。この段落で示した付随条件は、アクションを実行する対象となる端末に関する条件に対応している。
【００７４】
また、ＡＤＤＩＮＦＯ＿ＤＯＮＴＣＡＲＥは、付随条件を伴わないことを表す。ＡＤＤＩＮＦＯ＿ＳＳＩＤ（）は、括弧書きで指定された値のＳＳＩＤの無線ネットワークに属することを示す。「？」（図８の５行目を参照）は、「？」が付与された付随条件が、前提条件（アクション識別子に対応する動作を実行するための前提条件）として用いられることを示している。また、複数の条件の論理演算（例えば図８では「＆＆」により複数の条件の論理積を記載している）が可能である。実行可否のＯＫ／ＮＧは、それぞれ実行可能／不可能（すなわちルールの適用の可能／不可能）を示す。例えば“ＯＫ”の場合、ルールに合致している場合は、アクションの実行を許可する。“ＮＧ”の場合、ルールに合致している場合は、アクションの実行を許可しない。なお、受信した要求がいずれのルールにも合致しない場合は、その要求は実行しないものとする。その際、要求元にエラー応答を送信してもよい。
【００７５】
なお、ここで示したルールの管理方法および識別子の表現方法は一例であり、他の方法を用いてもよい。また、この図８の例では、全てのルールを１つの表形式で管理しているが、ルールを参照する段階ごとにルールの表を用意してもよい。
【００７６】
（付随条件の説明）
ここで付随条件について補足する。前述したように、付随条件は、情報を取得する対象となる端末に関する条件と、もしくはアクション実行の前提条件がある。
【００７７】
前者の例として、対象の端末そのものを特定する条件（例えば、ＭＡＣアドレス）か、端末の状態（または端末が有する特徴）を特定する条件（例えば、アソシエートしている端末）がある。前者の場合、条件を満たす情報に対してのみアクションを実行し、情報を取得する。もし、条件を満たす情報が存在しない又は取得されない等の理由でアクションが実行できない場合は、無線ネットワーク情報制御部１０７は、エラー応答をアプリ実行部１０８に返す。後者の場合、アクションの実施段階において端末の状態を表す情報から、端末の状態が判断される。例えば、「アソシエートしている端末」という状態が指定された場合、アソシエートしている端末のＭＡＣアドレスのリストを取得する等して、アソシエートしている端末群を把握する。確認の結果、アソシエートしている端末に関連する情報がある場合には、当該情報に対してアクションを実行する。前者と後者の両方の論理積が付随条件として指定された場合は、アソシエーションしている端末のうち所定のＭＡＣアドレスの端末に関連する情報に対してアクションを実行することなどが可能である。
【００７８】
一方、後者の前提条件の場合は、アクションの実行に先立って、その条件が成立していることを確認する。例えば図８の５行目の例では、無線通信制御部１０４が管理する端末のＭＡＣアドレスが、取得対象となる情報ＩＤとともに、アプリ実行部からの要求で指定された場合、無線通信制御部１０４もしくは無線情報記憶部１０６を参照し、ＭＡＣアドレスの端末が属するアクセスポイントポイントのＳＳＩＤが、“ＳＳＩＤ０１”であるかを調べ、“ＳＳＩＤ０１”であれば、その情報に関連する端末に対して、アクションを実行し、その端末のアソシエーション時刻を取得する。
【００７９】
（ルールの適用順序）
なお、複数のルールに順序を設定して、ルールを順番に適用するようにしてもよい。最終的に、一致するルールが見つからなかった場合の動作は、設計・実装に依存する。例えば、要求を棄却してもよいし、要求で指定されたアクションの種類に応じて、その動作が定義されていてもよい（例えば、現在値の取得だけは許可し、値の設定や過去の値の読み出し、過去の値を使った新しい値の導出（計算）は棄却する、など）。
【００８０】
（ルールの処理に関するフローチャート）
図９〜図１１は本実施形態の無線ネットワーク情報制御部１０７のフローチャートであり、図１０は、図９のステップＳ１０４（付随条件の確認処理）の詳細フローチャートである。図１１は、図９のステップＳ１０６（アクション実行）の詳細フローチャートである。
【００８１】
図９において、無線ネットワーク情報制御部１０７は、仮想計算機から要求（情報の取得要求または予約要求など）を受信し（Ｓ１０１）、仮想計算機に適用するルールを特定する（Ｓ１０２）。要求は、要求元ＩＤ、情報ＩＤ、アクションＩＤ、対象となる情報の条件（例えば端末のＭＡＣアドレスなど）を含む。ここでは、図８に示した表等を用いて、要求に含まれる、要求元ＩＤ（仮想計算機ＩＤ）、情報ＩＤ、アクションＩＤ、および対象となる情報の条件（例えば端末のＭＡＣアドレスなど）に基づき、対応するルールを特定する。要求元ＩＤに対応するルールが存在しなければ（Ｓ１０３のＮＯ）、処理を終了する（すなわち、仮想計算機からの要求を実行しない）。
【００８２】
要求元ＩＤに対応するルールが存在する場合（Ｓ１０３のＹＥＳ）、無線ネットワーク情報制御部１０７は、特定したルールにおいて付随条件の確認処理を行う（Ｓ１０４）。より詳細には、図１０に示すように、はじめに付随条件の対象となる情報が、適切な情報源からの情報かを確認する（Ｓ１１１）。ここで適切な情報源は、本無線通信装置の構成要素、もしくは、本無線通信装置の構成要素を使って何らかの手段で、外部装置から情報の入手が可能なときの当該外部装置（例えばアソシエート済みの端末）である。適切な情報源は事前に把握されており、対象となる情報が、適切な情報源からのものではない場合には（Ｓ１１２のＮＯ）、ＮＧ判定（アクションを実行しないことを決定）を出力する。
【００８３】
付随条件の対象となる情報が、適切な情報源からの情報の場合は（Ｓ１１２のＹＥＳ）、続いて、付随条件が前提条件であるかを確認する（Ｓ１１３）。付随条件が前提条件でなければ（Ｓ１１３のＮＯ）、ＯＫ判定を出力する（アクションの実行を決定）。一方、付随条件が前提条件であれば（Ｓ１１３のＹＥＳ）、無線通信制御部１０４、無線情報記憶部１０６、無線通信部１０１のいずれかに、前提条件の成否を判断するために必要な情報（前提情報と呼ぶ）の取得要求を送信して、前提情報を含む応答を取得する（Ｓ１１４、Ｓ１１５）。なお、前提条件が複数の条件で構成されている場合、および一回の要求・応答（Ｓ１１４、Ｓ１１５）では、必要な前提情報がすべての揃わない場合（例えば、“アソシエートしている端末“という前提条件が設定されている場合に、アソシエートしているすべての端末のＭＡＣアドレスを一度に取得できない場合）には、必要な前提情報をすべて取得できるまで、繰り返し取得要求を発行する（Ｓ１１６のＮＯ）。その後、前提情報に基づき、前提条件の成立を判定する（Ｓ１１７）。前提条件が成立していなければ（Ｓ１１７のＮＯ）、ＮＧ判定（アクションを実行しないことを決定）を出力し、前提条件が成立していれば（Ｓ１１７のＹＥＳ）、ＯＫ判定（アクションの実行を決定）を出力する。
【００８４】
図９に戻り、無線ネットワーク情報制御部１０７は、ＯＫ判定が得られた場合（アクションの実行を決定した場合）（Ｓ１０５のＹＥＳ）、該当するルールに示されるアクションを実行する（Ｓ１０６）。より詳細には、図１１に示すように、無線ネットワーク情報制御部１０７は、アクションに対応する要求を生成する（Ｓ１２１）。例えば、アクションがある情報を取得することを示す場合は、当該情報の取得要求を生成する。無線ネットワーク情報制御部１０７は、生成した要求を、該当する構成要素（無線通信制御部１０４、無線情報記憶部１０６、または無線通信部１０１）に送信し（Ｓ１２２）、送信先の構成要素から応答を受信する（Ｓ１２３）。応答は、要求した情報を含む場合のみならず、エラー応答である場合もあり得る。
【００８５】
無線ネットワーク情報制御部１０７は、アクションの実行により得た情報に基づき応答を、要求元の仮想計算機に送信する（Ｓ１０７）。なお、無線ネットワーク情報制御部１０７は、上記要求が加工を要求する場合は、取得した情報を加工し、加工後の情報を含む応答を送信する。
【００８６】
図１０では示していないが、前提条件としての付随条件が、端末の状態（または特徴）を指定した条件の場合（例えば“アソシエートしている端末”）、後続のアクション実行（図９のステップＳ１０６）に必要な情報を保存しておく。例えば、図１０のステップＳ１１４〜Ｓ１１６では、アソシエートしている端末を前提条件として確認する処理を実行することによって端末リストを取得しておく。図９のステップＳ１０６でのアクションの実行時には、その端末リストから、端末を指定する。なお、アクション実行に必要な情報の保存場所は、無線ネットワーク情報制御部１０７の内部でも良いし、無線情報記憶部１０６に格納する場所を確保し、そこに保存してもよい。
【００８７】
（ルールの補足事項：無線通信装置が複数の無線ネットワークを提供する場合）
本無線通信装置が複数の無線ネットワークを提供（形成）している場合、上述の前提条件として、無線ネットワークの識別子（ＳＳＩＤ（Ｓｅｒｖｉｃｅ  Ｓｅｔ  Ｉｄｅｎｔｉｆｉｅｒ）等）と端末の識別子とを組み合わせることもできる。このようにすることで、同じ端末が、複数の無線ネットワークに接続する可能性を考慮して、情報のフィルタリングを行うことができる。
【００８８】
一方、異なる仮想計算機が同じ無線ネットワークに関する情報を取得する場合に、それぞれの仮想計算機と関係がある（例えば通信をしている）端末の情報だけを参照できるように、制限を加えることもできる。その場合、付随条件（前提条件）として、例えば、“ＡＤＤＩＮＦＯ＿ＭＡＣ？（ＩＮ＿ＦＤＢ）”を加える。この付随条件は、「無線通信装置内の転送制御部１０５で管理されるフォワーディングデータベース（ＦＤＢ）にエントリがあること」を意味する。要求元ＩＤで特定される仮想計算機に限定して、ＦＤＢ内の探索範囲を限定することで、他の仮想計算機に関係する端末の情報を参照することを防止できる。
【００８９】
ある仮想計算機が、当該仮想計算機と関係がある端末の情報だけを参照できるようにする方法は、他にも考えらえる。例えば、図１２に示すように、仮想計算機がサービスユーザのユーザ名もしくはそれに相当する情報等を、無線ネットワーク情報制御部１０７に提供する。無線ネットワーク情報制御部１０７は、無線ネットワークに接続している端末群のユーザ情報を無線通信制御部１０４もしくは無線情報記憶部１０６から取得する。なお、ユーザ情報を、これらの両方から取得することも排除されない。ユーザ情報は、一例として、端末のユーザのユーザ名、端末が使用しているＩＰアドレスおよびＭＡＣアドレスなどを含む。無線ネットワーク情報制御部１０７は、ユーザ名を、端末群のユーザ情報と比較し、ユーザ名に合致するユーザ情報を特定し、特定したユーザ情報から、当該端末が利用しているＩＰアドレスまたはＭＡＣアドレスなどの端末の識別子を特定してもよい。または、端末の識別子として、例えば、アソシエーションＩＤなど、無線通信制御部１０４で使用する何らかの識別子を特定しても良い。アソシエーションＩＤが、ユーザ情報とは別に管理されている場合は、ユーザ名とアソシエーションＩＤとを対応づけた情報を無線通信制御部１０４もしくは無線情報記憶部１０６から取得し、取得した情報を利用すればよい。
【００９０】
（第２の実施形態：まとめ）
以上、本実施形態によれば、フィルタ機能を追加することで、それぞれ独立して動作する仮想計算機に対して適切な情報を提供できるようになる。また、この効果は、無線通信装置が複数の無線ネットワークを提供する場合にも得ることができる。
【００９１】
（第３の実施形態：アプリ用記憶部１０９とアプリ実行部１０８とを無線通信装置本体から分離）
（構成）
第１ならびに第２の実施形態では無線ネットワークを提供する無線通信装置にアプリ実行部１０８が統合されていたが、本実施形態ではアプリ実行部１０８が外部モジュール（コンピュータ装置）として配置される点が異なる。図１３に、本実施形態に係るブロック図を示す。
【００９２】
第１ならびに第２の実施形態に係る無線通信装置（図１参照）からアプリ実行部１０８とアプリ用記憶部１０９を取り除き、代わりにホストＩ／Ｆ部１３１が追加されている。ホストＩ／Ｆ部１３１は、コンピュータ装置（アプリ実行モジュール）１３３と本無線通信装置とを接続するインタフェースである。ホストＩ／Ｆ部１３１は、無線ネットワーク情報制御部１０７、転送制御部１０５および転送部１０２が送受信する情報およびデータ等を、アプリ実行モジュール１３３のアプリ実行部１０８との間で転送する機能を有する。なお、ホストＩ／Ｆ部１３１は、これら３つの内部構成要素以外にも、別の構成要素とアプリ実行部１０８との間でデータまたは情報を転送できるようにしても良い。
【００９３】
アプリ実行モジュール１３３は、第１ならびに第２の実施形態におけるアプリ実行部１０８およびアプリ用記憶部１０９を備え、さらにホストＩ／Ｆ部１３２を備えた外部モジュールである。ホストＩ／Ｆ部１３２は、無線通信装置側のホストＩ／Ｆ部１３１と接続されており、ホストＩ／Ｆ部１３１と同様の機能を有する。なお、アプリ実行部１０８およびアプリ用記憶部１０９は、第１または第２の実施形態と同様の機能を備える。
【００９４】
（シーケンス）
本実施形態の動作シーケンスは、アプリ実行部１０８と無線ネットワーク情報制御部１０７との間の情報またはデータのやり取りが、ホストＩ／Ｆ部１３２、１３１を介したものになる点が、第１ならびに第２の実施形態と異なるが、それ以外は、第１および第２の実施形態と同様である。よって、詳しい説明は省略する。
【００９５】
（構成およびルールに関する補足）
図１３では、アプリ実行モジュール１３３が接続される無線通信装置側のホストＩ／Ｆ部１３１の個数は１つであるが、複数でもよい。複数の場合には、アプリ実行モジュールを識別する識別子（モジュールＩＤ）を定義して、無線通信装置側で、各モジュールを区別できるようにする必要がある。無線通信装置と各モジュールとの間の通信処理は、転送部１０２で実行されるが、これまでの実施形態と同様に、一般的なブリッジ処理で実現できる。
【００９６】
第２の実施形態で述べたルールにおいて、各モジュールを区別するため、ルールにモジュールＩＤを追加してもよい。もしくは、全モジュール間で仮想計算機が一意に識別できるように、各仮想計算機に要求元ＩＤを割り当ててもよい。
【００９７】
（第３の実施形態：まとめ）
以上、本実施形態によれば、アプリ用記憶部１０９とアプリ実行部１０８とを無線通信装置本体から分離することにより、無線通信装置に対して、後から仮想計算機機能を容易に追加することができる。その際、無線ネットワークの情報を外部から利用するインタフェース（ホストＩ／Ｆ部）を無線通信装置に具備させることで、仮想計算機機能は、無線通信用のネットワークインタフェースを持たなくても、無線ネットワークの情報が利用できる。また、これにより、無線通信装置の初期投資コストを抑えることができる。
【００９８】
（第４の実施形態：無線ネットワーク情報を外部サーバで保存する場合）
（構成）
第１〜第３の実施形態では無線通信装置内に無線ネットワーク情報を保存していたが、本実施形態では、外部のサーバ（例えばクラウドサーバ、無線ＬＡＮアクセスポイント管理装置、ネットワーク管理・監視装置など。以下、外部サーバ）に保存する。図１４に、本実施形態に係るブロック図を示す。
【００９９】
外部サーバ１３５は、有線ネットワークを介して、無線通信装置に接続されている。外部サーバ１３５は、一例として、無線通信装置内の無線情報記憶部１０６に比べて大容量の記憶部を備える。図では、外部サーバ１３５は、１つの無線通信装置と接続されているが、実際には、複数の無線通信装置と接続することができる。外部サーバ１３５と本無線通信装置間では、ＴＣＰ／ＩＰなどの一般的な通信方式にて通信を行う。無線通信装置で取得または生成される情報を、外部サーバ１３５に送信する機能は、無線ネットワーク情報制御部１０７が行ってもよいし、図示しない別の構成要素（例えば無線通信装置全体を司るＣＰＵ）が行ってもよい。また、図１４では、第３の実施形態と同様に、仮想計算機の機能が外部モジュールとして分離されているが、第１または第２の実施形態（図１参照）の無線通信装置に対して、同様に外部サーバを接続した構成を採用することもできる。
【０１００】
（シーケンス）
本実施形態の動作シーケンスは、これまでに述べた第１〜第３の実施形態に準じる。すなわち、無線ネットワーク情報制御部１０７が、アプリ実行部１０８からの要求を受信し、適切な処理（情報の取得・加工・保存・応答、ルールの適用によるフィルタリング処理など）を行う。本実施形態では、その際、無線ネットワーク情報制御部１０７は、（必要であればＣＰＵで実行される別のソフトウェアを介して）外部サーバ１３５を参照する点が異なる。なお、現在値の取得に際し、無線通信部１０１または転送部１０２等の情報を直接取得するか、外部サーバ１３５経由で取得するかは、設計・実装に依存する事項であり、どちらでもよい。
【０１０１】
（ルールの処理に関するする補足）
なお、第２の実施形態で述べたルールの処理は、原則として無線通信装置の内部にて行う。すなわち、無線ネットワーク情報制御部１０７が、外部サーバ１３５から情報を取得して、取得した情報に基づき、ルールの処理を行う。ただし、ルールの処理も、無線通信装置からの依頼に基づき、外部サーバ１３５が行うようにしてもよい。その場合、外部サーバ１３５は、ルール処理に加え、ルール処理を依頼した無線通信装置を特定する機能を備える。無線通信装置の特定はＩＰアドレスなどを用いて行われ、そのＩＰアドレスは、ルールと合わせて管理される。
【０１０２】
このように外部サーバ１３５がルールの処理を行うことで、アプリ実行部１０８（仮想計算機）は、近隣の無線通信装置を仮想サーバに見立てて動作することができる。図１５にこの動作例を説明するための図を示す。本実施形態に係る無線通信装置１４１、１４２が有線ネットワーク１４３に接続されており、有線ネットワーク１４３には外部サーバ１３５が接続されている。外部サーバ１３５は、ルールの処理を行うルール処理部１４４を備えている。無線通信装置１４２にアプリ実行モジュールが外部接続されてもよいし、アプリ用記憶部およびアプリ実行部が無線通信装置１４２内に搭載されてもよい。この構成において、無線通信装置１４１に対応するアプリ実行部１０８の仮想計算機（およびその上で動作するアプリケーション）は、近隣の無線通信装置１４２が取得した無線ネットワーク情報を参照して、アプリケーションを実行できる。近隣の本願通信装置１４２は、情報の取得要求を送信した無線通信装置１４１の識別子と外部サーバ１３５とを用いて、情報の提供可否を判断し、可能と判断した場合には、当該情報を無線通信装置１４１に送信すればよい。無線通信装置１４１は、受信した情報をアプリ実行部１０８の仮想計算機に渡す。なお、近隣の無線通信装置１４２は、過去の情報については外部サーバ１３５を参照し、現在値は近隣の無線通信装置１４２内の無線情報記憶部を参照するといった形態も可能である。
【０１０３】
（第４の実施形態：まとめ）
以上、本実施形態によれば、無線ネットワーク情報に対して外部サーバ１３５の計算リソースを活用することで、計算リソースの少ない無線通信装置の代わりに、複雑な計算を行うことができる。よって、複雑な計算を要する新たな統計情報を算出するといったことも容易になる。また、外部サーバ１３５が大容量記憶部を備えることで、長期間にわたる情報の保存と参照が可能になる。また、無線ネットワーク情報へのアクセスは無線通信装置内の無線ネットワーク情報制御部１０７で一元化しているため、アプリ実行部１０８が個別に外部サーバ１３５へ情報を取得する必要はなく、アプリ実行部１０８の構成を簡単にできる。
【０１０４】
（第５の実施形態：無線通信装置内の無線情報記憶部１０６と外部サーバとを併用する場合）
（構成）
本実施形態は、第４の実施形態と同様に外部サーバを利用するが、第１〜第３の実施形態と同様に、無線通信装置内の無線情報記憶部１０６にも無線ネットワーク情報を保存する。本実施形態のブロック図を図１６に示す。図１４と異なる点は、無線情報記憶部１０６内に無線ネットワーク情報も保存される点である。なお、外部サーバ１３５は、１つのみ表示されているが、複数配置されてもよい。このことは、第４の実施形態でも同様である。
【０１０５】
無線情報記憶部１０６と外部サーバ１３５との使い分けは、以下のような例が考えらえる。“内部”は、無線情報記憶部１０６を指し、“外部”は外部サーバ１３５を指している。
（例１：情報の新しさで分ける）
・内部：直近の値
・外部：過去の値、過去の値に基づく統計値
（例２：情報の種類で分ける）
・内部：各端末のＲＳＳＩ（最新の値から所定の数）
・外部：それ以外の情報
（例３：情報に対する要求の有無で分ける）
・内部：アプリ実行部１０８から要求された情報（将来も要求される可能性が高い情報）
・外部：それ以外の情報
【０１０６】
無線ネットワーク情報制御部１０７は、このような使い分け方法に基づいて事前に設定された場所（“内部”または“外部”）に対して、情報の有無を確認の上、適切な情報を読み出して、読み出した情報に基づく応答を、要求元に送信すればよい。
【０１０７】
（全体の補足）
無線通信装置の管理方法には大きく２つの方法がある。１つは、無線通信装置そのものに直接設定を行う方法である。もう１つは、何らかの管理装置を導入して、管理装置に設定を施すことで、管理装置から設定内容を無線通信装置に反映させる方法である。後者の場合、無線通信装置と同じネットワークに管理装置を接続する方法と、クラウドなど遠隔地に管理装置を設置する方法とがある。また、無線通信装置自体が、状況に応じて管理装置の役割を果たすように構成されている場合もある。本発明の実施形態に係る無線通信装置は、管理方法には依存していないため、これらのいずれの場合でも同様に適用できる。なお、管理装置が、第４の実施形態及び第５の実施形態で述べた外部サーバの機能を具備していても良い。
【０１０８】
また、以上の説明では、ハードウェア全体をソフトウェアにてエミュレートする仮想計算機の使用を前提として説明したが、本発明は特定の仮想環境の実現方法に依存しない。上記に記載した実施形態のように仮想計算機を作り出す場合に完全仮想化を採用してもよいし、あるいは、準仮想化を採用してもよい。
【０１０９】
また、物理計算機の計算機リソースを何らかの方法で隔離することによって、複数の環境を共存させる方式または隔離された空間（当該方式または空間をコンテナと呼ぶ）を用いてもよい。この場合、本明細書で述べた方法を隔離された環境（コンテナ）と、その外部とで利用すればよい。
【０１１０】
本実施形態で用いられる用語は、広く解釈されるべきである。例えば用語“プロセッサ”は、汎用目的プロセッサ、中央処理装置（ＣＰＵ）、マイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、コントローラ、マイクロコントローラ、状態マシンなどを包含してもよい。状況によって、“プロセッサ”は、特定用途向け集積回路、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、プログラム可能論理回路（ＰＬＤ）などを指してもよい。“プロセッサ”は、複数のマイクロプロセッサのような処理装置の組み合わせ、ＤＳＰおよびマイクロプロセッサの組み合わせ、ＤＳＰコアと協働する１つ以上のマイクロプロセッサを指してもよい。
【０１１１】
別の例として、用語“メモリ”は、電子情報を格納可能な任意の電子部品を包含してもよい。“メモリ”は、ランダムアクセスメモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）、プログラム可能読み出し専用メモリ（ＰＲＯＭ）、消去可能プログラム可能読み出し専用メモリ（ＥＰＲＯＭ）、電気的消去可能ＰＲＯＭ（ＥＥＰＲＯＭ）、不揮発性ランダムアクセスメモリ（ＮＶＲＡＭ）、フラッシュメモリ、磁気または光学データストレージを指してもよく、これらはプロセッサによって読み出し可能である。プロセッサがメモリに対して情報を読み出しまたは書き込みまたはこれらの両方を行うならば、メモリはプロセッサと電気的に通信すると言うことができる。メモリは、プロセッサに統合されてもよく、この場合も、メモリは、プロセッサと電気的に通信していると言うことができる。
【０１１２】
また、用語“ストレージ装置”または“ストレージ”は、磁気技術、光学技術、または不揮発性メモリを利用して、永久的にデータを記憶できるに任意の装置を包含してもよい。例えば、ストレージは、ＨＤＤ、光学ディスク、ＳＳＤ等でもよい。
【０１１３】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【符号の説明】
【０１１４】
１０１：無線通信部
１０２：転送部
１０３：有線通信部
１０４：無線通信制御部
１０５：転送制御部
１０６、１２１、１２２、１２３：記憶部
１０７：無線ネットワーク情報制御部
１０８：アプリ実行部
１０９：アプリ用記憶部
１１１：無線通信インタフェース部（無線ＬＡＮインタフェース部）
１３１、１３２：ホストＩ／Ｆ部
１３３：アプリ実行モジュール（コンピュータ装置）
１３５：外部サーバ
１４４：ルール処理部
１４１、１４２：無線通信装置
１５１：デバイスドライバ
１５５−１〜１５５−Ｎ：仮想計算機
１６１：仮想計算機実行環境（仮想計算機基盤ソフトウェア）
１７１−１〜１７１−Ｎ：アプリケーション（アプリケーション処理部）
１８１−１〜１８１−Ｎ：ＯＳ
１９１−１〜１９１−Ｎ：仮想計算機ハードウェア
【図１】
2018156607.tif 000003
【図２】
2018156607.tif 000004
【図３】
2018156607.tif 000005
【図４】
2018156607.tif 000006
【図５】
2018156607.tif 000007
【図６】
2018156607.tif 000008
【図７】
2018156607.tif 000009
【図８】
2018156607.tif 000010
【図９】
2018156607.tif 000011
【図１０】
2018156607.tif 000012
【図１１】
2018156607.tif 000013
【図１２】
2018156607.tif 000014
【図１３】
2018156607.tif 000015
【図１４】
2018156607.tif 000016
【図１５】
2018156607.tif 000017
【図１６】
2018156607.tif 000018