邻近触发作业调度系统和方法

文档序号:7852671阅读:194来源:国知局
专利名称:邻近触发作业调度系统和方法
技术领域
本发明涉及一种邻近触发作业调度系统和方法,当接近诸如无线基站和无线移动通信设备时,其能够调度并执行邻近触发的作业。
背景技术
许多个人数字助理(PDA)被设计定位于移动用户市场,例如,Palm和MicrosoftPocket PC。这些个人数字助理为移动用户提供了多种日常使用的应用程序,例如调度程序、提醒程序、行动列表告警程序。这些应用程序对时间敏感但对位置并不敏感。例如,当时间接近于约会的预定时间时,调度应用程序将通知用户。
美国专利6177905描述了一种针对移动用户的位置触发提醒器,所述绝对位置触发提醒器使用全球定位系统(GPS)来定位用户的地理位置。然后,当进入由用户当前位置和用户给出的范围信息定义的地区时,用户请求一个提醒消息。这种系统需要定位系统,例如GPS,来和个人数字助理一起使用,这样就增加了制造成本和电池功耗。在室内或高层建筑遮挡的街区,几乎所有的这些定位系统都会被限制使用或不能使用。
一些邻近通告应用程序使用近程无线发射机来广播识别码。Hummingbird是一种旨在支持在物理上相互靠近的组成员之间进行通告的移动设备。Hummingbird需要周期性地广播能够被其组成员识别的识别码并扫描周围的其它的组成员Hummingbird。当检测到另一个组成员时,它会告知用户。Hummingbird并没有为用户提供调度邻近触发任务的能力。Hummingbird使用一个私有的RF发射机并且不做不提供也不利用计算机的组网能力,这就需要实现至少一个数据链路层协议栈来保持一个可靠的连接。因此,它更象是感应系统而不是组网系统。由于需要周期性广播识别,因此增加了网络业务流量并且也增加了附近所有Hummingbird的功耗。
在另一类应用程序中,所述通告依赖于网络协议层,例如开放系统互连参考模型中定义的网络层、传输层或更高层。Oregon大学的Proem系统是针对移动特色(ad hoc)网的协作对等应用程序。该系统定义了在各种现存的协议上面实现的传输协议,这些现存的协议例如可以是TCP/IP,UDP,或HTTP。所述系统的对等层可以通过周期性地广播请求来发现其它对等层,并且其它对等层响应于该广播请求。对等层也可以通过广播对等层的名字,统一资源定位符,来周期性地通告它们的出现。Proem系统需要被安装在每个对等层上才能够相互发现。Proem应用程序知道其它用户的出现并能够定义诸如提醒用户的遇见规则。该种应用程序的通告能力构建于需要首先在对等层之间创建连接的更高层的通信协议层上。然而,创建连接通常需要一个会引起不方便性的认证过程。在连接之后传输的数据通常需要加密。如果跳过认证或加密,将会产生安全问题。依赖于高层的通信将会引起大量的数据通信,这就增加了通过无线网络的业务流量并且也增加了在所有移动设备中的功耗。
没有现有技术使用介质访问控制(MAC)地址或在MAC层帧中的业务设置识别符来检测附近的其它无线通信设备并触发用户预定的任务,例如,提醒、行动列表、电子邮件查询、计算机系统或网络登录、控制其它电器,等等。
由于无线通信技术已经很成熟,许多笔记本型电脑、PDA或移动通信设备都可以安装无线通信接口模块,例如IEEE802.11无线局域网接口或蓝牙无线接口模块,GSM调制解调模块,等等。通过无线连接,移动用户可以访问在本地网络区域中的另一个计算机系统或另一个PDA上的信息,或者甚至可以访问整个因特网来读取电子邮件、传输文件、执行作业、或接入服务。在将来,所有的移动计算设备都将具有无线通信的能力。

发明内容
为移动用户提供了一种邻近触发作业调度系统和方法。本发明优选实施例中的邻近触发作业包含一个或多个操作和一个触发条件。当移动计算设备检测到附近其它无线通信设备的出现并且所检测到的无线通信设备的出现状态与所述作业的触发条件匹配时,所述计算设备执行所述的一个或多个操作。
根据本发明,使用无线通信接口(WCI)来检测其它无线通信设备。WCI通常实现物理层和介质访问控制(MAC)子层协议栈。所述WCI截取在无线介质上的消息并解码在MAC子层或数据链路层帧中的一个或多个识别符。所述识别符例如,可以是发射机MAC地址,接收机MAC地址,或在IEEE802.11MAC协议中的SSID。每个WCI被赋予一个单播的MAC地址。因此,检测单播MAC地址就等于检测由所述单播地址指定的WCI。因此,检测SSID就等于检测网络业务设置。每个WCI都具有一定的操作范围并且只有在范围之内的WCI才可以发送和接收消息。因此,从MAC子层或数据链路层解码的识别符指定了在操作范围内的一个附近的WCI。使用在MAC子层或数据链路层帧中的地址或识别符而无需使用高层协议处理这些负载加速了检测的过程并减少了不必要的用户识别符广播,从而降低了功耗。
在本发明的优选实施例中,触发条件是在MAC子层协议或数据链路层协议中的一个或多个识别符的出现的BOOLEAN条件。例如,“A&B”是无线通信设备A和无线通信设备B都出现的条件。在另一个例子中,“A&!C”是这样一种条件,即无线通信设备A出现而无线通信设备C丢失,也就是一段时间内检测不到。所述触发条件的另一个实施例可以用自然语言来描述,例如,“当检测到A并丢失B时”。在另一个实施例中,WCI的身份或地址被赋予一个别名来用更有意义的名称封装所述的身份信息以便所述的别名也可以被用作触发条件。
在本发明的另一个实施例中,所述的作业触发条件可以进一步包括其它的相关的条件,例如,可以由时钟提供的时间条件、可以由全球定位系统提供的地理区域。例如,当本发明的PDA在午饭时间接近WCI A时将执行这样作业。“午饭时间”可以进一步被定义在每天的上午12:00到1:00。所述的时间条件可以是复杂的,例如可以是在下两个星期二的午饭时间。所述触发条件可以进一步规定作业执行的发生。例如,限制作业执行只发生三次,并且在三次作业执行之后从所述调度中将作业删除。
本发明其中一个实施例的应用程序接收一个作业描述并调度该作业。作业描述定义了一个或多个在满足触发条件时将要执行的操作。所述触发条件以一个或多个所述识别符的出现描述应该执行所述作业的条件。当检测到在所述触发条件中的识别符时,所述应用程序检查预定作业的触发条件。如果满足一个预定作业的触发条件,就执行该作业的一个或多个操作。在另一个实施例中,所述触发条件包括时间条件。只有时间条件和其它邻近条件都满足时才执行预定的作业。
在某些实施例中,在主机系统上的应用程序轮询WCI来接收MAC帧并解码所述的帧来检测识别符。在另一个实施例中,WCI执行识别符检测并且如果所述应用程序对所检测到的识别符感兴趣就中断在主机系统上的所述应用程序来检查所述的触发条件。在另一个实施例中,实现节能的方案。所述主机系统和WCI可以被单独地被断电。所述应用程序存储触发条件中的识别符到所述WCI上的存储器中,并且如果在所述主机系统上没有动作时,所述主机系统进入节能模式。当所述主机系统被断电时,所述WCI通过从例如电池的电源中汲取极其微小的电能来仍然保持活动状态。当所述主机系统处于功率节约模式时所述WCI仍然监视所述无线介质。所述WCI在所述介质上传输消息。如果在所接收到的消息中检测到一个识别符并且该识别符是在WCI的存储器中的其中一个识别符,那么所述WCI就向处于睡眠状态的主机系统发送一个唤醒信号。然后,在主机系统唤醒之后,所述WCI中断在主机系统上的所述应用程序来提供所检测到的识别符。
因此,通过使用在MAC子层或数据链路层协议而不是更高层协议的识别符,本发明具有更低的功耗和更快的邻近检测能力。由于本发明无需在对等层侧安装特定的程序就可以检测所有附近的遵照相同协议的WCI,因此,使用通信协议的识别符而不是特定识别符的本发明提供了一种易于使用的方法。因此,它也降低了系统实施的困难程度。由于其它的WCI并不需要响应于系统的检测,因此本发明对其它的WCI并不会产生影响。本发明无需创建无线连接从而也没有非法接入的问题,并且由于没有连接创建的延迟而变的更快。没有连接的要求,本发明可以用在无线连接不可行的陌生环境中。本发明可以用在许多应用中,例如,个人敏感提醒、TO-DO列表告警系统、自动登录和电子邮件查询、和自动电器控制器、邻近敏感文件管理器,等等。


一种移动设备用来接收作业规范的系统和方法,并且当出现的无线通信接口的一个或多个识别符与所述作业的触发条件匹配时,执行所述作业。在下面的描述中,为了解释的目的,提出了许多具体的细节以便提供对本发明的彻底理解。
图1示出了具有本发明无线通信接口和其它一般元件的计算设备。
图2示出了在一般的无线通信接口中的元件。
图3示出了国际网络体系标准,OSI参考模型。
图4示出了依据某些实施例来调度和执行作业的方法。
图5示出了节能识别符检测的方法。
图6示出了本发明的个人敏感提醒应用程序。
图7示出了本发明的位置敏感提醒应用程序。
图8示出了本发明的自动连接和电子邮件查询的应用程序。
图9示出了本发明的自动电器控制器应用程序。
具体实施例方式
正如在此所使用的,邻近触发作业(此后称之为“作业”)指代一个或多个用户调度的操作,并且当计算机处理设备(此后称之为“计算设备”)检测到一个或多个识别符(此后称之为“触发识别符”)出现时,所述作业被执行,其中每个识别符指定了一个无线通信接口(此后称之为“WCI”)。例如,所述作业可以是发送提醒消息、发送/接收电子邮件、下载信息、向其它诸如电脑或电器设备发送控制指令、触发其它应用程序、发布告警消息,等等。
系统图1展示了所述计算设备0100(此后称之为“系统”)的例子,根据本发明的某些实施例,其用来存储、查询和执行与在其它计算设备上的出现的一个或多个WCI相关的作业。所述系统0100通常使用任何具有传统计算机元件的传统通用计算机来实现,包括至少一个处理器0101,程序存储器0102,一个或多个输入设备0103,一个或多个输出设备0104,至少一个WCI 0105。在某些实施例中,WCI 0105在系统0100中集成了嵌入模块。在某些实施例中,所述WCI 0105通过例如PCMICA控制器的总线控制器连接到系统0100的系统总线0109上的扩展卡;在另一个实施例中,所述WCI 0105是通过例如USB端口的I/O端口连接到系统0100上的单独适配器。所述输入设备可以包括鼠标,键盘,触摸屏,或语音识别模块。所述输出设备可以包括监视器,显示屏,或者话筒模块。处理器0101、程序存储器0102、系统总线0109、和总线控制器通常被认为是主机系统0120,其它的被认为是外围设备。在某些实施例中,系统0100是移动计算设备,例如是个人数字助理(PDA),移动电话或便携式计算机,其可以省略在传统通用计算机中的一个或多个元件,例如,硬盘驱动器0107和键盘。应用程序(此后称之为“调度器”)0108通常可以在任何的传统的操作系统中执行,例如由Microsoft Corporationof Redmond制造的Windows Packet PC和由Palm,Inc.,of Santa Clara,California制造的Palm。应用程序18通常可以用任何一种传统通用编程语言编制,例如Java,C,和C++,任何传统通用编程语言的组合,或任何通用编程语言和更专业化的编程语言的组合,例如脚本语言(Perl)。通常,在本发明的各种实施例中可以使用任何能够与另外的计算设备进行通信信息的计算设备。
无线通信接口所述WCI 0105可以遵守多种网络协议中的一个或多个,例如IEEE802.11b,IEEE.802a,蓝牙,CDMA,GSM,GPRS,RFID,IrData,或者UWB,等等。不同的无线通信协议提供了不同的能力并具有不同的运行范围。蓝牙是无线个人局域网络(WPAN)协议并提供了大约10米的运行范围。IEEE802.11b协议是无线本地局域网(WLAN)并能提供100到500米的运行范围。GSM/GPRS协议是无线广域网(WWAN)并能提供在移动手机到基站之间的一到几英里的运行范围。所述无线通信接口的运行范围有助于检测其它遵照同样类型的无线通信协议的WCI的出现的能力。
图2展示了WCI的一般体系,其包括一个无线发射机0201,一个基带处理器0102,一个控制器0203,和一个存储器0204。所述基带处理器0202执行物理层协议栈的功能。所述控制器0203执行介质访问控制子层协议栈的功能并且也连接到系统0204。
所述控制器0203的固件程序存储在存储器0204中。所述存储器0204是随机访问存储器(RAM)或任何其它的可重写存储器,因此,即使所述接收机被断电,在所述存储器中的数据也不会丢失。在另一个实施例中,存储器0204是EPROM存储器,从而在控制器0203中需要另外的可重写存储器或使用寄存器存储器来存储临时的数据。
系统0100可以包含一个或多个WCI。例如,具有IEEE802.11b无线网络卡插件程序的Compaq iPAQTMPocket PC3835可以检测其它遵照IEEE802.11b的设备。另一个例子,Nokia6310是带有嵌入的蓝牙接口的GSM/GPRS移动电话设备。Nokia6310能够检测遵照GSM/GPRS或者蓝牙的WCI的出现。在某些实施例中,系统0100可以通过查询附近的其它计算设备来扩展其检测能力。因此,如果所述的其它计算设备具有另外的使用不同协议的WCI,那么系统0100可以检测更多处于相同协议或不同协议的WCI。
传统网络体系通常,在通信设备之间的通信必须由接收方或节点精确定义来保证例如帧和分组消息的正确解释。需要执行许多任务来解释所述的消息并且这些任务都是通过协议来定义的。为了减少设计的复杂性,大多数通信协议被组织作为一系列层或级,每个都被构建于其前驱器(predecessor)上。在每层上的动态元件被称为实体或节点(此后称之为“节点”)。节点可以是软件实体,或硬件实体。在不同机器上相同层的节点被称之为对等节点。针对不同的设计目的,所有的通信协议可以在分层数、每层上的内容,和每层的功能上进行变化。每一层向更高层提供服务并向那些层隐藏具体的实现细节。在节点A的层N上的消息需要被下面的协议层一个接一个来处理直到它到达最低层,被通过物理介质传输到达节点B,并向上传递到节点B的层N上。然后,在节点B的层N上的消息可以被正确地解释为节点A的层N的上的消息。
图3展示了熟知的国际网络体系标准,ISO OSI(开放系统互连)参考模型。所述OSI模型从底向上依次是物理层,数据链路层,网络层,传输层,会话层,表示层,和应用层。所述物理层参与在通信信道上传输原数据比特。典型的设计问题是电子、机械和物理介质。所述数据链路层提供了在网络主机之间传输数据并纠正传输错误的,激活、维持和去激活数据链路连接,将来自于上层的消息分割成帧,流控制,和介质接入控制,等等的功能和程序装置。所述数据链路层通常分为与物理层连接的介质访问控制(MAC)子层和与网络层连接的逻辑链路控制(LLC)子层。为了使数据能够在节点之间进行交换,MAC子层协议独立于所述介质的物理特性控制接入所述传输介质,但不考虑网络的拓扑方面。两种无线网络拓扑是特色(ad hoc)网络和基础网络。所述网络层提供交换和路由功能来建立、维持、和结束网络层的连接,并在用户之间传输数据。所述MAC子层和数据链路层是本发明的关键点。在MAC子层,节点共享介质。这样每个节点被赋予一个地址来表示谁是消息的接收者。大多数无线网络协议的MAC子层都执行载波诊听协议,例如,载波诊听多址访问(CSMA),具有冲突检测的CSMA(CSMA/CD),等等。在此所使用的术语仅作为参考,不同的协议可以用不同的术语来称谓这些层。例如,在蓝牙中将“MAC子层”称作“基带层”。所述层应当通过其功能而不是名字来确定。
检测其它无线通信接口每个协议层为各种帧定义了一组帧格式。帧格式包括一组在所有帧中以固定顺序存在的字段。所述协议规定了在帧中的每个字段的意义和用法。典型地,每个节点具有其自己的唯一识别符,例如MAC地址。在一个基础无线网络中,接入点和由所述接入点服务的一组节点构成了一个业务集(SS)。所述基础无线网络的业务集也可以具有识别符,例如在IEEE802.11MAC协议中的SSID,当多个接入点相互靠近时,用来区别所述的SS。所述帧头部通常描述了所述帧的源和/或目的并且包括一些控制字段。所述源通常通过例如地址的识别符来指定所述的源节点或直接发射机节点。所述目的通过例如地址的识别符来指定所述目的节点或直接接收机节点。所述目的地址可以被单波也可以被多播。单波地址被用来指定一个特定的节点。多播地址被用来描述一组节点或所有的其它节点。例如,IEEE802.11MAC协议的帧头部包括BSSID,发射机地址,接收机地址,源地址,和目的地址。对于蓝牙基带协议来说,识别符是蓝牙设备地址(BD_ADDR)或是其更低地址部分(LAP)。所述识别符可以在每个接收分组的接入节点或接收的FHS分组的BD_ADDR中找到。所述接入点包括信道接入码(CAC),设备接入码(DAC),和查询接入码(1AC)。在CAC中发现的识别符是所述微网的主机的LAP。在DAC中发现的识别符是所述微网的从机的LAP。
对于无线物理介质来说,消息被物理地广播到附近的所有节点。消息的接收节点靠近发送消息的节点。由于直接目的节点靠近发射节点,因此,我们可以期望在直接目的节点和所述接收节点之间的距离不会超过WCI的运行访问的两倍。从而,调度器0108通过WCI0105在无线介质上截获消息,解码所述消息,并根据在数据链路层的MAC子层或其它层来查询所述识别符。由所查询的识别符指定的节点来接近WCI 0105。
调度作业为了在一定条件下请求执行作业,用户需要提供一个作业规范。作业规范包括两部分,做什么和什么时候做。作业描述在不同实施例中以不同的方式来描述,例如,以文本格式,语音消息格式,脚本语言格式,或二进制代码格式。通常,作业描述是来规定应该执行什么样的一个或多个的操作。在其中一个实施例中,操作可以被进一步赋予零或更多的变量,例如,操作选项,内容数据,输入/输出指令,等等。例如,调度器0108已经实现了语音合成能力并且用户想提醒自己来购买牛奶;触发条件是“说‘买牛奶’”,这里“说”是一个操作,对调度器0108来说是一个命令,而“买牛奶”是一个变量。另一个例子,作业描述是在UNIX中的C解释命令列表,“connectAP AP1;mailxJohn@JohnPC<myMail”,这里connectAP是与接入点AP1相关并连接其上的一个操作,一个UNIX程序;mailx是另一个操作,一个UNIX程序,其将文件myMail作为电子邮件发送到在称之为JohnPC的机器上的John。在另一个实施例中调度器0108只执行一个单一操作;所述操作变成缺省并且所述作业描述只需要为所述缺省操作给出一个或多个变量。例如,提醒应用程序,当所述作业被执行时,所述作业描述只是一个回答的消息。
作业触发条件规定了什么时候执行所述的作业。有多种类型的触发条件,例如邻近触发条件,时间触发条件,温度触发条件,等等。例如,“星期一”意味着只在星期一执行。尽管邻近触发条件是本发明的主要关键点,但是并不排除在所述作业触发条件中使用其它类型的触发条件的可能性。根据本发明的邻近触发条件是一个或多个WCI或SS的出现。然而,根据前面的叙述,WCI或SS的出现相似于指定所述WCI或SS的识别符的出现。因此,邻近触发条件是一个或多个WCI或SS的识别符的出现。在一个实施例中,识别符的出现状态包括两个状态,“在”和“不在”。在另一个实施例中,识别符的出现状况是时间戳,即所述识别符上次被检测到的时间。利用所述的时间戳,所述存在条件可以依赖于用户选择的一个门限派生出更多的状态,例如“在”,“不在”,和“丢失”。例如,如果从所述时间戳到当前所过去的时间多于10分钟,就认为识别符是“不在”。如果所过去的时间大于3分钟而小于10分钟,那是就认为所述识别符“丢失”。如果所过去的时间少于3分钟,就认为所述识别符“在”。例如,当识别符,MAC地址“00:30:AB:0A:86:61”出现时,执行一个作业。所述触发条件是“00:30:AB:0A:86:61[present]”。识别符可以具有多于一个别名,以使用对用户来说具有意义的名字,并在触发条件中使用该别名。例如,识别符“00:30:AB:0A:86:61”的别名是“MyHome”并且触发条件变为“MyHome<present>”。在一个实施例中,“present”是出现条件的缺省状态因此“MyHome<present>”等于“MyHome”。在另一个实施例中,BOOLEAN条件用在所述触发条件中来定义一个与多个识别符的出现相关的条件。例如,“MyHomel or MyHome2”意味着“MyHome1”或者“MyHome2”出现的时候。另一个例子,“AP1和AP2”意味着在两个接入点AP1和AP2之间。触发条件可以具有一个别名,并且通过参考所述别名可以在其它作业规范中的重新使用所述触发条件。由于移动设备的移动性,WCI不能被可靠地检测。在另一个实施例中,使用多数表决技术来 决该问题。选择三个附近的WCI的识别符并且所述识别符的多数出现时将触发一个作业的执行。在一下实施例中,条件规范可以用自然语言进行描述。在一些实施例中,触发条件可以缺省为当前出现的一个或多个识别符。
在另一个实施例中,调度器0108提供应用程序接口(API)连接其它应用程序来注册例如通知作业的作业。因此,其它应用程序可以容易地利用系统0100的邻近触发能力。
作业执行当作业的触发条件匹配时,执行所述的一个或多个作。在一些实施例中,由系统0100直接处理所述的作。在一些实施例中,调用另外一个应用程序的 作让所述应用程序来执行所述作。
作流程图4展示了依据本发明的一些实施例由系统0100调度和执行作业的流程。所述处理过程从阶段0401开始。在阶段0401,系统0100接收一个作业描述。所述作业描述包括一个或多个作。每个作给赋予零或多个变量。
在阶段0402,系统0100接收规定何时执行所述作业的触发条件。所述触发条件是无线通信网络的MAC子层或数据链路层的一个或多个识别符的出现条件的关系。因此,由所述触发条件所引用的识别符被称之为触发识别符。
在阶段0403,初始化每个触发识别符的出现状态。例如,如果所述识别符刚刚在先前所接收的MAC或数据链路帧中出现的话,就设置触发识别符的出现为“在”。否则,设置所述的出现为不在。
在阶段0404,由接收机从无线介质中接收消息并由所述无线通信协议的物理层处理所述消息来识别一个帧。将所述帧传递到所述无线通信协议的MAC子层或数据链路层并码所述的帧。一个或多个识别符然后被从所述帧中码。因此,所述一个或多个识别符被称作检测到的识别符并且它们的出现为在。
在阶段0405,更新所述触发识别符的出现。如果触发识别符也是一个检测到的识别符,那么就设置所述触发识别符的出现为在。
在阶段0406,估计所述触发条件。如果所述触发识别符的出现与所述触发条件匹配,则转向阶段0407。否则,回到阶段0402。
在阶段0407,执行所述作业。
轮询方法在一些实施例中,调度器0108作为软件实现来在处理器0101上执行并且周期性地轮询WCI0105来从无线介质接收帧。调度器0108通过所述帧的解码字段来执行识别符检测功能。然后,调度器0108更新为触发识别符的触发识别符的出现。调度器0108用触发器识别符的最近的出现来评估触发条件。因此,即使只有很小片断的消息在所述无线介质上包含与调度器0108有关的识别符,处理器0101都需要加电来执行识别符检测功能。因此,在下面的实施例中考虑用中断方法来降低功耗,这在移动计算环境是一个主要关心的问题。
中断方法在一些实施例中,系统0100采用通过将所述识别符检测功能从调度器0108移到WCI0105的中断方法。调度器0108首先在操作系统中注册一个中断服务进程并且当有任何的触发识别符也是检测到的识别符时,WCI 0105通过引入所述的服务进程来中断调度器0108。调度器0108然后访问WCI 0105来查询所检测到的识别符并更新触发识别符的出现。在另一个实施例中,在所述中断服务进行期间,所检测到的识别符被传输到调度器0108。在接收到所检测到的识别符后,调度器0108估计所述的触发条件并且如果触发条件匹配就执行所述的作业。因此,在处理器0101或调度器0108上的动作和功耗都会降低到最小。
节能模式在一些实施例中,主机系统0100和WCI 0105处于不同供电领域并且可以被单独地断电。所述的触发识别符存储在WCI 0105的存储器0204中。如果在主机系统0120上没有动作,所述主机系统手动或自动进入省电模式,而WCI 0105继续保持加电来执行所述识别符检测功能。如果所检测到的识别符是存储器0204中的其中一个所存储的识别符并且所述主机系统处于节能模式,那么所述WCI0105就唤醒所述主机系统0120。对于本领域熟练技术人员来说唤醒计算机系统的技术是已知的。当主机系统被唤醒时,调度器0108自动执行并从WCI 0105中查询所检测到的识别符。图5示出了本发明的节能方案的方法。在其它实施例中,WCI0105在唤醒所述主机系统后中断调度器0108并将所检测到的识别符传递到调度器0108。在另一个实施例中,所述存储的识别符的出现状态也被存储在存储器0204中。因此当存储的触发识别符的出现改变时,WCI 0105只是唤醒主机系统0120并且中断调度器0108。在另一个实施例中,触发条件和相关的作业ID被进一步存储在存储器0204。因此,所述WCI0105进一步执行所述触发条件估计。如果触发条件为真,相关的作业ID就由所述的中断机制发送到调度器0108。在另一个实施例中,如先前所描述的,对每个存储的触发识别符存储最近更新的时间戳在存储器0204中。
其它应用本发明可以以一种特定的应用程序实现来处理单一类型的作业。本发明也可以作为使用其它应用程序作为通用平台实现来将其作为一个邻近通知系统来使用。例如,所述应用程序可以是一个个人敏感提醒,TO-DO列表告警系统,自动登录和电子邮件查询,和自动电器控制器,邻近敏感文件管理器,等等。
图6展示了本发明的用户0601满足其客户0602的个人敏感提醒应用程序。用户0601带有实现系统0100的计算设备0603,而其客户0602带有计算设备0604。在计算设备0603上的WCI 0605和在计算设备0604上的WCI 0606都遵照蓝牙协议。当他们下次遇见时,其客户0602要求用户0601回答一个金融问题Q1。用户0601调度一个告警来提醒他什么时候再见面。用户很快调度一个告警作业并且消息0607是“回答问题Q1”。开始,用户需要知道WCI0606的识别符来设立一个作业。这样,再创建所述作业期间,在计算设备0603上的系统0100发布一个请求来检测其它附近的蓝牙设备的识别符。系统0100检测所述WCI0606的识别符0608。然后,用户0601确认其客户的识别符0608并为WCI 0601选择识别符0608,并分配识别符0608一个别名“Robert”,这是其客户的名字。用户0601描述所述的触发条件0609作为“当Robert出现”。用户0601然后回来找到问题Q1的答案并修正消息0607为“回答问题Q1并且答案是A1”。几天之后,在计算设备0603上的系统0100自动检测识别符0608。用户0601首先注意到其计算设备0603突然出现告警,然后注意到其客户0602正从计算设备0604打印一个文档到一个蓝牙打印机。
图7展示了位置敏感提醒应用程序,其中当用户0700想在第二天,02/08/2002,到达其办公室时给John打一个电话。用户0700具有一个实现系统0100的PDA。用户0700调度一个在系统0100上的提醒作业0701并输入一个提醒消息0702,“呼叫John”。系统0100检测到两个接入点,AP53和AP54,和它们的MAC地址,ADDR1和ADDR2。ADDR1和ADDR2被用作所述接入点的识别符。用户0700创建一个触发条件“ADDR1 and ADDR2”并分配一个别名,“MyOffice”。然后,用户0700定义一个触发条件0705,“当用户在02/08/2002进入办公室时”,这里“进入”意味着条件“MyOffice”变为真。当用户0700第二天来的时候,由于所述MAC地址被从两个接入点广播出去,因此在其PDA上的系统0100会自动检测到ADDR1和ADDR2识别符。然后在系统0100上的调度器0108查询满足所述提醒作业的邻近条件和时间条件。系统0100然后通过用在PDA上的喇叭播放消息来执行所述的作业。接着,用户0700呼叫John。
图8示出了一个自动连接和电子邮件查询应用程序,在餐馆的午饭时间期间,用户0700想在回到办公室的时候提醒自己查看电子邮件。用户0700调度一个电子邮件查询作业0810并选择接入点AP53接入到公司的网络上。接着,用户0700定义一个触发条件0802,“当进入MyOffice时”。系统0100理解“MyOffice”的意思为“ADDR1 andADDR2”,其被系统10存储在一个存储器中。当用户0700返回到办公室时,在系统0100上的调度器0108查询作业0801并找到满足的触发条件。在系统0100中的电子邮件查询程序然后通过接入点AP53登录到公司的网络上。如果有收到的电子邮件,则电子邮件查询程序将通过特殊的声音或在显示屏的上的显示来通知用户。
图9展示了一个电器控制器应用程序,其中当用户靠近设备时,可以自动控制某些设备,例如,当他来到他的轿车时来为其轿车开锁和当其到家时为其自动打开车库门。用户0901带有一个具有遵照IEEE802.11b和蓝牙通信协议的WCI 0903的PDA0902。他的轿车具有一个内置于车辆的计算机0905,其是一个远程信息处理系统并具有一个蓝牙WCI 0906,该WCI具有一个BD_ADDR,“01:A0:29:3F:B4:8D”作为识别符并且所述别名是,“我的轿车”。所述WCI 0906担当了微网中的蓝牙主机,其周期性地搜索附近的设备并与主机控制接口(HCI)RS232层建立连接。用户0901在安装于PDA72的系统0100中创建并调度作业0907。作业0907的作业规范规范0908是“登录计算机0905,打开门前驱动侧”,其登录计算机0905并发布一个指令到计算机0905。所述的“开门”是一个输入给内置于车辆中的计算机75的一个命令并且“前驱动侧”是该命令的一个变量。作业0907的触发条件0909是“当MyCar出现时”。当用户0901靠近其轿车0904时,WCI 0903检测WCI 0906,在PDA0902上的系统0100发现触发条件0909为真。调度器0101找到作业0907并由另一个程序来执行,该程序建立了一个蓝牙连接并登录到计算机0905,指示计算机0905打开驱动侧前门。在接收到所述开门指令后,内置于车辆的计算机0905立即打开轿车0904的驱动侧前门。
邻近敏感文件管理器是一种对于邻近上下关系敏感的文件管理器。典型的文件管理器,例如Microsoft公司的Window Explorer,让用户浏览在文件系统中文件。每种类型的文件扩展名与一个应用程序相关。当用户使用鼠标在文件上双击时,文件管理器自动调用与该文件的扩展名相关的应用程序来浏览或处理该文件。在邻近敏感文件管理器上的文件被赋予一个额外的属性,邻近触发条件。当文件的触发条件为真时,调用相关的应用程序来处理该文件。例如,在离开去参加会议之前,用户可以配置一个触发条件“会议室”到Microsoft PowerPoint文件,Marketing.ppt。“会议室”是在会议室的一个接入点的MAC地址的别名。当用户到达会议室时,邻近敏感文件管理器检测到“会议室”并用Marketing.ppt文件自动调用Microsoft PowerPoint。
结论,结果,和范围本发明响应于用户的请求自动调度作业并且当无线通信接口的MAC子层或数据链路层的一个或多个识别符的出现与用户的请求的条件匹配时机敏地来执行作业。本发明的用户可以请求来执行不同任务,例如触发一个告警消息,与邮件服务器交换电子邮件,从文件服务器上查询会议资料,浏览网页,控制装置或设备,等等。
尽管上面的描述包含来许多具体细节,但这并不应该解释作为限制发明的范围,而仅仅是用来提供本发明的一些可能实施例的展示。
因此,本发明的保护范围应该由所附的权利要求书以及它们的合法等价物来确定,而不是由所给出的例子来确定。
权利要求
1.一种移动计算设备与用户交互的方法,所述方法包括接收作业描述,其中作业描述包括一个或多个操作,接收所述作业的触发条件,其中所述触发条件是介质访问控制子层协议或数据链路层协议的一个或多个识别符的出现的关系,并且所述的一个或多个识别符是触发识别符,初始化所述一个或多个触发识别符的出现,从无线介质接收消息,解码所述消息并根据所述的介质访问控制子层协议或所述数据链路层协议来检测一个或多个识别符,根据所检测到的一个或多个识别符的出现来更新所述一个或多个触发识别符的出现,基于所述一个或多个触发识别符的出现来估计所述触发条件,如果所述一个或多个触发识别符的出现等于所述触发条件就执行所述的作业。
2.一种移动计算设备,用于接收通信协议的MAC子层或数据链路层中的一个或多个相关的识别符的出现条件下将要被执行的作业请求,所述系统包括无线通信接口,用来接收消息,识别符检测器,用来解码所接收的消息并检测在所述无线通信协议的MAC子层帧或数据链路层帧中的识别符的出现,和更新所述一个或多个相关识别符的出现,匹配器,用来比较一个或多个相关的识别符的当前的出现状况和所请求的一个或多个相关识别符的出现条件,通知器,当所述匹配器找到一个匹配时,用来触发一个所述作业的执行。
全文摘要
一种组合移动计算设备(0100)、无线通信接口(0105)、和应用程序(0108)来为所述移动计算设备用户提供基于其它无线通信接口(0105)的邻近性来调度和执行作业的系统和方法。调度器调度作业并选择无线通信接口的MAC子层或数据链路层的一个或多个识别符的出现的邻近关系作为触发条件。当所述作业的触发条件为真时,调度器执行所述的作业。
文档编号H04L12/28GK1653726SQ03810699
公开日2005年8月10日 申请日期2003年3月10日 优先权日2002年3月11日
发明者张丁懋 申请人:张丁懋
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1