(57)【特許請求の範囲】
【請求項１】
基本入出力システム（BIOS）が格納されたコンピュータ読み取り可能媒体であって、該BIOSの命令が、その実行時に、コンピューティング装置に、
クライアント装置とのワイヤレスリンクを確立し、
該ワイヤレスリンクを介して該クライアント装置からネットワークアクセス情報を受信し、
該ネットワークアクセス情報に基づいてネットワークにアクセスし、
前記ネットワークを介してリモートサーバから別のBIOSを読み出し、
前記BIOSを該別のBIOSと置換する、
という各ステップを行わせるものである、BIOSが格納されたコンピュータ読み取り可能媒体。
【請求項２】
前記BIOSの命令が、その実行時に、前記コンピューティング装置に、
前記ワイヤレスリンクを確立するために近距離無線通信（NFC）を介して前記クライアント装置と通信する、
というステップを行わせるものである、請求項１に記載のコンピュータ読み取り可能媒体。
【請求項３】
前記BIOSの命令が、その実行時に、前記コンピューティング装置に、
前記ワイヤレスリンクを確立するためにBluetooth通信を介して前記クライアント装置と通信する、
というステップを行わせるものである、請求項１に記載のコンピュータ読み取り可能媒体。
【請求項４】
前記BIOSの命令が、その実行時に、前記コンピューティング装置に、
オペレーティングシステムをロードする、
というステップを更に行わせるものである、請求項１ないし請求項３の何れか一項に記載のコンピュータ読み取り可能媒体。
【請求項５】
前記BIOSの命令が、その実行時に、前記コンピューティング装置に、
前記クライアント装置のキーボードを使用して該クライアント装置のユーザにより入力された前記ネットワークアクセス情報を受信する、
というステップを行わせるものである、請求項１ないし請求項４の何れか一項に記載のコンピュータ読み取り可能媒体。
【請求項６】
前記BIOSの命令が、その実行時に、前記コンピューティング装置に、
前記クライアント装置のユーザが該クライアント装置のキーボードを使用して前記ネットワークアクセス情報を入力することが可能となるように該クライアント装置へBluetooth HID（Human Interface Device）プロファイルを送信する、
というステップを行わせるものである、請求項５に記載のコンピュータ読み取り可能媒体。
【請求項７】
基本入出力システム（BIOS）を含むメモリと、
該メモリに接続されたクライアントインタフェイスであって、クライアント装置とワイヤレス通信を行ってネットワークアクセスポイントに関するネットワークアクセス情報を受信する、クライアントインタフェイスと、
該クライアントインタフェイスに接続されたコントローラであって、前記BIOSの命令を実行して、前記ネットワークアクセス情報の受信を制御し及び該ネットワークアクセス情報に基づいてネットワークアクセスポイントとのワイヤレスリンクを確立し、並びに前記BIOSの別の命令を実行して、前記ネットワークアクセスポイントを介してリモートサーバから別のBIOSを読み出し、前記BIOSを該別のBIOSと置換する、コントローラと
を備えている装置。
【請求項８】
前記クライアントインタフェイスが近距離無線通信装置である、請求項７に記載の装置。
【請求項９】
前記クライアントインタフェイスがBluetooth装置である、請求項７に記載の装置。
【請求項１０】
前記ネットワークアクセスポイントとの前記ワイヤレスリンクを確立するためのネットワークインタフェイスを更に備えている、請求項７ないし請求項９の何れか一項に記載の装置。
【発明の詳細な説明】
【背景技術】
【０００１】
基本入出力システム（BIOS）は、コンピューティング装置のメモリに格納されたプログラミング命令を含む。BIOSは一般に、コンピューティング装置の初期化に関連するタスクを実行する。例えば、コンピューティング装置の始動時に、プロセッサ又はコントローラがBIOSの命令を実行して、マザーボード、ビデオグラフィクスカード、及びその他の構成要素を初期化することになる。BIOSは、各構成要素の正しい機能を確保し、続いてコンピューティング装置の制御をオペレーティングシステムに渡す。
【発明の概要】
【発明が解決しようとする課題】
【０００２】
ネットワークアクセスは一般にオペレーティングシステム（OS）の制御下で確立される。例えば、OSは、特に、ハードウェアを制御し、利用可能なワイヤレスネットワークを識別子、ワイヤレスネットワークにアクセスするための認証情報を探索し、及び信号強度を表示するためのプログラムをロードすることが可能である。しかし、OSを介したネットワークアクセスは、（例えばマルウェアを介した）悪意のある者に対してパスワード等のユーザ入力を露呈させ得るものとなる。
【課題を解決するための手段】
【０００３】
本開示では、コンピューティング装置がプリオペレーティングシステム（OS）状態でネットワークアクセスを確立することを可能にする様々な装置、方法、及び製品が開示される。プリOS状態とは、例えばコンピューティング装置が、UEFI（Unified Extensible Firmware Interface）、BIOS（Basic Input/Output System）、又はその他のプリOSプログラムの命令を実行している際に、実行時OSがロードされなかったコンピューティング状態を意味する。プリOS状態でのネットワークアクセスの確立は、プリOSプログラムの隔離された環境によって、マルウェアに対するパスワード及び認証情報の露呈を防止する。
【０００４】
プリOS状態でのネットワークアクセスの確立は、セキュリティを提供することが可能なものであるが、それに加えて、プリOSプログラムの誤動作（例えば、壊れたBIOSがそれ自体を読み出し、更新し、及び／又は修復すること）をコンピューティング装置に許してしまうものとなる。本書で用いる場合、壊れたBIOSとは、意図する機能を実行することができないコードセクションを有するが有効なブートブロックを有するBIOSプログラムを意味する。ブートブロックとは、BIOSのコードセクションに制御を移す前に該コードセクションが完全であることを検証するBIOSの一部である。本開示の残りの部分はBIOSを引き合いに出すが、本書における教示が他のプリOSプログラムにも適用可能であることが明らかに意図されている。修復又は更新が行われると、コンピューティング装置は、ネットワーク接続を維持したまま、OSをロードして動作を続行することが可能である。
【図面の簡単な説明】
【０００５】
【図１】本開示の一実施形態による装置を示している。
【図２】本開示の一実施形態による装置を示している。
【図３】本開示の一実施形態によるネットワーク図を示している。
【図４】本開示の一実施形態による動作のブロック図を示している。
【図５】本開示の一実施形態によるフローチャートを示している。
【図６】本開示の一実施形態によるフローチャートを示している。
【図７】本開示の一実施形態によるフローチャートを示している。
【図８】本開示の一実施形態によるフローチャートを示している。
【発明を実施するための形態】
【０００６】
図１を参照すると、本開示の一実施形態による装置が示されている。装置100は、BIOS104、クライアントインタフェイス108、及びコントローラ106を有するコンピュータ読み取り可能媒体102を含む。装置100は、プリOS状態でネットワーク接続を確立することになる。該ネットワーク接続は、プリOS状態にある間に利用することが可能であり、更に、OSの実行時に存続することが可能である。装置100は、デスクトップコンピュータ、ノートブックコンピュータ、ネットブック、スレート、タブレット、又はその他のBIOSを組み込んだコンピューティング装置等の装置とすることが可能である（但し、それらには限定されない）。
【０００７】
コンピュータ読み取り可能媒体102は、装置100が様々な動作を実行することを可能にするためにプロセッサ又はコントローラにより実行することができる命令を格納した有形の持続性媒体である。該コンピュータ読み取り可能媒体102はまた、データを格納するために使用することが可能である。図示の実施形態では、コンピュータ読み取り可能媒体102は、BIOSを含むメモリである。該BIOSは、ネットワーク接続を確立するために該装置100により実行される命令を含む。
【０００８】
クライアントインタフェイス108は該コンピュータ読み取り可能媒体102に接続される。クライアントインタフェイス108は、クライアント装置110とワイヤレス通信するよう構成されたインタフェイスである。クライアントインタフェイスの例として、特に、Bluetooth装置、近距離無線通信（NFC）装置、及びワイヤレスローカルエリアネットワーク（WLAN）装置が挙げられる。クライアントインタフェイス108は、BIOS104の命令を実行しているコントローラ106によって初期化し制御することが可能である。
【０００９】
コントローラ106は、プロセッサ、マイクロコントローラ、又は１つ以上の命令（例えば、BIOS104において実施された命令）を実行するよう構成された他の構成要素とすることが可能である。コントローラ106は、本開示から逸脱することなく図１に示したものとは別の更なる構成要素を含むことが可能である。
【００１０】
一実施形態では、装置100は、プリOS状態になることが可能である。装置100は、ワイヤレスローカルエリアネットワーク（WLAN）、メトロポリタンエリアネットワーク（MAN）、又はその他のワイヤレスネットワーク等のワイヤレス環境内に存在することが可能である。OSをロードする前に、装置100は、コントローラ106を介して、コンピュータ読み取り可能媒体102に格納されているBIOS104で実施された命令を実行することが可能である。該実行された命令に応じて、装置100は、ネットワーク接続の確立を試行することが可能である。
【００１１】
様々なワイヤレス環境において、ネットワークアクセス情報は、ワイヤレスリンクを確立するために利用される。ネットワークアクセス情報は、コンピューティング装置がネットワークにアクセスすることを可能にするデータである。ネットワークアクセス情報の例として、特に、SSID（Service Set Identifiers）、WEP（Wired Equivalent Privacy）キー、IP（Internet Protocol）アドレス、セキュリティ情報、ユーザ情報、及び／又は認証情報が挙げられる（但し、これらには限定されない）。プリOS状態でワイヤレスリンクを確立するために、コントローラ106は、ネットワークアクセス情報がローカルメモリで利用可能であるか否かを判定することが可能である。
【００１２】
ネットワークアクセス情報がローカルメモリで利用可能でない場合、例えば、装置100が新しいワイヤレスネットワーク内にある場合、又は装置100がワイヤレスネットワークに最後にアクセスしてから認証情報が変更された場合には、コントローラ106は、クライアント装置110からのネットワークアクセス情報の取得を試行することが可能である。クライアント装置110は、ユーザインタフェイス又はネットワークアクセス情報を有する二次的な装置とすることが可能である。クライアント装置110は、スマートホン、コンピュータ、ノートブック、ネットブック、スレート、タブレット、又はその他の操作可能なコンピューティング装置等のコンピューティング装置とすることが可能である（但し、それらには限定されない）。
【００１３】
装置100は、クライアントインタフェイス108を介してクライアント装置110とワイヤレス通信してネットワークアクセス情報を受信する。ワイヤレス接続112の確立は、BIOS104によるハードウェアの初期化（例えばクライアントインタフェイス108の初期化）を含むことが可能である。ワイヤレス接続112が確立されると、クライアント装置110は、ネットワークアクセス情報を装置100へ送信することが可能となる。
【００１４】
ワイヤレス接続112及びそれに関連する装置100及びクライアント装置110のインタフェイスは、様々な技術を利用することが可能である。一例では、クライアントインタフェイス108はNFC技術を利用することが可能であり、これによりクライアント装置110が装置100の所定距離内に入った際にネットワークアクセス情報を転送することが可能となる。このNFC技術は、「タップ・ツー・シェア（tap to share）」機能を介して開始させることが可能である。別の例では、クライアントインタフェイス108は、Bluetooth技術を利用することが可能である。この例では、Bluetoothのペアリング機構を介してクライアント装置110との装置100の動的なペアリングを生じさせることが可能である。別の例では、装置100は、Bluetooth HID（Human Interface Device）プロファイルを利用して、ユーザがクライアント装置110を介して情報を入力できるようにすることが可能である。その他の機構も考慮している。
【００１５】
BIOSに関連する命令を実行するコントローラ106は、クライアント装置110からのネットワークアクセス情報の受信を制御することになる。コントローラ106は、該ネットワークアクセス情報を利用して、該ネットワークアクセス情報に基づくワイヤレスリンクを確立することが可能である。該ワイヤレスリンクは、ネットワークアクセスポイントと装置100との間で生じることが可能であり、また代替的に、テザリング装置と装置100との間で生じることが可能である。テザリング装置とは、装置100が該テザリング装置のネットワーク接続を介してネットワーク（例えばインターネット）にアクセスすることを可能にする装置である。様々な実施形態において、クライアント装置110は、テザリング装置として利用することが可能である。
【００１６】
図２を参照すると、本開示による装置の別の実施形態が示されている。該装置200は、BIOS204を有するメモリ又はコンピュータ読み取り可能媒体202、コントローラ206、クライアントインタフェイス208、及びネットワークインタフェイス210を含む。図示の例では、コンピュータ読み取り可能媒体202、BIOS204、コントローラ206、及びクライアントインタフェイス208は、図１に示したものと同様の構成要素とすることが可能である。装置200は、コンピュータ、ノートブックコンピュータ、ネットブック、又はBIOSを利用するよう構成された他のデータ処理装置等のコンピューティング装置とすることが可能である。
【００１７】
ネットワークインタフェイス210は、装置200へのネットワークアクセスを提供するよう構成された構成要素である。ネットワークインタフェイス210は、ネットワークアクセスポイントとインタフェイスし、及び該ネットワークアクセスポイントとのワイヤレスリンクを確立することが可能である。ネットワークアクセスポイントは、インターネット等のネットワークへのアクセスを提供するよう構成されたあらゆる装置とすることが可能である。ネットワークアクセスポイントは、アクセスを可能にするのに先立ち、パスワードその他の認証情報（例えばネットワークアクセス情報）等の様々な認証情報を要求することが可能である。パスワード又は認証情報の受信に基づき、ネットワークアクセスポイントは、装置がデータパケットを送受信できるようにすることが可能である。
【００１８】
様々な実施形態において、ネットワークアクセスが確立されると、装置200は、BIOS204を介してオペレーティングシステムをロードして実行することが可能となる。該ネットワークアクセスは、オペレーティングシステムが実行されている間、持続する。一実施形態では、オペレーティングシステムのロードに先立ち、装置200は、ネットワークアクセスポイントを介してリモートサーバからBIOSを読み出すことが可能である。この読み出されたBIOSは、更新されたバージョン又は作業中のバージョンのBIOSとすることが可能である。BIOSが読み出されると、装置200は、該BIOSをメモリに格納して、BIOS204を更新されたバージョン又は作業中のバージョンのBIOSと置換することが可能である。このようにして、装置200は、旧くなり、破損し、又はその他の正常に機能しない状態になったBIOSを置換し又は更新するよう構成することが可能である。
【００１９】
図３を参照すると、本開示によるネットワーク図が示されている。該ネットワーク図は、クライアント装置302、装置300、アクセスポイント306、及びネットワーク308内に配設されたリモートサーバ310を含む。装置300は、図１及び図２に関して上述したものと同様の装置とすることが可能である。
【００２０】
図示の実施形態において、装置300は、プリOS状態になることが可能であり、例えば、装置300は、BIOSを実施する命令を実行することが可能である。装置300は、該装置300がオペレーティングシステムをロードするのを妨げる破損したBIOSを有する可能性がある。破損したBIOSとは、該BIOSのコード中に破損した命令を含む一方で有効なブートブロックを有するBIOSである。装置300は、該BIOSの有効なブートブロックを介してクライアント装置302とのワイヤレス接続304を確立することが可能である。該ワイヤレス接続304は、NFC接続、Bluetooth接続、又はその他のワイヤレス接続とすることが可能である。該ワイヤレス接続304に基づき、装置300は、ネットワークアクセス情報を受信することが可能である。
【００２１】
クライアント装置302から受信するネットワークアクセス情報は、アクセスポイント306に関するものとすることが可能である。例えば、該ネットワークアクセス情報は、ネットワークアクセスポイントとのワイヤレス接続を確立するために必要なユーザ認証情報を含むことが可能である。該ネットワークアクセス情報の受信に応じて、装置300は、プリOS状態にある間に、ネットワークアクセスポイント306とのワイヤレス接続312を確立することが可能である。該ワイヤレス接続が確立されると、該装置は、前記ネットワークアクセス情報を使用して、ネットワーク308上に配設されたリモートサーバ310とのワイヤレス接続を、通信312,314を介して確立する。
【００２２】
該ワイヤレス接続が確立されると、装置300は、更新された又は有効なBIOSを、ネットワークアクセスポイント306及びネットワーク308を介して、リモートサーバ310から読み出すことが可能である。該BIOSは、リモートサーバの場所、例えばリモートサーバ310のウェブアドレスを、ブートブロックコード内に含むことが可能であり、これによりBIOSがリモートサーバ310を探し出す能力が維持される。次いで、装置300は、破損した又は現在のBIOSを、読み出したBIOSと置換することが可能である。該置換が行われると、該装置はOSをロードすることが可能となる。アクセスポイント306とのワイヤレス接続312は、該OSの実行後に存続させることが可能である。
【００２３】
図４を参照すると、コンピューティング装置に関する様々な段階の例示的なブロック図が示されている。該ブロック図は、BIOS及びオペレーティングシステムを含む考え得る初期の実行段階を示している。コンピューティング装置の電源が投入されて任意の実施されているセキュリティが克服されると、ブロック402で、BIOS又はUEFIをロードして実行することが可能となる。BIOSは、その実行時に、様々な処理を制御することが可能であり、及びワイヤレスネットワーク接続を実施するために様々なハードウェア構成要素及びそれに関連するドライバを初期化することが可能である。ワイヤレスネットワーク接続の実施は、クライアントインタフェイス、ドライバ、及びソフトウェアの初期化を含むことが可能である。各構成要素の初期化は、クライアント装置からのネットワークアクセス情報の受信を容易にすることが可能である。
【００２４】
ネットワークアクセスの受信及び様々なハードウェアの検証の後、BIOSは、ドライバ実行環境404で様々なドライバを初期化することが可能である。初期化が完了すると、BIOSは、オペレーティングシステムのロード元となる装置を選択することが可能である。様々な実施形態において、オペレーティングシステムは、ハードディスクドライブから読み出すことが可能である。ブロック406におけるブート装置の選択の後、システムは、ブロック410で遷移的なシステムロードを開始することが可能である。該遷移的なシステムロード中に、コンピューティング装置の動作がオペレーティングシステムへと遷移し始める。ブロック412で、オペレーティングシステムを介してランタイムが監視され制御される。一例では、構成要素402−406はプリOS408であるものと認識される。
【００２５】
図５を参照すると、本開示による例示的なフローチャートが示されている。該フローチャートは、ステップ500で開始し、ステップ502へ進んで、装置、例えば図１及び図２を参照して説明した装置が、BIOSの命令の実行に応じて、クライアント装置とのワイヤレスリンクを確立する。該命令は、該装置のコントローラにより実行することが可能である。
【００２６】
該ワイヤレスリンクの確立に応じて、該装置は、ステップ504で、クライアント装置からネットワークアクセス情報を受信することが可能である。該ネットワークアクセス情報の受信は、該ネットワークアクセス情報の要求に応じて行うことが可能であり、また代替的に、ステップ502で該装置がリンクを確立したことに応じて行うことが可能である。
【００２７】
ステップ506で、該装置は、該ネットワークアクセス情報に基づいてネットワークにアクセスすることが可能である。該アクセスは、ネットワークアクセスポイントを介して行うことが可能であり、また代替的に、ネットワークアクセス情報を受信したクライアント装置を介して（例えば、該クライアント装置をテザリング装置として使用することにより）行うことが可能である。ネットワークにアクセスすると、該方法はステップ508で終了する。
【００２８】
図６を参照すると、本開示による別のフローチャートが示されている。該方法は、ステップ600で開始し、ステップ602へ進んで、装置がクライアント装置とのワイヤレスリンクを確立することが可能である。該ワイヤレスリンクを確立するために、該装置は、該クライアント装置と通信することが可能である。一実施形態では、該装置は、NFC（Near Field Communication）を介してクライアント装置と通信することが可能である。別の実施形態では、該装置は、Bluetooth通信を介してクライアント装置と通信することが可能である。
【００２９】
該通信に応じて、ステップ604で、該装置はネットワークアクセス情報を受信することが可能である。一実施形態では、該装置は、クライアント装置とのリンクを確立してBluetooth HID（Human Interface Device）プロファイルを実施することが可能であり、この場合、該装置は該クライアント装置のキーボードを使用して文字列を受信する。該文字列は、ユーザ認証情報及び／又はパスワード等の情報のプロンプト（入力を促す指示）に応じて受信することが可能である。
【００３０】
受信したネットワークアクセス情報に基づいて、該装置は、ステップ606で、ネットワークにアクセスすることが可能である。該ネットワークへのアクセスは、ワイヤレスローカルエリアネットワークルータ、基地局、又はその他のアクセスポイント等のネットワークアクセスポイントを介して行うことが可能である。代替的に、該装置は、クライアント装置のネットワーク接続を介してネットワークにアクセスすることが可能である。
【００３１】
該ネットワークアクセスに応じて、該装置は、オペレーティングシステムをロードすることが可能である。様々な実施形態において、BIOSが破損してオペレーティングシステム又はその他の構成要素を初期化することができない場合には、該装置は、ステップ608で、該ネットワークアクセスを介して、更新され、破損していない、又は新しいバージョンのBIOSを読み出すことが可能である。該BIOSを読み出すために、該装置は、該ネットワーク上に配設されているリモートサーバと通信することが可能である。該装置は、ステップ610で、該読み出されたBIOSをメモリに格納して、破損した又は旧くなったBIOSと置換することが可能である。該BIOSを置換するために、該装置は、BIOSフラッシュを行うことが可能である。
【００３２】
ロードされた実行可能な更新済みBIOSにより、該装置は次いでステップ612で、該BIOSの命令に応じてオペレーティングシステムをロードすることが可能である。次いで該装置又はコンピューティング装置の動作が該オペレーティングシステムに渡された際に該方法は終了する。
【００３３】
図７を参照すると、クライアント装置の動作に関するフローチャートが示されている。該方法はステップ700で開始し、ステップ702へ進んで、クライアント装置がコンピューティング装置からワイヤレスリンクのための要求を受信することが可能であり、この場合、該コンピューティング装置はプリOS状態にある。
【００３４】
受信した要求に応じて、クライアント装置は、ステップ704で、プリOS状態にあるコンピューティング装置とワイヤレスリンクを確立することが可能である。該ワイヤレスリンクは、NFC、Bluetooth通信、又はその他のプロトコルを使用して確立することが可能である。
【００３５】
該確立されたワイヤレスリンクに基づき、クライアント装置は、ステップ706で、コンピューティング装置へネットワーク情報を送信することが可能であり、該コンピューティング装置は、該ネットワーク情報を使用してネットワークにアクセスすることが可能となる。次いで該方法はステップ706で終了する。
【００３６】
図８を参照すると、本開示による別のフローチャートが示されている。該方法はステップ800で開始し、ステップ802に進んで、クライアント装置がコンピューティング装置とのワイヤレスリンクを確立するための要求を受信することが可能となる。該コンピューティング装置は、プリOS状態にあり、その結果として、該ワイヤレスリンクの確立に関する情報を表示することはできない。一実施形態では、該ワイヤレスリンクの要求は、NFCを介して生じることが可能である。別の実施形態では、該ワイヤレスリンクの要求は、Bluetooth通信を介して生じることが可能である。
【００３７】
該要求に応じて、クライアント装置は、ステップ804で、コンピューティング装置とのワイヤレスリンクを形成することが可能である。該確立されたワイヤレスリンクは、Bluetooth、NFC、又は赤外線等を含む（がそれらには限定されない）様々なプロトコルを介して生じることが可能である。該確立されたワイヤレスリンクは、コンピューティング装置のユーザによる如何なる介在をも伴うことなく生じることが可能である。
【００３８】
コンピューティング装置とクライアント装置との間でワイヤレスリンクが確立されると、該クライアント装置は、ステップ806で、Bluetooth HIDプロファイルを受信することが可能である。該Bluetooth HIDプロファイルは、ユーザがクライアント装置で情報を入力することを可能にし、及び、ステップ808で、該入力された情報を文字列を介してコンピューティング装置へ通信することを可能にする。該ネットワークアクセス情報の送信に応じて、次いで該方法はステップ810で終了する。
【００３９】
特定の実施形態を図示し説明したが、多種多様な代替的な及び／又は等価な実施形態又は同様の目的を達成すべく計算された実施態様を、本開示の範囲から逸脱することなく、図示し説明した実施形態と置換することが可能である、ということが当業者には理解されよう。実施形態は広範な様々な態様で実施可能であることが当業者には容易に理解されよう。本願は、本書で開示した実施形態のあらゆる応用例及び変形例を網羅することを意図したものである。それ故、実施形態は特許請求の範囲及びその等価物のみによって制限されるものであることが明らかに意図されている。
【図１】
0005784836.tif 000002
【図２】
0005784836.tif 000003
【図３】
0005784836.tif 000004
【図４】
0005784836.tif 000005
【図５】
0005784836.tif 000006
【図６】
0005784836.tif 000007
【図７】
0005784836.tif 000008
【図８】
0005784836.tif 000009