CN100336006C - 用于连接外设到计算机系统的方法和系统 - Google Patents

用于连接外设到计算机系统的方法和系统 Download PDF

Info

Publication number
CN100336006C
CN100336006C CNB2004100785342A CN200410078534A CN100336006C CN 100336006 C CN100336006 C CN 100336006C CN B2004100785342 A CNB2004100785342 A CN B2004100785342A CN 200410078534 A CN200410078534 A CN 200410078534A CN 100336006 C CN100336006 C CN 100336006C
Authority
CN
China
Prior art keywords
computer system
peripheral hardware
data
instantiation
driven object
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
CNB2004100785342A
Other languages
English (en)
Other versions
CN1624645A (zh
Inventor
迈克尔·安德烈斯
赫维格·埃尔弗林
托马斯·赫斯
阿斯特里德·克赖西格
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1624645A publication Critical patent/CN1624645A/zh
Application granted granted Critical
Publication of CN100336006C publication Critical patent/CN100336006C/zh
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
    • G06F9/4413Plug-and-play [PnP]
    • G06F9/4415Self describing peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/102Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver

Landscapes

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

Abstract

本发明涉及一种将外设(106;300)连接到计算机系统(100)的方法,外设具有用于存储表示外设信息的数据的非易失性存储器(108;302),该方法包括以下步骤:通过预定通信协议,由计算机系统从非易失性存储器读取数据,基于该数据来实例化计算机系统的驱动对象。

Description

用于连接外设到计算机系统的方法和系统
技术领域
本发明涉及计算机系统和计算机系统配置的领域,特别涉及外设与计算机系统的连接,或者某种传感器或作用器(actor)与控制器的连接。
背景技术
计算机系统包括各种部件,如处理单元、存储器、数据交换平台,并且通常具有多种提供庞多的不同功能性的外围设备。为了利用每个外围设备的功能,必须按照每个外设的规格配置或定制控制计算机系统各部件之间的相互作用的计算机系统操作系统。为了提供操作系统所需的外设特定信息以利用外设的功能,已建立了基于驱动模块的框架。驱动模块用作计算机系统的操作系统和特定的外设或硬件部件之间的接口。
通常,驱动模块仅提供关于不同外设的特定信息。一方面,驱动模块将参数以及外设特定命令提供给操作系统。另一方面,驱动模块自身必须被设计成满足特定操作系统。因此,对于通过驱动模块将外设连接计算机系统,必须设计特定于操作系统的驱动程序,并且同外设一起分发。诸如微软公司的WindowsTM的操作系统包括用于最常用且因此是标准的外设的一套标准驱动模块。操作系统几乎可以自动地执行那些标准外设之一与运行此操作系统的计算机系统的连接。
然而,当硬件供应商发行新的外设时,在可由先前发行的操作系统使用外设的全部功能性之前,必须针对该新外设人工地定制该先前发行的操作系统。必须人工地更新操作系统以支持该外设。由于存在庞多的不同操作系统和操作系统的不同版本,因此外设必须同全套不同的驱动模块一起分发,其中每个驱动模块是为不同的操作系统而定制的。
因此,为了达到可观的市场占有率,对于外设来说,对庞多的不同版本的操作系统的支持是必要的。显然,开发这样庞大的一套驱动模块以及在先前发行的操作系统中人工实施驱动模块与外设制造商及最终用户的巨大开支相联系。尤其是计算机系统的维护,即驱动程序升级的人工实施,可能也与导致费用和时间的计算机系统的重新启动或停机时间相联系。
美国专利No.6,449,660 B1公开了一种面向对象的I/O设备接口框架机制。此I/O接口框架机制具有代表不同I/O设备的对象、代表关于不同I/O设备的信息的对象、对I/O设备执行诊断的对象,以及对I/O设备执行统计分析的对象。
US 6,449,660 B1的I/O框架机制由三个相互依赖的控制器组成。这些控制器称为硬件资源管理器、信息控制器以及设备控制器。硬件资源管理器负责组织关于I/O设备的信息以及使经过组织的信息可用于其他控制器。信息控制器负责收集关于I/O设备的信息以及改变和/或更新某个I/O设备信息。因此,信息控制器由各自代表特定I/O设备的特征的单独对象组成。
此I/O接口框架机制具有向框架用户隐藏接口硬件、协议、初始化以及服务策略的细节的核心功能,除此之外,还具有允许用户增加新的I/O设备和对现有I/O设备进行改变的可扩展功能。由于设备控制器由核心和可扩展功能组成,因此设备控制器的某些部分被设计成可以由框架用户扩展和/或定制它们,而其他部分被设计成它们不能被框架用户进行扩展或定制。
根据US 6449660 B1的披露,资源管理器包括至少一个容器对象,所述容器对象用来容纳至少一个信息对象,所述信息对象用来代表关于所述I/O设备的信息。由于资源管理器被设计成框架机制的核心功能,因此关于所述I/O设备的信息的表示也是所披露框架机制的核心功能。
本发明的目的为提供一种用于将外设连接到计算机系统的改进型方法、计算机系统、外设以及计算机程序产品。
发明内容
本发明提供了一种通过利用自描述(self-describing)功能性将外设连接到计算机系统的方法。外设包括非易失性存储器,其用于存储提供并传送到计算机系统的表示外设信息的数据。在第一步骤中,计算机系统读取存储在外设的非易失性存储器中的数据,即通过预定通信协议传输该数据到计算机系统。
在第二步骤中,计算机系统基于接收的表示外设信息的数据来实例化驱动对象。由于外设自己将必要信息提供给计算机系统,因此计算机系统或操作系统可以实例化适当的驱动对象以提供外设功能的完全利用。这样,当嵌入新外设时,可在没有显式的用户交互的情况下执行计算机系统的重新配置。
一方面,必须配置计算机系统以从外设的非易失性存储器读取数据并且基于该数据实例化驱动对象。另一方面,外设必须将表示自身信息的数据提供给计算机系统。因此,必须保证计算机系统以及外设使用相同的通信平台,其可采用预定通信协议来实现。
根据本发明的优选实施例,实例化的驱动对象向计算机系统提供对外设的访问。这样,本发明的实例化驱动对象完成与现有技术中已知的传统驱动模块相同的功能性。驱动对象用作计算机系统和外设之间的接口。这样,计算机系统有效地通过外设的功能性得到扩展。
根据本发明的另一个优选实施例,将表示外设信息且传送到计算机系统的数据存储在外设的非易失性存储器内的预定地址和/或预定路径上。此预定地址和/或预定路径必须为计算机系统所知,并且可被计算机系统访问。该预定地址和/或预定路径用作必须从外设的非易失性存储器传送到计算机系统的数据的缺省位置。
例如,当将新的外设连接到计算机系统时,计算机系统首先在此预定位置搜寻关于新连接的外设的信息。在检索并传送存储在此预定位置上的第一数据包以及处理此第一数据包之后,计算机系统可在不同的位置搜寻另一个数据包。在这样的情况下,第一数据包必须表示计算机系统可在其上检索另一个数据包的外设非易失性存储器内的位置。另一个数据包的检索和处理可以进一步调用将由计算机系统执行的各种操作以最终实例化驱动对象。
根据本发明的另一个优选实施例,将表示外设信息且存储在外设的非易失性存储器中的数据以一般性方式表示,从而允许正确解释数据而与计算机系统的操作系统类型无关。这样,可将本发明的方法应用到每个支持本连接方法的计算机系统,而不论其底层的操作系统是什么。这样,可以节省因外设的连接而产生的计算机系统的大量人工重新配置的费用和时间。
此外,由于存储在外设的非易失性存储器中的数据的一般性表示,因此可提供平台无关以及操作系统无关的连接。用于将单个外设连接到多种不同操作系统的各种驱动模块的生成和开发成为多余。
根据本发明的另一个优选实施例,为特定的计算机系统和/或操作系统定制未实例化的驱动模块。实例化的驱动模块的全部功能性由多个驱动对象提供,其中每一个驱动对象被设计成处理特定任务。
在驱动模块的实例化过程期间,通过结合存储在外设的非易失性存储器中的规则利用抽象工厂模式来依次构造驱动对象。抽象工厂模式是针对给定的计算机系统或操作系统而特定设计的,并且提供驱动对象的具体实现以及实例化。一般性规则仅提供涉及该抽象工厂模式的功能性的信息。
这样,该方法显式利用为要连接到不同操作系统和/或计算机系统的特定外设创建驱动模块所需的信息的分离。关于外设功能性的信息通过指导具有关于特定操作系统和/或计算机系统的信息的工厂模式的规则来封装。规则和工厂模式的结合最终导致外设所需的驱动模块的隐式生成,从而以准确的方式与不同的计算机系统或操作系统交互。
通过在外设的非易失性存储器中以规则的形式存储外设特定信息并且采用工厂模式在计算机系统的未实例化驱动模块中提供不同计算机系统和/或操作系统的必要信息,提供一种用于通用地将外设连接到计算机系统的平台无关且操作系统无关的方案。
根据本发明的另一个优选实施例,表示外设信息的数据包括特定于外设以及驱动模块的实例化所需的参数和/或命令。
附图说明
下面,将参照附图更详细地描述本发明的优选实施例,其中:
图1示出本发明的方框图,
图2示出本发明的方法的流程图,
图3示出具有非易失性存储器的外设的方框图。
标号列表
100    计算机系统
102    操作系统
104    驱动模块
106    外设
108    非易失性存储器
300    外设
302    非易失性存储器
304    存储块
306    存储块
308    存储块
310    存储块
具体实施方式
图1示出具有操作系统102和至少一个驱动模块104的计算机系统100。具有非易失性存储器108的外设106通过驱动模块104连接到计算机系统100。驱动模块104用作计算机系统100的操作系统102和外设106之间的接口。驱动模块104向操作系统102提供外设106的全部功能性。因此,它是根据外设106的功能性而定制的。
驱动模块104以双向方式在操作系统102和外设106之间起作用。一方面,驱动模块104向操作系统102提供对外设106的访问。另一方面,驱动模块104控制外设106的功能性。在此功能中,驱动模块104将操作系统102给出的命令转换为可被外设106处理的形式。
在将外设106连接到计算机系统100之前,驱动模块104处于未实例化的状态。为了获得对不同外设的访问,必须构造多个特定于不同外设的驱动对象。驱动对象的构造基于工厂模式和规则的结合。标准化的工厂模式存储在驱动模块104中,而特定于外设的规则存储在外设106的非易失性存储器108中。在连接外设106与计算机系统100时,将存储在外设106的非易失性存储器108中的规则传送到计算机系统100的驱动模块104。通过操作系统102和/或驱动模块104执行提供外设106的控制的驱动对象的构造。
在构造了外设特定驱动对象之后,由驱动模块104处理外设106和操作系统102之间的交互。
图2示出外设和计算机系统之间的连接过程。在建立了外设和计算机系统之间的连接之后,在步骤200中,将外设特定数据或规则从外设的非易失性存储器传送到计算机系统。在步骤200中执行的该传送可传送存储在外设的非易失性存储器中的全部数据或仅仅数据的第一部分。在这两种情况下,数据的位置都必须以预定方式为操作系统或计算机系统所知。此外,数据的传送必须基于可被操作系统及外设内在理解的预定协议。
这样,必须将数据的至少第一部分传送到操作系统或计算机系统的未实例化驱动模块。
在下一步骤202中,由计算机系统处理数据的第一部分或全部。数据的处理可以由未实例化的驱动模块或者通过操作系统和驱动模块之间的相互作用来执行。在下一步骤204中,实例化外设特定驱动对象,使得完成驱动模块的实例化。
在此实例化之后,完整地构造了驱动模块,因此在步骤206中,提供对外设的全部功能性的访问。步骤206表示连接过程的最终状态,其中,外设的全部功能性可通过驱动模块由操作系统访问。
上面描述的连接过程可根据多种不同方式进行修改。连接过程的方法仅对第一数据部分要求利用预定通信协议。在传送第一数据部分之后,所述数据部分的处理可发生于在外设和计算机系统之间传送另外数据之前。响应所述第一数据部分的处理,可根据多种不同方法修改连接外设到计算机系统的方法。
例如,该过程可切换至不同的通信协议,其意味着,从外设的非易失性存储器到计算机系统的连续数据部分的传送基于不同的通信协议,该协议又必须被外设及计算机系统支持。
图3示出具有非易失性存储器302的外设300的方框图。非易失性存储器包含不同的存储块304、306、308和310。存储块304...310以非易失性存储器302内的唯一地址指定。尤其是,必须将第一存储块304的地址标准化,从而使得其为任何支持本发明所述连接方法的计算机系统所知。
当将外设300连接到计算机系统时,计算机系统首先必须提取位于第一存储块304中的数据。在由计算机系统处理此第一数据部分之后,可进行用于外设实例化的各种不同操作。
这样,本发明提出了一种通过外设的自描述功能性将外设连接到计算机系统的改进型方法。外设特定信息存储在外设自身中,并且在建立外设和计算机系统之间的连接时,将其提供给计算机系统。然后,由计算机系统和/或计算机系统的操作系统执行提供对外设的完全访问的驱动模块的所需实例化。这样,不需人工地将外设的另外信息提供给计算机系统。此外,该方法允许平台无关且操作系统无关并且因此是通用的连接过程。

Claims (16)

1、一种将外设(106;300)连接到计算机系统(100)的方法,所述外设具有用于存储表示所述外设的信息的数据的非易失性存储器(108;302),该方法包括以下步骤:
-通过预定通信协议,由所述计算机系统从所述非易失性存储器读取数据,
-所述计算机系统基于所述数据来实例化驱动对象。
2、如权利要求1所述的方法,其中,所述实例化的驱动对象向所述计算机系统(100)提供对所述外设(106;300)的访问。
3、如权利要求1或2所述的方法,其中,所述数据存储在所述外设(106;300)的非易失性存储器(108;302)内的预定地址和/或预定路径上。
4、如权利要求1或2所述的方法,其中,用与所述计算机系统(100)的操作系统(102)无关的一般性方式表示所述数据。
5、如权利要求3所述的方法,其中,用与所述计算机系统(100)的操作系统(102)无关的一般性方式表示所述数据。
6、如权利要求1或2所述的方法,其中,所述数据包括特定于所述外设(106;300)以及所述实例化驱动对象所需的参数和/或命令。
7、如权利要求3所述的方法,其中,所述数据包括特定于所述外设(106;300)以及所述实例化驱动对象所需的参数和/或命令。
8、如权利要求4所述的方法,其中,所述数据包括特定于所述外设(106;300)以及所述实例化驱动对象所需的参数和/或命令。
9、一种用于连接外设的计算机系统(100),所述外设具有用于存储表示所述外设(106;300)的信息的数据的非易失性存储器(108;302),该计算机系统包括:
-用于通过预定通信协议,由所述计算机系统从所述非易失性存储器(108;302)读取数据的装置,
-用于基于所述数据来实例化所述计算机系统的驱动对象的装置。
10、如权利要求9所述的计算机系统(100),其中,所述实例化的驱动对象向所述计算机系统提供对所述外设(106;300)的访问。
11、如权利要求9或10所述的计算机系统(100),其中,所述数据存储在所述外设(106;300)的非易失性存储器(108;302)内的预定地址和/或预定路径上。
12、如权利要求9或10所述的计算机系统(100),其中,用与所述计算机系统的操作系统(102)无关的一般性方式表示所述数据。
13、如权利要求11所述的计算机系统(100),其中,用与所述计算机系统的操作系统(102)无关的一般性方式表示所述数据。
14、如权利要求9或10所述的计算机系统(100),其中,所述数据包括特定于所述外设(106;300)以及所述实例化驱动对象所需的参数和/或命令。
15、如权利要求11中所述的计算机系统(100),其中,所述数据包括特定于所述外设(106;300)以及所述实例化驱动对象所需的参数和/或命令。
16、如权利要求12所述的计算机系统(100),其中,所述数据包括特定于所述外设(106;300)以及所述实例化驱动对象所需的参数和/或命令。
CNB2004100785342A 2003-12-01 2004-09-09 用于连接外设到计算机系统的方法和系统 Expired - Fee Related CN100336006C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP03104470 2003-12-01
EP03104470.4 2003-12-01

Publications (2)

Publication Number Publication Date
CN1624645A CN1624645A (zh) 2005-06-08
CN100336006C true CN100336006C (zh) 2007-09-05

Family

ID=34610133

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004100785342A Expired - Fee Related CN100336006C (zh) 2003-12-01 2004-09-09 用于连接外设到计算机系统的方法和系统

Country Status (2)

Country Link
US (1) US20050120145A1 (zh)
CN (1) CN100336006C (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9858412B2 (en) * 2015-06-25 2018-01-02 Intel Corporation Secure trusted execution environment data store
US11048647B1 (en) * 2019-12-31 2021-06-29 Axis Ab Management of resources in a modular control system

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000322241A (ja) * 1999-05-12 2000-11-24 Nec Office Systems Ltd ドライバ組み込みシステムおよびドライバ更新方法
CN1343917A (zh) * 2001-10-23 2002-04-10 深圳市朗科科技有限公司 电脑外部设备中附加存储功能的方法及其体系结构
US20020188938A1 (en) * 2001-06-11 2002-12-12 Dong Mimi Chu System and method for providing application software for a peripheral device
JP2002366501A (ja) * 2001-06-11 2002-12-20 Murata Mfg Co Ltd 周辺デバイス、コンピュータシステム、及びインストーラプログラム
JP2003114859A (ja) * 2001-10-05 2003-04-18 Matsushita Electric Ind Co Ltd Usb接続機器
JP2003122699A (ja) * 2001-10-15 2003-04-25 Toshiba Corp 情報処理システムとその周辺機器
US20030196007A1 (en) * 2002-04-12 2003-10-16 Baron John M. Device-resident driver system and method

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6449660B1 (en) * 1995-07-31 2002-09-10 International Business Machines Corporation Object-oriented I/O device interface framework mechanism
US6910068B2 (en) * 1999-06-11 2005-06-21 Microsoft Corporation XML-based template language for devices and services
US7127678B2 (en) * 2000-12-21 2006-10-24 Microsoft Corporation System and method to specify device specific user interface information in the firmware of a USB device
US7165109B2 (en) * 2001-01-12 2007-01-16 Microsoft Corporation Method and system to access software pertinent to an electronic peripheral device based on an address stored in a peripheral device
US6591358B2 (en) * 2001-01-26 2003-07-08 Syed Kamal H. Jaffrey Computer system with operating system functions distributed among plural microcontrollers for managing device resources and CPU
JP4464029B2 (ja) * 2001-04-19 2010-05-19 キヤノン株式会社 情報処理方法および制御プログラムおよび情報処理装置および周辺装置および応答方法および代理応答装置およびネットワークシステム

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000322241A (ja) * 1999-05-12 2000-11-24 Nec Office Systems Ltd ドライバ組み込みシステムおよびドライバ更新方法
US20020188938A1 (en) * 2001-06-11 2002-12-12 Dong Mimi Chu System and method for providing application software for a peripheral device
JP2002366501A (ja) * 2001-06-11 2002-12-20 Murata Mfg Co Ltd 周辺デバイス、コンピュータシステム、及びインストーラプログラム
JP2003114859A (ja) * 2001-10-05 2003-04-18 Matsushita Electric Ind Co Ltd Usb接続機器
JP2003122699A (ja) * 2001-10-15 2003-04-25 Toshiba Corp 情報処理システムとその周辺機器
CN1343917A (zh) * 2001-10-23 2002-04-10 深圳市朗科科技有限公司 电脑外部设备中附加存储功能的方法及其体系结构
US20030196007A1 (en) * 2002-04-12 2003-10-16 Baron John M. Device-resident driver system and method

Also Published As

Publication number Publication date
CN1624645A (zh) 2005-06-08
US20050120145A1 (en) 2005-06-02

Similar Documents

Publication Publication Date Title
CN100461096C (zh) 动态注册表分区系统和方法
CN1212574C (zh) 使用本地标识符的端节点分区
CN1781075B (zh) 电子文件更新期间的设备存储器管理
CN1322427C (zh) Windows平台下动态管理存储资源的通用方法
CN101179430B (zh) 一种分布式系统软件版本更新控制装置及方法
CN1922572A (zh) 为组件应用程序建立混合模式执行环境的系统和方法
CN1659539A (zh) 一种具有虚拟服务模块的网络系统
CN102710814A (zh) 虚拟机ip地址的控制方法及装置
CN1906580A (zh) 对于具有可移动对象的启用网格的虚拟机的方法和系统
CN1285935A (zh) 一种使用自动下载的自动配置的方法和系统
CN101051912A (zh) 一种数据自动更新方法
CN1794653A (zh) 一种家庭网络设备的管理系统及管理方法
CN1969280A (zh) 使用命令行环境的远程系统管理
CN1655122A (zh) 版本更新方法
CN103036916A (zh) 远程硬件资源的调用方法及其装置、系统
CN103718159B (zh) 图像处理软件开发方法、图像处理软件开发装置
CN100428171C (zh) 数据平面与控制平面之间的通讯方法
CN1694064A (zh) 组件化嵌入式系统信息检索系统和方法
JP2008523519A (ja) 複数のプラグインを含む電子システムを初期化する方法
CN102667714A (zh) 支持访问由操作系统环境外的资源提供的功能的方法和系统
CN101521600A (zh) 一种网关设备中业务控制方法和网关设备
CN1269044C (zh) 一种更新存储在非易失性存储器中的图象的设备和方法
CN100338539C (zh) 使用基于活动列表的动态目录提供设备信息的基金会现场总线服务器
CN1892597A (zh) 通过随插即用储存装置更新手持式设备操作功能的方法
CN100336006C (zh) 用于连接外设到计算机系统的方法和系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20070905

Termination date: 20110909