CN1782996B - 辅助显示器的可扩展体系结构 - Google Patents

辅助显示器的可扩展体系结构 Download PDF

Info

Publication number
CN1782996B
CN1782996B CN200510127138.9A CN200510127138A CN1782996B CN 1782996 B CN1782996 B CN 1782996B CN 200510127138 A CN200510127138 A CN 200510127138A CN 1782996 B CN1782996 B CN 1782996B
Authority
CN
China
Prior art keywords
hardware
auxiliary display
display device
expansion
computer system
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
CN200510127138.9A
Other languages
English (en)
Other versions
CN1782996A (zh
Inventor
A·J·弗尔勒
D·J·珀利夫
M·P·罗顿
M·S·伯恩斯泰因
R·H·怀恩
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft 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 Microsoft Corp filed Critical Microsoft Corp
Publication of CN1782996A publication Critical patent/CN1782996A/zh
Application granted granted Critical
Publication of CN1782996B publication Critical patent/CN1782996B/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/46Multiprogramming arrangements
    • 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

Abstract

所描述的是设备制造商可用来扩展具有辅助显示平台的辅助计算设备的一种系统和方法,该辅助显示平台显示对应于主计算机系统上始发的数据的信息。诸如无线电接收器和/或音频解码器等扩展的硬件被添加到该设备。该辅助显示平台是分层的并可在每一层可以进行扩展,并且包括在需要情况下可扩展以支持扩展的硬件的可扩展的硬件抽象层,以及可通过添加扩展的硬件的驱动程序代码来扩展的驱动程序层。还可根据需要扩展运行库层以支持扩展的硬件,诸如库、辅助外壳程序和其它受管代码等。还可扩展客户API以允许主计算机系统上的应用程序经由设备运行库层与扩展的硬件通信。

Description

辅助显示器的可扩展体系结构
技术领域
本发明一般涉及计算机系统,尤其涉及连接到主计算机系统的辅助计算设备。
背景技术
美国专利申请第10/429,930号和第10/429,932号一般地针对具有提供某种辅助计算功能的辅助处理和辅助机制的计算机系统的概念。例如,膝上计算机的顶盖和侧边上的小液晶显示屏(LCD)可甚至在主计算机显示并非轻易可见时(例如,当膝上计算机的顶盖被合上和/或主计算机电源被切断时),也可为其所有者提供诸如会议地点和时间等有用信息。可提供诸如按钮等控件,以允许用户与辅助设备交互来查看不同类型的数据,诸如在滚动日历数据之间以查看各个约会、阅读电子邮件消息、阅读目录、等等。
一定程度上类似于内建于移动主计算机的辅助LCD屏幕,移动电话、音乐播放设备、袖珍个人计算机、个人数字助理等等在被物理地和/或经由无线(例如,蓝牙或红外)链路连接到主计算机时可发挥辅助设备的作用,只要该设备被编程以允许其显示和/或其它功能可由主计算机控制。一般而言,具有I/O能力、实际上能以任何方式与计算机系统对接的的任何设备潜在地都可用作辅助计算设备。
但是,有各种各样可用作计算机系统的辅助显示器的设备。从而,有许多内部地配置此类设备的方法。这给设备制造商(有时成为独立硬件供应商,或IHV)带来困难,因为用户会想要他们的设备可用作辅助显示器,但是制造商必须要能够让该设备执行预期的功能。因此,需要对设备进行不同的设计,无论它主要是音频播放器、GPS(全球定位系统)接收器、电话、还是数字相框等。迄今为止,能够自定义系统中的硬件、同时仍然将该设备作为功能完整的辅助显示器使用的唯一方法是制造商编写极大量的代码,来将他们的硬件与包含辅助显示功能的其它现有固件集成。我们需要的是一种计算体系结构,它在适当时候让设备作为功能完整的辅助显示器运行,但令该设备可扩展,从而制造商能够添加所需功能,以及能创新并将其设备与其它制造商的设备区别开来。
发明内容
简而言之,本发明提供一种用于辅助显示器的计算体系结构,它包括若干不同的代码层,设备制造商可根据特定需要,按需独立扩展其中的每一层。以此体系结构,本发明允许设备制造商以仅要求显著减少的(例如,极少甚至没有)固件改变量的方式自定义硬件组件。自定义的例子包括将诸如移动通信的无线电、SPOT无线电、蓝牙无线电、和/或GPS接收器等无线电接收器或收发器;包括温度传感器、音频解码器(例如,用于数字信号处理)、附加存储和/或诸如指示器等其它硬件集成到设备中。
在硬件组件以上的低层,HAL(硬件抽象层)允许以独立于硬件的方式编写较高层的代码。HAL可按需扩展以支持自定义的硬件。因为HAL将硬件区别抽象化,所以设备制造商可在许多类型的设备之间重复使用在较高层运行的驱动程序,而无需大动干戈地为每一类设备自定义驱动程序。
在驱动程序以上,其它设备软件包括诸如TinyCLR等公共语言运行库(runtime),它包括.NET公共语言运行环境的相对较小范围的实现。在公共语言运行库上运行的受管的代码将在公共语言运行库所运行的任何平台上运行,这是由该平台的HAL(硬件抽象层)(例如基于ARM7芯片的平台的HAL)实现的。因为固件的主体是用受管代码编写的,所以它也不依赖于其运行的硬件的类型。通过控制设备固件的主体,并将HAL和CLR包括到该体系结构中,设备制造商可重复使用现有软件,而无需进行任何改变,这对于提供用作辅助显示器的各种类型的设备之间的高质量的、一致的体验而言是很重要的。
通过将该体系结构分层,设备制造商只需扩展该体系结构中适当的一层(或数层)中的代码。例如,如果改变是新的CPU,则HAL需要被加以适应。但是,如果改变是增加一件硬件而不改变HAL为之存在的CPU,则可能只需要适当的对该硬件的驱动程序和在该设备上运行并控制该硬件的其它相应的软件。某些诸如因为性能原因等(例如,涉及高速媒体缓冲)不能用受管代码编写的应用程序可以用诸如C或C++等本机代码编写,并且实质上扩展了CLR。
对向辅助显示平台添加附加能力感兴趣的设备制造商(硬件制造商)添加硬件,从而扩展现有设备固件以及所需的任何其它代码。对现有(例如,由另一家供应商所提供)辅助显示固件的影响是微不足道的。
此外,该平台可按需扩展,以从在主计算机系统上提供的客户辅助设备API集合的角度为改变的硬件进行调整。为此目的,提供使用客户API的简单且可扩展的机制,用于在设备制造商所提供的设备软件和主计算机系统之间所进行的通信。这赋予设备制造商提供需要使用该平台的特别硬件的特定特征的端对端实现的能力。API可扩展性允许设备制造商和独立软件供应商开发主计算机系统上的能与该设备上的自定义硬件交互的客户应用程序而不要求专门的API。
更特别地,可扩展性模型要求在主计算机系统上运行的客户应用程序能够向该设备发送数据以前指定“端点”。通过让设备制造商提供专门的固件来通告该设备上的端点,主计算机系统上的软件可标识具有特殊硬件能力的设备,并直接向该端点打开通信信道。客户API被设计成使客户应用程序和该设备之间所传输数据的类型是无关的。从而该端对端平台减少了设备制造商一方提供硬件可扩展性所花费的工作量。
当结合附图考虑以下详细描述时,其它优点将会变得显而易见,附图中:
附图说明
图1以常规个人计算机系统的形式表示可加入本发明的通用计算设备框图;
图2A-2E是一般地表示在各种设备上放置辅助显示器的为之的示例性示意图;
图3是一般地表示根据本发明的一个方面可使主计算机系统上的应用程序与任意辅助显示设备的固件交换数据的示例性实施例的框图;
图4是一般地表示根据本发明的一个方面构造的示例性分层体系结构的框图;以及
图5是根据本发明的一个方面的硬件显示器的示例性表示,其显示屏示出设备制造商可如何自定义屏幕。
具体实施方式
示例性操作环境
图1表示可加入本发明的以主个人计算机系统形式的计算设备120的框图。本领域技术人员将会认识到,图1中所示的个人计算机系统120纯粹旨在示例,且本发明可用其它计算机系统配置来实施,包括手持式设备、多处理器系统、基于微处理器或可编程的消费者电子设备、网络PC、小型计算机、大型计算机、无外设(Headless)服务器、等等。本发明还可在分布式计算环境中实施,其中任务是由通过通信网络连接的远程处理设备执行的。在分布式计算环境中,程序模块可位于本地和远程记忆存储设备中。
个人计算机系统120包括处理单元121、系统存储器122、以及将包括系统存储器在内的各个系统组件耦合到处理单元121的系统总线123。系统总线123可以是若干类型总线结构中的任何一种,包括存储器总线或存储器控制器、外围总线、以及使用各种总线体系结构中的任何一种的局部总线。系统存储器包括只读存储器(ROM)124和随机存取存储器(RAM)125。包含诸如在启动期间帮助在个人计算机120内部的各元件之间传递信息的基本例程的基本输入/输出系统126(BIOS)存储在ROM 124中。个人计算机120还可包括用于读或写硬盘(未示出)的硬盘驱动器127、用于读或写可移动磁盘129的磁盘驱动器128、以及用于读或写诸如CD-ROM或其它光介质等可移动光盘的光盘驱动器130。硬盘驱动器127、磁盘驱动器128以及光盘驱动器130分别由硬盘驱动器接口132、磁盘驱动器接口133、以及光盘驱动器接口134连接到系统总线123。各驱动器及其相关联的计算机可读介质为个人计算机120提供计算机可读指令、数据结构、程序模块和其它数据的非易失性存储。尽管本文中所描述的示例性计算机系统使用硬盘、可移动磁盘129以及可移动光盘131,但是本领域技术人员应当认识到,在示例性计算机系统中还可使用可存储可由计算机访问的数据的其它类型的计算机可读介质,诸如磁带盒、闪存卡、数字视频盘、贝努利盒式磁带、随机存取存储器(RAM)、只读存储器(ROM)、等等。
若干程序模块可存储在硬盘、磁盘129、光盘131、ROM 124或RAM 125上,包括操作系统135(诸如
Figure G2005101271389D00041
XP等)、一个或多个应用程序136(诸如Outlook)、其它程序模块137和程序数据138。用户可通过诸如键盘140和定位设备142等输入设备将命令和信息输入到个人计算机120中。其它输入设备(未示出)可包括话筒、控制杆、游戏垫、圆盘式卫星天线、扫描仪、等等。这些及其它输入设备常常通过耦合到系统总线的串行端口接口146连接到处理单元121,但也可通过诸如并行端口、游戏端口或通用串行总线(USB)等其它接口连接。监视器147或其它类型的显示设备也可经由诸如视频适配器148等接口连接到系统总线123。除了监视器147以外,个人计算机通常还包括诸如扬声器和打印机等其它外围输出设备(未示出)。辅助显示/设备200是附加输出设备,并可经由例如辅助显示接口155连接到系统总线123。
辅助显示器还可通过串行接口或由诸如并行端口、游戏端口、红外或无线连接、通用串行总线(USB)或其它外围设备连接等其它接口连接到主计算设备120。图1中的输入设备201可提供一个或多个激励器赖于与辅助显示器200对接和/或对其进行控制,例如可经由输入设备接口156(可以是串行接口)、或由诸如并行端口、游戏端口、红外或无线连接、通用串行总线(USB)或其它外围设备连接等其它接口连接到系统总线123。
个人计算机120可使用到诸如远程计算机149等一个或多个远程计算机的逻辑连接在联网环境中操作。远程计算机149可以是另一个人计算机、服务器、路由器、网络PC、对等设备或其它普通网络节点,并且通常包括以上相对于个人计算机120所描述的许多或所有元件,尽管图1中仅示出记忆存储设备150。图1中所示的逻辑连接包括局域网(LAN)151和广域网(WAN)152。此类网络环境常见于办公室、企业范围的计算机网络、内联网和因特网。
当在LAN网络环境中使用时,个人计算机120通过网络接口或适配器153连接到局域网151。当在WAN网络环境中使用时,个人计算机120通常包括调制解调器154或用于通过诸如因特网等广域网152建立通信的其它装置。可以是内置或者外置的调制解调器154经由串行端口接口146连接到系统总线123。在联网环境中,相对于个人计算机120所描述的程序模块或其部分可存储在远程记忆存储设备中。可以理解,图示的网络连接是示例性的,并且可以使用在计算机之间建立通信链路的其它装置。
应当注意,根据本发明,该计算机系统无需为使辅助设备工作而始终保持运行状态。实际上,当计算机电源切断时,辅助设备仍可在默认范围或用户配置的范围工作,诸如当计算机系统处于睡眠状态或冬眠模式中时,和/或当用户尚未登录,或者经由安全机制封锁系统时。
辅助显示/设备200可作为主显示器的补充,还可在主显示器关闭或者不在工作状态(例如,断开)时用作代用显示器来为用户提供某些信息。例如,诸如如何对主显示器加电等信息可能是有帮助的,同样连接到移动计算机、当主显示器关闭和/或并非轻易可见(例如,膝上计算机的顶盖合上)时用户可以看到的辅助显示设备上的会议房间号和/或方向也是有帮助的。辅助设备可播放音频和/或视频,显示图像,显示日历信息,显示电子邮件,等等。
为在这些断电模式中启用和控制通信,可存在固件,它存储在非易失性存储器中,当被次级处理器加载和操作时,它启用辅助显示器以及其它要使用的辅助组件,只要还有一些电源可用。注意,如本文中所使用,术语“固件”和“设备硬件”本质上是等价的,并且一般可被视为表示辅助存储器、其中的代码和/或其上运行该代码的辅助处理器。
图2A-2E分别示出计算设备上或与之相关联的用于放置辅助显示屏200a-200e的示例性位置。如图2A和2B所示,一个辅助显示屏200a可被放置在独立(陆线或移动)电话202的前表面、后表面、或其它表面上,(如果经由诸如蓝牙技术等连接则无需被物理地耦合)和/或另一个辅助显示屏200b放置在移动计算机204或图形输入板计算设备(未示出)的侧边或顶盖上。辅助显示屏200c的另一个位置(图2C)可以是在安装在计算机或连接到计算机的外围设备上(诸如监视器206上或键盘上(未示出))的电话机上。图2D和2E分别示出辅助显示屏200d和200e在连接到计算机的独立控制台或其它外壳210(诸如主板的外壳等)的前面板上的其它放置方案。本领域技术人员将会认识到,辅助显示屏可放在任何计算设备或其它具有显示能力的任何表面上,诸如放在带有到计算机的无线或其它连接的手表上,放在远程控制设备上,放在远程壁挂式单元上,等等。实际上,辅助显示器无需物理地靠近主计算机系统,因为连接可以是通过LAN或WAN,甚至是通过因特网。
如从图2A-2E明确的,辅助显示器可以是任何数量的已知类型的显示器的形式,诸如一个或多个发光二极管(LED)、2线字母数字显示器、单色显示器、彩色显示器等。本领域技术人员将会认识到,本发明还可使用其它计算或通信设备的显示器,作为辅助显示器200。这些其它计算或通信设备包括通用计算机、蜂窝电话、以及诸如寻呼机或个人数字助理(PDA)等手持式设备。此外,本发明可将计算设备120的屏幕显示的一个区域内实现的虚拟辅助显示(例如,屏幕保护程序或图形用户界面的组件)作为辅助显示器200使用,包括在用户登录以前。辅助显示器200可包括上述任何形式的组合,还可物理地或逻辑地与诸如一个或多个LED等指示器结合,和/或与虚拟辅助显示结合使用。
即使没有屏幕,或当其屏幕被断电时,辅助设备仍可提供功能。例如,辅助设备可播放音频,收集数据(例如,用于在稍后下载回到主计算机系统),执行计算,等等。而且,显示器可由一个或多个LED等而不是完整屏幕组成。因此,尽管有辅助显示屏可能产生许多好处和优点,因此辅助设备在本文中可被称为辅助显示器,但是显示器不是必需的。一般而言,如本文中所称的辅助显示器本质上可由可被感知的任何事物组成,包括任何可视化、可听、和/或可触知的表示。可用作辅助显示设备的各类设备的例子包括单独的计算机系统、膝上计算机顶盖上的显示器、移动电话、袖珍型个人计算机、数字的基于图像的相框、厨房显示器、电视、媒体播放器、包括闹钟的钟、手表、等等。其它类型的设备包括嵌入在消费者电子设备(诸如冰箱、家庭影院接收器、DVD播放器、等等),壁式显示器,汽车、运输或其它车辆单位(例如,将汽车/火车/飞机里已有的显示器作为辅助显示器使用)、主计算机系统的键盘或其它输入设备、PDA(包括非蜂窝电话PDA)等的主显示器内的、或使用其主显示器的辅助设备。
辅助显示器的可扩展体系结构
转到图3,图示出经由辅助性显示API集合304将辅助性设备300和/或301向包括应用程序302和其它程序(例如,操作系统组件)的客户机展现的示例性实现。API集合304为各种功能提供API,包括向系统注册客户应用程序306(程序的组件或者该程序本身),向附加设备发送内容,向附加设备发送通知,以及从附加设备接收事件。事件可包括导航事件、内容请求事件、内容改变事件、等等。
API层304被写在便携式设备API集合310上,后者经由用户模式驱动程序框架312与设备的驱动程序过程通信。便携式设备API集合310将辅助显示映射到一类便携式设备,且它允许设备能力的枚举。但是,这被封装在用户模式驱动程序内,并不向客户应用程序306展现。图3所示的其它(可选的)组件包括能在辅助显示上提供通知的通知客户机316。例如,即使在诸如日历程序等应用程序不在运行中时,系统提供对应于该程序的预定时间的通知;通知客户机316能实现此类情形。
转到硬件制造商的角度,一般而言,每一个辅助设备供应商都提供对应的辅助设备驱动程序324,尽管该设备驱动程序可由辅助性显示平台的供应商供应。某些类型的辅助设备被认为是“增强型”设备,因为它们是用某些固件配置的,其中这些固件一般是与可经由API集合304接收的任何信息兼容的。因此,可为此类设备提供一般的驱动程序,尽管如下所述,此驱动程序可被扩展,且/或其它驱动程序可被添加。
在任何情况下,用户模式驱动程序框架都提供设备驱动程序接口(DDI),用于将设备驱动程序(例如,324和325)耦合到辅助显示平台。然后这些驱动程序将对应于API所接收的信息的数据转发(和返回)给适当的硬件接口(传输),用于与辅助显示设备的通信。例如,在图3中,设备驱动程序324被示为正在将数据转发(经由先前所定义的协议)给远程堆栈和驱动程序327,用于与设备300的无线(例如,蓝牙、Wi-Fi、AM/FM红外等等)通信,而设备驱动程序325被示为正在将数据转发给基于USB的硬件328,尽管包括诸如基于TCP/IP传输等网络传输在内的其它类型的传输也是可行的。注意,用户模式驱动程序对所有增强性显示均有效,而无论连接的类型是什么,但是每个设备每种连接类型使用一个驱动程序可能更为直接。还要注意,如图3中所表示,多个设备可被耦合到计算机,以在同时用作一个辅助显示器。用户可配置(例如,经由控制面板或系统数据提供器308之类)在哪个设备上显示哪个客户应用程序的数据。系统数据提供器308还向辅助显示器供应诸如时间数据、无线信号强度数据和/或电池电平数据等系统信息。
又如图3所示,“增强型”显示器301是运行本文中称为辅助显示平台的特定固件堆栈的显示器。例如,在本发明的一个实现中,这一固件堆栈包括TinyCLR组件,并支持TinyCLR对象串行化。
在图3所示的示例性实现中,为导航和显示被高速缓存的内容,设备应用程序369和外壳程序370在TinyCLR框架374和实时运行组件376上运行,后者解释、导航、并显示数据。图示TinyCLR运行时组件376至少在一个驱动程序377和TinyHAL之上,如以下参考图4所述。
一般而言,外壳程序370提供主页、非客户区域、菜单、以及辅助显示设备的一般外观和感觉。所提供的数据可以是或被修改为屏幕的有向图的形式,其中每一个屏幕都是以TinyCLR形式对象为根的TinyCLR视图对象的可视化树。外壳层接收来自固件较低层的按钮事件,解释这些事件,并适当地围绕数据进行导航。外壳程序370还经由如上所述的辅助显示平台接受来自主计算机系统的通知请求,并且当它从高速缓存管理器372得知需要该内容(例如,内容丢失的情况)时,向主计算机系统发布请求以提供新的内容。外壳程序370还显示定时的通知,这可在主计算机系统未被连接时发生。注意,呈现引擎370也可以是可扩展的,从而应用程序可提供能够呈现该应用程序的数据的自定义代码。
离线高速缓存管理器372包括写在TinyCLR 376之上的汇编程序,它管理存储在该设备上的数据项的高速缓存。此组件还执行一些存储器管理,处理系统应用程序可能提供多于设备所能存储的数据这一事实。如果固件修改数据高速缓存,则此组件跟踪该信息,并向系统上的应用程序宣告事件,以在主计算机系统在线时立即让它知道,或如果不在线时,则让它在机器一回到在线状态时即得知。高速缓存管理程序可经由接口向驱动程序360展现。
根据本发明的一个方面,各个层(如图4中一般示出)是分离的,且每一层都可根据需要由设备制造商单独扩展以支持扩展的硬件。注意,图4的大部分一般地对应于图3的固件堆栈。通过将该体系结构分层,设备制造商仅需按照如扩展的硬件所需要的那样来扩展该体系结构中适当的一层或数层中的代码。
特别地,除了显示面板和控制器490、辅助处理器491和存储器492以外,设备制造商还添加了扩展的硬件493来自定义设备。自定义的例子包括将以下一个或多个集成到设备中,诸如SPOT无线电、蓝牙无线电、GPS接收器、温度传感器、音频解码器、音频编码器、附加存储、诸如指纹读出器等生物测定传感器、加速计、RFID标签/读出器、在场检测、到存储阵列/系统管理的接口(例如,对诸如SMbus等可提供系统信息的系统总线的访问,或对大型存储阵列的访问)、电池(例如,设备自带的电源,而不是与主计算机系统共享的电源)、红外收发器、RF发送器(例如,RF遥控器)、话筒、和/或诸如指示器等硬件。如应理解,制造商能以仅要求对辅助设备固件堆栈进行显著减少的(例如,极少甚至没有)改变量的方式自定义硬件组件。
在硬件组件之上,HAL(例如,硬件抽象层)允许以独立于硬件的方式编写高层代码。如本文中所使用,当指代码堆栈时,术语“高层”和“低层”、“之上”和“之下”等类似于在其它计算情形中所使用的那些术语,其中一般而言,软件组件相对于较高的组件越是低,该较低的组件就越靠近硬件。如图4中所示,基本HAL可由HAL扩展代码480根据需要扩展,以支持自定义的硬件。注意,扩展HAL不总是必要的,因为,例如可能有未使用的通用I/O等可用于通过现有HAL479来操作设备。或者,可经由扩展的HAL来管理端口。
在HAL之上是驱动程序4771-4773,其中包括为扩展的硬件添加的自定义驱动程序4773。注意,尽管图4仅示出一个驱动程序4773和一个扩展的硬件块493,但可添加更多的驱动程序和/或硬件。此外,应当注意,修改现有的驱动程序代码而不是添加另一个驱动程序,来执行所需的被添加的功能是等效的。如一般所知,因为HAL 479抽象出硬件差异,所以设备制造商可重复使用在许多类型的物理设备之间运行的自定义驱动程序4773(或经修改的驱动程序),而无需为每个不同的设备类自定义驱动程序4773
在驱动程序之上,其它设备软件包括诸如TinyCLR 376等公共语言运行库(CLR),它由.NET公共语言实时运行环境的相对较小范围的实现组成。在公共语言运行库上运行的受管代码将在公共语言运行库运行的任何平台上运行,这是由该平台的HAL(例如基于ARM7芯片的平台的HAL)实现的。因为固件的主体是用受管代码编写的,所以它们也不依赖于它运行的硬件的类型。通过控制设备固件的主体,并将HAL和CLR包括到该体系结构中,设备制造商可重复使用现有软件,而无需进行任何改变,这对于用作辅助显示器的各种类型的设备之间提供高质量的、一致的体验而言是很重要的。
应用程序402可以是与扩展的硬件493协同工作的自定义应用程序。但是,也能够通过用户体验来扩展如图4中所示的已经编写好的应用程序,从而来扩展用户体验。作为示例,考虑扩展的硬件包括接收到通知即发亮的简单指示器。接收通知的程序402可被扩展成在接收到通知时点亮指示器,并在通知被解除时将其熄灭。
某些诸如因为性能原因等不能用受管代码编写的应用程序可用诸如C或C++等本机代码编写,并且实际上扩展了CLR,如图4中CLR扩展476所示。尽管CLR可提供诸如读、写、打开、关闭、I/O控制等API供框架扩展474使用,但这对某些应用程序而言可能还不足够。例如,如果从应用程序层缓冲通过CLR复制到低层数字信号处理缓冲中,则可能不能足够快地实现高速媒体缓冲。为避免此类复制开销,CLR扩展476中的本机代码可填充单个缓冲集合。
通过使用主计算机系统上的API并下载代码到设备,还可扩展辅助外壳程序370。通常这样做的原因是向自定义的功能添加诸如图标、概述文本、上下文敏感的文本、和菜单项等引用。例如,还被配置成音频播放器的辅助显示设备还可允许记录其它数据,进行游戏,以及维护约会日历。可经由外壳扩展470来添加图标和菜单项,以允许能简便地运行这些不同的应用程序。还可经由对应的扩展474来扩展框架库374。
注意,如图5所示,在辅助显示屏有足够控件的一个实施例中,辅助显示设备的屏幕506的一个区域504被保留,以供设备制造商显示诸如公司徽标等某些信息。该区域可被用于显示对应于扩展的硬件的信息,例如,GPS接收器可在该区域中显示某些GPS数据或图标,当选择该图标时可迅速将GPS数据调到主屏幕。
回到图3,此外,还可在主计算机系统的客户辅助显示API集合304和/或310上扩展该平台。为此目的,为了在设备制造商提供的设备软件和主计算机系统之间进行通信提供一种使用客户API的简单且可扩展的机制。这赋予设备制造商提供需要使用该平台的特别硬件的特定特征的端对端实现的能力。API可扩展性允许设备制造商和独立软件供应商开发主计算机系统上的能与该设备上的自定义硬件交互的客户应用程序306和其它程序302而不要求专门的API。
更特别地,可扩展模型要求在客户应用程序302能向设备发送数据以前指定“端点”。通过让设备制造商扩展辅助设备固件中的代码来通告该设备上的端点,主计算机系统上的软件可标识具有特殊硬件能力的设备,并直接向该端点打开通信信道。客户API被设计成使客户应用程序和该设备之间所传输数据的类型是无关的,例如,可传递文本、二进制数据、媒体、对象、等等。从而该端对端平台提供了硬件的可扩展性而只需要设备制造商一方所花费较少的工作量。
对于增强型设备,本质上唯一的要求是建立端点之间的数据管道,并传入串行化的对象等。实现此要求的一个方法是使用称为.NET远程操作的技术,它允许主计算机系统上的代码对辅助设备上的类进行方法调用。因此,例如,主计算机系统上的应用程序可调用以GPS能力配置的辅助设备以在主计算机系统上获得GPS信息。
如上所述,内容可被下载到增强型设备上的高速缓存中,然后设备本身将根据需要处理该内容。注意,这允许断开的使用,并使系统上运行的多个应用程序提供内容,一般情况下同一时间有一个应用程序运行以访问辅助显示器上被高速缓存的内容。
如可从上文中看到,本发明提供具有可根据需要扩展以支持附加硬件的辅助显示平台。同时,该辅助显示平台令硬件设备的制造商能够使那些设备被作为特征完整的辅助显示器使用,只需少量或甚至无需改变固件来扩展,从而制造商能够轻易添加所需的功能,以及创新并将其设备与其它制造商的设备区别开来。从而本发明提供当代计算中所需的许多好处和优点。
尽管本发明容许各种修改和替换结构,但是在附图中示出了某些示例性实施例,并且以上已经对它们进行了详细的描述。但是,应当理解,本文无意将本发明限制于所揭示的一种或多种具体形式,相反,本发明将覆盖所有落入本发明的精神和范围的修改、替换构造和等效技术方案。

Claims (19)

1.一种能够耦合到主计算机系统的辅助显示设备,所述辅助显示设备包括:
辅助平台,用于显示接收自任何主计算机系统的数据,所述辅助平台能够扩展以支持被加入所述辅助显示设备的扩展的硬件,所述辅助平台包括:
硬件抽象层,它抽象化所述辅助显示设备上的硬件差异并能够根据需要扩展以支持扩展的硬件;
驱动程序层,它包括用于驱动所述辅助显示设备的辅助显示器的驱动程序代码,所述驱动程序层还能够通过包括用于驱动被包含在所述辅助显示设备中的任何扩展的硬件的额外驱动程序代码来扩展;
公共语言运行库层,它用于运行以受控代码编写的程序,其中所述公共语言运行库层能够通过提供以本机代码编写的程序来扩展以根据需要支持扩展的硬件;以及
辅助设备程序代码,它在所述辅助显示设备上显示从所述主计算机系统接收的数据,或显示由包含在所述辅助显示设备中的扩展的硬件所生成的数据。
2.如权利要求1所述的辅助显示设备,其特征在于,所述辅助显示设备是移动通信设备。
3.如权利要求1所述的辅助显示设备,其特征在于,所述辅助显示设备是来自一设备类型集合之中的一个设备,所述设备类型集合包含:单独的计算机;移动通信设备;具有按钮激励器的辅助显示屏;壁式显示器;数字相框;闹钟;电视机;收音机;手表;媒体播放器;嵌入到消费者电子设备的主显示器内或使用所述主显示器的设备;汽车、货车或其它车辆单位;主计算机系统的键盘或其它输入设备;寻呼机;以及个人数字助理。
4.如权利要求1所述的辅助显示设备,其特征在于,所述主计算机系统使用应用程序接口和被包括在所述辅助显示设备上的扩展的硬件通信,所述应用程序接口能够被扩展以在所述主计算机系统上运行的软件代码和所述辅助显示设备上的自定义软件代码之间传输数据。
5.如权利要求1所述的辅助显示设备,其特征在于,所述辅助平台还包括能够扩展以支持所述扩展的硬件的辅助外壳程序。
6.如权利要求1所述的辅助显示设备,其特征在于,所述辅助显示器包括为接收自被包括在所述辅助显示设备中的扩展的硬件的显示定制输出所保留的区域。
7.如权利要求1所述的辅助显示设备,其特征在于,所述扩展的硬件对应于一组件集合中的至少一个硬件组件,所述集合包括:SPOT无线电组件;蓝牙无线电组件;GPS接收器;温度传感器;音频解码器;音频编码器;附加存储组件;生物测定传感器;加速计;RFID标签;RFID读出器;在场检测组件;到存储阵列/系统管理的接口组件;电池;RF发射器;话筒;无线电接收器;以及指示器。
8.如权利要求1所述的辅助显示设备,其特征在于,所述扩展的硬件对应于一组硬件组件中的至少一个,所述一组硬件组件包括:移动电话组件;无线通信组件;以及无线联网组件。
9.一种在一个能够耦合到主计算机系统的辅助显示设备中提供辅助平台的方法,所述辅助平台包括固件,用于显示接收自任何主计算机系统的数据,并且所述辅助平台能够扩展以支持显示接收自被包括在所述辅助显示设备中的扩展的硬件的数据,所述方法包括:
在所述辅助显示设备上安装包括固件堆栈的辅助平台,所述固件堆栈包括:
硬件抽象层,它抽象化所述辅助显示设备上的硬件差异并能够根据需要扩展以支持扩展的硬件;
驱动程序层,它包括用于驱动所述辅助显示设备的辅助显示器的驱动程序代码,所述驱动程序层还能够通过包括用于驱动被包含在所述辅助显示设备中的任何扩展的硬件的额外驱动程序代码来扩展;
公共语言运行库层,它用于运行以受控代码编写的程序,其中所述公共语言运行库层能够通过提供以本机代码编写的程序来扩展以根据需要支持扩展的硬件;以及
辅助设备程序代码,它在所述辅助显示设备上显示从所述主计算机系统接收的数据,或显示由包含在所述辅助显示设备中的扩展的硬件所生成的数据;向所述辅助显示设备添加扩展的硬件;以及
扩展所述固件堆栈以支持所述扩展的硬件。
10.如权利要求9所述的方法,其特征在于,所述固件堆栈包括驱动程序层,且其中,扩展所述固件堆栈包括扩展驱动程序代码。
11.如权利要求9所述的方法,其特征在于,扩展所述固件堆栈包括扩展所述公共语言运行库。
12.如权利要求9所述的方法,其特征在于,所述固件堆栈包括外壳程序,且其中,扩展所述固件堆栈包括扩展所述外壳程序。
13.如权利要求9所述的方法,其特征在于,所述固件堆栈包括框架库,且其中,扩展所述固件堆栈包括扩展所述框架库。
14.如权利要求9所述的方法,其特征在于,向所述辅助显示设备添加扩展的硬件包括配置所述辅助显示设备用于移动通信。
15.如权利要求9所述的方法,其特征在于,添加扩展的硬件包括添加一组件集合中的至少一个硬件组件,所述集合包括:SPOT无线电组件;蓝牙无线电组件;GPS接收器;温度传感器;音频解码器;音频编码器;附加存储组件;生物测定传感器;加速计;RFID标签;RFID读出器;在场检测组件;到存储阵列/系统管理的接口组件;电池;RF发射器;话筒;无线电接收器;以及指示器。
16.如权利要求9所述的方法,其特征在于,添加扩展的硬件包括添加一组件集合中的至少一个硬件组件,所述集合包括:移动电话组件;无线通信组件;无线联网组件。
17.如权利要求9所述的方法,其特征在于,还包括在所述主计算机系统上运行的程序和在对应于所述被添加的扩展的硬件的所述辅助显示设备上运行的自定义软件代码之间传递数据。
18.如权利要求9所述的方法,其特征在于,还包括在所述辅助显示器上为显示定制输出所保留的区域上显示自定义信息。
19.一种用于提供辅助平台的系统,所述辅助平台包括固件,用于显示接收自任何主计算机系统的数据,并且所述辅助平台能够扩展以支持显示接收自被包括在所述辅助显示设备中的扩展的硬件的数据,所述用于提供辅助平台的系统包括:
用于在所述辅助显示设备上安装具有固件堆栈的辅助平台的装置,所述固件堆栈包括:
硬件抽象层,它抽象化所述辅助显示设备上的硬件差异并能够根据需要扩展以支持扩展的硬件;
驱动程序层,它包括用于驱动所述辅助显示设备的辅助显示器的驱动程序代码,所述驱动程序层还能够通过包括用于驱动被包含在所述辅助显示设备中的任何扩展的硬件的额外驱动程序代码来扩展;
公共语言运行库层,它用于运行以受控代码编写的程序,其中所述公共语言运行库层能够通过提供以本机代码编写的程序来扩展以根据需要支持扩展的硬件;以及
辅助设备程序代码,它在所述辅助显示设备上显示从所述主计算机系统接收的数据,或显示由包含在所述辅助显示设备中的扩展的硬件所生成的数据;
用于向所述辅助显示设备添加扩展的硬件的装置;以及
用于扩展所述固件堆栈以支持所述扩展的硬件的装置。
CN200510127138.9A 2004-11-23 2005-11-22 辅助显示器的可扩展体系结构 Expired - Fee Related CN1782996B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/996,634 2004-11-23
US10/996,634 US7549154B2 (en) 2004-11-23 2004-11-23 Extensible architecture for auxiliary displays

Publications (2)

Publication Number Publication Date
CN1782996A CN1782996A (zh) 2006-06-07
CN1782996B true CN1782996B (zh) 2010-06-16

Family

ID=36204306

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200510127138.9A Expired - Fee Related CN1782996B (zh) 2004-11-23 2005-11-22 辅助显示器的可扩展体系结构

Country Status (10)

Country Link
US (1) US7549154B2 (zh)
EP (1) EP1659484A3 (zh)
JP (1) JP4907964B2 (zh)
KR (1) KR101201028B1 (zh)
CN (1) CN1782996B (zh)
AU (1) AU2005232323B2 (zh)
BR (1) BRPI0504860A (zh)
CA (1) CA2527481A1 (zh)
MX (1) MXPA05012648A (zh)
RU (1) RU2406119C2 (zh)

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7221331B2 (en) * 2003-05-05 2007-05-22 Microsoft Corporation Method and system for auxiliary display of information for a computing device
US7827232B2 (en) * 2003-05-05 2010-11-02 Microsoft Corporation Record button on a computer system
US20040235520A1 (en) 2003-05-20 2004-11-25 Cadiz Jonathan Jay Enhanced telephony computer user interface allowing user interaction and control of a telephone using a personal computer
US7216221B2 (en) * 2003-09-30 2007-05-08 Microsoft Corporation Method and system for unified audio control on a personal computer
US7581034B2 (en) * 2004-11-23 2009-08-25 Microsoft Corporation Sending notifications to auxiliary displays
US7711868B2 (en) * 2004-11-23 2010-05-04 Microsoft Corporation Waking a main computer system to pre-fetch data for an auxiliary computing device
US7784065B2 (en) 2005-02-07 2010-08-24 Microsoft Corporation Interface for consistent program interaction with auxiliary computing devices
US8332830B2 (en) * 2005-02-08 2012-12-11 Eliezer Kantorowitz Environment-independent software
US20060242590A1 (en) * 2005-04-21 2006-10-26 Microsoft Corporation Simple content format for auxiliary display devices
US20070079030A1 (en) * 2005-09-30 2007-04-05 Intel Corporation Auxiliary display and storage unit
US8972532B2 (en) * 2006-06-30 2015-03-03 Ca, Inc. Providing hardware configuration management for heterogeneous computers
KR20080047811A (ko) * 2006-11-27 2008-05-30 삼성전자주식회사 영상처리장치를 포함하는 디스플레이시스템과,영상처리장치와 연결되는 디스플레이장치 및 그디스플레이방법
US8528825B2 (en) 2007-01-03 2013-09-10 Intelleflex Corporation Long range RFID device as modem and systems implementing same
US8941496B2 (en) * 2007-01-03 2015-01-27 Intelleflex Corporation Long range RFID device for battery monitoring and systems implementing same
TWI329265B (en) * 2007-01-16 2010-08-21 Asustek Comp Inc Portable computer
US8127310B1 (en) * 2007-03-26 2012-02-28 Celio Corporation Method and apparatus for dynamically switching display drivers in mobile device operating system
US8042122B2 (en) * 2007-06-27 2011-10-18 Microsoft Corporation Hybrid resource manager
US20090021486A1 (en) * 2007-07-19 2009-01-22 Apple Inc. Dashboard Surfaces
CN101499113B (zh) * 2008-01-28 2011-03-30 联想(北京)有限公司 安全调度显示的系统、方法及辅助显示装置
US8375402B2 (en) * 2009-03-25 2013-02-12 Honeywell International Inc. Mechanism for interfacing a display screen of another technology with a computing platform
US8019903B2 (en) * 2009-03-27 2011-09-13 Microsoft Corporation Removable accessory for a computing device
US8245243B1 (en) * 2009-07-06 2012-08-14 Xilinx, Inc. Transforming device drivers to improve efficiency
US9268367B2 (en) 2010-10-13 2016-02-23 Microsoft Technology Licensing, Llc Use of low-power display on device
US9015576B2 (en) * 2011-05-16 2015-04-21 Microsoft Technology Licensing, Llc Informed partitioning of data in a markup-based document
US10417018B2 (en) 2011-05-27 2019-09-17 Microsoft Technology Licensing, Llc Navigation of immersive and desktop shells
US8924885B2 (en) * 2011-05-27 2014-12-30 Microsoft Corporation Desktop as immersive application
CN103563391A (zh) 2011-05-27 2014-02-05 汤姆逊许可公司 用于多屏幕媒体体验的方法、装置和系统
US9843665B2 (en) 2011-05-27 2017-12-12 Microsoft Technology Licensing, Llc Display of immersive and desktop shells
US9514492B2 (en) * 2012-11-05 2016-12-06 Mfoundry, Inc. Systems and methods for providing financial service extensions
KR102109051B1 (ko) * 2013-08-06 2020-05-11 삼성전자주식회사 기능 확장장치, 디스플레이 장치 및 이의 제어 방법
CN105320500B (zh) * 2014-06-11 2018-08-03 先智云端数据股份有限公司 在云端环境中为应用程序编程接口封装功能的方法
US10191738B1 (en) * 2015-07-27 2019-01-29 Invensense, Inc. Systems and methods for interfacing a sensor and a processor
CN105633960A (zh) * 2016-03-09 2016-06-01 东南大学 多适应性黑启动装置
CN109672884B (zh) * 2017-10-13 2022-05-10 斑马智行网络(香港)有限公司 图像硬件编码处理方法和装置
US11153631B2 (en) * 2017-11-10 2021-10-19 Huawei Technologies Co., Ltd. Method and apparatus for playing television program
CN113868165A (zh) * 2021-09-28 2021-12-31 许昌许继软件技术有限公司 一种基于辅助设备就地模块的通信装置及方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1357194A (zh) * 1999-05-21 2002-07-03 通用仪器公司 用于与多个操作环境兼容的电视顶设终端机的软件体系结构
EP1475731A1 (en) * 2003-05-05 2004-11-10 Microsoft Corporation Method and system for auxiliary display of information for a computing device

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4860342A (en) * 1987-04-09 1989-08-22 Danner David L Computer-telephone interface method and apparatus
WO1996002049A1 (en) 1994-07-08 1996-01-25 Algorhythms, Inc. Computer on-screen telephone having a telephone construction kit and method of operation
US5831606A (en) * 1994-12-13 1998-11-03 Microsoft Corporation Shell extensions for an operating system
US5745761A (en) * 1994-12-15 1998-04-28 International Business Machines Corporation Advanced graphics driver architecture with extension capability
JP3459149B2 (ja) 1995-11-06 2003-10-20 シャープ株式会社 電子メール転送システム
EP0777394A1 (en) 1995-12-01 1997-06-04 ALCATEL BELL Naamloze Vennootschap Method and apparatus for electronic mail transmission as short messages towards a mobile radio terminal
EP0838934A4 (en) 1996-03-13 1999-11-17 Nippon Telegraph & Telephone MAIL RECEIVING NOTIFICATION SYSTEM AND METHOD
US5991822A (en) * 1997-03-17 1999-11-23 International Business Machines Corporation System for modifying functions of static device driver using a registered driver extension extended dynamically by providing an entry point for the driver extension
US6240168B1 (en) * 1998-10-29 2001-05-29 Picazo Communications Method and apparatus for controlling a computer to implement telephone functions with a displayed telephone of variable size
GB2353184A (en) * 1999-08-13 2001-02-14 Nokia Mobile Phones Ltd Disabling a touch sensitive display screen when a call is established
US6603855B1 (en) * 1999-10-21 2003-08-05 Agere Systems Inc. Cordless phone notification of extended off-hook using parallel set detection
US20030023700A1 (en) * 2001-07-27 2003-01-30 Lightsurf Technologies, Inc. System and methodology providing on-board user interface
US6907482B2 (en) * 2001-12-13 2005-06-14 Microsoft Corporation Universal graphic adapter for interfacing with hardware and means for encapsulating and abstracting details of the hardware
EP1491036A1 (en) * 2002-04-04 2004-12-29 General Instrument Corporation Method and apparatus for displaying graphics on an auxiliary display device using low level graphics drivers
US7106472B2 (en) * 2002-10-31 2006-09-12 Hewlett-Packard Development Company, L.P. Print driver for an extended printing device
US7146488B2 (en) * 2003-04-16 2006-12-05 Hewlett-Packard Development Company, L.P. System and method for expanding processor functionality
US7240228B2 (en) * 2003-05-05 2007-07-03 Microsoft Corporation Method and system for standby auxiliary processing of information for a computing device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1357194A (zh) * 1999-05-21 2002-07-03 通用仪器公司 用于与多个操作环境兼容的电视顶设终端机的软件体系结构
EP1475731A1 (en) * 2003-05-05 2004-11-10 Microsoft Corporation Method and system for auxiliary display of information for a computing device

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
张益农,黄文玲.嵌入式操作系统中硬件抽象层的描述.内蒙古工业大学学报21 4.2002,21(4),全文.
张益农,黄文玲.嵌入式操作系统中硬件抽象层的描述.内蒙古工业大学学报21 4.2002,21(4),全文. *

Also Published As

Publication number Publication date
RU2005136309A (ru) 2007-05-27
BRPI0504860A (pt) 2006-07-11
EP1659484A3 (en) 2008-12-17
JP2006209738A (ja) 2006-08-10
US7549154B2 (en) 2009-06-16
MXPA05012648A (es) 2006-05-25
US20060130072A1 (en) 2006-06-15
AU2005232323B2 (en) 2010-10-21
EP1659484A2 (en) 2006-05-24
KR20060057512A (ko) 2006-05-26
CA2527481A1 (en) 2006-05-23
CN1782996A (zh) 2006-06-07
JP4907964B2 (ja) 2012-04-04
RU2406119C2 (ru) 2010-12-10
KR101201028B1 (ko) 2012-11-14
AU2005232323A1 (en) 2006-06-08

Similar Documents

Publication Publication Date Title
CN1782996B (zh) 辅助显示器的可扩展体系结构
CN100552619C (zh) 用于处理辅助设备接收的数据的方法和系统
RU2400802C2 (ru) Способ и система для обмена данными между компьютерными системами и вспомогательными дисплеями
CN101432690B (zh) Bios配置更新技术
KR100349032B1 (ko) 전자회로를 가지는 기억매체와 이 기억매체를 가지는 컴퓨터 시스템
CN1782956A (zh) 唤醒主计算机系统以预取辅助计算设备的数据
CN103403644A (zh) 计算机的延迟关停
CN105453032B (zh) 经由通信接口提取操作系统特定的特性
CN107105073A (zh) 电子装置、辅助设备及使用该辅助设备的信息显示方法
KR20060047711A (ko) 보조 정보의 오프라인 디스플레이 및 네비게이션을 위하여데이터를 캐싱하는 방법 및 시스템
CN104885426A (zh) 触觉信息
CN102930191A (zh) 用于受限显示设备的基于角色的用户界面
CN105247482A (zh) 更新应用的方法和装置
CN103119589A (zh) 用于将移动设备功能绑定到应用定义的方法和装置
WO2006079967A2 (en) Method of automatically synchronizing data
CN103907078A (zh) 用于在多个设备之间进行输入共享的系统和方法
US20030216954A1 (en) Apparatus and method for exchanging and storing personal information
CN109683967A (zh) 固件支持方法、装置、移动终端及可读存储介质
CN108304575A (zh) 一种标识显示的方法及终端
US20220350476A1 (en) Electronic device, method, and computer-readable recording medium for deactivating chat room of messenger application
Miller Your First Notebook PC

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
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150507

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150507

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100616

Termination date: 20191122

CF01 Termination of patent right due to non-payment of annual fee