JP2006202108A - 組み込み機器 - Google Patents

組み込み機器 Download PDF

Info

Publication number
JP2006202108A
JP2006202108A JP2005014070A JP2005014070A JP2006202108A JP 2006202108 A JP2006202108 A JP 2006202108A JP 2005014070 A JP2005014070 A JP 2005014070A JP 2005014070 A JP2005014070 A JP 2005014070A JP 2006202108 A JP2006202108 A JP 2006202108A
Authority
JP
Japan
Prior art keywords
card
client
service
client driver
driver
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.)
Withdrawn
Application number
JP2005014070A
Other languages
English (en)
Inventor
Keita Saito
慶太 斉藤
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2005014070A priority Critical patent/JP2006202108A/ja
Publication of JP2006202108A publication Critical patent/JP2006202108A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

【課題】 PCカードを実装した組み込み機器において、組み込み機器発売時期以降、新たに発売されたPCカードに関しても、その発売時期以降に前記新たなカードを使用可能とする。
【解決手段】 組み込み機器内部の読み書き可能な領域にドライバを書き込む領域を持ち、さらにネットワークに接続できる事により、そのドライバを必要なときに更新する機能を持つ。
【選択図】 図1

Description

PCカードもしくはCFカードを持ち、ネットワークに接続する事が出来る組み込み機器に関する。
従来のPCカードやCFカードを使用している組み込み機器に関しては、あらかじめPCカードコントローラーも1つに決まっており、その組み込み機器で使用されるであろうカードも限定されている為か、PC等で用いられているPCカードソフトウェアと呼ばれる、カードサービス・ソケットサービス・クライアントドライバを用いたシステムではなく、イネーブラと呼ばれるPCカードコントローラー限定・PCカードの種類も限定された初期化ルーチンのようなものを使用してる場合が多い。また最近ではPCカードソフトウェア(カードサービス・ソケットサービス・クライアントドライバ)を組み込んだシステムも使用されてきてはいるが、組み込み機器では後からドライバを追加する事が基本的にしづらい為に、製品作成時には将来使用されるであろうデバイスドライバをすべて組み込んでしまっておく必要があった。
ここで、組み込み機器などで用いられているPCカードソフトウェアについて説明を行なう。PCカードソフトウェアとは、カードサービス・ソケットサービス・クライアントドライバという3つのレイヤから構成されている。ソケットサービスは機種によって異なるハードウェアであるPCカードコントローラーの違いを吸収してカードサービスに対して統一したインターフェースを提供している。ソケットサービスはPCカードコントローラー等のハードに依存している為に、PCカードコントローラー毎に必要であり、組み込み機器においては通常PCカードコントローラーは一つしか載せていない為、組み込み機器内に一つだけ必要である。カードサービスはシステムが提供しているハードウェアリソースを管理し、PCカードごとに必要なリソースを割り当てるためにクライアントドライバに対して統一したインターフェースを提供している。カードサービス・ソケットサービス・クライアントドライバをコントロールできる為に、組み込み機器ごとに一つだけ存在している。クライアントドライバは使用するPCカードごとに必要となるドライバで、カードサービスを利用してPCカードに対して設定を行なったりアクセスをする。クライアントドライバは使用されるであろうPCカードの機能ごとに必要とされる。
ここで従来の技術におけるカードサービス・ソケットサービスを使用している組み込み機器において、PCカードが刺されたときの制御の流れについて、図2を用いて説明を行なう。
図2は従来の技術の全体の構成図である。201〜203はハードウェアレイヤで、201はPCカードである。202は組み込み機器につけられたPCカード用スロットである。203はPCカードの制御を行なうPCカードコントローラーである。204〜206はPCカードソフトウェアレイヤで、204はソケットサービスである。205はカードサービスである。206はカードサービスに登録されたクライアントドライバである。207〜208がソフトウェアレイヤで、207が組み込み機器を制御しているOSであり、208がそのOSの上にのっているアプリケーションである。209〜210はPCカード内部にあるレジスタやメモリ領域である。209はPCカードの中にある、PCカードの情報を記述しているCIS(Card Infomation Structure:カード情報構造)である。209はPCカード上にあるリソースにアクセスする為に設定を行なう必要があるレジスタ、CCR(カードコンフィグレーションレジスタ)である。
次にPCカードが組み込み機器に認識され、使用されるようになるまでの制御の流れについて説明する。
まず最初にPCカード(201)をスロット(202)に挿入した時にPCカードコントローラー(203)からカードサービス(205)に対してPCカードが挿入された事が通知される。そこでカードサービス(205)はクライアントドライバ(206)に対してPCカード(201)が挿入されたことを通知する。PCカード(201)の挿入によって処理を渡されたクライアントドライバ(206)はカードサービスファンクションを使用して、PCカード(201)内にあるCIS(209)を取得する。CIS(209)の中にはそのカードの種類・メーカー等の情報が記述されている。クライアントドライバ(206)は取得したCIS(209)を元に、挿入されたPCカード(201)が自分の対象カードかを認識する。CISを調べた結果、挿入されたカード(201)が自分が処理するカードでなかった場合、何も行なわずにカードサービス(205)に処理を戻す。カードサービス(205)はカードサービスに登録されている次のクライアントドライバ(206)にPCカード(201)の挿入を通知し、その後、カードサービス(205)はクライアントドライバ(206)に処理を渡す。上記処理を繰り返し行う。ここでもし、クライアントドライバ(206)がCIS(209)を取得して調べた結果、自分が処理するカードだった場合、カードサービス(205)に対して挿入されたPCカード(201)の初期化処理を行なう。
次にPCカードの初期化処理の流れを述べる。カードサービス(205)はクライアントドライバ(206)からの要求を受けて要求されたハードウェアリソースが割り当て可能かどうかを確認する。確認の結果、割り当てが可能であればソケットサービスファンクションを使ってソケットサービス(204)に指示を送る。ソケットサービス(204)はカードサービス(205)の指示を受けて対象PCカード(201)に対してハードウェアリソースを割り当てる為にPCカード(201)内のCCR(210)の設定を行なう。カードサービス(205)はPCカード(201)に対するハードウェアリソースの割り当てを確認後、クライアントドライバ(206)に処理を戻す。以降はクライアントドライバ(206)が直接PCカード(201)に対して処理を行なうようになる。
その後、組み込み機器で動作しているアプリケーション(208)は組み込み機器で使用されているOS(207)を経由しクライアントドライバ(206)を経由してPCカード(201)を使用することが可能となる。
以上により、カードサービス・ソケットサービスを利用している組み込み機器はPCカードを組み込み機器で使用することが出来るようになる。
又、別の従来例としては、特許文献1をあげることが出来る。
特開2001−125865号公報
しかし組み込み機器では、PCカードのクライアントドライバが組み込み機器の内部に入った形で作成している為に、組み込み機器の発売以降に発売されたPCカードに関してはクライアントドライバを持っていないために、そのPCカードを使用することが出来なかった。また、カードサービスには、基本的なジャンルごとの標準的なドライバを代用品として使用する機能を持ってはいるのであるが、あくまでも最低限の機能を保証するだけであり、個々のPCカードごとに持っている高度な機能に関しては使用することが出来なかった。
そこで本発明では、組み込み機器内部の読み書き可能な領域にドライバを書き込む領域を持ち、さらにネットワークに接続できる事により、そのドライバを必要なときに更新する機能を持つことにより、新しいPCカードもしくはCFカードを刺された時、そのPCカード用のクライアントドライバが組み込み機器本体内部に無いときには、ネットワークに接続して最新のドライバを入手することにより組み込み機器よりも後に発売された新しいのカード製品を使用することが出来る。
以上の実施例で説明したとおり、本発明により、組み込み機器において、組み込み機器発売以降に発売されたPCカードに関しても、クライアントドライバをサーバーよりダウンロードを行う事によって使用する事が可能となる。
本発明の実施の一形態を以下の順序で図面を参照しながら説明する。まずは本発明の全体の構成図である図1を用いて本発明のPCカードを機器で利用する時の、内部での動作について説明を行なう。
本実施例の全体の構成図が図1である。101〜103はハードウェアレイヤで、101はPCカードである。102は組み込み機器につけられたPCカード用スロットである。103はPCカードの制御を行なうPCカードコントローラーである。
104〜106,111,112はPCカードソフトウェアレイヤで、104はソケットサービスである。105はカードサービスである。106はカードサービスに登録されたクライアントドライバである。111は組み込み機器内に存在しているクライアントドライバの管理を行っているクライアントドライバ差し替えサービスである。112はダウンロードされたクライアントドライバである。
107〜108がソフトウェアレイヤで、107が組み込み機器を制御しているOSであり、108がそのOSの上にのっているアプリケーションである。
109〜110はPCカード内部にあるレジスタやメモリ領域である。109はPCカードの中にある、PCカードの情報を記述しているCIS(Card Infomation Structure:カード情報構造)である。109はPCカード上にあるリソースにアクセスする為に設定を行なう必要があるレジスタ、CCS(カードコンフィグレーションレジスタ)である。
そして113,114はネットワークハードウェアレイヤーである。113はネットワークに接続する通信モジュールで最新のクライアントドライバのダウンロードを行う。114はネットワーク上にある最新のクライアントドライバが置いてあるサーバーである。
次に本実施例におけるPCカードが組み込み機器に認識され、使用されるようになるまでの制御の流れについて説明する。
まず最初にPCカード(101)をスロット(102)に挿入した時にPCカードコントローラー(103)からカードサービス(105)に対してPCカードが挿入された事が通知される。
そこでカードサービス(105)は、カードサービスに登録されているクライアントドライバに順番に通知を行う。今回の場合にはまず最初に登録されていたクライアントドライバ(106)に対してPCカード(101)が挿入されたことを通知したとする。
ここで、PCカード(101)の挿入によって処理を渡されたクライアントドライバ(106)はカードサービスファンクションを使用して、PCカード(101)内にあるCIS(109)を取得し、挿入されたPCカードのクライアントドライバに適合するかを判断する。そこで、挿入されたPCカードのクライアントドライバになれない場合にはカードサービスに処理を返し、カードサービスは、上記処理をカードサービスに登録されたクライアントドライバを登録された順番に処理を渡して調べていく。
従来の実施例では順番にクライアントドライバが調べていき、どのクライアントドライバも挿入されたPCカードのクライアントドライバに適合しない場合には、挿入されたPCカードを使用することが出来なかった。しかし、本実施例では、PCカード(101)の挿入によって処理を渡されたクライアントドライバ(106)が適合しないためにカードサービスに処理を返した時に、カードサービスに登録されたクライアントドライバをすべてチェック済みだった場合には、カードサービスはクライアント差し替えサービス(111)に対して処理を渡す。
ここでクライアント差し替えサービスのアルゴリズムに関して図3も併用して説明を行う。ここで処理を渡された(301)クライアント差し替えサービス(111)はカードサービスファンクションを使用してPCカード(101)内にあるCIS(109)を取得する(302)。クライアント差し替えサービスは、取得したCIS(109)の情報から現在すでにダウンロードされているクライアントドライバが使用できかを判定する(303)。もしすでにダウンロードされているクライアントドライバが使用できる場合にはそのままクライアントドライバに処理を渡す(305)のであるが、そうでない場合、必要とされるクライアントドライバの情報を入手したクライアント差し替えサービス(111)は通信モジュール(113)を使用して、ネットワーク上に存在する最新のクライアントドライバを保持しているサーバー(114)にアクセスを行い、挿入されたPCカード(101)に適合するクライアントドライバを探し出し、組み込み機器内に用意されている書き込みが行える領域にダウンロードを行う(304)。その後、クライアント差し替えサービスは処理をクライアントに渡す(305)。
ダウンロードされたクライアントドライバ(112)はその後、クライアント差し替えサービス(111)を経由してカードサービスから処理を受け取り、カードサービスファンクションを使用して、PCカード(101)内にあるCIS(109)を取得した後に、カードサービス(105)に対して挿入されたPCカード(101)の初期化処理を行なう。このPCカード初期化処理は、まずカードサービス(105)がクライアントドライバ(112)からの要求を受けて要求されたハードウェアリソースが割り当て可能かどうかを確認する。確認の結果、割り当てが可能であればソケットサービスファンクションを使ってソケットサービス(104)に指示を送る。ソケットサービス(104)はカードサービス(105)の指示を受けて対象PCカード(101)に対してハードウェアリソースを割り当てる為にPCカード(101)内にあるCCR(110)に対して設定を行なう。カードサービス(105)はPCカード(101)に対するハードウェアリソースの割り当てを確認後、クライアントドライバ(112)に処理を戻す。以降はクライアントドライバ(112)が直接PCカード(101)に対して処理を行なうようになる。
その後、組み込み機器で動作しているアプリケーション(108)は組み込み機器で使用されているOS(107)を経由しクライアントドライバ(112)を経由してPCカード(101)を使用することが可能となる。
以上の様に本発明により、組み込み機器内にダウンロード領域を設け、サーバーに組み込み機器発売以降に発売されたPCカード用のクライアントドライバを用意しておくことによって、組み込み機器においても機器の発売日以降に発売されたPCカードを使用することが出来るようになる。
(その他の実施例)
次に本発明の他の実施例を述べる。この実施例の特徴を表す図を図4に示し、本発明の全体の構成図である図4を用いて本発明のPCカードを機器で利用する時の、内部での動作について説明を行なう。
本実施例の全体の構成図が図4である。401〜403はハードウェアレイヤで、401はPCカードである。402は組み込み機器につけられたPCカード用スロットである。403はPCカードの制御を行なうPCカードコントローラーである。
404〜406,411,412はPCカードソフトウェアレイヤで、404はソケットサービスである。405はカードサービスである。406はカードサービスに登録されたクライアントドライバである。411はクライアントドライバの追加処理を行っているクライアントドライバ差し替えクライアントである。412はダウンロードされたクライアントドライバである。
407〜408がソフトウェアレイヤで、407が組み込み機器を制御しているOSであり、408がそのOSの上にのっているアプリケーションである。
409〜410はPCカード内部にあるレジスタやメモリ領域である。409はPCカードの中にある、PCカードの情報を記述しているCIS(Card Infomation Structure:カード情報構造)である。409はPCカード上にあるリソースにアクセスする為に設定を行なう必要があるレジスタ、CCS(カードコンフィグレーションレジスタ)である。
そして413,414はネットワークハードウェアレイヤーである。413はネットワークに接続する通信モジュールで最新のクライアントドライバのダウンロードを行う。414はネットワーク上にある最新のクライアントドライバが置いてあるサーバーである。
次に図5を用いてこの実施例におけるクライアント差し替えクライアントのアルゴリズムを説明する。カードサービスから処理を渡された(301)クライアント差し替えクライアントはまず、PCカード内のCIS情報を取得し(302)、PCカードが必要としているクライアントドライバを知る。その後、現在すでに取得しているクライアントが使用できるかを判断し(303)、出来ない場合には通信モジュールを使用してサーバーにアクセスを行い、PCカードが必要としているクライアントドライバをダウンロードする(304)。その後クライアント差し替えクライアントは、ダウンロードしてきたクライアントドライバをカードサービスに対して登録を行った後(305)。処理をカードサービスに返す(306)。この処理の為にダウンロードされたクライアントドライバは最初からカードサービスに登録されているクライアントドライバと同じように扱われ、ダウンロードされたクライアントドライバに処理が移って来ることにより、無事にPCカードを使用することが出来るようになる。
この実施例では、実施例1では、クライアント差し替えサービスがクライアントドライバとカードサービスの間で仲介を行い、クライアント差し替えサービスを経由してカードサービスに対してアクセスを行っていたのであるが、今回の実施例ではクライアント差し替えクライアントは1クライアントとして働き、ダウンロードされたクライアントドライバの情報だけを管理している。また、新しいクライアントドライバはダウンロードして後にカードサービスに登録されて使用されるために、通常のクライアントドライバと同じ構造で作られればいいことになる。
また、実施例1や他の実施例に関してさらに以下の様な様々な実装例が考えられる。
・今回刺されたPCカードに関してのダウンロードしたクライアントドライバを、カードの使用が終了した所で削除を行なう。これにより、クライアントドライバを書き込む領域は1つのクライアントドライバの分だけ用意すればよい。
・刺されたPCカードのクライアントドライバのダウンロードを行なう前の段階で、以前ダウンロードされたクライアントドライバの中で使用頻度が少ないクライアントドライバを削除し、その領域に今回刺されたPCカードのクライアントドライバをダウンロードする方法も考えられる。これによりクライアントドライバを書き込んでおく領域は最初から増える事が無い為、組み込み機器の様に書き込み領域を少なくしたい機器向けである。
・刺されたPCカードのクライアントドライバのダウンロードを行なう前の段階で、以前にダウンロードされたクライアントドライバの中で最終利用日時の一番古いクライアントドライバを削除し、その領域に今回指されたPCカードのクライアントドライバを書き込む方法も考えられる。この方法もクライアントドライバを書き込んでおく領域が最初から増える事が無い為、書き込み領域を出きるだけ少なくしたい組み込み機器向けである。
・また刺されたPCカードのクライアントドライバのダウンロードを行なう段階で、以前にダウンロードされたクライアントドライバの一覧を表示し、ユーザーにその一覧の中から削除するクライアントドライバを選択してもらい、選択されたクライアントドライバを削除し、その領域に今回指されたPCカードのクライアントドライバを書き込む方法も考えられる。この方法もクライアントドライバを書き込んでおく領域が最初から増える事が無い為、書き込み領域を出きるだけ少なくしたい組み込み機器向けである。またユーザーが自分で必要とするクライアントドライバを選択する事ができる。
本実施例1における組み込み機器のPCカードソフトウェアの構成図である。 従来の技術における組み込み機器のPCカードソフトウェアの構成図である。 本実施例1における組み込み機器のアルゴリズムである。 本実施例2における組み込み機器のPCカードソフトウェアの構成図である。 本実施例2における組み込み機器のアルゴリズムである。
符号の説明
101 PCカード
102 スロット
103 PCカードコントローラー
104 ソケットサービス
105 カードサービス
106 クライアントドライバ
107 リアルタイムOS
108 アプリケーション
109 CIS(Card Infomation Structure カード情報構造)
110 CCR カードコンフィギュレーションレジスタ
111 クライアントドライバ差し替えサービス
112 ダウンロードされたクライアントドライバ
113 通信モジュール
114 サーバー
201 PCカード
202 スロット
203 PCカードコントローラー
204 ソケットサービス
205 カードサービス
206 クライアントドライバ
207 リアルタイムOS
208 アプリケーション
209 CIS(Card Infomation Structure カード情報構造)
210 CCR カードコンフィギュレーションレジスタ
301〜305 実施例1のアルゴリズム
401 PCカード
402 スロット
403 PCカードコントローラー
404 ソケットサービス
405 カードサービス
406 クライアントドライバ
407 リアルタイムOS
408 アプリケーション
409 CIS(Card Infomation Structure カード情報構造)
410 CCR カードコンフィギュレーションレジスタ
411 クライアントドライバ差し替えクライアント
412 クライアントドライバ
413 通信モジュール
414 サーバー
501〜507 実施例2におけるアルゴリズム

Claims (6)

  1. PCカードもしくはCFカードを接続するスロットを有する組み込み機器において、機器内部にカードのクライアントドライバをダウンロードする事が出来る領域を持っている事を特徴とする組み込み機器。
  2. PCカードもしくはCFカードを刺された時に、そのカード用のクライアントドライバを組み込み機器が持っていない場合、ネットワークに接続してさされたカード用のクライアントドライバをダウンロードしてくる事を特徴とする請求項1記載の組み込み機器。
  3. ダウンロードしてきたクライアントドライバがカードが使用後にすぐに消去する事を特徴とする請求項2記載の組み込み機器。
  4. ダウンロードしてきたクライアントドライバのうち、使用頻度が低いものから削除を行なう事を特徴とする請求項2記載の組み込み機器。
  5. ダウンロードしてきたクライアントドライバのうち、最終利用日時の古い物から削除を行なう事を特徴とする請求項2記載の組み込み機器。
  6. ダウンロードしてきたクライアントドライバの一覧を表示し、保存や削除をユーザーに選ばせる事を特徴とする請求項2記載の組み込み機器。
JP2005014070A 2005-01-21 2005-01-21 組み込み機器 Withdrawn JP2006202108A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005014070A JP2006202108A (ja) 2005-01-21 2005-01-21 組み込み機器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005014070A JP2006202108A (ja) 2005-01-21 2005-01-21 組み込み機器

Publications (1)

Publication Number Publication Date
JP2006202108A true JP2006202108A (ja) 2006-08-03

Family

ID=36960044

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005014070A Withdrawn JP2006202108A (ja) 2005-01-21 2005-01-21 組み込み機器

Country Status (1)

Country Link
JP (1) JP2006202108A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016085696A (ja) * 2014-10-29 2016-05-19 株式会社コンテック ドライバの実行方法および機器

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016085696A (ja) * 2014-10-29 2016-05-19 株式会社コンテック ドライバの実行方法および機器

Similar Documents

Publication Publication Date Title
CN106933508B (zh) 应用容器的迁移方法及装置
CN109766199B (zh) 一种机器人操作系统中的节点通信方法和装置
JP4464378B2 (ja) 同一データを纏める事で格納領域を節約する計算機システム、ストレージシステム及びそれらの制御方法
EP3885903A1 (en) Cloud desktop upgrade method, device, cloud server, and storage medium
JP2003114806A (ja) Os更新方法及びセキュリティ制御方法並びにその実施装置
JP2006050645A (ja) メディア転送プロトコルに対する選択可能な拡張を生成するシステムおよび方法
JP2007141226A (ja) 共有メモリの割当てシステム、方法およびプログラム
WO2015062228A1 (zh) 一种访问共享内存的方法和装置
US20140082275A1 (en) Server, host and method for reading base image through storage area network
CN106873970A (zh) 一种操作系统的安装方法和装置
JP2003288563A (ja) 電子携帯機器用リモートデータ記憶装置およびその方法
JPWO2009066611A1 (ja) 仮想マシン向けデータ格納システム、データ格納方法およびデータ格納用プログラム
WO2020113478A1 (zh) 地址信息处理方法、装置、电子设备及存储介质
WO2021169811A1 (zh) 特效生成方法、装置、系统、设备和存储介质
US9319350B2 (en) Virtual address for virtual port
CN111126604A (zh) 模型训练方法、装置、服务器及存储介质
CN107659621B (zh) 一种raid控制卡配置方法及装置
CN103488606A (zh) 基于节点控制器的请求响应方法和装置
JP2006202108A (ja) 組み込み機器
US7827194B2 (en) Access to shared disk device on storage area network
JP4597032B2 (ja) コンピュータシステム、それにおける基本プログラムの起動方法、及びローダプログラム
KR100671046B1 (ko) Usb를 이용한 응용프로그램 설치 시스템 및 설치방법
JP2006252112A (ja) ネットワークブートシステム、単位記憶ユニットのマウント方法およびプログラム
US20080244219A1 (en) Method and apparatus for controlling a single-user application in a multi-user operating system
JP2004310422A (ja) 組み込み機器用pcカードシステム

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20080401