CN105659521B - 用于通过社交网络平台来控制外围设备的方法和设备 - Google Patents
用于通过社交网络平台来控制外围设备的方法和设备 Download PDFInfo
- Publication number
- CN105659521B CN105659521B CN201480047179.4A CN201480047179A CN105659521B CN 105659521 B CN105659521 B CN 105659521B CN 201480047179 A CN201480047179 A CN 201480047179A CN 105659521 B CN105659521 B CN 105659521B
- Authority
- CN
- China
- Prior art keywords
- peripheral equipment
- user
- equipment
- message
- peripheral
- 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.)
- Active
Links
- 230000002093 peripheral effect Effects 0.000 title claims abstract description 1140
- 238000000034 method Methods 0.000 title claims abstract description 188
- 230000004044 response Effects 0.000 claims abstract description 161
- 230000006855 networking Effects 0.000 claims abstract description 97
- 230000006854 communication Effects 0.000 claims description 479
- 238000004891 communication Methods 0.000 claims description 477
- 238000013519 translation Methods 0.000 claims description 46
- 230000008569 process Effects 0.000 description 84
- 230000006870 function Effects 0.000 description 70
- 235000008429 bread Nutrition 0.000 description 57
- 230000005540 biological transmission Effects 0.000 description 42
- 238000003860 storage Methods 0.000 description 30
- 238000012545 processing Methods 0.000 description 21
- 230000036772 blood pressure Effects 0.000 description 19
- 210000000707 wrist Anatomy 0.000 description 19
- 238000010586 diagram Methods 0.000 description 18
- 238000005265 energy consumption Methods 0.000 description 17
- 230000003993 interaction Effects 0.000 description 17
- 230000036541 health Effects 0.000 description 15
- 238000012544 monitoring process Methods 0.000 description 15
- 238000012546 transfer Methods 0.000 description 15
- 230000000694 effects Effects 0.000 description 14
- 241000958526 Cuon alpinus Species 0.000 description 13
- 238000012790 confirmation Methods 0.000 description 10
- 230000001419 dependent effect Effects 0.000 description 10
- 230000008859 change Effects 0.000 description 9
- 239000000047 product Substances 0.000 description 9
- 230000018109 developmental process Effects 0.000 description 8
- 230000001052 transient effect Effects 0.000 description 8
- 238000013461 design Methods 0.000 description 7
- 238000001514 detection method Methods 0.000 description 7
- 238000011161 development Methods 0.000 description 7
- 230000004913 activation Effects 0.000 description 5
- 230000000977 initiatory effect Effects 0.000 description 5
- 238000012806 monitoring device Methods 0.000 description 5
- 238000004378 air conditioning Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 230000005611 electricity Effects 0.000 description 4
- 238000005286 illumination Methods 0.000 description 4
- 230000033001 locomotion Effects 0.000 description 4
- 238000002360 preparation method Methods 0.000 description 4
- 230000001235 sensitizing effect Effects 0.000 description 4
- 239000007787 solid Substances 0.000 description 4
- 230000000007 visual effect Effects 0.000 description 4
- 244000283207 Indigofera tinctoria Species 0.000 description 3
- 230000009471 action Effects 0.000 description 3
- 230000036760 body temperature Effects 0.000 description 3
- 238000002405 diagnostic procedure Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000003825 pressing Methods 0.000 description 3
- 241001269238 Data Species 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 2
- 239000012190 activator Substances 0.000 description 2
- 238000000429 assembly Methods 0.000 description 2
- 235000012791 bagels Nutrition 0.000 description 2
- 238000009530 blood pressure measurement Methods 0.000 description 2
- 235000021152 breakfast Nutrition 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 210000004247 hand Anatomy 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 235000015927 pasta Nutrition 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 2
- 235000017166 Bambusa arundinacea Nutrition 0.000 description 1
- 235000017491 Bambusa tulda Nutrition 0.000 description 1
- 241001513371 Knautia arvensis Species 0.000 description 1
- 235000010627 Phaseolus vulgaris Nutrition 0.000 description 1
- 244000046052 Phaseolus vulgaris Species 0.000 description 1
- 244000082204 Phyllostachys viridis Species 0.000 description 1
- 235000015334 Phyllostachys viridis Nutrition 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 239000011425 bamboo Substances 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 235000011869 dried fruits Nutrition 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000009940 knitting Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- APTZNLHMIGJTEW-UHFFFAOYSA-N pyraflufen-ethyl Chemical compound C1=C(Cl)C(OCC(=O)OCC)=CC(C=2C(=C(OC(F)F)N(C)N=2)Cl)=C1F APTZNLHMIGJTEW-UHFFFAOYSA-N 0.000 description 1
- 238000012797 qualification Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000008672 reprogramming Effects 0.000 description 1
- 230000003997 social interaction Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 238000002604 ultrasonography Methods 0.000 description 1
- 235000013618 yogurt Nutrition 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1073—Registration or de-registration
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/01—Social networking
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (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)
Abstract
一种用于通过社交网络平台来控制外围设备的方法和设备,包括用于将外围设备注册到社交网络平台上的方法和设备,所述用于将外围设备注册到社交网络平台上的方法和设备包括:在具有一个或多个处理器和存储器的用户设备处:在所述用户设备上运行所述社交网络平台的社交网络客户端应用;通过所述社交网络客户端应用对标识外围设备的输入加以接收;以及响应于对所述标识外围设备的输入的接收:发送用以建立所述外围设备的社交网络身份的请求;以及当成功建立所述外围设备的所述社交网络身份时,在所述社交网络客户端应用的用户界面中将所述外围设备呈现为用户账户的社交网络联系人。
Description
技术领域
本发明涉及互联网技术领域,并且特别涉及一种用于通过社交网络平台来控制外围设备的方法和设备。
背景技术
随着互联网的发展,人们越来越依赖于各种电子设备来完成日常生活中的各种事务。诸如智能手表、健康监测器、音乐播放器、气候控制器、智能咖啡机、车辆充电站、导航系统、运动设备、机顶盒之类的很多重量轻且简单的设备和小装置正在不断接管较复杂的重型设备和系统以及通用计算设备(例如,一般的台式计算机和便携式计算机)的功能。
很多电子设备和小装置具有智能芯片和内部逻辑,使得这些电子设备和小装置能够受控于设置在该设备上的软件驱动的用户界面。随着诸如智能手机和平板设备之类的移动网络使能(mobile network-enabled)的设备的发展,人们能够在不受位置限制的情况下执行更多任务。很多电子设备和小装置可变为主用户设备(例如,智能手机或平板设备)的外围设备并经由安装在该主用户设备上的相应专用软件(例如,用于每个外围设备的专用应用app)进行控制。
在这些重量轻且专用的设备和小装置的繁荣市场中,不同制造商提供了相似的产品,这些相似的产品针对用户界面和控制具有各制造商自身的设计。当前,对于产品设计以及不同制造商的不同类型的产品和/或相似产品之间所共享的通信和信息,不存在统一的标准。因此,对用户而言,探索和学习其所购买的不同产品的不同用户界面和功能颇具挑战。对用户而言,更难的是,将在自己的小装置中创建或收集的信息分享给可能具有或不具有同一类型设备的其他用户。
如今,很多用户都是一个或更多社交网络平台的积极参与者。在社交网络联系人与不同社交网络群组或在线社区中的个人之间,社交网络平台使用即时消息、消息板、一对一聊天或群聊提供了连接个人的手段。用户经由安装在自己的设备(例如,智能手机或平板设备)上的社交网络客户端应用来访问自己的社交网络账户。社交网络客户端应用的用户已经习惯于对在社交网络平台上建立联系人以及发送和阅读消息的控制。迄今为止,社交网络客户端应用的功能限于人类用户之间的沟通。诸如内置摄像头或麦克风之类的外围设备在社交网络客户端应用中可被用作采集用户输入(例如,声音或图像输入)的装置,用户输入形成了待递送至另一用户的消息的内容,但是由于开发复杂性、成本以及不同外围设备间巨大的设计变化等原因,对于社交网络客户端应用的提供商而言,扩展对控制其他类型的外围设备的支持是不实际的。
发明内容
本发明描述了一种用于通过社交网络平台来控制外围设备的方法和设备。如在背景技术中所指说明的那样,社交网络在当今世界中变得越来越普遍。很多人已经非常熟悉针对一个或多个社交网络平台的社交网络客户端应用的操作和控制。通过在社交网络平台上发送和接收的社交网络消息(例如,用自然语言编写的即时消息)使能对外围设备的访问和控制,有助于避免用户学习不同外围设备的很多专用用户界面,并且使得与外围设备的通信更加自然和直观。此外,可为不同制造商制造的外围设备提供简单的统一用户界面控制,从而使得用户能够容易地在不同制造商的和不同设备类型的外围设备间分享信息。
在本发明中,各种实施例示出了经由社交网络平台提供对外围设备的访问和控制所涉及的各方之间的相关关系,所述各方包括:制造商的服务器或外围设备的支持服务提供商、社交网络平台的服务器、用户设备、用户、以及通过社交网络平台所要控制的外围设备。此外,公开了通信场景、用户界面、处理流程以及社交网络平台所涉及的各方之间的设备发现和通信协议。外围设备的制造商可遵守社交网络平台为进行设备注册、设备发现、指令的传递和响应、信息呈现等所建立的协议,以共享负载从而提供来自社交网络平台的服务器和在主用户设备上运行的社交网络客户端应用的必要后台支持和服务。
在某些实施例中,一种用于在社交网络平台上注册外围设备的方法包括:在具有一个或多个处理器和存储器的用户设备处:在所述用户设备上运行所述社交网络平台的社交网络客户端应用;通过所述社交网络客户端应用对标识外围设备的输入加以接收;以及响应于对所述标识外围设备的输入的接收:发送用以建立所述外围设备的社交网络身份的请求;以及当成功建立所述外围设备的所述社交网络身份时,在所述社交网络客户端应用的用户界面中将所述外围设备呈现为用户账户的社交网络联系人。在某些实施例中,接收所述标识外围设备的输入进一步包括:经由条形码扫描器来扫描与外围设备相关联的条形码。
在某些实施例中,一种用于在社交网络平台上注册外围设备的方法包括:在具有一个或多个处理器和存储器的用户设备处:在所述用户设备上运行所述社交网络平台的社交网络客户端应用;通过所述社交网络客户端应用对标识相应类型外围设备的支持服务提供商的输入加以接收;以及响应于对标识相应类型外围设备的支持服务提供商的所述输入的接收:将所述支持服务提供商的公共社交网络身份注册为当前与所述用户设备相关联的用户账户的联系人;以及在所述用户设备的周边区域内进行搜索以定位所述相应类型外围设备中的外围设备。在某些实施例中,对标识相应类型外围设备的支持服务提供商的输入加以接收进一步包括:经由条形码扫描器来扫描与所述相应类型外围设备的所述支持服务提供商相关联的条形码。
在某些实施例中,一种用于在社交网络平台上通过支持服务提供商来提供对外围设备的访问和控制的方法包括:在所述社交网络平台的服务器处:从所述支持服务提供商接收服务商注册请求,所述服务商注册请求指定所述支持服务提供商所要服务的外围设备的类型;基于所述注册请求来建立所述支持服务提供商的公共社交网络身份;从第一用户接收第一所有者注册请求,所述第一所有者注册请求指定受所述第一用户控制的第一外围设备;当确定所述第一外围设备为所述服务商注册请求中指定的所述类型的外围设备时,在所述支持服务提供商的公共社交网络身份与所述第一用户之间建立社交网络关系;在所述第一用户的相应社交网络身份与所述支持服务提供商的公共联系身份(public contactidentity)之间的聊天会话的对话界面中,将针对所述第一外围设备的第一相应通信消息和源自所述第一外围设备的第二相应通信消息提供为相应即时消息。
在某些实施例中,一种用于在社交网络平台上通过支持服务提供商来提供对外围设备的访问和控制的方法包括:在所述社交网络平台的服务器处:将耦接至第一用户设备的外围设备注册为与所述第一用户设备相关联的用户账户的相应社交网络联系人;以及经由在所述第一用户设备上运行的社交网络客户端应用来提供对所述外围设备的用户访问,其中,所述社交网络客户端应用将所述外围设备识别为与所述第一用户设备相关联的用户账户的相应社交网络联系人。
在某些实施例中,一种用于在社交网络平台上通过支持服务提供商来提供对外围设备的访问和控制的方法包括:在所述社交网络平台的服务器处:从所述支持服务提供商接收服务商注册请求,所述服务商注册请求指定所述支持服务提供商所要服务的外围设备的类型;基于所述服务商注册请求来建立所述支持服务提供商的公共社交网络身份;从第一用户接收第一所有者注册请求,所述第一所有者注册请求指定受所述第一用户控制的第一外围设备;当确定所述第一外围设备为所述服务商注册请求中指定的所述类型的外围设备时:在所述社交网络平台上为所述第一外围设备创建相应社交网络身份;以及在所述支持服务提供商的所述公共社交网络身份、所述第一用户以及所述第一外围设备的所述相应社交网络身份之间建立社交网络关系。在某些实施例中,所述方法还包括:在所述支持服务提供商的所述公共社交网络身份、所述第一用户以及所述第一外围设备的所述相应社交网络身份之间建立相应群聊会话。
在某些实施例中,一种用于在社交网络平台上提供外围设备之间的通信的方法包括:在所述社交网络平台的服务器处:将与第一用户设备耦接的第一外围设备和第二外围设备注册为与所述第一用户设备相关联的用户账户;经由在所述第一用户设备处运行的社交网络客户端应用来使能所述第一外围设备与所述第二外围设备之间的通信;以及在所述社交网络客户端应用的群聊界面中,呈现所述用户账户的用户与代表所述第一和第二外围设备的所述相应社交网络联系人之间的群组对话,其中,所述群组对话包括对应于所述第一外围设备与所述第二外围设备之间的通信的内容的一个或多个即时消息。
在某些实施例中,一种用于通过蓝牙协议将外围设备连接至用户设备的方法包括:发起广播过程,包括:广播设备发现消息,所述设备发现消息包括指定给与在所述用户设备上运行的社交网络应用相关联的社交网络服务的预定标识符;从所述用户设备接收对应于所述设备发现消息的连接请求;以及响应于对来自所述用户设备的所述连接请求的接收,建立到达所述用户设备的蓝牙连接。在某些实施例中,所述方法还包括:在所述广播过程中:在初始广播周期中的一系列第一传输时隙的每个第一传输时隙内,广播所述设备发现消息;以及如果在所述初始广播周期中未接收到响应所述设备发现消息的连接请求,在所述初始广播周期之后的后续广播周期中的一系列第二传输时隙的每个第二传输时隙内,广播所述设备发现消息,其中,每个第一传输时隙短于每个第二传输时隙。
在某些实施例中,一种用于通过蓝牙协议将外围设备连接至用户设备的方法包括:在所述用户设备处:发起设备扫描过程,包括:检测来自所述外围设备的设备发现消息,以及确定所述设备发现消息是否包括指定给与在所述用户设备上运行的社交网络应用相关联的社交网络服务的预定标识符;以及当确定所述设备发现消息包括指定给与在所述用户设备上运行的社交网络应用相关联的社交网络服务的预定标识符时,向所述外围设备发送对应于所述设备发现消息的连接请求;以及建立到达所述外围设备的蓝牙连接。
在某些实施例中,一种用于通过蓝牙低能量连接(Bluetooth Low Energyconnection)在外围设备与用户设备之间发送数据的方法,包括:在所述外围设备处:使用仿真数据流来发送数据到所述用户设备,所述发送包括:识别用于写入数据的第一蓝牙蓝牙特征,所述第一蓝牙特征在当前连接事件中已被所述外围设备暴露给所述用户设备;将待发送到所述用户设备的数据包划分成一系列数据帧与0或1个剩余部分,每个数据帧具有等于所识别的第一蓝牙特征的预定数据尺寸的相应尺寸,以及所述剩余部分具有较所识别的第一蓝牙特征的所述预定数据尺寸小的相应尺寸;以及对于所述一系列数据帧中的每个数据帧:将所述数据帧写入所识别的第一蓝牙特征的相应值;以及推送所识别的第一蓝牙特征以供所述用户设备读取。在某些实施例中,所要求保护的方法还包括:填充所述剩余部分以得到经填充剩余部分,该经填充剩余部分具有等于所识别的第一蓝牙特征的所述预定尺寸的相应尺寸;将所述经填充剩余部分写入所识别的第一蓝牙特征的所述相应值;以及推送所识别的第一蓝牙特征以供所述用户设备读取。在某些实施例中,推送所识别的第一蓝牙特征以供所述用户设备读取进一步包括:通过指示操作来请求所述用户设备读取所识别的第一蓝牙特征的更新值。在某些实施例中,所述方法还包括:对于所述一系列数据帧中的每个数据帧:从所述用户设备接收对所识别的第一蓝牙特征进行读取的相应确认,其中,响应于对所述相应确认的接收来写入和推送所述一系列数据帧中的下一数据帧直到所述数据包中没有数据帧或剩余部分要发送为止。
在某些实施例中,一种用于通过蓝牙低能量协议在外围设备与用户设备之间发送数据的方法,包括:在所述用户设备处:使用仿真数据流来发送数据到所述外围设备,所述发送包括:识别用于发送数据到所述外围设备的第一蓝牙蓝牙特征,所述第一蓝牙特征在当前连接事件中已被所述外围设备暴露给所述用户设备;将待发送到所述外围设备的第一数据包划分成一系列数据帧与0或1个剩余部分,每个数据帧具有等于所识别的第一蓝牙特征的预定数据尺寸的相应尺寸,以及所述剩余部分具有较所识别的第一蓝牙特征的所述预定数据尺寸小的相应尺寸;以及对于所述一系列数据帧中的每个数据帧:发送相应写入请求以将所述数据帧写入所识别的第一蓝牙特征的相应值。在某些实施例中,该方法还包括:填充所述剩余部分以得到经填充剩余部分,该经填充剩余部分具有等于所识别的第一蓝牙特征的预定数据尺寸的相应尺寸;以及发送相应写入请求以将经填充剩余部分写入所识别的第一蓝牙特征的相应值。
在某些实施例中,一种在社交网络平台上与外围设备通信的方法,包括:在包括所述外围设备的一类外围设备的支持服务提供商的服务器处:将所述社交网络平台的服务器注册为所述外围设备的支持服务提供商;发起通信事件以发送指令到所述外围设备,发送所述通信事件包括:生成用于所述指令的推送请求数据包,其中,所述推送请求数据包将所述外围设备标识为所述指令的目标(target);以及通过所述社交网络平台的所述服务器和耦接至所述外围设备的用户设备将所述推送请求数据包发送到所述外围设备。在某些实施例中,该方法还包括:通过耦合至所述外围设备的用户设备和所述社交网络平台的服务器从所述外围设备接收请求数据包;以及响应于对来自所述外围设备的所述请求数据包的接收,通过所述社交网络平台的所述服务器和耦接至所述外围设备的所述用户设备将响应数据包发送到所述外围设备。
在某些实施例中,一种在社交网络平台上与外围设备通信的方法,包括:在所述社交网络平台的服务器处:将所述外围设备注册为耦接至该外围设备的用户设备的关联外围设备;从包括所述外围设备的一类外围设备的支持服务提供商接收第一推动请求数据包,其中,所述第一请求数据包将所述外围设备标识为所述第一推送请求数据包的目标;以及响应于对所述第一推送请求数据包的接收,通过耦接至所述外围设备的用户设备将所述第一推送请求数据包转发至所述外围设备。
在某些实施例中,一种在社交网络平台上与外围设备通信的方法,包括:在耦接至所述外围设备的用户设备处:将所述外围设备注册为所述用户设备的、与所述社交网络平台的服务器相关联的外围设备;从所述社交网络平台的服务器接收推送请求数据包,其中,所述推送请求数据包将外围设备标识为所述推送请求数据包的目标;以及将所述推送请求数据包转发至所述外围设备。
在某些实施例中,一种电子设备(例如,支持服务提供商的服务器、社交网络平台的服务器、外围设备或用户设备)包括一个或多个处理器以及存储有供所述一个或多个处理器执行的一个或多个程序的存储器,所述一个或多个程序包括执行上述方法的操作的指令。在某些实施例中,一种非瞬时性计算机可读存储介质存储有一个或多个程序,所述一个或多个程序包括指令,当这些指令被每个具有一个或多个处理器的电子设备(例如,支持服务提供商的服务器、社交网络平台的服务器、外围设备或用户设备)执行时,使得该电子设备执行上述方法的操作。
在某些实施例中,正如本领域技术人员所清楚的那样,一个设备(例如,用户设备)所执行的操作可补充或对应于另一设备(例如,服务器)所执行的操作并且可受控于从其他设备接收到的指令或者引起其他设备的动作。此外,一个设备执行上述方法所需的数据和信息可有另一设备提供。在本发明的各处,当提供对一个设备的功能的描述时,出于简洁的目的,省略了对另一设备的至少某些明显对应动作的描述;然而,这些被省略的描述对本领域普通技术人员而言是明显的并且不要求本领域普通技术人员付出创造性劳动。
上述方法的各种操作可以由能够执行相应功能的任何适当模块来执行。这些模块包括各种硬件和/或软件组件和/或单元,包括但不限于电路、专用集成电路(ASIC)或处理器。
在某些实施例中,一种用于在社交网络平台上注册外围设备的用户设备,所述用户设备包括:用于在所述用户设备上运行所述社交网络平台的社交网络客户端应用的模块;用于通过所述社交网络客户端应用对标识外围设备的输入加以接收的模块;用于发送用以建立所述外围设备的社交网络身份的请求的模块;以及用于当成功建立所述外围设备的所述社交网络身份时,在所述社交网络客户端应用的用户界面中将所述外围设备呈现为用户账户的社交网络联系人的模块。
在某些实施例中,一种用于在社交网络平台上注册外围设备的用户设备,所述用户设备包括:用于在所述用户设备上运行所述社交网络平台的社交网络客户端应用的模块;用于通过所述社交网络客户端应用对标识相应类型外围设备的支持服务提供商的输入加以接收的模块;以及用于将所述支持服务提供商的公共社交网络身份注册为当前与所述用户设备相关联的用户账户的联系人的模块;以及用于在所述用户设备的周边区域内进行搜索以定位所述相应类型外围设备中的外围设备的模块。
借助于以下描述,本发明的各种优点将变得清楚。
附图说明
图1A是按照某些实施例用于传统社交网络平台的示例性操作环境的框图;
图1B为根据某些实施例支持通过社交网络平台对外围设备进行访问和控制的社交网络平台的示例性操作环境的框图;
图2A-2H是根据某些实施例用于经由社交网络客户端应用来建立对外围设备的访问和控制的示例性用户界面;
图2I示出了根据某些实施例设备制造商从社交网络平台的提供商得到支持服务账户的简化过程;
图2J示出了根据某些实施例用户设备得到所支持的外围设备的社交网络身份的简化流程;
图2K-2T示出了各种通信场景中的消息转译和消息流,这些通信场景涉及根据某些实施例通过社交网络平台对外围设备进行访问和控制;
图3A-3C是根据某些实施例的示例性过程的流程图,示例性过程用于在社交网络平台上建立对外围设备的访问和控制;
图3D-3E是根据某些实施例的示例性过程的流程图,示例性过程用于在社交网络平台上建立对外围设备的访问和控制;
图4A-4D是根据某些实施例的示例性过程的流程图,示例性过程用于在社交网络平台上通过支持服务提供商来提供对外围设备的访问和控制;
图5A-5C是根据某些实施例的示例性过程的流程图,示例性过程用于通过社交网络平台将外围设备控制为社交网络联系人;
图6A-6D为根据某些实施例的示例性过程的流程图,示例性过程用于通过将外围设备当作社交网络中的社交网络联系人对待来提供对外围设备的控制和访问;
图7A-7C是根据某些实施例的示例性过程的流程图,示例性过程用于在社交网络中提供外围设备之间的控制和反问;
图8是示出了根据某些实施例由外围设备和用户设备执行的示例性设备发现过程和后续的通信过程的时间要求(timing requirement);
图9A-9B是根据某些实施例由外围设备和用户设备实现的示例性数据传送过程的简化流程图;
图10A-10C的框图示出了根据某些实施例介于外围设备、用户设备、通信服务器以及支持服务器之间的示例性消息传输过程;
图11A-11B是某些实施例由外围设备执行的示例性蓝牙连接过程的流程图;
图12A-12B是根据某些实施例用于在外围设备与用户设备之间传输数据包的示例性过程的流程图;
图13A-13B是根据某些实施例用于在外围设备与用户设备之间传输数据包的示例性过程的流程图;
图14A-14B是根据某些实施例用于发送消息以通过社交网络平台访问和控制外围设备的示例性流程的流程图;
图15A-15B是根据某些实施例用于发送消息以通过社交网络平台访问和控制外围设备的示例性流程的流程图;
图16是根据某些实施例用于发送消息以通过社交网络平台访问和控制外围设备的示例性流程的流程图;
图17-20是根据某些实施例在社交网络平台中运行的各种设备和系统的框图。
图21-24是根据某些实施例在社交网络平台中运行的各种设备和系统的框图。
在附图的多个视图中相似的附图标记指代相对应的部分。
具体实施方式
社交网络平台提供了经由关系和/或共同兴趣来连接个人的网络体系结构和软件。在社交网络平台上,每个用户与相应的社交网络身份相关联,用户可通过该社交网络身份被社交网络平台中的其他用户所识别。在社交网络平台中,不同用户之间的关系可通过所涉及用户的相互协商来形成。当两个用户同意在彼此之间形成社交网络关系时,他们成为彼此的社交网络联系人。一组用户可能选择相互之间形成社交网络关系,从而形成社交网络群组。群组中的每个成员是该群组中每个其他成员的社交网络联系人。有时,用户或组织可能建立公共的社交网络身份,并且使得公众(例如,社交网络平台上的任一用户)能够在不需要相互协商交换的情况下,在社交网络平台上与该用户或组织通信。有时,用户可能选择订阅公共的社交网络身份的消息或发布(例如,“关注”公共的社交网络身份),从而成为所述公共的社交网络身份的社交网络联系人。公共的社交网络身份的所有者可将订阅其消息或发布的每个用户视为其在社交网络平台上的社交网络联系人之一。
社交网络平台上的每个用户和每个公共的社交网络身份具有相关联的社交网络联系人的列表(或通信录),每个公共的社交网络身份或每个用户可在社交网络平台上通过即时消息与它/他/她的社交网络联系人通信。例如,社交网络群组内的用户可使用社交网络平台的提供商所提供的软件界面来相互通信。此外,每个用户也可使用社交网络平台的提供商所提供的软件界面来与另一用户通信。
在某些实施例中,社交网络平台的提供商所提供的软件界面可以是网页界面或软件界面。例如,用户可登录社交网络平台的网页门户(web portal),并且通过该网页门户从社交网络平台的其他用户处接收消息或向其发送消息。可替换地,用户可在各自的用户设备(例如,计算机、智能手机、平板设备)上下载并安装社交网络客户端应用,并使用社交网络客户端应用所提供的界面与社交网络平台上的其他用户交互。所述消息可以为各种格式,例如,文本、图像、照片、语音、视频、表情符号等。
有时,社交网络平台使得用户能够发起与用户的一个或多个社交网络联系人的一对一聊天会话或群聊会话。在聊天会话中,参与聊天的每个用户可向参与该聊天的其他用户发送以及从参与该聊天的其他用户接收各种格式的即时消息(例如,文本、语音、图像等)。
图1A是按照某些实施例的用于传统社交网络平台的示例性操作环境100a的框图。
如图1A所示,社交网络平台提供商102a提供通信服务器112a。通信服务器112a经由一个或多个网络106提供社交网络服务(例如,用户注册、创建消息、传输消息、创建聊天会话、在线发布以及其他在线社交互动)至操作各自用户设备104(例如,用户设备104a-c)的大量用户。
在某些实施例中,每个用户通过使用在用户各自的用户设备104上运行的社交网络客户端应用108(例如,社交网络客户端应用108a-c)连接至通信服务器112a来与另一用户交互。通信服务器112a通过通信网络中用户各自的社交网络身份来识别这些用户,所述社交网络身份比如为用户名、昵称或账户标识符。通常,每个用户与一个或多个社交网络群组中的社交网络中的一个或多个其他用户的群组相关联。例如,用户可基于其与多个社交网络群组中每个社交网络群组中的其他成员的关系和/或共同兴趣来创建或加入不同的社交网络群组。在某些实施例中,社交网络平台的服务器维护有用户的不同特征(例如,真实姓名、联系信息、兴趣、社会经济地位、在线活动历史等)以及用户间的相互连接和群组成员资格(例如,群组列表和联系人列表)的知识库(例如,用户数据库110a)。
在某些实施例中,社交网络服务器向其用户提供一个或多个社交网络服务。用户可通过与通信服务器112a的社交网络客户端应用108(例如,社交网络客户端应用108a-c)上设置的用户界面进行交互来激活特定的服务。例如,用户可打开聊天程序,并通过发送文本或语音消息来发起与一个或多个社交联系人(用户的联系人列表或社交网络群组中的联系人)的一个或多个一对一或群聊会话。在某些实施例中,也可经由社交网络服务器所提供的社交网络平台将其他形式的消息(例如,图像、视频、链接、图标、动画等)从一个用户发送到一个或多个其他用户。
如图1A所示,每个用户可使用相应的社交网络客户端应用108(例如,社交网络客户端应用108a-c)与其他用户交互。在某些实施例中,社交网络客户端服务器向用户提供用户界面元素(例如,文本框、按钮、窗口、消息显示区等)以激活特定的社交网络服务,比如将内容发布到在线消息板上、发送文本或语音消息到特定的用户或特定群组的用户、发起与另一用户的语音或视频聊天会话、打开群聊会话等。
用户设备104的示例包括但不限于手持式计算机、可穿戴计算设备、个人数字助理(PDA)、平板计算机、便携式计算机、台式计算机、蜂窝电话、智能手机、增强通用封包无线电服务(EGPRS)移动电话、媒体播放器、导航设备、游戏机、电视机、或者这些数据处理设备或其他数据处理设备中任意两个或多个的组合。
一个或多个网络106的示例包括局域网(“LAN”)和诸如互联网的广域网(“WAN”)。一个或多个网络106可选地使用任何已知的网络协议来实现,这些已知的网络协议包括各种有线或无线协议,比如以太网、通用串行总线(USB)、FIREWIRE、全球移动通信系统(GSM)、增强型数据GSM环境(EDGE)、码分多址(CDMA)、时分多址(TDMA)、蓝牙、WiFi、网络电话(VoIP)、Wi-MAX,或者任何其他合适的通信协议。
通信服务器112a在一个或多个独立的数据处理装置或计算机的分布式网络上实现。在某些实施例中,通信服务器112a也利用各种虚拟设备和/或第三方服务提供商(例如,第三方云服务提供商)的服务以提供通信服务器112a的底层计算资源和/或基础资源。
在传统社交网络平台中,每个用户设备104可以可选地包括一个或多个内部外围设备模块或者经由有线或无线连接被连接至一个或多个外围设备(例如,导航系统、健康监测器、气候控制器、智能运动设备、蓝牙头戴式耳机、智能手表等)。在大多数情况下,这些外围设备中的每个外围设备受控于该外围设备的相应制造商所提供的相应软件应用,以及社交网络客户端应用108不与这些外围设备通信。有时,社交网络客户端应用的提供商在该社交网络客户端应用中实现操作用户设备的某些外围设备(例如,摄像头、扬声器、麦克风、触摸板、键盘、鼠标、触摸屏)的功能。但是,这些功能限于将这些外围设备用作获取用户输入(例如,图像、语音、文本、触摸、鼠标移动等)以控制客户端应用的操作(例如,在用户界面附近导航、激活用户界面中的控制、或者编写即时消息)或者递送客户端应用的输出(例如,语音、声音、用户界面等)到用户的装置。在这些传统系统中,用户与外围设备之间不存在通过社交网络平台的直接通信。由于开发复杂性、成本以及不同外围设备间巨大的设计变化等原因,对于社交网络客户端应用的提供商而言,扩展对控制其他类型的外围设备的支持也是不实际的。
随着人们越来越依赖于各种电子设备(例如,智能手表、健康监测器、音乐播放器、气候控制器、智能咖啡机、充电站、导航系统、运动设备、机顶盒等)来完成日常生活中的各种事务,他们也受累于为了控制不同类型的外围设备不得不掌握的各种用户界面(例如,不同外围设备的制造商所专门设计的专用软件应用的不同用户界面)。此外,不同制造商所设计的同一类型的外围设备由于通信协议以及不同制造商所制成的外围设备的数据格式的不同,可能无法相互分享信息。因此,对用户而言,探索和学习其所购买的不同产品的不同用户界面和功能颇具挑战。对用户而言,更难的是,将在自己的小装置中创建或收集的信息分享给可能具有或不具有同一类型设备的其他用户。
本发明描述了一种用于通过社交网络平台来控制外围设备的方法和设备。如在背景技术中所指说明的那样,社交网络在当今世界中变得越来越普遍。很多人已经非常熟悉针对一个或多个社交网络平台的社交网络客户端应用的操作和控制。通过在社交网络平台上发送和接收的社交网络消息(例如,用自然语言编写的即时消息)使能对外围设备的访问和控制,有助于避免用户学习不同外围设备的很多专用用户界面,并且使得与外围设备的通信更加自然和直观。此外,可为不同制造商制造的外围设备提供简单的统一用户界面控制,从而使得用户能够容易地在不同制造商的和不同设备类型的外围设备间分享信息。此外,在某些实施例中,每个设备制造商可采用由社交网络平台提供商所建立的通信协议(例如,包括用于以下各项的协议:设备注册、设备发现、指令的传递和响应、信息呈现、将来自外围设备的编码指令和由外围设备发出的编码响应转译(translate)为人可读形式的消息等)。因此,外围设备可依赖社交网络平台的通信服务器和连接至该通信服务器的用户设备从用户设备的外围设备转发被编码为制造商专用格式的指令和消息以及将被编码为制造商专用格式的指令和消息转发到用户设备的外围设备。此外,在某些实施例中,编码指令和消息可被封装在根据通信服务器所建立的通信协议而格式化的消息中,因此,通信服务器不需要针对每种类型的外围设备单独实现翻译编码指令消息的逻辑和功能。开发外围设备的支持能力的负担因此被转移至不同类型外围设备的制造商。这样,用户享受了通过社交网络客户端应用的熟悉用户界面来控制不同类型外围设备的简单、统一、熟悉的方法。此外,社交网络平台的提供商不需要花费特别大量的资源来扩展该社交网络平台所支持的外围设备的类型。
在本发明中,各种实施例示出了经由社交网络平台提供对外围设备的访问和控制所涉及的各方之间的相关关系,所述各方包括:制造商的服务器或外围设备的支持服务提供商(例如,也被称为“支持服务器”)、社交网络平台的服务器(例如,也被称为“通信服务器”)、用户设备(例如,运行社交网络客户端应用并且被用来与通信服务器通信的主用户设备)、用户、以及通过社交网络平台所要控制的外围设备(例如,通过主用户设备来与其他设备通信的设备,该设备已经与所述主用户设备建立通信连接)。
正如本发明的各种使用情况场景所示出的那样,通过社交网络平台提供对外围设备的方便、有趣和交互性控制可有助于增进用户体验、缩短软件开发以及支持外围设备制造商。如本文所述,在某些实施例中,用于通过社交网络平台(比如,博客平台、在线论坛平台、消息板平台、微博平台、即时消息平台、在线聊天室平台以及上述平台中一个或更多平台的混合)来提供对外围设备的访问和控制的方法使得之前不可能得到的大量机会能够被用户和外围设备制造商所获得。
图1B为根据某些实施例支持通过社交网络平台对外围设备进行访问和控制的社交网络平台的示例性操作环境100b的框图。
如图1B所示,社交网络平台提供商102b提供通信服务器112b。社交网络平台提供商102b和通信服务器112b能够实现传统社交网络平台提供商(例如,社交网络平台提供商102a)和传统通信服务器(例如,通信服务器112a)所能实现的所有传统功能。此外,社交网络平台提供商102b也实施通信服务器112b以使得能够根据本文所述的方法来访问和控制外围设备(例如,外围设备118)。
如图1B所示,社交网络平台的每个用户通过在相应用户设备104(例如,用户设备104a-c)上运行的相应社交网络客户端应用108(例如,社交网络客户端应用108c-e)与通信服务器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,以使得外围设备的网络身份类似于人类用户或支持服务器的网络身份,例如,所述用户数据库110b包含相应联系人列表、登录状态、通信历史等。
如图1B所示,通信服务器112b还与一个或多个相应外围设备制造商或支持服务提供商(例如,外围设欸制造商114a-b)所提供的一个或多个支持服务器116(例如,支持服务器116a-c)通信。在某些实施例中,支持服务提供商中的每一个根据社交网络平台提供商102b所建立的协议标准来实施支持服务器116,以使得用于访问和控制其相应类型外围设备的编码指令可通过社交网络平台(例如,经由通信服务器112b,以及在用户设备104a-c上运行的社交网络客户端应用108c-e)被发送到外围设备(例如,外围设备118a-c)。
在某些实施例中,通信服务器112b和社交网络客户端应用108c-e不对编码指令进行翻译(interpretation)或转译(translation),以及编码指令的解码在该编码指令的目标处(例如,在外围设备处)进行。相应地,在某些实施例中,在用户设备104上运行的社交网络客户端应用(例如,应用108c-e)可根据社交网络平台提供商102b所建立的协议标准来实施,以使得用于外围设备118a-c的编码消息可通过社交网络平台(例如,包括通过通信服务器112b)被发送到其相应的支持服务器(例如,支持服务器116a-c)。在某些实施例中,通信服务器112b和社交网络客户端应用108c-e不对编码消息进行翻译或转译,以及编码消息的解码在该编码消息的目标处(例如,在支持服务器116a-c处)进行。
在某些实施例中,发送编码指令和接收编码消息的支持服务器116可选地生成人可读形式的对应即时消息(例如,文本、表格、图像、图形、声音和/或语音形式的即时消息),并经由通信服务器112b将即时消息发送给一个或多个用户(例如,外围设备的所有者或者所有者与其共享外围设备的信息或控制的其他用户)。在某些实施例中,人可读消息在社交网络客户端应用108c-e的用户界面中被呈现为从支持服务器的社交网络身份发送到人类所有者和/或外围设备的社交网络身份的即时消息。相似地,在某些实施例中,这些人可读消息在社交网络客户端应用108c-e的用户界面中被呈现为从外围设备的社交网络身份发送到支持服务器和/或人类所有者的社交网络身份的即时消息。
在某些实施例中,针对不涉及支持服务器的通信,通信服务器112b可选地实施对编码指令和编码消息的转译。例如,通信服务器112b可选地将源自人类用户并针对已注册外围设备(例如,经由一个或多个即时消息或者对设置在社交网络客户端应用108c-e中的一个或多个用户界面控件的选择而提交的指令)的指令转译成该外围设备所理解对应编码指令,从而实现人类用户经由社交网络平台对外围设备的访问和控制。此外,通信服务器112b可选地将源自已注册外围设备并针对人类用户的编码消息转译成人可读形式(例如,发往用户的一个或多个即时消息)。
可在社交网络平台上实现的通信,在支持服务器参与或不参与的情况下,可介于外围设备及其人类所有者之间;在外围设备的人类所有者参与或不参与的情况下,可介于外围设备及其支持服务器之间;在外围设备参与或不参与的情况下,可介于外围设备的人类所有者与外围设备的支持服务器之间;在不同用户的相应外围设备参与或不参与的情况下并且所述不同用户的相应外围设备的支持服务器参与或不参与的情况下,可介于所述不同用户之间;在两个或多个外围设备的相应人类所有者参与或不参与的情况下和/或所述两个或多个外围设备的相应支持服务器参与或不参与的情况下,可介于所述两个或多个外围设备之间;在其他用户参与或不参与的情况下和/或所述其他用户的外围设备的支持服务器参与或不参与的情况下,可介于一个用户与所述其他用户的外围设备之间。根据本文所提供的各种示例,其他通信配置是可能并且明显的。
在对本文所述的实施例的不同方面进行详述之前,首先给出简单的示例性使用场景。在示例性使用场景中,首先进行示例性绑定过程以将外围设备绑定到运行社交网络客户端应用的用户设备,并且将外围设备绑定到当前操作社交网络客户端应用的相应用户账户。
在示例性设备绑定过程期间,用户在用户设备(例如,智能电话、平板设备或便携式计算机)上启用社交网络客户端应用(例如,执行本文中所述方法的即时通讯客户端应用)。用户通过社交网络客户端应用的登录界面来登录他/她在社交网络平台的通信服务器出的用户账户。用户设备与通信服务器之间的后续通信将在用户的用户账户下进行。在社交网络客户端应用的用户界面中设置有(例如,经由用户设备的摄像头)可扫描条形码的条形码扫描器界面。在某些实施例中,外围设备的制造商在外围设备上提供有2D条形码,并且2D条形码包括社交网络平台的通信服务器唯一识别外围设备或外围设备的制造商所需的必要信息,比如,制造商的URL和/或外围设备的设备ID。一旦用户同意进行绑定过程并且条形码信息被从用户设备以用户的用户账户的名义发送到社交网络平台的通信服务器,通信服务器就将外围设备与用户账户绑定。换言之,社交网络平台的通信服务器为外围设备创建唯一的社交网络身份,并以用户账户的名义将外围设备添加到用户的社交网络联系人列表。在某些实施例中,通信服务器还为外围设备的支持服务提供商的支持服务器创建相应的社交网络身份,并以用户账户的名义将支持服务器添加到用户的社交网络联系人列表。
在某些实施例中,绑定过程不要求外围设备连接至用户设备。在绑定过程完成之后,外围设备可在任何时刻以针对该外围设备创建的社交网络身份的名义被连接至用户设备。外围设备到社交网络平台的通信服务器的通信可通过作为中介的用户设备来实现。在示例性的设备连接过程期间,用户设备对广播社交网络客户端应用的唯一服务标识符的邻近外围设备进行扫描。外围设备被制造商预配置为通过其设备发现消息来广播社交网络客户端应用的唯一服务标识符。在用户设备上运行的社交网络客户端应用扫描并检测到外围设备的设备发现消息包括所要求的服务标识符,然后与外围设备建立连接(例如,蓝牙、蓝牙低能耗、WiFi、USB等连接)。一旦建立了连接,社交网络客户端应用向社交网络平台的通信服务器通知外围设备现在在线。社交网络客户端应用还在用户界面中向用户表明外围设备现在在线并可作为社交网络联系人在社交网络平台上与用户通信。在某些实施例中,直到用户在社交网络客户端应用中选择了用户界面控件以起动与外围设备的对话会话,用户设备才试图与外围设备建立连接。在某些实施例中,当用户首次登录他/她的用户账号时,用户设备扫描并试图与外围设备建立连接。在某些实施例中,用户不必使用同一用户设备来进行绑定过程和连接过程。对绑定过程和连接过程的描述中所称的用户设备为当前正在运行社交网络客户端应用(包括有示出社交网络平台的网页界面的浏览器)以及将用户的账户作为当前活动账户的用户设备。
在外围设备以用户的用户账户的名义在社交网络客户端应用内与用户设备建立连接之后,用户能够作为社交网络联系人在社交网络平台上与外围设备通信。例如,如果外围设备为以用户的用户账户的名义在社交网络客户端应用内经由蓝牙或蓝牙低能耗(BLE)连接而连接至用户设备(例如,智能电话)的健康检测腕带,则用户可以可选地以启动他/她同其任何其他社交网络联系人的聊天会话相同的方式来启动与腕带的聊天会话。例如,在聊天会话期间,用户可选择发送即时文本消息到腕带,该即使文本消息说到“向我示出今天的数据”或“点亮屏幕”。该即时文本消息将被呈现在聊天会话的对话界面中,作为由用户发送至外围设备的相应社交网络身份的消息。
在某些实施例中,当用户选择启动与腕带的对话会话时,社交网络客户端应用向用户提供定制的用户界面,以及在定制的用户界面中,社交网络客户端应用呈现一个或多个按钮,该一个或多个按钮代表可被发送至腕带的不同命令。例如,定制的用户界面可呈现用于“输出今天的数据”的按钮、用于“示出电池剩余电量”的按钮、以及用于“振动”的按钮。当用户激活按钮之一(例如,用于“振动”的按钮)时,对应的命令将被呈现在聊天会话的对话界面上,作为由用户发送至外围设备的相应社交网络身份的消息。命令也可通过通信服务器或外围设备的支持服务器被转译为编码指令,并经由通信服务器和用户设备被发送至外围设备。接收到编码指令的腕带将例如通过开始振动来相应地响应。
在某些实施例中,不管用户是否通过打字、语音或激活按钮或者通过其他方式将指令/命令输入到外围设备,指令/命令都由用户发送至通信服务器,通信服务器(例如,通过自己进行内部转译或者通过联系外围设备的支持服务器)得到对应的编码指令/命令并将转译结果(translation)发送至用户设备。用户设备通过建立在用户设备与外围设备之间的连接将编码指令/命令转发至外围设备。外围设备按照编码指令/命令进行响应或动作。例如,当用户在聊天界面中输入文字消息“振动”之后或者在社交网络客户端应用为腕带提供的定制用户界面中激活用于“振动”的按钮之后,腕带开始振动。这在以下情况下是有用的:即当用户无法在其附近定位腕带,并且希望使用他/她的社交网络客户端应用与腕带对话以使得腕带能够通过发出噪声进行响应从而使用户找到该腕带。
有时,用户可在其与外围设备之间的聊天会话中包括额外的用户和/或其他外围设备。例如,用户可创建群聊会话,该群聊会话包括任何其他用户的相应社交网络身份或者被相应所有者注册到通信服务器上并经由其相应所有者的用户账户当前在线的外围设备的相应社交网络身份。例如,如果用户的外围设备为血压监测器,则用户可启动包括有用户自身、用户的家人以及该血压监测器的群聊会话。在用户将血压监测器的裹臂带(armwrap)围绕他/她的手臂包裹后,用户可在群聊界面中将文本消息(例如,“开始测量”)输入给血压监测器(例如,通过在消息正文中使用“@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-带TM”)被显示给用户。在某些实施例中,设备型号(例如,“Model X2000”)也可选地被显示给用户。只要用户确认对条形码的读取与他/她的预期一致,用户就可激活“绑定”按钮206以将外围设备200绑定到用户账户“Red207”。“绑定”按钮206的激活使得用户设备202发送绑定指令到社交网络平台的通信服务器,然后通信服务器在用户的账户与外围设备的标识符之间创建绑定。有时,如果用户分配给外围设备200的条形码不是唯一的(例如,是分配给一种类型的外围设备(例如,特定设备型号)中的所有外围设备的共有条形码),则绑定过程基于用户账户标识符和条形码中编码的标识符(例如,通过将用户名和共有设备标识符相联系)来创建用于外围设备的唯一设备标识符。通信服务器也创建用于外围设备200的社交网络身份,该社交网络身份包括人类用户的所有或者至少部分特征(例如,包括用户姓名、头像、账户类型、在线状态、联系人列表、社交网络群组列表、对话记录、粉丝列表(例如,“关注我的其他用户”)、订阅列表(例如,“我所关注的其他用户”)等)。在某些实施例中,通信服务器还会表明:外围设备200的账号是设备账号并且与相应用户账户(例如,“Red207”)相关联。
图2D示出已成功完成绑定过程。通信服务器向用户通知外围设备200(具有临时在线身份“Q-带”)已被绑定到用户账户。用户可可选地将外围设备200的昵称改为更能引起用户兴趣的其他名称(例如,“Red的Q-带”)。
图2E示出了当前与用户账户“Red207”相关联的联系人列表。联系人列表包括其他人类用户(例如,“Annie”、“Mom”、以及“Reddog”),用户之前已经与这些其他人类用户建立了相互的社交网络关系。图2E还示出联系人列表也包括外围设备的社交网络身份208(例如,“Q-带”)。在某些实施例中,联系人列表还包括用于新添加的外围设备200的支持服务提供商2的公共社交网络身份210(例如,“Q-支持”)。此时,外围设备的图标用阴影示出以表明对应于社交网络身份“Q-带”的外围设备200当前并未连接至用户设备202。在外围设备200倍连接至用户设备202之后,通信服务器被告知该连接,并且外围设备的图标的外观会改变以表明外围设备200现在已被连接的有效在线状态。
图2F示出当用户激活图2E中所示的联系人列表中的外围设备200的图标时,用户设备202发起连接过程以扫描并连接到与社交网络身份“Q-带”相关联的外围设备200。在某些实施例中,外围设备200的制造商和社交网络客户端应用的提供商商定了特定的连接协议(例如,蓝牙TM或蓝牙低能耗或WiFi连接协议),以使得社交网络客户端应用可发现实施了上述方法的一类外围设备。有关连接协议的更多细节将在后文中提供。当用户设备202通过扫描处理发现外围涉笔200的存在时,检测到的外围设备200被匹配到外围设备200的社交网络身份,并在用户设备202上显示给用户。在外围设备200倍连接至用户设备202之后,通信服务器被告知该连接,并且外围设备的图标的外观会改变(未示出)以表明外围设备200现在已被连接。
图2G示出一旦外围设备200和用户设备202在社交网络客户端应用上建立了连接,就可以以与在两个用户之间建立聊天会话(例如,通过在联系人列表中选择外围设备200并选择发送消息到该外围设备200)类似的方式在用户与外围设备200之间建立聊天会话。在某些实施例中,当首先建立连接时,用于外围设备200与用户“Red207”之间的聊天会话的对话界面被自动启动。在显示在用户设备202上的对话界面212中,外围设备200已向用户发送了消息214(例如,“你好,Red207!我是你的Q-带”)。消息214通过通信服务器被提供给用户设备202。通信服务器得到该消息的过程在不同实施例中是不同的。在某些实施例中,用户设备202将从外围设备200接收的编码消息(例如,“Init OK”消息转发到通信服务器,通信服务器自己将编码消息转译为消息214,或者要求外围设备200的支持服务提供商的支持服务器将编码消息转译为消息214。将在本发明的其他部分中提供有关以下各项的细节:编码消息如何由外围设备发送,如何被用户设备、通信服务器和/或支持服务器处理,如何被传递到用户,以及如何被记录在对话历史中。
图2G还示出当前聊天会话的对话界面212可选地包括消息输入框218,通过该消息输入框218,用户可向外围设备200输入文本消息(例如,“点亮显示屏”)。对话界面212可选地包括一个或多个用于激活外围设备200的特定常用功能的用户界面控件。例如,对话界面212可选地包括按钮216,用于点亮外围设备200(例如,健康监测腕带)以测试外围设备200的通信通道和功能。对话界面212可选地包括用于激活外围设备200的其他功能的其他按钮(例如,“打印数据”按钮)。当用户按压“点亮”按钮216时,信号被发送到通信服务器以表明用户已经按压了“点亮”按钮216。通信服务器得到针对外围设备200的对应编码指令,并将编码指令发送回用户设备202。然而,用户设备通过建立在用户设备与外围设备之间的连接将编码指令转发至外围设备。然后,外围设备翻译并执行编码指令中的命令,并可选地发送回编码响应(例如,表明所请求的任务成功完成的编码响应)。
在某些实施例中,用户界面控件的开发可通过外围设备200的制造商与社交网络平台提供商之间的合作来实现。在某些实施例中,通信服务器仅需要知道制造商愿意将哪些功能包括在其产品(例如,外围设备200)的对话界面中,并且通信服务器不需要对通过用户设备202从用户和/或外围设备202接收的命令和消息进行任何实际的转移和/或翻译。例如,在某些实施例中,通信服务器不需要进行从用户输入的即时消息或功能按钮按压到针对外围设备的对应编码指令的转化。相反,通信服务器将用户所请求的功能转发到外围设备的支持服务提供商的支持服务器,并从支持服务器接收对应编码指令。通信服务器转而通过用户设备转发编码指令到外围设备。在某些实施例中,通信服务器也不需要从接收自外围设备的编码消息到呈现给用户的即时消息的转化。相反,通信服务器将编码消息转发到外围设备的支持服务提供商的支持服务器,并接受编码消息的对应转译结果。通信服务器转而将转译结果作为即时消息发送到用户,作为从外围设备到用户的消息。在某些实施例中,通信服务器可选地自己进行转化,例如通过使用自然语言消息/按钮按压与编码指令/消息之间的映射表。
图2H示出在用户输入文本消息(例如,“点亮显示屏”)或按压“点亮”按钮216之后,对应编码指令被从通信服务器发送到用户设备202,然后被从用户设备202发送到外围设备200。对应即时消息220被显示在对话界面212种作为从用户到Q-带的消息。在外围设备200实现了所请求的功能之后,外围设备200发送响应(例如,表明已完成点亮健康监测腕带的显示屏的任务的编码响应)到用户。响应在对话界面212中被显示为从Q-带到用户的即时消息(例如,“完成!显示屏已被点亮。”)。在某些实施例中,当外围设备212想要发送消息到用户时,消息为(例如,根据设备制造商的专用格式进行了格式化的)编码形式。编码消息被发送到用户设备202,用户设备202将编码消息转发到通信服务器。通信服务器可选地转发编码消息到支持服务器并从支持服务器得到该编码消息的转译结果。然后,通信服务器将转移结果作为即时消息发送到用户设备202。转译结果被呈现给用户,作为从外围设备“Q-带”到用户“Red207”的即时消息。
图2A至2H所示出的用户界面以及参考这些用户界面所描述的特征仅是可能实施例的说明性示例。在某些实施例中,更多功能按钮被包括在扩展对话界面中,该扩展对话界面可通过显示在简单版的对话界面上的控件来激活。在某些实施例中,向用户提供配置界面,该配置界面使得用户能够为最常用的命令和指令建立按钮。在某些实施例中,社交网络客户端应用使得用户能够经由文字输入框或语音输入界面来输入自然语言指令和命令,并且接收到自然语言指令和命令的通信服务器通过本地或第三方自然语言处理服务生成用户命令的翻译。然后,通信服务器将翻译转发到外围设备的支持服务器以将其转移为编码指令。将在本发明的后续部分提供有关指令和响应如何在通信体系结构(例如,支持服务器←→通信服务器←→用户设备←→外围设备)的不同层之间进行发送的更多细节。
图2I的简化流程图示出了设备制造商通过社交网络平台的提供商为一种或多种类型的外围设备建立支持(support)的过程。例如,制造商(例如,外围设备的设备开发商)提交(231)针对服务账户(例如,用于制造商所制造的一类外围设备的支持服务提供商的支持服务器的账户)的请求。在某些实施例中,制造商或设备开发商将待由社交网络平台支持的名称、型号、基本功能和功能提交给社交网络平台的提供商。社交网络平台的提供商审查请求,并根据内部或已发行的准则来确定(233)是否接收请求。如果社交网络平台的提供商决定接受请求,则通知开发商已接受该请求,并且制造商或设备开发商通过社交网络平台的通信服务器进行待实现功能的开发(235)。如果社交网络平台的提供商不接受请求,则设备开发商可返回并修改请求,然后重新提交或终止请求过程。
当被批准的功能由设备开发商来实施时,这些功能将由社交网络平台的提供商进行审查(237)以确保质量。一旦功能通过测试被再次批准,请求中所标识的针对该类型外围设备的支持(support)就会被正式发布给公众,此时,通信服务器将接收该类受支持外围设备的注册请求,并在社交网络平台上建立用于外围设备的支持服务器的相应社交网络身份。在公开发布之后,受支持外围设备的制造商和设备开发商开始制造和/或向用户出售外围设备(239)。在某些实施例中,社交网络平台的提供商也会将唯一的标识符分配给此类受支持外围设备的支持服务器,所述唯一标识符可在出售所制造的外围设备时被提供给外围设备的购买者。例如,标识符可被提供为附接到外围设备或者其包装上的2D条形码,或者提供为包含在外围设备中的唯一序列号。
图2J的简化流程图示出了最终用户使用用户设备(例如,移动设备)将特定外围设备注册到社交网络平台的通信服务器的过程。如图2J所示,当最终用户在设备注册时向用户设备提供设备ID时,用户设备获取(241)用户所提供的设备ID(例如,通过外围设备上的2D条形码或通过直接文本输入)。用户设备确定(243)设备ID是否已被成功获取。如果用户设备在查询存储在通信服务器上的数据库之后未识别出设备ID,则过程结束。如果用户设备确定已经获取到受支持外围设备的正确设备ID,则用户设备从社交网络平台的通信服务器得到(345)外围设备的账户。例如,在某些实施例中,用户设备发送设备ID到通信服务器,通信服务器基于设备ID和用户自己的ID生成外围设备的合适社交网络身份,并且生成外围设备的账户。通信服务器还将外围设备的账户与用户自己的账户相关联。一旦生成账户,通信服务器就发送账户信息到用户设备。用户设备确定(247)是否已成功生成外围设备的账户。如果是,则用户设备可开始与外围设备交换信息(例如,指令和响应)(249)。该信息包括:源自外围设备的支持服务器并通过通信服务器被发送到用户设备的编码指令,直接来自通信服务器的编码指令,由外围设备指向支持服务器、通信服务器、其他设备和/或用户的编码响应等。
图2K-2T示出了各种通信场景中的消息转译和消息流,这些通信场景涉及根据某些实施例通过社交网络平台对外围设备进行访问和控制。在涉及多于一个从源起方(originating party)到目标方(target party)的通信的对话中,可出现通信场景的不同组合。用户、外围设备、支持服务器以及通信服务器中的每个都可以是特定通信消息(例如,编码指令、编码消息或即时消息)的源起方(已被称作“起源(originator)”)或目标方(也被称作“目标(target)”)。用户设备、支持服务器以及通信服务器中的每个都可充当源自其他方且针对其他方的特定通信消息的中间发射机。在某些实施例中,允许达到通信服务器的直接消息(例如,源自支持服务器、用户或外围设备的直接消息),但是由于通信服务器通常不被当作聊天会话的对话参与者,所以在本申请中未描绘出这些消息。如在本申请中所使用的那样,如果消息被引导至特定方,则在图2K至2T中,该消息被称为“@”所述方,并且所述方是消息的目标,即使消息在从其信源到目标的传输过程中可能经过一个或多个其他方。发起消息或指令的一方是该消息或指令的起源,即使该消息是响应于起源之前接收的另一消息或指令而发起的。
如在本申请中所描绘的那样,源自外围设备的消息被称为“编码消息”,并且编码消息遵循外围设备的原有I/O和数据格式。在某些实施例中,来自某些类型外围设备的编码消息可以是人可读的,但是这不是必须的。在某些实施例中,如果来自特定外围设备的编码消息被导向人类用户,该编码消息被发送到外围设备的支持服务器,编码消息首先被转译为人可读的即时消息,然后人可读的即时消息而不是编码消息被(经由用户的用户设备)发送给用户。在某些实施例中,如果来自特定用户的即时消息被导向外围设备,则该即时消息被发送到外围设备的支持服务器,及时消息首先被转译为针对外围设备的编码指令,然后编码指令而不是即时消息被(经由用户的用户设备)发送到外围设备。在某些实施例中,通信服务器转发原始消息到支持服务器并得到适用于该原始消息的目标的该原始消息的转译结果。在某些实施例中,针对至少原始消息的子集,通信服务器在不联系支持服务器的情况下,在本地生成转译结果。在某些实施例中,当支持服务器是消息或指令的起源时,支持服务器按照消息的目标方来提供正确格式的消息或指令(例如,为即时消息或者为编码指令)。
图2K描绘了一种通信场景,在该通信场景中,在运行于用户设备104(例如,智能电话)上的社交网络客户端应用108所提供的用户界面中,用户发起针对外围设备118(例如,气候控制设备)的指令(例如,“关闭空气调节器”)。在这一或后续示例性场景中,用户已经登录到他/她在通信服务器112处的账号;外围设备104是受支持服务器116支持的设备,并且已经被用户注册在他/她的账号名下;并且外围设备和用户设备已经在社交网络客户端应用下建立了连接。出于说明的目的,假设在本示例中,用户的社交网络身份为“用户”以及外围设备118的社交网络身份为“外设”。
在本示例中,消息流如下:
(1)用户可选地通过打出即时消息“关闭空气调节器”或激活用于关闭外围设备118的用户界面控件(例如,“关闭”按钮)来输入指令,用户界面控件被设置在用于“用户”与“外设”之间的聊天会话的对话界面中。在一对一聊天会话中,来自一个参与者的消自动针对该聊天会话的其他参与者。因此,用户输入的消息是针对外围设备108的即时消息。在某些实施例中,对预设用户界面控件的激活对应于针对外围设备108的即时消息,并且在对话日志(conversation log)中也如此体现。
(2)源自用户并针对外围设备118的即时消息被从用户设备104发送到通信服务器112。
(3)通信服务器服务器接收即时消息并进一步发送即时消息到外围设备的支持服务器。通信服务器根据即时消息的起源和目标字段得到用户和外围设备的身份。基于外围设备的身份,通信服务器确定外围设备的支持服务器的身份。
(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)通信服务器识别出即时消息针对支持服务器,并发送即时消息到支持服务器。即时消息被记录在聊天会话的对话日志中,作为从用户到支持(Support)的即时消息。
如图2N所示,消息流如下所示:
(1)支持服务器生成针对用户的即时消息(例如,由机器生成或由支持服务器的管理员打出)。然后,支持服务器将即时消息发送到通信服务器。
(2)通信服务器识别出即时消息针对用户,并发送即时消息到与用户相关联的用户设备。
(3)用户设备向用户显示即时消息,并且即时消息被记录在聊天会话的对话日志中,作为从支持(Support)到用户的即时消息。
在各种通信场景中,当支持人员想要直接从用户处得到某些信息(例如,“温度控制键的表面是湿的吗?”)时,或者想要直接向用户给出指令或信息(例如,“在保持蓝色按钮的同时,按压红色按钮两次”或者“不,那不是故障。闪烁的蓝光表示该单元正正常运行)时,可发生从支持服务器到用户的直接通信。
在各种通信场景中,当用户想要直接从支持服务器的人员或支持服务器得到某些信息(例如,“我怎样在不清楚上一测量结果的情况下关闭单元”)时,或者想要直接将指令或信息给到支持人员(例如,“你能为我远程重配置该单元吗?”或者“不,我之前从未更换过过滤器”)时,可发生从用户到支持服务器的直接通信。
在各种通信场景中,用户和支持服务器之间的直接通信可以是一对一通信、或者是涉及其他用户和/或外围设备的群聊会话的一部分。
图2O示出了一种示例性通信场景,在该示例性通信场景中,支持服务器116通过社交网络平台发起针对外围设备118的编码指令。在该通信场景中,用户加入到涉及至少支持服务器(被标识为“支持”)、用户自身(被标识为“用户”)以及外围设备(被标识为“外设”)的群组对话中。在这样的通信场景中,除了针对外围设备的编码指令(例如,“T01”,意为“进行诊断测试1”)之外,支持服务器还基于编码指令的内容准备了即时消息(例如,“@外设:进行诊断测试1”),以使得该及时消息可经由社交网络平台发送到用户并显示当前聊天会话的对话日志中。该即时消息将在对话日志中表现为源自支持服务器并针对外围设备的即时消息。
在某些实施例中,消息流如下:
(1)在涉及“支持”、“用户”和“外设”的群聊会话中,支持服务器发起针对外围设备118的编码指令。支持服务器还生成编码指令的即时消息版本以供通信服务器使用。支持服务器发送(1-1)编码指令并发送(1-2)即时消息到通信服务器,两者都针对外围设备。
(2)通信服务器从支持服务器接收编码指令和即时消息。通信服务器将编码指令作为针对外围设备的编码消息转发(2-1)到用户设备。通信服务器将即时消息作为编码消息的人可读转译结果转发(2-1)到用户设备。
(3)通信服务器从通信服务器接收编码指令和即时消息。用户设备发送(3-1)编码指令到外围设备。用户设备在当前聊天会话的对话日志中将及时消息作为从“支持”到“外设”的消息显示给用户。
在某些实施例中,支持服务器可与独立于用户的参与的外围设备通信。在这样的情况下,不需要准备及时消息并将其发送到用户,仅经由通信服务器和用户设备将编码指令发送到外围设备。
图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还在当前聊天会话的对话日志中显示针对外围设备A的即时消息,在当前会话的对话日志中,即时消息被显示为从“外设B”到“外设A”的消息。
在某些实施例中,用户可建立控制层次(control hierarchy),根据该控制层次,已注册外围设备可控制和/或访问另一已注册外围设备。在某些实施例中,通过在同一群聊会话中包括两个或多个已注册外围设备,用户被认为具有以下权限:使得每个外围设备能够与同一群聊中的其他外围设备中的每一个进行通信。在某些实施例中,支持服务器所支持的不同类型的外围设备的支持服务器提供了默认的控制层次。
图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。通信服务器还转发(5-2)针对外围设备A的原始即时消息到用户设备A。
(6)用户设备A接收针对外围设备A的编码消息,并将其发送(6-1)到外围设备A。然后,外围设备A根据所接收的编码消息进行动作,即,20分钟后退出游戏。用户设备接收针对外围设备A的原始即时消息,在当前聊天会话的对话日志中显示针对外围设备A的即时消息,在当前会话的对话日志中,即时消息被显示为从“用户B”到“外设A”的消息。
在某些实施例中,用户可对注册在他/她的账户下的外围设备的一部分或所有功能的访问和/或控制进行共享。可在每次聊天中或经常性地进行控制和/或访问的共享。在某些实施例中,通过将另一用户包括在涉及已注册外围设备的同一群聊会话中,用户被视为具有以下权限:使得该另一用户能够与外围设备通信。这可适用于家长控制(parentcontrol)北京,其中用户B是外围设备A的控制方(controlling party)。
图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。通信服务器还转发(5-2)针对用户B(或整个群组)的即时消息到用户设备B。
(6)用户设备A接收针对用户B(或整个群组)的即时消息,并在当前聊天会话的对话日志中将其显示(6-1)给用户A,在当前聊天会话的对话日志中,即时消息被显示为从“外设A”到“用户B”(或整个群组)的消息。用户设备A接收针对用户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的编码消息。支持服务器将针对外围设备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是根据某些实施例的示例性过程300的流程图,示例性过程300用于在社交网络平台上建立对外围设备(例如,外围设备200)的控制。示例性过程300通过在社交网络平台上以用户的用户账户名义运行的社交网络客户端应用在待被连接至外围设备的用户设备(例如,用户设备118或202)上执行。过程300的各个方面在图1B和图2A-2T以及相应说明中示出。
在至少某些实施例中,由用户设备(例如,用户设备104或202)或者电子设备的一个或多个部件(例如,图1B中的社交网络客户端应用)来执行方法,用户设备具有一个或多个处理器和存储器。在某些实施例中,方法受到指令的控制,指令被存储在非瞬时性计算机可读存储介质中并由电子设备的一个或多个处理器(例如,用户设备104的处理器)来执行。
在某些实施例中,在具有一个或多个处理器和存储器的用户设备处:用户设备运行(302)社交网络平台的社交网络客户端应用。社交网络客户端应用于社交网络平台的通信服务器通信以提供对社交网络平台的用户而言可用的通信功能(例如,登录、用户注册、监理联系人关系、创建和加入群组、关注其他、发布消息给关注者、闯将一对一或群聊会话、发送和接收各种格式的消息、通过聊天消息或定制控件来对注册外围设备进行控制和访问等)。
在某些实施例中,用户设备通过社交网络客户端应用对标识相应类型外围设备的支持服务提供商的输入加以接收(304)。例如,对标识相应类型外围设备的支持服务提供商的输入加以接收进一步包括(306):经由条形码扫描器来扫描与所述相应类型外围设备的所述支持服务提供商相关联的条形码。这在图2A-2D以及相应说明中示出。在某些实施例中,用户可选地手动输入外围设备或其支持服务提供商的唯一设备标识符(例如,设备的序列号)作为文本输入。
在某些实施例中,响应于对标识出相应类型的外围设备的支持服务提供商的输入的接收,用户设备执行(308)以下步骤:将支持服务提供商的公共社交网络身份注册为当前与用户设备相关联的用户账户的联系人;以及在用户设备的周边区域进行搜索以定位相应类型外围设备中的外围设备。在某些实施例中,当包含有用于标识外围设备的支持服务提供商的信息的输入被提供给用户设备时,用户设备发送该信息到通信服务器,并且通信服务器识别外围设备的支持服务器,并建立支持服务器的社交网络身份。在某些实施例中,此时其他用户可能已经在通信服务器处建立了设备的社交网络身份,因而通信服务器只用将当前外围设备与支持服务器的社交网络身份相关联。在某些实施例中,产生支持服务器的单独实例以服务特定的外围设备,并且单独实例被分配有相应的唯一社交网络身份。通信服务器将支持服务提供商的公共社交网络身份注册为当前与用户设备和外围设备相关联的用户账户的联系人。通信服务器将支持服务提供商的社交网络联系人的名称提供给用户设备,用户设备转而将该名称显示给用户。这在图2E中示出(例如,社交网络联系人210“Q-支持”是分配给外围设备Q-带的支持服务器的社交网络身份)。在某些实施例中,用户特别地请求将支持服务器添加为社交网络联系人,并且用户设备将请求转发给通信服务器。在某些实施例中,用户设备还发送(318)用以在社交网络平台上将用户账户注册为支持服务提供商的联系人的请求。例如,在为外围设备提供支持服务的支持服务器侧,支持服务器的联系人列表也会将用户和外围设备的社交网络身份包括在内。
在某些实施例中,使用特殊协议来进行对外围设备的扫描,该特殊协议向用户设备表明外围设备被配置为允许通过社交网络平台进行访问和控制。例如,如果将经由蓝牙协议建立连接,则外围设备通过设备发现消息广播社交网络客户端应用的预定主服务标识符(UUID),以使得当从外围设备接收到设备发现消息时,运行在用户设备上的社交网络客户端应用能够将外围设备识别为兼容设备。将在本发明的后续部分描述连接协议(蓝牙TM或蓝牙低能耗TM)以及其他有线或无线协议的更多细节。
在某些实施例中,在用户设备的周边区域内进行搜索以定位相应类型外围设备中的外围设备进一步包括(310):从所述用户设备的所述周边区域内的相应外围设备接收设备发现消息;确定设备发现消息是否包括代表所述社交网络客户端应用所提供的主服务的预定服务标识符;以及当确定所述设备发现消息包括所述预定服务标识符时,在所述用户设备与所述外围设备之间建立通信通道。这在图2F以及相应说明中示出。在某些实施例中,所述通信通道是遵循与社交网络客户端应用相关联的预定通信协议(例如,传统蓝牙协议或根据本申请的公开而修改的BLE协议)的无线通信通道。
在某些实施例中,用户设备发送(314)建立外围设备的社交网络身份的请求。例如,在某些实施例中,一旦用户设备发现外围设备已经被绑定到用户设备上活动的用户账户,该用户设备就向通信服务器发送请求以得到外围设备的相应社交网络身份。在某些实施例中,一旦用户设备成功将外围设备被绑定到用户设备上活动的用户账户,该用户设备就向通信服务器发送请求以得到外围设备的相应社交网络身份。在某些实施例中,外围设备的相应社交网络身份与已经为外围设备产生的支持服务器的唯一实例相同。在某些实施例中,当成功建立外围设备的社交网络身份时,用户设备在社交网络客户端应用的用户界面中将外围设备呈现为用户账户的社交网络联系人。这在图2E以及相应说明中示出。
在某些实施例中,用户设备发送(320)用以将用户账户注册为与相应类型外围设备的支持服务提供商相关联的在线社区的相应成员的请求。在某些实施例中,当成功将用户账户注册为在线社区的相应成员时,用户设备在社交网络客户端应用的用户界面中将在线社区呈现为用户账户的社交网络群组。例如,在某些实施例中,外围设备的支持服务器建立在线社区以将拥有支持服务器所支持类型的外围设备的多个用户包括在内。在该在线社区内,支持服务器可广播通知、消息、小贴士等到已同意加入在线社区(例如,选择“关注”该在线社区所支持类型的外围设备的支持服务器的公共社交网络身份)的每个用户。此外,在某些实施例中,在线社区的成员也可发布消息并相互接收或从整个在线社区接收消息。在某些实施例中,在线社区可选地包括支持服务器所支持的已注册外围设备的相应社交网络身份,以使得根据本申请所描述的实施例,用户可选地允许其他用户访问和控制他们自己的外围设备。
在某些实施例中,用户设备在群聊会话的对话界面中显示(324)源自支持服务提供商的服务器的即时消息,所述群聊会话至少涉及用户账户的用户和外围设备。在某些实施例中,即时消息记录针对外围设备的编码指令。在某些实施例中,即时消息在对话界面中表现为源自支持服务器的公共社交网络身份的消息,比如“用于重置你的B-Band的指令已被发送到Q-带”或“@Q-带,重置系统”。在某些实施例中,在对话界面中,即时消息表现为源自与外围设备不同的第二外围设备的消息。在某些实施例中,即时消息记录源自外围设备的编码消息。在某些实施例中,在对话界面中,即时消息表现为源自外围设备的社交网络身份并针对支持服务提供商的公共社交网络身份的消息。在某些实施例中,在对话界面中,即时消息表现为源自外围设备的社交网络身份并针对用户账户的相应社交网络身份的消息。在某些实施例中,在对话界面中,即时消息表现为源自外围设备的社交网络身份并针对与外围设备不同的第二外围设备的相应社交网络身份的消息。
该示例性过程的特征和步骤可与在本申请的其他部分中所描述的特征和步骤进行组合,并且这些其他特征和步骤在此不再赘诉。
图3D-3E是根据某些实施例的示例性过程350的流程图,示例性过程350用于建立对外围设备(例如,外围设备200)的访问和控制。示例性过程350通过在社交网络平台上以用户的用户账户名义运行的社交网络客户端应用在待被连接至外围设备的用户设备(例如,用户设备118或202)上执行。过程300的各个方面在图1B和图2A-2T以及相应描述中示出。在过程350中,标识外围设备的输入(例如,扫描外围设备的条形码)使得用户设备请求外围设备的社交网络身份,外围设备的社交网络身份独立于外围设备的支持服务器的社交网络身份。在某些实施例中,外围设备的社交网络身份和支持服务器的社交网络身份两者被自动添加到用户的联系人列表。在某些实施例中,标识外围设备的输入仅使得外围设备被添加为用户账户的联系人,并且用户可手动添加支持服务器作为联系人。在某些实施例中,支持服务器不提供用户可关注的公共社交网络身份,而是支持服务器可通过其所支持的外围设备的社交网络身份发送通信到用户。
在至少某些实施例中,由用户设备(例如,用户设备104或202)或者电子设备的一个或多个部件(例如,图1B中的社交网络客户端应用)来执行方法,用户设备具有一个或多个处理器和存储器。在某些实施例中,方法受到指令的控制,指令被存储在非瞬时性计算机可读存储介质中并由电子设备的一个或多个处理器(例如,用户设备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的流程图,示例性过程400用于在社交网络平台上通过支持服务提供商(例如,支持服务提供商的支持服务器)来提供对外围设备的访问和控制。
在至少某些实施例中,由通信服务器(例如,图1B中的社交网络平台的通信服务器112b)或者电子设备的一个或多个部件(例如,社交网络服务器用用模块)来执行方法,通信服务器具有一个或多个处理器和存储器。在某些实施例中,方法受到指令的控制,指令被存储在非瞬时性计算机可读存储介质中并由电子设备的一个或多个处理器(例如,通信服务器112b的处理器)来执行。
如图4A所示,在某些实施例中,通信服务器从支持服务提供商接收(402)服务商注册请求(servicer registration request),服务商注册请求指定支持服务提供商所要服务的外围设备的类型。响应于服务商注册请求,通信服务器基于服务商注册请求来建立(404)支持服务提供商的公共社交网络身份。例如,可在所述类型的外围设备的制造商发布该类型外围设备用于公开出售之前,进行服务商注册。在某些实施例中,服务商注册请求可以是图2I中所示账户注册过程的一部分。
通信服务器从第一用户接收(406)第一所有者注册请求,第一所有者注册请求指定受第一用户控制的第一外围设备。例如,这在图2A-2H和图2J中的设备绑定过程及其相应描述中示出。在某些实施例中,在确定第一外围设备为服务商注册请求中所指定类型的外围设备时,通信服务器在支持服务提供商的公共社交网络身份与第一用户的相应社交网络身份之间建立(408)社交网络关系。例如,通信服务器将该类型外围设备的支持服务器、外围设备和第一用户的社交网络身份相关联为彼此的社交网络联系人,并向其中每个通知该关联。在某些实施例中,通信服务器在第一用户的相应社交网络身份与支持服务提供商的公共联系身份之间的聊天会话的对话界面中,将针对第一外围设备的第一相应通信消息和源自第一外围设备的第二相应通信消息提供(410)为相应即时消息。例如,在图2K-2T以及相应描述中提供了示例性通信场景。
在某些实施例中,通信服务器从支持服务提供商接收(412)指令消息,指令消息将第一外围设备标识为该指令消息的目标。响应于对指令消息的接收,通信服务器经由第一用户设备转发指令消息到第一外围设备。指令消息可以是由支持服务器生成的直接编码指令,或者针对外围设备的另一指令(例如,来自用户、另一外围设备的指令)的转译。
在某些实施例中,响应于对指令消息的接收,通信服务器得到(416)基于指令消息的内容生成的即时消息,并发送即时消息到第一用户设备,其中,在第一用户与支持服务提供商的公共联系身份之间的聊天会话的对话界面中,第一用户设备将即时消息呈现为从支持服务提供商的公共联系身份到第一用户的消息。例如,支持服务器“Q-支持”可生成针对外围设备“Q-带”的编码指令,编码指令经由通信服务器和耦接至外围设备的用户设备被转发给该外围设备。此外,通信服务器从支持服务器得到与指令的内容相对应的人可读即时消息(例如,通过从支持服务器接收或本地生成人可读即时消息)。
在某些实施例中,基于指令消息的内容得到即时消息进一步包括(418):从支持服务提供商处接收描述指令消息的目的的自然语言消息;以及将支持服务提供商的公共社交网络身份指定为自然语言消息的发送者,并将第一用户指定为自然语言消息的预期接收者。
在某些实施例中,通信服务器经由第一用户设备接收(420)指令消息的应答消息,应答消息源自第一外围设备;并且响应于对应答消息的接收,通信服务器将源自第一外围设备的应答消息转发(422)到支持服务提供商。例如,在支持服务器发送编码指令到外围设备之后,外围设备可提供编码应答。例如,如果编码指令是让外围设备生成某些输出数据,则编码应答可包括外围设备在接收到编码指令之后所生成的输出数据。在某些实施例中,响应于转发应答消息到支持服务提供商,通信服务器从支持服务提供商接收(424)第二即时消息,其中,第二即时消息由支持服务提供商基于应答消息的内容而生成。例如,接收到包含有所请求输出数据的编码消息的支持服务器将该编码消息转译成人可读形式以便随后将其呈现给用户。通信服务器转发(426)第二即时消息到第一用户设备,其中,在第一用户与支持服务提供商的公共联系身份之间的聊天会话的对话界面中,第一用户设备将即时消息呈现为从支持服务提供商的公共联系身份到第一用户的消息。
例如,步骤412-426可出现在如下通信场景中:Q-支持向Q-带发送输出用户“Red207”今天的健康数据的指令,并且Q-带通过发送健康数据到Q-支持来进行响应。指令和包含健康数据的响应通过用户设备和通信服务器以支持服务器Q-支持和外围设备Q-带达成协定的格式进行发送。支持服务器帮助通信服务器准备对编码指令和响应的转译,以使得支持服务器与外围设备之间的通信可在对话日志中被呈现为至少Q-支持与Q-带之间的聊天会话的人可读即时消息。
在某些实施例中,通信服务器不使用支持服务器来提供对编码消息和指令的转译。相反,对于至少某些简单和/或常见的指令和消息,通信服务器进行本地转译。在某些实施例中,响应于对应答消息的接收:通信服务器基于应答消息的内容生成(428)第二即时消息,并发送第二即时消息到第一用户设备,其中,在第一用户与支持服务提供商的公共联系身份之间的聊天会话的对话界面中,第一用户设备将第二即时消息呈现为从支持服务提供商的相应社交网络身份到第一用户的消息。
在某些实施例中,通信服务器从支持服务提供商接收(430)第三即时消息,第三即时消息将第一用户标识为第三即时消息的目标并请求第三用户对第一外围设备进行操作或提供与第一外围设备有关的特定信息。响应于对第三即时消息的接收,通信服务器经由第一用户设备发送(432)第三即时消息到第一用户,其中,在第一用户与支持服务提供商的公共联系身份之间的聊天会话的对话界面中,第三即时消息被呈现为第一用户作为从支持服务提供商的公共联系身份到第一用户的消息。例如,Q-支持可向用户发送请求用户对Q-带进行物理操作的即时消息(“@Red207:按压Q-带上的两个按钮并保持支持Q-带发出哔哔声。
在某些实施例中,响应于发送第三即时消息到第一用户,通信服务器经由第一用户设备从第一用户接收(434)第二应答消息,第二应答消息针对支持服务提供商的公共社交网络身份。例如,当用户Red207已经进行了来自Q-支持的第三即时消息中所请求的操作之后,用户可向Q-支持发送应答即时消息,说到“我按压了按钮30秒,但Q-带没有发出哔哔声而是闪烁蓝光”。在某些实施例中,响应于对第二应答消息的接收,通信服务器向支持服务提供商转发(436)第二应答消息,作为对第三即时消息的应答。
在某些实施例中,支持服务提供商组合应答消息中的信息和第二应答消息中的信息以准备对第一外围设备的后续指令或对第一用户的后续消息。例如,如果从Q-支持到Red207的第三即时消息为“你今早吃早餐了吗?”以及从Red207到Q-支持的第二应答消息为“不,我没吃”,则支持服务器基于在第一应答消息中从Q-支持得到的健康监测数据以及用户的第二应答消息中所提供的早餐信息可选地成成健康报告或其他指令。
在某些实施例中,从第一用户接收第一所有者注册请求包括(340):从第一用户设备接收扫描结果的传输,扫描结果包括与相应类型外围设备的支持服务提供商相关联的条形码。在某些实施例中,通信服务器接收(442)在第一外围设备与第一用户之间建立关联的请求;并且经由社交网络平台的服务器和第一用户设备在支持服务提供商与第一外围设备之间建立(444)通信通道。这例如在图2A-2H中示出。
上述示例性过程的其他特征和方面在本申请的其他部分提供。
图5A-5C为示例性过程500的流程图,示例性过程500用于通过社交网络平台来提供对一个或多个外围设备的访问。外围设备在社交网络平台上被当作人类用户的社交网络联系人来对待。
在某些实施例中,过程500由社交网络平台的服务器(例如,图1B中的通信服务器112b)来执行。在某些实施例中,通信服务器将耦接至第一用户设备的第一外围设备注册(502)为与第一用户设备相关联的用户账户的相应社交网络联系人。例如,这在图2A-2H以及相应说明中示出。通信服务器经由在第一用户设备上运行的社交网络客户端应用来提供(504)对第一外围设备的访问,其中,社交网络客户端应用将第一外围设备识别为与第一用户设备相关联的用户账户的相应社交网路联系人。
在某些实施例中,经由在第一用户设备上运行的社交网络客户端应用来提供对耦接至第一用户设备的第一外围设备的访问进一步包括(506):从第一用户设备接收第一即时消息请求,第一即时消息请求包括第一即时消息并将已注册的第一外围设备标记为第一即时消息的目标;并且响应于从第一用户设备对第一即时消息请求的接收:基于第一即时消息的内容得到针对已注册第一外围设备的编码指令;并经由第一用户设备发送编码指令到已注册第一外围设备。例如,第一用户设备(例如,智能手机)的用户(例如,用户“Red207”)想要对已经注册到通信服务器并且与用户的账户相关联为该用户的社交网络联系人的第一外围设备(例如,蓝牙使能的面包机)进行控制。面包机被连接至用户设备并在用户的联系人列表中显示为“Red的面包机”。当用户想要在之后的某一时刻(例如,下午4点)启动面包机时,用户可使用在用户设备上运行的社交网络客户端应用来启动与“Red的面包机”的聊天会话,并发送第一即时消息“下午4点开始揉面”。通信服务器接收用户的即时消息请求,并得到被面包机所接受的对应编码指令(例如,二进制命令序列)。通信服务器可选地用户面包机的支持服务器来得到编码指令。然后,通信服务器经由用户设备发送编码指令到面包机,并且面包机启动指令消息所指示的适当揉面程序(例如,在下午4点)。该通信场景也如图2K以及相应描述所示。
在某些实施例中,经由在第一用户设备上运行的社交网络客户端应用来提供对耦接至第一用户设备的第一外围设备的访问进一步包括(508):从第一用户设备接收第一编码消息,第一编码消息为第一外围设备所发起的并经由在第一用户设备上运行的社交网络客户端应用转发给服务器的消息;并响应于从第一用户设备对第一编码消息的接收:基于第一编码消息的内容来得到第二即时消息;并发送第二即时消息到第一用户设备,其中,社交网络客户端应用将第二即时消息呈现为从代表外围设备的相应社交网络联系人到与第一用户设备相关联的用户账户的即时消息。例如,继续上述面包机的示例。假设面包机如用户所指示的那样在下午4点启动揉面程序之后,面包机检测到之前所选类型的面包的生面团过干(例如,如果用户未在面包机中放入足够的水),面包机生成第一编码消息(例如,“0014053434”),请求允许修改原本所选的面包类型(例如,从法式面包变为俄式面包)。第一编码消息经由用户设备从面包机发送到通信服务器,并且通信服务器基于编码消息的内容得到第一编码消息的转译(例如,“生面团果干,请求允许将烘焙程序从法式面包模式改变为俄式面包模式”)。通信服务器将转译作为第二即时消息发送到用户,并且用户设备的社交网络应用中所示的对话日志显现一从“Red的面包机”到“Red207”的即时消息,说到“生面团过干,请求允许将烘焙程序从法式面包模式改变为俄式面包模式”。接收到第二即时消息的用户具有如下选项:发送应答,说到“不,按程序进行”或“好,请改变程序”。该通信场景也如图2L以及相应描述所示。
在某些实施例中,经由在第一用户设备上运行的社交网络客户端应用来提供对第一外围设备的访问进一步包括(510):在用户账户的相应用户与代表外围设备的相应社交网络联系人之间建立一对一聊天会话。
在某些实施例中,经由在第一用户设备上运行的社交网络客户端应用来提供对第一外围设备的访问进一步包括:在用户账户的相应用户、代表第一外围设备的相应社交网络联系人与用户账户的至少一个其他社交网络联系人之间建立群聊会话。
在某些实施例中,经由在第一用户设备上运行的社交网络客户端应用来提供对第一外围设备的访问进一步包括(512):在群聊会话中,从用户账户的相应用户处接收将对第一外围设备的控制授权给用户账户的至少一个其他社交网络联系人的权限;以及响应于对所述权限的接收,在群聊会话中使能从用户账户的至少一个其他社交网络联系人到第一外围设备的相应社交网络身份的通信。例如,如参考图2R所描述的通信场景所示,一个用户(例如,用户A)已经授权他/她的社交网络联系人对注册在用户A的账户下并耦接至用户A的用户设备的外围设备进行访问和/控制。例如,当用户A(例如,“Red207”)已将用户B(例如,“Reddog”)添加到用户A与外围设备A(例如,“Red的面包机”)之间的当前聊天会话时,用户A被认为已经授权用户B对外围设备A进行访问。用户B此时可在同一群聊会话中使用即时消息与外围设备A通信。
在某些实施例中,在群聊会话中使能从用户账户的至少一个其他社交网络联系人到第一外围设备的相应社交网络身份的通信进一步包括(516):从与用户账户的至少一个其他社交网络联系人相关联的第二用户设备接收第二即时消息请求,第二即时消息请求包括第三即时消息并将已注册的第一外围设备标识为第三即时消息的目标接收者;以及响应于对来自第二用户设备的第二即时消息请求的接收:基于第三即时消息的内容来得到已注册第一外围设备的第二编码指令;以及发送第二编码指令和第三即时消息到第一用户设备,其中,社交网络客户端应用在第一用户设备处现实第三即时消息并转发第二编码指令到已注册第一外围设备。例如,当用户设备A“Red207”想要请求用户B“Reddog”的帮助以决定是否改变先前所选的面包类型时,用户A将用户B添加到当前聊天会话中并建立涉及“Red207”、“Red的面包机”和“Reddog”的群聊会话。用户“Red207”可以可选地在群聊会话中向用户“Reddog”发送即时消息,说到“面包机说生面团过干,我应该将烘焙程序从法式切换到俄式吗?”。作为更有经验的烘焙师用户“Reddog”可指令面包机保持在当前面包类型,但在将烘焙时间延长10分钟的同时,将烘焙温度降低10度。在本示例中,充当第一用户(例如,“Red207”)的社交联系人的用户“Reddog”从第二用户设备(例如,用户“Reddog”的平板设备)发送第二即时消息请求。第二即时消息请求包括第三即时消息,例如,“@Red的面包机:不要改变面包类型。而是,将烘焙温度降低10度,并将烘焙时间延长10分钟。”通信服务器基于第三即时消息的内容来得到编码指令,并经由第一用户设备发送编码指令到面包机。该通信场景也在图2R以及相应说明中示出。
在某些实施例中,经由在第一用户设备上运行的社交网络客户端应用来提供对第一外围设备的访问进一步包括(518):从第一用户设备接收第二编码消息,第二编码消息为耦合至第一用户设备的第一外围设备所发起的并经由在第一用户设备上运行的社交网络客户端应用发送给服务器的消息;并响应于从第一用户设备对第二编码消息的接收:基于第二编码消息的内容来得到第四即时消息;并发送第四即时消息到第一用户设备和与用户账户的至少一个其他社交网络联系人相关联的第二用户设备,其中,第四即时消息被呈现在第一用户设备和第二用户设备上,作为从代表第一用户设备的相应社交网络联系人接收的消息。继续有关上述面包机的示例。假设面包机“Red的面包机”接收到有关降低烘焙温度和延长烘焙时间的编码指令,并确定其可行。面包机生成第二编码消息(例如,“好,启动程序更改,T=T+10,t=t+10”)。第二编码消息针对包括用户A和用户B的整个群组。第二编码消息被发送到通信服务器,并且通信服务器基于第二编码消息的内容得到针对用户A和用户B的第四即时消息。例如,第四即时消息可以是“好,按Reddog的指示更改烘焙程序”。第四即时消息被显示在用户的两个用户设备上的对话日志中,作为来自面包机“Red的面包机”的应答。该通信场景在图2S以及相应说明中示出。
上述示例性过程的其他特征和方面在本申请的其他部分提供。
图6A-6D为根据某些实施例的示例性过程600的流程图,示例性过程600用于通过将外围设备当作社交网络中的社交网络联系人对待来提供对外围设备的控制和访问。在某些实施例中,对外围设备的控制和访问通过外围设备的支持服务器的社交网络身份来实现。在某些实施例中,由社交网络平台的服务器(例如,图1B中的通信服务器112b)来执行该过程。
在某些实施例中,通信服务器从支持服务提供商接收(602)服务商注册请求,服务商注册请求指定支持服务提供商所要服务的外围设备的类型。例如,面包机的制造商可具有在通信服务器上注册了服务商账户(servicer's account)的客户支持服务部人员。服务商账号具有其公共社交网络身份,该公共社交网络身份可以是多个用户的社交网络联系人,只要用户同意订阅客户支持人员以公共社交网路身份的名义发送的消息或发布。通信服务器基于服务商注册请求来建立(604)支持服务提供商的公共社交网络身份。例如,公共社交网络身份可与一种或多种类型的外围设备相关联,客户支持部为所述一种或多种类型的外围设备提供支持服务。
在某些实施例中,通信服务器从第一用户接收(606)第一所有者注册请求,第一所有者注册请求指定受第一用户控制的第一外围设备。在确定第一外围设备为服务商注册请求中所指定类型的外围设备时:通信服务器在社交网络平台上为第一外围设备创建(608)相应社交网络身份;并在支持服务提供商的公共社交网络身份、第一用户与第一外围设备的相应社交网络身份之间建立社交网络关系。
在某些实施例中,通信服务器在支持服务提供商的公共社交网络身份、第一用户以及第一外围设备的相应社交网络身份之间建立(610)相应群聊会话。在某些实施例中,通信服务器基于用户和支持服务器两者都被联系到外围设备的事实为支持服务提供商、用户和外围设备自动建立群组对话,用户为外围设备的当前所有者,以及支持服务器为外围设备的支持服务提供商。
在某些实施例中,当第一用户使用第一用户设备登录社交网络平台时,通信服务器经由第一用户设备从第一外围设备接收(612)登录请求;响应于经由第一用户设备从第一外围设备接收登录请求,通信服务器向支持服务提供商通知(614)所述第一外围设备的可用性。例如,在第一用户注册第一外围设备之后,只要第一外围设备通过在第一用户设备上运行的社交网络客户端应用的操作建立了与第一用户的第一用户设备的连接,第一用户设备就将第一外围设备的活动在线状态报告给通信服务器。然后,通信服务器在支持服务器上更新第一外围设备的活动在线状态。
在某些实施例中,通信服务器从支持服务提供商接收(616)指令消息,指令消息将第一外围设备标识为该指令消息的目标。响应于对指令消息的接收,通信服务器经由第一用户设备转发(618)指令消息到第一外围设备。在某些实施例中,响应于对针对第一外围设备的指令消息的接收,通信服务器得到(620)基于指令消息的内容生成的即时消息,并发送即时消息到第一用户设备,其中,在社交网络平台的群组对话界面中,第一用户设备将即时消息呈现为从支持服务提供商的公共联系身份到第一外围设备的相应社交网络身份的消息。这在图2O的通信配置中示出。例如,如果面包机的支持服务提供商想要从面包机收集面包制作使用频率数据,则支持服务器向面包机“Red的面包机”发送经由通信服务器和第一用户设备提交所请求的使用数据的编码指令。通信服务器还(例如,从支持服务器)得到反应编码指令的内容和/或目的的即时消息(例如,“@Red的面包机:请给我发送上个月的使用数据),并将其发送给第一用户设备以在支持服务器的社交网络身份、第一用户与面包机之间的群聊会话的对话日志中显示给用户。
在某些实施例中,得到即时消息进一步包括(622):从支持服务提供商处得到描述指令消息的目的的自然语言消息;以及将支持服务提供商的公共联系身份指定为自然语言消息的发送者,并将第一外围设备的相应社交网络身份指定为自然语言消息的目标接收者。
在某些实施例中,通信服务器经由第一用户设备从第一外围设备接收(624)针对指令消息的第一应答消息。响应于对第一应答消息的接收,通信服务器转发(626)第一应答消息到支持服务提供商。例如,当面包机通过编码消息提交使用数据到支持服务器时,编码消息首先达到第一用户设备并被第一用户设备发送到通信服务器,然后通信服务器将其转发到支持服务器。
在某些实施例中,响应于对第一应答消息的接收,通信服务器得到(628)基于第一应答消息的内容生成的第二即时消息;并发送第二即时消息到第一用户设备,其中,在社交网络平台的群组对话界面中,第一用户设备将第二即时消息呈现为从第一外围设备的相应社交网络身份到支持服务提供商的公共社交网络身份的消息。例如,在支持服务器通过第一应答消息接收到编码面包机使用数据之后,支持服务器将编码使用数据转译为人可读形式(例如,列表或表格)的编码使用数据并将其包括在第二即时消息中。支持服务器提供第二即时消息到通信服务器以便通信服务器将其发送到第一用户设备。第一用户设备将第二即时消息显示为从面包机“Red的面包机”到支持服务器的公共社交网络身份的应答。
在某些实施例中,通信服务器从支持服务提供商接收(630)第三即时消息,第三即时消息将第一用户标识为第三即时消息的目标并请求第三用户对第一外围设备进行操作或提供与第一外围设备有关的特定信息。响应于对第三即时消息的接收,通信服务器经由第一用户设备发送(632)第三即时消息到第一用户,其中,在社交网络平台的群组对话界面中,第三即时消息被呈现为从支持服务提供商的公共联系身份到第一用户的消息。在某些实施例中,响应于发送第三即时消息到第一用户,通信服务器经由第一用户设备从第一用户接收(634)第二应答消息;并且响应于对第二应答消息的接收,通信服务器将第二应答消息转发(636)到支持服务提供商,作为对第三即时消息的应答。例如,继续上述面包机的示例。支持服务器可生成第三即时消息,第三及时消息请求第一用户提供有关口味偏好的信息或者第一用户关于面包机的使用经验。支持服务器可在第三即时消息中陈述“你想要比Red的面包机制成的面包更软的面包吗?”。支持服务器发送第三即时消息到通信服务器以便通信服务器将其转发到用户设备“Red207”。在第三即时消息被发送到用户“Red207”并在第一用户设备处显示之后,用户可向支持服务器所问的问题提供应答。例如,用户可提供第二应答消息作为针对支持服务器的即时消息,其中,应答消息陈述“我想要更软的面包”。第二应答消息被发送到通信服务器,并且通信服务器转发第二应答消息到支持服务器。
在某些实施例中,支持服务提供商组合(638)第一应答消息中的信息(例如,从面包机“Red的面包机”接收的使用数据)与第二应答消息中的信息(例如,用户提供的口味和口感偏好)以准备针对第一外围设备的后续指令(例如,用于调整面包制作程序的基线的编码指令)和/或这对第一用户的后续指令(建议用户将来放稍多的水到面包机中的即时消息)。在某些实施例中,memorize编码指令的即时消息和/或到第一用户的即时消息被输入到当前群聊会话的对话日志中。
在某些实施例中,通信服务器从多个用户接收(640)多个所有者注册请求,多个所有者注册请求中的每个指定在提供商注册请求中所指定类型外围设备中的相应外围设备。响应于多个所有者注册请求,通信服务器为在多个所有者注册请求中指定的多个外围设备中的每个创建(642)相应社交网络身份。在某些实施例中,通信服务器创建社交网络社区,该社交网络社区包括支持服务提供商的公共社交网络身份、多个用户以及多个外围设备的相应社交网络身份。例如,通信服务器可为注册了同一类型面包机的所有用户创建在线社区,并使得他们与各自的设备一起能够具有用以相互通信的社交网络群组。在某些实施例中,通信服务器从支持服务提供商接收(646)广播消息,并且响应于对广播消息的接收,通信服务器经由相应用户设备将广播消息发送给当前登录服务器的多个外围设备中的每一个。例如,面包机的支持服务器可发送广播消息(例如,用于停用刚被发现不安全的特征的编码消息)到在线社区中所有的已注册面包机。接收到广播消息的所有面包机可根据广播消息中的指令进行动作。
上述示例性过程的其他特征和方面在本申请的其他部分提供。
图3A-3C是根据某些实施例的示例性过程700的流程图,示例性过程700用于通过社交网络平台提供外围设备之间的控制和访问。在某些实施例中,由社交网络平台的通信服务器来执行该过程。
在某些实施例中,通信服务器将耦接至第一用户设备的第一外围设备和第二外围设备注册(702)为与第一用户设备相关联的用户账户的相应社交网络联系人。例如,用户Red207可在通信服务器上注册其公寓中的气候控制设备和照明控制设备。假设通信服务器将各个社交网络身份“Red的气候大师”和“Red的照明大师”分配给气候控制设备和照明控制设备。两个设备都经由运行在用户设备上的社交网络客户端应用被耦接到用户的用户设备(例如,智能电话)。在某些实施例中,通信服务器经由在第一用户设备上运行的社交网络客户端应用使能(704)第一外围设备(例如,照明控制设备)与第二外围设备(例如,气候控制设备)之间的通信。
在某些实施例中,在社交网络客户端应用的群聊界面中,通信服务器呈现(708)用户设备的用户与代表第一和第二外围设备的相应社交网络联系人之间的群组对话,其中,群组对话包括对应于第一外围设备与第二外围设备之间的通信的内容的一个或多个即时消息。例如,通信服务器可提供群聊会话,在该群聊会话中,用户“Red207”与两个外围设备“Red的气候大师”和“Red的照明大师”可相互交换通信消息。在群聊的对话日志中,通信消息都被示为人类用户可读的即时消息,而不管各方之间所交换的原始消息是编码消息还是常规的即时消息。
在某些实施例中,经由在第一用户设备上运行的社交网络客户端应用使能第一外围设备与第二外围设备之间的通信进一步包括(706):经由第一用户设备从第一外围设备接收第一消息请求;基于第一消息请求,将第二外围设备标识为第一消息请求的一个或多个消息目标中的相应消息目标;基于第一消息请求的内容得到第二外围设备的第一编码消息;以及经由第一用户设备发送第一编码消息到第二外围设备。例如,如果照明控制设备检测到楼下起居室的灯已被关闭,以及楼上卧室的等已被打开,则照明控制设备可选地经由用户设备发送第一消息请求道通信服务器。第一消息请求包括至少一个针对气候控制设备的第一编码消息。第一编码消息是让气候控制设备关闭楼下的空气调节和打开楼上的空气调节的指令。在某些实施例中,针对气候控制设备的原始消息可为不同格式,并在该消息经由用户设备被发送到气候控制设备之前可被转换为气候控制设备可接受的格式。
在某些实施例中,通信服务器得到(710)对应于第二外围设备的第一编码消息的内容的第一即时消息,并发送(712)第一即时消息到第一用户设备,其中,第一即时消息在群聊界面被呈现为从代表第一外围设备的相应社交网络联系人到代表第二外围设备的相应社交网络的即时消息。例如,第一即时消息可以是说到“@Red的气候大师,Red已经上楼,请相应地调节空气调节”的消息。注意,第一消息是为了让用户明白设备之间发生了什么,因此,第一即时消息需要是两个外围设备之间传输的编码消息的逐字翻译。表达了编码消息的意思和内容的其他定制且更自然的表述可被通信服务器所使用。
在某些实施例中,基于第一消息请求,通信服务器将用户账户的用户标识(714)为第一消息请求的一个或多个消息目标中的附加消息目标。例如,照明控制设备可选地生成包括多个部分的第一消息请求,每个部分代表具有相应目标的相应消息。除了针对气候控制设备的编码指令,第一消息请求可选地包括针对用户Red207的另一消息。在某些实施例中,通信服务器基于第一消息请求的内容来生成(716)针对用户账户的用户的第二即时消息,并发送(718)第二即时消息到第一用户设备,其中,第二即时消息在群聊界面中被呈现为从代表第一外围设备的相应社交网络联系人到用户账户的用户。例如,第二即时消息可以是来自照明控制设备的消息,说到“Red207,炉子上方的灯仍开着,你想关闭它吗?”。第二即时消息是基于第一消息请求的包括有针对用户的编码消息的部分来生成的。例如,第一消息请求的包括有针对用户的编码消息的部分可以是消息,该消息具有代表无人看管的灯(“E01”)的异常代码和该无人看管的灯的位置代码(例如,“K5”)。
在某些实施例中,响应于经由第一用户设备发送第一编码消息(例如,用于改变楼上和楼下的空气调节的编码消息)到第二编码消息,通信服务器经由第一用户设备从第二外围设备接收(720)第一编码响应(例如,“+1”,意为“好的”)。响应于发送第二即时消息(例如,“Red207,炉子上方的灯仍开着,你想关闭它吗?”)到第一用户设备,通信服务器经由第一用户设备从用户账户的用户接收(722)第一即时消息(例如,“@Red的照明大师:关闭那盏灯”)。
在某些实施例中,通信服务器得到(724)针对第一外围设备的第二编码消息,第二编码消息是基于以下各项生成的:来自第二外围设备的第一编码响应中的信息和来自用户账户的用户的第一即时消息响应中的信息。通信服务器经由第一用户设备发送(726)第二编码消息到第一外围设备。例如,通信服务器得到针对照明控制设备的第二编码消息,其中,第二编码指令可以是让照明控制设备在关闭楼下烤箱上方的灯之后进入挂起模式。
在某些实施例中,通信服务器将耦接至第二用户设备的第三外围设备注册(728)为与第二用户设备相关联的用户账户的相应社交网络联系人;并经由运行在第一用户设备上的社交网络客户端应用和运行在第二用户设备上的社交网络客户端应用来使能(730)第一外围设备与第二外围设备之间的通信。例如,除了连接到Red207的用户设备上的气候控制设备和照明控制设备,由另一用户“Reddog”通过Reddog的平板设备控制的第三外围设备(例如,安全监测装置)可被添加到群聊会话中,并与气候控制设备和/或照明控制设备通信。
在某些实施例中,基于第一消息请求,通信服务器将第三外围设备标识为第一消息请求的一个或多个消息目标中的另一附加消息目标。例如,第一消息请求可包括附加部分,该附加部分包括针对耦接至第二用户设备的安全检测设备的编码消息,第二用户设备由第一用户的社交网络联系人“Reddog”来操作。通信服务器得到(734)针对第三外围设备(例如,安全监测系统)的第三编码消息(例如,“EXESFG001”,意为“打开所有门的安全检测”),其中,第三编码消息是基于第一消息请求的内容生成的。通信服务器经由第二用户设备(例如,Reddog的平板设备)发送(736)第三编码消息到第三外围设备。
在某些实施例中,响应于经由第二用户设备发送第三编码消息到第三外围设备,通信服务器经由第二用户设备从第三外围设备接收(738)第二编码响应。例如,安全监测设备,在接收打开所有门的安全监测的编码消息之后,发送指令确认(acknowledgement ofinstruction)到照明控制设备。在某些实施例中,通信服务器得到(740)针对第一外围设备的第四编码消息,第四编码消息是基于第二编码响应的内容生成的。通信服务器经由第一用户设备发送(742)针对第一外围设备的编码响应到第一外围设备。例如,由于照明控制设备和安全监测设备的原有消息格式可能不同,从第三外围设备接收的第二编码响应需要被转换为第一外围设备所接受的格式。因此,通信服务器得到针对第一外围设备的第四编码消息,其中,第四编码消息第二编码响应到第一外围设备的消息格式的转译。
在某些实施例中,响应于经由第二用户设备发送第三编码消息到第三外围设备,通信服务器经由第二用户设备从第三外围设备接收(744)第二编码响应;以及通信服务器在经由第一用户设备发送第二编码消息到第一外围设备之前,将第二编码响应包括(746)在第二编码消息中。例如,第二编码消息是让照明控制设备在关闭楼下烤箱上方的灯之后进入挂起模式。第二编码响应是来自安全监测系统、表明所有门都被保护的响应,因此,发送到照明控制设备的组合消息仅为在关闭烤箱灯之后进入休眠模式,因为所有其他任务(例如,改变空气调节和激活门的安全监测)分别已有气候控制设备和安全监测设备进行了处理。
上述示例性过程的其他特征和方面在本申请的其他部分提供。
图8是示出了根据某些实施例由外围设备和用户设备执行的示例性设备发现过程和后续的通信过程的时间要求(timing requirement)。
如上所述,经由社交网络平台对外围设备进行访问和控制要求外围设备通过运行在设备上的社交网络客户端应用而被连接至用户设备。用户设备也通过社交网络客户端应用与社交网络平台的通信服务器通信。在用户设备与外围设备之间,使用用户连接(例如,WiFi连接、USB连接、蓝牙连接、蓝牙低能耗连接、超声连接、雷电接口(Thunderbolt)连接等)来向和从外围设备传送数据(例如,针对外围设备的编码指令、以及源自外围设备的编码响应)。
对于连接外围设备与用户设备,蓝牙和蓝牙低能耗协议易于使用和执行。常用蓝牙设计准则(例如,蓝牙TM4.0设计准则、供苹果TM产品使用的苹果TM蓝牙设计准则)不是专门为经由社交网络平台对外围设备进行控制的环境而制作的。图8示出了旨在改善用户体验的对常用蓝牙设备发现过程的某些改进。
如图8所示,蓝牙使能的外围设备充当(例如,通过广播设备发现消息)进行通告并等待连接请求的从设备(Slave)。用户设备充当扫描其他设备并发送连接请求到所发现外围设备的主设备(Master)。
如图8所示,为提高连接效率,外围设备的广播周期被分为初始广播周期(例如,广播轴的前30秒),以及后续广播周期(例如,广播周期中初始广播周期之后的部分)。在初始广播周期中,外围设备重复广播设备发现消息,相邻设备发现消息之间(例如,相邻设备发现消息广播时隙之间)的相应间隔不大于500毫秒(ms)。在初始广播周期之后,如果未接收到连接请求,则外围设备放慢广播,并且在相邻设备发现消息之间的相应间隔不大于3秒的情况下重复广播设备发现消息。在某些实施例中,当被上电时,外围设备启动广播周期。在某些实施例中,用户可提供信号到外围设备以启动广播周期。
在广播周期中,用户设备扫描设备发现消息,并且当用户设备检测到来自外围设备的设备发现消息时,用户设备确定外围设备是否为已经执行了本申请所述方法的设备。例如,在某些实施例中,外围设备包括指定给与在用户设备上运行的社交网络应用相关联的社交网络服务的预定标识符。例如,该预定标识符可事先发布给外围设备的制造商,以使得制造商预先设置其外围设备以在设备发现消息中将标识符作为UUID进行广播。标识符使得用户设备能够快速确定可与社交网络客户端应用进行通信以实现本申请所述方法的外围设备是否出现。
图8还示出在某些实施例中两个连续连接事件之间的时间间隙在建立了连接之后被预设为30ms。这使得传输协议符合工业标准,并同时实现相对高的传输速度。在某些实施例中,连接时间的超时窗口为2秒,这与其他标准相比相对短,因而确保较快发现延迟的连接。
图9A-9B是根据某些实施例由外围设备和用户设备实现的示例性数据传送过程的简化流程图。
当在设备之间传送数据时,在社交网络客户端应用与社交网络平台的通信服务器之间传输的数据包的格式遵循预定的格式协议,以使得通信服务器能识别数据包的性质、其原始信源和最终信宿、以及待转发到信宿方的数据包的酬载。由于根据用户设备与外围设备之间所用的连接的类型以及根据用户设备与通信服务器之间所用连接类型的不同,数据包可能包含可变长度数据(例如,即时消息、图像、语音、来自各种类型外围设备的编码指令等),因此,单个数据包可被划分并通过多个数据块在连接上发送。
以用户设备与外围设备之间的连接为例,如果该连接为常规蓝牙连接,则数据传输可通过具有固定长度的数据流来实现。然而,如果该连接为蓝牙低能耗连接,则针对每个数据传送操作(例如,读、写、指示或通知操作),数据长度具有最大极限(例如,20字节)。因此,为了发送可变长度数据包,数据包需要被分为数据块并被依次存储为或写入暴露的特征的值(value for an exposed characteristic),并且用户设备和外围设备需要将每个所检测的值翻译为连续数据流的一部分并在得到所有数据块的值之后重新组装数据包。换言之,需要执行用于仿真连续数据流的过程以在蓝牙低能耗连接(或仅允许短突发数据传送操作的其他类型连接)上传送可变长度数据。
在某些实施例中,当使用常规蓝牙连接时,外围设备暴露预定rfcomm服务(例如,表示与社交网络客户端应用相关联的服务)的预定UUID(例如,0xFEC6)。在执行设备发现过程(如图2F以及相应描述所示的过程)时,用户设备扫描该预定UUID。一旦建立连接,就通过数据流在蓝牙连接上发送数据。每个数据包包括请求(Request)、对请求的响应(Responseto the Request)或推送请求(Push Request)之一。推送请求数据包包括推送请求,推送请求不需要响应。推送请求被用于发送来自支持服务器或通信服务器并针对用户设备或外围设备的指令或消息。请求被用于发送来自用户设备或外围设备并针对支持服务器或通信服务器的请求或消息。每个请求需要对应的响应。请求及其对应响应通过共享同一序列号而匹配。每个数据包包括单个请求、响应或推送文件,并且每个数据包在连接上作为相应的数据流进行发送。
在某些实施例中,每个数据包包括固定长度标头部分和可变长度正文部分。例如,在某些实施例中,标头部分可包括:不同固定字段,例如,用于输入代表社交网络服务的幻数(magic number)的相应字段(bMagicNumber=0xFE);协议版本号(例如,bVer=1);包总长度(例如,标头+正文=45字节);命令ID(例如,用于验证请求的命令ID=3,或者用于发送数据到支持服务器的命令ID=5等);包顺序号(例如,用于请求的顺序号=非零数,用于推送请求的顺序号=0)。
以下是示例性数据包格式:
每个数据包包括请求、响应或推送请求,以及每个请求、响应和推送请求包括与社交网络应用所提供的相应功能(例如,验证、获取联系人列表、启动聊天会话、建立群聊会话、发送消息、发送图像、播放语音消息等)对应的相应命令ID。
当在支持可变长度数据包的连接上发送数据包时,数据包长度字段使得接收者能够确定何时到达整个数据的末端。标头信息的其他字段使得接收者能够获知如何处理包含在数据包的正文中的数据,例如,进一步转发数据、解开并执行其中包含的命令、使用其中包含的参数来执行所请求的功能、或者将其中的数据转译或转化成不同格式等。
如果连接为蓝牙低能耗连接,则通过暴露的特征来发送数据,暴露的特征是指数据中可通过每个数据传送操作来发送的仅仅一小部分。为了发送大于特征所设定的数据尺寸限制的可变长度数据包,需要一种通过暴露的特征使用数据传送操作来仿真连续数据流的方法。
图9A示出了当数据包(例如,请求)从外围设备发送到用户设备时由外围设备和用户设备所执行的操作的简化流程。图9B示出了当数据包(例如,推送请求或响应)从用户设备发送到外围设备时由外围设备和用户设备所执行的操作的简化流程。由于蓝牙低能耗连接使得数据发送和接收能够以双工方式进行,所以图9A和9B中所示的过程可以一复用方式执行而不相互干扰。
在某些实施例中,当外围设备经由蓝牙低能耗连接被连接至用户设备时,外围设备暴露社交网络客户端应用的服务的预设UUID(例如,0xFEC6)以及两个预设特征(例如,UUID:0xFEC7以及UUID:xFEC8)。一个特征(例如,0xFEC7)用于从用户设备接受数据(即,用于读数据的特征),它被使能了“写”特性。其他特征(例如,0xFEC8)用于发送数据到用户设备(即,用于写数据的特征),它被使能了“指示”特性。当建立到外围设备的连接时,用户设备检测并同意这两个暴露的特征。这分别在图9A和9B中被示为第一步骤。
如图9A所示,用于将数据从外围设备发送到用户设备的过程包括:
(1)外围设备经由用户设备得到待发送到另一方(例如,用户、通信服务器、支持服务器、或另一外围设备)的数据包(例如,请求)。数据包遵循上述格式。
(2)外设确定被暴露给用户设备用于发送数据到用户设备的特征(例如,用于写数据的特征0xFEC8)。
(3)外围设备得到用于写的暴露特征中所包含的值的尺寸限制并将数据包分为一个或多个帧以及任何剩余部分。特征中所包含的值的最大尺寸限制是指帧尺寸。不同的特征针对其值具有不同的最大尺寸限制。通常,帧的尺寸限制为20字节,而数据包的尺寸可以为几百或几千字节。
(4)外围设备根据用于写的暴露特征的尺寸限制将数据包分为一系列帧。例如,如果健康检测腕带需要发送1千字节数据到用户设备,数据包的尺寸为1024字节,用于写的特征的值的尺寸限制为20字节,则数据被分为51个尺寸为20字节的帧以及位于末端的4字节剩余部分。
(4)外围设备填充可能存在的剩余部分以形成全帧。
(5)为了发送一系列全帧(包括经填充的剩余部分),外围设备将每个帧逐个写为用于写的暴露特征的值,然后向用户设备通知更新值。在某些实施例中,特征被使能了“指示”特性,因此,当每次外围设备将新值(例如,整个帧序列中下一未发送的帧)写入用于写的特征时,新值被推动到用户设备。在某些实施例中,也有可能使用“通知”而不是“指示”作为用于写的特征的经使能特性。然而,“指示”模式要求确认(confirmation)确认使得外围设备能够获知何时发送序列中的下一未发送帧。
(6)在用户设备侧,用户设备接收用于写的暴露特征中的更新值的指示。
(7)一旦用户设备得到用于写的暴露特征中的当前值,用户设备发送针对值(当前帧)的接收的相应确认。
(8)一旦外围设备接收到用于写的暴露特征中的当前帧已被接收的确认,外围设备就将下一未发送帧写为用于写的特征的值,并经由指示模式来推送更新值。
(9)重复步骤6-8直到外围设备完成整个帧序列中所有帧的发送为止。
(10)当用户设备接收到整个帧序列中的所有帧时,用户设备可重新组合数据包(例如,请求)。
图9B示出了如何经由蓝牙低能耗连接将数据包(例如,推送请求或响应)从用户设备发送到外围设备。
(1)用户设备得到待发送到外围设备的数据包(例如,推送请求或响应)数据包遵循上述格式。
(2)用户设备确定被暴露给用户设备用于从用户设备接收数据的特征(例如,用于读数据的特征0xFEC7)。用户设备得到用于读的暴露特征中所包含的值的尺寸限制。
(4)外围设备根据用于读的暴露特征的尺寸限制将数据包分为一系列帧。
(5)如果上述帧划分存在任何剩余部分,则外围设备填充剩余部分以形成全帧。从帧划分和剩余部分填充得到的全帧形成了待发送到外围设备的数据包的全帧序列。
(5)为了发送一系列全帧(包括经填充的剩余部分),用户设备将每个帧逐个写为用于读的暴露特征的值。当用于读的暴露特征中的当前值被外围设备所确认时,用户设备可继续将下一未发送帧写入特征。
(6)在外围设备侧,外围设备接收特征的值已经被更新的通知,读取该值并将其存储在读缓存中。外围设备还可选地发送针对更新值的确认(acknowledgement)。
(9)重复步骤5-6直到用户设备完成全帧序列中所有帧的发送为止。
(10)当外围设备接收到整个帧序列中的所有帧时,外围设备可重新组合数据包(例如,推送请求或响应)。
在某些实施例中,当数据包(例如包含请求、响应和推送请求的数据包)在社交网络环境的各方(例如,外围设备、用户设备、通信服务器和支持服务器)之间传输时,数据包可按顺序发送,以及也可根据特定实施方式不按顺序发送。在某些实施例中,可以以双工方式来发送和接收数据包。当设备处于发送数据包的过程中时,该设备可在任意时刻接收数据包。
在某些实施例中,要求仅当当前处理的数据包已被接收时,外围设备才可发送下一数据到用户设备。相应地,要求仅当当前处理的数据包已被外围设备所接收时,用户设备才可发送下一数据到外围设备。在外围设备上,存在外出(outgoing)数据包序列,以及也存在进入(incoming)数据包序列。外出数据包序列包括包含有请求的数据包,以及进入数据包序列包括包含有推送请求和响应的数据包。
在某些实施例中,yoghurt设备与通信服务器之间的数据包传输也是双工的。换言之,当用户设备发送数据包到通信服务器时,用户设备也可在任意时刻从通信服务器接收数据包。用户设备可在任意时刻发送多个数据包。例如,用户设备可发送具有用于下载图像的请求的数据包,但在包含有针对请求的响应的数据包之前,用户设备还可发送具有用于下载语音消息的请求的另一数据包。这样,乱序的数据包就很常见了。在某些实施例中,有序数据传输被可选地执行,在有序数据传输中,当发送包含请求的数据包时,用户设备等待包含对应响应的数据包。只有接收到针对当前处理的请求的响应时,才进行下一请求数据包的发送。
在某些实施例中,包含推送请求的数据包的顺序号通常被设为0,而包含请求和响应的数据包的顺序号从不为0。
在某些实施例中,通信服务器和支持服务器可在任意时刻发出推送请求。在某些实施例中,如果支持服务器需要针对特定推送请求的响应,则支持服务器可将针对响应的请求包括在推送请求的正文中,以使得接收到推送请求的外围设备可在后续请求中发送所请求的响应。请求的正文可引用先前从支持服务器接收到的推送请求。
图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)),并且推送请求(例如,DataChangePushReq(seq=0))可在针对先前接收的请求(SendDataEquipSvr(seq=2))的响应(例如,SendDatatoEquipSvrResp(seq=2))被发送回外围设备之前被发送到外围设备(经由用户设备)。
图10B也示出了通信服务器可在任意时刻插入推送请求(例如,EquipSvrDataPushReq(seq=0))。推送请求(例如,EquipSvrDataPushReq(seq=0))可以是从通信服务器接收的推送请求,并且通信服务器可可选地在针对先前接收的请求(SendDataEquipSvr(seq=2))的响应(例如,SendDatatoEquipSvrResp(seq=2))被发送回外围设备之前将其发送到外围设备(经由用户设备)。
图10C示出了当存在包含有从外围设备发送到通信服务器和支持服务器的请求的多个数据包时,这些数据包可不按顺序到达支持服务器(例如,SendDatatoEquipSvrReq(seq=3)先于SendDatatoEquipSvrReq(seq=2)到达支持服务器)。因此,针对乱序请求的响应也可不按顺序到达通信服务器(例如,SendDatatoEquipSvrResp(seq=3)先于SendDatatoEquipSvrResp(seq=2)到达通信服务器、用户设备和外围设备)。
图11A是根据某些实施例由外围设备执行的示例性蓝牙连接过程1100的流程图。
在某些实施例中,一种用于经由蓝牙连接将外围设备连接到用户设备的方法由外围设备来执行。在某些实施例中,外围设备发起(1102)广播过程,包括:广播设备发现消息,设备发现消息包括指定给与在用户设备上运行的社交网络应用相关联的社交网络服务的预定标识符。外围设备从用户设备接收(1112)对应于设备发现消息的连接请求。响应于从用户设备接收连接请求,外围设备建立(1114)到用户设备的蓝牙连接。
在某些实施例中,在广播过程中:在初始广播周期中的一系列第一传输时隙的每个第一传输时隙内,外围设备广播(1104)设备发现消息;以及如果在初始广播周期中未接收到响应设备发现消息的连接请求,在初始广播周期之后的后续广播周期中的一系列第二传输时隙的每个第二传输时隙内,广播设备发现消息,其中,每个第一传输时隙短于每个第二传输时隙。在某些实施例中,外围设备将初始广播周期预设(1106)为30秒。在某些实施例中,外围设备将每个第一传输时隙预设(1108)为不长于500毫秒。在某些实施例中,外围设备将每个第二传输时隙预设(1110)为不长于3秒。在某些实施例中,外围设备将每个第一传输时隙预设为500毫秒。在某些实施例中,外围设备将每个第二传输时隙预设为3秒。
在某些实施例中,针对外围设备与用户设备之间的连接事件,外围设备预设(1116)不大于2秒的时隙窗口。在某些实施例中,外围设备将两个连续连接事件之间的时间间隙预设为30毫秒。
在某些实施例中,预定标识符由社交网络应用的供应商针对社交网络应用的主服务来指定。
图11A是根据某些实施例由用户设备执行的示例性蓝牙连接过程1120的流程图。该过程1120对应于过程1100。因此,结合各种时间参数所描述的特征也适用于过程1120。
在某些实施例中,用户设备发起(1122)设备扫描过程,包括:检测来自外围设备的设备发现消息,并确定设备发现消息是否包括指定给与在用户设备上运行的社交网络应用相关联的社交网络服务的预定标识符。当确定设备发现消息包括指定给与在用户设备上运行的社交网络应用相关联的社交网络服务的预定标识符时,用户设备向外围设备发送(1124)对应于设备发现消息的连接请求,并建立(1126)到外围设备的蓝牙连接。
上述示例性过程的其他特征和方面在本申请的其他部分提供。
图9A至9B是根据某些实施例用于在外围设备与用户设备之间传输数据包的示例性过程1200的流程图。过程1200由经由蓝牙低能耗连接已经连接到用户设备的外围设备来执行。
在某些实施例中,外围设备通过仿真数据流发送(1202)数据(例如,包含请求的数据包)到用户设备。为了通过仿真数据流发送数据:外围设备识别(1204)用于写数据的第一蓝牙特征(例如,具有使能的“指示”特性的蓝牙特征),第一蓝牙特征由外围设备通过当前连接事件暴露给用户设备。外围设备将待发送到用户设备的数据包(例如,一共1024字节)划分(1206)为一系列数据帧(例如,51个帧)以及0或1个剩余部分,每个数据帧具有等于所识别的第一蓝牙特征的预定数据尺寸(例如,20字节)的相应尺寸(例如,20字节),以及剩余部分(例如,4字节)具有小于所识别的第一蓝牙特征的预定数据尺寸的相应尺寸。
在某些实施例中,对于一系列数据帧中的每一个,外围设备将数据帧写入(1028)所识别的第一蓝牙特征的相应值;以及推送所识别的第一蓝牙特征以供用户设备读取。在某些实施例中,推送所识别的第一蓝牙特征以供所述用户设备读取进一步包括(1210):通过指示操作来请求所述用户设备读取所识别的第一蓝牙特征的更新值。
在某些实施例中,外围设备填充(1212)剩余部分(如果有)以得到经填充剩余部分,该经填充剩余部分具有等于所识别的第一蓝牙特征的预定尺寸(例如,20字节)的相应尺寸(例如,20字节)。外围设备将经填充剩余部分写入(1214)所识别的第一蓝牙特征的相应值。外围设备推送所识别的第一蓝牙特征以供用户设备读取。
在某些实施例中,针对一系列数据帧中的每一个,外围设备从用户设备接收(1216)对所识别的第一蓝牙特征进行读取的相应确认,其中,响应于对所述相应确认的接收来写入和推送所述一系列数据帧中的下一数据帧直到所述数据包中没有数据帧或剩余部分要发送为止。
在某些实施例中,用户设备将从所识别的第一蓝牙特征读取的相应值重新组装为数据包。
在某些实施例中,数据包包括源自外围设备并针对外围设备的支持服务提供商的消息。在某些实施例中,数据包包括源自外围设备并针对用户设备的用户的消息。在某些实施例中,数据包包括源自外围设备并针对用户设备的用户的社交网络联系人的消息。在某些实施例中,用户设备的用户的社交网络联系人是另一用户。在某些实施例中,用户设备的用户的社交网络联系人是另一外围设备。
在某些实施例中,外围设备通过第二仿真数据流接收(1218)数据。为了通过第二仿真数据流从用户设备接收数据,外围设备从用户设备接收(1220)一系列写请求以写入用于接收数据的第二蓝牙特征,第二蓝牙特征由外围设备通过当前连接事件暴露给用户设备。响应于对一系列写请求的接收,外围设备读取(1222)第二蓝牙特征中的相应值。在外围设备的读缓存中,外围设备对响应于一系列写请求中的每一个对已经被读取的相应值加以存储(1224)。外围设备将存储在读缓存中的相应值重新组装(1226)为第二数据包。
在某些实施例中,第二数据包是源自外围设备的支持服务提供商并针对外围设备的指令。在某些实施例中,第二数据包是源自在用户设备上运行的社交网络客户端应用并针对外围设备的指令。在某些实施例中,第二数据包是针对外围设备所发送的先前请求的响应。
图13A-13B是根据某些实施例用于在外围设备与用户设备之间传输数据包的示例性过程1300的流程图。过程1300由经由蓝牙低能耗连接已经连接到外围设备的用户设备来执行。
在某些实施例中,用户设备通过仿真数据流发送(1302)数据到外围设备。为了通过仿真数据流发送数据:用户设备识别(1304)用于发送数据到外围设备的第一蓝牙特征(例如,具有使能的写特性的特征),第一蓝牙特征由外围设备通过当前连接事件暴露给用户设备。用户设备将待发送到外围设备的第一数据包划分(1306)为一系列数据帧(例如,51个帧)以及0或1个剩余部分,每个数据帧具有等于所识别的第一蓝牙特征的预定数据尺寸的相应尺寸,以及剩余部分具有小于所识别的第一蓝牙特征的预定数据尺寸的相应尺寸。针对一系列数据帧中的每一个,用户设备发送(1308)将数据帧写入所识别的第一蓝牙特征的相应值的相应写请求。
在某些实施例中,如果在帧划分后存在剩余部分,则用户填充(1310)剩余部分以的得到经填充剩余部分,该经填充剩余部分具有等于所识别的第一蓝牙特征的预定数据尺寸的相应尺寸。用户设备还发送(1312)将经填充剩余部分写入所识别的第一蓝牙特征的相应值的相应写请求。
在某些实施例中,针对一系列数据帧中的每一个,用户设备对与数据帧相关联的相应写请求的相应确认进行接收(1314),其中,响应于对相应确认的接收来发送针对一系列数据帧中的下一数据帧的相应写请求直到数据包中没有数据帧或剩余部分要发送为止。
在某些实施例中,用户设备将写入所识别的第一蓝牙特征的相应值重新组装为第一数据包。在某些实施例中,第一数据包包括源自外围设备的支持服务提供商并针对外围设备的指令。在某些实施例中,第一数据包包括源自在外围设备上运行的社交网络客户端应用的通信服务器的指令。
在某些实施例中,外围设备通过第二仿真数据流从外围设备接收(1316)数据。为了通过第二仿真数据流接收数据,用户设备从外围设备接收(1318)一系列指示以读取第二蓝牙特征(例如,具有使能的指示特性的特征),第二蓝牙特征由外围设备通过当前连接事件暴露给用户设备。响应于对一系列指示中的每个指示的接收:用户设备读取(1320)第二蓝牙特征中的相应值,发送用于读取相应值的相应确认,并将相应值存储在用户设备的读缓存中。用户设备将存储在读缓存中的相应值重新组装(1322)为第二数据包。
在某些实施例中,第二数据包包括源自外围设备并针对外围设备的支持服务提供商的消息。在某些实施例中,第二数据包包括源自外围设备并针对用户设备的用户的消息。在某些实施例中,第二数据包为源自外围设备并针对用户设备的用户的社交网络联系人的消息。
图12A-12B和13A-13B中所示过程的其他方面和特征在本申请的其他部分进行描述。
图14A-14B是根据某些实施例的示例性过程1400的流程图,示例性过程1400用于传输数据(例如,包含相应请求、响应和推送请求的数据包)以通过社交网络平台来访问和控制外围设备。
在某些实施例中,在包括所述外围设备的一类外围设备的支持服务提供商的服务器(例如,支持服务器)处执行该过程1400。
在某些实施例中,支持服务器在社交网络平台的服务器上注册(1402)为外围设备的支持服务提供商。支持服务器发起(1404)通信事件以发送指令到外围设备,发起通信事件包括:生成针对所述指令的推送请求数据包。其中,推送请求数据包将所述外围设备标识为所述指令的目标;以及通过社交网络平台的服务器和耦接至外围设备的用户设备将推送请求数据包发送到外围设备。在某些实施例中,推送请求数据包不要求来自所述指令的目标的响应,并且所述方法还包括:在没有从外围设备接收到针对推送请求数据包的任何响应的情况下发送请求数据包之后,执行通信事件。
在某些实施例中,支持服务器经由耦接至外围设备的用户设备以及社交网络平台的服务器从外围设备接收(1406)请求数据包。响应于从外围设备对请求数据包的接收,支持服务器经由社交网络平台的服务器和耦接至外围设备的用户设备发送(1408)响应数据包到外围设备。
在某些实施例中,推送请求数据包、请求数据包和响应数据包具有(1410)固定长度包标头和可变长度包正文。在某些实施例中,固定长度包标头包括预定命令标识符和相应的包顺序号。在某些实施例中,响应数据包包括与包括在请求数据包中的第二包顺序号匹配的第一包顺序号,以及推送请求数据包包括与第一和第二包顺序号不同的第三包顺序号。
在某些实施例中,预定命令标识符对应于用于访问社交网络平台的相应功能的命令。在某些实施例中,所述命令为访问社交网络平台的用户验证功能,并且包正文指定了分配给社交网络平台上的外围设备的一类用户身份。在某些实施例中,所述命令为访问社交网络平台上的外围设备的联系人列表,以及包正文指定了代表用户、支持服务提供商或另一外围设备的至少一个联系人。在某些实施例中,所述命令为访问社交网络平台上的消息功能,以及包正文指定了针对至少一个联系人的消息,至少一个联系人代表用户、支持服务提供商或另一外围设备。在某些实施例中,所述命令为访问社交网络平台上的消息功能,以及包正文指定了源自至少一个联系人的消息,至少一个联系人代表用户、支持服务提供商或另一外围设备。在某些实施例中,所述命令为访问社交网络平台上的消息功能,以及包正文指定了针对至少一个联系人的消息,至少一个联系人代表用户、支持服务提供商或另一外围设备。在某些实施例中,所述命令为访问社交网络平台上的群聊功能,以及包正文指定了介于外围设备与外围设备的两个或多个相应社交网络联系人之间的群聊会话,外围设备的两个或多个相应社交网络联系人包括多个用户中的两个或更多个、支持服务器以及多个其他外围设备。在某些实施例中,所述命令为访问社交网络平台上的对话日志功能,以及包正文指定了介于外围设备与外围设备的两个或多个相应社交网络联系人之间的群聊会话的对话日志,外围设备的两个或多个相应社交网络联系人包括多个用户中的一个或更多个、支持服务器以及多个其他外围设备。其他类型的命令在本申请的其他部分中进行描述或者根据本申请所提供的使用示例是明显的。
图14A-14B中所示过程的其他方面和特征在本申请的其他部分进行描述。
图15A-15B是根据某些实施例的示例性过程1500的流程图,示例性过程1500用于传输数据(例如,包含相应请求、响应和推送请求的数据包)以通过社交网络平台来访问和控制外围设备。
在某些实施例中,由社交网络平台的服务器(例如,通信服务器)来执行该过程1500。
在某些实施例中,通信服务器将外围设备注册(1502)为与该外围设备耦接的用户设备的相关联外围设备。通信服务器从包括所述外围设备的一类外围设备的支持服务提供商接收(1504)第一推送请求数据包,其中,第一推送请求数据包将外围设备标识为第一推送请求数据包的目标。响应于对第一推送请求数据包的接收,通信服务器经由耦接至外围设备的用户设备转发(1506)第一推送请求数据包到外围设备。在某些实施例中,第一推送请求数据包不要求来自指令的目标的响应。
在某些实施例中,通信服务器发起(1508)通信事件以发送指令到外围设备,发起通信事件包括:生成针对所述指令的第二推送请求数据包。其中,第二推送请求数据包将所述外围设备标识为所述指令的目标;以及经由耦接至外围设备的用户设备将第二推送请求数据包发送到外围设备。在某些实施例中,第二推送请求数据包不要求来自所述指令的目标的响应,并且所述方法还包括:在没有从外围设备接收到针对第二推送请求数据包的任何响应的情况下发送第二推送请求数据包之后,执行通信事件。
在某些实施例中,通信服务器经由耦接至外围设备的用户设备从外围设备接收(1510)第二请求数据包,第二请求数据包将支持服务提供商标识为第二请求数据包的目标。响应于从外围设备对第二请求数据包的接收,通信服务器转发(1512)第二请求数据包到支持服务提供商的服务器。在某些实施例中,响应于转发第二请求数据包到支持服务提供商的服务器,通信服务器从支持服务提供商的服务器接收第二响应数据包,第二响应数据包由支持服务提供商的服务器响应于第二请求数据包来生成。响应于对第二响应数据包的接收,通信服务器经由耦接至外围设备的用户设备转发(1516)第二响应数据包到外围设备。
在某些实施例中,推送请求数据包、请求数据包和响应数据包具有(1410)固定长度包标头和可变长度包正文。在某些实施例中,固定长度包标头包括预定命令标识符和相应的包顺序号。在某些实施例中,响应数据包包括与包括在请求数据包中的第二包顺序号匹配的第一包顺序号,以及推送请求数据包包括与第一和第二包顺序号不同的第三包顺序号。
在某些实施例中,预定命令标识符对应于用于访问社交网络平台的相应功能的命令。在某些实施例中,所述命令为访问社交网络平台的用户验证功能,并且包正文指定了分配给社交网络平台上的外围设备的一类用户身份。在某些实施例中,所述命令为访问社交网络平台上的外围设备的联系人列表,以及包正文指定了代表用户、支持服务提供商或另一外围设备的至少一个联系人。在某些实施例中,所述命令为访问社交网络平台上的消息功能,以及包正文指定了针对至少一个联系人的消息,至少一个联系人代表用户、支持服务提供商或另一外围设备。在某些实施例中,所述命令为访问社交网络平台上的消息功能,以及包正文指定了源自至少一个联系人的消息,至少一个联系人代表用户、支持服务提供商或另一外围设备。在某些实施例中,所述命令为访问社交网络平台上的消息功能,以及包正文指定了针对至少一个联系人的消息,至少一个联系人代表用户、支持服务提供商或另一外围设备。在某些实施例中,所述命令为访问社交网络平台上的群聊功能,以及包正文指定了介于外围设备与外围设备的两个或多个相应社交网络联系人之间的群聊会话,外围设备的两个或多个相应社交网络联系人包括多个用户中的两个或更多个、支持服务器以及多个其他外围设备。在某些实施例中,所述命令为访问社交网络平台上的对话日志功能,以及包正文指定了介于外围设备与外围设备的两个或多个相应社交网络联系人之间的群聊会话的对话日志,外围设备的两个或多个相应社交网络联系人包括多个用户中的一个或更多个、支持服务器以及多个其他外围设备。其他类型的命令在本申请的其他部分中进行描述或者根据本申请所提供的使用示例是明显的。
图15A-15B中所示过程的其他方面和特征在本申请的其他部分进行描述。
图16是根据某些实施例的示例性过程1600的流程图,示例性过程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、DDR RAM或其他随机访问固态存储设备;并且,可选地包括非易失性存储器,比如一个或多个磁盘存储设备、光盘存储设备、闪存设备或其他非易失性固态存储设备。存储器1706可选地包括远离CPU1702的一个或多个存储设备。存储器1706,或者替代性地存储器1706内的非易失性存储设备包括非瞬时性计算机可读存储介质。在某些实施例中,存储器1706或者存储器1706的非瞬时性计算机可读存储介质存储有以下程序、模块和数据结构或者其子集或超集(superset):
·操作系统1716,包括用于处理各种基本系统服务和执行硬件相关任务(dependent task)的程序;
·网络通信模块1718,用于经由一个或多个(有线或无线)网络接口1704(例如,蓝牙、WiFi、蓝牙低能耗、USB等)将外围设备1700连接到其他计算设备(例如,用户设备104);
·呈现模块1720,用于经由一个或多个与用户接口1710相关联的输出设备1712(例如,显示屏、扬声器等)使得能够在外围设备1700处呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);以及
·输入处理模块1722,用于对一个或多个来自一个或多个输入设备1714之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在某些实施例中,存储器1706还包括用于执行数据处理的外围设备模块1724,以用于执行外围设备的本地操作以及如本申请所述通过社交网络平台与其他设备和/或用户进行通信所需的操作。在某些实施例中,外围设备模块1724包括但不限于:
○连接模块1726,被配置为与运行社交网络客户端应用的用户设备建立连接。例如,连接模块实施本申请所述的连接协议,用于广播社交网络应用的服务ID以及接受来自用户设备的连接请求;
○数据传输模块1728,被配置为生成待发送给用户设备的数据包,以及根据用户设备与外围设备之间的数据传输协议商定来发送数据包;并被配置为根据用户设备与外围设备之间的数据传输协议商定来接收并重新组装数据包。
○消息生成模块1730,被配置为准备针对其他用户、其他外围设备、通信服务器、支持服务器等的请求(例如,包括编码指令和编码消息);
○消息翻译模块1732,被配置为将所接收的请求(例如,包括编码指令)解析为内部操作;
○功能执行模块1734,被配置为实现所接收的请求中所请求的功能或任务;以及
○其他模块1736,被配置为根据社交网络平台上的互动执行本申请所述的其他功能。
上述的元素中的每一个可被存储在一个或多个先前所提及的存储设备中,并且对应于一组用于执行上述功能的指令。上面模块或程序(即,指令即)并不需要作为独立的软件程序、步骤、模块或数据结构来执行,并且在各种实施方式中这些模块的各种子集可被组合或以其他方式重组。在某些实施方式中,存储器1706可选地存储有所述模块和数据结构的子集。此外,存储器1706可选地存储有上面为描述过的附加模块和数据结构。
图18的框图示出了根据某些实施例与用户相关联的代表性用户设备1800。用户设备1800可充当根据本申请所述的实施例可被用于经由社交网络平台对外围设备(例如,本地连接的外围设备或连接至另一用户设备的外围赛设备)进行控制和访问的用户设备(例如,图1B、2K-2T、8、9A-9B、10A-10C中所示的用户设备104以及图2B-2H中所示的用户设备202)。用户设备的示例包括但不限于智能电话、平板设备、台式计算机、便携式计算机、游戏设备等。
典型地,用户设备1800包括:一个或多个处理单元(CPU)1802、一个或多个网络接口1804、存储器1806、以及用于互连这些部件(有时称为芯片组)的一根或多根通信总线1808。用户设备1800还可选地包括用户接口1810。用户接口1810包括使得能够呈现媒体内容的一个或多个输出设备1812,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口1810还包括一个或多个输入设备1814,包括有助于用户输入的用户接口部件,比如键盘、鼠标、语音命令输入单元或麦克风、触屏显示屏、触摸敏感输入板、姿势捕获摄像头、或其他输入按钮或控件等。
存储器1806包括高速随机访问存储器,比如DRAM、SRAM、DDR RAM或其他随机访问固态存储设备;并且,可选地包括非易失性存储器,比如一个或多个磁盘存储设备、光盘存储设备、闪存设备或其他非易失性固态存储设备。存储器1806可选地包括远离CPU1802的一个或多个存储设备。存储器1806,或者替代性地存储器1806内的非易失性存储设备包括非瞬时性计算机可读存储介质。在某些实施例中,存储器1806或者存储器1806的非瞬时性计算机可读存储介质存储有以下程序、模块和数据结构或者其子集或超集(superset):
·操作系统1816,包括用于处理各种基本系统服务和执行硬件相关任务(dependent task)的程序;
·网络通信模块1818,用于经由一个或多个(有线或无线)网络接口1804(例如,蓝牙、WiFi、蓝牙低能耗、USB、以太网、LAN、WAN等)将外围设备1800连接到其他计算设备(例如,外围设备118或通信服务器112);
·呈现模块1820,用于经由一个或多个与用户接口1810相关联的输出设备1812(例如,显示屏、扬声器等)使得能够在用户设备1800处呈现信息(例如,用于操作用户设备和显示内容和信息的用户接口);以及
·输入处理模块1822,用于对一个或多个来自一个或多个输入设备1814之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在某些实施例中,存储器1806还包括用于执行数据处理的社交网络客户端模块1824,以用于实现社交网络平台上由该社交网络平台的提供商所提供的各种功能,所述各种功能包括如本申请所述通过社交网络平台使能对外围设备的访问和控制所需要的操作。在某些实施例中,社交网络客户端模块1824包括但不限于:
○绑定模块1826,被配置为将外围设备绑定到用户设备以及在用户设备上运行的社交网络客户端应用的当前活动用户账户。
○连接模块1828,被配置为与已经绑定至用户设备的外围设备建立连接。例如,连接模块实施本申请所述的连接协议,用于检测社交网络应用的服务ID以及发起到外围设备的连接请求;
○数据传输模块1830,被配置根据用户设备与通信服务器之间的数据传输协议商定来向通信服务器发送或从通信服务器接收数据包;并被配置为根据用户设备与外围设备之间的数据传输协议商定来向外围设备发送或从外围设备接收数据包;
○对话模块1832,被配置为建立一对一对话或群聊会话,并解析所接收的消息(例如,即时消息)并在对应聊天会话的对话日志中呈现消息;
○联系人管理模块1834,被配置为管理活动用户账户的联系人,包括代表外围设备的联系人;以及
○其他模块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、DDR RAM或其他随机访问固态存储设备;并且,可选地包括非易失性存储器,比如一个或多个磁盘存储设备、光盘存储设备、闪存设备或其他非易失性固态存储设备。存储器1906可选地包括远离CPU1902的一个或多个存储设备。存储器1906,或者替代性地存储器1906内的非易失性存储设备包括非瞬时性计算机可读存储介质。在某些实施例中,存储器1906或者存储器1906的非瞬时性计算机可读存储介质存储有以下程序、模块和数据结构或者其子集或超集(superset):
·操作系统1916,包括用于处理各种基本系统服务和执行硬件相关任务(dependent task)的程序;
·网络通信模块1918,用于经由一个或多个(有线或无线)网络接口1904(例如,WiFi、以太网、LAN、WAN等)通过网络106来连接其他计算设备(例如,用户设备104或支持服务器116);
·呈现模块1920,用于经由一个或多个与用户接口1910相关联的输出设备1912(例如,显示屏、扬声器等)使得能够在服务器系统1900处呈现信息(例如,用于操作服务器系统和显示内容和信息的用户接口);以及
·输入处理模块1922,用于对一个或多个来自一个或多个输入设备1914之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在某些实施例中,存储器1906还包括用于执行数据处理的社交网络服务器模块1924,以用于支持社交网络平台上各种用户和后台功能,所述各种功能包括如本申请所述通过社交网络平台使能对外围设备的访问和控制所需要的操作。在某些实施例中,社交网络服务器模块1924包括但不限于:
○绑定模块1926,被配置为绑定外围设备到对应用户账户;
○用户管理模块1920,被配置为注册用户、支持服务提供身上和外围设备,以及将相应社交网络身份分配给已注册的用户、支持服务提供商和外围设备;
○通信模块1930,被配置为准备待发送到用户、外围设备和支持服务器的消息(例如,推送请求中的消息和指令);被配置为翻译所接收的请求,转发所接收的请求道支持服务器,转发所接收的响应到外围设备和/或用户设备;
○对话模块1932,被配置为建立一对一对话和群聊会话,以及管理对应聊天会话的对话日志。
○其他模块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、DDR RAM或其他随机访问固态存储设备;并且,可选地包括非易失性存储器,比如一个或多个磁盘存储设备、光盘存储设备、闪存设备或其他非易失性固态存储设备。存储器2006可选地包括远离CPU2002的一个或多个存储设备。存储器2006,或者替代性地存储器2006内的非易失性存储设备包括非瞬时性计算机可读存储介质。在某些实施例中,存储器2006或者存储器2006的非瞬时性计算机可读存储介质存储有以下程序、模块和数据结构或者其子集或超集(superset):
·操作系统2016,包括用于处理各种基本系统服务和执行硬件相关任务(dependent task)的程序;
·网络通信模块2018,用于经由一个或多个(有线或无线)网络接口2004(例如,WiFi、以太网、LAN、WAN等)通过网络106来连接其他计算设备(例如,用户设备104或通信服务器112);
·呈现模块2020,用于经由一个或多个与用户接口2010相关联的输出设备2012(例如,显示屏、扬声器等)使得能够在服务器系统2000处呈现信息(例如,用于操作服务器系统和显示内容和信息的用户接口);以及
·输入处理模块2022,用于对一个或多个来自一个或多个输入设备2014之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在某些实施例中,存储器2006还包括用于执行数据处理的支持服务器模块2024,以用于支持社交网络平台上的各种支持功能(例如,进行设备诊断、提供客户支持等),包括提供用于控制外围设备的编码指令,以及如本申请所述提供编码消息到即时消息的转译以供呈现给人类用户。在某些实施例中,支持服务器模块2024包括但不限于:
○注册模块2026,被配置为将服务账户注册到通信模块;
○设备管理模块2020,被配置为使用社交网络平台的功能来管理与注册用户和外围设备的社交网络关系;
○通信模块2030,被配置为准备待发送到用户、外围设备和支持服务器的消息(例如,推送请求中的消息和指令);被配置为翻译所接收的请求,转发所接收的请求道支持服务器,转发所接收的响应到外围设备和/或用户设备;
○对话模块2032,被配置为建立一对一对话,以及与用户和外围设备的群聊会话;以及
○其他模块2034,被配置为根据社交网络平台上的互动执行本申请所述的其他功能。
上述的元素中的每一个可被存储在一个或多个先前所提及的存储设备中,并且对应于一组用于执行上述功能的指令。上面模块或程序(即,指令即)并不需要作为独立的软件程序、步骤、模块或数据结构来执行,并且在各种实施方式中这些模块的各种子集可被组合或以其他方式重组。在某些实施方式中,存储器1706可选地存储有所述模块和数据结构的子集。此外,存储器1706可选地存储有上面为描述过的附加模块和数据结构。
图21-24是根据某些实施例在社交网络平台中运行的各种设备和系统的框图。
图21的框图示出了根据某些实施例与用户相关联的代表性外围设备1700。外围设备1700可充当根据本申请所述的实施例可经由社交网络平台进行控制和访问的外围设备(例如,图1B、2K-2T、8、9A-9B、10A-10C中所示的外围设备118以及图2A中所示的外围设备200)。外围设备的示例包括但不限于智能手表、健康监测器(例如,心率或血压监测器、心脏起搏器、生活方式检测腕带等)、音乐播放器、气候控制器(例如,天气监测器、温度控制器、加热器、空气调节器、湿度控制器等)、照明控制器、安全监测系统、智能咖啡机、充电站(例如,用于电动汽车或电子设备等的充电站)、导航系统(例如,GPS系统)、运动设备(例如,智能高尔夫球杆、智能鱼竿、智能篮球等)、机顶盒(例如,在线流媒体机顶盒、在线游戏机顶盒等)。
在某些实施例中,外围设备还包括用于执行数据处理的外围设备模块1724,以用于执行外围设备的本地操作以及如本申请所述通过社交网络平台与其他设备和/或用户进行通信所需的操作。在某些实施例中,外围设备模块1724包括但不限于:连接单元1726,被配置为建立与运行社交网络客户端应用的用户设备的连接。例如,连接模块使用本申请所述的连接协议以用于广播社交网络平台的服务ID,以及接受来自用户设备的连接请求;数据传输单元1728被配置为生成待发送到用户设备的数据包,以及根据用户设备与外围设备之间的数据传输协议商定来发送数据包,并且被配置为根据用户设备与外围设备之间的数据传输协议商定来从用户设备接收数据包并重新组装;消息生成单元1730,被配置为准备针对其他用户、其他外围设备、通信服务器和支持服务器等的请求(例如,包括编码指令和编码消息);消息翻译单元1732,被配置为将所接收的请求(例如,包括编码指令)解析为内部操作;功能执行单元1734,被配置为完成所接收的请求中所请求的功能和任务;以及其他模块,被配置为实现关于社交网络平台上的互动所描述的其他功能。
图22的框图示出了根据某些实施例与用户相关联的代表性用户设备2200。用户设备2200可充当根据本申请所述的实施例可被用于经由社交网络平台对外围设备(例如,本地连接的外围设备或连接至另一用户设备的外围赛设备)进行控制和访问的用户设备(例如,图1B、2K-2T、8、9A-9B、10A-10C中所示的用户设备104以及图2B-2H中所示的用户设备202)。用户设备的示例包括但不限于智能电话、平板设备、台式计算机、便携式计算机、游戏设备等。
在某些实施例中,用户设备2200还包括用于执行数据处理的社交网络客户端模块2224,以用于实现社交网络平台上由该社交网络平台的提供商所提供的各种功能,所述各种功能包括如本申请所述通过社交网络平台使能对外围设备的访问和控制所需要的操作。在某些实施例中,社交网络客户端模块2224包括但不限于:绑定单元2226,被配置为绑定外围设备到用户设备以及用户设备上运行的社交网络客户端应用内的当前活动用户账户;连接单元2228,被配置为建立与已经绑定到用户设备的外围设备的连接。例如,连接模块实施本申请所述的连接协议,用于检测社交网络应用的服务ID以及发起到外围设备的连接请求;数据传输单元2230,被配置根据用户设备与通信服务器之间的数据传输协议商定来向通信服务器发送或从通信服务器接收数据包,并被配置为根据用户设备与外围设备之间的数据传输协议商定来向外围设备发送或从外围设备接收数据包;对话单元2232,被配置为建立一对一对话或群聊会话,并解析所接收的消息(例如,即时消息)并在对应聊天会话的对话日志中呈现消息;联系人管理单元2234,被配置为管理活动用户账户的联系人,包括代表外围设备的联系人;以及其他单元2236,被配置为根据社交网络平台上的互动执行本申请所述的其他功能。
图23的框图示出了按照某些实施例用于示例性社交网络平台的代表性服务器系统2300。服务器系统2300可充当根据本申请所述的实施例的通信服务器(例如,图1B所示的通信服务器112b,图10A-10C所示的通信服务器112),通信服务器为用户和外围设备提供社交网络服务。服务器系统2300可由包括虚拟和物理资源的一个或多个计算机系统来提供。
在某些实施例中,服务器系统2300还包括用于执行数据处理的社交网络服务器模块2324,以用于支持社交网络平台上的各种用户和后台功能,所述各种功能包括如本申请所述通过社交网络平台使能对外围设备的访问和控制所需要的操作。在某些实施例中,社交网络服务器模块2324包括但不限于:绑定单元2326,被配置为绑定外围设备到对应用户账户;用户管理单元2320,被配置为为注册用户、支持服务提供身上和外围设备,以及将相应社交网络身份分配给已注册的用户、支持服务提供商和外围设备;通信单元2330,被配置为准备待发送到用户、外围设备和支持服务器的消息(例如,推送请求中的消息和指令),以及被配置为翻译所接收的请求,转发所接收的请求道支持服务器,转发所接收的响应到外围设备和/或用户设备;对话单元2332,被配置为建立一对一对话和群聊会话,以及管理对应聊天会话的对话日志;以及其他单元2334,被配置为根据社交网络平台上的互动执行本申请所述的其他功能。
图24的框图示出了根据某些实施例的支持服务提供商的代表性服务器系统2400,支持服务器为一种或多种类型的外围设备提供支持。服务器系统2400可充当根据本申请所述的实施例的支持服务器(例如,图1B和图10A-10C所示的支持服务器116),支持服务器为用户和外围设备提供支持服务。支持服务器还用于将编码指令和消息转译为呈现给人类用户的常规即时消息,以及用于将呈现给人类用户的常规即时消息转译为编码指令和消息。服务器系统2400可由包括虚拟和物理资源的一个或多个计算机系统来提供。
在某些实施例中,服务器系统2400包括用于于执行数据处理的支持服务器模块2424,以用于支持社交网络平台上的各种支持功能(例如,进行设备诊断、提供客户支持等),包括提供用于控制外围设备的编码指令,以及如本申请所述提供编码消息到即时消息的转译以供呈现给人类用户。在某些实施例中,支持服务器模块2424包括但不限于:注册单元2426,被配置为将服务账户注册到通信模块;设备管理单元2420,被配置为使用社交网络平台的功能来管理与注册用户和外围设备的社交网络关系;通信单元2430,被配置为准备待发送到用户、外围设备和支持服务器的消息(例如,推送请求中的消息和指令),被配置为翻译所接收的请求,转发所接收的请求道支持服务器,转发所接收的响应到外围设备和/或用户设备;对话模块单元为建立一对一对话,以及与用户和外围设备的群聊会话;以及其他模块2434,被配置为根据社交网络平台上的互动执行本申请所述的其他功能。
尽管以上对特定实施例进行了描述,但是应当理解,这不倾向于将本发明限定于这些特定实施例。相反,本发明包括不超出所附权利要求的精神和范围的替换、修改和等价。列举了各种具体细节以提供对所给出的主题的彻底理解。但是,对本领域普通技术人员而言明显的是,可以在不具有这些具体细节的情况下实现主题。在其他情况下,已知的步骤、部件和电路被详细描述以避免不必要地使本发明变得晦涩难懂。
Claims (34)
1.一种用于在社交网络平台上注册外围设备的方法,所述方法包括:
在用户设备上运行所述社交网络平台的社交网络客户端应用;
通过所述社交网络客户端应用对标识外围设备的输入加以接收;以及
发送用以建立所述外围设备的社交网络身份的请求,以将所述外围设备的社交网络身份建立在所述外围设备的所有者的社交网络身份名下;
以及
当成功建立所述外围设备的所述社交网络身份时,在所述社交网络客户端应用的用户界面中将所述外围设备呈现为用户账户的社交网络联系人;
发送用以将所述用户账户注册为与所述外围设备的支持服务提供商相关联的在线社区的相应成员的请求;
在所述用户设备的周边区域内进行搜索以定位所注册的外围设备;
显示即时消息,所述即时消息表现为源自所述外围设备的社交网络身份并针对支持服务提供商的公共社交网络身份。
2.根据权利要求1所述的方法,其中,对所述标识外围设备的输入加以接收进一步包括:
经由条形码扫描器来扫描与所述外围设备相关联的条形码。
3.根据权利要求1所述的方法,还包括:
发送用以在所述社交网络平台上将所述用户账户注册为所述外围设备的支持服务提供商的联系人的请求。
4.根据权利要求1所述的方法,还包括:
当成功将所述用户账户注册为所述在线社区的相应成员时,在所述社交网络客户端应用的用户界面中将所述在线社区呈现为所述用户账户的社交网络群组。
5.根据权利要求1所述的方法,其中,在所述用户设备的周边区域内进行搜索以定位所注册的外围设备包括:
从所述用户设备的所述周边区域内的相应外围设备接收设备发现消息;
确定设备发现消息是否包括代表所述社交网络客户端应用所提供的主服务的预定服务标识符;以及
当确定所述设备发现消息包括所述预定服务标识符时,在所述用户设备与所述外围设备之间建立通信通道。
6.根据权利要求5所述的方法,其中,所述通信通道是遵循与所述社交网络客户端应用相关联的预定通信协议的无线通信通道。
7.根据权利要求1所述的方法,还包括:
发送用以将所述外围设备的支持服务提供商添加为所述用户账户的联系人的请求。
8.根据权利要求1所述的方法,所述显示即时消息包括:
在群聊会话的对话界面中显示源自支持服务提供商的服务器的所述即时消息,所述群聊会话至少涉及所述用户账户的用户和所述外围设备。
9.根据权利要求8所述的方法,其中,所述即时消息记录针对所述外围设备的编码指令。
10.根据权利要求9所述的方法,其中,在所述对话界面中,所述即时消息表现为源自所述支持服务提供商的公共社交网络身份的消息。
11.根据权利要求9所述的方法,其中,在所述对话界面中,所述即时消息表现为源自与所述外围设备不同的第二外围设备的消息。
12.根据权利要求8所述的方法,其中,所述即时消息记录源自所述外围设备的编码消息。
13.根据权利要求12所述的方法,其中,在所述对话界面中,所述即时消息表现为源自所述外围设备的社交网络身份并针对所述用户账户的相应社交网络身份的消息。
14.根据权利要求12所述的方法,其中,在所述对话界面中,所述即时消息表现为源自所述外围设备的社交网络身份并针对与所述外围设备不同的第二外围设备的相应社交网络身份的消息。
15.根据权利要求1所述的方法,其中,所述用户设备与所述外围设备之间通过所述社交网络平台的预定通信协议进行通信,所述预定通信协议用于将来自所述外围设备的编码指令和由所述外围设备发出的编码响应转译为人可读形式的消息,以及,将所述外围设备的专用格式的指令和消息封装在根据所述预定通信协议而格式化的消息中传输。
16.一种用于在社交网络平台上注册外围设备的用户设备,所述用户设备包括:
一个或多个处理器;以及
其上存储有指令的存储器,当所述指令被所述一个或多个处理器执行时,
使得所述处理器完成根据权利要求1至15中任一项所述的方法。
17.一种用于在社交网络平台上注册外围设备的用户设备,所述用户设备包括:
用于在所述用户设备上运行所述社交网络平台的社交网络客户端应用的模块;
用于通过所述社交网络客户端应用对标识外围设备的输入加以接收的模块;
用于发送用以建立所述外围设备的社交网络身份的请求的模块;以及
用于当成功建立所述外围设备的所述社交网络身份时,在所述社交网络客户端应用的用户界面中将所述外围设备呈现为用户账户的社交网络联系人的模块;
所述用户设备还用于:
发送用以将所述用户账户注册为与所述外围设备的支持服务提供商相关联的在线社区的相应成员的请求,以将所述外围设备的社交网络身份建立在所述外围设备的所有者的社交网络身份名下;
在所述用户设备的周边区域内进行搜索以定位所注册的外围设备;
显示即时消息,所述即时消息表现为源自所述外围设备的社交网络身份并针对支持服务提供商的公共社交网络身份。
18.一种用于在社交网络平台上注册外围设备的方法,所述方法包括:
在用户设备上运行所述社交网络平台的社交网络客户端应用;
通过所述社交网络客户端应用对标识相应类型外围设备的支持服务提供商的输入加以接收;以及
将所述支持服务提供商的公共社交网络身份注册为当前与所述用户设备相关联的用户账户的联系人;以及
发送用以将所述用户账户注册为与所述相应类型外围设备的所述支持服务提供商相关联的在线社区的相应成员的请求,以将所述外围设备的社交网络身份建立在所述外围设备的所有者的社交网络身份名下;
在所述用户设备的周边区域内进行搜索以定位所述相应类型外围设备中的外围设备;
显示即时消息,所述即时消息表现为源自所述外围设备的社交网络身份并针对所述用户账户的相应社交网络身份。
19.根据权利要求18所述的方法,其中,对标识相应类型外围设备的支持服务提供商的输入加以接收进一步包括:
经由条形码扫描器来扫描与所述相应类型外围设备的所述支持服务提供商相关联的条形码。
20.根据权利要求18所述的方法,还包括:
发送用以在所述社交网络平台上将所述用户账户注册为所述支持服务提供商的联系人的请求。
21.根据权利要求18所述的方法,还包括:
当成功将所述用户账户注册为所述在线社区的相应成员时,在所述社交网络客户端应用的用户界面中将所述在线社区呈现为所述用户账户的社交网络群组。
22.根据权利要求18所述的方法,其中,在所述用户设备的周边区域内进行搜索以定位所述相应类型外围设备中的外围设备包括:
从所述用户设备的所述周边区域内的相应外围设备接收设备发现消息;
确定设备发现消息是否包括代表所述社交网络客户端应用所提供的主服务的预定服务标识符;以及
当确定所述设备发现消息包括所述预定服务标识符时,在所述用户设备与所述外围设备之间建立通信通道。
23.根据权利要求22所述的方法,其中,所述通信通道是遵循与所述社交网络客户端应用相关联的预定通信协议的无线通信通道。
24.根据权利要求22所述的方法,还包括:
发送用以建立所述外围设备的社交网络身份的请求;以及
当成功建立所述外围设备的所述社交网络身份时,在所述社交网络客户端应用的用户界面中将所述外围设备呈现为用户账户的社交网络联系人。
25.根据权利要求18所述的方法,所述显示即时消息,包括:
在群聊会话的对话界面中显示源自支持服务提供商的服务器的所述即时消息,所述群聊会话至少涉及所述用户账户的用户和所述外围设备。
26.根据权利要求25所述的方法,其中,所述即时消息记录针对所述外围设备的编码指令。
27.根据权利要求26所述的方法,其中,在所述对话界面中,所述即时消息表现为源自支持服务器的公共社交网络身份的消息。
28.根据权利要求26所述的方法,其中,在所述对话界面中,所述即时消息表现为源自与所述外围设备不同的第二外围设备的消息。
29.根据权利要求25所述的方法,其中,所述即时消息记录源自所述外围设备的编码消息。
30.根据权利要求29所述的方法,其中,在所述对话界面中,所述即时消息表现为源自所述外围设备的社交网络身份并针对所述用户账户的相应社交网络身份的消息。
31.根据权利要求29所述的方法,其中,在所述对话界面中,所述即时消息表现为源自所述外围设备的社交网络身份并针对与所述外围设备不同的第二外围设备的相应社交网络身份的消息。
32.根据权利要求29所述的方法,其中,所述用户设备与所述外围设备之间通过所述社交网络平台的预定通信协议进行通信,所述预定通信协议用于将来自所述外围设备的编码指令和由所述外围设备发出的编码响应转译为人可读形式的消息,以及,将所述外围设备的专用格式的指令和消息封装在根据所述预定通信协议而格式化的消息中传输。
33.一种用于在社交网络平台上注册外围设备的用户设备,所述用户设备包括:
一个或多个处理器;以及
其上存储有指令的存储器,当所述指令被所述一个或多个处理器执行时,使得所述处理器完成根据权利要求18至32中任一项所述的方法。
34.一种用于在社交网络平台上注册外围设备的用户设备,所述用户设备包括:
用于在所述用户设备上运行所述社交网络平台的社交网络客户端应用的模块;
用于通过所述社交网络客户端应用对标识相应类型外围设备的支持服务提供商的输入加以接收的模块;以及
用于将所述支持服务提供商的公共社交网络身份注册为当前与所述用户设备相关联的用户账户的联系人的模块;以及
用于发送用以将所述用户账户注册为与所述相应类型外围设备的所述支持服务提供商相关联的在线社区的相应成员的请求、以将所述外围设备的社交网络身份建立在所述外围设备的所有者的社交网络身份名下的模块;以及
用于在所述用户设备的周边区域内进行搜索以定位所述相应类型外围设备中的外围设备的模块;
显示即时消息、且所述即时消息表现为源自所述外围设备的社交网络身份并针对支持服务提供商的公共社交网络身份的模块。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2014/073320 WO2015135166A1 (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 |
---|---|
CN105659521A CN105659521A (zh) | 2016-06-08 |
CN105659521B true CN105659521B (zh) | 2019-07-16 |
Family
ID=54070288
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480047179.4A Active CN105659521B (zh) | 2014-03-12 | 2014-03-12 | 用于通过社交网络平台来控制外围设备的方法和设备 |
Country Status (3)
Country | Link |
---|---|
US (2) | US10165017B2 (zh) |
CN (1) | CN105659521B (zh) |
WO (1) | WO2015135166A1 (zh) |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104765999B (zh) * | 2014-01-07 | 2020-06-30 | 腾讯科技(深圳)有限公司 | 一种对用户资源信息进行处理的方法、终端及服务器 |
KR102199568B1 (ko) * | 2014-11-10 | 2021-01-07 | 엘지전자 주식회사 | 전자 장치 및 그 동작 방법 |
KR101727549B1 (ko) * | 2015-06-18 | 2017-04-17 | 주식회사 하남아트텍 | 무선 조명 제어 시스템 |
KR101740642B1 (ko) * | 2015-06-18 | 2017-05-26 | 주식회사 하남아트텍 | 무선 조명 제어 시스템 |
US10158732B2 (en) * | 2015-07-27 | 2018-12-18 | International Business Machines Corporation | Delegated updates |
US10404794B2 (en) * | 2016-06-21 | 2019-09-03 | Orion Labs | Discovery and formation of local communication group |
CN106211159B (zh) * | 2016-07-29 | 2019-12-27 | 北京小米移动软件有限公司 | 基于蓝牙的身份识别方法及装置 |
US10574618B1 (en) * | 2016-09-19 | 2020-02-25 | Amazon Technologies, Inc. | Processing client devices |
US11082476B2 (en) * | 2016-11-15 | 2021-08-03 | Verizon Media Inc. | Computerized system and method for automatically providing networked devices non-native functionality |
CN106817627A (zh) * | 2017-01-12 | 2017-06-09 | 南京创维信息技术研究院有限公司 | 一种基于智能电视的社交方法及系统 |
US10389678B2 (en) * | 2017-02-27 | 2019-08-20 | Facebook, Inc. | Notification framework for smart objects |
CN112929256A (zh) * | 2017-06-02 | 2021-06-08 | 浙江嘉呼信息技术服务有限公司 | 通信方法、装置、系统以及计算机存储介质 |
US10841277B2 (en) * | 2017-08-14 | 2020-11-17 | Ut-Battelle, Llc | One step removed shadow network |
CN107393534B (zh) * | 2017-08-29 | 2020-09-08 | 珠海市魅族科技有限公司 | 语音交互方法及装置、计算机装置及计算机可读存储介质 |
US10701021B2 (en) * | 2017-09-20 | 2020-06-30 | Facebook, Inc. | Communication platform for minors |
US10715477B2 (en) * | 2017-09-29 | 2020-07-14 | Facebook, Inc. | Communication platform for minors |
EP3679735A1 (en) * | 2017-10-21 | 2020-07-15 | Apple Inc. | Personal domain for a virtual assistant system on a communal device |
DE102017221852A1 (de) * | 2017-12-04 | 2019-06-06 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | System und Verfahren zum Überwachen einer Arbeitssituation |
US11470125B2 (en) * | 2018-03-23 | 2022-10-11 | Softphone SRL | Systems and methods to establish service request interactions |
JP7167592B2 (ja) * | 2018-09-25 | 2022-11-09 | 富士フイルムビジネスイノベーション株式会社 | 制御装置、及び制御プログラム |
JP7176321B2 (ja) * | 2018-09-25 | 2022-11-22 | 富士フイルムビジネスイノベーション株式会社 | 制御装置及び制御プログラム |
US12004257B2 (en) * | 2018-10-08 | 2024-06-04 | Interdigital Patent Holdings, Inc. | Device discovery and connectivity in a cellular network |
CN109873806A (zh) * | 2019-01-02 | 2019-06-11 | 武汉华中数控股份有限公司 | 基于二维码的数控装置注册方法及系统 |
US11258731B2 (en) * | 2019-08-22 | 2022-02-22 | Orion Labs, Inc. | Bot proxy for group communication service |
KR20220003794A (ko) | 2020-07-02 | 2022-01-11 | 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. | 온보딩을 위한 사용자 인터페이스 생성 |
KR102312677B1 (ko) * | 2020-10-12 | 2021-10-14 | 주식회사 디어유 | 개인화 메시징 서비스 시스템 및 개인화 메시징 서비스 방법 |
US11848930B1 (en) * | 2021-06-15 | 2023-12-19 | Whatsapp Llc | Methods, mediums, and systems for verifying devices in an encrypted messaging system |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103154993A (zh) * | 2010-08-18 | 2013-06-12 | 费斯布克公司 | 使用社交图信息的位置排序 |
CN103475635A (zh) * | 2012-06-06 | 2013-12-25 | 苹果公司 | 使用社交网络账号为游戏网络账号提供附加功能 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090210423A1 (en) * | 2008-02-15 | 2009-08-20 | Yahoo! Inc. | Methods and systems for maintaining personal data trusts |
US20100169377A1 (en) * | 2008-12-30 | 2010-07-01 | Debra Galeazzi | System, method, and computer-readable medium for facilitating application virtual database users |
WO2010141504A1 (en) * | 2009-06-01 | 2010-12-09 | Music Mastermind, LLC | System and method of receiving, analyzing, and editing audio to create musical compositions |
US8161201B2 (en) * | 2009-06-02 | 2012-04-17 | Dell Products L.P. | Methods and system for configuring a peripheral device with an information handling system |
WO2011089450A2 (en) * | 2010-01-25 | 2011-07-28 | Andrew Peter Nelson Jerram | Apparatuses, methods and systems for a digital conversation management platform |
US8667606B2 (en) * | 2010-07-24 | 2014-03-04 | International Business Machines Corporation | Session-controlled-access of client data by support personnel |
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 |
US8578452B2 (en) * | 2011-04-27 | 2013-11-05 | Gemalto Sa | Method for securely creating a new user identity within an existing cloud account in a cloud computing system |
CN103249116B (zh) * | 2012-02-13 | 2016-10-05 | 华为终端有限公司 | 确定邻居站点的方法、站点、接入点和通信系统 |
-
2014
- 2014-03-12 CN CN201480047179.4A patent/CN105659521B/zh active Active
- 2014-03-12 WO PCT/CN2014/073320 patent/WO2015135166A1/en active Application Filing
- 2014-08-08 US US14/455,789 patent/US10165017B2/en active Active
-
2018
- 2018-11-13 US US16/190,042 patent/US11025680B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103154993A (zh) * | 2010-08-18 | 2013-06-12 | 费斯布克公司 | 使用社交图信息的位置排序 |
CN103475635A (zh) * | 2012-06-06 | 2013-12-25 | 苹果公司 | 使用社交网络账号为游戏网络账号提供附加功能 |
Also Published As
Publication number | Publication date |
---|---|
CN105659521A (zh) | 2016-06-08 |
US20150264091A1 (en) | 2015-09-17 |
WO2015135166A1 (en) | 2015-09-17 |
US20190081992A1 (en) | 2019-03-14 |
US10165017B2 (en) | 2018-12-25 |
US11025680B2 (en) | 2021-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105659521B (zh) | 用于通过社交网络平台来控制外围设备的方法和设备 | |
CN106171038B (zh) | 通过蓝牙协议将外围设备连接到用户设备的方法和装置 | |
CN105917626B (zh) | 通过社交网络平台控制外围设备的方法和装置 | |
CN105518692B (zh) | 用于经由社交网络平台控制外围设备的方法和装置 | |
CN104881115B (zh) | 一种利用设备操控终端实现个性化交互的方法及系统 | |
JP2019114302A (ja) | システム、情報処理装置、情報処理方法およびプログラム |
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 |