(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6163267
(24)【登録日】2017年6月23日
(45)【発行日】2017年7月12日
(54)【発明の名称】ネットワーク装置の検出
(51)【国際特許分類】
H04L 12/70 20130101AFI20170703BHJP
H04M 11/00 20060101ALI20170703BHJP
【FI】
H04L12/70 100A
H04M11/00 301
【請求項の数】21
【全頁数】18
(21)【出願番号】特願2016-533635(P2016-533635)
(86)(22)【出願日】2014年12月8日
(65)【公表番号】特表2016-539578(P2016-539578A)
(43)【公表日】2016年12月15日
(86)【国際出願番号】US2014069107
(87)【国際公開番号】WO2015094771
(87)【国際公開日】20150625
【審査請求日】2016年5月23日
(31)【優先権主張番号】14/134,192
(32)【優先日】2013年12月19日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】502208397
【氏名又は名称】グーグル インコーポレイテッド
(74)【代理人】
【識別番号】110001195
【氏名又は名称】特許業務法人深見特許事務所
(72)【発明者】
【氏名】ウェイ,ウェイ
【審査官】
速水 雄太
(56)【参考文献】
【文献】
特開2008−131346(JP,A)
【文献】
米国特許出願公開第2004/0052257(US,A1)
【文献】
特表2009−543383(JP,A)
【文献】
特開2009−033536(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/00−12/955
(57)【特許請求の範囲】
【請求項1】
ネットワーク装置(211,212,300)を検出するための方法(400)であって、前記方法(400)は、
コンピュータプロセッサ(110)を用いて第1のコマンドを第1のネットワーク装置(211)に対して発行するステップを含み、前記第1のネットワーク装置(211)は第2のネットワーク装置(212)と有線で電気通信(20)し、前記第1のコマンドにより、前記第1のネットワーク装置(211)はエラーコード(222)を生成し前記生成したエラーコード(222)を前記第2のネットワーク装置(212)に送信し、
エラーコード(222)の数を前記第2のネットワーク装置(212)から受信するステップと、
前記第2のネットワーク装置(212)から受信した前記エラーコード(222)の数がゼロに等しいとき、第3のネットワーク装置(300)が存在すると判断するステップとを含み、前記第3のネットワーク装置(300)は、前記第1のネットワーク装置(211)と前記第2のネットワーク装置(212)との間で前記第1のネットワーク装置および前記第2のネットワーク装置と有線で電気通信(20)し、前記第1のネットワーク装置(211)と前記第2のネットワーク装置(212)との間の通信は前記第3のネットワーク装置(300)を通り、
前記第2のネットワーク装置(212)の前記エラーコード(222)の数が前記第1のネットワーク装置(211)が生成したエラーコード(222)の数に等しいとき、前記第3のネットワーク装置(300)は存在しないと判断するステップを含む、方法。
【請求項2】
前記第1のコマンドにより、前記第1のネットワーク装置(211)は前記エラーコード(222)を含むパケット(220)を生成する、請求項1に記載の方法(400)。
【請求項3】
前記エラーコード(222)は巡回冗長検査のコードである、請求項1または2に記載の方法(400)。
【請求項4】
エラーコード(222)を有する前記生成されたパケット(220)の受信について前記第2のネットワーク装置(212)をリッスンするステップをさらに含む、請求項1から3のいずれか1項に記載の方法(400)。
【請求項5】
前記第1のコマンドを発行する前に、前記コンピュータプロセッサ(110)を用いてクリアコマンドを前記第2のネットワーク装置(212)に対して発行するステップをさらに含み、前記クリアコマンドは、前記第2のネットワーク装置(212)のエラーコード(222)をクリアすることを指示する命令を含む、請求項1から4のいずれか1項に記載の方法(400)。
【請求項6】
前記クリアコマンドを発行した後に、エラーコード(222)の数を前記第2のネットワーク装置(212)から受信するステップをさらに含み、前記エラーコード(222)の数はゼロに等しい、請求項5に記載の方法(400)。
【請求項7】
前記第1、第2、および第3のネットワーク装置(211,212,213)間の前記有線の電気通信(20)は、イーサネット(登録商標)ケーブルを含む、請求項1から6のいずれか1項に記載の方法(400)。
【請求項8】
前記第3のネットワーク装置(300)は、ハブ、スイッチ(300)、またはルータのうちの1つである、請求項1から7のいずれか1項に記載の方法(400)。
【請求項9】
前記第1および第2のネットワーク装置(211,212)は、TR−069プロトコルと互換性がある、請求項1から8のいずれか1項に記載の方法(400)。
【請求項10】
前記エラーコード(222)の数を前記第2のネットワーク装置(212)から受信するステップは、前記第1のコマンドを発行してからしきい値時間後である、請求項1から9のいずれか1項に記載の方法(400)。
【請求項11】
ネットワーク装置を検出するためのシステム(10)であって、前記システム(10)は、
第1のネットワーク装置(211)と、
前記第1のネットワーク装置(211)と有線通信する第2のネットワーク装置(212)と、
前記第1および第2のネットワーク装置(211,212)と通信するコントローラ(110)とを備え、
前記コントローラ(110)は、第1のコマンドを前記第1のネットワーク装置(211)に対して発行し、前記第1のネットワーク装置(211)に、エラーコード(222)を生成させ前記生成したエラーコード(222)を前記第2のネットワーク装置(212)に送信させ、
前記コントローラ(110)は、エラーコード(222)の数を前記第2のネットワーク装置(212)から受信し、
前記コントローラ(110)は、前記第2のネットワーク装置(212)から受信した前記エラーコード(222)の数がゼロに等しいとき、第3のネットワーク装置(300)が存在すると判断し、前記第3のネットワーク装置(300)は、前記第1のネットワーク装置(211)と前記第2のネットワーク装置(212)との間で前記第1のネットワーク装置および前記第2のネットワーク装置と有線で電気通信(20)し、前記第1のネットワーク装置(211)と前記第2のネットワーク装置(212)との間の通信は前記第3のネットワーク装置(300)を通り、
前記コントローラ(110)は、前記第2のネットワーク装置(212)の前記エラーコード(222)の数が前記第1のネットワーク装置(211)が生成したエラーコード(222)の数に等しいとき、前記第3のネットワーク装置(300)は存在しないと判断する、システム。
【請求項12】
前記第1のコマンドにより、前記第1のネットワーク装置(211)は前記エラーコード(222)を含むパケット(220)を生成する、請求項11に記載のシステム(10)。
【請求項13】
前記エラーコード(222)は巡回冗長検査のコードである、請求項11または12に記載のシステム(10)。
【請求項14】
前記コントローラ(110)は、エラーコード(222)を有する前記生成されたパケット(220)の受信について前記第2のネットワーク装置(212)をリッスンする、請求項11から13のいずれか1項に記載のシステム(10)。
【請求項15】
前記コントローラ(110)は、前記第1のコマンドを前記第1のネットワーク装置(211)に対して発行する前に、クリアコマンドを前記第2のネットワーク装置(212)に対して発行し、前記クリアコマンドは、前記第2のネットワーク装置(212)のエラーコード(222)をクリアすることを指示する命令を含む、請求項11から14のいずれか1項に記載のシステム(10)。
【請求項16】
前記コントローラ(110)は、前記クリアコマンドを発行した後に、エラーコード(222)の数を前記第2のネットワーク装置(212)から受信し、前記エラーコード(222)の数はゼロに等しい、請求項15に記載のシステム(10)。
【請求項17】
前記第1、第2、および第3のネットワーク装置(211,212,213)間の有線の電気通信(20)は、イーサネットケーブルを含む、請求項11から16のいずれか1項に記載のシステム(10)。
【請求項18】
前記第3のネットワーク装置(300)は、ハブ、スイッチ(300)、またはルータのうちの1つである、請求項11から17のいずれか1項に記載のシステム(10)。
【請求項19】
前記第1および第2のネットワーク装置(211,212)は、TR−069プロトコルと互換性がある、請求項11から18のいずれか1項に記載のシステム(10)。
【請求項20】
前記システム(10)は、前記システム(10)が前記第1のコマンドを発行してからしきい値時間後に、前記エラーコード(222)の数を前記第2のネットワーク装置(212)から受信する、請求項11から19のいずれか1項に記載のシステム(10)。
【請求項21】
請求項1から10のいずれか1項に記載の方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示はネットワーク装置の検出に関する。
【背景技術】
【0002】
背景
基本的な通信システムは、メッセージを通信チャネルで転送するのに適した電気的形態に変換する送信機を含む。通信チャネルは、メッセージを送信機から受信機に転送する。受信機は、メッセージを受信し受信したメッセージを変換して元の形態に戻す。ユーザがインターネットにアクセスできるようにしユーザにテレビサービスを提供する通信システムは、光通信システム、ケーブル通信システム、または衛星通信システムを含み得る。光通信システムは、光のパルスを光ファイバを通して伝送する。光は電磁搬送波を形成し、この搬送波は変調されて情報を搬送する。通信システムの別の例として、無線周波数信号を伝送するための同軸ケーブルを介するシステムがある。さらに別の通信方法として、衛星を介する方法がある。
【発明の概要】
【課題を解決するための手段】
【0003】
概要
本開示のある局面は、ネットワーク装置を検出するための方法を提供する。この方法は、コンピュータプロセッサを用いて第1のコマンドを第1のネットワーク装置に対して発行することを含む。第1のネットワーク装置は第2のネットワーク装置と有線で電気通信する。第1のコマンドにより、第1のネットワーク装置はエラーコードを生成する。加えて、第1のコマンドにより、第1のネットワーク装置は生成したエラーコードを第2のネットワーク装置に送信する。この方法は、エラーコードの数を第2のネットワーク装置から受信することと、第3のネットワーク装置が存在するか否か判断することとを含む。第3のネットワーク装置は、第1のネットワーク装置と第2のネットワーク装置との間で第1および第2のネットワーク装置と有線で電気通信し、第1および第2のネットワーク装置間の通信は第3のネットワーク装置を通る。第2のネットワーク装置から受信したエラーコードの数がゼロに等しいとき、第3のネットワーク装置は存在し、第2のネットワーク装置のエラーコードの数が第1のネットワーク装置が生成したエラーコードの数に等しいとき、第3のネットワーク装置は存在しない。
【0004】
本開示の実装例は、以下の任意の特徴のうちの1つ以上を含み得る。いくつかの実装例において、第1のコマンドにより、第1のネットワーク装置はエラーコードを含むパケット(たとえばエラーコードを有するしきい値数のパケット)を生成する。エラーコードは巡回冗長検査のコードであってもよい。この方法はまた、エラーコードを有する生成されたパケットの受信について第2のネットワーク装置をリッスンすることも含み得る。
【0005】
いくつかの例において、この方法は、第1のコマンドを発行する前に、コンピュータプロセッサを用いてクリアコマンドを第2のネットワーク装置に対して発行することをさらに含む。クリアコマンドは、第2の装置のエラーコードをクリアすることを指示する命令を含む。これに加えてまたはこれに代えて、この方法は、クリアコマンドを発行した後に、エラーコードの数を第2のネットワーク装置から受信することをさらに含んでいてもよく、このエラーコードの数はゼロに等しい。
【0006】
いくつかの実装例において、第1、第2、および第3の装置間の有線の電気通信は、イーサネット(登録商標)ケーブルを含む。第3の装置は、ハブ、スイッチ、またはルータであってもよい。第1および第2の装置はTR−069プロトコルと互換性があってもよい。いくつかの例において、この方法は、第1のコマンドを発行してからしきい値時間後に、エラーコードの数を第2のネットワーク装置から受信することを含む。
【0007】
本開示の別の局面は、ネットワーク装置を検出するためのシステムを提供する。このシステムは、第1のネットワーク装置と、第2のネットワーク装置と、コントローラとを備える。第2のネットワーク装置は第1のネットワーク装置と有線通信し、コントローラは第1および第2のネットワーク装置と通信する。コントローラは第1のコマンドを第1のネットワーク装置に対して発行する。このコマンドにより、第1のネットワーク装置はエラーコードを生成し生成したエラーコードを第2のネットワーク装置に送信する。コントローラは、エラーコードの数を第2のネットワーク装置から受信する。コントローラはまた、第2のネットワーク装置から受信したエラーコードの数がゼロに等しいとき、第3のネットワーク装置が存在すると判断する。第3のネットワーク装置は、第1のネットワーク装置と第2のネットワーク装置との間で第1および第2のネットワーク装置と有線で電気通信する。第1および第2のネットワーク装置間の通信は第3のネットワーク装置を通る。コントローラはさらに、第2のネットワーク装置のエラーコードの数が第1のネットワーク装置が生成したエラーコードの数に等しいとき、第3のネットワーク装置は存在しないと判断する。
【0008】
いくつかの実装例において、第1のコマンドにより、第1のネットワーク装置はエラーコードを含むパケット(たとえばエラーコードを有するしきい値数のパケット)を生成する。エラーコードは巡回冗長検査のコードであってもよい。コントローラは、エラーコードを有する生成されたパケットの受信について第2のネットワーク装置をリッスンしてもよい。
【0009】
いくつかの例において、コントローラは、第1のコマンドを第1のネットワーク装置に対して発行する前に、クリアコマンドを第2の装置に対して発行する。クリアコマンドは、第2の装置のエラーコードをクリアすることを指示する命令を含む。これに加えてまたはこれに代えて、コントローラは、クリアコマンドを発行した後に、エラーコードの数を第2のネットワーク装置から受信してもよく、このエラーコードの数はゼロに等しい。いくつかの例において、システムは、第1のコマンドを発行してからしきい値時間後に、エラーコードの数を第2のネットワーク装置から受信する。
【0010】
いくつかの実装例において、第1、第2、および第3の装置間の電気通信はイーサネットケーブルを含む。第3の装置は、ハブ、スイッチ、またはルータであってもよい。第1および第2の装置はTR−069プロトコルと互換性があってもよい。
【0011】
本開示の1つ以上の実装例の詳細は、添付の図面および以下の説明に記載されている。その他の局面、特徴、および利点は、以下の説明および図面から、ならびに請求項から明らかであろう。
【図面の簡単な説明】
【0012】
【
図1】サービスプロバイダネットワークの代表的なアーキテクチャの概略図である。
【
図2A】代表的なホームネットワークの全体像の概略図である。
【
図2B】代表的なホームネットワークの全体像の概略図である。
【
図2C】代表的なホームネットワークの全体像の概略図である。
【
図3A】ネットワーク装置を検出する代表的なシステムにおけるネットワーク内の装置間の通信の概略図である。
【
図3B】ネットワーク装置を検出する代表的なシステムにおけるネットワーク内の装置間の通信で使用されるプロトコルの概略図である。
【
図4】ネットワーク装置を検出する代表的なシステムにおけるネットワーク内の装置間の通信のための動作の代表的な構成の概略図である。
【発明を実施するための形態】
【0013】
異なる図面における同様の参照符号は同様の要素を示す。
詳細な説明
図1〜
図2Cを参照して、いくつかの実装例において、システム10は、インターネットアクセスおよびテレビサービスを加入者またはユーザ22に配信する。システム10は、サービスプロバイダ100(たとえばテレビおよび/またはインターネットサービスプロバイダ)からの信号を、(たとえば同軸ケーブル、光ファイバケーブル、または衛星を介して)ユーザ22のレジデンシャルネットワーク200に送信する。以下では、サービスプロバイダ100とエンドユーザ22のレジデンシャルネットワーク200との間の光ファイバ通信を確立するファイバートゥーザホーム(fiber-to-the-home)(FTTH)ネットワーク12を提供する光通信アーキテクチャを参照しながら説明する。しかしながら、同軸ケーブル通信または衛星通信またはその組合わせを含む任意の種類の通信を用いて、サービスプロバイダ100とユーザ22の間で信号を伝送してもよい。
【0014】
図1を参照して、サービスプロバイダ100は、自動設定サーバまたはネットワーク管理サーバ110を含み得る。ネットワーク管理サーバ110(たとえばコンピュータプロセッサ)は、特定の電気装置(たとえば顧客構内設備210a)を管理する。レジデンシャルネットワーク200は、レジデンシャルゲートウェイ232を介してネットワーク12に接続された電子装置210を含む。いくつかの例において、レジデンシャルネットワーク200は、ラップトップもしくはパーソナルコンピュータ、テレビボックス、セットトップボックス、デジタルビデオレコーダ、テレビ、および/またはタブレット等であるがこれらに限定されない、電子装置210を含む。いくつかの例において、電子装置210のうちの1つ以上は、電子装置210のうちの他の1つ以上に接続される。加えて、いくつかの例において、ネットワーク12は、ネットワーク管理サーバ110に関連する設定(configurations)を格納するネットワーク記憶装置14を含む。ネットワーク管理サーバ110は、ユーザ22によって追加されレジデンシャルネットワーク200内の装置210間の通信を妨害するまたは妨げる、レジデンシャルネットワーク200内の装置210(たとえばスイッチ300)をサービスプロバイダ100が検出するのを補助する。
【0015】
ネットワーク12は、通信信号を送信および受信できるようにする任意の種類のネットワーク(たとえば無線電気通信ネットワーク、セルラー電話ネットワーク、時分割多元接続(time division multiple access)(TDMA)ネットワーク、符号分割多元接続(code division multiple access)(CDMA)ネットワーク、移動体通信のためのグローバルシステム(global system for mobile communications)(GSM(登録商標))、第3世代(3G)ネットワーク、第4世代(4G)ネットワーク、衛星通信ネットワーク、およびその他の通信ネットワーク)を含み得る。ネットワークは、広域ネットワーク(Wide Area Network)(WAN)、ローカルエリアネットワーク(Local Area Network)(LAN)、およびパーソナルエリアネットワーク(Personal Area Network)(PAN)のうちの1つ以上を含み得る。いくつかの例において、ネットワークは、データネットワークと電気通信ネットワークを組合わせたものを含む。
【0016】
光回線終端装置112(optical line termination)(OLT)は、サービスプロバイダ100をエンドユーザのレジデンシャルネットワーク200に接続する光ファイバ122を含む受動光ネットワーク120に対してサービスプロバイダの終点を与えることができる。光回線終端装置112は、サービスプロバイダ100の機器が使用する電気信号を/に、受動光ネットワーク120が使用する光ファイバ信号に/を変換する。光回線終端装置112はまた、変換装置(たとえば光ネットワーク終端装置)間の多重化を調整する。
【0017】
光ネットワーク終端装置230(optical network terminal)(ONT)は、サービスプロバイダ100から(受動光ネットワーク120を通して)受信した光信号を電気信号に変換し、エンドユーザのレジデンシャルネットワーク200のためのレイヤ2の媒体アクセス制御機能を提供する。媒体アクセス制御としても知られている、媒体アクセス制御(media access control)(MAC)データ通信プロトコルサブレイヤは、7層開放型システム間相互接続モデル(Open Systems Interconnection model)(OSIモデル)において特定されているデータリンク層(レイヤ2)のサブレイヤである。物理層であるレイヤ1は、装置のための電気的および物理的仕様を規定する。データリンク層であるレイヤ2は、数個の端末またはネットワークノードが共有媒体たとえばイーサネット(登録商標)または同軸ケーブルを取入れた多重アクセスネットワーク内で通信できるようにするアドレス指定およびチャネルアクセス制御機能を提供する。
【0018】
レジデンシャルネットワーク200のレジデンシャルゲートウェイ(residential gateway)(RG)またはネットワークボックス232は、レイヤ3のネットワーク終端機能を提供する。レジデンシャルゲートウェイ232は、複数のインターネットプロトコル(IP)インターフェイスを備えていてもよい。いくつかの実装例において、光ネットワーク終端装置230およびレジデンシャルゲートウェイ232は、1つの光ネットワーク−レジデンシャルゲートウェイ装置231(
図2B〜
図2Cに示される)として一体化される。レジデンシャルゲートウェイ232は、たとえば、レジデンシャルネットワーク200へのWi−Fi(登録商標)接続を提供することにより、または、電子装置210との接続を確立することができる複数の有線接続を提供することにより、レジデンシャルネットワーク200に対するアクセスポイント(たとえば無線または有線接続)として機能する。したがって、ネットワークボックス232は、レジデンシャルネットワーク200をワイドエリアネットワーク12に接続できるようにする。このように、ネットワークボックス232は、限られた領域23(たとえば家屋、オフィスビル等)の中に位置する装置210にインターネットサービスを提供するルータの役割を果たす。
【0019】
レジデンシャルネットワーク200は、ユーザの自宅、学校、または職場等の限られた領域23の中の電子装置210間の通信および相互運用性を容易にするローカルエリアネットワーク(LAN)(たとえばホームエリアネットワーク(HAN))である。電子装置210は、タブレット、スマートフォン、パーソナルコンピュータまたはラップトップ、携帯電子機器(たとえば携帯電話、タブレットコンピュータ等)、スマートテレビ、セットトップボックス、または記憶装置、ボイスオーバーIP電話であってもよく、これらは各々、ネットワークボックス232に、Wi−Fiを介して接続されてもよく、または有線接続されてもよい。POTS(plain old telephone service(基本電話サービス))終端装置(図示せず)も、光ネットワーク終端装置230および/またはネットワークボックス232によって与えられてもよい。電子装置210は、同軸インターフェイス、RJ−45インターフェイス等の有線接続20を通して、および/または802.11Wi−Fi用のRG−45イーサネットインターフェイス等の無線インターフェイスを通して、ネットワークボックス232に接続されてもよい。Wi−Fi接続は有線接続よりも遅い場合があるので、ユーザ22は、ユーザが装置210を無線で接続したいのかまたは装置210を有線接続で接続したいのか判断すればよい。このような判断は、ユーザが望む装置210と他の装置210とまたはネットワーク12との通信速度によって決まる。いくつかの例において、ネットワークボックス232は、イーサネットケーブルを用いて電子装置210をネットワークボックス232に接続するためのイーサネットポートを含む。ネットワークボックス232は、有線接続をサポートする予め定められた数の出力ポート(たとえば4個の出力ポート)を有していてもよい。いくつかの例において、ユーザ22は、ユーザの装置210を接続するために5個以上の出力ポートを必要とし、ネットワーク200を拡張することができるネットワーク装置300を接続してもよい。
【0020】
顧客構内設備(customer-premises equipment/customer provided equipment)(CPE)210aは、ユーザの電子装置200bとは異なり、サービスプロバイダ100(たとえばテレビまたはインターネットプロバイダ)と対応付けられている電子装置210である。CPE210aは、ユーザの構内23に位置し、サービスプロバイダの通信システムに、責任分界点(demarcとしても知られている)を通して接続されている。責任分界点は、サービスプロバイダの設備、たとえば、サービスプロバイダ100の配信インフラストラクチャまたは中央局(central office)(CO)内の設備から、ユーザの設備を分離する、ユーザの建物内の位置である。CPE210aは、電話、ルータ、スイッチ、レジデンシャルゲートウェイ232、セットトップボックスまたは記憶ボックス210aa、ホームネットワーキングアダプタ、およびインターネットアクセスゲートウェイ232を含み得るが、これらに限定される訳ではない。CPE210aは、ユーザ22がサービスプロバイダのサービスにアクセスできるようにするとともにこれらサービスをレジデンシャルネットワーク200を通して住宅23内で配信する。
【0021】
いくつかの例において、CPE210aは、配線20を介してネットワークボックス232に接続されている記憶ボックスである。住宅23ごとに複数の記憶ボックス210aaが使用されて、各ユーザ22が、記憶ボックス210aaのユーザ管理を完全に制御できるようにしてもよい。他の例では、1つの家庭に対応するのに1つの記憶ボックス210aaで十分であり、1つの記憶ボックスで複数の番組を記録し格納することができる(
図2C)。このため、ユーザ22は、ある部屋である番組を格納し、その後、同じ家の中の他の部屋でこの番組を観ることができる。記憶ボックス210aaは異なるチャネル(たとえば8個のチャネル)の異なる番組を同時に格納し得る。記憶ボックス210aaは、テレビ番組に加えて、すべてテレビを通してアクセスし得る、ユーザが撮った映画、音楽、および写真等の媒体を格納し得る。
【0022】
いくつかの例において、CPE210aは、テレビボックスまたはセットトップボックス(set-top-box)(STB)210abであり、ユーザ22がテレビ202を観ることができるようにする、または、テレビディスプレイ202を用いてインターネットをブラウズできるようにする。テレビボックス210abは、ユーザ22がテレビを観ることができるようにするとともに、ユーザのテレビディスプレイ202を通してインターネットにアクセスできるようにする。いくつかの例において、各テレビボックス210abは、組込まれているWi−Fiアクセスポイントを拡張してユーザの家屋内のカバレッジを向上させることによってデッドスポットを減じるまたはなくすことができる。したがって、すべてのテレビ202をWi−Fiルータに変えるように、テレビボックス210abを構成してもよい。
【0023】
ユーザ22は、遠隔制御装置(たとえば従来の遠隔制御装置または対応付けられた携帯機器ベースのアプリケーション)を操作してテレビボックスまたはセットトップボックス(STB)210abを制御してもよい。テレビボックスまたはセットトップボックス(STB)210abは、ディスプレイ装置(たとえばテレビ202または投影用スクリーン)上に番組ガイドを表示してもよい。ユーザ22は、ユーザ22が観たいまたは聴きたいものを番組ガイドを介して選択することにより、テレビボックスまたはセットトップボックス(STB)210abがテレビディスプレイ202に出力するものを制御してもよい。テレビボックスまたはセットトップボックス(STB)210abに対してユーザ22が実行し得るその他の特徴/動作は、チャネルを変更すること、番組ガイドをブラウズすること(たとえばコンテンツを検索すること)、観る番組を番組ガイドから選択すること、または特定の番組の予約録画設定をすることを含む。いくつかの例において、CPE210aは、ユーザ22が記憶ボックス210aaまたはテレビボックス210abを制御できるようにする遠隔制御装置として使用されるタブレット210acを含む。ユーザ22は、記憶ボックス210aaまたはテレビボックス210abに接続されているテレビ202に表示された番組(たとえばショー、シットコム、映画、および音楽チャネル)を選択すればよい。
【0024】
CPEは、CPEの遠隔管理のためのアプリケーションレイヤプロトコルを規定する技術仕様タイトルCE WAN 管理プロトコル(CE WAN Management Protocol)(CWMP)であるTR−069プロトコル(Technical Report 069)を介して通信し得る。TR−069は、CPE210aと自動設定サーバ(auto configuration server)(ACS)またはネットワーク管理サーバ(network management server)(NMS)110とが直接通信できるようにする、双方向SOAP/HTTPに基づくプロトコルである。TR−069は、統合されたフレームワークでCPE機能を制御する設定および能力を含む。ホームゲートウェイ構想(Home Gateway Initiative)(HGI)、デジタルビデオ放送(Digital Video Broadcasting)(DVB)、およびWiMAX(登録商標)形態を含むがこれらに限定されない、その他のCPE通信プロトコルを使用してもよい。
【0025】
レジデンシャルネットワーク200は、CPE210aと非CPE210bとを含み得る。レジデンシャルネットワーク200は、ホームゲートウェイ232を介して外部ネットワーク12と接続する。自動設定サーバまたはネットワーク管理サーバ110は、サービスプロバイダのネットワークまたは外部ネットワーク12にあってもよい。すべてのTR−069トラフィックは、CPE210aに達する前に、またはネットワーク管理サーバ110に送られる前に、ホームゲートウェイ232を通過する。TR−069セッションは、レジデンシャルネットワーク200内にあるCPE210aごとに開始される。
【0026】
いくつかの例において、ユーザ22は、追加ネットワーク装置300をユーザのレジデンシャルネットワーク200に加えることによってネットワーク200を拡張する。ネットワーク装置300はスイッチ300(スイッチハブとしても知られている)であってもよい。スイッチ300は、ネットワーク装置210をリンクおよび/または拡張するネットワーク装置210である。スイッチ300は、レジデンシャルネットワーク200の動作に影響を及ぼし得る。なぜなら、スイッチは、サービスプロバイダ100によって提供されるCPE210aをサポートしない場合があるからである。ネットワークスイッチ300は、OSIモデルのデータリンク層(レイヤ2)でデータを処理しルーティングするマルチポートネットワークブリッジを含み得る。ネットワークレイヤ(レイヤ3)およびそれ以上の層でデータを処理するスイッチ300があり、これらスイッチは多層スイッチと呼ばれる。追加ネットワーク装置300はハブであってもよい。ハブは、複数のイーサネット装置同士を接続しこれらが1つのネットワークセグメントとして機能できるようにする。ハブは、入力接続および出力接続のための複数のポートを含む。ハブは、OSIモデルの物理層(レイヤ1)で動作する。追加ネットワーク装置300は、2つのCPE210a間にユーザ22が追加するどのような装置であってもよく、CPE間の通信は、この追加ネットワーク装置300を通して行なわれる。追加ネットワーク装置300は、受信したパケット220に含まれるエラー222を、このパケット220が別の装置210に再送される前に検出して削除するように構成された装置である。
【0027】
いくつかの実装例において、ユーザ22がこのユーザのレジデンシャルネットワーク200に問題があると苦情を言う、または、サービスプロバイダ100がレジデンシャルネットワーク200に問題があることを検出する場合がある。ネットワーク管理サーバ110(たとえばコントローラ)は、ホームネットワークアーキテクチャおよびCPE210aと非CPE210bとの間の接続を検出してネットワーク12を最適化することはできない。なお、ネットワーク管理サーバ110は、CPE210aおよびこれらCPE210aのインターフェイスに関する情報を読出すことができるが、CPE210aと他のCPE210aとのまたは非CPE210bとの相互接続を検出することはできない。
【0028】
いくつかの実装例において、ネットワーク装置300(たとえば第3のネットワーク装置)は、第1のCPE211と第2のCPE212との間でこれらCPEと有線で電気的に通信するものであってもよい。第1のCPE211と第2のCPE212との間の通信は、(もしあれば)ネットワーク装置300を通して行なわれる。ネットワーク装置300は、第1のCPE211からデータを受信しこのデータを第2のCPE212に送信してもよい。いくつかの例では、ネットワーク装置300は複数の装置(たとえばCPE210aおよび非CPE210b)に接続されている。レジデンシャルネットワーク200内のネットワーク装置300は、第1のCPE211と第2のCPE212との間等、CPE210a間の通信の問題を引き起こす場合がある。ネットワーク管理サーバ110は、第1のCPE211(たとえば記憶ボックス210aa、テレビボックス210ab、携帯電子装置210ac、または電話204に接続されたVoIP装置210ad)および第2のCPE212(たとえば記憶ボックス210aa、テレビボックス210ab、携帯電子装置210ac、または電話204に接続されたVoIP装置210ad)と通信することにより、通信の問題の原因が第3のネットワーク装置300の存在にあるか否か判断する。ネットワーク管理サーバ110は第1および第2のCPE211、212とTR−069プロトコルを介して通信する。第1および第2のCPE211、212は各々、エラーの数をカウントするためのエラーカウンタ211a、212aを含む。
【0029】
図3Aおよび
図3Bを参照して、ネットワーク管理サーバ110は、クリアコマンドを第2のCPE212に対して発行する。クリアコマンドは、第2のCPE212のエラーコード222をクリアすることを指示する命令を含む。ネットワーク管理サーバ110は、第2のCPE212のエラーカウンタ212aからエラーコード222を読出す前に、第1のしきい値時間t
1(たとえば10秒)待つ。ネットワーク管理サーバ110がクリアコマンド後にしきい値数よりも多い数のエラーコード222(たとえば5、10、15、20個のエラーコード)を読出した場合、ネットワーク管理サーバ110は、レジデンシャルネットワーク200またはネットワーク12のいずれかに問題があるかもしれないと判断し、それ故に他のトラブルシューティング手続に移る。いくつかの例において、読出されたエラーコード222の数がゼロに等しいということは、エラーがないことを示す。そうでなければ、ネットワーク管理サーバ110は第1のコマンドを第1のCPE211に対して発行する。このコマンドにより、第1のCPE211は、エラーコード222を含むパケット220を生成し生成した(エラーコード222がある)パケット220を第2のCPE212に送信する。第1のコマンドは、指定された数Npのパケット(たとえば10個のパケット、20個のパケット)を生成することを指示する命令を含み得る。ネットワーク管理サーバ110は、第2のしきい値時間t
2(たとえば1秒)待ち、第2のCPE212のエラーカウンタ212aを読取ることを指示するコマンドを発行する。第2のCPE212のエラーカウンタ212aが上記指定された数Npのパケット以上の数だけ増した場合、ネットワーク管理サーバ110はエラーコード222があるパケット220を受ける、すなわち、パケット220は、第1のCPE211から第2のCPE212に修正されなかったことになる。しかしながら、第2のCPE212のエラーカウンタ212aが上記指定された数Npのパケット未満である場合、ネットワーク管理サーバ110は、エラーコード222がないパケット220を受ける。すなわち、第3のネットワーク装置300(たとえばスイッチ、ルータ、またはハブ)が存在し、第3のネットワーク装置300が第1のCPE211から送信された各パケット220のエラーコード222を削除したことになる。したがって、エラーコード222の従来の用途と異なり、上記のようにネットワーク管理サーバ110がエラーコード222を検出するということは、実際ネットワーク220にエラーがないことを意味する。
【0030】
いくつかの実装例において、使用されるエラー検出は、巡回冗長検査(cyclic-redundancy-check)(CRC)である。CRCは、デジタルデータネットワークおよび記憶装置のエラーを検出するエラー検出技術である。CRCは、送信前の生データにおける偶発的な変化を検出する。特定数の、チェックサムと呼ばれる検査ビットが、送信されているメッセージに付加される。このメッセージを受信した装置は、チェックサムがデータと一致するか否か判断して、送信中にエラーが発生したか否かをある程度の確からしさで判定する。CRCは、多項式演算と、2つの要素を有するガロア体(GF(2))の1つの多項式を別の多項式で除算したときの剰余を計算することに、基づいている。ガロア体多項式は、係数が0または1である単一変数にある。CRC(ソフトウェアまたはハードウェア)が可能にされた装置は、送信または格納すべきデータのブロックごとにチェックサムを計算し、これを、符号語を形成するデータに付加する。別の装置がこの符号語を受信または読出したとき、この装置は、チェックサムを、データブロックの計算したチェックサムと比較する、または符号語全体に対してCRCを実施し結果として得られたチェックサムを予測された剰余定数と比較する。何らかの不一致が生じた場合、データブロックはエラーを含んでいる。受信側の装置は、受信したデータを訂正してもよく、または、送信側の装置にデータの再送信を要求してもよい。先に述べたように、追加ネットワーク装置300はエラーコード(たとえばCRCエラー)を削除するように構成されているので、第2のCPE212が、当初第1のCPE211から送信されたデータパケット220を受信したときに、第2のCPE212はエラーコード222を受信しない(なぜなら追加装置300がこれらエラーコードを削除したからである)。CRCエラー検出は、リンクレイヤ発見プロトコル(Link Layer Discovery Protocol)(LLDP)またはその他のプロトコルとは異なっている。なぜなら、これらプロトコルは必ずしもパケット220内のエラー222を検出するとは限らないであろうからである。
【0031】
図3A〜
図4を参照して、方法400は、エラーコード222(たとえばCRCエラー)があるパケット220を手掛かりとして用いてネットワーク装置300を検出する。この方法400は、コンピュータプロセッサ110(たとえばネットワーク管理サーバ)を用いて第1のコマンドを第1のネットワーク装置211(たとえば記憶ボックス210aa、テレビボックス210ab、携帯電子装置210ac、または電話204に接続されたVoIP装置210ad)に対して発行すること402を含む。第1のネットワーク装置211は第2のネットワーク装置212(たとえば記憶ボックス210aa、テレビボックス210ab、携帯電子装置210ac、または電話204に接続されたVoIP装置210ad)と有線で電気通信する。第1のコマンドにより、第1のネットワーク装置211はエラーコード222を生成する。加えて、第1のコマンドにより、第1のネットワーク装置211は、生成したエラーコード222を第2のネットワーク装置212に送信する。この方法400は、エラーコード222の数を第2のネットワーク装置212から受信すること404と、第3のネットワーク装置300が存在するか否か判断すること406とを含む。第3のネットワーク装置300は第1のネットワーク装置211と第2のネットワーク装置212との間で第1のネットワーク装置および第2のネットワーク装置と有線で電気通信し、第1のネットワーク装置211と第2のネットワーク装置212との間の通信は第3のネットワーク装置300を通る。第2のネットワーク装置212から受信したエラーコード222の数がゼロに等しいとき、第3のネットワーク装置300は存在する。この方法400はさらに、第2のネットワーク装置212のエラーコード222の数が第1のネットワーク装置211が生成したエラーコード222の数に等しいとき、第3のネットワーク装置300は存在しないと判断すること408を含む。
【0032】
いくつかの実装例において、第1のコマンドにより、第1のネットワーク装置211はエラーコード222を含むパケット220を生成する。これに加えてまたはこれに代えて、第1のコマンドは、エラーコード222を有するしきい値数のパケット220を生成することを含み得る。エラーコード222は(上述の)巡回冗長検査のコードであってもよい。この方法は、エラーコード222を有する生成されたパケット220の受信について第2のネットワーク装置212をリッスンすることを含み得る。
【0033】
いくつかの例において、この方法400はさらに、第1のコマンドを発行する前に、コンピュータプロセッサ110を用いてクリアコマンドを第2の装置212に対して発行することを含む。クリアコマンドは、第2の装置212のエラーカウンタ212aからのエラーコード222をクリアすることを指示する命令を含む。これに加えてまたはこれに代えて、方法400はさらに、クリアコマンドを発行した後に、エラーコード222の数を第2のネットワーク装置212から受信することを含み得る。この場合のエラーコードの数はゼロに等しい。
【0034】
いくつかの実装例において、第1、第2、および第3の装置211、212、300間の有線電気通信20は、イーサネットケーブルを含む。第3の装置300は、ハブ、スイッチ、またはルータであってもよい。第1および第2の装置211、212は、TR−069プロトコルと互換性があってもよい。いくつかの例において、方法400は、第1のコマンドを発行してからしきい値期間t
1の時点で、第2のネットワーク装置212から、エラーコード222の数を受信することを含む。
【0035】
本明細書に記載のシステムおよび技術のさまざまな実装例は、デジタル電子回路、集積回路、特別設計ASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、および/またはその組合わせにおいて、実現することができる。これらさまざまな実装例は、記憶システム、少なくとも1つの入力装置、および少なくとも1つの出力装置からデータおよび命令を受信するとともにこれらにデータおよび命令を送信するように結合された、専用または汎用であってもよい少なくとも1つのプログラマブルプロセッサを含む、プログラマブルシステム上で実行可能および/または解釈可能な1つ以上のコンピュータプログラムにおける実装例を含み得る。
【0036】
これらコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーションまたはコードとしても知られている)は、プログラマブルプロセッサに対する機械命令を含み、高レベル手続き型および/またはオブジェクト指向プログラミング言語で、および/またはアセンブリ/機械言語で実装することができる。本明細書に記載の「機械読取可能な媒体」および「コンピュータ読取可能な媒体」は、機械命令を機械読取可能な信号として受ける機械読取可能な媒体を含むプログラムプロセッサに機械命令および/またはデータを与えるのに使用される、何らかのコンピュータプログラムプロダクト、装置、および/またはデバイス(たとえば磁気ディスク、光ディスク、メモリ、プログラマブルロジックデバイス(PLD))を指す。「機械読取可能な信号」という用語は、プログラマブルプロセッサに機械命令および/またはデータを与えるのに使用される何らかの信号を指す。
【0037】
本明細書に記載の主題および機能的動作の実装例は、本明細書に開示されている構造およびこれら構造の構造的均等物を含む、デジタル電子回路において、または、コンピュータソフトウェア、ファームウェア、もしくはハードウェアにおいて、またはこれらのうちの1つ以上の組合わせにおいて、実現することができる。加えて、本明細書に記載の主題は、1つ以上のコンピュータプログラムプロダクトとして、すなわち、データ処理装置による実行のためにまたはデータ処理装置の動作を制御するためにコンピュータ読取可能な媒体において符号化されているコンピュータプログラム命令の1つ以上のモジュールとして、実装することができる。コンピュータ読取可能な媒体は、機械読取可能な記憶装置、機械読取可能な記憶基板、メモリデバイス、機械読取可能な伝搬信号をもたらす組成物、またはこれらのうちの1つ以上の組合わせであってもよい。「データ処理装置」、「計算装置」および「計算プロセッサ」という用語は、例としてプログラマブルプロセッサ、コンピュータ、または複数のプロセッサもしくはコンピュータを含む、データを処理するためのすべての装置、デバイス、および機械を包含する。装置は、ハードウェアに加えて、当該コンピュータプログラムのための実行環境を生成するコード、たとえば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはこれらのうちの1つ以上の組合わせを構成するコードを含み得る。伝搬信号は、人工的に生成された信号、たとえば、適切な受信装置に送信するための情報を符号化するために機械によって生成された、電気、光、または電磁信号である。
【0038】
コンピュータプログラム(アプリケーション、プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、またはコードとしても知られている)は、コンパイルまたは解釈言語を含む任意の形態のプログラミング言語で書込むことができ、スタンドアロンプログラムとしてまたはモジュールとして、計算環境で使用するのに適したコンポーネント、サブルーチン、またはその他のユニットを含む任意の形態でデプロイすることができる。コンピュータプログラムは必ずしもファイルシステム内のファイルに対応しない。プログラムは、その他のプログラムまたはデータ(たとえばマークアップ言語文書に格納された1つ以上のスクリプト)を保持するファイルの一部に、当該プログラム専用の1つのファイルに、または、複数の統合されたファイル(たとえば1つ以上のモジュール、サブプログラム、またはコードの部分を格納するファイル)に、格納することができる。コンピュータプログラムは、1つのコンピュータ上で、または、1つの場所に位置しまたは複数の場所に分散しており通信ネットワークによって相互に接続されている複数のコンピュータ上でデプロイして実行することができる。
【0039】
本明細書に記載のプロセスおよび論理フローは、1つ以上のコンピュータプログラムを実行し入力データに対して動作し出力を生成することによって機能を果たす1つ以上のプログラマブルプロセッサによって実行することができる。上記プロセスおよび論理フローは、専用論理回路、たとえばFPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)によって実行することもでき、装置は、専用論理回路、たとえばFPGAまたはASICとして実装することもできる。
【0040】
コンピュータプログラムの実行に適したプロセッサは、例として、汎用マイクロプロセッサおよび専用マイクロプロセッサ双方、ならびに任意の種類のデジタルコンピュータの任意の1つ以上のプロセッサを含む。一般的に、プロセッサは、読取専用メモリまたはランダムアクセスメモリまたはこれら双方から命令とデータを受ける。コンピュータに不可欠の要素は、命令を実行するためのプロセッサと、命令とデータを格納するための1つ以上の記憶装置である。一般的に、コンピュータはまた、データを格納するための1つ以上の大容量記憶装置、たとえば磁気ディスク、光磁気ディスク、もしくは光ディスクを含む、または、大容量記憶装置に機能的に結合されて、データをこの記憶装置から受けるかもしくはこの記憶装置に送信するかもしくはこの記憶装置に送りかつこの記憶装置から受ける。しかしながら、コンピュータはこのような装置を有する必要はない。加えて、コンピュータは、別の装置に、たとえば少しであるが例を挙げると、携帯電話、携帯情報端末(PDA)、携帯オーディオプレーヤー、グローバルポジショニングシステム(GPS)受信機に、埋込むことができる。コンピュータプログラム命令およびデータを格納するのに適したコンピュータ読取可能な媒体は、すべての形態の不揮発性メモリ、媒体、および記憶装置を含み、これらは例として、半導体記憶装置、たとえばEPROM、EEPROM、およびフラッシュメモリデバイスと、磁気ディスクたとえば内部ハードディスクまたはリムーバブルディスクと、光磁気ディスクと、CD ROMおよびDVD−ROMディスクとを含む。プロセッサおよびメモリに、専用論理回路を補充してもよくまたは組込んでもよい。
【0041】
ユーザとの対話を実現するために、本開示の1つ以上の局面を、ユーザに対して情報を表示するための表示装置、たとえばCRT(陰極線管)、LCD(液晶ディスプレイ)モニタ、またはタッチスクリーンと、任意で、ユーザがコンピュータに入力を与えることができるようにするキーボードおよびポインティングデバイスたとえばマウスまたはトラックボールとを有するコンピュータ上で実装することができる。その他の種類の装置を用いてユーザとの対話を実現することもできる。たとえば、ユーザに与えられるフィードバックは、任意の形態の知覚フィードバック、たとえば視覚フィードバック、聴覚フィードバック、または触覚フィードバックであってもよく、ユーザからの入力は、聴覚、音声、または触覚入力を含む任意の形態で受けることができる。加えて、コンピュータは、ユーザと、ユーザが使用する装置に文書を送信しこの装置から文書を受信することによって、たとえば、ユーザのクライアント装置上のウェブブラウザに、ウェブブラウザから受けたリクエストに応じてウェブページを送信することにより、対話することができる。
【0042】
本開示の1つ以上の局面は、たとえばデータサーバのようなバックエンドコンポーネントを含む、または、たとえばアプリケーションサーバであるミドルウェアコンポーネントを含む、または、たとえば本明細書に記載の主題の実装例とユーザが対話するときに使用されるグラフィカルユーザインターフェイスまたはウェブブラウザを有するクライアントコンピュータであるフロントエンドコンポーネントを含む、または、このようなバックエンド、ミドルウェア、またはフロントエンドコンポーネントのうちの1つ以上の任意の組合わせを含む、計算システムにおいて実装することができる。このシステムのコンポーネントは、デジタルデータ通信の任意の形態または媒体、たとえば通信ネットワークによって相互に接続することができる。通信ネットワークの例は、ローカルエリアネットワーク(「LAN」)およびワイドエリアネットワーク(「WAN」)、インターネットワーク(たとえばインターネット)、およびピアーツーピアネットワーク(たとえばアドホックピアツーピアネットワーク)を含む。
【0043】
計算システムは、クライアントとサーバとを含み得る。クライアントとサーバは、一般的に互いから遠隔の場所にあり、典型的には通信ネットワークを通して対話する。クライアントとサーバの関係は、それぞれのコンピュータ上で実行されておりクライアント‐サーバの関係を有するコンピュータプログラムによって発生する。いくつかの実装例において、サーバは、データ(たとえばHTMLページ)を、クライアント装置に(たとえばデータをクライアント装置に表示するためおよびクライアント装置と対話するユーザからユーザ入力を受けるために)送信する。クライアント装置において生成されたデータ(たとえばユーザとの対話の結果)は、クライアントからサーバにおいて受信することができる。
【0044】
本明細書には多数の詳細事項が含まれているが、これらは、本開示の範囲またはクレームし得るものの範囲に対する限定と解釈されるべきものではなく、本開示の特定の実装例に固有の特徴の説明であると解釈されるべきものである。別々の実装例の文脈において本明細書に記載されている特定の特徴を、1つの実装例における組合わせとして実装することも可能である。逆に、1つの実装例の文脈において記載されているさまざまな特徴を、複数の実装例において別々に、または適切なサブコンビネーションとして実装することも可能である。加えて、特徴は特定の組合わせにおいて作用するものとして説明されそういうものとして最初にクレームされる場合があるが、クレームされている組合わせからの1つ以上の特徴は、場合によってはこの組合わせから削除されることがあり、クレームされている組合わせが、サブコンビネーションまたはサブコンビネーションの変形に関連する場合がある。
【0045】
同様に、図面では動作を特定の順序で示しているが、これは、所望の結果を得るために、このような動作を、示されている特定の順序でもしくは連続して順番に実行すること、または、示されているすべての動作を実行することを、要求しているのではない。特定の状況では、マルチタスキングおよび並列処理が好都合であろう。加えて、上記実施形態ではさまざまなシステムコンポーネントが分離されているが、これは、すべての実施形態においてこのような分離が必要であると理解されるべきものではなく、記載されているプログラムコンポーネントおよびシステムは概ね1つのソフトウェアプロダクトに統合することができるまたは複数のソフトウェアプロダクトにパッケージングすることができると理解されるべきものである。
【0046】
多数の実装例について説明してきた。それでもなお、本開示の精神および範囲から逸脱することなくさまざまな変形をなし得ることが理解されるであろう。したがって、その他の実装例が以下の請求項の範囲に含まれる。たとえば、請求項に記載の動作は、異なる順序で実行することができるが、それでもなお所望の結果を得ることができる。