通过近距离通信安装应用程序版本的方法和系统与流程

文档序号:14421987阅读:320来源:国知局
通过近距离通信安装应用程序版本的方法和系统与流程

本发明总体涉及设备通信,包括但不限于涉及通过电子设备之间的本地连接传输安装文件在电子设备上安装应用程序。



背景技术:

移动设备已成为越来越重要的工具,通过该工具来访问、下载和消费互联网上的电子内容。

尽管电信技术取得了实质性的进步,但用于在互联网上访问内容的可获得数据速率却仍然有限。另外,除诸如发展中国家等一些地理区域的互联网访问受限外,考虑到移动应用程序的文件大小较大,因此,客户往往无法下载应用程序并且因此在使用移动设备时常觉沮丧。



技术实现要素:

因此,需要通过电子设备之间建立的本地连接传输安装文件来在电子设备上安装更新后的应用程序的方法、设备和系统。通过利用近距离通信协议(例如,蓝牙或wifi直连)在设备之间建立本地连接,从而使不能建立互联网连接或互联网连接慢的设备可从附近连接的设备接收到安装文件。如此,设备可以对因互联网连接不良或缺乏互联网连接而不可访问的应用程序进行安装或更新。可选地,这些方法、设备和系统补充或替代了用于在电子设备上安装和更新应用程序的传统方法。

根据一些实施例,一种方法在具有一个或多个处理器以及存储有通过该一个或多个处理器执行的指令的存储器的第一电子设备(例如,客户端设备)处执行。该方法包括:在存储器中存储第一版的应用程序的一个或多个安装文件。与第二电子设备建立本地连接,该本地连接独立于互联网连接。该方法包括:利用本地连接确定第一版的应用程序是否安装在第二电子设备上。响应于确定在第二电子设备上未安装第一版的应用程序,第一电子设备通过本地连接向第二电子设备发送第一版的应用程序的一个或多个安装文件。

根据一些实施例,一种电子设备(例如,客户端设备)包括一个或多个处理器、存储器以及一个或多个程序;一个或多个处理器存储在存储器中并且被配置为通过该一个或多个处理器来执行。一个或多个程序包括用于执行上述方法操作的指令。根据一些实施例,一种非暂态计算机可读存储介质存储有指令,当指令通过电子设备执行时,使电子设备执行上述方法的操作。

因此,为电子设备提供更加有效和高效的用于在电子设备上安装和更新应用程序的方法,从而增加了这些设备的有效性和高效性以及用户对于这种设备的满意度。

所附权利要求中公开的实施例针对一种方法、存储介质、系统和计算机程序产品,其中,在另一权利要求类别(例如,系统)中也可以要求保护在一权利要求类别(例如,方法)中提及的任何特征。仅针对正当理由才选择所附权利要求中的相关性或参考编号。但是,也可要求保护因对之前权利要求深思熟虑的参考所造成的任何标的物(特别地,多重从属关系),从而公开并可要求保护权利要求的任何组合及其特征,而不管在所附权利要求中选择的相关性。可以要求保护的标的物不仅包括在所附权利要求中陈述的特征组合,还包括权利要求中的任何其他特征组合,其中,权利要求中提及的每一特征都可以与权利要求中的任何其他特征或其他特征组合相结合。此外,可以在单独的权利要求和/或在与此处说明或描述的任何其他实施例或特征或所附权利要求特征中的任何一个的组合中要求保护此处说明或描述的实施例和特征中的任何一个。

在一些实施例中,一种方法包括:

在具有一个或多个处理器以及存储有通过该一个或多个处理器执行的指令的存储器的第一电子设备处:

在存储器中存储第一版的应用程序的一个或多个安装文件;

与第二电子设备建立本地连接,本地连接独立于互联网连接;

利用本地连接确定第一版的应用程序是否安装在第二电子设备上;以及

响应于确定在第二电子设备上未安装第一版的应用程序,通过本地连接向第二电子设备发送第一版的应用程序的一个或多个安装文件。

建立本地连接可包括:利用无线通信协议将第一电子设备与第二电子设备进行配对。

建立本地连接可包括:通过个人局域网连接至第二电子设备。

建立本地连接可包括:通过对等网络连接至第二电子设备。

建立本地连接可响应于确定满足互联网连接的拥挤阈值来执行。

建立本地连接可响应于确定第二设备无法建立互联网连接来执行。

在一些实施例中,该方法包括:

确定第一版的应用程序是否安装在第二电子设备上包括:确定在第二电子设备上是否安装早于第一版的应用程序的第二版的应用程序;

确定在第二电子设备上未安装第一版的应用程序即确定在第二电子设备上安装第二版的应用程序;并且

第一版的应用程序的一个或多个安装文件包括更新,该更新用于将第二电子设备上的应用程序从第二版更新至第一版。

在一些实施例中,该方法包括:

确定第一版的应用程序是否安装在第二电子设备上包括:确定在第二电子设备上是否安装任意版应用程序;

确定在第二电子设备上未安装第一版的应用程序即确定无应用程序版本安装在第二电子设备上;并且

第一版的应用程序的一个或多个安装文件包括用于完整安装第一版的应用程序的一个或多个文件。

在一些实施例中,确定第一版的应用程序是否安装在第二电子设备上包括:

通过本地连接向第二电子设备提供软件升级应用程序,以在第二电子设备上进行安装;以及

通过本地连接从第二电子设备上的软件更新应用程序接收第一版的应用程序是否安装在第二电子设备上的指示。

在一些实施例中,该方法进一步包括:在发送一个或多个安装文件之前,在第一电子设备上显示具有在第二电子设备上更新安全设置以安装第一版的应用程序的指令的消息。

在一些实施例中,该方法中,应用程序为用于连接至社交网络服务的应用程序,并且与第一电子设备相关的第一用户为社交网络服务的用户,该方法进一步包括在第一电子设备处:

在第二电子设备上安装第一版的应用程序之后:

通过本地连接从第二电子设备接收对于为第二电子设备相关的第二用户创建社交网络服务账号的请求;以及

通过与本地连接不同的通信信道将请求发送至远程服务器。

在一些实施例中,该方法进一步包括:向远程服务器发送创建账户的请求之后,在第一电子设备上自动显示消息,提示第一用户与第二用户在社交网络服务上关联。

在一些实施例中,其中,应用程序为用于连接至社交网络服务的应用程序,并且与第一电子设备相关的第一用户和与第二电子设备相关的第二用户为社交网络服务的用户,该方法进一步包括在第一电子设备处:

通过与本地连接不同的通信信道从社交网络服务接收针对第二用户的内容;以及

通过本地连接向第二电子设备发送来自社交网络服务的内容,以在第二电子设备上显示。

发送来自社交网络服务的内容可以根据确定第二电子设备无互联网连接来执行。

在一些实施例中,发送第一版的应用程序的一个或多个安装文件包括:

通过本地连接向第二电子设备发送第一多个数据包;

发送第一多个数据包之后,检测与第二电子设备的本地连接的丢失;

与第二电子设备重建本地连接;以及

重建本地连接之后,通过本地连接向第二电子设备发送第二多个数据包。

在一些实施例中,该方法包括:

第一电子设备为第二电子设备的无线通信范围内多个电子设备中的一个;并且

第一电子设备根据确定多个电子设备中其他电子设备上各自的应用程序版本早于第一版的应用程序,发送第一版的应用程序的一个或多个安装文件。

在一些实施例中,该方法包括:

应用程序为第一应用程序;以及

第一电子设备根据确定第一应用程序的优先级取代了第二电子设备上第二应用程序的优先级,发送第一版的应用程序的一个或多个安装文件。

在一些实施例中,该方法进一步包括:确定第一版的应用程序是否与第二电子设备兼容;

其中,通过本地连接向第二电子设备发送一个或多个安装文件进一步响应于确定第一版的应用程序与第二电子设备兼容来执行。

在一些实施例中,一种电子设备包括:

一个或多个处理器;以及

存储有一个或多个程序而通过该一个或多个处理器执行的存储器,该一个或多个程序包括指令用于:

在存储器中存储第一版的应用程序的一个或多个安装文件;

与第二电子设备建立本地连接,本地连接独立于互联网连接;

利用本地连接确定第一版的应用程序是否安装在第二电子设备上;以及

响应于确定在第二电子设备上未安装第一版的应用程序,通过本地连接向第二电子设备发送第一版的应用程序的一个或多个安装文件。

在一些实施例中,一种非暂态计算机可读存储介质存储有通过第一电子设备的一个或多个处理器执行的一个或多个程序;该一个或多个程序包括指令用于:

在存储器中存储第一版的应用程序的一个或多个安装文件;

与第二电子设备建立本地连接,本地连接独立于互联网连接;

利用本地连接确定第一版的应用程序是否安装在第二电子设备上;以及

响应于确定在第二电子设备上未安装第一版的应用程序,通过本地连接向第二电子设备发送第一版的应用程序的一个或多个安装文件。

在一些实施例中,一个或多个计算机可读非暂态存储介质体现了当软件被执行时能操作来执行根据上述实施例中的任何一个的方法。

在一些实施例中,一种系统包括:一个或多个处理器;以及至少一个存储器,该至少一个存储器耦接至处理器并且包括处理器可执行的指令,当处理器执行指令时能操作以执行根据上述实施例中的任何一个的方法。

在一些实施例中,计算机程序产品,优选包括计算机可读非暂态存储介质,当在数据处理系统上被执行时能操作以执行根据上述实施例中的任何一个的方法。

附图说明

为了更好地理解本发明的各种所描述的实施例,应该结合以下附图参考下面的实施例的说明。类似的标号在所有附图和描述中指示对应的部分。

图1a至1c是示出根据一些实施例的网络构架的实例的框图。

图2是示出根据一些实施例的示例性社交网络系统的框图。

图3是示出根据一些实施例的示例性客户端设备的框图。

图4a至4b示出了根据一些实施例的用于便于应用程序安装和用户关联请求的客户端设备上的示例性图形用户接口。

图5a至5b是根据一些实施例的流程图,其示出了利用本地连接安装应用程序版本的方法。

具体实施方式

现在将参考实施例,这些实施例的实例在附图中被示出。在下面的描述中示出了许多具体细节,以便提供对各种所描述的实施例的进行理解。但是,对本领域的普通技术人员将显而易见的是,各种所描述的实施例可以在没有这些具体细节的情况下被实践。在其他情况下,没有详细地描述众所周知的方法、过程、部件、电路和网络,从而不会不必要地使实施例的方面晦涩难懂。

还将理解的是,虽然术语“第一”、“第二”等在此在一些实施例中用来描述各种元素,但是这些元素不应受到这些术语限制。这些术语只是用来将一个元素与另一元素区分开。例如,第一版本可以被命名为第二版本,并且类似地,第二版本可以被命名为第一版本,而不背离各种所描述的实施例的范围。第一版本和第二版本二者都是版本,但是它们不是同一版本。

在此对各种所描述的实施例的描述中所使用的术语只是为了描述特定实施例的目的,而并非旨在进行限制。如在对各种所描述的实施例的描述和所附权利要求书中所使用,单数形式“一个”、“一种”和“所述”旨在也包括复数形式,除非上下文明确地另外指出。也将理解的是,在此所用的术语“和/或"是指并包括相关联的所列出的项目中的一个或多个的任何和所有可能的组合。另外将理解的是,当术语“包括”和/或“包含”在本说明书中使用时,规定了所阐明的特征、整数、步骤、操作、元件和/或部件的存在,但不排除存在或增加一个或多个其他特征、整数、步骤、操作、元件、部件和/或它们的组。

如在此所用,根据上下文,术语“如果”可选地被解释为意思是“当……时”或“在……时”或“响应于确定”或“响应于检测到”或“根据确定……”。类似地,根据上下文,短语“如果确定”或“如果检测到[所陈述的条件或事件]”可选地被解释为意思是“在确定……时”或“响应于确定”或“在检测到[所陈述的条件或事件]时”或“响应于检测到[所陈述的条件或事件]”或“根据确定检测到[所陈述的条件或事件]”。

如在此所用,术语“示例性”在“作为实例、示例、或说明”的意思时使用,并不是“代表其类别中最好”的意思。

图1a至1c是示出根据一些实施例的网络构架的实例的框图。

图1a示出了根据一些实施例的社交网络的网络构架100a。网络构架100a包括通过一个或多个网络106(例如,互联网、蜂窝电话网络、移动数据网络、其他广域网络、局域网、城域网等)通信连接至电子社交网络系统108的许多客户端设备(也称为“客户端系统”、“客户端计算机”或“客户端”)104-1,104-2……104-n。在一些实施例中,一个或多个网络106包括公共通信网络(例如,互联网和/或蜂窝数据网络)、专用通信网络(例如,专用局域网或租用线路)、或这类通信网络的组合。

网络构架100a包括用于将一个或多个客户端设备(例如,104-1和104-3、104-4、104-5……104-p)通信连接在一起的本地连接112。在一些实施例中,多个客户端设备104利用无线通信协议(例如,ieee802.15.4、wi-fi、zigbee、6lowpan、thread、z-wave、蓝牙、isa100.11a、无线hart、miwi、nfc等)通过本地连接112互连。例如,客户端设备104-1和104-3、104-4、104-5……104-p构成个人局域网(pan)(例如,利用蓝牙或zigbee实现)或对等(p2p)网络(例如,利用wifidirect实现)。在一些实施例中,通过本地连接112连接的所有客户端设备104均在彼此的无线通信范围内。在一些实施例中,所有客户端设备104-3、104-4、104-5……104-p均在客户端设备104-1的无线通信范围内,而并不一定是彼此的无线通信范围内。

客户端设备104-3、104-4、104-5……104-p可能(例如,因网络拥塞、手机接收差、相关的用户未订阅网络服务等)无法通过一个或多个网络106直接连接至社交网络系统108。相反,利用本地连接112,这些客户端设备通过客户端设备104-1可以间接访问社交网络系统108;客户端设备104-1通过一个或多个网络106连接至社交网络系统108。因此,客户端设备104-1作为居间设备(有时称为“主机”或“发送”设备);通过该居间设备,客户端设备104-3、104-4、104-5……104-p(有时称为“接收”设备)可以通过一个或多个网络106发送并且检索数据(例如,社交网络系统108提供的应用程序的安装文件)。因此,在一些实施方式中,客户端设备104-1利用本地连接112检索和分享其他客户端设备请求的数据(例如,安装文件)。(可替换地,客户端设备104-1分享在从接收设备接收请求之前先前已下载的文件。)

在一些实施例中,客户端设备104为计算设备,诸如智能手表、个人数字助理、便携式媒体播放器、智能手机、平板电脑、2d游戏设备、3d(例如,虚拟现实)游戏设备、膝上型电脑、台式电脑、嵌入或耦接一个或多个处理器的电视、车载信息系统(例如,提供导航、娱乐和/或其他信息的车内计算机系统)、和/或可用于与社交网络系统108通信的其他适当计算设备。在一些实施例中,社交网络系统108为单台计算设备,诸如计算机服务器;而在其他实施例中,社交网络系统108通过协同工作的多台计算设备来实现,以执行服务器系统的动作(例如,云计算)。

在一些实施例中,客户端设备104与使用客户端设备104以访问社交网络系统108和参与社交网络系统108提供的对应的社交网络服务的用户(未示出)相关联。例如,客户端设备104中的一个或多个执行可用于访问社交网络服务的网页浏览器应用程序。再如,客户端设备104中的一个或多个执行专用于社交网络服务的软件应用程序(例如,在智能手机或平板上运行的社交网络“应用程序”,诸如在iphone、android或windows智能手机或平板上运行的facebook社交网络应用程序)。

与客户端设备104互动的用户可通过发文信息诸如文字评论(例如,更新、公告、回复)、数字照片、视频、音频文件、链接和/或其他电子内容参与社交网络系统108提供的对应的社交网络服务。社交网络服务的用户也可以对社交网络服务的其他用户张贴的信息进行注释(例如,赞成或“点赞”另一用户的发贴,或对另一用户的发贴进行评论)。在一些实施例中,可通过社交网络系统108外部的系统和/或服务代表用户发贴信息。例如,用户可将电影评论发贴至电影评论网站,并且利用适当权限该网站可代表用户跨网页将评论发贴至社交网络系统108。再如,具有适当权限的在移动客户端设备上执行的软件应用程序可使用全球定位系统(gps)或其他地理定位功能(例如,wi-fi或混合定位系统)来确定用户的位置并且利用用户的位置(例如,“在家”、“在工作”、或“在加利福尼亚州旧金山”)来更新社交网络系统108,和/或利用源自和/或基于用户的位置的信息更新社交网络系统108。与客户端设备104互动的用户也可以使用社交网络系统108提供的社交网络服务来定义用户组。与客户端设备104互动的用户也可以使用社交网络系统108提供的社交网络服务来互相通信和协作。

在一些实施例中,网络构架100还包括第三方服务器110-1、110-2……110-m。在一些实施例中,直接或结合社交网络系统108来使用给定的第三方服务器110托管第三方网站,从而向客户端设备104提供网页。在一些实施例中,社交网络系统108使用内联框架(“iframe”)来在用户的社交网络会话中嵌入独立网站。在一些实施例中,直接或结合社交网络系统108来使用给定的第三方服务器管理客户端设备104所使用的第三方应用程序。在一些实施例中,社交网络系统108使用iframe来使第三方开发人员创建单独由第三方服务器110托管的应用程序;但在用户的社交网络会话中操作并且通过社交网络系统108中的用户简档来访问应用程序。示例性的第三方应用程序包括针对书籍、商业、通信、比赛、教育、娱乐、时尚、金融、食品与饮料、游戏、健康与健身、生活方式、本地信息、电影、电视、音乐和音频、新闻、照片、视频、生产力、参考资料、安全、购物、运动、旅游、公共设施等的应用程序。在一些实施例中,直接或结合社交网络系统108来使用给定的第三方服务器110托管客户端设备104所使用的企业系统。在一些实施例中,使用给定的第三方服务器110来提供第三方内容(例如,新闻报道、评论、消息递送等)。

在一些实施例中,社交网络系统110为单台计算设备;而在其他实施例中,给定的第三方服务器110通过协同工作的多台计算设备来实现,以执行服务器系统的动作(例如,云计算)。

图1b示出了根据一些实施例的社交网络的另一网络构架100b。与网络构架100a(图1a)相比,客户端设备104-2直接连接至一个或多个网络106。客户端设备104-2可直接通过一个或多个网络106和/或利用本地连接112间接通过一个或多个网络106访问、传输数据、和/或检索社交网络系统108(或连接至网络106的任意设备、系统或服务器)提供的内容(例如,应用程序的安装文件)。网络构架100b是有利的,例如,在客户端设备104-2至一个或多个网络106的直接连接慢(例如,具有低带宽)、拥堵或以其他方式不切实际或不可用的情形下。

图1c示出了根据一些实施例的网络构架100c,其中,设备通过本地连接112进行互连。如所示,客户端设备(例如,104-1和104-3至104-p)通过本地连接112彼此通信连接(例如,利用蓝牙无线接口、形成个人局域网,或使用无线p2p协议连接)。在网络构架100c中,客户端设备104-1未连接至社交网络系统108(例如,因为其已丢失至一个或多个网络106的连接)。

客户端设备104可基于各种网络拓朴进行互连。例如,在一些实施例中,每个客户端设备(例如,104-1和104-3至104-p)都通过本地连接112连接至其他客户端设备中每一者。在一些实施例中,客户端设备仅连接至网络构架中的一部分其他客户端设备(例如,客户端设备104-1仅连接至客户端设备104-3,并且客户端设备104-3仅连接至客户端设备104-1和104-4)。在一些实施例中,一台客户端设备作为主机设备;利用该主机设备,所有其他客户端设备都可通过本地连接112进行连接(例如,客户端设备104-3至104-p中的每一个都连接至客户端设备104-1,而未连接至任何其他客户端设备);从该主机设备检索内容(例如,安装文件)并且通过该主机设备可发送内容(例如,社交媒体帖子)。在一些实施例中,多个客户端设备一起作为主机设备,从而一个或多个客户端设备可以从主机设备检索内容(例如,客户端设备104-1和104-3向客户端设备104-4发送安装文件的不同部分)。

客户端设备104可利用多种通信协议和接口通过本地连接112进行互连。例如,在一个实施方式中,客户端设备104-1可以利用蓝牙无线接口与客户端设备104-3进行配对,而同时客户端设备104-1又利用nfc无线接口连接至客户端设备104-4。

图2是示出根据一些实施例的示例性社交网络系统108的框图。社交网络系统108典型地包括一个或多个处理单元(处理器或内核)202、一个或多个网络或其他通信接口204、存储器206以及用于互连这些组件的通讯总线208。通讯总线208可选地包括互连和控制系统组件之间通信的电路(有时称为芯片集)。社交网络系统108可选地包括用户接口(未示出)。用户接口如提供时可包括显示设备并且可选地包括输入设备(诸如键盘、鼠标、触控板和/或输入按钮)。可替换地或此外,显示设备包括触敏表面;在这种情况下,显示器为触敏显示器。

存储器206包括高速随机存取存储器,诸如dram、sram、ddrram或其他随机存取固态存储器设备;并且可以包括非易失性存储器,诸如一个或多个磁盘存储设备、光盘存储设备、闪存存储器设备或其他非易失性固态存储设备。存储器206可选地包括远离处理器202定位的一个或多个存储设备。存储器206,或可选地在存储器206中的非易失性存储器包括非暂态计算机可读存储介质。在一些实施例中,存储器206或存储器206的计算机可读存储介质存储有下面程序、模块和数据结构,或其子集或超集:

●操作系统210,其包括用于处理各种基本系统服务并且用于执行硬件相关任务的程序;

●网络通信模块212,其用于将社交网络系统108通过一个或多个通信网络接口204(有线或无线)和一个或多个通信网络(例如,一个或多个网络106)连接至其他计算机;

●社交网络数据库214,用于存储与社交网络相关的数据,比如:

○诸如用户信息218等实体信息216;

○连接信息220;以及

○诸如用户内容224和/或新闻报道226等内容222;

●社交网络服务器模块228,用于提供社交网络服务和相关特征(例如,结合图3客户端设备104上的浏览器模块338或社交网络客户端模块340),其包括:

○登录模块230,用于用户在客户端104登录至社交网络系统108;以及

○内容馈送管理器232,用于提供待发送客户端104以进行显示的内容,其包括:

■内容生成器模块234,用于将对象加入社交网络数据库214,比如图像、视频、音频文件、评论、状态消息、链接、应用程序、和/或其他实体信息216、连接信息220或内容222;以及

■内容选择器模块236,用于选择待发送至客户端104以进行显示的信息/内容;

●搜索模块238,用于使社交网络系统的用户能够在社交网络内搜索内容和其他用户;以及

●安装文件数据库240,用于存储应用程序的安装文件(例如,下载至图1a至1b的客户端设备104并且在客户端设备104上安装),其包括:

○应用程序安装文件242,用于安装应用程序(例如,图3的社交网络客户端模块340、可选的客户端应用程序模块344等),其可包括各个应用程序的若干种版本的安装文件;以及

○软件更新应用程序安装文件244,用于安装应用程序以便于在设备(例如,图3的软件更新应用程序模块348)上安装和/或更新各个应用程序。

社交网络数据库214在一种或多种类型的数据库(比如图形数据库、三维数据库、平面数据库、层次数据库、网络数据库、面向对象数据库、关系数据库、和/或xml数据库内)存储与社交网络相关的数据。

在一些实施例中,社交网络数据库214包括图形数据库,实体信息216表示图形数据库中的节点,并且连接信息220表示图形数据库中的边。图形数据库包括多个节点,以及定义对应节点之间连接的若干条边。在一些实施例中,节点和/或边自身为数据对象;该数据对象包括其对应实体的标识符、属性以及信息;部分数据对象在客户端104对社交网络服务中对应的简档页或其他页面进行了渲染。在一些实施例中,节点还包括针对其他对象的指针或参考、数据结构或资源,以结合与客户端104各自节点相对应的页面的渲染在内容渲染中使用。

实体信息216包括诸如用户简档、登录信息、隐私及其他偏好、传记数据等用户信息218。在一些实施例中,就给定用户而言,用户信息218包括用户姓名、描述图片、联系信息、出生日期、性别、婚姻状况、家庭状况、就业、教育背景、偏好、兴趣、和/或其他人口统计信息。

在一些实施例中,实体信息216包括有关物理位置(例如,餐馆、剧院、地标、城市、州或国家)、不动产或知识产权(例如,雕塑、油画、电影、游戏、歌曲、想法/理念、照片、或书面作品)、商业、人群、和/或商业团体的信息。在一些实施例中,实体信息216包括相关资源比如音频文件、视频文件、数码照片、文本文件、结构性文件(例如,网页)、或应用程序的信息。在一些实施例中,资源位于社交网络系统108(例如,内容222)中或在外部服务器(诸如,第三方服务器110)之上。

在一些实施例中,连接信息220包括有关社交网络数据库214中实体之间关系的信息。在一些实施例中,连接信息220包括相关图形数据库中将节点对相连接的边的信息。在一些实施例中,连接节点对的边表示节点对之间的关系。

在一些实施例中,边包括或表示与节点对之间关系相对应的一个或多个数据对象或属性。例如,当第一用户表明第二用户为第一用户的“好友”时,社交网络系统108将“好友请求”传输至第二用户。当第二用户确认“好友请求”时,社交网络系统108在图形数据库中创建并且存储连接第一用户的用户节点和第二用户的用户节点的边作为连接信息220,从而表明第一用户和第二用户为好友。在一些实施例中,连接信息220表示友谊、家庭关系、商业或雇佣关系、粉丝关系、随从关系、访问者关系、客户关系、上/下级关系、互惠关系、非互惠关系、另一适当类型的关系、或两个或更多个这种关系。

在一些实施例中,用户节点和另一实体节点之间的边表示用户节点的用户针对其他实体节点执行的相关特定动作或活动的连接信息。例如,用户可“点赞”或“加入”、“播放”、“收听”、“烹饪”、“工作”、或“观看”其他节点的实体。与其他节点处实体对应的社交网络服务中的页面可包括,例如可选择的“点赞”、“登记”、或“添加到收藏夹”图标。用户点击这些图标中的一个之后,社交网络系统108可响应于对应的用户动作创建“点赞”边、“登记”边、或“收藏夹”边。再如,用户可利用特定应用程序(例如,在线音乐应用程序)收听特定歌曲。在这种情况下,社交网络系统108可在用户对应的用户节点和歌曲以及应用程序对应的实体节点之间分别创建“已收听”边和“已使用”边,以表明用户已收听该歌曲并且已使用该应用程序。此外,社交网络系统108可在歌曲和应用程序对应的实体节点之间创建“已播放”边,以表明已通过特定应用程序播放特定歌曲。

在一些实施例中,内容222包括文本(例如,ascii、sgml、html)、图像(例如,jpeg、tif和gif)、图形(例如,向量式或位图)、音频、视频(例如,mpeg)、其他多媒体、和/或其组合。在一些实施例中,内容222包括可执行代码(例如,浏览器窗口或框架内可执行的游戏)、播客、链接等。

在一些实施例中,社交网络服务器模块228包括网页或超文本传输协议(http)服务器、文件传送协议(ftp)服务器、以及使用通用网关接口(cgi)脚本、超文本预处理器(php)、动态服务器网页(asp)、超文本标记语言(html)、可扩展标记语言(xml)、java、javascript、异步javascript及xml(ajax)、xhp、javelin、无线全球资源文件(wurfl)等的网页和应用程序。

图3是示出根据一些实施例的示例性客户端设备104的框图。客户端设备104典型地包括一个或多个处理单元(处理器或内核)302、一个或多个网络或其他通信接口304、存储器306以及用于互连这些组件的通讯总线308。通讯总线308可选地包括互连和控制系统组件之间通信的电路(有时称为芯片集)。通信接口304包括有线接口(例如,以太网、通用串行总线(usb)、火线等接口)和/或无线接口(例如,ieee802.15.4、wi-fi、zigbee、6lowpan、thread、z-wave、蓝牙、isa100.11a、无线hart、miwi、nfc等接口)。客户端设备104包括用户接口310。用户接口310典型地包括显示设备312。在一些实施例中,客户端设备104包括输入设备,诸如键盘、鼠标、和/或其他输入按钮316。可选地或此外,在一些实施例中,显示设备312包括触敏表面314;在这种情况下,显示器312为触敏显示器。在具有触敏显示器312的客户端设备中,物理键盘是可选择的(例如,当需要键盘输入时可显示软键盘)。用户接口310还包括音频输出设备318,比如扬声器或连接至扬声器、耳机、或听筒的音频输出连接。此外,一些客户端设备104使用麦克风和语音识别来对键盘进行补充或替换。可选地,客户端设备104包括捕捉音频(例如,来自用户的讲话)的音频输入设备320(例如,麦克风)。可选地,客户端设备104包括位置检测设备322,比如全球定位卫星(gps)或其他地理位置接收器,以确定客户端设备104的位置。可选地,客户端设备104还包括诸如摄像机或网络摄像头等图像/视频捕捉设备324。

存储器306包括高速随机存取存储器,诸如dram、sram、ddrram或其他随机存取固态存储器设备;并且可以包括非易失性存储器,诸如一个或多个磁盘存储设备、光盘存储设备、闪存存储器设备或其他非易失性固态存储设备。存储器306可选地包括远离处理器302定位的一个或多个存储设备。存储器306,或可选地在存储器306中的非易失性存储器包括非暂态计算机可读存储介质。在一些实施例中,存储器306或存储器306的计算机可读存储介质存储有下面程序、模块和数据结构,或其子集或超集:

●操作系统326,其包括用于处理各种基本系统服务并且用于执行硬件相关任务的程序;

●网络通信模块328,其用于将客户端设备104通过一个或多个通信网络接口304(有线或无线)和一个或多个通信网络(比如,互联网、蜂窝电话网络、移动数据网络、其他广域网、局域网、城域网等)连接至其他计算机;

●图像/视频捕捉模块330(例如,摄像机模块),用于对图像/视频捕捉设备324捕捉的各个图像或视频进行处理,其中,可将各个图像或视频发送或流媒体(例如,通过客户端应用程序模块336)至社交网络系统108;

●音频输入模块332(例如,麦克风模块),用于对音频输入设备320捕捉的音频进行处理,其中,可将各个音频发送或流媒体(例如,通过客户端应用程序模块336)至社交网络系统108;

●位置检测模块334(例如,gps、wi-fi、或混合定位模块),用于确定客户端设备104的位置(例如,使用位置检测设备322)并且提供此位置信息以在各种应用程序(例如,社交网络客户端模块340)中使用;以及

●一个或多个客户端应用程序模块336,包括以下模块(或指令集)、或其子集或超集:

○网页浏览器模块338(例如,微软网页浏览器(internetexplorer)、摩斯拉火狐浏览器(firefox)、苹果safari浏览器、或谷歌浏览器(chrome)),用于访问、查看以及与网站(例如社交网络系统108提供的社交网络网站)进行交互;

○社交网络模块340,用于提供至社交网络服务(例如,社交网络系统108提供的社交网络服务)以及相关特征的接口,包括与一个或多个版本的社交网络模块340相对应的安装文件342(例如,图2的应用程序安装文件242);

○其他可选客户端应用程序模块344,比如用于文字处理、日历、映射、天气、股票、工时记录、虚拟数字助理、展示、数据处理(电子表格)、绘图、即时通讯、电子邮件、电话语音、视频会议、照片管理、视频管理、数字音乐播放器、数字视频播放器、2d游戏、3d(例如,虚拟现实)游戏、电子书阅读器、和/或试验支持的应用程序,包括与一个或多个版本的各个可选客户端应用程序模块344相对应的安装文件346(例如,图2的应用程序安装文件242);和/或

○软件更新应用程序模块348,用于方便一个或多个应用程序版本(例如,社交网络模块340)在设备上的安装和/或更新,包括执行兼容性检查以确定各个电子设备可兼容的应用程序版本,其中,软件更新应用程序模块348包括用于安装软件更新应用程序模块348的安装文件350(例如,图2的软件更新应用程序安装文件244)。

上述的模块和应用程序分别与用于执行上述和/或本申请中所述方法(例如,计算机实现方法和此处描述的其他信息处理方法)的一个或多个功能的可执行指令集相对应。这些模块(即,指令集)无需作为单独的软件程序、流程或模块来实现,因此这些模块的各种子集可选地进行组合或以其他方式在各种实施例中重新排列。在一些实施例中,存储器206和/或306存储有上述所识别的模块和数据结构的子集。此外,存储器206和/或306可选地存储有上面未述及的额外的模块和数据结构。

现在将注意力转向图形用户界面(“gui”)和可在客户端设备(例如,图3的客户端设备104)上实现的相关过程的实施例。

图4a至4b示出了根据一些实施例的客户端设备104上的、用于便于应用程序安装和用户关联请求的示例性gui。gui可由网页浏览器(例如,图3的网页浏览器模块338)、用于社交网络服务的应用程序(例如,社交网络模块340)、第三方应用程序(例如,客户端应用程序模块344)、和/或软件更新应用程序(例如,软件更新应用程序模块348)来提供。图4a至4b示出了gui的实例,而在其他实施例中,gui显示了布局上与图4a至4b的实施例不同的用户接口元素。

图4a示出了电子设备(例如,图1a的客户端设备104-1)上显示的消息400-1,其包括用于在一不同电子设备(例如,图1a的客户端设备104-3)上更新安全设置的指令,以实现安装应用程序版本。在一些实施例中,指令为用于更新安全设置以实现安装外部来源(例如,通过本地连接112从其他设备检索的安装文件,比如,图3的社交网络模块340和/或软件更新应用程序模块348)的应用程序的指令。

图4b示出了在发送创建账户的请求之后电子设备(例如,图1a客户端设备104-1)上显示的消息400-2,其提示与电子设备相关的用户与另一电子设备(例如,图1a,与客户端设备104-3相关的用户)的不同用户在社交网络服务上进行关联(成为好友或联系人)。如图所示,图4b中的gui包括可选用户界面元素,从而允许客户端设备104-1的用户发送或拒绝发送请求。

将关于方法500更加详细描述图4a和4b所示的消息显示。

图5a至5b是根据一些实施例的流程图,其示出了利用本地连接(例如,图1a至1c的本地连接112)安装应用程序版本的方法500。方法500由社交网络系统108(或其他服务器系统)、第一电子设备502-1(例如,图1a至1c以及图3的客户端设备104-1)和第二电子设备502-2(例如,图1a至1c以及图3的客户端设备104-3)来执行。图5a至5b中执行的操作与计算机存储器(例如,图3的客户端设备104的存储器306)或其他计算机可读存储介质中存储的指令相对应。

在一些实施例中,社交网络系统108(例如,图1a和图2)将第一版的应用程序的安装文件发送(504)至第一电子设备502-1,该第一电子设备502-1接收自社交网络系统108的安装文件(例如,图2中与图3中社交网络客户端模块340的安装文件342相对应的应用程序安装文件242)。在一些实施例中,第一版的应用程序为最近及最新版应用程序(例如,最新版社交网络客户端模块340)。可选地,在一些实施例中,社交网络系统108将软件更新应用程序的安装文件(例如,图2中与图3中软件更新应用程序模块348的安装文件350相对应的软件更新应用程序安装文件244)发送至第一电子设备502-1(例如,图1a至1c的客户端设备104-1),该第一电子设备502-1接收自社交网络系统108的安装文件。发送安装文件,例如,通过一个或多个网络106(图1a至1b)。

第一电子设备502-1(例如,图3的存储器306)存储(506)自社交网络系统108接收的第一版的应用程序的安装文件并且可选地安装(508)第一版的应用程序。在一些实施例中,第一电子设备502-1还(例如,在图3的存储器306中)存储软件更新应用程序的安装文件并且可选地安装软件更新应用程序。

第一电子设备502-1(例如,图1a至1c的客户端设备104-1)建立(510)与第二电子设备502-2的本地连接(例如,图1a至1b的本地连接112),第二电子设备502-2进而建立与第一电子设备的本地连接。本地连接独立于互联网连接(例如,独立于客户端设备104-1至一个或多个网络106的任何连接)。在一些实施例中,建立本地连接包括利用无线通信协议(例如,蓝牙)将第一电子设备502-1与第二电子设备502-2进行配对。在一些实施例中,建立本地连接包括:通过个人局域网连接至第二电子设备502-2。在一些实施例中,建立本地连接包括:通过对等网络连接至第二电子设备502-2。

在一些实施例中,建立本地连接响应于确定满足互联网连接的拥挤阈值来执行。(诸如发送(518)安装文件等后续操作也可至少部分地响应于此确定来执行。)拥挤阈值包括预定义的最小可用网络带宽(例如,比特/秒)、数据速率、网络延迟、或通过互联网连接使电子设备访问互联网的其他性能度量(例如,测得的图1a网络106的网络带宽)。例如,当预定义的最小网络带宽为100兆比特/秒,并且第二电子设备502-2测得的网络106(图1)的网络带宽为90兆比特/秒时,则满足拥挤阈值并且与附近的另一电子设备建立本地连接(例如,蓝牙)。在一些实施例中,建立本地连接响应于确定测得的本地连接的性能度量(例如,蓝牙数据速率)超过测得的通过互联网连接使电子设备502-1和/或502-2访问互联网的性能度量(例如,通过wi-fi上获得网络带宽)时执行。在一些实施例中,建立本地连接响应于确定第二电子设备502-2无法建立互联网连接(例如,蜂窝数据和/或通过wi-fi至网络106的连接不可用)时执行。

利用本地连接,第一电子设备502-1(或第二电子设备502-2)确定(512)在第二电子设备502-2上是否安装第一版的应用程序。在一些实施例中,确定(512)包括第一电子设备502-1或第二电子设备502-2确定在第二电子设备上是否安装任意版应用程序。例如,第一电子设备502-1可向第二电子设备502-2表明在第一电子设备上安装的应用程序版本或此版应用程序的安装文件在第一电子设备上可用。基于该指示,第二电子设备502-2确定在第二电子设备502-2上是否安装任意版应用程序。可替换地,第二电子设备502-2可向第一电子设备502-1表明(例如,通过提供所有已安装应用程序的列表)在第二电子设备502-2上安装的应用程序版本。

在一些实施例中,确定(512)包括第一电子设备502-1或第二电子设备502-2确定在第二电子设备502-2上是否安装早于第一版的应用程序的第二版的应用程序(例如,比较应用程序的版本或将第一和第二电子设备上存储的安装文件进行匹配从而确定第二电子设备上的版本为过期版本)。例如,第一电子设备502-1可向第二电子设备502-2表明在第一电子设备502-1上安装第一版的应用程序。然后,基于该指示,第二电子设备502-2将第二电子设备502-2安装的应用程序版本与第一版进行比较,以确定第二电子设备502-2上安装的版本是否过期。比较可确定安装在第二电子设备502-2上的版本为过期版本、相同版本、或更新版本。可替换地,第二电子设备502-2可向第一电子设备502-1表明在第二电子设备502-2上安装第二版的应用程序。基于该指示,第一电子设备502-1会将第一电子设备502-1安装的应用程序第一版本与第二版进行比较,以确定第二电子设备502-2上安装的版本是否过期。

在一些实施例中,确定(512)包括通过本地连接向第二电子设备502-2提供软件更新应用软件(例如,传输图3软件更新应用程序模块348的安装文件350)以在第二电子设备502-2上安装,其中,第二电子设备502-2通过本地连接接收软件更新应用程序。然后,在第二电子设备502-2上安装软件更新应用程序。在一些实施例中,软件更新应用程序(例如,软件更新应用程序模块348)包括用于确定在第二电子设备502-2上是否并且安装有何种应用程序(例如,图3的社交网络客户端模块340)版本。然后,通过本地连接,第二电子设备502-2上的软件更新应用程序发送并且第一电子设备502-1接收第一版的应用程序是否安装在第二电子设备上的指示(例如,是否安装任意版应用程序和/或是否安装第一版的应用程序)。

在一些实施例中,建立(510)本地连接之后,第一电子设备502-1通过本地连接定期(或连续)传输(例如,广播)应用程序列表(及其各自版本),该应用程序列表存储在授权分发的第一电子设备502-1上。基于自第一电子设备502-1的传输(例如,广播),通过本地连接而连接至第一电子设备的电子设备可以识别可通过本地连接从第一电子设备502-1获得的可用的应用程序版本。

在一些实施例中,第一电子设备502-1或第二电子设备502-2确定(514)第一版的应用程序是否与第二电子设备502-2兼容。确定第一版的应用程序的兼容性可包括:识别第二电子设备502-2(以及任选的第一电子设备502-1)的一个或多个硬件(例如,处理器类型、设备制造商、芯片集等)和/或软件(例如,操作系统)规格,并且确定第一版的应用程序是否与识别的规格兼容。在一些实施例中,确定第一版的应用程序的兼容性包括:引用表格(例如,android应用程序包(“apk”)矩阵)的条目,其存储有不同版应用程序兼容的设备规格列表。在一些实施例中,兼容性检查(514)通过软件更新应用程序(512)(例如,图3的软件更新应用程序模块348)来执行。

响应于确定在第二电子设备502-2上未安装第一版的应用程序(并且,在一些实施例中,第一版与第二电子设备的硬件和/或软件(例如,操作系统)兼容),通过本地连接,第一电子设备502-1向第二电子设备发送(518)并且第二电子设备502-2自第一电子设备接收第一版的应用程序的一个或多个安装文件(例如,图3用于社交网络客户端模块340的安装文件)。例如,当确定在第一电子设备502-1上存储有最近(即,最新)版社交网络客户端模块340(例如,提供至社交网络服务的接口的应用程序)而未安装在第二电子设备502-2上时(例如,在第二电子设备502-2上安装的应用程序版本过期),第一电子设备502-1通过建立的本地连接(例如,蓝牙连接),而非通过单独基于互联网的网络接口,向第二电子设备502-2发送用于最新版的安装文件342。从而,第二电子设备502-2接收安装文件,其独立于互联网接入或对任何宽于本地连接112的网络接入(例如,无需图1a通过网络106连接至社交网络系统108)。

在一些实施例中,确定(512)为确定在第二电子设备502-2上安装第二版的应用程序(即,早于第一电子设备502-1上存储的第一版的版本),并且一个或多个安装文件包括更新,该更新用于将第二电子设备502-2上的应用程序从第二版更新至第一版。因此,在一些实施方式中,当确定接收设备存储过期的应用程序版本时,仅发送用于更新应用程序的文件,而非整个应用程序的安装包。

在一些实施例中,确定(512)为确定无应用程序版本安装在第二电子设备上,并且一个或多个安装文件包括用于完整安装第一版的应用程序的一个或多个文件,而非仅用于更新之前应用程序版本的安装文件。

在一些实施例中,在发送(518)一个或多个安装文件之前,在第一电子设备502-1上显示(516)消息,具有在第二电子设备502-2上更新安全设置以安装第一版的应用程序的指令。针对图4a对消息的实例进行了说明和描述。

在一些实施例中,第一电子设备502-1为第二电子设备502-2通过本地连接可通信的多个电子设备中的一个(例如,第二电子设备502-2无线通信范围内的多个电子设备中的一个),并且根据确定多个电子设备中其他电子设备上各个应用程序版本早于第一版的应用程序,第一电子设备502-1发送以及第二电子设备502-2接收用于第一版的应用程序的一个或多个安装文件。例如,参见图1c,客户端设备104-1、104-4和104-5存储社交网络客户端模块340的不同版本(和/或具有不同版本的安装文件),并且均在客户端设备104-3无线通信范围之内。当客户端设备104-1存储有最近(例如,当前)版社交网络客户端模块340(相对于存储在其他附近的客户端设备上的各个版本)时,只有客户端设备104-1向客户端设备104-3发送最近版的安装文件342。在一些实施例中,存储有应用程序各个版本的多个附近的电子设备彼此间仲裁以识别具有最新(例如,当前)版应用程序的一个或多个电子设备。在一些实施方式中,在识别具有最新版应用程序的一个或多个电子设备之后,具有过期版本的其他电子设备可从本地连接断开和/或中断至其他附近的设备的广播(例如,停止向其他设备广播可用于传输的应用程序版本)。在一些实施例中,第二电子设备502-2(“接收设备”)从无线通信范围内的多个电子设备接收指示,从而对存储在各个电子设备上的各个应用程序版本进行识别。在一些实施例中,一旦基于这些指示识别到具有最新版应用程序的一个或多个电子设备,则在维护与具有最新版应用程序的一个或多个电子设备的连接并且从具有最新版应用程序的一个或多个电子设备接收安装文件的同时,将第二电子设备502-2从通过本地连接的所有其他电子设备断开。可替换地,第二电子设备502-2仍然与其他电子设备连接,但不从其他电子设备下载安装文件。

在一些实施例中,应用程序为第一电子设备502-1和/或第二电子设备502-2(例如,存储器306中存储有浏览器模块338、社交网络客户端模块340、以及客户端应用程序模块344的客户端设备104-1)上存储的多个应用程序中的第一应用程序。根据确定第一应用程序的优先级取代了第二电子设备502-2上的第二应用程序的优先级,第一电子设备502-1发送(518)并且第二电子设备502-2接收第一版的应用程序的一个或多个安装文件。例如,当社交网络客户端模块340具有预定义的、取代了客户端应用程序模块344预定义的优先级的优先级(例如,由数字指标值表示),并且两个模块都可更新时,在发送客户端应用程序模块344的安装文件之前,第一电子设备502-1将发送社交网络客户端模块340的安装文件,如果有的话。在一些实施例中,不同的应用程序版本都具有各自的优先级。例如,第一最新版社交网络客户端模块340可能比第二旧版本具有更高的优先级。在此实例中,第一版客户端应用程序模块344可取代第二版社交网络客户端模块340,而第一版社交网络客户端模块340取代第一版客户端应用程序模块344。

现在参见图5b,第一电子设备502-1将一部分安装文件发送(518)至第二电子设备502-2;该第二电子设备502-2接收所有或部分安装文件。例如,第一电子设备502-1通过本地连接向第二电子设备发送第一多个数据包,并且第二电子设备502-2通过本地连接接收自第一电子设备502-1的部分或所有第一多个数据包。在发送和接收安装文件时(例如,以对应数据包的形式),在传输所有安装文件之前,检测(520)与第二电子设备的本地连接的丢失。随后(例如,断开后数分钟、数小时、或数日),重建(522)与第二电子设备的本地连接(例如,重新配对蓝牙连接)。在一些实施例中,重建相同的本地连接(例如,当原始本地连接通过蓝牙时,重建的本地连接也通过蓝牙),而在其他实施例中,重建的本地连接基于一不同的通信协议(例如,原始本地连接通过蓝牙,而重建的本地连接通过wi-fi直连)。重建(522)本地连接之后,第一电子设备502-1通过本地连接向第二电子设备502-2发送(524)剩余的安装文件;第二电子设备502-2接收剩余的安装文件。例如,第一电子设备502-1通过本地连接向第二电子设备502-2发送第二多个数据包;第二电子设备502-2接收该第二多个数据包。第二多个数据包与剩余的安装文件对应,这部分剩余的安装文件因丢失本地连接(520)而未传输成功。在一些实施例中,通过第二电子设备502-2和与第一电子设备502-1不同的一个或多个电子设备之间的本地连接来接收第二多个数据包(即,第二电子设备502-2从多个电子设备接收安装文件的不同部分)。在这些实施例中,在第二电子设备和一个或多个其他电子设备之间建立的各个本地连接可使用相同或不同的通信协议(例如,第二电子设备502-2通过蓝牙连接至一电子设备,而另一电子设备则通过wi-fi直连)。

在一些实施例中,应用为用于连接至社交网络服务的应用(例如,图1和图3,用于连接至社交网络系统108提供的服务的社交网络客户端模块340),并且与第一电子设备502-1相关的第一用户为社交网络服务的用户。在第二电子设备上安装第一版的应用程序之后,通过本地连接,第二电子设备502-2向第一电子设备502-1发送(526)并且第一电子设备502-1从第二电子设备502-2接收(526)针对与第二电子设备相关的第二用户创建社交网络服务账户的请求。该请求可响应于社交网络客户端模块340在第二电子设备502-2上的安装而自动生成,或响应于用户输入而生成。然后,第一电子设备502-1通过与本地连接不同的通信信道将请求发送(528)至远程服务器(例如,第一电子设备502-1通过wi-fi或蜂窝连接将从第二电子设备502-2接收的账户创建请求发送至一个或多个网络106上的社交网络系统108)。因此,第一电子设备502-1可用作媒介来创建对于社交网络系统108所提供服务的账号,即便缺乏用于第二电子设备502-2的直接互联网连接。

在一些实施例中,将第一版的应用程序的安装文件发送至第二电子设备502-2并且第二电子设备502-2接收第一版的应用程序的安装文件(518)之后,在第一电子设备502-1和/或第二电子设备502-2上显示(530)消息,提示第一用户与第二用户在社交网络服务上关联(或提示第二用户与第一用户关联)。针对图4b对消息的实例进行了说明和描述。在一些实施例中,此关联请求响应于向第二电子设备502-2发送安装文件、在第二电子设备502-2上安装应用程序、和/或创建第二用户的账户而自动生成。在一些实施例中,(例如,响应于)第一电子设备502-1开始发送(518)并且第二电子设备502-2开始接收安装文件之后,显示(530)消息,而不管安装文件是否全部传输。在一些实施例中,发送(518)和接收安装文件之后(或者在第一电子设备502-1开始发送并且第二电子设备502-2开始接收安装文件之后),第一用户和第二用户在社交网络服务上彼此自动关联(即,自动将有关关联请求的指令/数据发送至社交网络系统108)。在一些实施例中,自动将信号提供至社交网络系统108并且输入至预定义的关联算法(例如,pymk(“您可能认识的人”)、好友请求算法等)。

在一些实施例中,第一及第二用户(分别与第一电子设备502-1和第二电子设备502-2关联)为社交网络服务的用户;通过与本地连接不同的通信信道(例如,在一个或多个网络106上),第一电子设备502-1自社交网络服务接收(532)并且社交网络系统108向第一电子设备502-1发送针对第二用户的内容。内容可包括用户在社交网络系统上可访问的任何内容(例如,馈送内容、帖子、消息、音频/视频数据、链接等)。通过本地连接(例如,本地连接108),第一电子设备502-1向第二电子设备502-2发送(534)并且第二电子设备502-2自第一电子设备502-1接收来自社交网络服务的内容,以在第二电子设备上显示。因此,互联网连接受限或无互联网连接但在互联网连接设备附近能够与之建立本地连接的电子设备可以访问社交网络系统108系统的内容。在一些实施例中,发送(534)并且接收自社交网络服务的内容根据确定第二电子设备502-2无互联网连接的来执行。在一些实施例中,从社交网络服务接收(532)的内容缓存在第一电子设备502-1的存储器中,以稍后进行传输,从而第一电子设备502-1可将内容发送至第二电子设备502-2,即便发送时缺乏互联网连接。

在一些实施例中,第一电子设备502-1自第二电子设备502-2接收内容(例如,帖子),并且将接收到的内容通过与本地连接不同的通信信道发送至社交网络服务(例如,无法建立互联网连接的电子设备用户可通过与之建立本地连接的互联网连接电子设备在社交网络服务上发布内容)。

在一些实施例中,响应于确定满足互联网连接的拥挤阈值(例如,网络带宽小于、或小于等于预定义值)或确定第二设备502-2无法建立互联网连接(例如,由于蜂窝数据覆盖较差或无互联网订购)来执行图5a至5b(或操作子集)的方法500。

虽然图5a至5b的方法500针对从第一电子设备502-1接收数据(例如,内容、安装文件等)的第二电子设备502-2进行了描述,但在一些实施例中,第二电子设备502-2从多个不同的电子设备接收数据,并且多个不同的电子设备向第二电子设备502-2发送数据。从多个不同的电子设备接收并且由该多个不同的电子设备发送的数据可包括不同内容项目的数据(例如,一个电子设备发送应用程序的安装文件,而一不同的电子设备发送从社交网络系统108检索的社交媒体内容(例如,帖子)),或可包括相同内容项目的一部分(例如,不同电子设备传输同一应用程序安装文件的不同部分)。

在上述系统收集有关用户信息的情况下,用户可能有机会选择加入/退出程序或特征可收集个人信息(例如,有关用户偏好或用户对社交内容提供商的贡献的信息)。此外,在一些实施例中,部分数据在存储或使用前可以一种或多种方式来进行匿名,从而移除个人识别信息。例如,可对用户身份进行匿名,从而无法确定用户的个人识别信息或无法将个人识别信息与用户关联,并且使用户偏好或用户交互得以大众化(例如,基于用户人口统计大众化),而非与特定用户关联。

虽然各个附图中的某些示出了采用特定顺序的多个逻辑阶段,但是不依赖于顺序的阶段可以被重新排序,并且可以组合或拆分其他阶段。虽然明确提到了一些重新排序或其他分组,但是对于本领域普通技术人员而言,其余的也将是明显的,因此没有呈现替换的详细清单。此外,应当认识到,这些阶段能够以硬件、固件、软件或者其任意组合的形式来实现。

出于说明的目的,已经参考特定实施例对以上的说明书进行描述。但是,上文的说明性讨论不旨在是穷尽的或将本发明限制为所公开的精确形式。根据以上教导,许多修改和变化都是可能的。描述实施例,以便对本发明的原理及其实际应用进行最佳说明,从而使得本领域的其他技术人员能够最好地利用以及按照适用于所考虑的特定用途而进行各种修改的各个实施例。

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