JP5480264B2 - キャッシュを使用したセキュアなリソース名前解決 - Google Patents

キャッシュを使用したセキュアなリソース名前解決 Download PDF

Info

Publication number
JP5480264B2
JP5480264B2 JP2011522099A JP2011522099A JP5480264B2 JP 5480264 B2 JP5480264 B2 JP 5480264B2 JP 2011522099 A JP2011522099 A JP 2011522099A JP 2011522099 A JP2011522099 A JP 2011522099A JP 5480264 B2 JP5480264 B2 JP 5480264B2
Authority
JP
Japan
Prior art keywords
identifier
resolution
parameters
parameter
applicable
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
JP2011522099A
Other languages
English (en)
Other versions
JP2011530867A (ja
JP2011530867A5 (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.)
Microsoft Corp
Original Assignee
Microsoft 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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2011530867A publication Critical patent/JP2011530867A/ja
Publication of JP2011530867A5 publication Critical patent/JP2011530867A5/ja
Application granted granted Critical
Publication of JP5480264B2 publication Critical patent/JP5480264B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/742Route cache; Operation thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/58Caching of addresses or names
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/164Implementing security features at a particular protocol layer at the network layer

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)
  • Computer And Data Communications (AREA)

Description

[0001]本発明は名前解決技術に関する。
コンピューター通信ネットワークにおいては、幾つかの異なる技術がネットワークを介してアクセス可能なリソース(資源)の識別のために使用され得る。これらのリソースは、クライアント及びサーバー計算装置などのネットワークに接続されたホストのほか、ルーター、ゲートウェイ、ファイアウォールその他などのネットワークのリソースを含み得る。1つの技術において、リソースは、メディア・アクセス制御(MAC)アドレス又はインターネット・プロトコル(IP)アドレスなどの1つ以上の識別番号によって識別されてもよい。しかし、これらのアドレスがコンピューター間の通信に役立つ一方、そのような識別番号をユーザーが思い出すことはしばしば困難であり、この困難がユーザーにネットワークリソースにアクセスすることを思いとどまらせ得ることが認識されてきた。したがって、リソースはまた、ユーザーによってより容易に思い出されるテキスト識別子(textual identifiers)によってさらに又は代替的に識別されてもよい。リソースを識別するためのテキスト識別子を実施する技術は、NetBIOS、ローカル・リンク・マルチキャスト名前解決(LLMNR)及びドメイン・ネーム・システム(DNS)を含む。
[0002]そのようなテキスト識別子を提供する技術はまた、ユーザーが容易に思い出すテキスト識別子を、計算装置にとって処理することがより容易である数値識別子(numeric identifier)に一致させる(逆もまた同様である)変換(翻訳)サービスを提供してもよい。例えば、DNSにおいて、そのドメイン・ネームによって識別されるリソースとの通信を開始するために、ユーザーが計算装置へテキスト識別子(DNSにおける「ドメイン・ネーム」)を入力する場合、計算装置上のDNSクライアントは、ドメイン・ネームをIPアドレスへ「転換する(resolve)」ためにDNSサーバーに問合せを行う。DNSサーバーは、クエリー(問合せ)を受信すると、ローカルに利用可能な情報によって、又は他のDNSサーバーに問合せを行うことによって、ドメイン・ネームに対応するIPアドレスを見つけ、DNSクライアントに当該IPアドレスを返す。その後、計算装置は、IPアドレスを使用してリソースとの通信を開始することができる。
[0003]幾つかのそのような名前解決技術が悪用され得ることが認識されてきた。例えば、DNSにおいて、攻撃者は、DNSサーバーが正当なIPアドレスをもって応答する前に、攻撃者のリソースのIPアドレスによってDNSクエリーに応答することにより、攻撃者自身のリソース(例えば、攻撃者のサーバー)へ計算装置を誤って導くことができるかもしれない。その後、計算装置は誤って導かれ、正当なリソースではなく攻撃者のリソースに接続する。その後、攻撃者のリソースに接続される間、計算装置は攻撃者に対してデータを開示したり、攻撃者から偽りのデータやマルウェアを受信するかもしれない。
[0004]例えば、ランダム化された識別子をDNSクエリーの各々に含め、クエリーに対する応答にそれらが含まれることを要求することによって、このシナリオの可能性を減少させるために幾つかのセキュリティ技術が実施されてきており、これによって、攻撃者がクエリーのランダム化された識別子を推測又は検出することができない限り、攻撃者がいたずらのアドレスによって応答することを防止することになる。これらのセキュリティ上の問題を解決するために提案された1つのセキュリティ技術は、DNSによって実施される、ドメイン・ネーム・システム・セキュリティ拡張(DNSSEC)プロトコルである。結果を正確なものとして確認することができるように、DNSSECは、証明(認証)機関(CA)によるDNS結果のデジタル署名を提供する。さらに、インターネット・プロトコル・セキュリティ(IPsec)プロトコルとともにDNS又はDNSSECを使用することが、DNSクライアントとDNSサーバーとの間の通信の暗号化及び/又は認証を可能にすべく提案されてきた。
[0005]出願人は、名前解決処理の安全性又は他の側面を制御するために解決パラメーターの組を受け取る、計算装置における名前解決モジュールによって、DNSを含む従来の名前解決技術の安全性が改善され得ることを認識し理解した。
名前解決システムの効率的な動作は以前に解決された識別子のキャッシュにより向上される。例えば、名前解決モジュールがテキスト識別子を入力として受信し、対応する数値識別子を取得する場合、数値識別子はキャッシュに格納されてもよく、キャッシュ中の当該識別子は新たな要求に応答するために使用されてもよい。以前に解決された識別子を格納することに加えて、キャッシュは、それらの識別子が解決されたパラメーターを格納してもよく、当該パラメーターはキャッシュ中の識別子の有効性及び安全性を決定するために後に使用されてもよい。そのような実施例において、キャッシュに入れられた情報が識別子を解決するために使用される前に、キャッシュに入れられた識別子が解決されたパラメーターが入力識別子の解決のために指定された現在のパラメーターと一致するかどうかを決定するためにチェックがなされてもよい。例えば、キャッシュに入れられたパラメーターが現在のパラメーターと少なくとも同じくらい強い安全性を提供するかどうかが決定されてもよい。キャッシュに入れられた識別子が取り出された(検索された)パラメーターが新たな要求のために必要とされるパラメーターと少なくとも同じくらい安全(セキュア)な場合、当該識別子がキャッシュから返されてもよい。
[0006]幾つかの実施例において、ネットワークリソースの第1の識別子を入力として受信するステップと、第1の識別子に適用される適用可能な解決パラメーターの組を決定するために解決パラメーターの組の集合を調べるステップと、適用可能な解決パラメーターの組を使用してネットワークリソースの第2の識別子を得るステップとを含む方法が提供される。本方法は、第2の識別子と、当該第2の識別子を得る際に使用される適用可能な解決パラメーターの組についての少なくとも1つの識別子とを、キャッシュに格納するステップをさらに含む。
[0007]他の実施例において、実行されるとコンピューターに方法を行わせるコンピューター実行可能命令で符号化された少なくとも1つのコンピューター読み取り可能な記憶媒体が提供される。当該方法は、ネットワークリソースの第1の識別子を入力として受信するステップと、第1の識別子に適用される適用可能な解決パラメーターの組を決定するために解決パラメーターの組の集合を調べるステップと、第1の識別子に対応する第2の識別子がキャッシュ中に存在するか否かを決定するために識別子のキャッシュの内容をレビューする(読み取る、見直す、review)ステップとを含む。キャッシュは、キャッシュ中の各識別子について、第2の識別子が得られた格納された解決パラメーターを含む。本方法は、第2の識別子が存在する場合、第2の識別子が得られた格納された解決パラメーターを適用可能な解決パラメーターの組と比較するステップと、格納された解決パラメーターが適用可能な解決パラメーターの組と一致する場合、キャッシュから第2の識別子を返すステップとをさらに含む。
[0008]また、さらなる実施例において、ネットワークリソースの第2の識別子及び当該第2の識別子を取り出す(検索する)ために使用された解決パラメーターの組の少なくとも1つの識別子を含むデータ構造の複数のインスタンスを格納するように構成された、少なくとも1つの有形のコンピューター読み取り可能な記憶媒体、及び、名前解決処理を実行するように構成された少なくとも1つのプロセッサーを備える装置が提供される。名前解決処理は、ネットワークリソースの第1の識別子を受信するステップと、解決処理を管理するために適用可能な解決パラメーターの組を決定するステップと、第2の識別子のうちのいずれかが第1の識別子に対応するか否かを決定するためにデータ構造の複数のインスタンスをレビューするステップとを含む。当該処理は、第2の識別子のうちのいずれかが第1の識別子に対応する場合、第2の識別子を取り出すのに使用された解決パラメーターの組の少なくとも1つの識別子が適用可能な解決パラメーターの組と一致するか否かを決定するステップと、格納された解決パラメーターが適用可能な解決パラメーターの組と一致する場合、キャッシュから第2の識別子を返すステップとをさらに含む。
[0009]前述のものは本発明の限定的でない概要であり、本発明は添付の特許請求の範囲によって規定される。
[0010]添付の図面は縮尺どおりに描かれるようには意図されない。図面においては、様々な図中に示される同一又はほぼ同一のコンポーネントの各々は同様の数字によって表される。明瞭にするために、すべての図面においてすべてのコンポーネントがラベル付けされなくともよい。
[0011]本明細書に記載された原理のうちの幾つかによって動作する技術が作用し得る例示的なコンピューター・システムを示す。 [0012]本明細書に記載された原理のうちの幾つかによって実施され得る例示的な解決パラメーターのテーブルを示す。 本明細書に記載された原理のうちの幾つかによって実施され得る例示的な解決パラメーターのテーブルを示す。 [0013]本明細書に記載された原理のうちの幾つかによって実施され得る名前解決を行う例示的な処理のフローチャートである。 [0014]本明細書に記載された原理のうちの幾つかによって実施され得る1組の適用可能な解決パラメーターを識別する例示的な処理のフローチャートである。 [0015]本明細書に記載された原理のうちの幾つかによって実施され得る、数値識別子へテキスト識別子を転換する例示的な処理のフローチャートである。 [0016]本明細書に記載された原理のうちの幾つかによって実施され得る名前解決処理の結果として、キャッシュに格納された識別子が返されてもよいかどうかを決定する例示的な処理のフローチャートである。 [0017]本明細書に記載された原理のうちの幾つかによって実施され得る解決パラメーターの組を確立する例示的な処理のフローチャートである。 [0018]解決パラメーターが入力され得る例示的なユーザー・インターフェースを示す。 [0019]本明細書に記載された原理のうちの幾つかによって動作する技術を実施し得る例示的な計算装置のコンポーネントのブロック図である。 [0020]本明細書に記載された原理によって動作する技術の1つ以上に従って実施され得るモジュールの相互動作性の例示的な方法の図である。
[0021]出願人は、DNSを含む従来の名前解決技術のセキュリティが改善され得ることを認識し理解した。さらに、従来の名前解決技術は、単一のネットワークインターフェース及びネットワーク・ハードウェアの単一の組を介して幾つかのネットワークに接続するための方法で動作するように設計されておらず、したがって、オーバーレイ・ネットワークの成長が抑止される。
[0022]例えば、DNSSECはDNSクエリーの結果が正当であることを保証するために提案されているが、それは多数が受け入れられないと分かった2つの条件に依存する。第1に、DNSSECを扱うために、DNSクエリーに応答することに関与するDNSサーバーの各々(それらは異なる位置にあってもよく、異なるパーティによって管理され得る)を実施しなければならず、それは、全体のインターネットに対するロールアウト(公表)を困難にする。第2に、DNSクライアントは、正常なDNSでのようにクエリーの解決に対するほとんどの責任をフル・リゾルバー(full resolver)(DNSサーバー)へ渡す「スタブ・リゾルバー(stub resolver)」ではなく、フル・リゾルバーとして実質的に働く必要がある。結果に署名する際に使用される証明書を発行した証明機関(CA)が信頼されるべきものかどうか判断するために結果についてデジタル署名を検査することにより、DNSクライアントに返された結果の各々が正当で正しいことを保証することに対してDNSクライアントが責任をもつことになるので、このことは、クライアントに対して処理を追加した。DNSクライアントを実行するクライアント計算装置にこの責任を置くことは、計算装置に過度な負担をかける危険を有しており、これはパーソナル・デジタル・アシスタント(PDA)及び携帯電話などのそれほど強力でない計算装置において特に懸念される。クライアントからこの負担を取り除くために、それはサーバー又は他のネットワークリソースに置かれてもよい。
[0023]さらに、従来の名前解決技術はオーバーレイ・ネットワークが存在し得る状況で動作するようには構成されていない。過去においては、計算装置は専用のネットワークインターフェースによって各ネットワークに接続され、そのネットワークインターフェースは、ユーザーによって構成され、及び/又は、ネットワークによって実施される名前解決技術をサポートするためのインターフェースを構成することを含む、ネットワークとの相互作用のための各ネットワーク上の装置によって構成された。例えば、ラップトップなどの計算装置が有線ネットワークに接続される場合、ネットワーク上のダイナミック・ホスト・コンフィギュレーション・プロトコル(DHCP)サーバーは、構成パラメーターの中で特に、IPアドレス、ゲートウェイの識別子及びDNSサーバーの識別子を計算装置に提供していた。テキスト識別子を使用したそのインターフェースを介した如何なる通信も、その後、DNSサーバーによって解決された。計算装置が異なるネットワークに接続したり異なる名前解決技術を使用したりすることを望んだならば、別個のインターフェースが構成されなければならなかった。例えば、第2の有線インターフェースを使用したり、又は無線インターフェースを使用したりすることがあり得た。
[0024]出願人は、現在のネットワークにおいて、「オーバーレイ」ネットワークがより一般的になっていることを認識し理解している。これらのオーバーレイ・ネットワークは同じハードウェア上で既存のネットワークと共存するように構成され、既存のハードウェア・ネットワークの上の論理的なオーバーレイである。オーバーレイ・ネットワークに接続されたネットワーク装置の各々もまた、既存のローカルエリアネットワーク及び/又は既存の広域ネットワークのような1つ以上の既存のハードウェア・ネットワークに接続される。そのようなオーバーレイ・ネットワークは、例えば、マイクロソフト・ダイレクト・アクセスを使用して、様々な方法のうちの任意のものにおいて実施され得る。したがって、オーバーレイ・ネットワークは1つ以上の他のネットワークの制限されたサブグループと考えられてもよい。
[0025]これらの技術を使用すると、所与のハードウェア・ネットワークに接続する計算装置は、したがって、単一のインターフェースを介して基本的なネットワーク及び1つ以上のオーバーレイ・ネットワークを含む複数のネットワークに同時に接続することができる。計算装置(例えば、DNSサーバー)が名前解決のために通信するべき名前解決プロトコルの種類又はネットワークリソースが、基本的なネットワークの名前解決技術と比較してオーバーレイ・ネットワークにとっては異なってもよいので、従来の名前解決技術はそのようなネットワークをサポートすることができない。さらに、幾つかのネットワークが、そのネットワーク上の幾つかのリソースにアクセスする方法−例えば、ある保護されたサーバー又は他のネットワークリソースの位置/識別−についての幾つかの情報を秘密にして、その情報が潜在的な攻撃者に与えられえることを避けることができるので、特定のサーバー又は他のリソースは、名前解決クエリーの所望の結果の唯一の可能なソースとなり得る。代替的に、特定のネットワークリソースは、オーバーレイ・ネットワークの外部で知られていないか、又はオーバーレイ・ネットワークの外部の別のリソースのテキスト識別子の複製である識別子を有していてもよく、特定のサーバー又は他のリソースは、特定のネットワークリソースにとって名前解決クエリーの所望の結果の唯一の可能なソースであってもよい。したがって、名前解決処理中に計算装置が特定のサーバー又は他のリソースとコンタクトすることが必要かもしれず、これは、たとえオーバーレイ・ネットワークが同じ名前解決技術を使用するとしても、オーバーレイ・ネットワーク上の通信について、基本的なハードウェア・ネットワークとは異なっていてもよい。このため、計算装置がオーバーレイ・ネットワークの各々と通信できるように、計算装置の1つのネットワークインターフェースが、複数のオーバーレイ・ネットワークの各々についてDNSサーバーの複数のアドレスを保持することが必要となり得る。これは、従来の計算装置、ネットワーキング技術及び名前解決技術では可能ではない。
[0026]名前解決技術を安全なものとし、単一ネットワークインターフェースを介してアクセス可能な複数のオーバーレイ・ネットワークを有する現在のネットワークにおいて名前解決技術が機能できることを保証するための原理が本明細書に記載される。幾つかの実施例において、エンドユーザー及び/又は管理者などのユーザーは、インターフェースによってアクセス可能なネットワークの名前解決技術を使用して名前を解決するために、計算装置の1つの、幾つかの又はすべてのネットワークインターフェースによる使用のために計算装置に適用され得る解決パラメーターの組を編集(コンパイル)してもよい。その後、これらの解決パラメーターは、インターフェースによって行われた名前解決処理を管理してもよい。例えば、幾つかのそのような実施例において、他の名前解決技術並びに他の種類のネットワーク及びセキュリティ技術が使用されてもよいことが認識されるべきであるが、解決パラメーターはDNSSECパラメーター及び/又は直接(ダイレクト)アクセスに関するパラメーターを指定してもよい。これらの解決パラメーターは、例えば、名前解決モジュールによって検討されて名前解決クエリーを組み立てるために使用され得る規則のテーブルに、任意の方法で格納されてもよい。
[0027]解決パラメーターは、名前解決処理を行う方法についての如何なる適切な情報を含んでもよい。さらに、使用される特定のパラメーターは、名前解決が求められるネットワークの種類に依存してもよい。例えば、DNSSECが名前解決技術として使用されるネットワークについて、パラメーターは、どのドメインに解決パラメーターが適用されるか、サーバーが応答を認証したことを確認すべきか否か、サーバーと通信する際に暗号化を使用すべきか否か、どの種類の暗号化を使用すべきか、結果に署名するためにどの証明機関を信頼すべきか、及び、どのDNSサーバーが結果について問い合わせられるべきかなどの、セキュリティパラメーターを含み得る。別の例として、ダイレクト・アクセスを使用して実施されるものなど、オーバーレイ・ネットワークについて、どのネットワーク/ドメインに対して解決パラメーターが適用されるか、どのDNSサーバーが結果について問い合わせられるべきか、暗号化が使用されるべきか、どの種類の暗号化が使用されるべきか、結果に署名するためにどの証明機関を信頼すべきか、及び、オーバーレイ・ネットワークと通信するときにどのプロキシー・サーバーが使用されるべきかなど、解決パラメーターが実施される。如何なる適切な解決パラメーターも、それらが実施され得るネットワーク及び名前解決技術に依存して使用することができる。
[0028]本明細書において使用されるとき、名前解決処理は、任意の適切な名前解決プロトコルに従って、テキスト識別子に対応する数値識別子を決定したりその逆を行ったりするために適した任意の技術であってもよい。以下に概説される例において、ドメイン・ネーム・サービス(DNS)プロトコルは名前解決プロトコルの例として使用されてもよく、名前解決処理はDNSプロトコルに従うものとして記載されてもよい。しかし、DNSが本明細書に記載された原理によって動作する技術が動作し得る名前解決プロトコルの一例にすぎず、本発明の実施例はこの点に限定されないので、任意の適切な名前解決プロトコルが実施され得ることが認識されるべきである。
[0029]本明細書における例の多くは入力テキスト識別子に対応する数値識別子を決定するコンテキストにおいて記載されるが、幾つかの実施例において、追加的に又は代替的に、数値識別子を入力としてとり、対応するテキスト識別子を決定する名前解決処理が実施されてもよいことが認識されるべきである。さらに、以下に概説される例は、テキスト識別子及び数値識別子の一対一対応で動作する技術−例えば、単一のテキスト識別子に対応する単一の数値識別子を決定する−について記載しているが、これが単なる1つの例示的な実施例であり、幾つかの実施例において、テキスト識別子が複数の対応する数値識別子を有してもよく、数値識別子が複数の対応するテキスト識別子を有してもよいことが認識されるべきである。
[0010]本明細書に記載された技術は様々なコンピューターシステムにおいて実施され得るものであり、それらの例は、より詳細に以下に記載される。そのようなシステムは、一般に、多くの機能モジュールを実施する適切に構成された計算装置の使用を含み、各々の機能モジュールはそのような技術の実行を完了するために必要とされる1つ以上の動作を提供する。各機能モジュールはそれ自身の方法で実施することができ、すべてを同じ方法で実施する必要はない。本明細書において使用されるとき、機能モジュールは動作上の役割を行うシステムの構造コンポーネントである。動作上の役割は全ソフトウェア要素の一部であってもよい。例えば、機能モジュールは、処理、離散処理又は他の適切な処理ユニットの機能を行ってもよい。機能モジュールはコンピューター実行可能命令を含み、コンピューター記憶媒体上で符号化されてもよい。さらに、そのようなコンピューター実行可能命令は、多くの適切なプログラミング言語並びに/又はプログラミングツールもしくはスクリプトツールのうちの任意のものを使用して書かれてもよく、フレームワーク又は仮想コンピューター上で実行される実行可能な機械語コード又は中間コードとしてコンパイルされてもよい。機能モジュールは、必要に応じて、並列に又は連続的に実行することができ、メッセージ受け渡しプロトコル(message passing protocol)を使用して又は任意の他の適切な方法で、それらが実行されているコンピューター上の共有メモリーを使用して互いとの間で情報を受け渡すことができる。記載される機能モジュール及びタスクの分割は本明細書に記載される例示的な技術を実施し得る機能モジュールの種類の実例にすぎず、本発明は如何なる特定の数、分割又は種類の機能モジュールにおいて実施されるものにも限定されないことが認識されるべきであるが、1つ以上のタスクを実行する例示的な機能モジュールが以下に記載される。幾つかの実施例において、すべての機能が単一の機能モジュールにおいて実施されてもよい。さらに、明瞭にするために、以下においては、機能モジュールが、1つ又は2つの計算装置においてすべて実行されるように記載されているが、幾つかの実施例において、機能モジュールが互いに通信するように構成された多くの別個の計算装置上で実施され得ることが認識されるべきである。例えば、1つの計算装置が、入力モジュールを実行して、テキスト識別子などの第1の識別子を受信し、当該テキスト識別子に対応する数値識別子を決定するための名前解決処理を行うために第2の計算装置上の名前解決モジュールと通信するように構成されてもよい。
[0030]本明細書に記載された原理の1つの例示的な実施例において、計算装置上で実行されるソフトウェア・アプリケーションは、ソフトウェア・アプリケーションが接続を確立したい所望のネットワークリソースのテキスト識別子についての入力をユーザーから受け取ってもよい。例えば、ソフトウェア・アプリケーションはウェブ・ブラウザーであってもよく、テキスト識別子はウェブサイトのドメイン・ネームであってもよく、ネットワークリソースはウェブサイトをホストするウェブサーバーであってもよい。所望のネットワークリソースに対する接続を開くために、ソフトウェア・アプリケーション又は接続モジュールは、数値識別子をネットワークリソースについて使用し、そのため、名前解決モジュール(ここでは「解決モジュール」とも呼ばれる)は、テキスト識別子を、IPv4又はIPv6フォーマットのIPアドレスなどのネットワーク・アドレスとして作用する数値識別子へ変換してもよい。
[0031]したがって、ネットワークリソースのテキスト識別子は、数値識別子を得るための名前解決処理を行うように構成された名前解決モジュールに渡され、その後、名前解決モジュールはソフトウェア・アプリケーションに数値識別子を返してもよい。しかし、名前解決処理を行う前に、解決モジュールは、もしあれば、解決パラメーターの組のどれが実行されるべき名前解決処理に適用されるかを決定するために、一群の解決パラメーターの組(解決パラメーターの組の集合)をレビュー(読み取る、見直す、review)してもよい。この集合は、任意の適切なフォーマットで、メモリーなどのコンピューター記憶媒体を含む任意の適切な方法で格納されてもよい。パラメーターの組のどれが適用されるかを決定するべく集合をレビューするために、解決モジュールは、メモリーから集合のうちの幾つか又はすべてを取り出し(検索し)、例えば、入力識別子を、解決パラメーターの特定の組がどのネットワークリソースに適用されるかを示す組のうちの幾つか又はすべてのパラメーターと比較することを含む、任意の種類の比較処理を行ってもよい。
[0032]集合における解決パラメーターの各組は1つ以上のネットワークリソースに適用され、それらが適用されるネットワークリソースの識別子を名前解決処理が決定する方法を管理してもよい。これらの解決パラメーターは、名前解決処理が実行される方法に影響し得る、上述の例示的なパラメーターのうち任意のものを含む、任意の適切なパラメーターを含んでもよい。例えば、名前解決パラメーターの各組は、特定のDNSサーバーなど、数値識別子を決定するために解決モジュールが通信するべき特定の解決リソースを指定してもよい。
[0033]解決モジュールによる集合のレビューは任意の適切な方法で行われてもよい。1つの実施例において、レビューは、識別子間に一致が存在するか否かを決定するために解決パラメーターの組の各々についての識別子とテキスト識別子を比較することを含んでもよい。例えば、1組の解決パラメーターの識別子は「*.corp.contoso.com」などのDNSサフィックス(suffix)であってもよく、識別子の後半部分と一致する如何なるテキスト識別子も、それらの解決パラメーターが適用されるものである。したがって、入力テキスト識別子が「webserver.corp.contoso.com」である場合、その組はその識別子に関連付けられた1組のパラメーターであり、1組の適用可能な解決パラメーターと考えることができる。適用可能な解決パラメーターの1つ以上の組が一旦決定されると、名前解決処理は適用可能な解決パラメーターに従って行われてもよい。例えば、パラメーターがDNSサーバーのような特定の解決リソースを指定する場合、その解決リソースに対する接続が確立される;使用すべき暗号化のレベルをパラメーターが指定する場合、名前解決リソースとの通信はそのレベルの暗号化を使用する。
[0034]適用可能なパラメーターを使用して解決リソースへの接続を解決モジュールが一旦確立したならば、テキスト識別子を含み対応する数値識別子を要求する解決要求が当該接続を介して解決リソースに対して発行される。解決リソースは、対応する数値識別子を決定するために、それがローカルに保持する情報を調べたり、又は、適用可能な解決パラメーターに従って別の解決リソースへ要求を転送したりするなど、当技術において知られている様々な処理のうちの任意のものを含む任意の適切な処理を行ってもよい。一旦解決リソースが数値識別子を決定したならば、解決リソースは数値識別子に対して任意の適切な認証プロセスも行ってもよい。例えば、数値識別子を決定し、かつ結果を認証するために使用することができる有効な証明書を提供すると信頼される1つ以上の特定の認証機関を指定するために、DNSSECが使用されるべきであると、適用可能な解決パラメーターが指示する場合、解決リソースは、認証処理中、当該1つ以上の特定の認証機関のうちのいずれかによって発行された証明書を使用して結果が署名されたかどうかを決定してもよい。そうであるならば、解決リソースは、解決要求の結果として、計算装置上の解決モジュールに数値識別子を提供してもよい。その後、解決モジュールは、結果が適用可能な解決パラメーターに従って生成されたことを確認し、所望のネットワークリソースへの接続を確立する際に使用するためのソフトウェア・アプリケーションに対して結果を提示してもよい。他方、結果が指定された証明書を使用して署名されなかった場合には、その結果は廃棄されるか、又はそれが解決パラメーターに従って署名されなかったことの指示とともに解決モジュールに提供されてもよい。
[0035]幾つかの異なる利点が、本明細書に記載された原理に従って名前解決処理を行うことにより提供されてもよい。まず、解決パラメーターの組の集合を維持することによって、名前解決処理は、解決処理が安全であること及び結果が信頼できることを保証するために解決パラメーターでパラメーター化することができる。例えば、従来の名前解決技術において、計算装置は、特定の結果からの結果が正当であることを信頼しなければならなかったが、集合からの解決パラメーターは、計算装置内の解決モジュールが、応答が正当であるという高い確信をもって所望のネットワークリソースの識別子(数値又はテキスト)を得るため、特定の信頼された解決リソースに問合せを行うことを可能にする。さらに、解決モジュールは、指定された解決リソースが当該モジュールが求めている対応する識別子を有していることをより確信することができる。さらに、解決パラメーターの集合を使用することによって、例えば、暗号化が使用されるべきか否か、どの種類の暗号化を使用すべきか、及び、どのように暗号化を認証すべきかを指定することによって、解決処理はより安全にすることができる。さらに、通信すべき特定の解決リソースを指定することによって、幾つかの機能が、扱うために構成されていると集合が示す、解決リソースなどのネットワークリソースに押しつけられてもよいので、集合は、計算装置上の解決モジュールがより少数の機能を実行し、計算装置に対してそれほど負担とならないようにすることを可能にする。例えば、1つの例示的なDNSSEC実施例において、幾つかの認証プロセスは、DNSサーバーのようなネットワーク中の解決リソース上で行われてもよい。集合を有する解決モジュールはDNSSECタスクを行うことができる特定の解決リソースとコンタクトすることを知る。さらに、集合を使用して、解決モジュールは、オーバーレイ・ネットワーク中のネットワークリソースのテキスト識別子のために特定の解決リソースとコンタクトしたり、特定の安全(セキュア)なネットワークリソースに関連する識別子を交換するために安全な通信チャネルを使用するなど、異なる入力識別子について異なる名前解決処理を行うことができる。
[0036]本明細書に記載された原理に従って動作するこれらの及び他の技術の追加の機能及び利点は、以下に述べられる例からより完全に理解される。以下の例は、本発明についての理解を容易にし、かつ本明細書に記載した原理の利点を説明するように意図されるが、本発明の実施例の完全な範囲を例示するものではない。
[0037]本明細書に記載された原理に従って動作する技術は、任意の適切な数及び種類のネットワークリソースを含む、任意の適切な数及び種類の計算装置を含む任意の適切なコンピューター・システムにおいて実施することができる。図1は、本明細書に記載された原理の幾つかの例示的な実施が作用し得る、実例となるコンピューター・システムを示す。しかし、他の実施例が任意の他の適切なコンピューター・システムにおいて動作してもよいことが認識されるべきである。
[0038]図1は、ユーザー装置、計算装置102、が接続し得る通信ネットワーク100を含むコンピューター・システムを示す。通信ネットワーク100は、ホームネットワーク、企業ネットワークのサブネット、インターネット及び/又は他のものなど、より大きな有線及び/又は無線ネットワークの一部を含む任意の適切な有線及び/又は無線ネットワークであってもよい。計算装置102はデスクトップパソコンとして示されるが、ラップトップパソコン、PDA、スマートフォン、サーバー、ラックマウントのコンピューター、ルーターもしくは交換機などのネットワーク装置、又は他の計算装置などの、任意の適切な計算装置であってもよい。
[0039]計算装置102は、解決パラメーターの組の集合を格納するデータ・ストア104に結合される。データ・ストア104は任意の適切なコンピューター記憶媒体上に符号化され、任意の適切なフォーマットで情報を格納してもよい。データ・ストア104に格納された情報の中には、入力テキスト識別子に対応するネットワークリソースの数値識別子を決定するなど、入力第1識別子に対応する第2の識別子を決定するために名前解決処理を管理するために使用することができる解決パラメーターがある。上述のように、解決パラメーターは名前解決処理中に使用され得る任意の適切な情報を含んでもよい。計算装置102は、通信ネットワーク100に接続されたネットワークリソースへの接続を形成するために解決パラメーターが使用されるそのような名前解決処理を実施する1つ以上の機能モジュールを実行するように構成されてもよい。
[0040]データ・ストア104に格納された解決パラメーターの組の集合は、任意の適切なユーザー・インターフェースを使用して計算装置102に対してローカルなユーザーによって入力されること及び/又は計算装置106を使用して管理者によって遠隔に提供されることを含む、様々な方法のうちの任意の方法で提供することができる。一例において、管理者は、計算装置106において解決パラメーターを指定し、任意の適切なネットワーク管理技術を通じて計算装置102にそれらを押し付けてもよい。例えば、通信ネットワーク100がワシントン州レドモンドのマイクロソフト株式会社から利用可能なマイクロソフト・ウィンドウズ(登録商標)・ネットワークを含む場合、管理者は、アクティブ・ディレクトリー・プロトコルを介したグループ・ポリシーを使用して、解決パラメーターを押し出すためにドメインコントローラーを使用してもよい。しかし、これが実施され得るネットワーク管理技術の例にすぎず、任意の適切な技術をネットワーク上で利用可能なリソースに従って使用することができることが認識されるべきである。
[0041]計算装置102は、ネットワークリソース108などのネットワークリソースの識別子(数値又はテキスト)を決定する名前解決処理を行うために解決パラメーターの組の集合を使用してもよく、それは、任意の種類のサーバーなどの、ネットワークを介してアクセス可能な任意の計算装置であってもよい。そうするために、計算装置102は、ネットワークリソース108の第1の識別子の入力を受信すると、適用可能な解決パラメーターの組を決定するためにデータ・ストア104に格納された解決パラメーターの組の集合を調べ、次に、適用可能な解決パラメーターの組によって管理された名前解決処理を行ってもよい。名前解決処理中に、ネットワークリソース108の1つ以上の識別子を決定するために、計算装置102上で実行される解決モジュールは、名前解決リソース110と通信してもよい。如何なる適切な名前解決処理も、以下に述べられる例示的な名前解決処理のうちの任意のものを含む、本明細書に記載された原理に従って実行することができる。そのような処理は、解決リソース110として任意の適切なネットワーク装置による任意の適切な方法での情報の交換を含み得る。解決リソース110はサーバーとして図1に示されているが、パーソナルコンピューターなどの多目的の装置及びハードウェア名前解決装置などの単一目的の装置を含む解決リソースとして任意の適切な計算装置が使用され得ることが認識されるべきである。
[0042]幾つかの実施例において、通信ネットワーク100は単一ネットワークでなくてもよいが、その上で1つ以上のオーバーレイ・ネットワーク100Aがインスタンス化されるハードウェア・ネットワークであってもよい。オーバーレイ・ネットワーク100Aは全体的に通信ネットワーク100を実施するハードウェア上でインスタンス化されてもよいし、又は通信ネットワーク100で使用されるハードウェア上で動作してもよい。オーバーレイ・ネットワーク100Aはルーター及び交換機などのネットワーク・ハードウェアを通信ネットワーク100と共有してもよいが、クライアント計算装置及びサーバー計算装置など、幾つかのネットワークリソースがあってもよく、それらはハードウェアを介して通信ネットワーク100に接続されるが、オーバーレイ・ネットワーク100Aの部分でない装置にとってはアクセス可能でない。
[0043]上述のように、これらの特定の解決リソースのみがオーバーレイ・ネットワーク100A上で利用可能なネットワークリソースについての知識を有しているので、オーバーレイ・ネットワーク上のネットワークリソースと通信するために、計算装置102は、オーバーレイ・ネットワーク100A上で利用可能なネットワークリソースに関する情報を有する特定の解決リソースと通信しなければならないかもしれない。そのような実施例において、解決パラメーターの組の集合は、ネットワークリソース108などのネットワークリソースの識別子を得るために名前解決処理中に計算装置102が通信することができる1つ以上の特定の解決リソース110Aを指定してもよい。集合における解決パラメーターの組のうちの幾つか又はすべてはオーバーレイ・ネットワーク100Aのネットワークリソースと一致する識別子を有してもよい。計算装置102の解決モジュールが適用可能な解決パラメーターの組を決定するために集合をレビューする場合、適用可能な解決パラメーターは所望のネットワークリソースの識別子が特定の解決リソース110Aから取り出され得ることを示してもよい。したがって、計算装置102によって実行される名前解決処理は、適用可能な解決パラメーターの組でパラメーター化される場合、所望のネットワークリソース108の識別子を取り出すために、特定の解決リソース11OAと通信してもよい。このレビュー及び名前解決処理は、以下に述べられる例示的な技術のうちの任意のものを含む、任意の適切な方法で、実行されてもよいことが認識されるべきである。
[0044]さらに、幾つかの実施例において、適用可能な解決パラメーターはまた、ネットワークリソース108に対する通信がプロキシー・サーバー112を介して行われるべきであることを明示してもよい。その後、ネットワークリソースの第2の識別子を返す際に、解決モジュールは、さらに又は代替的に、プロキシー・サーバー112について、数値又はテキストの識別子などの識別子を返してもよい。
[0045]上述されるように、解決パラメーターの組は名前解決処理を行う際に使用され得る任意の情報を含み得る。図2A及び2Bは、2つの例示的なネットワーキング技術を用いて本明細書に記載された原理に従う幾つかの実施例において使用され得る解決パラメーターの組の集合を格納する例示的なデータ構造を示す。さらに、図2A及び2Bは2つの異なる技術に関連するパラメーターを含む2つの異なる集合を示すが、幾つかの実施例において、これらの技術が解決パラメーターの同じ組において実施され得ることが認識されるべきである。さらに、集合は任意の適切なデータ構造として実施されてもよく、幾つかの実施例では、1つ以上の組の解決パラメーターの組に関連する情報を各々が格納する他のデータ構造を含んでもよい。これらのデータ構造は、名前解決を要求し得るクライアント計算装置に関連付けられるコンピューター読み取り可能な記憶媒体に格納されてもよい。任意の種類のネットワーキング技術が使用されてもよいので、図2A及び2Bに示されるデータ構造及びそれらが格納するパラメーターは、使用され得るデータ構造及びパラメーターの種類の実例にすぎないことが認識されるべきである。
[0046]図2Aは、集合中の解決パラメーターの2つの例示的な組を備えた、解決パラメーターの集合200Aを格納する第1のデータ構造を示す。図2Aで示されるように、幾つかの実施例において、解決パラメーターの集合は、複数のフィールド及び行を含むテーブルとして組織されてもよく、各フィールドは解決パラメーターの種類を指定し、各行は解決パラメーターの組を指定するが、任意の適切なフォーマットを使用することができるので、他の実施例が可能である。集合200Aに示される例示的な解決パラメーターは、DNSSECプロトコルを使用すべきか否か、他のDNSセキュリティパラメーターを実施すべきか否か又はどのように使用すべきかなど、DNS解決処理に関連するパラメーターを含む。しかし、上述のように、任意の適切な名前解決プロトコルを使用し得るので、DNSが、本明細書に記載した原理が動作し得る名前解決技術及びプロトコルの種類についての単なる例示的なものであることが認識されるべきである。
[0047]図2Aに示される第1の実例となる解決パラメーターは「ネーム(名前)」パラメーター202である。このパラメーター202は、解決パラメーターの組がどの識別子に適用されるかを示し、したがって、当該解決パラメーターの組がどのネットワークリソースに適用され得るかを示す。入力識別子の所与の解決処理に対して集合におけるどの解決パラメーターの組が適用されるかを決定するために、ネーム・パラメーター202は、解決モジュールによって使用されてもよい。ネーム・パラメーター202は、任意の数値又はテキスト識別子を含む、ネットワークリソースの任意の識別子を格納し得る。例えば、数値識別子は、IPアドレス「1.2.3.4」などの、特定のネットワークリソースの識別子であってもよいし、又はIPアドレスサブネット「157.0.0.0/8」などの、ある範囲のネットワークリソースの識別子であってもよい。同様に、ネーム・パラメーターに使用され得るテキスト識別子は、「itweb.contoso.com.」のような十分に適格なドメイン・ネーム(fully qualified domain name、FQDN)などの、特定のネットワークリソースの識別子であってもよいし、又は「*.contoso.com」のようなDNSサフィックスもしくは「itweb.*」のようなDNSプレフィックス(prefix)などの、ある範囲のネットワークリソースの識別子であってもよい。
[0048]図2Aに示される次の解決パラメーターはDNSSECパラメーター204である。より具体的には、例示的な「DNSSEC」パラメーターは、ネーム・パラメーターと一致するネットワークリソースの解決処理でDNSSEC認証が必要であることを示す、2進値(オン又はオフ)を格納する。1組の解決パラメーターのDNSSECパラメーター204がオン/真に設定される場合、解決リソースはDNSSECプロトコルに従って解決処理を行い、如何なる結果も解決パラメーターに従って認証されることを保証してもよい。解決処理を実行する解決モジュールはまた、DNSクエリーの如何なる結果もDNSSEC基準に従って認証されていることを保証してもよく、送信されたDNS要求において、例えば、「DNSSEC OK」(DO)フラグを要求のヘッダーに設定することによって、DNSSEC認証が要求されたことを示してもよい。
[0049]次のパラメーターは、計算装置間、例えばDNSクライアント及びDNSサーバー又は他の装置の組の間でのDNS交換のセキュリティに関連する。第1のパラメーター、「IPsec上のDNS」パラメーター206、は、名前解決処理のための通信チャネル上でIPsecを実施すべきかどうかを示す、2進の(オン/オフ又は真/偽)値を格納してもよい。例えば、IPsecパラメーターが真に設定される場合、名前解決リソースへの接続を確立するとき、解決モジュールは暗号化及び/又は認証処理を行ってもよい。1組の解決パラメーターについての「IPsec上のDNS」がオン/真に設定される場合、その後、解決モジュールは、IPsecプロトコルのための設定を決定するために当該組の他のパラメーターを調べてもよい。次の2つのパラメーター、「IPsec暗号化レベル」208及び「IPsec CA」210は、そのようなパラメーターの例である。「IPsec暗号化レベル」は、暗号化が使用されるべきかどうか、及び/又はどの種類の暗号化を使用すべきかを指定する任意の値を格納してもよい。「IPsec暗号化レベル」パラメーター208は、特定の種類の暗号化を示す無(None)/低(Low)/中間(Medium)/高(High)の値を格納してもよく、例えば、「低」は、3重データ暗号化規格(Triple Data Encryption Standard、3DES)又は任意のサイズのアドバンスト・エンクリプション・スタンダード(AES)暗号化を示してもよく、「高」は、192又は256ビットのAES暗号化を示してもよい。代替的に、IPsec暗号化レベルは、AES(256)などの特定の暗号化標準への参照を格納してもよい。「IPsec CA」210は、解決リソースのための認証証明書を発行すると信頼される1つ以上の認証機関の識別子を格納してもよい。設定されると、IPsecの認証処理中に、解決モジュールは信頼された解決リソースへの信頼されたCAのうちの1つによって発行された認証証明書によって解決結果が認証されることを確認してもよい。さらに、DNSSECが作動される場合、その後、DNSサーバーからの応答は、当該応答中の拡張キー使用(EKU)署名が信頼されたCAのうちの1つに由来するか否か及びしたがって結果を生成したDNSサーバーが、計算装置に代わってDNSSEC認証を行うために、解決パラメーターによって認証されることを決定するためにチェックされる。
[0050]図2Aに示される最後のパラメーター、「DNSサーバー」212、は、解決モジュールが解決処理中に通信するべき1つ以上のDNSサーバーのリストを格納してもよい。解決モジュールへ入力される識別子が解決パラメーターの組のネーム・パラメーターと一致する場合、その後、解決モジュールは、入力識別子に対応する識別子の「DNSサーバー」パラメーターにリストされた任意のDNSサーバーに問合せを行う。「DNSサーバー」パラメーターは、任意の適切な数値及び/又はテキスト識別子を含む、DNSサーバーへの接続を確立するために使用され得る1つ以上のDNSサーバーのための任意の適切な識別子を格納してもよい。
[0051]図2Aは、集合200Aを形成し得る解決パラメーターの組を格納する2つの実例となるデータ構造を示し、各組は集合のパラメーターとして格納され得る実例となる値を含む。これらの組は使用され得る組の種類の例であり、任意の値がパラメーターとして使用されてもよく、任意の数のパラメーターの組が使用されてもよいことが認識されるべきである。
[0052]図2Bは、解決パラメーターの集合200Bを格納する第2の例示的なデータ構造を示す。図2Aにおけるように、集合200Bは、パラメーターを識別する複数のフィールド及び解決パラメーターの組を識別する複数の行を有するテーブルとして組織されるが、任意のフォーマット(形式)を使用し得ることが認識されるべきである。さらに、図2Bの例では、解決パラメーターは、オーバーレイ・ネットワークについてのマイクロソフト・ダイレクト・アクセス機能に関して使用され得るものを含む。しかし、任意の適切なオーバーレイ・ネットワーキング技術を含む任意の適切なネットワーキング技術を使用し得るので、ダイレクト・アクセスが本明細書に記載した原理が動作し得るネットワーキング技術及びプロトコルの種類の例示的なものにすぎないことが認識されるべきである。
[0053]図2Bに示される第1のパラメーターは「ネーム」パラメーター220である。集合200Aのネーム・パラメーター202と同様、このパラメーターは、解決パラメーターの組が適用され得るネットワークリソースを識別し、入力識別子の所与の解決処理に集合中の解決パラメーターのどの組が適用されるかを決定するために解決モジュールによって使用されてもよい。ネーム・パラメーター220は、集合200Aに関して上に記載された例示的なパラメーターのうちの任意のものを含む、任意の数値又はテキスト識別子を含むネットワークリソースの任意の識別子を格納してもよい。
[0054]図2Bの次のパラメーターは、ダイレクト・アクセス技術に関連する。「ゾーン固有の(Zone-Specific)DNSサーバー」パラメーター222は、オーバーレイ・ネットワーク上で利用可能なネットワークリソースについての名前解決処理の一部として問合せられ得る1つ以上のDNSサーバーの任意の適切な識別子を格納してもよい。上述のように、幾つかのオーバーレイ・ネットワークにおいて、幾つかのネットワークリソースは、オーバーレイ・ネットワークが存在するハードウェア・ネットワーク上のすべての計算装置による一般的なアクセスには利用可能ではないかもしれず、この制限はネットワークリソースの識別子を広く分配しないことにより部分的に強化され得る。オーバーレイ・ネットワーク上のネットワークリソースの識別子を得るために、解決モジュールは解決リソースの1つ又は小さな組とコンタクトしてもよい。したがって、解決モジュールへ入力される識別子が解決パラメーターの組のネーム・パラメーター220と一致する場合、解決モジュールは、ネットワークリソースの対応する識別子を得るために「ゾーン固有のDNSサーバー」パラメーター222に指定されたDNSサーバーとコンタクトしてもよい。
[0055]「ゾーン固有のプロキシー」224は示された次のパラメーターである。ソフトウェア・アプリケーションがオーバーレイ・ネットワーク上のネットワークリソースとコンタクトしていることをソフトウェア・アプリケーションに示し、且つ、その接続を行うためにプロキシー・サーバーを使用するか又はその接続を行うために識別されたプロキシー・サーバーを使用するように当該ソフトウェア・アプリケーションを構成するために、このパラメーター224は、解決モジュールによって使用されてもよい。例えば、ソフトウェア・アプリケーションが特定のネットワークリソースへの接続を望み、適用可能な解決パラメーターの組が、プロキシー・サーバーが使用されるべきであることを解決モジュールに示す場合、解決モジュールはソフトウェア・アプリケーションがプロキシー・サーバーを介してネットワークリソースに接続するべきであることをソフトウェア・アプリケーションに示してもよい。集合200Bのプロキシー・サーバー・パラメーター224は、リソースの数値及び/又はテキスト識別子を含む任意の許容値、プロキシー・サーバーは必要ではないというヌル値(null value)もしくは他の指標、又はデフォルトのプロキシー・サーバー設定がソフトウェア・アプリケーションによって使用されるべきであることを示す値を格納してもよい。
[0056]次のパラメーター、「IPsec上の遠隔(リモート)DNS」226は、暗号化及び/又は認証によるなど、IPsecプロトコルに従ってオーバーレイ・ネットワーク上のネットワークリソースへの接続が保護されるべきかどうかを示すために使用される。集合200Aの「IPsec上のDNS」パラメーター206と同様に、集合200Bの「IPsec上のDNS」パラメーター226は、IPsecを使用するべきかどうかを示す、オン/オフ又は真/偽などの2進値をとってもよい。さらに集合200Aと同様に、「遠隔DNS暗号化レベル」228は、解決リソースへの接続を保証するに際して暗号化を使用すべきか否か及びどんな種類の暗号化を使用すべきかを示す任意の適切な値を格納してもよく、「IPsec CA」230は、解決リソースの認証証明書を発行すると信頼される1つ以上の認証機関の任意の適切な識別子を格納してもよい。
[0057]図2Aと同様に、図2Bはまた、集合200Bを形成し得る解決パラメーターの組を格納する2つの実例となるデータ構造を示し、各々の組は集合のパラメーターに格納され得る実例となる値を含む。これらの組が使用され得る種類の組の例であり、任意の値がパラメーターとして使用されてもよく、任意の数のパラメーターの組が使用されてもよいことが認識されるべきである。
[0058]さらに、2つの集合200A及び200Bは別個に示され、2つの異なる技術−DNSセキュリティ/DNSSEC及びダイレクト・アクセス−に対処するが、幾つかの実施例において、解決パラメーターの組がこれらの技術の両方及び/又は任意の他の種類のネットワーキング技術を対象とするパラメーターを含んでもよいことが認識されるべきである。例えば、所与のオーバーレイ・ネットワークについて、解決パラメーターの組は、オーバーレイ・ネットワークについて名前解決を行うためにDNSSEC及び他のDNSセキュリティを使用するように解決モジュールに指示してもよい。
[0059]本明細書に記載された原理に従って動作する幾つかの技術において、解決パラメーターの任意の特定の組の一部ではない追加の解決パラメーターが解決パラメーターの集合に含まれてもよい。これらのグローバルパラメーターはまた、解決処理を管理するために使用されてもよいが、解決パラメーターの組がいつ使用されるべきか、使用されるべきか否かを示してもよく、名前解決での失敗を扱う方法を示してもよく、又はすべての組に適用される解決パラメーターであってもよい。例えば、計算装置が、接続されるハードウェア・ネットワークの計算装置に通知し得るネットワーク位置把握(Network Location Awareness、NLA)をサポートする場合、集合は、装置が接続されるネットワークの種類又は識別(ID)に基づいてテーブルのすべて又は一部のレビューを差し控えるべきか否かを示すグローバル設定を含んでもよい。例えば、オーバーレイ・ネットワークが存在する特定のハードウェア・ネットワークに計算装置が接続されないことをNLAが示す場合、「NLAバイパス」パラメーターは、オーバーレイ・ネットワークを対象とするすべての組をレビューすることを差し控えるべきであることを解決モジュールに示してもよく、又は、特定のオーバーレイ・ネットワークの解決パラメーターのすべての組をレビューすることを差し控えるべきであることを示してもよい。
[0060]加えて又は代替的に、グローバルパラメーターは、特定のネットワークの外部である場合に解決要求を出す方法を示してもよい。例えば、計算装置が特定のハードウェア・ネットワークの外部にある場合、「クエリー振る舞い(Query Behavior)」パラメーターは、IPv4の数値識別子の前のIPv6の数値識別子、又はIPv6の数値識別子のみなどの、特定の種類の識別子について解決モジュールが問い合わせるべきであることを示してもよい。別のグローバルパラメーターは、第2の識別子が適用可能な解決パラメーターの組に従って配置されないという点で名前解決処理が失敗する場合にどう反応するのかに関連してもよい。この「フォールバック(Fallback)振る舞い」パラメーターは、解決モジュールが代替的な名前解決技術を使用することを試みるべきであることを示してもよいし、又はフォールバックが許可されないことを示してもよい。例えば、当該パラメーターは、DNS処理が失敗する場合にLLMNR又はNetBIOSの処理が試みられるべきであることを示してもよい。
[0061]これらの例示的な集合及び解決パラメーター、及び任意の適切な集合における他の適切な解決パラメーターは、任意の種類の名前解決技術に従って名前解決処理を実行するために解決モジュールによって使用されてもよい。いかなる適切な名前解決処理が適用可能な解決パラメーターの組によって実施され管理されてもよい。図3は、名前解決が実行され得る処理300を示す。しかし、いかなる適切な技術が使用されてもよいので、処理300が実施され得る種類の技術の単なる例であることが認識されるべきである。
[0062]処理300はブロック302において開始し、そこではネットワークリソースの第1の識別子が計算装置の機能モジュールによって受信される。第1の識別子は、ソフトウェア・アプリケーションのユーザー・インターフェースによることを含む適切なユーザー・インターフェースを介したユーザーからを含む、任意の適切なソースによって及び任意の適切なソースから受信されてもよい。第1の識別子は、DNSプロトコルのドメイン・ネームなどの、名前解決プロトコルに従う任意の適切なテキスト識別子を含む、ネットワークリソースに適した任意の識別子であってもよい。ブロック304において、その後、ネットワークリソースの第2の識別子を決定するために、第1の識別子は名前解決モジュールに渡されてもよい。これは任意の理由で行われてもよい。例えば、第1の識別子がソフトウェア・アプリケーションによって受信されたテキスト識別子であった場合、ソフトウェア・アプリケーションは、それが第2の識別子としてネットワークリソースへの接続を確立するためのネットワークリソースの数値識別子を要求することを決定してもよい。しかし、本明細書に記載された原理は任意の適切な動機によって実行される名前解決処理と互換性をもつので、この使用事例は例示的なものにすぎない。
[0063]ブロック306において、解決モジュールは、集合が、名前解決が求められる識別子に適用される解決パラメーターの任意の組を有しているか否か決定する。これは任意の適切な方法で行うことができる。例えば、解決モジュールは、データ・ストアから解決パラメーターの組の集合を取り出し、第1の識別子を集合と比較して、もしあれば、解決パラメーターのうちのどの組が第1の識別子に適用されるかを決定してもよい。この比較は、第1の識別子を図2A及び2Bにおいて上述された「ネーム」パラメーターと比較することによるなど、任意の方法で行われてもよい。その後、解決モジュールは、モジュールによって実行されるべき名前解決処理に、解決パラメーターの組の1つ以上が適用されることを決定してもよく、処理を管理するために適用可能な解決パラメーターの組を使用するか、又は、任意の適切な方法で解決パラメーターの複数の組をマージすることにより、適用可能な解決パラメーターの組を決定してもよい。
[0064]ブロック306の適用可能な解決パラメーターの組の決定は、任意の適切な方法で行われてもよい。それが実行される正確な方法は、集合のフォーマット、及び集合に含まれるように選択された解決パラメーターに依存し得る。図4は決定処理の1つの例を示すが、処理400が処理300のブロック306の一部として行われ得る動作の単なる例であり、他の処理が可能なことが認識されるべきである。
[0065]処理400はブロック402において開始し、そこで、解決モジュールはデータ・ストアから解決パラメーターの組の集合にアクセスする。図1の例におけるように、このデータ・ストアは解決モジュールが実行されている計算装置にとってローカルかもしれず、又は、コンピューター通信ネットワークなどの任意の適切な通信媒体を介してそれにとって利用可能であってもよい。ブロック404において、解決モジュールは、集合における解決パラメーターの各組について、各組がネットワークリソースのどの識別子に適用されるかを示す、識別子を一致させるためのパターンを取り出してもよい。当該パターンは、図2A及び2Bに関して上に記載されたネーム・パラメーターを含むネットワークリソースの任意の適切な指標であってもよく、又は、任意の他の数値もしくはテキスト指標であってもよい。ブロック406において、パターンに対応する解決パラメーターの組が第1の識別子に適用されるかどうかを判断するために、第1の識別子が各パターンと比較される。例えば、第1の識別子が「webserver.corp.contoso.com」で、パターンが「*.corp.contoso.com」(*はワイルドカード文字である)である場合、その後、ブロック406において、解決パラメーターのその組が第1の識別子に適用されると決定されてもよい。
[0066]ブロック408において、適用可能な解決パラメーターの組が一旦決定されると、その後、パラメーターの組は名前解決処理を管理するために使用されるべく取り出される。幾つかの実施例においては、解決パラメーターの単一の組のみが適用可能な解決パラメーターの組として取り出されるが、他の複数の解決パラメーターの組が取り出されてもよい。複数の組が得られる場合、解決パラメーターの複数の組から適用可能な解決パラメーターの組を決定するために任意の適切な処理を使用することができる。例えば、パラメーターは、最高レベルのセキュリティを有する、又は最低レベルのセキュリティを有する、又は任意の他の適切な標準を有する、適用可能な解決パラメーターの組を決定するためにマージされてもよい。別の例として、解決パラメーターの複数の組が一致する場合、解決モジュールは最も緊密に一致するパターンを有する組を選択してもよい。例えば、第1の識別子が「a.corp.ms.com」であり、「corp.ms.com」について集合中に組があり、「ms.com」について組がある場合、「corp.ms.com」の解決パラメーターの組が選択され得る。というのはそれがより具体的であるからである。
[0067]図3の処理300に戻り、ブロック308において、適用可能な解決パラメーターの組が一旦決定されたならば、解決モジュールは適用可能な解決パラメーターの組によってパラメーター化された名前解決処理を行ってもよい。その後、解決モジュールは、解決処理の出力として、ネットワークリソースの第2の識別子を得てもよい。例えば、第1の識別子がテキスト識別子である場合、第2の識別子は、IPアドレスなどの数値識別子であってもよく、その逆もまたあり得る。ブロック310において、その後、解決モジュールは、ブロック302において第1の識別子を渡した機能モジュールへ第2の識別子を返し、処理は終了する。
[0068]ブロック308及び310の動作は任意の適切な方法で行われてもよい。図5は、適用可能な解決パラメーターの組によってパラメーター化された名前解決処理が行われてもよい、例示的な処理500を示す。しかし、任意の適切な処理が任意の適切な名前解決技術及びプロトコルに従って実施されてもよいので、処理500が、実行され得る名前解決処理の種類の単なる例であることが認識されるべきである。また、処理500はある解決パラメーターの観点から記載されているが、任意の適切なパラメーターが本明細書に記載された原理に従って使用されてもよいので、これらのパラメーターもまた例示的なものにすぎないことが認識されるべきである。
[0069]図5の処理500はブロック502において開始し、解決モジュールは、「DNSサーバー」パラメーターによるなど、適用可能な解決パラメーターの組によって識別された名前解決リソースへの接続を確立する。実施される名前解決技術及びプロトコルの種類に依存して、解決リソースの性質は変化し得る。しかし、幾つかの実施例において、名前解決リソースはDNSサーバーのようなネットワークリソースであってもよい。ブロック504において、オン/真に設定される「IPsec上のDNS」パラメーターに従って、解決リソースへの接続が保証され得る。接続のセキュリティは、使用する暗号化の種類を識別する「暗号化レベル」パラメーター及び/又は解決リソースの同一性を認証する証明書を発行することができる1つ以上の認証機関を識別する「IPsec CA」パラメーターなどの他のパラメーターに依存してもよい。IPsecプロトコルを使用して通信接続を安全にするための技術は当技術分野において知られており、そのためここではこれ以上議論されない。
[0070]ブロック506において、解決リソースへの接続が一旦保証(セキュアに)されれば、解決モジュールはチャネルを介して名前解決要求を通信してもよい。解決要求は、第1の識別子、及び解決リソースが従う必要があり得る処理を示す任意のパラメーターを含む、名前解決を行うための任意の適切なデータを含み得る。例えば、解決要求は、適用可能な解決パラメーターの組のパラメーターに従って、DNSSECが解決要求のために可能となっており、解決リソースが第2の識別子を返す前にDNSSECに従って第2の識別子に対して認証処理を行うべきであることを示してもよい。例えば、解決要求は、1つ以上の認証機関に対して、解決パラメーターの組が信頼された結果を返すために信頼されることの1つ以上の指標を含み得るし、解決リソースはこれらのうちの1つが使用されることを確認してもよい。
[0071]解決パラメーターによって選択され示された特定の名前解決技術に従って、ネットワークリソースの第2の識別子を得るために、任意の適切な技術が解決リソースによって実行されてもよい。例えば、解決リソースがDNSサーバーである場合、解決リソースは、解決要求において受信した第1の識別子に対応する第2の識別子についてそれが「知っている」かどうかを決定するために、識別子のそのローカルキャッシュ(local cache)を検査してもよい。第2の識別子がそのキャッシュにない場合、それは別のDNSサーバーに解決要求を渡してもよく、その後、別のDNSサーバーは同じ処理を行ってもよい。元の解決リソースが第2の識別子を含む応答を受信するまで、これは継続する。適用可能な解決パラメーターの組によってDNSSECが「オン」であるように示される場合、解決リソースが−それ自身のキャッシュ又は別のDNSサーバーのいずれかから−その結果を得るとき、解決リソースは、それが結果の正当性を保証することができる信頼できるソースによって「署名された」か否かを決定するために結果を検討してもよい。結果が有効であると決定される場合、それは解決要求を出した解決モジュールに返されてもよい。
[0072]ブロック508において、解決モジュールは、保証されたチャネルを介して解決リソースから応答を受信し、ブロック510において、第2の識別子が解決リソースによって認証され且つ信頼された認証機関によって署名されたことを確認する。ブロック512において、解決モジュールは、ブロック510の決定に基づいて、適用可能な解決パラメーターの組に従って識別子が認証されたかどうかを決定する。第2の識別子が認証された場合、ブロック514において、第2の識別子が、(図3のブロック302におけるように)第1の識別子の提供により元々要求を出した機能モジュールへ返され、処理は終了する。他方、応答が適用可能な解決パラメーターの組に従って認証されなかった場合、ブロック516において、解決モジュールは結果を捨て、結果が見つからなかったことを示すエラーメッセージを機能モジュールに返し、処理は終了する。
[0073]幾つかの実施例において、解決モジュールはまた、ネットワークリソースの識別子のローカルキャッシュを保持してもよい。第2の識別子を含む解決要求に対する応答を受信すると、解決モジュールは、第1の識別子、第2の識別子、及び第2の識別子を得るために使用される解決パラメーターをキャッシュに格納してもよい。その後、解決モジュールが第2の識別子を求める新たな要求を受信する場合、解決モジュールは、それが既に第2の識別子を格納しているか否かを決定するためにキャッシュを検査し、そうであるならば、解決リソースへ解決要求を出すことなく、キャッシュから第2の識別子を返してもよい。図6は、キャッシュを使用してそのような解決処理を行う例示的な処理600を示す。しかし、処理600が単なる例であり、任意の適切な技術が本明細書に記載された原理に従って実施され得ることが認識されるべきである。
[0074]処理600はブロック602において開始し、解決モジュールは第1の識別子を受信し、適用可能な解決パラメーターの組を決定する。これは、上に記載された例示的な技術のうちの任意のものによるものを含む、任意の適切な方法で行われてもよい。ブロック604において、解決モジュールは、第1の識別子がキャッシュにリストされるかどうかを決定するためにキャッシュを検査してもよい。ブロック606における決定に基づいて、第1の識別子がキャッシュにない場合、その後、ブロック608において、上述のように、名前解決処理が継続する。第2の識別子が名前解決処理によって得られる場合、その後、当該得る動作について記述する情報がブロック610においてキャッシュに格納されてもよい。この情報は、取得処理についての様々な種類のデータ及び命令のうちの任意のものを含んでもよい。例えば、当該情報は、第1の識別子、第2の識別子、及び/又は取得の動作において使用される適用可能な解決パラメーターの組を含んでもよい。情報がキャッシュに一旦格納されると、処理600は終了する。
[0075]他方、ブロック606において第1の識別子がキャッシュにあると決定される場合、ブロック612において、第1の識別子と共にキャッシュに格納された解決パラメーターの組が取り出され、ブロック602において取り出された適用可能な解決パラメーターの組と比較される。この比較は、キャッシュから返された任意の第2の識別子が適用可能な解決パラメーターの組に従って得られた識別子であることを保証するために行われてもよい。例えば、ブロック612の比較は、パラメーターが等しいか、又は、キャッシュに格納された識別子を得るために使用されるパラメーターがブロック602において取り出されたパラメーターと少なくとも同じくらい安全であることを決定してもよい。代替的に、ブロック612の比較は、キャッシュ中の第2の識別子のソース−第2の識別子が得られた解決リソース−が適用可能な解決パラメーターの組によって要求されるソースと同じであることを決定してもよい。別の例として、キャッシュは、代わりに、第2の識別子が取り出された時間を格納してもよく、解決モジュールは、解決パラメーターが実行のときにおいてキャッシュ中の識別子が検索されたときと同じであるか否かを決定するために解決パラメーターが編集された最後の時間と上記時間を比較してもよい。任意の適切な比較処理がブロック612において行われてもよい。
[0076]ブロック614において、パラメーターが一致しない場合、得られたいかなる識別子も適切に得られることを保証するために、適用可能な解決パラメーターの組に従って、上に記載されるように、名前解決処理が行われる。しかし、ブロック614において、パラメーターが一致することが決定される場合、ブロック616において、第2の識別子は、キャッシュから、第1の識別子を提供した機能モジュールに返され、処理600は終了する。
[0077]機能モジュールによる解決モジュールへの第1の識別子の入力に基づいて第2の識別子を決定するための幾つかの異なる技術が上に記載される。しかし、これらの技術の各々は本明細書に記載された原理に従って実施され得る技術の種類の例にすぎないことが認識されるべきである。ハードウェア・ネットワーク又はオーバーレイ・ネットワークのいずれとして実施されたかにかかわらず、名前解決技術に基づいて、又は、解決モジュールのために提供された解決パラメーターに基づいて、任意の種類の方法が、ネットワークリソースの識別子を決定するべく名前解決処理を行うために実施され得る。
[0078]解決モジュールについて設定される解決パラメーターは任意の適切な方法で提供されてもよい。例えば、1つの実施例において、解決パラメーターは、計算装置のユーザーによってローカルに入力され、計算装置に関連したデータ・ストアに格納されてもよい。別の実施例において、解決パラメーターは、計算装置がネットワークに接続するときにネットワークを介して提供されてもよい。図7は、ネットワークを介して計算装置に解決パラメーターを提供する、1つのそのような後者の処理の例を示す。しかし、図7の処理700が実例にすぎず、他のものが可能であることが認識されるべきである。さらに、図7の例はマイクロソフト・ウィンドウズのコンピューターネットワークの観点から記載されているが、計算装置がネットワークに接続する時にネットワークによって当該計算装置が設定される他のネットワークが可能であることが認識されるべきである。
[0079]処理700はブロック702において開始し、管理者は、ネットワークのドメインコントローラーに解決パラメーターの集合を入力する。解決パラメーターのこの集合は、ネットワーク用のマイクロソフト・アクティブ・ディレクトリー・グループ・ポリシーの一部としてを含む、任意の適切な方法で入力されてもよい。グループ・ポリシーは、ネットワークに接続された計算装置のグループ及び/又はネットワークのユーザーのグループを含む、ネットワークの任意の一部に適用されてもよい。ブロック704において、ドメインコントローラーは、解決パラメーターを受信し、グループ・ポリシーとしてそれを格納し、次に、グループのすべての要素にグループ・ポリシーを送信する。ブロック704のこの送信は、15分ごとなどの設定された期間の後、又はグループの要素(コンピューター又はユーザーのいずれか)がネットワークに参加するか又は署名するときに行われてもよい。ブロック706において、本明細書に記載されるような解決モジュールを実行する計算装置は、任意の適切な方法でグループ・ポリシーを受信し、計算装置に関連したデータ・ストアにそれを格納する。その後、ブロック708において、名前解決処理を実行する場合、解決モジュールは、上に記載された例示的な技術のうちの任意のものを含む任意の適切な方法で名前解決処理に解決モジュールの集合を適用する。
[0080]任意の適切なユーザー・インターフェースを解決パラメーターを入力するために使用することができる。例えば、幾つかの実施例において、テキストベースのコマンドライン・ツールは解決パラメーターを入力するために使用されてもよい。他の実施例において、グラフィカル・ユーザー・インターフェースは解決パラメーターを入力するために使用されてもよい。図8は、本明細書に記載された原理のうちの幾つかに従って使用され得る1つのそのようなグラフィカル・ユーザー・インターフェースの例を示す。しかし、本発明の実施例は解決パラメーターに対するいかなる特定の入力技術を使用することにも限定されないので、幾つかの実施例が代替的なユーザー・インターフェースを使用し得ることが認識されるべきである。
[0081]グラフィカル・ユーザー・インターフェース800は、解決パラメーターを入力するために使用され得る多くの制御部(コントロール、controls)を含む。テキストブロック802は、図2A及び2Bに関して上に記載された「ネーム」パラメーターにおけるように、ネットワークリソースの名前と一致するように使用されるパターンを含む、ネットワークリソースの名前を入力するために使用されてもよい。グラフィカル・ユーザー・インターフェースはまた、IPsecセキュリティ処理に対して及び/又はDNSSECなどの安全な名前解決技術に従って識別子に署名することに対して使用され得る認証機関に関連する情報を入力するためのテキストブロック804を含んでもよい。DNSセキュリティに関連する一連の制御部(コントロール)806はまた、DNSSEC認証を要求するべきか否か、IPsecを使用するべきか否か、及びIPsecを使用すべき場合にどの種類の暗号化を使用するかなどのパラメーターを示すコントロールとともに、実施されてもよい。別の一連のコントロール808はまた、ダイレクト・アクセスなどのオーバーレイ・ネットワークによる使用のために実施されて、DNSサーバーなどの許容される解決リソースの識別子、使用するプロキシー・サーバーの識別子、IPsecを使用するべきであるか否か、及びIPsecが実施されるべきである場合のユーザーに対する暗号化の種類などのパラメーターを受け取る。グラフィカル・ユーザー・インターフェース800はまた、コントロール802−808の各々に入力されるパラメーターを示す解決パラメーターの組を作成して更新するためのボタン810を含む。他のグローバルな解決パラメーターもまた、フレーム812を介してグラフィカル・インターフェースへ入力されてもよい。解決パラメーターの組が一旦作成されたならば、それはグラフィカル・ユーザー・インターフェース800の下部におけるフレーム814に表示されてもよく、それはインターフェース800を使用して入力され得るパラメーターの種類にそろう複数の列を有する。
[0082]グラフィカル・ユーザー・インターフェース800を使用してパラメーターの組が作成されるか又は更新される場合、当該パラメーターの組は任意の適切なフォーマットで任意の適切なデータ構造に格納されてもよい。データ構造は、図2A及び2Bの集合200A及び200Bなどの解決パラメーターの組の集合を格納するデータ構造に格納されてもよい。これらのデータ構造は、上に議論されるように、任意の適切なコンピューター記憶媒体上に符号化されてもよい。従って、ユーザーがグラフィカル・ユーザー・インターフェース800を使用してパラメーターを入力する場合、グラフィカル・ユーザー・インターフェース800は、任意の適切な方法でコンピューター読み取り可能な媒体上に入力パラメーターを記録するために記録処理を開始してもよい。
[0011]本明細書に記載された原理のうちの幾つか又はすべてによって動作する技術は、任意の適切な方法で実施され得る。例えば、幾つかの実施例において、磁気媒体(例えば、ハードディスクドライブ)、コンパクト・ディスク(CD)、ディジタル・バーサタイル・ディスク(DVD)、永続的又は非永続的な固体メモリー(例えば、フラッシュ・メモリー、磁気RAMなど)、又は任意の他の適切な記憶媒体などの1つ以上のコンピューター読み取り可能な記憶媒体上に符号化されたコンピューター実行可能命令として。当該技術は実施され得る。コンピューター記憶媒体は、図9のコンピューター読み取り可能な記憶媒体906として(すなわち、計算装置900の一部として)、又は別個のコンピューター記憶媒体として実施され得る。本明細書において使用されるとき、「コンピューター読み取り可能な記憶媒体」を含む「コンピューター読み取り可能な媒体」は、その上にデータを記録する処理中にある方法で変更され得る少なくとも1つの物理的な構造を有する有形の記憶媒体を指すことが認識されるべきである。例えば、コンピューター読み取り可能な媒体の物理構造の一部の磁化状態は、記録処理中に変更されてもよい。
[0012]幾つかのそのような実施例において、本明細書に記載された原理に従って動作する技術を実施するコンピューター実行可能命令は、1つ以上のスタンド・アロンの機能モジュール(例えば、上に記載された解決モジュール)として実施され得る。上に記載されるように、「機能モジュール」は、特定の動作上の役割を行うシステムの構造的なコンポーネントであるが、インスタンス化されて、ソフトウェア要素(例えば、関数又は離散処理)の一部又は全体となり得る。一般に、機能モジュールは、特定のタスクを実行するか又は特定の抽象データ型を実施する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。通常、様々な実施例で望まれるように、機能モジュールの機能は組み合わせられてもよいし分散されてもよい。幾つかの実施例において、これらの機能モジュールは、ソフトウェアプログラム・アプリケーションを実施するかもしくは計算装置のオペレーティング・システムを実施する機能モジュールなどの、他の無関係な機能モジュール及び/又はプロセスとインタラクトするように構成されてもよく、また、他の実施例において、モジュールは、ワシントン州レドモンドのマイクロソフト株式会社から入手できるマイクロソフト・ウィンドウズ・オペレーティング・システムなどのオペレーティング・システムのような全体のシステムを当該モジュールとともに形成する、他の機能モジュールとインタラクトするように構成されてもよい(つまり、機能モジュールは、オペレーティング・システムの一部として、又はその外側で実施され得る)。幾つかの実施例において、幾つかの機能モジュールが他のものとは別個に実施され得ること、又は幾つかの機能モジュールが実施されなくてもよいことがさらに認識されるべきである。
[0013]すべての実施例ではなく幾つかの実施例において、本発明の技術は、図1の例示的なコンピューター・システムを含む任意の適切なコンピューター・システムで動作する任意の適切な計算装置上で実行され得るコンピューター実行可能命令として具体化されてもよい。例えば、本明細書において議論された原理のうちの幾つか又はすべてによって動作する技術は、単一の多目的のプログラマブル・デジタル・コンピューター装置、処理能力を共有し本明細書に記載した技術を一緒に実行する2つ以上の多目的のコンピューター装置の協調的なシステム、本明細書に記載した技術を実行することに専念する(一緒に配置され又は地理的に分散された)単一のコンピューター装置又は協調的なコンピューター装置のシステム、本明細書に記載した技術を実行するための1つ以上の特定用途向け集積回路(ASIC)、本明細書に記載した技術を実行するための1つ以上のフィールドプログラマブルゲートアレイ(FPGA)、又は任意の他の適切なシステムの上で動作し得る。
[0014]図9は、本明細書に記載された技術を実施するシステムにおいて使用され得る計算装置900の形式の計算装置の1つの例示的な実施例を示すが、他のものも可能である。さらに、図9が、本明細書に記載した原理に従って動作する計算装置に必要なコンポーネントの描写であるようにも、また包括的な描写であるようにも意図されないことが認識されるべきである。
[0015]計算装置900は、プロセッサー902、ネットワーク・アダプター904及びコンピューター読み取り可能な記憶媒体906を含んでもよい。計算装置900は、例えば、デスクトップもしくはラップトップパソコン、ワークステーション、サーバー、メインフレーム、スマートフォン又は任意の他の適切な計算装置であってもよい。ネットワーク・アダプター904は、任意の適切なコンピューティング・ネットワークを介して計算装置900が任意の他の適切な計算装置と通信することを可能にする任意の適切なハードウェア及び/又はソフトウェアであってもよい。コンピューティング・ネットワークは、インターネットを含む、2つ以上のコンピューター間でデータを交換するための任意の適切な有線及び/又は無線通信媒体であってもよい。幾つかの実施例において、ネットワーク・アダプター904は、2つ以上の種類のネットワークインターフェース(例えば、イーサネット(登録商標)・アダプターなどの有線ネットワーク・アダプター、及びIEEE 802.11gアダプターなどの無線ネットワーク・アダプター)を介して接続を提供する、2つ以上の別個のネットワーク・アダプターとして実施され得る。コンピューター読み取り可能な記憶媒体906は、処理されるべきデータ及び/又はプロセッサー902によって実行されるべき命令を格納するように構成された任意の適切な有形の記憶媒体であってもよい。プロセッサー902は、データ処理及び命令の実行を可能にする。データ及び命令はコンピューター読み取り可能な記憶媒体906上に格納され、例えば、計算装置900のコンポーネント間の通信を可能にし得る。
[0083]コンピューター読み取り可能な記憶媒体906上に格納されたデータ及び命令は、本明細書に記載された原理によって動作する技術を実施するコンピューター実行可能命令を含んでもよい。図9の例では、コンピューター読み取り可能な記憶媒体906は、上述のように、様々なモジュールを実施し、様々な情報を格納する、コンピューター実行可能命令を格納する。コンピューター読み取り可能な記憶媒体906は、計算装置上で実行され得る1つ以上のアプリケーション・プログラム908に関連するデータ及び命令を格納する。これらのアプリケーション・プログラムは、ネットワークリソースの第1の識別子を受信し、ネットワークリソースの第2の識別子を得ようとするものを含み得る。コンピューター読み取り可能な記憶媒体906はまた、上に記載された例示的な技術のうちの任意のものを含む任意の適切な技術による、第1の識別子に基づいて、ネットワークリソースの第2の識別子を決定するための、名前解決モジュール910を含む。コンピューター読み取り可能な記憶媒体906はまた、解決パラメーターの組の集合912を含む。上述のように、この集合は任意の適切な方法で組織化されフォーマットされてもよく、解決パラメーターは、名前解決モジュール910の名前解決処理の実行の管理のために任意の適切なパラメーターを含み得る。1つの実施例において、例えば、集合912は、マイクロソフト・ウィンドウズ・オペレーティング・システムのレジストリーの一部としてコンピューター読み取り可能な記憶媒体906上で実施され得る。コンピューター読み取り可能な記憶媒体906は、名前解決モジュール910によって取り出された識別子のキャッシュ914をさらに含んでもよい。キャッシュは任意の適切な方法で組織化され、ネットワークリソースの第1及び第2の識別子の組、識別子を得るために使用される解決パラメーターの組、識別子が得られた時間(回数)、及び/又は任意の他の種類の情報を含む、任意の適切な種類の情報も含んでいてもよい。
[0016]最後に、図9の例において、コンピューター読み取り可能な記憶媒体906は、解決パラメーターの組の集合に影響を及ぼし、かつ集合の内容を決定するための、アプリケーション・プログラム・インターフェース(API)機能の組を含んでもよい。例えば、APIは、ネットワークリソースの識別子を入力としてとる、特定のネットワークリソースとコンタクトするために使用され得るプロキシーを決定するための、GetProxyInfo関数を実施してもよい。GetProxyInfo関数は、ネットワークリソースに適用される集合中の解決パラメーターの組を見つけるためにリソースの入力識別子を使用してもよく、プロキシー・サーバーが使用されるべきであることを解決パラメーターの組のうちの任意のものが示す場合、プロキシー・サーバーの識別子を返してもよい。GetPolicyTableInfo API関数もまた、集合の内容(すなわち、解決パラメーターの組)を返すために実施され得る。さらに、GetEffectivePolicy API関数は、所与の状況に対して適用可能でないかに依存して、集合中の解決パラメーターの組のうちの幾つか(又はすべて)を返すことができる。例えば、解決パラメーターの組のうちの幾つかが特定のネットワークに適用され、計算装置900がそのネットワークに接続しない場合、次にそれらの組はGetEffectivePolicy関数の出力の一部として返されなくてもよい。また、第2の識別子を決定して当該第2の識別子を返すために、第1の識別子を入力としてとり、解決パラメーターの組の集合によって管理された名前解決処理を実行する、GetAddrInfo関数又はDnsQuery関数が実施されてもよい。本発明の実施例はこの点に限定されないので、これらのAPI関数が実施され得るAPI関数の種類の単なる例であることが認識されるべきである。
[0017]本明細書に記載された原理によって動作するモジュール実施技術は、任意の適切な方法でインタラクトしてもよい。図10は、本明細書に記載された原理のうちの幾つかに従って実施され得るモジュールの1つの例示的な構成を示す。
[0084]図10の例において、アプリケーション・プログラム1000は、第1の識別子に対応する第2の識別子を決定するために、接続モジュール1002及び名前解決モジュール1004のうちの1つ又は両方とインタラクトする。例えば、アプリケーション・プログラム1000は、名前解決モジュール1004に直接問い合わせてもよいし、又は、アプリケーション・プログラム1000は、第1の識別子を使用し、接続モジュール1002を使用して、ネットワークリソースに対する接続を開始することを試みてもよいし、接続モジュールは、接続を開始する際に使用するために名前解決モジュールからの第2の識別子を要求してもよい。名前解決モジュール1004は、第2の識別子を得ることを試みる際に、上述のように解決パラメーター1006の組の集合を使用してもよく、上述のように識別子のキャッシュ1008をさらに使用してもよい。最後に、第2の識別子を得るために解決パラメーター1006の集合を使用する際に、名前解決モジュール1004はまた、解決リソースに対する接続を開始するための接続モジュール1012、並びに集合中の解決パラメーターによって指示され得る任意のセキュリティ処理を行うための認証及び/又は暗号化モジュール1014及び1016を含む、様々な接続技術1010を使用してもよい。
[0085]このように本発明の少なくとも1つの実施例の幾つかの態様について記載してきたが、様々な変更、修正及び改良が当業者にとって容易に思い付くことが認識されるべきである。
[0086]そのような変更、修正及び改良は、本開示の一部であるように意図され、本発明の趣旨及び範囲内にあるように意図される。したがって、前述の記載及び図面はほんの一例としてのものである。
[0087]本発明の様々な態様は、単独でも、組合せても、又は、前述のものにおいて記載された実施例で具体的に説明されなかった様々な構成においても、使用することができ、したがって、その用途において、前述の記載において述べられた又は図面において示されたコンポーネントの詳細及び構成に限定されるものではない。例えば、1つの実施例に記載された態様は、任意の方法で他の実施例に記載された態様と組み合わされてもよい。
[0088]また、本発明は方法として具体化することができ、その例が提供された。方法の一部として実行される動作は任意の適切な方法で順序付けられてもよい。したがって、示されたものとは異なる順序で動作が実行される実施例が理解されてもよく、たとえ実例となる実施例において連続的な動作として示されたとしても、幾つかの動作を同時に実行することを含んでもよい。
[0089]請求項の要素を修飾するために「第1」、「第2」、「第3」などの順序の用語を請求項において使用することは、それ自体では、方法の動作が実行される別の又は時間的順序に対する1つの請求項要素のいかなる優先度も、優先順位も、順序も暗示せず、請求項要素を区別するために、(順序の用語の使用を別にすれば)ある名前を有する1つの請求項要素を同じ名前を有する別の要素と区別するためのラベルとして使用されるにすぎない。
[0090]また、本明細書において使用される表現及び専門用語は、説明のためのものであり、限定するものとして見なされるべきでない。本明細書における「含む」、「備える」、「有する」、「包含する」、「伴う」、及びそれらの変形の使用は、それ以降にリストされる項目及びそれらの同等物のほか、追加の項目を包含するように意味される。

Claims (18)

  1. クライアント計算装置を動作させる方法であって、前記クライアント計算装置によって実行されるステップが、
    (A)ネットワークリソースの第1の識別子を入力として受信するステップと、
    (B)前記第1の識別子に適用される適用可能な解決パラメーターの組を決定するために解決パラメーターの組の集合を調べるステップであって、前記ネットワークリソースの前記第1の識別子を、解決パラメーターの各組が前記第1の識別子に適用されるか否かを決定するために前記集合中の前記解決パラメーターの組の各々に関連付けられるパターンと比較するステップを含む、ステップと、
    (C)前記適用可能な解決パラメーターの組を使用して、前記ネットワークリソースの第2の識別子を取得するステップと、
    (D)前記第2の識別子、及びキャッシュにおいて前記第2の識別子と関連付けられる、前記第2の識別子を取得するために前記ステップ(C)において使用される前記適用可能な解決パラメーターの組の少なくとも1つの識別子を、前記キャッシュに格納するステップと
    を含む方法。
  2. 前記適用可能な解決パラメーターの組の前記少なくとも1つの識別子は前記第2の識別子が取得された時間を含む請求項1に記載の方法。
  3. 前記ステップ(C)は、
    (Cl)前記適用可能な解決パラメーターの組の少なくとも1つのパラメーターによって指定された暗号化プロトコルによって通信チャネルを暗号化するために、前記適用可能な解決パラメーターの組を使用するステップを含む請求項1に記載の方法。
  4. 前記ステップ(C)は、
    (Cl)前記適用可能な解決パラメーターの組の少なくとも1つのパラメーターによって指定された解決リソースに対する通信チャネルを確立するために、前記適用可能な解決パラメーターの組を使用するステップを含む請求項1に記載の方法。
  5. 実行されるとクライアント計算装置に方法を行わせるコンピューター実行可能命令で符号化された少なくとも1つのコンピューター読み取り可能な記憶媒体であって、前記方法は、
    (A)ネットワークリソースの第1の識別子を入力として受信するステップと、
    (B)前記第1の識別子に適用される適用可能な解決パラメーターの組を決定するために、解決パラメーターの組の集合を調べるステップであって、前記ネットワークリソースの前記第1の識別子を、解決パラメーターの各組が前記第1の識別子に適用されるか否かを決定するために前記集合中の前記解決パラメーターの組の各々に関連付けられるパターンと比較するステップを含む、ステップと、
    (C)前記第1の識別子に対応する第2の識別子がキャッシュに存在するか否かを決定するために識別子のキャッシュの内容をレビューするステップであって、前記キャッシュは、前記キャッシュ中の各識別子について、対応する識別子と、前記対応する識別子が取得された格納された解決パラメーターとを含む、レビューするステップと、
    (D)前記第1の識別子に対応する前記第2の識別子が対応する識別子として前記キャッシュ内に存在し、格納された解決パラメーターに関連付けられる場合、前記第2の識別子が取得された前記格納された解決パラメーターを、前記適用可能な解決パラメーターの組と比較するステップと、
    (E)前記格納された解決パラメーターが前記適用可能な解決パラメーターの組と一致する場合、前記キャッシュから前記第2の識別子を返すステップと
    を含む、少なくとも1つのコンピューター読み取り可能な記憶媒体。
  6. 前記方法は、
    (F)前記キャッシュ内の前記第2の識別子についての前記格納された解決パラメーターが前記適用可能な解決パラメーターの組と一致しない場合、ネットワークを介して前記ネットワークリソースの前記第2の識別子を取得するステップであって、前記第1の識別子に基づいて前記ネットワークリソースの前記第2の識別子を決定するために前記ネットワークを介して名前解決処理を行うステップを含み、前記名前解決処理は前記適用可能な解決パラメーターの組によって管理される、取得するステップをさらに含む請求項に記載の少なくとも1つのコンピューター読み取り可能な記憶媒体。
  7. 前記キャッシュ内の前記第2の識別子についての前記格納された解決パラメーターを前記適用可能な解決パラメーターの組と比較する前記ステップ(D)は、
    (Dl)前記キャッシュ内の前記第2の識別子についての前記格納された解決パラメーターが前記適用可能な解決パラメーターの組と正確に一致するか否かを決定するステップを含む請求項に記載の少なくとも1つのコンピューター読み取り可能な記憶媒体。
  8. 前記ステップ(Dl)は、
    (D2)前記適用可能な解決パラメーターの組が、前記キャッシュの前記第2の識別子が取得された時以来不変であったか否かを決定するステップを含む請求項に記載の少なくとも1つのコンピューター読み取り可能な記憶媒体。
  9. 前記キャッシュ内の前記第2の識別子についての前記格納された解決パラメーターを前記適用可能な解決パラメーターの組と比較する前記ステップ(D)は、
    (Dl)前記キャッシュ内の前記第2の識別子についての前記格納された解決パラメーターが前記適用可能な解決パラメーターの組と少なくとも同じくらい安全であるか否かを決定するステップを含む請求項に記載の少なくとも1つのコンピューター読み取り可能な記憶媒体。
  10. 前記キャッシュにおいて、第1の対応する識別子が取得された格納された解決パラメーターは、前記キャッシュ中に格納された前記第1の対応する識別子を取得するために使用される解決パラメーターの組の少なくとも1つの識別子を含む請求項に記載の少なくとも1つのコンピューター読み取り可能な記憶媒体。
  11. 前記解決パラメーターの前記少なくとも1つの識別子は前記キャッシュに格納された前記第1の対応する識別子が取得された時間である請求項10に記載の少なくとも1つのコンピューター読み取り可能な記憶媒体。
  12. 前記第1の識別子はテキスト識別子であり、前記第2の識別子は数値識別子である請求項に記載の少なくとも1つのコンピューター読み取り可能な記憶媒体。
  13. ネットワークリソースの第2の識別子と、前記第2の識別子を取り出すために使用された解決パラメーターの組の少なくとも1つの識別子とを含むデータ構造の複数のインスタンスを格納するように構成された少なくとも1の有形のコンピューター読み取り可能な記憶媒体と、
    名前解決処理を実行するように構成された少なくとも1つのプロセッサーと
    を具備するクライアント計算装置であって、前記名前解決処理は、
    ネットワークリソースの第1の識別子を受信するステップと、
    解決処理を管理するための適用可能な解決パラメーターの組を決定するステップであって、解決パラメーターの組の集合中の解決パラメーターの各組が前記第1の識別子に適用されるか否かを決定するために、前記第1の識別子を解決パラメーターの組の各々に関連付けられるパターンと比較するステップを含む、ステップと、
    前記第2の識別子のいずれかが前記第1の識別子に対応するか否かを決定するために前記データ構造の前記複数のインスタンスをレビューするステップと、
    前記第2の識別子のいずれかが前記第1の識別子に対応する場合、前記第2の識別子を取り出すのに使用される前記解決パラメーターの組の少なくとも1つの識別子が前記適用可能な解決パラメーターの組と一致するか否かを決定するステップと、
    前記格納された解決パラメーターが前記適用可能な解決パラメーターの組と一致する場合、前記少なくとも1つの有形のコンピューター読み取り可能な記憶媒体内のキャッシュから前記第2の識別子を返すステップと
    を含む、クライアント計算装置。
  14. 前記名前解決処理は、
    (F)前記格納された解決パラメーターが前記適用可能な解決パラメーターの組と一致しない場合、ネットワークを介して前記ネットワークリソースの前記第2の識別子を取得するステップであって、前記第の識別子に基づいて前記第の識別子に対応する前記第の識別子を決定するために名前解決処理を実行するステップを含み、前記名前解決処理は前記適用可能な解決パラメーターの組によって管理される、取得するステップをさらに含む請求項13に記載のクライアント計算装置。
  15. 前記データ構造のインスタンスにおいて、前記格納された解決パラメーターの前記少なくとも1つの識別子は、前記データ構造のインスタンスに格納された前記第2の識別子を取り出すために使用される解決パラメーターの組を含む請求項13に記載のクライアント計算装置。
  16. 格納された解決パラメーターの少なくとも1つの識別子が適用可能な解決パラメーターの組と一致するか否かを決定する前記ステップは、前記格納された解決パラメーターが前記適用可能な解決パラメーターの組と正確に一致するか否かを決定するステップを含む請求項13に記載のクライアント計算装置。
  17. 格納された解決パラメーターの少なくとも1つの識別子が適用可能な解決パラメーターの組と一致するか否かを決定する前記ステップは、前記適用可能な解決パラメーターの組が、前記第2の識別子が取り出された時以来不変であったか否かを決定するステップを含む請求項16に記載のクライアント計算装置。
  18. 前記第1の識別子はテキスト識別子であり、前記第2の識別子は数値識別子である請求項13に記載のクライアント計算装置。
JP2011522099A 2008-08-08 2009-07-20 キャッシュを使用したセキュアなリソース名前解決 Active JP5480264B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/189,065 2008-08-08
US12/189,065 US8429715B2 (en) 2008-08-08 2008-08-08 Secure resource name resolution using a cache
PCT/US2009/051133 WO2010017023A2 (en) 2008-08-08 2009-07-20 Secure resource name resolution using a cache

Publications (3)

Publication Number Publication Date
JP2011530867A JP2011530867A (ja) 2011-12-22
JP2011530867A5 JP2011530867A5 (ja) 2012-07-26
JP5480264B2 true JP5480264B2 (ja) 2014-04-23

Family

ID=41652985

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011522099A Active JP5480264B2 (ja) 2008-08-08 2009-07-20 キャッシュを使用したセキュアなリソース名前解決

Country Status (6)

Country Link
US (2) US8429715B2 (ja)
EP (1) EP2310950B1 (ja)
JP (1) JP5480264B2 (ja)
CN (1) CN102112980B (ja)
TW (1) TWI475863B (ja)
WO (1) WO2010017023A2 (ja)

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7991910B2 (en) 2008-11-17 2011-08-02 Amazon Technologies, Inc. Updating routing information based on client location
US7962597B2 (en) 2008-03-31 2011-06-14 Amazon Technologies, Inc. Request routing based on class
US8429715B2 (en) 2008-08-08 2013-04-23 Microsoft Corporation Secure resource name resolution using a cache
US7917616B2 (en) 2008-08-08 2011-03-29 Microsoft Corporation Secure resource name resolution
US8340578B2 (en) 2009-10-05 2012-12-25 Apple Inc. Methods and apparatus for enhanced coexistence algorithms in wireless systems
US8693569B2 (en) * 2009-10-19 2014-04-08 Apple Inc. Methods and apparatus for dynamic wireless device coexistence
JP5345577B2 (ja) * 2010-02-23 2013-11-20 日本電信電話株式会社 名前解決装置、名前解決方法および名前解決プログラム
US8347100B1 (en) * 2010-07-14 2013-01-01 F5 Networks, Inc. Methods for DNSSEC proxying and deployment amelioration and systems thereof
US8533361B1 (en) * 2010-09-16 2013-09-10 Google Inc. Content selectable trusted DNS resolvers
US9003035B1 (en) 2010-09-28 2015-04-07 Amazon Technologies, Inc. Point of presence management in request routing
US9075894B2 (en) * 2010-11-01 2015-07-07 Blue Coat Systems, Inc. System and method for identifying web objects unworthy of being cached
US9106699B2 (en) * 2010-11-04 2015-08-11 F5 Networks, Inc. Methods for handling requests between different resource record types and systems thereof
US8910245B2 (en) 2010-11-05 2014-12-09 Citrix Systems, Inc. Systems and methods for managing domain name system security (DNSSEC)
US8599709B2 (en) 2011-02-10 2013-12-03 Apple Inc. Methods and apparatus for wireless coexistence based on transceiver chain emphasis
US10467042B1 (en) 2011-04-27 2019-11-05 Amazon Technologies, Inc. Optimized deployment based upon customer locality
US9130917B2 (en) * 2011-05-02 2015-09-08 Verisign, Inc. DNSSEC signing server
US8671157B2 (en) * 2011-08-25 2014-03-11 Blue Coat Systems, Inc. System and method for optimizing name-resolution overhead in a caching network intermediary device
US8995929B2 (en) 2011-12-06 2015-03-31 Apple Inc. Methods and apparatus for wireless optimization based on platform configuration and use cases
US9843554B2 (en) 2012-02-15 2017-12-12 F5 Networks, Inc. Methods for dynamic DNS implementation and systems thereof
US9609017B1 (en) 2012-02-20 2017-03-28 F5 Networks, Inc. Methods for preventing a distributed denial service attack and devices thereof
GB201209987D0 (en) 2012-06-06 2012-07-18 Microsoft Corp Address system
US8995553B2 (en) 2012-06-08 2015-03-31 Apple Inc. Methods and apparatus for mitigating interference in aggressive form factor designs
US9154551B1 (en) 2012-06-11 2015-10-06 Amazon Technologies, Inc. Processing DNS queries to identify pre-processing information
US9246874B2 (en) * 2012-06-29 2016-01-26 Verizon Patent And Licensing Inc. Virtual domain name system
US9282116B1 (en) 2012-09-27 2016-03-08 F5 Networks, Inc. System and method for preventing DOS attacks utilizing invalid transaction statistics
CN103559230B (zh) * 2013-10-22 2017-06-30 南车株洲电力机车有限公司 一种工程车记录信息的处理方法
US11838851B1 (en) 2014-07-15 2023-12-05 F5, Inc. Methods for managing L7 traffic classification and devices thereof
US10182013B1 (en) 2014-12-01 2019-01-15 F5 Networks, Inc. Methods for managing progressive image delivery and devices thereof
US10097448B1 (en) 2014-12-18 2018-10-09 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US11895138B1 (en) 2015-02-02 2024-02-06 F5, Inc. Methods for improving web scanner accuracy and devices thereof
US20160241509A1 (en) * 2015-02-15 2016-08-18 Microsoft Technology Licensing, Llc Method and System for Integrating On-Premise and Cloud Domain Name Systems
US10616177B2 (en) 2015-03-31 2020-04-07 Willie L. Donaldson Secure dynamic address resolution and communication system, method, and device
WO2016160957A1 (en) 2015-03-31 2016-10-06 Donaldson Willie L Secure dynamic address resolution and communication system, method, and device
US10110580B2 (en) * 2015-03-31 2018-10-23 Willie L. Donaldson Secure dynamic address resolution and communication system, method, and device
US9832141B1 (en) 2015-05-13 2017-11-28 Amazon Technologies, Inc. Routing based request correlation
US10797888B1 (en) 2016-01-20 2020-10-06 F5 Networks, Inc. Methods for secured SCEP enrollment for client devices and devices thereof
US10686751B2 (en) * 2016-03-09 2020-06-16 Dynamic Network Services, Inc. Methods and apparatus for intelligent domain name system forwarding
US10075551B1 (en) 2016-06-06 2018-09-11 Amazon Technologies, Inc. Request management for hierarchical cache
US10110694B1 (en) 2016-06-29 2018-10-23 Amazon Technologies, Inc. Adaptive transfer rate for retrieving content from a server
US10505961B2 (en) * 2016-10-05 2019-12-10 Amazon Technologies, Inc. Digitally signed network address
US10831549B1 (en) 2016-12-27 2020-11-10 Amazon Technologies, Inc. Multi-region request-driven code execution system
US10367825B2 (en) * 2016-12-28 2019-07-30 Verisign, Inc. Method and system for parallel validation of domain name system security extension records
JP7200612B2 (ja) * 2018-11-12 2023-01-10 富士フイルムビジネスイノベーション株式会社 情報処理装置、及び情報処理プログラム
US11394718B2 (en) * 2019-06-10 2022-07-19 Microsoft Technology Licensing, Llc Resolving decentralized identifiers using multiple resolvers

Family Cites Families (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3484779B2 (ja) * 1994-10-12 2004-01-06 富士ゼロックス株式会社 名前サービス方式及び名前サービス方法
US5878212A (en) 1995-07-31 1999-03-02 At&T Corp. System for updating mapping or virtual host names to layer-3 address when multimedia server changes its usage state to busy or not busy
US5983270A (en) * 1997-03-11 1999-11-09 Sequel Technology Corporation Method and apparatus for managing internetwork and intranetwork activity
US6205489B1 (en) * 1999-01-05 2001-03-20 Whowhere, Inc. Method for providing an internet protocol address with a domain name server
US6760746B1 (en) * 1999-09-01 2004-07-06 Eric Schneider Method, product, and apparatus for processing a data request
US6560634B1 (en) * 1997-08-15 2003-05-06 Verisign, Inc. Method of determining unavailability of an internet domain name
US6167446A (en) 1997-11-03 2000-12-26 Inca Technology, Inc. Automatically configuring network-name-services
US7522931B2 (en) * 1998-06-05 2009-04-21 Netnumber, Inc. Method and apparatus for accessing a network computer to establish a push-to-talk session
US6253321B1 (en) * 1998-06-19 2001-06-26 Ssh Communications Security Ltd. Method and arrangement for implementing IPSEC policy management using filter code
US6502135B1 (en) * 1998-10-30 2002-12-31 Science Applications International Corporation Agile network protocol for secure communications with assured system availability
US6826616B2 (en) * 1998-10-30 2004-11-30 Science Applications International Corp. Method for establishing secure communication link between computers of virtual private network
WO2000052594A2 (en) * 1999-03-03 2000-09-08 Ultradns, Inc. Scalable and efficient domain name resolution
US6338082B1 (en) * 1999-03-22 2002-01-08 Eric Schneider Method, product, and apparatus for requesting a network resource
US7031297B1 (en) * 2000-06-15 2006-04-18 Avaya Communication Israel Ltd. Policy enforcement switching
US7426566B2 (en) * 2001-01-17 2008-09-16 International Business Machines Corporation Methods, systems and computer program products for security processing inbound communications in a cluster computing environment
US7209479B2 (en) * 2001-01-18 2007-04-24 Science Application International Corp. Third party VPN certification
US20020178238A1 (en) * 2001-05-23 2002-11-28 Thomas Fletcher Caching address information in a communications system
US7296155B1 (en) * 2001-06-08 2007-11-13 Cisco Technology, Inc. Process and system providing internet protocol security without secure domain resolution
US7099957B2 (en) * 2001-08-23 2006-08-29 The Directtv Group, Inc. Domain name system resolution
US7313815B2 (en) * 2001-08-30 2007-12-25 Cisco Technology, Inc. Protecting against spoofed DNS messages
US7194553B2 (en) * 2001-10-16 2007-03-20 Microsoft Corporation Resolving virtual network names
US6961783B1 (en) * 2001-12-21 2005-11-01 Networks Associates Technology, Inc. DNS server access control system and method
US8533282B2 (en) * 2002-02-25 2013-09-10 Broadcom Corporation System, method and computer program product for selectively caching domain name system information on a network gateway
JP2003289340A (ja) * 2002-03-27 2003-10-10 Toshiba Corp 識別子問い合わせ方法、通信端末及びネットワークシステム
JP3791464B2 (ja) * 2002-06-07 2006-06-28 ソニー株式会社 アクセス権限管理システム、中継サーバ、および方法、並びにコンピュータ・プログラム
US7552237B2 (en) * 2002-10-17 2009-06-23 International Business Machines Corporation Network address cache apparatus and method
US7734745B2 (en) * 2002-10-24 2010-06-08 International Business Machines Corporation Method and apparatus for maintaining internet domain name data
US20040255137A1 (en) * 2003-01-09 2004-12-16 Shuqian Ying Defending the name space
US7562384B1 (en) * 2003-03-07 2009-07-14 Cisco Technology, Inc. Method and apparatus for providing a secure name resolution service for network devices
US7373500B2 (en) * 2003-04-15 2008-05-13 Sun Microsystems, Inc. Secure network processing
US7299491B2 (en) * 2003-04-30 2007-11-20 Microsoft Corporation Authenticated domain name resolution
US7533184B2 (en) * 2003-06-13 2009-05-12 Microsoft Corporation Peer-to-peer name resolution wire protocol and message format data structure for use therein
TW200527870A (en) * 2004-01-14 2005-08-16 Nec Corp Encrypted communication method, encrypted communication system, node device and program
US7895648B1 (en) * 2004-03-01 2011-02-22 Cisco Technology, Inc. Reliably continuing a secure connection when the address of a machine at one end of the connection changes
US7317918B2 (en) * 2004-07-19 2008-01-08 Motorola, Inc. Method for domain name service (DNS) in a wireless ad hoc network
US7502923B2 (en) * 2004-09-16 2009-03-10 Nokia Corporation Systems and methods for secured domain name system use based on pre-existing trust
US7499998B2 (en) * 2004-12-01 2009-03-03 Cisco Technology, Inc. Arrangement in a server for providing dynamic domain name system services for each received request
US7784092B2 (en) * 2005-03-25 2010-08-24 AT&T Intellectual I, L.P. System and method of locating identity providers in a data network
US20060236124A1 (en) * 2005-04-19 2006-10-19 International Business Machines Corporation Method and apparatus for determining whether to encrypt outbound traffic
US7792994B1 (en) * 2005-06-15 2010-09-07 Symantec Corporation Correlating network DNS data to filter content
US7594031B2 (en) * 2005-09-15 2009-09-22 Microsoft Corporation Network address selection
US7437755B2 (en) * 2005-10-26 2008-10-14 Cisco Technology, Inc. Unified network and physical premises access control server
US7356767B2 (en) * 2005-10-27 2008-04-08 International Business Machines Corporation Extensible resource resolution framework
WO2007074286A1 (fr) * 2005-12-27 2007-07-05 France Telecom Serveur et procede pour gerer des requetes dnssec
US8935416B2 (en) * 2006-04-21 2015-01-13 Fortinet, Inc. Method, apparatus, signals and medium for enforcing compliance with a policy on a client computer
DE602006003314D1 (de) 2006-05-11 2008-12-04 Alcatel Lucent Bearbeitung einer DNS-Dienstnachfrage
US9154472B2 (en) * 2006-07-12 2015-10-06 Intuit Inc. Method and apparatus for improving security during web-browsing
EP1919155A1 (en) * 2006-10-31 2008-05-07 Alcatel Lucent Resolution of flexible address schemes for IMS services
FR2908540A1 (fr) 2006-11-15 2008-05-16 France Telecom Deploiement de bases dnssec
JP4535075B2 (ja) * 2007-03-12 2010-09-01 ブラザー工業株式会社 ネットワーク装置、およびネットワーク装置用のプログラム
CN100502367C (zh) * 2007-04-04 2009-06-17 华为技术有限公司 保存域名系统记录的方法、装置
US7734792B2 (en) * 2007-07-25 2010-06-08 Novell, Inc. Secure tunnel domain name management
US8935748B2 (en) * 2007-10-31 2015-01-13 Microsoft Corporation Secure DNS query
US8918865B2 (en) * 2008-01-22 2014-12-23 Wontok, Inc. System and method for protecting data accessed through a network connection
US7970004B2 (en) 2008-02-01 2011-06-28 Nokia Corporation Method and system for providing multicast contention resolution
US8266672B2 (en) * 2008-03-21 2012-09-11 Sophos Plc Method and system for network identification via DNS
US8429715B2 (en) 2008-08-08 2013-04-23 Microsoft Corporation Secure resource name resolution using a cache
US7917616B2 (en) 2008-08-08 2011-03-29 Microsoft Corporation Secure resource name resolution

Also Published As

Publication number Publication date
US9813337B2 (en) 2017-11-07
EP2310950A2 (en) 2011-04-20
WO2010017023A2 (en) 2010-02-11
WO2010017023A3 (en) 2010-04-01
JP2011530867A (ja) 2011-12-22
TW201012155A (en) 2010-03-16
CN102112980A (zh) 2011-06-29
EP2310950A4 (en) 2013-03-13
CN102112980B (zh) 2017-09-15
US8429715B2 (en) 2013-04-23
EP2310950B1 (en) 2014-08-20
US20100034381A1 (en) 2010-02-11
US20130198316A1 (en) 2013-08-01
TWI475863B (zh) 2015-03-01

Similar Documents

Publication Publication Date Title
JP5480264B2 (ja) キャッシュを使用したセキュアなリソース名前解決
JP5480265B2 (ja) セキュアなリソース名前解決
US8910270B2 (en) Remote access to private network resources from outside the network
US11323422B2 (en) Registering, managing, and communicating with IoT devices using domain name system processes
TWI413389B (zh) 使用裝置之網頁服務的跨網路漫遊和方法
EP3306900B1 (en) Dns routing for improved network security
CN114006724B (zh) 一种加密dns解析器发现及认证的方法与系统
US20080104689A1 (en) Method for controlling access to a network in a communication system
Niven-Jenkins et al. Content delivery network interconnection (cdni) metadata
Niven-Jenkins et al. RFC 8006: Content Delivery Network Interconnection (CDNI) Metadata
JP2007295024A (ja) サーバ判定装置、方法およびプログラム
Hozza Client side DNSSEC validation

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120606

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120606

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130628

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130905

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: 20140115

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140213

R150 Certificate of patent or registration of utility model

Ref document number: 5480264

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250