(57)【特許請求の範囲】
【請求項１】
マルチコア・プラットフォームにおいてドメイン名システム（DNS）解決サービスを提供する方法であって：
前記マルチコア・プラットフォームの主要処理コアにおいて、DNSサーバーに関係するDNSサーバー情報を受信する段階と；
前記DNSサーバー情報を前記マルチコア・プラットフォームの副次処理コアに提供する段階と；
前記副次処理コアにおいて、前記DNSサーバー情報を使ってDNS問い合わせを生成する段階と；
前記DNS問い合わせを前記主要処理コアを介して前記DNSサーバーに送る段階とを含む、
方法。
【請求項２】
前記DNSサーバー情報の要求を前記副次処理コアから前記主要処理コアに送る段階を含む、請求項１記載の方法であって、
前記主要処理コアが前記要求に応答して前記DNSサーバー情報を前記副次処理コアに提供する、方法。
【請求項３】
前記主要処理コアにおいて前記DNSサーバー情報を記憶する段階と、前記DNSサーバー情報を前記副次処理コアのDNS解決器にインストールする段階とを含む、請求項１記載の方法。
【請求項４】
請求項１記載の方法であって：
IPリース要求を、前記主要処理コアから動的ホスト構成設定プロトコル（DHCP）サーバーに送る段階を含み、前記DHCPサーバーは前記IPリース要求に対して、前記DNSサーバー情報を含むDHCPオファーを送ることによって応答する、方法。
【請求項５】
請求項１記載の方法であって：
前記主要処理コアにおいて、前記DNS問い合わせに応答して前記DNSサーバーによって実行されたDNS解決の結果を受信する段階と；
前記DNS解決の結果を前記副次処理コア上で走るネットワーク・アプリケーションに提供する段階とを含む、
方法。
【請求項６】
請求項１記載の方法であって：
前記DNSサーバー情報を前記副次処理コアのDHCPサーバーにインストールする段階と；
前記DHCPサーバーからの前記DNSサーバー情報を含むDHCPオファーを、前記副次処理コアに取り付けられたクライアント装置に送る段階と；
前記クライアント装置からのDNS問い合わせを、前記主要処理コアを介して前記DNSサーバーにルーティングする段階とを含む、
方法。
【請求項７】
請求項１記載の方法であって：
前記DNSサーバー情報を副次コアDNSサーバーにインストールする段階と；
前記副次コアDNSサーバーにおいて、DNS問い合わせを、前記副次処理コアに取り付けられたクライアント装置から受信する段階と；
前記DNS問い合わせを、前記副次コアDNSサーバーから前記主要処理コアを介して前記DNSサーバーにルーティングする段階とを含む、
方法。
【請求項８】
請求項７記載の方法であって：
前記副次コアDNSサーバーに関係する副次コアDNSサーバー情報を、前記副次処理コアのDHCPサーバーにインストールする段階と；
前記DHCPサーバーからの前記副次コアDNSサーバー情報を含むDHCPオファーを、前記副次処理コアに取り付けられたクライアント装置に送る段階とを含む、
方法。
【請求項９】
マルチコア・プラットフォームにおいてドメイン名システム（DNS）解決サービスを提供する装置であって：
前記マルチコア・プラットフォームの主要処理コア内のDNS転送器と；
前記マルチコア・プラットフォームの副次処理コア内のDNS転送器クライアントとを有しており、
前記DNS転送器は、DNSサーバーに関係するDNSサーバー情報を受信し、該DNSサーバー情報を前記DNS転送器クライアントに提供し、
前記DNS転送器クライアントは、前記DNSサーバー情報を前記副次処理コアのDNS解決器にインストールし、
前記DNS解決器は前記DNSサーバー情報を使って、前記主要処理コアを介して前記DNSサーバーに送るためのDNS問い合わせを生成する、
装置。
【請求項１０】
請求項９記載の装置であって：
前記主要処理コアが、動的ホスト構成設定プロトコル（DHCP）クライアントを含み、
前記DHCPクライアントがDHCPサーバーから前記DNSサーバー情報を受信し、
前記DHCPクライアントは前記DNSサーバー情報を前記DNS転送器に送る、
装置。
【請求項１１】
請求項９記載の装置であって：
主要処理コア・ネットワーク・プロトコル・スタックが、前記DNS問い合わせに応答して前記DNSサーバーによって実行されるDNS解決の結果を受信し、
前記主要処理コア・ネットワーク・プロトコル・スタックが前記DNS解決の結果を副次処理コア・ネットワーク・プロトコル・スタックに送り、
前記副次処理コア・ネットワーク・プロトコル・スタックが前記DNS解決の結果を前記DNS解決器に送り、
前記DNS解決器が前記DNS解決の結果を、前記副次処理コア上で走るネットワーク・アプリケーションに提供する、
装置。
【請求項１２】
前記マルチコア・プラットフォームが前記主要処理コアと前記副次処理コアとの間の仮想または物理的なデータ・リンクを含む、請求項９記載の装置。
【請求項１３】
請求項９記載の装置であって：
前記副次処理コアがDHCPサーバーを含み；
前記DNS転送器が前記DNSサーバー情報を前記DHCPサーバーにインストールし；
前記DHCPサーバーが前記DNSサーバー情報を含むDHCPオファーを前記副次処理コアに取り付けられたクライアント装置に送り；
前記主要処理コアが前記クライアント装置からのDNS問い合わせを前記DNSサーバーにルーティングする、
装置。
【請求項１４】
請求項９記載の装置であって：
前記副次処理コアが副次コアDNSサーバーを含み；
前記DNS転送器が前記DNSサーバー情報を前記副次コアDNSサーバーにインストールし；
前記副次コアDNSサーバーが、DNS問い合わせを、前記副次処理コアに取り付けられたクライアント装置から受信する段階と；
前記主要処理コアが、前記副次コアDNSサーバーからの前記DNS問い合わせを、前記DNSサーバーにルーティングする段階とを含む、
装置。
【請求項１５】
請求項１４記載の装置であって：
前記副次処理コアがDHCPサーバーを含み；
前記副次コアDNSサーバーに関係する副次コアDNSサーバー情報が、前記DHCPサーバーにインストールされ；
前記DHCPサーバーが前記副次コアDNSサーバー情報を含むDHCPオファーを、前記副次処理コアに取り付けられたクライアント装置に送る、
装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は概括的にはデータ通信に関し、詳細には複数の処理コアをもつプラットフォームに関わるネットワーク上でのデータ通信に関する。
【背景技術】
【０００２】
アドバンスト・ケーブル・ゲートウェイ（advanced  cable  gateway）のようなマルチコア・プラットフォームでは、複数の処理コアの一つ、「主要コア」が典型的には広域ネットワーク（WAN:  wide  area  network）接続性をもち、リモートDHCPサーバーからグローバルにルーティング可能なインターネット・プロトコル（IP:  Internet  Protocol）アドレスを取得する動的ホスト構成設定プロトコル（DHCP:  Dynamic  Host  Configuration  Protocol）クライアントを実装する。DHCPサーバーはDHCPクライアントからのIPリース要求に、DHCPオファー・メッセージをもって応答する。このメッセージは典型的には、そのクライアントがドメイン名を解決する（たとえば、「www.technicolor.com」はIPアドレス157.254.235.97と解決される）ために使用できるドメイン名システム（DNS:  Domain  Name  System）サーバーのIPアドレスのリストを含む。
【０００３】
そのようなマルチコア・プラットフォームにおける他の処理コア（「副次コア」）は、ネットワーク・アプリケーション（たとえばHTTPブラウザー、株式相場表示器など）とともに自身のオペレーティング・システムをホストしていてもよく、これらもDNS解決サービスを必要とする。さらに、コンピュータ、ゲーム・システムなどといったいくつもあるクライアント装置が、インターネットへのアクセスのために一つまたは複数の副次処理コアに取り付けられていて、該副次処理コアに依存することがある。典型的には、これら副次コアは直接的なWAN接続性はもたず、その代わりにインターネット技術特別調査委員会（IETF:  Internet  Engineering  Task  Force）クラスA、BまたはCプライベート・ネットワーク（物理的または仮想）を使って主要コアと、また互いと通信してもよい。簡単のため、副次コア・ネットワーク・インターフェースは典型的には固定したクラスA、BまたはCプライベート・ネットワーク・アドレス（たとえば192.168.0.xxx）を使用し、主要コアからのプライベートIPアドレスを得るためにローカルなDHCPクライアントを実装しない。しかしながら、固定したプライベート・ネットワーク・アドレスを使うことの限界は、副次コアが直接的にDNS解決器サービスを、それらのコアで走るネットワーク・アプリケーションおよび／またはそれらのコアに取り付けられたクライアント装置に提供できないということである。
【０００４】
この問題に対する一つのアプローチは、主要コアが、各副次コアにプライベートIPアドレスを供するためのプライベートDHCPサーバーをホストすることである。プライベートDHCPサーバーは副次コアに対して、プライベートDHCPオファーにおいて、WAN側DHCPサーバーから得られたDNSサーバーIPリストを渡すことができる。このアプローチは、各副次コアもDHCPクライアントを実装することを必要とする。しかしながら、より制限となることに、主要コアDHCPサーバーは、たとえば副次コアのネットワーク・インターフェース識別子――たとえば媒体アクセス制御（MAC:  Media  Access  Control）アドレス――に基づいて各副次コアに既知の固定したIPアドレスを割り当てるために、複数のDHCPスコープをサポートできる必要がある。このアプローチの欠点は、複数スコープDHCPサーバー機能はかなりの製品複雑さを上乗せし、上述したように、各副次コアがDHCPクライアントを実装することをも必要とし、マルチコア・プラットフォームにさらなる複雑さを上乗せする。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
したがって、上述した欠点のない、マルチコア・プラットフォームが、直接的なWAN接続をもたない副次コアで走るネットワーク・アプリケーションおよび／または副次コアのクライアントに対してDNS解決サービスを提供できるようにする構成が必要とされている。
【課題を解決するための手段】
【０００６】
マルチコア・プラットフォームで使う方法および装置であって、直接的なWAN接続性をもたない副次プロセッサ・コアがそのネットワーク・アプリケーションに対してDNS解決器サービスを提供するものが開示される。ある例示的な実施形態では、直接的なWAN接続性をもつ主要プロセッサ・コアはDNS転送器を有し、該DNS転送器は、WAN側DHCPサーバーから得られたDNSサーバーIPアドレス情報をプラットフォームの副次処理コアに分け与える。各副次コアは、主要コアDNS転送器にDNS情報を要求し、該情報を受信し、該情報を自らのオペレーティング・システムのDNS解決器モジュールに対して利用可能にするDNS転送器クライアントを実装する。追加的または代替的に、主要コアDNS転送器は、主要コアDHCPクライアントのリース刷新（renewal）に続いて、更新されたDNSサーバー情報を各副次コアにプッシュしてもよい。
【０００７】
上記に鑑み、また詳細な説明から明白であろうように、他の実施形態および特徴も可能であり、本発明の原理の範囲内にはいる。
【図面の簡単な説明】
【０００８】
ここで、本発明の実施形態に基づく装置および／または方法のいくつかの実施形態について、単に例として、付属の図面を参照しつつ述べる。
【図１】サービス・プロバイダーとのようなWANリンクと家庭ネットワークのようなLANとの間の例示的なマルチコア家庭ゲートウェイの構成を示すブロック図である。
【図２】物理的なまたは仮想的な通信データ・リンクを使って相互通信する複数の処理コアをもつ家庭ゲートウェイ・システムのある例示的な実施形態のブロック図である。
【図３】DHCPクライアントおよびDNS転送器を実装する主要処理コアと、DNS転送器クライアントを実装する副次処理コアを含む家庭ゲートウェイ・システムであって、前記DNS転送器クライアントは、前記主要処理コア内のDNS転送器および前記副次コア内のDNS解決器と対話して、前記副次コア上で走るネットワーク・アプリケーションのためのDNS情報を提供する、システムの、ある例示的な実施形態のブロック図である。
【図４】副次コアDNS転送器クライアントが主要コアDNS転送器からDNSサーバー情報をプルするプル動作モードにおける例示的な方法のフローチャートである。
【図５】主要コアDNS転送器がDNSサーバー情報を副次コアDNS転送器クライアントにプッシュするプッシュ動作モードにおける例示的な方法のフローチャートである。
【図６】処理コアに取り付けられたクライアント装置のためにDNSトラフィックをサポートする機能をもつ家庭ゲートウェイ・システムの例示的な実施形態のブロック図である。
【図７】処理コアに取り付けられたクライアント装置のためにDNSトラフィックをサポートする機能をもつ家庭ゲートウェイ・システムのさらなる例示的な実施形態のブロック図である。
【発明を実施するための形態】
【０００９】
図１は、例示的な家庭ゲートウェイ１００を含む典型的な構成のブロック図である。家庭ゲートウェイ１００は、アドバンスト・ケーブル・ゲートウェイなどのようなマルチコア・プラットフォームであることが考えられている。家庭ゲートウェイ１００は、たとえばケーブル、ファイバーまたはDSLのような広域ネットワーク（WAN）リンク２２５を介してサービス・プロバイダー２００に結合される。家庭ゲートウェイ１００はまた、家庭ネットワーク２５０のようなローカル・エリア・ネットワーク（LAN:  local  area  network）を介して一つまたは複数の消費者構内設備（CPE:  consumer  premises  equipment）装置２８０にも結合される。CPE装置２８０はたとえば、中でもパーソナル・コンピュータ、ネットワーク・プリンタ、デジタル・セットトップボックスおよび／またはオーディオ／ビジュアル・メディア・サーバーおよびプレーヤーを含んでいてもよい。
【００１０】
サービス・プロバイダー２００は、音声、データ、ビデオおよび／またはさまざまな進んだサービスといった一つまたは複数のサービスをWANリンク２２５を通じてCPE装置２８０に提供する。サービス・プロバイダー２００は、DHCPサーバー２１０およびDNSサーバー２２０をも含み、他のサーバーをも含んでいてもよい。理解できるように、サービス・プロバイダー２００は複数のDHCP、DNSおよび他のサーバーを有していてもよく、これらは共位置であっても、あるいは広く分散されていてもよい。サービス・プロバイダー２００は、よく知られたプロトコルに従って通常の仕方で動作することが考えられている。例示的なケーブル・アプリケーションでは、サービス・プロバイダー２００はたとえば複数サービス事業者（MSO:  multiple  service  operator）であってもよい。
【００１１】
図２は、複数の処理コア１５０．１〜１５０．Ｎ（まとめて１５０と称する）をもつ家庭ゲートウェイ１００の例示的な実施形態のブロック図である。家庭ゲートウェイ１００の処理コア１５０は一つまたは複数の統合されたマルチコア・プロセッサ、個々のプロセッサまたはそれらの組み合わせの処理コアであってもよい。具体的な実装によらず、各処理コア１５０が他の処理コア１５０とは独立して動作し、典型的には他の処理コア１５０と並列に、自らの命令を読み、実行することができることが考えられている。さらに、各処理コア１５０は自らのオペレーティング・システム（O/S）をホストしてもよく、オペレーティング・システム資源を使う複数のアプリケーションを走らせることができる。処理コア１５０は、数ある可能性の中で、CPE装置２８０にサービスを提供するためおよび家庭ゲートウェイ１００を管理するためのさまざまなアプリケーションを実行することが考えられている。
【００１２】
処理コア１５０はそれぞれのネットワーク・インターフェース１６１、１６２を介してデータ・リンク１６０を使って相互通信する。データ・リンク１６０は、仮想ネットワーク・インターフェース１６１、１６２の間の仮想通信リンクとして、または物理ネットワーク・インターフェース１６１、１６２の間の物理的な通信リンクとして実装できる。例示的な仮想データ・リンク実装は、数ある可能性の中でも、たとえば、共有されるメモリおよび／または割り込みとともにプロセス間通信（IPC:  inter-process  communication）データ・リンクを含む。例示的な物理データ・リンク実装は、数ある可能性の中でも、たとえば、シリアルまたはパラレル・データ・リンクを含む。
【００１３】
図示した例示的な実施形態では、処理コアの一つ１５０．１が「主要」コアとして機能し、一方、残りの処理コア１５０．２〜１５０．Ｎは「副次」コアとして機能する。主要処理コア１５０．１はネットワーク・インターフェース１７０を介してWANリンク２２５へのアクセスをもち、一方、副次処理コア１５０．２〜１５０．Ｎは典型的にはそのようなアクセスをもたない。ネットワーク・インターフェース１７０は典型的には、数ある可能性の中でも、DOCSIS、イーサネット（登録商標）またはMoCAのような物理的なインターフェースである。家庭ゲートウェイ１００は、LANなど（たとえば、家庭ネットワーク２５０）へのアクセスのために一つまたは複数のネットワーク・インターフェース１８０．１〜１８０．Ｎ（まとめて１８０）をももつ。一つまたは複数の処理コア１５０がネットワーク・インターフェース（単数または複数）１８０を使って家庭ネットワーク２５０上のCPE装置２８０と通信することができる。各ネットワーク・インターフェース１８０も典型的には、数ある可能性の中でも、イーサネット（登録商標）、USB、MoCAまたはWiFiのような物理インターフェースである。
【００１４】
アドバンスト・ケーブル・ゲートウェイのようなある例示的なアプリケーションでは、主要処理コア１５０．１は、中でもゲートウェイ・アプリケーション２５１を実装する。ゲートウェイ・アプリケーション２５１はさまざまな機能を扱う。該機能は、たとえば、WANおよびLANインターフェースの管理；WANおよびLANインターフェースの間でのパケットのルーティングまたはブリッジング；および電力および／または低電力モード、ステータス・インジケータなどを含むゲートウェイ・ハードウェア管理を含む。さらに、ゲートウェイ・アプリケーション２５１は、のちにより詳細に述べるように、DHCPおよびDNS機能をも提供する。副次処理コア１５０．２〜１５０．Ｎのそれぞれは、ブラウザーなどのような、DNS解決サービスを必要とする一つまたは複数のネットワーク・アプリケーション２５２を実装する。処理コア上で走るネットワーク・アプリケーション２５２はたとえば、中でも、ウェブ・ブラウザー、株式相場表示器、UPnPメディア・サーバー／プレーヤー、ファイル・サーバー、音楽クライアント／サーバーおよびゲーム・サーバーを含んでいてもよい。理解できるように、処理コア１５０は典型的には、DNS解決サービスを要求しないアプリケーションをも実装する。
【００１５】
図２に示されるように、主要処理コア１５０．１上のゲートウェイ・アプリケーション２５１を含む、処理コア１５０上で走るさまざまなネットワーク・アプリケーションは、それぞれ、互いとおよびWANおよびLANネットワーク・インターフェース１７０、１８０と通信するための（各コアのオペレーティング・システムによって提供される）ネットワーク・プロトコル・スタック２６１、２６２の上にある。ネットワーク機能およびネットワーク・プロトコル・スタックをもつ多様な好適なオペレーティング・システムの任意のものが使用できることが考えられている。
【００１６】
図３は、処理コア１５０上でのDHCPおよびDNS機能の実装をより詳細に示している。図３に示されるように、主要処理コア１５０．１上で実装されるゲートウェイ・アプリケーション２５１はDHCPクライアント３５１およびDNS転送器３５２を含む。通常の動作では、DHCPクライアント３５１は、O/Sネットワーク・プロトコル・スタック２６１を介して、サービス・プロバイダー２００（図１）のDHCPサーバー２１０のようなWAN側DHCPサーバーにIPリース要求を送り、該WAN側DHCPサーバーはDHCPオファー・メッセージをもって応答する。各DHCPオファー・メッセージは、ホスト・ドメイン名を解決するために使用できるDNSサーバー（DNSサーバー２２０など）のIPアドレスのリストを含む。
【００１７】
さらに、処理コア１５０．２のような各副次処理コアは、主要処理コア１５０．１上のDNS転送器３５２と対話するよう実装されるDNS転送器クライアント３６２を含む。さらに、各副次処理コアのオペレーティング・システムは、そのネットワーク・プロトコル・スタック２６２の一部として、当該処理コア上で走るネットワーク・アプリケーション２５２．１〜２５２．Ｎ（まとめて２５２と称する）にサービスするDNS解決器３６３をもつことが考えられている。ネットワーク・アプリケーション２５２はDNS解決器３６３にDNS解決要求を送る。DNS解決器３６３は、後述するように、DNS解決要求において指定されているドメイン名に関連付けられたIPアドレスを取得し、該IPアドレスをもって応答する。さらに、各副次コアのオペレーティング・システムはDNS解決器構成設定モジュール３６４を含み、それを介してDNS転送器クライアント３６２はDNS解決器３６３を構成設定する。これについては後述する。簡単のため、図３では一つの副次処理コア１５０．２だけが描かれている。
【００１８】
副次処理コア上で走るネットワーク・アプリケーションに加えて、主要コア１５０．１上で走るネットワーク・アプリケーションもDNS解決サービスを要求してもよい。理解できるように、そのようなDNSトラフィックは、典型的にはDNS解決器を含む主要コアのO/Sネットワーク・プロトコル・スタック２６１を介して通常の仕方で扱うことができる。
【００１９】
一般に、DHCPクライアント３５１は、WAN側DHCPサーバー（２１０）から得られたDNSサーバーIPアドレス情報をDNS転送器３５２に提供し、該DNS転送器３５２はその情報を、プラットフォームの副次処理コア１５０．２〜１５０．Ｎ上で実装されるDNS転送器クライアント３６２に対して利用可能にする。DNS転送器クライアント３６２は、DNS解決器構成設定モジュール３６４を介して、DNSサーバーIPアドレスをDNS解決器３６３にインストールする。
【００２０】
図２を参照して上述したように、処理コア１５０はデータ・リンク１６０を使って相互通信する。データ・リンク１６０を介して通信されるトラフィックは、副次処理コア１５０．２〜１５０．Ｎへのおよび該副次処理コアからのWANトラフィックならびに主要コア上のDNS転送器３５２と各副次コア上のDNS転送器クライアント３６２との間のトラフィックを含む。よって、副次コア・プロトコル・スタック２６２におけるDNS解決器３６３からのDNS問い合わせは仮想ネットワーク・インターフェース１６２、１６１を通じて流れ、主要コア・プロトコル・スタック２６１を通じて上り、次いで主要コア・プロトコル・スタック２６１によってルーティングまたはブリッジングされてWANネットワーク・インターフェース１７０までまた降りて、WAN側サーバーに出力される。WAN側DNSサーバーからの解決されたDNS  IPアドレスは、要求元の副次コア・ネットワーク・アプリケーション２５２または取り付けられたクライアント装置に提供するために、DNS解決器３６３に戻る逆の経路を取る。DNS問い合わせおよびその結果の、プラットフォーム１００を通じた流れは、その上で走るオペレーティング・システム（単数または複数）の標準的な動作を伴うことが考えられている。
【００２１】
図２および図３の構成は、「プル」または「プッシュ」モードのいずれでも動作できる。ここで、プル・モードでの例示的な動作方法について、図３および図４を参照して述べる。
【００２２】
図４に示されるように、ステップ４１０では、DHCPクライアント３５１はIPリース要求をWAN側DHCPサーバー（２１０）に送り、該WAN側DHCPサーバーは、ドメイン名を解決するために使用できるDNSサーバー（DNSサーバー２２０など）のIPアドレスのリストを含むDHCPオファー・メッセージをもって応答する。ステップ４２０では、DHCPクライアント３５１が、上述したDNSサーバーIPアドレス・リストをもつDHCPオファー・メッセージを受信し、そのメッセージをDNS転送器３５２に提供する。
【００２３】
ステップ４３０では、DNS転送器３５２は、DHCPオファー・メッセージからDNSサーバーIPアドレス・リストを抽出し、該リストを、主要処理コア１５０．１に付随するローカル・メモリ３５３などに記憶する。
【００２４】
ステップ４４０で表されるように、のちの何らかの時点において、副次処理コア１５０．２のDNS転送器クライアント３６２のような副次コアDNS転送器クライアントは、主要処理コア１５０．１内のDNS転送器３５２に、DNSサーバー情報の要求を送る。DNS転送器クライアント３６２はそのような要求を、副次処理コア１５０．２上で走るネットワーク・アプリケーション２５２または該副次コアに取り付けられたクライアント装置からの、DNS解決サービスが要求されるという要求または指示に応答して送ることができる。DNS転送器クライアント３６２は、タイマーの満了に従って、DNSサーバー情報の要求を送ることもできる。そのようなタイマーはたとえばDNS解決器３６３によって維持されることができ、定期的に満了するよう設定されることができる。ステップ４５０では、DNS転送器３５２はDNS転送器クライアント３６２からの要求を受信し、ステップ４３０でローカル・メモリ３５３に記憶されたDNSサーバーIPアドレス情報にアクセスし、DNSサーバーIPアドレス情報をDNS転送器クライアント３６２に返す。ステップ４６０では、DNS転送器クライアント３６２はDNSサーバーIPアドレス・リストを受信し、それをDNS解決器構成設定モジュール３６４を介してDNS解決器３６３中にインストールする。インストールは、ステップ４４０においてDNSサーバー情報要求を送った副次処理コアのDNS解決器３６３においてのみ、すべての副次処理コアのDNS解決器において、またはその部分集合において、行われることができることを注意しておく。
【００２５】
ステップ４７０で表されるように、のちの何らかの時点において、副次処理コア１５０．２内のネットワーク・アプリケーション２５２がDNS解決要求をオペレーティング・システムのDNS解決器３６３に送る。該DNS解決器は、ステップ４６０でインストールされたDNSサーバーIPアドレス・リストにアドレスが載っているDNSサーバーの一つまたは複数に伝達するためのDNS問い合わせを生成する。ステップ４８０では、DNS問い合わせはデータ・リンク１６０を介して主要処理コア１５０．１に通信される。主要処理コア１５０．１はそれをWANインターフェースを介して、意図された問い合わせ先であるWAN側DNSサーバー（単数または複数）に送る。ステップ４９０では、WAN側DNSサーバー（単数または複数）はDNS問い合わせにおいて指定されたドメイン名に対応するIPアドレスをもってDNS問い合わせに応答する。DNS解決結果は主要処理コア１５０．１に送られ、該主要処理コアによって受信される。該主要処理コアはステップ４９５で、該結果を、要求元のネットワーク・アプリケーション（単数または複数）２５２による使用のため、副次コアのDNS解決器３６３に転送する。
【００２６】
上記のプル動作モードに対する追加または代替として、主要コアDNS転送器３５２は、主要コアDHCPクライアント・リース刷新（renewal）後に、各副次コアに更新されたDNSサーバー情報を「プッシュ」することができる。ここで、プッシュ・モードでの例示的な動作方法について、図３および図５を参照して述べる。
【００２７】
図５に示されるように、ステップ５１０では、DHCPクライアント３５１はIPリース要求をWAN側DHCPサーバー（２１０）に送り、該WAN側DHCPサーバーは、ホスト・ドメイン名を解決するために使用できるDNSサーバー（DNSサーバー２２０など）のIPアドレスのリストを含むDHCPオファー・メッセージをもって応答する。ステップ５２０では、DHCPクライアント３５１が、上述したDNSサーバーIPアドレス・リストをもつDHCPオファー・メッセージを受信し、そのメッセージをDNS転送器３５２に提供する。ステップ５３０では、DNS転送器３５２は、DNSサーバーIPアドレス・リストを抽出しその情報を、データ・リンク１６０を介して、処理コア１５０．２のDNS転送器クライアント３６２のような、副次コアDNS転送器クライアントに送る。DNS転送器３５２は、該リストを、たとえばまだ電源投入されていない副次コアに提供するためなど将来の使用のために、ローカル・メモリ３５３などに記憶することもできる。ステップ５４０では、各副次コアDNS転送器クライアント（３６２）がそのDNS解決器（３６３）にDNSサーバー情報をインストールする。
【００２８】
ステップ５５０で表されるように、のちの何らかの時点において、副次処理コア１５０．２のネットワーク・アプリケーションがDNS解決要求をオペレーティング・システムのDNS解決器３６３に送る。該DNS解決器は、ステップ５４０でインストールされたDNSサーバーIPアドレス・リストにアドレスが載っているDNSサーバーの一つまたは複数に伝達するためのDNS問い合わせを生成する。ステップ５６０では、DNS問い合わせはデータ・リンク１６０を介して主要処理コア１５０．１に通信される。主要処理コア１５０．１はそれをWANを介して、意図された問い合わせ先であるDNSサーバー（単数または複数）に送る。ステップ５７０では、WAN側DNSサーバー（単数または複数）はDNS問い合わせにおいて指定されたドメイン名に対応するIPアドレスをもってDNS問い合わせに応答する。DNS解決結果は主要処理コア１５０．１に送られ、該主要処理コアはステップ５７５で、該結果を、要求元のネットワーク・アプリケーション（単数または複数）による使用のため、副次コアのDNS解決器３６３に転送する。
【００２９】
処理コア１５０上で走るネットワーク・アプリケーションに加えて、処理コア１５０にネットワーク・インターフェース１８０を介して取り付けられたクライアント装置（CPE装置２８０など）もDNS解決サービスを要求してもよい。クライアント装置は、該クライアント装置がプラットフォーム１００に接続する際のネットワーク・インターフェース１８０を制御する処理コア１５０に取り付けられていると考えられる。
【００３０】
ある例示的な実施形態では、取り付けられたクライアント装置は、副次コアのDNS解決器３６３を使用しない。むしろ、取り付けられたクライアント装置は自らのDNS問い合わせを生成し、そのDNS問い合わせをゲートウェイ１００がWAN側DNSサーバー（単数または複数）に渡す。そのような実施形態は図６に示されている。
【００３１】
図６に示されるように、副次処理コア１５０．２のオペレーティング・システム・ネットワーク・プロトコル・スタックはDHCPサーバー３６６およびDHCPサーバー構成設定モジュール３６７を含むことが考えられている。さらに、取り付けられたクライアント装置は、DHCPトランザクションを実行するためにDHCPサーバー３６６と対話するDHCPクライアント・モジュールを含む。
【００３２】
上記のようにDNS転送器３５２によって提供されるDNSサーバーIPアドレスをDNS解決器３６３にインストールすることに加えて、DNS転送器クライアント３６２はDNSサーバーIPリストを、DHCPサーバー構成設定モジュール３６７を介してDHCPサーバー３６６にもインストールする。取り付けられたクライアント装置は、通常の仕方で、LAN  IPリースを副次コアのDHCPサーバー３６６から取得する。DHCPサーバー３６６から取り付けられたクライアント装置へのDHCPオファー・メッセージは、DNS転送器クライアント３６２によってDHCPサーバー３６６にインストールされたDNSサーバーIPリストを含む。これは、取り付けられた各クライアント装置に、そのオペレーティング・システムのDNS解決器モジュールを使って通常のDNS問い合わせを生成するために必要とするDNSサーバーIP情報を与える。このようにして生成されたDNS問い合わせは通常通りにLANインターフェース１８０からネットワーク・プロトコル・スタック２６２の最下部を通り、リンク１６０を通じ、WANインターフェース１７０を出てWAN側DNSサーバーに伝えられる。
【００３３】
図７に示されるさらなる例示的な実施形態では、副次処理コア１５０．２のオペレーティング・システム・ネットワーク・プロトコル・スタックは、取り付けられたクライアント装置がDNS問い合わせを解決するために使用できるDNSサーバー３６８を含んでいることが考えられている。そのような実施形態では、DHCPサーバー３６６から取り付けられたクライアント装置に送られるDHCPオファー・メッセージは、DNSサーバーIPアドレスのリストにおいて、DNSサーバー３６８をホストする当該副次処理コアのIPアドレスを含む。DNSサーバーIPアドレスのリストは、当該副次コアのIPアドレスだけを含んでいてもよいし、あるいは他のDNSサーバーのアドレスをも含んでいてもよい。
【００３４】
副次処理コア１５０．２のオペレーティング・システム・ネットワーク・プロトコル・スタックは、DNSサーバー３６８に、上記のようにDNS解決器３６３およびDHCPサーバー３６６にインストールされたDNSサーバーIPリストをインストールするためにDNS転送器クライアント３６２が使うDNSサーバー構成設定モジュール３６９をも含むことが考えられている。これは、副次コアDNSサーバー３６８が、必要に応じて、DNS問い合わせを、ドメイン名を完全に解決することに関わりうるDNSサーバーの階層構造における次の（WAN側）DNSサーバーに転送することを許容する。
【００３５】
副次処理コアが上記のようにDHCPサーバー３６６および／またはDNSサーバー３６８をホストするためには、ゲートウェイ１００は（ブリッジではなく）ルーター・モードで動作するべきであることを注意しておくべきである。
【００３６】
一つの主要処理コアをもつ家庭ゲートウェイを使って本発明の例示的な実施形態について述べてきたが、本発明は、直接的なネット接続性をもたない一つまたは複数のコアがDNS解決サービスを、DNSサーバーが存在するネットワーク（単数または複数）への直接的な接続性をもつ一つまたは複数の他のコアを介して得る任意のマルチコア・プラットフォームに適用できる。
【００３７】
上記に鑑み、以上は単に本発明の原理を例解するものであり、よって、当業者は、たとえ本稿で明示的に記載されていなくても、本開示の原理を具現し、その精神および範囲内である数多くの代替的な構成を考案することができるであろうことは理解されるであろう。たとえば、別個の機能要素のコンテキストで示されていても、そうした機能要素は一つ（または複数）の集積回路（IC）において具現されてもよい。同様に、別個の要素として示されていても、そうした要素の一部または全部が記憶されたプログラム制御されるプロセッサ、たとえば汎用プロセッサにおいて実装されてもよく、該プロセッサが関連するソフトウェア、たとえば一つまたは複数のステップに対応するものを実行する。該ソフトウェアは、多様な好適な記憶媒体のいずれにおいて具現されてもよい。したがって、例示的な実施形態に対して数多くの修正をすることができ、本発明の精神および範囲から外れることなく他の構成が考案されることもできることが理解される。
【００３８】
本稿に記載される実装は、たとえば、方法またはプロセス、装置またはハードウェアおよびソフトウェアの組み合わせにおいて実装されてもよい。たとえ単一の形の実装のコンテキストでのみ論じられていたとしても（たとえば方法としてのみ論じられていたとしても）、論じられる特徴の実装は、他の形でも実装されうる（たとえば、ハードウェア装置、ハードウェアおよびソフトウェア装置またはコンピュータ可読媒体）。装置はたとえば適切なハードウェア、ソフトウェアおよびファームウェアにおいて実装されてもよい。方法はたとえば、プロセッサなどの装置などにおいて実装されてもよい。プロセッサは、たとえばコンピュータ、マイクロプロセッサ、集積回路またはプログラム可能型論理デバイスを含む任意の処理装置を指す。処理装置は、たとえばコンピュータ、携帯電話、ポータブル／パーソナル・デジタル・アシスタント（「PDA」）およびエンドユーザー間の情報通信を容易にする他の装置などの通信装置をも含む。
加えて、方法は、プロセッサによって実行される命令によって実装されてもよく、そのような命令はプロセッサまたはコンピュータ可読媒体、たとえば集積回路、ソフトウェア担体または他の記憶デバイスに記憶されていてもよい。該他の記憶デバイスはたとえば、ハードディスク、コンパクト・ディスケット、ランダム・アクセス・メモリ（「RAM」）、読み出し専用メモリ（「ROM」）または他の任意の磁気式、光学式または半導体媒体といったものである。命令は、上記に挙げた媒体の任意のもののようなコンピュータ可読媒体上に有体に具現されたアプリケーション・プログラムをなしていてもよい。明らかなはずだが、プロセッサは、該プロセッサ・ユニットの一部として、プロセスを実行するための命令などを有するコンピュータ可読媒体を含んでいてもよい。本発明の方法に対応する命令は、実行されると、汎用コンピュータを、本発明の方法を実行する具体的な機械にすることができる。
いくつかの付記を記載しておく。
〔付記１〕
マルチコア・プラットフォームにおいてドメイン名システム（DNS）解決サービスを提供する方法であって：
前記マルチコア・プラットフォームの主要処理コアにおいて、DNSサーバーに関係するDNSサーバー情報を受信する段階と；
前記DNSサーバー情報を前記マルチコア・プラットフォームの副次処理コアに提供する段階と；
前記副次処理コアにおいて、前記DNSサーバー情報を使ってDNS問い合わせを生成する段階と；
前記DNS問い合わせを前記主要処理コアを介して前記DNSサーバーに送る段階とを含む、
方法。
〔付記２〕
前記DNSサーバー情報の要求を前記副次処理コアから前記主要処理コアに送る段階を含む、付記１記載の方法であって、
前記主要処理コアが前記要求に応答して前記DNSサーバー情報を前記副次処理コアに提供する、方法。
〔付記３〕
前記主要処理コアにおいて前記DNSサーバー情報を記憶する段階を含む、付記１記載の方法。
〔付記４〕
前記DNSサーバー情報を前記副次処理コアのDNS解決器にインストールする段階を含む、付記１記載の方法。
〔付記５〕
前記DNSサーバー情報が前記DNSサーバーのインターネット・プロトコル（IP）アドレスを含む、付記１記載の方法。
〔付記６〕
付記１記載の方法であって：
IPリース要求を、前記主要処理コアから動的ホスト構成設定プロトコル（DHCP）サーバーに送る段階を含み、前記DHCPサーバーは前記IPリース要求に対して、前記DNSサーバー情報を含むDHCPオファーを送ることによって応答する、方法。
〔付記７〕
付記１記載の方法であって：
前記主要処理コアにおいて、前記DNS問い合わせに応答して前記DNSサーバーによって実行されたDNS解決の結果を受信する段階と；
前記DNS解決の結果を前記副次処理コアへの前記副次処理コア上で走るネットワーク・アプリケーションに提供する段階とを含む、
方法。
〔付記８〕
付記１記載の方法であって：
前記DNSサーバー情報を前記副次処理コアのDHCPサーバー（３６６）にインストールする段階と；
前記DHCPサーバーからの前記DNSサーバー情報を含むDHCPオファーを、前記副次処理コアに取り付けられたクライアント装置に送る段階と；
前記クライアント装置からのDNS問い合わせを、前記主要処理コアを介して前記DNSサーバーにルーティングする段階とを含む、
方法。
〔付記９〕
付記１記載の方法であって：
前記DNSサーバー情報を副次コアDNSサーバー（３６８）にインストールする段階と；
前記副次コアDNSサーバーにおいて、DNS問い合わせを、前記副次処理コアに取り付けられたクライアント装置から受信する段階と；
前記DNS問い合わせを、前記副次コアDNSサーバーから前記主要処理コアを介して前記DNSサーバーにルーティングする段階とを含む、
方法。
〔付記１０〕
付記９記載の方法であって：
前記副次コアDNSサーバーに関係する副次コアDNSサーバー情報を、前記副次処理コアのDHCPサーバー（３６６）にインストールする段階と；
前記DHCPサーバーからの前記副次コアDNSサーバー情報を含むDHCPオファーを、前記副次処理コアに取り付けられたクライアント装置に送る段階とを含む、
方法。
〔付記１１〕
マルチコア・プラットフォームにおいてドメイン名システム（DNS）解決サービスを提供する装置であって：
前記マルチコア・プラットフォームの主要処理コア内のDNS転送器と；
前記マルチコア・プラットフォームの副次処理コア内のDNS転送器クライアントとを有しており、
前記DNS転送器は、DNSサーバーに関係するDNSサーバー情報を受信し、該DNSサーバー情報を前記DNS転送器クライアントに提供し、
前記DNS転送器クライアントは、前記DNSサーバー情報を前記副次処理コアのDNS解決器にインストールし、
前記DNS解決器は前記DNSサーバー情報を使って、前記主要処理コアを介して前記DNSサーバーに送るためのDNS問い合わせを生成する、
装置。
〔付記１２〕
前記主要処理コアが前記DNSサーバー情報を記憶するメモリを含む、付記１１記載の装置。
〔付記１３〕
前記DNSサーバー情報が前記DNSサーバーのインターネット・プロトコル（IP）アドレスを含む、付記１１記載の装置。
〔付記１４〕
付記１１記載の装置であって：
前記主要処理コアが、動的ホスト構成設定プロトコル（DHCP）クライアントを含み、
前記DHCPクライアントがDHCPサーバーから前記DNSサーバー情報を受信し、
前記DHCPクライアントは前記DNSサーバー情報を前記DNS転送器に送る、
装置。
〔付記１５〕
付記１１記載の装置であって：
主要処理コア・ネットワーク・プロトコル・スタックが、前記DNS問い合わせに応答して前記DNSサーバーによって実行されるDNS解決の結果を受信し、
前記主要処理コア・ネットワーク・プロトコル・スタックが前記DNS解決の結果を副次処理コア・ネットワーク・プロトコル・スタックに送り、
前記副次処理コア・ネットワーク・プロトコル・スタックが前記DNS解決の結果を前記DNS解決器に送り、
前記DNS解決器が前記DNS解決の結果を、前記副次処理コア上で走るネットワーク・アプリケーションに提供する、
装置。
〔付記１６〕
前記マルチコア・プラットフォームが前記主要処理コアと広域ネットワーク（WAN）との間の物理的なインターフェースを含む、付記１１記載の装置。
〔付記１７〕
前記マルチコア・プラットフォームが前記主要処理コアおよび前記副次処理コアの少なくとも一つとローカル・エリア・ネットワーク（LAN）との間の物理的なインターフェースを含む、付記１１記載の装置。
〔付記１８〕
前記マルチコア・プラットフォームが前記主要処理コアと前記副次処理コアとの間の仮想または物理的なデータ・リンクを含む、付記１１記載の装置。
〔付記１９〕
付記１１記載の装置であって：
前記副次処理コアがDHCPサーバーを含み；
前記DNS転送器が前記DNSサーバー情報を前記DHCPサーバーにインストールし；
前記DHCPサーバーが前記DNSサーバー情報を含むDHCPオファーを前記副次処理コアに取り付けられたクライアント装置に送り；
前記主要処理コアが前記クライアント装置からのDNS問い合わせを前記DNSサーバーにルーティングする、
装置。
〔付記２０〕
付記１１記載の装置であって：
前記副次処理コアが副次コアDNSサーバーを含み；
前記DNS転送器が前記DNSサーバー情報を前記副次コアDNSサーバーにインストールし；
前記副次コアDNSサーバーが、DNS問い合わせを、前記副次処理コアに取り付けられたクライアント装置から受信する段階と；
前記主要処理コアが、前記副次コアDNSサーバーからの前記DNS問い合わせを、前記DNSサーバーにルーティングする段階とを含む、
装置。
〔付記２１〕
付記２０記載の装置であって：
前記副次処理コアがDHCPサーバーを含み；
前記副次コアDNSサーバーに関係する副次コアDNSサーバー情報が、前記DHCPサーバーにインストールされ；
前記DHCPサーバーが前記副次コアDNSサーバー情報を含むDHCPオファーを、前記副次処理コアに取り付けられたクライアント装置に送る、
装置。
【図１】
0005815045.tif 000002
【図２】
0005815045.tif 000003
【図３】
0005815045.tif 000004
【図４】
0005815045.tif 000005
【図５】
0005815045.tif 000006
【図６】
0005815045.tif 000007
【図７】
0005815045.tif 000008