多实例输入设备控制制造技术

技术编号:2878503 阅读:175 留言:0更新日期:2012-04-11 18:40
本发明专利技术组合了可执行进程与多应用程序共享一个单一的输入设备的需要,提供一个作为处理进程实现的可执行程序,允许多个应用与一个单一输入设备通信,这是通过装载该输入设备控制可执行程序作为一个处理进程实现的。该可执行程序是一个服务器允许多个应用程序与同一输入设备接口。该多实例输入设备控制(MIDC)可执行程序响应每个应用程序请求,如同该输入设备是对该呼叫应用程序开放一样。每个应用程序因此通过能与输入设备实例通信而不会干扰与该输入设备正在通信的其它应用程序的操作,该输入设备实例跟踪与其所有连接并多路复用和解决冲突请求。(*该技术在2022年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术涉及媒介源输入设备如麦克风和摄像机,并且尤其是涉及媒介源输入设备与应用程序的接口。
技术介绍
一般地,当一个应用程序连接到一个媒介源时,所有其它的应用程序都被禁止使用该媒介源。对于通用的个人计算机,当一个应用程序呼叫以便与一个媒介源通信时,该应用程序呼叫其驱动器文件或动态链接库(DLL或*.dll)。一般地,DLL提供一个或多个特定的函数,以及一个程序通过创建到该DLL的链接访问该函数。DLL也可以包含数据,有些DLL与操作系统(如窗口操作系统)设置在一起并且对于任何操作系统应用来说都是可用的。为了某种特定的应用可以写其它的DLL并将其与应用程序(例如一个媒介源控制应用程序)一起装载。当媒介源控制应用程序呼叫以连接到一个媒介源时,在该点处,驱动器检查以确定没有其它的应用已打开该特定的摄像机驱动器文件(*.dll),以及如果没有其它的应用已打开的话,该驱动器就打开该特定的驱动器文件。这样做之后,就会通过该打开的媒介源(如摄像机)驱动器文件在媒介源(如摄像机)与应用程序之间存在一个单一的线程连接,如附图说明图1所示。图1表示与一个媒介源连接的应用程序,其中媒介源是摄像机。如图1中所示的,驱动器文件14被驱动器12打开,其中驱动器12被呼叫应用程序10呼叫并且装载在呼叫应用程序的存储器内。由于摄像机驱动器文件14已经被应用程序10打开,试图呼叫该摄像机的下一个应用就被禁止这样做。在多个应用程序之间共享媒介源中有关冲突的问题就是众所周知的突发事件。由于在某一时侯一般的输入设备驱动器仅允许一个应用使用该输入设备数据,因此总是存在着突发事件。这是因为摄像机驱动器文件已经被装载进第一应用程序的存储器内并且不能被另外一个呼叫程序使用。因此,潜在地呼叫该摄像机的每个应用程序必须考虑到已经使用该摄像机的另外一个应用程序的存在。相应地,这些应用程序被这样一种需要所阻碍,即要首先检查以确定是否已连接到该摄像机的另外一个第一应用程序被执行,并且如果是这样,第二呼叫程序必须具有例程以允许它协商对该摄像机的共享。但是这种共享是单一-即时(single-instant)的,意思是说在摄像机与第一应用程序之间的连接将不得不断开(即,第一应用程序将不得不关断或关掉摄像机),然后建立摄像机与第二应用程序之间的连接。由这两个竞争应用程序之间的通信来解决授权、优先权以及其它的安全方面和相应的错误处理。目前甚至没有应用程序试图解决这些问题,并且如果在呼叫程序与摄像机之间的连接不能建立的话,由操作系统来解决不希望的应用程序错误,该操作系统会发出相当不雅和无法翻译的错误消息,留给最终用户去推断可能没有建立正确的连接。最好,第二呼叫应用程序接收一个指示目前呼叫的设备正在使用以及不可用的消息。应用程序在尺寸、灵活性以及可用性上不断地增加,并且这种趋势是从大的单片应用程序向由很多小程序构成的程序转变。这种提供模块的方法具有很多的优点,例如便于以后的修改和配置。而且操作系统供应商如微软公司已经采用这种模块化方法,并且提供了很多个可处理很多实用型功能(排队文件到打印机,安装和运行打印机驱动器(如DLL)文件以打印文件)的标准子程序或对象。该驱动器(如DLL)文件本身是对象或子程序。而且为了使对象独立于以不同的高级编程语言写的更小的子程序,操作系统供应商已经开发了用于可执行程序的模型,它们在二进制的层次上是兼容的。由微软公司开发的这种二进码的模型是组件对象模型(COM)。该COM可以使编程员开发出可由任何COM兼容应用访问的对象。尽管通过将大的单片应用程序转变成更小的子程序的集合和对象可以实现很多的优点,但是这些优点在对这些附加的例程的需要所造成的负担方面要进行均衡,允许中间处理在这些子程序和对象之间进行通信。除了在复杂性与使用性方面的增长外,多单元应用程序已经从单一主机区移植到多主机不同种类的网络环境。因此,现在不是没有听到使一个单一应用程序由多个不同的例程构成,每个例程可以由不同的高级语言编写并且驻留在独立的计算机内,其中所有这些计算机通过一个网络彼此连接到一起。在这种实现中,对于有效的网内与网间以及交互处理通信的需求表现出其自身的生命力,从编程员的写应用程序的主要功能上转换开来。该编程员还不得不处理由在网上传播应用程序所引起的通信问题。再次,操作系统供应商已经意识到这种挑战以及潜在的转移,并且以多种方式解决了它。例如微软通过发开分布式组件对象模型(DCOM)来扩展COM的功能。DCOM是COM的扩展以支持在网络上分布的对象。除了作为COM的扩展外,DCOM提供了处理网络通信协议的细节的接口,允许应用编程员将精力集中在开发特定应用程序的主要功能上,DCOM被设计成为分布组件体系解决企业要求。例如一种商业可能想要建立并展开客户订单入口应用,该应用可能涉及几种不同的功能区如税务计算、客户信用验证、库存管理、担保更新以及订单入口。利用DCOM,该应用可以从五个独立的组件建立并且运行在通过浏览器访问的网络服务器上。每个组件可以驻留在访问不同的数据库的不同计算机上。编程员可以集中在应用的开发上,并且由DCOM处理该应用程序的独立组件的交互处理通信事务。例如,DCOM将处理组件通信与相应排队的集成以及服务器上的组件应用与基于HTML的互连网应用的集成。因此,尽管很多的计算机系统操作系统供应商提供了很多标准的可执行程序的标准化模型,但是这种可执行的应用程序中俑与媒介源输入设备按照一对一地进行接口。一个标准化的设备驱动器文件,一旦链接到一个应用程序,对于另外应用程序来说将不再是可用的。因此,存在着允许多个应用程序共享一个单一的媒介源输入设备的需求,这种设备一般来说是摄像机或麦克风。专利技术概述本专利技术组合了可执行处理与对多应用程序的需要的特征以便共享一个单一的输入设备,例如摄像机或麦克风。象摄像机或麦克风这样的输入设备一个开放的外部设备,并且响应于来自应用程序的呼叫一直保持开放。本专利技术提供一个作为允许多应用与单一输入设备进行通信的处理进程而实现的可执行程序,这是通过创建到物理输入设备的虚拟接口(一个实例)以及将输入设备控制可执行程序装载进一个处理进程而实现的。一个实例(instance)是实际的使用以及装载进存储器的一个实体的拷贝的虚拟生成。该可执行程序处理进程作用是一个服务器以允许多应用程序与同一输入设备接口。这里使用的该可执行程序称作多实例输入设备控制(MIDC),可执行程序响应每个应用程序请求,就好象该输入设备是为该呼叫应用程序开放的,因此每个应用程序能与该输入设备实例进行通信而不会干扰其它应用程序与同一输入设备的通信。换句话说,该MIDC通过创建一个客户—服务器体系而虚拟化了一个输入设备,在此每个呼叫应用程序是一个客户并且其中该MIDC是服务器,使该驱动器文件服务于每个呼叫应用程序。该MIDC以及虚拟化输入设备的方法可以在运行各种操作系统的许多计算平台上实现。象摄像机或麦克风这样的媒介源输入设备一般地与一个主机计算机进行接口。该主机计算机通常是一台个人计算机,如Mac计算机。但是,由于技术的进步使得计算与通信设备之间的界限变得模糊,因此这里所用的主机计算机是与智能主机同义的,并且这里所说的智能主机是指包括所有具有处理器、存储器、输入输出设备以及本文档来自技高网...

【技术保护点】
一种允许多客户应用程序同时与单一输入设备通信的输入设备控制程序, 其中所述输入设备控制程序是作为一个处理进程装载的,以及 其中所有随后的应用程序呼叫所述处理进程以建立与所述单一输入设备的通信。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:阿龙斯坦德韦特蒂姆迪克曼
申请(专利权)人:罗技欧洲公司
类型:发明
国别省市:CH[瑞士]

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

1