CN105518692A - 用于经由社交网络平台控制外围设备的方法和装置 - Google Patents
用于经由社交网络平台控制外围设备的方法和装置 Download PDFInfo
- Publication number
- CN105518692A CN105518692A CN201480049286.0A CN201480049286A CN105518692A CN 105518692 A CN105518692 A CN 105518692A CN 201480049286 A CN201480049286 A CN 201480049286A CN 105518692 A CN105518692 A CN 105518692A
- Authority
- CN
- China
- Prior art keywords
- peripherals
- subscriber equipment
- user
- message
- server
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
- H04L67/125—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/55—Push-based network services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/324—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the data link layer [OSI layer 2], e.g. HDLC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72403—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72403—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
- H04M1/72409—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories
- H04M1/72412—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories using two-way short-range wireless interfaces
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/20—Services signaling; Auxiliary data signalling, i.e. transmitting data via a non-traffic channel
- H04W4/21—Services signaling; Auxiliary data signalling, i.e. transmitting data via a non-traffic channel for social networking applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/80—Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/10—Connection setup
- H04W76/14—Direct-mode setup
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M2250/00—Details of telephonic subscriber devices
- H04M2250/02—Details of telephonic subscriber devices including a Bluetooth interface
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M2250/00—Details of telephonic subscriber devices
- H04M2250/52—Details of telephonic subscriber devices including functional features of a camera
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W84/00—Network topologies
- H04W84/18—Self-organising networks, e.g. ad-hoc networks or sensor networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Information Transfer Between Computers (AREA)
- Telephonic Communication Services (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
一种用于经由蓝牙低能耗连接而在外围设备与用户设备之间传送数据的方法和装置,包括:在外围设备处:在模拟数据流中向用户设备传送数据,所述传送包括:识别用于写入数据的第一蓝牙特性,第一蓝牙特性已经被外围设备暴露给用户设备;将数据包划分成数据帧的序列加上零或一个余项,每个数据帧具有与所识别的第一蓝牙特性的预定数据大小相等的相应大小;以及针对数据帧的序列中的每个数据帧:将数据帧写入针对所识别的第一蓝牙特性的相应的值;和推送所识别的第一蓝牙特性以供用户设备读取。
Description
技术领域
本公开内容涉及互联网技术领域,并且更具体地,涉及用于经由社交网络平台控制外围设备的方法和装置。
背景技术
随着互联网的发展,人们在日常生活中变得越来越依赖用于各种任务的各种电子设备。许多重量轻且简单的设备和配件,例如智能手表、健康监视器、音乐播放器、气候控制器、智能咖啡机、车辆充电站、导航系统、运动装备、机顶盒等,逐渐接替更复杂且重型的设备和系统以及通用计算设备(例如通用台式计算机或者膝上型计算机)的功能。
许多电子设备和配件具有智能芯片和内部逻辑,智能芯片和内部逻辑使得它们能够通过设置在设备上的软件驱动用户接口来被控制。随着诸如智能电话和平板设备这样的移动网络使能设备的发展,人们能够在不受位置约束的情况下执行更多的任务。许多电子设备和配件可以成为主要用户设备(例如,智能电话或平板设备)的外围设备并且经由安装在主要用户设备上的相应的专用软件(例如,针对每个外围设备的专用app(应用程序))而被控制。
在针对这些重量轻且专用的配件的繁荣市场中,不同的制造商提供具有其自身设计的用户接口和控制器的类似产品。当前,针对产品设计以及在不同类型的产品和/或不同制造商的相似产品之间共享的通信和信息,不存在统一的标准。因此,探索和学习用户所购买的不同产品的不同用户接口和功能对于用户而言是个挑战。对于用户而言甚至更困难的是将在他们自己的配件中创建或收集的信息与可能拥有或不拥有相同类型设备的其他人共享。
现今,许多用户是一个或更多个社交网络平台的积极参与者。社交网络平台提供了用于在社交网络联系人与不同的社交网络组或在线社区中的人们之间使用即时消息、留言板、一对一对话或组聊天而将人们联系起来的手段。用户经由安装在他/她的用户设备(例如,智能电话或平板设备)上的社交网络客户端应用程序来访问他/她自己的社交网络账号。社交网络客户端应用程序的用户已经变得习惯于在社交网络平台上对建立联系人以及发送和读取消息进行控制。迄今为止,社交网络客户端应用程序的功能限于人类用户之间的通信。在社交网络客户端应用程序中可以使用诸如内置相机或麦克风这样的外围设备来作为用于捕获形成要被传送至另一用户的消息内容的用户输入(例如语音或图像输入)的设备,但是由于不同外围设备之中的开发复杂性、成本以及大量设计变化,因此扩展对控制其他类型的外围设备的支持对于社交网络客户端应用程序的提供商而言是无法实现的。
发明内容
本公开内容描述了用于经由社交网络平台控制外围设备的方法和装置。如以上在背景技术中所描述,社交网络在当今世界中已经变得日渐普遍。许多人已经对针对一个或更多个社交网络平台的社交网络客户端应用程序的操作和控制非常熟悉。使得能够通过在社交网络平台上发送和接收的社交网络消息(例如,以自然语言的形式的即时消息)来访问和控制外围设备,有助于用户避免学习许多针对不同外围设备的专用用户接口并且使得与外围设备的通信更加自然和直观。另外,可以对由不同制造商制造的外围设备提供简单统一的用户接口控制,使得用户能够遍及不同制造商和设备类型的外围设备而容易地共享信息。
在本公开内容中,各种实施方式说明了在经由社交网络平台提供对外围设备的访问和控制中所涉及的不同方之间的相互关系,其中所述不同方包括制造商的服务器或针对外围设备的支持服务提供商、社交网络平台的一个或多个服务器、用户设备、用户以及要经由社交网络平台控制的外围设备。另外,公开了在社交网络平台中所涉及的不同方之间的通信场景、用户接口、过程流程和设备发现以及通信协议。外围设备的制造商可以遵守由社交网络平台针对设备注册、设备发现、指令和响应的通信、信息的呈现等所建立的协议,以共享用于提供必要的后台支持的负荷以及来自社交网络平台的服务器和在主要用户设备上执行的社交网络客户端应用程序的服务。
在一些实施方式中,在社交网络平台上注册外围设备的方法包括:在具有一个或更多个处理器和存储器的用户设备处:执行用户设备上的社交网络平台的社交网络客户端应用程序;通过社交网络客户端应用程序,接收标识外围设备的输入;以及响应于接收标识外围设备的输入:发送用于建立针对外围设备的社交网络身份的请求;以及当成功建立针对外围设备的社交网络身份时,在社交网络客户端应用程序的用户界面中将外围设备呈现为用户账号的社交网络联系人。在一些实施方式中,接收标识外围设备的输入还包括经由条形码扫描仪来扫描与外围设备关联的条形码。
在一些实施方式中,用于在社交网络平台上注册外围设备的方法包括:在具有一个或更多个处理器和存储器的用户设备处:执行用户设备上的社交网络平台的社交网络客户端应用程序;通过社交网络客户端应用程序,接收标识针对相应类型的外围设备的支持服务提供商的输入;以及响应于接收标识针对相应类型的外围设备的支持服务器提供商的输入:将支持服务提供商的公共社交网络身份注册为与用户设备当前关联的用户账号的联系人;以及在用户设备的周围区域内进行搜索以定位相应的类型的外围设备中的外围设备。在一些实施方式中,接收标识针对相应类型的外围设备的支持服务提供商的输入还包括:经由条形码扫描仪来扫描与针对相应类型的外围设备的支持服务提供商关联的条形码。
在一些实施方式中,用于在社交网络平台上通过外围设备的支持服务提供商来提供对外围设备的访问和控制的方法包括:在社交网络平台的服务器处:接收来自支持服务提供商的服务者注册请求,该服务者注册请求指定要由支持服务提供商服务的外围设备的类型;基于注册请求来建立针对支持服务提供商的公共社交网络身份;接收来自第一用户的第一所有者注册请求,第一所有者注册请求指定由第一用户控制的第一外围设备;当确定第一外围设备是在服务者注册请求中所指定的类型的外围设备时,在支持服务提供商的公共社交网络身份与第一用户之间建立社交网络关系;以及在第一用户的相应社交网络身份与支持服务提供商的公共联系人身份之间的聊天会话的对话界面中,作为相应的即时消息来提供以第一外围设备为目标的相应的第一通信消息以及从第一外围设备发出的相应的第二通信消息。
在一些实施方式中,用于在社交网络平台上提供对外围设备的访问和控制的方法包括:在社交网络平台的服务器处:将耦接至第一用户设备的外围设备注册为与第一用户设备关联的用户账号的相应的社交网络联系人;以及经由在第一用户设备处执行的社交网络客户端应用程序来提供对外围设备的用户访问,其中,社交网络客户端应用程序将外围设备识别为与第一用户设备关联的用户账号的相应的社交网络联系人。
在一些实施方式中,用于在社交网络平台上通过外围设备的支持服务提供商来提供对外围设备的访问和控制的方法包括:在社交网络平台的服务器处:接收来自支持服务提供商的服务者注册请求,服务者注册请求指定要由支持服务提供商服务的外围设备的类型;基于服务者注册请求来建立针对支持服务提供商的公共社交网络身份;接收来自第一用户的第一所有者注册请求,第一所有者注册请求指定由第一用户控制的第一外围设备;以及当确定第一外围设备是在服务者注册请求中所指定的类型的外围设备时:在社交网络平台上创建针对第一外围设备的相应的社交网络身份;以及在支持服务提供商的公共社交网络身份、第一用户以及第一外围设备的相应社交网络身份之间建立社交网络关系。在一些实施方式中,该方法还包括:在支持服务提供商的公共社交网络身份、第一用户以及第一外围设备的相应社交网络身份之间建立相应的组聊天会话。
在一些实施方式中,用于在社交网络平台上提供外围设备之间的通信的方法包括:在社交网络平台的服务器处:将耦接至第一用户设备的第一外围设备和第二外围设备注册为与第一用户设备关联的用户账号的相应的社交网络联系人;使得能够经由在第一用户设备处执行的社交网络客户端应用程序而在第一外围设备与第二外围设备之间进行通信;以及在社交网络客户端应用程序的组聊天界面中,呈现用户账号的用户与表示第一和第二外围设备的相应社交网络联系人之间的组对话,其中组对话包括与在第一外围设备和第二外围设备之间的通信内容相对应的一个或更多个即时消息。
在一些实施方式中,用于经由蓝牙协议将外围设备连接至用户设备的方法包括:开始广播过程,包括:广播设备发现消息,设备发现消息包括针对与在用户设备上执行的社交网络应用程序关联的社交网络服务所指定的预定标识符;从用户设备接收与设备发现消息对应的连接请求;以及响应于接收来自用户设备的连接请求,建立至用户设备的蓝牙连接。在一些实施方式中,该方法还包括:在广播过程期间:在初始广播时间段期间在一系列第一传输时隙的每个时隙中广播设备发现消息;并且如果在初始广播时间段期间没有接收到响应于设备发现消息的连接请求,则在初始广播时间段之后的后续广播时间段期间、在一系列第二传输时隙的每个时隙中广播设备发现消息,其中每个第一传输时隙比每个第二传输时隙短。
在一些实施方式中,用于经由蓝牙协议将外围设备连接至用户设备的方法包括:在用户设备处:发起设备扫描过程,包括:检测来自外围设备的设备发现消息;以及确定设备发现消息是否包括针对与在用户设备上执行的社交网络应用程序关联的社交网络服务所指定的预定标识符;以及当确定设备发现消息包括针对与在用户设备上执行的社交网络应用程序关联的社交网络服务所指定的预定标识符时,向外围设备发送与设备发现消息对应的连接请求;以及建立至外围设备的蓝牙连接。
在一些实施方式中,用于经由蓝牙低能耗连接在外围设备与用户设备之间传送数据的方法,包括:在外围设备处:在模拟数据流中向用户设备传送数据,传送包括:识别用于写入数据的第一蓝牙特性,第一蓝牙特性在当前连接事件中已经被外围设备暴露给用户设备;将要被传送至用户设备的数据包划分成数据帧的序列加上零或一个余项,每个数据帧具有与所识别的第一蓝牙特性的预定数据大小相等的相应大小,并且余项具有比所识别的第一蓝牙特性的预定数据大小更小的相应大小;以及针对数据帧序列中的每个数据帧:将数据帧写入针对所识别的第一蓝牙特性的相应值;以及推送所识别的第一蓝牙特性以供用户设备读取。在一些实施方式中,要求保护的方法还包括:填充余项以获得具有与所识别的第一蓝牙特性的预定大小相等的相应大小的已填充余项;将已填充余项写入针对所识别的第一蓝牙特性的相应的值;以及推送所识别的第一蓝牙特性以供用户设备读取。在一些实施方式中,推送所识别的第一蓝牙特性以供用户设备读取还包括:通过指示操作来请求用户设备读取所识别的第一蓝牙特性的更新的值。在一些实施方式中,该方法还包括:针对数据帧序列中的每个数据帧:接收针对从用户设备读取所识别的第一蓝牙特性的相应的确认,其中响应于接收相应的确认来对数据帧序列中的下一个数据帧执行写入和推送,直到数据包中不再存在要被传送的数据帧或余项为止。
在一些实施方式中,用于经由蓝牙低能耗协议在外围设备与用户设备之间传送数据的方法,包括:在用户设备处:在模拟数据流中向外围设备传送数据,传送包括:识别用于向外围设备发送数据的第一蓝牙特性,第一蓝牙特性在当前连接事件中已经被外围设备暴露给用户设备;将要被传送至外围设备的第一数据包划分成数据帧的序列加上零或一个余项,每个数据帧具有与所识别的第一蓝牙特性的预定数据大小相等的相应大小,并且余项具有比所识别的第一蓝牙特性的预定数据大小更小的相应大小;以及针对数据帧序列中的每个数据帧,发送用于将数据帧写入所识别的第一蓝牙特性的相应值的相应的写入请求。在一些实施方式中,方法还包括:填充余项以获得具有与所识别的第一蓝牙特性的预定数据大小相等的相应大小的已填充余项;以及发送用于将已填充余项写入所识别的第一蓝牙特性的相应值的相应的写入请求。
在一些实施方式中,在社交网络平台上与外围设备进行通信的方法包括:在针对包括该外围设备的一类外围设备的支持服务提供商的服务器处:向社交网络平台的服务器注册为外围设备的支持服务提供商;发起通信事件以向外围设备发送指令,发起通信事件包括:生成针对指令的推送请求数据包,其中推送请求数据包将外围设备标识为指令的目标;以及经由社交网络平台的服务器以及耦接至外围设备的用户设备来向外围设备发送推送请求数据包。在一些实施方式中,该方法还包括:经由耦接至外围设备的用户设备以及社交网络平台的服务器而接收来自外围设备的请求数据包;以及响应于接收来自外围设备的请求数据包,经由社交网络平台的服务器和耦接至外围设备的用户设备而向外围设备发送响应数据包。
在一些实施方式中,在社交网络平台上与外围设备进行通信的方法包括:在社交网络平台的服务器处:将外围设备注册为耦接至外围设备的用户设备的关联外围设备;接收来自针对包括外围设备的一类外围设备的支持服务提供商的第一推送请求数据包,其中第一推送请求数据包将外围设备标识为第一推送请求数据包的目标;以及响应于接收第一推送请求数据包,经由耦接至外围设备的用户设备将第一推送请求数据包转发至外围设备。
在一些实施方式中,在社交网络平台上与外围设备进行通信的方法包括:在耦接至外围设备的用户设备处:将外围设备向社交网络平台的服务器注册为用户设备的关联的外围设备;接收来自社交网络平台的服务器的推送请求数据包,其中推送请求数据包将外围设备标识为推送请求数据包的目标;以及将推送请求数据包转发至外围设备。
在一些实施方式中,电子设备(例如,支持服务提供商的服务器、社交网络平台的服务器、外围设备或用户设备)包括一个或更多个处理器以及用于存储由一个或更多个处理器执行的一个或更多个程序的存储器,一个或更多个程序包括用于执行本文中所描述的方法的操作的指令。在一些实施方式中,非暂态计算机可读存储介质存储一个或更多个程序,一个或更多个程序包括指令,所述指令当被各自具有一个或更多个处理器的电子设备(例如,支持服务提供商的服务器、社交网络平台的服务器、外围设备或用户设备)执行时,使得该电子设备执行本文中所描述的方法的操作。
在一些实施方式中,对于本领域普通技术人员显而易见的是,由一个设备(例如,用户设备)执行的操作可以与由另一设备(例如,服务器)执行的操作互补或对应,并且可以通过从其他设备接收的指令来被控制,或者致使其他设备做出动作。此外,由一个设备执行本文中所描述的方法所需要的数据和信息可以由另一设备提供。在本公开内容的各部分中,当提供对一个设备的功能的描述时,出于简洁起见,可以省略对另一设备的至少一些明显对应的动作的描述;然而,对于本领域普通技术人员而言,所省略的这样的描述是显而易见的,并且不需要本领域普通技术人员付出创造性劳动。
鉴于以下描述,本发明的各种优点将会变得显而易见。
附图说明
图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是根据一些实施方式的、在社交网络平台中操作的各种设备和系统的框图。
贯穿附图的若干视图,相同的附图标记指代对应的部分。
具体实施方式
社交网络平台提供了用于经由关系和/或共同兴趣将人们联系起来的网络架构和软件。在社交网络平台上,每个用户与相应的社交网络身份关联,社交网络平台的其他用户可以通过社交网络身份来识别该用户。在社交网络平台上,可以通过所涉及的用户的共同协议来形成不同的用户之间的关系。当两个用户同意相互形成社交网络关系时,他们变成彼此的社交网络联系人。一组用户可以选择彼此形成社交网络关系,并且因此形成社交网络组。组内的每个成员是组内的每个其他成员的社交网络联系人。有时,用户或组织可以建立公共社交网络身份并且使得公众(例如,社交网络平台上的任何用户)能够在没有共同协议交换的情况下在社交网络平台上与该公共社交网络身份通信。有时,用户可以选择订阅公共社交网络身份(例如,“关注”公共社交网络身份)的消息或出版物,并且因此成为公共社交网络身份的社交网络联系人。公共社交网络身份的所有者还可以将订阅其消息或出版物的每个用户看做其在社交网络平台上的社交网络联系人中的一个。
每个用户和社交网络平台上的每个公共社交网络身份具有社交网络联系人(或联系人)的关联列表,它/他/她可以利用该关联列表,在社交网络平台上通过即时消息进行通信。例如,社交网络组内的用户可以利用由社交网络平台的提供商提供的软件接口彼此进行通信。此外,每个用户还可以利用由社交网络平台的提供商提供的软件接口与另一用户进行通信。
在一些实施方式中,由社交网络平台的提供商提供的软件接口可以是web接口或软件接口。例如,用户可以登录社交网络平台的门户网站,并且通过门户网站发送和接收来自社交网络平台的其他用户的消息。或者,用户可以在其相应的用户设备(例如,计算机、智能电话、平板设备)上下载并安装社交网络客户端应用程序,并且使用由社交网络客户端应用程序提供的接口来与社交网络平台上的其他用户进行交互。消息可以具有各种格式,例如文本、图像、照片、语音、视频、表情等。
有时,社交网络平台使得用户能够与用户的一个或更多个社交网络联系人开始一对一的聊天会话或组聊天会话。在聊天会话期间,该聊天中涉及的每个用户可以向该聊天会话中涉及的其他用户发送各种格式(例如,文本、语音、图像等)的即时消息以及接收来自该聊天会话中涉及的其他用户的各种格式(例如,文本、语音、图像等)的即时消息。
图1A是根据一些实施方式的、针对传统社交网络平台的示例性操作环境100a的框图。
如图1A所示,社交网络平台提供商102a提供通信服务器112a。通信服务器112a经由一个或更多个网络106来对操作其各自的用户设备104(例如,用户设备104a至104c)的大量用户提供社交网络服务(例如,用户注册、消息的创建、消息的传输、聊天会话的创建、在线寄送以及其他在线社交交互)。
在一些实施方式中,每个用户通过利用在用户各自的用户设备104上执行的社交网络客户端应用程序108(例如,社交网络客户端应用程序108a至108c)连接至通信服务器112a,来与另一用户进行交互。通信服务器112a通过社交网络中的用户的相应社交网络身份来标识该用户,所述社交网络身份例如是用户名、昵称或账号标识符。通常,每个用户与一个或更多个社交网络组中的社交网络中的一组一个或更多个其他用户关联。例如,用户可以基于他或她与每个组中的其他成员的关系和/或共同兴趣来创建或联合不同的社交网络组。在一些实施方式中,社交网络平台的服务器维护用户的不同特征(例如,真实姓名、联系人信息、兴趣、社会经济状态、在线活动历史等)以及用户间联系和组成员(例如,组列表和联系人列表)的知识库(例如,用户数据库110a)。
在一些实施方式中,社交网络服务器对其用户提供一个或更多个社交网络服务。用户可以通过与在通信服务器112a的社交网络客户端应用程序108(例如,社交网络客户端应用程序108a至108c)上提供的用户接口进行交互来调用特定服务。例如,用户可以打开聊天程序,并且通过发送文本或语音消息来与一个或更多个社交联系人(例如,用户的联系人列表中的联系人或者社交网络组)发起一个或更多个一对一的聊天会话或者组聊天会话。在一些实施方式中,也可以经由由社交网络服务器提供的社交网络平台将其他形式的消息(例如,图像、视频、链接、图标、动画等)从一个用户发送至一个或更多个其他用户。
如图1A所示,每个用户可以利用各自的社交网络客户端应用程序108(例如,社交网络客户端应用程序108a至108c)与其他用户进行交互。在一些实施方式中,社交网络客户端应用程序向用户提供用于使用户能够调用特定社交网络服务的用户接口元件(例如,文本框、按钮、窗口、消息显示区等),所述特定社交网络服务例如是向在线留言板寄送内容、向特定用户或用户组发送文本或语音消息、与另一用户发起语音或视频聊天会话、打开组聊天会话等)。
用户设备104的示例包括但不限于手持计算机、可穿戴计算设备、个人数字助理(PDA)、平板电脑、膝上型计算机、台式计算机、蜂窝电话、智能电话、增强型通用分组无线业务(EGPRS)移动电话、媒体播放器、导航设备、游戏机、电视机或者这些数据处理设备或其他数据处理设备中的任何两个或更多个的组合。
一个或更多个网络106的示例包括局域网(“LAN”)和诸如互联网这样的广域网(“WAN”)。一个或更多个网络106可选地利用任何已知的网络协议来实现,所述网络协议包括有线协议或诸如以太网这样的无线协议、通用串行总线(USB)、FIREWIRE、全球移动通信系统(GSM)、增强数据GSM环境(EDGE)、码分多址(CDMA)、时分多址(TDMA)、蓝牙、WiFi、互联网协议上的语音(VoIP)、Wi-MAX或任何其他合适的通信协议。
通信服务器112a在一个或更多个单独的数据处理设备或分布式计算机网络上被实现。在一些实施方式中,通信服务器112a还采用各种虚拟设备和/或第三方服务提供商(例如,第三方云服务提供商)的服务来提供通信服务器112a的基础计算资源和/或基础设施资源。
在传统的社交网络平台中,每个用户设备104可以可选地包括一个或更多个内部外围设备模块或者经由有线连接或无线连接连接至一个或更多个外围设备(例如,导航系统、健康监视器、气候控制器、智能运动装备、蓝牙耳机、智能手表等)。在大多数情况下,这些外围设备中的每个外围设备是由外围设备的相应制造商提供的相应软件应用程序来控制的,并且社交网络客户端应用程序108不与这些外围设备进行通信。有时,社交网络客户端应用程序的提供商实现社交网络客户端应用程序中的、用于操作用户设备的一些外围设备(例如,相机、扬声器、麦克风、触摸面板、键盘、鼠标、触摸屏)的功能。但是功能不限于将这些外围设备用作用于获得用户输入(例如,图像、语音、文本、触控、鼠标移动等)以控制客户端应用程序的操作(例如,在用户界面周围导航、调用用户界面中的控件或者构成即时消息)或者将客户端应用程序的输出(例如,语音、声音、用户接口等)递送至用户的设备。在这些传统的系统中,在用户与外围设备之间不存在社交网络平台上的直接通信。由于不同的外围设备之中的开发复杂性、成本和大量的设计变体,因此社交网络客户端应用程序的提供商扩展用于控制其他类型的外围设备的支持也是不切实际的。
随着人们在日常生活中变得越来越依赖用于各种任务的电子外围设备(例如,智能手表、健康监视器、音乐播放器、气候控制器、智能咖啡机、充电站、导航系统、运动装备、机顶盒等),他们也遭受到以下困扰:必须掌握变化的用户界面(即,由不同外围设备的制造商专门设计的专用软件应用程序的不同用户界面)以控制这些不同类型的外围设备。另外,由于由不同的制造商做出的外围设备的不同通信协议和数据格式,因此由不同制造商设计的相同类型的外围设备可能不能够彼此共享信息。因此,对于用户而言具有挑战的是,探索和学习用户所购买的不同产品的不同的用户界面和功能。对于用户而言甚至更困难的是与可能拥有或不拥有相同类型设备的其他人共享在其自己的配件中创建或收集的信息。
本公开内容描述了用于经由社交网络平台来控制外围设备的方法和装置。如以上在背景技术中所描述的,社交网络在当今世界中已经变得越来越普遍。许多人已经非常熟悉针对一个或更多个社交网络平台的社交网络客户端应用程序的操作和控制。使得能够通过在社交网络平台上发送和接收的社交网络消息(例如,以自然语言的形式的即时消息)来访问和控制外围设备,有助于用户避免学习针对不同外围设备的许多专用用户界面以及使得与外围设备的通信更自然和直观。另外,可以对由不同制造商制造的外围设备提供简单统一的用户界面控制,使得用户能够在不同的制造商和设备类型的外围设备之间容易地共享信息。此外,在一些实施方式中,每个设备制造商可以采用由社交网络平台提供商建立的通信协议(例如,包括针对设备注册、设备发现、指令和响应的通信、信息的呈现、去往和来自外围设备的编码指令和响应到人类可读形式的消息的转换等)。因此,外围设备可以依赖社交网络平台的通信服务器和连接至通信服务器的用户设备来将以制造商的专用格式编码的指令和消息转发至用户设备的外围设备或者从用户设备的外围设备转发上述指令和消息。另外,在一些实施方式中,可以将编码的指令和消息封装至根据由通信服务器建立的通信协议而被格式化的消息中,因此,通信服务器不需要单独地实现用于对针对每种类型的外围设备的编码指令消息进行解释的逻辑和功能。开发外围设备的支持能力的负荷从而被转移至不同类型的外围设备的制造商。在这种方式下,用户享用简单、统一、熟悉的方式来经由社交网络客户端应用程序的熟悉的用户界面控制不同类型的外围设备,并且与其他用户以及其各自的外围设备共享信息,其中各自的外围设备可能具有或不具有相同的类型或者是由相同的制造商制造或不是由相同的制造商制造。此外,社交网络平台的提供商不需要消耗极大量的资源来扩展其所支持的外围设备类型。
在本公开内容中,各种实施方式说明了在经由社交网络平台提供对外围设备的访问和控制时所涉及的不同方之间的相互关系,所述不同方包括针对外围设备的支持服务提供商(例如,也称为“支持服务器”)或制造商的服务器)、社交网络平台的服务器(例如,也称为“通信服务器”)、用户设备(例如,执行社交网络客户端应用程序且用于与通信服务器进行通信的主要用户设备)、用户以及要经由社交网络平台来控制的外围设备(例如,通过主要用户设备与其他方进行通信的设备,其中该设备已经建立与主要用户设备的通信连接)。
如本公开内容中的各种使用情形场景所表明的那样,通过社交网络平台提供对外围设备的方便、有趣的交互式控制可以有助于增强用户体验、缩短针对外围设备制造商的软件开发和支持。如本文中所描述,在一些实施方式中,用于经由社交网络平台来提供对外围设备的访问和控制的方法实现了先前对用户和外围设备制造商不可用的大量可能性,所述社交网络平台例如是博客平台、在线论坛平台、留言板平台、微博平台、即时消息平台、在线聊天室平台以及以上平台中的一个或更多个的组合。
图1B是根据一些实施方式的、针对经由社交网络平台来支持对外围设备的访问和控制的社交网络平台的示例性操作环境100b的框图。
如图1B所示,社交网络平台提供商102b提供通信服务器112b。社交网络平台提供商102b和通信服务器112b能够执行传统社交网络平台提供商(例如,社交网络平台提供商102a)和传统通信服务器(例如,通信服务器112a)能够执行的所有传统功能。此外,社交网络平台提供商102b还实现了通信服务器112b以使得能够根据本文中所描述的实施方式来访问和控制外围设备(例如,外围设备118)。
如图1B所示,社交网络平台的每个用户通过在相应的用户设备104(例如,用户设备104a至104c)上执行的相应社交网络客户端应用程序108(例如,社交网络客户端应用程序108c至108e),与通信服务器112b进行通信。每个用户设备104可以经由有线或无线连接而连接至一个或更多个外围设备118(例如,118a、118b和/或118c)。连接类型的示例包括通用串行总线(USB)、FIREWIRE、全球移动通信系统(GSM)、增强数据GSM环境(EDGE)、码分多址(CDMA)、时分多址(TDMA)、蓝牙、低功耗蓝牙(BLE)、WiFi、互联网上的语音(VoIP)、Wi-MAX或者基于任何其他合适的通信协议而建立的其他连接。通常,每个外围设备通过具有相对短距离(例如,几米或数十米)的连接来连接至相应的用户设备,虽然这样的限制对于许多类型的外围设备而言是不必要的。外围设备的示例包括但不限于智能手表、健康监视器(例如,心率监视器或血压监视器、起搏器、生活方式监视腕带等)、音乐播放器、气候控制器(例如,天气监视器、温度控制器、加热器、空调、湿度控制器等)、照明控制器、安全监视系统、智能咖啡机、充电站(例如,电动车或电子设备等的充电站)、导航系统(例如,GPS系统)、运动装备(例如,智能高尔夫推杆、智能鱼竿、智能篮球等)、机顶盒(例如,在线流式传输机顶盒、在线游戏设备等)等。这些外围设备仍然可能设置有专用软件应用程序,该专用软件应用程序被单独地安装并且能够独立于社交网络客户端应用程序而使用。此外,外围设备还可以可选地包括供用户直接进行控制的物理硬件按钮和控制器或者嵌入式板上屏幕和软件界面。
如图1B所示,通信服务器112b包括用户数据库110b,用户数据库110b包括注册到通信服务器112b的每个用户账号的信息。用户数据库110b与图1A中的用户数据库110a相似。此外,通信服务器112b还包括设备数据库110c。设备数据库110c存储已经注册到使用本文中所描述的设备注册方法的通信服务器112b注册的外围设备的标识符。设备数据库110c还包括与外围设备、外围设备的相应用户、外围设备的相应主要用户设备、外围设备的相应支持服务器等之间的关系有关的数据。
在一些实施方式中,每个注册的外围设备设置有(例如,与人类用户的社交网络身份相似的)相应的社交网络身份,所注册的外围设备的人类所有者(例如,对与外围设备连接的主要用户设备进行操作的人类用户)、其他用户、通信服务器和由外围设备的制造商提供的支持服务器可以通过该相应的社交网络身份来标识所注册的外围设备。每个注册的外围设备的特性以及与所注册的外围设备当前关联(例如,相连)的用户账号或用户设备,根据所注册的外围设备的相应社交网络身份而被存储在设备数据库110c中。在一些实施方式中,每个注册的外围设备与作为当前关联于用户设备的用户账号(例如,在用户设备处当前登入的用户账号)的社交网络联系人的用户账号或用户设备相关联。在一些实施方式中,其他用户、其他用户的支持服务器、其他外围设备可以与所注册的外围设备关联,其中所注册的外围设备作为设备数据库110c中的所注册的外围设备的社交网络联系人。
在一些实施方式中,外围设备可以利用外围设备自身的社交网络身份而与外围设备的人类所有者(例如,与外围设备当前连接的用户设备的用户)、另一外围设备(例如,与相同用户设备连接的另一外围设备或者与另一用户设备连接的另一外围设备)、另一用户(例如,人类所有者的社交网络联系人)和/或支持服务器进行通信。在一些实施方式中,外围设备可以通过相应的设备身份来与外围设备的人类所有者进行通信,其中相应的设备身份是根据其支持服务器的公共社交网络身份而被建立的。在一些实施方式中,每个注册的设备不具有与用户账号分离的社交网络身份,其中每个注册的外围设备根据用户账号而被注册。在一些实施方式中,外围设备可以通过根据其人类所有者的社交网络身份而建立的相应的设备身份来与另一外围设备、另一用户、支持服务器进行通信。在一些实施方式中,设备数据库110c可以合并至用户数据库110b中,使得外围设备的网络身份与人类用户或支持服务器的网络身份相似,例如包括相应的联系人列表、登录状态、通信历史等。
如图1B所示,通信服务器112b还与由一个或更多个相应的外围设备制造商或者支持服务提供商(例如,外围设备制造商114a至114b)所提供的一个或更多个支持服务器116(例如,支持服务器116a至116c)进行通信。在一些实施方式中,支持服务提供商中的每一个已经根据由社交网络平台提供商102b建立的协议标准而实现了支持服务器116,使得用于访问和控制其相应的类型的外围设备的编码指令可以通过社交网络平台(例如,经由通信服务器112b和在用户设备104a至104c上执行的社交网络客户端应用程序108c至108e)而被传送至外围设备(例如,外围设备118a至118c)。
在一些实施方式中,通信服务器112b和社交网络客户端应用程序108c至108e不执行编码指令的解释和/或转换,并且在编码指令的目标处(例如,在外围设备处)执行对编码指令的解码。相应地,在一些实施方式中,已经根据由社交网络平台提供商102b建立的协议标准而实现了在用户设备104上执行的社交网络客户端应用程序(例如,应用程序108c至108e),使得能够通过社交网络平台(例如,包括通过通信服务器112b)将针对外围设备118a至118c的编码消息传送至其相应的支持服务器(例如,支持服务器116a至116c)。在一些实施方式中,通信服务器112b和社交网络客户端应用程序108c至108e不执行编码消息的解释和/或转换,并且在编码消息的目标处(例如,在支持服务器116a至116c处)执行对编码消息的解码。
在一些实施方式中,发送编码指令和接收编码消息的支持服务器116可选地生成以人类可读的形式的相应的即时消息(例如,以文本、表格、图像、图形、声音和/或语音形式的即时消息),并且经由通信服务器112b向一个或更多个用户(例如,外围设备的所有者或者与该所有者共享外围设备的控制或信息的其他用户)发送即时消息。在一些实施方式中,人类可读的消息在社交网络客户端应用程序108c至108e的用户界面上被呈现为从支持服务器的社交网络身份发送至人类所有者和/或外围设备的社交网络身份的即时消息。类似地,在一些实施方式中,这些人类可读的消息在社交网络客户端应用程序108c至108e的用户界面上被呈现为从外围设备的社交网络身份发送至支持服务器和/或人类所有者的社交网络身份的即时消息。
在一些实施方式中,通信服务器112b可选地对针对不涉及支持服务器的通信的编码指令和编码消息实现转换。例如,通信服务器112b可选地将从人类用户发出并且以注册的外围设备为目标的指令(例如,经由一个或更多个即时消息或者在社交网络客户端应用程序108c至108e中设置的一个或更多个用户界面控制的选择而提交的指令)转换成外围设备理解的相应的编码指令,从而完成由人类用户经由社交网络平台对外围设备的访问和控制。此外,通信服务器112b可选地将从注册的外围设备发出并且以人类用户为目标的编码消息转换成人类可读的形式(例如,至用户的一个或更多个即时消息)。
在社交平台上能够完成的通信能够在支持服务器参与或不参与的情况下、在外围设备与其人类用户之间进行;在外围设备的人类所有者参与或不参与的情况下、在外围设备与其支持服务器之间进行;在外围设备参与或不参与的情况下、在外围设备的人类所有者与外围设备的支持服务器之间进行;在其相应的外围设备参与或不参与的情况下,并且在其相应外围设备的支持服务器参与或不参与的情况下,在不同的用户之间进行;在其相应的人类用户参与或不参与的情况下,和/或在其相应的支持服务器参与或不参与的情况下,在两个或更多个外围设备之间进行;在其他用户参与或不参与的情况下,和/或在外围设备的支持服务器参与或不参与的情况下,在用户与另一用户的外围设备之间进行。其他通信配置是可行的,并且鉴于本文中所提供的各种示例是显而易见的。
在提供与本文中所描述的实施方式的不同方面有关的更多细节之前,首先介绍简单的示例性使用场景。在示例性使用场景中,首先执行示例性绑定过程以将外围设备绑定至执行社交网络客户端应用程序的用户设备,并且将外围设备绑定至当前操作社交网络客户端应用程序的相应的用户账号。
在示例性设备绑定过程期间,用户在用户设备(例如,智能电话、平板设备或便携式计算机)上启动社交网络客户端应用程序(例如,实现本文中所描述的方法的即时消息传送客户端应用程序)。用户通过社交网络客户端应用程序的登录界面在社交网络平台的通信服务器处登录他/她的用户账号。将根据用户的用户账号来进行用户设备与通信服务器之间的后续通信。在社交网络客户端应用程序的用户界面中提供有能够(例如,经由用户设备的相机)扫描条形码的条形码扫描仪接口。在一些实施方式中,外围设备的制造商提供外围设备上的2D条形码,并且2D条形码包括社交网络平台的通信服务器需要唯一地识别外围设备或外围设备的制造商的必要信息,例如制造商的URL和/或外围设备的设备ID。一旦用户已经同意进行绑定过程并且根据用户的用户账号将条形码信息从用户设备传送至社交网络平台的通信服务器时,通信服务器就将外围设备绑定至用户账号。换言之,社交网络平台的通信服务器创建针对外围设备的唯一的社交网络身份,并且根据用户账号将外围设备添加至用户的社交网络联系人的列表。在一些实施方式中,通信服务器还创建针对外围设备的支持服务提供商的支持服务器的相应的社交网络身份,并且根据用户账号将支持服务器添加至社交网络联系人的列表。
在一些实施方式中,绑定过程不需要外围设备连接至用户设备。在完成绑定过程之后,外围设备能够随时根据针对外围设备创建的社交网络身份而连接至用户设备。通过作为中介的用户设备能够完成从外围设备至社交网络平台的通信服务器的通信。在示例性设备连接过程期间,用户设备对广播社交网络客户端应用程序的唯一服务标识符的附近的外围设备自动地进行扫描。外围设备已经由制造商预先配置以在外围设备的设备发现消息中广播社交网络客户端应用程序的唯一服务标识符。在用户设备上执行的社交网络客户端应用程序扫描和检测外围设备的设备发现消息包括所需要的服务标识符,并且与外围设备建立连接(例如,蓝牙、蓝牙低能耗、WiFi、USB等连接)。一旦已经建立连接,社交网络客户端应用程序就向社交网络平台的通信服务器通知外围设备现在在线。社交网络客户端应用程序还在用户界面中向用户指示外围设备现在在线并且可用于在社交网络平台上与作为社交网络联系人的用户进行通信。在一些实施方式中,用户设备不试图与外围设备建立连接,直到用户已经在社交网络客户端应用程序中选择了用于与外围设备开始对话会话的用户界面控制部件为止。在一些实施方式中,当用户首次登入他/她的账号时,用户设备扫描并试图与外围设备建立连接。在一些实施方式中,用户不必针对绑定过程和连接过程而使用相同的用户设备。在绑定过程和连接过程的描述中所提及的用户设备为当前执行社交网络客户端应用程序(包括显示针对社交网络平台的web接口的浏览器)并且具有作为当前激活的用户账号的用户账号的用户设备。
在外围设备根据用户的用户账号在社交网络客户端应用程序中与用户设备已经建立连接之后,用户能够与作为社交网络平台上的社交网络联系人的外围设备进行通信。例如,如果外围设备是根据用户的用户账号、经由社交网络客户端应用程序中的蓝牙或蓝牙低能耗(BLE)连接已经连接至用户设备(例如,智能电话)的健康监视腕带,则用户能够如他/她与他的/她的任何其他社交网络联系人那样可选地与腕带开始聊天会话。例如,用户可以在聊天会话期间选择向腕带发送写着“显示今天的数据”或者“照亮屏幕”的即时文本消息。即时文本消息在聊天会话的对话界面中将会被呈现为从用户发送至外围设备的相应社交网络身份的消息。
在一些实施方式中,社交网络客户端应用程序在用户选择开始与腕带进行对话会话时向用户提供定制的用户界面,并且在定制的用户界面内,社交网络客户端应用程序呈现表示可以被发布至腕带的不同命令的一个或更多个按钮。例如,定制的用户界面可以呈现用于“输出今天的数据”的按钮、用于“显示电池水平”的按钮以及用于“振动”的按钮。当用户调用按钮之一(例如,用于“振动”的按钮)时,相应的命令在聊天会话的对话界面上将会被呈现为从用户发送至外围设备的相应社交网络身份的消息。该命令还可以被通信服务器或外围设备的支持服务器转换成编码指令,并且经由通信服务器和用户设备被发送至外围设备。接收编码指令的腕带将会例如通过开始振动来相应地做出响应。
在一些实施方式中,不管用户是否已经通过打字、通过语音、通过调用按钮或者通过任何其他手段而将指令/命令输入至外围设备,指令/命令从用户设备被发送至通信服务器,通信服务器(例如,通过自身进行内部转换或者通过联系外围设备的支持服务器)获得相应的编码指令/命令并且将转换结果发送回用户设备。用户设备通过在用户设备和外围设备之间已经建立的连接而将编码指令/命令转发至外围设备。外围设备根据编码指令/命令而做出响应或动作。例如,在用户已经在聊天界面中输入文本消息“振动”或者在针对腕带设置的社交网络客户端应用程序的定制用户界面中已经调用用于“振动”的按钮之后,腕带将会开始振动。这在如下情形中将会非常有用:用户无法定位他/她附近的腕带,并且期望使用他的/她的社交网络客户端应用程序来与腕带进行对话,以使得腕带能够通过发出噪声做出响应以使得用户发现腕带。
有时,在用户与外围设备之间的聊天会话中,用户可以包括附加的一个或多个用户和/或其他外围设备。例如,用户可以创建组聊天会话,该组聊天会话包括已经被其各自的所有者注册到通信服务器且当前经由其各自的所有者的用户账号在线的一个或多个任何其他用户或外围设备的相应社交网络身份。例如,如果用户的外围设备是血压监视器,则用户可以开始涉及用户自身、用户的家庭成员以及血压监视器的组聊天会话。在用户已经将血压监视器的手臂包裹围绕他的/她的手臂之后,用户可以在组聊天界面中向血压监视器(例如,通过使用消息主体中的XXX)输入文本消息(例如,“开始测量”),或者在定制化组聊天界面中调用用于“开始”的按钮。组聊天会话的对话界面将会显示用户的指令作为从用户发送至血压监视器的即时消息“开始今天的血压测量”。通信服务器获得用户的指令并且根据用户的指令来获得针对血压监视器的相应编码指令。通信服务器经由用户设备将编码指令发送至血压监视器,并且血压监视器通过开始测量用户的血压来对编码指令做出响应。在一些实施方式中,血压监视器可选地向用户设备发送与血压测量的进程和最终结果有关的编码响应。用户设备将编码响应发送至通信服务器,并且通信服务器根据编码响应的内容而获得相应的人类可读的数据。通信服务器将人类可读的数据作为一个或更多个聊天消息(例如,“开始测量血压,请保持静止。”“您的血压今天为120/60,非常好。”“测量完毕,请移除手臂包裹。”等)而发送至组聊天中涉及的用户。当前处于组聊天中的每个用户将会在其各自的用户设备上作为从血压监视器至整个组或者单独地至组聊天中的每个用户的消息而看到这些聊天消息。
以下将提供更多示例性使用场景和实施方式。
图2A至图2H是根据一些实施方式的、用于经由社交网络客户端应用程序来建立对外围设备的访问和控制的示例性用户界面。
在一些实施方式中,为了建立对外围设备的访问和控制,用户首先请求通信服务器将外围设备绑定至社交网络平台上的用户账号。在已经将外围设备绑定至用户账号之后,用户设备扫描外围设备并且如果发现外围设备则建立至外围设备的连接。图2A至图2H示出用于通过执行根据示例性用户账号“Red207”操作的社交网络客户端应用程序的示例性用户设备202(例如,图2B中的用户设备104之一)来建立对示例性外围设备200(例如,图2B中的外围设备118之一)的控制的过程。
如图2A所示,在一些实施方式中,外围设备200(例如,健康监视腕带)的制造商在外围设备200的包装或主体上提供2D条形码,其中2D条形码对用于外围设备200的唯一标识符201或者用于外围设备200的支持服务器的唯一标识符进行编码,支持服务器将会对包括外围设备200的一类外围设备提供支持服务。其他格式的唯一的设备标识符也是可能的。
图2B示出了具有用户账号名称“Red207”的用户已经启动用户设备202(例如,智能电话)上的社交网络客户端应用程序并且调用用于添加在社交网络客户端应用程序中设置的硬件联系人的功能。用户将2D条形码放置在扫描仪(例如,智能电话的内置相机)下,并且调用扫描按钮204来扫描2D条形码。在一些实施方式中,用于开始扫描外围设备的条形码的用户界面控制与用于开始扫描被分配给社交网络平台的任何其他用户的条形码(例如,QR代码)的用户界面控制相同。通信服务器基于条形码中获得的标识符而在后台确定用户是否期望添加新的人类联系人或硬件联系人。
图2C示出了用户设备202已经成功扫描了条形码并且识别用户期望绑定至他的/她的账号的外围设备的标识符。外围设备200的名称(例如,“Q-BandTM”)被显示给用户。在一些实施方式中,型号(例如,“型号X2000”)可选地也被显示给用户。一旦用户确认条形码的读数与他的/她的预期一致,用户就可以调用“绑定”按钮206以将外围设备200绑定至用户账号“Red207”。“绑定”按钮206的调用使得用户设备202能够向社交网络平台的通信服务器发送绑定指令,并且通信服务器在用户账号与外围设备的标识符之间创建绑定。有时,如果被分配至外围设备200的条形码不唯一(例如,针对所有类型的外围设备(例如,特定设备模型)或一种或更多种外围设备的支持服务提供商分配的公共条形码),则绑定过程基于用户账号标识符以及(例如,通过将用户名称与公共设备标识符联系在一起而)在条形码中编码的标识符来创建针对外围设备的唯一设备标识符。通信服务器还创建针对外围设备200的社交网络身份,包括人类用户的特征中的全部或至少一些特征(例如,包括用户名称、头像、账号类型、在线状态、联系人列表、社交网络组列表、对话历史、粉丝列表(例如,“关注我的其他用户”)、订阅列表(例如,“我关注的其他用户”)等)。在一些实施方式中,通信服务器还指示外围设备200的账号是设备账号并且与相应的用户账号(例如,“Red207”)关联。
图2D示出已经成功完成的绑定过程。通信服务器通知用户外围设备200(具有“Q-Band”的临时在线身份)已经绑定至用户账号。用户可以可选地将外围设备200的昵称改变成更吸引用户的其他名称(例如,“Red的Q-Band”)。
图2E示出了与用户账号“Red207”当前关联的联系人列表。联系人列表包括用户与其先前已经建立相互的社交网络关系的其他人类用户(例如,“Annie”、“妈妈”和“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连接至用户设备202之后,向通信服务器通知该连接,并且外围设备的图标外观将会改变(未示出)成指示外围设备200现在被连接。
图2G示出了一旦外围设备200和用户设备202已经在社交网络客户端应用程序中建立连接,就能够以与(例如,通过选择联系人列表中的外围设备200并且选择向外围设备200发送消息而)在两个用户之间建立聊天会话相同的方式,在用户和外围设备200之间建立聊天会话。在一些实施方式中,当首次建立连接时,外围设备200与用户“Red207”之间的聊天会话的对话界面自动启动。在显示在用户设备202上的对话界面212中,外围设备200已经将消息214发送给用户(例如,“你好,Red207!我是你的”)。该消息214通过通信服务器被提供给用户设备202。通信服务器获得该消息的过程在不同的实施方式中可以不同。在一些实施方式中,用户设备202将从外围设备200接收的编码消息(例如,“InitOK”消息)转发给通信服务器,并且通信服务器或者自己将编码消息转换成消息214、或者请求外围设备200的支持服务提供商的支持服务器将编码消息转换成消息214。在本公开内容的其他部分中提供了下述的更多细节:外围设备如何发送编码消息;用户设备、通信服务器和/或支持服务器处理如何处理编码消息;如何将编码消息传送至用户;以及如何将编码消息存储在对话历史中。
图2G还示出了当前聊天会话的对话界面212可选地包括消息输入框218,用户可以通过消息输入框218来向外围设备200输入文本消息(例如,“照亮显示器”)。对话界面212可选地包括用于调用外围设备200的特定共用功能的一个或更多个用户界面控制部件。例如,对话界面212可选地包括用于照亮外围设备200(例如,健康监视腕带)以测试外围设备200的通信信道和功能的按钮216。对话界面212可选地包括用于调用外围设备200的其他功能的其他按钮(例如,“打印数据”按钮)。当用户按压“照亮”按钮216时,向通信服务器发送指示用户已经按压“照亮”按钮216的信号。通信服务器获得针对外围设备200的对应的编码指令,并且将编码指令发送回用户设备202。然后,用户设备通过在用户设备与外围设备之间建立的连接而将编码指令转发至外围设备。然后,外围设备解释并执行编码指令中的命令,并且可选地发送回编码响应(例如,指示成功完成所请求的任务的编码响应)。
在一些实施方式中,可以通过外围设备200的制造商与社交网络平台的提供商之间的协作来完成对用户界面控制部件的开发。在一些实施方式中,通信服务器仅需要知道制造商在其产品(例如,外围设备200)的对话界面中更偏向包括什么功能,并且通信服务器不需要通过用户设备202对从用户和/外围设备202接收的命令和消息进行任何实际的转换和/或解释。例如,在一些实施方式中,通信服务器不需要进行从由用户输入的即时消息或功能按钮按压到以外围设备为目标的相应编码指令的转换。相反,通信服务器将用户请求的功能转发给外围设备的支持服务提供商的支持服务器,并且接收来自支持服务器的相应的编码指令。通信服务器又通过用户设备将编码指令转发至外围设备。在一些实施方式中,通信服务器也不需要进行从外围设备接收的编码消息到显示给用户的即时消息的转换。相反,通信服务器将编码消息转发至外围设备的支持服务提供商的支持服务器,并且接收编码消息的相应转换。通信服务器又向用户发送作为即时消息的转换以作为从外围设备至用户的消息。在一些实施方式中,通信服务器可选地例如通过使用自然语言消息/按钮按压与编码指令/消息之间的映射表而自己执行转换。
图2H示出了在用户已经输入文本消息(例如,“照亮显示器”)或按压“照亮”按钮216之后,相应的编码指令从通信服务器被发送至用户设备202,并且然后从用户设备202被发送至外围设备200。相应的即时消息220作为从用户至Q-Band的消息而被显示在对话界面212中。在外围设备200执行所请求的功能之后,外围设备200向用户发送响应(例如,指示完成照亮健康监视腕带的显示器的任务的编码响应)。该响应在对话界面212中被显示为从Q-Band至用户的即时消息222(例如,“完成!显示器被照亮”)。在一些实施方式中,当外围设备212期望向用户发送消息时,消息是以编码的形式的(例如,根据设备制造商的专用格式而被格式化)。向用户设备202发送编码消息,并且用户设备202将编码消息转发至通信服务器。通信服务器可选地将编码消息转发至支持服务器并且从支持服务器获得编码消息的转换。然后,通信服务器向用户设备202发送作为即时消息的转换。转换作为从外围设备“Q-Band”至用户“Red207”的即时消息而被呈现给用户。
图2A至图2H中所示的用户界面和关于该用户界面所描述的特征仅说明了可能的实施方式。在一些实施方式中,在扩展的对话界面中包括能够经由显示在简单版本的对话界面上的控制部件而被调用的更多功能按钮。在一些实施方式中,向用户提供使得用户能够针对最频繁使用的命令和指令而建立按钮的配置界面。在一些实施方式中,社交网络客户端应用程序使得用户能够经由文本输入框或语音输入界面来输入自然语言指令和命令,并且接收自然语言指令和命令的通信服务器可选地通过本地或第三方自然语言处理范围而生成用户命令的解释。然后,通信服务器将该解释转发给外围设备的支持服务器以用于转换成编码指令。随后在本公开内容中提供与如何在通信架构的不同的层(例如,支持服务器←→通信服务器←→用户设备←→一个或多个用户和一个或多个外围设备)之间传送指令和响应有关的更多细节。
图2I是示出设备制造商通过社交网络平台的提供商建立针对其外围设备的一种或更多种类型的支持的过程的简化过程流。例如,制造商(例如,外围设备的设备设备开发商)提交(231)针对服务账号(例如,针对由制造商制造的一类外围设备的支持服务提供商的支持服务器的账号)的请求。在一些实施方式中,制造商或设备开发商向社交网络平台的提供商提交名称、型号、基本功能以及由社交网平台支持的功能。社交网络平台的提供商审核该请求,并且根据内部准则或公开准则而确定(233)是否接受请求。如果社交网络平台的提供商决定接受请求,则向开发商通知该接受,并且制造商或设备开发商继续进行(235)对要通过社交网络平台的通信服务器实现的功能的开发。如果社交网络平台的提供商不接受请求,则设备开发商可以返回并修改请求并且重新提交或终止请求过程。
当由设备开发商实现了批准的功能时,将会由社交网络平台的提供商审核(237)该功能以确保质量。一旦通过测试而再次批准该功能时,对请求中所识别的外围设备类型的支持就被正式发布给公众,并且通信服务器现在将接受所支持类型的外围设备的注册请求,并且在社交网络平台上建立针对外围设备的支持服务器的相应社交网络身份。在公开发布之后,所支持的外围设备的制造商和设备开发商可以开始(239)制造外围设备和/或向终端用户出售外围设备。在一些实施方式中,社交网络平台的提供商还对所支持类型的外围设备的支持服务器分配唯一的标识符,该标识符可以在出售时被提供给所制造的外围设备的购买者。例如,标识符可以被提供为附接至外围设备或其包装的2D条形码,或者提供为外围设备所包括的唯一的序列号。
图2J是说明终端用户利用用户设备(例如,移动设备)向社交网络平台的通信服务器注册特定外围设备的简化过程流。如图2J所示,当终端用户在设备注册时向用户设备提供设备ID时,用户设备捕获(241)由用户(例如,通过外围设备上的2D条形码或者通过直接的文本输入)提供的设备ID。用户设备确定(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接收以用户为目标的编码消息并且将其转换成人类可读的形式(例如,即时消息“光传感器被阻挡,请移除覆盖物”)。支持服务器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和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(例如,游戏机)的即时消息(例如,“在20分钟之后关断游戏”)。即时消息被支持服务器转换成针对外围设备A的编码指令,并且编码指令通过通信服务器和用户设备A到达外围设备。通信服务器还向用户设备发送原始即时消息作为以外围设备A为目标的即时消息。以外围设备A为目标的原始即时消息作为从“用户B”至“外围设备A”的消息而被显示在当前聊天会话的对话日志中。
在本示例性场景中,消息流如下:
(1)用户B在用户设备B上显示的组聊天会话的对话界面中输入以外围设备A为目标的即时消息(例如,“外围设备A:在20分钟之后退出游戏”)。
(2)用户设备B将以外围设备A为目标的即时消息传送至通信服务器。
(3)通信服务器接收以外围设备A为目标的即时消息,并且将其转发给支持服务器116。
(4)支持服务器116接收以外围设备A为目标的即时消息,并且将其转换成以外围设备A为目标的编码指令。支持服务器将以外围设备A为目标的编码指令传送至通信服务器。
(5)通信服务器接收以外围设备A为目标的编码消息,并且将其转发(5-1)至用户设备A。通信服务器还将以外围设备A为目标的原始即时消息转发(5-2)至用户设备A。
(6)用户设备A接收以外围设备A为目标的编码消息,并且将其发送(6-1)至外围设备A。外围设备A然后根据所接收的编码消息动作,例如在20分钟之后退出游戏。用户设备接收以外围设备A为目标的原始即时消息,并且将以外围设备A为目标的即时消息显示(6-2)在当前聊天会话的对话日志中,在该对话日志中,即时消息被显示为从“用户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。以用户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(或整个组)为目标的即时消息,并且在当前聊天会话的对话日志中将其显示(6-1)给用户A,在该对话日志中,即时消息被显示为从“外围设备A”至“用户B”(或整个组)的消息。用户设备B接收以用户B(或整个组)为目标的即时消息,并且在当前聊天会话的对话日志中将其显示(6-2)给用户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)至通信服务器。
(5)通信服务器接收以外围设备A为目标的即时消息以及以外围设备A为目标的已转换编码消息。通信服务器将以外围设备A为目标的已转换编码消息转发(5-1)至用户设备A。通信服务器还将以外围设备A为目标的已转换即时消息转发(5-2)至用户设备B。通信服务器还将以外围设备A为目标的已转换即时消息转发(5-3)至用户设备A。
(6)用户设备A接收以外围设备A为目标的已转换编码消息,并且将其发送(6-1)至外围设备A。用户设备A还接收以外围设备A为目标的已转换即时消息,并且在当前聊天会话的对话日志中将其显示(6-3)给用户A,在该对话日志中,即时消息被显示为从“外围设备B”至“外围设备A”的消息。用户设备B还接收以外围设备A为目标的即时消息,并且在当前聊天会话的对话日志中将其显示(6-2)给用户B,在该对话日志中,即时消息被显示为从“外围设备B”至“外围设备A”的消息。
通信配置的其他变型是可能的,并且可以根据本文所示的示例而被推导。
图3A至图3C是根据一些实施方式的、用于在社交网络平台上建立对外围设备(例如,外围设备200)的控制的示例性过程300的流程图。示例性过程300在用户设备(例如,用户设备118或202)上进行,用户设备通过在社交网络平台上根据用户的用户账号而操作的社交网络客户端应用程序而连接至外围设备。在图1B和图2A至图2T以及所附描述中示出了过程300的各个方面。
在至少一些实施方式中,通过具有电子设备的一个或更多个部件(例如,图1B中的社交网络客户端应用程序108)或者一个或更多个处理器和存储器的用户设备(例如,用户设备104或202)来执行方法。在一些实施方式中,通过存储在非暂态计算机可读存储介质中并且由用户设备(104)的电子设备的一个或更多个处理器(例如,用户设备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中,识别外围设备(例如,扫描外围设备的条形码)的输入使得用户设备能够独立于针对外围设备的支持服务器的社交网络身份而请求针对外围设备的社交网络身份。在一些实施方式中,外围设备的社交网络身份和支持服务器的社交网络身份二者均自动地被添加至用户的联系人列表。在一些实施方式中,识别外围设备的输入仅使得外围设备被添加为用户账号的联系人,并且用户可以将支持服务器手动地添加为联系人。在一些实施方式中,支持服务器不提供用户可以关注的公共社交网络身份,反之,支持服务器可以通过其所支持的外围设备的社交网络身份而向用户发送通信。
在至少一些实施方式中,通过具有电子设备的一个或更多个部件(例如,图1B中的社交网络客户端应用程序108)或者一个或更多个处理器或存储器的用户设备(例如,用户设备104或202)来执行方法。在一些实施方式中,由存储在非暂态计算机可读存储介质中并且由电子设备的一个或更多个处理器(例如,用户设备104的处理器)执行的指令来管理方法。
在一些实施方式中,在具有一个或更多个处理器或存储器的用户设备处:用户设备执行(352)用户设备上的社交网络平台的社交网络客户端应用程序。社交网络客户端应用程序与社交网络平台的通信服务器进行通信以提供社交网络平台的用户可用的通信功能(例如,登录、用户注册、建立联系人关系、创建和联合组、关注其他人、向关注者发布消息、创建一对一或组聊天会话、发送和接收各种格式的消息、通过聊天消息或定制化控制部件来控制和访问所注册的外围设备等)。
在一些实施方式中,用户设备通过社交网络客户端应用程序接收(354)标识外围设备的输入。在一些实施方式中,接收标识外围设备的输入还包括(356)经由条形码扫描仪来扫描与外围设备关联的条形码。这在图2A至图2D以及所附描述中示出。在一些实施方式中,用户可选地手动输入外围设备的唯一设备标识符(例如,针对设备的序列号)作为文本输入。
在一些实施方式中,用户设备响应于接收标识外围设备的输入来执行(358)以下操作:发送用于建立针对外围设备的社交网络身份的请求;以及当成功建立针对外围设备的社交网络身份时,在社交网络客户端应用程序的用户界面中将外围设备呈现为用户账号的社交网络联系人。这在图2A至图2E中示出。在一些实施方式中,用户设备发送(314)用于建立针对外围设备的社交网络身份的请求。
在一些实施方式中,用户在用户设备的周围区域内进行搜索(360)以定位所注册的外围设备。在一些实施方式中,在用户设备的周围区域内搜索以定位外围设备还包括(362):接收来自用户设备的周围区域内相应的外围设备的设备发现消息;确定设备发现消息是否包括表示由社交网络客户端应用程序提供的主要服务的预定服务标识符;以及当确定设备发现消息包括预定服务标识符时,建立用户设备与外围设备之间的通信信道。这在图2F和所附描述中说明。在一些实施方式中,通信信道为(368)遵循与社交网络客户端应用程序关联的预定通信协议(例如,根据本文中介绍的公开内容而修改的典型的蓝牙或BLE协议)的无线通信信道。
在一些实施方式中,用户设备发送(366)用于将用户账号注册为社交网络平台上的外围设备的支持服务提供商的联系人的请求。在一些实施方式中,用户设备发送(368)用于将用户账号注册为与针对外围设备的支持服务提供商关联的在线社区的相应成员的请求。在一些实施方式中,当将用户账号成功注册为在线社区的相应成员时,用户设备在社交网络客户端应用程序的用户界面中将在线社区呈现(370)为用户账号的社交网络组。在一些实施方式中,用户设备发送(372)用于将外围设备的支持服务提供商添加为用户账号的联系人的请求。例如,在一些实施方式中,外围设备的支持服务器建立包括拥有支持服务器所支持的外围设备类型的许多用户的在线社区。在该在线社区内,支持服务器可以向同意加入该在线社区(例如,选择“关注”针对其所支持的外围设备类型的支持服务器的社交网络身份)的每个用户广播通知、消息、建议等。此外,在一些实施方式中,在线社区的成员还可以寄送和接收来自彼此的或整个在线社区的消息。在一些实施方式中,在线社区可选地包括支持服务器所支持的已注册外围设备的相应的社交网络身份,使得用户可选地允许其他人根据本文中所描述的实施方式来访问和控制他们自己的外围设备。
在一些实施方式中,用户设备在涉及用户账号的至少一个用户和外围设备的组聊天会话的对话界面中显示(374)已经从支持服务提供商的服务器发出的即时消息。在一些实施方式中,即时消息存储(376)以外围设备为目标的编码指令。在一些实施方式中,即时消息在对话界面中显示为从支持服务提供商的公共社交网络身份发出的消息。在一些实施方式中,即时消息在对话界面中显示为从与上述外围设备不同的第二外围设备发出的消息。在一些实施方式中,即时消息存储(378)从外围设备发出的编码消息。在一些实施方式中,即时消息在对话界面中显示为从外围设备的社交网络身份发出并且以支持服务提供商的公共社交网络身份为目标的消息。在一些实施方式中,即时消息在对话界面中显示为从外围设备的社交网络身份发出并且以用户账号的相应社交网络身份为目标的消息。在一些实施方式中,即时消息在对话界面中显示为从外围设备的社交网络身份发出并且以与该外围设备不同的第二外围设备的相应社交网络身份为目标的消息。
本示例性过程的特征和步骤可以与本公开内容中的其他部分描述的特征和步骤进行组合,并且出于简洁起见,不重复这些其他特征和步骤。
图4A至图4D是根据一些实施方式的、用于在社交网络平台上通过外围设备的支持服务提供商(例如,支持服务提供商的支持服务器)而提供对外围设备的访问和控制的示例性过程400的流程图。
在至少一些实施方式中,通过具有电子设备的一个或更多个部件(例如,社交网络服务器应用程序模块)或者一个或更多个处理器和存储器的通信服务器(例如,图1B中的社交网络平台的通信服务器112b)来执行方法。在一些实施方式中,通过存储在非暂态计算机可读存储介质中并且由电子设备的一个或更多个处理器(例如,通信服务器112b的处理器)执行的指令来管理方法。
如图4A所示,在一些实施方式中,通信服务器(402)接收来自支持服务提供商的服务者注册请求,服务者注册请求指定要由支持服务提供商服务的外围设备的类型。响应于服务者注册请求,通信服务器基于服务者注册请求建立(404)针对支持服务提供商的公共社交网络身份。例如,可以在该类型的外围设备的制造商发布该类型的外围设备以供出售之前进行服务者注册。在一些实施方式中,服务者注册请求可以为图2I所示的账号注册过程的一部分。
通信服务器接收(406)来自第一用户的第一所有者注册请求,第一所有者注册请求指定由第一用户控制的第一外围设备。例如,这在图2A至图2H和图2J所示的设备绑定过程中以及所附描述中示出。在一些实施方式中,在确定第一外围设备为在服务者注册请求中指定的外围设备类型时,通信服务器在支持服务提供商的公共社交网络身份与第一用户的相应的社交网络身份之间建立(408)社交网络关系。例如,通信服务器关联针对该类型的外围设备的支持服务器的社交网络身份、外围设备以及作为彼此的社交网络联系人的第一用户,并且向每一方通知该关联。在一些实施方式中,通信服务器在第一用户的相应社交网络身份与支持服务提供商的公共联系人身份之间的聊天会话的对话界面中,将以第一外围设备为目标的相应的第一通信消息和从第一外围设备发出的相应的第二通信消息提供(410)为相应的即时消息。例如,在图2K至图2T以及所附描述中提供了示例性通信场景。
在一些实施方式中,通信服务器接收(412)来自支持服务提供商的指令消息,指令消息将第一外围设备标识为指令消息的目标。响应于接收指令消息,通信服务器经由第一用户设备将指令消息转发至第一外围设备。指令消息可以是由支持服务器生成的直接编码指令或者是以外围设备为目标的另一指令(例如,来自用户、另一外围设备的指令)的转换。
在一些实施方式中,响应于接收指令消息,通信服务器基于指令消息的内容而获得(416)已经生成的即时消息,并且向第一用户设备发送即时消息,其中第一用户设备在第一用户与支持服务提供商的公共联系人身份之间的聊天会话的对话界面中将即时消息呈现为从支持服务提供商的公共联系人身份到第一用户的消息。例如,支持服务器“Q-Support”可以生成针对外围设备“Q-Band”的编码指令,该编码指令经由通信服务器和耦接至外围设备的用户设备而被转发至外围设备。此外,通信服务器获得与来自支持服务器的指令的内容对应的人类可读的即时消息(例如,通过接收来自支持服务器的人类可读的即时消息,或者本地地生成人类可读的即时消息)。
在一些实施方式中,基于指令消息的内容获得即时消息还包括(418):从支持服务提供商接收描述指令消息的目的的自然语言消息;以及将支持服务提供商的公共社交网络身份指定为自然语言消息的发送者,并且将第一用户指定为自然语言消息的预期接收者。
在一些实施方式中,通信服务器经由第一用户设备接收(420)针对指令消息的答复消息,该答复消息从第一外围设备发出;以及响应于接收该答复消息,通信服务器将从第一外围设备发出的答复消息转发(422)至支持服务提供商。例如,在支持服务器向外围设备发送编码指令之后,外围设备可以提供编码答复。例如,如果编码指令是用于使外围设备生成一些输出数据,则编码答复可以包括已经由外围设备在接收该编码指令之后生成的输出数据。在一些实施方式中,响应于将答复消息转发至支持服务提供商,通信服务器接收(424)来自支持服务提供商的第二即时消息,其中已经由支持服务提供商基于答复消息的内容而生成了第二即时消息。例如,接收包括所请求的输出数据的编码消息的支持服务器将编码消息转换成人类可读的形式以供随后呈现给用户。通信服务器将第二即时消息转发(426)至第一用户设备,其中第一用户设备在第一用户与支持服务提供商的公共联系人身份之间的聊天会话的对话界面中将第二即时消息呈现为从支持服务提供商的公共联系人身份到第一用户的消息。
例如,步骤412至426可以在这样的通信场景中发生:其中Q-Support将用于输出用户“Red207”今天的健康数据的指令发送至Q-Band,并且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的流程图。外围设备被视为人类用户在社交网络平台上的社交网络联系人。
在一些实施方式中,由社交网络平台的服务器(例如,图1B中的通信服务器112b)来执行过程500。在一些实施方式中,通信服务器将耦接至第一用户设备的第一外围设备注册为(502)与第一用户设备关联的用户账号的相应的社交网络联系人。例如,这在图2A至图2H以及所附描述中示出。通信服务器经由在第一用户设备处执行的社交网络客户端应用程序而向用户提供(504)对第一外围设备的访问,其中社交网络客户端应用程序将第一外围设备识别为与第一用户设备关联的用户账号的相应的社交网络联系人。
在一些实施方式中,经由在第一用户设备处执行的社交网络客户端应用程序而提供对耦接至第一用户设备的第一外围设备的访问还包括(506):接收来自第一用户设备的第一即时消息请求,第一即时消息请求包括第一即时消息并且将所注册的第一外围设备标识为第一即时消息的目标;并且响应于接收来自第一用户设备的第一即时消息请求:基于第一即时消息的内容而获得以所注册的第一外围设备为目标的编码指令;以及经由第一用户设备向所注册的第一外围设备发送编码指令。例如,第一用户设备(例如,智能电话)的用户(例如,用户“Red207”)期望控制已经注册到通信服务器并且与作为用户的社交网络联系人的用户账号关联的的第一外围设备(例如,蓝牙使能的面包机)。面包机连接至用户设备并且在用户的联系人列表中被显示为“Red的面包机”。当用户期望稍后(例如,下午四点)启动面包机时,用户可以利用在用户设备上执行的社交网络客户端应用程序与“Red的面包机”开始聊天会话,并且发送第一即时消息“在下午四点开始揉面”。通信服务器接收用户的即时消息请求,并且获得面包机所接受的相应的编码指令(例如,二进制命令序列)。通信服务器可选地使用面包机的支持服务器以获得编码指令。通信服务器然后经由用户设备向面包机发送编码指令,并且面包机开始由指令消息(例如,在下午四点)指示的适当的揉面程序。在图2K和所附描述中也说明了该通信场景。
在一些实施方式中,经由在第一用户设备处执行的社交网络客户端应用程序而提供对耦接至第一用户设备的第一外围设备的访问还包括(508):接收来自第一用户设备的第一编码消息,第一编码消息是由第一外围设备发起并且经由在第一用户设备处执行的社交网络客户端应用程序而被转发至服务器的消息;以及响应于接收来自第一用户设备的第一编码消息:基于第一编码消息的内容获得第二即时消息;以及向第一用户设备发送第二即时消息,其中社交网络客户端应用程序将第二即时消息呈现为从表示外围设备的相应社交网络联系人至与第一用户设备关联的用户账号的即时消息。例如,继续以上面包机的示例。假设在面包机如用户所指示的那样在下午四点开始揉面程序之后,面包机检测到对于之前选择的类型的面包而言面团过干(例如,如果用户没有在面包机中加入足够的水),则面包机生成第一编码消息(例如,“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)针对第一外围设备的相应的社交网络身份;以及在支持服务提供商的公共社交网络身份、第一用户以及第一外围设备的相应的社交网络身份之间建立社交网络关系。
在一些实施方式中,通信服务器在支持服务提供商的公共社交网络身份、第一用户以及第一外围设备的相应的社交网络身份之间建立(610)相应的组聊天会话。在一些实施方式中,通信服务器基于下述事实来自动地建立针对支持服务提供商、用户以及外围设备的组对话:用户和支持服务器均关联至外围设备,用户为外围设备的当前所有者,并且支持服务器为外围设备的支持服务提供商。
在一些实施方式中,虽然第一用户利用第一用户设备登录社交网络平台,但是通信服务器经由第一用户设备接收(612)来自第一外围设备的登录请求;以及响应于经由第一用户设备接收来自第一外围设备的登录请求,通信服务器将第一外围设备的可用性通知(614)给支持服务提供商。例如,在第一外围设备已经被第一用户注册之后,只要第一外围设备通过在第一用户设备上执行的社交网络客户端应用程序的操作而与第一用户的第一用户设备建立连接时,第一用户设备向通信服务器报告第一外围设备的激活在线状态。通信服务器然后更新第一外围设备的激活在线状态的支持服务器。
在一些实施方式中,通信服务器接收(616)来自支持服务提供商的指令消息,指令消息将第一外围设备标识为指令消息的目标。响应于接收指令消息,通信服务器经由第一用户设备将指令消息转发(618)至第一外围设备。在一些实施方式中,响应于接收以第一外围设备为目标的指令消息:通信服务器基于指令消息的内容来获得(620)已经生成的即时消息;以及向第一用户设备发送即时消息,其中第一用户设备在社交网络平台的组对话界面中将即时消息呈现为从支持服务提供商的公共联系人身份至第一外围设备的相应社交网络身份的消息。这在图2O的通信配置中示出。例如,如果面包机的支持服务提供商期望收集来自面包机的面包制作使用频率数据,则支持服务器经由通信服务器和第一用户设备向面包机“Red的面包机”发送编码指令以提交所请求的使用数据。通信服务器还(例如,从支持服务器)获得反映编码指令的内容和/或目的的即时消息(例如,“Red的面包机:请发送上个月的使用数据”),并且将其发送至第一用户设备以用于在支持服务器的社交网络身份、第一用户和面包机之间的组聊天会话的对话日志中显示给用户。
在一些实施方式中,获得即时消息还包括(622):获得来自支持服务提供商的描述指令消息目的的自然语言消息;以及将支持服务提供商的公共联系人身份指定为自然语言消息的发送者,并且将第一外围设备的相应社交网络身份指定为自然语言消息的目标接收者。
在一些实施方式中,通信服务器经由第一用户设备接收(624)来自第一外围设备的、针对指令消息的第一答复消息。响应于接收第一答复消息,通信服务器将第一答复消息转发(626)至支持服务提供商。例如,当面包机将编码消息中的使用数据提交给支持服务器时,编码消息首先到达第一用户设备并且被第一用户设备传送至通信服务器,并且通信服务器然后将其转发至支持服务器。
在一些实施方式中,响应于接收第一答复消息:通信服务器基于第一答复消息的内容而获得(628)已经生成的第二即时消息;以及向第一用户设备发送第二即时消息,其中第一用户设备在社交网络平台的组对话界面中将第二即时消息呈现为从第一外围设备的相应社交网络身份到支持服务提供商的公共社交网络身份的消息。例如,在支持服务器接收第一答复消息中的编码面包机使用数据之后,支持服务器将编码使用数据转换成人类可读的形式(例如,列表或表)并且将其包括在第二即时消息中。支持服务器将第二即时消息提供至通信服务器以供通信服务器将其发送至第一用户设备。第一用户设备将第二即时消息显示为从面包机“Red的面包机”至支持服务器的公共社交网络身份的答复。
在一些实施方式中,通信服务器接收(630)来自支持服务提供商的第三即时消息,第三即时消息将第一用户标识为第三即时消息的目标并且请求第三用户对第一外围设备执行操作或者提供与第一外围设备有关的特定信息。响应于接收第三即时消息,通信服务器经由第一用户设备将第三即时消息发送(632)至第一用户,其中第三即时消息在社交网络平台的组对话界面中被呈现为从支持服务提供商的公共联系人身份至第一用户的消息。在一些实施方式中,响应于向第一用户发送第三即时消息,通信服务器经由第一用户设备接收(634)来自第一用户的第二答复消息;以及响应于接收第二答复消息,通信服务器将第二答复消息作为对第三即时消息的答复而转发(636)至支持服务提供商。例如,继续以上面包机的示例。支持服务器可以生成请求第一用户从与面包机有关的第一用户提供与口味喜好或使用经验有关的一些信息的第三即时消息。支持服务器可以在第三即时消息中陈述“你更喜欢使面包比由Red的面包机制造的面包更软一些吗?”。支持服务器向通信服务器发送第三即时消息,以供通信服务器将其转发至用户“Red207”。在第三即时消息被发送至用户“Red207”并且显示在第一用户设备处之后,用户可以向支持服务器询问的问题提供答复。例如,用户可以提供作为以支持服务器为目标的即时消息的第二答复消息,其中该答复消息陈述“我更喜欢较软的面包。”向通信服务器发送第二答复消息并且通信服务器将第二答复消息转发至支持服务器。
在一些实施方式中,支持服务提供商将第一答复消息(例如,从面包机“Red的面包机”接收的机器使用数据)中的信息和第二答复消息(例如,由用户提供的口味和质地偏好)中的信息进行组合(638),以准备至第一外围设备的后续指令(例如,用于调节面包制作程序的基线的编码指令)和/或至第一用户的后续消息(例如,建议用户今后向面包机中添加稍微更多的水的即时消息)。在一些实施方式中,存储编码指令的即时消息和/或至第一用户的即时消息被输入至当前组聊天会话的对话日志中。
在一些实施方式中,通信服务器接收(640)来自多个用户的多个所有者注册请求,多个所有者注册请求中的每一个指定了在服务者注册请求中所指定的一类外围设备中的相应外围设备。响应于多个所有者注册请求,通信服务器针对在多个所有者注册请求中指定的多个外围设备中的每个而创建(642)相应的社交网络身份。在一些实施方式中,通信服务器创建包括支持服务提供商的公共社交网络身份、多个用户以及多个外围设备的相应社交网络身份的社交网络社区。例如,通信服务器可以针对已经注册相同类型的面包机的所有用户创建在线社区,并且允许他们拥有社交网络组以在彼此之间连同他们在该社交网络组中的各自的设备进行通信。在一些实施方式中,通信服务器接收(646)来自支持服务提供商的广播消息;以及响应于接收广播消息,通信服务器经由相应的用户设备而向当前在服务器上登录的多个外围设备中的每一个发送广播消息。例如,面包机的支持服务器可以向在线社区中的所有的已注册的面包机发送广播消息(例如,用于停止已经被发现不安全的特征的编码消息)。接收广播消息的所有的面包机可以根据广播消息中的指令而动作。
在本公开内容的其他方面中提供了以上示例性过程的其他特征和方面。
图7A至图7C是根据一些实施方式的、用于在社交网络平台上提供对外围设备之间的控制和访问的示例性过程700的流程图。在一些实施方式中,由社交网络平台的通信服务器执行该过程。
在一些实施方式中,通信服务器将耦接至第一用户设备的第一外围设备和第二外围设备注册(702)为与第一用户设备关联的用户账号的相应社交网络联系人。例如,用户Red207可以将她的公寓中的气候控制设备和照明控制设备注册到通信服务器。假设通信服务器向气候控制设备和照明控制设备分配相应的社交网络身份“Red的气候控制器”和“Red的照明控制器”。这两个设备经由在用户设备上执行的社交网络客户端应用程序耦接至用户的用户设备(例如,智能电话)。在一些实施方式中,通信服务器使得经由在第一用户设备上执行的社交网络客户端应用程序而进行第一外围设备(例如,照明控制设备)和第二外围设备(例如,气候控制设备)之间的通信。
在一些实施方式中,在社交网络客户端应用程序的组聊天界面中,通信服务器呈现(708)用户账号的用户与表示第一和第二外围设备的相应社交网络联系人之间的组聊天,其中组聊天包括与第一外围设备和第二外围设备之间的通信内容对应的一个或更多个即时消息。例如,通信服务器可以提供其中用户“Red207”与两个外围设备“Red的气候控制器”和“Red的照明控制器”能够彼此交换通信消息的组聊天会话。在组聊天的对话日志中,通信消息均被示出为由人类用户可读的即时消息,而不考虑在各方之间交换的原始消息是编码消息还是常规的即时消息。
在一些实施方式中,使得经由在第一用户设备上执行的社交网络客户端应用程序进行第一外围设备与第二外围设备之间的通信还包括(706):经由第一用户设备接收来自第一外围设备的第一消息请求;基于第一消息请求,将第二外围设备标识为第一消息请求的一个或更多个消息目标之中的相应的消息目标;基于第一消息请求的内容而获得针对第二外围设备的第一编码消息;以及经由第一用户设备向第二外围设备发送第一编码消息。例如,如果照明控制设备检测到楼下起居室中的照明设备已经关闭,并且楼上卧室的照明设备已经打开,则照明控制设备可选地经由第一用户设备而向通信服务器发送第一消息请求。第一消息请求包括至少以气候控制设备为目标的第一编码消息。第一编码消息是针对气候控制设备的、用于关闭楼下的空调并打开楼上的空调的指令。在一些实施方式中,以气候控制设备为目标的原始消息可以为不同的格式,并且可以在消息经由用户设备而被发送至气候控制设备之前被转换成气候控制设备能够接受的格式。
在一些实施方式中,通信服务器获得(710)与针对第二外围设备的第一编码消息的内容对应的第一即时消息,并且将第一即时消息发送(712)至第一用户设备,其中第一即时消息在组聊天界面中被呈现为从表示第一外围设备的相应社交网络联系人至表示第二外围设备的相应社交网络的即时消息。例如,第一即时消息可以是表示“Red的气候控制器,Red207已经移至楼上,请相应地调节空调。”的消息。注意,第一即时消息是为了使用户理解在两个设备之间发生了什么,并且因此第一即时消息不需要是在两个外围设备之间传送的编码消息的逐字转换。可以由通信服务器使用传达编码消息的含义和内容的其他定制化的且更自然的陈述。
在一些实施方式中,基于第一消息请求,通信服务器将用户账号的用户标识(714)为第一消息请求的一个或更多个消息目标之中的附加的消息目标。例如,照明控制设备可选地生成包括多个部分的第一消息请求,并且每个部分都表示具有相应目标的相应消息。除了以气候控制设备为目标的编码指令之外,第一消息请求可选地包括以用户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连接、蓝牙连接、蓝牙低能耗连接、超声波连接、雷电连接等)被用于将数据(例如,以外围设备为目标的编码指令,以及从外围设备发出的编码响应)传送至外围设备以及从外围设备传送数据。
对于连接外围设备和用户设备而言,蓝牙和蓝牙低能耗协议是易于使用和实现的。通用蓝牙设计准则(例如,BluetoothTM4.0设计准则、用于AppleTM产品的AppleTM的蓝牙设计准则)不适于经由社交网络平台控制外围设备的背景。图8示出了旨在改进用户体验的通用蓝牙设备发现过程的一些改进。
如图8所示,蓝牙使能的外围设备用作(例如,通过广播设备发现消息而)建议和等待连接请求的从机。用户设备用作扫描其他设备并且向所发现的外围设备发送连接请求的主机。
如图8所示,为了改进连接效率,外围设备的广播时间段被划分成初始广播时间段(例如,广播时间段的最初30秒)以及后续广播时间段(例如,广播时间段中的、初始广播时间段之后的部分)。在初始广播时间段期间,外围设备以相邻的设备发现消息(例如,相邻的设备发现消息广播时隙的开始边缘之间的)之间的、不大于500毫秒的相应的时间间隔,来重复地广播设备发现消息。在初始广播时间段之后,如果没有接收到连接请求,则外围设备减慢广播,并且设备发现消息以相邻的设备发现消息之间的、不大于3秒的相应的间隔而被重复广播。在一些实施方式中,外围设备在通电时开始广播时间段。在一些实施方式中,用户可以向外围设备提供用于开始广播时间段的信号。
在广播时间段期间,用户设备扫描设备发现消息,并且当用户设备检测到来自外围设备的设备发现消息时,用户设备确定外围设备是否为已经实现本文中所描述的方法的设备。例如,在一些实施方式中,外围设备包括针对与在用户设备上执行的社交网络客户端应用程序关联的社交网络服务而指定的预定标识符。例如,该预定标识符可以预先被发布给外围设备的制造商,使得制造商预先设置其外围设备以作为设备发现消息中的UUID来广播这个标识符。该标识符使得用户设备能够快速地确定是否存在能够与社交网络客户端应用程序通信以实现本文中所描述的方法的外围设备。
图8还示出了在一些实施方式中,在已经建立连接之后的两个连续连接事件之间的定时间隔被预设为30毫秒。这使得传输协议能够遵从行业标准,并且同时达到了相对高的传输速度。在一些实施方式中,针对连接事件的超时窗口为2秒,这与其他标准相比相对较短并且确保更快速地发现延迟的连接。
图9A至图9B是根据一些实施方式的、由外围设备和用户设备实现的示例性数据传输过程的简化流程图。
当在设备之间传送数据时,在社交网络客户端应用程序(用户设备)与社交网络平台的通信服务器之间传送的数据包的格式遵循预定的格式协议,使得通信服务器能够标识数据包的性质及其原始来源和最终目的地以及要转发至目的地方的数据包的有效负荷。由于根据用户设备和外围设备之间所使用的连接类型以及在用户设备和通信服务器之间所使用的连接类型,数据包的有效负荷可能包含可变长度的数据(例如,来自不同类型的外围设备的即时消息、图像、语音、编码指令等),,因此单个数据包可以被划分并且通过连接以多个块的形式被发送。
将用户设备和外围设备之间的连接用作示例,如果连接为典型蓝牙连接,则数据传输可以在没有固定长度的数据流中完成。然而,如果连接为蓝牙低能耗连接,则数据长度针对每个数据传输操作(例如,读取、写入、指示或通知操作)具有最大限制(例如,20字节)。因此,为了传送可变长度的数据包,需要将数据包划分成数据块并且存储为或写入至针对序列中的暴露特性的值,并且用户设备和外围设备需要在已经获得针对所有数据块的值之后,对作为连续数据流的一部分的每个检测值进行解释并且对数据包进行重组。换言之,需要执行用于模拟连续的数据流的过程,以在蓝牙低能耗连接(或者仅允许数据传输操作的短脉冲的其他类型的连接)上传送可变长度的数据。
在一些实施方式中,当使用典型的蓝牙连接时,针对(例如,指定与社交网络客户端应用程序关联的服务的)预定rfcomm服务的预定UUID(例如,0xFEC6)被外围设备暴露。用户设备在执行诸如图2F及所附描述所示的过程这样的设备发现过程时扫描该预定UUID。一旦建立了连接,数据就在数据流中通过蓝牙连接而被传送。每个数据包包括请求、对请求的响应或者推送请求中的一个。推送请求数据包包括推送请求,推送请求不需要响应。推送请求用于发送来自支持服务器或通信服务器并且以用户设备或外围设备为目标的指令或消息。请求用于发送来自用户设备或外围设备并且以支持服务器或通信服务器为目标的指令或消息。每个请求需要相应的响应。请求及其相应的响应通过分享相同的序列号来匹配。每个数据包包括单个请求、响应或推送请求,并且每个数据包经由连接作为相应的数据流而被发送。
在一些实施方式中,每个数据包包括固定长度的报头部分和可变长度的报体部分。例如,在一些实施方式中,报头部分可以包括不同的固定字段,例如用于输入表示社交网络服务的幻数(magicnumber)(例如,bMagicNumber=oxFE)、协议版本数(例如,bVer=1)的相应的字段;包总长度(例如,报头+报体=45字节)、命令ID(例如,针对认证请求的命令ID=3,或者用于将数据发送至支持服务器的命令ID=5等)、包序列号(例如,针对请求的序列号=非零数,针对推送请求的序列号=0)。
以下为示例性数据包格式:
每个数据包包括请求、响应或推送请求,并且每个请求、响应和推送请求包括与由社交网络应用程序提供的相应的功能(例如,认证、获得联系人列表、开始聊天会话、建立组聊天会话、发送消息、发送图像、返回语音消息等)对应的相应的命令ID。
当数据包在支持可变长度数据包的连接上被传送时,数据包长度字段使得接收者能够确定整个数据包的尾部何时到达。报头信息的其他字段使得接收者能够获知如何处理数据包的报体中包含的数据,以例如进一步转发数据包、对数据包进行解包并且执行数据包中包括的命令、利用数据包中包括的参数来执行所请求的功能或者将数据包中的数据转换或转变成不同的格式等。
如果连接为蓝牙低能耗连接,则通过暴露特性来发送数据,暴露特性意味着通过每个数据传输操作可以发送数据的仅一小部分。为了传送比由该特性设定数据大小限制更大的可变长度数据包,需要用于通过暴露特性、利用数据传输操作来模拟连续数据流的方法。
图9A示出了当数据包(例如,请求)从外围设备被发送至用户设备时由外围设备和用户设备执行的操作的简化流程。图9B示出了当数据包(例如,推送请求或响应)从用户设备被发送至外围设备时由外围设备和用户设备执行的操作的简化流程。由于蓝牙低能耗连接使得能够以双工的方式实现数据发送和接收,因此图9A和图9B中所示的过程可以在彼此不干扰的情况下以多工的方式进行。
在一些实施方式中,当外围设备经由蓝牙低能耗连接连接至用户设备时,外围设备暴露针对社交网络客户端应用程序的服务的预设UUID(例如,oxFEC6),以及两个预设特性(例如,UUID:0xFEC7和UUID:xFEC8)。一个特性(例如,0xFEC7)用于接受来自用户设备的数据(即,用于读取数据的特性),并且该特性使能“写入”属性。另一特性(例如,xFEC8)用于向用户设备发送数据(例如,用于写入数据的特性),并且该特性使能“指示”属性。用户设备在建立至外围设备的连接时检测和订阅这两个暴露特性。这分别如图9A和图9B中的步骤所示。
如图9A所示,用于将数据从外围设备发送至用户设备的过程包括以下:
(1)外围设备获得要经由用户设备被发送至另一方(例如,用户、通信服务器、支持服务器或另一外围设备)的数据包(例如,请求)。数据包遵循以上所描述的格式。
(2)外围设备确定已经被暴露给用户设备的、用于向用户设备发送数据的特性(例如,用于写入数据的特性oxFEC8)。
(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))从外围设备被发送至用户设备,并且由用户设备转发至通信服务器。对该请求的响应(AuthResp(seq=1))被通信服务器发送回用户设备,并且从用户设备被转发至外围设备。
还如图10A所示,另一请求(SendDataEquipSvrReq(seq=2))从外围设备被发送,并且通过用户设备和通信服务器被转发至支持服务器。针对该第二请求的响应(SendDatatoEquipSvrResp(seq=2))被支持服务器通过通信服务器和用户设备发送回外围设备。
还如图10A所示,通信服务器可以随时通过用户设备向外围设备发送推送请求(DataChangePushReq(seq=0))。
类似地,支持服务器也可以随时通过通信服务器和用户设备向外围设备发送推送请求(EquipSvrDataPushReq(seq=0))。
图10B示出了通信服务器可以随时插入推送请求(例如,DataChangePushReq(seq=0)),并且可以在针对预先接收的请求(SendDatatoEquipSvr(seq=2))的响应(例如,SendDatatoEquipSvrResp(seq=2))已经被发送回外围设备之前(经由用户设备)向外围设备发送推送请求(例如,DataChangePushReq(seq=0))。
图10B还示出了通信服务器可以随时插入推送请求(例如,EquipSvrDataPushReq(seq=0))。推送请求(例如,EquipSvrDataPushReq(seq=0))可以是从通信服务器接收的推送请求,并且通信服务器可以在针对预先接收的请求(SendDataEquipSvr(seq=2))的响应(例如,SendDataEquipSvrResp(seq=2))已经被发送回外围设备之前可选地(例如,经由用户设备)将其发送至外围设备。
图10C示出了当存在包含从外围设备被发送至通信服务器和支持服务器的请求的多个数据包时,这些数据包可以不按顺序到达支持服务器(例如,“SendDatatoEquipSvrReq(seq=3)在SendDatatoEquipSvrReq(seq=2)之前到达支持服务器)。因此,针对不按顺序的请求的响应也可以不按顺序(例如,“SendDatatoEquipSvrResp(seq=3)在“SendDatatoEquipSvrResp(seq=2)之前到达通信服务器、用户设备和外围设备)。
图11A是根据一些实施方式的、由外围设备执行的示例性蓝牙连接过程1100的流程图。
在一些实施方式中,由外围设备执行用于经由蓝牙连接将外围设备连接至用户设备的方法。在一些实施方式中,外围设备发起(1102)广播过程,包括:广播设备发现消息,设备发现消息包括针对与在用户设备上执行的社交网络应用程序关联的社交网络服务而指定的预定标识符。外围设备从用户设备接收(1112)与设备发现消息对应的连接请求。响应于接收来自用户设备的连接请求,外围设备建立(1114)至用户设备的蓝牙连接。
在一些实施方式中,在广播过程期间:外围设备在初始广播时间段期间的一系列第一传输时隙中的每一个内广播(1104)设备发现消息;以及如果在初始广播时间段期间没有接收与设备发现消息对应的连接请求,则在初始广播时间段之后的随后的广播时间段期间的一系列第二传输时隙中的每一个内广播设备发现消息,其中每个第一传输时隙短于每个第二传输时隙。在一些实施方式中,外围设备将初始广播时间段预设(1106)成30秒。在一些实施方式中,外围设备将每个第一传输时隙预设(1108)成不多于500毫秒。在一些实施方式中,外围设备将每个第二传输时隙预设(1110)成不多于3秒。在一些实施方式中,外围设备将每个第一传输时隙预设成500毫秒。在一些实施方式中,外围设备将每个第二传输时隙预设成3秒。
在一些实施方式中,外围设备针对外围设备和用户设备之间的连接事件而预设(1116)不多于2秒的超时窗口。在一些实施方式中,外围设备在两个连续的连接事件之间预设30毫秒的定时间隔。
在一些实施方式中,由社交网络应用程序的提供商针对社交网络应用程序的主要服务来指定预定标识符。
图11A是根据一些实施方式的、由用户设备执行的示例性蓝牙连接过程1120的流程图。过程1120与过程1100对应。因此,关于各种定时参数而描述的特征也适用于过程1120。
在一些实施方式中,用户设备发起(1122)设备扫描过程,包括:检测来自外围设备的设备发现消息;以及确定设备发现消息是否包括针对与在用户设备上执行的社交网络应用程序关联的社交网络服务而指定的预定标识符。当确定设备发现消息包括针对与在用户设备上执行的社交网络应用程序关联的社交网络服务而指定的预定标识符时,用户设备向外围设备发送(1124)与设备发现消息对应的连接请求,并且建立(1126)至外围设备的蓝牙连接。
在本公开内容的其他部分中提供了以上示例性过程的其他特征和方面。
图12A至图12B是根据一些实施方式的、用于在外围设备和用户设备之间传送数据包的示例性过程1200的流程图。过程1200由已经经由蓝牙低能耗连接连接至用户设备的外围设备来执行。
在一些实施方式中,外围设备在模拟数据流中将数据(例如,包含请求的数据包)传送(1202)至用户设备。为了在模拟数据流中传送数据:外围设备识别(1204)用于写入数据的第一蓝牙特性(例如,具有使能的“指示”属性的蓝牙特性),第一蓝牙特性在当前的连接事件中已经被外围设备暴露给用户设备。外围设备将要传送至用户设备的数据包(例如,总共1024字节)划分成数据帧(例如,51个帧)的序列加上零个或一个余项,每个数据帧具有与所识别的第一蓝牙特性的预定数据大小(例如,20字节)相等的相应大小(例如,20字节),并且余项(例如,4字节)具有比所识别的第一蓝牙特性的预定数据大小更小的相应大小。
在一些实施方式中,针对数据帧序列中的每个数据帧:外围设备将数据帧写入(1028)针对所识别的第一蓝牙特性的相应的值;以及推送所识别的第一蓝牙特性以供用户设备读取。在一些实施方式中,推送所识别的第一蓝牙特性以供用户设备读取还包括(1210)通过指示操作来请求用户设备读取所识别的第一蓝牙特性的更新的值。
在一些实施方式中,外围设备填充(1212)余项(如果存在)以获得具有与所识别的第一蓝牙特性的预定大小(例如,20字节)相等的相应大小(例如,20字节)的已填充余项。外围设备将已填充余项写入(1214)针对所识别的第一蓝牙特性的相应的值。外围设备推送所识别的第一蓝牙特性以供用户设备读取。
在一些实施方式中,针对数据帧序列中的每个数据帧:外围设备从用户设备接收(1216)针对所识别的第一蓝牙特性的读取的相应确认,其中,响应于接收相应的确认来对数据帧序列中的下一个数据帧进行写入和推送,直到数据包中不再有要传送的数据帧或余项为止。
在一些实施方式中,用户设备将从所识别的第一蓝牙特性读取的各个值重组成数据包。
在一些实施方式中,数据包包括从外围设备发出并且以外围设备的支持服务提供商为目标的消息。在一些实施方式中,数据包包括从外围设备发出并且以用户设备的用户为目标的消息。在一些实施方式中,数据包包括从外围设备发出并且以用户设备的用户的社交网络联系人为目标的消息。在一些实施方式中,用户设备的用户的社交网络联系人为另一用户。在一些实施方式中,用户设备的用户的社交网络联系人为另一外围设备。
在一些实施方式中,外围设备在第二模拟数据流中接收(1218)来自用户设备的数据。为了在模拟数据流中接收来自用户设备的数据,外围设备接收(1220)来自用户设备的写请求的序列以写入用于接收数据的第二蓝牙特性,第二蓝牙特性在当前连接事件中已经被外围设备暴露给用户设备。响应于接收写请求序列中的每个写请求,外围设备读取(1222)第二蓝牙特性中的相应的值。在外围设备的读取缓冲器中,外围设备存储(1224)已经响应于写请求序列中的每个写请求而读取的相应的值。外围设备将存储在读取缓冲器中的各个值重组(1226)成第二数据包。
在一些实施方式中,第二数据包是从外围设备的支持服务提供商发出并且以外围设备为目标的指令。在一些实施方式中,第二数据包是从在用户设备上执行的社交网络客户端应用程序的通信服务器发出并且以外围设备为目标的指令。在一些实施方式中,第二数据包是针对由外围设备发送的在先请求的响应。
图13A至图13B是根据一些实施方式的、用于在外围设备与用户设备之间传送数据的示例性过程1300的流程图。过程1300由已经经由蓝牙低能耗连接而连接至外围设备的用户设备执行。
在一些实施方式中,用户设备在模拟数据流中将数据传送(1302)至外围设备。为了在模拟数据流中传送数据,用户设备识别(1304)用于向外围设备发送数据的第一蓝牙特性(例如,具有使能的写入属性的特性),第一蓝牙特性在当前连接事件中已经被外围设备暴露给用户设备。用户设备将要传送至外围设备的第一数据包划分(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)来自针对包括外围设备的一类外围设备的支持服务提供商的第一推送请求数据包,其中第一推送请求数据包将外围设备标识为第一推送请求数据包的目标。响应于接收第一推送请求数据包,通信服务器经由耦接至外围设备的用户设备而将第一推送请求数据包转发(1506)至外围设备。在一些实施方式中,第一推送请求数据包不需要来自指令的目标的响应。
在一些实施方式中,通信服务器发起(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,该输入装置包括促进用户输入的用户接口部件,例如键盘、鼠标、语音命令输入单元或麦克风、触摸屏显示器、触摸感测输入垫、姿势捕获相机或其他输入按钮或控制部件等。
存储器1706包括高速随机访问存储器,例如DRAM、SRAM、DDRRAM或其他随机访问固态存储装置;以及可选地包括非易失性存储器,例如一个或更多个磁盘存储装置、光盘存储装置、闪存存储器装置或其他非易失性固态存储装置。存储器1706可选地包括与CPU1702远离的一个或更多个存储装置。存储器1706或可替选地存储器1706中的非易失性存储装置,包括非暂态计算机可读存储介质。在一些实现中,存储器1706或存储器1706的非暂态计算机可读存储介质,存储以下程序、模块和数据结构或其子集或超集:
●操作系统1716,该操作系统1716包括用于处理各种基础系统服务和用于执行取决于硬件的任务的过程;
●网络通信模块1718,该网络通信模块1718用于经由一个或更多个(有线或无线)网络接口1704(例如,蓝牙接口、WiFi、蓝牙低能耗、USB等)而将外围设备1700连接至其他计算设备(例如,用户设备104);
●呈现模块1720,该呈现模块1720用于使得能够经由与用户接口1710关联的一个或更多个输出装置1712(例如,显示器、扬声器等),在外围设备1700处呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);以及
●输入处理模块1722,该输入处理模块1722用于检测来自一个或更多个输入装置1714的一个或更多个用户输入或交互并且对所检测的输入或交互进行解释。
在一些实施方式中,存储器1706还包括用于执行数据处理的外围设备模块1724,该数据处理用于执行外围设备的原生操作以及在本文中所描述的社交网络平台上与其他设备和/或用户进行通信所需的操作。在一些实施方式中,外围设备模块1724包括但不限于:
○连接模块1726,该连接模块1726被配置成与执行社交网络客户端应用程序的用户设备建立连接。连接模块例如实现本文中所描述的、用于广播针对社交网络应用程序的服务ID和接受来自用户设备的连接请求的连接协议;
○数据传输模块1728,该数据传输模块1728被配置成生成要向用户设备发送的数据包,并且根据用户设备和外围设备之间的数据传输协议约定来传送数据;以及被配置成根据用户设备和外围设备之间的数据传送协议约定来接收来自用户设备的数据包并且对所接收的数据包进行重组;
○消息生成模块1730,该消息生成模块1730被配置成准备以其他用户、其他外围设备、通信服务器、支持服务器等为目标的(例如,包括编码指令和编码消息的)请求;
○消息解释模块1732,该消息解释模块1732被配置成将所接收的(例如,包括编码指令的)请求解析成内部操作;
○功能执行模块1734,该功能执行模块1734被配置成执行在所接收的请求中所请求的功能或任务;以及
○其他模块1736,该其他模块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、DDRRAM或其他随机访问固态存储装置;以及可选地包括非易失性存储器,例如一个或更多个磁盘存储装置、光盘存储装置、闪存存储器装置或其他非易失性固态存储装置、存储器1806可选地包括与CPU1802远离的一个或更多个存储装置。存储器1806或可替选地存储器1806中的一个或多个非易失性存储装置,包括非暂态计算机可读存储介质。在一些实现中,存储器1806或存储器1806的非暂态计算机可读存储介质存储以下程序、模块和数据结构或其子集或超集:
●操作系统1816,该操作系统1816包括用于处理各种基础系统服务和用于执行取决于硬件的任务的过程;
●网络通信模块1818,该网络通信模块1818用于经由一个或更多个(有线或无线)网络接口1804(例如,蓝牙接口、WiFi、蓝牙低能耗、USB等,以太网、LAN、WAN等)而将用户设备1800连接至其他计算设备(例如,外围设备118或通信服务器112);
●呈现模块1820,该呈现模块1820用于使得能够经由与用户接口1810关联的一个或更多个输出装置1812(例如,显示器、扬声器等)而在用户设备1800处呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);以及
●输入处理模块1822,该输入处理模块1822用于检测来自一个或更多个输入装置1814的一个或更多个用户输入或交互并且对所检测的输入或交互进行解释。
在一些实施方式中,存储器1806还包括用于执行数据处理的社交网络客户端模块1824,该数据处理用于执行由社交网络平台的提供商提供的社交网络平台上的各种功能,包括本文中所描述的使得能够在社交网络平台上访问和控制外围设备所需的操作。在一些实施方式中,社交网络客户端模块1824包括但不限于:
○绑定模块1826,该绑定模块1826被配置成将外围设备绑定至用户设备以及当前在用户设备上执行的社交网络客户端应用程序内激活的用户账号;
○连接模块1828,该连接模块1828被配置成与已经被绑定至用户设备的外围设备建立连接。连接模块例如实现本文中所描述的、用于检测针对社交网络应用程序的服务ID并且发起至外围设备的连接请求的连接协议;
○数据传输模块1830,该数据传输模块1830被配置成根据用户设备和通信服务器之间的数据传输协议约定来向通信服务器发送数据包以及接收来自通信服务器的数据包;以及被配置成根据用户设备和外围设备之间的数据传送协议约定来向外围设备发送数据包并且接收来自外围设备的数据包;
○对话模块1832,该对话模块1832被配置成建立一对一的对话和组聊天会话,并且解析所接收的消息(例如,即时消息)并将消息呈现在相应的聊天会话的对话日志中;
○联系人管理模块1834,该联系人管理模块1834被配置成管理激活用户账号的联系人,包括代表外围设备的联系人;以及
○其他模块1836,该其他模块1836被配置成关于社交网络平台上的交互而执行本文中所描述的其他功能。
以上所识别的元件中的每个都可以被存储在先前提及的存储装置中的一个或更多个存储装置中,并且与用于执行上述功能的指令集相应。以上所识别的模块或程序(例如,指令集)不需要被实现为单独的软件程序、过程、模块或数据结构,并且因此这些模块的各种子集可以在各种实现中被组合或重新布置。在一些实现中,存储器1706可选地存储以上所识别的模块和数据结构的子集。另外,存储器1706可选地存储以上未描述的附加的模块和数据结构。
图19是示出根据一些实施方式的、针对示例性社交网络平台的代表性服务器系统1900的框图。服务器系统1900可以用作根据本公开内容中所描述的实施方式的、为用户和外围设备提供社交网络服务的通信服务器(例如,图1B中所示的通信服务器112b、图10A至图10C中所示的通信服务器112)。服务器系统1900可以通过包括虚拟和物理资源的一个或更多个计算机系统来提供。
服务器系统1900通常包括一个或更多个处理单元(CPU)1902、一个或更多个网络接口1904、存储器1906以及用于使得这些部件互连的一个或更多个通信总线1908(有时称为芯片集)。服务器系统1900还可选地包括用户接口1910。用户接口1910包括使得能够呈现媒体内容的一个或更多个输出装置1912,该输出装置包括一个或更多个扬声器和/或一个或更多个可视显示器。用户接口1910还包括一个或更多个输入装置1914,该输入装置包括促进用户输入的用户接口部件,例如键盘、鼠标、语音命令输入单元或麦克风、触摸屏显示器、触摸感测输入垫、姿势捕获相机或其他输入按钮或控制部件等。
存储器1906包括高速随机访问存储器,例如DRAM、SRAM、DDRRAM,或其他随机访问固态存储装置;以及,可选地包括非易失性存储器,例如一个或更多个磁盘存储装置、光盘存储装置、闪存存储器装置或其他非易失性固态存储装置、存储器1906可选地包括与CPU1902远离的一个或更多个存储装置。存储器1906或可替选地存储器1906中的非易失性存储装置,包括非暂态计算机可读存储介质。在一些实现中,存储器1906或存储器1906的非暂态计算机可读存储介质存储以下程序、模块和数据结构或其子集或超集:
●操作系统1916,该操作系统1916包括用于处理各种基础系统服务和用于执行取决于硬件的任务的过程;
●网络通信模块1918,该网络通信模块1918用于经由一个或更多个(有线或无线)网络接口1904(例如,WiFi、以太网、LAN、WAN等)、在网络106上连接至其他计算设备(例如,用户设备104或支持服务器116);
●呈现模块1920,该呈现模块1920用于使得能够经由与用户接口1910关联的一个或更多个输出装置1912(例如,显示器、扬声器等)而在服务器系统1900处呈现信息(例如,用于操作服务器系统和显示内容和信息的用户接口);以及
●输入处理模块1922,该输入处理模块1922用于检测来自一个或更多个输入装置1914之一的一个或更多个用户输入或交互并且解释所检测的输入或交互。
在一些实施方式中,存储器1906还包括用于执行数据处理的社交网络服务器模块1924,该数据处理用于支持社交网络平台上的各种用户和后端功能,包括如本文中所描述的使得能够在社交网络平台上访问和控制外围设备所需的操作。在一些实施方式中,社交网络服务器模块1924包括但不限于:
○绑定模块1926,该绑定模块1926被配置成将外围设备绑定至相应的用户账号;
○用户管理模块1920,该用户管理模块1920被配置成注册用户、支持服务提供商和外围设备,并且对所注册的用户、支持服务提供商和外围设备分配相应的社交网络身份;
○通信模块1930,该通信模块1930被配置成准备要向用户、外围设备和支持服务器发送的消息(例如,推送请求中的消息和指令);被配置成解释所接收的请求、将所接收的请求转发至支持服务器、将所接收的响应转发至外围设备和/或用户设备;
○对话模块1932,该对话模块1932被配置成建立一对一的对话和组聊天会话,并且管理针对相应的聊天会话的对话日志;以及
○其他模块1934,该其他模块1934被配置成关于社交网络平台上的交互而执行本文中所描述的其他功能。
以上所识别的元件中的每个都可以被存储在先前提及的存储装置中的一个或更多个存储装置中,并且与用于执行上述功能的指令集相应。以上所识别的模块或程序(例如,指令集)不需要被实现为单独的软件程序、过程、模块或数据结构,并且因此这些模块的各种子集可以在各种实现中被组合或重新布置。在一些实现中,存储器1706可选地存储以上所识别的模块和数据结构的子集。另外,存储器1706可选地存储以上未描述的附加的模块和数据结构。
图20是示出根据一些实施方式的、对一种或更多种类型的外围设备提供支持的支持服务提供商的代表性服务器系统2000的框图。服务器系统2000可以用作根据在本公开内容中所描述的实施方式的、对用户和外围设备提供支持服务的支持服务器(例如,图1B和图10A至图10C中所示的支持服务器116)。支持服务器还将编码指令和消息转换成定期的即时消息并且将定期的即时消息转换成编码指令和消息以用于呈现给人类用户。服务器系统2000可以通过包括虚拟和物理资源的一个或更多个计算机系统来提供。
服务器系统2000通常包括一个或更多个处理单元(CPU)2002、一个或更多个网络接口2004、存储器2006以及用于使得这些部件互连的一个或更多个通信总线2008(有时称为芯片集)。服务器系统2000还可选地包括用户接口2010。用户接口2010包括使得能够呈现媒体内容的一个或更多个输出装置2012,该输出装置包括一个或更多个扬声器和/或一个或更多个可视显示器。用户接口2010还包括一个或更多个输入装置2014,该输入装置包括促进用户输入的用户接口部件,例如键盘、鼠标、语音命令输入单元或麦克风、触摸屏显示器、触摸感测输入垫、姿势捕获相机或其他输入按钮或控制部件等。
存储器2006包括高速随机访问存储器,例如DRAM、SRAM、DDRRAM或其他随机访问固态存储装置;以及可选地包括非易失性存储器,例如一个或更多个磁盘存储装置、光盘存储装置、闪存存储器装置或其他非易失性固态存储装置、存储器2006可选地包括与CPU2002远离的一个或更多个存储装置。存储器2006或可替选地存储器2006中的一个或多个非易失性存储装置,包括非暂态计算机可读存储介质。在一些实现中,存储器2006或存储器2006的非暂态计算机可读存储介质存储以下程序、模块和数据结构或其子集或超集:
●操作系统2016,该操作系统2016包括用于处理各种基础系统服务和用于执行取决于硬件的任务的过程;
●网络通信模块2018,该网络通信模块2018用于经由一个或更多个(有线或无线)网络接口2004(例如,WiFi、LAN、WAN等)、在网络106上连接至其他计算设备(例如,用户设备104或通信服务器112);
●呈现模块2020,该呈现模块2020用于使得能够经由与用户接口2010关联的一个或更多个输出装置2012(例如,显示器、扬声器等)而在服务器系统2000处呈现信息(例如,用于操作服务器系统和显示内容和信息的用户接口);以及
●输入处理模块2022,该输入处理模块2022用于检测来自一个或更多个输入装置2014之一的一个或更多个用户输入或交互并且解释所检测的输入或交互。
在一些实施方式中,存储器2006还包括用于执行数据处理的支持服务器模块2024,该数据处理用于支持社交网络平台上的各种支持功能(例如,执行设备诊断、提供客户支持等),这包括如本文中所描述的那样提供用于控制外围设备的编码指令以及提供编码消息至即时消息的转换以用于呈现给人类用户。在一些实施方式中,支持服务器模块2024包括但不限于:
○注册模块2026,该注册模块2026被配置成将服务账号注册到通信模块;
○设备管理模块2020,该设备管理模块2020被配置成利用社交网络平台的功能来管理所注册的用户和外围设备的社交网络关系;
○通信模块2030,该通信模块2030被配置成准备要向用户、外围设备和支持服务器发送的消息(例如,推送请求中的消息和指令);被配置成解释所接收的请求、将所接收的请求转发至支持服务器、将所接收的响应转发至外围设备和/或用户设备;
○对话模块2032,该对话模块2032被配置成与用户和外围设备建立一对一的对话和组聊天会话;以及
○其他模块2034,该其他模块2034被配置成关于社交网络平台上的交互而执行本文中所描述的其他功能。
以上所识别的元件中的每个都可以被存储在先前提及的存储装置中的一个或更多个存储装置中,并且与用于执行上述功能的指令集相应。以上所识别的模块或程序(例如,指令集)不需要被实现为单独的软件程序、过程、模块或数据结构,并且因此这些模块的各种子集可以在各种实现中被组合或重新布置。在一些实现中,存储器1706可选地存储以上所识别的模块和数据结构的子集。另外,存储器1706可选地存储以上未描述的附加的模块和数据结构。
图21至图24是根据一些实施方式的、在社交网络平台中操作的各种设备和系统的框图。
图21是示出根据一些实施方式的、与用户设备关联的代表性外围设备1700的框图。外围设备1700可以用作根据本公开内容中所描述的实施方式的、能够经由社交网络平台来被控制和访问的外围设备(例如,图1B、图2K至图2T、图8、图9A至图9B、图10A至图10C中所示的外围设备118以及图2A中所示的外围设备200)。外围设备的示例包括但不限于智能手表、健康监视器(例如,心率监视器或血压监视器、心脏起搏器、生活方式监视腕带等)、音乐播放器、气候控制器(例如,天气监视器、温度控制器、加热器、空气调节器、湿度控制器等)、照明控制器、安全监视系统、智能咖啡机、充电站(例如,针对电动汽车或电子设备等的充电站)、导航系统(例如,GPS系统)、运动装备(例如,智能高尔夫推杆、智能鱼竿、智能篮球等)、机顶盒(例如,在线流式传输机顶盒、在线游戏设备等)。
在一些实施方式中,外围设备还包括用于执行数据处理的外围设备模块1724,该数据处理用于执行外围设备的原生操作以及如本文中所描述的在社交网络平台上与其他设备和/或用户进行通信所需的操作。在一些实施方式中,外围设备模块1724包括但不限于:连接单元1726,该连接单元1726被配置成与执行社交网络客户端应用程序的用户设备建立连接。连接模块例如实现本文中所描述的、用于广播针对社交网络应用程序的服务ID和接受来自用户设备的连接请求的连接协议;数据传输单元1728,该数据传送单元1728被配置成生成要向用户设备发送的数据包,并且根据用户设备和外围设备之间的数据传输协议约定来传送数据包;以及被配置成根据用户设备和外围设备之间的数据传输协议约定来接收来自用户设备的数据包并且对所接收的数据包进行重组;消息生成单元1730,该消息生成单元1730被配置成准备以其他用户、其他外围设备、通信服务器、支持服务器等为目标的请求(例如,包括编码指令和编码消息);消息解释单元1732,该消息解析单元1732被配置成将所接收的(例如,包括编码指令的)请求解析成内部操作;功能执行单元1734,该功能执行单元1734被配置成执行在所接收的请求中请求的功能或任务;以及其他模块单元,该其他模块单元被配置成关于社交网络平台上的交互而执行本文中所描述的其他功能。
图22是示出根据一些实施方式的、与用户关联的代表性用户设备2200的框图。用户设备2200可以用作根据本公开内容中所描述的实施方式的、能够用于经由社交网络平台来控制和访问外围设备(例如,本地连接的外围设备或者连接至另一用户设备的外围设备)的用户设备(例如,图1B、图2K至图2T、图8、图9A至图9B、图10A至图10C中所示的用户设备104以及图2B至图2H中所示的用户设备202)。用户设备的示例包括但不限于智能电话、平板设备、台式计算机、膝上型计算机、游戏设备等。
在一些实施方式中,用户设备2200还包括用于执行数据处理的社交网络客户端模块2224,该数据处理用于执行由社交网络平台的提供商提供的社交网络平台上的各种功能,包括本文中所描述的使得能够在社交网络平台上访问和控制外围设备所需的操作。在一些实施方式中,社交网络客户端模块2224包括但不限于:绑定单元2226,该绑定单元2226被配置成将外围设备绑定至用户设备以及当前在用户设备上执行的社交网络客户端应用程序内激活的用户账号;连接单元2228,该连接单元2228被配置成与已经被绑定至用户设备的外围设备建立连接。连接模块例如实现本文中所描述的、用于检测针对社交网络应用程序的服务ID并且发起至外围设备的连接请求的连接协议;数据传输单元2230,该数据传输单元2230被配置成根据用户设备和通信服务器之间的数据传送协议约定来向通信服务器发送数据包以及接收来自通信服务器的数据包;以及被配置成根据用户设备和外围设备之间的数据传送协议约定来向外围设备发送数据包并且接收来自外围设备的数据包;对话单元2232,该对话单元2232被配置成建立一对一的对话和组聊天会话,并且解析所接收的消息(例如,即时消息)并将消息呈现在相应聊天会话的对话日志中;联系人管理单元2234,该联系人管理单元2234被配置成管理激活用户账号的联系人,包括代表外围设备的联系人;以及其他单元2236,该其他单元2236被配置成关于社交网络平台上的交互而执行本文中所描述的其他功能。
图23是示出根据一些实施方式的、针对示例性社交网络平台的代表性服务器系统2300的框图。服务器系统2300可以用作根据本公开内容中所描述的实施方式的、为用户和外围设备提供社交网络服务的通信服务器(例如,图1B中所示的通信服务器112b、图10A至图10C中所示的通信服务器112)。服务器系统2300可以通过包括虚拟和物理资源的一个或更多个计算机系统来提供。
在一些实施方式中,服务器系统2300包括用于执行数据处理的社交网络服务器模块2324,该数据处理用于支持社交网络平台上的各种用户和后端功能,包括本文中所描述的使得能够在社交网络平台上访问和控制外围设备所需的操作。在一些实施方式中,社交网络服务器模块2324包括但不限于:绑定单元2326,该绑定单元2326被配置成将外围设备绑定至相应的用户账号;用户管理单元2320,该用户管理单元2320被配置成注册用户、支持服务提供商和外围设备,并且对所注册的用户、支持服务提供商和外围设备分配相应的社交网络身份;通信单元2330,该通信单元2330被配置成准备要向用户、外围设备和支持服务器发送的消息(例如,推送请求中的消息和指令);被配置成解释所接收的请求、将所接收的请求转发至支持服务器、将所接收的响应转发至外围设备和/或用户设备;对话单元2332,该对话单元2332被配置成建立一对一的对话和组聊天会话,并且管理针对相应的聊天会话的对话日志;以及其他单元2334,该其他单元2334被配置成关于社交网络平台上的交互而执行本文中所描述的其他功能。
图24是示出根据一些实施方式的、为一种或更多种类型的外围设备提供支持的支持服务提供商的代表性服务器系统2400的框图。服务器系统2400可以用作根据本公开内容中所描述的实施方式的、为用户和外围设备提供支持服务的支持服务器(例如,图1B和图10A至图10C中所示的支持服务器116)。支持服务器还将编码指令和消息转换成定期的即时消息并将即时消息转换成编码指令和消息以用于呈现给人类用户。服务器系统2400可以通过包括虚拟和物理资源的一个或更多个计算机系统来提供。
在一些实施方式中,服务器系统2400包括用于执行数据处理的支持服务器模块2424,该数据处理用于支持社交网络平台上的各种支持功能(例如,执行设备诊断、提供客户支持等),包括如本文中所描述的那样提供用于控制外围设备的编码指令以及提供将编码消息转换成即时消息以用于呈现给人类用户。在一些实施方式中,支持服务器模块2424包括但不限于:注册单元2426,该注册单元2426被配置成将服务账号注册到通信模块;设备管理单元2420,该设备管理单元2420被配置成利用社交网络平台的功能来管理所注册的用户和外围设备的社交网络关系;通信单元2430,该通信单元2430被配置成准备要向用户、外围设备和支持服务器发送的消息(例如,推送请求中的消息和指令);被配置成解释所接收的请求、将所接收的请求转发至支持服务器、将所接收的响应转发至外围设备和/或用户设备;对话模块单元,该对话模块单元被配置成与用户和外围设备建立一对一的对话和组聊天会话;以及其他单元2434,该其他单元2434被配置成关于社交网络平台上的交互而执行本文中所描述的其他功能。
虽然以上描述了特定实施方式,然而应当理解,其不意在将本发明限于这些特定的实施方式。反之,本发明包括在所附权利要求的精神和范围内的替选方案、变型和等同方式。阐述了若干特定细节以提供对本文介绍的主题的全面理解。但是对于本领域技术人员而言显而易见的是,可以在没有这些特定细节的情况下实现该主题。在其他实例中,没有详细描述众所周知的方法、过程、部件和电路,以避免不必要地使实施方式的各方面变得晦涩。
Claims (62)
1.一种用于经由蓝牙低能耗连接而在外围设备与用户设备之间传送数据的方法,包括:
在所述外围设备处:
在模拟数据流中向所述用户设备传送数据,所述传送包括:
识别用于写数据的第一蓝牙特性,所述第一蓝牙特性在当前连接事件中已经被所述外围设备暴露给所述用户设备;
将要被传送至所述用户设备的数据包划分成数据帧的序列加上零或一个余项,每个数据帧具有与所识别的第一蓝牙特性的预定数据大小相等的相应大小,并且所述余项具有比所识别的第一蓝牙特性的预定数据大小更小的相应大小;以及
针对所述数据帧的序列中的每个数据帧:
将所述数据帧写入针对所识别的第一蓝牙特性的相应值;以及
推送所识别的第一蓝牙特性以供所述用户设备读取。
2.根据权利要求1所述的方法,还包括:
填充所述余项以获得具有与所识别的第一蓝牙特性的预定大小相等的相应大小的已填充余项;
将所述已填充余项写入针对所识别的第一蓝牙特性的相应值;以及
推送所识别的第一蓝牙特性以供所述用户设备读取。
3.根据权利要求1所述的方法,其中,所述推送所识别的第一蓝牙特性以供所述用户设备读取还包括:
通过指示操作来请求所述用户设备读取所识别的第一蓝牙特性的更新的值。
4.根据权利要求3所述的方法,还包括:
针对所述数据帧的序列中的每个数据帧:
从所述用户设备接收针对所识别的第一蓝牙特性的读取的相应确认,其中,响应于接收所述相应确认来执行对所述数据帧的序列中的下一个数据帧的写入和推送,直到所述数据包中不再存在要被传送的数据帧或余项为止。
5.根据权利要求4所述的方法,其中,所述用户设备将从所识别的第一蓝牙特性读取的所述各个的值重组为所述数据包。
6.根据权利要求4所述的方法,其中,所述数据包包括从所述外围设备发出并且以所述外围设备的支持服务提供商为目标的消息。
7.根据权利要求4所述的方法,其中,所述数据包包括从所述外围设备发出并且以所述用户设备的用户为目标的消息。
8.根据权利要求4所述的方法,其中,所述数据包包括从所述外围设备发出并且以所述用户设备的用户的社交网络联系人为目标的消息。
9.根据权利要求8所述的方法,其中,所述用户设备的用户的社交网络联系人为另一用户。
10.根据权利要求8所述的方法,其中,所述用户设备的用户的社交网络联系点为另一外围设备。
11.根据权利要求1所述的方法,还包括:
在所述外围设备处:
在第二模拟数据流中从所述用户设备接收数据,所述接收包括:
从所述用户设备接收写入请求的序列,以写入用于接收数据的第二蓝牙特性,所述第二蓝牙特性在当前连接事件中已经被所述外围设备暴露给所述用户设备;
响应于接收所述写入请求的序列中的每个写入请求,读取所述第二蓝牙特性中的相应值;以及
将已经响应于所述写入请求的序列中的每个写入请求而读取的所述相应值存储在所述外围设备的读取缓冲器中;以及
将存储在所述读取缓冲器中的各个值重组为第二数据包。
12.根据权利要求11所述的方法,其中,所述第二数据包是从所述外围设备的支持服务提供商发出并且以所述外围设备为目标的指令。
13.根据权利要求11所述的方法,其中,所述第二数据包是从在所述用户设备上执行的社交网络客户端应用程序的通信服务器发出并且以所述外围设备为目标的指令。
14.一种具有权利要求1至13中所提及的特征的任何组合的方法。
15.一种用于经由蓝牙低能耗连接在外围设备与用户设备之间传送数据的系统,包括:
一个或更多个处理器;以及
存储器,所述存储器存储有指令,所述指令当被所述一个或更多个处理器执行时使得所述处理器执行操作,所述操作包括:
在所述外围设备处:
在模拟数据流中向所述用户设备传送数据,所述传送包括:
识别用于写入数据的第一蓝牙特性,所述第一蓝牙特性在当前连接事件中已经被所述外围设备暴露给所述用户设备;
将要被传送至所述用户设备的数据包划分成数据帧的序列加上零或一个余项,每个数据帧具有与所识别的第一蓝牙特性的预定数据大小相等的相应大小,并且所述余项具有比所识别的第一蓝牙特性的所述预定数据大小更小的相应大小;以及
针对所述数据帧的序列中的每个数据帧:
将所述数据帧写入针对所识别的第一蓝牙特性的相应值;以及
推送所识别的第一蓝牙特性以供所述用户设备读取。
16.一种系统,包括:
一个或更多个处理器;以及
存储器,所述存储器存储有指令,所述指令当被所述一个或更多个处理器执行时使得所述处理器执行具有权利要求1至13中所提及的特征的任何组合的操作。
17.一种存储有指令的非暂态计算机可读介质,所述指令当被一个或更多个处理器执行时使得所述处理器执行操作,所述操作包括:
在模拟数据流中向所述用户设备传送数据,所述传送包括:
识别用于写入数据的第一蓝牙特性,所述第一蓝牙特性在当前连接事件中已经被所述外围设备暴露给所述用户设备;
将要被传送至所述用户设备的数据包划分成数据帧的序列加上零或一个余项,每个数据帧具有与所识别的第一蓝牙特性的预定数据大小相等的相应的大小,并且所述余项具有比所识别的第一蓝牙特性的所述预定数据大小更小的相应的大小;以及
针对所述数据帧的序列中的每个数据帧:
将所述数据帧写入针对所识别的第一蓝牙特性的相应的值;以及
推送所识别的第一蓝牙特性以供所述用户设备读取。
18.一种存储有指令的非暂态计算机可读介质,所述指令当被一个或更多个处理器执行时使得所述处理器执行具有权利要求1至13中所提及的特征的任何组合的操作。
19.一种用于经由蓝牙低能耗协议而在外围设备与用户设备之间传送数据的方法,包括:
在所述用户设备处:
在模拟数据流中向所述外围设备传送数据,所述传送包括:
识别用于向所述外围设备发送数据的第一蓝牙特性,所述第一蓝牙特性在当前连接事件中已经被所述外围设备暴露给所述用户设备;
将要被传送至所述外围设备的第一数据包划分成数据帧的序列加上零或一个余项,每个数据帧具有与所识别的第一蓝牙特性的预定数据大小相等的相应的大小,并且所述余项具有比所识别的第一蓝牙特性的所述预定数据大小更小的相应的大小;以及
针对所述数据帧的序列中的每个数据帧,发送用于将所述数据帧写入所识别的第一蓝牙特性的相应值的相应写入请求。
20.根据权利要求19所述的方法,还包括:
填充所述余项以获得具有与所识别的第一蓝牙特性的预定数据大小相等的相应大小的已填充余项;以及
发送用于将所述已填充余项写入所识别的第一蓝牙特性的相应值的相应写入请求。
21.根据权利要求20所述的方法,还包括:
针对所述数据帧的序列中的每个数据帧:
接收针对与所述数据帧关联的所述相应写入请求的相应确认,其中,响应于接收所述相应确认来发送针对所述数据帧的序列中的下一个数据帧的相应写入请求,直到所述第一数据包中不再存在要被传送的数据帧或余项为止。
22.根据权利要求21所述的方法,其中,所述外围设备将被写入所识别的第一蓝牙特性的各个数据值重组为所述第一数据包。
23.根据权利要求21所述的方法,其中,所述第一数据包包括从所述外围设备的支持服务提供商发出并且以所述外围设备为目标的指令。
24.根据权利要求21所述的方法,其中,所述第一数据包包括从在所述外围设备上执行的社交网络客户端应用程序的通信服务器发出的指令。
25.根据权利要求19所述的方法,还包括:
在所述用户设备处:
在第二模拟数据流中接收来自所述外围设备的数据,所述接收包括:
接收来自所述外围设备的指示序列以读取第二蓝牙特性,所述第二蓝牙特性在所述当前连接事件中已经被所述外围设备暴露给所述用户设备;
响应于接收所述指示序列中的每个指示:
读取所述第二蓝牙特性中的相应值;
发送针对所述相应值的读取的相应确认;以及
将所述相应的值存储在所述用户设备的读取缓冲器中;以及
将存储在所述读取缓冲器中的各个值重组为第二数据包。
26.根据权利要求25所述的方法,其中,所述第二数据包包括从所述外围设备发出并且以所述外围设备的支持服务提供商为目标的消息。
27.根据权利要求25所述的方法,其中,所述第二数据包包括从所述外围设备发出并且以所述用户设备的用户为目标的消息。
28.根据权利要求25所述的方法,其中,所述第二数据包包括从所述外围设备发出并且以所述用户设备的用户的社交网络联系人为目标的消息。
29.一种具有权利要求19至28中所提及的特征的任何组合的方法。
30.一种用于经由蓝牙低能耗连接而在外围设备与用户设备之间传送数据的系统,包括:
一个或更多个处理器;以及
存储器,所述存储器存储有指令,所述指令当被所述一个或更多个处理器执行时使得所述处理器执行进行操作,所述操作包括:
在所述用户设备处:
在模拟数据流中向所述外围设备传送数据,所述传送包括:
识别用于向所述外围设备发送数据的第一蓝牙特性,所述第一蓝牙特性在当前连接事件中已经被所述外围设备暴露给所述用户设备;
将要被传送至所述外围设备的第一数据包划分成数据帧的序列加上零或一个余项,每个数据帧具有与所识别的第一蓝牙特性的预定数据大小相等的相应大小,并且所述余项具有比所识别的第一蓝牙特性的所述预定数据大小更小的相应大小;以及
针对所述数据帧的序列中的每个数据帧,发送用于将所述数据帧写入所识别的第一蓝牙特性的相应值的相应写入请求。
31.一种系统,包括:
一个或更多个处理器;以及
存储器,所述存储器存储有指令,所述指令当被所述一个或更多个处理器执行时使得所述处理器执行具有权利要求19至28中所提及的特征的任何组合的操作。
32.一种存储有指令的非暂态计算机可读介质,所述指令当被一个或更多个处理器执行时使得所述处理器执行包括以下的操作:
在用户设备处:
在模拟数据流中向外围设备传送数据,所述传送包括:
识别用于向所述外围设备发送数据的第一蓝牙特性,所述第一蓝牙特性在当前连接事件中已经被所述外围设备暴露给所述用户设备;
将要被传送至所述外围设备的第一数据包划分成数据帧的序列加上零或一个余项,每个数据帧具有与所识别的第一蓝牙特性的预定数据大小相等的相应的大小,并且所述余项具有比所识别的第一蓝牙特性的所述预定数据大小更小的相应的大小;以及
针对所述数据帧的序列中的每个数据帧,发送用于将所述数据帧写入所识别的第一蓝牙特性的相应的值的相应的写入请求。
33.一种存储有指令的非暂态计算机可读介质,所述指令当被一个或更多个处理器执行时使得所述处理器执行具有权利要求19至28中所提及的特征的任何组合的操作。
34.一种用于经由社交网络平台与外围设备进行通信的方法,包括:
在针对包括所述外围设备的一类外围设备的支持服务提供商的服务器处:
向所述社交网络平台的服务器注册为所述外围设备的所述支持服务提供商;
发起通信事件,以向所述外围设备发送指令,发起所述通信事件包括:
生成针对所述指令的推送请求数据包,其中,所述推送请求数据包将所述外围设备标识为所述指令的目标;以及
经由所述社交网络平台的服务器以及耦接至所述外围设备的用户设备而向所述外围设备发送所述推送请求数据包。
35.根据权利要求34所述的方法,还包括:
经由耦接至所述外围设备的用户设备以及所述社交网络平台的所述服务器而接收来自所述外围设备的请求数据包;以及
响应于接收来自所述外围设备的所述请求数据包,经由所述社交网络平台的服务器以及耦接至所述外围设备的用户设备而向所述外围设备发送响应数据包。
36.根据权利要求35所述的方法,其中,所述推送请求数据包、所述请求数据包和所述响应数据包具有固定长度的包报头以及可变长度的包报体。
37.根据权利要求36所述的方法,其中,所述固定长度的包报头包括预定命令标识符和相应的包序列号。
38.根据权利要求37所述的方法,其中,所述响应数据包包括与所述请求数据包中所包含的第二包序列号匹配的第一包序列号,并且所述推送请求数据包包括与所述第一和第二包序列号不同的第三包序列号。
39.根据权利要求38所述的方法,其中,所述预定命令标识符对应于用于访问社交网络平台的相应功能的命令。
40.根据权利要求39所述的方法,其中,所述命令用于访问所述社交网络平台的用户认证功能,并且所述包报体指定了在所述社交网络平台上被分配给所述外围设备的用户身份的类型。
41.根据权利要求39所述的方法,其中,所述命令用于访问所述社交网络平台上的针对所述外围设备的联系人列表,并且所述包报体指定了代表用户、支持服务提供商或另一外围设备的至少一个联系人。
42.根据权利要求39所述的方法,其中,所述命令用于访问所述社交网络平台上的消息传送功能,并且所述包报体指定了以代表用户、支持服务提供商或另一外围设备的至少一个联系人为目标的消息。
43.根据权利要求39所述的方法,其中,所述命令用于访问所述社交网络平台上的消息传送功能,并且所述包报体指定了从代表用户、支持服务提供商或另一外围设备的至少一个联系人发出的消息。
44.根据权利要求39所述的方法,其中,所述命令用于访问所述社交网络平台上的消息传送功能,并且所述包报体指定了以代表用户、支持服务提供商或另一外围设备的至少一个联系人为目标的消息。
45.根据权利要求39所述的方法,其中,所述命令用于访问所述社交网络平台上的组聊天功能,并且所述包报体指定了所述外围设备与所述外围设备的两个或更多个相应社交网络联系人之间的组聊天会话,其中所述两个或更多个相应社交网络联系人包括多个用户、支持服务提供商以及多个其他外围设备中的两个或更多个。
46.根据权利要求39所述的方法,其中,所述命令用于访问所述社交网络平台上的对话日志功能,并且所述包报体指定了针对所述外围设备与所述外围设备的一个或更多个相应社交网络联系人之间的聊天会话的对话日志,所述一个或更多个相应社交网络联系人包括多个用户、支持服务提供商以及多个其他外围设备中的一个或更多个。
47.根据权利要求34所述的方法,其中,所述推送请求数据包不需要来自所述指令的目标的响应,并且所述方法还包括:
在所述支持服务提供商的服务器处,在发送所述推送请求数据包之后结束所述通信事件,不接收来自所述外围设备的针对所述推送请求数据包的任何响应。
48.一种用于经由社交网络平台与外围设备进行通信的系统,包括:
一个或更多个处理器;以及
存储器,所述存储器存储有指令,所述指令当被所述一个或更多个处理器执行时使得所述处理器执行操作,所述操作包括:
在针对包括所述外围设备的一类外围设备的支持服务提供商的服务器处:
向所述社交网络平台的服务器注册为所述外围设备的所述支持服务提供商;
发起通信事件,以向所述外围设备发送指令,发起所述通信事件包括:
生成针对所述指令的推送请求数据包,其中,所述推送请求数据包将所述外围设备标识为所述指令的目标;以及
经由所述社交网络平台的服务器以及耦接至所述外围设备的用户设备而向所述外围设备发送所述所述推送请求数据包。
49.一种系统,包括:
一个或更多个处理器;以及
存储器,所述存储器存储有指令,所述指令当被所述一个或更多个处理器执行时使得所述处理器执行具有权利要求34至47中所提及的特征的任何组合的操作。
50.一种存储有指令的非暂态计算机可读介质,所述指令当被一个或更多个处理器执行时使得所述处理器执行包括以下的操作:
在针对一类外围设备中的外围设备的支持服务提供商的服务器处:
向所述社交网络平台的服务器注册为针对所述外围设备的支持服务提供商;
发起通信事件,以向所述外围设备发送指令,发起所述通信事件包括:
生成针对所述指令的推送请求数据包,其中,所述推送请求数据包将所述外围设备标识为所述指令的目标;以及
经由所述社交网络平台的服务器以及耦接至所述外围设备的用户设备而向所述外围设备发送所述推送请求数据包。
51.一种存储有指令的非暂态计算机可读介质,所述指令当被一个或更多个处理器执行时使得所述处理器执行具有权利要求34至47中所提及的特征的任何组合的操作。
52.一种用于经由社交网络平台与外围设备进行通信的方法,包括:
在所述社交网络平台的服务器处:
将所述外围设备注册为耦接至所述外围设备的用户设备的关联外围设备;
接收来自针对包括所述外围设备的一类外围设备的支持服务提供商的第一推送请求数据包,其中,所述第一推送请求数据包将所述外围设备标识为所述第一推送请求数据包的目标;以及
响应于接收所述第一推送请求数据包,经由耦接至所述外围设备的所述用户设备而将所述第一推送请求数据包转发至所述外围设备。
53.根据权利要求52所述的方法,还包括:
发起通信事件,以向所述外围设备发送指令,发起所述通信事件包括:
生成针对所述指令的第二推送请求数据包,其中,所述第二推送请求数据包将所述外围设备标识为所述指令的目标;以及
经由耦接至所述外围设备的所述用户设备而向所述外围设备发送所述第二推送请求数据包。
54.根据权利要求53所述的方法,还包括:
经由耦接至所述外围设备的所述用户设备而接收来自所述外围设备的第二请求数据包,所述第二请求数据包将所述支持服务提供商标识为所述第二请求数据包的目标;
响应于接收来自所述外围设备的所述第二请求数据包,将所述第二请求数据包转发至所述支持服务提供商的服务器;
响应于将所述第二请求数据包转发至所述支持服务提供商的服务器,接收来自所述支持服务提供商的服务器的第二响应数据包,所述第二响应数据包由所述支持服务提供商的服务器响应于所述第二请求数据包而生成;以及
响应于接收所述第二响应数据包,经由耦接至所述外围设备的所述用户设备而将所述第二响应数据包转发至所述外围设备。
55.一种用于经由社交网络平台与外围设备进行通信的系统,包括:
一个或更多个处理器;以及
存储器,所述存储器存储有指令,所述指令当被所述一个或更多个处理器执行时使得所述处理器执行包括以下的操作:
在所述社交网络平台的服务器处:
将所述外围设备注册为耦接至所述外围设备的用户设备的关联外围设备;
接收来自针对包括所述外围设备的一类外围设备的支持服务提供商的第一推送请求数据包,其中,所述第一推送请求数据包将所述外围设备标识为所述第一推送请求数据包的目标;以及
响应于接收所述第一推送请求数据包,经由耦接至所述外围设备的所述用户设备而将所述第一推送请求数据包转发至所述外围设备。
56.一种系统,包括:
一个或更多个处理器;以及
存储器,所述存储器存储有指令,所述指令当被所述一个或更多个处理器执行时使得所述处理器执行具有权利要求34至47中所提及的特征的任何组合的操作。
57.一种存储有指令的非暂态计算机可读介质,所述指令当被一个或更多个处理器执行时使得所述处理器执行包括以下的操作:
在社交网络平台的服务器处:
将所述外围设备注册为耦接至所述外围设备的用户设备的关联外围设备;
接收来自针对包括所述外围设备的一类外围设备的支持服务提供商的第一推送请求数据包,其中,所述第一推送请求数据包将所述外围设备标识为所述第一推送请求数据包的目标;以及
响应于接收所述第一推送请求数据包,经由耦接至所述外围设备的所述用户设备而将所述第一推送请求数据包转发至所述外围设备。
58.一种存储有指令的非暂态计算机可读介质,所述指令当被一个或更多个处理器执行时使得所述处理器执行具有权利要求34至47中所提及的特征的任何组合的操作。
59.一种用于经由社交网络平台与外围设备进行通信的方法,包括:
在耦接至所述外围设备的用户设备处:
将所述外围设备向所述社交网络平台的服务器注册为所述用户设备的关联外围设备;
接收来自所述社交网络平台的服务器的推送请求数据包,其中,所述推送请求数据包将所述外围设备标识为所述推送请求数据包的目标;以及
将所述推送请求数据包转发至所述外围设备。
60.根据权利要求59所述的方法,还包括:
接收来自所述外围设备的请求数据包;以及
响应于接收来自所述外围设备的所述请求数据包,向所述外围设备发送响应数据包。
61.一种用于经由社交网络平台与外围设备进行通信的系统,包括:
一个或更多个处理器;以及
存储器,所述存储器存储有指令,所述指令当被所述一个或更多个处理器执行时使得所述处理器执行包括以下的操作:
在耦接至所述外围设备的用户设备处:
将所述外围设备向所述社交网络平台的服务器注册为所述用户设备的关联外围设备;
接收来自所述社交网络平台的服务器的推送请求数据包,其中,所述推送请求数据包将所述外围设备标识为所述推送请求数据包的目标;以及
将所述推送请求数据包转发至所述外围设备。
62.一种存储有指令的非暂态计算机可读介质,所述指令当被一个或更多个处理器执行时使得所述处理器执行操作,所述操作包括:
在耦接至所述外围设备的用户设备处:
将所述外围设备向所述社交网络平台的服务器注册为所述用户设备的关联外围设备;
接收来自所述社交网络平台的服务器的推送请求数据包,其中,所述推送请求数据包将所述外围设备标识为所述推送请求数据包的目标;以及
将所述推送请求数据包转发至所述外围设备。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2014/073302 WO2015135159A1 (en) | 2014-03-12 | 2014-03-12 | Method and device for controlling peripheral devices via a social networking platform |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105518692A true CN105518692A (zh) | 2016-04-20 |
CN105518692B CN105518692B (zh) | 2021-07-27 |
Family
ID=54070317
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480049286.0A Active CN105518692B (zh) | 2014-03-12 | 2014-03-12 | 用于经由社交网络平台控制外围设备的方法和装置 |
Country Status (7)
Country | Link |
---|---|
US (4) | US9614923B2 (zh) |
EP (1) | EP3117358B1 (zh) |
JP (1) | JP6242495B2 (zh) |
KR (2) | KR101882885B1 (zh) |
CN (1) | CN105518692B (zh) |
ES (1) | ES2728099T3 (zh) |
WO (1) | WO2015135159A1 (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106911666A (zh) * | 2017-01-04 | 2017-06-30 | 青岛海信移动通信技术股份有限公司 | 一种可穿戴智能设备及其消息处理方法、系统 |
CN108389241A (zh) * | 2018-03-01 | 2018-08-10 | 网易(杭州)网络有限公司 | 游戏场景中生成贴图的方法、装置和系统 |
CN109491357A (zh) * | 2017-09-13 | 2019-03-19 | 现代自动车株式会社 | 在多个控制器上执行诊断操作的设备以及相关方法和车辆 |
CN110785986A (zh) * | 2017-08-09 | 2020-02-11 | 欧姆龙健康医疗事业株式会社 | 数据发送装置 |
CN110913380A (zh) * | 2019-12-19 | 2020-03-24 | 飞天诚信科技股份有限公司 | 一种基于小程序平台与蓝牙设备进行通信的方法及装置 |
CN112073955A (zh) * | 2019-06-10 | 2020-12-11 | 海信视像科技股份有限公司 | 显示设备及蓝牙设备扫描方法 |
CN112073954A (zh) * | 2019-06-10 | 2020-12-11 | 海信视像科技股份有限公司 | 显示设备及扫描外部蓝牙设备的方法 |
WO2020248924A1 (zh) * | 2019-06-10 | 2020-12-17 | 海信视像科技股份有限公司 | 显示设备及扫描外部蓝牙设备的方法 |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9015281B2 (en) * | 2010-10-08 | 2015-04-21 | Brian Lee Moffat | Private data sharing system |
US9055121B2 (en) * | 2011-10-08 | 2015-06-09 | Broadcom Corporation | Social processing member offering fixed and intelligent services |
US10395246B2 (en) | 2013-12-30 | 2019-08-27 | Tencent Technology (Shenzhen) Company Limited | System and method for verifying identity information using a social networking application |
KR102189123B1 (ko) * | 2014-03-26 | 2020-12-09 | 삼성전자주식회사 | 복수의 사용자 단말 장치에 대한 그룹핑 방법 및 그룹핑 시스템 |
US9674043B2 (en) * | 2014-07-14 | 2017-06-06 | Schneider Electric It Corporation | Systems and methods for automatically clustering devices |
KR20160076565A (ko) * | 2014-12-23 | 2016-07-01 | 삼성전자주식회사 | 전자 장치 간의 상호 작용을 위한 능동 알림 방법 및 이를 제공하는 전자 장치 |
CN104639424B (zh) * | 2015-01-07 | 2020-09-25 | 腾讯科技(深圳)有限公司 | 一种数据传输方法及相关设备、系统 |
CN106161813B (zh) * | 2015-03-31 | 2019-11-26 | 联想(北京)有限公司 | 转送控制方法和装置、以及转送配置方法和装置 |
US10506068B2 (en) * | 2015-04-06 | 2019-12-10 | Microsoft Technology Licensing, Llc | Cloud-based cross-device digital pen pairing |
CN104836904A (zh) * | 2015-04-08 | 2015-08-12 | 惠州Tcl移动通信有限公司 | 基于智能穿戴设备对移动终端提示信息的处理方法及系统 |
TWI579758B (zh) * | 2016-01-29 | 2017-04-21 | 物聯智慧科技(深圳)有限公司 | 使用者電子裝置、使用者介面及電腦程式產品 |
US9497580B1 (en) * | 2016-03-23 | 2016-11-15 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Using application context to facilitate pairing with a peripheral device |
CN107396347A (zh) * | 2016-05-16 | 2017-11-24 | 阿里巴巴集团控股有限公司 | 一种智能穿戴设备与智能终端配对的方法、系统及智能终端 |
KR20170143431A (ko) * | 2016-06-21 | 2017-12-29 | 최명수 | 협력 기반의 상호 감시를 통해 중요 휴대 물품의 도난 및 분실을 방지하기 위한 시스템 및 방법 |
US10650621B1 (en) | 2016-09-13 | 2020-05-12 | Iocurrents, Inc. | Interfacing with a vehicular controller area network |
US10341178B1 (en) * | 2016-09-19 | 2019-07-02 | Amazon Technologies, Inc. | Configuring client devices |
US10574618B1 (en) | 2016-09-19 | 2020-02-25 | Amazon Technologies, Inc. | Processing client devices |
US10114999B1 (en) | 2016-12-02 | 2018-10-30 | Koupon Media, Inc. | Using dynamic occlusion to protect against capturing barcodes for fraudulent use on mobile devices |
CN108332356A (zh) | 2017-01-19 | 2018-07-27 | 开利公司 | 空调交互终端、空调系统的控制器、空调系统及空调交互系统 |
US10382437B2 (en) * | 2017-03-14 | 2019-08-13 | International Business Machines Corporation | Efficient and secure connection of devices to a network without user interfaces |
CN107426311A (zh) * | 2017-07-19 | 2017-12-01 | 上海慧流云计算科技有限公司 | 信息推送方法及装置 |
US10841277B2 (en) * | 2017-08-14 | 2020-11-17 | Ut-Battelle, Llc | One step removed shadow network |
US10701021B2 (en) * | 2017-09-20 | 2020-06-30 | Facebook, Inc. | Communication platform for minors |
US20190200079A1 (en) * | 2017-12-21 | 2019-06-27 | Facebook, Inc. | Predictive Analysis for Media Encodings |
WO2020071571A1 (ko) * | 2018-10-05 | 2020-04-09 | 주식회사 커넥스트 | 모바일 메신저에 통합된 저전력 블루투스(ble) 기반의 사물 통신 시스템 및 이를 이용한 사물 통신 방법 |
CN113785551A (zh) * | 2019-06-20 | 2021-12-10 | 惠普发展公司, 有限责任合伙企业 | 应用与外围设备之间的命令编排 |
KR102312677B1 (ko) * | 2020-10-12 | 2021-10-14 | 주식회사 디어유 | 개인화 메시징 서비스 시스템 및 개인화 메시징 서비스 방법 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6681364B1 (en) * | 1999-09-24 | 2004-01-20 | International Business Machines Corporation | Cyclic redundancy check for partitioned frames |
CN102510302A (zh) * | 2011-12-15 | 2012-06-20 | 重庆大学 | 跳绳过程数据格式集及其基于蓝牙低功耗技术的传输方法 |
CN102805887A (zh) * | 2012-04-11 | 2012-12-05 | 郑攀 | 用于贴覆式胰岛素泵系统的无线通信系统 |
US20140039804A1 (en) * | 2010-09-30 | 2014-02-06 | Fitbit, Inc. | Methods, Systems and Devices for Activity Tracking Device Data Synchronization With Computing Devices |
CN103607341A (zh) * | 2013-10-29 | 2014-02-26 | 福州瑞芯微电子有限公司 | 基于即时通讯方式的终端控制方法及系统 |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3667042B2 (ja) * | 1997-08-01 | 2005-07-06 | キヤノン株式会社 | カメラ制御システムおよびその制御方法およびカメラクライアント及びカメラクライアントの制御を実行するプログラムを記憶した記憶媒体 |
US6363477B1 (en) | 1998-08-28 | 2002-03-26 | 3Com Corporation | Method for analyzing network application flows in an encrypted environment |
JP2000244512A (ja) * | 1999-02-18 | 2000-09-08 | Nippon Telegr & Teleph Corp <Ntt> | 無線回線アクセス制御方法及び無線送信装置 |
US6606326B1 (en) | 1999-07-02 | 2003-08-12 | International Business Machines Corporation | Packet switch employing dynamic transfer of data packet from central shared queue path to cross-point switching matrix path |
US8614623B2 (en) * | 2008-12-01 | 2013-12-24 | Pascal's Pocket Corporation | Personal digital asset manager |
US7382787B1 (en) | 2001-07-30 | 2008-06-03 | Cisco Technology, Inc. | Packet routing and switching device |
US7024593B1 (en) | 2002-03-18 | 2006-04-04 | Emc Corporation | End-to-end checksumming for database environments |
JP2004260658A (ja) * | 2003-02-27 | 2004-09-16 | Matsushita Electric Ind Co Ltd | 無線lan装置 |
US7969301B2 (en) * | 2005-09-28 | 2011-06-28 | Social Fabric Corporation | Personal radio location system |
CA2577030A1 (en) | 2007-01-31 | 2008-07-31 | Unlimi-Tech Software Inc. | Improved data transfer method, system and protocol |
KR20100101274A (ko) | 2009-03-09 | 2010-09-17 | 엘지이노텍 주식회사 | 전광판 |
US9111538B2 (en) * | 2009-09-30 | 2015-08-18 | T-Mobile Usa, Inc. | Genius button secondary commands |
US8805646B2 (en) | 2010-09-30 | 2014-08-12 | Fitbit, Inc. | Methods, systems and devices for linking user devices to activity tracking devices |
US20120182939A1 (en) * | 2011-01-14 | 2012-07-19 | Qualcomm Incorporated | Telehealth wireless communication hub and service platform system |
US20120203491A1 (en) * | 2011-02-03 | 2012-08-09 | Nokia Corporation | Method and apparatus for providing context-aware control of sensors and sensor data |
US9948730B2 (en) * | 2011-02-08 | 2018-04-17 | S-Printing Solution Co., Ltd. | Social network system with access provision mechanism and method of operation thereof |
US9496982B2 (en) * | 2011-03-04 | 2016-11-15 | Alcatel Lucent | System and method providing resilient data transmission via spectral fragments |
JP5730082B2 (ja) * | 2011-03-08 | 2015-06-03 | キヤノン株式会社 | プリントサーバ、印刷システム、制御方法、およびプログラム。 |
US9445305B2 (en) * | 2011-09-12 | 2016-09-13 | Microsoft Corporation | Low energy beacon encoding |
US8469816B2 (en) * | 2011-10-11 | 2013-06-25 | Microsoft Corporation | Device linking |
US9124630B1 (en) | 2012-04-24 | 2015-09-01 | Microstrategy Incorporated | Aggregating social location information |
EP2873159A4 (en) * | 2012-07-13 | 2016-04-06 | Nokia Technologies Oy | PROCESSING PACKET DATA UNITS |
US8943187B1 (en) | 2012-08-30 | 2015-01-27 | Microstrategy Incorporated | Managing electronic keys |
US9107069B2 (en) | 2012-10-11 | 2015-08-11 | Nordic Semiconductor Asa | Addressable radio device |
US20150088585A1 (en) | 2013-09-26 | 2015-03-26 | International Business Machines Corporation | Supply chain management using problem and remediation propagation modeling |
-
2014
- 2014-03-12 KR KR1020177035474A patent/KR101882885B1/ko active IP Right Grant
- 2014-03-12 JP JP2016547184A patent/JP6242495B2/ja active Active
- 2014-03-12 KR KR1020167017132A patent/KR20160079922A/ko active Application Filing
- 2014-03-12 WO PCT/CN2014/073302 patent/WO2015135159A1/en active Application Filing
- 2014-03-12 EP EP14885129.8A patent/EP3117358B1/en active Active
- 2014-03-12 ES ES14885129T patent/ES2728099T3/es active Active
- 2014-03-12 CN CN201480049286.0A patent/CN105518692B/zh active Active
- 2014-09-24 US US14/495,733 patent/US9614923B2/en active Active
- 2014-10-01 US US14/504,311 patent/US9313289B2/en active Active
- 2014-10-01 US US14/504,304 patent/US9444902B2/en active Active
- 2014-10-01 US US14/504,315 patent/US9565263B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6681364B1 (en) * | 1999-09-24 | 2004-01-20 | International Business Machines Corporation | Cyclic redundancy check for partitioned frames |
US20140039804A1 (en) * | 2010-09-30 | 2014-02-06 | Fitbit, Inc. | Methods, Systems and Devices for Activity Tracking Device Data Synchronization With Computing Devices |
CN102510302A (zh) * | 2011-12-15 | 2012-06-20 | 重庆大学 | 跳绳过程数据格式集及其基于蓝牙低功耗技术的传输方法 |
CN102805887A (zh) * | 2012-04-11 | 2012-12-05 | 郑攀 | 用于贴覆式胰岛素泵系统的无线通信系统 |
CN103607341A (zh) * | 2013-10-29 | 2014-02-26 | 福州瑞芯微电子有限公司 | 基于即时通讯方式的终端控制方法及系统 |
Non-Patent Citations (1)
Title |
---|
镇咸舜: "蓝牙低功耗技术的研究与实现", 《 中国优秀硕士学位论文全文数据库信息科技辑》 * |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106911666A (zh) * | 2017-01-04 | 2017-06-30 | 青岛海信移动通信技术股份有限公司 | 一种可穿戴智能设备及其消息处理方法、系统 |
CN110785986A (zh) * | 2017-08-09 | 2020-02-11 | 欧姆龙健康医疗事业株式会社 | 数据发送装置 |
US11122015B2 (en) | 2017-08-09 | 2021-09-14 | Omron Healthcare Co., Ltd. | Data transmitting apparatus |
CN109491357A (zh) * | 2017-09-13 | 2019-03-19 | 现代自动车株式会社 | 在多个控制器上执行诊断操作的设备以及相关方法和车辆 |
CN109491357B (zh) * | 2017-09-13 | 2022-05-13 | 现代自动车株式会社 | 在多个控制器上执行诊断操作的设备以及相关方法和车辆 |
CN108389241A (zh) * | 2018-03-01 | 2018-08-10 | 网易(杭州)网络有限公司 | 游戏场景中生成贴图的方法、装置和系统 |
CN112073954A (zh) * | 2019-06-10 | 2020-12-11 | 海信视像科技股份有限公司 | 显示设备及扫描外部蓝牙设备的方法 |
WO2020248924A1 (zh) * | 2019-06-10 | 2020-12-17 | 海信视像科技股份有限公司 | 显示设备及扫描外部蓝牙设备的方法 |
CN112073955A (zh) * | 2019-06-10 | 2020-12-11 | 海信视像科技股份有限公司 | 显示设备及蓝牙设备扫描方法 |
CN112073955B (zh) * | 2019-06-10 | 2022-03-15 | 海信视像科技股份有限公司 | 显示设备及蓝牙设备扫描方法 |
CN112073954B (zh) * | 2019-06-10 | 2022-03-15 | 海信视像科技股份有限公司 | 显示设备及扫描外部蓝牙设备的方法 |
CN110913380A (zh) * | 2019-12-19 | 2020-03-24 | 飞天诚信科技股份有限公司 | 一种基于小程序平台与蓝牙设备进行通信的方法及装置 |
CN110913380B (zh) * | 2019-12-19 | 2023-09-22 | 飞天诚信科技股份有限公司 | 一种基于小程序平台与蓝牙设备进行通信的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
US20150264147A1 (en) | 2015-09-17 |
EP3117358A1 (en) | 2017-01-18 |
US9565263B2 (en) | 2017-02-07 |
ES2728099T3 (es) | 2019-10-22 |
JP6242495B2 (ja) | 2017-12-06 |
EP3117358A4 (en) | 2017-11-29 |
WO2015135159A1 (en) | 2015-09-17 |
JP2017516324A (ja) | 2017-06-15 |
KR20160079922A (ko) | 2016-07-06 |
US9444902B2 (en) | 2016-09-13 |
EP3117358B1 (en) | 2019-03-06 |
US9614923B2 (en) | 2017-04-04 |
US9313289B2 (en) | 2016-04-12 |
KR20170139694A (ko) | 2017-12-19 |
CN105518692B (zh) | 2021-07-27 |
US20150264730A1 (en) | 2015-09-17 |
KR101882885B1 (ko) | 2018-07-27 |
US20150264731A1 (en) | 2015-09-17 |
US20150264543A1 (en) | 2015-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105518692A (zh) | 用于经由社交网络平台控制外围设备的方法和装置 | |
CN105659521B (zh) | 用于通过社交网络平台来控制外围设备的方法和设备 | |
CN105917626B (zh) | 通过社交网络平台控制外围设备的方法和装置 | |
CN106171038B (zh) | 通过蓝牙协议将外围设备连接到用户设备的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |