续展对安装在不同的邻近客户端设备上的客户端应用的注册的制作方法

文档序号:13543872阅读:135来源:国知局

背景

1.领域

各实施例涉及续展对安装在不同的邻近客户端设备上的客户端应用的注册。

2.相关技术描述

无线通信系统已经历了数代的发展,包括第一代模拟无线电话服务(1g)、第二代(2g)数字无线电话服务(包括过渡的2.5g和2.75g网络)、以及第三代(3g)高速数据、具有因特网能力的无线服务。目前在用的有许多不同类型的无线通信系统,包括蜂窝以及个人通信服务(pcs)系统。已知蜂窝系统的示例包括蜂窝模拟高级移动电话系统(amps),以及基于码分多址(cdma)、频分多址(fdma)、时分多址(tdma)、tdma的全球移动接入系统(gsm)变型的数字蜂窝系统,以及使用tdma和cdma技术两者的更新的混合数字通信系统。

使用上述通信系统或其他类型的接入网(例如,wifi等)的客户端设备(例如,移动设备,诸如蜂窝电话)通常与一个或多个主机服务器维持对客户端应用的注册。例如,用户可经由他/她的蜂窝电话上的facebook客户端应用、他/她的平板计算机上的facebook客户端应用、他/她的膝上型或台式计算机上的facebook客户端应用、他/她的智能tv上的facebook客户端应用等等向facebook主机服务器登录他/她的facebook帐户。这些客户端应用注册通常是临时的并且要求周期性续展,否则这些客户端应用将被其相应的主机服务器撤销注册。两个或更多个客户端应用维持与同一主机服务器的活跃注册也是可能的。在这种情形中,执行这两个或更多个客户端应用的相应设备将通常需要传送独立的注册续展请求以延长或续展相应客户端应用的注册。

概述

在一实施例中,客户端设备获得与特定客户端应用相关联地注册的客户端设备列表,并随后经由本地通信接口检测所列出的客户端设备是邻近的。这些邻近客户端设备之一被标识为负责发送用于续展它们各自向服务器的应用注册的聚集注册请求消息。在另一实施例中,服务器接收来自客户端设备的针对客户端应用的注册消息,并检测该客户端应用有至少一个其他经注册客户端设备邻近于作出请求的客户端设备。服务器基于该邻近性检测来尝试抢先续展该作出请求的客户端设备和该至少一个其他经注册客户端设备两者的注册。

附图简述

对本发明的各实施例及其许多伴随优点的更完整领会将因其在参考结合附图考虑的以下详细描述时变得更好理解而易于获得,附图仅出于解说目的被给出而不对本发明构成任何限定,并且其中:

图1解说了根据本发明一实施例的无线通信系统的高级系统架构。

图2解说了根据本发明的实施例的用户装备(ue)的示例。

图3解说了根据本发明一实施例的包括配置成执行功能性的逻辑的通信设备。

图4解说了根据本发明一实施例的与给定用户相关联地注册的客户端设备内的应用配置。

图5解说了可针对如图4中所示的相应客户端设备上的给定客户端应用来实现的示例注册规程。

图6解说了用于在执行图5的过程之后续展或延长相应客户端设备上的给定客户端应用的注册的常规机制。

图7解说了根据本发明一实施例的操作客户端设备的过程。

图8解说了根据本发明一实施例的操作服务器的过程。

图9解说了根据本发明一实施例的作为图5的过程的延续的图7和8的过程的示例实现。

图10解说了根据本发明一实施例的操作服务器的过程。

图11解说了根据本发明一实施例的操作客户端设备的过程。

图12解说了根据本发明一实施例的作为图5的过程的延续的图10和11的过程的示例实现。

图13解说了根据本发明一实施例的作为图5的过程的延续的图10和11的过程的另一示例实现。

详细描述

本发明的各方面在以下针对本发明具体实施例的描述和有关附图中被公开。可以设计替换实施例而不会脱离本发明的范围。另外,本发明中众所周知的元素将不被详细描述或将被省去以免湮没本发明的相关细节。

措辞“示例性”和/或“示例”在本文中用于意指“用作示例、实例或解说”。本文描述为“示例性”和/或“示例”的任何实施例不必被解释为优于或胜过其他实施例。同样,术语“本发明的各实施例”并不要求本发明的所有实施例都包括所讨论的特征、优点、或工作模式。

此外,许多实施例是根据将由例如计算设备的元件执行的动作序列来描述的。将认识到,本文描述的各种动作能由专用电路(例如,专用集成电路(asic))、由正被一个或多个处理器执行的程序指令、或由这两者的组合来执行。另外,本文描述的这些动作序列可被认为是完全体现在任何形式的计算机可读存储介质内,其内存储有一经执行就将使相关联的处理器执行本文所描述的功能性的相应计算机指令集。因此,本发明的各种方面可以用数种不同形式来体现,所有这些形式都已被构想落在所要求保护的主题内容的范围内。另外,对于本文描述的每个实施例,任何此类实施例的对应形式可在本文中被描述为例如“配置成执行所描述的动作的逻辑”。

客户端设备(在本文中被称为用户装备(ue))可以是移动的或静止的,并且可以与无线电接入网(ran)通信。如本文所使用的,术语“ue”可以互换地被称为“接入终端”或“at”、“无线设备”、“订户设备”、“订户终端”、“订户站”、“用户终端”或ut、“移动终端”、“移动站”及其各种变型。一般地,ue可以经由ran与核心网通信,并且通过核心网,ue能够与外部网络(诸如因特网)连接。当然,连接到核心网和/或因特网的其他机制对于ue而言也是可能的,诸如通过有线接入网、wifi网络(例如,基于ieee802.11等)等。ue可以通过数种类型设备中的任何设备来实现,包括但不限于pc卡、致密闪存设备、外置或内置调制解调器、无线或有线电话等。ue藉以向ran发送信号的通信链路被称为上行链路信道(例如,反向话务信道、反向控制信道、接入信道等)。ran籍以向ue发送信号的通信链路被称为下行链路或前向链路信道(例如,寻呼信道、控制信道、广播信道、前向话务信道等)。如本文所使用的,术语话务信道(tch)可以指上行链路/反向或下行链路/前向话务信道。

图1解说了根据本发明一实施例的无线通信系统100的高级系统架构。无线通信系统100包含ue1…n。ue1…n可包括蜂窝电话、个人数字助理(pda)、寻呼机、膝上型计算机、台式计算机等。例如,在图1中,ue1…2被解说为蜂窝呼叫电话,ue3…5被解说为蜂窝触摸屏电话或智能电话,而uen被解说为台式计算机或pc。

参照图1,ue1…n被配置成在物理通信接口或层(在图1中被示为空中接口104、106、108)和/或直接有线连接上与接入网(例如,ran120、接入点125等)通信。空中接口104和106可遵循给定的蜂窝通信协议(例如,cdma、evdo、ehrpd、gsm、edge、w-cdma、lte等),而空中接口108可遵循无线ip协议(例如,ieee802.11)。ran120包括通过空中接口(诸如,空中接口104和106)服务ue的多个接入点。ran120中的接入点可被称为接入节点或an、接入点或ap、基站或bs、b节点、演进型b节点等。这些接入点可以是陆地接入点(或地面站)或卫星接入点。ran120被配置成连接到核心网140,核心网140能执行各种各样的功能(包括在由ran120服务的ue与由ran120或完全不同的ran服务的其他ue之间桥接电路交换(cs)呼叫),并且还能中介与外部网络(诸如因特网175)的分组交换(ps)数据的交换。因特网175包括数个路由代理和处理代理(出于方便起见未在图1中示出)。在图1中,uen被示为直接连接到因特网175(即,与核心网140分开,诸如通过wifi或基于802.11的网络的以太网连接)。因特网175可藉此用于经由核心网140在uen与ue1…n之间桥接分组交换数据通信。图1还示出了与ran120分开的接入点125。接入点125可以独立于核心网140地(例如,经由诸如fios之类的光通信系统、线缆调制解调器等)连接到因特网175。空中接口108可通过局部无线连接(诸如在一个示例中是ieee802.11)服务ue4或ue5。uen被示为具有到因特网175的有线连接(诸如到调制解调器或路由器的直接连接)的台式计算机,在一示例中该调制解调器或路由器可对应于接入点125自身(例如,对于具有有线和无线连通性两者的wifi路由器)。

参照图1,应用服务器170被示为连接到因特网175、核心网140、或这两者。应用服务器170可被实现为多个结构上分开的服务器,或者替换地可对应于单个服务器。如下文将更详细地描述的,应用服务器170被配置成针对能经由核心网140和/或因特网175连接到应用服务器170的ue支持一个或多个通信服务(例如,网际协议语音(voip)会话、即按即说(ptt)会话、群通信会话、社交联网服务等)、和/或向ue提供内容(例如,web页面下载)。

图2解说了根据本发明的实施例的ue(即,客户端设备)的示例。参照图2,ue300a被解说为发起呼叫的电话,而ue300b被解说为触摸屏设备(例如,智能电话、平板计算机等)。如图2所示,ue300a的外壳配置有天线305a、显示器310a、至少一个按钮315a(例如,ptt按钮、电源按钮、音量控制按钮等)和小键盘320a以及其他组件,如本领域已知的。同样,ue300b的外壳配置有触摸屏显示器305b、外围按钮310b、315b、320b和325b(例如,电源控制按钮、音量或振动控制按钮、飞行模式切换按钮等)、至少一个前面板按钮330b(例如,home(主界面)按钮等)以及其他组件,如本领域已知的。尽管未被显式地示为ue300b的一部分,但ue300b可包括一个或多个外部天线和/或被构建到ue300b的外壳中的一个或多个集成天线,包括但不限于wifi天线、蜂窝天线、卫星定位系统(sps)天线(例如,全球定位系统(gps)天线),等等。

虽然ue(诸如ue300a和300b)的内部组件可以用不同硬件配置来实施,但在图2中,内部硬件组件的基本高级ue配置被示为平台302。平台302可接收并执行传送自ran120的可能最终来自核心网140、因特网175和/或其他远程服务器和网络(例如应用服务器170、weburl等)的软件应用、数据和/或命令。平台302还可独立地执行本地存储的应用而无需ran交互。平台302可包括收发机306,收发机306可操作地耦合到专用集成电路(asic)308或其他处理器、微处理器、逻辑电路、或其他数据处理设备。asic308或其他处理器执行与无线设备的存储器312中的任何驻留程序相对接的应用编程接口(api)310层。存储器312可包括只读或随机存取存储器(ram和rom)、eeprom、闪存卡、或计算机平台常用的任何存储器。平台302还可包括能存储未在存储器312中活跃地使用的应用以及其他数据的本地数据库314。本地数据库314通常为闪存单元,但也可以是如本领域已知的任何辅助存储设备(诸如磁介质、eeprom、光学介质、带、软盘或硬盘、或诸如此类)。

相应地,本发明的一实施例可包括具有执行本文描述的功能的能力的ue(例如,ue300a、300b等)。如将由本领域技术人员领会的,各种逻辑元件可实施在分立元件、处理器上执行的软件模块、或软件与硬件的任何组合中以实现本文公开的功能性。例如,asic308、存储器312、api310和本地数据库314可以全部协作地用来加载、存储和执行本文公开的各种功能,且用于执行这些功能的逻辑因此可分布在各种元件上。替换地,该功能性可被纳入到一个分立的组件中。因此,图2中的ue300a和300b的特征将仅被视为解说性的,且本发明不限于所解说的特征或布局。

ue300a和/或300b与ran120之间的无线通信可以基于不同的技术,诸如cdma、w-cdma、时分多址(tdma)、频分多址(fdma)、正交频分复用(ofdm)、gsm、或可在无线通信网络或数据通信网络中使用的其他协议。如上文所讨论的以及本领域中已知的,可以使用各种网络和配置来将语音传输和/或数据从ran传送到ue。因此,本文提供的解说并非意图限定本发明的各实施例,而仅仅是帮助描述本发明的各实施例的各方面。

图3解说了包括配置成执行功能性的逻辑的通信设备400。通信设备400可对应于上文提及的通信设备中的任一者,包括但不限于ue300a或300b、ran120的任何组件、核心网140的任何组件,与核心网140和/或因特网175耦合的任何组件(例如,应用服务器170)等。因此,通信设备400可对应于配置成通过图1的无线通信系统100与一个或多个其他实体通信(或促成与一个或多个其他实体的通信)的任何电子设备。

参照图3,通信设备400包括配置成接收和/或传送信息的逻辑405。在一示例中,如果通信设备400对应于无线通信设备(例如,ue300a或300b、ap125、bs、ran120中的b节点或演进型b节点等),则配置成接收和/或传送信息的逻辑405可包括无线通信接口(例如,蓝牙、wifi、2g、cdma、w-cdma、3g、4g、lte等),诸如无线收发机和相关联的硬件(例如,rf天线、调制解调器、调制器和/或解调器等)。在另一示例中,配置成接收和/或传送信息的逻辑405可对应于有线通信接口(例如,串行连接、usb或火线连接、可藉以接入因特网175的以太网连接等)。因此,如果通信设备400对应于某种类型的基于网络的服务器(例如,应用服务器170等),则配置成接收和/或传送信息的逻辑405在一示例中可对应于以太网卡,该以太网卡经由以太网协议将基于网络的服务器连接至其他通信实体。在进一步示例中,配置成接收和/或传送信息的逻辑405可包括传感或测量硬件(例如,加速计、温度传感器、光传感器、用于监视本地rf信号的天线等),通信设备400可藉由该传感或测量硬件来监视其本地环境。配置成接收和/或传送信息的逻辑405还可包括在被执行时准许配置成接收和/或传送信息的逻辑405的相关联硬件执行其接收和/或传送功能的软件。然而,配置成接收和/或传送信息的逻辑405不单单对应于软件,并且配置成接收和/或传送信息的逻辑405至少部分地依赖于硬件来实现其功能性。

参照图3,通信设备400进一步包括配置成处理信息的逻辑410。在一示例中,配置成处理信息的逻辑410可至少包括处理器。可由配置成处理信息的逻辑410执行的处理类型的示例实现包括但不限于执行确定、建立连接、在不同信息选项之间作出选择、执行与数据有关的评价、与耦合至通信设备400的传感器交互以执行测量操作、将信息从一种格式转换为另一种格式(例如,在不同协议之间转换,诸如,.wmv到.avi等),等等。例如,配置成处理信息的逻辑410中所包括的处理器可对应于被设计成执行本文所描述功能的通用处理器、数字信号处理器(dsp)、asic、现场可编程门阵列(fpga)或其他可编程逻辑器件、分立的门或晶体管逻辑、分立的硬件组件、或其任何组合。通用处理器可以是微处理器,但在替换方案中,该处理器可以是任何常规的处理器、控制器、微控制器、或状态机。处理器还可以被实现为计算设备的组合,例如dsp与微处理器的组合、多个微处理器、与dsp核心协同的一个或多个微处理器、或任何其他此类配置。配置成处理信息的逻辑410还可包括在被执行时准许配置成处理信息的逻辑410的相关联硬件执行其处理功能的软件。然而,配置成处理信息的逻辑410不单单对应于软件,并且配置成处理信息的逻辑410至少部分地依赖于硬件来实现其功能性。

参照图3,通信设备400进一步包括配置成存储信息的逻辑415。在一示例中,配置成存储信息的逻辑415可至少包括非瞬态存储器和相关联的硬件(例如,存储器控制器等)。例如,配置成存储信息的逻辑415中所包括的非瞬态存储器可对应于ram存储器、闪存、rom存储器、eprom存储器、eeprom存储器、寄存器、硬盘、可移动盘、cd-rom、或本领域中所知的任何其他形式的存储介质。配置成存储信息的逻辑415还可包括在被执行时准许配置成存储信息的逻辑415的相关联硬件执行其存储功能的软件。然而,配置成存储信息的逻辑415不单单对应于软件,并且配置成存储信息的逻辑415至少部分地依赖于硬件来实现其功能性。

参照图3,通信设备400进一步可任选地包括配置成呈现信息的逻辑420。在一示例中,配置成呈现信息的逻辑420可至少包括输出设备和相关联的硬件。例如,输出设备可包括视频输出设备(例如,显示屏、能承载视频信息的端口,诸如usb、hdmi等)、音频输出设备(例如,扬声器、能承载音频信息的端口,诸如话筒插孔、usb、hdmi等)、振动设备和/或信息可此被格式化以供输出或实际上由通信设备400的用户或操作者输出的任何其他设备。例如,如果通信设备400对应于如图2中示出的ue300a或ue300b,则配置成呈现信息的逻辑420可包括ue300a的显示器310a或ue300b的触摸屏显示器305b。在进一步示例中,对于某些通信设备(诸如不具有本地用户的网络通信设备(例如,网络交换机或路由器、远程服务器(诸如应用服务器170)等))而言,配置成呈现信息的逻辑420可被省略。配置成呈现信息的逻辑420还可包括在被执行时准许配置成呈现信息的逻辑420的相关联硬件执行其呈现功能的软件。然而,配置成呈现信息的逻辑420不单单对应于软件,并且配置成呈现信息的逻辑420至少部分地依赖于硬件来实现其功能性。

参照图3,通信设备400进一步可任选地包括配置成接收本地用户输入的逻辑425。在一示例中,配置成接收本地用户输入的逻辑425可至少包括用户输入设备和相关联的硬件。例如,用户输入设备可包括按钮、触摸屏显示器、键盘、相机、音频输入设备(例如,话筒或可携带音频信息的端口,诸如话筒插孔等)、和/或可用来从通信设备400的用户或操作者接收信息的任何其他设备。例如,如果通信设备400对应于如图2所示的ue300a或ue300b,则配置成接收本地用户输入的逻辑425可包括按键板320a、按钮315a或310b到325b中的任何一个按钮、触摸屏显示器305b等。在进一步示例中,对于某些通信设备(诸如不具有本地用户的网络通信设备(例如,网络交换机或路由器、远程服务器(诸如应用服务器170)等))而言,配置成接收本地用户输入的逻辑425可被省略。配置成接收本地用户输入的逻辑425还可包括在被执行时准许配置成接收本地用户输入的逻辑425的相关联硬件执行其输入接收功能的软件。然而,配置成接收本地用户输入的逻辑425不单单对应于软件,并且配置成接收本地用户输入的逻辑425至少部分地依赖于硬件来实现其功能性。

参照图3,尽管所配置的逻辑405到425在图3中被示出为分开或相异的块,但将领会,相应各个所配置的逻辑藉以执行其功能性的硬件和/或软件可部分交迭。例如,用于促成所配置的逻辑405到425的功能性的任何软件可被存储在与配置成存储信息的逻辑415相关联的非瞬态存储器中,从而所配置的逻辑405到425各自部分地基于由配置成存储信息的逻辑415所存储的软件的操作来执行其功能性(即,在这一情形中为软件执行)。同样地,直接与所配置的逻辑之一相关联的硬件可不时地被其他所配置的逻辑借用或使用。例如,配置成处理信息的逻辑410的处理器可在数据由配置成接收和/或传送信息的逻辑405传送之前将此数据格式化为恰适格式,从而配置成接收和/或传送信息的逻辑405部分地基于与配置成处理信息的逻辑410相关联的硬件(即,处理器)的操作来执行其功能性(即,在这一情形中为数据传输)。

一般而言,除非另外明确声明,如贯穿本公开所使用的短语“配置成…的逻辑”旨在援用至少部分用硬件实现的实施例,而并非旨在映射到独立于硬件的纯软件实现。同样,将领会,各个框中的所配置的逻辑或“配置成……的逻辑”并不限于具体的逻辑门或元件,而是一般地指代执行本文描述的功能性的能力(经由硬件或硬件和软件的组合)。因此,尽管共享措词“逻辑”,但如各个框中所解说的所配置的逻辑或“配置成……的逻辑”不必被实现为逻辑门或逻辑元件。从以下更详细地描述的各实施例的概览中,各个框中的逻辑之间的其他交互或协作将对本领域普通技术人员而言变得清楚。

使用上述通信系统或其他类型的接入网(例如,wifi等)的客户端设备(例如,移动设备,诸如蜂窝电话)通常与一个或多个主机服务器维持对客户端应用的注册。例如,用户可经由他/她的蜂窝电话上的facebook客户端应用、他/她的平板计算机上的facebook客户端应用、他/她的膝上型或台式计算机上的facebook客户端应用、他/她的智能tv上的facebook客户端应用等等向facebook主机服务器登录他/她的facebook帐户。这些客户端应用注册通常是临时的并且要求周期性续展,否则这些客户端应用将被其相应的主机服务器撤销注册。两个或更多个客户端应用维持与同一主机服务器的活跃注册也是可能的。在这种情形中,执行这两个或更多个客户端应用的相应设备将通常需要传送独立的注册续展请求以延长或续展相应客户端应用的注册。

图4解说了根据本发明一实施例的与给定用户(“用户a”)相关联地注册的客户端设备内的应用配置。参照图4,假定用户a控制客户端设备400a(例如,蜂窝电话或手持机)、客户端设备410a(例如,平板计算机)、客户端设备420a(例如,膝上型计算机)以及客户端设备430a(例如,另一蜂窝电话或手持机)。客户端设备400a、410a、420a和430a中的每一者被配置成分别执行客户端应用集合405a、415a、425a和435a。具体而言,相应客户端应用集合405a、415a、425a和435a中的每一集合当中包括客户端应用x(“appx”)。虽然应用x被引述为安装在相应客户端设备上,但实际上可安装应用x的不同版本。例如,客户端应用集合405a和435a当中可包括应用x的手持机版本,客户端应用集合415a当中可包括应用x的平板版本,而客户端应用集合425a当中可包括应用x的膝上型版本。相应地,不同的设备用户接口、形状因子和/或操作系统可能使得应用x的不同版本是必需的。此外,应用x的不同版本可被安装在具有相似配置的设备上(例如,手持机设备1和2具有相同的物理配置并且可各自安装有应用x,但设备2的用户没有在升级被发布时升级应用x,以使得应用x的更高或更新的版本正在设备1上运行,等等)。如以下更详细地讨论的,负责注册应用x的服务器能够将每个应用x实例与用户a相关联,而不管正在进行注册的相应设备处潜在的版本差异。

图5解说了可针对如图4中所示的分别在客户端设备400a和410a上的应用x来实现的示例注册规程。在图5中,假定应用x被配置成由同一主机服务器(“应用服务器170”)所支持并向该主机服务器注册。然而,该假定对于部署在客户端设备400a和/或410a上的其他客户端应用不一定成立。

参照图5,客户端设备400a向应用服务器170传送注册消息(500)。在图5中,500的注册消息被示为经由会话发起协议(sip)注册消息来实现,该sip注册消息包括标识该注册的相关联用户的用户地址、应用x标识符(id)、客户端设备400a上的应用x所使用的ip地址和端口号、客户端设备400a的设备标识符(id)。在一示例中,应用x所使用的端口号可以是应用x所特有的,而应用x所使用的ip地址还可与在客户端设备400a上运行的其他客户端应用共享,从而这些客户端应用可通过其端口号来加以区分。应用服务器可由此使用该ip地址结合应用x的端口号将来自外部设备的消息路由至客户端设备400a上的应用x。在一示例中,应用xid可被实现为将应用x与其他客户端应用区分开的全局唯一性id。在这种情形中,安装有应用x的任何版本的任何其他客户端设备可对应用x使用相同的应用xid,而版本信息可以可任选地经由注册消息的单独字段来指示。在替换示例中,应用xid可包括多个全局唯一性应用xid,每个应用xid与应用x的不同版本相关联(例如,应用x的平板版本可具有第一应用xid,应用x的台式版本可具有第二应用xid,应用x的智能tv版本可具有第三应用xid,依此类推)。在这种情形中,用于经由注册消息来指示版本信息的单独字段不是必需的。另外,设备id可对应于客户端设备400a的全局唯一性标识符(诸如mac地址),其将客户端设备400a与任何其他客户端设备区分开。为便于解释,本申请中通篇描述的注册消息将根据sip来引述sip注册消息,但是将领会,其他实施例可涉及非sip实现。

参照图5,在505,应用服务器170通过基于来自500的sip注册消息的客户端设备400a的ip地址以及应用x的端口号向客户端设备400a上的应用x发送200ok消息来确收(ack)来自500的sip注册消息。另外,响应于来自500的sip注册消息,应用服务器170可任选地认证应用x的sip注册消息(510)。如果来自500的sip注册消息在510得到恰当认证(或者如果认证被跳过),则应用服务器170通过与由用户地址所标识的用户相关联地建立针对应用x的记录来注册应用x,该记录包括(i)应用x的id、(ii)与应用x相关联的ip地址和端口号、以及(iii)与客户端设备400a相关联的设备id(515)。应用服务器170还针对应用x的注册启动期满定时器(520),由此应用服务器170被配置成在应用x的期满定时器期满之际撤销注册应用x。

应用服务器170向客户端设备400a上的应用x发送指示服务可用于应用x的消息(525),并且应用x响应于该服务可用消息而发送ack(530)。在一示例中,服务可用消息525包含认证密钥,其有效直至客户端设备400a上的应用x的当前注册时段期满。在535,应用x启动存活时间(ttl)定时器,其被配置成在正在应用服务器170处为客户端设备400a运行的关于应用x的期满定时器之前期满。应用x的ttl定时器的期满将触发客户端设备400a上的应用x传送另一sip注册消息以用于通过为客户端设备400a重置应用x的期满定时器来续展或延长应用x向应用服务器170的注册。

在稍后某个时间点,客户端设备410a上的应用x向应用服务器传送sip注册消息540,其包括标识该注册的相关联用户的用户地址、应用xid、客户端设备410a上的应用x所使用的ip地址和端口号、以及客户端设备410a的设备id。在545,应用服务器170通过基于来自540的sip注册消息的客户端设备410a的ip地址以及应用x的端口号向客户端设备410a上的应用x发送200ok消息来确收(ack)来自540的sip注册消息。另外,响应于来自540的sip注册消息,应用服务器170可任选地认证应用x的sip注册消息(550)。如果来自540的sip注册消息在550得到恰当认证(或者如果认证被跳过),则应用服务器170通过与由用户地址所标识的用户相关联地建立针对应用x的记录来注册应用x,该记录包括(i)应用x的id、(ii)与应用x相关联的ip地址和端口号、以及(iii)与客户端设备410a相关联的设备id(555)。应用服务器170还针对客户端设备410a上的应用x的注册启动期满定时器(560),由此应用服务器170被配置成在应用x的期满定时器期满之际撤销注册客户端设备410a上的应用x。

应用服务器170向客户端设备410a上的应用x发送指示服务可用于应用x的消息(565),并且应用x响应于该服务可用消息而发送ack(570)。在一示例中,服务可用消息565包含认证密钥,其有效直至客户端设备410a上的应用x的当前注册时段期满。在575,客户端设备410a上的应用x启动ttl定时器,其被配置成在正在应用服务器170处运行的关于应用x的期满定时器之前期满。客户端设备410a上的应用x的ttl定时器的期满将触发客户端设备410a上的应用x传送另一sip注册消息以用于通过重置应用x的期满定时器来续展或延长客户端设备410a上的应用x向应用服务器170的注册。

图6解说了用于在执行图5的过程之后续展或延长客户端设备400a和410a上的应用x的注册的常规机制。参照图6,在575之后的某个点,客户端设备400a确定在535处启动的应用x的ttl定时器已期满(600)。这触发客户端设备400a在605传送另一sip注册消息,其作用于请求应用服务器170延长或续展客户端设备400a的应用x向应用服务器170的注册。应用服务器170用200ok消息来确收(ack)来自605的sip注册消息(610),并且应用服务器170还通过重置或延长应用x的期满定时器来续展对客户端设备400a的应用x的注册(615)。如将领会的,615的操作推后了客户端设备400a上的应用x的注册原本将期满的时间点。应用服务器170通过发送带有经更新认证密钥的服务可用消息来向客户端设备400a上的应用x通知其注册已被续展(620),并且客户端设备400a确收(ack)该服务可用消息(625)。客户端设备400a上的应用x在630重置或重启应用xttl定时器,以使得客户端设备400a将在下一次客户端设备400a上的应用xttl定时器期满时发送另一sip注册消息以用于续展应用x向应用服务器170的注册,依此类推。

参照图6,客户端设备410a确定应用x的ttl定时器已期满(635)。这触发客户端设备410a在640传送另一sip注册消息,其作用于请求应用服务器170延长或续展客户端设备410a的应用x向应用服务器170的注册。应用服务器170用200ok消息来确收(ack)来自640的sip注册消息(645),并且应用服务器170还通过重置或延长应用x的期满定时器来续展对客户端设备410a上的应用x的注册(650)。如将领会的,650的操作推后了客户端设备410a的应用x的注册原本将期满的时间点。应用服务器170通过发送带有经更新认证密钥的服务可用消息来向客户端设备410a上的应用x通知其注册已被续展(655),并且客户端设备410a确收(ack)该服务可用消息(660)。客户端设备410a上的应用x在665重置或重启应用xttl定时器,以使得客户端设备410a将在下一次应用xttl定时器期满时发送另一sip注册消息以用于续展客户端设备410a的应用x向应用服务器170的注册,依此类推。

用户在彼此邻近的多个客户端设备上安装相同的客户端应用正变得越来越常见。例如,特定用户可在家庭环境中的若干邻近客户端设备(诸如家庭环境中的智能tv、蜂窝电话、平板计算机和/或膝上型或台式计算机)上安装了用于流送视频内容的客户端应用(例如,netflix、youtube等)的各种版本。当相同客户端应用的多个版本被安装在邻近客户端设备上时,图6中所示的供每个相应客户端设备上的每个客户端应用独立地从事其自己的注册续展规程的常规办法在资源使用方面可能是浪费的。相应地,本发明的实施例涉及通过将不同的多个邻近客户端设备的注册续展请求合并或聚集成单个传输来减少用于续展安装到多个邻近客户端设备上的给定客户端应用的与同一用户相关联的注册的消息接发量。

图7解说了根据本发明一实施例的操作客户端设备(例如,诸如客户端设备400a、410a、420a或430a)的过程。参照图7,在700,客户端设备获得与给定用户相关联地向服务器注册客户端应用(例如,应用x)的客户端设备列表(例如,每个客户端应用实例在应用服务器处被注册到相同的用户地址)。如本文所使用的,每个所列出的客户端设备被配置成执行的“客户端应用”与相同的底层服务(例如,facebook、netflix等)相关联,但是在版本上可以变化。例如,台式计算机、手持设备和智能tv可各自执行客户端应用的不同版本,但这些设备中的每一者都将在700处获得的列表中被列出。

参照图7,客户端设备经由本地通信接口(例如,对等接口、蓝牙接口、wifi直连接口、lte-d接口等)来检测来自该客户端设备列表中的一个或多个其他客户端设备邻近该客户端设备(705)。例如,在700处获得的客户端设备列表可包括每个所列出的客户端设备的标识信息(例如,设备id,诸如macid、ip地址、ssid等),由此每个所列出的客户端设备预期会在本地通信接口上周期性地广播其相应的标识信息,并且该客户端设备可监视本地通信接口以检测是否有任何所列出的客户端设备是邻近的。同样,该客户端设备也可在本地通信接口上周期性地广播其自己的标识信息以促成所列出的客户端设备处的检测。

如本文所使用的,“本地通信接口”可对应于可在不涉及应用服务器的情况下在不同的客户端设备之间进行桥接的任何通信路径。这包括任何直接(或点对点)通信接口,诸如直接p2p、蓝牙、wifi直连、lte-d等,并且还可包括间接通信接口(诸如由接入点中介的间接p2p等)。本地通信接口由此是可在其上以相对于由应用服务器中介的通信而言更少的开销来进行通信的任何接口,以使得在使用本地通信接口以去往/来自服务器的间接方式中继消息时聚集去往应用服务器的消息在系统资源利用方面提供益处。此外,如本文所使用的术语“邻近”是指两个或更多个客户端设备经由本地通信接口进行通信的预期或实际能力。例如,具有蓝牙能力的两个客户端设备在这两个客户端设备彼此相距5英尺的情况下可被认为是邻近的,即使这两个客户端设备之间当前不存在实际的蓝牙连接(即,依照预期通信能力是邻近的)。同样,具有已建立的lte-d连接的两个客户端设备可依照已建立的lte-d连接被认为是邻近的(即,依照实际通信能力是邻近的)。因此,在物理距离方面构成“邻近”客户端设备的界限可根据接口类型而变化(例如,对于蓝牙为10-30英尺,对于lte-d为几百米等等)。

参照图7,在710,由该客户端设备或在705处检测到的该一个或多个其他客户端设备作出要续展其上安装的相应客户端应用的确定。在一示例中,该确定可触发本地通信接口上的搜索,这导致705的检测,但705的检测也可作为不是由迫近的注册续展规程直接触发的周期性或后台过程而发生。响应于该确定,代替如图6中那样仅传送为一个特定客户端设备上的客户端应用请求注册续展的注册续展请求,该客户端设备和在705处检测到的该一个或多个其他客户端设备进行通信以标识负责发送聚集注册请求消息以用于为该客户端设备和该一个或多个其他客户端设备两者续展该客户端应用向服务器的注册的给定客户端设备(710)。例如,710处的通信可被用于实现基于一个或多个设备选择规则的设备选择协议。例如,这一个或多个设备选择规则可包括选择插入式设备优先于电池供电设备以节省电池功率、选择wifi连接设备优先于蜂窝连接设备以减少蜂窝拥塞、选择关于应用x具有最迫近的ttl定时器期满时间的设备、或其任何组合。

在715,该客户端设备确定该客户端设备是否在710处被标识为负责发送聚集注册请求消息。如果该客户端设备没有在710处被标识为负责发送聚集注册请求消息,则该客户端设备基于另一客户端设备将传送该聚集注册请求消息的预期而避免传送针对应用x的注册续展请求(720)。否则,如果该客户端设备在710处被标识为负责发送聚集注册请求消息,则该客户端设备配置该聚集注册请求消息(725),并随后向应用服务器传送该聚集注册请求消息(730)。如将领会的,减少需要传送应用x注册续展请求的邻近客户端设备的数目限制了物理层干扰和/或相关联网络上的回程拥塞。

图8解说了根据本发明一实施例的操作服务器(例如,诸如应用服务器170)的过程。具体而言,图8解说了结合以上关于图7描述的客户端侧操作来执行的服务器侧操作。

参照图8,在800,服务器将多个不同客户端设备中的每个客户端设备上的客户端应用注册到给定用户。服务器向该多个不同客户端设备中的至少一个客户端设备提供该多个不同客户端设备的列表(805)。例如,服务器可在新客户端设备上针对该给定用户注册该客户端应用期间、或在稍后某个时间点提供805的列表。服务器可每当有客户端设备针对该给定用户注册或撤销注册该客户端应用时、或以周期性方式将经更新列表提供给当前经注册客户端设备。在进一步示例中,服务器自身无需向每个经注册客户端设备传播805的列表。例如,如果两个经注册客户端设备是邻近的且经由本地通信接口(例如,p2p、蓝牙、wifi直连、lte-d等)来连接,则服务器可将该列表提供给这些经注册客户端设备中的一个客户端设备,该客户端设备随后可将该列表中继给其他邻近客户端设备。

在810,响应于805的列表提供,服务器从该多个不同客户端设备中的给定客户端设备接收聚集注册请求消息,该聚集注册请求消息包括(i)要续展该给定客户端设备向服务器作出的对该客户端应用的注册的请求、以及(ii)要为邻近该客户端设备的一个或多个其他客户端设备续展该客户端应用向服务器的一个或多个注册的一个或多个请求。

图9解说了根据本发明一实施例的作为图5的过程的延续相对于图4的客户端设备400a和410a来执行的图7和8的过程的示例实现。在图9的实施例中,假定客户端设备400a和410a彼此邻近。参照图9,应用服务器向客户端设备400a和410a提供为用户a注册了应用x的客户端设备列表(900)(例如,如图7的700或图8的805中那样)。900的提供可在图5的过程之前、之后、或期间发生。

参照图9,在575之后的某个点,客户端设备400a确定在535处启动的应用x的ttl定时器已期满(905)。代替如图6的605处那样传送另一sip注册消息,客户端设备400a使用在900的列表中提供的客户端设备410a的标识信息经由本地通信接口来检测客户端设备410a(910)(例如,如图7的705中那样)。客户端设备400a和410a随后彼此通信以标识哪个客户端设备将负责传送用于续展其各自与服务器的应用x注册两者的聚集注册请求消息(915)(例如,如图7的710中那样)。在图9的实施例中,假定了客户端设备400a被标识为负责客户端设备。

在920(例如,如图7的730或图8的805中那样),客户端设备400a配置并发送聚集注册请求消息,其包括标识该注册的相关联用户的用户地址(“用户地址”)、应用xid(“appxid”)、客户端设备400a的应用x所使用的ip地址和端口号(“ip地址_#1”和“应用x端口_#1”)以及客户端设备410a的应用x所使用的ip地址和端口号(“ip地址_#2”和“应用x端口_#2”)两者、客户端设备400a的设备id(“设备id_#1”)和客户端设备410a的设备id(“设备id_#2”)两者。在925,应用服务器170通过基于来自920的sip注册消息的客户端设备410a的ip地址以及应用x的端口号向客户端设备400a上的应用x发送200ok消息来确收(ack)来自920的sip注册消息。响应于来自920的sip注册消息,应用服务器续展客户端设备400a和410a两者的应用x注册(930和935)。

在图9的实施例中,应用服务器170通过发送带有用于客户端设备400a和410a两者的经更新认证密钥的服务可用消息来向客户端设备400a上的应用x通知针对客户端设备400a和410a两者的应用x注册已被续展(940),并且客户端设备400a确收(ack)该服务可用消息(945)。响应于该服务可用消息,客户端设备400a通过经由本地通信接口将带有用于客户端设备410上的应用x的经更新认证密钥的服务可用消息转发给客户端设备410a来向客户端设备410a上的应用x通知其注册也已被续展(950)。客户端设备400a上的应用x重置或重启应用xttl定时器(955),并且客户端设备410a上的应用x类似地重置或重启其自己的应用xttl定时器(960)。

虽然以上关于图7-9描述的实施例涉及彼此协调以传送请求应用x在不同设备上的多个实例针对同一用户的注册续展的聚集注册请求消息的邻近客户端设备,但是图10-12涉及其中服务器作出其自己的对两个或更多个客户端设备的邻近性检测并随后依照未曾明确请求注册续展的至少一个客户端设备邻近于作出请求的客户端设备来抢先发出针对该至少一个客户端设备的注册续展的场景。

图10解说了根据本发明一实施例的操作服务器(例如,诸如应用服务器170)的过程。参照图10,服务器与给定用户相关联地注册多个不同客户端设备中的每个客户端设备上的客户端应用(例如,应用x)(1000)。在稍后某个时间点,服务器从经注册客户端设备中的一个客户端设备接收要续展对该客户端应用的注册的请求(1005)。不同于以上关于图7-9所讨论的注册续展请求,1005的注册续展请求不是聚集注册请求消息并且仅请求该客户端设备自身上的该客户端应用的注册续展。代替简单地续展作出请求的客户端设备的应用注册,服务器检测该客户端设备邻近于经注册客户端设备中的至少一个其他客户端设备(1010)。1010的检测可用各种方式来执行。例如,服务器可从一个或多个经注册客户端设备接收报告位置信息的位置报告(例如,经注册客户端设备当前连接到的接入点、纬度经度坐标、该客户端设备经由本地通信接口检测到该至少一个其他客户端设备的报告等),服务器评估该位置报告以确定哪些经注册客户端设备彼此邻近。例如,连接到同一接入点的诸客户端设备可被认为的邻近的,基于纬度经度坐标在彼此的阈值距离内的客户端设备可被认为是邻近的,或者经由本地通信接口彼此连接的客户端设备可被认为是邻近的,依此类推。在进一步示例中,1010的检测可在服务器处基于近期注册历史信息来实现。例如,如果从第一客户端设备抵达的先前注册消息是还包括了针对第二客户端设备的集束注册续展请求的聚集注册请求消息,则服务器可假定第一和第二客户端设备仍邻近的阈值时间段。在这种情形中,在1005处在该阈值时间段内从第一或第二客户端设备接收到的另一注册续展消息(聚集的或非聚集的)可经由假定另一方客户端设备仍邻近而触发1010的检测。在进一步示例中,1010的检测可在服务器处基于启发信息来实现。例如,在午夜时,用户通常在睡觉且其各自的设备留在原来的位置至少直至用户苏醒,因此在午夜时处于邻近的任何设备在2am、4am等也很可能是邻近的。在这种场景中,服务器可作出关于邻近性的某些假定,诸如在午夜时被肯定地标识为处于邻近的两个设备简单地被认为在给定时间量里是邻近的(例如,直至用户的预计苏醒,这可基于关于因用户而异的历史方式中的用户苏醒时间的历史信息、或默认用户苏醒时间)。

在1010的检测之后,服务器确定要抢先为被检测为邻近于请求了1000处的应用注册续展的客户端设备的该至少一个其他客户端设备续展该应用注册(1015)。相应地,服务器响应于1015的确定向作出请求的客户端设备传送关于该客户端设备以及该至少一个其他客户端设备两者对该客户端应用的注册已被续展的指示连同任何相关联的认证密钥(1020)。1015的传输充当使作出请求的客户端设备尝试经由本地通信接口将该注册续展通知中继给该至少一个其他客户端设备的隐式或显式指令,如以下将关于图11的1110来讨论的。此时,服务器可以可任选地在为该至少一个其他客户端设备上的该客户端应用续展相关联的注册之前等待关于该客户端设备经由本地通信接口成功地传达了针对该至少一个其他客户端设备的续展指示的指示(1025)。作为1025的替换方案,服务器可续展至少一个其他客户端设备上的该客户端应用的注册,并且如果该客户端设备随后报告注册续展通知失败则可撤销该注册续展。

图11解说了根据本发明一实施例的操作客户端设备(例如,诸如客户端设备400a、410a、420a或430a)的过程。具体而言,图11解说了结合以上关于图10描述的服务器侧操作来执行的客户端侧操作。

参照图11,在1100,客户端设备传送用于续展其向服务器作出的对客户端应用的注册的请求。不同于以上关于图7-9所讨论的注册续展请求,1100的注册续展请求不是聚集注册请求消息。响应于1100的注册续展请求,客户端设备接收关于该客户端设备以及邻近该客户端设备的至少一个其他客户端设备两者对该客户端应用的注册已被续展的指示连同任何相关联的认证密钥(1105)。

在1110,该客户端设备尝试经由本地通信接口向邻近该客户端设备的该至少一个其他客户端设备通知该至少一个其他客户端设备对该客户端应用的注册已被续展。该客户端设备向服务器报告关于1110的尝试是成功还是失败(1115)。

图12解说了根据本发明一实施例的作为图5的过程的延续相对于图4的客户端设备400a和410a来执行的图10和11的过程的示例实现。在图12的实施例中,假定了客户端设备400a和410a彼此邻近。

参照图12,在575之后的某个点,客户端设备400a确定在535处启动的应用x的ttl定时器已期满(1200)。客户端设备400a随后发送请求续展客户端设备400a上的应用x的sip注册消息(1205)(例如,类似于图6的605或图10的1005),并且应用服务器确收(ack)该sip注册消息(1210)。代替简单地续展客户端设备400a的应用x注册,应用服务器检测客户端设备400a邻近于也具有注册到同一用户的应用x的客户端设备410a(1215)(例如,如图10的1010中那样)。应用服务器续展客户端设备400a的应用x注册并重置相关联的应用x期满定时器(1220),并向客户端设备400a传送指示客户端设备400a和410a两者的应用x注册已被续展的服务可用消息连同用于客户端设备400a和410a上的应用x的经更新认证密钥(1225)。客户端设备400a确收(ack)该服务可用消息(1230)并重置其自己的应用xttl定时器(1235)。客户端设备400a尝试向客户端设备410a通知其应用x注册也已被续展,以及提供用于客户端设备410a上的应用x的经更新认证密钥(1240)(例如,如图11的1110中那样)。例如,客户端设备400a可尝试经由本地通信接口将该服务可用消息转发给客户端设备410,如图12中所描绘的。

在图12的实施例中,客户端设备410a确收(ack)来自客户端设备400a的应用x注册续展通知(1245),并重置其应用xttl定时器(1250)。客户端设备400a随后向应用服务器报告成功的应用x注册续展通知(1255),应用服务器续展客户端设备410a的应用x注册并重置相关联的应用x期满定时器(1260)。

图13解说了根据本发明一实施例的作为图5的过程的延续相对于图4的客户端设备400a和410a来执行的图10和11的过程的另一示例实现。图13的过程类似于图12的过程,不同之处在于所捎带的针对应用x的注册续展通知没有成功到达客户端设备410a。类似于图12,在图13的实施例中,假定了客户端设备400a和410a彼此邻近。

参照图13,1300-1340基本上分别对应于图12的1200-1240。在1345,与图12的1245形成对比,客户端设备410a否定确收(nack)来自客户端设备400a的应用x注册续展通知。1345的nack可以是显式nack(例如,从客户端设备410a发送指示1340的传输已失败的实际消息)或隐式nack(例如,客户端设备410a未能在阈值时间段内确收1340的传输)。相应地,客户端设备410a不重置其应用xttl定时器(1350),并且客户端设备400a向应用服务器报告应用x注册续展通知失败(1355),以使得应用服务器不续展客户端设备410a的应用x注册并且不重置相关联的应用x期满定时器(1360)。

本领域技术人员将领会,信息和信号可使用各种不同技术和技艺中的任何一种来表示。例如,贯穿上面描述始终可能被述及的数据、指令、命令、信息、信号、位(比特)、码元、和码片可由电压、电流、电磁波、磁场或磁粒子、光场或光粒子、或其任何组合来表示。

此外,本领域技术人员将领会,结合本文中所公开的实施例描述的各种解说性逻辑块、模块、电路、和算法步骤可被实现为电子硬件、计算机软件、或两者的组合。为清楚地解说硬件与软件的这一可互换性,各种解说性组件、块、模块、电路、以及步骤在上面是以其功能性的形式作一般化描述的。此类功能性是被实现为硬件还是软件取决于具体应用和施加于整体系统的设计约束。技术人员对于每种特定应用可用不同的方式来实现所描述的功能性,但这样的实现决策不应被解读成导致脱离了本发明的范围。

结合本文所公开的实施例描述的各种解说性逻辑框、模块、以及电路可用设计成执行本文中描述的功能的通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或其他可编程逻辑器件、分立的门或晶体管逻辑、分立的硬件组件、或其任何组合来实现或执行。通用处理器可以是微处理器,但在替换方案中,该处理器可以是任何常规的处理器、控制器、微控制器、或状态机。处理器还可以被实现为计算设备的组合,例如dsp与微处理器的组合、多个微处理器、与dsp核心协同的一个或多个微处理器、或任何其他此类配置。

结合本文中所公开的实施例描述的方法、序列和/或算法可直接在硬件中、在由处理器执行的软件模块中、或者在这两者的组合中体现。软件模块可驻留在ram存储器、闪存、rom存储器、eprom存储器、eeprom存储器、寄存器、硬盘、可移动盘、cd-rom或者本领域中所知的任何其他形式的存储介质中。示例性存储介质耦合到处理器以使得该处理器能从/向该存储介质读写信息。在替换方案中,存储介质可以被整合到处理器。处理器和存储介质可驻留在asic中。asic可驻留在用户终端(例如,ue)中。替换地,处理器和存储介质可作为分立组件驻留在用户终端中。

在一个或多个示例性实施例中,所描述的功能可在硬件、软件、固件或其任何组合中实现。如果在软件中实现,则各功能可作为一条或多条指令或代码存储在计算机可读介质上或藉其进行传送。计算机可读介质包括计算机存储介质和通信介质两者,其包括促成计算机程序从一地向另一地转移的任何介质。存储介质可以是能被计算机访问的任何可用介质。作为示例而非限定,此类计算机可读介质可包括ram、rom、eeprom、cd-rom或其他光盘存储、磁盘存储或其他磁存储设备、或能用于携带或存储指令或数据结构形式的期望程序代码且能被计算机访问的任何其他介质。任何连接也被正当地称为计算机可读介质。例如,如果软件是使用同轴电缆、光纤电缆、双绞线、数字订户线(dsl)、或诸如红外、无线电、以及微波之类的无线技术从web网站、服务器、或其他远程源传送而来,则该同轴电缆、光纤电缆、双绞线、dsl、或诸如红外、无线电、以及微波之类的无线技术就被包括在介质的定义之中。如本文中所使用的盘(disk)和碟(disc)包括压缩碟(cd)、激光碟、光碟、数字多用碟(dvd)、软盘和蓝光碟,其中盘(disk)往往以磁的方式再现数据,而碟(disc)用激光以光学方式再现数据。上述的组合应当也被包括在计算机可读介质的范围内。

尽管上述公开示出了本发明的解说性实施例,但是应当注意到,在其中可作出各种更换和改动而不会脱离如所附权利要求定义的本发明的范围。根据本文中所描述的本发明实施例的方法权利要求的功能、步骤和/或动作不必按任何特定次序来执行。此外,尽管本发明的要素可能是以单数来描述或主张权利的,但是复数也是已料想了的,除非显式地声明了限定于单数。

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