波束设备架构的制作方法

文档序号:15203449发布日期:2018-08-21 04:44阅读:123来源:国知局

本申请要求于2016年10月5日提交的美国申请第15/286,423号和于2015年10月26日提交的美国临时申请第62/246,415号的权益,其全部内容通过引用并入本文。

本申请总体上涉及电信,并且具体涉及用于在严重网络受限环境中提供对数据服务的访问的系统和方法。



背景技术:

在世界的很多地方,人们已经习惯了通过wi-fi、蜂窝或其他连接的几乎持续不断的数据连接。事实上,很多人认为到某些电子服务的连接至关重要。当在陌生的地方远离家乡旅行时尤其如此。在这些情况下,旅行应用提供了为旅行者创造愉快的体验的必要的指导。

然而,存在数据连接受到限制和/或过于昂贵的很多区域。例如,在像中国的一些地区,购买本地用户标识模块(sim)或卡可能很困难。sim卡是一种集成电路芯片,其安全地存储用于在移动电话设备(诸如移动电话和计算机)上标识和认证用户的国际移动用户身份(imsi)号码及其相关密钥。没有本地sim卡,用户可能无法在这些区域访问数据网络。

而且,在像古巴的一些地区,因特网的特点是连接数目少、带宽有限、审查制度和成本高。由于缺乏资金、政府的严格限制、美国的禁令以及高昂的成本,自从上世纪90年代末推出以来,古巴的因特网就停滞不前。类似地,当与世界上其他地区相比时,非洲的某些地区的因特网受限于低渗透率。的确,目前大多数非洲国家的因特网的可用性非常有限。此外,在该大陆上确实存在的网络基础设施集中在南非、摩洛哥、埃及以及像毛里求斯和塞舌尔的较小的经济体。



技术实现要素:

本公开提供了用于提供对否则将需要因特网连接的服务的访问的系统和方法。用于提供对服务的访问的通信系统包括客户端设备、通信地耦合到客户端设备的波束调制解调器、以及通信地耦合到波束调制解调器的波束应用编程接口(api)服务器。客户端设备和波束调制解调器经由短程收发器连接。波束调制解调器经由波束设备中的蜂窝收发器连接到波束api服务器。客户端设备被编程为生成包括端点地址和请求数据的web请求,加密web请求,并且经由客户端设备中的短程收发器向波束调制解调器传输经加密的web请求。波束调制解调器被编程为经由波束调制解调器中的短程收发器接收经加密的web请求,解密经加密的web请求,向web请求添加超文本传送协议(http)报头以创建经修改的web请求,并且经由蜂窝收发器向波束api服务器传输经修改的web请求。波束api服务器被编程为接收经修改的web请求,至少部分基于请求中的端点地址来确定外部web服务,向外部web服务传输请求数据,并且响应于请求数据从外部web服务接收响应数据。在接收到响应数据之后,波束api服务器被编程为通过(1)去除不必要的数据,(2)缩小响应数据,以及(3)压缩响应数据来减小响应数据的大小以产生减小的响应数据。波束api服务器然后向波束调制解调器传输减小的响应数据。在接收到减小的响应数据之后,波束调制解调器还被编程为解压缩减小的响应数据以产生经解压缩的响应数据,加密经解压缩的响应数据,并且经由第二短程收发器向客户端设备传输经解压缩的响应数据。

附图说明

本公开内容具有当结合附图考虑时从对本公开和所附权利要求的以下详细描述中将更容易明白的其他优点和特征,在附图中:

图1示出了示例性波束调制解调器。

图2示出了示例性波束调制解调器,其中壳体的一部分被去除以揭示内部组件和结构。

图3示出了其中波束调制解调器经由网络支持用户设备与波束api服务器之间的通信的系统的示例。

图4是波束调制解调器的实施例的框图。

图5示出了其中波束调制解调器在有限数据网络中经由波束api服务器与外部web服务进行通信的系统。

图6a和图6b是示出客户端设备、波束调制解调器、波束api服务器和外部web服务之间的寻址、路由和数据业务控制的示例性方法的流程图。

图7示出了客户端设备、波束调制解调器、波束api服务器和外部web服务之间的寻址、路由和数据业务控制的示例性方法。

图8示出了客户端设备、波束调制解调器、波束api服务器和外部web服务之间的寻址、路由和数据业务控制的另外的示例性方法。

附图仅出于说明的目的描绘了各种实施例。本领域技术人员根据以下讨论将容易认识到,在不脱离本文中描述的公开内容的原理的情况下,可以采用本文中示出的结构和方法的替代实施例。

具体实施方式

图1是波束调制解调器或网关100的示例性实施例。如图1所示,波束调制解调器100可以包括主壳体101和辅壳体102。在这个示例中,辅壳体102是物理设计特征并且不包含波束调制解调器100的任何电子组件。在其他实施例中,辅壳体102可以包括波束调制解调器100的电子组件,包括例如天线或电池。如图所示,主壳体101可以包括两个部分101a和101b。在这个示例中,两个部分101a和101b是为了制造方便。在图1所示的实施例中,主壳体101包围印刷电路板(pcb)和波束调制解调器100的内部组件。

波束调制解调器100组件可以包括短程收发器(诸如蓝牙低能量(ble)片上系统(soc))、蜂窝收发器/调制解调器、用于放大调制解调器的信号的天线(其可以粘合剂支撑或胶合在壳体101的内部上)以及用户身份模块或用户标识模块(sim)和sim卡(用于在蜂窝网络上操作)。波束调制解调器100的附加组件可以包括充电模块103(充电端口或无线充电单元)、充电器(诸如被设计为从由充电端口提供的电压对电池充电的集成电路(ic))、电池(诸如高容量li-po电池)、电流滤波电路(诸如被设计为调节去往调制解调器的电力的无源组件(电感器、电容器)系统)、锁闭电力电路(例如,ic,其基于外部接口的按压来连接和断开从电池到设备的电力)、用作打开/关闭设备并且指示调制解调器状态(例如,具有指示状态的led)两者的方式的外部接口104(诸如按钮)、将电池电压转换为可用于blesoc的电压的电压调节器、用于通过低电压blesoc驱动外部接口中的高电压led的晶体管、用于更新blesoc上的固件的编程头(programmingheader)和/或电阻分压器(用于将电池的高电压转换到blesoc可测量的电压范围内的两个电阻器的连接)。

图2是如图1所示的本公开的波束调制解调器或网关100的示例性实施例,其中去除了辅壳体101b的一部分以揭示pcb105的内部。图2还示出了上述电气组件106在pcb105上的集成。波束调制解调器100中的短程收发器可以是蓝牙、zigbee或红外收发器等。在一个示例中,短程收发器是blesoc,诸如rigado蓝牙4.1模块(bmd-200-b-r)。ble也可以称为蓝牙规范的蓝牙智能或4.0版本。ble是一种低功率和应用友好的蓝牙版本。在一个示例中,蜂窝收发器或调制解调器是gsm模块,诸如telithe910dat204r701。sim模块可以包括nano-sim保持器,诸如来自wurthelectronics公司的732-5954-1-nd。充电器可以是ic,诸如来自microchiptechnology的mcp73832t-2aci/ottr-nd。

图3示出了系统300的示例,其中波束调制解调器301经由诸如因特网等网络304支持客户端设备302与波束api服务器303之间的通信以提供对否则将不可用的服务的访问。网络304表示客户端设备302(例如,消费者)与波束api服务器303之间的通信路径。网络还可以利用专用或私有通信链路(例如,广域网(wan)、城域网(man)或局域网(lan)),它们不一定是因特网的一部分。网络使用标准通信技术和/或协议。

客户端设备302用于与波束api服务器303交互。客户端设备302可以是任何设备,其是或者并入计算机,诸如智能电话、平板计算机、智能手表、膝上型计算机、笔记本等。计算机是具有一个或多个通用或专用处理器、存储器、存储装置和网络组件(有线或无线)的设备。客户端设备302执行操作系统,例如microsoftwindows兼容的操作系统(os)、appleosx或ios、linux发行版或google的androidos。客户端设备302有几种方式与波束系统交互。首先,客户端设备302可以包括用于访问波束api服务器303的专用应用。此外,第三方应用通过例如与第三方应用一起使用的、允许第三方应用访问波束api服务器303的sdk来支持交互。另外,波束软件可以被包括在客户端设备操作系统的系统级(类似于用于蓝牙耳机或蓝牙扬声器的系统级)上。以这种方式,任何应用(例如,专用的、第三方或系统应用,如web浏览器)可以具有对由客户端设备302的操作系统提供的波束系统的访问。

当客户端设备302具有诸如因特网连接等直接网络连接时,波束api服务器303与外部web服务(未示出)通信并且有时直接在客户端设备302与外部web服务之间(通信路径305)传送信息。当客户端设备302不具有诸如因特网连接等网络连接时,波束api服务器303与外部web服务进行通信,并且修改信息和经由波束调制解调器301在客户端设备302与外部web服务之间传送信息。

外部web服务的示例包括第三方web服务,诸如住宿预订系统、就餐预订系统、拼车预订系统、零售系统等。外部web服务可以包括在线定购系统,其呈现形成用户可见的基本界面的web页面或其他web内容。用户使用他们相应的客户端设备302来访问信息并且向外部web服务提供数据。

当在其中网络连接不可用或不可靠的区域或者其中网络连接过于昂贵或不方便的区域旅行时,图3所示的系统允许客户端设备302连接到外部web服务而无需到客户端设备302的直接网络连接。如图3所示,在一个示例中,系统包括客户端设备302、波束调制解调器301和波束api服务器303。客户端设备302包括短程收发器,如ble收发器。波束调制解调器301经由短程收发器与客户端设备302通信。波束调制解调器301还包括蜂窝收发器/调制解调器。波束调制解调器301经由蜂窝调制解调器与波束api服务器303通信。波束调制解调器301可以针对用户正在旅行的区域的需求而专门配置。例如,如果用户正在古巴旅行,则波束调制解调器301可以被配置为连接到包括位置特定的sim卡的本地蜂窝网络。而且,波束调制解调器301可以包括可以针对任何国家或地区而配置的全球sim卡。在一个实施例中,客户端设备302包括来自与正在使用波束设备301的国家不同的国家的sim卡。类似地,客户端设备302还可以具有来自与在波束设备301中使用的sim卡不同的国家的sim卡。在另一实施例中,客户端设备302可以包括来自特定国家的sim卡,并且波束调制解调器301可以包括可以针对任何国家或地区而配置的全球sim卡。

当客户端设备302需要从外部web服务获取信息但是没有到网络304的连接时,其使用短程收发器与波束调制解调器301通信。客户端设备302被编程为生成包括用于外部web服务的端点地址(诸如ip地址)和请求数据的web请求。客户端设备302还被编程为向波束调制解调器301发送web请求。客户端设备302可以包括用于与波束调制解调器301和/或波束api服务器303通信的专用应用。客户端设备302还可以对web请求进行加密以用于传输到波束调制解调器301。

波束调制解调器301被编程为经由短程收发器接收web请求,并且根据需要解密web请求。如上所述,web请求包括用于外部web服务的端点地址和请求数据。为了将web请求的内容传送到波束api服务器303,波束调制解调器301可以向web请求添加传送协议报头以支持网络304上的传输。例如,波束调制解调器可以向web请求添加超文本传送协议(http)报头以创建经修改的web请求。在其他示例中,波束调制解调器301被编程为向web请求添加传输控制协议(tcp)报头以创建经修改的web请求。添加http报头是有利的,因为http请求更普遍被接受。但是,http请求比tcp请求的数据密集度更高。相应地,在一些实施例中,系统300包括被配置为向web请求添加tcp报头的波束调制解调器301和被配置为接收tcp请求的波束api服务器。

在创建经修改的web请求之后,波束调制解调器301经由其蜂窝调制解调器和网络304向波束api服务器303传输经修改的web请求。波束api服务器303被编程为接收经修改的web请求,从web请求中提取(1)端点地址和(2)请求数据,并且至少部分基于端点地址来确定外部web服务。波束api服务器303被编程为然后向外部web服务传输请求数据并且接收来自外部web服务的、响应于请求数据的响应数据。之后,对波束api服务器303编程以通过(1)去除不必要的数据,(2)缩小响应数据,以及(3)压缩响应数据来减小响应数据的大小以产生减小的响应数据。响应数据的大小的减小确保有效使用波束api服务器303与波束调制解调器301之间的有限数据连接。

在一些示例中,去除不必要的数据可以包括去除外部web服务响应于请求数据而发送的一些结果。例如,如果请求数据是搜索,并且外部web服务返回100个搜索结果,每个搜索结果具有20个字段,则波束api服务器303可以去除差不多10个搜索结果和每个搜索结果中的差不多5个字段。波束api服务器303可以基于搜索的类型、外部web服务的类型或身份、关于用户的信息、关于用户的当前位置的信息等来确定要保留哪些搜索结果和字段。在另一示例中,波束api服务器303可以从响应数据中去除数据密集的字段,诸如图像和视频。

另外,在减小聚集的响应之前,波束api服务器303可以聚集来自外部web服务的响应。例如,对信息的单个请求可以导致波束api服务器303与外部web服务之间的多次来回通信。为了最小化波束api服务器303与波束调制解调器301和客户端设备302之间的业务,波束api服务器在向波束调制解调器301发送减小的响应数据之前,聚集与外部web服务的来回通信,响应于请求数据来隔离数据,并且去除非必要的信息。另外,如果外部web服务响应于请求而发送周期性或频繁的更新,则波束api服务器303可以被编程为通过仅以特定时间间隔或在特定事件时发送更新来降低发送更新的速率。实际上,波束api服务器303中的逻辑可以被配置为仅以特定时间间隔发送更新,使得外部web服务不需要与客户端设备302持续联系。客户端设备302相应地被编程(例如,经由应用)为期望由波束api服务器303提供的减小的数据响应。

波束api服务器303减小频繁更新的一个示例与诸如ubertm或lyfttm等车辆请求服务一起使用。车辆请求服务包括在线交通网络,其允许具有连接的设备的消费者提交车辆请求,车辆请求被指派给驾驶员,并且向驾驶员提醒消费者的位置。在外部车辆请求web服务接收到车辆请求之后,车辆请求服务可以发送频繁更新以向客户端通知所指派的驾驶员的车辆的位置。在很多网络上,用于这些更新的数据量是微不足道的。在其他情况下,这些频繁更新所需要的数据量是不理想的。波束api服务器303可以被编程为以特定间隔(例如,每2分钟或者被请求车辆驾驶每1英里)或在某些事件(例如,沿途的检查点或到达时)时发送车辆位置的更新。

在一些示例中,去除不必要的数据可以包括去除不必要的http报头。除了响应报头之外,http响应可以包括通用报头和对于波束api服务器303向波束调制解调器301传送响应数据而言不是必需的实体报头。而且,http请求响应可以具有对来自客户端设备302的请求数据进行响应而言不是必需的多个可选报头。例如,web服务器、框架和应用通常设置揭示正在使用的软件和版本信息的可选的响应报头。而且,以“x-”开头的报头是非标准报头并且是可选的,并且如果不响应于来自客户端设备302的请求数据,则可以被去除。波束api服务器303可以将响应报头减小到仅对于响应所必要的响应报头。

波束api服务器303还被编程为通过缩小响应数据来减小响应数据的大小。缩小从响应代码中去除所有不必要的字符,而不会更改其功能。这些不必要的字符的示例包括空格字符、换行符、注释、并且有时还有块分隔符,它们用于增加代码的可读性但是不需要它来进行执行。缩小的代码减小了需要传送的数据量。

波束api服务器303还被编程为通过压缩响应数据来减小响应数据的大小以产生减小的响应数据。波束api服务器303可以被编程为使用响应数据的键映射来压缩响应数据,并且波束调制解调器可以被编程为使用键映射来解压缩经压缩的响应数据。其一个示例是java脚本对象表示法(json)代码的键映射压缩。json是一种轻量级的数据交换格式,其便于人们读取和写入。json可以用作数据交换格式,就像xml一样,并且与xml相比,json有几个优点。json很简单,它具有自我记录格式,而且它更短,因为没有数据配置开销。但是,json严重依赖于经常重复的引用和键名称。键映射json压缩算法可以解决这些问题并且减小json响应的大小。例如,波束api服务器303可以通过去除不断重复键名称的需要来压缩json码。使用这种压缩算法,下面的json:

可以被压缩为:

另外,波束api服务器303可以通过减小用于表示通用同类集合的字符的数目来压缩json码,包括通过从结构中去除键来在索引0上创建具有每个属性名称的报头,和/或通过假定有重复的条目。使用这种压缩算法,下面的json:

可以被压缩为:

[[“name”,”age”,”gender”,”skilled”],

[“andrea”,31,”male”,true],[“eva”,27,”female”,true],

[“daniele”,26,”male”,false]]

在已知json响应的结构的情况下,可以使用yaml(yetanothermarkuplanguage,又一标记语言)文件来描述如何从响应中掩蔽/消除字段。当结构未知时,某些关键字段被选择并且被重新构建为新的响应结构。在一些实施例中,被访问的外部web服务可以向服务器303提供yaml文件,yaml文件确定来自服务的内容如何被压缩。

而且,波束api服务器303可以被编程为通过紧缩(zip)响应数据来压缩响应数据,并且波束调制解调器可以被编程为通过解紧缩(unzip)响应数据来解压缩经压缩的响应数据。波束api服务器303可以使用gzip或其他紧缩实用工具。

在波束api服务器303已经减小响应数据之后,其经由网络304和波束调制解调器301中的蜂窝调制解调器/收发器向波束调制解调器301传输减小的响应数据。波束调制解调器301被编程为经由蜂窝收发器接收减小的响应数据并且解压缩减小的响应数据以产生经解压缩的响应数据。波束调制解调器301然后可以加密经解压缩的响应数据并且经由波束调制解调器301中的短程收发器向客户端设备302传输经解压缩的响应数据。

当客户端设备302具有网络(例如,因特网)连接时,客户端设备302还可以被编程为向波束api服务器303传送客户端信息。当客户端设备302具有网络连接时的波束api服务器303与客户端设备302之间的通信在图3中被示出为通信路径305。波束api服务器303可以被编程为使用客户端信息来对响应于被传输到外部web服务的请求数据的、来自外部web服务的信息的请求进行响应。例如,当客户端设备302具有因特网连接时,客户端设备302可以直接向波束api服务器303传输个人信息,包括偏好、用于外部web服务的登录信息(例如,id和密码)和旅行目的地。波束api服务器303还可以使附加的web服务特定信息被存储,诸如对于客户端是重要的那些字段。

当客户端设备不具有因特网连接时,可以使用波束api服务器303上的个人信息和其他存储的数据来响应于来自外部web服务的请求,作为从客户端设备302提供对请求数据的响应的一部分。例如,如果客户端设备302发送对于存储在外部web服务处的“喜好位置”区域中的地点的位置的请求,则请求被路由到的外部web服务可以通过请求用于访问存储“喜好位置”的账户的用户名和密码来进行响应。为了防止波束api服务器303必须将查询发送回客户端设备302以获取所请求的信息,可以在客户端移动到具有有限网络访问的位置之前将该信息存储在波束api服务器303上。另外,用户可以使用除了客户端设备302以外的其他设备向波束api服务器303传输客户端信息。例如,用户可以使用个人计算机向波束api服务器303而不是客户端设备302传输客户端信息。

在一个实施例中,当客户端设备302具有网络304(诸如因特网)连接时,波束api应用服务器303被编程为向客户端设备302传送对请求数据的补充数据。当客户端设备302具有网络连接时的波束api服务器303与客户端设备302之间的通信在图3中被示出为通信路径305。客户端设备302可以被编程为使用补充数据来增强来自波束调制解调器的经解压缩的响应数据。客户端设备302上的这种数据预先缓存的一个示例是地图数据。在旅行之前,当用户具有与因特网的良好连接时,波束api服务器303接收关于用户将在哪里旅行的信息并且与客户端设备302通信以将旅行位置的地图数据存储在客户端设备302上。然后,当用户正在指定位置旅行并且发送对位置数据的web请求时,波束api服务器303仅需要传输尚未预先缓存的数据,诸如餐馆或兴趣点的位置,但是不必传输地图数据以支持客户端设备302上的导航。

在一些实施例中,客户端设备302上的应用将web请求约束或限制为预定的外部web服务列表,滤除对web服务的请求,和/或限制发送到外部web服务的请求的类型。客户端设备302由此过滤数据密集型的或需要数据密集型响应的请求,并且由此保存否则会导致信息不足响应或请求/响应错误的数据业务。客户端设备302可以将web请求限制为如下的外部web服务,(1)当客户端设备302具有网络304连接时,客户端设备302已经将客户端信息传送到波束api服务器303,和/或(2)当客户端设备302具有网络304连接时,波束api服务器303已经将补充数据传送到客户端设备302。

在一个示例中,在旅行之前,用户在客户端设备302(或另一设备)中输入目的地并且选择用户想要访问的服务,诸如地图和消息收发。由于客户端设备302仍然具有网络通信,所以它能够经由网络连接305连接到波束api服务器303。客户端设备302将目的地信息和所选择的服务信息传输到波束api服务器303。波束api服务器303连接到针对所选择的服务的外部web服务(例如,地图和消息收发),并且确定如何提供对所选择的服务的访问,同时当用户到达目的地时减小客户端设备302与波束api服务器303之间的数据传输。波束api服务器303确定可以在波束api服务器303上存储什么信息以辅助对外部web服务的响应,并且从客户端设备302(从存储的信息或通过提示客户端设备302查询用户)或其他来源接收该信息。波束api服务器303还确定可以在客户端设备302上预先高速缓存什么信息以提供对所选择的服务的访问,并且当用户到达目的地时,减小客户端设备302与波束api服务器303之间的数据传输。

另外,客户端设备302和/或波束api服务器303可以预先确定当用户到达目的地时要使什么服务可用。波束api服务器303可以经由网络连接305将该信息传输到客户端设备302。除了上述示例之外,客户端设备302和/或波束api服务器303可以基于对外部web服务的请求和/或响应将需要的数据量来确定要使什么服务可用。类似地,客户端设备302和/或波束api服务器303可以基于特定类型的请求和对应响应将需要的数据量来确定要使外部web服务内的某些类型的请求可用。而且,客户端设备302和/或波束api服务器303可以基于波束api服务器303修改来自外部web服务的响应以减小其大小的能力来确定要使什么服务可用。

图4是波束调制解调器401的实施例的框图。如图4所示,波束调制解调器401通信地耦合到客户端设备402。这种双向通信可以利用短程通信协议(如先前描述的ble)来完成。图4中示出了波束调制解调器401中的短程收发器410。web请求服务415和web响应服务416是波束调制解调器401中的收发器410的接口。web请求服务415和web响应服务416负责广播可用的服务、参数和特性(诸如只读、只写、读/写和/或通知)。

在其中收发器410是蓝牙收发器的示例中,web请求服务415和web响应服务416建立并且维持波束调制解调器401与客户端设备402之间的双向数据通信。波束调制解调器401与客户端设备402之间的连接的创建可以是不对称的过程,通过该不对称过程,广告者通过广告信道宣告它是可连接的设备,而另一设备(被称为发起者)监听这样的广告。当发起者找到广告者时,它可以向广告者传输连接请求消息,这在两个设备之间创建了点对点连接。然后,两个设备都可以通过使用物理数据信道进行通信。ble在链接层为已创建的连接定义了两个设备角色:主设备和从设备。这些是在连接创建期间分别用作发起者和广告者的设备。

例如,收发器410可以包括诸如在blesoc中的控制逻辑420。备选地,波束调制解调器401可以具有在收发器410外部的控制逻辑。类似地,波束调制解调器401可以包括用于使得波束调制解调器401能够做出http请求的http层模块421。波束调制解调器401还可以包括用于使得波束调制解调器401能够做出tcp请求的tcp层模块。波束调制解调器401还可以包括用于支持蜂窝通信的蜂窝调制解调器425、以及特定于所选择的蜂窝调制解调器425的调制解调器驱动器423(其提供通用调制解调器要求(包括高级命令(例如,开放端口、等待时间量、获取响应))并且将tcp请求转换为一组at命令)和i/o驱动器424。

在一个示例中,客户端设备402准备包括端点地址(例如,ip地址)和要传送的请求数据的web请求,并且经由ble连接将其发送到波束调制解调器401。web请求服务415可以是加密形式。波束调制解调器401中的ble收发器410接收数据,对其进行解密,并且添加必要的http报头,并且以调制解调器特定的格式将其转发给波束调制解调器401中的蜂窝调制解调器425。蜂窝调制解调器425连接到蜂窝网络,连接到指定的端点并且发送请求数据,并且等待端点发送响应。由调制解调器425将端点的响应发送回ble收发器410,在ble收发器410处,响应被解析(重新组装成客户端设备402可以理解的格式),加密并且经由web响应ble服务416发送回客户端设备402。在一个实施例中,波束调制解调器401组件可以被集成到客户端设备402中以支持数据节省和/或电池节省。在综合示例中,客户端设备402与波束调制解调器401之间的通信是经由客户端设备402中的硬连线连接而不是经由短程系统。

图5示出了系统500,其中波束调制解调器501在有限数据网络504中经由波束api服务器503与外部web服务510-515通信。外部web服务510-515可以包括消息收发服务、住宿预订系统、就餐预订系统、拼车预订系统、零售系统等。在这个示例中,波束调制解调器501经由短程收发器通信地耦合到客户端设备(未示出)。波束调制解调器501还包括用于连接到网络504并且由此连接到波束api服务器503的蜂窝收发器。

波束调制解调器501被编程为经由短程收发器从客户端设备接收包括端点地址和请求数据的web请求,并且然后向web请求添加http报头以创建经修改的web请求。在一个示例中,web请求是sms获取/发布请求,并且外部web服务510是sms网关。波束调制解调器501还被编程为经由蜂窝收发器向波束api服务器503传输经修改的web请求。在接收到经修改的web请求之后,波束api服务器503被编程为至少部分基于端点地址来确定外部web服务510-515。在确定适当的外部web服务510-515之后,波束api服务器503向外部web服务510-515传输请求数据,并且接收来自外部web服务510-515的、响应于请求数据的响应数据。在接收到响应数据之后,波束api服务器503通过(1)去除不必要的数据,(2)缩小响应数据,和/或(3)压缩响应数据来减小响应数据的大小以产生减小的响应数据。波束api服务器503然后向波束调制解调器501传输减小的响应数据。

在波束调制解调器501接收到减小的响应数据之后,波束调制解调器501被编程以解压缩减小的响应数据以产生经解压缩的响应数据,加密经解压缩的响应数据,并且经由短程收发器向客户端设备传输经解压缩的响应数据。

在来自波束调制解调器501的请求的一个示例中,客户端设备的用户发出被传输到波束api服务器503的web请求。波束api服务器503使用该请求的内容来确定哪个外部web服务510-515以咨询数据,并且将请求转发给该服务510-515。在sms获取/发布请求的情况下,请求被路由到外部sms网关510。波束api服务器503从所请求的服务接收响应数据并且积极地压缩它。大小减小的响应被返回到波束调制解调器501并且在其上被解码。

图6a和图6b示出了使用客户端设备602、波束调制解调器601和波束api服务器603的寻址、路由和数据业务控制的示例性方法。如图6a所示,客户端设备602生成包括端点地址和请求数据的web请求610。客户端设备602然后加密web请求615并且经由短程收发器向波束调制解调器601传输经加密的web请求620。

波束调制解调器601经由短程收发器接收经加密的web请求620并且解密经加密的web请求625。波束调制解调器601然后向web请求添加超文本传送协议(http)报头630以创建经修改的web请求,并且经由蜂窝收发器向波束api服务器603传输635经修改的web请求。

波束api服务器603接收经修改的web请求635并且至少部分基于端点地址来确定640外部web服务607。波束api服务器603然后向外部web服务607传输请求数据645。响应于请求数据,波束api服务器603从外部web服务607接收响应数据650。然后该方法如图6b所示继续。在图6b中重复从外部web服务607接收响应数据650的步骤以示出图6a和图6b之间的连续性,但是并不表示该步骤必须重复。然后,波束api服务器603通过(1)去除不必要的数据655,(2)缩小响应数据660,和/或(3)压缩响应数据665来减小响应数据的大小以产生减小的响应数据。波束api服务器603然后向波束调制解调器601传输减小的响应数据670。

在波束调制解调器601经由蜂窝收发器接收到减小的响应数据670之后,其解压缩减小的响应数据675以产生经解压缩的响应数据。波束调制解调器601然后加密经解压缩的响应数据680,并且经由波束调制解调器601中的短程收发器向客户端设备602传输经解压缩的响应数据685。

图7示出了除了和/或结合图6a和6b所示的方法而可以使用的使用客户端设备602、波束调制解调器601和波束api服务器603的寻址、路由和数据业务控制的另一示例性方法。当客户端设备602具有网络(例如,因特网)连接时,客户端设备602可以直接向波束api服务器603传送客户端信息701。虚线703指示在没有波束调制解调器601的情况下的客户端设备602与波束api服务器603之间的网络连接的存在。在虚线703之上,在没有波束调制解调器601的情况下,在客户端设备602与波束api服务器603之间存在网络连接(例如,在用户到达具有有限网络连接的区域之前)。在虚线703下面,在没有波束调制解调器601的情况下,在客户端设备602与波束api服务器603之间存在有限网络连接(例如,在用户到达具有有限网络连接的区域之后)。

在客户端设备602直接向波束api服务器603传送客户端信息701之后,波束api服务器603然后存储702客户端信息。然后,一旦用户已经到达具有有限网络连接的区域,该方法如图6a所示从客户端设备602生成web请求610的步骤继续进行到波束api服务器603向外部web服务607传输请求数据645的步骤。此时,外部web服务607可以向波束api服务器603发送回一个或多个查询750。波束api服务器603使用先前存储702的客户端信息701来响应755于查询750。例如,客户端信息701可以包括个人信息,包括偏好、用于外部web服务的登录信息(例如,id和密码)和旅行目的地。客户端信息701还可以包括附加web服务607特定信息,诸如web服务使用的对客户端而言重要的字段。

在该方法的一个示例中,如果客户端设备602发送对于存储在外部web服务607处的喜好位置的请求,则请求被路由到的外部web服务607可以通过请求用于访问存储喜好的帐户的用户名和密码来进行响应。外部web服务607向波束api服务器603发送回一个或多个查询750,并且波束api服务器603使用用户名和密码向外部web服务607发送回一个或多个查询响应755。

查询750和查询响应755步骤可以重复,直到外部web服务607已经接收到它对请求数据645进行响应所需要的信息。此时,外部web服务607如图6a和6b所示传输响应数据650,波束api服务器603从外部web服务607接收响应数据650,并且然后该方法如图6b所示继续。

图8示出了除了和/或结合图6a和6b所示的方法而可以使用的使用客户端设备602、波束调制解调器601和波束api服务器603的寻址、路由和数据业务控制的另一示例性方法。当客户端设备602具有网络(例如,因特网)连接时,波束api服务器603可以直接向客户端设备602传送补充信息801(而不使用波束api调制解调器601),补充信息801可以用于补充或帮助对请求数据645进行响应。虚线803指示在没有波束调制解调器601的情况下客户端设备602与波束api服务器603之间的网络连接的存在。在虚线803之上,在没有波束调制解调器601的情况下,在客户端设备602与波束api服务器603之间存在网络连接(例如,在用户到达具有有限网络连接的区域之前)。在虚线803下面,在没有波束调制解调器601的情况下,在客户端设备602与波束api服务器603之间存在有限网络连接(例如,在用户到达具有有限网络连接的区域之后)。

在波束api服务器603直接向客户端设备602传送补充信息801之后,客户端设备602然后存储或预先高速缓存补充信息802。然后,一旦用户已经到达具有有限网络连接的区域,该方法就如图6a所示从客户端设备602生成web请求610的步骤继续进行。因为客户端设备602已经存储了补充信息802,所以客户端设备602可以生成不包括将在响应中需要补充信息802(或补充信息的一部分)的请求的web请求610。替代地或另外地,波束api服务器603可以解析web请求635以确定请求信息的什么部分已经存储在客户端设备602上。波束api服务器603然后可以仅向外部web服务607(在数据请求645中)要求尚未存储在客户端设备602上的所请求的信息的一部分。而且,波束api服务器603可以解析来自外部web服务607的响应数据650以确定响应数据650的一部分尚未存储在客户端设备602上。该方法然后如图6b所示继续进行。一旦客户端设备602接收到经解压缩的响应数据685,其就将它与所存储的补充信息802组合。

在该方法的一个示例中,客户端设备602上的所存储的补充信息是地图数据。在旅行之前,当用户具有与因特网的良好连接时,波束api服务器603接收关于用户将在哪里旅行的信息,并且与客户端设备602通信以将旅行位置的地图数据存储在客户端设备602上。然后,当用户正在指定位置旅行并且发送对位置数据的web请求时,波束api服务器603仅需要传输尚未预先缓存的数据,诸如餐馆或兴趣点的位置,但是不必传输地图数据以支持客户端设备602上的导航。

其他考虑

为了说明的目的已经呈现了对实施例的以上描述;其并不意图是穷尽的或者将本公开限制为所公开的确切形式。相关领域的技术人员可以理解,鉴于上述公开,很多修改和变化是可能的。

本描述的一些部分在对信息的操作的算法和符号表示方面来描述本公开的实施例。这些算法描述和表示通常被数据处理领域的技术人员用来有效地将其工作的实质传达给本领域其他技术人员。尽管在功能上、计算上或逻辑上描述了这些操作,但是这些操作被理解为由计算机程序或等效电路、微代码等来实现。此外,在不失一般性的情况下,将这些操作布置称为模块有时也被证明是方便的。所描述的操作及其相关模块可以以软件、固件、硬件或其任何组合来实施。

本文中描述的任何步骤、操作或过程可以用一个或多个硬件或软件模块单独或与其他设备组合来执行或实现。在一个实施例中,软件模块用包括含有计算机程序代码的计算机可读介质的计算机程序产品来实现,该计算机程序代码可以由计算机处理器执行以执行所描述的任何或所有步骤、操作或过程。

实施例还可以涉及用于执行本文中的操作的装置。该装置可以为了所需要的目的而专门构造,和/或可以包括由存储在计算机中的计算机程序选择性地激活或重新配置的通用计算设备。这样的计算机程序可以被存储在非暂态有形计算机可读存储介质或者适于存储电子指令的任何类型的介质中,这些介质可以被耦合到计算机系统总线。此外,说明书中提及的任何计算系统可以包括单个处理器,或者可以是采用多个处理器设计以提高计算能力的架构。

实施例还可涉及通过本文中描述的计算过程产生的产品。这样的产品可以包括从计算过程产生的信息,其中信息存储在非暂态有形计算机可读存储介质上,并且可以包括本文中描述的计算机程序产品或其他数据组合的任何实施例。

最后,说明书中使用的语言主要被选择用于可读性和指导性目的,并且可能未被选择为界定或限制本发明主题。因此,本公开的范围旨在不由本详细描述限制,而是由在此基础上的本申请提出的任何权利要求限制。因此,本实施例的公开旨在说明而非限制本公开的范围,本公开的范围在以下权利要求中阐述。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1