CN114143727A - 利用加密短暂消息来修改短暂消息持续时间设置 - Google Patents

利用加密短暂消息来修改短暂消息持续时间设置 Download PDF

Info

Publication number
CN114143727A
CN114143727A CN202111026061.1A CN202111026061A CN114143727A CN 114143727 A CN114143727 A CN 114143727A CN 202111026061 A CN202111026061 A CN 202111026061A CN 114143727 A CN114143727 A CN 114143727A
Authority
CN
China
Prior art keywords
ephemeral
ephemeral message
message
client device
duration setting
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202111026061.1A
Other languages
English (en)
Other versions
CN114143727B (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.)
WhatsApp LLC
Original Assignee
WhatsApp LLC
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
Application filed by WhatsApp LLC filed Critical WhatsApp LLC
Publication of CN114143727A publication Critical patent/CN114143727A/zh
Application granted granted Critical
Publication of CN114143727B publication Critical patent/CN114143727B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/12Messaging; Mailboxes; Announcements
    • 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/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • H04L51/043Real-time or near real-time messaging, e.g. instant messaging [IM] using or handling presence 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/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/18Commands or executable codes
    • 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/216Handling conversation history, e.g. grouping of messages in sessions or threads
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3297Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving time stamps, e.g. generation of time stamps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/06Selective distribution of broadcast services, e.g. multimedia broadcast multicast service [MBMS]; Services to user groups; One-way selective calling services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/121Timestamp
    • 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/214Monitoring or handling of messages using selective forwarding

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

本公开涉及利用加密短暂消息来修改短暂消息持续时间设置。本公开涉及系统、非暂时性计算机可读介质和方法,其用于跨计算设备动态地控制短暂消息传递线程和短暂消息持续时间设置同时通过维护端到端加密提高安全性。公开的系统可以发送包括短暂消息持续时间设置和短暂设置时间戳的加密短暂消息。公开的系统可以对在接收客户端设备上接收到的消息解密,并且动态地将短暂消息持续时间设置应用于不同的消息线程。公开的系统可以基于确定接收到的短暂设置时间戳在时间上早于现有设置时间戳来修改在接收客户端设备处的现有持续时间设置以匹配接收到的短暂消息持续时间设置。公开的系统可以应用短暂消息持续时间设置,以从短暂消息线程删除短暂消息。

Description

利用加密短暂消息来修改短暂消息持续时间设置
相关申请
本申请要求于2020年9月2日提交的第17/010,441号美国非临时专利申请的优先权益,该美国非临时专利申请的内容通过引用并入本文。
背景
近年来目睹了在经由计算机网络生成数字通信并跨客户端设备传播数字通信的计算机系统方面的快速发展。事实上,由于智能手机、平板电脑、笔记本电脑、计算机、智能手表、智能电视机和其他计算设备的技术进步,传统系统可以发送各种不同的数字通信,包括数字聊天消息、数字视频消息和/或具有有限持续时间的短暂消息。尽管这样的传统系统允许客户端设备生成、发送和接收包括短暂数字消息在内的各种数字消息,但是这些系统有许多技术缺点。
例如,尽管传统消息传递系统可以在客户端设备之间发送短暂消息,但是这些系统常常具有关于操作的安全性、效率和灵活性方面的显著问题。举例来说,许多传统系统通过利用一个或更多个在线服务器存储、管理短暂消息和在到期时删除短暂消息来提供短暂消息。然而,这样的传统消息传递系统将短暂消息和相对应的设置存储在在线服务器处。这种服务器侧实现方式暴露了数字消息和相对应的设置,导致潜在的数据泄露。事实上,近年来目睹了暴露存储在传统系统的私有服务器上的机密信息的数字盗版的多个示例。因此,即使短暂消息旨在(例如,通过在特定持续时间之后被删除)提高安全性,传统系统常常暴露机密消息和设置,导致潜在的盗版。
除了安全问题以外,传统消息传递系统常常是低效的。事实上,传统系统常常利用远程服务器来处理、存储和管理数字短暂通信和相对应的账户设置。这种方法在处理跨客户端设备的数以百万计的数字通信时需要相当多的服务器处理资源和通信带宽。
一些传统系统设法通过强加不灵活的、严格的要求来解决上文所关切的问题。例如,一些传统系统强加跨客户端设备和消息线程的相同的短暂消息设置,以努力避免上面讨论的技术问题。然而,这种严格的方式使传统系统丧失了在管理跨消息线程的短暂内容方面的灵活功能。
关于用于与其他用户通信和共享数字消息的传统数字通信系统,存在这些和其他问题。
简要概述
本公开的实施例使用用于通过利用对短暂消息和短暂消息持续时间设置的客户端侧加密、发送、解密以及管理来维护短暂消息传递线程的系统、非暂时性计算机可读介质和方法来提供益处和/或解决本领域中的一个或更多个前述或其他问题。更特别地,所公开的系统可以通过在客户端设备之间的数字通信内实现短暂数字消息和短暂消息设置的端到端加密来绕过短暂消息和相对应的短暂消息线程设置的服务器设备管理。
举例来说,利用所公开的系统,发送客户端设备可以生成包括短暂消息、短暂消息持续时间设置和短暂设置时间戳的加密数字通信。此外,接收客户端设备可以利用所公开的系统来对传入的数字通信解密,并分析短暂消息、短暂消息持续时间设置和短暂设置时间戳。更特别地,所公开的系统可以对短暂消息解密并将短暂消息添加到短暂消息线程。此外,所公开的系统可以将短暂设置时间戳与现有设置时间戳进行比较以管理对现有短暂消息持续时间设置的更新。例如,基于确定短暂设置时间戳在时间上迟于现有设置时间戳,所公开的系统可以更新和应用短暂消息持续时间设置(例如,在由短暂消息持续时间设置指定的时间段之后从短暂消息传递线程删除短暂消息)。以这种方式,所公开的系统可以绕过服务器侧分析,同时安全地、高效地和灵活地管理跨客户端设备的短暂消息和短暂消息线程。
此外,所公开的系统还可以通过广播短暂消息来管理跨客户端设备的短暂消息线程。实际上,所公开的系统可以利用发送设备和单个用户界面来生成用于分发给多个客户端设备的广播短暂消息。基于用户与用户界面的互动,所公开的系统可以向客户端设备发送广播短暂消息,同时维护跨不同的消息线程的个性化短暂消息设置。特别地,发送客户端设备可以利用所公开的系统来生成和发送包括相同的短暂消息但不同的短暂消息设置的加密数字通信。因此,接收设备可以分析数字通信,识别短暂消息,并且灵活地将不同的短暂消息设置应用于相同的短暂消息。此外,所公开的系统可以在不向远程服务器暴露短暂消息或短暂消息设置的情况下这么做。
本公开的一个或更多个实施例的附加特征和优点在接下来的描述中被概述,并且根据描述部分将是明显的,或者可以通过这样的示例实施例的实践来被了解。
附图简述
详细描述通过对如下面简要描述的附图的使用提供了具有附加特性和细节的一个或更多个实施例。
图1根据一个或更多个实施例示出了数字通信系统可以在其中操作的环境的图。
图2根据一个或更多个实施例示出了基于接收到的加密短暂消息来更新短暂消息持续时间设置的概略图。
图3A-图3B根据一个或更多个实施例示出了用于生成、发送和利用加密短暂消息来更新短暂持续时间设置的顺序流程图。
图4根据一个或更多个实施例示出了用于为多个短暂消息线程生成广播消息的顺序流程图。
图5A-图5D根据一个或更多个实施例示出了示例短暂消息图形用户界面。
图6A-图6C根据一个或更多个实施例示出了示例广播短暂消息图形用户界面。
图7根据一个或更多个实施例示出了数字通信系统的示意图。
图8根据一个或更多个实施例示出了用于修改和应用短暂消息持续时间设置的一系列动作的流程图。
图9根据一个或更多个实施例示出了用于生成和发送广播短暂消息的一系列动作的流程图。
图10根据一个或更多个实施例示出了示例计算设备的框图。
图11根据一个或更多个实施例示出了社交网络系统的网络环境。
图12根据一个或更多个实施例示出了社交网络系统的示例社交图。
详细描述
本公开描述了数字通信系统的一个或更多个实施例,该数字通信系统动态地控制跨客户端设备的加密短暂消息传递和短暂消息持续时间设置,同时通过避免在远程服务器处的暴露来保护数字隐私。更特别地,数字通信系统可以经由接收客户端设备和发送客户端设备来动态地控制短暂消息传递线程,同时在发送期间维护端到端加密。举例来说,数字通信系统可以利用发送设备来生成包括短暂消息、短暂消息持续时间设置和短暂设置时间戳的加密数字通信。接收客户端设备可以对数字通信解密,并使用相对应的设置来管理短暂消息线程。例如,数字通信系统可以利用接收客户端设备来将短暂设置时间戳与现有设置时间戳进行比较以确定是否更新短暂消息持续时间设置。此外,数字通信系统可以应用短暂消息持续时间设置来在发送客户端设备和接收客户端设备处从短暂消息线程删除短暂消息。以这种方式,数字通信系统可以灵活地将不同的短暂消息设置应用于跨客户端设备的不同短暂消息线程,同时维护端到端加密并避免在远程服务器处的数字安全漏洞。
如刚刚提到的,数字通信系统可以利用发送客户端设备来生成短暂消息(例如,基于规定的持续时间被删除的数字消息)。事实上,发送客户端设备可以维护反映与其他客户端设备的数字通信的多个短暂消息线程。每个短暂消息线程可以包括不同的短暂消息设置。例如,每个消息线程可以包括短暂消息持续时间设置,短暂消息持续时间设置规定在短暂消息线程中的短暂消息被删除之前的不同长度的时间。
数字通信系统可以利用客户端设备来修改这些短暂消息线程设置。例如,基于在客户端设备的用户界面处的用户互动,数字通信系统可以为不同的短暂消息线程修改短暂消息持续时间设置。举例来说,基于用户选择,数字通信系统可以将短暂消息持续时间设置从一小时修改为一天(意味着短暂消息将在触发事件后的一天被删除)。
对消息线程设置的修改可以既影响发送客户端设备又影响接收客户端设备(例如,短暂消息持续时间设置可以影响短暂消息如何在所有客户端设备上被删除)。因此,有必要在使这些设置跨客户端设备准确地同步的同时还维护数字隐私。因此,如上面所提到的,数字通信系统可以利用发送设备来生成包括短暂消息和相对应的短暂消息持续时间设置的加密数字通信。实际上,数字通信系统可以对短暂消息、短暂消息持续时间设置和短暂设置时间戳进行加密,使得只有预期的接收客户端设备可以接收和实现短暂消息。
此外,数字通信系统可以发送加密数字通信(例如,从发送客户端设备到接收客户端设备的加密数字通信),同时在发送期间维护加密。更特别地,数字通信系统可以利用一个或更多个服务器来发送加密数字通信而不在一个或更多个服务器处对加密数字通信解密。因此,数字通信系统可以向接收客户端设备发送短暂消息而不给任何服务器提供对短暂消息、短暂消息持续时间设置或短暂设置时间戳的访问。
此外,数字通信系统可以利用接收客户端设备来接收加密数字通信并对加密数字通信解密。更特别地,数字通信系统可以(例如,经由接收客户端设备)接收短暂消息、短暂消息持续时间设置和/或短暂设置时间戳并对短暂消息、短暂消息持续时间设置和/或短暂设置时间戳解密。另外,数字通信系统可以识别对应于接收到的短暂消息的短暂消息线程,并将短暂消息添加到该短暂消息线程。
在一些实施例中,数字通信系统将接收到的短暂设置时间戳与现有设置时间戳进行比较,以确定是否修改现有消息持续时间设置。更特别地,数字通信系统可以识别现有短暂消息持续时间设置和相对应的现有设置时间戳。此外,数字通信系统可以将接收到的短暂设置时间戳与现有设置时间戳进行比较。如果数字通信系统确定现有设置时间戳在时间上早于短暂设置时间戳,则数字通信系统可以修改现有短暂消息持续时间设置以匹配短暂消息持续时间设置。
另外,在一个或更多个实施例中,数字通信系统通过应用短暂消息持续时间设置来从短暂消息线程删除短暂消息。更特别地,数字通信系统可以为短暂消息传递线程识别短暂消息持续时间设置。然后,数字通信系统可以确定“到期”时间以删除在短暂消息传递线程上的短暂消息。例如,数字通信系统可以确定从指定的触发事件(例如,接收客户端设备访问短暂消息,接收客户端设备接收短暂消息,或者接收客户端设备发起与短暂消息应用的会话)起的时间,并且当时间达到短暂消息持续时间设置时删除短暂消息。因此,数字通信系统可以应用短暂消息持续时间设置来删除短暂消息。
如所提到的,数字通信系统还可以生成广播短暂消息并向多个短暂消息线程和多个接收客户端设备发送广播短暂消息。更特别地,数字通信系统可以在发送设备处接收指示短暂消息和多个接收客户端设备的用户输入。数字通信系统可以将加密数字通信发送到各种接收客户端设备和/或消息传递线程。更特别地,数字通信系统可以发送加密数字通信,该加密数字通信包括短暂消息连同适用于每个单独消息线程的不同短暂消息持续时间设置。因此,数字通信系统可以安全地向多个客户端设备发送广播短暂消息,同时灵活地利用跨不同消息线程的各种不同的短暂消息设置。
数字通信系统可以提供优于传统系统和方法的许多技术优点和益处。例如,通过在发送跨客户端设备的数字通信时维护短暂消息和短暂消息设置的端到端加密,数字通信系统相对于传统系统可以提高安全性。特别地,数字通信系统可以发送和接收短暂消息、短暂消息持续时间设置和短暂设置时间戳,同时维护端到端加密并且不向远程服务器暴露该数字私有信息。因此,数字通信系统防止对短暂消息内容的未授权访问,并维护改进的用户隐私。
此外,数字通信系统相对于传统系统还可以提高效率。实际上,如上所述,数字通信系统可以避免在远程服务器处存储或管理短暂消息和短暂消息设置。因此,数字通信系统可以维护跨客户端设备的短暂消息的功能,同时显著减少实现服务器设备的处理资源和通信带宽。此外,数字通信系统还可以通过高效的用户界面减少用户互动来提高效率,高效的用户界面通过单个用户界面来智能地发送跨多个客户端设备的(具有不同的短暂消息设置的)广播短暂消息。因此,数字通信系统不仅减少了服务器资源,而且也在客户端设备处提供各种短暂消息传递线程的更高效的动态管理。
在提高安全性和效率时,数字通信系统还可以灵活地管理关于跨客户端设备的不同短暂消息线程的不同设置。实际上,数字通信系统可以允许客户端设备为不同的消息线程选择不同的短暂消息持续时间设置,并且动态地使这些设置同步到对应于消息线程的其他客户端设备。因此,数字通信系统可以根据各种不同的短暂消息设置来灵活地和有效地管理短暂消息,同时维护短暂消息和相对应的短暂消息设置的安全性。
如前面的讨论所指示的,本公开利用各种术语来描述数字通信系统的特征和优点。现在提供关于这样的术语的含义的附加细节。例如,如在本文所使用的,术语“短暂消息”指到期或消失而看不见(例如,在特定事件和/或预定时间之后)的数字通信。特别是,术语“短暂消息”可以包括在触发事件和相对应的持续时间之后被隐藏、移除或删除的数字通信(例如,即时消息或SMS消息)。短暂消息可以包括包含各种数字内容(例如数字文本、数字图像或数字视频(或它们的组合))的数字通信。因此,短暂消息可以包括(结合视频或数字图像的)数字文本,该数字文本在被接收客户端设备访问时在阈值持续时间之后从消息传递线程被移除。
类似地,如在本文所使用的,术语“广播短暂消息”指发送到多个客户端设备的短暂消息。在一些实施例中,广播短暂消息包括发送到多个短暂消息传递线程的短暂消息。在一些实施例中,广播短暂消息既被发送到短暂消息线程又被发送到持久消息线程(使得广播短暂消息从短暂消息线程移除,但保留在持久消息线程中)。只要这样的消息被发送到至少一个短暂消息线程(或被包括在至少一个短暂消息线程中),本公开就将其称为广播短暂消息。
此外,如在本文所使用的,术语“短暂消息持续时间设置”指在将短暂消息移除而看不见之前指定的时间段。特别是,术语“短暂消息持续时间设置”可以包括短暂消息的一部分(例如短暂消息数据包),其指定在特定短暂消息线程中的短暂消息到期之前的时间段。举例来说,短消息持续时间设置可以包括5分钟、25分钟、1小时、24小时等。数字通信系统还可以设置短暂消息持续时间设置为永不过期(因而将短暂消息转换为不会被删除的数字消息)。与此相关的是,现有短暂持续时间设置可以包括已经和/或先前被应用于短暂消息传递线程的短暂消息持续时间设置。
另外,如在本文所使用的,术语“短暂设置时间戳”指短暂设置被创建、修改、修正和/或接收时的时间的数字记录。特别是,术语“短暂设置时间戳”可以包括客户端设备接收短暂消息持续时间设置的用户输入时的时间的数字记录(例如,当短暂消息持续时间设置在客户端设备处发生改变时的时间戳)。在一些实施例中,数字通信系统104可以利用短暂设置时间戳来确定是否更新短暂消息持续时间设置以及如何更新短暂消息持续时间设置。与此相关的是,现有设置时间戳可以包括指定现有短暂持续时间设置的出现的时间的数字记录。
此外,如在本文所使用的,术语“消息线程”指在两个客户端设备(或相对应的用户账户)之间的一组消息。消息线程可以包括在发送设备和接收设备(或相对应的用户账户)之间发送的一个或更多个消息。此外,消息线程可以包括指定的客户端设备(或相对应的用户账户)可访问的消息的集合。与此相关的是,短暂消息线程可以包括包含(或先前包含)一个或更多个短暂消息的消息线程。
此外,如在本文所使用的,术语“加密数字通信”指被加密(例如,利用加密算法)的电子消息。如下面更详细描述的,数字通信系统可以对各种数字数据加密以在加密数字通信中包括例如用数字方法被隐藏以防止未授权访问的短暂消息、短暂消息持续时间设置和/或短暂设置时间戳。举例来说,加密数字通信可以包括端到端加密的短暂消息,端到端加密的短暂消息在发送设备处被加密并且仅在接收客户端设备(不是中间服务器设备)处被解密。
现在将提供与描绘数字通信系统的示例实施例和实现的说明性附图相关的附加细节。例如,图1根据一个或更多个实施例示出了用于实现数字通信系统的计算系统环境(或“系统”)100。如图1所示,系统100包括包含数字通信系统104的发送客户端设备102、也包含数字通信系统104的接收客户端设备106、服务器108和网络110。系统100的每个部件可以经由网络110进行通信,并且网络110可以是计算设备可以通过其进行通信的任何合适的网络。下面关于图11更详细地讨论示例网络。
如图1所示,系统100包括发送客户端设备102和接收客户端设备106。尽管图1示出了一个发送客户端设备102和一个接收客户端设备106,但是将认识到,系统100可以包括任何数量的发送客户端设备102和接收客户端设备106。发送客户端设备102和接收客户端设备106均可以是各种计算设备(包括智能手机、平板电脑、智能手表、智能电视机、台式计算机、膝上型计算机、虚拟现实设备、增强现实设备或如关于图10描述的其他计算设备)中的一个。
在一个或更多个实施例中,发送客户端设备102和接收客户端设备106对应于一个或更多个用户账户(例如,存储在服务器108处的用户账户)。例如,发送客户端设备102的用户可以用登录凭证建立用户账户,以及接收客户端设备106的用户可以用登录凭证建立用户账户。服务器108可以通过确认发送客户端设备102和接收客户端设备106具有与相对应的用户账户相关联的适当特权来在发送客户端设备102和接收客户端设备106之间发送消息。因此,用户可以利用具有与相对应的用户账户相关联的适当特权的多个设备(例如,多个发送客户端设备或多个接收客户端设备)。本公开利用发送客户端设备和接收客户端设备涉及与这些用户账户相关联的设备。因此,在涉及发送客户端设备或接收客户端设备时,本公开和权利要求不限于与特定设备的通信,而是与对应于特定用户的账户的任何设备的通信。因此,在使用术语“接收客户端设备”时,本公开涉及对应于接收用户账户的任何计算设备。类似地,在使用术语“发送客户端设备”时,本公开涉及对应于发送用户账户的任何计算设备。
此外,发送客户端设备102和接收客户端设备106可以进一步经由网络110与服务器108通信。例如,发送客户端设备102可以经由网络110和服务器108向接收客户端设备106发送短暂消息。此外,发送客户端设备102可以经由网络110和服务器108向接收客户端设备106发送短暂消息持续时间设置和短暂设置时间戳。
如图1所示,系统100包括服务器108。服务器108可以执行、生成、存储、接收和发送电子数据,例如用于动态地控制短暂消息线程的可执行指令。例如,服务器108可以维护短暂消息、短暂消息持续时间设置和短暂设置时间戳的端到端加密。因此,短暂消息可以通过服务器108传递,而没有任何加密内容在服务器108上变得可用。在一些实施例中,服务器108包括分布式服务器,其中服务器108包括跨网络110分布并且位于不同物理位置的多个服务器设备。服务器108可以包括内容服务器、应用服务器、通信服务器、web托管服务器或机器学习服务器。
尽管图1描绘了位于发送客户端设备102和接收客户端设备106上的数字通信系统104,但是在一些实施例中数字通信系统104可以由系统100的一个或更多个其他部件实现(例如,通过完全或部分地在一个或更多个其他部件处实现)。另外,尽管在图1中未示出,但是在一些实施例中系统100总的说来可以具有部件的不同布置和/或可以具有不同数量或组的部件。
如上面所提到的,数字通信系统104可以动态地控制短暂消息传递,同时维护短暂消息的端到端加密。图2示出了加密短暂消息的示例发送的概况。例如,图2示出了数字通信系统104可以执行发送客户端设备生成加密数字通信的动作202。
数字通信系统104可以基于在发送客户端设备处接收到的输入在发送客户端设备处生成各种类型的短暂消息。此外,数字通信系统104可以基于在发送客户端设备处的用户输入来为短暂消息生成短暂消息持续时间设置。例如,数字通信系统104可以检测在发送客户端设备处的选择已更新的短暂消息持续时间设置的用户输入。在另一示例中,数字通信系统104可以确定在发送客户端设备处的这样的用户输入的缺少(例如,数字通信系统104可以利用现有短暂消息持续时间设置)。另外,数字通信系统104可以基于短暂消息持续时间设置在发送客户端设备处发生改变的时间(例如,当发送客户端设备接收到修改短暂消息持续时间设置的用户输入时)来生成短暂设置时间戳。
还如图2所示,数字通信系统104可以生成和发送加密数字通信204,包括短暂消息205、短暂消息持续时间设置206和短暂设置时间戳208。数字通信系统104可以通过服务器210发送加密数字通信204。如图2所示,服务器210可以将加密数字通信204发送到接收客户端设备。此外,如上面所讨论的,服务器210可以在发送期间维护加密数字通信204的端到端加密(包括短暂消息205、短暂消息持续时间设置206和短暂设置时间戳208的加密)。因此,服务器210可以接收加密数字通信204并发送加密数字通信204而不使短暂消息205、短暂消息持续时间设置206和短暂设置时间戳208的任何部分在服务器210上变得可用。
图2示出了接收客户端设备可以接收加密数字通信204,包括短暂消息205、短暂消息持续时间设置206和短暂设置时间戳208。如在图2中进一步所示的,数字通信系统104可以执行接收客户端设备比较短暂设置时间戳以修改现有短暂消息持续时间设置的动作212。更特别地,数字通信系统104可以比较短暂设置时间戳208和短暂消息线程的现有设置时间戳,以确定哪个是最新的。
此外,基于确定短暂设置时间戳208比现有设置时间戳更新,数字通信系统104可以修改短暂消息线程的短暂消息持续时间设置以匹配短暂消息持续时间设置206。因此,数字通信系统104可以经由接收客户端设备更新短暂消息线程的短暂消息持续时间设置。因此,数字通信系统104可以更新短暂消息持续时间设置而对服务器210访问短暂消息持续时间设置206没有任何需要。
在一个或更多个实施例中,数字通信系统104可以动态地控制对应于在单个客户端设备(例如发送客户端设备和/或接收客户端设备)上的多个不同短暂消息持续时间设置的多个不同线程。数字通信系统104可以修改一个短暂消息传递线程的短暂消息持续时间设置而不修改另外的短暂消息传递线程。此外,数字通信系统104可以动态地控制在单个客户端设备上和/或与单个用户账户相关联的短暂消息传递线程和持久消息传递线程二者。
图3A-图3B包括根据一个或更多个实施例的用于生成、发送和利用加密短暂消息来更新短暂持续时间设置的顺序流程图。更特别地,图3A-图3B示出了数字通信系统104利用发送客户端设备102、服务器108和接收客户端设备106来执行各种动作。例如,图3A示出了数字通信系统104利用发送客户端设备102来执行生成短暂消息的动作302。更特别地,数字通信系统104可以(例如,经由消息传递图形用户界面)接收指示短暂消息的内容的用户输入。例如,数字通信系统104可以生成短暂消息以包括接收到的文本、所选择的数字媒体、所选择的接收方等。基于这样接收的用户输入,数字通信系统104可以识别相对应的接收方设备消息传递线程。
此外,如图3A所示,动作302可以包括生成(或识别)短暂消息持续时间设置的动作304。更特别地,数字通信系统104可以接收指示对短暂消息持续时间设置的改变的用户输入。例如,数字通信系统104可以(例如,经由对应于短暂消息线程的设置图形用户界面)接收选择已更新的短暂消息持续时间设置的用户互动。然后,数字通信系统104可以基于已更新的短暂消息持续时间设置来为短暂消息生成短暂消息持续时间设置。
可选地,数字通信系统104可以确定对现有消息持续时间设置没有进行改变。举例来说,数字通信系统104可以确定发送客户端设备102没有检测到选择已更新的短暂消息持续时间设置的任何用户输入。响应于确定没有更新被发起,数字通信系统104可以识别对应于所识别的消息传递线程的现有消息持续时间设置。然后,数字通信系统104可以利用现有消息持续时间设置来用于生成的短暂消息。
除了将短暂消息持续时间设置从一个短暂消息持续时间设置修改为另一个短暂消息持续时间设置之外,数字通信系统104还可以识别从短暂消息持续时间设置到持久持续时间设置的修改。也就是说,数字通信系统104可以识别并实现将短暂消息持续时间设置修改为永不过期的持续时间。举例来说,数字通信系统104可以识别和实现这个修改,使得先前短暂的消息线程不再是短暂的。
类似地,数字通信系统104可以将持久消息传递线程修改为短暂消息传递线程。更特别地,数字通信系统104可以将持久持续时间设置修改为短暂消息持续时间设置。举例来说,数字通信系统104可以识别并实现将持久持续时间设置修改为一小时、一天或一周的短暂消息持续时间设置。此外,数字通信系统104可以将短暂消息持续时间设置应用于在消息线程中的未来消息。
另外,如图3A所示,动作302可以包括生成短暂设置时间戳的动作306。数字通信系统104可以生成短暂设置时间戳以包括相对应的短暂消息持续时间设置被设置时的时间。在一个或更多个实施例中,数字通信系统104可以生成短暂消息时间戳以包括在相对应的短暂消息持续时间设置被设置之后的时间(例如一秒)。
在一个或更多个实施例中,数字通信系统104生成作为短暂消息的一部分的短暂消息持续时间设置和短暂设置时间戳。例如,数字通信系统104可以将短暂消息持续时间设置和短暂设置时间戳作为节(stanzas)存储在短暂消息的元数据中。然而,在一些实施例中,数字通信系统104可以与短暂消息分开地在数据包中存储和发送短暂消息持续时间设置和/或短暂设置时间戳。
此外,在一个或更多个实施例中,数字通信系统104可以发送已更新的短暂消息持续时间设置和相对应的短暂设置时间戳而不发送短暂消息。举例来说,数字通信系统104可以(例如,通过经由对应于消息传递线程的设置图形用户界面接收的用户互动)接收对消息传递线程的短暂消息持续时间设置的修改。数字通信系统104可以根据选择的短暂消息持续时间设置来生成已更新的短暂消息持续时间设置。此外,数字通信系统104可以基于生成已更新的短暂消息持续时间设置的时间来生成短暂设置时间戳。因此,数字通信系统104可以发送已更新的短暂消息持续时间设置而不发送伴随的短暂消息。
此外,如图3A所示,发送客户端设备102可以执行生成唯一加密的动作308。举例来说,数字通信系统104可以对在动作302-306生成的短暂消息、短暂消息持续时间设置和短暂设置时间戳进行加密。在一个或更多个实施例中,数字通信系统104生成短暂消息、短暂消息持续时间设置和短暂设置时间戳的端到端加密。然而,数字通信系统104可以利用各种加密方法,包括对称和非对称加密。
此外,如图3A所示,发送客户端设备102可以执行发送加密的短暂消息、短暂消息持续时间设置和短暂设置时间戳(例如,作为加密数字通信的一部分,加密数字通信作为一个或更多个数据包被发送)的动作310。数字通信系统104可以经由服务器108发送短暂消息、短暂消息持续时间设置和短暂设置时间戳。然而,数字通信系统104可以在发送期间维护加密。
因此,如图3A所示,服务器108可以执行在发送期间维护加密的动作312。举例来说,服务器108可以接收短暂消息、短暂消息持续时间设置和短暂设置时间戳并将短暂消息、短暂消息持续时间设置和短暂设置时间戳发送到接收设备106而没有任何解密。在一些实施例中,对短暂消息解密所需的加密密钥不存在于服务器设备108上。因此,短暂消息、短暂消息持续时间设置或短暂设置时间戳的内容的部分对服务器108是不可采用的/不可访问的。因此,数字通信系统104可以保护短暂消息的内容、短暂消息持续时间设置和短暂设置时间戳的隐私。
另外,接收客户端设备106可以执行接收短暂消息、短暂消息持续时间设置和短暂设置时间戳和对短暂消息、短暂消息持续时间设置和短暂设置时间戳解密的动作314。在一个或更多个实施例中,数字通信系统104利用存储在接收客户端设备106上的加密密钥来对短暂消息、短暂消息持续时间设置和短暂设置时间戳解密。然而,数字通信系统104可以利用对应于用于对短暂消息加密的各种加密方法的各种解密方法。
发送客户端设备102和接收客户端设备106还可以分别执行将短暂消息添加到短暂消息线程的动作316a-316b。发送客户端设备102可以在短暂消息的发送时将短暂消息添加到短暂消息线程。接收客户端设备106可以在短暂消息的接收和解密时将短暂消息添加到短暂消息线程。
此外,接收客户端设备106可以执行将现有短暂消息持续时间设置修改为短暂消息持续时间设置的动作318。还如图3B所示,动作318可以包括将短暂设置时间戳与现有消息时间戳进行比较的动作320。举例来说,在短暂消息、短暂消息持续时间设置和短暂设置时间戳的接收和解密时,数字通信系统104可以识别短暂设置时间戳。此外,数字通信系统104可以识别对应于存储在接收客户端设备106上的关于短暂消息线程的现有持续时间设置的现有设置时间戳。
数字通信系统104可以基于时间戳的比较来确定是否更新现有消息持续时间设置。在一个或更多个实施例中,如果数字通信系统104确定短暂设置时间戳在时间上早于现有设置时间戳(即,现有设置时间戳是更新的),则数字通信系统104不采取动作来修改现有消息持续时间设置。此外,在一些实施例中,数字通信系统104可以向发送客户端设备102发送现有设置时间戳和现有消息持续时间设置。例如,数字通信系统104可以生成已更新的短暂消息持续时间设置数据包并向发送客户端设备102发送已更新的短暂消息持续时间设置数据包。基于接收到现有设置时间戳和现有消息持续时间设置,发送客户端设备可以执行比较并修改它的短暂消息持续时间设置。
然而,基于确定短暂消息传递线程的现有设置时间戳在时间上早于来自最近短暂消息的短暂消息持续时间设置(即,来自短暂消息的短暂消息持续时间设置是更新的),数字通信系统104修改来自短暂消息线程的现有消息持续时间设置。事实上,数字通信系统104可以修改短暂消息线程的消息持续时间设置以匹配关于最近的短暂消息所包括的短暂消息持续时间设置。也就是说,在一个或更多个实施例中,数字通信系统104利用短暂消息传递线程的短暂消息持续时间设置。如上面所提到的,数字通信系统104可以修改一个短暂消息传递线程的短暂消息持续时间设置而不修改其他消息传递线程。
在一些实施例中,数字通信系统104还可以在确定是否更新消息线程设置时应用一组可允许的短暂设置持续时间(以及相应地,一组不可允许的短暂设置持续时间)。数字通信系统104可以在修改消息线程的设置之前将来自短暂消息的短暂消息持续时间设置与可允许的短暂设置持续时间进行比较。例如,第三方可以设法发送具有两秒短暂消息持续时间设置的不适当的内容(这将使接收方审阅和报告不适当的内容变得很难)。数字通信系统104可以确定两秒短暂消息持续时间设置不是可允许的短暂设置持续时间。作为响应,数字通信系统104可以将消息线程的现有短暂设置持续时间应用于所接收的短暂消息(例如,应用与消息线程相关联的现有三十秒持续时间,而不是与最新接收的短暂消息相关联的两秒持续时间)。在其他实施例中,数字通信系统104遵守并应用每个短暂消息所附的持续时间设置。
另外,在一个或更多个实施例中,数字通信系统104确定现有设置时间戳等于对应于短暂消息持续时间设置的时间戳(即,设置是在同一时间被设置的)。在这样的情况下,数字通信系统104可以利用客户端设备顺序(order)来确定是否更新现有设置。例如,在一些实施例中,基于识别出匹配时间戳,数字通信系统104利用对应于发送客户端设备102和/或接收客户端设备106的唯一标识符。更特别地,数字通信系统104可以确定哪个唯一标识符在字母顺序中最先(first)。因此,数字通信系统104可以将对应于在字母顺序中最先的唯一标识符的时间戳视为较近的时间戳。
在一个或更多个实施例中,数字通信系统104通过限制用于短暂消息持续时间设置的修改的时间戳的比较来保存系统资源。在一些实施例中,数字通信系统104实现时间限制,使得在修改短暂消息持续时间设置之后,数字通信系统104在预定量的时间(例如1分钟、3分钟、15分钟等)内将不发起比较。此外,在一些实施例中,如果加密数字通信包括短暂消息,则数字通信系统104还可以通过仅比较时间戳来保存系统资源。
此外,如图3A-图3B所示,数字通信系统104响应于接收到短暂消息持续时间设置而修改现有设置时间戳。然而,数字通信系统104还可以利用时间戳以基于确定接收客户端设备106(或发送客户端设备102)不同步来确定短暂消息持续时间设置。数字通信系统104可以基于数字通信应用的重新安装来确定客户端设备不同步。另外,在一些实施例中,数字通信系统104基于数据讹误(corruption of data)来确定客户端设备不同步。
响应于确定客户端设备不同步,数字通信系统104可以向对应于短暂消息传递线程的客户端设备生成短暂同步请求。举例来说,数字通信系统104可以生成并发送短暂同步请求,该短暂同步请求请求发送客户端设备102提供其当前存储的消息传递线程的现有消息持续时间设置和相对应的现有设置时间戳。在接收到短暂同步请求时,发送客户端设备可以生成并发送其当前存储的消息传递线程的现有消息持续时间设置和相对应的现有设置时间戳。此外,在接收到消息传递线程的现有消息持续时间设置和相对应的现有设置时间戳时,接收客户端设备106可以利用消息传递线程的现有消息持续时间设置。
另外,发送客户端设备102和接收客户端设备106还可以分别执行通过应用短暂消息持续时间设置来删除短暂消息的动作324a-324b。在一些实施例中,数字通信系统104在到期时间时自动从消息传递线程移除短暂消息。也就是说,数字通信系统104基于短暂消息持续时间设置和触发事件来确定短暂消息的到期时间。举例来说,数字通信系统104可以将短暂消息持续时间设置添加到触发事件的时间戳(例如,当短暂消息被查看时)。例如,在下午1:00查看的具有2小时的短暂消息持续时间设置的短暂消息将具有在下午3:00的到期时间。因此,数字通信系统104在下午3:00自动删除短暂消息。
数字通信系统104可以以各种方式删除短暂消息。在一些实施例中,例如,数字通信系统104通过对客户端设备隐藏短暂消息(例如,移除对短暂消息的查看特权)来删除短暂消息。数字通信系统104还可以通过从存储装置或存储器(例如,在客户端设备或服务器上)移除短暂消息来删除短暂消息。在一些实施例中,数字通信系统140通过首先隐藏消息并接着在后续时间移除短暂消息(例如,响应于后续触发事件,例如离开对话(navigatingaway from the conversation))来删除短暂消息。
附加地或可选地,数字通信系统104可以应用短暂消息持续时间设置以响应于触发事件而删除短暂消息。举例来说,在一个或更多个实施例中,数字通信系统104可以基于检测到触发事件来应用短暂消息持续时间设置。例如,系统可以测量从客户端设备首次访问短暂消息(或检测到用户与短暂消息的互动)的时间起的短暂消息持续时间设置。因此,如果接收客户端设备访问短暂消息并且持续时间是两个小时,则系统可以在接收设备访问短暂消息(或检测到用户与短暂消息的互动)之后的两个小时删除短暂消息。附加地或可选地,数字通信系统104可以测量从以下时间起的短暂消息持续时间设置:客户端设备在接收到短暂消息之后首次打开数字通信应用的时间、客户端设备在消息传递线程中对短暂消息做出响应的时间、客户端设备打开消息传递线程的时间等。
因此,数字通信系统104可以确定短暂消息是否已经到期。在短暂消息具有下午3:00的到期时间的上面的示例中,数字通信系统104接收到在下午3:30查看短暂消息的请求。在一些实施例中,数字通信系统104确定短暂消息在当前时间已经到期,并因此响应于查看短暂消息的请求而删除短暂消息。
附加地或可选地,数字通信系统104响应于查看短暂消息的请求而从短暂消息传递线程移除短暂消息。在这些实施例中,数字通信系统104在不同的时间和/或响应于另外的触发事件删除短暂消息。例如,在一个或更多个实施例中,数字通信系统104响应于接收到离开短暂消息传递线程的用户输入而删除短暂消息。
此外,如图3B所示,发送客户端设备可以执行生成和加密第二短暂消息的动作326。如上面关于动作302-310所讨论的,数字通信系统104可以根据各种用户输入生成短暂消息。此外,如上面所讨论的,服务器108可以执行在发送期间维护加密的动作312。另外,接收客户端设备106可以执行接收第二短暂消息和对第二短暂消息解密的动作328。此外,发送客户端设备102和接收客户端设备106还可以分别执行将第二短暂消息添加到消息线程的动作330a-330b。类似于上面讨论的动作316a-316b,数字通信系统104可以基于发送和/或接收短暂消息来添加短暂消息。
发送客户端设备102和接收客户端设备106还可以分别执行通过应用短暂消息持续时间设置来删除第二短暂消息的动作332a-332b。在这个示例中,第二短暂消息不包括已更新的短暂消息持续时间设置。因此,数字通信系统104将在动作318修改的短暂消息持续时间设置应用于第二短暂消息。因此,短暂消息持续时间设置作为整体应用于在短暂消息传递线程中的后续消息。
然而,在一个或更多个实施例中,数字通信系统104将现有消息持续时间设置应用于在短暂消息线程中的一个或更多个现有短暂消息。举例来说,数字通信系统104可以将短暂消息持续时间设置应用于在短暂消息线程中的短暂消息和所有后续短暂消息而不是现有短暂消息。例如,在动作318,数字通信系统104可以将短暂消息持续时间设置应用于第二短暂消息。然而,数字通信系统104可以替代地将现有短暂消息持续时间设置应用于在消息传递线程中的现有短暂消息。在一些实施例中,数字通信系统104拒绝删除在具有永久(例如,非短暂)持续时间设置的消息传递线程中的消息。
转到图4,如上面所讨论的,数字通信系统104可以生成、发送和接收广播短暂消息。特别是,数字通信系统104可以基于经由单个消息传递图形用户界面生成的消息而生成多个消息并将多个消息提交到多个短暂消息线程。图4示出了通过数字通信系统104在动态地控制广播短暂消息时利用发送客户端设备102、服务器108、接收客户端设备402a和接收客户端设备402b执行的各种动作。
如图4所示,发送客户端设备102可以执行识别广播消息的接收客户端设备的动作404。如下面关于图6A-图6C讨论的,数字通信系统104可以在消息传递图形用户界面处接收选择接收客户端设备的用户输入。在图4中,数字通信系统104接收选择接收客户端设备402a和接收客户端设备402b来接收广播短暂消息的用户输入。
此外,发送客户端设备102可以执行生成广播短暂消息的动作406。数字通信系统104可以基于在消息传递图形用户界面处的接收到的用户输入来生成广播短暂消息的主体。如下面关于图6A-图6C更详细讨论的,数字通信系统104可以接收和利用各种类型的用户输入来生成广播短暂消息的主体。
如图4所示,动作406包括为每个接收客户端设备识别消息线程的动作408。对于广播短暂消息,数字通信系统104识别接收广播短暂消息的多个消息传递线程。如所提到的,数字通信系统104基于选择消息线程和/或接收客户端设备的用户输入来识别接收广播短暂消息的消息线程。例如,在图4中,数字通信系统104接收选择对应于接收客户端设备402a和接收客户端设备402b的消息传递线程的用户输入以接收广播短暂消息。
尽管图4示出了广播短暂消息到两个接收客户端设备的发送,但是数字通信系统104可以向任何数量的接收客户端设备发送广播短暂消息。另外,数字通信系统104可以向群组短暂消息传递线程(例如,包括三个或更多个客户端设备的短暂消息传递线程)和单独的消息传递线程(例如,包括两个客户端设备的短暂消息传递线程)提供广播短暂消息。然而,在一个或更多个实施例中,广播短暂消息不同于群组短暂消息传递线程。替代地,如上面所提到的,数字通信系统104向多个消息传递线程发送广播短暂消息。
另外,动作406可以包括为每个接收客户端设备生成短暂消息持续时间设置和短暂设置时间戳的动作410。类似于上面关于图3A-图3B的讨论,数字通信系统104可以基于生成/修改对应于每个短暂消息线程的短暂消息持续时间设置的时间来生成短暂设置时间戳。
在一些实施例中,数字通信系统104基于接收到的已更新的短暂消息持续时间设置来为每个接收客户端设备生成短暂消息持续时间设置。也就是说,数字通信系统104可以经由广播短暂消息向多个消息传递线程提供已更新的短暂消息持续时间设置。更特别地,数字通信系统104可以基于对短暂消息持续时间设置的选择来更新一个或更多个消息传递线程的短暂消息持续时间设置。
数字通信系统104还可以确定广播短暂消息不包括已更新的短暂消息持续时间设置。基于该确定,数字通信系统104可以基于对应于每个接收客户端设备的短暂消息传递线程的现有短暂消息持续时间设置来为该接收设备生成短暂消息持续时间设置。因此,数字通信系统104可以经由单个广播短暂消息向具有不同短暂消息持续时间设置的各种消息传递线程提供短暂消息。
例如,在图4中,接收客户端设备402a对应于具有24小时的短暂消息持续时间设置的短暂消息传递线程,以及接收客户端设备402b对应于具有1小时的短暂消息持续时间设置的消息传递线程。因此,数字通信系统104可以为接收客户端设备402a生成24小时的短暂消息持续时间设置。此外,数字通信系统104可以为接收客户端设备402b生成一小时的短暂消息持续时间设置。
此外,发送客户端设备102可以执行为每个接收客户端设备生成唯一加密(例如,唯一加密数字通信)的动作412。如上面所讨论的,数字通信系统104可以利用各种加密技术。在一些实施例中,数字通信系统104为发送到每个接收客户端设备的广播短暂消息的每个实例生成唯一加密数字通信。举例来说,唯一加密数字通信包括加密广播短暂消息、(对每个消息线程是特定的)加密短暂消息持续时间设置和加密短暂设置时间戳。如上面所提到的,数字通信系统104可以为每个接收设备生成短暂消息持续时间设置和短暂设置时间戳。数字通信系统104可以为每个接收客户端设备生成包括相对应的短暂消息持续时间设置和短暂设置时间戳的唯一加密数字通信。
发送客户端设备102还可以执行向每个接收客户端设备发送广播短暂消息的动作414。如上面所提到的,数字通信系统104可以一起或在单独的数据包中发送短暂消息、不同的短暂消息持续时间设置和短暂设置时间戳。因此,数字通信系统104可以通过向接收客户端设备402a发送第一加密数据包(包括短暂消息)和向接收客户端设备402a发送第二加密数据包(包括第一短暂消息持续时间设置)来发送第一加密数字通信。类似地,数字通信系统可以通过向接收客户端设备402b发送第三加密数据包(包括短暂消息)并发送第四加密数据包(包括第二短暂消息持续时间设置)来发送第二加密数字通信。因此,在一些实施例中,加密数字通信包括用于每个接收客户端设备的已更新的短暂消息持续时间设置。附加地或可选地,数字通信系统104可以生成包括不同的短暂消息持续时间设置和/或不同的短暂设置时间戳的加密数字通信。
另外,服务器108可以执行在发送期间维护加密的动作416。类似于关于图3A-图3B的讨论,服务器108可以发送广播短暂消息而在服务器108上没有对消息的任何解密。还如图4所示,接收客户端设备402a和接收客户端设备402b可以分别执行接收广播短暂消息的动作418a-418b。更特别地,接收客户端设备402a接收第一唯一加密数字通信(包括广播短暂消息、第一短暂消息持续时间设置和第一时间戳),以及接收客户端设备402b接收第二唯一加密数字通信(包括广播短暂消息、第二短暂消息持续时间设置和第二时间戳)。
一旦接收到广播短暂消息,接收客户端设备402a和接收客户端设备402b可以将广播短暂消息添加到它们的相应短暂消息传递线程。此外,类似于上面关于图3A-图3B的讨论,接收客户端设备402a和接收客户端设备402b可以基于比较数字时间戳来修改现有短暂消息持续时间设置。此外,接收客户端设备402a和接收客户端设备402b可以应用短暂消息持续时间设置以从它们的相应短暂消息传递线程删除短暂消息。特别地,客户端设备402a可以应用第一短暂消息持续时间设置,以及第二客户端设备402b可以应用第二短暂消息持续时间设置。
尽管图4示出了包括到短暂消息传递线程的发送的广播短暂消息,但是数字通信系统104可以生成包括一些短暂消息传递线程但不是所有短暂消息传递线程的广播消息。例如,考虑第一接收客户端设备对应于具有24小时的短暂消息持续时间设置的短暂消息传递线程以及第二接收客户端设备对应于具有永久消息持续时间设置的消息传递线程。也就是说,在该示例中,第二接收客户端设备对应于非短暂的消息传递线程。因此,数字通信系统104可以为接收客户端设备402a生成24小时的短暂消息持续时间设置。此外,数字通信系统104可以为接收客户端设备402b生成永久消息持续时间设置。
如上面所讨论的,数字通信系统104可以提供用于生成和接收短暂消息的各种用户界面。图5A-图5C示出了用于接收短暂消息、生成和呈现已更新的短暂消息持续时间设置的通知以及从短暂消息线程删除短暂消息的一组示例图形用户界面。更特别地,图5A-图5C示出了呈现短暂消息图形用户界面502的接收客户端设备500。数字通信系统104基于已更新的短暂消息持续时间设置和短暂消息的到期来动态地修改短暂消息图形用户界面502。
图5A-图5C示出了短暂消息图形用户界面502包括短暂消息线程标题504。在图5A中,短暂消息图形用户界面502指示短暂消息线程包括与对应于“James”的账户(和他的相对应的客户端设备)的数字通信。然而,数字通信系统104可以生成包括各种附加用户账户(和相对应的客户端设备)的短暂消息图形用户界面502。更特别地,数字通信系统104可以识别对应于短暂消息线程的用户账户,并且可以提供对应于所识别的用户账户的各种用户信息。
如图5A所示,接收客户端设备500在下午5:00接收到短暂消息506。还如图5A所示,短暂消息506包括数字视频和文本“看看这个!”然而,数字通信系统104可以基于各种用户输入来生成各种短暂消息。此外,数字通信系统104可以基于(例如,在发送客户端设备处)接收提交用于发送的草拟的短暂消息的用户输入来发送各种短暂消息。
如在图5A中进一步示出的,数字通信系统104可以生成包括短暂消息持续时间指示508的短暂消息图形用户界面502。在图5A中,短暂消息持续时间指示508读为“在1小时后到期”。然而,数字通信系统104可以根据各种时间和持续时间设置来生成短暂消息持续时间指示508。更特别地,数字通信系统104可以识别短暂消息持续时间设置。然后,数字通信系统104可以利用相对于触发事件的当前时间(例如,相对于短暂消息持续时间设置的数字消息的发送)和短暂消息持续时间设置来确定在短暂消息到期之前剩余的时间量。
例如在图5A中,数字通信系统104识别出1小时短暂消息持续时间设置和下午5:00的短暂消息发送时间。因为仍然是下午5:00,所以数字通信系统104确定短暂消息在1小时(即1小时-0小时=1小时)后到期。数字通信系统104可以相应地进一步生成短暂消息持续时间指示508。此外,如上面所讨论的,数字通信系统104可以利用各种触发事件来确定短暂消息持续时间指示508的剩余时间。例如,数字通信系统104可以利用接收客户端设备500首次访问短暂消息506和/或相对应的短暂消息传递线程时的时间。
此外,数字通信系统104可以以多种格式生成短暂消息持续时间指示508。在一些实施例中,短暂消息持续时间指示508还包括对应于短暂消息的时间戳。例如,不是读出“在1小时后到期”,短暂消息持续时间指示508可以读为“在下午6:00到期”或“在下午5:00接收,在下午6:00到期”。
另外,如图5B所示,数字通信系统104可以提供对应于消息传递线程的设置图形用户界面510。更特别地,数字通信系统104可以生成包括短暂消息持续时间设置选择区域512的设置图形用户界面510。如图5B所示,短暂消息持续时间设置选择区域512包括用于短暂消息持续时间设置的小时数和/或分钟数的可填充字段。然而,数字通信系统104可以以多种格式生成短暂消息持续时间设置选择区域512以接收多种类型的用户输入。例如,短暂消息持续时间设置选择区域512可以包括滑动图形用户界面元素、下拉菜单、单个可填充字段以及各种其他图形用户界面元素类型。此外,尽管图5B示出了在接收设备500上相对应的设置图形用户界面510,但是要认识到的是,数字通信系统104可以(例如,在消息生成期间)在发送客户端设备上提供设置图形用户界面510。
如图5C所示,响应于在发送客户端设备处修改用于短暂消息传递线程的短暂消息持续时间设置,数字通信系统104可以生成已更新的设置通知514。在一些实施例中,数字通信系统104经由接收客户端设备500生成已更新的设置通知514。在一个或更多个替代实施例中,数字通信系统104经由发送客户端设备(例如,生成并发送相对应的短暂消息的发送客户端设备)生成已更新的设置通知514。
如图5C所示,数字通信系统104提供已更新的设置通知514,以用于作为短暂消息图形用户界面502的一部分来呈现。在一个或更多个实施例中,数字通信系统104可以提供已更新的设置通知514以用于作为覆盖图呈现。然而要认识到的是,数字通信系统104可以根据各种通知类型生成已更新的设置通知514。
在图5C中,已更新的设置通知514包括文本“James已经将消息到期改变为一小时。”然而,数字通信系统104可以根据各种已更新的短暂消息持续时间设置来生成已更新的设置通知514。举例来说,在一个或更多个实施例中,数字通信系统104可以确定已更新的短暂消息持续时间设置,并且可以在已更新的设置通知514中包括已更新的短暂消息持续时间设置。
已更新的设置通知514还包括接受按钮和拒绝按钮。在图5C中,接受按钮包括文本“好的”。然而,要认识到的是,数字通信系统104可以根据传达对修改的接受的各种文本(例如“好”、“接受”、“正确”等)来生成接受按钮。基于在接受按钮处接收到用户输入的指示,数字通信系统104可以消除已更新的设置通知514。
此外,已更新的设置通知514可以包括拒绝按钮。在图5C中,拒绝按钮包括文本“拒绝”。然而,要认识到的是,数字通信系统104可以根据传达对修改的拒绝的各种文本(例如,“不,谢谢”、“拒绝”、“否”等)来生成拒绝按钮。基于在拒绝按钮处接收到用户输入的指示,数字通信系统104可以拒绝修改现有短暂消息持续时间设置。此外,数字通信系统104可以生成拒绝的通知并将拒绝的通知发送到发送客户端设备。在一些实施例中,基于接收到对拒绝按钮的选择,数字通信系统104将短暂消息持续时间设置应用于消息506,但不应用于在消息传递线程中的现有消息且也不应用于在消息传递线程中包括的未来消息。
另外,如图5D所示,数字通信系统104可以应用短暂消息持续时间设置以从短暂消息图形用户界面502删除短暂消息。如图5D所示,数字通信系统104在下午6:01删除短暂消息506。也就是说,根据一小时短暂消息持续时间设置,数字通信系统104在过去一小时后删除短暂消息506。然而,如上面关于图3A-图3B更详细讨论的,数字通信系统104可以应用各种短暂消息持续时间设置(和各种触发事件)以删除短暂消息。
如上面所讨论的,数字通信系统104还可以提供用于生成和发送广播短暂消息的一个或更多个用户界面。例如,图6A-图6C示出了数字通信系统104基于用户与单个消息传递图形用户界面的互动来生成和发送广播短暂消息。
特别是,图6A示出了呈现消息传递图形用户界面602的发送客户端设备600。消息传递图形用户界面602包括消息输入区域604。如图6A所示,发送客户端设备600已经在消息输入区域604处接收到指示文本“你看到那了吗?!”的消息输入。然而,数字通信系统104可以接收为短暂消息指定各种内容的各种用户输入。例如,消息输入区域604可以接收选择各种形式的多媒体的用户输入以用于包含在短暂消息中。
此外,如图6A所示,消息传递图形用户界面602还包括接收方指定区域606。响应于在接收方指定区域606处接收到用户输入,数字通信系统104可以识别出多个接收方客户端设备(和消息传递线程)以接收消息。事实上,数字通信系统104可以识别用于分发特定数字消息的一些短暂消息传递线程和一些持久消息线程。例如,如图6A所示,接收方指定区域606包括下拉菜单,该下拉菜单包括对应于用户标识符和对应的接收客户端设备的可选择元素。响应于接收到选择接收消息的多个客户端设备(例如,对应于多个消息传递线程的多个账户)的用户输入,数字通信系统104可以生成广播短暂消息。更特别地,响应于接收到选择多个客户端设备(例如,对应于多个消息传递线程的多个账户)的用户输入和消息,数字通信系统104可以生成包含原始消息、标识符和每个选定客户端设备的当前短暂设置的广播短暂消息。
如图6A所示,数字通信系统104已经接收到选择对应于接收广播短暂消息的“Jill”和“John”的消息线程的用户输入。如所提到的,接收方指定区域606可以包括菜单,该菜单包括对应于各种短暂消息传递线程的可选择元素的列表。另外,在一个或更多个实施例中,接收方指定区域606可以包括文本输入元素。在这样的实施例中,数字通信系统104可以基于识别对应于消息传递线程的用户标识符的文本来识别选择的消息线程。此外,数字通信系统104可以在接收方指定区域606处接收和解释各种另外的类型的用户输入。
如上面所讨论的,在提交短暂消息以用于发送到多个接收设备时,数字通信系统104可以生成并发送包括广播短暂消息的加密数字通信。特别是,数字通信系统104可以生成包括广播短暂消息、短暂消息持续时间设置和短暂设置时间戳的加密数字通信。如所提到的,短暂消息持续时间设置可以是对被选择来接收广播短暂消息的每个接收客户端设备和/或每个短暂消息传递线程唯一的短暂消息持续时间设置。
图6B-图6C示出了接收在图6A中生成的广播短暂消息的接收客户端设备。特别是,图6B-图6C示出了具有不同短暂消息持续时间设置的接收广播短暂消息的短暂消息线程。如图6B所示,接收客户端设备610呈现包括对应于“Jill”的短暂消息传递线程的消息传递图形用户界面612。发送客户端设备600向接收客户端设备610发送包括已更新的短暂消息持续时间设置的广播短暂消息614。因此,数字通信系统104可以更新与对应于“Jill”的短暂消息线程相对应的短暂消息传递线程的短暂消息持续时间设置。此外,数字通信系统104将短暂消息614添加到在接收客户端设备610处对应于“Jill”的短暂消息线程。
因此,消息传递图形用户界面612包括短暂消息614和短暂消息持续时间指示616。短暂消息持续时间指示616反映两小时的短暂消息持续时间设置。因此,数字通信系统104可以在两小时之后删除短暂消息614。此外,数字通信系统104可以将两小时的短暂消息持续时间设置应用于被包括在短暂消息传递线程中的另外的短暂消息。
如图6C所示,接收客户端设备620呈现包括对应于“John”的短暂消息传递线程的消息传递图形用户界面622。发送客户端设备600向接收客户端设备620发送包括广播短暂消息624的唯一加密数字通信。此外,唯一加密数字通信包括对于对应于“John”的短暂消息线程的两小时的已更新短暂消息持续时间设置。数字通信系统104然后将短暂消息614添加到在接收客户端设备620处对应于“John”的短暂消息传递线程。此外,数字通信系统104将已更新的短暂消息持续时间设置应用于短暂消息614。
因此,消息传递图形用户界面622包括短暂消息624和短暂消息持续时间指示626。短暂消息持续时间指示626反映两小时的已更新短暂消息持续时间设置。因此,数字通信系统104可以在两小时之后删除短暂消息624。
此外,消息传递图形用户界面622包括具有相关附加短暂消息持续时间指示630的另外的短暂消息628。数字通信系统104可以向已经包括一个或更多个另外的短暂消息的短暂消息传递线程提供广播短暂消息。另外的短暂消息628对应于一小时的现有短暂消息持续时间设置。此外,如图6C所示,一小时短暂消息持续时间设置剩余56分钟。
然而,在对短暂消息624的接收之前(和/或在对应于已更新的短暂消息持续时间设置的短暂设置时间戳之前),短暂消息628存在于短暂消息传递线程中。如上面所讨论的,在一个或更多个实施例中,数字通信系统104不将已更新的短暂消息持续时间设置应用于在短暂消息传递线程中的现有消息。因此,数字通信系统104不将已更新的短暂消息持续时间设置应用于另外的短暂消息628。因此,数字通信系统104可以在两小时后删除短暂消息624,并(根据现有短暂消息持续时间设置)在一小时后删除另外的短暂消息。
转到图7,现在将提供关于数字通信系统104的各种部件和能力的另外的细节。特别是,图7根据本公开的一个或更多个实施例示出了通过计算设备700(例如发送客户端设备102、接收客户端设备106和/或服务器108)实现的数字通信系统104的示例示意图。如所示,计算设备700可以实现数字通信系统104。还示出了,数字通信系统104可以包括短暂消息生成器702、消息线程管理器704、时间戳管理器706、短暂消息持续时间设置修改器708、短暂消息删除引擎710、加密和解密引擎712、广播消息管理器714和数据存储设备716。
计算设备700包括短暂消息生成器702。短暂消息生成器702可以生成包括短暂消息持续时间设置和短暂设置时间戳的短暂消息。此外,短暂消息生成器702可以对短暂消息、短暂消息持续时间设置和短暂设置时间戳进行加密。短暂消息生成器702可以利用在发送客户端设备处接收的用户输入以生成包括短暂消息的内容和短暂消息的一个或更多个接收方的短暂消息。另外,短暂消息生成器702可以利用在发送客户端设备处接收的用户输入以确定短暂消息持续时间设置和/或短暂设置时间戳。
此外,计算设备700包括消息线程管理器704。在一个或更多个实施例中,消息线程管理器704将短暂消息添加到消息线程(包括短暂消息线程)。举例来说,消息线程管理器704可以基于识别接收到的消息向在接收客户端设备处的消息线程添加消息。此外,消息线程管理器704可以基于识别所发送的消息来将消息添加到在发送客户端设备处的消息线程。
此外,计算设备700包括时间戳管理器706。时间戳管理器706可以比较短暂设置时间戳以确定对短暂消息持续时间设置的修改。例如,时间戳管理器706可以将短暂设置时间戳与在接收客户端设备上的现有设置时间戳进行比较。在一些实施例中,时间戳管理器706比较任何传入短暂消息的短暂消息持续时间设置以识别任何已更新的短暂消息持续时间设置。
另外,计算设备700包括短暂消息持续时间设置修改器708。短暂消息持续时间设置修改器708可以确定现有设置时间戳在时间上早于短暂设置时间戳。此外,短暂消息持续时间设置修改器708可以将现有短暂消息持续时间设置修改为短暂消息持续时间设置。此外,短暂消息持续时间设置修改器可以修改各种短暂消息持续时间设置。
此外,计算设备700包括短暂消息删除引擎710。短暂消息删除引擎710可以从短暂消息传递线程删除短暂消息。更特别地,短暂消息删除引擎710可以应用短暂消息持续时间设置以在到期时删除短暂消息。在一些实施例中,短暂消息删除引擎710可以确定并跟踪短暂消息的这样的到期时间。因此,在一个或更多个实施例中,短暂消息删除引擎710检测并跟踪触发事件,并开始相对应的短暂消息持续时间设置的倒数计时。
此外,计算设备700包括加密和解密引擎712。加密和解密引擎712可以对电子消息加密和/或解密。举例来说,加密和解密引擎712可以对短暂消息、短暂消息持续时间设置和短暂设置时间戳加密和/或解密。加密和解密引擎712可以对短暂消息加密以用于安全发送。加密和解密引擎712还可以对短暂消息解密,使得时间戳管理器706和短暂消息持续时间设置修改器708以及数字通信系统104的各种其他部件可以利用短暂消息、短暂消息持续时间设置和短暂设置时间戳。
另外,计算设备700包括广播消息管理器714。广播消息管理器714可以生成和发送广播消息。此外,广播消息管理器714可以在各种消息线程上向各种接收客户端设备发送广播短暂消息。此外,广播消息管理器714可以利用变化的短暂消息持续时间设置来发送关于单个广播的广播短暂消息。
此外,计算设备700包括数据存储设备716。数据存储设备716为数字通信系统104维护数据。数据存储设备716(例如,经由一个或更多个存储器设备)可以维护执行数字通信系统104的功能所必需的任何类型、大小或种类的数据。例如,如图7所示,数字通信系统104可以包括短暂消息718、短暂消息持续时间设置719和短暂设置时间戳720。
数字通信系统104的每个部件702-716可以包括软件、硬件或两者。例如,部件702-716可以包括存储在计算机可读存储介质上并由一个或更多个计算设备(例如客户端设备或服务器设备)的处理器可执行的一个或更多个指令。当由一个或更多个处理器执行时,数字通信系统104的计算机可执行指令可以使计算设备执行本文描述的方法。可选地,部件702-716可以包括硬件,例如执行特定功能或特定的一组功能的专用处理设备。可选地,数字通信系统104的部件702-716可以包括计算机可执行指令和硬件的组合。
此外,数字通信系统104的部件702-716可以例如被实现为一个或更多个操作系统、一个或更多个独立应用、一个应用的一个或更多个模块、一个或更多个插件、一个或更多个库功能或可由其他应用调用的功能、和/或云计算模型。因此,部件702-716可以被实现为独立应用,例如桌面或移动应用。此外,部件702-716可以被实现为在远程服务器上托管的一个或更多个基于web的应用。部件702-716也可以在一套移动设备应用或“app”中被实现。
图1-7、相对应的文本和示例提供了数字通信系统的许多不同的方法、系统、设备和非暂时性计算机可读介质。除了前述内容之外,一个或更多个实施例也可以按照如图8和图9所示包括用于实现特定结果的动作的流程图被描述。图8和图9可以用更多或更少的动作来执行。此外,动作可以以不同的顺序被执行。另外,本文描述的动作可以彼此并行地或者与相同或相似动作的不同实例并行地被重复或执行。
如所提到的,图8根据一个或更多个实施例示出了用于根据一个或更多个实施例修改和应用短暂消息持续时间设置的一系列动作800的流程图。虽然图8示出了根据一个实施例的动作,但是替代实施例可以省略、添加、重新排序和/或修改图8所示的任何动作。图8的动作可以作为方法的一部分被执行。可选地,非暂时性计算机可读介质可以包括指令,该指令当由一个或更多个处理器执行时使计算设备执行图8的动作。在一些实施例中,系统可以执行图8的动作。
如图8所示,一系列动作800包括用于识别短暂消息、短暂消息持续时间设置和短暂设置时间戳的动作802。特别地,动作802可以包括在接收客户端设备处识别由发送客户端设备生成的短暂消息、短暂消息持续时间设置和短暂设置时间戳。特别地,动作802可以包括接收由发送客户端设备生成和发送的一个或更多个加密数字通信,并对一个或更多个加密数字通信解密以识别短暂消息、短暂消息持续时间设置和短暂设置时间戳。
此外,一系列动作800包括用于将短暂消息添加到消息线程的动作804,其中消息线程对应于在接收客户端设备上的现有短暂消息持续时间设置。特别地,动作804可以包括将短暂消息添加到在接收客户端设备和发送客户端设备之间的消息线程,其中消息线程对应于在接收客户端设备上的现有短暂消息持续时间设置。特别地,动作804可以包括其中短暂消息是由发送客户端设备生成的用于分发到多个接收客户端设备的根据多个短暂消息持续时间设置进行删除的广播短暂消息。
另外,一系列动作800包括用于将短暂设置时间戳与现有设置时间戳进行比较的动作806。特别地,动作806可以包括将短暂设置时间戳与在接收客户端设备上的现有设置时间戳进行比较。
此外,一系列动作800包括用于基于确定现有设置时间戳在时间上早于短暂设置时间戳来修改现有短暂消息持续时间设置的动作808。特别地,动作808可以包括基于确定现有设置时间戳在时间上早于短暂设置时间戳来将消息线程的现有短暂消息持续时间设置修改为短暂消息持续时间设置。特别地,动作808可以包括生成短暂消息持续时间设置的通知,并且在接收客户端设备上的消息线程图形用户界面中呈现短暂消息持续时间设置的通知。
此外,一系列动作800包括用于应用短暂消息持续时间设置来从消息线程删除短暂消息的动作810。特别地,动作810可以包括应用短暂消息持续时间设置以从在接收客户端设备上的消息线程删除短暂消息。特别地,动作810可以包括在接收客户端设备处检测用户与在消息线程中的短暂消息的互动,并且响应于确定在用户互动之后的持续时间超过短暂消息持续时间,从消息线程删除短暂消息。动作810还可以包括识别在消息线程中的现有消息,并且基于确定现有消息在时间上早于短暂设置时间戳,应用现有短暂消息持续时间设置以从在接收客户端设备上的消息线程删除该消息。
一系列动作800还可以包括在接收客户端设备处接收第二短暂消息,将第二短暂消息添加到消息线程,以及应用短暂消息持续时间设置以从在接收客户端设备上的消息线程删除第二短暂消息。
如所提到的,图9根据一个或更多个实施例示出了用于根据一个或更多个实施例生成和发送广播短暂消息的一系列动作900的流程图。虽然图9示出了根据一个实施例的动作,但是替代实施例可以省略、添加、重新排序和/或修改图9所示的任何动作。图9的动作可以作为方法的一部分被执行。可选地,非暂时性计算机可读介质可以包括指令,该指令当由一个或更多个处理器执行时使得计算设备执行图9的动作。在一些实施例中,系统可以执行图9的动作。
如图9所示,该一系列动作900包括用于生成广播短暂消息以进行分发的动作902。特别地,动作902可以包括生成广播短暂消息以分发给第一接收客户端设备和第二接收客户端设备。特别地,动作902可以包括提供用于显示的用户界面,该用户界面包括广播短暂消息输入元素和对应于多个接收客户端设备的可选择元素,并且响应于用户与广播短暂消息输入元素、对应于第一接收客户端设备的可选择元素中的第一可选择元素以及对应于第二接收客户端设备的可选择元素中的第二可选择元素的互动而生成广播短暂消息以分发给第一接收设备和第二接收客户端设备。
此外,一系列动作900包括用于为在发送客户端设备和第一接收客户端设备之间的第一短暂消息线程识别第一短暂消息持续时间设置的动作904。特别地,动作904可以包括在发送客户端设备处为在发送客户端设备和第一接收客户端设备之间的第一短暂消息线程识别第一短暂消息持续时间设置。特别地,动作904可以包括在发送客户端设备处为第一短暂消息识别现有短暂消息持续时间设置,并且响应于用户对第一短暂消息持续时间设置的选择,将现有短暂消息持续时间设置修改为第一短暂消息持续时间设置。
另外,该一系列动作900包括用于为在发送客户端设备和第二接收客户端设备之间的第二短暂消息线程识别第二短暂消息持续时间设置的动作906。特别地,动作906可以包括在发送客户端设备处为在发送客户端设备和第二接收客户端设备之间的第二短暂消息线程识别第二短暂消息持续时间设置。特别地,动作906可以包括其中第一短暂消息持续时间设置包括第一持续时间,以及第二短暂消息持续时间设置包括不同于第一持续时间的第二持续时间。
此外,该一系列动作900包括动作908,动作908用于向第一接收设备发送广播短暂消息,使得第一接收客户端设备根据第一短暂消息持续时间设置来删除短暂消息。特别地,动作908可以包括向第一接收设备发送广播短暂消息、第一时间戳和第一短暂消息持续时间设置,使得第一接收客户端设备根据第一短暂消息持续时间设置来删除短暂消息。特别地,动作908可以包括通过以下方式来发送广播短暂消息:生成包括广播短暂消息、第一时间戳和第一短暂消息持续时间设置的第一组加密数字通信以用于发送到第一接收设备以及生成包括广播短暂消息、第二时间戳和第二短暂消息持续时间设置的第二组加密数字通信以用于发送到第二接收设备。此外,动作908可以包括向第一接收客户端设备发送第二广播短暂消息,使得第一接收客户端设备根据第一短暂消息持续时间设置从第一短暂消息线程删除第二广播短暂消息。
此外,该一系列动作900包括动作910,动作910用于向第二接收设备发送广播短暂消息,使得第二接收客户端设备根据第二短暂消息持续时间设置来删除短暂消息。特别地,动作910可以包括向第二接收设备发送广播短暂消息、第二时间戳和第二短暂消息持续时间设置,使得第二接收客户端设备根据第二短暂消息持续时间设置来删除短暂消息。
本发明的实施例可包括或利用专用或通用计算机,如下面更详细地描述的,该专用或通用计算机包括计算机硬件,例如一个或更多个处理器,和系统存储器。在本公开的范围内的实施例还包括物理和其他计算机可读介质,以用于承载或存储计算机可执行指令和/或数据结构。特别地,本文描述的一个或更多个过程可以至少部分地被实现为体现在非暂时性计算机可读介质中并且由一个或更多个计算设备(例如,本文描述的任何媒体内容访问设备)可执行的指令。通常,处理器(例如微处理器)从非暂时性计算机可读介质(例如存储器等)接收指令,并执行这些指令,从而执行一个或更多个过程,包括本文描述的一个或更多个过程。
计算机可读介质可以是可由通用或专用计算机系统访问的任何可用介质。存储计算机可执行指令的计算机可读介质是非暂时性计算机可读存储介质(设备)。承载计算机可执行指令的计算机可读介质为传输介质。因此,通过示例的方式且不为限制,本公开的实现可包括至少两个明显不同种类的计算机可读介质:计算机存储介质(设备)和传输介质。
计算机存储介质(设备)包括RAM、ROM、EEPROM、CD-ROM、固态驱动(“SSD”)(例如,基于RAM)、闪存、相变存储器(“PCM”)、其他类型的存储器、其他光盘存储、磁盘存储或其他磁存储设备,或者可用于以计算机可执行指令或数据结构的形式存储所需程序代码并且可由通用或专用计算机访问的任何其他介质。
“网络”被定义为一个或更多个数据链接,其实现计算机系统和/或模块和/或其他电子设备之间的电子数据的传输。当经由网络或另一个通信连接(硬接线、无线或者硬接线或无线的组合)将信息转移或提供到计算机时,计算机适当地将连接视为传输介质。传输介质可包括网络和/或数据链接,其可用于以计算机可执行指令或数据结构的形式承载所需程序代码,并且可由通用或专用计算机访问。上述的组合也应当被包括在计算机可读介质的范围内。
进一步地,在到达各种计算机系统部件后,可将处于计算机可执行指令或数据结构的形式的程序代码从传输介质自动地传输到计算机存储介质(设备)(反之亦然)。例如,经由网络或数据链接接收的计算机可执行指令或数据结构可在网络接口模块(例如,“NIC”)内的RAM中被缓冲,并然后最终被传递到计算机系统RAM和/或计算机系统处的较低易失性计算机存储介质(设备)。因此,应理解的是,计算机存储介质(设备)可被包括在也(或甚至主要)使用传输介质的计算机系统部件中。
例如,计算机可执行指令包括指令和数据,其中当在处理器处执行时,该指令和数据使通用计算机、专用计算机或专用处理设备实现某个功能或功能的集合。在一些实施例中,计算机可执行指令在通用计算机上被执行以将通用计算机转变为实现本公开的元素的专用计算机。例如,计算机可执行指令可以是二进制、中间格式指令(诸如汇编语言或甚至源代码)。尽管已经以特定于结构化特征和/或方法行为的语言描述了主题,应理解的是,随附权利要求中定义的主题不必需局限于所描述的特征或以上所描述的行为。相反,所描述的特征和行为被公开作为实施权利要求的示例形式。
本领域技术人员将理解的是,可在具有许多类型的计算机系统配置的网络计算环境中实践本发明,包括个人计算机、桌面型计算机、便携式计算机、消息处理器、手持设备、多处理器系统、基于微处理器的或可编程消费者电子设备、网络PC、迷你计算机、大型计算机、移动手机、PDA、平板电脑、传呼机、路由器、交换器、各种存储设备等等。还可在分布式系统环境中实践本公开,其中经网络链接(通过硬接线数据链接、无线数据链接或通过硬接线和无线数据链接的组合)的本地和远程计算机系统都执行任务。在分布式系统环境中,程序模块可位于本地和远程存储器存储设备中。
还可在云计算环境中实现本公开的实施例。在本描述中,“云计算”被定义为用于实现对可配置计算资源的共享池的按需网络访问的模型。例如,可以在市场中采用云计算来提供对可配置计算资源的共享池的无所不在且方便的按需访问。可配置计算资源的共享池可以经由虚拟化被快速供应,并以低管理付出或与服务提供商互动被释放,且然后相应地按比例缩放。
云计算模型可以包括各种特性,例如按需自我服务(on-demand self-service)、广泛的网络访问、资源池、快速弹性、可测量的服务等。云计算模型还可以暴露各种服务模型,例如软件即服务(“SaaS”)、平台即服务(“PaaS”)和基础设施即服务(“IaaS”)。也可以使用不同的部署模型(例如私有云、社区云、公共云、混合云等)来部署云计算模型。在本描述中和在权利要求中,“云计算环境”是其中采用云计算的环境。
图10示出了可以被配置成执行上面所述的一个或更多个过程的示例性计算设备1000的框图。人们将认识到,一个或更多个计算设备(例如计算设备1000)可以实现上述数字通信系统。此外,计算设备1000可以包括发送客户端设备102、接收客户端设备106和/或服务器108。如图10所示,计算设备1000可以包括可以通过通信基础设施1012通信地耦合的处理器1002、存储器1004、存储设备1006、I/O接口1008和通信接口1010。虽然示例性计算设备1000在图10中被示出,但是图10中示出的部件并没有被规定为限制性的。在其他实施例中可以使用另外的或替代的部件。此外,在特定实施例中,计算设备1000可以包括比图10所示的部件更少的部件。现在将更加详细地描述图10所示的计算设备1000的部件。
在一个或更多个实施例中,处理器1002包括用于执行指令(例如构成计算机程序的指令)的硬件。作为示例而不是作为限制,为了执行指令,处理器1002可以从内部寄存器、内部高速缓存、存储器1004或存储设备1006检索(或取出)指令,并对它们解码和执行它们。在一个或更多个实施例中,处理器1002可以包括用于数据、指令或地址的一个或更多个内部高速缓存。作为示例而不是作为限制,处理器1002可以包括一个或更多个指令高速缓存、一个或更多个数据高速缓存以及一个或更多个转换旁路缓冲器(translation lookasidebuffer)(“TLB”)。在指令高速缓存中的指令可以是在存储器1004或存储设备1006中的指令的副本。
存储器1004可以用于存储用于由处理器执行的数据、元数据和程序。存储器1004可以包括易失性和非易失性存储器中的一个或更多个,例如随机存取存储器(“RAM”)、只读存储器(“ROM”)、固态盘(“SSD”)、闪存、相变存储器(“PCM”)或其他类型的数据存储器。存储器1004可以是内部或分布式存储器。
存储设备1006包括用于存储数据或指令的存储器。作为示例而不是作为限制,存储设备1006可以包括上述非暂时性存储介质。存储设备1006可以包括硬盘驱动器(“HDD”)、闪存、光盘、磁光盘、磁带或通用串行总线(“USB”)驱动器或这些中的两个或更多个的组合。在适当的情况下,存储设备1006可以包括可移动或不可移动(或固定)介质。存储设备1006可以在计算设备1000的内部或外部。在一个或更多个实施例中,存储设备1006是非易失性固态存储器。在其他实施例中,存储设备1006包括只读存储器(“ROM”)。在适当的情况下,该ROM可以是掩模编程的ROM、可编程ROM(“PROM”)、可擦除PROM(“EPROM”)、电可擦除PROM(“EEPROM”)、电可改写ROM(“EAROM”)或闪存或这些中的两个或更多个的组合。
I/O接口1008允许用户向计算设备1000提供输入,从计算设备1000接收输出,以及以其他方式向计算设备1000传送数据和从计算设备1000接收数据。I/O接口1008可以包括鼠标、小键盘或键盘、触摸屏、相机、光学扫描仪、网络接口、调制解调器、其他已知的I/O设备或这样的I/O接口的组合。I/O接口1008可以包括用于向用户呈现输出的一个或更多个设备,包括但不限于图形引擎、显示器(例如显示屏)、一个或更多个输出驱动器(例如显示驱动器)、一个或更多个音频扬声器以及一个或更多个音频驱动器。在特定实施例中,I/O接口1008被配置为向显示器提供图形数据以呈现给用户。图形数据可以表示一个或更多个图形用户界面和/或可以服务于特定实现方式的任何其他图形内容。
通信接口1010可以包括硬件、软件或两者。在任何情况下,通信接口1010可以为在计算设备1000和一个或更多个其他计算设备或网络之间的通信(例如基于数据包的通信)提供一个或更多个接口。作为示例而不是作为限制,通信接口1010可以包括用于与以太网或其他基于线缆的网络通信的网络接口控制器(“NIC”)或网络适配器或者用于与无线网络(例如WI-FI)通信的无线NIC(“WNIC”)或无线适配器。
附加地或可选地,通信接口1010可以促进与自组织网络、个人区域网(“PAN”)、局域网(“LAN”)、广域网(“WAN”)、城域网(“MAN”)或互联网的一个或更多个部分或这些网络中的两个或更多个网络的组合的通信。这些网络中的一个或更多个网络的一个或更多个部分可以是有线的或无线的。作为示例,通信接口1010可以促进与无线PAN(“WPAN”)(例如,蓝牙WPAN)、WI-FI网络、WI-MAX网络、蜂窝电话网络(例如全球移动通信系统(“GSM”)网络)或其他合适的无线网络或它们的组合的通信。
另外,通信接口1010可以促进各种通信协议的通信。可以使用的通信协议的示例包括但不限于数据传输介质、通信设备、传输控制协议(“TCP”)、互联网协议(“IP”)、文件传输协议(“FTP”)、Telnet、超文本传输协议(“HTTP”)、超文本传输协议安全(“HTTPS”)、会话发起协议(“SIP”)、简单对象访问协议(“SOAP”)、可扩展标记语言(“XML”)及其变体、简单邮件传输协议(“SMTP”)、实时传输协议(“RTP”)、用户数据报协议(“UDP”)、全球移动通信系统(“GSM”)技术、码分多址(“CDMA”)技术、时分多址(“TDMA”)技术、短消息服务(“SMS”)、多媒体消息服务(“MMS”)、射频(“RF”)信令技术、长期演进(“LTE”)技术、无线通信技术、带内和带外信令技术以及其他合适的通信网络和技术。
通信基础设施1012可以包括将计算设备1000的部件耦合到彼此的硬件、软件或两者。作为示例而不是作为限制,通信基础设施1012可以包括加速图形端口(“AGP”)或其他图形总线、增强型工业标准架构(“EISA”)总线、前端总线(“FSB”)、HYPERTRANSPORT(“HT”)互连、工业标准架构(“ISA”)总线、INFINIBAND互连、低引脚数(“LPC”)总线、存储器总线、微通道架构(“MCA”)总线、外围部件互连(“PCI”)总线、PCI-Express(“PCIe”)总线、串行高级技术附件(“SATA”)总线、视频电子标准协会局域(“VLB”)总线或另一合适的总线或它们的组合。
如上面所提到的,在一个或更多个实施例中,数字通信系统包括社交网络系统。社交网络系统可以使它的用户(例如个人或组织)能够与该系统以及用户间彼此互动。社交网络系统可以利用来自用户的输入在社交网络系统中创建并存储与用户相关联的用户简档。用户简档可以包括人口统计学信息、通信通道信息和关于用户的个人兴趣的信息。社交网络系统还可以利用来自用户的输入创建并存储该用户与社交网络系统的其他用户的关系记录,以及提供促进在用户之间或在用户当中的社交互动的服务(例如墙贴、照片共享、在线日历和事件组织、消息传递、游戏或广告)。此外,社交网络系统可以允许用户将照片和其他视觉媒体项目张贴到用户的简档页面(一般被称为“墙贴”或“时间线贴”)或相册中,社交网络系统的其他用户可根据用户的所配置的隐私设置对这两者进行访问。
图11示出了社交网络系统的示例网络环境1100。网络环境1100包括通过网络1104连接到彼此的客户端设备1106、社交网络系统1102和第三方系统1108。尽管图11示出了客户端设备1106、社交网络系统1102、第三方系统1108和网络1104的特定布置,但是本公开设想客户端设备1106、社交网络系统1102、第三方系统1108和网络1104的任何合适的布置。作为示例而不是作为限制,客户端设备1106、社交网络系统1102和第三方系统1108中的两个或更多个可以绕过网络1104而直接连接到彼此。作为另一示例,客户端设备1106、社交网络系统1102和第三方系统1108中的两个或更多个可以全部或部分地彼此物理地或逻辑地位于同一位置。此外,尽管图11示出了特定数量的客户端设备1106、社交网络系统1102、第三方系统1108和网络1104,但是本公开设想任何合适数量的客户端设备1106、社交网络系统1102、第三方系统1108和网络1104。作为示例而不是作为限制,网络环境1100可以包括多个客户端设备1106、社交网络系统1102、第三方系统1108和网络1104。
本公开设想了任何合适的网络1104。作为示例而不是作为限制,网络1104的一个或更多个部分可以包括自组织网络、内联网、外联网、虚拟专用网络(“VPN”)、局域网(“LAN”)、无线局域网(“WLAN”)、广域网(“WAN”)、无线WAN(“WWAN”)、城域网(“MAN”)、互联网的一部分、公共交换电话网(“PSTN”)的一部分、蜂窝电话网或这些网络中的两个或更多个的组合。网络1104可以包括一个或更多个网络1104。
链路可以将客户端设备1106、社交网络系统1102和第三方系统1108连接到通信网络1104或连接彼此。本公开设想了任何合适的链路。在特定实施例中,一个或更多个链路包括一个或更多个有线(例如数字用户线路(“DSL”)或有线电缆数据服务接口规范(“DOCSIS”))链路、无线(例如Wi-Fi或全球微波接入互操作(“WiMAX”))链路或光(例如同步光网络(“SONET”)或同步数字体系(“SDH”))链路。在特定实施例中,一个或更多个链路均包括自组织网络、内联网、外联网、VPN、LAN、WLAN、WAN、WWAN、MAN、互联网的一部分、PSTN的一部分、基于蜂窝技术的网络、基于卫星通信技术的网络、另一链路或两个或多个这样的链路的组合。链路不需要在整个网络环境1100中一定是相同的。一个或更多个第一链路可以在一个或更多个方面不同于一个或更多个第二链路。
在特定实施例中,客户端设备1106可以是包括硬件、软件或嵌入式逻辑部件或两个或更多个这样的部件的组合并且能够执行由客户端设备1106实现或支持的适当功能的电子设备。作为示例而不是作为限制,客户端设备1106可以包括上面关于图10讨论的任何计算设备。客户端设备1106可以使在客户端设备1106处的网络用户能够访问网络1104。客户端设备1106可以使它的用户能够与在其他客户端设备1106处的其他用户通信。
在特定实施例中,客户端设备1106可以包括web浏览器,例如MICROSOFT INTERNETEXPLORER、GOOGLE CHROME或MOZILLA FIREFOX,并且可以具有一个或更多个附加件、插件或其他扩展,例如TOOLBAR或YAHOO TOOLBAR。在客户端设备1106处的用户可以输入统一资源定位符(“URL”)或将web浏览器引导到特定的服务器(例如服务器或与第三方系统1108相关联的服务器)的其他地址,并且web浏览器可以生成超文本传输协议(“HTTP”)请求并将该HTTP请求传递到服务器。服务器可以接受该HTTP请求,并响应于该HTTP请求而向客户端设备1106传递一个或更多个超文本标记语言(“HTML”)文件。客户端设备1106可以基于来自服务器的HTML文件来渲染(render)网页用于呈现给用户。本公开设想了任何合适的网页文件。作为示例而不是作为限制,根据特定需要,网页可以根据HTML文件、可扩展超文本标记语言(“XHTML”)文件或可扩展标记语言(“XML”)文件进行渲染。这样的页面还可以执行脚本(例如且没有限制地,用JAVASCRIPT、JAVA、MICROSOFT SILVERLIGHT编写的脚本)、标记语言和脚本的组合(例如AJAX(异步JAVASCRIPT和XML)),等等。在本文,对网页的提及在适当的情况下包含一个或更多个相对应的网页文件(浏览器可以使用这些文件来渲染网页),反之亦然。
在特定实施例中,社交网络系统1102可以是可以托管在线社交网络的网络可寻址计算系统。社交网络系统1102可以生成、存储、接收和发送社交网络数据,例如用户简档数据、概念简档数据、社交图信息或与在线社交网络相关的其他合适的数据。社交网络系统1102可以被网络环境1100的其他部件直接地或经由网络1104访问。在特定实施例中,社交网络系统1102可以包括一个或更多个服务器。每个服务器可以是单一服务器或跨越多个计算机或多个数据中心的分布式服务器。服务器可以具有各种类型,例如且没有限制地,web服务器、新闻服务器、邮件服务器、消息服务器、广告服务器、文件服务器、应用服务器、交换服务器、数据库服务器、代理服务器、适合于执行本文描述的功能或过程的另一个服务器、或它们的任何组合。在特定实施例中,每个服务器可以包括用于执行由服务器实现或支持的适当功能的硬件、软件或嵌入式逻辑部件或两个或更多个这样的部件的组合。在特定实施例中,社交网络系统1102可以包括一个或更多个数据存储库。数据存储库可以用来存储各种类型的信息。在特定实施例中,可以根据特定的数据结构来组织存储在数据存储库中的信息。在特定实施例中,每个数据存储库可以是关系数据库、纵列数据库、相关数据库(correlation database)或其他合适的数据库。尽管本公开描述或示出了特定类型的数据库,但是本公开设想了任何合适类型的数据库。特定实施例可以提供使客户端设备1106、社交网络系统1102或第三方系统1108能够管理、检索、修改、添加或删除存储在数据存储库中的信息的界面。
在特定实施例中,社交网络系统1102可以在一个或更多个数据存储库中存储一个或更多个社交图。在特定实施例中,社交图可以包括多个节点(该多个节点可以包括多个用户节点(每个节点对应于特定用户)或多个概念节点(每个节点对应于特定概念))以及连接节点的多条边。社交网络系统1102可以向在线社交网络的用户提供与其他用户通信和互动的能力。在特定实施例中,用户可以经由社交网络系统1102加入在线社交网络,且然后向他们想要连接到的社交网络系统1102的多个其他用户添加联系(例如关系)。在本文,术语“朋友”可以指社交网络系统1102中的用户已经经由社交网络系统1102与其形成联系、关联或关系的任何其他用户。
在特定实施例中,社交网络系统1102可以向用户提供对由社交网络系统1102支持的各种类型的项目或对象采取动作的能力。作为示例而不是作为限制,项目和对象可以包括社交网络系统1102的用户可能属于的群组或社交网络、用户可能感兴趣的事件或日历条目、用户可以使用的基于计算机的应用、允许用户经由服务购买或出售项目的交易、用户可以执行的与广告的互动或其他合适的项目或对象。用户可以与能够在社交网络系统1102中或者由第三方系统1108的外部系统表示的任何事物互动,第三方系统1108与社交网络系统1102分离并且经由网络1104耦合到社交网络系统1102。
在特定实施例中,社交网络系统1102能够链接各种实体。作为示例而不是作为限制,社交网络系统1102可以使用户能够彼此互动以及从第三方系统1108或其他实体接收内容,或者允许用户通过应用编程接口(“API”)或其他通信通道与这些实体互动。
在特定实施例中,第三方系统1108可以包括例如服务器可以与之通信的一种或更多种类型的服务器、一个或更多个数据存储库、一个或更多个接口——包括但不限于API、一个或更多个web服务、一个或更多个内容源、一个或更多个网络或任何其他合适的部件。第三方系统1108可以由与操作社交网络系统1102的实体不同的实体操作。然而,在特定实施例中,社交网络系统1102和第三方系统1108可以彼此结合来操作以向社交网络系统1102或第三方系统1108的用户提供社交网络服务。在这个意义上,社交网络系统1102可以提供平台或主干网,其他系统(例如第三方系统1108)可以使用该平台或主干网来跨互联网向用户提供社交网络服务和功能。
在特定实施例中,第三方系统1108可以包括第三方内容对象提供商。第三方内容对象提供商可以包括可以被传递到客户端设备1106的内容对象的一个或更多个源。作为示例而不是限制,内容对象可以包括关于用户感兴趣的事物或活动的信息,例如电影放映时间、电影评论、餐馆评论、餐馆菜单、产品信息和评论或其他合适的信息。作为另一示例而不是作为限制,内容对象可以包括奖励性内容对象,例如优惠券、折扣票、礼券或其他合适的奖励性对象。
在特定实施例中,社交网络系统1102还包括用户生成的内容对象,其可以增强用户与社交网络系统1102的互动。用户生成的内容可以包括用户可以添加、上传、发送或“张贴”到社交网络系统1102的任何内容。作为示例而不是作为限制,用户将帖子从客户端设备1106传递到社交网络系统1102。帖子可以包括例如状态更新或其他文本数据的数据、位置信息、照片、视频、链接、音乐或其他类似的数据或媒体。内容也可以由第三方通过诸如动态消息或流的“通信通道”添加到社交网络系统1102。
在特定实施例中,社交网络系统1102可以包括各种服务器、子系统、程序、模块、日志和数据存储库。在特定实施例中,社交网络系统1102可以包括下列项中的一个或更多个:web服务器、动作记录器、API请求服务器、相关性和排名引擎、内容对象分类器、通知控制器、动作日志、第三方内容对象暴露日志、推理模块、授权/隐私服务器、搜索模块、广告定位模块、用户界面模块、用户简档存储库、联系存储库、第三方内容存储库或位置存储库。社交网络系统1102还可以包括合适的部件,例如网络接口、安全机制、负载平衡器、故障转移服务器、管理和网络操作控制台、其他合适的部件或它们的任何合适的组合。在特定实施例中,社交网络系统1102可以包括用于存储用户简档的一个或更多个用户简档存储库。用户简档可以包括例如传记信息、人口统计学信息、行为信息、社会信息或其他类型的描述性信息,例如工作经历、教育历史、爱好或偏好、兴趣、亲缘关系或位置。兴趣信息可以包括与一个或更多个类别相关的兴趣。类别可以是一般的或特定的。作为示例而不是作为限制,如果用户“喜欢”关于一个品牌的鞋的文章,则该类别可以是该品牌或“鞋”或“服装”的一般类别。联系存储库可以用于存储关于用户的联系信息。联系信息可以指示具有相似或共同的工作经验、群组成员资格、爱好、教育历史或者以任何方式涉及或共享共同属性的用户。联系信息还可以包括在不同用户和内容(内部和外部)之间的用户定义的联系。web服务器可用于经由网络1104将社交网络系统1102链接到一个或更多个客户端设备1106或一个或更多个第三方系统1108。web服务器可以包括邮件服务器或其他消息传递功能,以用于在社交网络系统1102和一个或更多个客户端设备1106之间接收和按规定路线发送消息。API请求服务器可以允许第三方系统1108通过调用一个或更多个API来访问来自社交网络系统1102的信息。动作记录器可用于从web服务器接收关于用户在社交网络系统1102上或离开社交网络系统1102的动作的通信。结合动作日志,用户朝第三方内容对象的暴露的第三方内容对象日志可以被维护。通知控制器可以向客户端设备1106提供关于内容对象的信息。可以将信息作为通知推送到客户端设备1106,或者可以响应于从客户端设备1106接收的请求从客户端设备1106提取信息。授权服务器可用于实施社交网络系统1102的用户的一个或更多个隐私设置。用户的隐私设置确定与用户相关联的特定信息可以如何被共享。授权服务器可以允许用户例如通过设置适当的隐私设置来选择参与或选择不参与使他们的动作由社交网络系统1102记录或与其他系统(例如第三方系统1108)共享。第三方内容对象存储库可用于存储从第三方(例如第三方系统1108)接收的内容对象。位置存储库可用于存储从与用户相关联的客户端设备1106接收的位置信息。广告定价模块可以组合社交信息、当前时间、位置信息或其他合适的信息将相关广告以通知的形式提供给用户。
图12示出了示例社交图1200。在特定实施例中,社交网络系统1102可以在一个或更多个数据存储库中存储一个或更多个社交图1200。在特定实施例中,社交图1200可以包括多个节点(该多个节点可以包括多个用户节点1202或多个概念节点1204)以及连接节点的多条边1206。为了教导的目的,在二维视觉地图表示中示出了图12所示的示例社交图1200。在特定实施例中,社交网络系统1102、客户端设备1106或第三方系统1108可以为了合适的应用而访问社交图1200和相关社交图信息。社交图1200的节点和边可以例如作为数据对象被存储在数据存储库(例如社交图数据库)中。这样的数据存储库可以包括社交图1200的节点或边的一个或更多个可搜索或可查询的索引。
在特定实施例中,用户节点1202可以对应于社交网络系统1102的用户。作为示例而不是作为限制,用户可以是与社交网络系统1102互动或通信或通过社交网络系统1102互动或通信的个人(人类用户)、实体(例如企业、商行或第三方应用)或团体(例如个人团体或实体团体)。在特定实施例中,当用户向社交网络系统1102注册账户时,社交网络系统1102可以创建对应于用户的用户节点1202,并将用户节点1202存储在一个或更多个数据存储库中。在适当的情况下,本文描述的用户和用户节点1202可以指注册用户和与注册用户相关联的用户节点1202。附加地或可选地,在适当的情况下,本文描述的用户和用户节点1202可以指尚未向社交网络系统1102注册的用户。在特定实施例中,用户节点1202可以与由用户提供的信息或由各种系统(包括社交网络系统1102)收集的信息相关联。作为示例而不是作为限制,用户可以提供他或她的名称、简档照片、联系信息、出生日期、性别、婚姻状况、家庭状况、职业、教育背景、偏好、兴趣或其他人口统计学信息。社交图的每个用户节点可以具有相对应的网页(一般被称为简档页面)。响应于包括用户名称的请求,社交网络系统可以访问对应于用户名称的用户节点,并构建包括名称、简档图片和与用户相关联的其他信息的简档页面。第一用户的简档页面可以基于第一用户的一个或更多个隐私设置以及在第一用户和第二用户之间的关系来向第二用户显示第一用户的信息的全部或一部分。
在特定实施例中,概念节点1204可以对应于概念。作为示例而不是作为限制,概念可以对应于地方(例如电影院、餐馆、地标或城市);网站(例如,与社交网络系统1102相关联的网站或与web应用服务器相关联的第三方网站);实体(例如个人、企业、团体、运动队或名人);可能位于社交网络系统1102内或外部服务器(例如web应用服务器)上的资源(例如音频文件、视频文件、数字照片、文本文件、结构化文档或应用);不动产或知识产权(例如雕塑、绘画、电影、游戏、歌曲、创意、照片或书面作品);游戏;活动;创意或理论;另一合适的概念;或者两个或更多个这样的概念。概念节点1204可以与由用户提供的概念的信息或由各种系统(包括社交网络系统1102)收集的信息相关联。作为示例而不是作为限制,概念的信息可以包括名称或标题;一个或更多个图像(例如书籍的封面的图像);位置(例如地址或地理位置);网站(其可能与URL相关联);联系信息(例如电话号码或电子邮件地址);其他合适的概念信息;或者这样的信息的任何合适的组合。在特定实施例中,概念节点1204可以与对应于与概念节点1204相关联的信息的一个或更多个数据对象相关联。在特定实施例中,概念节点1204可以对应于一个或更多个网页。
在特定实施例中,在社交图1200中的节点可以表示网页(其可以被称为“简档页面”)或者由网页表示。简档页面可以由社交网络系统1102托管或是社交网络系统1102可访问的。简档页面也可以被托管在与第三方系统1108相关联的第三方网站上。作为示例而不是作为限制,对应于特定外部网页的简档页面可以是特定外部网页,并且简档页面可以对应于特定概念节点1204。简档页面可以被其他用户的全部或选定子集查看。作为示例而不是作为限制,用户节点1202可以具有相对应的用户简档页面,在该页面中,相对应的用户可以添加内容、做出声明或以其他方式表达他或她自己。作为另一个示例而不是作为限制,概念节点1204可以具有相对应的概念-简档页面,在该页面中,一个或更多个用户可以添加内容、进行声明或表达他们自己,特别是和与概念节点1204相对应的概念有关地添加内容、进行声明或表达他们自己。
在特定实施例中,概念节点1204可以表示由第三方系统1108托管的第三方网页或资源。第三方网页或资源除了其他元素以外还可以包括表示动作或活动的内容、可选择或其他图标或其他可交互的对象(其可以例如用JavaScript、AJAX或PHP代码来实现)。作为示例而不是作为限制,第三方网页可以包括可选择图标,例如“喜欢”、“签到”、“吃”、“推荐”或另一合适的动作或活动。查看第三方网页的用户可以通过选择图标之一(例如“吃”)来执行动作,使客户端设备1106向社交网络系统1102发送指示用户的动作的消息。响应于该消息,社交网络系统1102可以在对应于用户的用户节点1202和对应于第三方网页或资源的概念节点1204之间创建边(例如“吃”边),并将边1206存储在一个或更多个数据存储库中。
在特定实施例中,社交图1200中的一对节点可以通过一条或更多条边1206连接到彼此。连接一对节点的边1206可以表示在该对节点之间的关系。在特定实施例中,边1206可以包括或表示对应于在一对节点之间的关系的一个或更多个数据对象或属性。作为示例而不是作为限制,第一用户可以指示第二用户是第一用户的“朋友”。响应于该指示,社交网络系统1102可以向第二用户发送“朋友请求”。如果第二用户确认“朋友请求”,社交网络系统1102可以在社交图1200中创建将第一用户的用户节点1202连接到第二用户的用户节点1202的边1206,并将边1206作为社交图信息存储在一个或更多个数据存储库中。在图12的示例中,社交图1200包括指示在用户“A”和用户“B”的用户节点1202之间的朋友关系的边1206以及指示在用户“C”和用户“B”的用户节点1202之间的朋友关系的边。尽管本公开描述或示出了具有连接特定用户节点1202的特定属性的特定边1206,但是本公开设想了具有连接用户节点1202的任何合适属性的任何合适的边1206。作为示例而不是作为限制,边1206可以表示友谊、家庭关系、商业或雇佣关系、粉丝关系、追随者关系、访问者关系、订户关系、上级/下级关系、互惠关系、非互惠关系、另一合适类型的关系或两个或更多个这样的关系。此外,尽管本公开通常将节点描述为被连接,但是本公开也将用户或概念描述为被连接。在本文,对被连接的用户或概念的提及在适当的情况下可以指对应于在社交图1200中由一个或更多个边1206连接的那些用户或概念的节点。
在特定实施例中,在用户节点1202和概念节点1204之间的边1206可以表示由与用户节点1202相关联的用户针对与概念节点1204相关联的概念执行的特定动作或活动。作为示例而不是作为限制,如图12所示,用户可以“喜欢”、“参加”、“播放”、“听”、“烹饪”、“从事于”或“观看”一个概念,其中的每一个可以对应于边类型或子类型。对应于概念节点1204的概念-简档页面可以包括例如可选择的“签到”图标(例如,可点击的“签到”图标)或可选择的“添加到收藏夹”图标。类似地,在用户点击这些图标之后,社交网络系统1102可以响应于用户的对应于相应动作的动作来创建“喜爱”边或“签到”边。作为另一个示例而不是作为限制,用户(用户“C”)可以使用特定的应用(SPOTIFY(声田),其是在线音乐应用)来听特定的歌曲(“Ramble On”)。在这种情况下,社交网络系统1102可以在对应于用户的用户节点1202和对应于歌曲和应用的概念节点1204之间创建“听”边1206和“使用”边(如图12所示)以指示用户听歌曲以及使用应用。此外,社交网络系统1102可以在对应于歌曲和应用的概念节点1204之间创建“播放”边1206(如图12所示)以指示特定歌曲由特定应用播放。在这种情况下,“播放”边1206对应于由外部应用(SPOTIFY)对外部音频文件(歌曲“Imagine(想象)”)执行的动作。尽管本公开描述了具有连接用户节点1202和概念节点1204的特定属性的特定边1206,但是本公开设想了具有连接用户节点1202和概念节点1204的任何合适属性的任何合适的边1206。此外,尽管本公开描述了表示单个关系的在用户节点1202和概念节点1204之间的边,但是本公开设想了表示一个或更多个关系的在用户节点1202和概念节点1204之间的边。作为示例而不是作为限制,边1206可以表示用户喜欢特定概念和已经在特定概念处使用。可选地,另一条边1206可以表示在用户节点1202和概念节点1204之间(如图12所示,在用户“E”的用户节点1202和“SPOTIFY”的概念节点1204之间)的每种类型的关系(或单个关系的倍数)。
在特定实施例中,社交网络系统1102可以在社交图1200中的用户节点1202和概念节点1204之间创建边1206。作为示例而不是作为限制,查看概念-简档页面的用户(例如,通过使用web浏览器或由用户的客户端设备1106托管的专用应用)可以通过点击或选择“喜欢”图标来指示他或她喜欢由概念节点1204表示的概念,这可以使用户的客户端设备1106向社交网络系统1102发送指示用户对与概念-简档页面相关联的概念的喜欢的消息。响应于该消息,社交网络系统1102可以在与用户相关联的用户节点1202和概念节点1204之间创建边1206,如在用户和概念节点1204之间的“喜欢”边1206所示。在特定实施例中,社交网络系统1102可以将边1206存储在一个或更多个数据存储库中。在特定实施例中,边1206可以由社交网络系统1102响应于特定用户动作而自动形成。作为示例而不是作为限制,如果第一用户上传图片、观看电影或听歌曲,则边1206可以在对应于第一用户的用户节点1202和对应于这些概念的概念节点1204之间形成。尽管本公开描述了以特定方式形成特定边1206,但是本公开设想了以任何合适的方式形成任何合适的边1206。在一个或更多个实施例中,社交网络系统1102包括关于每个数字图形和相关动画的节点。
在特定实施例中,广告可以是文本(其可以是HTML链接的文本)、一个或更多个图像(其可以是HTML链接的图像)、一个或更多个视频、音频、一个或更多个ADOBE FLASH文件、这些的适当组合、或者在一个或更多个网页上、在一个或更多个电子邮件中或者结合由用户请求的搜索结果呈现的任何适当的数字格式的任何其他适当的广告。附加地或者可选地,广告可以是一个或更多个赞助动态(sponsored story)(例如,在社交网络系统1102上的动态消息或即时动态栏(ticker item))。赞助动态可以是用户的社交动作(例如,“点赞”页面、“点赞”或评论页面上的帖子、答复与页面相关联的事件、就在页面上张贴的问题表决、在地点签到、使用应用或玩游戏、或“赞”或共享网站),广告商例如通过使社交动作呈现在用户的简档页面或其他页面的预定区域内、与广告商相关联的附加信息一起呈现、在其他用户的动态消息或即时动态栏中被提升顺序(bump up)或以其他方式突出显示来推广社交动作、或者以其他方式推广社交动作。广告商可以付费以使社会动作被推广。作为示例而不是作为限制,广告可以被包括在搜索结果页面的搜索结果中,其中受赞助的内容优于非赞助内容被推广。
在特定实施例中,广告可以被请求用于显示在社交网络系统网页、第三方网页或其他页面中。广告可以被显示在页面的专用部分中,例如在页面的顶部处的横幅区域中、在页面的侧边处的栏中、在页面的GUI中、在弹出窗口中、在下拉菜单中、在页面的输入字段栏中、在页面的内容的顶部上方或相对于页面的其他地方。附加地或可选地,广告可以被显示在应用内。广告可以被显示在专用页面内,在用户可访问页面或利用应用之前要求用户与广告互动或观看广告。用户可以例如通过web浏览器查看广告。
用户可以以任何合适的方式与广告互动。用户可以点击或以另外方式选择广告。通过选择广告,用户可以被引导到(或由用户正在使用的浏览器或其他应用)与广告相关联的页面。在与广告相关联的页面处,用户可以采取另外的动作,例如购买与广告相关联的产品或服务、接收与广告相关联的信息或者订阅与广告相关联的时事通讯。带有音频或视频的广告可以通过选择广告的一个部件(如“播放按钮”)来播放。可选地,通过选择广告,社交网络系统1102可以执行或修改用户的特定动作。
广告还可以包括社交网络系统功能,用户可以与社交网络系统功能互动。作为示例而不是作为限制,广告可以使用户能够通过选择与赞同相关联的图标或链接来“喜欢”或以其他方式赞同该广告。作为另一个示例而不是作为限制,广告可以使用户能够(例如,通过执行查询)搜索与广告商相关的内容。类似地,用户可以与另一个用户(例如,通过社交网络系统1102)共享广告或(例如,通过社交网络系统1102)答复与广告相关联的事件。附加地或可选地,广告可以包括被引导到用户的社交网络系统内容。作为示例而不是作为限制,广告可以显示关于在社交网络系统1102内已经采取了与广告的主题相关联的动作的用户的朋友的信息。
在特定实施例中,社交网络系统1102可以确定各种社交图实体对彼此的社交图亲和力(其在本文中可以被称为“亲和力”)。亲和力可以表示在与在线社交网络相关联的特定对象(例如用户、概念、内容、动作、广告、与在线社交网络相关联的其他对象或它们的任何合适的组合)之间的关系的强度或兴趣的水平。还可以关于与第三方系统1108或其他合适的系统相关联的对象来确定亲和力。可以建立社交图实体对每个用户、主题或内容的类型的总亲和力。总亲和力可以基于对与社交图实体相关联的动作或关系的持续监控而改变。尽管本公开描述了以特定方式确定特定亲和力,但是本公开设想了以任何合适的方式确定任何合适的亲和力。
在特定实施例中,社交网络系统1102可以使用亲和力系数(其在本文中可以被称为“系数”)来测量或量化社交图亲和力。该系数可以表示或量化在与在线社交网络相关联的特定对象之间的关系的强度。该系数还可以表示概率或函数,其测量用户将基于用户对动作的兴趣来执行特定动作的预测概率。以这种方式,可以基于用户的先前动作来预测用户的未来动作,其中可以至少部分地基于用户的动作的历史来计算系数。系数可用于预测可以在在线社交网络内或之外的任何数量的动作。作为示例而不是作为限制,这些动作可以包括各种类型的通信,例如发送消息、张贴内容或对内容进行评论;各种类型的观察动作,例如访问或查看简档页面、媒体或其他合适的内容;关于两个或更多个社交图实体的各种类型的重合信息,例如在同一组中、在同一张照片中被标记、在同一地点签到或参加同一事件;或其他合适的动作。尽管本公开描述了以特定方式测量亲和力,但是本公开设想了以任何合适的方式测量亲和力。
在特定实施例中,社交网络系统1102可以使用各种因素来计算系数。这些因素可以包括例如用户动作、在对象之间的关系的类型、位置信息、其他合适的因素或它们的任何组合。在特定实施例中,当计算系数时,不同的因素可以被不同地加权。每个因素的权重可以是静态的,或者权重可以根据例如用户、关系的类型、动作的类型、用户的位置等而变化。因素的等级可以根据它们的权重来组合以确定用户的总系数。作为示例而不是作为限制,特定用户动作可以被分配等级和权重两者,而与特定用户动作相关联的关系被分配等级和相关权重(例如,因此权重总共为100%)。为了计算用户对特定对象的系数,被分配给用户的动作的等级可以包括例如总系数的60%,而在用户和对象之间的关系可以包括总系数的40%。在特定实施例中,社交网络系统1102可以在确定用于计算系数的各种因素的权重时考虑各种变量,例如自从信息被访问以来的时间、衰减因子、访问的频率、与信息的关系或与对象(关于该对象的信息被访问)的关系、与连接到对象的社交图实体的关系、用户动作的短期或长期平均值、用户反馈、其他合适的变量或它们的任何组合。作为示例而不是作为限制,系数可以包括使由特定动作提供的信号的强度随着时间衰减的衰减因子,使得在计算系数时,最近的动作是更相关的。可以基于对系数所基于的动作的持续跟踪来持续地更新等级和权重。可以采用任何类型的过程或算法来分配、组合、平均化等每个因素的等级和被分配给这些因素的权重。在特定实施例中,社交网络系统1102可以使用基于历史动作和过去的用户响应训练的机器学习算法,或者通过使用户暴露于各种选项并测量响应而从用户获得的数据,来确定系数。尽管本公开描述了以特定方式计算系数,但是本公开设想了以任何合适的方式计算系数。
在特定实施例中,社交网络系统1102可以基于用户的动作来计算系数。社交网络系统1102可以在在线社交网络上、在第三方系统1108上、在其他合适的系统上或在它们的任何组合上监测这样的动作。可以跟踪或监测任何合适类型的用户动作。典型的用户动作包括查看简档页面、创建或张贴内容、与内容互动、加入群组、列出并确认参加事件、在地点签到、点赞特定页面、创建页面以及执行促进社交动作的其他任务。在特定实施例中,社交网络系统1102可以基于用户的关于特定类型的内容的动作来计算系数。该内容可以与在线社交网络、第三方系统1108或另一合适的系统相关联。内容可以包括用户、简档页面、帖子、新闻故事、标题、即时消息、聊天室对话、电子邮件、广告、图片、视频、音乐、其他合适的对象或它们的任何组合。社交网络系统1102可以分析用户的动作以确定一个或更多个动作是否指示对主题、内容、其他用户等的亲和力。作为示例而不是作为限制,如果用户可以频繁地张贴与“咖啡”或其变体相关的帖子内容,则社交网络系统1102可以确定用户具有关于概念“咖啡”的高系数。特定动作或特定类型的动作可以被分配比其他动作更高的权重和/或等级,这可能影响总计算系数。作为示例而不是作为限制,如果第一用户向第二用户发送电子邮件,则该动作的权重或等级可能比第一用户简单地查看第二用户的用户简档页面的情况更高。
在特定实施例中,社交网络系统1102可以基于在特定对象之间的关系的类型来计算系数。参考社交图1200,社交网络系统1102可以在计算系数时分析连接特定用户节点1202和概念节点1204的边1206的数量和/或类型。作为示例而不是作为限制,由配偶型边(表示两个用户结婚)连接的用户节点1202可以被分配比由朋友型边连接的用户节点1202更高的系数。换句话说,根据被分配给特定用户的动作和关系的权重,总亲和力可以被确定为对于关于用户的配偶的内容比对于关于用户的朋友的内容更高。在特定实施例中,用户具有的与另一个对象的关系可以影响关于计算该对象的系数的用户动作的权重和/或等级。作为示例而不是作为限制,如果用户在第一张照片中被标记,但是仅仅喜欢第二张照片,则社交网络系统1102可以确定用户具有相对于第一张照片比第二张照片更高的系数,因为与内容具有标记类型关系可以比与内容具有喜欢类型关系被分配更高的权重和/或等级。在特定实施例中,社交网络系统1102可以基于一个或更多个第二用户具有的与特定对象的关系来计算第一用户的系数。换句话说,其他用户具有的与对象的联系和系数可能影响第一用户对该对象的系数。作为示例而不是作为限制,如果第一用户连接到一个或更多个第二用户或者对于一个或更多个第二用户具有高系数,并且这些第二用户连接到特定对象或者对于特定对象具有高系数,则社交网络系统1102可以确定第一用户对于该特定对象也应该具有相对高的系数。在特定实施例中,该系数可以基于在特定对象之间的分离程度。在任何两个节点之间的分离程度被定义为从一个节点到另一个节点遍历社交图所需的跳跃的最小数量。在两个节点之间的分离程度可以被考虑为在由社交图中的两个节点表示的用户或概念之间的关系的度量。例如,具有通过边直接连接的用户节点(即,第一级节点)的两个用户可以被描述为“关连用户”或“朋友”。类似地,具有仅通过另一个用户节点连接的用户节点(即,第二级节点)的两个用户可以被描述为“朋友的朋友”。较低的系数可以表示第一用户将共享对间接地连接到社交图1200中的第一用户的用户的内容对象的兴趣的降低的可能性。作为示例而不是作为限制,在社交图1200中更接近的社交图实体(即,更少的分离程度)可以比在社交图1200中更远离的实体具有更高的系数。
在特定实施例中,社交网络系统1102可以基于位置信息来计算系数。在地理上更靠近彼此的对象可以被考虑为比更远离的对象彼此间更相关或彼此更感兴趣。在特定实施例中,用户对特定对象的系数可以基于对象的位置对与用户相关联的当前位置(或用户的客户端设备1106的位置)的接近度。第一用户可能对更接近第一用户的其他用户或概念更感兴趣。作为示例而不是作为限制,如果用户距离机场1英里且距离加油站2英里,则社交网络系统1102可以基于机场与用户的接近度来确定用户对于机场比对于加油站具有更高的系数。
在特定实施例中,社交网络系统1102可以基于系数信息来执行关于用户的特定动作。系数可用于基于用户对动作的兴趣来预测用户是否将执行特定动作。当向用户生成或呈现任何类型的对象(例如广告、搜索结果、新闻故事、媒体、消息、通知或其他合适的对象)时,系数可以被使用。系数也可以用于适当地将这些对象排名和排序。以这种方式,社交网络系统1102可以提供与用户的兴趣和当前环境相关的信息,增加了他们找到感兴趣的这样的信息的可能性。在特定实施例中,社交网络系统1102可以基于系数信息来生成内容。可以基于针对用户的特定的系数来提供或选择内容对象。作为示例而不是作为限制,系数可以用于为用户生成媒体,其中用户可以被呈现有媒体,用户对该媒体具有关于媒体对象的高的总系数。作为另一个示例而不是作为限制,系数可以用于为用户生成广告,其中用户可以被呈现有广告,用户对于该广告具有关于广告对象的高的总系数。在特定实施例中,社交网络系统1102可以基于系数信息来生成搜索结果。针对特定用户的搜索结果可以基于与关于查询用户的搜索结果相关联的系数来被评分或排名。作为示例而不是作为限制,相比于对应于具有较低系数的对象的结果,对应于具有较高系数的对象的搜索结果在搜索结果页面上被排名更高。
在特定实施例中,社交网络系统1102可以响应于来自特定系统或过程的对系数的请求来计算系数。为了预测用户在给定情况下可能采取的(或者可能是其主题的)可能的动作,任何过程可以为用户请求所计算的系数。该请求还可以包括用于计算系数的各种因素所使用的一组权重。该请求可以来自在线社交网络上运行的过程、来自第三方系统1108(例如,经由API或其他通信通道)或者来自另一个合适的系统。响应于该请求,社交网络系统1102可以计算系数(或者访问系数信息(如果系数信息先前已经被计算和存储))。在特定实施例中,社交网络系统1102可以测量关于特定过程的亲和力。不同的过程(在线社交网络的内部和外部)可以请求特定对象或一组对象的系数。社交网络系统1102可以提供与请求亲和力度量的特定过程相关的亲和力度量。以这种方式,每个过程接收为不同的上下文定制的亲和力度量,过程将在不同的上下文中使用亲和力度量。
结合社交图亲和力和亲和力系数,特定实施例可以利用在2006年8月11日提交的第11/503093号美国专利申请、2010年12月22日提交的第12/978027号美国专利申请、2010年12月23日提交的第12/978265号美国专利申请和2012年10月1日提交的第13/642869号美国专利申请中公开的一个或更多个系统、部件、元件、功能、方法、操作或动作,以上每个申请通过引用被并入。
在特定实施例中,在线社交网络的一个或更多个内容对象可以与隐私设置相关联。可以以任何合适的方式(例如与对象相关联地、在授权服务器上的索引中、以另一种合适的方式或它们的任何组合)存储对象的隐私设置(或“访问设置”)。对象的隐私设置可以指定对象(或与对象相关联的特定信息)可以如何使用在线社交网络进行访问(例如,被查看或共享)。当对象的隐私设置允许特定用户访问该对象时,该对象可以被描述为对于该用户是“可见的”。作为示例而不是作为限制,在线社交网络的用户可以指定用户简档页面的隐私设置,其识别可以访问在用户简档页面上的工作经历信息的一组用户,因而排除其他用户访问该信息。在特定实施例中,隐私设置可以指定不应被允许访问与对象相关联的特定信息的用户的“屏蔽名单(blocked list)”。换句话说,屏蔽名单可以指定一个或更多个用户或实体,对于该一个或更多个用户或实体,对象是不可见的。作为示例而不是作为限制,用户可以指定不可以访问与该用户相关联的相册的一组用户,因而排除这些用户访问相册(同时也可能允许不在该组用户内的特定用户访问相册)。在特定实施例中,隐私设置可以与特定社交图元素相关联。社交图元素(例如节点或边)的隐私设置可以指定社交图元素、与社交图元素相关联的信息或与社交图元素相关联的内容对象可以如何使用在线社交网络进行访问。作为示例而不是作为限制,对应于特定照片的特定概念节点1204可以具有隐私设置,该隐私设置指定照片可以只由在照片中标记的用户和他们的朋友访问。在特定实施例中,隐私设置可以允许用户选择参与或选择不参与使他们的动作被社交网络系统1102记录或与其他系统(例如第三方系统1108)共享。在特定实施例中,与对象相关联的隐私设置可以指定被允许的访问或对访问的拒绝的任何合适的粒度。作为示例而不是作为限制,可以为特定用户(例如仅仅我、我的室友和我的老板)、在特定分离程度内的用户(例如朋友,或朋友的朋友)、用户群组(例如游戏俱乐部、我的家庭)、用户网络(例如特定雇主的雇员、特定大学的学生或校友)、所有用户(“公众”)、无用户(“私人”)、第三方系统1108的用户、特定应用(例如第三方应用、外部网站)、其他合适的用户或实体或它们的任何组合指定访问或对访问的拒绝。尽管本公开描述了以特定方式使用特定隐私设置,但是本公开设想了以任何合适的方式使用任何合适的隐私设置。
在特定实施例中,一个或更多个服务器可以是用于实施隐私设置的授权/隐私服务器。响应于来自用户(或其他实体)的对存储在数据存储库中的特定对象的请求,社交网络系统1102可以向数据存储库发送对该对象的请求。该请求可以识别与该请求相关联的用户,并且只有在授权服务器基于与该对象相关联的隐私设置确定该用户被授权访问该对象时才可以被发送给该用户(或者该用户的客户端系统)。如果请求用户未被授权访问该对象,则授权服务器可以阻止所请求的对象从数据存储库被检索到,或者可以阻止所请求的对象被发送给用户。在搜索查询上下文中,只有在查询用户被授权访问对象时才可以将对象生成为搜索结果。换句话说,对象必须具有对查询用户可见的可见性。如果对象具有对用户不可见的可见性,则该对象可以从搜索结果中排除。尽管本公开描述了以特定方式实施隐私设置,但是本公开设想了以任何合适的方式实施隐私设置。
前面的说明书参考其特定的示例性实施例进行了描述。参考在本文讨论的细节描述了本公开的各种实施例和方面,并且附图示出了各种实施例。上面的描述和附图是说明性的,并且不应被解释为限制性的。描述了许多具体细节以便提供对本公开的彻底理解。
另外的或可选的实施例可以在不偏离它的精神或本质特征的情况下体现在其他特定形式中。所描述的实施例在所有方面应被考虑为仅是说明性的而非限制性的。因此,本发明的范围由所附权利要求而不是前面的描述指示。出现在权利要求的等同物的含义和范围内的所有变化应被包括在权利要求的范围内。

Claims (20)

1.一种方法,包括:
在接收客户端设备处,识别由发送客户端设备生成的短暂消息、短暂消息持续时间设置和短暂设置时间戳;
将所述短暂消息添加到在所述接收客户端设备和所述发送客户端设备之间的消息线程,其中,所述消息线程对应于在所述接收客户端设备上的现有短暂消息持续时间设置;
将所述短暂设置时间戳与在所述接收客户端设备上的现有设置时间戳进行比较;
基于确定所述现有设置时间戳在时间上早于所述短暂设置时间戳,将所述消息线程的所述现有短暂消息持续时间设置修改为所述短暂消息持续时间设置;以及
应用所述短暂消息持续时间设置,以从在所述接收客户端设备上的所述消息线程删除所述短暂消息。
2.根据权利要求1所述的方法,其中,识别由所述发送客户端设备生成的所述短暂消息、所述短暂消息持续时间设置和所述短暂设置时间戳包括:
接收由所述发送客户端设备生成和发送的一个或更多个加密数字通信;以及
对所述一个或更多个加密数字通信解密以识别所述短暂消息、所述短暂消息持续时间设置和所述短暂设置时间戳。
3.根据权利要求1所述的方法,还包括:
在所述接收客户端设备处,接收第二短暂消息;
将所述第二短暂消息添加到所述消息线程;以及
应用所述短暂消息持续时间设置,以从在所述接收客户端设备上的所述消息线程删除所述第二短暂消息。
4.根据权利要求1所述的方法,还包括:
识别在所述消息线程中的现有消息;以及
基于确定所述现有消息在时间上早于所述短暂设置时间戳,应用所述现有短暂消息持续时间设置,以从在所述接收客户端设备上的所述消息线程删除所述消息。
5.根据权利要求1所述的方法,还包括:
生成所述短暂消息持续时间设置的通知;以及
在所述接收客户端设备上的消息线程图形用户界面中,呈现所述短暂消息持续时间设置的通知。
6.根据权利要求1所述的方法,其中,所述短暂消息是由所述发送客户端设备生成的广播短暂消息,所述广播短暂消息用于分发到多个接收客户端设备,以根据多个短暂消息持续时间设置被删除。
7.根据权利要求1所述的方法,还包括:
在所述接收客户端设备处,检测与在所述消息线程中的所述短暂消息的用户互动;以及
响应于确定在所述用户互动之后的持续时间超过所述短暂消息持续时间,从所述消息线程删除所述短暂消息。
8.一种存储指令的非暂时性计算机可读介质,所述指令当由至少一个处理器执行时使发送客户端设备执行以下操作:
生成广播短暂消息,所述广播短暂消息用于分发到第一接收客户端设备和第二接收客户端设备;
在所述发送客户端设备处,为在所述发送客户端设备和所述第一接收客户端设备之间的第一短暂消息线程识别第一短暂消息持续时间设置;
在所述发送客户端设备处,为在所述发送客户端设备和所述第二接收客户端设备之间的第二短暂消息线程识别第二短暂消息持续时间设置;
向所述第一接收设备发送所述广播短暂消息、第一时间戳和所述第一短暂消息持续时间设置,使得所述第一接收客户端设备根据所述第一短暂消息持续时间设置来删除所述短暂消息;以及
向所述第二接收设备发送所述广播短暂消息、第二时间戳和所述第二短暂消息持续时间设置,使得所述第二接收客户端设备根据所述第二短暂消息持续时间设置来删除所述短暂消息。
9.根据权利要求8所述的计算机可读介质,还包括当由所述至少一个处理器执行时使所述发送客户端设备通过下列操作来发送所述广播短暂消息的指令:
生成用于发送到所述第一接收设备的包括所述广播短暂消息、所述第一时间戳和所述第一短暂消息持续时间设置的第一组加密数字通信;以及
生成用于发送到所述第二接收设备的包括所述广播短暂消息、所述第二时间戳和所述第二短暂消息持续时间设置的第二组加密数字通信。
10.根据权利要求8所述的计算机可读介质,还包括当由所述至少一个处理器执行时使所述发送客户端设备执行以下操作的指令:
向所述第一接收客户端设备发送第二广播短暂消息,使得所述第一接收客户端设备根据所述第一短暂消息持续时间设置从所述第一短暂消息线程删除所述第二广播短暂消息。
11.根据权利要求8所述的非暂时性计算机可读介质,还包括当由所述至少一个处理器执行时使所述发送客户端设备执行以下操作的指令:
提供用于显示的用户界面,所述用户界面包括广播短暂消息输入元素和对应于多个接收客户端设备的可选择元素;以及
响应于与所述广播短暂消息输入元素、所述可选择元素中的对应于所述第一接收客户端设备的第一可选择元素以及所述可选择元素中的对应于所述第二接收客户端设备的第二可选择元素的用户互动,而生成用于分发到所述第一接收设备和所述第二接收客户端设备的所述广播短暂消息。
12.根据权利要求8所述的非暂时性计算机可读介质,其中,所述第一短暂消息持续时间设置包括第一持续时间,并且所述第二短暂消息持续时间设置包括不同于所述第一持续时间的第二持续时间。
13.根据权利要求8所述的非暂时性计算机可读介质,还包括当由所述至少一个处理器执行时使所述发送客户端设备执行以下操作的指令:
在所述发送客户端设备处为所述第一短暂消息识别现有短暂消息持续时间设置;以及
响应于所述第一短暂消息持续时间设置的用户选择,将所述现有短暂消息持续时间设置修改为所述第一短暂消息持续时间设置。
14.一种系统,包括:
至少一个处理器;以及
存储指令的至少一个非暂时性计算机可读存储介质,所述指令当由所述至少一个处理器执行时使接收客户端设备执行以下操作:
识别由发送客户端设备生成的短暂消息、短暂消息持续时间设置和短暂设置时间戳;
将所述短暂消息添加到在所述接收客户端设备和所述发送客户端设备之间的消息线程,其中,所述消息线程对应于在所述接收客户端设备上的现有短暂消息持续时间设置;
将所述短暂设置时间戳与在所述接收客户端设备上的现有设置时间戳进行比较;
基于确定所述现有设置时间戳在时间上早于所述短暂设置时间戳,将所述消息线程的所述现有短暂消息持续时间设置修改为所述短暂消息持续时间设置;以及
应用所述短暂消息持续时间设置,以从在所述接收客户端设备上的所述消息线程删除所述短暂消息。
15.根据权利要求14所述的系统,还包括当由所述至少一个处理器执行时使所述系统通过下列操作来识别所述短暂消息、所述短暂消息持续时间设置和所述短暂设置时间戳的指令:
接收由所述发送客户端设备生成和发送的一个或更多个加密数字通信;以及
对所述一个或更多个加密数字通信解密,以识别所述短暂消息、所述短暂消息持续时间设置和所述短暂设置时间戳。
16.根据权利要求14所述的系统,还包括当由所述至少一个处理器执行时使所述系统执行以下操作的指令:
接收第二短暂消息;
将所述第二短暂消息添加到所述消息线程;以及
应用所述短暂消息持续时间设置,以从在所述接收客户端设备上的所述消息线程删除所述第二短暂消息。
17.根据权利要求14所述的系统,还包括当由所述至少一个处理器执行时使所述系统执行以下操作的指令:
识别在所述消息线程中的现有消息;以及
基于确定所述现有消息在时间上早于所述短暂设置时间戳,应用所述现有短暂消息持续时间设置,以从在所述接收客户端设备上的所述消息线程删除所述消息。
18.根据权利要求14所述的系统,还包括当由所述至少一个处理器执行时使所述系统执行以下操作的指令:
生成所述短暂消息持续时间设置的通知;以及
在所述接收客户端设备上的消息线程图形用户界面中,呈现所述短暂消息持续时间设置的通知。
19.根据权利要求14所述的系统,其中,所述短暂消息是由所述发送客户端设备生成的广播短暂消息,所述广播短暂消息用于分发到多个接收客户端设备,以根据多个短暂消息持续时间设置被删除。
20.根据权利要求14所述的系统,还包括当由所述至少一个处理器执行时使所述系统执行以下操作的指令:
在所述接收客户端设备处,检测与在所述消息线程中的所述短暂消息的用户互动;以及
响应于确定在所述用户互动之后的持续时间超过所述短暂消息持续时间,从所述消息线程删除所述短暂消息。
CN202111026061.1A 2020-09-02 2021-09-02 利用加密短暂消息来修改短暂消息持续时间设置 Active CN114143727B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/010,441 US11115363B1 (en) 2020-09-02 2020-09-02 Utilizing encrypted ephemeral messages to modify ephemeral message duration settings
US17/010,441 2020-09-02

Publications (2)

Publication Number Publication Date
CN114143727A true CN114143727A (zh) 2022-03-04
CN114143727B CN114143727B (zh) 2023-07-07

Family

ID=76374880

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111026061.1A Active CN114143727B (zh) 2020-09-02 2021-09-02 利用加密短暂消息来修改短暂消息持续时间设置

Country Status (3)

Country Link
US (2) US11115363B1 (zh)
EP (1) EP3965402A3 (zh)
CN (1) CN114143727B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10439972B1 (en) * 2013-05-30 2019-10-08 Snap Inc. Apparatus and method for maintaining a message thread with opt-in permanence for entries
TW202316833A (zh) * 2021-09-22 2023-04-16 美商沃茲艾普有限責任公司 在去中心化端點至端點加密信息平台中之短暫信息
US11962555B1 (en) 2022-07-07 2024-04-16 Whatsapp Llc Keep select messages in networked group conversation threads

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101903870A (zh) * 2007-12-18 2010-12-01 朗讯科技公司 电子消息系统中用于到期处置的方法和系统
CN103493438A (zh) * 2010-12-08 2014-01-01 谷歌公司 用于移动消息传递应用的优先收件箱通知和同步
US20140032682A1 (en) * 2012-07-26 2014-01-30 Google Inc. Method and Apparatus for Expiring Messages in Electronic Communications
US20150326510A1 (en) * 2014-05-12 2015-11-12 Martin Tomlinson Method and Apparatus for Time Limited Messages in Packet Communications
CN106134134A (zh) * 2014-03-14 2016-11-16 微软技术许可有限责任公司 即时消息传递
CN109644124A (zh) * 2016-07-06 2019-04-16 瑞典爱立信有限公司 时间戳信息的传输和接收
CN110662085A (zh) * 2019-10-16 2020-01-07 北京字节跳动网络技术有限公司 消息发送方法、装置、可读介质及电子设备
CN110740091A (zh) * 2019-09-12 2020-01-31 北京达佳互联信息技术有限公司 分享消息的处理方法、装置、电子设备及可读存储介质

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7257546B2 (en) * 2001-09-04 2007-08-14 Yahoo! Inc. System and method for correlating user data from a content provider and user data from an advertising provider that is stored on autonomous systems
US7774841B2 (en) * 2003-10-02 2010-08-10 Aubum University System and method for protecting network resources from denial of service attacks
EP2086280A1 (en) * 2008-02-04 2009-08-05 Nokia Siemens Networks Oy Improved provision of value added short message services
US9043602B1 (en) * 2014-06-10 2015-05-26 Google Inc. Generating and using ephemeral identifiers and message integrity codes
US9294425B1 (en) * 2015-02-06 2016-03-22 Snapchat, Inc. Storage and processing of ephemeral messages
KR20180004218A (ko) * 2015-05-06 2018-01-10 스냅 인코포레이티드 단기 그룹 채팅을 위한 시스템 및 방법
US9906479B1 (en) * 2015-06-16 2018-02-27 Snap Inc. Storage management for ephemeral messages
US10616162B1 (en) * 2015-08-24 2020-04-07 Snap Inc. Systems devices and methods for automatically selecting an ephemeral message availability
US9906480B2 (en) * 2015-12-10 2018-02-27 Facebook, Inc. Techniques for ephemeral messaging with legacy clients
US10200330B2 (en) * 2015-12-10 2019-02-05 Facebook, Inc. Techniques for ephemeral messaging with a message queue
US11423443B2 (en) * 2016-02-05 2022-08-23 Fredrick T Howard Time limited media sharing
US10178062B2 (en) * 2016-06-07 2019-01-08 Facebook, Inc. Techniques for ephemeral messaging with remote ephemeral mode configuration
US10681202B2 (en) * 2017-02-17 2020-06-09 Whatsapp Inc. Methods and systems for processing an ephemeral content message
US10581782B2 (en) * 2017-03-27 2020-03-03 Snap Inc. Generating a stitched data stream
US10990635B2 (en) * 2017-06-26 2021-04-27 Facebook, Inc. Systems and methods for ranking ephemeral content associated with a social networking system
US20190097964A1 (en) * 2017-09-28 2019-03-28 Facebook, Inc. Generating administrative messages for messaging threads indicating interactions with ephemeral content
US10880286B2 (en) * 2017-12-12 2020-12-29 Slack Technologies, Inc. Device validation apparatus and protocol for a group-based communication system
US20190190869A1 (en) * 2017-12-14 2019-06-20 Facebook, Inc. Systems and methods for sharing content
US11405343B2 (en) * 2017-12-29 2022-08-02 Meta Platforms, Inc. Techniques for extensible message indexing
US20220094658A1 (en) * 2018-06-22 2022-03-24 Meta Platforms, Inc. Systems and methods for interactive exchange of media messages
WO2020092687A1 (en) * 2018-10-31 2020-05-07 Fwd Inc. Ephemeral and private beacon network
US11206232B2 (en) * 2019-06-18 2021-12-21 Facebook, Inc. Generating and maintaining group messaging threads for ephemeral content

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101903870A (zh) * 2007-12-18 2010-12-01 朗讯科技公司 电子消息系统中用于到期处置的方法和系统
CN103493438A (zh) * 2010-12-08 2014-01-01 谷歌公司 用于移动消息传递应用的优先收件箱通知和同步
US20140032682A1 (en) * 2012-07-26 2014-01-30 Google Inc. Method and Apparatus for Expiring Messages in Electronic Communications
CN106134134A (zh) * 2014-03-14 2016-11-16 微软技术许可有限责任公司 即时消息传递
US20150326510A1 (en) * 2014-05-12 2015-11-12 Martin Tomlinson Method and Apparatus for Time Limited Messages in Packet Communications
CN109644124A (zh) * 2016-07-06 2019-04-16 瑞典爱立信有限公司 时间戳信息的传输和接收
CN110740091A (zh) * 2019-09-12 2020-01-31 北京达佳互联信息技术有限公司 分享消息的处理方法、装置、电子设备及可读存储介质
CN110662085A (zh) * 2019-10-16 2020-01-07 北京字节跳动网络技术有限公司 消息发送方法、装置、可读介质及电子设备

Also Published As

Publication number Publication date
US11115363B1 (en) 2021-09-07
US20220141166A1 (en) 2022-05-05
EP3965402A3 (en) 2022-04-06
EP3965402A2 (en) 2022-03-09
US11646985B2 (en) 2023-05-09
CN114143727B (zh) 2023-07-07

Similar Documents

Publication Publication Date Title
US11206232B2 (en) Generating and maintaining group messaging threads for ephemeral content
CN110521209B (zh) 一种用于传输观看者反应的视频剪辑的方法及系统
US20220224666A1 (en) Generating automated messages within messaging threads that facilitate digital signatures by verified users
US10877977B2 (en) Generating a relevance score for direct digital messages based on crowdsourced information and social-network signals
US10769622B2 (en) User communications with a merchant through a social networking system
US11470026B2 (en) Social networking interactions with portions of digital videos
KR101764749B1 (ko) 미디어 행위 버튼
US11647155B2 (en) Dynamically modifying live video streams for participant devices in digital video rooms
CN114143727B (zh) 利用加密短暂消息来修改短暂消息持续时间设置
AU2014241593A1 (en) Media previews based on social context
US20170187770A1 (en) Social networking interactions with portions of digital videos
KR20160046332A (ko) 페이스파일 통합형 통신
US20190097964A1 (en) Generating administrative messages for messaging threads indicating interactions with ephemeral content
US11062362B2 (en) Generating dynamic communication threads based on user interaction with sponsored digital content
US10708383B2 (en) Identifying profile information of senders of direct digital messages
US10579674B2 (en) Generating and sharing digital video profiles across computing devices utilizing a dynamic structure of unpopulated video silos
US10645159B1 (en) Application programming interface for processing duplication requests and duplicating digital objects from multiple digital-object levels
EP3073430A1 (en) User communications with a merchant through a social networking system

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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: California, USA

Applicant after: Woz EPP Co.,Ltd.

Address before: California, USA

Applicant before: WHATSAPP Inc.

GR01 Patent grant
GR01 Patent grant