双驱动器接口制造技术

技术编号:2844182 阅读:200 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供了一种双驱动器接口。一种能够与支持操作系统和至少一个应用的数据处理系统进行通信的网络接口装置,该网络接口装置通过以下信道与所述操作系统通信:两个或更多个数据信道,每个数据信道都可由所述网络接口装置单独寻址,并且都能够在所述网络接口装置和所述数据处理装置之间运送应用级数据;以及控制信道,其可由所述网络接口装置单独寻址,并且能够在所述网络接口装置之间运送控制数据,所述控制数据定义命令,所述网络接口响应于通过所述控制信道发送的至少一个命令来建立至少一个附加的数据信道。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及一种网络接口,例如一种用于将计算机链接到网络的接口装置。
技术介绍
传统上,操作系统提供多个抽象内部接口,设计这些抽象内部接口用来支持连接到该系统的各族硬件装置,例如,存储装置、组网装置、图形装置。操作系统通常还提供这样的驱动器模型,该驱动器模型使得能够连接不适合标准驱动器模型的订制硬件(bespoke hardware)。在当前的微软Windows实现中,网络模型被称为NDIS,而通用驱动器模型被称为WDM。实现规则声明NDIS装置驱动器不应该与WDM驱动器直接交互。这也是好的工程实践。通常的网络接口装置不支持将NDIS作为到WDM的纵向(对等)接口。因此,例如IETF RDMA协会和Infiniband架构不是用垂直分离的结构定义的。图1示出了这种架构的示例。该架构难以支持将两种基于标准内核的网络服务同时作为应用级的网络服务,并且引起了功能的分层例如,将NDIS驱动器功能建立在内核代理之上或者建立为内核代理的一部分。已经建议提供一种网络接口,该网络接口表现出具有这样的驱动器架构的用户级网络接口,该驱动器架构支持(a)受保护的控制接口,其可以从用户级传输库(transport library)访问;和(b)标准网络驱动器接口。过去,通过将这样的接口(b)层叠在这样的接口(a)的顶部来实现这种架构。该方法的优点是在驱动器之间传递消息相对容易。然而,该方法效率低,在Windows架构下尤其如此,并且该方法的缺点是为了操作接口(b)必须装载两个驱动器,并且接口(a)必须向(b)暴露上层API以及向用户级传输库暴露控制API。
技术实现思路
根据本专利技术,提供了如所附权利要求所述的装置和方法。附图说明现在将参照附图通过示例描述本专利技术,在附图中图1示出了用于用户可访问网络的现有驱动器结构的示例;图2是使用中的网络接口装置的示意图;图3示出了根据本专利技术的驱动器结构的示例;图4示出了通过共享中断线的信息传送;以及图5示出了驱动器之间的事件传送。具体实施例方式图2是示出了网络接口装置以及其中可使用该装置的系统的一般架构的示意图。网络接口装置10经由数据链路5连接到诸如计算机1的处理装置,并且经由数据链路14连接到数据网络20。诸如处理装置30的其他网络接口装置也连接到网络,以在网络与诸如处理装置40的其他处理装置之间提供接口。计算机1例如可以是个人计算机、服务器或专用处理装置(诸如数据记录器或控制器)。在该示例中,计算机1包括处理器2、程序存储器4和存储器3。程序存储器存储定义操作系统的指令以及可以在该操作系统上运行的应用。操作系统提供了诸如驱动器和接口库的手段,通过这些手段,应用可以访问与该计算机相连接的外围硬件装置。如通常的操作系统中的一样,驱动器可以有两种类型通用型和专用型。通用型驱动器为特定类型的外围装置(例如网络接口装置)提供到OS的标准接口。其优点在于,OS可以向该通用型的所有装置提供支持功能,例如以太网ARP支持。通用型驱动器的具体示例是插入到Windows NDIS驱动器架构中的NDIS小端口(miniport)驱动器。专用型驱动器提供到特定装置的接口。通常将专用型驱动器提供为可由操作系统使用以支持专用驱动器接口的驱动器软件。其示例是Windows WDM驱动器。这种驱动器可以提供用户级应用或传输库所需的任何API。链路5可以是串行链路或并行链路。在一典型示例中,链路5可以是PCI总线。网络接口装置10可以是独立装置或诸如网络接口卡(NIC)的内部装置。装置10包括处理器(或硬件逻辑)12、存储有由处理器执行(或者配置硬件逻辑)以实现网络接口功能(包括建立和支持与计算机1进行的通信的协议栈)的指令的非易失性存储器13、以及用作临时数据存储器和缓冲器的存储器11。该网络接口装置具有硬件接口15、16,通过它们连接到链路5、14。它们处理物理层问题,诸如链路的电压规则等。可以用固件或硬件来处理该网络接口装置的某些或全部功能。通常,网络接口装置会在网络链路14上实现分组交换通信。因此,它将通过该链路发送和接收作为分组的业务数据(traffic data)。这些分组例如可以是IP(互联网协议)分组,但也可以是其他形式的分组。图3示出了在本专利技术的示例中可以建立的驱动器结构的示例。它包括将数据处理装置(诸如计算机1)与网络装置硬件(诸如网络接口装置10)相连的两个并行的驱动器栈50、51。在该示例中,计算机1实现Windows操作系统,但是本专利技术不限于这种实现。栈51表示WDM型栈,其实现硬件控制面(hardware control plane)。栈50表示NDIS型栈,其实现标准驱动器接口。一旦通过该WDM接口分配了硬件资源,传输库就可以直接访问网络装置硬件。最优选地,将图3的栈50和51完全分开(纵向分开)。优选地,它们彼此独立,从而通过一个栈的单独通信独立于通过另一个栈的通信。这些驱动器可单独地从而可独立地寻址。网络接口装置可以独立于其他装置地将数据提供给各个装置。如下所述,这可以由支持各自的输入队列的各个驱动器方便地实现。当建立各驱动器时,可以向它分配用作该队列的存储区。当建立队列时可以将队列的地址发送到接口装置并由其存储。为了实现此点,可以在每个驱动器启动时向其分配可由该驱动器和网络接口装置两者访问的存储器区域。提供该区域的位置,然后传递给网络接口装置以进行使用,网络接口装置可以存储该位置,以寻址导向各个驱动器的区域数据(业务数据或控制数据)。按该方式,可以独立于其他驱动器地寻址各驱动器。为了以此方式支持两个独立的纵向驱动器结构,网络装置硬件可以向操作系统呈现为多功能装置。在一体化的外设包含多于一种类型的装置,例如提供组合的网络接口和调制解调器的PC卡的情况下,通常使用该技术。然而,在本实例中,两个装置具有相同的类型即网络接口。即使硬件控制面和标准驱动器接口驱动器(在Windows的情况下为WDM和NDIS驱动器)对应于同一物理装置功能,通过给出两个接口,操作系统驱动器管理软件(例如Windows硬件即插即用子系统)也可以容易地、分立且独立地对它们进行装载或卸载以及配置。应该考虑无论驱动器的状态如何都能使硬件一直被正确管理。具体地,在驱动器之一活动或两者都活动的情况下,应该可以管理硬件或者使其处于可管理的状态。在要向驱动器传送中断和事件以及驱动器在没有可用的直接软件机制的情况下必须向对等驱动器通告状态时,能够进行正确操作。根据本专利技术的示例的网络接口装置可以使用事件作为将错误和控制信息传递到操作系统和传输库的基本手段。为了实现此点,网络接口可以将时间数据块形式的信息通过所述栈中的一个提供给数据处理装置1。可以将按此方式传递的事件排进事件队列,通常通过使用读写指针以先入先出形式实现所述事件队列,在从保存该队列的缓冲器中读取事件或将事件写入该缓冲器时,所述读写指针在整个缓冲器上移动(incremented)。通过由事件源施加给数据处理装置的中断,可以触发在该数据处理装置上运行的驱动器来读取队列。可以使用这种事件向数据处理装置传递控制数据以及由网络接口装置通过链路14接收到的业务数据。因此,中断提供了一种硬件机制,通过这种硬件机制,网络接口装置可以请求执行装置驱动器中的一个或另一个;并且本文档来自技高网...

【技术保护点】
一种网络接口装置,该网络接口装置能够与支持操作系统和至少一个应用的数据处理系统进行通信,该网络接口装置通过以下信道与所述操作系统进行通信:两个或更多个数据信道,每个数据信道都可由所述网络接口装置单独寻址,并且都能够在所述网络接口装置 和所述数据处理装置之间运送应用级数据;以及控制信道,其可由所述网络接口装置单独寻址,并且能够在所述数据处理系统和所述网络接口装置之间运送控制数据,所述控制数据定义命令,所述网络接口响应于通过所述控制信道发送的至少一个命令来建立至少一 个附加的这种数据信道。

【技术特征摘要】
【国外来华专利技术】GB 2004-3-2 0404696.71.一种网络接口装置,该网络接口装置能够与支持操作系统和至少一个应用的数据处理系统进行通信,该网络接口装置通过以下信道与所述操作系统进行通信两个或更多个数据信道,每个数据信道都可由所述网络接口装置单独寻址,并且都能够在所述网络接口装置和所述数据处理装置之间运送应用级数据;以及控制信道,其可由所述网络接口装置单独寻址,并且能够在所述数据处理系统和所述网络接口装置之间运送控制数据,所述控制数据定义命令,所述网络接口响应于通过所述控制信道发送的至少一个命令来建立至少一个附加的这种数据信道。2.根据权利要求1所述的网络接口装置,其中,所述网络接口装置能够向所述数据处理系统发送用于所述控制信道和至少一个所述数据信道的独立中断消息。3.根据权利要求1或2所述的网络接口装置,其中,所述网络接口装置具有可分配给要由所述网络接口装置执行的任务的一组资源,并且响应于通过所述控制信道发送的至少一个命令来改变对要由所述网络接口装置执行的任务的资源分配。4.根据权利要求3所述的网络接口装置,其中,所述资源包括硬件资源。5.根据权利要求3或4所述的网络接口装置,其中,所述网络接口装置能够支持与另一网络装置的通信链路,并且所述资源包括该链路的状态。6.根据权利要求3至5中任一项所述的网络接口装置,其中,所述网络接口装置能够根据预定义的过滤条件,对通过一个或更多个所述数据信道进行传送的数据进行过滤,并且所述资源包括所述过滤条件。7.根据前述权利要求任一项所述的网络接口装置,其中,所述数据信道中的至少一个能够运送定义命令的控制数据,并且所述网络接口响应于这些命令来配置所述网络接口装置的状态。8.根据权利要求7所述的网络接口装置,其中,所述网络接口装置能够在不建立控制信道的情况下支持与另一网络接口装置的通信链路。9.根据前述权利要求任一项所述的网络接口装置,其中,所述数据信道中的至少一个可根据网络装置标识规范(NDIS)接口进行操作。10.根据前述权利要求任一项所述的网络接口装置,其中,所述控制信道可根据视窗装置模型(WDM)进行操作。11.根据前述权利要求任一项所述的网络接口装置,其中,所述网络接口装置能够支持与另一网络接口装置的通信链路,并且能够将通过所述数据信道之一接收到的应用级数据通过所述链路进行发送。12.根据前述权利要求任一项所述的网络接口装置,其中,所述网络接口装置能够支持与另一网络接口装置的通信链路,并且能够将通过所述链路接收到的数据通过数据信道进行发送。13.根据权利要求12所述的网络接口装置,其中,所述网络接口卡能够以数据分组的形式通过所述数据信道发送和/或接收数据。14.根据权利要求13所述的网络接口装置,其中,所述网络接口卡能够以互联网协议分组的形式通过所述数据信道发送和/或接收数据。15.根据前述权利要求任一项所述的网络接口装置,其中,所述装置能够产生多种类型的状态报告消息,并且能够从各个信道接收要将哪个状态报告消息发送到该信道的指示,并且所述装置被配置为仅向各个信道发送与从该信道接收到的所述指示所指出的类型相匹配的那些状态报告消息。16.根据权利要求15所述的网络接口装置,其中,所述指示是掩码,在该掩码中,一位对应于状态报告消息的一种类型,并且位的第一值指示应该将对应类型的状态报告消息发送到相应信道,而位的第二值指示不应该将对应类型的状态报告消息发送到相应信道。17.根据前述权利要求任一项所述的网络接口装置,其中,每个数据信道支持一事件队列,并且将所述网络接口配置为将事件消息施加到信道的事件队列,以将数据传送到所述信道。18...

【专利技术属性】
技术研发人员:史蒂夫莱斯利波普大卫詹姆士里多克
申请(专利权)人:索乐弗莱尔通讯公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1