JP5882436B1 - 通信装置 - Google Patents

通信装置 Download PDF

Info

Publication number
JP5882436B1
JP5882436B1 JP2014226979A JP2014226979A JP5882436B1 JP 5882436 B1 JP5882436 B1 JP 5882436B1 JP 2014226979 A JP2014226979 A JP 2014226979A JP 2014226979 A JP2014226979 A JP 2014226979A JP 5882436 B1 JP5882436 B1 JP 5882436B1
Authority
JP
Japan
Prior art keywords
bundle
communication
packet
function unit
discard
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2014226979A
Other languages
English (en)
Other versions
JP2016092673A (ja
Inventor
中村 純
純 中村
厳樹 戸嶋
厳樹 戸嶋
大畑 博敬
博敬 大畑
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone West Corp
Original Assignee
Nippon Telegraph and Telephone West Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone West Corp filed Critical Nippon Telegraph and Telephone West Corp
Priority to JP2014226979A priority Critical patent/JP5882436B1/ja
Application granted granted Critical
Publication of JP5882436B1 publication Critical patent/JP5882436B1/ja
Publication of JP2016092673A publication Critical patent/JP2016092673A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Abstract

【課題】OSGiフレームワークでJava化されたサービス機能を提供するにあたり、現在のJavaの仕様の範疇で、バンドルの再配信による通信の切断を回避する。【解決手段】Native機能13として、バンドル配信サーバ35のドメイン名51を解決するDNS機能部41と、ドメイン名51に対応するIPアドレスを記録するIPアドレス管理テーブル52と、Java Native Interface(JNI)16経由で送信されるパケットの宛先が、ドメイン名51に対応する上記IPアドレスであるか否かを判断するパケットフィルタリング機能部42と、上記IPアドレス宛のパケットについてパケット破棄を実行するルータ機能部43とを備える通信装置とする。【選択図】図1

Description

この発明は、Java仮想マシン上のバンドルとして機能を搭載、更新、拡張できる通信装置に関する。
近年、ホームゲートウェイ(HGW)のような通信装置においても、Java(登録商標)仮想マシン(Java virtual machine:JVM)機能が搭載されるようになっている。このJVMを有する通信装置では、通信装置が本来有する機能であるネイティブ(Native)機能に加えて、Java領域で実行されるアプリケーションソフトウエアであるバンドルによって様々な機能を追加し、それをさらに更新することができる。すなわち、ネットワーク技術の進歩やサービスの追加に対応した新たな機能を、バンドルとして配信、更新されることで追加することができる。これにより、通信装置を必要なNative機能を有するハードウェアから開発し直さなくても、ソフトウェアであるバンドルの開発のみで対応できることが多くなる。HGWであれば機器を交換しなければならないケースが減り、個々の家庭での利用者にとって継続的に利用しやすくなる。また、サービスを提供する業者にとっては、最新の機能を速やかに普及させることができる。さらに、開発コストを削減することができる。さらにまた、エラーの修正やセキュリティのためのアップデートも容易にできる。
JVM上でバンドルを動かそうとすると、Native機能によって同じ機能を実装する場合に比べて、CPUやメモリなどの要求スペックが高くなる。このため、当初はGUI機能やUPnP機能などの一部機能のみがバンドルとして提供されていた。しかし、時代と共に機器の処理能力が向上することに伴い、より多くの機能をJVM上のバンドルとして提供可能になりつつある。
例えば、非特許文献1,2には、フレッツジョイント(登録商標)という名称で、IPv6で構成された事業者ネットワーク(Next Generation Network:NGN)に接続する各家庭に設置されたHGWに、Javaを用いて機能を提供し、追加する方法が提示されている。
ここでは、Open Services Gateway Initiative(OSGi)と呼ばれる技術を用いている。ネットワーク上に設置したセンタシステムと呼ばれるサーバには、バンドルを配信可能に登録しておく。このバンドルを利用する、ゲートウェイ、ルータ、AV機器、自動車、携帯電話その他の通信装置は、JVM上にOSGiフレームワークと呼ばれる機能部を有する。OSGiフレームワークは、各々のバンドルのダウンロード、起動、停止、バンドル間サービス、セキュリティ機構、イベント処理などの基本機能を提供するものであり、各々のバンドルはJVMで機能するこのOSGiフレームワーク上で動作する。バンドルの中でも共通的に用いられる機能は基本サービスバンドルとして標準化されており、機器の用途に応じて開発されるバンドルは別途アプリケーションバンドルと呼ばれる。センタシステムからはどちらのバンドルも提供できる。
特許文献1には、アプリケーションプログラムの配信を行うサーバ装置に対して、サーバ用アプリケーションプログラムとアプリケーション用プログラムとを一括して配信し、サーバ装置が記憶手段に記憶させたクライアント用アプリケーションプログラムをクライアント端末に送信するステップを実行する旨が記載されている。これはバンドル配信するしくみそのものを開示したものである。
ところで、バンドルの中にはファームウェアのアップデートのように自動的に更新すべきものもあれば、ユーザが主体的に実行や更新の可否を決定することが必要なものもある。また、サービスを実現するためには複数のバンドルを適切に組み合わせてインストール及び実行しなければならない場合もある。特許文献2では、サーバ装置が個々のホームゲートウェイ装置を識別するデータベースを有し、それぞれのホームゲートウェイ装置に配信されているバンドルをサーバ装置が管理できるようにする旨が提示されている。また、悪意有るサーバから送付されたサービスを実行しないように、インストールに必要な情報のみをサーバ装置に返すインストーラをホームゲートウェイ装置に配布して、バンドルを実行する際には再度サーバ装置に実行の可否を確認できるようにすることも提案されている。
また、特許文献3には、家庭内に設置されたホーム機器で用いるバンドルについて、それらホーム機器と接続されたホームゲートウェイが管理できるように、ホーム機器管理テーブルを備え、ホームゲートウェイがホーム機器に対して必要なプログラムの配信を行う旨が記載されている。
特開2006−302031号公報 特開2011−003110号公報 特開2012−238943号公報
http://flets-w.com/joint/ https://flets.com/joint/
しかしながら、通信装置で提供するサービス機能をJava化し、機能をバンドルで提供していくと、特定の条件下でサービス機能を一時的に提供できなくなったり、切断せざるを得ない状況に陥ったりすることがある。これは、バンドルがバージョンアップした場合などに、センタシステムからバンドルが再配信されるときに起こる。バンドルがセンタシステムからホームゲートウェイなどの通信装置に再配信されると、即座にJVM上でインストールされ、そのバンドルは再起動が行われる。この再起動の際に、当該バンドルは当然に、そのバンドルによるサービス機能を提供することができなくなる。
例えばIP電話などの呼処理を行うバンドルや、VPN(Virtual Private Network)を構築するバンドル、IPsec(Security Architecture for Internet Protocol)などが、当該バンドルが再配信される前から通信処理を継続していても、再配信とインストール後の再起動によって当該通信処理が突然に切断されてしまう。具体的には確立済の通話呼が切断されたり、VPN等のデータ通信が切断されたりといった事象が起こりうる。
通信中のバンドルについてのみ再配信を止めることができればこのような事態は回避できる。しかし、現在のJavaの仕様では各バンドルからの通信状態とバンドル再配信とを直接関連付けることができないため、現状では再配信を止めることができずに通信の切断が起きてしまう。
そこでこの発明は、OSGiフレームワークでJava化されたサービス機能を提供するにあたり、現在のJavaの仕様の範疇で、バンドルの再配信による通信の切断を回避することを目的とする。
この発明は、
Java Virtual Machine(JVM)上のOSGiフレームワークにインストールされるバンドルであり、外部ネットワーク上のバンドル配信サーバに対して問い合わせを行い、個々のバンドルがバージョンアップされている場合には当該バンドルのバージョンアップされたパッケージを上記バンドル配信サーバからダウンロードして更新させることができるOSAPエージェントを、上記JVM上に有する通信装置であって、
上記通信装置自体が有するNative機能として、
上記バンドル配信サーバのドメイン名を解決するDNS機能部と、
上記のドメイン名に対応するIPアドレスを記録するIPアドレス管理テーブルと、
Java Native Interface(JNI)経由で送信されるパケットの宛先が、上記ドメイン名に対応する上記IPアドレスであるか否かを判断するパケットフィルタリング機能部と、
上記IPアドレス宛のパケットについてパケット破棄を実行するルータ機能部と、
を有する通信装置により、上記の課題を解決したのである。
上記OSAPエージェントは上記バンドル配信サーバからバンドルをダウンロードする。そのためには当然に上記バンドル配信サーバに対して接続しなければならない。多くの通信装置は、IPアドレスではなくドメイン名を含むアドレスで上記バンドル配信サーバを記録して、サーバが移転した場合でもサービスを対応可能にしている。従って、当該通信装置が上記バンドル配信サーバに接続するためには、その前にドメイン名を解決するステップが介在する。そこで、上記DNS機能部により上記バンドル配信サーバのアドレスについて名前の解決が行われたときに、その解決された返答に含まれるIPアドレス(IPv6)を上記IPアドレス管理テーブルに記録しておく。その後、上記JNI経由で当該IPアドレス宛のパケットが送信されれば、そのパケットはバンドル配信サーバへの問い合わせであるとわかるので、これを破棄することで、OSAPエージェントは上記バンドル配信サーバからバンドルをダウンロードすることができなくなり、バンドルの再配信を遮断できる。
このようなパケットフィルタリング機能部でのフィルタリングとルータ機能部でのパケット破棄を、必要に応じて実行する。完全にバンドルの更新を止める場合は常時フィルタリングを行うことになるが、バンドルの更新を全く行わないと、バンドルによる機能追加やセキュリティ上の更新が可能であるOSGiフレームワークの利点が活かせない。このため、フラグを管理して上記のフィルタリング及びパケット破棄を行うか否かを設定する条件を記録するブロック条件データベースを設け、条件を満たす場合のみ上記フィルタリングを行うと好ましい。具体的には、通話が行われているか、VPNのように維持が必要な通信が行われている条件下で上記フィルタリングを行うと、それらの接続がバンドルの再配信に伴う再起動によって切断されることを防止できる。
この発明により、バンドルの再配信に伴う再起動によって、維持しなければならない通信が切断される事態を、防ぐことができる。
この発明にかかる通信装置の機能ブロック及び通信する装置の概念図 この発明にかかる通信装置が備えるブロック条件データベースの例図 IPアドレス管理テーブルへの登録手順を示すフロー例図 (a)通話フラグの変更手順を示すフロー例図、(b)通話フラグの変復手順を示すフロー例図 (a)継続通信フラグの変更手順を示すフロー例図、(b)継続通信フラグの変復手順を示すフロー例図 実際にパケットの遮断を行う際のフロー例図
以下、この発明について実施形態の例を示して詳細に説明する。この発明は、呼処理やVPNなどの継続的に接続状態が続く通信を取り扱う、ホームゲートウェイなどの通信装置である。
この通信装置の機能ブロックと、それと通信するその他の装置やネットワークの関係を図1に示す。通信装置11は、NativeOS(図示せず)上に実装され実際のCPU上で動作するNative機能13を有する。また通信装置11はそれに加えて、仮想マシンであるJVM(Java Virtual Machine)14を有している。このJVM14には、バンドルと呼ばれるソフトウェアモジュールを動的に追加することができるOSGiフレームワーク15が実装されている。JVM14がNative機能13と連携する際には、一方から他方の機能を利用するためのAPI(Application Programming Interface)のセットであるJNI(Java Native Interface)16を介してデータや命令を相互に受け渡しする。
OSGiフレームワーク15上では、後述する個々の機能を提供するバンドル(22,23……)の他に、バンドルを管理するバンドルであるOSAPエージェント21が動作する。OSAPエージェント21は、JNI16を介して、後述する外部ネットワーク31上に設けられたセンタサーバ34内のバンドル配信サーバ35と通信する。バンドル配信サーバ35は、センタシステムとも呼ばれ、要求に応じてバンドルの配信及び再配信を行うサーバである。OSAPエージェント21は定期的にバンドル配信サーバ35に接続して、当該OSGiフレームワーク15にインストールされたバンドルについて、更新があるか否かを問い合わせ、更新があれば新たなバージョンのバンドルをダウンロードし、インストールして、当該バンドルを再起動させる。
上記の外部ネットワーク31のうち、通信装置11とUNI(User-Network Interface)で直接接続される事業者ネットワーク32には、通信装置11がDNSの名前の解決の問い合わせを行う先となるDNSサーバ36が設けられている。少なくともこのDNSサーバ36は、通信装置11が記録しているバンドル配信サーバ35のドメイン名から、その時点で稼働しているバンドル配信サーバ35のIPアドレスを返答できる必要がある。事業者ネットワーク32の中に設けることで、ドメイン名を一般で使われない固定のものとすることができる。
また、事業者ネットワーク32の外には、複数のサーバからなりホームゲートウェイなどの通信装置11を管理するためのセンタサーバ34があり、その中にバンドルの配信を行うバンドル配信サーバ35が設けてある。さらに、外部ネットワーク31には、任意の対向装置37があり、この発明にかかる通信装置11と、IP電話やVPNなどのバンドルによる機能によって継続的な通信を確立する。この対向装置37とは、具体的には他の家庭のHGW、及びそれに接続する各家庭内ネットワークの機器などが挙げられる。通信装置11は、これらの対向装置37との間で、通話を行ったり、VPNを構築したり、その他の通信を行う。
なお、実際の処理としては、バンドル配信サーバ35は、個々の通信装置11が個々のバンドルについて配信を受ける契約があるか否かを別途把握した上で、通信装置11に対して配信を行う。契約上は提供されていないサービスに関するバンドルを配信すると、管理上問題となるからである。これに対応するため、個々の通信装置11はNative機能として、個々の通信装置11を識別できる端末情報を有し、センタサーバ34又はそれと接続可能なサーバに対してその端末情報を登録する端末登録インターフェース機能部を有する。
一方、センタサーバ34又はそれと接続可能なサーバは、個々の通信装置11の端末情報を管理し、また、個々の通信装置11についてバンドルの配信サービスを受ける契約の有無を管理する端末管理部を有する。バンドル配信サーバ35は、この端末管理部から、上記端末情報及び契約の有無についての情報を受け取り、個々の通信装置11がバンドルを配信すべきものであるか否かを確認した上で、OSAPエージェント21からの配信要求に応える。
通信装置11は、演算装置(図示せず)と記憶部(図示せず)とを有し、家庭内ネットワーク30と外部ネットワーク31とのそれぞれに接続されるネットワークインターフェースを少なくとも有する。上記記憶部には、Native機能13となるソフトウェアが格納され、演算装置によって実行される。
通信装置11はNative機能13として、以下に説明する機能部やデータベースなどのデータを有する。基本的な機能は一般的なHGWなどに搭載されているものと同一であるが、この発明にかかる通信装置11では、後述する追加要素とともに、それぞれの特有の実行手段を実行することで、この発明を構成する。
通信装置11は、上記Native機能13として、ドメイン名を解決するDNS機能部41を有する。このDNS機能部41は、上記記憶部に記録されているバンドル配信サーバ35を示すドメイン名51の名前の解決を行うCSドメイン名解決手段を実行できる。また、通常のルータ等が有するDNSプロキシの機能として、家庭内ネットワーク30からのDNSの名前の解決の問い合わせを中継して、その他の名前の解決を行ってもよい。
通信装置11の上記記憶部は、上記のドメイン名に対応するIPアドレスを記憶するIPアドレス管理テーブル52を有する。この記憶は一時的なものであり、OSAPエージェント21の定期的な動作の度に更新されることが望ましい。バンドル配信サーバ35が移転する場合があるからである。
通信装置11は、上記Native機能13として、通過するパケットを監視するパケットフィルタリング機能部42を有する。このパケットフィルタリング機能部42は、JNI経由で経由されるパケットが、上記ドメイン名51に対応するIPアドレスのパケットであるか否かを判断するフィルタリングである、CSアドレスチェック手段を実行できる。またその他に、通常のルータ等が行うパケットの監視を行ってもよい。
通信装置11は上記Native機能13として、上記のパケットフィルタリング機能部42と連携して、ルーティングやパケットの破棄を行うルータ機能部43を有する。このルータ機能部43は、上記のドメイン名51に対応するIPアドレス宛のパケットについて、所定の条件を満たした際にパケット破棄を行う、CS宛パケット破棄手段を実行できる。またその他に、通常のHGWが行うルーティングを行ってもよい。
また、通信装置11は、上記Native機能13として、JNI16を経由する通信中のパケットのプロトコルと流量を監視する通信監視機能部44を有すると好ましい。この通信監視機能部44は、パケット破棄を実行する場合の条件を登録するブロック条件データベース53の条件に従って、当該条件に合致する通信が行われているか否かを判断する通信状況監視手段を実行する。また、ブロック条件データベース53は上記の記憶部中に保持される。
さらに、上記の記憶部中には、上記のCS宛パケット破棄手段を実行するか否かを設定する破棄フラグ54を有すると好ましい。破棄フラグ54は1bitである必要はなく、上記バンドル(22、23……)が行う通話やデータ通信などの種類ごとに、バンドルの更新を防止すべき条件を定めておき、それぞれについての複数のフラグの群からなるものでもよい。例えば、上記のバンドル(22)が呼処理を行って通話が継続中であるか否かを示す通話フラグ54a、呼処理以外のバンドル(23)が行っているデータ通信の時間あたり容量や流れているプロトコルの種類により継続すべき通信が継続しているか否かをしめす継続通信フラグ54bなどが挙げられる。具体的にこれらのフラグを立てるか否かの条件は、上記ブロック条件データベース53において定めておくと、その条件によって通信監視機能部44により上記通信状況監視手段が実行されて、パケットを適切に監視できるので好ましい。なお、これらのフラグ(54a,54b)に関するバンドルだけでなく、一旦再起動されるとサービスが継続できなくなって不都合が生じるその他のバンドルがあれば、それに該当する条件を上記ブロック条件データベース53に登録して同様の運用を行うと好ましい。基本的には、複数のフラグからなる場合でも、そのうちのいずれかのフラグによって、上記のCS宛パケット破棄手段を実行する値となっていれば、上記のCS宛パケット破棄手段を実行する。それぞれのフラグを分けることで、どの要因によってバンドルの再配信を一時停止しているのかを把握しやすくなる。
さらにまた、通信装置11は、上記のブロック条件データベース53の条件を含むNative機能13に関する設定を、WEBブラウザを有する端末からのアクセスに応じて閲覧、操作可能であるwebページを生成し、そのwebページからの通信により設定変更を行うweb−GUI(Graphical User Interface)46を有する。これはルータ機能部43やパケットフィルタリング機能部42などが通常のルータなどとして動作する際の条件などを設定できるものでもよい。
この通信装置11では、ブロック条件データベース53にフィルタリングを行う条件を設定可能とする。具体的には、通信装置11を提供する事業者が、センタサーバ34を構成するサーバから自動的に管理できるようにしてもよいし、家庭内ネットワーク30を管理する利用者が管理できるようにしてもよい。家庭内ネットワーク30を管理する利用者が管理できるようにする場合は、web−GUI46が生成するwebページを介して、ブロック条件データベース53の値を変更可能とする。この変更の受け付けは、基本的には、家庭内ネットワーク30に属する端末39から、webブラウザを用いて通信装置11にアクセスした場合に行う。
少なくともこのブロック条件データベース53は、フィルタ処理を行うか否かの設定を有する。この設定は破棄フラグ54(通話フラグ54a、継続通信フラグ54b、……etc.)そのものではなく、破棄フラグ54の真偽値を変更するか否かを判断するために、通信監視機能部44が上記の通信状況監視手段を実行するか否かの設定である。
ブロック条件データベース53の例を図2に示す。この例では、通信の中でも、SIPプロトコルによる呼処理、すなわち音声通信を有する際には、他のデータ通信とは別枠で、フィルタリングを行うか否かの条件を設定可能としている(ID1)。この項目は、「フィルタする」と「フィルタしない」の2種類の設定値を取り得る。「フィルタする」に設定されている場合は、上記の通信状況監視手段によって音声通信を把握されたときに、パケット破棄を実行する設定となる。このように、呼処理の場合はフィルタリングにおいて基本的に有無のみを判断する。
一方で、呼処理以外のデータ通信についても、フィルタリングを行うか否かの条件を設定可能としている(ID2)。この項目も、「フィルタする」と「フィルタしない」の2種類の設定値を取り得る。このID2が「フィルタしない」の設定値となっているとき、呼処理以外のデータ通信については、そもそも内容をチェックするフィルタリング自体を行わない。一方、このID2が「フィルタする」になっているとき、データ通信のパケットについてフィルタリングする。このとき、該当するデータ通信があれば自動的に上記パケット破棄を行う設定とするのではなく、ID2の条件とandの条件で、フィルタリングされるデータ通信の、単位時間内における合計データ量の平均値である速度の範囲(kbps)を設定可能とするとよい(ID3、ID4)。このうちパケット破棄を実行する範囲の最小値であるID3を設定することで、微小量の通信だけがやりとりされている場合にはバンドル(22,23……)の更新を可能にすることができる。特に持続の必要性が高いわけではない通信がやりとりされているだけで上記パケット破棄を実行していると、バンドルの更新をほとんど行えなくなってしまうからである。図2の例では、kbps単位で通信速度を規定し、実際のデータ通信量がそれを下回る場合には、パケット破棄を行わない、すなわち、データ通信の条件ではバンドルの更新を遮らないものとする。ただしもちろん、データ通信とは別枠で上記の呼処理についての項目がある場合には、そちらの条件が満たされる場合にはバンドルの更新を遮ることとなる。一方、上限を設定することもできる(ID4)。なお、図2ではID4は空欄になっており、上限が設定されていない状態を示す。
また、ID2でフィルタリングするか否か設定されるデータ通信について、全てのデータ通信を対象とするのではなく、プロトコル毎に対象とするか否かを変更できると好ましい。バンドルの再起動に伴って切断しても特に問題とならない通信を担うプロトコルと、そうでないプロトコルとを分けて扱うことができる。図2の例では、httpプロトコル(ID5)、ftpプロトコル(ID6)、telnetプロトコル(ID7)を挙げている。それぞれのプロトコルについて「対象とする」と「対象としない」の2種類の設定値を取りうる。図2の例ではhttpプロトコルのみ対象としており、httpプロトコルであるデータ通信のみについて、ID3及びID4で規定される範囲の通信速度でデータがやり取りされている場合に、フィルタリングを行う設定となる。ftpやtelnetで別途通信がされていても、特にフィルタリングの際に考慮しない設定となっている。
ブロック条件データベース53の構成は図2の構成に限られるものではなく、他の様々なプロトコルや数値の上限及び下限、IPアドレスやポート番号などについて設定されるものでもよい。また、通信条件以外にも、通信装置11自体の状態や、その他のソフトウェア又はハードウェアとして認識可能な条件が設定可能であってもよい。
この発明を図1の構成要素を備えた実施形態にかかる通信装置11で実行し、バンドルの更新を阻止する際の手順を、図3以下のフローとともに説明する。まず前提として、通常の環境で通信装置11が実行されている状態とする。ホームゲートウェイであれば、NAPT変換を行って家庭内ネットワーク30と外部ネットワーク31との通信を中継したり、DNSプロキシとして動作したりする。
図3に、通信を遮断する宛先であるバンドル配信サーバ35のIPアドレスを登録する際のフロー例図を示す。OSAPエージェント21は、定期的にバンドル配信サーバ35へ問い合わせを行う。定期的とは例えば1日毎、一週間毎などである。バンドル配信サーバ35のアドレスは、上記記憶部中にドメイン名51として記録されており、ドメイン名51を指定して通信を行う。そのためにはまず、DNSの名前を解決しなければならず、OSAPエージェント21はJNI16経由でDNSの名前の解決要求を送信する。なお、DNS機能部41はJNI16経由の要求だけでなく、家庭内ネットワーク30からのDNSの名前の解決の要求に対しても、DNSプロキシとして作用する。このため、DNS機能部41は通信装置11の内外から名前の解決の要求を受信する(S102)。
DNS機能部41が受信した名前の解決要求が、上記のドメイン名51と完全一致しなかった場合(S103→No)、DNS機能部41は通常のDNSプロキシとして動作して、DNSサーバ36へDNSの名前の解決要求を中継する。当然に、要求に対する返答結果に含まれるIPv6アドレスを、要求を送信した家庭内ネットワーク30内の機器や、通信装置11内の他の構成要素に返却する(S104)。それらのその後の通信は特に阻害されない。
一方、DNS機能部41が受信した名前の解決要求が、上記のドメイン名51と完全一致した場合(S103→Yes)、DNSプロキシとしてDNSサーバ36へDNSの名前の解決を中継し、その返答結果であるIPv6アドレスをOSAPエージェント21に返却する上記CSドメイン名解決手段を実行する(S105)。このときさらにDNS機能部41は、その返答結果に含まれるIPv6アドレスを、IPアドレス管理テーブル52に記録するCSアドレス登録手段を実行する(S106)。この登録したIPv6アドレスを、この後のフィルタリングの際に使用する。なお、IPアドレス管理テーブル52に記録したIPv6アドレスは、次にS106が実行されたときに上書きされる。DNSサーバ36から返答されるバンドル配信サーバ35のIPv6アドレスが変更になっている場合があるからである。
いずれにしても、DNS機能部41はDNSプロキシとして動作し、返答を受けた通信装置11内の機能部やバンドル、通信装置11外の家庭内ネットワーク30にある機器などは、その返答されたIPv6アドレス宛に通信を行う。後述する条件による遮断が無ければ、そのまま通信は続行される。OSAPエージェント21がバンドル配信サーバ35と通信しようとした場合にはそのまま接続がされ、バンドル(22,23……)が更新されている場合には配信され、OSGiフレームワーク15上でバンドルが再起動される。
次に、バンドルの配信による再起動を防ぐために、通信装置11が破棄フラグ54の設定値を変更する際の手順を説明する。ここでは、破棄フラグ54が、通話フラグ54aと、継続通信フラグ54bとの2つを有する場合について説明する。まず、通話フラグ54aについて図4(a)(b)を用いて説明する。
まず(S111)、Native機能13の通信監視機能部44が通信状況監視手段を実行し、JNI16を経由した呼処理が行われていることを認識する(S112)。具体的には、JNI16を通過するパケットの中に、呼処理に用いるSIPプロトコルが含まれていることで認識することができる。呼処理が行われていることを認識した際に、上記のブロック条件データベース53の設定値が、呼処理について「フィルタリングする」ことを許可する値になっていなければ(S113→No)、特に変更されることはない(S115)。一方、呼処理について「フィルタリングする」ことを許可する値になっていれば(S113→Yes)、通話フラグ54aを、通話があることでバンドルの再配信を遮断する、すなわち上記パケット破棄を行う設定値に変更するフラグ変更手段を実行する(S114)。この通話フラグ54aを用いる処理については後述する。
なお、呼処理のみについてではなく、より大きな区分についてフィルタリングする条件であって該当する場合も同様のフローとなる。例えば呼処理とデータ通信とを含む全ての通信について、フィルタリングする条件でブロック条件データベース53の値が設定されていたら、上記と同様の処理を行うことができる。また、S113における分岐の際に、数値上の上限や下限を含むさらなる条件が付け加わっても良い。
その後(S121)、Native機能13の通信監視機能部44が上記通信状況監視手段を実行し続け、JNI16を経由した呼処理が終了したことを認識する(S122)。具体的には、呼処理を終了するパケットを認識したり、一定時間に亘って呼処理に関するパケットが観測されないことによって認識される。認識されたら、通話フラグ54aを、バンドルの配信を遮断しない、すなわち上記パケット破棄を行わない設定値に変更するフラグ変復手段を実行する(S123)。呼処理が終わったため、バンドルの更新を遮る必要がなくなるからである。
同様に、所定のデータ通信が行われている際に、バンドルの配信による再起動を防ぐために、通信装置11が破棄フラグ54の継続通信フラグ54bを変更する場合について、図5(a)(b)を用いて説明する。
まず(S141)、Native機能13の通信監視機能部44が通信状況監視手段を実行し、JNI16を経由した呼処理以外のデータ通信が行われていることを認識する(S142)。データ通信を認識した際に、上記のブロック条件データベース53の設定値が、データ通信について「フィルタリングする」ことを許可する値になっていなければ(S143→No)、特に変更されることはなく(S146)、バンドルの配信を遮断しない。一方、データ通信について「フィルタリングする」ことを許可する値になっていれば(S143→Yes)、さらに、そのデータ通信がブロック条件データベース53で設定されている他の条件を満たすか否かを判断するフィルタリングを行う。図2のブロック条件データベース53の場合は、httpプロトコルのデータ通信について(ID5)、通信量の下限値(ID3)と上限値(ID4)とで規定される範囲に含まれるか否かを判断する(S144)。上記のプロトコルに該当するデータ通信が範囲外の通信量であれば(S144→No)、特に変更されることはなく、バンドルの配信を遮断しない。一方、上記のプロトコルに該当するデータ通信の通信量が規定される範囲内であれば(S144→Yes)、継続通信フラグ54bを、継続すべき通信があることでバンドルの配信を遮断する設定値に変更するフラグ変更手段を実行する(S145)。
その後(S151)、Native機能13の通信監視機能部44が通信状況監視手段を実行し続け、JNI16を経由した上記の条件を満たすデータ通信が終了したことを認識する(S152)。具体的には、上記通信状況監視手段を実行し続けて、やり取りされる通信のプロトコルや単位時間内における送受信の合計データ量等を監視し続け、その値がブロック条件データベース53に規定される設定値範囲などの条件から外れたら、継続通信フラグ54bを、バンドルの配信を遮断しない設定値に変更するフラグ変復手段を実行する(S153)。継続すべき通信が終わったため、バンドルの更新を遮る必要がなくなるからである。
これらの破棄フラグ54の設定値に応じて、実際のパケットを破棄するか否かの判断を行う。このフローを図6とともに説明する。まず(S171)、JNI16からパケットを受信したら(S172)、ルータ機能部43は、それを外部ネットワーク31や家庭内ネットワーク30へ中継するために、該当のパケットの宛先を確認する(S173)。この発明では、Native機能13中のパケットフィルタリング機能部42が、当該パケットの宛先と、S106にてIPアドレス管理テーブル52に記録されたバンドル配信サーバ35のIPv6アドレスとが一致するか否かを判断するCSアドレスチェック手段を実行する(S174)。一致しなければ(S174→No)、ルータ機能部43にそのまま受け渡し、宛先のアドレスに基づいて外部ネットワーク31又は家庭内ネットワーク30へ、通常のルーティングを行うルーティング手段を実行する(S175)。
一方、IPアドレス管理テーブル52に記録されたバンドル配信サーバ35のIPv6アドレスと、当該パケットの宛先アドレスとが一致する場合(S174→Yes)、当該パケットは、バンドル配信サーバ35に対するOSAPエージェント21の再配信の問い合わせパケットであるといえる。その場合、破棄フラグ54をチェックして、バンドルの再起動を止めるべき条件に合致すれば、パケットを破棄する上記パケット破棄手段を実行する(S181〜)。通話フラグ54aか(S181)、継続通信フラグ54bか(S182)、それとも図示しないいずれかの条件について付されたフラグかのいずれかが、バンドルの再配信を遮断すべき設定値になっていれば、ルータ機能部43は、そのパケットを破棄するCS宛パケット破棄手段を実行する(S183)。これにより、これら破棄フラグ54が該当する設定値になっている間は、OSAPエージェント21からのパケットはバンドル配信サーバ35に到達せず、バンドルの再配信がされることがない。すなわち、バンドルの更新後に起こる再起動によって、継続中の呼処理や所定のデータ通信が切断されてしまうという事態が生じることを防ぐ。
一方、いずれのフラグも該当しなければ、バンドルの再配信による再起動が起きても問題ないと判断され(S181→No,S182→No)、OSAPエージェント21からのパケットがルータ機能部43によって適切にルーティングされ、事業者ネットワーク32中のバンドル配信サーバ35に送信される(S175)。バンドルが更新されていれば、そのまま通信装置11にバンドルが配信され、更新された後、バンドルが再起動する。このとき、当該バンドルによって継続していたセッションは切断される。
11 通信装置
13 Native機能
14 JVM
15 OSGiフレームワーク
16 JNI
21 OSAPエージェント
22 呼処理用バンドル
23 データ通信用バンドル
30 家庭内ネットワーク
31 外部ネットワーク
32 事業者ネットワーク
34 センタサーバ
35 バンドル配信サーバ
36 DNSサーバ
37 対向装置
39 端末
41 DNS機能部
42 パケットフィルタリング機能部
43 ルータ機能部
44 通信監視機能部
46 Web−GUI
51 ドメイン名
52 IPアドレス管理テーブル
53 ブロック条件データベース
54 破棄フラグ
54a 通話フラグ
54b 継続通信フラグ

Claims (3)

  1. Java Virtual Machine(JVM)上のOSGiフレームワークにインストールされるバンドルであり、外部ネットワーク上のバンドル配信サーバに対して問い合わせを行い、個々のバンドルがバージョンアップされている場合には当該バンドルのバージョンアップされたパッケージを上記バンドル配信サーバからダウンロードして更新させることができるOSAPエージェントを、上記JVM上に有する通信装置であって、
    上記通信装置自体が有するNative機能として、
    上記バンドル配信サーバのドメイン名を解決するDNS機能部と、
    上記のドメイン名に対応するIPアドレスを記録するIPアドレス管理テーブルと、
    Java Native Interface(JNI)経由で送信されるパケットの宛先が、上記ドメイン名に対応する上記IPアドレスであるか否かを判断するパケットフィルタリング機能部と、
    上記IPアドレス宛のパケットについてパケット破棄を実行するルータ機能部と、
    を有する通信装置。
  2. 上記Native機能として、
    パケットのプロトコルと通信量とを監視する通信監視機能部と、
    上記ルータ機能部によるパケット破棄を実行する際の条件を登録するブロック条件データベースと、
    上記監視の結果が、上記ブロック条件データベースに登録された条件を満たす際に、パケット破棄を実行する旨を設定する破棄フラグと、
    を有し、
    上記破棄フラグが上記条件に合致する場合に上記ルータ機能部によるパケット破棄を実行する、
    請求項1に記載の通信装置。
  3. 上記ブロック条件データベースが、呼処理についての条件を有し、
    上記通信監視機能部がSIPプロトコルによる呼処理を検知した場合、パケット破棄を実行するように上記破棄フラグを設定する、
    請求項2に記載の通信装置。
JP2014226979A 2014-11-07 2014-11-07 通信装置 Active JP5882436B1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014226979A JP5882436B1 (ja) 2014-11-07 2014-11-07 通信装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014226979A JP5882436B1 (ja) 2014-11-07 2014-11-07 通信装置

Publications (2)

Publication Number Publication Date
JP5882436B1 true JP5882436B1 (ja) 2016-03-09
JP2016092673A JP2016092673A (ja) 2016-05-23

Family

ID=55453392

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014226979A Active JP5882436B1 (ja) 2014-11-07 2014-11-07 通信装置

Country Status (1)

Country Link
JP (1) JP5882436B1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6493426B2 (ja) 2017-02-02 2019-04-03 日本電気株式会社 通信システム、通信制御方法および通信プログラム
CN107069970A (zh) * 2017-05-24 2017-08-18 国网江西省电力公司电力科学研究院 一种基于开放服务平台的微型能量路由器装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007213438A (ja) * 2006-02-10 2007-08-23 Nippon Telegr & Teleph Corp <Ntt> プログラム動作状態制御方法およびプログラム動作状態制御システム
WO2008032922A1 (en) * 2006-09-14 2008-03-20 Electronics And Telecommunications Research Institute Apparatus and method for lightweighting application through duplicated application management in osgi middleware environment of embedded terminal
JP2011123570A (ja) * 2009-12-08 2011-06-23 Sumitomo Electric Ind Ltd 情報処理装置、サーバ装置、配布システム、受信方法、プログラムモジュール提供方法
JP2013012119A (ja) * 2011-06-30 2013-01-17 Nec Corp 通信システム、通信方法、及びホームゲートウェイ装置
JP2013068987A (ja) * 2011-09-20 2013-04-18 Hitachi Solutions Ltd ゲートウェイ装置、ファームウェア配信システム、及び情報配信方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007213438A (ja) * 2006-02-10 2007-08-23 Nippon Telegr & Teleph Corp <Ntt> プログラム動作状態制御方法およびプログラム動作状態制御システム
WO2008032922A1 (en) * 2006-09-14 2008-03-20 Electronics And Telecommunications Research Institute Apparatus and method for lightweighting application through duplicated application management in osgi middleware environment of embedded terminal
JP2011123570A (ja) * 2009-12-08 2011-06-23 Sumitomo Electric Ind Ltd 情報処理装置、サーバ装置、配布システム、受信方法、プログラムモジュール提供方法
JP2013012119A (ja) * 2011-06-30 2013-01-17 Nec Corp 通信システム、通信方法、及びホームゲートウェイ装置
JP2013068987A (ja) * 2011-09-20 2013-04-18 Hitachi Solutions Ltd ゲートウェイ装置、ファームウェア配信システム、及び情報配信方法

Also Published As

Publication number Publication date
JP2016092673A (ja) 2016-05-23

Similar Documents

Publication Publication Date Title
JP4819953B2 (ja) IPv4ネットワークベースのIPv6サービス提供システムにおける制御トンネル及びダイレクトトンネルの設定方法
US9736111B2 (en) Method and system for the creation, modification and removal of a distributed virtual customer home gateway
US8458786B1 (en) Automated dynamic tunnel management
CN103023898B (zh) 一种访问vpn服务端内网资源的方法及装置
US20070274285A1 (en) System and method for configuring a router
US20070274230A1 (en) System and method for modifying router firmware
CN102164078B (zh) 策略路由方法、装置及系统
US20070274314A1 (en) System and method for creating application groups
CA2645331A1 (en) A method for configuring remote ip phones
WO2012158313A1 (en) Method and apparatus for message distribution in a device management system
JP5679343B2 (ja) クラウドシステム、ゲートウェイ装置、通信制御方法、及び通信制御プログラム
WO2015169044A1 (zh) 一种漫游场景下的会话绑定方法、裝置和系统
US20160380963A1 (en) Method and Device for Processing IPv6 Address, and DHCPv6 Relay Equipment
CN103460676A (zh) 通过查询远程服务器的流路由协议
KR101682513B1 (ko) 다중-코어 플랫폼들을 위한 dns 프록시 서비스
US20140359163A1 (en) Methods and Systems for Enabling NAT Traversal
CN105227692A (zh) 一种nat穿越方法及网关设备
JP5882436B1 (ja) 通信装置
US20140372499A1 (en) Methods and Systems for Enabling NAT Traversal
US20120072612A1 (en) Method and an Arrangement of Identifying Traffic Flows in a Communication Network
US10631145B1 (en) Dynamic provision of application related sponsored data connectivity
KR101049549B1 (ko) Sip를 이용한 udp 홀 펀칭 방법 및 이를 이용한 단말관리 시스템 및 단말 관리 방법
US9379943B2 (en) Network service manager device using the COPS protocol to configure a virtual private network
US20140351453A1 (en) Node in a Network
US20140379785A1 (en) Server Communication

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160202

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160203

R150 Certificate of patent or registration of utility model

Ref document number: 5882436

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250