移动计算及通信的制作方法

文档序号:7718995阅读:265来源:国知局
专利名称:移动计算及通信的制作方法
移动计算及通信 本申请是2003年8月1日提交的申请号为02804496. 7、国际申请日为2002年2月1日、发明名称为"移动计算及通信"的专利申请的分案申请。
背景技术
本发明涉及移动计算及通信。 个人数字助理、移动电话以及其它移动设备提供了广泛的计算及通信能力。为了
提供这些能力,移动设备具有硬件补充,这些硬件补充可能包括微处理器、存储器、显示器,
在某些情况下是触摸屏、麦克风、扬声器、键盘以及其它用户输入及输出机构。 在包括数据录入、手写识别、语音识别、声音及数据通信、备忘录书写、日历、字处
理器、电子数据表、计划表以及地址簿的移动设备上经常提供了多种特定功能。这些功能在
设备上存储的软件或固件应用程序中实现并使用如Microsoft Windows CE或Palm 0S这些
操作系统的特征,其中这些操作系统在移动设备的硬件构件上运行并控制这些硬件构件。 能够无线通信的移动设备通常遵守一个或多个标准无线通信协议,如蓝牙和无线
应用协议(WAP)。 例如,蓝牙使用射频传输用于相对短距离的通信。可以在集成入移动或其它设备的小的微芯片中实现蓝牙能力。 为了生成用于蓝牙设备的应用程序,开发者通常编写实现应用的特定特征的定制软件。必须对于涉及在各蓝牙通信链路的任一端执行应用程序的功能的每一设备编写定制软件。每一定制软件被编写成使得它符合运行的设备的特殊硬件和操作系统特征。

发明内容
本发明使得开发者能够使移动设备的用户可以与其它移动设备的用户以及具有无线能力的静态设备的用户互相交互。 通常,在一个方面中,本发明的特征是一种方法,包括运行移动设备上的客户端模块,运行可以通过通信网络访问的服务器上的服务器模块,以及运行在具有到移动设备的通信通道并能够通过通信网络访问服务器的链路设备上的链路模块。客户端、服务器和链路模块通过应用编程接口向移动设备、服务器和链路设备上运行的应用程序提供了核心服务。 本发明的实施例可以包括以下一个或多个特征。 服务应用程序也在客户端模块上运行,以使移动设备的用户能够管理核心服务。核心服务包括与移动设备中的短距离无线接收机的交互。移动设备操作系统也在移动设备上运行,并且客户端模块使用操作系统的服务。移动设备包括个人数字助理或移动电话。核心服务至少包括以下之一 有关现实世界服务的信息的广播;与移动设备中的无线接收机的交互;有保证的消息投递;和加密。 通常,在另一方面中,本发明的特征在于一种方法,其包括运行无线设备上的客户端模块,客户端模块通过应用编程接口向设备上运行的应用程序提供核心服务,至少某些应用程序与个人或实体提供的现实世界服务相关联。 本发明的实施例包括一个或多个下列特征。确定各个现实世界服务以及提供服务 的至少一个设备之间的关系的信息得到保留,核心服务在设备之中提供对于在确定现实世 界服务与设备之间的关系的信息的共享。关于各设备中的可用服务的信息由核心服务向其 它设备广播。与设备关联的现实世界服务由核心服务注册。现实世界服务至少包括通信服 务、计算服务、商业服务或政府服务之一 。 通常,在另一个方面中,本发明的特征在于,通过设备上运行的应用程序,在无线 设备中保留来自设备用户的可用的现实世界服务的列表;和通过无线通信通道广播来自表 示可用的现实世界服务的设备的信息。 本发明的实施例包括一个或多个下列特征。信息被周期性地广播。其它接收广播 信息的无线设备访问可用的现实世界服务之一。 通常,在另一个方面中,本发明的特征在于一种方法,其包括运行在与标识的用户 关联的移动设备上的客户端模块,运行在通信网络上可访问的服务器上的服务器模块,以 及运行在具有到移动设备的通信通道并能够通过通信网络访问服务器的链路设备上的链 路模块。 本发明的实施例包括一个或多个以下特征。通过设备上运行的应用程序之一从一 台移动设备的用户接收消息,消息被指向在另一移动设备上运行的应用程序的另一用户, 并且消息通过因特网投递至其它用户。消息是通过链路和服务器发送的。消息从设备上运 行的客户端模块发送,该客户端模块确定目标移动设备是否在短距离无线距离内,并且,如 果不在则客户端模块将消息转发至一个链路模块。链路模块通过因特网将消息转发至服务 器。服务器模块确定目标移动设备的位置并确定通过哪一通信通道将消息转发至其它用 户。 通常,在另一个方面中,本发明的特征在于一种方法,包括保持在第一短距离无线 设备的范围内的短距离无线设备的列表;并通过通信介质将消息从第一设备的标识的用户 传输至第二无线设备的第二标识用户,通信介质是至少部分根据第二设备是否包括在列表 中而选择的,选择对于第一设备的用户是透明的。 本发明的实施例包括一个或多个以下特征。如果第二设备包括在列表中,则消息 通过短距离无线电链路传输至第二设备,如果第二设备不包括在列表中,则消息被传输至 使用其它通信介质的第二设备。如果第二设备不包括在列表中,则消息通过因特网或移动 电话传输至第二设备。 通常,在另一个方面中,本发明的特征在于一种方法,包括将消息从短距离无线设 备的标识用户传输至另一设备的标识用户;并自动向第一设备的标识用户确认传输的消息 是否由其它设备的标识用户接收。 本发明的实施例包括一个或多个以下特征。在传输后将有关被传输的消息的信息 存储在第一设备中;并在接收的确认和设备中存储的传输消息之间建立匹配。如果在指定 的时期内没有接收到对于传输的消息的确认,则重发传输的消息。如果传输消息是不可投 递的,则通知第一设备中的通信管理器。通知包括提供为什么传输消息不可投递的解释。在 确认其它设备的标识用户接收了传输的消息之后,从设备中除去传输的消息。传输消息的 设备负责保证投递。
5
通常,在另一个方面中,本发明的特征在于一种方法,包括运行与各持有实体相关 联的设备上的应用程序;使用在与起始持有实体关联的一个设备上运行的一个应用程序, 从起始持有实体向目标持有实体发送消息;将一个设备确定为与目标持有实体关联并可通 过通信链路访问的;以及通过通信链路将消息转发至与目标持有实体关联的设备。
本发明的实施例包括一个或多个以下特征。每一设备运行一个客户端模块,该客 户端模块使用与设备的持有实体关联的公钥对消息进行加密和解密。公钥存储在消息通过 的设备和服务器中。设备包括移动设备。持有实体包括个人。持有实体包括企业并且设备 包括静态设备。 通常,在另一个方面中,本发明的特征在于一种方法,包括(a)存储标识现实世 界的实体并定义由现实世界的实体通过分布式设备的交互模式的信息,各现实世界的实体 向其它现实世界实体提供服务并使用其它现实世界实体的服务;(b)使利用任意一个或多 个分布式设备的任一现实世界实体能够登录到服务器;(c)将存储的信息的部分从服务器 加载至正在使用的设备;以及(d)根据存储的信息,调整使用设备的现实世界实体与其它 现实世界实体的交互,该交互包括使用其它现实世界实体的服务。 本发明的实施例包括一个或多个以下特征。客户端模块在设备上运行,服务器模
块在通信网络上可访问的服务器上运行,客户端和服务器模块通过应用编程接口向设备上
运行的应用程序提供核心服务,并且核心服务包括访问服务器上存储并涉及现实世界实体
的信息。存储的信息至少包括验证信息、人数统计信息和偏好信息之一。 通常,在另一个方面中,本发明的特征在于一种方法,包括将作为设备用户的个人
与具有短距离无线通信能力的许多不同移动设备的每一个相关联;在公共可访问的服务器
处存储关于设备与用户的关联的信息以及关于每一用户的信息;并且提供在每一移动设备
处的服务,该服务依赖于服务器存储的关于设备的用户的信息。 本发明的实施例包括一个或多个以下特征。关于用户的信息从服务器传递至设
备,以用于提供功能。关于用户的信息至少包括人数统计信息、验证信息、偏好信息、或位置
信息之一。至少某些关于用户的信息存储在与用户相关联的移动设备上。 通常,在另一个方面中,本发明的特征在于一种方法,包括自动识别持有短距离无
线设备的实体在特定的地理区域内;从公共可访问的数据库中得到关于实体的数据;并且
将信息发送至短距离无线设备,发送至设备的信息依赖于从数据库得到的数据。 本发明的实施例包括一个或多个以下特征。在公共可访问数据库中对关于实体的
数据的访问视实体的权限而定。实体可以使用无线设备访问并修改其在公共可访问数据库
中的数据。第二短距离无线设备识别实体在特定的地理区域之内,得到数据,并发送信息。
发送至第一设备的信息包括宣传材料,用于方便与关联于第二设备的实体进行交互。实体
使用第一设备从公共可访问数据库得到关于关联于第二设备的实体的信息。对于实体处于
特定的地理区域内的识别是以从第一设备接收到消息为基础的,消息包括映射至实体的验证码。 通常,在另一个方面中,本发明的特征在于一种方法,包括(a)在公共可访问位 置,电子存储关于现实世界实体的信息,现实世界实体是具有短距离无线通信能力的设备 的用户;(b)提供设备上的客户端模块和在公共可访问位的置服务器模块,客户端模块和 服务器模块合作以提供任何设备的用户之间有保证的消息传递,并使得设备的用户之间能够基于电子存储的信息进行商业交易。 本发明的实施例包括一个或多个以下特征。两个无线设备之一是固定的,并且两 个无线设备之一是移动的。 一个设备的用户包括商业实体。 一个设备的用户包括消费者。 商业交易包括将市场销售信息从两个设备之一传递至另一个。商业交易包括由两个设备之 一使用通过两个设备的另一个提供的服务。当两个设备超过彼此的范围时,发生商业交易。 对于存储的信息的访问在其所属的用户的控制之下。存储的信息包括用户的文治。存储的 信息包括消费者的消费偏好。每一用户与不止一个设备相关联。通过位于两个设备的范围 之外的服务器,商业交易在两个用户之间生效。两个设备在彼此的范围之内,并且商业交易 在携带两设备的两个用户之间生效。商业交易包括将电子商务卡从一个设备发送至另一个 设备,并在另一个设备上显示该卡。商业交易包括至少通过两个设备之一并通过一条路径 而从一个用户传送至另一用于的电子消息,该路径包括从因特网、移动电话、以及短距离无 线通信中选择的一种通信模式,用户意识不到选择的作出。 通常,在另一个方面中,本发明的特征在于一种方法,包括在第一设备通过短距 离无线通信通道接收来自第二设备的信息,信息根据从GPS源接收的信号确定第二设备的 实际地理位置;并根据从第二设备接收的信息更新在第一设备中存储的得出的地理位置。
本发明的实施例包括一个或多个以下特征。更新得到的地理位置,使其与第二设 备的实际地理位置相同。第一设备随时接收来自多个其它设备的信息,信息代表其它设备 的实际GPS地理位置,并且不时地根据随时从其它设备接收的信息更新得到的地理位置。 第一设备是移动的,且第二设备是静态的。 从下面的说明书和权利要求中可以更清楚地理解其它特征及优点。


图1显示了通信系统。 图2显示了无线移动设备。 图3A、3B和3C显示了数据结构。 图4A 41显示了可以由无线设备使用的功能。 图5显示了通信路径。 图6显示了服务器。 图7显示了客户端。 图8A和8B显示了用于无线通信的方法。
图9 14显示了系统的使用。
具体实施例方式
本发明的一个概要方面是应用开发平台,其包括通过应用编程接口 (API)提供核 心服务的客户端、链路和服务器模块。可以在API上方便地建立应用程序。选择核心服务, 以使能够创建独特并广泛使用的应用程序。 每一应用程序可以使得服务能够由运行客户端模块的本地或远程设备使用。服务 的可用性被广播并被移动设备、链路和服务所知,使得整个系统的设备都可以利用它们。
—个核心服务是消息投递。客户端、链路和服务器模块协调它们的行动,以保证由
7移动设备上运行的应用程序发起的消息投递处于高水平。可以直接通过短距离无线信道将 消息从移动设备发送至附近的另一移动设备。如果目标设备不在附近,则消息可以通过包 括因特网在内的其它信道发送至目标设备。可以对于始发设备的用户透明地选择通信信 道。 系统中的每一设备都可以与"持有者"关联,持有者可以是个人或实体,例如零售 公司。可以存储将设备连接至持有者的信息,以使消息例如可以直接送到持有者。系统将 确定与持有者关联的设备的身份和位置。然后将使用任何合适的通信信道把消息发送至任 何地方的确认的设备。 与设备的各个持有者相关联的信息可以中心存储,并在各移动设备处提供服务中 使用。例如,关于持有者的偏好或特征的信息可以用于支配提供服务、使信息可用以及通信 生效的方式。 系统可以用于为不包括GPS芯片的移动设备提供虚拟GPS能力。这种移动设备可 以使用短距离无线通信从附近的其它设备得到实际的GPS信息。移动设备可以尽可能精确 地保留其附近的虚拟GPS位置,好像它具有板上的GPS芯片。 如图1所示,本发明提供了公用的软件开发平台100,它使开发者能够方便、快捷、 有效地为包括移动设备在内的设备112建立广泛的用户应用程序110,设备112具有例如由 蓝牙标准所提供的短距离无线通信能力。公用软件开发平台提供可以由用户应用程序通过 API 114调用的核心功能和特征116。 这种体系结构使得开发者可以提供特别适合于移动设备和短距离无线通信并且 为移动设备的用户所特别广泛要求的功能和特征。对于每一种设备和各通信协议,开发者 无需重新创造应用程序与在设备上运行的操作系统118、设备硬件120和通信协议进行交 互的方式。 核心功能包括 提供从一个设备至另一设备的消息投递的高水平保证119在两个设备不在各自
的短距离无线通信距离之内的情况下,对于通过例如因特网148从一个用户向另一个的消
息投递是透明安排的投递服务120设备的可用服务以及信息使用的广播,它是从其它设备
122广播的将"持有者"与各设备相关联124,和将与持有者相关联的信息集成126。 应用程序能够允许个人之间的交互和个人对位置的交互,其中个人对位置的交互
涉及公共机构或现实世界位置或例如商店或机场这样的企业与个人进行交互。 设备无需是移动的,但是可能包括作为包括个人电脑、现金出纳机、服务器和停车
计时器在内的通信的部分的静态设备。平台延伸至硬件和软件,在移动设备和其它设备之
间提供链路128,其它设备包括中央服务器130,不在移动设备的短距离无线通信能力的直
接可达范围内。 根据公用开发平台和呈现给开发者的API,任何开发者可以容易地创建改变个人 与其他人以及它们的环境进行交互的方式的应用程序。 平台使得开发者可以容易地创建实际上执行任何工作的应用程序,该工作需要设 备(包括移动设备)112U13之间的本地通信,或本地设备与中央服务器之间的长距离通 信。因为平台拥有服务器,所以它还使开发者能够使用服务器上存储的个性化信息132,以 个性化本地设备上运行的应用程序的操作。
API提供的核心功能包括期望由建立在蓝牙之上的大部分应用程序使用的功能。 应用程序开发者可以将其它特征和功能134建立在他的应用程序之中,并且可以补充并扩 展核心功能。 除了最初方便地创建应用程序,公用开发平台的使用引向互兼容、更一致以及更 标准的应用程序。 公用开发平台包括客户端模块140、服务器模块144和链路模块142。客户端模块 在客户端设备112上运行,客户端设备112是例如由零售商或消费者持有的移动设备或静 态设备。服务器模块在通常位于客户端设备的短距离通信距离之外的服务器130上运行, 并且链路模块在设备128上运行,设备128在一个或多个客户端设备与服务器之间提供链 路。 设备的"持有者" 概念上,每一客户端设备具有一个"持有者"150、152。在一个简单的例子中,持有 者是持有并使用设备的人,比如具有蓝牙能力的Palm Pilot的持有者。另一个持有者的例 子是餐厅中的具有蓝牙能力的客户端现金出纳机的餐厅操作者。客户端、服务器和链路模 块知道设备的持有者。例如当个人将其移动电话借给另一个人时,持有者可能改变。
系统将关于设备持有者的信息存储在中央化的数据库132中,一个或多个服务器 130U31能够访问该数据库132。信息可以包括姓名、地址、和帐单信息、以及其它信息,例 如个人的当前位置以及他的当前电话号码。信息还可以包括人口统计信息以及关于产品、 服务以及用户界面的用户输入的偏好。 具有服务器和客户端可访问的信息的一个好处是一个位置的一个团体有可能与 位于世界上任何地方的持有者进行通信,即使在一个情况下通信是通过蓝牙、另一种情况 下是通过移动电话、而另一种情况下是又是通过因特网148。初始团体无需知道持有者位于 何处或如何达到他那里;服务器意识到该信息并且能够通过链路将消息转发至服务器,并 通过合适的介质将消息从服务器转发至持有者。 通过将中央存储的信息的特征与移动设备的易开发应用程序相结合,有可能创建 广泛的便携、标准化的应用程序,对人们与周围的世界交互的方式作出本质性的改变。
服务广播 开发平台IOO包括使得移动设备上运行的应用程序110能够向其它设备运行应
用程序广播它提供的服务的信息的功能。反过来,应用程序能够识别出并了解有关由其它
设备上运行的应用程序变为可用的服务,其它设备例如是在短距离无线通信之内的设备以
及可通过链路模块访问的设备。服务广播能力使得可以创建提供并使用服务的上百万设备
(移动设备、中央服务器、链路等等)的架构,其中个人的移动设备可以在具有其它设备的
世界中移动时一直知道可用的服务。 个性化 因为客户端、链路和服务器提供在中央数据库132中寻找、存储和编辑个性化的
信息的基本核心能力,所以在模块上建立的应用程序可以提供依赖于设备"持有者"的个性
化信息的功能。 受保证的投递 应用开发平台提供的另一个关键核心功能是所谓的消息的高水平保证投递。当在例如移动PDA这样的设备上运行的应用程序向世界上任何地方的另一设备发起消息时,模 块保证消息的投递,即使其它设备不在短距离通信之内,以及即使其它设备此刻不在使用 中。为了作到这一点,模块确定目标设备的位置,确定合适的通信模式(例如,蓝牙通信至 本地设备,其后通过链路至因特网,然后通过电话链路至目标设备)并跟踪该消息直至发 生投递。 因特网可以用于消息投递,用作蓝牙的透明替换。当设备上的应用程序的用户采 取了需要消息发送至另一设备的步骤时,作为模块的选定,消息可以通过因特网而发送,而 无需用户意识到现在没有使用蓝牙。
无线设备 如图2所示,客户端设备112可以是具有蓝牙芯片11的无线设备,蓝牙芯片11使 其能够根据蓝牙协议,通过短距离无线电链路(例如图1中的链路115)与其它设备中的其 它芯片117(图1)通信。设备112可以是例如移动电话、个人数字助理(PDA)、手提计算机 或管理器、个人电脑、现金出纳机、停车计时器或其它设备。设备可以包括使用户可以浏览 信息并与设备进行交互的触摸屏123,小键盘170、键盘172、鼠标174或用于使得用户可以 与设备进行交互的其它装置。 芯片11具有唯一的验证码180,其在个性化数据库132中映射到设备的用户或持 有者。设备的用户可以是个人、车辆或其它移动实体,或者可以是位置固定的实体,如商店 或餐厅。 通常,设备12还具有存储操作系统118、应用程序110和客户端模块140的一个 或多个存储器190、一个或多个处理器192以及互联这些硬件构件(整个的硬件构件由图1 上的标记120标识)的一个或多个内部系统通信总线194。 —方面蓝牙芯片和操作系统之间的交互符合芯片提供给与其进行交互的设备的 蓝牙API,另一方面客户端模块和应用程序之间的交互也符合芯片提供给与其进行交互的 设备的蓝牙API。通过经由客户端模块呼叫芯片11,由多种团体创建并在设备112上运行 的应用程序16可以得到广泛的功能。通过与设备112的操作系统118进行交互,客户端模 块140可以利用操作系统提供的通信、处理、显示及用户交互特征。
追踪可用的服务 客户端模块140保存从本地设备112上运行的应用程序可用的服务以及从其它设 备上运行的应用程序可用的服务的登记项141,其中的其它设备包括在本地设备112的短 距离无线距离之内的设备。 涉及服务的登记项的条目对于本地可用的服务可具有图3A中显示的格式,而对
于在其它设备上可用的服务可具有图3B中显示的格式。也可使用其它格式。 通过设备上运行的应用程序可以变为可用的示例服务包括丽L服务器或即时消
息客户端。 平台表现了可以由应用程序使用以向/从登记项141中的列表增加(登记)或除 去(注销)服务的"增加服务(AddService)"和"除去服务(RemoveService)"功能(见图 4E和4F)。 客户端模块通过对本地设备范围范围内的周期性广播连通性(ping)测试,使得 关于设备的用户(持有者)和服务的信息从该设备可用。广播功能使得众多设备经常意识
10到由其它设备提供的服务的范围。为了用户的利益,每一设备可以利用并使用远程的服务。 客户端模块通过应用程序使用注册表141中存储的信息,以向其它设备提供服务的说明以 及关于如何访问它们的指令。 设备上运行的应用程序可以包括使用户能够与客户端模块提供的功能进行交互 并控制它们的核心服务应用程序。 例如,一个服务应用程序可能使得设备的用户修改注册表的内容并确定有关设备 上可用服务的偏好。例如,用户可能选择当接收到来自特定服务的消息时是否得到通知。
流经链路的消息 除了与附近的无线设备通信,客户端模块可以通过正在运行链路模块142的链路 128(图1)访问因特网或其它公众网。任何具有局域网能力129和因特网148连接的设备 可以用作链路。链路可以是移动设备或静态设备。 如图5所示,在一些实施例中,链路128包括具有提供了局域网能力(如蓝牙标准 中所定义的)的蓝牙芯片11的设备、链路模块142的复本和通过因特网接口 15的因特网 连接,因特网接口 15是例如连接至因特网148的拨号或专用连接。 —些通信可以在因特网上被发送,作为使用蓝牙技术发送消息的透明替代。链路 128使得在短距离无线距离之内的用户通过因特网向或从例如运行服务器模块144的复本 的服务器130发送和接收数据。例如红外这样的其它技术也可以为链路129提供局域网能 力。 因为链路以前面描述的方式广播它们的可用服务,所以客户端模块根据服务注册 表18中存储的信息,追踪在设备的范围内是否有任何链路128。发往范围之外的设备的消 息由客户端模块存储在队列中,直至设备处于链路128的范围之内。 在一个例子中,在客户端的消息队列中存储的消息(称为K消息(KMessage))具 有如图3C所示的格式。 一旦设备处于链路128的范围之内,则消息通过链路被传输至服务 器130。然后服务器23可以将消息传输至靠近目标设备133的另一链路131(图3)。目标 设备中的注册表存储等待由设备的特定服务检索的消息。"得到多个消息(getMessages)"和"得到一个消息(getMessage)"功能(图4B和 4C中所示)由客户端模块提供并使得客户端设备上运行的应用程序能够用于检索从其它 设备发送的消息。使用图3C中显示的Message结构,从客户端向应用程序通信存储的消 息。 模块的核心服务支持传输控制协议/因特网协议(TCP/IP),以允许因特网连通 性,由此支持在链路附近之内的设备的自组(ad hoc)网络。链路模块使用IP伪装以将IP 地址分配到链路范围内的各设备,从而使得设备能够使用TCP/IP通信。
服务器 服务器130上运行的服务器模块144使得世界上任何一处的设备的用户能够向另
一用户发送消息,而无需知道接受者位于何处或接受者正在使用哪一种设备。 如图6所示,服务器系统130用作全球路由器60,为服务器应用程序提供服务以使
消息能够被存储,并在例如客户端模块14位于的设备12与其它客户端模块56位于的其它
设备54之间传递。 通常,指定的用户可能是多个设备的持有者,并且可能一次登录一些或所有这些
11设备。服务器模块包括追踪与各用户相关联的设备的数据库62。服务器模块可以支持超文 本传输协议(HTTP)和WAP以及其它技术,以发送并接收消息。 在一个实施例中,服务器模块包括以Java计算机语言编写的软件,该软件可以在 例如Windows、 Solaris或Linux系统上运行。服务器模块还可以存储关于由服务66的注 册表中的各个用户的设备使得可用的服务,使得其它设备可以定位并访问这些服务。客户 端模块提供了"得到环绕服务(getSurrounding Services)"功能(如图4D中显示),以使 设备能够从服务器模块中得到其它设备的用户和它们的设备上可用的服务的映射阵列。
个性化 服务器模块还为个性化系统132和网关服务173提供了到其它技术例如因特网 148的接口服务。使用例如通用置标语言的网络服务器58使得消息可以用于具有因特网连 接的任何移动设备。另外,任何客户端设备可以通过因特网访问来自服务器的资源和信息。
用户可以登录到服务器,以例如访问个性化系统26并进入或编辑个性化的信息。
由客户端模块14提供的服务应用程序115(图1)之一使得用户可以修改个性化 系统存储的个人信息及偏好。"改变个性化数据(Chang印ersonalizationdata)"功能(图 4G中显示)可以用于这种用途。用户还可以设置指示符以允许或拒绝其它用户访问在个性 化系统中存储并与用户相关联的多条数据。 例如,可能使用"改变个性化允许(Chang印ersonalizationpermissions)"功能 (图41中显示)将个性化系统中存储的用户信息被指定为共享的或公共的。
用户的设备上运行的服务应用程序之一可以使用"得到个性化数据 (Getpersonalizaiondata)"功能(图4H中显示)访问来自个性化系统的其它用户的描述。 如果特定用户不具备访问另一用户的描述的允许,则拒绝访问。当用户登录到服务器时,来 自个性化系统的所有相关数据通过链路被动态加载。于是,在客户端设备存储的用户信息 可以被定期更新,以保持它与个性化系统中存储的数据同步。 管理图形用户界面(GUI)与服务器相关,以允许管理员手动为用户改变配置。管 理GUI还允许管理员分析服务器使用的资源上的负载,测试并调试服务器,并且如果用户 允许,则访问在个性化系统中存储的用户信息。
保证的投递 通常,客户端模块提供一种服务,该服务负责保证消息从一个设备到另一设备的 投递。 一旦从应用程序接收到消息时,客户端模块就返回确认,该确认包括对于数据的各传 输的唯一验证数字。如果客户端模块不能保证消息被投递,则消息的文本返回至发送者,并 带有表明文本不能投递的消息。如果不具有操作数据所需应用程序的设备接收了包括数据
的消息,则消息被返回发送者。另一方面,如果所需的应用程序列在接受者的设备的注册表 中,但是接受者的设备当前没有运行该应用程序,则客户端模块保存该消息并通知用户该 消息已经被接收。 当消息通过链路从服务器发送至特定用户时,消息被发送至用户"持有"以及登录 的所有设备。如果用户没有登录到任何他的设备,则服务器模块将消息存储在邮箱数据库 64中。当用户后来登录时,向他通知该消息。于是,当要将消息发送至特定设备时,消息的 发送者无需确定接受者最接近哪一设备或者接受者偏好在哪一设备上接收消息。服务器透 明地将消息发送至合适的设备。因为加密技术与客户端模块相集成,所以用户使用个性化系统以及客户端设备上存储的个性化模块143(见图2)中存储的全局键自动以数字标记通 信。 如图7所示,客户端模块包括传递模块30,其提供到通信介质的接口,通信介质包 括蓝牙芯片32、允许移动电话通信的无线调制解调器34、红外端口 36或其它通信信道38。
传递模块30参考设备可用的各通信介质的网络通信接口或等同层,并管理通信 介质。传递模块30将接收的消息传送至确认管理器40,并将信息提供至关于可用通信介质 的通信管理器。确认管理器40可以请求传递模块30通过特定的通信介质发送消息。
确认管理器40是负责保证消息投递的客户端模块部分。它保留输出消息的队列 以及等待确认的消息的队列。确认管理器40追踪已经发送的消息,并将接收的确认与原始 的输出消息匹配。如果没有在特定的时间段内接收到确认,则重发消息。
通信管理器42可以呼叫确认管理器40发送消息并且如果消息是不可投递的则通 知通信管理器。解释消息为什么不可投递的消息可以附在对通信管理器42的提醒中。
通信管理器42负责检查其它设备进入或离开设备的范围,并当服务应用程序16 请求发送消息时决定使用哪一通信介质。消息可以被发送至用于数字签名的加密和接收的 安全模块46。 通信管理器42被确认管理器40提醒接收的消息,并将接收的消息传送至用于验 证数字签名的安全模块46。通过个性化模块48,从个性化系统接收到用户姓名和安全信 息。通信管理器42通过应用程序管理器44向服务应用程序通知基于本地注册表18中的 设置的接收的消息。然后服务应用程序16可以通过应用程序管理器44在消息队列中检索 消息。 通信管理器42还接收并按照注册表请求消息工作,并且广播并检索来自注册表 18的本地服务应用程序设置。另外,通信管理器根据服务器消息和注册表广播,更新注册表 18中有关其它设备的信息。 应用程序管理器44在服务应用程序16和通信管理器42之间以及客户端的注册 表18和个性化模块48之间提供接口 。应用程序管理器44可以检索或修改注册表18中存 储的本地服务应用程序设置。它还可以访问或修改在设备12范围之内的其它设备的注册 表的列表,以及关于在这些用户的设备上可用的服务的信息。应用程序管理器44还可以通 过通信管理器42发送并接收消息。可以通过个性化模块48访问或修改(假设得到许可) 个性化系统132中存储的信息。 个性化模块48用作到个性化系统132的接口,并提供对个性化系统中存储的用户 信息、用户偏好以及用户允许的访问。个性化模块48能够缓存信息并将信息与个性化系统 132同步。它能够以对于请求信息的实体透明的方式访问个性化系统132中存储的信息。 个性化模块48为消息报头提供用户姓名,并通过通信管理器42向安全模块46提供公有或 私有密钥。 安全模块46负责提供设备12和其它设备之间的安全通信,并执行密码算法。安 全模块46从通信管理器42得到安全信息。它加密并解密消息,数字化地标记输出的消息 并确认输入消息的数字签名。 应用程序中的"发送消息(SendMessage)"指令(见图4A)可以调用客户端模块程 序,这使得消息可以通过芯片的设施而发送至其它无线设备。
消息通信及加密 图8A和8B显示了由服务应用程序16发起的消息如何能够从设备12发送。特定 的服务应用程序16将带有预期接受者的标识的消息传送(1100)至应用程序管理器44。在 这个例子中,假设应用程序服务请求传输安全的并得到保证的消息。应用程序管理器44将 消息和接受者的验证传送(1102)至通信管理器42,并请求以安全及保证方式传输消息。通 信管理器40将消息和安全信息传送(1104)至安全模块46。安全模块46对消息执行密码 算法,并将加密的消息返回(1106)至通信管理器42。然后通信管理器42将加密的消息传 送(1108)至确认管理器40,并指定通信的信道。 确认管理器40生成(1110)消息识别数字并将其附着于消息报头。确认管理器40 还将加密的消息增加(1112)至它的未确认消息队列。确认管理器40将加密的消息和指定 信道的标识传送(1114)至传递模块30。然后传递模块30通过指定的通信信道发送(1116) 加密的消息。如果确认管理器40没有在指定的时间段中接收到确认,则它重发消息。
接受者设备的传递模块接收(1118)加密的消息,并将其传送至接受者设备的确 认管理器。接收设备的确认管理器将消息传送(1120)至通信管理器。另外,接受者设备中 的确认管理器将消息标识数字增加到它的接收消息列表,并生成(1122)传送至接受者设 备中的传递模块的确认消息。传递模块通过与原始消息到达相同的通信信道发送(1124) 确认消息。发送设备12中的传递模块30接收确认消息,并将其传送(1126)至确认管理器 40。然后确认管理器40从它的等待确认的消息队列中除去(1128)原始消息。
在接收到加密的消息之后,接受者设备中的通信管理器除去(1130)报头,并将加 密的数字签名的消息传送(1132)至安全模块。安全模块以发送者的身份对通信管理者作 出反应(1134)。然后接受者设备中的通信管理器将解密的消息添加(1136)到它的消息队 列,并根据接受者设备的注册表中的设置通知(1138)用户和服务应用程序。
为了接收解密的消息,服务应用程序通过接受者设备中的应用程序管理器请求 (1140)来自通信管理器的消息。通信管理器将为预期的应用程序而标记的下一消息从消 息队列传送(1142)至服务应用程序。然后通信管理器从它的消息队列中删除(1144)该消 息。 除了发送及接收消息,服务应用程序16可以通过利用应用程序管理器44调用个 性化模块API的功能,检索或修改个性化系统132中存储的数据和权限。另外,服务应用程 序16可以通过利用应用程序管理器44调用注册表的API的功能,浏览有关设备12的范围 之内的用户及设备的信息。类似的,服务应用程序16可以通过利用应用程序管理器44调 用注册表的API的功能,检索或修改本地设备12上的服务应用程序设置。
使用 如图9所示,在上述系统的一种使用中,位于固定位置的服装店70向潜在顾客提 供电子赠券。具有蓝牙芯片15的设备17安装在商店70内。如果携带移动设备的用户进 入芯片15的范围,则设备17检测该信息并将其存储在它的顾客服务注册表中。设备17可 以从个性化系统132中得到关于用户的信息74。这种信息74可能包括例如用户的衣服尺 寸以及衣服购买历史。对于这种信息的访问可以由用户的权限授权而支配。
设备17可以通过直接经由蓝牙链路或间接经由局域网(LAN)将赠券合并入一个 或多个消息,而将一个或多个电子赠券发送至用户的设备12。包含赠券的消息可以向用户
14通知根据从个性化系统得到的信息可能是用户的特殊兴趣的减价及产品。通过经由LAN直 接与设备17通信,电子赠券可以被变卖或用于从商店70购买产品。 用户无需等待赠券发送至他的设备12。例如,一旦用户在商店70的范围内,与位 于用户的设备12上的客户端模块相关联的注册表将存储该商店70的验证码。用户可以使 用设备12来浏览商店70提供的多种赠券。 另一应用程序可以提供用作导购的服务,以将用户偏好匹配可用的商店存货。在 一个情况中,用户可能需要关于来自例如商业街或商业中心的指定区域的商店的特定产 品。商店将更新在个性化系统存储的有关它们的产品目录的信息。用户使用设备12,从个 性化系统请求有关来自指定区域中的商店的特定产品的各种型号、尺寸、价格的可用性的 信息。然后可用产品以及相关信息的列表将提供给用户的设备。识别码可以与能够如下面 讨论的那样使用的各商店相关联。 在回顾了从个性化系统中得到的信息之后,用户可以从个性化系统中得到附加信 息,例如关于列出的商店可能提供的折扣或赠券。在选择了特定的商店后,用户将商店识别 码输入设备12,以访问到所选择的商店的链路,例如通过因特网22。 一旦用户的设备12处 于商店的蓝牙使能设备的范围之内,两个设备将互相识别。然后将直接地或通过局域网发 生通信。用户将能够使用设备12从商店购买产品。商店的职员可能收集购买的产品并当 准备获得产品时向用户发送消息。 如图10所示,另一个应用程序使得用户可以在例如饭店76下定单并付帐,而无需 排队等候。用户在饭店附近坐在桌边或散步,同时定购并付帐。当用户到达饭店76时,饭 店的蓝牙使能设备17识别用户的设备存在,并从个性化系统中检索用户的个人信息。个人 信息可能包括顾客的食品偏好或顾客在饭店76通常的定单。饭店的设备17将消息发送至 顾客的设备,询问例如顾客是否希望下通常的定单。顾客可以使用设备下定单并付帐。顾 客还可以访问个性化系统,以得到关于饭店76的信息。饭店信息80可以包括例如菜单、特 色列表以及可用的赠券。这种信息可以直接从饭店得到,也可以使用饭店的局域网得到。
有关由饭店的设备17从个性化系统检索的用户的偏好的信息可能包括可以方 便关于指定的顾客的不同商业实体之间的交易的信息。例如,当用户经过饭店附近时,饭店 的蓝牙使能设备17识别出用户的设备存在,并从个性化系统中检索用户的个人信息78。个 人信息78可能表明用户喜欢电影。饭店的设备将与也拥有蓝牙使能设备79的本地影院77 交换信息,并且本地影院77将在用户的设备上贴出电子电影折扣。 另一个应用程序可以帮助旅行。例如,假设用户安排通过飞机出发。如图ll所示, 一旦到达机场82时,蓝牙使能设备17就将检测到用户的设备存在。机场的设备17从个性 化系统得到用户安排的航班号以及启程时间。然后设备17将适合旅行者路线的航班、机场 及地面交通信息发送至用户的设备。对于旅行的其它装置,例如火车或汽车,可以使用类似 的应用程序。 其它应用程序可以连同停车计时器一起使用,以通过使用蓝牙使能的设备而方便 付费。在一种情况中,用户将购买预付单位的时间。如图12所示,当拥有设备的用户在停车 计时器86附近停放车辆时,停车计时器中的蓝牙使能设备17检测到用户的设备12存在。 设备17通过访问个性化系统26检查用户的帐户验证号88,并向用户的设备发送消息请求 指示用户计划在该位置停车多长时间。 一旦用户IO反应,则可以从用户的帐目自动扣除费用。应用程序可以在计时器86上持续显示剩余时间,并且可以允许用户从远处向计时器增加时间。 无线信用卡应用程序可以使用户从零售商90处利用设备购物。例如,如图13所示,零售商的蓝牙使能设备17将检测到用户的设备的存在,并且,如果授权了权限,将从个性化系统26得到包括用户姓名、帐户号码以及帐户过期日的用户信用卡信息92。进一步,应用程序可以存储用户设置的个人预算。如果用户超过了他的个人预算,则将指示超过个人预算的消息发送至设备。 策略上在停车计时器、城市街灯以及其它位置放置蓝牙使能设备的网络可以提供虚拟的全球定位系统(GPS),使得用户的设备知道他的确切位置,而无需用户的设备携带全球定位芯片。如图14所示,许多蓝牙使能设备200携带蓝牙芯片204以及全球定位芯片206,该全球定位芯片206使得设备200可以通过接收来自卫星202的全球定位信息而确定它的GPS位置。每一设备200可以周期性地广播它的全球定位位置。位于一个设备100的范围内的其它蓝牙使能设备可以接收该广播,并从而确定它们各自的位置。可以实现另一种基于位置的应用程序16,例如确定用户位置的电子地图,而无需在设备14上具有价格昂贵的GPS芯片。 可以在客户端14上运行的另一个应用程序使用户能够贴出可以由其它用户检索并阅读的信息。通过将信息存储在本地设备或服务器上,可以实现虚拟信息板。例如,饭店可以使用这种应用程序张贴它的每日推荐,这有助于减少菜单成本。 —个公用问询台可以具有提供有关特定地理位置内的博物馆、历史古迹、雕塑以及其它名胜的信息的蓝牙使能设备。应用程序可以在位于用户的设备上的客户端上运行。设备根据蓝牙协议相互交互,并且设备将地区的简史或概况发送至用户的设备。应用程序还使得用户可以浏览该地区内不同场所的列表及总结。可以适合自助游,以使用户仅接收关于根据用户兴趣的地区的特别方面的信息。 另一个应用程序可以用作无线身份工具。这个工具可以方便用户在医院或其它机构中导航。例如,在医院中,用户可以在医疗处方中签名或获得医疗处方,而无需完整的填写表格。应用程序可以提供合适的信息。 其它应用程序可以提供与其它设备的通信,其它设备是与例如可以从一个位置到另一位置自由走动的个人这样的实体相关联的。示例性的应用程序包括即时留言、好友列表以及个人联系卡等。 例如,即时留言使得消息可以在蓝牙使能的设备之间传递,而不顾设备是否在其它设备的本地范围内。用户的位置可能影响通信使用哪一装置发送特定的消息。然而,因为将使输入的消息适合接受者的设备,所以消息的发送者无需关心通信装置或设备兼容问题。如果例如由于期望的接受者已经设置了他的权限为不允许即时留言,或由于接受者设备不具有合适的软件,而使得即时留言不能到达它的目的地,则可以通知发送者留言无法投递。 可以在设备上运行的其它应用程序方便了好友列表的使用。于是,当好友进入或离开局域网时,可以自动通知设备的用户。用户可以将人增加到好友列表上或将人从中删除。为了更多的隐私,用户可以选择应用程序中的一个选项,以防止向好友列表上的其它人通知用户进入或离开特定的网络。列表可以存储在个性化系统中,以指定信息以及通信访
16问权限。列表可以跨多个应用而使用,并且可以经个性化系统而动态更新。好友列表的不同成员可以具有不同的权限。 另一个应用程序使得用户可以从设备发送虚拟商业卡。在一些情况中,电子商业
卡可以包括实际商业卡的图形化图像。 其它实施例在权利要求的范围内。
权利要求
一种方法,包括在无线设备中保留可被除了该设备之外的实体使用的在该设备上运行的应用程序的技术能力的列表;以及通过无线通信信道,广播来自该设备的指示可用的能力的信息。
2. 如权利要求l的方法,其中无线设备包括个人数字助理或移动电话。
3. 如权利要求l的方法,其中能力包括通信服务、计算服务、商业服务或政府服务的至 少之一。
4. 如权利要求l的方法,其中信息被周期性广播。
5. 如权利要求l的方法,其中接收广播信息的另一无线设备访问可用的能力之一。
6. 如权利要求1的方法,还包括保留在第一无线设备的范围之内的短距离无线设备的列表;经由通信介质,将消息从第一设备的标识用户传输至第二标识用户正在使用的第二无 线设备,该通信介质是至少部分基于该第二设备是否包括在列表中以及基于该第二设备正在 被第二标识用户使用的事实而选择的,该选择对于第一设备的用户是透明的。
7. 如权利要求6的方法,其中在第一设备上运行的客户端模块确定第二设备是否在短 距离无线距离之内。
8. 如权利要求6的方法,其中如果第二设备包括在列表中,则经由短距离无线电链路 将消息传输至第二设备;并且如果第二设备不包括在列表中,则使用另一通信介质将消息 传输至第二设备。
9. 如权利要求6的方法,其中如果第二设备不包括在列表中,则或者经由因特网或者 通过移动电话将消息传输至第二设备。
10. 如权利要求9的方法,其中,传输消息包括在服务器模块确定第二设备的位置并 识别出通过哪一通信信道将消息转发至第二设备。
11. 如权利要求1的方法,还包括将消息从第一设备的标识用户传输至另一设备的标识用户;以及 自动向第一设备的标识用户确认传输的消息是否被其它设备的标识用户接收到。
12. 如权利要求11的方法,包括在传输后,将关于传输的消息的信息存储在第一设备中;以及 核验该设备中存储的传输的消息以及接收的确认之间的匹配。
13. 如权利要求12的方法,包括如果在指定的时期内没有接收到对于传输的消息的确 认,则重发传输的消息。
14. 如权利要求12的方法,包括如果传输的消息不可投递,则通知第一设备中的通信管理器。
15. 如权利要求14的方法,其中所述通知包括提供对于为什么传输的消息不可投递的 解释。
16. 如权利要求14的方法,还包括在确认传输的消息被第二设备的标识用户接收到之 后,从第一设备中除去传输的消息。
17. 如权利要求12的方法,其中第一设备负责保证投递。
18. 如权利要求1的方法,还包括使用在第一设备上运行的应用程序,将消息从第一设备的标识用户发送至目标用户; 将第二设备确定为与目标用户相关联并可被通信链路访问;以及 通过通信链路将消息转发至第二设备,在每一设备上,运行一客户端模块,该客户端模块使用与设备的标识用户相关联的公 钥对消息进行加密和解密。
19. 如权利要求18的方法,其中各公钥存储在每一对应设备中及消息经过的服务器中。
20. 如权利要求1的方法,还包括 运行该设备上的客户端模块;运行在无线通信信道上可访问的服务器上的服务器模块;客户端和服务器模块的每个通过应用编程接口向各设备上运行的应用程序提供技术 能力;技术能力包括对服务器上存储的并涉及现实世界实体的信息的访问。
21. 如权利要求20的方法,其中存储的信息包括识别信息、人数统计信息和偏好信息 的至少之一。
22. 如权利要求1的方法,还包括在第二无线设备,通过短距离无线通信信道接收来自第一设备的信息,该信息根据从 GPS源接收的信号识别出第一设备的实际地理位置;以及根据从第一设备接收的信息,更新在第二设备处存储的导出的地理位置。
23. 如权利要求22的方法,其中导出的地理位置被更新为与第一设备的实际地理位置 相同。
24. 如权利要求22的方法,其中第二设备随时接收来自多个其它设备的信息,该信息代表其它设备的实际GPS地理位 置;以及根据随时从其它设备接收的信息,不时更新导出的地理位置。
25. —种装置,包括无线设备,其包含通过在该设备上运行的应用程序从该设备的用户可用的计算或通信 能力的列表;禾口介质,其存储将该无线设备配置为从该设备经由无线通信信道广播有关可用的能力的 信息的程序。
全文摘要
一种应用开发平台(100),能够方便地为例如具有短距离无线通信能力的移动设备(112,113)创建应用程序(110)。该开发平台展示了仔细挑选的通过API(114)的服务的核心集。每个应用程序可将其服务广播到本地和远程设备。即使对于本地短距离无线传输无法直接传递的消息,也可保证了设备之间的消息传递。通过包括因特网(148)的其它通道传递的消息可以对于用户透明地发生。每一设备可以与一个“持有者”(150,152)相关联,持有者(150,152)可以是一个人或一个实体。可以根据存储的将持有者映射到设备的信息,为持有者定制服务。与设备的每一持有者关联的信息可以在集中存储并用于提供在每一移动设备的服务。可以对不具有GPS芯片的移动设备提供虚拟GPS能力。
文档编号H04W4/02GK101790127SQ20091022501
公开日2010年7月28日 申请日期2002年2月1日 优先权日2001年2月1日
发明者埃利埃泽·埃斯金 申请人:Ack风险控股有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1