説明

情報処理装置およびデータ処理方法

【課題】BIOSが持つキーボードファンクションを用いないOSがインストールされている場合において、シリアルコンソールドライバが存在しなくても、OSがコンソールからのキー入力を検知できるようにした情報処理装置および情報処理装置におけるデータ処理方法を提供する。
【解決手段】コンピュータ1は、入力操作が行われる入力操作手段と、入力操作手段の動作を制御する入力操作制御手段と、コンソールとして用いられる他の情報処理装置から出力されるコンソールデータをオペレーティングシステムが認識し得るコードデータに変換するデータ変換手段と、コンソールデータをデータ変換手段に出力するコンソールデータ出力手段と、データ変換手段により変換されたコードデータを入力操作制御手段に出力するコードデータ出力手段とを有している。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンソールからのキー入力を検知できるようにしたパーソナルコンピュータ等の情報処理装置および情報処理装置におけるデータ処理方法に関する。
【背景技術】
【0002】
従来、パーソナルコンピュータをはじめとする情報処理装置は、文書作成や、表計算、Webサイトの閲覧といった様々な用途で用いられ、家庭用や業務用として広く普及している。この種の情報処理装置は、ユーザが単独で用いるほか、図6に示す情報処理装置200のように、シリアルケーブル202またはLAN等のネットワークを介して他の情報処理装置201に接続され、その情報処理装置201を管理したり、遠隔操作するコンソールとしても用いられる(コンソールとして用いられる情報処理装置に関しては例えば特許文献1参照)。
【特許文献1】特開平6−75753号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
ところで、情報処理装置はOS(Operating System)やBIOS(Basic Input/Output System)などのソフトウェアがインストールされ、それらにしたがって動作を行う。この点は、情報処理装置がコンソールとして用いられる場合も同様である。OSの中には、BIOSが持つキーボードファンクション(キーボードの制御プログラム)を用いるOSと、キーボードファンクションを用いないOS(例えば、Windows(登録商標))とがある。
【0004】
そして、前述の情報処理装置200が情報処理装置201を管理するコンソールとして用いられる場合において、情報処理装置201のOSはキー入力(キーボードを用いたデータ入力)を次のようにして検知している。
【0005】
まず、情報処理装置201にBIOSの持つキーボードファンクションを用いるOS210がインストールされているとする。この場合は、図7に示すように情報処理装置201のキーボードからのキー入力t1があった場合は、BIOS211がKBC(キーボードコントローラ)212のデータポート(図示せず)からデータ取得t2を行う。次に、BIOS211の持つキーボードファンクションを用いてキーコードの出力t3が行われる。こうして、OS210はBIOS211のキーボードファンクションを用いてキーコードを取得することにより、キーボードからのキー入力t1を検知している。
【0006】
また、コンソール(すなわち、情報処理装置200)からのキー入力t4があるかどうかを判定するため、BIOS211により、図7には図示しないシリアルポートからのデータ有無チェックが行われる(図9のS301)。
【0007】
データがあると、シリアルコントローラ213がデータ出力t5を行い、BIOS211がシリアルコンソールからのデータを受信する(S302)。
【0008】
続いて、BIOS211が受信したデータをキーコードに変換する(S303)。また、BIOS211はデータ保存t6を行い、変換したキーコードをBIOSのキーボードファンクションが使用するキーコードバッファ214に保存する(S304)。そして、OS210がデータ取得t7を行い、キーコードバッファ214からキーコードを取得する。こうして、OS210はBIOS211のキーボードファンクションを用いることによりコンソールからのキー入力t4を検知している。
【0009】
次に、情報処理装置201にBIOSの持つキーボードファンクションを用いないOS220がインストールされているとする。この場合は、図8に示すように、情報処理装置201のキーボードからのキー入力t1があった場合は、キーボードドライバ(キーボードを作動させるための制御プログラム)215がKBC212のデータポートからのデータ取得t8を行うとともに、OS220へのデータ出力t9を行う。OS220はキーボードドライバ215を用いてデータを取得することにより、キー入力t1を検知している。
【0010】
一方、コンソールからのキー入力t4があった場合は、コンソール入力専用のシリアルコンソールドライバ(ソフトウェア)216がシリアルコントローラ213のシリアルポート(図示せず)からのデータ受信t10を行い、受信したデータをキーコードに変換する。また、シリアルコンソールドライバ216が変換したキーコードのデータ出力t11を行う。このように、OS220がシリアルコンソールドライバ216を用いてキーコードを取得することによりコンソールからのキー入力t4を検知している。
【0011】
以上のとおり、BIOSが持つキーボードファンクションを用いないOS220がインストールされているときは、コンソール入力専用のシリアルコンソールドライバ216が存在すれば(インストールされていれば)OS220はコンソールからのキー入力を検知できる。
【0012】
しかしながら、シリアルコンソールドライバ216が存在していないときは、コンソールから入力されるデータをキーコードに変換できないし、OS220がキーコードを取得することもできなかった。そのため、OS220はコンソールからのキー入力を検知することができなかった。
【0013】
そこで、本発明は上記課題を解決するためになされたもので、BIOSが持つキーボードファンクションを用いないOSがインストールされている場合において、シリアルコンソールドライバが存在しなくても、OSがコンソールからのキー入力を検知できるようにした情報処理装置および情報処理装置におけるデータ処理方法を提供することを目的とする。
【課題を解決するための手段】
【0014】
上記課題を解決するため、本発明は、入力操作が行われる入力操作手段と、その入力操作手段の動作を制御する入力操作制御手段と、コンソールとして用いられる他の情報処理装置から出力されるコンソールデータをオペレーティングシステムが認識し得るコードデータに変換するデータ変換手段と、コンソールデータをデータ変換手段に出力するコンソールデータ出力手段と、データ変換手段により変換されたコードデータを前記入力操作制御手段に出力するコードデータ出力手段とを有する情報処理装置を特徴とする。
【0015】
また、本発明は入力操作が行われる入力操作手段と、その入力操作手段の動作を制御する入力操作制御手段とを有する情報処理装置において、コンソールとして用いられる他の情報処理装置から出力されるコンソールデータをオペレーティングシステムが認識し得るコードデータに変換し、その変換されたコードデータを入力操作制御手段に出力するデータ処理方法を提供する。
【発明の効果】
【0016】
以上詳述したように、本発明によれば、BIOSが持つキーボードファンクションを用いないOSがインストールされている場合において、シリアルコンソールドライバが存在しなくても、OSがコンソールからのキー入力を検知できるようにした情報処理装置および情報処理装置におけるデータ処理方法が得られる。
【発明を実施するための最良の形態】
【0017】
以下、本発明の実施の形態について説明する。なお、同一要素には同一符号を用い、重複する説明は省略する。
【0018】
図1に示すノートブック型のパーソナルコンピュータ(以下「コンピュータ」という)1は、コンピュータ本体3と、コンピュータ本体3に対して開閉自在のディスプレイユニット5とを備えている。
【0019】
ディスプレイユニット5には、TFT−LCD(Thin Film Transistor Liquid Crystal Display)7が組み込まれている。LCD7の表示画面はディスプレイユニット5のほぼ中央に位置している。LCD7はコンピュータ1のディスプレイモニタとして使用され、動画、静止画、文字、図形などが表示される。
【0020】
ディスプレイユニット5は、コンピュータ本体3に対して開放位置と閉塞位置との間を回動自在に取り付けられている。コンピュータ本体3は、薄い箱形の筐体を有しており、その上面にはキーボード9、コンピュータ1をパワーオン/パワーオフするためのパワーボタン11、タッチパッド15、クリックボタン17、スピーカ18が配置されている。
【0021】
キーボード9は、複数の入力キーを有し、その入力キーを指でたたく入力操作が行われ、その入力操作によって後述するエンベデッドコントローラ/キーボードコントローラIC(EC/KBC)121にデータを入力する入力操作手段である。
【0022】
キーボード9は、英字、カナ、数字が刻印され、刻印に応じた文字の入力が行える入力キーのほか、ENTERキー、Back spaceキー、InsertキーやDeleteキーといった入力したデータの編集操作や所定の入力操作を行える入力キーを有している。
【0023】
また、コンピュータ1は、HD DVD規格のDVDメディアに格納された(HD DVDVideo規格の)オーディオ・ビデオ(AV)コンテンツを再生することができる。コンピュータ本体3の正面には、DVDメディアを出し入れするためのスロット19が設けられている。
【0024】
次に、図2を参照してコンピュータ1の内部構成について説明する。図2に示すように、コンピュータ1は、CPU101、ノースブリッジ103、メインメモリ105、グラフィックスコントローラ107、ビデオメモリ(VRAM)107a、サウスブリッジ109、BIOS−ROM111を有している。
【0025】
また、コンピュータ1は、サウンドコントローラ113、ハードディスクドライブ(HDD)117、HD DVDドライブ119、エンベデッドコントローラ/キーボードコントローラIC(EC/KBC)121、シリアルコントローラ123、デジタルTVチューナ125、シリアルポート126を有している。
【0026】
CPU101は、コンピュータ1の動作を制御するプロセッサであり、HDD117やBIOS−ROM111からメインメモリ105にロードされるプログラムを実行する。CPU101が実行するプログラムとしては、オペレーティングシステム(OS)131や、BIOS(Basic Input Output System)132,キーボードドライバ133といった制御プログラムのほか、HD DVDプレーヤアプリケーションプログラム、TVアプリケーションといったアプリケーションプログラムがある。
【0027】
CPU101がOS131や、BIOS132に規定されている動作を実行することにより、各種の手段(データ変換手段、コードデータ出力手段)としての機能が実現される。なお、OS131はHDD117に格納され、BIOS132はBIOS−ROM111に格納されている。詳しくは後述するが、BIOS132には、図4に示すデータ変換fを実行するためのモジュールと、データ出力r6を実行するためのモジュールとが含まれている。
【0028】
コンピュータ1には、オペレーティングシステム131として,BIOS132の持つキーボードファンクションを使用しないOS(例えば、Windows(登録商標))がインストールされている。
【0029】
HD DVDプレーヤアプリケーションプログラムはHD DVD Video規格のAVコンテンツを再生するプログラム、TVアプリケーションはデジタルTV放送を視聴可能とするためのプログラムである。
【0030】
ノースブリッジ103は、CPU101のローカルバスとサウスブリッジ109との間を接続するブリッジデバイスである。ノースブリッジ103には、メインメモリ105をアクセス制御するメモリコントローラも内蔵されている。また、ノースブリッジ103はPCI EXPRESS規格のシリアルバスなどを介してグラフィックスコントローラ107との通信を実行する機能も有している。
【0031】
メインメモリ105には、オペレーティングシステム131や、BIOS132がロードされる。
【0032】
グラフィックスコントローラ107は、LCD7を制御する表示コントローラである。グラフィックスコントローラ107は、ブレンド処理、スケーリング処理、ルーマキー処理等の画像処理機能を有している。このグラフィックスコントローラ107によって生成される表示信号はLCD7に送られる。また、表示信号はコンピュータ本体3に設けられたインターフェースを介して外部のTVやHDMIモニタに送出することもできる。
【0033】
サウスブリッジ109は、PCI(Peripheral Component Interconnect)バス上の各デバイス及びLPC(Low Pin Count)バス上の各デバイスを制御する。また、サウスブリッジ109は、HDD117、HD DVDドライブ119を制御するためのIDE(IntegratedDrive Electronics)コントローラを内蔵している。
【0034】
さらに、サウスブリッジ109は、サウンドコントローラ113との通信を実行する機能も有している。サウンドコントローラ113は音源デバイスであり、再生対象のオーディオデータをスピーカ18に出力する。
【0035】
エンベデッドコントローラ/キーボードコントローラIC(EC/KBC)121は、エンベデッドコントローラとキーボードコントローラとが集積された1チップマイクロコンピュータである。エンベデッドコントローラは電力管理を行う。キーボードコントローラはキーボード9、タッチパッド15およびクリックボタン17を用いたデータ入力等の入力操作手段の動作を制御する入力操作制御手段としての機能を有している。
【0036】
そして、タッチパッド15が操作されると操作信号が生成され、この操作信号に基づいてLDC7に表示されたカーソルが移動する。また、このEC/KBC121は、ユーザによるパワーボタン11の操作に応じてコンピュータ1をパワーオン/パワーオフする機能を有している。
【0037】
シリアルコントローラ123は、シリアル転送方式でのデータ転送を制御する制御手段である。シリアルコントローラ123はシリアルポート126が接続されている。
【0038】
コンピュータ1はデジタルTV放送の視聴を可能にするため、デジタルTVチューナ125を備えており、CPU101に前述のTVアプリケーションを実行させることにより、デジタルTVチューナ125で受信されるデジタル放送波に基づくTV映像がLCD7に表示される。
【0039】
次に、以上の構成を有するコンピュータ1にシリアルコンソールとして用いられるコンピュータ150を接続し、コンピュータ150からキー入力を行ってコンピュータ1を管理するときのコンピュータ1の動作内容について、図3〜図4を参照して説明する。
【0040】
この場合、コンピュータ1とコンピュータ150とは、図3に示すように、それぞれのシリアルポート126,151aがシリアルケーブル152によって接続されている。なお、図示はしないが、コンピュータ150はコンピュータ1と同様の構成を有している。
【0041】
そして、図4に示すようにコンピュータ1のキーボード9からのキー入力r1があった場合は、キーボードドライバ133がEC/KBC121のデータポートからのデータ取得r2を行うとともに、OS131へのデータ出力r3を行う。こうして、OS131はキーボード9からのキー入力r1を検知している。
【0042】
一方、シリアルコンソール(すなわち、コンピュータ150)からのキー入力r4があった場合、コンピュータ1は以下のようなデータ処理を行うことによって、OS131がキー入力r4を検知できるようにしている。
【0043】
BIOS132はコンピュータ1の電源が投入されていればOS131がインストールされていないとしても実行できる。そこで、BIOS132により、シリアルポート126からのデータ有無チェック処理を行い、シリアルコンソールからのキー入力r4があるかどうかを判定する(図5のS1)。
【0044】
データがあると、シリアルコントローラ123がデータ出力r5を行い、シリアルコンソールからのデータ(コンソールデータともいう)をBIOS132に出力する。この場合、シリアルコントローラ123がコンソールデータ出力手段として作動している。
【0045】
これにより、BIOS132がコンピュータ150からのコンソールデータを受信する(S2)。そして、BIOS132はデータ変換fを行い、受信したコンソールデータをOS131の認識可能なキーコードに変換する(S3)。
【0046】
次に、BIOS132はデータ出力r6を行い、変換したキーコードを後述する書込みコマンドとともにEC/KBC121に出力する。
【0047】
一方、EC/KBC121は書き込みコマンドが出力されたときは、データ書込みr7を行い、その書き込みコマンドとともに出力されてきたキーコードをデータレジスタ121aに書き込む。ここで、データレジスタ121aはEC/KBC121と、キーボードドライバ133との間でデータをやりとりするための標準インターフェースとして用いられるものである。
【0048】
キーボードドライバ133はキーボード9を作動させるための制御プログラムであり、後述するデータ取得r8を実行するためのモジュールと、データ出力r3を実行するためのモジュールとが含まれている。キーボードドライバ133にしたがいCPU101が作動して、コードデータ取得手段としての機能が実現される。
【0049】
そして、キーボードドライバ133がデータ取得r8を行い、データレジスタ121aに書き込まれているキーコードを取得する。また、キーボードドライバ133はデータ出力r3を行い、取得したキーコードをOS131に出力する。こうして、OS131はキーボードドライバ133を用いることでコンソールからのキー入力r4を検知している。
【0050】
従来技術では、キーボードドライバ133だけでは、EC/KBC121のデータポートからキーコードを取得することができるのみである。そのため、コンソール入力専用のシリアルコンソールドライバが存在していないときは、シリアルコンソールからのキー入力r4があっても、OS131はそのキー入力r4を検知することはできない。
【0051】
しかしながら、本実施の形態にかかるコンピュータ1では、シリアルコンソールからのキー入力r4があったときはBIOS132がコンピュータ150からのコンソールデータを受信するとともに、そのコンソールデータをキーコードに変換してEC/KBC121に出力している。
【0052】
そのため、コンピュータ1では、コンソールデータに対し、キーボード9からのキー入力r1で入力されるデータと同じようにしてデータ処理を行うことができる。
【0053】
したがって、コンピュータ1は、BIOS132のキーボードファンクションを用いないOS131がインストールされている場合において、コンソール入力専用のシリアルコンソールドライバが存在していなくても、OS131がシリアルコンソールからのキー入力r4を検知できるようになっている。
【0054】
また、BIOS132は、キーコードを書き込みコマンドとともにEC/KBC121に出力している。書き込みコマンドは、BIOS132がキー入力r4によるコンソールデータを変換して得られるキーコードを出力し、そのキーコードをデータレジスタ121aに書き込むことをEC/KBC121に指示するためのコマンドである。
【0055】
そのため、EC/KBC121は、書き込みコマンドが出力されたとき、そのときのキーコードをデータポートとは別のデータレジスタ121aに書き込むことができる。
【0056】
したがって、OS131は、コンソールからのキー入力r4をキーボード9からのキー入力r1と区別して検知することができる。
【0057】
また、シリアルコントローラ123を使ってのシリアルコンソールのキー入力だけではなく、シリアル通信をエミュレートして実現するIntel社のAMT(アクティブ・マネジメント・テクノロジー)のSOL(Serial Over Lan)機能においても、本発明の解決しようとする課題と同様の課題がある。しかしながら、この課題も本発明により解決することができる。
【0058】
以上の説明は、本発明の実施の形態についての説明であって、この発明の装置及び方法を限定するものではなく、様々な変形例を容易に実施することができる。又、各実施形態における構成要素、機能、特徴あるいは方法ステップを適宜組み合わせて構成される装置又は方法も本発明に含まれるものである。
【0059】
コンピュータ1は本実施の形態では、例えば携帯可能なノート型のパソコンを想定しているが、本発明はノート型のパソコンに限定されるものではない。
【図面の簡単な説明】
【0060】
【図1】本発明の実施形態に係るコンピュータの外観を示す斜視図である。
【図2】図1のコンピュータ内部の構成を示すブロック図である。
【図3】本発明の実施形態に係るコンピュータと、シリアルコンソールとして用いられるコンピュータとを接続した構成を示す図である。
【図4】本発明の実施形態に係るコンピュータにおけるキーボードからのキー入力およびシリアルコンソールからのキー入力を検知するための構成を示すブロック図である。
【図5】本発明の実施形態に係るコンピュータにおけるシリアルコンソールからのキー入力を検知するための動作手順を示すフローチャートである。
【図6】従来のコンピュータと、シリアルコンソールとして用いられるコンピュータとを接続した構成を示す図である。
【図7】従来のコンピュータにおけるキーボードからのキー入力を検知するための構成を示すブロック図である。
【図8】従来のコンピュータにおけるシリアルコンソールからのキー入力を検知するための構成を示すブロック図である。
【図9】従来のコンピュータにおけるシリアルコンソールからのキー入力を検知するための動作手順を示すフローチャートである。
【符号の説明】
【0061】
1,150…コンピュータ、7…LCD、9…キーボード、101…CPU、111…BIOS−ROM、121…EC/KBC、121a…データレジスタ、123…シリアルコントローラ、126…シリアルポート、131…OS、132…BIOS、132…キーボードドライバ。

【特許請求の範囲】
【請求項1】
入力操作が行われる入力操作手段と、
該入力操作手段の動作を制御する入力操作制御手段と、
コンソールとして用いられる他の情報処理装置から出力されるコンソールデータをオペレーティングシステムが認識し得るコードデータに変換するデータ変換手段と、
前記コンソールデータを前記データ変換手段に出力するコンソールデータ出力手段と、
前記データ変換手段により変換された前記コードデータを前記入力操作制御手段に出力するコードデータ出力手段とを有する情報処理装置。
【請求項2】
前記入力操作制御手段から前記コードデータを取得するコードデータ取得手段と、
前記入力操作制御手段と前記コードデータ取得手段とのインターフェースとして用いられるデータレジスタとを更に有する請求項1記載の情報処理装置。
【請求項3】
前記コードデータ出力手段は、前記コードデータを前記データレジスタに書き込ませるための書込みコマンドとともに前記コードデータを前記入力操作制御手段に出力する請求項2記載の情報処理装置。
【請求項4】
前記入力操作制御手段は、前記コードデータ出力手段から前記書込みコマンドが出力されたときに、該書込みコマンドとともに前記コードデータ出力手段から出力される前記コードデータを前記データレジスタに書き込む請求項3記載の情報処理装置。
【請求項5】
前記コードデータ取得手段は、前記データレジスタから前記コードデータを取得する請求項2〜4のいずれか一項記載の情報処理装置。
【請求項6】
前記コードデータ取得手段は、前記入力操作手段を作動させるためのデバイスドライバに組み込まれている請求項2〜5のいずれか一項記載の情報処理装置。
【請求項7】
前記データ変換手段および前記コードデータ出力手段は、前記入力操作手段を含む入出力装置を制御するBIOSに組み込まれている請求項1〜6のいずれか一項記載の情報処理装置。
【請求項8】
前記入力操作手段は、複数の入力キーを備えたキーボードによって構成されている請求項1〜7のいずれか一項記載の情報処理装置。
【請求項9】
入力操作が行われる入力操作手段と、該入力操作手段の動作を制御する入力操作制御手段とを有する情報処理装置において、
コンソールとして用いられる他の情報処理装置から出力されるコンソールデータをオペレーティングシステムが認識し得るコードデータに変換し、
その変換された前記コードデータを前記入力操作制御手段に出力するデータ処理方法。
【請求項10】
前記入力操作制御手段と前記コードデータを取得するコードデータ取得手段のインターフェースとして用いられるデータレジスタに前記コードデータを書き込ませるための書込みコマンドとともに前記コードデータを前記入力操作制御手段に出力する請求項9記載のデータ処理方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate