用于移动设备的网络带宽共享的制作方法

文档序号:11162371阅读:777来源:国知局
用于移动设备的网络带宽共享的制造方法与工艺

本专利申请要求于2015年3月17日提交的美国非临时专利申请14/659,930的优先权,其要求于2014年9月26日提交的美国临时专利申请62/056,297的优先权,这些专利申请据此全文以引用方式并入以用于所有目的。

技术领域

本公开涉及设备之间的通信,包括经由第二用户的主机设备来提供对一个用户的移动设备的网络访问。



背景技术:

随着不同类型的联网设备持续增多,过去可能只有一台计算机或一部电话的单个用户现在可能拥有台式计算机、膝上型电脑、移动电话、平板电脑、联网可穿戴设备、联网家用电器和其他联网设备。在这种环境下管理通信是一项越来越复杂的任务。较小的移动设备可能尤其不具有用于网络连接至多数现有无线网络基础结构的功率或硬件资源。并且,用户不可能一直随身携带网络连接设备。



技术实现要素:

各实施方案中提供了用于通过主机设备来提供对客户端设备的网络访问的系统、方法和设备。在一些实施方案中,主机设备可属于第一用户,并且客户端设备可属于第二用户。例如,客户端设备可具有无线功能(例如,用于对等连接),但不具有用于(例如,对互联网的)网络访问的功能或服务提供方。当第一用户的客户端设备处于例如第二用户的主机设备的本地范围内时,可获得这样的网络访问。

主机设备可启用具有指定资源使用的阈值(例如,电池或带宽限制)的设置的网络带宽共享。认证过程可确认客户端设备和主机设备中的任一者或两者已由服务器注册用于网络带宽共享。服务器可监测由主机设备共享的资源量,并管理对主机设备用户的激励。

其他实施方案涉及与本文所述方法相关联的系统、便携式消费者设备和计算机可读介质。

通过参考以下具体实施方式和附图,可更好地理解本发明的实施方案的实质和优点。

附图说明

图1示出了示例性系统100,该系统示出了在不具备WAN功能的情况下提供对客户端设备的网络访问的网络带宽共享(也称为“数据共享”)方式的具体实施。

图2为示出了各种位置处的主机设备和客户端设备的示例性框图。

图3示出了用于提供对客户端设备的网络访问的主机设备的示例性用户界面。

图4是示例性系统的框图,该系统包括可促进主机设备至客户端设备的网络带宽共享的基础结构。

图5为示例性系统的框图,该系统可用于促进从主机设备至另一用户的客户端设备的数据共享。

图6为示出了主机设备在与客户端设备共享网络带宽之前认证客户端设备的示例性方法的流程图。

图7为示出了指定用于主机设备提供对客户端设备的网络通信的共享参数的示例性方法的流程图。

图8为示出了根据本发明实施方案的示例性方法的流程图,该方法使用与第二用户相关联的客户端设备经由与不同于第二用户的第一用户相关联的主机设备来访问网络。

图9为示出了使用服务器计算机来促进主机设备至客户端设备的带宽共享的示例性方法的流程图。

图10为示例性客户端设备和示例性主机设备的图示。

图11为示例移动设备1100的框图,该移动设备可以是客户端设备或主机设备。

具体实施方式

各实施方案可使用主机设备(例如,智能电话)来提供对电子设备(例如,智能手表和音乐播放器)的网络访问(例如,蜂窝数据服务)。实施方案可特别适于提供来自不同用户(其不同于所述电子设备的用户)的主机设备的这种网络访问。以这种方式,只要电子设备处于主机设备附近(例如,在随身携带电话的其他人附近),电子设备就可作为客户端设备获得网络访问。在一些实施方案中,在电子设备处可能需要有限的配置或无需配置。

带有WAN功能的主机设备可包括用于与不相关的电子设备自动共享网络资源的用户设置。此类用户设置可启用用于共享网络带宽资源的激励或用户奖励。在一些实施方案中,用户可指定向另一人的客户端设备提供的带宽共享量。例如,用户设置可对待共享的带宽量或数据量提出限制。该设置可基于主机设备的可用带宽、每月数据限制或主机设备的其他此类资源限制。

I.用于网络带宽共享的设备

某些类型的电子设备通常不具有当用户从一个位置移动到另一位置时会有效或无缝运行的蜂窝数据服务或其他广域网(WAN)服务。在许多情况下,这归因于此类设备的尺寸和/或功率限制。用于此类服务的天线比用于由WiFi、BluetoothTM(BT)或其他此类短程通信系统提供的局域网(LAN)或近场通信的天线更大。WAN网络芯片组以及WAN服务提供方的额外成本和尺寸也可阻碍将此功能包括到一些电子设备中。实施方案可使用连接受限的电子设备的LAN功能来经由主机设备启用网络通信,而不是将此类功能与某些类型的电子设备(例如,小型设备)集成在一起。因此,在从主机设备获得网络访问时,小型电子设备可作为客户端设备。

在一些实施方案中,在主机设备覆盖充分的情况下,当小型设备自一个主机设备的范围移出并移入另一主机设备的范围时,客户端设备可定期访问网络通信(例如,利用由集中式系统管理的主机设备之间的网络通信切换)。即使主机设备和小型电子设备的用户不同,网络通信也能以自动且安全的方式进行。

客户端设备是指接受由主机设备共享的网络带宽的益处的设备。此类设备的示例包括智能手表、音乐播放器(诸如iPodTM设备)、仅LAN健康监视器,以及具有LAN功能的其他此类设备。

主机设备是指具有WAN和LAN两种功能、被配置为提供对客户端设备(包括对与主机设备的用户不相关联的客户端设备)的网络访问的任何设备。智能电话是此类主机设备的一个示例。具有WAN和LAN功能的移动接入点(AP)、膝上型计算机或其他这样的设备也可起到主机设备的作用。

A.资源、主机和客户的系统

各用户的设备都可作为主机设备。此类主机设备可在不具有WAN功能的客户端设备和网络(例如,蜂窝塔)的网关之间搭建连接。在各种实施方案中,主机设备可提供对各种客户端设备的网络访问,并且客户端设备可从各种主机设备获得网络访问。

图1示出了示例性系统100,该系统图示了在不具备WAN功能的情况下提供对客户端设备的网络访问的网络带宽共享(也称为“数据共享”)方式的具体实施。图1包括一个主数据源110、两个主机设备120,以及三个客户端设备130。主数据源110可以是连接至WAN(诸如互联网)的任何数据源。此类主数据源可包括手机信号塔、卫星、具有网络功能的高空气球,以及其他此类网络基础结构。主数据源110可经由WAN连接(诸如无线长期演进(LTE)蜂窝通信)而与每个主机设备120直接通信。

如果主机设备120被配置为与客户端设备130分享网络资源,那么主机设备120和客户端设备130可经由无线LAN(WLAN)连接(诸如WiFi或BT)进行通信。可通过主机设备120或客户端设备130发起WLAN连接。在某些实施方案中,一个客户端设备130可同时连接至多个主机。这可在例如客户端设备和可用主机设备之间的相对移动较大时发生,因此,对一个主机设备的任何连接都可以是短暂或不确定的。类似地,单个主机可与多个客户端设备同时共享网络带宽。在各种实施方案中,共享带宽的客户端设备的数目可由主机设备用户设置来管理,其可被选择为固定数目、可基于主机设备的可用带宽来自动计算,或可基于任何其他设备设置来确定。

虽然图1将主数据源110和一个或多个主机设备120之间的连接示例示为蜂窝连接,但也可使用其他类型的连接。例如,主数据源110和一个或多个主机设备120之间的连接可以是WiFi连接。与主数据源110的此类WiFi连接可通过支付服务费或具有特定密码而获得,而客户端设备130可能没有这些。因此,即使客户端设备130确实具有连接至主数据源110的能力,该客户端设备130也可能不能与主数据源110直接连接。

B.设备的接近

主机设备和客户端设备可以是分散的并随时间而移动。当主机设备和客户端设备的用户不同时,尤为如此。主机设备的用户可与一个客户端设备的用户相同,但与其他客户端设备的用户不同。

图2为示出了各种位置处的主机设备和客户端设备的示例性框图。图2示出了一个主数据源210,以及多个主机设备220和客户端设备230。所示的每个主机设备均具有服务弧,其指明了用于WLAN通信的有效通信距离。水平轴线对应于各设备之间的距离以及距主数据源210的距离。

在许多环境中,设备将处于平地上,因此,基本上在主机设备220周围的圆圈中提供服务。但是,在建筑物内部或在其他环境中,也可由主机设备220将数据共享至共享主机设备220之上或之下的客户端设备230。如图2所示,用足够数目和密度的共享主机设备220,可向客户端设备230提供常规周期性服务、几乎连续或甚至是连续的服务。可通过集中式系统来管理在客户端设备230移动时由多个主机设备220进行的共享。

C.用于指定数据共享限制的用户界面

可由第一用户配置主机设备,以提供对第二用户的客户端设备的网络访问。只要第一用户未受影响,该第一用户便可提供此类对客户端设备的网络访问。因此,第一用户可能想要根据各种标准限制网络访问(例如,切断、限制或减少)。可为第一用户提供用户界面来选择对何时及怎样限制网络访问的各种标准。

在一些实施方案中,可通过智能电话的触摸屏输入来提供这种用户界面。在其他实施方案中,联网计算机或设备可与主机设备分开提供此类用户界面,并且允许远程选择共享选择。也可使用其他用户界面,诸如语音命令。

图3示出了用于提供对客户端设备的网络访问的主机设备的示例性用户界面300。用户界面300包括多个用户选择(共享参数),包括数据共享输入(开/关)310、带宽限制320、电池电平限制330和激励选择340。这些输入是用户可指定来限制何时及怎样给客户端设备提供网络访问的共享参数的示例。共享参数的其他示例包括一天和/或多个日期中允许或不允许进行共享的时间。

数据共享输入310可包括用户启用或停用网络带宽共享的开/关选择。在各种实施方案中,这种数据共享输入可具有关位置、开位置,以及基于由主机设备使用的资源而自动选择共享选项的动态共享位置。此类资源可包括由主机设备使用的网络带宽的量,和已使用的电量(例如,电池电平),以及正在使用的应用程序。例如,如果正在使用关键的应用程序,那么对于客户端设备的网络访问可受到限制。可由用户指定此类关键应用程序。举例来说,当使用此类关键应用程序时,可自动关闭数据共享,或可将分配用于共享的带宽的量减少至低于本该已经以其他方式提供的下限。

可使用带宽限制320来指定主机设备可用于进行数据共享的可用带宽的最大百分比。例如,主机设备可通过下载或上传文档以测试所得到的最大输送量来确定最大可用带宽,或经由来自互联网提供者的关于最大可用带宽的应答来确定最大可用带宽。如图所示,带宽滑块可选择特定的百分比。可以按各种方式选择特定的百分比,例如,通过输入数字。除百分比之外,滑块可在左末端处显示0,并且在右末端处显示最大可用带宽。可用数字显示所选择的带宽。

在其他实施方案中,可输入最大带宽的特定值。这种特定值与可用带宽无关。例如,用户可指定500Kbps、1Mbps、2Mbps或其他值。因此,在该示例中,用于共享的最大带宽可不取决于可用带宽。

在一些实施方案中,可将百分比和特定值组合起来。例如,用户可指定共享的带宽不多于可用带宽的某一百分比,并且不多于带宽的某一特定量。考虑到当时的可用带宽,无论哪个值较低都将被用作共享的最大带宽。

在各种实施方案中,带宽限制可被应用至瞬时峰值带宽用量、稳定带宽用量,或者可对此二者加以指定。稳定带宽用量可经历指定的时间量。可为峰值带宽用量和稳定带宽用量提供不同的限制。

除带宽限制之外,还可以指定共享数据传输的总量。如果主机设备具有相关联的周期性最大数据允许量(诸如每月数据限制),则会出现额外选择,其可使得人们能够选择可用于共享的最大百分比或这种数据上限的量。例如,主机设备可对可经由WAN通信的数据量具有每月限制。主机设备的用户可能想限制共享数据的量,因此,可能想指定对于何时停止数据共享的限制。在一些实施方案中,对于主机设备的账户,可基于共享数据的量而增加每月限制(数据容量的示例)(例如,增加以抵消共享的量),因此,主机设备的用户可以不关心共享数据的量。

可使用电池电平限制330来指定停止、自动停用或减少数据共享时的电池电平。可设定多个电池电平以用于所提供共享的不同电量。例如,一旦电池电平低于指定电池电平,就可减少待共享的带宽量。在每一指定电池电平处,甚至可进一步减少待共享的带宽量。可针对多个阈值电池电平中的每一者指定带宽共享的量(即减少的量)。例如,在50%电池电平处,可将共享量从第一带宽限制(例如,80%)减少至第二带宽(例如,40%,或0%即停止共享)。可提供任意数目的电量水平。在一些实施方案中,可将共享带宽的特定功能衰减指定为电池电平的函数。

在具有动态共享设置的实施方案中,可基于各种因素使用关于数据共享和/或网络使用情况的历史信息来自动选择带宽限制320、电池电平限制330,或其他此类限制。例如,主机设备可追踪主机设备的网络使用,并确定在某些位置处或时间时主机设备使用大量的带宽,由此可关闭数据共享或可减少限制。也可针对位置和时间追踪数据共享的量,并且如果发现在特定时间和位置处重复存在较高数据共享,则可减少限制或关闭数据共享。

可使用历史信息来预测主机设备要使用的网络使用,从而预测限制数据共享的方式。也可基于当前因素来预测当前的网络使用。例如,用户可正在使用特定的应用程序,该应用程序需要较高性能以数据传输(例如,总尺寸、数据包的数目或延迟)。可将此类应用指定为关键应用。示例性因素包括传感器数据(例如,GPS、加速度计、照相机等)、用户输入、设备位置,或可用来确定如何和何时通过主机设备限制数据共享的其他此类信息。

在其他实施方案中,设置可使主机设备能够确定所共享的数据类型。例如,主机设备可选择共享小数据包推送或提示,但可拒绝共享多媒体文档、相片、视频或其他此类数据密集型通信。类似地,某一选择可启用数据到客户端设备的推送,但可拒绝将来自客户端设备的数据中继到网络上并中继到另一设备。

用于数据共享的用户界面选择的额外示例可包括基于主机设备所具有的网络访问类型的设置。如果主机设备经由有线连接而连接至互联网或WAN,则可使用第一组数据共享选择,其通常高于用于无线连接的数据共享选择。如果主机设备经由非蜂窝无线连接(例如,WiFi)而连接,则可使用第二组数据共享选择,其通常高于用于蜂窝连接的数据共享选择。如果主机设备经由蜂窝数据连接而连接,则可使用第三组数据共享选择。

也可提供激励选择340。可通过与客户端设备或其他用户共享网络带宽来挣取激励。因此,激励可鼓励数据共享。可以(例如,通过服务器计算机)监测共享数据的量(共享的带宽),并且可确定激励。可基于由主机设备的用户所选择的选项来提供不同的激励。

用户界面300示出了三个激励选择选项。实施方案可包括这三个选项的任何一个或多个,或包括其他选项。第一选项是商店信用额度选项341,例如,可在此购买媒体或软件应用程序。第二选项是(例如)用于与主机设备的账户相关联的账单的账单信用额度选项342,诸如电话服务的无线账单。第三选项是将信用额度计入账户,例如,信用卡/借记卡账户。账户信息可被存储于主机设备上。

信用额度可以呈各种形式。现金信用额度或其他货币信用额度(诸如上述三个选项中的那些)为可提供的信用额度的一种。这些信用额度可用于某些商品。例如,信用额度可被用于指定数目的歌曲或电影,或者此类内容的某些值。在一具体实施中,此类内容仅对于已共享足够数据的用户可用。信用额度可采取折扣或升级的形式,当共享了足够量的数据时,这二者均可自动实施。可对照阈值周期性地(例如,每月)测试共享数据的量,以有资格获得该时段(例如,该月打折或升级)期间的指定激励。

在其他实施方案中,由主机设备进行的数据共享可为主机设备用户的其他设备提供相关量的信用额度。例如,用户还可拥有可充当客户端设备的另一设备。该客户端设备有时可能需要进行网络访问,并且用户可能未携带他的/她的主机设备。通过与其他客户端设备共享数据,用户可得到信用额度,以允许用户为他的/她的客户端设备从其他用户的主机设备获得网络访问。以此方式,用户可获得他/她已共享网络访问的程度的网络访问。额外的实施方案可提供社交网络数据共享激励,其中,基于由主机设备进行的数据共享,提供用户头衔或社交网络奖励等级。

除直接激励之外,可由网络提供者启用用于数据共享的支持。这可通过以下方式实现:例如,通过不对照与主机设备相关的数据限制而对数据共享进行计数、通过针对未使用数据提供更平缓的翻转选项、通过提高数据限制(其可相对于共享带宽的量按比例提高),通过向共享足够量数据的用户提供更大的带宽,通过为共享数据的用户提供更频繁的设备升级,或其他此类激励。

在其他实施方案中,信用额度可以是社交信用额度。例如,社交网络可指示由用户提供的共享量。可由任何合适的指示(例如,星形或其他符号、数字、部分填充的物件等)在概要页面上指明该量。信用额度可使用户发布内容的排名上升,例如,评论可得到更高的排名(优先权)。

客户端设备可具有类似于用户界面300的用户界面。此类客户端用户界面可确定客户端设备将尝试访问共享数据的频繁程度、将使用共享数据访问的数据类型、与此类设置相关的功率水平,以及用于客户端设备的任何其他此类设置。

客户端设备和主机设备二者均可具有用于确定该设备如何及何时与另一设备通信的用户选择的标准或自动标准(例如,优先级)。例如,如果两个设备以相反方向移动,则可能不值得尝试连接。还有,可使用度量值来确定哪一个主机设备会提供最好的连接,或相反地,主机设备可最可靠地将网络访问提供至哪一个客户端设备。此类标准可基于接近程度、信号强度、主机电池电平、设备之间的相对移动,或任何其他这样的设备信息。可通过服务器计算机(例如,存储待由客户端设备检索的数据和/或接收来自客户端设备的数据的服务器计算机)执行用于数据共享的设备配置的各方面。

II 用于数据共享的基础结构

在一些实施方案中,可在无需在共享设备上明确设置另一设备的情况下,完成数据共享。通常,用户需要明确地在用户界面上允许网络共享,并指定特定设备来获得网络访问。在上面的示例中,用户可仅指定一些常用参数,并且不必在逐个设备的基础上允许访问。本部分描述了示例性基础结构,其可用于促进及追踪由主机设备进行的数据共享。在一些具体实施中,该基础结构可提供客户端设备和/或主机设备的认证,从而不向未认证的设备提供网络访问,或者不从未认证的设备获得网络访问。

A.具有集中式服务器控制和安全性的系统

图4是示例性系统400的框图,该系统包括可促进主机设备至客户端设备的网络带宽共享的基础结构。如图所示,系统400包括身份管理基础结构405(如,实现身份管理服务、授权服务和/或认证服务的一个或多个服务器)、内容基础结构410(即,实现语音/视频呼叫服务、消息服务和/或推送通知服务的一个或多个服务器)、主机设备415、客户端设备420、用户设备425、提供者430、提供者435和通信网络440。如图所示,身份管理基础结构405、内容基础结构410、主机设备415、客户端设备420、用户设备425、提供者430和提供者435各自能够与通信网络440(代表互联网、广域网、城域网(MAN)、局域网(LAN)、无线局域网(WiLAN)、无线电接入网(RAN)、公共交换电话网(PTSN)等和/或它们的组合)通信并通过该通信网络进行通信。如图所示,主机设备415可在不利用通信网络440的情况下(作为数据共享连接的一部分)直接与客户端设备420通信。由主机设备415或客户端设备420进行的特定连接可基于特定设备和用户选择而随时间发生变化。

1.身份管理基础结构

身份管理基础结构405可提供对各个实体、其在系统(诸如内容基础结构410)内或跨系统的认证、授权和特权的管理。身份管理基础结构405可在各种实施方案中使用单个服务器计算机系统来实现,或者可包括多个服务器计算机系统、web服务器、应用服务器、网络、互连件等。身份管理基础结构405所提供的身份管理服务可包括多种技术和服务,诸如活动目录、身份提供者、口令管理器、访问控制提供者、单点登录(SSO)服务、开放授权、安全性令牌服务等。此类方面可提供安全性,以使主机和客户端设备能够提供身份信息和认证,从而主机和客户端设备可信任设备能够作为数据共享系统的一部分安全且可靠地运行。

身份管理基础结构405可保存用于认证受管理实体(诸如用户、组织和任何相关联设备、资源、服务、应用程序等)的身份的信息。实体的认证可以针对特定设备,或者可用于对实体可使用的各种设备进行认证。当针对特定设备进行认证时,由身份管理基础结构405保持的信息可包括设备标识符(例如,识别客户端设备的客户端标识符)。设备标识符的示例包括由身份管理基础结构405指定的任何唯一值(例如,令牌、密匙、证书或唯一的用户名)、媒体访问控制地址(MAC地址)、客户端设备的序列号等,及它们的组合。

身份管理基础结构405可使用口令、生物识别(诸如指纹)、独特行为(诸如触摸屏上的手势图案)、质疑-应答协议、一次性口令(OTP)、五向认证和/或其他技术验证实体是其声称的人/物。身份管理基础结构405还可管理定义实体在特定应用程序、服务或资源的上下文中能够执行的操作的授权信息。一些授权可基于与受管理实体相关联的角色、设备类型、应用程序、应用类型等。用户被授予通常与特定工作或工作功能相关的角色。身份管理基础结构405还可管理关于受管理实体的描述性信息以及如何和谁能够访问和修改该信息。

作为身份管理的一部分,可识别一个或多个主机设备,并且这一个或多个主机设备可与一个或多个客户端设备相关联起来,从而使数据共享或激励信息可由这些设备共享。类似地,可配置具有特定身份的主机设备和具有不同身份的客户端设备,以用于数据共享系统内的某些功能,从而客户端设备可具有允许自主机设备请求数据的身份,并且主机设备具有允许共享数据的身份。在某些实施方案中,可授权单个设备共享并接收共享的数据。这可在例如主机设备已完全使用了周期性数据分配时发生,因此主机设备可以在该周期的期间内不共享更多的数据,但可从另一主机设备请求数据共享。

身份管理基础结构405可产生用于管理实体的一个或多个数字身份。数字身份可包括实体识别信息(个人可识别信息或PII)和辅助信息。受管理实体可具有多个数字身份,并且每个数字身份可包含多个属性。用户可具有链接到多个设备的用户标识符(例如,电话号码、电子邮件等)。除了创建、删除、修改数字身份之外,身份管理基础结构405还可管理辅助实体数据以供服务诸如内容基础结构服务410使用。

身份管理基础结构405可存储与用户标识符相关联的每个设备的性能。设备性能的实施例为:设备是否包括特定类型或版本的硬件、设备是否包括特定类型或版本的软件(例如,操作系统或应用程序)、设备是否能够执行特定功能诸如发出和接收电话呼叫或发送和接收短消息服务(SMS)/多媒体消息服务(MMS)消息、设备是否能够保持与其他设备的连接,诸如此类。与用户相关联的设备的列表可被发送到该用户的任何其他设备,诸如与同一用户标识符相关联的主机设备415和客户端设备420,并存储在该设备处。当注册设备并且使之与用户标识符相关联时,身份管理基础结构405可确定并且收集设备的性能。身份管理基础结构405可周期性地更新设备的性能,例如,当设备重新注册或与由身份管理基础结构405管理的一个或多个服务通信时。作为此类身份功能的一部分,身份可基于共享身份的多个设备所共享的数据或消耗的共享数据来提供共享激励。

身份管理基础结构405可接收单个用户标识符,该用户标识符用于确定与该用户标识符相关联的设备的设备标识符。在实体注册期间,为了访问由身份管理基础结构405管理的服务或资源,可组合一个或多个用户或其他标识符和唯一实体或设备标识符(UID)以生成实体或设备令牌。在各种实施方案中,通过应用散列算法(例如,SHA-0、SHA-1、SHA-2、MD5、Whirlpool或其他散列算法)来对该令牌加密。针对实体而生成并加密的令牌可在各种实施方案中保持不变。一旦身份管理基础结构405已经生成并加密令牌,就可将令牌发送回实体。在一些方面,实体可随后将令牌分发给由身份管理基础结构405管理的服务或资源,或者其他第三方服务,这些第三方服务出于各种目的与实体在那些受管理服务或资源处的认证、授权、记账等或第三方向实体进行可信内容传递有关。当设备连接起来用于数据共享时,主机设备和客户端设备随后可将此信息用作起始握手的一部分。因此,每次主机设备和客户端设备之间发生连接以用于数据共享时,此类信息可在无需在用户界面处进行用户输入的情况下,启用无缝数据共享。当与新的且不相关设备共享数据时,这可按多种不同方式实施,但当客户和主机设备二者的硬件和软件都已知且同步作为数据共享系统的部分以提供安全时,这样的无缝连接可以是特别安全的。

2.内容基础结构

内容基础结构410可由身份管理基础结构405保护且/或能够被由身份管理基础结构管理的实体访问。内容基础结构410可在各种实施方案中使用单个服务器计算机系统来实施,或者可包括多个服务器计算机系统、web服务器、应用服务器、网络、互连件等。

内容基础结构410可向主机设备415、客户端设备420和用户设备425以及向其他设备和实体提供内容。内容的示例包括文本消息、多媒体消息、迫近日历事件、音频/视频呼叫(例如,使用VOIP)或远程服务器上的新数据的通知。在一些实施方案中,内容可起源于由身份管理基础结构405管理的一个或多个源,或者由内容基础结构410直接提供。在其他实施方案中,内容可源自其他源。例如,内容可源自主机设备415、客户端设备420、用户设备425和提供者430及435中的任一者。在各种实施方案中,任何或所有这些类型的内容都可作为数据共享系统的一部分由主机设备415与客户端设备420进行共享。特定设备处的用户选择可基于该用户选择而限制至某些类型的此类内容的共享。

在另一个示例中,可从其他源诸如互联网、蜂窝网络、公用交换电话网等接收内容。内容基础结构410可接着将内容路由到主机设备415、客户端设备420、用户设备425和提供者430及435。在一些实施方案中,内容基础结构410可通过基础结构路由从蜂窝网络接收或去往蜂窝网络的SMS消息。在其他实施方案中,内容基础结构410可通过基础结构路由从公用交换电话网接收或发送至公用交换电话网的语音呼叫。

在一些实施方案中,内容基础结构410可在适当时向不止一个设备发送内容。用户可与用户设备425和客户端设备420两者相关联。内容基础结构410可将内容路由至用户设备425和客户端设备420二者。用户设备425可直接接收通信,客户端设备420可作为数据共享链的部分经由主机设备415接收通信。因此,即使诸如智能手表的设备不连接至WAN且远离接收通话的电话,只要智能手表能够接收共享的数据,该智能手表就可接收来电通知。在其他实施方案中,将内容发送到仅一个设备,例如用户设备425,其可将通信转发到客户端设备420。可与用户设备425共享身份的客户端设备420随后可用不相关的主机设备415经由数据共享来接收转发的通信。

在一个方面,内容可包括一项或多项数据,诸如如上文论述的设备标识符(或令牌)和有效载荷。可在起源于提供者(例如,提供者430和/或435)、同一用户的设备(例如,来自主机设备415或客户端设备420)或另一个用户的设备(例如,用户设备425)的内容中,连同提供者设法使用内容基础结构410传递的任何有效载荷一起提供设备令牌。设备令牌可含有使得内容基础结构410能够定位设备的信息,所述设备上安装有特定服务或客户端应用程序并且被注册以接收内容。有效载荷可包括在服务器应用程序处接收的新信息或对将在哪里找到该信息的标引。有效载荷还可包括指定特定服务或客户端应用程序将如何向用户提醒此新信息的属性列表。

在某些实施方案中,内容基础结构410可使用设备令牌来管理一个或多个通信,所述一个或多个通信使用与多个主机的数据共享来向单一客户端设备提供通信。这可在可用于共享的唯一主机设备正在相对于客户端设备移动时发生,从而主机设备仅能共享一小段时间。例如,这可以是三秒或四秒,或可以少于一秒。在此类实施方案中,在数据通信至主机之后,基于主机设备之一将处于客户端设备的范围之内并能经由数据共享将数据发送至客户端设备的预测,内容基础结构410可发送数据至多个设备,这些设备可在或可不在客户端设备的范围之内。

在一些实施方案中,内容基础结构410可使用全球定位系统数据或其他定位数据来预测主机和客户端何时将处于数据共享范围内,并基于此预测将数据通信至主机设备用于与客户端设备共享。因此,对于双向通信,与客户端设备通信的第一部分可借由主机设备共享数据而发生,并且随主机设备移动出用于与客户端设备数据共享的范围,内容基础结构410可使用不同主机设备(其可与客户端设备共享数据)来管理待发生的数据通信的第二部分,从而在两部分或更多部分中完成通信。这可利用正在由内容基础结构410管理的两个、三个、四个或任意个主机设备发生,以完成与单个客户端设备的通信。

在某些实施方案中,从主机设备到客户端设备的数据共享可集中于可在少量时间(例如,约几毫秒、数十毫秒或数百毫秒)内完成的低带宽提醒通信。提醒可以多种形式出现。在一个实施例中,可将内容作为提醒消息或其他视觉表示(诸如与应用程序图标相关联的标志)来向客户端设备的用户显示。还可通过在显示提醒或标志时播放声音来宣布内容的可用性。当向用户通知应用程序具有消息、事件或其他内容数据时,用户可启动该应用程序,并通过查看内容、查看推送通知中包含的信息、使客户端应用程序检索标引的信息等来看到详情。用户还可选择忽略通知,在这种情况下应用程序不会激活。因此,在某些实施方案中,数据共享可涉及作为提醒经由共享主机设备发送至客户端设备的少量数据,其中共享的数据激活客户端设备上的提醒。随后可呈现客户端设备的用户界面来激活应用,或经由数据共享发起回应通信。如果曾用于将提醒发送至客户端设备的数据共享连接仍可用,则相同连接可用于通信回应。如果连接不可用,则可与相同主机或与新主机建立新的数据共享连接。如果数据共享主机设备不可用,则回应可在客户端设备处等待,直至新的数据共享连接可用。

内容基础结构410可包括推送通知服务,其实现用于向客户端应用程序提供让用户知道新内容在一个或多个服务器应用程序上可用、保存于该设备上或正在传入的能力的机制。如本文所使用的推送提供者(或简称为提供者)可指使用推送通知基础结构转发和/或传递信息的实体。一般来讲,当新数据可供用户使用时,软件开发者(充当提供者)在其服务器软件中发起通知。提供者通过持久且安全的信道将其服务器软件与内容基础结构410连接。身份管理基础结构405可确保提供者被认证(例如,提供者是提供者所宣称的人)并授权,以便以可信方式连接并利用内容基础结构410。

在监测用于其客户端应用程序的传入数据时,当用于应用程序的新数据到达时,提供者可准备通知并通过其信道连接将通知发送到内容基础结构410,该内容基础结构将通知推送到推送消费者或目的地目标设备。身份管理基础结构405还可确保消费者或目的地目标设备被认证并授权,以便以可信方式连接到内容基础结构410并利用其服务。推送消费者(或简称为消费者或目的地)可指被指定接收使用内容基础结构410转发和/或传递的信息的实体。另外,主机设备415可为客户端设备420的内容提供者,反之亦然,并且提供者430向提供者435提供内容,反之亦然。

在内容基础结构410的操作的一个示例中,一个或多个服务器计算机提供、调配、管理并且以其他方式操作推送通知服务,以便在提供者430、提供者435、主机设备415、客户端设备420和用户设备425之间传播信息。每一者可与内容基础结构410建立至少一个持久连接(例如,被认可并加密的互联网协议(IP)连接),以经由此持久连接发起和/或接收内容。连接可由身份管理基础结构405认证并授权。

如果内容基础结构410针对与用户的设备相关联的应用程序传递的通知在应用程序未运行时到达,则用户的设备可警示用户有数据在等待该应用程序。内容基础结构410还可提供具有存储并转发功能的默认服务质量部件。如果内容基础结构410尝试传递通知但目标设备离线,则可将通知存储一段有限的时间并且在设备变得可用时将通知传递到设备。在一些实施方案中,为特定应用程序存储所有近期通知。在其他实施方案中,为特定应用程序存储仅一个近期通知。例如,如果在设备离线时发送多个通知,则每个新通知都会致使先前的通知被丢弃。这种仅保持最新通知的行为被称为合并通知。在其他实施方案中,如果设备长时间保持离线,则可丢弃一直为设备存储的任何通知。

3.激励

在某些实施方案中,激励可由内容基础结构410、身份管理基础结构405,或单独的激励管理计算机来管理。通过主机设备共享的数据量可由此类系统识别,并且相关联的激励可发送至主机设备或与主机设备共享身份的其他用户设备。在某些实施方案中,(例知)除共享数据的实际量以外,可针对数据共享的其他方面来提供激励。例如,可提供激励用于打开数据共享,即使客户端设备未使用共享。因此,接收关于主机设备的数据共享的信息且将相关联激励发送至用户的数据库和激励通信系统,可与各种系统集成在一起,以提供用于数据共享的中心管理系统。此类系统可另外与通信管理系统集成,该通信管理系统可管理跨多个主机设备或多个客户端设备的数据共享。

在另外的实施方案中,由特定客户应用程序发起激励,以启用向客户端的特定应用程序进行数据共享。例如,客户端设备可具有社交网络帐户,其包括更新提醒设置以将更新提醒发送至客户端设备。社交网络应用程序的提供者可发起用于特定应用程序的提醒,从而客户端设备可使用数据共享来接收与客户端设备上特定应用程序操作相关联的通信。提供者可支持或创建用于主机设备的激励,并且客户端设备能够接收数据共享,同时不对客户端设备的用户产生费用。在其他实施方案中,广告或用户付款可作为客户端设备的用户的费用与数据共享结合使用。在其他类型的数据被阻断的情况下,可由客户端设备选择与应用程序相关联的特定数据的通信。可在内容基础结构410、主机设备415或客户端设备420处建立这样的阻断。因此,限制网络访问可包括不发送用于一个或多个客户端设备的一个或多个类型的数据。

另选地,由用户的主机设备进行的数据共享可抵消由客户端设备的用户使用的数据共享。在另外的实施方案中,客户端设备可作为购买客户端设备的部分使数据共享相关联。预付费用可作为客户端设备的销售价格的部分而被纳入,以将数据共享的使用期限作为由内容基础结构410管理的主机设备的网络的部分来提供。

4.内容提供者

提供者430和提供者435可在各种实施方案中使用单个服务器计算机系统来实现,或者可包括多个服务器计算机系统、web服务器、应用服务器、网络、互连件等。在各个方面,提供者430和提供者435可提供在主机设备415、客户端设备420和用户设备425上运行的客户端应用程序以及用于提供客户端应用程序可连接的一个或多个服务的服务器应用程序。提供者430和提供者435可设法通知主机设备415、客户端设备420和用户设备425中的一者或多者能够访问的客户端应用程序:信息可供其相应用户使用。

在一个方面,推送提供者是可对被配置为与主机设备415、客户端设备420和用户设备425中的一者或多者上的一个或多个客户端应用程序交互的服务器软件进行维护的软件开发者、公司或组织。提供者430和提供者435可在监测用于其客户端应用程序的传入数据时分别通过持久且安全的信道与内容基础结构410连接。在一些实施方案中,提供者430和提供者435可经由例如使用串流TCP套接字设计以及二进制内容提供高速高容量接口的二进制接口来连接。该二进制接口可为同步或异步的。对于每个接口,TLS(或SSL)可用于建立安全通信信道。

5.设备

主机设备415、客户端设备420和用户设备425可各自被实施为单个设备、单个计算机系统、多个设备或多个计算机系统。在各个方面,虽然为了方便起见,主机设备415、客户端设备420和用户设备425以不同方式标注,但可各自实施为移动设备、可穿戴设备或其他移动设备(例如,膝上型电脑、掌上电脑、移动电话、智能电话、多媒体电话、便携式媒体播放器、GPS装置、移动游戏系统等)。除此之外或作为替代,主机设备415和用户设备425可如上所述那样实施,并且可实施为个人计算机系统、大型机、服务器计算机系统、云服务等。主机设备415、客户端设备420和用户设备425可包括提供通信连接的多种技术。连接技术的一些示例包括有线连接(例如,以太网、光纤、数字用户线路(DSL)等)和无线连接(例如,WiFi、蓝牙、WiMax、6G、4G、LTE等)。

主机设备415、客户端设备420和用户设备425可运行一个或多个提供者(例如,提供者430和435)所提供的一个或多个服务器应用程序通信的多种客户端应用程序。这些客户端应用程序可包括特定于设备的目标功能的应用程序(诸如电话应用程序或GPS应用程序),以及电子邮件客户端、更新/升级客户端、新闻客户端、网页/博客客户端、播客客户端、社交网络客户端或其他类型的客户端应用程序,其中可发送通知消息。这些客户端应用程序可向用户表示使用内容基础结构410接收的一个或多个通知消息。可通过设备的操作系统、图形用户界面工具箱和/或应用程序本身定义的一种或多种方式向用户表示通知。通知的表示的一些实施例包括新的电子邮件指示符、新的新闻条目指示符、新的播客指示符、社交网络朋友的在线状态的变化等。在各种实施方案中,在设备上进行操作的另一个服务可为客户端应用程序处理通知。

主机设备415、客户端设备420和用户设备425可在客户端应用程序初始与内容基础结构410连接以便接收推送通知时接收标识符(或设备令牌)。提供者430和435可连同任何内容或通知消息使用该令牌或包括该令牌,以使得可使用内容基础结构410将所述内容或通知消息恰当地转发回到设备。在各种实施方案中,为了确保信任,提供者在每次与内容基础结构410连接时都会传送令牌。内容基础结构410可解密设备令牌,并且使用身份管理基础结构405验证该令牌是为目的地设备生成的。为了进行验证,内容基础结构410可确保令牌中所包含的设备标识符与在设备向身份管理基础结构405注册时使用的设备证书中的设备标识符相匹配。

6.数据的通信

如图所示,消息(例如,通知)可通过路径445及450从提供者430发送至客户端设备420,其中最终传输是从主机设备415到客户端设备420。例如,提供者430可在与内容基础结构410初始连接后将发送认证安全套接字层(SSL)证书。身份管理基础结构405可认证并授权提供者430作为推送通知的注册且授权的发送者。还可使用额外的用户定义数据配置此SSL证书。身份管理基础结构405可利用额外的用户定义数据来以可信方式识别提供者430。此信息可用于无缝地验证客户端设备420由身份管理基础结构405授权以建立与主机设备415的数据共享连接。在其他实施方案中,也可使用其他安全通信协议(例如,密码协议,诸如传输层安全(TLS)等)。

数据的通信可由从客户端设备420到主机设备415的信标通信发起。此低功率信标通信可由主机设备415接收,并且(例如)在通信包括客户端标识符时,用于验证客户端设备420被授权,以建立数据共享连接。可随后发生至客户端设备420的任何相关联的通信。这种系统可通过阻止客户端设备420不断地使用天线上的功率来监听对主机设备的潜在数据共享连接,来节省客户端设备420处的功率。在其他实施方案中,数据的通信可由从主机设备415到客户端设备420的信标通信发起。主机设备415可周期性地发送信标通信,指示主机设备可用于网络带宽共享。因此,通信可根据用户设置、可用主机设备的密度或其他此类系统参数由客户端设备420或主机设备415来发起。

在一些实施方案中,在提供者430与特定应用程序(例如,电子邮件、Facebook或Twitter)相关联并且在SSL证书内包括额外的识别(例如,用户定义)数据的情况下,身份管理基础结构405不仅可认证提供者430,而且还可利用内容基础结构410为提供者430和应用程序自动调配推送服务。例如,身份管理基础结构405可自动从认证证书提取任何额外的识别数据并且使内容基础结构410将额外识别数据(或数据的一部分)附接到内容(例如,推送通知消息)。在一些实施方案中,额外的识别数据可识别用户可经由内容基础结构410订阅的与提供者430(或提供者430的应用程序)相关联的主题或种子。因此,可利用认证证书中的额外信息来将内容引导到已经订阅该主题/种子或请求关于该主题/种子的信息的设备。以此方式,可自动地为提供者430调配推送服务。此自动调配也可包括针对将为通信提供数据共享的主机设备的用户自动建立激励。

在某些实施方案中,一旦提供者430被信任,内容基础结构410就可从提供者430接收消息。该消息可包括设备令牌。在已经从提供者430接收到消息之后,内容基础结构410确定消息的目的地。在各种实施方案中,目的地可基于连同消息一起发送的设备令牌来确定,该消息可包括关于由主机设备415提供的数据共享连接的信息。在一些实施方案中,不必作为令牌的一部分来发送目的地信息。通过从设备令牌确定或提取目的地,或以其他方式获得内容的目的地信息,内容基础结构410随后可评估从主机设备415的数据共享连接是否在用以结束通信的足量时间内可用,或者其他主机设备是否应该用于完成或验证通信。内容基础结构410可接着将消息路由到目的地客户端设备420,由路径450示出,例如,经由客户端设备420所保持的与内容基础结构410的持久连接。如果目的地“离线”或以其他方式不能被内容基础结构410访问,则可存储内容并可在稍后的时间重试传递。内容基础结构410可将内容路由到单个设备、同时路由到多个设备、或路由到一个设备以传递给另一个设备。

B.通知服务

图5为示例性系统500的框图,该系统可用于促进从主机设备至另一用户的客户端设备的数据共享。系统500可实现图4的身份管理基础结构405和内容基础结构410,或其部分。系统500包括身份服务(IDS)505、推送通知服务(PNS)520和用户设备550。IDS 505包括接口510和身份管理服务器(IMS)515。PNS 520包括提供者接口525、网关530(包括存在信息535)及设备接口540(包括连接信息545)。在各种实施方案中,用户设备550可为可向客户端设备提供数据共享连接的主机设备,或正在经由主机设备通信至PNS 520的客户端设备。如本文所述,包括IDS 505的IDS服务可用于促进用作数据共享中继的主机设备与客户端设备之间的发现,所述客户端设备发送并接收经由主机设备而中继的信息。

接口510可使得实体(例如,主机设备415或提供者430)能够连接(例如,经由网络)以便利用IDS 505所提供的服务。作为认证程序(例如,针对待由主机设备认证的客户端设备)的一部分,实体可将在初始连接后经由接口510接收到的信息(例如,认证证书)发送到IDS 505或发送到由IDS 505(例如,PNS 520)管理的服务、资源或应用程序。身份管理服务器515可将发送该信息的设备、用户或组织认证并授权为经注册并授权的实体。可为设备、用户或组织授权或调配一种或多种类型的服务(例如,呼叫服务、即时消息服务、聊天服务、通知服务等)。为了支持PNS520的安全性模型,可要求实体及其设备拥有某些证书、证书管理机构(CA)证书或令牌。可在建立主机设备与客户端设备之间的数据共享连接之前执行这种认证。

身份管理服务器515还可向设备发布唯一私有密钥和证书,设备使用所述唯一私有密钥和证书来为身份管理服务器515认证其自身并建立与PNS 520的连接。此类密码和证书(或其他认证数据)可由客户端设备提供至主机设备,用于转发至PNS 520或其他服务器。认证数据可被加密,使其对于主机设备来说不可用。设备可在设备激活期间从身份管理服务器515获得认证数据,并将数据存储于设备上的安全存储器中或存储于云服务器中。

客户端设备也可接收用于与特定提供者通信的令牌(例如,推送令牌)。可将此令牌提供至主机设备,接着再进行转发,从而使用于客户端设备的内容可通过主机设备而发送。利用PNS 520的每个客户端应用程序可负责将特定令牌传送到相应的内容提供者。

身份管理服务器515可存储用于验证连接以及提供者和设备的身份的任何必要证书、CA证书和密码密钥(私有和公用)。在该示例中,一旦实体被信任,系统500就可允许实体利用PNS 520所提供的推送通知服务。实体可为希望与PNS 520连接(例如,经由网络)的提供者或其他通知提供者。虽然提供者接口525被示出为链接到网关530,但提供者接口525可并入到网关530或设备接口540中。用户设备在各种实施方案中可以是内容的提供者,也可以是使用PNS 520路由的内容的目的地。

网关530可确定经由提供者接口525或设备接口540接收的内容(例如,推送消息或呼叫消息)的目的地。在各种实施方案中,网关530可基于存在信息535来确定目的地。在一个方面,使用设备的推送令牌保持存在信息535。因此,当在网关530处接收到针对特定推送令牌的推送通知时,网关530可执行查找以确定是否存在与该推送令牌相关联的TCP套接字描述符。套接字描述符可提供传输推送通知所需要的TCP套接字信息和其他联网信息。在各个方面,存在信息535包括被认证实体和其与PNS 520的连接之间的映射。这些连接可由PNS 520用来传递内容、通知等或以其他方式与实体通信。每个映射可指示至少一个实体和该实体的至少一个连接机制,诸如网络套接字连接或其他连接标识符。例如,映射可通过设备令牌识别目的地设备或通过提供者标识符识别提供者。可在每个映射中包括额外信息以便促进与实体的设备的通信。

设备接口540可允许在设备接口540连接到用户设备550时生成存在信息535。用户设备550可在建立连接时向PNS 520断言其存在。然后,设备接口540可在连接信息545中生成设备/连接映射。设备接口540可将连接信息545反向传播到网关530,从而允许网关530在存在信息535中生成设备/连接映射。

在各种实施方案中,想要经由PNS 520接收内容的设备可在与设备接口540形成初始连接后发送认证信息或直接向IDS 505发送认证信息。身份管理服务器515可直接或间接地接收认证信息,接着将设备或其关联用户或组织认证并授权为经注册并授权的实体。一旦设备被信任,便告知PNS520并且PNS 520此后管理在设备与PNS 520之间所作的任何连接(诸如在连接信息545中的与设备接口540的连接)。连接信息545中的在设备接口540处可得的设备信息可被周期性地反向传播到网关530以生成或更新存在信息535。

当设备初始与PNS 520连接时,PNS 520可对设备进行调配。出于各种原因,设备可失去它们与设备接口540的连接。例如,连接可由于丢失蜂窝信号或Wi-Fi信号、缺失电力而丢失,或因为客户端设备或主机设备已改变地理位置而使得客户端设备与主机设备之间的连接丢失。

当用户设备550尝试重新连接至PNS 520(例如,经由主机设备连接的客户端设备)时,用户设备550可与设备接口540连接。根据一个示例,当网关530从提供者接口525接收内容时,网关530基于存在信息535中的映射将从提供者接口525接收的内容转发到设备接口540。设备接口540可将从网关530接收的内容传递到用户设备550,在连接信息545中将保存该用户设备的关于连接的信息。

从网关530接收到内容后,设备接口540可在连接信息545中执行查找或以其他方式查询其设备连接,并将从网关530接收的内容发送到恰当设备,例如,经由与用户设备550相关联的连接。在一个方面,设备接口540检查与待传递的内容相关联的设备令牌,并且确定是否在设备令牌与设备接口540在连接信息545中管理的连接之间找到匹配。设备接口540可使用由具有给定设备令牌的设备建立的连接传递内容。

III.用于数据共享的方法

可通过主机设备执行各种方法以提供数据共享。例如,主机设备可在共享网络带宽之前利用服务器执行客户端设备的认证。又如,主机设备可指定用于共享网络带宽的各种限制,例如,共享的最大带宽、共享受限制的电池电平及部分I(C)中所述的其他示例。也可通过客户端设备执行方法,以便经由主机设备获得数据。例如,客户端设备可(例如)经由通过主机设备的消息用服务器执行主机设备的认证。还可通过服务器(例如,身份管理服务器)执行方法,以启用并监视数据共享。例如,服务器可确定由主机设备提供的共享量,并提供激励给主机设备的用户。

A.带有认证的主机设备

图6为示出了主机设备在与客户端设备共享网络带宽之前认证客户端设备的示例性方法600的流程图。主机设备可与第一用户相关联,并且客户端设备可与不同于第一用户的第二用户相关联。方法600和本文所述的其他方法可在主机设备上执行,这种主机设备可包括用于向网络进行通信的第一无线接口、用于向客户端设备进行通信的第二无线接口、存储器、输入模块、输出显示器及耦接至第一无线接口和第二无线接口、耦接至存储器并且耦接至输入模块的处理器。

在框602处,主机设备经由输入模块接收共享输入,该共享输入指定用于主机设备以提供对与第一用户不相关联的客户端设备的网络访问的一个或多个共享参数。此类输入模块可通过显示用户界面(诸如图3的用户界面300)及接收启用网络共享的用户输入来运行。可提供各种参数,例如部分I(C)中所描述的那些。在一些实施方案中,共享输入可仅指定待提供的共享。如果用户未指定任何其他参数,则可针对其他设置自动使用预设参数。

在框604处,在接收共享输入之后,主机设备从客户端设备接收网络访问请求。该请求可包括识别客户端设备的客户端标识符。客户端标识符的示例包括由认证服务器指定的任何唯一值、媒体访问控制地址(MAC地址)、一个或多个序列号等。

在某些实施方案中,该网络访问请求可以是更复杂握手过程的一部分,以确保客户端设备和主机设备两者处的安全性。作为这类过程的一部分,每个设备可包括嵌入式安全性作为对抗未授权访问的第一层级保护。客户端设备可从认证服务器(例如,IDS 505和身份管理基础结构405)获得客户端标识符。

在框606处,客户端标识符被发送至认证服务器。此类认证服务器可作为身份服务系统(例如,针对图4和图5所述的身份服务系统)的部分运行。认证服务器可使用客户端标识符来访问数据库表格,该数据库表格包括已注册用于数据共享的客户端设备。如果发现与客户端标识符匹配,则认证服务器可指示客户端设备是注册用于数据共享的。

因此,主机设备可使用客户端标识符和认证服务器来确保网络访问未被随意提供至任何设备。此外,如果需要调查主机设备和客户端设备之间的数据共享连接的不恰当使用情况,认证服务器可追踪哪些客户端设备已使用了哪些主机设备。另外,在某些实施方案中,也可发送主机标识符以验证主机是安全的并且被授权与客户端设备共享数据。

在框608处,主机设备从认证服务器接收认证响应。认证响应可提供指示,指明客户端设备向认证服务器注册,用于获得网络访问。在某些实施方案中,也可进行客户与主机设备之间的额外安全通信以启用安全共享。例如,客户端设备可需要提供认证凭证(例如,令牌或密码),其可以是加密的。此类认证凭证可不同于用户可使用来访问网站的任何信息,并且可在客户端设备注册时由认证服务器提供。认证凭证可周期性地更新以确保安全。

尽管在某些实施方案中令牌或密码可用作客户端标识符,但在其他实施方案中,令牌或标识符(或其他认证凭证)可对客户端标识符进行补充。在此类实施方案中,认证服务器可将认证凭证和客户端标识符一起存储,并检查所接收数据是否符合两个存储值,之后向主机设备发送确认性响应,说明客户端设备是否向认证服务器注册。如果客户端标识符和/或任何认证凭证(如果提供)不匹配,则可向主机设备提供否定响应。

在一些实施方案中,主机设备可从认证服务器或激励服务器接受其他响应,激励服务器和认证服务器可以是同一个服务器。例如,认证服务器可提供能影响一个或多个共享参数实施的任何测量。例如,认证服务器可提供对主机设备数据使用的当前测量,其可激发主机设备限制为其他用户的客户端设备提供网络访问。主机设备也可测量这样的数据使用。

在另一个实施方案中,认证服务器可提供关于激励的任何信息(例如激励的费用),这可导致主机设备根据规则限制网络访问。在一个实施方案中,用户可制定规则(例如,通过一个或多个共享参数),其规定只有共享数据的交换率至少与一个指定的账户信用额度相对应时,才可提供网络访问。该规则可在一定量的数据已被传输后使用,例如可提供更多宽带访问,但只在信用额度足够高时适用。在另一个实施方案中,当电池电平下降到特定值时,只有激励增加(例如每个共享数据获得的信用额度),主机设备才可向用户设备提供网络访问。在一些实施方案中,客户端设备可同意在账户中扣除特定价格,或在账户中扣除一定量的数据,并提供给主机设备。

在框610处,主机设备可根据认证响应,对客户端设备提供网络访问。例如,一旦认证服务器对客户端设备做出认证,并发送确认性认证响应,主机设备就可开始允许网络访问。网络访问可通过将数据经由第二无线接口在客户端设备间进行通信,并通过第一无线接口使数据与网络通信来提供。

如果当前有多个客户端设备从单个主机设备共享带宽,则主机设备可执行负载平衡,使共享网络资源对每个客户端设备可用。同样地,就可能的共享带宽而言,如果单个客户端设备已与多个主机通信,则可能出现附加通信使其他主机获知共享连接已建立。另外,随着共享通信的进行,如果主机设备和客户端设备相向移动,就主机设备间可能的通信切换而言,可能出现附加辅助通信。类似地,如果主机设备的用户调整主机设备的共享设置或共享限制,则主机和客户端可有序地沟通并终止共享连接。

B.具有资源阈值的主机设备

图7为示出了指定用于主机设备提供对客户端设备的网络通信的共享参数的示例性方法700的流程图。主机设备可与第一用户相关联,并且客户端设备可与不同于第一用户的第二用户相关联。在一些实施方案中,方法700可在主机设备上执行,这种主机设备包括用于向网络进行通信的第一无线接口,和用于向客户端设备进行通信的第二无线接口。

在框702处,主机设备显示器提供包含共享参数的用户界面,该共享参数控制主机设备向与第一用户不相关联的客户端设备提供网络访问。用户界面可按多种方式提供,例如在显示器上提供或经由语音命令提供。共享参数可对应于与向客户端设备提供网络访问相关联的资源使用。图3的电池限制和带宽限制即为此类与相应的资源使用相关联的共享数据的示例。

在框704处,用户界面接收指定资源使用阈值的共享输入。该阈值可控制主机设备何时向与第一用户不相关联的客户端设备提供网络访问,和/或主机设备何时不向与第一用户不相关联的客户端设备提供网络访问。例如,用户可规定阈值带宽,低于该阈值带宽时,共享是允许的;并可规定电量限制,低于该电量限制时,共享是受限的(例如减少或停止)。

在框706处,主机设备可向客户端设备提供网络访问。网络访问可按方法600提供,或部分地按方法600所述的那样提供。例如,网络共享可在框610中进行。可根据阈值和主机设备的当前资源使用来作出是否提供网络访问的确定。如果当前资源使用不违反阈值,则可以提供网络访问。

在框708处,与向客户端设备提供网络访问相关联的资源使用可受到监控。监控可在主机设备或服务器处完成。例如,主机设备可确定电池电平和/或使用中的带宽。例如,监控可周期性的时间进行,或响应于激发而进行。如果资源使用对应于网络通信数据量,则处理器可跟踪该数据量。在其他实施方案中,服务器可跟踪由其确定的其他值。

在框710处,确定与向客户端设备提供网络访问相关联的资源使用已超过阈值。例如,主机设备可周期性地检查资源使用,并将其与阈值进行比较。又如,服务器可进行周期性地监控,检查资源使用并将其与阈值进行比较。服务器可向主机设备发送消息,指示已超过阈值。

资源使用超出阈值既可以是低于阈值,也可以是高于阈值,是低于还是高于这取决于相关的资源使用类型。例如,带宽使用超出阈值会造成共享受限,而电量使用低于阈值水平会造成共享受限。

在框712处,基于资源使用超出阈值这一确定,主机设备可限制对用户设备的网络访问。该限制可包括完全停止或部分减少。该限制可包括其他形式,诸如数据类型(例如数据优先级,或数据是信息还是媒体)。减少的量可由用户指定。资源使用超出阈值既可以是高于阈值(例如带宽),也可以是低于阈值(例如电量)。

在一些实施方案中,超过第一阈值后,可选择资源使用的后续阈值。例如,可在第一阈值(例如第一电量限制)处对共享做出定量减少(例如,减少可用带宽)。后续阈值可在超过该后续阈值时用于进行进一步减少。当阈值与电池电平有关时,可用带宽可随电池电平降低而降低。因此,用于提供网络访问的电池用量可随电量降低而降低。

C.客户端设备

图8为示出了根据本发明实施方案的示例性方法800的流程图,该方法使用与第二用户相关联的客户端设备经由与不同于第二用户的第一用户相关联的主机设备来访问网络。方法800可以在包括处理器、存储器、输入设备和无线接口的客户端设备上执行。

在框810处,客户端设备经由无线接口,与第一用户相关联的主机设备建立网络共享通信链路。一旦与具有对网络的访问的主机设备建立起链路,该网络共享链路就可允许客户端设备与网络进行数据通信。该链路可采用任何合适的无线协议,包括蓝牙或WiFi。客户端设备可向主机设备发送信标通信(例如蓝牙信标),作为数据共享请求以建立网络共享通信链路。根据此实施方案建立网络共享通信链路可能包括下述步骤。

在框812处,可从客户端设备向主机设备发送与客户端设备关联的客户标识符。客户端标识符可如本文所述。例如,客户端标识符可能在客户端设备向认证服务器注册时从认证服务器接收。客户端标识符可在网络访问请求中发送。响应于此类请求,主机设备可向认证服务器发送客户端标识符。

在框814处,客户端设备可从主机设备接收主机设备可用于网络共享通信链路的指示。关于主机设备是否可用的确定是基于多种因素做出的,诸如主机设备是否连接至网络,主机设备的资源利用量(例如主机设备的电池电平和当前带宽),以及主机设备的速度(例如,是否快速移动,或向建立网络共享通信链路的客户端设备反方向移动)。

作为主机设备是否应与客户端设备共享网络访问的确定操作的部分,主机设备可向认证服务器发送客户端标识符,并且接受有关客户端设备是否向认证服务器注册的响应。认证服务器可搜索数据库找出匹配的客户端标识符。因此,客户端标识符可用于确定客户端设备已向认证服务器注册。客户端标识符可被加密(如在客户端与主机之间传送的其他数据那样),使得主机设备不会获得标识符或其他数据。客户端设备和认证服务器可具有共享秘密(例如密钥),其用于客户端标识符和其他数据的加密和解密。该共享秘密可在设备注册时从认证服务器获得,并存储在客户端设备的安全存储区。

在一些实施方案中,用户可将客户端标识符作为共享秘密,用于建立网络共享通信链路。此类客户端标识符一般在其他情况下不可用,因此减少了共享秘密被盗或被主机设备保存的可能性。此类客户端标识符可以未加密状态发送,并且认证服务器可与已知秘密进行比较,以了解客户端得到认证的事实。

在框816处,客户端设备可经由主机设备从认证服务器接收来自认证服务器的认证响应。认证响应提供了指示,其指明主机设备向认证服务器注册,用于获得网络访问。服务器向主机设备发送的认证响应可包括通信标识符,其指定了对应于特定客户端设备的特定网络共享通信链路的认证响应。在一些实施方案中,通信标识符可由主机设备指定,并在认证请求中发送到认证服务器。以这种方式,主机设备可确定向哪个客户端设备发送认证响应。在其他实施方案中,通信标识符可对应于客户端标识符。

在一些实施方案中,可对认证响应加密,使得主机设备无法更改或骗取认证响应。因此,认证响应可被加密,使其对于主机设备来说不可使用。认证响应可包括用于验证认证响应未被篡改的纠错码,如校验和。用于对经由主机设备向认证服务器发送的信息(例如请求)进行加密,或对认证响应进行解密的任何加密数据(例如,密钥),可由客户端设备在注册时获得。认证响应还可包括向客户端设备验证认证服务器的凭证数据,例如客户端设备和认证服务器已知的共享秘密。一旦认证响应解密,客户端设备就可响应于验证该响应的可靠性而比较共享秘密。

在框820处,客户端设备将数据经由网络共享通信链路与网络进行通信。数据可通过无线接口发送到主机设备,再由其将数据转发到网络。数据也可从网络发送到主机设备,之后通过无线接口发送到客户端设备。无线接口的示例可包括各种蓝牙或对等WiFi(例如自组WiFi)。

网络共享通信链路可响应于客户端设备处各种事件而建立。例如,网络共享通信链路可响应于升级请求而建立,该升级请求来自客户端设备的处理器所运行的应用程序。在各种实施方案中,该应用程序可自动创建这种升级请求(例如,根据用户设置一天一次,或自上次网络连接后一次等)或直接响应于用户请求,而向网络发送数据或从网络获得数据。又如,网络共享通信链路可根据由客户端设备的系统设置所确定的周期性地调度同步而建立。例如,用户可希望每30分钟更新一次信息。在各种实施方案中,如果主机设备均不可用,则客户端设备可继续尝试建立网络共享通信链路,延迟特定量的时间,或停止尝试,以期在下次调度同步时进行尝试。

D.服务器

图9为示出了使用服务器计算机来促进主机设备至客户端设备的带宽共享的示例性方法900的流程图。主机设备可与第一用户相关联,并且客户端设备可与不同于第一用户的第二用户相关联。方法900可在包括网络接口、存储器,和耦接至该网络接口和存储器的处理器的服务器计算机上执行。

在框902处,服务器计算机经由网络接口从主机设备接受网络共享通信。网络共享通信包括与第一用户相关联的标识符。该通信可指明主机设备处于数据共享模式。该通信可致使服务器监控数据共享。此类通信可由主机设备响应于数据共享输入(例如数据共享输入310)被打开而发送。在一个示例中,标识符可对应于第一用户的数据共享账户。在一些实施方案中,在接收网络共享通信之前,从与第一用户相关联的用户设备接受激励选择,其中激励基于该激励选择。

在框904处,服务器获得与由主机设备共享的网络资源量相关联的资源值,该主机设备具有一个或多个客户端设备。例如,该资源值可以是共享数据的量,共享带宽的量,或数据共享的总时间,或它们的组合。在一些实施方案中,服务器可通过监控主机设备的网络使用而获得资源值。该资源值可在规定的时间段进行测量,例如按月测量。监控可通过从主机设备或另一服务器请求资源值而不是测量该资源值来执行。

在框906处,服务器将资源值存储在网络共享数据库中。该资源值可与标识符一同存储,例如存储在数据库中。当获得新值或额外的数据共享值时,可更新该资源值。例如,服务器可确定又有10MB(或其他MB或GB的增量)数据被分享,并将其加入资源值的现有总量。

在框908处,服务器可基于资源值来确定激励。激励可为本文所述的任何激励。例如,服务器可确定减少主机设备网络数据使用的月度限制。减少的量可对应于共享的量。可周期性地执行激励的确定,例如,基于当月资源值而按月执行。激励的类型可根据主机设备用户的选择来决定。这种选择可由服务器存储,用于确定激励类型,之后资源值可用于决定激励的额度。

在框910处,服务器将与该激励相关联的信息发送至与标识符相关联的设备。如果主机设备是电话,则信息可发送到主机设备,或第一用户的其他设备,例如不同的计算机设备,包括平板电脑或笔记本电脑。该信息可指示激励的类型和/或激励的值。该信息还可包括其他信息,例如获得其他激励的方式。

IV.主机和客户端设备

图10示出了可与图4的系统100和图5的系统500一起使用或作为这些系统一部分使用以实现上述数据共享的客户端设备和主机设备的其他示例。尽管这些附图示出了两个实施方案,但各种实现方式可包括任何数量的客户端设备、主机设备和可在特定设置中由这些设备支持的不同网络。应当明白,图10所示的系统示出了一个实施方案,并且其他类似实施方案可具有比所示部件更多或更少的部件。其他实施方案还可包括所示部件的不同配置,同时仍属于本文创新的范围内。

图10示出了具有客户端设备1000、主机设备1050和网络1090的一个实施方案。客户端设备1000可以是可通过无线接口访问的任何设备,包括台式计算机、膝上型计算机、智能电话、平板电脑、可穿戴设备(例如,手表、耳机或项链)、联网电器(例如,具有网络功能的冰箱或洗衣机)、媒体播放器、个人数字助理、钥匙圈、门禁卡、多功能设备、游戏系统或任何其他此类客户端设备。如图所示,客户端设备1000包括存储器1004、处理器1002、输入设备1006、显示器1008和无线接口1012。

主机设备1050可为能够以上述多种主机设备向多种客户端设备进行数据分享的类似方式向客户端设备1000提供数据分享的任何通信设备。如图所示,主机设备1050包括处理器1052、存储器1054、输入设备1056、显示器1058、无线接口1062、无线接口1064和基带设备1059。输入设备1056可包括触摸屏或语音命令系统。图3中的用户界面300可由输入设备1056提供。输入设备1056可与显示器1058共享部件。

主机设备的特定实施方案可具有多个通信接口。在一些实施方案中,作为主机设备数据共享的一部分,主机设备可基于第一通信协议而使用一个通信接口与网络通信,并且主机设备可使用与第一通信接口不同的第二通信接口并且基于与第一通信协议不同的第二通信协议与客户端设备通信。此类主机设备的示例可包括智能电话、台式计算机、膝上型计算机和其他此类具有网络功能的计算设备。

客户端设备1000可经由连接1038与主机设备1050通信。类似地,主机设备1050可经由连接1088与网络1090通信。在另外的实施方案中,客户端设备1000还可与包括网络1090在内的一个或多个其他网络建立连接。不同实施方案可使用一个或多个通信协议或技术实现连接1038、连接1088或这些连接的各方面,包括时分多址(TDMA)、码分多址(CDMA)、全球移动通信系统(GSM)、增强型数据GSM环境(EDGE)、宽带码分多址(W-CDMA)、长期演进(LTE)、高级LTE、WiFi(诸如IEEE 802.11a、IEEE 802.11b、IEEE 802.11g和/或IEEE 802.11n)、蓝牙、Wi-MAX、互联网协议语音(VoIP)、近场通信协议(NFC)、用于电子邮件、即时消息和/或短消息服务(SMS)的协议、或任何其他合适的通信协议,包括截至本文献的提交日期尚未开发的通信协议。主机或客户端设备可包括无线电路作为无线接口的一部分,诸如无线接口1012、无线接口1062和无线接口1064,其可依据通信所需的射程经由若干不同类型的无线网络进行通信。例如,短程无线收发器(例如,蓝牙)、中程无线收发器(例如,WiFi)和/或远程无线收发器(例如,GSM/GPRS、UMTS、CDMA2000 1x/EV-DO和LTE/LTE-Advanced)可根据通信类型或通信的范围来使用。

具体地讲,连接1038可在某些实施方案中在无线接口1012与无线接口1062之间直接实现为对等(P2P)无线连接。在其他实施方案中,连接1038可包括多个额外设备和子连接,包括多个接入点、网络路由连接和通信服务器。

可与无线接口诸如无线接口1012、1062和1064一起使用无线电路,以经由无线连接诸如连接发送和接收信息。本文所述的任何设备可额外包括常规电路,诸如天线系统、RF收发器、一个或多个放大器、调谐器、一个或多个振荡器、数字信号处理器、CODEC芯片组、存储器等,以启用如本文所述的各种无线连接。

无线电路可经由外围设备接口耦接到处理器诸如处理器1002和处理器1052。由无线电路接收的语音和数据信息可经由外围设备接口发送到一个或多个处理器。一个或多个处理器诸如处理器1002和1052可被配置为针对存储在设备的存储器上的一个或多个应用程序处理各种数据格式。

处理器1002和1052可运行存储在相应存储器1004和1054中的各种软件部件以执行设备1000和1050的各种功能。在一些实施方案中,软件部件包括操作系统、通信模块(或指令集)和其他应用程序(或指令集)。在不同实施方案中,处理器可以是单个集成电路、一组多个集成电路或可用于实现处理功能的任何逻辑硬件。

处理器所执行的操作系统可以是任何合适的操作系统。操作系统可包括用于控制和管理一般系统任务(例如,存储器管理、存储设备控制、电力管理等)的各种程序、指令集、软件部件和/或驱动器,并且有利于各种硬件和软件部件之间的通信。

如本文所述的存储器(包括存储器1004和存储器1054)可以是任何计算机可读介质,并且还可以是能够存储代码和/或数据以供一个或多个处理器或设备部件使用的任何设备或介质。这可包括存储器分级结构,包括高速缓存、主存储器和辅助存储器。可使用RAM(例如SRAM、DRAM、DDRAM)、ROM、闪存、磁存储设备和/或光学存储设备(诸如磁盘驱动器、磁带、CD(光盘)和DVD(数字视频光盘))的任何组合来实现该存储器分级结构。在一些实施方案中,外围设备接口、一个或多个处理器和存储器控制器可在本文所述的任何设备内的单个芯片上实现。在一些其他实施例中,它们可以在独立的芯片上实现。

本文所述的任何设备,诸如主机设备1050和客户端设备1000,还可包括用于向各种硬件部件供电的电力系统。电力系统可包括电源管理系统、一个或多个电源(例如,电池、交流电(AC))、再充电系统、电源故障检测电路、电源转换器或反相器、电源状态指示器(例如,发光二极管(LED))以及通常与移动设备中的发电、电源管理和配电相关联的任何其他部件。

在一些实施方案中,主机设备和/或客户端设备可包括各种传感器。相机可以是传感器的一个示例。此类相机设备连同其他传感器可被视为输入设备作为输入设备1056的一部分。照相机可用于生成AV数据,以用于视频通话,或用于经由通过主机设备提供的数据分享而传送的图片。在一些实施方案中,设备还可包括各种其他传感器。传感器可包括加速度计、罗盘、陀螺仪、压力传感器、音频传感器、光传感器、气压计、麦克风等。传感器可用于实现各种设备决策制定和滤波,诸如用于视频呼叫中的视频图像的模糊补偿,或者用于实现音频滤波以帮助从在一个或多个麦克风处捕捉的音频信息滤出背景噪声。

在一些实施方案中,客户端设备1000或主机设备1050可包括GPS接收器或者其他位置辅助设备或模块。设备可使用卫星导航系统诸如全球定位系统(GPS)来获得定位信息、定时信息、高度或其他导航信息。在操作期间,GPS单元可接收来自绕地球飞行的GPS卫星的信号。GPS单元对信号进行分析以对传送时间和传送距离进行估计。GPS单元可确定移动设备的当前定位(当前位置)。基于这些估计,移动设备可确定位置方位、高度和/或当前速度。位置方位可为地理坐标,诸如纬度和经度信息。其他非GPS位置/运动模块可帮助确定客户端设备1000或主机设备1050的当前位置(例如,坐标或其他地理位置标识符)和运动。除了GPS之外,基于“小区ID”的蜂窝网络定位和基于WiFi网络的WiFi定位技术可用于位置辅助。在一些实施方案中,位置/运动模块可与以上系统一起使用传感器信息来确定主机设备的当前位置。位置信息随后可用于管理数据共享连接,其不仅用于分享数据的当前主机设备,还可用于根据客户端设备的运动而用以进行数据分享的其他主机设备。

处理器1002和处理器1052可执行其相应设备上的一个或多个应用程序,包括但不限于浏览器、地址簿、联系人列表、电子邮件、即时消息、文字处理、键盘仿真、桌面小程序、具有JAVA功能的应用程序、加密、数字权限管理、语音识别、语音复制、音乐播放器(其重放存储在一个或多个文件诸如MP3或AAC文件中的记录音乐)等。所述一个或多个应用程序还可包括用于管理数据共享通信的特定应用程序。

可存在其他模块或指令集,诸如图形模块、时间模块等。例如,图形模块可包括用于在显示器表面上渲染、以动画方式显示和显示图形对象(包括但不限于文本、网页、图标、数字图像、动画等)的各种常规软件部件。在另一个示例中,定时器模块可以是软件定时器。定时器模块还可以硬件的形式实现。时间模块可包括用于任意数量的事件的各种定时器。

包括各种输入设备的I/O子系统可耦接到显示器系统,诸如显示器1008或显示器1058。这些显示器可以是触敏的,并且因此可作为显示器和输入设备进行操作。客户端设备1000的触敏显示器因此可作为输入设备1006和显示器1008进行操作。主机设备1050的触敏显示器可作为显示器1058和输入设备1056进行操作。显示器可在图形用户界面(UI)中向用户呈现视觉输出。视觉输出可包括文本、图形、视频以及它们的任何组合。视觉输出中的一些或所有可对应于用户界面对象。尽管显示器可使用发光二极管(LED)技术、液晶显示器(LCD)技术或发光聚合物显示器(LPD)技术,但在其他实施例中可使用其他显示技术。

在一些实施方案中,I/O子系统可包括显示器和用户输入设备诸如键盘、鼠标和/或触控板作为输入设备1006或输入设备1056的一部分。在一些实施方案中,I/O子系统可包括触敏显示器。触敏显示器还可接受来自用户的基于触觉和/或触感接触的输入。在一些实施例中,触敏显示器形成接受用户输入的触敏表面。触敏显示器/表面(连同任何相关联的模块和/或指令集)检测触敏显示器上的接触(和接触的任何移动或释放),并将检测到的接触转换为与在接触发生时显示在触摸屏上的用户界面对象(例如,一个或多个软键)的交互。在一些实施例中,触敏显示器和用户之间的接触点对应于一个或多个用户的数字。用户可使用诸如触笔、笔、手指等任何合适的物体或附属件接触触敏显示器。触敏显示器表面可使用任何合适的触敏技术检测接触及其任何移动或释放,这些技术包括电容式、电阻式、红外和表面声波技术以及其他接近传感器阵列或用于确定与触摸显示器的一个或多个接触点的其他元件。

此外,特定客户端设备或主机设备的输入设备可耦接到一个或多个其他物理控制设备(未示出),诸如按钮、按键、开关、摇杆按钮、拨号盘、滑动开关、操作杆、LED等,用于控制或执行各种功能,诸如功率控制、扬声器音量控制、电话铃声响度、键盘输入、滚动、保持、菜单、锁屏、清除和结束通信等。在一些实施方案中,除了触摸屏之外,设备还可包括用于激活或去激活特定功能的与屏幕分开的触控板。在一些实施方案中,触控板是设备的触敏区域,该触敏区域与触摸屏不同,其不显示视觉输出。触控板可以是与触敏显示器分开的触敏表面、或者是由该触敏显示器形成的触敏表面的延伸部。

在一些实施方案中,本文所述操作中的一些或全部可使用在用户的移动设备上实施的应用程序来执行。电路、逻辑模块、处理器和/或其他部件可被配置为执行本文所述的各种操作。本领域的技术人员将会理解,根据具体实施,可以通过具体部件的设计、设置、互连和/或编程完成此类配置,并且同样根据具体实施,配置的部件可以针对不同操作是可重新配置的或不是可重新配置的。例如,可编程处理器可通过提供合适的可执行代码来配置;专用逻辑电路可通过适当地连接逻辑门和其他电路元件来配置;等等。

结合本发明的各种特征的计算机程序可在各种计算机可读存储介质上编码;合适的介质包括磁盘或磁带、光学存储介质诸如光盘(CD)或DVD(数字多功能光盘)、闪存存储器等。用程序代码编码的计算机可读存储介质可封装有兼容设备或独立于其他设备提供。此外,可经由符合多种协议的有线光学和/或无线网络(包括互联网)编码和传输程序代码,从而允许例如经由互联网下载进行分发。

除了上文详述的客户端设备(诸如客户端设备1000)以及主机设备(诸如主机设备1050)之外,网络(诸如网络1090)和网络连接(诸如网络连接1038)的各方面还可使用各种设备和设备部件来实现。例如,尽管在某些实施方案中连接1038可以仅为直接在无线接口1012与无线接口1062之间的P2P无线连接,但在其他实施方案中,通信网络(诸如网络1090)可用于实现连接1038。这种连接可包括一个或多个接入点、路由器、服务器计算机、存储设备或用于实现网络连接1038的其他设备。这些设备中的每一者可包括如上文详述的处理器、存储器和输入/输出结构。类似地,除了上文详述的服务器计算机和其他网络基础结构之外,其他网络连接可涉及小区塔、交换网络、包处理设备,其中每一者可包括处理部件、存储器部件和网络接口部件。

图11为示例移动设备1100的框图,该移动设备可以是客户端设备或主机设备。移动设备1100通常包括计算机可读介质1102、处理系统1104、输入/输出(I/O)子系统1106、无线电路1108以及包括扬声器1150和麦克风1152的音频电路1110。这些部件可通过一根或多根通信总线或信号线1103来耦接。设备1100可为任何便携式电子设备,包括手持式计算机、平板电脑、移动电话、膝上型计算机、平板设备、媒体播放器、个人数字助理(PDA)、密钥卡、车钥匙、通行卡、多功能设备、移动电话、便携式游戏设备等,包括这些物品中的两者或更多者的组合。在各种实施方案中,用户设备1000和主机设备1050或任何其他设备、服务器、接入点、网络元件或其他计算机设备或元件可能使用图11中的元件来整体地或部分地实现。

显然,图11所示的架构仅为移动设备1100的架构的一个实例,并且移动设备1100可具有比图示中更多或更少的部件或不同配置的部件。图11中所示的各种部件可以硬件、软件方式或软硬件组合来实现,包括一个或多个信号处理电路和/或专用集成电路。

无线电路1108用于通过无线链路或网络发送和接收信息至一个或多个其他设备的常规电路,诸如天线系统、RF收发器、一个或多个放大器、调谐器、一个或多个振荡器、数字信号处理器、CODEC芯片组、存储器等。无线电路1108可使用例如本文所述的多种协议。

无线电路1108经由外围设备接口1116耦接至处理系统1104。接口1116可包括用于建立并保持外围设备和处理系统1104之间的通信的常规部件。通过无线电路1108所接收的语音和数据信息(例如,在语音识别或语音命令应用程序中)经由外围设备接口1116被发送至一个或多个处理器1118。一个或多个处理器1118可被配置为处理存储在介质1102上的一个或多个应用程序1134的各种数据格式。

外围设备接口1116将设备的输入和输出外围设备耦接至处理器1118和计算机可读介质1102。一个或多个处理器1118经由控制器1120与计算机可读介质1102进行通信。计算机可读介质1102可以是可存储供一个或多个处理器1118使用的代码和/或数据的任何设备或介质。介质1102可包括存储器分级结构,包括高速缓存、主存储器和辅助存储器。

移动设备1100还可包括用于为各种硬件部件供电的电力系统1142。电力系统1142可包括电力管理系统、一个或多个电源(例如,电池、交流电(AC))、再充电系统、电力故障检测电路、功率变换器或逆变器、电源状态指示器(例如,发光二极管(LED))以及通常与移动设备中的电力的生成、管理和分配相关联的任何其他部件。

在一些实施方案中,移动设备1100包括相机1144。在一些实施方案中,移动设备1100包括传感器1146。传感器可包括加速度计、罗盘、陀螺仪、压力传感器、音频传感器、光传感器、气压计等。传感器1146可用于感测位置相关方面,诸如位置的听觉或光签名。

在一些实施例中,移动设备1100可包括GPS接收器,有时被称为GPS单元1148。移动设备可使用卫星导航系统诸如全球定位系统(GPS)来获得定位信息、定时信息、高度或其他导航信息。在操作期间,GPS单元可接收来自绕地球飞行的GPS卫星的信号。GPS单元对信号进行分析以对传送时间和传送距离进行估计。GPS单元可确定移动设备的当前定位(当前位置)。基于这些估计,移动设备可确定位置方位、高度和/或当前速度。位置方位可为地理坐标,诸如纬度和经度信息。

一个或多个处理器1118运行存储在介质1102中的各种软件组件以执行设备1100的各种功能。在一些实施方案中,软件部件包括操作系统1122、通信模块(或指令集)1124、定位模块(或指令集)1126、数据共享模块1128,以及其他应用程序(或指令集)1134,诸如车辆定位应用程序和导航应用程序。

操作系统1122可为任何合适的操作系统,包括iOS、Mac OS、Darwin、RTXC、LINUX、UNIX、OS X、WINDOWS或嵌入式操作系统诸如VxWorks。操作系统可包括用于控制和管理一般系统任务(例如,存储器管理、存储设备控制、电力管理等)的各种程序、指令集、软件部件和/或驱动器,并且有利于各种硬件和软件部件之间的通信。

通信模块1124有利于通过一个或多个外部端口1136或经由无线电路1108与其它设备通信,并且包括用于处理从RF电路1108和/或外部端口1136所接收的数据的各种软件部件。外部端口1136(例如,USB、火线、闪电连接器、60引脚连接器等)适用于通过网络(例如,互联网、无线局域网等)直接地或间接地耦接至其他设备。

定位/运动模块1126可有助于确定移动设备1100的当前位置(例如,坐标或其他地理位置标识符)和运动。现代定位系统包括基于卫星的定位系统诸如全球定位系统(GPS)、基于“小区ID”的蜂窝网络定位和基于Wi-Fi网络的Wi-Fi定位技术。GPS还依赖于多个卫星的可见性来确定位置估计,其可在室内或在“城市峡谷”中不可见(或具有弱信号)。在一些实施方案中,定位/运动模块1126从GPS单元1148接收数据并且分析这些信号以确定移动设备的当前位置。在一些实施方案中,定位/运动模块1126可使用Wi-Fi或蜂窝定位技术确定当前位置。例如,可使用对附近小区站点和/或Wi-Fi接入点的了解并结合对其位置的了解来估计移动设备的位置。识别Wi-Fi或蜂窝式发射器的信息被接收于无线电路1108处并传送到定位/运动模块1126。在一些实施例中,定位模块接收一个或多个发射器ID。在一些实施例中,可将发射器ID的序列与参考数据库(例如,小区ID数据库、Wi-Fi参考数据库)进行比较,该参考数据库将发射器ID映射或关联至对应发射器的位置坐标,并且基于对应发射器的位置坐标来计算移动设备1100的估计的位置坐标。不论使用何种特定定位技术,定位/运动模块1126接收能够从其中得出位置方位的信息、解译该信息、并返回位置信息诸如地理坐标、纬度/经度或其他位置方位数据。

当移动设备1100用作主机设备时,数据共享模块1128可包括图3中的用户界面300。当移动设备1100用作客户端设备时,数据分享模块可包括使用户请求对主机设备的通信链路的机制,或自动尝试与主机设备连接的机制。这种情况下,移动设备1100可向主机设备发送客户端标识符。

位于移动设备上的一个或多个应用程序1134可包括安装在设备1100上的任何应用程序,包括但不限于浏览器、地址簿、联系人列表、电子邮件、即时消息、文字处理、键盘仿真、桌面小程序、支持JAVA的应用程序、加密软件、数字版权管理、语音识别、语音复制、音乐播放器(回放存储在诸如MP3或AAC文件之类的一个或多个文件中的录制音乐),等等。

可存在其他模块或指令集(未示出),诸如图形模块、时间模块等。例如,图形模块可包括用于在显示器表面上渲染、以动画方式显示和显示图形对象(包括但不限于文本、网页、图标、数字图像、动画等)的各种常规软件部件。在另一个示例中,定时器模块可以是软件定时器。定时器模块还可以硬件的形式实现。时间模块可包括用于任意数量的事件的各种定时器。

I/O子系统1106可耦接至显示系统(未示出),该显示系统可以是触敏显示器。显示器在GUI中向用户显示视觉输出。视觉输出可包括文本、图形、视频以及它们的任何组合。视觉输出中的一些或所有可对应于用户界面对象。尽管显示器可使用发光二极管(LED)技术、液晶显示器(LCD)技术或发光聚合物显示器(LPD)技术,但在其他实施例中可使用其他显示技术。

在一些实施例中,I/O子系统1106可包括显示器和诸如键盘、鼠标和/或触控板之类的用户输入设备。在一些实施例中,I/O子系统1106可包括触敏显示器。触敏显示器还可接受来自用户的基于触觉和/或触感接触的输入。在一些实施例中,触敏显示器形成接受用户输入的触敏表面。触敏显示器/表面(连同介质1102中的任何相关联的模块和/或指令集)检测触敏显示器上的接触(和接触的任何移动或释放),并将检测到的接触转换为与用户界面对象的交互,诸如在接触发生时显示在触摸屏上的一个或多个软键。在一些实施例中,触敏显示器和用户之间的接触点对应于一个或多个用户的数字。用户可使用诸如触笔、笔、手指等任何合适的物体或附属件接触触敏显示器。触敏显示器表面可使用任何合适的触敏技术检测接触及其任何移动或释放,这些技术包括电容式、电阻式、红外和表面声波技术以及其他接近传感器阵列或用于确定与触摸显示器的一个或多个接触点的其他元件。

此外,I/O子系统还可耦接至一个或多个其他物理控制设备(未示出),诸如按钮、按键、开关、摇杆按钮、拨号盘、滑动开关、操作杆、LED等,用于控制或执行各种功能诸如功率控制、扬声器音量控制、电话铃声响度、键盘输入、滚动、保持、菜单、锁屏、清除和结束通信等。在一些实施例中,除了触摸屏之外,设备1100还包括用于激活或去激活特定功能的触控板(未示出)。在一些实施方案中,触控板是设备的触敏区域,该触敏区域与触摸屏不同,其不显示视觉输出。触控板可以是与触敏显示器分开的触敏表面、或者是由该触敏显示器形成的触敏表面的延伸部。

在一些实施方案中,本文所述操作中的一些或全部可使用在用户的移动设备上实施的应用程序来执行。电路、逻辑模块、处理器和/或其他部件可被配置为执行本文所述的各种操作。本领域的技术人员将会理解,根据具体实施,可以通过具体部件的设计、设置、互连和/或编程完成此类配置,并且同样根据具体实施,配置的部件可以针对不同操作是可重新配置的或不是可重新配置的。例如,可编程处理器可通过提供合适的可执行代码来配置;专用逻辑电路可通过适当地连接逻辑门和其他电路元件来配置;等等。

结合本发明的各种特征的计算机程序可被编码在各种计算机可读存储介质上;合适的介质包括磁盘或磁带、诸如光盘(CD)或DVD(数字多功能光盘)的光学存储介质、闪存存储器等。可与兼容设备一起封装或与其他设备分开地提供编码有程序代码的计算机可读存储介质。此外,可经由符合多种协议的有线光学和/或无线网络(包括互联网)编码和传输程序代码,从而允许例如经由互联网下载进行分发。

尽管已结合具体实施方案描述了本发明,但应当理解,本发明旨在覆盖以下权利要求范围内的所有修改形式和等同形式。

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