CN101490637A - 动态基于总线的虚拟信道多路复用装置驱动器架构 - Google Patents
动态基于总线的虚拟信道多路复用装置驱动器架构 Download PDFInfo
- Publication number
- CN101490637A CN101490637A CNA200680041579XA CN200680041579A CN101490637A CN 101490637 A CN101490637 A CN 101490637A CN A200680041579X A CNA200680041579X A CN A200680041579XA CN 200680041579 A CN200680041579 A CN 200680041579A CN 101490637 A CN101490637 A CN 101490637A
- Authority
- CN
- China
- Prior art keywords
- function
- bus
- driver
- actuator
- multiplex
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/545—Interprogram communication where tasks reside in different layers, e.g. user- and kernel-space
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Systems (AREA)
- Small-Scale Networks (AREA)
Abstract
可以通过以下步骤来实现动态基于总线的虚拟信道多路复用:与多路复用装置功能驱动器(312)和连接到总线(314)的多功能装置(322)建立一条或多条虚拟信道(300,3021,304),确定要在装置上触发的一个或多个功能,以及针对所触发的每个功能运行第二层功能驱动器来处理所触发的功能的操作。第二层功能驱动器具有功能驱动器类型。建立与多功能装置(322)的一条或多条虚拟信道是通过利用多路复用协议来实现的,多路复用装置功能驱动器(312)经由总线驱动器连接到总线。
Description
相关申请的声明
本申请要求2005年10月6日提交的名为“动态基于总线的虚拟信道多路复用装置驱动器架构”的第60/724,837号临时专利申请的优先权。
技术领域
本公开文件大体涉及虚拟信道多路复用。
背景技术
所有的计算机系统都包括多个装置协同操作的汇集(collection)。中央处理器(CPU)负责大多数的计算功能。然而,为了使计算机系统对用户有用,必须将数据传到CPU以及将数据传出CPU。键盘、显示器、鼠标等是计算机用户与该系统进行交互所必需的所有外围设备。最初,所有这些外围设备通过专用接口附加至该计算机。例如,键盘通过键盘端口进行连接,鼠标通过鼠标端口进行连接,以及显示装置又通过另外的专用端口进行连接。随着计算机系统已经发展为提供更多的功能性,而引入了更多的外围设备。添加了网络连接以增强与其他计算机系统的互联性(interconnectivity)。添加了扫描接口以允许直接输入图像数据。打印机接口增加了制作所处理的数据的硬拷贝的能力。摄影机、图形输入板、外部存储装置等的所有装置都造成了计算机系统中的复杂布线配置。
为了解决这个问题,已经开发了接口总线系统。小型计算机系统接口(SCSI)就是一种这样的并行总线。该总线系统允许多个装置高速连接至该计算机系统上的单个接口。然而,该标准不允许“热插拔”,因此每次改变外围装置附加配置时均需要该计算机系统断电。在近几年,引入了更加普遍的通用串行总线(USB)架构。在添加外围装置时,该总线允许“热插拔”以及自动配置外围装置。通过USB架构还解决了该系统的“即插即用”,使得在检测到新的外围装置添加到该总线上时能够运行适当的装置驱动器。
图1示出了示例性的总线驱动器架构。计算机操作系统上的总线驱动器软件和USB架构一起服务于总线114上的装置(116、118、120)。总线驱动器112最主要的任务是对其总线114上的装置(116、118、120)进行列举,对即插即用(PnP)请求作出响应,对功率管理请求作出响应,对总线114进行多路复用访问,以及管理总线114上的装置(116、118、120)。然后,建立功能驱动器(106、108、110)作为用于装置(116、118、120)的主驱动器。通常由该装置的厂商写入功能驱动器(106、108、110),功能驱动器是必不可少的。PnP管理器至多载入一个用于装置(116、118、120)的功能驱动器(106、108、110)。同一功能驱动器(106、108、110)可以服务于一个或多个装置(116、118、120)。功能驱动器(106、108、110)为其装置(116、118、120)提供操作接口。典型地,功能驱动器(106、108、110)处理对装置(116、118、120)进行的读取和写入并管理装置电源政策(power policy)。
图2示出了示例性的用于多功能装置的总线驱动器架构。在Windows操作系统上,通过将多功能装置222定义为占用其总线214上的一个装置位置来支持该多功能装置,但是该多功能装置包含不只一个功能单元(216、218)。每个功能单元(216、218)各自对应于一个驱动器(206、208、210)。多功能装置的实例包括调制解调器适配器/网络适配器的组合、音频端口/游戏端口的组合等。对于操作系统,这些装置表现为多个单独的装置。例如,实现音频能力和游戏端口能力的附加声卡表现为两个独立的装置,一个装置由音频驱动器所服务而另一装置由游戏端口驱动器所服务。
操作系统在这些功能单元(216、218、220)上施加了限制。即使每个功能单元(216、218、220)偶尔被服务于装置(222、220)上的其他功能单元的同一驱动器(组)的实例所服务,每个功能单元也必须能够作为单独的装置来运行。特别地,多功能装置222上的功能单元一定不能有启动顺序依赖性,一定不能用一个功能单元来表示另一个功能单元的资源要求,一个功能单元的运行一定不能影响或干扰多功能装置222或作为整体的系统上的另一功能单元的运行,必须列举每个功能单元并将其资源要求传达给操作系统,从而该系统可以载入必要的驱动器并按照任意顺序将资源分配给不同单元。
在基于Windows的系统上的USB总线上附加装置的上述能力和限制在服务于大量的外围装置的过程中取得了成功。然而,随着计算系统发展得复杂化,外围装置在复杂性和功能性上也有所增加。这些外围装置正变为自主式计算系统,其需要多条信道来与操作系统进行交互。可以使用这些信道中的每条信道来实现不同的功能。例如,无线广域网装置需要与操作系统进行交互以传送多个流,或者同时与用于流的多个信道(例如,但不限于,主要的接收数据路径和发送数据路径、用于利用多个上下文或同一上下文上的多个单独的服务质量数据信道来进行无线网络访问的附加数据信道、控制和状态信道、诊断和维护信道、以及运行诸如国家海洋电子协会(NMEA)协议的位置协议的位置服务(LBS)信道)进行交互。这些信道中的每一条都需要独立的数据传送信道和独立的驱动器处理。然而,由于这些信道可能具有启动顺序依赖性,因此不能认为它们在总线上是独立的装置。例如,可能需要在启动任何其他信道路径之前启动控制和状态数据路径信道,以在打开依赖于接下来所确定的那些服务中的一个或多个服务的其他信道中的一条信道之前,询问正在与其进行通信的装置和网络来确定该网络和装置能够进行什么服务。
Windows驱动器设计者借助于用于多功能装置的多功能驱动器解决了像之前几段中所描述的那些装置的更加复杂装置。多功能驱动器是总线驱动器并因此具有多个优点。多功能驱动器可以从单个物理装置在系统中为每个流或每条信道列举虚拟装置。因此,如果多功能装置支持多于一条的信道(例如,数据信道、控制和状态信道、诊断信道、以及用于复杂的调制解调器的位置服务信道(LBS)),则该多功能驱动器能够在系统中为多功能装置的每条信道创建一个虚拟装置。除此之外,在系统中创建的用于该装置的虚拟装置组可以由不同的装置类型组(例如,调制解调器端口、COM端口、网络适配器等)组成。
多功能驱动器的另一个优点是只要载入了该驱动器则其还允许在任意时刻在系统中动态载入和卸载虚拟装置。然而,当前的多功能装置驱动器包含静态配置,其不允许这些驱动器利用这一特征,这是由于用于指定要在该系统中呈现的虚拟装置的硬件装置所呈现的配置在本质上是静态的。因此,只能在该系统中载入用于该装置的多功能驱动器的时候载入和卸载要在该系统中呈现的虚拟装置组。为了改变该虚拟装置组,必须通过将该多功能装置从主机系统中移走或对其进行重新启动或复位操作,利用新的或可替换的装置接口配置参数组,来对该多功能装置进行重新列举。这是多功能驱动器架构方法的一个缺点。
这种由多功能装置322所呈现的装置配置的静态本性在多功能驱动器312的使用上产生了其他限制。不能基于运行时间的决定或主机平台或装置中的非易失性存储器的设置来动态添加或移走信道。必须在主机系统中列举装置322时建立虚拟信道。为了改变虚拟信道/装置的配置,必须通过将该装置从主机系统中移走或对其进行重新启动或复位操作,利用新的或可替换的装置接口配置参数组来对该装置进行重新列举。另一个缺点是,新的虚拟信道和/或装置的定义要求新的装置配置而不是固件、软件、或非易失性存储器的升级。
由于通过装置配置来驱动用于指定所要建立的信道和虚拟装置的方法,因此除了在装置配置中所呈现给主机的信道组和虚拟装置组之外,主机系统没有机会对所要支持的虚拟信道组/装置组产生影响。这可以被看作一种主-从关系并因此这成了另一个缺点,因为倘若除了在装置配置中所呈现给主机的信道组和虚拟装置组之外还允许主机系统影响或控制所要建立的信道组和虚拟装置组将是有利的。
多功能驱动器架构的又一个缺点是所列出的虚拟装置数目要服从于与装置类型相关联的特定总线规格(即,USB或PCI-Express装置总线规格)所强加的配置限制。这些配置可能具有大小或入口限制,其间接限制了装置配置能够指定给主机系统的信道数目或虚拟装置数目。
通过实施虚拟信道多路复用驱动器架构来弥补之前几段中所描述的多功能驱动器架构的多个缺点。图3示出了示例性的基于非总线的虚拟信道多路复用驱动器架构。信道多路复用协议允许单个异步接口上的多个同时的会话或信道。每个会话/信道均由传送多种数据的字节流组成。
虚拟信道多路复用协议驱动器312可以允许对要建立在主机和装置322之间的虚拟会话组或信道组进行协商。由于主机和装置322都可以对所要建立的虚拟信道产生影响,因此信道的建立是对等关系而非主从关系。虚拟信道多路复用协议驱动器312在本质上还可以是动态的,这是由于其可以允许在任意时刻建立和终止虚拟信道。此外,只要装置配置覆盖了用于在其上进行多路复用的全部虚拟信道的单个信道的定义,则由于虚拟信道的定义在装置配置的范围之外,添加新的虚拟信道不需要新的装置配置。
尽管当前的虚拟信道多路复用协议驱动器架构为该多功能驱动器架构的特定限制和缺点提供了解决方案,但由于当前的虚拟信道多路复用驱动器架构没有采用总线架构,因此它们也有其自身的限制。由于这些多路复用驱动器架构未基于总线,因此其不允许由不同的虚拟装置组来代表虚拟信道(例如,所有的虚拟信道必须是具有COM端口、调制解调器端口、以及网络适配器等的组合的COM端口)。此外,这些虚拟信道多路复用驱动器架构不允许在系统中动态载入或卸载虚拟装置。例如,当需要时,可以由支持多功能装置322的总线驱动器在运行时间中载入网络适配器。然而,由于基于非总线的虚拟信道多路复用解决方案只支持一种装置类型并且将其自身仅作为一个装置呈现给该系统,因此其不允许载入或卸载装置322。
总之,到此存在着两种不同的驱动器架构来解决这些较复杂的多功能装置的需要。尽管这两种驱动器架构解决方案都提供了解决这些复杂的多功能装置的需要的明显优点,但它们还都有限制了利用这些更复杂的装置的灵活性和动态能力的显著的缺点。
发明内容
动态基于总线的虚拟信道多路复用可以通过以下步骤来实现:与多路复用装置功能驱动器和连接到总线的多功能装置建立一条或多条虚拟信道,确定要在该装置上触发的一个或多个功能,以及针对所触发的每个功能运行第二层功能驱动器来处理所触发的功能的操作。该第二层功能驱动器具有功能驱动器类型。建立与多功能装置的一条或多条虚拟信道是利用多路复用协议来实现的,多路复用装置功能驱动器经由总线驱动器连接到总线。
附图说明
附图结合于此并作为说明书的一部分,示出了实施例的一个或多个实例,附图与示例性实施例的描述结合在一起用于解释实施例的原理和实施方式。
附图中:
图1示出了示例性的总线驱动器架构。
图2示出了示例性的用于多功能装置的总线驱动器架构。
图3示出了示例性的基于非总线的虚拟信道多路复用驱动器架构。
图4示出了示例性的采用了多功能的基于总线的驱动器的虚拟信道多路复用装置功能驱动器。
图5示出了示例性的具有停用(deactived)功能的图4的虚拟信道多路复用装置功能驱动器。
图6示出了示例性的用于动态基于总线的虚拟信道多路复用的方法实例。
具体实施方式
在本文中在计算机、服务器、以及软件的系统的上下文中描述了示例性实施例。本领域的技术人员将认识到下面的描述仅是说明性的,并不用于以任何方式进行限制。对于受益于本公开文件的那些普通技术人来说,其他实施例将是显而易见的。以下将详细参考附图中所示的示例性实施例的实施方式。在所有的附图和下面的描述中,将使用同一参考标号来指代同一项目或类似的项目。
为了简明起见,并没有示出和描述本文中所描述的实施方式的所有常规特征。当然,应当意识到,在开发任何这种实际的实施方式的过程中,必须做出许多针对实施方式的决定以实现开发者的特定目的,例如,遵照与应用相关的限制和与商业相关的限制,并且应当意识到,从一个实施方式到另一个实施方式以及从一个开发者到另一个开发者这些特定目的将有所不同。此外,应当意识到,这种开发的努力可能是复杂且费时的,但对受益于本公开文件的本领域的那些普通技术人员来说,仍将是工程的例行程序。
根据本公开文件,在本文中所描述的组件、处理步骤、和/或数据结构可以利用多种类型的操作系统、计算平台、计算机程序、和/或通用机器来实现。此外,本领域的那些普通技术人员将认识到,在不背离在本文中所公开的发明思想的范围和精神的情况下,还可以使用诸如硬连线装置、现场可编程门阵列(FPGA)、特定用途集成电路(ASIC)等通用特性较少的装置。其中,在通过计算机或机器来实现包含一系列处理步骤的方法并且可以将那些处理步骤作为一系列机器可读的指令来存储的情况下,可以将它们存储在诸如计算机存储装置(例如,ROM(只读存储器)、PROM(可编程只读存储器)、EEPROM(电可擦写可编程只读存储器)、闪存、闪存驱动器(Jump drive)等)、磁存储介质(例如,磁带、磁盘驱动器等)、光存储介质(例如,CD-ROM、DVD-ROM、纸卡、纸带等))、以及其他类型的程序存储器的实体介质上。
由本发明的示例性实施例所达到的一个目的是提供一种动态的、灵活的驱动器架构,其支持具有不同功能性的多条虚拟信道,这些虚拟信道能够作为代表不同虚拟信道的不同装置类型组而呈现在主机系统中;其支持通过主机和装置二者之一或者通过主机和装置一起来确定所要建立的虚拟信道组;其能够支持在任意时刻在主机系统中动态连接或移走与一条或多条虚拟信道相关联的虚拟装置;以及能够支持在该装置保持连接状态并且被主机系统使用期间当需要或不需要所支持的虚拟信道时,动态建立和终止所支持的任一虚拟信道。
尽管由本发明所达到的上述目标和目的是描述多个方面和实施例的,但这些目标和目的并不是用于限制在下面的发明描述中所阐述的本发明的范围。
根据本发明的一个实施例,装置驱动器架构利用虚拟信道多路复用协议驱动器架构同时还采用基于总线的多功能驱动器架构来与多功能装置进行通信。通过将这两种不同的方法结合到一个新的单独的驱动器架构中,可以在一个单独的组合驱动器架构中实现用于支持这些新的即将到来的复杂多功能装置的两种架构的优点。除了由上述的多功能装置和虚拟信道多路复用架构所提供的优点之外,本发明的动态基于总线的虚拟信道多路复用装置驱动器架构由于其不受到硬件装置配置的静态本质的限制,因此只要载入了该驱动器,就允许在任意时刻在系统中动态载入和卸载虚拟装置(优于利用具有静态配置的多功能装置的多功能驱动器的限制)。再者,由于上面所讨论的之前的两种驱动器架构的许多缺点基本上彼此不相关(一种驱动器架构为另一种驱动器架构的一个缺点(多个缺点)提供解决方案),因此将这两种驱动器架构结合到一个组合驱动器架构中提供了不具有之前所提到的这两种单独的驱动器架构的任何缺点的组合解决方案。此外,组合驱动器架构具有上述优点和超出两种单独的驱动器架构中任一种的任意优点的优点。
在组合驱动器架构中,仍然使用虚拟信道多路复用协议来封装以及拆封不同的通信协议包,每种协议类型都与装置的多个功能单元之一相关联。然而,当将此装置附加到总线(诸如,Windows系统上的USB)时,如图4的参考标号440所示的多路复用装置功能驱动器(MDFD)作为用于多功能装置434的功能驱动器而被关联。然后,此驱动器440与装置434进行通信和协商(对等而非主-从)以建立在装置434上所要触发的功能和虚拟信道。
在一个示例性实施例中,MDFD 440和多功能装置434之间的多路复用协议可以基于基于非总线的多路复用协议。作为实例,MDFD 440和多功能装置434之间的多路复用协议可以基于3GPP27.010终端设备到用户设备(TE-UE)多路复用器协议。
在另一示例性实施例中,在MDFD 440和多功能装置434之间的多路复用协议可以基于针对总线定义的接口组件(bus specificdefined interface component)。作为实例,可以采用单独的通用串行总线(USB)端点用于各条虚拟信道。对于所触发的每个功能(与所建立的一条或多条虚拟信道相关联),MDFD 440运行第二层驱动器(406、408、410)来处理该功能的操作。当前由MDFD 440所建立的第二层(second-tier)驱动器(406、408、410)可以由不同的驱动器类型(即,COM端口、调制解调器端口、网络适配器等)组成,并且可以基于装置434和MDFD 440之间的协商来确定。在一个示例性实施例中,MDFD 440可使用固定表格查找使多功能装置和MDFD之间的各条信道(在该特定实施例中称作数据链路连接(DLC))与合适的第二层功能驱动器(406、408、410)相关联。例如,DLC=0可以与控制信道功能相关联;DLC=1可以与AT/PPP数据通信功能相关联;DLC=2可以与诊断模式功能相关联;DLC=3可以与控制和状态功能相关联;DLC=4可以与地理位置功能相关联。根据另一示例性实施例,MDFD 440可利用初始配置查询机制来确定DLC到功能单元的映射。然后,可以使用该信息来确保在检测到功能单元(416、418、422)时运行或挂起正确的第二层功能驱动器(406、408、410)。
多路复用协议使用多个唯一功能标识符来区分用于装置434的各个功能单元(416、418、422)的协议单元。根据一个示例性实施例,唯一功能标识符包括3GPP27.010协议中的DLC标识符。可以使用控制信息或新的协议识别检测机制来使MDFD 440在任意时刻运行相关联的第二层驱动器(406、408、410)。
如果在装置434上禁止了相关联的功能,则用于多功能装置434的MDFD 440还可以在任意时刻终止或挂起特定的第二层驱动器(406、408、410)。对于要改变的所建立的虚拟信道组、功能、以及相关联的第二层驱动器(406、408、410),不一定要对装置434进行重新列举。
因此,该驱动器系统可以处理多功能装置434的变化的配置。可以使用用于多功能装置434的单个MDFD 440来解决多功能装置434的多个修订和配置。再者,也可以利用同一MDFD 440来解决为满足不同用户要求所必需的多功能装置434的用户化。这样减小了通过维护多个独特用户化装置驱动器所引入的错误的可能性。利用单个MDFD 440来解决相似的多功能装置434的不同版本的能力也降低了开发成本。
图5示出了同一MDFD 540可以服务于多功能装置534的情况,其中,已经停用或挂起功能2(518)。在这种情况中,MDFD 540能够挂起相关联的第二层装置功能驱动器508和(如果希望的话)相关联的虚拟信道。如果装置534的用户化版本未包括全部功能单元,则也可以获得这种灵活性。在这种情况中,MDFD 540将调整至用户化的配置并且仅运行所需要的虚拟信道和第二层功能驱动器(506、508、510)。因此,应用程序可以基于相关联的API功能呼叫是否存在来确定功能单元(516、518、522)存在或不存在。
图6示出了示例性的用于动态基于总线的虚拟信道多路复用的方法实例。可以在硬件、软件、固件、或其组合中实现图6所示的处理。图6示出了图4的多路复用装置功能驱动器440和图5的多路复用装置功能驱动器550的操作。在600处,建立多路复用装置功能驱动器和连接到总线的多功能装置之间的一条或多条虚拟信道。使用多路复用协议建立多功能装置和多路复用装置功能驱动器的连接。在602处,做出关于要在装置上触发的一个或多个功能的决定。在604处,针对参考编号602处所触发的每个功能,运行第二层功能驱动器来处理所触发的功能的操作。每个第二层功能驱动器都具有与其相关联的功能驱动器类型。
尽管出于说明的目的前面的描述提到了USB架构,但本领域的那些普通技术人员将容易地意识到本文中所公开的发明并不必局限于该USB架构。例如,还可以使用PCI-Express(PCIe)总线以及电气和电子工程师协会1394(IEEE 1394)总线。
尽管已经示出并描述了实施例和应用,但对于受益于本公开文件的那些本领域技术人员来说显而易见的是,在不背离本文所公开的发明思想的情况下,除了上面所提到的实施方案之外还可能有多种修改。因此,除了所附权利要求的精神之外,本发明不应该被限制。
Claims (33)
1.一种用于动态基于总线的虚拟信道多路复用的设备,包括:
总线;
总线驱动器,连接到所述总线;
多功能装置,连接到所述总线;以及
多路复用装置功能驱动器MDFD,连接到所述总线驱动器,用于经由所述总线驱动器利用多路复用协议在所述MDFD和所述装置之间与所述装置建立一条或多条虚拟信道;
确定要在所述装置上触发的一个或多个功能;以及
针对每个所触发的功能,运行第二层功能驱动器来处理所述所触发的功能的操作,所述第二层功能驱动器具有功能驱动器类型。
2.根据权利要求1所述的设备,其中,所述MDFD被配置为利用固定表格查找来使所述装置和所述MDFD之间的所述一条或多条虚拟信道中的每一条虚拟信道与多个所述第二层功能驱动器之一相关联。
3.根据权利要求1所述的设备,其中,所述MDFD被配置为利用固定表格查找来使数据链路连接(DLC)与多个所述第二层功能驱动器之一相关联。
4.根据权利要求1所述的设备,其中,所述功能驱动器类型包括控制信道功能、AT/PPP数据通信功能、诊断模式功能、控制和状态功能、以及地理位置功能中的一种或多种功能。
5.根据权利要求1所述的设备,其中,所述MDFD被配置为利用固定表格查找来使所述装置和所述MDFD之间的所述一条或多条虚拟信道中的每一条虚拟信道与多个所述第二层功能驱动器之一相关联。
6.根据权利要求1所述的设备,其中,所述MDFD被配置为利用一种或多种初始配置查询机制来使数据链路连接(DLC)与多个所述第二层功能驱动器之一相关联。
7.根据权利要求1所述的设备,其中,所述装置被配置为利用一个或多个唯一功能标识符来对用于所述装置的每个功能单元的协议单元进行区分。
8.根据权利要求1所述的设备,其中,所述一个或多个唯一功能标识符包括3GPP 27.010协议中的数据链路连接(DLC)标识符。
9.根据权利要求1所述的设备,其中,所述总线包括通用串行总线(USB)。
10.根据权利要求1所述的设备,其中,所述总线包括电气和电子工程师协会1394(IEEE 1394)总线。
11.根据权利要求1所述的设备,其中,所述总线包括PCI-Express(PCIe)总线。
12.根据权利要求1所述的设备,其中,所述多路复用协议包括基于非总线的多路复用器协议。
13.根据权利要求12所述的设备,其中,所述多路复用协议包括3GPP 27.010终端设备到用户设备(TE-UE)多路复用器协议。
14.根据权利要求1所述的设备,其中,所述多路复用协议基于一个或多个针对总线定义的接口组件。
15.根据权利要求14所述的设备,其中,所述一个或多个针对总线定义的接口组件包括用于每条虚拟信道的一个或多个单独的通用串行总线(USB)端点。
16.一种用于动态基于总线的虚拟信道多路复用的方法,包括:
建立多路复用装置功能驱动器和连接到总线的多功能装置之间的一条或多条虚拟信道,与所述装置的所述建立利用多路复用协议,以及所述多路复用装置功能驱动器通过总线驱动器连接到所述总线;
确定要在所述装置上触发的一个或多个功能;以及
针对每个所触发的功能,运行第二层功能驱动器来处理所述所触发的功能的操作,所述第二层功能驱动器具有功能驱动器类型。
17.根据权利要求16所述的方法,进一步包括:利用固定表格查找来使所述装置和所述MDFD之间的所述一条或多条虚拟信道中的每一条虚拟信道与多个所述第二层功能驱动器之一相关联。
18.根据权利要求16所述的方法,进一步包括:利用固定表格查找来使数据链路连接(DLC)与多个所述第二层功能驱动器之一相关联。
19.根据权利要求16所述的方法,其中,所述功能驱动器类型包括控制信道功能、AT/PPP数据通信功能、诊断模式功能、控制和状态功能、以及地理位置功能中的一种或多种功能。
20.根据权利要求16所述的方法,进一步包括:利用固定表格查找来使所述装置和所述MDFD之间的所述一条或多条虚拟信道中的每一条虚拟信道与多个所述第二层功能驱动器之一相关联。
21.根据权利要求16所述的方法,进一步包括:利用一种或多种初始配置查询机制使数据链路连接(DLC)与多个所述第二层功能驱动器之一相关联。
22.根据权利要求16所述的方法,进一步包括:利用一个或多个唯一功能标识符来对用于所述装置的每个功能单元的协议单元进行区分。
23.根据权利要求16所述的方法,其中,所述一个或多个唯一功能标识符包括3GPP 27.010协议中的数据链路连接(DLC)标识符。
24.根据权利要求16所述的方法,其中,所述总线包括通用串行总线(USB)。
25.根据权利要求16所述的方法,其中,所述总线包括电气和电子工程师协会1394(IEEE 1394)总线。
26.根据权利要求16所述的方法,其中,所述总线包括PCI-Express(PCIe)总线。
27.根据权利要求16所述的方法,其中,所述多路复用协议包括基于非总线的多路复用器协议。
28.根据权利要求27所述的方法,其中,所述多路复用协议包括3GPP 27.010终端设备到用户设备(TE-UE)多路复用器协议。
29.根据权利要求16所述的方法,其中,所述多路复用协议基于一个或多个针对总线定义的接口组件。
30.根据权利要求29所述的方法,其中,所述一个或多个针对总线定义的接口组件包括用于每条虚拟信道的一个或多个单独的通用串行总线(USB)端点。
31.一种用于动态基于总线的虚拟信道多路复用的设备,包括:
总线;
总线驱动器,连接到所述总线;
多功能装置,连接到所述总线;以及
装置,用于:
建立多路复用装置功能驱动器和连接到总线的所述装置之间的一条或多条虚拟信道,与所述多功能装置的所述建立利用多路复用协议,以及所述多路复用装置功能驱动器通过总线驱动器连接到所述总线;
确定要在所述多功能装置上触发的一个或多个功能;以及
针对每个所触发的功能,运行第二层功能驱动器来处理所述所触发的功能的操作,所述第二层功能驱动器具有功能驱动器类型。
32.一种用于动态基于总线的虚拟信道多路复用的设备,包括:
用于建立多路复用装置功能驱动器和连接到总线的多功能装置之间的一条或多条虚拟信道的装置,与所述多功能装置的所述建立利用多路复用协议,以及所述多路复用装置功能驱动器通过所述总线驱动器连接到所述总线;
用于确定要在所述多功能装置上触发的一个或多个功能的装置;以及
用于针对每个所触发的功能运行第二层功能驱动器来处理所述所触发的功能的操作的装置,所述第二层功能驱动器具有功能驱动器类型。
33.一种机器可读的程序存储装置,包含可由所述机器执行的用于执行动态基于总线的虚拟信道多路复用的方法的指令的程序,所述方法包括:
建立多路复用装置功能驱动器和连接到总线的多功能装置之间的一条或多条虚拟信道,与所述多功能装置的所述建立利用多路复用协议,以及所述多路复用装置功能驱动器通过总线驱动器连接到所述总线;
确定要在所述多功能装置上触发的一个或多个功能;以及
针对每个所触发的功能,运行第二层功能驱动器来处理所述所触发的功能的操作,所述第二层功能驱动器具有功能驱动器类型。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US72483705P | 2005-10-06 | 2005-10-06 | |
US60/724,837 | 2005-10-06 | ||
US11/545,043 US8284768B2 (en) | 2005-10-06 | 2006-10-05 | Dynamic bus-based virtual channel multiplexing device driver architecture |
US11/545,043 | 2006-10-05 | ||
PCT/US2006/039264 WO2007044589A2 (en) | 2005-10-06 | 2006-10-06 | Dynamic bus-based virtual channel multiplexing device driver architecture |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101490637A true CN101490637A (zh) | 2009-07-22 |
CN101490637B CN101490637B (zh) | 2011-09-07 |
Family
ID=37944967
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200680041579XA Expired - Fee Related CN101490637B (zh) | 2005-10-06 | 2006-10-06 | 动态基于总线的虚拟信道多路复用装置驱动器架构 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8284768B2 (zh) |
EP (1) | EP1941364A4 (zh) |
CN (1) | CN101490637B (zh) |
CA (1) | CA2625297A1 (zh) |
WO (1) | WO2007044589A2 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102339265A (zh) * | 2011-10-17 | 2012-02-01 | 中兴通讯股份有限公司 | 一种无线通信终端及其驱动方法 |
CN106559255A (zh) * | 2015-09-30 | 2017-04-05 | 联发科技股份有限公司 | 电路模块及与另一装置通信的方法 |
CN114416630A (zh) * | 2021-12-24 | 2022-04-29 | 深圳市广和通无线通信软件有限公司 | 基于pcie的通信方法、装置、计算机设备和可读存储介质 |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070204278A1 (en) * | 2006-02-24 | 2007-08-30 | Radzykewycz Tim O | Driver services publication |
US7698440B2 (en) * | 2006-10-02 | 2010-04-13 | Phonak Ag | Method for controlling a transmission system as well as a transmission system |
KR101405920B1 (ko) | 2007-06-26 | 2014-07-17 | 삼성전자주식회사 | 잡 컨트롤 장치 및 복합장치 그리고 그들의 동작 방법 |
US8042122B2 (en) * | 2007-06-27 | 2011-10-18 | Microsoft Corporation | Hybrid resource manager |
US20100199290A1 (en) * | 2009-02-02 | 2010-08-05 | Richard Thomas Kavanaugh | System and method for multifunction device enumeration |
CN101630191B (zh) * | 2009-08-26 | 2011-08-24 | 中兴通讯股份有限公司 | 一种实现通用串行总线调制解调器设备节电的装置及方法 |
JP5473756B2 (ja) * | 2010-04-27 | 2014-04-16 | キヤノン株式会社 | 情報処理装置、その制御方法及びプログラム |
CN102368723B (zh) * | 2010-12-08 | 2013-11-20 | 深圳市亚特尔科技有限公司 | 一种在局部总线上实现多路通信的系统及方法 |
US9471522B2 (en) | 2013-12-04 | 2016-10-18 | International Business Machines Corporation | Resource allocation by virtual channel management and bus multiplexing |
CN103905453A (zh) * | 2014-04-04 | 2014-07-02 | 浪潮电子信息产业股份有限公司 | 一种基于地址映射多路复用的通信模型及方法 |
US9678892B2 (en) | 2015-09-01 | 2017-06-13 | International Business Machines Corporation | Flexible I/O DMA address allocation in virtualized systems |
CN114785631B (zh) * | 2022-04-07 | 2023-12-15 | 潍柴动力股份有限公司 | 通信协议栈复用方法、通信方法、计算机设备及介质 |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6751696B2 (en) | 1990-04-18 | 2004-06-15 | Rambus Inc. | Memory device having a programmable register |
KR0181471B1 (ko) * | 1990-07-27 | 1999-05-15 | 윌리암 피.브레이든 | 컴퓨터 데이타 경로배정 시스템 |
US6067576A (en) * | 1995-06-23 | 2000-05-23 | Hewlett-Packard Company | Streams server for multiplexer driver |
US6179489B1 (en) * | 1997-04-04 | 2001-01-30 | Texas Instruments Incorporated | Devices, methods, systems and software products for coordination of computer main microprocessor and second microprocessor coupled thereto |
US6298370B1 (en) * | 1997-04-04 | 2001-10-02 | Texas Instruments Incorporated | Computer operating process allocating tasks between first and second processors at run time based upon current processor load |
JPH11194993A (ja) | 1998-01-06 | 1999-07-21 | Alps Electric Co Ltd | Usbコントローラ |
US6058441A (en) | 1998-02-19 | 2000-05-02 | Shu; Han | USB multi-function connecting device |
US6260084B1 (en) | 1998-05-18 | 2001-07-10 | 3Com Corporation | Modem apparatus and method for serial command and data multiplexing |
US6895588B1 (en) * | 1999-04-09 | 2005-05-17 | Sun Microsystems, Inc. | Remote device access over a network |
US6754811B1 (en) | 2000-06-16 | 2004-06-22 | International Business Machines Corporation | Operating system device centric agent |
SE522704C2 (sv) * | 2000-10-09 | 2004-03-02 | Ericsson Telefon Ab L M | Överföring av ljuddata och icke ljuddata mellan en bärbar ch kommunikationsapparat och en extern terminal |
US6718412B2 (en) | 2000-12-14 | 2004-04-06 | Agilent Technologies, Inc. | Apparatus and method for universal serial bus communications |
US6832273B2 (en) | 2000-12-21 | 2004-12-14 | Microsoft Corporation | System and method to specify extended configuration descriptor information in USB devices |
TW518502B (en) | 2001-07-13 | 2003-01-21 | Prolific Technology Inc | USB compound device and the realization method thereof |
US6952830B2 (en) | 2001-08-16 | 2005-10-04 | Occam Networks, Inc. | System and method to uniformly access devices |
WO2004006105A2 (en) * | 2002-07-08 | 2004-01-15 | Globespanvirata Incorporated | Dma scheduling mechanism |
US20040019729A1 (en) * | 2002-07-29 | 2004-01-29 | Kelley Richard A. | Buffer management and transaction control for transition bridges |
US20040267969A1 (en) | 2003-05-01 | 2004-12-30 | Takayuki Uchida | IEEE 1394 function control apparatus and method of controlling multiple functions |
US7421710B2 (en) * | 2003-10-08 | 2008-09-02 | Lsi Corporation | System and method of creating virtual data paths using a multiple-path driver |
US7155546B2 (en) * | 2003-12-18 | 2006-12-26 | Intel Corporation | Multiple physical interfaces in a slot of a storage enclosure to support different storage interconnect architectures |
JP4634049B2 (ja) | 2004-02-04 | 2011-02-16 | 株式会社日立製作所 | ディスクアレイ装置における異常通知制御 |
US7213096B2 (en) * | 2004-03-31 | 2007-05-01 | Intel Corporation | Operating a remote USB host controller |
KR100640561B1 (ko) * | 2004-08-02 | 2006-10-31 | 삼성전자주식회사 | 근거리 무선 통신 시스템, 근거리 무선 통신 방법 및 이를수행하는 기록매체 |
US7712110B2 (en) * | 2004-09-28 | 2010-05-04 | Citrix Systems, Inc. | System and method for remoting twain function calls from a user session to a client system |
US7821974B2 (en) * | 2005-03-29 | 2010-10-26 | Microsoft Corporation | UMTS RIL extension |
US7424565B2 (en) * | 2005-11-16 | 2008-09-09 | Sun Microsystems, Inc. | Method and apparatus for providing efficient output buffering and bus speed matching |
US7634596B2 (en) | 2006-06-02 | 2009-12-15 | Microchip Technology Incorporated | Dynamic peripheral function remapping to external input-output connections of an integrated circuit device |
-
2006
- 2006-10-05 US US11/545,043 patent/US8284768B2/en not_active Expired - Fee Related
- 2006-10-06 WO PCT/US2006/039264 patent/WO2007044589A2/en active Application Filing
- 2006-10-06 EP EP06816478A patent/EP1941364A4/en not_active Withdrawn
- 2006-10-06 CA CA002625297A patent/CA2625297A1/en not_active Abandoned
- 2006-10-06 CN CN200680041579XA patent/CN101490637B/zh not_active Expired - Fee Related
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102339265A (zh) * | 2011-10-17 | 2012-02-01 | 中兴通讯股份有限公司 | 一种无线通信终端及其驱动方法 |
CN102339265B (zh) * | 2011-10-17 | 2017-08-11 | 中兴通讯股份有限公司 | 一种无线通信终端及其驱动方法 |
CN106559255A (zh) * | 2015-09-30 | 2017-04-05 | 联发科技股份有限公司 | 电路模块及与另一装置通信的方法 |
CN114416630A (zh) * | 2021-12-24 | 2022-04-29 | 深圳市广和通无线通信软件有限公司 | 基于pcie的通信方法、装置、计算机设备和可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
EP1941364A4 (en) | 2012-11-28 |
WO2007044589A3 (en) | 2008-12-11 |
WO2007044589A2 (en) | 2007-04-19 |
US20070083873A1 (en) | 2007-04-12 |
US8284768B2 (en) | 2012-10-09 |
EP1941364A2 (en) | 2008-07-09 |
CA2625297A1 (en) | 2007-04-19 |
CN101490637B (zh) | 2011-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101490637B (zh) | 动态基于总线的虚拟信道多路复用装置驱动器架构 | |
US10445258B1 (en) | Method for creation of device drivers and device objects for peripheral devices | |
KR100828736B1 (ko) | 주변 장치 및 무선 장치 사이에서 통신을 설정하기 위한시스템 및 방법 | |
US8596534B2 (en) | Interface system between a terminal and a smart card, method for same, and smart card applied to same | |
US20170163553A1 (en) | Methods and systems for providing software applications | |
JP2014501424A (ja) | ブレードの物理的な位置に基づく自動化されたプロビジョニングおよび設定を可能にする統合型ソフトウェアおよびハードウェアシステム | |
CN113806116A (zh) | 基于Linux系统的协议栈数据传输方法、计算机设备和存储介质 | |
CN102790777A (zh) | 网络接口适配器注册方法及驱动设备、服务器 | |
CN115298656A (zh) | 用于调度可共享pcie端点设备的系统和方法 | |
US9146749B1 (en) | System and methods for updating digital signage device operating systems and registering signage devices to a global network | |
CN115080479B (zh) | 传输方法、服务器、设备、裸金属实例及基板管理控制器 | |
TW201603518A (zh) | 用於nfc的電子裝置、系統以及方法 | |
US20140351833A1 (en) | Multi-computing environment operating on a single native operating system | |
WO2010113248A1 (ja) | 仮想計算機システム、情報処理装置、コンピュータプログラム及び接続制御方法 | |
CN106155746A (zh) | 一种安装文件处理方法及装置、服务器 | |
EP2975524A1 (en) | Information processing device | |
US20140040881A1 (en) | Modem installation | |
US20110263295A1 (en) | System and method for providing a smart card-based widget service, and smart card for the same | |
US8468277B1 (en) | Installation of a device driver | |
US9342316B1 (en) | Installing digital signage device operating system from flash memory and registering signage device to a global network | |
US20150074247A1 (en) | Apparatus and method for setting up computting environments | |
CN109656674B (zh) | 一种计算机设备、虚拟化芯片及数据传输方法 | |
US9332374B2 (en) | Communication interface method for SE equipped on mobile terminal and SE using the same | |
CN115562765B (zh) | 定位组件的控制方法、装置、电子设备及存储介质 | |
KR102206888B1 (ko) | 네트워크 장치 및 그 제어방법 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110907 Termination date: 20171006 |