专利名称:用于将网络环境里的设备事件通知给用户的方法和系统的制作方法
技术领域:
本发明的技术领域是数据处理,或者,更具体来说,是用于对远程通信(telecommunication)进行路由的方法、系统及产品。
背景技术:
传统的远程通信系统常常提供许多通话(telephony)设备,在所述设备上,用户可以在特定的网络环境里接收呼叫。传统的远程通信系统还提供路由到个体通话设备中的一个或多个的呼叫。然而,为了将呼叫路由到特定的用户,传统的远程通信系统将该呼叫路由到最可能接近该用户的特定通话设备。例如,办公室里的电话系统可以把对特定用户的呼叫路由到该用户办公室内的通话设备。然而,大多数用户不是静止的。即,大多数用户在其网络环境附近移动。因此,有利地,基于用户在其网络环境中的位置来将远程通信路由到用户。
发明内容
提供了用于将设备事件通知给用户的方法、系统和产品,包括接收设备事件,将所述设备事件与用户相关联,从用户的RFID标签(tag)接收RFID信号,根据所述RFID信号确定用户的位置,根据所述用户的位置来选择用户通知装置,以及通过所选的用户通知装置将设备事件通知给所述用户。在典型的实施例中,将所述设备事件与用户相关联还包括从所述设备的设备记录中读取用户ID。在典型的实施例中,将所述设备事件与用户相关联还包括标识所述设备的位置,标识所述用户的先前位置,以及根据所述设备的位置和用户的先前位置,将所述设备事件与用户相关联。在典型的实施例中,将所述设备事件与用户相关联还包括标识所述设备事件的事件类型;标识所述设备的位置;标识所述用户的先前位置;以及根据所述设备事件的事件类型、所述设备的位置、以及所述用户的先前位置,将所述设备事件与所述用户相关联。
在典型的实施例中,根据所述RFID信号来确定所述用户的位置还包括在多个RFID读取器位置从所述RFID标签接收多个RFID信号,以及根据所述RFID读取器位置和一准则来确定所述用户的位置。在典型的实施例中,根据所述RFID信号来确定所述用户的位置还包括在多个RFID读取器位置从所述RFID标签接收多个RFID信号,针对每个RFID读取器来确定所述RFID标签的可能位置的区域,以及确定所述可能位置的区域的交集。
在典型的实施例中,通过所选的用户通知装置将所述设备事件通知给所述用户还包括调用所述通知装置的设备类中的成员方法。
根据下面结合附图所说明的本发明的示例性实施例的更具体的描述,本发明的前述以及其它目的、特征和优点将变得显而易见,其中相同的参考数字通常表示本发明的示例性实施例的相同部分。
图1显示了说明用于对远程通信进行路由的示例性系统的线条图;图2显示了包括用于将远程通信路由到用户的通信网关的自动计算机器的框图;图3显示了用于将远程通信路由到用户的示例性的兼容OSGi的服务网关;图4显示了说明用于将远程通信路由到用户的示例性方法的流程图;图5显示了说明用于确定所述呼叫预计给所述用户的示例性方法的流程图;图6显示了用于根据RFID信号来确定用户的位置的示例性方法;图7和8包括根据RFID读取器和RFID标签之间的距离,针对每个RFID读取器来确定RFID标签的可能位置的区域;图9显示了用于根据用户的位置和基于位置的用户偏好(preference)来将呼叫转发到通话设备的示例性方法;图10显示了用于将远程通信路由到用户的另一个示例性实施例;图11显示了用于标识用户的基于设备的偏好以及根据基于设备的偏好来选择多个可用的通话设备之一的示例性方法;图12显示了说明用于根据基于设备的偏好来选择多个可用的通话设备之一的示例性方法的示例性流程图;图13显示了用于将远程通信路由到用户的另一个示例性方法;图14显示了说明用于预期用户的未来位置的示例性方法的流程图,其包括确定第一用户位置;图15显示了说明用于将包括接收设备事件的设备事件通知给用户的示例性方法的流程图;图16显示了用于将没有所有者的设备所产生的设备事件与用户进行关联的示例性方法;图17显示了用于将设备事件与用户进行关联的另一个示例性方法;图18显示了用于为用户建立基于RFID的远程通信路由的示例性方法;图19显示了用于实现用于远程通信路由的用户帐户的数据结构的示例性关系图。
具体实施例方式
概述在本说明书中,本发明很大程度上是就用于对远程通信进行路由的方法而被描述的。然而,本领域的技术人员应当认识到,包括用于根据所公开的方法进行操作的适当的编程装置的计算机系统也落在本发明的范围之内。适当的编程装置包括用于指挥计算机系统来执行本发明的方法的步骤的任何装置,例如包括,包含被耦接到计算机存储器的处理单元和算法逻辑电路的系统,所述系统具有在计算机存储器中进行存储的能力,所述计算机存储器包括电子电路,其被配置成存储数据和程序指令,由处理单元执行的本发明的方法的编程的步骤。
本发明还可以被体现在用于和任何适当的数据处理系统一起使用的计算机程序产品中,例如盘和其它记录介质。计算机程序产品可以通过使用用于机器可读信息的任何记录介质,包括磁介质、光介质或其它适当的介质,而被实现。本领域的技术人员应当立即认识到,具有适当的编程装置的任何计算机系统都将能够执行在程序产品中所体现的本发明的方法的步骤。本领域的技术人员应当立即认识到,尽管本说明书中所描述的示例性实施例的多数都是针对在计算机硬件上安装和执行的软件的,但是,作为固件或硬件所实现的其它实施例也是在本发明的范围之内的。
示例性结构通过参考以图1开始的附图,用于对远程通信进行路由的方法、系统和计算机程序产品被解释。图1显示了说明用于对远程通信进行路由的示例性系统的线条图。本说明书中的“远程通信”是指,通过通话设备、电话、电报、无线电设备、或者被设计成便于在用户之间进行通信的任何其它设备,在一段距离上进行通信的技术。在本说明书中,“通话设备”是便于在用户之间进行远程通信的任何设备。通话设备包括计算机、数字通信设备、模拟通信设备或者本领域技术人员所能想到的任何其它通信设备。
图1的系统包括网络环境(106),在这个例子中,其是用户(124)的网络家庭环境。网络家庭环境的描述仅是为了进行解释而不是为了进行限制。实际上,用于将远程通信路由到用户的系统可以在任何网络环境中被实现,例如,网络化的办公室、商店或本领域的技术人员所能想到的其它环境。图1的网络家庭环境里包括在家里的不同位置处所固定的RFID读取器(118,111,110,116,114,112)。图1的客厅(150)在其中固定了三个RFID读取器(118,111和110)。图1的厨房(104)在其中固定了一个RFID读取器(116)。图1的卧室(107)在其中固定了两个RFID读取器(114,115)。办公室(129)在其中固定了一个RFID读取器(112)。在图1的例子中,RFID标签(119)与用户(124)在一起或被固定到用户上。
“RFID”是指射频标识,一种用于通过使用天线、收发器及应答器(transponder)或“标签”在网络环境(106)中定位用户(124)的技术。在本说明书中,RFID收发器被视为包括将射频信号中的信息转换为有用的计算机数据所需的电子设备;因此,在本说明书中,RFID收发器被称为“RFID读取器”。然而,如“收发器”所暗示的那样,RFID读取器可以从RFID应答器中读取信息,以及将信息写入RFID应答器。在本说明书中,RFID应答器被称为“RFID标签”。RFID标签通过利用每个RFID标签唯一的RFID标识代码被编程。与用户在一起的唯一的RFID标签被用于在网络环境中唯一地定位用户。
RFID天线发射射频信号,以激活RFID标签,并且从所述标签中读取数据和将数据写入所述标签。天线作为标签和收发器之间或者RFID读取器之间的数据渠道(conduit)而起作用。天线可以就各种形状和大小而获得。RFID读取器典型地以从几英寸到100英尺或更大的范围上有用的功率级别及频率来发射无线电波。当RFID标签(119)通过来自于RFID天线的无线电信号的电磁场时,RFID标签检测读取器的激活信号。读取器对标签的集成电路中,典型地是硅芯片中,所编码的数据进行解码。
不主动向读取器进行传输的RFID设备传统上被称为“标签”。主动向读取器进行传输的RFID设备被称为应答器(发送器+响应器(TRANSmitter+resPONDER))。然而,在工业上,互换术语,以及,或多或少可互换地将这些设备称为标签或应答器是常见的。在本说明书中,为了使用的清晰起见,“标签”通常被用于指所有的RFID设备。
标签通过标识所述标签的数据而被编程,因此,用户与标签在一起。标签可以是只读的、易失性读/写的、或者一写/多可读(WORM)的,以及可以是有源的(active)或无源的(passive)。有源标签一般使用电池来给标签的射频发射器和接收器供电。有源标签一般比无源标签包括更多的部件,因此,有源标签在尺寸上通常更大,以及比无源标签更昂贵。有源标签的存储器大小根据应用的需要而各不相同;有些系统通过高达兆字节或更大的存储器而进行操作。有源标签的使用寿命与其电池寿命有关。无源标签根据其预期应用而可以是电池或非电池操作的。
无源标签反射从读取器向其所发射的RF信号,以及通过调制所反射的信号来增加信息,从而传送标签里的计算机存储器中所存储的标识或描述信息。具有电池的无源标签通常不使用其电池来增强(boost)反射信号的能量。无源标签典型地使用电池来维护标签里的存储器或者为使得标签能够调制反射信号的电子装置提供电力。无源RFID标签常常不通过电池或其它电源来进行操作,而获取从RFID读取器所产生的操作动力。无源标签典型地比有源标签更轻、更便宜,以及提供很长的工作寿命。不足之处在于,无源RFID标签具有比有源标签短的读取范围,并且需要较高功率的读取器。
RFID标签以很多种形状和大小出现。插入到动物皮肤之下的动物跟踪标签可以小到直径为笔芯及长度为半英寸。一些标签是螺旋形的,以标识树的或者木制的物品,或者是信用卡形的,用于访问应用中。固定到商店里的货品上的反偷窃硬塑料标签是RFID标签。
在图1的例子中,从RFID读取器(118,111和110)所发射RFID信号(122,126和124)激活RFID标签(119),一个与用户在一起的小型无源标签。标签(119)在其中的计算机存储器里存储至少一个唯一的标识代码或序列号,所述代码或序列号唯一地标识所述标签,因而唯一地标识与所述标签在一起的用户。RFID读取器被耦接,用于和通信网关(108)进行数据通信。“被耦接用于数据通信”意味着任何形式的数据通信,无线、802.11b、蓝牙、红外、射频、互联网协议、HTTP协议、电子邮件协议、网络的、直接的连接、专用电话线、拨号、通过RS-232(ELA232)或通用串行总线的串行连接、硬布线并行端口连接、根据电力线协议的网络连接、以及本领域的技术人员所能想到的其它形式的用于数据通信的连接。用于数据通信的耦接包括用于数据通信的网络耦接。用于本发明的各种实施例的网络的例子包括电缆网络、内联网、外联网(extranet)、互联网、局域网、广域网、以及本领域的技术人员所能想到的其它网络安排。在电视信道、电缆信道、视频提供商、电信源等之中的任何网络耦接的使用也在本发明的范围之内。
图1的示例性通信网关(108)能够从RFID读取器接收RFID读取器接收到来自于和用户在一起的RFID标签的RFID信号的指示。在本发明的许多实施例中,RFID读取器有益地被无线耦接,用于和通信网关(108)进行数据通信。在许多其它的实施例中,RFID读取器使用各种协议,例如蓝牙、802.11、HTTP、WAP或者本领域技术人员所能想到的其它协议,将RFID信号被RFID读取器所接收的指示发送给通信网关上运行的通信应用。
图1的示例性通信网关(108)还能够确定用户在网络环境(106)中的位置,以及根据用户的位置将呼叫路由到所选通话设备(132,131,134,136)。如下面参考图6、7和8更加详细地讨论的那样,根据RFID信号确定用户的位置可以通过在网络环境里于固定位置处对用户的标签进行近场检测(near field sensing)或者通过用户的三边测量(trilateration)来执行。近场检测及三边测量的示例性描述是为了进行解释而不是为了进行限制。实际上,本领域的技术人员能够想到许多种方式来根据RFID信号确定用户的位置,并且所有这些方式都在本发明的范围之内。
图1的示例性通信网关(108)还被耦接用于进行数据通信到广域网(102),到企业服务器(101),企业服务器被耦接用于进行到基于RFID的电信路由数据库(128)的数据通信,所述数据库在其中存储用户(124)的用户帐户(120)记录,其包括偏好数据以及用于根据用户在网络环境中的位置将远程通信路由到网络环境内的设备的其它信息。通信网关(108)支持通过PSTN网络(“公共交换电话网络”)(103)的传统远程通信功能,以及通过WAN(102)的分组交换通话,例如VOIP(“因特网电话”)远程通信。图1的示例性通信网关(108)是能够在网络域中进行远程通信路由的允许OSGi的网关。OSGi表示“开放服务网关行动”。OSGi规范是基于Java的应用层架构,其提供供应商中立的应用和设备层API及功能用于使用家庭、汽车和其它环境里的网络中进行操作的任意通信协议的各种设备。OSGi与各种网络技术,例如以太网、蓝牙、“家庭、音频和视频交互标准”、IEEE 1394、通用串行总线(USB)、WAP、X-10、Lon Works、HomePlug以及各种其它网络技术,一起工作。OSGi规范可以免费从OSGi网站www.osgi.org上下载而获得。通话API(“应用编程接口”)能够实现与图1的示例性通信网关的呼叫路由。通话API的例子包括可以从SunMicrosystems,Inc.获得的Java Telephony API、可以从IBM获得的CallPath API,以及本领域技术人员所能想到的其它API。
图1的用于将远程通信路由到用户的系统能够通过PSTN网络(103)或分组交换WAN(102)来接收呼叫,以及确定呼叫是预计给用户(124)的。图1的系统还能够从用户的RFID标签(119)接收一个或多个RFID信号(126,124,122),以及根据RFID信号(126,124,122)确定用户(124)的位置。图1的系统还能够为在可通过企业服务器(101)、通过WAN(102)进行访问的基于RFID的远程通信数据库(128)里所存储的用户帐户(120)中所维护的用户标识基于位置的路由偏好。图1的系统还能够根据针对用户的基于位置的路由偏好,在网络环境里的多个通话设备(131,132,134,136)中标识特定的通话设备(132),以及根据用户的位置和用户的基于位置的路由偏好,将呼叫转发到通话设备。
在一些情况下,对于用户,在网络环境内的特定位置处,多于一个的通话设备(131,132)是可用的。在这种情况下,图1的系统能够接收呼叫,以及确定呼叫是预计给用户(124)的。图1的系统能够从与用户(124)在一起的RFID标签(119)接收一个或多个RFID信号(126,124和122);根据RFID信号(126,124和122)来确定用户的位置,以及根据用户的位置来标识多个可用的通话设备(131,132)。图1的系统能够标识用户的基于设备的偏好,根据基于设备的偏好选择多个可用的通话设备(131)中的一个(132),以及将呼叫转发给所选通话设备(132)。
用户在网络环境中通常不是静止的。即,用户经常在网络环境里四处移动,以及经常在从房间到房间之间移动。在用户可获得许多通话设备和远程通信方法的情况下,当在特定的通话设备上接收到呼叫之后,用户可能移动,以及在这种情况下,图1的系统能够根据用户的预期未来位置将呼叫重新路由到另一个电话设备上。在这种情况下,图1的系统能够通过从与用户(124)在一起的RFID标签(119)接收多个RFID信号(126,124,122)来将远程通信重新路由到用户;根据RFID信号(126,124,122)来预期用户的未来位置;根据所预期的未来位置而选择通话设备;以及将正在进行的呼叫重新路由到所选通话设备。在这种情况下,图1的系统有益地在不需要用户干涉的情况下,于所述网络环境中提供无缝远程通信给用户,以便将正在进行的呼叫重新路由到另一个电话设备。
如上所述,图1的通信网关(108)是允许OSGi的网关。在图1的例子中,除了能够将远程通信路由到用户(124)之外,通信网关(108)还能够从网络环境内的非通话设备接收设备事件,以及将所述设备事件的接收通知给用户。这种能够产生设备事件的非通话设备的例子是咖啡壶、烤箱、洗碗机、计算机、立体声系统、复印机以及本领域的技术人员所能想到的其它设备。这种允许网络的设备能够通过这里被称为设备事件的事件而将其状态报告给通信网关。例如,设备事件可以在咖啡壶冲完一壶咖啡时被产生。
在图1的例子中,网络咖啡壶(151)被耦接用于和通信网关(108)进行数据通信。图1的系统能够从咖啡壶接收设备事件,以及将设备事件与用户相关联(124)。图1的系统能够从用户的RFID标签(119)接收一个或多个RFID信号(126,124,122),以及根据RFID信号(126,124,122)来确定用户的位置。图1的系统还能够根据用户的位置来选择用户通知装置(838),以及通过所选用户通知装置(838)来通知用户(124)所述设备事件。图1的例子里的咖啡壶的使用是为了进行解释而不是为了进行限制。能够将设备事件报告给通信网关的通话和非通话的网络设备的数量和种类几乎是无穷的,以及所有这些设备都在本发明的范围之内。
图1的系统还能够为用户建立基于RFID的远程通信路由。在图1的系统中,用户能够通过使用所述用户的办公室(129)里的膝上电脑(136)上运行的浏览器而登录到通信网关上运行的通信应用上。图1的系统通过标识用户(124)在网络环境中可用的多个通话设备(131,132,134和136)来建立基于RFID的远程通信路由,以及标识通话设备的位置。图1的系统能够从用户、从网络管理员、房主、或者通过从由具有这种信息的任何人或处理所支持的网络位置处下载通话设备的标识及其位置的标识,而接收通话设备的标识及其位置的标识。图1的系统能够从用户接收路由偏好,以及将所标识的用户可用的通话设备、用户可用的多个设备的位置以及用户帐户(120)里的路由偏好与用户相关联,所述用户帐户在图1的例子里被存储在基于RFID的远程通信路由数据库中。
如上所述,基于RFID的远程通信路由经常通过使用计算机来实现。为了进一步进行解释,图2示出了根据本发明实施例的包括用于将远程通信路由到用户的通信网关的自动计算机器的框图。在一些示例性结构中,图1的通信网关(108)是兼容OSGi的服务网关。尽管将远程通信路由到用户的示例性实施例在本说明书中是使用OSGi来描述的,但是,许多其它应用和架构也会工作以根据本发明来实现将远程通信路由到用户,因此,也是在本发明的范围之内的。例如JES和SMF的OSGi的商业实现也用于实现本发明的方法。“JES”表示Java嵌入式服务器。JES是OSGi的商业实现,其提供一种架构用于开发、配置以及安装应用和服务到嵌入式设备中。“SMF”表示可以从IBM获得的“Service Management FrameworkTM”。SMF是OSGi的一种商业实现,用于在服务网关上管理网络发出的应用。
图2的通信网关(108)包括至少一个计算机处理器(156)或“CPU”,以及随机存取存储器(168)(“RAM”)。在RAM中存储操作系统(154)。用于根据本发明的实施例的计算机的操作系统包括Unix、Linux、Microsoft NTTM以及本领域的技术人员所能想到的许多其它操作系统。图2的例子里的操作系统(154)被示出在RAM(154)里,但是,操作系统的许多其它部分典型地还被存储在非易失性存储器(166)中。
服务架构(190)也被存储在RAM(168)里。图1的服务架构(190)是用于运行“服务”的主机(hosting)平台。服务是用于在OSGi中产生应用的主要构建块。OSGi服务架构(190)是用Java来写的,因此,典型地运行在Java虚拟机(JVM)(150)上。
图2的示例性结构包括通信应用(407)。在本发明的一些实施例中,通信应用是兼容OSGi的应用软件,因此,是作为服务或者一组作为服务架构(190)上所安装的束(bundle)而被打包的服务来实现的。在本说明书中,通信应用经常是在OSGi的上下文下被讨论的。然而,OSGi的讨论是为了进行解释而不是为了进行限制。实际上,根据本发明的各个实施例的通信应用可以用任何编程语言来实现,如本领域的技术人员所能想到的那样,有C、C++、COBOL、FORTRAN、BASIC等,以及,以除了Java之外的其它语言所开发的通信应用被直接安装在除了JVM的操作系统或操作环境上。
图2的通信网关(108)包括非易失性的计算机存储器(166),其通过系统总线(160)被耦接到处理器(156)以及网关的其它部件。非易失性计算机存储器(166)可以作为硬盘驱动器(170)、光盘驱动器(172)、电可擦可编程只读存储器空间(所谓的“EEPROM”或“闪存”存储器)(174)、RAM驱动器(未示出)、或者本领域技术人员所能想到的其它类型的计算机存储器。
图2的示例性通信网关(108)包括通信适配器(167),用于实现数据通信的连接,包括通过网络到其它计算机(182)的连接,所述计算机包括RFID读取器、通话设备、允许网络的设备、非通话设备、通知装置、服务器、客户端以及本领域的技术人员所能想到的其它设备。通信适配器实现用于数据通信的硬件级的连接,通过所述连接,本地设备和远程设备或服务器通过网络直接向彼此发送数据通信。
图2的示例性通信网关(108)包括一个或多个输入/输出接口适配器(178)。计算机中的输入/输出接口适配器例如通过软件驱动器和计算机硬件来实现面向用户的输入/输出,用于控制到例如计算机显示屏幕的显示设备(180)的输出,以及控制来自于例如键盘和鼠标的用户输入设备(181)的用户输入。
如上面所讨论的那样,用于远程通信路由的通信网关经常是作为兼容OSGi的服务网关而被实现的。为了进一步进行解释,图3示出了用于根据本发明的实施例将远程通信路由到用户的示例性的兼容OSGi的服务网关(108)。尽管用于将远程通信路由到用户的方法的示例性实施例在本说明书中是使用OSGi来描述的,但是,除了OSGi之外的许多其它应用和架构也可以根据本发明来实现管理设备的方法,因此,也是在本发明的范围之内的。图3的服务网关(108)包括服务架构(190)。OSGi服务架构(190)是用Java来写的,因此典型地运行在Java虚拟机(JVM)(150)上。在OSGi中,图3的服务架构(190)是用于运行“服务”(192)的主机平台。根据上下文,在本公开中的“服务”或“若干服务”通常是指兼容OSGi的服务。
服务(192)是用于根据OSGi来产生应用的主要构建块。服务(192)是实现某种特征的一组Java类和接口。OSGi规范提供了许多标准的服务。例如,OSGi提供了标准的HTTP服务,其产生可以响应来自于HTTP客户机的请求的万维网服务器。
OSGi还提供一组被称为设备访问规范(Device AccessSpecification)的标准服务。设备访问规范(“DAS”)提供服务来标识被连接到服务网关的设备,为所述设备搜寻驱动,以及为所述设备安装驱动。
OSGi中的服务(192)与服务(192)执行所需的其它文件、图像及资源一起被打包在“束”(193)中。束(193)是包括一个或多个服务实现(192)、激励器类(196)和清单文件(194)的Java档案或“JAR”文件。激励器类是一种Java类,服务架构使用该Java类来起动和停止束。清单文件(194)是描述所述束(193)的内容的标准文本文件。
在图3的示例性结构中包括通信应用(407)。在本发明的许多实施例中,通信应用是执行根据本发明的实施例的远程通信路由的OSGi服务。图3的通信应用(108)在束(193)内被打包,以及被安装在服务架构(190)上。
OSGi中的服务架构(190)还包括服务登记簿(registry)(198)。服务登记簿(198)包括服务注册(registration)(197),其包括服务的名称,以及包括类的实例,所述类的实例实现用于在架构(190)上所安装的并通过服务登记簿(198)而被登记的每个束(193)的服务。束(193)可以请求没有被包括在束(193)中但却在架构服务登记簿(198)中被登记的服务。为了发现服务,束(193)对架构服务登记簿(198)执行查询。
根据位置将远程通信路由到用户如上面所提及的那样,根据本发明的实施例的基于RFID的远程通信路由有益地根据用户的偏好将远程通信路由到用户。所述用户偏好包括基于位置的路由偏好,以及基于设备的路由偏好。所述公开的本部分指示根据位置,以及在某些情况下使用基于位置的路由偏好,将远程通信路由到用户。为了进一步进行解释,图4显示了说明用于将远程通信路由到用户的示例性方法的流程图。图4的方法包括接收(402)呼叫(404)。在本发明的典型实施例中,接收(402)呼叫(404)包括在通信网关中接收通过分组交换广域网、公共交换电话网络或者本领域的技术人员所能想到的任何其它允许远程通信的网络所发送的呼叫。
图4的方法包括确定(406)所述呼叫(404)是预计给所述用户(408)的。在典型的实施例中,确定(406)所述呼叫(404)是预计给所述用户(408)的是通过通信网关上执行的通信应用束来实现的。在一些这种实施例中,所述束包括实现自动呼叫处理器(hander)和语音到文本的转换。为了进一步进行解释,图5显示了说明用于确定所述呼叫(404)是预计给所述用户(408)的示例性方法的流程图。图5的方法包括提示(502)呼叫者以请求得到用户的名称,以及,从呼叫者作为语音(506)而接收(504)用户的名称。提示(502)呼叫者以请求得到用户的名称可以通过向用户播放预先记录的提示,请求用户说出呼叫的预计接收者的姓名。
图5的方法还包括将语音(506)转换(508)为文本(510)。成品的语音到文本转换以及语音识别软件是在商业上可以获得的,以及可由本发明的通信应用所使用,用于确定呼叫是预计给特定用户的。这种商业上可用的产品的例子是可从IBM获得的ViaVoiceTM以及可从Sun Microsystem,Inc获得的Java Speech API。
图5的方法还包括根据所述文本(510)来检索用户记录(408)。在图5的方法中,根据所述文本(510)来检索用户记录(408)包括关于用户名称的文本来搜索包括用户记录的数据库(514)。如果搜索返回匹配,则图5的方法包括将用于所标识的用户的用户记录返回给正在执行的通信应用。
图5的示例性用户记录(408)包括唯一标识所述用户的用户ID(410)。图5的示例性用户记录(408)还包括唯一标识RFID标签的用户RFID标签(414)的标识。图5的示例性用户记录(408)包括标识用户偏好的偏好ID(412),所述用户偏好例如是下面更详细讨论的基于位置的路由偏好以及基于设备的路由偏好。
继续再参考图4图4的方法包括从用户的RFID标签(414)接收(415)RFID信号(416)。如上面所讨论的那样,RFID标签常常是作为有源RFID标签或者无源RFID标签而获得的。因此,图4的例子里的RFID信号可以是来自于和用户在一起的或被固定到用户上的有源RFID标签的RFID信号,或者是来自于和用户在一起的或被固定到用户上的无源RFID标签的RFID信号。
图4的方法还包括根据RFID信号(414)来确定(418)用户的位置(420)。如下面参考图6、7和8更详细地讨论的那样,更RFID信号来确定用户的位置可以通过在网络环境里于固定位置处对用户的标签进行近场检测或者通过用户的三边测量来完成。近场检测和三边测量的示例性描述是为了进行解释而不是为了进行限制。实际上,本领域的技术人员能够想到许多中方式来根据RFID信号确定用户的位置,以及所有这些方式都是在本发明的范围之内的。
图4的方法还包括标识(418)用户的基于位置的路由偏好(455),以及根据用户的位置(420)和用户的基于位置的路由偏好(455)将呼叫(404)转发(422)给通话设备(134)。基于位置的路由偏好是对根据用户的位置的远程通信的优选路由进行描述的用户的偏好。例如,示例性的基于位置的路由偏好可以证明,尽管可获得更多的通话设备,但是,用户将仅接受在客厅和卧室的通话设备上的呼叫。因此,当用户的位置是在预定为较接近客厅的位置的范围之内时,呼叫被路由到客厅。当用户的位置是在预定为较接近卧室的位置的范围之内时,呼叫被路由到卧室。
在图4的例子中,基于位置的路由偏好是作为基于位置的偏好记录(455)而被实现的。图4的示例性的基于位置的路由偏好记录(455)包括唯一标识用户的用户ID(410)。示例性的基于位置的路由偏好(455)还包括标识用户位置的位置ID(411),对于所述用户位置,基于位置的路由偏好将被实现。位置ID(411)可以是纬度和经度、房间标志、物理地址、或者以本领域的技术人员所能想到的任何方式所表示的位置的范围。基于位置的偏好记录(455)包括唯一标识与位置ID相关联的路由偏好的偏好ID(413)。
如上面所讨论的那样,通过使用RFID来确定用户的位置可以用各种方式来执行。确定用户位置的一种方式包括,在网络域里于固定的读取器位置处对RFID标签进行近场检测,以及将一准则集应用于所标识的固定读取器位置,以估计用户的位置。因此,为了进一步进行解释,图6示出了用于根据RFID信号来确定用户位置的示例性方法。图6的方法包括在多个RFID读取器位置(612),从用户的RFID标签接收(610)多个RFID信号(414),并且将读取器ID及信号被接收的日期和时间存储(614)在表示用户位置的指示的数据结构里。
在图6的例子里,用户位置记录(602)表示用户位置的指示,其中的每个是响应在网络域里于固定位置处从用户的RFID标签接收到RFID信号而被产生的,并且被存储在是用户位置记录的集合的用户位置历史(920)里。图6的示例性用户位置记录(602)包括唯一标识用户的用户ID字段(410)。用户的示例性的用户位置记录(602)包括标识将RFID信号发送给位于网络环境内固定位置处的RFID读取器的用户RFID标签的RFID标签ID(414)。示例性的用户位置记录(602)还包括唯一标识接收RFID信号的RFID读取器的读取器ID字段(604)。示例性用户位置记录(602)还包括标识RFID读取器在网络域中的位置的读取器位置(605)。示例性用户位置记录还包括RFID读取器接收到信号的日期(606)和时间(608)。
图6的方法还包括根据RFID读取器位置(605)和一准则(617)来确定(616)用户的位置(420)。将一准则应用于多个固定的读取器位置,所述多个固定的读取器位置中的每个接近用户的位置,这给通过在网络环境里于固定位置处检测用户的RFID标签所提供的近似用户位置提供了增加的精确度。
为了进一步进行解释,考虑下面的使用情况。RFID读取器被固定在用户办公室的各个位置处。RFID读取器被固定在复印室的入口附近,RFID读取器还被固定在复印室的各个位置处。如果在复印室的入口处的RFID读取器接收到来自于用户的RFID标签的RFID信号,以及复印室内的RFID读取器随后很快接收到RFID信号,则确定所述用户在复印室内。用于描述这种使用情况的准则如下
对于用尸如果复印室入口读取器为真;以及如果内部读取器在预定时间期间内为真;则用户在复印室内;如果内部读取器在预定时间期间内不为真;则用户不在复印室内。
在网络域里于固定点处的用户的近场检测有益地提供了用户在网络环境中的位置的粗略估计。将准则应用于多个固定位置处的用户的近场检测提供了在对用户的位置进行估计中的增加的精确度。
正如上面所讨论的那样,在网络环境里于固定点处的用户的近场检测是一种用于定位用户而不尝试明确地定位RFID标签本身的机制。仅通过确定用户的RFID标签是在一个或多个RFID读取器的范围之内的来定位用户。用户可以通过使用所谓的三边测量的方法而更加精确地被定位。为了进行解释,图7和8示出了在一起被考虑时说明一种使用三边测量的用于根据接收的RFID信号确定用户的位置的方法。图7和8包括在多个RFID读取器位置(图7上的612a,612b和6112c)处,从用户的RFID标签(图7上的612)接收多个RFID信号,以及为每个RFID读取器确定每个RFID读取器和用户RFID标签之间的距离(图7上的A,B和C)。
图7和8的方法还包括根据RFID读取器(图7和8上的612a,612b和612c)和RFID标签(612)之间的距离(图7和8上的A,B和C),为每个RFID读取器(图8上的612a,612b和6112c)确定RFID标签的可能位置的区域(图8上的704a,704b和704c)。在图7和8的方法中,RFID标签的可能位置的区域(图8上的704a,704b和704c)是通过由等于每个RFID读取器和RFID标签之间的距离(图7上的A,B和C)的半径所定义的区域来表示的。图7和8的方法还包括确定RFID标签的可能位置的区域(图8上的704a,704b和704c)的交集(图8上的702)。可能位置的区域(图8上的704a,704b和704c)的交集是RFID标签的近似位置,因此是所述用户的近似位置。如本领域的技术人员所能想到的那样,增加可用于图7和8的方法的RFID读取器的数量常常会减小交集的区域。
如上所示,图7和8的方法包括确定RFID读取器(图7和8上的612a,612b和612c)和用户的RFID标签(图7上的612)之间的距离(图7和8上的A,B和C)。确定RFID读取器(图7和8上的612a,612b和6112c)和用户的RFID标签(图7上的612)之间的距离(图7和8上的A,B和C)的一种方式是通过从每个RFID读取器发送RFID信号来完成的。如果另一个RFID信号由RFID标签所返回,则所述方法包括确定在发送第一RFID信号和接收到来自于RFID标签的响应信号之间的时间周期。然后,所述时间周期被除以二,接着,除以RFID信号的速率,以确定读取器和标签之间的距离。
由于无线电信号以光速进行传播,因此,精确地测量在读取器和标签之间的信号传播的发送及响应时间可能是麻烦的。确定RFID读取器(图7和8上的612a,612b和612c)和用户的RFID标签(图7上的612)之间的距离(图7和8上的A,B和C)的一种较方便的方法包括使用变化的信号强度来改变RFID读取器的范围。在这种情况下,RFID读取器发送RFID信号,以及,如果标签响应,则读取器发送具有较低强度的另一个信号。读取器重复地发送强度逐渐减小的信号,直到标签不再响应为止。每个信号的强度具有预定的有效范围。因此,通过系统地减小读取器的有效范围,RFID读取器(图7和8上的612a,612b和612c)和用户的RFID标签(图7上的612)之间的距离(图7和8上的A,B和C)可近似为在具有来自于标签的最后响应的信号的有效范围和没有来自于标签的响应的信号的有效范围之间。系统地改变信号强度以逼近读取器和标签之间的距离提供了一种较方便的确定RFID读取器(图7和8上的612a,612b和612c)和用户的RFID标签(图7上的612)之间的距离(图7和8上的A,B和C)的方法。
如上面所讨论的那样,一旦用户被定位,则根据本发明的一些实施例的远程通信路由有益地根据用户的位置将呼叫转发到通话设备。为了进一步进行解释,图9示出了一种用于根据用户的位置和基于位置的用户偏好将呼叫转发到通话设备的示例性方法。图9的方法包括根据用户的位置(420)以及基于位置的路由偏好(455)来选择(904)通话设备(906)。在图9的方法中,根据用户的位置(420)以及基于位置的路由偏好(455)来选择(904)通话设备(906)是通过从表示通话设备的设备数据库里选择设备记录(906)来完成的。
图9的示例性通话设备记录(906)包括唯一表示通话设备的设备ID(908)。图9的示例性设备记录(906)包括标识通话设备类型的设备类型(910)。通话设备类型的例子包括电话、膝上型电脑、PDA、麦克风、无线电话、有线电话、蜂窝电话等,正如本领域的技术人员所能想到的那样。图9的示例性通话设备记录(906)包括标识设备位置的设备位置(962)。设备的位置可以被表示为纬度和经度、房间标志、物理地址、或者本领域的技术人员所能想到的任何其它位置表示。图9的示例性通话设备记录(906)还包括有效范围(914)。有效范围描述了设备有效的物理区域。例如,扬声器电话可以具有10平方英尺的有效范围,而有线电话可以具有仅2平方英尺的有效范围。
图9的方法包括将呼叫传递(916)给所选通话设备(906)。将呼叫传递(916)给所选通话设备(906)典型地是通过调用在通话API中所提供的API功能来实现的。通话API的例子包括可以从SunMicrosystems,Inc.获得的Java Telephony API、可以从IBM获得的CallPath API,以及本领域技术人员所能想到的其它API。
根据基于设备的路由偏好将远程通信路由到用户图10示出了用于将远程通信路由到用户的另一种示例性方法。图10的方法包括接收(402)呼叫(404),以及确定(406)呼叫(404)是预计给用户(408)的。如上面参考图5所讨论的那样,确定呼叫是预计给用户的一种方式包括语音到文本的转换。在一些这种实施例中,确定(406)呼叫(404)是预计给用户(408)的包括提示呼叫者以请求得到用户的名称,从呼叫者作为语音接收用户的名称,将语音转换为文本,以及根据文本来检索用户记录。
图10的方法还包括从和用户(408)在一起的RFID标签(414)接收(415)RFID信号(414),以及更加RFID信号(416)来确定(417)用户的位置(420)。如上面所讨论的那样,RFID标签常常可以作为有源RFID标签或者无源RFID标签来获得。因此,图10的例子里的RFID信号可以是来自于和用户在一起的或被固定到用户上的有源RFID标签的RFID信号,或者是来自于和用户在一起的或被固定到用户上的无源RFID标签的RFID信号。同样如同上面参考图6、7和8所更加详细地讨论的那样,根据RFID信号来确定用户的位置可以通过在网络环境内于固定位置处对用户的标签进行近场检测或者通过用户的三边测量来实现。近场检测和三边测量的示例性描述是为了进行解释而不是为了进行限制。实际上,本领域的技术人员能够想到许多方式来根据RFID信号确定用户的位置,以及所有这些方式都是在本发明的范围之内的。
图10的方法包括根据用户的位置(420)来标识(450)多个可用的通话设备(906)。在图10的方式中,根据用户的位置(420)来标识(450)多个可用的通话设备(906)包括根据用户的位置从设备数据库(902)中选择通话设备记录(906)。根据用户的位置从设备数据库(902)中选择通话设备记录(906)典型地是通过搜索设备数据库(902)来查找其位置最近似匹配用户位置的通话设备记录。
在特定位置的用户通常可获得多于一个的通话设备。即,在网络环境里的特定位置处的用户经常有多于一个的通话设备可以得到。因此,图10的方法包括为用户(408)标识(454)基于设备的偏好(456),以及根据基于设备的偏好(456)选择(452)多个可用的通话设备(906)之一。基于设备的偏好是用于选择多个可用的设备之一的偏好。基于设备的偏好可以由用户来提供。基于设备的偏好的例子包括无线通话设备优于有线设备的偏好,具有扬声器的通话设备优于没有扬声器的设备的偏好,墙上安装的设备相对于未在墙上安装的设备的偏好,等等,如本领域的技术人员所能想到的那样。
在图10的例子中,基于设备的偏好是在数据中作为基于设备的偏好记录(456)来实现的。图10的示例性的基于设备的偏好记录(456)包括唯一标识偏好的偏好ID字段(462)。图10的示例性的基于设备的偏好记录(456)包括优选设备类型字段(464),所述优选设备类型字段包括根据设备类型的对于通话设备的偏好。设备类型的例子包括无线设备、有线设备、墙上安装的设备、移动设备、具有扬声器的设备等,如本领域的技术人员所能想到的那样。图10的示例性的基于设备的偏好记录(456)包括优先呼叫设备(466)字段,所述优先呼叫设备字段包括用于优先呼叫的设备的设备类型或设备标识。例如,优先呼叫设备可以包括用户的移动电话,以及在这种情况下,仅高优先级的呼叫被路由到移动电话。
在图10的例子中,根据基于设备的偏好(456)选择多个可获得通话设备(906)之一典型地包括对先前根据用户的位置关于设备类型字段所选择的通话设备记录进行搜索以查找匹配记录。为了进一步进行解释,图11显示了一种用于为用户(408)标识(454)基于设备的偏好(456)以及根据基于设备的偏好(456)来选择(452)多个可用的通话设备(906)之一的示例性方法。在图11的方法中,为用户(408)标识(454)基于设备的偏好(456)是通过从偏好数据库(468)中选择(460)基于设备的偏好记录(456)来完成的。在图11的方法中,根据基于设备的偏好(456)来选择(452)多个可用的通话设备(906)之一是通过从基于设备的偏好记录(456)中读取优选通信设备类型(464)的指示以及选择(472)优选通信设备类型(464)的设备来实现的。
继续再参考图10图10的方法包括将呼叫转发(422)给所选通话设备(906)。将呼叫转发给所选通话设备(906)典型地是通过调用通话API中所提供的API功能来实现的。通话API的例子包括可以从Sun Microsystems,Inc.获得的Java Telephony API、可以从IBM获得的CallPath API,以及本领域技术人员所能想到的其它API。
不是给用户的所有呼叫都是同等重要的。当用户期望呼叫被区分优先级以及通信路由被执行以便根据呼叫的优先级将呼叫路由到适当的通话设备时,情况可能发生。为了进一步进行解释,图12显示了说明用于根据基于设备的偏好(456)来选择多个可用的通话设备(906)之一的示例性方法的示例性流程图。图12的方法包括确定(520)呼叫(404)的优先级(532)。确定呼叫的优先级的一种方式包括提示用户以请求得到呼叫的指示,作为语音接收呼叫的优先级,以及将优先级从语音转换为文本。
在图12的方法中,呼叫的优先级被包括在呼叫上下文数据结构(522)中。呼叫上下文(522)典型地是包括关于用于远程通信路由的特定呼叫的信息的数据结构。图12的示例性呼叫上下文(522)包括唯一标识呼叫的上下文ID(524)。图12的示例性呼叫上下文(522)还包括电话号码(526)字段,所述电话号码字段包括呼叫被发出(place)的电话的电话号码。图12的示例性呼叫上下文(522)包括接收者电话号码字段(527),所述接收方电话号码字段包括呼叫的接收电话号码。图12的示例性呼叫上下文(522)包括呼叫者字段(528),所述呼叫者字段包括呼叫者的标识。图12的示例性呼叫上下文(522)包括接收者字段,所述接收者字段包括用户的标识。图12的示例性呼叫上下文(522)包括优先级标志(532)。优先级可以作为高优先级或非高优先级的布尔指示、作为表示优先级的等级的值、或者本领域的技术人员所能想到的任何其它优先级标志而被指明。
图12的方法还包括根据呼叫(404)的优先级(532)来选择(534)多个通话设备(906)之一。根据呼叫(404)的优先级(532)来选择(534)多个通话设备(906)之一是通过从基于设备的偏好记录中读取优先呼叫设备(466)以及根据优先呼叫设备选择设备(906)来实现的。在一些实施例中,优先呼叫设备标识接收所有高优先级呼叫的特定设备。在其它的实施例中,优先呼叫设备标识用于接收高优先级呼叫的设备类型,以及根据优先呼叫设备选择设备(906)包括选择优先呼叫设备类型的设备。
将正在进行的远程通信重新路由到用户在网络环境里,用户常常不是静止的。即,用户常常在网络环境里四处移动,以及常常从房间到房间进行移动。在用户可以获得许多通话设备的情况下,当在特定的通话设备上接收到呼叫之后,用户可能移动,并且在这种情况下,有益地根据用户的预期未来位置而将呼叫重新路由到另一个通话设备。为了进一步进行解释,图13显示了另一种用于将远程通信重新路由到用户的示例性方法。图13的方法包括从和用户在一起的RFID标签(414)接收多个RFID信号(416),以及根据RFID信号(416)预测(622)用户的未来位置(624)。
根据RFID信号(416)预测(622)用户的未来位置(624)可以使用上述用于定位用户的方法的组合来实现。为了进一步进行解释,图14显示了说明用于预期用户的未来位置(624)的示例性方法的流程图,其包括确定(722)第一用户位置(724)。如上面参考图6、7和8更加详细地讨论的那样,根据RFID信号来确定用户的第一用户位置可以通过在网络环境里于固定位置处对用户的标签进行近场检测或者通过用户的三边测量来完成。近场检测及三边测量的示例性描述是为了进行解释而不是为了进行限制。实际上,本领域的技术人员能够想到许多种方式来根据RFID信号确定用户的位置,并且所有这些方式都在本发明的范围之内。
图14的方法还包括确定(726)第二用户位置(728)。如上面参考图6、7和8更加详细地讨论的那样,根据RFID信号来确定用户的位置可以通过在网络环境里于固定位置处对用户的标签进行近场检测或者通过用户的三边测量来完成。近场检测及三边测量的示例性描述是为了进行解释而不是为了进行限制。实际上,本领域的技术人员能够想到许多种方式来根据RFID信号确定用户的位置,并且所有这些方式都在本发明的范围之内。
图14的方法还包括根据第一用户位置(724)和第二用户位置(728)来预测(730)用户的未来位置(624)。根据第一用户位置(724)和第二用户位置(728)来预测用户的未来位置(624)包括通过第一位置和第二位置计算运动的线路,以及在运动的线路上选择未来用户位置。
如本领域的技术人员所能想到的那样,仅使用两个先前的用户位置来预测用户的未来位置是用户的未来位置的粗略估计。因此,如图14的方法还包括在用户位置历史(920)中存储(734)位置标识。用户位置历史是包括由用户在先前位置处的日期和时间(924)所进行索引的用户的先前位置的标识的数据结构。图14的示例性用户位置历史包括唯一标识用户位置的用户ID(410)。图14的示例性用户位置历史(920)还包括先前位置(922)的描述或标识。用户的先前位置的描述或标识可以是纬度和经度、房间标志、物理地址、或者本领域的技术人员所能想到的先前位置的任何其它描述或标识。
图14的方法还包括根据用户位置历史和位置预测准则(404)来预测用户的未来位置(624)。位置预测准则是用于根据用户位置历史中所存储的多于两个的位置来预测用户未来位置的准则。位置预测准则经常根据这样的因素,例如,运动的速度、方向的改变、和网络环境的地理布局以及本领域的技术人员所能想到的其它因素,而预测用户的未来位置。
为了进一步解释位置预测准则的使用,针对具有北边面向客厅的办公室,考虑下面的示例性准则。
如果用户的先前位置是办公室,以及如果四个位置表明用户正朝北向门移动;则预测用户正离开办公室,进入客厅。
在实现该示例性准则时,通信网关确定用户的先前位置是在办公室里。在用户位置历史里通过四个点的线路指明用户正向北行进,通过所述门到客厅。实现该示例性位置预测准则的通信网关预测,用户正离开办公室,进入客厅。因此,实现该准则的通信网关预测,用户的未来位置是在客厅里。位置预测准则有益地在预测用户的未来位置用于重新路由正在进行的远程通信的过程中提供了一种用于增加精度的手段。
继续再参考图13图13的方法还包括根据预期的未来位置(624)选择(626)通话设备(906)。在图13的方法中,根据预期的未来位置(622)选择(626)通话设备(906)还包括标识用户的基于设备的路由偏好(456),以及根据基于设备的偏好选择(626)通话设备(906)。如上面所讨论的那样,在所预期的未来位置处,用户常常可以获得不止一个的通话设备。基于设备的偏好是用于选择多个可用的设备之一的偏好。基于设备的偏好的例子包括无线通话设备优于有线设备的偏好,具有扬声器的通话设备优于没有扬声器的设备的偏好,墙上安装的设备相对于未在墙上安装的设备的偏好,等等,如本领域的技术人员所能想到的那样。在图13的实施例中,标识用户的基于设备偏好是通过从偏好数据库中选择基于设备的偏好记录来实现的。在图13的方法中,根据基于设备的偏好来选择(626)通话设备(906)是通过从具有与基于设备的偏好记录中所指示的优选设备类型相匹配的设备类型的设备数据库中选择(626)设备(906)而实现的。
在图13的方法中,根据预期的未来位置(622)选择(626)通话设备(906)包括标识用户的基于位置的路由偏好(455)。如上面所讨论的那样,基于位置的路由偏好是对根据用户的位置的远程通信的优选路由进行描述的用户的偏好。例如,示例性的基于位置的路由偏好可以描述尽管有多个通话设备可获得,但是,用户将仅接受在客厅和卧室里的通话设备上的呼叫。因此,当用户的位置是在预定为较接近客厅的位置范围之内时,呼叫被路由到客厅。当用户的位置是在预定为较接近卧室的位置范围之内时,呼叫被路由到卧室。
图13的方法还包括将正在进行的呼叫(404)重新路由(628)到所选择的通话设备(906)。在图13的方法中,将正在进行的呼叫(404)重新路由(628)到所选择的通话设备(906)包括从正在进行的呼叫的上下文(522)中读取当前通话设备(534),以及将呼叫转移给所选通话设备(906)。将呼叫转移给所选通话设备典型地是通过调用可用于通信网关的通话API中所提供的API功能来实现的。通话API的例子包括可以从Sun Microsystems,Inc.获得的JavaTelephony API、可以从IBM获得的CallPath API,以及本领域技术人员所能想到的其它API。
将网络环境里的设备事件通知给用户如上面所讨论的那样,除了将远程通信路由到用户之外,根据本发明进行操作的通信网关还能够检测设备事件。在所述实施例中,不仅通话设备被耦接用于和通信网关进行数据通信,而且其它允许网络的设备,通话设备或者非通话设备,例如咖啡壶、烤箱、洗碗机、计算机、立体声系统、复印机以及其它设备,也被耦接用于和通信网关进行数据通信。这种允许网络的设备能够通过这里被称为设备事件的事件而将其状态报告给通信网关。当这种事件在通信网关中被接收时,有利地可以将设备事件通知给用户。
为了进一步进行解释,图15显示了说明用于将包括接收到(820)设备事件(822)的设备事件通知给用户的示例性方法的流程图。在一些实施例中,接收设备事件是通过从自己主动报告其状态的设备接收设备事件来实现的。例如,咖啡壶可以被配置成发送设备事件,通知通信网关该壶已经完成冲泡,而不需要通信网关查询咖啡壶。另外,接收(820)设备事件(822)包括周期性的查询设备,请求得到设备的状态。在这种例子中,周期性地接收设备事件包括调用表示设备的设备类中的成员方法,例如getStatus(),从而得到设备的状态。
图15的方法还包括将设备事件(822)与用户(408)相关联(824)。在图15的方法中,将设备事件(822)与用户(408)相关联(824)是通过从用户的设备记录(956)中读取用户ID(410)来实现的。在图15的例子中,设备本身具有所有者,因此,仅在设备的设备类中所标识的用户被通知所述设备事件。
在图15的方法中,产生设备事件的设备在具有表示能够报告其状态的任何设备的设备记录(956)的数据中被表示。这种设备可以是通话设备,或者非通话设备。图15中的示例性设备记录(956)包括唯一标识设备的设备ID(958)。图15中的示例性设备记录(956)包括标识由设备所产生的事件的类型的事件类型(960)。图15中的示例性设备记录(956)还包括标识在图15的例子中设备具有所有者的用户ID(410)。
图15的方法还包括从用户的RFID标签(414)接收(826)RFID信号(416),以及根据RFID信号(416)来确定(828)用户的位置(420)。如上面所讨论的那样,RFID标签常常可以作为有源RFID标签或无源RFID标签来获得。因此,在图15的例子里的RFID信号可以是来自于和用户在一起或被固定在用户上的有源RFID标签的RFID信号,或者是来自于和用户在一起或被固定在用户上的无源RFID标签的RFID信号。同样如同上面参考图6、7和8所更加详细地讨论的那样,根据RFID信号来确定用户的位置可以通过在网络环境内于固定位置处对用户的标签进行近场检测或者通过用户的三边测量来实现。近场检测和三边测量的示例性描述是为了进行解释而不是为了进行限制。实际上,本领域的技术人员能够想到许多方式来根据RFID信号确定用户的位置,以及所有这些方式都是在本发明的范围之内的。
图15的方法还包括根据用户的位置(420)选择(842)用户通知装置(838)。用户通知装置(838)是能够与通信网关或者实现图15的方法的诸方面的其它硬件或软件进行数据通信并且引起用户注意的任何网络设备。用户通知装置可以是如被编程来发送标准的电子邮件给用户以将设备事件通知给用户的计算机那样复杂的,或者如能够播放将设备事件通知给用户的有声图标或声音图标的单个扬声器设备那样是重量轻的。有许多种用户通知装置可用,以及,所有这些用户通知装置都是在本发明的范围之内的。
在图15的方法中,根据用户的位置(420)选择(842)用户通知装置(838)包括从通知表(830)中检索标识在用户的当前位置使用的通知装置的通知装置ID(838)。图15的示例性通知标识(830)包括由其位置(837)所进行索引的通知装置(838)。根据用户的位置(420)选择(842)用户通知装置(838)包括关于位置字段(837)来搜索通知表(830),请求得到其位置最接近用户的通知设备(838)。
图15的方法还包括通过所选用户通知装置(838)将设备事件(820)通知(844)给用户(408)。在一些实施例中,通过所选通知装置将设备事件通知给用户可以通过调用通知装置的设备类中的成员方法,例如PlayEarCon(),而被实现。
在图15的例子中,设备本身具有所有者,因此,将设备事件与待通知的用户相关联是通过从设备的设备类中读取用户来实现的。然而,在许多情况下,设备是共享的,因此,不具有单个的所有者。为了进一步进行解释,图16显示了用于将没有所有者的设备所产生的设备事件与用户进行关联的示例性方法。图16的方法包括标识(824)设备(956)的位置(962)。在图16的方法中,标识(824)设备(956)的位置(962)包括从表示设备(956)的设备记录里的字段(962)中读取设备的位置(962)的描述。
图16的方法包括标识(928)用户(408)的先前位置(922)。在图16的方法中,标识(928)用户(408)的先前位置(922)包括从用户的位置历史(920)中读取用户的先前位置的描述。
图16的方法包括根据设备(956)的位置(962)和用户(922)的先前位置将设备事件(822)与用户(408)进行关联(930)。在图16的方法中,根据设备(956)的位置(962)和用户(922)的先前位置将设备事件(822)与用户(408)进行关联(930)典型地是通过标识其先前位置与设备的位置最近似匹配的用户来实现的。因此,图16的方法标识一个或多个用户,所述一个或多个用户的先前位置与设备的位置最近似匹配,因此,最可能是应当被通知设备事件的用户。
图16的方法对其先前位置和设备的位置最近似匹配的用户进行关联。然而,将用户与设备事件相关联有利地可以使用设备类型来更加精确地标识要被通知设备事件的用户。例如,相对于和五小时前在咖啡壶附近的用户相关联而言,咖啡壶完成冲泡的设备事件与五分钟前在咖啡壶附近的用户相关联可以更加精确。因此,为了进一步进行解释,图17显示了用于将设备事件与用户相关联的另一种示例性方法。图17的方法包括标识(934)设备事件(822)的设备类型(836),以及标识(926)设备(956)的位置(962)。在图17的方法中,标识(926)设备(956)的位置(962)包括从表示设备(956)的设备记录里的字段(962)中读取设备的位置(962)的描述。
图17的方法还包括标识(928)用户(408)的先前位置(922)。在图17的方法中,标识(928)用户(408)的先前位置(922)包括从用户的位置历史(920)中读取先前位置的描述。
图17的方法包括根据设备事件(822)的事件类型(836)、设备(956)的位置(962)和用户的先前位置(922),将设备事件(822)与用户(408)相关联(936)。在图17的方法中,根据设备事件(822)的事件类型(836)、设备(956)的位置(962)和用户的先前位置(922)将设备事件(822)与用户(408)相关联(936)包括通过相关准则(925),根据设备事件(822)的事件类型(836)、设备(956)的位置(962)和用户的先前位置(922),将设备事件(822)与用户(408)相关联(936)。相关准则提供用于将用户和设备事件进行关联的手段。为了进一步进行解释,考虑下面的相关准则如果事件类型是“预加热完成”;以及设备位置是“厨房”;以及用户位置历史表明用户在过去的20分钟内在厨房里;则将设备事件与所述用户进行关联。
实现上面的准则的通信应用确定,对于联网的烤箱,表示预加热的设备事件类型完成。通信应用确定,烤箱实际上在厨房里。然后,植入该相关准则的通信应用确定在过去的20分钟内用户是否曾在厨房里。如果用户在过去的20分钟内曾在厨房里,则实现该相关准则的通信应用将设备事件与用户进行关联。相关准则的使用有利地提供了一种手段用于在将用户和设备事件相关联的过程中增加精确度,以及因此在仅将那些设备事件通知给适当用户的过程中增加精确度。
建立用于基于RFID的远程通信路由的用户帐户如上面所讨论的那样,用户记录、用户路由偏好以及用于实现将远程通信路由及重新路由到用户的方法的其它数据可以被存储在网络环境内的且网关可直接存取的计算机存储器中,或者这些信息可以通过被耦接用于通过WAN与通信网关进行数据通信的企业服务器来获得。为了进一步进行解释,图18显示了用于为用户(408)建立基于RFID的远程通信路由的示例性方法。图18的方法包括标识(350)用户(408)可用的多个通话设备(906)。如上面所讨论的那样,在本说明书中,通话设备是用于在用户之间便于进行远程通信的任何设备。通话设备包括计算机、数字通信设备、模拟通信设备或者本领域技术人员所能想到的任何其它通信设备。
在图18的方法中,标识(350)用户(408)可用的多个通话设备(906)是通过从用户接收通话设备标识来实现的。从用户接收通话设备标识可以通过在通信应用中直接从用户接收设备标识或者通过在服务提供商接收设备标识来实现。直接从用户接收通话设备标识的一种方式是借助于通过通信应用提供可由浏览器的使用而访问的指令屏幕来实现的,所述指令屏幕被设计成便于通过指令屏幕来接收网络环境里的一个或多个通话设备的标识。通话设备的标识可以包括通话设备的序列号、通话设备的品牌及型号、或者本领域的技术人员所能想到的任何其它通话设备标识。
从用户接收通话设备标识还可以通过服务提供商来实现。在这种实施例中,为用户建立基于RFID的远程通信路由帐户的服务提供商可以从用户接收网络环境里的一个或多个通话设备的标识,以及通过被耦接用于和用户的网络环境里的通信网关进行数据通信的企业服务器来提供这种标识给通信应用。
图18的方法包括标识(352)用户(408)可用的多个通话设备(906)的位置(962)。在图18的方法中,标识(352)用户(408)可用的多个通话设备(906)的位置(962)是通过从用户接收通话设备位置标识来实现的。从用户接收通话设备位置标识可以通过在通信应用中直接从用户接收位置来实现,或者通过使用服务提供商来接收位置而实现。在一些实施例中,用户能够将通话设备在网络环境里的位置的标识直接提供给通信应用。直接从用户接收通话设备在网络环境里的位置的这种标识的一种方式是借助于通过通信应用提供可由浏览器的使用而访问的指令屏幕来实现的,所述指令屏幕被设计成便于接收一个或多个通话设备的位置。通话设备的位置的标识可以包括房间标志、纬度和经度、物理地址、或者本领域的技术人员所能想到的通话设备的位置的任何其它标识或描述。
从用户接收通话设备位置标识还可以通过服务提供商来实现。在一些这种实施例中,为用户建立基于RFID的远程通信路由帐户的服务提供商可以从用户接收通话设备的位置的标识,以及通过被耦接用于和用户的网络环境里的通信网关进行数据通信的企业服务器来提供这种通话设备的位置的标识给通信应用。
图18的方法包括从用户(408)接收(354)路由偏好(456,455)。在图18的方法中,从用户(408)接收(354)路由偏好(456,455)包括从用户接收基于位置的路由偏好,如上面所讨论的那样,基于位置的路由偏好是对根据网络环境里的特定用户的位置的远程通信的优选路由进行描述的用户的偏好。例如,示例性的基于位置的路由偏好可以表明,尽管可获得更多的通话设备,但是,用户将仅接受在客厅和卧室的通话设备上的呼叫。因此,当用户的位置是在预定为较接近客厅的位置的范围之内时,呼叫被路由到客厅。当用户的位置是在预定为较接近卧室的位置的范围之内时,呼叫被路由到卧室。
在图18的方法中,从用户(408)接收(354)路由偏好(456,455)可以通过在通信应用中直接从用户接收路由偏好来实现,或者通过借助于服务提供商而接收路由偏好来实现。在一些实施例中,用户能够直接将用于网络环境的路由偏好提供给通信应用。直接从用户接收这种基于位置的路由偏好的一种方式是借助于通过通信应用提供可由便于从用户接收网络环境的基于位置的路由偏好。在一些其它实施例中,为用户建立基于RFID的远程通信路由帐户的服务提供商可以从用户接收基于位置的路由偏好,以及通过被耦接用于和用户的网络环境里的通信网关进行数据通信的企业服务器来提供所述路由偏好给通信应用。
在图18的方法中,从用户(408)接收(354)路由偏好(456,455)还包括从用户接收基于设备的路由偏好。如上面所讨论的那样,基于设备的路由偏好是用于选择多个可用的设备之一的偏好。基于设备的偏好的例子包括无线通话设备优于有线设备的偏好,具有扬声器的通话设备优于没有扬声器的设备的偏好,墙上安装的设备相对于未在墙上安装的设备的偏好等,如本领域的技术人员所能想到的那样。
在图18的方法中,从用户(408)接收(354)路由偏好(456,455)可以通过直接从用户接收基于设备的路由偏好来实现,或者通过借助于服务提供商而接收基于设备的路由偏好来实现。在一些实施例中,用户能够直接将用于网络环境的基于设备的路由偏好提供给通信应用。直接从用户接收这种基于设备的路由偏好的一种方式是借助于通过通信应用提供可由浏览器的使用而访问的指令屏幕来实现的,所述指令屏幕被设计成便于从用户接收这种网络环境的基于设备的路由偏好。在一些其它实施例中,为用户建立基于RFID的远程通信路由帐户的服务提供商可以从用户接收基于设备的路由偏好,以及通过被耦接用于和用户的网络环境里的通信网关进行数据通信的企业服务器来提供所述路由偏好给通信应用。
图18的方法还包括接收(353)用户的RFID标签标识(414)。如上面所讨论的那样,RFID标签是和用户在一起的,因此,典型地被用于唯一地定位用户。在图18的方法中,接收(353)用户的RFID标签标识(414)可以通过直接在通信应用中从用户接收标识来实现,或者通过借助于服务提供商而接收标识来实现。在一些实施例中,用户能够直接将RFID标签的标识提供给通信应用。直接从用户接收这种标识的一种方式是借助于通过通信应用提供可由浏览器的使用而访问的指令屏幕来实现的,所述指令屏幕被设计成便于从RFID标签接收标识。在一些其它实施例中,为用户建立基于RFID的远程通信路由帐户的服务提供商可以从用户接收用户的RFID标签的标识,以及通过被耦接用于和用户的网络环境里的通信网关进行数据通信的企业服务器,作为通信应用可用的信息的一部分来提供所述标签标识。
图18的方法还包括将用户(408)可用的所标识的通话设备(906)、用户(408)可用的多个设备(906)的位置(962)、路由偏好(456、455)以及RFID标识与用户(408)相关联(356)。图18的方法,即将用户(408)可用的所标识的通话设备(906)、用户(408)可用的多个设备(906)的位置(962)、路由偏好(456、455)以及RFID标识与用户(408)相关联(356),为用户产生了帐户。用户帐户(120)可以被存储在网络环境内的数据库中,或者可以通过企业服务器由网络环境里的通信网关上运行的通信应用来存取。
在图18的例子中,在基于RFID的路由数据库中的用户帐户(120)是通过使用有关数据结构而被实现的。为了进一步进行解释,图19显示了用于根据本发明的实施例实现用于远程通信路由的用户帐户的数据结构的示例性关系图。图19的例子包括用户记录(408)。图19的示例性用户记录(408)包括唯一标识用户的用户ID(410)。图19的示例性用户记录(408)还包括唯一标识RFID标签的用户RFID标签(414)的标识。图19的示例性用户记录(408)包括偏好ID(412),其标识用户偏好,例如,下面更详细地讨论的基于位置的路由偏好和基于设备的路由偏好。
图19的例子包括设备记录(906),其通过作为外关键字所使用的用户ID字段(410)而多对一地与用户记录(408)相关联。图19的示例性通话设备记录(906)包括唯一表示通话设备的设备ID(908)。图19的示例性通话设备记录(906)包括标识通话设备的类型的设备类型(910)。设备类型的例子包括电话、膝上型电脑、PDA、麦克风、无线电话、有线电话、蜂窝电话等,正如本领域的技术人员所能想到的那样。图19的示例性通话设备记录(906)包括标识设备位置的设备位置(962)。设备的位置可以被表示为纬度和经度、房间标志、物理地址、或者本领域的技术人员所能想到的任何其它位置表示。图19的示例性通话设备记录(906)还包括有效范围(914)。有效范围描述了设备有效的物理区域。例如,扬声器电话可以具有10平方英尺的有效范围,而有线电话可以具有仅2平方英尺的有效范围。
图19的例子包括用户位置历史(920),其通过作为外关键字所使用的用户ID字段(410)而一对一地与用户记录相关联。用户位置历史是包括由用户在先前位置处的日期和时间所进行索引的用户的先前位置的标识的数据结构。图19的示例性用户位置历史包括唯一标识用户位置的用户ID(410)。图19的示例性用户位置历史(920)还包括先前位置(922)的描述或标识。用户的先前位置的描述或标识可以是纬度和经度、房间标志、物理地址、或者本领域的技术人员所能想到的先前位置的任何其它描述或标识。
图19的例子包括基于位置的偏好记录(455),其通过用户ID字段(410)和偏好ID字段(413)而多对一地与用户记录(408)相关联。图19的示例性基于位置的偏好记录(455)包括唯一标识用户的用户ID(410)。示例性的基于位置的路由偏好(455)还包括标识用户位置的位置ID(411),对于所述用户位置,基于位置的路由偏好将被实现。位置ID(411)可以是纬度和经度、房间标志、物理地址、或者以本领域的技术人员所能想到的任何方式所表示的位置的范围。示例性的基于位置的偏好记录(455)还包括唯一标识与位置ID相关联的路由偏好的偏好ID(413)。
图19的例子包括基于设备的偏好记录(456),其通过用户ID字段(410)和偏好ID字段(413)而多对一地和用户记录(408)相关联。图19的示例性的基于设备的偏好记录(456)包括唯一标识偏好的偏好ID字段(462)。图19的示例性的基于设备的偏好记录(456)包括优选设备类型字段(464),所述优选设备类型字段包括根据设备类型的对于通话设备的偏好。设备类型的例子包括无线设备、有线设备、墙上安装的设备、移动设备、具有扬声器的设备等,如本领域的技术人员所能想到的那样。图19的示例性的基于设备的偏好记录(456)包括优先呼叫设备(466)字段,所述优先呼叫设备字段包括用于优先呼叫的设备的设备类型或设备标识。例如,优先呼叫设备可以包括用户的移动电话,以及在这种情况下,仅高优先级的呼叫被路由到移动电话。
根据前面的描述,应当明白,在本发明的各个实施例中可以进行修改和改变,而不脱离本发明的真正的精神。说明书中的描述仅是为了进行说明,而不能被理解为有限制的意义。本发明的范围仅由下面权利要求的内容所限制。
权利要求
1.一种用于将设备事件通知给用户的方法,所述方法包括接收设备事件;将所述设备事件与用户相关联;从用户的RFID标签接收RFID信号;根据所述RFID信号确定用户的位置;根据所述用户的位置来选择用户通知装置;以及通过所选的用户通知装置将设备事件通知给所述用户。
2.根据权利要求1的方法,其中,将所述设备事件与用户相关联还包括从所述设备的设备记录中读取用户ID。
3.根据权利要求1的方法,其中,将所述设备事件与用户相关联还包括标识所述设备的位置;标识所述用户的先前位置;以及根据所述设备的位置和用户的先前位置,将所述设备事件与用户相关联。
4.根据权利要求1的方法,其中,将所述设备事件与用户相关联还包括标识所述设备事件的事件类型;标识所述设备的位置;标识所述用户的先前位置;以及根据所述设备事件的事件类型、所述设备的位置、以及所述用户的先前位置,将所述设备事件与所述用户相关联。
5.根据权利要求1的方法,其中,根据所述RFID信号来确定所述用户的位置还包括在多个RFID读取器位置从所述RFID标签接收多个RFID信号;以及根据所述RFID读取器位置和一准则来确定所述用户的位置。
6.根据权利要求1的方法,其中,根据所述RFID信号来确定所述用户的位置还包括在多个RFID读取器位置从所述RFID标签接收多个RFID信号;针对每个RFID读取器来确定所述RFID标签的可能位置的区域;以及确定所述可能位置的区域的交集。
7.根据权利要求1的方法,其中,通过所选的用户通知装置将所述设备事件通知给所述用户还包括调用所述通知装置的设备类中的成员方法。
8.一种用于将设备事件通知给用户的系统,所述系统包括用于接收设备事件的装置;用于将所述设备事件与用户相关联的装置;用于从用户的RFID标签接收RFID信号的装置;用于根据所述RFID信号确定用户的位置的装置;用于根据所述用户的位置来选择用户通知装置的装置;以及用于通过所选的用户通知装置将设备事件通知给所述用户的装置。
9.根据权利要求8的系统,其中,用于将所述设备事件与用户相关联的装置还包括用于从所述设备的设备记录中读取用户ID的装置。
10.根据权利要求8的系统,其中,用于将所述设备事件与用户相关联的装置还包括用于标识所述设备的位置的装置;用于标识所述用户的先前位置的装置;以及用于根据所述设备的位置和用户的先前位置将所述设备事件与用户相关联的装置。
11.根据权利要求8的系统,其中,用于将所述设备事件与用户相关联的装置还包括用于标识所述设备事件的事件类型的装置;用于标识所述设备的位置的装置;用于标识所述用户的先前位置的装置;以及用于根据所述设备事件的事件类型、所述设备的位置、以及所述用户的先前位置,将所述设备事件与所述用户相关联的装置。
12.根据权利要求8的系统,其中,用于根据所述RFID信号来确定所述用户的位置的装置还包括用于在多个RFID读取器位置从所述RFID标签接收多个RFID信号的装置;以及用于根据所述RFID读取器位置和一准则来确定所述用户的位置的装置。
13.根据权利要求8的系统,其中,用于根据所述RFID信号来确定所述用户的位置的装置还包括用于在多个RFID读取器位置从所述RFID标签接收多个RFID信号的装置;用于针对每个RFID读取器来确定所述RFID标签的可能位置的区域的装置;以及用于确定所述可能位置的区域的交集的装置。
14.根据权利要求8的系统,其中,用于通过所选的用户通知装置将所述设备事件通知给所述用户的装置还包括用于调用所述通知装置的设备类中的成员方法的装置。
15.一种用于将设备事件通知给用户的计算机程序产品,所述计算机程序产品包括记录介质;在所述记录介质上所记录的用于接收设备事件的装置;在所述记录介质上所记录的用于将所述设备事件与用户相关联的装置;在所述记录介质上所记录的用于从用户的RFID标签接收RFID信号的装置;在所述记录介质上所记录的用于根据所述RFID信号确定用户的位置的装置;在所述记录介质上所记录的用于根据所述用户的位置来选择用户通知装置的装置;以及在所述记录介质上所记录的用于通过所选的用户通知装置将设备事件通知给所述用户的装置。
16.根据权利要求15的计算机程序产品,其中,在所述记录介质上所记录的用于将所述设备事件与用户相关联的装置还包括在所述记录介质上所记录的用于从所述设备的设备记录中读取用户ID的装置。
17.根据权利要求15的计算机程序产品,其中,在所述记录介质上所记录的用于将所述设备事件与用户相关联的装置还包括在所述记录介质上所记录的用于标识所述设备的位置的装置;在所述记录介质上所记录的用于标识所述用户的先前位置的装置;以及在所述记录介质上所记录的用于根据所述设备的位置和所述用户的先前位置将所述设备事件与用户相关联的装置。
18.根据权利要求15的计算机程序产品,其中,在所述记录介质上所记录的用于将所述设备事件与用户相关联的装置还包括在所述记录介质上所记录的用于标识所述设备事件的事件类型的装置;在所述记录介质上所记录的用于标识所述设备的位置的装置;在所述记录介质上所记录的用于标识所述用户的先前位置的装置;以及在所述记录介质上所记录的用于根据所述设备事件的事件类型、所述设备的位置、以及所述用户的先前位置将所述设备事件与所述用户相关联的装置。
19.根据权利要求15的计算机程序产品,其中,在所述记录介质上所记录的用于根据所述RFID信号来确定所述用户的位置的装置还包括在所述记录介质上所记录的用于在多个RFID读取器位置从所述RFID标签接收多个RFID信号的装置;以及在所述记录介质上所记录的用于根据所述RFID读取器位置和一准则来确定所述用户的位置的装置。
20.根据权利要求15的计算机程序产品,其中,在所述记录介质上所记录的根据所述RFID信号来确定所述用户的位置的装置还包括在所述记录介质上所记录的用于在多个RFID读取器位置从所述RFID标签接收多个RFID信号的装置;在所述记录介质上所记录的用于针对每个RFID读取器来确定所述RFID标签的可能位置的区域的装置;以及在所述记录介质上所记录的用于确定所述可能位置的区域的交集的装置。
21.根据权利要求15的计算机程序产品,其中,在所述记录介质上所记录的用于通过所选的用户通知装置将所述设备事件通知给所述用户的装置还包括在所述记录介质上所记录的用于调用所述通知装置的设备类中的成员方法的装置。
全文摘要
将设备事件通知给用户包括接收设备事件,将所述设备事件与用户相关联,从用户的RFID标签接收RFID信号,根据所述RFID信号确定用户的位置,根据所述用户的位置来选择用户通知装置,以及通过所选的用户通知装置将设备事件通知给用户。在典型的实施例中,将所述设备事件与用户相关联还包括从所述设备的设备记录中读取用户ID。在典型的实施例中,将所述设备事件与用户相关联还包括标识所述设备的位置,标识所述用户的先前位置,以及根据所述设备的位置和所述用户的先前位置,将所述设备事件与用户相关联。
文档编号H04M7/00GK1770690SQ20051011930
公开日2006年5月10日 申请日期2005年11月3日 优先权日2004年11月4日
发明者卡维塔·库马里·阿格拉瓦尔, 威廉·克雷斯·伯丁, 格里高里·瓦尔登马尔·利布钦斯基, 德拉尔·C·托尔森 申请人:国际商业机器公司