(57)【要約】【課題】周辺機器と複数のアプリケーションソフトとを連携させること。【解決手段】アプリケーションソフト１３０の代わりに、周辺機器Ｄのデバイスドライバ１５０を介して、周辺機器Ｄとの間でコマンドを送受信するコマンド送受信部１１１と、複数のアプリケーションソフト１３０のうち、コマンド送受信部１１１が受信したコマンドを必要とするアプリケーションソフト１３０を特定するアプリケーションソフト特定部１１２と、アプリケーションソフト特定部１１２が特定したアプリケーションソフト１３０に対して、コマンドを送出するコマンド送出部１１３とを備える。【選択図】図１
2014238659.tif 000002
【特許請求の範囲】
【請求項１】
周辺機器と複数のアプリケーションソフトとを連携させる情報処理装置であって、
前記アプリケーションソフトの代わりに、前記周辺機器のデバイスドライバを介して、前記周辺機器との間でコマンドを送受信するコマンド送受信部と、
前記複数のアプリケーションソフトのうち、前記コマンド送受信部が受信したコマンドを必要とするアプリケーションソフトを特定するアプリケーションソフト特定部と、
前記アプリケーションソフト特定部が特定したアプリケーションソフトに対して、前記コマンドを送出するコマンド送出部と
を備える情報処理装置。
【請求項２】
前記アプリケーションソフトが必要とするコマンドの一覧を、前記アプリケーションソフトから取得するコマンド一覧取得部
を更に備え、
前記アプリケーションソフト特定部は、前記コマンド一覧取得部が取得したコマンドの一覧を参照して、前記周辺機器から受信したコマンドを必要とするアプリケーションソフトを特定する
請求項１に記載の情報処理装置。
【請求項３】
前記コマンド送受信部は、前記デバイスドライバへのアクセス権を証明する証明書を用いて、当該デバイスドライバを介して、前記周辺機器との間でコマンドを送受信する
請求項１又は２に記載の情報処理装置。
【請求項４】
前記デバイスドライバを抽象化するデバイスドライバ抽象化部
を更に備え、
前記コマンド送受信部は、前記デバイスドライバ抽象化部が抽象化したデバイスドライバを介してコマンドを送受信する
請求項１から３のいずれか一項に記載の情報処理装置。
【請求項５】
周辺機器と複数のアプリケーションソフトとを連携させる情報処理方法であって、
前記アプリケーションソフトの代わりに、前記周辺機器のデバイスドライバを介して、前記周辺機器との間でコマンドを送受信するコマンド送受信段階と、
前記複数のアプリケーションソフトのうち、前記コマンド送受信段階において受信されたコマンドを必要とするアプリケーションソフトを特定するアプリケーションソフト特定段階と、
前記アプリケーションソフト特定段階において特定されたアプリケーションソフトに対して、前記コマンドを送出するコマンド送出段階と
を備える情報処理方法。
【請求項６】
周辺機器と複数のアプリケーションソフトとを連携させる情報処理装置として、コンピュータを機能させるプログラムであって、
前記コンピュータを、
前記アプリケーションソフトの代わりに、前記周辺機器のデバイスドライバを介して、前記周辺機器との間でコマンドを送受信するコマンド送受信部、
前記複数のアプリケーションソフトのうち、前記コマンド送受信部が受信したコマンドを必要とするアプリケーションソフトを特定するアプリケーションソフト特定部、
前記アプリケーションソフト特定部が特定したアプリケーションソフトに対して、前記コマンドを送出するコマンド送出部
として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法及びプログラムに関する。特に本発明は、周辺機器と複数のアプリケーションソフトとを連携をさせる情報処理装置、情報処理方法、並びに当該情報処理装置としてコンピュータを機能させるプログラムに関する。
【背景技術】
【０００２】
近年は、スマートフォンやタブレットが普及し、家電機器を遠隔操作するためのリモコンとして、これらのモバイル機器を利用することが注目されている。
【０００３】
このような背景に関連する技術としては、様々なものが知られている（例えば、特許文献１参照。）。
【０００４】
例えば、特許文献１には、家電側から発行されたリモコン信号によりコンピュータを制御するコンピュータと家電によるリモコン信号を用いた双方向制御装置が記載されている。より具体的に説明すると、この双方向制御装置は、外部装置制御を行うためのアプリケーションと双方向性インターフェース部を搭載し、双方向性インターフェース部を有線にて外部装置に接続されたコンピュータにおいて、外部装置とコンピュータに電源が入っている状態で、外部装置側から送信されたコンピュータ制御信号を双方向性インターフェースで受信したとき、外部装置制御アプリケーションによりコンピュータ制御信号に含まれるコンピュータ制御コマンドに対応した動作を実行する。このようにして、この双方向制御装置によっては、外部装置制御機能を制御するアプリケーションのアップグレードにより有線で接続する対応機器の追加や製作会社が異なる外部装置の追加接続等のきめ細かなコンピュータと外部装置によるリモコン信号を用いた双方向制御が可能となる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−１７２６３７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、周辺機器から送信されるコマンドに応じてアプリケーションソフトを動作させる技術においては、全てのコマンドがアプリケーションソフトに必要なコマンドとは限らない。
【０００７】
しかしながら、特許文献１に記載の技術によっては、アプリケーションソフトが周辺機器からコマンドを受信して、そのコマンドに応じた処理を行うため、アプリケーションソフトを設計する際には、必要なコマンドを受信した場合の処理と、不必要なコマンドを受信した場合の処理とをそれぞれ考慮して設計しなければならない。
【０００８】
また、特許文献１に記載の技術によっては、複数のアプリケーションソフトがインストールされているような場合、あるアプリケーションソフトにとっては不必要なコマンドであっても、そのアプリケーションソフトを含む全てのアプリケーションソフトが、そのコマンドに応じた処理を行うことになるため、負荷が高くなってしまう。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、本発明の第１の形態によると、周辺機器と複数のアプリケーションソフトとを連携させる情報処理装置であって、アプリケーションソフトの代わりに、周辺機器のデバイスドライバを介して、周辺機器との間でコマンドを送受信するコマンド送受信部と、複数のアプリケーションソフトのうち、コマンド送受信部が受信したコマンドを必要とするアプリケーションソフトを特定するアプリケーションソフト特定部と、アプリケーションソフト特定部が特定したアプリケーションソフトに対して、コマンドを送出するコマンド送出部とを備える。
【００１０】
アプリケーションソフトが必要とするコマンドの一覧を、アプリケーションソフトから取得するコマンド一覧取得部を更に備え、アプリケーションソフト特定部は、コマンド一覧取得部が取得したコマンドの一覧を参照して、周辺機器から受信したコマンドを必要とするアプリケーションソフトを特定してもよい。
【００１１】
コマンド送受信部は、デバイスドライバへのアクセス権を証明する証明書を用いて、当該デバイスドライバを介して、周辺機器との間でコマンドを送受信してもよい。
【００１２】
デバイスドライバを抽象化するデバイスドライバ抽象化部を更に備え、コマンド送受信部は、デバイスドライバ抽象化部が抽象化したデバイスドライバを介してコマンドを送受信してもよい。
【００１３】
本発明の第２の形態によると、周辺機器と複数のアプリケーションソフトとを連携させる情報処理装置であって、アプリケーションソフトの代わりに、周辺機器のデバイスドライバを介して、周辺機器との間でコマンドを送受信するコマンド送受信段階と、複数のアプリケーションソフトのうち、コマンド送受信段階において受信されたコマンドを必要とするアプリケーションソフトを特定するアプリケーションソフト特定段階と、アプリケーションソフト特定段階において特定されたアプリケーションソフトに対して、コマンドを送出するコマンド送出段階とを備える。
【００１４】
本発明の第３の形態によると、周辺機器と複数のアプリケーションソフトとを連携させる情報処理装置として、コンピュータを機能させるプログラムであって、コンピュータを、アプリケーションソフトの代わりに、周辺機器のデバイスドライバを介して、周辺機器との間でコマンドを送受信するコマンド送受信部、複数のアプリケーションソフトのうち、コマンド送受信部が受信したコマンドを必要とするアプリケーションソフトを特定するアプリケーションソフト特定部、アプリケーションソフト特定部が特定したアプリケーションソフトに対して、コマンドを送出するコマンド送出部として機能させる。
【００１５】
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となり得る。
【発明の効果】
【００１６】
以上の説明から明らかなように、この発明によっては、周辺機器から送信されるコマンドのうち、アプリケーションソフトに必要なコマンドのみを考慮したアプリケーションソフトの設計ができるようになる。
【００１７】
また、この発明によっては、周辺機器から送信されるコマンドを必要としているアプリケーションソフトのみを動作させることができる。
【図面の簡単な説明】
【００１８】
【図１】第１の実施形態に係るセットトップボックス１００のブロック構成の一例を示す図である。
【図２】コマンド情報格納部１１５に格納される属性の一例をテーブル形式で示す図である。
【図３】第１の実施形態に係るセットトップボックス１００の動作フローの一例を示す図である。
【図４】第２の実施形態に係るセットトップボックス１００のブロック構成の一例を示す図である。
【図５】第２の実施形態に係るセットトップボックス１００の動作フローの一例を示す図である。
【図６】第３の実施形態に係るセットトップボックス１００のブロック構成の一例を示す図である。
【図７】第４の実施形態に係るセットトップボックス１００のブロック構成の一例を示す図である。
【図８】本実施形態に係るセットトップボックス１００を構成するコンピュータ８００のハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【００１９】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではなく、また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【００２０】
図１は、第１の実施形態に係るセットトップボックス１００のブロック構成の一例を示す。セットトップボックス１００は、デジタル家電Ｄに接続して様々なサービスを受けられるようにする機器である。例えば、セットトップボックス１００は、デジタル家電Ｄと複数のアプリケーションソフト１３０ａ、ｂ、ｃ、・・・（以下、アプリケーションソフト１３０と総称する。）とを連携させる。なお、セットトップボックス１００は、この発明における「情報処理装置」の一例であってもよい。
【００２１】
セットトップボックス１００は、デジタル家電Ｄと電気的に接続されている。ここで、デジタル家電Ｄとは、映像や音声等、情報を取り扱う家電製品のうち、入出力をデジタルデータにより行う種類の製品である。なお、デジタル家電Ｄは、この発明における「周辺機器」の一例であってもよい。
【００２２】
セットトップボックス１００は、フレームワーク１１０、アプリケーションソフト１３０及びデバイスドライバ１５０を備える。ここで、フレームワーク１１０とは、アプリケーションソフト１３０の土台として機能するソフトウェアである。また、アプリケーションソフト１３０とは、デジタル家電Ｄとの連携のために設計されたソフトウェアである。また、デバイスドライバ１５０とは、デジタル家電Ｄを制御、操作するためのソフトウェアである。
【００２３】
フレームワーク１１０は、コマンド送受信部１１１、アプリケーションソフト特定部１１２、コマンド送出部１１３、コマンド受取部１１４及びコマンド情報格納部１１５を有する。
【００２４】
コマンド送受信部１１１は、アプリケーションソフト１３０の代わりに、デジタル家電Ｄのデバイスドライバ１５０を介して、デジタル家電Ｄとの間でコマンドを送受信する。
【００２５】
アプリケーションソフト特定部１１２は、複数のアプリケーションソフト１３０のうち、コマンド送受信部１１１が受信したコマンドを必要とするアプリケーションソフト１３０を特定する。
【００２６】
コマンド送出部１１３は、アプリケーションソフト特定部１１２が特定したアプリケーションソフト１３０に対して、コマンドを送出する。
【００２７】
コマンド受取部１１４は、アプリケーションソフト１３０からコマンドを受け取る。
【００２８】
コマンド情報格納部１１５には、アプリケーションソフト１３０が必要とするコマンドの一覧の情報が格納される。
【００２９】
図２は、コマンド情報格納部１１５に格納される属性の一例をテーブル形式で示す。コマンド情報格納部１１５には、アプリケーションソフトＩＤ（ｉｄｅｎｔｉｆｉｅｒ）及びコマンドの各属性が対応付けられて格納される。
【００３０】
アプリケーションソフトＩＤの属性は、各アプリケーションソフトを一意に識別するための識別符号である。
【００３１】
コマンドの属性は、アプリケーションソフトＩＤによって識別されるアプリケーションソフト１３０が必要とするコマンドの一覧を示す。例えば、この例においては、アプリケーションソフトＩＤの属性値「Ａ０００１」によって識別されるアプリケーションソフト１３０が、「電源オン」及び「電源オフ」のコマンドを必要としていることを示している。
【００３２】
図３は、第１の実施形態に係るセットトップボックス１００の動作フローの一例を示す。この動作フローの説明においては、コマンド送受信部１１１、アプリケーションソフト特定部１１２及びコマンド送出部１１３の動作について詳述する。なお、この動作フローの説明においては、図１及び図２を共に参照する。
【００３３】
デジタル家電Ｄは、ユーザによる操作が成されると、その操作内容に応じたコマンドを、セットトップボックス１００へ出力する。
【００３４】
セットトップボックス１００のフレームワーク１１０のコマンド送受信部１１１は、デバイスドライバ１５０を介してコマンドを受信すると（Ｓ１０１）、そのコマンドを、アプリケーションソフト特定部１１２へ送る。
【００３５】
フレームワーク１１０のアプリケーションソフト特定部１１２は、コマンド送受信部１１１からコマンドを受け取ると、複数のアプリケーションソフト１３０のうち、コマンド送受信部１１１から受け取ったコマンドを必要とするアプリケーションソフト１３０を特定する（Ｓ１０２）。例えば、アプリケーションソフト特定部１１２は、コマンド情報格納部１１５に格納されているアプリケーションソフトＩＤの情報のうち、コマンド送受信部１１１から受け取ったコマンドを示す情報に対応付けられて格納されているアプリケーションソフトＩＤを、そのコマンドを必要とするアプリケーションソフト１３０を識別する情報として特定する。例えば、アプリケーションソフト特定部１１２は、「電源オン」のコマンドを受け取った場合、コマンド情報格納部１１５に格納されているアプリケーションソフトＩＤの属性のうち、コマンドの属性値「電源オン」に対応付けられて格納されているアプリケーションＩＤの属性値「Ａ０００１」及び「Ａ０００３」を、「電源オン」のコマンドを必要とするアプリケーションソフト１３０を識別する情報として特定する。そして、アプリケーションソフト特定部１１２は、特定したアプリケーションソフトＩＤと、コマンド送受信部１１１から受け取ったコマンドとを、コマンド送出部１１３へ送る。
【００３６】
フレームワーク１１０のコマンド送出部１１３は、アプリケーションソフト特定部１１２からアプリケーションソフトＩＤとコマンドとを受け取ると、そのアプリケーションソフトＩＤによって識別されるアプリケーションソフト１３０に対して、そのコマンドを送出する（Ｓ１０３）。
【００３７】
このようにして、アプリケーションソフト１３０は、必要なコマンドを受け取ることになる。
【００３８】
以上、説明したように、本実施形態に係るセットトップボックス１００は、アプリケーションソフト１３０の代わりに、デジタル家電Ｄのデバイスドライバを介して、デジタル家電Ｄとの間でコマンドを送受信する。そして、セットトップボックス１００は、複数のアプリケーションソフト１３０のうち、受信したコマンドを必要とするアプリケーションソフト１３０を特定する。そして、セットトップボックス１００は、特定したアプリケーションソフト１３０に対して、コマンドを送出する。
【００３９】
このようにして、本実施形態に係るセットトップボックス１００によっては、デジタル家電Ｄから送信されるコマンドのうち、アプリケーションソフト１３０に必要なコマンドのみを考慮したアプリケーションソフト１３０の設計ができるようになる。また、本実施形態に係るセットトップボックス１００によっては、デジタル家電Ｄから送信されるコマンドを必要としているアプリケーションソフトのみを動作させることができる。
【００４０】
図４は、第２の実施形態に係るセットトップボックス１００のブロック構成の一例を示す。セットトップボックス１００は、フレームワーク１１０、アプリケーションソフト１３０及びデバイスドライバ１５０を備える。フレームワーク１１０は、コマンド送受信部１１１、アプリケーションソフト特定部１１２、コマンド送出部１１３、コマンド受取部１１４、コマンド情報格納部１１５及びコマンド一覧取得部２１６を有する。
【００４１】
なお、第１の実施形態に係るセットトップボックス１００、及び第２の実施形態に係るセットトップボックス１００の構成要素のうち、同じ符号を付している同名の構成要素は同様の機能及び動作を示す。
【００４２】
コマンド一覧取得部２１６は、アプリケーションソフト１３０が必要とするコマンドの一覧を、アプリケーションソフト１３０から取得する。
【００４３】
アプリケーションソフト特定部１１２は、コマンド一覧取得部２１６が取得したコマンドの一覧を参照して、デジタル家電Ｄから受信したコマンドを必要とするアプリケーションソフト１３０を特定する。
【００４４】
コマンド情報格納部１１５には、コマンド一覧取得部２１６が取得したアプリケーションソフト１３０が必要とするコマンドの一覧の情報が格納される。
【００４５】
図５は、第２の実施形態に係るセットトップボックス１００の動作フローの一例を示す。この動作フローの説明においては、コマンド一覧取得部２１６の動作について詳述する。なお、この動作フローの説明においては、図２及び図４を共に参照する。
【００４６】
アプリケーションソフト１３０は、必要なコマンドの一覧を、インストール時にフレームワーク１１０へ送るように設計される。
【００４７】
フレームワーク１１０のコマンド一覧取得部２１６は、アプリケーションソフト１３０がインストールされる際に、そのアプリケーションソフト１３０が必要とするコマンドの一覧を、アプリケーションソフト１３０から取得すると（Ｓ２０４）、そのコマンドの一覧の情報を、そのアプリケーションソフト１３０を識別するアプリケーションソフトＩＤに対応付けて、コマンド情報格納部１１５に格納する（Ｓ２０５）。
【００４８】
このようにして、コマンド情報格納部１１５には、図２に示すような情報が格納されることになる。そして、アプリケーションソフト特定部１１２は、コマンド一覧取得部２１６が取得したコマンドの一覧を参照して、デジタル家電Ｄから受信したコマンドを必要とするアプリケーションソフト１３０を特定することになる。
【００４９】
以上、説明したように、本実施形態に係るセットトップボックス１００は、アプリケーションソフト１３０が必要とするコマンドの一覧を、アプリケーションソフト１３０から取得する。そして、セットトップボックス１００は、取得したコマンドの一覧を参照して、デジタル家電Ｄから受信したコマンドを必要とするアプリケーションソフト１３０を特定する。
【００５０】
このようにして、本実施形態に係るセットトップボックス１００によっては、必要なコマンドの一覧がインストール時にフレームワーク１１０へ送られるようにアプリケーションソフト１３０を設計しておくだけで、必要なコマンドに応じたデジタル家電Ｄとの連携を実現することができる。
【００５１】
図６は、第３の実施形態に係るセットトップボックス１００のブロック構成の一例を示す。セットトップボックス１００は、フレームワーク１１０、アプリケーションソフト１３０及びデバイスドライバ１５０を備える。フレームワーク１１０は、コマンド送受信部３１１、アプリケーションソフト特定部１１２、コマンド送出部１１３、コマンド受取部１１４及びコマンド情報格納部１１５を有する。
【００５２】
なお、第１の実施形態に係るセットトップボックス１００、及び第３の実施形態に係るセットトップボックス１００の構成要素のうち、同じ符号を付している同名の構成要素は同様の機能及び動作を示す。
【００５３】
コマンド送受信部３１１は、デバイスドライバ１５０へのアクセス権を証明する証明書を用いて、そのデバイスドライバ１５０を介して、デジタル家電Ｄとの間でコマンドを送受信する。
【００５４】
以上、説明したように、本実施形態に係るセットトップボックス１００は、デバイスドライバ１５０へのアクセス権を証明する証明書を用いて、そのデバイスドライバ１５０を介して、デジタル家電Ｄとの間でコマンドを送受信する。
【００５５】
このようにして、本実施形態に係るセットトップボックス１００によっては、アプリケーションソフト１３０を設計するにあたり、デジタル家電Ｄのデバイスドライバ１５０へのアクセス権を証明する証明書を取得することなく、そのデジタル家電Ｄとの連携を実現することができる。
【００５６】
図７は、第４の実施形態に係るセットトップボックス１００のブロック構成の一例を示す。本実施形態に係るセットトップボックス１００は、複数のデジタル家電Ｄａ、ｂ、ｃ、・・・（以下、デジタル家電Ｄと総称する。）と複数のアプリケーションソフト１３０とを連携させる装置である。セットトップボックス１００は、フレームワーク１１０、アプリケーションソフト１３０、複数のデバイスドライバ１５０ａ、ｂ、ｃ、・・・（以下、デバイスドライバ１５０と総称する。）及びデバイスドライバ抽象化部４７０を備える。フレームワーク１１０は、コマンド送受信部４１１、アプリケーションソフト特定部１１２、コマンド送出部１１３、コマンド受取部１１４及びコマンド情報格納部１１５を有する。
【００５７】
なお、第１の実施形態に係るセットトップボックス１００、及び第４の実施形態に係るセットトップボックス１００の構成要素のうち、同じ符号を付している同名の構成要素は同様の機能及び動作を示す。
【００５８】
デバイスドライバ抽象化部４７０は、デバイスドライバ１５０を抽象化する。
【００５９】
コマンド送受信部４１１は、デバイスドライバ抽象化部４７０が抽象化したデバイスドライバ１５０を介してコマンドを送受信する。
【００６０】
以上、説明したように、本実施形態に係るセットトップボックス１００は、デバイスドライバ１５０を抽象化する。そして、セットトップボックス１００は、抽象化したデバイスドライバ１５０を介してコマンドを送受信する。
【００６１】
コンピュータをとりまくデバイスは、多種多様であり、新しいデバイスが次々と登場している。本実施形態に係るセットトップボックス１００によっては、例えば、デバイスの種類さえ把握していれば、デバイスドライバの詳細な仕様を意識することなく、その種類のデバイスとして抽象化されたデバイスドライバに対応するアプリケーション開発を実現することができる。
【００６２】
図８は、本実施形態に係るセットトップボックス１００を構成するコンピュータ８００のハードウェア構成の一例を示す。本実施形態に係るコンピュータ８００は、ホストコントローラ８０１により相互に接続されるＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）８０２、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）８０３、グラフィックコントローラ８０４及びディスプレイ８０５を有するＣＰＵ周辺部と、入出力コントローラ８０６により相互に接続される通信インターフェース８０７、ハードディスクドライブ８０８及びＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）ドライブ８０９を有する入出力部と、入出力コントローラ８０６に接続されるＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）８１０、フレキシブルディスクドライブ８１１及び入出力チップ８１２を有するレガシー入出力部とを備える。
【００６３】
ホストコントローラ８０１は、ＲＡＭ８０３と、高い転送レートでＲＡＭ８０３をアクセスするＣＰＵ８０２及びグラフィックコントローラ８０４とを接続する。ＣＰＵ８０２は、ＲＯＭ８１０及びＲＡＭ８０３に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィックコントローラ８０４は、ＣＰＵ８０２等がＲＡＭ８０３内に設けたフレームバッファ上に生成する画像データを取得し、ディスプレイ８０５上に表示させる。これに代えて、グラフィックコントローラ８０４は、ＣＰＵ８０２等が生成する画像データを格納するフレームバッファを、内部に含んでもよい。
【００６４】
入出力コントローラ８０６は、ホストコントローラ８０１と、比較的高速な入出力装置である通信インターフェース８０７、ハードディスクドライブ８０８及びＣＤ−ＲＯＭドライブ８０９を接続する。ハードディスクドライブ８０８は、コンピュータ８００内のＣＰＵ８０２が使用するプログラム及びデータを格納する。ＣＤ−ＲＯＭドライブ８０９は、ＣＤ−ＲＯＭ８９２からプログラム又はデータを読み取り、ＲＡＭ８０３を介してハードディスクドライブ８０８に提供する。
【００６５】
また、入出力コントローラ８０６には、ＲＯＭ８１０と、フレキシブルディスクドライブ８１１及び入出力チップ８１２の比較的低速な入出力装置とが接続される。ＲＯＭ８１０は、コンピュータ８００が起動時に実行するブートプログラム、及び／又はコンピュータ８００のハードウェアに依存するプログラム等を格納する。フレキシブルディスクドライブ８１１は、フレキシブルディスク８９３からプログラム又はデータを読み取り、ＲＡＭ８０３を介してハードディスクドライブ８０８に提供する。入出力チップ８１２は、フレキシブルディスクドライブ８１１を入出力コントローラ８０６へと接続すると共に、例えばパラレルポート、シリアルポート、キーボードポート、マウスポート等を介して各種の入出力装置を入出力コントローラ８０６へと接続する。
【００６６】
ＲＡＭ８０３を介してハードディスクドライブ８０８に提供されるプログラムは、フレキシブルディスク８９３、ＣＤ−ＲＯＭ８９２又はＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）カード等の記録媒体に格納されて利用者によって提供される。プログラムは、記録媒体から読み出され、ＲＡＭ８０３を介してコンピュータ８００内のハードディスクドライブ８０８にインストールされ、ＣＰＵ８０２において実行される。
【００６７】
コンピュータ８００にインストールされ、コンピュータ８００をセットトップボックス１００として機能させるプログラムは、コンピュータ８００を、ステップＳ１０１において、アプリケーションソフト１３０の代わりに、デジタル家電Ｄのデバイスドライバ１５０を介して、デジタル家電Ｄとの間でコマンドを送受信するコマンド送受信部１１１と、複数のアプリケーションソフト１３０のうち、コマンド送受信部１１１が受信したコマンドを必要とするアプリケーションソフト１３０を、ステップＳ１０２において特定するアプリケーションソフト特定部１１２と、アプリケーションソフト特定部１１２が特定したアプリケーションソフト１３０に対して、ステップＳ１０３においてコマンドを送出するコマンド送出部１１３として機能させる。
【００６８】
更に、当該プログラムは、コンピュータ８００を、ステップＳ２０４において、アプリケーションソフト１３０が必要とするコマンドの一覧を、アプリケーションソフト１３０から取得するコマンド一覧取得部２１６と、コマンド一覧取得部２１６が取得したコマンドの一覧を参照して、デジタル家電Ｄから受信したコマンドを必要とするアプリケーションソフト１３０を、ステップＳ１０２において特定するアプリケーションソフト特定部１１２として機能させてもよい。
【００６９】
更に、当該プログラムは、コンピュータ８００を、ステップＳ１０１において、デバイスドライバ１５０へのアクセス権を証明する証明書を用いて、そのデバイスドライバ１５０を介して、デジタル家電Ｄとの間でコマンドを送受信するコマンド送受信部３１１として機能させてもよい。
【００７０】
更に、当該プログラムは、コンピュータ８００を、デバイスドライバ１５０を抽象化するデバイスドライバ抽象化部４７０と、デバイスドライバ抽象化部４７０が抽象化したデバイスドライバ１５０を介してコマンドを送受信するコマンド送受信部４１１として機能させてもよい。
【００７１】
これらのプログラムに記述された情報処理は、コンピュータ８００に読み込まれることにより、ソフトウェアと上述した各種のハードウェア資源とが協働した具体的手段であるコマンド送受信部、アプリケーションソフト特定部、コマンド送出部、コマンド受取部、コマンド情報格納部、コマンド一覧取得部及びデバイスドライバ抽象化部として機能する。そして、これらの具体的手段によって、本実施形態におけるコンピュータ８００の使用目的に応じた情報の演算又は加工を実現することにより、使用目的に応じた特有のセットトップボックス１００が構築される。
【００７２】
一例として、コンピュータ８００と外部の装置等との間で通信を行う場合には、ＣＰＵ８０２は、ＲＡＭ８０３上にロードされた通信プログラムを実行し、通信プログラムに記述された処理内容に基づいて、通信インターフェース８０７に対して通信処理を指示する。通信インターフェース８０７は、ＣＰＵ８０２の制御を受けて、ＲＡＭ８０３、ハードディスクドライブ８０８、フレキシブルディスク８９３又はＣＤ−ＲＯＭ８９２等の記憶装置上に設けた送信バッファ領域等に記憶された送信データを読み出してネットワークへと送信し、もしくは、ネットワークから受信した受信データを記憶装置上に設けた受信バッファ領域等へと書き込む。このように、通信インターフェース８０７は、ダイレクトメモリアクセス方式により記憶装置との間で送受信データを転送してもよく、これに代えて、ＣＰＵ８０２が転送元の記憶装置又は通信インターフェース８０７からデータを読み出し、転送先の通信インターフェース８０７又は記憶装置へとデータを書き込むことにより送受信データを転送してもよい。
【００７３】
また、ＣＰＵ８０２は、ハードディスクドライブ８０８、ＣＤ−ＲＯＭ８９２、フレキシブルディスク８９３等の外部記憶装置に格納されたファイル又はデータベース等の中から、全部又は必要な部分をダイレクトメモリアクセス転送等によりＲＡＭ８０３へと読み込ませ、ＲＡＭ８０３上のデータに対して各種の処理を行う。そして、ＣＰＵ８０２は、処理を終えたデータを、ダイレクトメモリアクセス転送等により外部記憶装置へと書き戻す。
【００７４】
このような処理において、ＲＡＭ８０３は、外部記憶装置の内容を一時的に保持するものとみなせるので、本実施形態においてはＲＡＭ８０３及び外部記憶装置等をメモリ、記憶部又は記憶装置等と総称する。本実施形態における各種のプログラム、データ、テーブル、データベース等の各種の情報は、このような記憶装置上に格納されて、情報処理の対象となる。なお、ＣＰＵ８０２は、ＲＡＭ８０３の一部をキャッシュメモリに保持し、キャッシュメモリ上で読み書きを行うこともできる。このような形態においても、キャッシュメモリはＲＡＭ８０３の機能の一部を担うので、本実施形態においては、区別して示す場合を除き、キャッシュメモリもＲＡＭ８０３、メモリ及び／又は記憶装置に含まれるものとする。
【００７５】
また、ＣＰＵ８０２は、ＲＡＭ８０３から読み出したデータに対して、プログラムの命令列により指定された、本実施形態中に記載した各種の演算、情報の加工、条件判断、情報の検索、置換等を含む各種の処理を行い、ＲＡＭ８０３へと書き戻す。例えば、ＣＰＵ８０２は、条件判断を行う場合においては、本実施形態において示した各種の変数が、他の変数又は定数と比較して、大きい、小さい、以上、以下又は等しい等の条件を満たすかどうかを判断し、条件が成立した場合、又は不成立であった場合に、異なる命令列へと分岐し、又はサブルーチンを呼び出す。
【００７６】
また、ＣＰＵ８０２は、記憶装置内のファイル又はデータベース等に格納された情報を検索することができる。例えば、第１属性の属性値に対し第２属性の属性値がそれぞれ対応付けられた複数のエントリが記憶装置に格納されている場合において、ＣＰＵ８０２は、記憶装置に格納されている複数のエントリの中から第１属性の属性値が指定された条件と一致するエントリを検索し、そのエントリに格納されている第２属性の属性値を読み出すことにより、所定の条件を満たす第１属性に対応付けられた第２属性の属性値を得ることができる。
【００７７】
以上に示したプログラム又はモジュールは、外部の記憶媒体に格納されてもよい。記憶媒体としては、フレキシブルディスク８９３、ＣＤ−ＲＯＭ８９２の他に、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）又はＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ）等の光学記録媒体、ＭＯ（Ｍａｇｎｅｔｏ−Ｏｐｔｉｃａｌ  ｄｉｓｋ）等の光磁気記録媒体、テープ媒体、ＩＣカード等の半導体メモリ等を用いることができる。また、専用通信ネットワーク又はインターネットに接続されたサーバシステムに設けたハードディスク又はＲＡＭ等の記憶媒体を記録媒体として使用して、ネットワークを介してプログラムをコンピュータ８００に提供してもよい。
【００７８】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は、上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更又は改良を加えることが可能であることが当業者に明らかである。そのような変更又は改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【００７９】
特許請求の範囲、明細書及び図面中において示したシステム、方法、装置、プログラム及び記録媒体における動作、手順、ステップ及び段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現し得ることに留意すべきである。特許請求の範囲、明細書及び図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【００８０】
１００  セットトップボックス
１１０  フレームワーク
１１１  コマンド送受信部
１１２  アプリケーションソフト特定部
１１３  コマンド送出部
１１４  コマンド受取部
１１５  コマンド情報格納部
２１６  コマンド一覧取得部
３１１  コマンド送受信部
４１１  コマンド送受信部
１３０  アプリケーションソフト
１５０  デバイスドライバ
４７０  デバイスドライバ抽象化部
８００  コンピュータ
８０１  ホストコントローラ
８０２  ＣＰＵ
８０３  ＲＡＭ
８０４  グラフィックコントローラ
８０５  ディスプレイ
８０６  入出力コントローラ
８０７  通信インターフェース
８０８  ハードディスクドライブ
８０９  ＣＤ−ＲＯＭドライブ
８１０  ＲＯＭ
８１１  フレキシブルディスクドライブ
８１２  入出力チップ
８９２  ＣＤ−ＲＯＭ
８９３  フレキシブルディスク
Ｄ  デジタル家電
【図１】
2014238659.tif 000003
【図２】
2014238659.tif 000004
【図３】
2014238659.tif 000005
【図４】
2014238659.tif 000006
【図５】
2014238659.tif 000007
【図６】
2014238659.tif 000008
【図７】
2014238659.tif 000009
【図８】
2014238659.tif 000010