(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-04-22
(45)【発行日】2022-05-06
(54)【発明の名称】電子機器、接続方法及びプログラム
(51)【国際特許分類】
G06F 13/14 20060101AFI20220425BHJP
G06F 3/00 20060101ALI20220425BHJP
G06F 13/38 20060101ALI20220425BHJP
【FI】
G06F13/14 310H
G06F3/00 A
G06F13/38 350
G06F13/38 320Z
G06F13/38 340E
(21)【出願番号】P 2018079200
(22)【出願日】2018-04-17
【審査請求日】2021-03-29
(73)【特許権者】
【識別番号】398058588
【氏名又は名称】Dynabook株式会社
(74)【代理人】
【識別番号】110001737
【氏名又は名称】特許業務法人スズエ国際特許事務所
(72)【発明者】
【氏名】岩本 林三
【審査官】松平 英
(56)【参考文献】
【文献】米国特許第06735720(US,B1)
【文献】特開2006-309404(JP,A)
【文献】韓国登録特許第0980311(KR,B1)
【文献】特開平11-085666(JP,A)
【文献】米国特許出願公開第2013/0227356(US,A1)
【文献】特開2008-003927(JP,A)
【文献】特表2009-534706(JP,A)
【文献】国際公開第2007/122612(WO,A1)
【文献】特開2013-191026(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 13/14
G06F 3/00
G06F 13/38
(57)【特許請求の範囲】
【請求項1】
第1デバイスと複数の第2デバイスを含む外部機器が接続可能なコネクタと、
前記コネクタに前記外部機器が接続された時、前記外部機器が含むデバイスを検出し、検出したデバイスを動作可能状態になるようにセットアップし、デバイス毎のセットアップ成否を示すデバイス情報を保存する設定手段と、
電源がオンされた時、電源状態が休止状態又はスリープ状態から通常状態に復帰した時、又は前記コネクタに前記外部機器が接続された時、前記設定手段が検出したデバイスが前記第1デバイスを含むか否かを判定する判定手段と、
前記判定手段が、前記設定手段が検出したデバイスが前記第1デバイスを含むことを判定し、前記デバイス情報が前記複数の第2デバイスの中の少なくとも1つのデバイスのセットアップが失敗したことを示す場合、前記外部機器が含むデバイスを再度検出し、検出したデバイスを再度セットアップする再設定手段と、
を具備し、
前記設定手段が、前記第1デバイスの検出に失敗する可能性は前記複数の第2デバイスの検出に失敗する可能性より小さい電子機器。
【請求項2】
前記コネクタはUSBコネクタであり、前記第1デバイスは前記複数の第2デバイスが接続されるUSBハブである請求項1記載の電子機器。
【請求項3】
前記複数の第2デバイスは、前記USBコネクタに接続されるミキサと、前記ミキサの第1端子に接続されるディスプレイと、を含み、
前記ミキサの第2端子に前記USBコネクタが接続される請求項2記載の電子機器。
【請求項4】
前記設定手段は、前記検出したデバイスに対応するドライバを起動することにより前記検出したデバイスをセットアップし、前記ドライバの起動に失敗すると、前記検出したデバイスのセットアップ失敗と判断する請求項1記載の電子機器。
【請求項5】
前記デバイス情報は、前記外部機器が含むデバイスについて、接続検知の有無、及びセットアップ成否を、デバイス毎に示すものである請求項1記載の電子機器。
【請求項6】
前記再設定手段は、前記デバイス情報が前記複数の第2デバイスの中の少なくとも1つのデバイスの接続が非検知であることを示す場合、前記外部機器が含むデバイスを再度検出し、検出したデバイスを再度セットアップする請求項5記載の電子機器。
【請求項7】
前記判定手段が、前記設定手段が検出したデバイスが前記第1デバイスを含むことを判定し、前記デバイス情報が前記複数の第2デバイスの全てのセットアップが成功したことを示す場合、
電源がオンされたか否かの判定、
電源がオンでない場合、電源状態が休止状態又はスリープ状態から通常状態に復帰したか否かの判定、
電源状態が通常状態に復帰していない場合、前記コネクタに前記外部機器が接続されたか否かの判定を行なう請求項1記載の電子機器。
【請求項8】
前記再設定手段は、前記コネクタへの電源をオフした後、前記外部機器が含むデバイスを再度検出し、検出したデバイスを再度セットアップする請求項1記載の電子機器。
【請求項9】
前記第1デバイスは、前記外部機器が含むデバイス中で、接続検出のためのプロトコルの複雑度が最も低いデバイスである請求項1記載の電子機器。
【請求項10】
前記第1デバイスは、前記複数の第2デバイスとの接続の要となるデバイスである請求項1記載の電子機器。
【請求項11】
第1デバイスと複数の第2デバイスを含む外部機器が接続可能なコネクタを具備し、前記第1デバイスの検出に失敗する可能性は前記複数の第2デバイスの検出に失敗する可能性より小さい電子機器の接続方法であって、
前記コネクタに前記外部機器が接続された時、前記外部機器が含むデバイスを検出し、
検出したデバイスを動作可能状態になるようにセットアップし、
デバイス毎のセットアップ成否を示すデバイス情報を保存し、
電源がオンされた時、電源状態が休止状態又はスリープ状態から通常状態に復帰した時、又は前記コネクタに前記外部機器が接続された時、前記検出したデバイスが前記第1デバイスを含むか否かを判定し、
前記検出したデバイスが前記第1デバイスを含むことを判定し、前記デバイス情報が前記複数の第2デバイスの中の少なくとも1つのデバイスのセットアップが失敗したことを示す場合、前記外部機器が含むデバイスを再度検出し、前記再度検出したデバイスを再度セットアップする接続方法。
【請求項12】
前記コネクタはUSBコネクタであり、
前記第1デバイスは前記複数の第2デバイスが接続されるUSBハブである請求項11記載の接続方法。
【請求項13】
前記第1デバイスは、前記外部機器が含むデバイス中で、接続検出のためのプロトコルの複雑度が最も低いデバイスである請求項11記載の接続方法。
【請求項14】
前記第1デバイスは、前記複数の第2デバイスとの接続の要となるデバイスである請求項11記載の接続方法。
【請求項15】
第1デバイスと複数の第2デバイスを含む外部機器が接続可能なコネクタを具備し、前記第1デバイスの検出に失敗する可能性は前記複数の第2デバイスの検出に失敗する可能性より小さい電子機器を制御するコンピュータにより実行されるプログラムであって、前記プログラムは前記コンピュータに、
前記コネクタに前記外部機器が接続された時、前記外部機器が含むデバイスを検出することと、
検出したデバイスを動作可能状態になるようにセットアップすることと、
デバイス毎のセットアップ成否を示すデバイス情報を保存することと、
電源がオンされた時、電源状態が休止状態又はスリープ状態から通常状態に復帰した時、又は前記コネクタに前記外部機器が接続された時、前記検出したデバイスが前記第1デバイスを含むか否かを判定することと、
前記検出したデバイスが前記第1デバイスを含むことを判定し、前記デバイス情報が前記複数の第2デバイスの中の少なくとも1つのデバイスのセットアップが失敗したことを示す場合、前記外部機器が含むデバイスを再度検出し、前記再度検出したデバイスを再度セットアップすることを実行させるプログラム。
【請求項16】
前記コネクタはUSBコネクタであり、
前記第1デバイスは前記複数の第2デバイスが接続されるUSBハブである請求項15記載のプログラム。
【請求項17】
前記第1デバイスは、前記外部機器が含むデバイス中で、接続検出のためのプロトコルの複雑度が最も低いデバイスである請求項15記載のプログラム。
【請求項18】
前記第1デバイスは、前記複数の第2デバイスとの接続の要となるデバイスである請求項15記載のプログラム。
【請求項19】
第1デバイスと第2デバイスを含む外部機器が接続可能なコネクタと、
前記コネクタに前記外部機器が接続された時、前記外部機器が含むデバイスを検出し、検出したデバイスを動作可能状態になるようにセットアップし、デバイス毎のセットアップ成否を示すデバイス情報を保存する設定手段と、
電源がオンされた時、電源状態が休止状態又はスリープ状態から通常状態に復帰した時、又は前記コネクタに前記外部機器が接続された時、前記設定手段が検出したデバイスが前記第1デバイスを含むか否かを判定する判定手段と、
前記判定手段が、前記設定手段が検出したデバイスが前記第1デバイスを含むことを判定し、前記デバイス情報が前記第2デバイスのセットアップが失敗したことを示す場合、前記外部機器が含むデバイスを再度検出し、検出したデバイスを再度セットアップする再設定手段と、
を具備する電子機器。
【請求項20】
第1デバイスと第2デバイスを含む外部機器が接続可能なコネクタを具備した電子機器の接続方法であって、
前記コネクタに前記外部機器が接続された時、前記外部機器が含むデバイスを検出し、
検出したデバイスを動作可能状態になるようにセットアップし、
デバイス毎のセットアップ成否を示すデバイス情報を保存し、
電源がオンされた時、電源状態が休止状態又はスリープ状態から通常状態に復帰した時、又は前記コネクタに前記外部機器が接続された時、前記検出したデバイスが前記第1デバイスを含むか否かを判定し、
前記検出したデバイスが前記第1デバイスを含むことを判定し、前記デバイス情報が前記第2デバイスのセットアップが失敗したことを示す場合、前記外部機器が含むデバイスを再度検出し、前記再度検出したデバイスを再度セットアップする接続方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、外部機器が接続され得る電子機器、外部機器と電子機器との接続方法及びプログラムに関する。
【背景技術】
【0002】
電子機器に外部機器が接続され、電子機器は外部機器を使用しながら動作することがある。例えば、パーソナルコンピュータ(以下、パソコン、PCとも称する)のUSB(登録商標)コネクタに外部機器、例えばUSBメモリが接続され、PCがUSBメモリにデータを格納したり、PCがUSBメモリからデータを読み出したりすることがある。PCのOS(Operating System)はUSBコネクタへ外部機器が接続されたことを検出すると、検出された機器に対応したドライバソフトウェアを起動して、外部機器が動作可能となるように外部機器をセットアップする。
【0003】
近年、1つのハウジング内にUSBハブと複数のデバイスを備える複合型デバイスが開発されている。複数のデバイスの中には、OSによるセットアップに失敗するものもある。その場合、ユーザは複合型デバイスをUSBコネクタから一度抜いて、再度挿入する必要がある。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2014-006726号公報
【文献】特開2013-045354号公報
【文献】特開2007-156921号公報
【文献】特開2002-244775号公報
【文献】特開2001-142796号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
従来の電子機器は、外部機器のセットアップに失敗すると、ユーザが外部機器を物理的に再接続しなければならない。
本発明の目的は外部機器のセットアップに失敗した場合、外部機器を物理的に再接続せずに外部機器を再セットアップすることができる電子機器、接続方法及びプログラムを提供することである。
【課題を解決するための手段】
【0006】
実施形態によれば、電子機器は、第1デバイスと第2デバイスを含む外部機器が接続可能なコネクタと、前記コネクタに前記外部機器が接続された時、前記外部機器が含むデバイスを検出し、検出したデバイスを動作可能状態になるようにセットアップし、デバイス毎のセットアップ成否を示すデバイス情報を保存する設定手段と、電源がオンされた時、電源状態が休止状態又はスリープ状態から通常状態に復帰した時、又は前記コネクタに前記外部機器が接続された時、前記設定手段が検出したデバイスが前記第1デバイスを含むか否かを判定する判定手段と、前記判定手段が、前記設定手段が検出したデバイスが前記第1デバイスを含むことを判定し、前記デバイス情報が前記第2デバイスのセットアップが失敗したことを示す場合、または、前記第2デバイスが複数含まれていて、そのうちの少なくとも1つのデバイスのセットアップが失敗したことを示す場合、前記外部機器が含むデバイスを再度検出し、検出したデバイスを再度セットアップする再設定手段と、を具備する。なお、前記設定手段が、前記第1デバイスの検出に失敗する可能性は、前記第2デバイスの検出に失敗する可能性より小さい。また、他の実施形態によれば、前記第1デバイスは、例えば前記複数の第2デバイスが接続されているUSBハブの様に、複数の第2デバイスを電子機器に接続するデバイスである。
【図面の簡単な説明】
【0007】
【
図1】実施形態の電子機器を含む遠隔支援システムの一例を示すブロック図である。
【
図2】
図1中のオペレータ端末12の一例を示すブロック図である。
【
図3】
図1中のモバイルPC16に接続されるウェアラブル機器23の外観の一例を示す。
【
図4】ウェアラブル機器23を構成する機器本体24の外観の一例を示す。
【
図5】モバイルPC16と機器本体24との接続の一例を示す。
【
図6】機器本体24の一例を示すブロック図である。
【
図8】モバイルPC16の一例を示すブロック図である。
【
図10】外部機器がモバイルPC16に接続される際のOS314による機器検出、セットアップの一例を示すフローチャートである。
【
図11】OS314により作成されたデバイスセットアップテーブルの一例を示す。
【
図12】モバイルPC16の接続モニタプログラムの処理の一例を示すフローチャートである。
【
図13】接続モニタプログラムが使用するデバイスセットアップテーブルの一例を示す。
【発明を実施するための形態】
【0008】
以下、実施の形態について図面を参照して説明する。なお、開示はあくまで一例にすぎず、以下の実施形態に記載した内容により発明が限定されるものではない。当業者が容易に想到し得る変形は、当然に開示の範囲に含まれる。説明をより明確にするため、図面において、各部分のサイズ、形状等を実際の実施態様に対して変更して模式的に表す場合もある。複数の図面において、対応する要素には同じ参照数字を付して、詳細な説明を省略する場合もある。
【0009】
[遠隔支援システム]
図1は、実施形態に係る電子機器の応用例の一つである遠隔支援システムの一例を示すブロック図である。電子機器の応用例は遠隔支援システムに限定されない。遠隔支援システムは、ユーザ(例えば作業現場の作業者)を後方のオペレータが遠隔地から支援するためのシステムである。現場の作業の例は、複雑なメンテナンス業務、物流倉庫のピッキング作業、監視、災害救助・医療サポート等がある。作業現場のユーザ側をフロントエンド、後方のオペレータ側をバックエンドとも称する。
【0010】
遠隔支援システムは、ユーザが携帯するモバイルPC16と、ユーザから離れた位置にある遠隔支援センター(データセンター)18と、両者を相互に接続し、両者間の通信を可能とするネットワーク22とからなる。モバイルPC16と遠隔支援センター18は有線のLANケーブルによりネットワーク22に接続されてもよいし、無線LAN、ブルートゥース(登録商標)等によりネットワーク22に接続されてもよい。モバイルPC16は、現場で使用可能な高度の汎用性と処理能力を持つ。モバイルPC16は、モバイルエッジコンピューティングデバイスと称することもある。モバイルPC16は、ディスプレイや文字入力用のハードウェアキーボードを備えていると、携帯性が良くないとともに、ユーザは作業に専念しづらい。これを解決するために、モバイルPC16はディスプレイやハードウェアキーボードを備えない。モバイルPC16にメガネ型のウェアラブル機器を接続すれば、ウェアラブル機器の表示部をモバイルPC16のディスプレイとして利用できるので、ユーザは作業しながら、表示を確認することができる。これにより、作業現場等での業務効率化や生産性向上、或いは、データの負荷分散やネットワーク環境の改善等を図ることが期待される。
【0011】
メガネ型のウェアラブル機器23がモバイルPC16に接続される。
図1では、ウェアラブル機器23はケーブルによりモバイルPC16に接続される。ウェアラブル機器23はディスプレイ、タッチパッド等を備える。このため、モバイルPC16から送信される画像がディスプレイで表示され、タッチパッドからコマンド等が入力される。
【0012】
図1に示すように複数のユーザがネットワークを介して相互に通信することも可能である。この場合、遠隔支援センター18のオペレータを経由して通信してもよいし、遠隔支援センター18のオペレータを介さずにユーザ同士のみで通信するようにすることも可能である。
【0013】
遠隔支援センター18はオペレータ端末12とサーバ14を備える。遠隔支援センター18はモバイルPC16を介してウェアラブル機器23とオペレータ端末12間で音声通話を行う又は情報をやり取りする。ウェアラブル機器23で撮影される映像をオペレータ端末12にリアルタイム配信することや、モバイルPC16とオペレータ端末12間で画像を相互に送受信することができる。また、オペレータ端末12からモバイルPC16にテキストメッセージを送信することもできる。例えば、物流倉庫ピッキング作業では、ウェアラブル機器23にピッキング品の場所を画像、テキストにより表示させ、ハンズフリーでのピッキングを実現できる。
【0014】
遠隔支援としては、典型的には、例えば以下の機能を含む。
(1)モバイルPC16とオペレータ端末12との双方向の音声通話機能。
(2)音声通話中にウェアラブル機器23が撮影する映像をオペレータ端末12にリアルタイム配信するライブ映像配信機能。
(3)音声通話中にモバイルPC16とオペレータ端末12間で静止画を送受信する静止画像送受信機能。
モバイルPC16は撮影した静止画やビデオ配信中のキャプチャ画像をオペレータ端末12に送信し、オペレータ端末12は受信した画像に文字や絵などを書き込むことにより画像を編集し、編集した画像をモバイルPC16に送信する。モバイルPC16で受信した静止画像は、モバイルPC16内のフォルダに保存され、閲覧可能である。
(4)音声通話中にオペレータ端末12のデスクトップ画面全体又は任意のアプリケーションのウィンドウをウェアラブル機器23に表示する画面共有機能。
(5)オペレータ端末12からモバイルPC16に対してテキストメッセージを送信するテキストメッセージの送信機能。
【0015】
サーバ14は遠隔支援のための処理をオペレータ端末12に代わって行う又は協働して行うものであり、プロセッサ(CPU)28、ROM30、RAM32、ハードディスクドライブ(HDD)又はソリッドステートドライブ(SSD)からなるストレージデバイス34、インターフェース36を備える。なお、サーバ14の機能を全てオペレータ端末12に持たせ、サーバ14を省略してもよい。
【0016】
[オペレータ端末12]
図2はオペレータ端末12の一例を示すブロック図である。オペレータ端末12はデスクトップ型PC又はノートブック型PC等からなる。
オペレータは、モバイルPC16から送信される映像等をオペレータ端末12で観察しながら、作業現場の状況を確認し、音声通話や画像によってモバイルPC16のユーザに指示を行う。オペレータは、オペレータ端末12を用いてモバイルPC16から受信した画像に絵や文字などの書き込みを行うことにより画像を編集し、編集した画像をモバイルPC16に送信することや、オペレータ端末12に保存することができる。
【0017】
オペレータ端末12は、プロセッサを含むシステムコントローラ42を備える。システムコントローラ42には、主メモリ44、BIOS-ROM50、HDD又はSSDからなるストレージデバイス52、オーディオコーデック54、グラフィクスコントローラ62、タッチパネル70、USBコネクタ72、無線LANデバイス74、ブルートゥースデバイス76、有線LANデバイス78、PCIExpress(登録商標)カードコントローラ80、メモリカードコントローラ82、エンベデッドコントローラ/キーボードコントローラ(EC/KBC)84等が接続される。
【0018】
システムコントローラ42はストレージデバイス52から主メモリ44にロードされる様々なプログラムを実行する。これらプログラムは、オペレーティングシステム(OS)46、遠隔支援のためのバックエンドアプリケーションプログラム48等を含む。システムコントローラ42は不揮発性メモリであるBIOS-ROM50に格納された基本入出力システム(BIOS)も実行する。BIOSはハードウェア制御のためのシステムプログラムである。
【0019】
オーディオコーデック54は、再生対象のデジタルのオーディオ信号をアナログのオーディオ信号に変換して、ヘッドフォン58又はスピーカ60に供給する。また、オーディオコーデック54は、マイク56から入力されるアナログのオーディオ信号をデジタル信号に変換する。マイク56とヘッドフォン58は単独で設けてもよいが、インカムとして一体的に設けてもよい。
【0020】
グラフィックスコントローラ62は、オペレータ端末12のディスプレイモニタとして使用される液晶表示器(LCD)64を制御する。LCD64の画面上にタッチパネル70が重ねられ、LCD64の画面にタッチペン等により手書き入力操作が行えるように構成されていてもよい。グラフィックスコントローラ62にはHDMI(登録商標)コントローラ66も接続される。HDMIコントローラ66は外部の表示デバイスとの接続のためのHDMIコネクタ68に接続される。
【0021】
無線LANデバイス74は、ネットワーク22との接続のためにIEEE802.11規格の無線LAN通信を実行する。ブルートゥースデバイス76は、外部機器との接続のためにブルートゥース規格の無線通信を実行する。有線LANデバイス78は、ネットワーク22との接続のためにIEEE802.3規格の有線LAN通信を実行する。このように、オペレータ端末12とネットワーク22との接続は無線通信によってもよいし、有線通信によってもよいように構成されている。しかし、少なくともいずれか1つの通信機能を備えるだけでもよい。
【0022】
PCIExpressカードコントローラ80はオペレータ端末12と外部機器との間でPCIExpress規格の通信を行なう。メモリカードコントローラ82は、記憶媒体、例えばSDカード(登録商標)等のメモリカードにデータを書き込み、メモリカードからデータを読み出す。
【0023】
EC/KBC84は電力管理コントローラであり、キーボード88を制御するキーボードコントローラも内蔵したワンチップマイクロコンピュータとして実現されている。EC/KBC84は、電源スイッチ86の操作に応じてオペレータ端末12をパワーオン又はパワーオフする又はスリープ状態又は休止状態に設定するとともにスリープ状態又は休止状態から通常状態に復帰させる機能を有する。パワーオン、パワーオフ、スリープ状態、休止状態の制御は、EC/KBC84と電源回路90との協働動作によって実行される。EC/KBC84はオペレータ端末12がパワーオフされている期間中も、バッテリ92又はACアダプタ94からの電力によって動作するように構成してもよい。しかし、バッテリ92は必須ではない。電源回路90は、バッテリ92からの電力又は外部電源として接続されるACアダプタ94からの電力を用いて、各コンポーネントへ供給すべき電力を生成する。
【0024】
[ウェアラブル機器23]
図3はモバイルPC16に接続されるウェアラブル機器23の外観の一例を示す。ウェアラブル機器23はメガネフレーム142と機器本体24を備える。メガネフレーム142は一般的なメガネからレンズを取り除いた形状でもよく、ユーザの顔に装着される。メガネフレーム142はメガネが取り付けられる構造としてもよい。ユーザがメガネを常用する場合、常用しているメガネと同様な度数のレンズがメガネフレーム142に取り付けられてもよい。
【0025】
メガネフレーム142は機器本体24が着脱される取付具144を左右のテンプルに備える。
図3ではユーザの右側のテンプルの取付具144は機器本体24に隠されているので、図示されない。上述したように機器本体24はディスプレイ124(
図4に示す)を備え、ディスプレイ124は片目で目視されるようになっているので、機器本体24が利き目側に取り付けられるように取付具144は左右のテンプルに備えられている。なお、機器本体24を取付具144によりメガネフレーム142に着脱自在に取り付ける必要はなく、機器本体24がメガネフレーム142に固定された右眼用ウェアラブル機器、左眼用のウェアラブル機器をそれぞれ別個に用意してもよい。さらに、ウェアラブル機器23は、メガネ型ウェアラブル機器ではなく、ヘルメット、ゴーグル等のユーザの頭部に装着されるヘッドマウント型のウェアラブル機器でもよい。
【0026】
機器本体24は、その係合片128(
図4に示す)が取付具144の上下の枠内に挟まれるように、メガネフレーム142に取り付けられる。機器本体24をメガネフレーム142から取り外す場合は、ユーザは機器本体24を取付具144から引き抜く。
機器本体24が取付具144に取り付けられた状態で、係合片128は取付具144内で前後に多少は移動可能である。このため、ユーザの焦点がディスプレイ124に合うように機器本体24は前後位置が調整可能である。さらに、取付具144はテンプルに直交する軸144Aを中心に回転可能であり、機器本体24がメガネフレーム142に取り付けられた後、ディスプレイ124がユーザの視線上に位置するように上下位置が調整可能である。さらに、取付具144の回転角度は90度程度であり、ユーザは取付具144を上方向に大きく回転することにより、機器本体24をメガネフレーム142からはね上げることができる。これにより、機器本体24により視野が邪魔され実物を見ることが困難な場合や、狭い場所の作業中に機器本体24が周囲の物体に干渉する場合でも、ウェアラブル機器23全体を顔から外す/再装着することなく、機器本体24をユーザの視野から一時的に外す/戻すことができる。
【0027】
[機器本体24]
機器本体24はメガネフレーム142のテンプルに沿う側面部とユーザの一方の眼球の視線上に位置する前面部とからなる。側面部と前面部とは蝶番により接続され、側面部に対する前面部の角度は調節可能である。
前面部の外側表面にはカメラ116、ライト118、カメラLED120が設けられる。ライト118は暗部の撮影時に発光する補助照明である。カメラLED120は写真や動画の撮影時に点灯し、撮影対象者に撮影していることを認識させるためのものである。
【0028】
機器本体24が右側のテンプルに取り付けられた場合、機器本体24の側面部の上部側面に第1ボタン102、第2ボタン104、第3ボタン106が設けられる。なお、ユーザの利き目が左眼の場合、機器本体24は左側のテンプルに取り付けられる。右側に取り付けられるか左側に取り付けられるかで、機器本体24の上下が反転するので、側面部の上部側面と下部側面の両面に第1ボタン102、第2ボタン104、第3ボタン106を設けてもよい。
【0029】
側面部の外側表面にはタッチパッド110、第4ボタン108、マイク112、照度センサ114が設けられる。タッチパッド110と第4ボタン108は人差し指で操作可能である。第1ボタン102、第2ボタン104、第3ボタン106は、機器本体24が右側に取り付けられた際、それぞれ人差し指、中指、薬指で操作可能な位置に配置される。タッチパッド110は、その表面上で矢印に示すようにユーザが指を上下前後に移動させたことを検出できるようにしている。この移動の検出は、指を接触したまま移動するドラッグの動きに加え指をさっと擦るフリックの動きも含む。タッチパッド110は、ユーザの指の上下前後移動を検出すると、コマンドを入力することができる。本明細書では、コマンドとは機器本体24に対する特定の処理の実行指令のことである。第1ボタン102、第2ボタン104、第3ボタン106、第4ボタン108、タッチパッド110の操作方法はアプリケーションプログラムによって決められている。
【0030】
例えば、
第3ボタン106が1回押されると、項目の選択/項目の実行がなされ、
第3ボタン106が長押しされると、起動中のアプリケーションの一覧が表示され、
第2ボタン104が1回押されると、ホーム画面に戻り、
第2ボタン104が長押しされると、クイックセッティングのメニューが表示され、
第1ボタン102が1回押されると、操作の取り消し(キーボードのEscキーと同様の動作)が実行される。
【0031】
タッチパッド110の操作に関しては、例えば、
上下にドラッグされると、カーソルが上下に移動され、
前にフリックされると、左のアイコンが選択され(連続してスクロール)、
後ろにフリックされると、右のアイコンが選択され(連続してスクロール)、
前にドラックされると、左のアイコンが選択され(1項目ずつスクロール)、
後ろにドラックされると、右のアイコンが選択される(1項目ずつスクロール)。
【0032】
第1ボタン102は人差し指、第2ボタン104は中指、第3ボタン106は薬指、第4ボタン108は小指で操作できるような位置に配置される。なお、第4ボタン108が側面部の上部側面ではなく、側面部の外側表面に設けられるのは、スペースの関係上であり、第4ボタン108も第1ボタン102、第2ボタン104、第3ボタン106と同様に側面部の上部側面に設けられてよい。照度センサ114はディスプレイの明るさを自動調整するために周囲の照度を検出する。
【0033】
図4は機器本体24の裏側の外観の一例を示す。機器本体24の裏側はユーザの顔側の面である。機器本体24は、ユーザの顔の側面に沿う側面部と、顔の前面に位置する前面部とからなる。前面部の内側表面にはLCDからなるディスプレイ124が設けられる。側面部の内側表面にはマイク126、スピーカ130、係合片128が設けられる。マイク126は側面部の前方に、スピーカ130は側面部の後方に、係合片128は側面部の後方に設けられる。スピーカ130の代わりにヘッドフォンを用いてもよい。その場合、オペレータ端末12と同様にマイクとヘッドフォンをインカムとして一体的に設けてもよい。
【0034】
図5はモバイルPC16と機器本体24との接続の一例を示す。
図5に示すように、側面部の後方表面にはUSBtype-C(登録商標)規格のケーブル146の一端のコネクタ(プラグ)146Aが挿入されるコネクタ(レセプタクル)132が設けられる。なお、プラグとレセプタクルをコネクタと称することもある。USBtype-C規格のケーブル146の他端のコネクタ(プラグ)146BはモバイルPC16の上部側面のUSBtype-C規格のコネクタ(レセプタクル)207に挿入される。このように機器本体24はUSBtype-C規格のケーブル146を介してモバイルPC16に接続され、画像信号、USB信号が機器本体24とモバイルPC16の間で伝送される。
【0035】
実施形態では機器本体24は駆動電源としてのバッテリ又はDC端子を備えず、駆動電源はモバイルPC16からUSBtype-Cケーブル146を介して機器本体24に供給される。しかし、機器本体24が駆動電源を備えてもよい。
図6は機器本体24の回路構成の一例を示すブロック図である。USBtype-Cコネクタ132がミキサ166に接続される。ディスプレイコントローラ170とUSBハブ164がミキサ166の第1端子、第2端子にそれぞれ接続される。ミキサ166はUSBtype-C規格のケーブル146を介して伝送された画像信号とUSB信号を分離して、画像信号を第1端子、USB信号を第2端子に出力するとともに、第1端子から入力された画像信号と第2端子から入力されたUSB信号を多重化して、USBtype-Cコネクタ132に出力する。ディスプレイ124がディスプレイコントローラ170に接続される。
図6の例では、ディスプレイ124は内蔵デバイスであるが、外部ディスプレイがHDMI規格等のケーブルを介してディスプレイコントローラ170に接続されてもよい。
【0036】
カメラコントローラ168、オーディオコーデック172、センサコントローラ162がUSBハブ164に接続される。カメラ116とライト118とカメラLED120がカメラコントローラ168に接続される。マイク112、126からのオーディオ信号がオーディオコーデック172に入力され、オーディオコーデック172からのオーディオ信号がアンプ174を介してスピーカ130に入力される。
図6の例では、カメラ116及びオーディオコーデック172、センサコントローラ162等は内蔵デバイスであるが、これらの機器は外付けデバイスであってもよい。例えば、機器本体24にUSB規格のコネクタ(レセプタクル)が設けられ、外付けのカメラ、オーディオコーデック、センサコントローラ、その他のUSBデバイスがUSB規格のケーブルを介してUSBハブ164に接続されてもよい。
【0037】
センサコントローラ162に、モーションセンサ(例えば、加速度/地磁気/重力/ジャイロセンサ等)176、照度センサ114、近接センサ178、タッチパッド110、第1ボタン102、第2ボタン104、第3ボタン106、第4ボタン108、GPSセンサ180が接続される。センサコントローラ162はモーションセンサ176、照度センサ114、近接センサ178、タッチパッド110、第1ボタン102、第2ボタン104、第3ボタン106、第4ボタン108、GPSセンサ180からの検出信号を処理して、モバイルPC16へコマンドを供給する。
図4には示していないが、モーションセンサ176、近接センサ178は機器本体24の内部に配置される。モーションセンサ176は機器本体24の動き、向き、姿勢等を検出する。近接センサ178はユーザの顔、指等の接近によりウェアラブル機器23の装着を検出する。
【0038】
機器本体24は1つのデバイスであるが、上記した複数のデバイスが1つのハウジングに収納されている複合型デバイスである。
[モバイルPC16]
図7はモバイルPC16の外観の一例を示す。モバイルPC16は片手で持てる小型PCであり、そのサイズは、幅が約10cm以下、高さが約18cm以下、厚さが2cm程度であり、重量は約300g程度と、小型で軽量である。このため、モバイルPC16は作業着のポケット、ベルトに装着されるホルスタあるいはショルダーケースに収納でき、ウェアラブルである。モバイルPC16はCPUや半導体メモリ等の半導体チップやSSD(Solid State Disk)等のストレージデバイスを収納するが、ディスプレイと文字入力用のハードウェアキーボードは備えない。
【0039】
モバイルPC16の正面にはアップボタン202a、ライトボタン202b、ダウンボタン202c、レフトボタン202d、決定ボタン(センターボタン、エンターボタンとも称する)202eからなる5ボタン202が配置され、その下に指紋センサ204が配置される。文字入力用のハードウェアキーボードが備わっておらず暗証番号(PINとも称する)を入力することができないので、指紋センサ204はモバイルPC16のログイン時のユーザ認証のために用いられる。5ボタン202はコマンドを入力できる。
【0040】
なお、5ボタン202の各ボタン202a~202dに数字を割り当て、5ボタン202を用いて暗証番号を入力することにより、ログイン時のユーザ認証を行ってもよい。この場合、指紋センサ204は省略可能である。決定ボタン202e以外の4つのボタンに数字を割り当てるので、数字の種類は4つしかなく、ランダムに入力した数字が暗証番号に一致する可能性がある。しかし、暗証番号の桁数を大きくすれば、ランダムに入力した数字が暗証番号に一致する確率を小さくすることができる。指紋センサ204を備えるモバイルPC16でも5ボタン202による認証も可能としてもよい。1台のモバイルPC16を複数のユーザで共有することがあるが、指紋認証だけではこのような場合に対応できないので、5ボタン202による認証が併用可能となっている。
【0041】
5ボタン202は機器本体24のボタン102、104、106、108の操作及びタッチパッド110の操作と同じ操作が可能である。機器本体24のボタン102、104、106、108とタッチパッド110は操作している様子をユーザは見ることができないので、ユーザによっては意図した操作をするには慣れが必要な場合もある。また、ボタン102、104、106、108とタッチパッド110は小型であるので、操作しづらい場合もある。実施形態では、モバイルPC16の5ボタン202でも同じ操作ができるので、上記の懸念は解消される。5ボタン202の操作方法はアプリケーションによって決められている。
【0042】
例えば、
決定ボタン202eが1回押されると、項目の選択/項目の実行がなされ(機器本体24では、第3ボタン106の1回押しに対応する)、
決定ボタン202eが長押しされると、終了又は操作の取り消しがなされ(機器本体24では、第1ボタン102の1回押しに対応する)、
アップボタン202aが1回押されると、カーソルが上に移動され(機器本体24では、タッチバッド110で上にドラッグに対応する)、
アップボタン202aが長押しされると、起動中のアプリケーションの一覧が表示され(機器本体24では、第3ボタン106の長押しに対応する)、
ダウンボタン202cが1回押されると、カーソルが下に移動され(機器本体24では、タッチバッド110で下にドラッグに対応する)、
ダウンボタン202cが長押しされると、クイックセッティングメニュー(後述)が表示され(機器本体24では、第2ボタン104の長押しに対応する)、
レフトボタン202dが1回押されると、右のアイコンが選択され(機器本体24では、タッチバッド110で後ろにドラッグ/フリックに対応する)、
ライトボタン202bが1回押されると、左のアイコンが選択される(機器本体24では、タッチバッド110で前にドラッグ/フリックに対応する)。
【0043】
モバイルPC16の上部側面には、USB3.0規格のコネクタ(レセプタクル)206とUSBtype-C規格のコネクタ(レセプタクル)207とオーディオジャック208が設けられる。
モバイルPC16の一方の側面(正面から見て左側面)には、メモリカード用のカードスロット218が設けられる。メモリカードは、例えばSDカード、マイクロSDカード(登録商標)等を含む。
【0044】
モバイルPC16の他方の側面(正面から見て右側面)には、ケンジントンロック(登録商標)のためのスロット210、電源スイッチ212、パワーLED213、DC IN/バッテリLED214、DC端子216、冷却用の通風口222が設けられる。パワーLED213は電源スイッチ212の周囲に配置され、電源オンの期間点灯する。DC IN/バッテリLED214はバッテリが充電中であるか否か等のモバイルPC16の状態とバッテリの残量を表示する。モバイルPC16はバッテリで駆動可能であるが、DC端子216にACアダプタを接続した状態でも駆動可能である。図示しないが、裏面はワンタッチでバッテリが交換可能に構成されている。
【0045】
図8はモバイルPC16の一例を示すブロック図である。モバイルPC16は機器本体24で撮影した映像をオペレータ端末12へ配信することや、オペレータ端末12から受信した画像を閲覧することができる。このため、モバイルPC16はカメラ機能とビューワ機能を備える。カメラ機能は機器本体24のカメラ116で写真やビデオを撮影する機能である。撮影した写真やビデオはカメラフォルダに保存され、ビューワ機能により閲覧できる。ビューワ機能はカメラフォルダに保存されているファイルを閲覧する機能である。ファイルの種類は、画像、動画、PDF、カメラ機能で撮影した写真やビデオ、オペレータ端末12から受信した画像、オペレータ端末12へ送信した画像、ユーザフォルダに保存されたファイル等がある。
【0046】
モバイルPC16はシステムコントローラ302を備え、システムコントローラ302はプロセッサ(CPU)とコントローラ・ハブからなる。プロセッサには、主メモリ308、BIOS-ROM310、パワーLED213、DC IN/バッテリLED214、USBコントローラ322が接続される。コントローラ・ハブには、フラッシュメモリ326、メモリカードコントローラ328、HDD又はSSDからなるストレージデバイス330、USB切替器324、オーディオコーデック334、3G/LTE/GPSデバイス336、指紋センサ204、USB3.0コネクタ206、ブルートゥース/無線LANデバイス340、EC/KBC344が接続される。
【0047】
システムコントローラ302はストレージデバイス330から主メモリ308にロードされる様々なプログラムを実行する。これらプログラムは、OS314、遠隔支援のためのフロントエンドアプリケーションプログラム316、接続モニタプログラム318等を含む。接続モニタプログラム318は機器本体24がモバイルPC16に接続された時にOS314が行う接続検出や機器セットアップが失敗した場合、自動的に接続の再検出、機器の再セットアップを行わせるためのプログラムである。
【0048】
オーディオコーデック334は、再生対象のデジタルのオーディオ信号をアナログのオーディオ信号に変換して、オーディオジャック208に供給する。また、オーディオコーデック334は、オーディオジャック208から入力されるアナログのオーディオ信号をデジタル信号に変換する。
【0049】
メモリカードコントローラ328はメモリカードスロット218に挿入されるメモリカード、例えばSDカードにアクセスして、SDカードに対するデータの読み書きを制御する。
USBコントローラ322はUSBtype-Cコネクタ207に接続されるUSBtype-Cケーブル又はUSB3.0コネクタ206に接続されるUSB3.0ケーブル(図示せず)に対するデータの送受信を制御する。
【0050】
ブルートゥース/無線LANデバイス340は、ネットワーク22との接続のためにブルートゥース規格の無線通信とIEEE802.11規格の無線LAN通信を実行する。なお、ネットワーク22との接続は無線通信によらず、IEEE802.3規格の有線LAN通信によってもよい。
【0051】
指紋センサ204はモバイルPC16の起動時の指紋認証のために使用される。
EC/KBC344には、サブプロセッサ346、USB Power Delivery Controller(PDCと称する)348、電源スイッチ212及び5ボタン202が接続される。EC/KBC344は、電源スイッチ212の操作に応じてモバイルPC16をパワーオン又はパワーオフする機能を有する。パワーオン及びパワーオフの制御は、EC/KBC344と電源回路350との協働動作によって実行される。EC/KBC344はモバイルPC16がパワーオフされている期間中も、バッテリ352又はACアダプタ358からの電力によって動作する。電源回路350は、バッテリ352からの電力又は外部電源として接続されるACアダプタ358からの電力を用いて、各コンポーネントへ供給すべき電力を生成する。電源回路350は電圧レギュレータモジュール356を含み、電圧レギュレータモジュール356はシステムコントローラ302内のプロセッサに接続される。PDC348はUSBtype-Cコネクタ207に接続され、EC/KBC344からの制御に応じてUSBtype-Cコネクタ207に対する電源の制御を行う。PDC348は、EC/KBC344よりUSB再接続コマンド(後述するHCIコマンド)を受けると、モバイルPC16がUSBtype-Cコネクタ207に供給している電源を一旦オフし、USBtype-Cコネクタ207に接続されているデバイスを検出するためのデバイススキャンを行う。デバイススキャンはUSBtype-Cコネクタ207に電源が供給されていなくもて実施可能である。PDC348は、デバイススキャンによって検出されたデバイスと通信を行い、デバイスに電源を供給するかあるいはデバイスより電源の供給を受けるかの決定を行う。実施例の機器本体24は電源の供給能力を持たないため、実施例では常にモバイルPC16から機器本体24に対して電源が供給されることになる。モバイルPC16から機器本体24に電源が供給されると、モバイルPC16のOS314は、機器本体24が接続されたことを検出する。
【0052】
なお、モバイルPC16を機器本体24と別体として構成したが、モバイルPC16を機器本体24内に組み込んで、両者を一体として構成してもよい。
また、図示しないが、USBtype-Cコネクタ207にはポート拡張アダプタも接続可能であり、HDMI、RGB、有線LAN等のインターフェースも使用可能である。
【0053】
[接続モニタプログラム]
接続モニタプログラム318について説明する。モバイルPC16のUSBtype-Cコネクタ207に外部機器が接続された時、モバイルPC16の電源がオンになった時、モバイルPC16の電源状態が休止状態から通常状態に復帰した時、又はモバイルPC16の電源状態がスリープ状態から通常状態に復帰した時、モバイルPC16のOS314は、USBtype-Cコネクタ207に接続されている外部機器を動作可能とするために、先ず、USBtype-Cコネクタ207に接続されている外部機器を検出し、検出された外部機器に対応したドライバソフトウェアを起動して、動作可能となるように外部機器をセットアップする。外部機器が
図6に示すような複合型デバイスの場合、モバイルPC16のOS314は、デバイス毎に接続を検出し、デバイス毎にセットアップを行う。複合型デバイスの場合、検出できないデバイスや、検出できてもドライバの読み込みに失敗したり、セットアップに失敗するデバイスがあることが起こり得る。OS314はこのようなデバイスがある場合、その旨を表示することはあるが、自動的に接続の再検出や再セットアップを行うことはしない。このような場合に接続の再検出や再セットアップを実行させるために接続モニタプログラム318が用意されている。接続モニタプログラム318は特定の複合型デバイス、ここでは
図6に示す機器本体24の接続の再検出や再セットアップを実行させるように構成されている。
【0054】
接続モニタプログラム318は、再検出、再セットアップを実行するため、検出できないデバイスがあるか否か、検出できてもドライバの読み込みに失敗したり、セットアップに失敗するデバイスがあるか否かを判断する必要がある。接続モニタプログラム318は機器本体24が備えるデバイスを既知であるので、OS314によるデバイスのセットアップの結果に基づいて、検出できないデバイスあるいはセットアップが失敗したデバイスを知ることができる。このようなデバイスがあるか否か、すなわち再検出、再セットアップを実施するか否かを判断するタイミングは、OS314が外部機器の接続を検出し、外部機器をセットアップするタイミング(USBtype-Cコネクタ207に外部機器が接続された時、モバイルPC16の電源がオンになった時、モバイルPC16の電源状態が休止状態から通常状態に復帰した時、又はモバイルPC16の電源状態がスリープ状態から通常状態に復帰した時)を含んでいてもよい。再検出、再セットアップを実施するか否かの判断処理は、機器本体24に備わったデバイスの数に応じてモバイルPC16の動作負荷が高くなることから、これら全てのタイミングにおいて機器本体24に備わったデバイス全てに対して行うことは好ましくない。そのため、これらのタイミングにおいて、USBハブ164のように、モバイルPC16と各デバイスの接続の要となるデバイスがOS314に検出されたかどうかをまず確認し、OS314がUSBハブ164を検出しなかった場合は、デバイスの再検出、再セットアップを実施するか否かの判断処理を行わず、OS314がUSBハブ164を検出したときのみ、デバイスの再検出、再セットアップを実施するか否かの判断処理を行うことにより、モバイルPC16の処理の負荷を抑えることができる。
【0055】
モバイルPC16はできるだけ長時間のバッテリ駆動を可能とするために、一定時間操作されないと、休止状態とされる。モバイルPC16は休止状態となると、機器本体24の電源もパワーオフされる。また、機器本体24がモバイルPC16から外されると、先ず機器本体24はパワーオフ状態とされ、その後、モバイルPC16もスリープ状態とされる。さらに、ユーザが任意のタイミングでモバイルPC16の電源状態を変更することや、通常状態へ復帰させることができる。モバイルPC16は文字入力用のハードウェアキーボードの代わりに5ボタン202を備えるので、5ボタン202の各ボタンの組み合わせにより電源状態変更のコマンドを入力できる。また、モバイルPC16はディスプレイを備えないので、画面表示に基づいてコマンドの内容や電源状態を確認できない。しかし、モバイルPC16はパワーLED213を備えるので、パワーLED213の表示色、点灯状態を変えることにより、コマンドの内容や電源状態をユーザに知らせることができる。
【0056】
図9は5ボタン202の操作によるモバイルPC16の電源状態の変更の一例を示す。電源スイッチ212と5ボタン202のいずれかのボタンの同時操作により、電源状態が変更される。電源オフ中に電源スイッチ212が1秒押されると、電源がオンされる。電源がオンされる間及び電源オン中、パワーLED213は白色で点灯する。スリープ状態又は休止状態中に電源スイッチ212が1秒押されると、電源状態が通常状態へ復帰する。スリープ状態からの復帰中、パワーLED213は白色で点灯する。休止状態からの復帰中、パワーLED213は点灯する。復帰が完了し電源がオンとなると、パワーLED213は白色で点灯する。
【0057】
アップボタン202aと電源スイッチ212が同時に1秒押されると、電源状態がスリープ状態に移行する。この時、パワーLED213は点滅する。ライトボタン202bと電源スイッチ212が同時に1秒押されると、休止状態に移行する。この時、パワーLED213は消灯する。ダウンボタン202cと電源スイッチ212が同時に1秒押されると、電源がシャットダウン、あるいは強制的にパワーオフされる。この時、パワーLED213は消灯する。
【0058】
図10は、モバイルPC16のOS314により実行される接続検出・セットアップ処理の一例を示すフローチャートである。OS314は、ステップS102で、モバイルPC16の電源がオンされた(すなわち、オフからオンに遷移した)か否かを判定する。電源がオフからオンに遷移した場合、ステップS112が実行される。電源がオフからオンに遷移していない場合、OS314は、ステップS104で、モバイルPC16の電源状態がスリープ状態から通常状態へ復帰されたか否かを判定する。電源状態がスリープ状態から通常状態へ復帰された場合、ステップS112が実行される。電源状態がスリープ状態から通常状態へ復帰されていない場合、OS314は、ステップS106で、モバイルPC16の電源状態が休止状態から通常状態へ復帰されたか否かを判定する。電源状態が休止状態から通常状態へ復帰された場合、ステップS112が実行される。電源状態が休止状態から通常状態へ復帰されていない場合、OS314は、ステップS108で、モバイルPC16の電源オン中にUSBtype-Cコネクタ207に外部機器が接続されたか否かを判定する。モバイルPC16の電源オン中にUSBtype-Cコネクタ207に外部機器が接続された場合、ステップS112が実行される。モバイルPC16の電源オン中にUSBtype-Cコネクタ207に外部機器が接続されていない場合、電源状態の遷移をチェックするステップ(S102、S104、S106、S108)が再度実行される。USBtype-Cコネクタ207への外部機器の接続は、USBtype-Cコネクタ207のD+端子又はD-端子の電圧を監視することにより検出できる。外部機器が接続されると、D+端子又はD-端子の電圧は例えば3.3Vとなる。
【0059】
OS314は、ステップS112で、外部機器に含まれる全デバイスをスキャンし、USBtype-Cコネクタ207に接続されている1又は複数のデバイスを検出する。OS314は、ステップS110で、検出したデバイスに対応するドライバを起動し、デバイスが動作可能となるようにデバイスのセットアップを行う。OS314は、ステップS114で、デバイス毎のセットアップの成否を管理するデバイスセットアップテーブルを作成し、主メモリ308にデバイスセットアップテーブルを格納する。
【0060】
デバイスセットアップテーブルの一例を
図11に示す。デバイスセットアップテーブルは接続が検出されたデバイスのデバイス名とそのデバイスのセットアップ成否を示す情報からなる。
図11は、
図6に示す機器本体24がモバイルPC16のUSBtype-Cコネクタ207に接続された場合のデバイスセットアップテーブルを示す。ここでは、機器本体24に含まれるデバイスのうち、USBハブ164、ライト118、カメラ116、カメラLED120、マイク112,126、スピーカ130、モーションセンサ176、照度センサ114、近接センサ178、ボタン102、104、106、108については接続が検出され(
図11のデバイス名として示す)、ディスプレイ124、タッチパッド110、GPSセンサ180については接続が検出されていないとする(
図11のデバイス名として示されない)。接続が検出されたデバイスのうち、USBハブ164、ライト118、カメラLED120、マイク112,126、スピーカ130、照度センサ114、近接センサ178、ボタン102、104、106、108についてはセットアップが成功し(
図11のセットアップ成否で「成功」として示す)、カメラ116、モーションセンサ176についてはセットアップが失敗したとする(
図11のセットアップ成否で「失敗」として示す)。OS314は、デバイスセットアップテーブルを作成し、必要に応じてその内容を表示(例えば機器本体24のディスプレイ124で表示)させることはするが、再検出、再セットアップは実施しない。モバイルPC16のアプリケーションプログラムの一つである接続モニタプログラム318は、デバイスセットアップテーブルを参照して再検出、再セットアップを行うことができる。
【0061】
図12を参照して接続モニタプログラム318による処理の一例を説明する。接続モニタプログラム318は、ステップS122で、モバイルPC16の電源がオンされた(すなわち、オフからオンに遷移した)か否かを判定する。電源がオフからオンに遷移した場合、ステップS138が実行される。電源がオフからオンに遷移していない場合、接続モニタプログラム318は、ステップS126で、モバイルPC16の電源状態がスリープ状態から通常状態へ復帰されたか否かを判定する。電源状態がスリープ状態から通常状態へ復帰された場合、ステップS138が実行される。電源状態がスリープ状態から通常状態へ復帰されていない場合、接続モニタプログラム318は、ステップS130で、モバイルPC16の電源状態が休止状態から通常状態へ復帰されたか否かを判定する。電源状態が休止状態から通常状態へ復帰された場合、ステップS138が実行される。電源状態が休止状態から通常状態へ復帰されていない場合、接続モニタプログラム318は、ステップS134で、モバイルPC16の電源オン中にUSBtype-Cコネクタ207に外部機器が接続されたか否かを判定する。モバイルPC16の電源オン中にUSBtype-Cコネクタ207に外部機器が接続された場合、ステップS138が実行される。モバイルPC16の電源オン中にUSBtype-Cコネクタ207に外部機器が接続されていない場合、電源状態の遷移をチェックするステップ(S122、S126、S130、S134)が再度実行される。このように、モバイルPC16の電源がオンされた時、モバイルPC16の電源状態がスリープ状態から通常状態へ復帰された時、モバイルPC16の電源状態が休止状態から通常状態へ復帰された時、又はUSBtype-Cコネクタ207に外部機器が接続された時、ステップS138が実行される。
【0062】
ステップS138で、USBtype-Cコネクタ207に接続されている外部機器が複合型デバイスである機器本体24であるか否かが判定される。外部機器が機器本体24であるか否かは、モバイルPC16と機器本体24内の各デバイスとの接続の要となるデバイス、ここではUSBハブ164をOS314が検出しているか否かに基づき判定できる。接続の要となるデバイスは、例えば、機器本体24が備えるデバイスのうち、接続上の中心に位置する集線・中継デバイスであって、複雑な処理を行わない(コントローラ機能を持たない)デバイスである。接続検出のためのプロトロコルの複雑度はデバイス毎に異なり、
図6に示すデバイスの中ではUSBハブ164の接続検知のためのプロトロコルは最も低レベルであり、USBハブ164は接続検出に失敗する可能性が最も低い。従って、USBハブ164の接続が検出されると、USBtype-Cコネクタ207に接続されている外部機器が機器本体24であると判定できる。すなわち、ステップS138では、OS314が作成したデバイスセットアップテーブルがUSBハブ164に関する情報を含むか否かが判定される。
図11のデバイスセットアップテーブルの例では、USBハブ164に関する情報が含まれているので、USBtype-Cコネクタ207に接続されている外部機器は機器本体24であると判定される。なお、機器本体24の接続判定はデバイスセットアップテーブルがUSBハブ164に関する情報を含んでいればよく、USBハブ164のセットアップが失敗していても、機器本体24が接続されていると判定できる。
【0063】
ステップS138で、USBtype-Cコネクタ207に接続されている外部機器が機器本体24でない、すなわちデバイスセットアップテーブルがUSBハブ164に関する情報を含まないと判定された場合、電源状態の遷移をチェックするステップ(S122、S126、S130、S134)が再度実行される。
【0064】
ステップS138で、USBtype-Cコネクタ207に接続されている外部機器が機器本体24である、すなわちデバイスセットアップテーブルがUSBハブ164に関する情報を含むと判定された場合、ステップS142で、接続モニタプログラム318は、機器本体24が備える全デバイスのセットアップが成功しているか否かを判定する。接続モニタプログラム318は機器本体24が備えるデバイスを既知であり、
図13に示すような機器本体24のデバイステーブルを保持している。このデバイステーブルにOS314が作成した
図11に示すデバイスセットアップテーブルの情報をコピーすることにより、機器本体24が備える全デバイスの接続検知の有無とセットアップの成否を知ることができる。
図13の例は、ディスプレイ124、タッチパッド110、GPSセンサ180についてはOS314により接続が検出されていないので、セットアップも成功していないことを示す。また、カメラ116、モーションセンサ176については接続が検出されているが、セットアップが成功していないことを示す。このように
図13の例は、機器本体24が備える全デバイスのセットアップが成功していることが検出されない(少なくとも1つのデバイスのセットアップが失敗した)ことを示す。
【0065】
ステップS142で、機器本体24が備える全デバイスのセットアップが成功していることを検出すると、電源状態の遷移をチェックするステップ(S122、S126、S130、S134)が再度実行される。
ステップS142で、機器本体24が備える全デバイスのセットアップが成功していることが検出されない(少なくとも1つのデバイスのセットアップが失敗した)場合、ステップS146で、接続モニタプログラム318は、USBtype-Cコネクタ207に接続されている機器本体24の再検出/再セットアップを発動するHCI(Host Controller Interface)コマンドをBIOS(BIOS-ROM310に格納された基本入出力システム)へ発行する。ステップS150で、BIOSは、HCIコマンドをEC/KBC344へ発行する。ステップS154で、EC/KBC344は、HCIコマンドをPDC348へ発行する。
【0066】
ステップS158で、PDC348は、EC/KBC344からのHCIコマンドを受けると、モバイルPC16がUSBtype-Cコネクタ207に供給している電源を一旦オフし、USBtype-Cコネクタ207に接続されているデバイスを検出するためのデバイススキャンを行う。デバイススキャンはUSBtype-Cコネクタ207に電源が供給されていなくもて実施可能である。PDC348は、デバイススキャンによって検出されたデバイスと通信を行い、デバイスに電源を供給するかあるいはデバイスより電源の供給を受けるかの決定を行う。実施例の機器本体24は電源の供給能力を持たないため、実施例では常にモバイルPC16から機器本体24に対して電源が供給されることになる。モバイルPC16から機器本体24に電源が供給されると、モバイルPC16のOS314は、機器本体24が接続されたことを検出する。接続モニタプログラム318は、検出したデバイスに対応するドライバを起動し、デバイスが動作可能となるようにデバイスのセットアップを再度行う。
【0067】
なお、
図12のステップS142では、機器本体24が備える全デバイスのセットアップが成功しているか否かを判定している。ここで、機器本体24が備える全デバイスの接続を検出したか否かを判定してもよい。
図13のデバイステーブルに示す様に、機器本体24が備える全デバイスの接続が検出されない(少なくとも1つのデバイスの接続が非検知である)場合、全デバイスのセットアップが成功していない(該少なくとも1つのデバイスの接続が失敗である)ことも明白である。従って、この場合はステップS146が実行される。
【0068】
このように、OS316によるセットアップが失敗しても、接続モニタプログラム318による再セットアップが行われる。従って、機器本体24の一部のデバイスのセットアップに失敗しても、ユーザが機器本体24を物理的に再接続せずに機器本体24を再セットアップすることができる。さらに、再セットアップの必要性の有無を常時判断するのではなく、モバイルPC16の電源がオンになった時、モバイルPC16の電源状態がスリープ状態又は休止状態から通常状態へ復帰した時、又はUSBtype-Cコネクタ207へ外部機器が接続されたことをモバイルPC16が検出した時に限定することにより、モバイルPC16の処理の負荷を抑えることができる。さらに、接続モニタプログラム318は、機器本体24が備えるデバイスの中で接続検出に失敗する可能性が最も小さいデバイス(例えば、USBハブ164)の接続を検出することにより機器本体24の接続を判断するので、機器本体24の接続を確実に判断することができる。結果として、接続モニタプログラム318は、機器本体24の接続が検出された時のみ、再セットアップの必要性の有無を判断するので、モバイルPC16の処理の負荷をさらに抑えることができる。
【0069】
本実施形態の処理はコンピュータプログラムによって実現することができる。従って、このコンピュータプログラムを格納したコンピュータ読み取り可能な記憶媒体を通じてこのコンピュータプログラムをコンピュータにインストールして実行するだけで、本実施形態と同様の効果を容易に実現することができる。
【0070】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
【符号の説明】
【0071】
12…オペレータ端末、14…サーバ、16…モバイルPC、18…遠隔支援サーバ、23…ウェアラブルデバイス、24…ウェアラブル機器本体、102、104、106、108…ボタン、110…タッチパッド、124…ディスプレイ、132…USBコネクタ、202…5ボタン、213…パワーLED、214…DC IN/バッテリLED、352…バッテリ。