本申请涉及互联网领域,更具体地,涉及一种通过社交网络平台控制外围设备的方法和装置。
背景技术:
随着互联网的发展,人们越来越依赖各种电子设备来处理日常生活中的各种工作。许多轻型及简单的设备和器件(诸如智能手表、健康监测仪、音乐播放器、气候控制器、智能咖啡机、汽车充电站、导航系统、运动设备、机顶盒等)越来越多的代替了复杂的和重型的设备和系统以及通用的计算设备(例如,通用台式计算机或笔记本电脑)的功能。
许多电子设备和器件具有智能芯片和内部逻辑,这允许他们被设备上设置的软件驱动用户界面所控制。随着移动网络使能的设备(诸如智能电话和平板设备)的发展,人们可以不受位置限制而完成更多的任务。许多电子设备和器件能够成为主用户设备(例如,智能电话或平板设备)的外围设备,并能够通过安装在主用户设备上的相应专有软件(例如,针对每个外围设备的专有应用)被控制。
在这些轻型和专业器件的繁荣市场中,不同的制造商提供具有他们自己的用户界面和控制的设计的相似的产品。当前,对于产品设计,以及不同类型的产品和/或不同制造商的相似产品之间的通信和信息共享,还没有统一的标准。因此,对于用户,探索和学习他们购买的不同产品的不同用户界面和功能,是具有挑战性的。对于用户,同拥有或未拥有相同类型的设备的其他人分享他们自己的器件中生成的或收集的信息,更困难。
现在,许多用户是一个或多个社交网络平台的积极参与者。社交网络平台使得人们可以通过即时消息、消息板、一对一对话进行通信,或者在不同社交网络群组或在线团体中的社交网络联系人和人们之间群组聊天。用户通过安装在他或她的用户设备(例如,智能手机或平板设备)上的社交网络客户端应用访问他/她自己的社交网络账户。社交网络客户端应用的用户已习惯于通过社交网络平台建立联系人以及发送和阅读消息的操作。目前,社交网络客户端应用的功能限制于人类用户之间的通信。外围设备(诸如内置摄像头或微型手机)可以在社交网络客户端应用内用于捕获用户输入(例如,声音或图像输入),以形成待发送到其他用户的消息内容,但是由于开发复杂度、成本和不同的外围设备之间巨大的设计差距,对于社交网络客户端应用的提供商来说,支持控制其他类型的设备是不切实的。
技术实现要素:
本申请描述了一种通过社交网络平台控制外围设备的方法和设备。如技术背景中所陈述,社交网络在当今世界越来越流行。许多人已经非常熟悉一种或几种社交网络平台的社交网络客户端应用的操作和控制。通过在社交网络平台上收发的社交网络消息(例如,自然语言的即时消息)对外围设备进行访问和控制,可以避免用户学习针对不同外围设备的许多专用用户界面并使得与外围设备的通信更自然和直观。进一步地,可以为不同制造商制造的外围设备提供简单统一的用户界面,允许用户跨越不同制造商和不同设备类型,简单分享信息。
在本申请中,各种实施例示出了涉及通过社交网络平台提供外围设备的访问和控制的不同方之间的相互关系,所述不同方包括外围设备的制造商或支持服务提供商的服务器,社交网络平台的服务器,用户设备,用户,以及通过社交网络平台控制的外围设备。进一步地,公开了社交网络平台中涉及的不同方之间的通信场景、用户接口、处理流程、设备发现和通信协议。外围设备的制造商可以遵循社交网络平台建立的协议,以实现设备注册、设备发现、指令和响应的交互,信息的呈现等,以分担社交网络平台的服务器及主用户设备上执行的社交网络客户端应用的后台支持和服务压力。
在一些实施例中,在社交网络平台上注册外围设备的方法包括:在具有一个或多个处理器和存储器的用户设备侧:在所述用户设备上执行社交网络平台的社交网络客户端应用;通过所述社交网络客户端应用,接收标识外围设备的输入;响应于接收标识该外围设备的输入:发送请求,以为所述外围设备创建社交网络标识;在成功创建外围设备的社交网络标识后,在社交网络客户端应用的用户界面中,将所述外围设备呈现为用户账户的社交网络联系人。在一些实施例中,接收标识外围设备的输入进一步包括:通过条形码扫描器,扫描与外围设备关联的条形码。
在一些实施例中,在社交网络平台上注册外围设备的方法包括:在具有一个或多个处理器和存储器的用户设备侧:在所述用户设备上执行社交网络平台的社交网络客户端应用;通过社交网络客户端应用,接收标识支持服务提供商的输入,该支持服务提供商针对相应类型的外围设备;响应于接收标识相应类型的外围设备的支持服务提供商的输入:将支持服务提供商的公众社交网络标识注册为当前与用户设备关联的用户账户的联系人;在用户设备的周围区域内搜索,以定位相应类型的外围设备。在一些实施例中,接收标识相应类型的外围设备的支持服务提供商的输入进一步包括通过条形码扫描器,扫描与相应类型的外围设备的支持服务提供商关联的条形码。
在一些实施例中,在社交网络平台上,通过外围设备的支持服务提供商,提供外围设备的访问和控制的方法包括:在社交网络平台的服务器侧:接收来自支持服务提供商的服务商注册请求,所述服务商注册请求指定由所述支持服务商服务的外围设备的类型;基于所述服务商注册请求,为所述支持服务提供商建立公众社交网络标识;接收来自第一用户的第一所有者注册请求,所述第一所有者注册指定由所述第一用户控制的第一外围设备;在确定所述第一外围设备为所述服务商注册请求中指定的外围设备类型时,建立所述支持服务提供商的公众社交网络标识与所述第一用户的相应社交网络标识之间的社交网络关系;在所述第一用户的相应社交网络标识和所述支持服务提供商的公共联络标识之间的聊天会话的对话界面中,将发往所述第一外围设备的第一通信消息和来自于所述第一外围设备的第二通信消息作为第一用户的社交网络标识和支持服务提供商的公共社交标识之间的聊天会话的会话界面中的即时消息。
在一些实施例中,通过社交网络平台对外围设备进行访问和控制的方法包括:在所述社交网络平台的服务器侧:将与第一用户设备连接的第一外围设备注册为与所述第一用户设备关联的用户账户的社交网络联系人;通过在所述第一用户设备处执行的社交网络客户端应用,对所述第一外围设备进行访问,其中,所述社交网络客户端应用将所述第一外围设备识别为与所述第一用户设备关联的用户账户的社交网络联系人。
在一些实施例中,在社交网络平台上通过外围设备的支持服务提供商对外围设备进行访问和控制的方法包括:在所述社交网络平台的服务器侧:从所述支持服务提供商接收服务商注册请求,所述服务商注册请求指定所述支持服务提供商服务的外围设备的类型;基于所述服务商注册请求,为所述支持服务提供商创建公众社交网络标识;从第一用户接收第一所有者注册请求,所述第一所有者注册请求指定由所述第一用户控制的第一外围设备;在确定所述第一外围设备为所述服务商注册请求中指定的外围设备的类型时:在所述社交网络平台上,为所述第一外围设备创建社交网络标识;在所述支持服务提供商的公众社交网络标识、所述第一用户和所述第一外围设备的相应社交网络标识之间,建立社交网络关系。在一些实施例中,该方法进一步包括:在支持服务提供商的公众社交网络标识、第一用户和第一外围设备的相应社交网络标识之间建立群组聊天会话。
在一些实施例中,通过社交网络平台提供外围设备之间的通信的方法包括:在社交网络平台的服务器侧:将与第一用户设备连接的第一外围设备和第二外围设备注册为与所述第一用户设备关联的用户账户的社交网络联系人;通过在所述第一用户设备处执行的社交网络客户端应用,建立所述第一外围设备和所述第二外围设备之间的通信;在所述社交网络客户端应用的群组聊天界面中,呈现所述用户账户的用户和表示所述第一和第二外围设备的相应社交网络联系人之间的群组对话,其中,所述群组对话包括对应于所述第一外围设备和第二外围设备之间的通信内容的一条或多条即时消息。
在一些实施例中,通过蓝牙协议将外围设备连接到用户设备的方法包括:在外围设备:初始广播过程,包括:广播设备发现消息,所述设备发现消息包括预先确定标识,所述标识指定用于与在用户设备上执行的社交网络应用相关联的社交网络服务;接收来自用户设备的对应于所述设备发现消息的连接请求;以及响应于接收来自所述用户设备的连接请求,与所述用户设备建立蓝牙连接。在一些实施例中,该方法进一步包括:在所述广播过程中:在初始广播周期内一系列第一传输时隙的每个第一传输时隙中,广播所述设备发现消息;如果在所述初始广播周期中未接收到响应于所述设备发现消息的连接请求,在所述初始广播周期之后随后的广播周期内的一系列第二传输时隙中的每个第二传输时隙中,广播所述设备发现消息,其中,每个第一传输时隙小于每个第二传输时隙。
在一些实施例中,通过蓝牙协议将外围设备连接到用户设备的方法包括:在所述用户设备上,初始设备扫描过程,包括:检测来自外围设备的设备发现消息;以及确定所述设备发现消息是否包括预先确定的标识,所述标识指定用于与在用户设备上执行的社交网络应用相关联的社交网络服务;当确定所述设备发现消息包括指定用于与在用户设备上执行的社交网络应用相关联的社交网络服务的所述预先确定的标识,将对应于所述设备发现消息的连接请求发送至外围设备;与所述外围设备建立蓝牙连接。
在一些实施例中,通过低功耗蓝牙连接在外围设备和用户设备之间传输数据的方法包括:在外围设备处,在模拟数据流中,向用户设备发送数据,发送过程包括:识别用于写数据的第一蓝牙特性,该第一蓝牙特性已经在当前连接事件中,由外围设备显露给用户设备;将待发送给用户设备的数据分组划分成一系列数据帧加上零个或一个剩余部分,每个数据帧具有与识别的第一蓝牙特性的预定数据尺寸相同的相应尺寸,该剩余部分具有比识别的第一蓝牙特性的预定数据尺寸小的尺寸;对于该一系列数据帧的每一个:将数据帧写入用于识别的第一蓝牙特性的相应值;由用户设备推送识别的读第一蓝牙特性。在一些实施例中,该权利要求的方法进一步包括:填充剩余部分,以获取具有与识别的第一蓝牙特性的预定尺寸相同的相应尺寸;将填充的剩余部分写入用于识别的第一蓝牙特性的相应值;由用户设备推送识别的读第一蓝牙特性。在一些实施例中,由用户设备推送识别的读第一蓝牙特性进一步包括:通过指示操作,请求用户设备读识别的第一蓝牙特性的更新的值。在一些实施例中,该方法进一步包括:对于该一系列数据帧的每一个:从用户设备接收对识别的第一蓝牙特性的读的相应确认,其中,响应于接收该相应确认,执行写和推送该一系列数据帧的下一个数据帧,直到数据分组中没有数据帧和剩余部分仍需要被发送。
在一些实施例中,通过低功耗蓝牙协议在外围设备和用户设备之间传输数据的方法包括:在用户设备处:在模拟数据流中,向外围设备发送数据,该发送过程包括:识别用于向外围设备发送数据的第一蓝牙特性,该第一蓝牙特性已经在当前连接事件中,由外围设备显露给用户设备;将将要发送给外围设备的第一数据分组划分成一系列数据帧加零个或一个剩余部分,每一个数据帧具有与识别的第一蓝牙特性的预定尺寸相同的相应尺寸,以及该剩余部分具有比识别的第一蓝牙特性的预定尺寸小的相应尺寸;对于该一系列数据帧的每一个,发送相应写请求,以将数据帧写入识别的第一蓝牙特性的相应值。在一些实施例中,该方法进一步包:填充剩余部分,以获取填充的剩余部分,该填充的剩余部分具有与识别的第一蓝牙特性的预定数据尺寸相同的相应尺寸;发送相应的写请求,以将填充的剩余部分写入识别的第一蓝牙特性的相应值。
在一些实施例中,在社交网络平台上,与外围设备通信的方法包括:在支持服务提供商的服务器处(该支持服务提供商针对包括该外围设备的一种类型的外围设备):将社交网络平台的服务器注册为针对该外围设备的支持服务提供商;发起通信事件,以向外围设备发送指令,发起通信事件包括:生成用于该指令的推送请求数据分组,其中,该推送请求数据分组标识该外围设备为指令的目的地;通过社交网络平台的服务器和与外围设备连接的用户设备,向外围设备发送推送请求数据分组。在一些实施例中,该方法进一步包括:接收来自该外围设备,通过与该外围设备连接的用户设备以及社交网络平台的服务器的请求数据分组;响应于从外围设备接收该请求数据分组,通过社交网络平台的服务器和与该外围设备连接的用户设备,向该外围设备发送响应数据分组。
在一些实施例中,在社交网络平台上,与外围设备通信的方法包括:在社交网络平台的服务器处:将该外围设备注册为与该外围设备连接的用户设备的关联外围设备;从支持服务提供商接收第一推送请求数据分组,该支持服务提供商针对包括该外围设备的一种类型的外围设备,其中,该第一推送请求数据分组标识该外围设备为该第一推送请求数据分组的目的地;响应于接收该第一推送请求数据分组,通过与该外围设备连接的用户设备,向该外围设备转发该第一推送请求数据分组。
在一些实施例中,在社交网络平台上,与外围设备通信的方法包括:在与该外围设备连接的用户设备处:通过社交网络平台的服务器,将该外围设备注册为该用户设备的关联外围设备;从社交网络平台的服务器,接收推送请求数据分组,其中,该推送请求数据分组标识该外围设备为该推送请求数据分组的目的地;向该外围设备转发该推送请求数据分组。
在一些实施例中,电子设备(例如,支持服务提供商的服务器、社交网络平台的服务器、外围设备或用户设备)包括一个或多个处理器以及存储器,该存储器存储有由该一个或多个处理器执行的一个或多个程序,该一个或多个程序包括执行所述的方法的操作的指令。在一些实施例中,非易失性计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,当该指令被每一个具有一个或多个处理器的电子设备(例如,支持服务提供商的服务器、社交网络平台的服务器、外围设备或用户设备)执行时,该指令使得电子设备执行所述的方法的操作。
在一些实施例中,正如对本领域技术人员而言是显而易见的,由一个设备(例如,用户设备)执行的操作可以补充或对应于由另一个设备(例如,服务器)执行的操作,或可以被从另一个设备接收的指令所控制,或引起另一个设备的动作。另外,一个设备为执行所述的方法所需的数据和信息可以由另一个设备提供。在本申请的各个地方,当对一个设备的功能进行描述时,为了简明,可以省略另一个设备至少一些明显的对应动作的说明;然而,这样省略的说明对本领域技术人员是显而易见的,并且不需要本领域技术人员付出创造性劳动。
通过以下说明可以使得本发明各种优点更加明显。
附图说明
图1A是本发明实施例中一种传统社交网络平台的操作环境的框图。
图1B是本发明实施例中一种支持对外围设备进行访问和控制的社交网络平台的操作环境的框图。
图2A-2H是本发明实施例中通过社交网络客户端应用建立对外围设备的访问和控制的用户界面。
图2I为本发明实施例中设备制造商从社交网络平台的提供商获取支持服务账户的流程图。
图2J为本发明实施例中用户设备获取外围设备的社交网络标识的流程图。
图2K-2T为本发明实施例中包括通过社交网络平台对外围设备进行访问和控制的各种通信场景中的消息转换和流程示意图。
图3A-3C为本发明实施例中通过社交网络平台建立对外围设备的访问和控制的流程图。
图3D-3E是一些实施例中通过社交网络平台建立对外围设备的访问和控制的流程图。
图4A-4D是一些实施例中在社交网络平台上通过外围设备的支持服务提供商对外围设备进行访问和控制的流程图。
图5A-5C是一些实施例中通过社交网络平台控制作为社交网络联系人的外围设备的流程图。
图6A-6D是一些实施例中在社交网络中通过把外围设备作为社交网络联系人对外围设备进行控制和访问的示例性过程的流程图。
图7A-7C是一些实施例中通过社交网络进行外围设备之间的控制和访问的流程图。
图8是一些实施例中针对示例性设备发现过程和后序外围设备和用户设备间的通信过程的时序要求框图。
图9A-9B是一些实施例中外围设备和用户设备间的示例性数据传输过程的简化流程图。
图10A-10C是一些实施例中外围设备、用户设备、通信服务器和支持服务器之间的示例性消息传输过程的框图。
图11A-11B是一些实施例中由外围设备执行的示例性蓝牙连接过程的流程图。
图12A-12B是一些实施例中在外围设备和用户设备之间发送数据分组的流程图。
图13A-13B是一些实施例中在外围设备和用户设备之间发送数据分组的流程图。
图14A-14B是一些实施例中通过社交网络平台发送用于访问和控制外围设备的消息的流程图。
图15A-15B是一些实施例中通过社交网络平台发送用于访问和控制外围设备的消息的流程图。
图16是一些实施例中通过社交网络平台发送用于访问和控制外围设备的消息的流程图。
图17-20是一些实施例中在社交网络平台中运行的各种设备和系统的框图。
图21-24是一些实施例中在社交网络平台中运行的各种设备和系统的框图。
相同参考标号代表附图的不同视图中的相同部分。
具体实施方式
社交网络平台提供了网络构架和软件,该网络构架和软件通过关系和/或共同爱好将人们联系在一起。在社交网络平台中,每个用户与各自的社交网络身份相关联,通过该身份,社交网络平台中的其它用户能够识别出该用户。在社交网络平台中,不同的用户彼此同意才能形成用户之间的该关系。当两个用户彼此同意形成社交网络关系时,他们成为彼此的社交网络联系人。一组用户可以选择相互形成社交网络关系,这样就形成了社交网络组。该组的每个成员为该组中每个所有其它成员的社交联系人。有时,用户或者组织可以建立公共社交网络身份,并允许公众(例如,网络社交平台中的任一用户)在没有相互同意交换时在社交网络平台上与它进行通信。有时,用户可以选择订阅该公共社交网络身份的消息和出版物(例如,“关注”该公共社交网络身份),这样就成为该公共社交网络身份的社交网络联系人。该公共社交网络身份的所有人也可以将订阅了该公共社交网络身份的消息或出版物的每个用户作为其在该社交网络平台中的一社交网络联系人。
社交网络平台中的每个用户和每个公共社交网络身份具有一社交网络联系人(或联系人)的关系列表,它/他/她能够通过社交网络平台的即时消息与社交网络联系人(联系人)进行通信。例如,在社交网络组中的用户可以与使用有社交网络平台提供商提供的软件接口的另一用户通信。此外,每个用户也可以与使用该社交网络平台提供者提供的软件接口的另一用户通信。
在一些实施例中,社交网络平台提供商提供的软件接口可以是网络接口或软件接口。例如,用户可以登录该社交网络平台的网络入口,通过该网络入口发送和接收来自该社交网络平台其它用户的消息。或者,用户可以在各自用户设备(例如,计算机、智能手机、平板设备)上下载并安装一社交网络客户端应用,使用该社交网络客户端应用提供的接口与该社交网络平台中其它用户进行交互。该消息可以是多种形式,例如,文本、图像、照片、语音、视频、表情符号等。
有时,社交网络平台允许用户初始与该用户的一个或多个社交网络联系人的一对一聊天会话或组聊天会话。在该聊天会话过程中,该聊天中的每个用户可以接收来自在该聊天会话中其它用户的多种格式的即时消息(例如,文字、语音、图像等),还可以将多种格式的即时消息发送至该聊天会话中其它用户。
图1A为根据本发明实施例提供的针对传统社交网络平台的示例性操作环境100a的结构图。
如图1A所示,社交网络平台提供商102a提供通信服务器112a。该通信服务器112a通过一个或多个网络106向操作各自用户设备104(例如,用户设备104a-c)的大量用户提供社交网络服务(例如,用户注册、消息创建、消息传输、聊天会话创建、在线发布、与其它在线社交交互)。
在一些实施例中,每个用户通过使用在用户各自用户设备104上运行的社交网络客户端应用108(例如,社交网络客户端应用108a-c)连接至通信服务器112a与另一用户进行交互。该通信服务器112a在社交网络中通过用户各自的社交网络身份识别用户,例如,用户名、昵称,或者账户标识。具体地,每个用户与该社交网络中一个或多个社交网络组中的一组一个或多个其它用户关联。例如,用户可以基于他或她的关系和/或与各个组中的其它成员共同爱好创建或加入不同的社交网络组。在一些实施例中,该网络社交平台的服务器维护用户的不同特征(例如,真实姓名、联系信息、兴趣、社会经济状况、在线活跃历史等)的知识库(例如,用户数据库110a)、他们之间的相互联系与组成员关系(例如,组列表和联系人列表)。
在一些实施例中,社交网络服务器向它的用户提供一项或多项社交网络服务。该用户可以通过与在该通信服务器112a的社交网络客户端应用108(例如,社交网络客户端应用108a-c)上提供的用户界面进行交互调用一特定的服务。例如,用户可以打开聊天程序,通过发送文本或语音消息初始与一个或多个社交联系人(例如,在用户联系人列表中的联系人,或者社交网络组)的一个或多个一对一聊天会话或组会话。在一些实施例中,也可以将其它形式的消息(例如,图像、视频、链接、图标、动画等)通过社交网络服务器提供的社交网络平台从一个用户发送至一个或多个其它用户。
如图1A所示,每个用户可以与使用社交网络客户端应用108(例如,社交网络客户端应用108a-c)的其它用户进行交互。在一些实施例中,社交网络客户端应用为用户提供用于调用特别社交网络服务的用户界面元素(例如,文本框、按钮、窗口、消息展示区域等),例如,将内容发布到在线消息板,将文本或语音消息发送至指定的用户或用户组,初始与另一用户的语音或视频聊天会话、打开组聊天会话等。
用户设备104示例包括,但不局限于,掌上电脑、可穿戴计算设备,个人数字助理(Personal Digital Assistant,PDA)、平板电脑、笔记本电脑、台式电脑、蜂窝电话、智能电话、增强通用分组无线业务(Enhanced General Packet Radio Service,EGPRS)移动电话、媒体播放器、导航设备、游戏机、电视,或任意两种或两种以上的数据处理设备或其他数据处理设备的祝贺。
一个或多个网络106示例包括局域网(LAN)和广域网(WAN),例如互联网。可选地,可以使用任何已知的网络协议来实现一个或多个网络106,包括各种有线或无线协议,例如以太网、通用串行总线(USB)、火线、全球移动通信系统(GSM)、GSM增强数据环境(EDGE)、码分多址(CDMA)、时分多址(TDMA)、蓝牙,WiFi、互联网协议传输语音(VoIP)、Wi-MAX,或任何其它合适的通信协议。
可以在一个或多个独立数据处理装置或分布网络计算机上实现通信服务器112a。在一些实施例中,通信服务器112a也可以使用各种虚拟设备和/或第三方服务提供商(例如,第三方云服务提供商)的服务来提供该通信服务器112a的基础计算资源和/或基础设施资源。
在传统的社交网络平台中,每个用户设备104可以可选地包括一个或多个内部外围设备模块或者通过有线或无线连接连接到一个或多个外围设备(例如,导航系统、健康监测、气候控制、智能运动设备、蓝牙耳机、智能手表等)。在大多数情况下,每个外围设备由各自外围设备制造商提供的软件应用控制,社交网络客户端应用108不与这些外围设备进行通信。有时,社交网络客户端应用提供商在社交网络客户端中实现操作用户设备的外围设备(例如,照相机,扬声器,麦克风,触摸屏,键盘,鼠标,触摸屏)的功能。但是,功能仅限于使用这些外围设备作为获得用户输入(例如,图像、语音、文本、触摸、鼠标移动等)来控制客户端应用(例如,浏览用户界面、调用用户界面中的控件,或者组成即时消息)或者将客户端应用输出(例如,语音、声音、用户界面等)传递给用户。在这些传统系统中,在用户和外围设备之间无法通过社交网络平台直接进行通信。由于发展复杂性、开销和不同外围设备之间巨大设计差异,社交网络客户端应用提供商也无法扩展到对其他类型外围设备进行控制。
由于人们越来越依赖各种电子外围设备(例如,智能手表,健康监测,音乐播放器,气候控制,智能咖啡壶,充电站,导航系统,体育设备,机顶盒等)来执行他们日常生活中的各个任务,也由他们必须掌握的不同用户界面(也就是专门由不同外围设备制造商设计的软件应用的不同用户界面)来负担他们,以控制不同类型的外围设备。进一步地,由于不同制造商的制造的外围设备的不同通信协议和数据格式,不同制作商设计的相同类型的外围设备可能不能够彼此共享信息。因此,用户探索和学习他们购买的不同产品的不同用户界面和功能很有挑战的。对用户来说,更困难地是与可能或不可能拥有相同类型设备的其它用户共享在该用户设备中创建或聚集的信息。
本申请提供了一种通过社交网络平台控制外围设备的方法和装置。如在背景技术所述,社交网络在当今世界变得越来越普遍。许多人都已经对一种或多种社交网络平台的社交网络客户端应用的控制和操作非常熟悉。使能通过社交网络平台发送与接收社交网络消息(例如,自然语言的即时消息)接入与控制外围设备可以帮助用户避免学习许多针对不同外围设备的专有用户界面与使与外围设备通信更自然和直观。进一步地,可以将将简单统一的用户界面控件能够提供给不同制造商制造的外围设备,从而允许用户在不同制造者和设备类型的外围设备之间轻松分享信息。此外,在一些实施例中,每个设备制造商能够采用社交网络平台提供者建立的通信协议(例如,包括用于设备注册、设备发现、通信指示和响应、信息介绍,将来自与到达外围设备的编码指令和响应翻译为人类可读形式的消息。这样,外围设备能够依靠社交网络平台的通信服务器和与该通信服务器连接的用户设备来将编码为制造上专用格式的指令和消息转发至用户设备的外围设备和对来自用户设备的外围设备且编码为制造上专用格式的指令和消息进行转发。进一步地,在一些实施例中,可以将编码指令和消息封装在根据通信服务器建立的通信协议格式化的消息中,这样,通信服务器不需要分别地实现逻辑和功能来解释每种类型外围设备的编码指令消息。因此,开发外围设备支持能力的负担转移到不同类型外围设备的制造商。这样,用户可以享受简单、统一、相似的方式来通过社交网络客户端相似的用户界面控制不同类型的外围设备,并且来与其它用户和他们各自具有相同或不同类型或由相同或不同制造商制造的外围设备分享信息。此外,网络社交平台的提供商不必花费大量资源来扩展它支持的外围设备类型。
在本发明中,各个实施说明了在通过社交网络平台提供外围设备的接入和控制的各方之间的相互关系,包括外围设备的制造商或支持服务供应商的服务器(例如也称为“支持服务器”)、社交网络平台的服务器(例如也称为“通信服务器”)、用户设备(例如实现社交网络客户端应用和用于与通信服务器通信的主用户设备)、用户、和通过网络社交平台控制的外围设备(例如设备,该设备通过已经与其它设备建立通信连接的主用户设备与其它设备通信)。
如本发明中各种使用场景所展示,通过社交网络平台提供便捷、愉快和交互式外围设备控制可以帮助提高用户感受,缩短外围设备制造商软件开发和支持。如上所述,在一些实施例中,提供通过社交网络平台接入和控制外围设备的方法,例如,日志平台、在线论坛平台、留言板平台、微博平台、即时消息平台、在线聊天室平台、以及一个或多个上述平台的混合使能了之前对用户和外围设备制造商不可能的无限可能性。
图1B为本发明实施例提供的针对支持通过社交网络平台接入和控制外围设备的社交网络平台的示例性操作环境100b的示意图。
如图1B所示,社交网络平台提供商102b提供通信服务器112b。该社交网络平台提供商102b和通信服务器112b能够执行传统社交网络平台提供商(例如社交网络平台提供商102b)和传统通信服务器(例如通信服务器112b)能够执行的全部功能。此外,社交网络平台提供者102b也实现通信服务器112b来根据本发明实施例使能外围设备(例如外围设备118)接入和控制。
如图1B所示,网络社交平台的每个用户通过在各自用户设备104(例如用户设备104a-c)上实现的各自社交网络客户端应用108(例如社交网络客户端应用108c-e)与通信服务器112b进行通信。可以通过有线或无线连接将每个用户设备104到一个或多个外围设备118(例如118a、118b和/或118c)。连接类型示例包括通用串行总线(Universal Serial Bus,USB)、火线、全球移动通信系统(Global System for Mobile Communications,GSM)、GSM增强数据环境(Enhanced Data GSM Environment,EDGE)、码分多址(Code Division Multiple Access,CDMA)、时分多址(Time Division Multiple Access,TDMA)、蓝牙、蓝牙低功耗(Bluetooth,Bluetooth Low Energy,BLE)、WiFi,互联网语音协议(Voice Over Internet Protocol,VoIP)、Wi-MAX,或基于任何其它适合的通信协议建立的其它连接。典型地,通过与相对比较短距离(例如,几米或几十米)的连接将每个外围设备连接到各自用户设备,尽管针对许多类型外围设备上述限定是不必要的。外围设备示例包括,但不限定于,智能手表、健康监测(例如,心率或血压计,心脏起搏器,生活方式监测腕带等)、音乐播放器、气候控制(例如,气象监测,温度控制,热水器,空调,湿度控制等)、照明控制、安防监控系统、智能咖啡机、充电站(例如,电动汽车或电子设备充电站等)、导航系统(例如,GPS系统)、运动器材(例如,智能高尔夫俱乐部,智能钓鱼竿,智能篮球等),机顶盒(例如,在线流媒体机顶盒,网络游戏设备等)等。仍可以为这些外围设备提供专用软件应用,其中,该专用软件应用能独立的社交网络客户端应用单独安装和使用。此外,可选地,该外围设备也可以包括物理硬件按钮和控件或者针对用户直接控制的内置板载屏幕和软件界面。
如图1B所示,通信服务器112b包括用户数据库110b,该用户数据库110b包括通信服务器112b,其中,该通信服务器112b包括注册到该通信服务器112b的每个用户账户信息。用户数据库110b类似于图1A中的用户数据110a。此外,通信服务器112b也包括设备数据库110c。该设备数据库110c存储了使用设备注册方法已通信服务器112b上注册的外围设备的标识。该设备数据库110c也包括数据,该数据是关于外围设备之间关系的数据、他们各自用户、他们各自主用户设备、他们各自支持服务器等的。
在一些实施例中,为每个注册外围设备提供各自社交网络身份(例如,类似于人类用户的社交网络身份),通过该注册外围设备社交网络身份,人类所有人(例如,人类用户操作外围设备连接的主用户设备)、其他用户、通信服务器和由外围设备制造商提供的支持服务器可以对该注册外围设备进行标识。基于注册外围设备各自社交网络身份,每个注册外围设备及其当前关联(例如连接到)的用户账户或者用户设备的特征存储于用户数据库110c。在一些实施例中,每个注册外围设备作为与用户设备(例如当前在用户设备上登陆的用户账户)当前关联的用户账户的社交网络联系人与用户账户或用户设备关联。在一些实施例中,其它用户、它的支持服务器、其它外围设备可以与作为在用户数据库110c中注册外围设备的社交网络联系人与该注册外围设备关联。
在一些实施例中,外围设备可以利用它自身的社交网络身份与它的人类所有者(例如,该外围设备当前连接的用户设备的用户)、其他外围设备(例如连接到同一用户设备的其他外围设备,或连接到其他用户设备的其他外围设备)、其他用户(例如,人类所有者的社交网络联系人)、和/或支持服务器进行通信。在一些实施例中,外围设备可以通过建立于它的支持服务器的公共社交网络身份建立的设备标识与它的人类所有者进行通信。在本发明实施例中,每个注册设备不具有与注册的用户账户分开的社交网络身份。在一些实施例中,外围设备可以通过建立于它的人类所有者的社交网络身份的各自设备身份与其他外围设备、其他用户、支持服务器进行通信。在一些实施例中,可以将设备数据库110c合并到用户数据库110b,这样,外围设备的网络身份就类似于人类用户或支持服务器的网络身份,例如包括各自联系人列表、登陆状态、通信历史等。
如图1B所示,通信服务器112b也可以与由一个或多个各自外围设备制造商或支持服务器提供商(例如外围设备制造者114a-b)提供的一个或多个支持服务器116(例如支持服务器116a-c)进行通信。在一些实施例中,每个支持服务提供商已根据由社交网络平台提供者102b建立的协议标准实现了支持服务器116,这样就能够通过社交网络平台(例如通过社交服务器112b,和与在用户设备104a-c上实现的社交网络客户端应用108c-e)将接入和控制他们各自类型外围设备的编码指令传输至外围设备(例如外围设备118a-c)。
在一些实施例中,通信服务器112b和社交网络客户端应用108c-e没有进行编码指令的解释和/或翻译,编码指令的解码在该编码指令的目标(例如在外围设备)上执行。相应地,在一些实施例中,已根据由社交网络平台提供商102b建立的协议标准实现了在用户设备104上执行的社交网络应用(例如应用108c-e),这样就能够通过社交网络平台(例如包括通过通信服务器112b)将外围设备118a-c的编码指令传输至他们各自的支持服务器(例如支持服务器116a-c)。在一些实施例中,通信服务器112b和网络社交客户端应用108c-e不进行编码消息的解释和/或翻译,编码消息的解码在编码消息的目标(例如在支持服务器116a-c)进行。
在一些实施例中,发送和接收编码指令的支持服务器116可选地生成人类可读形式的即时消息(例如,文本、表格、图像、图表、声音和/或语音形式的即时消息),并通过通信服务器112b将该消息发送至一个或多个用户(例如,外围设备的所有者或已与该所有者分享外围设备信息和控件的其他用户)。在一些实施例中,将人类可读消息作为从支持服务器的社交网络身份发送至人类所有者和/或外围设备的社交网络身份的即时消息呈现在社交网络客户端应用108c-e的用户界面上。相似地,在一些实施例中,这些人类可断消息作为从外围设备的社交网络身份发送至支持服务器和/或人类所有者的社交网络身份的即时消息呈现在社交网络客户端应用108c-e的用户界面上。
在一些实施例中,通信服务器112b可选地实现用于不涉及支持服务器的通信的编码指令和编码消息的翻译。例如,通信服务器112b可选地将源自人类用户目标为注册外围设备的指令(例如通过一个或多个即时消息提交的指令或通过社交网络客户端应用108c-e中提供的一个多个用户界面控件选择的指令)翻译为外围设备理解的对应编码指令,这样,人类用户通过社交网络平台实现外围设备的接入和控制。此外,通信服务器112b可选地将源自注册外围设备目标至人类用户的编码消息翻译为人类可读形式(例如,至用户的一条或多条即时消息)。
通过社交平台完成的通信可以是在外围设备和它的人类所有者之间有或没有支持服务器参与;可以是在外围设备和它的支持服务器之间有或没有外围设备的人类所有者参与;可以是在外围设备的人类所有者和外围设备的支持服务器之间有或没有外围设备参与;可以是不同用户之间有或没有它们各自外围设备参与,和有或没有它们各自外围设备的支持服务器参与;可以是在两个或两个以上外围设备之间有或没有它们各自人类所有者参与,和/或有或没有它们各自支持服务器参与;可以是在用户与另一用户的外围设备之间有或没有其它用户参与,和/或有或没有外围设备的支持服务器参与。根据这里提供的各个实施例,其它通信配置也是可行和显而易见的。
在这里描述的实施例的不同方面上提供更多细节之前,首先展示一简单示例性使用场景。在一示例性使用场景中,首先执行示例性绑定过程来将外围设备绑定到实现社交网络客户端应用的用户设备,和将该外围设备绑定到当前操作该社交网络客户端应用的各自用户账户。
在该示例性设备绑定过程中,用户在用户设备(例如,智能手机、平板设备或可移动计算机)上启动社交网络客户端应用(例如,实现这里所描述方法的即时消息客户端应用)。用户通过社交网络客户端应用登录界面登录他/她在社交网络平台的通信服务器上的账号。随后该用户设备以此用户的用户账号与通信服务器进行通信。在该社交网络客户端应用的用户界面中所提供的是条形码扫描界面,该条形码扫描界面能够扫描条形码(例如通过用户设备的摄像头)。在一些实施例中,外围设备的制造商在外围设备上提供2D条形码,该2D条形码包括社交网络平台的通信服务器用于唯一标识该外围设备或外围设备的制造者的必要信息,例如,制造商的URL和/或外围设备的设备ID。一旦用户已同意进行绑定过程并以此用户的用户账户将条形码信息从用户设备发送至社交网络平台的通信服务器,该通信服务器将该用户账户绑定到该外围设备。换句话说,社交网络平台的通信服务器为外围设备创建了唯一社交网络身份,并将该外围设备添加到该用户在该用户账户下的社交网络联系人列表中。在一些实施例中,通信服务器也为该外围设备支持服务提供商的支持服务器创建各自的社交网络身份,并将该支持服务器添加到该用户在该用户账户下的社交网络联系人列表。
在一些实施例中,该绑定过程不要求该外围设备连接到用户设备。在完成该绑定过程后,可以随时在为该外围设备创建的社交网络身份下将该外围设备连接到用户设备。从用户设备到社交网络平台通信服务器的通信可以通过将用户设备作为媒介完成。在示例性设备连接过程中,用户设备自动扫描附近广播社交网络客户端应用的唯一服务标识的外围设备。该外围设备已经由制造商预配置在它的设备发现消息中广播社交网络客户端应用的唯一服务标识。该在用户设备上实现的社交网络客户端应用扫描并探测到该外围设备的设备发现消息包括该要求的服务标识,并与外围设备建立连接(例如,蓝牙、低功率蓝牙、WiFi、USB等连接)。一旦连接已经建立,社交网络客户端应用通知该社交网络平台通信服务器该外围设备当前在线。该社交网络客户端应用也在用户界面中指示该用户外围设备当前在线可与在社交网络平台中作为社交网络联系人与用户进行通信。在一些实施例中,直到该用户已选择了用户界面控件来启动与社交网络客户端应用中外围设备会话,用户设备才尝试与外围设备建立连接。在一些实施例中,当用户第一次登录其用户账户,用户设备扫描并尝试与外围设备建立连接。在一些实施例中,用户对绑定过程和连接过程不必使用同一用户设备。参考绑定过程和连接过程的描述,用户设备为用户设备,该用户设备当前执行社交网络客户端应用(包括显示针对社交网络平台的网络界面的浏览器),并具有作为当前活跃用户账户的用户账户。
在该外围设备已经与社交网络客户端应用中的用户设备在该用户的用户账户下建立连接后,用户能够与在社交网络平台中作为社交网络联系人的外围设备进行通信。例如,如果外围设备是已经在用户的用户账户下的社交网络客户端应用内通过蓝牙或BLE连接到用户设备(例如智能手机)的健康监测腕带,用户能够可选地像他/她与任何其他他/她的社交网络联系人一样与该腕带启动聊天会话。例如,用户可以选择在聊天会话中将即时文字消息发送至该腕带,说“给我看今天数据”或“点亮屏幕”。该即时文字消息将作为从该用户发送至外围设备的各自社交网络身份的消息呈现在聊天会话的会话界面上。
在一些实施例中,当用户选择与腕带启动会话,社交网络客户端应用向用户提供定制用户界面,在该定制用户界面中,该社交网络客户端应用展示一个或多个表示该腕带发布的不同命令的按钮。例如,定制用户界面可以呈现“输出今天数据”按钮、“显示电池电量”按钮和“振动”按钮。当用户调用一个按钮(例如“振动”按钮),相应的命令作为从用户到外围设备的各自社交网络身份的消息呈现在聊天会话的会话界面上。该命令也由通信服务器或外围设备的支持服务器翻译为编码指令,并通过通信服务器和用户设备发送至外围设备。相应地,接收到的编码指令的腕带将进行反馈,例如,启动振动。
在一些实施例中,无论该用户是否已通过打字、语音、调用按钮或者任何其它手段输入指令/命令,该指令/命令将从用户设备发送至通信服务器,其中,该通信服务器获得对应的编码指令/命令(例如,通过自身进行内部翻译,或通过联系外围设备的支持服务器),并将该翻译发送回该用户设备。该用户设备通过在用户设备与外围设备之间已建立的连接将编码指令/命令转发至外围设备。该外围设备根据该编码指令/命令反馈或采取行动。例如,在用户已经在聊天界面中输入文字消息“振动”或在社交网络客户端应用为腕带提供的定制用户界面中调用了“振动”按钮之后,该腕带将启动振动。上述过程将有用于当用户不能将该腕带放置她附近,并希望使用他/她社交网络客户端应用与该腕带对话,以便该腕带能够通过为用户制造噪音进行反馈来找到它。
有时,用户可以包括另外的用户和/或在用户与外围设备之间聊天会话中的其他外围设备。例如,用户可以创建包括任何其他用户或外围设备各自的社交网络身份的组聊天会话,其中,该外围设备已经由它们各自所有者在通信服务器注册并该外围设备当前通过它们各自所有者的用户账户在线。例如,如果用户外围设备是血压监护仪,用户可以启动一组聊天会话,其中,该组聊天会话包括该用户、该用户家庭成员和血压监护仪。在用户已将血压监护仪的手臂袖套包裹在其手臂上之后,该用户可以在组聊天界面中输入文字消息(例如“启动测量”)至血压监测仪(例如,通过在消息体中使用@XXX),或在定制组聊天界面中调用“启动”按钮。该组聊天会话的会话界面显示作为从该用户发送至血压监测仪的即时消息“启动今天的血压测量”的用户指令。通信服务器获得用户指令,并根据用户指令获得血压监测仪的对应编码指令。该通信服务器通过用户设备将该编码指令发送至血压监测仪,该血压检测仪通过启动测量用户的血压对该编码指令进行相应。在一些实施例中,血压监测仪可选地将关于血压测量进展和最终结果的编码响应发送至用户设备。该用户设备将该编码响应发送至通信服务器,该通信服务器将人类可读数据作为一个或多个聊天消息(例如“启动测量血压,请不要动”,“今天你的血压为120/60,非常好”,“测量完毕,请拆卸手包”等)发送给该组中的用户。当前在组聊天中的每个用户将在他们各自的用户设备上看见作为从血压监测仪至整个组或分别至他们中每一个的消息。
下面将提供更多示例使用场景和实施例。
图2A-2H为根据本发明实施例提供的通过社交网络客户端设置外围设备接入和控制的示例性用户界面。
在一些实施例中,为了设置外围设备的接入和控制,用户首先请求通信服务器将外围设备绑定至在社交网络平台上的用户账户。在外围设备已绑定到用户账户之后,用户设备扫描外围设备,如果查找到外围设备,与该外围设备建立连接。图2A-2H展示通过在示例用户账户“Red207”下操作执行社交网络客户端应用的示例性外围设备200(例如图2B中外围设备118中的一个用户设备)的示例性用户设备202(例如在图2B中用户设备104中的一个用户设备)控制设置的过程。
如图2A所示,在一些实施例中,外围设备200(例如,健康监测腕带)的制造商在其包装或外围设备200主体上提供2D条形码,其中,该2D条形码对外围设备200的唯一标识201或对包括外围设备200的外围设备的类型提供支持服务的外围设备200的支持服务器的唯一标识进行编码。唯一设备标识的其它格式也是可能的。
图2B展示了具有名为“Red207”的用户账号的用户已经在启动了用户设备202(例如,智能设备)上的社交网络客户端应用并调用功能来添加在社交网络客户端应用中提供的硬件联系人。该用户将2D条形码放置在扫描器(例如,智能手机内置摄像头)下方,并调用扫描按钮204来扫描该2D条形码。在一些实施例中,启动扫描外围设备条形码的用户界面控件与用于启动扫描分配给社交网络平台任意其他用户的条形码(例如QR码)的用户界面控件相同。该通信服务器在后端确定该用户是否愿意基于在条形码中获取的标识添加新的人类联系人或硬件联系人。
图2C展示了用户设备202已经成功扫描二维码并识别出用户愿意绑定到其账户的外围设备的标识。将外围设备200的名字(例如“Q-BandTM”)显示给用户。在一些实施例中,也可以可选地将型号(例如“Model X2000”)显示给用户。一旦用户确认阅读的条形码符合他/她的期望,用户可以调用“绑定”按钮206将该外围设备200绑定到用户账户“Red207”。调用“绑定”按钮206使用户设备202将绑定指令发送至社交网络平台的通信服务器,该通信服务器创建用户账户与外围设备标识之间的绑定。有时,如果分配给外围设备200的条形码不唯一(例如,分配给全部一类型的外围设备(例如,特定设备模型)或一种或几种类型外围设备的支持服务提供商的公告条形码),绑定过程基于用户账户标识和在条形码中编码的标识为该外围设备创建唯一的设备标识(例如,通过连接用户名和通用设备标识符)。通信服务器也为外围设备200创建社交网络身份,包括全部或至少一些人类用户的特征(例如,包括用户名、头像、帐户类型、在线状态、联系人列表、社交网络组列表,会话历史、粉丝列表(例如“关注我的其它用户”)、订阅列表(例如“我关注的其他用户”))。在一些实施例中,通信服务器也指示外围设备200的账户是设备账户,并与各自用户账户(例如“Red207”)关联。
图2D展示已成功完成的绑定过程。通信服务器通知用户该外围设备200(具有临时在线标识“Q-Band”)已经绑定到用户账户。该用户能够可选地将外围设备200的昵称变更为其它更吸引用户的名字(例如“Red’s Q-Band”)。
图2E展示当前与用户账户“Red207”关联的联系人列表。该联系人列表包括与该用户之前已彼此建立了社交网络关系的其他人类用户(例如“Annie”、“Mom”和“Reddog”)。图2E也展示了联系人列表还包括外围设备的社交网络身份208(例如“Q-Band”)。在一些实施例中,联系人列表也包括新增加外围设备200的支持服务提供商2(例如“Q-Support”)的公共社交网络标识210。在此,通过一方式分享外围设备的按钮来指示对应于社交网络身份“Q-Band”的外围设备200当前没有连接到用户设备202。在外围设备200连接到用户设备202之后,将该连接通知给该通信服务器,将改变外围设备图标的外观以指示当前连接到外围设备200的活跃在线状态。
图2F展示当用户调用如图2E所示的联系人列表中外围设备200的图标时,用户设备202初始连接过程来扫描并连接到与社交网络身份“Q-Band”关联的用户设备200。在一些实施例中,外围设备200的制造商和社交网络客户端的提供商同意特定的连接协议(例如,蓝牙、低功率蓝牙、或WiFi连接协议),这样,社交网络客户端应用能够发现已实现所描述方法的外围设备类型。下面本发明提供了该连接协议更多的细节。当用户设备202通过扫描过程发现存在外围设备200,将被检测到的外围设备200与外围设备200社交网络身份进行匹配,并在用户设备202上向用户展示该检测到的外围设备200。在外围设备200连接到用户设备202之后,通知通信服务器该连接,并更改外围设备图标的外观(未显示)以指示已连接外围设备200。
图2G展示一旦外围设备200和用户设备202在社交网络客户端应用中已建立了连接,可以与两用户之间建立聊天会话相似的方式在用户和外围设备200之间建立聊天会话(例如,通过在联系人列表中选择外围设备200,并选择向外围设备200发送消息)。在一些实施例中,在首先建立连接后,自动启动外围设备200与用户“Red207”之间的聊天会话的会话界面。在用户设备202上展示的会话界面212上,外围设备200已将消息214(例如“你好,Red207!我是你的Q-Band”)发送至用户。将该消息214通过通信服务器提供给用户设备202。在不同实施例中,通信服务器获取该消息的过程可能不同。在一些实施例中,用户设备202将从外围设备200接收到的编码消息(例如“初始化完成”消息)转发至通信服务器,通信服务器自身将该编码消息翻译为消息214,或请求外围设备200的支持服务提供商的支持服务器将该编码消息翻译为消息214。在本发明的其他部分将提供如下更多细节描述:如何发送来自外围设备的编码消息,用户设备、通信服务器和/或支持服务器如何处理该消息、如何将该编码消息通信至用户,以及如何在会话历史中请求该编码消息。
图2G也展示当前聊天会话的会话界面可选地包括消息输入框218,用户可以通过该消息输入框218将文本消息(例如“点亮显示”)输入至外围设备200。该会话界面212可选地包括一个或多个用于调用外围设备200的特定通用功能的用户界面控件。例如,会话界面212可选地包括用于点亮外围设备200的按钮216(例如,健康监测腕带)来测试该外围设备200的通信信道和功能。该会话界面212可选地包括调用外围设备200其他功能的其他按钮(例如,“打印数据”按钮)。当用户按下“点亮”按钮216,将信号发送至通信服务器,指示用户已按下“点亮”按钮216。通信服务器获得外围设备200的对应编码指令,将该编码指令发送回用户设备202。用户设备然后通过用户设备与外围设备之间建立的连接将该编码指令转发至外围设备。该外围设备然后解释并执行该编码指令中的命令,并可选地返回编码响应(例如,编码响应指示请求任务成功完成)。
在一些实施例中,可以通过外围设备200的制造商与社交网络平台提供商之间的合作完成用户界面控件开发。在一些实施例中,通信服务器仅需要了解制造商更喜欢在它的产品(例如外围设备200)的会话界面中包括哪些功能,通信服务器不需要对通过用户设备202从用户和/或外围设备202接收到的命令和消息的执行任何实际翻译和/或解释。例如,在一些实施例中,通信服务器不必执行从即时消息或用户输入的按下功能按钮至目标为外围设备的对应编码指令的会话。相反,通信服务器将用户请求的功能转发至外围设备的支持服务提供商的支持服务器,并接收来自该支持服务器的对应编码指令。通信服务器相应地将通过用户设备将编码指令转发至外围设备。在一些实施例中,通信服务器也不必执行从接收与外围设备的编码指令到显示给用户的即时消息的会话。相反,通信服务器将编码消息转发至外围设备的支持服务提供商的支持服务器,并接收编码消息的相应翻译。该通信服务器相应地将翻译作为即时消息并即时消息作为从外围设备发送至用户的消息发送至用户。在一些实施例中,通信服务器可选地执行自身的会话,例如,通过使用自然语言消息/按下按钮与编码指令/消息之间对应表格。
图2H展示在用户已输入文本消息(例如“点亮显示”)或按下“点亮”按钮216,将对应编码消息从通信服务器发送至用户设备202,然后再将该编码指令从用户设备202发送至外围设备200。将对应即时消息220作为从用户到Q-Band的消息显示在会话界面212中。在外围设备200执行请求功能之后,外围设备将响应(例如,该编码反馈指示完成点亮健康监视腕带任务)发送至用户。该反馈将作为从Q-Band至用户的即时消息222(例如“完成!显示灯亮”)显示在会话界面212中。在一些实施例中,当外围设备212希望将消息发送至用户,该消息为编码形式(例如,根据设备制造商的专用格式进行格式化)。将该编码消息发送至用户设备202,用户设备202将该编码消息转发至通信服务器。通信服务器可选地将它转发至支持服务器,并从支持服务器获得该编码消息的翻译。该通信服务器然后将该翻译作为即时消息发送至用户设备202。该翻译作为从外围设备“Q-Band”至“Red207”的即时消息展示给用户。
在图2A-2H中展示的用户界面和与之有关的描述特征只说明了可能实施例。在一些实施例中,在能够通过显示在会话界面的简单版本上的控件调用的扩展会话界面中包括更多的功能按钮。在一些实施例中,为该用户提供允许其设置高频使用命令和指令按钮的配置界面。在一些实施例中,社交网络客户端应用允许用户通过文本数据框或语音输入界面输入自然语言指令或命令,接收到该自然语言指令和命令的通信服务器可选地通过本地或第三方自然语言处理服务生成该用户命令的解释。通信服务器然后将该解释转发至外围设备的支持服务器以翻译成编码指令。本发明后续将提供更多关于如何在通信构架不同层之间(例如,支持服务器←→通信服务器←→用户设备←→用户和外围设备)传递指令和反馈的细节。
图2I为设备制造商通过社交网络平台提供商建立对它一种或多个该制造商的外围设备的支持的过程的简化过程流程。例如,制造商(例如,外围设备的设备开发者)提交(231)服务账户(例如,制造商制造的外围设备的类型的支持服务提供商的支持服务器的账户)的请求。在一些实施例中,制造商或者设备开发者将名字、型号、基本功能和社交网络平台支持的功能提交至社交网络平台的提供者。该社交网络平台的提供者审核该请求,并确定(233)根据内部或公开的指导确定是否接受该请求。如果社交网络平台的提供者确定接受该请求,将通知开发者提供者接收了该请求,并且制造商和设备开发者处理(235)通过社交网络平台的通信服务器实现的功能开发。如果社交网络平台的提供者不支持该请求,设备开发者能够回退修改该请求,并重新提交或终止该请求过程。
当设备开发者实现了同意的功能,为了确保质量,该功能将由社交网络平台的提供者进行审核(237)。一旦也通过测试同意了该功能,将正式向公众发布对在请求中标识的类型的外围设备的支持,通信服务器将接受该支持类型的外围设备的注册请求,并在社交网络平台上为外围设备的支持服务建立各自社交网络身份。在向公众发布之后,支持的外围设备的制造商和设备开发者可以开始(239)制造该外围设备和/或向终端用户销售该外围设备。在一些实施例中,社交网络平台的提供者也将向为支持类型的外围设备的支持服务器分配唯一的标识,该标识能够该在销售时提供给制造的外围设备的销售商。例如,该标识可以作为附着在外围设备或它的包装商的2D条形码来提供,或作为外围设备包括的唯一序列号来提供。
图2J为使用用户设备(例如,移动设备)向社交网络平台的服务器注册特定的外围设备的处理的简化处理流程。如图2J所示,当终端用户在设备注册时向用户设备提供用户ID时,用户设备捕捉(241)由用户提供的设备ID(例如,通过在外围设备上的2D条形码或通过直接文本输入)。用户设备确定(243)是否已经成功捕捉该设备ID。如果用户设备在向存储在通信服务器中的数据库咨询后无法识别该设备ID,结束该处理。如果用户设备确定已经捕捉到该支持外围设备的正确设备ID,用户设备从社交网络平台的通信服务器获取(345)外围设备的账户。例如,在一些实施例中,用户设备将设备ID发送至通信服务器,通信服务器基于该设备ID和用户自身ID生成适合该外围设备的社交网络身份,并创建该外围设备的账户。该外围设备的账户也通过通信服务器与该用户自身账户关联。一旦已建立该账户,通信服务器向用户设备发送账户信息。该用户设备确定(247)是否已经成功生成该外围设备的账户。如果是,用户设备可开始(249)与外围设备交换信息(例如,指令和响应)。该信息包括源自外围设备的支持服务器并通过通信服务器发送至用户设备的编码指令,直接来自通信服务器的编码指令,从外围设备并直接到支持服务器、通信服务器、其他设备和/或用户等的编码响应。
图2K-2T根据实施例提供的展示在各种包括通过社交网络平台接入和控制外围设备的各种通信场景中的消息翻译和流。通信场景的不同组合可以呈现在涉及多个从发起方到目标方的通信的会话中。用户、外围设备、支持服务器和通信服务器中每个都可以是特定通信消息(例如编码指令、编码消息或即时消息)的发起方(也称为“发起人”)或者目标方(也称为“目标”)。用户设备、支持服务器、通信服务器中每个都可以作为起源于其它方目标至其它方的特定通信消息的中间传输者。在一些实施例中,允许至通信服务器直接消息,例如,源于支持服务器、用户或外围设备的直接消息。但由于通信服务器通常不考虑聊天会话中的一个会话参与者,这些消息将不在此处描述。如这里所使用,如果该消息直接至特定方,即使该消息可以在从它的源至目标的过程中通过一个或多个其它方,在图2K-2T中将该消息“@”给该方,该方为该消息的目标。即使该初始消息是为了响应由发起人之前接收到的另一指令或消息,初始该消息或指令的该方为消息或指令的发起人。
如此所述,由源自外围设备的消息称为“编码消息”,该编码消息具有该外围设备的本地I/O和数据格式。在一些实施例中,来自一些类型外围设备的编码消息可以为人类可读,但这是不需要的。在一些实施例中,如果来自特定外围设备的编码消息定向到人类用户,将该编码消息发送至外围设备支持服务器以将该编码消息先翻译为人类可读的即时消息,然后将该人类可读的即时消息而不是该编码消息发送至该用户(通过用户的用户设备)。在一些实施例中,如果来自特定用户的即时消息定向至外围设备,将该即时消息传送至外围设备的支持服务器,首先将该即时消息翻译为外围设备的编码指令,然后将该编码指令而不是即使消息发送至外围设备(通过用户的用户设备)。在一些实施例中,通信服务器将原始消息转发至支持服务器,并获取适合该原始消息的目标的原始消息翻译。在一些实施例中,针对至少一个原始消息的子集,通信服务器在本地生成翻译而不联系支持服务器。在一些实施例中,当支持服务器为消息或指令的发起者,支持服务器依靠消息的目标方提供正确格式的消息或指令(例如,作为即时消息或作为编码指令)。
图2K展示了通信场景,在该通信场景中,在由用户设备104(例如,智能手机)上实现的社交网络客户端应用108提供的用户界面中,用户初始目标至外围设备118的指令(例如“关闭空调”)。在该场景或后续示例场景中,用户已登录他/她在通信服务器112上的账户;外围设备104为支持服务器116的支持设备,已由用户在他/她的账户下进行了注册;并且外围设备和用户设备已在社交网络客户端应用下建立了连接。出于说明性目的,在本举例中假设用户的社交网络身份为“用户”,外围设备118的社交网络身份为“外围设备”。
在本举例中,消息流如下。
(1)用户可选地通过输入即时消息“关闭空调”或通过调用在“用户”和“外围设备”之间会话聊天的在会话界面中提供的关闭外围设备118的用户界面控件(例如“关闭”按钮)输入指令。在一对一的会话聊天中,来自一个参与者的消息自动以聊天会话的其它参与者为目标。因此,用户输入的消息为外围设备108为目标的即时消息。在一些实施例中,预设用户界面控件的请求对应于以外围设备108为目标的即时消息,并在会话日志中描述。
(2)源自用户以外围设备118为目标的即时消息从用户设备104发送至通信服务器112。
(3)通信服务器112接收即时消息,进一步将它发送至外围设备的支持服务器。该通信服务器从即时消息的发起人和目标域获取用户和外围设备的身份。基于外围设备的身份,通信服务器确定外围设备的支持服务器的身份。
(4)支持服务器112接收即时消息,将其识别为人类可读消息,并需要将其翻译为外围设备118可接受的格式。支持服务器112解释该接收到的即时消息,并将它映射为以外围设备118为目标的编码指令。支持服务器112将编码指令发送至通信服务器,该编码指令以外围设备118为目标。
(5)通信服务器112从支持服务器116接收以外围设备为目标的编码指令,并将它转发至用户设备104。
(6)用户设备104接收以外围设备118为目标的编码指令,并将它发送至外围设备118。外围设备118读并执行在该编码指令中请求的任务。
虽然在本实施例中的编码指令为由用户初始的指令,当用户正在响应之前来自外围设备的信息请求可以应用相同的消息流。例如,如果外围设备之前已请求该用户提供温度控制的优先能力节约模式,用户能够通过在会话界面中输入以外围设备为目标的即时“最省电”或“电量与舒适之间平衡”回答该信息请求。
图2L展示了通信场景,在该通信场景中,外围设备118通过在用户设备104上实现的社交网络客户端108初始以用户为目标的消息或请求(例如,“E01”,含义为“错误01=光传感器阻塞”)。在本实施例中,消息流如下所示:
(1)外围设备118生成以用户为目标的编码消息(例如“E01”)。
(2)用户设备104接收编码消息,并将它转发至通信服务器112。
(3)通信服务器接收来自用户设备的编码消息,识别“用户”和“外围设备”分别为发起者和该编码消息的目标。通信服务器也标识外围设备的支持服务器,并将该编码消息转发至该支持服务器翻译为人类可读的即时消息。
(4)支持服务器116接收以用户为目标的编码消息,并将它翻译为人类可读形式(例如,即时消息“光传感器阻塞,请拆下它的盖子”)。支持服务器然后将以用户为目标的即时消息发送至通信服务器。
(5)通信服务器接收以用户为目标的即时消息,并将他转发至用户设备。
(6)用户设备接收以用户为目标的即时消息,并将该即时消息作为源自外围设备并以用户为目标的即时消息向用户展示。
虽然在本实施例中该编码消息为初始于外围设备的请求。当外围设备正在响应之前来自用户的信息请求时可以应用同一消息流。例如,如果用户已请求外围设备提供今天天气预报数据,该外围设备可以通过在编码消息中发送以用户为目标的答复(例如“90RSW”,含义为“多雨,最高气温=90度,西南风”)回答该信息请求。
图2M-2N展示用户可以独立于由该支持服务器支持的外围设备与支持服务器通信。支持服务器与用户之间的通信能够使用在社交网络平台上提供的正常即时通信能力执行。假设支持服务器116的社交网络身份为“支持”。用户能够发送以“支持”为目标的即时消息,支持服务器可以发送以“用户”为目标的即时消息。
如图2M所示,消息流如下所示:
(1)以支持服务器为目标的即时消息由用户在包括“用户”和“支持”的聊天会话的会话界面中输入。
(2)用户设备将以“支持”为目标的即时消息发送至通信服务器。
(3)通信服务器识别出该即时消息是以支持服务器为目标,并将该即时消息发送至支持服务器。可以将该即时消息作为从用户至支持的即时消息记录在该聊天会话的会话日志中。
如图2N所示,消息流如下所示:
(1)以用户为目标的即时消息由支持服务器生成(例如,机器生成或由支持服务器管理员输入)。支持服务器将该即时消息发送至该通信服务器。
(2)通信服务器识别出该即时消息以用户为目标,并将该该即时消息发送至与与该用户关联的用户设备。
(3)用户设备向用户展示该即时消息,并将该即时消息作为从支持至用户的即时消息记录在聊天会话的会话日志中。
在各种通信场景中,当支持人员想要直接获取来自用户的一些信息(例如“温度控件的表面是湿吗?”)或将指令或信息直接提供给用户(例如,“在拿着蓝色按钮时按红色按钮两次”或者“不,那不是错误”),可以进行从支持服务器至用户的直接通信。闪烁的蓝光表示该单元正操作正常。
在各种通信场景中,当用户想要直接获取来自支持服务器人员或支持服务器的一些信息(例如“我怎样把单位关掉而不删除我最后的测量”)或将指令或信息直接提供给支持人员(例如,“你能为我远程重配置该单元吗?”或者“不,我之前从没有改变过滤器”),可以进行从用户至支持服务器的直接通信。
在各种通信场景中,用户与支持服务器之间的直接通信可以是一对一的通信,或者调用其它用户和/或外围设备的组聊天会话的一部分。
图2O为示例通信场景,在该示例通信场景中,支持服务器116通过社交网络平台初始以外围设备118为目标的编码指令。在该通信场景中,用户参与至少调用支持服务器(标识为“支持”)的组会话,用户他/她自身(标识为“用户”)和外围设备(标识为“外围设备”)。在该通信场景中,除了以外围设备为目标的编码指令(例如“T01”,含义为“运行诊断测试1”),支持服务器也基于编码指令的内容准备即时通信消息(例如“@外围设备:运行诊断测试1”),这样就能够将即时消息通过社交网络平台发送至用户,并在当前聊天会话的会话日志中展示。该即时消息将作为源自支持服务器并以外围设备为目标的即时消息在会话日志中展示。
在一些实施例中,消息流如下所示:
(1)在调用了“支持”、“用户”和“外围设备”的组聊天会话中,支持服务器初始以外围设备118为目标的编码指令。该支持服务器也生成由通信服务器使用的编码指令的即时通信版本。支持服务器发送(1-1)编码指令并发送(1-2)即时消息至通信服务器,其中,该编码指令和即时消息都以外围设备为目标,至通信服务器。
(2)通信设备接收来自支持服务器的编码指令和即时消息。通信服务器将编码指令作为以外围设备为目标的编码消息转发(2-1)至用户设备。通信服务器也将即时消息作为该编码消息的人类可读翻译转发(2-1)至用户设备。
(3)用户设备接收来自通信服务器的编码指令和即时消息。用户设备将编码指令发送(3-1)至外围设备。用户设备在当前聊天会话的会话日志中将该即时消息作为从“支持”至“外围设备”的一消息展示(3-2)给用户。
在一些实施例中,支持服务器可以独立于用户的参与与外围设备进行通信。在此情况下,不需要准备即时消息并将其发送至用户,只将编码指令通过通信服务器和用户设备发送至外围设备。
图2P展示了示例通信场景,在该示例通信场景中,外围设备116通过社交网络平台初始以支持服务器116为目标的编码消息(例如“R01”,含义为“诊断测试01已正常完成”)。在该通信场景中,用户参与至少调用支持服务器(标识为“支持”),用户他/她自身(标识为“用户”)和外围设备(标识为“外围设备”)的组会话。在该通信场景中,当支持服务器接收以自身为目标的编码消息,支持服务器基于编码消息的内容也准备即时消息,这样就能够通过社交网络平台将即时消息发送至用户,并在当前聊天会话的会话日志中展示。该即时消息将作为从外围设备到支持的即时消息在会话日志中展示。
在一些实施例中,消息流如下所示:
(1)在调用了“支持”、“用户”和“外围设备”的组聊天会话中,外围设备初始了以支持服务器116为目标的编码消息。外围设备先发送以支持服务器为目标的编码消息至用户设备。
(2)用户设备接收来自外围设备的编码消息,并将其转发至通信服务器。
(3)通信服务器从用户设备接收以支持服务器为目标的编码消息。通信服务器将该编码消息转发至支持服务器。
(4)支持服务器接收该编码消息,并采取相应的行动(例如,更新记录,准备下一指令,或忽略它)。支持服务器也基于编码消息的内容准备人类可读即时消息。该人类可读即时消息作为源自外围设备以支持服务器为目标的消息展示在用户设备上。支持服务器将该以支持服务器为目标的即时消息发送至通信服务器。
(5)通信服务器将该以支持服务器为目标的即时消息发送至用户设备。
(6)用户设备接收以支持服务器为目标的即时消息,并在当前聊天会话的会话日志中展示该即时消息。该即时消息作为源自“外围设备”至“支持”的消息进行展示。
在本发明实施例中,支持服务器可以独立于用户参与与外围设备进行通信。在这些情况下,不需要准备即时消息和以及将其发送至用户。
图2Q为示例通信场景,在该示例通信场景中,两个或更多外围设备(例如,外围设备118-a and 118-b)连接到用户设备104。外围设备118-a在用户账户下作为“外围A”注册,外围设备118-b在用户账户下作为“外围B”注册。这两个外围设备可以是相同类型或不同类型。在本实施例中,这两个外围设备具有同一支持服务器116,例如,由于它们具有同一制造商或分享相同或相关的本地消息格式。例如,外围设备118-a可以是气候控制设备,外围设备118-b可以是由同一制造商生产的能量检测设备。在本实施例中,外围设备118-b发送编码指令来通过社交网络平台接入或控制外围设备118-a。在本实施例中,在组聊天会话中至少调用用户(标识为“用户”)、外围设备118-a(标识为“设备A”)和外围设备118-b(标识为“外围B”)。在本实施例中,外围设备118-a也称为外围设备A,外围设备118-b也称为外围设备B。
在本示例场景中,消息流如下所示:
(1)外围设备B生成以外围设备A为目标的编码消息(例如“QR0111032”,含义为“能源使用已达到预定限额,启动节能模式”)。外围设备B传输以外围设备A为目标的编码消息至用户设备104。
(2)用户设备接收以外围设备A为目标的编码消息,并将它转发至通信服务器112。
(3)通信服务器112接收以外围设备A为目标的编码消息,并将它转发至支持服务器116。
(4)支持服务器接收以外围设备A为目标的编码消息,根据外围设备A的格式要求将接收到的编码消息翻译为另一以外围设备A为目标的编码消息。如果源外围设备(例如,外围设备B)和目标外围设备(例如,外围设备A)使用相同的消息格式,不需要进行翻译。支持服务器将以外围设备A为目标的翻译编码消息发送(4-1)至通信服务器。支持服务器也将接收到的以外围设备A为目标的编码消息翻译为以外围设备A为目标的人类可读的即时消息。支持服务器也将该以外围设备A为目标的翻译即时消息发送(4-2)至通信服务器。
(5)通信服务器接收来自支持服务器的以外围设备A为目标的编码消息,并它转发(5-1)至用户设备。通信服务器也接收来自支持服务器的以外围设备A为目标的翻译即时消息,并他转发(5-2)至用户设备。
(6)用户设备接收以外围设备A为目标的编码消息,将它发送(6-1)至外围设备A。该外围设备A然后根据接收的编码消息采取行动,例如,改变能源节约模式。用户设备也在当前聊天会话的会话日志中展示以外围设备A为目标的即时消息,其中,该即时消息作为从“外围B”至“外围A”的消息进行展示。
在一些实施例中,用户可以建立控制级别,该控制级别的注册外围设备可以控制和/或接入另一注册外围设备。在一些实施例中,通过在同一组聊天会话中包括两个或两个以上注册外围设备,该用户可以视为已提供允许每个外围设备与同一组聊天中每个其它外围设备通信的权力。在一些实施例中,由支持服务器支持的不同类型的外围设备的支持服务器提供默认的控制级别。
图2R展示了示例通信场景,在该示例通信场景中,两个或两个以上用户(例如,分别具有社交网络身份“用户A”和“用户B”)通过他们各自的用户设备(例如,用户设备104a,也称为“用户设备A”,用户设备104b,也称为“用户设备B”)登录了同一通信服务器。外围设备118-a(在本实施例中也称为外围设备A)在用户A的账户下注册为“外围A”。在本举例中,在同一组聊天会话中至少包括“用户A”、“外围A”和“用户B”。在本示例场景中,用户B通过社交网络平台初始即时消息(例如“二十分钟后关闭游戏”)来接入和控制外围设备A(例如,游戏机)。即时消息由支持服务器翻译为外围设备A的编码指令,该编码指令通过通信服务器和用户设备A到达外围设备。该通信服务器也将原始即时消息作为以外围设备A为目标的消息发送至用户设备。该以外围设备A为目标的原始即时消息作为从“用户B”至“外围A”的消息显示在聊天会话的会话日志中。
在本示例场景中,消息流如下所示:
(1)用户B在用户设备B上展示的组聊天会话的会话界面中输入以外围设备A为目标的即时消息(例如“@外围A:二十分钟后退出游戏”)。
(2)用户设备B将以外围设备A为目标的即时消息发送至通信服务器。
(3)通信服务器接收以外围设备A为目标的即时通信消息,并将它转发至支持服务武器116。
(4)支持服务器116接收以外围设备A为目标的即时消息,并将它翻译为以外围设备A为目标的编码指令。支持服务器将以外围设备A为目标的编码指令发送至通信服务器。
(5)通信服务器接收以外围设备A为目标的编码消息,并将它转发(5-1)至用户设备A。通信服务器也将以外围设备A为目标的原始即时消息转发(5-2)至外围设备A。
(6)用户设备A接收以外围设备A为目标的编码消息,并将它发送至外围设备A。外围设备A然后根据接收到的消息采取行动,例如,在二十分钟后退出游戏。用户设备接收以外围设备A为目标的原始即时消息,并在当前聊天会话的会话日志中展示以外围设备A为目标的即时消息,其中,该即时消息作为从“用户B”至“外围A”的消息进行展示。
在一些实施例中,用户可以分享在他/她账户下注册外围设备的子集或全部功能的接入和/或控制。该接入和/或控制的共享能够在每个会话的基础上,或在每个持续基础上。在一些实施例中,通过包括在调用注册外围设备的同一组会话中的另一用户,该用户可视为已提供允许其它用户与外围设备通信的权利。这个可应用在父母控制内容中,其中,用户B为外围设备A的控制方。
图2S为示例通信场景,在该示例通信场景中,两个或两个以上用户(例如,分别具有社会网络身份“用户A”和“用户B”)通过他们各自用户设备(例如,用户设备104a,也称为“用户设备A”,与用户设备104b,也称为“用户设备B”)登录同一通信服务器。外围设备118-a(在本实施例中也称为“外围A”)在用户A的账户下注册为“外围A”。在本实施例中,同一组聊天会话至少包括“用户A”、“外围设备A”与“用户B”。在本示例场景中,外围设备A在组聊天会话中初始以用户B为目标的编码消息(例如“H120/L80/HR80/T97”,含义为“血压120/80,心率每分钟80次,体温97华氏度”)。该编码消息由通信服务器翻译为人类可读的以用户B为目标的即时消息,该翻译消息通过通信服务器到达用户设备A。该以用户B为目标的翻译即时消息在当前聊天会话的会话日志中展示为从“外围设备A”至“用户B”的消息(或从“外围设备A”至作为一个整体的会话组的消息)。
在该示例场景中,消息流如下所示:
(1)外围设备A生成以用户B(或整个组)为目标的编码消息(例如,“H120/L80/HR80/T97”,含义为“血压120/80,心率每分钟80次,体温97华氏度”)。外围设备A将该编码消息发送至用户设备A。
(2)用户设备A将以用户B(或整个组)为目标的编码消息发送至通信服务器。
(3)通信服务器接收以用户B(或整个组)为目标的的编码消息,并将它转发至支持服务器116。
(4)支持服务器116接收以用户B(或整个组)为目标的编码消息,并将它翻译为以用户B(或整个组)为目标的即时消息(例如,“用户A的血压为120/80,心率为每分钟80次,体温为97华氏度”)。该支持服务器将以用户B(或整个组)为目标的翻译即时消息发送至通信服务器。
(5)通信服务器接收以用户B(或整个组)为目标的即时消息,并将它转发(5-1)至用户设备A。通信服务器也将以用户B(或整个组)为目标的即时消息转发(5-2)至用户设备B。
(6)用户设备A接收以用户B(或整个组)为目标的即时消息,并在当前聊天会话的会话日志中将它展示给用户A,其中,该消息展示为“外围A”至“用户B”(或整个组)的消息。用户设备B接收以用户B(或整个组)为目标的即时消息,在当前聊天会话的会话日志中将该即时消息展示给用户B,其中,该即时消息展示为从“外围A”至“用户B”(或整个组)的消息。
图2T为示例通信场景,在该示例通信场景中,两个或两个以上用户(例如,分别具有社交网络身份“用户A”和“用户B”)通过各自用户设备(例如,用户设备104a,也称为“用户设备A”,与用户设备104b,也称为“用户设备B”)登录同一通信服务器。外围设备118-a(在本实施例中也称为外围设备A)在用户A的账户下注册为“外围A”。外围设备118-b(在本实施例中也称为外围设备B)在用户B的账户下注册为“外围B”。在本实施例中,在同一组聊天会话中至少包括“用户A”、“外围A”、“用户B”与“外围B”。在本示例场景中,外围设备B在组聊天会话中初始以外围设备A为目标的编码消息(例如,“@外围A:XT1,含义为“@外围A:卧室灯亮,关闭楼下的加热器”)。将该编码消息由支持服务器翻译为以外围A为目标的人类可读的即时消息,该翻译即时消息通过通信服务器到达用户设备A和用户设备B。该以外围设备A为目标的翻译即时消息在用户设备A和用户设备B上展示,例如,在显示的聊天会话的会话日志中,作为从“外围B”至“外围A”的消息。支持服务器也将以外围设备A为目标的原始即时消息翻译为外围设备A可接受的格式的翻译编码消息。该以外围设备A为目标的翻译编码消息通过通信服务器和用户设备A到达外围设备A。
在本实施例中,消息流如下所示:
(1)外围设备B生成以外围设备A为目标的编码消息(例如“@外围A:XT1”,含义为“@外围A:卧室灯亮,关闭楼下的加热器”)。外围设备B将该编码消息发送至用户设备B。
(2)用户设备B将以外围设备A为目标的编码消息发送至通信服务器。
(3)通信服务器接收以外围A为目标的编码消息,并将它转发至支持服务器116。
(4)支持服务器116接收以外围A为目标的编码消息,并将它翻译为以外围设备A为目标的外围设备A可接受格式的编码消息。支持服务器116将该以外围设备A为目标的翻译编码消息发送(4-1)至通信服务器。该支持服务器也将该以外围设备A为目标的原始编码消息翻译为目标为外围设备A的即时消息(例如“@外围A:卧室灯亮,关闭楼下的加热器”)。支持服务器将以外围设备A为目标的翻译即时消息发送(4-2)至外围设备A。
(5)通信服务器接收以外围设备A为目标的即时消息和以外围设备A为目标的翻译编码消息。通信服务器将以外围设备A为目标的翻译编码消息转发(5-1)至用户设备A。通信服务器也将以外围设备A为目标的翻译即时消息转发(5-2)至用户设备B。通信服务器也将以外围设备A为目标的翻译即时消息转发(5-3)至用户设备A。
(6)用户设备A接收以外围设备A为目标的翻译编码消息,并将它发送(6-1)至外围设备A。用户设备A也接收以外围设备A为目标的翻译即时消息,并在当前聊天会话的会话日志中将它展示给用户A,其中,该即时消息展示为从“外围B”至“外围A”的消息。用户设备B也接收以外围设备A为目标的即时消息,并将它展示(6-2)在当前聊天会话的会话日志中,其中,该即时消息展示为从“外围B”至“外围A”的消息。
可能有其它通信配置,这些其它通信配置源自此处所示的实施例。
图3A-3C为根据实施例提供的通过社交网络平台建立外围设备控制(例如外围设备200)的示例性过程300的流程图。该示例过程300在通过社交网络平台上的用户的用户账户下操作的社交网络客户端应用连接到外围设备的用户设备(例如,用户设备118或202)上执行。过程300的各种方面在图1B和2A-2T中以及结合如下描述进行说明。
在至少实施例中,本方法由具有一个或以上处理器即内存,或一个及以上电子设备器件(例如,在图1B中的社交网络客户端108)的用户设备(例如,用户设备104或202)上执行。在一些实施例中,本方法由指令进行控制,该指令存储于非暂时性计算机可读存储介质,并有一个或多个电子设备的处理器(例如,用户设备104的处理器)执行。
在一些实施例中,在具有一个或以上处理器和内存的用户设备,用户设备执行(302)社交网络平台的社交网络客户端应用。该社交网络客户端与社交网络平台的通信服务器进行通信以提供可用于社交网络平台用户的通信功能(例如,登录、用户注册、建立联系关系、创建和加入组、关注其他人、向关注者发布消息、创建一对一或组聊天会话、发送和接收各种格式的消息、通过会话消息或自定义控件控制和接入注册的外围设备等)。
在一些实施例中,用户设备通过社交网络客户端应用接收(304)识别针对各个类型外围设备的支持服务提供者的输入。例如,在一些实施例中,接收识别各个类型外围设备的支持服务提供者的输入进一步包括(306):通过条形码扫描器扫描与各个类型外围设备的支持服务提供者关联的条形码。这些通过图2A-2D以及结合描述进行说明。在一些实施例中,用户可选地通过文本输入方式手动输入外围设备或它的支持服务提供者的唯一的设备标识(例如,设备的序列号)。
在一些实施例中,响应于接收识别各种类型外围设备的支持服务提供者的输入,用户设备执行(308)如下操作:将支持服务提供者的公共社交网络身份注册为与用户设备当前关联的用户账户的联系人;并在用户设备周围区域进行搜索定位外围设备的各自类型的外围设备。在一些实施例中,当将包含识别外围设备的支持服务提供者信息的输入提供给用户设备时,用户设备将该信息发送至通信服务器,通信服务器识别该外围设备的支持服务器,并建立该支持服务器的社交网络身份。在一些实施例中,此时,设备的社交网络身份可以已由其它用户在网络服务器中建立,通信服务器只将当前外围设备关联到支持服务器的社交网络身份。在一些实施例中,支持服务器单独实例用于服务特定外围设备,并为该单独的实例分配各自唯一的社交网络身份。通信服务器将支持服务提供者的公共社交网络标识注册为当前与用户设备和外围设备关联的用户账户的联系人。通信服务器向用户设备提供支持服务提供者的社交网络联系人的名称,并轮流将它展示给用户。这些在图2E中进行展示(例如,社交网络联系人210“Q-Support”是分配给外围设备Q-Band的支持服务器的社交网络身份)。在一些实施例中,用户具体地请求将支持服务器添加为社交网络联系人,用户设备也将该请求转发至通信服务器。在一些实施例中,在社交网络平台中,用户设备也发送(318)请求来将用户账户注册为支持服务提供者的联系人。例如,在为外围设备提供支持服务的支持服务器侧,支持服务器的联系人列表将也包括用户和外围设备的社交网络身份。
在一些实施例中,外围设备扫描使用向用户设备指示将外围设备配置为允许通过社交网络平台接入和控制的特定协议实现。例如,如果将通过蓝牙协议建立连接,在设备发现消息中,外围设备广播预定义的社交网络客户端应用的主服务标识(UUID),这样当接收到来自外围设备的设备发现消息,用户设备上实现的社交网络客户端应用能够将外围设备识别为兼容设备。连接协议(蓝牙或低功率蓝牙)和其它有线和无线协议的更多细节后续将在本发明中进行说明。
在一些实施例中,在用户设备周围的区域进行搜索以定位外围设备的各个类型的外围设备进一步包括(310):接收来自用户设备周围区域内的各自外围设备的设备发现消息;确定设备发现消息是否包括表示由该社交网络客户端应用提供的主服务的预先确定的服务标识;一旦确定设备发现消息包括该预先确定的服务标识,在用户设备和外围设备之间建立通信信道。上述过程在图2F和其对应的描述中进行了说明。在一些实施例中,通信信道是采用与社交网络客户端应用(例如,经典蓝牙或根据本发明此处修改的BLE协议)的预先确定通信协议的无线通信信道。
在一些实施例中,用户设备(314)发送建立外围设备社交网络标识的请求。例如,在一些实施例中,一旦用户设备已找到与该用户设备上激活的用户账户绑定的外围设备,用户设备将以获取外围设备各自社交网络身份的请求发送至通信服务器。在一些实施例中,一旦用户设备已成功将外围设备绑定到用户设备上激活的用户账户,用户设备将获取外围设备各自社交网络身份的请求发送至通信服务器。在一些实施例中,外围设备的各自社交网络身份与针对外围设备已产生的支持服务器的唯一实例相同。在一些实施例中,当成功建立外围设备的社交网络身份,用户设备在社交网络客户端应用的用户界面中将该外围设备展示为用户账户的社交网络联系人。这在图2E及其相关描述中进行了说明。
在一些实施例中,用户设备发送(320)将用户账户注册为与各自类型外围设备的支持服务提供者关联的在线团体的各自成员的请求。在一些实施例中,一旦成功将用户账户注册为在线团体的各自成员,该用户设备在社交网络客户端应用的用户界面中将该在线团体展示为用户账户的社交网络组。例如,在一些实施例中,外围设备的支持服务器建立在线团体包括许多拥有该支持服务器支持的类型外围设备的用户。在该在线团体中,支持服务器能够向已同意加入该在线团体的每个用户(例如,选择“关注”支持服务器支持的类型外围设备的支持服务器的公共社交网络身份)广播通知、消息、提示等。此外,在一些实施例中,在线团体成员也可以宣布和接收来自另一个或全部在线团体的消息。在一些实施例中,在线团体可选地包括支持服务器支持的注册外围设备的各个社交网络身份,这样该用户根据此处描述的本实施例可选地允许其他用户接入和控制他们拥有的外围设备。
在一些实施例中,用户设备在调用至少用户账户的用户和外围设备的组聊天会话的会话界面中展示(324)已源自于支持服务提供者的服务器的即时消息。在一些实施例中,即时消息请求以外围设备为目标的编码指令。在一些实施例中,即时消息表现为源自从会话界面中的支持服务器的公共社交网络身份的消息,例如,“重置B-Band指令已发送至Q-Band”或者“@Q-Band,重置系统”。在一些实施例中,即时通信消息表现为源自不同于会话界面中的外围设备的第二外围设备的消息。在一些实施例中,该即时消息请求源自外围设备的编码消息。在一些实施例中,即时消息在会话界面中表现为源自外围设备的社交网络身份并以支持服务提供者的社交网络身份为目标的消息。在一些实施例中,即时消息在会话界面中表现为源自外围设备社交网络身份并目标为用户账户的各自社交网络身份的消息。在一些实施例中,即时消息在会话界面中表现为源自外围设备社交网络身份并以不同于该外围设备的第二外围设备的社交网络身份为目标的消息。
本示例过程的特征和步骤可以与在本发明其它部分中所描述的特征和步骤相结合,为了简洁目的,这些其它特征和步骤此处不再赘述。
图3D-3E为根据实施例提供的建立外围设备(例如,外围设备200)的接入和控制的示例过程350的流程图。该示例过程350在通过在社交网络平台上用户的用户账户下所操作的社交网络客户端应用所连接到外围设备的用户设备(例如,用户设备118或202)上执行。过程300的各个方面在图1B和2A-2T以其对应描述说明。在过程350中,独立于外围设备的支持服务器的社交网络身份,识别外围设备的输入(例如,扫描外围设备的条形码)使用户设备请求该外围设备的社交网络身份。在一些实施例中,自动地将外围设备的社交网络身份和支持服务器的社交网络身份都添加到用户的联系人列表。在一些实施例中,识别外围设备的输入只使该外围设备添加为用户账户的联系人,用户能够手动地将支持服务器添加为联系人。在一些实施例中,支持服务器不提供用户能关注的公共社交网络身份,相反地,支持服务器可以通过它支持的外围设备的社交网络身份将通信发送至用户。
在至少实施例中,该方法通过具有一个或多个处理器和内存的用户设备(例如,用户设备104或202)或电子设备的一个或多个部件(例如,在图1B中社交网络客户端108)执行。在一些实施例中,该方法由存储在非暂时性计算机可读存储介质中并由电子设备的一个或多个处理器(例如,用户设备104的处理器)执行的指令控制。
在一些实施例中,在具有一个或多个处理器和内存的用户设备中,用户设备执行(352)用户设备上的社交网络平台的社交网络客户端应用。该社交网络客户端应用与社交网络平台的通信服务器进行通信以提供社交网络平台用户可用的通信功能(例如,登录、用户注册、建立联系关系、创建和加入组、关注其他人、向关注者发布消息、创建一对一或组聊天会话、发送和接收各种格式的消息、通过会话消息或自定义控件控制和接入注册外围设备等)。
在一些实施例中,用户设备通过社交网络客户端应用接收(354)识别外围设备的输入。在一些实施例中,接收识别外围设备的输入进一步包括(356)通过条形码扫描器扫描与外围设备相关联的条形码。这在图2A-2D及对应的描述中进行了说明。在一些实施例中,用户可选地通过文本输入手动地输入唯一设备标识(例如,设备序列号)。
在一些实施例中,响应于接收识别外围设备的输入,用户设备执行(358)如下操作:发送建立外围设备社交网络身份的请求;在成功建立外围设备社交网络身份时,在社交网络客户端应用的用户界面中将该外围设备展示为用户账户的社交网络联系人。这在图2A-2E中进行了说明。在一些实施例中,用户设备发送(314)建立该外围设备社交网络身份请求。
在一些实施例中,用户在该用户设备周围的区域进行搜索(360)以定位注册用户设备。在一些实施例中,在该用户设备周围的区域进行搜索以定位注册用户设备进一步包括(362):在用户设备周围的区域内接收来自各自外围设备的设备发现消息;确定该设备发现消息是否包括预先确定的表示由社交网络客户端应用提供的主服务的服务标识;当确定设备发现消息包括该预先确定的服务标识,在用户设备和外围设备之间建立通信信道。这在图2F及其对应的描述中进行了说明。在一些实施例中,通信信道(368)为采用与社交网络客户端应用关联的预先确定的通信协议的无线通信信道(例如,经典蓝牙或根据此处说明修改的BLE协议)。
在一些实施例中,用户设备在社交网络平台上发送(366)将用户账户注册为外围设备支持服务提供者联系人的请求。在一些实施例中,用户设备发送(368)将用户账户注册为与外围设备支持服务提供者关联的在线团体的各自成员的请求。在一些实施例中,当成功将用户账户注册为在线团体的各自成员,用户设备将该在线团体展示(370)为社交网络客户端应用在用户界面中的用户账户的社交网络组。在一些实施例中,用户设备发送(372)将外围设备支持服务提供者添加为用户账户的联系人的请求。例如,在一些实施例中,外围设备的支持服务器建立在线团体以包括拥有支持服务器所支持类型外围设备的许多用户。在该在线团体中,支持服务器能够向已同意加入该在线团体的每个用户(例如,选择“关注”该支持服务器支持的外围设备类型的支持服务器的公共社交网络身份)广播通知、消息、提示等。此外,在一些实施例中,在线团体的成员也能够宣布和接收来自另一个或全部在线团体的消息。在一些实施例中,在线团体可选地包括支持服务器支持的注册外围设备的各自社交网络身份,这样,该用户根据此处所描述的实施例可选地允许其他用户接入和控制他们拥有的外围设备。
在一些实施例中,用户设备在调用至少用户账户的用户和外围设备的组聊天会话的会话界面中展示(374)以源自支持服务提供者的服务器的即时消息。在一些实施例中,即时消息请求(376)以外围设备为目标的编码指令。在一些实施例中,该即时消息在会话界面中表示为源自支持服务器提供者的社交网络身份的消息。在一些实施例中,该即时消息在会话界面中表示为源自不同于该外围设备的第二外围设备的消息。在一些实施例中,该即时消息请求源自外围设备的编码消息。在一些实施例中,该即时消息在会话界面中表示为源自于外围设备社交网络身份并以支持服务提供者的公共社交网络身份为目标的消息。在一些实施例中,即时消息在会话界面中表示为源自外围设备社交网络身份并以用户账户的各自社交网络身份为目标的消息。在一些实施例中,该即时消息在会话界面中表示为源自外围设备的社交网络身份并以不同于该外围设备的第二外围设备的各个社交网络身份为目标的消息。
本示例过程的特征和步骤可以与在本发明其它部分中所描述的特征和步骤相结合,为了简洁目的,这些其它特征和步骤此处不再赘述。
图4A-4D为根据实施例通过支持服务提供者(例如,支持服务提供者的支持服务器)及其通过社交网络平台提供外围设备接入和控制的示例过程400的流程图。
在至少实施例中,本方法由具有一个或多个处理器和内存的通信服务器(例如在图1B中社交网络平台的通信服务器112b)或电子设备的一个或多个部件(例如,社交网络服务器应用模型)执行。在一些实施例中,该方法由存储在非暂时性计算机可读存储介质中并由电子设备的一个或多个处理器(例如,通信服务器112b的处理器)执行的指令控制。
如图4A所示,在一些实施例中,通信服务器(402)接收来自支持服务提供者的服务者注册请求,该服务者注册请求指定了将由支持服务提供者服务的外围设备类型。响应于该服务者注册请求,通信服务器基于该服务者注册请求建立(404)针对支持服务提供者的公共社交网络身份。例如,服务者注册能够在该类型外围设备制造商发布公开销售该类型外围设备之前执行。在一些实施例中,服务者注册请求可以是如图2I所示的账户注册过程的一部分。
通信服务器接收(406)来自第一用户的第一所有者注册请求,该第一所有者注册请求指定由第一用户控制的第一外围设备。在一些实施例中,这在如图2A-2H和2J所示的设备绑定过程及其相关描述中进行了说明。在一些实施例中,在确定第一外围设备为在服务者注册请求中指定的外围设备类型时,通信服务器建立(408)支持服务提供者的公共社交网络身份与第一用户的各自社交网络身份之间的社交网络关系。例如,通信服务器将外围设备类型的支持服务器的社交网络标识、外围设备和第一用户彼此关联为社交网络联系人,并通知与该关联相关的各方。在一些实施例中,通信服务器将以第一外围设备为目标的第一各自通信消息和源自第一外围设备的第二各自通信消息提供为在聊天会话的会话界面中在第一用户各自社交网络身份与支持服务提供者的公共联系人身份之间各自即时消息。例如,示例通信场景在图2K-2T及其相关描述中提供。
在一些实施例中,通信服务器接收(412)来自支持服务提供者的指令消息,该指令消息将指令消息目的识别为第一外围设备。响应于接收该指令消息,通信服务器通过第一用户设备将该指令消息转发至第一外围设备。该指令消息可是与由支持服务器生成的直接编码指令或以外围设备为目标的另一指令(例如,来自用户,另一外围设备的指令)翻译。
在一些实施例中,响应于接收该指令消息,通信服务器获取(416)基于该指令消息内容已生成的即时消息,将该即时消息发送至第一用户设备,其中,第一用户设备将该消息在第一用户与支持服务提供者的公共联系人身份之间的聊天会话的会话界面中展示为从支持服务提供者的公共联系人身份至第一用户的消息。例如,支持服务器“Q-Support”能够为外围设备“Q-Band”生成编码指令,通过通信服务器和与该外围设备相连的用户设备将该编码指令转发至外围设备。此外,通信服务器获得对应于来自支持服务器的指令内容的人类可读即时消息(例如,通过从支持服务器接收它,或本地生成它)。
在一些实施例中,基于指令内容获取即时消息进一步包括(418):接收描述来自支持服务提供者的指令消息的目的的自然语言消息;将支持服务提供者的社交网络身份指定为该自然语言消息的发送者,将第一用户指定为自然语言消息的预定接收者。
在一些实施例中,通信服务器通过第一用户设备通过第一用户设备接收(420)指令消息的应答消息,该应答消息源于第一外围设备,响应于接收该应答消息,通信服务器将该源自第一外围设备的应答消息转发(422)至通信服务提供者。例如,在支持服务器将编码消息发送至外围设备之后,外围设备可以提供编码响应。例如,如果编码消息是用于外围设备生成一些输出数据,该编码回复可包括外围设备在接收到编码指令后已生成的输出数据。在一些实施例中,响应于将响应消息转发至支持服务提供者,通信服务器接收(424)来自支持服务提供者的第二即时消息,其中,第二即时消息已由支持服务提供者基于响应消息的内容生成。例如,为稍后向用户展示,接收了包含请求输出数据的编码消息的支持服务器将它翻译的人类可读形式。通信服务器将第二即时消息转发(426)至第一用户设备,其中,第一用户设备第一用户与支持服务提供者的公共联系人身份之间聊天会话的会话界面中将第二即时消息展示为从支持服务提供者的公共联系人身份至第一用户的消息。
例如,步骤412-426能够在一通信场景中发生,在该通信场景中,Q-Support将指令发送至Q-Band以输出用户“Red207”今天健康数据,Q-Band通过将该健康数据发送至Q-Support进行响应。通过用户设备和通信服务器传输具有支持服务器Q-Support和外围设备Q-Band同意格式的指令和包含了健康数据的响应。支持服务器帮助通信服务器准备编码指令和响应的翻译,这样,支持服务器和外围设备之间的通信能够在会话日志中显示为在至少Q-Support与Q-Band之间聊天会话中的人类可读即时消息。
在一些实施例中,通信服务器将支持服务器用于提供编码消息和指令的翻译。相反,针对至少一些简单/普通指令和消息,通信服务器在本地进行翻译。在一些实施例中,响应于接收响应消息:通信服务器基于响应消息的内容生成(428)第二即时消息,并将第二即时消息发送至第一用户设备,其中,第二用户设备将第二即时消息在第一用户与支持服务提供者的公共联系人身份之间的聊天会话的会话界面中展示为从支持服务提供者的各自社交网络身份至第一用户。
在一些实施例中,通信服务器接收(430)来自支持服务提供者的第三即时消息,该第三即时消息将第一用户识别为第三即时消息的目的并请求第三用户执行在第一外围设备上的操作或提供关于第一外围设备的指定信息。响应于接收第三消息,通信服务器通过第一用户设备将第三消息发送(432)至第一用户,其中,将第三即时消息第一用户与支持服务提供者的共联系人身份之间的聊天会话的会话界面中展示为从支持服务提供者的公共联系人身份至第一用户的消息。例如,Q-Support可以将即时消息(@Red207:按住Q-Band上的两个按钮直到它发出哔哔声)发送至用户来请求该用户在Q-Band上执行物理操作,并报告回该操作的结果。
在一些实施例中,响应于将第三即时消息发送至第一用户,通信服务器通过第一用户设备接收(434)来自第一用户的第二响应消息,第二响应消息以支持服务提供者的公共社交网络身份为目标。例如,在用户Red207已执行来自Q-Support的第三即时消息中所请求的操作,用户可以将响应即时消息发送至Q-Support,说“我按下按钮30秒,Q-Band没有发出哔哔响,但闪蓝光”。在一些实施例中,响应于接收第二响应消息,通信服务器将第二响应消息作为对第三即时消息的应答转发(436)至支持服务提供者。
在一些实施例中,支持服务提供者将响应消息中的信息和第二响应消息中的信息合并以准备至第一外围设备的后续信令或至第一用户的后续消息。例如,如果从Q-Support至Red207的第三即时消息为“你今天早上吃早餐了吗?”,从Red207至Q-Support的响应消息为“不,我没吃”,基于从Q-Band获取的第一响应消息中的健康监测数据和在用户的第二响应消息中提供的早餐信息,支持服务器可选地生成健康报告或进一步指令。
在一些实施例中,接收来自第一用户的第一拥有者注册请求进一步包括(340):接收来自第一用户设备的扫描结果传输,该扫描结果包括与外围设备各自类型的支持服务提供者关联的条形码。在一些实施例中,支持服务提供者接收(442)建立第一外围设备与第一用户之间关联的请求,通过社交网络平台和第一用户设备的服务器建立(444)支持服务提供者与第一外围设备之间的通信信道。这在图2A-2H中进行了示例性说明。
上述示例性过程的其它特征和方面在本发明中其它部分提供。
图5A-5C为用于提供通过社交网络平台接入一个或多个外围设备的示例过程500的流程图。将外围设备视为在社交网络平台上人类用户的社交网络联系人。
在一些实施例中,过程500由社交网络平台的服务器(例如,在图1B中的通信服务器112b)执行。在一些实施例中,通信服务器将与第一用户设备连接的第一外围设备注册为与第一用户设备相关联的用户账户的各自社交网络联系人。例如,这在图2A-2H及其对应的描述中进行了说明。该通信服务器通过在第一用户设备上执行的社交网络客户端应用提供(504)到第一外围设备的用户接入,其中,社交网络客户端应用将第一外围设备识别为与第一用户设备关联的用户账户的各自社交网络联系人。
在一些实施例中,通过在第一用户设备上执行的社交网络客户端应用提供接入到与第一用户设备相连的第一外围设备进一步包括(506):接收来自第一用户设备的第一即时消息请求,该第一即时消息请求包括第一即时消息并将注册第一外围设备标识为第一即时消息的目标;响应于接收来自第一用户设备的第一即时消息请求:基于该第一即时消息内容获得以注册第一外围设备为目标的编码指令;通过第一用户设备将编码指令发送至注册第一外围设备。例如,第一用户设备(例如,智能手机)的用户(例如,用户“Red207”)希望控制已在通信服务器注册的第一外围设备(例如,使能了蓝牙的面包机),并希望将用户的账户关联作为用户的社交网络联系人进行关联。面包机连接到用户设备,并在用户的联系人列表中展示为“Red的面包机器”。当用户希望稍后(例如,下午四点)启动该面包机,用户可以使用在用户设备上执行的社交网络客户端应用启动与“Red的面包机器”的聊天会话,并发送第一即时消息“下午4点开始揉”。通信服务器接收用户的即时消息请求,并获取该面包机接受的相应编码指令(例如,二进制命令序列)。该通信服务器可选地使用面包机的支持服务器来获取编码指令。通信服务器然后通过用户设备将编码指令发送至面包机,面包机如指令消息所指令(例如,在四点)启动适合揉程序。该通信场景也在图2K及其对应的描述中进行了说明。
在一些实施例中,通过在第一用户设备上执行的社交网络客户端应用提供接入到与第一用户设备绑定的第一外围设备进一步包括(508):接收来自第一用户设备的第一编码消息,第一编码消息为第一外围设备初始的消息并通过在第一用户设备上执行社交网络客户端应用转发至服务器;响应于接收来自第一用户设备的第一编码消息:按照第一编码消息的内容,获得第二即时消息;并且将第二即时消息发送至第一用户设备,其中,社交网络客户端应用将第二即时消息展示为从代表外围设备的各自社交网络联系人至与第一用户设备关联的用户账户的即时消息。例如,继续上述面包机的举例。假设如用户所指令在下午4点中面包机启动揉程序之后,面包机检测到对于之前选择的面包类型,该面团太干(例如,如果用户没有在面包机中加入足够的水),面包机生成第一编码指令(例如“0014053434”)请求允许修改原始选择的面包类型(例如,从法式面包修改至俄罗斯面包)。通过用户设备将第一编码指令从面包机发送至通信服务器,通信服务器基于编码消息的内容获取第一编码指令的翻译(例如,“面团太干,请求允许将烘焙程序从法式面包模式更改为俄罗斯面包模式”)。通信服务器将该翻译作为第二即时消息发送至用户,在用户设备的社交网络应用中显示的会话日志中展示来自“Red的面包机”至“Red207”的即时消息,该即时消息表明“面团太干,请求允许将烘焙程序从法式面包模式更改为俄罗斯面包模式”。接收该第二即时消息的用户有向面包机发送答复“不,按程序进行”或者“好的,开始吧”的选项。该通信场景也在图2L以及其对应的描述中进行了说明。
在一些实施例中,通过在第一用户设备上执行的社交网络客户端应用接入第一外围设备进一步包括(510):在用户账户的各自用户与表示外围设备的各自社交网络联系人之间建立一对一的聊天会话。
在一些实施例中,通过在第一用户设备上执行的社交网络客户端应用接入第一外围设备进一步包括:在用户账户各自的用户、表示第一外围设备的各自社交网络联系人和用户账户的至少一个其它社交网络联系人之间建立一组聊天会话。
在一些实施例中,通过在第一用户设备上执行的社交网络客户端应用提供接入至第一外围设备进一步包括(512):在组聊天会话中,接收从各自授权控制第一外围设备的用户账户的用户至用户账户的至少一个其它社交网络联系人的允许;并且响应于接收该允许,在组聊天会话过程中使能从用户账户的至少一个其它社交网络联系人至第一外围设备的各自社交网络身份的通信。例如,如图2R所示的通信场景,一用户(例如,用户A)已授权允许他/她的社交网络联系人接入和/或控制在用户A账户下注册并与用户A的用户设备绑定的外围设备。例如,当用户A(例如“Red207”)将用户B(例如“Reddog”)添加到当前用户A与外围设备A(例如“Red的面包机器”)之间的聊天会话中,并且用户A认定用户B已授权接入外围设备A。用户B当前能够使用即时消息在相同组聊天会话中与外围设备A进行通信。
在一些实施例中,在组聊天会话中使能从用户账户的至少一个其它社交网络联系人至第一外围设备的各自社交网络身份的通信进一步包括(516):接收来自与用户账户的至少一个其它社交网络联系人关联的第二用户设备的第二即时消息请求,该第二即时消息请求包括第三即时消息并将注册第一外围设备确定为第三即时消息的目标接收者;响应于接收来自第二用户设备的第二即时消息请求:根据第三即时消息内容获得注册第一外围设备的第二编码指令;将第二编码指令和第三即时消息发送至第一用户设备,其中,社交网络客户端应用在第一用户设备上展示该第三即时消息并将第二编码指令转发至该注册第一外围设备。例如,当用户A“Red207”希望请求用户B“Reddog”协助确定是否更改之前选择的面包类型,用户A将用户B添加到当前聊天会话,并建立包括“Red207”,“Red的面包机器”和“Reddog”的组聊天会话。用户“Red207”能够可选地将即时消息发送至在组聊天会话中的用户“Reddog”,该即时消息表示“面包机说面团太干,我能将烘焙程序从法式切换为俄式吗”,更有经验的面包师“Reddog”能够指导面包机器保持当前的面包类型,但将烘焙温度降低10度同时将烘焙时间延长10分钟。在本举例中,用户“Reddog”,作为第一用户(例如“Red207”)的社交联系人,从第二用户设备(例如用户“Reddog”的平板设备)发送第二即时消息请求。该第二即时消息请求包括第三即时消息,例如,“@Red的面包机器:不改变面包类型,但将烘焙温度降低10度同时将烘焙时间延长10分钟”。通信服务器根据第三即时消息内容获得该编码指令,通过第一用户设备将该编码指令发送至面包机。该通信场景也在图2R及其相关描述中进行了说明。
在一些实施例中,通过在第一用户设备上执行的社交网络客户端应用提供接入至第一外围设备进一步包括(518):从第一用户设备接收第二编码消息,第二编码消息为与第一用户设备连接的第一外围设备初始并且通过在第一用户设备上执行的社交网络客户端应用发送至服务器的消息;响应于接收来自第一用户设备的第二编码消息:根据第二编码消息的内容获得第四即时消息,并将第四即时消息发送至第一用户设备和与用户账户的至少一个其它社交网络联系人关联的第二用户设备,其中,将第四即时消息在第一用户设备和第二用户设备上展示为接收于表示第一外围设备的各自社交网络联系人的消息。继续关于上述面包机的举例。假设面包机“Red的面包机器”接收关于降低烘焙温度延长并烘焙时间的编码指令,并确定它是可行的。面包机生成第二编码消息(例如,“好的,初始程序修改,T=T+10,t=t+10”)。第二编码消息目标为包括用户A和用户B的整个组。将第二编码消息发送至通信服务器,该通信服务器根据第二编码消息内容获得以用户A和用户B为目标的第四即时消息。例如,第四即时消息可以为“好的,着手按照Reddog的指令修改烘焙程序。第四即时消息在用户的会话日志中展示为来自面包机“Red的面包机器”的答复。该通信场景也在图2S及其相关描述中说明。
上述示例性过程的其它特征和方面在本发明中其它部分提供。
图6A-6D为根据实施例通过将外围设备作为社交网络中的社交网络联系人提供控制和接入外围设备的示例性过程600的流程图。在一些实施例中,控制和接入外围设备可通过外围设备的支持服务器的社交网络身份完成。在一些实施例中,该过程由社交网络平台的服务器(例如在图1B中通信服务器112b)执行。
在一些实施例中,通信服务器接收(602)来自支持服务提供者的服务者注册请求,该服务者注册请求指定由支持服务提供者服务的外围设备类型。例如,面包机的制造者能够使客户支持部门员工在通信服务器注册服务者账户。只要用户同意订阅该用户支持员工在该公共社交网络身份下的消息或出版物,该服务者账户具有能够成为许多用户社交网络联系人的公共社交网络身份。通信服务器基于服务者注册请求建立(604)支持服务提供者的公共社交网络身份。例如,公共社交网络身份可以与一个或多个由客户支持部门对其提供支持服务的外围设备类型相关联。
在一些实施例中,通信服务器从第一用户接收(606)第一所有人注册请求,该第一所有人注册请求指定由第一用户控制的第一外围设备。当确定第一外围设备是在服务者注册请求中指定的外围设备类型:通信服务器在社交网络平台上为第一外围设备创建(608)各自社交网络标识;并创建在支持服务提供者的公共社交网络身份,第一用户,第一外围设备的各自社交网络身份之间的社交网络关系。
在一些实施例中,通信服务器在支持服务提供者的公共社交网络身份、第一用户,第一外围设备的各自社交网络身份之间建立各自组聊天会话。在一些实施例中,基于用户和支持服务器都链接到外围设备,前者为外围设备当前所有者,后者为外围设备支持服务提供者,通信服务器自动为支持服务提供者、用户和外围设备建立组会话。
在一些实施例中,虽然第一用户使用第一用户设备登录了社交网络平台,通信服务器通过第一用户设备接收(612)来自第一外围设备的登录请求;响应于通过第一用户设备接收来自第一外围设备的登录请求,通信服务器通知(614)通知支持服务提供者可利用第一外围设备。例如,在第一用户已注册第一外围设备后,只要第一外围设备通过在第一用户设备上执行社交网络客户端应用的操作与第一用户的第一用户设备建立连接,第一用户设备向通信服务器报告第一外围设备的激活在线状态。该通信服务器然后更新第一外围设备的激活在线状态的支持服务器。
在一些实施例中,通信服务器接收(616)来自支持服务提供者的指令消息,该指令消息将第一外围设备识别为指令消息的目标。响应于接收该指令消息,通信服务器将通过第一用户设备该指令消息转发(618)至第一外围设备。在一些实施例中,响应于目标为第一外围设备的指令消息:通信服务器获得(620)基于该指令消息内容已生成的即时消息,并将该即时消息发送至第一用户设备,其中,第一用户设备在在社交网络平台的组会话接口中将该即时消息展示为从支持服务提供者的公共联系人身份至第一外围设备的各自社交网络身份的消息。这在图2O的通信配置中进行了说明。例如,如果面包机支持服务提供者希望收集来自面包机的面包制作使用频率数据,支持服务器将编码指令发送至面包机“Red的面包机器”以通过通信服务器和第一用户设备提交请求使用数据。该通信服务器也获得(例如,来自支持服务器)反映了编码指令内容和/或目的的即时消息(例如“@Red的面包机:请发给我上个月的使用数据”),并将它发送至第一用户设备在支持服务器的社交网络标识、第一用户和面包机之间的组聊天会话的会话日志中展示给第一用户。
在一些实施例中,获得即时消息进一步包括(622):从支持服务提供者获得描述该指令消息目的的自然语言消息,将该支持服务提供者的公共联系人身份指定为该自然语言消息的发送者,将第一外围设备的各自社交网络身份指定为自然语言消息的目标接收者。
在一些实施例中,通信服务器通过第一用户设备接收(624)来自第一外围设备的该指令消息的第一回复消息。响应于接收该第一回复消息,通信服务器将该第一回复消息转发(626)至支持服务器。例如,当面包机将编码消息中的使用数据提交至支持服务提供者时,编码消息首先到达第一用户设备,并由第一用户设备将该编码消息发送至通信服务器,通信服务器然后将它转发至该支持服务器。
在一些实施例中,响应于接收第一回复消息,通信服务器获得(628)基于第一回复消息内容生成的第二即时消息,并且将该第二即时消息发送至第一用户设备,其中,第一用户设备将该第二即时消息在社交网络平台的组会话接口中展示为从第一外围设备的各自社交网络身份至支持服务提供者的公共社交网络身份的消息。例如,在支持服务器接收第一回复消息中的编码面包机使用数据后,支持服务器将该编码使用数据翻译为人类可读形式(例如,列表或表格),并将它包含在第二即时消息中。支持服务器将该第二即时消息提供给通信服务器,以使通信服务器将其发送至第一用户设备。第一用户设备将该第二即时消息展示为从面包机“Red的面包机器”至支持服务器的公共社交网络身份的回复。
在一些实施例中,通信服务器接收(630)来自支持服务提供者的第三即时消息,第三即时消息将第一用户识别为第三即时消息的目标并请求第三用户在第一外围设备上执行操作或提供关于第一外围设备的指定信息。响应于接收该第三即时消息,通信服务器过第一用户设备将第三即时消息通发送(632)至第一用户,其中,第三即时消息将作为从支持服务提供者的公共联系人身份至第一用户的消息在社交网络平台的组会话接口中进行展示。在一些实施例中,响应于将第三即时消息发送至第一用户,通信服务器通过第一用户设备接收(634)来自第一用户的第二回复消息,通信服务器将该第二回复消息作为第三即时消息的回复转发(636)至支持服务提供者。例如,继续以上述面包机为例。支持服务器可以生成第三即时消息,该第三即时消息请求第一用户提供来自第一用户的关于面包机口味偏好和面包机使用经验的一些信息。支持服务器可以在该第三即时消息中陈述“你更喜欢你的面包比Red的面包机制作的面包更软吗?”支持服务器将该第三即时消息发送至通信服务器,从而,通信服务器将他转发至用户“Red207”。在将该第三即时消息发送至用户“Red207”并展示在在第一用户设备后,用户可以提供由支持服务器请求的问题的回复,其中该回复消息陈述“我喜欢更软的面包”。将第二回复消息发送至通信服务器,并且通信服务器将该第二回复消息转发至支持服务器。
在一些实施例中,支持服务提供者将在第一回复消息中的信息(例如,从面包机“Red的面包机器”接收到的面包机使用数据)与第二回复消息中的信息(例如,由用户提供的口味与质地特征偏好)进行结合以准备至第一外围设备的后续指令(例如,对调整面包制作程序基线的编码指令)和/或至第一用户的后续消息(例如,建议用户后续在面包机中放稍多水)。在一些实施例中,将至第一用户的请求该编码消息和/或即时消息的即时消息包括在当前组聊天会话的会话日志中。
在一些实施例中,通信服务器接收(640)来自多个用户的多个所有者注册请求,每个所有者注册请求指定了在服务者注册请求中指定的外围设备类型的各自外围设备。响应于该多个所有者注册请求,通信服务器为在多个所有者注册请求中指定的每个外围设备创建(642)各自的社交网络身份。在一些实施例中,通信服务器创建包括支持服务提供者的公共社交网络身份、多个用户、多个外围设备的各自社交网络身份的通信服务社区。例如,通信服务器可以为所有已注册拥有相同类型面包机的全部用户创建在线社区,允许他们具有社交网络组来彼此通信,随着在社交网络组中他们各自设备。在一些实施例中,通信服务接收(646)来自支持服务提供者的广播消息;响应于接收该广播消息,通信服务器将该广播消息发送至每个当前通过各自用户设备登录该服务器的外围设备。例如,面包机的支持服务器可以将广播消息(例如,停止已发现的不安全特性的编码消息)发送至在线社区中全部已注册的面包机。全部接收到该广播消息的面包机器可以根据在广播消息中的指令采取行动。
上述示例性过程的其它特征和方面在本发明中其它部分提供。
图7A-7C为根据实施例通过社交网络平台在外围设备之间提供控制和接入的示例性过程700流程图。在一些实施例中,该过程由社交网平台的通信服务器执行。
在一些实施例中,通信服务器将与第一外围设备和与第一用户连接的第二外围设备注册为与第一用户设备关联的用户账户的各自社交网络联系人。例如,用户Red207可以将她寓所中的气候控制设备和照明控制设备在服务器上进行注册。假设通信服务器为该客户端控制设备和该照明控制设备分别分配了社交网络身份“Red的气候管家”和“Red的照明管家”。两个设备都通过在用户设备上执行的社交网络客户端应用与用户的用户设备(例如,智能手机)相连。在一些实施例中,通信服务器通过在第一用户设备上执行的社交网络客户端应用使能(704)在第一外围设备(例如,照明控制设备)和第二外围设备(例如,气候控制设备)之间通信。
在一些实施例中,在社交网络客户端应用的组聊天接口上,通信服务器展示(708)用户账户的用户和代表第一和第二外围设备的各自社交网络联系人之间的组会话,其中,组会话包括在第一外围设备与第二外围设备之间对应于通信内容的一条或多条即时消息。例如,通信服务器能够提供组聊天会话,在该组聊天会话中,用户“Red207”与两个外围设备“Red的气候管家”和“Red的照明管家”能够彼此交换通信消息。在组聊天的会话日志中,不管在多方之间交换的原始消息是否为编码消息或常规即时消息,通信消息都展示作为人类用户可读的即时消息。
在一些实施例中,通过在第一用户设备上执行的社交网络客户端应用使能在第一外围设备和第二外围设备之间通信进一步包括(706):通过第一用户设备接收来自第一外围设备的第一消息请求;基于该第一消息请求,将第二外围设备识别为在第一消息请求的一个或多个消息目标中各自消息目标;基于该第一消息请求内容获得第二外围设备的第一编码消息;并且通过第一用户设备将第一编码消息发送至第二外围设备。例如,如果照明控制设备检测到已经关闭了在楼下客厅中的照明并已经开启在楼上卧室中的照明,该照明控制设备可选地通过用户设备将第一消息请求发送至通信服务器,第一消息请求至少包括以气候控制设备为目标的第一编码消息。第一编码消息为气候控制设备关闭楼下空调并开启楼上空调的指令。在一些实施例中,以气候控制设备为目标的原始消息可以为不同格式,可以在将其通过用户设备发送至气候控制设备之前将其转换为气候控制设备可接受的格式。
在一些实施例中,通信服务器获得(710)第二外围设备的对应与第一编码消息内容的第一即时消息,并将该第一即时消息发送(712)至第一用户设备,其中,第一即时消息在组聊天会话界面中展示为从表示为第一外围设备的各自社交网络联系人至表示第二外围设备的各自社交网络的即时消息。例如,第一即时消息可以为说明“@Red的气象管家,Red207已经移动到楼上,请相应地调整空调”。需要注意的是第一即时消息使用户理解在设备之间已经发生了什么,因此,第一即时消息不必是在两个外围设备之间传输的编码消息的逐字翻译。通信服务器可以使用传达该编码消息含义和内容的其它定制的和更自然的陈述。
在一些实施例中,基于该第一消息请求,通信服务器将用户账户的用户识别为在第一消息请求的一个或多个消息目标中的附加消息目标。例如,该照明控制设备可选地生成包括多个部分的第一消息请求,每个部分表示具有各自目标的各自消息。除了以气候控制设备为目标的编码指令,第一消息请求可选地包括以用户Red207为目标的另一消息。在一些实施例中,通信服务器基于该第一消息请求的内容为用户账户的用户生成(716)第二即时消息,将第二即时消息发送(718)至第一用户设备,其中,第二即时消息在组聊天界面中展示为从表示第一外围设备的各自社交网络联系人至用户账户的用户的即时消息。例如,第二即时消息可以是来自照明控制设备的消息,该第二即时消息说“Red207,炉子上的灯还开着,你想关闭它吗?”该第二即时消息基于包括以用户为目标的编码消息的第一消息请求的部分生成。例如,包括以用户为目标的编码消息的第一消息请求的部分可以是具有表示无人看管的灯的异常码(“E01”)和无人看管的灯的位置码(例如“K5”)的消息。
在一些实施例中,响应于通过第一用户设备将第一编码消息(例如,用于更改楼上和楼下空调的编码消息)发送至第二外围设备,通信服务器通过第一用户设备接收(720)来自第二外围设备的第一编码响应(例如,“+1”表示“好的”)。响应于将第二即时消息(例如,“Red207,炉子上的灯还开着,你想关闭它吗?”)发送至第一用户设备,通信服务器通过第一用户设备接收(722)来自用户账户的用户的第一即时消息响应(例如,“@Red的照明管家:关闭那盏灯”)。
在一些实施例中,通信服务器获得(724)针对第一外围设备的第二编码消息,该第二编码消息基于来自第二外围设备的第一编码响应中的信息和来自用户账户的用户的第一即时消息响应中的信息生成。通信服务器通过第一用户设备将第二编码消息发送(726)至第一外围设备。例如,通信服务器获得针对照明控制设备的第二编码消息,其中,该第二编码消息可以是针对照明控制设备在关闭了楼下烤箱上的灯之后进入挂起模式的编码指令。
在一些实施例中,通信服务器将与第二用户设备相连的第三外围设备注册(728)为与第二用户设备关联的用户账户各自的社交网络联系人;通过第一用户设备上执行的社交网络客户端应用和在第二用户设备上执行的社交网络客户端使能(730)第一外围设备和第三外围设备之间通信。例如,除了与Red207的用户设备相连的气候控制设备和照明控制设备之外,可以将由另一用户“Reddog”通过Reddog的平板设备控制的第三外围设备(例如,安全监控设备)添加到组聊天会话,并与气候控制设备和/或照明控制设备进行通信。
在一些实施例中,基于第一消息请求,通信服务器将第三外围设备识别(732)为在第一消息请求的一个或多个消息目标中另一附加消息目标。例如,第一消息请求可以包括一编码消息的附加部分,该编码消息以与由第一用户的社交网络联系人“Reddog”操作的第二用户设备相连的安全监控设备为目标。通信服务器获得(734)第三外围设备(例如,安全监控系统)的第三编码消息(例如“EXESFG001”,含义为“开启所有门的安全监控”),其中,第三编码消息已基于该第一消息请求内容生成。通信服务器将第三编码消息通过第二用户设备(例如,Reddog的平板设备)发送(736)至第三外围设备。
在一些实施例中,响应于通过第二用户设备将第三编码消息发送至第三外围设备,通信服务器通过第二用户设备接收(738)来自第三外围设备的第二编码响应。例如,安全监控设备在接收到开启全部门的安全监控的编码指令后将该指令的确认发送至照明控制设备。在一些实施例中,通信服务获得(740)针对第一外围设备的第四编码消息,该第四编码消息已基于第二编码消息内容生成。通信服务器通过第一用户设备将针对第一外围设备的第四编码响应发送(742)至第一外围设备。例如,由于照明控制设备和安全监控设备的本地消息格式可能不同,需要将从第三外围设备接收到的第二编码响应转换为第一外围设备可接受的格式。因此,通信服务器获得针对第一外围设备的第四编码消息,其中,该第四编码消息为第二编码响应转换为第一外围设备的消息格式的翻译。
在一些实施例中,响应于通过第二用户设备将第三编码消息发送至第三外围设备,通信服务器通过第二用户设备接收(744)来自第三外围设备的第二编码回应;通信服务器在通过第一用户设备将第二编码消息发送至第一外围设备之前包括(746)在第二编码消息中的第二编码响应。例如,第二编码消息为针对照明控制设备在关闭楼下烤箱上的灯之后进入挂起模式的消息。该第二编码响应为来自安全监控系统的响应,该响应指示所有门已安全,因此,由于所有其它任务(例如,改变空调和激活门的安全监控)已经分别由气候控制设备和安全监控设备负责,发送至照明控制设备的结合消息简单地在关闭烤箱灯之后进入睡眠模式。
上述示例性过程的其它特征和方面在本发明中其它部分提供。
图8为根据实施例针对外围设备和用户设备实现的示例性设备发现过程和后续通信过程的时序要求的方框图。
如上所述,通过社交网络平台接入和控制外围设备需要外围设备通过设备上执行的社交网络客户端应用连接到用户设备。该用户设备也通过社交网络客户端应用与社交网络平台的通信服务器进行通信。在用户设备和外围设备之间,一连接(例如,WiFi连接、USB连接、蓝牙连接、低功率蓝牙连接、超声连接、迅雷连接等)用于与外围设备传输数据(例如,以外围设备为目标的编码指令和起源于外围设备的编码响应)。
蓝牙和低功率蓝牙易于使用和实现连接外围设备和用户设备。通用蓝牙设计指导(例如,蓝牙4.0设计指导,针对使用平台设备的苹果蓝牙设计指导)不必通过社交网络平台调整控制外围设备的上下文。图8展示了目的为提高用户体验的通用蓝牙设备发现过程的一些改进。
如图8所示,使能蓝牙的外围设备作为广告(例如,通过广播设备发现消息)并等待连接请求的从属。该用户设备作为扫描其它设备并将连接请求发送至发现外围设备的主控。
如图8所示,为了提高连接效率,将外围设备的广播周期划分为初始广播周期(例如,广播周期的前30秒),后续广播周期(例如,在初始广播周期之后的广播周期的部分)。在初始广播周期中,外围设备反复地广播设备发现消息,该设备发现消息与相邻设备发现消息之间(例如,在相邻设备发现消息广播时间间隔的开始边缘)各自间隔不大于500ms。在初始广播周期之后,如果没有接收到连接请求,外围设备减慢广播,设备发现消息反复地与相邻设备发现消息之间的各自间隔不大于3s。在一些实施例中,外围设备在上电时启动广播周期。在一些实施例中,用户能够将信号提供给外围设备,以启动广播周期。
在广播周期中,用户设备扫描设备发现消息,当用户设备检测到来自外围设备的设备发现消息,用户设备确定是否该外围设备为已实现了上述方法的设备。例如,在一些实施例中,外围设备包括与在用户设备上执行的社交网络客户端应用相关联的社交网络服务所指定的预先确定的标识。例如,该预先确定的标识能够预先发布给外围设备的制造商,这样,制造商将他们的外围设备预设为在设备发现消息中将该标识广播为UUID。该标识允许用户设备快速确定是否存在能够与社交网络客户端应用进行通信的外围设备来实现此处所描述的方法。
图8也展示了在一些实施例中在已建立连接之后的两个连续的连接事件之间的时间间隔预设为30ms。这就允许传输协议符合工业标准,并且同时获得相对高传输速度。在一些实施例中,连接事件的超时窗为2s,该超时窗与其他协议相比相对短,并确保更快发现延迟连接。
图9A-9B为根据实施例由外围设备和用户设备实施的示例数据传输过程的简化流程图。
当在设备之间传递数据时,在社交网络客户端应用(用户设备)和社交网络平台的通信服务器之间传输的数据包的格式符合预先确定的格式协议,这样,通信服务器能够识别数据包的性质、它的原始源和最终目的地,和将转发至目的地一方的数据包载荷。由于数据包负载可能包括可变长度数据(例如,来自不同类型外围设备的即时消息、图像、语音、编码指令等),依赖于在用户设备和外围设备之间使用的连接类型和在用户设备和通信服务器之间使用的连接类型,可以将单一数据包进行划分并通过该连接在多个组块中进行发送。
以使用用户设备与外围设备之间的连接为例。如果该连接为经典蓝牙连接,可以在不具有固定长度的数据流中进行数据传输。然而,如果该连接是低功率蓝牙连接,每个数据传输操作(例如,读、写、指示或通知操作)的数据长度具有最大限值(例如,20字节)。因此,为了传输可变长度的数据包,需要将该数据包划分为多块,并存储为或写到序列中针对显露特征的值。用户设备和外围设备需要将每个检测值解释为数据的连续流的一部分,并且在已获取全部块的值后重新组装该数据包。也就是说,需要执行模拟连续数据流的过程,以通过低功率蓝牙连接(或只允许数据传输操作的短脉冲的其它连接类型)传输可变长度数据。
在一些实施例中,当使用经典蓝牙连接时,针对预先确定的rfcomm服务(例如,指定与社交网络客户端应用关联的服务)的预先确定的UUID(例如,0xFEC6)由外围设备显露。用户设备当执行设备发现程序时扫描该预先确定的UUID,例如,如图2F所示的过程及对应的描述。一旦连接建立,数据通过蓝牙连接在数据流中进行传输。每个数据包包括请求、对于该请求的响应、或推送请求中的任意一个。推送请求数据包包括推送请求,该推送请求不要求响应。推送请求用于发送来自于支持服务器或通信服务器并且以用户设备或外围设备为目标的指令或消息。每个请求要求响应的响应。该请求和它对应的响应通过共享相同的序列号进行匹配。每个数据包包括单一请求、响应或推送请求,并且每个数据包作为各自数据流通过连接发送。
在一些实施例中,每个数据包包括固定长度的头部分和可变长度的主体部分。例如,在一些实施例中,头部分可以包括不同固定域,例如,进入代表社交网络服务的神奇数字(例如,bMagicNumber=0xFE)、协议版本号(例如,bVer=1)、包总长度(例如,头部分+主体部分=45字节)、命令ID(例如,鉴权请求的命令ID=3,或将数据发送至支持服务器的命令ID=5等)、包序列号(例如,请求的序列号=非零数字,推送请求的序列号=0)
//DataPacket//
//Fixed Length Header//
Struct BpFixHead
{
unsigned char bMagicNumber;
unsigned char bVer;
unsigned short nLength;
unsigned short nCmdId;
unsigned short shortnSeq;
};
//Variable Length Body//
Protoalbuf//data in binary//
每个数据包包括请求、响应、或推送请求,并且每个请求、响应和推送请求包括对应于由社交网络应用提供的各自功能(例如,鉴权、取得联系人列表、启动聊天会话、建立组聊天会话、发送消息、发送图像、播放声音消息等)的各自命令ID。
当通过支持可变长度数据包的连接传输数据包时,该数据包长度域允许接收者确定何时到达整个数据包末尾。头信息的其它域允许接收者获知如何处理包含在数据包主体的数据,例如,进一步转发它,拆包并执行包含的命令,使用包含的参数实现请求的功能,或将其中的数据翻译或转换为不同格式。
如果连接为低功率蓝牙连接,通过显露特征发送该数据,也就是说,只有数据的小部分能够通过数据传输操作发送。为了传输大于依据特征设置的数据大小限制的可变长度数据包,需要使用数据传输操作通过显露特征模拟连续数据流的方法。
图9A表明了当将来自外围设备的数据包(例如,请求)发送至用户设备时,外围设备和用户设备执行的操作的简化流程。图9B表明了当将来自用户设备的数据包(例如,推送请求或响应)发送至外围设备时,外围设备和用户设备执行的操作的简化流程。由于低功率蓝牙连接允许在双工方式下进行数据传输和接收,在图9A和9B中所示的过程可以彼此不干扰的多路方式实现。
在一些实施例中,当外围设备通过低功率蓝牙连接与用户设备相连,外围设备显露了针对为网络客户端应用预设的UUID(例如,0xFEC6)和两个预设特征(例如,UUID:0xFEC7和UUID:xFEC8)。一个特征(例如,0xFEC7)为接受来自用户设备的数据(例如,读数据特征),它具有使能的“写”属性。另一特征(例如,0xFEC8)为将数据发送至用户设备,它具有使能的“指示”属性。用户设备当与外围设备建立连接时检测并订阅这两个显露特征。这在图9A和9B中作为第一步骤分别进行了说明。
如图9A所示,将来自外围设备的数据发送至用户设备的过程包括如下:
(1)外围设备获得将要通过用户设备发送至另一方(例如,用户、通信服务器、支持服务器或另一外围设备)的数据包(例如,请求)。数据包格式如上所述。
(2)外围设备确定为了将数据发送至用户设备已将特征(例如,写数据的特征0xFEC8)显露给用户设备。
(3)外围设备获得包含在写的显露特征中的值的大小限制,将数据包划分为一个或多个帧加余数。包含在该特征中的值的最大尺寸限制称为帧大小。不同特征具有对于它的值的不同最大尺寸限制。典型地,帧的大小限制为20字节,而数据包在大小上可以为成百上千个字节。
(4)外围设备根据写的显露特征的大小限制将数据包划分为帧序列。例如,如果健康监测腕带需要将1千字节的数据发送至用户数据,该数据包大小为1024字节,写的特征的值的大小限制是20字节,那么将数据包划分为51个帧的序列,帧大小为20字节,末尾加上4字节的余数。
(4)如果有剩余,外围设备将剩余填充为一个完整帧。
(5)为了发送完整帧序列(包括填充的剩余),外围设备将每个帧写为该写的显露特征的值,然后通知更新值的用户设备。在一些实施例中,该特征具有使能的“指示”属性,因此,每次,外围设备将新值(例如,在完整帧序列中下一个未发出的帧)写入写的特征,并将该新值推送至用户设备。在一些实施例中,也可能使用“通知”而不是“指示”作为针对写的特征的使能属性。然而,“指示”模式要求确认,该确认允许外围设备知道何时发送序列中下一个未发出的帧。
(6)在用户设备侧,用户设备接收在写的显露特征中的更新值的指示。
(7)一旦用户设备获得在写的显露值中的当前值,用户设备发送该值(也就是当前帧)的接收者的各自确认。
(8)一旦外围设备接收了已接收在写的显露特征中的当前帧的确认,外围设备将下一个未发出的帧写为写的特征的值,并通过指示模式将该更新值推送至用户设备。
(9)重复步骤6-8直到外围设备已结束在完整帧序列中的全部帧。
(10)当用户设备接收了在完整帧序列中的全部帧,用户设备可以重新组装该数据包(例如,请求)。
图9B表明了如何通过低功率蓝牙连接将来自用户设备的数据包(例如,推送请求或响应)传输至外围设备。
(1)用户设备获得待发送至外围设备的数据包(例如,推送请求或响应)。
(2)用户设备确定已显露至接收来自用户设备数据的用户设备的特征(例如,读数据的特征0xFEC7)。用户设备获得包含在读的显露特征中的值的大小限制。
(4)外围设备根据读的显露特征的大小限制将数据包划分为帧序列。
(5)如果上述帧划分存在任何余数,外围设备将该余数填充为完整帧。该来自帧划分的完整帧和余数的填充形成了该待发送至外围设备的数据包的完整帧序列。
(5)为了发送完整帧(包括填充的余数)序列,用户设备依次将每个帧写为读的显露特征的值。当外围设备确认了在读显露特征中的当前值,用户设备可以继续将下一个未发出的帧写入该特征。
(6)在外围设备侧,外围设备接收已经更新了特征值的通知,读取该值,并将它存储在读缓存中。外围设备也可选地发送该更新值的确认。
(9)重复步骤5-6直到用户设备已完成发送完整帧序列中所有帧。
(10)当外围设备接收了完整帧序列中所有帧,外围设备能够重新组装该数据包(例如,推送请求或响应)。
在一些实施例中,当将数据包(例如,包含请求、响应和推送请求的数据包)在社交网络环境的不同方(例如,外围设备、用户设备、通信服务器和支持服务器)之间传输,可以将数据包按顺序发送,也可以依赖具体实现对该数据包进行无序发送。在一些实施例中,可以在双工方式下发送和接收数据包。当设备在发送数据包的过程中,该设备可以在任何时候接收数据包。
在一些实施例中,可以要求当已接收到立即处理数据包时外围设备仅将下一个数据包发送至用户设备。相应地,可以要求当外围设备已接收到该立即处理数据包时,用户设备仅将下一个数据包发送至外围设备。在外围设备上具有输出数据包的序列,也有输入数据包的序列。输出数据包的序列包括包含请求的包,输入数据包的序列包括包含推送请求和响应的包。
在一些实施例中,在用户设备和通信服务器之间的数据包传输也是双工的。也就是说,当用户设备正将包发送至通信服务器时,该用户设备也可以在任何时候接收来自通信服务器的数据包。用户设备能够同时发送多个数据包。例如,用户设备可以发送具有下载图像请求的数据包,但在包含该请求的响应的数据包之前,用户设备也可以发送具有下载语音消息请求的另一数据包。这样,数据包通常是无序的。在一些实施例中,可选地实现顺序数据传输,其中,当发送包含请求的数据包时,用户设备等待包含对应响应的数据包。直到已接收了立即处理请求的响应,才开始下一个请求的数据包的传输。
在一些实施例中,针对包含推送请求的数据包的序列号通常设为零,然而,针对包含请求和响应的数据包的序列号从不为零。
在一些实施例中,通信服务器和支持服务器可以在任何时间发出推送请求。在一些实施例中,如果支持服务器需要特定推送请求的响应,支持服务器可以在推送消息主体中包括响应的请求,这样,接收该推送请求的外围设备就能够在后续请求中发送该请求的响应。请求的主体能够参考之前从支持服务器接收的推送请求。
图10A-10C为根据实施例在外围设备、用户设备、通信服务器和支持服务器之间的示例数据传输过程的方框图。
如图10A所示,将来自外围设备的请求(AuthReq(seq=1))发送至用户设备,并由用户设备将它转发至通信服务器。通信服务器将该请求(AuthReq(seq=1))的响应返回该用户设备,并从用户设备转发至外围设备。
如图10A所示,发送来自外围设备的另一请求(SendDataEquipSvrReq(seq=2)),并通过用户设备和通信服务器将它转发至支持服务器。支持服务器将该第二请求(SendDatatoEquipSvrResp(seq=2))的响应通过通信服务器和用户设备返回至外围设备。
如图10A所示,通信服务器可以随时通过用户设备将推送请求(DataChangePushReq(seq=0))发送至外围设备。
类似地,支持服务器也可以随时通过通信服务器和用户设备将推送请求(EquipSvrDataPushReq(seq=0))发送至外围设备。
图10B展示了通信服务器可以随时插入推送消息(例如,DataChangePushReq(seq=0)),可以在将对应于之前接收的请求(SendDataEquipSvr(seq=2))的响应(例如,SendDatatoEquipSvrResp(seq=2))已返回外围设备之前将推送请求(例如,DataChangePushReq(seq=0))发送至外围设备(通过用户设备)。
图10B也展示了通信设备可以随时插入推送请求(例如,EquipSvrDataPushReq(seq=0))。该推送请求(例如,EquipSvrDataPushReq(seq=0))可以是从通信服务器接收的推送请求,通信服务可以可选地在将之前接收到的请求(SendDataEquipSvr(seq=2))的响应(例如,SendDatatoEquipSvrResp(seq=2))返回外围设备之前将它发送至外围设备(通过用户设备)。
图10C展示了当有多个包含请求并从外围设备正在发送至通信服务器和支持服务器的数据包时,这些数据包可能无序地到达支持服务器(例如“SendDatatoEquipSvrReq(seq=3)”在“SendDatatoEquipSvrReq(seq=2)”之前到达支持服务器”)。相应地,乱序请求的响应也可能乱序(例如“SendDatatoEquipSvrResp(seq=3)”在“SendDatatoEquipSvrResp(seq=2)”之前到达通信服务器、用户设备和外围设备”)。
图11A是一些实施例中由外围设备执行的示例性蓝牙连接过程的流程图。
在一些实施例中,由外围设备执行通过蓝牙将外围设备连接到用户设备的方法。在一些实施例中,外围设备发起(1102)广播过程,包括:广播设备发现消息,该设备发现消息包括预定标识符,该预定标识符指示与用户设备上执行的社交网络应用关联的社交网络服务。外围设备从用户设备接收(1112)对应于设备发现消息的连接请求。响应于从用户设备接收该连接请求,外围设备建立(1114)与用户设备的蓝牙连接。
在一些实施例中,在广播过程期间:在初始广播周期期间,外围设备广播在一系列第一传输时隙的每个时隙内,广播(1104)该设备发现消息;如果在初始广播期间内,没有接收到响应于设备发现消息的连接请求,在初始广播周期的后续广播周期期间,在一系列的第二传输时隙的每个时隙内,广播设备发现消息,其中,每个第一传输时隙比每个第二传输时隙短。在一些实施例中,外围设备预设(1106)初始广播周期为30秒。在一些实施例中,外围设备预设(1108)每个第一传输时隙不大于500ms。在一些实施例中,外围设备预设(1110)每个第二传输时隙不大于3s。在一些实施例中,外围设备预设每个第一传输时隙为500ms。在一些实施例中,外围设备预设每个第二传输时隙为3s。
在一些实施例中,外围设备为外围设备和用户设备之间的连接事件预设(1116)不大于2s的超时窗口。在一些实施例中,外围设备为两个连续连接事件之间预设30ms的时间间隔。
在一些实施例中,社交网络应用的提供商为社交网络应用的主服务指定预定标识符。
图11A是一些实施例中由用户设备执行的示例性蓝牙连接过程的流程图。过程1120对应于过程1100。因此,针对各种时序参数描述的特征也适用于过程1120。
在一些实施例中,用户设备发起(1122)设备扫描过程,包括:检测来自外围设备的设备发现消息;确定设备发现消息是否包括预定标识符,该预定标识符指示与用户设备上执行的社交网络应用关联的社交网络服务。在确定设备发现消息包括用户设备上执行的社交网络应用关联的社交网络服务的预定标识符时,用户设备向外围设备发送(1124)对应于设备发现消息的连接请求,并且建立(1126)与外围设备的蓝牙连接。
在本申请的其他部分中,提供用于以上示例性过程的其他特征和方面。
图12A-12B是一些实施例中示例性过程1200的流程图,该示例性过程1200用于在外围设备和用户设备之间传输数据分组。过程1200由已经通过低功耗蓝牙连接连接到用户设备的外围设备执行。
在一些实施例中,用户设备在模拟的数据流中向用户设备发送(1202)数据(例如,包含请求的数据的分组)。为了在模拟的数据流中发送数据:外围设备识别(1204)第一蓝牙写数据特性(例如,具有使能的“指示”性能的蓝牙特性),该第一蓝牙特性已在当前连接事件中,由外围设备显露给用户设备。外围设备将待发送给用户设备的数据分组(例如,总共1024比特)划分(1206)成一序列数据帧(例如,51个帧)加上零个或一个剩余部分,每个数据帧具有与识别的第一蓝牙特性的预定尺寸(例如,20比特)相同的相应尺寸(例如,20比特),剩余部分(例如,4比特)具有比识别的第一蓝牙特性的预定尺寸小的相应尺寸。
在一些实施例中,对于该一序列帧的每一个:外围设备将数据帧写入(1208)相应的值,该相应的值代表识别的第一蓝牙特性;并通过用户设备推送识别的读第一蓝牙特性。在一些实施例中,通过用户设备推送识别的读第一蓝牙特性进一步包括(1210)通过指示操作,请求用户设备读该识别的第一蓝牙特性的更新的值。
在一些实施例中,外围设备填充(1212)剩余部分(如果有),以获取填充的剩余部分,具有与识别的第一蓝牙特性的预定尺寸(例如,20比特)相同的相应尺寸(例如,20比特)。外围设备将填充的剩余部分写入(1214)相应值,该相应值用于识别的第一蓝牙特性。外围设备由用户设备推送该识别的读第一蓝牙特性。
在一些实施例中,对于该一系列帧中的每一个:外围设备从用户设备接收对于识别的第一蓝牙特性的读的相应确认,其中,响应于接收该相应的确认,执行该一系列数据帧中下一数据帧的写和推送,直到数据分组中不再有数据帧和剩余部分被发送。
在一些实施例中,用户设备将从识别的第一蓝牙读特性的相应的值,重组为数据分组。
在一些实施例中,数据分组包括来源于外围设备且目的地为外围设备的支持服务提供商的消息。在一些实施例中,数据分组包括来源于外围设备且目的地为用户设备的用户的消息。在一些实施例中,数据分组包括来源于外围设备且目的地为用户设备的用户的社交网络联系人的消息。在一些实施例中,用户设备的用户的社交网络联系人为另一个用户。在一些实施例中,用户设备的用户的社交网络联系人为另一个外围设备。
在一些实施例中,外围设备在第二模拟的数据流中接收(1218)来自用户设备的数据。为了在第二模拟的数据流中接收来自用户设备的数据,外围设备从用户设备接收一系列写请求,以写入用于接收数据的第二蓝牙特性,第二蓝牙特性已经在当前连接事件中,由外围设备显露给用户设备。响应于接收该一系列写请求中的每一个,外围设备读(1222)该第二蓝牙特性中相应的值。在外围设备的读缓冲器中,外围设备存储(1224)响应于该一系列写请求中的每一个而读的相应的值。外围设备将存储在读缓冲器中的相应值重组(1226)为第二数据分组。
在一些实施例中,第二数据分组为来源于外围设备的支持服务提供商且目的地为外围设备的指令。在一些实施例中,第二数据分组为来源于用户设备上执行的社交网络客户端的通信服务器,且目的地为外围设备的指令。在一些实施例中,第二数据分组为对于先前的由外围设备发送的请求的响应。
图13A-13B是一些实施例中在外围设备和用户设备之间发送数据的示例性过程1300的流程图。该过程1300由已经通过低功耗蓝牙连接连接至外围设备的用户设备执行。
在一些实施例中,用户设备在模拟的数据流中向外围设备发送(1302)数据。为了在模拟数据流中发送数据,用户设备识别用于向外围设备发送数据的第一蓝牙特性(例如,具有使能的写性能的特性),该第一蓝牙特性已经在当前连接事件中,由外围设备显露给用户设备。用户设备将待发送给外围设备的第一数据分组划分(1306)为一系列帧加零个或一个剩余部分,每个数据帧具有与识别的第一蓝牙特性的预定数据尺寸相同的相应尺寸,以及剩余部分具有比识别的第一蓝牙特性的预定尺寸小的相应尺寸。对于该一系列数据帧的每一个,用户设备发送(1308)相应的写请求,以将数据帧写入该识别的第一蓝牙特性的相应的值。
在一些实施例中,如果帧划分之后,有剩余部分,用户设备填充(1310)该剩余部分,以获取具有与识别的第一蓝牙特性的预定数据尺寸相同的相应尺寸的填充的剩余部分。用户设备也发送(312)相应的写请求,将填充的剩余部分写入识别的第一蓝牙特性的相应的值中。
在一些实施例中,对于该一系列数据帧中的每一个:用户设备接收(1314)与数据帧关联的相应写请求的确认,其中,响应于接收该相应的确认,发送该一系列数据帧中的下一数据帧的相应的写请求,直到第一数据分组中,不再有数据帧或剩余部分待发送。
在一些实施例中,外围设备将写入到识别的第一蓝牙特性的相应的数据值重组成第一数据分组。在一些实施例中,第一数据分组包括来源于外围设备的支持服务提供商,且目的地为外围设备的指令。在一些实施例中,第一数据分组包括来源于外围设备上执行的社交网络客户端应用的通信服务器的指令。
在一些实施例中,用户设备在第二模拟数据流中,接收(1316)来自外围设备的数据。为了接收第二模拟的数据流中的数据:用户设备接收(1318)来自外围设备的一系列指示,以读取第二蓝牙特性(例如,具有使能的指示性能的特性),第二蓝牙特性已在当前连接事件中,由外围设备显露给用户设备。响应于接收该一系列指示中的每一个:用户设备读(1320)第二蓝牙特性中的相应的值,发送对于读该相应值的确认;以及在用户设备的读缓冲器中存储该相应的值。用户设备将存储在读缓冲器中的相应的值重组(1322)为第二数据分组。
在一些实施例中,第二数据分组包括来源于外围设备,且目的地为外围设备的支持服务提供商的消息。在一些实施例中,第二数据分组包括来源于外围设备,且目的地为用户设备的用户的消息。在一些时候例中,第二数据分组为来源于外围设备,且目的地为用户设备的用户的社交网络联系人。
在本申请的其他部分中,描述图12A-12B和13A-13B中示出的其他方面和特征。
图14A-14B是一些实施例中通过社交网络平台发送消息(例如包含相应请求,响应和推送请求的数据分组)来访问和控制外围设备的示例性过程1400的流程图。
在一些实施例中,过程1400由支持服务提供商的服务器(例如,支持服务器)执行,该支持服务提供商针对包括该外围设备的一种类型的外围设备。
在一些实施例中,支持服务器在社交网络平台的服务器上,注册(1402)为外围设备的支持服务提供商。支持服务器发起(1404)通信事件,以向外围设备发送指令,发起通信事件包括:生成针对该指令的推送请求数据分组,其中,该推送请求数据分组识别该外围设备为该指令的目的地;通过社交网络平台的服务器和与外围设备连接的用户设备,向外围设备发送该推送请求数据分组。在一些实施例中,该推送请求数据分组不需要来自该指令的目的地的响应,该方法进一步包括,如果在发送请求分组数据之后未收到来自外围设备的对于该推送请求数据分组的响应,结束该通信事件。
在一些实施例中,支持服务器接收(1406)来自外围设备通过与外围设备连接的用户设备和社交网络平台的服务器的请求数据分组。响应于接收来自外围设备备的该请求数据分组,支持服务器通过社交网络平台的服务器和与外围设备连接的用户设备,向外围设备发送(1408)响应数据分组。
在一些实施例中,推送请求数据分组、请求数据分组和响应数据分组具有(1410)固定长度的分组头以及可变长度的分组主体。在一些实施例中,固定长度的分组头包括预定的命令标识符和相应的分组序列号。在一些实施例中,响应数据分组包括第一分组序列号,该第一分组序列号与包括在请求数据分组中的第二分组序列号匹配,该推送请求数据分组包括不同于第一和第二分组序列号的第三分组序列号。
在一些实施例中,预定命令标识符对应于用于访问社交网络平台的相应功能的命令。在一些实施例中,该命令用于访问社交网络平台的用户认证功能,分组主体指定在社交网络平台上分配给外围设备的用户标识的类型。在一些实施例中,该命令用于在社交网络平台上访问针对外围设备的联系人列表,分组主体指定至少一个表示用户、支持服务提供商或另一个外围设备的联系人。在一些实施例中,该命令用于在社交网络平台上,访问消息传送功能,分组主体指定目的地为至少一个表示用户,支持服务提供商或另一个外围设备的联系人的消息。在一些实施例中,该命令用于在社交网络平台上访问消息传送功能,以及该分组主体指定来源于至少一个表示用户、支持服务提供商或另一个外围设备的联系人的消息。在一些实施例中,该命令用于在社交网络平台上访问消息传送功能,分组主体指定目的地为至少一个表示用户,支持服务提供商或另外一个外围设备的消息。在一些实施例中,该命令用于在社交网络平台上访问群组聊天功能,分组主体指定外围设备和外围设备的两个或更多相应社交网络联系人之间的群组聊天会话,外围设备的两个或更多相应社交网络联系人包括多个用户,支持服务提供商和多个其他外围设备中的两个或更多。在一些实施例中,该命令用于在社交网络平台上访问对话记录功能,分组主体指定外围设备和外围设备的一个或更多相应社交网络联系人之间的聊天会话的对话记录,该外围设备的一个或更多相应社交网络联系人包括多个用户,支持服务提供商和多个其他外围设备中的一个或多个。在本申请的其他部分描述其他类型的命令,以及根据本申请中提供的使用例子,该其他类型的命令是显而易见的。
在本申请的其他部分中,描述图14A-14B中示出的过程的其他方面和特征。
图15A-15B是一些实施例中通过社交网络平台发送消息(例如,包含相应请求,响应和推送请求)来访问和控制外围设备的示例性过程1500的流程图。
在一些实施例中,过程1500由社交网络平台的服务器(例如,通信服务器)执行。
在一些实施例中,通信服务器将外围设备注册(1502)为用户设备的关联的外围设备,该用户设备连接至该外围设备。通信服务器接收(1504)来自支持服务提供商的第一推送请求数据报文,该支持服务提供商针对包括该外围设备的一种类型的外围设备,其中,该第一推送请求数据分组标识该外围设备为第一推送请求数据分组的目的地。响应于接收该第一推送请求数据分组,该通信服务器通过与外围设备连接的用户设备,向外围设备转发该第一推送请求数据分组。在一些实施例中,该第一推送请求数据分组不需要来自该指令的目的地的响应。
在一些实施例中,通信服务器发起(1508)通信事件,以向外围设备发送指令,发起通信事件包括:生成针对该指令的第二推送请求数据分组,其中,该第二推送请求数据分组标识该外围设备为该指令的目的地;通过与外围设备连接的用户设备,向外围设备发送该第二推送请求数据分组。在一些实施例中,该第二推送请求数据分组不需要来自该指令的目的地的响应,以及该方法进一步包括:在发送第二推送请求数据分组之后,如果未接收到来自外围设备对于该第二推送请求数据分组的响应,结束该通信事件。
在一些实施例中,该通信服务器通过与外围设备连接的用户设备,接收(1510)来自外围设备的第二请求数据分组,该第二请求数据分组标识该支持服务提供商为该第二请求数据分组的目的地。响应于接收来自该外围设备的第二请求数据分组,该通信服务器向支持服务提供商的服务器转发(1512)该第二请求数据分组。在一些实施例中,响应于向支持服务提供商的服务器转发该第二请求数据分组,通信服务器接收来自支持服务提供商的服务器的第二响应数据分组,该第二响应数据分组由支持服务提供商的服务器响应于该第二请求数据分组而生成。响应于接收该第二响应数据分组,通信服务器通过与外围设备连接的用户设备,向外围设备转发(1516)该第二响应数据分组。
在一些实施例中,推送请求数据分组、请求数据分组以及响应数据分组具有(1410)固定长度的分组头,以及可变长度的分组主体。在一些实施例中,该固定长度的分组头包括预定的命令标识符和相应的分组序列号。在一些实施例中,响应数据分组包括第一分组序列号,该第一分组序列号匹配在该请求数据分组中包括的第二分组序列号,该推送请求数据分组包括与第一和第二分组序列号不同的第三分组序列号。
在一些实施例中,该预定的命令标识符对应于用于访问社交网络平台的相应功能的命令。在一些实施例中,该命令用于访问社交网络平台的用户认证功能,该分组主体指定在社交网络平台上分配给外围设备的用户标识的类型。在一些实施例中,该命令用于在社交网络平台上访问用于外围设备的联系人列表,该分组主体指定至少一个表示用户,支持服务提供商或另一个外围设备的联系人。在一些实施例中,该命令用于在社交网络平台上访问消息传送功能,分组主体指定目的地为至少一个表示用户,支持服务提供商或另一个外围设备的消息。在一些实施例中,该命令用于在社交网络平台上,访问消息传送功能,该分组主体指定来源于至少一个表示用户,支持服务提供商或另一个外围设备的消息。在一些实施例中,该命令用于在社交网络平台上访问消息传送功能,该分组主体指定目的地为至少一个表示用户,支持服务提供商或另一个外围设备的联系人的消息。在一些实施例中,该命令用于在社交网络平台上访问群组聊天功能,该分组主体指定外围设备和外围设备的两个或更多相应社交网络联系人之间的群组聊天会话,外围设备的两个或更多社交网络联系人包括多个用户,支持服务提供商和多个其他外围设备中的两个或更多。在一些实施例中,该命令用于在社交网络平台上访问对话记录功能,该分组主体指定外围设备和外围设备的一个或更多社交网络联系人之间的聊天会话的对话记录,外围设备的一个或更多社交网络联系人包括多个用户,支持服务提供商和多个其他外围设备中的一个或更多。在本申请的其他部分中,描述其他类型的命令,根据本申请中提供的使用例子,该其他类型的命令是显而易见的。
在本申请的其他部分中,描述在图15A-15B中示出的过程的其他方面和特征。
图16是一些实施例中通过社交网络平台发送消息(例如,包含相应请求,响应和推送请求的数据分组)来访问和控制外围设备的示例性过程1600的流程图。
在一些实施例中,过程1600由连接至外围设备的用户设备执行。
在一些实施例中,用户设备将外围设备作为用户设备关联的外围设备,注册(1602)到社交网络平台的服务器。该设备从社交网络平台的服务器接收(1604)推送请求数据分组,其中,该推送请求数据分组标识外围设备为推送请求数据分组的目的地。在一些实施例中,该推送请求数据分组不需要来自该推送请求数据分组的目的地的响应。用户设备向外围设备转发(1606)该推送请求数据分组。在一些实施例中,用户设备从外围设备接收(1608)请求数据分组;响应于从外围设备接收该请求数据分组,用户设备向外围设备发送(1610)响应数据分组。
在本申请的其他部分中,描述在图14A-14B中示出的过程的其他方面和特征。
图17-20是一些实施例中在社交网络平台中运行的各种设备和系统的框图。
图17是一些实施例中与用户关联的典型的外围设备1700的框图。根据本申请实施例的描述,外围设备1700可以作为通过社交网络平台被访问和控制的外围设备(例如,图1B,2K-2T,8,9A-9B,10A-10C中示出的外围设备118和图2A中示出的外围设备200)。外围设备的例子包括但不限于智能手表、健康监测仪(例如,心率或血压监测仪,起搏器,生活方式监测腕带等),音乐播放器,气候控制器(例如,天气监测仪,温度控制器,加热器,空调,湿度控制器等),照明控制器,安全监测系统,智能咖啡机,充电站(例如,电动汽车或电子设备等充电站),导航系统(例如,GPS系统),运动装备(例如,智能高尔夫球杆,智能钓鱼杆,智能篮球等),机顶盒(例如,在线流媒体机顶盒,在线游戏设备等)。
外围设备1700典型地包括一个或更多处理单元(CPU)1702,一个或多个网络接口1704,存储器1706,和用于互联这些组件的一个或多个通信总线1708(有时也称为芯片集)。外围设备1700也可选地包括用户接口1710。用户接口1710包括一个或多个使能媒体内容的呈现的输出设备1712,该一个或多个输出设备包括一个或多个扬声器和/或一个或多个可视化显示器。用户界面1710也包括一个或多个输入设备1714,该一个或多个输入设备1714包括便利用户输入的用户接口组件,诸如键盘,鼠标,声音命令输入单元或扩音器,触屏显示器,触敏输入板,姿势捕获摄像机,或其他输入按钮或控件等。
存储器1706包括高速随机存取存储器,诸如DRAM,SRAM,DDR RAM,或其他随机存取固态存储设备;和,可选地,包括非易失性存储器,诸如一个或多个磁盘存储设备,光盘存储设备,闪存设备,或其他非易失性固态存储设备。存储器1706可选地包括一个或多个从CPU1702远程定位的存储设备。存储器1706,或可选地,存储器1706内的非易性存储设备,包括非易失性计算机可读存储介质。在一些实施方式中,存储器1706,或存储器1706的非易失性计算机可读存储介质,存储以下程序,模块,或数据结构,或其子集或超集:
·操作系统1716,包括用于处理各种基本系统服务和用于执行硬件相关任务的程序;
·网络通信模块1718,用于通过一个或多个网络接口(有线或无线)(例如,蓝牙接口,WiFi,低功耗蓝牙,USB等)将外围设备1700连接至其他计算设备(例如,用户设备104);
·呈现模块1720,用于通过与用户接口1710关联的一个或多个输出设备1712(例如,显示器、扬声器等),在外围设备1700处使能信息的呈现(例如,用于运行外围设备和显示内容和信息的用户接口);
·输入处理模块1722,用于检测来自一个或多个输入设备1714中的一个输入设备的一个或多个用户输入或交互,并解析检测的输入和交互。
在一些实施例中,存储器1706也包括外围设备模块1724,用于执行外围设备的本地操作的数据处理以及所述的为了在社交网络平台上与其他设备和/或用户通信而执行的数据处理。在一些实施例中,外围设备模块1724包括但不限于:
o连接模块1726,用于建立与执行社交网络客户端应用的用户设备的连接。该连接模块例如实现所述的连接协议,用于广播用于社交网络应用的服务ID,以及接受来自用户设备的连接请求;
o数据传输模块1728,用于生成将被发送到用户设备的数据分组,以及根据用户设备和外围设备之间的数据传输协议约定,传输数据分组;以及用于根据用户设备和外围设备之间的数据传输协议约定,接收和重组来自用户设备的数据分组;
o消息生成模块1730,用于准备目的地为其他用户,其他外围设备,通信服务器,支持服务器等的请求(例如,包括编码指令和编码消息);
o消息解析模块1732,用于将接收的请求(例如,包括编码指令)解析为内部操作;
o功能执行模块1734,用于执行接收的请求中请求的功能或任务;
o其他模块1736,用于执行此处针对社交网络平台上的交互描述的其他功能。
以上所述的单元可以存储在之前提及的一个或多个存储设备中,并且对应于用于执行以上描述的功能的指令集。不需要作为独立的软件程序,过程,模块,或数据结构而实现以上所述的模块或程序(例如,指令集),因此,可以以各种方式组合或重排这些模块的各种子集。在一些实施例中,存储器1706可选地存储以上所述的模块和数据结构的子集。进一步地,存储器1706可选地存储以上未描述的外加模块和数据结构。
图18是一些实施例中与用户关联的典型的用户设备1800的框图。根据本申请描述的实施例,用户设备1800可以作为通过社交网络平台控制和访问外围设备(例如,本地连接的外围设备或连接到另一个用户设备的外围设备)的用户设备(例如,图1B、2K-2T、8、9A-9B、10A-10C中示出的用户设备104和图2B-2H中示出的用户设备202)。用户设备的例子包括但不限于智能电话,平板设备,台式计算机,膝上型计算机,游戏机等。
用户设备1800典型地包括一个或多个处理单元(CPU)1802,一个或多个网络接口1804,存储器1806,和用于互联这些组件的一个或多个通信总线1808(有时也称为芯片集)。用户设备1800也可选地包括用户接口1810。用户接口1810包括使能媒体内容的呈现的一个或多个输出设备1812,其包括一个或多个扬声器和/或一个或多个可视化显示器。用户接口1810也包括一个或多个输入设备1814,其包括便利用户输入的用户接口组件,诸如,键盘,鼠标,声音命令输入单元或扩音器,触屏显示器,触敏输入板,姿势捕获摄像机或其他输入按钮或控件等。
存储器1806包括高速随机存取存储器,诸如DRAM、SRAM、DDR RAM、或其他随机存取固态存储设备;和,可选地,包括非易失性存储器,诸如一个或多个磁盘存储设备、光盘存储设备、闪存设备,或其他非易失性固态存储设备。存储器1806可选地包括一个或多个从CPU1802远程定位的存储设备。存储器1806,或可选地,存储器1806内的非易性存储设备,包括非易失性计算机可读存储介质。在一些实施方式中,存储器1806,或存储器1806的非易失性计算机可读存储介质,存储以下程序、模块、或数据结构、或其子集或超集:
·操作系统1816,包括用于处理各种基本系统服务和用于执行硬件相关任务的程序;
·网络通信模块1818,用于通过一个或多个网络接口1804(有线或无线)(例如,蓝牙接口、WiFi、低功耗蓝牙、USB等、以太、LAN、WAN等)将用户设备1800连接至其他计算设备(例如,外围设备118或通信服务器112);
·呈现模块1820,用于通过与用户接口1810关联的一个或多个输出设备1812(例如,显示器、扬声器等),在用户设备1800处使能信息的呈现(例如,用于运行外围设备和显示内容和信息的用户接口);
·输入处理模块1822,用于检测来自一个或多个输入设备1814中的一个输入设备的一个或多个用户输入或交互,并解析检测的输入和交互。
在一些实施例中,存储器1806也包括社交网络客户端模块1824,用于执行数据处理以便在社交网络平台上执行社交网络平台的提供商提供的各种功能,包括所述的为在社交网络平台上实现对外围设备的访问和控制而进行的操作。在一些实施例中,社交网络客户端模块1824包括但不限于:
o绑定模块1826,用于将外围设备绑定到用户设备和用户设备上执行的社交网络客户端内当前运行的用户账户;
o连接模块1828,用于建立与绑定到用户设备的外围设备的连接。该连接模块例如实现所述的连接协议,用于检测社交网络应用的服务ID,以及向外围设备发起连接请求;
o数据传输模块1830,用于根据用户设备和通信服务器之间的数据传输协议约定,与通信服务器之间收发数据;以及用于根据用户设备和外围设备之间的数据传输协议约定,与外围设备之间收发数据;
o转换模块1832,用于建立一对一对话,和群组聊天会话,以及解析接收的消息(例如,即时)和在对应的聊天会话的对话记录中,呈现该消息;
o联系人管理模块1834,用于管理有效用户账户的联系人,其包括表示外围设备的联系人;以及
o其他模块1836,用于执行此处针对社交网络平台上的交互描述的功能。
以上所述的单元可以存储在之前提及的一个或多个存储设备中,并且对应于用于执行以上描述的功能的指令集。不需要作为独立的软件程序,过程,模块,或数据结构而实现以上所述的模块或程序(例如,指令集),因此,可以以各种方式组合或重排这些模块的各种子集。在一些实施例中,存储器1706可选地存储以上所述的模块和数据结构的子集。进一步地,存储器1706可选地存储以上未描述的外加模块和数据结构。
图19是一些实施例中示例性社交网络平台的典型的服务器系统1900的框图。根据本申请描述的一些实施例,服务器系统1900能够作为为用户和外围设备提供社交网络服务的通信服务器(例如,图1B中示出的通信服务器112b、图10A-10中示出的通信服务器112)。可以由包括虚拟和物理资源的一个或多个计算机系统提供服务器系统1900。
服务器系统1900典型地包括一个或多个处理单元(CPU)1902,一个或多个网络接口1904,存储器1906,和用于互联这些组件的一个或多个通信总线1908(有时也称为芯片集)。服务器系统1900也可选地包括用户接口1910。用户接口1910包括一个或多个使能媒体内容的呈现的输出设备1912,该一个或多个输出设备包括一个或多个扬声器和/或一个或多个可视化显示器。用户界面1910也包括一个或多个输入设备1914,该一个或多个输入设备1914包括便利用户输入的用户接口组件,诸如键盘,鼠标,声音命令输入单元或扩音器,触屏显示器,触敏输入板,姿势捕获摄像机,或其他输入按钮或控件等。
存储器1906包括高速随机存取存储器,诸如DRAM,SRAM,DDR RAM,或其他随机存取固态存储设备;和,可选地,包括非易失性存储器,诸如一个或多个磁盘存储设备,光盘存储设备,闪存设备,或其他非易失性固态存储设备。存储器1906可选地包括一个或多个从CPU1902远程定位的存储设备。存储器1906,或可选地,存储器1906内的非易性存储设备,包括非易失性计算机可读存储介质。在一些实施方式中,存储器1906,或存储器1906的非易失性计算机可读存储介质,存储以下程序,模块,或数据结构,或其子集或超集:
·操作系统1916,包括用于处理各种基本系统服务和用于执行硬件相关任务的程序;
·网络通信模块1918,用于通过一个或多个网络接口1904(有线或无线)(例如,WiFi、以太、LAN、WLAN等)在网络106上连接至其他计算设备(例如,用户设备104或支持服务器116);
·呈现模块1920,用于通过与用户接口1910关联的一个或多个输出设备1912(例如,显示器、扬声器等),在服务器系统1900处使能信息的呈现(例如,用于运行服务器系统和显示内容和信息的用户接口);
·输入处理模块1922,用于检测来自一个或多个输入设备1914中的一个输入设备的一个或多个用户输入或交互,并解析检测的输入和交互。
在一些实施例中,存储器1906也包括社交网络服务器模块1924,用于执行数据处理以便支持社交网络平台上的各种用户和后台功能,包括所述的为了在社交网络平台上实现对外围设备的访问和控制的而进行的操作。在一些实施例中,社交网络服务器模块1924包括但不限于:
o绑定模块1926,用于将外围设备绑定到对应的用户账户;
o用户管理模块1920,用于注册用户,支持服务提供商,外围设备,以及向注册的用户,支持服务提供商和外围设备,分配相应的社交网络标识;
o通信模块1930,用于准备发送至用户,外围设备和支持服务器的消息(例如,推送请求中的消息和指令);用于解析接收的请求,向支持服务器转发接收的请求,向外围设备和/或用户转发接收的响应;
o对话模块1932,用于建立一对一对话,以及群组聊天会话,以及管理用于对应的聊天会话的记录;以及
o其他模块1934,用于执行此处针对社交网络平台上的交互描述的其他功能。
以上所述的单元可以存储在之前提及的一个或多个存储设备中,并且对应于用于执行以上描述的功能的指令集。不需要作为独立的软件程序,过程,模块,或数据结构而实现以上所述的模块或程序(例如,指令集),因此,可以以各种方式组合或重排这些模块的各种子集。在一些实施例中,存储器1706可选地存储以上所述的模块和数据结构的子集。进一步地,存储器1706可选地存储以上未描述的外加模块和数据结构。
图20是一些实施例中支持服务提供商的典型的服务器系统2000的框图,该支持服务提供商为一种或多种类型的外围设备提供支持。根据本申请描述的一些实施例,服务器系统2000能够作为为用户和外围设备提供支持服务的支持服务器(例如,图1B和图10A-10C中示出的支持服务器116)。支持服务器也执行编码指令和消息与用于呈现给人类用户的常规即时消息之间的转换。可以由包括虚拟和物理资源的一个或多个计算机系统提供服务器系统2000。
服务器系统2000典型地包括一个或多个处理单元(CPU)2002,一个或多个网络接口2004,存储器2006,和用于互联这些组件的一个或多个通信总线2008(有时也称为芯片集)。服务器系统2000也可选地包括用户接口2010。用户接口2010包括一个或多个使能媒体内容的呈现的输出设备2012,该一个或多个输出设备包括一个或多个扬声器和/或一个或多个可视化显示器。用户界面200也包括一个或多个输入设备2014,该一个或多个输入设备2014包括便利用户输入的用户接口组件,诸如键盘,鼠标,声音命令输入单元或扩音器,触屏显示器,触敏输入板,姿势捕获摄像机,或其他输入按钮或控件等。
存储器2006包括高速随机存取存储器,诸如DRAM,SRAM,DDR RAM,或其他随机存取固态存储设备;和,可选地,包括非易失性存储器,诸如一个或多个磁盘存储设备,光盘存储设备,闪存设备,或其他非易失性固态存储设备。存储器1906可选地包括一个或多个从CPU1902远程定位的存储设备。存储器2006,或可选地,存储器2006内的非易性存储设备,包括非易失性计算机可读存储介质。在一些实施方式中,存储器2006,或存储器2006的非易失性计算机可读存储介质,存储以下程序,模块,或数据结构,或其子集或超集:
·操作系统2016,包括用于处理各种基本系统服务和用于执行硬件相关任务的程序;
·网络通信模块2018,用于通过一个或多个网络接口2004(有线或无线)(例如,WiFi、以太、LAN、WLAN等)在网络106上连接至其他计算设备(例如,用户设备104或通信服务器112);
·呈现模块2020,用于通过与用户接口2010关联的一个或多个输出设备2012(例如,显示器、扬声器等),在服务器系统2000处使能信息的呈现(例如,用于运行服务器系统和显示内容和信息的用户接口);
·输入处理模块2022,用于检测来自一个或多个输入设备2014中的一个输入设备的一个或多个用户输入或交互,并解析检测的输入和交互。
在一些实施例中,存储器2006也包括支持服务器模块2024,用于执行数据处理,从而支持社交网络平台上的各种支持功能(例如,执行设备诊断、提供客户支持等),包括提供用于控制外围设备的编码指令,和按照所述提供编码消息到用于呈现给人类用户的即时消息的转换。在一些实施例中,支持服务器模块2024包括但不限于:
o注册模块2026,用于在通信模块上配置服务账户;
o设备管理模块2020,用于使用社交网络平台,管理注册用户与外围设备之间的社交网络关系;
o通信模块2030,用于准备发送到用户,外围设备和支持服务器的消息(例如,推送请求中的消息和指令);用于解析接收的请求,向支持服务器转发接收的请求,向外围设备和/或用户设备转发接收的响应;
o对话模块2032,用于建立与用户和外围设备的一对一对话和群组聊天会话;以及
o其他模块2034,用于执行此处针对社交网络平台上的交互描述的其他功能。
以上所述的单元可以存储在之前提及的一个或多个存储设备中,并且对应于用于执行以上描述的功能的指令集。不需要作为独立的软件程序,过程,模块,或数据结构而实现以上所述的模块或程序(例如,指令集),因此,可以以各种方式组合或重排这些模块的各种子集。在一些实施例中,存储器1706可选地存储以上所述的模块和数据结构的子集。进一步地,存储器1706可选地存储以上未描述的外加模块和数据结构。
图21-24是一些实施例中在社交网络平台中运行的各种设备和系统的框图。
图21示出了一些实施例中与用户关联的典型的外围设备的框图。根据本申请中描述的实施例,外围设备1700能够作为能够通过社交网络平台控制和访问的外围设备(例如,图1B、2K-2T、8、9A-9B、10A-10C中示出的外围设备118和图2A中示出的外围设备200)。外围设备的例子包括但不限于,智能手表、健康监测仪(例如,心率或血压监测仪、心脏起搏器、生活方式监测腕带等)、音乐播放器、气候控制器(例如,天气监测仪、温度控制器、加热器、空调、湿度控制器等)、照明控制器、安全监测系统、智能咖啡机、充电站(例如,电动汽车或电子设备的充电站等)、导航系统(例如,GPS系统)、运动装备(例如,智能高尔夫球杆、智能钓鱼竿、智能篮球等)、机顶盒(例如,在线流媒体机顶盒、在线游戏机等)。
在一些实施例中,外围设备也包括外围设备模块1724,用于执行数据处理,从而执行外围设备的本地操作以及为了实现通过社交网络平台与其他设备和/或用户通信而进行的操作。在一些实施例中,外围设备模块1724包括但不限于:连接单元1726,用于与执行社交网络客户端应用的用户设备建立连接。例如,该连接模块实现所述的连接协议,以向社交网络应用广播服务ID,以及接受来自用户设备的连接请求;数据传输单元1728,用于生成待发送到用户设备的数据分组,以及根据用户设备和外围设备之间的数据传输协议约定,发送数据分组;消息生成单元1730,用于准备目的地为其他用户、其他外围设备、通信服务器、支持服务器等的请求(例如,包括编码指令和编码消息);消息解析单元1732,用于将接收的请求(例如,包括编码指令)解析为内部操作;功能执行单元1734,用于执行接收的请求中请求的功能或任务;以及其他模块单元,用于执行此处针对社交网络平台上的交互执行的其他功能。
图22示出了本申请中一些实施例中与用户关联的典型的用户设备2200的框图。根据本申请中描述的实施例,用户设备2200能够作为通过社交网络平台对外围设备(例如,本地连接的外围设备或连接到另一个用户设备的外围设备)进行控制和访问的用户设备(例如,图1B、2K-2T、8、9A-9B、10A-10C中示出的用户设备104、和图2B-2H中示出的用户设备202)。
在一些实施例中,用户设备2200也包括社交网络客户端模块2224,用于执行数据处理,从而在由社交网络平台的提供商提供的社交网络平台上执行各种功能(包括需要通过社交网络平台对外围设备进行访问和控制的操作)。在一些实施例中,社交网络客户端模块2224包括但不限于:绑定单元2226,用于将外围设备绑定至用户设备和在该用户设备上执行的社交网络客户端应用上当前活动的用户账户;连接单元2228,用于建立与外围设备的连接,该外围设备已绑定到用户设备。例如,该连接模块实现所述的连接协议,从而为社交网络应用检测服务ID,以及发起到外围设备的连接请求;数据传输单元2230,用于根据用户设备和通信服务器之间的数据传输协议约定,与通信服务器之间收发数据分组;以及用于根据用户设备和外围设备之间的数据传输协议约定,与外围设备之间收发数据分组;对话单元2232,用于建立一对一对话,群组聊天会话,以及解析接收的消息(例如,即时)并且在对应的聊天会话的对话记录中,呈现该消息;联系人管理单元2234,用于管理有效用户账户的联系人,包括表示外围设备的联系人;其他单元2236,用于执行此处针对社交网络平台上的交互描述的其他功能。
图23是示出了一些实施例中示例性社交网络平台的典型的服务器系统2300的框图。根据本申请中描述的实施例,服务器系统2300能够作为为用户和外围设备提供社交网络服务的通信服务器(例如,图1B中示出的通信服务器112b、图10A-10C中示出的通信服务器112)。该服务器系统2300可以包括虚拟和物理资源的一个或多个计算机系统。
在一些实施例中,服务器系统2300包括社交网络服务器模块2324,用于执行数据处理,从而在社交网络平台上支持各种用户和后台功能,包括为了通过社交网络平台对外围设备进行访问和控制的而进行的操作。在一些实施例中,社交网络服务器模块2324包括但不限于:绑定单元,用于将外围设备绑定至相应的用户账户;用户管理单元2320,用于注册用户、支持服务提供商和外围设备,以及向注册的用户、支持服务提供商和外围设备提供相应的社交网络标识;通信单元2330,用于准备将发送给用户、外围设备和支持服务器的消息(例如,推送请求中的消息和指令);用于解析接收的请求,向支持服务器转发接收的请求,向外围设备和/或用户设备转发接收的响应;对话单元2332,用于建立一对一对话,和群组聊天会话,以及为对应的聊天会话管理对话记录;和其他单元2334,用于执行此处针对社交网络平台上的交互描述的其他功能。
图24示出了一些实施例中为一种或多种类型的外围设备提供支持的支持服务提供商的典型的服务器系统2400的框图。根据本申请中描述的实施例,服务器系统2400能够作为为用户和外围设备提供支持服务的支持服务器(例如,图1B和10A-10C中示出的支持服务器116)。支持服务器也执行编码指令和消息与用于呈现给用户的常规即时消息之间的转换。服务器系统2400可以包括虚拟和物理资源的一个或多个计算机系统。
在一些实施例中,服务器系统2400包括支持服务器模块2424,用于执行数据处理,从而支持社交网络平台上的各种支持功能(例如,执行设备诊断、提供客户服务等),包括为控制外围设备提供编码指令,以及包括提供从编码消息到用于按照所述的向人类用户呈现的即时消息的转换。在一些实施例中,支持服务器模块2424包括但不限于:注册单元2426,用于通过通信模块配置服务账户;设备管理单元2420,用于管理与注册用户和使用社交网络平台的功能的外围设备之间的社交网络关系;通信单元2430,用于准备将发送给用户、外围设备和支持服务器的消息(例如,推送请求中的消息和指令);用于解析接收的请求,向支持服务器转发接收的请求,向外围设备和/或用户设备转发接收的响应;对话模块单元,用于建立一对一对话,与用户和外围设备的群组聊天会话;以及其他单元2434,用于执行此处针对社交网络平台上的交互描述的功能。
虽然以上描述了具体实施例,但是应该理解这不意在将本发明限制在这些具体实施例。相反,本发明在所附权利要求的精神和范围内的替换、修改和等同。提出许多具体细节为了此处呈现的主题的全面理解。但是,对于本领域技术人员,可以不通过这些细节实现该主题是显而易见的。在其他情况下,公知的方法,程序,组件和电路未具体描述,以免得不必要的隐藏实施例的方面。