+

CN116584083A - Co-location connectivity service - Google Patents

Co-location connectivity service Download PDF

Info

Publication number
CN116584083A
CN116584083A CN202180078795.6A CN202180078795A CN116584083A CN 116584083 A CN116584083 A CN 116584083A CN 202180078795 A CN202180078795 A CN 202180078795A CN 116584083 A CN116584083 A CN 116584083A
Authority
CN
China
Prior art keywords
client device
location
messaging
client
profile
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.)
Pending
Application number
CN202180078795.6A
Other languages
Chinese (zh)
Inventor
安德烈斯·蒙罗伊-埃尔南德斯
谭煜强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Snap Inc
Original Assignee
Snap Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from US17/247,053 external-priority patent/US11349797B2/en
Application filed by Snap Inc filed Critical Snap Inc
Publication of CN116584083A publication Critical patent/CN116584083A/en
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/222Monitoring or handling of messages using geographical location information, e.g. messages transmitted or received in proximity of a certain spot or area
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • H04L51/046Interoperability with other network applications or services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/306User profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/07User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail characterised by the inclusion of specific contents
    • H04L51/10Multimedia information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/58Message adaptation for wireless communication

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

描述了示例共位置连接服务。该在线共位置连接服务由消息收发系统提供,消息收发系统被配置成选择性地将与配备有在预定物理范围内彼此通信的传感器的相应客户端设备相关联的用户简档配对。消息收发系统基于由共位置连接服务从在相应客户端设备处执行的相应消息收发客户端获得的传感器数据来监视客户端设备的物理接近度。响应于检测到客户端设备在预定物理接近度范围内,消息收发系统通过修改相应消息收发客户端中的用户界面来生成共位置体验。

Example co-location connectivity services are described. The online co-location connection service is provided by a messaging system configured to selectively pair user profiles associated with respective client devices equipped with sensors that communicate with each other within a predetermined physical range. The messaging system monitors the physical proximity of the client devices based on sensor data obtained by the co-location connectivity service from respective messaging clients executing at respective client devices. In response to detecting that a client device is within a predetermined physical proximity, the messaging system generates a co-location experience by modifying a user interface in the corresponding messaging client.

Description

共位置连接服务Co-location Connectivity Service

相关申请的交叉引用Cross References to Related Applications

本申请要求于2020年11月25日提交的美国专利申请序列第17/247,053号的优先权的权益,该美国专利申请的全部内容通过引用并入本文。This application claims the benefit of priority to U.S. Patent Application Serial No. 17/247,053, filed November 25, 2020, which is incorporated herein by reference in its entirety.

技术领域technical field

本公开内容总体上涉及促进托管消息收发应用的设备之间的交互。The present disclosure generally relates to facilitating interactions between devices hosting messaging applications.

背景技术Background technique

允许用户在线访问内容并与其他用户交互的计算机实现的工具的流行度持续增长。例如,存在各种计算机实现的工具,其允许用户通过消息收发应用与其他用户共享内容,或者与其他用户在线玩多玩家视频游戏。被称为应用或app的这样的计算机实现的工具中的一些可以被设计成在诸如电话、平板电脑或手表的移动设备上运行。Computer-implemented tools that allow users to access content and interact with other users online continue to grow in popularity. For example, various computer-implemented tools exist that allow users to share content with other users through messaging applications, or to play multiplayer video games online with other users. Some of such computer-implemented tools, known as applications or apps, may be designed to run on mobile devices such as phones, tablets, or watches.

附图说明Description of drawings

在附图(其不一定按比例绘制)中,相似的附图标记可以在不同的视图中描述类似的部件。为了容易标识对任何特定元素或动作的讨论,附图标记中的一个或多个最高位数字是指该元素被首次引入时所在的图号。一些实施方式通过示例而不是限制的方式在附图的图中示出,在附图中:In the drawings (which are not necessarily drawn to scale), like reference numerals may depict similar parts in different views. To easily identify a discussion of any particular element or act, the highest digit or digits in a reference number refer to the figure number in which that element is first introduced. Some embodiments are shown by way of example and not limitation in the figures of the accompanying drawings, in which:

图1是根据一些示例的可以部署共位置连接服务的联网环境的图解表示。1 is a diagrammatic representation of a networked environment in which co-location connectivity services may be deployed, according to some examples.

图2是根据一些示例的用于提供共位置体验的系统的体系结构的框图。2 is a block diagram of the architecture of a system for providing co-location experiences, according to some examples.

图3是根据一些示例的用于提供共位置体验的方法的流程图。3 is a flowchart of a method for providing a co-location experience, according to some examples.

图4是在共位置伙伴的相应显示设备上显示的示例共位置体验的图解表示。4 is a diagrammatic representation of an example co-location experience displayed on a corresponding display device of a co-location partner.

图5是根据一些示例的呈计算机系统形式的机器的图解表示,在该计算机系统内可以执行一组指令以使该机器执行本文中讨论的方法中的任何一个或更多个方法。5 is a diagrammatic representation of a machine in the form of a computer system within which a set of instructions may be executed to cause the machine to perform any one or more of the methods discussed herein, according to some examples.

图6是根据一些示例的具有客户端侧和服务器侧两者的功能的消息收发系统的图解表示。6 is a diagrammatic representation of a messaging system with both client-side and server-side functionality, according to some examples.

图7是根据一些示例的如在数据库中维护的数据结构的图解表示。7 is a diagrammatic representation of data structures as maintained in a database, according to some examples.

具体实施方式Detailed ways

针对相关联的消息收发客户端托管后端服务的消息收发服务器系统被配置成:检测指示执行相应消息收发客户端的两个设备位于某个物理接近度内的共位置事件,以及通过解锁先前被指定为共位置体验的一个或更多个用户体验来响应该共位置事件。A messaging server system hosting a backend service for an associated messaging client is configured to: detect a co-location event indicating that two devices executing the respective messaging client are within a certain physical proximity, and unlock a previously designated The co-location event is responded to for one or more user experiences of the co-location experience.

以使服务于相应的相关联消息收发客户端的体验基于由消息收发服务器系统中的相应用户简档表示的一对用户彼此之间的物理接近度而改变的方式向所述用户提供在线体验的技术问题通过在线共位置连接服务来解决,该在线共位置连接服务被配置成:选择性地将与配备有在预定物理接近度范围内彼此通信的传感器的相应客户端设备相关联的用户简档配对;基于由共位置连接服务从在相应客户端设备处执行的相应消息收发客户端获得的传感器数据来监视客户端设备的物理接近度;以及响应于检测到客户端设备在预定物理接近度范围内,修改相应消息收发客户端中的用户界面。预定物理接近度范围可以被称为共位置范围。响应于检测到客户端设备在预定物理接近度范围内而被修改的用户界面是共位置体验的示例。Techniques for providing an online experience to users of a pair of users represented by respective user profiles in a messaging server system in such a way that the experience of serving the users varies based on the physical proximity of the users to each other The problem is addressed by an online co-location connectivity service configured to selectively pair user profiles associated with respective client devices equipped with sensors that communicate with each other within a predetermined physical proximity ; monitoring the physical proximity of the client device based on sensor data obtained by the co-location connectivity service from a respective messaging client executing at the respective client device; and in response to detecting that the client device is within a predetermined physical proximity range to modify the user interface in the corresponding messaging client. The predetermined range of physical proximity may be referred to as a co-location range. A user interface that is modified in response to detecting that a client device is within a predetermined physical proximity is an example of a co-location experience.

将与相应客户端设备相关联的两个用户简档配对的操作包括:在存储表示消息收发服务器系统中的用户的简档的数据库中将这两个用户简档指定为共位置伙伴。例如,配对的简档各自可以包括另一简档的标识以及指示该另一简档是其共位置伙伴的标志。在一些实施方式中,配对过程包括:从用户接收要与另一用户配对的请求,从所述另一用户获得配对许可(a consent to be paired),以及确定两个用户的相应客户端设备被配置成直接通过近场通信技术(例如无线个人局域网络技术、射频识别(RFID)等)彼此通信。Pairing two user profiles associated with respective client devices includes designating the two user profiles as co-location partners in a database storing profiles representing users in the messaging server system. For example, paired profiles may each include an identification of the other profile and a flag indicating that the other profile is its co-location partner. In some implementations, the pairing process includes receiving a request from a user to pair with another user, obtaining a consent to be paired from the other user, and determining that the respective client devices of the two users are paired. configured to communicate with each other directly via near field communication technology (eg, wireless personal area network technology, radio frequency identification (RFID), etc.).

然后,在数据库中将表示这两个用户的简档指定为共位置伙伴。从用户获得配对许可可能需要从消息收发服务器系统向相关联的客户端设备传送消息或用户界面,该消息或用户界面包括准予或拒绝配对许可的可选选项。如果准予许可的选项被选择,则消息收发服务器系统实现配对,如果拒绝许可的选项被选择或者如果没有接收到响应,则消息收发服务器系统不实现配对。出于本描述的目的,与配对的用户简档相关联的消息收发客户端被称为配对的消息收发客户端,并且相关联的客户端设备被称为配对的客户端设备。当配对的客户端设备进入彼此内的共位置范围时,共位置事件被从一个客户端设备发送至另一客户端设备,并且该共位置事件还被发送至消息收发服务器系统。The profiles representing these two users are then designated as co-location partners in the database. Obtaining pairing permission from the user may require the transmission of a message or user interface from the messaging server system to the associated client device that includes selectable options to grant or deny pairing permission. If the option to grant permission is selected, the messaging server system enables pairing, if the option to deny permission is selected or if no response is received, the messaging server system does not effect pairing. For purposes of this description, a messaging client associated with a paired user profile is referred to as a paired messaging client, and an associated client device is referred to as a paired client device. When paired client devices come into co-location range of each other, a co-location event is sent from one client device to the other client device, and the co-location event is also sent to the messaging server system.

如上所述,共位置体验的示例是响应于检测到客户端设备在预定物理接近度范围内而修改的用户界面,其也被称为共位置用户界面(UI)。共位置UI可以包括设备共位置的指示,以及可操作以激活用户以其他方式不可用的特征诸如基于HTML5的应用或游戏的视觉控件。在一些实施方式中,共位置UI可以包括被配置成叠加在消息收发客户端的屏幕上播放的动画。这样的动画可以是具有例如参与活动的夫妇的透明背景的动画图像,所述活动在非虚拟领域中仅当两个人非常接近时才可能进行,诸如拥抱或跳舞。这样的动画的另一示例是描绘在消息收发客户端的屏幕上漂浮的心形或气球。共位置UI可以示出表示配对的用户简档的相应定制化身,其中所述化身以指示其他人在附近的方式被修改。当消息收发服务器系统检测到配对的设备不再处于预定物理接近度范围内时,使配对的消息收发客户端的用户无法获得共位置体验。As noted above, an example of a co-location experience is a user interface that is modified in response to detecting that a client device is within a predetermined physical proximity, also referred to as a co-location user interface (UI). The co-location UI may include an indication of the device's co-location, as well as visual controls operable to activate features not otherwise available to the user, such as HTML5-based applications or games. In some implementations, the co-location UI may include an animation configured to play overlaid on the screen of the messaging client. Such an animation may be an animated image with a transparent background, for example, of a couple engaging in an activity that is only possible in a non-virtual realm when two people are in close proximity, such as hugging or dancing. Another example of such an animation is depicting a heart or balloon floating on the screen of the messaging client. The co-location UI may show corresponding customized avatars representing the paired user profiles, where the avatars are modified in a way that indicates that others are nearby. When the messaging server system detects that the paired device is no longer within a predetermined physical proximity, the co-location experience is disabled for the user of the paired messaging client.

虽然一些资源不太密集的共位置体验(共享简单动画)可以由配对的消息收发客户端直接提供给它们的用户,而不需要往返于消息收发服务器系统,但是其他共位置体验(较复杂的动画或两个玩家的游戏)可能包括与消息收发服务器系统的交互。此外,虽然在消息收发系统的上下文中描述了共位置连接服务,但是本文所描述的共位置方法可以有利地用于用户经由其客户端设备进行交互的任何场景。例如,当用户经由他们的客户端设备参与交互式游戏时,共位置方法可以用于响应于检测到客户端设备的共位置而解锁附加供电。可以在包括消息收发客户端和相关联的后端服务的在线消息收发系统中提供在线共位置连接服务,下面参照图1对其进行描述。While some less resource-intensive co-location experiences (shared simple animations) can be served directly to their users by paired messaging clients without a round trip to the messaging server system, others (more complex animations) or two-player game) may include interaction with a messaging server system. Furthermore, although the co-location connectivity service is described in the context of a messaging system, the co-location methods described herein can be advantageously used in any scenario where users interact via their client devices. For example, when a user participates in an interactive game via their client device, the co-location method may be used to unlock additional power in response to detecting the co-location of the client device. An online co-location connection service may be provided in an online messaging system comprising a messaging client and associated backend services, which is described below with reference to FIG. 1 .

联网计算环境networked computing environment

图1是示出用于通过网络交换数据(例如,消息和相关联的内容)的示例消息收发系统100的框图。消息收发系统100包括客户端设备102的多个实例,每个实例托管包括消息收发客户端104的多个应用。每个消息收发客户端104经由网络106(例如,因特网)通信地耦接至消息收发客户端104的其他实例和消息收发服务器系统108。1 is a block diagram illustrating an example messaging system 100 for exchanging data (eg, messages and associated content) over a network. Messaging system 100 includes multiple instances of client devices 102 each hosting multiple applications including messaging clients 104 . Each messaging client 104 is communicatively coupled to other instances of the messaging client 104 and to the messaging server system 108 via a network 106 (eg, the Internet).

消息收发客户端104能够经由网络106与另一消息收发客户端104以及与消息收发服务器系统108通信并且交换数据。在消息收发客户端104之间以及在消息收发客户端104与消息收发服务器系统108之间交换的数据包括功能(例如,用于激活功能的命令)以及载荷数据(例如,文本、音频、视频或其他多媒体数据)。托管消息收发客户端104的客户端设备可以配备有允许消息收发客户端104通过近场通信技术诸如蓝牙低能耗技术与另一消息收发客户端104通信和交换数据(例如,蓝牙UUID)的传感器。A messaging client 104 is capable of communicating and exchanging data via a network 106 with another messaging client 104 and with a messaging server system 108 . Data exchanged between messaging clients 104 and between messaging clients 104 and messaging server system 108 includes functions (e.g., commands to activate functions) and payload data (e.g., text, audio, video, or other multimedia data). A client device hosting a messaging client 104 may be equipped with a sensor that allows a messaging client 104 to communicate and exchange data (eg, Bluetooth UUIDs) with another messaging client 104 via near field communication technology, such as Bluetooth low energy technology.

消息收发服务器系统108经由网络106向特定消息收发客户端104提供服务器侧功能。虽然消息收发系统100的某些功能在本文中被描述为由消息收发客户端104或由消息收发服务器系统108执行,但是某些功能在消息收发客户端104内或消息收发服务器系统108内的定位可以是设计选择。例如,在技术上可能优选的是,最初将某些技术和功能部署在消息收发服务器系统108内,但是后面将该技术和功能迁移至客户端设备102具有足够处理能力的消息收发客户端104。Messaging server system 108 provides server-side functionality to particular messaging clients 104 via network 106 . Although certain functions of messaging system 100 are described herein as being performed by messaging client 104 or by messaging server system 108, the location of certain functions within messaging client 104 or within messaging server system 108 Can be a design choice. For example, it may be technically preferable to initially deploy certain technologies and functionality within the messaging server system 108, but later migrate the technology and functionality to the messaging client 104 where the client device 102 has sufficient processing power.

消息收发服务器系统108支持向消息收发客户端104提供的各种服务和操作。这样的操作包括向消息收发客户端104发送数据、从消息收发客户端104接收数据以及对由消息收发客户端104生成的数据进行处理。作为示例,该数据可以包括消息内容、客户端设备信息、地理定位信息、媒体增强和叠加、消息内容持续条件、社交网络信息和实况事件信息。通过经由消息收发客户端104的用户界面(UI)可用的功能来激活和控制消息收发系统100内的数据交换。Messaging server system 108 supports various services and operations provided to messaging clients 104 . Such operations include sending data to the messaging client 104 , receiving data from the messaging client 104 , and processing data generated by the messaging client 104 . As examples, this data may include message content, client device information, geolocation information, media enhancements and overlays, message content persistence conditions, social networking information, and live event information. Data exchange within the messaging system 100 is activated and controlled through functionality available via a user interface (UI) of the messaging client 104 .

现在具体地转至消息收发服务器系统108,应用程序接口(API)服务器110耦接至应用服务器112并且向应用服务器112提供编程接口。应用服务器112通信地耦接至便于访问数据库120的数据库服务器118。web服务器124耦接至应用服务器112,并且向应用服务器112提供基于web的接口。为此,web服务器124通过超文本传输协议(HTTP)和若干其他相关协议处理传入的网络请求。数据库120存储与由应用服务器112处理的消息相关联的数据,诸如关于特定实体的简档数据。在实体是个人的情况下,简档数据包括例如用户名称、通知和隐私设置以及与由用户对其简档数据所做的更改有关的记录。在出于访问共位置连接服务的目的而将第一用户简档和第二用户简档指定为共位置伙伴的情况下,第一用户简档包括其客户端设备的唯一标识和第二用户简档的标识。第二用户简档进而包括其客户端设备的唯一标识和第一用户简档的标识。图7中示出了表示与消息收发系统中的另一用户简档配对的简档的简档数据的示例,其中配对的简档表示共位置连接服务的用户,这将在下面进一步描述。Turning now specifically to the messaging server system 108 , an application programming interface (API) server 110 is coupled to and provides a programming interface to the application server 112 . Application server 112 is communicatively coupled to database server 118 that facilitates access to database 120 . Web server 124 is coupled to application server 112 and provides a web-based interface to application server 112 . To this end, web server 124 handles incoming network requests via Hypertext Transfer Protocol (HTTP) and several other related protocols. Database 120 stores data associated with messages processed by application server 112 , such as profile data about a particular entity. Where the entity is an individual, the profile data includes, for example, the user's name, notification and privacy settings, and records pertaining to changes made by the user to their profile data. Where the first user profile and the second user profile are designated as co-location partners for the purpose of accessing the co-location connectivity service, the first user profile includes the unique identification of its client device and the second user profile file ID. The second user profile in turn includes the unique identification of its client device and the identification of the first user profile. An example of profile data representing a profile paired with another user profile in the messaging system, where the paired profile represents a user of a co-location connectivity service, is shown in Figure 7, as will be described further below.

应用程序接口(API)服务器110在客户端设备102与应用服务器112之间接收和发送消息数据(例如,命令和消息载荷)。具体地,应用程序接口(API)服务器110提供一组接口(例如,例程和协议),该组接口可以由消息收发客户端104调用或查询以激活应用服务器112的功能。应用程序接口(API)服务器110展现由应用服务器112支持的各种功能,包括帐户注册、登录功能、经由应用服务器112从特定消息收发客户端104向另一消息收发客户端104发送消息、从消息收发客户端104向消息收发服务器114发送媒体文件(例如,图像或视频)以及供另一消息收发客户端104进行可能访问、打开应用事件(例如,与消息收发客户端104相关),以及由消息收发服务器系统108提供的开发者工具所支持的供第三方计算机系统使用的各种功能。Application programming interface (API) server 110 receives and sends message data (eg, commands and message payloads) between client device 102 and application server 112 . Specifically, an application program interface (API) server 110 provides a set of interfaces (eg, routines and protocols) that can be called or queried by messaging clients 104 to activate the functionality of the application server 112 . An application programming interface (API) server 110 exposes various functions supported by the application server 112, including account registration, login functionality, sending a message from a particular messaging client 104 to another messaging client 104 via the application server 112, sending messages from a message A messaging client 104 sends a media file (e.g., an image or video) to a messaging server 114 and for possible access by another messaging client 104, opens an application event (e.g., Various functions supported by developer tools provided by the transceiver server system 108 for use by third-party computer systems.

应用服务器112托管多个服务器应用和子系统,包括例如消息收发服务器114、图像处理服务器116以及社交网络服务器122。消息收发服务器114实现多个消息处理技术和功能,特别地涉及对从消息收发客户端104的多个实例接收的消息中所包括的内容(例如,文本和多媒体内容)的汇总及其他处理。图像处理服务器116专用于执行各种图像处理操作,通常针对在从消息收发服务器114发送或者在消息收发服务器114处接收的消息的有效载荷内的图像或视频执行各种图像处理操作。社交网络服务器122支持各种社交联网功能和服务并且使这些功能和服务可用于消息收发服务器114。Application server 112 hosts a number of server applications and subsystems including, for example, messaging server 114 , image processing server 116 , and social networking server 122 . Messaging server 114 implements a number of message processing techniques and functions, particularly related to aggregation and other processing of content (eg, text and multimedia content) included in messages received from multiple instances of messaging client 104 . Image processing server 116 is dedicated to performing various image processing operations, typically on images or video within the payload of messages sent from or received at messaging server 114 . The social networking server 122 supports and makes available various social networking functions and services to the messaging server 114 .

图1中还示出了共位置服务器117。共位置服务器117提供在线共位置连接服务,该在线共位置连接服务被配置成:选择性地将与配备有在预定物理范围内彼此通信的传感器的相应客户端设备相关联的用户简档配对,基于由共位置连接服务从在相应客户端设备处执行的相应消息收发客户端获得的传感器数据来监视客户端设备的物理接近度,以及响应于检测到客户端设备在预定物理接近度范围内,通过修改相应消息收发客户端中的用户界面来生成共位置体验。虽然如图1所示,在线共位置连接服务是在共位置服务器117处提供的,但在一些示例中,在线共位置连接服务可以在消息收发服务器处例如由消息收发服务器114提供。A co-location server 117 is also shown in FIG. 1 . The co-location server 117 provides an online co-location connectivity service configured to: selectively pair user profiles associated with respective client devices equipped with sensors that communicate with each other within a predetermined physical range, monitoring the physical proximity of the client device based on sensor data obtained by the co-location connectivity service from a respective messaging client executing at the respective client device, and in response to detecting that the client device is within a predetermined physical proximity range, The co-location experience is generated by modifying the user interface in the corresponding messaging client. While the online co-location connection service is provided at the co-location server 117 as shown in FIG. 1 , in some examples the online co-location connection service may be provided at the messaging server, eg, by the messaging server 114 .

共位置功能的定位可以在消息收发客户端104内或消息收发服务器系统108内或上述两者内。下面参照图6讨论在客户端侧由消息收发客户端104支持、在服务器侧由应用服务器112支持的示例共位置系统。The location of the co-location functionality may be within the messaging client 104 or within the messaging server system 108 or both. An example co-location system supported on the client side by the messaging client 104 and on the server side by the application server 112 is discussed below with reference to FIG. 6 .

系统架构system structure

图6是示出根据一些示例的关于消息收发系统100的另外的细节的框图。具体地,消息收发系统100被示出为包括消息收发客户端104和应用服务器112。消息收发系统100包含多个子系统,这些子系统在客户端侧由消息收发客户端104支持并且在服务器侧由应用服务器112支持。这些子系统包括例如增强系统606、地图系统608、游戏系统610以及共位置连接系统612。FIG. 6 is a block diagram showing additional details about messaging system 100 according to some examples. In particular, messaging system 100 is shown including messaging client 104 and application server 112 . The messaging system 100 includes a number of subsystems supported on the client side by the messaging client 104 and on the server side by the application server 112 . These subsystems include, for example, augmentation system 606 , map system 608 , gaming system 610 , and co-location connection system 612 .

共位置连接系统612被配置成选择性地将与配备有在预定物理接近度范围内彼此通信的传感器的相应客户端设备相关联的用户简档配对。共位置连接系统612基于由共位置连接服务从在相应客户端设备处执行的相应消息收发客户端获得的传感器数据来监视客户端设备的物理接近度。响应于检测到客户端设备在预定共位置范围内,共位置连接系统612通过修改相应消息收发客户端中的用户界面,来向在相应客户端设备处执行的相应的相关联消息收发客户端提供共位置体验。共位置体验的示例是由增强系统606提供的增强现实体验。The co-location connection system 612 is configured to selectively pair user profiles associated with respective client devices equipped with sensors that communicate with each other within a predetermined physical proximity. The co-location connectivity system 612 monitors the physical proximity of the client devices based on sensor data obtained by the co-location connectivity service from respective messaging clients executing at respective client devices. In response to detecting that the client device is within the predetermined co-location range, the co-location connectivity system 612 provides a corresponding associated messaging client executing at the corresponding client device by modifying a user interface in the corresponding messaging client device. Co-location experience. An example of a co-location experience is an augmented reality experience provided by augmentation system 606 .

增强系统606提供使得用户能够增强(例如,注释或以其他方式修改或编辑)与消息相关联的媒体内容的各种功能。例如,增强系统606提供与生成和发布针对由消息收发系统100处理的消息的媒体叠加(media overlay)相关的功能。增强系统606基于客户端设备102的地理定位可操作地向消息收发客户端104供应媒体叠加或增强(例如,图像过滤器)。在另一示例中,增强系统606基于其他信息,例如响应于共位置连接系统612检测到客户端设备在预定共位置范围内,可操作地向消息收发客户端104提供媒体叠加。媒体叠加可以包括音频和视觉内容以及视觉效果。音频和视觉内容的示例包括图片、文本、徽标、动画和声音效果。视觉效果的示例包括颜色叠加。音频和视觉内容或视觉效果可以被应用于客户端设备102处的媒体内容项(例如,照片)。例如,媒体叠加可以包括能够叠加在由客户端设备102拍摄的照片上的文本或图像。在另一示例中,媒体叠加包括定位标识叠加(例如,威尼斯海滩)、实况事件的名称或商家名称叠加(例如,海滩咖啡馆)。在另一示例中,共位置连接系统612和/或增强系统606与地图系统608协作,提供各种地理位置功能,并支持消息收发客户端104对基于地图的媒体内容和消息的呈现。Enhancement system 606 provides various functions that enable a user to enhance (eg, annotate or otherwise modify or edit) media content associated with a message. For example, enhancement system 606 provides functionality related to generating and publishing media overlays for messages processed by messaging system 100 . The enhancement system 606 is operable to supply media overlays or enhancements (eg, image filters) to the messaging client 104 based on the geolocation of the client device 102 . In another example, the enhancement system 606 is operable to provide the media overlay to the messaging client 104 based on other information, such as in response to the co-location connection system 612 detecting that the client device is within a predetermined co-location range. Media overlays can include audio and visual content as well as visual effects. Examples of audio and visual content include pictures, text, logos, animations and sound effects. Examples of visual effects include color overlays. Audio and visual content or visual effects may be applied to media content items (eg, photos) at client device 102 . For example, media overlays may include text or images that can be superimposed on photos taken by client device 102 . In another example, the media overlay includes a location identification overlay (eg, Venice Beach), a name of a live event, or a business name overlay (eg, a beach cafe). In another example, the co-location connection system 612 and/or the augmentation system 606 cooperate with the map system 608 to provide various geographic location functions and support the presentation of map-based media content and messages by the messaging client 104 .

共位置体验的其他示例是由游戏系统610提供的体验,其中共位置连接系统612生成包括可操作以激活游戏的视觉控件的共位置UI。游戏系统610在消息收发客户端104的上下文内提供各种游戏功能。消息收发客户端104提供游戏界面,该游戏界面包括可用游戏的列表,所述游戏可以由用户在消息收发客户端104的上下文中启动并与消息收发系统100的其他用户一起玩。消息收发系统100还使得特定用户能够通过从消息收发客户端104向其他用户发出邀请来邀请这样的其他用户参与玩特定游戏。消息收发客户端104还支持在游戏的上下文内进行语音消息收发和文本消息收发(例如,聊天)两者,为游戏提供排行榜,并且还支持提供游戏内奖励(例如,游戏币和物品)。Another example of a co-location experience is an experience provided by a gaming system 610 in which a co-location connection system 612 generates a co-location UI including visual controls operable to activate a game. Gaming system 610 provides various gaming functions within the context of messaging client 104 . The messaging client 104 provides a gaming interface that includes a list of available games that can be launched by the user within the context of the messaging client 104 and played with other users of the messaging system 100 . The messaging system 100 also enables a particular user to invite other users to participate in playing a particular game by sending an invitation from the messaging client 104 to such other users. The messaging client 104 also supports both voice and text messaging (eg, chat) within the context of the game, provides leaderboards for the game, and also supports providing in-game rewards (eg, coins and items).

在一些示例中,由共位置连接系统612提供的共位置体验包括提供对某些外部资源的访问,所述外部资源例如与配对的客户端设备相关联的相应消息收发客户端可以例如通过从第三方服务器访问HTML5文件来启动的应用或小程序。HTML 5被用作对游戏进行编程的示例技术,但是也可以使用基于其他技术编程的应用和资源。In some examples, the co-location experience provided by the co-location connectivity system 612 includes providing access to certain external resources, such as a corresponding messaging client associated with a paired client device, which can be accessed, for example, from the first An application or applet launched by a third-party server accessing an HTML5 file. HTML 5 is used as an example technology for programming games, but applications and resources programmed on other technologies can also be used.

如上所述,在出于访问共位置连接服务的目的而将两个用户简档配对的情况下,存储简档数据的数据库(例如,图1的数据库120)反映这样的配对。图7中示出了示例数据架构,这将在下面讨论。As noted above, where two user profiles are paired for the purpose of accessing co-location connectivity services, the database storing the profile data (eg, database 120 of FIG. 1 ) reflects such pairing. An example data architecture is shown in Figure 7, which is discussed below.

数据架构data structure

图7是示出根据某些示例的可以存储在消息收发服务器系统108的数据库120中的数据结构700的示意图。虽然数据库120的内容被示出为包括多个表,但是将理解的是,数据可以被以其他类型的数据结构存储(例如,作为面向对象数据库)。7 is a schematic diagram illustrating a data structure 700 that may be stored in the database 120 of the messaging server system 108, according to some examples. While the contents of database 120 are shown as including multiple tables, it will be appreciated that data may be stored in other types of data structures (eg, as an object-oriented database).

数据库120包括存储在消息表702内的消息数据。对于任何特定的一条消息,该消息数据包括至少消息发送者数据、消息接收方(或接收者)数据和有效载荷。下面参照图4描述关于可以被包括在消息中并且被包括在存储于消息表702中的消息数据内的信息的另外的细节。Database 120 includes message data stored in message table 702 . For any particular message, the message data includes at least message sender data, message recipient (or receiver) data, and payload. Additional details regarding information that may be included in a message and included within message data stored in message table 702 are described below with reference to FIG. 4 .

实体表704存储实体数据,并且(例如,参考地)链接至实体图706和简档数据708。其记录保存在实体表704内的实体可以包括个人、公司实体、组织、对象、地点、事件等。无论实体类型如何,消息收发服务器系统108存储关于其的数据的任何实体可以是被识别的实体。每个实体被提供有唯一标识符以及实体类型标识符(未示出)。Entity table 704 stores entity data and is (eg, referentially) linked to entity graph 706 and profile data 708 . Entities whose records are maintained in entity table 704 may include individuals, corporate entities, organizations, objects, places, events, and the like. Regardless of the entity type, any entity about which messaging server system 108 stores data may be an identified entity. Each entity is provided with a unique identifier as well as an entity type identifier (not shown).

实体图706存储与实体之间的关系和关联有关的信息。仅作为示例,这样的关系可以是基于兴趣或者基于活动的社交关系、职业关系(例如,在共同的公司或组织工作)。实体图706还可以存储反映表示图6的共位置连接系统612的用户的用户简档的配对的信息。The entity graph 706 stores information about relationships and associations between entities. By way of example only, such relationships may be interest-based or activity-based social relationships, professional relationships (eg, working in a common company or organization). The entity graph 706 may also store information reflecting pairings representing user profiles of users of the co-location connection system 612 of FIG. 6 .

简档数据708存储关于特定实体的多种类型的简档数据。基于由特定实体指定的隐私设置,简档数据708可以被选择性地使用并呈现给消息收发系统100的其他用户。在实体是个人的情况下,简档数据708包括例如用户名称、电话号码、地址、设置(例如,通知和隐私设置),以及用户选择的化身表示(或这样的化身表示的集合)。然后,特定用户可以将这些化身表示中的一个或更多个选择性地包括在经由消息收发系统100传送的消息的内容内以及由消息收发客户端104向其他用户显示的地图界面上。化身表示的集合可以包括“状态化身”,其呈现用户可以选择在特定时间传送的状态或活动的图形表示。除了用户标识718之外,表示与另一用户简档配对的简档的简档数据708(其中配对的简档表示共位置连接服务117的用户)还包括用户设备标识720和配对的用户标识722。在一个示例中,考虑到包括用户标识、用户设备标识和配对的用户标识的用户简档,图2中所示的电力优化系统206的定位数据交换部件获得用户设备(由用户设备标识表示)的定位数据,基于配对的用户标识来确定配对的简档,并且将所获得的用户设备的定位数据传送至由存储在配对的简档中的用户设备标识表示的配对设备。Profile data 708 stores various types of profile data about a particular entity. Profile data 708 may be selectively used and presented to other users of messaging system 100 based on privacy settings specified by a particular entity. Where the entity is an individual, profile data 708 includes, for example, a user name, phone number, address, settings (eg, notification and privacy settings), and a user-selected avatar (or collection of such avatars). A particular user may then selectively include one or more of these avatar representations within the content of messages communicated via messaging system 100 and on map interfaces displayed by messaging client 104 to other users. A collection of avatar representations may include a "status avatar," which presents a graphical representation of a status or activity that a user may choose to communicate at a particular time. In addition to the user identification 718, the profile data 708 representing a profile paired with another user profile (where the paired profile represents a user of the co-location connectivity service 117) also includes a user device identification 720 and a paired user identification 722 . In one example, the location data exchange component of the power optimization system 206 shown in FIG. 2 obtains the location of the user equipment (represented by the user equipment identification) given the user profile including the user identification, the user equipment identification, and the paired user identification. positioning data, determining a paired profile based on the paired user identification, and transmitting the obtained positioning data of the user equipment to the paired device represented by the user equipment identification stored in the paired profile.

数据库120还在增强表710中存储增强数据,诸如叠加物或过滤器。增强数据与视频(视频的数据被存储在视频表714中)和图像(图像的数据被存储在图像表716中)相关联并且被应用于视频和图像。如以上提及的,视频表714存储视频数据,在一个示例中,视频数据与其记录被保存在消息表702内的消息相关联。类似地,图像表716存储与其消息数据被存储在实体表704中的消息相关联的图像数据。实体表704可以将来自增强表710的各种增强与存储在图像表716和视频表714中的各种图像和视频相关联。Database 120 also stores enhancement data, such as overlays or filters, in enhancement table 710 . Enhancement data is associated with and applied to video (data for video is stored in video table 714 ) and image (data for image is stored in image table 716 ). As mentioned above, video table 714 stores video data, which in one example is associated with messages whose records are stored within message table 702 . Similarly, image table 716 stores image data associated with messages whose message data is stored in entity table 704 . Entity table 704 may associate various enhancements from enhancement table 710 with various images and videos stored in image table 716 and video table 714 .

图2是示出用于向图6的共位置连接系统612的用户提供共位置体验的示例系统200的框图。在一些示例中,系统200与图6所示的共位置连接系统612对应。系统200包括配对部件210、共位置检测器220和共位置UI生成器230。配对部件210被配置成将两个用户简档配对。在一些实施方式中,仅配对的用户简档可以访问由共位置连接系统612提供的共位置服务。与第一客户端设备相关联的第一用户简档和与第二客户端设备相关联的第二用户简档的配对是在线执行的。配对包括:确定第一客户端设备和第二客户端设备包括被配置成在预定物理范围内彼此通信的相应短程通信传感器。配对操作可以在以下情况下执行:不需要两个客户端设备在配对时处于其相应短程通信传感器所允许的通信范围内,并且不需要第一客户端设备与第二客户端设备之间经由短程无线通信技术进行通信。配对包括:从第一客户端设备接收将第一用户简档与第二用户简档配对的配对请求;响应于配对请求,从第二设备获得许可响应,所述许可与第二用户简档相关联;以及在获得许可响应之后,将第一用户简档与第二用户简档配对。FIG. 2 is a block diagram illustrating an example system 200 for providing a co-location experience to users of the co-location connectivity system 612 of FIG. 6 . In some examples, system 200 corresponds to co-located connection system 612 shown in FIG. 6 . The system 200 includes a pairing component 210 , a co-location detector 220 and a co-location UI generator 230 . The pairing component 210 is configured to pair two user profiles. In some implementations, only paired user profiles can access the co-location services provided by the co-location connection system 612 . The pairing of the first user profile associated with the first client device and the second user profile associated with the second client device is performed online. Pairing includes determining that the first client device and the second client device include respective short-range communication sensors configured to communicate with each other within a predetermined physical range. The pairing operation may be performed without requiring the two client devices to be within communication range of their respective short-range communication sensors at the time of pairing, and without requiring a short-range communication between the first client device and the second client device. Wireless communication technology to communicate. Pairing includes: receiving a pairing request from the first client device to pair the first user profile with the second user profile; in response to the pairing request, obtaining a permission response from the second device, the permission being associated with the second user profile and after obtaining the permission response, pairing the first user profile with the second user profile.

共位置检测器220被配置成:检测指示执行消息收发客户端的第一客户端设备和执行消息收发客户端的第二客户端设备位于预定物理范围内的共位置事件。检测共位置事件包括从第一客户端设备接收经由短程无线通信技术在第一客户端设备与第二客户端设备之间建立的连接的指示。共位置检测器220还被配置成:检测关于两个客户端设备的距离事件,以及响应于检测到距离事件,向客户端设备传送距离事件的视觉指示。距离事件指示第一客户端设备和第二客户端设备位于预定物理范围之外。距离事件包括从第一客户端设备接收先前经由短程无线通信技术在第一客户端设备与第二客户端设备之间建立的连接已经终止的指示。The co-location detector 220 is configured to detect a co-location event indicating that the first client device executing the messaging client and the second client device executing the messaging client are within a predetermined physical range. Detecting a co-location event includes receiving from the first client device an indication of a connection established between the first client device and the second client device via a short-range wireless communication technique. Co-location detector 220 is further configured to detect a distance event with respect to two client devices, and in response to detecting the distance event, transmit a visual indication of the distance event to the client devices. The distance event indicates that the first client device and the second client device are located outside a predetermined physical range. The distance event includes receiving from the first client device an indication that a connection previously established between the first client device and the second client device via the short-range wireless communication technique has terminated.

共位置UI生成器230被配置成:响应于共位置检测器220检测到共位置事件,生成共位置用户界面。共位置用户界面可以包括:例如,第一客户端设备和第二客户端设备共位置的指示、可操作以激活基于HTML5的应用的视觉控件、以及/或者被配置成叠加在第一客户端设备处执行的消息传递客户端的屏幕上播放的动画。Co-location UI generator 230 is configured to generate a co-location user interface in response to detection of a co-location event by co-location detector 220 . The co-location user interface may include, for example, an indication of the co-location of the first client device and the second client device, a visual control operable to activate the HTML5-based application, and/or configured to be superimposed on the first client device An animation that plays on the screen of the messaging client at execution.

系统200的各种部件中的每个部件可以在图1的客户端设备102处和/或消息收发服务器系统108处提供。下面描述关于系统200的操作的另外的细节。Each of the various components of system 200 may be provided at client device 102 and/or messaging server system 108 of FIG. 1 . Additional details regarding the operation of system 200 are described below.

图3是用于提供共位置体验的方法300的流程图。方法300可以由可以包括硬件(例如,专用逻辑、可编程逻辑、微代码等)、软件或其组合的处理逻辑来执行。在一个示例实施方式中,一些或全部处理逻辑驻留在图1的客户端设备102处和/或图1的消息收发服务器系统108处。尽管所描述的流程图可以将操作示出为顺序处理,但是操作中的许多操作可以并行或同时执行。此外,可以重新布置操作的顺序。处理在其操作完成时终止。处理可以对应于方法、过程、算法等。方法的操作可以整体或部分地执行,可以与其他方法中的一些或全部操作结合执行,并且可以通过任何数量的不同系统(诸如本文中描述的系统)或者其任何部分(诸如包括在任何系统中的处理器)来执行。FIG. 3 is a flowchart of a method 300 for providing a co-location experience. Method 300 may be performed by processing logic that may include hardware (eg, dedicated logic, programmable logic, microcode, etc.), software, or a combination thereof. In one example implementation, some or all of the processing logic resides at the client device 102 of FIG. 1 and/or at the messaging server system 108 of FIG. 1 . Although the depicted flowcharts may show operations as sequential processing, many of the operations may be performed in parallel or simultaneously. Also, the order of operations can be rearranged. A process terminates when its operations are complete. A process may correspond to a method, procedure, algorithm, or the like. The operations of a method may be performed in whole or in part, may be performed in conjunction with some or all operations of other methods, and may be implemented by any number of different systems (such as the systems described herein) or any part thereof (such as included in any system processor) to execute.

在操作310处,共位置连接系统612的共位置检测器220检测指示执行消息收发客户端的第一客户端设备和执行消息收发客户端的第二客户端设备位于预定物理范围内的共位置事件。在操作320处,响应于检测到共位置事件,共位置UI生成器230生成包括第一客户端设备和第二客户端设备共位置的指示的共位置用户界面。在操作330处,共位置用户界面被传送至第一客户端设备和第二客户端设备。At operation 310, the co-location detector 220 of the co-location connection system 612 detects a co-location event indicating that the first client device executing the messaging client and the second client device executing the messaging client are within a predetermined physical range. At operation 320, in response to detecting the co-location event, the co-location UI generator 230 generates a co-location user interface including an indication that the first client device and the second client device are co-located. At operation 330, the co-location user interface is transmitted to the first client device and the second client device.

图4是在共位置伙伴的相应显示设备上显示的示例共位置体验的图解表示400。如图4所示,配对的客户端设备410和420托管相应的消息收发客户端。消息收发客户端的相应屏幕412和422显示客户端设备410和420位于信号430的通信范围内并且因此被托管在消息收发服务器440处的共位置连接服务442识别为共位置的相应指示414和424。配对的客户端设备410和420经由网络诸如因特网与消息收发服务器440通信。消息收发客户端的相应屏幕412和422还显示被配置成叠加在相应屏幕412和422上播放(例如,向上浮动)的相应动画416和426,以及可操作以激活其他应用(例如,基于HTML5的应用)的相应视觉控件418和428。FIG. 4 is a diagrammatic representation 400 of an example co-location experience displayed on a corresponding display device of a co-location partner. As shown in FIG. 4, paired client devices 410 and 420 host respective messaging clients. Respective screens 412 and 422 of the messaging client display respective indications 414 and 424 that client devices 410 and 420 are within communication range of signal 430 and are therefore recognized as co-located by co-location connection service 442 hosted at messaging server 440. Paired client devices 410 and 420 communicate with messaging server 440 via a network, such as the Internet. The respective screens 412 and 422 of the messaging client also display respective animations 416 and 426 that are configured to play (e.g., float up) superimposed on the respective screens 412 and 422, and are operable to activate other applications (e.g., HTML5-based applications ) corresponding visual controls 418 and 428.

机器架构machine architecture

图5是机器600的图解表示,在该机器内可以执行用于使机器500执行本文中所讨论的方法中的任何一种或更多种方法的指令608(例如,软件、程序、应用、小程序、app或其他可执行代码)。例如,指令508可以使机器500执行本文中所描述的方法中的任何一种或更多种方法。指令508将通用的未经编程的机器500转换成被编程为以所描述的方式执行所描述和示出的功能的特定机器500。机器500可以作为独立设备操作,或者可以耦接(例如,联网)至其他机器。在联网部署中,机器500可以在服务器-客户端网络环境中以服务器机器或客户端机器的身份进行操作,或者在对等(或分布式)网络环境中作为对等机器进行操作。机器500可以包括但不限于:服务器计算机、客户端计算机、个人计算机(PC)、平板计算机、膝上型计算机、上网本、机顶盒(STB)、个人数字助理(PDA)、娱乐媒体系统、蜂窝电话、智能电话、移动设备、可穿戴设备(例如,智能手表)、智能家居设备(例如,智能电器)、其他智能设备、web装置、网络路由器、网络交换机、网络桥接器或者能够顺序地或以其他方式执行指定要由机器500采取的动作的指令508的任何机器。此外,虽然仅示出了单个机器500,但是术语“机器”还应当被视为包括单独地或联合地执行指令508以执行本文中讨论的任何一种或更多种方法的机器的集合。例如,机器500可以包括客户端设备102或者形成消息收发服务器系统108的一部分的多个服务器设备中的任何一个。在一些示例中,机器500还可以包括客户端系统和服务器系统两者,其中特定方法或算法的某些操作在服务器侧执行,并且所述特定方法或算法的某些操作在客户端侧执行。5 is a diagrammatic representation of a machine 600 within which instructions 608 (e.g., software, programs, applications, program, app, or other executable code). For example, instructions 508 may cause machine 500 to perform any one or more of the methods described herein. Instructions 508 transform a general-purpose unprogrammed machine 500 into a specific machine 500 programmed to perform the described and illustrated functions in the described manner. Machine 500 may operate as a standalone device, or may be coupled (eg, networked) to other machines. In a networked deployment, machine 500 may operate as a server machine or a client machine in a server-client network environment, or as a peer machine in a peer-to-peer (or distributed) network environment. Machine 500 may include, but is not limited to: server computers, client computers, personal computers (PCs), tablet computers, laptop computers, netbooks, set-top boxes (STBs), personal digital assistants (PDAs), entertainment media systems, cellular phones, Smartphones, mobile devices, wearable devices (e.g., smart watches), smart home devices (e.g., smart appliances), other smart devices, web appliances, network routers, network switches, network bridges, or capable of sequentially or otherwise Any machine that executes instructions 508 specifying actions to be taken by machine 500 . Further, while a single machine 500 is shown, the term "machine" shall also be taken to include a collection of machines that individually or jointly execute instructions 508 to perform any one or more of the methodologies discussed herein. For example, machine 500 may include client device 102 or any of a number of server devices forming part of messaging server system 108 . In some examples, machine 500 may also include both client systems and server systems, where certain operations of a particular method or algorithm are performed on the server side and certain operations of the particular method or algorithm are performed on the client side.

机器500可以包括可以被配置成经由总线540彼此通信的处理器502、存储器504和输入/输出(I/O)部件538。在示例中,处理器502(例如,中央处理单元(CPU)、精简指令集计算(RISC)处理器、复杂指令集计算(CISC)处理器、图形处理单元(GPU)、数字信号处理器(DSP)、专用集成电路(ASIC)、射频集成电路(RFIC)、另外的处理器或其任何合适的组合)可以包括例如执行指令508的处理器506和处理器510。术语“处理器”旨在包括多核处理器,该多核处理器可以包括可以同时执行指令的两个或更多个独立的处理器(有时被称为“核”)。尽管图5示出了多个处理器502,但是机器500可以包括具有单个核的单个处理器、具有多个核的单个处理器(例如,多核处理器)、具有单个核的多个处理器、具有多个核的多个处理器或其任何组合。Machine 500 may include a processor 502 , a memory 504 , and an input/output (I/O) component 538 that may be configured to communicate with one another via a bus 540 . In an example, processor 502 (e.g., central processing unit (CPU), reduced instruction set computing (RISC) processor, complex instruction set computing (CISC) processor, graphics processing unit (GPU), digital signal processor (DSP ), an application specific integrated circuit (ASIC), a radio frequency integrated circuit (RFIC), another processor, or any suitable combination thereof) may include, for example, processor 506 and processor 510 that execute instructions 508 . The term "processor" is intended to include a multi-core processor, which may include two or more separate processors (sometimes referred to as "cores") that can execute instructions concurrently. Although FIG. 5 shows multiple processors 502, machine 500 may include a single processor with a single core, a single processor with multiple cores (e.g., a multi-core processor), multiple processors with a single core, Multiple processors with multiple cores or any combination thereof.

存储器504包括主存储器512、静态存储器514和存储单元516,其均可以由处理器502经由总线1410访问。主存储器504、静态存储器514以及存储单元516存储实现本文中描述的方法或功能中的任何一种或更多种的指令508。指令508还可以在其被机器500执行期间完全地或部分地驻留在主存储器512内、在静态存储器514内、在存储单元515内的机器可读介质518内、在处理器502中的至少一个处理器内(例如,在处理器的高速缓存存储器内)或其任何合适的组合内。Memory 504 includes main memory 512 , static memory 514 , and storage unit 516 , all of which are accessible by processor 502 via bus 1410 . The main memory 504, the static memory 514, and the storage unit 516 store instructions 508 implementing any one or more of the methods or functions described herein. Instructions 508 may also reside wholly or partially within main memory 512, within static memory 514, within machine-readable medium 518 within storage unit 515, within at least Within a processor (eg, within a processor's cache memory) or any suitable combination thereof.

I/O部件538可以包括用于接收输入、提供输出、制作输出、传输信息、交换信息、捕获测量等的各种部件。包括在特定机器中的特定I/O部件538将取决于机器的类型。例如,诸如移动电话的便携式机器可以包括触摸输入设备或其他这样的输入机构,而无头(headless)服务器机器将不太可能包括这样的触摸输入设备。将理解的是,I/O部件538可以包括图5中未示出的许多其他部件。在各种示例中,I/O部件538可以包括用户输出部件524和用户输入部件526。用户输出部件524可以包括视觉部件(例如,诸如等离子显示面板(PDP)、发光二极管(LED)显示器、液晶显示器(LCD)、投影仪或阴极射线管(CRT)的显示器)、声学部件(例如,扬声器)、触觉部件(例如,振动马达、阻力机构)、其他信号发生器等。用户输入部件526可以包括字母数字输入部件(例如,键盘、被配置成接收字母数字输入的触摸屏、光学键盘或其他字母数字输入部件)、基于指向的输入部件(例如,鼠标、触摸板、轨迹球、操纵杆、运动传感器或其他指向仪器)、触觉输入部件(例如,物理按钮、提供触摸或触摸手势的定位和力的触摸屏或其他触觉输入部件)、音频输入部件(例如,麦克风)等。I/O components 538 may include various components for receiving input, providing output, making output, transmitting information, exchanging information, capturing measurements, and the like. The particular I/O components 538 included in a particular machine will depend on the type of machine. For example, a portable machine such as a mobile phone may include a touch input device or other such input mechanism, whereas a headless server machine would be less likely to include such a touch input device. It will be appreciated that I/O components 538 may include many other components not shown in FIG. 5 . In various examples, I/O components 538 can include user output components 524 and user input components 526 . User output components 524 may include visual components (e.g., a display such as a plasma display panel (PDP), light emitting diode (LED) display, liquid crystal display (LCD), projector, or cathode ray tube (CRT)), acoustic components (e.g., speakers), haptic components (eg, vibration motors, resistance mechanisms), other signal generators, etc. User input components 526 may include alphanumeric input components (e.g., a keyboard, a touch screen configured to receive alphanumeric input, an optical keyboard, or other alphanumeric input components), pointing-based input components (e.g., a mouse, a touchpad, a trackball). , joystick, motion sensor or other pointing instrument), tactile input components (e.g., physical buttons, touch screens or other tactile input components that provide the location and force of touch or touch gestures), audio input components (e.g., microphones), etc.

在其他示例中,I/O部件538可以包括生物识别部件528、运动部件530、环境部件532、或位置部件534以及各种其他部件。例如,生物识别部件528包括用于检测表达(例如,手表达、面部表达、声音表达、身体姿态或眼球追踪)、测量生物信号(例如,血压、心率、体温、出汗或脑波)、识别人(例如,声音识别、视网膜识别、面部识别、指纹识别或基于脑电图的识别)等的部件。运动部件530包括加速度传感器部件(例如,加速度计)、重力传感器部件、旋转传感器部件(例如,陀螺仪)。In other examples, I/O components 538 may include biometric components 528, motion components 530, environmental components 532, or location components 534, among various other components. For example, the biometric component 528 includes functions for detecting expressions (e.g., hand expressions, facial expressions, voice expressions, body gestures, or eye tracking), measuring biosignals (e.g., blood pressure, heart rate, body temperature, sweating, or brain waves), identifying Components for people (for example, voice recognition, retinal recognition, facial recognition, fingerprint recognition, or EEG-based recognition), etc. The moving part 530 includes an acceleration sensor part (for example, an accelerometer), a gravity sensor part, and a rotation sensor part (for example, a gyroscope).

环境部件532包括例如一个或更多个摄像装置(具有静止图像/照片和视频能力)、照明传感器部件(例如,光度计)、温度传感器部件(例如,检测环境温度的一个或更多个温度计)、湿度传感器部件、压力传感器部件(例如,气压计)、声学传感器部件(例如,检测背景噪声的一个或更多个麦克风)、接近度传感器部件(例如,检测附近对象的红外传感器)、气体传感器(例如,为了安全而检测危险气体的浓度或者测量大气中的污染物的气体检测传感器),或者可以提供与周围物理环境对应的指示、测量或信号的其他部件。Environmental components 532 include, for example, one or more cameras (with still image/photo and video capabilities), lighting sensor components (e.g., photometers), temperature sensor components (e.g., one or more thermometers to detect ambient temperature) , humidity sensor components, pressure sensor components (e.g. barometer), acoustic sensor components (e.g. one or more microphones to detect background noise), proximity sensor components (e.g. infrared sensors to detect nearby objects), gas sensors (for example, gas detection sensors that detect concentrations of hazardous gases for safety or measure pollutants in the atmosphere), or other components that may provide indications, measurements, or signals corresponding to the surrounding physical environment.

关于摄像装置,客户端设备102可以具有摄像装置系统,该摄像装置系统包括例如在客户端设备102的前表面上的前置摄像装置以及在客户端设备102的后表面上的后置摄像装置。前置摄像装置可以例如用于捕获客户端设备102的用户的静止图像和视频(例如,“自拍”),然后可以利用上述增强数据(例如,过滤器)对该静止图像和视频进行增强。后置摄像装置可以例如用于以更传统的摄像装置模式捕获静止图像和视频,其中类似地利用增强数据对这些图像进行增强。除了前置摄像装置和后置摄像装置之外,客户端设备102还可以包括用于捕获360°照片和视频的360°摄像装置。Regarding cameras, the client device 102 may have a camera system including, for example, a front camera on the front surface of the client device 102 and a rear camera on the rear surface of the client device 102 . The front-facing camera may, for example, be used to capture still images and video (eg, "selfies") of the user of client device 102, which may then be enhanced with the aforementioned enhancement data (eg, filters). The rear camera may, for example, be used to capture still images and video in a more traditional camera mode, where these images are similarly enhanced with enhancement data. In addition to front and rear cameras, client device 102 may also include a 360° camera for capturing 360° photos and videos.

此外,客户端设备102的摄像装置系统可以包括双后置摄像装置(例如,主摄像装置以及深度感知摄像装置),或者甚至在客户端设备102的前后侧包括三重、四重或五重后置摄像装置配置。例如,这些多摄像装置系统可以包括广角摄像装置、超广角摄像装置、长焦摄像装置、微距摄像装置和深度传感器。Additionally, the camera system of the client device 102 may include dual rear cameras (e.g., a main camera and a depth-aware camera), or even triple, quadruple, or quintuple rear cameras on the front and rear sides of the client device 102. Camera configuration. For example, these multi-camera systems may include wide-angle cameras, ultra-wide-angle cameras, telephoto cameras, macro cameras, and depth sensors.

位置部件534包括定位传感器部件(例如,GPS接收器部件)、海拔高度传感器部件(例如,检测气压的高度计或气压计,根据气压可以得到海拔高度)、取向传感器部件(例如,磁力计)等。The location component 534 includes a positioning sensor component (for example, a GPS receiver component), an altitude sensor component (for example, an altimeter or a barometer that detects air pressure from which the altitude can be obtained), an orientation sensor component (for example, a magnetometer), and the like.

可以使用各种技术来实现通信。I/O部件538还包括通信部件536,通信部件536可操作以经由相应的耦接或连接将机器500耦接至网络520或设备522。例如,通信部件536可以包括网络接口部件或其他合适的设备以与网络520对接。在另外的示例中,通信部件536可以包括有线通信部件、无线通信部件、蜂窝通信部件、近场通信(NFC)部件、部件(例如,/>低能耗)、/>部件以及经由其他方式提供通信的其他通信部件。设备522可以是另一机器或各种外围设备中的任何外围设备(例如,经由USB耦接的外围设备)。Communications may be accomplished using various techniques. The I/O component 538 also includes a communication component 536 operable to couple the machine 500 to the network 520 or the device 522 via a corresponding coupling or connection. For example, communications component 536 may include a network interface component or other suitable device to interface with network 520 . In further examples, the communication component 536 can include a wired communication component, a wireless communication component, a cellular communication component, a near field communication (NFC) component, widget (eg, /> low energy consumption), /> components and other communication components that provide communication via other means. Device 522 may be another machine or any of a variety of peripherals (eg, a peripheral coupled via USB).

此外,通信部件636可以检测标识符或包括可操作以检测标识符的部件。例如,通信部件636可以包括射频识别(RFID)标签读取器部件、NFC智能标签检测部件、光学读取器部件(例如,用于检测诸如通用产品代码(UPC)条形码的一维条形码,诸如快速响应(QR)码、Aztec码、数据矩阵(Data Matrix)、数据符号(Dataglyph)、最大码(MaxiCode)、PDF417、超码(Ultra Code)、UCC RSS-2D条形码的多维条形码,以及其他光学码的光学传感器)或声学检测部件(例如,用于识别所标记的音频信号的麦克风)。另外,可以经由通信部件536得出各种信息,例如经由因特网协议(IP)地理定位得出定位、经由信号三角测量得出定位、经由检测可以指示特定定位的NFC信标信号得出定位等。Additionally, communication component 636 can detect an identifier or include a component operable to detect an identifier. For example, communication components 636 may include radio frequency identification (RFID) tag reader components, NFC smart tag detection components, optical reader components (e.g., for detecting one-dimensional barcodes such as Universal Product Code (UPC) barcodes, such as fast Response (QR) Code, Aztec Code, Data Matrix, Data Symbol (Dataglyph), MaxiCode (MaxiCode), PDF417, Ultra Code (Ultra Code), UCC RSS-2D barcode multi-dimensional barcode, and other optical codes optical sensors) or acoustic detection components (e.g., microphones for recognizing marked audio signals). Additionally, various information can be derived via the communications component 536, such as a location via Internet Protocol (IP) geolocation, Signal triangulation yields a location, via detection of NFC beacon signals that may indicate a particular location, etc.

各种存储器(例如,主存储器512、静态存储器514以及处理器502的存储器)以及存储单元516可以存储由本文中描述的方法或功能中的任何一个或更多个实现或使用的一组或更多组指令和数据结构(例如,软件)。这些指令(例如,指令508)在由处理器502执行时使各种操作实现所公开的示例。Various memories (e.g., main memory 512, static memory 514, and memory of processor 502) and storage unit 516 may store a set or more Sets of instructions and data structures (eg, software). These instructions (eg, instructions 508 ), when executed by processor 502 , cause various operations to implement the disclosed examples.

可以经由网络接口设备(例如,通信部件536中包括的网络接口部件),使用传输介质并且使用若干公知的传输协议中的任何一种传输协议(例如,超文本传输协议(HTTP)),通过网络520来发送或接收指令508。类似地,可以使用传输介质经由与设备522的耦接(例如,对等耦接)来发送或接收指令608。Communication over a network may be via a network interface device (e.g., a network interface component included in communication component 536), using a transmission medium and using any of several well-known transmission protocols (e.g., Hypertext Transfer Protocol (HTTP)). 520 to send or receive instructions 508 . Similarly, instructions 608 may be sent or received via a coupling (eg, a peer-to-peer coupling) with device 522 using a transmission medium.

术语表Glossary

“载波信号”是指能够存储、编码或携载由机器执行的指令的任何无形介质并且包括数字或模拟通信信号或其他无形介质以有助于这些指令的通信。可以使用传输介质经由网络接口设备来通过网络发送或接收指令。"Carrier signal" means any intangible medium capable of storing, encoding, or carrying instructions for execution by a machine and includes digital or analog communication signals or other intangible medium to facilitate communication of such instructions. Instructions may be sent or received over a network via a network interface device using a transmission medium.

“客户端设备”是指与通信网络对接以从一个或更多个服务器系统或其他客户端设备获得资源的任何机器。客户端设备可以是但不限于移动电话、桌上型计算机、膝上型计算机、便携式数字助理(PDA)、智能电话、平板计算机、超级本、上网本、膝上型计算机、多处理器系统、基于微处理器的或可编程消费电子产品、游戏控制台、机顶盒或用户可以用于访问网络的任何其他通信设备。"Client Device" means any machine that interfaces with a communications network to obtain resources from one or more server systems or other client devices. Client devices can be, but are not limited to, mobile phones, desktop computers, laptop computers, portable digital assistants (PDAs), smart phones, tablet computers, ultrabooks, netbooks, laptop computers, multiprocessor systems, based A microprocessor-based or programmable consumer electronics product, game console, set-top box, or any other communication device that a user can use to access a network.

通信网络”是指网络的一个或更多个部分,该网络可以是自组织网络、内联网、外联网、虚拟专用网络(VPN)、局域网(LAN)、无线LAN(WLAN)、广域网(WAN)、无线WAN(WWAN)、城域网(MAN)、因特网、因特网的一部分、公共交换电话网(PSTN)的一部分、普通老式电话服务(POTS)网络、蜂窝电话网络、无线网络、网络、其他类型的网络或者两个或更多个这样的网络的组合。例如,网络或网络的一部分可以包括无线网络或蜂窝网络,并且耦接可以是码分多址(CDMA)连接、全球移动通信系统(GSM)连接或其他类型的蜂窝或无线耦接。在该示例中,耦接可以实现各种类型的数据传输技术中的任何数据传输技术,例如单载波无线电传输技术(1xRTT)、演进数据优化(EVDO)技术、通用分组无线电服务(GPRS)技术、增强型数据速率GSM演进(EDGE)技术、包括3G的第三代合作伙伴计划(3GPP)、第四代无线(4G)网络、通用移动电信系统(UMTS)、高速分组接入(HSPA)、全球微波接入互操作性(WiMAX)、长期演进(LTE)标准、由各种标准设置组织定义的其他数据传输技术、其他长距离协议或其他数据传输技术。Communications network" means one or more parts of a network, which may be an ad hoc network, an intranet, an extranet, a virtual private network (VPN), a local area network (LAN), a wireless LAN (WLAN), a wide area network (WAN) , Wireless WAN (WWAN), Metropolitan Area Network (MAN), Internet, Part of Internet, Part of Public Switched Telephone Network (PSTN), Plain Old Telephone Service (POTS) Network, Cellular Telephone Network, Wireless Network, network, other types of networks, or a combination of two or more such networks. For example, a network or portion of a network may comprise a wireless network or a cellular network, and the coupling may be a Code Division Multiple Access (CDMA) connection, a Global System for Mobile Communications (GSM) connection, or other type of cellular or wireless coupling. In this example, the coupling can implement any of various types of data transmission technologies, such as Single Carrier Radio Transmission Technology (1xRTT), Evolution Data Optimized (EVDO) technology, General Packet Radio Service (GPRS) technology, Enhanced Data Rates for GSM Evolution (EDGE) technology, Third Generation Partnership Project (3GPP) including 3G, Fourth Generation Wireless (4G) networks, Universal Mobile Telecommunications System (UMTS), High Speed Packet Access (HSPA), Global Interoperability for Microwave Access (WiMAX), Long Term Evolution (LTE) standards, other data transmission technologies defined by various standard setting organizations, other long range protocols or other data transmission technologies.

“部件”是指具有以下边界的设备、物理实体或逻辑,所述边界由功能或子例程调用、分支点、API或者对特定处理或控制功能提供分区或模块化的其他技术定义。部件可以经由其接口与其他部件组合以执行机器处理。部件可以是被设计用于与其他部件一起使用的经封装的功能硬件单元,并且可以是通常执行相关功能中的特定功能的程序的一部分。部件可以构成软件组件(例如,体现在机器可读介质上的代码)或硬件部件。“硬件部件”是能够执行某些操作并且可以以某种物理方式来配置或布置的有形单元。在各种示例实施方式中,可以通过软件(例如,应用或应用部分)将一个或更多个计算机系统(例如,独立计算机系统、客户端计算机系统或服务器计算机系统)或者计算机系统的一个或更多个硬件部件(例如,处理器或处理器组)配置为进行操作以执行本文中描述的某些操作的硬件部件。也可以机械地、电子地或以其任何合适的组合来实现硬件部件。例如,硬件部件可以包括被永久地配置成执行某些操作的专用电路系统或逻辑。硬件部件可以是专用处理器,例如现场可编程门阵列(FPGA)或专用集成电路(ASIC)。硬件部件还可以包括通过软件临时配置成执行某些操作的可编程逻辑或电路系统。例如,硬件部件可以包括由通用处理器或其他可编程处理器执行的软件。一旦通过这样的软件被配置,硬件部件就变成被独特地定制成执行所配置的功能的特定机器(或机器的特定部件),而不再是通用处理器。将理解的是,可以出于成本和时间考虑来决定是机械地、在专用且永久配置的电路中还是在临时配置(例如,由软件配置)的电路系统中实现硬件部件。相应地,短语“硬件部件”(或者“硬件实现的部件”)应当被理解成包含有形实体,即被物理构造、永久配置(例如,被硬连线)或临时配置(例如,被编程)成以某种方式操作或者执行本文中描述的某些操作的实体。考虑硬件部件被临时配置(例如,被编程)的示例,无需在任一时刻对硬件部件中的每个硬件部件进行配置或实例化。例如,在硬件部件包括通过软件配置而变成专用处理器的通用处理器的情况下,该通用处理器可以在不同时间处分别被配置为不同的专用处理器(例如,包括不同的硬件部件)。软件相应地将一个或多个特定处理器配置成例如在一个时刻处构成特定硬件部件,并且在不同的时刻处构成不同的硬件部件。硬件部件可以向其他硬件部件提供信息以及从其他硬件部件接收信息。因此,所描述的硬件部件可以被认为通信地耦接。在同时存在多个硬件部件的情况下,可以通过在两个或更多个硬件部件之间或之中(例如,通过适当的电路和总线)的信号传输来实现通信。在多个硬件部件在不同时间处被配置或被实例化的实施方式中,可以例如通过将信息存储在所述多个硬件部件有权访问的存储器结构中并且在该存储器结构中检索信息来实现这样的硬件部件之间的通信。例如,一个硬件部件可以执行操作,并且将该操作的输出存储在其通信地耦接的存储器设备中。然后,其他硬件部件可以在随后的时间访问存储器设备以检索所存储的输出并对所存储的输出进行处理。硬件部件还可以发起与输入设备或输出设备的通信,并且可以对资源(例如,信息的集合)进行操作。本文所述的示例方法的各种操作可以至少部分地由被临时地配置(例如,由软件)或永久地配置成执行相关操作的一个或更多个处理器来执行。无论是被临时地配置还是被永久地配置,这样的处理器可以构成进行操作以执行本文中描述的一个或更多个操作或功能的处理器实现的部件。如本文中使用的,“处理器实现的部件”是指使用一个或更多个处理器实现的硬件部件。类似地,本文中描述的方法可以至少部分地由处理器实现,其中特定的一个或多个处理器是硬件的示例。例如,方法的至少一些操作可以由一个或更多个处理器1004或处理器实现的部件来执行。此外,所述一个或更多个处理器还可以进行操作以支持“云计算”环境中的相关操作的执行或者作为“软件即服务”(SaaS)操作。例如,操作中的至少一些操作可以由计算机组(作为包括处理器的机器的示例)执行,其中,这些操作能够经由网络(例如,因特网)并且经由一个或更多个适当的接口(例如,API)进行访问。某些操作的执行可以分布在处理器之间,不是仅驻留在单个机器内,而是被跨多个机器部署。在一些示例实施方式中,处理器或处理器实现的部件可以位于单个地理位置中(例如,在家庭环境、办公室环境或服务器群内)。在其他示例实施方式中,处理器或处理器实现的部件可以跨若干地理位置而分布。"Component" means a device, physical entity, or logic having boundaries defined by function or subroutine calls, branch points, APIs, or other techniques that provide partitioning or modularization of particular processing or control functions. Components may be combined with other components via their interfaces to perform machine processes. A component may be a packaged functional hardware unit designed for use with other components, and may be a part of a program that generally performs specific ones of the related functions. A component may constitute a software component (eg, code embodied on a machine-readable medium) or a hardware component. A "hardware component" is a tangible unit capable of performing certain operations and that may be configured or arranged in a certain physical manner. In various example embodiments, one or more computer systems (e.g., stand-alone computer systems, client computer systems, or server computer systems) or one or more A number of hardware components (eg, a processor or group of processors) are configured as hardware components operative to perform certain operations described herein. Hardware components may also be implemented mechanically, electronically, or any suitable combination thereof. For example, a hardware component may include dedicated circuitry or logic that is permanently configured to perform certain operations. A hardware component may be a special purpose processor, such as a Field Programmable Gate Array (FPGA) or an Application Specific Integrated Circuit (ASIC). Hardware components may also include programmable logic or circuitry that is temporarily configured by software to perform certain operations. For example, hardware components may include software executed by a general-purpose processor or other programmable processor. Once configured by such software, the hardware component becomes a specific machine (or specific part of a machine) uniquely tailored to perform the configured function, rather than a general-purpose processor. It will be appreciated that cost and time considerations may dictate whether to implement hardware components mechanically, in dedicated and permanently configured circuitry, or in temporarily configured (eg, by software) circuitry. Accordingly, the phrase "hardware component" (or "hardware-implemented component") should be understood to encompass a tangible entity that is physically constructed, permanently configured (e.g., hardwired) or temporarily configured (e.g., programmed) into a An entity that operates in a certain way or performs some of the actions described herein. Considering the example where hardware components are temporarily configured (eg, programmed), each of the hardware components need not be configured or instantiated at any one time. For example, in the case where hardware components include a general-purpose processor that becomes a special-purpose processor through software configuration, the general-purpose processor may be respectively configured as different special-purpose processors (for example, including different hardware components) at different times. . The software accordingly configures one or more particular processors to constitute, for example, a particular hardware component at one moment in time, and to constitute a different hardware component at a different moment in time. Hardware components can provide information to, and receive information from, other hardware components. Accordingly, the described hardware components may be considered to be communicatively coupled. Where multiple hardware components are present at the same time, communications may be achieved by the transmission of signals between or among two or more hardware components (eg, through appropriate circuits and buses). In embodiments where multiple hardware components are configured or instantiated at different times, this may be achieved, for example, by storing information in a memory structure to which the multiple hardware components have access and retrieving information from that memory structure communication between such hardware components. For example, a hardware component may perform an operation and store the output of the operation in its communicatively coupled memory device. Other hardware components can then access the memory device at a later time to retrieve and process the stored output. A hardware component can also initiate communications with input or output devices, and can operate on a resource (eg, a collection of information). The various operations of the example methods described herein may be performed, at least in part, by one or more processors that are temporarily configured (eg, by software) or permanently configured to perform the relevant operations. Whether temporarily configured or permanently configured, such a processor may constitute a processor-implemented component operative to perform one or more operations or functions described herein. As used herein, a "processor-implemented component" refers to a hardware component implemented using one or more processors. Similarly, the methods described herein may be implemented at least in part by a processor, the particular processor or processors being an example of hardware. For example, at least some operations of a method may be performed by one or more processors 1004 or processor-implemented components. Additionally, the one or more processors may also be operable to support the performance of related operations in a "cloud computing" environment or as a "software as a service" (SaaS). For example, at least some of the operations may be performed by a group of computers (as an example of a machine including a processor), where these operations can be performed via a network (e.g., the Internet) and via one or more suitable interfaces (e.g., an API). ) to access. Execution of certain operations can be distributed across processors, not residing only within a single machine, but deployed across multiple machines. In some example embodiments, a processor or processor-implemented components may be located in a single geographic location (eg, within a home environment, office environment, or server farm). In other example implementations, a processor or processor-implemented component may be distributed across several geographic locations.

“计算机可读存储介质”是指机器存储介质和传输介质两者。因此,这些术语包括存储设备/介质和载波/调制数据信号两者。术语“机器可读介质”、“计算机可读介质”和“设备可读介质”意指相同的事物,并且可以在本公开内容中可互换地使用。"Computer-readable storage medium" refers to both machine storage media and transmission media. Accordingly, these terms include both storage devices/media and carrier/modulated data signals. The terms "machine-readable medium", "computer-readable medium" and "device-readable medium" mean the same thing and may be used interchangeably in this disclosure.

“机器存储介质”是指存储可执行指令、例程和数据的单个或多个存储设备和介质(例如,集中式或分布式数据库,以及相关联的高速缓存和服务器)。因此,该术语应被视为包括但不限于固态存储器以及光学和磁性介质,包括处理器内部或外部的存储器。机器存储介质、计算机存储介质和设备存储介质的具体示例包括:非易失性存储器,包括例如半导体存储器设备,例如可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、FPGA和闪存设备;磁盘,例如内部硬盘和可移除磁盘;磁光盘;以及CD-ROM和DVD-ROM磁盘。术语“机器存储介质”、“设备存储介质”、“计算机存储介质”意指相同的事物并且可以在本公开内容中互换地使用。术语“机器存储介质”、“计算机存储介质”和“设备存储介质”明确地排除了载波、调制数据信号和其他这样的介质,所述载波、调制数据信号和其他这样的介质中的至少一些被涵盖在术语“信号介质”中。"Machine storage medium" means a single or multiple storage devices and media (eg, centralized or distributed databases, and associated caches and servers) that store executable instructions, routines, and data. Accordingly, the term should be read to include, but not be limited to, solid-state memory, as well as optical and magnetic media, including memory internal or external to the processor. Specific examples of machine storage media, computer storage media, and device storage media include: non-volatile memory, including, for example, semiconductor memory devices such as Erasable Programmable Read-Only Memory (EPROM), Electrically Erasable Programmable Read-Only Memory (EEPROM), FPGA, and flash memory devices; magnetic disks, such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks. The terms "machine storage medium", "device storage medium", "computer storage medium" mean the same thing and may be used interchangeably in this disclosure. The terms "machine storage medium", "computer storage medium" and "device storage medium" expressly exclude carrier waves, modulated data signals and other such media at least some of which are covered by the term "signal medium".

“非暂态计算机可读存储介质”是指能够存储、编码或携载由机器执行的指令的有形介质。A "non-transitory computer-readable storage medium" refers to a tangible medium capable of storing, encoding, or carrying instructions for execution by a machine.

“信号介质”是指能够存储、编码或携载由机器执行的指令的任何无形介质,并且包括数字或模拟通信信号或其他无形介质以有助于软件或数据的通信。术语“信号介质”应当被视为包括任何形式的调制数据信号、载波等。术语“调制数据信号”意指其特性中的一个或更多个特性被以将信息编码在信号中的方式来设置或改变的信号。术语“传输介质”和“信号介质”意指相同的事物并且可以在本公开内容中互换地使用。"Signal medium" means any intangible medium capable of storing, encoding, or carrying instructions for execution by a machine, and includes digital or analog communication signals or other intangible medium to facilitate the communication of software or data. The term "signal medium" should be taken to include any form of modulated data signal, carrier wave, etc. The term "modulated data signal" means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. The terms "transmission medium" and "signal medium" mean the same thing and may be used interchangeably in this disclosure.

权利要求书(按照条约第19条的修改)Claims (as amended under Article 19 of the Treaty)

1.一种方法,包括: 1. A method comprising:

在包括消息收发客户端和相关联的后端服务、提供能够经由所述消息收发客户端从客户端设备访问的共位置连接服务的在线消息收发系统中: In an online messaging system comprising a messaging client and an associated backend service, providing a co-location connected service accessible from a client device via the messaging client:

检测指示执行所述消息收发客户端的第一客户端设备和执行所述消息收发客户端的第二客户端设备位于预定物理范围内的共位置事件; detecting a co-location event indicating that a first client device executing the messaging client and a second client device executing the messaging client are within a predetermined physical range;

响应于检测到所述共位置事件,生成共位置用户界面,所述共位置用户界面包括所述第一客户端设备和所述第二客户端设备共位置的指示;以及 in response to detecting the co-location event, generating a co-location user interface including an indication that the first client device and the second client device are co-located; and

使得向所述第一客户端设备和所述第二客户端设备呈现所述共位置用户界面, causing the co-location user interface to be presented to the first client device and the second client device,

其中,所述消息收发系统的数据库包括实体图,以存储反映表示所述共位置连接服务的用户的用户简档的配对的信息。 Wherein the database of the messaging system includes an entity map to store information reflecting pairs representing user profiles of users of the co-location connectivity service.

2.根据权利要求1所述的方法,其中,所述检测共位置事件包括从所述第一客户端设备接收经由短程无线通信技术在所述第一客户端设备与所述第二客户端设备之间建立的连接的指示。 2. The method of claim 1, wherein the detecting a co-location event comprises receiving from the first client device a communication between the first client device and the second client device via a short-range wireless communication technique. An indication of the connection established between.

3.根据权利要求1所述的方法,其中,所述生成共位置用户界面包括:在所述共位置用户界面中包括可操作以激活另外的应用的视觉控件。 3. The method of claim 1, wherein said generating a co-location user interface comprises including in said co-location user interface a visual control operable to activate an additional application.

4.根据权利要求1所述的方法,其中,所述生成共位置用户界面包括:在所述共位置用户界面中包括被配置成叠加在所述第一客户端设备处执行的消息收发客户端的屏幕上播放的动画。 4. The method of claim 1 , wherein the generating a co-location user interface comprises including in the co-location user interface a message configured to overlay a messaging client executing at the first client device. An animation played on the screen.

5.根据权利要求1所述的方法,其中,所述消息收发维护表示所述共位置连接服务的相应用户的简档,所述第一客户端设备与来自所述简档的第一用户简档相关联,所述第二客户端设备与来自所述简档的第二用户简档相关联。 5. The method of claim 1 , wherein the messaging maintains a profile representing a corresponding user of the co-location connectivity service, the first client device communicating with the first user profile from the profile. profile, the second client device is associated with a second user profile from the profile.

6.根据权利要求5所述的方法,还包括在线配对所述第一用户简档和所述第二用户简档,所述配对包括: 6. The method of claim 5, further comprising pairing the first user profile and the second user profile online, the pairing comprising:

从所述第一客户端设备接收将所述第一用户简档与所述第二用户简档配对的配对请求; receiving a pairing request from the first client device to pair the first user profile with the second user profile;

响应于所述配对请求,从所述第二设备获得许可响应,所述许可与所述第二用户简档相关联;以及 obtaining a permission response from the second device in response to the pairing request, the permission being associated with the second user profile; and

在获得所述许可响应之后,将所述第一用户简档与所述第二用户简档配对。 After obtaining the permission response, pairing the first user profile with the second user profile.

7.根据权利要求6所述的方法,其中,所述配对包括:确定所述第一客户端设备和所述第二客户端设备包括被配置成在所述预定物理范围内彼此通信的相应传感器。 7. The method of claim 6, wherein the pairing comprises determining that the first client device and the second client device include corresponding sensors configured to communicate with each other within the predetermined physical range .

8.根据权利要求7所述的方法,其中,所述配对是在无需所述第一客户端设备与所述第二客户端设备之间经由短程无线通信技术进行通信的情况下实现的。 8. The method of claim 7, wherein the pairing is achieved without communication between the first client device and the second client device via a short-range wireless communication technique.

9.根据权利要求1所述的方法,还包括: 9. The method of claim 1, further comprising:

检测指示所述第一客户端设备和所述第二客户端设备位于所述预定物理范围之外的距离事件;以及 detecting a distance event indicating that the first client device and the second client device are located outside the predetermined physical range; and

响应于检测到所述距离事件,向所述第一客户端设备和所述第二客户端设备传送所述距离事件的视觉指示。 In response to detecting the distance event, a visual indication of the distance event is communicated to the first client device and the second client device.

10.根据权利要求9所述的方法,其中,所述检测距离事件包括从所述第一客户端设备接收先前经由短程无线通信技术在所述第一客户端设备与所述第二客户端设备之间建立的连接已经终止的指示。 10. The method of claim 9, wherein the detecting a distance event comprises receiving from the first client device a previous communication between the first client device and the second client device via short-range wireless communication technology. An indication that the established connection has been terminated.

11.一种系统,包括: 11. A system comprising:

一个或更多个处理器;以及 one or more processors; and

包括指令的非暂态计算机可读存储介质,所述指令在由所述一个或更多个处理器执行时使所述一个或更多个处理器执行操作,所述操作包括: A non-transitory computer-readable storage medium comprising instructions that, when executed by the one or more processors, cause the one or more processors to perform operations including:

在包括消息收发客户端和相关联的后端服务、提供能够经由所述消息收发客户端从客户端设备访问的共位置连接服务的在线消息收发系统中: In an online messaging system comprising a messaging client and an associated backend service, providing a co-location connected service accessible from a client device via the messaging client:

检测指示执行所述消息收发客户端的第一客户端设备和执行所述消息收发客户端的第二客户端设备位于预定物理范围内的共位置事件; detecting a co-location event indicating that a first client device executing the messaging client and a second client device executing the messaging client are within a predetermined physical range;

响应于检测到所述共位置事件,生成共位置用户界面,所述共位置用户界面包括所述第一客户端设备和所述第二客户端设备共位置的指示;以及 in response to detecting the co-location event, generating a co-location user interface including an indication that the first client device and the second client device are co-located; and

使得向所述第一客户端设备和所述第二客户端设备呈现所述共位置用户界面, causing the co-location user interface to be presented to the first client device and the second client device,

其中,所述消息收发系统的数据库包括实体图,以存储反映表示所述共位置连接服务的用户的用户简档的配对的信息。 Wherein the database of the messaging system includes an entity map to store information reflecting pairs representing user profiles of users of the co-location connectivity service.

12.根据权利要求11所述的系统,其中,所述检测共位置事件包括从所述第一客户端设备接收经由短程无线通信技术在所述第一客户端设备与所述第二客户端设备之间建立的连接的指示。 12. The system of claim 11, wherein the detecting a co-location event comprises receiving from the first client device a communication between the first client device and the second client device via a short-range wireless communication technique. An indication of the connection established between.

13.根据权利要求11所述的系统,其中,所述生成共位置用户界面包括:在所述共位置用户界面中包括可操作以激活另外的应用的视觉控件。 13. The system of claim 11, wherein said generating a co-location user interface comprises including in said co-location user interface a visual control operable to activate an additional application.

14.根据权利要求11所述的系统,其中,所述生成共位置用户界面包括:在所述共位置用户界面中包括被配置成叠加在所述第一客户端设备处执行的消息收发客户端的屏幕上播放的动画。 14. The system of claim 11 , wherein the generating a co-location user interface comprises including in the co-location user interface a message configured to overlay a messaging client executing at the first client device. An animation played on the screen.

15.根据权利要求11所述的系统,其中,所述消息收发维护表示所述共位置连接服务的相应用户的简档,所述第一客户端设备与来自所述简档的第一用户简档相关联,所述第二客户端设备与来自所述简档的第二用户简档相关联。 15. The system of claim 11 , wherein the messaging maintains a profile representing a respective user of the co-location connectivity service, the first client device communicating with the first user profile from the profile. profile, the second client device is associated with a second user profile from the profile.

16.根据权利要求15所述的系统,其中,由所述一个或更多个处理器执行的指令所引起的操作包括: 16. The system of claim 15 , wherein operations caused by instructions executed by the one or more processors include:

在线配对所述第一用户简档和所述第二用户简档,所述配对包括: pairing the first user profile and the second user profile online, the pairing comprising:

从所述第一客户端设备接收将所述第一用户简档与所述第二用户简档配对的配对请求; receiving a pairing request from the first client device to pair the first user profile with the second user profile;

响应于所述配对请求,从所述第二设备获得许可响应,所述许可与所述第二用户简档相关联;以及 obtaining a permission response from the second device in response to the pairing request, the permission being associated with the second user profile; and

在获得所述许可响应之后,将所述第一用户简档与所述第二用户简档配对。 After obtaining the permission response, pairing the first user profile with the second user profile.

17.根据权利要求16所述的系统,其中,所述配对包括:确定所述第一客户端设备和所述第二客户端设备包括被配置成在所述预定物理范围内彼此通信的相应传感器。 17. The system of claim 16, wherein the pairing includes determining that the first client device and the second client device include corresponding sensors configured to communicate with each other within the predetermined physical range. .

18.根据权利要求17所述的系统,其中,所述配对是在无需所述第一客户端设备与所述第二客户端设备之间经由短程无线通信技术进行通信的情况下实现的。 18. The system of claim 17, wherein the pairing is achieved without communication between the first client device and the second client device via a short-range wireless communication technique.

19.根据权利要求11所述的系统,其中,由所述一个或更多个处理器执行的指令所引起的操作包括: 19. The system of claim 11 , wherein operations caused by instructions executed by the one or more processors include:

检测指示所述第一客户端设备和所述第二客户端设备位于所述预定物理范围之外的距离事件;以及 detecting a distance event indicating that the first client device and the second client device are located outside the predetermined physical range; and

响应于检测到所述距离事件,向所述第一客户端设备和所述第二客户端设备传送所述距离事件的视觉指示。 In response to detecting the distance event, a visual indication of the distance event is communicated to the first client device and the second client device.

20.一种具有指令数据的机器可读非暂态存储介质,所述指令数据能够由机器执行以使所述机器执行操作,所述操作包括: 20. A machine-readable non-transitory storage medium having instruction data executable by a machine to cause the machine to perform operations, the operations comprising:

在包括消息收发客户端和相关联的后端服务、提供能够经由所述消息收发客户端从客户端设备访问的共位置连接服务的在线消息收发系统中: In an online messaging system comprising a messaging client and an associated backend service, providing a co-location connected service accessible from a client device via the messaging client:

检测指示执行所述消息收发客户端的第一客户端设备和执行所述消息收发客户端的第二客户端设备位于预定物理范围内的共位置事件; detecting a co-location event indicating that a first client device executing the messaging client and a second client device executing the messaging client are within a predetermined physical range;

响应于检测到所述共位置事件,生成共位置用户界面,所述共位置用户界面包括所述第一客户端设备和所述第二客户端设备共位置的指示;以及 in response to detecting the co-location event, generating a co-location user interface including an indication that the first client device and the second client device are co-located; and

使得向所述第一客户端设备和所述第二客户端设备呈现所述共位置用户界面, causing the co-location user interface to be presented to the first client device and the second client device,

其中,所述消息收发系统的数据库包括实体图,以存储反映表示所述共位置连接服务的用户的用户简档的配对的信息。 Wherein the database of the messaging system includes an entity map to store information reflecting pairs representing user profiles of users of the co-location connectivity service.

Claims (20)

1.一种方法,包括:1. A method comprising: 在包括消息收发客户端和相关联的后端服务、提供能够经由所述消息收发客户端从客户端设备访问的共位置连接服务的在线消息收发系统中:In an online messaging system comprising a messaging client and an associated backend service, providing a co-location connected service accessible from a client device via the messaging client: 检测指示执行消息收发客户端的第一客户端设备和执行所述消息收发客户端的第二客户端设备位于预定物理范围内的共位置事件;detecting a co-location event indicating that a first client device executing a messaging client and a second client device executing the messaging client are within a predetermined physical range; 响应于检测到所述共位置事件,生成共位置用户界面,所述共位置用户界面包括所述第一客户端设备和所述第二客户端设备共位置的指示;以及in response to detecting the co-location event, generating a co-location user interface including an indication that the first client device and the second client device are co-located; and 使得向所述第一客户端设备和所述第二客户端设备呈现所述共位置用户界面。The co-location user interface is caused to be presented to the first client device and the second client device. 2.根据权利要求1所述的方法,其中,所述检测共位置事件包括从所述第一客户端设备接收经由短程无线通信技术在所述第一客户端设备与所述第二客户端设备之间建立的连接的指示。2. The method of claim 1, wherein the detecting a co-location event comprises receiving from the first client device a communication between the first client device and the second client device via a short-range wireless communication technique. An indication of the connection established between. 3.根据权利要求1所述的方法,其中,所述生成共位置用户界面包括:在所述共位置用户界面中包括可操作以激活另外的应用的视觉控件。3. The method of claim 1, wherein said generating a co-location user interface comprises including in said co-location user interface a visual control operable to activate an additional application. 4.根据权利要求1所述的方法,其中,所述生成共位置用户界面包括:在所述共位置用户界面中包括被配置成叠加在所述第一客户端设备处执行的消息收发客户端的屏幕上播放的动画。4. The method of claim 1 , wherein the generating a co-location user interface comprises including in the co-location user interface a message configured to overlay a messaging client executing at the first client device. An animation played on the screen. 5.根据权利要求1所述的方法,其中,所述消息收发维护表示所述共位置连接服务的相应用户的简档,所述第一客户端设备与来自所述简档的第一用户简档相关联,所述第二客户端设备与来自所述简档的第二用户简档相关联。5. The method of claim 1 , wherein the messaging maintains a profile representing a corresponding user of the co-location connectivity service, the first client device communicating with the first user profile from the profile. profile, the second client device is associated with a second user profile from the profile. 6.根据权利要求5所述的方法,还包括在线配对所述第一用户简档和所述第二用户简档,所述配对包括:6. The method of claim 5, further comprising pairing the first user profile and the second user profile online, the pairing comprising: 从所述第一客户端设备接收将所述第一用户简档与所述第二用户简档配对的配对请求;receiving a pairing request from the first client device to pair the first user profile with the second user profile; 响应于所述配对请求,从所述第二设备获得许可响应,所述许可与所述第二用户简档相关联;以及obtaining a permission response from the second device in response to the pairing request, the permission being associated with the second user profile; and 在获得所述许可响应之后,将所述第一用户简档与所述第二用户简档配对。After obtaining the permission response, pairing the first user profile with the second user profile. 7.根据权利要求6所述的方法,其中,所述配对包括:确定所述第一客户端设备和所述第二客户端设备包括被配置成在所述预定物理范围内彼此通信的相应传感器。7. The method of claim 6, wherein the pairing comprises determining that the first client device and the second client device include corresponding sensors configured to communicate with each other within the predetermined physical range . 8.根据权利要求7所述的方法,其中,所述配对是在无需所述第一客户端设备与所述第二客户端设备之间经由短程无线通信技术进行通信的情况下实现的。8. The method of claim 7, wherein the pairing is achieved without communication between the first client device and the second client device via a short-range wireless communication technique. 9.根据权利要求1所述的方法,还包括:9. The method of claim 1, further comprising: 检测指示所述第一客户端设备和所述第二客户端设备位于所述预定物理范围之外的距离事件;以及detecting a distance event indicating that the first client device and the second client device are located outside the predetermined physical range; and 响应于检测到所述距离事件,向所述第一客户端设备和所述第二客户端设备传送所述距离事件的视觉指示。In response to detecting the distance event, a visual indication of the distance event is communicated to the first client device and the second client device. 10.根据权利要求9所述的方法,其中,所述检测距离事件包括从所述第一客户端设备接收先前经由短程无线通信技术在所述第一客户端设备与所述第二客户端设备之间建立的连接已经终止的指示。10. The method of claim 9, wherein the detecting a distance event comprises receiving from the first client device a previous communication between the first client device and the second client device via short-range wireless communication technology. An indication that the established connection has been terminated. 11.一种系统,包括:11. A system comprising: 一个或更多个处理器;以及one or more processors; and 包括指令的非暂态计算机可读存储介质,所述指令在由所述一个或更多个处理器执行时使所述一个或更多个处理器执行操作,所述操作包括:A non-transitory computer-readable storage medium comprising instructions that, when executed by the one or more processors, cause the one or more processors to perform operations including: 在包括消息收发客户端和相关联的后端服务、提供能够经由所述消息收发客户端从客户端设备访问的共位置连接服务的在线消息收发系统中:In an online messaging system comprising a messaging client and an associated backend service, providing a co-location connected service accessible from a client device via the messaging client: 检测指示执行消息收发客户端的第一客户端设备和执行所述消息收发客户端的第二客户端设备位于预定物理范围内的共位置事件;detecting a co-location event indicating that a first client device executing a messaging client and a second client device executing the messaging client are within a predetermined physical range; 响应于检测到所述共位置事件,生成共位置用户界面,所述共位置用户界面包括所述第一客户端设备和所述第二客户端设备共位置的指示;以及in response to detecting the co-location event, generating a co-location user interface including an indication that the first client device and the second client device are co-located; and 使得向所述第一客户端设备和所述第二客户端设备呈现所述共位置用户界面。The co-location user interface is caused to be presented to the first client device and the second client device. 12.根据权利要求11所述的系统,其中,所述检测共位置事件包括从所述第一客户端设备接收经由短程无线通信技术在所述第一客户端设备与所述第二客户端设备之间建立的连接的指示。12. The system of claim 11, wherein the detecting a co-location event comprises receiving from the first client device a communication between the first client device and the second client device via a short-range wireless communication technique. An indication of the connection established between. 13.根据权利要求11所述的系统,其中,所述生成共位置用户界面包括:在所述共位置用户界面中包括可操作以激活另外的应用的视觉控件。13. The system of claim 11, wherein said generating a co-location user interface comprises including in said co-location user interface a visual control operable to activate an additional application. 14.根据权利要求11所述的系统,其中,所述生成共位置用户界面包括:在所述共位置用户界面中包括被配置成叠加在所述第一客户端设备处执行的消息收发客户端的屏幕上播放的动画。14. The system of claim 11 , wherein the generating a co-location user interface comprises including in the co-location user interface a message configured to overlay a messaging client executing at the first client device. An animation played on the screen. 15.根据权利要求11所述的系统,其中,所述消息收发维护表示所述共位置连接服务的相应用户的简档,所述第一客户端设备与来自所述简档的第一用户简档相关联,所述第二客户端设备与来自所述简档的第二用户简档相关联。15. The system of claim 11 , wherein the messaging maintains a profile representing a respective user of the co-location connectivity service, the first client device communicating with the first user profile from the profile. profile, the second client device is associated with a second user profile from the profile. 16.根据权利要求15所述的系统,其中,由所述一个或更多个处理器执行的指令所引起的操作包括:16. The system of claim 15 , wherein operations caused by instructions executed by the one or more processors include: 在线配对所述第一用户简档和所述第二用户简档,所述配对包括:pairing the first user profile and the second user profile online, the pairing comprising: 从所述第一客户端设备接收将所述第一用户简档与所述第二用户简档配对的配对请求;receiving a pairing request from the first client device to pair the first user profile with the second user profile; 响应于所述配对请求,从所述第二设备获得许可响应,所述许可与所述第二用户简档相关联;以及obtaining a permission response from the second device in response to the pairing request, the permission being associated with the second user profile; and 在获得所述许可响应之后,将所述第一用户简档与所述第二用户简档配对。After obtaining the permission response, pairing the first user profile with the second user profile. 17.根据权利要求16所述的系统,其中,所述配对包括:确定所述第一客户端设备和所述第二客户端设备包括被配置成在所述预定物理范围内彼此通信的相应传感器。17. The system of claim 16, wherein the pairing includes determining that the first client device and the second client device include corresponding sensors configured to communicate with each other within the predetermined physical range. . 18.根据权利要求17所述的系统,其中,所述配对是在无需所述第一客户端设备与所述第二客户端设备之间经由短程无线通信技术进行通信的情况下实现的。18. The system of claim 17, wherein the pairing is achieved without communication between the first client device and the second client device via a short-range wireless communication technique. 19.根据权利要求11所述的系统,其中,由所述一个或更多个处理器执行的指令所引起的操作包括:19. The system of claim 11 , wherein operations caused by instructions executed by the one or more processors include: 检测指示所述第一客户端设备和所述第二客户端设备位于所述预定物理范围之外的距离事件;以及detecting a distance event indicating that the first client device and the second client device are located outside the predetermined physical range; and 响应于检测到所述距离事件,向所述第一客户端设备和所述第二客户端设备传送所述距离事件的视觉指示。In response to detecting the distance event, a visual indication of the distance event is communicated to the first client device and the second client device. 20.一种具有指令数据的机器可读非暂态存储介质,所述指令数据能够由机器执行以使所述机器执行操作,所述操作包括:20. A machine-readable non-transitory storage medium having instruction data executable by a machine to cause the machine to perform operations, the operations comprising: 在包括消息收发客户端和相关联的后端服务、提供能够经由所述消息收发客户端从客户端设备访问的共位置连接服务的在线消息收发系统中:In an online messaging system comprising a messaging client and an associated backend service, providing a co-location connected service accessible from a client device via the messaging client: 检测指示执行消息收发客户端的第一客户端设备和执行所述消息收发客户端的第二客户端设备位于预定物理范围内的共位置事件;detecting a co-location event indicating that a first client device executing a messaging client and a second client device executing the messaging client are within a predetermined physical range; 响应于检测到所述共位置事件,生成共位置用户界面,所述共位置用户界面包括所述第一客户端设备和所述第二客户端设备共位置的指示;以及in response to detecting the co-location event, generating a co-location user interface including an indication that the first client device and the second client device are co-located; and 使得向所述第一客户端设备和所述第二客户端设备呈现所述共位置用户界面。The co-location user interface is caused to be presented to the first client device and the second client device.
CN202180078795.6A 2020-11-25 2021-11-18 Co-location connectivity service Pending CN116584083A (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/247,053 2020-11-25
US17/247,053 US11349797B2 (en) 2020-08-31 2020-11-25 Co-location connection service
PCT/US2021/059895 WO2022115308A1 (en) 2020-11-25 2021-11-18 Co-location connection service

Publications (1)

Publication Number Publication Date
CN116584083A true CN116584083A (en) 2023-08-11

Family

ID=79185597

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180078795.6A Pending CN116584083A (en) 2020-11-25 2021-11-18 Co-location connectivity service

Country Status (4)

Country Link
EP (1) EP4252401A1 (en)
KR (1) KR20230107358A (en)
CN (1) CN116584083A (en)
WO (1) WO2022115308A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11943192B2 (en) 2020-08-31 2024-03-26 Snap Inc. Co-location connection service

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120046862A1 (en) * 2010-08-17 2012-02-23 Research In Motion Limited Tagging A Location By Pairing Devices
CN104025627A (en) * 2011-12-29 2014-09-03 诺基亚公司 Method And Apparatus For Sharing Point Of Interest Information As A Weblink
US20170019855A1 (en) * 2015-07-16 2017-01-19 GM Global Technology Operations LLC Enabling and disabling low energy, short-range wireless communication modules
US20200213298A1 (en) * 2018-12-27 2020-07-02 Paypal, Inc. Identity confirmation during authentication requests using nearby mobile computing devices

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160342774A1 (en) * 2015-05-21 2016-11-24 Castar, Inc. Method of co-located software object sharing for multi-player augmented reality games

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120046862A1 (en) * 2010-08-17 2012-02-23 Research In Motion Limited Tagging A Location By Pairing Devices
CN104025627A (en) * 2011-12-29 2014-09-03 诺基亚公司 Method And Apparatus For Sharing Point Of Interest Information As A Weblink
US20170019855A1 (en) * 2015-07-16 2017-01-19 GM Global Technology Operations LLC Enabling and disabling low energy, short-range wireless communication modules
US20200213298A1 (en) * 2018-12-27 2020-07-02 Paypal, Inc. Identity confirmation during authentication requests using nearby mobile computing devices

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11943192B2 (en) 2020-08-31 2024-03-26 Snap Inc. Co-location connection service

Also Published As

Publication number Publication date
EP4252401A1 (en) 2023-10-04
KR20230107358A (en) 2023-07-14
WO2022115308A1 (en) 2022-06-02

Similar Documents

Publication Publication Date Title
US12058525B2 (en) Security protocol for pairing collocated users
US11394792B2 (en) Context surfacing in collections
US20250184422A1 (en) User behavior based notification interface
US20240364655A1 (en) Multi-tier connections messaging framework
US20240338108A1 (en) Chat interface with dynamically populated menu element
US11943192B2 (en) Co-location connection service
CN116584083A (en) Co-location connectivity service
US12056332B2 (en) Chat interface with dynamically populated menu element
US12273480B2 (en) User behavior based notification interface
US11445444B2 (en) Power optimization for co-location connection service
US20230419417A1 (en) System to display user path
EP4457978A1 (en) Contextual chat replies

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载