处理辅助计算设备接收的信息的制作方法

文档序号:6635014阅读:201来源:国知局
专利名称:处理辅助计算设备接收的信息的制作方法
技术领域
本发明一般涉及计算机系统,并且特别涉及一种改进的用于显示一种计算设备的信息的方法和系统。
背景技术
膝上型电脑和其它移动设备允许用户在不同地点工作,这就为用户提供了很大的便利。但是,当用户在不同地点间移动时,这些移动设备就经常被关机,特别是膝上型电脑在合上盖子移动时。结果,访问该设备上的相关数据就需要打开膝上型电脑盖,等待启动并定位到需要的信息。这是一种耗费时间并且是用户所不想要的经历,特别是当想要的数据是如同会议房间号码这样简单的事情。
序列号为10/429,930和10/429,932的美国专利申请主要涉及具有辅助处理和辅助机制的计算机系统的概念,特别涉及相关显示机制,该显示机制提供了某种计算功能。例如,盖子或膝上型电脑侧边上的小型LCD可向其所有者提供有用信息,例如,会议地点和时间。
但是,在以前这样的辅助显示器仅限于小范围的、有限的业务,其中针对可被显示的信息定制一个专用的辅助显示程序。例如,如果想要会议信息,要是编程辅助显示程序来显示特殊类型的数据,象有关用于当前会议的数据一样的特殊类型的数据,用户将仅仅看到该信息。此外,任何显示的数据都是静态的;对数据的任何改变都需要将计算机返回到开机状态,从而进行改变。
这就需要一种针对应用程序的方法,这些应用程序运行在计算机系统的主操作系统下,提供在计算机系统的辅助显示器上显示的适当数据,这包括当有时新数据可以使用并且主显示器不容易访问或者根本不能访问时,例如当计算机系统实际上关机的时候。

发明内容
简要地说,本发明提供了一种机制,其用于在一个与主计算机系统相连的辅助设备处接收新的数据,并且在辅助系统的固件内处理此新数据以便采取某种动作。数据的接收和处理不受主计算机系统处于开机状态(联机)还是关机状态(脱机)的限制。例如,辅助显示设备可以将来自缓存的数据显示给用户,并且新数据可用于更新或扩充缓存中的数据。这可以在主计算机系统联机并且提供可在辅助设备上显示的其他数据时完成,或者在主计算机系统脱机并且仅仅缓存可以用作主系统应用程序数据源的子集时完成。其实,辅助设备从多个信源接收数据,并且将主计算机系统也作为一个信源。
在脱机运行中,缓存保留与结构化导航信息有关的用户应用程序数据,因此,用户可以在这些数据中导航,例如,看数据页面。当主CPU、操作系统和应用程序联机时,它们可以构建数据缓存并将其传给辅助设备可以访问的介质,例如,固件中的辅助存储器。
缓存可以用辅助设备接收的新数据更新,所述辅助设备不包括主CPU、操作系统和应用程序。由于数据是在辅助程序中处理的,因此不依赖于主CPU、操作系统和应用程序是否正在运行,对于该辅助设备来说该新数据是可用的。因此,在联机状态下,新数据可以补充应用程序数据,在脱机状态下添加到缓存应用程序数据的树中,和/或替换或移除树中的一些内容。在一个实施中,缓存可被安排为一个树结构,因此如果一个新的分支不涉及使其数据缓存的程序,那么新的信息可以添加到一个新的分支,或者如果相关数据已经在缓存中了,就更新缓存的数据。
新数据的源包括通过无线或有线连接到固件接收的远程数据。数据源的其它例子包括任何主计算机硬件件,例如电池控制器或网卡,这种部件当主计算机系统部件(CPU、操作系统等等)脱机时仍继续运行。处理接收的数据,来更新辅助显示器,或者执行其他动作,例如,唤醒主计算机系统。


当结合附图时,根据下面的详细说明,其他优点将更加显而易见,其中图1是一个表示可结合本发明的传统个人计算机形式的通用计算设备的方框图;图2A-2E是一般表示安装在各种设备上的辅助显示器的位置的示例性图示;图3是一般表示分层结构的方框图,通过此分层结构应用程序可以与根据本发明一方面的任意辅助显示设备的固件交换数据;图4表示根据本发明的一个方面,在一个实施中,具有辅助显示设备服务的辅助-获知应用程序接口如何与辅助设备交换数据;图5是一般表示根据本发明的一个方面提供脱机导航的部件的方框图;图6表示根据本发明一个方面树形的导航结构的一个实例,该树用于缓存用户数据来提供脱机导航;图7表示根据本发明的一个方面,在一个实施中一个辅助显示服务可以如何调整与多种显示设备一起工作;图8表示根据本发明的一个方面,当主计算机系统处于联机状态时,数据如何流入辅助设备中;图9表示根据本发明的一个方面,当主计算机系统处于脱机状态时,数据如何流入辅助设备中;图10表示根据本发明的一个方面,可用辅助数据更新的树形的结构化缓存数据;图11A-11C表示根据本发明的一个方面,用脱机状态下主计算机系统接收的辅助数据更新的树形的结构化缓存数据。
具体实施例方式
示例操作环境图1是一个表示可结合本发明的个人计算机形式的计算设备120的方框图。本领域的技术人员会理解,图1所示的个人计算机系统120仅仅是说明性的,并且本发明可以用其他计算机系统配置实施,包括掌上设备、多处理器系统、基于微处理器或可编程消费电子设备、网络PC、迷你计算机、大型计算机、无头服务器(headless server)等等。本发明也可以在分布式计算环境中实施,在该环境中,任务由通过通信网络链接的远程处理设备执行。在分布式计算环境中,程序模块既可以位于本地存储器设备中也可以位于远程存储器设备中。
个人计算机系统120包括处理单元121、系统存储器122以及系统总线123,该系统总线123将包括系统存储器在内的各种系统部件耦合到处理单元121。系统总线123可以是任意类型的总线结构,这包括存储器总线或者存储器控制器、外围总线,以及使用任意总线结构的局域总线。系统存储器包括只读存储器(ROM)124和随机存储器(RAM)125。基本输入/输出系统126(BIOS)被存储在ROM124中,该基本输入/输出系统126包含有助于在个人计算机120中的单元之间传输信息的基本程序,例如在启动期间。个人计算机120可进一步包括用于从硬盘读取和写入其中的硬盘驱动器127,硬盘没有图示,用于从可移动磁盘129读取和写入其中的磁盘驱动器128,以及用于从诸如CD-ROM或其他光介质的可移动光盘131读取或写入其中的光盘驱动器130。硬盘驱动器127、磁盘驱动器128和光盘驱动器130分别通过硬盘驱动器接口132、磁盘驱动器接口133和光盘驱动器借口134连接到系统总线123。驱动器及其相关计算机可读介质提供了计算机可读指令、数据结构、程序模块和用于个人计算机120的其他数据的非易失存储器。尽管这里描述的示例性计算机系统使用了一个硬盘驱动器、一个可移动磁盘129以及一个可移动光盘131,但是本领域的技术人员应当意识到在示例性计算机系统中也可以使用其他类型的计算机可读介质,这些介质能存储计算机可访问数据,例如盒式磁带、闪存卡、数字视频光盘、伯努里式盒式磁盘、随机访问存储器(RAM)、只读存储器(ROM)等等。
在硬盘、磁盘129、光盘131、ROM124或RAM125中可存储许多程序模块,包括操作系统135(例如WindowsXP)、一个或多个应用程序136(例如MicrosoftOutlook)、其他程序模块137和程序数据138。用户可以通过例如键盘140和指示设备142的输入设备向个人计算机120中输入命令和信息。其他的输入设备(未示出)可包括麦克风、操纵杆、游戏垫(game pad)、卫星天线、扫描仪等等。这些和其他输入设备通常通过与系统总线耦合的串行接口146连接到处理单元121,但是也可以通过其他接口连接,例如,并行端口、游戏端口或者通用串行总线(USB)。监视器147或者其他类型的显示设备通过诸如视频适配器148的接口连接到系统总线123。除了监视器147之外,个人计算机一般还包括其他外围输出设备(未示出),例如,扬声器和打印机。辅助显示器200是一个附加的输出设备,并且,例如可以通过辅助显示器接口155连接到系统总线123。辅助显示器101也可以通过串行接口和其他接口连接到计算设备20,其他接口例如是并行端口、游戏端口、红外或无线连接、通用串行总线(USB)或其他外围设备连接。图1中的输入设备201可以提供一个或多个操作件(actuator),以便与辅助显示器200界面连接和/或控制该辅助显示器200,并且例如可以通过输入设备接口156连接到系统总线123,该输入设备接口156可以是串行接口或者其他接口,例如,并行端口、游戏端口、红外或无线连接、通用串行总线(USB)或其他外围设备连接。
利用到诸如远程计算机149的一个或多个远程计算机的逻辑连接,个人计算机120可以工作在网络环境中。远程计算机149可以是另一台个人计算机、服务器、路由器、网络PC、对等设备或其他公共网络节点,并且尽管在图1中仅仅示出了一个存储器设备150,但是远程计算机一般包括上述有关个人计算机120的许多或所有的元件。图1描述的逻辑连接包括一个局域网(LAN)151和广域网(WAN)152。此网络环境在办公室、公司级计算机环境、内联网和互联网中是很普遍的。
当使用在一个LAN网络环境中时,个人计算机120通过网络接口或适配器153连接到局域网151。当使用在一个WAN网络环境中时,个人计算机120一般包括一个调制解调器154,或者用于在诸如互联网的广域网152上建立通信的其他装置。调制解调器154可以是内置的或是外置的,并通过串行端口接口146连接到系统总线123。在网络环境中,描述的涉及个人计算机120的程序模块或者其部分程序模块可以存储在远程存储器设备中。应当理解的是,所示的网络连接是示例性的,并且可以使用用于在计算机间建立通信的其他手段。
应当注意的是,根据本发明,辅助显示器的运行不需要计算机系统完全可运行。实际上,正如下面将参照图6所述的,当计算机关机,至少达到一种默认程度或者用户配制的程度,例如,当计算机系统处于睡眠状态或者休眠模式时,并且/或者当用户尚未登录或通过安全机制锁定系统时,辅助显示器仍然可以工作。例如,当计算机系统关机时,用户可能需要一个听筒和扬声器电话,而该听筒和扬声器电话又是集成到个人计算机系统,象常规应用程序一样工作,就可以将辅助显示器作为主叫-ID设备。此设备也可以存储数据,以便当计算机系统再次启动时,例如记录接收的呼叫时,包括计算机系统并没有完全启动时,用于随后向计算机系统传输。
辅助显示器也可以补充主显示器,并且当主显示器关闭或者不能运行(例如未连接时),而不能向用户提供某些信息时,也可以作为替代显示器。例如,诸如如何启动主显示器的信息将是有用的,当主显示器关闭和/或不容易观看(例如膝上型电脑的上盖关闭)时,这可以是连接到用户可以观看的移动计算机的辅助显示设备上的会议房间号和/或方位。注意,即使在一个具有连续(continually)可视屏幕的平板PC上,主显示器也可能为了省电而关闭,因此辅助显示器具有实际意义的益处。注意,用户可能会根据计算机系统的状态限制显示范围,例如,当用户没有登录时,仅仅可以显示某些非敏感或者特别控制的信息等等。
为了在关机模式中可用和控制通信,在非易失性存储器中可具有固件,当第二处理器加载并且操作该固件时,只要一些电源可用,该固件就可以使辅助显示器和其他可用的辅助部件可用。注意,正如这里所用的,术语“固件”一般可以被认为表示辅助存储器、其中的代码和/或在其上运行的第二处理器。
图2A-2E分别表示用于在计算设备上安装或与计算设备有关的辅助显示屏200a-200e的位置。如图2A和2B所示,辅助显示屏200a可安装在独立(陆上通信或移动)电话202(其不需要物理连接,例如通过蓝牙技术)的前面、后面或其他表面,和/或另一辅助显示器200b可安装在移动计算机204或图形输入计算设备(未示出)的侧面或上盖上。另一个用于辅助显示200c(图2C)的位置可以在一台计算机上的电话上或者附加在一计算机上的外围设备上,例如监视器206或键盘上(未示出)。图2D和2E分别表示在独立控制台208前面板或某种其他外壳210(例如主板的外壳)上的辅助显示器200d和200e的其他位置,该独立控制台208连接到一台计算机。本领域的技术人员应当理解,辅助显示屏可以位于任何计算设备或其他具显示能力的设备的任何表面上,例如位于以无线或其他连接方式连接到一台计算机的手表上、一台远程控制设备上、一台远程壁式单元等等。
从图2A-2E看应该更明显,辅助显示器可以是任何数量的已知类型的显示器,例如一个或多个LED、一个2-行字母数字显示器、一个单色显示器或一个彩色显示器。本领域的技术人员应当理解,本发明也可以将其他计算设备或通信设备的显示器用作辅助显示器200。这些其他计算设备或通信设备包括通用计算机、蜂窝电话以及诸如寻呼机或个人数字助理(PDA)的掌上设备。此外,本发明可以在计算设备120屏幕显示的一个区域内实现虚拟辅助显示器作为辅助显示器200(例如屏幕保护程序或者用户图形接口的一个部件),包括在用户登录之前实现。辅助显示器200可包括上述形式的任意组合,并且也可以与指示器物理或逻辑组合,和/或与一虚拟辅助显示器结合使用,所述指示器诸如一个或多个LED。
即使缺少显示器,也可以方便地将一个或多个LED用作通知有关活动事件的辅助显示器200。可以低成本并且低能耗的实现这种辅助显示器,并以一种不引人注目的方式提供通知。其可用有效地用于具有非常紧密波形系数的系统,或者用于由他人管理的用户通信的系统。当需要从远距离观看通知时,辅助显示器200也是很有效果的。当具有与活动有关的信息内容时,诸如新邮件消息的通知,辅助显示器也可以与屏幕虚拟辅助显示器结合使用。在这种情况下,邮件的内容也可以显示在虚拟辅助显示器200上。进一步地,当不期望内容的显示时,辅助显示器200可以有效用于公共系统(图书馆或信息站)或共享的计算机。
可选择地,当成本或空间紧缺但通知和基本内容又是期望的时候,2-行字母数字显示器可方便地用作辅助显示器200。2-行字母数字显示器可以有效地用于平板PC、膝上型电脑、廉价(budget)PC、电话连接站、监视器荧光屏以及小型或低成本PC装置或外围设备,例如耳机、键盘或远程控制。其也可以有效用作呼叫者ID单元(box)的替代品。
进一步地,单色或彩色多行显示器可以方便地用作富有媒体应用程序、高端用户系统或媒体中心系统的辅助显示器200。单色或彩色多行显示器可以有效地用作具有大量波形因数或者着重于通信的高端膝上型电脑、着重于重大商务或通信的全功能PC、媒体中心或高端媒体装置(包括具有便携媒体功能的远程、控制台系统)以及移动辅助显示。此外,另一计算或通信设备的显示器可方便地用作辅助显示器200,当用户使用他们的PC时,用户可以在该显示器处扩展那些补充设备的功能。这些其他计算或通信设备包括通用计算机、蜂窝电话和诸如寻呼机或个人数字助理(PDA)的掌上设备。进一步,要注意,辅助显示器不需要是一个实际的显示器,其可以是信息的投影(例如,投影在墙上)。这里所指的辅助显示器基本上可以由可感知的任何东西组成,包括任何可视的、可听到的和/或可触知的表示。
正如前面所述的,当内容显示是不需要的时候,虚拟辅助显示器可被用作公共系统(图书馆或信息站)或共享计算机的辅助显示器200。虚拟辅助显示器也可以有效地用于低成本系统,或者用于具有最小波形因数的设备,该最小波形因数正好使LED不可用。虚拟辅助显示器可以被实施为屏幕保护或者图形用户接口的一个部件。
这里被称为操作件的输入设备201(多个,甚至仅仅是单个诸如一个按键或指示设备的机构)向用户提供了一种在应用程序数据或通知的不同种类之间转换的机制,该通知例如是电子邮件通知、语音邮件通知、日程通知、系统状态通知、呼叫者ID列表及其他类型的通知消息。伴随这样的转换按钮的也可以是一个向上按钮和一个向下按钮,以便允许用户在特定种类的通知消息中向前或向后翻滚。本领域的技术人员应当理解,可以使用任何类型的操作件,例如,键盘、麦克风、操纵杆、游戏垫或包含一种器件的其他设备,该器件包括生物统计传感器、环境传感器、位置传感器或其他类型的传感器。图1所示的计算设备120的任何输入设备都可以用作输入设备(操作件)201,并且可以与独立操作件结合使用。
脱机辅助显示器操作的缓存应当理解,本发明为用户简单并快捷浏览辅助信息而提供了一个辅助显示器200。与本发明一致,通过使用操作件201在可在辅助显示器上表示的应用程序数据中选择,用户可以在一个范围内选择在辅助显示器上显示什么信息。尽管程序数据和事件通知将用于说明信息的辅助显示,但是应当理解,本发明可提供其他类型的信息的辅助显示,例如来自有关互联网服务器的数据,该服务器包括事务服务器、拍卖服务器、广告服务器、娱乐服务器以及定位服务器。这些服务器可提供包括金融事务信息、标题或其他新闻、股票报价、体育得分、拍卖或其他投标状态、天气数据以及其他信息,其他信息包括用户请求的特殊信息和主动提供的信息。应当理解,辅助显示器200可以利用任何数量的已知类型的显示器实施,例如,一组通知灯光、一个2-行字母数字显示器、一个单色显示器或一个彩色显示器。注意,正如这里所使用的,简称的“辅助显示器设备”一般是指辅助显示屏和/或操作件,该操作件与该屏幕以及该设备中的任何其他硬件、固件或软件相关联,但是应当理解,该屏幕和操作件可以是独立机构,和/或应当理解,可以不需要物理接触输入数据的操作件。进一步地,要注意,辅助显示设备可被认为是可能包含的指示器(例如,单个LED),该指示器替代或补充了像素类型的显示屏。
根据本发明的一个方面,本发明有助于在主CPU/操作系统和应用程序不运行时使用辅助显示器,也就是在系统脱机时,但辅助设备保持运行。注意,脱机辅助系统部件用固件来实施,该固件包括辅助处理器和保存了可执行代码和数据的辅助存储器。为了实现脱机运行,当联机时,主CPU/操作系统和应用程序准备好了数据缓存和其他信息,然后将其传输给固件中的辅助存储器,用于脱机使用。
该传输可以是关断电源(例如,关闭/睡眠/休眠时)时缓存的完全传输,或者可以由后台处理等部分执行,这样在关断电源时仅仅需要同步(代替了完全数据传输)。此外,诸如台式计算机的计算设备可以不进入关断电源状态来进行这样的缓存访问。例如,通过后台处理或者人工初始操作,就可以构建缓存。如果要远程访问缓存,那么用户将远程访问缓存的辅助信息,并且不需要关断计算机设备的电源就可以进行远程设备的传输。这样,假设一个用户没有携带计算机而出席一个会议,那么其就可以将诸如智能电话的另一个设备配制为远程访问主计算机的缓存数据。由于这种缓存,远程用户可以通过远程设备远程浏览并导航缓存,由于该缓存,该远程设备就成为系统的辅助显示器。
正如图3所表示的,还提供了一种分层的结构,通过该结构,一个或多个应用程序302可以与任何类型的辅助显示设备实际连接,以便向其显示器200输出数据和/或通过操作件201与用户交互。这样,就提供了一种具有独立软件结构层的结构,正如在前述相关美国专利申请“辅助显示系统结构”中所描述的。注意,在相关的美国专利申请中,尽管稍微有些独立的分组部件可能与本发明的图3有略微的不同,但是所示的各层一般与图3的顺序相同。在任何情况下,在图3中服务可以被看作是独立的层304,应用程序层302位于服务层304上,协议层306在服务层304下。
在图3所示的实施中,出现了四个层,每层都通过接口相分离。更具体地,除了应用程序层302、服务层304和协议层306,还具有一个图3所示的固件层308。如下将描述的,这些层提供了一个简明的机制,通过该机制应用程序可以以结构化的方式提供用于缓存的辅助数据,这种结构方式向用户提供了对相关缓存信息的简单访问,而无须接通计算机的电源(和/或,如果是膝上型电脑或盖上的平板设备,打开设备查看主显示屏)。
图4详细示出了一些层和各种接口。通常,应用程序层302提供作为应用程序接口(API)的控制和自带接口,应用程序接口将在下面描述,应用程序层302便于结构化缓存的创建,例如,以一种树形格式或其他适合的结构。应用程序层302的一个目的是提供对结构化缓存的细节的提取,从而使应用程序仅仅需要提供数据,而不是使其与一种特定的结构相一致。
当服务层编址表示辅助信息的某些方面时,即裁决、中断和缓存创建时,应用程序层302为开发者提供了构建解决方案的一个接口。裁决(如在前述的美国相关专利申请“辅助显示系统结构”中一般性的描述)和中断支持提供一种允许共享资源的框架。
根据本发明的一个方面,缓存创建是结构化脱机使用的应用程序数据的机制。正如下面参照图5的描述,服务层以保存内容和结构信息的方式创建缓存,从而当与联机操作状态完全隔离的时候,固件可以导航数据。正如随后将进一步描述的,在一个实施中,服务层也负责修改其内容大小超出了为辅助设备固件分配的存储容量的数据结构。
如图4中所示,应用程序层302和辅助显示服务层304可以使用不同的结构和功能,包括辅助登记,应用程序402(相关程序插件)通过该辅助登记向辅助显示层304的服务登记部件404登记其本身。在图4的实施例中,为了此目的,服务登记部件404提供了一个IAuxAppReg接口。其他应用程序可以同样地通过此接口登记。
一旦登记了,辅助应用程序402就具有了从相关辅助显示设备和/或相关信源接收事件的能力。例如,一旦辅助设备可以使用了,事件就可以被发送到辅助应用程序部件402,而另一个事件将可以对应于与辅助设备操作件的用户交互。在图4的实施例中,应用程序实施并展示了用于接收此事件的IAuxAppSink接口。
应用程序402也具有列举可用的辅助硬件设备或可用的设备的能力。在图4的实施例中,辅助设备服务306中的介体部件406通过IAuxMediator接口提供了列举功能。在此方式中,设备或与该设备有关的某些数据(例如,相应的XML文件)可向应用程序402报告设备显示屏等和/或其操作件的性能。然后应用程序402可根据显示器调整输入和输出,例如可为设备特性修改的色彩方案、分辨率、导航命令等等。
通过IAuxMediator接口也可以在服务层的介体部件406中提供裁决,以便提供确定哪个应用程序402应当使其数据当前被显示和应当接收导航命令的机制。注意,多个应用程序可以合理地依次共享显示器;换句话说,介体的裁决功能管理辅助应用程序和/或插件程序的优先权(z轴次序)。
协议层306创建了一种提取功能,通过该提取功能,服务层304可从辅助设备那里发送和接收数据。这样,协议层306就方便地维持硬件独立性的等级。为了与设备通信数据,服务层可通过IAuxDevice接口写入显示器或者设置指示器的状态。
一旦允许程序通过其操作件写入显示器并且接收命令,辅助系统参考是一种提供blit/提交到一提取的存储器缓冲器的能力的机制,该缓冲器允许当前选择的辅助应用程序(例如插件程序)部件402使用显示器资源。在不允许脱机缓存的实施中,介体可以将参考指针传给辅助应用程序的辅助设备接口,并且使应用程序此后调用该接口,以便直接向显示器和/或指示器提供显示数据。这在可脱机模式中也是可行的,但是随后应用程序将负责构建数据,该数据不是这里通常需要的完全相同的提取等级。这样,在图4的实施例中,应用程序通过服务层(介体接口)传送其数据,从而服务层可以构建代码用于脱机缓存。注意,当联机运行时,可以使用与缓存相同的结构,尽管联机时不是发送缓存,但是可以将到缓存的指针发送给协议/固件层,这样辅助设备就可以仅仅获得在当前时刻需要显示的数据,而不是接收所有组的缓存数据或者定期地同步一个缓存复本。
很容易理解,各种层都以一种综合的和可扩展的结构提供了辅助功能。可插入结构方便了应用程序的写入,该应用程序无需理解或处理低级需求就可以使用辅助资源。
根据本发明的一个方面,相关程序数据和其他信息被缓存用于辅助显示设备使用。一个一般目的是将信息缓存到一个快速可存取存储器,并且为应用程序提供了一种直接方法,以便来提供要缓存的信息。为此,在一个实施中,数据被构造为树形格式(被称为结构缓存树),并且为构建结构缓存树提供了简单图元。在此实施中,结构缓存树的集合(或树子集)、到固件的该树的传输以及主计算机关断电源时固件与树数据交互提供了一个方便脱机使用辅助显示器的机制。
图5表示仅仅联机部件和数据以及脱机(固件)部件和数据之间的划分,该脱机部件和数据当主系统联机时可以与联机部件和数据一起使用,并且当主系统脱机也可以运行辅助显示器。注意,当联机时,图5中所示的脱机部件和数据不需要存在或激活。例如,当联机时,联机交互管理器(未示出)通过发送大量运行应用程序的用户输入(例如,导航命令),来处理借助操作件的用户交互,因此脱机交互管理器508不需要激活。同时,图5中所示的缓存和其他传输数据不被传输到辅助存储器510,直到从联机变换到脱机,尽管为了速度而不传输所有的数据,如上所述一些数据有时可以被复制到辅助存储器中,并且在联机到脱机转换时被同步。
如图5中所示的,联机应用程序数据502由缓存机构504收集,例如通过向每个使用辅助显示器的应用程序轮询其数据;(一应用程序可以被启动来获得数据,该应用程序没有运行,但用户已经为其指示了一个用于与其数据脱机交互的需要)。注意,当联机时使用辅助显示设备的应用程序可以在脱机时配置为不使用该辅助设备,或者,当脱机时可以不同地使用该辅助设备,诸如当为了脱机数据浏览而配置应用程序时通过设置脱机限制而实现。例如当联机时,辅助显示器可以在任何数量的消息中滚动,但是,应用程序可以为脱机滚动生成不超出某些默认或用户配置的(例如,20)的消息。
用户可以配置系统来控制哪个应用程序可以为脱机浏览向缓存提供数据。例如,用户可能想要用于在辅助显示器上脱机浏览的电话号码、电子邮件消息、任务和行程数据,但不需要其他程序数据。例如,即使联机应用程序可能使用了该辅助显示器显示股票报价,由于当数据将快速作废时,缓存此数据将浪费存储空间,因此用户可能不想要为辅助浏览缓存的股票报价。
用户也可以把每个应用程序都配置得到其数据的存储器的数量,并且可以给应用程序配置脱机存储的规则。可选择地,如果应用程序提供了太多的要缓存的数据,当另一个应用程序使用了超过其可用的存储器,而具有来自用于另一个应用程序数据的一个应用程序配置的任何过剩数据时,一个算法(后面描述)就从树中删除数据。过剩数据的再分配就转到了基于用户特定优先权顺序的应用程序,例如再主页上所列的第一个应用程序(列表顺序可用户配置),然后如果不是所有的都需要,就转到所列的下一个应用程序,等等。
正如先前所描述的,收集操作可在关断电源的时候进行,或者可以借助在转换到脱机时执行的同步来进行一些扩展。当需要时,利用数据修除机构506进行修除,以将可用存储划分为应用程序和修整数据,以将可用存储器在应用程序和所需的整理数据之间分配,用于每个都匹配可用的大量空间。在任何情况下,在图5的实施例中,结果就是脱机数据的结构化缓存508,可以通过树结构导航该脱机数据。
应用程序可能想要向用户提供不仅仅是可导航的数据。例如,日程程序可能想要提供诸如在某一特定日期和时间出现的会议提醒的数据。根据一个规则遍历脱机缓存树来查找这样的事件是效率低下的,诸如基于中断触发一时间的信息可以被传输给固件,其信息作为时间和采取行动的列表(可能通过树,随后该树将被遍历一次而查找到它,但优选作为独立数据)。如图5所示的,固件可设置这样的基于时间的中断514,并且当出现每个标识的定时器中断时,也以一种定时器ID存储到动作表516或者要采取类似动作。在这种方式下,例如,特定提醒可在正确的时候显示,一个或多个指示器会发光或闪烁等等。
一旦设置并且传输并且主计算机被关断电源,微控制器520和辅助存储器接管辅助显示器200和操作件201的单独控制。脱机命令解释程序520可提供基于其导航数据的主页,以及提供处理基于定时器的事件的逻辑等等。与脱机交互管理器508结合的脱机外壳程序(shell program)520处理遍历脱机缓存的导航,并且响应于非人工操作件可能改变显示器的状态,例如在电池电力低时,显示一特定消息。
图6示出了一种简化的树结构,该节点表示在外壳(主)节点604下三个应用程序601-603。尽管示出了三个应用程序,但是任何实际数量(与可用存储空间相关)的应用程序都是可行的。可以看到,由于这种结构(即使结构本身一般并不是将被显示的事情),通过节点的人工导航是相对直观和直接的。例如,在一个数形结构中,仅仅需要向上和向下导航,因此,例如仅仅需要一个两按钮控制器,(尽管一个或两个按钮可以具有其他功能,诸如关闭定时器事件驱动显示屏)。
通常,主页可以简单地提供应用程序的菜单,(如果需要可以滚动的)尽管取决于操作件的排列,反映分级的更复杂的菜单也是可行的,例如四向导航按钮可以使用向上和向下按钮翻滚,以及向左和向右按钮用于扩展和伸缩当前高亮的菜单项,以便显示表示任何子树的数据。当用户在主页菜单中选择一个页面时,例如在一个页面上通过按压一个选择操作件按钮,外壳节点基本上移到那个节点,其中获得该页面的信息,同时提供那个页面。信息页面可包括从位图到标记语言(例如HTML或XAML)的任何事情,所述标记语言适于在一个给定设备上提供,这取决于该给定设备上安装的代码。注意,用于解释缓存数据的代码可以被传输到或者下载到固件中。
如图6所示,在树结构中可以具有多个子等级。例如,所示的个人信息管理器节点620在它下面可具有联系、指定和任务节点(分别是620-622),在它之下,每个节点使其自己的对应于显示屏和各自的子节点C1-Ci、A1-Aj以及T1-Tk。应用程序节点可以在其下面仅仅具有一级,如消息节点M1-Mn所示。通常,每个节点都相应于一个可滚动的页面,该页面显示了其数据以及可以导航的任何子节点。
注意,在图6中,为了完全显示中间的播放器应用程序603,以便指示在某种实施中,当联机或脱机时为确定要提供的下一个屏幕,可以使用同样的导航树,尽管媒体应用程序可以不运行在脱机状态中。当在这种实施中联机时,仅仅联机媒体播放器应用程序将在树中具有一个显示屏节点,用户可以在该树中导航,以便查看辅助显示器上的当前路径和定时器数据。当脱机时,表示此显示屏的节点(被称为终端或原始节点)可以从树中修除,以便节省存储器空间。可选择地,当诸如MP3播放器的媒体播放器作为辅助显示器时,如所期望地,此节点将允许MP3播放器使用该屏幕,然而在具有其他应用程序数据的导航框架中也要这样。
图7一般表示当处于两种情况中的任一种情况时,也就是仅仅可以联机或者可以联机/脱机时,应用程序302A和302B(在此例中具有各自的辅助插件402A和402B)与交互管理器之间的关系。当仅仅联机时,联机交互管理器5011(运行在主CPU操作系统中)接收用户输入,以及通过辅助显示服务306,可以将相应的数据传递给当前选择的应用程序和/或显示控制器7301,以便进行处理。注意,这与上述关于图5的描述同样是重要的。进一步地,要注意,即使设备可以脱机,由于处理功率和存储器在联机状态下通常都较大,并且由于应用程序使用实时数据而不是经缓存的数据来运行,所以只要主系统联机,这些联机部件就可以运行。
当脱机时,使用不同的脱机交互管理器5012。正如所应当理解的,脱机交互管理器5012借助辅助微处理器/以及脱机(例如闪存或可选择地供电)存储器而运行。
处理在辅助计算设备接收的数据根据本发明的一个方面,固件也可以不依赖于主计算机系统的联机或脱机状态就可以接收和处理附加的数据。从辅助设备的角度来说,主计算机系统仅仅是一个信息源,这种信息可以由该设备来移交,实际上,除了通过在独立存储介质上存储一个缓存外,主计算机系统甚至可以不与辅助设备连接。通过使用其他可用的数据源,包括当主计算机系统脱机时接收的数据,运行在辅助显示器上的固件可以不依赖于主计算机系统是否可用而执行动作。这样的动作包括更新缓存应用程序信息、向缓存中增补新数据或者否则提供一种向用户提供信息的机制、产生一个事件、改变已经登记的事件、登记随后启动的新事件、下载代码(包括说明其他新接收数据的代码)等等。这就允许辅助显示器具有更多当前的信息,并且因此向用户显示更多的有价值的信息。
不依赖于主计算机系统是联机还是脱机,假定具有硬件的辅助显示设备,该硬件能从某些其他数据源接收无线或有线通信。可接收这种信息的实例包括电子邮件、日程、任务、天气、新闻、电池寿命、网络状态。可以改变任何类型的信息,并且可以存取于辅助设备硬件的这种信息都是辅助处理的候选者,而不依赖于主计算机系统是联机还是脱机。
图8和9有助于解释辅助设备如何接收信息,该信息表示了包括从主计算机系统外部接收的信息。通常如图8所示,当联机时,主计算机系统部件802(例如包括CPU和存储器)是在辅助显示器800上显示的信息的主要信息源,数据传输通常通过如上所述的服务和协议层,其在图8中由块804表示。注意,在图8中,阴影箭头表示流入辅助显示设备固件810的主数据流,其将电池控制器806用作数据如何通过主计算机系统的CPU和存储器802到达辅助显示器800的特定实例,诸如通过一种树结构,或者响应于来自辅助设备固件810的请求的需要。注意如下面参照图9所描述,由于此数据路径要通过主计算机系统的CPU和存储器802以及服务和协议层804,所以,当主计算机系统(即,部件802)脱机时,此数据路径就不可用。尽管是可以理解的,但当主计算机系统802处于脱机状态时,辅助设备固件810仍然给出数据。
新数据的另一个数据源可以包括与主计算机系统802相连的现有硬件,例如,相应于电池控制器806的硬件。通常,可以访问主计算机系统部件802的任何硬件都很可能是数据源,如图8中方框818和820所示。
新数据的数据源可以不耦合到主计算机系统,并且可以特别与辅助显示硬件/固件810相关联,并且不被主计算机系统所使用。例如,当联机时(如果脱机当然不能向前传送),通过无线天线/网络接口接收并且固件可以使用的股票出价就不需要传送到主计算机系统。例如,一个这样的数据源是一个与SPOT无线电芯片相连的SPOT(智能个人对象技术),该芯片可以向辅助固件提供信息;如果固件知道如何处理该数据,就可以从其中提取出某些内容,以便启动一个基于内容的动作。
可用于为辅助设备处理提供数据的其他数据源的例子包括可以通过其他无线装置获得数据的部件,例如,无线LAN和蓝牙,另一种FM副载波或其他无线电数据接收机、蜂窝数据硬件和/或字母数字分页硬件。这样的其他数据源在图8中由方框814表示。
数据源的其他例子还包括可以通过机器本身获得数据的部件,例如,无线LAN无线电(例如,提供信号强度信息)、电池控制器和/或蓝牙收发机。更一般的数据源实际上包括任何类型基于输入的传感器,例如温度计、光传感器、加速度计、麦克风、GPS接收器等等。
注意,辅助硬件的一个实施给微处理器810提供了计算机系统到SMBus816的访问,因此任何附加硬件都可以由辅助显示微控制器和固件810重复使用。图9示出了硬件如何给微处理器810提供到计算机系统的SMBus816的访问,从而任何可以通过SMBus816访问的硬件都很有可能成为一个数据源。注意,在图9中主计算机系统部件802是脱机的,因此数据流通过SMBus816,而不通过如图8中的方框802和804。由于辅助固件可以直接访问数据源,所以主计算机部件802可以被关闭,而数据仍然可以输入到固件,例如缓存。
在一个实施中,正如上面所描述的,存储在固件存储器的脱机缓存中的信息基本上被存储为一个树,该树就相应于可显示的数据,例如,位图或者为再现而结构化的文挡(例如,HTML或XAML)。根据导航命令或事件访问此缓存,以便定位要显示的内容。
根据本发明的一个方面,提供了一种机制,通过该机制,缓存(例如,树)可以被辅助固件修改,而不是一个只读缓存。为此,如果如图8和9辅助设备硬件可以从一个或多个新数据源接收数据,并且将数据提供给辅助显示固件810,那么固件就可以为更新缓存而处理该新数据,从而改变用户导航(或事件)将导致被显示,以及根据数据的内容采取其他的动作。注意,新数据可以删除缓存中的信息,但是如果它在缓存种增加大量的数据,就需要可用于增加此新数据的有效存储器,或者(例如)某种使附加存储器可用的机制(例如,脱机修除)。
进一步地如上所述,改变缓存的信息可以从其他数据源接收,并且增加到主计算机系统的应用程序数据中。注意,通过使用树结构等,不管主计算机系统是脱机(在此情况下,缓存保留了所有的应用程序数据)还是联机(在此情况下,缓存可以保留所有的应用程序数据或者指向主应用程序存储器中的数据的参考指针),这样的数据可以被合并。
举例来说,假设图10中所示的树1000。在此例中,“体育新闻”分支包括不需要通过主处理器和存储器获得(例如,通过与固件连接的SPOT天线)的数据,甚至是在主计算机系统联机时。当接收到这样的数据时,该数据就作为节点1020添加到树1000中(连同其任何子节点),并且由固件将“体育新闻”入口1050添加到主页列表中。在这种方式中,如果用户在主页中选择了入口1050,就可以显示该辅助设备收集的数据,就如同该数据是来自主计算机系统的正在运行的应用程序一样。
图11A-11C示出了在另一个实施例中如何构建树1110。图11A示出了在新信息的接收之前,树结构形式的辅助显示数据缓存。在图11B中,固件与电池控制器通信(例如响应于一个事件或导航命令而调用),并获得指示插入该机器和充电95%的数据。在图11C中,固件根据该信息构件一个分支,将新子树写到缓存树中一个正确位置上。现在该信息就可以显示给用户,注意,该树可以在任何用户或者初始事件请求察看该新数据之前构建。
在这种方式中,任何接收的数据,例如电子邮件消息或者日程设置的改变,都可以用于修改缓存中的树(或者其他结构)。这可以改变现有的数据,或者如前面的例子那样向树中添加新的数据,其中此树可以随着新数据的接收而有规律地更新。这使用户通过辅助显示器可看到的信息更实时并且因此而更有价值,并且由于不需要主计算机启动来获得新数据,也不需要在主显示器上查看,或者仅仅重新配制树结构并将新数据发送到辅助显示器上,这种方式也有助于帮助用户节省时间和电池寿命。
应当注意,除了更新脱机有关导航的缓存数据,可以处理接收的数据来执行其它动作。例如,SMBus或其他集成电路可以包括与外部数据接收有关的其他PC硬件部件(以及例如操作系统的其他相关软件)。例如,为了请求机器从无线网络更新设备的数据,在某一SSID上无线强度很强的硬件通知可以被处理和识别,以唤醒机器(例如从ACPI睡眠状态S3转换到S0)。注意,与其他唤醒机制不同,根据数据的内容而不是检测到新数据的任何时候自动唤醒机器,辅助处理器处理该数据来确定某个动作。
作为另一个实例,假定具有数据被盗的危险,固件可以处理SPOT“消除信号”,以便请求操作系统限制对主计算机系统的访问。
注意,当主计算机系统脱机接收到数据时,使辅助设备访问新数据是可行的,例如当主计算机系统返回联机状态时,通过联机同步机制,使主计算机系统更新其数据。例如由于要处理新数据而不是简单地接收数据,当主计算机系统返回联机状态时便于进行一些事情,例如向主计算机系统报告数据类型(例如,电子邮件数据),可以调用适当的同步机制。
进一步地,又由于要处理数据,当主计算机系统处于睡眠状态时,可以唤醒某个硬件而不是其他的硬件。例如,辅助处理器可以启动硬件驱动器,并且将新数据(或者基于该新数据的某些信息)写入到硬件驱动器中,以便当硬件驱动器重新启动时,通过主操作系统读取数据。
正如可以从上述描述中所看出的,本发明提供了一种更新数据的机制,其中包括新数据可用以及主计算机系统处于关闭(脱机)状态时,该数据都可以在辅助显示器上显示。因此本发明提供了当前计算领域所需的有益效果和优点。
虽然本发明可以作出各种修改和可替换的构造,但是在附图中示出了某些说明性实施例,并且这些实施例已经被详细描述。但是应当理解,这并不意于将本发明限制到特定的形式或所公开的形式,相反,本发明涵盖了所有落入本发明的精神和范围的修改、替换、构造和等同物。
权利要求
1.在一种具有主计算机系统和独立于该主计算机系统运行的辅助设备固件的计算环境中,一种方法包括所述辅助设备固件从一个数据源而不是所述主计算机系统接收数据;根据所述数据在所述辅助设备中处理所述数据,以便采取一种动作,从而不依赖于所述主计算机系统是否联机,来确定所采取的动作。
2.根据权利要求1所述的方法,其中,所述辅助设备接收数据的步骤包括连接到所述主计算机系统并且正在运行的硬件那里接收数据。
3.根据权利要求1所述的方法,其中,所述辅助设备接收数据的步骤包括从远离所述主计算机系统的数据源那里接收数据。
4.根据权利要求1所述的方法,其中,处理所述数据以便采取一种动作的步骤包括更新从所述主计算机系统那里获得数据的缓存。
5.根据权利要求4所述的方法,其中,所述缓存包括一种树结构,并且其中更新所述缓存的步骤包括向所述树结构中添加一个新分支。
6.根据权利要求4所述的方法,其中,所述缓存包括一种树结构,并且其中更新所述缓存的步骤包括修改所述树结构中的数据。
7.根据权利要求1所述的方法,其中,处理所述数据以便采取一种动作的步骤包括唤醒所述主计算机系统。
8.根据权利要求1所述的方法,其中,处理所述数据以便采取一种动作的步骤包括产生一个事件。
9.根据权利要求1所述的方法,其中,处理所述数据以便采取一种动作的步骤包括登记一个随后要启动事件。
10.根据权利要求1所述的方法,其中,处理所述数据以便采取一种动作的步骤包括改变一个登记的事件。
11.根据权利要求1所述的方法,其中,处理所述数据以便采取一种动作的步骤包括在一个辅助设备上显示有关电池的信息。
12.根据权利要求1所述的方法,其中,处理所述数据以便采取一种动作的步骤包括处理有关网络的数据。
13.根据权利要求1所述的方法,进一步包括,向所述主计算机系统提供对从其他数据源接收的数据的访问。
14.根据权利要求1所述的方法,其中,处理所述数据以便采取一种动作的步骤包括在存储器中保存至少一些所述数据,用于当所述主计算机系统联机时,与所述主计算机系统同步。
15.一种具有计算机可执行指令的计算机可读介质,当执行所述介质时运行权利要求1所述的方法。
16.在一种具有一主计算机系统的计算环境中,一种系统包括一种辅助设备,所述辅助设备被配置为不依赖所述主计算机系统是否联机而运行;一种耦合到所述辅助设备的机制,所述机制从一种数据源而不是所述主计算机系统接收数据;其中,所述辅助设备处理从所述其他数据源接收的数据,以便不依赖于所述主计算机系统是否联机而采取一种动作。
17.如权利要求16所述的系统,其中,所述其他数据源包括连接到所述主计算机系统并且正在运行的硬件。
18.如权利要求16所述的系统,其中,所述其他数据源远离所述主计算机系统。
19.如权利要求16所述的系统,其中,所述辅助设备通过更新数据缓存来采取动作,并且其中从所述主计算机系统获得至少一部分所述缓存。
20.如权利要求19所述的系统,其中,所述缓存包括一种树结构,所述辅助设备根据从所述其他数据源接收的数据扩展所述树结构。
21.如权利要求19所述的系统,其中,所述缓存包括一种树结构,所述辅助设备根据从所述其他数据源接收的数据修改所述树结构。
22.如权利要求16所述的系统,其中,所述辅助设备通过唤醒所述主计算机系统来采取动作。
23.如权利要求16所述的系统,其中,所述辅助设备通过登记、产生或改变一个登记的事件来采取动作。
24.如权利要求16所述的系统,其中,所述辅助设备通过在所述辅助设备的显示器上显示信息来采取动作。
25.如权利要求16所述的系统,其中,所述辅助设备通过在存储器中保存至少一些所述数据来采取动作,用于当所述主计算机系统联机时,与所述主计算机系统同步。
26.在一种具有一主计算机系统的计算环境中,一种系统包括一种辅助设备,所述辅助设备根据一个脱机缓存中的数据向一个用户显示信息,所述数据来自主计算机,用于当所述主计算机脱机时使用;一种耦合到所述辅助设备的机制,所述机制从一种数据源而不是所述主计算机系统接收数据;其中,所述辅助设备处理从所述其他数据源接收的数据,以便更新所述脱机缓存,这样所述新信息可在所述辅助设备上显示。
27.如权利要求26所述的系统,其中,所述辅助设备显示一个包括至少一些所述新信息的图像。
28.如权利要求26所述的系统,其中,所述新信息包括有关电池的信息。
29.如权利要求26所述的系统,其中,所述新信息包括网络信息。
30.如权利要求26所述的系统,其中,所述新信息包括可以频繁改变的内容。
31.如权利要求26所述的系统,其中,所述新信息包括一组内容数据中的至少一类内容数据,所述一组内容数据包括新闻数据、体育数据、天气数据、金融数据以及有关出价的数据。
全文摘要
描述了一种机制,该机制用于在与一个主计算机系统相联系的辅助设备那里接收新数据,并且在该辅助设备固件中处理该新数据,以便采取某种动作。数据的接收和处理依赖于主计算机系统是处于开机(联机)状态还是关机(脱机)状态。为脱机导航数据保存用户应用程序数据的缓存可以用新数据更新,或者改变缓存中现有的数据或者添加新的导航路径。根据辅助处理所确定的数据内容,可以处理所接收的数据,以便执行其他动作。
文档编号G06F1/16GK1716177SQ200510089609
公开日2006年1月4日 申请日期2005年5月8日 优先权日2004年5月3日
发明者A·J·福勒, C·A·邵帕, C·A·斯蒂, J·佩雷斯, M·P·罗顿, N·V·多根, S·欧塔 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1