JP2006058949A - Usbデバイス機器 - Google Patents
Usbデバイス機器 Download PDFInfo
- Publication number
- JP2006058949A JP2006058949A JP2004237279A JP2004237279A JP2006058949A JP 2006058949 A JP2006058949 A JP 2006058949A JP 2004237279 A JP2004237279 A JP 2004237279A JP 2004237279 A JP2004237279 A JP 2004237279A JP 2006058949 A JP2006058949 A JP 2006058949A
- Authority
- JP
- Japan
- Prior art keywords
- host
- hostuid
- funcid
- function
- hereinafter referred
- 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
Links
Images
Abstract
【課題】本発明では、ホスト・ユーザー単位の情報を使用し、ホスト・ユーザーごとにそのデバイスの有する機能の限定/制限/指定について設定が可能で、かつその設定内容にしたがって動作するUSB機器を提供することにある。
【解決手段】デバイスU100(例えばCD−Rドライブのようなメディアへの読み書きデバイス)は接続ホストH100の要求により、FUNCTBLを送り、ホストH100はそれを参照・利用してデバイスU100の機能を把握し、希望の機能(FUNCID)指定を行う。ホストU100の指定に対し、デバイスU100は当該FUNCIDを登録する領域を有し、それを行うHOSUTIDFUNC設定手段を有する。
【選択図】図1
【解決手段】デバイスU100(例えばCD−Rドライブのようなメディアへの読み書きデバイス)は接続ホストH100の要求により、FUNCTBLを送り、ホストH100はそれを参照・利用してデバイスU100の機能を把握し、希望の機能(FUNCID)指定を行う。ホストU100の指定に対し、デバイスU100は当該FUNCIDを登録する領域を有し、それを行うHOSUTIDFUNC設定手段を有する。
【選択図】図1
Description
本発明はUSBデバイス機器に関するものである。
従来、USBデバイス機器はホスト機器と接続した場合、同一の機能で動作するのが基本であり、ホスト・ユーザーの情報でデバイスの機能の切り替えを行っているものは存在しなかった(特許文献1)。
特開2002−342255号公報
本発明では、ホスト・ユーザー単位の情報を使用し、ホスト・ユーザーごとにそのデバイスの有する機能の限定/制限/指定について設定が可能で、かつその設定内容にしたがって動作するUSBデバイス機器を提供することにある。
この発明は下記(1)の構成を備えることにより上記課題を解決できるものである。
(1)ホスト機器(以降ホスト)で操作するときに使用するホスト・ユーザーの情報(以降HOSTUID)を使用し、デバイス機器(以降デバイス)側は、接続ホストのHOSTUID毎に機能を変更して動作することを特徴とするUSBデバイス機器。
本発明によりホスト・ユーザーの情報を使用してデバイスの機能を、ホスト・ユーザー毎に限定・制限・指定し、かつ動作させる機器を提供することが可能になった。
[基本的な動作]
図1は、本発明のUSB機器にホストを接続した時の、動作イメージをあらわしている。
図1は、本発明のUSB機器にホストを接続した時の、動作イメージをあらわしている。
まず、同じホストH100を使用して、複数のユーザーがデバイスU100(例えばCD−Rドライブのようなメディアへの読み書きデバイス)と接続した状態である。
F100はHOSTUID:hostuid00として既にU100に機能の設定を登録済みの状態で、H100とU100双方向のやり取り(例えばデータ書き込み/読み込み可能)が可能な状態を示している。
F110は同様にHOSUTUID:hosutuid03として既に機能の設定が登録済みの状態で、H100とU100は接続されているもののデバイスの機能が使えない状態を示している。
次に、F120は他のホストH110で同じデバイスU100と接続した場合を示す。
前述と同様にU100にHOSTUID:hostuid10を使用して機能の設定が登録済みの状態で、U100からデータ読み込みのみ可能な状態を示している。
[ブロック図の説明]
図2は本発明の全体構成図である。
図2は本発明の全体構成図である。
該当デバイスが有する機能・機能名・該当手続きアドレスなどの一覧=FUNCTBL:203。
ホストからの要求によりFUNCTBLの内容を送る/希望機能=FUNCIDの設定を行うためのHOSUTUIDFUNC設定手段:202。
HOSUTUIDごとにFUNCIDを登録したHOSTUIDFUNCTBL:204。
HOSUTUIDごとにFUNCIDを登録したHOSTUIDFUNCTBL:204。
実際にホストと接続した場合に希望動作を実現するHOSTUIDFUNC選択実行手段:205からなる。
図3はHOSTUIDFUNC設定手段の制御・データの流れを示す。
ここでは、CXXXは制御のながれ、DXXXはデータの流れをあらわす。
D301:ホストからのFUNCTBL一覧の要求でデータ読み出しを示す。
D302:ホストがFUNCIDを設定した場合を示す。
図4はHOSTUIDFUNC選択実行手段の制御・データの流れを示す。
ここでは、CXXXは制御のながれ、DXXXはデータの流れをあらわす。
D401:HOSTUIDからHOSUTUIDFUNTBLを参照し、該当FUNCIDの読み出しを示す。
D402:FUNUIDからFUNCTBLを参照し実際の処理アドレスの読み出しを示す。
P401:その処理アドレスへ制御をうつしていることを示す。
[システム構成図の説明]
本発明のシステム構成図を図5で示す。BL:7は、ホストとの通信をつかさどるUSBCTL:2・USBデバイスとしての全般の制御および本発明のプログラムおよび本発明で使用されるFUNCTBL:40およびHOSTUIDFUNCTBL:41を含むフラッシュEEPROMのFLROM:4・それらを実行するCPU:1・HOSTUID:50を含むワークエリアとして利用されるRAM:5・実際のUSBデバイスとしてのI/O:6・たとえばエラー状態などを表示するためのDISP:8・USBCTL:2/RAM:5/I/O:6間のHWデータ転送を行うDMAC:3と接続されている。HOSTUIDFUNC設定手段は、2/3/5で得たホストデータを解析し、FUNCTBL一覧要求の場合40の内容を、同じく5/3/2経由でホストに送信する。FUNCID設定要求の場合、40とホストから得られたデータを使用して41を更新する。
本発明のシステム構成図を図5で示す。BL:7は、ホストとの通信をつかさどるUSBCTL:2・USBデバイスとしての全般の制御および本発明のプログラムおよび本発明で使用されるFUNCTBL:40およびHOSTUIDFUNCTBL:41を含むフラッシュEEPROMのFLROM:4・それらを実行するCPU:1・HOSTUID:50を含むワークエリアとして利用されるRAM:5・実際のUSBデバイスとしてのI/O:6・たとえばエラー状態などを表示するためのDISP:8・USBCTL:2/RAM:5/I/O:6間のHWデータ転送を行うDMAC:3と接続されている。HOSTUIDFUNC設定手段は、2/3/5で得たホストデータを解析し、FUNCTBL一覧要求の場合40の内容を、同じく5/3/2経由でホストに送信する。FUNCID設定要求の場合、40とホストから得られたデータを使用して41を更新する。
HOSTUIDFUNC選択実行手段は、実行時に、ホストから得たHOSTUIDと、それをキーに41を参照して40の該当手続きを呼び出す。
[データ構成図]
図6は、本発明FUNCTBLのデータ構造の例である。
図6は、本発明FUNCTBLのデータ構造の例である。
FUNCTBLは3つのデータ領域からなる。この3つのデータ領域は連続して格納されている必要はなく、FUNCIDをキーにした時、それぞれが関連付けされていればよく、実際のFUNCIDのエリアはあってもなくてもよい。
HOSTUIDFUNC設定手段、HOSTUIDFUNC選択実行手段の両方で使用される。
以下、それぞれのデータ領域について説明する。
FUNCID:610
デバイスが実行する機能名、手続きアドレス領域を示すタグとして利用する。例では終端を0とする。
デバイスが実行する機能名、手続きアドレス領域を示すタグとして利用する。例では終端を0とする。
DESCRIPOTOR:620
HOSTUIDFUNC設定手段がホストへ送信するデータとして使用する。
HOSTUIDFUNC設定手段がホストへ送信するデータとして使用する。
それぞれのFUNCIDに対応する機能名を意味する文字列、またはその文字列をしめすインデックスとして利用する。終端はNULL。
たとえば、FUNCID:2であれば、対応する機能は“読み出しのみ”をあらわす。
ホストは設定メニューなどを表示させる時の文字列として利用する。
PROC:630
HOSTUIDFUNC選択実行手段が、実行時にHOSTUIDFUNCTBLから得たFUNCIDを利用してこの領域を検索する。
HOSTUIDFUNC選択実行手段が、実行時にHOSTUIDFUNCTBLから得たFUNCIDを利用してこの領域を検索する。
それぞれのFUNCIDに対応する関数/処理アドレスとして利用する。例では終端をNULLとする。
図7は、本発明HOSTUIDFUNCTBLのデータ構造の例である。
HOSTUIDFUNCTBLは2つのデータ領域からなる。この2つのデータ領域は連続して格納されている必要はなく、それぞれが関連付けされていればよい。
HOSTUIDFUNC設定手段、HOSTUIDFUNC選択実行手段の両方で使用される。
以下、それぞれのデータ領域について説明する。
HOSTUID:710
HOSTUIDFUNC設定手段で、ホストからのHOSTUIDを設定する。
HOSTUIDFUNC設定手段で、ホストからのHOSTUIDを設定する。
HOSTUIDFUNC選択実行手段で、実行時にホストがあらかじめ送信したHOSTUIDから前述手続きTBLを検索するキーとして使用するFUNCIDを得ることに使用する。例では終端を0とするが使用されない。
この領域のサイズは、nバイトの固定領域として使用するが、ホストが送るHOSTUIDの長さで既定される。ここでは詳細については触れない。
内容について、たとえば公知の暗号化したデータを使用してもよい。
FUNCID:720
HOSTUUIDFUNC設定手段で、ホストからのFUNCIDを設定する。
HOSTUUIDFUNC設定手段で、ホストからのFUNCIDを設定する。
該当HOSTUIDに対するFUNCIDを格納する。
HOSTUIDFUNC選択実行手段で、HOSTUIDから該当FUNCIDを得る。
該当PROCから関数/処理処理アドレスを検索するためのキーとして使用する。
[HOSTUIDFUNC設定手段の実施例]
図8のフローにて、本発明HOSTUIDFUNC設定手段の実施例を説明する。
図8のフローにて、本発明HOSTUIDFUNC設定手段の実施例を説明する。
このフローで記述していないが、初期処理にてRAM上のHOSTUIDは0クリアされている。
また、ここで使用するコマンドはUSBのデバイスリクエスト・標準デバイスリクエストを拡張したものを使うがデータ構造・プロトコル、状態遷移などの詳細についてここでは触れない。
メインのUSB標準デバイスリクエストのコマンド得て解析処理する前に、図8に制御がうつるものとする。
まず、S800にてホストからのHOSTUID送信か確認する。YesならS810にてその内容をRAM上のHOSTUIDへセットし、S899のメインのコマンド解析処理へ戻る。
NoならS820でFUNCTBL一覧要求コマンドか確認する。YesならS830にてFUNCTBLの内容を全てHOSTへ送信しS889へ進む。
NoならS840FUNCID設定コマンドか確認する。NoならS899へ進む。
YesならS850のHOSTUIDFUNCTBL作成処理を行い、S889へ進む。
つづいてS850のHOSTUIDFUNCTBL作成処理について図9にて説明する。
まずS910にてHOSTから送られてきたHOSTUID、FUNCIDをえる。
S915にて得られたFUNCIDが有効な値か確認する。Noならこの機器では対応できない機能の指定ということを意味するのでS940のエラーステータスセットへ制御をうつす。
Yesなら対応可能なFUNCID指定なので、S920へ進む。
S920では、HOSTUIDFUNCTBL内に既に該当HOSTUIDが登録されているか調べ、YesならS950で同じHOSTUIDに関連するFUNCID部を更新し、S970へ制御をうつす。
NoならS930でHOSTUIDFUNCTBLに新たに追加できるか(登録数を制限する場合)調べる。YesならS940に制御をうつしエラーステータスをセットする。
NoならS960でHOSTUIDFUNCTBL内に新たにHOSUTID,FUNCIDをセットし、S970の正常ステータスセットへ進む。そのあとS999でホストに対しステータスの送信を行い終了する。
[HOSTUIDFUNC選択実行手段の実施例]
図10のフローにて、本発明HOSTUIDFUNC選択実行手段の実施例を説明する。
図10のフローにて、本発明HOSTUIDFUNC選択実行手段の実施例を説明する。
ここで使用するコマンドはUSBのデバイスリクエスト・標準デバイスリクエストを拡張したものを使うがデータ構造・プロトコルなどについて、また状態遷移などの詳細についてここでは触れない。
メインのUSBデバイス実行処理の解析処理する前に、図10に制御がうつるものとする。
S1000でHOSTUIDが0かテストされる。0であれば、HOSTUIDFUNC設定が行われていないことを示し通常動作を行えばよいので、S1010で他の実行処理解析へ制御をうつす。
HOSTUIDが0でなければホストからの拡張要求なので、S1005でHOSTUIDFUNCTBLに該当HOSTUIDが登録されているか調べる。Noなら未登録なので、通常動作を行うためS1010へ制御をうつす。YesならS1020でHOSTUIDからHOSTUIDFUNCTBLのFUNCIDを得る。
ひきつづきS1030にて該当FUNCIDからHOSTFUNCTBLのPROCを得て、その手続きを呼び出す。これで拡張処理が実行されたので、ひきつづきS1010の他のコマンド解析処理へ制御をうつす。
[その他の実施例]
接続したマシンのHOSTUID毎に機能制限を行って動作することを特徴とするUSBデバイス機器。
接続したマシンのHOSTUID毎に機能制限を行って動作することを特徴とするUSBデバイス機器。
複数I/Oを有する場合、接続したマシンのHOSTUID毎に異なるI/Oデバイスとして動作することを特徴とするUSBデバイス機器。
1 CPU
2 USBCTL
3 DMAC
4 FLROM
5 RAM
6 I/O
7 BL
8 DISP
40 FUNCTBL
41 HOSTUIDFUNCTBL
50 HOSTUID
2 USBCTL
3 DMAC
4 FLROM
5 RAM
6 I/O
7 BL
8 DISP
40 FUNCTBL
41 HOSTUIDFUNCTBL
50 HOSTUID
Claims (5)
- ホスト機器(以降ホスト)で操作するときに使用するホスト・ユーザーの情報(以降HOSTUID)を使用し、デバイス機器(以降デバイス)側は、接続ホストのHOSTUID毎に機能を変更して動作することを特徴とするUSBデバイス機器。
- 請求項1において、そのデバイスが有する機能・機能名・該当手続きアドレスなどの一覧(以降FUNCTBL)を有することを特徴とするUSBデバイス機器。
- 請求項2において、デバイスは、接続ホストの要求において、FUNCTBLを送り、ホスト側はそれを参照・利用してデバイス側の機能の把握し、希望の機能(以降FUNCID)指定を行う。ホストのその指定に対し、該当HOSTUIDに関連したFUNCIDを登録する領域(以降HOSTUIDFUNCTBL)を有し、それを行うHOSUTUIDFUNC設定手段を有することを特徴とするUSBデバイス機器。
- 請求項3において、デバイス実行時に、接続ホストのHOSTUIDにしたがって、HOSTUIDFUNCTBLおよびFUNCTBLを検索して、機能処理を制御するHOSTUIDFUNC選択実行手段を有することを特徴とするUSBデバイス機器。
- 請求項4において、接続ホストがHOSTUIDを送ってこない場合は、デバイスデフォルトの処理を自動的に行うことを特徴とするUSBデバイス機器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004237279A JP2006058949A (ja) | 2004-08-17 | 2004-08-17 | Usbデバイス機器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004237279A JP2006058949A (ja) | 2004-08-17 | 2004-08-17 | Usbデバイス機器 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006058949A true JP2006058949A (ja) | 2006-03-02 |
Family
ID=36106394
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004237279A Withdrawn JP2006058949A (ja) | 2004-08-17 | 2004-08-17 | Usbデバイス機器 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006058949A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1942432A2 (en) | 2006-12-27 | 2008-07-09 | Kabushiki Kaisha Toshiba | Information processing apparatus |
-
2004
- 2004-08-17 JP JP2004237279A patent/JP2006058949A/ja not_active Withdrawn
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1942432A2 (en) | 2006-12-27 | 2008-07-09 | Kabushiki Kaisha Toshiba | Information processing apparatus |
JP2008165371A (ja) * | 2006-12-27 | 2008-07-17 | Toshiba Corp | 情報処理装置 |
US8769667B2 (en) | 2006-12-27 | 2014-07-01 | Kabushiki Kaisha Toshiba | Information processing apparatus |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9602678B2 (en) | Peripheral device control system and method | |
JP5489619B2 (ja) | 情報処理装置及びその方法 | |
JP3740320B2 (ja) | デバイス検索システム及びデバイス検索方法 | |
JP4673018B2 (ja) | 情報処理装置、プリンタの設定方法およびプログラム | |
US7962660B2 (en) | Information processing apparatus, information processing system, and recording medium | |
JP4082256B2 (ja) | 情報処理装置及びプログラム | |
JP5460215B2 (ja) | 情報処理装置及びその方法 | |
US9218150B2 (en) | Image forming apparatus and method thereof | |
JP2007048211A (ja) | 情報処理装置、方法、周辺装置、制御プログラム | |
JP5677556B2 (ja) | 情報処理装置及びその方法 | |
JP2006344210A (ja) | 端末装置、端末装置の制御方法及びコンピュータプログラム | |
JP2008098994A (ja) | スキャナドライバ、及びスキャナドライバ連携装置 | |
JP2006058949A (ja) | Usbデバイス機器 | |
US6216176B1 (en) | Method of passing right to use input/output port between softwares | |
JP2001175574A (ja) | コンソール入出力制御システムおよびコンソール管理装置 | |
US8532136B1 (en) | Communication with a handset via a private network | |
JP2001356885A (ja) | 制御方法及び電子装置 | |
JP3768726B2 (ja) | デバイス検索クライアントおよびデバイス検索方法 | |
JP3869972B2 (ja) | デバイス検索クライアントおよびデバイス検索方法 | |
JP4666231B2 (ja) | アプリケーション競合管理システム及びその方法並びにそれを用いた情報処理端末 | |
JP2007179119A (ja) | 計算機システム | |
JP2000163345A (ja) | デバイス制御システムおよび情報登録方法、デバイス利用方法、並びにコンピュータプログラムを記録した記録媒体 | |
JP2007156994A (ja) | ホスト装置及び印刷制御方法 | |
JP3976957B2 (ja) | 情報処理装置、ネットワークシステム、デバイス検索装置及び方法、並びにコンピュータ読み取り可能な記録媒体 | |
JP5376253B2 (ja) | データ処理装置、データ処理システム、データ処理プログラム、及び、デバイスドライバ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20071106 |