(57)【要約】  サブネット設定をディスエーブルにするための方法は、構成ファイルをパースすることと、拡張可能なマークアップ言語で予め定義されたインターネットプロトコルアドレス要素が上記構成ファイル内に存在するかどうかを決定することと、予め定義されたインターネットプロトコルアドレス要素が上記構成ファイル内に存在するかどうかを決定することと、予め定義されたデフォルトの拡張可能なマークアップ言語アドレス要素が上記構成ファイル内に存在するかどうかを決定することと、予め定義されたインターネットプロトコルアドレス要素が上記構成ファイル内に存在しない場合、または予め定義されたインターネットプロトコルアドレス要素が上記構成ファイル内に存在し、かつ予め定義された拡張可能なマークアップ言語アドレス要素が上記構成ファイル内に存在する場合に、デフォルトのサブネット設定をリストアすることと、を含んで記述される。
2016538767.tif 000002
【特許請求の範囲】
【請求項１】
サブネット設定をディスエーブルにする方法であって、
構成ファイルをパースすることと、
拡張可能なマークアップ言語で予め定義されたインターネットプロトコルアドレス要素が前記構成ファイル内に存在するかどうかを決定することと、
予め定義されたインターネットプロトコルアドレス要素が前記構成ファイル内に存在するかどうかを決定することと、
予め定義されたデフォルト拡張可能なマークアップ言語アドレス要素が前記構成ファイル内に存在するかどうかを決定することと、
予め定義されたインターネットプロトコルアドレス要素が前記構成ファイル内に存在しない場合、または予め定義されたインターネットプロトコルアドレス要素が前記構成ファイル内に存在し、かつ予め定義された拡張可能なマークアップ言語アドレス要素が前記構成ファイル内に存在する場合に、デフォルトサブネット設定をリストアすることと、
を含む、前記方法。
【請求項２】
前記拡張可能なマークアップ言語で予め定義されたインターネットプロトコルアドレス要素は、nat>disabled</nat>である、請求項１に記載の方法。 
【請求項３】
予め定義されたデフォルト拡張可能なマークアップ言語アドレス要素は、<アドレス>0.0.0.0</アドレス>の形態である、請求項１に記載の方法。
【請求項４】
前記構成ファイルはXML構成ファイルである、請求項１に記載の方法。 
【請求項５】
前記サブネットはルーティング又はブリッジングされる、請求項１に記載の方法。
【請求項６】
サブネット設定をディスエーブルにする装置であって、
構成ファイルをパースする手段と、 
拡張可能なマークアップ言語で予め定義されたインターネットプロトコルアドレス要素が前記構成ファイル内に存在するかどうかを決定する手段と、 
予め定義されたインターネットプロトコルアドレス要素が前記構成ファイル内に存在するかどうかを決定する手段と、
予め定義されたデフォルト拡張可能なマークアップ言語アドレス要素が前記構成ファイル内に存在するかどうかを決定する手段と、 
予め定義されたインターネットプロトコルアドレス要素が前記構成ファイル内に存在しない場合、または予め定義されたインターネットプロトコルアドレス要素が前記構成ファイル内に存在し、かつ 予め定義された拡張可能なマークアップ言語アドレス要素が前記構成ファイル内に存在する場合に、デフォルトサブネット設定をリストアする手段と、
を備える、前記装置。
【請求項７】
前記拡張可能なマークアップ言語で予め定義されたインターネットプロトコルアドレス要素は、nat>disabled</nat>である、請求項６に記載の装置。 
【請求項８】
予め定義されたデフォルト拡張可能なマークアップ言語アドレス要素は、<アドレス>0.0.0.0</アドレス>の形態である、請求項６に記載の装置。
【請求項９】
前記装置はゲートウェイルータである、請求項６に記載の装置。 
【請求項１０】
前記構成ファイルはXML構成ファイルである、請求項６に記載の装置。
【請求項１１】
前記サブネットはルーティング又はブリッジングされる、請求項６に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はネットワークプロビジョニングに関し、特に、自動化されたプロビジョニングに関する。
【背景技術】
【０００２】
一部のコンテンツプロバイダは、現在、拡張可能なマークアップ言語（Extensible Markup Language：XML)構成ファイルをダウンロードし、追加の手動によるステップを実行することによって、ルーティング又はブリッジングされるサブネットをプロビジョニングしている。マニュアルステップは、コマンドラインインタフェース (CLI) またはウェブグラフィカルユーザインタフェース (GUI)を使用して達成される。ルーティング又はブリッジングされるサブネットをディスエーブルにする(無効化する）ことは、追加のCLI、ウェブGUI、または工場出荷時の状態に装置をリセットするステップを必要とする。なぜならば、コンテンツプロバイダのXML構造が、ルーティング又はブリッジングされるサブネットデフォルト設定を十分に定義していないからである。
【発明の概要】
【０００３】
本発明は、コンテンツプロバイダのXML構造を使用してルーティング又はブリッジングされるサブネット設定をディスエーブルにし、かくして追加のCLIおよび／またはGUIステップを避けるか、または装置を工場出荷時の状態にリセットする操作の結果生じる、カスタマイズされた設定をなくす。本発明はゲートウェイケーブルルータで実現される。
【０００４】
サブネット設定をディスエーブルにするための方法および装置は、構成ファイルをパースすることと、拡張可能なマークアップ言語（extensible markup language）で予め定義されたインターネットプロトコルアドレス要素が上記構成ファイル内に存在するかどうかを決定することと、予め定義されたインターネットプロトコルアドレス要素が上記構成ファイル内に存在するかどうかを決定することと、予め定義されたデフォルトの拡張可能なマークアップ言語アドレス要素が上記構成ファイル内に存在するかどうかを決定することと、予め定義されたインターネットプロトコルアドレス要素が上記構成ファイル内に存在しない場合、または予め定義されたインターネットプロトコルアドレス要素が上記構成ファイル内に存在し、かつ予め定義された拡張可能なマークアップ言語アドレス要素が上記構成ファイル内に存在する場合に、デフォルトのサブネット設定をリストアすることと、を含んで記述される。 
【図面の簡単な説明】
【０００５】
本発明は、添付の図面を伴って読むと、以下の詳細な説明からよりよく理解される。図面は以下に簡単に説明される以下の図面を含んでいる。 
【図１】本発明の例示的実施形態のフローチャートである。
【図２】コンテンツプロバイダのXMLデフォルトIPアドレス存在のテストコードを示す図である。
【図３】本発明の原理に従った例示的実施形態のブロック図である。
【発明を実施するための形態】
【０００６】
本発明は コンテンツプロバイダのXML構造を専ら使用してルーティング又はブリッジングされるサブネット設定をディスエーブルにし、かくして追加のCLIおよび／またはGUIステップを回避し、または装置工場リセット操作の結果生じるカスタマイズされた設定をなくす。 
【０００７】
本発明の例示的実施形態のフローチャートである図1を参照すると、105において、コンテンツプロバイダの構成ファイルがパースされる。110において、テストが実行されて、XML要素<nat>disabled</nat>が構成ファイル内に存在するかどうかを決定する。XML要素<nat>disabled</nat>が構成ファイル内に存在する場合は、その後、115において、テストが実行されて、IPアドレスXML要素が構成ファイル内に存在するかどうかを決定する。IPアドレスXML要素が構成ファイル内に存在する場合は、その後、120において、テストが実行されて、デフォルト <address>0.0.0.0</address> XML要素が構成ファイル内に存在するかを決定する。デフォルト<address>0.0.0.0</address>XML要素が、構成ファイル内に存在する場合は、その後、125において、デフォルトのルーティング又はブリッジングされたサブネット設定がリストアされる。デフォルトの<address>0.0.0.0</address>XML要素が構成ファイル内に存在しない場合は、処理は終了する。IPアドレスXML要素が構成ファイル内に存在しない場合は、その後、処理が125に進む。XML要素<nat>disabled</nat>が構成ファイル内に存在しない場合は、処理は終了する。XML要素<nat>disabled</nat>はコンテンツプロバイダのIPアドレス要素である。
【０００８】
実際のIPアドレス要素の例は: 
<ip ipVersion="4"> 
<address>192.168.0.1</address> 
<netmask>255.255.255.0</netmask> 
</ip> 
デフォルトのIPアドレス要素が存在するかどうかを決定するステップ115についての例示的コードは構成が<ip> ...</ip>要素を含まないかどうかを決定するテストを含むであろう。
【０００９】
ルーティング又はブリッジングされるサブネットを設定する例示的ケースは以下の通りである: 
<nat>disabled</nat> 
<ip ipVersion="4"> 
<address> 157.254.37.78</address> 
<netmask>255.255.240.0</netmask> 
</ip> 
下記は、デフォルトのルーティング又はブリッジングされるサブネット設定をリストアする２つの例示的ケースである: 
1. 構成ファイルがIPアドレス要素を含んでいない: 
<nat>disabled</nat> 
2. 構成ファイルがIPアドレス要素を含んでいる: 
<nat>disabled</nat> 
<ip ipVersion="4"> 
<address>0.0.0.0</address> 
</ip> 
ケース１はルーティング又はブリッジングされるサブネットを設定する<ip>...</ip>アドレス要素を欠いている一方で、ケース2は<ip><address>0.0.0.0</address></ip>を使用してデフォルト設定をリストアする。ケース1およびケース2は、それぞれ黙示的および明示的に、デフォルト設定をリストアする。 
【００１０】
本発明は、以下に記述される図３に示されたゲートウェイルータの形態、またはデジタル加入者線(DSL)またはVerizon社のFIOS（商標）などのギガビットパッシブオプティカルネットワーク(GPON)の形態で実装され得る。ゲートウェイルータは、ゲートウェイケーブルルータであり得る。 
【００１１】
図2は、コンテンツプロバイダのXMLデフォルトIPアドレス要素存在テストを示している。 "0.0.0.0."は、装置製造業者によって定義されたディスエーブル設定である。装置製造業者は、IEEE 802.11ゲストネットワークサブネットをディスエーブルにするときに、これらの設定を読み出す。コンテンツプロバイダは、ゲストネットワークサブネットをディスエーブルにするときに、これらの設定を特定する。
【００１２】
上のロジックのリストアデフォルトルータ設定(それぞれ上からケース1およびケース2) 部分を実施する例示的コードは以下の通りである: 
if (fAddress.emptyO == true) 
{ 
/* 
bIsDefaultは、trueをデフォルトにし、かついずれのMIBによっても現在サポートされていないXMLコンフィギュレータのデフォルトの"Route Settings"をサポートする。"<nat>"および"<dhcpServer>"の両方をディスエーブルにする一方で、XML コンフィギュレータファイルの "<logicalInterface>"が"<ip>"を空にする場合、bIsDefaultは、trueであり、かつXmlIp::AddDefaults() は、"Routing Enabled"および"Dhcp Routing Subnet Enabled"の両方をクリアする一方で、XmlIp::DisableGuestNetworkNat()が使用するデフォルトの"Route Network Ip"、"Route Subnet Mask"、および"Route Gateway Mask" 設定を提供する。"<nat>"および "<dhcpServer>"の両方をディスエーブルにする一方で、XMLコンフィギュレータファイルの"<logicalInterface>"が"<ip>" デフォルト設定を提供する場合、bIsDefaultはfalseであり、かつXMLコンフィギュレータファイルは、"Routing Enabled"および"Dhcp Routing Subnet Enabled"をクリアする一方で、XmlIp::DisableGuestNetworkNat()が使用するデフォルト設定を提供する。
*/ 
// デフォルトのルーティング又はブリッジングされるサブネット設定をリストアする 
bIsDefault = true; 
if (fPhylnt & (ethernetPhysicallnterface | usbPhysicallnterface| 
mocaPhysicallnterface | ssidOPhysicallnterface)) 
{ 
// DHCPサーバのルーティング又はブリッジングされるサブネット設定をデフォルトにする 
fAddress = kDefaultValue CdsServerDhcpAddress; 
} 
else if (fPhylnt & ssidlPhysicallnterface) 
{ 
// ゲストネットワーク0のルーティング又はブリッジングされるサブネット設定をデフォルトにする 
fAddress = kDefaultValue_WiFi80211GuestNetworkDhcpIpAddress_0; 
} 
else if (fPhylnt & ssid2PhysicalInterface) 
{ 
// ゲストネットワーク1のルーティング又はブリッジングされるサブネット設定をデフォルトにする 
fAddress = kDefaultValue_WiFi80211GuestNetworkDhcpIpAddress_1; 
} 
else 
{ 
// ゲストネットワーク2のルーティング又はブリッジングされるサブネット設定をデフォルトにする
fAddress = kDefaultValue_WiFi8021lGuestNetworkDhcpIpAddress_2; 
} 
} 
/* 
bIsDefaultはtrueをデフォルトにし、かついずれのMIBによっても現在サポートされていないXMLコンフィギュレータのデフォルト"Route Settings"をサポートする。XMLコンフィギュレータファイルの "<logicalInterface>"が、"<nat>"および"<dhcpServer>"の両方をディスエーブルにする一方で、"<ip>"を空にする場合、bIsDefaultはtrueであり、かつ"Routing Enabled"および"Dhcp Routing Subnet Enabled"の両方がクリアされる一方で、XmlIp::AddDefaults()はデフォルトの"Route Network Ip"、"Route Subnet Mask"、および"Route Gateway Mask" 設定を提供する。XMLコンフィギュレータファイルの"<logicalInterface>"が、"<nat>"および"<dhcpServer>"の両方をディスエーブルにする一方で、 "<ip>" デフォルト設定を提供する場合、bIsDefaultはfalseであり、かつ"Routing Enabled"および"Dhcp Routing Subnet Enabled"の両方がクリアされる一方で、XMLコンフィギュレータファイルはデフォルト設定を提供する . 
*/ 
if (nwIpAddr == kAllZerosIp || bIsDefault == true) 
{ 
/// デフォルトのルーティング又はブリッジングされるサブネット設定をリストアする
nwIpAddr = kAllZerosIp; 
gwIpAddr = nwIpAddr; 
ipMask = kCableHomePrivateLanSubnetMask; 
pRgNonVol->SetFeatureDisable((RgFeatures) kRgRoutingEnabled); 
pRgNonVol->SetFeatureDisable((RgFeatures) kRgDhcpRoutedSubnet); 
pRgNonVol->NatRoutedSubnetGatewayIpAddress(gwIpAddr); 
} // if ((fAddress... 
pRgNonVol->RipRoutedSubnetNetworkIpAddress(nwIpAddr,index); 
pRgNonVol->RipRoutedSubnetMaskIpAddress(ipMask,index); 
pRgNonVol->RipRoutedSubnetGatewayIpAddress(gwIpAddr,index);
図3は、本発明の原理に従った例示的実施形態のブロック図である。レジデンシャル（家庭用）のネットワークまたはビジネスのネットワークは、デスクトップコンピュータ、ラップトップコンピュータおよびタブレットを含む複数のデバイスを含み得る。デバイスは無線または有線のものであり得る。また、サービスプロバイダまたはコンテンツプロバイダによって提供された (図3において単に"ルータ"として示される)ゲートウェイルータとの双方向通信である。ゲートウェイケーブルルータは、ワイドエリアネットワーク(WAN)と双方向通信状態であり、そしてそれはサービスプロバイダまたはコンテンツプロバイダのXML構成サーバと双方向通信状態である。XML構成サーバは、XMLコンフィギュレータファイル (またはXML構成ファイル)を提供するサーバである。レジデンシャルネットワークのまたはビジネスのネットワークのデバイスは、ゲートウェイルータ、WANおよびクラウドを経由してインターネットにアクセスし得る。ゲートウェイケーブルルータでエラーが発生し、デフォルトルータ設定をリストアしなければならない場合に、手動による管理者介入の必要なしに、本発明はそのようなことをするのをサポートする。
【００１３】
上述したように、本発明は、ゲートウェイルータ、DSL、GPONまたは他の様々な同等品で実施し得る。ゲートウェイルータまたは等価なデバイスは、XMLコンフィギュレータ(構成)ファイルをそこで実行する処理手段を備える。ルーティング又はブリッジングされるサブネット設定をディスエーブルにする装置は、構成ファイルをパースする手段と、拡張可能なマークアップ言語で予め定義されたインターネットプロトコルアドレス要素が構成ファイル内に存在するかどうかを決定する手段と、予め定義されたインターネットプロトコルアドレス要素が構成ファイル内に存在するかどうかを決定する手段と、予め定義されたデフォルト拡張可能なマークアップ言語アドレス要素が構成ファイル内に存在するかどうかを決定する手段と、予め定義されたインターネット プロトコルアドレス要素が構成ファイル内に存在しない場合、または予め定義されたインターネットプロトコルアドレス要素が構成ファイル内に存在し、かつ予め定義された拡張可能なマークアップ言語アドレス要素が構成ファイル内に存在する場合に、デフォルトルーティング又はブリッジングされるサブネット設定をリストアする手段と、を含んで記述される。 
【００１４】
本発明は、ハードウェア、ソフトウェア、ファームウェア、特別な用途のプロセッサ、またはそれらの組合せの様々な態様で実施され得ることが理解されるべきである。特別な用途のプロセッサは、特定用途向け集積回路(ASICs)、縮小命令セットコンピュータ(RISCs)および/または フィールドプログラマブルゲートアレイ(FPGAs)を含み得る。好ましくは、本発明は、ハードウェアおよびソフトウェアの組合せとして実施される。 さらに、ソフトウェアは、プログラムストレージデバイス上に、有形的に具現化されるアプリケーションプログラムとして好ましく実施される。アプリケーションプログラムは、任意の適切なアーキテクチャを備えたマシーンにアップロードされ、かつ実行され得る。好ましくは、マシーンは、１つ以上の中央処理ユニット(CPU)、ランダムアクセスメモリ (RAM)、入力／出力(I/O)インタフェース(単数または複数)などのハードウェアを備えるコンピュータプラットフォーム上で実施される。コンピュータプラットフォームは、オペレーティングシステムおよびマイクロ命令コードもまた含んでいる。 ここに記述された様々なプロセスおよび機能は、マイクロ命令コードの一部またはアプリケーションプログラムの一部 (またはこれらの組合せ)であってよく、それは、オペレーティングシステムを介して実行される。加えて、様々な他の周辺デバイスは、追加のデータストレージデバイスおよび印刷デバイスなどのコンピュータプラットフォームに接続され得る。
【００１５】
添付の図面に示された構成システムコンポーネントおよび方法ステップのいくらかはソフトウェアで好ましく実施されるので、システムコンポーネント (またはプロセスステップ)の間の実際の接続は、本発明がプログラムされる方法によって異なり得ることがさらに理解されるべきである。ここにある教示を考えると、当業者は、これら及び同様の実装または本発明の構成を予期することができるであろう。 
【図１】
2016538767.tif 000003
【図２】
2016538767.tif 000004
【図３】
2016538767.tif 000005
【国際調査報告】
2016538767.tif 000006
2016538767.tif 000007
2016538767.tif 000008