(57)【特許請求の範囲】
【請求項１】
仮想マシン上で実行され、ホームネットワークに属する機器へ提供されるサービスの制御を行うモジュールを備え、前記ホームネットワーク及び外部ネットワークを相互接続する通信機器において、
前記仮想マシンで直接に解釈可能な言語で記述された  前記モジュールの当該言語と異なるネイティブ言語で実装された第１情報管理部と、
前記第１情報管理部に保持する情報が格納される不揮発性メモリと、
前記仮想マシン上で動作するように実装された第２情報管理部と、
前記第２情報管理部に保持する情報が格納される揮発性メモリと、を備えており、
前記第１情報管理部が、前記ホームネットワークに属する機器を一意に示す機器識別情報と、前記モジュールによって前記サービスの制御に用いられる参照用情報とを対応付けてテーブルに保持し、
前記第２情報管理部が、前記機器識別情報と前記参照用情報とを対応付けて前記第１情報管理部のテーブルとは別のテーブルに保持し、
前記第１情報管理部が、前記機器ごとの使用頻度を示す頻度情報と前記機器識別情報とを対応付けて保持し、
前記第１情報管理部が、前記参照用情報を前記第２情報管理部に複製する優先度を示す順位付情報と、前記機器識別情報とを対応付けて保持し、
前記第１情報管理部が、前記使用頻度の高い順を反映させ、かつ前記使用頻度よりも前記優先度の高い順を優先的に反映させる優先規則によって前記第２情報管理部に複製する前記参照用情報を選び、
前記モジュールは、前記サービスの制御契機が到来したとき、サービス提供先とする前記機器の前記参照用情報について、前記第２情報管理部に検索を依頼し、この検索に成功したとき、当該モジュールは、当該第２情報管理部の参照用情報を参照、取得又は更新し、当該検索に失敗したとき、当該モジュールは、当該サービス提供先とする機器の参照用情報について、前記第１情報管理部に検索を依頼し、当該第１情報管理部の参照用情報を参照、取得又は更新することを特徴とする通信機器。
【請求項２】
前記第１情報管理部及び前記第２情報管理部が、前記モジュールからの要求に応える処理と独立して同期する請求項１に記載の通信機器。
【請求項３】
前記第１情報管理部は、当該第１情報管理部のテーブルにおいて前記機器識別情報とコピーフラグとを対応付けて保持し、
前記第１情報管理部は、自己の更新の際、前記頻度情報及び前記順位付情報について所要の更新を行い、その更新で値が変化したか判断を行い、変化している場合、前記コピーフラグの更新処理に移行し、変化していない場合、前記コピーフラグに基づいて選んだレコードを前記第２情報管理部に複製する請求項１又は２に記載の通信機器。
【請求項４】
前記順位付情報は、前記機器の状態に応じて割り当てたものとなっている請求項１から３のいずれか１項に記載の通信機器。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ホームネットワーク及び外部ネットワークを相互接続するホームゲートウェイ（Ｈｏｍｅ−ＧａｔｅＷａｙ：ＨＧＷ）等の通信機器に関する。
【背景技術】
【０００２】
近年、この種の通信機器は、ホームネットワークと外部ネットワークとを相互接続するブロードバンドルータとしての機能だけでなく、ホームネットワークに属する各種機器へ提供されるサービスの制御を行う機能も付加されるようになっている（例えば、特許文献１）。
【０００３】
ＨＧＷ等の通信機器と宅内の各機器との接続手法として各種の無線通信規格の発展が進んでおり、ホームネットワークに接続される機器は、今後も多様化していくことが予想される。また、各宅での機器使用状況は、経済的にビッグデータとしての活用価値があり、各宅の機器から取得したデータをクラウドサーバ上に集め、個々のユーザニーズにあった多種多様なサービス展開が行われることも予想される。ＨＧＷ等の通信機器には、ファームアップせずに機器の増加に対応できる仕組みが求められており、ホームネットワーク内の機器間通信に用いる様々な通信プロトコルが策定されている。
【０００４】
例えば、ＨＧＷ等の通信機器においては、多様なプロトコル、機器に対応する柔軟なソフトウェア実装性を実現するため、仮想マシンを実装し、その仮想マシン上で動作するモジュールによって機能追加が行われている。ＨＧＷの分野では、仮想マシンとしてＪａｖａ（登録商標）仮想マシン（Ｊａｖａ  ｖｉｒｔｕａｌ  ｍａｃｈｉｎｅ:ＪＶＭ）が一般的であり、サービス提供用のモジュールをＪａｖａモジュールとして実装することが行われている。
【０００５】
また、ホームネットワークに属する機器用の制御プロトコルとしては、ステートフルな通信プロトコルを採用することが一般的になっている。例えば、Ｅｃｈｏｎｅｔ  Ｌｉｔｅ規格（エコーネットコンソーシアム策定）は、国内のＨＥＭＳ（ｈｏｍｅ  ｅｎｅｒｇｙ  ｍａｎａｇｅｍｅｎｔ  ｓｙｓｔｅｍ、家庭内エネルギー管理システム）用の標準プロトコルとされている。
【０００６】
ステートフルな通信プロトコルでは、「ＯＫ」、「ＯＮ」等の単純な意味内容の命令コードであっても、その意味は、その時々の文脈で変化する。モジュールは、機器の現在の状態（ステート）を加味した判断を行って、自己の処理内容を決定することになる。このため、機器の現在の状態を示すステート情報のように、モジュールがサービスの制御に用いる情報については、モジュールへ随時に提供可能な参照用情報として保持され、モジュールは、サービスの制御を行う際、必要に応じて参照用情報を取得しなければならない。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１２−１２４５６７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
本願発明者らは、上述のようにモジュールの実装と参照用情報の保持とをＨＧＷ等の通信機器で実現した際、通信機器の処理時間にどのような影響がでるかを実験で確認した。その実験では、ＨＧＷにＪＶＭと、ステートフルなプロトコルで機器制御を行うＪａｖａモジュールとを実装すると共に、参照用情報を保持するためのデータベースをＪａｖａモジュールと異なるネイティブ言語で実装し、参照用情報を不揮発性メモリに格納するようにした。Ｊａｖａモジュールによる機器制御内容は、ＳＩＰ（Ｓｅｓｓｉｏｎ  Ｉｎｉｔｉａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）通信においてＳＩＰメッセージに特定のプレフィックスを付加する処理を行うことである。実験の結果、この付加処理を行う場合、当該付加処理を行わないＳＩＰメッセージの処理に比して、最大で４０％近い遅延が発生した。このような遅延が発生し得る原因を調べたところ、データベースに保持された参照用情報をＪａｖａモジュールが取得する際、ＪＮＩ（Ｊａｖａ Ｎａｔｉｖｅ Ｉｎｔｅｒｆａｃｅ）を介したＪａｖａモジュールとデータベース間のデータ受け渡しが低速であり、一般に、そのデータ受け渡しをステート管理のために何度も行うことが要因になる、と判明した。
【０００９】
そこで、この発明が解決しようとする課題は、仮想マシン及びモジュールによる柔軟な実装性を実現したＨＧＷ等の通信機器としつつ、ホームネットワークに属する機器向けサービスの制御プロトコルにステートフルな通信プロトコルを用いる場合の処理遅延を抑えることである。
【課題を解決するための手段】
【００１０】
上記の課題を解決するこの発明は、仮想マシン上で動作するように実装され、ホームネットワークに属する機器に提供されるサービスの制御を行うモジュールを備え、前記ホームネットワーク及び外部ネットワークを相互接続する通信機器において、前記モジュールと異なるネイティブ言語で実装され、前記ホームネットワークに属する機器を一意に示す機器識別情報と、前記モジュールによって前記サービスの制御に用いられる参照用情報とを対応付けて保持する第１情報管理部と、前記第１情報管理部に保持する情報が格納される不揮発性メモリと、を備えている。これにより、停電、ファームアップ等による電源遮断時でも問題なく機器ごとに参照用情報を通信機器に保持することが可能となる。このため、仮想マシン及びモジュールによる柔軟な実装性を実現しつつ、機器向けサービスの制御プロトコルにステートフルな通信プロトコルを用いる場合にも対応可能となる。
さらに、この発明に係る通信機器は、前記仮想マシン上で動作するように実装され、前記機器識別情報と前記参照用情報とを対応付けて保持する第２情報管理部と、前記第２情報管理部に保持する情報が格納される揮発性メモリと、を備えている。これにより、第２情報管理部に保持されている参照用情報については、モジュールからの参照を仮想マシン上で完結することが可能となる。
ここで、この発明に係る前記モジュールは、前記第１情報管理部よりも前記第２情報管理部を優先的に使用する。これにより、前記第２情報管理部に保持されている参照用情報について、モジュールは、参照に比較的時間を要するネイティブ領域の第１情報管理部を使用せずに済む。このため、ステートフルな通信プロトコルを用いる場合でも処理遅延が抑えられる。
【発明の効果】
【００１１】
このように、この発明は、仮想マシン及びモジュールによる柔軟な実装性を実現したＨＧＷ等の通信機器としつつ、ホームネットワークに属する機器の制御プロトコルにステートフルな通信プロトコルを用いる場合の処理遅延を抑えることができる。
【図面の簡単な説明】
【００１２】
【図１】この発明の実施例に係る通信機器の主なハードウェア資源を示すブロック図
【図２】図１の通信機器に実装された仮想マシンに関する主なソフトウェア資源を示す概念図
【図３】図２の第１情報管理部のテーブルの概念図
【図４】図２の第２情報管理部のテーブルの概念図
【図５】図２のモジュールが参照先を選択する際の処理を示すフローチャート
【図６】図２の第１情報管理部の更新時の処理を示すフローチャート
【図７】図２の第１情報管理部から第２情報管理部への複製時の処理を示すフローチャート
【図８】（ａ）は図７の処理を具体例で示す初期段階における第１情報管理部のテーブルを示す概念図、（ｂ）は前記（ａ）からテーブルをソートした結果を示す概念図
【図９】図２のモジュールの起動時に図４のテーブルを再構築する処理時のフローチャート
【図１０】（ａ）は図２のモジュールが第２情報管理部を使用する動作例を示すフローチャート、（ｂ）は図２のモジュールが第１情報管理部を使用する動作例を示すフローチャート。
【発明を実施するための形態】
【００１３】
以下、この発明の実施形態を説明する。
第１の実施形態に係る通信機器では、前記第１情報管理部及び前記第２情報管理部が、前記モジュールからの要求に応える処理と独立して同期する。
ステートフルなプロトコルに対応のモジュールは、使用する第１又は第２情報管理部に対し、必要に応じて自己の処理内容を反映させる更新要求を行うことがある。また、外部ネットワークから参照用情報、新規機器登録等について第１情報管理部が更新されることもあり得る。これらのことを考慮すると、前記第１情報管理部及び前記第２情報管理部間の同期により、不揮発性メモリに格納する第１情報管理部をマスタの状態に保つことが好ましい。第１の実施形態では、第１情報管理部や第２情報管理部の同期処理と、モジュールからの要求に応える処理とが独立しているので、モジュール側の処理遅延を避けることができる。
【００１４】
第２の実施形態に係る通信機器では、前記第１情報管理部が、前記機器ごとの使用頻度を示す頻度情報と前記機器識別情報とを対応付けて保持し、前記使用頻度の高い順を反映させる優先規則によって前記第２情報管理部に複製する前記参照用情報を選ぶ。
ＨＧＷ等の通信機器においては、通常、揮発性メモリに比して不揮発性メモリは大容量搭載されるので、第１情報管理部用に十分なメモリ容量を確保することが容易である。一方、第２情報管理部用に割り当てられる揮発性メモリの容量は、通信機器で動作する他のソフトウェアの使用状況等で異なり、揮発性メモリ容量の制限下で第１情報管理部の全ての参照用情報を第２情報管理部に保持させることができず、第１情報管理部から第２情報管理部へ複製する参照用情報を選択しなければならない場合も起こり得る。第２の実施形態は、その複製対象の選択において、機器の種類や当該宅の生活態様等で様々に異なる機器間の使用頻度差を反映させ、使用頻度の高いものを優遇するので、揮発性メモリ容量の制限下でモジュールによる第２情報管理部の使用機会を生じ易くすることができる。
【００１５】
第３の実施形態に係る通信機器では、前記第１情報管理部が、前記参照用情報を前記第２情報管理部に複製する優先度を示す順位付情報と、前記機器識別情報とを対応付けて保持し、前記使用頻度よりも前記優先度の高い順を優先的に反映させる優先規則によって前記第２情報管理部に複製する前記参照用情報を選ぶ。
通信機器の配下には多様な機器が接続されるので、使用頻度よりも重要視すべき安全性、遅延耐性等の属性を機器の種類や状態に応じて評価した基準に基づき、通信機器内で高速処理の対象にするか否かを選べることが好ましい。第３の実施形態は、前述の複製対象選択に際し、使用頻度以外の基準で評価した優先度の高いものを優遇し、高速処理の対象にすることができる。
【実施例】
【００１６】
以下、この発明の一実施例を添付図面に基づいて説明する。図１に通信機器１のハードウェア資源の要旨、図２にソフトウェア資源の要旨を示す。この通信機器１は、エンドユーザ宅に設置されるホームゲートウェイ（ＨＧＷ）として構成されている。通信機器１には、宅内ＬＡＮ（Ｌｏｃａｌ Ａｒｅａ Ｎｅｔｗｏｒｋ）として構築されたホームネットワーク２と、これに対してＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）となる外部ネットワーク３とを相互接続するルータとして機能するようになっている。
【００１７】
通信機器１は、中央演算処理装置（ＣＰＵ）１１と、主記憶装置１２、不揮発性メモリ１３と、ＬＡＮ側通信装置１４、ＷＡＮ側通信装置１５等のハードウェア資源と、不揮発性メモリ１３に格納され、主記憶装置１２にロードされて中央演算処理装置１１によって実行される各種のソフトウェア資源とによって構成されている。
【００１８】
また、通信機器１は、ＩＰ電話サービスの一端を収容しており、ＳＩＰ（Ｓｅｓｓｉｏｎ  Ｉｎｉｔｉａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）パケットの送受信を行う機能を有する。
【００１９】
外部ネットワーク３は、光通信網、公衆電話網等の公衆回線網になっており、一般に、インターネットへのアクセス網として使用される。ＷＡＮ側通信装置１５は、外部ネットワーク３のユーザ宅側の回線終端装置（図示省略）に接続される。回線終端装置は、通信機器１に搭載されてもよい。
【００２０】
ホームネットワーク２は、通信機器１の配下に構築されたＬＡＮになっている。ＬＡＮ側通信装置１４には、ホームネットワーク２に属する機器４〜８が接続される。ＬＡＮ側通信装置１４と機器４〜８間の伝送媒体は、有線、無線のいずれでもよい。
【００２１】
中央演算処理装置１１は、メインプロセッサと、複数のサブプロセッサとを有するマルチコアプロセッサになっており、サブプロセッサごとに所定の処理を割り当てて並列処理を実行可能なものとなっている。
【００２２】
主記憶装置１２は、電源供給時のみ情報を保持可能な揮発性メモリからなる。不揮発性メモリ１３は、非電源供給時でも情報を保持可能で、主記憶装置１２に対して大容量ながら低速なものとなっている。例えば、不揮発性メモリ１３として、フラッシュメモリ、ハードディスクドライブが用いられる。
【００２３】
不揮発性メモリ１３に格納するソフトウェア資源としては、ハードウェア資源を直接に制御するファームウェア（図示省略）、ＯＳ（Ｏｐｅｒａｔｉｎｇ Ｓｙｓｔｅｍ）、これらをプラットフォームとして動作する仮想マシン１６、仮想マシン１６上で動作するモジュール１７等が実装されている。
【００２４】
仮想マシン１６は、プラットフォーム非依存性の仮想的な実行環境を構築し、その上で所定のオブジェクト指向言語で記述されたモジュール１７を実行し、中央演算処理装置１１が直接解釈して実行可能なネイティブコードに変換する。このため、仮想マシン１６及びモジュール１７による柔軟な実装性を実現することができる。
【００２５】
図示の仮想マシン１６は、Ｊａｖａ仮想マシン（ＪＶＭ）になっている。モジュール１７は、Ｊａｖａ言語で記述されたモジュールになっており、ＯＳＧｉ  Ａｌｌｉａｎｃｅのフレームワークに対応のバンドルとして構成されている。
【００２６】
モジュール１７は、通信機器１から機器４〜８に提供されるサービスの制御を行うソフトウェアになっている。機器４〜８の制御に関する通信プロトコルは、ステートフルなものとなっているが、一種に限られない。モジュール１７によるサービスは、外部ネットワーク３を介した対応の機器４〜８の遠隔制御や遠隔監視、ホームネットワーク２内での機器４〜８間の連動等、機器ごとに適宜の内容となる。モジュール１７は、機器４〜８の製造業者からの提供、ユーザによるインストール、外部ネットワーク３を介したダウンロード、プリインストール等の適宜の手段によって通信機器１に実装される。
【００２７】
通信機器１は、機器４〜８向けのサービスの制御に関する通信プロトコルのメッセージをネイティブ領域で解読し、命令コード、機器を指定する識別情報等の所要の記述を読み取り、モジュール１７へ渡す。例えば、ＳＩＰメッセージのｉｓｕｂ領域に記述された機器指定、機器４〜８の制御に用いる命令コードの読み取り処理が挙げられる。
【００２８】
さらに、通信機器１は、モジュール１７によってサービスの制御に用いられる参照用情報を管理するための第１情報管理部２３及び第２情報管理部２４を備えている。
【００２９】
第１情報管理部２３は、図２、図３に示すテーブルＴ１により、ホームネットワーク２内で機器４〜８を一意に示す機器識別情報３１と、機器４〜８向けのサービスの制御に用いられる参照用情報３２〜３４とを対応付けて保持する。第１情報管理部２３は、モジュール１７と異なるネイティブ言語で実装されている。ここで、ネイティブ言語とは、ネイティブコードを生成するプログラム（ソースコード）の言語のことをいう。第１情報管理部２３がテーブルＴ１に保持する情報は、不揮発性メモリ１３に格納される。
【００３０】
機器識別情報３１は、ホームネットワーク２内で機器４〜８に設定されたアドレスとして記述される。例えば、ＳＩＰメッセージに制御用の情報を付与する場合、機器識別情報３１は、機器４〜８に設定された電話番号となる。機器識別情報３１は、ホームネットワーク２に属する機器４〜８とアドレスとの対応性を通信機器１において一意に識別可能であればよく、これを満足する限り、機種名、機器の型式、ユーザの任意登録の識別情報等でもよい。
【００３１】
参照用情報３２は、機器４〜８への指示内容を示す命令コード、機器４〜８からの応答内容を示すステータスコード等、機器４〜８の制御に際し、送受信されるステートフルなコードとして記述される。
【００３２】
参照用情報３３は、機器４〜８の現在の状態を示すステート情報である。
【００３３】
参照用情報３４は、参照用情報３２に示すコード、参照用情報３３に示す機器４〜８の現在の状態との組み合わせから定まる次の動作を示す情報として記述されている。なお、その組み合わせから次の動作を導く解釈法則は、機器４〜８ごとに製造業者等によって既定されている。この解釈法則は、通常、モジュール１７に実装されるが、この例では第１情報管理部２３にも実装されている。モジュール１７は、参照用情報３４に示された次の動作を実行するための処理を行う。なお、機器４〜８に関する次の動作は、モジュール１７のみで判断するようにしてもよく、この場合、参照用情報３４を第１情報管理部２３に保持することは不要である。
【００３４】
第１情報管理部２３への機器４〜８の登録は、モジュール１７の実装時にユーザ登録又は自動的に登録されるようにしてもよいし、随時、機器４〜８の製造業者、アクセス網を運営する通信事業者等の外部サーバから外部ネットワーク３経由で登録されるようにしてもよい。参照用情報３２〜３４は、モジュール１７や第１情報管理部２３の判断によって必要に応じ適宜に更新される。参照用情報３３は、モジュール１７による機器４〜８からのステート情報の取得、モジュール１７による機器制御の実行結果、初期から継続した前述の解釈法則の累積等、制御用のプロトコルに対応した所定規則に基づいて更新される。
【００３５】
第２情報管理部２４は、図２、図４に示すように、仮想マシン１６上で動作するように実装され、テーブルＴ２で機器識別情報３１と参照用情報３２〜３４とを対応付けて保持する。第２情報管理部２４がテーブルＴ２に保持する情報は、揮発性メモリからなる主記憶装置１２上に割り当てられた領域に格納される。第２情報管理部２４は、仮想マシン１６で直接に解釈可能なＪａｖａ言語で記述されている。
【００３６】
モジュール１７は、必要に応じて機器４〜８の状態を確認し、テーブルＴ２を上書きする。モジュール１７の終了時やメモリ電源の遮断時には、第２情報管理部２４のテーブルＴ２がクリアされる。
【００３７】
モジュール１７は、第１情報管理部２３よりも第２情報管理部２４を優先的に使用する。すなわち、図５に示すように、モジュール１７は、機器４〜８からの要求や外部ネットワーク３経由からの要求等を受けてサービスの制御契機が到来したとき、サービス提供先とする機器４〜８の参照用情報３２〜３４について、第２情報管理部２４に検索を依頼し（Ｓ１）、この検索に成功したとき、ここの参照用情報３２〜３４を参照、取得して（Ｓ２）、これを反映させた処理を行う（Ｓ３）。一方、（Ｓ１）での検索に失敗したとき、モジュール１７は、第１情報管理部２３に検索を依頼して、ここの参照用情報３２〜３４を参照、取得して（Ｓ４）、これを反映させた処理を行う（Ｓ３）。モジュール１７は、その処理の実行に伴い参照用情報３２〜３４を更新する必要があるときは、使用先とする第２情報管理部２４のテーブルＴ２又は第１情報管理部２３のテーブルＴ１に反映させる更新要求を出す。
【００３８】
図２に示す第１情報管理部２３及び第２情報管理部２４は、同期を行う。ここで、第１情報管理部２３及び第２情報管理部２４は、モジュール１７からの要求に応える処理と独立して同期する。この同期処理と、モジュール１７からの要求に応える処理とは、中央演算処理装置１１配下の相異なるプロセッサに割り当てられており、並列処理で行われるようになっている。なお、同期処理は、モジュール１７からの要求に応える処理よりも優先度を低く設定したバックグラウンド処理により独立して行うようにしてもよい。
【００３９】
第１情報管理部２３及び第２情報管理部２４間の同期により、不揮発性メモリ１３に格納する第１情報管理部２３をマスタの状態に保つことができる。第１情報管理部２３や第２情報管理部２４の同期処理と、第１情報管理部２３や第２情報管理部２４がモジュール１７からの参照、更新等の要求に応える処理とが独立しているので、モジュール１７側の処理遅延を避けることができる。
【００４０】
第１情報管理部２３は、図３に示すように、機器４〜８ごとの使用頻度を示す頻度情報３５と機器識別情報３１とを対応付けて保持する。第１情報管理部２３は、使用頻度を所定の算出規則で演算し、この値を頻度情報３５としてテーブルＴ１に書き込む。
【００４１】
例えば、第１情報管理部２３が保持する更新履歴を用い、テーブルＴ１のレコード単位で更新回数を使用回数とすることができる。また、項目ごとに使用回数を把握することもできる。例えば、直近１ヶ月など、時間を切って、１日あたりの命令が実施された回数は、命令コマンドを示す参照用情報３２の更新回数としてカウントすることができる。
【００４２】
使用頻度は、例えば、単純平均とし、１ヶ月の使用回数／３０日の演算式で求めることができる。また、使用頻度は、例えば、Ｎ日前までの移動平均とし、次の式１で求めることができる。
式１：(Ｄ_ｎ−ｄ_ｉ)×Ｎ_ｉ／Σｄ_ｉ
（ただし、Ｄ_ｎ：合計を算出する範囲、ｄ_ｉ：１〜Ｎ、Ｎ_ｉ：ｉ日前の使用回数) 
【００４３】
使用頻度の求め方は、前述の各例示の他にも、任意の統計手法を採用してもよく、その際、季節、温度、天候等の外部要因を取り入れた方法や、ユーザ個人の使用傾向の時系列データを加味する方法にしてもよい。
【００４４】
また、図２、図３に示す第１情報管理部２３は、参照用情報３２〜３４を第２情報管理部２４に複製する優先度を示す順位付情報３６、３７と、機器識別情報３１とを対応付けて保持する。この例では、順位付情報３６が、機器４〜８の状態に応じた危険度を評価し、これに基づいた優先度の値「０」〜「３」を割り当てたものとなっている。また、順位付情報３７が、機器４〜８の状態に応じた遅延耐性を評価し、これに基づいた優先度の値「０」〜「３」を割り当てたものとなっている。優先度の値は、数字が大きいほど危険、もしくは遅延に敏感の意味となり、「３」： 最優先（例えば、火事の可能性がある）、「２」： 故障の危険がある、遅延が機能に致命的、「１」：機能や使用感に影響する可能性がある、「０」：問題ない、と評価されている。これら優先度は、例えば、機器４〜８の状態ごとに予め人為的に評価付けされ、第１情報管理部２３に参照可能な形式で不揮発性メモリ１３に格納されている。第１情報管理部２３は、機器の現在の状態を示す参照用情報３３を更新すると、その更新後の参照用情報３３に対応の優先度を確認し、優先度の変化があれば、対応の順位付情報３６、３７をテーブルＴ１に書き込む。
【００４５】
第１情報管理部２３は、テーブルＴ１において機器識別情報３１と対応付けて保持するコピーフラグ３８に基づいて、第２情報管理部２４に複製する対象を決定する。コピーフラグ３８は、第２情報管理部２４用に割り当てられたメモリ容量の不足により、第１情報管理部２３のテーブルＴ１に保持された全参照用情報３２〜３４をテーブルＴ２に複製することができないとき、テーブルＴ１のいずれの参照用情報３２〜３４を複製するかを選ぶためのものである。図中、コピーフラグ３８の値：「１」が複製対象のレコードを示し、「０」が非複製対象のレコードを示す。コピーフラグ３８をテーブルＴ１の上位何番目まで「１」にするかは、メモリ容量の制限下、第２情報管理部２４に複製可能な最大量に基づいて決定される。
【００４６】
図６に示すように、（Ｓ３）の処理に伴う更新等、第１情報管理部２３は、自己の更新の際、頻度情報３５、順位付情報３６、３７について所要の更新を行い（Ｓ１１，Ｓ１２）、その更新で値が変化したか判断を行い、変化している場合、コピーフラグ３８の更新処理に移行し（Ｓ１３，Ｓ１４）、一方、値が変化しない場合、コピーフラグ３８の更新処理を行わず、コピーフラグ３８が「１」のレコードであれば、第２情報管理部２４に複製を行い、「０」であれば複製しない（Ｓ１３，Ｓ１５）。
【００４７】
ここで、第１情報管理部２３は、使用頻度の高い順を反映させ、かつ使用頻度よりも優先度の高い順を優先的に反映させる優先規則によって第２情報管理部２４に複製する参照用情報３２〜３４を選ぶ。すなわち、通信機器１は、その複製対象の選択において、機器４〜８の種類や当該宅の生活態様等で様々に異なる機器４〜８間の使用頻度差を反映させ、使用頻度の高いものを優遇するので、主記憶装置１２（揮発性メモリ）のメモリ容量の制限下でモジュール１７による第２情報管理部２４の使用機会を生じ易くすることができ、また、使用頻度よりも重要視すべき属性を機器４〜８の種類や状態に応じて評価した基準に基づき、通信機器１内で高速処理の対象にするか否かを選び、高速処理の対象にすることができる。
【００４８】
この例では、安全面を重視し、第１情報管理部２３は、コピーフラグ３８の更新処理において、図７に示すように、最優先で順位付情報３６の値の高い順に上位へソートし（Ｓ２１）、次に順位付情報３７の値の高い順に上位へソートし（Ｓ２２）、次に頻度情報３５の値の高い順に上位へソート（Ｓ２３）して、テーブルＴ１内でのレコードの並び順を確定する。その後、第１情報管理部２３は、第２情報管理部２４に複製可能な最大量（メモリ容量次第）に基づいて、コピーフラグ３８をテーブルＴ１の上位何番目まで「１」にするかを決定し、所要のレコードのコピーフラグ３８を書き換える（Ｓ２４）。次の同期処理において、第１情報管理部２３は、コピーフラグ３８が「１」のものだけを第２情報管理部２４に複製する（Ｓ２５）。
【００４９】
例えば、許されるコピーフラグ３８の数が３つであって図８（ａ）に示すテーブルＴ１の状態を仮定する。ここで、図８（ａ）における機器（風呂）の順位付情報３６の値「０」が図８（ｂ）に示すように「３」へ更新されると、前述の（Ｓ１３）、（Ｓ２１）の処理により、順位付情報３６の値が最大の「３」で優先度の最も高い機器（風呂）のレコードがテーブルＴ１の最上位レコード（１番目）となり、コピーフラグ３８が「０」から「１」に更新される。一方、図８（ａ）において３番目の機器（電話機）のレコードは、図８（ｂ）において４番目に繰り下げられるので、そのコピーフラグ３８は、「１」から「０」に更新される。
【００５０】
図２に示すモジュール１７のファームアップ等により、図１に示す主記憶装置１２からテーブルＴ２が消去されると、その後、図２のモジュール１７が起動するときにテーブルＴ２の再構築が行われる。この際、図１に示す不揮発性メモリ１３に格納された第１情報管理部２３のテーブルＴ１においては、前述の優先規則に従ったソート順序でレコードが並んでいる。図２に示すモジュール１７は、図９に示すように、第１情報管理部２３のテーブルＴ１をチェックし（Ｓ３１）、必要に応じて機器４〜８の状態を確認し、状態のずれの修正等、所要の情報について第１情報管理部２３の更新を行う（Ｓ３２）。モジュール１７は、第２情報管理部２４に割り当てられているメモリ容量を第１情報管理部２３へ知らせ、複製を要求する。第１情報管理部２３は、そのメモリ容量に応じて、コピー可能な範囲を確定し、所要のコピーフラグ３８を「１」とし（Ｓ３３）、その後、第２情報管理部２４に複製する（Ｓ３４）。
【００５１】
なお、前述の同期処理や起動時の処理においては、第２情報管理部２４に割り当てられているメモリ容量の確認を省略するようにしてもよい。例えば、第１情報管理部２３は、第２情報管理部２４のメモリ容量の満杯に伴ってエラーが通知されるまで、優先順位に従ってソートされた最上位のものから順次に複製を継続すればよい。この場合、コピーフラグ３８を省略することも可能である。
【００５２】
この通信機器１の動作の一例を図１０（ａ）に示す。同図（ａ）の動作は、通信機器１の配下でホームネットワーク２に属する機器（電話機）に提供されるＩＰ電話サービスにおいて、モジュール１７が機器の発呼に関する制御を行う場合を想定している。ここで、機器の現在の状態は、発信者番号の非通知サービスを利用する設定がなされた非接続状態であり、これを示す参照用情報３３が図３、図４のテーブルＴ１、Ｔ２に保持されているものとする。機器４からの発信指示がモジュール１７に届いたとき、モジュール１７は、機器４の機器識別情報３１（この場合、ＳＩＰなので電話番号）を検索キーとし、先ず第２情報管理部２４を検索し、ここでヒットする（Ｓ４１）。モジュール１７は、第２情報管理部２４から参照用情報３２〜３４を取得し、非通知サービスの適用を示す命令コードのプレフィックス「１８４」の付与を決定する（Ｓ４２）。モジュール１７は、他にもプレフィックスを付与すべき番号か第２情報管理部２４をさらに検索し、最終的な発信番号の確定を確認後（Ｓ４３、Ｓ４４）、ＳＩＰの発信処理を行って接続を確立する（Ｓ４５）。
【００５３】
図１０（ｂ）に示す動作例は、同じく機器（電話機）に提供されるＩＰ電話サービスにおいて発信者番号の非通知サービスを利用する設定がなされた非接続状態であり、これを示す参照用情報３３が図３のテーブルＴ１にのみ保持されている点で同図（ａ）と相違したものとする。同図（ｂ）の場合、機器４からの発信指示がモジュール１７に届いたとき、モジュール１７は、先ず第２情報管理部２４を検索するが、ここでヒットせず、第１情報管理部２３を検索して参照用情報３２〜３４を取得し（Ｓ５１）、プレフィックス「１８４」の付与を決定後（Ｓ５２）、第１情報管理部２３をさらに検索して最終的な発信番号の確定を確認後（Ｓ５３、Ｓ５４）、ＳＩＰの発信処理を行うことになる（Ｓ５５）。これら動作例を比較すると、同図（ａ）の場合、モジュール１７は、仮想マシン１６上で動作する第２情報管理部２４から参照用情報３２〜３４を取得可能な分、同図（ｂ）の場合に比して、ネイティブ領域の第１情報管理部２３の使用を減らし、処理遅延を抑えることができる。
【００５４】
この発明の技術的範囲は、上述の実施形態や実施例に限定されず、特許請求の範囲の記載に基づく技術的思想の範囲内での全ての変更を含むものである。
【符号の説明】
【００５５】
１  通信機器
２  ホームネットワーク
３  外部ネットワーク
４〜８  機器
１２  主記憶装置（揮発性メモリ）
１３  不揮発性メモリ
１６  仮想マシン
１７  モジュール
２３  第１情報管理部
２４  第２情報管理部
３１  機器識別情報
３２〜３４  参照用情報
３５  頻度情報
３６，３７  順位付情報
【図１】
0006054444.tif 000002
【図２】
0006054444.tif 000003
【図３】
0006054444.tif 000004
【図４】
0006054444.tif 000005
【図５】
0006054444.tif 000006
【図６】
0006054444.tif 000007
【図７】
0006054444.tif 000008
【図８】
0006054444.tif 000009
【図９】
0006054444.tif 000010
【図１０】
0006054444.tif 000011