JP2006228195A - 信用媒体を介した非信用媒体装置構成のための拡張可能なアーキテクチャ - Google Patents

信用媒体を介した非信用媒体装置構成のための拡張可能なアーキテクチャ Download PDF

Info

Publication number
JP2006228195A
JP2006228195A JP2005373136A JP2005373136A JP2006228195A JP 2006228195 A JP2006228195 A JP 2006228195A JP 2005373136 A JP2005373136 A JP 2005373136A JP 2005373136 A JP2005373136 A JP 2005373136A JP 2006228195 A JP2006228195 A JP 2006228195A
Authority
JP
Japan
Prior art keywords
association
handler
response
request
attribute
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.)
Pending
Application number
JP2005373136A
Other languages
English (en)
Other versions
JP2006228195A5 (ja
Inventor
Benjamin E Nick
イー.ニック ベンジャミン
Firdosh K Bhesania
ケー.ビサニア ファードッシュ
Randall E Aull
イー.オール ランドール
Scott A Manchester
エー.マンチェスター スコット
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 JP2006228195A publication Critical patent/JP2006228195A/ja
Publication of JP2006228195A5 publication Critical patent/JP2006228195A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W60/00Affiliation to network, e.g. registration; Terminating affiliation with the network, e.g. de-registration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/26Network addressing or numbering for mobility support
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Storage Device Security (AREA)
  • Accommodation For Nursing Or Treatment Tables (AREA)
  • Optical Couplings Of Light Guides (AREA)
  • Computer And Data Communications (AREA)
  • Small-Scale Networks (AREA)

Abstract

【課題】信用媒体を介した非信用媒体(例えば無線)装置構成の拡張可能なアーキテクチャを提供すること。
【解決手段】このアーキテクチャを使用して、非信用媒体を利用する装置を関連づけることができる。アソシエーションは信用媒体、例えば有線接続を使用して達成される。このアーキテクチャは、非信用媒体を介して(例えば安全に)通信する装置の構成を容易にできる。装置の構成は、信用媒体(例えば有線接続)を介して交換される情報に少なくとも部分的に基づくことができる。装置は、アソシエーション要求をドライバに送り、そのドライバからアソシエーション応答を受け取ることができる。アソシエーションが成功した場合、アソシエーション応答は例えば、非信用媒体を介して装置が通信することを可能にする構成情報(例えば暗号化鍵)を含むことができる。アソシエーションが不成功の場合、アソシエーション応答は例えばエラー情報を含める。
【選択図】図1

Description

本発明は一般にコンピュータシステムに関し、詳細には、信用媒体(trusted medium)による非信用媒体(untrusted medium)(例えば無線)装置構成のための拡張可能なアーキテクチャに関する。
近年、コンピュータシステムで無線装置を使用することに人気が集まっている。例えば、多くの装置が、WiFi(IEEE802.11)および/またはBluetoothなどの無線バスを介して通信する。
「Bluetooth」は、装置間の無線接続を可能にする、装置間の短距離(例えば約10メートル)周波数ホッピング無線リンクのプロトコルを指す。Bluetoothは、ガウス周波数偏移変調を使用してデータを2.4GHz付近の周波数に変調するものであり、ポイントツーポイントまたはポイントツーマルチポイント通信が可能である。この柔軟性は、心拍数モニタ、PDA(パーソナルデジタルアシスタント)、ヒューマンインターフェース装置(HID)、例えばキーボードなどの様々な応用の市場に、Bluetoothの無線技術が浸透することを可能にする。
WiFiでは一般に、ユーザが無線ネットワークの範囲に入ると、クライアント装置は、そのネットワークに接続することなくそのネットワークについての2つの情報を(例えば無線ネットワークビーコンから)識別することができる:(1)そのネットワークのSSID(sevice set identifier)(例えば実質的にその名称)、および(2)そのネットワークがデータを暗号化するどうかについての情報。そのネットワークが暗号化を使用する場合、暗号化鍵が必要となる。暗号化鍵はユーザが手入力し、かつ/または802.1xプロトコルに従って送信することができる。
クライアント装置が無線ネットワークビーコンから取り出すことができる情報を使用して、クライアント装置は一般に、そのネットワークが非暗号化タイプなのか、または暗号化タイプなのかを判定し、あるいは、さらにWPA(Wi−Fi Protected Access)情報要素を使用して、WPA事前共有鍵(pre−shared key)を使用した暗号化タイプなのか、またはWPAを使用した暗号化タイプなのかを判定することができる。そのネットワークが非暗号化タイプの場合、ユーザは、そのネットワークが安全でないこと、およびこの情報にもかかわらずそのネットワークの使用を望んでいることのみを認識する必要がある。しかし、それが暗号化されており、WPAを使用しない場合、そのネットワークは、WEP(Wired Equivalent Privacy)鍵を入力することをユーザに要求するか、またはそのネットワークが、(接続を完了するために802.1x認証を使用可能にすることをクライアントコンピュータに要求する)802.1xが使用可能な、WEP鍵を自動的に配布するネットワークである。
コンピュータシステムでの無線装置の使用は有線装置の使用とは著しく異なる。例えば、無線装置のユーザは、無線装置がどのコンピュータシステムおよび/またはネットワークと通信してほしいのかを指示する必要がある。さらに、ユーザおよび/または無線装置は暗号化された通信を容易にするために秘密鍵を提供することができる。さらに、コンピュータシステムおよび/または無線装置は相互認証に没頭し、かつ/または範囲から出て再び現れる装置をさばく。
無線装置の使用に関係したセキュリティ上の多くの問題がある。例えば、無線装置のユーザが、ユーザが選択したコンピュータシステムおよび/またはネットワークに無線装置を関連づける(associate)前に、悪意のコンピュータシステムおよび/またはネットワークはその無線装置に接続することができる。さらに、従来のシステムでは、特定のコンピュータシステムおよび/またはネットワークとの無線装置のアソシエーション(association)に過大な時間(例えば5分)がかかることがある。
本発明のいくつかの態様の基本的な理解を提供するため、以下に、本発明の単純化された概要を提示する。この概要は本発明を広範に概観するものではない。この概要は、本発明の鍵となる/決定的に重要な要素を識別することを意図したものでも、または本発明の範囲を画定することを意図したものではない。この概要の唯一の目的は、後に提示するより詳細な説明の序章として、本発明のいくつかの概念を単純化された形で提示することにある。
本発明は、信用媒体を介した非信用媒体(例えば無線)装置構成のための拡張可能なアーキテクチャを提供する。このアーキテクチャを使用して、非信用媒体(例えば無線接続)を利用する装置を関連づけることができる。アソシエーションは、信用媒体、例えば有線接続を使用して達成される。
このアーキテクチャは、非信用媒体(例えば無線接続)を介して(例えば安全に)通信するための装置の構成を容易にすることができる。装置の構成は、信用媒体(例えば有線接続)を介して交換される情報に少なくとも部分的に基づいて実施することができる。例えばこの装置は、アソシエーション要求(association request)をドライバ(driver)に送り、そのドライバからアソシエーション応答(association response)を受け取る。「アソシエーション要求」は、アソシエーションを開始するために装置からドライバへ送られるデータブロックを指す。「アソシエーション応答」は、(例えば成功および/または不成功の)アソシエーションを完了させるためにドライバから装置へ送られるデータブロックを指す。
アソシエーションが成功の場合、アソシエーション応答は例えば、装置が非信用媒体を介して(例えば安全に)通信することを可能にする構成情報(例えば暗号化鍵)を含むことができる。アソシエーションが不成功の場合、アソシエーション応答は例えばエラー情報を含むことができる。
本発明の一態様によれば、ドライバは、信用媒体を介して装置から受け取ったアソシエーション要求をアソシエーションマネージャ(association manager)へ送る。ドライバはさらに、アソシエーションマネージャから受け取ったアソシエーション応答を信用媒体を介して装置に提供することができる。ドライバはあるいは、アソシエーション要求を生成し、アソシエーションマネージャに提供することができる。任意選択で、ドライバはさらに、アソシエーション要求の発行のための適当な時間を決定することができる。
本発明の他の態様では、アソシエーションマネージャがアソシエーションデータを適当なコンポーネントへ導く。アソシエーションマネージャはドライバからアソシエーション要求を受け取ることができる。アソシエーション要求の中の経路指定情報に少なくとも部分的に基づいて、アソシエーションマネージャは、このアソシエーション要求に関連づけられた情報を、処理のために特定のハンドラ(handler)に提供することができる。この特定のハンドラがアソシエーション要求の処理を完了した後、ハンドラは、アソシエーションマネージャにアソシエーション応答を提供することができる。アソシエーションマネージャは、このアソシエーション応答を、これを要求しているドライバ(要求ドライバ)に提供することができる。
本発明の他の態様は、(おそらくは他のコンポーネント(図示せず)と一緒に)アソシエーション要求を消費するハンドラを提供し、アソシエーション応答に関連づけられた情報を生成する。ハンドラは、後により詳細に説明するように、アソシエーション要求の内容に少なくとも部分的に基づいてアクションを起こす。この1つまたは複数のアクションは例えば、そのアソシエーション要求によって確立しようとする接続のタイプによって決まる。アソシエーション要求の処理を完了した後、この特定のハンドラは、アソシエーションマネージャにアソシエーション応答を提供することができる。
このアーキテクチャは、1つまたは複数のハンドラに関連づけられた識別情報を記憶したハンドラレジストリ(handler registry)を含むことができる。アソシエーションマネージャは、ハンドラレジストリの中に記憶された識別情報を使用して、複数のハンドラのうちのどのハンドラに特定のアソシエーション要求を提供するのかを決定することができる。
このアーキテクチャはさらに、任意選択で、1つまたは複数のドライバに関連づけられた識別情報を記憶したドライバレジストリ(driver registry)を含むことができる。アソシエーションマネージャは、ドライバレジストリの中に記憶された識別情報を使用して、例えば初期化中に、1つまたは複数のドライバのうちのどのドライバのインスタンスを生成するのかを決定することができる。
以上の目的および関係する目的を達成するため、本明細書では、本発明の例示的ないくつかの態様を、以下の説明および添付図面に関して説明する。しかしこれらの態様は、本発明の原理を使用することができる様々な方法のうちのいくつかを示すものでしかなく、本発明は、このようなすべての態様およびそれらの等価物を含む。本発明の他の利点および新規の特徴は、本発明の以下の詳細な説明を添付図面とともに検討したときに明白となろう。
次に、図面を参照して本発明を説明する。全図面を通じて同様の参照符号は同様の要素を指すために使用される。以下の説明では、説明の目的上、本発明の完全な理解を提供するために多くの具体的な詳細が記載される。しかし、これらの具体的な詳細がなくても本発明を実施できることは明白である。また、本発明の説明を容易にするために周知の構造および装置がブロック図の形態で示される。
本出願で使用されるとき、「コンポーネント」、「ハンドラ」、「モデル」、「システム」などの用語は、コンピュータに関係したエンティティ(entity)、ハードウェア、ハードウェアとソフトウェアの組合せ、ソフトウェア、または実行中のソフトウェアを指すことを意図したものである。例えば、コンポーネントは、プロセッサ上で実行中の処理、プロセッサ、オブジェクト(object)、実行可能物(executable)、実行スレッド(thread of execution)、プログラムおよび/またはコンピュータであることができる。ただしこれらに限定されるわけではない。実例として、サーバ上で実行中のアプリケーションとこのサーバの両方がコンポーネントでありえる。処理および/または実行スレッド内には1つまたは複数のコンポーネントが存在することができ、1つのコンポーネントは、1つのコンピュータ上に置かれ、かつ/または2つ以上のコンピュータ間に分散されることができる。また、これらのコンポーネントは、その上に様々なデータ構造が記憶された様々なコンピュータ可読媒体から実行することができる。これらのコンポーネントは、ローカルおよび/またはリモート処理によって、例えば1つまたは複数のデータパケット(例えばローカルシステム、分散システム内の他のコンポーネントと対話しているコンポーネントからのデータ、および/またはインターネットなどのネットワーク上で信号を介して他のシステムと対話しているコンポーネントからのデータ)を有する信号に従って通信することができる。本発明によれば、コンピュータコンポーネントは、例えばASIC(特定用途向けIC)、CD(コンパクトディスク)、DVD(デジタルビデオディスク)、ROM(リードオンリーメモリ)、フロッピー(登録商標)ディスク、ハードディスク、EEPROM(電気的に消去可能なプログラマブルROM)およびメモリスティックを含むコンピュータ可読媒体上に記憶されることができる。ただしコンピュータ可読媒体はこれらに限定されるわけではない。
さらに、「信用媒体」は、非信用媒体を関連づけるためにそれを介してアソシエーション情報を転送することができる信用できる接続を指す。信用媒体の例には、シリアル接続、パラレル接続および/またはユニバーサルシリアルバス(USB)接続が含まれる。ただしこれらに限定されるわけではない。「非信用媒体」は、信用を確立するために関連づけられている媒体を指す。Bluetoothおよび/またはIEEE802.11などの無線接続は非信用媒体の例である。
図1を参照すると、本発明の一態様に基づくアソシエーションアーキテクチャ100が示されている。このアーキテクチャ100を使用して、非信用媒体(例えば無線接続)を利用する装置110を関連づけることができる。アソシエーションは、信用媒体、例えば有線接続を使用して達成される。
「アソシエーション要求」は、アソシエーションを開始するために装置110からドライバ120へ送られるデータブロックを指す。次いでこのアソシエーション要求をアソシエーションマネージャ130に転送することができ、アソシエーションマネージャ130は、このアソシエーション要求を適当なハンドラ140に転送する。「アソシエーション応答」は、(例えば成功および/または不成功の)アソシエーションを完了させるためにドライバ120から装置110へ送られるデータブロックを指す。
アーキテクチャ100は、非信用媒体(例えば無線接続)を介して(例えば安全に)通信するための装置110の構成を容易にすることができる。装置110の構成は、信用媒体(例えば有線の接続)を介して交換される情報に少なくとも部分的に基づくことができる。一例では、装置110がアソシエーション要求をドライバ120に送り、アソシエーション応答をドライバ120から受け取る。アソシエーションが成功の場合、アソシエーション応答は例えば、装置110が非信用媒体を介して(例えば安全に)通信することを可能にする構成情報(例えば暗号化鍵)を含むことができる。アソシエーションが不成功の場合、アソシエーション応答は例えばエラー情報を含むことができる。
一例では、装置110が、無線が使用可能でかつUSB接続をも含むデジタルカメラである。USB接続(信用媒体)を使用して、このデジタルカメラの無線接続(非信用媒体)を構成することができる。例えば、「found new hardware」ウィザードを使用して、アーキテクチャ100を介してデジタルカメラへ転送するための無線プロファイルを選択し、かつ/または生成することができる。このプロファイル情報がUSB接続を介してデジタルカメラへ転送された後、USB接続を切断し、デジタルカメラは無線接続を介して通信することができる。
例えば、ドライバ120は、装置110から信用媒体を介して受け取ったアソシエーション要求をアソシエーションマネージャ130に送ることができる。ドライバ120はさらに、アソシエーションマネージャ130から受け取ったアソシエーション応答を信用媒体を介して装置110に提供することができる。他の例では、ドライバ120がアソシエーション要求を生成し、アソシエーションマネージャ130に提供する。任意選択で、ドライバ120はさらに、アソシエーション要求の発行のための適当な時間を決定することができる。
他の例では、特定のドライバ120を使用して、複数の非信用媒体を構成することができる。例えば、ドライバ120を使用して、複数の非信用媒体を介して通信する複数の装置110とUSB接続を介して通信することができる。
アソシエーションマネージャ130は適当なコンポーネントにアソシエーションデータを提供する。アソシエーションマネージャ130は、ドライバ120からアソシエーション要求を受け取ることができる。アソシエーション要求の中の経路指定情報に少なくとも部分的に基づいて、アソシエーションマネージャ130は、このアソシエーション要求に関連づけられた情報を、処理のために特定のハンドラ140に提供することができる。この特定のハンドラ140がアソシエーション要求の処理を完了した後、ハンドラ140は、アソシエーションマネージャ130にアソシエーション応答を提供することができる。アソシエーション応答の中の経路指定情報に少なくとも部分的に基づいて、アソシエーションマネージャ130は、このアソシエーション応答を要求ドライバ120に提供することができる。
ハンドラ140は、装置インストレーション(installation)を実現するサービス(図示せず)とインターフェースする。一例では、ハンドラ140が、アソシエーション要求についての明示の知識を有するアーキテクチャ100の唯一のコンポーネントである。ハンドラ140は、後により詳細に説明するように、アソシエーション要求の内容に少なくとも部分的に基づいてアクションを起こす。この1つまたは複数のアクションは例えば、そのアソシエーション要求によって確立しようとする接続のタイプによって決まる。アソシエーション要求の処理を完了した後、この特定のハンドラ140は、アソシエーションマネージャ130にアソシエーション応答を提供することができる。
アーキテクチャ100は、1つまたは複数のハンドラ140に関連づけられた識別情報を記憶したハンドラレジストリ150を含むことができる。アソシエーションマネージャ130は、ハンドラレジストリ150の中に記憶された識別情報を使用して、複数のハンドラ140のうちのどのハンドラに特定のアソシエーション要求を提供するのかを決定することができる。
アーキテクチャ100はさらに、任意選択で、1つまたは複数のドライバ120に関連づけられた識別情報を記憶したドライバレジストリ160を含むことができる。アソシエーションマネージャ130は、ドライバレジストリ160の中に記憶された識別情報を使用して、例えば初期化中に、1つまたは複数のドライバ120のうちのどのドライバのインスタンスを生成するのかを決定することができる(後に論じる)。
単一のエンティティとして示されているが、装置110は、アソシエーション要求を送り、かつ/または受け取るオブジェクトと、最終的にホストに関係づけられるオブジェクト(例えば標的装置)とを含むことができることを当業者は理解されたい。
一例では、アーキテクチャ100が、1つのアソシエーション要求および関連づけられたアソシエーション応答だけをサポートする。この例では、アソシエーションを容易にするために、装置110からの必要な情報がアソシエーション要求の中に埋め込まれている。同様に、アソシエーションを容易にするために、装置110のために必要な情報が、アソシエーション応答の中に埋め込まれている。
図2を参照すると、本発明の一態様に基づくアソシエーション要求200が示されている。アソシエーション要求200は、アソシエーション要求ヘッダ210と、1つまたは複数のアソシエーション要求属性220(例えば属性タイプ、長さおよびデータ)とを含む。属性は、アソシエーション要求および/または応答中の単一の項目である。例えば、アソシエーション要求ヘッダ210は、アソシエーション要求属性220に関して後に説明する属性と同様のフォーマットの、大域的に定義された一組の要求属性を含むことができる。
一例では、アソシエーション要求および/またはアソシエーション応答が、構文解析可能なストリーム(stream)として編成される。このストリームは、定義されたタイプおよび関連づけられたデータをそれぞれが有する一連の属性を含む。これは、このアーキテクチャの柔軟性および拡張性を助長する。例示的な属性構造を表1に示す。
Figure 2006228195
この例示的な属性構造は例えば以下のように定義することができる。
Figure 2006228195
一例では、システム自体によって使用されることが意図され(例えば多くのアソシエーションタイプに共通の)、特定のアソシエーションタイプに対して固有のものではない、予め定義されたいくつかの属性タイプがある。
Figure 2006228195
例示的なアソシエーションステータス値を以下に示す。
Figure 2006228195
アソシエーション要求
この例では、アソシエーション要求が一連の属性である。最初の属性はAssociationTypeである。これは、要求を差し向けなければならないハンドラを識別するために使用される。この例では、この値が、そのハンドラ(またはハンドラに関連づけられたある仕様)によって定義されたGUIDである。例えば、Bluetooth装置を関連づけるために、Bluetooth専用のGUIDがあり、その特定のGUIDを処理すると指定されたハンドラがある。
アソシエーション要求の中の第2の属性はLengthである。これは、AssociationTypeおよびLengthフィールド自体を含むこの要求の中のすべての属性の全長である。これを用いて構文解析を助け、その結果、あるコンポーネントがある特定のAssociationTypeに関心がない場合に、その要求の中のそれぞれの属性を構文解析しなければならないのとは対照的に、そのコンポーネントがその要求全体をスキップできる。
この例では、最小の処理で基本的なアソシエーションを実現できる単純な装置(例えばファームウェアを用いないシリコンのみのソリューションを有する装置)を容易にするために、Lengthのすぐ後に続く1つまたは複数の属性が慎重に定義される。これを達成するため、所望のデータを抽出するために構造内の予め決められたオフセットまで単純にジャンプすることができることは有用である。したがって、この例では、Lengthのすぐ後に続く属性は、基本的なアソシエーションを実施するために必要な最小量のデータを含む。さらに、これらの属性は、予め決められた順序に並べることができ、常に存在することができる。一例では、この必要なデータのほぼすべてが単一の属性に含まれる。この例では、アソシエーション要求内のオフセットに影響を及ぼさないように、可変長フィールドはすべて、これらの基本的な属性の終わりに配置される。
他の例では、それぞれが少量のデータを含むいくつかの属性が使用される。したがって、例えば拡張された機能を提供するために、後に続く属性がある場合には、任意の数の属性が後に続くことができることを理解されたい。
アソシエーション応答
図3を参照すると、本発明の一態様に基づくアソシエート応答300が示されている。アソシエーション応答300は、アソシエーション応答ヘッダ310と、0、1または複数のアソシエーション応答属性320とを含む。例えば、アソシエーション応答ヘッダ310は、アソシエーション応答属性320に関して後に説明する属性と同様のフォーマットの、大域的に定義された一組の要求属性を含むことができる。
アソシエーション応答属性320は、属性タイプ、長さおよびデータを含む1つのデータである。先に論じたアソシエーション要求と同様に、一例ではアソシエーション応答が一連の属性である。この例では、最初の属性がAssociationTypeである。これは、この応答をもたらすアソシエーション要求のAssociationTypeをエコー(echo)するために使用される。
アソシエーション応答の中の第2の属性はLengthである。これは、AssociationTypeおよびLengthフィールド自体を含むこの要求の中のすべての属性の全長である。これを用いて構文解析を助け、その結果、あるコンポーネントがある特定のAssociationTypeに関心がない場合に、その要求の中のそれぞれの属性を構文解析しなければならないのとは対照的に、そのコンポーネントがその要求をスキップできる。
アソシエーション応答の第3の属性はAssociationStatusである。これは、アソシエーション要求の結果について装置に通知するためのものである。この例では、アソシエーション処理が成功した場合にはこの値が0x0000であり、これは、そのアソシエーション応答の中の属性を装置が読み続けることができることを意味する。値が0xc0001の場合、指定されたAssociationTypeを処理できるハンドラをホストが見つけられなかったことを意味する。この場合、装置は、アソシエーション応答の中の他の属性について一切仮定してならない。
最小の処理で基本的なアソシエーションを実現できる単純な装置を可能にするために、先に論じたとおり、AssociationStatusのすぐ後に続く1つまたは複数の属性を慎重に定義することができる。この例では、これを達成するために、所望のデータを抽出するために構造内の予め決められたオフセットまで単純にジャンプすることができる必要がある。そのため、これらの属性は、基本的なアソシエーションを実施するために必要な最小量のデータを含む。この例ではさらに、これらの属性が予め決められた順序に並べられ、常に存在する。アソシエーション要求内のオフセットに影響を及ぼさないように、可変長フィールドはすべて、これらの基本的な属性の終わりに配置される。拡張された機能を提供するために、後に続く属性がある場合には、任意の数の属性が後に続くことができる。
図4を参照すると、本発明の一態様に基づくアソシエーション管理システム400が示されている。アソシエーション管理システム400は、マネージャ通信コンポーネント420およびハンドラ識別コンポーネント430を有するアソシエーションマネージャ410を含む。システム400はさらにハンドラレジストリ150および任意選択のドライバレジストリ160を含む。
アソシエーションマネージャ410は、アソシエーションデータ(例えばアソシエーション要求および/またはアソシエーション応答)を適当なコンポーネント(例えばハンドラおよび/またはドライバ)に提供する役割を担う。マネージャ通信コンポーネント420は、ドライバ(図示せず)からアソシエーション要求を受け取ることができる。マネージャ通信コンポーネント420はアソシエーション要求の少なくとも一部(例えばアソシエーション要求ヘッダ)を、ハンドラ識別コンポーネント430に提供することができる。
マネージャ通信コンポーネント420によって提供される情報およびハンドラレジストリ150の中に記憶された識別情報に基づいて、ハンドラ識別コンポーネント430は、アソシエーション要求を提供する先の特定のハンドラ(図示せず)を識別する。一例では、アソシエーションマネージャ410は、ハンドラ識別コンポーネント430によって識別されたハンドラをロードする。他の例では、初期化時に1つまたは複数のハンドラがロードされる(後に詳細に論じる)。その後、マネージャ通信コンポーネント420は、アソシエーション要求に関連づけられた情報を、ハンドラ識別コンポーネント430によって識別されたハンドラに提供する。
アソシエーション要求を処理した後、ハンドラは、マネージャ通信コンポーネント420にアソシエーション応答を提供する。マネージャ通信コンポーネント420は次いでこのアソシエーション応答を要求ドライバに提供する。
一例では、アソシエーションマネージャ410がアソシエーション要求の妥当性を検査する。例えば、アソシエーションマネージャ410は適格(well−formed)であるかどうかを判定することができる。要求が適格でない場合、アソシエーションマネージャ410は、このアソシエーション要求が不適格(malformed)であることを指示するアソシエーション応答(例えばERROR_MALFORMED_ASSOCIATION_REQUESTにセットされたステータス属性)を生成し、このアソシエーション応答を要求ドライバに提供することができる。この例では、アソシエーション要求が適格かどうかを判定するためにアソシエーションマネージャ410が以下の判定基準を利用する。
a.要求の長さが少なくとも、AssociationTypeおよびLength属性を保持する大きさ(例えば36バイト)である。
b.最初の属性がAssociationTypeであり、その長さが(例えば特定のハンドラに関連づけられたと大域的に固有の識別子(GUID)に基づいて)適当なサイズである。
c.第2の属性がLengthであり、それが適当なサイズ(例えばULONG)である。
d.Length属性の値が、AssociationType属性およびLength属性よりも大きく(例えば36バイト)、その要求の長さ以下である。
e.後に続くそれぞれの属性の長さが、その長さを要求の中の現在の位置に加えたときに、Length属性の値よりも大きくならない。
f.厳密に1つのAssociationType属性および厳密に1つのLength属性が要求の中に存在する。
次にアソシエーションマネージャ410は、アソシエーション要求の中に含まれる指定されたアソシエーションタイプに対して登録されたハンドラ(例えばハンドラレジストリ150の中に記憶されたGUID)があるかどうかを判定する。ハンドラが見つからない場合、アソシエーションマネージャ410は、要求されたアソシエーションタイプがサポートされていないことを指示するアソシエーション応答を生成し、このアソシエーション応答を要求ドライバに提供することができる。
ハンドラが見つかった場合、この例では、アソシエーションマネージャ410がアソシエーション要求を構文解析し、属性のリストを抽出することができる。アソシエーションマネージャ410は次いで、抽出された属性のリストをその特定のハンドラに提供することができる。
抽出された属性のリストを特定のハンドラに提供することにアソシエーションマネージャ410が失敗した場合、アソシエーションマネージャ410は、その特定のハンドラが応答しなかったことを指示するアソシエーション応答を生成し、このアソシエーション応答を要求ドライバに提供することができる。
抽出された属性のリストを特定のハンドラに提供することにアソシエーションマネージャ410が成功した場合、ハンドラによる処理が完了した後に、この例ではアソシエーションマネージャ410がアソシエーション応答属性リストをハンドラから受け取る。アソシエーションマネージャ410は、アソシエーション応答属性リストが適格かどうかを判定することができる。例えば、
a.厳密に1つのステータス属性がある。
b.(例えばアソシエーションマネージャ410によって加えられる)Length属性およびAssociationType属性が存在しない。
c.アソシエーション要求がMaximumResponseLength属性を含んでいた場合には、これらの全属性の全体のサイズがその値よりも小さくなければならない。
応答が適格な場合、アソシエーションマネージャ410は、アソシエーション応答属性リストに少なくても部分的に基づいて、アソシエーション応答(例えばバイトアレイ)を生成する。例えば、アソシエーションマネージャ410は、
a.応答属性リストの中のすべての属性の全体サイズを合計し、
b.AssociationTypeおよびLength属性のために必要なサイズを加え、
c.その応答を保持するのに十分な大きさのバッファを割り当て、
d.そのバッファの中の最初の属性を、そのアソシエーション要求からのAssociationTypeにセットし、
e.計算された応答の長さを使用してLength属性をバッファに加え、
f.AssociationStatus属性を加え、
g.追加の属性をそれぞれ、それぞれが属性リストにあったときの順番で加える
ことができる。
アソシエーションマネージャ410は次いで、このアソシエーション応答を要求ドライバに提供することができる。
一例では、アソシエーションマネージャが以下のインターフェースを実装する。
Figure 2006228195
SendAssociationRequest()は、アソシエーション処理を開始するためにドライバによって呼び出される。装置に容易に送り返すことができるバイトアレイとしてアソシエーション応答が返される。一例では、AssociationResponseを解放することがドライバの責務である。
図5を参照すると、本発明の一態様に基づくアソシエーション管理システム500が示されている。システム500は、アソシエーションマネージャ510、ハンドラレジストリ150、ドライバレジストリ160および初期化コンポーネント520を含む。
以前に論じたとおり、アソシエーションマネージャ510は、アソシエーションデータ(例えばアソシエーション要求および/またはアソシエーション応答)を適当なコンポーネント(例えばハンドラおよび/またはドライバ)に提供する役割を担う。しかし、この例では、初期化コンポーネント520が、ドライバレジストリ160の中に記憶された情報を使用して、例えばシステム500の初期化中に、1つまたは複数のドライバ(図示せず)のうちのどのドライバのインスタンスを生成するのかを決定する。例えば、ドライバは、コンピュータシステム(図示せず)の構成の間に(例えば手動かつ/または自動で)登録することができる。
一例では、システム初期化中に、ドライバレジストリ160およびハンドラレジストリ150の中に記憶された情報に少なくとも部分的に基づいて、初期化コンポーネント520がドライバおよびハンドラを識別する。その後、初期化コンポーネント520は、識別されたハンドラおよび識別されたドライバのインスタンスを生成する。
この例では、ハンドラごとに、アソシエーションマネージャ510が、アソシエーションタイプカウント(association type count)を取り出し、関連づけられた記憶バッファ(例えばアソシエーションタイプカウント×sizeof(GU1D))を割り当てることができる。このバッファを使用して、ハンドラからアソシエーションタイプを取り出すことができる。他の例では、ハンドラが記憶空間を割り当て、それをアソシエーションマネージャに提供する。
アソシエーションタイプは、ハンドラがサポートする特定のアソシエーションタイプを表すGUIDのアレイであることができる。取り出されたGUIDごとに、ハンドラレジストリの中に記憶されたGUID−ハンドラマッピングのリストにエントリ(entry)を加えることができる。例えば、
Figure 2006228195
次いでマッピングのこのリストはアソシエーションマネージャ510によって使用されて、適当なハンドラへのアソシエーション要求の経路指定を決定することができる。
この例では、ハンドラが生成され、それらのアソシエーションタイプが分かった後に、初期化コンポーネント520がドライバを活動化する。ハンドラが見つかりロードされるまでアソシエーション要求が受け取られないことを保証するため、活動化は、ハンドラがロードされ、初期化された後に実施される。例えば、ドライバを活動化するために、「Start()」メソッドを呼び出すことができる。
次に図6を参照すると、本発明の一態様に基づくアソシエーションハンドラシステム600が示されている。システム600は、要求コンポーネント620、応答コンポーネント630およびアソシエーションプロセッサを備えたハンドラ610を含む。
ハンドラ610は(おそらく他のコンポーネント(図示せず)とともに)、アソシエーション要求を消費し、アソシエーション応答に関連づけられた情報を生成する。
例えば、要求コンポーネント620は、アソシエーション要求に関連づけられた情報(例えばアソシエーション要求および/または構文解析された属性のリスト)をアソシエーションマネージャ(図示せず)から受け取ることができる。要求コンポーネント620は、アソシエーション要求に関連づけられた情報の内容を構文解析して、どんなアクションを起こすのかを決定することができる。アソシエーションプロセッサ640は、サービス650を介してアクションを容易にする。この1つまたは複数のアクションは例えば、確立しようとする接続のタイプによって決まる。アクションが完了した後、アソシエーションプロセッサ640は、このアソシエーションに関する情報を応答コンポーネント630に提供することができる。応答コンポーネント630は次いで、アソシエーション応答に関連づけられた情報(例えばアソシエーション応答および/または属性のリスト)を生成することができ、この情報を、アソシエーションマネージャに提供することができる。
一例では、複数のハンドラ610は、以下のCOMインターフェースを実装する。
Figure 2006228195
この例では、「manager」が、アソシエーションマネージャを指すインターフェースポインタである。また、「AssociationTypes」は、PONGハンドラが処理することができるAssociationType GUIDのアレイを返す。同様に、「AssociationTypeCount」は、PONGハンドラが処理することができるAssociationTypesの数である。「HandleAssociationRequest()」は、その要求をサポートしているとハンドラ610が報告したアソシエーション要求を受け取るときにアソシエーションマネージャによって呼び出される。「RequestAttributes」は属性構造のリストである。ハンドラ610は、装置(図示せず)に返される属性である属性構造のリストResponseAttributesを返すのに必要なメモリを割り当てると予想される。
他の例では、ハンドラ610が、標的媒体上で装置が発見された後に装置についての情報を、将来のインストレーションのために例えばデータベースに記憶する。例えば、特定のハンドラ610を、Wi−Fi標的媒体に関係づけることができる。この例では、Wi−Fi標的媒体を使用したい装置が、アソシエーション要求を送り、属性リストの形態のアソシエーション応答を受け取る。属性リストは、ハンドラ610によってアソシエーションマネージャに提供することができ、アソシエーションマネージャは次いでアソシエーション応答を形成することができる。
下表9、10および11に関して、「属性」は、属性要素に関連づけられた親しみやすい名称を指す。「属性ID」は、属性リストの中の属性要素を識別するために使用される識別子(例えば番号)である。「長さ」は、属性要素の中のデータの長さを指す。属性の長さは可変および/または固定であることができ、この例では属性の長さがバイトで表される。長さの値は最大長を指定することもできる。アソシエーション応答では、一例において、その値までのオフセットが決定的となり、応答を構文解析する装置の能力に役立つように、固定長を使用することができる。属性の実際の値が、そのデータに割り当てられた長さ全体を使い切ならにことがある。このようなケースでは、追加のフィールドが、属性データの実際の長さを指定することができる。「許容値」は、装置によってサポートされる値を記述する許容値フィールドを指す。許容値が必要な場合、それが属性リストに含まれる場合に装置がその値をサポートしていなければならないことを意味する。表9、10および/または11に明記されていない限り、値は必要であると考えなければならない。許容値が任意選択である場合、装置はその値をサポートする必要はないが、属性リストにそれが含まれることに対して準備がされていなければならない。この仕様の将来のバージョンでは任意選択の値が必要となる可能性がある。
無線プロトコル
IEEE802.11規格セットは、暗号化ネットワーク(例えばWEPネットワーク)と非暗号化ネットワークの2つのネットワークタイプを定義する。WEPプロトコルの周知の弱点のため、無線業界は、WEPプロトコルの主要な欠陥に対処するための機構として、IEEE802.1x規格に対するサポートを実装した。ユーザ認証、暗号化鍵管理および暗号化鍵配布である。WEP暗号化ネットワークではユーザが暗号化鍵を提供する必要があり、802.1x使用可能ネットワークでは、ユーザが有効な信用証明書(例えばデジタル証明書またはユーザ名およびパスワードなど)を有する場合には、暗号化鍵が自動的に提供される。暗号化された802.11ネットワークでは、現在のところ、ユーザがWEP鍵を入力する必要があるのか、またはネットワークが802.1xをサポートしており、WEP鍵を入力する必要がないのかを即座に判定することができないので、これが、ユーザビリティ(usability)の問題を提示する。
暗号的に弱いことが示されているWEPアルゴリズムの根底にあるこの弱点に対処するため、WPA(Wi−Fi Protected Access)と呼ばれる802.11規格セットに対するセキュリティ上の強化が導入された。WPAはさらに、WPAが可能なアクセスポイントがそれらのビーコンフレームの中に含む情報要素を指定することによって、本来の802.11規格のユーザビリティ問題のいくつかに対処する。この情報要素はとりわけ、ユーザが暗号化鍵を入力することをネットワークが要求する(WPA事前共有鍵モード(WPA−PSK)と呼ばれる)のか、またはユーザの信用証明書によって暗号化鍵が自動的に提供される(「WPAモード」と呼ばれる)のかを記述する。
WEP(Wired Equivalent Privacy)
WEPは、IEEE802.11規格によって定義され、有線ネットワークと同等のデータ機密性レベルを提供することを意図したものである。無線LANネットワークの持つ性質のため、このネットワークへの物理アクセスを監視するセキュリティインフラストラクチャを実装することは難しい。物理接続が必要な有線ネットワークとは異なり、無線アクセスポイント(AP)の範囲に入れば誰でもおそらくフレームを送受信することができ、送信中の他のフレームを盗み見ることができる。これは、無線LANフレームの盗聴および遠隔検出を非常に容易にする。
WEPは、無線ノード間で送られるデータを暗号化することによってデータ機密性サービスを提供する。802.11フレームに対するWEP暗号化は、802.11フレームのMACヘッダの中のWEPフラグをセットすることによって指示される。WEPは、無線フレームの暗号化された部分の中に完全性チェック値(integrity check value:ICV)を含めることによって、ランダム誤差に対するデータ完全性を提供する。
以下の表はWEPが定義する2つの共有鍵を示す。
Figure 2006228195
WEP暗号化は、40ビットおよび104ビット暗号化鍵を用いたRC4対称ストリーム暗号を使用する。
WPA(Wi−Fi Protected Access)
WPAは、WEPのセキュリティ機能を上回るように設計されたWi−Fi規格である。WEPとは異なり、WPAでは802.1x認証が必要となる。WPAでは、ユニキャスト暗号化鍵とグローバル暗号化鍵の両方のリキーイング(rekeying)が必要である。ユニキャスト暗号化鍵では、TKIP(Temporal Key Integrity Protocol)がフレームごとに鍵を変更し、この変更は、無線クライアントと無線アクセスポイント(AP)の間で同期される。グローバル暗号化鍵では、無線APが、接続された無線クライアントに変更された鍵を知らせる機能を、WPAが含む。
TKIPは、WEPを、WEPアルゴリズムよりも強い暗号化アルゴリズムに置き換える。TKIPはさらに、暗号化鍵が決定された後のセキュリティ構成の検証、それぞれのフレームのユニキャスト暗号化鍵の同期された変更、およびそれぞれの事前共用鍵認証のための一意の出発ユニキャスト暗号化鍵の決定を提供する。
WPAはさらに、8バイトのメッセージ完全性コード(message integrity code:MIC)を計算するアルゴリズムを指定する「Michael」として知られる方法を使用する。MICは、IEEE802.11フレームのデータ部分と4バイトの完全性チェック値(ICV)の間に置かれる。MICフィールドは、フレームデータおよびICVとともに暗号化される。
WPAは、その完成時にはIEEE802.11i規格に置き換えられる暫定的な規格である。
Wi−Fiハンドラ
アソシエーションタイプは、アソシエーション要求およびアソシエーション応答のヘッダセクションの中に含まれる属性であり、データ属性からは分離されている。この属性は、アソシエーション要求を適切なハンドラに転送するためにアソシエーションマネージャによって使用される。この例では、Wi−Fiハンドラ410が以下の必要なアソシエーションタイプを有する。
Figure 2006228195
アソシエーション要求のデータセクションは、その属性タイプに固有の属性を含む。以下の表は、アソシエーションマネージャがWi−Fiハンドラ610に転送することができる例示的な属性を識別する。
Figure 2006228195
MACアドレス
MACアドレスは、MACアドレスの48ビット値を含む6バイト値である。例えば、0x00 0x07 0xE9 0x4C 0xA8 0x1C。
ネットワーク認証タイプフラグ
このフラグセットは、どの「ネットワーク認証タイプ」タイプがサポートされているのを装置が知らせることを可能にする。この情報は診断目的に使用することができる。装置が必要な属性をサポートしていない場合、このことをユーザに通知し、この問題を除くための使用可能な指示をユーザに与えることができる。この例では、このフィールドの値が、以下の1つまたは複数の値のビットごとのORである。
0x0001=Open
0x0002=WPAPSK
0x0004=Shared
0x0008=WPA
0x0010=WPA−NONE
0x0020=WPA2
この例では他の値は予備であり、0にセットされる。
データ暗号化タイプフラグ
このフラグセットは、どの「データ暗号化タイプ」タイプがサポートされているのかを装置が知らせることを可能にする。この情報は診断目的に使用することができる。装置が必要な属性をサポートしていない場合、このことをユーザに通知し、この問題を除くための使用可能な指示をユーザに与えることができる。この例では、このフィールドの値が、以下の1つまたは複数の値のビットごとのORである。
0x0001=WEP
0x0002=TKIP
0x0004=AES
この例でも他の値は予備であり、0にセットされる。
接続タイプフラグ
このフラグセットは、どの「接続タイプ」タイプがサポートされているのかを装置が知らせることを可能にする。この情報は診断目的に使用される。装置が必要な属性をサポートしていない場合、このことをユーザに通知し、この問題を除くための使用可能な指示をユーザに与えることができる。このフィールドの値は、以下の1つまたは複数の値のビットごとのORである。
0x01=ESS(Extended Service Set)
0x02=IBSS(Independent Basic Service Set)
この例では他の値は予備であり、0にセットされる。
ハンドラ610とサービス650の対話に少なくとも部分的に基づいて、応答コンポーネント630は、アソシエーション応答に関連づけられた情報を生成する。Wi−Fiハンドラの例を続けると、表11は、例示的なアソシエーション応答属性を識別する。この例の属性リストの中の属性の長さは固定である。したがって、装置製品は、適当なオフセットまで容易にジャンプして、応答の中の与えられた任意の属性の値を読むことができる。オフセットは属性の先頭を指す。
Figure 2006228195
SSID
以前に論じたとおり、SSIDは、ブロードキャスト無線ネットワークで使用される文字列である。
ネットワーク鍵
ネットワーク鍵はネットワークを安全にするために使用される文字列である。この例では、ネットワーク鍵の許容値に対する制約条件として以下の属性が置かれる。装置は、以下の構成を受け入れまたは拒絶する準備がされていなければならない。
Figure 2006228195
WEP鍵
データ認証タイプがWEPのとき、ネットワーク鍵は、40ビットまたは104ビットWEP鍵のASCIIまたはHEX表現である。このタイプは、文字列の長さによって決定することができる。
WPAPSKパスフレーズ
ネットワーク鍵属性が0〜63文字のASCII文字列であり、「ネットワーク認証タイプ」属性がWPAである場合、ネットワーク鍵属性は、WPA2進鍵を得るパスフレーズ(pass phrase)として使用される。
Key Provided Automatically(802.1x)
「Key Provided Automatically(802.1x)」属性は、ネットワーク鍵が801.xによって提供されるか否かを指図する。無線ネットワークを安全にするためにWPA−PSKまたはWEPが使用される場合、これは一般に0にセットされる。
ネットワーク認証タイプ
ネットワーク認証タイプは、特定のネットワークに加わるためにどのタイプのセキュリティ機構が必要かを指示する。このフラグセットは、以下のどの機構が使用されるのかを指定する。
0x0001=Open
0x0002=WPAPSK
0x0004=Shared
0x0008=WPA
0x0010=WPA−NONE
0x0020=WPA2
この例では他の値が予備であり、0にセットされる。重要には、アソシエーション要求とは異なり、これらのフラグは相互排除であり、一度に1つのフラグしかセットすることができない。
データ暗号化タイプ
この値は、その無線ネットワークによって使用される暗号化機構を指定する。
このフラグセットは、以下のどの機構が使用されるのかを指定する。
0x0001=WEP
0x0002=TKIP
0x0004=AES
他の値はすべて予備であり、0にセットされる。重要には、アソシエーション要求とは異なり、これらのフラグは相互排除であり、一度に1つのフラグしかセットすることができない。
接続タイプ
接続タイプは無線ネットワークのタイプを定義する。このフラグセットは以下のどの機構が使用されるのかを指定する。
0x01=ESS
0x02=IBSS
他の値はすべて予備であり、0にセットされる。これらのフラグは相互排除である。
次に図7を参照すると、本発明の一態様に基づくアソシエーションドライバシステム700が示されている。システム700は、信用媒体通信コンポーネント720およびドライバ通信コンポーネント730を備えたドライバ710を含む。
信用媒体通信コンポーネント720は、信用媒体(例えばUSB接続)を介して装置740とインターフェースする。一例では、信用媒体通信コンポーネント720が、装置740からアソシエーション要求(例えば装置列挙(enumeration)の時刻とは独立に開始されたアソシエーション要求)を受け取る。他の例では、信用媒体通信コンポーネント720が、アソシエーション要求の発行を要求する通知を受け取る。その後、ドライバ710は、ドライバ通信コンポーネント730を介してアソシエーションマネージャ(図示せず)に送られるアソシエーション要求を生成する。
一例では、ドライバ710が以下のインターフェースを実装する。
Figure 2006228195
「Manager」は、アソシエーションマネージャを指すインターフェースポインタであり、それによってドライバはSendAssociationRequestを呼び出すことができる。Start()は、新しいアソシエーション要求の検出および発行をドライバに開始させたいときにアソシエーションマネージャによって呼び出される。Stop()は、新しいアソシエーション要求の発行をドライバに停止させたいとき(例えば、ユーザが、特定の信用媒体上でのアソシエーションを無効にしたいとき)に、アソシエーションマネージャによって呼び出される。
一例では、特定のドライバ710をUSB信用媒体に関係づけることができる。この例では、非信用媒体を使用したい装置が、ドライバ710を通して安全にアソシエーション要求を送り、アソシエーション応答を受け取る。
装置の列挙とは独立にアソシエーション要求を生成することができる、動的アソシエーション機能を実装した装置に関しては、一例において、任意選択の割込みINエンドポイント(endpoint)がある。このエンドポイントは、新しいアソシエーション要求の通知を容易にする。この任意選択のエンドポイントに対する標準エンドポイント記述子が表14に示されている。
Figure 2006228195
装置のインターフェースがこの任意選択のエンドポイントを含まない場合、アソシエーションは列挙時にしか実施されない。そのような装置がアソシエーション処理を開始したい場合には、装置によって開始されるUSBリセットを実施しなければならない。これによって、装置はホストによって再列挙され、そのポイントで、ホストは、装置からアソシエーション要求を取り出す。他の例では、装置がさらに、装置の希望に応じてアソシエーション機能を呼び出すHUB機能を実装することができる。
この制御エンドポイントは、アソシエーションインターフェースをサポートする装置の唯一の必須のエンドポイントなので、必要なデータ転送はそのエンドポイントで実施される。この例では、これらの転送がアソシエーションクラス要求の形態をとる。
表15に、一例では装置によってサポートされなければならないアソシエーションクラス要求のリストを示す。
Figure 2006228195
GET_ASSOCIATION_INFORMATION
この要求はアソシエーション情報構造を装置から取り出す。アソシエーション情報は、REQUEST_INFOブロックのリストを含む。それぞれのREQUEST_INFOブロックは、装置が発行したい単一のアソシエーション要求に関する。
Figure 2006228195
表17は、例示的なASSOCIATION_INFORMATION構造を示す。
Figure 2006228195
表18は、例示的なアソシエーション情報フラグ情報を提供する。
Figure 2006228195
表19は、例示的なREQUEST_INFO構造を示す。
Figure 2006228195
GET_ASSOCIATION_REQUEST
この要求は、特定のアソシエーション要求を装置から取り出す。この要求は、wValueフィールド内のRequestID値によって識別される。
Figure 2006228195
この例では、要求ブロックが4KBデータブロックである。制御転送の最大転送サイズは64KBであり、そのため理論的には、GET_ASSOCIATION_REQUESTごとに16個の要求ブロックを転送することができる。転送される実際のデータ量はwLengthフィールドによって指定される。wValueフィールド内に指定されたBlockNumberは、この制御転送の出発ブロック番号を識別する。そのためこの例では、装置540が、オフセットBlockNumber×4KBから始まるRequestIDによって指定され、wLengthバイトを転送する、その要求のアソシエーション要求データを返さなければならない。
SET_ASSOCIATION_RESPONSE
この要求は、wValueフィールド内のRequestID値によって識別される特定のアソシエーション要求に対する応答を送る。
Figure 2006228195
この例では、TransferFlags値が、表22に示された0以上の値のビットごとのORである。
Figure 2006228195
アソシエーション割込みINメッセージ
NewAssociationRequest
この割込みINメッセージは、処理する必要がある新しいまたは変更されたアソシエーション要求を装置が有することをホストに指示する。このメッセージを受け取ると、ホストは、GET_ASSOCIATION_INFORMATION要求を発行し、それに応じてこれらのアソシエーション要求を処理することができる。
Figure 2006228195
システム100、装置110、アソシエーションマネージャ120、ハンドラ130、ドライバ140、ハンドラレジストリ150、ドライバレジストリ160、システム400、アソシエーションマネージャ410、マネージャ通信コンポーネント420、ハンドラ識別コンポーネント430、アソシエーションマネージャ510、初期化コンポーネント520、システム600、ハンドラ610、要求コンポーネント620、応答コンポーネント630、アソシエーションプロセッサ640、サービス650、システム700、ドライバ710、信用媒体通信コンポーネント720、ドライバ通信コンポーネント730および/または装置740は、その用語が本明細書に定義されたコンピュータコンポーネントであることができることを理解されたい。
図8〜18を簡単に参照すると、本発明に従って実施することができる方法が示されている。説明を簡単にするためにこれらの方法は一連のブロックとして示され記述されるが、本発明によれば、いくつかのブロックは、本明細書に示され記述されるものとは異なる順序で実施し、かつ/または他のブロックと同時に実施することができるので、本発明は、ブロックの順序によって限定されないことを理解されたい。また、本発明に基づく方法を実施するのに、示されたすべてのブロックが必要となるわけではない。
本発明は、1つまたは複数のコンポーネントによって実行されるプログラムモジュールなどのコンピュータ実行可能命令の一般的な文脈で記述することができる。一般に、プログラムモジュールは、特定のタスクを実行し、または特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、データ構造などを含む。一般に、プログラムモジュールの機能は、様々な実施形態において希望に応じて組み合わせまたは分散させることができる。
図8を参照すると、装置を関連づける本発明の一態様に基づく方法800が示されている。810で、信用媒体(例えばUSB)を介して(例えば装置の)接続が確立される。820で、例えば装置および/または関連づけられたドライバによってアソシエーション要求が発行される。830で、アソシエーション応答に関連づけられた情報が(例えばドライバから)受け取られる。この情報は例えば、アソシエーションマネージャから受け取られたアソシエーション応答を含むことができる。この情報はあるいは、アソシエーションマネージャから受け取られたアソシエーション応答の一部を含むことができる。
840で、アソシエーションが成功だったかどうかに関する判定が実施される。840での判定がNOの場合、それ以上の処理は実施されない。840での判定がYESの場合には、850で、このアソシエーション応答に関連づけられた情報が使用されて、非信用媒体(例えば無線接続)を介して(例えば装置を)接続する。
次に図9を参照すると、装置のアソシエーションを容易にする本発明の一態様に基づく方法900が示されている。910で、アソシエーション要求に関連づけられた情報が受け取られる。920で、アソシエーション要求が受け取られたかどうかに関する判定が実施される。920での判定がNOの場合には、930で、アソシエーション要求が生成され、処理は940に続く。920での判定がYESの場合には、940で、受け取られたアソシエーション要求が例えばアソシエーションマネージャへ送られる。
950で、例えばアソシエーションマネージャからアソシエーション応答が受け取られる。960で、アソシエーション応答に関連づけられた情報が要求装置に提供される。例えば、この情報は、アソシエーション応答の全体および/またはアソシエーション応答の部分を含むことができる。その後、これ以上の処理は実施されない。
次に図10〜12を参照すると、USB接続1000を介して装置を関連づける本発明の一態様に基づく方法が示されている。1004で、装置が列挙され、かつ/または新しいアソシエーション要求事象が発行される。1008で、GET_ASSOCIATION_INFORMATION要求が例えばドライバによって装置に送られる。1012で、アソシエーション情報全体のサイズが例えばドライバによって決定される(例えばサイズ=3+sizeof(REQUEST_INFO)×PendingRequestCount)。
1016で、実質的にすべてのアソシエーション情報が例えばドライバによって受け取られたかどうかに関する判定が実施される。1016での判定がNOの場合、処理は1008に続く。1016での判定がYESの場合には、1020で、PendingRequestCountが0よりも大きいかどうかに関する決定が実施される。1020での判定がNOの場合、それ以上の処理は実施されない。
1020での判定がYESの場合には、1024で、(例えばドライバによって)処理する要求が識別される。1028で、転送(例えばアソシエーション要求)のサイズが決定される。1032で、GET_ASSOCIATION_REQUESTが送られる。1036で、他に要求データがあるかどうかに関する判定が実施される。1036での判定がYESの場合、処理は1028に続く。1036での判定がNOの場合には、1040で、要求されたアソシエーションが処理され、(例えばアソシエーションマネージャおよび/またはハンドラによって)アソシエーション応答が生成される。
1040で、アソシエーション応答転送のサイズが決定される。1048で、SET_ASSOCIATION_RESPONSEが送られる。1052で、他に応答データがあるかどうかに関する判定が実施される。1052での判定がYESの場合、処理は1044に続く。1052での判定がNOの場合には、1056で、他に要求があるかどうかに関する決定が実施される。
1056での判定がYESの場合、処理は1024に続く。1056での判定がNOの場合には、1060で、追加の要求フラグがアソシエーション情報の中に送られているかどうかに関する決定が実施される。1060での判定がYESの場合、処理は1008に続く。1060での判定がNOの場合、それ以上の処理は実施されない。
次に図13を参照すると、本発明の一態様に基づくアソシエーション管理方法1300が示されている。1310で、アソシエーション要求が例えばドライバから受け取られる。1320で、そのアソシエーション要求に対するハンドラが識別される。1340で、そのアソシエーション要求に対するハンドラが存在するかどうかに関する判定が実施される。1340での判定がNOの場合には、1350で、アソシエーション応答の失敗が生成され、処理は1360に続く。
1340での判定がYESの場合には、1370で、アソシエーション要求に関連づけられた情報がハンドラに送られる。例えば、この情報は、アソシエーション要求および/またはアソシエーション要求の一部(例えば属性リスト)を含むことができる。
1380で、アソシエーション応答に関連づけられた情報がハンドラから受け取られる。1360で、アソシエーション応答が要求ドライバに提供される。
図14〜16を参照すると、本発明の一態様に基づくアソシエーション管理方法1400が示されている。1404で、アソシエーション要求が例えばドライバから受け取られる。1408で、このアソシエーション要求の妥当性が検査される。1412で、アソシエーション要求が適格かどうかに関する判定が実施される。1412での判定がNOの場合には、1416で、不適格なアソシエーション要求を指示するアソシエーション応答が生成され、処理は1420に続く。
1412での判定がYESの場合には、1424で、アソシエーション要求に対するハンドラが見つけられる。1428で、ハンドラが見つかったかどうかに関する判定が実施される。1428での判定がNOの場合には、1432で、サポートされていないアソシエーションタイプを指示するアソシエーション応答が生成され、処理は1420に続く。
1428での判定がYESの場合には、1436で、アソシエーション要求が構文解析され、属性のリストが構築される。1440で、識別されたハンドラにこの属性リストが送られる。1444で、応答情報がハンドラから受け取られる。1448で、アソシエーションが成功だったかどうかに関する判定が実施される。1448での判定がNOの場合には、1452で、適当なエラーステータスを指示するアソシエーション応答が生成され、処理は1420に続く。
1448での判定がYESの場合には、1456で、応答フォーマットの妥当性が検査される。1460で、応答が適格かどうかに関する判定が実施される。1460での判定がNOの場合には、1464で、適当なエラーステータスを指示するアソシエーション応答が生成され、処理は1420に続く。
1460での判定がYESの場合には、1468で、ハンドラからの応答に基づいてアソシエーション応答が生成される。1420で、このアソシエーション応答が要求ドライバに提供され、それ以上の処理は実施されない。
図17を参照すると、本発明の一態様に基づくアソシエーションハンドラ方法1700が示されている。1710で、アソシエーション要求に関連づけられた情報(例えば属性リスト)が例えばアソシエーションマネージャから受け取られる。1720で、アソシエーション要求が処理される。1730で、アソシエーションマネージャに応答情報が提供される。
本発明の様々な態様に追加の文脈を提供するため、図18および以下の議論は、本発明の様々な態様を実現することができる適当な動作環境1810の簡単な概説を提供することを意図したものである。本発明は、1つまたは複数のコンピュータまたは他の装置によって実行されるプログラムモジュールなどのコンピュータ実行可能命令の一般的な文脈で記述されるが、本発明は、他のプログラムモジュールと組み合わせて、かつ/またはハードウェアとソフトウェアの組合せとして、実現することもできることを当業者は理解されたい。しかし一般に、プログラムモジュールは、特定のタスクを実行し、または特定のデータ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。動作環境1810は、適当な動作環境の一例にすぎず、本発明の使用範囲または本発明の機能の範囲に関する制限を示唆することを意図したものではない。本発明とともに使用するのに適している可能性がある他の周知のコンピュータシステム、環境および/または構成には、パーソナルコンピュータ、ハンドヘルドまたはラップトップ装置、マルチプロセッサシステム、マイクロプロセッサベースシステム、プログラマブル家電、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、上記のシステムまたは装置を含む分散コンピューティング環境などが含まれる。ただしこれらに限定されるわけではない。
図18を参照すると、本発明の様々な態様を実現するための例示的な環境1810はコンピュータ1812を含む。コンピュータ1812は、処理ユニット1814、システムメモリ1816およびシステムバス1818を含む。システムバス1818は、システムメモリ1816を含むシステムコンポーネントを処理ユニット1814に結合する。処理ユニット1814は、使用可能な様々なプロセッサのうちの任意のプロセッサとすることができる。デュアルマイクロプロセッサおよび他のマルチプロセッサーアーキテクチャを処理ユニット1814として使用することもできる。
システムバス1818は、例えば8ビットバス、ISA(Industrial Standard Architecture)、MSA(Micro−Channel Architecture)、EISA(Extended ISA)、IDE(Intelligent Drive Electronics)、VLB(VESA Local Bus)、PCI(Peripheral Component Interconnect)、USB(Universal Sereal Bus)、AGP(Advanced Graphics Port)、PCMCIA(Personal Computer Memory Card International Association bus)およびSCSI(Small Computer Systems Interface)を含む使用可能な様々なバスアーキテクチャを使用した、メモリバスまたはメモリコントローラ、周辺バスまたは外部バス、および/あるいはローカルバスを含む、いくつかのバス構造タイプのうちの任意のバス構造とすることができる。
システムメモリ1816は、揮発性メモリ1820および不揮発性メモリ1822を含む。不揮発性メモリ1822には、例えば起動中にコンピュータ1812内の要素間で情報を転送するための基本ルーチンを含む基本入出力システム(BIOS)が記憶されている。不揮発性メモリ1822は例えば、リードオンリーメモリ(ROM)、プログラマブルROM(PROM)、電気的にプログラム可能なROM(EPROM)、電気的に消去可能なROM(EEPROM)、またはフラッシュメモリを含む。ただしこれらに限定されるわけではない。揮発性メモリ1820は、外部キャッシュメモリの働きをするランダムアクセスメモリ(RAM)を含む。RAMは例えば、SRAM(synchronous RAM)、DRAM(dynamic RAM)、SDRAM(synchronous DRAM)、DDR SDRAM(double data rate SDRAM)、ESDRAM(enhanced SDRAM)、SLDRAM(Synchlink DRAM)、DRRAM(direct Rambus RAM)などの多くの形態で使用可能である。ただしこれらに限定されるわけではない。
コンピュータ1812はさらに、取り外し可能/取り外し不能な揮発性/不揮発性コンピュータ記憶媒体を含む。図18には例えばディスク記憶装置1824が示されている。ディスク記憶装置1824は、磁気ディスクドライブ、フロッピー(登録商標)ディスクドライブ、テープドライブ、Jazドライブ、Zipドライブ、LS−100ドライブ、フラッシュメモリカード、メモリスティックのような装置を含む。ただしこれらに限定されるわけではない。ディスク記憶装置1824はさらに、CD−ROM(compact disk ROM device)、CD−Rドライブ(CD recordable drive)、CD−RWドライブ(CD rewritable drive)、DVD−ROM(digital versatile disk ROM drive)などの光ディスクドライブを含む記憶媒体を、他の記憶媒体とは別にまたは他の記憶媒体と組み合わせて含むことができる。ただし光ディスクドライブはこれらに限定されるわけではない。ディスク記憶装置1824とシステムバス1818の接続を容易にするため、インターフェース1826などの取外し可能なまたは取外し不能のインターフェースが一般に使用される。
図18には、ユーザと適当な動作環境1810の中に記載された基本的なコンピュータリソースとの間の仲介手段の働きをするソフトウェアが記載されていることを理解されたい。このようなソフトウェアにはオペレーティングシステム1828が含まれる。オペレーティングシステム1828は、ディスク記憶装置1824上に記憶することができ、コンピュータシステム1812のリソースを制御し割り当てる役目を果たす。システムアプリケーション1830は、システムメモリ1816またはディスク記憶装置1824に記憶されたプログラムモジュール1832およびプログラムデータ1834を通して、オペレーティングシステム1828によるリソースの管理を利用する。本発明は、様々なオペレーティングシステムまたはオペレーティングシステムの組合せを用いて実現することができることを理解されたい。
ユーザは、入力装置1836によってコンピュータ1812にコマンドまたは情報を入力する。入力装置1836には、マウスなどのポインティングデバイス、トラックボール、スタイラス、タッチパッド、キーボード、マイクロホン、ジョイスティック、ゲームパッド、衛星アンテナ、スキャナ、TVチューナカード、デジタルカメラ、デジタルビデオカメラ、ウェブカメラなどが含まれる。これらの入力装置および他の入力装置は、インターフェースポート1838を介してシステムバス1818を通して処理ユニット1814に接続する。インターフェースポート1838には例えば、シリアルポート、パラレルポート、ゲームポートおよびユニバーサルシリアルバス(USB)が含まれる。出力装置1840は、入力装置1836と同じタイプのいくつかのポートを使用する。したがって例えば、USBポートを使用して、コンピュータ1812に入力を提供し、コンピュータ1812から出力装置1840に情報を出力することができる。出力アダプタ1842は、モニタ、スピーカ、プリンタなど、専用のアダプタを必要とするいくつかの出力装置1840があることを示すために提供されている。出力アダプタ1842には例えば、出力装置1840とシステムバス1818の間の接続手段を提供するビデオカードおよびサウンドカードが含まれる。ただしこれらに限定されるわけではない。リモートコンピュータ1844などの他の装置および/または装置のシステムは、入力機能と出力機能の両方を提供することに留意されたい。
コンピュータ1812は、リモートコンピュータ1844などの1つまたは複数のリモートコンピュータへの論理接続を使用するネットワーク環境で動作することができる。リモートコンピュータ1844は、パーソナルコンピュータ、サーバ、ルータ、ネットワークPC、ワークステーション、マイクロプロセッサベースの電気器具、ピア(peer)装置または他の一般的なネットワークノードなどであることができ、リモートコンピュータ1844は一般に、コンピュータ1812に関して説明した要素の多くまたは全部を含む。簡潔にするため、リモートコンピュータ1844には記憶装置1846しか示されていない。リモートコンピュータ1844は、ネットワークインターフェース1848を介してコンピュータ1812に論理的に接続され、次いで通信接続1850を介して物理的に接続される。ネットワークインターフェース1848は、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)などの通信ネットワークを包含する。LAN技術には、FDDI(Fiber Distributed Data Interface)、CDDI(Copper Distributed Data Interface)、Ethernet(登録商標)/IEEE802.3、Token Ring/IEEE802.5などが含まれる。WAN技術には、2地点間リンク、統合サービスデジタル通信網(ISDN)およびそのバリエーションのような回線交換網、パケット交換網、デジタル加入者線(DSL)などが含まれる。ただしこれらに限定されるわけではない。
通信接続1850は、ネットワークインターフェース1848をバス1818に接続するために使用されるハードウェア/ソフトウェアを指す。図を分かりやすくするために、通信接続1850はコンピュータ1812の内部に示されているが、通信接続1850はコンピュータ1812の外部にあってもよい。ネットワークインターフェース1848に接続するために必要なハードウェア/ソフトウェアには例えば、通常の電話グレードのモデム、ケーブルモデムおよびDSLモデムを含むモデム、ISDNアダプタ、Ethernet(登録商標)カードなどの内部および外部技術が含まれる。
以上の説明は本発明の例を含む。もちろん、本発明を説明するために、コンポーネントまたは方法の考えられるすべての組合せを記載することは不可能だが、本発明の他の多くの組合せおよび置換が可能であることを当業者は理解されたい。したがって、本発明は、添付の請求項の趣旨および範囲に含まれるこのようなすべての変更、修正および変形を包含する。さらに、詳細な説明または請求項で用語「含む(include)」が使用される範囲において、この用語は、請求項で移行語(transitional word)として使用されるときの用語「備える(comprising)」の解釈と同様に包括的(inclusive)である。
本発明の一態様に基づくアソシエーションアーキテクチャのブロック図である。 本発明の一態様に基づくアソシエーション要求を示す図である。 本発明の一態様に基づくアソシエーション応答を示す図である。 本発明の一態様に基づくアソシエーション管理システムのブロック図である。 本発明の一態様に基づくアソシエーション管理システムのブロック図である。 本発明の一態様に基づくアソシエーションハンドラシステムのブロック図である。 本発明の一態様に基づくアソシエーションドライバシステムのブロック図である。 装置を関連づける本発明の一態様に基づく方法の流れ図である。 装置のアソシエーションを容易にする本発明の一態様に基づく方法の流れ図である。 USB接続によって装置を結びつける本発明の一態様に基づく方法の流れ図である。 図10の方法の続きを示す流れ図である。 図10および11の方法の続きを示す流れ図である。 本発明の一態様に基づくアソシエーション管理方法の流れ図である。 本発明の一態様に基づくアソシエーション管理方法の流れ図である。 図14の方法の続きを示す流れ図である。 図14および15の方法の続きを示す流れ図である。 本発明の一態様に基づくアソシエーションハンドラ方法の流れ図である。 本発明が機能することができる動作環境の一例である。
符号の説明
110 装置
120 アソシエーションマネージャ
130 ハンドラ
140 ドライバ
150 ハンドラレジストリ
160 ドライバレジストリ
210 アソシエーション要求ヘッダ
310 アソシエーション応答ヘッダ
410 アソシエーションマネージャ
420 マネージャ通信コンポーネント
430 ハンドラ識別コンポーネント
510 アソシエーションマネージャ
520 初期化コンポーネント
610 ハンドラ
620 要求コンポーネント
630 応答コンポーネント
640 アソシエーションプロセッサ
650 サービス
710 ドライバ
720 信用媒体通信コンポーネント
730 ドライバ通信コンポーネント
740 装置
1814 処理ユニット
1816 システムメモリ
1818 バス
1820 揮発
1822 不揮発
1824 ディスク記憶装置
1826 インターフェース
1828 オペレーティングシステム
1830 アプリケーション
1832 モジュール
1834 データ
1836 入力装置
1838 入力ポート
1840 出力装置
1842 出力アダプタ
1844 リモートコンピュータ
1846 記憶装置
1848 ネットワークインターフェース
1850 通信接続

Claims (20)

  1. 1つまたは複数のハンドラに関連づけられた識別情報を記憶するハンドラレジストリと、
    特定のハンドラにアソシエーション要求を、前記アソシエーション要求の中の経路指定情報および前記ハンドラレジストリの中に記憶された前記識別情報に少なくとも部分的に基づいて提供するアソシエーションマネージャと
    を備えることを特徴とするアソシエーション管理システム。
  2. ハンドラに関連づけられた前記識別情報は大域的に固有の識別子を含むことを特徴とする請求項1に記載のシステム。
  3. システム初期化中にインスタンスが生成される少なくとも1つのドライバおよび少なくとも1つのハンドラを識別する初期化コンポーネントをさらに備え、前記初期化コンポーネントはさらに、前記少なくとも1つのドライバおよび少なくとも1つのハンドラのインスタンス生成を開始することを特徴とする請求項1に記載のシステム。
  4. インスタンスが生成される前記少なくとも1つのドライバに関連づけられた情報を記憶したドライバレジストリをさらに備えることを特徴とする請求項3に記載のシステム。
  5. 前記アソシエーション要求は少なくとも1つのアソシエーション要求属性を含むことを特徴とする請求項1に記載のシステム。
  6. 前記アソシエーション要求属性は属性タイプ、属性データ長およびデータを含むことを特徴とする請求項5に記載のシステム。
  7. 前記アソシエーションマネージャは、前記ハンドラによって提供される情報に少なくとも部分的に基づいてアソシエーション応答を生成することを特徴とする請求項1に記載のシステム。
  8. 前記アソシエーション応答はアソシエーション応答属性を含むことを特徴とする請求項7に記載のシステム。
  9. 前記アソシエーション応答属性は属性タイプ、属性長さおよびデータを含むことを特徴とする請求項8に記載のシステム。
  10. 前記アソシエーション応答は、非信用媒体を介して装置がコンピュータシステムと通信するための情報を含むことを特徴とする請求項7に記載のシステム。
  11. 前記非信用媒体は無線通信接続を含むことを特徴とする請求項10に記載のシステム。
  12. 前記アソシエーション要求はドライバによって生成され、前記ドライバはさらに前記アソシエーション応答を受け取ることを特徴とする請求項10に記載のシステム。
  13. アソシエーション要求に少なくとも部分的に基づいてハンドラを識別するステップと、
    前記アソシエーション要求に関連づけられた情報を前記識別されたハンドラに送るステップと、
    前記ハンドラから応答を受け取るステップと、
    前記応答に少なくとも部分的に基づいてアソシエーション応答を生成するステップと、
    前記アソシエーション応答を要求ドライバに提供するステップと
    を含むことを特徴とするアソシエーション管理方法。
  14. 前記アソシエーション要求の妥当性を検査するステップ、
    前記アソシエーション要求が適格かどうかを判定するステップ、および
    前記アソシエーション要求が適格でない場合に、不適格なアソシエーション要求を指示するアソシエーション応答を生成するステップ
    のうちの少なくとも1つのステップをさらに含むことを特徴とする請求項13に記載の方法。
  15. ハンドラが見つかったかどうかを判定するステップ、
    前記ハンドラが見つからなかった場合に、サポートされていないアソシエーションタイプを指示するアソシエーション応答を生成するステップ、および
    前記アソシエーション要求を構文解析して属性のリストを構築するステップ
    のうちの少なくとも1つのステップをさらに含むことを特徴とする請求項13に記載の方法。
  16. 前記応答フォーマットの妥当性を検査するステップ、
    アソシエーションが成功したかどうかを判定するステップ、
    前記アソシエーションが成功しなかった場合に、エラーステータスを指示するアソシエーション応答を生成するステップ、
    前記応答が適格かどうかを判定するステップ、および
    前記応答が適格でない場合に、エラーステータスを指示するアソシエーション応答を生成するステップ
    のうちの少なくとも1つのステップをさらに含むことを特徴とする請求項13に記載の方法。
  17. 請求項13に記載の方法を実行するためのコンピュータ実行可能命令が記憶されていることを特徴とするコンピュータ可読媒体。
  18. 2つ以上のコンピュータコンポーネント間で伝送され、装置アソシエーションを容易にするデータパケットであって、
    アソシエーション応答ヘッダおよびアソシエーション応答属性を含み、非信用媒体を介して装置がコンピュータシステムと通信するための情報を提供するアソシエーション応答
    を含むことを特徴とするデータパケット。
  19. 前記アソシエーション応答属性は属性タイプ、属性長さおよびデータを含むことを特徴とする請求項18に記載のデータパケット。
  20. 前記非信用媒体は無線通信接続を含むことを特徴とする請求項18に記載のシステム。
JP2005373136A 2004-12-30 2005-12-26 信用媒体を介した非信用媒体装置構成のための拡張可能なアーキテクチャ Pending JP2006228195A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/026,193 US20060153384A1 (en) 2004-12-30 2004-12-30 Extensible architecture for untrusted medium device configuration via trusted medium

Publications (2)

Publication Number Publication Date
JP2006228195A true JP2006228195A (ja) 2006-08-31
JP2006228195A5 JP2006228195A5 (ja) 2009-02-19

Family

ID=36118246

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005373136A Pending JP2006228195A (ja) 2004-12-30 2005-12-26 信用媒体を介した非信用媒体装置構成のための拡張可能なアーキテクチャ

Country Status (10)

Country Link
US (1) US20060153384A1 (ja)
EP (1) EP1677189B1 (ja)
JP (1) JP2006228195A (ja)
KR (1) KR20060079107A (ja)
CN (1) CN1798020A (ja)
AT (1) ATE397248T1 (ja)
AU (1) AU2005244603A1 (ja)
BR (1) BRPI0505642A (ja)
DE (1) DE602005007171D1 (ja)
MX (1) MXPA05013941A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010136172A (ja) * 2008-12-05 2010-06-17 Ricoh Co Ltd 通信装置及び通信方法

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4815855B2 (ja) * 2005-04-20 2011-11-16 ブラザー工業株式会社 暗号鍵設定装置
JP4745773B2 (ja) * 2005-09-21 2011-08-10 キヤノン株式会社 通信装置、及びその制御方法、並びにコンピュータプログラム
WO2008001146A1 (en) * 2006-06-28 2008-01-03 Nokia Corporation Methods and devices for wire-based configuration of wireless devices
EP2183903B1 (en) * 2007-08-31 2018-12-26 France Brevets Method and apparatus for propagating encryption keys between wireless communication devices

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5613123A (en) * 1992-09-30 1997-03-18 Microsoft Corporation Method and system for configuring and executing device drivers based on configuration requirements
EP1233337A2 (en) * 2001-02-20 2002-08-21 Hewlett-Packard Company Peripheral devices which manage application upload to computing devices
US20030051011A1 (en) * 2001-09-07 2003-03-13 Bryan Schacht System and method for installing printer driver software
JP2004094736A (ja) * 2002-09-02 2004-03-25 Toshiba Corp 電子機器、通信環境設定方法およびプログラム
JP2004266870A (ja) * 2001-10-29 2004-09-24 Nec Infrontia Corp パラメータ設定システム
JP2004328288A (ja) * 2003-04-23 2004-11-18 Canon Inc 撮像装置及び画像処理装置、及びそれらの制御方法、並びに、無線通信環境設定方法
US7174564B1 (en) * 1999-09-03 2007-02-06 Intel Corporation Secure wireless local area network

Family Cites Families (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5507810A (en) * 1991-10-07 1996-04-16 Osteotech, Inc. Processing of fibrous connective tissue
US5391203A (en) * 1992-04-13 1995-02-21 Scott P. Bartlett Method of draining and filling soft tissue implant
US5339432A (en) * 1992-10-13 1994-08-16 Microsoft Corporation Method and system for providing user control of device driver configuration
US6140452A (en) * 1994-05-06 2000-10-31 Advanced Bio Surfaces, Inc. Biomaterial for in situ tissue repair
US6137476A (en) * 1994-08-25 2000-10-24 International Business Machines Corp. Data mouse
US6080194A (en) * 1995-02-10 2000-06-27 The Hospital For Joint Disease Orthopaedic Institute Multi-stage collagen-based template or implant for use in the repair of cartilage lesions
US5733337A (en) * 1995-04-07 1998-03-31 Organogenesis, Inc. Tissue repair fabric
US6007570A (en) * 1996-08-13 1999-12-28 Oratec Interventions, Inc. Apparatus with functional element for performing function upon intervertebral discs
US6095149A (en) * 1996-08-13 2000-08-01 Oratec Interventions, Inc. Method for treating intervertebral disc degeneration
US5788625A (en) * 1996-04-05 1998-08-04 Depuy Orthopaedics, Inc. Method of making reconstructive SIS structure for cartilaginous elements in situ
US6077989A (en) * 1996-05-28 2000-06-20 Kandel; Rita Resorbable implant biomaterial made of condensed calcium phosphate particles
US5964807A (en) * 1996-08-08 1999-10-12 Trustees Of The University Of Pennsylvania Compositions and methods for intervertebral disc reformation
US6126682A (en) * 1996-08-13 2000-10-03 Oratec Interventions, Inc. Method for treating annular fissures in intervertebral discs
US8225089B2 (en) * 1996-12-04 2012-07-17 Otomaku Properties Ltd., L.L.C. Electronic transaction systems utilizing a PEAD and a private key
US5890015A (en) * 1996-12-20 1999-03-30 Intel Corporation Method and apparatus for implementing a wireless universal serial bus host controller by interfacing a universal serial bus hub as a universal serial bus device
ATE299326T1 (de) * 1997-04-01 2005-07-15 Ericsson Telefon Ab L M Verfahren und system zur gesicherten datenübertragung
US6123731A (en) * 1998-02-06 2000-09-26 Osteotech, Inc. Osteoimplant and method for its manufacture
US20010049263A1 (en) * 1998-03-26 2001-12-06 Xiang Zhang Automatic station/system configuration monitoring and error tracking system and software upgrade tool kit
US6912651B1 (en) * 1998-03-31 2005-06-28 Hewlett-Packard Development Company, L.P. Wireless universal serial bus link for a computer system
US6567915B1 (en) * 1998-10-23 2003-05-20 Microsoft Corporation Integrated circuit card with identity authentication table and authorization tables defining access rights based on Boolean expressions of authenticated identities
US6609199B1 (en) * 1998-10-26 2003-08-19 Microsoft Corporation Method and apparatus for authenticating an open system application to a portable IC device
US6025538A (en) * 1998-11-20 2000-02-15 Musculoskeletal Transplant Foundation Compound bone structure fabricated from allograft tissue
US6721555B1 (en) * 1999-02-19 2004-04-13 Qualcomm Incorporated System and method for facilitating device authentication in a wireless communications system
US6643774B1 (en) * 1999-04-08 2003-11-04 International Business Machines Corporation Authentication method to enable servers using public key authentication to obtain user-delegated tickets
CA2300066A1 (en) * 2000-03-03 2001-09-03 Paul A. Ventura High speed, high security remote access system
US7089562B1 (en) * 2000-05-04 2006-08-08 International Business Machines Corporation Universal driver server
US7111163B1 (en) * 2000-07-10 2006-09-19 Alterwan, Inc. Wide area network using internet with quality of service
US6795688B1 (en) * 2001-01-19 2004-09-21 3Com Corporation Method and system for personal area network (PAN) degrees of mobility-based configuration
US7084998B2 (en) * 2001-02-13 2006-08-01 Ariba, Inc. Method and system for processing files using a printer driver
US6678516B2 (en) * 2001-05-21 2004-01-13 Nokia Corporation Method, system, and apparatus for providing services in a privacy enabled mobile and Ubicom environment
US8190695B2 (en) * 2001-08-02 2012-05-29 Sony Corporation Remote control system and remote control method, device for performing remote control operation and control method therefor, device operable by remote control operation and control method therefor, and storage medium
US6898652B2 (en) * 2001-08-22 2005-05-24 General Atomics Wireless device attachment and detachment system, apparatus and method
KR100444996B1 (ko) * 2002-02-08 2004-08-21 삼성전자주식회사 인터넷을 통한 디바이스 드라이버 자동 설치 및 유지 보수방법 및 그 시스템
US7254708B2 (en) * 2002-03-05 2007-08-07 Intel Corporation Apparatus and method for wireless device set-up and authentication using audio authentication—information
US7136904B2 (en) * 2002-12-23 2006-11-14 Microtine (San Diego), Inc. Wireless cable replacement for computer peripherals using a master adapter
US20050031096A1 (en) * 2003-04-11 2005-02-10 Richard Postrel Command synchronization method and system
US20050066044A1 (en) * 2003-06-30 2005-03-24 Hemant Chaskar IP-based location service within code division multiple access network
US20050044196A1 (en) * 2003-08-08 2005-02-24 Pullen Benjamin A. Method of and system for host based configuration of network devices
US7822983B2 (en) * 2003-08-21 2010-10-26 Microsoft Corporation Physical device bonding
JP4483271B2 (ja) * 2003-11-19 2010-06-16 ソニー株式会社 無線通信装置,無線通信装置の応答データ処理方法
US7164907B2 (en) * 2004-01-13 2007-01-16 Qualcomm Inc. Automated over the air plug-in device recognition and software driver download
US7461141B2 (en) * 2004-01-30 2008-12-02 Applied Micro Circuits Corporation System and method for performing driver configuration operations without a system reboot
US20050266798A1 (en) * 2004-05-31 2005-12-01 Seamus Moloney Linking security association to entries in a contact directory of a wireless device
US8069226B2 (en) * 2004-09-30 2011-11-29 Citrix Systems, Inc. System and method for data synchronization over a network using a presentation level protocol
US20060149858A1 (en) * 2004-12-30 2006-07-06 Microsoft Corporation Establishing wireless universal serial bus (WUSB) connection via a trusted medium
EP2080387B1 (en) * 2006-10-17 2019-12-18 D&M Holdings, Inc. Configuring and connecting to a media wireless network

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5613123A (en) * 1992-09-30 1997-03-18 Microsoft Corporation Method and system for configuring and executing device drivers based on configuration requirements
US7174564B1 (en) * 1999-09-03 2007-02-06 Intel Corporation Secure wireless local area network
EP1233337A2 (en) * 2001-02-20 2002-08-21 Hewlett-Packard Company Peripheral devices which manage application upload to computing devices
US20030051011A1 (en) * 2001-09-07 2003-03-13 Bryan Schacht System and method for installing printer driver software
JP2004266870A (ja) * 2001-10-29 2004-09-24 Nec Infrontia Corp パラメータ設定システム
JP2004094736A (ja) * 2002-09-02 2004-03-25 Toshiba Corp 電子機器、通信環境設定方法およびプログラム
JP2004328288A (ja) * 2003-04-23 2004-11-18 Canon Inc 撮像装置及び画像処理装置、及びそれらの制御方法、並びに、無線通信環境設定方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010136172A (ja) * 2008-12-05 2010-06-17 Ricoh Co Ltd 通信装置及び通信方法

Also Published As

Publication number Publication date
AU2005244603A1 (en) 2006-07-20
MXPA05013941A (es) 2006-09-29
DE602005007171D1 (de) 2008-07-10
BRPI0505642A (pt) 2006-09-19
KR20060079107A (ko) 2006-07-05
US20060153384A1 (en) 2006-07-13
EP1677189A3 (en) 2006-08-09
EP1677189A2 (en) 2006-07-05
ATE397248T1 (de) 2008-06-15
CN1798020A (zh) 2006-07-05
EP1677189B1 (en) 2008-05-28

Similar Documents

Publication Publication Date Title
US20060149858A1 (en) Establishing wireless universal serial bus (WUSB) connection via a trusted medium
JP5072176B2 (ja) 無線ネットワークタイプの自動検出
US8634771B2 (en) Simple peer-to-peer network formation
US7269653B2 (en) Wireless network communications methods, communications device operational methods, wireless networks, configuration devices, communications systems, and articles of manufacture
EP3437249B1 (en) Registration of devices in secure domain
CN101288063B (zh) 无线设备发现和配置
US20130326594A1 (en) Wireless device registration, such as automatic registration of a wi-fi enabled device
US8601135B2 (en) Supporting WPS sessions using TCP-based connections
US12022295B2 (en) Streamlined creation and expansion of a wireless mesh network
US8019879B2 (en) Wireless communications systems and wireless communications methods
US11638149B2 (en) Instant secure wireless network setup
US11212276B2 (en) Single pairing for multiple technologies
US11974351B2 (en) Device for wireless communication with other devices
JP2006228195A (ja) 信用媒体を介した非信用媒体装置構成のための拡張可能なアーキテクチャ
JP4856700B2 (ja) トラステッド媒体を介した無線ユニバーサルシリアルバス(wusb)接続の確立
US20210243599A1 (en) User authentication method through bluetooth device and device therefor
CA2531693A1 (en) Extensible architecture for untrusted medium device configuration via trusted medium

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081225

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081225

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101217

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110701