控制设备云的制作方法

文档序号:14652137发布日期:2018-06-08 22:03阅读:182来源:国知局
控制设备云的制作方法

本申请根据35U.S.C.119(e)要求于2015年8月5日提交的美国临时专利申请No.62/201,496的优先权,其通过引用并入本文。

技术领域

本公开总体涉及管理已连接的设备。



背景技术:

可包括社交网站的社交网络系统可使其用户(诸如个人或组织)通过它与彼此进行交互。社交网络系统可利用来自用户的输入在社交网络系统中创建并存储与用户相关联的用户简档。用户简档可包括人口统计信息、通信信道信息以及关于用户的个人兴趣的信息。社交网络系统也可通过用户的输入来创建和存储用户与社交网络系统的其他用户的关系的记录,并且提供服务(例如,墙贴、照片分享、事件组织、发消息、游戏或广告)以促进用户之间的社交互动。

社交网络系统可将与其服务有关的一个或多个网络内容或消息发送给用户的移动设备或其他计算设备。用户还可在用户的移动或其他计算设备上安装软件应用,以访问社交网络系统内的用户的用户简档和其他数据。社交网络系统可生成个性化的一组内容对象以显示给用户,诸如连接到用户的其他用户的聚合故事的新闻馈送。

诸如智能手机、平板计算机或膝上型计算机的移动计算设备可包括用于确定其位置、方向或取向的功能,诸如GPS接收器、罗盘、陀螺仪或加速度计。这样的设备还可包括用于无线通信的功能,诸如蓝牙(BT)通信、近场通信(NFC)或红外(IR)通信或与无线局域网(WLAN)或蜂窝电话网络的通信。这样的设备还可包括一个或多个相机、扫描仪、触摸屏、麦克风或扬声器。移动计算设备也可执行软件应用,诸如游戏、网页浏览器或社交网络应用。通过社交网络应用,用户可在其社交网络中与其他用户进行连接、交流和共享信息。



技术实现要素:

具体实施例允许用户经由信使进行通信以控制、管理或激活用户的智能设备。在进一步的实施例中,可在信使内实现类人智能,使得用户能够在控制、管理或激活用户的智能设备的同时使用自然语言。在具体实施例中,在用户询问打开特定灯时,可不需要告诉信使需要打开哪个特定灯,但是信使可基于周围因素来推断打开哪个灯。例如,在信使通知用户由于活动而使得厨房灯已经打开时,用户可简单地响应“关掉灯”而不指示用户希望关闭的是厨房灯。信使可知道响应于接收到用户的消息而关闭厨房灯。

在具体实施例中,用户可具有通过输入消息收发应用来查询、编程和管理已连接的设备的能力。作为实例而非限制,消息收发基础设施可具有在已连接的设备的语境中理解自然语言命令消息的能力。在具体实施例中,后端系统可解析自然语言命令消息的文本。后端系统可根据先前的设备交互来确定语境。

在具体实施例中,用户可通过消息收发应用获得对已连接的设备的临时访问。作为实例而非限制,用户可通过发送识别其他用户和已连接的设备的自然语言消息来授予对已连接的设备的访问权限。在具体实施例中,后端系统可确定两个用户之间的亲和度分数满足预定阈值,在这种情况下,可允许其他用户临时访问已连接的设备。

下面公开的实施例仅仅是实例,本公开的范围不限于它们。具体实施例可包括以上公开的实施例的组件、元件、特征、功能、操作或步骤的全部、一些或者不包括。根据本发明的实施例具体在涉及方法、存储介质、系统和计算机程序产品的所附权利要求中公开,其中,在一个权利要求类别,例如方法中提及的任何特征也可在另一个权利要求类别,例如系统中请求保护。所附权利要求中的从属关系或回参考仅为正式原因选择。然而,也可要求保护从任何以前的权利要求(具体而言是多个从属关系)的有意回参考得到的任何主题,以便权利要求及其特征的任何组合被公开并且可被要求保护,而不管在所附权利要求中选择的从属关系。可要求保护的主题不仅包括所附权利要求中提出的特征的组合,而且还包括权利要求中的特征的任何其他组合,其中权利要求中提及的每个特征可与权利要求中的任何其他特征或其组合合并。此外,本文描述或描绘的任何实施例和特征可以以单独的权利要求和/或与本文描述或描绘的任何实施例或特征的实施例组合而请求保护或者与所附权利要求中的任何特征一起来请求保护。

附图说明

图1示出了与社交网络系统相关联的实例网络环境。

图2示出了实例社交图。

图3示出了用于管理设备云的实例体系结构。

图4示出了实例设备图。

图5示出了用于控制已连接的设备的实例方法。

图6示出了用于提供对已连接的设备的访问的实例方法。

图7示出了实例计算机系统。

具体实施方式

图1示出了与社交网络系统相关联的实例网络环境100。网络环境100包括通过网络110彼此连接的客户端系统130、社交网络系统160和第三方系统170。虽然图1示出了客户端系统130、社交网络系统160、第三方系统170和网络110的具体布置,但是本公开考虑了客户端系统130、社交网络系统160、第三方系统170和网络110的任何合适的布置。作为实例而非限制,客户端系统130、社交网络系统160和第三方系统170中的两个或更多个可绕过网络110直接彼此连接。作为另一实例,客户端系统130、社交网络系统160和第三方系统170中的两个或更多个可在物理或逻辑上彼此全部或部分地位于同一位置。而且,虽然图1示出了具体数量的客户端系统130、社交网络系统160、第三方系统170和网络110,但是本公开考虑了任何合适数量的客户端系统130、社交网络系统160、第三方系统170和网络110。作为实例而非限制,网络环境100可包括多个客户端系统130、社交网络系统160、第三方系统170和网络110。

本公开考虑了任何合适的网络110。作为实例而非限制,网络110的一个或多个部分可包括自组织网络、内联网、外联网、虚拟专用网络(VPN)、局域网(LAN)、无线局域网(WLAN)、广域网(WAN)、无线广域网(WWAN)、城域网(MAN)、互联网的一部分、公共交换电话网络(PSTN)的一部分、蜂窝电话网络或者这些中的两个或更多个的组合。网络110可包括一个或多个网络110。

链路150可将客户端系统130、社交网络系统160和第三方系统170连接到通信网络110或彼此连接。本公开考虑了任何合适的链路150。在具体实施例中,一个或多个链路150包括一个或多个有线线路(诸如例如数字用户线路(DSL)或电缆上数据业务接口规范(DOCSIS))、无线链路(诸如例如Wi-Fi或全球微波接入互操作性(WiMAX))或光学链路(诸如例如同步光纤网络(SONET)或同步数字系列(SDH))。在具体实施例中,一个或多个链路150各自包括自组织网络、内联网、外联网、VPN、LAN、WLAN、WAN、WWAN、MAN、互联网的一部分、PSTN的一部分、基于蜂窝技术的网络、基于卫星通信技术的网络、另一个链路150或者两个或更多个这样的链路150的组合。链路150在整个网络环境100中不一定是相同的。一个或多个第一链路150可在一个或多个方面与一个或多个第二链路150不同。

在具体实施例中,客户端系统130可以是包括硬件、软件或嵌入式逻辑组件或两个或更多个这种组件的组合并且能够执行由客户端系统130实现或支持的适当功能的电子设备。作为实例而非限制,客户端系统130可包括计算机系统,诸如台式计算机、笔记本或膝上型计算机、上网本、平板计算机、电子书阅读器、GPS设备、相机、个人数字助理(PDA)、手持电子设备、蜂窝电话、智能电话、增强/虚拟现实设备、其他合适的电子设备或其任何适当的组合。本公开考虑了任何合适的客户端系统130。客户端系统130可使客户端系统130处的网络用户能够访问网络110。客户端系统130可使其用户能够与其他客户端系统130处的其他用户进行通信。

在具体实施例中,客户端系统130可包括网页浏览器132,诸如MICROSOFT INTERNET EXPLORER、GOOGLE CHROME或MOZILLA FIREFOX,并且可具有一个或多个附加件、插件或其他扩展,诸如TOOLBAR或YAHOO TOOLBAR。客户端系统130处的用户可输入将网页浏览器132指向特定服务器(诸如服务器162或与第三方系统170相关联的服务器)的统一资源定位符(URL)或其他地址,并且网页浏览器132可生成超文本传输协议(HTTP)请求并将该HTTP请求传送给服务器。服务器可接受HTTP请求并响应于HTTP请求将一个或多个超文本标记语言(HTML)文件传送到客户端系统130。客户端系统130可基于来自服务器的HTML文件呈现网页以呈现给用户。本公开考虑了任何合适的网页文件。作为实例而非限制,根据具体需要,网页可从HTML文件、可扩展超文本标记语言(XHTML)文件或可扩展标记语言(XML)文件呈现。这些页面还可执行脚本,诸如例如但不限于以JAVASCRIPT、JAVA、MICROSOFT SILVERLIGHT、标记语言和诸如AJAX(异步JAVASCRIPT和XML)之类的脚本的组合等写入的脚本。这里,在适当的情况下,对网页的引用包括一个或多个对应的网页文件(浏览器可用来呈现网页的),反之亦然。

在具体实施例中,社交网络系统160可以是可托管在线社交网络的网络可寻址计算系统。社交网络系统160可生成、存储、接收和发送社交网络数据,诸如例如用户简档数据、概念简档数据、社交图信息或与在线社交网络相关的其他合适的数据。社交网络系统160可由网络环境100的其他组件直接或经由网络110访问。作为实例而非限制,客户端系统130可使用网页浏览器132访问社交网络系统160,或直接或通过网络110与社交网络系统160(例如,移动社交网络应用、消息收发应用、另一合适的应用或其任何组合)相关联的本地应用。在具体实施例中,社交网络系统160可包括一个或多个服务器162。每个服务器162可以是跨越多个计算机或多个数据中心的统一服务器或分布式服务器。服务器62可以是各种类型的,诸如例如但不限于网络服务器、新闻服务器、邮件服务器、消息服务器、广告服务器、文件服务器、应用服务器、交换服务器、数据库服务器、代理服务器、用于执行在此描述的功能或过程的另一服务器,或其任何组合。在具体实施例中,每个服务器162可包括用于执行由服务器162实现或支持的适当功能的硬件、软件或嵌入式逻辑组件或两个或更多个这种组件的组合。在具体实施例中,社交网络系统160可包括一个或多个数据存储器164。数据存储器164可用于存储各种类型的信息。在具体实施例中,存储在数据存储器164中的信息可根据具体的数据结构来组织。在具体实施例中,每个数据存储器164可以是关系的、柱状的、相关的或其他合适的数据库。虽然本公开描述或说明了具体类型的数据库,但是本公开考虑了任何合适类型的数据库。具体实施例可提供接口,使客户端系统130、社交网络系统160或第三方系统170能够管理、检索、修改、添加或删除存储在数据存储器164中的信息。

在具体实施例中,社交网络系统160可将一个或多个社交图存储在一个或多个数据存储器164中。在具体实施例中,社交图可包括多个节点,其可包括多个用户节点(每个节点对应于特定用户)或多个概念节点(每个概念节点对应于一个特定的概念)以及连接节点的多条边。社交网络系统160可向在线社交网络的用户提供与其他用户进行通信和交互的能力。在具体实施例中,用户可经由社交网络系统160加入在线社交网络,然后将连接(例如,关系)添加到他们想要连接到的社交网络系统160的多个其他用户。在本文中,术语“朋友”可指社交网络系统160的任何其他用户,用户已经经由社交网络系统160与之形成了连接、关联或关系。

在具体实施例中,社交网络系统160可向用户提供对由社交网络系统160支持的各种类型的项目或对象采取动作的能力。作为实例而非限制,项目和对象可包括社交网络系统160的用户可能属于的组或社交网络、用户可能感兴趣的事件或日历条目、用户可使用的基于计算机的应用、允许用户经由服务购买或出售项目的交易、与用户可能执行的广告的交互或其他合适的项目或对象。用户可与能够在社交网络系统160中表示的任何事物交互,或者通过与社交网络系统160分离并经由网络110耦合到社交网络系统160的第三方系统170的外部系统。

在具体实施例中,社交网络系统160可能够链接各种实体。作为实例而非限制,社交网络系统160可使得用户能够彼此交互以及从第三方系统170或其他实体接收内容,或者允许用户通过应用编程接口(API)或其他通信信道与这些实体进行交互。

在具体实施例中,第三方系统170可包括一个或多个类型的服务器、一个或多个数据存储、一个或多个接口,包括但不限于API、一个或多个网页服务、一个或多个内容源、一个或多个网络或任何其他合适的组件,例如服务器可与之通信。第三方系统170可由与操作社交网络系统160的实体不同的实体操作。然而,在具体实施例中,社交网络系统160和第三方系统170可彼此结合操作以提供社交网络服务给社交网络系统160或第三方系统170的用户。在这个意义上说,社交网络系统160可提供平台或主干,其他系统,如第三方系统170,可使用该平台或主干为互联网上的用户提供社交网络服务和功能。

在具体实施例中,第三方系统170可包括第三方内容对象提供者。第三方内容对象提供者可包括内容对象的一个或多个源,其可被传送给客户端系统130。作为实例而非限制,内容对象可包括关于用于感兴趣的事物或活动的信息,诸如例如电影放映时间、电影评论、餐厅评论、餐馆菜单、产品信息和评论,或其他合适的信息。作为另一实例而非限制,内容对象可包括奖励内容对象,诸如优惠券、打折券、礼品券或其他合适的激励对象。

在具体实施例中,社交网路系统160还包括用户生成的内容的对象,其可增强用户与社交网络系统160的交互。用户生成的内容可包括用户可添加、上传、发送或“发布”到社交网络系统160上的任何事物。作为实例而非限制,用户从客户端系统130向社交网络系统160传送帖子。帖子可包括诸如状态更新或其他文本数据、位置信息、照片、视频、链接、音乐的数据或其他类似的数据或媒体。内容还可由第三方通过诸如新闻馈送或流的“通信信道”添加到社交网络系统160。

在具体实施例中,社交网络系统160可包括各种服务器、子系统、程序、模块、日志和数据存储。在具体实施例中,社交网络系统160可包括以下中的一个或多个:网络服务器、动作记录器、API请求服务器、相关性排序引擎、内容对象分类器、通知控制器、动作日志、第三方内容对象暴露日志、推理模块、授权/隐私服务器、搜索模块、广告定位模块、用户界面模块、用户简档存储、连接存储、第三方内容存储或位置存储。社交网络系统160还可包括合适的组件,诸如网络接口、安全机构、负载平衡器、故障转移服务器、管理和网络操作控制台、其他合适的组件,或其任何合适的组合。在具体实施例中,社交网络系统160可包括用于存储用户简档的一个或多个用户简档存储。用户简档可包括例如传记信息、人口统计信息、行为信息、社交信息或其他类型的描述性信息,诸如工作经历、教育历史、爱好或喜好、兴趣、亲和度或位置。兴趣信息可包括与一个或多个类别相关的兴趣。类别可以是一般的或具体的。作为实例而非限制,如果用户“喜欢”关于鞋子品牌的文章,则该类别可以是品牌,或者是“鞋子”或“服装”的一般类别。连接存储可用于存储关于用户的连接信息。连接信息可指示具有相似或共同工作经验、团体成员身份、兴趣爱好、教育历史或者以任何方式相关或共享共同属性的用户。连接信息还可包括不同用户和内容(内部和外部)之间的用户定义的连接。网络服务器可用于经由网络110将社交网络系统160链接到一个或多个客户端系统130或一个或多个第三方系统170。网络服务器可包括邮件服务器或用于接收和路由社交网络系统160和一个或多个客户端系统130之间的消息的其他消息收发功能。API请求服务器可允许第三方系统170通过调用一个或多个API来访问来自社交网络系统160的信息。动作记录器可被用来从网络服务器接收关于社交网络系统160上或者之外的用户动作的通信。结合动作日志,第三方内容对象日志可被保持为暴露给第三方内容对象的用户。通知控制器可向客户端系统130提供关于内容对象的信息。可将信息作为通知推送到客户端系统130,或者可响应于从客户端系统130接收的请求从客户端系统130提取信息。授权服务器可用于实施社交网络系统160的用户的一个或多个隐私设置。用户的隐私设置确定如何共享与用户相关联的特定信息。授权服务器可允许用户选择让或选择不让他们的动作由社交网络系统160记录或与其他系统(例如,第三方系统170)共享,诸如例如通过设置适当的隐私设置。第三方内容对象存储可用于存储从第三方,诸如第三方系统170,接收的内容对象。位置存储可用于存储从与用户相关联的客户端系统130接收的位置信息。广告定价模块可将社交信息、当前时间、位置信息或其他合适的信息组合起来,以通知的形式向用户提供相关的广告。

图2示出了实例社交图200。在具体实施例中,社交网络系统160可将一个或多个社交图200存储在一个或多个数据存储中。在具体实施例中,社交图200可包括多个节点,其可包括多个用户节点202或多个概念节点204,以及连接节点的多个边206。在图2中示出的实例社交图200,为了说明的目的,以二维可视图表示示出。在具体实施例中,社交网络系统160、客户端系统130或第三方系统170可访问社交图200和相关的社交图信息以获得合适的应用。社交图200的节点和边可作为数据对象存储在例如数据存储(诸如社交图数据库)中。这样的数据存储可包括社交图200的节点或边的一个或多个可搜索或可查询索引。

在具体实施例中,用户节点202可对应于社交网络系统160的用户。作为实例而非限制,用户可以是个人(人类用户)、实体(例如企业、商业或第三方应用)或与社交网络系统160交互或通过社交网络系统160通信或与之通信的群组(例如个人或实体)。在具体实施例中,当用户向社交网络系统160注册账户时,社交网络系统160可创建对应于用户的用户节点202,并将用户节点202存储在一个或多个数据存储中。这里描述的用户和用户节点202可在适当的情况下指代与注册用户相关联的注册用户和用户节点202。另外或作为替代,本文描述的用户和用户节点202可在适当的情况下指代未与社交网络系统160注册的用户。在具体实施例中,用户节点202可与由用户提供的信息相关联或与由包括社交网络系统160的各种系统收集的信息相关联。作为实例而非限制,用户可提供自己的姓名、简档图片、联系信息、出生日期、性别、婚姻状况、家庭状况、就业、教育背景、偏好、兴趣或其他人口统计信息。在具体实施例中,用户节点202可与对应于与用户相关联的信息的一个或多个数据对象相关联。在具体实施例中,用户节点202可对应于一个或多个网页。

在具体实施例中,概念节点204可对应于概念。作为实例而非限制,概念可对应于地点(诸如例如,电影院、餐馆、地标或城市);网站(诸如例如与社交网络系统160相关联的网站或与网络应用服务器相关联的第三方网站);实体(诸如例如,人、企业、团体、运动队或名人);可位于社交网络系统160内或外部服务器(诸如网络应用服务器)上的资源(诸如例如音频文件、视频文件、数字照片、文本文件、结构化文档或应用);不动产或知识产权(诸如例如,雕塑、绘画、电影、游戏、歌曲、想法、照片或书面作品);游戏,活动;想法或理论;在增强/虚拟现实环境中的对象;另一个合适的概念;或两个或更多这样的概念。概念节点204可与由用户提供的概念的信息或由包括社交网络系统160的各种系统收集的信息相关联。作为实例而非限制,概念的信息可包括名称或标题;一个或多个图像(例如,书的封面图像);位置(例如地址或地理位置);网站(可能与URL相关);联系信息(例如,电话号码或电子邮件地址);其他合适的概念信息,或这些信息的任何合适的组合。在具体实施例中,概念节点204可与对应于与概念节点204相关联的信息的一个或多个数据对象相关联。在具体实施例中,概念节点204可对应于一个或多个网页。

在具体实施例中,社交图200中的节点可表示网页(可被称为“简档页面”)或由网页表示。简档页面可由社交网络系统160托管或可访问。简档页面也可被托管在与第三方服务器170相关联的第三方网站上。作为实例而非限制,对应于特定的外部网页的简档页面可以是特定的外部网页,并且简档页面可对应于特定的概念节点204。简档页面可被其他用户的全部或选定的子集可见。作为实例而非限制,用户节点202可具有对应的用户简档页面,其中对应的用户可添加内容、做出声明或以其他方式表达他或她自己。作为另一实例而非限制,概念节点204可具有对应的概念简档页面,其中一个或多个用户可添加内容、做出声明或表达自己,具体而言是关于对应于概念节点204的概念。

在具体实施例中,概念节点204可表示由第三方系统170托管的第三方网页或资源。第三方网页或资源可包括内容,可选或其他图标或表示动作或活动的其他可交互对象等(可用例如JavaScript、AJAX或PHP代码实现)。作为实例而非限制,第三方网页可包括诸如“喜欢”、“签到”、“吃”、“推荐”或其他合适的动作或活动的可选图标。观看第三方网页的用户可通过选择图标之一(例如,“签到”)来执行动作,使得客户端系统130向社交网络系统160发送指示用户动作的消息。响应于该消息,社交网络系统160可在对应于用户的用户节点202和对应于第三方网页或资源的概念节点204之间创建边(例如,签到类型边),并且将边206存储在一个或多个数据存储中。

在具体实施例中,社交图200中的一对节点可通过一个或多个边206彼此连接。连接一对节点的边206可表示该对节点之间的关系。在具体实施例中,边206可包括或表示与一对节点之间的关系对应的一个或多个数据对象或属性。作为实例而非限制,第一用户可指示第二用户是第一用户的“朋友”。响应于该指示,社交网络系统160可向第二用户发送“朋友请求”。如果第二用户确认“朋友请求”,则社交网络系统160可创建将社交图200中的第一用户的用户节点202连接到第二用户的用户节点202的边206,并将边206作为社交图信息存储在一个或多个数据存储器164中。在图2的实例中,社交图200包括指示用户“A”的用户节点202与用户“B”之间的朋友关系的边206以及指示用户“C”的用户节点202与用户“B”之间的朋友关系的边。虽然本公开描述或说明具有连接特定用户节点202的特定属性的特定边206,但本发明考虑具有连接用户节点202的任何适合属性的任何合适边206。作为实例而非限制,边206可表示朋友关系、家庭关系、商业或雇佣关系、粉丝关系(包括例如喜欢等)、追随者关系、访客关系(包括例如访问、查看、签到、分享等)、订户关系、上下级关系、互惠关系、非互惠关系、另一种适合的关系类型或两种或两种以上的关系。此外,尽管本公开总体上将节点描述为连接,但是本公开还将用户或概念描述为连接。在本文中,对正在连接的用户或概念的引用可在适当的情况下指的是与那些用户或概念相对应的节点,所述用户或概念通过一个或多个边206在社交图200中连接。

在具体实施例中,用户节点202和概念节点204之间的边206可表示与用户节点202相关联的用户针对与概念节点204相关联的概念执行的特定动作或活动。作为实例而非限制,如图2所示,用户可“喜欢”、“出席”、“播放”、“倾听”、“烹饪”、“工作于”或“观看”概念,每个概念可对应于边类型或子类型。对应于概念节点204的概念简档页面可包括例如可选择的“签到”图标(诸如例如可点击的“签到”图标)或可选的“添加到收藏夹”图标。类似地,在用户点击这些图标之后,社交网络系统160可响应于对应于相应动作的用户的动作而创建“收藏”边或“签到”边。作为另一实例而非限制,用户(用户“C”)可使用特定应用(SPOTIFY,其是在线音乐应用)来收听特定歌曲(“Imagine”)。在这种情况下,社交网络系统160可创建对应于用户的用户节点202和对应于歌曲和应用的概念节点204之间的“收听”边206和“使用”边(如图2所示),以表示用户收听了歌曲并使用了该应用。而且,社交网络系统160可在与歌曲和应用对应的概念节点204之间创建“播放”边206(如图2所示),以指示特定歌曲由特定应用播放。在这种情况下,“播放”边206对应于由外部音频文件(歌曲“Imagine”)上的外部应用(SPQTIFY)执行的动作。虽然本公开描述了具有连接用户节点202和概念节点204的特定属性的特定边206,但是本公开考虑了具有连接用户节点202和概念节点204的任何合适属性的任何合适的边206。此外,尽管本公开描述了用户节点202和表示单个关系的概念节点204之间的边,本公开考虑了用户节点202和表示一个或多个关系的概念节点204之间的边。作为实例而非限制,边206可表示用户喜欢并且已经以特定概念使用。可替代地,另一个边206可表示用户节点202和概念节点204之间的每种类型的关系(或者单个关系的倍数)(如图2中在用户“E”的用户节点202和用于“SPOTIFY”的概念节点204之间)。

在具体实施例中,社交网络系统160可在社交图200中的用户节点202和概念节点204之间创建边206。作为实例而非限制,观看概念简档页面(诸如例如通过使用网络浏览器或由用户的客户端系统130托管的专用应用)的用户可通过点击或选择“喜欢”图标来指示他或她喜欢由概念节点204表示的概念,使得用户的客户端系统130向社交网络系统160发送指示用户喜欢与概念简档页面相关联的概念的消息。响应于该消息,社交网络系统160可在与用户相关联的用户节点202和概念节点204之间创建边206,如用户和概念节点204之间的“喜欢”边206所示。在具体实施例中,社交网络系统160可将边206存储在一个或多个数据存储中。在具体实施例中,边206可由社交网络系统160响应于特定用户动作而自动形成。作为实例而非限制,如果第一用户上传图片、观看电影或收听歌曲,则可在对应于第一用户的用户节点202与对应于那些概念的概念节点204之间形成边206。尽管本公开描述了以特定方式形成特定边206,但是本公开考虑以任何合适的方式形成任何合适的边206。

在具体实施例中,社交网络系统160可确定各个社交图实体彼此之间的社交图亲和度(其在此可被称为“亲和度”)。亲和度可表示与在线社交网络相关联的特定对象之间的关系或者兴趣水平的强度,诸如用户、概念、内容、动作、广告、与在线社交网络相关联的其他对象或者其任何适当的组合。也可关于与第三方系统170或其他合适的系统相关联的对象来确定亲和度。可建立针对每个用户、主题或者内容的类型的社交图实体的总体亲和度。总体亲和度可基于对与社交图实体相关联的动作或关系的持续监视而改变。尽管本公开描述了以特定方式确定特定的亲和度,但是本公开考虑以任何合适的方式确定任何适合的亲和度。

在具体实施例中,社交网络系统160可使用亲和度系数(其在本文中可被称为“系数”)来测量或量化社交图亲和度。系数可表示或量化与在线社交网络相关联的特定对象之间的关系的强度。系数还可表示测量用户基于用户对动作的兴趣来执行特定动作的预测概率的概率或函数。以这种方式,可基于用户先前的动作来预测用户的未来动作,其中可至少部分地根据用户动作的历史来计算系数。可使用系数来预测可能在在线社交网络之内或之外的任何数量的动作。作为实例而非限制,这些动作可包括各种类型的通信,诸如发送消息、发布内容或对内容进行评论;各种类型的观察动作,诸如访问或查看简档页面、媒体或其他合适的内容;关于两个或更多个社交图实体的各种类型的重合信息,诸如在相同的组中、在相同的照片中被标记、在相同的位置签到或者出席相同的事件;或其他合适的动作。尽管本公开以特定的方式描述了测量亲和度,但是本公开考虑以任何合适的方式测量亲和度。

在具体实施例中,社交网络系统160可使用各种因素来计算系数。这些因素可包括例如用户动作、对象之间的关系的类型、位置信息、其他合适的因素或其任何组合。在具体实施例中,当计算系数时,不同的因素可被不同地加权。每个因素的权重可以是静态的,或者权重可根据例如用户、关系的类型、动作的类型、用户的位置等而改变。这些因素的评分可根据它们的权重进行组合以确定用户的总体系数。作为实例而非限制,特定用户动作可被分配评级和权重,而与特定用户动作相关联的关系被分配评级和相关权重(例如,权重总和100%)。为了计算用户对特定对象的系数,分配给用户的动作的评级可包括例如整个系数的60%,而用户和对象之间的关系可包括整个系数的40%。在具体实施例中,当确定用于计算系数的各种因素的权重时,社交网络系统160可考虑各种变量,诸如例如自从信息被访问以来的时间、衰减因子、访问频率、关于访问信息的与信息关系或与对象关系、与连接到对象的社交图实体的关系、用户动作的短期或长期平均、用户反馈、其他合适的变量或其任何组合。作为实例而非限制,系数可包括衰减因子,其导致由特定动作提供的信号的强度随着时间衰减,使得当计算系数时更近的动作更相关。评级和权重可基于对系数所基于的动作的持续跟踪而不断更新。可采用任何类型的过程或算法来对每个因素和分配给这些因素的权重进行分配、组合、平均等评级。在具体实施例中,社交网络系统160可使用在历史动作和过去的用户响应方面训练的机器学习算法或通过将用户响应暴露于各种选项并测量响应而从用户获得的数据来确定系数。尽管本公开以特定方式描述了计算系数,但是本公开考虑以任何适当的方式计算系数。

在具体实施例中,社交网络系统160可基于用户的动作来计算系数。社交网络系统160可在在线社交网络上、在第三方系统170上、在其他合适的系统上或其任何组合上监视这样的动作。可跟踪或监视任何适当类型的用户动作。典型的用户动作包括查看简档页面、创建或发布内容、与内容交互、标记图像或被标记在图像中、加入群组、列出并确认参加活动、在地点签到、喜欢特定页面、创建页面以及执行其他促进社交活动的任务。在具体实施例中,社交网络系统160可基于用户对特定类型的内容的动作来计算系数。内容可与在线社交网络、第三方系统170或另一合适的系统相关联。内容可包括用户、简档页面、帖子、新闻报道、标题、即时消息、聊天室对话、电子邮件、广告、图片、视频、音乐、其他合适的对象或其任何组合。社交网络系统160可分析用户的动作以确定一个或多个动作是否指示对主题、内容、其他用户等的亲和度。作为实例而非限制,如果用户可频繁发布与“咖啡”或其变体有关的内容,则社交网络系统160可确定用户具有关于概念“咖啡”的高系数。特定动作或动作类型可被赋予比其他动作更高的权重和/或评级,这可能影响总体计算的系数。作为实例而非限制,如果第一用户向第二用户发送电子邮件,则与如果第一用户简单地查看第二用户的用户简档页面相比,动作的权重或评级可更高。

在具体实施例中,社交网络系统160可基于特定对象之间的关系的类型来计算系数。参考社交图200,当计算系数时,社交网络系统160可分析连接特定用户节点202和概念节点204的边206的数量和/或类型。作为实例而非限制,通过配偶型边(表示两个用户已结婚)连接的用户节点202可被分配比通过朋友型边连接的用户节点202更高的系数。换句话说,取决于分配给特定用户的动作和关系的权重,相比于用户朋友的内容,对于关于用户的配偶的内容,总体亲和度可被确定为更高。在具体实施例中,用户与另一个对象的关系可影响关于计算该对象的系数的用户的动作的权重和/或评级。作为实例而非限制,如果用户在第一张照片中被标记,而仅仅喜欢第二张照片,则社交网络系统160可确定用户相对于第一张照片具有比第二张照片更高的系数因为具有与内容的标记类型关系可被赋予比具有与内容的喜欢类型关系更高的权重和/或评级。在具体实施例中,社交网络系统160可基于一个或多个第二用户与特定对象的关系来计算第一用户的系数。换句话说,其他用户与对象的连接和系数可能会影响对象的第一个用户系数。作为实例而非限制,如果第一用户连接到或具有用于一个或多个第二用户的高系数,并且这些第二用户连接到或具有用于特定对象的高系数,则社交网络系统160可确定第一用户也应具有用于特定对象的相对较高的系数。在具体实施例中,系数可基于特定对象之间的分离程度。较低系数可表示第一用户将共享对社交图200中的间接连接到第一用户的用户的内容对象的兴趣的降低的可能性。作为实例而非限制,社交图实体在社交图谱200中更接近的实体(例如,更少的分离度)可具有比社交图200中进一步分离的实体更高的系数。

在具体实施例中,社交网络系统160可基于位置信息来计算系数。在地理上彼此接近的物体可相比于更远的对象被认为是彼此更相关或更感兴趣。在具体实施例中,用户朝向特定对象的系数可基于对象的位置与与用户相关联的当前位置(或用户的客户端系统130的位置)的接近度。第一用户可能对更接近第一个用户的其他用户或概念更感兴趣。作为实例而非限制,如果用户距离机场1英里并且距加油站2英里,则社交网络系统160可基于机场与用户的接近程度来确定用户对机场的系数比加油站高。

在具体实施例中,社交网络系统160可基于系数信息来执行关于用户的特定动作。可使用系数来预测用户是否将基于用户对动作的兴趣来执行特定动作。当向用户生成或呈现任何类型的对象时,可使用系数,所述对象诸如广告、搜索结果、新闻报道、媒体、消息、通知或其他合适的对象。在适当的情况下,系数也可用来对这些对象进行排序和排列。以这种方式,社交网络系统160可提供与用户兴趣和当前情况相关的信息,增加他们将找到感兴趣信息的可能性。在具体实施例中,社交网络系统160可基于系数信息来生成内容。内容对象可基于特定于用户的系数来提供或选择。作为实例而非限制,可使用该系数来为用户生成媒体,其中可向用户呈现用户针对媒体对象具有高总体系数的媒体。作为另一实例而非限制,系数可用于为用户生成广告,其中可向用户呈现用户针对被广告对象具有高总体系数的广告。在具体实施例中,社交网络系统160可基于系数信息生成搜索结果。针对特定用户的搜索结果可基于与针对查询用户的搜索结果相关联的系数来评分或排序。作为实例而非限制,对应于具有较高系数的对象的搜索结果可在搜索结果页面上排序得高于对应于具有较低系数的对象的结果。

在具体实施例中,社交网络系统160可响应于来自特定系统或过程的对系数的请求来计算系数。为了预测用户在给定情况下可能采取的行动(或可能是主题),任何过程可为用户请求计算的系数。该请求还可包括一组权重以用于各种因素,用于计算系数。该请求可来自在在线社交网络上运行的进程、来自第三方系统170(例如,经由API或其他通信信道)或来自另一合适的系统。响应于该请求,社交网络系统160可计算系数(或者如果之前已经计算并存储了系数信息,则访问该系数信息)。在具体实施例中,社交网络系统160可测量关于特定过程的亲和度。不同的过程(在线社交网络的内部和外部)可请求一个特定对象或一组对象的系数。社交网络系统160可提供与请求亲和度测量的特定过程有关的亲和度测量。通过这种方式,每个过程都会接收亲和度测量,该测量是针对过程将使用亲和度测量的不同语境而定制的。

结合社交图亲和度和亲和系数,具体实施例可利用以下文件中公开的一个或多个系统、组件、元件、功能、方法、操作或步骤:2006年8月11日提交的美国专利申请号11/503093;2010年12月22日提交的美国专利申请号12/977027;2010年12月23日提交的美国专利申请号12/978265;以及2012年10月01日提交的美国专利申请号13/632869,每一个通过引用并入本文。

在具体实施例中,在线社交网络的一个或多个内容对象可与隐私设置相关联。对象的隐私设置(或“访问设置”)可以以任何合适的方式被存储,诸如例如与对象相关联、以授权服务器上的索引、以另一种合适的方式或其任意组合。对象的隐私设置可指定如何使用在线社交网络访问(例如,查看或共享)对象(或与对象相关联的特定信息)。在对象的隐私设置允许特定用户访问该对象的情况下,对象可被描述为相对于该用户是“可见的”。作为实例而非限制,在线社交网络的用户可指定用于用户简档页面的隐私设置,其识别可访问用户简档页面上的工作经历信息的一组用户,从而排除其他用户访问信息。在具体实施例中,隐私设置可指定不允许访问与对象相关联的某些信息的用户的“阻止列表”。换句话说,被阻止的列表可指定对象不可见的一个或多个用户或实体。作为实例而非限制,用户可指定可能不访问与用户相关联的相册的一组用户,从而排除那些用户访问相册(同时还可能允许不在访问相册组用户的某些用户)。在具体实施例中,隐私设置可与特定社交图元素相关联。诸如节点或边之类的社交图元素的隐私设置可指定可如何使用在线社交网络访问社交图元素、与社交图元素相关联的信息或与社交图元素相关联的内容对象。作为实例而非限制,对应于特定照片的特定概念节点204可能有隐私设置,该设置指定照片只能被照片中标记的用户和他们的朋友访问。在具体实施例中,隐私设置可允许用户选择让或者选择不让他们的动作由社交网络系统160记录或者与其他系统(例如,第三方系统170)共享。在具体实施例中,与对象相关联的隐私设置可指定允许的访问或拒绝访问的任何合适的粒度。作为实例而非限制,访问或拒绝访问可针对以下用户指定:特定用户(例如,只有我、我的室友和我的老板)、特定分离程度内的用户(例如,朋友,或者朋友的朋友)、用户组(例如游戏俱乐部、我的家人)、用户网络(例如特定雇主的雇员、学生或特定大学的校友)、所有用户(“公开”)、没有用户(私有)、第三方系统170的用户、特定应用(例如,第三方应用、外部网站)、其他合适的用户或实体或其任何组合。尽管本公开以特定的方式描述了使用特定的隐私设置,但是本公开考虑了以任何合适的方式使用任何合适的隐私设置。

在具体实施例中,一个或多个服务器162可以是用于执行隐私设置的授权/隐私服务器。响应于来自用户(或其它实体)的对存储在数据存储器164中的特定对象的请求,社交网络系统160可向该数据存储器164发送对该对象的请求。该请求可识别与该请求相关联的用户,并且如果授权服务器基于与该对象相关联的隐私设置确定该用户被授权访问该对象,则该请求可仅被发送给该用户(或该用户的客户端系统130)。如果请求用户没有被授权访问该对象,则授权服务器可防止从数据存储器164中检索所请求的对象,或者可防止所请求的对象被发送给用户。在搜索查询语境中,如果查询用户被授权访问对象,则只能将对象生成为搜索结果。换句话说,该对象可能具有查询用户可见的可见性。如果对象具有对用户不可见的可见性,则该对象可从搜索结果中排除。虽然本公开描述了以特定方式实施隐私设置,但是本公开考虑以任何适当的方式实施隐私设置。

在具体实施例中,下面描述的系统可向消费者/供应商/零售商等提供益处。在具体实施例中,系统可提供照片和/或用于家庭监控和家庭通信的视频-可能使用本地(而不一定是云)存储,并且可访问存储在在线系统中的照片和视频,如果连接的话。在进一步的实施例中,系统可提供社交Wi-Fi通信网络,其中系统可授权用户的朋友加入特定的WiFi通信网络而不需要登录。在进一步的实施例中,系统可提供稳健的隐私控制,其中系统可使人们能够在他们可理解的语境中共享数据(到社交网络系统/合作伙伴/第三方应用),可看到共享数据,并可能提供同意。在进一步的实施例中,系统可提供关于谁在家以及特定人何时离开的信息;这可能会延伸到附近的朋友。在进一步的实施例中,系统可提供虚拟安全性,由此系统可向网关提供不断更新以防止病毒、恶意软件、网络钓鱼等。在进一步的实施例中,系统可使用通知来基于任何类型的家庭事件的更新以及能够远程触发警报器和/或联系紧急服务(例如通过拨打911)的能力。

下面描述的系统不需要家中的用户的关注和努力,而是能够提供位置感知、识别多个个体并且结合机器学习支持,使得用户能够将他们的房屋配置和适应自己,如以及响应用户命令。例如,系统可为安全相关设备,诸如相机、门传感器、门锁和运动传感器的使用、配置和自动化功能提供更加无缝的体验。

在具体实施例中,系统可创建用于将家庭连接成无缝无线体验的开放平台。在具体实施例中,系统可提供利用社交网络的关键资产(例如,身份、社交图、安全性或专业驾驶开放和负担得起的参考设计)的解决方案来改善家庭和家庭与其家庭交互的家庭体验。在具体实施例中,系统可使开放式平台能够支持物联网(IoT)设备提供商并为其提供价值。

图3示出了用于管理包括一组设备的设备云的实例体系结构。设备云中的一个或多个已连接的设备305可用于与设备云中的一个或多个其他已连接的设备305通信并且(主动地或自动地)控制所述一个或多个其他已连接的设备305。如下所述,可在控制设备315上提供控制界面或应用以控制设备云中的其他设备305。在具体实施例中,系统300可包括与多个已连接或“智能”设备305和控制设备315通信的网关(GW)设备310。在具体实施例中,网关设备310可驻留在特定物理位置。已连接的设备305可包括从复杂的嵌入式计算设备到切换到简单传感器的任何事物-例如,图3的实例中所示的已连接的设备305包括台式计算机、膝上型计算机、冰箱、家庭安全系统、电视机、车辆和单镜头反光(SLR)相机。

控制设备315可呈现用户界面(UI)(例如,通过安装的控制应用程序、浏览器、短消息服务(SMS)文本接口或由控制设备315操作系统提供的用于与网关设备310和连接的设备305(通过网关设备310)交互的界面。作为实例而非限制,用户的智能电话或平板计算机315可显示用于访问或控制设备云的已连接的设备305的用户界面,诸如例如,已连接的灯、加热/冷却系统、门锁机构或安全系统。在具体实施例中,控制设备315可为设备云中的特定“可控”设备提供控制,例如,阈值接近度内感测到的那些、包括设备可接收和处理远程控制命令的远程交互界面的那些、用户已经被授权对设备进行控制的那些、或可用的那些(例如,通电、连接到网络、远程控制可操作和/或启用)。在具体实施例中,控制设备315的控制应用可与网关设备310的网关应用接口,以提供控制设备云的已连接的设备305并与其交互的功能。在具体实施例中,控制设备315可包括充当系统300的主用户体验(UX)点的一个或多个UI客户端(例如,消息服务或控制应用);社交网络应用或其他移动应用——帮助应用,用于初始提供,蓝牙和位置发现,以及消息收发应用无法执行的任何与权限相关的操作。这里,对提供的引用可指准备或配置用于在特定系统(例如,基于网关的系统300)上使用的设备305的建立过程。

系统300可为所有的IoT设备(例如,作为产品的平台)提供优越的家庭连接性。这里,对控制应用的引用可指基于浏览器的应用或安装在控制设备315上的另一应用。在具体实施例中,控制应用程序可由用户使用来提供已连接的设备305。在进一步的实施例中,控制应用程序可基于特定的场景为用户提供特定的UX。在具体实施例中,控制设备315上的控制应用可使得能够查看系统300的已连接的设备305的列表、关于控制已连接的设备305的规则的设置,或者从已连接的设备305推送状态更新到控制设备315上的应用(例如,控制应用)。

在具体实施例中,可使用蓝牙、NFC或已连接的设备305和网关设备310之间的任何其他适当形式的通信来提供已连接的设备305。在具体实施例中,系统300可提供已连接的设备305的多个管理特征。作为实例而非限制,可利用本文描述的社交图或设备图来与家中的人或全球任何地方的人(例如,互联网协议上的语音(VOIP)、视频呼叫)连接——也实现从社交图拉来的来电照片呼叫者ID(例如,社交网络应用程序可被同步到电话上的联系人)。在具体实施例中,系统300可利用社交网络系统160、与社交网络系统160相关联的社交图、与社交网络系统160相关联的设备图、社交图中的特定身份、提供给用户的通知和“开放式平台”方法。

在具体实施例中,系统300可实现对已连接的设备305的控制,诸如例如恒温器、通风口、光控制、百叶窗控制、选择性功率时间(汽车充电、洗衣、洗碗机)或家庭监控系统。作为实例而非限制,音频或视频内容可以是从任何已连接的设备305到通过网关设备310连接的任何其他已连接的设备305的单播或多播。在具体实施例中,下面描述的自然语言处理(NLP)技术可被利用来使用户能够口头或文本地控制系统300的设备305。在具体实施例中,系统300可通过已连接的设备305的传感器来跟踪家庭的温度、湿度、空气质量等,并且如果发现问题,发送警报。在具体实施例中,系统300可从已连接的设备305检索事件“馈送”以用于基于过去的行为建议规则,并且针对已连接的设备305个性化智能家居体验。

在具体实施例中,系统300可基于一天中的时刻显示或“浮现”最相关的社交网络系统160或第三方170信息或故事,在房屋内的每个表面(例如,已连接的设备305)显示(天气、生日、相关新闻/公开内容、优惠/交易、广告等)。作为实例而非限制,任何共享内容可经由社交网络应用、社交媒体照片共享应用、消息收发应用等在家中的已连接的设备305的显示器上浮现。在具体实施例中,系统300可提供自动购物体验,其中系统可跟踪购买和消费习惯以帮助自动化重复购买消费品。在具体实施例中,系统300可提供洞察用户的购买决定。家庭活动及其居民的意识可提供详细的洞察力,以确定某人是如何做出购买决定的。诸如例如家中的物理位置、所使用的设备305、观看项目的家庭成员数量、对话、观看之间的时间等的因素可被感测并且用于获得对用户在做出购买决定时和关闭数字广告到物理采购的循环(衡量广告投资回报率的关键)时经历的步骤的更深的理解。

在具体实施例中,系统300可提供基于系统300内发生的事情的活动来优化广告和内容的方法。例如,理解家中的当前环境可帮助提供更合适的消费内容提供给家庭成员(无论是通过社交网络系统160还是家中的媒体内容),或者确定展示广告的最合适的时间。从简单的事情,比如为家中丢失或破碎的东西做广告,到显示出色的汽车广告,不是在父母四处奔波的时候,只是检查喂养孩子和睡觉之间的通知,而是当他们在悠闲地滚动新闻馈送而电视正在播放只有其中一个在热情地观看的节目时。

在具体实施例中,系统300可扩展网关设备310的能力以用作中央家庭计算机和IoT集线器。在进一步的实施例中,系统300可提供本地存储和支持所有关键的有线和无线协议,用于宽带访问外部世界以及家庭内已连接的设备305之间的通信,以卓越的质量。在进一步的实施例中,系统可为已连接的第三方设备和宽带设备开发分析工具。在进一步的实施例中,系统300可建立在标准协议、通用硬件(HW)、开源操作系统、开源API等上运行的开放原则。在进一步的实施例中,系统300可对硬件建设者社区贡献潜在的硬件和固件无线技术的改进。

这样的系统体系结构可用于存在于所定义的物理空间(例如,房屋、办公大楼或公园)中的已连接的设备305或与特定用户或实体相关的一组已连接的设备305使用(例如与在其家中具有已连接的设备的用户相关的那些、他们的汽车和他们的小型零售业务;或者属于物业管理业务,管理一组建筑物的门锁和警报安全系统)——在后一种情况下,每个物理位置(例如,房屋、汽车和商业)可能都需要它们自己的网关设备310。

网关设备310可与后端系统320连接,后端系统320可托管在远程服务器或服务器组上。后端系统320可包括消息收发基础设施325(例如,与控制设备315通信)和集成层330(例如,平台和/或应用编程接口(API))以与不同的已连接的设备阵列305接口,诸如PARSE)以在后端系统320和网关设备310(和/或控制设备315和/或直接与已连接的设备305)的元件之间接口。后端系统320可维护设备事件的数据存储332,包括从网关设备310和每个已连接的设备305接收的数据以及从其中导出的数据。后端系统320还可维护用于下面描述的一个或多个设备图的数据存储334,其中网关设备310和每个已连接的设备305均可由设备节点表示,所述设备节点具有连接设备节点的设备边。后端系统320可包括用于处理和分析设备事件、更新设备图形以及向已连接的设备305和/或控制设备315提供反馈和/或指令的设备图形智能基础设施335。后端系统320还可与社交网络系统160通信。在具体实施例中,某些功能可由网关设备310、后端系统320或其组合提供。

在具体实施例中,网关设备310可指代能够支持所需功能的任何计算设备,以促进智能/已连接的设备305的本地网络控制,并充当可在云端运行的服务的本地网关。这里,对服务的引用可指代特定的软件功能或者一组特定的软件功能(例如,执行特定的操作)。在具体实施例中,服务可促进与用户的通信。在具体实施例中,系统300和用户可使用自然语言进行通信(其可如下所述那样被解析)。在具体实施例中,用户可使用消息收发应用来与网关设备310和/或任何已连接的设备305(通过网关设备310)进行通信。

在具体实施例中,网关设备310可包括任何计算设备,包括处理器、近距离联网能力以及执行本文描述的一些或全部功能的能力。作为实例而非限制,网关设备310可基于标准计算设备或服务器和USB电力电缆;MICRO安全数字(SD)卡和MICRO SD卡到标准SD卡适配器;WiFi电子狗、蓝牙电子狗;HDMI电缆和监视器;或ZWAVE软件狗。在具体实施例中,可将HDMI电缆插入到网关设备310中以查看特定步骤的输出,但是不需要查看输出。在具体实施例中,HDMI电缆/监视器可替代可插入到网关设备310中的USB串行电缆。在具体实施例中,可能不需要用于不同家庭控制设备的专用集线器。在具体实施例中,可使用蓝牙低功耗(BTLE)来执行网关设备310的供应。

在具体实施例中,网关设备310可包括在连接到用户家庭网络的本地网关设备310上运行的网关应用。在具体实施例中,可使用网关设备310(例如,基于运行RASPIAN Linux并支持WiFi、蓝牙、ZWAVE和ZIGBEE电子狗的RASPBERRY PI平台)来托管上述网关应用。在具体实施例中,网关应用可由有限数量的设备来支持,具体地但不限于:支持来自多个供应商的两个或更多个已连接的灯的发现和供应(例如PHILLIPS HUE、BELKIN WEMO WiFi开关、ZIGBEE或ZWAVE智能开关);控制一个或多个预先提供的智能锁(例如,LOCKITRON、AUGUST);到多个设备305(例如,WiFi连接的扬声器、智能电视或网关设备310本身)的内容(例如,音乐和/或视频)的控制和流式传输(例如,通过高清晰度多媒体接口(HDMI)端口))。

网关应用的责任可包括理解和处理“物理”级别的各种智能/已连接的设备305,包括但不限于:通过蓝牙、ZIBGEE、ZW AVE、WI-FI(接入点和直接)等发现和提供新的已连接的设备305;物理设备到设备类型和设备ID的映射;设备类型到可用功能的映射;具有与“垂直”(例如,“灯”或“门锁”)相同的能力或类型的设备305的分组/关联;对于理解各种行业协议(例如ALLJOYN、THREAD、WEAVE或ZIGBEE)的支持;从后端系统320传递到命令消息的特定用户意图(例如,与特定设备ID相关联)(例如,“设备ID XXX打开”可由网关设备310翻译成“PHILLIPS HUE设备ID XXX打开”);以及将特定设备通知翻译成可由后端系统320解释的逻辑通知(例如,“August SmartLock设备ID XXX解锁”可由网关设备310翻译为“解锁的设备ID XXX”)。在具体实施例中,当网关设备310在物理设备和逻辑设备之间进行一些映射时,网关设备310可将消息转换成机器可读的结构化格式。在具体实施例中,用户可明确地分组特定设备305,或者可基于一个或多个标准(例如,能力、位置、先前交互或设备图连接或表示设备305的节点和表示用户的节点之间的设备边)对特定设备305进行明确分组。

在具体实施例中,一旦用户登录,网关应用可运行周期性BT扫描以检测已连接的设备305。在进一步的实施例中,对于未知的附近已连接的设备305,系统300可:测试回声特性以检查已连接的设备305是否被密码保护;向用户显示关于已连接的设备305的通知;如果用户点击通知,询问用户是否想要将已连接的设备305添加到系统300;如果已连接的设备305被密码保护,则询问用户密码;如果没有密码保护,则将已连接的设备305添加到系统300。

在具体实施例中,对于已知的附近已连接的设备305,系统300可:如果设备305连接到系统300,则缓存已连接的设备305的状态;测试具有回声特性的缓存密码;如果密码已更改,则向用户显示通知;如果已连接的设备305没有连接到系统300,则向用户显示通知;如果用户点击任一通知,请求WiFi凭证的密码。在具体实施例中,所有这些功能都是通过网关应用的设备细节屏幕来执行的。在进一步的实施例中,设备细节屏幕可提供以下能力:重命名已连接的设备305,设置/改变已连接的设备305的密码,明确地断开/更新已连接的设备305的WiFi或者执行已连接的设备305支持的任何命令。

在具体实施例中,后端系统320可包括在与网关设备310通信的云中运行的应用/服务。此外,后端系统320可处理与消息收发应用和NLP系统的集成,将用户的意图翻译成具体逻辑设备控制意图(例如使用NLP和执行语境感知)和机器学习(ML)来推断涉及多个已连接的设备305的复杂行为规则。在具体实施例中,后端系统320可通过网关设备310仅与已连接的设备305中的各个设备接口。在具体实施例中,后端系统320可处理逻辑设备(例如,“灯”对“PHILLIPS HUE”),由用户分配的别名(例如,“前廊灯”)和设备组(例如,“所有灯”)。在具体实施例中,后端系统320可将设备305的用户别名与由网关设备310提供的各个设备305的逻辑ID进行映射。作为实例而非限制,用户名“前廊灯”可与如上所述的特定设备ID关联。作为另一实例,用于沿着“水平”或位置(例如“起居室”或“前门”)的设备305的分组/关联的别名可被映射到相应的设备ID。

在具体实施例中,后端系统320可将各个设备305的设备能力映射到人类或自然语言输入/输出命令。作为实例而非限制,来自用户的具体意图可被翻译为基于设备ID的动作(例如,“打开前廊灯”可由后端系统320翻译为“设备ID XXX打开”)。相反地,设备通知可由后端系统320翻译成人可读或自然语言格式(例如,“设备ID XXX解锁”可由后端系统320翻译为“前门解锁”)。在具体实施例中,设备305的这些自然语言控制和通知可通过在控制设备315上执行的消息收发应用来执行。后端系统320可创建并执行多设备指令(例如,“当前门被解锁时,打开前廊灯亮”)。

在具体实施例中,为了能够以语境感知的方式来解释命令,后端系统320可包括访问下面描述的设备图的逻辑,以识别用户ID(对应于想要采取动作的用户)和/或用户位置信息(例如,基于诸如移动蜂窝网络的小区塔ID、WiFi地理位置、可见服务集识别(SSID)的信号或者经由GPS坐标的强定位)。例如,用户可能与和多个位置(例如,主要家庭住宅、周末公寓、次要住宅)相关联的网关设备310相关联,在这种情况下,用户位置信息可确定特定命令应该应用的特定设备305。

位置确定技术在确定客户端系统(例如,控制设备315)在开放空间中的位置时可能是最有效的,但是难以确定建筑物内的位置,诸如例如商场或电影院。在具体实施例中,可通过使用作为室内定位系统的一部分的BTLE信标来确定客户端系统的位置。作为实例而非限制,客户端系统的位置服务可确定客户端系统在特定建筑物附近,但是可使用位于商店内的BTLE信标来优化客户端系统的位置,以确定客户系统位于建筑物内部还是外部。

BTLE信标被配置为以预定时间间隔发送“接近信号”。BLE信标发送通用唯一识别符(UUID)和主要和次要代码。UUID用于识别共同的信标组(例如,与特定商店相关联),并且主要和次要代码可用于将信标与物理空间的给定位置或区域唯一地关联,使得附近任何适当配备的设备(如移动设备)可检测到它。在客户端系统上执行的应用可处理来自建筑物内的BTLE信标的接近信号,并且社交网络系统160可基于编码在接近信号中的信息来确定客户端系统在建筑物内。作为实例而非限制,配备有BTLE信标的家庭可区分当前位于起居室中的控制设备315或配备有信标的房屋的厨房。尽管本公开描述了室内位置确定的特定方法,但是本公开考虑了任何合适的室内位置确定方法,诸如例如内部WI-FI路由器跟踪。

在具体实施例中,在网关设备310上运行的集线器进程可:(a)监听来自集成层330的推送;和(b)写入所接收的推送数据(例如,标准输出)。在具体实施例中,集线器进程可用C编写。在具体实施例中,规则运行时解释程序可包括读取本地存储的规则的JAVASCRIPT应用;生产集线器进程并监视集线器进程的输出以:(a)解析从集成层330接收的推送的数据,以及(b)基于解析的信息执行以下中的一个或多个:更新规则;在本地存储新规则;执行设备控制;执行查询;发现设备305;解析规则;等待规则指示的触发器(时间或传感器);在触发器上执行事件;执行设备控制;运行允许经由本地网络触发规则的本地网络服务器。

在具体实施例中,将已连接的设备305添加到系统300(例如,通过手动触发配对进程或被通知关于自动检测的已连接的设备305)可涉及:为设备305生成唯一的云设备ID,创建通过设备ID所识别的用于已连接的设备305的云对象并且将网关设备310上的云对象关联,将云设备ID添加到网关设备310(云将使用该ID参考设备305),添加基本数据或者设备305的特性到云,将设备305与包含已知已连接的设备305的原型的表格中的条目关联,从标签向已连接的设备305添加元数据,其中标签具有关联的类型和值,并且驻留在网关设备310的语境中。

在具体实施例中,网关应用位于已连接的设备306和用户通过其接口的后端系统320之间,以便控制设备云的已连接的设备305。这样,网关应用接收从后端系统320发送的命令消息,并将命令消息转换为控制已连接的设备305的指令。

在具体实施例中,控制已连接的设备305的指令可从后端系统320的集成层330“推送”到已连接的设备305。作为实例而非限制,指令可包括与控制设备315关联的应用ID(例如,设备ID)。在具体实施例中,指令可包括标志或变量,用于将指令引导到特定已连接的设备305、已连接的设备305的组或者设备云的所有已连接的设备305。如上所述,为每个已连接的设备305生成唯一的识别符,并且可将其存储在数据表中的集成层330中。在具体实施例中,推送到已连接的设备305的指令可对应于诸如例如规则、发现、查询、控制或更新的功能。

作为实例而非限制,规则函数是由已连接的设备305根据特定条件执行的一组指令。实例条件可包括基于设备的条件或基于时间的条件。当设备305分别进入特定状态或设定时间或星期几时,这些条件可能正在执行指令。在具体实施例中,设备云(例如,在家中)可在云中具有相应的实例。每个设备动作(例如,控制指令、设备警报等)可被记录并且通过设备云实例的消息收发队列来发送。规则可具有控制指令,其可由已连接的设备305基于定时执行或由另一条件触发。特定的设备云实例可能具有用于消化设备动作消息收发队列的规则执行引擎并执行规则。在具体实施例中,规则可被实现为一系列命令。

在具体实施例中,发现指令返回当前连接到网关设备310的已连接的设备305的列表。在具体实施例中,查询指令返回一个或多个已连接的设备305的当前状态。作为实例而非限制,查询指令可包括已连接的设备305的设备识别符和与已连接的设备305相关联的类型。在具体实施例中,控制指令使网关设备310基于一个或多个配置参数或设包括在控制指令中设置改变指定的已连接的设备305的当前状态。配置设置可特定于被控制的设备305的类型。作为实例而非限制,用于已连接的灯泡的配置设置可包括通电、断电、亮度或色调。作为另一实例,已连接的音乐播放器的配置设置可包括音量设置、开机、关机或者要播放的特定内容或播放列表。

在具体实施例中,系统300的元件可包括用于为与系统300接口的应用提供访问简档的API,诸如:网关设备310:家庭中的中央实体,接口该家庭的所有设备,并提供本地访问以及离线体验;后端系统320:使用来自消息收发应用的自然语言来控制家庭;移动应用或基于浏览器的管理界面(在控制设备315上运行的一个界面)来管理设备云。

如上所述,用户可经由控制应用进行通信以控制、管理或激活用户的设备云的一个或多个已连接的设备305。控制设备315可通过网关设备310的网关应用与已连接的设备305交互。在具体实施例中,控制应用的功能可并入消息收发应用中,使得消息收发应用可用作与其他用户的消息收发应用和与设备云的已连接的设备305进行交互的控制应用。作为实例而非限制,消息收发应用通过通信网络(例如,WI-FI或蜂窝数据网络)在两个或更多个客户端系统之间提供实时文本传输。在具体实施例中,客户端系统之间的文本传输可使用特定的“聊天”来执行(例如MQ遥测传输(MQTT))协议或SMS协议)。此外,消息收发应用还可支持文件传输、可点击的超链接、VOIP呼叫或视频聊天功能。

在具体实施例中,用户可具有使用控制应用(例如,消息收发应用)查询、编程或管理已连接的设备305的能力。在具体实施例中,类人或人工智能可在消息收发应用内实现,使得用户能够使用自然语言命令消息来控制、管理或激活用户的已连接的设备305。在具体实施例中,由消息收发应用发送的命令消息可以是语音转录的消息。作为实例而非限制,用户可对控制设备315的麦克风说“列出我的家庭设备”,消息收发应用可使用语音转录来生成命令消息,并向消息收发基础设施325发送相应的命令消息。集成层330可将对应于自然语言命令消息的指令发送到网关设备310。在具体实施例中,后端系统320具有从先前使用的已连接的设备305建立执行语境的能力,并且隐含地推断哪些已连接的设备305与之交互。作为实例而非限制,用于指令的执行语境可对应于时间、地点、命令、已经执行了命令的频率或者应该执行命令的次数。作为另一实例,确定执行语境可包括确定用户的授权等级;确定为已连接的设备305配置的许可或隐私设置;确定用户交互历史;或确定用户的当前位置。

在具体实施例中,消息收发应用具有通过NLP在已连接的设备305的语境内理解用户之间的人与自然语言聊天或消息的能力。在具体实施例中,命令消息可被发送到社交网络系统160以解析命令消息的文本并识别一个或多个n元语法(n-gram)。一般来说,n元语法是命令消息中来自给定文本序列的n个项目的连续序列。作为实例而非限制,项目可以是构成命令消息的文本序列中的字符、音素、音节、字母、单词、基对、前缀或其他可识别项目。n元语法可包括通过消息收发应用的UI输入的一个或多个文本字符(字母、数字、标点符号等)。在具体实施例中,每个n元语法可包括命令消息的字符串(例如,文本的一个或多个字符)。在具体实施例中,社交网络系统160可将所识别的n元语法返回到后端系统320的设备图智能基础设施335,其可将所识别的n元语法与存储在数据存储中的设备图334的节点进行匹配,如下所述。

在具体实施例中,社交网络系统160可将所识别的n元语法匹配的名称、类型、类别或其他识别符返回到后端系统320。NLP过程可使用一个或多个匹配算法来尝试识别命令(例如,控制或查询)、设备ID或与识别的n元语法匹配的位置名称。当找到一个或多个匹配时,NLP可发送对应于特定已连接的设备305或已连接的设备305的分组的名称(名称串)以及潜在地与设备图智能基础设施335相关联的其他元数据。

在具体实施例中,社交网络系统160可将所识别的n元语法返回到后端系统320。在具体实施例中,设备图智能基础设施335可将所识别的n元语法与以下的别名进行匹配:特定的已连接的设备305,沿着水平的已连接的设备305的分组/关联(例如,“起居室”或“前门”),或者“垂直”中的已连接的设备305的分组/关联(例如“灯”或“门锁”)。在具体实施例中,设备图智能基础设施335可将所识别的n元语法与特定位置(例如起居室或后院)的别名进行匹配。

在具体实施例中,设备图智能基础设施335可将所识别的n元语法与先前与存储在设备事件数据存储332中的已连接的设备305的交互进行匹配。作为实例而非限制,在用户指示(通过消息收发应用上的文本或音频消息传递)已连接的灯被打开,后端系统320可能不需要明确地指向特定的已连接的灯,但可能够推断打开哪个已连接的灯。在具体实施例中,该推断可基于先前与存储在设备事件数据存储332上的已连接的设备305的交互以及用户的当前位置。作为实例而非限制,后端系统320可基于存储在设备事件数据存储332上的先前交互来确定用户在过去的场合中指示厨房中的灯在厨房中时打开。作为另一实例,设备图智能基础设施335能够基于消息收发基础设施325来推断(该消息收发基础设施325向用户发送关于厨房灯打开的通知)来自用户的关闭灯的后续命令消息是指最近打开的厨房灯。

在具体实施例中,集成层330可基于执行语境将从消息收发基础设施325接收到的命令消息转换为发送到网关设备310的指令。作为实例而非限制,命令消息“打开前廊灯“可基于前廊附近用户的当前位置的执行语境以及用户先前打开相同的前廊灯(来自设备事件数据存储332)而被转换为指令“设备ID XXX打开”。作为另一实例,可基于用户先前打开恒温器的执行语境(例如,来自设备事件数据存储332)将命令消息“在6pm设置温度到75°F”转换为指令“设备ID XXX控制温度=75时间=18:00”。

如上所述,集成层330还可从已连接的设备305接收设备消息,并将该设备消息转换为自然语言消息以通过消息收发基础设施325发送到控制设备315。作为实例而非限制,设备消息可包括响应于用户查询的状态更新,用于澄清命令消息的附加信息的请求;对认证用户的请求;确认命令消息或确认指令完成的消息,指示不能执行指令的消息或关于一个或多个已连接的设备305的警告。

图4示出了实例设备图形400。在具体实施例中,后端系统320可将一个或多个设备图形400存储在设备图形数据存储324中。在具体实施例中,设备图形400可与社交网络系统160的社交图形200集成。设备图400可类似于社交图200,并且可包括多个用户节点202(每个对应于特定用户)或多个设备节点404(每个对应于特定设备)以及多个边(例如,206或包括“设备”边406)。作为实例而非限制,位于用户家中的每个已连接的设备305可由设备图形400中的节点404表示。在具体实施例中,设备边406将对应于特定的已连接的设备305的节点与对应于用户的节点202连接,基于发送命令或与特定的已连接的设备305交互的用户。在具体实施例中,设备图形400可包括如关于图2所描述的,代表用户之间的关系的用户节点202对之间的边206。

在具体实施例中,设备节点404可对应于已连接的或智能设备305。如上所述,已连接的或智能设备305可对应于台式计算机、膝上型计算机、头戴式显示器(HMD)、已连接的恒温器、冰箱、家庭安全系统、已连接的照明开关、已连接的灯泡、已连接的门锁、媒体服务器、电视机、车辆、网络路由器、网络摄像机、单镜头反光(SLR)摄像机;另一种合适的设备或者两个或更多个这样的设备。设备节点404可与由用户提供的概念的信息或者由包括社交网络系统160的各种系统收集的信息相关联。作为实例而非限制,已连接的设备305的信息可包括名称或设备ID;设备类型;设备能力;位置(例如地址或地理位置);拥有用户或实体;由所有者分配的设备别名;其他合适的设备信息或这些信息的任何适当的组合。在具体实施例中,设备节点404可与对应于与设备节点404相关联的信息的一个或多个数据对象相关联。

在具体实施例中,“设备”边406中的一个或多个对应于与由设备节点404表示的设备305相关联的动作或设置。在具体实施例中,用户节点202和设备节点404之间的设备边406可表示由与用户节点202相关联的用户对与设备节点404相关联的设备305执行的特定动作或活动。作为实例而非限制,如图4所示,用户可“锁定”、“解锁”、“配置”、“登录”或“开机”设备305,每个设备305可对应于设备边类型或子类型。作为另一实例,用户(用户“F”)可使用特定的消息收发应用来配置到特定的设备(“汽车”)。在这种情况下,社交网络系统160可在对应于用户的用户节点202和对应于汽车的设备节点404之间创建“配置”边406(如图4所示)。尽管本公开描述了具有连接用户节点202和设备节点404的特定属性的特定设备边406,但是本公开考虑了具有连接用户节点202和概念节点204的任何合适的属性的任何合适的边206。此外,尽管本公开描述了代表单一类型关系或交互的用户节点202和设备节点404之间的设备边,但是本公开考虑代表一种或多种类型关系或交互的用户节点202和设备节点404之间的设备边。作为实例而非限制,设备边406可表示用户已经“锁定”和“解锁”了特定的已连接的门锁两者。可替代地,另一个设备边406可表示用户节点202和特定设备节点404之间的每种类型的关系(或者单个关系的倍数)(如图4中在用户“B”的用户节点202和用于“前门”的设备节点404之间)。在具体实施例中,社交网络系统160可修改或更新设备图400以创建将对应于特定设备的节点404与对应于新用户的节点连接的新设备边406,基于新用户第一次与特定的已连接的设备305交互或向其发送命令。在具体实施例中,如上所述,当特定用户第一次将新设备305连接到网关设备310时,可创建新设备节点404和设备边406并将其连接到特定用户节点202。作为实例而非限制,设备图400可包括将表示其他用户(例如,非所有者)的节点连接到用户的设备或者在用户的设备(例如,台式计算机)和其他已连接的设备(例如智能恒温器)之间的设备边406。

在具体实施例中,与系统300相关联的各种对象类型可由设备节点404表示,或者作为设备图400中的设备节点404的属性来表示。作为实例而非限制,设备节点404(或设备节点404的属性)可与已连接的设备305、一组已连接的设备305、网关设备310、区域(例如,水平的)或一组设备能力相关联。在具体实施例中,不同设备关联可被表示为设备图400中的设备边406。作为实例而非限制,设备边406可表示已连接的设备305与网关设备310的关联,用户与网关设备的关联,用户与已连接的设备305的关联,其中关于各个已连接的设备305的许可可以是与相应的设备边406相关联的属性,已连接的设备305到一组已连接的设备(例如垂直的)或已连接的设备305到设备能力集。

在具体实施例中,如上所述的NLP可执行或导致执行搜索以识别具有与所识别的n元语法相匹配的相应名称、类型、类别或其他识别符的现有设备图元素。此外,设备图智能基础设施335可使用一个或多个匹配算法来尝试识别与解析的命令消息的n元语法匹配的用户节点202、设备节点404或设备边406,所述解析的命令消息由消息收发应用发送。当找到一个或多个匹配时,设备图智能基础设施335可检索包括例如匹配节点(例如,用户202或设备404)的名称(名称串)以及潜在地与匹配节点关联的其他元数据。

在具体实施例中,社交网络系统160或后端系统320可使用与上述的社交图亲和度类似的设备亲和系数(其在本文中可被称为“设备系数”)来测量或量化“设备”。设备系数可表示或量化与已连接的设备305相关联的特定对象与已连接的设备305的用户之间的关系的强度。在具体实施例中,可使用各种因素来计算设备系数。这些因素可包括例如用户动作、对象之间的关系的类型、位置信息、其他合适的因素或其任何组合。在具体实施例中,当计算设备系数时,不同的因素可被不同地加权。每个因素的权重可以是静态的,或者权重可根据例如用户、关系的类型、动作的类型、用户的位置等而改变。在具体实施例中,当确定用于计算设备系数的各种因素的权重时,可考虑各种变量,诸如例如特定用户与特定已连接的设备305交互以来的时间、衰减因子、交互频率、信息关系或与关于访问哪个信息的已连接的设备305的关系,关于连接到已连接的设备305的设备图实体的关系,用户设备交互的短期或长期平均值,其他合适的变量或其任何组合。如上所述,设备系数可包括使得由特定交互提供的信号的强度随时间衰减的衰减因子,使得当计算系数时更近的交互更相关。评级和权重可基于设备系数所基于的交互的持续跟踪而不断更新。可采用任何类型的过程或算法来分配、组合、平均等等,对每个因素的评级和分配给这些因素的权重。在具体实施例中,可使用在历史动作或过去的用户交互上训练的机器学习算法来确定设备系数。尽管本公开描述了以特定方式计算设备系数,但是本公开考虑以任何合适的方式计算设备系数。

在具体实施例中,可基于用户与一个或多个已连接的设备305的交互来计算设备系数。作为实例而非限制,如果用户可频繁地与特定“前门”交互,则用户可被确定为相对于特定的“前门”具有高的设备系数。相比于其他设备交互,特定的设备交互或者交互类型可被分配更高的权重和/或评级,这可能影响整体计算的设备系数。作为实例而非限制,如果第一用户“配置”“恒温器”(例如,设定温度),则该特定交互的权重或评级可高于如果第一用户简单地“通电”“恒温器”。在具体实施例中,设备系数可基于特定设备图对象(例如,设备节点)之间的分离程度。在具体实施例中,可基于连接到特定设备的特定用户之间的关系的类型来计算设备系数。

图5示出了用于控制已连接的设备的实例方法。方法500可在步骤510开始,其中计算机服务器机器可从与用户相关联的客户端设备接收命令消息。在具体实施例中,命令消息通过消息收发应用发送。在步骤520,计算机服务器机器可解析命令消息。在具体实施例中,解析识别命令消息的一个或多个n元语法。在具体实施例中,在步骤520,计算机服务器机器访问设备图。在具体实施例中,设备图包括表示用户的至少一个节点以及分别表示已连接的设备中的相应的一个的一个或多个节点。在步骤530,计算机服务器机器基于解析的命令消息识别多个已连接的设备中的一个或多个。在具体实施例中,计算机服务器机器至少部分地基于与表示已连接的设备中的相应的一个的一个或多个节点匹配的一个或多个识别的n元语法来识别多个已连接的设备中的一个或多个。在步骤540,计算机服务器机器基于解析的命令消息来确定针对所识别的已连接的设备的一个或多个指令。在步骤550,计算机服务器机器将指令提供给所识别的已连接的设备。在具体实施例中,在步骤555,计算机服务器机器更新设备图。在具体实施例中,计算机服务器机器更新设备图,以添加将表示用户的节点与一个或多个节点连接的边,一个或多个节点中的每个节点表示所识别的已连接的设备中的相应的一个。具体实施例在适当的情况下可重复图5的方法的一个或多个步骤。尽管本公开描述和图示了以特定顺序发生的图5的方法的特定步骤,但是本公开考虑以任何合适的顺序发生的图5的方法的任何合适的步骤。此外,尽管本公开描述和示出了用于控制已连接的设备的实例方法,包括图5的方法的特定步骤,但是本公开考虑用于控制已连接的设备的任何合适的方法,包括任何合适的步骤,在适当的情况下可包括图5的方法的所有步骤、一些步骤或不包括。此外,虽然本公开描述和图示了执行图5的方法的特定步骤的特定组件、设备或系统,本公开考虑执行图5的方法的任何合适的步骤的任何合适的组件、设备或系统的任何合适的组合。

在具体实施例中,系统300可在设备图中提供用户角色设置(用户、命令或基于位置的)的配置(例如,许可模型可允许为完全控制配置管理员角色或配置具有有限许可的用户限制角色)。例如,用户可能不希望他们的孩子(在立体声系统所在的客厅中玩耍)在他的家庭办公室中工作时改变用户当前正在享受的音乐。

网关设备310可具有一个所有者,并且其他用户可被认证为控制一个或多个已连接的设备305。在具体实施例中,用户(例如,所有者)可为一个或多个其他用户(例如,朋友或家庭成员)提供对于已连接的设备305的临时访问,通过使用消息收发应用发送的命令消息,使得消息收发应用充当用于授权的组框架。作为实例而非限制,通过将另一个用户添加到消息收发聊天会话,可向另一个用户提供对一个或多个已连接的设备305的访问和授权。如上所述,自然语言命令消息可通过消息收发应用发送。作为实例而非限制,用户可输入自然语言命令消息“给用户‘B’到前门的关键访问权”。在具体实施例中,后端系统320可请求用户添加用户“B”到在消息收发应用上的群聊,作为授权过程的一部分。在具体实施例中,后端系统320可确定两个用户(例如,用户和用户“B”)具有满足预定义阈值的如上所述的社交图系数。在这种情况下,用户(例如,用户“B”)可被允许临时访问已连接的设备305(例如前门)。作为实例而非限制,集成层330可经由该消息收发应用向另一用户(例如,用户“B”)的客户端系统发送临时开门令牌,使得当朋友是用户的邻居,朋友可在用户家停下并自由进入前门。

在具体实施例中,预定阈值可基于满足预定阈值的如上所述的其他用户(例如,用户“B”)和特定的已连接的设备305(例如前门)之间的设备系数。作为实例而非限制,可临时授权用户“B”访问前门,基于用户“B”基于与前门具有高设备系数的用户“B”(例如,与前门的频繁交互)。在具体实施例中,用户对特定的已连接的设备305的授权等级可基于亲和度/社交图、组成员资格、简档数据或技能认证。在具体实施例中,后端连接到集线器进程可以是用于使用令牌的信道授权(例如,令牌的发送者需要具有共享的许可)。在具体实施例中,一旦其他用户与已连接的设备305交互,可向用户发送指示所连接的设备305的状态的消息。

作为另一实例,系统300可通过创建临时Wi-Fi网络并且之后在时限已经过去之后删除临时Wi-Fi网络来授权对通信网络(例如,Wi-Fi)的时间受限的访问。作为另一个实例,可通过带外机制(例如,通过经由消息收发应用发送的事件邀请或推送通知)来广播临时Wi-Fi SSID,从而当特定用户到达Wi-Fi附近或到达特定位置(例如,如果SSID被隐藏)时允许自动连接。在具体实施例中,系统可实现个人信息的传送。在进一步的实施例中,该系统可包括用户认证令牌。在进一步的实施例中,一旦通过用户令牌连接到因特网,设备就可获取所识别的账户信息。在具体实施例中,用户可通过但不限于名称、简档名称、电子邮件、电话号码或家庭圈来进行认证。在进一步的实施例中,信息可通过WiFi网络、蓝牙MAC或其他相关联的loT设备来传送。

在具体实施例中,可通过消息收发应用临时提供与一个或多个已连接的设备305相关联的访问或控制。作为实例而非限制,被邀请的用户来到事件的区域,可接收到加入事件Wi-Fi网络的通知。如果用户接受,则用户可自动转换到事件Wi-Fi网络。与事件相关联的已连接的设备305,诸如例如音乐服务器,可具有基于事件出席者的整体品味和偏好来策划的播放列表。消息收发应用中可自动创建群聊,因此用户可明确请求音乐/图片。当用户将图片张贴到群聊时,图片被转发到在该事件处显示的基于屏幕的已连接的设备305。在具体实施例中,对于上面的使用情况,可在群聊中实现从事件到策划的出席者的流程。另外,消息收发应用可提供用于通知和传输到新的WiFi网络的UI,基于用户的社交联网活动(例如,喜欢)生成播放列表,流式传输音乐(将与音乐播放器集成),重新定向群聊照片,显示在已连接的屏幕上。

图6示出了用于访问已连接的设备的实例方法。方法600可在步骤610开始,其中计算机服务器机器可接收自然语言消息。在具体实施例中,自然语言消息包括授权第一用户访问与第二用户相关联的多个已连接的设备中的一个或多个的授权请求。在步骤620,计算机服务器机器解析自然语言消息。在具体实施例中,在步骤625,计算机服务器机器可识别解析的自然语言消息的多个n元语法。在步骤630,计算机服务器机器基于解析的自然语言消息来识别第一用户和一个或多个已连接的设备。在具体实施例中,识别已连接的设备包括基于n元语法来识别已连接的设备的识别符。在步骤640,计算机服务器机器隐含地确定第一用户被授权访问所识别的已连接的设备。在具体实施例中,基于在表示社交图中的第一用户的节点与表示社交图中的第二用户的节点之间的关系的计算强度满足预定阈值,隐含地确定授权。在步骤650,计算机服务器机器基于隐含授权提供对所识别的已连接的设备的访问。在具体实施例中,访问被提供预定的时间量。在具体实施例中,在步骤655,计算机服务器机器从与第一用户关联的客户端设备接收所识别的已连接的设备的命令消息。具体实施例在适当的地方可重复图6的方法的一个或多个步骤。尽管本公开描述和图示了以特定顺序发生的图6的方法的特定步骤,但本公开考虑以任何适当的顺序发生的图6的方法的任何合适的步骤。此外,尽管本公开描述和图示了用于提供对已连接的设备的访问的实例方法,包括图6的方法的特定步骤,但本公开考虑用于提供对已连接的设备的访问的任何合适的方法,包括任何适当的步骤,在适当的地方可包括图6的方法的全部步骤、一些步骤或不包括。此外,虽然本公开描述和图示了执行图6的方法的特定步骤的特定组件、设备或系统,但本公开考虑执行图6的方法的任何合适的步骤的任何合适的组件、设备或系统的任何合适的组合。

图7示出了实例计算机系统700。在具体实施例中,一个或多个计算机系统700执行本文描述或示出的一个或多个方法的一个或多个步骤。在具体实施例中,一个或多个计算机系统700提供在此描述或示出的功能。在具体实施例中,在一个或多个计算机系统700上运行的软件执行在此描述或示出的一个或多个方法的一个或多个步骤,或提供在此描述或示出的功能。具体实施例包括一个或多个计算机系统700的一个或多个部分。在本文中,在适当的情况下,对计算机系统的引用可包含计算设备,反之亦然。此外,在适当的情况下,对计算机系统的引用可涵盖一个或多个计算机系统。

本公开考虑任何合适数量的计算机系统700。本公开考虑采取任何合适的物理形式的计算机系统700。作为实例而非限制,计算机系统700可以是嵌入式计算机系统、片上系统(SOC)、单板计算机系统(SBC)(诸如例如,模块上计算机(COM)或模块上系统(SOM)、台式计算机系统、膝上型或笔记本计算机系统、交互式信息亭、大型机、计算机系统网格、移动电话、个人数字助理(PDA)、服务器、平板计算机系统、增强/虚拟现实设备、或这些的两个或更多个的组合。在适当的地方,计算机系统700可包括一个或多个计算机系统700;可以是单一的或分布式的;跨越多个位置;跨越多个机器;跨越多个数据中心;或驻留在云中,云可包括一个或多个网络中的一个或多个云组件。在适当的情况下,一个或多个计算机系统700可在没有实质空间或时间限制的情况下执行本文描述或示出的一个或多个方法的一个或多个步骤。作为实例而非限制,一个或多个计算机系统700可实时或以批处理模式执行本文描述或示出的一个或多个方法的一个或多个步骤。在适当的情况下,一个或多个计算机系统700可在不同的时间或在不同的位置执行本文描述或示出的一个或多个方法的一个或多个步骤。

在具体实施例中,计算机系统700包括处理器702、存储器704、存储设备706、输入/输出(I/O)接口708、通信接口710和总线712。尽管本公开描述和图示了特定布置的具有特定数量特定组件的特定计算机系统,但是本公开考虑任何布置的具有任何合适数量的任何合适组件的任何合适的计算机系统。

在具体实施例中,处理器702包括用于执行指令的硬件,诸如组成计算机程序的指令。作为实例而非限制,为了执行指令,处理器702可从内部寄存器、内部高速缓存、存储器704或存储设备706中检索(或取出)指令;解码并执行它们;然后将一个或多个结果写入内部寄存器、内部高速缓存、存储器704或存储设备706。在具体实施例中,处理器702可包括用于数据、指令或地址的一个或多个内部高速缓存。在适当的情况下,本公开考虑包括任何合适数量的任何合适的内部高速缓存的处理器702。作为实例而非限制,处理器702可包括一个或多个指令高速缓存、一个或多个数据高速缓存以及一个或多个翻译后备缓冲器(TLB)。指令高速缓存中的指令可以是存储器704或存储设备706中的指令的副本,并且指令高速缓存可加速处理器702对那些指令的检索。数据高速缓存中的数据可以是存储器704或存储设备706中的数据的副本,所述存储器用于在处理器702处执行以操作的指令;在处理器702处执行的先前指令的结果,用于由在处理器702处执行的后续指令的访问或用于写入存储器704或存储设备706;或其他合适的数据。数据高速缓存可加速处理器702的读取或写入操作。TLB可加速处理器702的虚拟地址转换。在具体实施例中,处理器702可包括用于数据、指令或地址的一个或多个内部寄存器。在适当的情况下,本公开考虑包括任何合适数量的任何合适的内部寄存器的处理器702。在适当的情况下,处理器702可包括一个或多个算术逻辑单元(ALU);可以是多核处理器;或者包括一个或多个处理器702。虽然本公开描述和示出了特定处理器,但本公开考虑任何合适的处理器。

在具体实施例中,存储器704包括主存储器,用于存储处理器702执行的指令或处理器702进行操作的数据。作为实例而非限制,计算机系统700可将来自存储设备706或另一个源(诸如例如,另一个计算机系统700)的指令加载到存储器704。处理器702然后可将来自存储器704的指令加载到内部寄存器或内部高速缓存。为了执行指令,处理器702可从内部寄存器或内部高速缓存中检索指令并对它们进行解码。在执行指令期间或之后,处理器702可向内部寄存器或内部高速缓存写入一个或多个结果(其可以是中间结果或最终结果)。处理器702然后可将这些结果中的一个或多个写入存储器704。在具体实施例中,处理器702仅执行一个或多个内部寄存器或内部高速缓存中或存储器704(与存储设备706或其它地方相对)中的指令,并且仅在存储在一个或多个内部寄存器或内部高速缓冲存储器中或存储器704中(与存储设备706或其它地方相对)的数据上操作。一个或多个存储器总线(其每一个可包括地址总线和数据总线)可将处理器702耦合到存储器704。总线712可包括一个或多个存储器总线,如下所述。在具体实施例中,一个或一个以上存储器管理单元(MMU)驻留于处理器702与存储器704之间且促进对由处理器702请求的存储器704的访问。在具体实施例中,存储器704包含随机存取存储器(RAM)。在适当情况下,该RAM可以是易失性存储器。在适当情况下,该RAM可以是动态RAM(DRAM)或静态RAM(SRAM)。此外,在适当的情况下,该RAM可以是单端口或多端口RAM。本公开考虑任何合适的RAM。在适当的情况下,存储器704可包括一个或多个存储器704。尽管本公开描述并图示了特定的存储器,但本公开考虑任何合适的存储器。

在具体实施例中,存储设备706包括用于数据或指令的大容量存储。作为实例而非限制,存储设备706可包括硬盘驱动器(HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(USB)驱动器或这些中的两个或更多个的组合。在适当的情况下,存储设备706可包括可移除的或不可移除的(或固定的)介质。在适当的情况下,存储设备706可在计算机系统700的内部或外部。在具体实施例中,存储设备706是非易失性固态存储器。在具体实施例中,存储设备706包括只读存储器(ROM)。在适当的情况下,该ROM可以是掩模编程ROM、可编程ROM(PROM)、可擦除PROM(EPROM)、电可擦除PROM(EEPROM)、电可变ROM(EAROM)或闪存,或者这些中的两个或更多个的组合。本公开考虑采取任何合适的物理形式的大容量存储设备706。存储设备706可包括一个或多个存储控制单元,在适当的情况下,促进处理器702和存储设备706之间的通信。在适当的情况下,存储设备706可包括一个或多个存储设备706。尽管本公开描述并示出了特定的存储设备,但本公开考虑任何合适的存储设备。

在具体实施例中,I/O接口708包括提供用于计算机系统700与一个或多个I/O设备之间的通信的一个或多个接口的硬件、软件或两者。在适当的情况下,计算机系统700可包括这些I/O设备中的一个或多个。这些I/O设备中的一个或多个可实现人与计算机系统700之间的通信。作为实例而非限制,I/O设备可包括键盘、小键盘、麦克风、监视器、鼠标、打印机、扫描仪、扬声器、静止照相机、手写笔、平板计算机、触摸屏、轨迹球、摄像机、另一种合适的I/O设备或其中两种或更多种的组合。I/O设备可包括一个或多个传感器。本公开考虑任何合适的I/O设备以及它们的任何合适的I/O接口708。在适当的情况下,I/O接口708可包括使处理器702能够驱动这些I/O设备中的一个或多个的一个或多个设备或软件驱动器。在适当的情况下,I/O接口708可包括一个或多个I/O接口708。尽管本公开描述和示出了特定的I/O接口,但本公开考虑任何合适的I/O接口。

在具体实施例中,通信接口710包括在计算机系统700与一个或多个其它计算机系统700或一个或多个网络之间提供用于通信(诸如例如,基于分组的通信)的一个或多个接口的硬件、软件或二者。作为实例而非限制,通信接口710可包括用于与以太网或其他基于有线网络或无线NIC(WNIC)进行通信的网络接口控制器(NIC)或网络适配器,或用于与无线网络,诸如WI-FI网络,通信的无线适配器。本公开考虑任何合适的网络以及任何合适的通信接口710。作为实例而非限制,计算机系统700可与自组织网络、个域网(PAN)、局域网(LAN)、广域网(WAN)、城域网(MAN)或互联网的一个或多个部分或这些中的两个或更多个的组合进行通信。这些网络中的一个或多个的一个或多个部分可以是有线或无线的。作为实例,计算机系统700可与无线PAN(WPAN)(诸如例如,蓝牙WPAN)、WI-FI网络、WI-MAX网络、蜂窝电话网络(诸如例如,全球移动通信系统(GSM)网络)或其他合适的无线网络或者这些中的两个或更多个的组合进行通信。在适当的情况下,计算机系统700可包括用于任何这些网络的任何合适的通信接口710。在适当的情况下,通信接口710可包括一个或多个通信接口710。尽管本公开描述和示出了特定的通信接口,但本公开考虑任何合适的通信接口。

在具体实施例中,总线712包括将计算机系统700的组件彼此耦合的硬件、软件或两者。作为实例而非限制,总线712可包括加速图形端口(AGP)或其他图形总线、增强型工业标准体系结构(EISA)总线、前端总线(FSB)、HYPERTRANSPORT(HT))互连、工业标准体系结构(ISA)总线、NFINIBAND互连、低引脚数(LPC)总线、存储器总线、微通道体系结构(MCA)总线、外围组件互连(PCI)总线、PCI-Express(PCIe)总线、串行高级技术附件(SATA)总线、视频电子标准协会本地(VLB)总线或其他合适的总线或两个或更多个这些总线的组合。在适当的情况下,总线712可包括一个或多个总线712。尽管本公开描述并图示了特定的总线,但本公开考虑任何合适的总线或互连。

在本文中,计算机可读非临时性存储介质可包括一个或多个基于半导体或其他集成电路(IC)(诸如例如现场可编程门阵列(FPGA)或特定应用程序集成电路(ASIC))、硬盘驱动器(HDD)、混合硬盘驱动器(HHD)、光盘、光盘驱动器(ODD)、磁光盘、磁光盘驱动器、软盘、软盘驱动器(FDD)、磁带、固态驱动器(SSD)、RAM驱动器、安全数字卡或驱动器、任何其他合适的计算机可读非暂时性存储介质,或者这些中的两个或更多个的任何合适的组合。计算机可读非暂时性存储介质在适当的情况下可以是易失性、非易失性或易失性和非易失性的组合。

在本文中,“或者”是包含性的而不是排他性的,除非另有明确指示或另外通过语境指示。因此,在本文中,“A或B”意指“A、B或两者”,除非另有明确指示或另外通过语境指示。此外,“和”既是联合的又是分开的,除非另外明确指示或另外通过语境指示。因此,在本文中,除非另外明确指示或另外通过语境指示,否则“A和B”意指“A和B,共同或分开地”。

本公开的范围涵盖本领域普通技术人员将理解的对本文所描述或示出的实例实施例的所有改变、替代、变化、更改和修改。本公开的范围不限于本文描述或示出的实例实施例。此外,尽管本公开在本文中描述和图示了包括特定组件、元件、特征、功能、操作或步骤的各个实施例,但是这些实施例中的任一个可包括本领域普通技术人员将理解的本文任何地方描述或示出的任何组件、元件、特征、功能、操作或步骤的任何组合。此外,对所附权利要求中的装置或系统的或装置或系统的组件适于、被布置为、能够、被配置为、使得能够、操作为或可操作来执行特定功能的引用包括该装置、系统、组件,无论该特定功能是否激活、打开或解锁,只要该装置、系统或组件适于、被布置为、能够、被配置为、使得能够、操作为或可操作来。另外,尽管本公开将具体实施例描述或说明为提供特定优点,但是具体实施例可不提供这些优点,或提供这些优点中的一些或全部。

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