首页> 中国专利> 用于在计算机系统和辅助显示器之间交换数据的方法和系统

用于在计算机系统和辅助显示器之间交换数据的方法和系统

摘要

描述的是一种系统和方法,运行在主计算机系统上的应用程序可通过该系统和方法与辅助显示器设备(诸如蜂窝电话、袖珍型计算机、闹钟、电视机、数字化图像帧等)通信以在设备、远程控制能力、以及通知上提供可视的信息。通过API调用,程序以相同的格式提供信息而不管设备能力和/或连接类型。辅助显示器平台把信息转换成设备驱动器理解的格式,然后在信息被发送之前如所希望地过滤信息用于它的具体硬件设备。返回通信返回诸如状态和与显示的信息的用户交互的数据。软件供应商可如此一次书写代码以在辅助显示器上输出信息,而硬件厂商可具有他们的作为辅助显示器的设备,该设备具有对于现有硬件很少的修改或没有修改。

著录项

  • 公开/公告号CN1782997A

    专利类型发明专利

  • 公开/公告日2006-06-07

    原文格式PDF

  • 申请/专利权人 微软公司;

    申请/专利号CN200510127141.0

  • 申请日2005-11-22

  • 分类号G06F9/44(20060101);

  • 代理机构31100 上海专利商标事务所有限公司;

  • 代理人张政权

  • 地址 美国华盛顿州

  • 入库时间 2023-12-17 17:16:35

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2015-05-20

    专利权的转移 IPC(主分类):G06F9/44 变更前: 变更后: 登记生效日:20150429 申请日:20051122

    专利申请权、专利权的转移

  • 2012-10-10

    授权

    授权

  • 2008-01-02

    实质审查的生效

    实质审查的生效

  • 2006-06-07

    公开

    公开

说明书

                              技术领域

本发明一般涉及计算机系统,尤其涉及用于在计算机系统和辅助设备之间发送信息的系统和方法。

                              背景技术

美国专利申请号为“10/429,930”以及“10/429,932”的申请一般涉及具有提供某些辅助计算功能的辅助处理和辅助机制的计算机系统的概念。例如,在盖板或膝上型计算机边缘上的小的LCD,甚至当主计算机显示器不容易看见时,例如,当膝上型计算机的盖板关闭和/或主计算机关闭电源时,可提供给它的拥有者有用的信息,诸如会议地点和时间。诸如按钮的控制可被提供以允许用户与辅助设备交互以查看不同类型的数据,诸如通过在日历数据中的约会的滚动、读取邮件消息、读取指令等。

某些类似于构建进移动主计算机、移动电话、音乐播放设备、袖珍型个人计算机、个人数字助理等的辅助LCD屏幕可作为对于主计算机的辅助设备,当该辅助LCD屏幕被物理地和/或通过无线(例如,蓝牙或红外线)链接被连接到主计算机时,只要设备被编程以允许它的显示器和/或其他功能被主计算机所转动。一般地,任何具有实际上能以任何方式与计算机系统接口的I/O能力的设备潜在的能作为辅助计算设备。

然而,存在许多可作为计算机系统的辅助显示器的多种设备。例如,某些设备可通过诸如USB硬连线连接与计算机系统连接,而其他设备可通过诸如802.11、802.16或蓝牙的无线协议与计算机系统连接。某些诸如“智能”移动电话以及袖珍型计算设备合理地提供好的图像、可用的存储器、以及可已经被排列以某些方式与主计算机系统连接。其他设备是更加被限制的,然而,例如,可仅仅提供单行文本、灯光、和/或音频。与此同时,存在多种类型的可在主计算机系统上运行并可受益于能输出信息至辅助显示器的软件程序。

需要的是一种用于硬件设备的制造方式,该硬件设备被用于作为以需要对于当前的硬件设备做出很少更改(如果有的话)的方式与主计算机系统接口的辅助显示器。与此同时,这样的解决方案应该允许应用程序被写以不依赖于实际在使用的辅助显示器的类型而使用辅助显示器。

                              发明概要

简要地,本发明提供一种系统和方法,运行在主计算机系统上的应用程序通过该系统和方法与辅助显示器设备(诸如蜂窝电话机、袖珍型计算机、时钟、电视机、数字化图像帧等)通信以在设备、远程控制能力、以及通知上提供可视的信息。为此,诸如由独立软件供应商编写的应用程序等通过应用编程接口(API)组与辅助显示器平台通信,该应用编程接口按需把信息转换成由辅助计算设备的设备驱动器所理解的格式。设备驱动器按期望过滤信息并且把其格式化以用于它具体的可通过任何有线的或无线连接耦合到系统的硬件设备。设备驱动器把数据转发至适当的硬件接口用于传送至辅助设备。也提供从辅助设备至主计算机系统的返回通信路径。

通过抽象化辅助设备的类型和/或它如何被连接,只需要预定的协议和数据格式用于程序与多种各种可能具有不同能力的设备通信。为了使用辅助显示器,独立的软件供应商仅对辅助显示器平台调用API,提供对应于以用于API协议的格式的形式的数据一参数(或多个参数)。此后,数据被转换成由与辅助显示器平台接口的设备驱动器理解的格式,由此设备驱动器可在转发信息之前按需调整信息以传输硬件接口用于传送到它的相应的辅助设备。

在一可供选择的实施例中,硬件供应商可选择实现基于微软的固件(例如,包括基于TinyCLR的固件栈)并从而保证用户将接收完整的辅助设备经验。例如,如果被配置基于TinyCLR的固件栈,那么由于通过API提供的任何程序数据的由辅助设备处理的能力是已知的,则需要很少(如果有的话)的过滤。数据通过协商好的格式/协议所发送,因此设备驱动器和/或API层仅需要把提供应用程序的数据转换到适当的格式并根据对于硬件传输的协议把它转发。由于辅助设备的类型已知具有适当的固件栈,那么格式可以是专有的。

在另一可供选择的实施例中,可能减少(但依然是有价值的)的经验对于那些相对于处理通过相同API提供的程序数据而言具有更简单的需要以及能力的设备是可用的。为此,运行在主计算机系统上的设备驱动器实现定义的硬件接口以无缝地扩展辅助显示器平台至任何类型的辅助设备。以上设备驱动器内的组件可过滤和/或转换ISV提供的数据,以使数据以设备驱动器理解的预定格式被提供至设备驱动器。设备驱动器也可适当地过滤它的相应于辅助设备的数据,例如,当这样的设备只能显示文本时,对于它的相应的辅助设备从数据中移除图像。能运行代码的硬件设备可选择以具有某些或实质上所有运行在设备上而不是主计算机的设备驱动器内的设备驱动器功能。

注意不管使用的连接机制是什么,多数由设备驱动器使用的用以提供数据至硬件传输接口的接口/有线协议可被定义为相同的。结果,虽然实际连接机制可能是不同的,但是设备驱动器可共享某些代码。通过使用这种机制,设备看起来似乎一致地工作而不管它们如何被附加。

除了与诸如移动电话和第二计算机的辅助显示器一起工作之外,本发明也可用于扩展主计算机的能力以与先前的专用设备通信,该专用设备诸如电视机、收音机、其他媒体播放器、基于图像的数字图像帧、包括挂钟和闹钟的时钟等。通过某些软件以及少许或没有硬件附加物,这样存在的设备可通过允许它们与主计算机系统结合以扩展它们的应用。平台在硬件和软件内是可扩展的以使这样的情况成为可能。与此同时,由于应用程序代码仅需要被写一次以使其在多个各种设备上运行而不需要额外的工作以把程序适应于不同的辅助设备,所以与来自独立软件供应商的观点的辅助设备通信的任务被大大简化。

其他优点将结合附图从以下详细的描述中变得明显,其中:

                              附图说明

图1是以传统的个人计算机系统的形式展现通用计算设备的框图,本发明可被结合在该计算设备中;

图2A-2E是一般展现了在各种设备上的辅助显示器的放置的位置的典型说明;

图3是一般展现了根据本发明的一个方面的示例分层架构的框图,应用程序可通过此架构与任意辅助显示器设备的固件交换数据;

图4是在一根据本发明的一个方面的实现中,察觉辅助的应用程序如何与辅助显示器平台接口以与多个辅助显示器设备交换数据的实例展现;

图5是在一根据本发明的一个方面的实现中,察觉辅助的应用程序如何与辅助显示器平台接口以与基本辅助显示器设备交换数据的实例展现;以及

图6是在一根据本发明的一个方面的实现中,察觉辅助的应用程序如何与辅助显示器平台接口以与增强的辅助显示器设备交换数据的实例展现。

                              详细描述

典型操作环境

图1是以个人计算机系统的形式展现计算设备120的框图,其中本发明可与该计算设备结合。本领域的技术人员可理解图1所描述的个人计算机系统120仅仅用于说明并且本发明也可结合其他计算机系统配置所实现,包括手持设备、基于微处理器的或可用户编程的电器、网络PC、小型机、大型计算机、对等服务器等。本发明也可以在分布的计算环境中实践,在此由通过通信网络而连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以定位于包括存储器储存设备的本地和远程计算机存储介质。

个人计算机系统120的组件包括处理单元121、系统存储器122、以及将包括该系统存储器在内的各种系统组件耦合至处理单元121的系统总线123。系统总线123可以是几种总线结构类型中的任何一种,包括存储总线或存储控制器、外围总线和使用各种总线体系结构的任一种的局域总线。系统存储器包括只读存储器(ROM)124和随机存取存储器(RAM)125。包含如在启动期间帮助在个人计算机120内各元件之间传送信息的基本例行程序的基本输入/输出系统126(BIOS),通常存储在ROM 124中。个人计算机120还可以包括从硬盘(未示出)读出或写入硬盘(未示出)的硬盘驱动器127、从可移动磁盘129读出或写入可移动磁盘129的磁盘驱动器128、以及从诸如CD ROM或其它光学介质的可移动光盘131读出或写入可移动光盘131的光盘驱动器130。硬盘驱动器127、磁盘驱动器128、以及光盘驱动器130分别通过硬盘驱动器接口132、磁盘驱动器接口133、以及光盘驱动器接口134与系统总线123连接。驱动器及其它们相关的计算机可读介质为个人计算机120提供了计算机可读指令、数据结构、程序模块和其它数据的非易失性存储。虽然在此描述的典型计算机系统使用硬盘、可移动磁盘129以及可移动光盘131,本领域的技术人员可以理解的是可由计算机访问的,诸如磁带、闪存卡、数字视频磁盘、Bernoulli盒式磁盘、随机存取存储器(RAM)、只读存储器(ROM)等也可被用于典型计算机系统内。

多个程序模块可被存储在硬盘、磁盘129、光盘131、ROM124或RAM125上,该程序模块包括操作系统135(诸如Windows XP)、一个或多个应用程序136(诸如Microsoft Outlook)、其他程序模块137和程序数据138。用户可通过诸如键盘140和定位设备142的输入设备输入命令和信息至个人计算机120中。其他输入设备(未示出)包括麦克风、操纵杆、游戏垫、圆盘式卫星天线、扫描仪等等。这些和其他输入设备通常由被耦合到系统总线的串行端口接口146连接到处理单元121,但也可由其他接口接连,诸如并行端口、游戏端口或通用串行总线(USB)。监视器147或其它类型显示设备也可以通过诸如视频接口148的接口连接到系统总线123。除了监视器147,个人计算机一般包括诸如扬声器和打印机的其他外围输出设备(未示出)。辅助显示器200是额外的输出设备,并可以例如,通过辅助显示器接口155与系统总线123相连。辅助显示器101也可通过串行接口或其他诸如并行端口、游戏端口、红外线或无线连接、通用串行总线(USB)或其他外围设备连接的接口与计算设备120连接。图1中的输入设备201可提供一个或多个驱动器以与辅助显示器200接口和/或控制辅助显示器200,并且例如可以是辅助显示器设备的一部分,但是可选择的是独立于辅助显示器设备并且通过输入设备接口156或其他接口与系统总线123连接,该输入设备接口可以是串行接口,或其他接口诸如并行端口、游戏端口、红外线或无线连接、通用串行总线(USB)或其他外围设备连接。

个人计算机120可以在网络化的环境中运行,该环境使用与一台或多台诸如远程计算机149的远程计算机的逻辑连接。远程计算机149可以是另一台个人计算机、服务器、路由器、网络个人计算机、对等设备或其它共用网络节点,通常包括以上描述的和个人计算机120相关的多个或全部元件,尽管在图1中只示出了记忆存储设备150。在图1中描绘的逻辑连接包括局域网(LAN)151和广域网(WAN)152。这样的网络环境在办公室、企业范围的计算机网络、内联网和因特网中是普遍的。

当在LAN网络环境中使用时,个人计算机120通过网络接口或适配器153连接到LAN151。当在WAN网络环境中使用时,个人计算机120通常包括调制解调器154或通过诸如因特网的广域网152建立通信的其他装置。调制解调器154可以是内置的或外置的,通过串行端口接口146连接到系统总线123。在一网络化的环境中,所描述的和个人计算机120相关的程序模块或其中的各个部分可以存储在远程存储器存储设备内。可以理解的是所示的网络连接是示例的,也可以使用在计算机间建立通信链路的其他装置。

应该注意的是根据本发明,计算机系统不需要对于辅助设备的工作而言是完全可操作的。实际上,当计算机电源关闭时,辅助设备至少对于默认的程度或对于由用户配置的程度依然工作,诸如当计算机系统在睡眠状态或休眠模式和/或当用户还没有登录或通过安全机制被锁定在系统之外时。

当主显示器被关闭或不操作(例如,断开连接)时,辅助设备可补充主显示器并也可作为代理显示器以给出用户某些信息。例如,由于当主显示器关闭和/或不容易看见(例如,膝上型电脑的盖板被关闭)时,会议的房间号和/或方向将显示在连接到移动计算机的用户可见的辅助显示器设备上,所以诸如如何给主显示器加电的信息是有用的。辅助设备可播放音频和/或视频、显示图像、显示日历信息、显示电子邮件等。

为了在这些电源关闭的模式下能使用通信和控制通信,固件可存在、被存储于非易失性存储器内,当由第二处理器加载并由第二处理器在其上执行时,只要某些电源是可用的,非易失性存储器使辅助显示器与其他辅助组件可被使用。注意如在此所用的,术语“固件”和“设备硬件”实质上是相等的,并且一般被考虑为展现辅助存储器、其中的代码和/或该代码在其上运行的第二处理器。

如2A-2E示出了分别与用于辅助显示器屏幕200a-200e的摆放的计算设备上的或与之关联的典型位置。如图2A和2B展现的,辅助显示器屏幕200a可被放置于独立的(陆上通信线或移动)电话202的前面、后面或其他面(如果是诸如通过蓝牙技术的链接,那么不需要被物理地耦合),和/或另一个放置于移动计算机204或便携式计算设备(为示出)边缘或盖板的辅助显示器屏幕200b。另一个辅助显示器屏幕200c(图2C)的位置可以在计算机或附加于计算机的诸如监视器206或键盘(未示出)的外围设备的安装的电话上。图2D和2E分别示出了在连接到计算机或某些其他外壳(诸如用于主板的外壳)的独立控制台208的前面板的辅助显示器屏幕200d和200e的其他的放置。本领域的技术人员可以理解的是辅助显示器屏幕可以被放置在任何计算设备或其他具有显示能力的设备的任何表面,诸如被放置在具有对于计算机无线或其他连接的表、在远程控制设备上、在远程壁装式单元上等。实际上,由于连接可通过LAN或WAN、或甚至通过因特网,所以辅助显示器不需要物理地接近于主计算机系统。

应该从图2A-2E中明显看出,辅助显示器能以任何数量的诸如一个或多个LED、2线字母数字显示器、单色显示器、或彩色显示器的已知显示器的形式存在。本领域的技术人员可理解的是本发明也使用其他计算或通信设备的显示器作为辅助显示器200。这些其他计算或通信设备包括通用计算机、蜂窝电话、以及诸如寻呼机或个人数字助理(PDA)的手持设备。此外,本发明使用在计算设备120的屏幕上显示区域内(例如,图像用户界面的屏幕保护或组件)实现的虚拟辅助显示器作为辅助显示器200,包括在用户登录之前。辅助显示器200可包括以上描述的任何形式的组合,并也可物理地或逻辑地与诸如一个或多个LED和/或与虚拟辅助显示器结合使用的指示器组合。

辅助设备可在没有屏幕,或当它的屏幕电源关闭时提供功能。例如,辅助设备可播放音频、搜集数据(例如,用于稍后对于主计算机的下载)、执行计算等。并且,显示器可包括一个或多个LED等而不是全屏幕。因此,虽然从具有辅助显示器屏幕可获得很多好处和优点,并因此辅助设备在此可称为辅助显示器,但是不需要显示器。一般地,在此称为的辅助显示器实质上可由任何可被感知的,包括任何可视的、可听的、和/或触觉表示所组成。

与辅助显示器交换数据

本发明一般涉及与辅助设备的通信,诸如提供通知以及其他用于显示在辅助设备显示器上的内容,并可能地获取来自显示器的返回信息,诸如基于用户与辅助设备的交互。如可被理解的,有许多类型的可被作为辅助显示器设备的设备存在,包括那些不是必定具有显示器但是可提供某些诸如声音或光线的输出的设备。虽然在此使用了多个例子,包括在膝上型电脑的盖板、移动电话、袖珍型个人计算机、基于图像的数字图片帧、厨房显示器、电视机、媒体播放机、包括闹钟、挂钟等的钟等上的显示器,本发明不受这些例子中的任何例子的限制,而是预期任何能输出感觉信息的设备的使用,即使在此称为辅助“显示器”。例如,其他类型的设备包括嵌套于消费者电子设备(诸如冰箱、家庭影院接收器、DVD播放机等)内的辅助设备或使用消费者电子设备(诸如冰箱、家庭影院接收器、DVD播放机等)的主显示器的辅助设备、壁显示器、自动的、传送或其他车载单元(例如,使用已经在车/火车/飞机内的显示器作为辅助显示器)、键盘或其他主计算机系统的输入设备、PDA(包括非蜂窝电话PDA)等。

类似地,本发明不受任何用于把辅助显示器耦合至另一计算系统的具体机制的限制,因此不受在此使用的有线的或无线的例子的限制。连接可相对的近或相对的远,实质上可以是任何位置,诸如通过LAN或WAN,或通过在因特网上的虚拟私密连接。

参考附图的图3,显示了例子结构,该架构通过API组304对包括应用程序302以及其他程序(例如,操作系统组件)的客户机显示了辅助设备300和/或301。API 304提供用于各种功能的API,包括使用系统注册客户机应用程序306(程序的组件或可能是程序本身)、发送内容至附加的设备、发送通知至附加的设备、以及从附加的设备接收事件。事件可包括导航事件、内容请求事件、内容更改事件等。

为了与本发明的一个方面一致,API组304的使用仅仅对客户机显示“辅助显示器系统”;没有对单独设备的直接访问。结果,对于独立的软件供应商,在注册程序组件作为客户机应用程序(通过API组304)之后,内容可通过使用另一对于相同API组304的调用而被发送至任何辅助设备,而不管设备的实际类型和能力。虽然用户经验可以是不同的,但是程序不需要适应于存在的辅助设备。注意的是尽管应用程序可获取有关辅助设备的能力信息,并可基于能力选择不同地执行,但是应用程序不需要这么做以使用设备。这是由于本发明提供处理进一步通信的架构,把应用程序从包括对任何具体设备设计的数据的复杂任务中解放出来。

API层304被写在便携式设备API组310上,该便携式设备API组可通过用户模式驱动器框架312与设备的驱动器进程通信。便携式设备API组310把辅助显示器映射到便携式设备的分类并且它允许设备的能力的枚举。这被封装在用户模式驱动器内,然而,不显示给客户机应用程序306。

一般地,客户机应用程序306直接发送通知到辅助设备。设备可以显示通知以及基于由主计算机系统提供的数据生成它自己的通知。图3显示的其他组件(可选的)包括可在辅助显示器上提供通知的通知客户机316。例如,即使当诸如日历程序的应用程序不在运行时,提供相应于该程序的计划好的通知是理想的;通知客户机316使这样的情况成为可能。注意如以下结合图4-6描述的,在应用程序层之下以及在设备驱动器324和325之下的组件一般可称为“辅助显示器平台”。

参考硬件供应商的观点,一般地,每个辅助显示器供应商提供相应的辅助设备驱动器324,尽管如果设备以某种方式建立,设备驱动器可通过辅助显示器平台的提供者所提供。更具体地,如以下描述的,某种类型的辅助设备被考虑成“增强的”显示器由于它们与某个固件一起配置,该固件在其他固件中是一般与通过API 304接收的任何信息兼容的固件。对于这样的设备,设备驱动器325可以是相同的(并因此可由辅助显示器平台提供者所提供),一般用于执行某些直接的任务,诸如把API接收到的信息转换成辅助设备固件可理解的适当的格式。对于在此称为“基本”显示器的其他辅助设备,驱动器不需要与设备的能力兼容,并且如此辅助显示器供应商需要提供对于设备或设备的类的定制的驱动器。

在任何事件中,用户模式驱动器框架提供用于把设备驱动器(例如,324和325)耦合至辅助显示器平台的设备驱动器接口(DDI)。然后,驱动器将相应于API接收到的信息的数据转发至适当的硬件接口(传送器)用于对辅助显示器设备的通信。例如,在图3中,基本设备驱动器324被显示成转发数据(通过先前定义的协议)到远程栈和驱动器327用于对设备300的无线(例如,蓝牙、WiFI、红外的AM/FM等)通信,而增强的设备驱动器325被显示成转发数据至基于USB的硬件328,虽然其他类型的传送包括诸如基于TCP/IP的传送的网络传送是可行的。如被理解的,这些连接仅仅为了例子的目的而显示,如同任何设备驱动器可转发数据用于适当的无线或有线的通信。

注意的是如图4展现的,多个设备可被耦合到计算机以同时作为辅助显示器。用户可配置(例如,通过系统数据提供者组件308的控制面板等)哪个客户机应用程序的数据被显示在哪个设备上。系统数据提供者308也提供诸如时间数据、无线信号强度数据、计算机的音量和静音状态,和/或电池水平数据的信息给辅助显示器。在一实现中,只要客户机应用程序306发送内容,辅助显示器平台430控制系统维护的矩阵432以确定哪个或哪些设备接收信息。用于不同设备类型的某些内容解释可在该级别发生,也可能在如以下描述的其他设备驱动器级别上以及在设备驱动器内的级别上发生。辅助显示器平台430的API也可从辅助设备发送事件等到应用客户机应用程序,再次使用矩阵以适当地发送事件返回至一个客户机应用程序(或多个客户机用程序)。

如以下描述的,某些可被下载至辅助设备的内容包括通知。当用户在一辅助设备上解除通知时,用户一般要该通知在其他辅助设备(一个选择是用户配置的)上被解散。为此,当从辅助设备发送的返回信息指示具体通知被解散时,辅助显示器平台发送解散指令到每个通知已经被发送到的其他辅助设备。

参考图5和6,“增强的”显示器是运行辅助显示器平台已知的具体固件栈的显示器。例如,在当前的实现中,这样的固件包括TinyCLR组件并支持TinyCLR对象串行化。基本显示器是任何不运行辅助显示器平台已知的栈的显示器。

图5是用于使用基本显示器500作为辅助显示器的组件的表示。一般地,程序302做出如上描述的对于辅助显示器平台430的API调用。知道哪个设备(或哪些设备)发送辅助信息的辅助显示器平台430也知道每个设备是否是增强的显示器或基本显示器。在该例子中,设备是基本显示器500,如此辅助设备传送以基本内容格式提供的作为任何基本设备驱动器支持的API参数的数据。

这样的基本内容格式是基于XML的,并且因此基本设备驱动器550需要能够解析XML。如果理想的,包括对于系统XML解析器的调用的功能的库552可由设备驱动器所影响。设备驱动器500按需过滤和/或转变信息以用于它具体的设备,并把它转发至传送器用于与基本辅助显示器设备通信。

如可看到的,平台是可扩展的以使基本设备在很少或没有更改的情况下被支持。一般地,仅仅必要的组件是用于特定设备的设备驱动器。

在某些情况下,基本设备在没有对设备的固件/软件更改的情况下被运行。例如,某些设备已经响应调制解调器命令(GSM AT)并能输出数据。因此,设备驱动器550(或可能的较高级组件)可变换数据并插入适当的调制解调器命令,由此辅助设备可在没有硬件更改或需要重编程的情况下显示数据。任何其他设备已经支持的其他格式和/或定义的交互机制可被类似地使用。

然而,这不总是可能的,因此某些辅助设备需要额外的固件以作为辅助显示器。注意的是某些辅助设备允许代码被下载并且在设备上运行。在任何事件中,为了作为辅助显示器,由设备供应商决定基本设备提供什么能力,以及在设备驱动器(一般也是由设备供应商提供的)和设备固件之间如何分配功能。

如被理解的,如此至少有两个级别,数据可在被发送至基本辅助显示器500之前在该级别上被转变、过滤和/或转换,也就是说,在辅助显示器平台和设备驱动器550内。正如一个一般的目标是使程序的API调用独立于任何具体设备类型,从而转换器需要根据设备的能力而变化,如设备驱动器一般是要被保持相对的小。

如一个例子,通知一般使用来自程序302观点的相同的通知API而不管设备的能力。如此,标题、文本以及诸如图像、图标、按钮、菜单等的可选信息被指定为参数。不具有图像能力的设备将具有剥取了除了文本之外的任何信息的信息,并且甚至文本可通过诸如随着时间交替行而被修改以适应具体的设备显示器。

如另一个例子,API被提供用于内容下载,诸如填充到设备上的高速缓冲存储器。在设备不具有高速缓冲存储器和定义的导航框架的事件中,辅助显示器平台可提供导航框架,该框架可在请求后执行诸如取出下一个项的任务、在链接被选择后提供相应于不同页面的不同位图等。

参考图6,对于增强的设备600,本质上而言唯一的请求是建立数据管道和例如通过串行转换器640发送串行化的对象。用户模式驱动器可用于所有增强的显示器而不管连接类型,然而,更直接的是对于每个设备每个连接类型使用一个驱动器。在任何事件中,驱动器660负责把API提供的数据和命令翻译成某些基于TinyCLR的设备能理解的内容。一般地,由于固件操作对于辅助显示器平台的提供者是已知的,被发送的对象本质上可以是任何同意的辅助显示器平台、增强的设备驱动器以及增强的设备对象。

内容一般被下载到增强的设备上的高速缓冲存储器中,并且然后设备本身按所希望地处理内容。注意的是这要考虑到断开连接的使用以及使多个应用程序在提供内容的系统上运行,使得每次运行一个应用程序以访问在辅助显示器上高速缓存的内容。通知将通过设计利用当前运行的应用程序。通知可以任何合适的次序被排列用于表示,诸如以FIFO(先进先出)的方式排列,虽然容易理解的,在通知的类型中依然存在不同的优先级(例如,对于紧急的、当前的通知等相对于普通或旧的通知而言可被给于较高的优先级)。

在一实现中,如图6展现的,为了导航和显示被高速缓存的内容,设备应用程序669和外壳程序670运行在TinyCLR框架674和组件676上,该组件解释、导航、和显示数据。一般地,外壳程序670提供主页、非客户机区域(在设备的屏幕上的区域,当显示器打开时无论其他何种内容正被显示在设备上,该区域总是可见的,该区域一般被用以显示通常需要的对象,诸如时钟、电池指示符、网络指示符)、菜单和辅助显示器设备的一般外观和感觉。提供的数据可以屏幕的有向图的形式存在或被修改为屏幕的有向图,每个有向图由TinyCLR FORM对象作为根的TinyCLR VIEW对象的可视树。外壳层从固件的较低层接收按钮事件、解释它们、并且在数据内适当地导航。外壳程序670也通过如上描述的辅助显示器平台接受来自主计算机系统的通知请求,并且当它从高速缓存管理器672得知内容被需要(例如,丢失)时发出请求至主计算机系统以提供新的内容。外壳程序670也显示定时的通知,可在主计算机系统不被连接的时候发生。

离线高速缓存管理器672包括写在TinyCLR 676顶部的汇编,该汇编管理存储在设备上的数据项的高速缓存。该组件也执行某些存储器管理,处理系统应用程序可提供比设备能存储的数据多的数据的事实。如果固件修改数据高速缓存,那么该组件追踪该信息,并且把事件公布给系统上的应用程序以让其立即知道当机器恢复上线时,主计算机系统是在线的还是不在线的。高速缓存管理器可通过接口被显示给驱动器660。

应该注意的是辅助设备可被通过它们的厂商配置以具有在以上描述的能力以上的扩展的能力。为此,一个或多个硬件组件与栈内的驱动器一起被增加以显示任何新的组件给辅助设备和辅助显示器平台的其余。这样的硬件扩展在与此共同待批的名为“Extensible Architecture for Auxiliary Displays”(辅助显示器可扩展的架构)的专利申请中被描述,并且在此结合作为引用。

如从以上描述可看出,本发明提供辅助显示器平台,应用程序可通过该平台被写入以发送信息至辅助显示器,而独立于实际正在使用的辅助显示器设备的类型。与此同时,辅助显示器平台使硬件设备的厂商能具有那些在对硬件做很少更改(如果有的话)的情况下被用作辅助显示器的设备。如此本发明提供在当代计算中需要的多种好处和优点。

尽管本发明容易受多种修改和可供选择的构造的影响,其中某些示出的实施例在附图中示出并已经在以上被详细描述。然而,应该理解的是,没有要把本发明限制于公开的特定的一种形式或多种形式,相反,是要涵盖所有在本发明的精神和范围内的修改、可供选择的构造、以及同等物。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号