JP5281402B2 - オペレーティングシステムに対する周辺装置の接続 - Google Patents

オペレーティングシステムに対する周辺装置の接続 Download PDF

Info

Publication number
JP5281402B2
JP5281402B2 JP2008527972A JP2008527972A JP5281402B2 JP 5281402 B2 JP5281402 B2 JP 5281402B2 JP 2008527972 A JP2008527972 A JP 2008527972A JP 2008527972 A JP2008527972 A JP 2008527972A JP 5281402 B2 JP5281402 B2 JP 5281402B2
Authority
JP
Japan
Prior art keywords
driver
peripheral device
com port
interface unit
port interface
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.)
Expired - Fee Related
Application number
JP2008527972A
Other languages
English (en)
Other versions
JP2009506426A (ja
Inventor
スキャフィディ,サルヴァトレ,グレゴリー,ジュニア
Original Assignee
エムシーシーアイ コーポレイション
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=37491688&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JP5281402(B2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by エムシーシーアイ コーポレイション filed Critical エムシーシーアイ コーポレイション
Publication of JP2009506426A publication Critical patent/JP2009506426A/ja
Application granted granted Critical
Publication of JP5281402B2 publication Critical patent/JP5281402B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)
  • Stored Programmes (AREA)

Description

発明の背景
発明の分野
本発明は、周辺装置をコンピュータに接続する仮想ポートに関し、特に、周辺装置が該コンピュータから接続を切断された時に、仮想シリアルポートを保持するデバイスドライバ構成に関する。
背景情報
過去において、及び現在のある程度まで、「comポート」番号によって指定されたハードウェアシリアルポートを介して周辺装置がコンピュータに接続されてきた。これらの周辺装置を利用するソフトウェアアプリケーションは、ソフトウェアデバイスドライバを介してそれら周辺装置と伝達し合う。これらの周辺装置は、「ビルトイン(組み込み)」と呼ばれる。何故ならば、システムが動作中の間、システムは、該装置のプラグ接続か又はプラグ非接続(該装置を抜くこと)に応答しないことになるからである。
更に最近では、「ホット・プラグ接続可能な」装置が、USB(ユニバーサルシリアルバス)ハードウェアポートを介して、及びマイクロソフト社によって販売されているWindows2000(登録商標)システム及びWindowsXP(登録商標)システムのようなオペレーティングシステムに含まれている「プラグ−N−プレイ」ソフトウェアを介して、導入されてきている。ホット・プラグ接続可能な装置がコンピュータに接続された時には、そのオペレーティングシステムのカーネルが、その装置に特有のデバイスドライバをインストールする。この場合には、該ドライバはまた、ビルトイン構成内においてあたかもハードウェアcomポートであるかのごとく、ユーザアプリケーションと相互作用する仮想的なcomポートとして機能する。
前記装置が、コンピュータ動作中に該コンピュータから取り外された場合には、該コンピュータが、関連付けられたドライバに、該ドライバ自身を除去させ、このことが、該ドライバによって提供された仮想的なcomポートの機能を解除する。このことは、誤動作(機能不全)を生じさせる可能性がある。何故ならば、たとえ対応する装置が取り外されたとしても、幾つかのアプリケーションはcomポート接続を必要とするからである。
本質的に本発明は、デバイスドライバを2つの部分へと分割することを含む。これら2つの部分のうちの一方は、「comインターフェース部」と呼ばれることが可能であり、関連付けられたアプリケーションに対して「com」インターフェースを提供し、他方は、「ドライバポート」と呼ばれることが可能であり、周辺装置との伝達情報(通信)を提供する。これら2つの部分は、互いに伝達し合い、該ドライバを使用するユーザアプリケーションにとって、それらは典型的なデバイスドライバとなるように見える。comインターフェース部は、本明細書内において記載された他のソフトウェアモジュールが行うのと同様に追加的な機能を実施する。
周辺装置がUSBポートへとプラグ接続された時には、それがオペレーティングシステムによって検出され、該装置のためのデバイスドライバを選択することにおいて使用される情報を取得するために該オペレーティングシステムが該装置と伝達し合って、コンピュータメモリ内へとそのドライバをロードする。該周辺装置と伝達し合うユーザアプリケーションは、従来通りに通知され、アプリケーションと周辺装置との間の伝達情報が該ドライバを通過する。この手順は、コンピュータオペレーティングシステムでは一般的である。
しかしながら、「ホット・プラグ接続可能な」周辺装置が、コンピュータ動作中にプラグを抜かれた時には、本発明によって提供されるデバイスドライバは、異なるように機能する。具体的には、従来通り、オペレーティングシステムは、周辺装置の除去を検知する。そのオペレーティングシステムは、次いで、デバイスドライバに該デバイスドライバ自身を除去(解除)するよう命令する。本発明以前では、デバイスドライバはそのメモリ空間が開放され、従って、comポート(該comポートによってアプリケーションは通信が行われる)が解除されていた。comポートの解除にうまく対処するため、アプリケーションに書き込みが行われたか又は再書き込みが行われたのでない限り、誤動作が結果として生じる可能性がある。
しかしながら、本明細書内において記載されたデバイスドライバは、除去される装置と伝達し合う一部分のみを除去(解除)することによって応答する。該デバイスドライバは、comポートを含んでいるメモリ空間を開放しない。従って、あたかも周辺装置がプラグを抜かれていないかのように、アプリケーションがドライバとの伝達を継続することができる。該デバイスドライバは、当然、周辺装置自体には及ばないこととなり、従って、まるで該周辺装置が誤動作したかのように、該デバイスドライバが動作することとなる。代替として、アプリケーションに対して、その特定のアプリケーションにより適合可能な応答を提供するよう該ドライバを構成することもできる。
下記の本発明は、添付図面を参照する。
以下の説明は、具体的にはマイクロソフト社のオペレーティングシステムに対して向けられたものである。これらのシステムは、オペレーティングシステムのカーネルとインターフェースするソフトウェアを書き込む者にとって周知である。本発明により提供されるモジュールを除いて、本明細書内において言及される様々なソフトウェアモジュールは、マイクロソフト社によって公開されている。
図1は、GPSマップのアプリケーション10A、同期アプリケーション10B、及びダイアル・アップ・ネットワークユーティリティ10Cのようなアプリケーションと、一方、USB13へとプラグ接続されるUSB多機能装置12との間の伝達のための従来の構成を図示する。アプリケーション10Aは、前記装置12のGPS受信器機能と伝達し合って、コンピュータディスプレイ上において様々なマップ機能を提供する。アプリケーション10Bは、コンピュータ内のデータと、携帯情報端末(PDA)のような装置(図示せず)とを同期させるために使用される。ダイアル・アップ・ネットワークユーティリティ10Cは、前記装置12のモデム機能と伝達し合う。
win32comAPI(アプリケーション・プログラム・インターフェース)14によって、それらアプリケーションはオペレーティングシステムのカーネル(図示せず)とインターフェースされる。該API14は、更に、アプリケーションに対する仮想comポートとしてもまた機能するデバイスドライバ16A、16B、及び16Cと伝達し合う。到来するデータと出力されるデータとのためのドライバスタックス(図示せず)を含むその伝達経路は、複合USBバスドライバ18によって、及びUSBドライバ・インターフェース(USBDI)20によって、完結される。
代替的には、単一の多機能USB装置を用いる代わりに、別個の物理的なUSBポートと共に、それらのポート内にプラグ接続されているそれぞれの機能を該装置が提供する状態で、周辺構成が構築されることが可能である。
システムがターンオンされるか、又は再起動される時には、USBDI20は、USBデバイスのための周辺バス13をチェックする。該USBDI20は、カーネルに対して、該USBDI20が見つけ出すデバイスを問い合わせて、それらを識別する。該カーネルは、次いで、関連するドライバ(例えば、ドライバ16A、16B、及び16C)をメモリ内へとロードして、API14にこれらのドライバのアドレスを提供する。アプリケーションは、従って、各々の周辺機能と伝達し合うことができる。
コンピュータ動作中の装置12の除去は、USBDI20によって検出され、該USBDI20は、その除去をカーネルに通知する。該カーネルは、次いで、デバイスドライバ16A、16B、及び16Cに信号を送って、これらのメモリ空間を開放し、これにより、該ドライバは除去(解除)される。上述のように、このことは、コンピュータの誤動作を生じさせる可能性がある。
本発明を図示する図2内において、図1内において図示されたシステムの同様の番号が付された構成要素と同じ機能を、様々な構成要素が提供する。しかしながら、システムが初期化される時には、すなわち、ターンオンされるか又は再起動(リブート)させられる時には、マスタドライバ22がまた、ーキングメモリ内へとロードされる。具体的には、従来の構成内におけるように、各周辺装置は、該周辺装置が検出された時に、該装置からシステムによって取り出されたID番号を有する。この番号は、その装置のための適切なドライバをワーキングメモリ内へと選択及びロードするために、オペレーティングシステムによって通常は使用される。図2内に示された構成において、本発明に従って接続されることが可能な各周辺装置ごとの起動時に、別個のマスタドライバが、ロードされる。各マスタドライバは、起動時にメモリ内へとロードされ、次いで、それが、マスタドライバが関連付けられているIDを有する周辺装置に関連する接続通知のためにカーネルに記録(レジスト)される。
従って、マスタドライバ22は、周辺装置のIDが多機能装置12のIDである該周辺装置に関連する通知を記録(レジスト)する。システムが起動する時に、装置12が検出されて、機能ドライバ16A、16B、及び16Cを構築することにより、結果として生じる通知にマスタドライバ22が応答する。該機能ドライバは、更に、周辺装置12の接続か又は接続の切断に関連する通知についてカーネルに記録(レジスト)する。
本発明に従って、各機能ドライバ16の機能は、2つのモジュールへと効果的に分割される。該2つのモジュールとはすなわち、関連付けられたアプリケーションと伝達し合って、そのアプリケーションに対するcomポートとして機能するcomポートインターフェース部16A、等と、周辺装置(多機能周辺装置の場合における1つの周辺機能)に対するリンクを提供するドライバポート部16A、等である。該機能ドライバは、従来の構成におけるように、装置の特定通知のため、カーネルに記録する。
好適には、comポートインターフェース部16 及びドライバポート部16 は、単一ブロックとして物理的に構成される。従って、図1に関して上述のように、カーネルはドライバをワーキングメモリ内へとロードする。しかしながら、もしも周辺装置のプラグが抜かれ、且つ、そのカーネルがドライバに該ドライバ自身を除去(解除)するよう命令した場合には、例えば、comポートインターフェース部16Aは、ドライバポート部16Aからそれ自身の接続効果的に解ことにより応答する。該機能ドライバを使用するアプリケーション10Aは、従って、comポートインターフェース部16A内において関連するcomポートを見つけ出すことを継続することになる。該アプリケーションは、従って、周辺装置の除去によって乱されない。上述のように、該アプリケーションは、当然、周辺装置と伝達し合うことが不可能になることとなる。誤作動(該誤作動は、別様には、必要なcomポートの欠如を生じさせる可能性がある)を避ける等のために、comポートインターフェース16 は、しかしながら、ユーザアプリケーションからの伝達情報に対して適切な応答を提供する。
除去された周辺装置が再びプラグ接続されるか又は別様には置換される場合には、対応する機能ドライバのcomポートインターフェース部16 が、イベントの通知を受け取り、応答して、以前に接続が解かれたドライバポート部16 に該comポートインターフェース部16A 自体を再接続し、その結果、対応するアプリケーションが、再接続された装置と伝達し合うことが可能となる。
このように、ホット・プラグ接続可能な装置と共に用いられるための機能ドライバ構成を説明してきたが、対応する周辺装置のプラグが抜かれた(プラグ接続が切られた)後でも、comポートにアクセスすることが必要なユーザアプリケーションに該機能ドライバ構成は適応する。具体的には、本発明は、アプリケーションに対するcomポートインターフェースを提供する機能ドライバの一部をメモリ内に保持し、従って、対応するcomポートの除去(解除)の結果生じる可能性のある誤作動(機能不全)を防止する。
典型的な従来のUSBポート構成内において含まれるソフトウェアのブロック図である。 本発明を含む典型的なUSBポート構成のブロック図である。

Claims (5)

  1. コンピュータ内において、ユーザアプリケーションと、ホット・プラグ接続可能な周辺装置との間で情報を伝達させるための、カーネルモードのドライバシステムであって、
    (A)マスタドライバであって、前記周辺装置が前記コンピュータにホット・プラグ接続された時に、
    (1)オペレーティングシステムによって前記周辺装置が検出された時に、該オペレーティングシステムから前記周辺装置に関連する利用可能性の通知を受け取り、次いで
    (2)前記周辺装置のための機能ドライバを前記コンピュータ内にインストールする
    ことを実施するための、マスタドライバと、
    (B)前記機能ドライバであって、
    (1)前記ユーザアプリケーションにしてcomポートを提供するcomポートインターフェース部であって前記ユーザアプリケーションと情報を伝達し合う、comポートインターフェース部と、
    (2)前記comポートインターフェース部と、前記ユーザアプリケーションに関連した前記周辺装置との間にリンクを提供して情報を伝達させるドライバポート
    とを有することからなる、前記機能ドライバ
    とを備え、
    前記周辺装置が前記コンピュータから除去される際に、前記周辺装置と前記ドライバポート部との間のプラグ接続が解かれると前記周辺装置の除去を検知した前記オペレーティングシステムのカーネルが前記機能ドライバに該機能ドライバ自体を除去するよう命令し、前記機能ドライバ内の前記comポートインターフェース部が、その命令を受け取り、前ドライバポート部との該comポートインターフェース部自体の接続を解いて、これにより、除去された前記周辺装置と情報を伝達し合っていた前記ユーザアプリケーションには、前記comポートが、依然として提供されているままとなり、誤作動を避けるため、該comポートインターフェース部が、該ユーザアプリケーションからの伝達情報に対して応答を提供することからなる、ドライバシステム。
  2. 前記周辺装置がUSB対応装置であり、前記ドライバポート部と前記周辺装置との間にはUSBドライバが接続されていることからなる、請求項1に記載のドライバシステム。
  3. 前記機能ドライバは、前記周辺装置の接続か又は接続の解除に関連する通知をカーネルに記録する、請求項1又は2に記載のドライバシステム。
  4. 前記カーネルからの前記命令を受け取った前記comポートインターフェース部が、前記ドライバポート部との該comポートインターフェース部自体の接続を解いた後に、前記周辺装置と前記ドライバポート部との間の再接続が行われる場合には、前記comポートインターフェース部が、前記カーネルからの通知に応答して、以前に接続が解かれた前記ドライバポート部に該comポートインターフェース部自体を再接続する、請求項1乃至の何れかに記載のドライバシステム。
  5. 接続可能な前記周辺装置の各々ごとの起動時に、別個の前記マスタドライバがロードされる、請求項1乃至の何れかに記載のドライバシステム。
JP2008527972A 2005-08-23 2006-08-14 オペレーティングシステムに対する周辺装置の接続 Expired - Fee Related JP5281402B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US71047505P 2005-08-23 2005-08-23
US60/710,475 2005-08-23
PCT/US2006/031673 WO2007024544A1 (en) 2005-08-23 2006-08-14 Connection of peripherals to operating systems

Publications (2)

Publication Number Publication Date
JP2009506426A JP2009506426A (ja) 2009-02-12
JP5281402B2 true JP5281402B2 (ja) 2013-09-04

Family

ID=37491688

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008527972A Expired - Fee Related JP5281402B2 (ja) 2005-08-23 2006-08-14 オペレーティングシステムに対する周辺装置の接続

Country Status (5)

Country Link
EP (1) EP1917583B1 (ja)
JP (1) JP5281402B2 (ja)
CN (1) CN101292224B (ja)
CA (1) CA2619070A1 (ja)
WO (1) WO2007024544A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019207605A (ja) * 2018-05-30 2019-12-05 株式会社デンソーウェーブ コンピュータプログラム、及び、制御方法

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5585844B2 (ja) * 2011-03-25 2014-09-10 株式会社日立製作所 仮想計算機の制御方法及び計算機
CN103246618B (zh) * 2012-02-01 2016-02-24 中兴通讯股份有限公司 基于嵌入式系统的usb功能的实现方法及装置
US8959534B2 (en) 2012-05-29 2015-02-17 Mcci Corporation Enabling legacy applications to achieve end-to-end communication with corresponding legacy device services
CN104216840B (zh) * 2014-09-11 2018-03-23 青岛海信移动通信技术股份有限公司 一种usb设置和对外部设备进行操作的方法及装置
CN107368301B (zh) * 2017-06-27 2020-12-15 深圳市爱培科技术股份有限公司 一种串口框架协议实现方法、存储介质及装置
CN111475318B (zh) * 2020-04-29 2021-02-23 中国人民解放军军事科学院国防科技创新研究院 一种支持多用户访问的串口通信装置、方法及系统
CN115576612B (zh) * 2022-09-02 2023-05-12 广州市金其利信息科技有限公司 外部设备适配方法、装置、智能终端及可读存储介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08335201A (ja) * 1995-06-08 1996-12-17 Mitsubishi Electric Corp 入出力制御試験システム装置
JPH09288637A (ja) * 1996-04-19 1997-11-04 Nec Corp 周辺装置の再接続方式およびインタフェース装置
US5898861A (en) * 1996-10-18 1999-04-27 Compaq Computer Corporation Transparent keyboard hot plug
JP2000267824A (ja) * 1999-03-19 2000-09-29 Ricoh Co Ltd プリンタドライバ
JP2002222159A (ja) * 2001-01-25 2002-08-09 Nec Viewtechnology Ltd Usbコントロールシステムおよび該システムに使用される電子機器
KR100438704B1 (ko) * 2001-11-16 2004-07-05 삼성전자주식회사 프린트 데이터의 재인쇄방법
CN1303542C (zh) * 2003-10-24 2007-03-07 英业达股份有限公司 Linux操作系统下对USB设备即插即用的方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019207605A (ja) * 2018-05-30 2019-12-05 株式会社デンソーウェーブ コンピュータプログラム、及び、制御方法
JP7131084B2 (ja) 2018-05-30 2022-09-06 株式会社デンソーウェーブ コンピュータプログラム、及び、制御方法

Also Published As

Publication number Publication date
CA2619070A1 (en) 2007-03-01
CN101292224A (zh) 2008-10-22
EP1917583A1 (en) 2008-05-07
CN101292224B (zh) 2015-05-20
JP2009506426A (ja) 2009-02-12
EP1917583B1 (en) 2012-05-30
WO2007024544A1 (en) 2007-03-01

Similar Documents

Publication Publication Date Title
JP5281402B2 (ja) オペレーティングシステムに対する周辺装置の接続
US10445258B1 (en) Method for creation of device drivers and device objects for peripheral devices
US8346912B2 (en) System and method of emulating a network controller within an information handling system
CN108139924B (zh) 热插拔硬件及软件实施方案
US8499104B2 (en) Method for switching working mode, USB device, and host device
CN101398792B (zh) 一种实现接口功能设备应用的方法及装置
US8346981B2 (en) Connection of peripherals to operating systems
US7143277B2 (en) Methods and apparatus for event based console variable coherence maintenance in a pre-boot environment
CN110419035B (zh) Usb主机到主机自动切换
US20100191873A1 (en) Enabling and disabling device images on a platform without disrupting bios or os
US8589954B2 (en) Method and program for selective suspension of USB network device
CN111813599A (zh) 固态存储设备、服务器主板及控制方法
US11119869B2 (en) Auxiliary storage device providing independent backup and recovery functions and apparatus employing same
US20190236045A1 (en) Virtual comport bridge supporting host-to-host usb transmission
US9087031B2 (en) Method and program for selective suspension of USB device
JP4637140B2 (ja) 計算機システム
US10379872B1 (en) Method for creation of a device driver for a peripheral device
US20210019274A1 (en) Virtual com port bridge supporting host-to-host usb transmission
JP2006277123A (ja) ネットワーク接続機器
CN112052200A (zh) 信息处理装置、信息处理系统以及存储介质
JP2009032241A (ja) 計算機システム及び計算機制御方法,制御プログラムを格納した記憶媒体
CN113867835B (zh) 用于dsp动态加载的装置及方法
CN117687706A (zh) 基于输入输出虚拟化的配置和请求处理方法、装置和设备
JP2000293503A (ja) マイクロコンピュータ

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20090319

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090812

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110927

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20111213

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20111220

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120326

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120605

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120828

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120904

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121121

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130507

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130524

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5281402

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees